New
The latest blog posts to take off on Hacker News. 14,543 posts.
Pretending OOP Never Happened
OOP, for all its excesses, was a big step forward in software engineering. The way to move past OOP is to replace it with another discipline, not anarchy.
In Defense of the Modern Web
I expect I'll annoy everyone with this post: the anti-JavaScript crusaders, justly aghast at how much...
So you want to write your own CSV code (2014)
So You Want To Write Your Own CSV code? Fields separated by commas and rows separated by newline. Easy right? You can write the code yourself in just a few lines.
The logging framework isn't a bottleneck, and other lies your laptop tells you
Your laptop spends all day lying to you. If you want your code to run well on server hardware, best write it on server hardware.
Linux containers in a few lines of code
Trying to figure out how Linux containers work by implementing them from scratch in C.
In Praise of AutoHotKey
People think it’s weird that I do all my development on a Windows machine. It’s definitely a second-class citizen experience in the wider development world, and Windows has a lot of really frustrating issues, but it’s still my favorite operating system. This is for exactly one reason: AutoHotKey. AHK is an engine for…
RISC-V OS using Rust: Filesystems
I have taught operating systems at my university, so I will link my notes from that course here regarding the virt I/O protocol. This protocol has changed over the years, but the one that QEMU implements is the legacy MMIO interface.
Ryanair, Hamiltonian Cycles, and using graph theory to find cheap flights (2018)
Using graph theory and Ryanair route data to find cheap multi-city flight loops through Europe.
What if we'd had better HTML-in-JS syntax all along?
I have a theory that a grave mistake was made in 1995 - the decision not to have a neat, succinct and declarative way of representing html elements in javascript. [On reading the hacker news comments this is pretty historically inaccurate, however, I think this article still stands as "look just how close javascript…
Advanced SQL and database books and resources
For people who've worked through Mastery with SQL , a common question I get is "What's next?" If you completed the course and all 150+ exercises, at this point you'll have a very strong grasp of SQL and should be comfortable writing all sorts of complex queries. However, there's more to working with databases…
Make LLVM Fast Again
Clang is an “LLVM native” C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles […]
A commit history of BERT and its forks
What a commit history of version-controlled research papers could look like?
Write Libraries, Not Frameworks
Normally when I write about something on here I take the time to fully think-out a point, make a case, address all the major sides of the issue that I can think of, etc.
Revisiting the Business Card Raytracer
What is the most beautiful piece of code you have ever seen? Not only it is subjective, "beauty" is also a word that can mean a lot of things. If we were to be discussing of raw speed, I would bring up the Fast Inverse Square Root [1] . If we were to judge by aesthetic, my answer would be Andrew Kensler's, 1337 bytes…
OpenCV in the browser using WebAssembly and web workers
Learn how to use OpenCV in the web without a lot of headaches.
0xF Rules
I have been writing articles on this website for twelve years. If you were to look at the early versions , you would think it is a fresh-out-of-school project with icons drawn in Microsoft Paint. And that is exactly what it was. The site started in a world before smartphones and tablets at a time where Apple products…
Tackling Webdev as a Bioinformatician: why is it so hard?
The web is amazing and amazingly complex
An introduction to virtual memory
...and the crucial role it plays in modern operating systems.
When Parallel: Pull, Don't Push
I’ve noticed a small pattern across a few of my projects where I had vectorized and parallelized some code. The original algorithm had a “push” approach, the optimized version instead took a “pull” approach. In this article I’ll describe what I mean, though it’s mostly just so I can show off some pretty videos…
How to get stock fundamentals data with Python
Learn how to download fundamentals data with Python using the yahoo_fin package, including P/E and P/S ratios, return on equity, and more.
Why does musl make my Rust code so slow?
Software engineer specializing in query engines and distributed systems