Articles on Linux
Last updated: 2023/03/08
Top deep-dives on Linux
Dmitry Grinberg describes making a business card that runs Linux.
Although the complexity of modern computers is great, in that it allows to to quickly build wonderful applications that would've previously taken 1000x the resources, one downside is that it becomes really easy to miss out on all of the details of what your computer is actually doing. Justine Tunney's Blinkenlights is a neat binary emulator that allows you to watch under the hood of your computer when running an executable.
"In essence the Page Cache is a part of Virtual File System (VFS) which main purpose, as you can guess, is improving IO latency of read and write operations". In this second article of a nine part series, Viacheslav Biriukov answers questions like what is, what problem does it solve, and why is it called a "Page" cache, then goes on to outline how reads and writes are handled.
An older article, but useful nonetheless. Simon Kitching provides background information about relevant commands and the process in general for downloading and installing code from source.
- Highlights different methods of distribution
- Covers security, specifically checking the checksum hash
- Touches on build Systems: configure, make, cmake, etc
Nelson Elhage describes a bug related to creating child processes in Linux that was causing unexpected crashes in a small percentage of distributed jobs.
Jordan Webb explains how a misapplied patch in Ubuntu caused it to panic when Docker containers were launched.
Jann Horn does a very deep and technical dive on exploiting a garbage collection race condition in the Linux kernel.
Xingyu Jin does "a deep dive into an in-the-wild Android exploit" that is enabled by a race condition in the Linux kernel's garbage collector.
Cooper Lewis explains how the traditional model of linux packaging has many issues and provides a solution in the form of Flatpak.
- "Dependency hell describes how Linux systems rely on specific libraries and versions of software, and if those libraries conflict with each other, installations can fail"
- I'm continually amazed that the Linux ecosystem is not only surviving, but thriving
- "Adoption of a universal app format may noticeably accelerate the development pace of many Linux applications"
Keaton Brandt walks us through optimizing Rust code for one of the Advent of Code challenges.
- Profilers are tools that analyze how well a piece of software is performing
- Perf-based libraries like flamegraph work by sampling the stack trace of your software on a regular interval
- Miri is a project owned by the rust team with the aim of running rust code in an interpreter, primarily to help with debugging
Kyle Zeng describes a 0-day vulnerability in the Linux kernel that they found and exploited on Google's kCTF platform. Kyle goes on to describe the process of reporting the bug and submitting the exploit.
Vladimir Makarov "discuss[es] how [he] plan[s] to support the generation of specialized and deoptimized code in MIR, and what support has already been implemented in the MIR project".
Martin Stein explores implementing a WireGuard VPN on Gentoo Linux.