New
The latest blog posts to take off on Hacker News. 582 posts.
Escaping strings faster with AVX-512
When programming, we often have to 'escape' strings. A standard way to do it is to insert the backslash character (\) before some characters such as the double quote. For example, the string my title is "La vie" becomes my title is \"La vie\" A simple routine in C++ to escape a string might look … Continue reading…
Scaling Git’s garbage collection
A tour of recent work to re-engineer Git’s garbage collection process to scale to our largest and most active repositories.
What makes a senior engineer? Writing software vs. building systems
Junior Engineers care about writing Software. They value code quality, employ best practices, try to adopt cutting-edge technologies. They invest a lo
Serving a high-performance blog solely from memory, using Rust
Xe Iaso's personal website.
Rethinking GPS: Engineering next-gen location at Uber (2018)
Uber’s Sensing, Inference, and Research team released a software upgrade for GPS on Android phones that significantly improves location accuracy in urban environments.
Transcending Posix: The End of an Era?
In this article, we provide a holistic view of the Portable Operating System Interface (POSIX) abstractions by a systematic review of their historical evolution. We discuss some of the key factors that drove the evolution and identify the pitfalls that make them infeasible when building modern applications.
Android 13 requires devices to have more than 2GB RAM and 16GB storage
News and insights on the Android platform, developer tools, and events.
Attacking Firecracker: AWS' MicroVM Monitor Written in Rust
Why are more security teams adopting Firecracker? How secure is it, and how suitable is it for your organization? This guide dives into this trending innovation.
A byte string library for Rust
bstr is a byte string library for Rust and its 1.0 version has just been released ! It provides string oriented operations on arbitrary sequences of bytes, but is most useful when those bytes are UTF-8. In other words, it provides a string type that is UTF-8 by convention , where as Rust’s built-in string types are…
How the SQLite virtual machine works
Let's look at how SQLite parses, optimizes, and compiles every query that it receives.
The Sheer Terror of PAM
Xe Iaso's personal website.
DBOS: A database-oriented operating system
Today, most people develop applications on operating systems such as Linux which are more than thirty years old, even though computing has changed a lot in the meantime. Since Linux was first released in 1991, the size of application state and data has grown by several orders of magnitude, many applications have moved…
macOS now scans for malware whenever it gets a chance
How macOS now has anti-malware scanners checking your Mac automatically many times each day for the most frequent malware.
Dear Linux, Privileged Ports Must Die
Privileged ports were a security feature in the days of dumb terminals, in the age of the World Wide Web, they are a security vulnerability.
Performance Improvements in .NET 7
.NET 7 is fast. Really fast. This post deep-dives into hundreds of performance improvements that contributed to that reality.
Git’s database internals II: commit history queries
This post explores Git commit history as a database where ‘git log’ is the query language. Learn about Git’s custom query index – the commit-graph file – and how to make sure it's enabled in your repositories.
Understanding Google’s File System (2020)
These paper reviews can be delivered weekly to your inbox , or you can subscribe to the Atom feed . As always, feel free to reach out on Twitter with feedback or suggestions!
Git’s database internals I: packed object store
This blog series will examine Git’s internals to help make your engineering system more efficient. Part I discusses how Git stores its data in packfiles using custom compression techniques.
The state of Flow-based Programming
Where Flow-based Programming stands after 50 years since its introduction. What problems it solves today. And what problems it can solve tomorrow for broader Software Engineering industry
An Introduction to PipeWire
This blog post is the first part of a series of 3 articles related to the PipeWire project and its usage in embedded Linux systems.
Hooking Go from Rust
How did we hook Go functions from Rust to work with mirrord? A quick dive into the Go Runtime and switching from the Go stack to the system stack.
How discord stores billions of messages (2017)
We decided early on to store all chat history forever so users can come back at any time and have their data available. This is a lot of data: how do we do it?
Why Xen Wasn't Hit by RETBleed on Intel CPUs
An article explaining why Xen wasn't affected by the recent RETBleed security issue on Intel CPUs.