Link log versions
• <https://dotat.at/:/>
• landing pages
• Atom feed
• Dreamwidth links
• LiveJournal links
My other activity
• Dreamwidth blog
• work blog
• Twitter
everything
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
<<
2015
>>
- 2015-12-31: Introducing Guesstimate, a spreadsheet for things that aren't certain.
- 2015-12-31: pgcli: a REPL for PostgreSQL.
- 2015-12-31: pgweb: web-based PostgreSQL database browser written in Golang.
- 2015-12-31: DBeaver: universal database manager.
- 2015-12-31: pgAdmin: PostgreSQL administration and management tools.
- 2015-12-31: SQL Tabs: rich Postgres console.
- 2015-12-30: The open source software developers who helped end the Ebola epidemic in Sierra Leone.
- 2015-12-30: Conceptual debt is worse than technical debt.
- 2015-12-30: The missing 11th of the month.
- 2015-12-29: Guide to awesome Mac OS X command line tools.
- 2015-12-29: Miami is flooding. (Not just Miami.)
- 2015-12-29: DLL hijacking just won't die.
- 2015-12-29: The Grammar of Graphics. (free edition)
- 2015-12-29: OLEOutlook: bypass executable email attachment checks.
- 2015-12-28: The Feynman lectures on physics, free online.
- 2015-12-27: Discussion of the 0th Edition Unix manual.
- 2015-12-27: Unix 0th edition manual / technical report.
- 2015-12-27: printbf: brainfuck translated to printf format strings.
- 2015-12-27: Raspberry Pi vs SPARCstation 20.
- 2015-12-25: The weirdest natural languages.
- 2015-12-25: Normalization of deviance.
- 2015-12-25: Debunking the periodic table showing incorrect "relative abundance" of elements on Earth.
- 2015-12-25: Direct left-recursive parsing expression grammars. (PEGs)
- 2015-12-25: Open letter to Mozilla: bring back Persona.
- 2015-12-25: VisUAL: an ARM emulator for teaching assembly language programming.
- 2015-12-24: A warm and sunny Christmas to all.
- 2015-12-24: The problem with Friendly C.
- 2015-12-23: Why spinlocks are bad on iOS and Mac OS X.
- 2015-12-23: Rayon: safe data parallelism in Rust.
- 2015-12-23: libsnark: succinct zero-knowledge proofs.
- 2015-12-23: A proposal for a secure stateless laptop.
- 2015-12-23: RK808 clock has 31 days in November.
- 2015-12-23: Andrea Rossi E-cat scam.
- 2015-12-23: Why do scientists dismiss the possibility of cold fusion?
- 2015-12-23: Subtleties of the C standard.
- 2015-12-23: The encryption/terrorism delusion.
- 2015-12-22: Quantum cryptography can be broken with ordinary light.
- 2015-12-22: African countries are planting a great green wall to beat back the Sahara desert.
- 2015-12-22: Background on the SpaceX Falcon 9 launch and landing.
- 2015-12-22: On the Juniper crypto backdoor.
- 2015-12-22: boringcc: a proposal for a C compiler without undefined behaviour.
- 2015-12-22: There should be a customary semantics of C.
- 2015-12-21: Two swans come and ask to be disentangled. (YouTube)
- 2015-12-21: Untethered lowRISC: getting closer to a free system-on-chip.
- 2015-12-21: What it's like to be Noam Chomsky's assistant.
- 2015-12-21: Safe native code in Midori (a Microsoft research operating system).
- 2015-12-21: RIPE DNSSEC algorithm roll-over.
- 2015-12-21: Juniper ScreenOS ssh backdoor.
- 2015-12-21: Deadly sins of project estimation.
- 2015-12-21: The Iraqi who saved Norway from oil.
- 2015-12-21: Waterstone's is thriving.
- 2015-12-20: Postgres BDR: bi-directional asynchronous multi-master replication.
- 2015-12-20: Emacs fireplace.
- 2015-12-20: Mac OS X system font patcher.
- 2015-12-20: The long, incredibly tortuous, and fascinating process of creating a Chinese font.
- 2015-12-20: Juniper: a government backdoor gone rogue?
- 2015-12-19: Xen XSA 155: hidden double fetches in C switch() cause vulnerabilities in virtual devices.
- 2015-12-18: Open source IP address management software.
- 2015-12-18: Varnish replaced by Nginx at the BBC.
- 2015-12-17: Verign's perspective on the recent root DNS server DDoS attacks.
- 2015-12-17: IETF mailing lists are a spam magnet.
- 2015-12-17: George Hotz made a self-driving car by himself.
- 2015-12-16: The call of the sad whelkfins: the continued relevance of How To Suppress Women's Writing.
- 2015-12-16: On the reception and detection of pseudo-profound bullshit.
- 2015-12-16: How they replaced GitHub's merge feature.
- 2015-12-16: Generating good syntax errors with bison using examples.
- 2015-12-15: A British astronaut FAQ.
- 2015-12-15: Draft Investigatory Powers bill factsheets.
- 2015-12-15: Secure private collaboration tools we need but do not have.
- 2015-12-15: Voight-Kampff empathy test 2015.
- 2015-12-15: Very fast reservoir sampling.
- 2015-12-14: Leslie Lamport on computer science and state machines.
- 2015-12-14: Dave Prosser's standard C preprocessing algorithm.
- 2015-12-14: In the 1700s books looked like smartphone screens.
- 2015-12-14: Gaffer: GCHQ's large-scale graph database optimised for retrieving data on nodes of interest.
- 2015-12-14: git appraise: distributed code review.
- 2015-12-14: Why I don't use my campus email address.
- 2015-12-14: Lego difference engine.
- 2015-12-14: Skrot: customizable compression for short strings.
- 2015-12-14: Root DNS server operators: diversity is the key.
- 2015-12-13: Top 10 DTrace scripts for Mac OS X.
- 2015-12-13: Filesystem reliability is hard.
- 2015-12-13: Cephalopod GIFs.
- 2015-12-13: Many outstanding interactive maps of 2015.
- 2015-12-13: TimeToAnywhere: travel time maps.
- 2015-12-12: A Zulu and Xhosa negotiation tactic brought the Paris climate-change summit to consensus.
- 2015-12-12: UK IPO says digital copies of public domain works are also public domain.
- 2015-12-12: Help! My sin() is slow and my FPU is inaccurate!
- 2015-12-12: earth: a global multi-projection map of wind, weather, and ocean conditions.
- 2015-12-11: A philosophy of science book reading list.
- 2015-12-11: Placebo effects are weak: regression to the mean is the main reason ineffective treatments appear to work.
- 2015-12-11: What got us into the SHA1 deprecation mess.
- 2015-12-11: Seymour Cray and the development of supercomputers.
- 2015-12-11: DNS censorship as seen by RIPE Atlas probes.
- 2015-12-11: Ada Lovelace 200!
- 2015-12-10: How to pronounce hexadecimal.
- 2015-12-10: First plasma in Wendelstein 7-X.
- 2015-12-10: OpenFastPath: user-space TCP/IP stack.
- 2015-12-09: Boxing clever: Crossrail at Paddington.
- 2015-12-09: Gender bias simulator.
- 2015-12-09: $1bn bullion shipwreck caught in three-way court battle.
- 2015-12-09: Theremin's bug: how the Soviet Union spied on the US Embassy for 7 years.
- 2015-12-08: The juggling font.
- 2015-12-08: ISC Kea DHCP server to be released under Mozilla Public Licence.
- 2015-12-08: How a buggy Hitler-obsessed Soviet AI nearly caused World War III in the 1980s.
- 2015-12-08: Root DNS server query floods on 2015-11-30 and 2015-12-01.
- 2015-12-08: The moral character of cryptographic work.
- 2015-12-08: Volunteers aid pioneering Edsac computer rebuild.
- 2015-12-08: Choosing an HTTP status code.
- 2015-12-06: Letsencrypt stats.
- 2015-12-06: The quantum source of space-time.
- 2015-12-05: England's immigrants 1330 - 1550.
- 2015-12-05: caddy: a simple web server with automatic letsencrypt TLS provisioning.
- 2015-12-05: acme-tiny: minimal letsencrypt client.
- 2015-12-05: Get HTTPS for free! Browser-based letsencrypt client.
- 2015-12-05: simp_le: simple letsencrypt client.
- 2015-12-04: The Turkey City lexicon of sf tropes.
- 2015-12-04: Access denied: disintermediation is changing journalism.
- 2015-12-04: Dooring alert systems.
- 2015-12-04: Fuzzing math: miscalculations in OpenSSL BN_mod_exp. (CVE-2015-3193)
- 2015-12-04: The oncoming train of enterprise container deployments.
- 2015-12-04: Visual gate-level simulation of the ARM1.
- 2015-12-04: Raspberry Pi A and Pi Zero USB OTG gadget mode - discussion and links to bug reports.
- 2015-12-03: Developing and benchmarking Python HDBSCAN against the reference implementation in Java.
- 2015-12-02: The CMU/FBI deanonymization attack on Tor.
- 2015-12-02: Economists tested 7 welfare programs to see if they made people lazy. They didn't.
- 2015-12-01: kcc: an executable formal semantics of C.
- 2015-12-01: The C standard formalized in Coq.
- 2015-12-01: Hammerspoon: script Mac OS X with Lua.
- 2015-12-01: Notmuch, just an email system.
- 2015-11-30: Chris Hadfield and Randall Munroe in conversation.
- 2015-11-30: Earth impact database.
- 2015-11-30: Contributor Covenant: a code of conduct for open source projects.
- 2015-11-30: Inclusiveness and hacker culture.
- 2015-11-28: FlexSC: flexible system call scheduling with exception-less system calls.
- 2015-11-28: A retrospective on Butler Lampson's 1999 views on what has worked in computer science.
- 2015-11-28: DRAM rowbuffer side channel attacks.
- 2015-11-28: Stalk anyone on Telegram.
- 2015-11-27: Jagubox A/UX software archive.
- 2015-11-27: Shoebill: a Macintosh II emulator that runs A/UX.
- 2015-11-27: How not to execute a trillion lines of PHP when launching the $5 Raspberry Pi Zero.
- 2015-11-27: Raspberry Pi USB driver probably broken in OTG device mode.
- 2015-11-27: Raspberry Pi Linux kernel forces USB OTG host mode.
- 2015-11-27: 40 Linux-friendly hacker SBCs. (December 2014)
- 2015-11-27: Haute circuits: Boldport shows off jewellery with custom PCBs.
- 2015-11-27: House of keys: industry-wide private key reuse endangers millions of devices worldwide.
- 2015-11-27: Raspberry Pi boot from USB.
- 2015-11-27: Fun and games with the Videocore IV quad processor units.
- 2015-11-27: vc4asm: macro assembler for Broadcom VideoCore IV.
- 2015-11-26: Testing the IPv4 evil bit.
- 2015-11-26: Magspoof: contactless magstripe emulator.
- 2015-11-26: Macbook charger teardown.
- 2015-11-24: What can a technologist do about climate change?
- 2015-11-24: Maxwell's equations: 150 years of light.
- 2015-11-24: What is HPKP for?
- 2015-11-23: On Proebsting's law: compilers double the performance of generated code every 18 years.
- 2015-11-23: Leapsecond announcements via DNS.
- 2015-11-22: The CA's role in fighting phishing and malware.
- 2015-11-20: Forget paleo, go mid-Victorian: it's the healthiest diet you've never heard of.
- 2015-11-19: Even the LastPass will be stolen.
- 2015-11-19: On APIs: Cars, not assembly lines.
- 2015-11-19: Engineers are much more likely to become fundamentalist terrorists.
- 2015-11-19: The earliest known abecedary.
- 2015-11-19: Trackography: who's tracking what you're reading online?
- 2015-11-18: Array layouts for comparison-based searching.
- 2015-11-18: Cache-friendly binary search.
- 2015-11-17: How C-Reduce uses unifdef to help pin down compiler bugs.
- 2015-11-17: Anne Frank foundation upsets Anne Frank museum by trying to prevent her diary entering the public domain.
- 2015-11-17: The advertising bubble.
- 2015-11-16: We need less powerful programming languages.
- 2015-11-16: nom 1.0 is here! A parser combinator library for Rust.
- 2015-11-16: More privacy, less latency: improved handshakes in TLS-1.3.
- 2015-11-16: English is weirdly different from other languages.
- 2015-11-13: The design philosophy of the DARPA Internet protocols.
- 2015-11-13: Innovative features of Hypothesis property-based testing.
- 2015-11-13: Introducing theft: property-based testing for C.
- 2015-11-13: Anecdotes vs property-based testing.
- 2015-11-13: A quasipolynomial-time algorithm for graph isomorphism.
- 2015-11-13: SoftEther VPN, with IP-over-ICMP and IP-over-DNS.
- 2015-11-13: Google Maps lite mode.
- 2015-11-12: How the western diet has damaged our gut microflora.
- 2015-11-12: Alarm design: From nuclear power to WebOps.
- 2015-11-12: A history of sugar - the food nobody needs, but everyone craves.
- 2015-11-12: SerializeKiller: scan a lot of servers for the Java deserialization vulnerability.
- 2015-11-12: Fossil fuel failures are driving the UK towards power blackouts.
- 2015-11-11: Malicious LuaJIT bytecode.
- 2015-11-11: eM Client: mail and calendaring software for Windows.
- 2015-11-10: Which language has the brightest potential as a replacement for C and why?
- 2015-11-10: A big result on graph isomorphism: reduced from exponential to quasipolynomial time.
- 2015-11-10: Investigatory powers bill: the juicy bits.
- 2015-11-10: Viral sheet music: the creative notation of John Stump and others.
- 2015-11-10: Window-TinyLFU cache replacement policy.
- 2015-11-09: Software configuration management and revision control security.
- 2015-11-09: PowerDNS security status polling.
- 2015-11-09: How computers broke science and how we can fix it.
- 2015-11-09: Embracing Conway's law.
- 2015-11-09: 3D-printed digital sundial.
- 2015-11-09: tz maps: a set of shapefiles for the Olson timezone database.
- 2015-11-09: iOS 9 security features from the hacker point of view.
- 2015-11-09: Translating gender: Ancillary Justice in five languages.
- 2015-11-08: 1729: Ramanujan surprises again.
- 2015-11-08: Obesogens.
- 2015-11-07: The triumph of the UK surveillance state.
- 2015-11-07: What do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and your application have in common? This vulnerability.
- 2015-11-07: Opaleye's sugar on top: SQL in the type system where it belongs. (Haskell)
- 2015-11-07: The best way to learn math is to learn how to fail productively.
- 2015-11-06: Password security: past, present, future.
- 2015-11-06: How could Volkswagen's top engineers not have known?
- 2015-11-06: First thoughts on the draft Investigatory Powers Bill.
- 2015-11-05: Smoothing data with Julia's @generated functions.
- 2015-11-05: Characterizing people as non-linear, first-order components in software development.
- 2015-11-04: A few billion lines of code later: Coverity uses static analysis to find bugs.
- 2015-11-04: Ireland to 'decriminalise' small amounts of drugs, including heroin, cocaine and cannabis, for personal use.
- 2015-11-04: Universal Basic Income as the Social Vaccine of the 21st Century.
- 2015-11-04: Cycling and the Dutch: an ever-growing love affair.
- 2015-11-04: Entire editorial staff of Elsevier journal Lingua resigns over its high price and lack of open access.
- 2015-11-04: The road to 2 million websocket connections in Phoenix.
- 2015-11-04: Helping students overcome command-line bullshittery.
- 2015-11-03: TLS in the wild: an Internet-wide analysis of TLS-based protocols for electronic communication.
- 2015-11-03: New ISPs getting off the ground without IPv4?
- 2015-11-03: Software is made of decisions.
- 2015-11-02: An architectural overview of QNX.
- 2015-11-02: Back to the futu-rr-e: deterministic debugging with rr.
- 2015-11-02: No need for black chambers: testing TLS in the e-mail ecosystem at large.
- 2015-11-02: Human computation: algorithmic upper bounds and complexity theoretic lower bounds for calculating in your head. (video)
- 2015-11-02: Structural and semantic deficiencies in the systemd architecture.
- 2015-11-01: Coffee reduces the risk of some cancers.
- 2015-11-01: The art of picking Intel registers.
- 2015-11-01: SF's Hugo Awards and the battle for pop culture's soul.
- 2015-10-31: Three quarters of cars stolen in France 'electronically hacked'.
- 2015-10-31: Clifford's device.
- 2015-10-31: Qflow: open source digital circuit synthesis tool suite.
- 2015-10-31: Project IceStorm open source FPGA synthesis.
- 2015-10-30: Understanding silicon circuits: inside the ubiquitous 741 op amp.
- 2015-10-30: You advocate a ________ approach to calendar reform...
- 2015-10-30: So you want to abolish time zones?
- 2015-10-29: PostgreSQL on the command line.
- 2015-10-29: Network link conditioner: simulate low bandwidth / high delay networks on Mac OS X.
- 2015-10-28: Google punishes Symantec for generating 2622 naughty test X.509 certificates.
- 2015-10-28: Wendelstein 7-X stellarator: €1 billion German fusion experiment.
- 2015-10-28: Evil maid attacks: leaving laptops in hotel rooms is a bad idea.
- 2015-10-28: letsencrypt-nosudo: python script to walk through the ACME protocol without root privilege.
- 2015-10-28: Britain is heading for another crash like 2008.
- 2015-10-28: Neither snow nor rain nor MITM... an empirical analysis of email delivery security.
- 2015-10-27: A short guide to Linux kernel debugging.
- 2015-10-27: Contractors fined for data centre electrocution death in London.
- 2015-10-27: Intel x86 considered harmful / untrustworthy.
- 2015-10-27: Berlin Fernsehturm Sonnenuhr.
- 2015-10-26: MAGIC: malicious aging in circuits/cores. Software acceleration of hardware failure.
- 2015-10-26: Using genetically optimized AIs to find gameplay flaws in strategy games.
- 2015-10-26: Escape from Mercator.
- 2015-10-26: Command-line control of the Mac OS X application layer firewall.
- 2015-10-26: vim insertion is quadratic.
- 2015-10-26: primesieve: fast prime number generator for numbers up to 2^64.
- 2015-10-26: How much can your computer do in a second?
- 2015-10-26: Benchmarking a 1986 Mac Plus vs a 2007 dual core PC.
- 2015-10-25: Swarm v. Fleet v. Kubernetes v. Mesos.
- 2015-10-25: zxcvbn: password strength estimator.
- 2015-10-22: MiNID: miniature programmable network interface device in an SFP sleeve.
- 2015-10-22: Graph of memory prices decreasing with time.
- 2015-10-21: Hell of a handshake: abusing TCP for reflective amplification DDoS attacks.
- 2015-10-20: hyperscan: high performance multiple regex matching library for deep packet inspection.
- 2015-10-20: Just a brown hand.
- 2015-10-20: Mythryl status update.
- 2015-10-20: Some notes on BoringSSL.
- 2015-10-20: GDM: git dependency manager.
- 2015-10-19: All your modem are belong to us. (Radio DSP in GNU Octave.)
- 2015-10-19: iOS apps caught using private APIs.
- 2015-10-18: Fixing the core memory in a vintage IBM 1401 mainframe.
- 2015-10-17: The magic resampling kernel.
- 2015-10-17: 66% of VPN's do not in fact have weak DH parameters.
- 2015-10-17: Mapping FinFisher's continuing proliferation.
- 2015-10-16: DavMail: proxy standard protocols to Exchange.
- 2015-10-16: What we know about spreadsheet errors.
- 2015-10-16: Atul Gawande on the checklist. (2007)
- 2015-10-16: Benchmarking CRC32 and PopCnt instructions.
- 2015-10-15: Advanced R.
- 2015-10-15: R vs Python head-to-head for data analysis.
- 2015-10-14: BeagleBoard X15 preview.
- 2015-10-14: dn42: a big VPN for learning BGP and other networking technology.
- 2015-10-14: NetApp wins $1.4M costs from patent troll Acacia.
- 2015-10-14: Discrepancies in new definition of the kilogram resolved at last.
- 2015-10-14: LIDAR map of England.
- 2015-10-13: Environment Agency LIDAR survey of England available as open data.
- 2015-10-13: Six myths of product (and software) development.
- 2015-10-13: Benchmarking radix tree / crit-bit trie / red-black tree / qp trie.
- 2015-10-13: Distribution of English letters towards the beginning, middle, and end of words.
- 2015-10-12: Internet-wide scan data repository.
- 2015-10-12: Majestic Million list of top web sites.
- 2015-10-12: Billionaires don't drive economic growth, and crony billionaires strangle it.
- 2015-10-11: Python, wat?!
- 2015-10-10: Bugzilla CVE-2015-4499: MySQL truncation allows email address spoofing.
- 2015-10-10: Britain's missing voters: effect of changes to electoral registration.
- 2015-10-10: Beware the builtins: bad bit-banging by gcc.
- 2015-10-09: Fuzzing Raft for fun and publication.
- 2015-10-09: Gene patents probably dead worldwide following Australian court decision.
- 2015-10-09: The Honeywell Heat Generator enhanced central heating systems with a pot of mercury.
- 2015-10-08: DP World London Gateway: Inside the megaport you didn't know existed.
- 2015-10-08: Everything you did not want to know about Unicode in Python 3.
- 2015-10-08: Parallelism, concurrency, and asynchrony in Perl 6.
- 2015-10-08: The shappening: freestart collisions for SHA-1.
- 2015-10-08: Why Intel added cache partitioning.
- 2015-10-07: Read-log-update: a lightweight synchronization mechanism for concurrent programming.
- 2015-10-06: James Bond illustrates Perl 6 macros.
- 2015-10-06: In defense of X.509 client certificates.
- 2015-10-06: UK IPv6 Council meeting September 2015.
- 2015-10-06: Handy tips on getting info about FTTC DSL out of BT.
- 2015-10-05: Deckard: a DNS software test harness.
- 2015-10-05: Has the routability of prefixes longer than /24 changed?
- 2015-10-05: Introduction to content-addressable memory.
- 2015-10-05: Tagged pointers in Rust.
- 2015-10-04: Watch uranium emit radiation.
- 2015-10-04: Bill Nye's solar noon clock at Cornell.
- 2015-10-04: A new map of the differences between standard time and mean solar time.
- 2015-10-04: Rust's type system is accidentally Turing complete.
- 2015-10-04: FRACTRAN.
- 2015-10-04: Surprisingly Turing complete.
- 2015-10-03: Matters Computational: bit twiddling hacks and other cunning algorithms.
- 2015-10-03: FLIF: free lossless image format.
- 2015-10-01: Knot DNS Recursive goes beta.
- 2015-09-30: Engineering effectiveness at Twitter: let 1000 flowers bloom, then rip 999 out by the roots.
- 2015-09-29: Particle.io: prototyping tools for the internet of things.
- 2015-09-29: Error Prone: Java static analyser.
- 2015-09-28: How different team topologies influence devops culture.
- 2015-09-28: Modernizing the BSD networking stack.
- 2015-09-27: Is there a CAP theorem for durability?
- 2015-09-27: Running Rust on the Rumprun unikernel.
- 2015-09-27: Lazy Redis is better Redis.
- 2015-09-26: The inside story behind MS08-067.
- 2015-09-25: Vannevar Bush: as we may think. (with annotations by Doug Engelbart)
- 2015-09-25: Ted Nelson: computer lib / dream machine.
- 2015-09-24: Ams-IX traffic passes 4Tbit/sec.
- 2015-09-24: A new universal caption for New Yorker cartoons.
- 2015-09-24: Amazon AWS DynamoDB service disruption postmortem.
- 2015-09-24: Uber uses customer phones as their primary data store.
- 2015-09-24: What really went wrong at Addenbrooke's hospital.
- 2015-09-24: Duktape: small embeddable JavaScript interpreter.
- 2015-09-23: nginScript: a JavaScript subset for scripting nginx.
- 2015-09-23: What shape is the internet? (according to diagrams in patents.)
- 2015-09-23: What happens next will amaze you: adtech vs adblock.
- 2015-09-23: ScyllaDB: fast C++ NoSQL column store database replacement for Apache Cassandra.
- 2015-09-22: Counting objects efficiently in Git.
- 2015-09-22: Using GitHub in Education.
- 2015-09-22: Brotli: a new compression algorithm.
- 2015-09-22: Second-hand IPv4 addresses reaping big bucks.
- 2015-09-22: The VW Turbo Diesel Injection scandal.
- 2015-09-22: Pigfucking and paedophilia: how power is whipped into control by the British elite.
- 2015-09-22: A function decorator to add goto support to Python.
- 2015-09-22: Optimizing allocation memory bandwidth in the Azul Vega CPU.
- 2015-09-22: A critique of the CAP theorem.
- 2015-09-21: Inside Shoreditch's disused Tube trains.
- 2015-09-21: Very long-term backup: a modern Rosetta Stone.
- 2015-09-21: cmix: highest lossless compression ratio with very large CPU and memory requirements.
- 2015-09-20: C++ core guidelines.
- 2015-09-20: Subresource integrity: protection against compromised CDNs.
- 2015-09-20: The world's human-powered speed record is now 86.5 mph.
- 2015-09-20: Freezing requirements for fish intended to be eaten raw or lightly cooked.
- 2015-09-19: Winds of change at Dyson.
- 2015-09-19: Transport for London geographical train and tube map.
- 2015-09-19: Statistics for programmers.
- 2015-09-19: Bare-metal Rust on an ARM microcontroller.
- 2015-09-19: Time on multi-core, multi-socket servers.
- 2015-09-19: Microsoft Azure Cloud Switch based on Linux.
- 2015-09-18: Ten years of DNSSEC at .se!
- 2015-09-18: Some old lists of root DNS servers.
- 2015-09-17: WarGames: a look back.
- 2015-09-17: "Hackers" at 20.
- 2015-09-16: How to write a git commit message.
- 2015-09-16: The C++ FQA is now on GitHub.
- 2015-09-16: gdb curses text user interface.
- 2015-09-16: gdb dashboard in Python.
- 2015-09-16: Envelope: write web applications with just JS, HTML, and SQL on Postgres.
- 2015-09-16: Windows Server 2012 R2 DNS logging and diagnostics.
- 2015-09-16: Concurrency Kit: concurrency primitives and non-blocking data structures in C.
- 2015-09-15: The asshole filter.
- 2015-09-15: Spotify account hijacking via incomplete Unicode canonicalization.
- 2015-09-15: Dark corners of Unicode.
- 2015-09-15: How to squeeze a lexicon: efficiently create a minimal DFA from a finite language.
- 2015-09-15: Army of lame ducks: is copyright irrelevant in the viral age?
- 2015-09-14: Sharp regrets: top 10 worst C# features mostly inherited from C.
- 2015-09-14: Don't teach a man to fish. Just give him the goddamn fish.
- 2015-09-14: Designing your website to work best with 1Password.
- 2015-09-14: Reddit discussion of YouTube connectivity and performance.
- 2015-09-13: On the wrong-headed advice of Strunk & White.
- 2015-09-13: A Disney artist's deceptive VR demo still heralds a new digital art future.
- 2015-09-13: Getting rid of women's periods with contraception is perfectly safe.
- 2015-09-13: Object oriented programming considered harmful.
- 2015-09-12: Best night club scene ever! (Youtube mashup)
- 2015-09-12: An information age glossary.
- 2015-09-11: OpenOffice is insecure abandon ware; use LibreOffice instead.
- 2015-09-11: voicecode: advanced voice control for use with Dragon Dictate.
- 2015-09-11: How SoundCloud ended up with microservices.
- 2015-09-11: How the net was won: MERIT, NSFNET, and the birth of the Internet.
- 2015-09-11: From random polygon to ellipse.
- 2015-09-11: K&R C.
- 2015-09-11: Labour day: why taxes, unions, and quotas are good.
- 2015-09-10: Homo Naledi: 6 cavers, 15 skeletons, and an amazing new species of ancient Human.
- 2015-09-09: Steve Albini's punk rock approach to business.
- 2015-09-09: Moore's law ended in 2005.
- 2015-09-09: CESG blog article on passwords.
- 2015-09-09: CESG/CPNI password system design guidelines.
- 2015-09-08: Flame Warriors: a guide to the Internet's argumentative inhabitants.
- 2015-09-08: The True Size: drag countries around a map to see how bad the Mercator projection is.
- 2015-09-08: Social Decay: tweets can predict the death of an app.
- 2015-09-08: 6 problems with caches.
- 2015-09-07: Munich contributes to open source to support their Linux workstations.
- 2015-09-07: The scalable commutativity rule: designing APIs that do not hinder software performance.
- 2015-09-07: Some ethernet cables can accidentally cause a hard reset on a 48 port Cisco Catalyst 3650 or 3850.
- 2015-09-06: DataHand keyboard.
- 2015-09-06: Type is not in Type, demonstrated using JonPRL.
- 2015-09-06: Circular rainbow.
- 2015-09-05: The mystery of the fifteen-millisecond breakpoint instruction.
- 2015-09-05: Software: Immaculate, fetid and grimy.
- 2015-09-05: redhook: write LD_PRELOAD hacks in Rust.
- 2015-09-05: The History of Cartography available free online.
- 2015-09-05: A bibliography of BSD-related books and papers.
- 2015-09-05: Madoko: markdown + LaTeX.
- 2015-09-04: Eleanor Rigby.
- 2015-09-04: McSweeney's interactive guide to ambiguous grammar.
- 2015-09-04: How to write a great error message.
- 2015-09-03: Stateless zlib compression: when full fat zlib is too big.
- 2015-09-03: Salad is bad.
- 2015-09-03: World airports voronoi.
- 2015-09-03: The Murray Gell-Mann amnesia effect.
- 2015-09-03: Factoring RSA keys by attacking TLS forward secrecy.
- 2015-09-02: A png with the most pixels in the fewest bytes.
- 2015-09-02: C on the JVM for JRuby extensions.
- 2015-09-02: GitHub: Scaling on Ruby, with a nomadic tech team.
- 2015-09-02: Cydia app store for jailbroken iPhones is riven with nasty malware.
- 2015-09-02: Exploiting Ripple transaction ordering for fun and profit.
- 2015-09-01: The Cavendish lab, Britain's most important historic laboratory, to be redeveloped.
- 2015-09-01: Mac OS X Yosemite security and privacy guide.
- 2015-09-01: wmutils: command line X11 window manager.
- 2015-09-01: Samsung Pay's magstripe NFC.
- 2015-08-31: Tufte in R.
- 2015-08-31: Save OS X: binary pkgsrc distribution.
- 2015-08-31: Useful Mac OS X commands.
- 2015-08-30: Algorithmic botany.
- 2015-08-30: How the ballpoint pen changed handwriting.
- 2015-08-30: Charlesproxy: web debugging proxy.
- 2015-08-29: How recursion got into programming: a comedy of errors.
- 2015-08-29: Lock-freedom without garbage collection in Rust.
- 2015-08-28: Taking Apple's NAT64 implementation for a spin.
- 2015-08-28: A tale of three failed backdoors.
- 2015-08-28: Dr. Memory: memory debugger for Windows and Linux.
- 2015-08-28: Fuzzing capstone using AFL persistent mode.
- 2015-08-28: Omega and why maths has no TOEs.
- 2015-08-27: watchman: multi-platform file change notifications.
- 2015-08-26: Cutting 200ms off every POST request: Nagle vs delayed ack vs short writes.
- 2015-08-26: Jiscom: commercial access to JANET.
- 2015-08-25: vim on a mechanical typewriter.
- 2015-08-25: Behind four walls: Barcelona's lost utopia.
- 2015-08-25: The bugs we have to kill: parsers, weird machines, verification and types.
- 2015-08-24: The network is Turing complete: emulating Rule 110 on a statically configured network.
- 2015-08-24: What's new in CPUs since the 1980s, and how does it affect programmers?
- 2015-08-23: Remora compiler.
- 2015-08-23: Remora: an array-oriented language with static rank polymorphism.
- 2015-08-23: A collection of debugging stories.
- 2015-08-22: How to port-scan all of IPv4 every day.
- 2015-08-22: Jitsu: just-in-time summoning of unikernels in response to DNS queries.
- 2015-08-22: Cake anti-bufferbloat queue discipline for Linux.
- 2015-08-21: An analysis of TLS handshake proxying, aka CloudFlare Keyless SSL.
- 2015-08-21: Automatic patch-based exploit generation.
- 2015-08-20: FreeBSD's security features make hacking the PlayStation 4 difficult.
- 2015-08-20: Schiphol baggage handling video.
- 2015-08-20: Kubernetes reserves 10.0.0.0/8 for itself.
- 2015-08-20: pmem.io: persistent memory programming on Linux.
- 2015-08-19: Technical details of the Amazon Dash Button.
- 2015-08-18: The Turing digital archive.
- 2015-08-18: Actively measuring 50% of the DNS namespace every day.
- 2015-08-18: On the meaning of "respect".
- 2015-08-18: Cecilia Payne determined the composition of the sun, and that hydrogen is the most abundant element.
- 2015-08-18: "Why I don't talk about race with white people."
- 2015-08-18: Decertifying the worst voting machine in the US.
- 2015-08-18: How to hack Amazon's $5 WiFi button to track baby data.
- 2015-08-18: Baby names in England and Wales since 1996.
- 2015-08-18: The strange death of Labour Britain has a Liberal precedent.
- 2015-08-18: The dustbin of geography: the WGS84 meridian at Greenwich.
- 2015-08-18: Use VLC to fix movies that are really quiet, then REALLY LOUD.
- 2015-08-18: RPC portmapper is the new UDP DDoS reflection amplifier.
- 2015-08-17: SQLBong: apply sqlite to CSV files.
- 2015-08-17: csvkit: utilities for converting to and working with CSV.
- 2015-08-17: q: SQL for CVS/TSV files.
- 2015-08-17: xsv: index, slice, analyze, split, and join CSV files.
- 2015-08-17: Miller: like sed, awk, cut, join, and sort for name-indexed data such as CSV.
- 2015-08-16: PEP 0383: Python's UTF-8B handling of binary in filenames etc.
- 2015-08-16: libutf8b: UTF-8B codecs for C and Python.
- 2015-08-16: UTF-8B: lossless handling of binary data by unicode readers and writers.
- 2015-08-16: Rust in 2016.
- 2015-08-14: GSMem: transmitting from a computer memory bus over GSM frequencies.
- 2015-08-14: Hypothesis: QuickCheck for Python.
- 2015-08-13: Why the Greenwich meridian moved.
- 2015-08-13: Making Travis CI a family-friendly place to work: parental leave for US employees.
- 2015-08-12: Insider trading on every company by hacking the news wire press release services.
- 2015-08-12: Security compromise at OpenSRS.
- 2015-08-12: Copyright lawsuits against breakbeat percussion loops.
- 2015-08-12: How to register a death without anyone dying, or register a birth without a baby.
- 2015-08-12: Frequent spicy meals linked to human longevity.
- 2015-08-12: Attack on the pentagon reveals new way to tile the plane.
- 2015-08-12: Google reveals details about its data centre networks.
- 2015-08-12: Jupiter Rising: A decade of Clos topologies and centralized control in Google's datacenter network.
- 2015-08-11: Reordering git commits with git-commit-tree.
- 2015-08-11: A brief history of time.
- 2015-08-11: XMPP myths.
- 2015-08-11: Big list of naughty strings for testing user input.
- 2015-08-11: SecLists: lists of input strings for application security testing.
- 2015-08-11: Database versioning best practices.
- 2015-08-10: A collection of outage postmortems.
- 2015-08-10: Belgian government friently phishing test goes offtrack.
- 2015-08-09: Zone Vision: inspect DNS zones like a superhero.
- 2015-08-08: Bringhurst's elements of typographic style applied to the web.
- 2015-08-08: Recommendations for typography on the web.
- 2015-08-08: Netflix streaming performance test video.
- 2015-08-07: Tufte CSS.
- 2015-08-07: Emacs multi-term.
- 2015-08-07: Emacs is my X11 window manager.
- 2015-08-07: exwm: turn Emacs into a tiling X11 window manager.
- 2015-08-06: Principles of traditional animation applied to 3D computer animation. (Pixar, 1987)
- 2015-08-05: How to set up and use a private PyPI repo.
- 2015-08-05: Python Wheels.
- 2015-08-05: Python on wheels.
- 2015-08-05: The paranoid style in American politics. (1964)
- 2015-08-05: A journalist crashed a Wall Street secret society.
- 2015-08-05: PostgreSQL when it's not your job.
- 2015-08-05: Use the index, Luke! A guide to database performance for developers.
- 2015-08-04: Comparison of different SQL implementations.
- 2015-08-04: libFirm: an optimising C compiler.
- 2015-08-03: LLVM for grad students.
- 2015-08-03: Duncan Campbell's life unmasking GCHQ.
- 2015-08-03: GitXiv: collaborative open computer science. arXiv+GitHub+links+discussion.
- 2015-08-02: How to a destroy a library's special collections with social media.
- 2015-08-02: Using Kotlin on Android.
- 2015-08-02: Talking To Vula: secret communications in the struggle against apartheid.
- 2015-08-02: Security economics: The market for silver bullets.
- 2015-08-02: dns-fuzzing: unique DNS packets for seeding AFL.
- 2015-08-02: High school student proves professor was wrong to deny existence of anti-Irish racism.
- 2015-08-02: Microsoft's new small print: how your personal data is (ab)used.
- 2015-08-02: 96 MacBook Pro's in one rack.
- 2015-08-02: How to fuzz a DNS server with AFL.
- 2015-08-02: Crack Brink's CompuSafe with a keyboard masher to escape Windows XP kiosk mode.
- 2015-08-02: Meshtag: drawable QR codes.
- 2015-08-02: Filmmakers fighting "Happy Birthday" copyright find their smoking gun.
- 2015-08-02: SWITCH.ch RPZ DNS Firewall.
- 2015-08-02: In praise of the AK-47.
- 2015-08-02: The stamp collector: a parable about objectivism.
- 2015-08-02: Vegetable calligraphy. (YouTube)
- 2015-08-02: GUNMAN: how the Soviets bugged typewriters in U.S. embassies.
- 2015-08-02: Rowhammer.js: software-induced hardware fault attack in JavaScript.
- 2015-08-02: Hacking Team: a zero-day market case study.
- 2015-08-02: A discussion about modern JavaScript tooling.
- 2015-08-02: Meet the master of old-school IBM model M refurbished clicky keyboards.
- 2015-08-02: JerryScript: JavaScript engine for microcontrollers.
- 2015-08-02: Websites, please stop blocking password managers!
- 2015-08-02: Detecting VPN and proxy users on the server.
- 2015-08-02: Receiving weather satellite images with an £8 SDR dongle.
- 2015-08-02: sregex: a non-backtracking regex engine.
- 2015-08-02: vsftpd-3.0.3 and the horrors of FTP over SSL.
- 2015-08-02: libmill: golang concurrency for C.
- 2015-08-02: HTTPS/FTPS protocol confusion leads to XSS.
- 2015-08-02: Plasma: KDE-based software for mobile phones.
- 2015-08-02: Why Kotlin is a good alternative to Java.
- 2015-08-02: The essence of FRP.
- 2015-08-02: pgcli: a command-line interface for Postgres with autocompletion and syntax highlighting.
- 2015-08-02: Why is it so hard to get a great bagel in California?
- 2015-08-02: Augustine and the "mathematicians".
- 2015-08-02: bocker: Docker implemented in 100 lines of bash.
- 2015-08-02: Engine placement in jet aircraft.
- 2015-08-02: Drawing the Mandelbrot set in SQL and other languages.
- 2015-08-02: Thoughts arising from CircleCI's July 2015 outage.
- 2015-08-02: Mac OS X 10.10 DYLD_PRINT_TO_FILE local privilege escalation vulnerability.
- 2015-08-02: Vim cheat-sheet.
- 2015-08-02: Web design: the first 100 years.
- 2015-08-02: Petition for a referendum on electoral reform like the one in New Zealand.
- 2015-08-02: Recovering a bricked Netgear DGN3500 via JTAG.
- 2015-08-02: Argon2 is the winner of the password hashing competition.
- 2015-08-02: EnChroma: colour for the colourblind.
- 2015-08-02: The end of capitalism has begun.
- 2015-08-02: Jay Leno's Doble E-20 steam car. (YouTube)
- 2015-08-02: Condensers and boilers for steam-powered cars.
- 2015-08-02: The New York Times bestseller that didn't exist.
- 2015-08-02: The last great steam car.
- 2015-08-02: Why are we so afraid of radiation?
- 2015-08-02: Custom daisy-chained SATA power cables.
- 2015-08-02: Bad male gamers are more likely to be hostile towards female gamers.
- 2015-08-02: A mathematical glossary.
- 2015-08-02: Firehose: handle 40Mpps on one core.
- 2015-08-02: UK report details what happens when police spying goes wrong.
- 2015-08-02: Cycling in Britain is a joke.
- 2015-08-02: How do types affect programming productivity and correctness?
- 2015-08-02: Kafkapocalypse: a cascade failure postmortem.
- 2015-08-02: The OpenZFS write throttle.
- 2015-08-02: Hack your Mazda 3 infotainment system.
- 2015-08-02: The potato paradox and other food-related maths.
- 2015-08-02: High Court rules UK government surveillance is unlawful.
- 2015-08-02: The not-planets.
- 2015-08-02: Intelligence and criminal behavior in a total birth cohort.
- 2015-08-02: From zero to Docker: how NewRelic migrated an existing service.
- 2015-08-02: "I ate 40 teaspoons of sugar a day. This is what happened."
- 2015-07-30: Why Docker is not yet succeeding widely in production.
- 2015-07-28: Metal CAPTCHA: are you a metalhead or a bot?
- 2015-07-28: Depict: a browser add-on that helps the visually-impaired understand images on the web.
- 2015-07-27: SleepWatcher: run a command when your Mac sleeps or wakes.
- 2015-07-20: Initial report on loss of connectivity to Cambridge University due to flooding.
- 2015-07-19: Golang 1.5 garbage collector.
- 2015-07-19: Why you don't need two-factor authentication.
- 2015-07-15: Cookie decryption attack on RC4 now takes less than three days.
- 2015-07-15: Ordnance Survey Code-Point Open: location of every postcode.
- 2015-07-15: Outlier detection at Netflix.
- 2015-07-15: Identify trees by leaf.
- 2015-07-13: Things your language should steal from Perl.
- 2015-07-12: 3D maps of every London Underground station.
- 2015-07-11: Doing something about the "impossible problem" of abuse in online games.
- 2015-07-08: The early history of Smalltalk.
- 2015-07-07: DNS resolver DDOS mitigation.
- 2015-07-06: Hermann Zapf obituary.
- 2015-07-06: Leap second at NICT in Japan, 2015. (YouTube)
- 2015-07-06: Leap second at NICT in Japan, 2012. (YouTube)
- 2015-07-03: Misfeatures Rust does not have.
- 2015-07-02: Graffiti: pressure wash or paint red?
- 2015-07-01: RedMonk rpogramming language rankings June 2015.
- 2015-07-01: Tetris as a C++ template metaprogram.
- 2015-07-01: NTP pool accuracy before and after leap second. 10% failed to leap.
- 2015-07-01: Shit Academics Say: the story behind a social media experiment.
- 2015-07-01: Numeronyms.
- 2015-07-01: Ordnance Survey open data.
- 2015-07-01: NIST draft guide for DNS-based secured email.
- 2015-06-30: f5 BIG-IP reboots when it gets an NTP leap second indication.
- 2015-06-30: s2n: a small C99 implementation of TLS from Amazon.
- 2015-06-30: Blocking-resistant https with domain fronting.
- 2015-06-30: HTML_CodeSniffer: web page coding standard checker in JavaScript.
- 2015-06-30: tota11y: accessibility visualization for websites.
- 2015-06-30: There was a time before Mathematica…
- 2015-06-29: US government best practices for the leap second tomorrow.
- 2015-06-28: John Locke against freedom.
- 2015-06-28: Covariance and Contravariance: a fresh look at an old issue, with examples in Perl 6.
- 2015-06-28: Blind return-oriented programming.
- 2015-06-28: Sigreturn-oriented programming.
- 2015-06-28: Return-oriented programming.
- 2015-06-28: SafeStack documentation for LLVM / clang.
- 2015-06-28: Code pointer integrity. (SafeStack for LLVM)
- 2015-06-27: Graphs in Rust using vector indices.
- 2015-06-27: Graphs and arena allocation in Rust.
- 2015-06-27: The Unsafe Rust Programming Language.
- 2015-06-26: Visualizing git concepts with D3.
- 2015-06-26: Time in Erlang.
- 2015-06-25: What is C in practice? Survey conclusions.
- 2015-06-25: M-Lab: a better measurement tool provides more data on Internet peering congestion.
- 2015-06-24: Adobe Type Manager PostScript Charstring security vulnerabilities.
- 2015-06-24: Angular commit message style.
- 2015-06-24: Ditch verbal mike-based Q&A sessions and use written questions instead.
- 2015-06-24: An algorithmic approach to data center cabling.
- 2015-06-24: NAPALM: network automation and programmability abstraction layer with multivendor support. (Ansible support for routers.)
- 2015-06-23: Did Watson and Crick really steal Rosalind Franklin's data?
- 2015-06-23: A monadic Pratt parser.
- 2015-06-22: Empty symlinks and full POSIX compliance.
- 2015-06-22: Mega-processor: an 8-bit computer made from discrete transistors and LEDs.
- 2015-06-21: codeface: typefaces for source code beautification.
- 2015-06-21: Stealing keys from PCs using a radio: cheap electromagnetic attacks on windowed exponentiation.
- 2015-06-21: Folly Futures for C++11 at Facebook.
- 2015-06-20: LF Examiner: large format film projection.
- 2015-06-19: Introduction to WebKit content blockers.
- 2015-06-19: Quantitative analysis of issues found by afl in mandoc.
- 2015-06-19: crt.sh: certificate transparency log searcher.
- 2015-06-19: IPv6 leakage and DNS hijacking in commercial VPN clients.
- 2015-06-19: New policy on browser autocomplete vulnerabilities.
- 2015-06-19: Major roads of Great Britain.
- 2015-06-19: Whitaker's WORDS on GitHub.
- 2015-06-19: Whitaker's WORDS: a Latin-English dictionary program.
- 2015-06-17: WebAssembly FAQ.
- 2015-06-17: From asm.js to WebAssembly: bytecode for browsers.
- 2015-06-17: When Solid State Drives are not that solid: TRIM bugs.
- 2015-06-15: CppMem: an interactive C/C++ memory model explorer.
- 2015-06-15: System integrity protection in Mac OS X.
- 2015-06-15: HTTP/2 implementation status.
- 2015-06-15: Why I dislike systemd.
- 2015-06-15: The Chaos: Gerard Nolst Trenité on English pronunciation.
- 2015-06-15: Transparent and accountable governance in 10 words.
- 2015-06-14: Global cybercrime has infected the very soul of capitalism.
- 2015-06-14: Japan's biggest optical disc manufacturer will stop production this year.
- 2015-06-13: Wifibroadcast: analog-like transmission of live video data.
- 2015-06-13: Why did the Universe start off with Hydrogen, Helium, and not much else?
- 2015-06-11: Every noise at once.
- 2015-06-11: Mythic Beasts' view of IPv6 growth.
- 2015-06-10: Kaspersky finds new nation-state attack malware in its own network.
- 2015-06-10: Akamai's view of IPv6 growth.
- 2015-06-10: A tale of two file names: FAT 8.3 long name mangling.
- 2015-06-10: xhyve: lightweight virtualization on OS X based on bhyve.
- 2015-06-10: The danger of anti-virus vendors still relying on MD5.
- 2015-06-10: A sundial for the blind.
- 2015-06-08: Rogue IPv6 addresses with 4006 prefix in home network.
- 2015-06-08: Chemical dependency is not the main cause of addiction.
- 2015-06-08: Crash course on notation in programming language theory.
- 2015-06-08: The Batteriser examined.
- 2015-06-08: Philadelphia train crash investigation derailed by muddled time zones.
- 2015-06-07: How Plex is doing HTTPS for all its users.
- 2015-06-07: Speaker style bingo: 10 presentation anti-patterns.
- 2015-06-07: A large-scale study of flash storage failures at Facebook.
- 2015-06-06: The end of HTML.
- 2015-06-06: Some notes on HAProxy.
- 2015-06-06: Three months of Rust.
- 2015-06-04: SSDs: A gift and a curse.
- 2015-06-04: A world of languages, and how many speak them.
- 2015-06-03: Which Unicode character should represent the English apostrophe? (And why the Unicode committee is very wrong.)
- 2015-06-03: 60th anniversary of the atomic clock.
- 2015-06-03: Batch-GCDing Github SSH keys.
- 2015-06-03: Auditing GitHub users' SSH key quality.
- 2015-06-02: Joule thief.
- 2015-06-02: Batteriser is a $2.50 gadget that extends alkaline battery life 800%
- 2015-06-02: Five different ways to handle the leap second with NTP.
- 2015-06-02: The intuition behind why a randomly networked data center works.
- 2015-06-02: How Rust achieves thread safety.
- 2015-06-01: Exploring 1Password's crypto in golang.
- 2015-06-01: Running an oncall rota.
- 2015-05-30: "Mahna Mahna": How a ditty from a soft-core Italian movie became the Muppets' catchiest tune.
- 2015-05-30: Animography: animated typefaces.
- 2015-05-30: How not to seed a random number generator: Blockchain.info's Android Wallet.
- 2015-05-30: A guide to the regional ramen of Japan.
- 2015-05-30: databranches: using git as a database.
- 2015-05-30: swift: a multiparty transport protocol - BitTorrent at the transport layer.
- 2015-05-30: Announcing GitTorrent: a decentralized git service.
- 2015-05-29: Spy in the sandbox: practical cache sidechannel attacks in Javascript.
- 2015-05-29: The Kindle finally gets typography that doesn't suck.
- 2015-05-29: VAT rules for food. (much bogglement)
- 2015-05-29: Null Island.
- 2015-05-29: The Republic of Null Island.
- 2015-05-29: After FBI domain expires, seized domains serve up malware.
- 2015-05-28: KUNG FURY (YouTube)
- 2015-05-28: What I learned from six months of GMO research: None of it matters.
- 2015-05-28: Railway oriented programming, or, error handling with the Either monad.
- 2015-05-28: Rust for Python programmers.
- 2015-05-28: Inside Google's war against ad fraud.
- 2015-05-28: lsyncd: live filesystem sync / mirror daemon.
- 2015-05-27: How to fool journalists into saying chocolate helps weight loss.
- 2015-05-27: Five lists of six things about Rust.
- 2015-05-26: Elements of scale: composing and scaling data platforms.
- 2015-05-25: CAP: if all you have is a timeout, everything looks like a partition.
- 2015-05-25: A plea for culinary modernism.
- 2015-05-25: Saving coffee from extinction due to global warming.
- 2015-05-25: Australia's Defence Trade Control Act could criminalise teaching cryptography.
- 2015-05-25: There is no link between saturated fat and heart disease.
- 2015-05-25: Top-down operator precedence. (remastered)
- 2015-05-25: La famille TGV, guide d'identification.
- 2015-05-25: Letter to a young Haskell enthusiast.
- 2015-05-25: Capstone: the ultimate disassembly framework.
- 2015-05-25: Snowman: ARM/x86/AMD64 to C/C++ decompiler.
- 2015-05-25: Python 3 typecheck-decorator.
- 2015-05-25: The medieval 'New England': an Anglo-Saxon colony on the north-eastern Black Sea coast.
- 2015-05-25: Typography shapes our perception of truth.
- 2015-05-24: Extracting audio from pictures.
- 2015-05-24: Mach7: pattern matching for C++.
- 2015-05-24: Duncan Campbell talks to GCHQ (interception not required).
- 2015-05-23: What IBM Watson AI chef told me to cook.
- 2015-05-23: Greaseless autonomous decentralised bearings eliminate sliding friction.
- 2015-05-22: Australian stock exchange leap second plans.
- 2015-05-21: Public Toilets and the magic of open data.
- 2015-05-21: Cambridgeshire traffic congestion monitoring interactive map.
- 2015-05-20: Free open source code signing certificates.
- 2015-05-19: Ceilings of Deus Ex.
- 2015-05-19: How a frame is rendered in Deus Ex: Human Revolution.
- 2015-05-19: Amazon implements linear leap smear for AWS (except EC2) for the coming leap second.
- 2015-05-19: About the supposed factoring of a 4096 bit RSA PGP key.
- 2015-05-19: Linux signalfd is useless.
- 2015-05-18: SCIpher: a scholarly message encoder based on SCIgen.
- 2015-05-17: Julia issue #8839: Jeff Bezanson's PhD thesis: abstraction in technical computing.
- 2015-05-16: Sourdough crumpets.
- 2015-05-16: A taste of Rust.
- 2015-05-16: eBPF: programmable tracing for Linux.
- 2015-05-15: Poor man's stack trace profiler.
- 2015-05-15: Amazon AWS tips.
- 2015-05-15: This British bill of rights could end the UK.
- 2015-05-14: Linux futex_wait() lockup bug.
- 2015-05-14: Geoff Huston's review of the DNS-OARC workshop.
- 2015-05-14: India's experiment in basic income grants.
- 2015-05-13: BIND 9 internals documentation.
- 2015-05-12: Accidentally Quadratic: `puppet apply`.
- 2015-05-12: The tree of old-world language families.
- 2015-05-12: “Politics of fear” to blame for Lib Dem collapse, says former Cambridge MP Julian Huppert.
- 2015-05-12: Six ways Nick Clegg led the Liberal Democrats to disaster.
- 2015-05-11: Detecting Malware Based on DNS Graph Mining.
- 2015-05-11: Tory plan to repeal the Human Rights Act faces almost insurmountable odds.
- 2015-05-11: PowerDNS review of the DNS-OARC Spring Workshop 2015.
- 2015-05-11: The first microprocessor: the F15 central air data computer.
- 2015-05-11: Texas Instruments TMX 1795: an 8008 clone produced before the Intel 8008.
- 2015-05-10: Lego brick street view.
- 2015-05-10: Thoughts on the way forward for the Lib Dems.
- 2015-05-10: The 14 worst human rights myths.
- 2015-05-10: Paris plans to line the Seine with parks instead of cars.
- 2015-05-10: All about this in JavaScript.
- 2015-05-10: Scroll Back: theory and practice of camera focus in side-scrolling games.
- 2015-05-10: How to solve chronic homelessness.
- 2015-05-09: Scale errors in funding public benefit activities.
- 2015-05-09: How the measles vaccine reduces mortality from other infectious diseases.
- 2015-05-08: opmsg: an alternative to pgp.
- 2015-05-08: The discovery of Apache ZooKeeper's poison packet.
- 2015-05-07: The Whig party.
- 2015-05-06: Centimetre-accurate GPS for mobile phones.
- 2015-05-06: DHCP, RPF verify, HSRP and ECMP: when protocols collide.
- 2015-05-05: How Amsterdam became the bicycle capital of the world.
- 2015-05-04: Parental choice led to decline in standard of Swedish education.
- 2015-05-04: Animal fat mayonnaise.
- 2015-05-03: Corpus of Historical American English (400 million words).
- 2015-05-03: The search for a more perfect kilogram.
- 2015-05-03: What would happen if the EU opened its borders to everyone?
- 2015-05-02: Project MF: blue-box phreaking with an Asterisk PBX.
- 2015-05-01: Wallpapered: maps for walls.
- 2015-05-01: Reprojected raster map tiles.
- 2015-05-01: GDAL: geospatial data abstraction library.
- 2015-05-01: Cartographic map projections.
- 2015-05-01: Natural Earth: public domain map data.
- 2015-05-01: Printing a wall-sized world map.
- 2015-05-01: Functional education: strengths and weaknesses of various Haskell teaching materials.
- 2015-04-30: David P. Reed on the invention of UDP.
- 2015-04-30: Can your static type system handle linear algebra?
- 2015-04-29: Static checking of units in Servo using Rust phantom types.
- 2015-04-29: Measurements of Newton's gravitational constant and the length of day.
- 2015-04-29: Eight lessons learned hacking on GitHub Pages for six months.
- 2015-04-29: Bye bye Labour.
- 2015-04-29: The austerity delusion: The case for cuts was a lie. Why does Britain still believe it?
- 2015-04-28: How well do you know Cambridge? A population statistics quiz.
- 2015-04-28: Bad forensic "science".
- 2015-04-28: Reenix: implementing a toy Unix in Rust.
- 2015-04-28: ShellCheck script analyzer.
- 2015-04-28: Crash Boys: the weird flash crash case against Navinder Singh Sarao.
- 2015-04-27: Teenager cuts nearly a third of a second off Rubik's Cube world record.
- 2015-04-27: What it is like to have half a million followers on Twitter.
- 2015-04-27: MySQL gotchas.
- 2015-04-26: Non-constant constant-expressions in C++.
- 2015-04-26: rust-bindgen: automatic API converter for Rust.
- 2015-04-26: Rust once, run everywhere: FFI and interop with other languages.
- 2015-04-25: How photography was optimized for pale skin.
- 2015-04-25: 28 words to use instead of "awesome".
- 2015-04-25: What every programmer should know about solid-state drives.
- 2015-04-24: A brief history of /proc
- 2015-04-24: Verifone credit card terminals have used same password since 1990s.
- 2015-04-24: Google Safe Browsing observes the GreatFire / GitHub Chinese DDoS.
- 2015-04-24: Games on a hyperbolic plane.
- 2015-04-24: HyperRogue: a roguelike on a hyperbolic plane.
- 2015-04-23: Holt-Winters forecasting applied to poisson processes in real time.
- 2015-04-23: Lessons learned in software development.
- 2015-04-23: Make your own digital sundial.
- 2015-04-23: K-root DNS server expansion plans.
- 2015-04-22: 1ML: uniting ML's core and modules into a single language.
- 2015-04-21: What is C in practice? (a survey)
- 2015-04-21: Martin Burgess / John Harrison "Clock B".
- 2015-04-20: Liberty Reserve: bank of the underworld.
- 2015-04-20: ub-canaries: a collection of programs that detect compiler exploitation of undefined behaviour.
- 2015-04-20: Burgess Regulator: modern construction of John Harrison's last clock design.
- 2015-04-19: John Harrison's last clock is accurate to less than one second in 100 days.
- 2015-04-19: Notational Velocity: Mac note-taking app.
- 2015-04-19: Semantic linefeeds in document markup: one line per sentence or clause.
- 2015-04-18: 30 logos that have a hidden message.
- 2015-04-18: Lots of emacs tips.
- 2015-04-18: Spacemacs: emacs configuration framework based round evil-mode.
- 2015-04-18: Chord progressions of 25 000 songs.
- 2015-04-17: Why an academic historian wrote a book in plain text (with pandoc).
- 2015-04-17: A complement to blame: an overview of the blame calculus for gradual typing.
- 2015-04-17: Anatomy of an account hijack
- 2015-04-17: Yes, you can catch insanity: infectious disease and mental health.
- 2015-04-17: eight: Python 2 to the power of 3.
- 2015-04-16: For good measure: estimating undiscovered vulnerabilities.
- 2015-04-16: Optimizing TLS for high bandwidth applications on FreeBSD.
- 2015-04-16: 11 proverbs for the digital age.
- 2015-04-15: The American middle class is no longer the richest in the world.
- 2015-04-15: Miura-Ori map fold.
- 2015-04-15: The bones beneath London: Crossrail archaeology.
- 2015-04-15: Remote code execution vulnerability in IIS on Windows: HTTP byte range parsing error.
- 2015-04-15: Reverse-engineered WipEout WebGL track viewer.
- 2015-04-15: Lots of leap second bug reports.
- 2015-04-14: Moore's Law at 50: Its past and its future.
- 2015-04-14: Finding bugs in SQLite with afl.
- 2015-04-14: The Hobsbawm File. (Radio 4)
- 2015-04-14: Protecting infrastructure secrets with Keywhiz.
- 2015-04-14: Usability of voter-verifiable, end-to-end voting systems: Helios, Prêt à Voter, and Scantegrity II.
- 2015-04-14: British viagra spammers sent to prison.
- 2015-04-14: What's wrong with statistics in Julia?
- 2015-04-13: Rockwell retro-encabulator. (YouTube)
- 2015-04-13: git fanfic.
- 2015-04-13: Insurance jingle fanfic.
- 2015-04-13: How to fix rootpipe privilege escalation vulnerability in Mac OS X 10.9 Mavericks.
- 2015-04-13: Indexes beat actively managed funds again in S&P study.
- 2015-04-13: The mutual fund industry is a huge scam that costs investors billions of dollars a year.
- 2015-04-13: Electricity distribution map of the East of England.
- 2015-04-13: National risk register of civil emergencies. (2015 edition)
- 2015-04-13: London's lost pneumatic railway: the second underground.
- 2015-04-12: Experiments in columnar joints in drying corn starch.
- 2015-04-12: Why neovim is better than vim.
- 2015-04-12: Benefit sanctions: Britain's secret penal system.
- 2015-04-12: The Analytical Engine In Glorious Technicolour!
- 2015-04-12: The multiple lives of Moore's law: how it survived for 50 years.
- 2015-04-12: 1K colours on CGA: How it is done.
- 2015-04-11: Out of print? How to regain copyright and make your book more available.
- 2015-04-11: Codes that Changed the World: a history of programming languages on Radio 4.
- 2015-04-11: Detailled London rail map.
- 2015-04-11: How are Rust Traits different from Golang Interfaces?
- 2015-04-10: VeinViewer means no more poking people with needles repeatedly.
- 2015-04-10: Extracting the private key from a TREZOR bitcoin safe with a $70 oscilloscope.
- 2015-04-10: Fearless concurrency with Rust.
- 2015-04-10: Hidden backdoor API to root privileges in Apple Mac OS X.
- 2015-04-10: Windows concurrent IO API zoo.
- 2015-04-10: TCP OOB sends Chrome and Node.js into infinite loops due to OS X kqueue bug.
- 2015-04-10: ExaBGP: routing swiss army knife. (Used by RIPE for anycast.)
- 2015-04-10: nsec3map: DNSSEC zone enumerator.
- 2015-04-10: How can life exist on a planet without a star?
- 2015-04-09: Wall Street fees wipe out $2.5 billion in New York City pension funds.
- 2015-04-09: Software interrupts and realtime Linux.
- 2015-04-09: T-pylon foundations.
- 2015-04-09: First new-style T-pylon has been installed.
- 2015-04-08: What kind of talks and papers are wanted at USENIX LISA.
- 2015-04-08: Tendermint: consensus without mining.
- 2015-04-08: Stellar Consensus Protocol: proof and code.
- 2015-04-08: Differential calculus with datatypes.
- 2015-04-08: BeagleBone Black timer capture driver for precise PPS interrupts.
- 2015-04-08: Various GeoIP checking and bug reporting links.
- 2015-04-08: Inside 8088 MPH: we break all your emulators.
- 2015-04-08: Breaking XML signature and encryption.
- 2015-04-07: How to own any Windows network with group policy hijacking attacks.
- 2015-04-07: How Heartbleed could have been found with afl and address sanitizer.
- 2015-04-07: Contranyms, holophrasms and negaffirmatives: when "no" is positive.
- 2015-04-07: Treating British tourists in Europe costs five times more than treating foreign visitors in the UK.
- 2015-04-07: Never doubt that a small group of deranged trolls can ruin anything (even the Washington Monument and the Hugo Awards).
- 2015-04-07: Gil Tene's basic settings to reduce latency spikes on Linux.
- 2015-04-07: Cheese changed the course of Western civilization.
- 2015-04-06: The puppy-free Hugo award voter's guide.
- 2015-04-06: Is 10% of the population really gay?
- 2015-04-06: Why the name? Etymologies of Unix and Linux programs.
- 2015-04-05: 8088 MPH: a demo for the original IBM PC with CGA adapter.
- 2015-04-04: Why, after all these years, don't we have something better than latex for condoms?
- 2015-04-04: Linux's bad disk scheduling causes long GC pauses on the JVM.
- 2015-04-03: Reviewing the second year of OCaml Labs in 2014.
- 2015-04-03: Pin-pointing China's attack against GitHub.
- 2015-04-02: Google Chrome will not trust any new CNNIC X.509 certificates.
- 2015-04-02: Mozilla will be distrusting new CNNIC X.509 certificates.
- 2015-04-01: Terry Pratchett, guilty of literature, vs. VATMOSS. (Ansible 333)
- 2015-04-01: Ignore the ‘pro-business' rhetoric: a pro-rich government is anti-business.
- 2015-04-01: Crypto algorithm confusion vulnerabilities in JSON Web Token libraries.
- 2015-04-01: China's man-on-the-side attack on GitHub.
- 2015-03-31: My quantified self email analysis experiment: a failure.
- 2015-03-31: Chinese authorities compromise millions in cyberattacks on GitHub and GreatFire.
- 2015-03-31: The real story of how America became an economic superpower.
- 2015-03-30: Metaprogramming beyond decency in Python.
- 2015-03-30: Hypothesis: QuickCheck-style property-based testing for Python.
- 2015-03-30: systemd will require a specially patched Linux kernel.
- 2015-03-29: "Turing got a pardon. I want one, too."
- 2015-03-29: Why Baidu has been hijacked to attack Github.
- 2015-03-29: VHDL 101: a minimal 16 bit stack-based CPU.
- 2015-03-29: Debunking the myth of the job-stealing immigrant.
- 2015-03-28: The myth of Europe's "little ice age".
- 2015-03-28: KaTeX: the fastest math typesetting library for the web.
- 2015-03-28: Paper review: "an analysis of production failures in distributed data-intensive systems"
- 2015-03-28: Baidu's traffic hijacked to DDoS GitHub.com.
- 2015-03-27: Porno copyright troll Perfect 10 hit with $5.6M in fees after failed Usenet lawsuit.
- 2015-03-27: UK Court of Appeal issues game changing judgment in Google / Safari privacy case.
- 2015-03-27: The horror of document.write in JavaScript.
- 2015-03-25: Cap'n Proto security advisory, and how to catch integer overflows with template metaprogramming.
- 2015-03-25: A comprehensive study of convergent and commutative replicated data types.
- 2015-03-25: pg_rewind in PostgreSQL 9.5: better replication and failover.
- 2015-03-24: Telstra runs out of IPv4 addresses.
- 2015-03-24: Which clang warning options control which warning messages?
- 2015-03-24: Which UK constituencies have ever elected someone who is not a white man?
- 2015-03-23: Popcorn Time: the piracy party that Hollywood cannot stop.
- 2015-03-23: Real ale vs craft beer: a battle for the soul of booze.
- 2015-03-21: Why the human retina is wired back-to-front.
- 2015-03-21: Google's distributed cron service.
- 2015-03-21: 12 minute Mandelbrots on a 50 year old IBM 1401 mainframe.
- 2015-03-21: Negative criticism and ineffective feedback.
- 2015-03-21: The science of protecting people's feelings: why we pretend all opinions are equal.
- 2015-03-21: Mac OS X drivers for CH340 / CH341 / PL2303 USB serial devices.
- 2015-03-21: Monodraw: UTF8 art drawing tool for Mac.
- 2015-03-21: Replacing Photoshop with NSString: ASCII art connect-the-dots rendering.
- 2015-03-21: Why does the International Space Station have such a weird shape?
- 2015-03-20: GoDaddy accounts vulnerable to social engineering.
- 2015-03-20: Windows 10 will allow hardware vendors to lock out alternate operating systems.
- 2015-03-20: Dolaucothi Roman gold mines.
- 2015-03-20: Las Médulas roman gold mines.
- 2015-03-20: cURL is 17 years old.
- 2015-03-20: The untold story of the British Rail logo.
- 2015-03-20: Textures.js: SVG patterns for data visualization.
- 2015-03-20: The myopia boom seems to be due to too much time indoors.
- 2015-03-20: Sorting algorithms in COBOL.
- 2015-03-20: Where is the generic insulin?
- 2015-03-20: miTLS: A verified reference TLS implementation.
- 2015-03-19: Conference katamari.
- 2015-03-19: PyPy and RPython: fast enough language VMs in fast enough time.
- 2015-03-19: NSF will require open access to research it funds.
- 2015-03-18: f3: find fake flash devices.
- 2015-03-18: NTP developer Harlan Stenn and the Network Time Foundation need money.
- 2015-03-18: Richard Stallman's GNU Manifesto is 30 years old.
- 2015-03-17: I can text you a pile of poo, but I can't write my name.
- 2015-03-17: How do I convert a video to GIF using ffmpeg, with reasonable quality?
- 2015-03-17: RgbQuant.js playground.
- 2015-03-17: Arbitrary-palette positional dithering algorithm.
- 2015-03-17: libimagequant: image quantization library.
- 2015-03-17: Colour quantization.
- 2015-03-17: High quality GIFs with FFmpeg.
- 2015-03-17: Amazon is losing billions.
- 2015-03-16: reop: a pgp-alike based on nacl / libsodium.
- 2015-03-16: Attacks only get better: new more efficient password recovery attack on RC4 in TLS.
- 2015-03-16: Norway police illegally set up IMSI catchers around parliament.
- 2015-03-16: Anti-doxxing techniques.
- 2015-03-15: The state of SIMD.js performance in Firefox.
Tony Finch is
<dot@dotat.at>