Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,834 posts.
Technology Choices for My SaaS in Retrospect
Two years ago, I started out building a new software product. From the start, it would require mobile, web, and backend components to make it work, so I had to make quite a few technology choices. Here is how those turned out.
Beyond Ctrl-C: The dark corners of Unix signal handling
An introduction to signals: a written version of my talk at RustConf 2023.
Recent adventures in performance optimization with Rust
How to hash, index, profile, multi-thread, and SIMD your way to incredible speeds.
Introducing Electron Fiddle
Create, share, and play with small Electron experiments.
The Third Hard Problem
It’s not off-by-one errors.
A deep dive into Apple's .car file format
Reverse-engineering the .car file format used by Apple's asset catalogs and how to parse it without Apple's proprietary tools
Modern SQL: With – Organize Complex Queries
The WITH clause adds named subqueries to SQL queries. WITH is also known as Common Table Expression (CTE).
Atom's autocomplete just got better
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
CockroachDB 1.1 Released: Production Made Easy
CockroachDB 1.1 includes support for faster migrations from legacy databases, simplified cluster management, and improved performance.
How misaligning data can increase performance 12x by reducing cache misses
Here's the graph of a toy benchmark 1 of page-aligned vs. mis-aligned accesses; it shows a ratio of performance between the two at different working set sizes. If this benchmark seems contrived, it actually comes from a real world example of the disastrous performance implications of using nice power of 2 alignment…
Garbage collection is useful
A long time ago, I spent a few years working on garbage collection in the J9 Java VM. 1 And even though I’ve since done mostly done higher-level stuff, having a deeper knowledge of GC has continued to come in useful.
ReasonML: Strict, powerful and forgiving
I gave this talk at JSFoo, Bengaluru, in October 2018. It describes my experience in switching to ReasonML on the Turaku project and how learning to use a statically-typed functional programming language involves much more than learning the language's syntax or features.
Integrating Zig and SwiftUI
Building a native GUI for a cross-platform application is a decades old problem. Nowadays, most people just don't and fallback to using a non-native experience such as Electron instead.
A guide to threads in Node.js
While it is single-threaded, Node.js uses worker threads that allow for a separate execution thread that runs alongside the main thread.
How I Program Stuff
My method for writing code I care about: isolate myself for confidence and energy, eliminate every distraction, then code ruthlessly with no regrets.
Finding secrets by decompiling Python bytecode in public repositories
Cache rules everything around me. `pyc` files can contain secrets and should not be checked in to source control. Use the standard Python [.gitignore](https://github.com/github/gitignore/blob/master/Python.gitignore).
Compilers for Free
I’m fascinated by programming, and by metaprogramming in particular. When Ruby programmers talk about metaprogramming they usually mean programs that write programs , because Ruby has various features — like BasicObject#instance_eval , Module#define_method and BasicObject#method_missing — which make it possible to…
Mod and remainder are not the same
A remainder and a modulus look so very similar, but they are not the same thing and worse, are treated differently by different programming languages. Do you know how your language handles mod?
Fixing Classical Cats: How I got tricked by 28-year-old defensive programming
Every now and then, when working on ScummVM’s Director engine, I run across a disc that charms me so much I just have to get it working right away....
A tiny language called Z (2013)
A tiny, strict, impure, curried, dynamically typed (although that may change), partially applied language with rather peculiar syntax.
Python Patterns (2013)
python patterns diagram Over the past few months a number of people have come to me for guidance regarding various aspects of Python development, so I ...
GPU Architecture Types Explained
The behavior of the graphics pipeline is practically standard across platforms and APIs, yet GPU vendors come up with unique solutions to accelerate it, the two major architecture types being tile-based and immediate-mode rendering GPUs. In this article we explore how they work, present their strengths/weaknesses, and…