Tony Finch – blog archive contents
home
search
archive
recent
feed
links
elsewhere
2024
2024-11-28 – nsnotifyd-2.2 released
2024-11-24 – petnames and Zooko's fan
2024-11-06 – getopt() but smaller
2024-10-22 – against /tmp
2024-10-01 – getentropy() vs RAND_bytes()
2024-09-02 – exponential rate limiting
2024-08-30 – GCRA: leaky buckets without the buckets
2024-08-02 – C is Turing complete
2024-07-31 – tolower() small string performance
2024-07-28 – tolower() with AVX-512
2024-07-18 – semaphores in Golang and GNU make
2024-06-25 – inlined nearly divisionless random numbers
2024-06-12 – nsnotifyd-2.1 released
2024-05-22 – regpg-1.12
2024-05-13 – Unix version control lore: what, ident
2024-05-12 – BIND9 dnssec-policy appendices
2024-05-11 – Migrating to BIND9 dnssec-policy
2024-05-08 – Introducing BIND9 dnssec-policy
2024-05-05 – Moaning about YAML frontmatter
2024-05-02 – sudon't
2024-04-30 – My wireguard IPv6 tunnel
2024-03-27 – Resurrected link log
2024-03-26 – On "the OSI deprogrammer"
2024-02-05 – Joining ellipses with matching tangents
2024-01-29 – Constructing a four-point egg
2023
2023-12-23 – Popcorn
2023-12-20 – Novelkeys Kailh Big Switch build howto
2023-12-15 – My spaghetti carbonara recipe
2023-08-09 – Purple PCBs for Keybird69
2023-08-06 – LEGO Technic beam sandwich keyboard case
2023-08-05 – Some subtleties of keycaps
2023-08-04 – The unix69 keyboard layout: nerdy and nice
2023-08-04 – I made a keyboard!
2023-06-23 – More random floating point numbers
2023-06-23 – Random floating point numbers
2023-06-21 – PCG64 DXSM random number generator
2023-05-28 – Where does "where does my computer get the time from?" come from?
2023-05-26 – Where does my computer get the time from?
2023-05-22 – RIPE DNS Hackathon
2023-02-28 – A qp-trie for BIND
2023-02-12 – libc delenda est
2023-01-27 – What does it mean to be an RCU implementation?
2023-01-24 – Concurrent qp-trie performance numbers
2023-01-14 – Cataract surgery
2023-01-10 – Safe memory reclamation for BIND
2022
2022-12-12 – Slower DNS name decompression
2022-12-05 – BIND zone transfer performance
2022-12-04 – An update on leap seconds
2022-11-17 – Faster DNS name decompression
2022-10-12 – hg64 multithreaded histograms
2022-09-23 – How big is this integer type?
2022-07-15 – hg64: a 64-bit histogram data structure
2022-07-01 – A DNS name compression algorithm
2022-06-27 – tolower() in bulk at speed
2022-06-22 – Compacting a qp-trie
2022-06-04 – Choice on Units of Measurement: Markings and Sales
2022-04-20 – really divisionless random numbers
2022-03-25 – IETF 113, Vienna, second half
2022-03-21 – IETF 113, Vienna, first half
2022-02-23 – Addenbrooke's cataract clinic
2022-01-25 – nsnotifyd-2.0 released
2021
2021-12-20 – Mac Mini Linux frustration
2021-11-30 – On the move
2021-09-22 – My cataract
2021-06-23 – Page-based GC for qp-trie RCU
2021-06-11 – Two highlights of 2021
2021-04-10 – Miles and metres
2021-03-22 – Preparing DNS names for faster radix tree lookups
2021-03-01 – A one-pass DNS-trie?
2021-02-27 – What is a subdomain?
2020
2020-12-12 – Terminal.app xterm compatibiity
2020-12-08 – Clever but foolish
2020-12-06 – Vanishing zeroes for geometric algebra in Rust
2020-11-13 – Leap second hiatus
2020-10-29 – nearly divisionless random numbers
2020-10-24 – Some more notes on endianness
2020-09-17 – Generalized string literal syntax, 10 years later
2020-09-14 – da Vinci bridges
2020-09-12 – Some notes on endianness
2020-08-27 – 21st century lighting: LED tubes
2020-07-07 – A compelling idea: the genesis of my DNS-trie
2020-02-14 – SHA-1 and DNSSEC validation
2020-01-15 – DNSSEC algorithm rollover HOWTO
2020-01-09 – SHA-1 chosen prefix collisions and DNSSEC
2019
2019-12-12 – A WebDriver tutorial
2019-09-28 – Metadata for login credentials with regpg
2019-07-05 – Work bloggery
2019-05-21 – I am NOT working on leap seconds this week
2019-04-04 – A curious Perl Quine
2019-01-11 – Open source as a byproduct
2019-01-02 – Notes on DNS server upgrades
2018
2018-12-26 – Boxing day ham with bubble and squeak
2018-11-14 – Help me choose colours
2018-10-23 – Amsterdam day 7
2018-10-18 – Amsterdam day 6
2018-10-18 – Amsterdam day 5
2018-10-17 – Amsterdam day 4
2018-10-16 – Amsterdam day 3
2018-10-14 – Amsterdam day 2
2018-10-14 – Amsterdam day 1
2018-10-12 – Amsterdam day 0
2018-08-01 – Yak shaving
2018-06-28 – Beer Festival week hacking notes - epilogue
2018-05-25 – Beer Festival week hacking notes - Thursday
2018-05-23 – Beer Festival week hacking notes - Wednesday
2018-05-23 – Beer Festival week hacking notes - Tuesday
2018-05-22 – Beer Festival week! Hacking notes for Monday
2018-05-11 – More on web server smoke tests
2018-05-09 – How to test a web server before pointing the DNS at it
2018-04-13 – dnstap fanout and replay
2018-04-09 – DNSSEC localized validation
2018-03-28 – My comments on the ICANN root DNSSEC key rollover
2018-03-27 – IPv6 DAD-die issues
2018-03-23 – IETF 101 - Thursday and Friday
2018-03-22 – IETF 101 - Wednesday
2018-03-21 – IETF 101 - Tuesday
2018-03-20 – IETF 101 - Monday
2018-03-18 – IETF 101 Hackathon, day 2
2018-03-17 – IETF 101 Hackathon, day 1
2018-03-07 – Secure Let's Encrypt ACME DNS challenges with BIND
2018-02-17 – Bloggone
2017
2017-04-06 – Moving to Dreamwidth
2017-03-30 – A review of Ansible Vault
2017-03-27 – Better terminology
2017-02-02 – keepalived DNS health checker revamp
2017-01-11 – Even more compact encoding of the leap seconds list
2017-01-10 – QP trie news roundup
2017-01-10 – Named and optional function arguments in C99
2017-01-08 – Compact encoding of the leap seconds list
2016
2016-10-19 – Domain transfers are shocking
2016-10-05 – Version number comparisons in Apache and GNU coreutils
2016-10-01 – Aperiodic shower curtain
2016-09-26 – DNS ADDITIONAL data is disappointingly poorly used
2016-09-09 – Listing zones with jq and BIND's statistics channel
2016-09-04 – A regrettable rant about politics
2016-09-02 – An exciting visit to the supermarket
2016-08-09 – Single-character Twitter usernames
2016-07-28 – Domain registry APIs and "superglue"
2016-07-19 – Uplift from SCCS to git, again
2016-06-15 – Tactile paving addenda
2016-06-13 – Tactile paving
2016-06-01 – Experimenting with
_Generic()
for parametric constness in C11
2016-05-20 – Even the Deathstation 9000 can't screw up the BIND 9.10.4 fix
2016-05-13 – 6 reasons I like Wintergatan
2016-05-08 – Belated job update
2016-05-08 – Apple calendar apps amplifying .ics VALARM ACTION:EMAIL
2016-05-06 – A colophon for my link log
2016-04-29 – Capability myths demolished
2016-04-22 – Synergy vs xmodmap: FIGHT!
2016-04-15 – Warning, incoming Dilbert
2016-04-13 – Using a different X11 window manager with XQuartz
2016-03-22 – Vehicular nominative amusement
2016-03-11 – Confidentiality vs privacy
2016-03-01 – Attacking and defending DNS over TCP
2016-02-29 – Update to my Raspberry Pi vs E450 comparison
2016-02-19 – Raspberry Pi 2 vs Sun E450
2016-02-18 – preheating a BIND cache with adns-masterfile
2016-02-05 – DNS DoS mitigation by patching BIND to support draft-ietf-dnsop-refuse-any
2016-01-25 – A rant about
whois
2016-01-22 – Outside Winter Insulation 7-layer clothing model
2016-01-02 – Hammerspoon hooks for better screen lock security on Mac OS X
2016-01-01 – SFO / San Francisco / Such a Fucking idiOt
2015
2015-12-03 – unifdef-2.11
2015-11-17 – C preprocessor expressions
2015-11-12 – LOC records in ac.uk
2015-11-11 – Chemical element symbols that are also ISO 3166 country code abbreviations
2015-10-21 – Cutting a zone with DNSSEC
2015-10-19 – never mind the quadbits, feel the width!
2015-10-11 – prefetching tries
2015-10-07 – crit-bit tries without allocation
2015-10-04 – qp tries: smaller and faster than crit-bit tries
2015-09-22 – DNAME for short-prefix classless in-addr.arpa delegation
2015-09-04 – Rachel update
2015-08-21 – Fare thee well
2015-08-17 – Plague
2015-08-15 – Rachel's leukaemia
2015-08-11 – What I am working on
2015-07-23 – nsdiff-1.70 now with added nsvi
2015-07-02 – nsnotifyd-1.1: prompt DNS zone transfers for stealth secondaries
2015-06-15 – nsnotifyd: handle DNS NOTIFY messages by running a command
2015-04-27 – FizzBuzz with higher-order cpp macros and ELF linker sets
2015-02-24 – DNSQPS: an alarming shell script
2015-02-16 – DNS server rollout report
2015-01-30 – Recursive DNS rollout plan - and backout plan!
2015-01-24 – New release of nsdiff and nspatch version 1.55
2015-01-17 – BIND patches as a byproduct of setting up new DNS servers
2015-01-09 – Recursive DNS server failover with keepalived --vrrp
2015-01-07 – Network setup for Cambridge's new DNS servers
2014
2014-11-27 – Uplift from SCCS to git
2014-11-22 – Nerdy trivia about Unix time_t
2014-11-22 – Bookmarklets
2014-10-30 – The early days of the Internet in Cambridge
2014-10-15 – POP, IMAP, SMTP, and the POODLE SSLv3.0 vulnerability.
2014-07-14 – Data structures and algorithms
2014-05-14 – Dilbert feeds
2014-03-25 – Update to SSHFP tutorial
2014-03-24 – SSHFP tutorial: how to get SSHFP records, DNSSEC, and VerifyHostKeyDNS=yes to work.
2014-02-19 – Relative frequency of initial letters of TLDs
2014-01-29 – Diffing dynamic raw zone files in git with BIND 9.10
2013
2013-12-03 – A weird BIND DNSSEC resolution bug, with a fix.
2013-11-13 – Temporum: secure time: a paranoid fantasy
2013-11-11 – Security considerations for temporum: quorate secure time
2013-11-09 – nsdiff 1.47
2013-10-29 – Temporum: Quorate secure time
2013-10-23 – My circular commute
2013-10-08 – Maintaining a local patch set with git
2013-10-06 – Bacon and cabbage
2013-08-14 – Subverting BIND's SRTT algorithm: derandomizing NS selection
2013-06-17 – Dominoes and dice patterns
2013-06-02 – Guilty pleasures
2013-05-16 – Mixfix parsing / chain-associative operators
2013-05-03 – Two compelling applications for universal surveillance
2013-04-11 – DNS reflection / amplification attacks: security economics, nudge theory, and perverse incentives.
2013-03-14 – It is hard to test a DNSSEC root trust anchor rollover
2013-03-06 – DoS-resistant password hashing
2013-02-27 – ccTLD registry web server survey
2013-02-21 – "HTTPSEC" and DJB vs DNSSEC
2013-01-30 – More Oxbridge college name comparisons
2013-01-29 – Cambridge college domain names
2012
2012-12-04 – Distributed (micro-) blogging / how many markets does your protocol support?
2012-12-03 – Quesadillas
2012-11-30 – Can't send mail from an Apple Mac via a BT Internet connection.
2012-09-25 – Large-scale IP-based virtual hosting
2012-09-24 – New TLDs and RFC 1535
2012-08-17 – More random errors
2012-08-16 – FreeBSD device nodes and chroots
2012-08-02 – Desirable properties of names and Zooko's Triangle
2012-07-15 – Salads for someone who doesn't like salads
2012-06-27 – Pi time
2012-06-12 – The qmail ANY query bugs
2012-06-08 – Rate limiting DNS
2012-06-08 – Blaming the spam victim
2012-06-07 – DNSSEC lookaside validation stats
2012-06-07 – DNSSEC and indirection
2012-06-06 – Security error in GMail's TLS setup
2012-05-09 – Transparently auditable automatic vote counting
2012-05-02 – A couple of interesting networking papers
2012-04-18 – Staff seminar on version control systems
2012-04-13 – Political engagement
2012-04-04 – UK communications monitoring / advance notification to Ofcom
2012-03-27 – Pogonotomy
2012-02-28 – Path names in a rootless DNS
2012-02-03 – Adventures with IPv6 DNS hosting
2012-02-02 – Tennent's correspondence principle, closures and continuations.
2012-01-31 – On the safety of SSHFP records.
2012-01-09 – Contents of my pot of small change
2011
2011-12-07 – nsdiff 1.33
2011-12-05 – Mail switch naming and addressing at Cambridge
2011-12-01 – Some notes on git hosting software
2011-11-29 – DNS DNAME interoperability problems
2011-10-11 – Time on Terra Nova
2011-09-14 – How my link log works
2011-09-12 – Lua Workshop 2011
2011-09-02 – Version 1.13 of nsdiff
2011-08-31 – Web browser stats
2011-08-30 – MUA stats
2011-08-20 – We cannot use Google+
2011-08-09 – New version of nsdiff
2011-07-08 – unifdef and getline()
2011-06-09 – IPv6 day stats
2011-06-08 – In which IPv6 day turns out to be unexpectedly exciting
2011-05-31 – The state of DNSSEC deployment
2011-05-25 – Why I am not a fan of the locator / identifier split
2011-05-23 – JANET IPv6 address allocations
2011-05-23 – IPv6 day
2011-05-11 – DNS and system configuration vs. application data.
2011-05-04 – DNSSEC with BIND 9.8.0
2011-04-12 – Unicode and binary data
2011-02-18 – Programming languages in configuration files
2011-01-17 – Debit several clue points from Le Crédit Lyonnais
2011-01-05 – Do programming languages have terroir?
2010
2010-12-25 – 55555.55555
2010-12-07 – Amazon "Route 53" authoritative DNS service
2010-11-22 – Abuse of mailing lists
2010-11-16 – Interior iteration with less period pain
2010-11-13 – Iteration Intuition
2010-11-10 – Smooth colouring is the key to the Mandelbrot set
2010-10-14 – Missing text in messages from Outlook
2010-10-03 – Twitter echo chamber fail
2010-09-23 – The University and College Union are spammers
2010-08-24 – Timezone display by MUAs
2010-08-22 – Simple shell scripting for Twitter
2010-07-30 – Paul Vixie declares war on malicious domain names.
2010-07-30 – Keyboard shortcuts for positioning windows in Mac OS X
2010-07-22 – Obscure problem caused by bad DNS load balancer
2010-07-16 – How to set up DNSSEC validation with BIND-9.7
2010-05-25 – IETF working group news...
2010-05-21 – Weird message SMTP dot-stuffing bug
2010-05-12 – The Red Flag no longer flies over Downing Street
2010-04-16 – User agent stats
2010-03-01 – A command-line interface to Virustotal
2010-02-05 – More coroutines
2010-02-05 – Generalized literal syntax for programming languages
2010-01-22 – Coroutines in less than 20 lines of standard C
2009
2009-12-16 – stupid email disclaimers
2009-12-11 – Signing the root zone.
2009-12-09 – iCalendar is wrong
2009-11-26 – FreeBSD unifdef(1) and factor(6)
2009-11-07 – More spam bot signatures
2009-11-05 – Spam bot signatures
2009-10-30 – ENHANCEDSTATUSCODES FAIL
2009-10-30 – bogon spam
2009-10-27 – Penalising senders who use invalid recipient addresses
2009-09-16 – DNSSEC
2009-09-02 – Firewall fallout / Exchange oddity
2009-09-01 – More firewall hate
2009-08-11 – Job Ad - VOIP sysadmin
2009-08-11 – Duplex printers
2009-08-10 – Sainsbury's self-checkout fail
2009-07-30 – More on O(log(log(n))) searching
2009-07-28 – Searching a sorted array faster than O(log(N))
2009-06-09 – Tempting Fate, and getting her unwanted attention
2009-06-02 – CRSIDs and email addresses
2009-05-15 – Use your bonce
2009-05-14 – Define SCM
2009-05-13 – Never delete anything
2009-04-23 – Some thoughts about git
2009-04-08 – LISTSERV crapness
2009-04-02 – Configuration management
2009-03-25 – Ada Lovelace Day
2009-03-15 – John Taylor talks about the Corpus clock
2009-03-05 – Job Ad
2009-02-21 – The joy of lpeg
2009-02-21 – Microblogging
2009-02-05 – Impressive display of security clue from the Student Loans Company
2009-01-29 – Meanies
2009-01-27 – Luck or judgment?
2009-01-21 – The MacBook saga
2009-01-16 – RJ45 is too fat
2008
2008-12-01 – Weird network bug
2008-11-18 – Licence revoked
2008-11-06 – Licence to spam
2008-11-05 – REST FAIL
2008-10-08 – LOLauditors
2008-09-30 – More on the Corpus Christi Chronophage clock
2008-09-22 – The Corpus Christi Chronophage Clock
2008-09-15 – The date of the count
2008-09-15 – Symbolic links
2008-09-10 – Counting the days
2008-09-04 – Faster LIAR (Life in a register)
2008-08-28 – More postcodes
2008-08-27 – UK postcode regular expression
2008-08-27 – Birthday present
2008-08-20 – Job ad
2008-08-07 – Kaminsky
2008-07-31 – To do
2008-07-30 – selog-8.7.30 - selective logging library
2008-07-24 – More Kaminsky
2008-07-24 – ClamAV aargh
2008-07-23 – Kaminsky's DNS hack
2008-07-23 – A ratelimit idea
2008-06-18 – Murray Edwards College
2008-06-11 – Venti, Foundation, Bloom filters, and Erlang
2008-06-04 – Bike
2008-06-03 – Tech talk
2008-06-03 – Lotus Notes
2008-05-16 – Need a better name than post-postmodern
2008-05-09 – Password scanning
2008-05-07 – Dealing with phishers
2008-05-06 – floaty fiddling
2008-04-29 – TCP narg/rant
2008-04-18 – A bug in gcc
2008-04-17 – some ports are more equal than others
2008-04-15 – Annoying things
2008-04-15 – A little more Hashlife
2008-04-11 – invitation spam
2008-04-10 – ANNOUCE: selog - selective logging library
2008-04-03 – thread-aware libraries
2008-04-01 – DST is silly
2008-03-05 – pointfree life
2008-03-05 – leaky life
2008-03-04 – gzip vs. zlib
2008-03-02 – unifdef everywhere
2008-02-29 – unifdef
2008-02-12 – What goes around comes around
2008-02-12 – Hashlife
2008-02-07 – Endianness and C
2008-02-05 – What use are Bloom filters, anyway?
2008-02-04 – VoIP guru wanted
2008-01-29 – Still looking for a developer
2008-01-28 – More about Bloom filters
2008-01-27 – Some notes on Bloom filters
2008-01-24 – Barracuda are morons
2008-01-22 – LIAR: Life in a register
2007
2007-11-20 – Pointer magic
2007-11-19 – Chain of distraction
2007-11-08 – Hot off the presses
2007-10-26 – An older 999 story
2007-10-25 – Slightly mugged
2007-10-04 – Random observations
2007-09-30 – Computers for children
2007-09-18 – Session layers, again
2007-09-17 – World's smallest stratum 1 NTP server?
2007-09-17 – Stringing along
2007-09-15 – Comprehending endianness
2007-09-06 – Another job: sysadmin for Stephen Hawking's supercomputer
2007-09-05 – Even more jobs
2007-09-03 – More jobs
2007-08-23 – best SOA evar!
2007-08-22 – A song of the weather
2007-08-21 – Job ad - database administrator and developer
2007-08-11 – Quoting BETA
2007-08-09 – The scalability of Erlang-style message passing
2007-08-08 – Dear Google staffing team
2007-08-03 – Warning to Linux postmasters
2007-08-03 – An OpenSSH patch
2007-07-30 – A Cyrus Sieve bug
2007-06-29 – Mock the stupid
2007-06-23 – Spelling reform is pointless
2007-06-22 – A case for Lua
2007-06-11 – Parsing expression grammars
2007-06-05 – Opening new emacs frames
2007-05-20 – Promises are equivalent to channels
2007-04-16 – Awash in a C of objects
2007-04-12 – MAPS sucks
2007-04-07 – Drunken insanity
2007-03-29 – TLDs with MXs
2007-03-21 – Job ad
2007-03-21 – How not to design an MTA - part 7 - content scanning
2007-03-19 – Hermes is all secure now
2007-03-09 – Good anti-spam news
2007-02-28 – Notes on an MTA scheduler
2007-02-25 – Slides from Wednesday's talk
2007-02-22 – Drunken insanity
2007-02-13 – How not to design an MTA - part 6 - address verification
2007-02-12 – SMTP checkpoint/resume
2007-01-05 – Greenwich meridian
2007-01-02 – Secure IMAP and POP
2006
2006-12-22 – Proleptic UTC
2006-12-20 – Clocks
2006-11-24 – Another commit bit
2006-11-23 – new computer officer intro / machine room tour
2006-11-16 – The recent increase in spam
2006-11-15 – Why the π calculus is wrong
2006-11-15 – Government Secure Intranet
2006-11-10 – Inverting iterators
2006-11-09 – SMTP checkpoint/resume
2006-11-01 – More log-structured MTA queues.
2006-11-01 – Constraining continuations
2006-10-27 – Job: head of networks and telecoms
2006-10-25 – Desugaring with continuations
2006-10-05 – (s)unifdef
2006-10-05 – More about log-structured MTA queues.
2006-09-21 – Scalable log processing
2006-09-20 – A new acronym
2006-09-19 – How not to design an MTA - part 5 - spool file logistics
2006-09-19 – How not to design an MTA - part 4 - spool file format
2006-09-15 – no-longer-simple mail transport protocol
2006-08-22 – Sender: headers again
2006-08-22 – Message header manipulation by mailing lists
2006-08-11 – Email message identification
2006-07-20 – Exim course in Cambridge
2006-07-14 – RAID doom
2006-07-11 – Damnit!
2006-07-05 – Anonymous arseholes
2006-07-03 – DJB / cdb
2006-06-29 – Job ad
2006-06-21 – Let that be a warning to you
2006-06-20 – The rise and fall of the IETF?
2006-06-19 – ☆
2006-06-16 – Kaboom!
2006-06-16 – How not to design an MTA - part 3 - local delivery
2006-06-09 – RFC 2222 bis inter alia
2006-06-09 – eigenlanguages
2006-06-07 – internationalized email
2006-05-31 – Programming with complex numbers
2006-05-30 – Country code changes
2006-05-12 – Kenya
2006-05-12 – AfNOG
2006-05-05 – More AfNOG
2006-05-04 – Kooks
2006-05-04 – AfNOG pictures
2006-05-04 – AfNOG @ Nairobi
2006-05-03 – In Nairobi
2006-04-25 – RFC 2476 bis
2006-04-24 – International jet set
2006-04-21 – chat service update
2006-04-20 – virtual chat host
2006-04-17 – More alternative architectures
2006-04-11 – Why you want single sign-on
2006-04-08 – My URL log
2006-04-07 – Windows, rates, and congestion control
2006-04-05 – "window-based" protocol
2006-04-03 – More strategic visions
2006-03-30 – Strategy month
2006-03-30 – Signal mis-handling
2006-03-28 – Tax-deductable open source
2006-03-28 – Durham University IT services regulations
2006-03-17 – The Internet needs a session layer
2006-03-17 – Irony! Schadenfreude!
2006-03-17 – Addressing and sessions
2006-03-15 – More SMTP optimization
2006-03-06 – In the news
2006-03-03 – Updated QUICKSTART spec
2006-03-01 – Email volume
2006-03-01 – DNS-assisted flooding attacks
2006-02-23 – More streamlining
2006-02-21 – Streamlined message submission
2006-02-20 – Nominative determinism
2006-02-19 – How not to design an MTA - part 2 - partitioning for security
2006-02-17 – LMTP and EXDATA
2006-02-16 – How not to design an MTA - part 1 - the sendmail command
2006-02-07 – Quick response
2006-02-06 – Virus names
2006-02-02 – Grammar
2006-02-01 – Some people just don't get email
2006-01-31 – Millennium Post
2006-01-31 – Chat progress?
2006-01-27 – More racking
2006-01-25 – Techlinks talk
2006-01-25 – fun with Jabber + google maps
2006-01-20 – The joy of disks
2006-01-19 – ☆
2006-01-19 – The joy of racks
2006-01-19 – Smoothed leap seconds
2006-01-18 – Jabber federation
2006-01-18 – IETF widget exchange working group
2006-01-17 – Oh bloody hell
2006-01-17 – Jabber federation
2006-01-17 – AGP+PCI multihead, attempts two and three
2006-01-16 – rate limiting again
2006-01-10 – Legal papers served by email
2006-01-10 – Attack-resistant trust metrics.
2006-01-09 – ☆
2006-01-06 – Irritations
2006-01-04 – Joe jobbing
2006-01-04 – from me on behalf of myself
2005
2005-12-15 – ☆
2005-12-12 – Jingle approaches JEP
2005-12-12 – chat service update
2005-12-07 – Meta Matters
2005-12-06 – UKUUG abstract
2005-12-06 – Jabber
2005-12-01 – Not so soon...
2005-11-11 – Signing up for more work
2005-11-10 – Ten thousand thundering typhoons!
2005-11-03 – Tottering piles of crapware
2005-11-02 – Pictures
2005-10-26 – More about Thunderbird
2005-10-26 – Feedback
2005-10-25 – Deathless prose
2005-10-23 – Composable Berkeley Transactions
2005-10-21 – ☆
2005-10-20 – mergesort for linked lists
2005-10-13 – ☆
2005-10-08 – Frustrated by Thunderbird
2005-10-05 – more bind bogons
2005-10-04 – no DNS tunnelling here, please
2005-09-19 – Echsim
2005-09-16 – Subtle hackery
2005-07-28 – SMTP syntax errors
2005-07-25 – Clustered hints databases for Exim?
2005-07-05 – Typesetting music
2005-07-04 – Security
2005-06-15 – NFA? DFA?
2005-05-19 – Flood protection patch
2005-05-10 – Email protocol kooks
2005-05-09 – More flood protection
2005-05-06 – Flood protection
2005-04-14 – ☆
2005-04-04 – ☆
2005-03-30 – More abuse of Exim
2005-03-18 – Letter to Prospect Magazine
2005-03-17 – ☆
2005-03-09 – Exim CSA patch
2005-03-08 – Documentation
2005-03-08 – Brief diversion
2005-03-07 – Client SMTP Authorization
2005-03-02 – Push syndication
2005-02-28 – ☆
2005-02-14 – 20,000 words later
2005-02-06 – Dispute resolution
2005-01-16 – ☆
2005-01-16 – UNIX or not?
2005-01-06 – HELO blacklists
2005-01-04 – Client SMTP Validation
2004
2004-12-17 – ☆
2004-12-13 – The Alphabet / David Sacks
2004-12-07 – Bloody edge
2004-12-06 – Net::DNS
2004-12-02 – more HELO statistics
2004-12-01 – adns
2004-11-26 – ☆
2004-11-24 – Vote for the Carlton Arms!
2004-11-24 – Letter to the BBC
2004-11-24 – Bleeding edge
2004-11-17 – Network engineer needed
2004-11-14 – Brilliant Brassicas
2004-11-11 – Amusing nicknames.
2004-10-22 – Apple / FreeBSD / Unix events
2004-10-18 – ☆
2004-10-16 – ☆
2004-10-13 – Another talk
2004-10-05 – ☆
2004-09-21 – FEEL THE KWALITEE
2004-09-20 – Martin Cooper
2004-09-19 – ☆
2004-09-13 – Martin Cooper
2004-09-08 – Reasons we think Sender-ID and SPF are bad
2004-09-08 – On the way to RFC authorship...
2004-08-19 – Birthday party, 2004-09-04
2004-08-11 – Clever packaging
2004-07-28 – Idiots
2004-07-26 – New plumbing connectors for Unix
2004-07-15 – IPv6
2004-07-08 – Yak-shaving
2004-07-04 – Beer
2004-06-23 – Netcraft Job
2004-06-17 – Silly domain names
2004-05-19 – Another talk
2004-05-12 – CLHH
2004-05-10 – Household electrics
2004-04-28 – Orkut
2004-04-20 – Sun is teh suck
2004-04-20 – Gmail and privacy
2004-04-20 – Conservative Party election stunt
2004-04-14 – Passwords
2004-04-13 – Whitewash
2004-04-09 – Sean of the dead
2004-04-02 – YKY subscribed to too many lists W...
2004-03-31 – Zombies
2004-03-24 – Ego Surfing
2004-03-17 – ☆
2004-03-16 – SF memories
2004-03-11 – Spammed to death
2004-03-11 – Google images meme
2004-03-06 – Passport meme
2004-03-05 – UKUUG LISA Winter Conference paper
2004-03-05 – Desktop meme
2004-03-04 – Yet another RSS feed
2004-03-03 – It's a virus-eat-virus world out there...
2004-02-24 – To do
2004-02-24 – Excitement!
2004-02-18 – ☆
2004-02-18 – Shared Calendars
2004-02-18 – Netsky
2004-02-17 – New virus detection: Bagle.b
2004-02-13 – Big presentation excitement!
2004-02-10 – Orkut
2004-01-29 – More photos
2004-01-26 – irc funny
2004-01-24 – Some historical tidbits
2004-01-23 – Insta-BSD-meet
2004-01-22 – ☆
2004-01-21 – Slides
2004-01-20 – ☆
2004-01-14 – Recruiter
2004-01-13 – "The country where I quite want to be"
2004-01-07 – Compare and contrast
2004-01-06 – I love the smell of burnt electronics in the morning...
2004-01-01 – Rule 110
2003
2003-12-11 – More about Life
2003-12-09 – ☆
2003-12-04 – Conway's Game of Life
2003-12-03 – Show of Hands
2003-11-18 – Dreams
2003-10-30 – Enormous festering wobble-pile
2003-10-28 – aaaargh
2003-10-01 – Food
2003-09-30 – Book meme
2003-09-29 – Of course there's a party too...
2003-09-29 – Engaged
2003-09-10 – Slides from another talk
2003-09-01 – Party
2003-08-29 – <beer>happiness</beer>
2003-08-26 – Birthday Barbecue + Party
2003-07-30 – Dream
2003-07-30 – distributed checksum clearinghouse
2003-07-29 – ☆
2003-07-22 – Good grief!
2003-06-06 – Travelling
2003-05-29 – ☆
2003-05-28 – All talked out
2003-05-27 – Don't slide
2003-05-22 – MailScanner
2003-05-19 – Derbyshire again
2003-05-12 – Peak District
2003-05-02 – another ykybhtlw dream
2003-04-23 – Lucid dreaming
2003-04-23 – Blah
2003-04-22 – Digital convergence
2003-04-07 – Doing a talk
2003-04-07 – And in other news
2003-03-29 – Alphabet meme
2003-03-28 – Turned into a good evening
2003-03-28 – The return of the B
2003-03-27 – Stuff and nonsense
2003-03-26 – Fresh Coffee
2003-03-25 – ☆
2003-03-23 – ☆
2003-03-19 – Spam
2003-03-19 – Pot plants
2003-03-19 – More hacking
2003-03-18 – Resurrecting old hacks
2003-03-18 – Anne Campbell
2003-03-17 – First post!!!!!