Archive
blog
Moving on
4 May, 2024
Rust without crates.io
14 Nov, 2023
Memories from old LAN parties
9 Sep, 2023
A few notes on Veilid
15 Aug, 2023
rdiff-backup's new interface
9 Jul, 2023
If I was Meta and wanted to make fedi implode
7 Jul, 2023
Querying UniFi channel utilisation
3 Jul, 2023
Book review: Stolen Focus by Johann Hari
8 Jun, 2023
To block_on or await?
13 Apr, 2023
The dark defaults of Microsoft Edge
18 Mar, 2023
Being a human on the internet
13 Mar, 2023
Report as spam, early and often
27 Feb, 2023
Cargo nightly squatting?
16 Feb, 2023
Geeky nods and power moves
13 Jan, 2023
Honeypots for paranoid users
24 Oct, 2022
Absent SSL Server Certificates
17 Sep, 2022
The waste that was COVIDSafe
11 Aug, 2022
Tips for buggy iOS CI automation
8 Aug, 2022
Rust stuff: cheerio bitcode, hi dependabot
7 Jun, 2022
Recursive delete race in FileManager
8 May, 2022
A mystery of unnecessary crate recompilation
5 May, 2022
Private Relay spreads to Edge
29 Apr, 2022
Expiring Microsoft Feedback
20 Mar, 2022
Taming GitHub Notifications
10 Mar, 2022
Mocking Time in Async Rust
15 Feb, 2022
Wordle's Virality
1 Feb, 2022
Shenanigans on Microsoft Feedback Hub
16 Jan, 2022
Private web browsing in 2022
13 Jan, 2022
tokio::sync::watch as an observable parameter
1 Nov, 2021
New strategies for mailing list DMARC
16 Oct, 2021
java.util.UUID accepts truncated UUIDs
13 Oct, 2021
The nondigital overhead
5 Sep, 2021
Apple's bizarre crackdown on multicast
24 Aug, 2021
Debian 11 'Bullseye' on the Dell XPS 13 9305
15 Aug, 2021
Blockchain
12 Aug, 2021
Spam signups on a lone fediverse server
8 Aug, 2021
GNU social is dead, long live GNU social
27 Jul, 2021
Fun error messages
27 Jul, 2021
Trusting Everybody
13 Jul, 2021
Beyond Gemini?
12 Jun, 2021
Private Relay
9 Jun, 2021
My wish for WWDC: a Bluetooth 5 API
27 May, 2021
When IPv6 listeners accept IPv4 connections
20 Apr, 2021
A BufMut capacity mystery
27 Mar, 2021
Bridging Sync/Async Code in Rust
8 Mar, 2021
App Store control - the escape hatch
31 Jan, 2021
Two FOSS multiplayer games I like
30 Jan, 2021
Unsafe Rust and Me
24 Jan, 2021
bash -funroll-loops
29 Oct, 2020
Tooling around with C on watchOS
28 Oct, 2020
Local area network push notifications
1 Jul, 2020
Automatic Esperanto transliteration
11 Jun, 2020
A curious monotonic crash
23 May, 2020
Type like an Esperantist
22 Feb, 2020
Secrets of Safari History Search
21 Feb, 2020
Dev Log - 2 Feb 2020 - ax25 v0.2.0
3 Feb, 2020
Linux to Windows powershell remoting (Kali 2019.4)
15 Dec, 2019
Take care editing bash scripts
9 Nov, 2019
Needy browsers, favicons and touch icons
7 Nov, 2019
In praise of USB hard drives
2 Nov, 2019
Nouveau on Debian Buster
24 Oct, 2019
Techniques for verifying shasums conveniently
5 May, 2019
Lessons moving from iOS delegates to Rust async
19 Apr, 2019
Frenchmans Cap, April 2019 (SOTA)
17 Apr, 2019
Improving WiFi coverage by turning it off
6 Apr, 2019
Migrating a DekiWiki in 2019
25 Mar, 2019
Starting up a PeerTube, with hesitation
10 Feb, 2019
Imagine having only one computer
25 Jan, 2019
Line buffering shenanigans with axcall and ax25_call
19 Jan, 2019
Mount Anne, Jan 2019 (SOTA)
14 Jan, 2019
Sending a raw AX.25 frame with Python
15 Dec, 2018
Building and testing Dire Wolf KISS TCP on Mac
10 Dec, 2018
A Naive RISC-V Linux Reverse Shell
2 Nov, 2018
Basic Shellcode in RISC-V Linux
25 Aug, 2018
From GNU social to Mastodon
19 Aug, 2018
Line limits measuring text with cat
16 Aug, 2018
Quick screenshots to clipboard on Kali 2018.2
9 Aug, 2018
SLAE32 Course Review
25 Jul, 2018
SLAE A.7 - Crypter/decrypter
16 Jul, 2018
SLAE A.6 - Polymorphic Shellcode
14 Jul, 2018
Compiling for old glibc - the story of fscanf
13 Jul, 2018
SLAE A.5 - MSF Payload Analysis
5 Jul, 2018
SLAE A.4 - Encoder/Decoder
5 Jul, 2018
SLAE A.3 - Egghunter
4 Jul, 2018
Bluetooth LE for Mobile - 4. Android Peripheral
2 Jul, 2018
Filtering Logs by Date Range in Bash
28 Jun, 2018
SLAE A.2 - TCP Reverse Shellcode
28 Jun, 2018
SLAE A.1 - TCP Bind Shellcode
27 Jun, 2018
Bluetooth LE for Mobile - 3. iOS Central
21 Mar, 2018
Reducing iOS App Size The Hard Way
17 Mar, 2018
Bluetooth LE for Mobile - 2. iOS Peripheral
1 Mar, 2018
Bluetooth LE for Mobile - 1. An Overview
20 Feb, 2018
L2TP/IPsec VPN with NetworkManager on Debian Stretch
16 Jan, 2018
Permission scopes in Sharepoint Web Services
16 Dec, 2017
Enough technology to get the job done
16 Nov, 2017
Synapse matrix homeserver with systemd
15 Oct, 2017
An ARP Server in Rust – Linux Raw Sockets
1 Sep, 2017
Improving ARP performance on slow AX.25 links
6 Aug, 2017
Making the CW filter work on an FT-817ND
16 Jul, 2017
Sending JSON over websockets in Rust
2 Jul, 2017
Operating Packet Radio on Debian
7 May, 2017
FSQ Experiments in VK7
13 Mar, 2017
Facebook and capitalist newspeak
30 Dec, 2016
Riot’s magical push notifications in iOS
11 Dec, 2016
Playing an MP3 with compression on Linux/OSX
5 Nov, 2016
S.A.T. Kongreso 1947, Aarhus
16 Sep, 2016
A visit to the ecovillage
14 Sep, 2016
Privacy Implications for OpenStreetView
23 Aug, 2016
The legality of EN15194 Pedelecs in Tasmania
31 May, 2016
Learning morse for the RD
8 May, 2016
The Tragedy of the Electrical Commons
5 Apr, 2016
GNU social and #RIPTwitter
9 Feb, 2016
How Firefox’s Awesome Bar earns its name
12 Jan, 2016
Fastmail/DAV on KDE & Akonadi
29 Nov, 2015
Tapping the discriminator
6 Oct, 2015
AX.25 Client and Server Programming
27 Sep, 2015
Xcode 7’s New Linker Rules
15 Sep, 2015
Baofeng interface, now with PTT control
25 Jul, 2015
kissattach and its QST packet
20 Jul, 2015
Dire Wolf, BBSes and Beyond
19 Jul, 2015
Packet Radio Interface for UV-B5
27 Jun, 2015
Sending authenticated SMTP alerts from Zabbix
31 Dec, 2014
Monitoring a Ubiquiti NanoBridge with Zabbix
31 Dec, 2014