Recent blog entries for cwinters

29 Jan 2002 (updated 29 Jan 2002 at 02:42 UTC) »

Just a note: I'm writing diaries over at use.perl since it's more interactive and I know many more folks over there. I still read here faithfully (it's like crack!) but I'll almost certainly be read-only from now on.

Take it easy.

Scoured through old emails, deleting tons of them along the way. Everything is available through google now anyway. Very rewarding experience. Also started using Evolution (from mutt) at both work and home. Very, very impressed.

Moving the database table creating stuff and the data import routines from OpenInteract into SPOPS -- I also added a data exporter to make for decent portability. Also finally going to rewrite the object relationship generation code for SPOPS -- the old stuff will still be supported, but the new methods are much more flexible.

Late, late night -- first in while. I've discovered it's an amazingly effective cure for having too many emails in your box when you wake up.

Upgraded the major site -- which was actually at 1.1 instead of 1.2 -- to OpenInteract 1.36. It went very well, IMO. (Jury's still out I suppose, but I've got a good feeling and those can normally be trusted.) Aside from a stupid error that cost ~30 minutes early on, that is.

I'm also going to be releasing packages that get updated between releases to the Sourceforge site. And now that I've got these extra packages working, they'll be going up as well.

I've been messing about with Dreamweaver at the office (thru VNC of course) to write an extension for the damned image rollovers. DW comes with an extension for this, of course, but it doesn't play nice with XMLC -- since customers may be updating the pages themselves, each page really has to be a drop-in no-brainer. The image tags and javascript generated by the DW default rollover extension makes this impossible.

I've modified an Ant custom taskdef that came out of Enhydra (at some point) to make for flexible URL mappings and such, so these rollovers are (I think) the last hurdle to jump.

Extending DW is pretty nifty, once you get the hang of it. Representing the document being edited is smart, although the method of text replacement is amazingly clunky. Still, I'm impressed.

ishmael: My experience with wrist pain hasn't been too dramatic, I think mainly because I bought a Kinesis Ergo contoured keyboard before it got too bad. Yeah, it's around $225 at one of the distributors, but that's cheap compared to loss of time and medical bills. It took me about a week to get used to it, but now I'm extremely fast and only have a little bit of wrist pain when I work a lot (~70-80 hours a week). I even convinced my employer to get one for me so I don't have to carry it to/from work.

Had to release OpenInteract 1.36 since Randal pointed out a bug in a mkdir() call -- Perl 5.005x requires two arguments, 5.6.1 defaults the second one for you. Doh! (Another, smaller item got fixed as well.)

Upgrade of the major site going well. I'm rewriting all the custom modules to use the new version -- bonus of this is that they'll all be open-sourced, so people will be able to d/l the various packages and have a pretty cool website (event calendar, link database, contact database, news, classifieds, shopping cart, simple product database) out of the box.

Finally got latest versions out. SPOPS 0.53 was a week ago, then a helpful developer pointed out a bug which was promptly fixed by 0.54. OpenInteract 1.35 has a very extensive Changelog, particularly when you consider that most of the interesting stuff happens in the packages, each of which has their own log.

Now that it's released, I need to upgrade a site running (IIRC) 1.2 to 1.35. It will be a little difficult but hopefully not too bad. It will be a chance to create a 'common upgrade experience' type of log, altho I don't know how many people actually upgrade.

In general, I don't hear much from people using OpenInteract. This could be a good thing -- I put a lot of effort into making installation easy, so maybe people just understand it and are working merrily away -- or a bad thing -- they try it for a bit, don't get immediate gratification and throw it on the scrap heap. General feedback is nice every once in a while :-)

Java stuff is going ok. I still get frustrated when easy things aren't easy, but that's just java. I'm trying to keep the attitude that Java is something I want to get very good at -- at least somewhere around my current Perl proficiency.

An idle thought -- why hasn't someone taken the CPAN tools and just created a CJAN from them? Clearly some of the items are different -- there's no standard for building/testing as in Perl, but at least it gives you a powerful registration/browsing/mirroring/distribution system. There's always the canard that the tools should be written in the language they're dealing with. My answer to this is: let's get it working, then you and the other language purists can get right on that for version 2 :-)

Java is in a much different area from Perl in this respect -- Sun acts as a central authority (for APIs, code, etc.) where Perl has none. Hackers abhor a vacuum, so it got filled. It's hard to get motivated to fill something that's already got something (however small) there.

(Eeek -- things are getting a little personal around here. Dumps and hot tubs indeed.)

The Java synapses are firing again, and I'm just about done reorganizing the code tree and build process so everything can be run from Ant. This includes the database metadata dump (not THAT kind of dump) and the perl process to build the many (>100) entity and session beans from the metadata. This actually makes it a process that someone besides me can execute.

Still haven't gotten out the next OpenInteract and SPOPS yet. They're ready but I'm a little concerned about the ease with which people will be able to upgrade. But things are settling down a little bit -- one more project for $OLDCOMPANY #1, then continuing work for $OLDCOMPANY #2 and things will be ok.

Also: decided that I'll probably switch DSL providers shortly. To minimize downtime (apparently it's normally ~3 weeks), I'll get the line put on my home phone line and then cancel both the DSL service and the second phone line. Cost savings are good, plus I'll be able to run a web server at home again since crappy verizon cut off port 80 a while ago.

I actually went to the online Apple store last night just to see how much a titanium powerbook would be per month with financing BS. Very bad.

Slogging along with this new stuff. I both love and hate this time -- lots of new things to chew on and make more sense of the world, but I'm not getting anything done. It'll pass, but it's frustrating.

Setup a jabber server today so I (using gabber) can reliably talk to people on msn messenger (work). Very cool stuff -- relatively easy setup, and it pretty much just works. Except...the aim gateway works only for about 5 minutes, andthen I get a nice message from the AOL IM server saying that I'm using an unsupported client so they're booting me. Bastards.

Wrestled with reading server config info from a childinit handler in mod_perl for way too long today, on my own time. blech.

These JBoss folks are kicking ass and taking names. Sweet.

Figured out that netbeans <-> xemacs thing - tres cool.

Started the new (old) job today. It looks like I'll actually be creating non-web graphical interfaces, which is probably a good thing. The Java part of my brain is slowly waking up, and it looks like we'll be moving from JBuilder to Netbeans as a development platform. Netbeans is pretty massive (tho modular), and it seems that there's a way to have it use xemacs as an editor, but I wasn't quite able to get that to work. (Very beta.) I like the way it uses virtual filesystems, and the IDE itself is pretty nifty, altho I definitely need some more memory. (A few mhz wouldn't hurt, either...)

I was extremely surprised to see that Microsoft released a JDBC driver for MS SQL Server. I know it's based in large part on the driver from Merant, but I'd previously filed this in the 'when pigs fly' category.

It's very strange coming back to this place and going over my old code to remember what's what. Fortunately I haven't been cursing myself too much :-) And everyone has been very warm in welcoming me back.

I wonder: if things go well over the next few months, can I finagle a cool Mac to work and play with OS X?

Total non-hacking day yesterday. It was my wife's 30th birthday (she trails me by almost two years...) and we also bought a new (used) car. (A 1999 Saturn SC2) We've been researching and looking around for quite some time, and because I've been working 1.5 jobs recently we had money for a good down payment. So that was fun, and surprisingly painless, too.

I'm going back to my previous job starting next Monday. Hopefully I won't be changing jobs again for quite some time. I'm going over to a past-and-future co-worker's house later for a fried food fest and the Steelers game. (We'll be going to the gym beforehand to stave off any artery hardening...)

Also figured out how to painlessly adapt SPOPS to use multiple-field primary keys. (They should be outlawed in new apps, but it's useful to use legacy datastores.) This should be in the next release.

I'm really looking forward to a sane work situation again.

Looks like I'll be getting back into Java again. And maybe a stable job, too. (Imagine that.) More later...

81 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!