Link log versions
• <https://dotat.at/:/>
• landing pages
• Atom feed
• Dreamwidth links
• LiveJournal links
My other activity
• Dreamwidth blog
• work blog
• Twitter
everything
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
- 2021-01-27: What's the deal with Chromium on Linux? Google at odds with package maintainers.
- 2021-01-27: What color was "Apple Beige"?
- 2021-01-26: Strengths, weaknesses, opportunities, and threats facing the GNU Autotools.
- 2021-01-27: 12 requests per second in Python.
- 2021-01-26: Badger Seal mask fitter.
- 2021-01-26: Netflix and Spotify on a Raspberry Pi 4 with Chromium and Widevine.
- 2021-01-26: Postgres scaling advice for 2021.
- 2021-01-26: Window System Design: If James Gosling had it to do over again in 2002.
- 2021-01-26: System separation in the Continental Europe Synchronous Area on 8 January 2021.
- 2021-01-26: Firefox 85 cracks down on supercookies.
- 2021-01-25: The night two atomic bombs fell on North Carolina.
- 2021-01-26: LAMBDA: The ultimate Microsoft Excel worksheet function.
- 2021-01-25: Zig makes Golang (cgo) cross compilation Just Work.
- 2021-01-25: The PGM-index: a learned piecewise geometric model for small lookup indexes.
- 2021-01-24: DrScheme in space.
- 2021-01-24: Racket compiler and runtime status, January 2021.
- 2021-01-24: An incomplete list of mistakes in the design of CSS.
- 2021-01-24: Tim Hayward and COVID: 10 days on life support.
- 2021-01-24: Dissecting the Apple M1 GPU, part II.
- 2021-01-24: Libvirt: adoption of GLib library to replace GNULIB and home grown code.
- 2021-01-24: Use mmap() with care.
- 2021-01-22: Rust in production in 1Password.
- 2021-01-22: On the complexity of JSON serialization.
- 2021-01-22: What engineers can teach (and learn from) programmers.
- 2021-01-21: XTerm does graphics in Tektronix mode.
- 2021-01-21: The new database servers powering Let's Encrypt.
- 2021-01-21: How Corellium ported Linux to the Apple M1.
- 2021-01-21: Container networking is simple.
- 2021-01-21: picodvi: Bitbanged DVI on the RP2040 microcontroller.
- 2021-01-21: Datalegreya: interweave text and data.
- 2021-01-21: Parsing ASN.1: A troublesome problem?
- 2021-01-20: The year a "railway" ran inside Westminster Abbey.
- 2021-01-20: Software engineering is not special.
- 2021-01-20: Porting Firefox to Apple Silicon.
- 2021-01-20: Java on Truffle: going fully metacircular.
- 2021-01-20: An interactive review of the Oklab colour space.
- 2021-01-19: Cache poisoning vulnerabilities affect popular DNSmasq software.
- 2021-01-19: A high-speed computer vision pipeline for the universal LEGO sorting machine.
- 2021-01-19: Unicode superscript numeral rendering bugs.
- 2021-01-19: Down Underground: London Underground depth diagrams.
- 2021-01-18: Are programmers really engineers?
- 2021-01-18: BBC Micro Bot user guide.
- 2021-01-16: The problem with Gradle.
- 2021-01-16: Reverse engineering Prodigy.
- 2021-01-15: Fast commits for ext4.
- 2021-01-15: This was WhatsApp's plan all along.
- 2021-01-15: donut.c without a math library.
- 2021-01-15: Simplifying endian-specific file parsers in Rust with Omnom and type inference.
- 2021-01-15: Maybe you don't need Rust and WASM to speed up your JavaScript.
- 2021-01-14: A week with Plan 9.
- 2021-01-14: The most thoroughly commented linker script (probably).
- 2021-01-13: Use an iPhone as a webcam.
- 2021-01-13: OBS Studio: free and open source software for video recording and live streaming.
- 2021-01-13: Cross-language interfaces between C and C++.
- 2021-01-12: The ABCD family tree.
- 2021-01-12: Who invented the alphabet?
- 2021-01-12: Futhark design decisions I do not regret.
- 2021-01-12: Developing new metrics for tracking DNS root server traffic.
- 2021-01-12: SUNSPOT: an implant in the SolarWinds Orion build process.
- 2021-01-11: XTerm: it's better than you thought.
- 2021-01-11: The Earth has been spinning faster lately.
- 2021-01-10: Surprising ctags behaviour.
- 2021-01-10: The design of the Roland Juno synth oscillators.
- 2021-01-10: The truth about cast iron pans.
- 2021-01-09: Radamsa: a general-purpose black-box fuzzer.
- 2021-01-09: kAFL: hardware-assisted feedback fuzzing for OS kernels.
- 2021-01-09: Redqueen: fuzzing with input-to-state correspondence.
- 2021-01-09: Grimoire: synthesizing structure while fuzzing.
- 2021-01-09: Earth is turning faster than it has in a half-century, which could mean a negative leap second.
- 2021-01-09: Ray tracing in pure CMake.
- 2021-01-08: Rust's SemVer snares: sizedness and size.
- 2021-01-08: Exploring RustFFT's SIMD architecture.
- 2021-01-08: Dark side of POSIX APIs: handling siginfo_t in Rust.
- 2021-01-08: nonymous + bore: DNS toys for Rust.
- 2021-01-08: Generic associated types encode higher-order functions on types in Rust.
- 2021-01-08: An introduction to property-based testing in Rust with quickcheck.
- 2021-01-08: Smooth voxel terrain: isosurface extraction with marching cubes and surface nets.
- 2021-01-08: Metaballs and marching squares.
- 2021-01-08: A guide to rendering metaballs (aka blobs).
- 2021-01-08: Doing symbolic math with SymPy.
- 2021-01-08: Greybox automatic exploit generation for heap overflows in language interpreters.
- 2021-01-07: Google Chrome reduces its root DNS traffic.
- 2021-01-08: Quorum availability.
- 2021-01-07: Dissecting the Apple M1 GPU.
- 2021-01-07: Italian court rules that Deliveroo used a discriminatory algorithm.
- 2021-01-07: Xbox 20 year anniversary: an oral history.
- 2021-01-06: Simulating the PIN cracking scene in Terminator 2.
- 2021-01-06: An uncommon cold.
- 2021-01-05: Cryptographic key length recommendations.
- 2021-01-05: Tutorial on precompilation for Julia.
- 2021-01-04: Ditherpunk: the article I wish I had about monochrome image dithering.
- 2021-01-04: Dream Minecraft speedrun investigation results.
- 2021-01-04: FuzixOS: a Unix-like system for 8-bit micros.
- 2021-01-03: kgames: reviving very old X code.
- 2021-01-03: Rust design patterns.
- 2021-01-03: Zig in 30 minutes.
- 2021-01-03: A new release for GNU Octave.
- 2021-01-03: Medley Interlisp Common Lisp.
- 2021-01-03: On repl-driven programming.
- 2021-01-03: cargo-supply-chain: Gather author, contributor and publisher data on crates in your dependency graph.
- 2021-01-02: Game of Life on Penrose tiles.
- 2021-01-01: Seamless file descriptor transfer between Linux processes with pidfd and pidfd_getfd.
- 2021-01-01: Floating Point Leviathan: a game based on floating point precision errors.
- 2021-01-01: The hyperbezier pen tool
- 2021-01-01: Counting the days: the origin of Julian day numbers.
- 2021-01-01: Multiscale Turing patterns in WebGL.
- 2021-01-01: Tectonic: a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
- 2021-01-01: How I improve my C code quality.
- 2021-01-01: A look at Rust tokio 1.0 API changes.
- 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: Flow Browser preview on the Raspberry Pi 400.
- 2020-12-29: Why are video games graphics (still) a challenge? Productionizing rendering algorithms.
- 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: Adding BPF target support to the Rust compiler.
- 2020-12-17: Notes on cross-compiling Rust on a Mac for a Raspberry Pi.
- 2020-12-17: rpitx: radio transmission from a Raspberry Pi GPIO pin.
- 2020-12-17: Rust on the BBC micro:bit.
- 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: To the brain, reading computer code is not the same as reading language.
- 2020-12-16: What I wish someone had told me about tensor computation libraries.
- 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: XML round-trip vulnerabilities in the Golang standard library affecting SAML.
- 2020-12-14: Pointer provenance is complicated: we need better language specs.
- 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: The Galileo eccentric satellite surprise.
- 2020-12-08: Connecting an ASR33 Teletype to an ESP32.
- 2020-12-08: Where did combinators come from? Hunting the story of Moses Schönfinkel.
- 2020-12-06: Interval tree clocks.
- 2020-12-06: std::visit is everything wrong with modern C++
- 2020-12-06: Exotic Programming Ideas: Datalog and Souffle.
- 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: I am an 80 column purist.
- 2020-12-01: How many registers does an x86-64 CPU have?
- 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: Naming the Net: the Domain Name System, 1983-1990.
- 2020-12-01: The road to the Erlang JIT.
- 2020-12-01: Computer graphics from scratch.
- 2020-12-01: ARM and lock-free programming.
- 2020-11-30: Imaginary numbers are not real: the geometric algebra of spacetime.
- 2020-11-30: biVector.net: geometric algebra for computer graphics, vision, and engineering.
- 2020-11-30: ganja.js: geometric algebra for Javascript.
- 2020-11-30: Geometric algebra for computer graphics.
- 2020-11-28: Raytracing in one weekend.
- 2020-11-29: Summary of the Amazon Kinesis outage in the AWS us-east-1 region.
- 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: Rebuilding the Racket compiler with Chez Scheme.
- 2020-11-27: The most unusual murder weapons in crime fiction.
- 2020-11-27: 1.5 is the midpoint between 0 and infinity in Ruby.
- 2020-11-27: Clifford Algebra: A visual introduction.
- 2020-11-27: An introduction to geometric algebra.
- 2020-11-26: Testing a Rust crate's C API.
- 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: 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: Versor: a generic C++ library for geometric algebras.
- 2020-11-26: Electromagnetism using geometric algebra versus components.
- 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: How do people find bugs?
- 2020-11-25: Protect domains that don't send email.
- 2020-11-25: Mlang: a modern compiler for the French tax code.
- 2020-11-25: Making PostgreSQL stored procedures 9X faster in Citus.
- 2020-11-25: Preserving Flash: why emulation is better than migration.
- 2020-11-25: PAM bypass: when nullok is not OK.
- 2020-11-24: TypeScript performance.
- 2020-11-24: What went wrong with libdispatch: a cautionary tale for async concurrency.
- 2020-11-24: More subtle TCP performance problems due to Nagle's algorithm and delayed ACKs.
- 2020-11-23: Building your color palette.
- 2020-11-23: The origin of the MIT License.
- 2020-11-22: Even faster bash startup.
- 2020-11-22: What if the world is made of cubes? Uncovering the universal geometry of geology.
- 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-19: The usability of ownership in Rust.
- 2020-11-20: UNIX NEWS and ;login: archives from the 1970s.
- 2020-11-19: The C standard library is not dependency free (but part of Rust's is).
- 2020-11-19: Microsoft FrontPage: the good, the bad, the ugly.
- 2020-11-19: LambdaDelta: an emulator of the LMI Lambda Lisp Machine.
- 2020-11-19: Flash animations live forever at the Internet Archive.
- 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: I should have loved biology.
- 2020-11-19: On-demand linked libraries for Nix.
- 2020-11-19: Power-cycling a USB port should be simple, right?
- 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: Servo moves from Mozilla to the Linux Foundation.
- 2020-11-17: Skija graphics for JVM.
- 2020-11-17: 2020 Mac Mini: putting Apple Silicon M1 to the test.
- 2020-11-17: CXX.rs: safe interop between Rust and C++.
- 2020-11-17: The Rust performance book.
- 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: How do you write simple explanations without sounding condescending?
- 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-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: When 13.3 > 14.
- 2020-11-14: On the expressive power of programming languages.
- 2020-11-14: Warp: Improved JS performance in Firefox 83.
- 2020-11-14: We need less powerful languages.
- 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: Propeller: a framework for post-link optimizations.
- 2020-11-12: AndroWish: run Tcl/Tk programs on Android.
- 2020-11-12: Full-text search performance since PostgreSQL 8.3.
- 2020-11-12: PostgreSQL observability: a diagram of views and functions for inspecting your database.
- 2020-11-12: 40ms bug: a missing writev, Nagle's algorithm, and delayed ACKs.
- 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: Lox: a word that hasn't changed sound or meaning in 8,000 years.
- 2020-11-09: Turing incomplete languages.
- 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: Linear scan register allocation.
- 2020-11-05: Draft design for generic type parameters in Golang.
- 2020-11-05: UK's £55M MAST Upgrade fusion experiment (Mega Amp Spherical Tokamak) has achieved first plasma.
- 2020-11-05: A first look at the Erlang JIT.
- 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: Hyper-regional chippy traditions of Britain and Ireland.
- 2020-11-02: Two workers are quadratically better than one: modelling a queue with PRISM.
- 2020-11-02: Extreme bioinformatics debugging.
- 2020-11-02: Mac OS boot volume layout.
- 2020-11-01: NAT Slipstreaming: firewall bypass using SIP ALG.
- 2020-11-01: Flutter Web: a fractal of bad design.
- 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: XPath injection issues are severely underrated.
- 2020-10-30: A12: advancing network transparency on the desktop.
- 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: Errol: an always correct method for printing floating-point numbers.
- 2020-10-30: Errol: binary floating-point to decimal string conversion algorithm.
- 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-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: Why was Rachel Whiteread's House demolished?
- 2020-10-27: plocate: a much faster locate.
- 2020-10-27: samurai: a ninja-compatible build tool written in C.
- 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: GAP: a system for computational discrete algebra.
- 2020-10-25: PARI/GP: a computer algebra system for fast computations in number theory.
- 2020-10-24: Efficient text editing on a PDP-10.
- 2020-10-24: Four dangerous animals of product development.
- 2020-10-24: A new map of the standard model of particle physics.
- 2020-10-24: Static single assignment for functional programmers.
- 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: RPKI secure BGP routing Q&A.
- 2020-10-23: Deprecating SHA-1 in OpenPGP.
- 2020-10-23: jacl: just another configuration language.
- 2020-10-23: Avoiding overload in AWS distributed systems by putting the smaller service in control.
- 2020-10-23: Better than JSON?
- 2020-10-23: How Apple is organized for innovation.
- 2020-10-23: cson: CoffeeScript object notation.
- 2020-10-23: StrictYAML.
- 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: What's new in OAuth 2.1?
- 2020-10-22: Non-generic inner functions in Rust.
- 2020-10-22: The story behind Markdown.
- 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: 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 asymptotic cost of address translation on memory access time.
- 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: Lezer: a parser system in JavaScript.
- 2020-10-21: The myth of RAM.
- 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: Unifying the technical interview.
- 2020-10-15: Improving security in s2n, Amazon's TLS implementation.
- 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-11: GPU-accelerated ODE solving in R with Julia.
- 2020-10-12: Overloading by return type in C++.
- 2020-10-11: Why we need a C-compatible Rust crate for bitfields.
- 2020-10-10: Crux: exhaustive symbolic testing for C, C++, and Rust.
- 2020-10-10: Alphora-style database diagramming.
- 2020-10-10: Asterisk.
- 2020-10-10: Progress report on Rust Cranelift backend.
- 2020-10-10: CSV parser benchmark game.
- 2020-10-10: xchg rax, rax; x64 Assembly for the advanced.
- 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: Notes on reviving and extending Marvin, a typeface for Visions magazine.
- 2020-10-07: zheap: reinvented PostgreSQL storage.
- 2020-10-07: The origin of the VM/370 time-sharing system.
- 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: Q3 Linux touchpad like Macbook update.
- 2020-10-06: DOMPurify bypass: XSS via HTML namespace confusion.
- 2020-10-06: Telharmonium: the first significant electronic musical instrument.
- 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: Incompatible validation criteria for Ed25519.
- 2020-10-06: FAQs on aerosol transmission of COVID-19.
- 2020-10-06: s7: Scheme as an extension language for other applications.
- 2020-10-04: Type-level programming in Rust.
- 2020-10-04: Lambda calculus, Church numerals, and Graham's number.
- 2020-10-04: Revisiting a 'smaller Rust'.
- 2020-10-04: A future for debugging Rust.
- 2020-10-04: Drop order in Rust: it's tricky.
- 2020-10-04: Applying "make invalid states unrepresentable".
- 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: Dissecting Lemire's nearly divisionless random number generator.
- 2020-10-04: SaferNode: a Python script to isolate npm inside short-lived Docker containers.
- 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: Magic Wand Rechargeable teardown.
- 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: FreeBSD's Subversion to Git migration: Why?
- 2020-09-20: Taking MonetDB/e for a taxi ride.
- 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: Efficient parallel and incremental parsing of practical context-free languages.
- 2020-09-16: The plot against Birmingham.
- 2020-09-16: How America became obsessed with dips, sauces, dressings, and "food lube".
- 2020-09-16: USB-C was supposed to simplify, but it's a total mess.
- 2020-09-16: The missing datacenter OS.
- 2020-09-16: Reinventing virtualization with the AWS Nitro System.
- 2020-09-16: Tips for PostgreSQL bulk data loading.
- 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: Design out waste in household electrical goods.
- 2020-09-13: Diversity Explorer: ethnicity across England and Wales.
- 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: jsonptr: using the wuffs memory-safe, zero-allocation JSON decoder.
- 2020-09-02: The problem with C compatibility in C++.
- 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: Understanding the X.500 directory.
- 2020-09-01: How Arlo got injected into Ruby.
- 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: Writing a fuzzer test case generator in Rust for a programming language such as Wasm.
- 2020-08-24: Recent advances in IPv6 security: Addressing.
- 2020-08-24: BPF CO-RE: compile once, run everywhere for BPF portability.
- 2020-08-24: Draw your own fourier epicycles.
- 2020-08-24: Building resilient services at Amazon Prime Video with chaos engineering.
- 2020-08-24: Challenge to scientists: does your ten-year-old code still run?
- 2020-08-24: Here I stand, free: noexcept allocators and an inclusive C++ STL.
- 2020-08-24: Incident updates, interruptions and the 30 minute window.
- 2020-08-24: A clean start for the web?
- 2020-08-24: Javascript generators, meet XPath.
- 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-19: Leading-trim: a future CSS spec for better vertical spacing in digital typography.
- 2020-08-20: A documentation system: tutorials / howtos / reference / explanation.
- 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: Using a Yubikey as a touchless, magic unlock key for Linux.
- 2020-08-17: Responsible and effective bugfinding.
- 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: DNS problems with conntrack and Kubernetes.
- 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: 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: crush: a command line shell that is also a powerful modern programming language.
- 2020-08-07: Why shaving dulls even the sharpest of razors.
- 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: Low latency tuning guide for x86 Linux systems.
- 2020-08-02: Measuring linux performance: how to avoid typical mistakes.
- 2020-08-02: Rich: a Python library for rich text and beautiful formatting in the terminal.
- 2020-08-02: Measuring and examining TLS 1.3, IPv4, and IPv6 performance.
- 2020-08-02: Why are we using black box models in AI when we don't need to?
- 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: The lost history of PReP: Windows NT 3.5x on PowerPC and the RS/6000 40p.
- 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: The politics of optimism.
- 2020-08-01: Compressing authority with cryptographic accumulators.
- 2020-08-01: WordSafety: check a name for unwanted meanings in foreign languages.
- 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: Why are plants green? To reduce the noise in photosynthesis.
- 2020-07-31: Apple emails reveal internal debate on right to repair.
- 2020-07-30: How Dropbox migrated from Nginx to Envoy.
- 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: Refactoring the FreeBSD kernel with Checked C.
- 2020-07-30: Lockless algorithms for mere mortals?
- 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: TechEmpower web framework benchmarks.
- 2020-07-24: Cold showers on overhyped topics in computer science.
- 2020-07-24: Demystifying MLsub: the simple essence of algebraic subtyping.
- 2020-07-23: Buzzy: dependency management for C.
- 2020-07-23: Why is CSS the way it is?
- 2020-07-23: New features in gnuplot 5.4.
- 2020-07-22: MineSweeper implemented in CSS and HTML and no JavaScript.
- 2020-07-23: Exploring Algol 68 in the 21st century.
- 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: UTN #39: bidi brackets for dummies.
- 2020-07-21: The null process.
- 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: An explanation of Rust's module system.
- 2020-07-21: Syntax highlighting is a waste of an information channel.
- 2020-07-20: Certificate Transparency: a bird's-eye view.
- 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-20: Three architectures for a responsive IDE.
- 2020-07-20: Journeying into XDP (express data path) for in-kernel eBPF DNS acceleration.
- 2020-07-19: How Newton's Philosophiæ Naturalis Principia Mathematica came to be published.
- 2020-07-19: The cpio trailer problem.
- 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: Two beautiful Rust programs.
- 2020-07-16: Why even unused data needs to be valid in Rust.
- 2020-07-16: Shipping const generics for Rust in 2020.
- 2020-07-16: Hacking Reolink IP cameras for fun and profit.
- 2020-07-16: Python pickle's nine flaws.
- 2020-07-16: Patricia Crowther inspired one of the first hit video games by mapping the world’s longest cave.
- 2020-07-16: Back into FreeBSD's wireless stack and 802.11ac.
- 2020-07-16: IPv6 and the DNS.
- 2020-07-16: What's new in Lua 5.4.
- 2020-07-16: Lezer: a JavaScript parser generator for the CodeMirror 6 editor.
- 2020-07-16: Introducing the GitHub availability report.
- 2020-07-16: Systems Performance: Enterprise and the Cloud, 2nd Edition.
- 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: 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: Too many objects: Reducing memory overhead from Python instances.
- 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: sed-bin: a sed to C translator written in sed.
- 2020-07-12: Xerox 48-bit absolute internet and Ethernet host numbers. (1981)
- 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: Sunrise / sunset algorithm.
- 2020-07-09: Low accuracy solar position equations.
- 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: Division by zero in type theory: a FAQ.
- 2020-07-07: Statically sized higher-kinded polymorphism.
- 2020-07-07: An autoscaling-related outage at Slack.
- 2020-07-07: Don't Panic! Better, fewer, syntax errors for LR parsers.
- 2020-07-07: 1:60 scale model of a Boeing 777, made entirely from manila folders.
- 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: Websites that look like desktop GUIs.
- 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: Hamilton on film now is a very different experience than the Broadway show was then.
- 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: Implementing the exponential function.
- 2020-07-01: Complete spatial safety for C and C++ using CHERI capabilities.
- 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: Property-based testing in Rust with Proptest.
- 2020-06-28: Implementing a type-safe printf in Rust.
- 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: Faster integer parsing.
- 2020-06-24: The largest city in each 10x10 degree latitude/longitude box.
- 2020-06-24: Iceland's CO2 emissions could be reduced by 30% by replacing carbon electrodes in aluminium smelters.
- 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: 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: 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: Cheap tricks for high-performance Rust.
- 2020-06-23: Being glue.
- 2020-06-23: Ego graphs and the Google ‘vs' trick.
- 2020-06-23: Stretching the Commodore 64 palette.
- 2020-06-23: Fujitsu's Fugaku and Arm A64FX in the fastest supercomputer at 415 petaFLOPs.
- 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: 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: Errors in Rust: a deep dive.
- 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: Understanding user management in PgBouncer.
- 2020-06-16: Generics and compile time in Rust.
- 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: The story of tail call optimization in Rust.
- 2020-06-12: Jepsen: PostgreSQL 12.3.
- 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: Memory-safety challenge considered solved? An empirical study of Rust CVEs.
- 2020-06-12: V8's RegExp engine in SpiderMonkey.
- 2020-06-12: Bringing my Emacs from the past.
- 2020-06-12: Graph and tree traversals in Rust.
- 2020-06-12: In search of the original Fortran compiler.
- 2020-06-12: Essential and relevant: a unit test balancing act.
- 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: Getting hands-on with io_uring using Golang.
- 2020-06-08: The pain points of Haskell: a practical summary.
- 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: Hoare's rebuttal and bubble sort's comeback: a fast quicksort.
- 2020-05-31: List of well-known web sites that port scan their visitors.
- 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: Random worldbuilding: the nation in history.
- 2020-05-27: macOS 10.15 Catalina: slow by design.
- 2020-05-27: History of UNIX manpages.
- 2020-05-27: eBay port scans visitors' computers for remote access programs.
- 2020-05-27: By the Bluebook implementation of Smalltalk-80.
- 2020-05-27: C++20: the unspoken features.
- 2020-05-27: Ancient Egyptian coffins and mystery of ‘black goo'.
- 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: What's the difference between a Rust char and a Go rune? Unicode scalar values vs code points.
- 2020-05-15: Rust verification tools.
- 2020-05-15: Notes on io-uring.
- 2020-05-15: time_it! a case study in Rust macros.
- 2020-05-15: GPU architecture resources.
- 2020-05-15: Writing a Wayland compositor in Rust.
- 2020-05-15: Yak shaving #ifdef-style conditional compilation in Rust.
- 2020-05-15: Rust closures in FFI.
- 2020-05-15: Building an ASN1 codec with the Rust 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-09: Using integer linear programming to solve complex logic.
- 2020-05-09: The original cookie specification from 1997 was GDPR compliant.
- 2020-05-11: John Conway's FRACTRAN, a ridiculous yet surprisingly deep language.
- 2020-05-10: Ensmallening Go binaries by prohibiting comparisons.
- 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: Game of Life in 32 bytes.
- 2020-04-30: Announcing the SourceHut project hub.
- 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: Why strace doesn't work in Docker.
- 2020-04-29: Reducing the size of a Rust GStreamer plugin.
- 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: Towards Sequoia PGP v1.0.
- 2020-04-27: For better videoconferencing at home on lousy links.
- 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: Analysis of DTLS implementations using protocol state fuzzing.
- 2020-04-19: The unpatchable silicon: a full break of the bitstream encryption of Xilinx 7-Series FPGAs.
- 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: Forecasting logistic curves is hard.
- 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: Zig programming language 0.6.0 release notes.
- 2020-04-14: Defining the Really Habitable Zone.
- 2020-04-14: Making Unix a little more like Plan9.
- 2020-04-14: beebjit: clocking a 6502 to 15GHz!
- 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-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: The Chapel parallel programming language.
- 2020-03-28: Hyperlinks in terminal emulators.
- 2020-03-28: Static analysis in gcc 10.
- 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 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: Coyote: Making it easier for .NET developers to build reliable asynchronous software.
- 2020-03-25: Breaking the random numbers in two Linux KASLR patches.
- 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: Napalm network automation.
- 2020-03-23: Nornir: an automation framework in Python.
- 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: An Introduction to modern CMake.
- 2020-03-15: xmake: a cross-platform build utility based on lua.
- 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: Cyberpunk: then and now.
- 2020-03-13: EdDSA, Ed25519, Ed25519-IETF, Ed25519ph, Ed25519ctx, HashEdDSA, PureEdDSA, WTF?
- 2020-03-13: David Rumsey historical map collection at Stanford University.
- 2020-03-13: Analog computer museum.
- 2020-03-13: HTTP desync attacks: request smuggling reborn.
- 2020-03-13: The SOC2 starting seven.
- 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: The story of PS1/PS2 backwards compatibility from the engineer who built it.
- 2020-03-11: How BBsmart email viewer worked, the best-selling BlackBerry app of all time.
- 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
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: The Odin programming language.
- 2020-03-02: Remote access to production infrastructure (death to the VPN!)
- 2020-03-02: CRLite: Finally a fix for broken TLS certificate revocation?
- 2020-03-02: The Beef programming language.
- 2020-03-02: New sense discovered in dog noses: the ability to detect heat.
- 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: UK public transport API.
- 2020-02-26: PostgreSQL parallelism, what next?
- 2020-02-26: JSPaint.
- 2020-02-26: The Ars Technica semi-scientific guide to Wi-Fi access point placement.
- 2020-02-25: Smithsonian Institution open access.
- 2020-02-25: Modern, functional Common Lisp: myths and tips.
- 2020-02-25: Selectors explained: translate CSS selectors into plain English.
- 2020-02-25: Securing Firefox with RLBox: WebAssembly sandboxes for C++ libraries.
- 2020-02-23: Learn TLA+
- 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: Coverage-based fuzzing with libfuzzer.
- 2020-02-23: Some nuances of undefined behavior in Rust.
- 2020-02-23: Insights: visually explore a PostgreSQL database.
- 2020-02-23: QUIC and OpenSSL 3.0.
- 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: ParaSail: parallel specification and implementation language.
- 2020-02-12: How to escalate privileges and steal secrets in Google Cloud Platform.
- 2020-02-12: Gears.
- 2020-02-12: Circllhist: a log-linear histogram quantile sketch for IT infrastructure monitoring.
- 2020-02-11: Rotary dial cellphone.
- 2020-02-11: Investigating the performance overhead of C++ exceptions.
- 2020-02-11: A popular self-driving car machine learning dataset is missing labels for hundreds of pedestrians.
- 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: They called it "big iron" for a reason: Cray-1M site planning reference manual.
- 2020-02-09: 50 years ago, better transistors and switching regulators revolutionized computer power supplies.
- 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: Units of measure in Rust with refinement types.
- 2020-02-05: Security flaw in WhatsApp desktop app.
- 2020-02-05: On the process that led to the introduction of leapseconds.
- 2020-02-03: The state of full text search in PostgreSQL 12.
- 2020-02-03: unsmear: convert to and from timescales with smeared leap seconds.
- 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: Returning trait objects in Rust.
- 2020-02-01: A stack-less Rust coroutine library under 100 LoC.
- 2020-02-01: Lessons learnt updating a Rust library to std::future.
- 2020-02-01: Packaging a Rust project for Debian.
- 2020-02-01: Build your own block_on() in async Rust.
- 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: git bundle: the right way to email a git repository.
- 2020-01-28: 128 bits of security vs 128 bits of security: know the difference.
- 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: What to know about GPS receiver elevation.
- 2020-01-25: Why the Sorbet typechecker for Ruby is fast.
- 2020-01-25: Measuring altitude using precision frequency transfer between optical atomic clocks.
- 2020-01-25: Getting everything wrong without doing anything right! (YouTube)
- 2020-01-25: What happens to maps when tectonic plates move?
- 2020-01-25: New Zealand geodetic datum deformation model.
- 2020-01-25: Modelling BBR's interactions with traditional TCP loss-based congestion control.
- 2020-01-25: CASPaxos: linearizable databases without logs.
- 2020-01-24: Resource scarcity in public clouds.
- 2020-01-23: A floating point bit twiddling toy.
- 2020-01-23: The difficulties of retiring Internet Explorer.
- 2020-01-23: New browser on the block: Flow, from Ekioh in Cambridge.
- 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-17: eSQLate: Build minimum viable admin panels quickly.
- 2020-01-18: fast_template: really easy blogging with GitHub Pages.
- 2020-01-16: Mistakes were made: huge ERP screwups.
- 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-15: Is TypeScript worth it?
- 2020-01-16: Two edge cases in PostgreSQL full-text search.
- 2020-01-16: EASYCHAIR: CIA covert listening devices.
- 2020-01-16: Making the LinkedIn A/B testing engine 20x faster.
- 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: The few remaining uses of the name "Macintosh".
- 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-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: Ethernet power line adapter radio noise interference.
- 2020-01-07: Removing the Linux /dev/random blocking pool.
- 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: Which emoji scissors can cut?
- 2020-01-03: An entomologist rates emoji ants.
- 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: Reducing metadata leakage from encrypted files with PURBs.
- 2019-12-31: Refactoring with defunctionalization: everybody does it, nobody talks about it.
- 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: Async exceptions in Haskell, and Rust.
- 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: 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: Flattening quadratic Béziers.
- 2019-12-24: SOICbite: a program/debug connector for an SOIC test clip.
- 2019-12-24: A business card that runs Linux.
- 2019-12-24: Now you see it, now you don't: a large-scale analysis of early domain deletions.
- 2019-12-24: The shitty add-on standard v1.69bis for electronic con badges.
- 2019-12-24: In praise of property-based testing.
- 2019-12-24: Implementing WebGPU in Gecko.
- 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: Hacking GitHub with Unicode's dotless 'i'.
- 2019-12-17: Superdeterminism: The path we didn't take.
- 2019-12-16: A new cycle-stepped 6502 CPU emulator.
- 2019-12-17: Building a search engine from scratch.
- 2019-12-17: The architecture of a large-scale web search engine, circa 2019.
- 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: How to enable IPv6 in Docker.
- 2019-12-14: Modern garbage collection: Shenandoah and ZGC.
- 2019-12-14: How we increased our Node.js parallelism by 30x.
- 2019-12-14: Soundness bugs in Rust libraries: can't live with 'em, can't live without 'em.
- 2019-12-14: DepHell: project management for Python.
- 2019-12-14: Wine support for win32 on 64-bit-only macOS Catalina.
- 2019-12-14: Reimagining the PhD.
- 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-13: pg_query: parse PostgreSQL queries in Ruby.
- 2019-12-14: Why NUKEMAP isn't on Google Maps anymore.
- 2019-12-13: The seductive diversion of ‘solving' bias in artificial intelligence.
- 2019-12-13: hyper v0.13: an async HTTP library for Rust.
- 2019-12-13: Blocking inside async code in Rust.
- 2019-12-13: Introducing sqlc: compile SQL queries to type-safe Golang.
- 2019-12-13: The surprising breadth of harbingers of failure: customers who buy products that fail.
- 2019-12-13: Conway's law: How do committees invent?
- 2019-12-13: A better Internet is waiting for us.
- 2019-12-13: Experiments in constraint-based graphic design.
- 2019-12-13: Threads can infect each other with their low priority.
- 2019-12-13: Dynamically scoped variables in Golang.
- 2019-12-13: PostgreSQL 12 EXPLAIN SETTINGS.
- 2019-12-13: Solving the mystery of HRT shortages in the UK.
- 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: ZMOB: a multiprocessor computer with 256 Z80 CPUs. (1981)
- 2019-12-11: The Nintendo Switch switch.
- 2019-12-11: OpenLayers: easy dynamic maps on web pages.
- 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: Challenge: find Twitter memes with suffix arrays.
- 2019-12-05: How I defeated the Tolkien estate.
- 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: 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: Notes on adding IEC power symbols to Unicode.
- 2019-12-03: An interactive model-based calculator of cycling power vs. speed.
- 2019-12-03: niche-museums.com, powered by Datasette.
- 2019-12-03: Symptoms of groupthink.
- 2019-12-03: I ditched Google for DuckDuckGo, and you should too.
- 2019-12-03: datasette-atom: define an atom feed using a custom SQL query.
- 2019-12-03: The .org fire sale: how it sold for less than half its valuation.
- 2019-12-03: Did ISOC leave $1 billion on the table?
- 2019-12-03: How I added 6 characters to Unicode (and you can too).
- 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: Methods for identifying and dealing with flaky tests.
- 2019-11-28: Automated front-end testing is not working.
- 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: Thoughts on error handling in Rust.
- 2019-11-22: Bits on the wire.
- 2019-11-22: Multi-value all the wasm with 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: Myths programmers believe about CPU caches.
- 2019-11-21: An interview about PostgreSQL extensions.
- 2019-11-21: The Firefox UI is now built with Web Components.
- 2019-11-20: A memoir of working on "black" secret space programs.
- 2019-11-20: Debian init systems: what, another GR?
- 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: Welcome to China. You probably can't buy anything, though.
- 2019-11-18: Understanding Rust Serde.
- 2019-11-18: What makes a good runbook?
- 2019-11-18: Brand hijacking and Amazon's China strategy.
- 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: drgn: scriptable debugger library.
- 2019-11-16: The disappearance and return to print of John M. Ford.
- 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: The early history of Usenet, part 1: the technological setting.
- 2019-11-15: Private equity company acquires .org registry.
- 2019-11-15: Cooling off your Raspberry Pi 4.
- 2019-11-14: Explaining 4K 60Hz video through USB-C hubs.
- 2019-11-14: Neutrinos lead to unexpected discovery about eigenvectors and eigenvalues.
- 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: PostgreSQL is a great pubsub and job server.
- 2019-11-09: Targeted ads are one of the world's most destructive trends.
- 2019-11-09: Everyone working in DevOps should read The Toyota Way.
- 2019-11-09: Kubernetes made my latency 10x higher.
- 2019-11-09: Nesting limits in JSON parsers.
- 2019-11-09: How Swift achieved dynamic linking where Rust couldn't.
- 2019-11-08: Type-level programming in Rust for safer hardware abstractions.
- 2019-11-08: Type-driven design: parse, don't validate.
- 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: Systemd timer units hide errors in journald, unlike cron.
- 2019-11-05: The lost ⋮ key of QWERTY
- 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: View MySQL / MariaDB query progress with `pmonitor`.
- 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-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: Fine tuning full text search with PostgreSQL 12.
- 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: 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: Maps of cities coloured by street/road/ave/etc.
- 2019-10-21: International 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 Xlib and so should you.
- 2019-10-16: I hate the X11 ICCCM selection system, and you should too.
- 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 most important software design guideline. (YouTube)
- 2019-10-12: Pointer-based data structures in SPARK Ada.
- 2019-10-12: The surprising limitations of C++ ranges beyond trivial cases.
- 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: The new function prototype for objc_msgSend.
- 2019-10-12: You cannot cURL under pressure.
- 2019-10-12: How to speed up the Rust compiler some more in 2019.
- 2019-10-12: Fibers under the magnifying glass.
- 2019-10-11: How Monzo's security team handles secrets.
- 2019-10-11: BPF at Facebook (and beyond).
- 2019-10-10: Build Systems à la Carte.
- 2019-10-11: 8 papers that were rejected before winning a Nobel prize.
- 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-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: jtc: JSON manipulation and transformation tool.
- 2019-10-09: Defining types in the Shen programming language.
- 2019-10-09: Logs were our lifeblood. Now they're our liability.
- 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-09-30: Let me automate that for you: removing pain points from data pipeline setup.
- 2019-10-01: The failed political promise of Silicon Valley.
- 2019-09-30: The asymmetry of Internet identity.
- 2019-09-29: JSON for modern C++.
- 2019-09-30: Predictive CPU isolation of containers at Netflix using a MIP solver.
- 2019-09-30: Small world with high risks: a study of security threats in the npm ecosystem.
- 2019-09-30: MiniZinc high-level solver-independent constraint satisfaction and optimization modelling language.
- 2019-09-30: Before the East India Company.
- 2019-09-30: SCIP solver for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP).
- 2019-09-30: A computer built from NOR gates: inside the Apollo Guidance Computer.
- 2019-09-30: Cbc: open-source mixed integer linear programming solver.
- 2019-09-30: MIP formulations and linearizations quick reference.
- 2019-09-29: Representing and editing JSON with Google Sheets.
- 2019-09-29: Mainstream adoption and Agile's second chasm.
- 2019-09-29: Text rendering hates you.
- 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: Using PostgreSQL row level security to make large companies more secure.
- 2019-09-26: Advanced SQL: window frames.
- 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: Save thousands of dollars by packing Kubernetes pods efficiently.
- 2019-09-14: Parallel GCC research project.
- 2019-09-14: $1,000,000 worth of invalid EV certificates revoked.
- 2019-09-13: BLUF: make your writing more powerful with the bottom line up front.
- 2019-09-13: "DevOps didn't exist when I started as a developer."
- 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: Efficient string copying and concatenation in C with memccpy().
- 2019-09-12: Why Ada is the language you want to be programming your systems with.
- 2019-09-12: bic: a C interpreter and API explorer.
- 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: 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: Why Teslas aren't the future.
- 2019-09-11: Quantum INTERCAL.
- 2019-09-11: The race to create a perfect lie detector, and the dangers of succeeding.
- 2019-09-11: A famous argument against free will has been debunked.
- 2019-09-11: Face recognition, bad people, and bad data.
- 2019-09-10: Uber's path of destruction.
- 2019-09-10: What does "it's a good start" really mean?
- 2019-09-10: American phrase book.
- 2019-09-10: A guide to Aussie slang.
- 2019-09-10: The tale of the missing semaphore.
- 2019-09-10: How to chair an academic committee.
- 2019-09-10: Myths about USB-C.
- 2019-09-10: Strategies for fast lexical analysis.
- 2019-09-10: Put down that banana, beekeeper.
- 2019-09-10: A checklist for empirical evaluation, against replication difficulties in computer science.
- 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: From mind control to murder: a deadly fall revealed the CIA's MK-Ultra secrets.
- 2019-09-07: Thoughts on presenting a talk.
- 2019-09-07: DNS-over-HTTPS privacy and security concerns.
- 2019-09-07: Does Sean Bean really die more than other actors?
- 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: An introduction to D3.js.
- 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: DDSketch: a fast and fully-mergeable quantile sketch with relative-error guarantees.
- 2019-09-05: Computer science from the bottom up.
- 2019-09-05: Why you need plpgsql_check if you write stored procedures for PostgreSQL.
- 2019-09-05: Active learning is more effective, but students don't think so.
- 2019-09-04: Why does CD digital audio have a 44.1 kHz sample rate?
- 2019-09-05: Universal adversarial triggers for attacking and analyzing NLP.
- 2019-09-05: The most gender-switched names in the US.
- 2019-09-05: Thunderbolt 3 cables longer than 0.5m generally don't support USB 3.1 speeds.
- 2019-09-04: pspg: table-aware pager for PostgreSQL.
- 2019-09-04: What happened to Hadoop?
- 2019-09-04: Teardown of a failed Linux LTS Spectre fix.
- 2019-09-04: Semantic validation in Rust.
- 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: A static compiler for the TypeScript programming language to Thumb machine code.
- 2019-09-04: AssemblyScript: a TypeScript to WebAssembly compiler.
- 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: Beginner's guide to linkers.
- 2019-09-02: Tired of Stack Overflow.
- 2019-09-02: Linkers: a 20 part series.
- 2019-09-02: An introduction to deterministic builds with C/C++.
- 2019-09-02: The GNU configure and build system.
- 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: Linux pressure stall information (PSI): better load averages.
- 2019-08-31: What to do once you admit that decentralizing everything never seems to work.
- 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: Complicated and complex systems in safety management.
- 2019-08-26: Report on December's CenturyLink network outage.
- 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: Enabling a permanent revolution in internet architecture.
- 2019-08-25: What the Code of Hammurabi can teach us about software liability.
- 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: The origins of JavaScript sandbox realms.
- 2019-08-23: About GNU readline.
- 2019-08-23: The crystal growers who sparked a revolution in graphene electronics.
- 2019-08-23: Why does developing on Kubernetes suck?
- 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: 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: The web browser monopoly.
- 2019-08-21: A look at HS2's huge Old Oak Common station.
- 2019-08-21: Where do interrupts happen?
- 2019-08-21: The answer to "Will you mentor me?" is "No."
- 2019-08-21: Calculus is deeply irrational.
- 2019-08-21: Kaspersky in the middle: what could possibly go wrong?
- 2019-08-21: "Patent troll" is opinion, not defamation.
- 2019-08-21: Ten simple rules for responsible referencing.
- 2019-08-21: The financialization of the American elite.
- 2019-08-21: How Rust optimizes async/await.
- 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: Parsing Rust strings into slices.
- 2019-08-15: Runtime configuration reloading in Rust.
- 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: Top seven myths of robust systems.
- 2019-08-13: Best practices for code review.
- 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: The rule of 140.
- 2019-08-13: Paged Out! a new experimental free magazine about programming.
- 2019-08-13: IndieWeb link sharing.
- 2019-08-13: Banana-killing Panama disease TR4 has arrived in Latin America.
- 2019-08-13: R13Y: are NixOS builds reproducible?
- 2019-08-13: Await in Rust.
- 2019-08-12: Extended Validation TLS certificates are really really dead.
- 2019-08-13: The horror of Microsoft Teams.
- 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: Game of Trees: an implementation of git for OpenBSD.
- 2019-08-10: Parallelism in PostgreSQL.
- 2019-08-10: H3+: the molecules that made the universe.
- 2019-08-10: Kepler's forgotten ideas about symmetry help explain spiral galaxies without the need for dark matter.
- 2019-08-10: H2 in space explains dark matter and redshift.
- 2019-08-10: Porting Unix to the IBM Series-1 minicomputer.
- 2019-08-10: Measuring DNS qname minimization.
- 2019-08-10: Swift ExpressibleBy protocols: What they are and how they work.
- 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: Arend: a theorem prover based on Homotopy Type Theory.
- 2019-08-07: A formal investigation of diff3.
- 2019-08-07: C-mera: Lisp macros for metaprogramming C-like languages.
- 2019-08-07: Recording 660fps video on a $6 Raspberry Pi camera.
- 2019-08-07: Understanding Rust through AVL trees.
- 2019-08-07: The last working Olivetti mainframe sits in a Tuscan high school.
- 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: 10 years of seL4: still the best, still getting better.
- 2019-08-07: Don't underestimate grep based code security scanning.
- 2019-08-07: Fact check: What you may have heard from Elsevier about the dispute with UC.
- 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: Pwnie award nominations.
- 2019-08-06: Vectorized emulation: hardware accelerated taint tracking at 2 trillion instructions per second.
- 2019-08-05: Switching from Common Lisp to Julia.
- 2019-08-05: Rust language cheat sheet.
- 2019-08-05: All the best engineering advice I stole from non-technical people.
- 2019-08-04: Dissecting a dweet: Lorenz attractor.
- 2019-08-04: Elsevier threatens others for linking to Sci-Hub but does so itself.
- 2019-08-04: Using PostgreSQL full text search with Golang.
- 2019-08-04: A technical analysis of the Capital One AWS S3 hack.
- 2019-08-04: Securely issuing HTTP requests from the cloud.
- 2019-08-04: Mastering PostgreSQL full-text search and phrase search.
- 2019-08-04: What's new in PostgreSQL 11: built-in web 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 brief guide to a few algebraic structures.
- 2019-08-01: A discussion of the origins of UNIX filesystem permissions.
- 2019-08-01: Rome's border walls were the beginning of its end.
- 2019-08-01: Inquiry into the implications for the UK of the proposal to end seasonal clock changes in the EU.
- 2019-08-01: In Australia, one cat seems to have destroyed an entire bird sanctuary.
- 2019-07-31: Golang experience report: generics in Kubernetes.
- 2019-07-31: Thoughts on package dependencies and scaling trust.
- 2019-07-31: ANTLR: an informal introduction.
- 2019-07-31: After the warming. [1989] (YouTube)
- 2019-07-31: Container security: a developer guide.
- 2019-07-31: LoRaWAN distance world record: 766km at 25mW.
- 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: Notes on a smaller Rust.
- 2019-07-24: How (not) to sign a JSON object.
- 2019-07-24: Use plaintext email.
- 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: Norvig and Pitman tutorial on good Lisp programming style.
- 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: A Common Lisp style guide.
- 2019-07-24: Standby in production: scaling PostgreSQL for a large classified ads site.
- 2019-07-24: Lisp code for the textbook "Paradigms of Artificial Intelligence Programming".
- 2019-07-24: Unblocking second-generation smart meters.
- 2019-07-24: Pascal Costanza's highly opinionated guide to Lisp.
- 2019-07-24: Python anti-patterns.
- 2019-07-24: Mitchell Feigenbaum (1944–2019), 4.66920160910299067185320382…
- 2019-07-24: How the retweet ruined the Internet.
- 2019-07-24: Composable multi-threaded parallelism in Julia.
- 2019-07-24: Algebraic effects for the rest of us.
- 2019-07-24: Facebook: Mark Zuckerberg's Ponzi scheme.
- 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: The little-known Soviet mission to rescue the dead space station Salyut 7.
- 2019-07-21: Satellite images show vast swaths of the arctic on fire.
- 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: DataSpill: browser extensions slurped up browsing histories from 4M users.
- 2019-07-19: A plan to mine the world's research papers.
- 2019-07-19: The challenges of single toggle buttons.
- 2019-07-19: Amateur radio digital communications 44.0.0.0/8 partial sell-off.
- 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-17: How to speed up the Rust compiler in 2019.
- 2019-07-17: Indexing documents for full text search in PostgreSQL.
- 2019-07-17: Certificate flooding, SKS and GnuPG issues, and the Sequoia pgp-in-Rust project.
- 2019-07-17: Not so fast: the performance of WebAssembly vs. native code.
- 2019-07-18: Analysis of the Galileo satellite navigation outage.
- 2019-07-17: QuickJS: Fabrice Bellard's JavaScript engine.
- 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: Stream combinators implemented using for await syntax in Rust.
- 2019-07-17: What is unsafe 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: The PGP problem.
- 2019-07-17: Minisign, based on libsodium, compatible with OpenBSD signify.
- 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: A summary of USB-C cable features.
- 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-15: There are 6 kinds of USB-C cables.
- 2019-07-16: Why did we wait so long for the bicycle?
- 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-11: Lexical differential highlighting.
- 2019-07-12: International typography on the Web: language support matrix.
- 2019-07-12: ARPANET: the subnet IMPs.
- 2019-07-11: How to read the international phonetic alphabet.
- 2019-07-12: Fuzzing DNS zone parsers.
- 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: Raspberry Pi 4 microSD card performance comparisons.
- 2019-07-10: Impact of A1 and A2 microSD card application performance class.
- 2019-07-10: Python consumes a lot of memory; how to reduce the size of objects?
- 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-08: Tips for reviewing code you don't like.
- 2019-07-09: Some Dockerfile best practices.
- 2019-07-09: The Riemann Hypothesis says 5040 is the last.
- 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: How FZF and ripgrep improved my workflow.
- 2019-07-05: Why the Raspberry Pi 4 is incompatible with some USB-C chargers.
- 2019-07-05: Why not to use two axes on a chart, and what to use instead.
- 2019-07-05: The good voting systems agreement.
- 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: What is the female stress response and why is it interesting?
- 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: Strongly TypeScript Vue.
- 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: 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: jass: share secrets using SSH keys.
- 2019-06-30: NetBSD on the last G4 Mac mini (and making the kernel power failure proof).
- 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: Before you use a password manager.
- 2019-06-24: The spycraft revolution.
- 2019-06-24: Raspberry Pi 4.
- 2019-06-24: What happens after Amazon's domination Is complete? Its bookstore offers clues.
- 2019-06-24: How to avoid dangerous counterfeits on Amazon.
- 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: The typestate pattern in Rust.
- 2019-06-22: C, Fortran, and single-character strings.
- 2019-06-22: A liquid helix model helps explain the dribbly teapot effect.
- 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: Adding static type checking to Julia in 100 lines of code.
- 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: Preemption is GC for memory reordering.
- 2019-06-13: CERN Microsoft alternatives project: taking back control using open software.
- 2019-06-12: RAMbleed: reading bits in memory without accessing them.
- 2019-06-12: A compilation of Kubernetes failure/horror stories.
- 2019-06-12: Missions to Mars during the 2020 minimum energy launch window.
- 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: Matrix 1.0 and the Matrix.org foundation.
- 2019-06-12: "1984" at seventy: why we still read Orwell's book.
- 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: Uh-oh .io: Question mark over trendy TLD as UN condemns British treatment of Chagos.
- 2019-06-03: Brython: Python 3 in the browser.
- 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: A DIY microhydro plant.
- 2019-06-02: Metadata is the biggest little problem plaguing the music industry.
- 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: Cake or death: AMP and the worrying power dynamics of the web.
- 2019-05-30: Why Intel Ice Lake AVX512 is important: a bit-basher's perspective.
- 2019-05-30: Goroutine local storage.
- 2019-05-30: WhatDoTheyKnow Pro helps TBIJ get the whole picture on council land sell-off.
- 2019-05-30: runtypes: runtime validation for static types in TypeScript.
- 2019-05-30: Announcing TypeScript 3.5.
- 2019-05-30: The author of uBlock on Google Chrome's proposal to cripple ad blockers.
- 2019-05-30: io-ts: runtime types for IO decoding/encoding in TypeScript.
- 2019-05-30: Google goes ahead with ad-blocker crackdown, except for paid-up enterprise Chrome users.
- 2019-05-30: Google's IPv6 traffic stats: will 28% deployment really be the limit?
- 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: Higher-order type-level programming in Haskell.
- 2019-05-26: Thinking with Types: 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-23: Animagraffs: animated infographics about everything.
- 2019-05-23: 507 mechanical movements.
- 2019-05-24: LEGO Braille bricks.
- 2019-05-23: When the AWS DNS resolver drops packets because you hit the query quota.
- 2019-05-23: Analysis of various tricky Rust code.
- 2019-05-23: Visualizing PostgreSQL vacuum progress.
- 2019-05-23: Stupid git tricks: Combining two files into one while preserving line history.
- 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-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: WireGuard on OpenBSD.
- 2019-05-17: The 2019 Linux storage, filesystem, and memory-management summit.
- 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: Going Critical: diffusion models, disease, and knowledge.
- 2019-05-15: Things you might not be using in Python 3, but should.
- 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: It's time to break up Facebook.
- 2019-05-10: Agnotology and epistemological fragmentation.
- 2019-05-10: Compile-time coprocessor codegen with Rust macros.
- 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-10: Fourier synthesis vector CRT character generator.
- 2019-05-09: When dates became regular and universal, it changed history.
- 2019-05-08: How C array sizes become part of a library's ABI.
- 2019-05-09: For better computing, liberate CPUs with a garbage collection coprocessor.
- 2019-05-08: JSMpeg: an MPEG1 decoder in JavaScript for low-latency streaming.
- 2019-05-09: Post-mortem and remediations for matrix.org's April security incident.
- 2019-05-08: Google Ads malware seen in the wild.
- 2019-05-08: Ted Chiang returns with an awe-inducing collection "Exhalation".
- 2019-05-08: Brian Kernighan interviews Ken Thompson. (YouTube)
- 2019-05-08: pg_auto_failover: Open source extension for high availability of PostgreSQL.
- 2019-05-08: Securing network time.
- 2019-05-08: Surprisingly Turing-Complete.
- 2019-05-08: Dealing with software collapse / rot.
- 2019-05-08: Securing cookies with cookie prefixes.
- 2019-05-08: Building a URL shortener with only AWS Lambda.
- 2019-05-07: How Cloudflare serves up hate online.
- 2019-05-08: css-only-chat: A truly monstrous async web chat using no JS whatsoever on the frontend.
- 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: Rust await syntax considerations.
- 2019-05-06: Low-latency typing with pleasure.
- 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-23: Consoles of IBM System/360 mainframes.
- 2019-04-24: Past the tipping point: the persistence of firefighting in product development.
- 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: 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-22: Hardening SSH with 2FA.
- 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: Thundering herds and cached promises.
- 2019-04-18: Adventures in reverse engineering Broadcom NIC firmware.
- 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: From the MCU to Star Wars: in praise of poorly built worlds.
- 2019-04-17: Post-surgical deaths in Scotland drop by a third, with the help of a checklist.
- 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: NVMM: NetBSD virtual machine manager.
- 2019-04-10: Building the System/360 mainframe nearly destroyed IBM.
- 2019-04-10: A fork() in the road.
- 2019-04-09: Amazon shoppers misled by 'bundled' star-ratings and reviews.
- 2019-04-08: Most people do not expect Google to track their activities so pervasively.
- 2019-04-09: Facebook's ad targeting algorithm is inherently biased.
- 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: Learning from The Economist's errors in data visualisation.
- 2019-04-01: Mailchimp's Mandrill outage due to PostgreSQL XID wraparound.
- 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-29: Five super helpful Rust things that you might not have been told about.
- 2019-03-30: DEC VT100 raster CRT typography.
- 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: The phantom builder in Rust.
- 2019-03-28: Stoicism's appeal to the rich and powerful.
- 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: cautionary tales in human-robot interaction.
- 2019-03-26: Moral crumple zones: The future of designing autonomous systems will involve ethnographers.
- 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: KaTeX: the fastest math typesetting library for the web.
- 2019-03-24: PyType: Google's static type analyzer for Python.
- 2019-03-24: Pyre: Facebook's static type checker for Python.
- 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: CVE-2019-6454: systemd (PID1) crash with specially crafted unprivileged D-Bus message.
- 2019-03-20: How to take back control of /etc/resolv.conf on Linux.
- 2019-03-20: International space station docking standard.
- 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: 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: The 15 most famous transcendental numbers.
- 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: William Jones: the man who invented π.
- 2019-03-16: Repairing brass instruments with magnets.
- 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: ‘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-13: GoDaddy, Apple, and Google misissue >1 million certificates with short serial numbers.
- 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: Orchestrating false beliefs about gender discrimination.
- 2019-03-07: Why do remote meetings suck so much?
- 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: Why American rail construction costs are so high.
- 2019-03-06: Keeping CALM: when distributed consistency is easy.
- 2019-03-06: Mathgen: Randomly generated mathematics research papers.
- 2019-03-04: What part of "No!" doesn't the DNS understand?
- 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: TLS in F*: Generating C code that people actually want to use.
- 2019-03-04: The birthday paradox: on Jupiter, and beyond!
- 2019-03-04: Near misses, and how to avoid catastrophe.
- 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: Millions of binaries later: a look into Linux hardening in the wild.
- 2019-03-02: Your database migrations are bad and you should feel bad.
- 2019-03-02: OpenSSL future architecture plans.
- 2019-03-01: DigiCert in-addr.arpa X.509 certificate mis-issuance.
- 2019-03-01: NASA is planning a space station in a weird lunar orbit.
- 2019-03-01: Casper's clever little nightlight.
- 2019-03-01: Transparent logs for skeptical clients.
- 2019-03-01: Twitter (un)official API keys.
- 2019-03-01: Hyperscan: a fast multi-pattern regex matcher for modern CPUs.
- 2019-03-01: Formally specifying user interfaces.
- 2019-03-01: re2c: a free and open-source lexer generator for C and C++.
- 2019-03-01: Git over FTP.
- 2019-03-01: Reconstructing Twitter's firehose.
- 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-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: The current state of open source backup management for PostgreSQL.
- 2019-02-28: PostgreSQL BRIN indexes: performance for big data with minimal storage.
- 2019-02-28: ExSpectre: hiding malware in speculative execution.
- 2019-02-28: We need Chrome no more.
- 2019-02-27: The soothing promise of our own artisanal Internet.
- 2019-02-27: Why women are underrepresented in clinical trials.
- 2019-02-27: Content moderation has no easy answers.
- 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: Normalization of deviance.
- 2019-02-26: The unscalable deadlock-prone thread pool.
- 2019-02-26: Type systems and logic.
- 2019-02-26: Sisterhood of Cycling: the radical roots of the bicycle.
- 2019-02-25: Vim anti-patterns.
- 2019-02-25: Stabilizer: statistically sound performance evaluation.
- 2019-02-24: Stressing the elements: "illegal" Lego builds.
- 2019-02-24: PostgreSQL on Linux fsync failure fixed.
- 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: The cost of abstraction.
- 2019-02-24: Enquire: discover C limits.h and float.h machine and compiler properties.
- 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: Exploitation from malicious PCI Express peripherals.
- 2019-02-21: Patent exhaustion and open source.
- 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: 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: Machine-learning in science is producing results that are misleading and often completely wrong.
- 2019-02-19: AWS Nitro system.
- 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: 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: Don't get clever with login forms.
- 2019-02-15: The complicated economy of Open Source software.
- 2019-02-15: Dudle: online event coordination and survey application. (A Free alternative to Doodle.)
- 2019-02-15: Why do the Northern and Southern Lights differ?
- 2019-02-15: Logical difficulties in modern mathematics.
- 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: 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-11: None of my web projects want to be single page applications.
- 2019-02-12: Kubernetes ndots 5 and long DNS search path.
- 2019-02-11: CVE-2019-5736: Linux container breakout.
- 2019-02-11: Fact-checking Facebook was like playing a doomed game of Whack-A-Mole.
- 2019-02-11: 1839 woven portrait of Jacquard: an important image from the early history of computing.
- 2019-02-11: A century of Noether's theorem.
- 2019-02-11: Make the web boring.
- 2019-02-10: Five things that scare me about AI.
- 2019-02-11: Questions for a new technology.
- 2019-02-11: How do we know the history of extreme poverty?
- 2019-02-10: What PostgreSQL developers know about fsync() errors.
- 2019-02-10: DasKeyboard lights show blood sugar changes using my body's REST API.
- 2019-02-11: The future of public access to Castle Mound.
- 2019-02-11: The New Systems Engineer.
- 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-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-05: There and Snack Again: How to eat everything in the Lord of the Rings.
- 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: The Earth and the far side of the moon photographed by radio amateurs.
- 2019-02-06: Vulnerability postmortem: A curious case of convexity confusion in Skia.
- 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-03: A brief history of the UUID.
- 2019-02-04: Debugging Emacs or: how I learned to stop worrying and love DTrace.
- 2019-02-04: Ten rules for a better conference name badge.
- 2019-02-04: Asterius: A Haskell to WebAssembly compiler.
- 2019-02-03: All late projects are the same.
- 2019-02-03: Using BGP to calculate fastest paths around the London Underground.
- 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: A SQL to C compiler in 500 lines of code.
- 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: 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: websocat: a command-line client for WebSockets.
- 2019-01-26: websocketd: WebSockets the Unix way.
- 2019-01-25: How much maintenance_work_mem does PostgreSQL need?
- 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-24: How to make the Chord DHT correct.
- 2019-01-24: 'The goal is to automate us': welcome to the age of surveillance capitalism.
- 2019-01-24: Why don't people use formal methods?
- 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-22: Remote code execution vulnerability in Debian `apt`.
- 2019-01-23: A lifetime of systems thinking.
- 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: An obituary of Karen Sparck Jones, who pioneered natural language processing.
- 2019-01-20: Kubernetes failure stories.
- 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: How SMS set back the mobile internet by ten years.
- 2019-01-18: The malign incompetence of the British ruling class.
- 2019-01-18: The route of a text message.
- 2019-01-18: Why is storage on Kubernetes so hard?
- 2019-01-17: The heterosexual tragedy of Top Gun.
- 2019-01-17: CSRG Archive, now on DVD with extra non-BSD software.
- 2019-01-17: Amazon Aurora: avoiding distributed consensus for IO, commits, and membership changes.
- 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: Crisis on the High Plains: the loss of America's largest aquifer, the Ogallala.
- 2019-01-17: A cascading failure of distributed systems in a large Kubernetes cluster.
- 2019-01-17: A Pratt parser in TypeScript.
- 2019-01-17: More than you really wanted to know about patch.
- 2019-01-16: Battle of the axe men: who really built the first electric rock ‘n' roll guitar?
- 2019-01-15: A workflow for maintaining feature branches and submitting patches to PostgreSQL.
- 2019-01-16: Gettier cases: the relevance to programming of a three-page paper that shook philosophy.
- 2019-01-16: Field notes from an American in London.
- 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: Getting an IBM AS/400 midrange computer on the Internet.
- 2019-01-14: The rise and demise of RSS.
- 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: Spurious correlations.
- 2019-01-12: The Embroidered Computer.
- 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: How you can organize your GitHub repositories.
- 2019-01-11: Earth's magnetic field is acting up and geologists don't know why.
- 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-09: Looking back at the Berkeley Postgres project.
- 2019-01-10: The disappearing Windows DNS debug log.
- 2019-01-10: Why people in cities walk fast.
- 2019-01-10: The painful price of becoming Jackie Chan.
- 2019-01-10: AWS gives open source the middle finger.
- 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: Notes on test-case reduction.
- 2019-01-09: Think Sci-Hub is just downloading PDFs? Think again.
- 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-07: Huawei unveils the highest-performance ARM-based CPU.
- 2019-01-07: How to make sure your talk doesn't suck.
- 2019-01-08: Emulating a buffer overflow for fun and profit in StarCraft: Remastered.
- 2019-01-07: libeatmydata: disable fsync and speed up your tests!
- 2019-01-07: SQL is no excuse to avoid DevOps.
- 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: ARM Memory Tagging: how it improves C/C++ memory safety.
- 2019-01-07: Why isn't bamboo wood more popular?
- 2019-01-07: A history of soap.
- 2019-01-07: The state of software security in 2019
- 2019-01-06: Hints for computer system design.
- 2019-01-06: The evolutionary mystery of left-handedness.
- 2019-01-06: Hints and principles for computer system design.
- 2019-01-06: The verified CakeML compiler backend.
- 2019-01-05: Why is Maxwell's theory so hard to understand?
- 2019-01-06: Mapping and visualization by Scott Reinhard.
- 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: How ‘magic angle' graphene is stirring up physics.
- 2019-01-03: Chip design at Apple in the 1980s.
- 2019-01-03: Exploiting the Math.expm1 typing bug in V8.
- 2019-01-03: Monorepos: Please don't!
- 2019-01-02: STAMPing on the npm event-stream compromise.
- 2019-01-03: caro: if jq and xargs had a baby.
- 2019-01-03: Programmer as wizard, programmer as engineer.
- 2019-01-02: POLA would have prevented the npm event-stream incident.
- 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: The Vimes boots theory: further reflections.
- 2019-01-01: Let's Encrypt looking forward to 2019.
- 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: In January, the EU starts running bug bounties on free and open source software.
- 2018-12-29: The story of the Grateful Dead's Wall of Sound.
- 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: Using C libraries in Rust: how to make a sys crate.
- 2018-12-27: A demo of Rust async io: from mio to stackless coroutines.
- 2018-12-27: Patterns for Array initialization in Rust.
- 2018-12-27: Rust Tokio end of year recap.
- 2018-12-27: Swedish startup Rdot is trying to take on E-Ink.
- 2018-12-27: Procedural macros in Rust 2018.
- 2018-12-27: JMAP is on the home straight.
- 2018-12-27: Post-mortem of the Word for Windows 1.0 project.
- 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: Ranges, code quality, coroutines, and the future of C++.
- 2018-12-27: Understanding throttling and debouncing.
- 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: ECMAScript modules in Node.js: the new plan.
- 2018-12-26: Twitter's upcoming changes to PNG image support.
- 2018-12-26: 2018 Matrix year in review.
- 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: Wiv.js: a library for a more wiggly div.
- 2018-12-25: DOOMBA
- 2018-12-24: IPv6 xmas display uses 75 Internet's worth of addresses.
- 2018-12-24: Lexically scopes type variables.
- 2018-12-24: Theft of NTP service for the Internet of Unprofitable Things.
- 2018-12-24: Partitioned consensus and its impact on Google Spanner's latency.
- 2018-12-24: Designing resilient systems with circuit breakers.
- 2018-12-24: Solving a murder with Prolog.
- 2018-12-24: Site reliability engineering is operations.
- 2018-12-24: HyperLogLog in Facebook Presto: faster cardinality estimation.
- 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: Standard ranges for C++.
- 2018-12-23: Ten simple rules for documenting scientific software.
- 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: Dear developer, the Web isn't about you.
- 2018-12-21: DNS over TLS from Cloudflare's recursive servers to Facebook's authoritative servers.
- 2018-12-21: When anti-virus software causes 15 minute GC pauses and crashes in a .NET Windows service.
- 2018-12-21: Five facts about smell.
- 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: WireGuard for iOS, now in the App Store.
- 2018-12-21: Manage virtual machines with virt-manager.
- 2018-12-21: WireGuard setup guide for iOS.
- 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-18: WaveFunctionCollapse: bitmap generation from one example using ideas from quantum mechanics.
- 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: How to build a real-time app with GraphQL subscriptions on PostgreSQL.
- 2018-12-17: Support Driven Engineering (SDE).
- 2018-12-17: Future fossils of the 21st Century.
- 2018-12-17: The best programming advice I ever got.
- 2018-12-17: Can repelling magnets replace the spring in a pogo stick?
- 2018-12-17: 5 German exclaves in Belgium separated by a bicycle path from the rest of Germany.
- 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: Bootstrapping Rust.
- 2018-12-15: Defense against dark arts: safely allowing full SQL access to untrusted users with SQLite.
- 2018-12-15: Does Scrabble need to be fixed? An experiment in controlling how much of the game is luck.
- 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: Modelling the true cost of software rewrites.
- 2018-12-15: Exploiting font parsing in LaTeX with CVE-2018-17407.
- 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: The Titanic was on fire for days before the iceberg hit.
- 2018-12-13: A history of the waterfall methodology.
- 2018-12-13: 50 CVEs in 50 days fuzzing Adobe Reader.
- 2018-12-13: Securing your web site like it's 1999.
- 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: AFLSmart: smart greybox fuzzing.
- 2018-12-13: Guaranteed copy elision in C++17 does not elide copies.
- 2018-12-12: Routing security roadmap.
- 2018-12-12: Clusters of re-used keys.
- 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: ATDT relief.
- 2018-12-12: Beware Java Attach API.
- 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: 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: Bezier moi, Julia.
- 2018-12-11: Seemingly impossible Swift programs.
- 2018-12-11: Can we drop upstream Linux x32 support?
- 2018-12-11: The seductive diversion of ‘solving' bias in artificial intelligence.
- 2018-12-11: Human terrain: visualizing the world's population in 3D.
- 2018-12-11: The Empress of Facebook: a befuddling dinner With Sheryl Sandberg.
- 2018-12-10: Who ever said no two snowflakes are alike?
- 2018-12-10: Graphing the distribution of English letters towards the beginning, middle or end of words.
- 2018-12-10: jl: turn structured JSON logs into human-readable lines.
- 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-09: The computer technology that changed air travel.
- 2018-12-10: Autism from the inside is not the neurotypical cliché.
- 2018-12-09: Secrets of smooth Béziers and Euler spirals revealed.
- 2018-12-09: JIRA is an antipattern.
- 2018-12-09: Replacing the user story with the job story.
- 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: 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: Uncomfortable privacy research.
- 2018-12-08: Troubleshooting a connection timeout issue due to tcp_tw_recycle (which should not be used).
- 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: HTTPS in the real world.
- 2018-12-07: Goodbye, EdgeHTML.
- 2018-12-06: The rise of Microsoft Visual Studio Code.
- 2018-12-07: Reverse engineering the ARM1 processor's microinstructions.
- 2018-12-07: Killing Microsoft Edge: Making the web worse through capitulation to Google.
- 2018-12-07: Rust 2018 is here… but what is it?
- 2018-12-07: Tesla's giant battery saved $40 million during its first year, and cost $66 million to install.
- 2018-12-07: WALL·E | Typeset In The Future
- 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-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: QUIC and HTTP/3 : Too big to fail?!
- 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: Privilege escalation vulnerability in the Kubernetes apiserver.
- 2018-12-06: Bizarre 'dark fluid' with negative mass could dominate the universe.
- 2018-12-05: Unprivileged users with UID > INT_MAX can successfully execute any systemctl command.
- 2018-12-05: Why parking minimums almost destroyed my hometown and how we repealed them.
- 2018-12-05: Learning how AI makes decisions.
- 2018-12-05: How to write a modern C++ library in Rust.
- 2018-12-05: Our bipolar free-speech disorder and how to fix it.
- 2018-12-05: DOHA and ZIPPO make forty five dead gTLDs.
- 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: ICANN registry agreement termination information page: graveyard of new gTLDs.
- 2018-12-04: The case for reopening Edinburgh's lost circle line to passengers.
- 2018-12-04: Single-direction margin declarations in CSS.
- 2018-12-04: A look at CSS resets in 2018.
- 2018-12-04: PayPal, Square, and big banking's war on the sex industry.
- 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: The world's most efficient languages.
- 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: 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: Dynamic configuration at Twitter.
- 2018-11-30: UTF-7: a ghost from the time before UTF-8.
- 2018-11-30: Golang 2, here we come!
- 2018-11-29: Strange earthquake waves rippled around Earth, and nobody knows why.
- 2018-11-29: Competition is dying, and taking capitalism with it.
- 2018-11-28: A perfect storm that brought down LinkedIn.com.
- 2018-11-29: Multi-level MDA-Lite Paris Traceroute.
- 2018-11-29: The baseline costs of JavaScript frameworks.
- 2018-11-29: The Holy Hand Grenade of Antioch: OpenSSL version numbering and licence change.
- 2018-11-29: Amazon's homegrown Graviton processor was very nearly an AMD Arm CPU.
- 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: 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: The state of WiFi vs mobile network experience.
- 2018-11-27: Preventing SQL injection with PostgreSQL and Python.
- 2018-11-27: AWS designed ARM processor: Graviton.
- 2018-11-27: Designing headers for HTTP compression (HPACK and QPACK).
- 2018-11-27: Is Copenhagen a city of cyclists? (A Dutch view.)
- 2018-11-27: Amsterdam vs Copenhagen (a British view).
- 2018-11-26: The "feel-good" horror of late-stage capitalism.
- 2018-11-26: Today's JavaScript trash fire and pile on: the flatmap-stream compromise.
- 2018-11-26: The power of Web Components.
- 2018-11-26: Integer overflow and SMT-solvers.
- 2018-11-26: No cutting corners cutting corners.
- 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-24: The code hiding on these Madrid security bollards.
- 2018-11-25: 5919 default passwords from Open Sez Me!
- 2018-11-24: Type-safe builders in Kotlin.
- 2018-11-25: LinkedIn violated data protection by using 18M email addresses of non-members to buy targeted ads on Facebook.
- 2018-11-24: Riding the Space Shuttle's solid rocket booster.
- 2018-11-25: Why most of America is terrible at making biscuits.
- 2018-11-25: The Lisp Machines Inc. K-Machine.
- 2018-11-24: Enumerating the rationals (without duplication).
- 2018-11-24: Tworoutines in Python: easy mixing of synchronous and asynchronous code.
- 2018-11-24: NovaSolix hopes to make a 90% efficient solar cell using carbon nanotubes.
- 2018-11-24: How a mysterious tech billionaire created two fortunes and a global software sweatshop.
- 2018-11-24: U.S. finally legalizes modern, European-style train cars.
- 2018-11-24: Model View Controller isn't.
- 2018-11-24: ‘12 Monkeys': why Terry Gilliam's movie is so relevant today.
- 2018-11-24: Amazing time-lapse video of a rocket launch… seen from space!
- 2018-11-24: JavaScript modules.
- 2018-11-23: Nuisance calls: new UK law provides for company director liability.
- 2018-11-23: 6 strange facts about the interstellar visitor 'Oumuamua.
- 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: D compilation is too slow and I am forking the compiler.
- 2018-11-21: dav1d AV1 decoder: performance and completion of the first release.
- 2018-11-21: Undumping TeX.
- 2018-11-21: Django core no more.
- 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: The IBM z14 microprocessor and system control design.
- 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: A 3270 font in a modern format.
- 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: 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: Facebook, Google, Amazon, railroads, and the collapse of the tech mythology.
- 2018-11-19: The case against quantum computing.
- 2018-11-19: Analyzing the GitHub outage.
- 2018-11-19: The secret of cube-shaped wombat faeces.
- 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: Unscii: a bitmapped Unicode font for blocky graphics.
- 2018-11-18: The invention of the AeroPress.
- 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: Bit fields in the Zig programming language.
- 2018-11-16: Tips on migrating SQL from Oracle to PostgreSQL.
- 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: Period-tracking apps are not for women.
- 2018-11-15: The Asus Eee: how close did we come to a Linux desktop?
- 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: The easiest way to debug node.js is with VSCode.
- 2018-11-12: Hob3l: 100x faster slicing of SCAD files for 3D printing.
- 2018-11-12: Distributed consistency at scale: Spanner vs. Calvin.
- 2018-11-12: Refactoring towards language with Objective C.
- 2018-11-11: Some notes on running new software in production.
- 2018-11-12: 25th anniversary of NCSA Mosaic 1.0.
- 2018-11-11: RocketLab's successful launch in New Zealand brings quick, cheap space access.
- 2018-11-11: Why Intel processors draw more power than expected: TDP and Turbo explained.
- 2018-11-11: HTTP-over-QUIC will be HTTP/3.
- 2018-11-11: TLS: what can go wrong?
- 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: 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: Amazon's AbeBooks backs down after booksellers stage global protest.
- 2018-11-09: Introducing Badger: A fast key-value store written purely in Golang.
- 2018-11-09: Deliveroo's data shows cyclists are faster in cities than cars and motorbikes.
- 2018-11-09: A history of the sentence "buffalo buffalo buffalo buffalo buffalo".
- 2018-11-09: Haskell type checker complaint 184 of 698.
- 2018-11-09: GitHub reaches 100 million repositories.
- 2018-11-07: Profiling: the case of the missing milliseconds.
- 2018-11-07: Migrating away from Google Maps and cutting costs by 99%.
- 2018-11-07: Donut math: how donut.c works.
- 2018-11-07: On dealing with owning and borrowing in public interfaces in Rust.
- 2018-11-07: .brand TLD observatory.
- 2018-11-07: Interprocedural borrow conflicts in Rust.
- 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: Colorful language: decoding utility markings spray-painted on city streets.
- 2018-11-06: Performance of SMT solving on an iPhone.
- 2018-11-06: British underground utility colour codes explained.
- 2018-11-06: SF writer Greg Egan and anonymous 4chan poster advance permutation problem.
- 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: How managers can decide which data science projects to pursue.
- 2018-11-04: AI ethics, impossibility theorems, and tradeoffs.
- 2018-11-04: How to manage connections efficiently in Postgres.
- 2018-11-02: ExploderBot: a slow-drip DDoS attack system.
- 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-11-01: Why pencils are yellow.
- 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-29: Atlassian incident management handbook.
- 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: HiDPI on dual 4K monitors with Linux.
- 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: 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: RobinHood tail latency aware caching: dynamic reallocation from cache-rich to cache-poor.
- 2018-10-26: From the endpoint to the cloud: Joanna Rutkowska says goodbye to Qubes OS.
- 2018-10-26: A Plan 9 C compiler for RISC-V.
- 2018-10-25: US copyright office ruling imposes sweeping right-to-repair reforms.
- 2018-10-25: MongoDB's Server Side Public License is likely unenforceable.
- 2018-10-26: The peer review industry: implausible and outrageous.
- 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: Bitcoin must die.
- 2018-10-25: Stardate 5928.5. USS Enterprise monthly catchup meeting with DS9.
- 2018-10-25: Investigating the implausible Bloomberg Supermicro stories.
- 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: A fast, reliable cuckoo hash table for Node.js.
- 2018-10-24: .br DNSSEC algorithm rollover report.
- 2018-10-24: Drivers wildly overestimate what "semiautonomous" cars can do.
- 2018-10-24: Why did the golden age of The Simpsons end?
- 2018-10-24: The myth of whiteness in classical sculpture.
- 2018-10-24: Consolidation, centralisation, and the Internet architecture.
- 2018-10-24: Apps installed on millions of Android phones tracked user behavior to execute a multimillion-dollar ad fraud scheme.
- 2018-10-23: LLVM on SVN to GitHub migration.
- 2018-10-23: An alternative history of Silicon Valley disruption.
- 2018-10-23: Lack of progress exposed by the Canary MacGuffin.
- 2018-10-23: Is WebAssembly faster than JavaScript?
- 2018-10-23: Hexagonal Architecture: three principles and an implementation example.
- 2018-10-23: Advanced techniques to implement fast hash tables.
- 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: Windows Server 2019 and Windows 10 October 2018 Update implement leap seconds in a UTC-compliant manner.
- 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: Facebook is now adding "fbclid" surveillance parameters to outbound links.
- 2018-10-22: First-class automatic differentiation in Swift: a manifesto.
- 2018-10-22: Superpermutations.
- 2018-10-22: Intel kills off its 10nm process.
- 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: It's not a bug, it's a feature.
- 2018-10-20: The elegance of deflate (zlib).
- 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: The illustrated TLS connection: every byte explained.
- 2018-10-20: Encrypted SNI comes to Firefox Nightly.
- 2018-10-20: JavaScript fat arrow functions: how, why, when, and when not to use them.
- 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: Orca: differential bug localization in large-scale services.
- 2018-10-19: Exoplanet sizes and spacing around other stars is unlike what we see in our own system.
- 2018-10-19: Looking back at 20 years of ICANN.
- 2018-10-19: Fold N Fly paper aeroplane designs.
- 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: Accessibility Cheatsheet: practical approaches to universal design.
- 2018-10-17: MODALZ MODALZ MODALZ: design patterns for avoiding modal popups.
- 2018-10-17: Bankruptcy and destitution is what happens when you take Ayn Rand seriously.
- 2018-10-17: REPT: reverse debugging of failures in deployed software on Windows.
- 2018-10-15: A batpoo-eating pitcher plant.
- 2018-10-15: GitLab.com stability and performance after migration from Microsoft Azure to Google Cloud.
- 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: Dropbox Debug connection diagnostics.
- 2018-10-11: GitHub Debug connection diagnostics.
- 2018-10-11: Uncoiling the spiral: Maths, hallucinations, and patterns in fur.
- 2018-10-11: Fastly Debug connection diagnostics.
- 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-11: Dropbox traffic infrastructure: Edge network.
- 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: Web advertising, where your data is traded in the time it takes to click.
- 2018-10-10: A Rust FFI adventure in unsafety.
- 2018-10-10: pgFormatter: A PostgreSQL SQL syntax beautifier.
- 2018-10-10: Secrets in serverless functions.
- 2018-10-10: Who is stealing my power? An ad network case study.
- 2018-10-10: Despite proposed solutions, DNS security issues remain.
- 2018-10-10: Continued progress porting Emacs to Rust.
- 2018-10-10: 12 factor CLI apps.
- 2018-10-09: Biscuit: a research OS written in Golang.
- 2018-10-09: Rust RAII is better than Haskell's bracket pattern.
- 2018-10-09: The benefits and costs of writing a POSIX kernel in Golang.
- 2018-10-08: bpftrace (DTrace 2.0) for Linux: source code now available.
- 2018-10-09: Reified generics: the search for a cure.
- 2018-10-08: The truth about traditional JavaScript benchmarks.
- 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-04: Sans Forgetica: a font designed to help you remember your study notes.
- 2018-10-04: Bloomberg's ‘The Big Hack'.
- 2018-10-05: Do you really know CORS?
- 2018-10-05: Peeking behind the curtains of serverless platforms.
- 2018-10-05: Ubuntu Linux performance over the past six years on an Intel Xeon server.
- 2018-10-04: The Big Hack: how China used a tiny chip to infiltrate American companies.
- 2018-10-03: The mystery of the continuously functioning battery from 1840.
- 2018-10-04: Bagpiper: decentralized secret management at Airbnb.
- 2018-10-04: TLS token-binding standard gains a foothold on the Web.
- 2018-10-04: How Dropbox rolled out one of the largest Python 3 migrations ever.
- 2018-10-03: Commodore 64 left outside for over a decade! Could it still work? (YouTube)
- 2018-10-03: A history of .NET runtimes.
- 2018-10-03: The rise of Netflix competitors pushed consumers back toward piracy.
- 2018-10-03: The remarkable persistence of 24x36mm.
- 2018-10-03: Arm offers free-as-in-beer Cortex IP for Xilinx FPGAs.
- 2018-10-03: Intel ME Manufacturing Mode and Apple MacBook vulnerability CVE-2018-4251.
- 2018-10-03: How cyber attackers stole £2.26m from Tesco Bank customers.
- 2018-10-03: Kubernetes: a surprisingly affordable platform for personal projects.
- 2018-10-03: Why are enterprises so slow?
- 2018-10-03: When workers automate their own duties, who should reap the benefits?
- 2018-10-02: The art of DNS subdomain enumeration.
- 2018-10-02: Introducing dav1d: a new AV1 decoder.
- 2018-10-02: Vigilante engineer stops Waymo from patenting key lidar technology.
- 2018-10-02: What the heck is going on with measures of programming language popularity?
- 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: Innocent until proven guilty / believe the plaintiff.
- 2018-09-29: State of memory safety in Linux.
- 2018-09-29: Rust collections case study: BTreeMap.
- 2018-09-29: How 50 million Facebook accounts were hacked.
- 2018-09-29: The relative performance of C and Rust: AVL tree vs B-tree.
- 2018-09-28: How to visualize decision trees.
- 2018-09-28: Building Raspberry Pi systems with Yocto.
- 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: Review of the system failure that led to the 2018 tax day IRS outage.
- 2018-09-24: Computer scientists close in on a proof of the Unique Games conjecture.
- 2018-09-25: Taking algorithms to court: current strategies for litigating government use of algorithmic decision-making (in the USA).
- 2018-09-25: Am I logged in or not? GDPR and the Google Chrome browser sync change.
- 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: The Open Graph protocol: web page metadata for Facebook.
- 2018-09-21: Core Coroutines: making C++ coroutines simpler, faster, and more general.
- 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-21: Whatever happened to the semantic web?
- 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: RIPE's DNSSEC signer migration.
- 2018-09-18: Apple and Firefox aim to thwart Facebook and Google tracking.
- 2018-09-18: DDoS attacks on colleges and universities: who, when and why?
- 2018-09-18: What really happened to Apple's AirPower.
- 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: Bring back the shadows: the case against HDR.
- 2018-09-17: Bitslicing: an introduction.
- 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 five levels of logging.
- 2018-09-15: Most of the Daily Mail's 'commentors' don't even exist.
- 2018-09-15: The strange history of Myers-Briggs personality tests.
- 2018-09-15: The widely divergent life expectancy in every county in the USA.
- 2018-09-15: What most remote work companies don't tell you about remote work.
- 2018-09-15: We're measuring the economy all wrong.
- 2018-09-15: XML, blockchains, and the strange shapes of progress.
- 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: What the GlobalFoundries retreat really means.
- 2018-09-13: UK mass surveillance ruled unlawful in landmark ECHR judgment.
- 2018-09-13: YANG alarms.
- 2018-09-12: Parallelizing PNG: choosing Rust for `mtpng`.
- 2018-09-13: European Commission proposes ending DST in March 2019.
- 2018-09-12: Adventures in Rust: DNS lookups with futures and Tokio.
- 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-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: Let's Encrypt at scale, for 3000+ web sites at AutoTrader.
- 2018-09-12: Hashicorp Vault: why we need dynamic secrets.
- 2018-09-12: Brendan Eich's Brave browser files GDPR complaint against Google's adtech.
- 2018-09-11: The "developer experience" bait-and-switch: JavaScript is the web's greenhouse gas.
- 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-11: An IPv6 update: how APNIC measures the Internet.
- 2018-09-11: PostgreSQL 11 JIT compilation of queries.
- 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: 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-10: Spoofing DNS with IP fragments.
- 2018-09-10: The first 15 years of PyPy: a personal retrospective.
- 2018-09-11: DoT and DoH: it's DNS, Jim, but not as we know it!
- 2018-09-10: A23D: a 3D-printed letterpress font.
- 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: `git log --follow` over-enthusiastically tracks empty files.
- 2018-09-10: Highlights from Git 2.19.
- 2018-09-10: libcurl gets a URL parser API.
- 2018-09-10: Starting an Internet service provider, part 2: deploying fiber.
- 2018-09-10: Why Rust closures are (somewhat) hard.
- 2018-09-10: Why can't apes talk? Considering primate speech.
- 2018-09-10: An introduction to inline classes in Kotlin.
- 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: 5 mistakes C/C++ devs make writing Golang.
- 2018-09-09: xsv: a CSV command line toolkit written in Rust.
- 2018-09-09: 10 physics facts you should have learned in school but probably didn't.
- 2018-09-09: The algebra (and calculus!) of algebraic data types.
- 2018-09-09: The two dualities of computation: negative and fractional algebraic data types.
- 2018-09-09: Java 11: Time to look beyond Oracle's JDK.
- 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-07: TLS session resumption allows Google and Facebook to track you without cookies.
- 2018-09-08: ripgrep 0.10.0 with pcre support.
- 2018-09-07: The mysterious case of Chrome's hidden URLs and Google's AMP.
- 2018-09-08: Surprising hidden order unites prime numbers and crystal-like materials.
- 2018-09-07: SQL style guide.
- 2018-09-08: Quarternions: the strange numbers that birthed modern algebra.
- 2018-09-07: Keybase's browser extension exposes decrypted messages to third party web sites.
- 2018-09-08: Zero overhead deterministic failure: a proposed mechanism for C and C++.
- 2018-09-07: Golang says WAT?
- 2018-09-07: The monopoly-busting case against Google, Amazon, Uber, and Facebook.
- 2018-09-07: How gRPC uses HTTP/2.
- 2018-09-07: The new science of seeing around corners.
- 2018-09-07: How the Golang runtime implements maps efficiently (without generics).
- 2018-09-07: Google AMP can go to hell.
- 2018-09-07: Stabbing yourself with a fork() in a Python multiprocessing.Pool full of sharks.
- 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: Google wants to kill the URL.
- 2018-09-07: Best practices for mobile form design.
- 2018-09-07: Radical open-access plan could spell end to academic journal subscriptions.
- 2018-09-07: cOAlition S: a European initiative for full and immediate Open Access to research publications.
- 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: On Firefox moving DNS to a third party.
- 2018-09-05: Function poisoning in C++ with gcc.
- 2018-09-05: Burroughs B5500 emulator.
- 2018-09-05: Convergence of AIX and 4.3BSD.
- 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: Java's new Z Garbage Collector (ZGC).
- 2018-09-05: uvm: a BSD virtual memory system.
- 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-03: A critique of resizable distributed hash tables: Riak Core vs random slicing.
- 2018-09-04: On-site group chat alternatives to HipChat or Slack.
- 2018-09-04: Hysteria was not treated with vibrators.
- 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-02: A story about tracking down TCP RSTs.
- 2018-09-02: Anycast TCP.
- 2018-09-03: Relativistic quantum chemistry: why gold is yellow and mercury is liquid.
- 2018-09-02: Mastodon and the challenges of abuse in a federated system.
- 2018-09-01: Zero-copy deserialization in Julia.
- 2018-08-31: Shifting solid bulk cargoes: an explanation of the process and dangers.
- 2018-08-31: The abelian sandpile model.
- 2018-08-31: Can Beethoven send copyright takedown requests?
- 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-30: Life-size drivable LEGO Technic Bugatti Chiron.
- 2018-08-31: C considered dangerous: mitigations in the Linux kernel.
- 2018-08-30: Firefox in-page pop-up reporter.
- 2018-08-31: On the worst-case complexity of TimSort.
- 2018-08-31: The performance cost of Spectre / Meltdown / Foreshadow mitigations on Linux 4.19.
- 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: 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: Lazy sequences in Swift and how they work.
- 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: A new Linux kernel AIO polling interface.
- 2018-08-28: RedHat and SUSE withdraw support for OpenLDAP.
- 2018-08-28: Goodbye VSCode, hello Emacs (again).
- 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: How Facebook, Apple, Microsoft, and others are contributing to OpenStreetMap.
- 2018-08-28: wideNES: peeking past the edge of NES games.
- 2018-08-28: Spectrum of possibilities: a GUI color guide.
- 2018-08-28: Fixing slow MacBook WiFi reconnect after sleep.
- 2018-08-28: The rise of dismal sf: to understand our economic system, we need speculative stories.
- 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: A satellite engineer explains the challenges of space electronics.
- 2018-08-26: Emoji: in the beginning.
- 2018-08-26: The paradox of Karl Popper.
- 2018-08-26: The Great Barrier Reef is headed for ‘massive death'.
- 2018-08-26: The how and why of the design of the Lucida fonts.
- 2018-08-26: How the Netherlands feeds the world.
- 2018-08-26: The illegal ramen vendors of postwar Tokyo.
- 2018-08-26: Swan sanctuary says bread is good for wildfowl.
- 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-22: Home Assistant: open source home automation with Python.
- 2018-08-23: The war over supercooled water: a seven year scientific dispute caused by a coding error.
- 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: Why are record companies dumping their Spotify stock?
- 2018-08-22: Orkney tidal turbine generating 'phenomenal result'.
- 2018-08-22: Sex, religion, and a towering treatise on anatomy.
- 2018-08-22: The undertakers of Silicon Valley: how failure became big business.
- 2018-08-22: New attack recovers RSA encryption keys from EM waves within seconds.
- 2018-08-22: Picycle: donate your unused Raspberry Pi for scientific research.
- 2018-08-22: Google's voracious data collection.
- 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: 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-20: Catching integer overflows in C.
- 2018-08-21: Live map of London Underground trains.
- 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: Tobacco cocktails are a terrible idea.
- 2018-08-19: Directional freezing: a method for making clear ice.
- 2018-08-18: Advice for data organization in spreadsheets.
- 2018-08-18: John Conway's method for walking up stairs.
- 2018-08-18: The Ramsey sweep: mark/sweep garbage collection in time proportional to the live data, not heap size.
- 2018-08-18: The T programming language: an early dialect of Scheme.
- 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: Pixelblaze V2: an advanced LED pattern development engine and controller.
- 2018-08-16: FastLED: an animation library for Arduino.
- 2018-08-16: Are patent claims coming for your WS2812 Neopixels?
- 2018-08-16: BARR-C:2018 embedded C coding standard, harmonized with MISRA C 2012.
- 2018-08-15: The "server-process-edition" branch of SQLite.
- 2018-08-15: Scientists discover how to make schwartzite (negatively curved carbon sheets) after decades of searching.
- 2018-08-15: Sequences, sequences, and sequences: Fred Sanger's academic autobiography.
- 2018-08-15: Not on your life: six means of sf transportation I would not use.
- 2018-08-15: Strongly universal string hashing is fast.
- 2018-08-15: Meltdown strikes back: the Intel L1 terminal fault (L1TF / Foreshadow) vulnerability.
- 2018-08-15: Fastly's response to the SegmentSmack vulnerability.
- 2018-08-15: Diagnosing a weak memory ordering bug.
- 2018-08-15: Bullshit-sensitivity predicts prosocial behavior.
- 2018-08-15: Open Journal Systems: open-source academic journal publishing software.
- 2018-08-15: Passive observations of a large DNS service.
- 2018-08-14: If quantum computers are not possible, why are classical computers possible?
- 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: Can you break a stick of spaghetti into just two pieces? Yes! (With a twist.)
- 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: Rosenbridge: a hardware backdoor in VIA C3 x86 processors.
- 2018-08-10: µUBSan: a clean-room reimplementation of the Undefined Behavior Sanitizer runtime.
- 2018-08-09: An ingenious but failed BMW theft attempt.
- 2018-08-09: Julia 1.0
- 2018-08-10: Smoking around the world.
- 2018-08-09: Dark energy may be incompatible with string theory.
- 2018-08-09: Airtime for Hitler on BBC.
- 2018-08-09: "What have we done?" Silicon Valley engineers fear the gig economy they have created is a monster.
- 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: V8 JavaScript engine release v6.9
- 2018-08-08: A timesyncd total failure and systemd's complete lack of debugability.
- 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: What's going on in the Rosetta timelapse video from the surface of a comet.
- 2018-08-06: Polyhedra Viewer: visualize the relationships between the convex, regular-faced polyhedra.
- 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: The science behind non-Newtonian noodles.
- 2018-07-31: A friendly guide to colours in data visualisation.
- 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: When you need to rip the same CD 300 times.
- 2018-07-31: How to read an RFC.
- 2018-07-31: Elsevier's demands are unacceptable for the German academic community.
- 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: What economists still don't get about the 2008 financial crisis.
- 2018-07-30: Haskell: If monads are the solution, what is the problem?
- 2018-07-30: Announcing TypeScript 3.0.
- 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: 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: Secure boot on Apple Mac T2 computers.
- 2018-07-30: Doug McIlroy's C++ regular expression matching library.
- 2018-07-30: Routinator 3000: RPKI relying party software in Rust.
- 2018-07-29: When does white space matter in HTML?
- 2018-07-29: The rejected transistor at the heart of the iconic Roland TR-808.
- 2018-07-29: Ghost characters: a spectre is haunting Unicode.
- 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: 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: #ifdef considered harmful: portability experience with C News.
- 2018-07-28: Ryū: fast float-to-string conversion.
- 2018-07-28: Ryu: convert floating point numbers to decimal strings.
- 2018-07-28: A map showing the steepness of streets.
- 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: The death of a TLD.
- 2018-07-28: Why restaurants became so loud, and what you can do about it.
- 2018-07-28: Keep a Changelog.
- 2018-07-27: RSSAC023: a history of the DNS root nameserver system.
- 2018-07-26: NetSpectre: read arbitrary memory over the network.
- 2018-07-26: 15 years of SparkFun.
- 2018-07-27: Ride-hailing services such as Uber and Lyft are not reducing traffic in American cities.
- 2018-07-26: Prefix sums and their applications.
- 2018-07-26: WebAssembly security model.
- 2018-07-26: The Finkbeiner Test: a tool for writing about women in their professions.
- 2018-07-26: The Shipping Forecast.
- 2018-07-26: Testing for divisibility by 7.
- 2018-07-26: Compile-time function evaluation and Rust's type system.
- 2018-07-26: Is WebAssembly the return of Java applets and Flash?
- 2018-07-26: Breaking Bluetooth pairing with an ECC fixed coordinate invalid curve attack.
- 2018-07-26: Notes on secure BGP from IETF 102.
- 2018-07-26: Is it possible to make floating point calculations completely deterministic?
- 2018-07-26: What's with sf's fixation on single-gendered planets?
- 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: Inside the Windows Console.
- 2018-07-21: The wrong abstraction.
- 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: Into the Borg: an SSRF vulnerability inside Google's production network.
- 2018-07-21: Riving, a Viking-age woodworking technique.
- 2018-07-21: Regex character ranges and locales: a long sad story.
- 2018-07-21: Doing Windows, part 5: version 2 and Excel.
- 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: How to port your OS to Amazon EC2.
- 2018-07-14: A history of the inverse-T arrow key layout.
- 2018-07-13: Street orientation of Dutch cities.
- 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: 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: Social and cultural aspects of drinking: drunkenness is learned behaviour.
- 2018-07-08: A resource list for domestic abuse victims targeted using Internet of Things devices.
- 2018-07-08: Against academic meritocracy.
- 2018-07-08: Why Mastercard doesn't use OAuth 2.0.
- 2018-07-08: PuzzleScript: an open-source HTML5 puzzle game engine.
- 2018-07-08: Version control before Git with CVS.
- 2018-07-08: OAuth 2 simplified.
- 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: 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: Measurements of the impact of open offices on collaboration.
- 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-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: A survey of programming language package systems.
- 2018-07-02: California passes its own GDPR to stymie a data protection ballot initiative.
- 2018-07-02: Reclaiming RSS.
- 2018-07-02: Sereal: Fast, compact, schema-less, binary serialization and deserialization for Perl and other dynamic languages.
- 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: Computational Necromancy: MOST-POSITIVE-BIGNUM on the TI Explorer.
- 2018-07-02: Extractive contributors: How open is too open?
- 2018-07-02: The independent researcher.
- 2018-07-01: Design case history: the Commodore 64.
- 2018-07-01: Developers. Our last, best hope for ethics?
- 2018-07-01: TCP small queues and WiFi aggregation: a war story.
- 2018-07-01: How we discovered three poisonous books in our university library.
- 2018-07-01: Bringup is hard: some hints and tips on porting NetBSD to a new hardware platform.
- 2018-07-01: On C++ random number generator quality.
- 2018-07-01: Debugging with C-Reduce.
- 2018-07-01: Why you should not use Google Cloud.
- 2018-07-01: No, you don't need ML/AI. You need SQL.
- 2018-07-01: aLTEr: breaking LTE on layer two.
- 2018-07-01: Rust pointers for C programmers.
- 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: New GPU-accelerated supercomputers change the balance of power on the TOP500.
- 2018-06-28: Python 3 at Facebook.
- 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: Supercharging the Git commit graph.
- 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-27: Safe API design with the ghosts of departed proofs.
- 2018-06-27: Algebraic blindness: Boolean blindness for modern type systems.
- 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: Letting neural networks be weird: The Visual Chatbot.
- 2018-06-26: CheckTLS secure email.
- 2018-06-26: Java tricks with 'var' and anonymous classes (that you should never use at work).
- 2018-06-26: STARTTLS everywhere: how well does your mail server support TLS?
- 2018-06-25: .gov.?? 2LDs in various European countries.
- 2018-06-25: Parsing with derivatives. (Slides)
- 2018-06-25: A history of CPAN.
- 2018-06-25: Parsing with derivatives. (Paper)
- 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: JSON5: JSON for humans.
- 2018-06-21: Hjson: a user interface for JSON.
- 2018-06-21: Zen magnets: 6 years of litigation ends In victory.
- 2018-06-21: Jsonnet: a data templating language.
- 2018-06-21: zish: A data serialization format.
- 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: HOCON: human-optimized config object notation.
- 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: From Ruby + ActiveRecord to Rust + Diesel.
- 2018-06-20: A broad overview of how modern Linux systems boot.
- 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: Where do Rust threads come from?
- 2018-06-15: LiteBSD: 4.4BSD for microcontrollers.
- 2018-06-15: RetroBSD: Unix for microcontrollers.
- 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: PCG: a family of better random number generators.
- 2018-06-10: xoshiro/xoroshiro random number generators and the PRNG shootout.
- 2018-06-10: pledge() and unveil() in OpenBSD.
- 2018-06-10: Minimalist C libraries.
- 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: "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: Attacks against machine learning: an overview.
- 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-03: Inside Firefox's DNS-over-HTTPS (DoH) engine.
- 2018-06-03: The human scalability of DevOps.
- 2018-06-04: A scope safe universe of syntaxes with binding, their semantics and proofs.
- 2018-06-03: Women used to wear huge pockets like these under their petticoats.
- 2018-06-03: Quick and dirty PoC for git CVE-2018-11235.
- 2018-06-03: CVE-2018-11235 git RCE write-up.
- 2018-06-03: String trepanation.
- 2018-06-03: One year of C.
- 2018-06-03: Cuntroversy: on reclaiming the C-word.
- 2018-06-03: China has turned Xinjiang into a police state like no other.
- 2018-06-03: The secrets of a diary written under the floorboards of a French château.
- 2018-06-03: AI4Animation: quadruped animation in Unity3D using biologically-inspired deep learning.
- 2018-06-03: How Ireland beat dark ads in their abortion referendum.
- 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 Cory Doctorow's story in support of jailbreaking.
- 2018-06-02: Deep learning: a critical appraisal.
- 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 John Scalzi's story in support of the right to repair.
- 2018-06-02: The academic / ISO view of the NSA Simon/Speck encryption algorithms.
- 2018-06-01: Avoid under-prepared meetings.
- 2018-06-01: IETF PRECIS and i18n. (successor to stringprep)
- 2018-06-01: Improving DNS privacy in Firefox with DNS-over-HTTPS (DoH).
- 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: Random Slicing: efficient and scalable data placement for large-scale storage systems.
- 2018-05-31: Signed Integers are Two's Complement.
- 2018-05-31: Ireland shows us how to run a referendum.
- 2018-05-31: European Data Protection Board backs ban on 'cookie walls'.
- 2018-05-31: I am a computer: gorgeous gifs of marvellous micros.
- 2018-05-31: Golang gotcha: when nil != nil.
- 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: A large collection of links on capability theory.
- 2018-05-30: Why picture frames tilt forward.
- 2018-05-30: Introduction to the gfortran array descriptor / dope vector.
- 2018-05-30: Cautioning health-care professionals: bereaved persons are misguided through the "stages" of grief.
- 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-29: UTC is enough for everyone, right?
- 2018-05-29: A map of dogs of the world and their countries of origin.
- 2018-05-30: Post-Spectre threat model re-think for Google Chrome.
- 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: The deceptively complex world of calendar events and RRULEs.
- 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: DNS flag day: stop working around broken EDNS servers after 2019-02-01.
- 2018-05-29: Effectiveness of anonymization in double-blind peer review.
- 2018-05-28: Cloud computing sticker shock is now a monthly occurrence at many companies.
- 2018-05-29: When FFI function calls beat native C.
- 2018-05-28: Remember the Vasa! Endangering the future of C++?
- 2018-05-28: The birth of a new American aristocracy.
- 2018-05-28: Elon Musk is a modern Henry Ford. That's bad.
- 2018-05-28: NetBSD network stack security audit.
- 2018-05-28: Ditch your scumbag friend: a life hack for men who want to be feminists.
- 2018-05-28: Evaluating the cost of atomic operations on modern CPU architectures.
- 2018-05-28: A map of station pubs.
- 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: 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: SmoothLife: Game of Life on a continuous domain in Python with Numpy.
- 2018-05-26: Why media companies fear, and photographers love, this voracious copyright lawyer.
- 2018-05-25: Can we please talk about privacy, not GDPR, now?
- 2018-05-25: Prettier: an opinionated code formatter for JavaScript etc.
- 2018-05-25: prettier-emacs: Minor mode to format JS code when you save.
- 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: 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: 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: 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: Various ways to disable stdio buffering from the command line.
- 2018-05-22: Hidden sheep in the original Macintosh bitmap fonts.
- 2018-05-22: Simple compile-time prevention of SQL injection in Rust.
- 2018-05-22: Playing battleships over BGP.
- 2018-05-22: snpm: a proof of concept to ensure consistency between NPM packages and their source code.
- 2018-05-22: Finding a Google App Engine RCE bug.
- 2018-05-22: Happy 21st Century!
- 2018-05-20: Lafable: large agile framework appropriate for big lumbering enterprises.
- 2018-05-20: What do we mean when we say "show the thing"?
- 2018-05-20: Twitter for Academics 101.
- 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: Sweden cancels Elsevier contract as open-access dispute spreads.
- 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: Performance impact of removing Ruby out-of-band garbage collection at GitHub.
- 2018-05-19: Introducing Git protocol version 2.
- 2018-05-17: Was the Efail disclosure horribly screwed up?
- 2018-05-18: Towards built-in sharding for PostgreSQL.
- 2018-05-17: "We don't need IPv6".
- 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: IPv6 excuse bingo.
- 2018-05-17: Unique IPv6 prefix per host.
- 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: Towards IPv6 only: A large scale RFC 7596 lw4o6 deployment for broadband users.
- 2018-05-16: Fragmented IPv6 router advertisement handling on different operating systems.
- 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: John Regehr's software engineering course.
- 2018-05-15: Filling in PDF forms from the Linux command line.
- 2018-05-15: A job building software to kill people, but don't get distracted by that.
- 2018-05-15: EveryRFC: an RFC search engine.
- 2018-05-15: The collateral damage of Internet censorship by DNS injection.
- 2018-05-15: apgdiff: another PostgreSQL diff tool.
- 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-14: Joan Taylor's tilings.
- 2018-05-15: pgquarrel: compare PostgreSQL database schemas, and emit SQL DDL representing the diff.
- 2018-05-15: Drawables, reparenting, compositing, etc. in X11.
- 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: The PostgreSQL "shared_buffers smile" performance trough.
- 2018-05-12: Clang++ `[[trivial_abi]]` 101.
- 2018-05-12: Tesla's giant battery in Australia reduced grid service cost by 90%.
- 2018-05-11: First, let's fire all the managers.
- 2018-05-11: Pyre: fast static type checking for Python.
- 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: Scientists stuffed a crocodile Into an MRI machine to see if it likes Bach.
- 2018-05-10: The importance of time synchronization in the FOAM proof-of-location protocol.
- 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: As easy as 1,2,3: how the Indian decimal place system came to Europe.
- 2018-05-08: Choosing fonts for complex data.
- 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: Against trendism: how to defang the social media disinformation complex.
- 2018-05-07: Thermal paper Polaroid camera.
- 2018-05-06: SUE the T. Rex is a nonbinary icon.
- 2018-05-06: Grass: an esoteric programming language based on A-normalized, lambda lifted, De Bruijn indexed, untyped lambda calculus.
- 2018-05-06: The quadratic equation and low-precision arithmetic.
- 2018-05-06: Lessons learned from the .SE DNSSEC algorithm rollover.
- 2018-05-05: The epic mistake about manufacturing that's cost Americans millions of jobs.
- 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: 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: 7-Zip: from uninitialized memory to remote code execution.
- 2018-05-03: Yubikey/Smartcard backed TLS servers.
- 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: Python startup is too slow.
- 2018-05-02: Surveying the new optical form factors for 400 gigabit Ethernet.
- 2018-05-02: Rust in production.
- 2018-05-02: Morse code in the music.
- 2018-05-02: WS-* web services standards overview.
- 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: 7 inexcusable yet common UX gaffes that make you look like a total amateur.
- 2018-05-02: Linux /dev/random flaws.
- 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: On incomplete HTTP reads and the requests library in Python.
- 2018-04-26: Titus: the Netflix container management platform.
- 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: What you get is what you C: Controlling side effects in mainstream C compilers.
- 2018-04-24: Delta pointers: buffer overflow checks without the checks.
- 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: What's the length of shortest bit sequence that's never been sent over the Internet?
- 2018-04-19: Important flatland research: day and night on the Dymaxion map.
- 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: Programming languages and empiricism.
- 2018-04-16: Zuckerberg can't blame Cambridge University for Facebook's privacy violations.
- 2018-04-16: How could we tell if there was a civilization on Earth before Humans?
- 2018-04-16: Jupyter, Mathematica, and the future of the research paper.
- 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: protobuf-lua: Lua protobuf library and proton output plugin.
- 2018-04-12: lua-protobuf: Lua support for Google's protocol buffers.
- 2018-04-12: lua-protobuf: A Lua module to work with Google protobuf.
- 2018-04-11: prototool: a Swiss army knife for protobufs.
- 2018-04-11: protozero: minimalist protobuf decoder and encoder in C++.
- 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: AlterEgo: a personalized wearable silent speech interface.
- 2018-04-07: Looking back at ten years of availability zone compartmentalization at AWS.
- 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: The secret life of NaN: an intro to a boxed value hack for dynamic languages.
- 2018-04-06: How did we end up with containers?
- 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: DNSSD roadmap: an overview of DNS-based service discovery.
- 2018-04-04: Fifty or sixty years of processor development and the end of performance scaling.
- 2018-04-04: Intersecting polygons: A geometric Rust adventure.
- 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: 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: 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: The joy of max(): Linux C macro hackery.
- 2018-04-01: You can't Rust that.
- 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: How not to make claims about genetic differences between races.
- 2018-03-30: De-Google-ify the Internet.
- 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: Jeeves: the first DNS server.
- 2018-03-29: How I erased 5000+ Facebook comments and likes.
- 2018-03-29: Junk traffic to 1.0.0.0/8.
- 2018-03-29: CHIVES: an old DNS server.
- 2018-03-29: Golang proposal: non-cooperative goroutine preemption.
- 2018-03-29: Hubble finds first galaxy in the local Universe without dark matter.
- 2018-03-29: Hello, and welcome to DNS!
- 2018-03-29: Detecting integer constant expressions in C macros.
- 2018-03-29: Dragonfly: an optical telescope built from an array of off-the-shelf Canon lenses.
- 2018-03-29: Securing the Kubernetes dashboard.
- 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: "It all made sense when we found out we were autistic".
- 2018-03-27: Security keys, web authentication, U2F, and CTAP.
- 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: We need to go deeper: Meltdown and Spectre flaws will force security further down the stack.
- 2018-03-26: The Isle of Wight's railway is having trouble replacing its ex-tube rolling stock.
- 2018-03-26: Privacy International's history with web site security and what they do now.
- 2018-03-26: Mapping OpenSSL cipher suite names to RFC names.
- 2018-03-26: Tracing stolen bitcoin, using a precedent from 1816.
- 2018-03-25: What men need to know (and women need to tell them) about working together.
- 2018-03-26: Numbers and strings in JSON and Perl.
- 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: Recounting the rationals: twice!
- 2018-03-24: Bert's DNS camel RFC metrics viewer.
- 2018-03-24: New research suggests new ways to nurture gifted children.
- 2018-03-24: The myth of the male bumbler.
- 2018-03-24: Latrines: how Bangladesh vanquished diarrhoea.
- 2018-03-24: Facebook's surveillance machine.
- 2018-03-24: Chernoff faces: how do we kill bad ideas in visualization?
- 2018-03-24: Managing db schema changes without downtime in Rails.
- 2018-03-24: How the chili spread from its South American home and spiced up world cuisine.
- 2018-03-24: How genetics is changing our understanding of race.
- 2018-03-24: A cheap, brief "growth mindset" intervention shifted struggling students onto a more successful trajectory.
- 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: A wild IPv6 attack appears! Open DNS resolvers on IPv6.
- 2018-03-23: Recommendations for engineering authoritative DNS servers.
- 2018-03-23: What roots do DNS resolvers use? // Top NXDOMAINs to the IANA root.
- 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: Peer review: the end of an error?
- 2018-03-22: Fractions in The Farey Sequences and the Stern-Brocot Tree.
- 2018-03-22: How US nuclear force modernization is undermining strategic stability: The burst-height compensating super-fuze.
- 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: How hard is it to get a cartoon Into the New Yorker?
- 2018-03-21: Project Nimble: faster AWS region evacuation.
- 2018-03-21: Ten reasons why not to like Golang.
- 2018-03-21: ISC Kea and NETCONF in 2018: towards automated configurability.
- 2018-03-21: Network Architecture Tester: a gift for outgoing IAB members based on a Raspberry Pi running open source software.
- 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: Why inheritance never made any sense.
- 2018-03-18: Booting Windows NT 4 on a DEC Multia.
- 2018-03-18: The Northern Lights as seen from a U-2 at 70,000 feet.
- 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: Ephemeris time vs universal time: two kinds of time, two kinds of time scale. (1954)
- 2018-03-15: Kickstarting free software: getting financial support for the Mitogen Ansible accelerator.
- 2018-03-15: The surprising creativity of digital evolution: anecdotes from evolutionary computation and artificial life research.
- 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: Physicists still don't know what puts the curl in curling.
- 2018-03-15: The German Society of Auto-Correction.
- 2018-03-15: A look at a comic that touched on everything that makes Batman great.
- 2018-03-15: All tease, no tale: Hollywood's misplaced lady lands.
- 2018-03-15: Poetic License: 3-clause BSD in rhyme.
- 2018-03-15: Decoding the Signals in the Prime Minister's speech on the Russian poisoning of Sergei Skripal.
- 2018-03-15: Why is OOF an OOF and not an OOO?
- 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: The chemicals used to make bacon do cause cancer. So how did the meat industry convince us it was safe?
- 2018-03-14: The 'Badass Army' is training revenge porn victims to fight back.
- 2018-03-14: Why the UCU strike matters.
- 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-12: How a book warehouse is changing Columbia's library system.
- 2018-03-13: How we built our PostgreSQL cluster in a box using Patroni.
- 2018-03-12: Enduring file references in macOS.
- 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: Virtual private networks with WireGuard.
- 2018-03-12: OMG-WTF-8: optimized matching generalized wobbly transformation format (8-bit).
- 2018-03-12: Rogue GPL enforcement: Linux beats legal threat from one of its own developers.
- 2018-03-12: API versioning and evolution with proxies.
- 2018-03-12: Slack's bait-and-switch.
- 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: The KK Computer: a radical 6502 extension.
- 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: A huge WhatsApp leak reveals the full fury of the Tories' Brexit split.
- 2018-03-11: Fountain pen inks: the good, the bad, and the ugly.
- 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: The enemy within: Gut bacteria drive autoimmune disease.
- 2018-03-11: The three mistakes of centrism.
- 2018-03-11: Master password in Firefox or Thunderbird uses a very weak KDF.
- 2018-03-11: How Wikipedia chose the image for the ‘Human' entry.
- 2018-03-11: Literate DevOps with Emacs org-mode.
- 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: Staying awake: the surprisingly effective way to treat depression.
- 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: 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: UK faces €2 billion EU tab for China customs fraud.
- 2018-03-09: Are the IETF unreasonable cryptography zealots?
- 2018-03-08: DNSSEC for a large enterprise.
- 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: Elementary knightship found in Conway's Life: a travelling pattern with a new slope.
- 2018-03-08: Why DNSFilter replaced InfluxDB with TimescaleDB.
- 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: The Rubik's contraption solves a cube in 0.38 seconds.
- 2018-03-08: The uniquely versatile stinkbug is decimating crops and infiltrating houses all across the USA.
- 2018-03-07: A malicious vehicle can block "smart" intersections in 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-07: Quadrupling Ansible performance with Mitogen.
- 2018-03-08: The left hand of equals: object oriented equality in the Grace programming language.
- 2018-03-07: Dayton Miller's experiment to "prove" the theory of relativity incorrect.
- 2018-03-07: BFG repo-cleaner: a faster `git filter-branch`, written in Scala.
- 2018-03-07: Why Rust has macros.
- 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: Tiangong-1 destructive re-entry frequently asked questions.
- 2018-03-07: Supermassive black holes or their galaxies: which came first?
- 2018-03-07: How self-aware are people, really, according to science?
- 2018-03-07: Tiangong-1 reentry updates / latest predictions.
- 2018-03-07: Prototype to production: Building your first PCB prototype.
- 2018-03-07: bsdnt: a BSD licensed bignum library.
- 2018-03-07: The male glance: how we approach male vs. female work is ruining our ability to see good art.
- 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: Ten zombie statistics.
- 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-07: Surprise graphene discovery could unlock secrets of superconductivity.
- 2018-03-06: How generics were added to .NET and C#.
- 2018-03-06: The evolution of distributed systems management.
- 2018-03-06: The default TV settings aren't necessarily the best.
- 2018-03-06: libbf: Fabrice Bellard's big float library.
- 2018-03-06: World-first firing of air-breathing electric thruster for very low orbit satellites.
- 2018-03-06: ebtree: elastic binary trees. (Like embedded crit-bit trees.)
- 2018-03-06: Why the investor class hates pensions.
- 2018-03-06: zheap: a new storage engine for PostgreSQL to provide better control over bloat.
- 2018-03-06: Progressive locks: fast, upgradable read/write locks.
- 2018-03-06: The mystery of the slow downloads.
- 2018-03-06: The great lightbulb conspiracy.
- 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: Updated PostgreSQL Meltdown benchmarks.
- 2018-03-04: Exploring the Chomsky hierarchy, the linguistics behind regular expressions.
- 2018-03-04: Scotland's floating wind farm is showing how powerful offshore wind can be.
- 2018-03-04: Three girls, a dead raccoon, and a crockpot: how to clean up a skeleton.
- 2018-03-04: How not to be a crank: ten rules for not being a science-dick.
- 2018-03-04: The world of Linux handhelds in 2018.
- 2018-03-04: SlimerJS: a replacement for PhantomJS using recent Firefox.
- 2018-03-03: The first unified calendar and the invention of world history.
- 2018-03-03: Let's make the Emacs GC safe and iterative.
- 2018-03-03: Postmortem: performance issues and failures in Microsoft Visual Studio Team Services.
- 2018-03-03: GDPR: a practical guide for developers.
- 2018-03-03: Joy veh! What makes Jewish comedy Jewish?
- 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: Sortix: a small self-hosting operating-system aiming to be a clean and modern POSIX implementation.
- 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: Mac OS versus FreeBSD: a comparative evaluation.
- 2018-03-02: What to expect when you decide to migrate from Javascript to Typescript.
- 2018-03-02: Firefox configuration guide for privacy freaks and performance buffs.
- 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-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: Most images of black holes are illustrations. Here's what our telescopes actually capture.
- 2018-02-28: Rust status on Debian on various CPU architectures.
- 2018-02-28: Typestates in Rust.
- 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: O API: an alternative to REST.
- 2018-02-27: The unavailable Linux server: when TLS certificate validation fails.
- 2018-02-27: PostgreSQL internals: avoid error context stack corruption.
- 2018-02-27: Usenet, authentication, and engineering: early design decisions for Usenet.
- 2018-02-27: Peak DNSSEC?
- 2018-02-27: Vulkan is coming to macOS and iOS, but no thanks to Apple.
- 2018-02-26: Life as a woman with colour blindness, and Enchroma glasses.
- 2018-02-27: The struggles of women who mask their autism.
- 2018-02-27: The lost art of bending over: how other cultures spare their spines.
- 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: Compiler bug? Linker bug? Windows kernel bug.
- 2018-02-26: The Hypothesis continuous release process.
- 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: 10,000 year Clock of the Long Now gets lowered into Texas mountain.
- 2018-02-23: The US experience with the phasedown of lead in gasoline.
- 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: The quest for the missing DNSSEC keytags.
- 2018-02-23: A python development environment for 2018.
- 2018-02-23: Mysterious origin of domesticated horses ‘turned upside down' by DNA analysis.
- 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-20: Two x86 instruction sequences usually resynchronize after a few instructions because of the Kruskal Count.
- 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: Package management for Golang: thoughts on vgo and dep.
- 2018-02-21: Prestigious science journals struggle to reach even average reliability.
- 2018-02-21: Ruby's new JIT.
- 2018-02-21: Adventures with memory barriers and Seastar on Linux.
- 2018-02-21: vgo: golang += package versioning.
- 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: Existential crisis: heterogeneous collections in Haskell.
- 2018-02-19: Fabric linear motor.
- 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: How not to replace email: lessons from Google Wave.
- 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: The cabinet files: second-hand filing cabinets turned out to be full of classified Australian documents.
- 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: 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: Making propellor safer with GADTs and type families.
- 2018-02-16: Indic scripts and Unicode: picking apart the crashing iOS string.
- 2018-02-16: Choosing a perl templating system.
- 2018-02-16: Replacing jQuery with Vue.js: no build step necessary.
- 2018-02-16: Travis encrypted variables and external contributions.
- 2018-02-16: The Kautz graph.
- 2018-02-16: Hed, dek, lede, graf, tk: live with it.
- 2018-02-16: ‘Lede' vs. ‘Lead'.
- 2018-02-16: (HED) Folo My Lede (UNHED)
- 2018-02-16: Jim Roskind's C/C++ grammar.
- 2018-02-16: The Bishop Fox cybersecurity style guide.
- 2018-02-16: The entirely unnecessary demise of Barnes & Noble.
- 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: IRS clutches its modernization holy grail: converting their 50yo assembler codebase to Java.
- 2018-02-14: Dtrace for Linux: Oracle does the right thing.
- 2018-02-14: CSS grid for UI layouts.
- 2018-02-14: The SCRAM SASL authentication mechanism.
- 2018-02-14: PDP-7 Unix: building a development environment from scratch.
- 2018-02-14: LLVM's garbage collection facilities and SBCL's generational GC.
- 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: QQ Browser's textbook RSA fails to protect the privacy of hundreds of millions of users.
- 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: 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: When will the world reach 'peak child'?
- 2018-02-09: KPTI/Meltdown initial performance regressions.
- 2018-02-09: FreeBSD Broadcom WiFi improvements.
- 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: From telegram to tweet: a history of laws against malicious communications.
- 2018-02-07: The EM2S 60kHz radio receiver module and the MSF time signal.
- 2018-02-07: In Rust, ordinary vectors are values.
- 2018-02-07: Googlebot's Javascript random() function is deterministic.
- 2018-02-07: Why paper jams persist.
- 2018-02-07: PostgreSQL and compressed documents.
- 2018-02-06: Two years trying to fix the gender imbalance in a science writer's stories.
- 2018-02-07: Data retention, national security, and the ECJ: the continuing saga.
- 2018-02-07: Keyboard dissolves in acetone. (YouTube)
- 2018-02-06: DWF CNA registry: distributed weakness filing CVE numbering authorities.
- 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: The marbled crayfish clones itself, and it's taking over Europe.
- 2018-02-06: SRFI 110: sweet-expressions, an indentation-based syntax for Scheme.
- 2018-02-06: MITRE CVE numbering authorities.
- 2018-02-06: Confessions of a typewriter addict.
- 2018-02-05: Ignoring the domain when authenticating your Dovecot users.
- 2018-02-05: Modern CSS explained for dinosaurs.
- 2018-02-05: Wales is leading the way on democratic reform.
- 2018-02-05: How and why to write a Rude Q&A.
- 2018-02-05: Almost-classics: sf concepts and settings that deserve better execution.
- 2018-02-05: DragonFFI: foreign function interface and JIT for calling C using Clang/LLVM.
- 2018-02-05: Using Git for Debian packaging.
- 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: Faux Shu follies: cheating at magic squares.
- 2018-02-03: How Google Chrome's new ad blocker works.
- 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: Unboxing a cheap desktop pick and place machine.
- 2018-02-01: Postgres hidden gems.
- 2018-02-01: Monitoring with Prometheus 2.0.
- 2018-02-01: Spying on a Ruby process's memory allocations with eBPF.
- 2018-02-01: OpenPnP: open source SMT pick and place.
- 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: A techie's rough guide to GDPR.
- 2018-01-30: Ten days in Shenzhen.
- 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: An overview of the Perl 5 engine.
- 2018-01-29: When Perl isn't fast enough.
- 2018-01-28: Your instant Kubernetes cluster.
- 2018-01-29: Gray failure: the Achilles' heel of cloud-scale systems.
- 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: Bike-share schemes improve safety; helmet laws do not.
- 2018-01-25: Why apt should use https.
- 2018-01-25: STGi: spineless tagless G-machine interpreter.
- 2018-01-25: dns2doh: test DNS over HTTP.
- 2018-01-25: Bringing DNS security and privacy to the end user.
- 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: Railway station traffic statistics visualized.
- 2018-01-24: How to emulate a Raspberry Pi (Raspbian Jessie) on Mac OSX (El Capitan).
- 2018-01-25: Ref patterns, destructuring, and invisible borrows in Rust.
- 2018-01-24: How to chroot to a Raspberry Pi SD card on an Ubuntu box.
- 2018-01-24: The new anti-Spectre microcode from Intel and AMD adds three new features.
- 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: In defence of swap: common misconceptions.
- 2018-01-21: Code alignment and microbenchmark performance.
- 2018-01-22: Nighttime long exposures of rotating helicopter blades.
- 2018-01-22: The limitations of chaos engineering.
- 2018-01-21: Network latencies and speed of light.
- 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: Nominet abandons its charitable trust.
- 2018-01-19: Cornell barbecue chicken sauce.
- 2018-01-19: Who the hell uses onion juice?
- 2018-01-19: Ridiculously fast base64 encoding and decoding.
- 2018-01-19: Rust and Qt/QML: a timely example
- 2018-01-19: Oxidizing JavaScript source maps with Rust and WebAssembly.
- 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: The death of microservice madness.
- 2018-01-15: Amdahl's law, the universal scalability law, and coherence penalty.
- 2018-01-15: Cherry's new low-profile switches may help bring mechanical keyboards to more laptops.
- 2018-01-15: stm-containers: concurrent HAMT for Haskell.
- 2018-01-15: The secret history of the Russian consulate in San Francisco.
- 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: Making the pizza cinnamon rolls from Mario Batali's sexual misconduct apology letter.
- 2018-01-11: Detecting Spectre and Meltdown using hardware performance counters.
- 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: Birth order effects exist and are very strong.
- 2018-01-09: Control-C handling in Python and Trio.
- 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: NSEC3 hash performance in NSD and Unbound.
- 2018-01-08: Golang's hidden #pragmas.
- 2018-01-08: Why Brigade doesn't do YAML: scripting for Kubernetes clusters.
- 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-08: The Python decorators they won't tell you about
- 2018-01-08: The bad neighbor: out-of-order execution and its applications.
- 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: Random with care.
- 2018-01-05: Intel analysis of speculative execution side channels.
- 2018-01-05: The fresh prints of ‘bell-end'.
- 2018-01-05: Announcing the OpenWrt/LEDE merge.
- 2018-01-05: Xen Project Spectre/Meltdown FAQ.
- 2018-01-05: Apple's notice aboit speculative execution vulnerabilities in ARM-based and Intel CPUs.
- 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: The Golang type system for newcomers.
- 2018-01-03: PostgreSQL benchmarks showing performance regressions due to page table isolation.
- 2018-01-03: Genetic study supports carbohydrate-insulin model of obesity.
- 2018-01-03: Making TRust-DNS faster than BIND9.
- 2018-01-03: What does it mean for code to be "explicit"?
- 2018-01-03: How the Å came to be.
- 2018-01-03: Initial benchmarks of the performance impact of page table isolation.
- 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-02: 'Kernel memory leaking' Intel processor design flaw forces Linux and Windows redesign.
- 2018-01-02: Water's odd behavior stems from its ability to exist in two liquid states.
- 2018-01-02: NeoPG: a cleaned-up fork of GnuPG 2.
- 2018-01-02: SQL keys in depth.
- 2018-01-02: Oumuamua pursued: the path of an interstellar asteroid.
- 2018-01-01: Linux page table isolation is not needed on AMD processors.
- 2018-01-02: The death and life of the 13-month calendar.
- 2018-01-02: Star Wars: Regency.
- 2018-01-01: Esperanto exits stealth mode, aiming at AI with a 4,096-core 7nm RISC-V monster.
- 2018-01-02: Negative result: reading kernel memory from user mode via speculative execution.
- 2018-01-02: The fat in a perfect croissant.
- 2018-01-02: Warnsdorff's rule for finding knight's tours.
- 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: PostgreSQL + ZFS best practices.
- 2017-12-29: Re-examining the scrypt() parameter values.
- 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: pg_squeeze: A PostgreSQL extension for automatic bloat cleanup.
- 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-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-24: Formal verification: the gap between perfect code and reality.
- 2017-12-25: Weird machines, exploitability, and provable unexploitability.
- 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: The current state of kernel page-table isolation.
- 2017-12-25: Undefined vs unsafe in Rust.
- 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: JSON in MongoDB, MySQL, and PostgreSQL: few more stories about performance.
- 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: Dropbox releases PyAnnotate: auto-generate type annotations for mypy.
- 2017-12-23: AVX-512: what's useful for us.
- 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: The first Unix port, to the Interdata 7/32.
- 2017-12-18: Overture JS: FastMail's web app library.
- 2017-12-18: What ORMs have taught me: just learn SQL.
- 2017-12-18: A modulino is a file that is both script and module in Perl.
- 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 stapbpf: SystemTap's new BPF backend.
- 2017-12-16: Introducing the GoodWatch: A neighborly watch for radio engineers.
- 2017-12-16: REST is the new SOAP.
- 2017-12-15: Lessons learned from a DNS registrar account compromise and man-in-the-middle attack.
- 2017-12-14: A Volvo factory in China is car production heaven.
- 2017-12-14: Why is giving birth so hard? Revisiting the 'obstetrical dilemma'.
- 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: BGP security in partial deployment: is the juice worth the squeeze? (2013)
- 2017-12-14: Results of New Zealand FOI query about academic journal subscription costs.
- 2017-12-12: Software compatibility and lld's autoconf "User-Agent" problem.
- 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-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-13: TP-Link repeater firmware squanders 715 MB/month of DNS and NTP traffic.
- 2017-12-12: It's official: ADSL works over wet string.
- 2017-12-12: Why old-school PostgreSQL is so hip again.
- 2017-12-13: Monitoring PostgreSQL replication lag.
- 2017-12-12: 100baseT Ethernet: so good, it works over barbed wire.
- 2017-12-12: The ROBOT attack on RSA in TLS: return of Bleichenbacher's oracle threat.
- 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-11: An intellectual property rights (IPR) policy and governance structure for the WHATWG.
- 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: 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: How to make an atomic clock from N@C60, a nitrogen atom in a carbon fullerene cage.
- 2017-12-11: NASA to test prototype Kilopower nuclear reactor intended for missions to Mars.
- 2017-12-11: Thinking about hardware support for virtualization.
- 2017-12-11: When did Italian become the language of Italy?
- 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-11: Design Principles.
- 2017-12-10: How a CogSci undergrad invented PageRank three years before Google.
- 2017-12-10: Golang tooling essentials: useful flags and options.
- 2017-12-10: About 34% of legitimate E-Passports have flaws preventing verification.
- 2017-12-10: AWS DNS services break qname minimization.
- 2017-12-10: Falsehoods programmers believe about programming.
- 2017-12-10: The Freiburg cup: a solution to single-use coffee cups.
- 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: 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: The remarkable "curvature blindness" illusion.
- 2017-12-09: 1.4 billion clear text credentials discovered in a single database.
- 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: Rust-inspired safe pointers in SPARK Ada 2014.
- 2017-12-08: Make it Simple: a tale about Robert Dewar, Ada, and gnat.
- 2017-12-08: Decoding an air conditioner remote control's checksum with differential cryptanalysis.
- 2017-12-08: Sending infrared commands from a Raspberry Pi without LIRC.
- 2017-12-08: Google is likely to have its LIDAR patents invalidated, hindering its lawsuit against Uber.
- 2017-12-08: What have we learned from the PDP-11?
- 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: 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-07: Rust code organization: modules, crates, etc.
- 2017-12-06: Replacing Elasticsearch with Rust and SQLite.
- 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: AlphaZero achieves in 24 hours a superhuman level of play in the games of chess, shogi, and Go.
- 2017-12-06: Electronic Arts is addicted to Wilson loot boxes.
- 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-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: Planning to rewrite parts of Mercurial in Rust.
- 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: The Stretcher Railing Society: preserving WWII artifacts hidden in plain sight around London.
- 2017-12-04: How Google manages 250,000 desktop/laptop computers securely and efficiently.
- 2017-12-04: "Metalenses" created with photolithography could change the nature of imaging and optical processing.
- 2017-12-04: End of privacy rights in the UK public sector?
- 2017-12-04: Choose your words carefully and you can get someone to change their mind, and turn a conversation around.
- 2017-12-04: DNS resolver latency (cache hit rate) vs query rate.
- 2017-12-04: ffwd: delegation to another thread instead of locking is (much) faster than you think.
- 2017-12-04: Psychological safety in operations teams.
- 2017-12-04: Metro map colour-coding: effect on usability in route tracing.
- 2017-12-03: Dice become ordered when stirred, not shaken.
- 2017-12-03: Fool Britannia: the future of the UK has never looked so grim.
- 2017-12-03: How I convinced my 1987 Canon Cat to talk to my 2017 MacBook Pro.
- 2017-12-03: Criterion: statistics-driven micro-benchmarking for Rust.
- 2017-12-03: DNS for Tor exit nodes.
- 2017-12-02: Not your parent's analog computer.
- 2017-12-02: A faster way to make Bose-Einstein condensates.
- 2017-12-02: Homeowners trapped by ‘fleecehold', the new cash cow for property developers.
- 2017-12-02: Blockchain graveyard.
- 2017-12-02: Sex isn't chromosomes: the story of a century of misconceptions about X and Y.
- 2017-12-02: Hisako Koyama: an amateur astronomer who was one of the greatest solar observers.
- 2017-12-02: Python library API checklist.
- 2017-12-02: Creating a range in JavaScript, cleverly.
- 2017-12-02: The Icelandic translation of Dracula is actually a different book.
- 2017-12-02: A clever line of JavaScript.
- 2017-12-01: How Etsy caches: consistent hashing, Ketama, and cache smearing.
- 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-24: Saudi Arabia's Arab Spring, at last.
- 2017-12-01: DNS TTL violations in the wild, measured with RIPE Atlas.
- 2017-12-01: Write your next Ethereum contract in Pyramid Scheme.
- 2017-12-01: The LEGO storage guide.
- 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: ISPS: hardware decription languages before VHDL.
- 2017-11-29: Why an empty password gets you root on macOS High Sierra.
- 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: 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: DNS-over-TLS at SURFnet.
- 2017-11-28: pgDoctor: PostgreSQL healthchecks for load balancers.
- 2017-11-28: Bitcoin and that 1929 vibe.
- 2017-11-28: Photovoltaic growth: reality versus projections of the International Energy Agency.
- 2017-11-28: Format oracle attacks against OpenPGP and GnuPG.
- 2017-11-28: … Then you win.
- 2017-11-28: A sense of units and scale for electrical energy production and consumption.
- 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: Inside Docker's "FROM scratch" empty container.
- 2017-11-27: What Bikini Atoll looks like today.
- 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: A review of some Amazon HQ2 bids shows that democracy itself is a bargaining chip.
- 2017-11-26: Legatum: who are the Brexiteers' favourite think tank and who is behind them?
- 2017-11-26: Lively Linear Lisp: 'Look Ma, no garbage!'
- 2017-11-26: LIL: the little implementation language (and other mid-level languages).
- 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: Incremental data capture for Oracle databases at LinkedIn.
- 2017-11-25: Using a logbook to improve your programming.
- 2017-11-24: How the sandwich consumed Britain.
- 2017-11-25: Quantum theory rebuilt from simple physical principles.
- 2017-11-25: SOLID principles made easy.
- 2017-11-25: In search of the perfect writing font.
- 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: In the Jungle: inside the long hidden genealogy of 'The Lion Sleeps Tonight'.
- 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: MySQL performance tuning and Linux context switches.
- 2017-11-24: Our computer systems are not good enough. (YouTube)
- 2017-11-24: Observations of an ex pat: the Middle East explained.
- 2017-11-24: The financial realities of going viral.
- 2017-11-24: Make: shows how to apologise properly.
- 2017-11-24: Why the world has so many Guineas.
- 2017-11-24: Ada: There's a mini-RTOS in my language.
- 2017-11-22: breezy: a fork of bzr for Python 3 support.
- 2017-11-23: Common issues with PostgreSQL planner statistics.
- 2017-11-23: Better random number generation for OpenSSL, glibc, and Linux.
- 2017-11-23: How tuning PostgreSQL for SSDs can improve slow query performance by 50x.
- 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-22: Do no harm: Linus on the tension between kernel security and system reliability.
- 2017-11-23: Road design: sustainable safety vs shared space.
- 2017-11-23: WIPEONFORK in Linux 4.14.
- 2017-11-22: Why git is worse than Fossil.
- 2017-11-22: Beauty shots of (moderately) retro computers.
- 2017-11-22: Thoughts on Fossil-NG.
- 2017-11-22: Replacing x86 firmware with Linux and Golang.
- 2017-11-22: Announcing failure: error handling for Rust.
- 2017-11-22: What happens when a woman translates Homer's Odyssey.
- 2017-11-22: True Kilts: debunking myths about highlanders and clan tartans.
- 2017-11-22: Milksnake: ship Python wheels written in Rust without linking to libpython.
- 2017-11-21: How many colours were there in a medieval rainbow?
- 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: 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: Understanding `git filter-branch` and the git storage model.
- 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-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: Security things in Linux v4.14.
- 2017-11-19: Orcas vs great white sharks: in a battle of the apex predators who wins?
- 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: Experience with viruses on UNIX systems. (1989)
- 2017-11-16: KAISER: hiding the Linux kernel from user space.
- 2017-11-16: Puffs: a domain-specific language and library for parsing untrusted file formats safely.
- 2017-11-16: Plan 28 Autumn 2017 report on progress analysing Babbage's analytical engine manuscripts.
- 2017-11-15: Fairchild F9445 MicroFlame: a clone of the Data General Nova.
- 2017-11-15: Keeping a lab notebook: basic principles and best practices.
- 2017-11-15: Oberon: the overlooked jewel.
- 2017-11-15: NumPy's plan for dropping Python 2.7 support by 2020.
- 2017-11-15: All of the world's top 500 supercomputers are running Linux.
- 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: uPyPhone: a GSM phone using MicroPython, PyBoard, and SIM800L.
- 2017-11-13: The post-Weinstein reckoning.
- 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: target="_blank": an underestimated vulnerability.
- 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-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: Exponential generic type expansion in the C# compiler.
- 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: 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: Get up to speed with JANET's faster DDoS protection services.
- 2017-11-08: HotPlug: remove a running computer without shutting it down.
- 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: "The warhead is no longer on top of the missile." A nuclear accident in 1964.
- 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: 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-04: CT Advisor: Certificate Transparency monitoring and alerts.
- 2017-11-03: DNS performance metrics: the logarithmic percentile histogram.
- 2017-11-03: Software matters in the world: work on fixing the big bugs.
- 2017-11-03: FOSSology: open source license compliance toolkit.
- 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: What's new in HAProxy 1.8.
- 2017-11-02: Linux containers in 500 lines of code.
- 2017-11-02: How the Guardian found 800,000 paying readers.
- 2017-11-02: A minimalist guide to SQLite.
- 2017-11-02: Data classes for Java.
- 2017-11-02: The new thermodynamics: how quantum physics is bending the rules.
- 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: How the monstrous Weierstrass function paved the way for modern math.
- 2017-10-31: Debug information is huge and what to do about it.
- 2017-10-31: Perl is the most disliked programming language.
- 2017-10-31: Christine Ladd-Franklin (1847-1930): A lady logician.
- 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: Approximate frequency counts over data streams.
- 2017-10-31: Dataviz project: a collection of data visualizations to get inspired and find the right type.
- 2017-10-31: Why are so many new and expectant mothers dying in the US?
- 2017-10-31: Cray: how to program a supercomputer.
- 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-30: Scaling the GitLab PostgreSQL database.
- 2017-10-30: Near future of programming languages.
- 2017-10-30: Colliding neutron stars are "standard sirens" that tell us how fast the universe is expanding.
- 2017-10-30: Oldest recorded solar eclipse helps date the Egyptian pharaohs.
- 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: Better than rainbows: matplotlib alternative colourblind-aware colourmaps.
- 2017-10-29: Some of the world's biggest energy storage schemes.
- 2017-10-29: The cubehelix colour scheme.
- 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-23: UCAS statistics: Is there bias in university admissions?
- 2017-10-24: The future of DNSSEC at the RIPE NCC.
- 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-26: High-performance GPU computing in the Julia programming language.
- 2017-10-27: TLS-N: non-repudiation of data served over TLS.
- 2017-10-27: Automatically submitting your Internet-Draft from GitHub.
- 2017-10-27: Disk|Crypt|Net: rethinking the stack for high-performance video streaming.
- 2017-10-25: More taste, less greed? or, sending UNIX to the fat farm.
- 2017-10-24: On the passive measurability of RTT/loss of QUIC traffic.
- 2017-10-27: Titan: the poor man's Atlas?
- 2017-10-27: Who guards the guards? Formal validation of the ARM v8-M architecture specification.
- 2017-10-22: Sugar is a toxic agent that creates conditions for disease.
- 2017-10-25: Short-lived certificates at Netflix.
- 2017-10-25: Papers on virtual memory and working sets.
- 2017-10-25: A software-based approach to identify heavy hitters in 10Gbit/s DNS traffic.
- 2017-10-18: mod_md: ACME support for the Apache httpd.
- 2017-10-25: Testing DNSSEC public keys for the ROCA vulnerability.
- 2017-10-22: Android getting support for DNS over TLS.
- 2017-10-24: The mathematics of 2048: counting states with combinatorics.
- 2017-10-24: Executive function impairment in high-IQ adults with ADHD.
- 2017-10-21: co2: an object system for C.
- 2017-10-24: First Timers Only: friendly open source projects reserve specific issues for new contributors.
- 2017-10-24: Infineon ROCA: Welp, there go my Git signatures.
- 2017-10-25: Amazon Aurora: design considerations for high throughput cloud-native relational databases.
- 2017-10-25: Why do so few black students go to Oxbridge?
- 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: One-level storage system: virtual memory on the Manchester Ferranti Atlas.
- 2017-10-25: ZFSin: OpenZFS ported to Windows.
- 2017-10-25: TimescaleDB: PostgreSQL made scalable for time-series data.
- 2017-10-25: I deb, you deb, everybody debs: Debian packaging for beginners and experts alike.
- 2017-10-21: Google's quantum computing plans upended by IBM's 56 qubit classical computing simulation.
- 2017-10-25: IP addresses considered harmful.
- 2017-10-23: Danish numbers are obscurely 20-based.
- 2017-10-25: Don't use a pencil: a key to Brexit's Russian bots.
- 2017-10-20: Female homicide rate dropped 17% after Craigslist launched its erotic services platform.
- 2017-10-25: Barbarian: a sword font.
- 2017-10-23: The Atlas of the Underworld shows Earth's interior is teeming with dead plates.
- 2017-10-23: Filesystem error handling / improving error checking in C / funding robustness research.
- 2017-10-25: One Debian developer's preferred packaging setup.
- 2017-10-24: Why does one NGINX worker take all the load?
- 2017-10-24: How to write a stunt server using raw sockets in IPv6.
- 2017-10-24: Recent IETF BGP work addressing operational challenges.
- 2017-10-24: cronic: a cure for chronic cron spam.
- 2017-10-24: Buffer overflow in musl-libc DNS response parser.
- 2017-10-24: How Merkle trees enable the decentralized web.
- 2017-10-22: A README maturity model.
- 2017-10-23: The DUHK attack: don't use hard-coded keys for RNG seeds.
- 2017-10-24: What everybody gets wrong about Jekyll and Hyde.
- 2017-10-22: Ghostwatch: the Halloween hoax that changed the language of television.
- 2017-10-24: Surviving IPv6 fragmentation.
- 2017-10-24: A history of the ampersand.
- 2017-10-22: The self-referential functional option pattern in Golang.
- 2017-10-23: Genode: a capability-oriented microkernel OS.
- 2017-10-24: Introduction to the Zig programming language: "more pragmatic than C".
- 2017-10-18: Exploring lock-free Rust: from locks, via atomics, to Crossbeam.
- 2017-10-21: IPv6 Buddy: a keyboard for typing hex.
- 2017-10-23: DéjàVu: a map of code duplication on GitHub.
- 2017-10-22: Reusable and type-safe functional options for Golang APIs.
- 2017-10-23: This is what the no-deal Brexit cliff edge looks like.
- 2017-10-18: ML modules and Haskell type classes: a constructive comparison.
- 2017-10-24: IPv6 prefix assignment for end-users: persistent vs non-persistent, and what size to choose.
- 2017-10-19: Browser security beyond sandboxing: Microsoft exploits Google Chrome.
- 2017-10-23: Manipulating Maintainers: how to persuade members of an open source community to help you.
- 2017-10-23: .Amsterdam refuses to publish Whois records as ICANN whois GDPR row escalates.
- 2017-10-22: zsync: download files over http using the rsync algorithm.
- 2017-10-21: Nationalisation of Carlisle pubs during the First World War.
- 2017-10-22: Successful hotfire test of Blue Origin BE-4 reusable high-thrust rocket engine.
- 2017-10-22: How did Arron Banks afford to bankroll Brexit?
- 2017-10-23: ChrysaLisp: TAOS-flavoured parallel OS, with GUI, terminal, OO assembler, class libraries, C-Script, and more...
- 2017-10-19: X.org server for Android.
- 2017-10-19: Linux on Samsung Galaxy smartphones.
- 2017-10-23: Best trackballs 2017.
- 2017-10-20: How I socially engineer myself into high security facilities.
- 2017-10-19: Hey Siri: an on-device DNN-powered voice trigger for Apple's personal assistant.
- 2017-10-19: Objective-C and fork() in macOS 10.13.
- 2017-10-20: Pointer free programming and the future of Nim.
- 2017-10-19: Ad industry insiders profited from ad fraud scheme that stole $millions.
- 2017-10-19: Termux: terminal emulator and Debian-style userland as an Android app.
- 2017-10-18: The mathematical genius of Auto-Tunea.
- 2017-10-17: Fact check markup: explain to Google what claims are true or false.
- 2017-10-21: Autodesk Recap360: turn photos into 3D models.
- 2017-10-21: Don't style your marketing emails.
- 2017-10-17: TAOS Operating System.
- 2017-10-22: MENACE: machine educable noughts and crosses engine, a matchboxes-and-beads computer.
- 2017-10-19: Over 30,000 published studies could be wrong due to contaminated cells.
- 2017-10-21: The largest left truncatable prime.
- 2017-10-21: Object oriented programming in C.
- 2017-10-17: End all immigration controls: they're a sign we value money more than people.
- 2017-10-21: Vikings razed the forests. Can Iceland regrow them?
- 2017-10-21: Battle with a phantom PostgreSQL WAL segment.
- 2017-10-21: Object-oriented programming in ANSI C.
- 2017-10-17: ROCA: critical vulnerability in Infineon security chips.
- 2017-10-18: AlphaGo Zero: Learning from scratch.
- 2017-10-21: The rise and fall of the Lyons' Cornerhouses and their Nippy waitresses.
- 2017-10-19: Why Ruby app servers break on macOS High Sierra: fork safety in Objective C frameworks.
- 2017-10-21: Some examples of historical music notation.
- 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: I'm an environmental journalist, but I never write about overpopulation. Here's why.
- 2017-10-14: 5 things we learned from Google Waymo's self-driving car NTSB report.
- 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: Macro-less code execution with DDE in Microsoft Word.
- 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: 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: Fairchild Semiconductor: the 60th anniversary of a Silicon Valley legend.
- 2017-10-08: Thoughts on Microsoft's time-travel debugger.
- 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-04: The story behind ICANN's decision to delay the DNSSEC root KSK rollover.
- 2017-10-04: The undercover story of the Chicago newspaper that bought a bar.
- 2017-10-05: HoTTSQL: proving query rewrites with univalent SQL semantics.
- 2017-10-04: Brexit will hit Britain's overseas territories hard. Why is no one talking about it?
- 2017-10-04: Using an iPad Pro instead of a desktop computer.
- 2017-10-04: Common Lisp vs Racket vs Gerbil.
- 2017-10-04: Sequent NUMA-Q: a new commercial parallel-processing architecture. (1999)
- 2017-10-04: Useful GCC warning options not enabled by -Wall -Wextra.
- 2017-10-04: Beauty in mathematics: modular multiplication tables.
- 2017-10-03: In 1973, I invented a ‘girly drink' called Baileys.
- 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: Gerbil Scheme has a state of the art macro and module system on top of the Gambit runtime.
- 2017-10-04: Random cyclic curves in the complex plane.
- 2017-10-04: Compiling switch/case: Are jump tables always fastest?
- 2017-10-04: Times tables, Mandelbrot, and the heart of mathematics. (YouTube)
- 2017-10-03: Not all disagreements are opportunities to change your own mind.
- 2017-10-03: What Tesla's big battery in South Australia is for.
- 2017-10-02: Mitogen: an infrastructure code baseline that sucks less, or, why Ansible is slow.
- 2017-10-02: Probot: GitHub apps to automate and improve your workflow.
- 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: No brogrammers: Practical tips for writing inclusive job ads.
- 2017-10-02: Advanced secondary DNS for the technically inclined.
- 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: RFC 7706 vs RFC 8198 for root DNS zone performance and resilience.
- 2017-09-30: A look at RFC 8145 DNSSEC trust anchor signalling.
- 2017-09-30: BIND 9.12 refactoring and performance improvements.
- 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: Identifying satellite interference due to GSM rebroadcast.
- 2017-09-28: DNS for service discovery in HAProxy.
- 2017-09-28: Background information on the DNSSEC root key rollover postponement.
- 2017-09-28: We need to talk about TLS session tickets.
- 2017-09-28: When filters fail: These cases show we can't trust algorithms to clean up the internet.
- 2017-09-28: How Crossrail is using 3D-printing to build its stations.
- 2017-09-28: DNSSEC KSK rollover postponed.
- 2017-09-28: HAProxy vs nginx: Why you should NEVER use nginx for load balancing!
- 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: ntpd won't save you from one particular rogue bit.
- 2017-09-27: Ed25519 for DNSSEC.
- 2017-09-27: Flags are not languages.
- 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: 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 Geo Key Manager: identity-based encryption for private keys in a TLS CDN.
- 2017-09-26: cloudflare/bn256 implements a particular bilinear group at the 128-bit security level, ~10x or ~20x faster.
- 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: Franchise: an open source in-browser SQL notebook.
- 2017-09-23: lnav: a log file navigator.
- 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-22: How Portugal is winning the War on Drugs that the USA is losing.
- 2017-09-22: API Monitor: spy on Windows API calls and COM interfaces.
- 2017-09-22: Time to speak up for Article 15 of the E-commerce Directive.
- 2017-09-22: How I hacked hundreds of companies through their helpdesk.
- 2017-09-22: Implementing Berkeley sockets in System V release 4.
- 2017-09-22: "The moon blew up without warning and for no apparent reason": a simulation.
- 2017-09-22: Seveneves and the Roche limit.
- 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: 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: Parents, children, CDS/CDNSKEY records, and dnssec-cds.
- 2017-09-21: Booleans and enums.
- 2017-09-21: Measuring the security of closed DNS resolvers by probing via SMTP.
- 2017-09-20: jwz: "HTML email, was that your fault?"
- 2017-09-21: Inception drive: a compact, infinitely variable transmission for robotics.
- 2017-09-21: Turning off Wi-Fi and Bluetooth in iOS 11's control center doesn't actually turn them off.
- 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: Allocation efficiency in high-performance Golang services.
- 2017-09-20: A longitudinal, end-to-end view of the DNSSEC ecosystem.
- 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: To type or not to type: 15% of JavaScript bugs detectable by TypeScript or Flow.
- 2017-09-19: Simple Set game proof stuns mathematicians, leading to advances in combinatorics.
- 2017-09-19: An efficient academic journal.
- 2017-09-18: Unix for TOPS-20 users. (1987)
- 2017-09-18: The future of HHVM, Facebook's fast PHPish runtime.
- 2017-09-18: Optionsbleed: HTTP OPTIONS method can leak a misconfigured Apache server's memory.
- 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-16: Interview with Martha Wells about the second Murderbot book.
- 2017-09-17: Root causes of TLS certificate errors for Google Chrome users.
- 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: A working game of Tetris implemented in Conway's Game of Life.
- 2017-09-16: How not to land a SpaceX orbital rocket booster. (YouTube)
- 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: Meet the font detectives who ferret out fakery.
- 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-14: migra: like diff for PostgreSQL schemas; migrations made almost painless.
- 2017-09-14: The origins of malloc().
- 2017-09-14: Understanding the prevalence of web traffic interception.
- 2017-09-14: Compile-time Mandelbrot set in Rust.
- 2017-09-13: Formally verified cryptography for Firefox 57.
- 2017-09-14: Proporti.onl: gender distribution of people you follow and your followers on Twitter.
- 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: The "premium mediocre" life of Maya Millennial.
- 2017-09-09: Download 67,000 historic maps from Stanford's David Rumsey map collection.
- 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: Performance evaluation of elfmalloc, a general-purpose malloc() replacement written in Rust.
- 2017-09-07: In defence of NAT.
- 2017-09-07: Mison: a fast non-FSM-based JSON parser.
- 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-06: How to recognize burnout before you're burned out.
- 2017-09-05: Some were meant for C: the endurance of an unmanageable language.
- 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 is one of the cheapest sources of electricity, and it's getting cheaper.
- 2017-09-06: Wind farms are not the bird slayers they're made out to be.
- 2017-09-06: A serf on Google's farm.
- 2017-09-06: Google: time to return to not being evil.
- 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-30: A Polaroid-style Raspberry Pi camera that prints a GIF instantly.
- 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: "Torrential": a cruelly ironic etymology.
- 2017-08-30: Fully automatic DNSSEC delegation updates at CZ.NIC with FRED and Knot.
- 2017-08-30: Relaxed-memory concurrency synchronization patterns.
- 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: Rules for new FPGA designers.
- 2017-08-25: Threading the celestial needle: catching the Great American Eclipse at 35,000 feet.
- 2017-08-25: How to piss off a failed super-soldier.
- 2017-08-25: Better letterer: comic lettering tips.
- 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: 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: Got Phish: how/where to report malicious web sites.
- 2017-08-24: Here at the end of all things: on losing oneself in maps of fantasy worlds:
- 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: Mathematicians tame rogue waves, illuminating future of LED lighting.
- 2017-08-23: The beauty of Bresenham's algorithm.
- 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: At last, a big, successful trial of probiotics.
- 2017-08-17: Hands on with the SHACamp 2017 badge.
- 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-11: The end of Libor.
- 2017-08-11: OpenGeofiction: a map of an imaginary world, created by a community of worldbuilders.
- 2017-08-12: Hyperscan: a high-performance PCRE-compatible multiple regex matching library.
- 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: A brief history of quantum alternatives.
- 2017-08-07: Pilot-wave quantum theory gains experimental support.
- 2017-08-07: An 18th-century horse that Eclipsed all the others.
- 2017-08-07: Prostitution decriminalized: Rhode Island's experiment.
- 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: 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: Users, clients, and servers: the robustness principle and the web.
- 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-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: A rant on usable security: run-time sandboxes from static analysis?
- 2017-07-30: Medicine's women problem.
- 2017-07-29: An effective attack against the Argon2i hash function.
- 2017-07-29: No Dunkirk spirit can save Britain from Brexit defeat.
- 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: Farewell to systemd.
- 2017-07-28: How to remove systemd from a Debian installation.
- 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: Snopes faces an ugly legal battle.
- 2017-07-25: gocmdpev: A command-line PostgreSQL query visualizer in Golang.
- 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: Is "information is physical" contentful?
- 2017-07-21: Long term data storage will be much less free than it used to be.
- 2017-07-21: Custom dynamically sized types are super annoying in Rust at the moment. (qp)
- 2017-07-21: