Introducing Zink: OpenGL on Vulkan
For the last month or so, I’ve been playing with a new project during my work at Collabora, and as I’ve already briefly talked about at XDC 2018, it’s about time to talk about it to a wider audience.
For the last month or so, I’ve been playing with a new project during my work at Collabora, and as I’ve already briefly talked about at XDC 2018, it’s about time to talk about it to a wider audience.
Lamport's fault-intolerant state machine replication algorithm In 1978, Lamport published his classic "Time, Clocks, and the Ordering of E...
The Multia feels to me like Digital’s take on a high-end “legacy-free” (at introduction in late 1994) desktop. Its spec sheet includes features unheard of in its contemporaries:
Hardware Bugs can be frustrating, as they are likely the last place you would expect a bug. Unfortunately, they can and do happen. Most likely every CPU has a list of erratas. This post outlines th…
The text in these files is the unedited original manuscript. M-K has fine copy editors, who have fixed all the minor typos, spelling, and grammar errors in the printed book, but if you come across factual errors I'd still appreciate help getting all the details of linking and loading as complete and correct as…
opensnoop in pure C using eBPF
Minimodem can play and capture audio modem tones in real-time via the system audio device, or in batched mode via audio files.
Still not really about LAPACK. It's a second part of the “outperforming” series explaining how the C++ metaprogramming can appear useful for efficient code generation.
My parents live in a rural area, where the usual monopolist Internet service provider provides the usual monopolist Internet service: DSL, r...
Remember that famous hack for approximating y = x −1/2 from Quake III? It goes like this:
Posts and writings by Lennart Poettering
See also Dennis Ritchie on aliasing, PLOS article , pointer alias in C and remarks on the purpose of C.
I’ve been working with GraalVM for a while now mostly on the Polyglot aspect, but some work has been done in the native image support. Today I’d like to shar...
In this article I give a brief tour of a program analysis technique called symbolic execution. As the title indicates, I aim to explain both the intuition behind the technique, and also the details of a simple implementation. My intended audience is professional programmers who have no background in program analysis.
I know that a lot of people struggle with understanding the memory model introduced in C11/C++11. In a recent conversation I was alerted to the existence of this blog post, which while correct (by …
As a rule, "sophisticated" progrmming is pretty boring - optimizing the unnecessary to speed up the uninteresting. Here, however, is an incredibly sophisticated package intended for fun and games. The more you know about software, the more astounded you will become as you read this.
Tim Kadlec writes about performance, product management, and the web.
When receiving bytes from the network, we often assume that they are unicode strings, encoded using something called UTF-8. Sadly, not all streams of bytes are valid UTF-8. So we need to check the strings. It is probably a good idea to optimize this problem as much as possible. In earlier work, we showed that ……
Last week, the server farm of our LMU Student Council had a major downtime over almost five days. As part of the administrator team there, I’d like to publish this post mortem to share our experiences and lessons learned to avoid situations like this in the future.
How T2 burstable instances and CPU credits really work, with a worked example of a busy t2.micro running out of credits and grinding to a halt.
Building a high performance supercomputer for under £100 (£550 including twelve Fire3s). Parts list, benchmarks and downloadable plans for laser-cutting the acrylic case.
GCC 8.1 was released and Linux distros are starting to pick it up. This week hit the openSUSE Thumbleweed update with full rebuild (thanks t...
In this post, we model and explore the two-phase commit protocol using TLA+. The two-phase commit protocol is practical and is used in man...