SQL Injection as a Feature
Looking at old applications, we always wonder who in their right mind thought of building them so badly. But every repository has its story and every effort has noble origins. I encountered such an ap
Topics /
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
Looking at old applications, we always wonder who in their right mind thought of building them so badly. But every repository has its story and every effort has noble origins. I encountered such an ap
If you think this is easy, then I think you are missing something. This is hard. You need to know your hardware intimately to figure this one out.
Solving LinkedIn Queens in the LogicT monad
This week I started experimenting with a desktop application version of Datasette—with the goal of providing people who aren’t comfortable with the command-line the ability to get Datasette up and …
“You can have a second computer once you’ve shown you know how to use the first one.” -Paul Barham The first rule of distributed systems is don’t distribute your system until you have an observable reason to. Teams break this rule on the regular. People have been talking about service-oriented architecture for a long…
Recently, Aria Beingessner published an interesting essay “ Rust’s Unsafe Pointer Types Need An Overhaul ”. There are several parts to this essay, all of which address issues which cause me pain in Rust, and which I would love to see fixed. I want to focus on one issue: Rust’s usize conflates address, data, and object…
I recently took part in a panel discussion discussing continuous delivery of micro-services hosted by ElectricCloud with Daniel Rolnick, Darko Fabijan and An...
I'm currently working on a macOS app that's built with Racket and allows the user to write small scripts to process and filter some data. While Racket is definitely my preferred language and I could easily use it for these scripts, my target audience for this app would probably appreciate a more familiar language. I…
I give some advice each year in my annual Sphinx tutorial at PyCon . A grateful student asked where I myself had learned the tip. I have done some archæology and finally have an answer. Let me share what I teach them about “semantic linefeeds,” then I will reveal its source — which turns out to have been written when…
MediaPlus is a browser extension that gives users more control over media elements like video, images, games, flash, etc by allowing them t...
Hair-pulling. Helpless rage. Clusterfucks. They leave much to be desired, yet sometimes are the right tool for the job. Let’s tame them!
The conventional view of Software Testing The hardware and software worlds may seem poles apart, and in many ways, they indeed are. But there’s a wealth of knowledge that each can learn from the ot…
Actually building floating point from scratch!
We need programming, but do we need the program?
 Ideas for your Raspberry Pi!The chances are you have a Raspberry Pi or there's one on the way to you, n
Made in Notion, the connected workspace where AI agents and teams organize docs, projects and knowledge together.
How a computer scientist, a programmer and a developer differ in skills, focus and priorities, even though the terms are often used interchangeably.
| Learn how to implement OpenAI-style tool calling — from raw REST to elegant Spring AI annotations. Includes real code, diagrams, and…
Accepting Bitcoin payments for an online service can be daunting at first (I worked out how to do it, for SMS Privacy , a couple of months ago). What I describe is not the only way to accept Bitcoin payments - it's not even the best way to accept Bitcoin payments - but it works for me. And it might work for you, too.
A deep-dive technical overview of how you can write CPython extensions in assembly (with a bonus tutorial on assembly programming)
Arthur’s thoughts on coding, software engineering, and other interesting things.