Older blog entries for cwinters (starting at number 67)

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.

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...

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