LLVM 3.3 Released
This document contains the release notes for the LLVM Compiler Infrastructure, release 3.3. Here we describe the status of LLVM, including major improvements from the previous release, improvements in various subprojects of LLVM, and some of the current users of the code. All LLVM releases may be downloaded from the…
Ember.js 1.0 RC1 released
Official Blog for the Ember.js Open Source Project
Writing a FUSE filesystem in Python
If you’re a regular reader, you might have noticed that I’ve been on a quest for the perfect backup program , and ended up writing my own encryption layer over bup.
Light Table a year ago
A year ago today I put up the original blog post for Light Table . It was just a simple video of a prototype I made in less than a week while I was visiting my grandparents without internet - at the time we had no idea what it would become. To be honest, I thought some would think it was neat, but then it would fade…
Valgrind Release 3.9.0
Official Home Page for valgrind, a suite of tools for debugging and profiling. Automatically detect memory management and threading bugs, and perform detailed profiling. The current stable version is valgrind-3.28.0.
Memory Allocators 101
For the last few weeks, I've been working on a couple of patches to tcmalloc, Google's super high performance memory allocator. I'm going to post about them soon, but first I thought it would be cool to give some background about what a memory allocator actually does. So, if you've ever wondered what happens when you…
Advanced Vim Registers
Registers in Vim are best thought of as scratch spaces for text, some of which are automatically filled by the editor in response to certain actions. Learning how to use registers fluently has a lot of subtle benefits, although it takes some getting used to because the syntax for using them is a little awkward.
Why no curl 8
In this little piece I'll explain why there won't be any version 8 of curl and libcurl in a long time. I won't rule out that it might happen at some point in the future. Just that it won't happen anytime soon and explain the reasons why. Seven point twenty nine, really? We've done 29 … Continue reading Why no curl 8 →
Useful GitHub patterns
Both my day job and my open-source work involve constant use of git and GitHub. These are some useful patterns that I’ve found myself using regularly. (From this point onwards, I shall abbreviate a “pull request” as PR).
How Class-based Programming Sucks (2011)
Classes encourage pervasive mutable state, provide only an indirect support for closures, and do not support algebraic data types. I'd like to fix that.
Learn to code like it's 1996
I’ve been meaning to write up my take on the learn to code movement for quite some time now, but for one reason or another haven’t managed to get around to it. Now that the president is endorsing Computer Science and telling Americans to learn to code, this post has jumped to the top of my priority list.
Why Markdown Is Not My Favourite Language
programming, language design, and human factors
Vim Splits – Move Faster and More Naturally
How to use splits in Vim.
Getting to Docker 1.0
Docker is a founding member of the Blueprint Alliance, a 12-company reference architecture for securing AI agents, built around four governance questions.
The Go 1.1 scheduler
One of the big features for Go 1.1 is the new scheduler, contributed by Dmitry Vyukov. The new scheduler has given a dramatic increase in performance for parallel Go programs and with nothing better to do, I figured I'd write something about it.