Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 3,470 posts.
A brief history of Rust at Facebook
Facebook is embracing Rust, one of the most loved and fastest-growing programming languages available today. In addition to bringing new talent to its Rust team, Facebook has announced that it is o…
Sans-IO: The secret to effective Rust for network services
Learn how Firezone uses the sans-IO pattern to build testable, deterministic Rust networking code. A deep dive into our connlib design.
Image Compression with Neural Networks
Posted by Nick Johnston and David Minnen, Software EngineersData compression is used nearly everywhere on the internet - the videos you watch onlin...
ORM is an anti-pattern
ORM looks great early in a project but breaks down as complexity grows, forcing you to learn SQL anyway. Relations aren't objects. Either use NoSQL for object-like data or write a model layer with real SQL. ORM's abstraction is leaky, its efficiency poor, and the alternatives are better.
The Unix process API is unreliable and unsafe (2021)
It is difficult to write software which reliably and safely manages processes on Unix; this is because of flaws in the API. I know of no Unix system which has solved these problems, but in this article I'll be specifically talking about the Linux process API.
Generators in Firefox now 22 times faster
wingolog: article: generators in firefox now twenty-two times faster
Designing a Tree Diff Algorithm Using Dynamic Programming and A*
During my internship at Jane Street 1 , one of my projects was a config editing tool that at first sounded straightforward but culminated in me designing a custom tree diffing algorithm using dynamic programming, relentlessly optimizing it and then transforming it into an A* accelerated path finding algorithm. This…
Organizational debt is like technical debt, but worse
Startups focus on speed since they are burning cash every day as they search for product/market fit. But over time code/hardware written/built to validate hypotheses and find early customers can be…
Supercharging the Git Commit Graph
Have you ever run gitk and waited a few seconds before the window appears? Have you struggled to visualize your commit history into a sane order of
React v17.0 Release Candidate: No New Features
This blog site has been archived. Go to react.dev/blog to see the recent posts. Today, we are publishing the first Release Candidate for React 17. It has been two and a half years since the previous major release of React, which is a long time even by our standards! In this blog post, we will describe the role of this…
How I Eat for Free in NYC Using Python, Automation, AI, and Instagram
Living and working in the big apple comes with big rent.
Meanwhile, at code.org
In Mindstorms I made the claim that children can learn to program and that learning to program can affect the way they learn everything else. I had in mind something like the process of re-empowerment of probability: the ability to program would allow a student to learn and use powerful forms of proba- bilistic ideas…
A Taste of WebGPU in Firefox
WebGPU is an emerging API, designed from the ground up within the W3C, to provide access to the graphics and computing capabilities of hardware on the web.
NoSQL Data Modeling Techniques
NoSQL databases are often compared by various non-functional criteria, such as scalability, performance, and consistency. This aspect of NoSQL is well-studied both in practice and theory because sp…
Streaming HTML out of order without JavaScript
Chris Haynes - web developer consultant
So you want to build a browser engine
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Docker Considered Harmful (2016)
A note in advance: This is absolutely not about Docker being too "opinionated" for me, or other tools being more flexible. I believe that learning and using Docker is just plain more complicated than learning and using the tools I describe below. Docker is genuinely more complex and harder to use than the…
Tree Sitter and the Complications of Parsing Languages
I talk about tree sitter, CEDET, and Combobulate -- my "paredit-style" package that's designed to work with most programming languages.
Corrosion
Corrosion is distributed service discovery based on Rust, SQLite, and CRDTs.
Stages of Denial
It is a lazy Tuesday afternoon. Perhaps you were idly browsing your favorite news aggregator, or visiting The Orange Website to wade through murky startup groupthink in search of interesting links.
A Spreadsheet and a Debugger Walk into a Shell
Here we continue the series of posts on the development of a command-line shell which defies terminal emulation by using the display server API locally and a purpose built network protocol remotely…
Why Clojure? (2010)
I have recently become quite an enthusiast for the language Clojure . But why? Why would someone who has spent the last 30 years programmi...
Perl Saved the Human Genome Project (1996)
The human genome project was inaugurated at the beginning of the decade as an ambitious international effort to determine the complete DNA sequence of human beings and several experimental animals. The justification for this undertaking is both scientific and medical. By understanding the genetic makeup of an organism…