The Jujutsu version control system
The missing introduction.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,116 posts.
The missing introduction.
NSCopyObject is a very old Foundation function – pre-dating Mac OS X entirely; from the NeXT era – that was originally basically just memcpy , but now it’s complicated. A lot more complicated.
Using Elixir instead of Python or Ruby for shell scripting.
What Ruby’s top-level methods actually are, who they belong to and how they are namespaced
A post by Eshel Yaron with details and advice about a long standing arbitrary code execution vulnerability in Emacs
Tuesday, January 28, 2003 0xCAFEBABE & 0xFEEDFACE Recently, the origin of the magic numbers of 0xCAFEBABE and 0xFEEDFACE came up in an email conversation between a number of ex-NeXT folks. Specifically, someone asked what the origin of the two magic numbers were in the context of mach-o file formats and why had Java…
Why are database DELETEs complex and inefficient? Uncover challenges from physical data removal to autovacuum, and find strategies for managing large deletions.
An english translation of Edsger W. Dijkstra's interview on Dutch TV.
This set of slides sketches out the implementation of Hell , in technical detail. I do tend to switch between the slides, old code, and the present code, so bear with me. It's more about the ideas. If you want to see a complete implementation, the complete implementation of Hell is one file , which you can look…
Looking beyond the hype and explaining why microservices should nearly become extinct.
I recently stumbled upon a blog post by Alejandra González (a.k.a @blyxyas) that seeks to compress a tic-tac-toe game state into as few bits as possible. She arrived at a solution in 18 bits. This got me thinking, can we do better?
The basics condensed into one very large document
GC within a function doesn't work how I expected
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...
This morning, I came accross Cameron Sun’s Probabilistic Tic-Tac-Toe on HN . However, the comments were disappointing, with people proposing probabilistic models, linear programming, minimax algorithms, and heuristic evaluations to develop AI approaches for the game, none of which quite correct. In this post, I’ll…
Clojure macros have two modes: avoid them at all costs/do very basic stuff, or go absolutely crazy.
Trust me, there's a reason for this
The .NET team has been working on a new experiment called async2, which is a new implementation of the async/await pattern that is designed to be more efficient and more flexible than the current implementation. It started with green threads and ended with an experiment that moves async and await to the runtime. This…
CPS, or continuation-passing style, is an intermediate representation for programs, particularly functional programs. It’s used in compilers for languages such as SML and Scheme. Much of its utility comes from its support for tail calls and nonlocal control flow such as call/cc, but it can also be used as an…
So zero-cost abstractions exist?
One of the great strengths of strace as a debugging tool is that it shows you what a program is doing regardless of whether it was compiled with debug info or not. The downside of this is that you …
How do you solve a memory heisenbug?
A few years ago, on a whim, I wrote YAIOUOM. YAOIOUM was a static analyzer for Rust that checked that the code was using units of measures correctly, e.g. a distance in meters is not a distance in centimeters, dividing meters by seconds gave you a value in m / s (aka m * s^-1). YAIOUOM was an example of a refinement…
CSS finally adds vertical centering in 2024