Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Real-Time Settlers of Catan
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Software sucks
25 recent entries The horn of the Robert Smalls A difficulty in race-switching the Dukes of Hazzard On futile explanations Richard Blair Race-switching The Dukes of Hazzard Greek plural Erbaut Improved English-language month names I fix a thirty-year-old mistake Minced oaths? On the monobosom Partly about pie More…
Beating the Compiler
An oft-repeated fact on programming forums these days is that a decent optimizing compiler will always beat a puny human's attempt at hand-written assembler. There are rare cases, like MPEG decoders, where making good use of the SIMD instructions can allow assembly to massively beat the compiler. But generally you'll…
Rewriting Rust: A Response
Joseph Gentle wrote a post on how he wants Rust to change. I am already working on that.
gRPC-Go Engineering Practices
It’s the start of the new year, and almost the end of my first full year on the gRPC-Go project, so I’d like to take this opportunity to provide an update on the state of gRPC-Go development and give some visibility into how we manage the project. For me, personally, this is the first open source project to which I’ve…
Going immutable on macOS, using Nix-Darwin
From imperative chaos to nix-darwin
PyPy.js: Now faster than CPython
OK OK, I couldn't resist that title but it probably goes a bit far. Let me try for a little more nuance:
The inevitability of the borrow checker
When defining a type in Inko , it's allocated on the heap by default. For example (using the syntax for the upcoming 0.18.0 release):
Nix journey part 0: Learning and reference materials
In this series I'll be documenting my journey learning Nix and this first installment is more of a prequel. A common complaint when learning Nix is that the documentation "is not good", and I think what people mean by that is that the documentation is spread across several sources which may or may not be easy to find…
My favorite bug: segfaults in Java
Update: Two years later, I wrote a more detailed version of this article: My favorite bug: segfaults in Java (redux) .
The value isn't in the code (2022)
It takes time and a lot of skill to write great code, so surely that code is valuable, right? Wrong. You might love it and nurture it, protecting it from harm, but I’m afraid that code of yours is potentially worthless. Why? Read on.
In Zig, what's a writer?
Karl Seguin's Blog - A mix of coding and creative writing
Brunost: The Nynorsk Programming Language
I made a programming language. I'm sorry.
The Programmer's Brain (2021)
by Felienne Hermans
LLVM and Clang 3.2 released
These are in-progress notes for the upcoming LLVM 24.0.0git release. Release notes for previous releases can be found on the Download Page .
JavaScript Modularity Shaming
Pete Hunt of React fame recently got into an online discussion about the pros and cons of Webpack vs. Browserify . In the discussion he inadvertently coins a hilarious term for a form of rhetoric in some circles of the JavaScript community - “Modularity Shaming”. React itself has been on the receiving end of…
Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 2024
In the first half of 2024, Ruby LSP has seen significant enhancements, particularly in the area of code navigation, thanks to the advancement of its indexer. In this post, we’ll dive into the major code navigation enhancements that have been made to Ruby LSP. We’ll also touch on some experimental features that are on…
Rust in illumos
Systems engineering, Rust development, and Unix infrastructure by Till Wegmüller (@toasterson)
Typed Lisp, a Primer
Exploring Lisp's fine-grained type hierarchy.
Compiler Bugs Found When Porting Chromium to VC++ 2015
Moving a big software project to a new compiler can be a lot of work, and few projects are bigger than Chromium. In addition to the main Chromium repository, which includes all of Blink, there are …
Debugging WebAssembly outside of the browser
WebAssembly has begun to establish itself outside of the browser via dedicated runtimes like Mozilla’s Wasmtime and Fastly’s Lucet. While the promise of a new, universal format for programs is ...
Dead Code Should Be Buried – Why I Didn't Contribute to NLTK
Natural Language Processing moves fast, so maintaining a good library means constantly throwing things away. Most libraries are failing badly at this, as academics hate to editorialize. This post explains the problem, why it's so damaging, and why I wrote spaCy to do things differently.
Protobuf-py: Protobuf for Python, without compromises
We're announcing protobuf-py, a complete, 100% conformant Protobuf runtime for Python that feels like Python and matches the performance of Google's C engine on real workloads.