A real-time, lock-free, multi-CPU flight recorder

Debugging complex, real-time, multi-CPU programs like HPVM, Tao3D or the software in the DxO ONE can be a real challenge. You need detailed information about what's going on, but at the same time, adding instrumentation, e.g. a big bunch of ad-hoc printf statements, can change the behavior of the program sufficiently to make the problem you are chasing … Continue reading A real-time, lock-free, multi-CPU flight recorder

Building all the major open-source web browsers

Mozilla Firefox, Chromium (the open-source variant of Chrome) and WebKit (the basis for Safari) are all great examples of open-source software. The Qt project has a simple webkit-based web browser in their examples. So that's at least four different open-source web browsers to choose from. But what does it take to actually build them? The TL;DR … Continue reading Building all the major open-source web browsers

LLDB is a piece of crap (update: maybe it’s clang) (update 2: it’s actually ccache)

I've been really trying to use LLDB for a while now. Not that I really want to, but Apple went out of its way to make sure I had little choice. Not only is LLDB the default on MacOSX now, but GDB is really hard to make work on that platform as well. Can you imagine you … Continue reading LLDB is a piece of crap (update: maybe it’s clang) (update 2: it’s actually ccache)

Animation and 3D: the web is doing it wrong

In Animation and 3D: the web is doing it wrong, I argue that the way the web does animation and 3D is completely bogus and deserves to die. With Tao Presentations, we offer a dynamic document description language that lets us write shorter code that is much closer to storytelling. We'd like to bring this to the … Continue reading Animation and 3D: the web is doing it wrong