Older blog entries for cwinters (starting at number 64)

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.

Vacation was excellent (many rolls of film are being developed as I type) and it really made me aware that we need to take time like this more often. (Yeah, same story, I know.) A week into our time away it dawned on me that I've never taken this much time (two weeks) away for a vacation as an adult. That's sad.

Greece is a lovely country, but there are quite a few cultural adjustments. For instance, the attitude toward animals. We knew going over there would be strays, but nothing like we saw. The number of strays (dogs and cats) in Athens was shocking. But IMO even worse was the number in smaller towns -- you expect that in big cities no matter where you are. Apparently -- we asked a number of people about it -- it's considered cruel and unnatural to spay or neuter an animal. And in fact plans to do so by consciencious vets are met with outright hostility.

Another thing I've noticed since I've been back -- I really didn't miss hearing about all the latest news, software, etc. I can be quite a junkie when it comes to the usual open-source, software, news, forum haunts that are out there, but it's such a timesuck. I'm going to try to limit my reading in the coming weeks -- we'll see how that works.

And of course, when I got back there was lots of disturbing news about work. Oh well. Lots of fun work awaits -- I should be able to get iterators out within the week and one of the list members has come up with some great ideas for SPOPS and object linking features. I also hope to have time to look into this Reefknot stuff a little more...

Got back from YAPC NA yesterday. Tons o fun. Got to talk about OpenInteract in a talk and, despite a few small technical issues (thanks for crashing Netscape!) things went well. We gave away a box of t-shirts too, which is always a nice introduction. (Geeks are such suckers for t-shirts, myself included of course.)

Montreal seemed like a decent city but it's difficult to say from my limited exposure. I did a bit of exploring, but it was pretty aimless and geared to just get me out and about rather than learning. (Although the Basilica of St. Patrick's was quite impressive.)

Lots of fun stuff at YAPC: normal Damian Conway entertainment and mindbending stuff, the 'delta force' of hackers who can't decide what to do for lunch/dinner, rants about project management/testing/etc. from Mr. Schwern. Things were a little different this year for me since I was visiting the city rather than going home every night. Made for more immersion :-)

I sat in on a calendaring BOF (hi srl and Skud). It might be interesting to have some SPOPS objects you could use to serialize calendaring information -- you could in theory plug it into Reefknot and have it Just Work as part of its storage layer. (In theory.)

But that (among other things) will have to wait a bit -- we're finally (we got married last April) going on our honeymoon to Greece starting Thursday. As long as there's money in the bank account, we should have a wonderful time despite our disorganized best efforts to try otherwise.

Also, in a rare bit of airplane and conference productivity, implemented iterators for SPOPS and SPOPS::DBI, which might make it out the door before we leave if I have a fit of sleeplessness...

New versions of OpenInteract (1.07) and SPOPS (0.40) have been released. I took way too long to make these releases happen -- getting away from the 'release early, release often' idea. I think one of the reasons this idea is important is that people are more willing to invest their own time in a project that's active, and a good measure for 'active' is time between releases.

OTOH, nobody likes releases a few weeks apart that only fix a handful of minor bugs.

Hardware update #1: new keywell for Kinesis keyboard came as advertised on friday. It was a little difficult to get the connector out of the slot -- kind of like getting a snapped key from a lock -- but I eventually got it out. I have a normal keyboard again!

Hardware update #2: new motherboard, cpu and memory got RMA'd back to $VENDOR. They couldn't figure it out either.

I noticed I'm posting more often here in the last couple of weeks, almost certainly because I'm not working directly with people anymore. I'm trying to be very conscious of any unintentional changes in my lifestyle so I don't get out of control again. Then again, I just worked all weekend...

The nice people at kinesis are sending me a new keywell (that's their term for it) for just $30, plus shipping so, unless I screw something else up, I'll be back in typing-happy land again tomorror. Cool.

Slogging through a fairly large OpenInteract site done on an old (6 month) version by some junior programmers. Fun. But at least while I'm doing that I'm finding featurelets to add (and adding them) and bugs to fix (and fixing them). On the downside, it's delaying the 1.07 OI release and the 0.40 SPOPS release and stealing time away from another Really Important Deadline as well as preparing a presentation for YAPC.

(BTW, just curious: is anyone from Advogato going to YAPC?)

Also, someone just came out with an alpha for DBD::LDAP, which if it works well would be superfly since we could plug it into SPOPS and have it Just Work.

Ack -- while cleaning my Kinesis countoured keyboard I broke one of the connections from the one set of keys to the controller, so the entire left-hand side won't work. (I'm so gd clumsy sometimes...) I've grown terribly dependent on it and am afraid the nasty wrist pain will come back since I'm back on the standard keyboard.

There's been a couple of folks in Cornell doing neat-o stuff with SPOPS -- it's very fulfilling when people take something you've coded, even if it has a fairly narrow purpose, and do something you never thought of with it.

Icky hardware stuff: got snazzy new mb and cpu but problems abound. Methinks it's a problem with the power supply, new one coming will test that out. Way, way too much time spent screwing around with it, reading forums, newsgroups, scouring google, etc. Arg.

SPOPS now supports lazy loading, which means that listing hundreds of HTML page objects won't eat up all your memory and demand more. (Doh!) New release (0.40) should be out shortly.

OpenInteract is going well. I created a relatively simple project management app for myself, mostly for the app but also to get back up to speed on things. Mission accomplished on both counts.

Did an informal presentation about OI last friday down in DC. Wouldn't you know it, I'd neglected to install a browser on my laptop, so it was all talk talk talk. A couple of people seemed to really get it, which was nice. I think after YAPC I'm going to make an effort to get around to various perl user groups to give a talk on OI, as well. By then, I'll have a browser on my laptop and even prepared slides!

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