Home
Book reviews
Blog
Random geek stuff
Old research
Simon Frankau's blog posts
Playing with curved spaces
(2024-06-05)
Why Smalltalk is not my favourite programming language
(2024-06-01)
Team Topologies, Agile, Spotify and, well Methodologies
(2024-05-24)
Exponential back-off, revisited
(2024-05-20)
On Estimates in Software Engineering
(2024-04-07)
More physics: Action and Lagrange
(2024-04-06)
More Crochet
(2024-03-13)
Determinism is awesome
(2024-03-07)
Trashy Movies I Have Recently Watched
(2024-02-29)
More crochet, cat edition
(2024-02-26)
Playing guitar is like sailing
(2024-01-26)
A small addendum on Henry Kissinger
(2024-01-19)
Music theory for dummies: O Come, O Come, Emmanuel
(2024-01-15)
What works in interactive fiction?
(2024-01-06)
Henry Kissinger
(2023-12-01)
Ramblings on the philosophy of mathematics
(2023-11-23)
The Internet's Memory and Nix's Logo
(2023-11-17)
Game review: Iconoclasts
(2023-11-14)
FIR and IIR filters
(2023-11-06)
Michael Lewis talks about Sam Bankman-Fried
(2023-10-11)
My first attempt at 3d printing
(2023-10-08)
Raft, done weirdly
(2023-07-15)
AI, the Industrial Revolution and Returns to Labour and Capital
(2023-05-25)
What's the point of trivia questions in interviews?
(2023-05-10)
On Domain-Specific Languages
(2023-04-30)
Thoughts on the Turing Test
(2023-04-29)
CMake is awful
(2023-04-26)
On the Management of Socks
(2023-04-09)
On the free idempotent monoids generated by a finite set of letters
(2022-12-30)
Game Review: Dungeon Encounters (Square Enix)
(2021-12-07)
Reinventing tomography
(2021-10-23)
Management books vs. "no single root cause"
(2021-09-19)
Solving nonograms
(2021-08-14)
First Direct demonstrate how not to do a switchover
(2021-08-10)
Playing with SIMMs
(2021-07-31)
Eigenvalues of random matrices
(2021-07-18)
Teleological incident postmortems
(2021-07-14)
Game Review: Tumbleweed Park
(2021-06-21)
Game Review: Fez
(2021-06-15)
Thot leadership: A tale of two^Wthree outages
(2021-06-14)
On configs and general-purpose languages
(2021-06-14)
The Worst Books I've Read
(2021-04-02)
Microcontrollers and OLEDs
(2021-02-13)
Doing stuff in 2020
(2020-12-27)
A Fire Upon The Deep (again)
(2020-01-03)
Galette: A GAL assembler
(2019-04-22)
Linux 1.0 kernel source reading - 22: TCP, and we're done
(2019-03-23)
Linux 1.0 kernel source reading - 21: All but TCP
(2019-03-03)
This week's hobby: Crochet
(2019-02-23)
Learning Rust and the Advent of Code
(2019-02-10)
Stephen's Sausage Roll
(2018-12-15)
The NTK 31337/Elite t-shirt, again
(2018-11-03)
Linux 1.0 kernel source reading - 20: Networking edges
(2018-10-21)
Infocom's Enchanter
(2018-10-06)
Linux 1.0 kernel source reading - 19: Networking periphery
(2018-09-23)
Magnetic Scrolls' Myth
(2018-09-22)
Linux 1.0 kernel source reading - 18: Character devices, part 2
(2018-09-09)
Linux 1.0 kernel source reading - 17: Character devices, part 1
(2018-08-31)
Linux 1.0 kernel source reading - 16: Low-level SCSI
(2018-08-27)
Linux 1.0 kernel source reading - 15: Low-level sound, high-level SCSI
(2018-08-12)
Radiosity
(2018-08-10)
Playing with GALs
(2018-05-08)
On Learning to Write Copperplate
(2017-12-30)
Worse is Better: Lego
(2017-04-16)
Further Reversing of 'Head Over Heels'
(2017-04-07)
Unicode combining characters
(2017-04-07)
Linux 1.0 kernel source reading - 14: Sound drivers base layer
(2017-02-11)
Linux 1.0 kernel source reading - 13: More file systems
(2017-02-11)
Linux 1.0 kernel source reading - 12: Some file systems
(2016-10-24)
Linux 1.0 kernel source reading - 11: Networking hardware
(2016-10-24)
Linux 1.0 kernel source reading - 10: Block devices
(2016-10-16)
Linux 1.0 kernel source reading - 9: fs/ buffers etc.
(2016-10-16)
Linux 1.0 kernel source reading - 8: fs/ buffers etc.
(2016-09-19)
Electronics for Newbies: Disk writing
(2016-07-30)
Electronics for Newbies: A working copy of CP/M
(2016-07-16)
Electronics for Newbies: Reading a CP/M disk image and porting CP/M
(2016-07-02)
Electronics for Newbies: Reading an SD card
(2016-06-17)
Electronics for Newbies: SD card access
(2016-06-05)
Reconstructing floppy drive data
(2016-04-27)
Reading from a floppy drive with an oscilloscope
(2016-04-19)
Generating VGA with a proper PCB
(2016-04-16)
Alphago as BS detector
(2016-03-13)
We are neural nets
(2016-03-13)
More VGA generation
(2016-03-09)
High(er)-resolution animation
(2016-03-05)
Another switch-mode power supply goes bang
(2016-03-05)
Dumb generation of VGA video
(2016-02-28)
Spectrum composite mod
(2016-02-21)
Knitting some swatches
(2016-02-21)
VGA(ish) signal timing
(2016-01-26)
Special relativity, part 3
(2016-01-17)
Special relativity, part 2
(2015-12-20)
Special relativity, part 1
(2015-12-19)
Another knitting project
(2015-12-16)
Corruption
(2015-11-23)
A frame for my cross-stitch
(2015-11-21)
Haskell + Laser = Penrose
(2015-10-11)
Finishing the plane
(2015-10-10)
DIY laptop case
(2015-08-15)
My ill-considered thoughts on golang/go
(2015-08-11)
Lego Mindstorms is Trigger's Broom
(2015-07-25)
A painted cube
(2015-07-19)
Constructing things (planes and cubes)
(2015-07-19)
Solving Rubik's Magic: Master Edition, Part 2: End game
(2015-07-05)
Solving Rubik's Magic: Master Edition, Part 1: Group theory
(2015-07-04)
Solving Rubik's Magic: Master Edition, Part 0: Counting configurations
(2015-06-28)
Two Weeks of Google and a new phone
(2015-06-17)
One Week of Google
(2015-06-06)
Paper round: And then some
(2015-05-31)
Paper round: Odds and ends
(2015-05-27)
Tobin/Transaction taxes
(2015-05-24)
Crowd-sourcing and the Wisdom of Crowds
(2015-05-21)
The Internet is Street Art
(2015-05-21)
Linux 1.0 kernel source reading - 7: fs/exec.c and friends
(2015-05-20)
Linux 1.0 kernel source reading - 6: IBCS and IPC
(2015-05-16)
Learning modern web technology
(2015-05-08)
Julia sets with continuous deformation
(2015-05-07)
Getting rid of some books
(2015-04-28)
Linux 1.0 kernel source reading - 5: Memory management
(2015-04-19)
Recreating the NTK 31337/Elite t-shirt
(2015-04-13)
An insight into the mind of a small child, or communications problems
(2015-04-13)
Wrapping up computers and sensible industrial design
(2015-04-13)
Some silly custom t-shirts
(2015-04-05)
More craft stuff: Basic sewing machine usage
(2015-04-01)
Linux 1.0 kernel source reading - 4: The rest of kernel/
(2015-04-01)
Linux 1.0 kernel source reading - 3: Kernel entry points
(2015-03-29)
Inside a clothing security tag
(2015-03-24)
Linux 1.0 kernel source reading - 2: libs and include/asm
(2015-03-21)
Code reading: Lua 5.1.4
(2015-03-11)
Linux 1.0 kernel source reading - 1: Initialisation
(2015-02-19)
Malware-completeness
(2015-02-19)
ToyTCP, a toy TCP/IP stack (well, not even that, yet)
(2015-02-10)
GCSE physics lies: Rainbows and total internal reflection
(2015-01-04)
Electronics for Newbies: An update on Dirac
(2015-01-03)
Electronics for Newbies: The software
(2015-01-03)
Ray-tracing fun: Transparency and refraction
(2015-01-01)
Distributed ray-tracing versus financial Monte Carlos
(2014-12-30)
Ray-tracing fun: Motion blur
(2014-12-23)
Ray-tracing fun: Fuzzy reflections
(2014-12-23)
Complex but not chaotic
(2014-12-23)
Ray-tracing fun: Soft shadows
(2014-12-22)
Ray-tracing fun: Depth of field
(2014-12-21)
On the design of eyes
(2014-12-13)
Anselm Keifer at the Royal Acdemy
(2014-12-09)
Delimiters, escaping, stuffing and all that: How long is a piece of string?
(2014-11-28)
Doing Google Code Jam questions (and knowing when to give up)
(2014-10-01)
Fixing Only Connect
(2014-09-16)
Finally, a complete hardware project: A keyboard
(2014-08-09)
Generalisation from a single example
(2014-05-30)
Library interface design isn't necessarily good interface design
(2014-05-30)
More GitHub, some code
(2014-05-03)
Computer Upgrade Fail
(2014-04-08)
Yet another (minimally painful) disk crash
(2014-03-06)
The Last Big Thing: Process
(2014-03-05)
On the GitHub
(2014-02-02)
Reversing 'Head Over Heels' - Work Starts
(2014-01-24)
Cheap exploding power supplies
(2013-12-05)
Another classic Cory Doctorow quotes
(2013-12-04)
Electronics for Newbies: Basic serial communication
(2013-11-14)
Electronics for Newbies: Tying up loose ends
(2013-11-14)
Electronics for Newbies: SMD soldering
(2013-10-30)
Return of the blog
(2013-10-24)
Electronics for Newbies: Now with documentation...
(2013-09-30)
Awesomes
(2013-09-30)
Electronics for Newbies: Main Screen Turn On!
(2013-09-23)
Electronics for Newbies: A bit of an update
(2013-09-14)
Electronics for Newbies: Memory Banking
(2013-08-23)
Electronics for Newbies: Getting serious
(2013-08-20)
And while I'm at it: Cory Doctorow
(2013-08-02)
Electronics for Newbies: A RAM-less microcomputer
(2013-08-01)
Hipsters: Big bushy beards and dorky glasses
(2013-08-01)
The British Censorwall: Libertarian Paternalism gone wrong
(2013-08-01)
Electronics for Newbies: The simplest possible microcomputer
(2013-07-28)
'Why Pascal is Not My Favourite Programming Language', revisited
(2013-07-11)
Cynicism about motivation in science - An inappropriate approach to climate change
(2013-06-27)
Technology vs. social norms ('Like')
(2013-06-23)
Notes on being a software developer 2: Things to learn from books etc.
(2013-05-19)
Paper round: Java and trading
(2013-05-12)
Christminster, completed
(2013-05-09)
Notes on being a software developer 1: Learning stuff
(2013-04-20)
The flaw in LinkedIn's endorsement system
(2013-04-11)
Why I don't like Bitcoin
(2013-03-08)
Truth in Infographics: Tufte vs. McCandless
(2013-03-06)
More ZX Spectrum Cross-stitch!
(2013-02-06)
I have destroyed a Swiss watch
(2013-02-04)
The Circle of Fifths part 2 - Scales
(2013-02-04)
Miranda and the Whale
(2013-02-04)
Analysing the musical 'circle of fifths'
(2012-12-13)
A ZX Spectrum tape-loading themed scarf!
(2012-11-18)
8-bit cross-stitch: Head Over Heels
(2012-09-30)
Minor successes in geeky craftwork: RISC CPU display
(2012-08-27)
Online courses
(2012-07-31)
Mac-fixing Encore
(2012-07-17)
Fixing a Macbook Air
(2012-07-15)
Paper round: Distributed Systems
(2012-07-11)
Apple's Time Machine
(2012-05-10)
Ignoring non-sensical solutions
(2012-03-24)
On Simplicity
(2012-02-27)
Differential 1-forms, again
(2012-02-13)
Sony and Abstraction Failure
(2011-11-17)
Good Stuff: Raspberry Pi and the iPhone
(2011-11-14)
Retro-gaming Update: Chimera, AGC and Christminster
(2011-09-27)
Pushchairs and geodesics
(2011-09-25)
On the Creation of Sentient Creatures
(2011-09-11)
Choosing an Open Source Library
(2011-09-11)
The English Riots: Business as Usual?
(2011-09-11)
Oh, the Horror: Twitter
(2011-08-24)
Simple Programming Advice: Put Examples in Comments
(2011-08-24)
Programming "Experts"
(2011-05-21)
On symmetry-breaking, logic, perception and AI
(2011-05-17)
Miranda Elizabeth Patricia Frankau
(2011-05-17)
Differential geometry, category theory and typing
(2011-04-22)
The Universe as a Fixed Point
(2011-04-13)
Optimal memory reallocation
(2011-04-12)
Toddlers play Text Adventures
(2011-02-13)
Guild of Thieves
(2011-02-12)
Debugging is Computer Science
(2011-01-21)
Happy Birthday David!
(2011-01-20)
Fixing BoingBoing
(2010-10-01)
Pseudocleverness
(2010-09-29)
Art in Summer 2010
(2010-07-19)
Electronics for Newbies: Oscillator practice
(2010-06-27)
Electronics for Newbies: Oh, silly scope
(2010-06-27)
Bureaucracy and Broken Hinges
(2010-06-06)
Return of the Mac
(2010-05-08)
Electronics for newbies: Voltage regulation
(2010-04-03)
To the dark side
(2010-03-28)
Electronics for Newbies 3: Faffing with memories
(2010-03-28)
E-book Reader Review: The Sony PRS-300
(2010-03-23)
Electronics for Newbies: Random catch-up
(2010-03-21)
Electronics for Newbies: The LCM555
(2010-03-03)
Python is the new BASIC
(2009-12-22)
Finding bugs in the GHC runtime
(2009-12-12)
Magnetic Scrolls
(2009-12-07)
David Alexander Frankau
(2009-11-11)
Fun with pipes on Win32 (3)
(2009-09-15)
Fun with pipes on Win32 (2)
(2009-09-15)
Fun with pipes on Win32 (1)
(2009-09-15)
I own a Nokia 2630.
(2009-03-15)
We had a skiing holiday
(2009-03-14)
I'm going to have a paper published!
(2008-12-10)
The C++ Standards Committee Hate Me
(2008-12-07)
Rules of thumb in writing code
(2008-09-12)
On Rewriting Code
(2008-07-29)
Yellow Peril
(2008-07-26)
Protocol Buffers
(2008-07-26)
Fun with CoLoadLibrary
(2008-07-23)
On the Naming of Climbing Shoes
(2008-07-20)
Best Art For Under 10 Grand
(2008-07-07)
Wedded!
(2008-06-13)
Solving Rubik's Cube
(2007-12-10)
The St. Petersburg Game
(2007-12-09)
Engagement!
(2007-11-24)
Enterprise Middleware Development
(2006-10-21)
Further Congratulations to Matt and Cat!
(2006-09-19)
Software Reliability
(2006-07-21)
New York, New York!
(2006-04-26)
Congratulations to Matt Kelly and Cat White! (and other random bits)
(2006-04-24)
Sore Throats Suck
(2006-02-14)
I am a Doctor, Oh Yes
(2005-11-16)
I have a new job!
(2005-09-25)
Vienna!
(2005-08-30)
Ten Years...
(2005-08-02)
Working for The Man
(2005-03-24)
Skiing is fun
(2005-03-24)
Edinburgh and the Fringe
(2004-08-28)
Yay for Caroline
(2004-07-13)
They're coming to get you!
(2004-06-15)
TheTrainLine.com are evil
(2004-05-24)
Egyptian Holiday
(2004-04-07)
C# vs. Java etc.
(2004-03-18)
Latest posts
RSS
Mail me at
random.user@arbitrary.name
.