Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,544 posts.
GNU GCC does not round floating-point divisions to the nearest value
I know that floating-point arithmetic is a bit crazy on modern computers. For example, floating-point numbers are not associative: 0.1+(0.2+0.3) == 0.599999999999999978 (0.1+0.2)+0.3 == 0.600000000000000089 But, at least, this is fairly consistent in my experience. You should simply not assume fancy properties like…
Rewriting Sysctl(8) in Rust: Systeroid
sysctl is a simple and great tool for modifying the kernel parameters. It does its job very well by providing an easy-to-use interface for /proc/sys. It is maintained as a part of procps toolkit for years and it can easily be considered a legacy tool today. So why not push it to its limits and turn it into a more…
A linear algebra trick for computing Fibonacci numbers fast
Fast Fibonacci Computations With a Linear Algebra Twist
Time spent programming is often time well spent
I concur so strongly not only because he writes about RSS, which I'm on record as supporting and using. I enjoy rolling my own simple software in almost any domain. Simple has a lot of advantages. Under my control has a lot of advantages. But the biggest advantage echoes what Dr. Drang says: Programming is often more…
Lessons Learned from “On Writing Well”
The article is a summary of my lessons learned from On Writing Well by William Zinsser. By providing a summary I hope to help other developers to improve their writing. Apart from that it helps me to memorize my lessons learned.
Going faster by duplicating code
This function doesn't know the value being multiplied until it is called. The compiler (gcc, O2) emits a generic integer multiply instruction in its loop body.
Apple removes Scratch from iPad/iPhone/iTouch
A real bummer — Apple removed Scratch from the iTunes store, so it’s no longer available for iPad, iPhone, or iTouch. Why? Discussion on the Scratch forums suggests that it’s be…
Writing Apps in Go and Swift
A guide for wrapping Go code in Swift for use within a native macOS or iOS application.
Donkey code
This is an attempt to write down a very simple example I’ve been using to explain the profound impact the language we use has on thought, discussion and ultimately code. Imagine you have a co…
Clojure & Python, Side by Side
Function order has been rearranged here and there to appease Clojure's single-pass compiler.
You Don't Read Code, You Explore It
It's not about technology for its own sake. It's about being able to implement your ideas.
Notes on WebAssembly
An advanced beginner's take on WebAssembly.
Gamedev from Scratch 1: Scaffolding
Welcome to part 1 of this narrative series about writing a complete video game from scratch, using the PICO-8. This is actually the second part, because in this house (unlike Lua) we index from 0, so if you’re new here you may want to consult the introductory stuff and table of contents in part zero. If you’ve been…
Filesystem error handling
We’re going to reproduce some results from papers on filesystem robustness that were written up roughly a decade ago : Prabhakaran et al. SOSP 05 paper , which injected errors below the filesystem and Gunawi et al. FAST 08 , which looked at how often filesystems failed to check return codes of functions that can…
Reflecting on WikiTok
Civil Engineer and Software Developer
Open Source .NET – 2 years later
A little over 2 years ago Microsoft announced that they were open sourcing large parts of the .NET framework and as Scott Hanselman said in his recent Connect keynote, the community has been contributing in a significant way:
Making ActiveRecord 2x faster
TL;DR: AdequateRecord is a set of patches that adds cache stuff to make ActiveRecord 2x faster
Mavo: An HTML-based language for creating many kinds of web applications
Today I finally released the project I’ve been working on for the last two years at MIT CSAIL : An HTML-based language for creating (many kinds of) web applications without programming or a server backend. It’s named Mavo after my late mother ( Ma ria V er o u), and is Open Source of course (yes, getting paid to work…
League of Legends data scraping the hard and tedious way for fun
Personal website for some random tidbits I work on
Reversing the technical interview (2017)
If you want to get a job as a software witch, you’re going to have to pass a whiteboard interview. We all do them, as engineers–often as a part of our morning ritual, along with arranging a beautiful grid of xterms across the astral plane, and compulsively running ls in every nearby directory–just in case things have…
NPM Package Hijacking From the Hijacker's Perspective
In light of recent events in the javascript community, I would like to share the story of how I came into control of more than 200 heavily…
Understanding and coding the self-attention mechanism of large language models
Step-by-step tutorial explaining scaled dot-product self-attention for large language models, with Python code that builds the mechanism from scratch.
The Traveling Salesman with Simulated Annealing, R, and Shiny
I built an interactive Shiny application that uses simulated annealing to solve the famous traveling salesman problem. You can play around with it to create and solve your own tours at the bottom of …
What's New in Emacs 30.1?
What is new in Emacs 30.1? I go through every change in the NEWS file and talk about the most interesting and useful changes.