Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Practical Shell Patterns I Use
Over the decades I’ve been using the shell, there are thousands of reusable patterns I’ve picked up from looking over others’ shoulders and googling.
There is no pass by reference in Go
My post on pointers provoked a lot of debate about maps and pass by reference semantics. This post is a response to those debates.
A Story Of realloc (And Laziness)
A Story Of realloc (And Laziness) 05 April 2014 A Simple Macro It...
Dangling by a Trivial Feature
It's not about technology for its own sake. It's about being able to implement your ideas.
UUIDs generally do not meet security requirements
Some time ago, I was doing a web application penetration test, and noticed that the authentication tokens were UUIDs. This I knew was risky, and in fact if you read the UUID rfc, section 6 of it wa…
I Wrote a Book to Teach the Wolfram Language
Take a walk with Stephen Wolfram through the topics in his new book that introduces non-programmers to the Wolfram Language and computational thinking.
Datasette-ripgrep: a regular expression search engine for your source code
This week I built datasette-ripgrep—a web application for running regular expression searches against source code, built on top of the amazing ripgrep command-line tool. datasette-ripgrep demo I’ve deployed a demo …
Zig: What to Expect from Release Month
We’ve been relatively quiet over here at the Zig Software Foundation for a few months now and so it’s about time to give y’all an update.
IntelliJ IDEA 15 Released, Adds Kotlin to the Family of Supported JVM Languages
Great news from the JetBrains team: today we're announcing the release of IntelliJ IDEA 15!As always, the new IntelliJ IDEA release brings a rich set of new features, better user interface, more bui
API versioning has no “right way” (2017)
API versioning is a really difficult topic, and sometimes seen as a merely religious debate. It’s done differently at different companies, and different teams within different companies often vary. Some folks move from approach A to approach B, and when approach B solves their specific issues they act like
Math Symbols Explained with Python
Learn the meaning behind mathematical symbols used in Machine Learning using your knowledge of Python.
"Can you solve this problem for me on the whiteboard?"
Jim is a great chef. He's too modest to say that about himself, but he's worked either as head chef or assistant head chef at a number of re...
A whole boss fight in 256 bytes
Endbot is a complete audio-visual demo that fits in exactly 256 bytes . It runs under DOS (via DosBox-X) and renders in real-time: a robot sprite with progressive bullet damage, a growing explosion, a scrolling checkerboard landscape, and a MIDI soundtrack - all from a single tiny .com file.
Software Is Hard (2007)
"Software is hard," reads the quote from Donald Knuth that opens Scott Rosenberg's Dreaming in Code . The 400 pages that follow examine why: Why is software in a never-ending state of crisis? Why do most projects end up horribly over-budget or cancelled or both? Why can't we ship code without bugs? Why, everyone asks…
How to Optimize a CUDA Matmul Kernel for CuBLAS-Like Performance: A Worklog
In this post, I’ll iteratively optimize an implementation of matrix multiplication written in CUDA.My goal is not to build a cuBLAS replacement, but to deepl...
Zero-copy protobuf and ConnectRPC for Rust
As part of my work at Anthropic, I open sourced two Rust crates that fill a gap in the RPC ecosystem: buffa, a pure-Rust Protocol Buffers…
How Erlang does scheduling
In this, I describe why Erlang is different from most other language runtimes. I also describe why it often forgoes throughput for lower la...
Chromium Notes: Ninja, a new build system
When we first started porting Chrome away from just Windows, we intended to use Scons to build Chrome on all our platforms. But early on in development I discovered that Scons, despite its admirable goals of correctness and ease of use, was quite slow — it could take 40 seconds from starting Scons before it decided to…
Explore the ownership system in Rust
Articles and tutorials about Rust, Embedded development and Computer Graphics.
Combining event sourcing and stateful systems
Bridging the gap between stateful and event sourced sub-systems
.NET Core Is Boiling the Ocean
Do they know what the hell they're doing?
Mounting tar archives as a filesystem in WebAssembly
How to use a file index to mount a tar.gz archive directly into the Emscripten virtual filesystem without extracting it
Preparing your game for deterministic netcode
A post about lockstep, rollback, and what it takes to prepare your game for future netcode integration. Continue reading →