Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,842 posts.
Speeding Up Rendering Rails Pages with render_async
Adding new code to Rails controllers can slow your pages down. Here's how to make rendering your Rails pages faster.
Gzip decompression in 250 lines of Rust
i wanted to have a deeper grasp of how compression works, so i wrote a gzip decompressor from scratch. the result is about 250 lines of rust that can decompress gzip from a file or stdin.
Porting Libyaml to Safe Rust: Some Thoughts
The following is a loose collection of thoughts that came up while porting unsafe-libyaml to safe, idiomatic Rust, which may be useful to someone else who is considering "rewriting it in Rust", as the ancient journeyman prayer goes.
Remote Code Execution as a Service
Learn how Earthly Compute, a remote code execution as a service, was built to handle bursty workloads and provide secure and fast remote execution ...
MCP 2026-07-28 Specification: transport going stateless
The 2026-07-28 Model Context Protocol specification is out, bringing a stateless protocol core, Multi Round-Trip Requests, header-based routing, cacheable list results, authorization hardening, a formal extensions framework, and updated Tier 1 SDKs.
React v16.2.0: Improved Support for Fragments
This blog site has been archived. Go to react.dev/blog to see the recent posts. React 16.2 is now available! The biggest addition is improved support for returning multiple children from a component’s render method. We call this feature fragments: Fragments look like empty JSX tags. They let you group a list of…
Switching Costs in Software Development
The story of why it is important to make sure that it is easy to switch from one service to another.
Stinkpot: SQLite-backed shell history
sqlite-backed shell history
PHP 5.7 now nearly twice as fast as PHP 5.6
correction: php core developers have urged that it is improper to call this version “5.7” (despite the versioning file stating so) PHP 5.7 PHP NG is still in alpha development…
You are the WM
A window manager is a program that runs in the background, and give you keybinds and/or mouse moves to move/resize and arrange your windows on your screen.
Julia Macros for Beginners
Macros are a powerful and interesting feature of the Julia programming language, but they can also be confusing. Users coming from Python, Matlab or R have not come in contact with similar constructs before, and they require a different way of thinking about code. This article is supposed to be a simple introduction…
The inconceivable types of Rust: How to make self-borrows safe (2024)
One of the first things any Rust programmer learns is that you can’t pass an object and a reference to that object around at the same time. It’s impossible to do, even indirectly. This limitation has been the subject of countless questions on Stack Overflow and posts on Reddit and the Rust forums and anywhere else…
Gemma-4-26B-A4B with 39-69% less thinking at same accuracy
This is the fifth model in the ThinkingCap series. We reduced how much Google's gemma-4-26B-A4B-it thinks, without compromising the quality of its answers.
Software Development: Mistakes I Made
Recently I revealed the secret of academic success. This was so popular (16000 views!) that I decided I would follow up with the secret of software success – success in producing software. No…
Data evolution with set-theoretic types
We explore how set-theoretic types could address how many statically typed languages do not allow libraries to evolve their public data definitions in a backwards compatible manner. The proposed solution aims to be automatically verified by the compiler and type safe.
Programming Sucks
E very friend I have with a job that involves picking up something heavier than a laptop more than twice a week eventually finds a way to slip something like this into conversation: “Bro, 1 [1] you don’t work hard. I just worked a 4700-hour week digging a tunnel under Mordor with a screwdriver.”
Speech Dictation Mode for Emacs
T here is a wide range of input mechanisms for computers, starting with keyboards (which are relatively mature) and extending to various types of neural interfaces (currently under research). Speech lies somewhere on this spectrum with a lot of promises but still not much to show for. Keeping accessibility aspects…
Deno in 2020
Retrospect of what happened in Deno in 2020
Beyond OpenMP in C++ and Rust: Taskflow, Rayon, Fork Union
Most C++ and Rust thread pools run 10x slower than OpenMP on fork-join workloads. Fork Union closes the gap to 20% with 300 lines, dodging mutexes and CAS.
Clojure, Faster
Dynamic, functional programming languages like Clojure are sometimes considered “slower” than their statically-typed and/or OO counterparts, due to facilities like dynamic function disp…