Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
MVC is dead, it's time to MOVE on (2012)
MVC is a phenomenal idea. You have models, which are nice self-contained bits of state, views which are nice self-contained bits of UI, and controllers which are nice self-contained bits of …
Research software code is likely to remain a tangled mess
Research software (i.e., software written to support research in engineering or the sciences) is usually a tangled mess of spaghetti code that only the author knows how to use. Very occasionally I encounter well organized research software that can be used without having an email conversation with the author (who has…
Bad Emacs defaults
I was working on a new installation where I didn’t have this in place yet and I kept trying to update a shell function, re-sourcing it but it never changed. Turns out it was loading from a backup~ of the same file.
True Scala complexity
Due to the recent php2shell vulnerability , to save time and effort for both users and maintainers alike, and out of an overabundance of caution, all Scripts sites have had PHP (php-cgi) disabled until a patch is available and backported.
Fast linked lists
Using linked lists to optimize performance in a JSON schema validator.
C++17 constexpr everything, or as much as the compiler can
Case study in constexpr with C++17 compilers
The Overengineered Resume with Zola, JSON Resume, Weasyprint, and Nix (2023)
Maintaining a resume is not the most interesting use of time. Naturally, when I needed to bring my own up to date, I decided to spend a great deal more time on it and overengineer the process.
Premature Abstraction
Practical tips that allow you to build an evolving architecture
Writing GUI Apps Using the Red Programming Language
Chinese Translation by oschina.net
Scaling long-running autonomous coding
Wilson Lin at Cursor has been doing some experiments to see how far you can push a large fleet of "autonomous" coding agents: This post describes what we've learned from …
Code review review is the manager’s job
Code review is such a high value, high leverage team activity that every manager should ensure the process is done well.
From Node to Deno
Learn how to use Node ecosystem in Deno.
The key points of "Working Effectively with Legacy Code"
This book is a reference. Here's my summary of its salient points so you understand why it's so reco
Writing a personal automation API
Yes, you need to write yourself an API. You'll thank me later.
Towards fearless SIMD
SIMD is a powerful performance technique, and is especially valuable in signal and image processing applications. I will be using it very extensively in my synthesizer, and also it’s increasingly used in xi-editor to optimize string comparisons and similar primitives.
Why Does Integer Addition Approximate Float Multiplication?
Here is a rough approximation of float multiplication (source): float rough_float_multiply(float a, float b) { constexpr uint32_t bias = 0x3f76d000; return bit_cast<float>(bit_cast<uint32_…
Idempotency keys for exactly-once processing
In distributed systems, there’s a common understanding that it is not possible to guarantee exactly-once delivery of messages. What is possible though is exactly-once processing. By adding a unique …
Python Idioms in Rust
I’ve been going through a period of programming language wanderlust over the past couple months. Recently, I’ve been quite interested in Rust. Coming from Python, I’ve found a lot of Rust’s language features to be quite powerful.
Goroutines, Nonblocking I/O, and Memory Usage
I am generally a fan of Go's approach to concurrency: writing code with goroutines is a lot easier than writing traditional nonblocking network servers in a language like C or C++. However, while working on a highly concurrent network proxy I came across an interesting realization about how the Go concurrency model…
Performance Tuning for .NET Core
Some of you may know I've been spending whatever time I can scrounge together grinding away at a new serialization library for .NET. Serializers can be complicated beasts. They have to be reliable, flexible, and fast beyond reproach. I won't convince you that serialization libraries have to be quick — in this post…
Compressing a flag to 11 bits
I recently saw an interesting YouTube video by “Physics for the Birds”. The main video is about matrixes, but he used flags to explain some of the operations on matrixes: