Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 2,470 posts.
Of SVG, Minification and Gzip
Smaller files are downloaded faster, so making an asset file size smaller before sending it to a client is a good thing to do.
A programming language from scratch: 3 steps to an interpreter
A little while ago I wrote about 16bitjs, a 16 bit virtual machine written in javascript. It implemented a custom CPU architecture and assembly language, assembler, and debugger. I had the thought …
Building a Distributed Log from Scratch: Data Replication
In part one of this series we introduced the idea of a message log, touched on why it’s useful, and discussed the storage mechanics behind it. In part two, we discuss data replication. We have our log. We know how to write data to it and read it back as well as how data is persisted. The caveat to this is, although we…
Open Source .NET three years later
A little over 3 years ago Microsoft announced that they were open sourcing large parts of the .NET framework and as Scott Hanselman said in his Connect 2016 keynote, the community has been contributing in a significant way:
Candy Japan 2017 Year in Review
This was another tough year for Candy Japan, with many factors combining to a sharp decline in subscriber numbers. Contains revenue numbers, site statistics and learnings from 2017.
If companies interviewed tech recruiters the way they interview programmers
(The inspiration for this post came from here: https://medium.freecodecamp.com/welcome-to-the-software-interview-ee673bc5ef6)
A History of the Silmarils in the Fifth Age
[Spoiler warning for The Silmarillion] I. The Silmarillion describes the fate of the three Silmarils. Earendil kept one, and traveled with it through the sky, where it became the planet Venus. Maed…
Extracting Chinese Hard Subs from a Video, Part 1
I’ve been watching the Chinese TV show 他来了,请闭眼 (Love Me If You Dare). It’s a good show, kinda reminiscent of the BBC series Sherlock, likewise a crime drama ...
Why is the Quintic Unsolvable?
In this article, I hope to convince you that the quintic equation is unsolvable, in the sense that I can’t write down the solution to the equation \[ ax^5 + bx^4 + cx^3 + dx^2 + ex + f = 0 \] using only addition, subtraction, multiplication, division, raising to an integer power, and taking an integer root. In fact, I…
A step-by-step guide to building a simple chess AI
Let’s explore some basic concepts that will help us create a simple chess AI:
Magic Paper
Working notes by Michael Nielsen , November 2017. Followup to (but doesn't require) my notes on Chalktalk .
How to Write Portable C Without Complicating Your Build
Suppose you’re writing a non-GUI C application intended to run on a number of operating systems: Linux, the various BSDs, macOS, classical unix , and perhaps even something as exotic as Windows. It might sound like a rather complicated problem. These operating systems have slightly different interfaces (or very…
WebAssembly Raytracer
While teaching a web development class, I wanted to present some benchmarks that show the performance benefits of asm.js as well as WebAssembly. I was unfortunately not able to find a suitable reference. Therefore, I implemented a simplistic raytracer in JavaScript as well as in C++ with a similar code structure while…
Working on Chrome made me develop a tool for reading source code
Coati is a developer tool for fast and efficient source code navigation and exploration. This is the story of how an internship at Google…
Kalman filters and functional programming
A paper on Kalman filtering and functional folds that I alluded to previously has been split into several papers and posted online.
UIDebuggingInformationOverlay
Update, December 9, 2017: This overlay still exists, but this post’s instructions don’t work on iOS 11 and later. In an update to his excellent book, Advanced Apple Debugging and Reverse Engineering, Derek Selander describes how to get the panel working in iOS 11. He’s generously posted the chapter for free here.While…
Eat food. Not too much. Mostly plants. (2007)
Eat food. Not too much. Mostly plants.
GTD in 15 Minutes – A Pragmatic Guide to Getting Things Done
GTD—or “Getting things done”—is a framework created by David Allen for organizing and tracking your tasks and projects. Its aim is a bit higher than just “getting things done”, though. (It should have been called “Getting things done in a much better way than just letting things happen, which often turns out not to be…
Ways to Get Better at C++
Expressive code in C++
As the U.S. Retreats, Canada Doubles Down on Net Neutrality
As the U.S. Federal Communications Commission prepares to rollback net neutrality protections, the Canadian government has used the controversy to double down on its support for net neutrality safeguards, linking it to democracy, equality, and freedom of expression. I've written several posts on how the U.S. decision…