Link log versions
• <https://dotat.at/:/>
• landing pages
• Atom feed
• Dreamwidth links
• LiveJournal links
My other activity
• Dreamwidth blog
• work blog
• Twitter
everything
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
Jan
Feb
---
---
---
---
---
---
---
---
---
---
<<
2021
>>
- 2021-02-12: Uncovering a 24-year-old bug in Linux TCP.
- 2021-02-12: Islands architecture for web pages.
- 2021-02-11: A reverse-engineered description of Adobe Type 1 fonts. (1989)
- 2021-02-11: 50 years of text games - 1976: Adventure.
- 2021-02-10: ANSI X3.64-1979: Additional control characters for use with ASCII.
- 2021-02-10: FreeBee: an AT&T 3B1 emulator.
- 2021-02-10: Let's Encrypt prepared to issue 200 million certificates in 24 hours.
- 2021-02-10: Dependency confusion: a novel supply chain attack against Apple, Microsoft, and dozens of other companies.
- 2021-02-10: Configuring PostgreSQL to avoid the Linux OOM killer.
- 2021-02-09: A practical look at 2G GSM security after three decades.
- 2021-02-09: Turning an old Amazon Kindle into a eink development platform.
- 2021-02-09: Configuring Emacs for Rust development.
- 2021-02-08: The real novelty of the ARPANET.
- 2021-02-06: We have known the earth is round for about 2500 years.
- 2021-02-05: How to read and write Scheme code.
- 2021-02-05: 8 bits are enough for a version number...?
- 2021-02-05: In the future, even your RAM will have firmware; and the subject of POWER10 blobs.
- 2021-02-04: The Dunning-Kruger effect probably is real.
- 2021-02-04: You don't really need a virtualenv: try PDM instead?
- 2021-02-03: Bluetooth trackball Mark II.
- 2021-02-02: 10 bad TypeScript habits to break this year.
- 2021-02-02: Recovering a bricked SSD with JTAG and a Raspberry Pi.
- 2021-02-02: Polymorphisation: Improving Rust compilation times through intelligent monomorphisation.
- 2021-02-01: Gadgetbahn: Is Cambridgeshire's new metro all it's cracked up to be?
- 2021-02-01: PostgreSQL partial indexes: the unexpected find that freed 20GB of unused space.
- 2021-02-01: An HAProxy back-end server port change gotcha.
- 2021-02-01: 67 years of Lego sets.
- 2021-01-31: A look at iMessage in iOS 14.
- 2021-01-31: Bringing stack clash protection to Clang / x86 with help from Firefox and Rust.
- 2021-01-31: Manless climbing: Dorothy Pilley Richards 1894-1986.
- 2021-01-31: CrayZee Eighty: a Z80 RC2014 backplane shaped like a Cray 1.
- 2021-01-31: Testing Proebsting's law: How does clang 2.7 hold up in 2021?
- 2021-01-31: Deluge and disaster: the politics of flooding risk.
- 2021-01-30: Log-structured merge for solid-state drives.
- 2021-01-30: Are the Persian Gulf city-states slave societies?
- 2021-01-29: Achieving 11M IOPS and 66 GB/s IO on a single AMD ThreadRipper workstation.
- 2021-01-29: How we made Typerighter, the Guardian's style guide checker.
- 2021-01-29: Discussing the future of RPKI.
- 2021-01-29: Uniwidth typefaces for interface design.
- 2021-01-28: Automatic flamegraphs for benchmarks in Rust.
- 2021-01-28: Performance improvement on front-end generated by rustdoc.
- 2021-01-27: What's the deal with Chromium on Linux? Google at odds with package maintainers.
- 2021-01-27: What color was "Apple Beige"?
- 2021-01-26: Strengths, weaknesses, opportunities, and threats facing the GNU Autotools.
- 2021-01-27: 12 requests per second in Python.
- 2021-01-26: Badger Seal mask fitter.
- 2021-01-26: Netflix and Spotify on a Raspberry Pi 4 with Chromium and Widevine.
- 2021-01-26: Postgres scaling advice for 2021.
- 2021-01-26: Window System Design: If James Gosling had it to do over again in 2002.
- 2021-01-26: System separation in the Continental Europe Synchronous Area on 8 January 2021.
- 2021-01-26: Firefox 85 cracks down on supercookies.
- 2021-01-25: The night two atomic bombs fell on North Carolina.
- 2021-01-26: LAMBDA: The ultimate Microsoft Excel worksheet function.
- 2021-01-25: Zig makes Golang (cgo) cross compilation Just Work.
- 2021-01-25: The PGM-index: a learned piecewise geometric model for small lookup indexes.
- 2021-01-24: DrScheme in space.
- 2021-01-24: Racket compiler and runtime status, January 2021.
- 2021-01-24: An incomplete list of mistakes in the design of CSS.
- 2021-01-24: Tim Hayward and COVID: 10 days on life support.
- 2021-01-24: Dissecting the Apple M1 GPU, part II.
- 2021-01-24: Libvirt: adoption of GLib library to replace GNULIB and home grown code.
- 2021-01-24: Use mmap() with care.
- 2021-01-22: Rust in production in 1Password.
- 2021-01-22: On the complexity of JSON serialization.
- 2021-01-22: What engineers can teach (and learn from) programmers.
- 2021-01-21: XTerm does graphics in Tektronix mode.
- 2021-01-21: The new database servers powering Let's Encrypt.
- 2021-01-21: How Corellium ported Linux to the Apple M1.
- 2021-01-21: Container networking is simple.
- 2021-01-21: picodvi: Bitbanged DVI on the RP2040 microcontroller.
- 2021-01-21: Datalegreya: interweave text and data.
- 2021-01-21: Parsing ASN.1: A troublesome problem?
- 2021-01-20: The year a "railway" ran inside Westminster Abbey.
- 2021-01-20: Software engineering is not special.
- 2021-01-20: Porting Firefox to Apple Silicon.
- 2021-01-20: Java on Truffle: going fully metacircular.
- 2021-01-20: An interactive review of the Oklab colour space.
- 2021-01-19: Cache poisoning vulnerabilities affect popular DNSmasq software.
- 2021-01-19: A high-speed computer vision pipeline for the universal LEGO sorting machine.
- 2021-01-19: Unicode superscript numeral rendering bugs.
- 2021-01-19: Down Underground: London Underground depth diagrams.
- 2021-01-18: Are programmers really engineers?
- 2021-01-18: BBC Micro Bot user guide.
- 2021-01-16: The problem with Gradle.
- 2021-01-16: Reverse engineering Prodigy.
- 2021-01-15: Fast commits for ext4.
- 2021-01-15: This was WhatsApp's plan all along.
- 2021-01-15: donut.c without a math library.
- 2021-01-15: Simplifying endian-specific file parsers in Rust with Omnom and type inference.
- 2021-01-15: Maybe you don't need Rust and WASM to speed up your JavaScript.
- 2021-01-14: A week with Plan 9.
- 2021-01-14: The most thoroughly commented linker script (probably).
- 2021-01-13: Use an iPhone as a webcam.
- 2021-01-13: OBS Studio: free and open source software for video recording and live streaming.
- 2021-01-13: Cross-language interfaces between C and C++.
- 2021-01-12: The ABCD family tree.
- 2021-01-12: Who invented the alphabet?
- 2021-01-12: Futhark design decisions I do not regret.
- 2021-01-12: Developing new metrics for tracking DNS root server traffic.
- 2021-01-12: SUNSPOT: an implant in the SolarWinds Orion build process.
- 2021-01-11: XTerm: it's better than you thought.
- 2021-01-11: The Earth has been spinning faster lately.
- 2021-01-10: Surprising ctags behaviour.
- 2021-01-10: The design of the Roland Juno synth oscillators.
- 2021-01-10: The truth about cast iron pans.
- 2021-01-09: Radamsa: a general-purpose black-box fuzzer.
- 2021-01-09: kAFL: hardware-assisted feedback fuzzing for OS kernels.
- 2021-01-09: Redqueen: fuzzing with input-to-state correspondence.
- 2021-01-09: Grimoire: synthesizing structure while fuzzing.
- 2021-01-09: Earth is turning faster than it has in a half-century, which could mean a negative leap second.
- 2021-01-09: Ray tracing in pure CMake.
- 2021-01-08: Rust's SemVer snares: sizedness and size.
- 2021-01-08: Exploring RustFFT's SIMD architecture.
- 2021-01-08: Dark side of POSIX APIs: handling siginfo_t in Rust.
- 2021-01-08: nonymous + bore: DNS toys for Rust.
- 2021-01-08: Generic associated types encode higher-order functions on types in Rust.
- 2021-01-08: An introduction to property-based testing in Rust with quickcheck.
- 2021-01-08: Smooth voxel terrain: isosurface extraction with marching cubes and surface nets.
- 2021-01-08: Metaballs and marching squares.
- 2021-01-08: A guide to rendering metaballs (aka blobs).
- 2021-01-08: Doing symbolic math with SymPy.
- 2021-01-08: Greybox automatic exploit generation for heap overflows in language interpreters.
- 2021-01-07: Google Chrome reduces its root DNS traffic.
- 2021-01-08: Quorum availability.
- 2021-01-07: Dissecting the Apple M1 GPU.
- 2021-01-07: Italian court rules that Deliveroo used a discriminatory algorithm.
- 2021-01-07: Xbox 20 year anniversary: an oral history.
- 2021-01-06: Simulating the PIN cracking scene in Terminator 2.
- 2021-01-06: An uncommon cold.
- 2021-01-05: Cryptographic key length recommendations.
- 2021-01-05: Tutorial on precompilation for Julia.
- 2021-01-04: Ditherpunk: the article I wish I had about monochrome image dithering.
- 2021-01-04: Dream Minecraft speedrun investigation results.
- 2021-01-04: FuzixOS: a Unix-like system for 8-bit micros.
- 2021-01-03: kgames: reviving very old X code.
- 2021-01-03: Rust design patterns.
- 2021-01-03: Zig in 30 minutes.
- 2021-01-03: A new release for GNU Octave.
- 2021-01-03: Medley Interlisp Common Lisp.
- 2021-01-03: On repl-driven programming.
- 2021-01-03: cargo-supply-chain: Gather author, contributor and publisher data on crates in your dependency graph.
- 2021-01-02: Game of Life on Penrose tiles.
- 2021-01-01: Seamless file descriptor transfer between Linux processes with pidfd and pidfd_getfd.
- 2021-01-01: Floating Point Leviathan: a game based on floating point precision errors.
- 2021-01-01: The hyperbezier pen tool
- 2021-01-01: Counting the days: the origin of Julian day numbers.
- 2021-01-01: Multiscale Turing patterns in WebGL.
- 2021-01-01: Tectonic: a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
- 2021-01-01: How I improve my C code quality.
- 2021-01-01: A look at Rust tokio 1.0 API changes.
Tony Finch is
<dot@dotat.at>