2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 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:
Polymorphisation: Improving Rust compilation times through intelligent monomorphisation.
- 2021‑02‑02:
Recovering a bricked SSD with JTAG and a Raspberry Pi.
- 2021‑02‑01:
An HAProxy back-end server port change gotcha.
- 2021‑02‑01:
PostgreSQL partial indexes: the unexpected find that freed 20GB of unused space.
- 2021‑02‑01:
Gadgetbahn: Is Cambridgeshire's new metro all it's cracked up to be?
- 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:
Discussing the future of RPKI.
- 2021‑01‑29:
How we made Typerighter, the Guardian's style guide checker.
- 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‑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:
Strengths, weaknesses, opportunities, and threats facing the GNU Autotools.
- 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‑26:
LAMBDA: The ultimate Microsoft Excel worksheet function.
- 2021‑01‑25:
The night two atomic bombs fell on North Carolina.
- 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:
Libvirt: adoption of GLib library to replace GNULIB and home grown code.
- 2021‑01‑24:
Dissecting the Apple M1 GPU, part II.
- 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:
The design of the Roland Juno synth oscillators.
- 2021‑01‑10:
Surprising ctags behaviour.
- 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:
nonymous + bore: DNS toys for Rust.
- 2021‑01‑08:
Exploring RustFFT's SIMD architecture.
- 2021‑01‑08:
Dark side of POSIX APIs: handling siginfo_t in Rust.
- 2021‑01‑08:
Generic associated types encode higher-order functions on types in Rust.
- 2021‑01‑08:
Rust's SemVer snares: sizedness and size.
- 2021‑01‑08:
An introduction to property-based testing in Rust with quickcheck.
- 2021‑01‑08:
A guide to rendering metaballs (aka blobs).
- 2021‑01‑08:
Smooth voxel terrain: isosurface extraction with marching cubes and surface nets.
- 2021‑01‑08:
Metaballs and marching squares.
- 2021‑01‑08:
Doing symbolic math with SymPy.
- 2021‑01‑08:
Greybox automatic exploit generation for heap overflows in language interpreters.
- 2021‑01‑08:
Quorum availability.
- 2021‑01‑07:
Google Chrome reduces its root DNS traffic.
- 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:
The hyperbezier pen tool
- 2021‑01‑01:
Floating Point Leviathan: a game based on floating point precision errors.
- 2021‑01‑01:
Seamless file descriptor transfer between Linux processes with pidfd and pidfd_getfd.
- 2021‑01‑01:
Counting the days: the origin of Julian day numbers.
- 2021‑01‑01:
Multiscale Turing patterns in WebGL.
- 2021‑01‑01:
How I improve my C code quality.
- 2021‑01‑01:
Tectonic: a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
- 2021‑01‑01:
A look at Rust tokio 1.0 API changes.
- 2020‑12‑31:
Unsafe string interning in Golang for scoped IPv6 addresses.
- 2020‑12‑30:
The quirks of City of London livery company coats of arms.
- 2020‑12‑30:
Getting started in BBC BASIC with Owlet.
- 2020‑12‑30:
In Python 2, node.example.com is an IPv6 address.
- 2020‑12‑29:
Five intersecting tetrahedra in origami.
- 2020‑12‑29:
Why are video games graphics (still) a challenge? Productionizing rendering algorithms.
- 2020‑12‑29:
Flow Browser preview on the Raspberry Pi 400.
- 2020‑12‑28:
Buttplug: a haptics abstraction library in Rust for controlling vibrators and other intimate hardware.
- 2020‑12‑28:
Cosmopolitan C library: build-once run-anywhere.
- 2020‑12‑28:
A review of the Lean theorem prover.
- 2020‑12‑28:
Rust in a KDE project.
- 2020‑12‑27:
Systems design explains the world.
- 2020‑12‑27:
Oklab: A perceptual color space for image processing.
- 2020‑12‑26:
A complete guide to LLVM for programming language creators.
- 2020‑12‑25:
'static trait bounds in Rust.
- 2020‑12‑23:
Interactive C++ for data science with LLVM cling.
- 2020‑12‑23:
How to favicon in 2021: six files that fit most needs.
- 2020‑12‑23:
Flix: a functional / logic programming language for the JVM.
- 2020‑12‑23:
KLEE: finding software bugs using symbolic execution.
- 2020‑12‑23:
Build a tiny certificate authority for your homelab.
- 2020‑12‑23:
An LSP client maintainer's view of the language server protocol.
- 2020‑12‑23:
Don't think, just defunctionalize.
- 2020‑12‑21:
Raft does not guarantee liveness in the face of network faults.
- 2020‑12‑20:
Swirled Series: the result.
- 2020‑12‑19:
The Psion Organiser II: laying the groundwork of our smartphone world.
- 2020‑12‑19:
The algorithmic beauty of plants.
- 2020‑12‑19:
Perceus: garbage free reference counting with reuse.
- 2020‑12‑18:
Understanding systemd-resolved, split DNS, and VPN configuration.
- 2020‑12‑17:
Git commits are snapshots, not diffs.
- 2020‑12‑17:
The git parable.
- 2020‑12‑17:
Moving a large TypeScript codebase to use strict null checks.
- 2020‑12‑17:
Notes on cross-compiling Rust on a Mac for a Raspberry Pi.
- 2020‑12‑17:
Adding BPF target support to the Rust compiler.
- 2020‑12‑17:
Rust on the BBC micro:bit.
- 2020‑12‑17:
rpitx: radio transmission from a Raspberry Pi GPIO pin.
- 2020‑12‑17:
Why CockroachDB chose to be compatible with PostgreSQL.
- 2020‑12‑17:
FFI-safe polymorphism with thin trait objects in Rust.
- 2020‑12‑16:
Niue has launched a major effort to win back control of .nu
- 2020‑12‑16:
What I wish someone had told me about tensor computation libraries.
- 2020‑12‑16:
To the brain, reading computer code is not the same as reading language.
- 2020‑12‑15:
Rockstar: a language for creating programs that are also hair metal power ballads.
- 2020‑12‑14:
The case of the extra 40ms. (Not TCP delayed ACKs!)
- 2020‑12‑14:
The cleverest BBC Micro floppy disc protection ever? Western Security Ltd.
- 2020‑12‑14:
Pointer provenance is complicated: we need better language specs.
- 2020‑12‑14:
XML round-trip vulnerabilities in the Golang standard library affecting SAML.
- 2020‑12‑14:
A Golang-style defer mechanism for C.
- 2020‑12‑14:
K: a rewrite-based executable semantic framework for programming languages.
- 2020‑12‑13:
if-then-else had to be invented.
- 2020‑12‑13:
The HP-35.
- 2020‑12‑12:
More batteries included with emacs.
- 2020‑12‑12:
Amazon owns more than $2B worth of IPV4 addresses.
- 2020‑12‑11:
Monads and generic associated types in nightly Rust.
- 2020‑12‑10:
An explanation of cameras and lenses with interactive 3D graphics.
- 2020‑12‑09:
"A damn stupid thing to do": CPL and the origins of C.
- 2020‑12‑09:
Architecting the future: Arm, CHERI, and Morello.
- 2020‑12‑08:
Where did combinators come from? Hunting the story of Moses Schönfinkel.
- 2020‑12‑08:
Connecting an ASR33 Teletype to an ESP32.
- 2020‑12‑08:
The Galileo eccentric satellite surprise.
- 2020‑12‑06:
Interval tree clocks.
- 2020‑12‑06:
Exotic Programming Ideas: Datalog and Souffle.
- 2020‑12‑06:
std::visit is everything wrong with modern C++
- 2020‑12‑06:
The future of 32-bit Linux.
- 2020‑12‑05:
Auto for types, but not for concepts in C++.
- 2020‑12‑05:
A Microsoft custom floating point type for efficient inference.
- 2020‑12‑04:
A tale of Template Haskell and cross compilation.
- 2020‑12‑04:
Browser cache partitioning means it is time to say goodbye to Google Fonts.
- 2020‑12‑03:
Painful lessons from the Web PKI, and how you can avoid them.
- 2020‑12‑03:
Using Bloom filters to efficiently synchronise git repos and other hash graphs.
- 2020‑12‑03:
Generic traits and associated types in Rust.
- 2020‑12‑03:
Futures explained in 200 lines of Rust.
- 2020‑12‑03:
Obsolete trigonometry functions and why we don't use them anymore.
- 2020‑12‑02:
Hey Alexa what did I just type?
- 2020‑12‑02:
Faster asynchronous WAL archiving with pgBackRest to avoid PostgreSQL WAL backlog.
- 2020‑12‑02:
PostgreSQL PostGIS trajectories through space and time.
- 2020‑12‑02:
TenDRA: an architecture-neutral compiler framework with C and C++ front ends.
- 2020‑12‑02:
libFirm: an optimizing compiler back-end.
- 2020‑12‑02:
Cutting up a capsized cargo ship for salvage.
- 2020‑12‑02:
The rendering equation.
- 2020‑12‑01:
Naming the Net: the Domain Name System, 1983-1990.
- 2020‑12‑01:
Design of the Mozilla Firefox CRLite infrastructure.
- 2020‑12‑01:
Evolution of tree data structures for indexing: more exciting than it sounds.
- 2020‑12‑01:
The road to the Erlang JIT.
- 2020‑12‑01:
Computer graphics from scratch.
- 2020‑12‑01:
I am an 80 column purist.
- 2020‑12‑01:
How many registers does an x86-64 CPU have?
- 2020‑12‑01:
ARM and lock-free programming.
- 2020‑11‑30:
biVector.net: geometric algebra for computer graphics, vision, and engineering.
- 2020‑11‑30:
Geometric algebra for computer graphics.
- 2020‑11‑30:
Imaginary numbers are not real: the geometric algebra of spacetime.
- 2020‑11‑30:
ganja.js: geometric algebra for Javascript.
- 2020‑11‑29:
Summary of the Amazon Kinesis outage in the AWS us-east-1 region.
- 2020‑11‑28:
Raytracing in one weekend.
- 2020‑11‑28:
SCION EPIC: a path-aware clean-slate internet architecture.
- 2020‑11‑28:
L4S: low latency, low loss, scalable throughput Internet service architecture.
- 2020‑11‑28:
Network topology design at 17,000 km/h: LEO satellite Internet.
- 2020‑11‑28:
MP-DCCP multipath tunneling and congestion control in congestion control.
- 2020‑11‑28:
On congestion control (un)fairness and active queue management (AQM).
- 2020‑11‑28:
k6: a web load testing tool, written in Golang and configured in JavaScript.
- 2020‑11‑28:
The great Internet TCP congestion control census.
- 2020‑11‑27:
Existential Haskell.
- 2020‑11‑27:
1.5 is the midpoint between 0 and infinity in Ruby.
- 2020‑11‑27:
Rebuilding the Racket compiler with Chez Scheme.
- 2020‑11‑27:
The most unusual murder weapons in crime fiction.
- 2020‑11‑27:
An introduction to geometric algebra.
- 2020‑11‑27:
Clifford Algebra: A visual introduction.
- 2020‑11‑26:
An introduction to quaternions.
- 2020‑11‑26:
How io_uring and eBPF will revolutionize programming in Linux.
- 2020‑11‑26:
CBOR for embedded C with a Rust server.
- 2020‑11‑26:
Testing a Rust crate's C API.
- 2020‑11‑26:
Strengthening memory safety in Rust: exploring CHERI capabilities for a safe language.
- 2020‑11‑26:
An ex-Googler's guide to dev tools.
- 2020‑11‑26:
WordPress and PHP 8 compatibility report.
- 2020‑11‑26:
Modern storage is plenty fast. It is the APIs that are bad.
- 2020‑11‑26:
Reasoning about colours.
- 2020‑11‑26:
A list of magic numbers encountered while debugging.
- 2020‑11‑26:
Electromagnetism using geometric algebra versus components.
- 2020‑11‑26:
Versor: a generic C++ library for geometric algebras.
- 2020‑11‑26:
Origin of the trefoil radiation warning sign.
- 2020‑11‑25:
An intro to bivectors and rotors: Let's remove quaternions from every 3D engine.
- 2020‑11‑25:
An API is a user interface.
- 2020‑11‑25:
Mlang: a modern compiler for the French tax code.
- 2020‑11‑25:
Protect domains that don't send email.
- 2020‑11‑25:
How do people find bugs?
- 2020‑11‑25:
Preserving Flash: why emulation is better than migration.
- 2020‑11‑25:
Making PostgreSQL stored procedures 9X faster in Citus.
- 2020‑11‑25:
PAM bypass: when nullok is not OK.
- 2020‑11‑24:
TypeScript performance.
- 2020‑11‑24:
More subtle TCP performance problems due to Nagle's algorithm and delayed ACKs.
- 2020‑11‑24:
What went wrong with libdispatch: a cautionary tale for async concurrency.
- 2020‑11‑23:
Building your color palette.
- 2020‑11‑23:
The origin of the MIT License.
- 2020‑11‑22:
What if the world is made of cubes? Uncovering the universal geometry of geology.
- 2020‑11‑22:
Even faster bash startup.
- 2020‑11‑22:
Booting from a vinyl record.
- 2020‑11‑20:
Swirled series.
- 2020‑11‑20:
It is high time we let go of the Mersenne Twister.
- 2020‑11‑20:
How to abuse and fix authenticated encryption without key commitment.
- 2020‑11‑20:
UNIX NEWS and ;login: archives from the 1970s.
- 2020‑11‑19:
Microsoft FrontPage: the good, the bad, the ugly.
- 2020‑11‑19:
Flash animations live forever at the Internet Archive.
- 2020‑11‑19:
The C standard library is not dependency free (but part of Rust's is).
- 2020‑11‑19:
The usability of ownership in Rust.
- 2020‑11‑19:
LambdaDelta: an emulator of the LMI Lambda Lisp Machine.
- 2020‑11‑19:
Archive of LISP Machine, Inc.
- 2020‑11‑19:
Wiby: a search engine for the classic web.
- 2020‑11‑19:
Forensic Architecture investigation of the Beirut port explosion.
- 2020‑11‑19:
On-demand linked libraries for Nix.
- 2020‑11‑19:
Power-cycling a USB port should be simple, right?
- 2020‑11‑19:
I should have loved biology.
- 2020‑11‑18:
Microsoft Pluton: a security chip designed for the future of Windows PCs.
- 2020‑11‑18:
Automatic syntax error recovery in lrpar.
- 2020‑11‑17:
Skija graphics for JVM.
- 2020‑11‑17:
CXX.rs: safe interop between Rust and C++.
- 2020‑11‑17:
The Rust performance book.
- 2020‑11‑17:
2020 Mac Mini: putting Apple Silicon M1 to the test.
- 2020‑11‑17:
Servo moves from Mozilla to the Linux Foundation.
- 2020‑11‑17:
Sponge4: a sponge-like hash function for seeding PRNGs.
- 2020‑11‑17:
From Russia With Love: moving a time series data service from Citus to ClickHouse.
- 2020‑11‑16:
Reverse engineering a forgotten 1970s Intel dual core beast: 8271, a new ISA.
- 2020‑11‑16:
PostgreSQL psql command line tutorial and cheat sheet.
- 2020‑11‑16:
pgcli: a command line interface for PostgreSQL with auto-completion and syntax highlighting.
- 2020‑11‑16:
Build systems à la carte: theory and practice (revised and expanded).
- 2020‑11‑16:
How I failed to make LinkedIn fix their broken international domain URL parser.
- 2020‑11‑16:
How do you write simple explanations without sounding condescending?
- 2020‑11‑15:
MLS: message layer security for better encrypted group chat.
- 2020‑11‑15:
Charles proxy for web scraping.
- 2020‑11‑14:
The making of a masterpiece: Bohemian Rhapsody. (YouTube)
- 2020‑11‑14:
Python, the Full Monty: a tested semantics for the Python programming language.
- 2020‑11‑14:
On the expressive power of programming languages.
- 2020‑11‑14:
We need less powerful languages.
- 2020‑11‑14:
Warp: Improved JS performance in Firefox 83.
- 2020‑11‑14:
When 13.3 > 14.
- 2020‑11‑13:
udp2raw-tunnel: UDP over encrypted fake TCP to bypass firewalls.
- 2020‑11‑13:
Why TCP over TCP is a bad idea.
- 2020‑11‑12:
Build your own gpg in Rust.
- 2020‑11‑12:
Replication conflicts in PostgreSQL and how to deal with them.
- 2020‑11‑12:
PostgreSQL observability: a diagram of views and functions for inspecting your database.
- 2020‑11‑12:
Full-text search performance since PostgreSQL 8.3.
- 2020‑11‑12:
40ms bug: a missing writev, Nagle's algorithm, and delayed ACKs.
- 2020‑11‑12:
AndroWish: run Tcl/Tk programs on Android.
- 2020‑11‑12:
Propeller: a framework for post-link optimizations.
- 2020‑11‑12:
BOLT: a post-link binary layout optimizer for speeding up large applications.
- 2020‑11‑12:
Exploring PGO for the Rust compiler.
- 2020‑11‑11:
Miniselect: practical and generic (sorted) selection algorithms.
- 2020‑11‑11:
Undoing, fixing, or removing commits in git: choose your own adventure.
- 2020‑11‑11:
What mother never told you about IBM VM service.
- 2020‑11‑10:
Fast Flexible Paxos.
- 2020‑11‑09:
Hegel: an advanced static type checker for JavaScript.
- 2020‑11‑09:
Turing incomplete languages.
- 2020‑11‑09:
Lox: a word that hasn't changed sound or meaning in 8,000 years.
- 2020‑11‑09:
dnstap-receiver: a dnstap streams receiver in Python.
- 2020‑11‑09:
Structured concurrency in C++.
- 2020‑11‑09:
dog: a command-line DNS client.
- 2020‑11‑09:
Towards Pijul 1.0.
- 2020‑11‑09:
Parsing the infamous Japanese postal CSV.
- 2020‑11‑08:
LLVM clang 12 support for amd64 micro-architecture levels.
- 2020‑11‑08:
New amd64 micro-architecture levels.
- 2020‑11‑07:
Go in production: what I learned 1 month later.
- 2020‑11‑07:
vt52-fpga
- 2020‑11‑07:
Kristian's interactive 3D printed Stargate with wormhole effect.
- 2020‑11‑06:
Standing on our own two feet: Let's Encrypt trust anchor rollover.
- 2020‑11‑06:
Exception safety in Rust: using transient droppers to prevent memory leaks.
- 2020‑11‑06:
AMD Zen 3 Ryzen deep dive review.
- 2020‑11‑06:
The elements of style: Unix as literature.
- 2020‑11‑05:
Draft design for generic type parameters in Golang.
- 2020‑11‑05:
Linear scan register allocation.
- 2020‑11‑05:
A first look at the Erlang JIT.
- 2020‑11‑05:
UK's £55M MAST Upgrade fusion experiment (Mega Amp Spherical Tokamak) has achieved first plasma.
- 2020‑11‑05:
Notes on Paxos.
- 2020‑11‑04:
BPF binaries: BTF, CO-RE, and the future of BPF perf tools.
- 2020‑11‑03:
Eight months of NixOS.
- 2020‑11‑03:
Hardware performance counter support (via rdpmc) in Rust.
- 2020‑11‑03:
How we made our SaaS homepage cookie-free.
- 2020‑11‑03:
Rust design-for-testability: a survey.
- 2020‑11‑02:
Two workers are quadratically better than one: modelling a queue with PRISM.
- 2020‑11‑02:
Extreme bioinformatics debugging.
- 2020‑11‑02:
Hyper-regional chippy traditions of Britain and Ireland.
- 2020‑11‑02:
Mac OS boot volume layout.
- 2020‑11‑01:
Flutter Web: a fractal of bad design.
- 2020‑11‑01:
NAT Slipstreaming: firewall bypass using SIP ALG.
- 2020‑11‑01:
Using TLA+ to understand a real-world glibc bug.
- 2020‑11‑01:
WordTsar: a Wordstar clone.
- 2020‑11‑01:
WordPerfect for DOS on modern computers.
- 2020‑10‑31:
Dijkstra: the man who carried computer science on his shoulders.
- 2020‑10‑30:
3 Gbps ethernet on the Raspberry Pi compute module.
- 2020‑10‑30:
It's called Medium because it's neither rare nor well done.
- 2020‑10‑30:
A12: advancing network transparency on the desktop.
- 2020‑10‑30:
XPath injection issues are severely underrated.
- 2020‑10‑30:
A tale of a build system bug. (ninja/gcc/Windows)
- 2020‑10‑30:
Experience in production with Flask, Bottle, Tornado, and Twisted.
- 2020‑10‑30:
For complex applications (IDEs) Rust is as productive as Kotlin.
- 2020‑10‑30:
Using a 3D printer "defect" to create a new quasi-textile.
- 2020‑10‑30:
I hate GIS coordinate systems!
- 2020‑10‑30:
Errol: binary floating-point to decimal string conversion algorithm.
- 2020‑10‑30:
Errol: an always correct method for printing floating-point numbers.
- 2020‑10‑29:
SRI and Cambridge University release CHERI software stack for Arm Morello.
- 2020‑10‑29:
The remarkable number 1/89 and the Fibonacci series.
- 2020‑10‑29:
Scaling attacks to hide/spoof one image in another.
- 2020‑10‑28:
Optimizing a join using LIKE by using PostgreSQL FTS instead.
- 2020‑10‑28:
EDSAC 1951 (YouTube)
- 2020‑10‑28:
The reverse tabnabbing vulnerability in HTML.
- 2020‑10‑28:
Verona: a research programming language for concurrent ownership.
- 2020‑10‑27:
Better performance with Envoy HTTP connection pooling for PHP applications at Wikipedia.
- 2020‑10‑27:
plocate: a much faster locate.
- 2020‑10‑27:
samurai: a ninja-compatible build tool written in C.
- 2020‑10‑27:
Why was Rachel Whiteread's House demolished?
- 2020‑10‑27:
OpenMPTCProuter uses multipath TCP (MPTCP) to aggregate multiple Internet connections with OpenWrt.
- 2020‑10‑27:
Covenants, easements, and wayleaves: the hidden urban interfaces of the London Underground.
- 2020‑10‑27:
Improving PostgreSQL connection scalability with faster snapshots.
- 2020‑10‑26:
Standard ML in 2020.
- 2020‑10‑25:
PARI/GP: a computer algebra system for fast computations in number theory.
- 2020‑10‑25:
GAP: a system for computational discrete algebra.
- 2020‑10‑24:
Efficient text editing on a PDP-10.
- 2020‑10‑24:
Four dangerous animals of product development.
- 2020‑10‑24:
Static single assignment for functional programmers.
- 2020‑10‑24:
A new map of the standard model of particle physics.
- 2020‑10‑24:
Rejuvenating autoconf.
- 2020‑10‑24:
Ungrammar: a DSL for rust-analyzer's concrete syntax tree.
- 2020‑10‑24:
Understanding static single assignment (SSA) form.
- 2020‑10‑24:
Compiling with continuations, or without? Whatever.
- 2020‑10‑24:
Compiling without continuations.
- 2020‑10‑23:
Deprecating SHA-1 in OpenPGP.
- 2020‑10‑23:
Avoiding overload in AWS distributed systems by putting the smaller service in control.
- 2020‑10‑23:
RPKI secure BGP routing Q&A.
- 2020‑10‑23:
cson: CoffeeScript object notation.
- 2020‑10‑23:
jacl: just another configuration language.
- 2020‑10‑23:
Better than JSON?
- 2020‑10‑23:
StrictYAML.
- 2020‑10‑23:
How Apple is organized for innovation.
- 2020‑10‑23:
Journeying into XDP implementing DNS RRL.
- 2020‑10‑23:
Debugging async generator errors in Rust.
- 2020‑10‑23:
Private methods on a public trait in Rust.
- 2020‑10‑23:
Inside Rust std::io::Error.
- 2020‑10‑22:
Proving that 1 + 1 = 10 in Rust.
- 2020‑10‑22:
A pitfall of Rust's move/copy/drop semantics and zeroing data.
- 2020‑10‑22:
The story behind Markdown.
- 2020‑10‑22:
Non-generic inner functions in Rust.
- 2020‑10‑22:
Nickel: better configuration for less, inspired by Nix.
- 2020‑10‑22:
Let's build a high-performance fuzzer with GPUs!
- 2020‑10‑22:
What's new in OAuth 2.1?
- 2020‑10‑22:
AWS NLBs and mixed up TCP connections.
- 2020‑10‑22:
TPC-H performance since PostgreSQL 8.3.
- 2020‑10‑22:
PEG: ambiguity, precision, and confusion.
- 2020‑10‑21:
The TRIPS project: an explicit data graph execution (EDGE) processor.
- 2020‑10‑21:
Roofline model of computer performance for HPC applications.
- 2020‑10‑21:
The asymptotic cost of address translation on memory access time.
- 2020‑10‑21:
The myth of RAM.
- 2020‑10‑21:
Lezer: a parser system in JavaScript.
- 2020‑10‑21:
A list of attempts to make Python faster.
- 2020‑10‑20:
AWS and their billions of dollars of IPv4 addresses.
- 2020‑10‑20:
Why mmap is faster than system calls.
- 2020‑10‑20:
Validating UTF-8 in less than one instruction per byte.
- 2020‑10‑20:
The surprising impact of medium-size texts on PostgreSQL performance.
- 2020‑10‑20:
Lambda the penultimate / lambda to SKI, semantically.
- 2020‑10‑20:
Binary lambda calculus.
- 2020‑10‑20:
Assorted thoughts on Zig and Rust.
- 2020‑10‑20:
Building a computer in Conway's Game of Life.
- 2020‑10‑19:
Euler's formula: a complex guide.
- 2020‑10‑19:
The Arm64 memory tagging extension in Linux.
- 2020‑10‑19:
BlockQuicksort: avoiding branch mispredictions in Quicksort.
- 2020‑10‑19:
ips4o: in-place parallel superscalar samplesort.
- 2020‑10‑19:
The case for a learned sorting algorithm.
- 2020‑10‑19:
MONOSPACE: a JavaScript demo in 1021 bytes.
- 2020‑10‑18:
Free yourself from the Spotify desktop client with spotifyd.
- 2020‑10‑17:
Keeping secrets: Diffie-Hellman and the NSA.
- 2020‑10‑17:
What they don't tell you about demand paging in school.
- 2020‑10‑17:
Building a 10BASE5 "Thick Ethernet" network.
- 2020‑10‑17:
Cryptographic signing using ssh-keygen(1) with a FIDO authenticator.
- 2020‑10‑17:
MyST: a markdown flavor and parser for Sphinx.
- 2020‑10‑16:
So you want to build an embedded Linux system?
- 2020‑10‑16:
The unreasonable effectiveness of quasirandom sequences.
- 2020‑10‑15:
The fascinating influence of the Cyclone programming language.
- 2020‑10‑15:
Optional parameters in Rust.
- 2020‑10‑15:
Building the fastest RaptorQ (RFC6330) FEC codec in Rust.
- 2020‑10‑15:
Improving security in s2n, Amazon's TLS implementation.
- 2020‑10‑15:
Unifying the technical interview.
- 2020‑10‑14:
Room-temperature superconductivity achieved for the first time (at high pressure between diamond anvils).
- 2020‑10‑14:
libsixel: DEC terminal graphics.
- 2020‑10‑14:
Improving Bluetooth audio quality on Linux.
- 2020‑10‑13:
Applying union-find for real life performance wins.
- 2020‑10‑12:
Building the mathematical library of the future with Lean.
- 2020‑10‑12:
Overloading by return type in C++.
- 2020‑10‑11:
GPU-accelerated ODE solving in R with Julia.
- 2020‑10‑11:
Why we need a C-compatible Rust crate for bitfields.
- 2020‑10‑10:
Asterisk.
- 2020‑10‑10:
Crux: exhaustive symbolic testing for C, C++, and Rust.
- 2020‑10‑10:
Alphora-style database diagramming.
- 2020‑10‑10:
Progress report on Rust Cranelift backend.
- 2020‑10‑10:
xchg rax, rax; x64 Assembly for the advanced.
- 2020‑10‑10:
CSV parser benchmark game.
- 2020‑10‑10:
Loading a CSV file at the speed limit of NVMe storage.
- 2020‑10‑08:
The Eisel-Lemire string to double precision floating point conversion algorithm.
- 2020‑10‑08:
OLTP performance since PostgreSQL 8.3.
- 2020‑10‑08:
Using CTE to do a binary search of a large table with non-indexed correlated data in PostgreSQL.
- 2020‑10‑07:
The origin of the VM/370 time-sharing system.
- 2020‑10‑07:
zheap: reinvented PostgreSQL storage.
- 2020‑10‑07:
Notes on reviving and extending Marvin, a typeface for Visions magazine.
- 2020‑10‑07:
From its name, to its hazy origins, to its drug interactions, there's a lot going on with Grapefruit.
- 2020‑10‑07:
USB3: why it's a bit harder than USB2.
- 2020‑10‑06:
DOMPurify bypass: XSS via HTML namespace confusion.
- 2020‑10‑06:
Telharmonium: the first significant electronic musical instrument.
- 2020‑10‑06:
Q3 Linux touchpad like Macbook update.
- 2020‑10‑06:
TIME for a WTF MySQL moment.
- 2020‑10‑06:
From object algebras to tagless-final interpreters.
- 2020‑10‑06:
Cyclone Scheme: a new R7RS compiler.
- 2020‑10‑06:
FAQs on aerosol transmission of COVID-19.
- 2020‑10‑06:
Incompatible validation criteria for Ed25519.
- 2020‑10‑06:
s7: Scheme as an extension language for other applications.
- 2020‑10‑04:
Type-level programming in Rust.
- 2020‑10‑04:
How we ran a Unix-like OS (Xv6), on our home-built CPU, with our home-built C compiler.
- 2020‑10‑04:
Lambda calculus, Church numerals, and Graham's number.
- 2020‑10‑04:
Drop order in Rust: it's tricky.
- 2020‑10‑04:
A future for debugging Rust.
- 2020‑10‑04:
Revisiting a 'smaller Rust'.
- 2020‑10‑04:
Applying "make invalid states unrepresentable".
- 2020‑10‑04:
Tales from the science fiction bar-room.
- 2020‑10‑04:
Saving space (basically) for free by re-ordering columns in PostgreSQL.
- 2020‑10‑04:
Dissecting Lemire's nearly divisionless random number generator.
- 2020‑10‑04:
Magic Wand Rechargeable teardown.
- 2020‑10‑04:
SaferNode: a Python script to isolate npm inside short-lived Docker containers.
- 2020‑10‑04:
A web of trust for npm.
- 2020‑10‑04:
HOPL: an online historical encyclopaedia of programming languages.
- 2020‑10‑04:
chibicc: a small C compiler.
- 2020‑10‑04:
Lambda calculus diagrams.
- 2020‑10‑03:
Computer science metanotation is a barrier to entry.
- 2020‑10‑03:
System font typography on 8 bit micros.
- 2020‑10‑03:
Falsehoods programmers believe about map coordinates.
- 2020‑10‑03:
Compiler hardening and exploit mitigations for unsafe Rust.
- 2020‑10‑02:
Toward an API for the real numbers: exact arithmetic with decidable equality comparisons.
- 2020‑10‑01:
outflank-mailman: stop Mailman from breaking DKIM signatures.
- 2020‑09‑29:
Rob Pike on colour blindness.
- 2020‑09‑28:
FPspy: Spying on the floating point behavior of existing, unmodified scientific applications.
- 2020‑09‑28:
The weight of buildings and the raising of Chicago.
- 2020‑09‑28:
BBC Micro Elite source code and commentary.
- 2020‑09‑27:
A typed, algebraic approach to parser combinators.
- 2020‑09‑27:
Modular, composable, typed optimizations in the tagless-final style.
- 2020‑09‑26:
Guided tour of Bunnie's Precursor motherboard.
- 2020‑09‑26:
Techade quiz: A near-impossible guessing game of tech through the decades.
- 2020‑09‑25:
A PEG parser for CPython.
- 2020‑09‑25:
Using time travel to remotely debug faulty DRAM with Julia and rr.
- 2020‑09‑25:
Finding a goroutine bug with TLA+.
- 2020‑09‑25:
A pipeline made of airbags: live upgrades vs immutable infrastructure.
- 2020‑09‑24:
Traits as an emergent feature of Julia.
- 2020‑09‑24:
Bean Machine: a declarative probabilistic programming language for efficient programmable inference.
- 2020‑09‑24:
How the CPython compiler works.
- 2020‑09‑24:
Fast incremental compilation of Kotlin.
- 2020‑09‑24:
Void in Haskell is a smell.
- 2020‑09‑24:
Exploiting Tiny Tiny RSS.
- 2020‑09‑23:
Delivering 45x faster percentiles using PostgreSQL, Citus, and t-digest.
- 2020‑09‑23:
JuliaCon2020: Julia is production ready!
- 2020‑09‑23:
Haskell's children: Rust, Idris, Julia.
- 2020‑09‑23:
On YOLOsec and FOMOsec.
- 2020‑09‑22:
Data and Reality, 2nd edition.
- 2020‑09‑21:
Range: My least favorite Rust type.
- 2020‑09‑21:
John Regehr's integers in C quiz.
- 2020‑09‑21:
A new X.509 certificate chain validator for LibreSSL.
- 2020‑09‑21:
Tail call optimization and debugging.
- 2020‑09‑21:
A new backend for Cranelift: instruction selection.
- 2020‑09‑21:
Speeding up C++ compilation.
- 2020‑09‑21:
Dennis Ritchie's reflections on software research.
- 2020‑09‑20:
Why not Rust?
- 2020‑09‑20:
Taking MonetDB/e for a taxi ride.
- 2020‑09‑20:
FreeBSD's Subversion to Git migration: Why?
- 2020‑09‑20:
LLVM's getelementptr, by example.
- 2020‑09‑19:
What's the fastest way to chill your beer?
- 2020‑09‑19:
"Fake COTS" and the one-day rule.
- 2020‑09‑18:
A Cuban numbers station cryptologic mystery.
- 2020‑09‑18:
Supercomputing on Nitro in AWS cloud with Scalable Reliable Datagram (SRD).
- 2020‑09‑18:
Surfaces vs airborne: what we know now about Covid-19 transmission.
- 2020‑09‑18:
Taming nalgebra's Rustdoc.
- 2020‑09‑18:
Let's Encrypt's new ECDSA root and intermediate certificates.
- 2020‑09‑17:
DNS Flag Day 2020: what you need to know.
- 2020‑09‑17:
Maximizing DNS qname minimization.
- 2020‑09‑17:
Search and replace tricks with ripgrep.
- 2020‑09‑16:
The plot against Birmingham.
- 2020‑09‑16:
USB-C was supposed to simplify, but it's a total mess.
- 2020‑09‑16:
How America became obsessed with dips, sauces, dressings, and "food lube".
- 2020‑09‑16:
Efficient parallel and incremental parsing of practical context-free languages.
- 2020‑09‑16:
The missing datacenter OS.
- 2020‑09‑16:
Tips for PostgreSQL bulk data loading.
- 2020‑09‑16:
Reinventing virtualization with the AWS Nitro System.
- 2020‑09‑16:
A formalization and correctness proof of the CGOL language system / Pratt parser. (1975)
- 2020‑09‑16:
Differentiable dithering with gradient descent.
- 2020‑09‑15:
Which parsing approach?
- 2020‑09‑15:
Keeping time at NIST.
- 2020‑09‑15:
Debian-installer, mdadm configuration, and the bad blocks controversy.
- 2020‑09‑14:
Creating high-quality PDF/A documents using LaTeX.
- 2020‑09‑14:
What's so hard about PDF text extraction?
- 2020‑09‑13:
Diversity Explorer: ethnicity across England and Wales.
- 2020‑09‑13:
Design out waste in household electrical goods.
- 2020‑09‑12:
How GitLab.com upgraded PostgreSQL.
- 2020‑09‑11:
Getting MacOS style hotkeys working in GNU/Linux.
- 2020‑09‑10:
Leonardo da Vinci's ingenious design for a self-supporting bridge.
- 2020‑09‑10:
5 most annoying website features I face as a blind person every single day.
- 2020‑09‑09:
Hacking Ethernet out of FibreChannel cards.
- 2020‑09‑09:
Loko Scheme: an optimizing R6RS Scheme compiler.
- 2020‑09‑08:
An explainer on Ed25519 clamping.
- 2020‑09‑08:
What we didn't get: science fiction technologies that remained fictional.
- 2020‑09‑07:
How to speed up the Rust compiler one last time.
- 2020‑09‑07:
Named parameters using designated initializers in C++20.
- 2020‑09‑07:
The Capsule hash trie collections library for Java.
- 2020‑09‑06:
Lessons from the GNOME patent troll incident.
- 2020‑09‑05:
TOTP in 20 lines of Python.
- 2020‑09‑05:
The origins of XXX as a FIXME comment marker.
- 2020‑09‑04:
Some historical reflections on NSFNET.
- 2020‑09‑04:
Don't forget: the plural of anecdote is data.
- 2020‑09‑04:
Property testing and formal verification / symbolic execution in Rust with KLEE.
- 2020‑09‑03:
A demonstrator's guide to helmets.
- 2020‑09‑03:
The femme's guide to riot fashion: this season's hottest looks for the discerning anarchist.
- 2020‑09‑02:
Butler Lampson's updated and expanded hints and principles for computer system design.
- 2020‑09‑02:
On modern hardware the min-max heap beats a binary heap.
- 2020‑09‑02:
Write tracking for Nim.
- 2020‑09‑02:
The problem with C compatibility in C++.
- 2020‑09‑02:
jsonptr: using the wuffs memory-safe, zero-allocation JSON decoder.
- 2020‑09‑02:
The wuffs programming language: wrangling untrusted file formats safely.
- 2020‑09‑01:
Lunar: a Mac OS X utility to adjust the brightness of your external display.
- 2020‑09‑01:
PostgreSQL 13: don't let replication slots kill your primary.
- 2020‑09‑01:
This is not a sonic boom, it's a vapor cone.
- 2020‑09‑01:
Taking a look at Gerät 32620: the machine that powered numerous number stations.
- 2020‑09‑01:
How Arlo got injected into Ruby.
- 2020‑09‑01:
Understanding the X.500 directory.
- 2020‑08‑31:
Cracking Dlang Phobos pseudorandom UUIDs.
- 2020‑08‑31:
WebAssembly reference types in Wasmtime.
- 2020‑08‑31:
Why are there 5280 feet in a mile?
- 2020‑08‑31:
Sum types in Julia and Rust.
- 2020‑08‑30:
Python daemon ate my syslog message.
- 2020‑08‑30:
contained.af CTF.
- 2020‑08‑29:
WebAssembly troubles: WebAssembly is not a stack machine.
- 2020‑08‑29:
Travel demand modeling: the broken algorithm that poisoned American transportation.
- 2020‑08‑28:
Objective Rust.
- 2020‑08‑28:
Finger trees explained anew, and slightly simplified.
- 2020‑08‑28:
100 years to solve an integral: a history of the Mercator projection and the integral of the secant.
- 2020‑08‑28:
Rust-style futures in C with libuv.
- 2020‑08‑28:
Using Microsoft Word with git and pandoc.
- 2020‑08‑27:
PiSight: a Raspberry Pi inside an Apple iSight webcam.
- 2020‑08‑27:
Making QUIC quicker with NIC offload.
- 2020‑08‑27:
The design and implementation of BIND, a "Domain Names" resolver.
- 2020‑08‑27:
The design and implementation of the Berkeley Internet Name Domain (BIND) servers.
- 2020‑08‑27:
BIND: the Berkeley Internet Name Domain server.
- 2020‑08‑26:
UMASH: a fast and universal enough hash.
- 2020‑08‑26:
HTMLified C standard ISO/IEC 9899:2017.
- 2020‑08‑26:
PCI Express retimers vs. redrivers: an eye-popping difference.
- 2020‑08‑25:
Upgrading GitHub to Ruby 2.7.
- 2020‑08‑25:
Functional programming in m4.
- 2020‑08‑25:
Oracle to PostgreSQL: cursors and common table expressions.
- 2020‑08‑25:
Signifier: a brutalist response to the 17th century Oxford Fell typefaces.
- 2020‑08‑25:
Keeping CALM: when is distributed consistency easy?
- 2020‑08‑25:
Updating the PostgreSQL root.crt file for TLS client auth.
- 2020‑08‑24:
Recent advances in IPv6 security: Addressing.
- 2020‑08‑24:
Writing a fuzzer test case generator in Rust for a programming language such as Wasm.
- 2020‑08‑24:
BPF CO-RE: compile once, run everywhere for BPF portability.
- 2020‑08‑24:
Draw your own fourier epicycles.
- 2020‑08‑24:
Challenge to scientists: does your ten-year-old code still run?
- 2020‑08‑24:
Building resilient services at Amazon Prime Video with chaos engineering.
- 2020‑08‑24:
Here I stand, free: noexcept allocators and an inclusive C++ STL.
- 2020‑08‑24:
A clean start for the web?
- 2020‑08‑24:
Javascript generators, meet XPath.
- 2020‑08‑24:
Incident updates, interruptions and the 30 minute window.
- 2020‑08‑24:
The BLISS programming language: a history.
- 2020‑08‑24:
Never run `python` in your downloads folder.
- 2020‑08‑23:
As above, so below: Bare metal Rust generics.
- 2020‑08‑23:
Five stages of accepting constructive mathematics.
- 2020‑08‑22:
Mesh: a compacting memory allocator for C/C++.
- 2020‑08‑22:
Understanding memory fragmentation in GHC Haskell.
- 2020‑08‑21:
How NAT traversal works.
- 2020‑08‑21:
Nyxt: an extensible keyboard-oriented web browser written in Common LISP.
- 2020‑08‑21:
Why did Mozilla remove XUL add-ons from Firefox?
- 2020‑08‑21:
Google Chromium's impact on root DNS traffic.
- 2020‑08‑21:
Adding a microSD slot to a reMarkable tablet.
- 2020‑08‑21:
ARX, Arthur and RISC OS.
- 2020‑08‑20:
Code smell: concrete abstraction.
- 2020‑08‑20:
How the Linux kernel starts on ARM32.
- 2020‑08‑20:
Can't you just right click? Running unsigned code on Mac OS X.
- 2020‑08‑20:
A deep dive into the official Docker image for Python.
- 2020‑08‑20:
A documentation system: tutorials / howtos / reference / explanation.
- 2020‑08‑19:
Leading-trim: a future CSS spec for better vertical spacing in digital typography.
- 2020‑08‑19:
How to contact Google SRE by dropping a shell in Cloud SQL.
- 2020‑08‑19:
Evaluating TCP BBRv2 on the Dropbox edge network.
- 2020‑08‑19:
Contention adapting search tree: Erlang's new scalable ETS ordered set data structure.
- 2020‑08‑19:
Open problems in robotics.
- 2020‑08‑19:
Speeding up json parsing in Golang.
- 2020‑08‑19:
Switching from i3 to Sway on Ubuntu 20.04.
- 2020‑08‑19:
The case of the top secret iPod.
- 2020‑08‑18:
The medieval university duopoly in England.
- 2020‑08‑18:
How to break everything by fuzz testing.
- 2020‑08‑18:
Fuzzing a C/C++ API with DeepState.
- 2020‑08‑18:
Testing GNU coreutils with KLEE.
- 2020‑08‑18:
Measuring the coverage achieved by symbolic execution.
- 2020‑08‑17:
Responsible and effective bugfinding.
- 2020‑08‑17:
Using a Yubikey as a touchless, magic unlock key for Linux.
- 2020‑08‑17:
Proposed register-based Golang calling convention.
- 2020‑08‑17:
A first look at IPv4 transfer market misuse.
- 2020‑08‑17:
A 35-year-old bug in patch found during the 2.11BSD restoration project.
- 2020‑08‑16:
The Gartner hype cycle is ... hype.
- 2020‑08‑16:
Error recovery with parser combinators, using Rust and nom.
- 2020‑08‑16:
daScript: a high performance scripting language.
- 2020‑08‑15:
How the Intel 8086 distributes power and clock signals.
- 2020‑08‑14:
The optical mouse, and an architectural methodology for smart digital sensors. (Xerox PARC, 1981)
- 2020‑08‑14:
Constructive vs predicative data types.
- 2020‑08‑14:
Types as axioms, or: playing god with static types.
- 2020‑08‑14:
Netgpu and the hazards of proprietary Linux kernel modules.
- 2020‑08‑14:
The newspaper of the air: early experiments with radio facsimile.
- 2020‑08‑14:
DNS problems with conntrack and Kubernetes.
- 2020‑08‑14:
Mpemba effect: what conditions make hot water freeze faster than cold water?
- 2020‑08‑13:
Rust does not have a stable ABI.
- 2020‑08‑13:
Interactive HTML trees with no JavaScript and no CSS.
- 2020‑08‑13:
Handles are the better pointers.
- 2020‑08‑13:
A guide to contiguous data in Rust.
- 2020‑08‑12:
Linux eBPF projects and documentation.
- 2020‑08‑12:
Building a better Golang linker.
- 2020‑08‑11:
Dorking: how to find anything on the web.
- 2020‑08‑11:
Take a virtual tour of ORNL's supercomputer center.
- 2020‑08‑11:
Exposing and circumventing China's censorship of TLS/1.3 ESNI.
- 2020‑08‑10:
Surviving Rust async interfaces.
- 2020‑08‑10:
The great American sci-fi utopia or dystopia? (Kim Stanley Robinson)
- 2020‑08‑10:
9 crappy paradoxes that shape nonprofit and philanthropy.
- 2020‑08‑09:
UK radon maps.
- 2020‑08‑09:
Tracking running processes on Linux.
- 2020‑08‑09:
EdgeQL: we can do better than SQL.
- 2020‑08‑09:
The '-ize' have it!
- 2020‑08‑08:
A star went supernova in 1987. Where is it now?
- 2020‑08‑07:
Hello! You've been referred here because you're wrong about section 230 of the Communications Decency Act.
- 2020‑08‑07:
How hard is it to type-check your favorite language?
- 2020‑08‑07:
After nearly a century, elusive CNO neutrinos from the Sun are finally detected.
- 2020‑08‑07:
Why shaving dulls even the sharpest of razors.
- 2020‑08‑07:
crush: a command line shell that is also a powerful modern programming language.
- 2020‑08‑07:
Steve Crocker on the history of RFCs.
- 2020‑08‑06:
lacc: a simple, self-hosting C89 compiler.
- 2020‑08‑06:
The Myrddin programming language.
- 2020‑08‑06:
cproc: a C11 compiler using QBE as a backend.
- 2020‑08‑06:
A project to restore Interlisp-D to usability on modern OSes.
- 2020‑08‑06:
Monads and intensionality: Lucid is not an abberation.
- 2020‑08‑06:
Ten takeaways from ten years at Retraction Watch.
- 2020‑08‑05:
TikTok and the Sorting Hat.
- 2020‑08‑05:
What alternate reality games can teach us about QAnon.
- 2020‑08‑05:
Myth and monolith: the Nine Elms Cold Store.
- 2020‑08‑04:
Syntax changes in lambda expressions between C++11 and C++20.
- 2020‑08‑04:
Swift type checking is undecidable.
- 2020‑08‑03:
The UX of Lego interface panels.
- 2020‑08‑03:
Lecture notes on static program analysis.
- 2020‑08‑03:
Julia 1.5 release highlights.
- 2020‑08‑03:
COVID-19: We need to talk about airborne transmission and ventilation.
- 2020‑08‑02:
Rich: a Python library for rich text and beautiful formatting in the terminal.
- 2020‑08‑02:
How a cheese goes extinct.
- 2020‑08‑02:
Time traveling in Haskell: how it works and how to use it.
- 2020‑08‑02:
Measuring and examining TLS 1.3, IPv4, and IPv6 performance.
- 2020‑08‑02:
Measuring linux performance: how to avoid typical mistakes.
- 2020‑08‑02:
The lost history of PReP: Windows NT 3.5x on PowerPC and the RS/6000 40p.
- 2020‑08‑02:
Why are we using black box models in AI when we don't need to?
- 2020‑08‑02:
Low latency tuning guide for x86 Linux systems.
- 2020‑08‑02:
GPU.js: GPU accelerated JavaScript.
- 2020‑08‑02:
Hacking up a fix for the broken AppleTalk kernel module in Linux 5.1 and newer.
- 2020‑08‑02:
Homemade pasta.
- 2020‑08‑01:
How to harvest credit card numbers and passwords from lots of web sites.
- 2020‑08‑01:
WordSafety: check a name for unwanted meanings in foreign languages.
- 2020‑08‑01:
Compressing authority with cryptographic accumulators.
- 2020‑08‑01:
The politics of optimism.
- 2020‑08‑01:
Defragmenting DNS: determining the optimal maximum UDP response size for DNS.
- 2020‑07‑31:
Can I use CSS and HTML in email?
- 2020‑07‑31:
Apple emails reveal internal debate on right to repair.
- 2020‑07‑31:
Why are plants green? To reduce the noise in photosynthesis.
- 2020‑07‑30:
How Dropbox migrated from Nginx to Envoy.
- 2020‑07‑30:
Refactoring the FreeBSD kernel with Checked C.
- 2020‑07‑30:
Lockless algorithms for mere mortals?
- 2020‑07‑30:
Solving the expiring. X.509 root CA certificate-mageddon, partly at least.
- 2020‑07‑30:
Parallel stream processing with Rayon in Rust.
- 2020‑07‑30:
If language began in the hands, why did it ever leave?
- 2020‑07‑30:
Sizedness in Rust.
- 2020‑07‑30:
An introduction to data oriented design with Rust.
- 2020‑07‑30:
Speculative compilation in WebKit JavaScriptCore.
- 2020‑07‑30:
Pluto's dark side spills its secrets, including hints of a hidden ocean.
- 2020‑07‑30:
PostgreSQL 9.3's powerful new join type: LATERAL.
- 2020‑07‑30:
Some SQL tricks from an Application DBA.
- 2020‑07‑30:
RBS type signature files in Ruby 3.
- 2020‑07‑29:
Unicode normalization in PostgreSQL 13.
- 2020‑07‑29:
In October 1953, Paul Niquette coined the word 'software'.
- 2020‑07‑29:
Historic Usenet archive is disappearing from Google Groups.
- 2020‑07‑28:
The inescapable whiteness of Avatar: The Legend of Korra, and its uncomfortable implications.
- 2020‑07‑28:
DINR2020: DNS and Internet Naming Research Directions workshop.
- 2020‑07‑28:
Why inter-domain multicast now makes sense.
- 2020‑07‑28:
When Unix learned to reboot(2).
- 2020‑07‑28:
Mapping a universe of open source software: the Nixpkgs dependency graph.
- 2020‑07‑27:
Can applications recover from fsync() failures?
- 2020‑07‑27:
Apache Arrow and the 10 things I hate about pandas.
- 2020‑07‑27:
What is Apache Arrow?
- 2020‑07‑27:
Highlights from git 2.28.
- 2020‑07‑27:
Fanout and latency percentiles in distributed systems.
- 2020‑07‑27:
Monads and mom.
- 2020‑07‑27:
remake: GNU make with enhanced tracing, error reporting, debugging, profiling and more.
- 2020‑07‑27:
Compiling with a sea of nodes.
- 2020‑07‑27:
Should I block ICMP?
- 2020‑07‑27:
CVE-2020-13777 GnuTLS passive plaintext recovery vulnerability.
- 2020‑07‑26:
Preliminary benchmarking results for a Haskell I/O manager backend based on io_uring.
- 2020‑07‑26:
Colorize your CLI.
- 2020‑07‑26:
Corecursion and coinduction: what they are and how they relate to recursion and induction.
- 2020‑07‑26:
The history, status, and future of FPGAs.
- 2020‑07‑26:
Why people tend to appreciate men's humor so much more than women's.
- 2020‑07‑25:
Cryptography is not magic.
- 2020‑07‑25:
Bloom filters debunked: dispelling 30 years of bad math with Coq!
- 2020‑07‑24:
Meritocracy is not only false, it's bad for you.
- 2020‑07‑24:
Shadow attacks: hiding and replacing content in signed PDFs.
- 2020‑07‑24:
Cold showers on overhyped topics in computer science.
- 2020‑07‑24:
TechEmpower web framework benchmarks.
- 2020‑07‑24:
Demystifying MLsub: the simple essence of algebraic subtyping.
- 2020‑07‑23:
Why is CSS the way it is?
- 2020‑07‑23:
Buzzy: dependency management for C.
- 2020‑07‑23:
Exploring Algol 68 in the 21st century.
- 2020‑07‑23:
New features in gnuplot 5.4.
- 2020‑07‑22:
MineSweeper implemented in CSS and HTML and no JavaScript.
- 2020‑07‑22:
How to check the status of Rust features.
- 2020‑07‑22:
caniuse.rs: Rust feature search.
- 2020‑07‑22:
Next steps for single ownership and RAII. (C++/Vale/Rust)
- 2020‑07‑21:
The null process.
- 2020‑07‑21:
UTN #39: bidi brackets for dummies.
- 2020‑07‑21:
Essays on programming I think about a lot.
- 2020‑07‑21:
Lisp: the many faces of an undying programming language.
- 2020‑07‑21:
Syntax highlighting is a waste of an information channel.
- 2020‑07‑21:
An explanation of Rust's module system.
- 2020‑07‑20:
Certificate Transparency: a bird's-eye view.
- 2020‑07‑20:
Three architectures for a responsive IDE.
- 2020‑07‑20:
Journeying into XDP (express data path) for in-kernel eBPF DNS acceleration.
- 2020‑07‑20:
Ireland donates its COVID tracker app to Linux Foundation.
- 2020‑07‑20:
The quest for very wide outlines: optimized GPU silhouettes.
- 2020‑07‑19:
The cpio trailer problem.
- 2020‑07‑19:
How Newton's Philosophiæ Naturalis Principia Mathematica came to be published.
- 2020‑07‑17:
Repurposing FPGA-based products as development kits.
- 2020‑07‑17:
Unicode for Mayan hieroglyphs.
- 2020‑07‑17:
Straightened trees.
- 2020‑07‑17:
The impact of Heartbleed on OpenSSL's development practices.
- 2020‑07‑17:
DDR5 memory specification released.
- 2020‑07‑16:
Shipping const generics for Rust in 2020.
- 2020‑07‑16:
Patricia Crowther inspired one of the first hit video games by mapping the world's longest cave.
- 2020‑07‑16:
Hacking Reolink IP cameras for fun and profit.
- 2020‑07‑16:
Python pickle's nine flaws.
- 2020‑07‑16:
IPv6 and the DNS.
- 2020‑07‑16:
Systems Performance: Enterprise and the Cloud, 2nd Edition.
- 2020‑07‑16:
Back into FreeBSD's wireless stack and 802.11ac.
- 2020‑07‑16:
Introducing the GitHub availability report.
- 2020‑07‑16:
Lezer: a JavaScript parser generator for the CodeMirror 6 editor.
- 2020‑07‑16:
What's new in Lua 5.4.
- 2020‑07‑16:
Why even unused data needs to be valid in Rust.
- 2020‑07‑16:
Two beautiful Rust programs.
- 2020‑07‑15:
PgTyped: raw SQL in TypeScript with guaranteed type-safety.
- 2020‑07‑15:
Rewriting FORTRAN software in Rust.
- 2020‑07‑14:
In search of 2.11BSD, as originally released.
- 2020‑07‑14:
MessagePack vs CBOR (RFC7049).
- 2020‑07‑14:
SIGred: exploiting a 17 year-old bug in Windows DNS servers.
- 2020‑07‑14:
Etcd, or, why modern software makes me sad.
- 2020‑07‑14:
How Futhark implements array bounds checking on the GPU.
- 2020‑07‑14:
SSSE3 fast popcount.
- 2020‑07‑14:
The GDPR explained by Americans.
- 2020‑07‑14:
Understanding the F5 Networks BIG-IP remote code execution vulnerability CVE-2020-5902.
- 2020‑07‑14:
Too many objects: Reducing memory overhead from Python instances.
- 2020‑07‑14:
Color e-ink displays are arriving soon in ebook and e-note devices.
- 2020‑07‑14:
Why are LED indicator lights (especially blue ones) so annoying?
- 2020‑07‑14:
Making system(3) and popen(3) use posix_spawn(3) on NetBSD.
- 2020‑07‑13:
A PostgreSQL developer's .psqlrc
- 2020‑07‑13:
pgx: build PostgreSQL extensions with Rust.
- 2020‑07‑13:
Fuzzing rumpkernel syscalls.
- 2020‑07‑13:
Optimizations in C++ compilers: a practical journey.
- 2020‑07‑13:
The rectangle rule for code formatting style.
- 2020‑07‑13:
The computing demands of deep learning are so great that progress is stalling.
- 2020‑07‑13:
ARM64 popcount in Golang and assembler.
- 2020‑07‑13:
ELF statifier: create a static executable from a binary and its libraries.
- 2020‑07‑12:
When master/slave does not make sense.
- 2020‑07‑12:
Xerox 48-bit absolute internet and Ethernet host numbers. (1981)
- 2020‑07‑12:
sed-bin: a sed to C translator written in sed.
- 2020‑07‑12:
Land of monopolists: private equity 'roll-ups' hit virtually everything.
- 2020‑07‑12:
Infrastructure: our cyborg collective body, ourselves.
- 2020‑07‑12:
When SimCity got serious: the story of Maxis Business Simulations and SimRefinery.
- 2020‑07‑11:
mbeddr: integrated and extensible languages for embedded software, plus an IDE.
- 2020‑07‑11:
The Frink is good, the unit is evil.
- 2020‑07‑10:
A history of Usenet and FidoNet.
- 2020‑07‑09:
The Prancing Pony vending machine at SAIL.
- 2020‑07‑09:
The top types any and unknown in TypeScript.
- 2020‑07‑09:
C++ hashmaps benchmarks.
- 2020‑07‑09:
The "smol" Rust async runtime.
- 2020‑07‑09:
Low accuracy solar position equations.
- 2020‑07‑09:
Sunrise / sunset algorithm.
- 2020‑07‑09:
FPGA softcore SoC shootout.
- 2020‑07‑08:
GNU: a heuristic for bad cryptography.
- 2020‑07‑08:
cwrap: testing Samba (or your full software stack) on a single machine.
- 2020‑07‑08:
Symbolic execution with SymCC: don't interpret, compile!
- 2020‑07‑08:
yubikey-agent: a seamless ssh-agent for YubiKeys.
- 2020‑07‑08:
ip2unix: turn IP sockets into Unix domain sockets.
- 2020‑07‑08:
Tech confronts its use of the labels 'master' and 'slave'.
- 2020‑07‑07:
Google Common Lisp style guide.
- 2020‑07‑07:
The Pyret Code: a rationale for the Pyret programming language.
- 2020‑07‑07:
Don't Panic! Better, fewer, syntax errors for LR parsers.
- 2020‑07‑07:
Statically sized higher-kinded polymorphism.
- 2020‑07‑07:
An autoscaling-related outage at Slack.
- 2020‑07‑07:
1:60 scale model of a Boeing 777, made entirely from manila folders.
- 2020‑07‑07:
Division by zero in type theory: a FAQ.
- 2020‑07‑06:
Small strings in Rust.
- 2020‑07‑06:
Licklider's memorandum for members and affiliates of the intergalactic computer network. (1963)
- 2020‑07‑06:
Behind the scenes at the Marmite factory in Burton-on-Trent.
- 2020‑07‑06:
UASP makes Raspberry Pi 4 disk IO 50% faster.
- 2020‑07‑04:
Noisia: a harmful workload generator for PostgreSQL.
- 2020‑07‑04:
Hamilton on film now is a very different experience than the Broadway show was then.
- 2020‑07‑04:
Many newsrooms are now capitalizing the B in Black. Here are some of the people who made that happen.
- 2020‑07‑04:
Websites that look like desktop GUIs.
- 2020‑07‑04:
The unplanned impact of mathematics.
- 2020‑07‑03:
Code only says what it does.
- 2020‑07‑03:
BLOB storage in PostgreSQL.
- 2020‑07‑02:
Encrypted DNS support in iOS 14 and macOS 11.
- 2020‑07‑02:
The alias method for efficiently sampling from a discrete probability distribution.
- 2020‑07‑02:
Weighted round robin / weighted random integers with the golden ratio low discrepancy sequence.
- 2020‑07‑02:
On the closing of Living Computers: Museum+Labs.
- 2020‑07‑02:
Generics for Golang.
- 2020‑07‑02:
Taking over Azure DevOps accounts with 1 click using a subdomain takeover.
- 2020‑07‑01:
Complete spatial safety for C and C++ using CHERI capabilities.
- 2020‑07‑01:
Implementing the exponential function.
- 2020‑07‑01:
Join strategies and performance in PostgreSQL.
- 2020‑07‑01:
Inside Apple Lightning.
- 2020‑07‑01:
Spies, lies, and stonewalling: what it's like to report on Facebook.
- 2020‑07‑01:
The ARM Morello board: porting experimental capability extensions from CHERI-MIPS.
- 2020‑07‑01:
Getting to the bottom of Noether's theorem.
- 2020‑07‑01:
Raspberry Pi 4 PCIe bridge "chip".
- 2020‑07‑01:
Rendering multimedia in pure C.
- 2020‑07‑01:
What is Zig's “colorblind” async/await?
- 2020‑07‑01:
What is the Scudo hardened allocator? (used by LLVM sanitizers and Android)
- 2020‑06‑30:
Argdown: A simple syntax for complex argumentation.
- 2020‑06‑30:
What is prototype pollution in JavaScript?
- 2020‑06‑30:
Why aren't regular expressions a lingua franca? An empirical study of re-use and portability.
- 2020‑06‑30:
To what does the harmonic series converge? (in IEEE754 floating point)
- 2020‑06‑29:
A few more reasons Rust compiles slowly.
- 2020‑06‑29:
Why birds can fly over Mount Everest.
- 2020‑06‑29:
Understand Wi-Fi 4/5/6/6E (802.11 n/ac/ax).
- 2020‑06‑29:
Minkowski asteroids.
- 2020‑06‑28:
Whither chroot?
- 2020‑06‑28:
Roy Fielding's misappropriated REST dissertation.
- 2020‑06‑28:
Implementing a type-safe printf in Rust.
- 2020‑06‑28:
Property-based testing in Rust with Proptest.
- 2020‑06‑28:
String formatting is unreasonably expensive for embedded Rust.
- 2020‑06‑28:
ELF: better symbol lookup via DT_GNU_HASH.
- 2020‑06‑27:
Examining ARM vs x86 memory models with Rust.
- 2020‑06‑25:
World capitals Voronoi map.
- 2020‑06‑25:
Implementations for Gray code encoding and decoding.
- 2020‑06‑25:
Query-based compiler architectures.
- 2020‑06‑25:
Zealandia: Earth's 8th continent.
- 2020‑06‑24:
Exploiting an Envoy http proxy heap vulnerability.
- 2020‑06‑24:
Control theory for fun and profit.
- 2020‑06‑24:
Path building vs path verifying X.509 certificate validation implementation showdown.
- 2020‑06‑24:
Faster integer parsing.
- 2020‑06‑24:
The largest city in each 10x10 degree latitude/longitude box.
- 2020‑06‑24:
Incommensurability: the structure of a programming language revolution.
- 2020‑06‑24:
What I've learnt so far about writing research papers.
- 2020‑06‑24:
Indexing JSONB columns in PostgreSQL.
- 2020‑06‑24:
Iceland's CO2 emissions could be reduced by 30% by replacing carbon electrodes in aluminium smelters.
- 2020‑06‑24:
Announcing Perl 7: it's just Perl 5 with more modern defaults.
- 2020‑06‑24:
GRIN: LLVM-based whole program optimizer for lazy and strict functional languages.
- 2020‑06‑24:
Transport for London's impossible finances during the pandemic.
- 2020‑06‑23:
Is WebP really better than JPEG?
- 2020‑06‑23:
Oilpan: high-performance garbage collection for C++ in V8.
- 2020‑06‑23:
Being glue.
- 2020‑06‑23:
Stretching the Commodore 64 palette.
- 2020‑06‑23:
Cheap tricks for high-performance Rust.
- 2020‑06‑23:
Fujitsu's Fugaku and Arm A64FX in the fastest supercomputer at 415 petaFLOPs.
- 2020‑06‑23:
Ego graphs and the Google 'vs' trick.
- 2020‑06‑23:
Rust's huge compilation units.
- 2020‑06‑22:
The archetype of a message-passing bug in Rust.
- 2020‑06‑22:
Measuring route origin validation.
- 2020‑06‑22:
Maersk, notPetya, and me.
- 2020‑06‑20:
Why you hate contemporary architecture.
- 2020‑06‑20:
Everything I've learned about solar storm risk and EMP attacks.
- 2020‑06‑20:
Discovering Dennis Ritchie's lost dissertation.
- 2020‑06‑19:
Errors in Rust: a deep dive.
- 2020‑06‑19:
Memory consistency models: a tutorial.
- 2020‑06‑19:
A concise guide to the Golang generics draft design.
- 2020‑06‑19:
Linear types for Haskell are merged into GHC.
- 2020‑06‑19:
The Go+ language for data science.
- 2020‑06‑19:
poica: algebraic data types with pattern matching and type introspection for C.
- 2020‑06‑18:
Consistency models for concurrent and distributed systems.
- 2020‑06‑18:
The Apollo 11 lunar ranging experiment at the Lick Observatory.
- 2020‑06‑18:
The magnetic amplifier: a lost technology of the 1950s.
- 2020‑06‑17:
Oracle to PostgreSQL: basic architecture.
- 2020‑06‑17:
TERF wars: why transphobia has no place in feminism.
- 2020‑06‑17:
Composite data type performance issues in PostgreSQL.
- 2020‑06‑16:
The next step for generics in Golang.
- 2020‑06‑16:
How browsers work: behind the scenes of modern web browsers.
- 2020‑06‑16:
Generics and compile time in Rust.
- 2020‑06‑16:
Understanding user management in PgBouncer.
- 2020‑06‑16:
Intel's port 7 AGU blunder.
- 2020‑06‑15:
Dumbindent: because 93% of the time was spent in clang-format.
- 2020‑06‑15:
The Postgres and Illustra codelines.
- 2020‑06‑15:
Unix® certified products.
- 2020‑06‑15:
Looking back at Postgres.
- 2020‑06‑15:
Guix further reduces bootstrap seed to 60MB.
- 2020‑06‑14:
META II: a syntax-oriented compiler writing language. (1964)
- 2020‑06‑14:
ACM HOPL IV proceedings.
- 2020‑06‑14:
Intel vs AWS Graviton ARM performance for MinIO S3-compatible object storage.
- 2020‑06‑14:
The origins of Objective-C at PPI/Stepstone and its evolution at NeXT.
- 2020‑06‑14:
Fast 2D rendering on GPU.
- 2020‑06‑13:
fortraith: evaluate Forth at compile time using Rust traits.
- 2020‑06‑13:
Bugs found in database management systems with SQLancer.
- 2020‑06‑13:
Bicycle geometry terminology.
- 2020‑06‑12:
Event Tracing for Windows: the worst API ever made.
- 2020‑06‑12:
Jepsen: PostgreSQL 12.3.
- 2020‑06‑12:
Memory-safety challenge considered solved? An empirical study of Rust CVEs.
- 2020‑06‑12:
The story of tail call optimization in Rust.
- 2020‑06‑12:
How to implement search-by-colour using Color Thief and PostgreSQL.
- 2020‑06‑12:
Async Python is not faster.
- 2020‑06‑12:
V8's RegExp engine in SpiderMonkey.
- 2020‑06‑12:
Graph and tree traversals in Rust.
- 2020‑06‑12:
Bringing my Emacs from the past.
- 2020‑06‑12:
Essential and relevant: a unit test balancing act.
- 2020‑06‑12:
In search of the original Fortran compiler.
- 2020‑06‑12:
A history of the LISP 2 project.
- 2020‑06‑11:
Unicode security considerations.
- 2020‑06‑11:
Merkle trees and build systems with OSTree and ninja.
- 2020‑06‑11:
Flat UI elements attract less attention and cause uncertainty.
- 2020‑06‑11:
Speeding up a Git monorepo.
- 2020‑06‑11:
Global kernel locks in Mac OS X APFS.
- 2020‑06‑08:
Failover replication slots for PostgreSQL.
- 2020‑06‑08:
Bifrost meets GNOME: Onward and upward to zero graphics blobs.
- 2020‑06‑08:
The pain points of Haskell: a practical summary.
- 2020‑06‑08:
Getting hands-on with io_uring using Golang.
- 2020‑06‑06:
USB-C is still a mess.
- 2020‑06‑06:
Every Jurassic Park dinosaur illustrated with modern science.
- 2020‑06‑06:
How to organize your Rust tests.
- 2020‑06‑05:
printf-tac-toe, and a guide to printf-oriented programming.
- 2020‑06‑05:
Featherweight Golang.
- 2020‑06‑04:
Modern router architecture and IPv6.
- 2020‑06‑04:
Overcoming the challenges of IPv6 support in BIND.
- 2020‑06‑03:
Testing Rust with manual coverage marks.
- 2020‑06‑03:
Autovectorization for AVX and AVX2 in Rust.
- 2020‑06‑03:
Fuzzing Sequoia-PGP.
- 2020‑06‑03:
Programming Servo: integrating streams.
- 2020‑06‑03:
Drawing a Sierpiński triangle with recursive SQL and SVG.
- 2020‑06‑03:
Locks in PostgreSQL.
- 2020‑06‑03:
Removing PostgreSQL bottlenecks caused by high traffic.
- 2020‑06‑03:
Software development as advanced damage control.
- 2020‑06‑03:
The rise and fall of commercial Smalltalk.
- 2020‑06‑03:
A Smalltalk 80 implementation and tools.
- 2020‑06‑03:
A Kea developer's take on IPv6 and DHCP.
- 2020‑06‑02:
Die analysis of the 8087 math coprocessor's fast bit shifter.
- 2020‑06‑02:
IPv6 and Rust.
- 2020‑06‑02:
Book review: the origin of consciousness in the breakdown of the bicameral mind.
- 2020‑05‑31:
List of well-known web sites that port scan their visitors.
- 2020‑05‑31:
Hoare's rebuttal and bubble sort's comeback: a fast quicksort.
- 2020‑05‑29:
The radix 2^51 trick.
- 2020‑05‑29:
Algol 60 implementation. (1964)
- 2020‑05‑29:
Oxidizing the technical interview.
- 2020‑05‑29:
40th anniversary of uuencode.
- 2020‑05‑28:
What science can tell us about C and C++'s security.
- 2020‑05‑27:
ISO 7000 graphical symbols for use on equipment.
- 2020‑05‑27:
What is FETCH FIRST WITH TIES in PostgreSQL 13?
- 2020‑05‑27:
PostgreSQL tips for optimizing Django and Python performance.
- 2020‑05‑27:
PostgreSQL EXPLAIN ANALYZE may be lying to you.
- 2020‑05‑27:
How to kill a dinosaur in 10 minutes.
- 2020‑05‑27:
History of UNIX manpages.
- 2020‑05‑27:
eBay port scans visitors' computers for remote access programs.
- 2020‑05‑27:
Ancient Egyptian coffins and mystery of 'black goo'.
- 2020‑05‑27:
Random worldbuilding: the nation in history.
- 2020‑05‑27:
macOS 10.15 Catalina: slow by design.
- 2020‑05‑27:
C++20: the unspoken features.
- 2020‑05‑27:
By the Bluebook implementation of Smalltalk-80.
- 2020‑05‑26:
Who says C is simple?
- 2020‑05‑26:
Coolest features of non-Java JVM languages.
- 2020‑05‑26:
How Internet communities function.
- 2020‑05‑26:
Science fiction timeline of inventions.
- 2020‑05‑26:
Bloaty McBloatface: a size profiler for binaries.
- 2020‑05‑26:
Using ASDL to describe ASTs in CPython.
- 2020‑05‑26:
Datamash: command-line computation on tabular files.
- 2020‑05‑26:
Adventures of porting MUSL libc to Sony PS4 BSD.
- 2020‑05‑26:
Why is Idris 2 so much faster than Idris 1?
- 2020‑05‑25:
libfirm/cparser: C99 parser and frontend.
- 2020‑05‑25:
7 scandalous weird old things about the C preprocessor.
- 2020‑05‑25:
std::format in C++20.
- 2020‑05‑23:
DuckDB: an embeddable analytical SQL database.
- 2020‑05‑23:
Porting BSD to GCC and ANSI C. (1988)
- 2020‑05‑21:
Why upgrade PostgreSQL?
- 2020‑05‑21:
Three bugs in the Golang MySQL driver.
- 2020‑05‑20:
A guide to global data in Rust.
- 2020‑05‑20:
The next few years for Rust Analyzer.
- 2020‑05‑20:
Taking advantage of auto-vectorization in Rust.
- 2020‑05‑20:
Structuring and handling errors in Rust.
- 2020‑05‑20:
15 years later: remote code execution in qmail.
- 2020‑05‑20:
The death of corporate research labs.
- 2020‑05‑20:
Lisa Piccirillo solved a decades-old Conway knot problem.
- 2020‑05‑20:
A KVM host in a few lines of code.
- 2020‑05‑19:
Computerized flight booking: a technology that changed air travel.
- 2020‑05‑19:
Does the QUIC handshake require compression to be fast?
- 2020‑05‑15:
Writing a Wayland compositor in Rust.
- 2020‑05‑15:
GPU architecture resources.
- 2020‑05‑15:
Notes on io-uring.
- 2020‑05‑15:
time_it! a case study in Rust macros.
- 2020‑05‑15:
Rust verification tools.
- 2020‑05‑15:
What's the difference between a Rust char and a Go rune? Unicode scalar values vs code points.
- 2020‑05‑15:
Yak shaving #ifdef-style conditional compilation in Rust.
- 2020‑05‑15:
Building an ASN1 codec with the Rust FFI.
- 2020‑05‑15:
Rust closures in FFI.
- 2020‑05‑15:
Five years of Rust.
- 2020‑05‑14:
Differential testing for software (such as compilers).
- 2020‑05‑14:
Bosque: a TypeScript-like programming language that compiles to native code.
- 2020‑05‑14:
Typesetting Markdown with Pandoc, Lua, and ConTeXt.
- 2020‑05‑14:
Hardware store elimination.
- 2020‑05‑14:
This word does not exist.
- 2020‑05‑14:
Why do dragons have eyes on the sides of their heads?
- 2020‑05‑14:
Deno 1.0: TypeScript and v8 on the command line, in Rust.
- 2020‑05‑13:
PostgreSQL now() vs. 'NOW'::timestamp vs. clock_timestamp().
- 2020‑05‑13:
The case of the missing DNS packets.
- 2020‑05‑13:
Why AES-GCM sucks.
- 2020‑05‑13:
A no_std Rust binary.
- 2020‑05‑12:
The success and failure of the Ninja build system.
- 2020‑05‑12:
The science of ginger milk curd.
- 2020‑05‑12:
Confessions of Marcus Hutchins, the hacker who killed WannaCry.
- 2020‑05‑11:
John Conway's FRACTRAN, a ridiculous yet surprisingly deep language.
- 2020‑05‑10:
Ensmallening Go binaries by prohibiting comparisons.
- 2020‑05‑09:
Using integer linear programming to solve complex logic.
- 2020‑05‑09:
The original cookie specification from 1997 was GDPR compliant.
- 2020‑05‑06:
Rules for writers.
- 2020‑05‑06:
Cheating higher ranked types with traits in Rust.
- 2020‑05‑06:
Take care editing bash scripts.
- 2020‑05‑05:
A map of trees in London.
- 2020‑05‑04:
Backup manifests and pg_verifybackup in PostgreSQL 13.
- 2020‑05‑04:
Lessons learned improving RPKI.
- 2020‑05‑04:
How to read UTF-8 passwords on the Windows console.
- 2020‑05‑04:
7 things that could be improved in PostgreSQL.
- 2020‑05‑04:
Oracle vs PostgreSQL: a first glance.
- 2020‑05‑04:
Bit twiddling hacks: check for borrows in bitwise operations.
- 2020‑05‑03:
Fairphone and /e/ team up to build open source, Google-free, sustainable smartphone.
- 2020‑05‑03:
Some medium-hard data analyst SQL interview questions.
- 2020‑05‑02:
Psychic paper: an iOS entitlement XML plist parsing bug.
- 2020‑05‑02:
Concurrent hash tables: fast and general?!
- 2020‑05‑02:
An embedded Rust pattern: zero sized references.
- 2020‑05‑01:
Notes on writing parsers in Rust.
- 2020‑05‑01:
Disabling Snaps in Ubuntu 20.04.
- 2020‑04‑30:
Announcing the SourceHut project hub.
- 2020‑04‑30:
Game of Life in 32 bytes.
- 2020‑04‑30:
HashiCorp Vault is overhyped, and Mozilla SOPS with KMS and git is underrated.
- 2020‑04‑30:
Troubleshooting systemd with SystemTap.
- 2020‑04‑29:
Reducing the size of a Rust GStreamer plugin.
- 2020‑04‑29:
Why strace doesn't work in Docker.
- 2020‑04‑29:
A collection of weird debugging stories.
- 2020‑04‑29:
CSS for i18n.
- 2020‑04‑29:
Postgres.app: an easy Mac OS installer for PostgreSQL.
- 2020‑04‑29:
Paxosmon: gotta consensus them all!
- 2020‑04‑28:
The many flavours of the arcane SQL MERGE statement.
- 2020‑04‑28:
A warm welcome to ASN.1 and DER.
- 2020‑04‑28:
Paxos vs Raft: have we reached consensus on distributed consensus?
- 2020‑04‑27:
First release of rust-analyzer.
- 2020‑04‑27:
For better videoconferencing at home on lousy links.
- 2020‑04‑27:
Towards Sequoia PGP v1.0.
- 2020‑04‑27:
TEMPEST@Home: finding radio frequency side channels.
- 2020‑04‑27:
Byrne's Euclid.
- 2020‑04‑26:
Teleforking a process onto a different computer!
- 2020‑04‑25:
Numerous ways to say "thousand years" in a scientific paper.
- 2020‑04‑25:
Myths about USB multi-key rollover and how USB HID works.
- 2020‑04‑23:
Incremental regular expressions.
- 2020‑04‑23:
From Pratt parsing to the Dijkstra shunting yard.
- 2020‑04‑23:
Better debug stack fixing for Firefox using Rust.
- 2020‑04‑22:
Full text search in milliseconds with Rails and PostgreSQL, without triggers.
- 2020‑04‑22:
Unicode technical note 27: known anomalies in Unicode character names.
- 2020‑04‑22:
Outsourcing reduces productivity.
- 2020‑04‑22:
Things I wished more developers knew about databases.
- 2020‑04‑22:
Linux kernel lockdown, integrity, and confidentiality.
- 2020‑04‑21:
The chairs of Blake's 7.
- 2020‑04‑21:
herbstluftwm: a manual tiling window manager for X11.
- 2020‑04‑21:
OAuth2 best practices cheat sheet.
- 2020‑04‑21:
How the "Memories" 256-byte MS DOS intro works.
- 2020‑04‑21:
API design: Understanding gRPC, OpenAPI and REST and when to use them.
- 2020‑04‑21:
RPKI and RIR 0/0 trust anchors.
- 2020‑04‑19:
SHISHUA: the fastest pseudo-random generator.
- 2020‑04‑19:
Boost UDP transaction performance.
- 2020‑04‑19:
An evaluation of password generation, storage, and autofill in browser-based password managers.
- 2020‑04‑19:
Analysis of DTLS implementations using protocol state fuzzing.
- 2020‑04‑19:
Forecasting logistic curves is hard.
- 2020‑04‑19:
The unpatchable silicon: a full break of the bitstream encryption of Xilinx 7-Series FPGAs.
- 2020‑04‑18:
Inside the Am2901: AMD's 1970s bit-slice processor.
- 2020‑04‑18:
Sneaky marketing: WD, Toshiba, Seagate shipping slower SMR drives without disclosure.
- 2020‑04‑17:
The decline of usability.
- 2020‑04‑17:
SELECT WAT FROM SQL;
- 2020‑04‑17:
GNU binutils: the ELF Swiss Army knife.
- 2020‑04‑17:
Surrounded by Elligators: implementing crypto with nothing to compare to.
- 2020‑04‑17:
SMART: string matching algorithms research tool.
- 2020‑04‑17:
Fix Boyer-Moore with the Rytter correction.
- 2020‑04‑16:
Embedding binary data into programs.
- 2020‑04‑16:
Embedding binary objects in C / ELF.
- 2020‑04‑16:
regex2fat: encode a regular expression into a DFA represented as a graph of FAT32 directories.
- 2020‑04‑16:
Didn't I write this story already? When your fictional pandemic becomes reality.
- 2020‑04‑16:
GCC always assumes aligned pointer accesses.
- 2020‑04‑15:
Types instead of strings for extensible architectures in Rust.
- 2020‑04‑15:
Fallible iterator adapters in Rust.
- 2020‑04‑15:
Cranelift: a possible new backend for Rust.
- 2020‑04‑15:
IJON: exploring deep state spaces via fuzzing.
- 2020‑04‑15:
Gluu: open source IAM / SSO.
- 2020‑04‑14:
Keycloak: open source identity and access management.
- 2020‑04‑14:
Defining the Really Habitable Zone.
- 2020‑04‑14:
Zig programming language 0.6.0 release notes.
- 2020‑04‑14:
Making Unix a little more like Plan9.
- 2020‑04‑14:
What's the type of JSON.parse(JSON.stringify(x)) in TypeScript?
- 2020‑04‑14:
libcpu: a library to emulate several CPU architectures using LLVM.
- 2020‑04‑14:
beebjit: clocking a 6502 to 15GHz!
- 2020‑04‑13:
Simple but powerful Pratt parsing in Rust.
- 2020‑04‑13:
Computers can be understood.
- 2020‑04‑13:
Benchmarking programming language VM JIT warmup.
- 2020‑04‑12:
Braid: an experimental team chat application.
- 2020‑04‑12:
Verification: why it's so hard to create new processors.
- 2020‑04‑12:
The US government runs on COBOL, and now it's falling apart
- 2020‑04‑11:
Error handling in a correctness-critical Rust project.
- 2020‑04‑11:
Eytzinger binary search.
- 2020‑04‑10:
Understanding JavaScript module formats and tools.
- 2020‑04‑09:
Optimizing lazy initialization in TruffleRuby with deoptimization.
- 2020‑04‑09:
Error handling in Rust: from `failure` to `fehler`.
- 2020‑04‑08:
Rules for data modelling with DynamoDB.
- 2020‑04‑08:
The ECHELON affair: the European Parliament and the global interception system.
- 2020‑04‑08:
Maximator: European signals intelligence cooperation.
- 2020‑04‑08:
How owls fly without making a sound.
- 2020‑04‑08:
The COBOL problem.
- 2020‑04‑07:
entr: run arbitrary commands when files change.
- 2020‑04‑05:
pg_hint_plan: execution plan hints for PostgreSQL.
- 2020‑04‑04:
6 things Markdown got wrong.
- 2020‑04‑04:
10 things I hate about PostgreSQL.
- 2020‑04‑04:
On generic traits and associated types in Rust.
- 2020‑04‑03:
Some more advanced aspects of pattern matching in Rust.
- 2020‑04‑03:
The Omit helper type in TypeScript.
- 2020‑04‑03:
Reducing tail latencies with automatic yielding in Tokio on Rust.
- 2020‑04‑03:
Bug bounty platforms buy researcher silence and violate labor and privacy laws.
- 2020‑04‑03:
Anatomy of CVE-2019-5736, a runc container escape.
- 2020‑04‑03:
RISC OS and NetBSD running on the same SoC.
- 2020‑04‑02:
CO2meter: a Python interface to USB CO2 monitor devices.
- 2020‑04‑02:
The open air factor: coronavirus and the sun.
- 2020‑04‑02:
Fish can reduce the methane emissions from rice paddies.
- 2020‑04‑02:
PID without a PhD.
- 2020‑04‑01:
Conditions and restarts in Common Lisp.
- 2020‑04‑01:
How is the Linux kernel tested?
- 2020‑04‑01:
Writing an OS in Rust: support for async/await.
- 2020‑04‑01:
Analysis of Google Chromium C++ compilation times.
- 2020‑04‑01:
Videogame doesn't infringe tattoo copyright by depicting basketball players.
- 2020‑03‑31:
32 bit time_t in Linux: the end of an epoch.
- 2020‑03‑31:
QuineDB: a quine that is also a key-value store.
- 2020‑03‑31:
The long and complicated history of why there are 360 degrees in a circle.
- 2020‑03‑30:
Lead-free solder is better for you.
- 2020‑03‑29:
Golang quirks.
- 2020‑03‑29:
PostgreSQL schema design with row-level security.
- 2020‑03‑29:
Leonardo Torres y Quevedo: an early computer designer from Spain.
- 2020‑03‑29:
Percy Ludgate: an early computer designer from Ireland.
- 2020‑03‑29:
Lessons from the Unix stdio ABI.
- 2020‑03‑29:
Setting up git identities.
- 2020‑03‑29:
Seven stages of open software.
- 2020‑03‑28:
How are Unix pipes implemented?
- 2020‑03‑28:
In-memory compute using off-the-shelf DRAM.
- 2020‑03‑28:
Protecting log records at 30,000 feet with syslog-ng.
- 2020‑03‑28:
Repairing a vintage 40-kilovolt xenon lamp igniter.
- 2020‑03‑28:
Icons for obsolete technology in Unicode.
- 2020‑03‑28:
Hyperlinks in terminal emulators.
- 2020‑03‑28:
Static analysis in gcc 10.
- 2020‑03‑28:
The Chapel parallel programming language.
- 2020‑03‑26:
Firefox's low-latency WebAssembly compiler.
- 2020‑03‑26:
Thomas Piketty takes on the ideology of inequality.
- 2020‑03‑26:
Fast and simple interned strings in Rust.
- 2020‑03‑26:
Optimising the size and performance of std::borrow::Cow<T> in Rust.
- 2020‑03‑26:
10 most(ly dead) influential programming languages .
- 2020‑03‑26:
BBC computer literacy project archive.
- 2020‑03‑25:
Investigating DNS lookup failures in Kubernetes.
- 2020‑03‑25:
git-2.26 release highlights.
- 2020‑03‑25:
Learn d3.js.
- 2020‑03‑25:
Breaking the random numbers in two Linux KASLR patches.
- 2020‑03‑25:
Coyote: Making it easier for .NET developers to build reliable asynchronous software.
- 2020‑03‑24:
zig cc: a powerful drop-in replacement for gcc or clang.
- 2020‑03‑24:
Concurrent programming, with examples.
- 2020‑03‑24:
X.509 web PKI insecurity.
- 2020‑03‑23:
Three typefaces for mathematics: The development of Times 4-line Mathematics, AMS Euler, and Cambria Math.
- 2020‑03‑23:
Why don't we just ban targeted advertising?
- 2020‑03‑23:
JANET LINX connection outage report.
- 2020‑03‑23:
An ineresting Discord outage report. (Elixir / Golang / Python / etcd)
- 2020‑03‑23:
Nornir: an automation framework in Python.
- 2020‑03‑23:
Napalm network automation.
- 2020‑03‑21:
An illustrated jq tutorial.
- 2020‑03‑20:
How to write documentation for a Rust crate.
- 2020‑03‑19:
ARIN VM cluster outage due to SAN failure.
- 2020‑03‑18:
JavaScript: the first 20 years. (HOPL)
- 2020‑03‑17:
Rewriting the heart of Dropbox's sync engine in Rust.
- 2020‑03‑16:
Getting started with Rust and Rocket for http services.
- 2020‑03‑15:
Finding a problem at the bottom of the Google stack.
- 2020‑03‑15:
MathJax turns 3.0.
- 2020‑03‑15:
Best practices for ACME client implementations.
- 2020‑03‑15:
Out of the Box dynamic dispatch in Rust.
- 2020‑03‑15:
xmake: a cross-platform build utility based on lua.
- 2020‑03‑15:
An Introduction to modern CMake.
- 2020‑03‑15:
A history of the trampoline.
- 2020‑03‑14:
Foundations of databases. (1995)
- 2020‑03‑14:
Automatic chess boards.
- 2020‑03‑14:
Cut / fold templates for paper mechanisms.
- 2020‑03‑13:
EdDSA, Ed25519, Ed25519-IETF, Ed25519ph, Ed25519ctx, HashEdDSA, PureEdDSA, WTF?
- 2020‑03‑13:
Analog computer museum.
- 2020‑03‑13:
Cyberpunk: then and now.
- 2020‑03‑13:
David Rumsey historical map collection at Stanford University.
- 2020‑03‑13:
HTTP desync attacks: request smuggling reborn.
- 2020‑03‑13:
The SOC2 starting seven.
- 2020‑03‑11:
How BBsmart email viewer worked, the best-selling BlackBerry app of all time.
- 2020‑03‑11:
The story of PS1/PS2 backwards compatibility from the engineer who built it.
- 2020‑03‑11:
Finding Mona Lisa in the Game of Life.
- 2020‑03‑11:
TRRespass: rowhammer target row refresh bypass.
- 2020‑03‑11:
Thinking psycopg3.
- 2020‑03‑11:
Actually using wasm with Rust.
- 2020‑03‑11:
What's the deal with IPv6 link-local addresses?
- 2020‑03‑11:
Your circuit breaker timeouts are probably misconfigured.
- 2020‑03‑10:
Defunctionalization: the best refactoring you've never heard of.
- 2020‑03‑10:
Setting height and width on HTML <img> tags is important again.
- 2020‑03‑09:
Green's dictionary of slang.
- 2020‑03‑09:
An experimental study on the effect of procedure under unexpected situations.
- 2020‑03‑09:
The TAOS operating system. (Byte, 1991)
- 2020‑03‑09:
Cryptographic signatures, surprising pitfalls, and ACME / Let's Encrypt.
- 2020‑03‑08:
Capability-based computer systems. (1984)
- 2020‑03‑06:
Recent and future pattern matching improvements in Rust.
- 2020‑03‑04:
IBM VS. MIT: an Apollo computer showdown.
- 2020‑03‑04:
The core memory inside an Apollo Saturn V rocket's computer.
- 2020‑03‑04:
Bluespec hardware description language compiler.
- 2020‑03‑04:
An introduction to d3.js.
- 2020‑03‑03:
A layman's guide to a subset of ASN.1, BER, and DER.
- 2020‑03‑03:
The growth of command line options, 1979-present.
- 2020‑03‑03:
The problem with single-threaded shared mutability.
- 2020‑03‑03:
Kill the newsletter!
- 2020‑03‑02:
Remote access to production infrastructure (death to the VPN!)
- 2020‑03‑02:
New sense discovered in dog noses: the ability to detect heat.
- 2020‑03‑02:
CRLite: Finally a fix for broken TLS certificate revocation?
- 2020‑03‑02:
The Odin programming language.
- 2020‑03‑02:
The Beef programming language.
- 2020‑03‑02:
The Worst programming language.
- 2020‑03‑01:
There's an entire industry dedicated to making foods crispy.
- 2020‑03‑01:
Concurrent programming with effect handlers in multicore OCaml.
- 2020‑02‑29:
A half-hour to learn Rust.
- 2020‑02‑28:
Why did I wake up just before my alarm clock went off?
- 2020‑02‑28:
Dave Prosser's C preprocessor algorithm.
- 2020‑02‑28:
TeleHammer: cross-privilege-boundary rowhammer through implicit DRAM accesses.
- 2020‑02‑28:
Show me your clipboard data.
- 2020‑02‑27:
What can you preseed when installing Debian?
- 2020‑02‑27:
How old are the symbols on these keys?
- 2020‑02‑27:
MLIR: a compiler infrastructure for the end of Moore's Law.
- 2020‑02‑26:
Delphinusdnsd: a small authoritative DNS server.
- 2020‑02‑26:
Why I'm not fan of UUIDs in databases.
- 2020‑02‑26:
PostgreSQL parallelism, what next?
- 2020‑02‑26:
UK public transport API.
- 2020‑02‑26:
The Ars Technica semi-scientific guide to Wi-Fi access point placement.
- 2020‑02‑26:
JSPaint.
- 2020‑02‑25:
Smithsonian Institution open access.
- 2020‑02‑25:
Modern, functional Common Lisp: myths and tips.
- 2020‑02‑25:
Securing Firefox with RLBox: WebAssembly sandboxes for C++ libraries.
- 2020‑02‑25:
Selectors explained: translate CSS selectors into plain English.
- 2020‑02‑23:
A guide to running Elasticsearch in production.
- 2020‑02‑23:
Stangenkunst: mechanical transmission of power.
- 2020‑02‑23:
A pragmatic approach to global state in a 3rd party library called from Rust.
- 2020‑02‑23:
Some nuances of undefined behavior in Rust.
- 2020‑02‑23:
Coverage-based fuzzing with libfuzzer.
- 2020‑02‑23:
QUIC and OpenSSL 3.0.
- 2020‑02‑23:
Insights: visually explore a PostgreSQL database.
- 2020‑02‑23:
Learn TLA+
- 2020‑02‑23:
Taking care of code ... more and more code ...
- 2020‑02‑22:
Hell of a handshake: abusing TCP for reflective amplification DDoS attacks.
- 2020‑02‑22:
Container security: nobody knows what it means but it's provocative.
- 2020‑02‑22:
Paris mayor pledges a greener '15-minute city'.
- 2020‑02‑22:
Does register selection matter to performance on x86 CPUs?
- 2020‑02‑21:
Fixing memory leaks in JavaScript in a web browser.
- 2020‑02‑21:
Racket-on-Chez Scheme status, February 2020.
- 2020‑02‑20:
Computer animation in 1961: the Stanford card stunt program. (YouTube)
- 2020‑02‑20:
PUB: an early scriptable markup language.
- 2020‑02‑19:
Recovering from useless vacuuming in PostgreSQL.
- 2020‑02‑19:
Taking back control from systemd networking.
- 2020‑02‑19:
Transaction isolation repeatable read in PostgreSQL vs MySQL.
- 2020‑02‑19:
Elixir, PostgreSQL, and query plan cache performance oddities.
- 2020‑02‑18:
The first computers in East Africa, and what became of them.
- 2020‑02‑18:
3-way FTP: Pushing files around with silly and unusual methods.
- 2020‑02‑18:
C++ move, simply (with appendices).
- 2020‑02‑17:
An emulator for a Sun 2 workstation.
- 2020‑02‑17:
playwright: a Node.js library to automate Chromium, Firefox and WebKit with a single API.
- 2020‑02‑16:
The human hemisphere.
- 2020‑02‑16:
OCSP checks for EV certificates make the web slow and unreliable.
- 2020‑02‑16:
The worst of time64 breakage.
- 2020‑02‑15:
Open access journals get a boost from librarians, much to Elsevier's dismay.
- 2020‑02‑15:
Evolution of the x86 context switch in Linux.
- 2020‑02‑15:
Creating a logical replica from a snapshot in RDS PostgreSQL.
- 2020‑02‑15:
Designing a performant row level security schema in PostgreSQL.
- 2020‑02‑15:
How sustainable is a solar powered website?
- 2020‑02‑15:
Improving compilation time of C/C++ projects.
- 2020‑02‑15:
What made the 1960s CDC6600 supercomputer fast?
- 2020‑02‑13:
The myth of the barter economy.
- 2020‑02‑13:
The parliamentary electoral system in Denmark.
- 2020‑02‑13:
Summer time clock changes: is it time for change in the UK and EU?
- 2020‑02‑13:
A bestiary of single-file programming language implementations.
- 2020‑02‑13:
Stage magic and software design.
- 2020‑02‑12:
Toward _FORTIFY_SOURCE parity between Clang and GCC.
- 2020‑02‑12:
Nuvia's ex-Apple CPU design team throws down the gauntlet to the server processor incumbents.
- 2020‑02‑12:
Gears.
- 2020‑02‑12:
ParaSail: parallel specification and implementation language.
- 2020‑02‑12:
How to escalate privileges and steal secrets in Google Cloud Platform.
- 2020‑02‑12:
Circllhist: a log-linear histogram quantile sketch for IT infrastructure monitoring.
- 2020‑02‑11:
Rotary dial cellphone.
- 2020‑02‑11:
A popular self-driving car machine learning dataset is missing labels for hundreds of pedestrians.
- 2020‑02‑11:
Investigating the performance overhead of C++ exceptions.
- 2020‑02‑11:
The Linux kernel /dev/urandom CSPRNG is now good!
- 2020‑02‑10:
Fax on the beach: The story of EO GO, the audacious, totally calamitous iPad of the 1990s.
- 2020‑02‑10:
Memory bandwidth napkin math and benchmarks.
- 2020‑02‑10:
A partial tour through the UNIX Bourne shell.
- 2020‑02‑10:
The discovery of metastability in digital computer circuits.
- 2020‑02‑10:
OmniXtend cache-coherent memory fabric over Ethernet for RISC-V.
- 2020‑02‑10:
Alpha: a history in facts and comments.
- 2020‑02‑09:
Deep sea diving: undersea telecommunication cables.
- 2020‑02‑09:
Lessons learned from writing ShellCheck.
- 2020‑02‑09:
50 years ago, better transistors and switching regulators revolutionized computer power supplies.
- 2020‑02‑09:
They called it "big iron" for a reason: Cray-1M site planning reference manual.
- 2020‑02‑09:
Stacked borrows: an aliasing model for Rust.
- 2020‑02‑09:
Librem 5: an open source phone shows the cost of being different.
- 2020‑02‑09:
Combinatris: Tetris with SKI combinators.
- 2020‑02‑08:
Dangerous domain corp.com goes up for sale.
- 2020‑02‑07:
Measuring space-time behaviours of piano keys with Rust.
- 2020‑02‑06:
Apollo 11 guidance computer vs USB-C chargers.
- 2020‑02‑06:
The JVM's mysterious AllocatePrefetch options: what do they actually do?
- 2020‑02‑06:
Before the DNS: how yours truly upstaged the NIC's official HOSTS.TXT
- 2020‑02‑05:
Security flaw in WhatsApp desktop app.
- 2020‑02‑05:
Units of measure in Rust with refinement types.
- 2020‑02‑05:
On the process that led to the introduction of leapseconds.
- 2020‑02‑03:
unsmear: convert to and from timescales with smeared leap seconds.
- 2020‑02‑03:
The state of full text search in PostgreSQL 12.
- 2020‑02‑02:
Watching for software inefficiencies with Valgrind.
- 2020‑02‑02:
JavaScript got better while I wasn't looking.
- 2020‑02‑02:
Too much locality... for stores to forward.
- 2020‑02‑02:
Old CSS, new CSS.
- 2020‑02‑02:
Typesense: an open source, typo tolerant search engine.
- 2020‑02‑02:
PostgresqlCO.NF: a PostgreSQL configuration guide.
- 2020‑02‑01:
8 tips for better negotiation.
- 2020‑02‑01:
TypeScript's quirks: How inconsistencies make the language more complex.
- 2020‑02‑01:
Writing runbook documentation when you're an SRE.
- 2020‑02‑01:
MIDI 2.0 could profoundly change the way music sounds.
- 2020‑02‑01:
Lessons learnt updating a Rust library to std::future.
- 2020‑02‑01:
Returning trait objects in Rust.
- 2020‑02‑01:
Packaging a Rust project for Debian.
- 2020‑02‑01:
Build your own block_on() in async Rust.
- 2020‑02‑01:
A stack-less Rust coroutine library under 100 LoC.
- 2020‑01‑31:
MIR: a lightweight JIT compiler project.
- 2020‑01‑30:
Some useful probability facts for systems programming.
- 2020‑01‑29:
Migrating from Oracle to PostgreSQL: tips and tricks.
- 2020‑01‑29:
pgagroal: a high-performance connection pool for PostgreSQL.
- 2020‑01‑28:
Hacking on clang is surprisingly easy.
- 2020‑01‑28:
128 bits of security vs 128 bits of security: know the difference.
- 2020‑01‑28:
git bundle: the right way to email a git repository.
- 2020‑01‑28:
How we've made the web use dirty energy.
- 2020‑01‑27:
Developing in production.
- 2020‑01‑27:
Building containers without Docker.
- 2020‑01‑27:
What we still haven't learned from Gamergate.
- 2020‑01‑27:
A list of LD_PRELOAD hacks.
- 2020‑01‑26:
GNU Recutils: a database management system using human-readable text files.
- 2020‑01‑26:
A Unix quiz (with answers!)
- 2020‑01‑26:
Dhall for Kubernetes.
- 2020‑01‑26:
Dimensional analysis in programming languages.
- 2020‑01‑26:
The text editors wiki.
- 2020‑01‑25:
Why the Sorbet typechecker for Ruby is fast.
- 2020‑01‑25:
Getting everything wrong without doing anything right! (YouTube)
- 2020‑01‑25:
What to know about GPS receiver elevation.
- 2020‑01‑25:
Measuring altitude using precision frequency transfer between optical atomic clocks.
- 2020‑01‑25:
New Zealand geodetic datum deformation model.
- 2020‑01‑25:
What happens to maps when tectonic plates move?
- 2020‑01‑25:
CASPaxos: linearizable databases without logs.
- 2020‑01‑25:
Modelling BBR's interactions with traditional TCP loss-based congestion control.
- 2020‑01‑24:
Resource scarcity in public clouds.
- 2020‑01‑23:
New browser on the block: Flow, from Ekioh in Cambridge.
- 2020‑01‑23:
The difficulties of retiring Internet Explorer.
- 2020‑01‑23:
A floating point bit twiddling toy.
- 2020‑01‑22:
The history of HAProxy.
- 2020‑01‑21:
A Unix quiz.
- 2020‑01‑21:
axel: lightweight CLI download accelerator.
- 2020‑01‑21:
The hunt for the fastest zero: when does C++ use memset?
- 2020‑01‑20:
'Remarkable' computational complexity proof that MIP* = RE.
- 2020‑01‑19:
IEEE 802.3cg 10Mb/s single-pair Ethernet: a guide.
- 2020‑01‑19:
10Mbit/s single-pair Ethernet enables connected intelligence in 2020.
- 2020‑01‑19:
The soundness pledge in Rust.
- 2020‑01‑19:
Mystery Flesh Pit National Park: a Redditor's colossal feat of worldbuilding.
- 2020‑01‑19:
C++ coroutines gcc initial implementation pushed to master.
- 2020‑01‑19:
No, dynamic type systems are not inherently more open.
- 2020‑01‑19:
The Cryptopals cryptography challenges.
- 2020‑01‑18:
About face (recognition).
- 2020‑01‑18:
fast_template: really easy blogging with GitHub Pages.
- 2020‑01‑17:
eSQLate: Build minimum viable admin panels quickly.
- 2020‑01‑16:
What is the random oracle model and why is it collapsing under the weight of its own contradictions?
- 2020‑01‑16:
Autocomplete as an interface.
- 2020‑01‑16:
Two edge cases in PostgreSQL full-text search.
- 2020‑01‑16:
EASYCHAIR: CIA covert listening devices.
- 2020‑01‑16:
Mistakes were made: huge ERP screwups.
- 2020‑01‑16:
Making the LinkedIn A/B testing engine 20x faster.
- 2020‑01‑15:
Is TypeScript worth it?
- 2020‑01‑15:
How to identify an "immoral maze".
- 2020‑01‑15:
Some advantages of the Caddy http server.
- 2020‑01‑14:
The split personalities of "brutalist" web development.
- 2020‑01‑14:
CSVlint: A ruby gem to validate CSV files and check their syntax and contents.
- 2020‑01‑14:
CleverCSV: a Python package for handling messy CSV files.
- 2020‑01‑14:
The few remaining uses of the name "Macintosh".
- 2020‑01‑13:
1195725856 and other mysterious numbers.
- 2020‑01‑13:
Reflections on Mercurial's journey to Python 3.
- 2020‑01‑13:
wasm3: The fastest WebAssembly interpreter.
- 2020‑01‑13:
The Niland geyser: a moving mudpot.
- 2020‑01‑12:
The deep sea.
- 2020‑01‑12:
Visual subnet calculator.
- 2020‑01‑12:
HTML attributes to improve your users' two factor authentication experience.
- 2020‑01‑11:
Scheme: R7RS versus R6RS.
- 2020‑01‑11:
T1: a programming language for constrained environments, derived from BearSSL.
- 2020‑01‑11:
A lazy fix 20 years ago means the Y2K bug is taking down computers now.
- 2020‑01‑10:
Ironies of automation.
- 2020‑01‑10:
How does a new generation of researchers perceive Sci-Hub?
- 2020‑01‑10:
kudeki-chain: git commits with increasing numbers of leading zeroes.
- 2020‑01‑09:
The birth of the Internet in the UK. (YouTube)
- 2020‑01‑09:
Web front-end performance checklist 2020.
- 2020‑01‑09:
Fast IPv4 to hostname lookups: PostgreSQL vs ClickHouse.
- 2020‑01‑09:
A brief history of badge ribbons at sf conventions.
- 2020‑01‑08:
The many places you can set PostgreSQL configuration parameters.
- 2020‑01‑08:
How to effectively dump PostgreSQL databases.
- 2020‑01‑08:
Neater async failure handling in Typescript.
- 2020‑01‑08:
Prometheus for beginners.
- 2020‑01‑07:
How to start a blog using Hugo.
- 2020‑01‑07:
EMI spikes from gas lift chairs can cause display interference.
- 2020‑01‑07:
SHA-1 is a shambles. (less technical overview)
- 2020‑01‑07:
SHA-1 is a shambles: first chosen-prefix collision on SHA-1 and application to the PGP web of trust.
- 2020‑01‑07:
Pegasus Mail, 30 years on.
- 2020‑01‑07:
Execute-only pages vs PAN (privileged access never) on arm64.
- 2020‑01‑07:
Debian Buster sysvinit notes.
- 2020‑01‑07:
Removing the Linux /dev/random blocking pool.
- 2020‑01‑07:
Ethernet power line adapter radio noise interference.
- 2020‑01‑06:
ClickHouse cost-efficiency in action: analyzing 500 billion rows on an Intel NUC.
- 2020‑01‑06:
Files are fraught with peril.
- 2020‑01‑05:
Algorithms interviews: theory vs. practice.
- 2020‑01‑05:
Linus on spinlocks and schedulers.
- 2020‑01‑04:
Notes on technical writing.
- 2020‑01‑04:
Mutexes are faster than spinlocks.
- 2020‑01‑04:
What's what in the world of TeX.
- 2020‑01‑04:
Our neophobic, conservative AI overlords want everything to stay the same.
- 2020‑01‑03:
An entomologist rates emoji ants.
- 2020‑01‑03:
Which emoji scissors can cut?
- 2020‑01‑03:
Interior mutability patterns in Rust.
- 2020‑01‑03:
Spinlocks considered harmful in Rust.
- 2020‑01‑02:
Serving dynamic vector tiles from PostGIS.
- 2020‑01‑02:
Why MemSQL uses skiplist indexes.
- 2020‑01‑02:
A brief history of liquid computers.
- 2020‑01‑02:
I'm not feeling the async backpressure.
- 2020‑01‑02:
Polio eradication program faces hard choices as endgame strategy falters.
- 2020‑01‑01:
Evaluating BBRv2 on the Dropbox edge network.
- 2020‑01‑01:
Semigroup resonance FizzBuzz.
- 2020‑01‑01:
Rewriting m4vgalib in Rust.
- 2020‑01‑01:
Measuring mutexes, spinlocks, and how bad the Linux scheduler really is.
- 2020‑01‑01:
Right-to-left styling: a guide on how to style for RTL in CSS.
- 2019‑12‑31:
The university is a ticking time bomb.
- 2019‑12‑31:
The old Internet died and we watched and did nothing.
- 2019‑12‑31:
Hard work and success.
- 2019‑12‑31:
CPU introspection: Intel load port snooping.
- 2019‑12‑31:
Refactoring with defunctionalization: everybody does it, nobody talks about it.
- 2019‑12‑31:
Reducing metadata leakage from encrypted files with PURBs.
- 2019‑12‑30:
A few comments on the `age` encryption tool.
- 2019‑12‑30:
Too much crypto: scientific selection of the number of rounds for symmetric primitives.
- 2019‑12‑30:
Scaling React server-side rendering.
- 2019‑12‑29:
DIY 'meta clock' of 24 analog clocks.
- 2019‑12‑29:
Why are my Golang executable files so large?
- 2019‑12‑29:
Apple Scorpius CPU architectural specification. (1989)
- 2019‑12‑29:
The ultimate Acorn Archimedes talk.
- 2019‑12‑29:
Google's monopoly is stifling free software.
- 2019‑12‑28:
rage: a Rust implementation of `age` file encryption.
- 2019‑12‑28:
A desperate plea for a Free Software alternative to Aspera.
- 2019‑12‑27:
Writing a seqlock in Rust.
- 2019‑12‑27:
Streams concurrency with async-std in Rust.
- 2019‑12‑27:
Testing for no_std compatibility in Rust crates.
- 2019‑12‑27:
Async exceptions in Haskell, and Rust.
- 2019‑12‑27:
Betrusted: can we build trustable hardware?
- 2019‑12‑27:
Tony Brooker and the Atlas Compiler Compiler.
- 2019‑12‑27:
Source code linking in C2Rust: merging C headers into Rust modules.
- 2019‑12‑26:
LEGO block structures as a sub-kelvin thermal insulator.
- 2019‑12‑25:
Gameslab: an FPGA-powered handheld game console.
- 2019‑12‑24:
SOICbite: a program/debug connector for an SOIC test clip.
- 2019‑12‑24:
The shitty add-on standard v1.69bis for electronic con badges.
- 2019‑12‑24:
A business card that runs Linux.
- 2019‑12‑24:
Flattening quadratic Béziers.
- 2019‑12‑24:
In praise of property-based testing.
- 2019‑12‑24:
Implementing WebGPU in Gecko.
- 2019‑12‑24:
Now you see it, now you don't: a large-scale analysis of early domain deletions.
- 2019‑12‑24:
What broke the bank: the failed TSB IT migration.
- 2019‑12‑22:
Winter Solstice, Camelot Station.
- 2019‑12‑20:
Bisecting Rust compiler regressions with cargo-bisect-rustc.
- 2019‑12‑20:
The common Rust traits.
- 2019‑12‑20:
Encoding animated GIFs into pure CSS.
- 2019‑12‑20:
On Linux's random number generator.
- 2019‑12‑20:
A progress update on Game of Trees, an alternative git implementation.
- 2019‑12‑20:
The use of the word 'robust' to describe software in UK law.
- 2019‑12‑20:
Xor filters are faster and smaller than Bloom filters and cuckoo filters.
- 2019‑12‑19:
The Atlas / Titan story.
- 2019‑12‑19:
Google's dangerous monopoly-based foreign policy.
- 2019‑12‑19:
The curious case of the table-locking UPDATE query on PostgreSQL.
- 2019‑12‑19:
Eller's line-at-a-time maze drawing algorithm.
- 2019‑12‑18:
Glush: a robust, human readable, top-down parser compiler.
- 2019‑12‑18:
Stop worrying about blocking: Rust's new async-std runtime, inspired by Golang.
- 2019‑12‑18:
Type families in Typescript.
- 2019‑12‑18:
Don't use booleans.
- 2019‑12‑17:
A letter from Gary Larson about The Far Side website.
- 2019‑12‑17:
FizzBuzz at compile time using C++ constexpr.
- 2019‑12‑17:
Runtime support for multicore Haskell: a retrospective.
- 2019‑12‑17:
Superdeterminism: The path we didn't take.
- 2019‑12‑17:
Hacking GitHub with Unicode's dotless 'i'.
- 2019‑12‑17:
The architecture of a large-scale web search engine, circa 2019.
- 2019‑12‑17:
Building a search engine from scratch.
- 2019‑12‑16:
A new cycle-stepped 6502 CPU emulator.
- 2019‑12‑16:
The SQL murder mystery!
- 2019‑12‑16:
Things I won't work with: the higher states of bromine.
- 2019‑12‑16:
In service of the narrative in an operational surprise writeup.
- 2019‑12‑16:
iter: a Golang implementation of C++ STL iterators and algorithms.
- 2019‑12‑15:
Pointer authentication in LLVM / Clang.
- 2019‑12‑15:
Best practices for designing a pragmatic RESTful API.
- 2019‑12‑15:
Seven deadly sins of talking about "types".
- 2019‑12‑14:
Modern garbage collection: Shenandoah and ZGC.
- 2019‑12‑14:
How to enable IPv6 in Docker.
- 2019‑12‑14:
Wine support for win32 on 64-bit-only macOS Catalina.
- 2019‑12‑14:
How we increased our Node.js parallelism by 30x.
- 2019‑12‑14:
Reimagining the PhD.
- 2019‑12‑14:
DepHell: project management for Python.
- 2019‑12‑14:
Why NUKEMAP isn't on Google Maps anymore.
- 2019‑12‑14:
Three ways to reduce the bandwidth costs of your HTTPS API on AWS.
- 2019‑12‑14:
The Amazon AWS premium.
- 2019‑12‑14:
Soundness bugs in Rust libraries: can't live with 'em, can't live without 'em.
- 2019‑12‑13:
hyper v0.13: an async HTTP library for Rust.
- 2019‑12‑13:
pg_query: parse PostgreSQL queries in Ruby.
- 2019‑12‑13:
Introducing sqlc: compile SQL queries to type-safe Golang.
- 2019‑12‑13:
Blocking inside async code in Rust.
- 2019‑12‑13:
The seductive diversion of 'solving' bias in artificial intelligence.
- 2019‑12‑13:
The surprising breadth of harbingers of failure: customers who buy products that fail.
- 2019‑12‑13:
A better Internet is waiting for us.
- 2019‑12‑13:
Conway's law: How do committees invent?
- 2019‑12‑13:
Experiments in constraint-based graphic design.
- 2019‑12‑13:
Solving the mystery of HRT shortages in the UK.
- 2019‑12‑13:
Threads can infect each other with their low priority.
- 2019‑12‑13:
PostgreSQL 12 EXPLAIN SETTINGS.
- 2019‑12‑13:
Dynamically scoped variables in Golang.
- 2019‑12‑12:
Building an Ansible training environment with FreeBSD jails.
- 2019‑12‑12:
Make it simple: a tale about Robert Dewar, Ada, and GNAT.
- 2019‑12‑12:
Odyssey: a scalable PostgreSQL connection pooler.
- 2019‑12‑11:
Best practices for APIs, if you hate your customers.
- 2019‑12‑11:
Results of a security audit of Unbound DNS.
- 2019‑12‑11:
The Nintendo Switch switch.
- 2019‑12‑11:
OpenLayers: easy dynamic maps on web pages.
- 2019‑12‑11:
ZMOB: a multiprocessor computer with 256 Z80 CPUs. (1981)
- 2019‑12‑11:
The ZedRipper multi-core Z80 laptop.
- 2019‑12‑10:
Report of the Stanford workshop on network buffer sizing.
- 2019‑12‑10:
DNS abuse framework.
- 2019‑12‑09:
How simple rules 'bootstrap' the laws of physics.
- 2019‑12‑09:
Windows Management Instrumentation (WMI) is accidentally quadratic.
- 2019‑12‑09:
SubX: bringing sub seasonal 3-to-4 week weather forecasts from research to operations.
- 2019‑12‑08:
Don't learn to code, learn to automate.
- 2019‑12‑08:
How to match "A B C" where A+B=C with a regex.
- 2019‑12‑06:
Stepping up to the GraphQL buffet.
- 2019‑12‑06:
Why ISOC sold .ORG to private equity.
- 2019‑12‑06:
No to Google Chrome.
- 2019‑12‑06:
Cliqz: a new search engine.
- 2019‑12‑05:
How to fight back against Google AMP as a web user and a web developer.
- 2019‑12‑05:
How I defeated the Tolkien estate.
- 2019‑12‑05:
Challenge: find Twitter memes with suffix arrays.
- 2019‑12‑04:
The origins of GPS, and the pioneers who launched the system.
- 2019‑12‑04:
Aerospace Corp's role in the development of GPS.
- 2019‑12‑04:
Abusing PostgreSQL as a SQL beautifier.
- 2019‑12‑04:
The Cannonball Run record has been broken again.
- 2019‑12‑04:
How to build and market IPv6-only services.
- 2019‑12‑04:
The science of Wi-Fi on airplanes.
- 2019‑12‑04:
Sinkholed: story of a domain takedown.
- 2019‑12‑04:
Flaws in HumanReadableByteCount(), the most copied StackOverflow snippet.
- 2019‑12‑03:
Symptoms of groupthink.
- 2019‑12‑03:
An interactive model-based calculator of cycling power vs. speed.
- 2019‑12‑03:
Minesweeper and logical circuits.
- 2019‑12‑03:
Internet Society says Ethos Capital's offer to buy .org for $1.14bn came out of the blue.
- 2019‑12‑03:
niche-museums.com, powered by Datasette.
- 2019‑12‑03:
datasette-atom: define an atom feed using a custom SQL query.
- 2019‑12‑03:
I ditched Google for DuckDuckGo, and you should too.
- 2019‑12‑03:
Did ISOC leave $1 billion on the table?
- 2019‑12‑03:
The .org fire sale: how it sold for less than half its valuation.
- 2019‑12‑03:
How I added 6 characters to Unicode (and you can too).
- 2019‑12‑03:
Notes on adding IEC power symbols to Unicode.
- 2019‑12‑02:
TAGS, simplified.
- 2019‑12‑01:
The world needs Cliqz. The world needs more search engines.
- 2019‑11‑30:
Is inequality inevitable?
- 2019‑11‑29:
Flow parallel multithreaded HTML5 browser, by Ekioh in Cambridge.
- 2019‑11‑29:
DDR4 initialization and calibration.
- 2019‑11‑28:
RedoxOS on real hardware, and self-hosting support for rustc.
- 2019‑11‑28:
Automated front-end testing is not working.
- 2019‑11‑28:
Methods for identifying and dealing with flaky tests.
- 2019‑11‑28:
Student rental scams.
- 2019‑11‑27:
Teacher effects on student achievement and height: a cautionary tale.
- 2019‑11‑27:
AWS instance metadata service (IMDSv2) protection against server-side request forgery (SSRF).
- 2019‑11‑27:
Comby: structural matching and rewriting for code.
- 2019‑11‑26:
dy: construct YAML from a directory tree.
- 2019‑11‑26:
Hours of daylight mapped as a function of latitude and time of year.
- 2019‑11‑26:
How do you remove unused CSS from a web site?
- 2019‑11‑26:
Independent review of TSB's failed 2018 banking platform migration.
- 2019‑11‑25:
The big push! IBM 360 Model 20 transported to the UK.
- 2019‑11‑25:
Mariana Mazzucato has reinvigorated the most important battle in economics.
- 2019‑11‑25:
The infinite hows: an argument against Five Whys and an alternative approach.
- 2019‑11‑25:
ICANN races towards regulatory capture: the great .ORG heist.
- 2019‑11‑24:
git-subtrac: all your git submodules in one place.
- 2019‑11‑24:
Critical perspectives on provable security: fifteen years of "Another Look" papers.
- 2019‑11‑23:
Python Tutor: ten years as a solo maintainer of open-source software in academia.
- 2019‑11‑23:
Internet world despairs as non-profit .org sold for $$$$ to private equity firm.
- 2019‑11‑23:
The ICs of 2030.
- 2019‑11‑23:
Forging a path away from containers and config tools.
- 2019‑11‑23:
AI today and tomorrow is mostly about curve fitting, not intelligence.
- 2019‑11‑23:
Towards a unified theory of reactive UI.
- 2019‑11‑23:
Save .ORG
- 2019‑11‑23:
The power of one-state Turing machines.
- 2019‑11‑22:
Wrapping images around Julia set fractals.
- 2019‑11‑22:
A survey of error handling crates for Rust.
- 2019‑11‑22:
Thermal performance of Raspberry Pi 4 firmware updates.
- 2019‑11‑22:
Golang's features of last resort.
- 2019‑11‑22:
Bits on the wire.
- 2019‑11‑22:
Multi-value all the wasm with Rust!
- 2019‑11‑22:
Thoughts on error handling in Rust.
- 2019‑11‑21:
Stacked Borrows: an aliasing model for Rust. (paper)
- 2019‑11‑21:
Rust compiler bug test case reduction techniques.
- 2019‑11‑21:
The Firefox UI is now built with Web Components.
- 2019‑11‑21:
An interview about PostgreSQL extensions.
- 2019‑11‑21:
Myths programmers believe about CPU caches.
- 2019‑11‑20:
Debian init systems: what, another GR?
- 2019‑11‑20:
A memoir of working on "black" secret space programs.
- 2019‑11‑20:
Restoring UNIX v0 on a PDP-7: a look behind the scenes.
- 2019‑11‑20:
Allsorts: a font shaping engine in Rust.
- 2019‑11‑20:
Accidentally breaking GitHub Actions with a shorthash collision.
- 2019‑11‑20:
How to recognize AI snake oil.
- 2019‑11‑19:
Clang format tanks performance?!
- 2019‑11‑19:
UCB CSRG BSD source code history converted from SCCS to git.
- 2019‑11‑19:
ISO C18 final committee draft.
- 2019‑11‑19:
Google search results have more human help than you think.
- 2019‑11‑19:
AT&T released Vyatta DANOS disaggregated network operating system to Linux Foundation.
- 2019‑11‑18:
The difference between fault tolerance, high availability, and disaster recovery.
- 2019‑11‑18:
Understanding Rust Serde.
- 2019‑11‑18:
Brand hijacking and Amazon's China strategy.
- 2019‑11‑18:
Welcome to China. You probably can't buy anything, though.
- 2019‑11‑18:
What makes a good runbook?
- 2019‑11‑17:
Instant stone (just add water!)
- 2019‑11‑17:
Writing userspace USB drivers for abandoned devices.
- 2019‑11‑17:
The Consul outage that never happened.
- 2019‑11‑16:
CSS utility classes and "separation of concerns".
- 2019‑11‑16:
The disappearance and return to print of John M. Ford.
- 2019‑11‑16:
drgn: scriptable debugger library.
- 2019‑11‑16:
Cue and the configuration complexity curse.
- 2019‑11‑15:
The architecture of declarative configuration management.
- 2019‑11‑15:
Me and monotropism: a unified theory of autism.
- 2019‑11‑15:
SCION: scalability, control, and isolation on next-generation networks.
- 2019‑11‑15:
Private equity company acquires .org registry.
- 2019‑11‑15:
The early history of Usenet, part 1: the technological setting.
- 2019‑11‑15:
Cooling off your Raspberry Pi 4.
- 2019‑11‑14:
Neutrinos lead to unexpected discovery about eigenvectors and eigenvalues.
- 2019‑11‑14:
Explaining 4K 60Hz video through USB-C hubs.
- 2019‑11‑14:
Configure HAProxy with PostgreSQL using built-in pgsql-check.
- 2019‑11‑14:
Making mystery-solving easier with auto_explain for PostgreSQL.
- 2019‑11‑14:
The maturing of QUIC.
- 2019‑11‑13:
Box. (YouTube)
- 2019‑11‑13:
A weird Internet career in linguistics.
- 2019‑11‑13:
Ancient earth: a visualization of continental drift. (WebGL)
- 2019‑11‑13:
How linguists are using Urban Dictionary.
- 2019‑11‑13:
Notes on type layouts and ABIs in Rust.
- 2019‑11‑12:
The Google squeeze.
- 2019‑11‑12:
CSS in librsvg is now in Rust, courtesy of Mozilla Servo.
- 2019‑11‑12:
Test-driving ARM cloud servers by compiling LLVM.
- 2019‑11‑11:
Staticcheck in action: catching bugs in Golang.
- 2019‑11‑10:
The New Zealand Poly computer preservation project.
- 2019‑11‑09:
The darker side of lean: an insider's perspective on the Toyota Production System.
- 2019‑11‑09:
Targeted ads are one of the world's most destructive trends.
- 2019‑11‑09:
PostgreSQL is a great pubsub and job server.
- 2019‑11‑09:
Everyone working in DevOps should read The Toyota Way.
- 2019‑11‑09:
Nesting limits in JSON parsers.
- 2019‑11‑09:
Kubernetes made my latency 10x higher.
- 2019‑11‑09:
How Swift achieved dynamic linking where Rust couldn't.
- 2019‑11‑08:
Type-driven design: parse, don't validate.
- 2019‑11‑08:
Type-level programming in Rust for safer hardware abstractions.
- 2019‑11‑08:
IBM terminals and the history of the 80×24 display.
- 2019‑11‑07:
Gigabit ethernet over plastic optical fibre.
- 2019‑11‑07:
Bypassing GitHub's OAuth flow with a HEAD request.
- 2019‑11‑06:
postgres-checkup: deep analysis of PostgreSQL database health.
- 2019‑11‑06:
The PostgreSQL billion tables project.
- 2019‑11‑06:
Base64 encoding and decoding at almost the speed of a memory copy with AVX512.
- 2019‑11‑05:
Typing errors: Dvorak is not better than QWERTY.
- 2019‑11‑05:
The lost ⋮ key of QWERTY
- 2019‑11‑05:
Systemd timer units hide errors in journald, unlike cron.
- 2019‑11‑04:
Zola: a static site generator written in Rust.
- 2019‑11‑04:
Light Commands: laser-based audio injection on voice-controllable systems.
- 2019‑11‑04:
A portrait in baroque / flemish style, in pure CSS.
- 2019‑11‑04:
David Rosenhan's flawed paper on psychiatric pseudopatients.
- 2019‑11‑04:
DNS wars.
- 2019‑11‑04:
View MySQL / MariaDB query progress with `pmonitor`.
- 2019‑11‑03:
Stop using ridiculously low DNS TTLs.
- 2019‑11‑03:
Web browsers will no longer have a single shared cache across all sites / origins.
- 2019‑11‑03:
gendrendr: highlight the inaccuracy and violence of assigning genders to others.
- 2019‑11‑02:
Raspberry Pi 4 USB-C gadget mode.
- 2019‑11‑02:
Always bump downwards when allocating memory.
- 2019‑11‑02:
A theorem of software engineering: the shortest possible schedule.
- 2019‑11‑02:
U2F support in OpenSSH HEAD.
- 2019‑10‑31:
Women's stories from the computer room.
- 2019‑10‑31:
Destroying x86_64 instruction decoders with differential fuzzing.
- 2019‑10‑31:
A gentle introduction to the wonderful world of Prometheus metrics.
- 2019‑10‑30:
Hello, production!
- 2019‑10‑30:
After using both, I regretted switching from Terraform to CloudFormation.
- 2019‑10‑30:
Seamless application failover using libpq features in PostgreSQL.
- 2019‑10‑30:
Fine tuning full text search with PostgreSQL 12.
- 2019‑10‑30:
PostgreSQL major version upgrade using logical replication.
- 2019‑10‑30:
Beating std::visit in D without really trying.
- 2019‑10‑30:
unfork() is the inverse of fork(2). sort of.
- 2019‑10‑29:
XML is almost always misused.
- 2019‑10‑29:
Ten simple rules for helping newcomers become contributors to open projects.
- 2019‑10‑29:
Text editing hates you too.
- 2019‑10‑29:
Operon: extreme performance for Ansible.
- 2019‑10‑28:
Thatcher had a battle plan for her economic revolution. The left needs one too.
- 2019‑10‑28:
Minimal Wim: a grid-based typography experiment.
- 2019‑10‑27:
Why it is hard for Rust to support async fn in traits.
- 2019‑10‑27:
Telling whiskey from whisky by evaporation residues.
- 2019‑10‑26:
Commas in big numbers everywhere: an OpenType adventure.
- 2019‑10‑26:
GCC's assembler syntax.
- 2019‑10‑26:
The wonders of the suffix tree through the lens of Ukkonen's algorithm.
- 2019‑10‑25:
Rust vs C++ on floating-point intensive code.
- 2019‑10‑25:
The future of open access academic publication.
- 2019‑10‑25:
The (quantum computing) Talk.
- 2019‑10‑25:
A Research Unix reader: annotated excerpts from the programmer's manual, 1971-1986.
- 2019‑10‑24:
Why are terminal windows traditionally 80×25?
- 2019‑10‑23:
Floorplan: spatial layout in memory management systems for Rust.
- 2019‑10‑22:
Faster quaternion arithmetic by XORing floating point sign bits.
- 2019‑10‑22:
Where `rustc` spends its time.
- 2019‑10‑22:
Structural insight: Lisp and interpreted programming languages.
- 2019‑10‑22:
70 vs 100: if you can stop safely at the speed limit, how fast do you crash when speeding?
- 2019‑10‑22:
Examining how AWS builds their own serverless apps.
- 2019‑10‑21:
What breaks our systems: a taxonomy of black swans.
- 2019‑10‑21:
Unix: a history and a memoir, by Brian Kernighan. (Amazon)
- 2019‑10‑21:
International maps of cities coloured by street/road/ave/etc.
- 2019‑10‑21:
Maps of cities coloured by street/road/ave/etc.
- 2019‑10‑19:
Are aerospike engines better than traditional rocket engines?
- 2019‑10‑19:
Debugging hidden memory leaks in Ruby.
- 2019‑10‑19:
Ahh shhgit! Real-time detection of credentials leaked in git commits.
- 2019‑10‑18:
libgcc: when exceptions collide.
- 2019‑10‑18:
Problem details for HTTP APIs.
- 2019‑10‑18:
REST is the new SOAP.
- 2019‑10‑18:
Software testing anti-patterns.
- 2019‑10‑18:
A £190M research programme around ARM's Morello, an experimental ARMv8-A CPU, SoC, and board with CHERI support.
- 2019‑10‑18:
The earliest Unix code: an anniversary source code release.
- 2019‑10‑18:
Types for units of measure in Rust.
- 2019‑10‑18:
ARM leading a UK Government programme to create a capability-secure chip platform.
- 2019‑10‑18:
Making a fast char searcher in C.
- 2019‑10‑17:
Verb-noun vs noun-verb.
- 2019‑10‑17:
Vulcain: HTTP/2 server push for fast and idiomatic client-driven REST APIs.
- 2019‑10‑17:
The node experiment: exploring async basics with Rust
- 2019‑10‑17:
Nondeterministic collations in PostgreSQL 12.
- 2019‑10‑17:
No-one knows the type of char + char.
- 2019‑10‑16:
I hate the X11 ICCCM selection system, and you should too.
- 2019‑10‑16:
I hate Xlib and so should you.
- 2019‑10‑16:
Beating C with an 80 line `wc` in Haskell.
- 2019‑10‑16:
Google can't fix the Android update problem.
- 2019‑10‑16:
Bloody story of Java and embedded databases in RIPE's RPKI validator.
- 2019‑10‑15:
DNS security: threat modeling DNSSEC, DoT, and DoH.
- 2019‑10‑15:
Notes on porting from Oracle to PostgreSQL.
- 2019‑10‑15:
Firefox privacy how-to guide.
- 2019‑10‑15:
A Kubernetes crime story.
- 2019‑10‑14:
Distributed types on the Erlang BEAM.
- 2019‑10‑14:
Making Rust's Tokio scheduler 10x faster.
- 2019‑10‑14:
How Heap failed, then succeeded, at migrating from CoffeeScript to TypeScript.
- 2019‑10‑14:
Underscores and SEO arms races.
- 2019‑10‑13:
Flour power: meet the bread heads baking a better loaf.
- 2019‑10‑13:
Binary arithmetic in the TypeScript type system.
- 2019‑10‑13:
The tyranny of stucturelessness. (1971)
- 2019‑10‑13:
Trashing: the dark side of sisterhood. (1976)
- 2019‑10‑13:
HOWTO make Linux run blazing fast (again) on Intel CPUs.
- 2019‑10‑12:
Response to "fibers under the magnifying glass".
- 2019‑10‑12:
The surprising limitations of C++ ranges beyond trivial cases.
- 2019‑10‑12:
The most important software design guideline. (YouTube)
- 2019‑10‑12:
Pointer-based data structures in SPARK Ada.
- 2019‑10‑12:
Solving remote build cache misses in Gradle Android builds.
- 2019‑10‑12:
PostgreSQL when it's not your job.
- 2019‑10‑12:
You cannot cURL under pressure.
- 2019‑10‑12:
Fibers under the magnifying glass.
- 2019‑10‑12:
How to speed up the Rust compiler some more in 2019.
- 2019‑10‑12:
The new function prototype for objc_msgSend.
- 2019‑10‑11:
How Monzo's security team handles secrets.
- 2019‑10‑11:
BPF at Facebook (and beyond).
- 2019‑10‑11:
A party parrot meme mystery has been solved.
- 2019‑10‑11:
Video footage of the PDP-7 on which Unix started.
- 2019‑10‑11:
8 papers that were rejected before winning a Nobel prize.
- 2019‑10‑10:
Build systems à la carte.
- 2019‑10‑10:
What's going on with WhatFreeWords?
- 2019‑10‑10:
Ownership and impl Trait in Rust.
- 2019‑10‑10:
How kettles switch off when the water boils.
- 2019‑10‑10:
Floppy disk history: The evolution of personal computing.
- 2019‑10‑10:
Postmodern C tooling.
- 2019‑10‑09:
Guix reduces reproducible build bootstrap seed TCB to 120MB.
- 2019‑10‑09:
Formally modelling database migrations using Alloy.
- 2019‑10‑09:
Logs were our lifeblood. Now they're our liability.
- 2019‑10‑09:
jtc: JSON manipulation and transformation tool.
- 2019‑10‑09:
Defining types in the Shen programming language.
- 2019‑10‑08:
How do individual contributors get stuck?
- 2019‑10‑08:
Applying SRE principles to US government recruitment and hiring for technical staff.
- 2019‑10‑08:
Kubernetes liveness probes are dangerous.
- 2019‑10‑08:
URGENT/11 zero day vulnerabilities in the IPnet TCP/IP stack used by VxWorks and other RTOSs.
- 2019‑10‑08:
A modern CSS reset.
- 2019‑10‑08:
Effect of network traffic engineering on TCP connections between AWS regions.
- 2019‑10‑08:
R, the master troll of statistical languages.
- 2019‑10‑08:
R is a joy if you treat it like awk.
- 2019‑10‑07:
Replication configuration changes in PostgreSQL 12.
- 2019‑10‑07:
My application ran away and called home from Redmond.
- 2019‑10‑07:
SLOG: cheating the low-latency vs. strict serializability tradeoff.
- 2019‑10‑07:
Testing in production: the hard parts.
- 2019‑10‑07:
id-objmodel: simple dynamic dispatch for C.
- 2019‑10‑06:
High finance is wrecking the economy and the planet, but it won't reform itself.
- 2019‑10‑06:
Recommended tools for building geospatial web applications.
- 2019‑10‑06:
Break before make, DevOps abstraction layers, and bad DNS.
- 2019‑10‑05:
Turning over: why page turners matter.
- 2019‑10‑05:
Whither literate programming: what went wrong?
- 2019‑10‑04:
25,000 RIPE LIRs: an end to the milestone highs?
- 2019‑10‑04:
Pricing niche products: selling mechanical keyboard kits with a Vickrey auction.
- 2019‑10‑04:
picolibc: a BSD licensed libc for embedded systems.
- 2019‑10‑04:
Too many outer joins.
- 2019‑10‑04:
SQL queries don't start with SELECT.
- 2019‑10‑03:
Is "ass" the most complicated word in English?
- 2019‑10‑03:
Autoantonyms.
- 2019‑10‑03:
Stepping on Rakes: a review of Terry Eagleton's Humour and Peter Timms' Silliness.
- 2019‑10‑02:
Same-site cookies by default.
- 2019‑10‑02:
A new R6RS Scheme compiler for Linux and bare metal amd64.
- 2019‑10‑02:
PDFex attack exfiltrates data from encrypted PDF files.
- 2019‑10‑01:
A new online era of The Far Side is coming!
- 2019‑10‑01:
Processing 40 TB of code from ~10 million project with scc.
- 2019‑10‑01:
A guide to HTML <head> elements.
- 2019‑10‑01:
Golang interfaces: the tricky parts.
- 2019‑10‑01:
My god, it's full of dots!
- 2019‑10‑01:
The failed political promise of Silicon Valley.
- 2019‑09‑30:
The asymmetry of Internet identity.
- 2019‑09‑30:
Let me automate that for you: removing pain points from data pipeline setup.
- 2019‑09‑30:
A computer built from NOR gates: inside the Apollo Guidance Computer.
- 2019‑09‑30:
Small world with high risks: a study of security threats in the npm ecosystem.
- 2019‑09‑30:
Before the East India Company.
- 2019‑09‑30:
Predictive CPU isolation of containers at Netflix using a MIP solver.
- 2019‑09‑30:
MiniZinc high-level solver-independent constraint satisfaction and optimization modelling language.
- 2019‑09‑30:
SCIP solver for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP).
- 2019‑09‑30:
MIP formulations and linearizations quick reference.
- 2019‑09‑30:
Cbc: open-source mixed integer linear programming solver.
- 2019‑09‑29:
JSON for modern C++.
- 2019‑09‑29:
Text rendering hates you.
- 2019‑09‑29:
Representing and editing JSON with Google Sheets.
- 2019‑09‑29:
Mainstream adoption and Agile's second chasm.
- 2019‑09‑29:
Relaxed JSON.
- 2019‑09‑28:
Games economists play.
- 2019‑09‑28:
Poor man's PoE for Raspberry Pi.
- 2019‑09‑28:
DevOps topologies.
- 2019‑09‑28:
Abusing Kubernetes defaults for privilege escalation.
- 2019‑09‑28:
A developer goes to a DevOps conference.
- 2019‑09‑28:
Neurosexism: the myth that men and women have different brains.
- 2019‑09‑26:
Blind software development at 450 words per minute.
- 2019‑09‑26:
Advanced SQL: window frames.
- 2019‑09‑26:
Using PostgreSQL row level security to make large companies more secure.
- 2019‑09‑25:
The async builder pattern in Rust.
- 2019‑09‑25:
SNI proxy.
- 2019‑09‑25:
Performance metrics for blazingly fast web apps.
- 2019‑09‑25:
Georgia Tech Software Tools subsystem and C compiler for Prime computers.
- 2019‑09‑25:
Reversing an unknown CPU at DSCTF 2019.
- 2019‑09‑24:
Types for Python HTTP APIs at Instagram.
- 2019‑09‑24:
Promising new hard disk technology.
- 2019‑09‑24:
Excavating AI: the politics of images in machine learning training sets.
- 2019‑09‑24:
ImageNet Roulette.
- 2019‑09‑24:
A few special-case performance enhancements in PostgreSQL 12.
- 2019‑09‑23:
Serverless: 15% slower and 8x more expensive.
- 2019‑09‑23:
Measuring DNS resolver centrality.
- 2019‑09‑23:
Weld: accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM.
- 2019‑09‑23:
Folding paper polyhedral globes to print and make.
- 2019‑09‑22:
How to serve 200Gbit/s of TLS from one FreeBSD server.
- 2019‑09‑22:
Moore's Law graphed vs real CPUs & GPUs 1965-2019. (YouTube)
- 2019‑09‑21:
How I collected the complete short stories of F. Scott Fitzgerald.
- 2019‑09‑20:
The state of uBlock Origin (and other blockers) for Safari.
- 2019‑09‑19:
Closing the gap: cross-language LTO between Rust and C/C++.
- 2019‑09‑19:
Software architecture is overrated, clear and simple design is underrated.
- 2019‑09‑19:
Apple push notification device tokens in iOS 13.
- 2019‑09‑19:
Improved support for C variadic functions in Rust and C2Rust.
- 2019‑09‑18:
Reflinks vs symlinks vs hard links, and how they can help machine learning projects.
- 2019‑09‑18:
DVC: a version control system for machine learning data.
- 2019‑09‑17:
Why is the fossil record mostly male?
- 2019‑09‑17:
A radio telescope sundial for the Very Large Array in New Mexico.
- 2019‑09‑17:
Hard disk prices from Amazon UK.
- 2019‑09‑16:
A tenfold increase in Varnish throughput by replacing libvmod-curl with native request restarts.
- 2019‑09‑16:
LastPass leaks credentials from previous site.
- 2019‑09‑16:
BGP, 'screaming car wreck' of internet routing, needs a fire brigade.
- 2019‑09‑15:
Reverse engineering game cartridge printed circuit boards.
- 2019‑09‑15:
I have a feeling we're not in Emerald City anymore: a satirical history of Ada.
- 2019‑09‑14:
How hackers invented kiteboarding.
- 2019‑09‑14:
Parallel GCC research project.
- 2019‑09‑14:
Save thousands of dollars by packing Kubernetes pods efficiently.
- 2019‑09‑14:
$1,000,000 worth of invalid EV certificates revoked.
- 2019‑09‑13:
"DevOps didn't exist when I started as a developer."
- 2019‑09‑13:
BLUF: make your writing more powerful with the bottom line up front.
- 2019‑09‑13:
Big features of TypeScript 3.7 and how to use them.
- 2019‑09‑12:
The ultimate guide to HTML and CSS support in mail clients.
- 2019‑09‑12:
bic: a C interpreter and API explorer.
- 2019‑09‑12:
Efficient string copying and concatenation in C with memccpy().
- 2019‑09‑12:
The electric eel is actually three species, and not an eel.
- 2019‑09‑12:
Introducing caniemail.com: HTML and CSS interoperability in mail messages.
- 2019‑09‑12:
Why Ada is the language you want to be programming your systems with.
- 2019‑09‑12:
Debian Perl: digital detective.
- 2019‑09‑12:
Improving the compile time of a Rust crate.
- 2019‑09‑11:
Fairphone 3 teardown.
- 2019‑09‑11:
NY payroll company vanishes with $35 million.
- 2019‑09‑11:
How prohibition tossed a wet blanket on America's inventors.
- 2019‑09‑11:
Quantum INTERCAL.
- 2019‑09‑11:
The race to create a perfect lie detector, and the dangers of succeeding.
- 2019‑09‑11:
Why Teslas aren't the future.
- 2019‑09‑11:
Face recognition, bad people, and bad data.
- 2019‑09‑11:
A famous argument against free will has been debunked.
- 2019‑09‑10:
Uber's path of destruction.
- 2019‑09‑10:
What does "it's a good start" really mean?
- 2019‑09‑10:
A guide to Aussie slang.
- 2019‑09‑10:
American phrase book.
- 2019‑09‑10:
The tale of the missing semaphore.
- 2019‑09‑10:
How to chair an academic committee.
- 2019‑09‑10:
Strategies for fast lexical analysis.
- 2019‑09‑10:
Myths about USB-C.
- 2019‑09‑10:
A checklist for empirical evaluation, against replication difficulties in computer science.
- 2019‑09‑10:
Put down that banana, beekeeper.
- 2019‑09‑09:
psychec: ML-style type inference for C.
- 2019‑09‑09:
Towards a secured Android smartphone.
- 2019‑09‑09:
Policy debt.
- 2019‑09‑09:
Uses for the popcount instruction.
- 2019‑09‑08:
On string lengths and Unicode encodings.
- 2019‑09‑07:
DNS-over-HTTPS privacy and security concerns.
- 2019‑09‑07:
Thoughts on presenting a talk.
- 2019‑09‑07:
Does Sean Bean really die more than other actors?
- 2019‑09‑07:
From mind control to murder: a deadly fall revealed the CIA's MK-Ultra secrets.
- 2019‑09‑07:
Ronald Fisher, a bad cup of tea, and the birth of modern statistics.
- 2019‑09‑07:
Links to pages about COBOL web programming.
- 2019‑09‑07:
Can science survive without statistical significance?
- 2019‑09‑06:
42 is an answer to the question, what is the sum of three cubes?
- 2019‑09‑06:
How to do a code review at Google.
- 2019‑09‑06:
Human speech may have a universal transmission rate: 39 bits per second.
- 2019‑09‑06:
What the Uffington white horse reveals about the value of maintenance.
- 2019‑09‑06:
Cytoscape.js: visualisation library for networks / graphs.
- 2019‑09‑06:
dc.js: dimensional charting in JavaScript.
- 2019‑09‑06:
An introduction to D3.js.
- 2019‑09‑06:
DDSketch: a fast and fully-mergeable quantile sketch with relative-error guarantees.
- 2019‑09‑05:
Computer science from the bottom up.
- 2019‑09‑05:
Active learning is more effective, but students don't think so.
- 2019‑09‑05:
Universal adversarial triggers for attacking and analyzing NLP.
- 2019‑09‑05:
Why you need plpgsql_check if you write stored procedures for PostgreSQL.
- 2019‑09‑05:
Thunderbolt 3 cables longer than 0.5m generally don't support USB 3.1 speeds.
- 2019‑09‑05:
The most gender-switched names in the US.
- 2019‑09‑04:
Why does CD digital audio have a 44.1 kHz sample rate?
- 2019‑09‑04:
pspg: table-aware pager for PostgreSQL.
- 2019‑09‑04:
What happened to Hadoop?
- 2019‑09‑04:
Semantic validation in Rust.
- 2019‑09‑04:
Teardown of a failed Linux LTS Spectre fix.
- 2019‑09‑04:
sqldef: idempotent MySQL/PostgreSQL schema management.
- 2019‑09‑04:
Mangling dependent parameter types in C++, or, what happened to std::default_order.
- 2019‑09‑04:
A century of “shrill”: how bias in technology has hurt women's voices.
- 2019‑09‑04:
AssemblyScript: a TypeScript to WebAssembly compiler.
- 2019‑09‑04:
A static compiler for the TypeScript programming language to Thumb machine code.
- 2019‑09‑03:
oreboot: a fork of coreboot, with C removed, written in Rust.
- 2019‑09‑03:
Pseudorandom black swans: cache attacks on CTR_DRBG.
- 2019‑09‑03:
Shenanigans with interface vtable hashing.
- 2019‑09‑03:
Dave Jaggar's history of the ARM microprocessor architecture. (YouTube)
- 2019‑09‑03:
NLP's Clever Hans moment has arrived.
- 2019‑09‑02:
Tired of Stack Overflow.
- 2019‑09‑02:
Linkers: a 20 part series.
- 2019‑09‑02:
Beginner's guide to linkers.
- 2019‑09‑02:
The GNU configure and build system.
- 2019‑09‑02:
An introduction to deterministic builds with C/C++.
- 2019‑09‑02:
Unix at 50.
- 2019‑09‑02:
10 ways to tweak slow SQL queries.
- 2019‑09‑02:
Building interactive SSH applications.
- 2019‑09‑01:
Leon Sans: a geometric sans-serif typeface in JavaScript.
- 2019‑09‑01:
The life sciences advance one funeral at a time.
- 2019‑09‑01:
You should not run your mail server because mail is hard?
- 2019‑09‑01:
The design of littlefs: a fail-safe filesystem for microcontrollers.
- 2019‑09‑01:
What really happened in the UK blackouts?
- 2019‑08‑31:
Power bends light.
- 2019‑08‑31:
Croup and ipecac in Anne of Green Gables.
- 2019‑08‑31:
What to do once you admit that decentralizing everything never seems to work.
- 2019‑08‑31:
Linux pressure stall information (PSI): better load averages.
- 2019‑08‑31:
Why robots should have googly eyes.
- 2019‑08‑29:
Write fuzzable code.
- 2019‑08‑29:
Actually using crev / the problem of trusting software dependencies.
- 2019‑08‑29:
DEC WRL Titan system manual. (1988)
- 2019‑08‑29:
Async stack traces in Rust.
- 2019‑08‑28:
Performance tuning PostgreSQL for SquareSpace's TLS certificate service.
- 2019‑08‑28:
PostgreSQL row level security, views, and a lot of magic.
- 2019‑08‑28:
Managing high availability in PostgreSQL: PAF vs repmgr vs Patroni.
- 2019‑08‑28:
Lessons learned debugging an ssh scaling problem at GitLab.
- 2019‑08‑28:
Pay a visit to Cambridge's computer museum.
- 2019‑08‑28:
GoAccess: visual web log analyzer, in C, in the terminal.
- 2019‑08‑28:
How web pages affect power usage.
- 2019‑08‑27:
Just enough piracy can be a good thing.
- 2019‑08‑27:
Dungeons & Deceptions: the first D&D players and the origins of the game.
- 2019‑08‑26:
The astonishing gothic interior of David Parr's house.
- 2019‑08‑26:
Should small Rust structs be passed by-copy or by-borrow?
- 2019‑08‑26:
The difference between database isolation levels and consistency levels.
- 2019‑08‑26:
Report on December's CenturyLink network outage.
- 2019‑08‑26:
Complicated and complex systems in safety management.
- 2019‑08‑25:
A flawed idea is teaching millions of American kids to be poor readers.
- 2019‑08‑25:
Tweets about Dublin (some in Irish)
- 2019‑08‑25:
Blame economists for the mess we're in.
- 2019‑08‑25:
What the Code of Hammurabi can teach us about software liability.
- 2019‑08‑25:
Enabling a permanent revolution in internet architecture.
- 2019‑08‑24:
Does capital imply coercion?
- 2019‑08‑24:
P99: preprocessor macros and functions for C99 and C11.
- 2019‑08‑24:
C preprocessor tricks, tips, and idioms.
- 2019‑08‑24:
Introducing nushell.
- 2019‑08‑23:
Deadly superbug outbreak in humans linked to antibiotic spike in cows.
- 2019‑08‑23:
Adding continuous rendering to the PlantUML server.
- 2019‑08‑23:
Deconstructing Google's excuses on tracking protection.
- 2019‑08‑23:
About GNU readline.
- 2019‑08‑23:
Why does developing on Kubernetes suck?
- 2019‑08‑23:
The crystal growers who sparked a revolution in graphene electronics.
- 2019‑08‑23:
The origins of JavaScript sandbox realms.
- 2019‑08‑23:
How to build a JavaScript sandbox in a web browser.
- 2019‑08‑23:
Some obscure C features.
- 2019‑08‑23:
Irish firm's device to detect IBS triggers praised by researchers.
- 2019‑08‑22:
Thoughts on Rust bloat.
- 2019‑08‑21:
The web browser monopoly.
- 2019‑08‑21:
git-filter-repo: a fast and flexible git-filter-branch replacement.
- 2019‑08‑21:
Conventional Commits: A specification for formatted commit messages.
- 2019‑08‑21:
A look at HS2's huge Old Oak Common station.
- 2019‑08‑21:
Calculus is deeply irrational.
- 2019‑08‑21:
Kaspersky in the middle: what could possibly go wrong?
- 2019‑08‑21:
The answer to "Will you mentor me?" is "No."
- 2019‑08‑21:
Where do interrupts happen?
- 2019‑08‑21:
The financialization of the American elite.
- 2019‑08‑21:
How Rust optimizes async/await.
- 2019‑08‑21:
Ten simple rules for responsible referencing.
- 2019‑08‑21:
"Patent troll" is opinion, not defamation.
- 2019‑08‑20:
21st century datacenter locations driven by 19th century politics.
- 2019‑08‑20:
Sunsetting Mercurial support in Bitbucket.
- 2019‑08‑20:
The power of speaking Polari.
- 2019‑08‑19:
4 rules for intuitive UX.
- 2019‑08‑19:
A 3D map of building ages in the Netherlands.
- 2019‑08‑19:
async-std: an async version of the Rust standard library.
- 2019‑08‑17:
Rubber Band audio time stretcher library.
- 2019‑08‑16:
The order of the JSON.
- 2019‑08‑16:
Minimum benchmark times can be misleading.
- 2019‑08‑16:
WebKit tracking prevention policy.
- 2019‑08‑15:
Google fails to provide "One account. All of Google."
- 2019‑08‑15:
A history and evaluation of IBM System R.
- 2019‑08‑15:
Runtime configuration reloading in Rust.
- 2019‑08‑15:
Parsing Rust strings into slices.
- 2019‑08‑14:
A history of Slonik, the PostgreSQL elephant logo.
- 2019‑08‑14:
Bamboozling X.509 certificate authorities with BGP.
- 2019‑08‑13:
A short survey of sub $0.10 microcontrollers.
- 2019‑08‑13:
DMTF Redfish: a standard RESTful LOM API.
- 2019‑08‑13:
NFLX-2019-002: HTTP/2 denial of service vulnerabilities.
- 2019‑08‑13:
Timeline to remove gcc 4.2.1 from FreeBSD.
- 2019‑08‑13:
Bypass Windows user interface privilege isolation via the CTF input method protocol.
- 2019‑08‑13:
Best practices for code review.
- 2019‑08‑13:
Paged Out! a new experimental free magazine about programming.
- 2019‑08‑13:
The rule of 140.
- 2019‑08‑13:
Top seven myths of robust systems.
- 2019‑08‑13:
R13Y: are NixOS builds reproducible?
- 2019‑08‑13:
Banana-killing Panama disease TR4 has arrived in Latin America.
- 2019‑08‑13:
IndieWeb link sharing.
- 2019‑08‑13:
Await in Rust.
- 2019‑08‑13:
The horror of Microsoft Teams.
- 2019‑08‑12:
Extended Validation TLS certificates are really really dead.
- 2019‑08‑12:
Home 3D metal printing: first results.
- 2019‑08‑12:
Hall's Law: interchangeable parts and the 1800s industrial revolution prequel to Moore's Law.
- 2019‑08‑12:
Spying on HTTPS.
- 2019‑08‑12:
A personal history of modeless text editing and cut/copy-paste.
- 2019‑08‑11:
Bec Hill's translation of Edith Piaf's "Non Je Ne Regrette Rien".
- 2019‑08‑11:
Don't say "homoiconic".
- 2019‑08‑10:
What does a coder do if they can't type?
- 2019‑08‑10:
H3+: the molecules that made the universe.
- 2019‑08‑10:
H2 in space explains dark matter and redshift.
- 2019‑08‑10:
Kepler's forgotten ideas about symmetry help explain spiral galaxies without the need for dark matter.
- 2019‑08‑10:
Porting Unix to the IBM Series-1 minicomputer.
- 2019‑08‑10:
Game of Trees: an implementation of git for OpenBSD.
- 2019‑08‑10:
Swift ExpressibleBy protocols: What they are and how they work.
- 2019‑08‑10:
Parallelism in PostgreSQL.
- 2019‑08‑10:
Measuring DNS qname minimization.
- 2019‑08‑09:
The Erlang rationale.
- 2019‑08‑09:
Recursive language and modern imagination were acquired simultaneously 70,000 years ago.
- 2019‑08‑09:
Unix commands for breaking out of restricted shells.
- 2019‑08‑08:
Writing delightful HTTP middleware in Golang.
- 2019‑08‑07:
HTTP desync attacks: request smuggling reborn.
- 2019‑08‑07:
Understanding Rust through AVL trees.
- 2019‑08‑07:
plpgsql_check: find compilation errors and profile functions in PostgreSQL.
- 2019‑08‑07:
Hospital checklists are meant to save lives, so why do they often fail?
- 2019‑08‑07:
A formal investigation of diff3.
- 2019‑08‑07:
Recording 660fps video on a $6 Raspberry Pi camera.
- 2019‑08‑07:
10 years of seL4: still the best, still getting better.
- 2019‑08‑07:
Arend: a theorem prover based on Homotopy Type Theory.
- 2019‑08‑07:
C-mera: Lisp macros for metaprogramming C-like languages.
- 2019‑08‑07:
The last working Olivetti mainframe sits in a Tuscan high school.
- 2019‑08‑07:
Fact check: What you may have heard from Elsevier about the dispute with UC.
- 2019‑08‑07:
Don't underestimate grep based code security scanning.
- 2019‑08‑07:
Wine on Windows 10. It works.
- 2019‑08‑06:
Scalable scanning and automatic classification of TLS CBC padding oracle attacks.
- 2019‑08‑06:
Vectorized emulation: hardware accelerated taint tracking at 2 trillion instructions per second.
- 2019‑08‑06:
Pwnie award nominations.
- 2019‑08‑05:
Switching from Common Lisp to Julia.
- 2019‑08‑05:
All the best engineering advice I stole from non-technical people.
- 2019‑08‑05:
Rust language cheat sheet.
- 2019‑08‑04:
Elsevier threatens others for linking to Sci-Hub but does so itself.
- 2019‑08‑04:
Dissecting a dweet: Lorenz attractor.
- 2019‑08‑04:
Securely issuing HTTP requests from the cloud.
- 2019‑08‑04:
A technical analysis of the Capital One AWS S3 hack.
- 2019‑08‑04:
Using PostgreSQL full text search with Golang.
- 2019‑08‑04:
What's new in PostgreSQL 11: built-in web search.
- 2019‑08‑04:
Mastering PostgreSQL full-text search and phrase search.
- 2019‑08‑04:
PostgreSQL fulltext search with DBIx::Class.
- 2019‑08‑03:
Tektronix schematic cartoons.
- 2019‑08‑03:
How a 6,000-year-old dog cancer spread around the world.
- 2019‑08‑03:
Killing a process and all of its descendants.
- 2019‑08‑03:
Motion smoothing is ruining cinema.
- 2019‑08‑03:
How Atlassian stopped XML vulnerabilities from landing in production.
- 2019‑08‑02:
I assure you, medieval people bathed.
- 2019‑08‑02:
Astronauts plan to bake cookies on the ISS.
- 2019‑08‑01:
John Mashey on RISC vs CISC.
- 2019‑08‑01:
The enduring mystery of 'jawn,' Philadelphia's all-purpose word.
- 2019‑08‑01:
Touchpad, Interrupted.
- 2019‑08‑01:
A history of Tetris randomizers.
- 2019‑08‑01:
A discussion of the origins of UNIX filesystem permissions.
- 2019‑08‑01:
Inquiry into the implications for the UK of the proposal to end seasonal clock changes in the EU.
- 2019‑08‑01:
A brief guide to a few algebraic structures.
- 2019‑08‑01:
In Australia, one cat seems to have destroyed an entire bird sanctuary.
- 2019‑08‑01:
Rome's border walls were the beginning of its end.
- 2019‑07‑31:
Golang experience report: generics in Kubernetes.
- 2019‑07‑31:
Thoughts on package dependencies and scaling trust.
- 2019‑07‑31:
After the warming. [1989] (YouTube)
- 2019‑07‑31:
LoRaWAN distance world record: 766km at 25mW.
- 2019‑07‑31:
Container security: a developer guide.
- 2019‑07‑31:
ANTLR: an informal introduction.
- 2019‑07‑31:
Gradual typing from theory to practice.
- 2019‑07‑31:
AWS S3 event notifications have "probably once" delivery.
- 2019‑07‑30:
Learn not to speak Esperanto.
- 2019‑07‑30:
One-bit computing at 60 Hz.
- 2019‑07‑30:
C++ modules might be dead on arrival.
- 2019‑07‑30:
Modern C++ lamentations.
- 2019‑07‑30:
A complete guide to the node.js event loop.
- 2019‑07‑29:
Amazon Web Services: a practical guide.
- 2019‑07‑29:
The encryption/surveillance debate is over, killed by Facebook.
- 2019‑07‑29:
The Swiss Ephemeris is a GPL high precision ephemeris developed by Astrodienst.
- 2019‑07‑29:
Comparisons in C++20.
- 2019‑07‑29:
The hidden costs of automated thinking.
- 2019‑07‑28:
The master of packing-tape calligraphy shares his story.
- 2019‑07‑28:
Entrepreneurs don't have a special gene for risk, they come from families with money.
- 2019‑07‑28:
Goodbye Docker: using Podman, Buildah, and Skopeo instead.
- 2019‑07‑28:
Tokyo subway's duct-tape typographer.
- 2019‑07‑27:
OOP before OOP with Simula.
- 2019‑07‑27:
Glasgow: Scots Army Knife for electronics.
- 2019‑07‑27:
Efficient Golang APIs with the mid-stack inliner.
- 2019‑07‑26:
Not so private thoughts at IETF 105.
- 2019‑07‑26:
Data isn't the new oil, it's the new CO₂.
- 2019‑07‑26:
Safely rewriting Mixpanel's highest-throughput service from Python to Golang.
- 2019‑07‑26:
Alpha compositing.
- 2019‑07‑26:
Cosmic ray update: new results from the moon.
- 2019‑07‑26:
No Moore left to give: enterprise computing after Moore's Law.
- 2019‑07‑26:
Decades-old boolean sensitivity conjecture solved in two pages.
- 2019‑07‑26:
Users hate change.
- 2019‑07‑26:
Hacking a Transcend WiFiSD.
- 2019‑07‑26:
SFTPGo: highly configurable SQL-backed SFTP server.
- 2019‑07‑26:
Some criticisms of RISC-V.
- 2019‑07‑25:
Open infrastructure map.
- 2019‑07‑25:
The Internet golden age that wasn't.
- 2019‑07‑24:
Use plaintext email.
- 2019‑07‑24:
How (not) to sign a JSON object.
- 2019‑07‑24:
Notes on a smaller Rust.
- 2019‑07‑24:
Perils of constructors.
- 2019‑07‑24:
Object-oriented programming in C: a case study of git and the Linux kernel.
- 2019‑07‑24:
Automatic index recommendations in PostgreSQL using pg_qualstats and hypopg.
- 2019‑07‑24:
The mysterious PostgreSQL "backend_flush_after" configuration setting.
- 2019‑07‑24:
A client certificate authentication recipe for PostgreSQL Docker containers.
- 2019‑07‑24:
How are PostgreSQL functions and stored procedures replicated?
- 2019‑07‑24:
PostgreSQL tips for average and power users.
- 2019‑07‑24:
BRIN indexes in PostgreSQL.
- 2019‑07‑24:
Standby in production: scaling PostgreSQL for a large classified ads site.
- 2019‑07‑24:
Unblocking second-generation smart meters.
- 2019‑07‑24:
Python anti-patterns.
- 2019‑07‑24:
How the retweet ruined the Internet.
- 2019‑07‑24:
Lisp code for the textbook "Paradigms of Artificial Intelligence Programming".
- 2019‑07‑24:
Norvig and Pitman tutorial on good Lisp programming style.
- 2019‑07‑24:
Pascal Costanza's highly opinionated guide to Lisp.
- 2019‑07‑24:
A Common Lisp style guide.
- 2019‑07‑24:
Algebraic effects for the rest of us.
- 2019‑07‑24:
Facebook: Mark Zuckerberg's Ponzi scheme.
- 2019‑07‑24:
Mitchell Feigenbaum (1944-2019), 4.66920160910299067185320382...
- 2019‑07‑24:
Composable multi-threaded parallelism in Julia.
- 2019‑07‑23:
Kubernetes is in hospice.
- 2019‑07‑23:
Unicode utilities.
- 2019‑07‑23:
URLhaus: a database of malicious URLs used for malware distribution.
- 2019‑07‑23:
Signs your bra may be the wrong size or a snake.
- 2019‑07‑23:
Raspberry Pi time measurement performance.
- 2019‑07‑23:
Racket2 possibilities.
- 2019‑07‑23:
A pgp long key ID collider.
- 2019‑07‑22:
Do-nothing scripting: a path to gradual automation.
- 2019‑07‑22:
A2-class microSD cards offer no better performance for the Raspberry Pi.
- 2019‑07‑21:
Browsers are pretty good at loading web pages, it turns out.
- 2019‑07‑21:
LGP-30: a drum computer of significance.
- 2019‑07‑21:
Intel prepares add support for Google's bfloat16.
- 2019‑07‑21:
Satellite images show vast swaths of the arctic on fire.
- 2019‑07‑21:
The little-known Soviet mission to rescue the dead space station Salyut 7.
- 2019‑07‑21:
Models of generics and metaprogramming: Golang, Rust, Swift, D, and more.
- 2019‑07‑20:
PuTTY 0.72 release following end of EU bug bounty.
- 2019‑07‑20:
A list of private fusion projects.
- 2019‑07‑20:
History and effective use of vim.
- 2019‑07‑19:
A plan to mine the world's research papers.
- 2019‑07‑19:
Amateur radio digital communications 44.0.0.0/8 partial sell-off.
- 2019‑07‑19:
DataSpill: browser extensions slurped up browsing histories from 4M users.
- 2019‑07‑19:
The challenges of single toggle buttons.
- 2019‑07‑19:
The lesson from the ruins of Notre Dame: don't rely on billionaires.
- 2019‑07‑19:
XSS attacks on Googlebot allow search index manipulation.
- 2019‑07‑18:
How developers use API documentation: an observation study.
- 2019‑07‑18:
Analysis of the Galileo satellite navigation outage.
- 2019‑07‑17:
QuickJS: Fabrice Bellard's JavaScript engine.
- 2019‑07‑17:
Indexing documents for full text search in PostgreSQL.
- 2019‑07‑17:
Not so fast: the performance of WebAssembly vs. native code.
- 2019‑07‑17:
Zelda screen transitions are undefined behaviour.
- 2019‑07‑17:
You thought OpenStreetMap uses WGS84? No it doesn't!
- 2019‑07‑17:
What's coming in Python 3.8?
- 2019‑07‑17:
Certificate flooding, SKS and GnuPG issues, and the Sequoia pgp-in-Rust project.
- 2019‑07‑17:
What is unsafe Rust?
- 2019‑07‑17:
How to speed up the Rust compiler in 2019.
- 2019‑07‑17:
Stream combinators implemented using for await syntax in Rust.
- 2019‑07‑17:
An interview with Margaret Hamilton.
- 2019‑07‑17:
Who's afraid of a big bad optimizing compiler?
- 2019‑07‑17:
Modelling the mythical man-month with the universal scalability law.
- 2019‑07‑17:
Minisign, based on libsodium, compatible with OpenBSD signify.
- 2019‑07‑17:
The PGP problem.
- 2019‑07‑16:
Extending the algebraic manipulability of differentials.
- 2019‑07‑16:
Experience report: rebuilding Racket on Chez Scheme.
- 2019‑07‑16:
Elsa: Emacs Lisp static analyzer.
- 2019‑07‑16:
BPF performance tools: Linux system and application observability. (book announcement)
- 2019‑07‑16:
Ownership and borrowing in the D programming language.
- 2019‑07‑16:
Cookies: what does 'good' look like to the UK ICO?
- 2019‑07‑16:
Why did we wait so long for the bicycle?
- 2019‑07‑16:
A summary of USB-C cable features.
- 2019‑07‑15:
There are 6 kinds of USB-C cables.
- 2019‑07‑15:
dnsfrag2tc: force DNS clients to retry fragmented UDP over TCP using nfqueue.
- 2019‑07‑15:
OpenTTP: a platform for traceable time and frequency.
- 2019‑07‑15:
Against IETF BCP190 on URI design.
- 2019‑07‑15:
bulldohzer: DNS performance measurement tool for DoH and Do53.
- 2019‑07‑15:
Jony Ive's mistakes: when beautiful design is bad design.
- 2019‑07‑14:
What the hardware does is not what your program does with uninitialized memory.
- 2019‑07‑14:
Plot maps of Star Wars.
- 2019‑07‑14:
C++ curiosities: std::move doesn't move.
- 2019‑07‑13:
Why does the C++ standard ship every three years?
- 2019‑07‑13:
C++20 <version> header wreaks havoc on case-insensitive filesystems.
- 2019‑07‑13:
rnp: an OpenPGP library in C++.
- 2019‑07‑13:
notqmail: a collaborative open-source successor to netqmail and qmail.
- 2019‑07‑13:
Tiles to curves: fun with Voronoi graphs.
- 2019‑07‑12:
Literate commits.
- 2019‑07‑12:
International typography on the Web: language support matrix.
- 2019‑07‑12:
ARPANET: the subnet IMPs.
- 2019‑07‑12:
Fuzzing DNS zone parsers.
- 2019‑07‑11:
Lexical differential highlighting.
- 2019‑07‑11:
How to read the international phonetic alphabet.
- 2019‑07‑11:
DoX: a GUI utility for querying DNS via DoH, DoT, or Do53.
- 2019‑07‑11:
Identifying the PDP-7 where Unix began.
- 2019‑07‑11:
DNS fragmentation considered harmful.
- 2019‑07‑11:
Fragmentation considered harmful. (1987)
- 2019‑07‑11:
Pictures of the Cambridge Mathematical Laboratory from the early 1970s.
- 2019‑07‑10:
Raspberry Pi 4 PCI Express.
- 2019‑07‑10:
For 40 years, crashing trains was ovne of America's favorite pastimes.
- 2019‑07‑10:
Python consumes a lot of memory; how to reduce the size of objects?
- 2019‑07‑10:
Impact of A1 and A2 microSD card application performance class.
- 2019‑07‑10:
Raspberry Pi 4 microSD card performance comparisons.
- 2019‑07‑10:
Emulating higher-kinded types in Rust.
- 2019‑07‑10:
Rust async-await status report #2.
- 2019‑07‑09:
The "platform" excuse is dying.
- 2019‑07‑09:
Database transaction correctness anomalies under serializable isolation.
- 2019‑07‑09:
The Riemann Hypothesis says 5040 is the last.
- 2019‑07‑09:
Some Dockerfile best practices.
- 2019‑07‑08:
Tips for reviewing code you don't like.
- 2019‑07‑08:
Earth's eighth persistent lava lake confirmed in the South Sandwich Islands.
- 2019‑07‑08:
Cryptographic key size and algorithm recommendations.
- 2019‑07‑08:
Libsodium quick reference.
- 2019‑07‑08:
Cryptographic right answers.
- 2019‑07‑08:
Fuck RSA.
- 2019‑07‑08:
Linux 5.2 release notes.
- 2019‑07‑07:
Creating hardware where no hardware exists: using Intel SMM to emulate Apple SMC.
- 2019‑07‑07:
Secure EcmaScript: a secure runtime for running third-party code without ambient authority.
- 2019‑07‑07:
Deno: a runtime for TypeScript built with V8, Rust, and Tokio.
- 2019‑07‑06:
Collecting two electrons from each photon could break through the solar cell efficiency limit.
- 2019‑07‑06:
Amazon is liable for defective products sold by their 3rd party marketplace vendors.
- 2019‑07‑06:
Goodbye aberration: physicist solves 2,000-year-old optical problem.
- 2019‑07‑06:
Dr. Robin DiAngelo discusses 'White Fragility'. (YouTube)
- 2019‑07‑05:
Why the Raspberry Pi 4 is incompatible with some USB-C chargers.
- 2019‑07‑05:
Mistakes we make using JavaScript promises.
- 2019‑07‑05:
Software woven into wire: Core rope memory and the Apollo Guidance Computer.
- 2019‑07‑05:
The mystery of Florida's cannonball-eating Spanish fort.
- 2019‑07‑05:
How FZF and ripgrep improved my workflow.
- 2019‑07‑05:
The good voting systems agreement.
- 2019‑07‑05:
What is the female stress response and why is it interesting?
- 2019‑07‑05:
Why not to use two axes on a chart, and what to use instead.
- 2019‑07‑05:
Optimizing jieba-rs to be 33% faster than cppjieba.
- 2019‑07‑04:
The forgotten trans history of the Wild West.
- 2019‑07‑04:
A guide to peeling the trickiest foods.
- 2019‑07‑04:
A better zip decompression bomb.
- 2019‑07‑04:
The coming Boeing bailout?
- 2019‑07‑04:
User Inyerface: a worst-practice UI experiment.
- 2019‑07‑04:
Modern web design.
- 2019‑07‑03:
Why GitLab is ending support for MySQL.
- 2019‑07‑03:
Matlab vs. Julia vs. Python.
- 2019‑07‑03:
D as a C replacement.
- 2019‑07‑03:
Member function pointers in C++.
- 2019‑07‑03:
Tabs are more accessible to the visually impaired than spaces.
- 2019‑07‑02:
ReScue: a tool to detect exponential backtracking regex input.
- 2019‑07‑02:
TLS performance: rustls versus OpenSSL.
- 2019‑07‑02:
How Rust views tradeoffs.
- 2019‑07‑02:
Erskine May, the bible of parliamentary procedure.
- 2019‑07‑02:
Choose boring technology.
- 2019‑07‑02:
Reviving Tim Berners-Lee's WorldWideWeb browser on NeXTSTEP 486.
- 2019‑07‑01:
An astrobiologist tries cooking in Antarctica at -70°C.
- 2019‑07‑01:
lazydocker: a text UI to manage everything Docker.
- 2019‑07‑01:
How to pick a random number from 1-10 using only people.
- 2019‑07‑01:
Strongly TypeScript Vue.
- 2019‑07‑01:
AIs named by AIs.
- 2019‑07‑01:
The convoy phenomenon in lock contention.
- 2019‑07‑01:
jk: configuration as code with TypeScript.
- 2019‑06‑30:
NetBSD on the last G4 Mac mini (and making the kernel power failure proof).
- 2019‑06‑30:
jass: share secrets using SSH keys.
- 2019‑06‑30:
age: A design for a simple file encryption tool and format.
- 2019‑06‑30:
America's monopoly crisis hits the military.
- 2019‑06‑30:
Blitcha.
- 2019‑06‑28:
trustydns: DNS Over HTTPS proxy, server and query programs.
- 2019‑06‑27:
Thin yet repairable devices: HP proves they exist.
- 2019‑06‑26:
Implement with types, not your brain!
- 2019‑06‑26:
RapidCheck: a QuickCheck clone for C++, simple to use with as little boilerplate as possible.
- 2019‑06‑26:
Fuzzing vs property testing.
- 2019‑06‑26:
The Software Tools Users Group archive.
- 2019‑06‑26:
Google's llibc proposal vs musl libc.
- 2019‑06‑25:
Bloom indexes in PostgreSQL.
- 2019‑06‑24:
nom 5: parser combinators for Rust.
- 2019‑06‑24:
Call-by-need is clairvoyant call-by-value.
- 2019‑06‑24:
Facebook's Libra must be stopped.
- 2019‑06‑24:
The Petrie multiplier: how oppression is amplified against minorities.
- 2019‑06‑24:
In the wiggle of an ear, a surprising insight into bat sonar.
- 2019‑06‑24:
Build a Debian Raspberry Pi 3 image.
- 2019‑06‑24:
The spycraft revolution.
- 2019‑06‑24:
Raspberry Pi 4.
- 2019‑06‑24:
Before you use a password manager.
- 2019‑06‑24:
How to avoid dangerous counterfeits on Amazon.
- 2019‑06‑24:
What happens after Amazon's domination Is complete? Its bookstore offers clues.
- 2019‑06‑24:
What does debugging a program look like?
- 2019‑06‑23:
The simple essence of automatic differentiation.
- 2019‑06‑23:
FPGAs have the wrong abstraction for software acceleration.
- 2019‑06‑23:
Generative adversarial networks: the story so far.
- 2019‑06‑23:
Wikipedia page view counts for lyrics in Billy Joel's "we didn't start the fire".
- 2019‑06‑23:
json-table: Transform nested JSON data into tabular data.
- 2019‑06‑22:
mimalloc: a compact general purpose allocator with excellent performance.
- 2019‑06‑22:
Deprecating volatile in C++.
- 2019‑06‑22:
C, Fortran, and single-character strings.
- 2019‑06‑22:
A liquid helix model helps explain the dribbly teapot effect.
- 2019‑06‑22:
The typestate pattern in Rust.
- 2019‑06‑21:
Getting 2FA right.
- 2019‑06‑21:
Confusing JavaScript browser globals.
- 2019‑06‑20:
atexit() is broken.
- 2019‑06‑19:
Debian riscv64 port status.
- 2019‑06‑19:
Tools to set up macOS in QEMU / KVM.
- 2019‑06‑19:
Accelerating Redis with Intel DPDK.
- 2019‑06‑19:
Myths about testosterone and athletics.
- 2019‑06‑19:
Journalism and the TRS-80 model 100.
- 2019‑06‑19:
Nefarious LinkedIn exfiltrates a list of installed extensions from your browser.
- 2019‑06‑18:
Graham Nelson on open sourcing Inform 7.
- 2019‑06‑18:
Secure systems design principles.
- 2019‑06‑18:
Security architecture anti-patterns.
- 2019‑06‑18:
Containers, microservices, and service meshes.
- 2019‑06‑18:
Michaelhouse: a lost Cambridge college, 1324-1540.
- 2019‑06‑18:
Why women leave academia and why universities should be worried.
- 2019‑06‑17:
MillionDollarHomepage domains for sale.
- 2019‑06‑16:
Has "Homosexual" always been in the Bible?
- 2019‑06‑15:
How Joy Division's 'Unknown Pleasures' went from underground album cover to cultural ubiquity.
- 2019‑06‑14:
Grit: mirror monorepo subtrees to GitHub.
- 2019‑06‑14:
Using an iPad for LaTeX.
- 2019‑06‑14:
DNSSEC negative answer synthesis: measuring missing queries for missing names.
- 2019‑06‑13:
Teaching a cheap Dell ethernet switch new tricks.
- 2019‑06‑13:
How to design for the web in 2019.
- 2019‑06‑13:
Adding static type checking to Julia in 100 lines of code.
- 2019‑06‑13:
Preemption is GC for memory reordering.
- 2019‑06‑13:
CERN Microsoft alternatives project: taking back control using open software.
- 2019‑06‑12:
A compilation of Kubernetes failure/horror stories.
- 2019‑06‑12:
RAMbleed: reading bits in memory without accessing them.
- 2019‑06‑12:
Matrix 1.0 and the Matrix.org foundation.
- 2019‑06‑12:
Missions to Mars during the 2020 minimum energy launch window.
- 2019‑06‑12:
"1984" at seventy: why we still read Orwell's book.
- 2019‑06‑12:
Out of stock: how to survive the lack of LTO-8 tapes.
- 2019‑06‑12:
A C++ access control pattern: the badge.
- 2019‑06‑12:
IBM and the Holocaust.
- 2019‑06‑12:
You (probably) don't need ReCAPTCHA.
- 2019‑06‑12:
Using the Z3 SMT solver to find optimal GBA palettes.
- 2019‑06‑11:
How the CIA flattened literature.
- 2019‑06‑11:
Typed constants in Golang.
- 2019‑06‑11:
From design patterns to category theory.
- 2019‑06‑11:
From dependency injection to dependency rejection.
- 2019‑06‑11:
Compiling to categories.
- 2019‑06‑11:
Unicode programming, with examples in C.
- 2019‑06‑11:
AMD Zen 2 microarchitecture analysis: Ryzen 3000 and EPYC Rome.
- 2019‑06‑10:
The ice bucket challenge dramatically accelerated the fight against ALS.
- 2019‑06‑09:
Opera, Brave, Vivaldi to ignore Chrome's anti-ad-blocker changes.
- 2019‑06‑08:
A mysterious crystal that melts at two different temperatures.
- 2019‑06‑08:
World flags as Japanese cosplay.
- 2019‑06‑07:
Using pointers in Ada SPARK.
- 2019‑06‑07:
Why do Python lists let you += a tuple, when you can't + a tuple?
- 2019‑06‑07:
Quantum leaps, long assumed to be instantaneous, take time.
- 2019‑06‑07:
DSAC: why is NASA sending an atomic clock into space?
- 2019‑06‑07:
Happy birthday, BGP.
- 2019‑06‑07:
A lithium-glass battery that keeps getting better?
- 2019‑06‑06:
Google street view hyperlapse. (Video)
- 2019‑06‑06:
The weather forecaster: The man who decided D-Day.
- 2019‑06‑06:
Tokyo mechanical keyboard meetup photos.
- 2019‑06‑06:
Using one RNG to sample another: the shrinking generator and stream ciphers.
- 2019‑06‑05:
The cutting-edge of cutting: How Japanese scissors have evolved.
- 2019‑06‑05:
Good Omens: Neil Gaiman and creators talk about adapting the book for TV.
- 2019‑06‑05:
Links to papers on the history of atomic clocks.
- 2019‑06‑05:
This page is a truly naked, brutalist html quine.
- 2019‑06‑04:
Colons in computer-science paper titles.
- 2019‑06‑04:
Challenges in time transfer using the network time protocol (NTP).
- 2019‑06‑04:
The abominable Laffer curve.
- 2019‑06‑04:
Google Chrome, the perfect antitrust villain?
- 2019‑06‑03:
Analyzing performance analysis performance: weird PostgreSQL slowness on Docker for Mac.
- 2019‑06‑03:
Brython: Python 3 in the browser.
- 2019‑06‑03:
Uh-oh .io: Question mark over trendy TLD as UN condemns British treatment of Chagos.
- 2019‑06‑03:
What makes a (graphics / SIGGRAPH) systems paper beautiful.
- 2019‑06‑03:
REIN: repetitive electrical impulse noise.
- 2019‑06‑02:
Compiling C to WebAssembly without Emscripten.
- 2019‑06‑02:
At least one Vim trick you might not know.
- 2019‑06‑02:
Metadata is the biggest little problem plaguing the music industry.
- 2019‑06‑02:
A DIY microhydro plant.
- 2019‑06‑02:
Reinventing the small wind turbine.
- 2019‑06‑02:
Scaling to 1 million active GraphQL subscriptions with Hasura and PostgreSQL.
- 2019‑06‑01:
How Qualcomm shook down the cell phone industry for almost 20 years.
- 2019‑06‑01:
Notes to myself on software engineering.
- 2019‑05‑30:
Why Intel Ice Lake AVX512 is important: a bit-basher's perspective.
- 2019‑05‑30:
Cake or death: AMP and the worrying power dynamics of the web.
- 2019‑05‑30:
runtypes: runtime validation for static types in TypeScript.
- 2019‑05‑30:
io-ts: runtime types for IO decoding/encoding in TypeScript.
- 2019‑05‑30:
Announcing TypeScript 3.5.
- 2019‑05‑30:
WhatDoTheyKnow Pro helps TBIJ get the whole picture on council land sell-off.
- 2019‑05‑30:
The author of uBlock on Google Chrome's proposal to cripple ad blockers.
- 2019‑05‑30:
Google's IPv6 traffic stats: will 28% deployment really be the limit?
- 2019‑05‑30:
Google goes ahead with ad-blocker crackdown, except for paid-up enterprise Chrome users.
- 2019‑05‑30:
Goroutine local storage.
- 2019‑05‑28:
Beating up on qsort with radix sort.
- 2019‑05‑28:
inNative: WebAssembly as an architecture-neutral executable distribution format.
- 2019‑05‑27:
An interview with DuckDuckGo CEO Gabe Weinberg.
- 2019‑05‑27:
Ten simple rules for better charts and graphs.
- 2019‑05‑27:
Pragmatic Debian packaging in 2019.
- 2019‑05‑27:
How we found the source of the mystery signals at The Dish.
- 2019‑05‑27:
Urbanism under Google: lessons from Sidewalk Toronto.
- 2019‑05‑27:
Insulin pumps, decapped chips, and software defined radios.
- 2019‑05‑27:
We need to talk about digital blackface in reaction GIFs.
- 2019‑05‑26:
RCE without native code: exploiting a write-what-where vulnerability in Internet Explorer.
- 2019‑05‑26:
The Euclid-Mullin sequence of prime numbers.
- 2019‑05‑26:
Giving Haskell a promotion.
- 2019‑05‑26:
Button placement and order in web forms and dialogs.
- 2019‑05‑26:
What the Royal Astronomical Society in 1884 tells us about Python time handling bugs.
- 2019‑05‑26:
Thinking with Types: type-level programming in Haskell.
- 2019‑05‑26:
Higher-order type-level programming in Haskell.
- 2019‑05‑26:
Self-distancing: what it is and how you can use it to make better decisions.
- 2019‑05‑26:
Is SpaceX's Raptor the king of rocket engines?
- 2019‑05‑25:
CSS rules that will make your life easier.
- 2019‑05‑25:
The lingua franca of LaTeX.
- 2019‑05‑25:
MIDI 2.0, MIDI-CI, profiles, and property exchange.
- 2019‑05‑24:
Extending the slit-scan video special effect technique.
- 2019‑05‑24:
How to ruin a perfectly good container.
- 2019‑05‑24:
Creating C/C++ APIs in Rust.
- 2019‑05‑24:
The definitive guide to running EC2 spot instances as Kubernetes worker nodes.
- 2019‑05‑24:
A Kubernetes any% speedrun.
- 2019‑05‑24:
Website popularity rankings: an extensive analysis.
- 2019‑05‑24:
Hobbling Huawei: the 5G risks of China's tech giant.
- 2019‑05‑24:
LEGO Braille bricks.
- 2019‑05‑23:
Animagraffs: animated infographics about everything.
- 2019‑05‑23:
507 mechanical movements.
- 2019‑05‑23:
When the AWS DNS resolver drops packets because you hit the query quota.
- 2019‑05‑23:
Visualizing PostgreSQL vacuum progress.
- 2019‑05‑23:
Analysis of various tricky Rust code.
- 2019‑05‑23:
Efficiently searching in-memory sorted arrays: revenge of the interpolation search?
- 2019‑05‑23:
Exploring new frontiers for Git push performance.
- 2019‑05‑23:
Stupid git tricks: Combining two files into one while preserving line history.
- 2019‑05‑22:
The physical kilogram is officially dead.
- 2019‑05‑22:
It's a trap-ezoid: CSS Shapes aren't what you'd expect.
- 2019‑05‑22:
ads.txt specification for authorized ad resellers.
- 2019‑05‑21:
Heroines of chaos: Ellen Fetter and Margaret Hamilton.
- 2019‑05‑21:
Make Linux fast again: when you don't need sidechannel vulnerability protection.
- 2019‑05‑20:
Star Wars Vader vs Kenobi, reimagined.
- 2019‑05‑20:
A tale of query optimization in PostgreSQL.
- 2019‑05‑20:
Fixing an XSS vulnerability in the Haskell search engine Hoogle.
- 2019‑05‑20:
IBM 360 Model 20 rescue and restoration.
- 2019‑05‑19:
When male runners lose to women.
- 2019‑05‑19:
Virtual DOM is pure overhead.
- 2019‑05‑19:
Using Ed25519 signing keys for encryption.
- 2019‑05‑18:
Abusing SECURITY DEFINER functions in PostgreSQL.
- 2019‑05‑18:
Black, hot superionic ice may be nature's most common form of water.
- 2019‑05‑17:
The 2019 Linux storage, filesystem, and memory-management summit.
- 2019‑05‑17:
WireGuard on OpenBSD.
- 2019‑05‑17:
The story male editors kept killing.
- 2019‑05‑17:
Pointedly confusing: a longstanding sizeof() bug in Microsoft C.
- 2019‑05‑17:
dnsfire: a proof-of-concept DNS-driven firewall enforcer.
- 2019‑05‑17:
Writing a procedural puzzle generator.
- 2019‑05‑17:
Fundamental design principles for non-designers.
- 2019‑05‑16:
The 3.5% rule: a threshold of success for non-violent protest.
- 2019‑05‑16:
A report from Google's AMP advisory committee meeting.
- 2019‑05‑15:
Things you might not be using in Python 3, but should.
- 2019‑05‑15:
Going Critical: diffusion models, disease, and knowledge.
- 2019‑05‑13:
A horrifying globalThis polyfill in universal JavaScript.
- 2019‑05‑12:
Linux iptables processing flowchart.
- 2019‑05‑12:
The fully general system for learning to do hard things.
- 2019‑05‑12:
Trial of overhead electric lines for HGVs in Germany.
- 2019‑05‑12:
The peculiar blindness of experts.
- 2019‑05‑11:
OCaml has some shiny new monadic and applicative syntax.
- 2019‑05‑11:
Shenandoah GC in production: an experience report.
- 2019‑05‑11:
Announcing GraalVM 19.
- 2019‑05‑11:
2D graphics on modern GPU.
- 2019‑05‑11:
From collisions to chosen-prefix collisions, applied to full SHA-1.
- 2019‑05‑10:
Agnotology and epistemological fragmentation.
- 2019‑05‑10:
Compile-time coprocessor codegen with Rust macros.
- 2019‑05‑10:
It's time to break up Facebook.
- 2019‑05‑10:
Fourier synthesis vector CRT character generator.
- 2019‑05‑10:
PostScript and Interpress: a comparison. (1985)
- 2019‑05‑10:
Why are 2D vector graphics so much harder than 3D?
- 2019‑05‑09:
Inside the recovery from the Firefox add-on certificate expiry failure.
- 2019‑05‑09:
For better computing, liberate CPUs with a garbage collection coprocessor.
- 2019‑05‑09:
Post-mortem and remediations for matrix.org's April security incident.
- 2019‑05‑09:
When dates became regular and universal, it changed history.
- 2019‑05‑08:
JSMpeg: an MPEG1 decoder in JavaScript for low-latency streaming.
- 2019‑05‑08:
How C array sizes become part of a library's ABI.
- 2019‑05‑08:
Google Ads malware seen in the wild.
- 2019‑05‑08:
Brian Kernighan interviews Ken Thompson. (YouTube)
- 2019‑05‑08:
Ted Chiang returns with an awe-inducing collection "Exhalation".
- 2019‑05‑08:
pg_auto_failover: Open source extension for high availability of PostgreSQL.
- 2019‑05‑08:
Dealing with software collapse / rot.
- 2019‑05‑08:
Securing network time.
- 2019‑05‑08:
Surprisingly Turing-Complete.
- 2019‑05‑08:
Securing cookies with cookie prefixes.
- 2019‑05‑08:
Building a URL shortener with only AWS Lambda.
- 2019‑05‑08:
css-only-chat: A truly monstrous async web chat using no JS whatsoever on the frontend.
- 2019‑05‑07:
How Cloudflare serves up hate online.
- 2019‑05‑07:
Halving metrics ingestion latency by (briefly) forking the Golang compiler.
- 2019‑05‑07:
How Rust solves dependency hell.
- 2019‑05‑07:
ups: an X11 debugger for C.
- 2019‑05‑06:
May 1968: a chronology of events in France and internationally.
- 2019‑05‑06:
Low-latency typing with pleasure.
- 2019‑05‑06:
Rust await syntax considerations.
- 2019‑05‑06:
A final proposal for await syntax in Rust.
- 2019‑05‑06:
The existential crisis plaguing online extremism researchers.
- 2019‑05‑06:
Lithium-ion batteries from Amazon are exploding.
- 2019‑05‑05:
How twisted graphene became the big thing in physics.
- 2019‑05‑04:
Unraveling the JPEG.
- 2019‑05‑04:
Legit: an esoteric programming language encoded in a git commit graph.
- 2019‑05‑04:
Don't do this with PostgreSQL.
- 2019‑05‑03:
Enforcing compile-time permission checking with TypeScript brands.
- 2019‑05‑03:
Generic returns in Rust.
- 2019‑05‑03:
Mathematical jargon failures.
- 2019‑05‑02:
The myth of the impartial machine.
- 2019‑05‑01:
The search for McLaren's extra pedal.
- 2019‑05‑01:
YouTube's conspiracy to kill IE6.
- 2019‑05‑01:
What we're learning about how the sector understands "digital".
- 2019‑05‑01:
GIN indexes in PostgreSQL.
- 2019‑04‑29:
The weirdest JavaScript syntax.
- 2019‑04‑29:
Too simple to be simple.
- 2019‑04‑29:
Why isn't 1 a prime number?
- 2019‑04‑29:
The saddest thing about the integers: you can't tune a piano.
- 2019‑04‑28:
The structure of a programming language revolution.
- 2019‑04‑28:
Forget privacy: you're terrible at targeting anyway.
- 2019‑04‑28:
Psychology of human misjudgment.
- 2019‑04‑27:
Stop memset()ing structures.
- 2019‑04‑27:
A woman's work: the inside story.
- 2019‑04‑27:
Turing completeness, weird machines, and muddled terminology.
- 2019‑04‑27:
Open-sourcing F14: Facebook's memory-efficient hash tables.
- 2019‑04‑26:
Ireland blocks the world on data privacy.
- 2019‑04‑26:
Making the DNS more private with QNAME minimisation.
- 2019‑04‑25:
Extensibility, XML Vocabularies, and XML Schema.
- 2019‑04‑24:
Getting started with qemu.
- 2019‑04‑24:
First debris pieces from the Indian ASAT test of 27 March catalogued.
- 2019‑04‑24:
A 'blockchain bandit' is guessing private keys and scoring millions.
- 2019‑04‑24:
Past the tipping point: the persistence of firefighting in product development.
- 2019‑04‑23:
Consoles of IBM System/360 mainframes.
- 2019‑04‑23:
When workers control the code.
- 2019‑04‑23:
(Right to Left (The Mirror World
- 2019‑04‑23:
TLS guidelines from NCSC-NL.
- 2019‑04‑23:
Egg Clock, with photochromic paint and a laser. (YouTube)
- 2019‑04‑23:
An overview of the C++ lifetime safety proposal.
- 2019‑04‑23:
Lifetime safety: preventing common dangling pointer errors in C++.
- 2019‑04‑23:
Modern C++ won't save us.
- 2019‑04‑22:
Windows CreateProcess() is accidentally quadratic.
- 2019‑04‑22:
Generating fractals with Postgres.
- 2019‑04‑22:
Is everything an MLM?
- 2019‑04‑22:
Some internet outages predicted soon as BGP '768k Day' approaches.
- 2019‑04‑22:
Hardening SSH with 2FA.
- 2019‑04‑22:
Facial recognition is the plutonium of AI.
- 2019‑04‑22:
Optimize What? Silicon Valley is full of the stupidest geniuses you'll ever meet.
- 2019‑04‑21:
The antique toaster that's better than yours. (YouTube)
- 2019‑04‑21:
Computus, antisemitism, and the early christian debate over easter.
- 2019‑04‑21:
Defeating Racket's separate compilation guarantee.
- 2019‑04‑20:
Fairylog: a Racket DSL for generating Verilog.
- 2019‑04‑20:
BYD, the world's biggest electric car maker.
- 2019‑04‑20:
New features in Fortran 2018.
- 2019‑04‑20:
What is Infocom ZIL anyway?
- 2019‑04‑19:
12 nice Rust libraries you should try.
- 2019‑04‑19:
Custom allocators in C++.
- 2019‑04‑18:
Neopentylglycol: a competitive solid refrigerant.
- 2019‑04‑18:
Adventures in reverse engineering Broadcom NIC firmware.
- 2019‑04‑18:
Thundering herds and cached promises.
- 2019‑04‑18:
Microsoft Windows Tiles vulnerable to a subdomain takeover attack.
- 2019‑04‑17:
Let's Encrypt will transition to their own root CA in July.
- 2019‑04‑17:
Post-surgical deaths in Scotland drop by a third, with the help of a checklist.
- 2019‑04‑17:
From the MCU to Star Wars: in praise of poorly built worlds.
- 2019‑04‑17:
RFC 8546: the wire image of a network protocol.
- 2019‑04‑17:
Nearly every sport except long-distance running is fundamentally absurd.
- 2019‑04‑16:
A look at IBM/360 core memory.
- 2019‑04‑16:
More DoH.
- 2019‑04‑15:
Convenient and idiomatic conversions in Rust.
- 2019‑04‑14:
A wander through a weird landscape to the heart of compilation.
- 2019‑04‑14:
Moving to a provenance-aware memory object model for C: a proposal for C2x.
- 2019‑04‑14:
Autonomous precision landing of space rockets.
- 2019‑04‑13:
Languages I want to write.
- 2019‑04‑13:
Automated testing of Rust examples in README files.
- 2019‑04‑13:
Value categories and references to them in C++.
- 2019‑04‑13:
Stable half-pixel filtering for video codecs.
- 2019‑04‑12:
A novel compact VLF antenna for communicating where other radios fail.
- 2019‑04‑11:
Using 6 page and 2 page documents to make organizational decisions.
- 2019‑04‑11:
Visibility of IPv4 and IPv6 prefix lengths.
- 2019‑04‑11:
EU agencies falsely report more than 550 archive.org URLs as terrorist content.
- 2019‑04‑10:
Mysterious safety-tampering malware infects a second critical infrastructure site.
- 2019‑04‑10:
Network boot to the rescue, with UEFI and IPv6.
- 2019‑04‑10:
Building the System/360 mainframe nearly destroyed IBM.
- 2019‑04‑10:
NVMM: NetBSD virtual machine manager.
- 2019‑04‑10:
A fork() in the road.
- 2019‑04‑09:
Amazon shoppers misled by 'bundled' star-ratings and reviews.
- 2019‑04‑09:
Facebook's ad targeting algorithm is inherently biased.
- 2019‑04‑08:
Most people do not expect Google to track their activities so pervasively.
- 2019‑04‑08:
Codecademy vs. the BBC Micro.
- 2019‑04‑08:
Angst about DNS privacy and DoH / DoC.
- 2019‑04‑08:
Types for programming and reasoning.
- 2019‑04‑08:
Compiling C to WebAssembly using clang/LLVM and WASI.
- 2019‑04‑07:
How poor public transport explains the UK's productivity puzzle.
- 2019‑04‑07:
Most browsers do not let you turn off hyperlink auditing third-party click tracking.
- 2019‑04‑07:
Fast directory listing on Linux.
- 2019‑04‑05:
Writing six-pagers at Amazon.
- 2019‑04‑05:
"Problems" with git format-patch and Gmail.
- 2019‑04‑05:
Using grub to patch the bios so Windows will boot with 16 GB of RAM in a motherboard that doesn't support it.
- 2019‑04‑04:
Idiomatic monads in Rust.
- 2019‑04‑02:
From gnuplot to Matplotlib and Pandas.
- 2019‑04‑01:
Mailchimp's Mandrill outage due to PostgreSQL XID wraparound.
- 2019‑04‑01:
Learning from The Economist's errors in data visualisation.
- 2019‑04‑01:
A parser for the TLS data description language used in the IETF RFCs.
- 2019‑03‑31:
Why are economists giving Piketty the cold shoulder?
- 2019‑03‑31:
Transparent huge pages: measuring the performance impact on a large JVM application.
- 2019‑03‑31:
Making chip packaging simpler.
- 2019‑03‑31:
RaptorQ (RFC6330) performance optimization in Rust.
- 2019‑03‑30:
The day the dinosaurs died.
- 2019‑03‑30:
Common statistical tests are linear models, or, how to teach stats.
- 2019‑03‑30:
DEC VT100 raster CRT typography.
- 2019‑03‑29:
Five super helpful Rust things that you might not have been told about.
- 2019‑03‑29:
mal: make a lisp.
- 2019‑03‑29:
The filter bubble is actually a decision bubble.
- 2019‑03‑28:
Lucet: Fastly's native WebAssembly compiler and runtime.
- 2019‑03‑28:
Stoicism's appeal to the rich and powerful.
- 2019‑03‑28:
The phantom builder in Rust.
- 2019‑03‑27:
Appl still hasn't fixd its MacBook kyboad poblm.
- 2019‑03‑27:
Some reasons why ASN.1 BER/CER/DER and other TLV encodings are bad.
- 2019‑03‑27:
From L3 to seL4: what have we learnt in 20 years of L4 microkernels?
- 2019‑03‑27:
An Intel programmer's impressions of ARM SIMD programming.
- 2019‑03‑27:
Sum-of-three-cubes problem solved for stubborn number 33.
- 2019‑03‑27:
A commentary on Arthur Whitney's b compiler.
- 2019‑03‑27:
Unexpected DNSKEY query growth around the 2018 root zone KSK rollover.
- 2019‑03‑26:
European parliament votes to delegate summer time rules to member states.
- 2019‑03‑26:
An experimental DNS-over-QUIC to UDP proxy.
- 2019‑03‑26:
Moral crumple zones: The future of designing autonomous systems will involve ethnographers.
- 2019‑03‑26:
Moral crumple zones: cautionary tales in human-robot interaction.
- 2019‑03‑25:
Gravitational lensing: a new Einstein cross is discovered.
- 2019‑03‑25:
In defense of YAML.
- 2019‑03‑25:
Hexagonal cross stitch.
- 2019‑03‑24:
What has your microcode done for you lately?
- 2019‑03‑24:
On the S-Box of GOST Streebog and Kuznyechik.
- 2019‑03‑24:
Pyre: Facebook's static type checker for Python.
- 2019‑03‑24:
PyType: Google's static type analyzer for Python.
- 2019‑03‑24:
KaTeX: the fastest math typesetting library for the web.
- 2019‑03‑24:
Symbols and functions available and not available in KaTeX.
- 2019‑03‑24:
PyRight: a static type checker for Python written by Microsoft in TypeScript.
- 2019‑03‑23:
Maybe you want Nomad rather than Kubernetes.
- 2019‑03‑23:
A Julia interpreter and debugger.
- 2019‑03‑23:
SRE case study: http load balancer confusion caused by broken back end web server.
- 2019‑03‑22:
Under the hood of the new ARIN web site.
- 2019‑03‑22:
So you want your app/website to work in China...
- 2019‑03‑21:
Computer latency at human scale.
- 2019‑03‑20:
Hacking JSON Web Tokens.
- 2019‑03‑20:
The pneumatic clock network in Paris, 1880-1927.
- 2019‑03‑20:
International space station docking standard.
- 2019‑03‑20:
How to take back control of /etc/resolv.conf on Linux.
- 2019‑03‑20:
CVE-2019-6454: systemd (PID1) crash with specially crafted unprivileged D-Bus message.
- 2019‑03‑20:
When pigs fly: optimising bytecode interpreters.
- 2019‑03‑20:
Optimizing a 350 line pathtracer in Rust From 48s to 5s.
- 2019‑03‑20:
Hardware debugging with JTAG on a Raspberry Pi.
- 2019‑03‑20:
Neo-Nazis bet big on Bitcoin (and lost).
- 2019‑03‑18:
IPv6 address unmasking via UPnP.
- 2019‑03‑18:
Meritocracy doesn't exist, and believing it does is bad for you.
- 2019‑03‑17:
Questions on the future of Open Source.
- 2019‑03‑17:
The 15 most famous transcendental numbers.
- 2019‑03‑17:
Nile shipwreck discovery proves Herodotus right, after 2,469 years.
- 2019‑03‑17:
On the hunt for Japan's elaborate, colorful utility access covers.
- 2019‑03‑17:
What is Amazon?
- 2019‑03‑17:
Unicode TOFU: detect changes to strings over time that might be spoofing.
- 2019‑03‑17:
Association of cognitive function with carbon dioxide exposure in office workers.
- 2019‑03‑17:
A gallery of early computers, 1940s - 1960s.
- 2019‑03‑16:
DNS timeline.
- 2019‑03‑16:
Analytical methods for mapping a circular disc to a square.
- 2019‑03‑16:
Repairing brass instruments with magnets.
- 2019‑03‑16:
William Jones: the man who invented π.
- 2019‑03‑15:
XXH3: a new speed-optimized hash algorithm.
- 2019‑03‑15:
What causes Ruby memory bloat?
- 2019‑03‑15:
Gwern's law: ads cost you 10% of your traffic.
- 2019‑03‑14:
Porting PuTTY to Windows on Arm.
- 2019‑03‑14:
A curious case of intermittent test failures due to slow SSD TRIM.
- 2019‑03‑14:
On the past, present, and future of COBOL.
- 2019‑03‑13:
Alice 4: a tablet dedicated to old SGI demos.
- 2019‑03‑13:
Fast / accurate floating point division with known divisor.
- 2019‑03‑13:
Generating bit combinations with Gosper's hack.
- 2019‑03‑13:
RFC 8555 ACME: universal encryption through automation.
- 2019‑03‑13:
GoDaddy, Apple, and Google misissue >1 million certificates with short serial numbers.
- 2019‑03‑13:
'The Left Hand of Darkness' at fifty.
- 2019‑03‑13:
Bugs and fixes for boot delays due to lack of random entropy on Linux.
- 2019‑03‑12:
Tips for a JavaScript-free web frontend.
- 2019‑03‑12:
Researchers find critical backdoor in Swiss online voting system.
- 2019‑03‑12:
Font shaping is Turing complete.
- 2019‑03‑10:
Usability improvements in GCC 9.
- 2019‑03‑10:
Lvalue min and max in C++.
- 2019‑03‑08:
Theranos: How a broken patent system sustained its decade-long deception.
- 2019‑03‑07:
A Golang malformed HTTP POST mystery.
- 2019‑03‑07:
Why do remote meetings suck so much?
- 2019‑03‑07:
Orchestrating false beliefs about gender discrimination.
- 2019‑03‑07:
Gender imbalances in the world's leading orchestras.
- 2019‑03‑07:
The precarious effort to continue traditional soy sauce production in Japan.
- 2019‑03‑06:
Automated tools discriminate against Black American language.
- 2019‑03‑06:
Keeping CALM: when distributed consistency is easy.
- 2019‑03‑06:
Why American rail construction costs are so high.
- 2019‑03‑06:
Mathgen: Randomly generated mathematics research papers.
- 2019‑03‑04:
Remote code execution and Domain Admin privileges due to a typo in PHP.
- 2019‑03‑04:
A quick look at QUIC.
- 2019‑03‑04:
What part of "No!" doesn't the DNS understand?
- 2019‑03‑04:
TLS in F*: Generating C code that people actually want to use.
- 2019‑03‑04:
Near misses, and how to avoid catastrophe.
- 2019‑03‑04:
The birthday paradox: on Jupiter, and beyond!
- 2019‑03‑04:
The MBA myth and the CEO cult.
- 2019‑03‑04:
Discrete robot motion planning in a continuous domain.
- 2019‑03‑03:
Understanding real-world concurrency bugs in Golang.
- 2019‑03‑03:
Debugging the Postgres query planner.
- 2019‑03‑03:
Memory Models: a case for rethinking parallel languages and hardware.
- 2019‑03‑03:
Not quite so broken TLS.
- 2019‑03‑03:
Lower bounds for the cost of multiplication via network coding.
- 2019‑03‑02:
Your database migrations are bad and you should feel bad.
- 2019‑03‑02:
Millions of binaries later: a look into Linux hardening in the wild.
- 2019‑03‑02:
OpenSSL future architecture plans.
- 2019‑03‑01:
DigiCert in-addr.arpa X.509 certificate mis-issuance.
- 2019‑03‑01:
Casper's clever little nightlight.
- 2019‑03‑01:
NASA is planning a space station in a weird lunar orbit.
- 2019‑03‑01:
Transparent logs for skeptical clients.
- 2019‑03‑01:
Formally specifying user interfaces.
- 2019‑03‑01:
Twitter (un)official API keys.
- 2019‑03‑01:
Reconstructing Twitter's firehose.
- 2019‑03‑01:
re2c: a free and open-source lexer generator for C and C++.
- 2019‑03‑01:
Hyperscan: a fast multi-pattern regex matcher for modern CPUs.
- 2019‑03‑01:
University of California terminates subscriptions with Elsevier in support of open access.
- 2019‑03‑01:
The other wrapping-the-Earth problem.
- 2019‑03‑01:
Git over FTP.
- 2019‑02‑28:
A deep dive on the recent widespread DNS hijacking attacks.
- 2019‑02‑28:
The surprising subtleties of zeroing a register.
- 2019‑02‑28:
We need Chrome no more.
- 2019‑02‑28:
PostgreSQL BRIN indexes: performance for big data with minimal storage.
- 2019‑02‑28:
The current state of open source backup management for PostgreSQL.
- 2019‑02‑28:
ExSpectre: hiding malware in speculative execution.
- 2019‑02‑27:
The soothing promise of our own artisanal Internet.
- 2019‑02‑27:
Content moderation has no easy answers.
- 2019‑02‑27:
Why women are underrepresented in clinical trials.
- 2019‑02‑27:
The 1979 Delft cycle plan.
- 2019‑02‑27:
Running a bakery on Emacs and PostgreSQL.
- 2019‑02‑26:
Thunderclap: vulnerabilities in IOMMU protection against untrustworthy peripherals.
- 2019‑02‑26:
The unscalable deadlock-prone thread pool.
- 2019‑02‑26:
Normalization of deviance.
- 2019‑02‑26:
Sisterhood of Cycling: the radical roots of the bicycle.
- 2019‑02‑26:
Type systems and logic.
- 2019‑02‑25:
Vim anti-patterns.
- 2019‑02‑25:
Stabilizer: statistically sound performance evaluation.
- 2019‑02‑24:
A meta approach to implementing programming languages.
- 2019‑02‑24:
How does the measles vaccine protect against other infectious diseases?
- 2019‑02‑24:
Stressing the elements: "illegal" Lego builds.
- 2019‑02‑24:
Enquire: discover C limits.h and float.h machine and compiler properties.
- 2019‑02‑24:
The cost of abstraction.
- 2019‑02‑24:
PostgreSQL on Linux fsync failure fixed.
- 2019‑02‑24:
The magical thinking of guys who love logic.
- 2019‑02‑23:
Varieties of polymorphism in Haskell.
- 2019‑02‑23:
Why does Julia work so well?
- 2019‑02‑23:
How not to measure computer system performance.
- 2019‑02‑22:
Gordon Ramsay's approach to food helped my family of autistic eaters.
- 2019‑02‑22:
Password managers: under the hood of secrets management.
- 2019‑02‑22:
Finally tagless, partially evaluated.
- 2019‑02‑21:
TSMC's photoresist contamination incident: $550 million in lost revenue.
- 2019‑02‑21:
COI: chat-over-IMAP.
- 2019‑02‑21:
Delta Chat: chat-over-email.
- 2019‑02‑21:
Patent exhaustion and open source.
- 2019‑02‑21:
Exploitation from malicious PCI Express peripherals.
- 2019‑02‑21:
simdjson: Parsing gigabytes of JSON per second.
- 2019‑02‑21:
How to get rid of sponsored Facebook posts.
- 2019‑02‑20:
Lessons from six software rewrite stories.
- 2019‑02‑20:
Mathematics, morally.
- 2019‑02‑20:
Vector instructions are better then SIMD instructions.
- 2019‑02‑20:
Maybe 'Oumuamua is an interstellar snowflake.
- 2019‑02‑19:
AWS Nitro system.
- 2019‑02‑19:
3264 conics tangent to five conics.
- 2019‑02‑19:
Linux kernel DNS resolver module.
- 2019‑02‑19:
Why a grape turns into a fireball in a microwave.
- 2019‑02‑18:
ASCII art in comments in code.
- 2019‑02‑18:
Spectre is here to stay: An analysis of side-channels and speculative execution.
- 2019‑02‑18:
Machine-learning in science is producing results that are misleading and often completely wrong.
- 2019‑02‑18:
Differential privacy: an easy case.
- 2019‑02‑18:
Dropgangs: darknet markets using systems of dead drops.
- 2019‑02‑18:
Encrypted databases, searchable encryption, and the ever-expanding leakage function.
- 2019‑02‑18:
Operable software: on simplicity, complexity, and observability.
- 2019‑02‑18:
How GitLab used delayed replication for disaster recovery with PostgreSQL.
- 2019‑02‑18:
Towards an understanding of technical debt.
- 2019‑02‑18:
The log/event processing pipeline you can't have.
- 2019‑02‑18:
LD_PRELOAD: the hero we need and deserve.
- 2019‑02‑17:
The joy of standards.
- 2019‑02‑17:
You probably don't need a single-page application.
- 2019‑02‑17:
Mesh: compacting memory management for C/C++ applications.
- 2019‑02‑17:
The rest of the world always knew Churchill was a villain.
- 2019‑02‑16:
Information related to #dns on freenode.
- 2019‑02‑16:
The Single Rotation rule: a remarkably simple and rich reversible cellular automaton.
- 2019‑02‑15:
The complicated economy of Open Source software.
- 2019‑02‑15:
Don't get clever with login forms.
- 2019‑02‑15:
Dudle: online event coordination and survey application. (A Free alternative to Doodle.)
- 2019‑02‑15:
Computing extremely accurate quantiles using t-digests.
- 2019‑02‑15:
Tubes vs. transistors: a comparative study.
- 2019‑02‑15:
Lessons from Google's geographical GDPR goof.
- 2019‑02‑15:
Logical difficulties in modern mathematics.
- 2019‑02‑15:
Why do the Northern and Southern Lights differ?
- 2019‑02‑15:
Making a Menger sponge in stained glass.
- 2019‑02‑14:
How white space killed an enterprise app, and why data density matters.
- 2019‑02‑13:
A history of the Network Information Center.
- 2019‑02‑13:
Is email making professors stupid?
- 2019‑02‑12:
The curious case of disappearing buses.
- 2019‑02‑12:
Kubernetes ndots 5 and long DNS search path.
- 2019‑02‑11:
None of my web projects want to be single page applications.
- 2019‑02‑11:
1839 woven portrait of Jacquard: an important image from the early history of computing.
- 2019‑02‑11:
CVE-2019-5736: Linux container breakout.
- 2019‑02‑11:
A century of Noether's theorem.
- 2019‑02‑11:
Chronos: a secure selection and filtering mechanism for NTP.
- 2019‑02‑11:
Laziness does not exist, but unseen barriers do.
- 2019‑02‑11:
The New Systems Engineer.
- 2019‑02‑11:
Fact-checking Facebook was like playing a doomed game of Whack-A-Mole.
- 2019‑02‑11:
Questions for a new technology.
- 2019‑02‑11:
Make the web boring.
- 2019‑02‑11:
The future of public access to Castle Mound.
- 2019‑02‑11:
How do we know the history of extreme poverty?
- 2019‑02‑10:
Five things that scare me about AI.
- 2019‑02‑10:
DasKeyboard lights show blood sugar changes using my body's REST API.
- 2019‑02‑10:
What PostgreSQL developers know about fsync() errors.
- 2019‑02‑10:
Oh god, it's raining newsletters.
- 2019‑02‑10:
Checking firewall equivalence with Z3.
- 2019‑02‑09:
Building a RISC-V PC.
- 2019‑02‑09:
A new Python kernel for Jupyter.
- 2019‑02‑08:
Reflecting on a failure to build a billion-dollar company.
- 2019‑02‑08:
Move fast and migrate things: how Benchling automated migrations in Postgres.
- 2019‑02‑08:
Downgrade attack on TLS 1.3 and vulnerabilities in major TLS libraries.
- 2019‑02‑08:
Faster remainders when the divisor is a constant: beating compilers and libdivide.
- 2019‑02‑08:
HTML, CSS and our vanishing industry entry points
- 2019‑02‑07:
The big DNS privacy debate at FOSDEM.
- 2019‑02‑07:
FOSDEM 2019: a new view from the NOC.
- 2019‑02‑07:
What happened to the 100,000-hour LED bulbs?
- 2019‑02‑06:
The Earth and the far side of the moon photographed by radio amateurs.
- 2019‑02‑06:
A simple explanation for the existence of adversarial examples with small Hamming distance.
- 2019‑02‑06:
Previous: a NeXT emulator.
- 2019‑02‑06:
Vulnerability postmortem: A curious case of convexity confusion in Skia.
- 2019‑02‑05:
There and Snack Again: How to eat everything in the Lord of the Rings.
- 2019‑02‑05:
Analysis: Why the UK's CO2 emissions have fallen 38% since 1990.
- 2019‑02‑04:
A 6502 assembly language monad in Haskell.
- 2019‑02‑04:
Ten rules for a better conference name badge.
- 2019‑02‑04:
Debugging Emacs or: how I learned to stop worrying and love DTrace.
- 2019‑02‑04:
Asterius: A Haskell to WebAssembly compiler.
- 2019‑02‑03:
A brief history of the UUID.
- 2019‑02‑03:
Using BGP to calculate fastest paths around the London Underground.
- 2019‑02‑03:
All late projects are the same.
- 2019‑02‑03:
The death of transit and the future Internet.
- 2019‑02‑03:
RustPython: A Python Interpreter written in Rust.
- 2019‑02‑03:
Machine learning leads mathematicians to undecidable problem.
- 2019‑02‑03:
The Soviet license plate game and Kolmogorov complexity.
- 2019‑02‑02:
Bats and dolphins evolved echolocation in the same way.
- 2019‑02‑02:
The cloud skills shortage and the unemployed army of the certified.
- 2019‑02‑01:
How many .com domain names are unused?
- 2019‑01‑30:
The day I fell in love with fuzzing.
- 2019‑01‑30:
Lock-free Rust: Crossbeam in 2019.
- 2019‑01‑30:
The 26,000-year astronomical monument at the Hoover dam.
- 2019‑01‑30:
Lessons learned scaling PostgreSQL database to 1.2bn records/ month.
- 2019‑01‑29:
How a teenage 'Fortnite' player found Apple's FaceTime bug. It was so hard to report!
- 2019‑01‑28:
JVM issue: concurrency is affected by changing the system time!
- 2019‑01‑28:
The story of Squeak/Pharo, a practical Smalltalk written in itself.
- 2019‑01‑28:
Abusing 2FA to maintain persistence after a password change.
- 2019‑01‑28:
World's oldest periodic table chart found in St Andrews.
- 2019‑01‑28:
Smoothsort demystified.
- 2019‑01‑28:
A SQL to C compiler in 500 lines of code.
- 2019‑01‑28:
Outperforming LAPACK with Python and LLVM.
- 2019‑01‑27:
tinykaboom: how to ray-trace an explosion.
- 2019‑01‑27:
The legacy of Firefox OS.
- 2019‑01‑27:
PostgreSQL backend flowchart.
- 2019‑01‑27:
Why is it so hard to detect a key up event on Linux?
- 2019‑01‑26:
MDT9100 Motorola mobile data terminal.
- 2019‑01‑26:
Special cases are a code smell.
- 2019‑01‑26:
JMAP: it's like IMAP but not really.
- 2019‑01‑26:
Why do Americans claim to be more religious than they are?
- 2019‑01‑26:
It's time to move on from two phase commit.
- 2019‑01‑26:
websocketd: WebSockets the Unix way.
- 2019‑01‑26:
websocat: a command-line client for WebSockets.
- 2019‑01‑25:
Women on the pill don't need a period.
- 2019‑01‑25:
Oxford scientists successfully recreated a famous rogue wave in the lab.
- 2019‑01‑25:
How much maintenance_work_mem does PostgreSQL need?
- 2019‑01‑24:
How to make the Chord DHT correct.
- 2019‑01‑24:
Why don't people use formal methods?
- 2019‑01‑24:
'The goal is to automate us': welcome to the age of surveillance capitalism.
- 2019‑01‑24:
How LiveJournal pioneered then lost blogging.
- 2019‑01‑23:
pg_permission: Inspecting your PostgreSQL access controls.
- 2019‑01‑23:
Ghostscript vulnerability: subroutines within pseudo-operators must themselves be pseudo-operators.
- 2019‑01‑23:
proc-macro-rules: macro-rules pattern matching inside Rust procedural macros.
- 2019‑01‑23:
A lifetime of systems thinking.
- 2019‑01‑22:
Remote code execution vulnerability in Debian `apt`.
- 2019‑01‑22:
Accounting machines, the IBM 1403, and why printers standardized on 132 columns.
- 2019‑01‑22:
HTML5 input types: where are they now?
- 2019‑01‑22:
Build better forms by not taking away affordances.
- 2019‑01‑22:
UTC time scales and leap second support in the Koka programming language.
- 2019‑01‑21:
Advanced Mac Substitute: a 68k Mac emulator.
- 2019‑01‑20:
Kubernetes failure stories.
- 2019‑01‑20:
An obituary of Karen Sparck Jones, who pioneered natural language processing.
- 2019‑01‑20:
The archetype of the haunted house: Winchester Mystery House.
- 2019‑01‑20:
A history of Algol 68-R.
- 2019‑01‑20:
MySQL client allows MySQL server to request any local file.
- 2019‑01‑19:
AWS EC2 instance price guide.
- 2019‑01‑18:
Introduction to TLA+ model checking on the command line.
- 2019‑01‑18:
Is C++ fast?
- 2019‑01‑18:
History of IEEE P1003.1 POSIX time.
- 2019‑01‑18:
The malign incompetence of the British ruling class.
- 2019‑01‑18:
How SMS set back the mobile internet by ten years.
- 2019‑01‑18:
Why is storage on Kubernetes so hard?
- 2019‑01‑18:
The route of a text message.
- 2019‑01‑17:
CSRG Archive, now on DVD with extra non-BSD software.
- 2019‑01‑17:
The heterosexual tragedy of Top Gun.
- 2019‑01‑17:
The need for sustainable open source projects, like FRR.
- 2019‑01‑17:
Isle Of Man is the first place in the British Isles to decriminalise abortion.
- 2019‑01‑17:
Amazon Aurora: avoiding distributed consensus for IO, commits, and membership changes.
- 2019‑01‑17:
More than you really wanted to know about patch.
- 2019‑01‑17:
Crisis on the High Plains: the loss of America's largest aquifer, the Ogallala.
- 2019‑01‑17:
A Pratt parser in TypeScript.
- 2019‑01‑17:
A cascading failure of distributed systems in a large Kubernetes cluster.
- 2019‑01‑16:
Battle of the axe men: who really built the first electric rock 'n' roll guitar?
- 2019‑01‑16:
Field notes from an American in London.
- 2019‑01‑16:
Gettier cases: the relevance to programming of a three-page paper that shook philosophy.
- 2019‑01‑15:
A workflow for maintaining feature branches and submitting patches to PostgreSQL.
- 2019‑01‑15:
Stepping away from Sass.
- 2019‑01‑14:
The mysterious, stubborn appeal of mass-produced fried chicken.
- 2019‑01‑14:
Porting 30K lines of code from Flow to TypeScript.
- 2019‑01‑14:
The rise and demise of RSS.
- 2019‑01‑14:
Getting an IBM AS/400 midrange computer on the Internet.
- 2019‑01‑14:
Designing resilient systems with retries.
- 2019‑01‑14:
Courier and Dropbox's migration to gRPC.
- 2019‑01‑13:
Sail ISA model of ARM-v8.5-a can boot Linux.
- 2019‑01‑12:
The second GPS week number rollover is coming in April.
- 2019‑01‑12:
Crochet relays.
- 2019‑01‑12:
The Embroidered Computer.
- 2019‑01‑12:
Spurious correlations.
- 2019‑01‑12:
The holes in the map: England's unregistered land.
- 2019‑01‑11:
The early history of F#.
- 2019‑01‑11:
Factoring polynomials is not a shortcut to breaking RSA.
- 2019‑01‑11:
Earth's magnetic field is acting up and geologists don't know why.
- 2019‑01‑11:
How you can organize your GitHub repositories.
- 2019‑01‑11:
Tony Hoare's proposal for record handling in ALGOL. (1965)
- 2019‑01‑11:
Deriving traits in Rust with procedural macros.
- 2019‑01‑11:
Find the hard work you are willing to do.
- 2019‑01‑10:
The painful price of becoming Jackie Chan.
- 2019‑01‑10:
AWS gives open source the middle finger.
- 2019‑01‑10:
Why people in cities walk fast.
- 2019‑01‑10:
The disappearing Windows DNS debug log.
- 2019‑01‑09:
Looking back at the Berkeley Postgres project.
- 2019‑01‑09:
An analysis of lapis lazuli in medieval dental plaque illuminates the forgotten history of female scribes.
- 2019‑01‑09:
How cartographers for the U.S. military inadvertently screwed up international geoIP locations.
- 2019‑01‑09:
Using TypeScript transforms to enrich runtime code.
- 2019‑01‑09:
Think Sci-Hub is just downloading PDFs? Think again.
- 2019‑01‑09:
Notes on test-case reduction.
- 2019‑01‑08:
DHCP is hard: a story in five bugs.
- 2019‑01‑08:
The FRRouting protocol suite: a descendent of Zebra and Quagga.
- 2019‑01‑08:
The dangers of PostgreSQL streaming across versions of glibc with different collation orders.
- 2019‑01‑08:
OneDev: git hosting and code review in Java.
- 2019‑01‑08:
Emulating a buffer overflow for fun and profit in StarCraft: Remastered.
- 2019‑01‑07:
How to make sure your talk doesn't suck.
- 2019‑01‑07:
libeatmydata: disable fsync and speed up your tests!
- 2019‑01‑07:
SQL is no excuse to avoid DevOps.
- 2019‑01‑07:
Huawei unveils the highest-performance ARM-based CPU.
- 2019‑01‑07:
Why SRE documents matter.
- 2019‑01‑07:
Atomic clocks: it is important that they keep good time. (part 2)
- 2019‑01‑07:
Atomic clocks: it is important that they keep good time. (part 1)
- 2019‑01‑07:
Why isn't bamboo wood more popular?
- 2019‑01‑07:
The state of software security in 2019
- 2019‑01‑07:
A history of soap.
- 2019‑01‑07:
ARM Memory Tagging: how it improves C/C++ memory safety.
- 2019‑01‑06:
Hints and principles for computer system design.
- 2019‑01‑06:
Hints for computer system design.
- 2019‑01‑06:
The verified CakeML compiler backend.
- 2019‑01‑06:
The evolutionary mystery of left-handedness.
- 2019‑01‑06:
Mapping and visualization by Scott Reinhard.
- 2019‑01‑05:
Why is Maxwell's theory so hard to understand?
- 2019‑01‑05:
Towards a better Pythagorean cup.
- 2019‑01‑05:
LEGO Porsche crashing in slow motion at 1000 fps . (YouTube)
- 2019‑01‑04:
We'll never know whether monorepos are better.
- 2019‑01‑03:
Some common CSS problems.
- 2019‑01‑03:
Monorepos: Please don't!
- 2019‑01‑03:
How 'magic angle' graphene is stirring up physics.
- 2019‑01‑03:
Programmer as wizard, programmer as engineer.
- 2019‑01‑03:
Chip design at Apple in the 1980s.
- 2019‑01‑03:
Exploiting the Math.expm1 typing bug in V8.
- 2019‑01‑03:
caro: if jq and xargs had a baby.
- 2019‑01‑02:
POLA would have prevented the npm event-stream incident.
- 2019‑01‑02:
STAMPing on the npm event-stream compromise.
- 2019‑01‑02:
How 'Spider-Man: Into the Spider-Verse' was animated.
- 2019‑01‑02:
Fixing the nargs() subroutine on a PDP-11 with split I/D address space.
- 2019‑01‑02:
Be Moore Like Chuck.
- 2019‑01‑01:
Travels with Smalltalk.
- 2019‑01‑01:
The 4th annual Tucker awards for excellence in swearing.
- 2019‑01‑01:
Let's Encrypt looking forward to 2019.
- 2019‑01‑01:
The Vimes boots theory: further reflections.
- 2018‑12‑31:
Fuzzing like it's 1989.
- 2018‑12‑31:
The elements of UI engineering.
- 2018‑12‑31:
For 30 years I've been obsessed by why children get leukaemia. Now we have an answer.
- 2018‑12‑31:
How not to canonicalize IPv6 addresses.
- 2018‑12‑31:
μKanren: a minimal functional core for relational / logic programming.
- 2018‑12‑31:
Adaptation decay has sucked the meaning out of "A Christmas Carol".
- 2018‑12‑30:
Umlauts of Berlin, part 3: Ö.
- 2018‑12‑30:
Little's Law: for estimation only.
- 2018‑12‑30:
Why Microsoft Windows network performance is bad during media playback.
- 2018‑12‑30:
Why Microsoft Windows filesystem access is much slower than Unix.
- 2018‑12‑29:
Why are printed circuit boards usually green?
- 2018‑12‑29:
A nice, little known C feature: static array sizes in parameter declarations.
- 2018‑12‑29:
The story of the Grateful Dead's Wall of Sound.
- 2018‑12‑29:
In January, the EU starts running bug bounties on free and open source software.
- 2018‑12‑29:
How Facebook keeps messenger from crashing on New Year's eve.
- 2018‑12‑28:
A history of flavoring food with beaver butt juice.
- 2018‑12‑28:
22 ssh examples, practical tips, and tunnels.
- 2018‑12‑28:
"Modern" C++ lamentations.
- 2018‑12‑28:
Easy Postgres extensions in Rust with pg-extend-rs.
- 2018‑12‑28:
Circular dependencies for provisioning systems.
- 2018‑12‑28:
Securing the hardware supply chain.
- 2018‑12‑27:
Patterns for Array initialization in Rust.
- 2018‑12‑27:
A demo of Rust async io: from mio to stackless coroutines.
- 2018‑12‑27:
Using C libraries in Rust: how to make a sys crate.
- 2018‑12‑27:
Rust Tokio end of year recap.
- 2018‑12‑27:
Procedural macros in Rust 2018.
- 2018‑12‑27:
Post-mortem of the Word for Windows 1.0 project.
- 2018‑12‑27:
Swedish startup Rdot is trying to take on E-Ink.
- 2018‑12‑27:
JMAP is on the home straight.
- 2018‑12‑27:
The wavefunction collapse algorithm explained very clearly.
- 2018‑12‑27:
Much more than you wanted to know about melatonin.
- 2018‑12‑27:
Understanding throttling and debouncing.
- 2018‑12‑27:
Ranges, code quality, coroutines, and the future of C++.
- 2018‑12‑26:
Unicode CLDR LDML date/time format patterns.
- 2018‑12‑26:
Experience deploying IETF QUIC at Facebook.
- 2018‑12‑26:
Rust 2019 and beyond: limits to (some) growth.
- 2018‑12‑26:
The language of Brussels, translated.
- 2018‑12‑26:
History of the Marshfield Mummers play.
- 2018‑12‑26:
The many ways to launch FreeBSD in AWS EC2.
- 2018‑12‑26:
White Hart Lane's movable football pitch in three pieces.
- 2018‑12‑26:
Twitter's upcoming changes to PNG image support.
- 2018‑12‑26:
2018 Matrix year in review.
- 2018‑12‑26:
ECMAScript modules in Node.js: the new plan.
- 2018‑12‑26:
A one-line Linux Dropbox client.
- 2018‑12‑25:
Designing web page layouts for screen readers.
- 2018‑12‑25:
Sloc Cloc and Code revisited: optimizing an already fast Golang program.
- 2018‑12‑25:
Exclave: hardware testing in mass production, made easier.
- 2018‑12‑25:
DOOMBA
- 2018‑12‑25:
Wiv.js: a library for a more wiggly div.
- 2018‑12‑24:
IPv6 xmas display uses 75 Internet's worth of addresses.
- 2018‑12‑24:
Theft of NTP service for the Internet of Unprofitable Things.
- 2018‑12‑24:
Lexically scopes type variables.
- 2018‑12‑24:
Partitioned consensus and its impact on Google Spanner's latency.
- 2018‑12‑24:
HyperLogLog in Facebook Presto: faster cardinality estimation.
- 2018‑12‑24:
Solving a murder with Prolog.
- 2018‑12‑24:
Site reliability engineering is operations.
- 2018‑12‑24:
Designing resilient systems with circuit breakers.
- 2018‑12‑24:
Dropbox Cape service mesh technical deep dive.
- 2018‑12‑24:
World's first no-kill eggs go on sale in Berlin.
- 2018‑12‑23:
Ten simple rules for documenting scientific software.
- 2018‑12‑23:
Standard ranges for C++.
- 2018‑12‑23:
The bleak picture of two-factor authentication adoption in the wild.
- 2018‑12‑23:
Finding a sparse file bug in GNU tar.
- 2018‑12‑23:
The cyclical theory of Open Source, and new anti-cloud hybrid commercial licenses.
- 2018‑12‑22:
The MGR window system.
- 2018‑12‑22:
Offshore wind: bigger is better.
- 2018‑12‑22:
gQUIC crypto and simple state machines.
- 2018‑12‑22:
A new spline.
- 2018‑12‑21:
DNS over TLS from Cloudflare's recursive servers to Facebook's authoritative servers.
- 2018‑12‑21:
Dear developer, the Web isn't about you.
- 2018‑12‑21:
When anti-virus software causes 15 minute GC pauses and crashes in a .NET Windows service.
- 2018‑12‑21:
MySQL: do not pass this way again.
- 2018‑12‑21:
Max Planck Society discontinues agreement with Elsevier; stands firm with Projekt DEAL negotiations.
- 2018‑12‑21:
Five facts about smell.
- 2018‑12‑21:
Manage virtual machines with virt-manager.
- 2018‑12‑21:
WireGuard setup guide for iOS.
- 2018‑12‑21:
WireGuard for iOS, now in the App Store.
- 2018‑12‑20:
sr.ht, the hacker's forge, now open for public alpha.
- 2018‑12‑20:
The state we're in: visualizing the health of an organization's IT estate.
- 2018‑12‑20:
Why "just Google it" is now a synonym for "indoctrinate someone".
- 2018‑12‑20:
The Guardian says, bye bye Mongo, Hello PostgreSQL.
- 2018‑12‑19:
Did Google cripple Microsoft Edge's YouTube performance?
- 2018‑12‑19:
GPS week rollover in 2019: what you need to know.
- 2018‑12‑19:
Status of async in Rust at the end of 2018.
- 2018‑12‑19:
Storing unboxed trait objects in Rust.
- 2018‑12‑19:
Making Rust float parsing fast and correct.
- 2018‑12‑19:
Evaluating high availability solutions for TimescaleDB and PostgreSQL.
- 2018‑12‑19:
Hello, JIT World: the joy of simple JITs with dynasm.
- 2018‑12‑19:
Stop trying to be so DRY, instead Write Everything Twice (WET).
- 2018‑12‑18:
WaveFunctionCollapse: bitmap generation from one example using ideas from quantum mechanics.
- 2018‑12‑18:
How to build a real-time app with GraphQL subscriptions on PostgreSQL.
- 2018‑12‑17:
Future fossils of the 21st Century.
- 2018‑12‑17:
Support Driven Engineering (SDE).
- 2018‑12‑17:
The best programming advice I ever got.
- 2018‑12‑17:
5 German exclaves in Belgium separated by a bicycle path from the rest of Germany.
- 2018‑12‑17:
Can repelling magnets replace the spring in a pogo stick?
- 2018‑12‑16:
On rewriting code: No haunted forests.
- 2018‑12‑16:
A collection of Pratt parsing articles.
- 2018‑12‑16:
A brief history of just-in-time compilation.
- 2018‑12‑16:
Firefox 64 built with GCC and Clang.
- 2018‑12‑16:
Algol 68: a retrospective.
- 2018‑12‑15:
Does Scrabble need to be fixed? An experiment in controlling how much of the game is luck.
- 2018‑12‑15:
Defense against dark arts: safely allowing full SQL access to untrusted users with SQLite.
- 2018‑12‑15:
A remote code execution vulnerability in SQLite.
- 2018‑12‑15:
Paxos made live: an engineering perspective from Google Chubby.
- 2018‑12‑15:
Exploiting font parsing in LaTeX with CVE-2018-17407.
- 2018‑12‑15:
Bootstrapping Rust.
- 2018‑12‑15:
Modelling the true cost of software rewrites.
- 2018‑12‑14:
An investigation of misunderstanding code patterns in C open-source software projects.
- 2018‑12‑14:
Soup-salad-sandwich space.
- 2018‑12‑13:
A history of the waterfall methodology.
- 2018‑12‑13:
50 CVEs in 50 days fuzzing Adobe Reader.
- 2018‑12‑13:
The Titanic was on fire for days before the iceberg hit.
- 2018‑12‑13:
Git your SQL together with a query library.
- 2018‑12‑13:
Obituary of Evelyn Berezin, creator of the first true word processor.
- 2018‑12‑13:
Securing your web site like it's 1999.
- 2018‑12‑13:
AFLSmart: smart greybox fuzzing.
- 2018‑12‑13:
Guaranteed copy elision in C++17 does not elide copies.
- 2018‑12‑12:
Clusters of re-used keys.
- 2018‑12‑12:
Routing security roadmap.
- 2018‑12‑12:
Running FreeBSD on OSX using xhyve.
- 2018‑12‑12:
Existential types in Rust.
- 2018‑12‑12:
Hashbrown: Rust's Swiss army knife of hash tables.
- 2018‑12‑12:
Patterns of refactoring C to Rust: the case of librsvg.
- 2018‑12‑12:
GHC: from bug to merge.
- 2018‑12‑12:
A guide to modern router architecture for network protocol designers.
- 2018‑12‑12:
Inside Rust's async transform.
- 2018‑12‑12:
Beware Java Attach API.
- 2018‑12‑12:
ATDT relief.
- 2018‑12‑12:
GraphIt: A high-performance graph DSL.
- 2018‑12‑12:
How PowerDNS deals with security vulnerabilities.
- 2018‑12‑11:
The cube rule of food.
- 2018‑12‑11:
A tale of 132 e's on GitHub.
- 2018‑12‑11:
A Unicode BMP codepoint chart.
- 2018‑12‑11:
20 years of open source Erlang.
- 2018‑12‑11:
Troubleshooting obscure OpenSSH failures due to a broken firewall.
- 2018‑12‑11:
Can we drop upstream Linux x32 support?
- 2018‑12‑11:
Human terrain: visualizing the world's population in 3D.
- 2018‑12‑11:
Bezier moi, Julia.
- 2018‑12‑11:
Seemingly impossible Swift programs.
- 2018‑12‑11:
The Empress of Facebook: a befuddling dinner With Sheryl Sandberg.
- 2018‑12‑11:
The seductive diversion of 'solving' bias in artificial intelligence.
- 2018‑12‑10:
Who ever said no two snowflakes are alike?
- 2018‑12‑10:
jl: turn structured JSON logs into human-readable lines.
- 2018‑12‑10:
Graphing the distribution of English letters towards the beginning, middle or end of words.
- 2018‑12‑10:
Rolling out EC2 Nitro instance types revealed AWS's 1024qps DNS query rate limit.
- 2018‑12‑10:
Atomic clocks on a pair of eccentric Galileo satellites provided the first refinement of gravitational redshift since 1976.
- 2018‑12‑10:
Pave the cowpaths.
- 2018‑12‑10:
Spooky tales of testing in production.
- 2018‑12‑10:
Billionaires are the leading cause of climate change.
- 2018‑12‑10:
Autism from the inside is not the neurotypical cliché.
- 2018‑12‑09:
The computer technology that changed air travel.
- 2018‑12‑09:
Replacing the user story with the job story.
- 2018‑12‑09:
JIRA is an antipattern.
- 2018‑12‑09:
When the allocator works against you: memory fragmentation in Python on glibc.
- 2018‑12‑09:
Fixing a tough memory leak involving C extensions in Python.
- 2018‑12‑09:
The Programming Languages Zoo: miniature languages demonstrating concepts and techniques in design and implementation.
- 2018‑12‑09:
Little languages for elucidating programming language design.
- 2018‑12‑09:
Secrets of smooth Béziers and Euler spirals revealed.
- 2018‑12‑09:
No, negative masses have not revolutionized cosmology.
- 2018‑12‑09:
The curious tale of ICANN, Verisign, claims of subterfuge, and the $135m .web TLD.
- 2018‑12‑09:
The CRISPR baby scandal gets worse by the day.
- 2018‑12‑09:
Deep-comparing two 5GB JSON files 3x faster with jq.
- 2018‑12‑09:
MIT team develops 3D printer that's 10x faster than comparable 3D printers.
- 2018‑12‑09:
AMD EPYC 7371 aggressive pricing.
- 2018‑12‑09:
Four days trapped at sea with crypto's nouveau riche.
- 2018‑12‑08:
Troubleshooting a connection timeout issue due to tcp_tw_recycle (which should not be used).
- 2018‑12‑08:
Uncomfortable privacy research.
- 2018‑12‑08:
How to recognize fake AI-generated images.
- 2018‑12‑08:
Eels stuck in Hawaiian monk seals' noses baffle scientists.
- 2018‑12‑08:
Early mammals were thought to be small and unseen in the age of dinosaurs. An elephant-sized fossil complicates that story.
- 2018‑12‑08:
Why ratings and feedback forms don't work.
- 2018‑12‑07:
You need neither PWA nor AMP to make your website load fast.
- 2018‑12‑07:
Understanding the type of call/cc.
- 2018‑12‑07:
IPv6 in the UK 6 years after World IPv6 day.
- 2018‑12‑07:
How to game Apple's iOS App Store.
- 2018‑12‑07:
HTTPS in the real world.
- 2018‑12‑07:
WALL᛫E | Typeset In The Future
- 2018‑12‑07:
Reverse engineering the ARM1 processor's microinstructions.
- 2018‑12‑07:
Tesla's giant battery saved $40 million during its first year, and cost $66 million to install.
- 2018‑12‑07:
Rust 2018 is here... but what is it?
- 2018‑12‑07:
Killing Microsoft Edge: Making the web worse through capitulation to Google.
- 2018‑12‑07:
Goodbye, EdgeHTML.
- 2018‑12‑06:
The rise of Microsoft Visual Studio Code.
- 2018‑12‑06:
Managing high availability in PostgreSQL with Pacemaker + Corosync + PAF.
- 2018‑12‑06:
GNU Mes 0.17: towards bootstrappable builds for GuixSD.
- 2018‑12‑06:
Bootstrappable builds.
- 2018‑12‑06:
Postgres 12 highlight: DOS prevention.
- 2018‑12‑06:
It's DNS Jim, but not as we know it!
- 2018‑12‑06:
A well-known URL for changing passwords.
- 2018‑12‑06:
A standard web site password change API.
- 2018‑12‑06:
Eight #aabill predictions: consequences of Australia's new spying law.
- 2018‑12‑06:
Anatomy of an AI system.
- 2018‑12‑06:
QUIC and HTTP/3 : Too big to fail?!
- 2018‑12‑06:
Bizarre 'dark fluid' with negative mass could dominate the universe.
- 2018‑12‑06:
Privilege escalation vulnerability in the Kubernetes apiserver.
- 2018‑12‑05:
Why parking minimums almost destroyed my hometown and how we repealed them.
- 2018‑12‑05:
Unprivileged users with UID > INT_MAX can successfully execute any systemctl command.
- 2018‑12‑05:
How to write a modern C++ library in Rust.
- 2018‑12‑05:
Learning how AI makes decisions.
- 2018‑12‑05:
Our bipolar free-speech disorder and how to fix it.
- 2018‑12‑05:
BT to remove Huawei from 4G infrastructure over security concerns.
- 2018‑12‑05:
Constructive softwre engineering?
- 2018‑12‑05:
The friendship that made Google huge.
- 2018‑12‑05:
What is Windows Lite? It's Microsoft's Chrome OS killer.
- 2018‑12‑05:
Samsung used a DSLR photo to fake their phone's "portrait mode".
- 2018‑12‑05:
The modality of mortality in domain names: an in-depth study of domain lifetimes.
- 2018‑12‑05:
DOHA and ZIPPO make forty five dead gTLDs.
- 2018‑12‑05:
ICANN registry agreement termination information page: graveyard of new gTLDs.
- 2018‑12‑04:
A look at CSS resets in 2018.
- 2018‑12‑04:
Single-direction margin declarations in CSS.
- 2018‑12‑04:
PayPal, Square, and big banking's war on the sex industry.
- 2018‑12‑04:
The case for reopening Edinburgh's lost circle line to passengers.
- 2018‑12‑04:
Microsoft is replacing Edge in Windows 10 with a browser based on Google Chromium.
- 2018‑12‑04:
A not-called function can cause a 5x slowdown.
- 2018‑12‑04:
Yak shaving and fixing.
- 2018‑12‑04:
How Facebook is fueling French populist rage.
- 2018‑12‑04:
EverSet ES100 dev kit for receiving WWVB 60kHz new BPSK modulation.
- 2018‑12‑04:
RSS to ActivityPub converter.
- 2018‑12‑03:
Specter: Clojure's missing piece.
- 2018‑12‑03:
Tadashi Tokieda collects maths and physics surprises.
- 2018‑12‑03:
Tumblr will ban all adult content starting December 17th.
- 2018‑12‑03:
Developers on call.
- 2018‑12‑03:
Software sprawl, the golden path, and scaling teams with agency.
- 2018‑12‑03:
Truths programmers should know about character case.
- 2018‑12‑03:
Wiki Creole 1.0 lightweight markup language.
- 2018‑12‑02:
AWS is competing with its customers.
- 2018‑12‑02:
Making the best of MacBook Air touchpad on Ubuntu.
- 2018‑12‑02:
Describe Chinese characters with the Recursive Radical Packing Language (RRPL).
- 2018‑12‑02:
Portal for the Commodore 64.
- 2018‑12‑02:
Linux Bcachefs status update.
- 2018‑12‑01:
Bed a champion! A training course on urban design.
- 2018‑12‑01:
Decentralizing social interactions with ActivityPub.
- 2018‑12‑01:
Psychology's replication crisis is real, says the Many Labs 2 project.
- 2018‑12‑01:
The world's most efficient languages.
- 2018‑12‑01:
SSH performance.
- 2018‑12‑01:
Falsehoods programmers believe about names, with examples.
- 2018‑12‑01:
The 9 lives of Bleichenbacher's CAT: new Cache ATtacks on TLS implementations.
- 2018‑11‑30:
Google tried to patent someone else's work after a job interview.
- 2018‑11‑30:
A crowdfunding customer patented the project they backed.
- 2018‑11‑30:
UTF-7: a ghost from the time before UTF-8.
- 2018‑11‑30:
Dynamic configuration at Twitter.
- 2018‑11‑30:
Golang 2, here we come!
- 2018‑11‑29:
Competition is dying, and taking capitalism with it.
- 2018‑11‑29:
Strange earthquake waves rippled around Earth, and nobody knows why.
- 2018‑11‑29:
Multi-level MDA-Lite Paris Traceroute.
- 2018‑11‑29:
The baseline costs of JavaScript frameworks.
- 2018‑11‑29:
Amazon's homegrown Graviton processor was very nearly an AMD Arm CPU.
- 2018‑11‑29:
The Holy Hand Grenade of Antioch: OpenSSL version numbering and licence change.
- 2018‑11‑29:
Secrets of the magus: a profile of Ricky Jay. (1993)
- 2018‑11‑28:
How GitLab spent two weeks hunting an NFS bug in the Linux kernel.
- 2018‑11‑28:
What's in a Docker image? How to find out.
- 2018‑11‑28:
A perfect storm that brought down LinkedIn.com.
- 2018‑11‑28:
The datacenter as a computer: how Google designs warehouse-scale machines.
- 2018‑11‑28:
A history of Unix man pages.
- 2018‑11‑28:
Why do computers use so much energy?
- 2018‑11‑28:
OpenBGPD: adding diversity to the route server landscape.
- 2018‑11‑27:
What's the time? Measuring computer clocks on the Internet.
- 2018‑11‑27:
How programmable calculators and an sf story brought Soviet teens into the digital age.
- 2018‑11‑27:
Cryptocurrency collapse.
- 2018‑11‑27:
Why women in psychology can't program.
- 2018‑11‑27:
Beating hash tables with trees? The ART-ful radix trie.
- 2018‑11‑27:
Preventing SQL injection with PostgreSQL and Python.
- 2018‑11‑27:
The state of WiFi vs mobile network experience.
- 2018‑11‑27:
Amsterdam vs Copenhagen (a British view).
- 2018‑11‑27:
Is Copenhagen a city of cyclists? (A Dutch view.)
- 2018‑11‑27:
AWS designed ARM processor: Graviton.
- 2018‑11‑27:
Designing headers for HTTP compression (HPACK and QPACK).
- 2018‑11‑26:
Today's JavaScript trash fire and pile on: the flatmap-stream compromise.
- 2018‑11‑26:
The "feel-good" horror of late-stage capitalism.
- 2018‑11‑26:
The power of Web Components.
- 2018‑11‑26:
No cutting corners cutting corners.
- 2018‑11‑26:
Integer overflow and SMT-solvers.
- 2018‑11‑26:
Cuckoo breeding ground: a better cuckoo hash table.
- 2018‑11‑25:
How I changed the law with a GitHub pull request.
- 2018‑11‑25:
Motorists punish helmet-wearing cyclists with close passes, confirms data recrunch.
- 2018‑11‑25:
WebAssembly doesn't make unsafe languages safe (yet).
- 2018‑11‑25:
5919 default passwords from Open Sez Me!
- 2018‑11‑25:
Why most of America is terrible at making biscuits.
- 2018‑11‑25:
LinkedIn violated data protection by using 18M email addresses of non-members to buy targeted ads on Facebook.
- 2018‑11‑25:
The Lisp Machines Inc. K-Machine.
- 2018‑11‑24:
Type-safe builders in Kotlin.
- 2018‑11‑24:
NovaSolix hopes to make a 90% efficient solar cell using carbon nanotubes.
- 2018‑11‑24:
Model View Controller isn't.
- 2018‑11‑24:
Tworoutines in Python: easy mixing of synchronous and asynchronous code.
- 2018‑11‑24:
U.S. finally legalizes modern, European-style train cars.
- 2018‑11‑24:
The code hiding on these Madrid security bollards.
- 2018‑11‑24:
How a mysterious tech billionaire created two fortunes and a global software sweatshop.
- 2018‑11‑24:
Enumerating the rationals (without duplication).
- 2018‑11‑24:
Riding the Space Shuttle's solid rocket booster.
- 2018‑11‑24:
Amazing time-lapse video of a rocket launch... seen from space!
- 2018‑11‑24:
'12 Monkeys': why Terry Gilliam's movie is so relevant today.
- 2018‑11‑24:
JavaScript modules.
- 2018‑11‑23:
6 strange facts about the interstellar visitor 'Oumuamua.
- 2018‑11‑23:
Nuisance calls: new UK law provides for company director liability.
- 2018‑11‑23:
Are pop lyrics getting more repetitive?
- 2018‑11‑23:
Twelve steps to enable IPv6 in government and enterprise networks.
- 2018‑11‑23:
Killed by Google: the Google graveyard.
- 2018‑11‑22:
Working on the engines while the plane is flying: eBay's router replacement project.
- 2018‑11‑21:
dav1d AV1 decoder: performance and completion of the first release.
- 2018‑11‑21:
Django core no more.
- 2018‑11‑21:
Undumping TeX.
- 2018‑11‑21:
D compilation is too slow and I am forking the compiler.
- 2018‑11‑21:
Falcon Heavy 1/48 scale model, flight 1. (YouTube)
- 2018‑11‑21:
IBM's future system of the past.
- 2018‑11‑21:
Herding the DNS camel.
- 2018‑11‑21:
PhotoFunia Retro Wave neon 1980s image macro generator.
- 2018‑11‑21:
Compile-time feature flags in Rust.
- 2018‑11‑21:
The brown one, the honey eater, the shaggy coat, the destroyer: names for bears.
- 2018‑11‑21:
Why we should let the Pantheon crack.
- 2018‑11‑21:
Do you even bake, bro? How the Silicon Valley set fell in love with sourdough.
- 2018‑11‑21:
IBM's 1970s future system (FS) project.
- 2018‑11‑21:
A 3270 font in a modern format.
- 2018‑11‑21:
The IBM z14 microprocessor and system control design.
- 2018‑11‑21:
How a small French privacy ruling could remake adtech for good.
- 2018‑11‑20:
4-year-old fixes a documentation bug in Linux.
- 2018‑11‑20:
Techno-Sublime: a review of Benoit Mandelbrot's autobiography.
- 2018‑11‑20:
Taking out the garbage: GC for GJS, the Gnome Shell SpiderMonkey JavaScript hooks.
- 2018‑11‑20:
Surveillance marketing: Too much personalization can hurt your brand.
- 2018‑11‑20:
Drop-down usability: when you should (and shouldn't) use them.
- 2018‑11‑19:
Italy's olive crisis intensifies as deadly tree disease spreads.
- 2018‑11‑19:
Post-REST.
- 2018‑11‑19:
Time is Partial: why do distributed consistency models and weak memory models look so similar?
- 2018‑11‑19:
The case against quantum computing.
- 2018‑11‑19:
Facebook, Google, Amazon, railroads, and the collapse of the tech mythology.
- 2018‑11‑19:
The secret of cube-shaped wombat faeces.
- 2018‑11‑19:
Analyzing the GitHub outage.
- 2018‑11‑19:
That time a provider screwed CircleCI: remembering a security breach five years ago.
- 2018‑11‑18:
Windows 10 vs. Linux performance on AMD Threadripper 2990WX.
- 2018‑11‑18:
typed-html: Type checked JSX for Rust.
- 2018‑11‑18:
The invention of the AeroPress.
- 2018‑11‑18:
Unscii: a bitmapped Unicode font for blocky graphics.
- 2018‑11‑17:
Hurts so good: spicy foods and the compelling chemistry of chemesthesis.
- 2018‑11‑17:
Resinferatoxin is so spicy hot it destroys nerve endings - in a good way.
- 2018‑11‑17:
File mtime comparison considered harmful.
- 2018‑11‑17:
As the toffs began to retreat: the decline and fall of Great Britain.
- 2018‑11‑17:
Rare microbes lead scientists to discover new branch on the tree of life.
- 2018‑11‑17:
Why sleep apnea patients rely on a CPAP machine hacker.
- 2018‑11‑16:
International System of Units overhauled in historic vote at CGPM.
- 2018‑11‑16:
He found the best burger place in America. And then he killed it.
- 2018‑11‑16:
Tips on migrating SQL from Oracle to PostgreSQL.
- 2018‑11‑16:
Bit fields in the Zig programming language.
- 2018‑11‑16:
Fast line-following robots.
- 2018‑11‑15:
Statistical rule of three: how to estimate the chances of something that hasn't happened yet.
- 2018‑11‑15:
The "C" in CSS: a tutorial about the cascade.
- 2018‑11‑15:
How Operation Libero tackled toxic right-wing politics in Switzerland.
- 2018‑11‑15:
The Asus Eee: how close did we come to a Linux desktop?
- 2018‑11‑15:
Period-tracking apps are not for women.
- 2018‑11‑14:
Scaling millions of connections with zero-propagation dynamic DNS.
- 2018‑11‑14:
Zero-cost abstractions in Julia: indexing vectors by name with LabelledArrays.
- 2018‑11‑14:
Experiences with Unix on the Cray X/MP.
- 2018‑11‑13:
Medium is a poor choice for blogging.
- 2018‑11‑12:
The automation charade.
- 2018‑11‑12:
Hello, and welcome to libh2o.
- 2018‑11‑12:
C2x standard revision now in progress.
- 2018‑11‑12:
Distributed consistency at scale: Spanner vs. Calvin.
- 2018‑11‑12:
Hob3l: 100x faster slicing of SCAD files for 3D printing.
- 2018‑11‑12:
Refactoring towards language with Objective C.
- 2018‑11‑12:
The easiest way to debug node.js is with VSCode.
- 2018‑11‑12:
25th anniversary of NCSA Mosaic 1.0.
- 2018‑11‑11:
TLS: what can go wrong?
- 2018‑11‑11:
HTTP-over-QUIC will be HTTP/3.
- 2018‑11‑11:
Why Intel processors draw more power than expected: TDP and Turbo explained.
- 2018‑11‑11:
Some notes on running new software in production.
- 2018‑11‑11:
How bicycles have changed in the last 25 years.
- 2018‑11‑11:
Cross shard transactions at 10 million requests per second.
- 2018‑11‑11:
RocketLab's successful launch in New Zealand brings quick, cheap space access.
- 2018‑11‑11:
iSH: Linux emulator for iOS.
- 2018‑11‑11:
Should you use www or not in your web site host name?
- 2018‑11‑11:
Exploiting coroutines to reduce cache miss latency "killer nanoseconds".
- 2018‑11‑10:
The semiconductor industry and economic growth theory.
- 2018‑11‑10:
Before envelopes, people protected messages with letterlocking.
- 2018‑11‑09:
Against software development.
- 2018‑11‑09:
Deliveroo's data shows cyclists are faster in cities than cars and motorbikes.
- 2018‑11‑09:
Introducing Badger: A fast key-value store written purely in Golang.
- 2018‑11‑09:
A history of the sentence "buffalo buffalo buffalo buffalo buffalo".
- 2018‑11‑09:
Amazon's AbeBooks backs down after booksellers stage global protest.
- 2018‑11‑09:
GitHub reaches 100 million repositories.
- 2018‑11‑09:
Haskell type checker complaint 184 of 698.
- 2018‑11‑07:
Profiling: the case of the missing milliseconds.
- 2018‑11‑07:
Donut math: how donut.c works.
- 2018‑11‑07:
Migrating away from Google Maps and cutting costs by 99%.
- 2018‑11‑07:
On dealing with owning and borrowing in public interfaces in Rust.
- 2018‑11‑07:
Interprocedural borrow conflicts in Rust.
- 2018‑11‑07:
.brand TLD observatory.
- 2018‑11‑06:
SideTrail: verifying time-balancing countermeasures against side-channel attacks against cryptosystems.
- 2018‑11‑06:
AMD announces 64-core 7nm Rome CPUs, 7nm MI60 GPUs, and Zen 4.
- 2018‑11‑06:
How to speed up the Rust compiler in 2018: NLL edition.
- 2018‑11‑06:
The copyleft bust up.
- 2018‑11‑06:
British underground utility colour codes explained.
- 2018‑11‑06:
Colorful language: decoding utility markings spray-painted on city streets.
- 2018‑11‑06:
SF writer Greg Egan and anonymous 4chan poster advance permutation problem.
- 2018‑11‑06:
Performance of SMT solving on an iPhone.
- 2018‑11‑05:
Julia: dynamism and performance reconciled by design.
- 2018‑11‑05:
Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs).
- 2018‑11‑05:
Who called 1688 a "Glorious Revolution"?
- 2018‑11‑05:
Envoy proxy and gRPC-web: a fresh new alternative to REST.
- 2018‑11‑05:
Deadlines, lies and videotape: The tale of a gRPC bug.
- 2018‑11‑05:
Impact of daylight saving time on the clinical laboratory.
- 2018‑11‑05:
Epic fail: daylight saving time stumps hospital record keeping.
- 2018‑11‑05:
When Unix time was measured in 1/60 second ticks.
- 2018‑11‑05:
The origin of C's cast operator.
- 2018‑11‑05:
6502 programming language Implementation survey.
- 2018‑11‑05:
A Google Books OCR cliche: into his/her anus.
- 2018‑11‑04:
AI ethics, impossibility theorems, and tradeoffs.
- 2018‑11‑04:
How managers can decide which data science projects to pursue.
- 2018‑11‑04:
How to manage connections efficiently in Postgres.
- 2018‑11‑02:
ExploderBot: a slow-drip DDoS attack system.
- 2018‑11‑01:
Why pencils are yellow.
- 2018‑11‑01:
sdns: Golang recursive DNS server with DNSSEC support.
- 2018‑10‑31:
Apple XNU kernel RCE vulnerability due to buffer overflow in ICMP packet handling. (CVE-2018-4407)
- 2018‑10‑31:
The evolution of character codes, 1874-1968.
- 2018‑10‑31:
Analyzing the root DNSSEC key rollover.
- 2018‑10‑31:
The recent root DNSSEC key rollover: summary and next steps.
- 2018‑10‑31:
Introduction to Linux interfaces for virtual networking.
- 2018‑10‑30:
GitHub October 21 post-incident analysis.
- 2018‑10‑30:
Archaeologists find 300,000-year-old stone tools in Saudi Arabia.
- 2018‑10‑30:
Post-mortem: helium leak from MRI disables every iOS device in facility.
- 2018‑10‑30:
Ira Magaziner's view of ICANN's creation.
- 2018‑10‑29:
Chocolate has a origin 1500 years earlier than we thought.
- 2018‑10‑29:
Honeycomb.io postmortem: RDS clogs and cache-refresh crash loops.
- 2018‑10‑29:
Atlassian incident management handbook.
- 2018‑10‑29:
To err is human: mistakes and slips in skydiving and other disciplines.
- 2018‑10‑29:
The core practical problems with HiDPI on Linux.
- 2018‑10‑29:
HiDPI on dual 4K monitors with Linux.
- 2018‑10‑29:
Exploring C semantics and pointer provenance.
- 2018‑10‑29:
Ten platform commandments.
- 2018‑10‑29:
Status page updates: It's all about timing.
- 2018‑10‑28:
IBM nears deal to acquire Red Hat.
- 2018‑10‑28:
One Windows kernel.
- 2018‑10‑28:
Why logical clocks are easy.
- 2018‑10‑27:
Windows Defender Antivirus can now run in a sandbox.
- 2018‑10‑27:
Legal curiosities: fact or fable?
- 2018‑10‑27:
Systemd is bad parsing DHCPv6 packets and its programmers should feel bad.
- 2018‑10‑26:
Proposal: Golang 2 transition.
- 2018‑10‑26:
Detecting Agile BS.
- 2018‑10‑26:
A Plan 9 C compiler for RISC-V.
- 2018‑10‑26:
RobinHood tail latency aware caching: dynamic reallocation from cache-rich to cache-poor.
- 2018‑10‑26:
The peer review industry: implausible and outrageous.
- 2018‑10‑26:
From the endpoint to the cloud: Joanna Rutkowska says goodbye to Qubes OS.
- 2018‑10‑25:
MongoDB's Server Side Public License is likely unenforceable.
- 2018‑10‑25:
US copyright office ruling imposes sweeping right-to-repair reforms.
- 2018‑10‑25:
What application developers should know about leap seconds on Windows 10.
- 2018‑10‑25:
A mini biography of Sidney Darlington.
- 2018‑10‑25:
Stardate 5928.5. USS Enterprise monthly catchup meeting with DS9.
- 2018‑10‑25:
Investigating the implausible Bloomberg Supermicro stories.
- 2018‑10‑25:
Bitcoin must die.
- 2018‑10‑24:
Yelp production engineering documentation style guide.
- 2018‑10‑24:
Rust has higher kinded types already, but only sinners can use them.
- 2018‑10‑24:
Towards fearless SIMD.
- 2018‑10‑24:
.br DNSSEC algorithm rollover report.
- 2018‑10‑24:
Drivers wildly overestimate what "semiautonomous" cars can do.
- 2018‑10‑24:
The myth of whiteness in classical sculpture.
- 2018‑10‑24:
Apps installed on millions of Android phones tracked user behavior to execute a multimillion-dollar ad fraud scheme.
- 2018‑10‑24:
Consolidation, centralisation, and the Internet architecture.
- 2018‑10‑24:
Why did the golden age of The Simpsons end?
- 2018‑10‑24:
A fast, reliable cuckoo hash table for Node.js.
- 2018‑10‑23:
An alternative history of Silicon Valley disruption.
- 2018‑10‑23:
LLVM on SVN to GitHub migration.
- 2018‑10‑23:
Is WebAssembly faster than JavaScript?
- 2018‑10‑23:
Lack of progress exposed by the Canary MacGuffin.
- 2018‑10‑23:
Hexagonal Architecture: three principles and an implementation example.
- 2018‑10‑23:
Advanced techniques to implement fast hash tables.
- 2018‑10‑23:
Windows Server 2019 and Windows 10 October 2018 Update implement leap seconds in a UTC-compliant manner.
- 2018‑10‑23:
Rust can be difficult to learn and frustrating, but it's also the most exciting thing in software development in a long time.
- 2018‑10‑23:
PrEP is stopping HIV in Sydney, a world-first study shows.
- 2018‑10‑22:
WebAssembly's post-MVP future.
- 2018‑10‑22:
Superpermutations.
- 2018‑10‑22:
First-class automatic differentiation in Swift: a manifesto.
- 2018‑10‑22:
Intel kills off its 10nm process.
- 2018‑10‑22:
Facebook is now adding "fbclid" surveillance parameters to outbound links.
- 2018‑10‑22:
RISC OS relicensed under Apache 2.0.
- 2018‑10‑22:
Pronouncing SQL: "S-Q-L" or "sequel"?
- 2018‑10‑22:
Uptime Institute standards for data centre design.
- 2018‑10‑22:
LegoOS: a disseminated, distributed OS for hardware resource disaggregation.
- 2018‑10‑22:
Parsing Timeline version 3.1.
- 2018‑10‑22:
Everyone in a room keeps giving dollars to random others. You'll never guess what happens next.
- 2018‑10‑21:
The indefatigable efforts of J. M. Keynes.
- 2018‑10‑21:
Oral tradition: the oldest true stories in the world.
- 2018‑10‑21:
Basic features that will hopefully return to the MacBook Pro.
- 2018‑10‑21:
Asterix in translation: the genius of Anthea Bell and Derek Hockridge.
- 2018‑10‑21:
Massachusetts gas explosions: Another technological tragedy.
- 2018‑10‑21:
Alzheimer's disease: mounting evidence that herpes virus is a cause.
- 2018‑10‑21:
Pando, the most massive organism on Earth, Is shrinking.
- 2018‑10‑21:
Inside the poisonous British fight over transgender acceptance.
- 2018‑10‑21:
So you want to open a small press bookstore / artist-run space?
- 2018‑10‑20:
Did Uber steal Google's intellectual property?
- 2018‑10‑20:
The elegance of deflate (zlib).
- 2018‑10‑20:
It's not a bug, it's a feature.
- 2018‑10‑20:
The future's so bright, I gotta wear blinders.
- 2018‑10‑20:
Notes on type layouts and ABIs in Rust.
- 2018‑10‑20:
JavaScript fat arrow functions: how, why, when, and when not to use them.
- 2018‑10‑20:
The illustrated TLS connection: every byte explained.
- 2018‑10‑20:
Encrypted SNI comes to Firefox Nightly.
- 2018‑10‑19:
Let's talk about PAKE: password authenticated key exchange.
- 2018‑10‑19:
(Semi-)plausible strategies for moving a whole damn planet.
- 2018‑10‑19:
Flight rules for git.
- 2018‑10‑19:
Exoplanet sizes and spacing around other stars is unlike what we see in our own system.
- 2018‑10‑19:
Fold N Fly paper aeroplane designs.
- 2018‑10‑19:
Orca: differential bug localization in large-scale services.
- 2018‑10‑19:
Looking back at 20 years of ICANN.
- 2018‑10‑18:
Ada Lovelace day: important type theory researchers to follow.
- 2018‑10‑18:
Did Facebook's faulty data push news publishers to make terrible decisions on video?
- 2018‑10‑17:
REPT: reverse debugging of failures in deployed software on Windows.
- 2018‑10‑17:
Bankruptcy and destitution is what happens when you take Ayn Rand seriously.
- 2018‑10‑17:
Accessibility Cheatsheet: practical approaches to universal design.
- 2018‑10‑17:
MODALZ MODALZ MODALZ: design patterns for avoiding modal popups.
- 2018‑10‑15:
GitLab.com stability and performance after migration from Microsoft Azure to Google Cloud.
- 2018‑10‑15:
A batpoo-eating pitcher plant.
- 2018‑10‑14:
The reason we have not detected dark matter.
- 2018‑10‑13:
DOH! An overview of DNS-over-HTTPS.
- 2018‑10‑12:
Vector space model: the most influential paper Gerard Salton never wrote.
- 2018‑10‑12:
Oil droplets guided by "pilot waves" have failed to reproduce the results of the quantum double-slit experiment.
- 2018‑10‑12:
Asterisks in Python: what they are and how to use them.
- 2018‑10‑12:
Deduplicating files in Public Git Archive.
- 2018‑10‑11:
Uncoiling the spiral: Maths, hallucinations, and patterns in fur.
- 2018‑10‑11:
Fastly Debug connection diagnostics.
- 2018‑10‑11:
Dropbox Debug connection diagnostics.
- 2018‑10‑11:
GitHub Debug connection diagnostics.
- 2018‑10‑11:
Dropbox traffic infrastructure: Edge network.
- 2018‑10‑10:
How a fraudster got $12 million out of a Canadian university: spear phishing.
- 2018‑10‑10:
sql-indent.el: Syntax based indentation for SQL in GNU Emacs.
- 2018‑10‑10:
Protobuffers are wrong.
- 2018‑10‑10:
Helium leak from MRI disabled all Apple devices in the facility.
- 2018‑10‑10:
Rust has a static garbage collector.
- 2018‑10‑10:
Secrets in serverless functions.
- 2018‑10‑10:
Who is stealing my power? An ad network case study.
- 2018‑10‑10:
pgFormatter: A PostgreSQL SQL syntax beautifier.
- 2018‑10‑10:
A Rust FFI adventure in unsafety.
- 2018‑10‑10:
Web advertising, where your data is traded in the time it takes to click.
- 2018‑10‑10:
Continued progress porting Emacs to Rust.
- 2018‑10‑10:
Despite proposed solutions, DNS security issues remain.
- 2018‑10‑10:
12 factor CLI apps.
- 2018‑10‑09:
Rust RAII is better than Haskell's bracket pattern.
- 2018‑10‑09:
Reified generics: the search for a cure.
- 2018‑10‑09:
Biscuit: a research OS written in Golang.
- 2018‑10‑09:
The benefits and costs of writing a POSIX kernel in Golang.
- 2018‑10‑08:
The truth about traditional JavaScript benchmarks.
- 2018‑10‑08:
bpftrace (DTrace 2.0) for Linux: source code now available.
- 2018‑10‑08:
Calls between JavaScript and WebAssembly are finally fast.
- 2018‑10‑08:
How newline characters affect Linux kernel performance.
- 2018‑10‑08:
Google+ to shut down after coverup of data-exposing bug.
- 2018‑10‑08:
The untold story of Stripe, the secretive $20bn online payments startup.
- 2018‑10‑08:
SRE: the biggest lie since Kanban?
- 2018‑10‑08:
detect-secrets: prevent new secrets from being committed, and gradually eliminate old ones.
- 2018‑10‑08:
Microsoft pulls Windows 10 October 2018 update after reports of documents being deleted.
- 2018‑10‑08:
Perl 5 static analysis: how to hide errors in macros.
- 2018‑10‑07:
A classification of comments in code.
- 2018‑10‑06:
The Python Unicode mess.
- 2018‑10‑06:
How blind players succeed at sports video games they've never seen.
- 2018‑10‑06:
The $250 biohack that's revolutionizing life with diabetes.
- 2018‑10‑06:
A journey into the heart of bragging: 17 modes of showing off.
- 2018‑10‑05:
How Etsy localizes addresses.
- 2018‑10‑05:
Making sense of the Supermicro motherboard attack.
- 2018‑10‑05:
Peeking behind the curtains of serverless platforms.
- 2018‑10‑05:
Do you really know CORS?
- 2018‑10‑05:
Ubuntu Linux performance over the past six years on an Intel Xeon server.
- 2018‑10‑04:
Sans Forgetica: a font designed to help you remember your study notes.
- 2018‑10‑04:
Bloomberg's 'The Big Hack'.
- 2018‑10‑04:
The Big Hack: how China used a tiny chip to infiltrate American companies.
- 2018‑10‑04:
TLS token-binding standard gains a foothold on the Web.
- 2018‑10‑04:
Bagpiper: decentralized secret management at Airbnb.
- 2018‑10‑04:
How Dropbox rolled out one of the largest Python 3 migrations ever.
- 2018‑10‑03:
The mystery of the continuously functioning battery from 1840.
- 2018‑10‑03:
Commodore 64 left outside for over a decade! Could it still work? (YouTube)
- 2018‑10‑03:
The rise of Netflix competitors pushed consumers back toward piracy.
- 2018‑10‑03:
Intel ME Manufacturing Mode and Apple MacBook vulnerability CVE-2018-4251.
- 2018‑10‑03:
A history of .NET runtimes.
- 2018‑10‑03:
Arm offers free-as-in-beer Cortex IP for Xilinx FPGAs.
- 2018‑10‑03:
The remarkable persistence of 24x36mm.
- 2018‑10‑03:
Why are enterprises so slow?
- 2018‑10‑03:
Kubernetes: a surprisingly affordable platform for personal projects.
- 2018‑10‑03:
When workers automate their own duties, who should reap the benefits?
- 2018‑10‑03:
How cyber attackers stole £2.26m from Tesco Bank customers.
- 2018‑10‑02:
The art of DNS subdomain enumeration.
- 2018‑10‑02:
What the heck is going on with measures of programming language popularity?
- 2018‑10‑02:
Vigilante engineer stops Waymo from patenting key lidar technology.
- 2018‑10‑02:
Introducing dav1d: a new AV1 decoder.
- 2018‑10‑01:
Think globally, act local-ly: restoring environment variables for a subprocess in Perl.
- 2018‑10‑01:
Rethinking Netflix's edge load balancing.
- 2018‑10‑01:
Reimagining of Schrödinger's cat breaks quantum mechanics, and stumps physicists.
- 2018‑10‑01:
UK telecomms access hatch covers.
- 2018‑10‑01:
What if everything we know about dark matter is totally wrong?
- 2018‑09‑30:
NanoLog: high performance nanosecond scale logging system for C++ with a printf-like API.
- 2018‑09‑30:
Peter Flynn set up the first web server in Ireland, and caused the first broken link 404 error.
- 2018‑09‑30:
Estonia sues Gemalto for 152 mln euros over ID card flaws.
- 2018‑09‑29:
Tesla big battery defies skeptics, sends industry bananas over performance.
- 2018‑09‑29:
State of memory safety in Linux.
- 2018‑09‑29:
How 50 million Facebook accounts were hacked.
- 2018‑09‑29:
Innocent until proven guilty / believe the plaintiff.
- 2018‑09‑29:
Rust collections case study: BTreeMap.
- 2018‑09‑29:
The relative performance of C and Rust: AVL tree vs B-tree.
- 2018‑09‑28:
Building Raspberry Pi systems with Yocto.
- 2018‑09‑28:
How to visualize decision trees.
- 2018‑09‑27:
Bizarre particles keep flying up out of Antarctica's ice, and they don't fit the Standard Model.
- 2018‑09‑26:
Why scatter plots suggest causality, and how diamond plots can compensate.
- 2018‑09‑26:
How to build a LOW←TECH solar-powered web site.
- 2018‑09‑26:
Deploying anycast DNS using OpenBSD and BGP.
- 2018‑09‑26:
ARIN routing security deployment stymied by legal restrictions on trust anchor distribution.
- 2018‑09‑26:
What I learned about trash collection from a Taipei alley.
- 2018‑09‑25:
The sorry state of TLS security in enterprise interception appliances.
- 2018‑09‑25:
Although many thought Koko the ape used sign language, science tells us that probably wasn't really true.
- 2018‑09‑25:
Which countries are most resilient to a tier 1 Internet provider failure?
- 2018‑09‑25:
Build systems à la carte.
- 2018‑09‑25:
Taking algorithms to court: current strategies for litigating government use of algorithmic decision-making (in the USA).
- 2018‑09‑25:
Review of the system failure that led to the 2018 tax day IRS outage.
- 2018‑09‑25:
Am I logged in or not? GDPR and the Google Chrome browser sync change.
- 2018‑09‑24:
Computer scientists close in on a proof of the Unique Games conjecture.
- 2018‑09‑24:
Inside a demo of NSO Group's powerful iPhone malware.
- 2018‑09‑23:
Instagram is the unlikely savior of concrete Brutalist architecture.
- 2018‑09‑23:
PostgreSQL 11: something for everyone.
- 2018‑09‑23:
Qualcomm's bid to chase Intel in servers fell victim to Broadcom.
- 2018‑09‑23:
Common cyborg.
- 2018‑09‑22:
A mathematical pattern that fails after about 10^43 examples.
- 2018‑09‑22:
How the GNU coreutils are tested.
- 2018‑09‑21:
NewSQL database systems are failing to guarantee consistency, and Google Spanner is to blame.
- 2018‑09‑21:
Writing documentation when you aren't a technical writer.
- 2018‑09‑21:
Pallene: A statically typed companion language for Lua.
- 2018‑09‑21:
Core Coroutines: making C++ coroutines simpler, faster, and more general.
- 2018‑09‑21:
Whatever happened to the semantic web?
- 2018‑09‑21:
The Open Graph protocol: web page metadata for Facebook.
- 2018‑09‑21:
How to create a Twitter card.
- 2018‑09‑21:
Titans of mathematics clash over epic "proof" of the ABC conjecture.
- 2018‑09‑20:
Why aren't users more happy with programming language JIT VMs?
- 2018‑09‑20:
Persistent DNS connections for reliability and performance.
- 2018‑09‑19:
Javascript: call functions without using parentheses, Lua style.
- 2018‑09‑19:
Scaling AFL to a 256 thread machine.
- 2018‑09‑19:
ICANN board approval of the DNSSEC root KSK rollover.
- 2018‑09‑18:
Why mathematicians can't find the hay in a haystack.
- 2018‑09‑18:
How to kill your tech industry: British computing after the war.
- 2018‑09‑18:
Ruby's Hashes and Perl's Autovivification, in JavaScript.
- 2018‑09‑18:
DDoS attacks on colleges and universities: who, when and why?
- 2018‑09‑18:
Apple and Firefox aim to thwart Facebook and Google tracking.
- 2018‑09‑18:
What really happened to Apple's AirPower.
- 2018‑09‑18:
RIPE's DNSSEC signer migration.
- 2018‑09‑17:
Writers' HQ privacy policy.
- 2018‑09‑17:
Good and Mad: American women are furious; politics and culture will never be the same.
- 2018‑09‑17:
Tim Hayward's grilled cheese sandwich.
- 2018‑09‑17:
Bitslicing: an introduction.
- 2018‑09‑17:
Bring back the shadows: the case against HDR.
- 2018‑09‑17:
A summary of the draft EU directive that might abolish DST next year.
- 2018‑09‑16:
GT Zirkon: a sans-serif font with an animated website.
- 2018‑09‑16:
The next ten billion years.
- 2018‑09‑16:
The real Goldfinger: the London banker who broke the world.
- 2018‑09‑15:
The strange history of Myers-Briggs personality tests.
- 2018‑09‑15:
Most of the Daily Mail's 'commentors' don't even exist.
- 2018‑09‑15:
What most remote work companies don't tell you about remote work.
- 2018‑09‑15:
The five levels of logging.
- 2018‑09‑15:
XML, blockchains, and the strange shapes of progress.
- 2018‑09‑15:
The widely divergent life expectancy in every county in the USA.
- 2018‑09‑15:
We're measuring the economy all wrong.
- 2018‑09‑15:
Handling the iPhone notch in CSS.
- 2018‑09‑15:
Making a hash of things: changing the comment character in git commit messages.
- 2018‑09‑14:
Golang and algebraic data types.
- 2018‑09‑14:
How the Weather Channel made that awesome Hurricane Florence storm surge animation.
- 2018‑09‑14:
If you have a meeting in Ethiopia, you'd better double check the time.
- 2018‑09‑14:
A discussion of local time in Ethiopia, where 12:00 is dawn.
- 2018‑09‑13:
On recipes as software, and empathy for the user.
- 2018‑09‑13:
The factorization of RSA230.
- 2018‑09‑13:
A cartogram of world population in 2018.
- 2018‑09‑13:
YANG alarms.
- 2018‑09‑13:
UK mass surveillance ruled unlawful in landmark ECHR judgment.
- 2018‑09‑13:
European Commission proposes ending DST in March 2019.
- 2018‑09‑13:
How we found a missing Scala class.
- 2018‑09‑13:
HHVM ends PHP support; Facebook's Hack language will rapidly break compatibility.
- 2018‑09‑13:
What the GlobalFoundries retreat really means.
- 2018‑09‑12:
Adventures in Rust: DNS lookups with futures and Tokio.
- 2018‑09‑12:
Parallelizing PNG: choosing Rust for `mtpng`.
- 2018‑09‑12:
Let's Encrypt at scale, for 3000+ web sites at AutoTrader.
- 2018‑09‑12:
How to generate SSL certificates for custom domains using Let's Encrypt, OpenResty, nginx, and Lua.
- 2018‑09‑12:
Writing a simple SQL interpreter in Julia.
- 2018‑09‑12:
Brendan Eich's Brave browser files GDPR complaint against Google's adtech.
- 2018‑09‑12:
Hashicorp Vault: why we need dynamic secrets.
- 2018‑09‑12:
A single gene mutation may have helped humans become optimal long-distance runners.
- 2018‑09‑12:
The British Airways breach: how Magecart claimed 380,000 victims.
- 2018‑09‑12:
Pigeon Maps: ReactJS maps without external dependencies.
- 2018‑09‑11:
The effectiveness of publicly shaming bad security (after private reports fall on deaf ears).
- 2018‑09‑11:
The "developer experience" bait-and-switch: JavaScript is the web's greenhouse gas.
- 2018‑09‑11:
PostgreSQL 11 JIT compilation of queries.
- 2018‑09‑11:
An IPv6 update: how APNIC measures the Internet.
- 2018‑09‑11:
Measuring information in millibytes
- 2018‑09‑11:
Elegy for Larrabee: autovectorization is not a programming model.
- 2018‑09‑11:
OpenSSL-1.1.1 released.
- 2018‑09‑11:
DoT and DoH: it's DNS, Jim, but not as we know it!
- 2018‑09‑10:
Why big companies squander good ideas.
- 2018‑09‑10:
Fast, furious, and insecure: hacking passive keyless entry and start in the Tesla model S.
- 2018‑09‑10:
Spoofing DNS with IP fragments.
- 2018‑09‑10:
A23D: a 3D-printed letterpress font.
- 2018‑09‑10:
Highlights from Git 2.19.
- 2018‑09‑10:
`git log --follow` over-enthusiastically tracks empty files.
- 2018‑09‑10:
The first 15 years of PyPy: a personal retrospective.
- 2018‑09‑10:
Starting an Internet service provider, part 2: deploying fiber.
- 2018‑09‑10:
libcurl gets a URL parser API.
- 2018‑09‑10:
Why Rust closures are (somewhat) hard.
- 2018‑09‑10:
An introduction to inline classes in Kotlin.
- 2018‑09‑10:
Why can't apes talk? Considering primate speech.
- 2018‑09‑10:
UK's worst-selling map: The empty landscape charted by OS440.
- 2018‑09‑10:
Future directions for optimizing compilers.
- 2018‑09‑10:
Things you probably don't want on your [airline] website's payment pages.
- 2018‑09‑09:
On compositionality.
- 2018‑09‑09:
The two dualities of computation: negative and fractional algebraic data types.
- 2018‑09‑09:
The algebra (and calculus!) of algebraic data types.
- 2018‑09‑09:
xsv: a CSV command line toolkit written in Rust.
- 2018‑09‑09:
Java 11: Time to look beyond Oracle's JDK.
- 2018‑09‑09:
5 mistakes C/C++ devs make writing Golang.
- 2018‑09‑09:
10 physics facts you should have learned in school but probably didn't.
- 2018‑09‑09:
DNS-over-TLS: thoughts and implementation.
- 2018‑09‑09:
First-party isolation in Firefox: what breaks if you enable it?
- 2018‑09‑08:
Surprising hidden order unites prime numbers and crystal-like materials.
- 2018‑09‑08:
Quarternions: the strange numbers that birthed modern algebra.
- 2018‑09‑08:
ripgrep 0.10.0 with pcre support.
- 2018‑09‑08:
Zero overhead deterministic failure: a proposed mechanism for C and C++.
- 2018‑09‑07:
SQL style guide.
- 2018‑09‑07:
TLS session resumption allows Google and Facebook to track you without cookies.
- 2018‑09‑07:
Keybase's browser extension exposes decrypted messages to third party web sites.
- 2018‑09‑07:
Golang says WAT?
- 2018‑09‑07:
The mysterious case of Chrome's hidden URLs and Google's AMP.
- 2018‑09‑07:
The new science of seeing around corners.
- 2018‑09‑07:
The monopoly-busting case against Google, Amazon, Uber, and Facebook.
- 2018‑09‑07:
How gRPC uses HTTP/2.
- 2018‑09‑07:
How the Golang runtime implements maps efficiently (without generics).
- 2018‑09‑07:
Google AMP can go to hell.
- 2018‑09‑07:
Google wants to kill the URL.
- 2018‑09‑07:
Ancient farmers spared us from glaciers but profoundly changed Earth's climate.
- 2018‑09‑07:
How we massively reduced our AWS Lambda bill with Golang.
- 2018‑09‑07:
Best practices for mobile form design.
- 2018‑09‑07:
Stabbing yourself with a fork() in a Python multiprocessing.Pool full of sharks.
- 2018‑09‑07:
cOAlition S: a European initiative for full and immediate Open Access to research publications.
- 2018‑09‑07:
Radical open-access plan could spell end to academic journal subscriptions.
- 2018‑09‑07:
Franken-algorithms: the deadly consequences of unpredictable code.
- 2018‑09‑06:
Upgrading PostgreSQL 10 to 11 using logical replication.
- 2018‑09‑06:
Tealemetry: an IoT tea coaster and thermometer.
- 2018‑09‑06:
What drives IPv6 deployment?
- 2018‑09‑06:
Aussie ISP gets eye-watering IPv4 bill, shifts to IPv6 addresses.
- 2018‑09‑05:
Political sextant.
- 2018‑09‑05:
Electromagnetic Field hacker camp featured open source phones as badges and DIY IMSI catchers.
- 2018‑09‑05:
A Rust pattern: iterating over an Rc<Vec<T>>.
- 2018‑09‑05:
The history of a security hole in OpenBSD on i386.
- 2018‑09‑05:
Function poisoning in C++ with gcc.
- 2018‑09‑05:
On Firefox moving DNS to a third party.
- 2018‑09‑05:
Diffy: a server comparison engine for digital forensics in the cloud.
- 2018‑09‑05:
A tour of the Golang memory allocator and garbage collector.
- 2018‑09‑05:
Convergence of AIX and 4.3BSD.
- 2018‑09‑05:
uvm: a BSD virtual memory system.
- 2018‑09‑05:
Java's new Z Garbage Collector (ZGC).
- 2018‑09‑05:
Burroughs B5500 emulator.
- 2018‑09‑04:
Notes on Ousterhout's "Philosophy of Software Design".
- 2018‑09‑04:
A bug story: data alignment in C on x86.
- 2018‑09‑04:
On-site group chat alternatives to HipChat or Slack.
- 2018‑09‑04:
Hysteria was not treated with vibrators.
- 2018‑09‑03:
A critique of resizable distributed hash tables: Riak Core vs random slicing.
- 2018‑09‑03:
Doom II's final secret has been found, after 24 years.
- 2018‑09‑03:
zombodb: allow Postgres to use Elasticsearch as an index provider.
- 2018‑09‑03:
I don't want to learn your garbage query language.
- 2018‑09‑03:
BBC Horizon documentary: a week without lying, the honesty experiment.
- 2018‑09‑03:
SonarSnoop: active acoustic side-channel attacks against smartphone unlock codes.
- 2018‑09‑03:
Optical TEMPEST: progress since 2002.
- 2018‑09‑03:
Tips for making video walls using Matrox C-series graphics cards.
- 2018‑09‑03:
ParseDMARC: open source DMARC report analyzer and visualizer.
- 2018‑09‑03:
ICANN's guide on what to expect during the DNSSEC root KSK rollover.
- 2018‑09‑03:
Relativistic quantum chemistry: why gold is yellow and mercury is liquid.
- 2018‑09‑02:
Anycast TCP.
- 2018‑09‑02:
A story about tracking down TCP RSTs.
- 2018‑09‑02:
Mastodon and the challenges of abuse in a federated system.
- 2018‑09‑01:
Zero-copy deserialization in Julia.
- 2018‑08‑31:
Can Beethoven send copyright takedown requests?
- 2018‑08‑31:
Shifting solid bulk cargoes: an explanation of the process and dangers.
- 2018‑08‑31:
The abelian sandpile model.
- 2018‑08‑31:
The ships that sink due to solid bulk cargo liquefaction.
- 2018‑08‑31:
LeBron James's tattoos at issue in a copyright lawsuit.
- 2018‑08‑31:
On the worst-case complexity of TimSort.
- 2018‑08‑31:
C considered dangerous: mitigations in the Linux kernel.
- 2018‑08‑31:
The performance cost of Spectre / Meltdown / Foreshadow mitigations on Linux 4.19.
- 2018‑08‑30:
Life-size drivable LEGO Technic Bugatti Chiron.
- 2018‑08‑30:
Firefox in-page pop-up reporter.
- 2018‑08‑30:
Linux kernel developer criticizes Intel's Meltdown bug secrecy.
- 2018‑08‑30:
Firefox Nightly DNS-over-HTTPS experimental results.
- 2018‑08‑30:
In the near future, Firefox will - by default - protect users by blocking tracking.
- 2018‑08‑29:
This Tudor London map overlay is marvelous.
- 2018‑08‑29:
Miami's other water problems.
- 2018‑08‑29:
Lazy sequences in Swift and how they work.
- 2018‑08‑29:
Awesome and crazy Kotlin examples.
- 2018‑08‑29:
Surety, the world's oldest blockchain, has been hiding in the New York Times since 1995.
- 2018‑08‑29:
DarkRISCV: opensouce RISC-V implemented from scratch in one night!
- 2018‑08‑29:
Postgres 11 has fast column creation with defaults.
- 2018‑08‑29:
hardened_malloc: an experimental hardened allocator in a very early stage of development.
- 2018‑08‑28:
Tide: TypeScript interactive development environment for Emacs.
- 2018‑08‑28:
RedHat and SUSE withdraw support for OpenLDAP.
- 2018‑08‑28:
Goodbye VSCode, hello Emacs (again).
- 2018‑08‑28:
A new Linux kernel AIO polling interface.
- 2018‑08‑28:
Why U.S. corporate boards don't include workers.
- 2018‑08‑28:
GlobalFoundries stops all 7nm development, instead focuses on specialized processes.
- 2018‑08‑28:
wideNES: peeking past the edge of NES games.
- 2018‑08‑28:
The rise of dismal sf: to understand our economic system, we need speculative stories.
- 2018‑08‑28:
Spectrum of possibilities: a GUI color guide.
- 2018‑08‑28:
How Facebook, Apple, Microsoft, and others are contributing to OpenStreetMap.
- 2018‑08‑28:
Fixing slow MacBook WiFi reconnect after sleep.
- 2018‑08‑28:
From PFI to privatisation, our national accounting rules encourage daft decisions. It's time to change them.
- 2018‑08‑27:
Stop telling women how they should talk.
- 2018‑08‑27:
Why did Prolog lose steam?
- 2018‑08‑27:
Real world write loads and SSD wearout.
- 2018‑08‑27:
VSCodium: binary releases of VS Code without MS branding/telemetry/licensing.
- 2018‑08‑26:
Women's pockets are inferior.
- 2018‑08‑26:
Emoji: in the beginning.
- 2018‑08‑26:
A satellite engineer explains the challenges of space electronics.
- 2018‑08‑26:
The how and why of the design of the Lucida fonts.
- 2018‑08‑26:
The paradox of Karl Popper.
- 2018‑08‑26:
The Great Barrier Reef is headed for 'massive death'.
- 2018‑08‑26:
The illegal ramen vendors of postwar Tokyo.
- 2018‑08‑26:
Swan sanctuary says bread is good for wildfowl.
- 2018‑08‑26:
How the Netherlands feeds the world.
- 2018‑08‑26:
There's no room in the Room of My Own.
- 2018‑08‑26:
The origins of opera and the future of programming.
- 2018‑08‑26:
The worst stories from a decade-plus of Ask A Manager.
- 2018‑08‑26:
Patterns for authentication in the CDN.
- 2018‑08‑25:
The sugar conspiracy.
- 2018‑08‑25:
quicktype: generate types and converters from JSON, Schema, and GraphQL.
- 2018‑08‑25:
Lessons from JupyterCon.
- 2018‑08‑25:
Four ways that Internet ex-idealists explain where it all went wrong.
- 2018‑08‑25:
AT commands: attacking Android phones using modem control sequences over USB.
- 2018‑08‑25:
Zork: how to fit a large program in a small machine.
- 2018‑08‑24:
Firefox's :screenshot command.
- 2018‑08‑24:
The rise and rise of JSON.
- 2018‑08‑24:
Eerie skyglow called 'Steve' isn't an aurora, Is 'completely unknown' to science.
- 2018‑08‑23:
The war over supercooled water: a seven year scientific dispute caused by a coding error.
- 2018‑08‑22:
Home Assistant: open source home automation with Python.
- 2018‑08‑22:
Kubernetes anti-patterns: let's do GitOps, not CIOps!
- 2018‑08‑22:
GitOps: a path to more self-service IT.
- 2018‑08‑22:
Automatic code formatting for partially-staged files in git.
- 2018‑08‑22:
Sex, religion, and a towering treatise on anatomy.
- 2018‑08‑22:
Orkney tidal turbine generating 'phenomenal result'.
- 2018‑08‑22:
New attack recovers RSA encryption keys from EM waves within seconds.
- 2018‑08‑22:
Why are record companies dumping their Spotify stock?
- 2018‑08‑22:
The undertakers of Silicon Valley: how failure became big business.
- 2018‑08‑22:
Picycle: donate your unused Raspberry Pi for scientific research.
- 2018‑08‑22:
Many more Ghostscript security vulnerabilities.
- 2018‑08‑22:
The first million integers, represented as binary vectors of prime factors, laid out using the UMAP dimensionality reduction algorithm.
- 2018‑08‑22:
Google's voracious data collection.
- 2018‑08‑22:
The Packard Merlin: how Detroit mass-produced Britain's hand-built powerhouse.
- 2018‑08‑21:
A galactic visualization of the prime factors of the first million numbers.
- 2018‑08‑21:
On the iron law of megaprojects, the break-fix model of management, survival of the unfittest, and more.
- 2018‑08‑21:
Fast multiplication with slow additions.
- 2018‑08‑21:
Live map of London Underground trains.
- 2018‑08‑20:
Catching integer overflows in C.
- 2018‑08‑20:
High school students learning programming do better with block-based languages.
- 2018‑08‑20:
DNSSEC and DNS over TLS.
- 2018‑08‑20:
Performance of ranged accesses into arrays: modulo, multiply-shift, and masks.
- 2018‑08‑20:
Hacking a brand new Mac remotely, right out of the box, using the device enrolment program.
- 2018‑08‑20:
A visual guide to git.
- 2018‑08‑20:
Singularity of Origin: a tool to perform DNS rebinding attacks.
- 2018‑08‑20:
Propagation of error: approving citations of retracted papers.
- 2018‑08‑19:
MATLAB is a terrible programming language.
- 2018‑08‑19:
An introduction to Golang modules.
- 2018‑08‑19:
One in five genetics papers contains errors thanks to Microsoft Excel.
- 2018‑08‑19:
Pseudo constant time implementations ofTLS are only pseudo secure.
- 2018‑08‑19:
Directional freezing: a method for making clear ice.
- 2018‑08‑19:
Tobacco cocktails are a terrible idea.
- 2018‑08‑18:
Advice for data organization in spreadsheets.
- 2018‑08‑18:
John Conway's method for walking up stairs.
- 2018‑08‑18:
The T programming language: an early dialect of Scheme.
- 2018‑08‑18:
The Ramsey sweep: mark/sweep garbage collection in time proportional to the live data, not heap size.
- 2018‑08‑18:
Samba DNS problems with DNAME records and large replies.
- 2018‑08‑18:
Never patterns, exhaustive matching, and uninhabited types in Rust.
- 2018‑08‑17:
Battery breakthrough: Doubling performance with lithium metal that doesn't catch fire.
- 2018‑08‑17:
Caveat troglodytarum: how to deal with patent trolls.
- 2018‑08‑17:
Working at Superior Software in Leeds in the 1980s.
- 2018‑08‑17:
A sound card before its time.
- 2018‑08‑17:
24-core CPU and I can't type an email: Google Chrome performance debugging.
- 2018‑08‑17:
Secure Socket API: an easy-to-use TLS extension to BSD sockets.
- 2018‑08‑17:
Introducing the Windows pseudo console (ConPTY).
- 2018‑08‑17:
Who left open the cookie jar?
- 2018‑08‑17:
Who is answering my queries? Understanding and characterizing interception of the DNS resolution path.
- 2018‑08‑17:
How to alleviate the pain of Rust compile times.
- 2018‑08‑16:
BARR-C:2018 embedded C coding standard, harmonized with MISRA C 2012.
- 2018‑08‑16:
Are patent claims coming for your WS2812 Neopixels?
- 2018‑08‑16:
FastLED: an animation library for Arduino.
- 2018‑08‑16:
Pixelblaze V2: an advanced LED pattern development engine and controller.
- 2018‑08‑15:
Sequences, sequences, and sequences: Fred Sanger's academic autobiography.
- 2018‑08‑15:
Scientists discover how to make schwartzite (negatively curved carbon sheets) after decades of searching.
- 2018‑08‑15:
The "server-process-edition" branch of SQLite.
- 2018‑08‑15:
Strongly universal string hashing is fast.
- 2018‑08‑15:
Not on your life: six means of sf transportation I would not use.
- 2018‑08‑15:
Bullshit-sensitivity predicts prosocial behavior.
- 2018‑08‑15:
Meltdown strikes back: the Intel L1 terminal fault (L1TF / Foreshadow) vulnerability.
- 2018‑08‑15:
Diagnosing a weak memory ordering bug.
- 2018‑08‑15:
Passive observations of a large DNS service.
- 2018‑08‑15:
Open Journal Systems: open-source academic journal publishing software.
- 2018‑08‑15:
Fastly's response to the SegmentSmack vulnerability.
- 2018‑08‑14:
If quantum computers are not possible, why are classical computers possible?
- 2018‑08‑14:
Can you break a stick of spaghetti into just two pieces? Yes! (With a twist.)
- 2018‑08‑14:
Protecting against the new "L1TF" speculative vulnerabilities.
- 2018‑08‑14:
Foreshadow: breaking Intel's virtual memory abstraction with transient out-of-order execution.
- 2018‑08‑14:
Dijkstra's in disguise.
- 2018‑08‑14:
The 10:1 rule of work:output in writing and programming.
- 2018‑08‑14:
Faxploit: compromising a network via an all-in-one printer's POTS fax line.
- 2018‑08‑13:
The Power User Curve: The best way to understand your most engaged users.
- 2018‑08‑13:
Celebrating 10 years of BGP routing insecurity.
- 2018‑08‑13:
An overview of the BBC's work on TV over IP with optional multicast.
- 2018‑08‑13:
What do I need to know about the "SegmentSmack" TCP reassembly DoS attack?
- 2018‑08‑12:
The evolution of LED backlights for LCDs.
- 2018‑08‑12:
USA temperature charts: can I sucker you?
- 2018‑08‑12:
Dismantling the USS Enterprise: The US Navy has never disposed of a nuclear-powered aircraft carrier before.
- 2018‑08‑12:
What the fuck is the "edge"?
- 2018‑08‑10:
DNS: A look back at a look back from 1988.
- 2018‑08‑10:
Which cryptographic attack deserves to win the 2018 Pwnie?
- 2018‑08‑10:
µUBSan: a clean-room reimplementation of the Undefined Behavior Sanitizer runtime.
- 2018‑08‑10:
Smoking around the world.
- 2018‑08‑10:
Rosenbridge: a hardware backdoor in VIA C3 x86 processors.
- 2018‑08‑09:
Julia 1.0
- 2018‑08‑09:
Airtime for Hitler on BBC.
- 2018‑08‑09:
An ingenious but failed BMW theft attempt.
- 2018‑08‑09:
"What have we done?" Silicon Valley engineers fear the gig economy they have created is a monster.
- 2018‑08‑09:
Dark energy may be incompatible with string theory.
- 2018‑08‑09:
How to crash a node.js email server with a single message.
- 2018‑08‑09:
In search of a bigger boom: multi-stage thermonuclear hydrogen bombs.
- 2018‑08‑09:
On Beavers, nature's perfect analogy for Silicon Valley tech.
- 2018‑08‑09:
Systemd's DynamicUser feature is dangerous.
- 2018‑08‑09:
Bloaty McBloatface 1.0: a size profiler for binaries.
- 2018‑08‑09:
Scalable media delivery on the Web with HTTP server push and multicast QUIC to the browser.
- 2018‑08‑09:
BBC R&D scalable Internet broadcasting using multicast QUIC.
- 2018‑08‑09:
GLB: GitHub's open source layer 4 load balancer.
- 2018‑08‑08:
A collection of dataviz caveats.
- 2018‑08‑08:
Stacked Borrows: an aliasing model for Rust.
- 2018‑08‑08:
High uptime headaches due to floating point high resolution timers.
- 2018‑08‑08:
A timesyncd total failure and systemd's complete lack of debugability.
- 2018‑08‑08:
V8 JavaScript engine release v6.9
- 2018‑08‑08:
New York's Vision Zero success provides a road map for others taking aim at pedestrian deaths.
- 2018‑08‑07:
Hacking commit access to Homebrew in 30 minutes.
- 2018‑08‑07:
Meet the street artist transforming London's railway bridges into works of art.
- 2018‑08‑07:
Rust and the case of the redundant comparison.
- 2018‑08‑06:
How fast is a PS/2 keyboard?
- 2018‑08‑06:
Let's Encrypt is now directly trusted by all major X.509 root CA programs.
- 2018‑08‑06:
Facebook deploys TLS 1.3 with Fizz, a new high-performance open source TLS library.
- 2018‑08‑06:
The mythical Brown Windsor Soup.
- 2018‑08‑06:
Pollen calendar.
- 2018‑08‑06:
Polyhedra Viewer: visualize the relationships between the convex, regular-faced polyhedra.
- 2018‑08‑06:
What's going on in the Rosetta timelapse video from the surface of a comet.
- 2018‑08‑05:
Mozilla's new DNS-over-HTTPS resolution is dangerous.
- 2018‑08‑04:
On system rollback and totalised fields: An algebraic approach to system change.
- 2018‑08‑04:
What is philosophy of science, and should scientists care?
- 2018‑08‑04:
Transparency logs via append-only authenticated dictionaries.
- 2018‑08‑04:
Illuminated manuscripts, illuminating medicines: the difficult sources of old pigments.
- 2018‑08‑04:
Arxiv Vanity: read academic papers from Arxiv as web pages.
- 2018‑08‑03:
In pursuit of production minimalism at Heroku.
- 2018‑08‑03:
The oldest building in every state of the USA.
- 2018‑08‑03:
Our logo looks like underpants: a case study in internationalization.
- 2018‑08‑03:
DOCSIS time protocol: PTP over cable for 5G microcells.
- 2018‑08‑03:
History of the BASIC Engine.
- 2018‑08‑03:
A ray-tracing pioneer explains how he stumbled into global illumination.
- 2018‑08‑02:
Australian Computer Museum Society's historical collection is due to be bulldozed next week.
- 2018‑08‑02:
saltpack: a modern crypto messaging format, a NaCL-based replacement for PGP.
- 2018‑08‑02:
Why a typical home solar setup does not work without mains power, and what you can do about it.
- 2018‑08‑01:
One line of Javascript made FT.com 10 times slower.
- 2018‑08‑01:
Introduction to compute shaders.
- 2018‑08‑01:
A new HTTP security header: Feature-Policy.
- 2018‑08‑01:
Swift's "Never" type.
- 2018‑08‑01:
Cherry MX history: a German company with American roots.
- 2018‑07‑31:
A friendly guide to colours in data visualisation.
- 2018‑07‑31:
The science behind non-Newtonian noodles.
- 2018‑07‑31:
Bootable CD with retro game in a tweet.
- 2018‑07‑31:
The IPv4 address space transfer market: 2018 mid-year report.
- 2018‑07‑31:
An Empire of Stars: How Britain beat the odds to independently achieve space flight, and then abandoned it on the very same day.
- 2018‑07‑31:
18-year-old Ewin Tang proved there is no quantum computing speedup for the “recommendation problem”.
- 2018‑07‑31:
First successful test of Einstein's general relativity near a supermassive black hole.
- 2018‑07‑31:
Highlights from IETF 102.
- 2018‑07‑31:
Why the new V8 JavaScript engine is so damn fast.
- 2018‑07‑31:
How to read an RFC.
- 2018‑07‑31:
Elsevier's demands are unacceptable for the German academic community.
- 2018‑07‑31:
When you need to rip the same CD 300 times.
- 2018‑07‑31:
A collection of quotes on interesting notations as tools of thought.
- 2018‑07‑31:
Porting Coreboot to the 51NB X210.
- 2018‑07‑30:
Haskell: If monads are the solution, what is the problem?
- 2018‑07‑30:
Announcing TypeScript 3.0.
- 2018‑07‑30:
What economists still don't get about the 2008 financial crisis.
- 2018‑07‑30:
How to read a legal opinion.
- 2018‑07‑30:
When Bussard ramjets ruled sf.
- 2018‑07‑30:
Why salt was so important throughout history.
- 2018‑07‑30:
Doug McIlroy's C++ regular expression matching library.
- 2018‑07‑30:
Routinator 3000: RPKI relying party software in Rust.
- 2018‑07‑30:
Pure CSS logical styling based on the number of elements.
- 2018‑07‑30:
The evolution of writing.
- 2018‑07‑30:
Iran's Gorgan Wall, second-longest in the world, is still shrouded in mystery.
- 2018‑07‑29:
The rejected transistor at the heart of the iconic Roland TR-808.
- 2018‑07‑29:
Secure boot on Apple Mac T2 computers.
- 2018‑07‑29:
When does white space matter in HTML?
- 2018‑07‑29:
Measuring the brightest iPhone ever: iPhone X.
- 2018‑07‑29:
The 'scutoid' is geometry's newest shape, and it could be all over your body.
- 2018‑07‑29:
Ghost characters: a spectre is haunting Unicode.
- 2018‑07‑29:
Cheap FPGA development boards.
- 2018‑07‑29:
Microfilm lasts half a millennium.
- 2018‑07‑29:
Why don't more men take their wife's surname when they marry?
- 2018‑07‑29:
The troubled quest for the superconducting wind turbine.
- 2018‑07‑29:
Color or fruit? On the unlikely etymology of "orange".
- 2018‑07‑28:
Ryu: convert floating point numbers to decimal strings.
- 2018‑07‑28:
A map showing the steepness of streets.
- 2018‑07‑28:
Ryū: fast float-to-string conversion.
- 2018‑07‑28:
#ifdef considered harmful: portability experience with C News.
- 2018‑07‑28:
uBlock has been taken over by AdBlock.
- 2018‑07‑28:
Behemoth, bully, thief: how the English language is taking over the planet.
- 2018‑07‑28:
Why restaurants became so loud, and what you can do about it.
- 2018‑07‑28:
The death of a TLD.
- 2018‑07‑28:
Keep a Changelog.
- 2018‑07‑27:
RSSAC023: a history of the DNS root nameserver system.
- 2018‑07‑27:
Ride-hailing services such as Uber and Lyft are not reducing traffic in American cities.
- 2018‑07‑26:
NetSpectre: read arbitrary memory over the network.
- 2018‑07‑26:
Prefix sums and their applications.
- 2018‑07‑26:
15 years of SparkFun.
- 2018‑07‑26:
WebAssembly security model.
- 2018‑07‑26:
The Shipping Forecast.
- 2018‑07‑26:
The Finkbeiner Test: a tool for writing about women in their professions.
- 2018‑07‑26:
Testing for divisibility by 7.
- 2018‑07‑26:
Is WebAssembly the return of Java applets and Flash?
- 2018‑07‑26:
Notes on secure BGP from IETF 102.
- 2018‑07‑26:
Breaking Bluetooth pairing with an ECC fixed coordinate invalid curve attack.
- 2018‑07‑26:
Compile-time function evaluation and Rust's type system.
- 2018‑07‑26:
What's with sf's fixation on single-gendered planets?
- 2018‑07‑26:
Is it possible to make floating point calculations completely deterministic?
- 2018‑07‑26:
On impl blocks, injection and surjection in Rust.
- 2018‑07‑25:
Big tech warns of Japanese millennium bug ahead of Akihito's abdication. (Also affects Unicode!)
- 2018‑07‑24:
Getting to know Graal, the new Java JIT compiler.
- 2018‑07‑24:
In her short life, mathematician Emmy Noether changed the face of physics.
- 2018‑07‑24:
How Rust #[test] function attributes work.
- 2018‑07‑23:
Minimal DMARC.
- 2018‑07‑21:
Why mobile phones are safe.
- 2018‑07‑21:
psi: pressure stall information for CPU, memory, and IO. (Linux WIP)
- 2018‑07‑21:
Frank's compulsive guide to international postal addresses.
- 2018‑07‑21:
Inside the Windows Console.
- 2018‑07‑21:
The wrong abstraction.
- 2018‑07‑21:
Into the Borg: an SSRF vulnerability inside Google's production network.
- 2018‑07‑21:
Riving, a Viking-age woodworking technique.
- 2018‑07‑21:
Doing Windows, part 5: version 2 and Excel.
- 2018‑07‑21:
Regex character ranges and locales: a long sad story.
- 2018‑07‑21:
The octonion math that could underpin physics.
- 2018‑07‑20:
Microsoft Windows Server 2019 will include support for leap seconds.
- 2018‑07‑20:
The uncertainty of measuring the DNS.
- 2018‑07‑20:
British broadband speed map.
- 2018‑07‑19:
The Java type system is unsound.
- 2018‑07‑18:
A primer on synchronization and data races, and a bug in Rust Arc atomic reference counts.
- 2018‑07‑18:
Auditing popular Rust crates: how one line of unsafe code nearly ruined everything.
- 2018‑07‑18:
JSON isn't a good configuration language.
- 2018‑07‑18:
Looking at TDD: an academic survey.
- 2018‑07‑18:
Writing asynchronous code for Android using coroutines in Kotlin.
- 2018‑07‑18:
Don't feed the trolls, and other hideous lies.
- 2018‑07‑18:
Getting Disney's Moana island scene to render well with pbrt.
- 2018‑07‑17:
Britain's busses are in crisis, and no-one seems to care.
- 2018‑07‑17:
H2O: an optimized http/2 web server.
- 2018‑07‑17:
Lwan: a lightweight web server scriptable with Lua.
- 2018‑07‑17:
The story of Golang's garbage collector.
- 2018‑07‑17:
Alan Bagley's long and satisfying career in time, frequency, and atomic clocks at Hewlett-Packard.
- 2018‑07‑17:
Formal reasoning about the security of AWS.
- 2018‑07‑17:
The two-time pad: midwife of information theory?
- 2018‑07‑17:
Linux touchpad like a Macbook: goal worth pursuing?
- 2018‑07‑16:
LIDL cancels SAP project after spending €500M.
- 2018‑07‑16:
Google Cloud Platform: the good, the bad, and the ugly.
- 2018‑07‑16:
Lean testing: why integration tests are better than unit tests.
- 2018‑07‑15:
How the BBC lost the plot on Brexit.
- 2018‑07‑15:
The new henge of Newgrange: a once-in-a-lifetime discovery.
- 2018‑07‑15:
The hotel bathroom puzzle.
- 2018‑07‑14:
Finding and exploiting hidden features of Animal Crossing's NES emulator.
- 2018‑07‑14:
A history of the inverse-T arrow key layout.
- 2018‑07‑14:
How to port your OS to Amazon EC2.
- 2018‑07‑13:
The Spiral Language: an ML family functional language with intensional polymorphism and first-class staging.
- 2018‑07‑13:
The battle of the schedulers: FreeBSD ULE vs. Linux CFS.
- 2018‑07‑13:
Crayon the grids: maps of street layouts colored by orientation.
- 2018‑07‑13:
Street orientation of Dutch cities.
- 2018‑07‑13:
Dhall: a programmable configuration language that is not Turing-complete.
- 2018‑07‑13:
How to write a good software design doc.
- 2018‑07‑13:
City street orientations around the world.
- 2018‑07‑12:
British Rail corporate identity 1965-1994.
- 2018‑07‑12:
HeyPhone: open hardware cave rescue communication system, used in the Thai cave rescue.
- 2018‑07‑11:
Cambridge Analytica is what happens when you privatise military propaganda.
- 2018‑07‑11:
Why is there an inc bp in function prologues on 16-bit Windows? Pointer tagging!
- 2018‑07‑10:
The role of personality, authoritarianism, and cognition in Brexit.
- 2018‑07‑10:
Shutting down Bitcanal, a BGP hijack factory.
- 2018‑07‑10:
Speculative buffer overflows: attacks and defenses. (Spectre BCBS)
- 2018‑07‑10:
The CSS paint API.
- 2018‑07‑10:
Cropmarks reveal ancient sites during the drought in Wales.
- 2018‑07‑09:
Inside the paper: Build Systems a la Carte.
- 2018‑07‑09:
Worse is worse.
- 2018‑07‑09:
Literate programming: Knuth is doing it wrong.
- 2018‑07‑09:
Saving a non-profit six figures a year using Squarespace, Airtable and Glitch.com.
- 2018‑07‑08:
A resource list for domestic abuse victims targeted using Internet of Things devices.
- 2018‑07‑08:
Social and cultural aspects of drinking: drunkenness is learned behaviour.
- 2018‑07‑08:
Against academic meritocracy.
- 2018‑07‑08:
OAuth 2 simplified.
- 2018‑07‑08:
Why Mastercard doesn't use OAuth 2.0.
- 2018‑07‑08:
OAuth for the Open Web.
- 2018‑07‑08:
The rise of 'pseudo-AI': how tech firms quietly use humans to do bots' work.
- 2018‑07‑08:
PuzzleScript: an open-source HTML5 puzzle game engine.
- 2018‑07‑08:
Version control before Git with CVS.
- 2018‑07‑08:
Dark Side of the Mac: APIs for appearance, background materials, and foreground vibrancy.
- 2018‑07‑08:
Why revolutionaries love spicy food: a history of the chilli pepper.
- 2018‑07‑07:
Why and how Java developers break APIs.
- 2018‑07‑05:
In 2018, Tumblr is a joyless black hole.
- 2018‑07‑05:
A review of Gödel, Escher, Bach.
- 2018‑07‑05:
How to design frictionless APIs.
- 2018‑07‑05:
Nginx tuning tips for TLS and https.
- 2018‑07‑05:
Testing memory allocators: ptmalloc2 vs tcmalloc vs hoard vs jemalloc.
- 2018‑07‑05:
Measurements of the impact of open offices on collaboration.
- 2018‑07‑04:
Speaking in code: how to program by voice.
- 2018‑07‑04:
Evaluating the evaluation: a benchmarking checklist.
- 2018‑07‑04:
How we solved GitLab's CHANGELOG conflict crisis.
- 2018‑07‑04:
A proposal for UUID version 6, that naturally sorts in time order.
- 2018‑07‑04:
The git commit-graph file format and other optimizations.
- 2018‑07‑03:
Fake "radical feminist" group is actually a paid political front for anti-LGBT religious right organization.
- 2018‑07‑03:
Article 13 of the EU copyright directove considered harmful.
- 2018‑07‑02:
Amber Case: the argument against blue.
- 2018‑07‑02:
Fictitious route names from a neural network trained on UK Climbing logbooks.
- 2018‑07‑02:
California passes its own GDPR to stymie a data protection ballot initiative.
- 2018‑07‑02:
Sereal: Fast, compact, schema-less, binary serialization and deserialization for Perl and other dynamic languages.
- 2018‑07‑02:
Reclaiming RSS.
- 2018‑07‑02:
Extractive contributors: How open is too open?
- 2018‑07‑02:
Computational Necromancy: MOST-POSITIVE-BIGNUM on the TI Explorer.
- 2018‑07‑02:
The independent researcher.
- 2018‑07‑02:
A survey of programming language package systems.
- 2018‑07‑01:
Design case history: the Commodore 64.
- 2018‑07‑01:
On C++ random number generator quality.
- 2018‑07‑01:
Bringup is hard: some hints and tips on porting NetBSD to a new hardware platform.
- 2018‑07‑01:
Developers. Our last, best hope for ethics?
- 2018‑07‑01:
How we discovered three poisonous books in our university library.
- 2018‑07‑01:
No, you don't need ML/AI. You need SQL.
- 2018‑07‑01:
TCP small queues and WiFi aggregation: a war story.
- 2018‑07‑01:
aLTEr: breaking LTE on layer two.
- 2018‑07‑01:
Debugging with C-Reduce.
- 2018‑07‑01:
Rust pointers for C programmers.
- 2018‑07‑01:
Why you should not use Google Cloud.
- 2018‑07‑01:
A sea change coming for water cooling in datacenters.
- 2018‑06‑30:
Elsevier are corrupting open science in Europe.
- 2018‑06‑30:
American collapse is extraordinary: why it's melting down faster than anyone believed.
- 2018‑06‑29:
Sphericons.
- 2018‑06‑28:
Python 3 at Facebook.
- 2018‑06‑28:
New GPU-accelerated supercomputers change the balance of power on the TOP500.
- 2018‑06‑28:
Turbine-powered optical isolator: a spinning glass ball that rejects light from one direction.
- 2018‑06‑28:
Hannah Gadsby's 'Nanette' is a radical, transformative work of comedy.
- 2018‑06‑28:
How BuzzFeed migrated from a Perl monolith to Golang and Python microservices.
- 2018‑06‑28:
How to get away with financial fraud.
- 2018‑06‑28:
Apple engineers its own downfall with the Macbook Pro keyboard.
- 2018‑06‑28:
Supercharging the Git commit graph.
- 2018‑06‑27:
Algebraic blindness: Boolean blindness for modern type systems.
- 2018‑06‑27:
Safe API design with the ghosts of departed proofs.
- 2018‑06‑27:
Exposing the secret Office 365 detailed activity logs and forensics tool.
- 2018‑06‑27:
Making Rust Arc more atomic.
- 2018‑06‑27:
Massacring C Pointers: the worst C programming textbook ever written.
- 2018‑06‑26:
Anti-if: the missing patterns.
- 2018‑06‑26:
Another 10 years of Internet evolution.
- 2018‑06‑26:
Issues and requirements for SNI encryption in TLS.
- 2018‑06‑26:
Oh, what a fragile web we weave: third-party dependencies in modern web services, and their implications.
- 2018‑06‑26:
A prescient warning to Boeing on its 787 trouble.
- 2018‑06‑26:
Out-sourced profits: the cornerstone of successful subcontracting. (Hart-Smith / Boeing)
- 2018‑06‑26:
Java tricks with 'var' and anonymous classes (that you should never use at work).
- 2018‑06‑26:
CheckTLS secure email.
- 2018‑06‑26:
STARTTLS everywhere: how well does your mail server support TLS?
- 2018‑06‑26:
Letting neural networks be weird: The Visual Chatbot.
- 2018‑06‑25:
.gov.?? 2LDs in various European countries.
- 2018‑06‑25:
Parsing with derivatives. (Paper)
- 2018‑06‑25:
Parsing with derivatives. (Slides)
- 2018‑06‑25:
A history of CPAN.
- 2018‑06‑25:
Attacking IoT devices from the Internet with DNS rebinding.
- 2018‑06‑24:
Isaac Asimov asks, "how do people get new ideas?"
- 2018‑06‑24:
Compiler fuzzing with AFL.
- 2018‑06‑24:
Design patterns as higher order datatype-generic programs.
- 2018‑06‑24:
Rebel girls and children's books: well-behaved women make history too.
- 2018‑06‑23:
TWISTED BRAIN: This demo will twist the 6845 CRTC video chip in your BBC Master computer in new and previously untested ways.
- 2018‑06‑23:
Some of my favourite lost buildings of Cambridge.
- 2018‑06‑23:
Hasbro says it owns the Scrabble dictionary. Players beg to differ.
- 2018‑06‑23:
All the perfect pangrams in English.
- 2018‑06‑23:
Break down of a C64 demo effect.
- 2018‑06‑22:
BOLT optimizes placement of instructions in memory to reduce CPU execution time by 2 percent to 15 percent.
- 2018‑06‑22:
The ARM scalable vector extension.
- 2018‑06‑22:
Disambiguating the first computer.
- 2018‑06‑22:
Wavethrough: a web browser security bug.
- 2018‑06‑21:
Zen magnets: 6 years of litigation ends In victory.
- 2018‑06‑21:
edn: extensible data notation, a subset of Clojure.
- 2018‑06‑21:
SDLang: a simple declarative language with an XML-like structure.
- 2018‑06‑21:
Jsonnet: a data templating language.
- 2018‑06‑21:
HOCON: human-optimized config object notation.
- 2018‑06‑21:
JSON5: JSON for humans.
- 2018‑06‑21:
Hjson: a user interface for JSON.
- 2018‑06‑21:
zish: A data serialization format.
- 2018‑06‑21:
YAML: probably not so great after all.
- 2018‑06‑21:
TLS certificates for localhost.
- 2018‑06‑20:
barrier: Open-source KVM software (a fork of Synergy).
- 2018‑06‑20:
PostgreSQL features you may not have tried but should.
- 2018‑06‑20:
A broad overview of how modern Linux systems boot.
- 2018‑06‑20:
From Ruby + ActiveRecord to Rust + Diesel.
- 2018‑06‑20:
The man who saw the dangers of Cambridge Analytica years ago.
- 2018‑06‑20:
Rust MIR-based borrow check (non-lexical lifetimes) status update.
- 2018‑06‑20:
The four most expensive words in the English language: cryptocurrency-based decentralized storage network.
- 2018‑06‑20:
Holy Grails and Thameslink Fails: the timetable that went wrong.
- 2018‑06‑19:
Microsoft has ported Windows, Linux, and LLVM to E2, its homegrown processor architecture.
- 2018‑06‑18:
How long would you have before you ran into trouble if you were given a golf ball that doubled in density once an hour?
- 2018‑06‑18:
A performance cheat sheet for PostgreSQL
- 2018‑06‑18:
Patterson's cipher for Jefferson: ahallenge solved after 200 years.
- 2018‑06‑18:
Why Skylake CPUs are sometimes 50% slower at highly threaded code: higher PAUSE latency.
- 2018‑06‑18:
'Like' is an infix now, which is un-like-believably innovative.
- 2018‑06‑18:
A brief history of the Erlang BEAM compiler.
- 2018‑06‑18:
Web Prolog: Erlang-style distributed concurrency in SWI-Prolog.
- 2018‑06‑18:
Fo: an experimental language that adds generics to Golang.
- 2018‑06‑17:
zapcc: a fork of clang that caches C++ template instantiations.
- 2018‑06‑16:
Functional baby talk: analysis of code fragments from novice Haskell programmers.
- 2018‑06‑16:
A new form of matter may lie just beyond the periodic table.
- 2018‑06‑15:
Visual methods of comparison, compared.
- 2018‑06‑15:
Unlocking intersection types with `var` in Java 10.
- 2018‑06‑15:
How ScyllaDB uses control theory to keep table compaction under control.
- 2018‑06‑15:
SigSpoof: Spoofing signatures in GnuPG, Enigmail, GPGTools, and python-gnupg.
- 2018‑06‑15:
LiteBSD: 4.4BSD for microcontrollers.
- 2018‑06‑15:
RetroBSD: Unix for microcontrollers.
- 2018‑06‑15:
Where do Rust threads come from?
- 2018‑06‑14:
Making key parts of the Ordnance Survey (OS) MasterMap freely available.
- 2018‑06‑14:
A convenient excuse: tech's discrimination problem.
- 2018‑06‑13:
Let's Encrypt adds random entries to the ACME directory to avoid protocol ossification.
- 2018‑06‑13:
The land before binary.
- 2018‑06‑13:
Automatic type coercions with procedural macros in Rust.
- 2018‑06‑12:
Enforcing TLS protocol invariants by rolling versions every six weeks.
- 2018‑06‑12:
I fear Google's control of the web.
- 2018‑06‑12:
Between the coats: a sensitivity read changed my life.
- 2018‑06‑12:
DasBetterC: converting make.c to D.
- 2018‑06‑12:
The legend of Old Man Henderson.
- 2018‑06‑11:
Golang refactoring : a 23x performance hunt.
- 2018‑06‑11:
Anders Hejlsberg on modern compiler construction. (YouTube)
- 2018‑06‑10:
slaacd: userland IPv6 interface autoconfiguration in OpenBSD.
- 2018‑06‑10:
Forget reusability, aim for perfection: New lessons from mandoc in OpenBSD.
- 2018‑06‑10:
xoshiro/xoroshiro random number generators and the PRNG shootout.
- 2018‑06‑10:
PCG: a family of better random number generators.
- 2018‑06‑10:
Minimalist C libraries.
- 2018‑06‑10:
pledge() and unveil() in OpenBSD.
- 2018‑06‑09:
San Francisco's project to build an open source paper-ballot voting system.
- 2018‑06‑09:
The power of pi: design patterns for dependently-types programming.
- 2018‑06‑08:
Living APIs, and the case for GraphQL.
- 2018‑06‑08:
A complete history of the Millennium Falcon.
- 2018‑06‑07:
New payments architecture: the next big innovation in UK banking.
- 2018‑06‑06:
Juno solves the 39-year-old mystery of Jupiter's lightning.
- 2018‑06‑06:
10 things Ryan Dahl regrets about node.js.
- 2018‑06‑06:
Some notes on high speed networking on PCs.
- 2018‑06‑05:
Attacks against machine learning: an overview.
- 2018‑06‑05:
"I'll take real toilet paper over standards any day, because at least that way I won't have splinters and ink up my arse." (Linus on C99 union type punning)
- 2018‑06‑05:
Nightmare.js: A high-level browser automation library based on Electron.
- 2018‑06‑05:
Observations from running 2 million headless browser sessions.
- 2018‑06‑05:
Zip slip: widespread directory traversal vulnerabilities in archive decompressers.
- 2018‑06‑05:
How to speed up the Rust compiler some more in 2018.
- 2018‑06‑05:
The anatomy of change: what we've learned from our gender bias workshop.
- 2018‑06‑04:
Sloc, cloc, and code: what happened on the way to the faster cloc.
- 2018‑06‑04:
What will the post-journal scientific publishing world look like?
- 2018‑06‑04:
Part spider, part scorpion creature found fossilized in amber.
- 2018‑06‑04:
BitHubLab: search three open source hosting platforms simultaneously.
- 2018‑06‑04:
A scope safe universe of syntaxes with binding, their semantics and proofs.
- 2018‑06‑03:
The human scalability of DevOps.
- 2018‑06‑03:
Women used to wear huge pockets like these under their petticoats.
- 2018‑06‑03:
Inside Firefox's DNS-over-HTTPS (DoH) engine.
- 2018‑06‑03:
CVE-2018-11235 git RCE write-up.
- 2018‑06‑03:
Quick and dirty PoC for git CVE-2018-11235.
- 2018‑06‑03:
String trepanation.
- 2018‑06‑03:
One year of C.
- 2018‑06‑03:
Cuntroversy: on reclaiming the C-word.
- 2018‑06‑03:
AI4Animation: quadruped animation in Unity3D using biologically-inspired deep learning.
- 2018‑06‑03:
The secrets of a diary written under the floorboards of a French château.
- 2018‑06‑03:
How Ireland beat dark ads in their abortion referendum.
- 2018‑06‑03:
China has turned Xinjiang into a police state like no other.
- 2018‑06‑03:
Catching up with sf writers at Nebula Con.
- 2018‑06‑02:
A 280-character active transport manifesto, unpacked.
- 2018‑06‑02:
It's 2018, and that means it's DMCA exemptions time again! EFF presents John Scalzi's story in support of the right to repair.
- 2018‑06‑02:
It's 2018, and that means it's DMCA exemptions time again! EFF presents Mur Lafferty's story in support of fair use of video.
- 2018‑06‑02:
It's 2018, and that means it's DMCA exemptions time again! EFF presents Cory Doctorow's story in support of jailbreaking.
- 2018‑06‑02:
Deep learning: a critical appraisal.
- 2018‑06‑02:
The academic / ISO view of the NSA Simon/Speck encryption algorithms.
- 2018‑06‑01:
Avoid under-prepared meetings.
- 2018‑06‑01:
Improving DNS privacy in Firefox with DNS-over-HTTPS (DoH).
- 2018‑06‑01:
IETF PRECIS and i18n. (successor to stringprep)
- 2018‑05‑31:
C standard undefined behaviour vs Wittgenstein.
- 2018‑05‑31:
When the dike breaks: dissecting DNS defenses during DDoS attacks.
- 2018‑05‑31:
Signed Integers are Two's Complement.
- 2018‑05‑31:
European Data Protection Board backs ban on 'cookie walls'.
- 2018‑05‑31:
Random Slicing: efficient and scalable data placement for large-scale storage systems.
- 2018‑05‑31:
I am a computer: gorgeous gifs of marvellous micros.
- 2018‑05‑31:
Golang gotcha: when nil != nil.
- 2018‑05‑31:
Ireland shows us how to run a referendum.
- 2018‑05‑30:
The diameter of the Rubik's Cube group is 20.
- 2018‑05‑30:
Hashlife: an algorithm for compressing space and time.
- 2018‑05‑30:
GDPR, China, and data sovereignty are ultimately wins for Amazon and Google.
- 2018‑05‑30:
Typed key pattern: using PhantomData to tie a string key to the type of its associated value.
- 2018‑05‑30:
Brian Eno on genius and "scenius".
- 2018‑05‑30:
The law of "fuck yes!" or "no".
- 2018‑05‑30:
Affine subscripts: strength reduction for array indexing in early Fortran.
- 2018‑05‑30:
A large collection of links on capability theory.
- 2018‑05‑30:
Introduction to the gfortran array descriptor / dope vector.
- 2018‑05‑30:
Why picture frames tilt forward.
- 2018‑05‑30:
Post-Spectre threat model re-think for Google Chrome.
- 2018‑05‑30:
Cautioning health-care professionals: bereaved persons are misguided through the "stages" of grief.
- 2018‑05‑29:
We will never find extraterrestrial life, because we will wipe it all out in a manner that is unintentional, yet horribly unavoidable.
- 2018‑05‑29:
A map of dogs of the world and their countries of origin.
- 2018‑05‑29:
The deceptively complex world of calendar events and RRULEs.
- 2018‑05‑29:
UTC is enough for everyone, right?
- 2018‑05‑29:
From npm to yarn and back again.
- 2018‑05‑29:
Remote code execution vulnerability in git (CVE 2018-11234 and CVE 2018-11235).
- 2018‑05‑29:
A comparison of adaptive radix trees and hash tables.
- 2018‑05‑29:
Revealing Internet latency clusters in Africa.
- 2018‑05‑29:
A new fast hash table.
- 2018‑05‑29:
So your startup received a nightmare GDPR letter...
- 2018‑05‑29:
Effectiveness of anonymization in double-blind peer review.
- 2018‑05‑29:
DNS flag day: stop working around broken EDNS servers after 2019-02-01.
- 2018‑05‑29:
When FFI function calls beat native C.
- 2018‑05‑28:
Cloud computing sticker shock is now a monthly occurrence at many companies.
- 2018‑05‑28:
The birth of a new American aristocracy.
- 2018‑05‑28:
Remember the Vasa! Endangering the future of C++?
- 2018‑05‑28:
Elon Musk is a modern Henry Ford. That's bad.
- 2018‑05‑28:
A map of station pubs.
- 2018‑05‑28:
NetBSD network stack security audit.
- 2018‑05‑28:
Evaluating the cost of atomic operations on modern CPU architectures.
- 2018‑05‑28:
Infographic: operation costs in CPU clock cycles.
- 2018‑05‑28:
What the world's fascination with nüshu, a female-only Chinese script, says about cultural appropriation.
- 2018‑05‑28:
Ditch your scumbag friend: a life hack for men who want to be feminists.
- 2018‑05‑28:
Invisible asymptotes, and strategic planning at Amazon.
- 2018‑05‑28:
Oracle plans to dump risky Java serialization, a "horrible mistake" from 1997.
- 2018‑05‑27:
Iterators vs. cursors: a case study in objects vs. values in Java.
- 2018‑05‑27:
Comparing the c ffi overhead on various programming languages.
- 2018‑05‑27:
Zero-overhead tree processing with the visitor pattern.
- 2018‑05‑26:
Versions of Han Solo's blaster already exist, and they're way more powerful than lightsabers would be.
- 2018‑05‑26:
The making of TANK. (YouTube)
- 2018‑05‑26:
TANK, by Stu Maschwitz. (YouTube)
- 2018‑05‑26:
Tube heartbeat.
- 2018‑05‑26:
The DisplayPort pin 20 problem.
- 2018‑05‑26:
Scientists are more efficient at producing high-quality research when they have more academic freedom.
- 2018‑05‑26:
Why media companies fear, and photographers love, this voracious copyright lawyer.
- 2018‑05‑26:
SmoothLife: Game of Life on a continuous domain in Python with Numpy.
- 2018‑05‑25:
Can we please talk about privacy, not GDPR, now?
- 2018‑05‑25:
prettier-emacs: Minor mode to format JS code when you save.
- 2018‑05‑25:
Prettier: an opinionated code formatter for JavaScript etc.
- 2018‑05‑25:
Black: an uncompromising Python code formatter.
- 2018‑05‑25:
Chasing missing SIGINT signals down the SSH rabbit hole.
- 2018‑05‑24:
A simple mental health pain scale.
- 2018‑05‑23:
Bill Gates: A platform is when the economic value of everybody that uses it exceeds the value of the company that creates it.
- 2018‑05‑23:
Don't use Hadoop: your data isn't that big.
- 2018‑05‑23:
Today Mac OS X is as old as Classic Mac OS was.
- 2018‑05‑23:
The end of an era: Saying goodbye to search.cpan.org, to be replaced by metacpan.org.
- 2018‑05‑23:
Deconstructing Kitty.
- 2018‑05‑22:
The EM-drive is a magnetic WTF-thruster.
- 2018‑05‑22:
Hidden sheep in the original Macintosh bitmap fonts.
- 2018‑05‑22:
snpm: a proof of concept to ensure consistency between NPM packages and their source code.
- 2018‑05‑22:
Simple compile-time prevention of SQL injection in Rust.
- 2018‑05‑22:
Finding a Google App Engine RCE bug.
- 2018‑05‑22:
Playing battleships over BGP.
- 2018‑05‑22:
Various ways to disable stdio buffering from the command line.
- 2018‑05‑22:
Happy 21st Century!
- 2018‑05‑20:
Lafable: large agile framework appropriate for big lumbering enterprises.
- 2018‑05‑20:
Twitter for Academics 101.
- 2018‑05‑20:
What do we mean when we say "show the thing"?
- 2018‑05‑20:
A guide to agile communication.
- 2018‑05‑20:
Inside the 76477 Space Invaders sound effect chip: digital logic implemented with I2L.
- 2018‑05‑20:
Datalog and emerging applications: a tutorial.
- 2018‑05‑20:
Datafrog: a relatively simple Datalog engine used for Rust's borrow checker.
- 2018‑05‑19:
Hippos crap so much that sometimes all the fish die.
- 2018‑05‑19:
Five whys and the cult of the root cause.
- 2018‑05‑19:
Was early modern writing paper expensive?
- 2018‑05‑19:
OPAQUE: an asymmetric PAKE protocol secure against pre-computation attacks.
- 2018‑05‑19:
GDPR hysteria: don't panic.
- 2018‑05‑19:
Seven steps to solve any dynamic programming interview problem.
- 2018‑05‑19:
NumWorks open hardware calculator teaches us about quality documentation.
- 2018‑05‑19:
Sweden cancels Elsevier contract as open-access dispute spreads.
- 2018‑05‑19:
Performance impact of removing Ruby out-of-band garbage collection at GitHub.
- 2018‑05‑19:
Introducing Git protocol version 2.
- 2018‑05‑18:
Towards built-in sharding for PostgreSQL.
- 2018‑05‑17:
Was the Efail disclosure horribly screwed up?
- 2018‑05‑17:
Reddit's redesign increases power usage of our devices by 68GW per month.
- 2018‑05‑17:
Painting by numbers: visualizing IP addressing plans.
- 2018‑05‑17:
Unique IPv6 prefix per host.
- 2018‑05‑17:
"We don't need IPv6".
- 2018‑05‑17:
IPv6 excuse bingo.
- 2018‑05‑16:
isomorphic-git: a JavaScript implementation of git for node.js and web browsers.
- 2018‑05‑16:
The spectacular power of Big Lens.
- 2018‑05‑16:
Lightweight CML-style concurrency in Lua for Snabb.
- 2018‑05‑16:
Fragmented IPv6 router advertisement handling on different operating systems.
- 2018‑05‑16:
Towards IPv6 only: A large scale RFC 7596 lw4o6 deployment for broadband users.
- 2018‑05‑16:
Lightweight 4over6: one step further for dual-stack lite networks.
- 2018‑05‑16:
Is large-scale DNS over TCP practical?
- 2018‑05‑16:
nom 4.0: faster, safer, simpler parsers in Rust.
- 2018‑05‑16:
Has wine gone bad?
- 2018‑05‑15:
Filling in PDF forms from the Linux command line.
- 2018‑05‑15:
John Regehr's software engineering course.
- 2018‑05‑15:
A job building software to kill people, but don't get distracted by that.
- 2018‑05‑15:
The collateral damage of Internet censorship by DNS injection.
- 2018‑05‑15:
Humans killed off the megafauna.
- 2018‑05‑15:
How copyright law hides work like Zora Neale Hurston's new book from the public.
- 2018‑05‑15:
apgdiff: another PostgreSQL diff tool.
- 2018‑05‑15:
pgquarrel: compare PostgreSQL database schemas, and emit SQL DDL representing the diff.
- 2018‑05‑15:
EveryRFC: an RFC search engine.
- 2018‑05‑15:
Drawables, reparenting, compositing, etc. in X11.
- 2018‑05‑14:
Joan Taylor's tilings.
- 2018‑05‑14:
The Taylor-Socolar aperiodic tile.
- 2018‑05‑14:
Is there a fix for impostor syndrome?
- 2018‑05‑14:
Why "Agile" and especially Scrum are terrible.
- 2018‑05‑14:
How a Rust upgrade more than tripled the speed of some multiprecision arithmetic.
- 2018‑05‑14:
Measuring DNS ATR, additional truncated responses.
- 2018‑05‑14:
Who invented the computer? The debate from the viewpoint of computer architecture.
- 2018‑05‑13:
Performance experiments with matrix multiplication in Rust.
- 2018‑05‑13:
GDPR will pop the adtech bubble.
- 2018‑05‑13:
Visualizing Thameslink-related changes to rail services.
- 2018‑05‑13:
The libtom projects: cryptography and multiprecision arithmetic.
- 2018‑05‑12:
Microsoft Windows command line reference manual.
- 2018‑05‑12:
Git submodules revisited.
- 2018‑05‑12:
Clang++ `[[trivial_abi]]` 101.
- 2018‑05‑12:
The PostgreSQL "shared_buffers smile" performance trough.
- 2018‑05‑12:
Tesla's giant battery in Australia reduced grid service cost by 90%.
- 2018‑05‑11:
Pyre: fast static type checking for Python.
- 2018‑05‑11:
First, let's fire all the managers.
- 2018‑05‑11:
Tech's two philosophies.
- 2018‑05‑11:
Mermaid: a Markdown-like language for generating charts from text with Javascript.
- 2018‑05‑11:
Generating SQL syntax railroad diagrams using Tcl/Tk.
- 2018‑05‑10:
Working LEGO pinball machine built from 15,000 bricks features Benny in all his Classic Space glory.
- 2018‑05‑10:
The importance of time synchronization in the FOAM proof-of-location protocol.
- 2018‑05‑10:
Scientists stuffed a crocodile Into an MRI machine to see if it likes Bach.
- 2018‑05‑09:
Modern garbage collection vs golang's GC strategy.
- 2018‑05‑08:
The Honeyman idiom: `sort | uniq -c | sort -rn`.
- 2018‑05‑08:
Choosing fonts for complex data.
- 2018‑05‑08:
As easy as 1,2,3: how the Indian decimal place system came to Europe.
- 2018‑05‑07:
Concorde 'B'.
- 2018‑05‑07:
Are you in a bullshit job? In academia, you're hardly alone.
- 2018‑05‑07:
American energy use, in one diagram.
- 2018‑05‑07:
Thermal paper Polaroid camera.
- 2018‑05‑07:
Against trendism: how to defang the social media disinformation complex.
- 2018‑05‑06:
SUE the T. Rex is a nonbinary icon.
- 2018‑05‑06:
Lessons learned from the .SE DNSSEC algorithm rollover.
- 2018‑05‑06:
The quadratic equation and low-precision arithmetic.
- 2018‑05‑06:
Grass: an esoteric programming language based on A-normalized, lambda lifted, De Bruijn indexed, untyped lambda calculus.
- 2018‑05‑06:
Denotational design: API refinement by following a denotation.
- 2018‑05‑06:
Oracle Access Manager's identity crisis. (Padding oracle attack!)
- 2018‑05‑05:
Troubled times for alternatives to Einstein's theory of gravity.
- 2018‑05‑05:
The epic mistake about manufacturing that's cost Americans millions of jobs.
- 2018‑05‑05:
Establishing identity without certification authorities. (1996)
- 2018‑05‑05:
How to be a systems thinker.
- 2018‑05‑05:
Understanding OAuth 2.0 and OpenID Connect.
- 2018‑05‑05:
6 things I've learned in my first 6 months using serverless.
- 2018‑05‑04:
Google embraces, extends, and extinguishes.
- 2018‑05‑04:
Open sourcing BBC R&D's Mellanox kernel bypass work.
- 2018‑05‑03:
Yubikey/Smartcard backed TLS servers.
- 2018‑05‑03:
7-Zip: from uninitialized memory to remote code execution.
- 2018‑05‑03:
Where does the money go when you buy a domain name?
- 2018‑05‑03:
Hominin head-scratcher: who butchered this rhino 709,000 years ago?
- 2018‑05‑02:
PostgreSQL's fsync() surprise.
- 2018‑05‑02:
Rust in production.
- 2018‑05‑02:
Surveying the new optical form factors for 400 gigabit Ethernet.
- 2018‑05‑02:
Python startup is too slow.
- 2018‑05‑02:
WS-* web services standards overview.
- 2018‑05‑02:
Morse code in the music.
- 2018‑05‑02:
Efficient float32 arithmetic in JavaScript on Firefox.
- 2018‑05‑02:
When the C compiler bites.
- 2018‑05‑02:
Into the depths of C: elaborating the de facto standards.
- 2018‑05‑02:
A Bayesian statistical solution to discrepancies in the Hubble constant.
- 2018‑05‑02:
Linux /dev/random flaws.
- 2018‑05‑02:
7 inexcusable yet common UX gaffes that make you look like a total amateur.
- 2018‑05‑01:
C is not a low-level language.
- 2018‑05‑01:
KRust: a formal executable semantics of Rust.
- 2018‑04‑30:
A history of what we do in the dark.
- 2018‑04‑30:
The Scylla DB I/O scheduler: better latencies under any circumstance.
- 2018‑04‑30:
How to speed up the Rust compiler in 2018.
- 2018‑04‑28:
How to refactor a monolithic codebase.
- 2018‑04‑28:
Scaling a high-traffic rate limiting service with Redis Cluster.
- 2018‑04‑26:
Titus: the Netflix container management platform.
- 2018‑04‑26:
On incomplete HTTP reads and the requests library in Python.
- 2018‑04‑25:
Notes on structured concurrency, or: Go statement considered harmful.
- 2018‑04‑25:
One giant leap for SQL: MySQL 8.0 released.
- 2018‑04‑25:
Magna charta universitatum: the Bologna declaration.
- 2018‑04‑25:
GLib/GIO async operations and Rust futures + async/await.
- 2018‑04‑24:
Delta pointers: buffer overflow checks without the checks.
- 2018‑04‑24:
What you get is what you C: Controlling side effects in mainstream C compilers.
- 2018‑04‑24:
Statically typed PostgreSQL queries and TypeScript schemats.
- 2018‑04‑24:
Web security for single page applications: great impact with little effort.
- 2018‑04‑23:
Union types in Facebook's Flow and Reason programming languages.
- 2018‑04‑23:
Computer science faces an ethics crisis. The Cambridge Analytica scandal proves it.
- 2018‑04‑23:
On user interface development: appending to the event log. (React/Redux)
- 2018‑04‑23:
Ask me first: What self-assessments can tell us about autism.
- 2018‑04‑23:
A look at JWT vulnerabilities and mitigations.
- 2018‑04‑22:
Why is the Linux kernel replacing iptables with BPF?
- 2018‑04‑22:
Error handling advice for node.js programmers.
- 2018‑04‑21:
Untangling Khan Academy's Python code.
- 2018‑04‑20:
Statically typed data validation with JSON Schema and TypeScript.
- 2018‑04‑19:
io-ts: both static and dynamic type checking for JSON API data in TypeScript.
- 2018‑04‑19:
The quest for the next billion-dollar colour.
- 2018‑04‑19:
A lesson in wifi antenna engineering from the Raspberry Pi.
- 2018‑04‑19:
Important flatland research: day and night on the Dymaxion map.
- 2018‑04‑19:
What's the length of shortest bit sequence that's never been sent over the Internet?
- 2018‑04‑18:
San Francisco's big seismic gamble.
- 2018‑04‑18:
Mitigating data movement bottlenecks by processing in memory, for a 50% performance boost.
- 2018‑04‑17:
The C++ committee has taken off its backwards-compatibility ball and chain.
- 2018‑04‑17:
For mathematicians, = does not mean equality.
- 2018‑04‑17:
Parsing: a timeline.
- 2018‑04‑17:
Roman numerals: A familiar set with an unexpected order type.
- 2018‑04‑17:
D3.js in depth.
- 2018‑04‑16:
The long, incredibly tortuous, and fascinating process of creating a Chinese font.
- 2018‑04‑16:
DNS timeline.
- 2018‑04‑16:
Zuckerberg can't blame Cambridge University for Facebook's privacy violations.
- 2018‑04‑16:
Jupyter, Mathematica, and the future of the research paper.
- 2018‑04‑16:
Programming languages and empiricism.
- 2018‑04‑16:
How could we tell if there was a civilization on Earth before Humans?
- 2018‑04‑13:
tdns: a teaching authoritative DNS server, written from scratch in 1100 lines of code.
- 2018‑04‑13:
An introduction to PostgreSQL materialized views.
- 2018‑04‑13:
Post-quantum confidentiality for TLS.
- 2018‑04‑13:
A taxonomy of technical debt.
- 2018‑04‑12:
lua-protobuf: Lua support for Google's protocol buffers.
- 2018‑04‑12:
protobuf-lua: Lua protobuf library and proton output plugin.
- 2018‑04‑12:
lua-protobuf: A Lua module to work with Google protobuf.
- 2018‑04‑11:
protozero: minimalist protobuf decoder and encoder in C++.
- 2018‑04‑11:
prototool: a Swiss army knife for protobufs.
- 2018‑04‑11:
Do you have too many microservices? Five design attributes that can help.
- 2018‑04‑10:
Sequoia: OpenPGP implemented in Rust.
- 2018‑04‑10:
Construction begins on new "lowboom" quiet supersonic NASA X-Plane.
- 2018‑04‑09:
fadvise(DONTNEED): another reason why your Docker containers may be slow
- 2018‑04‑09:
Next generation video codec: introducing AV1.
- 2018‑04‑09:
Consistent hashing: algorithmic tradeoffs:
- 2018‑04‑09:
Preliminary analysis of a Site Reliability Engineer (SRE) survey.
- 2018‑04‑08:
Hash-based signatures: an illustrated primer.
- 2018‑04‑08:
TDOP / Pratt parser in pictures.
- 2018‑04‑08:
Turning a MacBook into a touchscreen with $1 of hardware.
- 2018‑04‑08:
A list of command line tools for manipulating structured text: json, xml, yaml, ini, etc.
- 2018‑04‑07:
Looking back at ten years of availability zone compartmentalization at AWS.
- 2018‑04‑07:
AlterEgo: a personalized wearable silent speech interface.
- 2018‑04‑07:
The role of cellular networks in the Internet.
- 2018‑04‑06:
PubGrub: a version solving algorithm for Dart's package manager.
- 2018‑04‑06:
How did we end up with containers?
- 2018‑04‑06:
The secret life of NaN: an intro to a boxed value hack for dynamic languages.
- 2018‑04‑06:
The scientific paper is obsolete. Jupyter is what's next.
- 2018‑04‑06:
Several cool features in git 2.17.
- 2018‑04‑04:
Fifty or sixty years of processor development and the end of performance scaling.
- 2018‑04‑04:
DNSSD roadmap: an overview of DNS-based service discovery.
- 2018‑04‑04:
Intersecting polygons: A geometric Rust adventure.
- 2018‑04‑03:
Reliable setproctitle() for Linux containers.
- 2018‑04‑03:
"I'm a female chef. Here's how my restaurant dealt with harassment from customers."
- 2018‑04‑03:
"If the Financial Times were a person, it would be a man." Here's how the paper is trying to change that.
- 2018‑04‑03:
The end-to-end back-pressure mechanism inside Wallaroo and Ponylang.
- 2018‑04‑03:
A Linux kernel memory model!
- 2018‑04‑03:
Swedes turn against cashlessness: a fully digital system is vulnerable to fraud and attack.
- 2018‑04‑03:
It is weirdly hard to steal Mark Zuckerberg's trash.
- 2018‑04‑03:
MesaLink: a memory-safe and OpenSSL-compatible TLS library.
- 2018‑04‑03:
On the hunt for the lost wonders of medieval Britain.
- 2018‑04‑03:
How 'Oumuamua got shredded.
- 2018‑04‑02:
Techniques of Twitter trolls that support the Kremlin: "dismiss, distort, distract, dismay."
- 2018‑04‑01:
tinydoh: minimal Golang DNS-over-HTTPS server.
- 2018‑04‑01:
You can't Rust that.
- 2018‑04‑01:
The joy of max(): Linux C macro hackery.
- 2018‑03‑31:
Seventy maxims of maximally effective mercenaries.
- 2018‑03‑31:
Antisemitism matters: Jews are the canary in the coalmine.
- 2018‑03‑31:
A walk round the Festival of Britain.
- 2018‑03‑31:
DNS RFC dependency graph.
- 2018‑03‑30:
De-Google-ify the Internet.
- 2018‑03‑30:
How not to make claims about genetic differences between races.
- 2018‑03‑30:
Amethyst: a tiling window manager for Mac OS X.
- 2018‑03‑30:
IETF 101 highlights.
- 2018‑03‑30:
Ferrofluid 'font' produces trippy, one-of-a-kind art.
- 2018‑03‑30:
The evolution of 15,596 documented unix facilities.
- 2018‑03‑30:
Cassina: the forgotten drink that caffeinated North America for centuries.
- 2018‑03‑29:
CHIVES: an old DNS server.
- 2018‑03‑29:
Jeeves: the first DNS server.
- 2018‑03‑29:
Golang proposal: non-cooperative goroutine preemption.
- 2018‑03‑29:
Hello, and welcome to DNS!
- 2018‑03‑29:
Junk traffic to 1.0.0.0/8.
- 2018‑03‑29:
Dragonfly: an optical telescope built from an array of off-the-shelf Canon lenses.
- 2018‑03‑29:
Hubble finds first galaxy in the local Universe without dark matter.
- 2018‑03‑29:
Detecting integer constant expressions in C macros.
- 2018‑03‑29:
Securing the Kubernetes dashboard.
- 2018‑03‑29:
How I erased 5000+ Facebook comments and likes.
- 2018‑03‑28:
Total Meltdown? Windows "fix" opens read/write access to all memory.
- 2018‑03‑28:
Crowdfunding the Mitogen Ansible accelerator: day 23.
- 2018‑03‑28:
Making IXFR small again.
- 2018‑03‑28:
Finding alternative music scales.
- 2018‑03‑28:
Just one QUIC bit.
- 2018‑03‑27:
Security keys, web authentication, U2F, and CTAP.
- 2018‑03‑27:
"It all made sense when we found out we were autistic".
- 2018‑03‑27:
Ditching a bunch of stuff and moving to Emacs and org-mode.
- 2018‑03‑27:
How to disable all of Windows 10's built-in advertising.
- 2018‑03‑26:
Job's BGP camel RFC metrics viewer.
- 2018‑03‑26:
The Isle of Wight's railway is having trouble replacing its ex-tube rolling stock.
- 2018‑03‑26:
Mapping OpenSSL cipher suite names to RFC names.
- 2018‑03‑26:
Tracing stolen bitcoin, using a precedent from 1816.
- 2018‑03‑26:
We need to go deeper: Meltdown and Spectre flaws will force security further down the stack.
- 2018‑03‑26:
Privacy International's history with web site security and what they do now.
- 2018‑03‑26:
Numbers and strings in JSON and Perl.
- 2018‑03‑25:
What men need to know (and women need to tell them) about working together.
- 2018‑03‑25:
Queen Mary's dollhouse and the lost Vita Sackville-West children's story that may have inspired Virginia Woolf's 'Orlando'.
- 2018‑03‑25:
The rebel bank, printing its own notes and buying back people's debts.
- 2018‑03‑25:
You could have invented monads! (And maybe you already have.)
- 2018‑03‑25:
Fredkin's Paradox.
- 2018‑03‑25:
Non-Google searchable Usenet archives.
- 2018‑03‑25:
A quick guide to federated social networks.
- 2018‑03‑24:
Bert's DNS camel RFC metrics viewer.
- 2018‑03‑24:
Recounting the rationals: twice!
- 2018‑03‑24:
Managing db schema changes without downtime in Rails.
- 2018‑03‑24:
New research suggests new ways to nurture gifted children.
- 2018‑03‑24:
Latrines: how Bangladesh vanquished diarrhoea.
- 2018‑03‑24:
Chernoff faces: how do we kill bad ideas in visualization?
- 2018‑03‑24:
Facebook's surveillance machine.
- 2018‑03‑24:
How genetics is changing our understanding of race.
- 2018‑03‑24:
How the chili spread from its South American home and spiced up world cuisine.
- 2018‑03‑24:
A cheap, brief "growth mindset" intervention shifted struggling students onto a more successful trajectory.
- 2018‑03‑24:
The myth of the male bumbler.
- 2018‑03‑24:
Lara Croft lives dangerously in this amazing animated Tomb Raider LEGO diorama! (video)
- 2018‑03‑24:
How to find things to work on? Look for the duct tape.
- 2018‑03‑23:
Shkreli vs. Holmes: two frauds, two divergent outcomes. Were they fair?
- 2018‑03‑23:
What roots do DNS resolvers use? // Top NXDOMAINs to the IANA root.
- 2018‑03‑23:
A wild IPv6 attack appears! Open DNS resolvers on IPv6.
- 2018‑03‑23:
Recommendations for engineering authoritative DNS servers.
- 2018‑03‑23:
Whither deprecating TCP-MD5?
- 2018‑03‑23:
Developing DNS-over-HTTPS clients and servers at the IETF101 hackathon.
- 2018‑03‑23:
A "tamper-proof" cryptocurrency wallet just got backdoored by a 15-year-old.
- 2018‑03‑23:
AssembleAR: a mock-up Ikea manual of the future looks amazing.
- 2018‑03‑23:
The machine learning reproducibility crisis.
- 2018‑03‑22:
The DNS camel: the relentless rise in protocol complexity.
- 2018‑03‑22:
How to write seemingly unhygienic and referentially opaque Scheme macros with syntax-rules.
- 2018‑03‑22:
Arbitrarily reorderable items in PostgreSQL.
- 2018‑03‑22:
Fractions in The Farey Sequences and the Stern-Brocot Tree.
- 2018‑03‑22:
Peer review: the end of an error?
- 2018‑03‑22:
How hard is it to get a cartoon Into the New Yorker?
- 2018‑03‑22:
How US nuclear force modernization is undermining strategic stability: The burst-height compensating super-fuze.
- 2018‑03‑21:
Project Nimble: faster AWS region evacuation.
- 2018‑03‑21:
Ten reasons why not to like Golang.
- 2018‑03‑21:
Network Architecture Tester: a gift for outgoing IAB members based on a Raspberry Pi running open source software.
- 2018‑03‑21:
ISC Kea and NETCONF in 2018: towards automated configurability.
- 2018‑03‑21:
A guide to writing a DNS server from scratch in Rust (complete with classic name decompression DOS vulnerability).
- 2018‑03‑21:
Type-directed metaprogramming in Rust.
- 2018‑03‑21:
Child abuse imagery found within bitcoin's blockchain.
- 2018‑03‑21:
Pre-publication peer review subtracts value.
- 2018‑03‑20:
Mediaeval helpdesk.
- 2018‑03‑20:
Breaking a wine glass in Python by detecting the resonant frequency.
- 2018‑03‑20:
Exercises in Programming Style.
- 2018‑03‑20:
ABA: always be automating, because manual work is a bug.
- 2018‑03‑19:
Real world DNSSEC+DANE for secure inter-domain mail transport.
- 2018‑03‑19:
Level 3 technician's misstep causes largest telephone outage ever reported.
- 2018‑03‑18:
The Northern Lights as seen from a U-2 at 70,000 feet.
- 2018‑03‑18:
Booting Windows NT 4 on a DEC Multia.
- 2018‑03‑18:
Why inheritance never made any sense.
- 2018‑03‑16:
WebKit's protection against HSTS supercookie abuse.
- 2018‑03‑16:
I watched all 629 episodes of The Simpsons in a month. Here's what I learned.
- 2018‑03‑16:
Usability improvements in GCC 8.
- 2018‑03‑16:
How PostgreSQL just might replace your Oracle database.
- 2018‑03‑15:
The surprising creativity of digital evolution: anecdotes from evolutionary computation and artificial life research.
- 2018‑03‑15:
Kickstarting free software: getting financial support for the Mitogen Ansible accelerator.
- 2018‑03‑15:
Ephemeris time vs universal time: two kinds of time, two kinds of time scale. (1954)
- 2018‑03‑15:
Physicists still don't know what puts the curl in curling.
- 2018‑03‑15:
Intel's Spectre and Meltdown mitigation plans.
- 2018‑03‑15:
Evaluation and consideration of multiple answers in one DNS response.
- 2018‑03‑15:
The German Society of Auto-Correction.
- 2018‑03‑15:
All tease, no tale: Hollywood's misplaced lady lands.
- 2018‑03‑15:
A look at a comic that touched on everything that makes Batman great.
- 2018‑03‑15:
Poetic License: 3-clause BSD in rhyme.
- 2018‑03‑15:
Why is OOF an OOF and not an OOO?
- 2018‑03‑15:
Decoding the Signals in the Prime Minister's speech on the Russian poisoning of Sergei Skripal.
- 2018‑03‑15:
Canopy: Facebook's end-to-end performance tracing and analysis system.
- 2018‑03‑14:
All disk galaxies rotate once every billion years.
- 2018‑03‑14:
What PostgreSQL full-text search has to do with VACUUM.
- 2018‑03‑14:
Why the UCU strike matters.
- 2018‑03‑14:
The 'Badass Army' is training revenge porn victims to fight back.
- 2018‑03‑14:
The chemicals used to make bacon do cause cancer. So how did the meat industry convince us it was safe?
- 2018‑03‑13:
Scaling up with Google Kubernetes Engine: a review after 6 months in production.
- 2018‑03‑13:
Building Windows: 4 million commits, 10 million work items.
- 2018‑03‑13:
What's left to do after your open source project is done.
- 2018‑03‑13:
Siccar Point: the cliff that changed our understanding of time.
- 2018‑03‑13:
A recreation of late 13th - 14th c. unhopped English ales.
- 2018‑03‑13:
Attacking Merkle trees with a second preimage attack.
- 2018‑03‑13:
How we built our PostgreSQL cluster in a box using Patroni.
- 2018‑03‑12:
How a book warehouse is changing Columbia's library system.
- 2018‑03‑12:
Migrating from MariaDB Galera to PostgreSQL and Patroni.
- 2018‑03‑12:
The magic (and maths) of skating on thin ice without falling in.
- 2018‑03‑12:
API versioning and evolution with proxies.
- 2018‑03‑12:
OMG-WTF-8: optimized matching generalized wobbly transformation format (8-bit).
- 2018‑03‑12:
Why museum professionals need to talk about Black Panther.
- 2018‑03‑12:
Transgender men see sexism from both sides.
- 2018‑03‑12:
Virtual private networks with WireGuard.
- 2018‑03‑12:
Enduring file references in macOS.
- 2018‑03‑12:
The KK Computer: a radical 6502 extension.
- 2018‑03‑12:
Slack's bait-and-switch.
- 2018‑03‑12:
Rogue GPL enforcement: Linux beats legal threat from one of its own developers.
- 2018‑03‑12:
Saturated fat does not clog the arteries: coronary heart disease is a chronic inflammatory condition.
- 2018‑03‑11:
Secure access to 100 AWS accounts.
- 2018‑03‑11:
Avoid nonreferential this.
- 2018‑03‑11:
Rainbow deploys with Kubernetes.
- 2018‑03‑11:
How to change the course of human history (at least, the part that's already happened).
- 2018‑03‑11:
Secret management design decisions: theory plus an AWS example.
- 2018‑03‑11:
A huge WhatsApp leak reveals the full fury of the Tories' Brexit split.
- 2018‑03‑11:
The enemy within: Gut bacteria drive autoimmune disease.
- 2018‑03‑11:
Fountain pen inks: the good, the bad, and the ugly.
- 2018‑03‑11:
The three mistakes of centrism.
- 2018‑03‑11:
How Wikipedia chose the image for the 'Human' entry.
- 2018‑03‑11:
Literate DevOps with Emacs org-mode.
- 2018‑03‑11:
Master password in Firefox or Thunderbird uses a very weak KDF.
- 2018‑03‑11:
Will the quantum nature of gravity finally be measured?
- 2018‑03‑10:
This CPU instruction set architecture tastes like microarchitecture.
- 2018‑03‑10:
Analyzing and mitigating privacy with the DNS root service.
- 2018‑03‑10:
How well does DNS ATR (additional truncated responses) work around dropped UDP fragments?
- 2018‑03‑10:
Is vitamin D really a cure-all? And how should we get our fix?
- 2018‑03‑10:
Staying awake: the surprisingly effective way to treat depression.
- 2018‑03‑10:
Tell me everything about that guy who died on your show.
- 2018‑03‑10:
Britain's Serious Fraud Office is getting too good at its job.
- 2018‑03‑09:
The quantum thermodynamics revolution.
- 2018‑03‑09:
Are the IETF unreasonable cryptography zealots?
- 2018‑03‑09:
UK faces €2 billion EU tab for China customs fraud.
- 2018‑03‑09:
Tex-Mex is the most important, least understood regional cuisine in America.
- 2018‑03‑09:
Year-round daylight saving time? Florida says yes, but It's not so simple.
- 2018‑03‑08:
The curious case of the crippling DS record.
- 2018‑03‑08:
Measuring efficiency of DNSSEC negative answer synthesis (RFC 8198).
- 2018‑03‑08:
DNSSEC for a large enterprise.
- 2018‑03‑08:
Why DNSFilter replaced InfluxDB with TimescaleDB.
- 2018‑03‑08:
The Rubik's contraption solves a cube in 0.38 seconds.
- 2018‑03‑08:
Elementary knightship found in Conway's Life: a travelling pattern with a new slope.
- 2018‑03‑08:
The uniquely versatile stinkbug is decimating crops and infiltrating houses all across the USA.
- 2018‑03‑08:
3D lightning calculated from two simultaneous photographs.
- 2018‑03‑08:
Accidentally two photographs of the same scene taken at the same millisecond.
- 2018‑03‑08:
The left hand of equals: object oriented equality in the Grace programming language.
- 2018‑03‑07:
Let's Encrypt: securing the automation of ACME DNS challenge validation.
- 2018‑03‑07:
Much ado about latency: Mitogen and the BFG9000 of import hooks.
- 2018‑03‑07:
Quadrupling Ansible performance with Mitogen.
- 2018‑03‑07:
Why Rust has macros.
- 2018‑03‑07:
Supermassive black holes or their galaxies: which came first?
- 2018‑03‑07:
Prototype to production: Building your first PCB prototype.
- 2018‑03‑07:
bsdnt: a BSD licensed bignum library.
- 2018‑03‑07:
BFG repo-cleaner: a faster `git filter-branch`, written in Scala.
- 2018‑03‑07:
The male glance: how we approach male vs. female work is ruining our ability to see good art.
- 2018‑03‑07:
How self-aware are people, really, according to science?
- 2018‑03‑07:
Dayton Miller's experiment to "prove" the theory of relativity incorrect.
- 2018‑03‑07:
Tiangong-1 reentry updates / latest predictions.
- 2018‑03‑07:
Tiangong-1 destructive re-entry frequently asked questions.
- 2018‑03‑07:
A malicious vehicle can block "smart" intersections in the USA.
- 2018‑03‑07:
Ten zombie statistics.
- 2018‑03‑07:
I'm a Sinn Féin MP. This is why I won't go to Westminster, even over Brexit.
- 2018‑03‑07:
Surprise graphene discovery could unlock secrets of superconductivity.
- 2018‑03‑07:
Exploiting Exim CVE-2018-6789: one byte buffer overflow leads to remote code execution.
- 2018‑03‑07:
Exploiting hash collisions, by Ange Albertini.
- 2018‑03‑06:
libbf: Fabrice Bellard's big float library.
- 2018‑03‑06:
The default TV settings aren't necessarily the best.
- 2018‑03‑06:
The evolution of distributed systems management.
- 2018‑03‑06:
How generics were added to .NET and C#.
- 2018‑03‑06:
The mystery of the slow downloads.
- 2018‑03‑06:
Why the investor class hates pensions.
- 2018‑03‑06:
ebtree: elastic binary trees. (Like embedded crit-bit trees.)
- 2018‑03‑06:
Progressive locks: fast, upgradable read/write locks.
- 2018‑03‑06:
The great lightbulb conspiracy.
- 2018‑03‑06:
World-first firing of air-breathing electric thruster for very low orbit satellites.
- 2018‑03‑06:
zheap: a new storage engine for PostgreSQL to provide better control over bloat.
- 2018‑03‑06:
git-sizer: is your Git repository bursting at the seams?
- 2018‑03‑05:
A RocksDB backend for Apache Cassandra, with a 10x reduction in tail latency.
- 2018‑03‑05:
Rendering in camera space(ish), to avoid floating point precision problems.
- 2018‑03‑05:
The result of placing a camera lens 300 feet from a rocket launch.
- 2018‑03‑05:
Understanding and overcoming coder's block.
- 2018‑03‑05:
Practical tips for cheating at design: improving your designs with tactics instead of talent.
- 2018‑03‑05:
Representing impractical and impossible types with Java 10 "var".
- 2018‑03‑05:
Spooky action at a distance: how an AWS outage broke a service that's not hosted in AWS.
- 2018‑03‑04:
How will "Enterprise Blockchain" change the way future enterprise applications are architected?
- 2018‑03‑04:
Italy's present is the future of politics.
- 2018‑03‑04:
Constructing human-grade parsers.
- 2018‑03‑04:
March is endometriosis awareness month.
- 2018‑03‑04:
Exploring the Chomsky hierarchy, the linguistics behind regular expressions.
- 2018‑03‑04:
Updated PostgreSQL Meltdown benchmarks.
- 2018‑03‑04:
Three girls, a dead raccoon, and a crockpot: how to clean up a skeleton.
- 2018‑03‑04:
Scotland's floating wind farm is showing how powerful offshore wind can be.
- 2018‑03‑04:
How not to be a crank: ten rules for not being a science-dick.
- 2018‑03‑04:
SlimerJS: a replacement for PhantomJS using recent Firefox.
- 2018‑03‑04:
The world of Linux handhelds in 2018.
- 2018‑03‑03:
The first unified calendar and the invention of world history.
- 2018‑03‑03:
GDPR: a practical guide for developers.
- 2018‑03‑03:
Postmortem: performance issues and failures in Microsoft Visual Studio Team Services.
- 2018‑03‑03:
Experience designing and building gRPC services.
- 2018‑03‑03:
50 shades of Go: traps, gotchas, and common mistakes for new Golang devs.
- 2018‑03‑03:
Let's make the Emacs GC safe and iterative.
- 2018‑03‑03:
Sortix: a small self-hosting operating-system aiming to be a clean and modern POSIX implementation.
- 2018‑03‑03:
Joy veh! What makes Jewish comedy Jewish?
- 2018‑03‑03:
khwasan: kernel hardware assisted address sanitizer for arm64.
- 2018‑03‑03:
10 years ago, the Internet gave us "mansplain". A woman explains why it still matters.
- 2018‑03‑02:
Firefox configuration guide for privacy freaks and performance buffs.
- 2018‑03‑02:
Mac OS versus FreeBSD: a comparative evaluation.
- 2018‑03‑02:
Billions of birds migrate. Where do they go?
- 2018‑03‑02:
What happens to us does not happen to most of you.
- 2018‑03‑02:
What to expect when you decide to migrate from Javascript to Typescript.
- 2018‑03‑01:
Nominet's proposed GDPR whois policy.
- 2018‑03‑01:
Clay codes: moulding MDS codes to yield an MSR code; optimal erasure coding for Ceph.
- 2018‑03‑01:
Review: Coding Freedom by E. Gabriella Coleman.
- 2018‑03‑01:
gitleaks: search full repo history for secrets and keys.
- 2018‑02‑28:
Peace for Triple Piano.
- 2018‑02‑28:
SIDN says DNSSEC validation errors can be eliminated.
- 2018‑02‑28:
Do TLS X.509 certificate warranties protect you? As much as rocks keep tigers away...
- 2018‑02‑28:
Rust status on Debian on various CPU architectures.
- 2018‑02‑28:
Typestates in Rust.
- 2018‑02‑28:
Most images of black holes are illustrations. Here's what our telescopes actually capture.
- 2018‑02‑28:
On the nature of wine.
- 2018‑02‑27:
SAML vulnerabilities affecting multiple implementations, due to inconsistent XML canonicalization.
- 2018‑02‑27:
Beautiful folds in Haskell.
- 2018‑02‑27:
Carte complète du SNCF réseau ferré français en 2017.
- 2018‑02‑27:
Typescript : class vs interface.
- 2018‑02‑27:
Why enterprise agile teams fail.
- 2018‑02‑27:
The unavailable Linux server: when TLS certificate validation fails.
- 2018‑02‑27:
O API: an alternative to REST.
- 2018‑02‑27:
Usenet, authentication, and engineering: early design decisions for Usenet.
- 2018‑02‑27:
PostgreSQL internals: avoid error context stack corruption.
- 2018‑02‑27:
Vulkan is coming to macOS and iOS, but no thanks to Apple.
- 2018‑02‑27:
The lost art of bending over: how other cultures spare their spines.
- 2018‑02‑27:
The struggles of women who mask their autism.
- 2018‑02‑27:
Peak DNSSEC?
- 2018‑02‑26:
Life as a woman with colour blindness, and Enchroma glasses.
- 2018‑02‑26:
Golang laws of reflection.
- 2018‑02‑26:
Golang 2017 survey results.
- 2018‑02‑26:
Safely load untrusted YAML in Perl.
- 2018‑02‑26:
New features for sequences in PostgreSQL 10.
- 2018‑02‑26:
The Hypothesis continuous release process.
- 2018‑02‑26:
Compiler bug? Linker bug? Windows kernel bug.
- 2018‑02‑26:
Scientists aim to pull peer review out of the 17th century.
- 2018‑02‑25:
CTTK: constant-time toolkit.
- 2018‑02‑25:
How Black Panther asks us to examine who we are to one another.
- 2018‑02‑25:
'Black Panther': choose your weapons.
- 2018‑02‑25:
The UK will block online porn from April. Here's what we know.
- 2018‑02‑25:
A long two months working on Spectre/Meltdown mitigations in Illumos.
- 2018‑02‑25:
Google AMP's speed comes from preloading, and other controversies.
- 2018‑02‑24:
Backlogs! Backlogs everywhere: how Wikipedia deals with spam and bad actors.
- 2018‑02‑23:
The US experience with the phasedown of lead in gasoline.
- 2018‑02‑23:
10,000 year Clock of the Long Now gets lowered into Texas mountain.
- 2018‑02‑23:
Words for "yes" in Romance languages.
- 2018‑02‑23:
Pwned Passwords V2: half a billion passwords for download, and a k-anonymity query service.
- 2018‑02‑23:
Mysterious origin of domesticated horses 'turned upside down' by DNA analysis.
- 2018‑02‑23:
A python development environment for 2018.
- 2018‑02‑23:
The quest for the missing DNSSEC keytags.
- 2018‑02‑23:
Escaping hell with monads.
- 2018‑02‑21:
When whisper networks let us down: how communities struggle — and sometimes fail — to stop sexual assault.
- 2018‑02‑21:
fugit: *really* lightweight git access control.
- 2018‑02‑21:
Three ways to open up closed code.
- 2018‑02‑21:
Black Panther: the tale of two different viewing experiences.
- 2018‑02‑21:
Prestigious science journals struggle to reach even average reliability.
- 2018‑02‑21:
vgo: golang += package versioning.
- 2018‑02‑21:
Package management for Golang: thoughts on vgo and dep.
- 2018‑02‑21:
Ruby's new JIT.
- 2018‑02‑21:
Adventures with memory barriers and Seastar on Linux.
- 2018‑02‑20:
Two x86 instruction sequences usually resynchronize after a few instructions because of the Kruskal Count.
- 2018‑02‑20:
Kruskal Count and Kangaroo Method.
- 2018‑02‑20:
Superset disassembly: statically rewriting x86 binaries without heuristics.
- 2018‑02‑20:
The dark money driving the Scottish Tory surge.
- 2018‑02‑20:
Lärmkarte Berlin: so laut ist es vor Ihrer Haustür.
- 2018‑02‑20:
The wall is the wall: why fortresses fail.
- 2018‑02‑20:
Python async simplified.
- 2018‑02‑19:
Risks of TLS/1.3 0RTT data.
- 2018‑02‑19:
Fabric linear motor.
- 2018‑02‑19:
Existential crisis: heterogeneous collections in Haskell.
- 2018‑02‑19:
ZGC: a low-latency garbage collector for Java / HotSpot / Linux / amd64.
- 2018‑02‑19:
Norris numbers: walls programmers hit as programs scale up.
- 2018‑02‑19:
DeepState augments C/C++ test-driven development with symbolic execution.
- 2018‑02‑18:
IPv4 route lookup on Linux: level compressed trie.
- 2018‑02‑18:
What is Debian all about, really? Or: friction, packaging complex applications, language-specific tooling.
- 2018‑02‑18:
How not to replace email: lessons from Google Wave.
- 2018‑02‑18:
Container patterns.
- 2018‑02‑18:
Someone is sending sex toys to strangers. Amazon has no idea how to stop it.
- 2018‑02‑18:
The cabinet files: second-hand filing cabinets turned out to be full of classified Australian documents.
- 2018‑02‑18:
Ghost in the DCL shell: OpenVMS, touted as ultra reliable, had a local root hole for 30 years.
- 2018‑02‑18:
'Black Panther' is not the movie we deserve.
- 2018‑02‑17:
Google AMP is an anticompetitive attempt to fork the web.
- 2018‑02‑17:
Guy spends almost a year gluing 42,000 matches to make a giant sphere, then sets it on fire.
- 2018‑02‑16:
Choosing a perl templating system.
- 2018‑02‑16:
Travis encrypted variables and external contributions.
- 2018‑02‑16:
Replacing jQuery with Vue.js: no build step necessary.
- 2018‑02‑16:
The Kautz graph.
- 2018‑02‑16:
Making propellor safer with GADTs and type families.
- 2018‑02‑16:
Indic scripts and Unicode: picking apart the crashing iOS string.
- 2018‑02‑16:
Hed, dek, lede, graf, tk: live with it.
- 2018‑02‑16:
(HED) Folo My Lede (UNHED)
- 2018‑02‑16:
'Lede' vs. 'Lead'.
- 2018‑02‑16:
Jim Roskind's C/C++ grammar.
- 2018‑02‑16:
The entirely unnecessary demise of Barnes & Noble.
- 2018‑02‑16:
The Bishop Fox cybersecurity style guide.
- 2018‑02‑15:
DMCA lawsuit between Cox and BMG: redirecting abuse@ to /dev/null can be expensive.
- 2018‑02‑15:
Evolution of CSS layout: 1990s to the future.
- 2018‑02‑14:
Dtrace for Linux: Oracle does the right thing.
- 2018‑02‑14:
IRS clutches its modernization holy grail: converting their 50yo assembler codebase to Java.
- 2018‑02‑14:
CSS grid for UI layouts.
- 2018‑02‑14:
The SCRAM SASL authentication mechanism.
- 2018‑02‑14:
LLVM's garbage collection facilities and SBCL's generational GC.
- 2018‑02‑14:
PDP-7 Unix: building a development environment from scratch.
- 2018‑02‑14:
Picture of a single strontium atom in an ion trap wins science photo contest.
- 2018‑02‑14:
A detailed timeline of the IMAGE satellite recovery.
- 2018‑02‑13:
Drawing better-looking Bézier curves.
- 2018‑02‑13:
Developers on call.
- 2018‑02‑13:
The Big Switch: a view of the advent of cloud computing, ten years on.
- 2018‑02‑13:
Lessons from optics, the other deep learning.
- 2018‑02‑13:
Metacrap: putting the torch to seven straw-men of the meta-utopia.
- 2018‑02‑13:
What's wrong with Metcalfe's Law?
- 2018‑02‑13:
QQ Browser's textbook RSA fails to protect the privacy of hundreds of millions of users.
- 2018‑02‑13:
DNS RFC dependency graph.
- 2018‑02‑12:
Moomin noir.
- 2018‑02‑12:
SafeYAML
- 2018‑02‑12:
Let's talk about usernames.
- 2018‑02‑12:
The songs that bind: musical tastes are formed at puberty.
- 2018‑02‑11:
A sampled virtual music box.
- 2018‑02‑10:
GDPR: sorting the fact from the fiction.
- 2018‑02‑10:
The incomplete vision of John Perry Barlow.
- 2018‑02‑10:
An opinionated guide to Haskell in 2018.
- 2018‑02‑10:
The configuration complexity clock.
- 2018‑02‑10:
Anatomy of a Ceph meltdown.
- 2018‑02‑09:
KPTI/Meltdown initial performance regressions.
- 2018‑02‑09:
FreeBSD Broadcom WiFi improvements.
- 2018‑02‑09:
When will the world reach 'peak child'?
- 2018‑02‑09:
PostgreSQL on a VAX.
- 2018‑02‑09:
The special data device SpaceX's Falcon Heavy sent to orbit.
- 2018‑02‑09:
People notice there's something wrong with The Rock's new movie poster, and things escalate quickly.
- 2018‑02‑09:
Interstellar communication. IX. Message decontamination is impossible.
- 2018‑02‑09:
Computer manpower: is there a crisis? (1982)
- 2018‑02‑09:
A history of capacity challenges in computer science education.
- 2018‑02‑08:
Paris flooding harks back to one of the great breakthroughs in hydrology.
- 2018‑02‑08:
The many faces of the Petersen graph.
- 2018‑02‑08:
How many Amazon Mechanical Turk workers are there?
- 2018‑02‑07:
Design notes on inline caches in Guile.
- 2018‑02‑07:
The EM2S 60kHz radio receiver module and the MSF time signal.
- 2018‑02‑07:
Googlebot's Javascript random() function is deterministic.
- 2018‑02‑07:
Why paper jams persist.
- 2018‑02‑07:
In Rust, ordinary vectors are values.
- 2018‑02‑07:
From telegram to tweet: a history of laws against malicious communications.
- 2018‑02‑07:
PostgreSQL and compressed documents.
- 2018‑02‑07:
Keyboard dissolves in acetone. (YouTube)
- 2018‑02‑07:
Data retention, national security, and the ECJ: the continuing saga.
- 2018‑02‑06:
Two years trying to fix the gender imbalance in a science writer's stories.
- 2018‑02‑06:
Why the tz database should not record sub-second offsets.
- 2018‑02‑06:
Is Brexit the maddest thing England has ever done? Not quite.
- 2018‑02‑06:
A tale of two moons: Peter Lik's photographs called out by science.
- 2018‑02‑06:
SRFI 110: sweet-expressions, an indentation-based syntax for Scheme.
- 2018‑02‑06:
The marbled crayfish clones itself, and it's taking over Europe.
- 2018‑02‑06:
Confessions of a typewriter addict.
- 2018‑02‑06:
MITRE CVE numbering authorities.
- 2018‑02‑06:
DWF CNA registry: distributed weakness filing CVE numbering authorities.
- 2018‑02‑05:
Ignoring the domain when authenticating your Dovecot users.
- 2018‑02‑05:
Modern CSS explained for dinosaurs.
- 2018‑02‑05:
Almost-classics: sf concepts and settings that deserve better execution.
- 2018‑02‑05:
Wales is leading the way on democratic reform.
- 2018‑02‑05:
Using Git for Debian packaging.
- 2018‑02‑05:
DragonFFI: foreign function interface and JIT for calling C using Clang/LLVM.
- 2018‑02‑05:
How and why to write a Rude Q&A.
- 2018‑02‑05:
How the Super Bowl halftime show gets set up in just six minutes.
- 2018‑02‑04:
Make your own make, with Cargo and Rust.
- 2018‑02‑04:
Why dolphins are deep thinkers.
- 2018‑02‑04:
Standard SQL features where PostgreSQL beats its competitors.
- 2018‑02‑04:
JITing PostgreSQL using LLVM.
- 2018‑02‑03:
Amazon Aurora Postgres: first thoughts.
- 2018‑02‑03:
Combine pgreplay with pgBadger.
- 2018‑02‑03:
ECMAScript 2018: the final feature set.
- 2018‑02‑03:
How Google Chrome's new ad blocker works.
- 2018‑02‑03:
Faux Shu follies: cheating at magic squares.
- 2018‑02‑03:
Why would I care about Mikhail Bongard's problems?
- 2018‑02‑03:
What is going to happen with WHOIS and GDPR?
- 2018‑02‑03:
git .mailmap: fix up deadnames in old commits.
- 2018‑02‑02:
The full-time job of keeping up with Kubernetes.
- 2018‑02‑02:
Measuring QUIC vs TCP on desktop and mobile.
- 2018‑02‑02:
NIS Directive: EU directive on security of network and information systems.
- 2018‑02‑02:
How Christine Peterson coined the term 'open source'.
- 2018‑02‑01:
Monitoring with Prometheus 2.0.
- 2018‑02‑01:
OpenPnP: open source SMT pick and place.
- 2018‑02‑01:
Unboxing a cheap desktop pick and place machine.
- 2018‑02‑01:
Postgres hidden gems.
- 2018‑02‑01:
Spying on a Ruby process's memory allocations with eBPF.
- 2018‑01‑31:
Making network authentication simple in a Bring Your Own Device environment.
- 2018‑01‑31:
GRV: a terminal/curses interface for viewing git repositories.
- 2018‑01‑31:
The cult of Mary Beard.
- 2018‑01‑31:
The peculiar case of NSEC processing using expanded wildcard records.
- 2018‑01‑31:
The Jaffer-Humphreys test: A Bechdel test for museums.
- 2018‑01‑30:
DO or UNDO, there is no VACUUM: what if PostgreSQL didn't need VACUUM at all?
- 2018‑01‑30:
Ten days in Shenzhen.
- 2018‑01‑30:
A techie's rough guide to GDPR.
- 2018‑01‑30:
GDPR and Google Analytics.
- 2018‑01‑30:
The view from the TOP500.
- 2018‑01‑30:
MPEG: a crisis, the causes, and a solution.
- 2018‑01‑29:
Git signed commits are a bad idea.
- 2018‑01‑29:
Table partitioning for storing logs in PostgreSQL.
- 2018‑01‑29:
Debug tools for generating crafted DNS responses.
- 2018‑01‑29:
When Perl isn't fast enough.
- 2018‑01‑29:
An overview of the Perl 5 engine.
- 2018‑01‑29:
Gray failure: the Achilles' heel of cloud-scale systems.
- 2018‑01‑28:
Your instant Kubernetes cluster.
- 2018‑01‑28:
Taking a pubsub message broker approach to logging.
- 2018‑01‑28:
The setenv fiasco.
- 2018‑01‑28:
Do compilers take inline as a hint?
- 2018‑01‑28:
How to build your own AlphaZero AI using Python and Keras.
- 2018‑01‑27:
Moving 1Password from CloudFormation to Terraform.
- 2018‑01‑27:
My Delorean runs Perl.
- 2018‑01‑26:
How to prepare a talk.
- 2018‑01‑26:
Some obscure C features you might not know about.
- 2018‑01‑26:
Why Tesla's autopilot can't see a stopped firetruck.
- 2018‑01‑26:
NASA's long dead 'IMAGE' satellite is alive!
- 2018‑01‑26:
A practitioner's guide to reading programming languages papers.
- 2018‑01‑25:
Why apt should use https.
- 2018‑01‑25:
Bike-share schemes improve safety; helmet laws do not.
- 2018‑01‑25:
STGi: spineless tagless G-machine interpreter.
- 2018‑01‑25:
dns2doh: test DNS over HTTP.
- 2018‑01‑25:
Sweden's gender-balanced snow-clearing as a template for adjusting Canadian budgets.
- 2018‑01‑25:
Typed capability-based APIs in Rust.
- 2018‑01‑25:
Bringing DNS security and privacy to the end user.
- 2018‑01‑25:
Railway station traffic statistics visualized.
- 2018‑01‑25:
Ref patterns, destructuring, and invisible borrows in Rust.
- 2018‑01‑24:
The new anti-Spectre microcode from Intel and AMD adds three new features.
- 2018‑01‑24:
How to chroot to a Raspberry Pi SD card on an Ubuntu box.
- 2018‑01‑24:
How to emulate a Raspberry Pi (Raspbian Jessie) on Mac OSX (El Capitan).
- 2018‑01‑24:
Abolished in Scotland, it's time the feudal leftover of leasehold ownership expired in the rest of Britain.
- 2018‑01‑24:
Think your country is crowded? These maps reveal the truth about population density across Europe.
- 2018‑01‑23:
How a fix in Golang 1.9 sped up GitLab's Gitaly service by 30x.
- 2018‑01‑23:
An introduction to algebraic data types and structural pattern matching in TypeScript.
- 2018‑01‑23:
Why is Jepsen-style random testing effective for partition tolerance bugs?
- 2018‑01‑22:
The good operation: an induction tool and reference guide for policy professionals within MOD.
- 2018‑01‑22:
In search of 0xffffffffff600400: troubleshooting containers, system calls, and performance.
- 2018‑01‑22:
The policy hack.
- 2018‑01‑22:
Nighttime long exposures of rotating helicopter blades.
- 2018‑01‑22:
In defence of swap: common misconceptions.
- 2018‑01‑22:
The limitations of chaos engineering.
- 2018‑01‑21:
Network latencies and speed of light.
- 2018‑01‑21:
Code alignment and microbenchmark performance.
- 2018‑01‑21:
A brief YAML reference.
- 2018‑01‑21:
How to talk to angry people: the CLARA method of de-escalation.
- 2018‑01‑21:
The difference between liberalism and centrism.
- 2018‑01‑21:
What is XML good at?
- 2018‑01‑21:
Brave new I/O for embedded Rust.
- 2018‑01‑21:
Why is only half of Mars magnetized?
- 2018‑01‑21:
The London Time Machine.
- 2018‑01‑20:
The Carillion whitewash: insolvent, not illiquid.
- 2018‑01‑20:
Testing microservices, the sane way.
- 2018‑01‑20:
JavaScript things I never knew existed.
- 2018‑01‑20:
Fuzzing TCP servers.
- 2018‑01‑19:
A brief overview of the 1893 overthrow of the Kingdom of Hawaiʻi's Queen Liliʻuokalani.
- 2018‑01‑19:
Who the hell uses onion juice?
- 2018‑01‑19:
Cornell barbecue chicken sauce.
- 2018‑01‑19:
Nominet abandons its charitable trust.
- 2018‑01‑19:
Ridiculously fast base64 encoding and decoding.
- 2018‑01‑19:
Oxidizing JavaScript source maps with Rust and WebAssembly.
- 2018‑01‑19:
Rust and Qt/QML: a timely example
- 2018‑01‑18:
Trackball history: Canada's earliest gift to computing.
- 2018‑01‑18:
How to measure the working set size on Linux.
- 2018‑01‑18:
The 1969 Easter Mass incident.
- 2018‑01‑17:
Followup attacks based on Spectre and Meltdown to look forward to.
- 2018‑01‑16:
Finding a CPU design bug in the Xbox 360.
- 2018‑01‑15:
Antineutrino Global Map 2015 chatacterizes Earth's radioactivity.
- 2018‑01‑15:
Firefox will require TLS for all new web features.
- 2018‑01‑15:
Amdahl's law, the universal scalability law, and coherence penalty.
- 2018‑01‑15:
The death of microservice madness.
- 2018‑01‑15:
The secret history of the Russian consulate in San Francisco.
- 2018‑01‑15:
stm-containers: concurrent HAMT for Haskell.
- 2018‑01‑15:
Cherry's new low-profile switches may help bring mechanical keyboards to more laptops.
- 2018‑01‑14:
Benchmarking crimes: an emerging threat in systems security.
- 2018‑01‑13:
Firefox bullshit removal via about:config.
- 2018‑01‑13:
Cuckoo hashing can outperform learned indexes.
- 2018‑01‑13:
Mechanical computing systems using only links and rotary joints.
- 2018‑01‑13:
Isn't it obvious? Avoiding just-so stories about visualizations.
- 2018‑01‑13:
The Bestiary: scaly-foot gastropod / iron snail.
- 2018‑01‑13:
fluxcapacitor: how to sleep a million years.
- 2018‑01‑12:
What it's like being a creative professional and a mother.
- 2018‑01‑12:
Let's Encrypt update regarding ACME TLS-SNI and shared hosting infrastructure.
- 2018‑01‑12:
The "Clarke Gap" of a technology is the degree to which it is distinguishable from magic.
- 2018‑01‑12:
Down the "shithole": why lexicographers need your profanity.
- 2018‑01‑12:
Fast strong hash functions: SipHash and HighwayHash.
- 2018‑01‑11:
Fundamental physics is frustrating physicists.
- 2018‑01‑11:
IPv6 flow label: misuse in hashing.
- 2018‑01‑11:
Report on the npm operations incident of 6th Jan.
- 2018‑01‑11:
Detecting Spectre and Meltdown using hardware performance counters.
- 2018‑01‑11:
Making the pizza cinnamon rolls from Mario Batali's sexual misconduct apology letter.
- 2018‑01‑10:
PiTubeDirect: a Raspberry Pi as a BBC Micro second processor.
- 2018‑01‑10:
The fight for patent-unencumbered media codecs Is nearly won.
- 2018‑01‑10:
Let's Encrypt issue with TLS-SNI-01 and shared hosting infrastructure.
- 2018‑01‑09:
Xerox Alto's 3 Mb/s Ethernet: Building a gateway with a BeagleBone.
- 2018‑01‑09:
What Spectre and Meltdown mean for WebKit.
- 2018‑01‑09:
Legends of the ancient web.
- 2018‑01‑09:
Control-C handling in Python and Trio.
- 2018‑01‑09:
Birth order effects exist and are very strong.
- 2018‑01‑09:
Pepper: the spice of life.
- 2018‑01‑09:
A vast 430-year-old world map, full of places and creatures, real and imagined.
- 2018‑01‑08:
Meltdown and Spectre information update for DragonflyBSD.
- 2018‑01‑08:
Feature comparison of ack, ag, git-grep, GNU grep and ripgrep.
- 2018‑01‑08:
Golang's hidden #pragmas.
- 2018‑01‑08:
Why Brigade doesn't do YAML: scripting for Kubernetes clusters.
- 2018‑01‑08:
NSEC3 hash performance in NSD and Unbound.
- 2018‑01‑08:
The bad neighbor: out-of-order execution and its applications.
- 2018‑01‑08:
The Python decorators they won't tell you about
- 2018‑01‑08:
Four groups of researchers independently found Meltdown and Spectre within mere months of each other.
- 2018‑01‑08:
PCID is now a critical performance/security feature on x86.
- 2018‑01‑07:
Ancient browser wars history: MD5-hashed posts declassified.
- 2018‑01‑07:
From 200K lines of CoffeeScript to zero: making decaffeinate super-stable.
- 2018‑01‑07:
Full-text search in Django with PostgreSQL.
- 2018‑01‑07:
An 8-tube module from a 1954 IBM 705 mainframe: it's a key debouncer.
- 2018‑01‑06:
I'm harvesting credit card numbers and passwords from your site. Here's how.
- 2018‑01‑06:
Meltdown and Spectre Linux kernel status.
- 2018‑01‑06:
Meltdown fix impact on Redis performances in virtualized environments.
- 2018‑01‑06:
A type system for the Nix purely functional package manager.
- 2018‑01‑06:
Racket-on-Chez status, January 2018.
- 2018‑01‑05:
Spectre/Meltdown security holes will devastate Intel's marketshare.
- 2018‑01‑05:
Intel analysis of speculative execution side channels.
- 2018‑01‑05:
Random with care.
- 2018‑01‑05:
The fresh prints of 'bell-end'.
- 2018‑01‑05:
Apple's notice aboit speculative execution vulnerabilities in ARM-based and Intel CPUs.
- 2018‑01‑05:
Announcing the OpenWrt/LEDE merge.
- 2018‑01‑05:
Xen Project Spectre/Meltdown FAQ.
- 2018‑01‑05:
How Wendy Carlos changed music forever.
- 2018‑01‑04:
The "retpoline" x86 mitigation technique for the Spectre branch target injection attack.
- 2018‑01‑04:
Notes from the Intelpocalypse.
- 2018‑01‑04:
What I learned in 2017 writing Golang.
- 2018‑01‑04:
Decrypting PgBouncer's diagnostic information.
- 2018‑01‑03:
Google Project Zero: Reading privileged memory with a side-channel. (Meltdown/Spectre)
- 2018‑01‑03:
Life as a New York Times reporter on the national security beat.
- 2018‑01‑03:
What does it mean for code to be "explicit"?
- 2018‑01‑03:
Making TRust-DNS faster than BIND9.
- 2018‑01‑03:
Initial benchmarks of the performance impact of page table isolation.
- 2018‑01‑03:
How the Å came to be.
- 2018‑01‑03:
Genetic study supports carbohydrate-insulin model of obesity.
- 2018‑01‑03:
We saw some really bad Intel CPU bugs in 2015, and we should expect to see more in the future.
- 2018‑01‑03:
PostgreSQL benchmarks showing performance regressions due to page table isolation.
- 2018‑01‑03:
The Golang type system for newcomers.
- 2018‑01‑02:
'Kernel memory leaking' Intel processor design flaw forces Linux and Windows redesign.
- 2018‑01‑02:
NeoPG: a cleaned-up fork of GnuPG 2.
- 2018‑01‑02:
Star Wars: Regency.
- 2018‑01‑02:
SQL keys in depth.
- 2018‑01‑02:
Negative result: reading kernel memory from user mode via speculative execution.
- 2018‑01‑02:
Water's odd behavior stems from its ability to exist in two liquid states.
- 2018‑01‑02:
Oumuamua pursued: the path of an interstellar asteroid.
- 2018‑01‑02:
The fat in a perfect croissant.
- 2018‑01‑02:
The death and life of the 13-month calendar.
- 2018‑01‑02:
Warnsdorff's rule for finding knight's tours.
- 2018‑01‑01:
Linux page table isolation is not needed on AMD processors.
- 2018‑01‑01:
Esperanto exits stealth mode, aiming at AI with a 4,096-core 7nm RISC-V monster.
- 2018‑01‑01:
How Hotmail changed Microsoft (and email) forever.
- 2018‑01‑01:
The story of the Gömböc.
- 2018‑01‑01:
The mysterious case of the Linux page table isolation patches.
- 2018‑01‑01:
In-place editing gets safer in perl 5.28.
- 2017‑12‑31:
Tracking down the roots of "supercalifragilisticexpialidocious".
- 2017‑12‑31:
Alan Kay on how to fund research.
- 2017‑12‑31:
The orgin and constraints of "shitgibbon" compounds.
- 2017‑12‑30:
The 2017 Tucker Awards for excellence in swearing.
- 2017‑12‑30:
Dead store elimination (still) considered harmful.
- 2017‑12‑30:
A history of S_IFMT file types in Unix.
- 2017‑12‑30:
What were the worst Nobel Prize snubs is science history?
- 2017‑12‑30:
Programming in the Wild West.
- 2017‑12‑29:
ECSV: a format for astronomical tables (in CSV) with metadata (in YAML).
- 2017‑12‑29:
Vim on a mechanical typewriter.
- 2017‑12‑29:
New Zealand study provides more support for the lead-crime hypothesis.
- 2017‑12‑29:
Re-examining the scrypt() parameter values.
- 2017‑12‑29:
PostgreSQL + ZFS best practices.
- 2017‑12‑29:
The sorry state of OpenSSL usability.
- 2017‑12‑29:
Legal cannabis isn't the boon small businesses thought it would be.
- 2017‑12‑29:
Willrow Hood's ice cream machine in Star Wars: The Empire Strikes Back.
- 2017‑12‑29:
SSL Labs grading overhaul preview.
- 2017‑12‑28:
The day zero was banned from British roulette.
- 2017‑12‑28:
FaCT aka ConstanC: a constant-time programming language.
- 2017‑12‑28:
FaCT: A flexible and constant-time programming language.
- 2017‑12‑28:
pg_squeeze: A PostgreSQL extension for automatic bloat cleanup.
- 2017‑12‑27:
BT InLink in London: building a privatised "smart city" by stealth.
- 2017‑12‑27:
How to hack a turned-off computer, or, running unsigned code in Intel ME.
- 2017‑12‑27:
Macaroons: cookies with contextual caveats for decentralized authorization in the cloud.
- 2017‑12‑26:
Why TLS 1.3 isn't in browsers yet.
- 2017‑12‑26:
Scientists have found a drug that can repair cavities and regrow teeth.
- 2017‑12‑26:
Tom Weller's "Science Made Stupid" and "Cvltvre Made Stvpid".
- 2017‑12‑26:
Evil coding incantations.
- 2017‑12‑26:
The state of netbooting Raspberry Pis.
- 2017‑12‑26:
Untangling Jenkins (with Summon and Conjur).
- 2017‑12‑26:
Reviving the Apple 410 Color Plotter.
- 2017‑12‑25:
Undefined vs unsafe in Rust.
- 2017‑12‑25:
Repairing a 1960s mainframe: Fixing the IBM 1401's core memory and power supply.
- 2017‑12‑25:
An algorithmic approach to dealing with insomnia.
- 2017‑12‑25:
Weird machines, exploitability, and provable unexploitability.
- 2017‑12‑25:
The current state of kernel page-table isolation.
- 2017‑12‑24:
Formal verification: the gap between perfect code and reality.
- 2017‑12‑24:
"A simple makefile" is a unicorn.
- 2017‑12‑24:
A list of software that turns your database into a REST or GraphQL API.
- 2017‑12‑24:
NRT:IT refurbished Dell.
- 2017‑12‑24:
Eleven Linux syscalls that suck.
- 2017‑12‑23:
Star Wars: The Last Jedi, reviewed by Adam Roberts.
- 2017‑12‑23:
Vulnerabilities and exploits: What happened when the infosec community outed its own sexual predators.
- 2017‑12‑23:
Division by invariant integers using multiplication.
- 2017‑12‑23:
Why nothing matters: the impact of zero initialization on programming language performance.
- 2017‑12‑23:
JSON in MongoDB, MySQL, and PostgreSQL: few more stories about performance.
- 2017‑12‑23:
AVX-512: what's useful for us.
- 2017‑12‑23:
Dropbox releases PyAnnotate: auto-generate type annotations for mypy.
- 2017‑12‑23:
Let your Python code type-hint itself: introducing open source MonkeyType.
- 2017‑12‑23:
Why IBM DB2 is four different DBMS code bases.
- 2017‑12‑22:
Ten lessons a mathematician wished he had been taught.
- 2017‑12‑22:
Copy-on-write friendly Python garbage collection for forking processes.
- 2017‑12‑21:
Start your open-source career.
- 2017‑12‑21:
Learning to operate Kubernetes reliably.
- 2017‑12‑21:
Implementing malloc(): an exercise to teach students systems programming.
- 2017‑12‑21:
systemd-resolved is broken.
- 2017‑12‑20:
Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up.
- 2017‑12‑20:
Salesforce's problems on the way to a near perfect log pipeline.
- 2017‑12‑19:
Tune ssh settings to speed up Ansible.
- 2017‑12‑18:
Let it go: the Arctic will never be frozen again.
- 2017‑12‑18:
Silicon Valley is turning into its own worst fear: unchecked capitalism vs superintelligent AI.
- 2017‑12‑18:
Update on the DNSSEC root KSK rollover project for December 2017.
- 2017‑12‑18:
What ORMs have taught me: just learn SQL.
- 2017‑12‑18:
Overture JS: FastMail's web app library.
- 2017‑12‑18:
A modulino is a file that is both script and module in Perl.
- 2017‑12‑18:
The first Unix port, to the Interdata 7/32.
- 2017‑12‑17:
A cheat-sheet for mathematical notation with translations to JavaScript.
- 2017‑12‑17:
Butch, femme, and the history of lesbian identity.
- 2017‑12‑17:
Silicon Valley techies still think they're the good guys. They're not.
- 2017‑12‑17:
Modes, medians, means: a unifying perspective.
- 2017‑12‑17:
Which lines of longitude and latitude pass through the most countries?
- 2017‑12‑17:
A thorough introduction to Apache Kafka.
- 2017‑12‑17:
Tips for in-house teams in a free market software culture, from an infrastructure tooling team at the FT.
- 2017‑12‑17:
Dance Dance Convolution: automatically generating steps for a rhythm-based video game.
- 2017‑12‑16:
Dive into BPF: a list of reading material.
- 2017‑12‑16:
白左 (baizuo): The curious rise of the 'white left' as a Chinese internet insult.
- 2017‑12‑16:
The Emacs calculator: a computer algebra system in your editor.
- 2017‑12‑16:
RFC 8259: the last JSON spec.
- 2017‑12‑16:
Introducing the GoodWatch: A neighborly watch for radio engineers.
- 2017‑12‑16:
REST is the new SOAP.
- 2017‑12‑16:
Introducing stapbpf: SystemTap's new BPF backend.
- 2017‑12‑15:
Lessons learned from a DNS registrar account compromise and man-in-the-middle attack.
- 2017‑12‑14:
Why is giving birth so hard? Revisiting the 'obstetrical dilemma'.
- 2017‑12‑14:
A Volvo factory in China is car production heaven.
- 2017‑12‑14:
W3C vs WHATWG. Which gives the most authoritative HTML spec?
- 2017‑12‑14:
What is the relationship between the W3C and the WHATWG?
- 2017‑12‑14:
Results of New Zealand FOI query about academic journal subscription costs.
- 2017‑12‑14:
BGP security in partial deployment: is the juice worth the squeeze? (2013)
- 2017‑12‑13:
XSS vulnerabilities in web sites that display x.509 TLS certificate details.
- 2017‑12‑13:
London Underground map translated into German / Londoner U-Bahn-Plan ins Deutsche übersetzt.
- 2017‑12‑13:
TP-Link repeater firmware squanders 715 MB/month of DNS and NTP traffic.
- 2017‑12‑13:
Monitoring PostgreSQL replication lag.
- 2017‑12‑12:
Why old-school PostgreSQL is so hip again.
- 2017‑12‑12:
Software compatibility and lld's autoconf "User-Agent" problem.
- 2017‑12‑12:
The ROBOT attack on RSA in TLS: return of Bleichenbacher's oracle threat.
- 2017‑12‑12:
Internet protocols are changing: HTTP/2, TLS/1.3, QUIC, DoH.
- 2017‑12‑12:
Barbed wire telephone lines brought isolated homesteaders together in 1800s America.
- 2017‑12‑12:
100baseT Ethernet: so good, it works over barbed wire.
- 2017‑12‑12:
It's official: ADSL works over wet string.
- 2017‑12‑12:
AMD is at last releasing its open source Vulkan driver.
- 2017‑12‑12:
High-level problems with Git and how to fix them.
- 2017‑12‑12:
Why do asteroids explode high in the atmosphere?
- 2017‑12‑12:
The GoodWatch: a Casio calculator watch containing hex editor, disassembler, and ham radio.
- 2017‑12‑11:
On the value of EV x.509 TLS certificates.
- 2017‑12‑11:
An intellectual property rights (IPR) policy and governance structure for the WHATWG.
- 2017‑12‑11:
The numbers of women in tech rise and fall, but sexual harassment is ever present.
- 2017‑12‑11:
The case for machine learning index structures instead of B-trees or hash tables.
- 2017‑12‑11:
Half of Kenya's electricity comes from geothermal energy.
- 2017‑12‑11:
NASA to test prototype Kilopower nuclear reactor intended for missions to Mars.
- 2017‑12‑11:
When did Italian become the language of Italy?
- 2017‑12‑11:
Thinking about hardware support for virtualization.
- 2017‑12‑11:
How to make an atomic clock from N@C60, a nitrogen atom in a carbon fullerene cage.
- 2017‑12‑11:
Design Principles.
- 2017‑12‑11:
A collection of magic "nothing up my sleeve" numbers in cryptographic algorithms.
- 2017‑12‑10:
Alaskan North Slope climate change just outran one of our tools to measure it.
- 2017‑12‑10:
Golang tooling essentials: useful flags and options.
- 2017‑12‑10:
How a CogSci undergrad invented PageRank three years before Google.
- 2017‑12‑10:
AWS DNS services break qname minimization.
- 2017‑12‑10:
About 34% of legitimate E-Passports have flaws preventing verification.
- 2017‑12‑10:
Falsehoods programmers believe about programming.
- 2017‑12‑10:
Measuring asymmetric DOCSIS latency via NTP.
- 2017‑12‑10:
Global powers lobby to stop special Brexit deal for UK.
- 2017‑12‑10:
Line Rider in the Hall of the Mountain King. (YouTube)
- 2017‑12‑10:
The Freiburg cup: a solution to single-use coffee cups.
- 2017‑12‑10:
iPhone slow? Try replacing your battery!
- 2017‑12‑10:
Notes on postmodern programming.
- 2017‑12‑10:
Kerberos: why the world moved on.
- 2017‑12‑09:
1.4 billion clear text credentials discovered in a single database.
- 2017‑12‑09:
The remarkable "curvature blindness" illusion.
- 2017‑12‑09:
An interview with Xavier Leroy.
- 2017‑12‑09:
This is just to say we have explained the plum jokes in your Twitter feed.
- 2017‑12‑08:
Make it Simple: a tale about Robert Dewar, Ada, and gnat.
- 2017‑12‑08:
Rust-inspired safe pointers in SPARK Ada 2014.
- 2017‑12‑08:
Sending infrared commands from a Raspberry Pi without LIRC.
- 2017‑12‑08:
Decoding an air conditioner remote control's checksum with differential cryptanalysis.
- 2017‑12‑08:
What have we learned from the PDP-11?
- 2017‑12‑08:
Google is likely to have its LIDAR patents invalidated, hindering its lawsuit against Uber.
- 2017‑12‑08:
A PostgreSQL / Pacemaker outage report.
- 2017‑12‑07:
3D printed objects that can connect to WiFi without electronics.
- 2017‑12‑07:
Portugal's radical drugs policy is working. Why hasn't the world copied it?
- 2017‑12‑07:
Neurotypical peers are less willing to interact with those with Autism based on thin slice judgments.
- 2017‑12‑07:
Rust code organization: modules, crates, etc.
- 2017‑12‑07:
Google's AlphaZero beats Stockfish in 100-game match after spending 4 hours teaching itself chess.
- 2017‑12‑06:
The story of the crookneck / handled ancient American watermelon.
- 2017‑12‑06:
Denial by DNS: Uber learns painfully and laboriously how not to write an asynchronous resolver.
- 2017‑12‑06:
Introducing "British Economic Time" aka "Sunrise Time", the ultimate astronomy geek timezone.
- 2017‑12‑06:
Replacing Elasticsearch with Rust and SQLite.
- 2017‑12‑06:
AlphaZero achieves in 24 hours a superhuman level of play in the games of chess, shogi, and Go.
- 2017‑12‑06:
How Diesel autogenerates a Rust API from a database schema.
- 2017‑12‑06:
Are X.509 EV certificates worth the paper they're written on?
- 2017‑12‑06:
Electronic Arts is addicted to Wilson loot boxes.
- 2017‑12‑05:
Announcing cni-ipvlan-vpc-k8s: IPvlan overlay-free Kubernetes networking in AWS.
- 2017‑12‑05:
The mystery of the blend: the blender file format explained.
- 2017‑12‑05:
AWS EC2 virtualization 2017: introducing Nitro.
- 2017‑12‑04:
Connected toys: France serves formal notice to cease serious breach of privacy because of a lack of security.
- 2017‑12‑04:
Debugging an evil Golang runtime bug.
- 2017‑12‑04:
Hands-on with the PocketBeagle: a $25 Linux computer with lots of I/O pins.
- 2017‑12‑04:
How to use Git hooks to version control your Excel VBA code.
- 2017‑12‑04:
Planning to rewrite parts of Mercurial in Rust.
- 2017‑12‑04:
How Google manages 250,000 desktop/laptop computers securely and efficiently.
- 2017‑12‑04:
The Stretcher Railing Society: preserving WWII artifacts hidden in plain sight around London.
- 2017‑12‑04:
Choose your words carefully and you can get someone to change their mind, and turn a conversation around.
- 2017‑12‑04:
End of privacy rights in the UK public sector?
- 2017‑12‑04:
DNS resolver latency (cache hit rate) vs query rate.
- 2017‑12‑04:
"Metalenses" created with photolithography could change the nature of imaging and optical processing.
- 2017‑12‑04:
ffwd: delegation to another thread instead of locking is (much) faster than you think.
- 2017‑12‑04:
Metro map colour-coding: effect on usability in route tracing.
- 2017‑12‑04:
Psychological safety in operations teams.
- 2017‑12‑03:
Dice become ordered when stirred, not shaken.
- 2017‑12‑03:
How I convinced my 1987 Canon Cat to talk to my 2017 MacBook Pro.
- 2017‑12‑03:
Fool Britannia: the future of the UK has never looked so grim.
- 2017‑12‑03:
Criterion: statistics-driven micro-benchmarking for Rust.
- 2017‑12‑03:
DNS for Tor exit nodes.
- 2017‑12‑02:
Homeowners trapped by 'fleecehold', the new cash cow for property developers.
- 2017‑12‑02:
Blockchain graveyard.
- 2017‑12‑02:
Not your parent's analog computer.
- 2017‑12‑02:
Sex isn't chromosomes: the story of a century of misconceptions about X and Y.
- 2017‑12‑02:
A faster way to make Bose-Einstein condensates.
- 2017‑12‑02:
Hisako Koyama: an amateur astronomer who was one of the greatest solar observers.
- 2017‑12‑02:
The Icelandic translation of Dracula is actually a different book.
- 2017‑12‑02:
Python library API checklist.
- 2017‑12‑02:
Creating a range in JavaScript, cleverly.
- 2017‑12‑02:
A clever line of JavaScript.
- 2017‑12‑01:
How Etsy caches: consistent hashing, Ketama, and cache smearing.
- 2017‑12‑01:
DNS TTL violations in the wild, measured with RIPE Atlas.
- 2017‑12‑01:
The LEGO storage guide.
- 2017‑12‑01:
Write your next Ethereum contract in Pyramid Scheme.
- 2017‑12‑01:
Git PSA: git-rev-parse.
- 2017‑11‑30:
Twenty Toes: juggling with hands and feet. (Vimeo)
- 2017‑11‑30:
Life expectancy in Britain has fallen so much that a million years of life could disappear by 2058.
- 2017‑11‑29:
Drawing fractal Droste images: spirals inside Mandelbrots!
- 2017‑11‑29:
Object models in Python 3, Lua, JavaScript, and Perl 5.
- 2017‑11‑29:
Why an empty password gets you root on macOS High Sierra.
- 2017‑11‑29:
ISPS: hardware decription languages before VHDL.
- 2017‑11‑29:
Exploring the BBC micro:bit software stack.
- 2017‑11‑29:
The numbers that show SNCF, France's proud rail service is struggling.
- 2017‑11‑29:
The Irish and Belgian approaches to Brexit.
- 2017‑11‑28:
DNS-over-TLS at SURFnet.
- 2017‑11‑28:
tenta-dns: Recursive and authoritative DNS server in golang, with DNSSEC, DNS-over-TLS, and BGP anycast.
- 2017‑11‑28:
PostgreSQL auto_explain: analyzing the performance of millions of unique SQL queries.
- 2017‑11‑28:
pgDoctor: PostgreSQL healthchecks for load balancers.
- 2017‑11‑28:
Bitcoin and that 1929 vibe.
- 2017‑11‑28:
A sense of units and scale for electrical energy production and consumption.
- 2017‑11‑28:
Format oracle attacks against OpenPGP and GnuPG.
- 2017‑11‑28:
Photovoltaic growth: reality versus projections of the International Energy Agency.
- 2017‑11‑28:
... Then you win.
- 2017‑11‑27:
Drawing from noise with Processing, and making animated loopy GIFs.
- 2017‑11‑27:
Horwood's plan of London, 1792 - 1799.
- 2017‑11‑27:
SPIFFE: standards for securely identifying software systems in dynamic and heterogeneous production environments .
- 2017‑11‑27:
VPN DNS leak test.
- 2017‑11‑27:
What Bikini Atoll looks like today.
- 2017‑11‑27:
Inside Docker's "FROM scratch" empty container.
- 2017‑11‑27:
A minimalist guide to tmux.
- 2017‑11‑26:
Why Amazon DynamoDB isn't for everyone.
- 2017‑11‑26:
Unit testing doesn't affect codebases the way you might expect.
- 2017‑11‑26:
Legatum: who are the Brexiteers' favourite think tank and who is behind them?
- 2017‑11‑26:
A review of some Amazon HQ2 bids shows that democracy itself is a bargaining chip.
- 2017‑11‑26:
LIL: the little implementation language (and other mid-level languages).
- 2017‑11‑26:
Lively Linear Lisp: 'Look Ma, no garbage!'
- 2017‑11‑26:
Carp: a Lisp with Rust-like memory management.
- 2017‑11‑25:
Asbestos and the great Aussie DIY obsession: the impending killer 'third wave'.
- 2017‑11‑25:
Rob Pike's 5 rules of programming.
- 2017‑11‑25:
No end in sight to the Brexit madness.
- 2017‑11‑25:
Using a logbook to improve your programming.
- 2017‑11‑25:
Quantum theory rebuilt from simple physical principles.
- 2017‑11‑25:
In search of the perfect writing font.
- 2017‑11‑25:
SOLID principles made easy.
- 2017‑11‑25:
Incremental data capture for Oracle databases at LinkedIn.
- 2017‑11‑25:
Hexagonal Architecture: a mobile app case study.
- 2017‑11‑25:
VoxelSpace: Terrain rendering in less than 20 lines of code.
- 2017‑11‑24:
Return of the Obra Dinn: spherical mapped dithering for a 1bpp 1st-person game.
- 2017‑11‑24:
No boundaries: key logging and exfiltration of personal data by web site session-replay scripts.
- 2017‑11‑24:
How the sandwich consumed Britain.
- 2017‑11‑24:
Our computer systems are not good enough. (YouTube)
- 2017‑11‑24:
MySQL performance tuning and Linux context switches.
- 2017‑11‑24:
In the Jungle: inside the long hidden genealogy of 'The Lion Sleeps Tonight'.
- 2017‑11‑24:
Observations of an ex pat: the Middle East explained.
- 2017‑11‑24:
Saudi Arabia's Arab Spring, at last.
- 2017‑11‑24:
Make: shows how to apologise properly.
- 2017‑11‑24:
The financial realities of going viral.
- 2017‑11‑24:
Ada: There's a mini-RTOS in my language.
- 2017‑11‑24:
Why the world has so many Guineas.
- 2017‑11‑23:
Common issues with PostgreSQL planner statistics.
- 2017‑11‑23:
Draft revision of ISO 8601-201x with EDTF extended date/time formats.
- 2017‑11‑23:
PostgreSQL configuration tuning for humans.
- 2017‑11‑23:
How tuning PostgreSQL for SSDs can improve slow query performance by 50x.
- 2017‑11‑23:
Road design: sustainable safety vs shared space.
- 2017‑11‑23:
WIPEONFORK in Linux 4.14.
- 2017‑11‑23:
Better random number generation for OpenSSL, glibc, and Linux.
- 2017‑11‑22:
Why git is worse than Fossil.
- 2017‑11‑22:
breezy: a fork of bzr for Python 3 support.
- 2017‑11‑22:
Thoughts on Fossil-NG.
- 2017‑11‑22:
Beauty shots of (moderately) retro computers.
- 2017‑11‑22:
Do no harm: Linus on the tension between kernel security and system reliability.
- 2017‑11‑22:
I can send an IP packet to Europe faster than I can send a pixel to the screen. How f'd up is that?
- 2017‑11‑22:
Replacing x86 firmware with Linux and Golang.
- 2017‑11‑22:
Milksnake: ship Python wheels written in Rust without linking to libpython.
- 2017‑11‑22:
Announcing failure: error handling for Rust.
- 2017‑11‑22:
True Kilts: debunking myths about highlanders and clan tartans.
- 2017‑11‑22:
What happens when a woman translates Homer's Odyssey.
- 2017‑11‑21:
ESO observations show first known interstellar asteroid is like nothing seen before.
- 2017‑11‑21:
Development progress of Language Server Protocol compatible editors and language servers.
- 2017‑11‑21:
How many colours were there in a medieval rainbow?
- 2017‑11‑21:
When a Phillips is not a Phillips! A zoo of screwdrivers.
- 2017‑11‑21:
Has web advertising jumped the shark?
- 2017‑11‑21:
EU Horizon Prize: seamless IoT/cloud authentication for all.
- 2017‑11‑21:
OpenSSI: single system image distributed clusters for Linux.
- 2017‑11‑21:
cquery: a highly-scalable, low-latency VS Code language server for C/C++.
- 2017‑11‑21:
Shaping the World. (PyCon UK keynote)
- 2017‑11‑21:
Understanding `git filter-branch` and the git storage model.
- 2017‑11‑20:
Leapseconds and earthquakes: 2018 predicted to be a year of big quakes as Earth rotation slows.
- 2017‑11‑20:
Why clocks run clockwise, and some watches and clocks that don't.
- 2017‑11‑19:
Typesetting the 1973 4th edition Unix programmer's manual.
- 2017‑11‑19:
From War to Worboys: the redesign of British road signs in the early 1960s.
- 2017‑11‑19:
Dark matter does not form a disk.
- 2017‑11‑19:
Span types for raw memory slices in C#.
- 2017‑11‑19:
Some birds use discarded cigarettes to fumigate their nests.
- 2017‑11‑19:
Orcas vs great white sharks: in a battle of the apex predators who wins?
- 2017‑11‑19:
Security things in Linux v4.14.
- 2017‑11‑18:
Everything you need to know about Lexit in five minutes.
- 2017‑11‑18:
20 feet vs 178000 miles: a stupidly long network route.
- 2017‑11‑18:
The mystery of the phantom scientific journal reference.
- 2017‑11‑18:
The rise and fall of the complex sentence.
- 2017‑11‑18:
Bufferbloat on the Internet backbone.
- 2017‑11‑17:
Formula 1 race car aerofoils keep cold air inside supermarket chillers.
- 2017‑11‑17:
Graphing the Analytics Package at Amazon: Remove the legend to become one.
- 2017‑11‑17:
FreeBSD/EC2 on AWS C5 instances.
- 2017‑11‑17:
Christopher Tolkien has resigned as director of the Tolkien estate.
- 2017‑11‑16:
KAISER: hiding the Linux kernel from user space.
- 2017‑11‑16:
Experience with viruses on UNIX systems. (1989)
- 2017‑11‑16:
Plan 28 Autumn 2017 report on progress analysing Babbage's analytical engine manuscripts.
- 2017‑11‑16:
Puffs: a domain-specific language and library for parsing untrusted file formats safely.
- 2017‑11‑15:
Keeping a lab notebook: basic principles and best practices.
- 2017‑11‑15:
Oberon: the overlooked jewel.
- 2017‑11‑15:
Fairchild F9445 MicroFlame: a clone of the Data General Nova.
- 2017‑11‑15:
All of the world's top 500 supercomputers are running Linux.
- 2017‑11‑15:
NumPy's plan for dropping Python 2.7 support by 2020.
- 2017‑11‑15:
Datasette: instantly create and publish an API for your SQLite databases.
- 2017‑11‑15:
What did 17th century food taste like?
- 2017‑11‑14:
Report from the SNAFUcatchers workshop on coping with complexity.
- 2017‑11‑14:
Finding the right color palettes for data visualizations.
- 2017‑11‑13:
The post-Weinstein reckoning.
- 2017‑11‑13:
uPyPhone: a GSM phone using MicroPython, PyBoard, and SIM800L.
- 2017‑11‑13:
Against brilliant jerks.
- 2017‑11‑13:
Verfploeter: broad and load-aware anycast mapping.
- 2017‑11‑13:
Physics has demoted mass.
- 2017‑11‑13:
Long-term coffee consumption and risk of cardiovascular disease.
- 2017‑11‑13:
Vitamin D and cancer prevention.
- 2017‑11‑13:
Time zones, daylight saving, and cancer risk.
- 2017‑11‑13:
Not the comp.text.sgml FAQ.
- 2017‑11‑13:
Trip report: Fall 2017 ISO C++ standards meeting (Albuquerque).
- 2017‑11‑13:
RISC-V processor research at IIT-Madras.
- 2017‑11‑13:
target="_blank": an underestimated vulnerability.
- 2017‑11‑12:
Inside a low budget consumer hardware espionage implant: a GSM device hidden in a USB cable.
- 2017‑11‑12:
Google's approach to observability across microservices.
- 2017‑11‑12:
Medieval price list.
- 2017‑11‑12:
Homeland Security team remotely hacked a Boeing 757.
- 2017‑11‑12:
Shadow Brokers security breaches and spilled secrets have shaken the NSA to its core.
- 2017‑11‑12:
Gallery of missing data visualisations.
- 2017‑11‑11:
Take it from the Swiss: the Brexit referendum wasn't legitimate.
- 2017‑11‑11:
Fire and ice: Mapping the magma flow to Antarctica's most active volcano.
- 2017‑11‑11:
A computer scientist who prefers voting on paper.
- 2017‑11‑11:
Why conservatives are more susceptible to believing in lies.
- 2017‑11‑11:
Real-time GPU texture-mapped vector glyphs.
- 2017‑11‑11:
The shape of Rome.
- 2017‑11‑11:
Explanation of the OVH Strasbourg outage.
- 2017‑11‑11:
Burn the programmer!
- 2017‑11‑11:
How can liberalism be to blame for everything when we can't even agree what it is?
- 2017‑11‑10:
Cursive handwriting and other education myths.
- 2017‑11‑10:
All you need to know about whiteboard markers.
- 2017‑11‑10:
CEOs don't steer.
- 2017‑11‑10:
An evening with Berferd, in which a cracker is lured, endured, and studied.
- 2017‑11‑10:
The fungus that turns ants into zombies is more diabolical than we realized.
- 2017‑11‑09:
FastNetMon DDoS detection tool.
- 2017‑11‑09:
America's "retail apocalypse" is really just beginning.
- 2017‑11‑09:
.NET/C# generics history: some photos from Feb 1999.
- 2017‑11‑09:
Exponential generic type expansion in the C# compiler.
- 2017‑11‑09:
Curiouser and curiouser: recursive generic types in C#.
- 2017‑11‑09:
Scientists on new supernova: WTF have we been looking at?
- 2017‑11‑08:
This fungus has over 20,000 sexes.
- 2017‑11‑08:
ARM takes wing: benchmarking Qualcomm vs. Intel CPUs.
- 2017‑11‑08:
Perfect locality for listening sockets, and three epic SystemTap scripts.
- 2017‑11‑08:
Andrew S Tanenbaum on the use of Minix in the Intel ME.
- 2017‑11‑08:
The 10 top recommendations for the AI/ML field in 2017.
- 2017‑11‑08:
CSS Flexbox and Grids, your layout's best friends.
- 2017‑11‑08:
Jargon from the functional programming world in simple terms!
- 2017‑11‑08:
Some problems of URLs.
- 2017‑11‑08:
HotPlug: remove a running computer without shutting it down.
- 2017‑11‑08:
Get up to speed with JANET's faster DDoS protection services.
- 2017‑11‑07:
Update on the DNSSEC root KSK rollover project.
- 2017‑11‑07:
Against ORMs.
- 2017‑11‑06:
subjack: hostile subdomain takeover vulnerability scanning tool written in Golang.
- 2017‑11‑06:
Beyond Horizons: 443km world record of distant landscape photography.
- 2017‑11‑06:
Configure / metaconfig at the 2017 Perl 5 core hackathon.
- 2017‑11‑05:
Visiting Lord's Bridge: the Mullard Radio Astronomy Observatory near Cambridge.
- 2017‑11‑05:
Contributor Covenant: a code of conduct for open source projects.
- 2017‑11‑05:
Reconstructing ROCA.
- 2017‑11‑04:
Collapsing towers of interpreters.
- 2017‑11‑04:
Logstalgia: replay or stream website access logs as a retro arcade game.
- 2017‑11‑04:
Playing with Wolfram playing cards.
- 2017‑11‑04:
"The warhead is no longer on top of the missile." A nuclear accident in 1964.
- 2017‑11‑04:
CT Advisor: Certificate Transparency monitoring and alerts.
- 2017‑11‑04:
CERTSTREAM: see certificate transparency list updates as X.509 certs are issued in real time.
- 2017‑11‑04:
Identifying the "Early IBM Computer" in a Twitter photo: a 405 Accounting Machine.
- 2017‑11‑03:
DNS performance metrics: the logarithmic percentile histogram.
- 2017‑11‑03:
FOSSology: open source license compliance toolkit.
- 2017‑11‑03:
Software matters in the world: work on fixing the big bugs.
- 2017‑11‑03:
Strava's global heatmap, now 6x hotter.
- 2017‑11‑02:
The return of Coppersmith's attack: practical factorization of widely used RSA moduli.
- 2017‑11‑02:
Data classes for Java.
- 2017‑11‑02:
What's new in HAProxy 1.8.
- 2017‑11‑02:
How the Guardian found 800,000 paying readers.
- 2017‑11‑02:
A minimalist guide to SQLite.
- 2017‑11‑02:
The new thermodynamics: how quantum physics is bending the rules.
- 2017‑11‑02:
Linux containers in 500 lines of code.
- 2017‑11‑02:
m.css math: a Pelican plugin to render TeX to SVG on the server.
- 2017‑11‑02:
95 theses about technology.
- 2017‑11‑01:
Coders of the world, unite: can Silicon Valley workers curb the power of Big Tech?
- 2017‑11‑01:
Git delta amplification.
- 2017‑11‑01:
My VM is lighter (and safer) than your container.
- 2017‑10‑31:
Sequent calculus and linear logic: The Blind Spot and the cut rule.
- 2017‑10‑31:
The habitat of hardware bugs.
- 2017‑10‑31:
Perl is the most disliked programming language.
- 2017‑10‑31:
State of the OpenVMS port to x86-64.
- 2017‑10‑31:
fixie tries: a popcount trie implemented in Rust.
- 2017‑10‑31:
Christine Ladd-Franklin (1847-1930): A lady logician.
- 2017‑10‑31:
Debug information is huge and what to do about it.
- 2017‑10‑31:
Why are so many new and expectant mothers dying in the US?
- 2017‑10‑31:
How the monstrous Weierstrass function paved the way for modern math.
- 2017‑10‑31:
Cray: how to program a supercomputer.
- 2017‑10‑31:
Dataviz project: a collection of data visualizations to get inspired and find the right type.
- 2017‑10‑31:
Most websites don't need to vibrate: a cost-benefit approach to improving browser security.
- 2017‑10‑31:
Same stats, different graphs: manipulating datasets through simulated annealing.
- 2017‑10‑31:
Approximate frequency counts over data streams.
- 2017‑10‑30:
Near future of programming languages.
- 2017‑10‑30:
Scaling the GitLab PostgreSQL database.
- 2017‑10‑30:
Oldest recorded solar eclipse helps date the Egyptian pharaohs.
- 2017‑10‑30:
Colliding neutron stars are "standard sirens" that tell us how fast the universe is expanding.
- 2017‑10‑30:
Investigation: WannaCry cyber attack and the NHS.
- 2017‑10‑29:
The meaning of Google AMP.
- 2017‑10‑29:
The Internet Worm of 1988.
- 2017‑10‑29:
Stealing Amazon EC2 keys via an XSS vulnerability.
- 2017‑10‑29:
Some of the world's biggest energy storage schemes.
- 2017‑10‑29:
The cubehelix colour scheme.
- 2017‑10‑29:
Better than rainbows: matplotlib alternative colourblind-aware colourmaps.
- 2017‑10‑29:
How to monkey-patch the Linux kernel with systemtap.
- 2017‑10‑29:
Replace your exploit-ridden Intel x86 firmware with a Linux kernel
- 2017‑10‑29:
Antarctica's illicit Ingress scene
- 2017‑10‑28:
Slack SAML authentication bypass vulnerability.
- 2017‑10‑28:
I watched all of the Chrome Dev Summit 2017 videos so you don't have to.
- 2017‑10‑27:
It's getting clearer: the diet-cancer connection points to sugar and carbs.
- 2017‑10‑27:
Implementing Stripe-like idempotency keys in PostgreSQL.
- 2017‑10‑27:
TLS-N: non-repudiation of data served over TLS.
- 2017‑10‑27:
Disk|Crypt|Net: rethinking the stack for high-performance video streaming.
- 2017‑10‑27:
Titan: the poor man's Atlas?
- 2017‑10‑27:
Automatically submitting your Internet-Draft from GitHub.
- 2017‑10‑27:
Who guards the guards? Formal validation of the ARM v8-M architecture specification.
- 2017‑10‑26:
High-performance GPU computing in the Julia programming language.
- 2017‑10‑25:
ZFSin: OpenZFS ported to Windows.
- 2017‑10‑25:
Don't use a pencil: a key to Brexit's Russian bots.
- 2017‑10‑25:
Testing DNSSEC public keys for the ROCA vulnerability.
- 2017‑10‑25:
Barbarian: a sword font.
- 2017‑10‑25:
One-level storage system: virtual memory on the Manchester Ferranti Atlas.
- 2017‑10‑25:
Papers on virtual memory and working sets.
- 2017‑10‑25:
Why do so few black students go to Oxbridge?
- 2017‑10‑25:
More taste, less greed? or, sending UNIX to the fat farm.
- 2017‑10‑25:
All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask).
- 2017‑10‑25:
IP addresses considered harmful.
- 2017‑10‑25:
A software-based approach to identify heavy hitters in 10Gbit/s DNS traffic.
- 2017‑10‑25:
One Debian developer's preferred packaging setup.
- 2017‑10‑25:
I deb, you deb, everybody debs: Debian packaging for beginners and experts alike.
- 2017‑10‑25:
TimescaleDB: PostgreSQL made scalable for time-series data.
- 2017‑10‑25:
Amazon Aurora: design considerations for high throughput cloud-native relational databases.
- 2017‑10‑25:
Short-lived certificates at Netflix.
- 2017‑10‑24:
Executive function impairment in high-IQ adults with ADHD.
- 2017‑10‑24:
Infineon ROCA: Welp, there go my Git signatures.
- 2017‑10‑24:
First Timers Only: friendly open source projects reserve specific issues for new contributors.
- 2017‑10‑24:
The mathematics of 2048: counting states with combinatorics.
- 2017‑10‑24:
Buffer overflow in musl-libc DNS response parser.
- 2017‑10‑24:
Surviving IPv6 fragmentation.
- 2017‑10‑24:
On the passive measurability of RTT/loss of QUIC traffic.
- 2017‑10‑24:
How to write a stunt server using raw sockets in IPv6.
- 2017‑10‑24:
A history of the ampersand.
- 2017‑10‑24:
How Merkle trees enable the decentralized web.
- 2017‑10‑24:
What everybody gets wrong about Jekyll and Hyde.
- 2017‑10‑24:
The future of DNSSEC at the RIPE NCC.
- 2017‑10‑24:
Why does one NGINX worker take all the load?
- 2017‑10‑24:
Introduction to the Zig programming language: "more pragmatic than C".
- 2017‑10‑24:
Recent IETF BGP work addressing operational challenges.
- 2017‑10‑24:
IPv6 prefix assignment for end-users: persistent vs non-persistent, and what size to choose.
- 2017‑10‑24:
cronic: a cure for chronic cron spam.
- 2017‑10‑23:
This is what the no-deal Brexit cliff edge looks like.
- 2017‑10‑23:
The DUHK attack: don't use hard-coded keys for RNG seeds.
- 2017‑10‑23:
.Amsterdam refuses to publish Whois records as ICANN whois GDPR row escalates.
- 2017‑10‑23:
DéjàVu: a map of code duplication on GitHub.
- 2017‑10‑23:
Manipulating Maintainers: how to persuade members of an open source community to help you.
- 2017‑10‑23:
UCAS statistics: Is there bias in university admissions?
- 2017‑10‑23:
Filesystem error handling / improving error checking in C / funding robustness research.
- 2017‑10‑23:
The Atlas of the Underworld shows Earth's interior is teeming with dead plates.
- 2017‑10‑23:
Best trackballs 2017.
- 2017‑10‑23:
Danish numbers are obscurely 20-based.
- 2017‑10‑23:
ChrysaLisp: TAOS-flavoured parallel OS, with GUI, terminal, OO assembler, class libraries, C-Script, and more...
- 2017‑10‑23:
Genode: a capability-oriented microkernel OS.
- 2017‑10‑22:
Ghostwatch: the Halloween hoax that changed the language of television.
- 2017‑10‑22:
Android getting support for DNS over TLS.
- 2017‑10‑22:
A README maturity model.
- 2017‑10‑22:
How did Arron Banks afford to bankroll Brexit?
- 2017‑10‑22:
MENACE: machine educable noughts and crosses engine, a matchboxes-and-beads computer.
- 2017‑10‑22:
Reusable and type-safe functional options for Golang APIs.
- 2017‑10‑22:
The self-referential functional option pattern in Golang.
- 2017‑10‑22:
Successful hotfire test of Blue Origin BE-4 reusable high-thrust rocket engine.
- 2017‑10‑22:
Sugar is a toxic agent that creates conditions for disease.
- 2017‑10‑22:
zsync: download files over http using the rsync algorithm.
- 2017‑10‑21:
The rise and fall of the Lyons' Cornerhouses and their Nippy waitresses.
- 2017‑10‑21:
The largest left truncatable prime.
- 2017‑10‑21:
Autodesk Recap360: turn photos into 3D models.
- 2017‑10‑21:
Nationalisation of Carlisle pubs during the First World War.
- 2017‑10‑21:
Some examples of historical music notation.
- 2017‑10‑21:
Battle with a phantom PostgreSQL WAL segment.
- 2017‑10‑21:
IPv6 Buddy: a keyboard for typing hex.
- 2017‑10‑21:
co2: an object system for C.
- 2017‑10‑21:
Object oriented programming in C.
- 2017‑10‑21:
Object-oriented programming in ANSI C.
- 2017‑10‑21:
Google's quantum computing plans upended by IBM's 56 qubit classical computing simulation.
- 2017‑10‑21:
Vikings razed the forests. Can Iceland regrow them?
- 2017‑10‑21:
Don't style your marketing emails.
- 2017‑10‑20:
Female homicide rate dropped 17% after Craigslist launched its erotic services platform.
- 2017‑10‑20:
How I socially engineer myself into high security facilities.
- 2017‑10‑20:
Pointer free programming and the future of Nim.
- 2017‑10‑19:
Over 30,000 published studies could be wrong due to contaminated cells.
- 2017‑10‑19:
Objective-C and fork() in macOS 10.13.
- 2017‑10‑19:
Why Ruby app servers break on macOS High Sierra: fork safety in Objective C frameworks.
- 2017‑10‑19:
X.org server for Android.
- 2017‑10‑19:
Termux: terminal emulator and Debian-style userland as an Android app.
- 2017‑10‑19:
Linux on Samsung Galaxy smartphones.
- 2017‑10‑19:
Ad industry insiders profited from ad fraud scheme that stole $millions.
- 2017‑10‑19:
Hey Siri: an on-device DNN-powered voice trigger for Apple's personal assistant.
- 2017‑10‑19:
Browser security beyond sandboxing: Microsoft exploits Google Chrome.
- 2017‑10‑18:
ML modules and Haskell type classes: a constructive comparison.
- 2017‑10‑18:
AlphaGo Zero: Learning from scratch.
- 2017‑10‑18:
mod_md: ACME support for the Apache httpd.
- 2017‑10‑18:
The mathematical genius of Auto-Tunea.
- 2017‑10‑18:
Exploring lock-free Rust: from locks, via atomics, to Crossbeam.
- 2017‑10‑17:
Fact check markup: explain to Google what claims are true or false.
- 2017‑10‑17:
End all immigration controls: they're a sign we value money more than people.
- 2017‑10‑17:
ROCA: critical vulnerability in Infineon security chips.
- 2017‑10‑17:
TAOS Operating System.
- 2017‑10‑15:
How the oligarchy wins: lessons from ancient Greece .
- 2017‑10‑15:
Help test out ThinLTO! Another feature aiming to reduce Rust's compile times.
- 2017‑10‑15:
Beyond XX and XY: the extraordinary complexity of sex determination.
- 2017‑10‑15:
Switching from Common Lisp to Julia.
- 2017‑10‑15:
The Journal of Open Source Software: a developer friendly journal for research software packages
- 2017‑10‑15:
Boiling lead and black art: a history of mathematical typography.
- 2017‑10‑14:
The impossible dream of USB-C.
- 2017‑10‑14:
Interactive scientific computing, Goldilocks languages, and Julia.
- 2017‑10‑14:
Some insights from a Julia developer.
- 2017‑10‑14:
5 things we learned from Google Waymo's self-driving car NTSB report.
- 2017‑10‑14:
I'm an environmental journalist, but I never write about overpopulation. Here's why.
- 2017‑10‑14:
Why the assholes are winning: money trumps all.
- 2017‑10‑14:
Is the inflationary universe a scientific theory?
- 2017‑10‑14:
By analysing hundreds of police interviews, two scientists have revolutionised interrogation.
- 2017‑10‑13:
freno: mitigating MySQL replication lag and reducing read load at GitHub.
- 2017‑10‑13:
Reverse proxy grapher.
- 2017‑10‑13:
Exploding Git repository: a billion blobs.
- 2017‑10‑12:
Notable features in C++17.
- 2017‑10‑11:
ADHD: a lifelong struggle.
- 2017‑10‑11:
Reasons Kubernetes is cool.
- 2017‑10‑11:
Block comments considered harmful.
- 2017‑10‑11:
A template for a run book / system operation manual.
- 2017‑10‑11:
Disabling the Intel Management Engine.
- 2017‑10‑11:
PACELC, Hazelcast, and the mythical PA/EC system.
- 2017‑10‑10:
Fake crypto: Microsoft Outlook S/MIME cleartext disclosure.
- 2017‑10‑10:
A bug has no name: multiple heap buffer overflows in the Windows DNS client.
- 2017‑10‑10:
Coding style as a failure of language design.
- 2017‑10‑10:
Macro-less code execution with DDE in Microsoft Word.
- 2017‑10‑10:
The asynchronous computability theorem: applying topology to distributed systems.
- 2017‑10‑10:
The absurdly underestimated dangers of spreadsheet compromise via CSV injection.
- 2017‑10‑10:
A decade of Amazon Dynamo.
- 2017‑10‑09:
Breaking Ed25519 in WolfSSL using differential power analysis.
- 2017‑10‑09:
"Peer review" is younger than you might think. Does that mean it can go away?
- 2017‑10‑08:
Thoughts on Microsoft's time-travel debugger.
- 2017‑10‑08:
Fairchild Semiconductor: the 60th anniversary of a Silicon Valley legend.
- 2017‑10‑08:
The story behind the photo of the Lightning crash at Hatfield in 1962.
- 2017‑10‑08:
How to avoid unwanted wakeups when killing lots of processes.
- 2017‑10‑07:
A branchless UTF-8 decoder.
- 2017‑10‑07:
What even is compiler correctness?
- 2017‑10‑07:
iOS 11's misleading "off-ish" setting for Bluetooth and Wi-Fi is bad for security and battery life.
- 2017‑10‑06:
Fast JVM startup with JDK 9.
- 2017‑10‑05:
The magic phrase, "we don't do that here."
- 2017‑10‑05:
HoTTSQL: proving query rewrites with univalent SQL semantics.
- 2017‑10‑04:
The undercover story of the Chicago newspaper that bought a bar.
- 2017‑10‑04:
The story behind ICANN's decision to delay the DNSSEC root KSK rollover.
- 2017‑10‑04:
Brexit will hit Britain's overseas territories hard. Why is no one talking about it?
- 2017‑10‑04:
Useful GCC warning options not enabled by -Wall -Wextra.
- 2017‑10‑04:
Using an iPad Pro instead of a desktop computer.
- 2017‑10‑04:
Sequent NUMA-Q: a new commercial parallel-processing architecture. (1999)
- 2017‑10‑04:
8th: a gentle introduction to a modern Forth.
- 2017‑10‑04:
Cashing in on ATM malware: a comprehensive look at various attack types.
- 2017‑10‑04:
Random cyclic curves in the complex plane.
- 2017‑10‑04:
Times tables, Mandelbrot, and the heart of mathematics. (YouTube)
- 2017‑10‑04:
Beauty in mathematics: modular multiplication tables.
- 2017‑10‑04:
Common Lisp vs Racket vs Gerbil.
- 2017‑10‑04:
Gerbil Scheme has a state of the art macro and module system on top of the Gambit runtime.
- 2017‑10‑04:
Compiling switch/case: Are jump tables always fastest?
- 2017‑10‑03:
In 1973, I invented a 'girly drink' called Baileys.
- 2017‑10‑03:
What Tesla's big battery in South Australia is for.
- 2017‑10‑03:
Not all disagreements are opportunities to change your own mind.
- 2017‑10‑02:
Probot: GitHub apps to automate and improve your workflow.
- 2017‑10‑02:
Mitogen: an infrastructure code baseline that sucks less, or, why Ansible is slow.
- 2017‑10‑02:
Troubleshooting: a journey through Bird, HAProxy, cURL, and the Linux dentry cache.
- 2017‑10‑02:
RELAY: past, present, and future. (1987)
- 2017‑10‑02:
Toward a predictive-processing theory of depression.
- 2017‑10‑02:
Advanced secondary DNS for the technically inclined.
- 2017‑10‑02:
No brogrammers: Practical tips for writing inclusive job ads.
- 2017‑10‑02:
What a nerdy debate about p-values shows about science, and how to fix it.
- 2017‑10‑01:
Haxl: a big hammer for concurrency. (YouTube)
- 2017‑10‑01:
How deeply are STEM students learning? They often guess and merely manipulate symbols without insight.
- 2017‑10‑01:
DNA from old skeleton suggests humanity's been here longer than we thought.
- 2017‑10‑01:
How science saved me from pretending to love wine.
- 2017‑09‑30:
What's In the Cache? DNS cache hit rates.
- 2017‑09‑30:
Cache effect of shared DNS resolver.
- 2017‑09‑30:
BotDigger: Detecting DGA bots in a single network using DNS traffic.
- 2017‑09‑30:
Bad autoconf tests with nested functions are incompatible with clang.
- 2017‑09‑30:
Why are Nazis so afraid of clowns?
- 2017‑09‑30:
BIND 9.12 refactoring and performance improvements.
- 2017‑09‑30:
A look at RFC 8145 DNSSEC trust anchor signalling.
- 2017‑09‑30:
RFC 7706 vs RFC 8198 for root DNS zone performance and resilience.
- 2017‑09‑29:
The pragmatic case for moving Britain's capital to Manchester.
- 2017‑09‑29:
Serving 100 Gbps from a Netflix FreeBSD Open Connect Appliance.
- 2017‑09‑29:
What happened to the folding UK plug?
- 2017‑09‑28:
DNS for service discovery in HAProxy.
- 2017‑09‑28:
Identifying satellite interference due to GSM rebroadcast.
- 2017‑09‑28:
We need to talk about TLS session tickets.
- 2017‑09‑28:
Background information on the DNSSEC root key rollover postponement.
- 2017‑09‑28:
How Crossrail is using 3D-printing to build its stations.
- 2017‑09‑28:
When filters fail: These cases show we can't trust algorithms to clean up the internet.
- 2017‑09‑28:
DNSSEC KSK rollover postponed.
- 2017‑09‑28:
Languages don't all have the same number of terms for colors. Here's a new theory why.
- 2017‑09‑28:
detect.location: getting iOS location data via photo EXIF access.
- 2017‑09‑28:
Software is a long con.
- 2017‑09‑28:
HAProxy vs nginx: Why you should NEVER use nginx for load balancing!
- 2017‑09‑28:
ntpd won't save you from one particular rogue bit.
- 2017‑09‑27:
Ed25519 for DNSSEC.
- 2017‑09‑27:
git git git git git
- 2017‑09‑27:
BOOMv2: an open-source out-of-order RISC V core.
- 2017‑09‑27:
Feminism, equality, chattels, and judgement.
- 2017‑09‑27:
Flags are not languages.
- 2017‑09‑27:
The history of Sears predicts almost everything Amazon is doing.
- 2017‑09‑26:
Comparing differential equation solvers in C, Fortran, Julia, Maple, Mathematica, MATLAB, Python, and R.
- 2017‑09‑26:
cloudflare/bn256 implements a particular bilinear group at the 128-bit security level, ~10x or ~20x faster.
- 2017‑09‑26:
Cloudflare Geo Key Manager: identity-based encryption for private keys in a TLS CDN.
- 2017‑09‑25:
Mathematics and the state of being stuck.
- 2017‑09‑25:
Org-mode is one of the most reasonable lightweight markup languages.
- 2017‑09‑25:
A quick introduction to Graphviz.
- 2017‑09‑25:
Antifragility 101.
- 2017‑09‑24:
The Canpaign for North Africa: a notorious board game that takes 1,500 hours to complete.
- 2017‑09‑24:
Branded in memory: how well can people draw a logo from memory?
- 2017‑09‑23:
APFS: a backup software developer's perspective.
- 2017‑09‑23:
GPS without COCOM limits.
- 2017‑09‑23:
Super-accurate GPS chips coming to smartphones in 2018.
- 2017‑09‑23:
Franchise: an open source in-browser SQL notebook.
- 2017‑09‑23:
lnav: a log file navigator.
- 2017‑09‑22:
How Portugal is winning the War on Drugs that the USA is losing.
- 2017‑09‑22:
Time to speak up for Article 15 of the E-commerce Directive.
- 2017‑09‑22:
API Monitor: spy on Windows API calls and COM interfaces.
- 2017‑09‑22:
Implementing Berkeley sockets in System V release 4.
- 2017‑09‑22:
How I hacked hundreds of companies through their helpdesk.
- 2017‑09‑22:
Seveneves and the Roche limit.
- 2017‑09‑22:
"The moon blew up without warning and for no apparent reason": a simulation.
- 2017‑09‑22:
Golang: Ten years and climbing.
- 2017‑09‑21:
Weather forecasting is better than it's ever been.
- 2017‑09‑21:
The extraordinary case of the Guevedoces, whose penises do not grow until puberty.
- 2017‑09‑21:
Parents, children, CDS/CDNSKEY records, and dnssec-cds.
- 2017‑09‑21:
Measuring the security of closed DNS resolvers by probing via SMTP.
- 2017‑09‑21:
Locks, Little's Law, and the universal scalability law.
- 2017‑09‑21:
Effects without monads: non-determinism.
- 2017‑09‑21:
CLKSCREW: attacking ARM TrustZone using security-oblivious energy management.
- 2017‑09‑21:
Booleans and enums.
- 2017‑09‑21:
Turning off Wi-Fi and Bluetooth in iOS 11's control center doesn't actually turn them off.
- 2017‑09‑21:
Inception drive: a compact, infinitely variable transmission for robotics.
- 2017‑09‑20:
jwz: "HTML email, was that your fault?"
- 2017‑09‑20:
Clocks and hardware design for software engineers.
- 2017‑09‑20:
A rare peek inside a 400Gbit/s Cisco network processor.
- 2017‑09‑20:
Brexit negotiations: how is the UK doing?
- 2017‑09‑20:
A longitudinal, end-to-end view of the DNSSEC ecosystem.
- 2017‑09‑20:
Allocation efficiency in high-performance Golang services.
- 2017‑09‑20:
Evolution of data structures in Yandex.Metrica.
- 2017‑09‑19:
Why Keccak is not ARX.
- 2017‑09‑19:
Fuzzing Tales 0x01: Yadifa DNS.
- 2017‑09‑19:
Offshoring roulette: lessons from outsourcing to India, China, and the Philippines.
- 2017‑09‑19:
Undercover police operation to catch close-pass overtaking reduced cyclist casualties by 20%.
- 2017‑09‑19:
An efficient academic journal.
- 2017‑09‑19:
Simple Set game proof stuns mathematicians, leading to advances in combinatorics.
- 2017‑09‑19:
To type or not to type: 15% of JavaScript bugs detectable by TypeScript or Flow.
- 2017‑09‑18:
Unix for TOPS-20 users. (1987)
- 2017‑09‑18:
Optionsbleed: HTTP OPTIONS method can leak a misconfigured Apache server's memory.
- 2017‑09‑18:
The future of HHVM, Facebook's fast PHPish runtime.
- 2017‑09‑17:
Fuchsia: Google's modular, capability-based, non-Unix operating system.
- 2017‑09‑17:
ptexplore: Linux process page table explorer.
- 2017‑09‑17:
Pirate black open access is trumping green and gold and we must change our approach to academic journals.
- 2017‑09‑17:
Root causes of TLS certificate errors for Google Chrome users.
- 2017‑09‑16:
Interview with Martha Wells about the second Murderbot book.
- 2017‑09‑16:
The week my husband left and my house was burgled I secured a grant to begin the BRCA1 project.
- 2017‑09‑16:
The Minskytron: early graphics demos on an in-browser PDP-1 emulator.
- 2017‑09‑16:
The Minsky circle algorithm.
- 2017‑09‑16:
proptest: Hypothesis-style property testing for Rust.
- 2017‑09‑16:
ZARM: the Bremen microgravity drop tower.
- 2017‑09‑16:
How not to land a SpaceX orbital rocket booster. (YouTube)
- 2017‑09‑16:
A working game of Tetris implemented in Conway's Game of Life.
- 2017‑09‑16:
LoRa backscatter: data transmission over >400m using <10μW.
- 2017‑09‑16:
A translation of the Polari in "Putting on the Dish".
- 2017‑09‑16:
A brief history of Polari: the curious after-life of the dead language for gay men.
- 2017‑09‑16:
e-dumper: the world's largest electric vehicle.
- 2017‑09‑15:
Where are you on the IPv6 adoption curve?
- 2017‑09‑15:
Rising CO2 and the great nutrient collapse.
- 2017‑09‑15:
Rich's B compiler
- 2017‑09‑15:
RFC 8187: the first RFC containing non-ASCII characters.
- 2017‑09‑15:
Building the DOM faster: speculative parsing, async, defer and preload.
- 2017‑09‑15:
Google's influence over its network of influencers.
- 2017‑09‑15:
Meet the font detectives who ferret out fakery.
- 2017‑09‑14:
migra: like diff for PostgreSQL schemas; migrations made almost painless.
- 2017‑09‑14:
The origins of malloc().
- 2017‑09‑14:
Compile-time Mandelbrot set in Rust.
- 2017‑09‑14:
Understanding the prevalence of web traffic interception.
- 2017‑09‑14:
Proporti.onl: gender distribution of people you follow and your followers on Twitter.
- 2017‑09‑13:
Formally verified cryptography for Firefox 57.
- 2017‑09‑13:
Flying economy class is so cramped it could be a death trap.
- 2017‑09‑13:
Here's what happens when you try to replicate climate contrarian papers.
- 2017‑09‑13:
Reconstruction of a train wreck: how priming research went off the rails. (Daniel Kahneman, Thinking Fast and Slow)
- 2017‑09‑12:
Announcing Topicbox: FastMail's new product for teams.
- 2017‑09‑11:
Nearby houses with "twin" street addresses.
- 2017‑09‑11:
White shark kayak: the origin of the fake picture of the shark in the flooded road.
- 2017‑09‑11:
A copyright vote that could change the EU's Internet.
- 2017‑09‑11:
The proposed European copyright directive's effects on open source software development.
- 2017‑09‑11:
How to find out if/why a server is dropping packets.
- 2017‑09‑10:
How f.root-servers.net has performed since Cloudflare joined its anycast cloud.
- 2017‑09‑10:
How Brexit will affect your human rights.
- 2017‑09‑10:
Louis C.K. would rather ignore those assault rumours, but at this point, he can't just let his art do the talking.
- 2017‑09‑10:
The problem with calling women 'females'.
- 2017‑09‑10:
Has the Voynich manuscript really been solved?
- 2017‑09‑10:
The Network and Information Systems Directive's effect on Internet companies in the UK.
- 2017‑09‑10:
Wren: a small, fast, class-based concurrent scripting language.
- 2017‑09‑10:
.uk domain transfers are scary.
- 2017‑09‑09:
The Corpus Christi prime.
- 2017‑09‑09:
Identity fraud, credit reports, and you.
- 2017‑09‑09:
Things found on GitHub: shell history.
- 2017‑09‑09:
A guide to filtered permeability.
- 2017‑09‑09:
On the discussion of security vulnerabilities. (1853)
- 2017‑09‑09:
Download 67,000 historic maps from Stanford's David Rumsey map collection.
- 2017‑09‑09:
The "premium mediocre" life of Maya Millennial.
- 2017‑09‑09:
A first look at CoreDNS.
- 2017‑09‑07:
The solution to the Voynich manuscript.
- 2017‑09‑07:
The Uncomfortable: a collection of deliberately inconvenient objects.
- 2017‑09‑07:
serve-stale in BIND: Akamai's contribution to DNS / Internet resiliency.
- 2017‑09‑07:
Infosec incident response: protecting individual rights under the GDPR.
- 2017‑09‑07:
In defence of NAT.
- 2017‑09‑07:
Optimizing nginx on Linux for high throughput and low latency at Dropbox.
- 2017‑09‑07:
Librsvg's build infrastructure: autotools and Rust.
- 2017‑09‑07:
5 tips for writing small CLI tools in Rust.
- 2017‑09‑07:
Mison: a fast non-FSM-based JSON parser.
- 2017‑09‑07:
Performance evaluation of elfmalloc, a general-purpose malloc() replacement written in Rust.
- 2017‑09‑06:
Surfing uncertainty: the predictive processing model of human cognition.
- 2017‑09‑06:
British antifa before and after World War II.
- 2017‑09‑06:
Wind farms are not the bird slayers they're made out to be.
- 2017‑09‑06:
How to recognize burnout before you're burned out.
- 2017‑09‑06:
A serf on Google's farm.
- 2017‑09‑06:
Google: time to return to not being evil.
- 2017‑09‑06:
Wind is one of the cheapest sources of electricity, and it's getting cheaper.
- 2017‑09‑05:
Some were meant for C: the endurance of an unmanageable language.
- 2017‑09‑05:
Efficient air-conditioning beams heat into space.
- 2017‑09‑05:
Solaris to Linux migration 2017.
- 2017‑09‑05:
Is systemd's hand-rolled dbus-over-ssh tunnel a security worry?
- 2017‑09‑05:
Game of registrars: an empirical analysis of post-expiration domain name takeovers.
- 2017‑09‑05:
ansible-lint: Best practices checker for Ansible.
- 2017‑09‑05:
Invisible Manipulation: 10 ways our data is being used against us.
- 2017‑09‑05:
Zero-confirmation .uk domain hijacking with eNom.
- 2017‑09‑05:
SharknAT&To: grievous vulnerabilities in AT&T U-verse modems.
- 2017‑09‑04:
Clear Containers and CRI-O: a VM per Kubernetes container, without Docker.
- 2017‑09‑04:
Claude Shannon: mathematician, engineer, genius... and juggler?
- 2017‑09‑04:
The vacuity of postmodernist methodology.
- 2017‑09‑04:
Six year old PDF loop bug affects most major implementations.
- 2017‑09‑04:
Quantum reconstruction: rewriting the axioms of quantum theory from scratch, to understand what it all means.
- 2017‑09‑04:
Outlawing war? The Kellogg-Briand pact actually worked.
- 2017‑09‑04:
Multiple perspectives on technical problems and solutions: architecture review at Etsy.
- 2017‑09‑04:
Google cloud load balancer outage postmortem.
- 2017‑09‑04:
The Netherlands: an agricultural giant showing what the future of farming could look like.
- 2017‑09‑03:
Is there a winning strategy in Tetris? (For modern versions, yes.)
- 2017‑09‑03:
Is there winning strategy in Tetris? (In general, no.)
- 2017‑09‑03:
Perl as PID 1 under Docker.
- 2017‑09‑03:
An introduction to managing secrets safely with version control systems.
- 2017‑09‑02:
Brexit talks cannot succeed.
- 2017‑09‑02:
LuaTeX comes of age.
- 2017‑09‑01:
Barriers to equality in academia: women in computer science at MIT. (1983)
- 2017‑09‑01:
F*: an ML-like functional programming language aimed at program verification.
- 2017‑08‑31:
Following Hurricane Katrina, an amazing decade of climate research.
- 2017‑08‑31:
Does disabling Wi-Fi prevent my Android phone from sending Wi-Fi frames?
- 2017‑08‑31:
Reducing Python's startup time.
- 2017‑08‑31:
Concurrent JavaScript: It can work!
- 2017‑08‑30:
Gifpop: turn your GIFs into lenticular prints.
- 2017‑08‑30:
A Polaroid-style Raspberry Pi camera that prints a GIF instantly.
- 2017‑08‑30:
"Torrential": a cruelly ironic etymology.
- 2017‑08‑30:
Relaxed-memory concurrency synchronization patterns.
- 2017‑08‑30:
Fully automatic DNSSEC delegation updates at CZ.NIC with FRED and Knot.
- 2017‑08‑30:
Urban maths: tipping point, or, what is the bias of perfect dice?
- 2017‑08‑30:
Eyes change over time, thwarting iris scanners.
- 2017‑08‑30:
How to use `dig` to find details of the Google Public DNS cluster you are using.
- 2017‑08‑30:
Hurricane Harvey didn't come out of the blue. Now is the time to talk about climate change.
- 2017‑08‑30:
Don't fall for Babylonian trigonometry hype.
- 2017‑08‑29:
Fascinating experiments that show what happens when mercury and aluminium are combined. (video)
- 2017‑08‑29:
Hurricane Harvey is what climate change looks like.
- 2017‑08‑29:
How to make Python run as fast as Julia.
- 2017‑08‑28:
What makes a good REPL?
- 2017‑08‑28:
Disabling Intel ME 11 via undocumented US Government High Assurance Platform mode.
- 2017‑08‑28:
AWS Parameter Store: the right way to manage secrets with AWS.
- 2017‑08‑28:
6 months of working remotely taught me a thing or ten.
- 2017‑08‑28:
Akira Miyagawa live orchestral mashup: Beethoven's Symphony No. 5 vs Mambo No. 5. (YouTube)
- 2017‑08‑28:
On (respect for) children as autonomous human beings.
- 2017‑08‑28:
Attack of the 50 foot blockchain! Bitcoin, Ethereum, and smart contracts.
- 2017‑08‑27:
Where in Europe does an electric car reduce CO2 emissions?
- 2017‑08‑26:
Two spirits, one heart, five genders: how Europeans tried to extinguish Native American views on gender.
- 2017‑08‑26:
How the music of Rogue One links to A New Hope.
- 2017‑08‑25:
Better letterer: comic lettering tips.
- 2017‑08‑25:
How to piss off a failed super-soldier.
- 2017‑08‑25:
Threading the celestial needle: catching the Great American Eclipse at 35,000 feet.
- 2017‑08‑25:
VW's strike in Slovakia exposes a European divide.
- 2017‑08‑25:
Same day ACH: moving payments faster in the USA.
- 2017‑08‑25:
How American bank payments (ACH) work: A developer perspective.
- 2017‑08‑25:
Rules for new FPGA designers.
- 2017‑08‑25:
On crimes and punishments, torture and retribution, deterrence and Beccaria.
- 2017‑08‑25:
Enlightenment technology; A culture of growth: the origins of the modern economy.
- 2017‑08‑25:
On progress and historical change.
- 2017‑08‑24:
Here at the end of all things: on losing oneself in maps of fantasy worlds:
- 2017‑08‑24:
Got Phish: how/where to report malicious web sites.
- 2017‑08‑24:
What made the Moon? New ideas try to rescue a troubled theory.
- 2017‑08‑24:
We're racing towards another private debt crisis, so why did no one see it coming?
- 2017‑08‑24:
Rethinking the dbus message bus.
- 2017‑08‑24:
D as a better C.
- 2017‑08‑23:
The only 4 spaghetti recipes you'll ever need.
- 2017‑08‑23:
The beauty of Bresenham's algorithm.
- 2017‑08‑23:
Mathematicians tame rogue waves, illuminating future of LED lighting.
- 2017‑08‑22:
Hackers are the real obstacle for self-driving vehicles.
- 2017‑08‑22:
IPv6, large UDP packets, and the DNS.
- 2017‑08‑22:
Reverse engineering a 1970s DTMF dialler chip.
- 2017‑08‑22:
Typing with pleasure, and low latency.
- 2017‑08‑22:
Four MLs (and a Python).
- 2017‑08‑21:
Starting Star Wars: How George Lucas came to create a galaxy.
- 2017‑08‑21:
Inequality in the USA: understanding the historic divergence between productivity and a typical worker's pay.
- 2017‑08‑20:
Poland's oldest university denies Google's right to patent ANS compression.
- 2017‑08‑20:
How do I improve my storytelling?
- 2017‑08‑20:
"I teach dirty tricks": the explosives expert who shows armies how to deal with terrorists.
- 2017‑08‑20:
Everything you always wanted to know about optical fibre networking, but were afraid to ask.
- 2017‑08‑20:
BothanSpy and Gyrfalcon: CIA SSH hacking tools.
- 2017‑08‑19:
Why PS4 downloads are so slow.
- 2017‑08‑19:
A crash course on ML modules.
- 2017‑08‑19:
Linguistic antipatterns: what they are and how developers perceive them.
- 2017‑08‑19:
Towards a JavaScript binary AST.
- 2017‑08‑19:
Vue.js vs React.
- 2017‑08‑19:
What next in programming languages?
- 2017‑08‑19:
What a border collie taught a linguist about language.
- 2017‑08‑18:
NASA's sound suppression water system.
- 2017‑08‑18:
How Postgres makes transactions atomic.
- 2017‑08‑17:
Hands on with the SHACamp 2017 badge.
- 2017‑08‑17:
At last, a big, successful trial of probiotics.
- 2017‑08‑17:
Dilution of whisky and flavour: a molecular perspective.
- 2017‑08‑17:
The origin of complex life on Earth just got a little less mysterious.
- 2017‑08‑17:
Peanut allergy cured in majority of children in immunotherapy trial.
- 2017‑08‑16:
The dwarfs of our vocabulary: etymologies of small words.
- 2017‑08‑16:
APIs as infrastructure: future-proofing Stripe with versioning.
- 2017‑08‑15:
Iris: a scalable, accurate, and ethical method to measure global manipulation of DNS resolution.
- 2017‑08‑15:
The Meson build system, used by GTK/Gnome.
- 2017‑08‑15:
rustgo: calling Rust from Golang with near-zero overhead.
- 2017‑08‑14:
German universities take on Elsevier.
- 2017‑08‑14:
The reasons HMS Queen Elizabeth has two islands.
- 2017‑08‑14:
Consistent hashing with bounded loads.
- 2017‑08‑13:
A theory of jerks: Are you surrounded by fools? Are you the only reasonable person around?
- 2017‑08‑12:
Hyperscan: a high-performance PCRE-compatible multiple regex matching library.
- 2017‑08‑11:
OpenGeofiction: a map of an imaginary world, created by a community of worldbuilders.
- 2017‑08‑11:
The end of Libor.
- 2017‑08‑11:
British bank regulators are abandoning LIBOR, the benchmark for hundreds of trillions of dollars in financial transactions.
- 2017‑08‑11:
UX brutalism.
- 2017‑08‑11:
Small functions considered harmful.
- 2017‑08‑11:
Compromise on checkout: vulnerabilities in gIt and other SCM tools.
- 2017‑08‑11:
Crafting plausible fantasy maps.
- 2017‑08‑11:
Font-size: an unexpectedly complex CSS property.
- 2017‑08‑11:
Why Github can't host the Linux kernel.
- 2017‑08‑10:
Scrapmetal: scrap your boilerplate in Rust.
- 2017‑08‑10:
Why does Sattolo's algorithm produce a permutation with exactly one cycle?
- 2017‑08‑10:
For fans of the movie WARGAMES: a list of all the nuclear war scenarios stored in the W.O.P.R. computer.
- 2017‑08‑09:
IETF 99 DNS activity.
- 2017‑08‑08:
Approaching the physical limits of storage technology.
- 2017‑08‑08:
Counting quotient filter: making every bit count. (Better than Bloom filters!)
- 2017‑08‑08:
Localhost entries in DNS zones can lead to "same site" scripting web vulnerabilities.
- 2017‑08‑07:
Tolkien's map and the messed-up mountains of Middle-Earth.
- 2017‑08‑07:
"Not even wrong!" Why does nobody like pilot-wave theory?
- 2017‑08‑07:
Why don't more quantum physicists subscribe to pilot wave theory?
- 2017‑08‑07:
Pilot-wave quantum theory gains experimental support.
- 2017‑08‑07:
A brief history of quantum alternatives.
- 2017‑08‑07:
An 18th-century horse that Eclipsed all the others.
- 2017‑08‑07:
How do you find integer solutions to x/(y + z) + y/(x + z) + z/(x + y) = 4?
- 2017‑08‑07:
Why many smart contract use cases are simply impossible.
- 2017‑08‑07:
Prostitution decriminalized: Rhode Island's experiment.
- 2017‑08‑07:
Can a living creature be as big as a galaxy?
- 2017‑08‑05:
Optimizing HAMT (hash array mapped tries) for fast and lean immutable JVM collections.
- 2017‑08‑05:
What the ctenophore says about the evolution of intelligence.
- 2017‑08‑05:
Which DNS registries offer the best protection for domain owners?
- 2017‑08‑04:
The slow currentTimeMillis().
- 2017‑08‑04:
The languages which almost became CSS.
- 2017‑08‑04:
The development of Chez Scheme.
- 2017‑08‑03:
306 million freely downloadable pwned passwords.
- 2017‑08‑03:
Elsevier acquires bepress, increasing its hold on open access and institution repositories.
- 2017‑08‑03:
Users, clients, and servers: the robustness principle and the web.
- 2017‑08‑02:
TypeScript's type system is Turing complete.
- 2017‑08‑02:
IBM and Sony cram up to 330 terabytes into tiny tape cartridge.
- 2017‑08‑02:
A practical guide to SQL transaction isolation levels.
- 2017‑08‑02:
RTFM v2: real-time for the masses on a Cortex-M with Rust.
- 2017‑08‑02:
Parsing NES ROM headers with nom and Rust.
- 2017‑08‑02:
Grokking Diesel, Rust's ORM.
- 2017‑08‑01:
Brexiteers using Ireland.
- 2017‑08‑01:
New evidence of British torture could overturn Northern Ireland ruling that became a blueprint for US torture.
- 2017‑08‑01:
Review: Nabokov's favorite word is mauve: what the numbers reveal about [] writing.
- 2017‑08‑01:
US DoD encyclopedia of ethical failure.
- 2017‑08‑01:
see-phit: A C++ HTML template engine that uses compile time HTML parsing.
- 2017‑08‑01:
Recursives in the wild: engineering authoritative DNS servers.
- 2017‑07‑31:
Ending the anomaly: achieving low latency and airtime fairness in WiFi.
- 2017‑07‑31:
Dolphin Nintendo emulator ubershaders: a ridiculous solution to an impossible problem
- 2017‑07‑30:
Medicine's women problem.
- 2017‑07‑30:
A rant on usable security: run-time sandboxes from static analysis?
- 2017‑07‑29:
No Dunkirk spirit can save Britain from Brexit defeat.
- 2017‑07‑29:
An effective attack against the Argon2i hash function.
- 2017‑07‑29:
The Evolution of Trust: a game to teach game theory.
- 2017‑07‑29:
sandsifter: the x86 processor fuzzer.
- 2017‑07‑28:
Confession of a C/C++ programmer.
- 2017‑07‑28:
How to remove systemd from a Debian installation.
- 2017‑07‑28:
Farewell to systemd.
- 2017‑07‑28:
Sci-Hub's cache of pirated papers is so big, subscription journals are doomed, data analyst suggests.
- 2017‑07‑28:
Project Snowflake: non-blocking safe manual memory management in .NET.
- 2017‑07‑27:
Bodging: making chair legs around High Wycombe.
- 2017‑07‑27:
How to set up a cheap Chromebook for software development when travelling.
- 2017‑07‑26:
Why Is the Internet Archive painstakingly preserving Ted Nelson's junk mail?
- 2017‑07‑26:
Using BGP to acquire bogus TLS certificates.
- 2017‑07‑26:
Defining the undefinedness of C.
- 2017‑07‑25:
Why we rewrote Lua in JavaScript, to run in the browser.
- 2017‑07‑25:
Karn: an admin-friendly tool for creating seccomp and apparmor profiles.
- 2017‑07‑25:
A homemade robot that can crack a safe in 15 minutes. (video)
- 2017‑07‑25:
Esperanto: european or asiatic language?
- 2017‑07‑25:
gocmdpev: A command-line PostgreSQL query visualizer in Golang.
- 2017‑07‑25:
Snopes faces an ugly legal battle.
- 2017‑07‑24:
Fingerprint-based detection of DNS hijacks using RIPE Atlas.
- 2017‑07‑24:
Burglary, robbery, kidnapping and a shoot-out over... a domain name?!
- 2017‑07‑24:
Anthony Burgess' lost dictionary of slang.
- 2017‑07‑23:
Fast-key-erasure random-number generators.
- 2017‑07‑23:
How economists rode maths to become our era's astrologers.
- 2017‑07‑23:
mod_md: built-in Let's Encrypt (ACME) support for Apache httpd.
- 2017‑07‑23:
The future of education is plain text.
- 2017‑07‑22:
The incredible shitness of Solidity, the Ethereum progamming language.
- 2017‑07‑22:
SQLCipher: encrypted SQLite database store.
- 2017‑07‑22:
Free-libre / open source software (FLOSS) is commercial software.
- 2017‑07‑22:
colorForth replaces punctuation with colours.
- 2017‑07‑22:
Monospaced programming fonts with ligatures.
- 2017‑07‑21:
Long term data storage will be much less free than it used to be.
- 2017‑07‑21:
Is "information is physical" contentful?
- 2017‑07‑21:
Custom dynamically sized types are super annoying in Rust at the moment. (qp)
- 2017‑07‑21:
How to trick Symantec to revoke a cert with a fake private key, and how to check keys properly.
- 2017‑07‑20:
A FPGA friendly 32 bit RISC-V CPU implementation in SpinalHDL.
- 2017‑07‑20:
How devastating was the Black Death?
- 2017‑07‑20:
How Checkers was solved.
- 2017‑07‑20:
The hidden dungeons of the London Underground.
- 2017‑07‑20:
The mystery of the hanging S3 downloads: a TCP debugging tale.
- 2017‑07‑20:
Faces of open source software.
- 2017‑07‑20:
LeoCAD: LEGO model designer.
- 2017‑07‑20:
Undefined behavior and unsafe code guidelines for Rust.
- 2017‑07‑19:
Certified malice: phishing sites and TLS certs.
- 2017‑07‑19:
On the (perceived) value of EV TLS certs.
- 2017‑07‑19:
Fast complex arithmetic is complicated in C and C++.
- 2017‑07‑19:
Every place we used to think was a planet (until we knew better).
- 2017‑07‑19:
Playing for third place: the media vs database marketing.
- 2017‑07‑19:
Digital towbars for autonomous vehicles.
- 2017‑07‑18:
Bugs Everywhere: a distributed bugtracker with which code and bugs are tracked together.
- 2017‑07‑18:
A Mind at Play: how Claude Shannon invented the information age. (book review)
- 2017‑07‑17:
Introducing Log::ger, a low-overhead Perl logging module.
- 2017‑07‑17:
OVH 24h outage due to SAN failure following sudden power loss.
- 2017‑07‑17:
A deep dive into Multicore OCaml garbage collector.
- 2017‑07‑17:
Bangra: an LLVM-based programming infrastructure for high performance with multi-stage compilation at runtime.
- 2017‑07‑17:
Koka: a functional programming language with effect inference.
- 2017‑07‑17:
What are OCamlers' critiques of Haskell?
- 2017‑07‑17:
What are Haskellers' critiques of F# and OCaml?
- 2017‑07‑17:
Modular type classes.
- 2017‑07‑17:
Modular implicits for O'Caml.
- 2017‑07‑17:
Poly/ML: a multiprocessor implementation of Standard ML.
- 2017‑07‑17:
owl: an OCaml numerical library.
- 2017‑07‑16:
hobbes: Morgan Stanley's Haskell-like programming language.
- 2017‑07‑16:
git-dit: a decentralized issue tracker for git.
- 2017‑07‑16:
Do you know what a stinkpipe is?
- 2017‑07‑15:
Beginner-friendly Vulkan graphics API tutorials.
- 2017‑07‑15:
Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized.
- 2017‑07‑15:
Password Store aka pass: the standard Unix password manager.
- 2017‑07‑15:
rax: A radix tree implementation in ANSI C for Redis.
- 2017‑07‑15:
Real system failures at NASA.
- 2017‑07‑14:
Life in a universe with 2 time dimensions.
- 2017‑07‑14:
Why 1Password is no longer recommended by security experts.
- 2017‑07‑13:
Towards Golang 2.
- 2017‑07‑13:
Understanding the .io TLD's DNS configuration vulnerability.
- 2017‑07‑13:
binctr: getting towards real sandbox containers.
- 2017‑07‑13:
Orpheus's Lyre puts Kerberos to sleep!
- 2017‑07‑13:
The Facebook algorithm mom problem.
- 2017‑07‑13:
Superconducting quantum levitation on a 3π Möbius strip. (YouTube)
- 2017‑07‑13:
How Discord scaled Erlang/Elixir to 5,000,000 concurrent users.
- 2017‑07‑12:
The cost of hard drives in recent years.
- 2017‑07‑12:
A French mathematician has proved that we know all kinds of convex pentagons that tile the plane.
- 2017‑07‑12:
Renaming of the University of Cambridge Computer Laboratory.
- 2017‑07‑12:
Life is about to get a whole lot harder for websites without HTTPS.
- 2017‑07‑12:
Rewriting Zopfli from C to Rust.
- 2017‑07‑12:
The semver trick: how to avoid complicated coordinated library API upgrades in Rust.
- 2017‑07‑12:
Looking at DNS traces: What do we know about resolvers?
- 2017‑07‑12:
Antarctic ice shelf Larsen C calves trillion ton iceberg.
- 2017‑07‑12:
ES6 In Depth: Symbols.
- 2017‑07‑12:
Linux and GPL defense: "once the lawyers are involved, you have lost".
- 2017‑07‑12:
Vector packet processing (VPP): one terabit software router.
- 2017‑07‑12:
Is decentralized storage sustainable?
- 2017‑07‑12:
Unjust, unreasonable, and unduly discriminatory: electric utility rates and the campaign against rooftop solar.
- 2017‑07‑11:
Office and residential buildings use more energy per square metre of floor area the taller they are.
- 2017‑07‑11:
Turning tweets into vector images.
- 2017‑07‑11:
The .io error: a problem with bad optics, but little substance.
- 2017‑07‑11:
Evolution of the LEGO logo.
- 2017‑07‑11:
LLVM x86 backend can introduce branches that depend on uninitialized values, upsetting valgrind.
- 2017‑07‑11:
How Rust is tested.
- 2017‑07‑11:
A more detailed report of the Gandi domain hijacking incident.
- 2017‑07‑10:
Smooth as butter: achieving 60 FPS animations with CSS3.
- 2017‑07‑10:
The .io error: don't make your TLD name servers available for others to register.
- 2017‑07‑10:
aRrgh: a newcomer's (angry) guide to R.
- 2017‑07‑10:
Next-generation Subversion unveiled.
- 2017‑07‑10:
Hello, United Kingdom, it's the United States of America here, and we need to talk.
- 2017‑07‑10:
Security improvements in Linux v4.12.
- 2017‑07‑10:
Dynamic tracing in Linux user and kernel space.
- 2017‑07‑10:
Linux tracing systems and how they fit together.
- 2017‑07‑10:
Windows 10 process exit performance regression: 24-core CPU and I can't move my mouse.
- 2017‑07‑10:
"I no longer feel like I can trust `init` to do the sane thing." - Linus.
- 2017‑07‑09:
Why people from Manchester are Mancunians, and other demonyms.
- 2017‑07‑09:
Postgres job queues and failure by MVCC.
- 2017‑07‑09:
The language server protocol (LSP/RLS) and IDEs.
- 2017‑07‑09:
Minimal PDF.
- 2017‑07‑09:
Stop using JWT for sessions.
- 2017‑07‑09:
Benchmarking nftables vs iptables.
- 2017‑07‑09:
Dos and don'ts on designing for accessibility.
- 2017‑07‑08:
PyData 101: everything you need to know to get started in data science in Python.
- 2017‑07‑08:
Yours or mine? Making personal pronouns consistent in user interface design.
- 2017‑07‑08:
DJI is locking down its drones against a growing army of DIY hackers.
- 2017‑07‑08:
Zoomable map of greenbelt in England.
- 2017‑07‑07:
35 practical steps men can take to support feminism.
- 2017‑07‑07:
Report on 7 July 2017 Gandi domain hijacking incident.
- 2017‑07‑07:
Pragmatic Debian packaging.
- 2017‑07‑07:
Right To Know: the long path to Rights of Way data for Cambridgeshire.
- 2017‑07‑07:
GitLab: 2/3 of the self-hosted git market, next-generation CI system, and Auto DevOps.
- 2017‑07‑07:
TSIG authentication bypass through signature forgery in ISC BIND.
- 2017‑07‑07:
TSIG authentication bypass for zone transfer operations in ISC BIND.
- 2017‑07‑07:
TSIG authentication bypass through signature forgery in Knot DNS.
- 2017‑07‑06:
An Internet Archive hidden service attacked over Tor.
- 2017‑07‑06:
MySQL infrastructure testing automation at GitHub.
- 2017‑07‑06:
Let's Encrypt will start issuing DNS-validated wildcard TLS certificates from January 2018.
- 2017‑07‑06:
The new TRust-DNS resolver.
- 2017‑07‑06:
Why undefined behavior for infinite loops?
- 2017‑07‑06:
The third thumb.
- 2017‑07‑06:
ARIA: markup for accessible rich internet applications.
- 2017‑07‑06:
Web accessibility according to actual people with disabilities.
- 2017‑07‑06:
Rust's 2017 roadmap, six months in.
- 2017‑07‑06:
Language server protocol (lsp), Rust RLS, and Emacs.
- 2017‑07‑05:
Dart gets a type system.
- 2017‑07‑05:
A brief history of the O'Reilly animals.
- 2017‑07‑05:
Refining expression evaluation order for idiomatic C++.
- 2017‑07‑05:
Undefined behavior in 2017.
- 2017‑07‑05:
A bug story: undefined behaviour and pointer (mis)alignment on x86.
- 2017‑07‑04:
WiFi232: an Internet Hayes modem for your retro computer.
- 2017‑07‑04:
Sliding right into disaster: side-channel leak leads to complete break of RSA-1024 in libgcrypt.
- 2017‑07‑04:
Let's Encrypt numbers to know.
- 2017‑07‑04:
fzf: A command-line fuzzy finder written in Golang.
- 2017‑07‑03:
Your revolution was dumb and it filled us with refugees: A Canadian take on the American Revolutionary War.
- 2017‑07‑03:
The capital sharp S is now part of the official German orthography.
- 2017‑07‑03:
Wibbly-wobbly magnetic fusion stuff: The return of the stellarator.
- 2017‑07‑03:
That is not dead which can eternal lie: the aestivation hypothesis for resolving Fermi's paradox. (FAQ)
- 2017‑07‑03:
Dissolving the Fermi paradox: the Drake equation as a probability density function.
- 2017‑07‑03:
Galois theory for beginners, through the unsolvability of the quintic.
- 2017‑07‑03:
Why is the quintic unsolvable?
- 2017‑07‑02:
New measurement will help redefine international unit of mass.
- 2017‑07‑02:
Memory use in CPython and MicroPython.
- 2017‑07‑02:
Pony: deny capabilities for safe, fast actors.
- 2017‑07‑02:
Beyond public key encryption.
- 2017‑07‑02:
"I have no idea what I'm doing": on the difficulty of deploying HTTPS.
- 2017‑07‑02:
Dexter: automatic indexer for PostgreSQL.
- 2017‑07‑02:
Hypothetical indexes for PostgreSQL.
- 2017‑07‑02:
The 5 best punctuation marks in literature.
- 2017‑07‑02:
Starfish Prime: a 1.4 megaton nuclear test in space.
- 2017‑07‑01:
Skylake bug: a detective story.
- 2017‑07‑01:
That terrifying photo from Los Alamos nuclear weapons laboratory took a hidden toll on America's arsenal.
- 2017‑07‑01:
QuickselectAdaptive: fast deterministic selection.
- 2017‑07‑01:
ska_sort: a fast radix sort.
- 2017‑07‑01:
Fun with branch (mis-)prediction and imbalanced quicksort pivots.
- 2017‑07‑01:
In-place merge sort.
- 2017‑07‑01:
pdqsort: Pattern-defeating quicksort.
- 2017‑07‑01:
Effectively using Matplotlib.
- 2017‑07‑01:
SKIP LOCKED in PostgreSQL 9.5: Most work queue implementations in SQL are wrong.
- 2017‑07‑01:
Rotate the Mercator projection.
- 2017‑06‑30:
How do whales and dolphins sleep without drowning?
- 2017‑06‑30:
This is how sperm whales sleep.
- 2017‑06‑30:
100 million certificates issued by Let's Encrypt.
- 2017‑06‑30:
A new Concurrent ML for Guile Scheme.
- 2017‑06‑30:
Morton order matrices deserve support from compilers.
- 2017‑06‑30:
How do you cut a monolith in half? Not with a message broker.
- 2017‑06‑29:
Why is NumPy only now getting funded?
- 2017‑06‑29:
Frinkiac: Simpsons full text search.
- 2017‑06‑29:
Simpsons full text search.
- 2017‑06‑28:
Writing parsers like it's 2017, with Rust and nom.
- 2017‑06‑28:
Designing Kerberos: a dialogue in four scenes.
- 2017‑06‑28:
Never use DNS TTL of zero.
- 2017‑06‑28:
About ELF auxiliary vectors.
- 2017‑06‑28:
EBL: a block list of spam reply-to email addresses.
- 2017‑06‑28:
A whirlwind tour of rustdoc.
- 2017‑06‑28:
How `for` and `while` differ wrt the borrow checker in Rust.
- 2017‑06‑28:
CAP: Don't settle for eventual consistency.
- 2017‑06‑28:
Kill sticky web page headers.
- 2017‑06‑28:
The three projections of Doctor Futamura.
- 2017‑06‑27:
Why have all 95 of England's high-rise towers tested so far failed fire safety tests?
- 2017‑06‑27:
Growing fibers from delimited continuations in Guile.
- 2017‑06‑27:
How not to do things with words: The BBC sub-committee for the invention of new words (1935-1937).
- 2017‑06‑27:
Microsoft explains how (not) to encrypt and decrypt a file with Visual C#.
- 2017‑06‑27:
The average number of ops to quicksort n items is approximately 10 times the nth prime number.
- 2017‑06‑27:
The sad story of the vCard format and its lack of interoperability.
- 2017‑06‑27:
Robert Maxwell and the staggeringly profitable business of scientific publishing.
- 2017‑06‑26:
Xandikos: a git-backed CalDAV/CardDAV server.
- 2017‑06‑26:
Streaming combinators and extracting flat parallelism in the Futhark functional array programming language.
- 2017‑06‑26:
Literate SQL using the WITH clause.
- 2017‑06‑26:
25 microchips that shook the world.
- 2017‑06‑25:
Making the Internet Archive's full text search faster.
- 2017‑06‑25:
What can developers learn from being on call?
- 2017‑06‑25:
American national standard safety code and requirements for dry Martinis.
- 2017‑06‑25:
The Bakerloo is the hottest London Underground line.
- 2017‑06‑25:
Why your dockerized application isn't receiving signals.
- 2017‑06‑25:
Stack Clash: an ancient kernel hole is (not) closed.
- 2017‑06‑25:
The rise and fall of FireWire, IEEE 1394.
- 2017‑06‑25:
uncertainties: a Python calculator with error propagation.
- 2017‑06‑25:
Qalculate! the ultimate Linux desktop calculator.
- 2017‑06‑24:
Insect: a high precision scientific calculator with support for units of measurement.
- 2017‑06‑24:
Play Tetris over traceroute.
- 2017‑06‑23:
BGP nyan cat.
- 2017‑06‑23:
Why is the Internet so slow?!
- 2017‑06‑23:
Website global latency testing tool.
- 2017‑06‑23:
InspiroBot: an AI generating unique inspirational quotes for endless enrichment of pointless human existence.
- 2017‑06‑23:
Beyond memory safety with types in Rust.
- 2017‑06‑23:
Philip Coppola spends nearly 40 years illustrating New York City's subway stations.
- 2017‑06‑22:
Five things we have forgotten about Open Source.
- 2017‑06‑22:
Stack Clash disclosure post-mortem.
- 2017‑06‑22:
Severe weather Europe.
- 2017‑06‑22:
European severe weather database.
- 2017‑06‑22:
Dinosaurs vs flowers.
- 2017‑06‑21:
liblb: an empirical study of load balancing algorithms.
- 2017‑06‑21:
A critical problem: this plutonium photo should give you the creeps.
- 2017‑06‑21:
The latitude observatory at Ukiah, California.
- 2017‑06‑21:
DNSSEC validation algorithm support test.
- 2017‑06‑20:
Truffle, Graal, and Futamura: practical partial evaluation for high-performance dynamic language runtimes.
- 2017‑06‑20:
An ex-AAIB inspector discusses accident investigation and the Grenfell Tower fire.
- 2017‑06‑20:
JSON in PostgreSQL: the present and future.
- 2017‑06‑20:
Racking Mac Pros for web image optimization.
- 2017‑06‑20:
Ted Nelson's junk mail archive.
- 2017‑06‑19:
Cats are an extreme outlier among domestic animals.
- 2017‑06‑19:
Render the Mandelbrot Set with jq.
- 2017‑06‑19:
The stack clash: many local root vulnerabilities due to stack/heap confusion.
- 2017‑06‑19:
One-hour Mandelbrot: Creating a fractal on the vintage Xerox Alto.
- 2017‑06‑19:
How do you draw a circle? Clockwise, anticlockwise, handwriting and scripts.
- 2017‑06‑19:
A historical review of US contributions to the atomic redefinition of the SI second in 1967.
- 2017‑06‑19:
Improving DNS security: a measurement-based approach.
- 2017‑06‑19:
A patch for Postel's robustness principle.
- 2017‑06‑19:
sparsehash: C++ associative containers using popcount compressed arrays.
- 2017‑06‑19:
Simplicity Debt: the difficulty of adding generics to Golang.
- 2017‑06‑19:
Australian Tax Office SAN outage report.
- 2017‑06‑18:
Unambiguous Webpack config with Typescript.
- 2017‑06‑18:
Out for the Count: at the election counts in Edinburgh.
- 2017‑06‑18:
The remote branch triangle and Git's missing terminology.
- 2017‑06‑17:
"Because I moved 5 shirts"... portrait of an unexpected Twitter storm.
- 2017‑06‑17:
fwupd: updating firmware in Linux.
- 2017‑06‑17:
AppliedMicro's X-Gene 3 SoC begins sampling: a step up in ARM's server ambitions.
- 2017‑06‑17:
pASSWORD tYPOS and how to correct them securely.
- 2017‑06‑16:
Will AMD's Ryzen finally bring SHA extensions to Intel's CPUs?
- 2017‑06‑16:
Finding open DNS resolvers on IPv6.
- 2017‑06‑16:
NANOG discusses templating/automating network configuration.
- 2017‑06‑16:
Is SHA-3 slow?
- 2017‑06‑15:
The secret origin story of the iPhone.
- 2017‑06‑15:
If you write unsafe Rust, you should use compiletest.
- 2017‑06‑15:
Bugs you'll probably only have in unsafe Rust.
- 2017‑06‑14:
Strange Horizons - Utopia, LOL?
- 2017‑06‑14:
What stops IPv6 traffic in a dual-stack ISP?
- 2017‑06‑14:
Rust's MutexGuard was Sync when It should not have been: a data race bug found with formal methods.
- 2017‑06‑14:
Ten things Idris improved over Haskell.
- 2017‑06‑14:
hyper v0.11: Rust's HTTP server library is now based on Tokio async i/o.
- 2017‑06‑14:
Rust as a gateway drug to Haskell.
- 2017‑06‑13:
An introduction to Wayland.
- 2017‑06‑13:
The design and use of QuickCheck.
- 2017‑06‑12:
Initialization in C++ is bonkers.
- 2017‑06‑12:
Digging the graveyard of oil's past: decommissioning North Sea oil rigs.
- 2017‑06‑12:
#c0ffee is the colour: what real words are valid CSS hex RGB colours?
- 2017‑06‑12:
Secrets and LIE-abilities: the state of modern secret management.
- 2017‑06‑12:
PostgreSQL set_user extension: swap to/from a different role, with enhanced logging and control.
- 2017‑06‑12:
Cooling the Tube: engineering heat out of the London Underground.
- 2017‑06‑11:
How to write exciting conference talk proposals.
- 2017‑06‑11:
VirtualBox: are you getting your money's worth?
- 2017‑06‑11:
A PGP / GnuPG tutorial.
- 2017‑06‑11:
An introduction to timekeeping in Linux VMs.
- 2017‑06‑11:
Exploring /dev/input/.
- 2017‑06‑11:
tini: a tiny `init` for Docker containers.
- 2017‑06‑11:
Kubernetes patterns and anti-patterns.
- 2017‑06‑11:
Comdb2: Bloomberg's distributed RDBMS.
- 2017‑06‑10:
BitKeeper: the original distributed source management system, now open source (Apache 2.0).
- 2017‑06‑10:
How Turla malware abused satellites to stay under the radar.
- 2017‑06‑10:
Sushi = Beer ?! UTF8 bug fixes in MySQL 8.0.
- 2017‑06‑09:
Sachal Studios Orchestra (Pakistan): Take Five.
- 2017‑06‑09:
I/O efficient gzip compression with libpcap and funopen().
- 2017‑06‑09:
BIND and ISC DHCP bug DB opening up for guest users.
- 2017‑06‑09:
The L scripting language: C syntax, Perl features, Tcl implementation.
- 2017‑06‑09:
x86 approaching 40 and still going strong.
- 2017‑06‑09:
Intel fires warning shot at Qualcomm and Microsoft over Windows 10 ARM emulation in x86 birthday blog post.
- 2017‑06‑09:
HomeOffice rules: the mindset of the Home Office and its officials.
- 2017‑06‑08:
Christine de Pizan: a feminist writer in early 1400s France. (Radio 4)
- 2017‑06‑08:
Compressing pcap files with gzip, xz, and zstd.
- 2017‑06‑08:
Intelligent tracking prevention in WebKit.
- 2017‑06‑08:
A mathematical chronology.
- 2017‑06‑08:
How to understand the Wireless Diagnostics app on your Mac.
- 2017‑06‑08:
How to think about HTTP status codes.
- 2017‑06‑08:
Rust performance pitfalls.
- 2017‑06‑08:
Creating a distributed data centre architecture using Kubernetes and containers.
- 2017‑06‑08:
D-Expressions: Lisp power, Dylan style.
- 2017‑06‑08:
3D virtual tour of the national museum of computing at Bletchley Park.
- 2017‑06‑08:
State of the art in lightweight symmetric cryptography.
- 2017‑06‑08:
A formal Linux kernel memory-ordering model.
- 2017‑06‑08:
PEP 524: os.urandom() now blocks on Linux in Python 3.6.
- 2017‑06‑08:
3-year-olds consuming alternative milks are 1.5 cm shorter on average.
- 2017‑06‑08:
SyncPerf: categorizing, detecting, and diagnosing synchronization performance bugs.
- 2017‑06‑07:
Five years of IPv6: whither the next five?
- 2017‑06‑07:
A day without Javascript.
- 2017‑06‑07:
You are not Google, or Amazon, or LinkedIn.
- 2017‑06‑07:
Performance improvements in .NET Core 2.0.
- 2017‑06‑07:
Network automation do's and don'ts.
- 2017‑06‑07:
State of IPv6 deployment 2017.
- 2017‑06‑07:
WebKit JavaScriptCore optimizations for ES6.
- 2017‑06‑06:
The Boom hierarchy.
- 2017‑06‑06:
Comprehending ringads.
- 2017‑06‑06:
pgBadger: log analyzer for PostgreSQL.
- 2017‑06‑06:
DocuColor printer tracking dot decoding guide.
- 2017‑06‑06:
Printer dots: how The Intercept outed NSA leaker Reality Winner.
- 2017‑06‑06:
A powerful study that bolsters the lead-crime hypothesis.
- 2017‑06‑05:
IBM unveils world's first 5nm chip.
- 2017‑06‑05:
A history of the birth of the IBM PC.
- 2017‑06‑05:
An epoxy potted homebrew OCXO.
- 2017‑06‑05:
A homebrew OCXO.
- 2017‑06‑05:
Kubernetes: more like jazz improv than orchestration.
- 2017‑06‑04:
Mup: music publication software.
- 2017‑06‑04:
ARM pointer authentication on Linux.
- 2017‑06‑03:
Tilting titling: direction of printing on spines of books.
- 2017‑06‑03:
U.Texas information security office policy on food provisioning at meetings.
- 2017‑06‑03:
32-bit x86 position independent code is really bad.
- 2017‑06‑03:
Multi-threaded setuid on Linux.
- 2017‑06‑03:
Don't mix Linux namespace switching and goroutines.
- 2017‑06‑03:
The evolution of code deploys at Reddit.
- 2017‑06‑03:
JSON-LD is about linked data for better Web APIs, not the Semantic Web.
- 2017‑06‑03:
Please, enough with the dead butterflies!
- 2017‑06‑03:
What really happened with Vista.
- 2017‑06‑02:
Cryptographic hash functions and indifferentiability.
- 2017‑06‑02:
A real steam-powered simplified difference engine. (YouTube)
- 2017‑06‑02:
U 2 can U2F.
- 2017‑06‑02:
Little's Law and the universal scalability law.
- 2017‑06‑02:
Progress with Python's GILectomy.
- 2017‑06‑02:
Cambridge North station is covered in Rule 30!
- 2017‑06‑01:
Pinboard acquires Del.icio.us.
- 2017‑06‑01:
A guide to the many flavours of TeX.
- 2017‑05‑31:
SHA-3 should probably not be used.
- 2017‑05‑31:
Seville shows what makes a city great for cycling: the number of cycleways, or their connectivity?
- 2017‑05‑31:
New DNS infrastructure at GitHub.
- 2017‑05‑31:
Problems with OCSP stapling and Must-Staple and why certificate revocation is still broken.
- 2017‑05‑31:
HTTP/2 push is tougher than you might expect.
- 2017‑05‑31:
Federal Circuit loses again: US Supreme Court categorically rejects enforcement of post-sale patent restrictions.
- 2017‑05‑30:
Venus has very few volcanoes. Weirdly, this might be why it's as hot as hell.
- 2017‑05‑30:
Golden Carrots: Kenya's M-PESA, W3C's Web Payments, Australia's NPP.
- 2017‑05‑30:
What went wrong in the British Airways data centre?
- 2017‑05‑30:
DST causes an estimated 30 traffic accident deaths per year in the USA.
- 2017‑05‑30:
CalVer: calendar-based version numbers.
- 2017‑05‑30:
Conference speaking as a software vendor / talks as a product design tool.
- 2017‑05‑30:
Scaling Amazon Aurora at ticketea: compensating for DNS propagation delay.
- 2017‑05‑30:
Avert your eyes from the server "humping" trend in GPU compute chassis.
- 2017‑05‑29:
The atomic bomb considered as a Hungarian high school science fair project.
- 2017‑05‑29:
STEM: still no shortage of qualified people in the USA.
- 2017‑05‑29:
Book Review: The Entrepreneurial State.
- 2017‑05‑29:
The rise of the QR code and how it has forever changed China's social habits.
- 2017‑05‑29:
LLVM's shifty semantics.
- 2017‑05‑29:
The world Is running out of (the right kinds of) sand.
- 2017‑05‑29:
Hacking Golang's type system.
- 2017‑05‑29:
Jitterdämmerung
- 2017‑05‑29:
Harnessing the energy generated when freshwater meets saltwater.
- 2017‑05‑29:
View counting at Reddit, with Redis HyperLogLog, Kafka, and Cassandra.
- 2017‑05‑29:
What's the difference between the COM and EXE extensions?
- 2017‑05‑29:
Building the Lego Saturn V.
- 2017‑05‑29:
RFC 3484 address sorting is a bug: DNS resolution in Golang and Cgo.
- 2017‑05‑29:
Template for an outage post-mortem review document.
- 2017‑05‑28:
Trump stole the Davies coat of arms from the former owners of Mar-a-Lago.
- 2017‑05‑28:
SSD rowhammer: vulnerabilities in MLC NAND flash memory programming.
- 2017‑05‑28:
How to use conscious purpose without wrecking everything.
- 2017‑05‑27:
traintimes.org.uk performance notes.
- 2017‑05‑27:
Don't go to the doctor: PREVENT's effects on British muslims.
- 2017‑05‑27:
JOSE (Javascript Object Signing and Encryption) is a bad standard that everyone should avoid.
- 2017‑05‑26:
Faster command line tools in D, with simple TSV as an example.
- 2017‑05‑26:
Rocket Lab's Electron conducts inaugural flight from New Zealand.
- 2017‑05‑26:
Rocket Lab's New Zealand space launch is first from a private site.
- 2017‑05‑26:
uTT: lightweight and efficient MQTT broker. (WIP)
- 2017‑05‑26:
MH17 and the utility of NOTAMs.
- 2017‑05‑26:
Chrome won the browser war.
- 2017‑05‑26:
Simple and Happy: is Clojure dying, and what has Ruby got to do with it?
- 2017‑05‑25:
Let's Encrypt OCSP and issuance outage postmortem.
- 2017‑05‑25:
Why Flamingos are more stable on one leg than two.
- 2017‑05‑25:
Rust's built-in traits: the when, how, and why.
- 2017‑05‑25:
Saint Architeuthis is the patron saint of doomed sailors.
- 2017‑05‑25:
Meld: a visual diff and merge tool for developers
- 2017‑05‑25:
Linux kernel dentry cache growth causes performance problems.
- 2017‑05‑24:
Using TLS1.3 with OpenSSL.
- 2017‑05‑24:
Google buys a /12 IPv4 address block: further concentration of internet haves and have nots.
- 2017‑05‑24:
System programming in Rust: beyond safety.
- 2017‑05‑24:
Tutorial: CSV parsing with Rust.
- 2017‑05‑24:
Rocket Lab's first Electron launcher "It's a Test" is set to lift off from New Zealand.
- 2017‑05‑24:
Turning the database inside out with Apache Kafka and Samza.
- 2017‑05‑23:
1Password travel mode: protect your accounts when crossing borders.
- 2017‑05‑23:
Who owns England? Land ownership map.
- 2017‑05‑23:
Chaos Computer Club breaks iris recognition system of the Samsung Galaxy S8.
- 2017‑05‑23:
After seven years, Microsoft is finally fixing the "J" email bug.
- 2017‑05‑22:
HTTPS on Stack Overflow: the end of a long road.
- 2017‑05‑22:
On the Turing Completeness of PowerPoint. (YouTube)
- 2017‑05‑21:
Improving qsort worst case behaviour on OpenBSD, plus multipivot quicksort.
- 2017‑05‑21:
Six programming paradigms that will change how you think about coding.
- 2017‑05‑21:
SILE: a typesetter written in Lua.
- 2017‑05‑21:
CPU utilization is wrong.
- 2017‑05‑21:
Approximating sin(x) to 5 ULP with Chebyshev polynomials.
- 2017‑05‑21:
Pattern matching for Java.
- 2017‑05‑21:
Google PhotoScan takes glare-free pictures of pictures with a smartphone.
- 2017‑05‑21:
Prepack: partial evaluator for JavaScript.
- 2017‑05‑21:
Generating fantasy maps.
- 2017‑05‑21:
New in Debian Stretch: nftables.
- 2017‑05‑21:
Programming as a way of thinking.
- 2017‑05‑21:
Writing a new time series database for Prometheus.
- 2017‑05‑21:
fireflowers: advocating Rust, in the words of its practitioners.
- 2017‑05‑21:
How basic performance analysis saved us millions. (PostgreSQL, perf, flame graphs)
- 2017‑05‑20:
Escaping hell with monads.
- 2017‑05‑20:
ARM's ASL: architecture specification language.
- 2017‑05‑20:
XML parsing accelerator with Intel SSE4.
- 2017‑05‑20:
Generating datasets with varied appearance and identical statistics through simulated annealing.
- 2017‑05‑20:
Myth: it's easier to multiply and divide with Hindu-Arabic numerals than with Roman ones?
- 2017‑05‑20:
The politics of the NHS WannaCrypt ransomware outbreak.
- 2017‑05‑20:
An introduction to monoids with FizzBuzz.
- 2017‑05‑20:
Freshly Remember'd: Kirk drift.
- 2017‑05‑20:
Slovak Radio building.
- 2017‑05‑20:
Criticisms of RFC6979 deterministic ECDSA.
- 2017‑05‑20:
Where have all the insects gone?
- 2017‑05‑20:
Troublesome OCSP server outage handling in Apache.
- 2017‑05‑20:
CRLite: a scalable system for pushing all TLS X.509 certificate revocations to all browsers.
- 2017‑05‑19:
FizzBuzz in Haskell by embedding a domain-specific language.
- 2017‑05‑19:
Disable the GNU libstdc++ memory allocator to avoid leaks.
- 2017‑05‑19:
NVidia Tesla Volta data center GPU.
- 2017‑05‑19:
Monitoring PostgreSQL streaming slave lag.
- 2017‑05‑19:
Performance problems due to false dependency in Intel popcnt instruction.
- 2017‑05‑19:
How to restart MySQL fast: the difference between knowledge and experience.
- 2017‑05‑19:
pgsidekick: scheduler (pglater) and external tool invoker (pglisten) for PostgreSQL.
- 2017‑05‑19:
North Sea Wind Power Hub: A giant wind farm to power all of north Europe.
- 2017‑05‑19:
The replication crisis in psychology: Daryl Bem "proved" ESP is real, which means science is broken.
- 2017‑05‑19:
Replacing Disqus with Github comments.
- 2017‑05‑19:
Temporal tables PostgreSQL extension.
- 2017‑05‑19:
How Trump could get fired.
- 2017‑05‑19:
Swift is like Kotlin.
- 2017‑05‑19:
P-hacking "Mindless Eating", or how to send an entire life of research into question.
- 2017‑05‑19:
Let us paste passwords!
- 2017‑05‑19:
secure-operator: a DNS server proxy to Google's DNS-over-HTTPS.
- 2017‑05‑19:
Teller reveals his magical secrets.
- 2017‑05‑19:
The fold-and-cut problem: make any shape by folding paper flat and making one cut?
- 2017‑05‑18:
Cargo Rust crate registry format.
- 2017‑05‑18:
The quantum thermodynamics revolution.
- 2017‑05‑18:
Flang: a Fortran compiler based on the PGI front end and LLVM back end.
- 2017‑05‑18:
How to accidentally stop a global cyber attack. (WannaCry)
- 2017‑05‑18:
PlantNet: 'Shazam' for plants will identify French plants from a picture.
- 2017‑05‑18:
Sensible new password guidelines from NIST.
- 2017‑05‑18:
Cap'n Proto 0.6 Released: Two and a half years of improvements.
- 2017‑05‑18:
Remotely exploitable Javascript type confusion bug in privileged Microsoft Security Essentials AV scanner.
- 2017‑05‑18:
Rules for successful hotel Wi-Fi.
- 2017‑05‑18:
Caddy 0.10 released. (Golang http server)
- 2017‑05‑18:
go-audit: Slack's tool for syscall auditing at scale.
- 2017‑05‑18:
A Rust optimization guide.
- 2017‑05‑17:
Everything you need to know about HTTP security headers.
- 2017‑05‑17:
Getting started with headless Google Chrome.
- 2017‑05‑17:
How ssh got port 22.
- 2017‑05‑17:
"Me and SVG" - Amelia Bellamy-Royds.
- 2017‑05‑17:
Prolog under the hood: an honest look.
- 2017‑05‑17:
Fusion reactors: Not what they're cracked up to be.
- 2017‑05‑17:
VME broken on AMD Ryzen. (Affects 16bit virtual machines.)
- 2017‑05‑17:
How we fine-tuned HAProxy to achieve 2,000,000 concurrent SSL connections.
- 2017‑05‑17:
New LLVM JIT in Azul's Zing JVM.
- 2017‑05‑17:
The SQL layer in CockroachDB.
- 2017‑05‑17:
Kryptonite: an ssh agent on your phone with Touch ID authorization.
- 2017‑05‑17:
Intent to remove support in Google Chrome for commonName matching in X.509 certificates.
- 2017‑05‑17:
Aspirin and pandemic influenza mortality, 1918-1919: pharmacology, pathology, and historic evidence.
- 2017‑05‑17:
4chan: the skeleton key to the rise of Trump.
- 2017‑05‑16:
UPSERT race condition with MERGE on Microsoft SQL Server.
- 2017‑05‑16:
Fewer mallocs in curl.
- 2017‑05‑16:
Notation as a tool of thought. (Ken Iverson)
- 2017‑05‑16:
Akumuli storage engine design.
- 2017‑05‑16:
Is the preprocessor still needed in C++?
- 2017‑05‑16:
Wax worm caterpillars can dissolve plastic shopping bags surprisingly fast.
- 2017‑05‑15:
Check whether Intel AMT is enabled and provisioned under Linux.
- 2017‑05‑15:
Designing robust and predictable APIs with idempotency.
- 2017‑05‑13:
Physical separation of cyclists from traffic "crucial" to dropping injury rates, shows U.S. study.
- 2017‑05‑13:
How to reduce Lua boilerplate with D.
- 2017‑05‑12:
Optimal probabilistic cache stampede prevention.
- 2017‑05‑12:
A public key that crashes ssh-keygen. (2015)
- 2017‑05‑10:
Beware of the background colour of transparent pixels.
- 2017‑05‑10:
Truly seamless reloads with HAProxy: no more hacks!
- 2017‑05‑10:
A history of relay computers.
- 2017‑05‑09:
Innovation is an overrated ideology, say historians of technology. Maintenance means more to most peoples' lives.
- 2017‑05‑09:
Writing a fast hash table with a tiny memory footprint.
- 2017‑05‑08:
Migrating from Heroku to AWS.
- 2017‑05‑08:
Did Macron outsmart Russian hackers?
- 2017‑05‑07:
A dog that rescues cats.
- 2017‑05‑05:
Rediscovering the Intel AMT remote firmware authentication vulnerability.
- 2017‑05‑05:
Background and introduction to BBR TCP.
- 2017‑05‑03:
Programming as theory building. (Peter Naur)
- 2017‑05‑03:
LEGO Ideas 21309 NASA Apollo Saturn V.
- 2017‑05‑03:
The sandwich alignment chart.
- 2017‑05‑01:
Rust your ARM microcontroller!
- 2017‑05‑01:
Laffer curve: Everything right-wingers get wrong about trickle-down economics.
- 2017‑04‑30:
How Ireland achieved a crucial Brexit coup.
- 2017‑04‑29:
Sorting 2 tonnes of Lego.
- 2017‑04‑29:
luajit-bpf: Lua to eBPF compiler for easier in-kernel scripting.
- 2017‑04‑26:
File processing in Clojure (and Java) can easily become CPU bound.
- 2017‑04‑26:
Dynamic storage allocation: a survey and critical review. (1995)
- 2017‑04‑26:
How many disks can you add to a (virtual) Linux machine?
- 2017‑04‑25:
Capturing all the flags in BSidesSF CTF by pwning Kubernetes.
- 2017‑04‑25:
LSD microdoses make people feel sharper, and scientists want to know how.
- 2017‑04‑25:
Glob matching can be simple and fast (but often isn't).
- 2017‑04‑24:
Protect your management interfaces.
- 2017‑04‑24:
Tools as a catalyst for tech culture change.
- 2017‑04‑24:
Unicode character inspector.
- 2017‑04‑23:
Kava: A Java dialect with a uniform object model for lightweight classes.
- 2017‑04‑21:
Post-quantum RSA.
- 2017‑04‑21:
Design flaws in LastPass two factor authentication.
- 2017‑04‑21:
ARM releases a machine readable architecture specification.
- 2017‑04‑20:
Hellandizing: disciplined test point placement in server software.
- 2017‑04‑19:
MIT deploying IPv6 and selling off half of 18.0.0.0/8.
- 2017‑04‑19:
b.root-servers.net to begin anycast service and renumber.
- 2017‑04‑18:
Compact PAT trees (PATRICIA suffix tries).
- 2017‑04‑18:
Level-compressed tries: improved behaviour of tries by adaptive branching.
- 2017‑04‑18:
SILT (small index, large table): a memory-efficient, high-performance key-value store.
- 2017‑04‑18:
Theft and loss recovery for iOS users. (Passwords? Phone numbers? Credit cards?)
- 2017‑04‑18:
Prioritizing economics over democracy is crippling the U.S. economy.
- 2017‑04‑18:
"I thought I understood the American right. Trump proved me wrong."
- 2017‑04‑18:
How to know if you've sent a horrible tweet.
- 2017‑04‑18:
Angry Birds / Inglourious Basterds.
- 2017‑04‑17:
CVE-2017-7892: arithmetic overflow undefined behaviour leads to security vulnerability in Cap'n Proto.
- 2017‑04‑17:
Calling bullshit in the age of big data.
- 2017‑04‑17:
The invisible parts of CSS.
- 2017‑04‑17:
The origins of XXX as a FIXME comment marker.
- 2017‑04‑17:
The Dzhanibekov effect aka the tennis racket theorem: when the axis of rotation flips.
- 2017‑04‑17:
Inside the PHP 7 virtual machine.
- 2017‑04‑17:
Five reasons blog posts are of higher scientific quality than journal articles.
- 2017‑04‑17:
Cloning r/place in a weekend.
- 2017‑04‑17:
Debugging compilers with optimization fuel (applied to ghc / Haskell).
- 2017‑04‑16:
What is DevOps?
- 2017‑04‑16:
Ten simple rules for making research software more robust.
- 2017‑04‑15:
Optimizing struct size in Rust: a 6-month compiler development project.
- 2017‑04‑15:
Critical deficiencies in Jigsaw / JSR-376 Java platform module system.
- 2017‑04‑15:
Host key verification in golang SSH clients.
- 2017‑04‑15:
Who would go Nazi? (1941)
- 2017‑04‑14:
Leibniz, Bernoulli, and the logarithms of negative numbers.
- 2017‑04‑14:
What happens when the pager goes off?
- 2017‑04‑14:
The future of ad blocking.
- 2017‑04‑14:
A retrospective on the tech behind the IMDB message boards.
- 2017‑04‑13:
How Reddit built their epic r/Place 1st April stunt.
- 2017‑04‑13:
Intel Haskell research compiler.
- 2017‑04‑13:
Blender cheat sheet / quick reference poster.
- 2017‑04‑13:
Blender for hackers: 3D modeling is just like using vim.
- 2017‑04‑13:
Memory bandwidth per instruction.
- 2017‑04‑13:
High-performance rate limiting with RocksDB.
- 2017‑04‑11:
Linear lambda calculus and PTIME-completeness.
- 2017‑04‑11:
Typing the technical interview: solving 8 queens in the Haskell type system.
- 2017‑04‑11:
The Centennial Society's business reply pamphlet: how to break free from the junk mail industry.
- 2017‑04‑11:
In pursuit of perfection : thermocompensated quartz watches and their movements.
- 2017‑04‑11:
Banker Bob (still) can't get TLS right: a security analysis of TLS in leading UK banking apps.
- 2017‑04‑11:
A field guide to the American sandwich.
- 2017‑04‑10:
The BEAM Book: A description of the Erlang Runtime System ERTS and the virtual machine BEAM.
- 2017‑04‑10:
Setting up a failover Database for PostgreSQL.
- 2017‑04‑10:
Spotify's love/hate relationship with DNS.
- 2017‑04‑10:
Using the PostgreSQL TAP framework for testing extensions.
- 2017‑04‑10:
New features coming in PostgreSQL 10.
- 2017‑04‑10:
Brexit: economists will have the last word.
- 2017‑04‑06:
The Portlandification of pot.
- 2017‑04‑06:
How momentum speeds up gradient descent.
- 2017‑04‑06:
Lessons learned managing site reliability for some of the world's busiest gambling sites.
- 2017‑04‑06:
Exploiting Broadcom's Wi-Fi stack over the air.
- 2017‑04‑04:
Paul Vixie on good/bad ideas and interoperable implementations.
- 2017‑04‑04:
Education of a programmer.
- 2017‑04‑04:
Eventually-fair locking in WebKit.
- 2017‑04‑03:
The mess with internationalized domain names.
- 2017‑04‑03:
EuroLLVM 2017 review.
- 2017‑04‑03:
A retired German statistician proved the Gaussian correlation inequality, but the response was underwhelming.
- 2017‑04‑03:
Understanding how an OS uses a modern NIC.
- 2017‑04‑03:
Cloudflare now hosting f.root-servers.net
- 2017‑04‑03:
More bent horizon pictures by Aydın Büyüktaş.
- 2017‑04‑03:
Bent horizon projections of Manhattan.
- 2017‑04‑03:
The American West looks like a space habitat in these bent-horizon photos.
- 2017‑04‑02:
Pointing and calling in Japan's zero-accident total participation campaign.
- 2017‑04‑02:
Why Japan's rail workers can't stop pointing at things.
- 2017‑04‑02:
Microsoft is shutting down their open source hosting service CodePlex.
- 2017‑04‑02:
Jacobsen v. Katzer upheld enforceability of copyright conditions in the Artistic License.
- 2017‑04‑02:
Get lost in mega-tunnels dug by South American megafauna.
- 2017‑04‑01:
cgo is not Golang.
- 2017‑04‑01:
Filming mosquitoes reveals a completely new approach to flight.
- 2017‑04‑01:
Fuzzing is magic, or how to find a panic in Rust's regex library.
- 2017‑04‑01:
Capability-based computer systems.
- 2017‑04‑01:
Rate limiting with Nginx.
- 2017‑04‑01:
How to block rate-limited http traffic with Varnish.
- 2017‑04‑01:
Scaling a web API with rate limiters.
- 2017‑04‑01:
The exceptional beauty of Doom 3's source code.
- 2017‑04‑01:
John Carmack on functional programming in C++.
- 2017‑04‑01:
Trolls are winning the Internet. How do we defeat them?
- 2017‑04‑01:
UW professor: The information war is real, and we're losing it.
- 2017‑03‑31:
How not to cite academic software.
- 2017‑03‑31:
Special tools covering advanced topics for the experienced system administrator.
- 2017‑03‑31:
Learn redis the hard way (in production).
- 2017‑03‑30:
Daffowocky: a poetic mash-up.
- 2017‑03‑30:
Beej's Guide to Network Programming.
- 2017‑03‑30:
sedlisp: a Lisp implementation in sed.
- 2017‑03‑29:
Ravenserodd and other lost settlements of the East Yorkshire coast.
- 2017‑03‑28:
rsync's 32KB buffer size makes it slower than cp.
- 2017‑03‑28:
Use a 128KB buffer for efficient file copying on Linux.
- 2017‑03‑28:
Research Unix 8th / 9th / 10th editions released for non-commercial use.
- 2017‑03‑28:
Pi and the golden ratio, via Viète's formula.
- 2017‑03‑28:
Self-hosted, server-side MathJax.
- 2017‑03‑28:
KaTeX: Fast math typesetting for the web.
- 2017‑03‑27:
Qattara depression: flood the Sahara with water from the Mediterranean for hydroelectric power?
- 2017‑03‑27:
A historical survey of subroutine linkage and procedure call mechanisms.
- 2017‑03‑26:
A constructive look at TempleOS.
- 2017‑03‑26:
How Elsevier plans to sabotage Open Access.
- 2017‑03‑26:
Chasing the first arcade easter egg.
- 2017‑03‑26:
BEAMJIT: An LLVM based just-in-time compiler for Erlang.
- 2017‑03‑26:
C++17 feature comparisons.
- 2017‑03‑26:
Winter ISO C++ standards meeting: C++17 is complete.
- 2017‑03‑26:
Apple's new APFS has Unix-style "bag of bytes" filenames.
- 2017‑03‑25:
Hadoop has failed in a smoking heap of cost and complexity.
- 2017‑03‑25:
Czar of Bad Systems, responsible for changing dumb company rules.
- 2017‑03‑25:
Comprehensive and biaised comparison of OpenBSD and FreeBSD.
- 2017‑03‑25:
An detailed, eye-opening roadmap for meeting the Paris climate goals.
- 2017‑03‑24:
Research debt is the accumulation of missing interpretive labor.
- 2017‑03‑24:
OpenSSL switching to Apache License.
- 2017‑03‑23:
An empirical evaluation of in-memory multi-version concurrency control.
- 2017‑03‑23:
Peloton: building a new database management system in academia.
- 2017‑03‑22:
MyRocks: a RocksDB storage engine for MySQL.
- 2017‑03‑22:
Iago attacks: syscall return values can induce arbitrary computation in userland processes.
- 2017‑03‑22:
Hungarian secret agent reveals in detail how serious the Russian threat is.
- 2017‑03‑22:
attrs: the one Python library everybody needs.
- 2017‑03‑21:
Can ultraprecise time measurements warp space?
- 2017‑03‑21:
Put your Raspberry Pi NTP server in a padded envelope to improve temperature and frequency stability.
- 2017‑03‑21:
Git blame who?: stylistic authorship attribution of small, incomplete source code fragments.
- 2017‑03‑21:
Uber is being sued for avoiding VAT in the UK.
- 2017‑03‑20:
How not to do it: breaking up ammonium nitrate.
- 2017‑03‑20:
We can teach women to code, but that just exposes a deeper problem.
- 2017‑03‑20:
PostgreSQL 10 hash indexes are faster than Btree indexes?
- 2017‑03‑20:
DeepMind in talks with National Grid to reduce UK energy use by 10%.
- 2017‑03‑20:
Performance results of the Oscilloquartz optically pumped cesium beam clock.
- 2017‑03‑20:
Oscilloquartz high performance optically-pumped cesium beam clock.
- 2017‑03‑20:
Building a Hackintosh Pro.
- 2017‑03‑19:
Inside the vintage 74181 ALU chip: how it works and why it's so strange.
- 2017‑03‑19:
Every attempt to manage academia makes it worse.
- 2017‑03‑18:
badssl.com: a web site for testing clients against bad server SSL configs.
- 2017‑03‑18:
The million dollar AWS cost reduction.
- 2017‑03‑18:
Guetzli: a new open source JPEG encoder, produces smaller and better images, much slower.
- 2017‑03‑18:
The road to a free Europe goes through Moscow.
- 2017‑03‑18:
Information Wars: a window into the alternative media (Russian disinformation) ecosystem.
- 2017‑03‑18:
The bootstrapping mindset: seeking higher-level abstractions for the web.
- 2017‑03‑18:
Is your fancy