APL: An Array Oriented Programming Language (2018)
APL was invented by Ken Iverson in the early 1960s as a notation for array oriented calculations. It was precise and useful enough, so it…
Topics /
The most popular blog posts about software engineering on Hacker News. 1,136 posts.
APL was invented by Ken Iverson in the early 1960s as a notation for array oriented calculations. It was precise and useful enough, so it…
When I started working on Rust in 2011, my daughter was about three months old. She’s now in sixth grade, and she’s started growing rapidly. Sometimes we wake up to find that her clothes don’t quite fit anymore: the sleeves might be a little too short, or the legs come up to her ankles. Rust is experiencing something…
Those who fail to study databases are doomed to write them
I’ve been noodling on a static type system for my current hobby language. To try to keep the language as simple as possible, I’m trying to see if I can live without subtyping. Since most of my programming experience is in object-oriented languages, I’ve been learning more about languages that lack—or at least claim to…
Because life doesn't have to be hard all the time
Static vs dynamic typing debates often flounder because the debators see from two different perspectives without knowing it. Learning to identify the two perspectives can calm the discussion. The tension between the two perspectives has led to Gradual Typing and other technologies.
An in-depth analysis of how World of Warships obfuscates its game scripts and how to mostly deobfuscate them automatically.
PostgreSQL 16 was released last week. This is the story of a feature.
curl turns 25 years old and what better way to celebrate this than to join fellow curl friends, developers and fans online on the exact birthday? At 17:00 UTC March 20, 2023. We run an Online birthday party open for everyone to join. Consider muting yourself when you join, but feel encouraged to leave the … Continue…
Or, about the virtue of exactly one phrase.
VT220 TrueType font
Edit: This post made it to the front page of Hacker News! You can find the discussion here.
Five not-quite-normal uses
A look into the implementation details of CPython's Global Interpreter Lock (GIL) and how they changed between Python 3.9 and the current development branch that will become Python 3.13.
A set of recipes for using Makefiles for web development.
Recently, somebody shared on Twitter a new proof of the irrationality of √2. Its claimed advantage is that “it requires no knowledge of mathematics above the definition of what it means for a number to be irrational, and can be written almost in one line.” These claims are dubious: the usual proof, which I’ve…
I remember those days, oh so long ago, it seems like another lifetime. I haven’t used Pandas in many a year, decades, or whatever. We’ve all been there, done that. Pandas I mean. I would dare say it’s a rite of passage for most data folk. For those using Python, it’s probably one of the […]
Addressing a very common question: do-it-as-you-go or follow the dependency graph?
In this blog I share my experience in building a Python REPL augmented with ChatGPT. I explore how the application is built, and speculate on software engineering patterns and paradigms that might emerge in systems built on Large Language Models (LLMs). GEPL - Generate, Evaluate, Print, Loop Link to this section…
StreamingHttpResponse now supports async iterators when Django is served via ASGI.
Visualize binary protocols by building parsers in Elixir.
An article series where I show you how to write a fully functional Python debugger.
An overview of new features in pgvector 0.5.0, including HNSW, parallel index builds, and more!
Recently I’ve been thinking a lot about infrastructure complexity, and the current state of infrastructure as code. This is problem space that many talented people are tackling.
Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we actually use. Let’s see what that would look like in Go programs, and what new facilities it gives us in the standard library.
Confession time: I don't fully understand how terminals, shells and SSH really work (and my guess is you don't either). And I don't mean the cryptography behind SSH. I mean how SSH and the terminal — and the shell for that matter — interact with one another.