-
Operating systems part 0: Hardware building blocks
The essential components of modern systems
-
The Open Source Project Maintainer's Guide
How to Win Contributors and Influence Developers
-
You destroyed your community to spite another company, and now you want it back?
-
Parsing WebSocket frames faster: a deep dive
I spent a week investigating why my socket upload performance in a Phoenix LiveView application was so poor
-
TI CPSW hardware lacks soft resets and breaks drivers
There's no code for "turn it off and back on again" this time
-
Importing CSS files from JS is ridiculous
After years of frontend development, this is the best we've come up with?
-
Think twice before squashing your commits
Are you sure you want to destroy your commit history?
-
Extending FidelityFX FSR to support an alpha channel
Making FSR useful for compositing tricks
-
Linux's vm.max_map_count limit doesn't make any sense
There is no discernible reason for this to be kept
-
Don't let competition distract you from your goals
Focus on yourself and your product, not them
-
clang is impractical to use as a library
Regexing C++ code from a Python script is probably more efficient than anything you're thinking of
-
Some mild pedantry about atomics and memory-mapped registers
-
Android Studio is the worst IDE I have ever used
Why did Google pay for this?
-
Hardware features AMD GPUs lack that their competition has
AMD GPUs do not implement two important features, which hinders their compatibility and usefulness
-
libc++ needs to support jthread
LLVM has unacceptably avoided implementing jthread for years, and developers are paying the price for it
-
Desktop GPUs should support ASTC texture formats
Vendor avoidance of a compressed texture family on desktop GPUs hurts gamers and game developers
-
Why you should consider intrusive lists and trees
How to save memory, support unique data structures, and reduce allocations with intrusive data structures
-
Avoiding signed overflow with MSVC is unnecessarily inefficient
MSVC's intrinsics are hopelessly stuck in the past and make it impossible to write efficient code for overflow detection
-
Spamming GPU work in parallel with a light load makes it go faster
Avoiding clock speed ramping by always doing work can save your GPU performance
-
Developer tooling is what you make of it
Don't be afraid to make your own tools when you need them
-
GDB remote serial protocol is bad
A protocol designed for 9600-baud serial ports is not up to the task of debugging complex applications today
-
GCC is putting extraneous warnings on code after it has been optimized, which makes those warnings unusable
-
I cut storage costs in half and made it easier to upgrade hardware
-
Instant, private search-as-you-type using JS and a binary blob
Improving the experience for everyone when tagging images
-
I messed up in my previous post on random sorting, and chose a function that was too weak
-
Random partial ordering of huge sets with cryptography
Using the mathematics of encryption to randomly order huge sets without visiting any elements
-
Pondering the utility of writing a replacement to Elasticsearch
-
Elasticsearch's license change is a disaster for free software
How to abandon your community and make absolutely everyone upset
-
Using a Content-Security-Policy in Phoenix applications
A simple Plug definition to secure your frontend
-
Is Webpack the best JS bundler we have?
A complaint about the current state of frontend development
-
Extremely fast range queries using bitmap trees and a modified version of Quickselect
-
Introduction to a novel data structure which optimizes bitmap indices for range queries
-
An interactive introduction to the Quickselect algorithm
-
An interactive introduction to the bitmap data structure
-
An overview and criticism of many aspects of the Ruby on Rails framework
-
How MongoDB continues to waste countless hours of my time and energy, even after completely removing it from my application