Dark Matter Developers: The Unseen 99% (2012)
In astronomy and cosmology, dark matter is a currently-undetermined type of ...
The latest blog posts to take off on Hacker News. 14,543 posts.
In astronomy and cosmology, dark matter is a currently-undetermined type of ...
PHP 7.4 adds typed properties to classes
The Sensitivity Conjecture, which I blogged about here, says that, for every Boolean function f:{0,1}n→{0,1}, the sensitivity of f—that is, the maximum, over all 2n input strings x∈{0,1}n, of…
ps aux | more
This couple of months I’ve been casually looking at daily CPAN uploads, because I entered the Once-a-day-releases game. I notice that the uploads are getting scarcer and scarcer. So today I d…
The introductory post for this book, unexpectedly, received quite a lot of attention, which is nice since it prompted some questions, and on...
Occasional writings about Haskell.
This is inspired by Dan Luu's post on the advantages of a single big repository over many small ones. That post is fairly old, and I confess that I'm hardly up to date on the state of tooling, both for managing multiple repos and for dealing with one big one. But I'm going to make an argument which I think mostly…
This is one post in a series about programming models and languages for distributed computing that I’m writing as part of my history of distributed programming techniques.Relevant ReadingTrill: A h...
Synchronizing threads at a lower level.
Assuming you're in the unusual position of actually having budget for quality, here's what to spend it on.
A tiny, strict, impure, curried, dynamically typed (although that may change), partially applied language with rather peculiar syntax.
In a world of closed platforms, browser extensions are the rare exception that let users modify the apps that we use.
This post started out as a long-form response to this tweet by Raj Kunkolienkar:
I had been programming in Fortran and assembler for a number of years when I got my first personal computer. It was exciting. On the first generation PC one had to toggle in a paper tape loader from front panel switches, byte by byte, then start the paper tape reader and then one could output to the led on the front…
What a great book Designing Data-Intensive Applications is! It covers databases and distributed systems in clear language, great detail and without any fluff. I particularly like that the author Ma…
Now that the Cologne meeting is over and we’ve more or less finalized (at least before the NB comments come in) C++20, I wanted to take the time to describe in detail one of the new language features we can look forward to. The feature is typically referred to as operator<=> (defined in the language as “three-way…
Our seventh-grade class was led into a room full of brand-new Macintosh Performas . The day's lesson was a crash course in the use of an uncomplicated yet marvelous program. With it, one might persuade a computer to do anything and everything - or so it seemed to a child with the attention span to appreciate the…
I’m a software engineer based in Edinburgh, Scotland. My interests include getting computers to behave, helping other people get computers to behave, open source, maths, and music.
On writing a technical book for experienced programmers.
One of my favorite blog posts about Rust is Things Rust Shipped Without by Graydon Hoare. To me, footguns that don't exist in a language are usually more important than expressiveness. In this slightly philosophical essay, I want to tell about a missing Rust feature I especially like: constructors.
Silly, terrible, no-good very-bad jigsaw puzzles. Featuring Voronoi diagrams, KD-trees, and Clojure.
A simple walkthrough of what RNNs are, how they work, and how to build one from scratch in Python.
Any problem in computer science can be solved with another level of indirection. Except for the problem of too many layers of indirection.
Essay on the benefits of speedy software, and how it affects user perception of engineering quality and overall usability