Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Helix 22.12
A post-modern modal text editor.
NanoGPT Speedrun Frontier
Compare 153 autonomous runs from 18 frontier models on the nanoGPT optimizer speedrun.
Tiny ELF Files: Revisited in 2021
Quick edit: While I work on a proper update, I'll note here that several posters on reddit and hackernews have pointed out ways to bring the total size of the program down to 105 bytes while still printing the full "Hello, world!" Much credit goes to Josh Triplett , who produced the 105-byte version which you can find…
New tool from curl creator – trurl – for URL parsing and manipulation
trurl is a tool in a similar spirit of tr but for URLs. Here, tr stands for translate or transpose. trurl is a small command line tool that parses and manipulates URLs, designed to help shell script authors everywhere. URLs are tricky to parse and there are numerous security problems in software because of this. ……
Why Philosophers Should Care About Computational Complexity
Update (August 11, 2011): Thanks to everyone who offered useful feedback! I uploaded a slightly-revised version, adding a “note of humility” to the introduction, correcting the footnot…
/.bashrc VS –/.profile VS –/.bash_profile
Customize Shell Environment and Appearance
There is no such thing as a global method in Ruby
What Ruby’s top-level methods actually are, who they belong to and how they are namespaced
The probability of a hash collision (2022)
Exploring the math behind hash collisions.
Insufficiently known Posix shell features
It's that time of year again apparently. Rather than fill in the template for you this time, I'll just give you the general outline of what...
NUMA: Cores, memory, and the distance between them
Why two identical VMs on the same host can perform 20% differently — and what NUMA topology in Xen-based virtualization actually costs you.
PostgreSQL Count(*) Performance Improvements
count(*) is often quite slow in PostgreSQL. This article explores how to count rows faster using approximations and other tricks.
How to JIT – An Introduction
When I wrote the introductory article for libjit , I aimed it at programmers who know what JITs are, at least to some extent. I did mention what a JIT is, but only very briefly. The purpose of this article is to provide a better introductory overview of JITing, with code samples that don't rely on any libraries.
Celebrating Tony Hoare's mark on computer science
Tony Hoare at the LASER summer school, September 2007 (All photographs in this article are by the author) Had they included just one of Tony Hoare’s major achievements, many scientific careers would be considered prestigious enough. His had a long list, which I am going to try to summarize, not pretending to get…
Write Fuzzable Code
“An obvious way to deal with embedded interpreters — which someone must have thought of and tried, but I don’t have any pointers — would be to have an API for teaching the fuzzer how to see coverage of the language being interpreted.”
Eric's Guide to Hiring Software Developers
First of a two-part series on the best strategies for hiring humans in the 21st century. Fueled by both personal experience and the experience of countless mentors (and recruiters), this gigantic post is bursting at the seams with knowledge. Though specifically written by a CTO-type, the strategies are useful for…
Weaponizing PostScript
In a recent pentesting assignment, there was a service which converted uploaded files to PDF/A format, to make them safer for handling. Afte...
Memory layout in Zig with formulas
I was recently encouraged to watch A Practical Guide to Applying Data Oriented Design (DoD) by Andrew Kelley, the creator of Zig1. Just 10 minutes into the talk, I was confronted with a skill I had never formally learned… the arithmetic behind memory layout of types. Zig is a modern, C-like programming language which…
How to become a proficient Python programmer
Update: This is a re-post of an older blog post of mine. Originally it was posted on my personal blog where it has >30 comments and >20’000 views over the last years. I’m deprecating my personal blog in favor of this 200OK blog.
(An ((Even Better) Lisp) Interpreter (in Python))
The tokens #t and #f are the True and False literals, respectively. The single quote mark serves to quote the following expression. The syntax ' exp is completely equivalent to (quote exp ) . The backquote character ` is called quasiquote in Scheme; it is similar to ' except that within a quasiquoted expression, the…
Mercurial 3.5 Released
Mercurial 3.5 was released today (following Mercurial's time-based schedule of releasing a new version every 3 months).
The future of Clang-based tooling
Clang is a marvelous compiler; it’s a compiler’s compiler! But it isn’t a toolsmith’s compiler. As a toolsmith, my ideal compiler would be an open book, allowing me to get to everywhere from anywhere. The data on which my ideal compiler would operate (files, macros, tokens), their eventual interpretation…
The Art of Computer Programming (interview with Don Knuth)
While he was over in the UK for a book tour and lecture series, Professor Donald Knuth made time to talk to BCS editor Justin Richards about his life.
Jim Tcl version 0.78
Tap, Click, Launch
Programming as Play
I often want to program something just for fun without any expectations. But why? Well, a recent scientific paper investigated this idea of programming as play.
Procedural content generation: creating a universe (2015)
23114, 584, 46931, these three numbers were used to create the entire universe for Elite .
Getting Hands-on with io_uring using Go
In Linux, system calls (syscalls) are at the heart of everything. They are the primary interface through which an application interacts with the kernel.
Raft Consensus with a Minority of Nodes
Raft is a consensus protocol for managing a replicated log across a cluster of nodes. Its key goals are: (1) maintain a consistent replicated log of state transitions, (2) tolerate node failures, and (3) ensure a single leader coordinates all changes while multiple followers replicate. Raft is designed to be…