The largest number representable in 64 bits
A rewrite of this blog post with many new insights and updates appeared in Jan 2026
The latest blog posts to take off on Hacker News. 14,540 posts.
A rewrite of this blog post with many new insights and updates appeared in Jan 2026
This article is the final part of a series about Street Fighter II and the CPS-1. It is recommended to read the previous entries before reading this one.
I ♥ to /bin/bash and last week I came around the one bash book to rule them all.
Or, how the feature that allows to write less names might make the code more explicit.
git branches: intuition & reality
(New to this series? Consider starting from part 1) At the end of the last post, DbgRs could finally set breakpoints. That was the last really critical feature needed for controlling execution of a program. Now that it can stop on an arbitrary function or code location, the next step is to find more information about…
A little essay on the amusement or horror that may bring to learn that both test and [ are binaries on your typical Unix system, and that [[ is subject to completely different rules.
Github Renamed Me - We will change your SSH keys and you will like it
2023-12-27—Ars Technica: YOYOZO wins GOTY accolade! almost unbelievable to be listed alongside such games as: Chants of Sennaar, Cocoon, Dave the Diver, Hu...
Did you hear the news? Firefox development is moving from Mercurial to Git . While the decision is far from being mine, and I was barely involved in the small incremental changes that ultimately led to this decision, I feel I have to take at least some responsibility. And if you are one of those who would rather use…
Programming, Coffee and Indie Hacking
Introducing River, a Postgres-based job queue designed for resilience and correctness through strong transactional guarantees.
Knuth knows how to maintain information hygeine.
Common Lisp programming is often presented as “interactive”. In most languages, modifications to your program are applied by recompiling it and restarting it. In contrast, Common Lisp lets…
6.033, MIT’s class on computer systems, has as one of its catchphrases, “Complex systems fail for complex reasons”. As a class about designing and building complex systems, it’s a reminder that failure modes are subtle and often involve strange interactions between multiple parts of a system. In my own experience…
You can't safely use the C setenv() or unsetenv() functions in a program that uses threads. Those functions modify global state, and can cause other threads calling getenv() to crash. This also causes crashes in other languages that use those C standard library functions, such as Go's os.Setenv ( Go issue ) and Rust's…
Things I Learned From Hundreds of Experiments
I cancelled my annual Replit Hacker plan and I'll let it lapse at the end of December of 2023. Replit is a popular and growing multi lan...
I was going through the release notes of the new Python 3.12 version the other day, and one item caught my attention in the deprecations section:datetime.datetime’s utcnow() and utcfromtimestamp()…
A Lindemayer system or LSystem for short consists of an alphabet of symbols that can be used to make strings, a collection of production that expand each symbol into some larger string of symbols, an initial “axiom” string from which to begin construction, and a mechanism for translating the generated strings into…
Even though I don't respect podcasts as an information delivery system, I recently listened to a podcast that felt like having an epiphany.
Magic Mouse hack with USB-C charger
A look into the implementation details of CPython's Global Interpreter Lock (GIL) and how they changed between Python 3.9 and the current development branch that will become Python 3.13.
An in-depth analysis of how World of Warships obfuscates its game scripts and how to mostly deobfuscate them automatically.
I analyzed stackoverflow for secrets and leaks.
In my article on HTML web components , I said: But the unique power of web components (in the browser) is that they can render before JavaScript. React…
You don’t need CRDTs You don’t need CRDTs for collaborative experiences. First lets get the ‘what-about-ery’ out the way… Things you do need CRDTs for …
A short note on two related rules of thumb.