Link log versions
• <https://dotat.at/:/>
• landing pages
• Atom feed
• Dreamwidth links
• LiveJournal links
My other activity
• Dreamwidth blog
• work blog
• Twitter
everything
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
<<
2018
>>
- 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.
Tony Finch is
<dot@dotat.at>