Eastern European Guide to Writing Reference Letters
Excruciating. One phrase I often use to describe what it's like to read reference letters for Eastern European applicants to PhD and Master's programs in Cambridge. Even objectively outstanding students often receive dull, short, factual, almost negative-sounding reference letters. This is a result of (A)...
Nuclear Close Calls: Able Archer 83 (2018)
The election of President Ronald Reagan in 1980 saw the return of heightened Cold War tensions after a period of détente during the previous decade. The zenith of this escalation arguably came in 1983, when a NATO training exercise almost prompted nuclear war. Operation RYANAt a secret meeting of top Soviet…
Memory safety for the world’s largest software project
Rust for Linux and Prossimo The Rust for Linux project aims to bring a new system programming language into the Linux kernel. Rust has a key property that makes it very interesting to consider as the second language in the kernel: it guarantees no undefined behavior takes place (as long as unsafe code is sound)…
Notes on Virtual Threads and Clojure
Virtual Threads are an excellent addition to Java platform and here's how Clojure is going to benefit from it.
How Underground Groups Use Stolen Identities and Deepfakes
The growing appearance of deepfake attacks is significantly reshaping the threat landscape. These fakes brings attacks such as business email compromise (BEC) and identity verification bypassing to new levels.
If you can read this, your browser captions are broken
I’ve seen a lot of captions over the years, and there’s one thing I can tell you with certainty: The way that custom controls and the HTML video element interact right now is inadequate, and I think th...
How to make Flappy Bird with C++
A little much about C++, Game Development, Programming and Web
Speeding up Go's built-in JSON encoder for large arrays of objects
I was looking into some of octosql 's benchmarks the other day and noticed a large chunk of time in DataStation / dsq is spent in encoding JSON objects. JSON is an intermediate format in DataStation and it's pretty inefficient. But the reason it's used is because almost every scripting language supported by…
Software engineering books to read and reread
Advanced Web Application Architecture allows you to spot what kind of code you're dealing with:
Block web scanners with ipset and iptables
Anybody who runs an internet-facing webserver has seen their fair share of spammy scanners in the logs. It varies server to server, but some of mine get up to 15,000 scans per day. Almost all of these are harmless network mappers, but they still annoy me. Many are compromised hosts or belong to hackers & organized…
Deno’s July 13th incident update
Post-mortem report for the outage on July 13th and 14th 2022
Reversible and irreversible decisions (2018)
When decisions are reversible, speed them up. The biggest risk is dragging your feet. When decisions are irreversible, slow them down. The biggest risk is making the wrong decision.
The Smart Modem
I think I've mentioned occasionally that various devices, mostly cellular modems, just use the Hayes or AT command set. Recently I obtained a GPS tracking device (made by Queclink) that is, interestingly, fully configured via the Hayes command set. It's an example of a somewhat newer trend of converging the…
Mental model examples and their explanations
50+ mental model examples and their explanations. There are five categories: success, decision-making, biases, business, and human nature:
A case study in early-stage startup execution
Before joining Wave four years ago, I spoke to a former employee about his experience. He said something that has stayed in my memory ever since: “Wave is really good at execution, so by working at Wave, you’ll learn how to execute very well.” Now that I’ve been here a while, I thought it would be good to write down…
Bundling binary tools in Python wheels
I spotted a new (to me) pattern which I think is pretty interesting: projects are bundling compiled binary applications as part of their Python packaging wheels. I think it’s really …
Refurb Weekend: PowerBook 1400
The PowerBook 1400 is, and remains, my favourite laptop. It was everything the PowerBook 5300 should have been and more. It was my first l...
Know how your org works, or how to become a more effective engineer
A few months ago, exhausted by a constant stream of people perennially disappointed about reward structures at companies, I made what…
How to add thousands of lights to your renderer and not die in the process
Why ReSTIR is good for you.
OpenBSD Webzine Issue #6
Webzine created by volunteers who are passionate about the OpenBSD project development.
LTrack: Stealthy Tracking of Mobile Phones in LTE
Martin Kotuliak, Simon Erni, Patrick Leu, Marc Röschlin, and Srdjan Čapkun, ETH Zurich
Special Relativity and Middle-Earth
This post is an unofficial sequel to one of my first blog posts from 2007, which was entitled “Quantum mechanics and Tomb Raider”. One of the oldest and most famous allegories is Plato&…
Why is American administrative capacity in decline?
Some speculative hypotheses
Automating cookie consent and GDPR violation detection
The European Union's General Data Protection Regulation (GDPR) requires websites to inform users about personal data collection and request consent for cookies. Yet the majority of websites do not give users any choices, and others attempt to deceive them into accepting all cookies. We document the severity of this…
How to pick a good monitor for software development
Buying a new monitor is stressful because there's so many things to understand. After reading this article, you will know what to look for.