Older blog entries for cwinters (starting at number 45)

Got a "new" laptop -- basically, a stripped down older one which had the parts my current one needs. So I took the extra memory, hard drive and CD ROM out of my old one and put it in the new one. Result: rock and roll at a blazing 166 MMX megahertz. Still, the price was decent (ebay purchase) and my laptop was just gathering dust since the LCD was incredibly spotty and the pc card slots were super flaky.

I hope to be able to use it at a presentation for yapc -- maybe more than one if I can get the tuits to do both OpenInteract and SPOPS.

Coincidentally, there was some discussion of a message queue system on the mod_perl mailing list over the weekend. Serendipity favors the bold: POE experimentation awaits.

Someone pointed out that 'oid' was a reserved keyword in Postgres (doh!), so I made another fix for SPOPS to make that work and will hopefully finish testing it later on tonight. I've been reading up on Postgres and am thinking that everything I currently do in mysql I should do in Postgres. There was a brutal email regarding MySQL on the DBI list today. It wasn't anything I hadn't heard before, but it just got me thinking that there isn't much of an excuse to use it anymore. (OTOH the email author seems to be of the "if it's not Oracle it's not much" mindset, which ticks me off. For most applications, Oracle is vast overkill (IMO). Yes, there are plenty of apps where only Oracle will do, but most companies don't run those apps.)

OpenInteract on Sybase ASE/ASA seems to work fine now. Once we get PostgreSQL onboard I can chill out on that front until someone backs a dump truck of money to my house to make everything work with Oracle.

Very productive this weekend -- SPOPS now works with MS SQL Server and (most likely) with Sybase ASE/ASA. In addition, OpenInteract works with Win32 + ActivePerl + mod_perl, although Win32/mod_perl isn't as boss as the Unix mod_perl. Next: testing testing testing.

Also, very annoying, CPAN + me has been fudging up the version numbers on things so that people requesting SPOPS get the (somewhat ancient) version 0.33. (Note to module authors: if you want a variable to track CVS revisions, be sure to use something not titled 'VERSION'.) This will require a quick release, I think, as soon as I test the new security stuff and the Sybase workings.

It was two years ago yesterday that my mom passed away. I miss her.

Put out new versions of OpenInteract and SPOPS this weekend. GDBM is no longer required for OpenInteract and as a result of that we moved to a package repository (contains) packages scheme. Much friendlier, and all the package stuff isn't in one module.

Also attended a meeting of the Pittsburgh Perl Mongers on Sunday. We hadn't met in a while so many people were new (including me). It was nice to be able to talk about a computer language other than Java with people :-). Some seriously smart people were there, but everyone was very nice and not the bullying sort of geek you sometimes run into.

Deadlines at work this week. Fun.

Not to be preachy-pete, but I noticed a few people here talking about wrist pain. I know it's not universally applicable to every problem, but I'll put my two cents in for the Kinesis Ergo contoured keyboard. (That link goes directly to a frame -- lop off the page name for more info.)

I got this thing about nine months ago and have had little to no wrist pain since. It took about a week to get used to it, and I think it would be much more difficult (maybe impossible) if you're not a touch-typist. (But then you could argue that a coder not being a touch typist is like a carpenter not being good with a hammer.) Typing is one of the few things I learned in high school that I use every single day.

The keyboard is pricey compared to normal ones (around $250 for the Classic version), but considering the alternative it's worth every penny. It's also well-built -- my friend Christian has been using his for 4+ years and it still works great. He takes advantage of the macro and keymapping stuff of the keyboard as well.

One of the only difficult things is that once you get used to it going back to a normal keyboard is a bit of a chore -- takes about a half-hour for me, although I try to minimize it as much as possible. After I got a new job I took my keyboard to work with me every day to work on Java and brought it home to work on Perl. But I don't have to do this anymore since work just bought me one.

Wow, a decent article on Slashdot regarding the company/employee code ownership swamp. (It's decent reading at +2, anyway.) Joel Spolsky also has a good article on the related issue of NDAs and the like.

This sort of thing is quite scary. I've had two experiences with this, neither of them terrible but both with potential. Going into detail would probably be a bad thing, but let's just say the terms of the agreement were quite broad in saying who I could not work for after leaving the company.

The scary thing to me is that *people* actually write up these documents without thinking about how it might apply to them. One of the /. posters made the excellent point that lawyers would never sign an agreement which made their experience in a particular type of case law property of the firm under which they gained the experience. But these same lawyers seem to have no problem drawing up agreements for software developers which say, for instance, that all experience and knowledge learned regarding customer relation management or other broad topic is property of the company and the signee is strictly forbidden from working at a company which might employ that experience.

The thing they have on their side is that nobody wants to get involved with a lawsuit -- it's expensive and brands you forever as some sort of rabble-rouser. Quite the chilling effect....

In (mostly) fun news: rewriting the packaging system for OpenInteract to dump the GDBM stuff. Should have done this quite some time ago, but it's quite a bit of work. (So much that I should really be doing other things right now...)

Finally saw "Crouching Tiger, Hidden Dragon" this weekend. Some amazing scenes and scenery. Well worth it, altho it would have been nice at a better theater.

I posted a message about message queues in perl to clpm but no newsgroup response. A couple interesting items via email, but that's it. So the PerlMQ project now exists on sourceforge. Of course, there's nothing there yet, but there's a mailing list and the pressure for me to make sense of the pages of notes and many ideas I have running around right now :-)

I'm not sure how long I can continue to do consulting work in addition to real work and having a life (or trying, anyway). We're soon going to have to get heavy duty into design at real work and then a brief (2-3 week) blitzkrieg of stored procedure -> session bean (likely) translation so we can let it germinate for a bit and see what we've got. At least life is interesting...

Response so far is pretty decent to OpenInteract -- we got a couple of minor patches for SPOPS from one person and a potential porter for Postgres as well. Not bad for a little more than a week. (I was also psyched to see a handful of what I consider to be very smart Perl folks on the -dev list.)

I have a number of ideas (and a growing itch) for a generalized message queue system in Perl -- reading up on this in Java has given me lots of ideas. Surprisingly, there doesn't seem to be much out there. Message queues seem to solve a lot of common problems. But they're probably more complicated than I can imagine right now.

In work news, they agreed to let me release my minor Ant taskdef under a BSD license. And we're moving from a client-server (VB-MS SQL Server) system to an application server (EJB) environment. And I'm the most experienced Java programmer. And I just learned Java three months ago. Fun!

OpenInteract is now out there! Code is available on Sourceforge along with mailing lists, etc. Freshmeat page is coming soon, as is one for SPOPS. Both are also available via CPAN as well as in handy Bundle:: form.

It's at a very usable point now -- yes, there are bugs, but none of them are showstoppers and I had passed the point of diminishing returns quite some time ago. Someone else (preferably many someone elses) looking at the code would be a good thing. I think the code is quite decent -- I tried to be readable, although in some areas methods are too long and need to be refactored. And it really is a pretty cool product. We'll see.

jauderho: I feel your pain regarding LDAP. The idea that someone's name is essentially acting as the primary key sends shivers down my spine.

I love Perl: check out some cool stuff people are doing. The fact that Perl can be a glue for so many different things is (IMO) amazing.

Today was the demo that's been sucking up 12+ hour days for the last couple of weeks. Things went great -- we didn't have everything done, but everything that was there worked like it was supposed to. My boss and I created a nice (but ugly) hack: call a servlet with the right parameters; the parameters are passed to a command-line Win32 app which feeds them to a Crystal Reports engine and a report template which prints out the report to the default printer which has to be setup beforehand to pipe the output to ghostscript which saves the data to a file which is then sent directly to the browser.

U-G-L-Y you ain't got no alibi!

All of this could have been avoided if Crystal's engine wasn't so retarded. Closed-source sucks.

Anyway, we're using a number of open-source technologies (the previously mentioned JBoss, XMLC, and Tomcat) and the management (surprisingly) seemed very cool with this. Particularly when we told them that, in theory, the beans could be ported to a mega-expensive proprietary platform (read: Weblogic) if the client really wants.

So now we just see what happens and how much we'll start moving to Java + middleware from VB + client-server. I suspect that we can develop quickly enough (particularly with two or three more smart people) that the higher-ups would be astonished how much functionality we can replicate from the existing system within, say, six months.

Reading note: been going over Refactoring by Martin Fowler (et al). What a great book.

More soon on OpenInteract stuff, too. Things are hitting on all cylinders programming-wise right now. Nice feeling.

XMLC is working fine now. The error message I got was quite cryptic, but once I figured it out it wasn't so bad. Everything (Tomcat, JBoss, XMLC) was using its own XML parser, but the XMLC one was getting "buried" in the classpath. Once I put the Xerces parser sufficiently early in the cp, everything worked fine. (Frustrating, tho.)

It doesn't seem as if anyone on here is working on it, but Ant (in the Apache Jakarta project) is great! It's a pure Java replacement for make and is very easy to extend with new tasks. I was able to dope out the interface, create a new task (concatenating files/messages) and learn the basics of Java file IO in a relatively short time. (Hey, I hadn't had to deal directly with files yet!)

I recently rewrote box handling for OpenInteract -- much easier now and I implemented a standard box interface on a per-theme basis. I'll probably go back down to Washington for another training session in a couple of weeks.

And I've been at my current job long enough that I now have a looming deadline. Long days and nights await...

36 older 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!