How terminal works. Part 1: Xterm, user input (2021)
Hi there. I am going to post here thing about my work or my technical hobbies. This means c++, java, haskell, python, linux etc.
Topics /
The most popular blog posts about systems & performance on Hacker News. 569 posts.
Hi there. I am going to post here thing about my work or my technical hobbies. This means c++, java, haskell, python, linux etc.
I'm squarely in the trough of disillusionment with S3.
I read a wonderful twitter thead about CGI and the birth of the web and this triggered a thought I've been kicking around. > Wasm is the new CGI And to be cle...
I commented on Lobsters that /tmp is usually a bad idea , which caused some surprise. I suppose /tmp security bugs were common in the 1990s when I was learning Unix, but they are pretty rare now so I can see why less grizzled hackers might not be familiar with the problems.
A deep dive into the complexities of optimizing code for SIMD instruction sets across multiple platforms.
From Hypervisor APIs in OS X 10.10 Yosemite in 2014, through early VirtIO kernel extensions in Mojave in 2018, and Arm hypervisor support in Big Sur.
A deep dive into merykitty's 8-line SWAR temperature parser from the One Billion Row Challenge, using bitwise tricks and ALU magic with no loops or branches.
Next time you look at a transmission line, I hope you'll focus on the big four properties: characteristic impedance, high-frequency loss, delay, and cros...
By Jose Fernandez, Sebastien Dabdoub, Jason Koch, Artem Tkachuk
Cheers to the Next Level!
So, there's this function. It's called a lot. More importantly, all those calls are on the critical path of a key user interaction. Let's talk about making it fast.
It'll bite you some day
Notion engineers sped up Notion's browser speed with WASM SQLite
SQLite is fast, really fast. On a single ~40€ / m commodity server, it can sustain ~168,000 reads and ~8000 writes per second, concurrently. Because it's an embedded library designed for client-side applications such as embedded systems and phone & desktop applications, SQLite databases have to be co-located…
If you love exploit mitigations, you may have heard of a new system call named mseal landing into the Linux kernel’s 6.10 release, providing a protection called “memory sealing.” Beyond notes from the authors, very little information about this mitigation exists. In this blog post, we’ll explain what this syscall is…
In today's article, we're embarking on something unprecedented! We'll guide you step by step through the process of transforming an SSD equipped with QLC NANDs into an SLC SSD, significantly enhancing its durability and overall performance!
The first argument of a program’s command line, typically reflecting the program’s name/path and often referred to as argv[0], can in most cases be set to an arbitrary value without affecting the process’ flow. Making the case against argv[0], this post demonstrates how it can be used to deceive security analysts…
The difference in security defaults between Debian and Red Hat.
Have you ever tried to compile a helloworld Rust program in --release mode? If yes, have you seen its binary size? Suffice to say, it’s not exactly small. Or at least it wasn’t small until recently. This post details how I found about the issue and my attempt to fix it in Cargo.
If we have a heuristic to guess some value cheaply, we can remove a data dependency in a tight loop using the branch predictor. This allows the CPU to run more instructions in parallel, increasing performance. If this explanation does not make much sense to you, keep reading to learn about some of the magic making…
If you're writing C++, there's a good reason (maybe...) as to why you are. And probably, that reason is performance. So often when reading about the language you'll find all sorts of " performance tips and tricks " or " do this instead because it's more efficient ". Sometimes you get a good explanation as to why you…
Ever since the supply of fresh IPv4 address blocks was depleted there has been a number of interesting market changes, mostly around the costs to either acquire or lease IPv4 address blocks. Since the demand for IPv4 addressing has not changed that much, prices have gone up, and more providers like AWS, Hetzner, OVH…
Virtualization is a powerful technique for code obfuscation, and reversing it can be challenging. In this post, we cover the work done during an internship on developing an automated devirtualization tool. We explore a simplified taint-based approach and discuss its limitations. For a more in-depth analysis, the full…
The {fmt} formatting library is known for its small binary footprint, often producing code that is several times smaller per function call compared to alternatives like IOStreams, Boost Format, or, somewhat ironically, tinyformat. This is mainly achieved through careful application of type erasure on various levels…
The other day I was implementing multi-threaded stat() calls in bfs . When I ran some benchmarks, I saw something that made my heart skip a beat:
Event-driven architecture is great, but it can cause a lot of headaches if it is used for the wrong purpose.
Linux's epoll API solved the C10K problem, enabling fast and afforable Internet services.
One thing is certain in life: if you’re getting something for a steal, someone is getting screwed, and it’s probably you elsewhere. This isn’t an anti-capitalist rant, it’s just the truth. Companies don’t exist if they don’t make money. Unless there’s some innovation, rest assured that you’re overpaying somewhere else.