calmly weaving caml code;; programmers are wizards who forgot their magic;; lack of type safety always comes with a price;; head of @typememetics
Jul 4 • 10 tweets • 1 min read
There's a problem in the world which I struggle to capture in words. Whenever I try, it's usually summarised as "the usual communist critique of capitalism". I think it's a different problem.
The problem? Computational Tyranny.
It's a mix of bureaucratic hell, responsibility laundering, over optimisation causing havoc due to Goodheart's law, a computational load we place on people just to navigate the world.
Apr 29 • 10 tweets • 2 min read
Ok, you’re all ready. I’m going to teach you the secret staff++ software dev technique for improving your skills and advancing your career.
You need to contemplate the abstract-concrete duality daily (sorry non-dualists)
Let’s learn how:
Any software artefact spans the vast chasm between The Concrete (what is machine actually doing?) and The Abstract (what concept is the code expressing?)
It is both at the same time and these are inseparable. You need to be able to hold both in your head at the same time.
Apr 19 • 11 tweets • 2 min read
I'm getting increasingly convinced that 95.4% of all software engineering problems are because 1) latency is highs and 2) people code like latency is low.
Let me get through a couple of examples:
Let's start with CPU: the RAM to CPU latency is actually pretty high!
"Pretty high" means roughly that the cost of most memory accesses are dominated by the latency of getting the initial block of bytes, not by the throughput.