Recent blog entries for Mondragon

Life, or something not so much like it...

Got back from San Jose on monday night. Had a good evening handing out with friends, but then woke up on tuesday morning feeling like a caved-in ashtray. Went to work on tuesday, but have been home sick for the last two days...hopefully will get to work tomorrow.

Got a pile of photos from my trip, which turned out fairly well. Some of the jellyfish photos are a bit blurry, but they were taken in low light at 300mm, so that's to be expected. A few of the photos from Monterey were fantastic, including a few from the aquarium, in addition to the ones from San Francisco the day before, so not a complete loss. Seriously need to get a digital body for EF lenses though...


Been feeling a bit under the weather ever since vacation, so haven't been doing a lot of work - mostly been watching playoff baseball. Cobbled together the schema for a new database to manage projects and reports at work, and I'm hacking on that a bit - need to have something working tomorrow, so I'll probably take another look at it tonight if I feel better. I need to read the manual on PostgreSQL stored procedures and triggers, and then move over from MySQL. That's going to be quite a project, since I don't have a database abstraction layer in the existing codebase, which means that I'll have to change a lot of direct database access code, but it needs to be done...

No real looks at Gnutizen over the last week or so - need to sync up my source tree with the existing repository in any case, so I don't get too far out of whack. I've adopted a couple of database projects to fill my spare time, and hopefully eventually give me some spare time in the future by making my day job easier.


Arrived in San Jose last night. I usually don't mind the cross-country hop, as the time difference is only 3 hours, but it was worse this time, probably compounded by the fact that I'd left at 5:15 EDT for the airport after getting absolutely no sleep at all. Well, I did have to pack, you know.. :-)

Had a wonderful dinner last night with some guys from our CA office. If I could find an Indian place that good in DC, I'd be set (they probably exist - I'm just sick of trying all of the bad ones to find a good one). One of those dinners where you sit around for hours after the meal talking about life, work, etc... It's good to do something like that every once in a while. It was a great deal (although smaller crowd) like the night I went out with a couple friends and a bunch of Debian folk in New York two years ago during LinuxWorld expo. Great dinner, great conversation....a combination that is deceptively difficult to find.

Heading off to San Francisco today. Not exactly sure what's on the agenda for the afternoon, but would like to get some good pictures of the Golden Gate Bridge and the Palace of Fine Arts (did this circuit once before without a camera), and just generally relax and have a good time. Managed to escape yesterday with only a couple of calls from work, and they involved minimal effort, so I'll chalk that up to being a good day. They did give me an opportunity to prove just how cool my phone is (Treo 300), when I had to telnet to a database server and restart the database (have to get those init scripts created some day...that's the problem when the machine has uptime in the hundreds of days) while walking through O'Hare to transfer to another plane. I wouldn't want to try to do too much real work, but telnetting and running a few commands is useable.


I did get email back from the SoWAR folk last week, pretty much containing the text 'read the web site, and sign up for the mailing list', which I did. The problem is, I still have no idea what they're real focus is, and I think that's because they're a little unsure themselves. I could be wrong, but I dunno. There's a lot of tasks up on their sourceforge web site about the usual things (rendering, clipping, path routing, etc.), but no indication really of what they're trying to create by putting it all together. It seems that at the moment they're just trying to create a lot of cool technology for the sake of technology, which is great, I suppose, because we probably need that, but I was looking for something a little more coherent. Suppose I'll post to the devel mailing list after I get back from vacation to find out what's really going on.

Development Update

Did some work on Gnutizen today, mostly trying to repair bad merges, and setting the foundation for eliminating the need for a cache file to run the app, at least for testing. Also spent a fair amount of time remembering why I hate CVS so much - thinking about trying out a Subversion repository and seeing how I like that. I think most of my problems with CVS stem from the lack of good free diff tools, and clients that suck, but not being able to version directories or move files (and preserve history data) is really irritating. Probably time to branch off of the main line soon, before I start making any major changes, but of course that'll make merging a pile of fun.

Haven't heard back from anyone on Seeds Of War, which is too bad, since the project interests me, and I've got quite some experience in some of the core problems that they'll face (path routing, etc.). Still, it's the weekend, so I'll give that some time.

Trying to find at least one more project to occupy myself in the long term. Have a few short term projects in the cooker - mostly database work. Working on bringing 100+ years of baseball stats (from into a database on my MacOS X machine so that I can do some more complex statistical analyses. Not sure if I'm going to use MySQL or PostgreSQL at this point. I don't believe either one of them has an Objective-C API, so that's pretty much a moot point, but I do plan on building a Cocoa interface to the database at some point to allow easy data analysis. Also want to whip out another database for my group at work to handle some data management and reporting needs.


Seriously thinking about buying a car at this point. I don't need one for everyday use (ride my bike to work), but it would make it easier to cart anything of size around, or even such simple things as groceries. It helps that interest rates are very good right now, and Geico actually gave me an insurance quote that wasn't highway robbery.

Found out last night that my Lord of the Rings DVD was defective, and thus caused my player to freak out and do quite a lot of chapter skipping. It's an interesting way to watch a movie. In any case, I took it down to Barnes and Noble today and they gave me a new copy, so I'm all set now. Will probably spend most of tomorrow sitting in front of the TV with my laptop working on databases and watching football. Also need to try to make the lawnmower work again...

19 Sep 2002 (updated 19 Sep 2002 at 04:51 UTC) »
Doing some development...

Started seriously looking at the code base to Gnutizen today. It's a bit of a strange thing to me, since gnutella wasn't something I was particularly interested in in the past. However, peer to peer networking has become a bit of an interesting research topic for me, since it's one the few applications to come along in recent years that has seriously affected user habits and traffic patterns on networks. It's also nice to be able to help out someone who is doing their first project - I know that I certainly benefitted from having a helping hand when I was working on my first projects. It also might give me a real project for creating a GUI using Interface Builder in MacOS X - I've done a lot of work with IB, but most of it just for the benefit of playing with IB.

Also fired off an email to the lead on Seeds Of War (sourceforge) that I'd be interested in contributing to that project. It sounds a bit like WC/SC from the description, but I can't be entirely certain at this point. I've always been interested in doing work on a game engine, and hoping this is an opportunity to contribute some networking and simulation knowledge (and letting somebody else take care of the tricky UI stuff.. ;-)). If it truly is intended to be something along the lines of WC/SC, then it'll also give me chance to write all of those features I wish those games had.

Got email from Amazon today that the books I ordered on genetic algorithms and modern heuristics have been shipped, so I'm pretty psyched about that. Just in case you didn't know I was a geek.


Heading off to SJ/SF next thursday for a few days. Will be nice to get out of DC for a while, although I should probably try to do it more than once a year or so.. :-) Was kind of hoping to get to a Giants game (and see the ballpark, more importantly), but it doesn't look like that's going happen. Guess that just means I'll have to go back.


Really want MLB to move the Expos to DC, and wish they'd realize that it really is a good idea. I know Baltimore doesn't really want another team encroaching on what they consider their territory, but I've got news for them if they think I get to many Orioles games (mostly because it's almost impossible to get to the games from DC on public can get there, but you might not be able to get back if the game goes long). Besides, I think that having an NL team in the region isn't going to hurt. Sure, it isn't as big of a market as New York (which could really sustain a third team), but it's reasonably close to Chicago, which supports two teams, and it's certainly better than Montreal or Tampa Bay, who can't put 10,000 fans in the seats every night. If baseball truly is america's game, we should have a team in the nation's capital.

16 Sep 2002 (updated 16 Sep 2002 at 07:08 UTC) »
Life, or something like it...

Not a whole lot of technical crap today...end of the weekend, I suppose.

Picked up Lord of the Rings: Fellowship of the Ring DVD yesterday. I tried to resist, really, I did, but it just wasn't happening. Which, of course, means that I'll own two copies come november when the special edition comes out, but it's worth it I suppose. Anxiously awaiting the theatrical release of The Two Towers as well, of course, but that's a few too many months out to really think about. Of course, if doesn't help that I like to watch the quicktime trailer all the time, but that's my own fault.

Actually, a bit of technical news. It turns out that people really do read advogato (surprise, surprise.. :-)), and I've had a couple of emails regarding interesting projects to be involved in, so I'm grateful for that. I've only started looking at code right now, and moving things into source control, so no real progress yet, but it's something, and it'll almost certainly develop into something else...

Testing, Bugs, and small annoyances

I've been following the bugs/testing discussion with some interest over the last couple of days. Given that my day job involves creating an awful lot of unit tests for software, it's something that I have a fair amount of experience in. A lot of interesting ideas have floated across these pages, and I have to say that while a lot of them are really nice in theory, practice is another matter entirely. And there needs to be some recognition of the differences between open source and commercial software as well, I think. While it would be great if all software were bug free, I think that's a bit on the unrealistic side. Sure, a very simple piece of software, with limited inputs and outputs, can be bug free, but any relatively complex piece of software is going to be very difficult to prove to be bug free. Of course, commercial software also has the added pressure of having to actually ship to a customer base that is often more concerned about bullet points on feature lists than quality. It's not that the developers don't care about the quality of the software, it's that the consumer is concerned with 'good enough', and not demanding of 'great'.

Some of it is a matter of system and responsibility as well. Developers need to be aware that testing is part of the development process, and not separate from it. Too often I've heard the words 'testing isn't my job' come out of the mouth of a developer, and it's disturbing. Just because a QA department exists, or because there are helpful users doing testing, doesn't mean that excuses the developer from providing unit tests and running them before the software gets out the door. There will always been unforseen sequences of inputs and outputs in a complex system, and I don't necessarily expect developers to spend weeks trying to dream up every possible sequence of events that would lead to the invocation of the code that they have modified, but you can't just make a change and merge it either.

Just because you can't find all the bugs doesn't mean you shouldn't test.

14 Sep 2002 (updated 14 Sep 2002 at 17:51 UTC) »

mascot: I wouldn't worry too much about the LCD backlight life unless you're used to having your CRTs last more than 3 or 4 years. I've had my Samsung 170T for over a year now, and it still stacks up nicely sitting next to the brand new 171v that I bought. Realistically, the backlight is eventually going to die, since that's what lights do... :-) That being said, my Powerbook G3 - wallstreet - still works great after 4+ years, so I would expect an LCD bought today to last on average as long as a CRT (and when you go to replace it, it'll be a heck of a lot cheaper).

GUI Development

I'm really looking forward to the new O'Reilly 'Creating Applications with Mozilla' and hoping it turns out to be a good text. I'm pretty down on doing anything with a UI at this point because it's well-nigh impossible to work in a cross-platform environment. wxWindows claims to be cross-platform, and it builds, but realistically, many GUI elements are messed up on different platforms because the library doesn't support native control sizing, or dialog resizing. I'm giving up on resource files from wx at this point - it'll have to be something like .nib files for MacOS X or what Galaxy (from Visix) had before it'll take the pain out of building a cross-platform GUI.

Which, of course, brings us full-circle back to Mozilla, since XUL does appear to do a very good job. I've been told that Mozilla is rendering, though, and not using native controls, which could be a problem. Galaxy rendered, and they did a pretty good job, but it's always a little strange when a new OS release is available (mostly for win32), or when trying to handle i18n support. Supposedly a company called Ambiencia bought Galaxy from Visix, but I don't really know what the deal is with that - like, what it costs...


Speaking of O'Reilly books, I think they need to be a bit more cautious in their mad rush to put out more books for the community. I'm still pleased with the company as a whole, but it used to be that if O'Reilly had a book on the subject, it was the book you bought, no questions asked. They were hands-down the best books you could buy on the subject matter. Trouble is, that isn't so true anymore. Both 'Virtual Private Networks' and 'Practical Internet Groupware' were pretty soft on real useable content, and I've perused through a few on the shelf recently that didn't look so good either.

There's also the matter of certain author's letting their perceived celebrity go to their heads. 'Internet Core Protocols' is a decent book, and it covers the basic to intermediate subject matter pretty well, but every time Eric Hall makes a comment on any networking mailing list, it reminds me how much he really doesn't understand about how real networks work. That's fair - you certainly don't need to have run a large network to be able to cover things like TCP and higher layer protocols - surely Stevens hadn't - but you shouldn't think that you have the core knowledge to comment on operational problems either.

Of course, in retrospect, it seems that their coverage of software development and unix administration has been very good, while most of the books covering networks and protocols haven't necessarily been top notch. Which, of course, makes me a bit nervous about 'BGP', by Iljitsch van Beijnum, but I certainly am not going to pass judgement before I see it. He seems to have the background experience, and the world certainly needs a good book on BGP (Halabi is great, but not necessarily for the uninitiated), so I have hopes, but I'm hedging my bets a bit.

Software Development

In an attempt to avoid being overly critical of other people (too late?), it's time to change the topic. I'm still in the hunt for a project that needs some core development help that I can get in on, or at least something where I don't have to fight with the UI code. Data structures and networking are my thing, so anything along those lines would be great. I tried to get in on a Python SMTP server at sourceforge, and it seems like an interesting project, but it appears to have died from lack of attention by the lead developer. Maybe I should just pick up the torch and run with it, but frankly I'd rather leave the project management up to someone else in a large project like that.

Obviously Python doesn't lend itself to any real data structures work, since it's fairly meaningless to implement complex data structures in Python itself, given the high overhead of the primitives used in those structures, but I find it an interesting language that I'd like to do more with. And besides, you can always implement data structures in C/C++ and expose them to Python as extension modules, which is probably worth doing for some specialized data structures, since the built-in ones are a bit too general for some tasks. General is great for the native language, since there's really no telling what people are going to do with it, but if you want to be efficient, it's probably best to roll your own. Of course, the question there would be that if you wanted to be efficient, why are using Python, and I do think that there is some kind of balance to be struck between development time and runtime efficiency, but I also think that Python makes great glue for C++ components, and that performance doesn't necessarily need to be lacking.

But anyhow, it's late, and I'm riding the Civil War Century tomorrow, leaving in about 3.5 hours to drive up there, so I should probably get some sleep.

Nymia, just a small note here, you might want to check out any number of SVG tools, since optimally SVG is intended to support everything you want in flash.

After spending a great deal of time looking in, I thought I'd see what the view looked like from the inside. Mostly that means I've spent the last couple of years far too busy with my day job to even think about too much open source work. That being said, I've pretty much reached the point in my life where I need to do outside development, just to maintain my sanity.. :-)

Basically, this means I'm looking for a project. Hornet (sourceforge) was keeping me busy for period of time, but I lost interest because I spent too much time fighting with the UI code (well, that, and Hornet in its current state solved my immediate problem). I really wish there was some sort of open-source equivalent of a UI designer tool like Apple's Interface Builder, or at the very least a resource-file based GUI library which kept the application separate from the definition of the UI. wxWindows looks like it might be going this way with XML resource files, but I'll have to play with it some more to really see (and maybe wait for it to mature a bit).

In any case, no more rambling for tonight....if anybody actually happens to read this and has an interesting project in need of a C/C++ or Python developer, let me know. :-)

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!