New
The latest blog posts to take off on Hacker News. 4,390 posts.
Better Compression with Zstandard
I think I first heard about the Zstandard compression algorithm at a Mercurial developer sprint in 2015. At one end of a large table a few people were uttering expletives out of sheer excitement. At developer gatherings, that's the universal signal for something is awesome . Long story short, a Facebook engineer…
V8: A Tale of TurboFan
Personal website of Benedikt Meurer, JavaScript Engine Hacker and Programming Language Enthusiast.
The “high-level CPU” challenge (2008)
Do you love ("very") high-level languages? Like Lisp, Smalltalk, Python, Ruby? Or maybe Haskell, ML? I love high-level languages.
Epoll is fundamentally broken
This time we'll focus on Linux's select(2) successor - the epoll(2) I/O multiplexing syscall.
Docker in Production: An Update
The previous article Docker in Production: A History of Failure was quite a hit. After long discussions, hundreds of feedbacks, thousands of comments, meetings with various individuals and major pl…
Finding the Lost Vikings – Reversing a Virtual Machine
After having fun reverse engineering the Comprehend Adventure game (Recomprehend) I was looking for a new DOS game reverse engineering project. Over the years various people have reversed a lot of …
C++ on Embedded Systems
Yet another programming blog. Thoughts on software and related misadventures.
How copying an int made my code 11 times faster
I have moved off Medium to a personal blog. Click here for the updated post.
Adventures in /usr/bin and the likes
Digging up some useful and not so popular commands in Linux
The Fastest Blog in the World (2015)
Update: James Hague, aka Dadgum was inspired by this to do some work on his blog and I’m happy to report that now his blog is the fastest blog in the world, 4K transferred and 1 request per page, load time < 75 ms. If you have a blog that’s even faster than that let me know.
50 Bytes of Code That Took 4 GB to Compile (2013)
While doing evil things with macros and the inline assembler (trying to run a weird test whose purpose is not really relevant) I managed to write a program that caused Visual Studio’s C++ compiler …
Mkfile(8) is severely syscall limited on OS X
When I got my brand-new MacBook Pro (late 2016), I was interested in testing out the phenomenal SSD performance I had been reading about, r...
Thrill – Big Data Processing with C++
Yesterday, I discovered an experimental Big Data processing framework written in C++ called Thrill. As most of you surely know, the well-known frameworks of this kind are mostly based on JVM, like …
The web sucks if you have a slow connection
A couple years ago, I took a road trip from Wisconsin to Washington and mostly stayed in rural hotels on the way. I expected the internet in rural areas too sparse to have cable internet to be slow, but I was still surprised that a large fraction of the web was inaccessible. Some blogs with lightweight styling were…
Modern garbage collection
A look at the Go GC strategy
What do you mean by “Event-Driven”?
Some notes on the different patterns that may be present when people talk about event-driven architectures.
68 things the CLR does before executing a single line of your code
Because the CLR is a managed environment there are several components within the runtime that need to be initialised before any of your code can be executed. This post will take a look at the EE (Execution Engine) start-up routine and examine the initialisation process in detail.
Where has my disk space gone? Flame graphs for file systems
Using the flame graph visualization to determine where file system or disk space is consumed, and answer where space has gone.
The TTY demystified (2008)
The TTY subsystem is central to the design of Linux, and UNIX in general. Unfortunately, its importance is often overlooked, and it is difficult to find good introductory articles about it. I believe that a basic understanding of TTYs in Linux is essential for the developer and the advanced user.
Retina iMac owners can greatly improve graphics performance of many applications
Hmph! Not sure which one is "correct" there... hmm... If you use kCGImageAlphaPremultipliedFirst for the CGBitmapContext rather than kCGImageAlphaNoneFirst, then it looks closer to the original, maybe. ? Also other caveat: NSBitmapImageRep can't seem to deal with the ARGB format either, so if you use that you need to…
The JVM is not that heavy
Mostly my opposition to Clojure is the JVM. That sh*t is heavy. This came up in the ZA Tech Slack team several weeks ago. While watching some Clojure talks...
Million requests per second with Python
Is it possible to hit a million requests per second with Python? Probably not until recently.
Htop Explained Visually
htop is a great tool but lacks good documentation. This article takes a visual and simple approach to explaining htop.