How I coded in 1985
Back in 1985 I worked on the computerization of a machine designed to stick labels on bottles. The company that made the machines was using...
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,817 posts.
Back in 1985 I worked on the computerization of a machine designed to stick labels on bottles. The company that made the machines was using...
I’ve started writing more Python code lately (because of… AI, you know). In this post, I share the tools, libraries, configs, and other integrations I use for building production-grade Python applications following a frontend-backend architecture.
I tried to build a Windows native app using Microsoft's latest technologies. Now I understand why everyone builds Electron apps.
Claude Code is the most delightful AI agent/workflow I have used so far. Not only does it make targeted edits or vibe coding throwaway tools less annoying, ...
Programming has obvious abilities to increase productivity through automated manipulation of data. Metaprogramming allows code to be treated as data, turning programming’s power back onto itself. Programming close to the metal has perhaps the most to gain from metaprogramming as high level concepts need to be mapped…
People keep asking why Jepsen is written in Clojure , so I figure it’s worth having a referencable answer. I’ve programmed in something like twenty languages. Why choose a Weird Lisp?
Leetcode-style interviews do not reflect real-world software engineering problems.
Learn to build plugins for ChatGPT and Codex with skills, MCP servers, and optional UI. Explore developer guides for authentication, testing, and publishing.
Golang executable files get too large for reasons that are not relevant to server software with long-running processes, like CockroachDB, and its incurred space cost is particularly inconvenient for large, feature-rich programs.
Hands-on exploration of using Docker to run WebAssembly applications.
This year’s Advent of Code has been brutal (compare the stats of 2023 with that of 2022, especially day 1 part 1 vs. day 1 part 2). It included a problem to solve with dynamic programming as soon as day 12, which discouraged some people I know. This specific problem was particularly gnarly for Advent […]
If you need a publish/subscribe or job server at any point in your project, try using Postgres. It'll give you lots of data integrity and performance guarantees, and it doesn't require you or your team learning any new technology.
Lambda calculus is for wimps. Real programmers use combinatory logic.
Last year, I submitted a PR to the Clojure web request routing library, Compojure . Even though I was doing Clojure full time at work, there was still a lot for me to learn and always will be.
AI increases the penalty for low quality code. Gauge is solving the monolith/microservices dilemma. We’re building tools to untangle codebases through incremental modularization. Our open-source toolkit supports defining and enforcing rules for interfaces and dependencies. By focusing on high cohesion and loose…
A deep dive into local-first architecture, triggered by wondering why Linear feels so fast. Looking at the technical implementation, exploring tools like Jazz and Electric SQL, and explaining why my next app might not need API endpoints.
Back in Dec 2022, when inflation was running high, I built a website for tracking price changes in the three largest supermarkets of my home country, Greece.
Let me preface this post by saying that no programmer should feel compelled to read any of these papers. I list them because I think that they provide a breadth of information that is generally useful and interesting from a computer science perspective. What you do with that information is your prerogative, including…
Most widely-used programming languages have at least one regular conference dedicated to discussing it. Heck, even Lisp has one . It’s a place to talk about the latest developments of the language, recent and upcoming standards, and so on. However, C is a notable exception. Despite its role as the foundation of the…
Es el disco de Odín. Tiene un solo lado. En la tierra no hay otra cosa que tenga un solo lado.
Using graph theory and Ryanair route data to find cheap multi-city flight loops through Europe.
I was talking to one of my students earlier, and lent him a book to read over summer. It was only after he’d left that I realised that — for me at any rate — the book I’d given him is probably the most seminal work in the whole of computer science, and certainly the book that’s most influenced my career and research…
Every language pitches async/await as synchronous-looking code, and the same two keywords appear everywhere. But behind the shared syntax hide nine independent design decisions, and no two of seven modern runtimes agree on what even the simplest async programs should do! In this paper we map the design space of…
Dynamic languages are safe from memory corruptions bugs, right?