12 Jan 2009 redi   » (Master)

sucking shit

The Emperor's New Desktop

I still think KDE4 sucks enormous quantities of shit.

Xerces-C++ is a conspiracy to make C++ look bad

Xerces-C++ sucks even more shit. Writing a C++ API with unclear memory-ownership semantics was pretty dumb a decade ago. It just makes you look idiotic in 2009. Dynamic memory management in C++ is a solved problem. Requiring explicit calls to release memory at scope exit can be attributed to stupidity, but not providing an RAII type to restore some sanity to the API begins to look like malice.

diary of micro hacks

I had hoped to update GCC's std::tr1::bind and friends to also serve as std::bind (after breaking them and having to back out my changes a few weeks ago) but I didn't get any hacking done over twixtmas, except some small changes to the GCC manual and some largely pointless changes to the non-functional std::tr1::regex code.

Last week I updated the RPM spec files I wrote for STLsoft & Pantheios RPMs for Fedora. They're closer to the Fedora packaging guidelines now, and all my STLsoft patches have been accepted upstream which makes life simpler.

If I get time I might release some C++ container templates I wrote recently, worm::map<Key,T>, worm::set<T> and non-unique counterparts, which provide a similar interface to the standard associative containers but implemented using sorted std::vectors. This means they have random-access iterators and better memory locality, but sacrifice the nice iterator invalidation rules of the standard associative containers. I need to remove some sharp edges and figure out whether I can keep the same interface w.r.t const and ordering invariants, or whether I need to make them immutable to prevent self-inflicted gunshot wounds to the foot.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!