New
The latest blog posts to take off on Hacker News. 21,819 posts.
Arvind has died
Arvind, a longtime MIT professor and leading scholar in computer architecture and programming languages, has died at 77. He transformed research in computer architectures and parallel computing, enabling faster and more efficient computation.
Software design gets worse before it gets better
The price of improving structure
AI-powered conversion from Enzyme to React Testing Library
Update (October 2024): In response to numerous requests from external developers, we have open-sourced a version of our Enzyme to React Testing Library (RTL) conversion tool. You can now find it on npm, along with detailed instructions on how to integrate and use it in your projects. In the world of frontend…
Algorithmic fitting of Japanese candy
Introduction to bin packing through a simple example of fitting boxes of candy inside a parcel.
Two ways to use an LED as a light sensor with Arduino
I needed to log when a light switched on and off during the night as part of debugging an oddly behaving movement sensor. To do that I built...
IPC in Rust – A Ping Pong Comparison
I wanted to explore different ways of communicating between different processes executing on the same machine, and doing so as fast as possible. We're focussing on high speed inter-process communication (IPC), but some of these approaches can be extended across a network. We'll do this exploration in Rust.
Code Models
Code reflection, an enhancement to Java reflection, enables access to symbolic representations of Java code in method and lambda expressions. “Symbolic representations of Java code” may seem like a fancy term, but its easily demystified. It’s a model of Java code where the code of a method or lambda expressions is…
Every Way to Get Structured Output from LLMs
A survey of every framework for extracting structured output from LLMs, and how they compare.
The upcoming iterator design for Go 1.23
NOTE: This is based on, but completely rewritten, from a Twitter post:https://x.com/TheGingerBill/status/1802645945642799423TL;DR: It makes Go feel too "functional" rather than being an unabashed imperative language.I recently saw a post on Twitter showing the upcoming Go iterator design for Go 1.23 (August 2024)…
A Note on Essential Complexity
The fact that we can’t remove essential complexity with a software redesign doesn’t mean that there’s nothing we can do about it. What if the problem definition wasn’t outside of our purview? What if we could get the world to conform to the software, and not just the other way around?
LLM that can call multiple tool APIs with one request
Learn about Cohere models' ability to perform multi-step tasks, enhancing productivity and efficiency.
Htmx 2.0.0 has been released
htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when…
Crossing the impossible FFI boundary, and my gradual descent into madness
Anyone trying to make a new mainstream language is completely insane, unless they're backed by a large corporation. 0
React 19 almost made the internet slower
The author discusses the React 19 change that went unnoticed until last week that could potentially degrade the performance of websites that rely React.
How to test without mocking
Mocking creates false security by testing isolation, not real behavior. Separate business logic from IO, use in-memory DBs, write server-side E2E tests instead.
The Programmer's Brain (2021)
by Felienne Hermans
NumPy-style broadcasting in Futhark
A high-performance and high-level purely functional data-parallel array programming language that can execute on the GPU and CPU.
Software Friction
In his book On War, Clausewitz defines friction as the difference between military theory and reality: Thus, then, in strategy everything is very simple, but not on that account very easy. Everything is very simple in war, but the simplest thing is difficult. These difficulties accumulate and produce a friction, which…
NumPy 2.0
NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
Why "Structure and Interpretation of Computer Programs" matters (2011)
In 2011, to celebrate the 150th anniversary of MIT, the Boston Globe made a list of the most important innovations developed there. They asked me to explain the importance of SICP, and this is what I sent them:
Packaging Swift Apps for Alpine Linux
While trying to build my Age Apple Secure Enclave plugin , a small Swift CLI app, on Alpine Linux , I realized that the Swift toolchain doesn’t run on Alpine Linux. The upcoming Swift 6 will support (cross-)compilation to a static (musl-based) Linux target, but I suspect an Alpine Linux version of Swift itself isn’t…
The History of DR DOS
The last of Digital Research
Hello world in C inline assembly (2018)
A C program that writes "hello, world!" to the console using inline assembly instead of standard library functions, demonstrating direct system call invocation.
Reformatting 100k Files at Google in 2011
Laurent Le Brun's blog
Fifty Years of Diff
The first manual was duplicated for a very small coterie. In order to channel queries directly to the horses’ mouths, authorship was attributed to individuals. Later, as authorship diffused, on the principle of”You touched it last; it’s yours,” authorship was attributed only in the segregated chapter of unofficial…
Address Sanitizer Internals
Going in depth into the Address Sanitizer internals.
Good code is rarely read
The other day I was interviewing a developer for a position at Wallapop. The candidate was a little bit junior, but I enjoyed their technical assignment and the conversation was going great. One of the questions I had to ask was
Django SQLite Production Config
Optimize your Django SQLite configuration for production.
Serialization for C# Games
Build complex state preservation systems for implementing game save systems or custom netcode with Chickensoft's new serialization tools.