Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 62 posts.
How I cut GTA Online loading times by 70%
GTA Online. Infamous for its slow loading times. Having picked up the game again to finish some of the newer heists I was shocked (/s) to discover that it still loads just as slow as the day it was re
The free lunch is over: a fundamental turn toward concurrency in software (2005)
The biggest sea change in software development since the OO revolution is knocking at the door, and its name is Concurrency.
Asynchronous Everything (2015)
Joe Duffy's Blog | Adventures in the high-tech underbelly
Parsing Protobuf at 2+GB/S: How I Learned to Love Tail Calls in C
[Note: there have been several developments in this space since thisarticle was published. See A Tail Calling Interpreter For Python (And Other Updates) for...
ZGC – What's new in JDK 16
JDK 16 is out, and as usual, each new release comes with a bunch of new features, enhancements and bug fixes. ZGC received 46 enhancements and 25 bug fixes. Here I’ll cover a few of the more interesting enhancements.
Dissecting the Apple M1 GPU, part I
Apple’s latest line of Macs includes their in-house “M1” system-on-chip, featuring a custom GPU. This poses a problem for those of us in the Asahi Linux project who wish to run Linux on our devices, as this custom Apple GPU has neither public documentation nor open source drivers. Some speculate it might descend from…
GNOME has no thumbnails in the file picker and my toilets are blocked
GNOME filepicker and my toilets are broken because of culture of mediocrity.
Why Create a New Unix Shell?
This post explains the project's motivation from several perspectives. Unix shell is an old and successful technology, so there are many ways of looking at it.
Effective Concurrency with Algebraic Effects in Multicore OCaml
Algebraic effects and handlers provide a modular abstraction for expressing effectful computation, allowing the programmer to separate the expression of an effectful computation from its implementation. In this post, I will present an extension to OCaml for programming with linear algebraic effects, and demonstrate…
Arranging Invisible Icons in Quadratic Time
Near the end of January I was pointed to a twitter thread where a Windows user with a powerful machine was hitting random hangs in explorer. Lots of unscientific theories were being proposed. I don…
Docker in Production: A History of Failure (2016)
Introduction My first encounter with docker goes back to early 2015. Docker was experimented with to find out whether it could benefit us. At the time it wasn’t possible to run a container [i…
Performance comparison: counting words in Python, Go, C++, C, Awk, Forth, Rust
Performance comparison of counting and sorting word frequencies in various languages (Python, Go, C++, C, AWK, Forth, and Rust)
Linux in a Pixel Shader – A RISC-V Emulator for VRChat
Linux in a Pixel Shader - A RISC-V Emulator for VRChat
Dissecting the Apple M1 GPU, Part IV
After beginning a compiler for the Apple M1 GPU , the next step is to develop a graphics driver exercising the compiler. Since the last post two weeks ago, I’ve begun a Gallium driver for the M1, implementing much of the OpenGL 2.1 and ES 2.0 specifications. With the compiler and driver together, we’re now able to run…
Authenticated Boot and Disk Encryption on Linux
Posts and writings by Lennart Poettering
File Descriptor Limits
Posts and writings by Lennart Poettering
The Unix Magic Poster
I understand the classic UNIX Magic poster by Gary Overacre was distributed at past USENIX conferences, and I’ve known of it for years but now in confinement, I’ve decided I want one to hang in my ...
Dissecting the Apple M1 GPU, Part II
Less than a month ago, I began investigating the Apple M1 GPU in hopes of developing a free and open-source driver. This week, I’ve reached a second milestone: drawing a triangle with my own open-source code. The vertex and fragment shaders are handwritten in machine code, and I interface with the hardware via the…
Surprisingly Slow
I have an affinity for performance optimization and making software as efficient as possible. Over the years, I've encountered specific instances and common patterns that make software or computers slow. In this post, I'll shine a spotlight on some of them.
Dissecting the Apple M1 GPU, Part III
After a few weeks of investigating the Apple M1 GPU in January, I was able to draw a triangle with my own open source code . Although I began dissecting the instruction set, the shaders there were specified as machine code. A real graphics driver needs a compiler from high-level shading languages (GLSL or Metal) to a…
Raspberry Pi 3 Fastboot – Less Than 2 Seconds
This post tells about my journey on fast-booting a Raspberry Pi 3 (RPI). In addition to that, some optimizations are discussed that can be applied to a Qt (QML) application. At the end, we will have a …
GC progress from JDK 8 to JDK 17
JDK 17 has been out for a few months and it’s not just packed with new language features. The performance boost compared to older JDK versions is also really significant. It becomes especially clear when compared to the previous LTS releases, JDK 8 and JDK 11. Much of the improved performance comes from new features…
Patterns of Distributed Systems (2020)
A catalog of patterns to better understand, communicate, and teach the design of distributed systems