Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,827 posts.
A Beginner’s Guide to Chart.js
In this tutorial, we are going to learn how to draw charts with Chart.js and how to customize them to suit our needs.
Optimizing Ruby's JSON, Part 4
In the previous post, we established that as long as ruby/json wasn’t competitive on micro-benchmarks, public perception wouldn’t change. Since what made ruby/json appear so bad on micro-benchmarks was its setup cost, we had to find ways to reduce it further.
Scaling a High-Traffic Rate Limiting Stack with Redis Cluster
Flattening a single very hot vertical Redis node into a horizontal Redis Cluster at Stripe.
Finite state machines as data structure for representing ordered sets and maps
It turns out that finite state machines are useful for things other than expressing computation. Finite state machines can also be used to compactly represent ordered sets or maps of strings that can be searched very quickly.
Creating Shazam in Java (2010)
A couple of days ago I encountered this article: How Shazam WorksThis got me interested in how a program like Shazam works… And more importantly, how hard is...
BreakTime: Running Breakout inside Google Calendar
A version of brickbreaker inside google calendar - your meetings are bricks, and the game declines them when you smash them!
The Illustrated GPT-2: Visualizing Transformer Language Models (2019)
Discussions: Hacker News (64 points, 3 comments), Reddit r/MachineLearning (219 points, 18 comments) Translations: Simplified Chinese, French, Korean, Russian, Turkish This year, we saw a dazzling application of machine learning. The OpenAI GPT-2 exhibited impressive ability of writing coherent and passionate essays…
Linux Kernel Development and Writing a Simple Kernel Module (2018)
This post is the first post in linux kernel series. Writing code to run in the kernel is different from user application. While developing in the kernel, you don’t write code from scratch, you need to implement one or more interfaces and register your implementation within the a kernel subsystem.
Why is OOP still so widely spread?
OOP has been wildly successful. But was the success just a coincidence? And can it still offer something unique in 2020 that other programming paradigms cannot?
Modern CI is too complex and misdirected (2021)
The state of CI platforms is much stronger than it was just a few years ago. Overall, this is a good thing: access to powerful CI platforms enables software developers and companies to ship more reliable software more frequently, which benefits its users/customers. Centralized CI platforms like GitHub Actions, GitLab…
Porting 58k lines of D and C++ to Jai
In this series of blogposts, I will document my experience of porting the game that I am currently working on to the jai programming language. It’s currently written in mostly D and some C++ and comes in at exactly 58,620 lines of code (excluding libraries). I’ve planned on doing this for a long time and want to keep…
When to use Bazel?
Learn about the benefits and challenges of using Bazel, Google's open-source monorepo build system, from experts who have experience with it. D...
Why many developers still prefer Objective-C to Swift
Lack of ABI stability, slow compile times, poor Xcode support, and more hold Swift back
Reimagining front-end web development with htmx and hyperscript
We all know that to create an interactive front end for your website you need JavaScript. Not just vanilla JS, mind: we're in 2022, and to create an…
Using unwrap() in Rust is okay
One day before Rust 1.0 was released, I published a blog post covering the fundamentals of error handling . A particularly important but small section buried in the middle of the article is named “ unwrapping isn’t evil ”. That section briefly described that, broadly speaking, using unwrap() is okay if it’s in…
Making Django CMS as easy to install as WordPress
People can be quite snobbish about WordPress, just as they are about many successful things. But there’s a very good reason for WordPress’s tremendous success.
Why we built Lightpanda in Zig
We chose Zig over C++ and Rust because we wanted a simple, modern systems language. Here's what we learned building a browser with it.
Key differences between Python 2.7.x and Python 3.x (2014)
Many beginning Python users are wondering with which version of Python they should start. My answer to this question is usually something along the lines…
It is fast or it is wrong
Fast programs are always fast, slow programs are slow even on a most powerful computers. Knowing that fast solution exists makes slow one plain wrong.
How much math you need for programming (2014)
Whenever I wanted to learn Algorithms, Mathematics used there somehow seemed to be an obstacle. I admit my Math is not that good but it ain’t that bad either but this “ain’t bad&#…
F# is gaining independence from .NET
F# is a language that will make you sleep better
Pre-commit hooks are broken
use pre-push hooks instead
C++26 Shipped a SIMD Library Nobody Asked For
std::simd Can't Express 90% of Real SIMD Code
The True Cost of Rewrites
Your code is complex and working with it is difficult. Years of development and bug fixes have you ready to declare bankruptcy on your technical debt and start again from scratch. It feels so freeing to leave all your past mistakes behind and start over in a new technology and do everything right this time. Before…