New
The latest blog posts to take off on Hacker News. 6,947 posts.
Prompt – A terminal for a container-oriented desktop
Prompt is a terminal that marries the best of GNOME Builder’s seamless container support, the beauty of GNOME Text Editor, and the robustness of VTE. I like to think of it as a companion terminal to Builder. Though it's also useful for immutable/container-oriented desktops like Fedora Silverblue or Project Bluefin…
Windows Protected Print Mode
Over the past year, the MORSE team has been working in collaboration with the Windows Print team to modernize the Windows Print System. This new design,...
Google's response to Reptar CPU vulnerability
Just as Vulnerability Research is an important area of focus at Google, so is Vulnerability Response to critical and complex vulnerabilities. Vulnerability Response at Google not only helps secure Google’s products and users, but in certain cases, it affects millions of devices across the Internet. In this post, we'll…
Ubuntu 24.04 LTS will enable frame pointers by default
Today Canonical is raising the bar for performance and observability by enabling frame pointers by default in Ubuntu 24.04 LTS. […]
Zero downtime Postgres upgrades
How we upgraded from Postgres 11.9 to 15.3 with zero downtime
The mysterious second parameter to the x86 ENTER instruction
For an ABI that probably nobody uses.
BSD on Windows: Things I wish I knew existed
It’s 1995 and I’ve been nearly two years in the professional workspace. OS/2 is the dominant workstation product, Netware servers rule the world, and the year of the Linux desktop is going to happen any moment now. If you weren’t running OS/2, you were probably running Windows 3.1, only very few people were using that…
A Matter of Millimeters: The story of Qantas flight 32
How a mistake of less than half a millimeter in a single part nearly brought down the world’s largest passenger aircraft.
Firefox Keeps Getting Faster
Web browsing is a pervasive part of modern life, and the quality of the experience directly affects the quality of your day. When your tasks are disrupted
Paving the way to efficient architectures: StripedHyena-7B
StripedHyena-7B is an open-source model built beyond the Transformer architecture, matching Llama-2 and Mistral 7B while running faster on long sequences.
For processing strings, streams in C++ can be slow
The C++ library has long been organized around stream classes, at least when it comes to reading and parsing strings. But streams can be surprisingly slow. For example, if you want to parse numbers, then this C++ routine is close to being the worst possible choice for performance: std::stringstream in(mystring)…
Virtual Machine as a core Android Primitive
News and insights on the Android platform, developer tools, and events.
A minimum complete tutorial of Linux ext4 file system (2017)
This is a complete tutorial for understanding the basics of Linux ext4 file system.
Buggy animation in Atlassian Bitbucket is wasting half a CPU core at all times
I was running some benchmarks the other day. I usually have a lot of things running (Teams, Chrome, IDE, etc…) but I have to close everything to run some tight benchmarks. When I am done, one of th…
The Intel 386 processor die: the clock circuit
Processors are driven by a clock, which controls the timing of each step inside the chip. In this blog post, I'll examine the clock-generati...
XCurl
It is often said that Imitation is the Sincerest Form of Flattery. Also, remember libcrurl? That was the name of the thing Google once planned to do: reimplement the libcurl API on top of their Chrome networking library. Flattery or not, it never went anywhere. The other day I received an email asking me about ……
Rust std fs slower than Python? No, it's hardware
Achieving Data Freedom Through Open Source and Rust
Eclipse ThreadX
TL;DR – Get Engaged! Contact us to learn how to become part of the Eclipse ThreadX Interest Group Contribute to the project and join the ThreadX developer mailing list Stay connected by joini…
Designing a SIMD Algorithm from Scratch
Another explainer on a fun, esoteric topic: optimizing code with SIMD (single instruction multiple data, also sometimes called vectorization ). Designing a good, fast, portable SIMD algorithm is not a simple matter and requires thinking a little bit like a circuit designer.
Evaluating M3 Pro CPU Cores: General Performance
Using assembly language test loops to understand the differences between M1 Pro and M3 Pro CPU cores casts new light on their differences.
C++ Memory Model: Migrating from x86 to ARM (2021)
Explore the C++ memory model and learn about migrating from x86 to ARM architectures. Enhance your understanding of memory management in C++.
Windows NT: Peeking into the Cradle
A review of "Showstopper!" by G. Pascal Zachary and my own reflections
Retries – An interactive study of request retry methods
An interactive guide to retrying requests: why naive retries overload a failing service, and how exponential backoff and jitter fix it.
Writing a Debugger from Scratch: Stacks
(New to this series? Consider starting from part 1) At the end of the last post, DbgRs could finally set breakpoints. That was the last really critical feature needed for controlling execution of a program. Now that it can stop on an arbitrary function or code location, the next step is to find more information about…