Branchless code sequences
David Thomas's website.
The latest blog posts to take off on Hacker News. 1,031 posts.
David Thomas's website.
Initial cover design. Nobody asked me about the writing of Effective Modern C++ (EMC++), but I wanted to talk about it a little, so ...
One of my side-projects this summer is to become minimally literate in assembly language. So I began by reading up a tutorial on the x86-64 and the Linux ABI .
Installing GNU Radio and receiving aircraft radar with a USB TV tuner.
Command-line optimization and target options are now streamed on a per-function basis and honored by the link-time optimizer. This change makes link-time optimization a more transparent replacement of per-file optimizations. It is now possible to build projects that require different optimization settings for…
There was a recent discussion on the Extreme Programming mailing list kicked off by Ron Jeffries saying he wants his XP back. The implication being that Extreme Programming is no longer practised, and that most “Agile” organisations are actually practising Flaccid Scrum – some agile process but little of the technical…
We've been using RethinkDB in production for almost a year. RethinkDB is an open-source database designed to make it dramatically easier to build and scale real-time apps. Last week, the 2.0 release of RethinkDB landed and it was given a shiny "Production Ready" badge. After five years of development, RethinkDB is…
Professor Sussman's reading recommendations
Joey Hess inspires me. He lives in a cabin and programs Haskell on a drastically under-powered netbook. He harvests all his electricity from the sun with a homemade electrical system. Joey has designed his computing life to be highly distributed like the git version control he loves. His internet connection is…
Taking over Pokemon Yellow from the inside.
Here is my list of heuristics and rules of thumb for software development that I have found useful over the years: Development 1. Start small, then extend. Whether creating a new system, or …
Here's a usability feature for the web: disable double-clicks on links and form submits. Before you think I'm a complete idiot, allow me to talk some sense into …
The growth of Internet and general connectivity has triggered the proportionate need for responsive and scalable code. This proposal aims to answer that need by making writing explicitly asynchronous, concurrent Python code easier and more Pythonic.
This is the story of some bad code I wrote.
When dealing with an extensive infrastructure and many team members, managing SSH keys for authentication can become unwieldy. However, SSH can utilize cert…
I just had my minute of fame! I was just interviewed by Fog Creek on their development blog. Fog Creek is Joel Spolsky's company. We talked about how I got into software development, what I currently do, my current setup and my favorite books. I've been a lifetime fan of Fog Creek Software and it just feels so great…
The first computer I used had about 2KB of RAM. The other day, I compiled a 2KB Common Lisp script into a 16MB executable to get its startup (and total execution) time down from 2s to subjectively instantaneous — and that didn't bother me the least, for my current computer has 8GB of working memory…
Hypothetically, how would you teach Computer Science or programming to someone who has no access to a computer, and with whom your only communication is books and postal mail?
The problem is that the last param to xhr.open is whether the xhr is async . Ouch.
Let's start by looking at a simple C function to be compiled as position-independent code (i.e. -fPIC , for use in a shared library):
We’re proud to announce that after five years of development, RethinkDB is ready for production. Download RethinkDB 2.0 ( Yojimbo ) now!
Get started sending data from your Node.js servers to Segment and any destination using the Analytics Node.js library.