Jonathan Bowman

Linux on the Dell XPS: Fixing AX201 Wi-Fi performance

📶💤

I am very happy with Linux on my Dell XPS 13 9310. I use the latest version of Fedora (38 at the time of this writing).

However, the Wi-Fi connection gave me great difficulty for months before I learned that performance is much better with the power saving functionality turned off. With power saving on, I would often lose packets right and left. Here are the steps to fix this.

How to Upgrade to Fedora 37 In Place on Windows Subsystem for Linux (WSL)

How to Upgrade to Fedora 37 In Place on Windows Subsystem for Linux (WSL)

The time has once again arrived to upgrade Fedora. As detailed in another article, I installed Fedora on WSL 2. Now I want to upgrade to Fedora version 37. I could do a clean install of course, using the steps detailed in that article, but I want to upgrade in place.

Two Methods for Testing HTTPS API Calls with Python and pytest and Also Communicating with the in-Laws

Two Methods for Testing HTTPS API Calls with Python and pytest and Also Communicating with the in-Laws

API endpoints and web URLs are, thankfully, more secure than ever, usually requiring encrypted HTTPS. Python works well as an HTTPS client, and pytest simplifies testing Python-based tools or libraries. Tools like VCR.py or the combination of pytest-httpserver and trustme provide an additional testing layer that is fast and convenient, and well-suited for HTTPS work. This will help with family gatherings. Let me show you.

Hardening and Simplifying Python's urlopen

Hardening and Simplifying Python's urlopen

I recently wrote an article detailing the use of Python’s urlopen() for performing HTTP calls. While researching and writing, I learned of the OpenerDirector class. This class offers the opportunity to streamline urlopen(), make it more secure, and provide custom error handling.

HTTP Calls in Python Without Requests or Other External Dependencies

HTTP Calls in Python Without Requests or Other External Dependencies

In addition to great Python HTTP client tools such as Requests and HTTPX, the standard library itself supplies the necessary ingredients to make a working HTTP client for API calls. This tutorial shares how to construct and customize such a tool for your own scripts.

A POSIX Playground Container for Shell Script Testing

Terminal window image

After exploring portable scripting in the previous article, I built a container available on Docker Hub, useful for testing and experimentation.

Writing Bash Scripts that aren't Only Bash: Checking for Bashisms and Using Dash

Terminal window image

Shells like Bash or Zsh are advanced and user-friendly, and include features beyond what a simpler POSIX-compliant shell might offer. You will do well to utilize the full features of your shell when writing scripts.

There are situations, however, when portability should be a valued feature, allowing the script to run on a variety of shells.

Install Docker on Windows (WSL) without Docker Desktop

Install Docker on Windows (WSL) without Docker Desktop

Updated April 10, 2022, with current Alpine instructions, Debian/Ubuntu package signing tweaks (no more apt-key), and better guidance for handling iptables in Debian. A little more suggestion about TCP access, as well. And further emphasis on the optional nature of the /mnt/wsl/shared-docker socket directory.

Bash Execution Tips for Shell Jockeys and Script Fabricators

Terminal window image

Have you ever wanted to execute one command if another failed? Or one command only if the first one succeeded? What about background execution?

Bash and other popular shells such as Zsh and Ash/Dash have some useful but sometimes confusing operators for command execution.

Dotfiles, the Prequel: Easy and Fast

~/.*

In my ongoing quest to explore a variety of ways of managing config files, I believe I have found a way that is attractively simple.

View all articles →