26 Dec 2000 mrorganic   » (Journeyer)

Work Stuff:

Trying to get back in the groove after the long weekend.

Personal:

It was an interesting weekend. I had fully intended to do some work on my FLTK class library, but I ended up working in BeOS almost the entire time.

BeOS is far from perfect, but I'd forgotten how much I like the API -- it's much like QT, but doesn't have that signal/slot weirdness. The new network API (encapsulated in BNetEndpoint) really takes the ouch out of doing network programming. That said, the Be API doesn't make much use of the C++ standard library -- you can use it, but the API really "prefers" native classes like BString.

One thing I *hate* about BString is that, in order to cast a char* variable from it, you have to do a LockBuffer() on the BString, do your cast and then perform whatever action you intended to take with the char* variable, and then do an UnlockBuffer() on the BString. Weird. I presume that this is done to protect the string from corruption, but it seems rather Baroque and over-engineered to me.

I also found that Berkeley DB 3.1.14 will compile just fine on BeOS, but only as a static library; compiling with -- enable-shared works, but the linker fails when trying to link with the resulting library. I'm probably doing something wrong here since I'm using the BeIDE rather than Make to build the programs (although I did add the relevant -L/boot/home/config/lib -ldb options to the linker...).

Also, the BNetBuffer class is pretty nifty if you have to accumulate data packets (via Receive()) -- the class handles memory allocation and data-appending for you! And it's pretty fast, given that BeOS's TCP/IP stack will not win any speed awards....

All in all, an interesting weekend.

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!