Follow the instructions on the NixOS wiki . For a Raspberry Pi 4 connected over Ethernet, you need: boot . initrd . availableKernelModules = [ "xhci_pci" "usbhid" "uas" "pcie-brcmstb" "reset-raspberrypi" "genet" "broadcom" "bcm_phy_lib" ] ; Also note: use cipher xchacha20,aes-adiantum-plain64 on Raspberry Pi 4 due to the lack of AES hardware instructions. The default aes-xts-plain64 is slow…
There are two options for IPsec VPNs on NixOS: Libreswan and Strongswan. Since Strongswan has much better NixOS configuration, we’ll use that. Note! In the best tradition of howto guides on blogs, I’m not an expert on IPsec, Strongswan, VPN configuration, nor even really NixOS. However, these are the settings that worked for me, derived mostly from the DigitalOcean guide to setting up Strongswan…
Am I the only one who often gets obsessed with stuff they discovered in really weird ways? I watch a film and some character listens to some music on their car stereo; I look it up and have a new favourite band for the next few months. That kind of thing. Along those lines, quite a while ago I made an unfunny remark on Mastodon about the tendency of some widely-respected computer scientists to use…
I’ve teased it long enough: 1 today we’re going to look at the real meat of turning declarative, something-that-looks-like-this patterns into fast, running, imperative, if-this-then-that code. The absolute final generation of working Scheme code will have to wait until our thrilling conclusion in part 4, but by the end of this episode you’ll probably at least have an idea of what that will look…
Alright! Last time we looked at the mouth of extensible-match and how it chews up patterns in order to make them digestible. Before we take a look into the stomach, 1 we should look at what that chewed-up form of patterns looks like. This is an episode with a bit less how and a lot more what than the last one. I’ll explain and justify the core pattern structure we just got out of the expansion…
I’ve posted a lot on Mastodon (and a little bit here ) about the adventures I’ve had implementing an extensible pattern matcher in Scheme . Well, the SRFI isn’t too far off finalization now, and the implementation is unlikely to change dramatically, so I reckoned it might be worthwhile to take readers on a tour of how the implementation works: for one thing, for those who want to be able to dive…
Based on my talk at the Scheme Workshop 2025. You might prefer to have me talk it at you instead . We are holding an election to the Scheme Steering Committee. Register to vote and nominate candidates! In December this year, the Scheme reports will turn fifty. As chair of the working group entrusted with the next major revision of the report, I want to start a discussion in the Scheme community…
If you go poking around the source code for extensible-match , you’ll find places where I define auxiliary syntax keywords and use syntax objects like records belonging to some sum type. Like here or here or here . Extensible-match belongs to the comparatively rare class of Scheme macros that are complex enough that they count as compilers in themselves. As Olin says when defending the use of…