New
The latest blog posts to take off on Hacker News. 4,419 posts.
Building a Language and Compiler for Machine Learning
Since we originally proposed the need for a first-class language, compiler and ecosystem for machine learning (ML), there have been plenty of interesting developments in the field. Not only have the tradeoffs in existing systems, such as TensorFlow and PyTo...
The American middle class is stable in size, but losing ground financially to upper-income families
While the size of the U.S. middle class remained relatively stable between 2002 and 2016, financial gains for middle-income Americans were modest compared with those of higher-income households.
C.S. Lewis on the Reading of Old Books
"It is a good rule, after reading a new book, never to allow yourself another new one till you have read an old one in between." - CS Lewis
Optimizing Siri on HomePod in Far‑Field Settings
The typical audio environment for HomePod has many challenges — echo, reverberation, and noise. Unlike Siri on iPhone, which operates close…
Steam’s discovery algorithm killed my sales
Firstly I want to be clear that I have had some measure of success on Steam and I’ve enjoyed going to Steam Dev Days and other events and talking to their reps who seem to be genuinely interested supporting indie developers. So this blog post is not about me hating on Steam, rather it’s to discuss a recent issue that…
PhysX SDK 4.0, an Open-Source Physics Engine
The engine has been upgraded to provide industrial grade simulation quality at game simulation performance. In addition, the PhysX SDK has gone open source! It is available under the simple 3-Clause…
Simple Encrypted Arithmetic Library goes open source
Today we are extremely excited to announce that our Microsoft Simple Encrypted Arithmetic Library (Microsoft SEAL), an easy-to-use homomorphic encryption library developed by researchers in the Cryptography Research group at Microsoft, is open source on GitHub under an MIT License for free use. The library has already…
How I Wrote a Modern C++ Library in Rust
Since version 56, Firefox has had a new character encoding conversion library called encoding_rs. It is written in Rust and replaced the old C++ character encoding conversion library called uconv that dated from early 1999. Initially, all the callers of the character encoding conversion library were C++ code, so the…
Developer on Call
For the system at work, I am on call one week every seven weeks. For most of the past ten years, I have been on organized on call rotations for the systems I have been developing. I think being on …
Pointers in C (2010)
This document comes with a companion example program, available as one file or as multiple files (zipped) .
How Does React Tell a Class from a Function?
We talk about classes, new, instanceof, prototype chains, and API design.
Designing and building an FPGA sprite-based graphics accelerator (2014)
A very warm welcome to my most ambitious project to date. In this project I’m going to attempt to design and build a sprite-based graphics accelerator that will function as a co-processor to an MCU. Using cheap off-the-shelf components I’m hoping to achieve a level of gaming performance that compares well to popular…
Algebras we love
If you work with anything that can be modeled mathematically, you most likely know that many things you work on can be expressed with algebras. However, if you are not a graduate of a computer science course or similar you might not know how ubiquitous they are and how often you rely on some of them. (And I don’t mean…
Emulate Mac OS 9 with QEMU
(Updated Dec 11, 2018)
How Google Code Search Worked: Regex Matching with a Trigram Index (2012)
In the summer of 2006, I was lucky enough to be an intern at Google. At the time, Google had an internal tool called gsearch that acted as if it ran grep over all the files in the Google source tree and printed the results. Of course, that implementation would be fairly slow, so what gsearch actually did was talk to a…
A Programmer's Introduction to Mathematics
For the last four years I’ve been working on a book for programmers who want to learn mathematics. It’s finally done, and you can buy it today. The website for the book is pimbook.org, which has purchase links—paperback and ebook—and a preview of the first pages. You can see more snippets later in the book on the…
The Second Edition of “Refactoring”
I'm finishing a new edition of my Refactoring book. Here's details and periodic memos about my work.
What Startups Really Mean by “Why Should We Hire You?”
We take this and other standard questions, translate their subtext, and provide you with the best approach to help you land the job.
The deepest problem with deep learning
Some reflections on an accidental Twitterstorm, the future of AI and deep learning, and what happens when you confuse a schoolbus with a…
Podcast Advertising: What We Learned
Don't spend a penny on podcast advertising until you've read this.