Nuphy Air75 Wireless Receiver does not work on Linux
I recently bought a Nuphy Air75 and ran into a weird issue on Linux.
The Air75 can be connected to the computer in 3 different ways:
Wired Bluetooth USB Wireless Receiver (comes with the keyboard) When I connected via wired or Bluetooth, the Fn key would correctly work. That is, F12 would map to F12 and Fn + F12 would increase the volume. 1 However, when I used the wireless receiver, the Fn key was never registered, and the keyboard would only send F12.…
Read more ⟶
A Racket program to decrypt files encrypted with Synology Cloudsync
I’ve been playing with Racket for the past few weeks.
While I haven’t explored all the language-oriented-programming aspects yet, I’ve created a simple program to decrypt files encrypted with Synology Cloudsync. It is available as synology-decrypt (The Racket version).
As I’ve written before, I use Backblaze to backup files to the cloud. My Synology NAS encrypts these files before uploading them using Cloudsync. The decryption software is not open source, and is a Windows and macOS-only GUI app.…
Read more ⟶
RAII Footguns in Rust and C++
I’ve been getting back into C++ at Skydio, and I’ve twice lost several hours to debugging weird code behavior because of an RAII footgun in the language. A similar footgun is present in Rust, and I’ve been bitten by that too, so I figured I’d write down both.
RAII classes are often used to keep resources alive or hold locks for a given scope. There observable side-effects usually occur only in the constructor and destructor.…
Read more ⟶
Using a Digital Ocean Droplet to backup Google Takeout to Backblaze B2
Notes on using a Digital Ocean Droplet to copy Google Takeout data to Backblaze B2, for my own reference and in case they are useful to others. This uses rclone to perform the sync.
Google Takeout allows exporting all your Google data, but requires a modern browser, with GUI and JS. The total data can be huge (~36GB for my last export), so downloading it to my local machine and uploading it can be slow (even on a Gigabit connection).…
Read more ⟶
Tracking the Books I've Read Using Svelte, XState and Quagga
I read a fair amount of books, but I’ve never kept track of them except in my brain because the friction to track books is just too high. Recently, I wondered how easy it would be if I could just use my phone to scan the barcode on the back of the book, and that would automagically insert the book into a list.
The theory Each book is identified by a ISBN, a 13-digit number that is usually printed on the back of the book using a barcode.…
Read more ⟶
Useful Hammerspoon Tips
Hammerspoon is a macOS automation framework that allows you to hook into all sort of OS interfaces using Lua scripts. People use it for all sorts of automations, with key remappings and quick window switchers being the most common applications. There are some crazier applications like using voice to control scroll bars! I’m going to describe some ways I use it that are uncommon.
Reducing procrastination I often run build steps or unit tests that are slow enough that I can’t just twiddle my thumbs at the terminal, but fast enough that I can’t get into another cognitive task.…
Read more ⟶
Improving the Credit Freeze user experience
I have credit freezes put on my credit records with all 3 US credit reporting companies. These are supposed to help a little with identity theft, but the UI surrounding them makes for a very bad experience.
The way it works, one places a freeze at each company, but then one is expected to know in advance when a credit check is going to happen and temporarily lift the freeze! This almost always causes friction.…
Read more ⟶
Experiencing Smalltalk
In late August 2020 I read The Dream Machine and it is my favorite book of 2020. It is an incredible overview of a sliver of computer pioneers in the 1960s-1980s and how one man was instrumental in tying all their narratives together. One of the strands the book follows is the group at PARC (and other places) that firmly believed in the notion of interactive computing. Over the last year, I’ve repeatedly been introduced to this strand of thinking.…
Read more ⟶
Return on Data: When governments fail to make surveillance useful
There is this common refrain about how companies have data about you and could do bad things. Yet governments often pass surveillance laws that are much worse, and by definition, you can’t “vote with your wallet” for them. So in a world where I’m already giving data to third parties, it is useful to ask what I get in return.
If we are talking about corporations, we get ads! Yes, but we also get:…
Read more ⟶
Mystery Knowledge and Useful Tools
Hillel Wayne has a great newsletter, and one recent post had this observation:
The abstract concept here is knowledge or skills that
You are unlikely to discover on your own, neither through practice and reflection nor by observing others apply it. Once somebody tells you about it, you can easily learn and apply it. Once you can use it, it immediately gives you significant benefits, possibly to the point of raising your expertise level.…
Read more ⟶