New
The latest blog posts to take off on Hacker News. 49,208 posts.
Homoiconic Python
McCarthy's Lisp in Python lists
Brain Uses Quantum Effects, New Study Finds [video]
Science News, Physics, Science, Philosophy, Philosophy of Science
Garbage Collectors Are Scary
Garbage collectors are expected to be invisible: if programmers (or even users) notice them, something is wrong. Usually, such problems are are performance problems, but there could be correctness issues as well. This makes implementing them a bit scary.
Emoji History: The Missing Years
During my research into vintage Japanese drawing software, I came across some devices that had built in sketch or handwritten memo functions. I bought a coup...
Virtualizing the 6502 on a 6502 with 6o6
Okay, promises, promises. Here's the first of my bucket list projects I'm completing which I've intermittently worked on for literally two d...
The Emacs Window Management Almanac
Window management in Emacs gets a bad rap. Some of this is deserved, but mostly this is a consequence of combining a very flexible and granular layout system with rather coarse controls. This leaves the door open to creating and using tools for handling windows that employ and provide better metaphors and affordances…
The derivative of a number (2014)
Are you kidding? Edward Barbeau is now a professor emeritus of mathematics at the University of Toronto. Over the years he has been working to increase the interest in mathematics in general, and e…
Thread: Tech we can’t use or teach?
Random thoughts, articles and projects by a chronic overengineer.
Spider-Man (Neversoft) Decompilation Project Progress Checkpoint – May 2024
Progress report for the Spider-Man decompilation project
OpenBSD Desktop
I am a minimalist, and I tend to always keep it as small as I can, so I try to use all I have in base (if it fits), plus of course some other tools needed.
Making Sense of Acquire-Release Semantics
Multiprocessor Synchronization was one of my favorite classes during my undergrad — it had a clear progression from theory to practice, starting at the theory of consensus numbers and moving onto atomic operations and then synchronization primitives and lock-free data structures, all from first principles. With…
So We've Got a Memory Leak
A story of finding, understanding, and fixing a memory leak in our Rails app. With graphs and code!
The world has probably passed peak pollution
Millions die prematurely from local air pollution, but we can reduce this number significantly.
How bad are satellite megaconstellations for astronomy?
Over the last number of years, our planet has become encircled by Starlink, OneWeb, and other “megaconstellation” satellites.
It's always TCP_NODELAY
The first thing I check when debugging latency issues in distributed systems is whether TCP_NODELAY is enabled. And it’s not just me. Every distributed system builder I know has lost hours to latency issues quickly fixed by enabling this simple socket option, suggesting that the default behavior is wrong, and perhaps…
UTC, Tai, and Unix Time (2001)
TAI times are identified by year, month, day, hour, minute, and second. There are exactly 86400 TAI seconds in every TAI day. TAI days are labelled by the Gregorian calendar.
The Time I Lied to the CTO and Saved the Day
This was several years back. Keep in mind that early in my career, my father had told me that doing a good job often meant doing what needed to be done in spite of your boss. And by that he meant that you can either make your boss successful and happy or you can run every decision by your boss. In which case no one is…
Opening Windows in Linux with sockets, bare hands and 200 lines of C
In this post I want to create a single file C file program to open a windows inside Linux without using xlib or any similar libraries. The idea is to explore X11 protocol and see how it is used to interact with X server to create windows.
Stack Overflow users deleting answers after OpenAI partnership
In this ever changing and evolving world of user generated versus AI generated content, the recent announcement of Stack Overflow partnering with OpenAI recently has been met with some backlash by …
Development Notes from xkcd's "Machine"
How we designed xkcd's massive rube goldberg machine game in 3 weeks.
The search for easier safe systems programming
I've been involved in the Rust project in some form or another since 2016, and it's a language I'm very comfortable using. Many Rust programmers could say the same . But, if we take a step back and are honest with ourselves, we'd admit that the road to getting to that level of comfort was difficult.
Needle: A DFA Based Regex Library That Compiles to JVM ByteCode
Many years ago, Kragen complained about the implementation and performance of Java regexes , and suggested that an implementation that emitted JVM bytecode could perform better. It's been a minute, but I'm happy to report that complaining on the Internet has served its purpose.
The Rise of the Forever Renter Class
On those who are unable or unwilling to buy a house in 2024 and what to do about it.
The Birth of Parquet
15 years ago (2007-2011) I was at Yahoo! working with Map/Reduce and Apache Pig, which was the better Map/Reduce at the time. The Dremel paper just came out and, as everything I worked with seemed to be inspired from Google papers, I read it. I could see it applying to what we were doing at Yahoo! and this was to…
We've been put in the vibe space
Search+recs+open-ended text boxes
How Python asyncio works: recreating it from scratch
Learn how asyncio works by recreating it from scratch with Python generators and using the __await__ dunder method for the async/await keywords.