Older blog entries for DizzyD (starting at number 5)

More stuff. :) I ran into some design problems with jabberoo today..actually it's a trap I keep falling into -- designing a solution for too many problems. I was (as crazy as it may sound) trying to write a wrapper which handled async/sync sockets with one interface (impl, platform specific of course). Obviously, there's a host of problems that show up with this approach, not the least of which is integrating the events into another object cleanly (which I needed to do). What it basically came down to was re- thinking and restricting the Transmitter abstraction to a simple goal: send data or throw an error. Nothing more.

This fires some interesting thoughts on the way that OO design is approached as a whole. I fear too many of us (myself included) view the OOP as a complete solution for every implementation issue. The fact of the matter is the objects simply provide us with a way of wrapping up functionality into neat pieces. OO provides a nice way of writing resuable chunks of code that can be platform independent. However, once you hit a certain level of abstraction, you should by all means, embrace the platform specifics. That's where a good object-oriented design is most powerful I think -- packaging code for reuse in such a way that dependicies on platform-specifics are minimized, but at the same time are fully utilized. :)

Ahh..my head feels lighter now.

Another day, another piece of code to fix. Writing code is lots of fun -- maintaining it..bites. Why is that? Initially, I would guess that the challenge of writing/conjuring the code is what captures my attention as a programmer. I can't help but wonder, however, if the relative enjoyment of maintainence is directly correspondent to the tools which we have to work with. Personally, I would imagine that the overall experience would be significantly eased if a comprehensive & centralized set of tools were available that provided a structured environment for tracking bugs, revisions, design specs, etc.

It seems a large part of the problem with maintaining source code is the lack of structured, relational information about the code, modules, architecture, etc. Not only does the information need to be structured and interlinked, but it is also crucial that it be accessible. Of course, the Web provides a perfect medium for this representation.

Bah...rant must end.

Hrm. Long gap between entries...I've taken the last few days and really scaled back on programming time..I'm simply worn out.

This next week looks to be very exciting. I'm taking a trip up to the mountains for some business discussions. Next week, is my last week at my current job. Ah...finally.. :)

Yesterday I worked some more on the dialog loading on gabber. I still can't get libglade to release the dialog & XML tree when I'm ready to delete the dialog. At any rate, it doesn't allocate more memory after I load the dialog once, so I'll probably just have to live with it. I'm really going to start on Jabberoo high-level interface tonight and would like to have gabber connecting to a server by tommorow night. :)

So many opportunities have suddenly come my way of late. It's both frustrating and exciting. Waiting on things to develop is the hardest part. I'm hoping to get a job that will allow me to develop on Linux..I'm so sick of win32.

Just for the record, M$ bites. Excel, in particular is one of the lousiest pieces of software ever written.

In other news, gabber is starting to come together. I worked out the basic event handling scheme last night and things are looking good. GLADE/libGLADE is a killer combo, but could benefit from some tweaking I think. I've always enjoyed working with RAD-style tools and would like to see if I could help out on that project, but I've got my hands full with Jabber right now.

Scalability issues reared their ugly head (again) on JDEV. This is another area of Jabber I'd like to work on. Long- lived TCP connections while convienent aren't exactly popular right now. Personally, I envision Jabber servers being Borg-like servers which distribute the load among themselves somewhat intelligently. Someday I want to investigate that..

Registered w/ advogato.net because it looked interesting and the surrounding company of programmers is pretty decent. :)

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!