Skip to content

monkeynut.org

Notes on Rust async drop

Here are some notes from trying-out async drop on rustc 1.93.0-nightly (2025-11-07).
I wanted to use async drop to ensure that an asynchronous cleanup operation was performed prior to shutdown. However, I ended up hitting a "show-stopping" bug :(. And, to be clear: this feature is incomplete, and therefore broken behavior is to be expected.

Experiences as a Lisp beginner

I just spent a couple of weeks on-and-off writing some Lisp. I'm probably going to take a break from this for a bit to focus elsewhere; these are some of my thoughts as a relative beginner while they're still fresh in my mind. There are going to be some inaccuracies here, reader beware etc.

Using LispWorks Personal Edition from Emacs

For reasons, I wanted to try creating a Cocoa window from Lisp. The ridiculously easy way to do this is to just use LispWorks; I installed the LispWorks Personal Edition to try this out. But then of course we want to talk to LispWorks using Emacs sly-mode, and it's not exactly documented anywhere how to do this for the Personal Edition. So here's how to do it.

Smooth scrolling on Emacs on macOS

I run Doom Emacs with ultra-scroll to allow me to smoothly scroll using my trackpad. There's just one problem: occasionally the entire display will freeze for a fraction of a second while I'm scrolling, rather breaking the spell of having a responsive system.

Using wgpu with Electron on macOS

Here is a brief guide to adding a wgpu-rendered underlay to an Electron window on macOS. Doing this isn't particularly difficult once you know how, but I couldn't find this information anywhere else. So here's the guide that I wish had existed before I went down this path!

Using control-tab to switch between Emacs buffers on macOS

I use VSCode as my main code editor and emacs for everything else. When in VSCode, I use control-tab to switch between recent buffers. In Emacs, this key binding doesn't work (by default, it toggles visibility of the tab bar), causing me endless minor frustrations. This post documents how I brought the VSCode control-tab behavior to Emacs.

On a non-routing pfSense WAN connection after a power failure

2024-03-29 update: As of 23.09.1-RELEASE, the underlying issue appears to be fixed.

After a power-failure, my pfSense router (running 23.05.1-RELEASE) often fails to route packets over its single Starlink WAN connection. This is tedious because (i) power failures are relatively common around here, and (ii) the pfSense router is somewhat inaccessible. Wouldn't it be nice if everything "just worked" when the power came back on?

Tic Tac Toe in TLA+

Although I've written many informal specifications of software as part of my employments, I haven't ever written any formal specifications (and for good reason: in most domains, the return-on-investment likely isn't there). I like to pretend to myself that given enough time, I probably could write a formal specification, but what's it like to actually do this?