Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
K-Nearest Neighbors from Scratch
Using JavaScript, we implement the k-Nearest Neighbors algorithm from the bottom up.
Go Debian: Writing Debian tooling in Go
As some of the world knows full well by now, I’ve been noodling with Go for a few years, working through its pros, its cons, and thinking a lot about how humans use code to express thoughts and ideas. Go’s got a lot of neat use cases, suited to particular problems, and used in the right place, you can see some clear…
A Guide to Threat Modelling for Developers
Threat modeling is a risk based approach to cyber security requirements analysis.
Software Engineering: The Soft Parts
Today I will share some of the software engineering soft skills I have learned from my first 10 years on Google Chrome, where I am a Senior Staff Engineering...
Some Thoughts on Zig
One of the biggest things Zig has going for it—especially compared to Rust—is that it is (relatively) small. That sits in tension with Rust’s approach to solving memory safety problems, and sets up a nice challenge for future programming language designers.
You are not required to close your <p>, <li>, <img>, or <br> tags in HTML
Debunking an alarmingly common HTML misconception.
Git branches are named sequences of commits
From the highly eclectic blog of Mark Dominus
Rust is just a tool
A programming language should not be your identity.
Why am I excited about WebAssembly?
As it continues to evolve, WebAssembly has the potential to be the platform executing an enormous amount of IoT computation.
The 80/24 Rule
Write small blocks of code. How small? Here's how small.
From Vim to Emacs in fourteen days (2015)
Yes, my friends, it is true. After more than fifteen years using Vim, teaching Vim, proselytizing about Vim, all the while scoffing in the general direction of Emacs, I’ve seen the light. The light of Lisp… Or something. If, like me, you’re curious enough to give Emacs a try, this post should help you get off the…
OpenGL: Mesh shaders in the current year
It Happened.
UTF-8 String Indexing Strategies
When designing or, in some cases, implementing a programming language with built-in support for Unicode strings, an important decision must be made about how to represent or encode those strings in memory. Not all representations are equal, and there are trade-offs between different choices.
Code only says what it does
Code says what it does. That’s important for the computer, because code is the way that we ask the computer to do something. It’s OK for humans, as long as we never have to modify or debug the code. As soon as we do, we have a problem. Fundamentally, debugging is an exercise in changing what a program does to match…
I made a mistake with Terraform and Azure made it worse
Craig Stuntz's personal website about programming languages, type theory, DIY synthesizers, compilers, and math.
Prescriptive software is better than descriptive software
For a while now I’ve been telling people that I want Polypane to be prescriptive, not descriptive. In this article I want to expand on that and explain what I mean when I say “prescriptive”. I usually explain it like this: there is no shortage of tooling that will tell you everything you do wrong […]
32 MiB Working Sets on a 64 GiB machine
Memory is a relatively scarce resource on many consumer computers, so a feature to limit how much memory a process uses seems like a good idea, and Microsoft did indeed implement such a feature. Ho…
A guide to closures in Rust
Understand how closures really work in Rust
Many hells of WebDAV
Standards are great, until they aren't
An ode to bzip
The story goes like this. ComputerCraft is a mod that adds programming to Minecraft. You write Lua code that gets executed by a bespoke interpreter with access to world APIs, and now you’re writing code instead of having fun. Computers have limited disk space, and my /nix folder is growing out of control, so I need to…
The Weird Concept of Branchless Programming
Read THE WEIRD CONCEPT OF BRANCHLESS PROGRAMMING on sanixdk.xyz
The development pipeline is a production system
Various thoughts on programming and technology.
Modern CMake short tutorial and best practice
The end of semester is here and, as I grade our students semestral works, I get to use CMakeLists of dubious quality. After seeing the same errors repeat over and over again, I decided to write a short tutorial towards writing simple CMakeLists.