Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
We scaled the GitHub API with a sharded, replicated rate limiter in Redis
Adventures in leveling up our API rate limiting infrastructure
Streaming Combinators and Extracting Flat Parallelism
A high-performance and high-level purely functional data-parallel array programming language that can execute on the GPU and CPU.
GCC 8 Link Time and Interprocedural Optimization
GCC 8.1 was released and Linux distros are starting to pick it up. This week hit the openSUSE Thumbleweed update with full rebuild (thanks t...
Quantum Up Close: What is a browser engine?
A web browser is a piece of software that loads remote files and displays them locally, allowing for user interaction. Quantum is the code name for an project we’ve undertaken ...
Two-phase commit and beyond
In this post, we model and explore the two-phase commit protocol using TLA+. The two-phase commit protocol is practical and is used in man...
The Year of Linux on Everything but the Desktop
Beyond its status as a world leader in hackathon organization, BeMyApp has been supporting its customers' digital transformation for 10 years. We are committed to accelerating the development of their innovations by animating internal and external communities around the world, through in-person, virtual, or hybrid…
Buffer overflow when pwfeedback is set in sudoers
Sudo’s pwfeedback option can be used to provide visual feedback when the user is inputting their password. For each key press, an asterisk is printed. This option was added in response to user confusion over how the standard Password: prompt disables the echoing of key presses. While pwfeedback is not enabled by…
UTC, Tai, and Unix Time (2001)
TAI times are identified by year, month, day, hour, minute, and second. There are exactly 86400 TAI seconds in every TAI day. TAI days are labelled by the Gregorian calendar.
Blockchains Considered Harmful: Is Brute-Force Processing Replacing Good Design?
Emerging cryptocurrencies, such as Bitcoin and Ethereum have reached market capitalizations in the billions of U.S. dollars and transactions volumes in the hundreds of millions of U.S. dollars per …
Big Sur on Unsupported Macs
My macOS Big Sur Patcher allowed countless users of older Macs to enjoy the new design and features of macOS Big Sur.
Comparison of C/POSIX standard library implementations for Linux
The table below and notes which follow are a comparison of some of the different standard library implementations available for Linux, with a particular focus on the balance between feature-richness and bloat. I have tried to be fair and objective, but as I am the author of musl , that may have influenced my choice of…
Beating C with 70 lines of Go
Writing a faster wc utility in Go
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,...
ARM vs. Intel on Amazon’s Cloud: A URL Parsing Benchmark
Twitter user opdroid1234 remarked that they are getting more performance out of the ARM nodes than out of the Intel nodes on Amazon's cloud (AWS). I found previously that the Graviton 3 processors had less bandwidth than comparable Intel systems. However, I have not done much in terms of raw compute power. The Intel…
Stremio OS Is Now Available for Raspberry Pi 5 and 4
We are happy to announce that Stremio is now available for Raspberry Pi 5 and 4, installable on an SD card (of at least 8GB). Note: While the Raspberry Pi 5 is fully capable of smooth 4K playback, Raspberry Pi 4 will not be able to play 4K content due to hardware limitations. This release...
Programming Modern Systems Like It Was 1984
It's not about technology for its own sake. It's about being able to implement your ideas.
The Moore's Law free lunch is over. Now welcome to the hardware jungle.
Or, A Heterogeneous Supercomputer in Every Pocket In the twilight of Moore’s Law, the transitions to multicore processors, GPU computing, and HaaS cloud computing are not separate trends, bu…
If one GUI's not enough for your SPARC workstation, try four
Who needs a jack-o-lantern when you've got a bright orange gas plasma display? This is a 1990 Solbourne Computer S3000 all-in-one workst...
Unusual speed boost: size matters
One of my concerns last year was that while WebKit was getting faster on common benchmarks, some operations were getting slower as a byproduct of new features and optimizations.
Bringing Clang to Windows
As you may know, Visual Studio now supports building Android and iOS applications using Clang. We realize the need of our users to write cross-platform
Improving Postgres Connection Scalability: Snapshots
Improving connection scalability in Postgres 14. From the neat to the gritty: snapshot scalability edition.
Boot Naked Linux
When I was a kid , computers weren’t coddled and left running 24/7, when you were done with them you switched them off, and when you wanted them again you just switched them on and within a second or so they’d be loading whatever was in their disk drive.
Spark Breaks Previous Large-Scale Sort Record
Read how Apache Spark sorted 100 TB of data (1 trillion records) 3X faster using 10X fewer machines in 2014.
Libreboot 20230423
Libreboot – Libreboot 20230423 released!
Writing a FUSE filesystem in Python
If you’re a regular reader, you might have noticed that I’ve been on a quest for the perfect backup program , and ended up writing my own encryption layer over bup.
What I learned from Erlang about resiliency in systems design (2019)
Failure in computer systems is inevitable. Adopting Erlang's philosophy of "Let it crash" at the many layers of abstractions in software can have a huge positive impact on resiliency.