Older blog entries for cwinters (starting at number 70)

Oh, how embarrassing. Got new versions of OpenInteract and SPOPS out the door only to find a bug in one of the OI packages (browser-based object/task security editing won't save the settings). Ack! Quick release of a new version out as quickly as possible.

The possibility of this happening probably increases with the number of changes made between versions. That'll teach me to change so many things at once.

Now that things aren't so panicked, I'm revisiting the server issue so I can get IMAP up and running. I'm being ambitious and trying for Cyrus on the first shot. We'll see...

chromatic: You should ping the DC Perlmongers group (esp the mailing list) regarding XP in DC. If I still lived down there I'd be there with bells on :-)

OpenInteract 1.2 and SPOPS 0.50 are pretty much bundled up and ready to go out the door. Once my guinea pig -- I mean client -- gets everything up and running, they'll be unleashed. LDAP support for object serialization and authentication, retrofitting onto existing directories, is included. Also: better TT integration with a full provider and plugin; SPOPS code generation has been totally rewritten to make adding features quite easy (rules-based setup). The crowd goes wild.

I really need to work on the docs for SPOPS -- it's getting big enough that I think we need something like what TT has: each module has its own information and a separate hierarchy (Template::Manual) has overall information and binding material. Organization key.

Project from hell pretty much got worked out -- throw enough time at it for n days straight, hey no problem -- but of course right on the heels of that the only person who knows unix went to germany and saddled me with a nasty email problem. Then someone else had an email problem. (And of course everyone panics when they have email problems.) I'm getting the impression our clients are held together with duct tape.

Also went down to DC for a meeting with a about-to-sign-the-contract client and closed the deal. Cool. So OpenInteract will be used on a site that some people might have actually heard about. (More later, when it's actually implemented :-)

On my way back from DC stopped by one of the big box stores and bought five or six CDs. The pleasures of immediate gratification...

So I'm jamming along, finishing up this LDAP stuff after having completely rewritten the SPOPS class builder system, feeling pretty smug. Going to Kennywood tomorrow, great. Weather has finally cooled down, great. Got some trance something or other playing that a friend gave me a while ago.

And then the project from hell comes raining down. You know, the one where things have been spinning further and further out of control for months, where the people who were working on it and had some idea of what it was supposed to do are gone, where the scope has gone entirely out the window, where your management is just cutting bait so the project doesn't continue as a black hole for money and time.

Yeah, that one. To be finished by Friday (day after tomorrow). I had forgotten, but that's why I wanted to become a programmer. Shit.

Somehow, the idea of running OS X in one of them new iBooks has got itself into my brain and refuses to leave. Part of me recoils in horror at the potential of becoming part of another rabid community. But it's mostly because it's so damned cool.

I've never been a Mac person, and it's fascinating to try and learn something about the technology because you quickly run into a different language. Task about Pismos this, Lombardo (?) that, Wallstreet the other thing. It's just like discussing any number of things in the PC (or opensource world), but it's still startling to encounter the first time. It's been a while since I felt like a newbie... of course, other people probably thought I was, but I didn't :-) Ignorance is bliss.

The hardware treadmill never ends, does it? I suppose if I were a handy person I'd be the same way about power tools. Oh well.

Socks are mostly patched up now, resulting in lots of cool features for both SPOPS and OpenInteract. I need to release new versions of both soon, otherwise the Changes entries will become overwhelming.

You know when you've got a thread dangling from a sock and you start pulling the thread to make it look (and function) properly? Sometimes the thread breaks after a short tug and you're all set.

But sometimes you can pull and pull and once you realize the thread will keep coming and you've pulled out too much to stop, you see only three options. You can keep pulling until all there's no more sock and then reweave everyting. Or you can break it with your fingers but then you get that bunched up look and that just won't do. Or you can just get a new sock.

I'm in between the first and the third options... But it will all be good, once it's done. Really!

Went to wedding in Monterey (CA) and then to SF for a day of walking around, eating, etc. Nice place (last time I was there I was eight), but once we saw a 'For Rent' sign for a relatively normal 3BR place in Russian Hill ($3600), the airy dreams of moving got some cold reality water. Beautiful wedding, too.

Verizon has tipped me over the edge -- inbound port 80 is now blocked for DSL customers and will probably be for the foreseeable future. (I need to setup a proxy somewhere and run my stuff on port 81, hassle hassle.) I'll wait a bit to see if they change their policy, but I'm looking around at different providers. Unfortunately, there would be a one-to-two week period where I'd have no DSL service at all. Bleh.

Excellent ideas going on with SPOPS right now -- one of the active contributors wants to be able to synchronize an object so multiple processes can access and use the same object concurrently. Immediately terrible visions of EJBs flood my head, but wait -- it's optional! Every get/set method doesn't require an RPC! It's not something to be designed around -- use it or don't use it, your choice!

Plus, SPOPS::LDAP is functioning, so you can use an LDAP directory as a datastore. Sweet. Still some more features to add, but I should be able to meet the deadline.

Now that I think of it, we're getting some nice 'enterprise' functionality -- LDAP, synchronized objects -- all we need to do is something with XML and computerworld will be knocking at our door :-)

And a colleague has finally turned me onto Gnus for all my messaging needs -- he uses the IMAP interface frequently and with no problems. Once I get cyrus setup I think I'll switch, just making it something else to learn, something else to never leave xemacs for...

This is nice when it happens: a client needs LDAP functionality for SPOPS right now, is willing to pay for it and is willing for the work to be distributed with SPOPS under the same license. Sweet.

The (slight) downside is dealing with LDAP -- I understand it and can work with it no problem, but I always feel like there's something I'm missing.

One of the other benefits (sorta) of writing code on a contract basis for a short deadline is testing -- people want to know that the code works, and the best way to do it is testing. IMO it's easier to skip over testing when the people using the code are peers than when someone has paid you money for a particular thing to work. So since I was adding new features to it the SPOPS tie interface (along with its subclass that does strict field checking) now has decent test scripts. Hooray for Test::More!

We went camping this weekend. It was just a short little trip an hour away but very nice. Our fire kicked ass :-) Unfortunately, there was a Marilyn Manson/Black Sabbath/some-other-tick-off-the-parents band at the nearby outdoor pavillion, and some of the attendees were saving money by camping. So we woke up Sunday morning to a distorted voice singing: "My name is Lucifer/Please take my hand" or something. Creepy.

Note to self: after upgrading your X server and fonts (say, from 4.0.x to 4.1.x to get DRI working properly so you can play Quake 3 b/c you're a lazy bastard and don't feel like working), it's helpful to stop and restart the font server. Otherwise all the fonts come up as squares, which can tax your memory as to option positioning. (It's kind an of interesting usability test, tho.)

I wish I were in San Diego right now. I should make a resolution to either be with a stable company next year around this time or make sufficient money that I can go out there and justify the (large) expense.

Released new versions of OpenInteract (1.1) and SPOPS (0.41) on Friday and didn't get any angry emails over the weekend, which is a good sign. I also modified all the testing scripts to use Test::More,

which is quite simple but quite useful. It's funny how it

started -- Thursday night I was surface-cleaning up docs, making sure all the POD was manified without errors and figured I should add a test (or two) for iterators.

It was like unraveling a threadbare rug -- one tug on one strand and the whole thing started falling apart. (Well, maybe not that dramatic, but still.) So, remembering the talk from YAPC I nabbed the aforementioned module and started converting. It's an additional download for people, but it's pure Perl so it shouldn't prove problematic. On top of that, I modified the tests to use some of the shortcuts written recently, so overall writing tests is easier now. This is definitely good.

I'm thinking I should move the SQL data moving abstraction stuff from OpenInteract to SPOPS. At the least it would make it easy to specify tables and data for testing :-)

Went to Erie (Pennsylvania) on Sunday to hang out on the beach with my wife and mother-in-law. Very pleasant. Not much work done over the weekend, but that's not necessarily a bad thing.

Also in the process of building a new gateway from my old workstation parts. Most everything is installed and running ok, just need to copy my OpenInteract configuration and theme stuff from the (very) old version on MySQL to the newest version on PostgreSQL. Also going to setup IMAP (using Cyrus) since mutt's IMAP support is pretty decent, and then something like acmemail for web-based access, since checking email from Greece a few weeks ago was a PITA.

Work work work. Since $COMPANY let some folks go I have to do icky HTML layout for a redesign. On the upside, new versions of OpenInteract and SPOPS are coming out soon, since the installation I did this weekend hasn't blown up yet :-) One of the mailing list folks has been doing a ton of work to make object linking and inheritance easier, which is excellent.

dmerrill: Instead of using Pg.pm, try DBI and DBD::Pg. They're quite simple to use and not as tied to the PostgreSQL API as Pg.pm. There are also wrappers to make things even simpler and object-oriented (and better tasting!) such as <plug> SPOPS, which works just fine with Postgres. Email me for more info if you're interested.

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