New
The latest blog posts to take off on Hacker News. 6,947 posts.
The Fastest Google Fonts
Google Fonts is fast. Now it’s faster. Much faster.
AVX-512 Mask Registers, Again
Taking a second look at the newly introduced mask registers, this time with the benefit of a SKX die shot from Fritzchens Fritz.
Android’s IPv6 Is Still Broken
I got into some interesting discussions about IPv6 on Twitter. Then someone asked if Android is getting DHCPv6 support in version 11 of the OS.
Why is Idris 2 so much faster than Idris 1?
I've just released a new version of Idris 2 , which is a significant release in that it's the first one which is able to compile itself. Thus, it's the first one where we can really see how the performance of Idris 2 improves on the performance of Idris 1.
Implementing simple cooperative threads in C
Using setjmp(), longjmp(), and assembly to implement a simple threading system in C!
Scaling SQLite to 4M QPS on a Single Server (EC2 vs. Bare Metal)
Discover how Expensify achieved remarkable scaling: 4M QPS on one server! Dive into optimizing SQLite for impressive performance gains.
Don’t Be Afraid of RAID
I sense this sentiment on the internet that RAID is dangerous, that the likelihood of your RAID array failing during a rebuild is almost a certainty, because hard drives have become so large.
Jepsen: MongoDB 4.2.6
2020-05-26: MongoDB identified a bug in the transaction retry mechanism which they believe was responsible for the anomalies observed in this report; a patch is scheduled for 4.2.8.
Chromium project finds that 70% of security defects are memory safety problems
The Chromium project finds that around 70% of our serious security bugs are memory safety problems . Our next major project is to prevent such bugs at source.
Why NetNewsWire Is Fast
NetNewsWire is fast because performance is one of our core values. Being fast is part of the very definition of the app.
Decimating Array.Sort with AVX2
Decimating Array.Sort with AVX2. I ended up going down the rabbit hole re-implementing array sorting with AVX2 intrinsics. There’s no reason I should go down alone.
Back of the envelope estimation hacks
There are two types of engineers, the ones that can quickly do estimates and the ones that can’t. Are these people just smarter, or is there more to it? Enrico Fermi was a master at estimation Back of the envelope estimation is a skill that can be learned with practice. It becomes easier once you get familiar with…
MacOS Catalina: Slow by Design?
In episode 379 of ATP both Marco Arment and John Siracusa described noticeable delays and stalls after upgrading to macOS 10.15.
VexRiscv is a quadcore, Linux-capable RISC-V softcore for FPGA
FPGAs can be seen as a bridge between the domains of hardware and software as their hardware operation can be reprogrammed using code, giving developers unprecedented flexibility. In advanced products that Antmicro helps its customers build, this flexibility to process parallel data often needs to be complemented with…
An introduction to RabbitMQ
What is RabbitMQ? Find out about this open-source message broker in our introduction to the powerful Message Queue tech.
Safe-Linking – Eliminating a 20 year-old malloc() exploit primitive
Research by: Eyal Itkin Overview One of our goals for every research project we work on in Check Point Research is to get an intimate understanding of how software work: What components do they contain? Are they vulnerable? How can attackers exploit these vulnerabilities? And more importantly, how can we protect…
Libinput's bus factor is 1 (2019)
A few weeks back, I was at XDC and gave a talk about various current and past input stack developments (well, a subset thereof anyway). On...
KVM host in a few lines of code
Trying to figure out how KVM-based virtual machine hosts work by implementing one from scratch.
DirectX is coming to the Windows Subsystem for Linux
DirectX 12, NVIDIA CUDA, OpenGL and OpenCL acceleration are coming to the Windows Subsystem for Linux.
Windows Package Manager Preview
We are thrilled to announce the Windows Package Manager preview! If you’re already familiar with what a package manager is, feel free to skip this
Python performance: it’s not just the interpreter
I have a particular view of Python performance from my experience on the Pyston project, and since this view is somewhat nonstandard I wanted to take some time to explain it and give a motivating e…
What is a control system anyway?
Hopefully some signal in the noise.
MMU gang wars: the TLB drive-by shootdown
T The problem Every once in a while I get involuntarily dragged into heat...
OpenBSD on the Microsoft Surface Go 2
I used OpenBSD on the original Surface Go back in 2018 and many things worked with the big exception of the internal Atheros WiFi. This meant I had to keep it tethered to a USB-C dock for Ethernet or use a small USB-A WiFi dongle plugged into a less-than-small USB-A-to-USB-C adapter.
A highly efficient, real-time text-to-speech system deployed on CPUs
Text-to-speech systems across the industry typically rely on GPUs or specialized hardware to generate state-of-the-art speech in real-time production. We solved core efficiency challenges to process one second of audio in 500 milliseconds — using only CPUs.
The CPU Cost of Networking on a Linux Host
When evaluating networking for a host the focus is typically on latency, throughput or packets per second (pps) to see the maximum load a...
Up to 4GB of Memory in WebAssembly
Thanks to recent work in Chrome and Emscripten, you can now use up to 4GB of memory in WebAssembly applications. That’s up from the previous limit of 2GB. It might seem odd that there was ever a limit - after all, no work was needed to allow people to use 512MB or 1GB of memory! - but it turns out that there are some…