Posted in August 31, 2009 ¬ 23:26h.Ronald Landheer-Cieslak
When writing library code, one of the snares to watch out for is binary compatibility. I have already talked about the dangers of breaking binary – and API – compatibility but I had neither defined what binary compatibility is, now how to prevent breaking it. In this post, I will do both – and I [...]
Read the rest of this entry »
Posted in August 24, 2009 ¬ 15:39h.Ronald Landheer-Cieslak
Xerces-C is without a doubt one of the most popular DOM implementations in C++ (and its Java sibling undoubtedly the most popular implementation for Java). As with any project that lives under the banner of the Apache Foundation the project is managed using a meritocracy-style project management scheme and has been, quite successfully, for the [...]
Read the rest of this entry »
Posted in August 22, 2009 ¬ 16:08h.Ronald Landheer-Cieslak
When explaining the design of some application to some-one, I find the use of analogies is one of the best tools available to me – better than diagrams and much better than technical terms: when using technical terms, the listener often starts “glazing over” after only a few seconds – maybe a minute. It really [...]
Read the rest of this entry »
Posted in August 18, 2009 ¬ 16:33h.Ronald Landheer-Cieslak
In C++, any name that starts with and underscore followed by an uppercase letter and any name that contains two consecutive underscores is reserved for any use [lib.global.names] and any name that begins with an underscore is reserved in the global namespace. The intent for this, as explained by several people on comp.std.c++ is to [...]
Read the rest of this entry »
Posted in August 18, 2009 ¬ 11:33h.Ronald Landheer-Cieslak
When writing firmware and device drivers, it is useful, sometimes, to have human-readable integer values – i.e. integer values that, when you read them in a debugger, mean something distinctive. This is different from using integers that have a distinctive bit pattern so you can read them on a scope (ex. 0xABABABAB, which is 10101011 [...]
Read the rest of this entry »
Posted in August 15, 2009 ¬ 08:32h.Ronald Landheer-Cieslak
I changed my hosting provider a few days ago, which implied changing the DNS provider as well. As a result of this – and my forgetting to set the MX entry correctly, the mail service for landheer-cieslak.com was down. Michel was kind enough to notify me of this, so it’s been fixed this morning.
Read the rest of this entry »
Posted in August 14, 2009 ¬ 12:12h.Ronald Landheer-Cieslak
I just read a blog by Michel Fortin, where he quotes Joel On Software regarding Hungarian notation, or rather, Hungarian WartHogs. Naming a variable for its type, or a type for its location or namespace, is a mistake. I agree with Joel on his introduction: there are different levels of programmers and, at some point, [...]
Read the rest of this entry »
Posted in August 14, 2009 ¬ 10:39h.Ronald Landheer-Cieslak
C++ is a programming language that, aside from staying as close to the machine as possible (but no closer) and as close to C as possible (but no closer), allows the programmer to express abstraction if a few very elegant constructs. That is probably the one thing I like best about C++. This morning, while [...]
Read the rest of this entry »
Posted in August 9, 2009 ¬ 21:42h.Ronald Landheer-Cieslak
In the late 1980s New York City was cleaned up from under the ground up: from 1984 to 1990, the New York subway was cleaned of its grafiti, then of its non-paying passengers. After that, when the chief of tge New York transit police became the chief of the New York city police, the city [...]
Read the rest of this entry »
Posted in August 8, 2009 ¬ 14:59h.Ronald Landheer-Cieslak
One of the most ubiquitous problems in software design is to get data from one place to another. When some-one starts coding code that does that, you seem to inevitably end up with spaghetti code that mixes the higher-level code, the content and the transport together in an awful mix that looks like a cheap [...]
Read the rest of this entry »