Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,815 posts.
14,000x Speedup (2015)
In my job as a scientific software developer, I tend to write a lot of code. And most people who haven’t been through a Computer Science degree tend to think that CS is “just” about slinging code at the screen and then running it. I have a good working relationship with many of my colleagues and co-workers with other…
Sourcegraph went dark
Towards the end of my mid-2019 job search, I was down to joining the Google Go team or Sourcegraph. Sourcegraph ultimately won due to cultural factors - the most important of which was the ability to build 100% in the open . All documents were public by default. Technical and product RFCs (and later PR/FAQs) were…
Best practices for writing SQL queries
SQL best practices: a brief guide to writing better SQL queries.
How to create a Python package in 2022
How do you create a Python package? How do you set up automated testing and code coverage? How do you publish the package? That's what this article...
Rust Performance Pitfalls
Overall, Rust is pretty good for performance. Write the most simple, naive stuff, and it will usually run within a factor of two from optimized C/C++ code, without any further performance work on the code. With some investment into optimizations, matching or exceeding C’s speed should be possible in most cases…
You can't copy code with memcpy
There's more to code than just instructions.
Rust Glancer: Rust LSP using 100x less RAM
Rust LSP that doesn't eat memory for breakfast
Programmers and software developers lost the plot on naming their tools
In Dec 2022 I watched Richard Stallman's talk on the EmacsConf , it was titled "What I'd like to see in Emacs". One of the interesting points Mr. Stallman pointed out in this talk was "memorable names", "I think every …
Software 2.0 (2017)
I sometimes see people refer to neural networks as just “another tool in your machine learning toolbox”. They have some pros and cons, they…
CRLF is obsolete and should be abolished
It seems that (1) there is still more software in circulation that depends on archaic CRLF line endings than I originally thought and (2) many people do not share my enthusiasm for creating a CRLF-free world. Alas. This makes me sad, but it is what it is. Thanks to everyone who was willing to give the idea a test run…
Over-editing refers to a model modifying code beyond what is necessary
AI-assisted coding has become the norm and with tools like Cursor, GitHub Copilot, Claude Code, Codex, we are increasingly letting models touch our code. If you have used any of these tools in the past year, you have probably experienced something like this: you ask the model to fix a simple bug (perhaps a single…
Unix command line conventions over time
ETA, 2022-05-19: I'm happy this blog post has gathered a fair bit of interest. However, this post is as much effort as I'm prepared to put into the topic. I think it would be a good idea to write an essay, article, or even a book, on how syntax of the Unix command line has varied over the years, and in different…
“Dynamic programming” is not referring to “computer programming”
When seeing the phrase “dynamic programming” in an algorithms class or leetcode study guide, the first question people ask is “what does ‘dynamic’ mean in this context?”.
Getting started with bare-metal assembly
Seeing a program you wrote running directly on the bare metal is deeply satisfying to anyone who enjoys writing software. And it turns out that creating such a program from scratch is easier than it sounds. The hardest part is figuring out where to start. In this tutorial, I'll show you how to write, build and run the…
With React 16.8, React Hooks are available in a stable release
This blog site has been archived. Go to react.dev/blog to see the recent posts. With React 16.8, React Hooks are available in a stable release! What Are Hooks? Hooks let you use state and other React features without writing a class. You can also build your own Hooks to share reusable stateful logic between…
10 years-ish of Elixir
We are celebrating 10 years since the first commit to what would become Elixir.
Why do we call it “boilerplate code?”
Etymology is fun!
Brushing up on operating systems and C programming
If you were like me in college, you first learned about the C programming language in an introductory computer science course. Then, perhaps you took a really hard course in operating systems. Then, y
Has the cost of building software dropped 90%?
Agentic coding tools are dramatically reducing software development costs. Here's why 2026 is going to catch a lot of people off guard.
The future of software development is software developers
Psst. If your boss won’t invest in training you in Specification By Example (BDD, ATDD), I’m running out-of-hours workshops on May 12 and 16 specifically for self-funding learners. £99 + UK VAT. I&…
Bun 0.6
A new JavaScript bundler, standalone executables, and lots of new features and improvements
Reflections on 10k Hours of Programming
I'm certainly not a world-class expert, but I have put my 10,000 hours of deliberate practice into programming. Here are 31 of my reflections on programming.
What I learned building an opinionated and minimal coding agent
Lessons I learned while building my own coding agent from scratch.
Antigravity 2.0 Tops the OpenSCAD Architectural 3D LLM Benchmark
A practical OpenSCAD LLM benchmark comparing Codex 5.5 High, Claude Sonnet, Claude Opus, Cursor Composer, Google Antigravity, and ModelRift on a detailed Pantheon model.