Computing and Technology
- Position statement on Go modules 20210223
- Go modules considered harmful 20210223
- Attributes of configuration languages 20210219
- How secure boot and trusted boot can be owner-controlled 20210212
- In the future, even your RAM will have firmware; and the subject of POWER10 blobs 20210204
- Modifying and running a binary by recompiling a reverse engineered disassembly 20201205
- The different kinds of authentication protocols 20200923
- Serial Attached SCSI (SAS) is a circuit switched computer network 20200920
- USB Mass Storage and USB-Attached SCSI... are both SCSI 20200911
- A brief introduction to SCSI 20200909
- Myths about USB NKRO and how USB HID works 20200409
- Mis-fitted USB ports, an epidemic 20200109
- Total Advertising Denial 20191112
- XML is almost always misused 20191029
- The evolution of the web, and a eulogy for XHTML2 20191026
- Cloudflare considered harmful 20191023 They want your traffic. All of your traffic.
- The PowerPC AS Tagged Memory Extensions 20190831
- On the opening of the Power ISA, and the chilling effects of proprietary ISAs 20190828 The writing is on the wall.
- The i.MX8 cannot be deblobbed 20190611
- Rethinking the filesystem as global mutable state, the root of all evil 20190602
- Rethinking files 20190602
- Extended Validation certificates have always been useless 20190523
- Adventures in reverse engineering Broadcom NIC firmware 20190416
- Running Baldur's Gate 2 in windowed mode at high resolutions 20190416
- Grow-up and grow-down technologies 20181130
- Why Intel will never let owners control the ME 20180722
- An Open Letter To Namecheap: Why I Am Leaving You 20170821
- Legal Analysis of the “Admiral” Anti-Adblocker DMCA Incident 20170812
- Phone numbers must die 20170116
- The Investigatory Powers Act: A Pre-Commencement Briefing 20161201
- Rackmount Improv HSM 20161125
- Let's Encrypt for IRC Networks: A Deployment Guide 20160321
- The Investigatory Powers Bill: Let's work together to spy on your customers 20160311
- The Cultural Defeat of Microsoft 20160308
- Microsoft has stopped making Windows 20160305 On the phenomenon of market betrayal.
- Why I will never use Windows 8 or Windows 10 20160304 Restrictive code signing practices.
- Psychological effects of coding style 20160302 Proof that there is no limit to how banal my ramblings will become.
- Death to the Win32 console subsystem 20160219
- Why I don't like smartphones 20160213 Attributes.
- The Normativity Manifesto 20160210 Unidirectional flow from the origin.
- Zero-G Programming 20160207 There is no down.
- The Bourne Ambiguity 20160206 For want of a list...
- Nexuses Redux: Nativity 20160206 Languages can be plotted by the nexuses they most conveniently access.
- Embedding of binary data into programs 20160115
- There are no secure smartphones. 20160114
- TLS and the Policy MitM Armageddon 20151203 Issues with key pinning.
- Why the AGPL is often unenforceable 20151124
- Linux's GPLv2 licence is routinely violated 20151124
- The Draft Investigatory Powers Bill 20151106 The UK government introduces a piece of surveillance legislation.
- Why I don't like smartcards, HSMs, YubiKeys, etc. 20151028 Why doesn't this smartcard exist?
- The Straight Line Principle 20151001 Programmers like linear syntax.
- On Nexuses 20150904 What your operating system and the reusability of code has in common.
- On Normativity in Configuration Management 20141009
- Insyde BIOS Issues 20130614
- Coroutines in C 20130314
- A usable Linux desktop 20130227
- Notes on building lexers 20130227
Philosophy, the Universe, and Politics
- The Culture War, Part I: The Rise of Newchurch 20200617
- Kolmogorov's AI 20200306
- Lifeforms 20191015
Code
- captcha 20160205 A rather severe image-only CAPTCHA library for Go.
- configurable 20160205 An integration nexus for managing configuration in Go.
- easyconfig 20160205 configurable-based configuration management utilities for Go.
- eddsa 20160205 Go API wrapper for Ed25519 providing a standard library-like interface.
- portmap 20160205 NAT port-mapping library for Go supporting UPnP and NAT-PMP.
- acmetool 20151126 A client utility for retrieving certificates from ACME (Let's Encrypt) servers.
- passlib 20150908 Modern password hashing library for Go.
- service 20150904 Easily write daemonizable services in Go.
- compex 20140524 GCC/clang plugin for dumping C++ type information. Useful for reflection.
- tftp2httpd 20140107 Daemon to serve TFTP from HTTP. Useful for generating files on the fly to embedded devices.
- namesync 20140106 A daemon for live replication of the Namecoin zone file into PostgreSQL so that it can be served via PowerDNS.
- ncdns 20140106 A Namecoin to DNS bridge supporting authoritative and authoritative suffix modes. Supports DNSSEC.