Tony Finch – link log
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024
- 2018‑12‑31:
Fuzzing like it's 1989.
- 2018‑12‑31:
The elements of UI engineering.
- 2018‑12‑31:
For 30 years I've been obsessed by why children get leukaemia. Now we have an answer.
- 2018‑12‑31:
How not to canonicalize IPv6 addresses.
- 2018‑12‑31:
μKanren: a minimal functional core for relational / logic programming.
- 2018‑12‑31:
Adaptation decay has sucked the meaning out of "A Christmas Carol".
- 2018‑12‑30:
Umlauts of Berlin, part 3: Ö.
- 2018‑12‑30:
Little's Law: for estimation only.
- 2018‑12‑30:
Why Microsoft Windows network performance is bad during media playback.
- 2018‑12‑30:
Why Microsoft Windows filesystem access is much slower than Unix.
- 2018‑12‑29:
Why are printed circuit boards usually green?
- 2018‑12‑29:
A nice, little known C feature: static array sizes in parameter declarations.
- 2018‑12‑29:
The story of the Grateful Dead's Wall of Sound.
- 2018‑12‑29:
In January, the EU starts running bug bounties on free and open source software.
- 2018‑12‑29:
How Facebook keeps messenger from crashing on New Year's eve.
- 2018‑12‑28:
A history of flavoring food with beaver butt juice.
- 2018‑12‑28:
22 ssh examples, practical tips, and tunnels.
- 2018‑12‑28:
"Modern" C++ lamentations.
- 2018‑12‑28:
Easy Postgres extensions in Rust with pg-extend-rs.
- 2018‑12‑28:
Circular dependencies for provisioning systems.
- 2018‑12‑28:
Securing the hardware supply chain.
- 2018‑12‑27:
Patterns for Array initialization in Rust.
- 2018‑12‑27:
A demo of Rust async io: from mio to stackless coroutines.
- 2018‑12‑27:
Using C libraries in Rust: how to make a sys crate.
- 2018‑12‑27:
Rust Tokio end of year recap.
- 2018‑12‑27:
Procedural macros in Rust 2018.
- 2018‑12‑27:
Post-mortem of the Word for Windows 1.0 project.
- 2018‑12‑27:
Swedish startup Rdot is trying to take on E-Ink.
- 2018‑12‑27:
JMAP is on the home straight.
- 2018‑12‑27:
The wavefunction collapse algorithm explained very clearly.
- 2018‑12‑27:
Much more than you wanted to know about melatonin.
- 2018‑12‑27:
Understanding throttling and debouncing.
- 2018‑12‑27:
Ranges, code quality, coroutines, and the future of C++.
- 2018‑12‑26:
Unicode CLDR LDML date/time format patterns.
- 2018‑12‑26:
Experience deploying IETF QUIC at Facebook.
- 2018‑12‑26:
Rust 2019 and beyond: limits to (some) growth.
- 2018‑12‑26:
The language of Brussels, translated.
- 2018‑12‑26:
History of the Marshfield Mummers play.
- 2018‑12‑26:
The many ways to launch FreeBSD in AWS EC2.
- 2018‑12‑26:
White Hart Lane's movable football pitch in three pieces.
- 2018‑12‑26:
Twitter's upcoming changes to PNG image support.
- 2018‑12‑26:
2018 Matrix year in review.
- 2018‑12‑26:
ECMAScript modules in Node.js: the new plan.
- 2018‑12‑26:
A one-line Linux Dropbox client.
- 2018‑12‑25:
Designing web page layouts for screen readers.
- 2018‑12‑25:
Sloc Cloc and Code revisited: optimizing an already fast Golang program.
- 2018‑12‑25:
Exclave: hardware testing in mass production, made easier.
- 2018‑12‑25:
DOOMBA
- 2018‑12‑25:
Wiv.js: a library for a more wiggly div.
- 2018‑12‑24:
IPv6 xmas display uses 75 Internet's worth of addresses.
- 2018‑12‑24:
Theft of NTP service for the Internet of Unprofitable Things.
- 2018‑12‑24:
Lexically scopes type variables.
- 2018‑12‑24:
Partitioned consensus and its impact on Google Spanner's latency.
- 2018‑12‑24:
HyperLogLog in Facebook Presto: faster cardinality estimation.
- 2018‑12‑24:
Solving a murder with Prolog.
- 2018‑12‑24:
Site reliability engineering is operations.
- 2018‑12‑24:
Designing resilient systems with circuit breakers.
- 2018‑12‑24:
Dropbox Cape service mesh technical deep dive.
- 2018‑12‑24:
World's first no-kill eggs go on sale in Berlin.
- 2018‑12‑23:
Ten simple rules for documenting scientific software.
- 2018‑12‑23:
Standard ranges for C++.
- 2018‑12‑23:
The bleak picture of two-factor authentication adoption in the wild.
- 2018‑12‑23:
Finding a sparse file bug in GNU tar.
- 2018‑12‑23:
The cyclical theory of Open Source, and new anti-cloud hybrid commercial licenses.
- 2018‑12‑22:
The MGR window system.
- 2018‑12‑22:
Offshore wind: bigger is better.
- 2018‑12‑22:
gQUIC crypto and simple state machines.
- 2018‑12‑22:
A new spline.
- 2018‑12‑21:
DNS over TLS from Cloudflare's recursive servers to Facebook's authoritative servers.
- 2018‑12‑21:
Dear developer, the Web isn't about you.
- 2018‑12‑21:
When anti-virus software causes 15 minute GC pauses and crashes in a .NET Windows service.
- 2018‑12‑21:
MySQL: do not pass this way again.
- 2018‑12‑21:
Max Planck Society discontinues agreement with Elsevier; stands firm with Projekt DEAL negotiations.
- 2018‑12‑21:
Five facts about smell.
- 2018‑12‑21:
Manage virtual machines with virt-manager.
- 2018‑12‑21:
WireGuard setup guide for iOS.
- 2018‑12‑21:
WireGuard for iOS, now in the App Store.
- 2018‑12‑20:
sr.ht, the hacker's forge, now open for public alpha.
- 2018‑12‑20:
The state we're in: visualizing the health of an organization's IT estate.
- 2018‑12‑20:
Why "just Google it" is now a synonym for "indoctrinate someone".
- 2018‑12‑20:
The Guardian says, bye bye Mongo, Hello PostgreSQL.
- 2018‑12‑19:
Did Google cripple Microsoft Edge's YouTube performance?
- 2018‑12‑19:
GPS week rollover in 2019: what you need to know.
- 2018‑12‑19:
Status of async in Rust at the end of 2018.
- 2018‑12‑19:
Storing unboxed trait objects in Rust.
- 2018‑12‑19:
Making Rust float parsing fast and correct.
- 2018‑12‑19:
Evaluating high availability solutions for TimescaleDB and PostgreSQL.
- 2018‑12‑19:
Hello, JIT World: the joy of simple JITs with dynasm.
- 2018‑12‑19:
Stop trying to be so DRY, instead Write Everything Twice (WET).
- 2018‑12‑18:
WaveFunctionCollapse: bitmap generation from one example using ideas from quantum mechanics.
- 2018‑12‑18:
How to build a real-time app with GraphQL subscriptions on PostgreSQL.
- 2018‑12‑17:
Future fossils of the 21st Century.
- 2018‑12‑17:
Support Driven Engineering (SDE).
- 2018‑12‑17:
The best programming advice I ever got.
- 2018‑12‑17:
5 German exclaves in Belgium separated by a bicycle path from the rest of Germany.
- 2018‑12‑17:
Can repelling magnets replace the spring in a pogo stick?
- 2018‑12‑16:
On rewriting code: No haunted forests.
- 2018‑12‑16:
A collection of Pratt parsing articles.
- 2018‑12‑16:
A brief history of just-in-time compilation.
- 2018‑12‑16:
Firefox 64 built with GCC and Clang.
- 2018‑12‑16:
Algol 68: a retrospective.
- 2018‑12‑15:
Does Scrabble need to be fixed? An experiment in controlling how much of the game is luck.
- 2018‑12‑15:
Defense against dark arts: safely allowing full SQL access to untrusted users with SQLite.
- 2018‑12‑15:
A remote code execution vulnerability in SQLite.
- 2018‑12‑15:
Paxos made live: an engineering perspective from Google Chubby.
- 2018‑12‑15:
Exploiting font parsing in LaTeX with CVE-2018-17407.
- 2018‑12‑15:
Bootstrapping Rust.
- 2018‑12‑15:
Modelling the true cost of software rewrites.
- 2018‑12‑14:
An investigation of misunderstanding code patterns in C open-source software projects.
- 2018‑12‑14:
Soup-salad-sandwich space.
- 2018‑12‑13:
A history of the waterfall methodology.
- 2018‑12‑13:
50 CVEs in 50 days fuzzing Adobe Reader.
- 2018‑12‑13:
The Titanic was on fire for days before the iceberg hit.
- 2018‑12‑13:
Git your SQL together with a query library.
- 2018‑12‑13:
Obituary of Evelyn Berezin, creator of the first true word processor.
- 2018‑12‑13:
Securing your web site like it's 1999.
- 2018‑12‑13:
AFLSmart: smart greybox fuzzing.
- 2018‑12‑13:
Guaranteed copy elision in C++17 does not elide copies.
- 2018‑12‑12:
Clusters of re-used keys.
- 2018‑12‑12:
Routing security roadmap.
- 2018‑12‑12:
Running FreeBSD on OSX using xhyve.
- 2018‑12‑12:
Existential types in Rust.
- 2018‑12‑12:
Hashbrown: Rust's Swiss army knife of hash tables.
- 2018‑12‑12:
Patterns of refactoring C to Rust: the case of librsvg.
- 2018‑12‑12:
GHC: from bug to merge.
- 2018‑12‑12:
A guide to modern router architecture for network protocol designers.
- 2018‑12‑12:
Inside Rust's async transform.
- 2018‑12‑12:
Beware Java Attach API.
- 2018‑12‑12:
ATDT relief.
- 2018‑12‑12:
GraphIt: A high-performance graph DSL.
- 2018‑12‑12:
How PowerDNS deals with security vulnerabilities.
- 2018‑12‑11:
The cube rule of food.
- 2018‑12‑11:
A tale of 132 e's on GitHub.
- 2018‑12‑11:
A Unicode BMP codepoint chart.
- 2018‑12‑11:
20 years of open source Erlang.
- 2018‑12‑11:
Troubleshooting obscure OpenSSH failures due to a broken firewall.
- 2018‑12‑11:
Can we drop upstream Linux x32 support?
- 2018‑12‑11:
Human terrain: visualizing the world's population in 3D.
- 2018‑12‑11:
Bezier moi, Julia.
- 2018‑12‑11:
Seemingly impossible Swift programs.
- 2018‑12‑11:
The Empress of Facebook: a befuddling dinner With Sheryl Sandberg.
- 2018‑12‑11:
The seductive diversion of 'solving' bias in artificial intelligence.
- 2018‑12‑10:
Who ever said no two snowflakes are alike?
- 2018‑12‑10:
jl: turn structured JSON logs into human-readable lines.
- 2018‑12‑10:
Graphing the distribution of English letters towards the beginning, middle or end of words.
- 2018‑12‑10:
Rolling out EC2 Nitro instance types revealed AWS's 1024qps DNS query rate limit.
- 2018‑12‑10:
Atomic clocks on a pair of eccentric Galileo satellites provided the first refinement of gravitational redshift since 1976.
- 2018‑12‑10:
Pave the cowpaths.
- 2018‑12‑10:
Spooky tales of testing in production.
- 2018‑12‑10:
Billionaires are the leading cause of climate change.
- 2018‑12‑10:
Autism from the inside is not the neurotypical cliché.
- 2018‑12‑09:
The computer technology that changed air travel.
- 2018‑12‑09:
Replacing the user story with the job story.
- 2018‑12‑09:
JIRA is an antipattern.
- 2018‑12‑09:
When the allocator works against you: memory fragmentation in Python on glibc.
- 2018‑12‑09:
Fixing a tough memory leak involving C extensions in Python.
- 2018‑12‑09:
The Programming Languages Zoo: miniature languages demonstrating concepts and techniques in design and implementation.
- 2018‑12‑09:
Little languages for elucidating programming language design.
- 2018‑12‑09:
Secrets of smooth Béziers and Euler spirals revealed.
- 2018‑12‑09:
No, negative masses have not revolutionized cosmology.
- 2018‑12‑09:
The curious tale of ICANN, Verisign, claims of subterfuge, and the $135m .web TLD.
- 2018‑12‑09:
The CRISPR baby scandal gets worse by the day.
- 2018‑12‑09:
Deep-comparing two 5GB JSON files 3x faster with jq.
- 2018‑12‑09:
MIT team develops 3D printer that's 10x faster than comparable 3D printers.
- 2018‑12‑09:
AMD EPYC 7371 aggressive pricing.
- 2018‑12‑09:
Four days trapped at sea with crypto's nouveau riche.
- 2018‑12‑08:
Troubleshooting a connection timeout issue due to tcp_tw_recycle (which should not be used).
- 2018‑12‑08:
Uncomfortable privacy research.
- 2018‑12‑08:
How to recognize fake AI-generated images.
- 2018‑12‑08:
Eels stuck in Hawaiian monk seals' noses baffle scientists.
- 2018‑12‑08:
Early mammals were thought to be small and unseen in the age of dinosaurs. An elephant-sized fossil complicates that story.
- 2018‑12‑08:
Why ratings and feedback forms don't work.
- 2018‑12‑07:
You need neither PWA nor AMP to make your website load fast.
- 2018‑12‑07:
Understanding the type of call/cc.
- 2018‑12‑07:
IPv6 in the UK 6 years after World IPv6 day.
- 2018‑12‑07:
How to game Apple's iOS App Store.
- 2018‑12‑07:
HTTPS in the real world.
- 2018‑12‑07:
WALL᛫E | Typeset In The Future
- 2018‑12‑07:
Reverse engineering the ARM1 processor's microinstructions.
- 2018‑12‑07:
Tesla's giant battery saved $40 million during its first year, and cost $66 million to install.
- 2018‑12‑07:
Rust 2018 is here... but what is it?
- 2018‑12‑07:
Killing Microsoft Edge: Making the web worse through capitulation to Google.
- 2018‑12‑07:
Goodbye, EdgeHTML.
- 2018‑12‑06:
The rise of Microsoft Visual Studio Code.
- 2018‑12‑06:
Managing high availability in PostgreSQL with Pacemaker + Corosync + PAF.
- 2018‑12‑06:
GNU Mes 0.17: towards bootstrappable builds for GuixSD.
- 2018‑12‑06:
Bootstrappable builds.
- 2018‑12‑06:
Postgres 12 highlight: DOS prevention.
- 2018‑12‑06:
It's DNS Jim, but not as we know it!
- 2018‑12‑06:
A well-known URL for changing passwords.
- 2018‑12‑06:
A standard web site password change API.
- 2018‑12‑06:
Eight #aabill predictions: consequences of Australia's new spying law.
- 2018‑12‑06:
Anatomy of an AI system.
- 2018‑12‑06:
QUIC and HTTP/3 : Too big to fail?!
- 2018‑12‑06:
Bizarre 'dark fluid' with negative mass could dominate the universe.
- 2018‑12‑06:
Privilege escalation vulnerability in the Kubernetes apiserver.
- 2018‑12‑05:
Why parking minimums almost destroyed my hometown and how we repealed them.
- 2018‑12‑05:
Unprivileged users with UID > INT_MAX can successfully execute any systemctl command.
- 2018‑12‑05:
How to write a modern C++ library in Rust.
- 2018‑12‑05:
Learning how AI makes decisions.
- 2018‑12‑05:
Our bipolar free-speech disorder and how to fix it.
- 2018‑12‑05:
BT to remove Huawei from 4G infrastructure over security concerns.
- 2018‑12‑05:
Constructive softwre engineering?
- 2018‑12‑05:
The friendship that made Google huge.
- 2018‑12‑05:
What is Windows Lite? It's Microsoft's Chrome OS killer.
- 2018‑12‑05:
Samsung used a DSLR photo to fake their phone's "portrait mode".
- 2018‑12‑05:
The modality of mortality in domain names: an in-depth study of domain lifetimes.
- 2018‑12‑05:
DOHA and ZIPPO make forty five dead gTLDs.
- 2018‑12‑05:
ICANN registry agreement termination information page: graveyard of new gTLDs.
- 2018‑12‑04:
A look at CSS resets in 2018.
- 2018‑12‑04:
Single-direction margin declarations in CSS.
- 2018‑12‑04:
PayPal, Square, and big banking's war on the sex industry.
- 2018‑12‑04:
The case for reopening Edinburgh's lost circle line to passengers.
- 2018‑12‑04:
Microsoft is replacing Edge in Windows 10 with a browser based on Google Chromium.
- 2018‑12‑04:
A not-called function can cause a 5x slowdown.
- 2018‑12‑04:
Yak shaving and fixing.
- 2018‑12‑04:
How Facebook is fueling French populist rage.
- 2018‑12‑04:
EverSet ES100 dev kit for receiving WWVB 60kHz new BPSK modulation.
- 2018‑12‑04:
RSS to ActivityPub converter.
- 2018‑12‑03:
Specter: Clojure's missing piece.
- 2018‑12‑03:
Tadashi Tokieda collects maths and physics surprises.
- 2018‑12‑03:
Tumblr will ban all adult content starting December 17th.
- 2018‑12‑03:
Developers on call.
- 2018‑12‑03:
Software sprawl, the golden path, and scaling teams with agency.
- 2018‑12‑03:
Truths programmers should know about character case.
- 2018‑12‑03:
Wiki Creole 1.0 lightweight markup language.
- 2018‑12‑02:
AWS is competing with its customers.
- 2018‑12‑02:
Making the best of MacBook Air touchpad on Ubuntu.
- 2018‑12‑02:
Describe Chinese characters with the Recursive Radical Packing Language (RRPL).
- 2018‑12‑02:
Portal for the Commodore 64.
- 2018‑12‑02:
Linux Bcachefs status update.
- 2018‑12‑01:
Bed a champion! A training course on urban design.
- 2018‑12‑01:
Decentralizing social interactions with ActivityPub.
- 2018‑12‑01:
Psychology's replication crisis is real, says the Many Labs 2 project.
- 2018‑12‑01:
The world's most efficient languages.
- 2018‑12‑01:
SSH performance.
- 2018‑12‑01:
Falsehoods programmers believe about names, with examples.
- 2018‑12‑01:
The 9 lives of Bleichenbacher's CAT: new Cache ATtacks on TLS implementations.
- 2018‑11‑30:
Google tried to patent someone else's work after a job interview.
- 2018‑11‑30:
A crowdfunding customer patented the project they backed.
- 2018‑11‑30:
UTF-7: a ghost from the time before UTF-8.
- 2018‑11‑30:
Dynamic configuration at Twitter.
- 2018‑11‑30:
Golang 2, here we come!
- 2018‑11‑29:
Competition is dying, and taking capitalism with it.
- 2018‑11‑29:
Strange earthquake waves rippled around Earth, and nobody knows why.
- 2018‑11‑29:
Multi-level MDA-Lite Paris Traceroute.
- 2018‑11‑29:
The baseline costs of JavaScript frameworks.
- 2018‑11‑29:
Amazon's homegrown Graviton processor was very nearly an AMD Arm CPU.
- 2018‑11‑29:
The Holy Hand Grenade of Antioch: OpenSSL version numbering and licence change.
- 2018‑11‑29:
Secrets of the magus: a profile of Ricky Jay. (1993)
- 2018‑11‑28:
How GitLab spent two weeks hunting an NFS bug in the Linux kernel.
- 2018‑11‑28:
What's in a Docker image? How to find out.
- 2018‑11‑28:
A perfect storm that brought down LinkedIn.com.
- 2018‑11‑28:
The datacenter as a computer: how Google designs warehouse-scale machines.
- 2018‑11‑28:
A history of Unix man pages.
- 2018‑11‑28:
Why do computers use so much energy?
- 2018‑11‑28:
OpenBGPD: adding diversity to the route server landscape.
- 2018‑11‑27:
What's the time? Measuring computer clocks on the Internet.
- 2018‑11‑27:
How programmable calculators and an sf story brought Soviet teens into the digital age.
- 2018‑11‑27:
Cryptocurrency collapse.
- 2018‑11‑27:
Why women in psychology can't program.
- 2018‑11‑27:
Beating hash tables with trees? The ART-ful radix trie.
- 2018‑11‑27:
Preventing SQL injection with PostgreSQL and Python.
- 2018‑11‑27:
The state of WiFi vs mobile network experience.
- 2018‑11‑27:
Amsterdam vs Copenhagen (a British view).
- 2018‑11‑27:
Is Copenhagen a city of cyclists? (A Dutch view.)
- 2018‑11‑27:
AWS designed ARM processor: Graviton.
- 2018‑11‑27:
Designing headers for HTTP compression (HPACK and QPACK).
- 2018‑11‑26:
Today's JavaScript trash fire and pile on: the flatmap-stream compromise.
- 2018‑11‑26:
The "feel-good" horror of late-stage capitalism.
- 2018‑11‑26:
The power of Web Components.
- 2018‑11‑26:
No cutting corners cutting corners.
- 2018‑11‑26:
Integer overflow and SMT-solvers.
- 2018‑11‑26:
Cuckoo breeding ground: a better cuckoo hash table.
- 2018‑11‑25:
How I changed the law with a GitHub pull request.
- 2018‑11‑25:
Motorists punish helmet-wearing cyclists with close passes, confirms data recrunch.
- 2018‑11‑25:
WebAssembly doesn't make unsafe languages safe (yet).
- 2018‑11‑25:
5919 default passwords from Open Sez Me!
- 2018‑11‑25:
Why most of America is terrible at making biscuits.
- 2018‑11‑25:
LinkedIn violated data protection by using 18M email addresses of non-members to buy targeted ads on Facebook.
- 2018‑11‑25:
The Lisp Machines Inc. K-Machine.
- 2018‑11‑24:
Type-safe builders in Kotlin.
- 2018‑11‑24:
NovaSolix hopes to make a 90% efficient solar cell using carbon nanotubes.
- 2018‑11‑24:
Model View Controller isn't.
- 2018‑11‑24:
Tworoutines in Python: easy mixing of synchronous and asynchronous code.
- 2018‑11‑24:
U.S. finally legalizes modern, European-style train cars.
- 2018‑11‑24:
The code hiding on these Madrid security bollards.
- 2018‑11‑24:
How a mysterious tech billionaire created two fortunes and a global software sweatshop.
- 2018‑11‑24:
Enumerating the rationals (without duplication).
- 2018‑11‑24:
Riding the Space Shuttle's solid rocket booster.
- 2018‑11‑24:
Amazing time-lapse video of a rocket launch... seen from space!
- 2018‑11‑24:
'12 Monkeys': why Terry Gilliam's movie is so relevant today.
- 2018‑11‑24:
JavaScript modules.
- 2018‑11‑23:
6 strange facts about the interstellar visitor 'Oumuamua.
- 2018‑11‑23:
Nuisance calls: new UK law provides for company director liability.
- 2018‑11‑23:
Are pop lyrics getting more repetitive?
- 2018‑11‑23:
Twelve steps to enable IPv6 in government and enterprise networks.
- 2018‑11‑23:
Killed by Google: the Google graveyard.
- 2018‑11‑22:
Working on the engines while the plane is flying: eBay's router replacement project.
- 2018‑11‑21:
dav1d AV1 decoder: performance and completion of the first release.
- 2018‑11‑21:
Django core no more.
- 2018‑11‑21:
Undumping TeX.
- 2018‑11‑21:
D compilation is too slow and I am forking the compiler.
- 2018‑11‑21:
Falcon Heavy 1/48 scale model, flight 1. (YouTube)
- 2018‑11‑21:
IBM's future system of the past.
- 2018‑11‑21:
Herding the DNS camel.
- 2018‑11‑21:
PhotoFunia Retro Wave neon 1980s image macro generator.
- 2018‑11‑21:
Compile-time feature flags in Rust.
- 2018‑11‑21:
The brown one, the honey eater, the shaggy coat, the destroyer: names for bears.
- 2018‑11‑21:
Why we should let the Pantheon crack.
- 2018‑11‑21:
Do you even bake, bro? How the Silicon Valley set fell in love with sourdough.
- 2018‑11‑21:
IBM's 1970s future system (FS) project.
- 2018‑11‑21:
A 3270 font in a modern format.
- 2018‑11‑21:
The IBM z14 microprocessor and system control design.
- 2018‑11‑21:
How a small French privacy ruling could remake adtech for good.
- 2018‑11‑20:
4-year-old fixes a documentation bug in Linux.
- 2018‑11‑20:
Techno-Sublime: a review of Benoit Mandelbrot's autobiography.
- 2018‑11‑20:
Taking out the garbage: GC for GJS, the Gnome Shell SpiderMonkey JavaScript hooks.
- 2018‑11‑20:
Surveillance marketing: Too much personalization can hurt your brand.
- 2018‑11‑20:
Drop-down usability: when you should (and shouldn't) use them.
- 2018‑11‑19:
Italy's olive crisis intensifies as deadly tree disease spreads.
- 2018‑11‑19:
Post-REST.
- 2018‑11‑19:
Time is Partial: why do distributed consistency models and weak memory models look so similar?
- 2018‑11‑19:
The case against quantum computing.
- 2018‑11‑19:
Facebook, Google, Amazon, railroads, and the collapse of the tech mythology.
- 2018‑11‑19:
The secret of cube-shaped wombat faeces.
- 2018‑11‑19:
Analyzing the GitHub outage.
- 2018‑11‑19:
That time a provider screwed CircleCI: remembering a security breach five years ago.
- 2018‑11‑18:
Windows 10 vs. Linux performance on AMD Threadripper 2990WX.
- 2018‑11‑18:
typed-html: Type checked JSX for Rust.
- 2018‑11‑18:
The invention of the AeroPress.
- 2018‑11‑18:
Unscii: a bitmapped Unicode font for blocky graphics.
- 2018‑11‑17:
Hurts so good: spicy foods and the compelling chemistry of chemesthesis.
- 2018‑11‑17:
Resinferatoxin is so spicy hot it destroys nerve endings - in a good way.
- 2018‑11‑17:
File mtime comparison considered harmful.
- 2018‑11‑17:
As the toffs began to retreat: the decline and fall of Great Britain.
- 2018‑11‑17:
Rare microbes lead scientists to discover new branch on the tree of life.
- 2018‑11‑17:
Why sleep apnea patients rely on a CPAP machine hacker.
- 2018‑11‑16:
International System of Units overhauled in historic vote at CGPM.
- 2018‑11‑16:
He found the best burger place in America. And then he killed it.
- 2018‑11‑16:
Tips on migrating SQL from Oracle to PostgreSQL.
- 2018‑11‑16:
Bit fields in the Zig programming language.
- 2018‑11‑16:
Fast line-following robots.
- 2018‑11‑15:
Statistical rule of three: how to estimate the chances of something that hasn't happened yet.
- 2018‑11‑15:
The "C" in CSS: a tutorial about the cascade.
- 2018‑11‑15:
How Operation Libero tackled toxic right-wing politics in Switzerland.
- 2018‑11‑15:
The Asus Eee: how close did we come to a Linux desktop?
- 2018‑11‑15:
Period-tracking apps are not for women.
- 2018‑11‑14:
Scaling millions of connections with zero-propagation dynamic DNS.
- 2018‑11‑14:
Zero-cost abstractions in Julia: indexing vectors by name with LabelledArrays.
- 2018‑11‑14:
Experiences with Unix on the Cray X/MP.
- 2018‑11‑13:
Medium is a poor choice for blogging.
- 2018‑11‑12:
The automation charade.
- 2018‑11‑12:
Hello, and welcome to libh2o.
- 2018‑11‑12:
C2x standard revision now in progress.
- 2018‑11‑12:
Distributed consistency at scale: Spanner vs. Calvin.
- 2018‑11‑12:
Hob3l: 100x faster slicing of SCAD files for 3D printing.
- 2018‑11‑12:
Refactoring towards language with Objective C.
- 2018‑11‑12:
The easiest way to debug node.js is with VSCode.
- 2018‑11‑12:
25th anniversary of NCSA Mosaic 1.0.
- 2018‑11‑11:
TLS: what can go wrong?
- 2018‑11‑11:
HTTP-over-QUIC will be HTTP/3.
- 2018‑11‑11:
Why Intel processors draw more power than expected: TDP and Turbo explained.
- 2018‑11‑11:
Some notes on running new software in production.
- 2018‑11‑11:
How bicycles have changed in the last 25 years.
- 2018‑11‑11:
Cross shard transactions at 10 million requests per second.
- 2018‑11‑11:
RocketLab's successful launch in New Zealand brings quick, cheap space access.
- 2018‑11‑11:
iSH: Linux emulator for iOS.
- 2018‑11‑11:
Should you use www or not in your web site host name?
- 2018‑11‑11:
Exploiting coroutines to reduce cache miss latency "killer nanoseconds".
- 2018‑11‑10:
The semiconductor industry and economic growth theory.
- 2018‑11‑10:
Before envelopes, people protected messages with letterlocking.
- 2018‑11‑09:
Against software development.
- 2018‑11‑09:
Deliveroo's data shows cyclists are faster in cities than cars and motorbikes.
- 2018‑11‑09:
Introducing Badger: A fast key-value store written purely in Golang.
- 2018‑11‑09:
A history of the sentence "buffalo buffalo buffalo buffalo buffalo".
- 2018‑11‑09:
Amazon's AbeBooks backs down after booksellers stage global protest.
- 2018‑11‑09:
GitHub reaches 100 million repositories.
- 2018‑11‑09:
Haskell type checker complaint 184 of 698.
- 2018‑11‑07:
Profiling: the case of the missing milliseconds.
- 2018‑11‑07:
Donut math: how donut.c works.
- 2018‑11‑07:
Migrating away from Google Maps and cutting costs by 99%.
- 2018‑11‑07:
On dealing with owning and borrowing in public interfaces in Rust.
- 2018‑11‑07:
Interprocedural borrow conflicts in Rust.
- 2018‑11‑07:
.brand TLD observatory.
- 2018‑11‑06:
SideTrail: verifying time-balancing countermeasures against side-channel attacks against cryptosystems.
- 2018‑11‑06:
AMD announces 64-core 7nm Rome CPUs, 7nm MI60 GPUs, and Zen 4.
- 2018‑11‑06:
How to speed up the Rust compiler in 2018: NLL edition.
- 2018‑11‑06:
The copyleft bust up.
- 2018‑11‑06:
British underground utility colour codes explained.
- 2018‑11‑06:
Colorful language: decoding utility markings spray-painted on city streets.
- 2018‑11‑06:
SF writer Greg Egan and anonymous 4chan poster advance permutation problem.
- 2018‑11‑06:
Performance of SMT solving on an iPhone.
- 2018‑11‑05:
Julia: dynamism and performance reconciled by design.
- 2018‑11‑05:
Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs).
- 2018‑11‑05:
Who called 1688 a "Glorious Revolution"?
- 2018‑11‑05:
Envoy proxy and gRPC-web: a fresh new alternative to REST.
- 2018‑11‑05:
Deadlines, lies and videotape: The tale of a gRPC bug.
- 2018‑11‑05:
Impact of daylight saving time on the clinical laboratory.
- 2018‑11‑05:
Epic fail: daylight saving time stumps hospital record keeping.
- 2018‑11‑05:
When Unix time was measured in 1/60 second ticks.
- 2018‑11‑05:
The origin of C's cast operator.
- 2018‑11‑05:
6502 programming language Implementation survey.
- 2018‑11‑05:
A Google Books OCR cliche: into his/her anus.
- 2018‑11‑04:
AI ethics, impossibility theorems, and tradeoffs.
- 2018‑11‑04:
How managers can decide which data science projects to pursue.
- 2018‑11‑04:
How to manage connections efficiently in Postgres.
- 2018‑11‑02:
ExploderBot: a slow-drip DDoS attack system.
- 2018‑11‑01:
Why pencils are yellow.
- 2018‑11‑01:
sdns: Golang recursive DNS server with DNSSEC support.
- 2018‑10‑31:
Apple XNU kernel RCE vulnerability due to buffer overflow in ICMP packet handling. (CVE-2018-4407)
- 2018‑10‑31:
The evolution of character codes, 1874-1968.
- 2018‑10‑31:
Analyzing the root DNSSEC key rollover.
- 2018‑10‑31:
The recent root DNSSEC key rollover: summary and next steps.
- 2018‑10‑31:
Introduction to Linux interfaces for virtual networking.
- 2018‑10‑30:
GitHub October 21 post-incident analysis.
- 2018‑10‑30:
Archaeologists find 300,000-year-old stone tools in Saudi Arabia.
- 2018‑10‑30:
Post-mortem: helium leak from MRI disables every iOS device in facility.
- 2018‑10‑30:
Ira Magaziner's view of ICANN's creation.
- 2018‑10‑29:
Chocolate has a origin 1500 years earlier than we thought.
- 2018‑10‑29:
Honeycomb.io postmortem: RDS clogs and cache-refresh crash loops.
- 2018‑10‑29:
Atlassian incident management handbook.
- 2018‑10‑29:
To err is human: mistakes and slips in skydiving and other disciplines.
- 2018‑10‑29:
The core practical problems with HiDPI on Linux.
- 2018‑10‑29:
HiDPI on dual 4K monitors with Linux.
- 2018‑10‑29:
Exploring C semantics and pointer provenance.
- 2018‑10‑29:
Ten platform commandments.
- 2018‑10‑29:
Status page updates: It's all about timing.
- 2018‑10‑28:
IBM nears deal to acquire Red Hat.
- 2018‑10‑28:
One Windows kernel.
- 2018‑10‑28:
Why logical clocks are easy.
- 2018‑10‑27:
Windows Defender Antivirus can now run in a sandbox.
- 2018‑10‑27:
Legal curiosities: fact or fable?
- 2018‑10‑27:
Systemd is bad parsing DHCPv6 packets and its programmers should feel bad.
- 2018‑10‑26:
Proposal: Golang 2 transition.
- 2018‑10‑26:
Detecting Agile BS.
- 2018‑10‑26:
A Plan 9 C compiler for RISC-V.
- 2018‑10‑26:
RobinHood tail latency aware caching: dynamic reallocation from cache-rich to cache-poor.
- 2018‑10‑26:
The peer review industry: implausible and outrageous.
- 2018‑10‑26:
From the endpoint to the cloud: Joanna Rutkowska says goodbye to Qubes OS.
- 2018‑10‑25:
MongoDB's Server Side Public License is likely unenforceable.
- 2018‑10‑25:
US copyright office ruling imposes sweeping right-to-repair reforms.
- 2018‑10‑25:
What application developers should know about leap seconds on Windows 10.
- 2018‑10‑25:
A mini biography of Sidney Darlington.
- 2018‑10‑25:
Stardate 5928.5. USS Enterprise monthly catchup meeting with DS9.
- 2018‑10‑25:
Investigating the implausible Bloomberg Supermicro stories.
- 2018‑10‑25:
Bitcoin must die.
- 2018‑10‑24:
Yelp production engineering documentation style guide.
- 2018‑10‑24:
Rust has higher kinded types already, but only sinners can use them.
- 2018‑10‑24:
Towards fearless SIMD.
- 2018‑10‑24:
.br DNSSEC algorithm rollover report.
- 2018‑10‑24:
Drivers wildly overestimate what "semiautonomous" cars can do.
- 2018‑10‑24:
The myth of whiteness in classical sculpture.
- 2018‑10‑24:
Apps installed on millions of Android phones tracked user behavior to execute a multimillion-dollar ad fraud scheme.
- 2018‑10‑24:
Consolidation, centralisation, and the Internet architecture.
- 2018‑10‑24:
Why did the golden age of The Simpsons end?
- 2018‑10‑24:
A fast, reliable cuckoo hash table for Node.js.
- 2018‑10‑23:
An alternative history of Silicon Valley disruption.
- 2018‑10‑23:
LLVM on SVN to GitHub migration.
- 2018‑10‑23:
Is WebAssembly faster than JavaScript?
- 2018‑10‑23:
Lack of progress exposed by the Canary MacGuffin.
- 2018‑10‑23:
Hexagonal Architecture: three principles and an implementation example.
- 2018‑10‑23:
Advanced techniques to implement fast hash tables.
- 2018‑10‑23:
Windows Server 2019 and Windows 10 October 2018 Update implement leap seconds in a UTC-compliant manner.
- 2018‑10‑23:
Rust can be difficult to learn and frustrating, but it's also the most exciting thing in software development in a long time.
- 2018‑10‑23:
PrEP is stopping HIV in Sydney, a world-first study shows.
- 2018‑10‑22:
WebAssembly's post-MVP future.
- 2018‑10‑22:
Superpermutations.
- 2018‑10‑22:
First-class automatic differentiation in Swift: a manifesto.
- 2018‑10‑22:
Intel kills off its 10nm process.
- 2018‑10‑22:
Facebook is now adding "fbclid" surveillance parameters to outbound links.
- 2018‑10‑22:
RISC OS relicensed under Apache 2.0.
- 2018‑10‑22:
Pronouncing SQL: "S-Q-L" or "sequel"?
- 2018‑10‑22:
Uptime Institute standards for data centre design.
- 2018‑10‑22:
LegoOS: a disseminated, distributed OS for hardware resource disaggregation.
- 2018‑10‑22:
Parsing Timeline version 3.1.
- 2018‑10‑22:
Everyone in a room keeps giving dollars to random others. You'll never guess what happens next.
- 2018‑10‑21:
The indefatigable efforts of J. M. Keynes.
- 2018‑10‑21:
Oral tradition: the oldest true stories in the world.
- 2018‑10‑21:
Basic features that will hopefully return to the MacBook Pro.
- 2018‑10‑21:
Asterix in translation: the genius of Anthea Bell and Derek Hockridge.
- 2018‑10‑21:
Massachusetts gas explosions: Another technological tragedy.
- 2018‑10‑21:
Alzheimer's disease: mounting evidence that herpes virus is a cause.
- 2018‑10‑21:
Pando, the most massive organism on Earth, Is shrinking.
- 2018‑10‑21:
Inside the poisonous British fight over transgender acceptance.
- 2018‑10‑21:
So you want to open a small press bookstore / artist-run space?
- 2018‑10‑20:
Did Uber steal Google's intellectual property?
- 2018‑10‑20:
The elegance of deflate (zlib).
- 2018‑10‑20:
It's not a bug, it's a feature.
- 2018‑10‑20:
The future's so bright, I gotta wear blinders.
- 2018‑10‑20:
Notes on type layouts and ABIs in Rust.
- 2018‑10‑20:
JavaScript fat arrow functions: how, why, when, and when not to use them.
- 2018‑10‑20:
The illustrated TLS connection: every byte explained.
- 2018‑10‑20:
Encrypted SNI comes to Firefox Nightly.
- 2018‑10‑19:
Let's talk about PAKE: password authenticated key exchange.
- 2018‑10‑19:
(Semi-)plausible strategies for moving a whole damn planet.
- 2018‑10‑19:
Flight rules for git.
- 2018‑10‑19:
Exoplanet sizes and spacing around other stars is unlike what we see in our own system.
- 2018‑10‑19:
Fold N Fly paper aeroplane designs.
- 2018‑10‑19:
Orca: differential bug localization in large-scale services.
- 2018‑10‑19:
Looking back at 20 years of ICANN.
- 2018‑10‑18:
Ada Lovelace day: important type theory researchers to follow.
- 2018‑10‑18:
Did Facebook's faulty data push news publishers to make terrible decisions on video?
- 2018‑10‑17:
REPT: reverse debugging of failures in deployed software on Windows.
- 2018‑10‑17:
Bankruptcy and destitution is what happens when you take Ayn Rand seriously.
- 2018‑10‑17:
Accessibility Cheatsheet: practical approaches to universal design.
- 2018‑10‑17:
MODALZ MODALZ MODALZ: design patterns for avoiding modal popups.
- 2018‑10‑15:
GitLab.com stability and performance after migration from Microsoft Azure to Google Cloud.
- 2018‑10‑15:
A batpoo-eating pitcher plant.
- 2018‑10‑14:
The reason we have not detected dark matter.
- 2018‑10‑13:
DOH! An overview of DNS-over-HTTPS.
- 2018‑10‑12:
Vector space model: the most influential paper Gerard Salton never wrote.
- 2018‑10‑12:
Oil droplets guided by "pilot waves" have failed to reproduce the results of the quantum double-slit experiment.
- 2018‑10‑12:
Asterisks in Python: what they are and how to use them.
- 2018‑10‑12:
Deduplicating files in Public Git Archive.
- 2018‑10‑11:
Uncoiling the spiral: Maths, hallucinations, and patterns in fur.
- 2018‑10‑11:
Fastly Debug connection diagnostics.
- 2018‑10‑11:
Dropbox Debug connection diagnostics.
- 2018‑10‑11:
GitHub Debug connection diagnostics.
- 2018‑10‑11:
Dropbox traffic infrastructure: Edge network.
- 2018‑10‑10:
How a fraudster got $12 million out of a Canadian university: spear phishing.
- 2018‑10‑10:
sql-indent.el: Syntax based indentation for SQL in GNU Emacs.
- 2018‑10‑10:
Protobuffers are wrong.
- 2018‑10‑10:
Helium leak from MRI disabled all Apple devices in the facility.
- 2018‑10‑10:
Rust has a static garbage collector.
- 2018‑10‑10:
Secrets in serverless functions.
- 2018‑10‑10:
Who is stealing my power? An ad network case study.
- 2018‑10‑10:
pgFormatter: A PostgreSQL SQL syntax beautifier.
- 2018‑10‑10:
A Rust FFI adventure in unsafety.
- 2018‑10‑10:
Web advertising, where your data is traded in the time it takes to click.
- 2018‑10‑10:
Continued progress porting Emacs to Rust.
- 2018‑10‑10:
Despite proposed solutions, DNS security issues remain.
- 2018‑10‑10:
12 factor CLI apps.
- 2018‑10‑09:
Rust RAII is better than Haskell's bracket pattern.
- 2018‑10‑09:
Reified generics: the search for a cure.
- 2018‑10‑09:
Biscuit: a research OS written in Golang.
- 2018‑10‑09:
The benefits and costs of writing a POSIX kernel in Golang.
- 2018‑10‑08:
The truth about traditional JavaScript benchmarks.
- 2018‑10‑08:
bpftrace (DTrace 2.0) for Linux: source code now available.
- 2018‑10‑08:
Calls between JavaScript and WebAssembly are finally fast.
- 2018‑10‑08:
How newline characters affect Linux kernel performance.
- 2018‑10‑08:
Google+ to shut down after coverup of data-exposing bug.
- 2018‑10‑08:
The untold story of Stripe, the secretive $20bn online payments startup.
- 2018‑10‑08:
SRE: the biggest lie since Kanban?
- 2018‑10‑08:
detect-secrets: prevent new secrets from being committed, and gradually eliminate old ones.
- 2018‑10‑08:
Microsoft pulls Windows 10 October 2018 update after reports of documents being deleted.
- 2018‑10‑08:
Perl 5 static analysis: how to hide errors in macros.
- 2018‑10‑07:
A classification of comments in code.
- 2018‑10‑06:
The Python Unicode mess.
- 2018‑10‑06:
How blind players succeed at sports video games they've never seen.
- 2018‑10‑06:
The $250 biohack that's revolutionizing life with diabetes.
- 2018‑10‑06:
A journey into the heart of bragging: 17 modes of showing off.
- 2018‑10‑05:
How Etsy localizes addresses.
- 2018‑10‑05:
Making sense of the Supermicro motherboard attack.
- 2018‑10‑05:
Peeking behind the curtains of serverless platforms.
- 2018‑10‑05:
Do you really know CORS?
- 2018‑10‑05:
Ubuntu Linux performance over the past six years on an Intel Xeon server.
- 2018‑10‑04:
Sans Forgetica: a font designed to help you remember your study notes.
- 2018‑10‑04:
Bloomberg's 'The Big Hack'.
- 2018‑10‑04:
The Big Hack: how China used a tiny chip to infiltrate American companies.
- 2018‑10‑04:
TLS token-binding standard gains a foothold on the Web.
- 2018‑10‑04:
Bagpiper: decentralized secret management at Airbnb.
- 2018‑10‑04:
How Dropbox rolled out one of the largest Python 3 migrations ever.
- 2018‑10‑03:
The mystery of the continuously functioning battery from 1840.
- 2018‑10‑03:
Commodore 64 left outside for over a decade! Could it still work? (YouTube)
- 2018‑10‑03:
The rise of Netflix competitors pushed consumers back toward piracy.
- 2018‑10‑03:
Intel ME Manufacturing Mode and Apple MacBook vulnerability CVE-2018-4251.
- 2018‑10‑03:
A history of .NET runtimes.
- 2018‑10‑03:
Arm offers free-as-in-beer Cortex IP for Xilinx FPGAs.
- 2018‑10‑03:
The remarkable persistence of 24x36mm.
- 2018‑10‑03:
Why are enterprises so slow?
- 2018‑10‑03:
Kubernetes: a surprisingly affordable platform for personal projects.
- 2018‑10‑03:
When workers automate their own duties, who should reap the benefits?
- 2018‑10‑03:
How cyber attackers stole £2.26m from Tesco Bank customers.
- 2018‑10‑02:
The art of DNS subdomain enumeration.
- 2018‑10‑02:
What the heck is going on with measures of programming language popularity?
- 2018‑10‑02:
Vigilante engineer stops Waymo from patenting key lidar technology.
- 2018‑10‑02:
Introducing dav1d: a new AV1 decoder.
- 2018‑10‑01:
Think globally, act local-ly: restoring environment variables for a subprocess in Perl.
- 2018‑10‑01:
Rethinking Netflix's edge load balancing.
- 2018‑10‑01:
Reimagining of Schrödinger's cat breaks quantum mechanics, and stumps physicists.
- 2018‑10‑01:
UK telecomms access hatch covers.
- 2018‑10‑01:
What if everything we know about dark matter is totally wrong?
- 2018‑09‑30:
NanoLog: high performance nanosecond scale logging system for C++ with a printf-like API.
- 2018‑09‑30:
Peter Flynn set up the first web server in Ireland, and caused the first broken link 404 error.
- 2018‑09‑30:
Estonia sues Gemalto for 152 mln euros over ID card flaws.
- 2018‑09‑29:
Tesla big battery defies skeptics, sends industry bananas over performance.
- 2018‑09‑29:
State of memory safety in Linux.
- 2018‑09‑29:
How 50 million Facebook accounts were hacked.
- 2018‑09‑29:
Innocent until proven guilty / believe the plaintiff.
- 2018‑09‑29:
Rust collections case study: BTreeMap.
- 2018‑09‑29:
The relative performance of C and Rust: AVL tree vs B-tree.
- 2018‑09‑28:
Building Raspberry Pi systems with Yocto.
- 2018‑09‑28:
How to visualize decision trees.
- 2018‑09‑27:
Bizarre particles keep flying up out of Antarctica's ice, and they don't fit the Standard Model.
- 2018‑09‑26:
Why scatter plots suggest causality, and how diamond plots can compensate.
- 2018‑09‑26:
How to build a LOW←TECH solar-powered web site.
- 2018‑09‑26:
Deploying anycast DNS using OpenBSD and BGP.
- 2018‑09‑26:
ARIN routing security deployment stymied by legal restrictions on trust anchor distribution.
- 2018‑09‑26:
What I learned about trash collection from a Taipei alley.
- 2018‑09‑25:
The sorry state of TLS security in enterprise interception appliances.
- 2018‑09‑25:
Although many thought Koko the ape used sign language, science tells us that probably wasn't really true.
- 2018‑09‑25:
Which countries are most resilient to a tier 1 Internet provider failure?
- 2018‑09‑25:
Build systems à la carte.
- 2018‑09‑25:
Taking algorithms to court: current strategies for litigating government use of algorithmic decision-making (in the USA).
- 2018‑09‑25:
Review of the system failure that led to the 2018 tax day IRS outage.
- 2018‑09‑25:
Am I logged in or not? GDPR and the Google Chrome browser sync change.
- 2018‑09‑24:
Computer scientists close in on a proof of the Unique Games conjecture.
- 2018‑09‑24:
Inside a demo of NSO Group's powerful iPhone malware.
- 2018‑09‑23:
Instagram is the unlikely savior of concrete Brutalist architecture.
- 2018‑09‑23:
PostgreSQL 11: something for everyone.
- 2018‑09‑23:
Qualcomm's bid to chase Intel in servers fell victim to Broadcom.
- 2018‑09‑23:
Common cyborg.
- 2018‑09‑22:
A mathematical pattern that fails after about 10^43 examples.
- 2018‑09‑22:
How the GNU coreutils are tested.
- 2018‑09‑21:
NewSQL database systems are failing to guarantee consistency, and Google Spanner is to blame.
- 2018‑09‑21:
Writing documentation when you aren't a technical writer.
- 2018‑09‑21:
Pallene: A statically typed companion language for Lua.
- 2018‑09‑21:
Core Coroutines: making C++ coroutines simpler, faster, and more general.
- 2018‑09‑21:
Whatever happened to the semantic web?
- 2018‑09‑21:
The Open Graph protocol: web page metadata for Facebook.
- 2018‑09‑21:
How to create a Twitter card.
- 2018‑09‑21:
Titans of mathematics clash over epic "proof" of the ABC conjecture.
- 2018‑09‑20:
Why aren't users more happy with programming language JIT VMs?
- 2018‑09‑20:
Persistent DNS connections for reliability and performance.
- 2018‑09‑19:
Javascript: call functions without using parentheses, Lua style.
- 2018‑09‑19:
Scaling AFL to a 256 thread machine.
- 2018‑09‑19:
ICANN board approval of the DNSSEC root KSK rollover.
- 2018‑09‑18:
Why mathematicians can't find the hay in a haystack.
- 2018‑09‑18:
How to kill your tech industry: British computing after the war.
- 2018‑09‑18:
Ruby's Hashes and Perl's Autovivification, in JavaScript.
- 2018‑09‑18:
DDoS attacks on colleges and universities: who, when and why?
- 2018‑09‑18:
Apple and Firefox aim to thwart Facebook and Google tracking.
- 2018‑09‑18:
What really happened to Apple's AirPower.
- 2018‑09‑18:
RIPE's DNSSEC signer migration.
- 2018‑09‑17:
Writers' HQ privacy policy.
- 2018‑09‑17:
Good and Mad: American women are furious; politics and culture will never be the same.
- 2018‑09‑17:
Tim Hayward's grilled cheese sandwich.
- 2018‑09‑17:
Bitslicing: an introduction.
- 2018‑09‑17:
Bring back the shadows: the case against HDR.
- 2018‑09‑17:
A summary of the draft EU directive that might abolish DST next year.
- 2018‑09‑16:
GT Zirkon: a sans-serif font with an animated website.
- 2018‑09‑16:
The next ten billion years.
- 2018‑09‑16:
The real Goldfinger: the London banker who broke the world.
- 2018‑09‑15:
The strange history of Myers-Briggs personality tests.
- 2018‑09‑15:
Most of the Daily Mail's 'commentors' don't even exist.
- 2018‑09‑15:
What most remote work companies don't tell you about remote work.
- 2018‑09‑15:
The five levels of logging.
- 2018‑09‑15:
XML, blockchains, and the strange shapes of progress.
- 2018‑09‑15:
The widely divergent life expectancy in every county in the USA.
- 2018‑09‑15:
We're measuring the economy all wrong.
- 2018‑09‑15:
Handling the iPhone notch in CSS.
- 2018‑09‑15:
Making a hash of things: changing the comment character in git commit messages.
- 2018‑09‑14:
Golang and algebraic data types.
- 2018‑09‑14:
How the Weather Channel made that awesome Hurricane Florence storm surge animation.
- 2018‑09‑14:
If you have a meeting in Ethiopia, you'd better double check the time.
- 2018‑09‑14:
A discussion of local time in Ethiopia, where 12:00 is dawn.
- 2018‑09‑13:
On recipes as software, and empathy for the user.
- 2018‑09‑13:
The factorization of RSA230.
- 2018‑09‑13:
A cartogram of world population in 2018.
- 2018‑09‑13:
YANG alarms.
- 2018‑09‑13:
UK mass surveillance ruled unlawful in landmark ECHR judgment.
- 2018‑09‑13:
European Commission proposes ending DST in March 2019.
- 2018‑09‑13:
How we found a missing Scala class.
- 2018‑09‑13:
HHVM ends PHP support; Facebook's Hack language will rapidly break compatibility.
- 2018‑09‑13:
What the GlobalFoundries retreat really means.
- 2018‑09‑12:
Adventures in Rust: DNS lookups with futures and Tokio.
- 2018‑09‑12:
Parallelizing PNG: choosing Rust for `mtpng`.
- 2018‑09‑12:
Let's Encrypt at scale, for 3000+ web sites at AutoTrader.
- 2018‑09‑12:
How to generate SSL certificates for custom domains using Let's Encrypt, OpenResty, nginx, and Lua.
- 2018‑09‑12:
Writing a simple SQL interpreter in Julia.
- 2018‑09‑12:
Brendan Eich's Brave browser files GDPR complaint against Google's adtech.
- 2018‑09‑12:
Hashicorp Vault: why we need dynamic secrets.
- 2018‑09‑12:
A single gene mutation may have helped humans become optimal long-distance runners.
- 2018‑09‑12:
The British Airways breach: how Magecart claimed 380,000 victims.
- 2018‑09‑12:
Pigeon Maps: ReactJS maps without external dependencies.
- 2018‑09‑11:
The effectiveness of publicly shaming bad security (after private reports fall on deaf ears).
- 2018‑09‑11:
The "developer experience" bait-and-switch: JavaScript is the web's greenhouse gas.
- 2018‑09‑11:
PostgreSQL 11 JIT compilation of queries.
- 2018‑09‑11:
An IPv6 update: how APNIC measures the Internet.
- 2018‑09‑11:
Measuring information in millibytes
- 2018‑09‑11:
Elegy for Larrabee: autovectorization is not a programming model.
- 2018‑09‑11:
OpenSSL-1.1.1 released.
- 2018‑09‑11:
DoT and DoH: it's DNS, Jim, but not as we know it!
- 2018‑09‑10:
Why big companies squander good ideas.
- 2018‑09‑10:
Fast, furious, and insecure: hacking passive keyless entry and start in the Tesla model S.
- 2018‑09‑10:
Spoofing DNS with IP fragments.
- 2018‑09‑10:
A23D: a 3D-printed letterpress font.
- 2018‑09‑10:
Highlights from Git 2.19.
- 2018‑09‑10:
`git log --follow` over-enthusiastically tracks empty files.
- 2018‑09‑10:
The first 15 years of PyPy: a personal retrospective.
- 2018‑09‑10:
Starting an Internet service provider, part 2: deploying fiber.
- 2018‑09‑10:
libcurl gets a URL parser API.
- 2018‑09‑10:
Why Rust closures are (somewhat) hard.
- 2018‑09‑10:
An introduction to inline classes in Kotlin.
- 2018‑09‑10:
Why can't apes talk? Considering primate speech.
- 2018‑09‑10:
UK's worst-selling map: The empty landscape charted by OS440.
- 2018‑09‑10:
Future directions for optimizing compilers.
- 2018‑09‑10:
Things you probably don't want on your [airline] website's payment pages.
- 2018‑09‑09:
On compositionality.
- 2018‑09‑09:
The two dualities of computation: negative and fractional algebraic data types.
- 2018‑09‑09:
The algebra (and calculus!) of algebraic data types.
- 2018‑09‑09:
xsv: a CSV command line toolkit written in Rust.
- 2018‑09‑09:
Java 11: Time to look beyond Oracle's JDK.
- 2018‑09‑09:
5 mistakes C/C++ devs make writing Golang.
- 2018‑09‑09:
10 physics facts you should have learned in school but probably didn't.
- 2018‑09‑09:
DNS-over-TLS: thoughts and implementation.
- 2018‑09‑09:
First-party isolation in Firefox: what breaks if you enable it?
- 2018‑09‑08:
Surprising hidden order unites prime numbers and crystal-like materials.
- 2018‑09‑08:
Quarternions: the strange numbers that birthed modern algebra.
- 2018‑09‑08:
ripgrep 0.10.0 with pcre support.
- 2018‑09‑08:
Zero overhead deterministic failure: a proposed mechanism for C and C++.
- 2018‑09‑07:
SQL style guide.
- 2018‑09‑07:
TLS session resumption allows Google and Facebook to track you without cookies.
- 2018‑09‑07:
Keybase's browser extension exposes decrypted messages to third party web sites.
- 2018‑09‑07:
Golang says WAT?
- 2018‑09‑07:
The mysterious case of Chrome's hidden URLs and Google's AMP.
- 2018‑09‑07:
The new science of seeing around corners.
- 2018‑09‑07:
The monopoly-busting case against Google, Amazon, Uber, and Facebook.
- 2018‑09‑07:
How gRPC uses HTTP/2.
- 2018‑09‑07:
How the Golang runtime implements maps efficiently (without generics).
- 2018‑09‑07:
Google AMP can go to hell.
- 2018‑09‑07:
Google wants to kill the URL.
- 2018‑09‑07:
Ancient farmers spared us from glaciers but profoundly changed Earth's climate.
- 2018‑09‑07:
How we massively reduced our AWS Lambda bill with Golang.
- 2018‑09‑07:
Best practices for mobile form design.
- 2018‑09‑07:
Stabbing yourself with a fork() in a Python multiprocessing.Pool full of sharks.
- 2018‑09‑07:
cOAlition S: a European initiative for full and immediate Open Access to research publications.
- 2018‑09‑07:
Radical open-access plan could spell end to academic journal subscriptions.
- 2018‑09‑07:
Franken-algorithms: the deadly consequences of unpredictable code.
- 2018‑09‑06:
Upgrading PostgreSQL 10 to 11 using logical replication.
- 2018‑09‑06:
Tealemetry: an IoT tea coaster and thermometer.
- 2018‑09‑06:
What drives IPv6 deployment?
- 2018‑09‑06:
Aussie ISP gets eye-watering IPv4 bill, shifts to IPv6 addresses.
- 2018‑09‑05:
Political sextant.
- 2018‑09‑05:
Electromagnetic Field hacker camp featured open source phones as badges and DIY IMSI catchers.
- 2018‑09‑05:
A Rust pattern: iterating over an Rc<Vec<T>>.
- 2018‑09‑05:
The history of a security hole in OpenBSD on i386.
- 2018‑09‑05:
Function poisoning in C++ with gcc.
- 2018‑09‑05:
On Firefox moving DNS to a third party.
- 2018‑09‑05:
Diffy: a server comparison engine for digital forensics in the cloud.
- 2018‑09‑05:
A tour of the Golang memory allocator and garbage collector.
- 2018‑09‑05:
Convergence of AIX and 4.3BSD.
- 2018‑09‑05:
uvm: a BSD virtual memory system.
- 2018‑09‑05:
Java's new Z Garbage Collector (ZGC).
- 2018‑09‑05:
Burroughs B5500 emulator.
- 2018‑09‑04:
Notes on Ousterhout's "Philosophy of Software Design".
- 2018‑09‑04:
A bug story: data alignment in C on x86.
- 2018‑09‑04:
On-site group chat alternatives to HipChat or Slack.
- 2018‑09‑04:
Hysteria was not treated with vibrators.
- 2018‑09‑03:
A critique of resizable distributed hash tables: Riak Core vs random slicing.
- 2018‑09‑03:
Doom II's final secret has been found, after 24 years.
- 2018‑09‑03:
zombodb: allow Postgres to use Elasticsearch as an index provider.
- 2018‑09‑03:
I don't want to learn your garbage query language.
- 2018‑09‑03:
BBC Horizon documentary: a week without lying, the honesty experiment.
- 2018‑09‑03:
SonarSnoop: active acoustic side-channel attacks against smartphone unlock codes.
- 2018‑09‑03:
Optical TEMPEST: progress since 2002.
- 2018‑09‑03:
Tips for making video walls using Matrox C-series graphics cards.
- 2018‑09‑03:
ParseDMARC: open source DMARC report analyzer and visualizer.
- 2018‑09‑03:
ICANN's guide on what to expect during the DNSSEC root KSK rollover.
- 2018‑09‑03:
Relativistic quantum chemistry: why gold is yellow and mercury is liquid.
- 2018‑09‑02:
Anycast TCP.
- 2018‑09‑02:
A story about tracking down TCP RSTs.
- 2018‑09‑02:
Mastodon and the challenges of abuse in a federated system.
- 2018‑09‑01:
Zero-copy deserialization in Julia.
- 2018‑08‑31:
Can Beethoven send copyright takedown requests?
- 2018‑08‑31:
Shifting solid bulk cargoes: an explanation of the process and dangers.
- 2018‑08‑31:
The abelian sandpile model.
- 2018‑08‑31:
The ships that sink due to solid bulk cargo liquefaction.
- 2018‑08‑31:
LeBron James's tattoos at issue in a copyright lawsuit.
- 2018‑08‑31:
On the worst-case complexity of TimSort.
- 2018‑08‑31:
C considered dangerous: mitigations in the Linux kernel.
- 2018‑08‑31:
The performance cost of Spectre / Meltdown / Foreshadow mitigations on Linux 4.19.
- 2018‑08‑30:
Life-size drivable LEGO Technic Bugatti Chiron.
- 2018‑08‑30:
Firefox in-page pop-up reporter.
- 2018‑08‑30:
Linux kernel developer criticizes Intel's Meltdown bug secrecy.
- 2018‑08‑30:
Firefox Nightly DNS-over-HTTPS experimental results.
- 2018‑08‑30:
In the near future, Firefox will - by default - protect users by blocking tracking.
- 2018‑08‑29:
This Tudor London map overlay is marvelous.
- 2018‑08‑29:
Miami's other water problems.
- 2018‑08‑29:
Lazy sequences in Swift and how they work.
- 2018‑08‑29:
Awesome and crazy Kotlin examples.
- 2018‑08‑29:
Surety, the world's oldest blockchain, has been hiding in the New York Times since 1995.
- 2018‑08‑29:
DarkRISCV: opensouce RISC-V implemented from scratch in one night!
- 2018‑08‑29:
Postgres 11 has fast column creation with defaults.
- 2018‑08‑29:
hardened_malloc: an experimental hardened allocator in a very early stage of development.
- 2018‑08‑28:
Tide: TypeScript interactive development environment for Emacs.
- 2018‑08‑28:
RedHat and SUSE withdraw support for OpenLDAP.
- 2018‑08‑28:
Goodbye VSCode, hello Emacs (again).
- 2018‑08‑28:
A new Linux kernel AIO polling interface.
- 2018‑08‑28:
Why U.S. corporate boards don't include workers.
- 2018‑08‑28:
GlobalFoundries stops all 7nm development, instead focuses on specialized processes.
- 2018‑08‑28:
wideNES: peeking past the edge of NES games.
- 2018‑08‑28:
The rise of dismal sf: to understand our economic system, we need speculative stories.
- 2018‑08‑28:
Spectrum of possibilities: a GUI color guide.
- 2018‑08‑28:
How Facebook, Apple, Microsoft, and others are contributing to OpenStreetMap.
- 2018‑08‑28:
Fixing slow MacBook WiFi reconnect after sleep.
- 2018‑08‑28:
From PFI to privatisation, our national accounting rules encourage daft decisions. It's time to change them.
- 2018‑08‑27:
Stop telling women how they should talk.
- 2018‑08‑27:
Why did Prolog lose steam?
- 2018‑08‑27:
Real world write loads and SSD wearout.
- 2018‑08‑27:
VSCodium: binary releases of VS Code without MS branding/telemetry/licensing.
- 2018‑08‑26:
Women's pockets are inferior.
- 2018‑08‑26:
Emoji: in the beginning.
- 2018‑08‑26:
A satellite engineer explains the challenges of space electronics.
- 2018‑08‑26:
The how and why of the design of the Lucida fonts.
- 2018‑08‑26:
The paradox of Karl Popper.
- 2018‑08‑26:
The Great Barrier Reef is headed for 'massive death'.
- 2018‑08‑26:
The illegal ramen vendors of postwar Tokyo.
- 2018‑08‑26:
Swan sanctuary says bread is good for wildfowl.
- 2018‑08‑26:
How the Netherlands feeds the world.
- 2018‑08‑26:
There's no room in the Room of My Own.
- 2018‑08‑26:
The origins of opera and the future of programming.
- 2018‑08‑26:
The worst stories from a decade-plus of Ask A Manager.
- 2018‑08‑26:
Patterns for authentication in the CDN.
- 2018‑08‑25:
The sugar conspiracy.
- 2018‑08‑25:
quicktype: generate types and converters from JSON, Schema, and GraphQL.
- 2018‑08‑25:
Lessons from JupyterCon.
- 2018‑08‑25:
Four ways that Internet ex-idealists explain where it all went wrong.
- 2018‑08‑25:
AT commands: attacking Android phones using modem control sequences over USB.
- 2018‑08‑25:
Zork: how to fit a large program in a small machine.
- 2018‑08‑24:
Firefox's :screenshot command.
- 2018‑08‑24:
The rise and rise of JSON.
- 2018‑08‑24:
Eerie skyglow called 'Steve' isn't an aurora, Is 'completely unknown' to science.
- 2018‑08‑23:
The war over supercooled water: a seven year scientific dispute caused by a coding error.
- 2018‑08‑22:
Home Assistant: open source home automation with Python.
- 2018‑08‑22:
Kubernetes anti-patterns: let's do GitOps, not CIOps!
- 2018‑08‑22:
GitOps: a path to more self-service IT.
- 2018‑08‑22:
Automatic code formatting for partially-staged files in git.
- 2018‑08‑22:
Sex, religion, and a towering treatise on anatomy.
- 2018‑08‑22:
Orkney tidal turbine generating 'phenomenal result'.
- 2018‑08‑22:
New attack recovers RSA encryption keys from EM waves within seconds.
- 2018‑08‑22:
Why are record companies dumping their Spotify stock?
- 2018‑08‑22:
The undertakers of Silicon Valley: how failure became big business.
- 2018‑08‑22:
Picycle: donate your unused Raspberry Pi for scientific research.
- 2018‑08‑22:
Many more Ghostscript security vulnerabilities.
- 2018‑08‑22:
The first million integers, represented as binary vectors of prime factors, laid out using the UMAP dimensionality reduction algorithm.
- 2018‑08‑22:
Google's voracious data collection.
- 2018‑08‑22:
The Packard Merlin: how Detroit mass-produced Britain's hand-built powerhouse.
- 2018‑08‑21:
A galactic visualization of the prime factors of the first million numbers.
- 2018‑08‑21:
On the iron law of megaprojects, the break-fix model of management, survival of the unfittest, and more.
- 2018‑08‑21:
Fast multiplication with slow additions.
- 2018‑08‑21:
Live map of London Underground trains.
- 2018‑08‑20:
Catching integer overflows in C.
- 2018‑08‑20:
High school students learning programming do better with block-based languages.
- 2018‑08‑20:
DNSSEC and DNS over TLS.
- 2018‑08‑20:
Performance of ranged accesses into arrays: modulo, multiply-shift, and masks.
- 2018‑08‑20:
Hacking a brand new Mac remotely, right out of the box, using the device enrolment program.
- 2018‑08‑20:
A visual guide to git.
- 2018‑08‑20:
Singularity of Origin: a tool to perform DNS rebinding attacks.
- 2018‑08‑20:
Propagation of error: approving citations of retracted papers.
- 2018‑08‑19:
MATLAB is a terrible programming language.
- 2018‑08‑19:
An introduction to Golang modules.
- 2018‑08‑19:
One in five genetics papers contains errors thanks to Microsoft Excel.
- 2018‑08‑19:
Pseudo constant time implementations ofTLS are only pseudo secure.
- 2018‑08‑19:
Directional freezing: a method for making clear ice.
- 2018‑08‑19:
Tobacco cocktails are a terrible idea.
- 2018‑08‑18:
Advice for data organization in spreadsheets.
- 2018‑08‑18:
John Conway's method for walking up stairs.
- 2018‑08‑18:
The T programming language: an early dialect of Scheme.
- 2018‑08‑18:
The Ramsey sweep: mark/sweep garbage collection in time proportional to the live data, not heap size.
- 2018‑08‑18:
Samba DNS problems with DNAME records and large replies.
- 2018‑08‑18:
Never patterns, exhaustive matching, and uninhabited types in Rust.
- 2018‑08‑17:
Battery breakthrough: Doubling performance with lithium metal that doesn't catch fire.
- 2018‑08‑17:
Caveat troglodytarum: how to deal with patent trolls.
- 2018‑08‑17:
Working at Superior Software in Leeds in the 1980s.
- 2018‑08‑17:
A sound card before its time.
- 2018‑08‑17:
24-core CPU and I can't type an email: Google Chrome performance debugging.
- 2018‑08‑17:
Secure Socket API: an easy-to-use TLS extension to BSD sockets.
- 2018‑08‑17:
Introducing the Windows pseudo console (ConPTY).
- 2018‑08‑17:
Who left open the cookie jar?
- 2018‑08‑17:
Who is answering my queries? Understanding and characterizing interception of the DNS resolution path.
- 2018‑08‑17:
How to alleviate the pain of Rust compile times.
- 2018‑08‑16:
BARR-C:2018 embedded C coding standard, harmonized with MISRA C 2012.
- 2018‑08‑16:
Are patent claims coming for your WS2812 Neopixels?
- 2018‑08‑16:
FastLED: an animation library for Arduino.
- 2018‑08‑16:
Pixelblaze V2: an advanced LED pattern development engine and controller.
- 2018‑08‑15:
Sequences, sequences, and sequences: Fred Sanger's academic autobiography.
- 2018‑08‑15:
Scientists discover how to make schwartzite (negatively curved carbon sheets) after decades of searching.
- 2018‑08‑15:
The "server-process-edition" branch of SQLite.
- 2018‑08‑15:
Strongly universal string hashing is fast.
- 2018‑08‑15:
Not on your life: six means of sf transportation I would not use.
- 2018‑08‑15:
Bullshit-sensitivity predicts prosocial behavior.
- 2018‑08‑15:
Meltdown strikes back: the Intel L1 terminal fault (L1TF / Foreshadow) vulnerability.
- 2018‑08‑15:
Diagnosing a weak memory ordering bug.
- 2018‑08‑15:
Passive observations of a large DNS service.
- 2018‑08‑15:
Open Journal Systems: open-source academic journal publishing software.
- 2018‑08‑15:
Fastly's response to the SegmentSmack vulnerability.
- 2018‑08‑14:
If quantum computers are not possible, why are classical computers possible?
- 2018‑08‑14:
Can you break a stick of spaghetti into just two pieces? Yes! (With a twist.)
- 2018‑08‑14:
Protecting against the new "L1TF" speculative vulnerabilities.
- 2018‑08‑14:
Foreshadow: breaking Intel's virtual memory abstraction with transient out-of-order execution.
- 2018‑08‑14:
Dijkstra's in disguise.
- 2018‑08‑14:
The 10:1 rule of work:output in writing and programming.
- 2018‑08‑14:
Faxploit: compromising a network via an all-in-one printer's POTS fax line.
- 2018‑08‑13:
The Power User Curve: The best way to understand your most engaged users.
- 2018‑08‑13:
Celebrating 10 years of BGP routing insecurity.
- 2018‑08‑13:
An overview of the BBC's work on TV over IP with optional multicast.
- 2018‑08‑13:
What do I need to know about the "SegmentSmack" TCP reassembly DoS attack?
- 2018‑08‑12:
The evolution of LED backlights for LCDs.
- 2018‑08‑12:
USA temperature charts: can I sucker you?
- 2018‑08‑12:
Dismantling the USS Enterprise: The US Navy has never disposed of a nuclear-powered aircraft carrier before.
- 2018‑08‑12:
What the fuck is the "edge"?
- 2018‑08‑10:
DNS: A look back at a look back from 1988.
- 2018‑08‑10:
Which cryptographic attack deserves to win the 2018 Pwnie?
- 2018‑08‑10:
µUBSan: a clean-room reimplementation of the Undefined Behavior Sanitizer runtime.
- 2018‑08‑10:
Smoking around the world.
- 2018‑08‑10:
Rosenbridge: a hardware backdoor in VIA C3 x86 processors.
- 2018‑08‑09:
Julia 1.0
- 2018‑08‑09:
Airtime for Hitler on BBC.
- 2018‑08‑09:
An ingenious but failed BMW theft attempt.
- 2018‑08‑09:
"What have we done?" Silicon Valley engineers fear the gig economy they have created is a monster.
- 2018‑08‑09:
Dark energy may be incompatible with string theory.
- 2018‑08‑09:
How to crash a node.js email server with a single message.
- 2018‑08‑09:
In search of a bigger boom: multi-stage thermonuclear hydrogen bombs.
- 2018‑08‑09:
On Beavers, nature's perfect analogy for Silicon Valley tech.
- 2018‑08‑09:
Systemd's DynamicUser feature is dangerous.
- 2018‑08‑09:
Bloaty McBloatface 1.0: a size profiler for binaries.
- 2018‑08‑09:
Scalable media delivery on the Web with HTTP server push and multicast QUIC to the browser.
- 2018‑08‑09:
BBC R&D scalable Internet broadcasting using multicast QUIC.
- 2018‑08‑09:
GLB: GitHub's open source layer 4 load balancer.
- 2018‑08‑08:
A collection of dataviz caveats.
- 2018‑08‑08:
Stacked Borrows: an aliasing model for Rust.
- 2018‑08‑08:
High uptime headaches due to floating point high resolution timers.
- 2018‑08‑08:
A timesyncd total failure and systemd's complete lack of debugability.
- 2018‑08‑08:
V8 JavaScript engine release v6.9
- 2018‑08‑08:
New York's Vision Zero success provides a road map for others taking aim at pedestrian deaths.
- 2018‑08‑07:
Hacking commit access to Homebrew in 30 minutes.
- 2018‑08‑07:
Meet the street artist transforming London's railway bridges into works of art.
- 2018‑08‑07:
Rust and the case of the redundant comparison.
- 2018‑08‑06:
How fast is a PS/2 keyboard?
- 2018‑08‑06:
Let's Encrypt is now directly trusted by all major X.509 root CA programs.
- 2018‑08‑06:
Facebook deploys TLS 1.3 with Fizz, a new high-performance open source TLS library.
- 2018‑08‑06:
The mythical Brown Windsor Soup.
- 2018‑08‑06:
Pollen calendar.
- 2018‑08‑06:
Polyhedra Viewer: visualize the relationships between the convex, regular-faced polyhedra.
- 2018‑08‑06:
What's going on in the Rosetta timelapse video from the surface of a comet.
- 2018‑08‑05:
Mozilla's new DNS-over-HTTPS resolution is dangerous.
- 2018‑08‑04:
On system rollback and totalised fields: An algebraic approach to system change.
- 2018‑08‑04:
What is philosophy of science, and should scientists care?
- 2018‑08‑04:
Transparency logs via append-only authenticated dictionaries.
- 2018‑08‑04:
Illuminated manuscripts, illuminating medicines: the difficult sources of old pigments.
- 2018‑08‑04:
Arxiv Vanity: read academic papers from Arxiv as web pages.
- 2018‑08‑03:
In pursuit of production minimalism at Heroku.
- 2018‑08‑03:
The oldest building in every state of the USA.
- 2018‑08‑03:
Our logo looks like underpants: a case study in internationalization.
- 2018‑08‑03:
DOCSIS time protocol: PTP over cable for 5G microcells.
- 2018‑08‑03:
History of the BASIC Engine.
- 2018‑08‑03:
A ray-tracing pioneer explains how he stumbled into global illumination.
- 2018‑08‑02:
Australian Computer Museum Society's historical collection is due to be bulldozed next week.
- 2018‑08‑02:
saltpack: a modern crypto messaging format, a NaCL-based replacement for PGP.
- 2018‑08‑02:
Why a typical home solar setup does not work without mains power, and what you can do about it.
- 2018‑08‑01:
One line of Javascript made FT.com 10 times slower.
- 2018‑08‑01:
Introduction to compute shaders.
- 2018‑08‑01:
A new HTTP security header: Feature-Policy.
- 2018‑08‑01:
Swift's "Never" type.
- 2018‑08‑01:
Cherry MX history: a German company with American roots.
- 2018‑07‑31:
A friendly guide to colours in data visualisation.
- 2018‑07‑31:
The science behind non-Newtonian noodles.
- 2018‑07‑31:
Bootable CD with retro game in a tweet.
- 2018‑07‑31:
The IPv4 address space transfer market: 2018 mid-year report.
- 2018‑07‑31:
An Empire of Stars: How Britain beat the odds to independently achieve space flight, and then abandoned it on the very same day.
- 2018‑07‑31:
18-year-old Ewin Tang proved there is no quantum computing speedup for the “recommendation problem”.
- 2018‑07‑31:
First successful test of Einstein's general relativity near a supermassive black hole.
- 2018‑07‑31:
Highlights from IETF 102.
- 2018‑07‑31:
Why the new V8 JavaScript engine is so damn fast.
- 2018‑07‑31:
How to read an RFC.
- 2018‑07‑31:
Elsevier's demands are unacceptable for the German academic community.
- 2018‑07‑31:
When you need to rip the same CD 300 times.
- 2018‑07‑31:
A collection of quotes on interesting notations as tools of thought.
- 2018‑07‑31:
Porting Coreboot to the 51NB X210.
- 2018‑07‑30:
Haskell: If monads are the solution, what is the problem?
- 2018‑07‑30:
Announcing TypeScript 3.0.
- 2018‑07‑30:
What economists still don't get about the 2008 financial crisis.
- 2018‑07‑30:
How to read a legal opinion.
- 2018‑07‑30:
When Bussard ramjets ruled sf.
- 2018‑07‑30:
Why salt was so important throughout history.
- 2018‑07‑30:
Doug McIlroy's C++ regular expression matching library.
- 2018‑07‑30:
Routinator 3000: RPKI relying party software in Rust.
- 2018‑07‑30:
Pure CSS logical styling based on the number of elements.
- 2018‑07‑30:
The evolution of writing.
- 2018‑07‑30:
Iran's Gorgan Wall, second-longest in the world, is still shrouded in mystery.
- 2018‑07‑29:
The rejected transistor at the heart of the iconic Roland TR-808.
- 2018‑07‑29:
Secure boot on Apple Mac T2 computers.
- 2018‑07‑29:
When does white space matter in HTML?
- 2018‑07‑29:
Measuring the brightest iPhone ever: iPhone X.
- 2018‑07‑29:
The 'scutoid' is geometry's newest shape, and it could be all over your body.
- 2018‑07‑29:
Ghost characters: a spectre is haunting Unicode.
- 2018‑07‑29:
Cheap FPGA development boards.
- 2018‑07‑29:
Microfilm lasts half a millennium.
- 2018‑07‑29:
Why don't more men take their wife's surname when they marry?
- 2018‑07‑29:
The troubled quest for the superconducting wind turbine.
- 2018‑07‑29:
Color or fruit? On the unlikely etymology of "orange".
- 2018‑07‑28:
Ryu: convert floating point numbers to decimal strings.
- 2018‑07‑28:
A map showing the steepness of streets.
- 2018‑07‑28:
Ryū: fast float-to-string conversion.
- 2018‑07‑28:
#ifdef considered harmful: portability experience with C News.
- 2018‑07‑28:
uBlock has been taken over by AdBlock.
- 2018‑07‑28:
Behemoth, bully, thief: how the English language is taking over the planet.
- 2018‑07‑28:
Why restaurants became so loud, and what you can do about it.
- 2018‑07‑28:
The death of a TLD.
- 2018‑07‑28:
Keep a Changelog.
- 2018‑07‑27:
RSSAC023: a history of the DNS root nameserver system.
- 2018‑07‑27:
Ride-hailing services such as Uber and Lyft are not reducing traffic in American cities.
- 2018‑07‑26:
NetSpectre: read arbitrary memory over the network.
- 2018‑07‑26:
Prefix sums and their applications.
- 2018‑07‑26:
15 years of SparkFun.
- 2018‑07‑26:
WebAssembly security model.
- 2018‑07‑26:
The Shipping Forecast.
- 2018‑07‑26:
The Finkbeiner Test: a tool for writing about women in their professions.
- 2018‑07‑26:
Testing for divisibility by 7.
- 2018‑07‑26:
Is WebAssembly the return of Java applets and Flash?
- 2018‑07‑26:
Notes on secure BGP from IETF 102.
- 2018‑07‑26:
Breaking Bluetooth pairing with an ECC fixed coordinate invalid curve attack.
- 2018‑07‑26:
Compile-time function evaluation and Rust's type system.
- 2018‑07‑26:
What's with sf's fixation on single-gendered planets?
- 2018‑07‑26:
Is it possible to make floating point calculations completely deterministic?
- 2018‑07‑26:
On impl blocks, injection and surjection in Rust.
- 2018‑07‑25:
Big tech warns of Japanese millennium bug ahead of Akihito's abdication. (Also affects Unicode!)
- 2018‑07‑24:
Getting to know Graal, the new Java JIT compiler.
- 2018‑07‑24:
In her short life, mathematician Emmy Noether changed the face of physics.
- 2018‑07‑24:
How Rust #[test] function attributes work.
- 2018‑07‑23:
Minimal DMARC.
- 2018‑07‑21:
Why mobile phones are safe.
- 2018‑07‑21:
psi: pressure stall information for CPU, memory, and IO. (Linux WIP)
- 2018‑07‑21:
Frank's compulsive guide to international postal addresses.
- 2018‑07‑21:
Inside the Windows Console.
- 2018‑07‑21:
The wrong abstraction.
- 2018‑07‑21:
Into the Borg: an SSRF vulnerability inside Google's production network.
- 2018‑07‑21:
Riving, a Viking-age woodworking technique.
- 2018‑07‑21:
Doing Windows, part 5: version 2 and Excel.
- 2018‑07‑21:
Regex character ranges and locales: a long sad story.
- 2018‑07‑21:
The octonion math that could underpin physics.
- 2018‑07‑20:
Microsoft Windows Server 2019 will include support for leap seconds.
- 2018‑07‑20:
The uncertainty of measuring the DNS.
- 2018‑07‑20:
British broadband speed map.
- 2018‑07‑19:
The Java type system is unsound.
- 2018‑07‑18:
A primer on synchronization and data races, and a bug in Rust Arc atomic reference counts.
- 2018‑07‑18:
Auditing popular Rust crates: how one line of unsafe code nearly ruined everything.
- 2018‑07‑18:
JSON isn't a good configuration language.
- 2018‑07‑18:
Looking at TDD: an academic survey.
- 2018‑07‑18:
Writing asynchronous code for Android using coroutines in Kotlin.
- 2018‑07‑18:
Don't feed the trolls, and other hideous lies.
- 2018‑07‑18:
Getting Disney's Moana island scene to render well with pbrt.
- 2018‑07‑17:
Britain's busses are in crisis, and no-one seems to care.
- 2018‑07‑17:
H2O: an optimized http/2 web server.
- 2018‑07‑17:
Lwan: a lightweight web server scriptable with Lua.
- 2018‑07‑17:
The story of Golang's garbage collector.
- 2018‑07‑17:
Alan Bagley's long and satisfying career in time, frequency, and atomic clocks at Hewlett-Packard.
- 2018‑07‑17:
Formal reasoning about the security of AWS.
- 2018‑07‑17:
The two-time pad: midwife of information theory?
- 2018‑07‑17:
Linux touchpad like a Macbook: goal worth pursuing?
- 2018‑07‑16:
LIDL cancels SAP project after spending €500M.
- 2018‑07‑16:
Google Cloud Platform: the good, the bad, and the ugly.
- 2018‑07‑16:
Lean testing: why integration tests are better than unit tests.
- 2018‑07‑15:
How the BBC lost the plot on Brexit.
- 2018‑07‑15:
The new henge of Newgrange: a once-in-a-lifetime discovery.
- 2018‑07‑15:
The hotel bathroom puzzle.
- 2018‑07‑14:
Finding and exploiting hidden features of Animal Crossing's NES emulator.
- 2018‑07‑14:
A history of the inverse-T arrow key layout.
- 2018‑07‑14:
How to port your OS to Amazon EC2.
- 2018‑07‑13:
The Spiral Language: an ML family functional language with intensional polymorphism and first-class staging.
- 2018‑07‑13:
The battle of the schedulers: FreeBSD ULE vs. Linux CFS.
- 2018‑07‑13:
Crayon the grids: maps of street layouts colored by orientation.
- 2018‑07‑13:
Street orientation of Dutch cities.
- 2018‑07‑13:
Dhall: a programmable configuration language that is not Turing-complete.
- 2018‑07‑13:
How to write a good software design doc.
- 2018‑07‑13:
City street orientations around the world.
- 2018‑07‑12:
British Rail corporate identity 1965-1994.
- 2018‑07‑12:
HeyPhone: open hardware cave rescue communication system, used in the Thai cave rescue.
- 2018‑07‑11:
Cambridge Analytica is what happens when you privatise military propaganda.
- 2018‑07‑11:
Why is there an inc bp in function prologues on 16-bit Windows? Pointer tagging!
- 2018‑07‑10:
The role of personality, authoritarianism, and cognition in Brexit.
- 2018‑07‑10:
Shutting down Bitcanal, a BGP hijack factory.
- 2018‑07‑10:
Speculative buffer overflows: attacks and defenses. (Spectre BCBS)
- 2018‑07‑10:
The CSS paint API.
- 2018‑07‑10:
Cropmarks reveal ancient sites during the drought in Wales.
- 2018‑07‑09:
Inside the paper: Build Systems a la Carte.
- 2018‑07‑09:
Worse is worse.
- 2018‑07‑09:
Literate programming: Knuth is doing it wrong.
- 2018‑07‑09:
Saving a non-profit six figures a year using Squarespace, Airtable and Glitch.com.
- 2018‑07‑08:
A resource list for domestic abuse victims targeted using Internet of Things devices.
- 2018‑07‑08:
Social and cultural aspects of drinking: drunkenness is learned behaviour.
- 2018‑07‑08:
Against academic meritocracy.
- 2018‑07‑08:
OAuth 2 simplified.
- 2018‑07‑08:
Why Mastercard doesn't use OAuth 2.0.
- 2018‑07‑08:
OAuth for the Open Web.
- 2018‑07‑08:
The rise of 'pseudo-AI': how tech firms quietly use humans to do bots' work.
- 2018‑07‑08:
PuzzleScript: an open-source HTML5 puzzle game engine.
- 2018‑07‑08:
Version control before Git with CVS.
- 2018‑07‑08:
Dark Side of the Mac: APIs for appearance, background materials, and foreground vibrancy.
- 2018‑07‑08:
Why revolutionaries love spicy food: a history of the chilli pepper.
- 2018‑07‑07:
Why and how Java developers break APIs.
- 2018‑07‑05:
In 2018, Tumblr is a joyless black hole.
- 2018‑07‑05:
A review of Gödel, Escher, Bach.
- 2018‑07‑05:
How to design frictionless APIs.
- 2018‑07‑05:
Nginx tuning tips for TLS and https.
- 2018‑07‑05:
Testing memory allocators: ptmalloc2 vs tcmalloc vs hoard vs jemalloc.
- 2018‑07‑05:
Measurements of the impact of open offices on collaboration.
- 2018‑07‑04:
Speaking in code: how to program by voice.
- 2018‑07‑04:
Evaluating the evaluation: a benchmarking checklist.
- 2018‑07‑04:
How we solved GitLab's CHANGELOG conflict crisis.
- 2018‑07‑04:
A proposal for UUID version 6, that naturally sorts in time order.
- 2018‑07‑04:
The git commit-graph file format and other optimizations.
- 2018‑07‑03:
Fake "radical feminist" group is actually a paid political front for anti-LGBT religious right organization.
- 2018‑07‑03:
Article 13 of the EU copyright directove considered harmful.
- 2018‑07‑02:
Amber Case: the argument against blue.
- 2018‑07‑02:
Fictitious route names from a neural network trained on UK Climbing logbooks.
- 2018‑07‑02:
California passes its own GDPR to stymie a data protection ballot initiative.
- 2018‑07‑02:
Sereal: Fast, compact, schema-less, binary serialization and deserialization for Perl and other dynamic languages.
- 2018‑07‑02:
Reclaiming RSS.
- 2018‑07‑02:
Extractive contributors: How open is too open?
- 2018‑07‑02:
Computational Necromancy: MOST-POSITIVE-BIGNUM on the TI Explorer.
- 2018‑07‑02:
The independent researcher.
- 2018‑07‑02:
A survey of programming language package systems.
- 2018‑07‑01:
Design case history: the Commodore 64.
- 2018‑07‑01:
On C++ random number generator quality.
- 2018‑07‑01:
Bringup is hard: some hints and tips on porting NetBSD to a new hardware platform.
- 2018‑07‑01:
Developers. Our last, best hope for ethics?
- 2018‑07‑01:
How we discovered three poisonous books in our university library.
- 2018‑07‑01:
No, you don't need ML/AI. You need SQL.
- 2018‑07‑01:
TCP small queues and WiFi aggregation: a war story.
- 2018‑07‑01:
aLTEr: breaking LTE on layer two.
- 2018‑07‑01:
Debugging with C-Reduce.
- 2018‑07‑01:
Rust pointers for C programmers.
- 2018‑07‑01:
Why you should not use Google Cloud.
- 2018‑07‑01:
A sea change coming for water cooling in datacenters.
- 2018‑06‑30:
Elsevier are corrupting open science in Europe.
- 2018‑06‑30:
American collapse is extraordinary: why it's melting down faster than anyone believed.
- 2018‑06‑29:
Sphericons.
- 2018‑06‑28:
Python 3 at Facebook.
- 2018‑06‑28:
New GPU-accelerated supercomputers change the balance of power on the TOP500.
- 2018‑06‑28:
Turbine-powered optical isolator: a spinning glass ball that rejects light from one direction.
- 2018‑06‑28:
Hannah Gadsby's 'Nanette' is a radical, transformative work of comedy.
- 2018‑06‑28:
How BuzzFeed migrated from a Perl monolith to Golang and Python microservices.
- 2018‑06‑28:
How to get away with financial fraud.
- 2018‑06‑28:
Apple engineers its own downfall with the Macbook Pro keyboard.
- 2018‑06‑28:
Supercharging the Git commit graph.
- 2018‑06‑27:
Algebraic blindness: Boolean blindness for modern type systems.
- 2018‑06‑27:
Safe API design with the ghosts of departed proofs.
- 2018‑06‑27:
Exposing the secret Office 365 detailed activity logs and forensics tool.
- 2018‑06‑27:
Making Rust Arc more atomic.
- 2018‑06‑27:
Massacring C Pointers: the worst C programming textbook ever written.
- 2018‑06‑26:
Anti-if: the missing patterns.
- 2018‑06‑26:
Another 10 years of Internet evolution.
- 2018‑06‑26:
Issues and requirements for SNI encryption in TLS.
- 2018‑06‑26:
Oh, what a fragile web we weave: third-party dependencies in modern web services, and their implications.
- 2018‑06‑26:
A prescient warning to Boeing on its 787 trouble.
- 2018‑06‑26:
Out-sourced profits: the cornerstone of successful subcontracting. (Hart-Smith / Boeing)
- 2018‑06‑26:
Java tricks with 'var' and anonymous classes (that you should never use at work).
- 2018‑06‑26:
CheckTLS secure email.
- 2018‑06‑26:
STARTTLS everywhere: how well does your mail server support TLS?
- 2018‑06‑26:
Letting neural networks be weird: The Visual Chatbot.
- 2018‑06‑25:
.gov.?? 2LDs in various European countries.
- 2018‑06‑25:
Parsing with derivatives. (Paper)
- 2018‑06‑25:
Parsing with derivatives. (Slides)
- 2018‑06‑25:
A history of CPAN.
- 2018‑06‑25:
Attacking IoT devices from the Internet with DNS rebinding.
- 2018‑06‑24:
Isaac Asimov asks, "how do people get new ideas?"
- 2018‑06‑24:
Compiler fuzzing with AFL.
- 2018‑06‑24:
Design patterns as higher order datatype-generic programs.
- 2018‑06‑24:
Rebel girls and children's books: well-behaved women make history too.
- 2018‑06‑23:
TWISTED BRAIN: This demo will twist the 6845 CRTC video chip in your BBC Master computer in new and previously untested ways.
- 2018‑06‑23:
Some of my favourite lost buildings of Cambridge.
- 2018‑06‑23:
Hasbro says it owns the Scrabble dictionary. Players beg to differ.
- 2018‑06‑23:
All the perfect pangrams in English.
- 2018‑06‑23:
Break down of a C64 demo effect.
- 2018‑06‑22:
BOLT optimizes placement of instructions in memory to reduce CPU execution time by 2 percent to 15 percent.
- 2018‑06‑22:
The ARM scalable vector extension.
- 2018‑06‑22:
Disambiguating the first computer.
- 2018‑06‑22:
Wavethrough: a web browser security bug.
- 2018‑06‑21:
Zen magnets: 6 years of litigation ends In victory.
- 2018‑06‑21:
edn: extensible data notation, a subset of Clojure.
- 2018‑06‑21:
SDLang: a simple declarative language with an XML-like structure.
- 2018‑06‑21:
Jsonnet: a data templating language.
- 2018‑06‑21:
HOCON: human-optimized config object notation.
- 2018‑06‑21:
JSON5: JSON for humans.
- 2018‑06‑21:
Hjson: a user interface for JSON.
- 2018‑06‑21:
zish: A data serialization format.
- 2018‑06‑21:
YAML: probably not so great after all.
- 2018‑06‑21:
TLS certificates for localhost.
- 2018‑06‑20:
barrier: Open-source KVM software (a fork of Synergy).
- 2018‑06‑20:
PostgreSQL features you may not have tried but should.
- 2018‑06‑20:
A broad overview of how modern Linux systems boot.
- 2018‑06‑20:
From Ruby + ActiveRecord to Rust + Diesel.
- 2018‑06‑20:
The man who saw the dangers of Cambridge Analytica years ago.
- 2018‑06‑20:
Rust MIR-based borrow check (non-lexical lifetimes) status update.
- 2018‑06‑20:
The four most expensive words in the English language: cryptocurrency-based decentralized storage network.
- 2018‑06‑20:
Holy Grails and Thameslink Fails: the timetable that went wrong.
- 2018‑06‑19:
Microsoft has ported Windows, Linux, and LLVM to E2, its homegrown processor architecture.
- 2018‑06‑18:
How long would you have before you ran into trouble if you were given a golf ball that doubled in density once an hour?
- 2018‑06‑18:
A performance cheat sheet for PostgreSQL
- 2018‑06‑18:
Patterson's cipher for Jefferson: ahallenge solved after 200 years.
- 2018‑06‑18:
Why Skylake CPUs are sometimes 50% slower at highly threaded code: higher PAUSE latency.
- 2018‑06‑18:
'Like' is an infix now, which is un-like-believably innovative.
- 2018‑06‑18:
A brief history of the Erlang BEAM compiler.
- 2018‑06‑18:
Web Prolog: Erlang-style distributed concurrency in SWI-Prolog.
- 2018‑06‑18:
Fo: an experimental language that adds generics to Golang.
- 2018‑06‑17:
zapcc: a fork of clang that caches C++ template instantiations.
- 2018‑06‑16:
Functional baby talk: analysis of code fragments from novice Haskell programmers.
- 2018‑06‑16:
A new form of matter may lie just beyond the periodic table.
- 2018‑06‑15:
Visual methods of comparison, compared.
- 2018‑06‑15:
Unlocking intersection types with `var` in Java 10.
- 2018‑06‑15:
How ScyllaDB uses control theory to keep table compaction under control.
- 2018‑06‑15:
SigSpoof: Spoofing signatures in GnuPG, Enigmail, GPGTools, and python-gnupg.
- 2018‑06‑15:
LiteBSD: 4.4BSD for microcontrollers.
- 2018‑06‑15:
RetroBSD: Unix for microcontrollers.
- 2018‑06‑15:
Where do Rust threads come from?
- 2018‑06‑14:
Making key parts of the Ordnance Survey (OS) MasterMap freely available.
- 2018‑06‑14:
A convenient excuse: tech's discrimination problem.
- 2018‑06‑13:
Let's Encrypt adds random entries to the ACME directory to avoid protocol ossification.
- 2018‑06‑13:
The land before binary.
- 2018‑06‑13:
Automatic type coercions with procedural macros in Rust.
- 2018‑06‑12:
Enforcing TLS protocol invariants by rolling versions every six weeks.
- 2018‑06‑12:
I fear Google's control of the web.
- 2018‑06‑12:
Between the coats: a sensitivity read changed my life.
- 2018‑06‑12:
DasBetterC: converting make.c to D.
- 2018‑06‑12:
The legend of Old Man Henderson.
- 2018‑06‑11:
Golang refactoring : a 23x performance hunt.
- 2018‑06‑11:
Anders Hejlsberg on modern compiler construction. (YouTube)
- 2018‑06‑10:
slaacd: userland IPv6 interface autoconfiguration in OpenBSD.
- 2018‑06‑10:
Forget reusability, aim for perfection: New lessons from mandoc in OpenBSD.
- 2018‑06‑10:
xoshiro/xoroshiro random number generators and the PRNG shootout.
- 2018‑06‑10:
PCG: a family of better random number generators.
- 2018‑06‑10:
Minimalist C libraries.
- 2018‑06‑10:
pledge() and unveil() in OpenBSD.
- 2018‑06‑09:
San Francisco's project to build an open source paper-ballot voting system.
- 2018‑06‑09:
The power of pi: design patterns for dependently-types programming.
- 2018‑06‑08:
Living APIs, and the case for GraphQL.
- 2018‑06‑08:
A complete history of the Millennium Falcon.
- 2018‑06‑07:
New payments architecture: the next big innovation in UK banking.
- 2018‑06‑06:
Juno solves the 39-year-old mystery of Jupiter's lightning.
- 2018‑06‑06:
10 things Ryan Dahl regrets about node.js.
- 2018‑06‑06:
Some notes on high speed networking on PCs.
- 2018‑06‑05:
Attacks against machine learning: an overview.
- 2018‑06‑05:
"I'll take real toilet paper over standards any day, because at least that way I won't have splinters and ink up my arse." (Linus on C99 union type punning)
- 2018‑06‑05:
Nightmare.js: A high-level browser automation library based on Electron.
- 2018‑06‑05:
Observations from running 2 million headless browser sessions.
- 2018‑06‑05:
Zip slip: widespread directory traversal vulnerabilities in archive decompressers.
- 2018‑06‑05:
How to speed up the Rust compiler some more in 2018.
- 2018‑06‑05:
The anatomy of change: what we've learned from our gender bias workshop.
- 2018‑06‑04:
Sloc, cloc, and code: what happened on the way to the faster cloc.
- 2018‑06‑04:
What will the post-journal scientific publishing world look like?
- 2018‑06‑04:
Part spider, part scorpion creature found fossilized in amber.
- 2018‑06‑04:
BitHubLab: search three open source hosting platforms simultaneously.
- 2018‑06‑04:
A scope safe universe of syntaxes with binding, their semantics and proofs.
- 2018‑06‑03:
The human scalability of DevOps.
- 2018‑06‑03:
Women used to wear huge pockets like these under their petticoats.
- 2018‑06‑03:
Inside Firefox's DNS-over-HTTPS (DoH) engine.
- 2018‑06‑03:
CVE-2018-11235 git RCE write-up.
- 2018‑06‑03:
Quick and dirty PoC for git CVE-2018-11235.
- 2018‑06‑03:
String trepanation.
- 2018‑06‑03:
One year of C.
- 2018‑06‑03:
Cuntroversy: on reclaiming the C-word.
- 2018‑06‑03:
AI4Animation: quadruped animation in Unity3D using biologically-inspired deep learning.
- 2018‑06‑03:
The secrets of a diary written under the floorboards of a French château.
- 2018‑06‑03:
How Ireland beat dark ads in their abortion referendum.
- 2018‑06‑03:
China has turned Xinjiang into a police state like no other.
- 2018‑06‑03:
Catching up with sf writers at Nebula Con.
- 2018‑06‑02:
A 280-character active transport manifesto, unpacked.
- 2018‑06‑02:
It's 2018, and that means it's DMCA exemptions time again! EFF presents John Scalzi's story in support of the right to repair.
- 2018‑06‑02:
It's 2018, and that means it's DMCA exemptions time again! EFF presents Mur Lafferty's story in support of fair use of video.
- 2018‑06‑02:
It's 2018, and that means it's DMCA exemptions time again! EFF presents Cory Doctorow's story in support of jailbreaking.
- 2018‑06‑02:
Deep learning: a critical appraisal.
- 2018‑06‑02:
The academic / ISO view of the NSA Simon/Speck encryption algorithms.
- 2018‑06‑01:
Avoid under-prepared meetings.
- 2018‑06‑01:
Improving DNS privacy in Firefox with DNS-over-HTTPS (DoH).
- 2018‑06‑01:
IETF PRECIS and i18n. (successor to stringprep)
- 2018‑05‑31:
C standard undefined behaviour vs Wittgenstein.
- 2018‑05‑31:
When the dike breaks: dissecting DNS defenses during DDoS attacks.
- 2018‑05‑31:
Signed Integers are Two's Complement.
- 2018‑05‑31:
European Data Protection Board backs ban on 'cookie walls'.
- 2018‑05‑31:
Random Slicing: efficient and scalable data placement for large-scale storage systems.
- 2018‑05‑31:
I am a computer: gorgeous gifs of marvellous micros.
- 2018‑05‑31:
Golang gotcha: when nil != nil.
- 2018‑05‑31:
Ireland shows us how to run a referendum.
- 2018‑05‑30:
The diameter of the Rubik's Cube group is 20.
- 2018‑05‑30:
Hashlife: an algorithm for compressing space and time.
- 2018‑05‑30:
GDPR, China, and data sovereignty are ultimately wins for Amazon and Google.
- 2018‑05‑30:
Typed key pattern: using PhantomData to tie a string key to the type of its associated value.
- 2018‑05‑30:
Brian Eno on genius and "scenius".
- 2018‑05‑30:
The law of "fuck yes!" or "no".
- 2018‑05‑30:
Affine subscripts: strength reduction for array indexing in early Fortran.
- 2018‑05‑30:
A large collection of links on capability theory.
- 2018‑05‑30:
Introduction to the gfortran array descriptor / dope vector.
- 2018‑05‑30:
Why picture frames tilt forward.
- 2018‑05‑30:
Post-Spectre threat model re-think for Google Chrome.
- 2018‑05‑30:
Cautioning health-care professionals: bereaved persons are misguided through the "stages" of grief.
- 2018‑05‑29:
We will never find extraterrestrial life, because we will wipe it all out in a manner that is unintentional, yet horribly unavoidable.
- 2018‑05‑29:
A map of dogs of the world and their countries of origin.
- 2018‑05‑29:
The deceptively complex world of calendar events and RRULEs.
- 2018‑05‑29:
UTC is enough for everyone, right?
- 2018‑05‑29:
From npm to yarn and back again.
- 2018‑05‑29:
Remote code execution vulnerability in git (CVE 2018-11234 and CVE 2018-11235).
- 2018‑05‑29:
A comparison of adaptive radix trees and hash tables.
- 2018‑05‑29:
Revealing Internet latency clusters in Africa.
- 2018‑05‑29:
A new fast hash table.
- 2018‑05‑29:
So your startup received a nightmare GDPR letter...
- 2018‑05‑29:
Effectiveness of anonymization in double-blind peer review.
- 2018‑05‑29:
DNS flag day: stop working around broken EDNS servers after 2019-02-01.
- 2018‑05‑29:
When FFI function calls beat native C.
- 2018‑05‑28:
Cloud computing sticker shock is now a monthly occurrence at many companies.
- 2018‑05‑28:
The birth of a new American aristocracy.
- 2018‑05‑28:
Remember the Vasa! Endangering the future of C++?
- 2018‑05‑28:
Elon Musk is a modern Henry Ford. That's bad.
- 2018‑05‑28:
A map of station pubs.
- 2018‑05‑28:
NetBSD network stack security audit.
- 2018‑05‑28:
Evaluating the cost of atomic operations on modern CPU architectures.
- 2018‑05‑28:
Infographic: operation costs in CPU clock cycles.
- 2018‑05‑28:
What the world's fascination with nüshu, a female-only Chinese script, says about cultural appropriation.
- 2018‑05‑28:
Ditch your scumbag friend: a life hack for men who want to be feminists.
- 2018‑05‑28:
Invisible asymptotes, and strategic planning at Amazon.
- 2018‑05‑28:
Oracle plans to dump risky Java serialization, a "horrible mistake" from 1997.
- 2018‑05‑27:
Iterators vs. cursors: a case study in objects vs. values in Java.
- 2018‑05‑27:
Comparing the c ffi overhead on various programming languages.
- 2018‑05‑27:
Zero-overhead tree processing with the visitor pattern.
- 2018‑05‑26:
Versions of Han Solo's blaster already exist, and they're way more powerful than lightsabers would be.
- 2018‑05‑26:
The making of TANK. (YouTube)
- 2018‑05‑26:
TANK, by Stu Maschwitz. (YouTube)
- 2018‑05‑26:
Tube heartbeat.
- 2018‑05‑26:
The DisplayPort pin 20 problem.
- 2018‑05‑26:
Scientists are more efficient at producing high-quality research when they have more academic freedom.
- 2018‑05‑26:
Why media companies fear, and photographers love, this voracious copyright lawyer.
- 2018‑05‑26:
SmoothLife: Game of Life on a continuous domain in Python with Numpy.
- 2018‑05‑25:
Can we please talk about privacy, not GDPR, now?
- 2018‑05‑25:
prettier-emacs: Minor mode to format JS code when you save.
- 2018‑05‑25:
Prettier: an opinionated code formatter for JavaScript etc.
- 2018‑05‑25:
Black: an uncompromising Python code formatter.
- 2018‑05‑25:
Chasing missing SIGINT signals down the SSH rabbit hole.
- 2018‑05‑24:
A simple mental health pain scale.
- 2018‑05‑23:
Bill Gates: A platform is when the economic value of everybody that uses it exceeds the value of the company that creates it.
- 2018‑05‑23:
Don't use Hadoop: your data isn't that big.
- 2018‑05‑23:
Today Mac OS X is as old as Classic Mac OS was.
- 2018‑05‑23:
The end of an era: Saying goodbye to search.cpan.org, to be replaced by metacpan.org.
- 2018‑05‑23:
Deconstructing Kitty.
- 2018‑05‑22:
The EM-drive is a magnetic WTF-thruster.
- 2018‑05‑22:
Hidden sheep in the original Macintosh bitmap fonts.
- 2018‑05‑22:
snpm: a proof of concept to ensure consistency between NPM packages and their source code.
- 2018‑05‑22:
Simple compile-time prevention of SQL injection in Rust.
- 2018‑05‑22:
Finding a Google App Engine RCE bug.
- 2018‑05‑22:
Playing battleships over BGP.
- 2018‑05‑22:
Various ways to disable stdio buffering from the command line.
- 2018‑05‑22:
Happy 21st Century!
- 2018‑05‑20:
Lafable: large agile framework appropriate for big lumbering enterprises.
- 2018‑05‑20:
Twitter for Academics 101.
- 2018‑05‑20:
What do we mean when we say "show the thing"?
- 2018‑05‑20:
A guide to agile communication.
- 2018‑05‑20:
Inside the 76477 Space Invaders sound effect chip: digital logic implemented with I2L.
- 2018‑05‑20:
Datalog and emerging applications: a tutorial.
- 2018‑05‑20:
Datafrog: a relatively simple Datalog engine used for Rust's borrow checker.
- 2018‑05‑19:
Hippos crap so much that sometimes all the fish die.
- 2018‑05‑19:
Five whys and the cult of the root cause.
- 2018‑05‑19:
Was early modern writing paper expensive?
- 2018‑05‑19:
OPAQUE: an asymmetric PAKE protocol secure against pre-computation attacks.
- 2018‑05‑19:
GDPR hysteria: don't panic.
- 2018‑05‑19:
Seven steps to solve any dynamic programming interview problem.
- 2018‑05‑19:
NumWorks open hardware calculator teaches us about quality documentation.
- 2018‑05‑19:
Sweden cancels Elsevier contract as open-access dispute spreads.
- 2018‑05‑19:
Performance impact of removing Ruby out-of-band garbage collection at GitHub.
- 2018‑05‑19:
Introducing Git protocol version 2.
- 2018‑05‑18:
Towards built-in sharding for PostgreSQL.
- 2018‑05‑17:
Was the Efail disclosure horribly screwed up?
- 2018‑05‑17:
Reddit's redesign increases power usage of our devices by 68GW per month.
- 2018‑05‑17:
Painting by numbers: visualizing IP addressing plans.
- 2018‑05‑17:
Unique IPv6 prefix per host.
- 2018‑05‑17:
"We don't need IPv6".
- 2018‑05‑17:
IPv6 excuse bingo.
- 2018‑05‑16:
isomorphic-git: a JavaScript implementation of git for node.js and web browsers.
- 2018‑05‑16:
The spectacular power of Big Lens.
- 2018‑05‑16:
Lightweight CML-style concurrency in Lua for Snabb.
- 2018‑05‑16:
Fragmented IPv6 router advertisement handling on different operating systems.
- 2018‑05‑16:
Towards IPv6 only: A large scale RFC 7596 lw4o6 deployment for broadband users.
- 2018‑05‑16:
Lightweight 4over6: one step further for dual-stack lite networks.
- 2018‑05‑16:
Is large-scale DNS over TCP practical?
- 2018‑05‑16:
nom 4.0: faster, safer, simpler parsers in Rust.
- 2018‑05‑16:
Has wine gone bad?
- 2018‑05‑15:
Filling in PDF forms from the Linux command line.
- 2018‑05‑15:
John Regehr's software engineering course.
- 2018‑05‑15:
A job building software to kill people, but don't get distracted by that.
- 2018‑05‑15:
The collateral damage of Internet censorship by DNS injection.
- 2018‑05‑15:
Humans killed off the megafauna.
- 2018‑05‑15:
How copyright law hides work like Zora Neale Hurston's new book from the public.
- 2018‑05‑15:
apgdiff: another PostgreSQL diff tool.
- 2018‑05‑15:
pgquarrel: compare PostgreSQL database schemas, and emit SQL DDL representing the diff.
- 2018‑05‑15:
EveryRFC: an RFC search engine.
- 2018‑05‑15:
Drawables, reparenting, compositing, etc. in X11.
- 2018‑05‑14:
Joan Taylor's tilings.
- 2018‑05‑14:
The Taylor-Socolar aperiodic tile.
- 2018‑05‑14:
Is there a fix for impostor syndrome?
- 2018‑05‑14:
Why "Agile" and especially Scrum are terrible.
- 2018‑05‑14:
How a Rust upgrade more than tripled the speed of some multiprecision arithmetic.
- 2018‑05‑14:
Measuring DNS ATR, additional truncated responses.
- 2018‑05‑14:
Who invented the computer? The debate from the viewpoint of computer architecture.
- 2018‑05‑13:
Performance experiments with matrix multiplication in Rust.
- 2018‑05‑13:
GDPR will pop the adtech bubble.
- 2018‑05‑13:
Visualizing Thameslink-related changes to rail services.
- 2018‑05‑13:
The libtom projects: cryptography and multiprecision arithmetic.
- 2018‑05‑12:
Microsoft Windows command line reference manual.
- 2018‑05‑12:
Git submodules revisited.
- 2018‑05‑12:
Clang++ `[[trivial_abi]]` 101.
- 2018‑05‑12:
The PostgreSQL "shared_buffers smile" performance trough.
- 2018‑05‑12:
Tesla's giant battery in Australia reduced grid service cost by 90%.
- 2018‑05‑11:
Pyre: fast static type checking for Python.
- 2018‑05‑11:
First, let's fire all the managers.
- 2018‑05‑11:
Tech's two philosophies.
- 2018‑05‑11:
Mermaid: a Markdown-like language for generating charts from text with Javascript.
- 2018‑05‑11:
Generating SQL syntax railroad diagrams using Tcl/Tk.
- 2018‑05‑10:
Working LEGO pinball machine built from 15,000 bricks features Benny in all his Classic Space glory.
- 2018‑05‑10:
The importance of time synchronization in the FOAM proof-of-location protocol.
- 2018‑05‑10:
Scientists stuffed a crocodile Into an MRI machine to see if it likes Bach.
- 2018‑05‑09:
Modern garbage collection vs golang's GC strategy.
- 2018‑05‑08:
The Honeyman idiom: `sort | uniq -c | sort -rn`.
- 2018‑05‑08:
Choosing fonts for complex data.
- 2018‑05‑08:
As easy as 1,2,3: how the Indian decimal place system came to Europe.
- 2018‑05‑07:
Concorde 'B'.
- 2018‑05‑07:
Are you in a bullshit job? In academia, you're hardly alone.
- 2018‑05‑07:
American energy use, in one diagram.
- 2018‑05‑07:
Thermal paper Polaroid camera.
- 2018‑05‑07:
Against trendism: how to defang the social media disinformation complex.
- 2018‑05‑06:
SUE the T. Rex is a nonbinary icon.
- 2018‑05‑06:
Lessons learned from the .SE DNSSEC algorithm rollover.
- 2018‑05‑06:
The quadratic equation and low-precision arithmetic.
- 2018‑05‑06:
Grass: an esoteric programming language based on A-normalized, lambda lifted, De Bruijn indexed, untyped lambda calculus.
- 2018‑05‑06:
Denotational design: API refinement by following a denotation.
- 2018‑05‑06:
Oracle Access Manager's identity crisis. (Padding oracle attack!)
- 2018‑05‑05:
Troubled times for alternatives to Einstein's theory of gravity.
- 2018‑05‑05:
The epic mistake about manufacturing that's cost Americans millions of jobs.
- 2018‑05‑05:
Establishing identity without certification authorities. (1996)
- 2018‑05‑05:
How to be a systems thinker.
- 2018‑05‑05:
Understanding OAuth 2.0 and OpenID Connect.
- 2018‑05‑05:
6 things I've learned in my first 6 months using serverless.
- 2018‑05‑04:
Google embraces, extends, and extinguishes.
- 2018‑05‑04:
Open sourcing BBC R&D's Mellanox kernel bypass work.
- 2018‑05‑03:
Yubikey/Smartcard backed TLS servers.
- 2018‑05‑03:
7-Zip: from uninitialized memory to remote code execution.
- 2018‑05‑03:
Where does the money go when you buy a domain name?
- 2018‑05‑03:
Hominin head-scratcher: who butchered this rhino 709,000 years ago?
- 2018‑05‑02:
PostgreSQL's fsync() surprise.
- 2018‑05‑02:
Rust in production.
- 2018‑05‑02:
Surveying the new optical form factors for 400 gigabit Ethernet.
- 2018‑05‑02:
Python startup is too slow.
- 2018‑05‑02:
WS-* web services standards overview.
- 2018‑05‑02:
Morse code in the music.
- 2018‑05‑02:
Efficient float32 arithmetic in JavaScript on Firefox.
- 2018‑05‑02:
When the C compiler bites.
- 2018‑05‑02:
Into the depths of C: elaborating the de facto standards.
- 2018‑05‑02:
A Bayesian statistical solution to discrepancies in the Hubble constant.
- 2018‑05‑02:
Linux /dev/random flaws.
- 2018‑05‑02:
7 inexcusable yet common UX gaffes that make you look like a total amateur.
- 2018‑05‑01:
C is not a low-level language.
- 2018‑05‑01:
KRust: a formal executable semantics of Rust.
- 2018‑04‑30:
A history of what we do in the dark.
- 2018‑04‑30:
The Scylla DB I/O scheduler: better latencies under any circumstance.
- 2018‑04‑30:
How to speed up the Rust compiler in 2018.
- 2018‑04‑28:
How to refactor a monolithic codebase.
- 2018‑04‑28:
Scaling a high-traffic rate limiting service with Redis Cluster.
- 2018‑04‑26:
Titus: the Netflix container management platform.
- 2018‑04‑26:
On incomplete HTTP reads and the requests library in Python.
- 2018‑04‑25:
Notes on structured concurrency, or: Go statement considered harmful.
- 2018‑04‑25:
One giant leap for SQL: MySQL 8.0 released.
- 2018‑04‑25:
Magna charta universitatum: the Bologna declaration.
- 2018‑04‑25:
GLib/GIO async operations and Rust futures + async/await.
- 2018‑04‑24:
Delta pointers: buffer overflow checks without the checks.
- 2018‑04‑24:
What you get is what you C: Controlling side effects in mainstream C compilers.
- 2018‑04‑24:
Statically typed PostgreSQL queries and TypeScript schemats.
- 2018‑04‑24:
Web security for single page applications: great impact with little effort.
- 2018‑04‑23:
Union types in Facebook's Flow and Reason programming languages.
- 2018‑04‑23:
Computer science faces an ethics crisis. The Cambridge Analytica scandal proves it.
- 2018‑04‑23:
On user interface development: appending to the event log. (React/Redux)
- 2018‑04‑23:
Ask me first: What self-assessments can tell us about autism.
- 2018‑04‑23:
A look at JWT vulnerabilities and mitigations.
- 2018‑04‑22:
Why is the Linux kernel replacing iptables with BPF?
- 2018‑04‑22:
Error handling advice for node.js programmers.
- 2018‑04‑21:
Untangling Khan Academy's Python code.
- 2018‑04‑20:
Statically typed data validation with JSON Schema and TypeScript.
- 2018‑04‑19:
io-ts: both static and dynamic type checking for JSON API data in TypeScript.
- 2018‑04‑19:
The quest for the next billion-dollar colour.
- 2018‑04‑19:
A lesson in wifi antenna engineering from the Raspberry Pi.
- 2018‑04‑19:
Important flatland research: day and night on the Dymaxion map.
- 2018‑04‑19:
What's the length of shortest bit sequence that's never been sent over the Internet?
- 2018‑04‑18:
San Francisco's big seismic gamble.
- 2018‑04‑18:
Mitigating data movement bottlenecks by processing in memory, for a 50% performance boost.
- 2018‑04‑17:
The C++ committee has taken off its backwards-compatibility ball and chain.
- 2018‑04‑17:
For mathematicians, = does not mean equality.
- 2018‑04‑17:
Parsing: a timeline.
- 2018‑04‑17:
Roman numerals: A familiar set with an unexpected order type.
- 2018‑04‑17:
D3.js in depth.
- 2018‑04‑16:
The long, incredibly tortuous, and fascinating process of creating a Chinese font.
- 2018‑04‑16:
DNS timeline.
- 2018‑04‑16:
Zuckerberg can't blame Cambridge University for Facebook's privacy violations.
- 2018‑04‑16:
Jupyter, Mathematica, and the future of the research paper.
- 2018‑04‑16:
Programming languages and empiricism.
- 2018‑04‑16:
How could we tell if there was a civilization on Earth before Humans?
- 2018‑04‑13:
tdns: a teaching authoritative DNS server, written from scratch in 1100 lines of code.
- 2018‑04‑13:
An introduction to PostgreSQL materialized views.
- 2018‑04‑13:
Post-quantum confidentiality for TLS.
- 2018‑04‑13:
A taxonomy of technical debt.
- 2018‑04‑12:
lua-protobuf: Lua support for Google's protocol buffers.
- 2018‑04‑12:
protobuf-lua: Lua protobuf library and proton output plugin.
- 2018‑04‑12:
lua-protobuf: A Lua module to work with Google protobuf.
- 2018‑04‑11:
protozero: minimalist protobuf decoder and encoder in C++.
- 2018‑04‑11:
prototool: a Swiss army knife for protobufs.
- 2018‑04‑11:
Do you have too many microservices? Five design attributes that can help.
- 2018‑04‑10:
Sequoia: OpenPGP implemented in Rust.
- 2018‑04‑10:
Construction begins on new "lowboom" quiet supersonic NASA X-Plane.
- 2018‑04‑09:
fadvise(DONTNEED): another reason why your Docker containers may be slow
- 2018‑04‑09:
Next generation video codec: introducing AV1.
- 2018‑04‑09:
Consistent hashing: algorithmic tradeoffs:
- 2018‑04‑09:
Preliminary analysis of a Site Reliability Engineer (SRE) survey.
- 2018‑04‑08:
Hash-based signatures: an illustrated primer.
- 2018‑04‑08:
TDOP / Pratt parser in pictures.
- 2018‑04‑08:
Turning a MacBook into a touchscreen with $1 of hardware.
- 2018‑04‑08:
A list of command line tools for manipulating structured text: json, xml, yaml, ini, etc.
- 2018‑04‑07:
Looking back at ten years of availability zone compartmentalization at AWS.
- 2018‑04‑07:
AlterEgo: a personalized wearable silent speech interface.
- 2018‑04‑07:
The role of cellular networks in the Internet.
- 2018‑04‑06:
PubGrub: a version solving algorithm for Dart's package manager.
- 2018‑04‑06:
How did we end up with containers?
- 2018‑04‑06:
The secret life of NaN: an intro to a boxed value hack for dynamic languages.
- 2018‑04‑06:
The scientific paper is obsolete. Jupyter is what's next.
- 2018‑04‑06:
Several cool features in git 2.17.
- 2018‑04‑04:
Fifty or sixty years of processor development and the end of performance scaling.
- 2018‑04‑04:
DNSSD roadmap: an overview of DNS-based service discovery.
- 2018‑04‑04:
Intersecting polygons: A geometric Rust adventure.
- 2018‑04‑03:
Reliable setproctitle() for Linux containers.
- 2018‑04‑03:
"I'm a female chef. Here's how my restaurant dealt with harassment from customers."
- 2018‑04‑03:
"If the Financial Times were a person, it would be a man." Here's how the paper is trying to change that.
- 2018‑04‑03:
The end-to-end back-pressure mechanism inside Wallaroo and Ponylang.
- 2018‑04‑03:
A Linux kernel memory model!
- 2018‑04‑03:
Swedes turn against cashlessness: a fully digital system is vulnerable to fraud and attack.
- 2018‑04‑03:
It is weirdly hard to steal Mark Zuckerberg's trash.
- 2018‑04‑03:
MesaLink: a memory-safe and OpenSSL-compatible TLS library.
- 2018‑04‑03:
On the hunt for the lost wonders of medieval Britain.
- 2018‑04‑03:
How 'Oumuamua got shredded.
- 2018‑04‑02:
Techniques of Twitter trolls that support the Kremlin: "dismiss, distort, distract, dismay."
- 2018‑04‑01:
tinydoh: minimal Golang DNS-over-HTTPS server.
- 2018‑04‑01:
You can't Rust that.
- 2018‑04‑01:
The joy of max(): Linux C macro hackery.
- 2018‑03‑31:
Seventy maxims of maximally effective mercenaries.
- 2018‑03‑31:
Antisemitism matters: Jews are the canary in the coalmine.
- 2018‑03‑31:
A walk round the Festival of Britain.
- 2018‑03‑31:
DNS RFC dependency graph.
- 2018‑03‑30:
De-Google-ify the Internet.
- 2018‑03‑30:
How not to make claims about genetic differences between races.
- 2018‑03‑30:
Amethyst: a tiling window manager for Mac OS X.
- 2018‑03‑30:
IETF 101 highlights.
- 2018‑03‑30:
Ferrofluid 'font' produces trippy, one-of-a-kind art.
- 2018‑03‑30:
The evolution of 15,596 documented unix facilities.
- 2018‑03‑30:
Cassina: the forgotten drink that caffeinated North America for centuries.
- 2018‑03‑29:
CHIVES: an old DNS server.
- 2018‑03‑29:
Jeeves: the first DNS server.
- 2018‑03‑29:
Golang proposal: non-cooperative goroutine preemption.
- 2018‑03‑29:
Hello, and welcome to DNS!
- 2018‑03‑29:
Junk traffic to 1.0.0.0/8.
- 2018‑03‑29:
Dragonfly: an optical telescope built from an array of off-the-shelf Canon lenses.
- 2018‑03‑29:
Hubble finds first galaxy in the local Universe without dark matter.
- 2018‑03‑29:
Detecting integer constant expressions in C macros.
- 2018‑03‑29:
Securing the Kubernetes dashboard.
- 2018‑03‑29:
How I erased 5000+ Facebook comments and likes.
- 2018‑03‑28:
Total Meltdown? Windows "fix" opens read/write access to all memory.
- 2018‑03‑28:
Crowdfunding the Mitogen Ansible accelerator: day 23.
- 2018‑03‑28:
Making IXFR small again.
- 2018‑03‑28:
Finding alternative music scales.
- 2018‑03‑28:
Just one QUIC bit.
- 2018‑03‑27:
Security keys, web authentication, U2F, and CTAP.
- 2018‑03‑27:
"It all made sense when we found out we were autistic".
- 2018‑03‑27:
Ditching a bunch of stuff and moving to Emacs and org-mode.
- 2018‑03‑27:
How to disable all of Windows 10's built-in advertising.
- 2018‑03‑26:
Job's BGP camel RFC metrics viewer.
- 2018‑03‑26:
The Isle of Wight's railway is having trouble replacing its ex-tube rolling stock.
- 2018‑03‑26:
Mapping OpenSSL cipher suite names to RFC names.
- 2018‑03‑26:
Tracing stolen bitcoin, using a precedent from 1816.
- 2018‑03‑26:
We need to go deeper: Meltdown and Spectre flaws will force security further down the stack.
- 2018‑03‑26:
Privacy International's history with web site security and what they do now.
- 2018‑03‑26:
Numbers and strings in JSON and Perl.
- 2018‑03‑25:
What men need to know (and women need to tell them) about working together.
- 2018‑03‑25:
Queen Mary's dollhouse and the lost Vita Sackville-West children's story that may have inspired Virginia Woolf's 'Orlando'.
- 2018‑03‑25:
The rebel bank, printing its own notes and buying back people's debts.
- 2018‑03‑25:
You could have invented monads! (And maybe you already have.)
- 2018‑03‑25:
Fredkin's Paradox.
- 2018‑03‑25:
Non-Google searchable Usenet archives.
- 2018‑03‑25:
A quick guide to federated social networks.
- 2018‑03‑24:
Bert's DNS camel RFC metrics viewer.
- 2018‑03‑24:
Recounting the rationals: twice!
- 2018‑03‑24:
Managing db schema changes without downtime in Rails.
- 2018‑03‑24:
New research suggests new ways to nurture gifted children.
- 2018‑03‑24:
Latrines: how Bangladesh vanquished diarrhoea.
- 2018‑03‑24:
Chernoff faces: how do we kill bad ideas in visualization?
- 2018‑03‑24:
Facebook's surveillance machine.
- 2018‑03‑24:
How genetics is changing our understanding of race.
- 2018‑03‑24:
How the chili spread from its South American home and spiced up world cuisine.
- 2018‑03‑24:
A cheap, brief "growth mindset" intervention shifted struggling students onto a more successful trajectory.
- 2018‑03‑24:
The myth of the male bumbler.
- 2018‑03‑24:
Lara Croft lives dangerously in this amazing animated Tomb Raider LEGO diorama! (video)
- 2018‑03‑24:
How to find things to work on? Look for the duct tape.
- 2018‑03‑23:
Shkreli vs. Holmes: two frauds, two divergent outcomes. Were they fair?
- 2018‑03‑23:
What roots do DNS resolvers use? // Top NXDOMAINs to the IANA root.
- 2018‑03‑23:
A wild IPv6 attack appears! Open DNS resolvers on IPv6.
- 2018‑03‑23:
Recommendations for engineering authoritative DNS servers.
- 2018‑03‑23:
Whither deprecating TCP-MD5?
- 2018‑03‑23:
Developing DNS-over-HTTPS clients and servers at the IETF101 hackathon.
- 2018‑03‑23:
A "tamper-proof" cryptocurrency wallet just got backdoored by a 15-year-old.
- 2018‑03‑23:
AssembleAR: a mock-up Ikea manual of the future looks amazing.
- 2018‑03‑23:
The machine learning reproducibility crisis.
- 2018‑03‑22:
The DNS camel: the relentless rise in protocol complexity.
- 2018‑03‑22:
How to write seemingly unhygienic and referentially opaque Scheme macros with syntax-rules.
- 2018‑03‑22:
Arbitrarily reorderable items in PostgreSQL.
- 2018‑03‑22:
Fractions in The Farey Sequences and the Stern-Brocot Tree.
- 2018‑03‑22:
Peer review: the end of an error?
- 2018‑03‑22:
How hard is it to get a cartoon Into the New Yorker?
- 2018‑03‑22:
How US nuclear force modernization is undermining strategic stability: The burst-height compensating super-fuze.
- 2018‑03‑21:
Project Nimble: faster AWS region evacuation.
- 2018‑03‑21:
Ten reasons why not to like Golang.
- 2018‑03‑21:
Network Architecture Tester: a gift for outgoing IAB members based on a Raspberry Pi running open source software.
- 2018‑03‑21:
ISC Kea and NETCONF in 2018: towards automated configurability.
- 2018‑03‑21:
A guide to writing a DNS server from scratch in Rust (complete with classic name decompression DOS vulnerability).
- 2018‑03‑21:
Type-directed metaprogramming in Rust.
- 2018‑03‑21:
Child abuse imagery found within bitcoin's blockchain.
- 2018‑03‑21:
Pre-publication peer review subtracts value.
- 2018‑03‑20:
Mediaeval helpdesk.
- 2018‑03‑20:
Breaking a wine glass in Python by detecting the resonant frequency.
- 2018‑03‑20:
Exercises in Programming Style.
- 2018‑03‑20:
ABA: always be automating, because manual work is a bug.
- 2018‑03‑19:
Real world DNSSEC+DANE for secure inter-domain mail transport.
- 2018‑03‑19:
Level 3 technician's misstep causes largest telephone outage ever reported.
- 2018‑03‑18:
The Northern Lights as seen from a U-2 at 70,000 feet.
- 2018‑03‑18:
Booting Windows NT 4 on a DEC Multia.
- 2018‑03‑18:
Why inheritance never made any sense.
- 2018‑03‑16:
WebKit's protection against HSTS supercookie abuse.
- 2018‑03‑16:
I watched all 629 episodes of The Simpsons in a month. Here's what I learned.
- 2018‑03‑16:
Usability improvements in GCC 8.
- 2018‑03‑16:
How PostgreSQL just might replace your Oracle database.
- 2018‑03‑15:
The surprising creativity of digital evolution: anecdotes from evolutionary computation and artificial life research.
- 2018‑03‑15:
Kickstarting free software: getting financial support for the Mitogen Ansible accelerator.
- 2018‑03‑15:
Ephemeris time vs universal time: two kinds of time, two kinds of time scale. (1954)
- 2018‑03‑15:
Physicists still don't know what puts the curl in curling.
- 2018‑03‑15:
Intel's Spectre and Meltdown mitigation plans.
- 2018‑03‑15:
Evaluation and consideration of multiple answers in one DNS response.
- 2018‑03‑15:
The German Society of Auto-Correction.
- 2018‑03‑15:
All tease, no tale: Hollywood's misplaced lady lands.
- 2018‑03‑15:
A look at a comic that touched on everything that makes Batman great.
- 2018‑03‑15:
Poetic License: 3-clause BSD in rhyme.
- 2018‑03‑15:
Why is OOF an OOF and not an OOO?
- 2018‑03‑15:
Decoding the Signals in the Prime Minister's speech on the Russian poisoning of Sergei Skripal.
- 2018‑03‑15:
Canopy: Facebook's end-to-end performance tracing and analysis system.
- 2018‑03‑14:
All disk galaxies rotate once every billion years.
- 2018‑03‑14:
What PostgreSQL full-text search has to do with VACUUM.
- 2018‑03‑14:
Why the UCU strike matters.
- 2018‑03‑14:
The 'Badass Army' is training revenge porn victims to fight back.
- 2018‑03‑14:
The chemicals used to make bacon do cause cancer. So how did the meat industry convince us it was safe?
- 2018‑03‑13:
Scaling up with Google Kubernetes Engine: a review after 6 months in production.
- 2018‑03‑13:
Building Windows: 4 million commits, 10 million work items.
- 2018‑03‑13:
What's left to do after your open source project is done.
- 2018‑03‑13:
Siccar Point: the cliff that changed our understanding of time.
- 2018‑03‑13:
A recreation of late 13th - 14th c. unhopped English ales.
- 2018‑03‑13:
Attacking Merkle trees with a second preimage attack.
- 2018‑03‑13:
How we built our PostgreSQL cluster in a box using Patroni.
- 2018‑03‑12:
How a book warehouse is changing Columbia's library system.
- 2018‑03‑12:
Migrating from MariaDB Galera to PostgreSQL and Patroni.
- 2018‑03‑12:
The magic (and maths) of skating on thin ice without falling in.
- 2018‑03‑12:
API versioning and evolution with proxies.
- 2018‑03‑12:
OMG-WTF-8: optimized matching generalized wobbly transformation format (8-bit).
- 2018‑03‑12:
Why museum professionals need to talk about Black Panther.
- 2018‑03‑12:
Transgender men see sexism from both sides.
- 2018‑03‑12:
Virtual private networks with WireGuard.
- 2018‑03‑12:
Enduring file references in macOS.
- 2018‑03‑12:
The KK Computer: a radical 6502 extension.
- 2018‑03‑12:
Slack's bait-and-switch.
- 2018‑03‑12:
Rogue GPL enforcement: Linux beats legal threat from one of its own developers.
- 2018‑03‑12:
Saturated fat does not clog the arteries: coronary heart disease is a chronic inflammatory condition.
- 2018‑03‑11:
Secure access to 100 AWS accounts.
- 2018‑03‑11:
Avoid nonreferential this.
- 2018‑03‑11:
Rainbow deploys with Kubernetes.
- 2018‑03‑11:
How to change the course of human history (at least, the part that's already happened).
- 2018‑03‑11:
Secret management design decisions: theory plus an AWS example.
- 2018‑03‑11:
A huge WhatsApp leak reveals the full fury of the Tories' Brexit split.
- 2018‑03‑11:
The enemy within: Gut bacteria drive autoimmune disease.
- 2018‑03‑11:
Fountain pen inks: the good, the bad, and the ugly.
- 2018‑03‑11:
The three mistakes of centrism.
- 2018‑03‑11:
How Wikipedia chose the image for the 'Human' entry.
- 2018‑03‑11:
Literate DevOps with Emacs org-mode.
- 2018‑03‑11:
Master password in Firefox or Thunderbird uses a very weak KDF.
- 2018‑03‑11:
Will the quantum nature of gravity finally be measured?
- 2018‑03‑10:
This CPU instruction set architecture tastes like microarchitecture.
- 2018‑03‑10:
Analyzing and mitigating privacy with the DNS root service.
- 2018‑03‑10:
How well does DNS ATR (additional truncated responses) work around dropped UDP fragments?
- 2018‑03‑10:
Is vitamin D really a cure-all? And how should we get our fix?
- 2018‑03‑10:
Staying awake: the surprisingly effective way to treat depression.
- 2018‑03‑10:
Tell me everything about that guy who died on your show.
- 2018‑03‑10:
Britain's Serious Fraud Office is getting too good at its job.
- 2018‑03‑09:
The quantum thermodynamics revolution.
- 2018‑03‑09:
Are the IETF unreasonable cryptography zealots?
- 2018‑03‑09:
UK faces €2 billion EU tab for China customs fraud.
- 2018‑03‑09:
Tex-Mex is the most important, least understood regional cuisine in America.
- 2018‑03‑09:
Year-round daylight saving time? Florida says yes, but It's not so simple.
- 2018‑03‑08:
The curious case of the crippling DS record.
- 2018‑03‑08:
Measuring efficiency of DNSSEC negative answer synthesis (RFC 8198).
- 2018‑03‑08:
DNSSEC for a large enterprise.
- 2018‑03‑08:
Why DNSFilter replaced InfluxDB with TimescaleDB.
- 2018‑03‑08:
The Rubik's contraption solves a cube in 0.38 seconds.
- 2018‑03‑08:
Elementary knightship found in Conway's Life: a travelling pattern with a new slope.
- 2018‑03‑08:
The uniquely versatile stinkbug is decimating crops and infiltrating houses all across the USA.
- 2018‑03‑08:
3D lightning calculated from two simultaneous photographs.
- 2018‑03‑08:
Accidentally two photographs of the same scene taken at the same millisecond.
- 2018‑03‑08:
The left hand of equals: object oriented equality in the Grace programming language.
- 2018‑03‑07:
Let's Encrypt: securing the automation of ACME DNS challenge validation.
- 2018‑03‑07:
Much ado about latency: Mitogen and the BFG9000 of import hooks.
- 2018‑03‑07:
Quadrupling Ansible performance with Mitogen.
- 2018‑03‑07:
Why Rust has macros.
- 2018‑03‑07:
Supermassive black holes or their galaxies: which came first?
- 2018‑03‑07:
Prototype to production: Building your first PCB prototype.
- 2018‑03‑07:
bsdnt: a BSD licensed bignum library.
- 2018‑03‑07:
BFG repo-cleaner: a faster `git filter-branch`, written in Scala.
- 2018‑03‑07:
The male glance: how we approach male vs. female work is ruining our ability to see good art.
- 2018‑03‑07:
How self-aware are people, really, according to science?
- 2018‑03‑07:
Dayton Miller's experiment to "prove" the theory of relativity incorrect.
- 2018‑03‑07:
Tiangong-1 reentry updates / latest predictions.
- 2018‑03‑07:
Tiangong-1 destructive re-entry frequently asked questions.
- 2018‑03‑07:
A malicious vehicle can block "smart" intersections in the USA.
- 2018‑03‑07:
Ten zombie statistics.
- 2018‑03‑07:
I'm a Sinn Féin MP. This is why I won't go to Westminster, even over Brexit.
- 2018‑03‑07:
Surprise graphene discovery could unlock secrets of superconductivity.
- 2018‑03‑07:
Exploiting Exim CVE-2018-6789: one byte buffer overflow leads to remote code execution.
- 2018‑03‑07:
Exploiting hash collisions, by Ange Albertini.
- 2018‑03‑06:
libbf: Fabrice Bellard's big float library.
- 2018‑03‑06:
The default TV settings aren't necessarily the best.
- 2018‑03‑06:
The evolution of distributed systems management.
- 2018‑03‑06:
How generics were added to .NET and C#.
- 2018‑03‑06:
The mystery of the slow downloads.
- 2018‑03‑06:
Why the investor class hates pensions.
- 2018‑03‑06:
ebtree: elastic binary trees. (Like embedded crit-bit trees.)
- 2018‑03‑06:
Progressive locks: fast, upgradable read/write locks.
- 2018‑03‑06:
The great lightbulb conspiracy.
- 2018‑03‑06:
World-first firing of air-breathing electric thruster for very low orbit satellites.
- 2018‑03‑06:
zheap: a new storage engine for PostgreSQL to provide better control over bloat.
- 2018‑03‑06:
git-sizer: is your Git repository bursting at the seams?
- 2018‑03‑05:
A RocksDB backend for Apache Cassandra, with a 10x reduction in tail latency.
- 2018‑03‑05:
Rendering in camera space(ish), to avoid floating point precision problems.
- 2018‑03‑05:
The result of placing a camera lens 300 feet from a rocket launch.
- 2018‑03‑05:
Understanding and overcoming coder's block.
- 2018‑03‑05:
Practical tips for cheating at design: improving your designs with tactics instead of talent.
- 2018‑03‑05:
Representing impractical and impossible types with Java 10 "var".
- 2018‑03‑05:
Spooky action at a distance: how an AWS outage broke a service that's not hosted in AWS.
- 2018‑03‑04:
How will "Enterprise Blockchain" change the way future enterprise applications are architected?
- 2018‑03‑04:
Italy's present is the future of politics.
- 2018‑03‑04:
Constructing human-grade parsers.
- 2018‑03‑04:
March is endometriosis awareness month.
- 2018‑03‑04:
Exploring the Chomsky hierarchy, the linguistics behind regular expressions.
- 2018‑03‑04:
Updated PostgreSQL Meltdown benchmarks.
- 2018‑03‑04:
Three girls, a dead raccoon, and a crockpot: how to clean up a skeleton.
- 2018‑03‑04:
Scotland's floating wind farm is showing how powerful offshore wind can be.
- 2018‑03‑04:
How not to be a crank: ten rules for not being a science-dick.
- 2018‑03‑04:
SlimerJS: a replacement for PhantomJS using recent Firefox.
- 2018‑03‑04:
The world of Linux handhelds in 2018.
- 2018‑03‑03:
The first unified calendar and the invention of world history.
- 2018‑03‑03:
GDPR: a practical guide for developers.
- 2018‑03‑03:
Postmortem: performance issues and failures in Microsoft Visual Studio Team Services.
- 2018‑03‑03:
Experience designing and building gRPC services.
- 2018‑03‑03:
50 shades of Go: traps, gotchas, and common mistakes for new Golang devs.
- 2018‑03‑03:
Let's make the Emacs GC safe and iterative.
- 2018‑03‑03:
Sortix: a small self-hosting operating-system aiming to be a clean and modern POSIX implementation.
- 2018‑03‑03:
Joy veh! What makes Jewish comedy Jewish?
- 2018‑03‑03:
khwasan: kernel hardware assisted address sanitizer for arm64.
- 2018‑03‑03:
10 years ago, the Internet gave us "mansplain". A woman explains why it still matters.
- 2018‑03‑02:
Firefox configuration guide for privacy freaks and performance buffs.
- 2018‑03‑02:
Mac OS versus FreeBSD: a comparative evaluation.
- 2018‑03‑02:
Billions of birds migrate. Where do they go?
- 2018‑03‑02:
What happens to us does not happen to most of you.
- 2018‑03‑02:
What to expect when you decide to migrate from Javascript to Typescript.
- 2018‑03‑01:
Nominet's proposed GDPR whois policy.
- 2018‑03‑01:
Clay codes: moulding MDS codes to yield an MSR code; optimal erasure coding for Ceph.
- 2018‑03‑01:
Review: Coding Freedom by E. Gabriella Coleman.
- 2018‑03‑01:
gitleaks: search full repo history for secrets and keys.
- 2018‑02‑28:
Peace for Triple Piano.
- 2018‑02‑28:
SIDN says DNSSEC validation errors can be eliminated.
- 2018‑02‑28:
Do TLS X.509 certificate warranties protect you? As much as rocks keep tigers away...
- 2018‑02‑28:
Rust status on Debian on various CPU architectures.
- 2018‑02‑28:
Typestates in Rust.
- 2018‑02‑28:
Most images of black holes are illustrations. Here's what our telescopes actually capture.
- 2018‑02‑28:
On the nature of wine.
- 2018‑02‑27:
SAML vulnerabilities affecting multiple implementations, due to inconsistent XML canonicalization.
- 2018‑02‑27:
Beautiful folds in Haskell.
- 2018‑02‑27:
Carte complète du SNCF réseau ferré français en 2017.
- 2018‑02‑27:
Typescript : class vs interface.
- 2018‑02‑27:
Why enterprise agile teams fail.
- 2018‑02‑27:
The unavailable Linux server: when TLS certificate validation fails.
- 2018‑02‑27:
O API: an alternative to REST.
- 2018‑02‑27:
Usenet, authentication, and engineering: early design decisions for Usenet.
- 2018‑02‑27:
PostgreSQL internals: avoid error context stack corruption.
- 2018‑02‑27:
Vulkan is coming to macOS and iOS, but no thanks to Apple.
- 2018‑02‑27:
The lost art of bending over: how other cultures spare their spines.
- 2018‑02‑27:
The struggles of women who mask their autism.
- 2018‑02‑27:
Peak DNSSEC?
- 2018‑02‑26:
Life as a woman with colour blindness, and Enchroma glasses.
- 2018‑02‑26:
Golang laws of reflection.
- 2018‑02‑26:
Golang 2017 survey results.
- 2018‑02‑26:
Safely load untrusted YAML in Perl.
- 2018‑02‑26:
New features for sequences in PostgreSQL 10.
- 2018‑02‑26:
The Hypothesis continuous release process.
- 2018‑02‑26:
Compiler bug? Linker bug? Windows kernel bug.
- 2018‑02‑26:
Scientists aim to pull peer review out of the 17th century.
- 2018‑02‑25:
CTTK: constant-time toolkit.
- 2018‑02‑25:
How Black Panther asks us to examine who we are to one another.
- 2018‑02‑25:
'Black Panther': choose your weapons.
- 2018‑02‑25:
The UK will block online porn from April. Here's what we know.
- 2018‑02‑25:
A long two months working on Spectre/Meltdown mitigations in Illumos.
- 2018‑02‑25:
Google AMP's speed comes from preloading, and other controversies.
- 2018‑02‑24:
Backlogs! Backlogs everywhere: how Wikipedia deals with spam and bad actors.
- 2018‑02‑23:
The US experience with the phasedown of lead in gasoline.
- 2018‑02‑23:
10,000 year Clock of the Long Now gets lowered into Texas mountain.
- 2018‑02‑23:
Words for "yes" in Romance languages.
- 2018‑02‑23:
Pwned Passwords V2: half a billion passwords for download, and a k-anonymity query service.
- 2018‑02‑23:
Mysterious origin of domesticated horses 'turned upside down' by DNA analysis.
- 2018‑02‑23:
A python development environment for 2018.
- 2018‑02‑23:
The quest for the missing DNSSEC keytags.
- 2018‑02‑23:
Escaping hell with monads.
- 2018‑02‑21:
When whisper networks let us down: how communities struggle — and sometimes fail — to stop sexual assault.
- 2018‑02‑21:
fugit: *really* lightweight git access control.
- 2018‑02‑21:
Three ways to open up closed code.
- 2018‑02‑21:
Black Panther: the tale of two different viewing experiences.
- 2018‑02‑21:
Prestigious science journals struggle to reach even average reliability.
- 2018‑02‑21:
vgo: golang += package versioning.
- 2018‑02‑21:
Package management for Golang: thoughts on vgo and dep.
- 2018‑02‑21:
Ruby's new JIT.
- 2018‑02‑21:
Adventures with memory barriers and Seastar on Linux.
- 2018‑02‑20:
Two x86 instruction sequences usually resynchronize after a few instructions because of the Kruskal Count.
- 2018‑02‑20:
Kruskal Count and Kangaroo Method.
- 2018‑02‑20:
Superset disassembly: statically rewriting x86 binaries without heuristics.
- 2018‑02‑20:
The dark money driving the Scottish Tory surge.
- 2018‑02‑20:
Lärmkarte Berlin: so laut ist es vor Ihrer Haustür.
- 2018‑02‑20:
The wall is the wall: why fortresses fail.
- 2018‑02‑20:
Python async simplified.
- 2018‑02‑19:
Risks of TLS/1.3 0RTT data.
- 2018‑02‑19:
Fabric linear motor.
- 2018‑02‑19:
Existential crisis: heterogeneous collections in Haskell.
- 2018‑02‑19:
ZGC: a low-latency garbage collector for Java / HotSpot / Linux / amd64.
- 2018‑02‑19:
Norris numbers: walls programmers hit as programs scale up.
- 2018‑02‑19:
DeepState augments C/C++ test-driven development with symbolic execution.
- 2018‑02‑18:
IPv4 route lookup on Linux: level compressed trie.
- 2018‑02‑18:
What is Debian all about, really? Or: friction, packaging complex applications, language-specific tooling.
- 2018‑02‑18:
How not to replace email: lessons from Google Wave.
- 2018‑02‑18:
Container patterns.
- 2018‑02‑18:
Someone is sending sex toys to strangers. Amazon has no idea how to stop it.
- 2018‑02‑18:
The cabinet files: second-hand filing cabinets turned out to be full of classified Australian documents.
- 2018‑02‑18:
Ghost in the DCL shell: OpenVMS, touted as ultra reliable, had a local root hole for 30 years.
- 2018‑02‑18:
'Black Panther' is not the movie we deserve.
- 2018‑02‑17:
Google AMP is an anticompetitive attempt to fork the web.
- 2018‑02‑17:
Guy spends almost a year gluing 42,000 matches to make a giant sphere, then sets it on fire.
- 2018‑02‑16:
Choosing a perl templating system.
- 2018‑02‑16:
Travis encrypted variables and external contributions.
- 2018‑02‑16:
Replacing jQuery with Vue.js: no build step necessary.
- 2018‑02‑16:
The Kautz graph.
- 2018‑02‑16:
Making propellor safer with GADTs and type families.
- 2018‑02‑16:
Indic scripts and Unicode: picking apart the crashing iOS string.
- 2018‑02‑16:
Hed, dek, lede, graf, tk: live with it.
- 2018‑02‑16:
(HED) Folo My Lede (UNHED)
- 2018‑02‑16:
'Lede' vs. 'Lead'.
- 2018‑02‑16:
Jim Roskind's C/C++ grammar.
- 2018‑02‑16:
The entirely unnecessary demise of Barnes & Noble.
- 2018‑02‑16:
The Bishop Fox cybersecurity style guide.
- 2018‑02‑15:
DMCA lawsuit between Cox and BMG: redirecting abuse@ to /dev/null can be expensive.
- 2018‑02‑15:
Evolution of CSS layout: 1990s to the future.
- 2018‑02‑14:
Dtrace for Linux: Oracle does the right thing.
- 2018‑02‑14:
IRS clutches its modernization holy grail: converting their 50yo assembler codebase to Java.
- 2018‑02‑14:
CSS grid for UI layouts.
- 2018‑02‑14:
The SCRAM SASL authentication mechanism.
- 2018‑02‑14:
LLVM's garbage collection facilities and SBCL's generational GC.
- 2018‑02‑14:
PDP-7 Unix: building a development environment from scratch.
- 2018‑02‑14:
Picture of a single strontium atom in an ion trap wins science photo contest.
- 2018‑02‑14:
A detailed timeline of the IMAGE satellite recovery.
- 2018‑02‑13:
Drawing better-looking Bézier curves.
- 2018‑02‑13:
Developers on call.
- 2018‑02‑13:
The Big Switch: a view of the advent of cloud computing, ten years on.
- 2018‑02‑13:
Lessons from optics, the other deep learning.
- 2018‑02‑13:
Metacrap: putting the torch to seven straw-men of the meta-utopia.
- 2018‑02‑13:
What's wrong with Metcalfe's Law?
- 2018‑02‑13:
QQ Browser's textbook RSA fails to protect the privacy of hundreds of millions of users.
- 2018‑02‑13:
DNS RFC dependency graph.
- 2018‑02‑12:
Moomin noir.
- 2018‑02‑12:
SafeYAML
- 2018‑02‑12:
Let's talk about usernames.
- 2018‑02‑12:
The songs that bind: musical tastes are formed at puberty.
- 2018‑02‑11:
A sampled virtual music box.
- 2018‑02‑10:
GDPR: sorting the fact from the fiction.
- 2018‑02‑10:
The incomplete vision of John Perry Barlow.
- 2018‑02‑10:
An opinionated guide to Haskell in 2018.
- 2018‑02‑10:
The configuration complexity clock.
- 2018‑02‑10:
Anatomy of a Ceph meltdown.
- 2018‑02‑09:
KPTI/Meltdown initial performance regressions.
- 2018‑02‑09:
FreeBSD Broadcom WiFi improvements.
- 2018‑02‑09:
When will the world reach 'peak child'?
- 2018‑02‑09:
PostgreSQL on a VAX.
- 2018‑02‑09:
The special data device SpaceX's Falcon Heavy sent to orbit.
- 2018‑02‑09:
People notice there's something wrong with The Rock's new movie poster, and things escalate quickly.
- 2018‑02‑09:
Interstellar communication. IX. Message decontamination is impossible.
- 2018‑02‑09:
Computer manpower: is there a crisis? (1982)
- 2018‑02‑09:
A history of capacity challenges in computer science education.
- 2018‑02‑08:
Paris flooding harks back to one of the great breakthroughs in hydrology.
- 2018‑02‑08:
The many faces of the Petersen graph.
- 2018‑02‑08:
How many Amazon Mechanical Turk workers are there?
- 2018‑02‑07:
Design notes on inline caches in Guile.
- 2018‑02‑07:
The EM2S 60kHz radio receiver module and the MSF time signal.
- 2018‑02‑07:
Googlebot's Javascript random() function is deterministic.
- 2018‑02‑07:
Why paper jams persist.
- 2018‑02‑07:
In Rust, ordinary vectors are values.
- 2018‑02‑07:
From telegram to tweet: a history of laws against malicious communications.
- 2018‑02‑07:
PostgreSQL and compressed documents.
- 2018‑02‑07:
Keyboard dissolves in acetone. (YouTube)
- 2018‑02‑07:
Data retention, national security, and the ECJ: the continuing saga.
- 2018‑02‑06:
Two years trying to fix the gender imbalance in a science writer's stories.
- 2018‑02‑06:
Why the tz database should not record sub-second offsets.
- 2018‑02‑06:
Is Brexit the maddest thing England has ever done? Not quite.
- 2018‑02‑06:
A tale of two moons: Peter Lik's photographs called out by science.
- 2018‑02‑06:
SRFI 110: sweet-expressions, an indentation-based syntax for Scheme.
- 2018‑02‑06:
The marbled crayfish clones itself, and it's taking over Europe.
- 2018‑02‑06:
Confessions of a typewriter addict.
- 2018‑02‑06:
MITRE CVE numbering authorities.
- 2018‑02‑06:
DWF CNA registry: distributed weakness filing CVE numbering authorities.
- 2018‑02‑05:
Ignoring the domain when authenticating your Dovecot users.
- 2018‑02‑05:
Modern CSS explained for dinosaurs.
- 2018‑02‑05:
Almost-classics: sf concepts and settings that deserve better execution.
- 2018‑02‑05:
Wales is leading the way on democratic reform.
- 2018‑02‑05:
Using Git for Debian packaging.
- 2018‑02‑05:
DragonFFI: foreign function interface and JIT for calling C using Clang/LLVM.
- 2018‑02‑05:
How and why to write a Rude Q&A.
- 2018‑02‑05:
How the Super Bowl halftime show gets set up in just six minutes.
- 2018‑02‑04:
Make your own make, with Cargo and Rust.
- 2018‑02‑04:
Why dolphins are deep thinkers.
- 2018‑02‑04:
Standard SQL features where PostgreSQL beats its competitors.
- 2018‑02‑04:
JITing PostgreSQL using LLVM.
- 2018‑02‑03:
Amazon Aurora Postgres: first thoughts.
- 2018‑02‑03:
Combine pgreplay with pgBadger.
- 2018‑02‑03:
ECMAScript 2018: the final feature set.
- 2018‑02‑03:
How Google Chrome's new ad blocker works.
- 2018‑02‑03:
Faux Shu follies: cheating at magic squares.
- 2018‑02‑03:
Why would I care about Mikhail Bongard's problems?
- 2018‑02‑03:
What is going to happen with WHOIS and GDPR?
- 2018‑02‑03:
git .mailmap: fix up deadnames in old commits.
- 2018‑02‑02:
The full-time job of keeping up with Kubernetes.
- 2018‑02‑02:
Measuring QUIC vs TCP on desktop and mobile.
- 2018‑02‑02:
NIS Directive: EU directive on security of network and information systems.
- 2018‑02‑02:
How Christine Peterson coined the term 'open source'.
- 2018‑02‑01:
Monitoring with Prometheus 2.0.
- 2018‑02‑01:
OpenPnP: open source SMT pick and place.
- 2018‑02‑01:
Unboxing a cheap desktop pick and place machine.
- 2018‑02‑01:
Postgres hidden gems.
- 2018‑02‑01:
Spying on a Ruby process's memory allocations with eBPF.
- 2018‑01‑31:
Making network authentication simple in a Bring Your Own Device environment.
- 2018‑01‑31:
GRV: a terminal/curses interface for viewing git repositories.
- 2018‑01‑31:
The cult of Mary Beard.
- 2018‑01‑31:
The peculiar case of NSEC processing using expanded wildcard records.
- 2018‑01‑31:
The Jaffer-Humphreys test: A Bechdel test for museums.
- 2018‑01‑30:
DO or UNDO, there is no VACUUM: what if PostgreSQL didn't need VACUUM at all?
- 2018‑01‑30:
Ten days in Shenzhen.
- 2018‑01‑30:
A techie's rough guide to GDPR.
- 2018‑01‑30:
GDPR and Google Analytics.
- 2018‑01‑30:
The view from the TOP500.
- 2018‑01‑30:
MPEG: a crisis, the causes, and a solution.
- 2018‑01‑29:
Git signed commits are a bad idea.
- 2018‑01‑29:
Table partitioning for storing logs in PostgreSQL.
- 2018‑01‑29:
Debug tools for generating crafted DNS responses.
- 2018‑01‑29:
When Perl isn't fast enough.
- 2018‑01‑29:
An overview of the Perl 5 engine.
- 2018‑01‑29:
Gray failure: the Achilles' heel of cloud-scale systems.
- 2018‑01‑28:
Your instant Kubernetes cluster.
- 2018‑01‑28:
Taking a pubsub message broker approach to logging.
- 2018‑01‑28:
The setenv fiasco.
- 2018‑01‑28:
Do compilers take inline as a hint?
- 2018‑01‑28:
How to build your own AlphaZero AI using Python and Keras.
- 2018‑01‑27:
Moving 1Password from CloudFormation to Terraform.
- 2018‑01‑27:
My Delorean runs Perl.
- 2018‑01‑26:
How to prepare a talk.
- 2018‑01‑26:
Some obscure C features you might not know about.
- 2018‑01‑26:
Why Tesla's autopilot can't see a stopped firetruck.
- 2018‑01‑26:
NASA's long dead 'IMAGE' satellite is alive!
- 2018‑01‑26:
A practitioner's guide to reading programming languages papers.
- 2018‑01‑25:
Why apt should use https.
- 2018‑01‑25:
Bike-share schemes improve safety; helmet laws do not.
- 2018‑01‑25:
STGi: spineless tagless G-machine interpreter.
- 2018‑01‑25:
dns2doh: test DNS over HTTP.
- 2018‑01‑25:
Sweden's gender-balanced snow-clearing as a template for adjusting Canadian budgets.
- 2018‑01‑25:
Typed capability-based APIs in Rust.
- 2018‑01‑25:
Bringing DNS security and privacy to the end user.
- 2018‑01‑25:
Railway station traffic statistics visualized.
- 2018‑01‑25:
Ref patterns, destructuring, and invisible borrows in Rust.
- 2018‑01‑24:
The new anti-Spectre microcode from Intel and AMD adds three new features.
- 2018‑01‑24:
How to chroot to a Raspberry Pi SD card on an Ubuntu box.
- 2018‑01‑24:
How to emulate a Raspberry Pi (Raspbian Jessie) on Mac OSX (El Capitan).
- 2018‑01‑24:
Abolished in Scotland, it's time the feudal leftover of leasehold ownership expired in the rest of Britain.
- 2018‑01‑24:
Think your country is crowded? These maps reveal the truth about population density across Europe.
- 2018‑01‑23:
How a fix in Golang 1.9 sped up GitLab's Gitaly service by 30x.
- 2018‑01‑23:
An introduction to algebraic data types and structural pattern matching in TypeScript.
- 2018‑01‑23:
Why is Jepsen-style random testing effective for partition tolerance bugs?
- 2018‑01‑22:
The good operation: an induction tool and reference guide for policy professionals within MOD.
- 2018‑01‑22:
In search of 0xffffffffff600400: troubleshooting containers, system calls, and performance.
- 2018‑01‑22:
The policy hack.
- 2018‑01‑22:
Nighttime long exposures of rotating helicopter blades.
- 2018‑01‑22:
In defence of swap: common misconceptions.
- 2018‑01‑22:
The limitations of chaos engineering.
- 2018‑01‑21:
Network latencies and speed of light.
- 2018‑01‑21:
Code alignment and microbenchmark performance.
- 2018‑01‑21:
A brief YAML reference.
- 2018‑01‑21:
How to talk to angry people: the CLARA method of de-escalation.
- 2018‑01‑21:
The difference between liberalism and centrism.
- 2018‑01‑21:
What is XML good at?
- 2018‑01‑21:
Brave new I/O for embedded Rust.
- 2018‑01‑21:
Why is only half of Mars magnetized?
- 2018‑01‑21:
The London Time Machine.
- 2018‑01‑20:
The Carillion whitewash: insolvent, not illiquid.
- 2018‑01‑20:
Testing microservices, the sane way.
- 2018‑01‑20:
JavaScript things I never knew existed.
- 2018‑01‑20:
Fuzzing TCP servers.
- 2018‑01‑19:
A brief overview of the 1893 overthrow of the Kingdom of Hawaiʻi's Queen Liliʻuokalani.
- 2018‑01‑19:
Who the hell uses onion juice?
- 2018‑01‑19:
Cornell barbecue chicken sauce.
- 2018‑01‑19:
Nominet abandons its charitable trust.
- 2018‑01‑19:
Ridiculously fast base64 encoding and decoding.
- 2018‑01‑19:
Oxidizing JavaScript source maps with Rust and WebAssembly.
- 2018‑01‑19:
Rust and Qt/QML: a timely example
- 2018‑01‑18:
Trackball history: Canada's earliest gift to computing.
- 2018‑01‑18:
How to measure the working set size on Linux.
- 2018‑01‑18:
The 1969 Easter Mass incident.
- 2018‑01‑17:
Followup attacks based on Spectre and Meltdown to look forward to.
- 2018‑01‑16:
Finding a CPU design bug in the Xbox 360.
- 2018‑01‑15:
Antineutrino Global Map 2015 chatacterizes Earth's radioactivity.
- 2018‑01‑15:
Firefox will require TLS for all new web features.
- 2018‑01‑15:
Amdahl's law, the universal scalability law, and coherence penalty.
- 2018‑01‑15:
The death of microservice madness.
- 2018‑01‑15:
The secret history of the Russian consulate in San Francisco.
- 2018‑01‑15:
stm-containers: concurrent HAMT for Haskell.
- 2018‑01‑15:
Cherry's new low-profile switches may help bring mechanical keyboards to more laptops.
- 2018‑01‑14:
Benchmarking crimes: an emerging threat in systems security.
- 2018‑01‑13:
Firefox bullshit removal via about:config.
- 2018‑01‑13:
Cuckoo hashing can outperform learned indexes.
- 2018‑01‑13:
Mechanical computing systems using only links and rotary joints.
- 2018‑01‑13:
Isn't it obvious? Avoiding just-so stories about visualizations.
- 2018‑01‑13:
The Bestiary: scaly-foot gastropod / iron snail.
- 2018‑01‑13:
fluxcapacitor: how to sleep a million years.
- 2018‑01‑12:
What it's like being a creative professional and a mother.
- 2018‑01‑12:
Let's Encrypt update regarding ACME TLS-SNI and shared hosting infrastructure.
- 2018‑01‑12:
The "Clarke Gap" of a technology is the degree to which it is distinguishable from magic.
- 2018‑01‑12:
Down the "shithole": why lexicographers need your profanity.
- 2018‑01‑12:
Fast strong hash functions: SipHash and HighwayHash.
- 2018‑01‑11:
Fundamental physics is frustrating physicists.
- 2018‑01‑11:
IPv6 flow label: misuse in hashing.
- 2018‑01‑11:
Report on the npm operations incident of 6th Jan.
- 2018‑01‑11:
Detecting Spectre and Meltdown using hardware performance counters.
- 2018‑01‑11:
Making the pizza cinnamon rolls from Mario Batali's sexual misconduct apology letter.
- 2018‑01‑10:
PiTubeDirect: a Raspberry Pi as a BBC Micro second processor.
- 2018‑01‑10:
The fight for patent-unencumbered media codecs Is nearly won.
- 2018‑01‑10:
Let's Encrypt issue with TLS-SNI-01 and shared hosting infrastructure.
- 2018‑01‑09:
Xerox Alto's 3 Mb/s Ethernet: Building a gateway with a BeagleBone.
- 2018‑01‑09:
What Spectre and Meltdown mean for WebKit.
- 2018‑01‑09:
Legends of the ancient web.
- 2018‑01‑09:
Control-C handling in Python and Trio.
- 2018‑01‑09:
Birth order effects exist and are very strong.
- 2018‑01‑09:
Pepper: the spice of life.
- 2018‑01‑09:
A vast 430-year-old world map, full of places and creatures, real and imagined.
- 2018‑01‑08:
Meltdown and Spectre information update for DragonflyBSD.
- 2018‑01‑08:
Feature comparison of ack, ag, git-grep, GNU grep and ripgrep.
- 2018‑01‑08:
Golang's hidden #pragmas.
- 2018‑01‑08:
Why Brigade doesn't do YAML: scripting for Kubernetes clusters.
- 2018‑01‑08:
NSEC3 hash performance in NSD and Unbound.
- 2018‑01‑08:
The bad neighbor: out-of-order execution and its applications.
- 2018‑01‑08:
The Python decorators they won't tell you about
- 2018‑01‑08:
Four groups of researchers independently found Meltdown and Spectre within mere months of each other.
- 2018‑01‑08:
PCID is now a critical performance/security feature on x86.
- 2018‑01‑07:
Ancient browser wars history: MD5-hashed posts declassified.
- 2018‑01‑07:
From 200K lines of CoffeeScript to zero: making decaffeinate super-stable.
- 2018‑01‑07:
Full-text search in Django with PostgreSQL.
- 2018‑01‑07:
An 8-tube module from a 1954 IBM 705 mainframe: it's a key debouncer.
- 2018‑01‑06:
I'm harvesting credit card numbers and passwords from your site. Here's how.
- 2018‑01‑06:
Meltdown and Spectre Linux kernel status.
- 2018‑01‑06:
Meltdown fix impact on Redis performances in virtualized environments.
- 2018‑01‑06:
A type system for the Nix purely functional package manager.
- 2018‑01‑06:
Racket-on-Chez status, January 2018.
- 2018‑01‑05:
Spectre/Meltdown security holes will devastate Intel's marketshare.
- 2018‑01‑05:
Intel analysis of speculative execution side channels.
- 2018‑01‑05:
Random with care.
- 2018‑01‑05:
The fresh prints of 'bell-end'.
- 2018‑01‑05:
Apple's notice aboit speculative execution vulnerabilities in ARM-based and Intel CPUs.
- 2018‑01‑05:
Announcing the OpenWrt/LEDE merge.
- 2018‑01‑05:
Xen Project Spectre/Meltdown FAQ.
- 2018‑01‑05:
How Wendy Carlos changed music forever.
- 2018‑01‑04:
The "retpoline" x86 mitigation technique for the Spectre branch target injection attack.
- 2018‑01‑04:
Notes from the Intelpocalypse.
- 2018‑01‑04:
What I learned in 2017 writing Golang.
- 2018‑01‑04:
Decrypting PgBouncer's diagnostic information.
- 2018‑01‑03:
Google Project Zero: Reading privileged memory with a side-channel. (Meltdown/Spectre)
- 2018‑01‑03:
Life as a New York Times reporter on the national security beat.
- 2018‑01‑03:
What does it mean for code to be "explicit"?
- 2018‑01‑03:
Making TRust-DNS faster than BIND9.
- 2018‑01‑03:
Initial benchmarks of the performance impact of page table isolation.
- 2018‑01‑03:
How the Å came to be.
- 2018‑01‑03:
Genetic study supports carbohydrate-insulin model of obesity.
- 2018‑01‑03:
We saw some really bad Intel CPU bugs in 2015, and we should expect to see more in the future.
- 2018‑01‑03:
PostgreSQL benchmarks showing performance regressions due to page table isolation.
- 2018‑01‑03:
The Golang type system for newcomers.
- 2018‑01‑02:
'Kernel memory leaking' Intel processor design flaw forces Linux and Windows redesign.
- 2018‑01‑02:
NeoPG: a cleaned-up fork of GnuPG 2.
- 2018‑01‑02:
Star Wars: Regency.
- 2018‑01‑02:
SQL keys in depth.
- 2018‑01‑02:
Negative result: reading kernel memory from user mode via speculative execution.
- 2018‑01‑02:
Water's odd behavior stems from its ability to exist in two liquid states.
- 2018‑01‑02:
Oumuamua pursued: the path of an interstellar asteroid.
- 2018‑01‑02:
The fat in a perfect croissant.
- 2018‑01‑02:
The death and life of the 13-month calendar.
- 2018‑01‑02:
Warnsdorff's rule for finding knight's tours.
- 2018‑01‑01:
Linux page table isolation is not needed on AMD processors.
- 2018‑01‑01:
Esperanto exits stealth mode, aiming at AI with a 4,096-core 7nm RISC-V monster.
- 2018‑01‑01:
How Hotmail changed Microsoft (and email) forever.
- 2018‑01‑01:
The story of the Gömböc.
- 2018‑01‑01:
The mysterious case of the Linux page table isolation patches.
- 2018‑01‑01:
In-place editing gets safer in perl 5.28.