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)

The new C++ standard has a special report on the new C++ standard, currently referred to as C++ 0x because it was due sometime between 2000 and 2009. Well, the standard was quite late compared to early expectations, so an easy joke was that we might end up with 0xA or 0xB, the C++ hexadecimal notation for 10 … Continue reading The new C++ standard

Another C++ ugly feature

While telling friends about some of the nice syntactic amibiguities of C++, I noticed that the following code actually compiles on two compilers I trust, HP's aCC (based on the highly respected EDG C++ front end), and g++ 3.4.5. struct ripoux { ripoux & operator= (const ripoux &other) { return *this; } operator bool() { … Continue reading Another C++ ugly feature

C++0x: Hardly an improvement

I just read the article on C++0x in Wikipedia. C++0x is the "codename" for the next generation of the C++ programming language. Well, call me a skeptic, but I'm hardly convinced by the general direction C++ has taken. It's really too complex, there is almost one keyword per new feature. Even then, too often, the … Continue reading C++0x: Hardly an improvement