This is my personal blog. The views expressed on these pages are mine alone and not those of my employer. This is not AI. All hallucinations are my own human ones.
Posts
-
Why is SCHED_IDLE broken?
-
The strange webserver hot potato — sending file descriptors
-
Ideal programming language
-
Go is still not good
-
Setting clock source with GNU Radio
-
Software defined KISS modem
-
QO100 early success
-
io_uring, kTLS and Rust for zero syscall HTTPS server
-
Exploring RISC-V vector instructions
-
Rebuilding FRR with pim6d
-
Pike is wrong on bloat
-
Connection coalescing breaks the Internet
-
An AX.25 implementation in Rust
-
Is your TLS resuming?
-
Rust is faster than C, even before I added SIMD
-
Cross compiling Rust -- Fixed
-
Cross compiling Rust to Ubiquiti access point
-
Use AGW for packet radio applications
-
Meshtastic quick setup
-
Apollo 11 notes
-
RustRadio improved API 0.4
-
SDR transmit and clean signals
-
AX.25 and 9600bps G3RUH decoding
-
Setting up secure wifi
-
RustRadio, and Roast My Rust
-
Downloading web resources
-
The unreasonable effectiveness of radio
-
Multichannel fast file transfers over AX.25
-
ZModem over amateur radio
-
Linking statically, and glibc breaking userspace for fun
-
Counting current live readers
-
Tracing function calls
-
RISC-V optimization and -mtune
-
VisionFive 2 quickstart
-
Learning Rust, assisted by ChatGPT
-
Better pipes
-
Can ChatGPT debug my code? Can it write better code?
-
Terminator 1 is the best Terminator movie
-
Fast zero copy static web server with KTLS
-
Integer handling is broken
-
No way to parse integers in C
-
Java — A fractal of bad experiments
-
Another way MPLS breaks traceroute
-
Dropping privileges
-
seccomp — Unsafe at any speed
-
AX.25 over D-Star
-
Localisation isn't translation
-
Go programs are not portable
-
SSH over bluetooth - cleanly
-
SSH over bluetooth
-
Raspberry Pi bluetooth console
-
Virtual audio cables
-
Linux sound devices are a mess
-
Unifi docker upgrade
-
AX.25 in user space
-
The uselessness of bash
-
More FT8 propagation
-
Measuring propagation using FT8
-
Unifi controller with a real cert
-
Tiling window manager
-
Bypassing safety check for an obviously safe change
-
BPF: The future of configs
-
A smarter emacs
-
Measuring USB with bpftrace
-
Transferring pictures with DStar
-
Troubleshooting KISS with bpftrace
-
Amateur packet radio walkthrough
-
FT8 and IC9700
-
APRS
-
Amateur radio digital voice
-
Yaesu FT3D vs Kenwood D74
-
20 years of maintaining an open source program
-
Travelling amateur
-
Broadband RF scanner
-
TCP MD5
-
Librem13v2 TPM upgrade
-
CVE 2019-14866: GNU cpio
-
OpenBSD in 2019
-
D-Star is a closed system
-
JT65 with SDR
-
Base Go packages
-
Amateur Radio and FT8
-
Yubikey for SSH on Windows
-
Microsoft: ReFS is ridiculous
-
Why bitcoin is terrible
-
WPA2 and Infineon
-
Internet in China
-
Is my TPM affected by the Infineon disaster?
-
Yubikey for SSH after the Infineon disaster
-
ReFS integrity is not on by default
-
Microwave
-
Decoding FSK
-
Killing idle TCP connections
-
Windows SSH client with TPM
-
HSBC is not a real bank
-
Ubiquity gear replacing BT HomeHub router
-
Yubikey 4 for SSH with physical presence proof
-
How I made my custom keyboard layout on Linux and Windows
-
Building pov-ray on raspberry pi
-
Scraping data from a BT home hub 5
-
How to boot an encrypted system safely
-
Raytracing Quake demos
-
My mechanical keyboard
-
Secure browser-to-proxy communication - again
-
Colour calibration in Linux
-
Another way to protect your SSH keys
-
Don't forget to restart all your OpenSSL binaries
-
How TPM-protected SSH keys work
-
TPM chip protecting SSH keys - properly
-
Should I generate my keys in software or hardware?
-
TPM chip protecting SSH keys
-
Fixing high CPU use on Cisco 7600/6500
-
Next-hop resolution and point-to-point
-
Why Go is not my favourite language
-
GPG and SSH with Yubikey NEO
-
Plug computer for always-on VPN
-
Compiling C++ statically
-
Interesting Arping bug report
-
Shared libraries diamond problem
-
Be careful with hashmaps
-
Benchmarking TPM-backed SSL
-
TPM-backed SSL
-
Secure browser-to-proxy communication
-
Optimizing TCP slow start
-
Yubico is awesome
-
OpenSSH certificates
-
gettimeofday() should never be used to measure time
-
tlssh - a replacement for SSH
-
The rules of multicast
-
It's duplex mismatch
-
Redirecting to the closest site using Javascript
-
10 years of maintaining an open source program
-
Clipboard sniffer
-
Shaping and policing on Cisco
-
Lightwave. Like Google Wave only much less
-
Holy ip packet Batman!
-
Autotools is nice
-
Spanning tree limits
-
What should have been default on Cisco devices
-
Moving a process to another terminal
-
Erlang BGP daemon
-
Buffering in pipes
-
Solaris installation
subscribe via RSS