Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,819 posts.
Go += Package Versioning
More precisely, we need to add the concept of package versions to the working vocabulary of both Go developers and our tools, so that they can all be precise when talking to each other about exactly which program should be built, run, or analyzed. The go command needs to be able to tell developers exactly which…
Why doesn't Stripe use Stripe Billing?
Can Stripe actually use Stripe Billing to manage subscriptions and invoice its customers? We conducted the experiment.
Bzip2 crate switches from C to 100% Rust
Today we published bzip2 version 0.6.0 , which uses our rust implementation of the bzip2 algorithm, libbz2-rs-sys , by default. The bzip2 crate is now faster and easier to cross-compile.
Double Blind Passwords a.k.a. Horcruxing
Before we get into Horcruxing, here's a quick prologue on online security hygiene. You can skip to the Horcruxing section if it seems redundant. 1. Longer…
CheerpJ 3.0: a JVM replacement in HTML5 and WASM to run Java on modern browsers
For the past year, we have been working on a new architecture for CheerpJ: our implementation of the JVM in HTML5/WebAssembly, designed to run Java applications on the browser. CheerpJ 3.0 will be released in the late summer of 2023, and will be easier to use, faster, and more compatible than ever before. Our live…
Uv is fantastic, but its package management UX is a mess
uv's CLI feels surprisingly clunky compared to its peers like pnpm or Poetry.
How JavaScript works: Event loop and the rise of Async programming
PlaybookUX is an all-in-one software that allows you to recruit, conduct and analyze both qualitative and quantitative research, enhanced by AI.
Writing an OS in Rust: Advanced Paging
This post explains techniques to make the physical page table frames accessible to our kernel. It then uses such a technique to implement a function t…
I sped up serde_json strings by 20%
I have recently done some performance work and realized that reading about my experience could be entertaining. Teaching to think is just as important as teaching to code, but this is seldom done; I think something I’ve done last month is a great opportunity to draw the curtain a bit. serde is the Rust framework for…
Cap'n Proto 0.6 released – 2.5 years of improvements
Today we’re releasing Cap’n Proto 0.6, the first major Cap’n Proto release in nearly 2.5 years.
Building a CLI for all of Cloudflare
We’re introducing cf, a new unified CLI designed for consistency across the Cloudflare platform, alongside Local Explorer for debugging local data. These tools simplify how developers and AI agents interact with our nearly 3,000 API operations.
YC Tech Stacks
Read more on Y Combinator's blog.
I'd like to review your README
I'm afraid I'm not accepting new requests for review. I have reviewed all the ones I've received before 2022-03-24.
Ruby 2.7
We are pleased to announce the release of Ruby 2.7.0.
The Lost Art of C Structure Packing
This page is about a technique for reducing the memory footprint of programs in compiled languages with C-like structures - manually repacking these declarations for reduced size. To read it, you will require basic knowledge of the C programming language.
Malloc broke Serenity's JPGLoader, or: how to win the lottery
I got the chance to investigate an interesting bug in SerenityOS this week. It was related to the decoding of JPG images in the operating system. For some reason, when a JPG image is viewed, it comes out like this: Lenna, showing up with incorrect colors. Weird, huh? Also seems like a simple confusion of RGB vs. BGR…
MCP was always a bad idea?
Why MCP was always a bad idea and I'm tired of pretending it's not.
A Canadian payroll dependency chart
Unfortunately, like most aspects of the tax system, this steadily increases in complexity, and this year with the Canada Pension Plan including not just "base" premiums and "additional" premiums but also "second additional premiums", I needed to rewrite my spreadsheet from scratch; and also very unfortunately, the…
PHP 8.1.0
PHP 8.1 is a major update of the PHP language. Enums, readonly properties, first-class callable syntax, fibers, intersection types, performance improvements and more.
Idempotency is easy until the second request is different
Idempotency is not just an HTTP header or a key lookup. This article covers the failure cases that bite real APIs: different requests with the same key, concurrent retries, partial success, downstream uncertainty, response replay, expiry, and duplicate message handling.
If you thought code writing speed was your problem you have bigger problems
AI coding tools are optimising the wrong thing and nobody wants to hear it. Writing code was already fast. The bottleneck is everything else: unclear requirements, review queues, terrified deploy…
How random can you be?
Compare top same day payout casinos in Canada with verified withdrawal speeds, bonus offers, and player ratings for 2026.
TinyWM – A tiny window manager in around 50 lines of C
TinyWM is a tiny window manager that I created as an exercise in minimalism. It is also maybe helpful in learning some of the very basics of creating a window manager. It is only around 50 lines of C. There is also a Python version using python-xlib.
Racket v9.0
_posted by Stephen De Gabrielle and John Clements_ We are pleased to announce Racket v9.0 is now available from https://download.racket-lang.org/. **Racket 9.0 is here!** A major release is always exciting and Racket 9.0 is no exception in that it intr...
Most Influential Papers in Computer Science History
This post celebrates influential papers that shaped technology and communication. Their foundational concepts inspire continued innovation, highlighting the importance of understanding our roots fo…