Sunday, January 17, 2021

Enabling iwd on Fedora 33

If you are looking to give iwd a try on Fedora it is a simple matter of installing the package, telling NetworkManager to use the (experimental) iwd backend, and masking wpa_supplicant so it isn't started by anything else at boot:

$ sudo dnf install iwd
$ echo -e "[device]\nwifi.backend=iwd" | sudo tee /etc/NetworkManager/conf.d/10-iwd.conf
$ sudo systemctl mask wpa_supplicant

Now reboot. You may need to input your WiFi credentials again. NetworkManager will handle starting the respective supplicant services as needed at boot so explictly enabling them is not necessary.

If you want to switch back to wpa_supplicant, simply delete the configuration file we made and unmask wpa_supplicant:
$ sudo rm /etc/NetworkManager/conf.d/10-iwd.conf
$ sudo systemctl unmask wpa_supplicant

Now reboot.

Friday, August 7, 2020

The Ridgid LSA experience

Ridgid makes a big deal about their "Lifetime Service Agreement" ("LSA"), but how does it work in practice? I've gone through the process twice now with my Gen 5X impact driver, so let's dive into how it works.

The victim

Monday, May 4, 2020

Mumble server on a Raspberry Pi using Docker

I've recently needed to re-familiarize myself with the basics of Docker after some time away. A quick project to hit the ground running was launching a Mumble server (Murmur) on a Raspberry Pi 4 running Raspbian. There are certainly no shortage of Mumble servers on Docker Hub with the most popular one by far being this one. Unfortunately it won't do us any good as there is no armv7 build. Luckily, since Docker officially supports Alpine for armv7, and Murmur is packaged for Alpine, it is pretty easy to get up and running.

Wednesday, June 12, 2019

It's all about the integers



As previously discussed in Floating point madness, the handling of fractional year, month, day, week, hour, and minute components of ISO 8601 dates and times is fraught with all kinds of peril. At the time, I chose a solution that was pretty immediately obvious, could be implemented quickly, solved a real problem with degenerate cases, and seemed intuitive. Even at the time, I mentioned it would only work for most cases, not all. Unfortunately, issue 24 highlights that working for most cases isn't good enough. Is there a solution that can work for all cases?


Wednesday, January 30, 2019

Floating point madness

In the course of squaring away sub-microsecond precision in aniso8601, the discussion came up that fractional components in general are rounded instead of truncated at maximum representable precision which can lead to the same kinds of problems pointed out in issue 10. At the time I pushed back because I figured it would lead to 'floating point madness' trying to get the correct behavior in all cases. Recently I was convinced to capitulate as I ran into a series of issues in my own use. Issue 21 covers this in some detail, but for those that want a complete breakdown, read on.


Wednesday, November 28, 2018

Simple federated sign-on with Amazon Cognito Part 2 - The code

Now that we've got the general setup out of the way in part 1, it's time to dig into how the cognito.js code actually works. Keep in mind it's dependent on js-sha256 for the SHA256 implementation, which is included for you if you use the example index.html file.


Tuesday, November 27, 2018

Simple federated sign-on with Amazon Cognito Part 1 - The "basics"

I recently found myself needing to climb the learning curve for adding federated user sign-in to a webpage with Amazon Cognito. What follows is a quick summary of how you can do the same. For those who want to jump ahead, they can just take a look at the matching Bitbucket Snippet.