Monday, December 29, 2003

Suggestions Welcome

So I'm going to be in Boston for the traditional PsiU alumni new year's party, and since I never get around to taking time off from work I decided to take the day before and a few days after off. Basically I'll be heading up to MA on tuesday night and I'le be driving back to CT on sunday night.

So (when I'm not working feverishly on the book) I'll be hanging around with some time to kill...

Anyway, the real question is: what should I do when I'm there?

There are at least one or two friends of mine who are going to be around, so I'll probably be able to scrounge up a few co-conspirators for whatever evil plan I come up with, but so far I'm totally stumped as to what we should do.

I mean come on, there HAS to be something interesting we could do in a city as cool as Boston, right?


Any ideas?

Tuesday, December 23, 2003


My article made it into chromatic's best of 2003 article.


Monday, December 22, 2003

Another Reason TypePad is Cool

Atom Support.

It rocks that my weblog's already starting to work with the latest and greatest technology, and I didn't have to do a damn thing to make it happen.

That's why I don't mind paying for TypePad.

Friday, December 12, 2003

Sunday, December 7, 2003

DragonFly and Variant Symlinks

So it looks like DragonFly has been making considerably progress since the last time I looked in on them.

Most significant (in my opinion anyway) is the fact that they've implemented variant symlinks.

They're symlinks with variables in them, which are replaced with the contents of variables that can be set on a per-process, per-user, or per-system basis. All you VMS people out there are probably thinking "wow, that's a lot like logicals", and yeah, it sure seems like it.

Interesting places to look in the code if you're curious would be the command line tool for messing with the variables, and kern_varsym.c where much of the magic is implemented.

Neat stuff all around. I'm looking forward to giving DragonFly a try at some point.

Wednesday, December 3, 2003

A Bad Sign

It's probably not a good thing when you're reminded of the fact that you should throw out that two week old leftover chinese food by the fact that you're putting more leftover chinese food in the refrigerator.

Monday, November 24, 2003

The More Things Change...

So apparently the specific content of whatever I'm supposed to be writing has approximately zero impact on how much procrastination is involved with getting the chapter in question written.

A few weeks ago I was working on the chapter of my book about "Advanced Apache Integration", and since I'm not a huge Apache person I wasn't exactly thrilled about writing about it. As a result I ended up putting it off till the last minute, and wrote most of the chapter (which I'm still not happy with) in the last day or two before the deadline.

Today, I'm working on the chapter about "Best Practices", which is pretty much an excuse to blab on and on about how people should run their projects, and as anyone who's discussed the topic with me knows, I love doing that, so you'd expect that I'd have no trouble kicking out a chapter about it, right?


It's still a few days before the deadline, and I'm still not even close to done...

Thursday, November 20, 2003

Making Progress

Apparently the Geronimo guys are making progress.

They were actually able to demo the Sun pet-store example program at the closing sessions of Apachecon, after spending much of the conference frantically fixing bugs.

Nice work!

It's always good to see neat projects like this moving along, and for someone like me who only has the vaguest clue about J2EE the only way to be sure they're moving along is when they actually start putting something together that resembles a finished product in functionality.

Wednesday, November 19, 2003

What Does "Gewinnertypen" Mean?

So apparently we won an award.

It's in german, so I can't read most of it, but it seems to be for "best newcomer of the year."


Saturday, November 15, 2003

Some Stuff That I've Been Thinking Lately...

Just some random things that have been on my radar lately...

  • mark is cynical, but unfortunately right.
  • maven is cool. well, it would be cool if i actually used java very much, but since i don't i suppose it'll have to settle for being theoretically cool.
  • APR is actually going to hit 1.0 soon!
  • If you're every looking for a textbook example of how an open source project should deal with allegations of copyright infringement, the recent thing between geronimo and jboss is exactly what you're looking for. I've been following the geronimo-dev mailing list for the past few days, just to see how they dealt with the issue, and they've been nothing less than totally professional about the whole thing. well done.

Tuesday, November 11, 2003

Say It Brother!

mpt is directly on target with this wonderful rant about the usability of SSL certificates.

i imagine it would still be almost as amusing even if i hadn't been digging through the documentation for mod_ssl for the past two days trying desperately to come up with some simple and clear directions for how to configure SSL support for a Subversion server.

i mean honestly, these things just should not be this hard.

Sunday, November 9, 2003

How Unfortunate

Lawyers really tend to mess up cool things, don't they?

I mean come on, it's a parody people, lighten up!

Monday, November 3, 2003

A Story That Wasn't

Neil Gaiman has an interesting interview on slashdot, which is well worth reading (unlike most things on slashdot lately).

The fourth question is particularly interesting. It seems like a horrible shame that something that would have undoubtably turned into a fantastic Sandman story will never be written, but I can see why he did not write it, and I agree that it's probably best that he did not.

Oh, and speaking of Sandman stories, if anyone out there hasn't read Endless Nights, go out and buy a copy immediately. It's just that good.

I Call It... Mini-Db

Ok, so DBD::SQLite is entirely too cool.

I spent most of today mining data from log files and stashing it in an SQLite database, which lets me easily pull out particular parts of it for display in cute little gnuplot graphs. It's pretty neat, and way easier than setting up a real database. I love using perl for this kind of thing, it really shines at it.

Of course, I didn't get quite far enough to actually extract any useful data from my logs, but that's just a matter of turning my scripts lose on a larger data set.

At least I hope it is...

Friday, October 31, 2003

Best Window Washers Ever

Sometimes, I love the place I work.

Thursday, October 30, 2003

Recommended Reading

If you're at all interested in the mechanics of large scale open source software development, this paper about the FreeBSD SMPng project is well worth reading. It's a fascinating look into a very interesting project, both from a technical point of view (SMP kernels are fun!) and from a project management basis (herding cats is hard!). It doesn't pull punches, and at least as far as I can tell from what I've read on the various mailing lists it gives an honest and accurate view of how the project has progressed.

Monday, October 27, 2003

It scares me...

That The Onion didn't have to make this up.

That must be one of the signs of the apocalypse. It has to me.

Random Updates

So a few notes from my experience with panther this weekend:

  • New Emacs from CVS (that's the only place to get a version that works with Aqua) doesn't work with the syntax highlighting in nxml-mode. That's annoying. If it didn't take so damn long to build I'd try moving back to a previous version to see when the breakage happened, but for now I can't be bothered.
  • A New version of Firebird is out, correcting many OS X specific problems in the last version. And damn, does it start up quickly. I'm quite impressed.
  • Panther doesn't have an 'internet' preferences panel, in order to change your default browser you have to go into the Safari preferences. That's kind of lame.
  • iPods are just the coolest thing ever.
  • Fast User Switching is quite cool. I'm running a non-admin user now, just to see what it's like.

Saturday, October 25, 2003

iPod Update

So I made a trip out to the apple store again, and they were happy to exchange my busted iPod for a working one. Apparently it was so screwed up they couldn't even use it in target disk mode (note: to use an iPod in target disk mode you reset it by holding menu and play, then hold the fast-forward and rewind buttons at the same time). As an added bonus, the manager (who was actually the guy who sold me the iPod last night, amusingly enough) noticed that he had forgotten to take 10% off my iPod last night (since I had bought a copy of Panther at the same time, and they were having a special discount last night), so I actually got money back in addition to the new iPod.

And now I'm sitting here waiting for a monster-huge copy to complete so I can back up my home directory onto the iPod and do a clean reinstall of the OS. I've screwed around with this system enough that it's time to start from scratch, and I've wanted to partition the drive into 'Root' and 'Other Stuff' for a while, so I can more easily make this kind of transition in the future.

Panther, and fun with iPods

So I had this plan...

I wanted to reformat my hard drive while in the process of upgrading to panther, but I'm entirely too lazy to copy all my data over the network, so I needed access to a firewire hard drive of some sort...

Hey, I thought to myself, an iPod is just a tiny firewire hard drive, and a 20 gig one will hold my home directory just fine...

So I went off to the apple store last night for their panther roll out thingy, and I picked up a copy of the OS and an iPod, since i'd been planning on getting one eventually, and hey, this is a perfect excuse.

Then, the fun begins.

So my brand new iPod apparently does not like talking to my powerbook. I've been able to get the powerbook to recognize it twice, for stunningly brief periods of time, but before I can actually copy anything to it, it vanishes. I'm really hoping it's the cable, or failing that, the iPod itself that's bad, as I would be unthrilled if there was something wrong with my powerbook.

Anyway, I gave up on the reformatting idea, in the short term anyway, and just installed panther over my existing install (what, did you really expect me to wait a day or two to install it?), and I must say, it's damn cool. Everything is faster than before, or at least it feels that way, and the new features are just entirely too damn cool. I'm finding myself searching for reasons to use the 'fast user switching' stuff, even though I'm the only user on this box, just because the effect is so slick.

And now I'm waiting for some stuff from work to finish up, so I can go back to the mall and get the guys at the apple store to either tell me what I'm doing wrong or replace something or other in order to make my new toy work.

Monday, October 20, 2003

RPI In Fall

So it turns out that the windows in CII 7003 open way further than you'd think they would, and that RPI actually looks pretty decent in the fall, and that the pictures I took while waiting for the alumni meeting to start came out ok.

Who'd have thunk it.

Random Stuff

A few random points for my 3 readers:

  • It's really annoying when you're tweaking obviously inefficient code to remove the stupidly obvious inefficiencies, and it actually makes the end result slower.
  • While driving to Troy this weekend I determined that my copy of "Rarities, B Sides, and Other Stuff", by Sarah McLachlan, does not play in my car's CD player. I'm like this -><- close to using that as an excuse to buy an iPod.
  • If I had any self control, I would use that as an excuse to burn a CD instead, but let's be honest, what are the odds of me having any self control when it comes to consumer electronics?
  • Being completely and totally interrupt driven sucks, cause you never actually move forward, you just spend all your time dealing with the latest catastrophe, and despite having said to ourselves that "being completely and totally interrupt driven sucks" several times in the past, we seem to be doing it again at work.
  • There is absolutely, positively, zero chance that I will make any progress on my pile of "books i should really read" before new years, and that really really sucks.

Sunday, October 19, 2003

The Weekend

Spent the weekend in Troy at Psi U's 3 to 3.

As usual it was a hell of a fun time, and I got to see a ton of people I almost never get to see. In particular, Saavik actually showed up, and brought her fiance along. He seems quite cool, and she seems to be doing well. It's really odd thinking of Saavik as 'Doctor', so I think I'm just going to ignore that fact.

Oh, and while I did manage to take a number of not entirely crappy pictures, I also find it quite amusing that the one shot I got of Kirsten (when she wasn't paying attention to me and thus couldn't run from the camera or hide behind something) that had a chance of looking decent fell victim to the fact that I don't know what the hell I'm doing, and thus it's ever so slightly blurry.

It looks almost decent if you zoom way the fuck out, but let's be honest, nobody is really interested in a 160 x 107 jpeg.

Oh well, practice makes perfect...

Thursday, October 16, 2003

Bad Day

When I walked out to my car this morning and noticed that it had a parking ticket on it, I totally did not expect that to be the best part of my day.

It was, in fact, the best part of my day.

Sunday, October 12, 2003

Ironic, Isn't It?

So nothing has pointed out the insanity of the way google ranks weblogs to me as clearly as this, a journal entry by Seth Schoen where he mentions a quote from Hunter S. Thompson, and says that if you have not heard the quote you should google for it.

Of course, now if you google for it, the number one hit is that page.


svn blame

this is officially my new favorite subversion command.

still a little slow, but we've got a few ideas on how to fix that going forward.

Saturday, October 11, 2003

TiVo Rocks

So it goes without saying of course, but TiVo kicks ass. It's so much cooler than ReplayTV that it isn't even funny. Worth every penny, and I didn't even have to bend over backwards to find a phone line to do the initial guided setup. I should have done this a long time ago.

When in Rome...

As usual, Mark is amusing, and on target. I don't have anything especially interesting to say in response, I just found it to be yet another amusing post from him, and wanted to share with any people who by some quirk of fate happen to read my weblog but don't read his.

Sunday, October 5, 2003

Things I Learned This Weekend

  • The Red Sox still kick ass.
  • Even weirder, I apparently enjoy watching them on TV, which was kind of a big surprise, since I'm generally not a big baseball fan.
  • The Breakfast Club still rules.
  • Output from programs like cvs2svn tends to be really long, making it kind of hard to create short little examples for the book.
  • My book has an ISBN number (1-59059-290-5 for the curious). I suppose this means I have to finish it at some point.
  • There are no hotel rooms in Troy during 3 to 3, so Jess, Emily, and I will have to scramble to find someplace to stay.

Saturday, October 4, 2003


So a while back I went out and bought a ReplayTV because I wanted a PVR that could be used without a phone line. At the time the ReplayTV was the only one available that would worth with an ethernet connection in a supported manner. Sure, you could make a TiVo do it, but at the time they weren't supporting the configuration.

Anyway, I was reasonably happy with the ReplayTV at the time, but since then things have gone down hill. It's become more and more clear that the TiVo just has a better UI, and that more interesting things are being done with the TiVo (primarily because Sonicblue went under I imagine).

So I finally got tired of being annoyed by the ReplayTV, and today I started looking in to getting a TiVo. I really didn't plan on it, but it turned out that they were having a sale on refurbished 80 hour series two TiVos from the TiVo website, so in a moment of weakness I ordered one.

A little research shows me that I will probably even be able to get past the how do i setup a new TiVo without a phone problem without too much trouble. It turns out that they don't support the initial connection over a network because most of the current gen TiVos that are shipping don't have the most recent software, but with the right kind of network adapter you can make it work. And even if I don't have especially good luck with that, I can always take it to a friend's house and do the initial setup there.

And yes, I will admit to anyone who cares that I am the king of the impulse buy, and I seriously need to have my credit cards confiscated by someone more responsible than myself ;-)

Friday, October 3, 2003

Now That's A Scary Bug Hunt

The next time you're chasing a problem through some code at work, just be glad that you don't have this kind of problem. Compiler bugs are scary, and this is a fascinating story of how some were tracked down as part of resurrecting an obscure OpenBSD port. Neat stuff.

Thursday, October 2, 2003

Trusted Computing?

Interesting whitepaper from the EFF on the various 'Trusted Computing' standards that are currently in the works.

I'm still not sure how I feel about these things, but it definately feels like there is a lot of potential for abuse practically built in to them. On the bright side, at least you can turn them off, but on the other hand, it could end up being one of those things where you really need to turn them on in order to interoperate, so yeah, I remain on the edge.

In any event, it's worth a read if you're into that sort of thing.

Saturday, September 27, 2003

I *heart* Fortune

courtesy of fortune(6)

You worry too much about your job. Stop it. You're not paid enough to worry.

Wednesday, September 24, 2003

Another Time Suck

So I stopped at borders yesterday and picked up a copy of quicksilver, Neal Stephenson's new book.

First impression: It's good. It's long, and probably won't be a quick read, but overall I like where it's going.

Interestingly, for those who are having trouble understanding some part of it, there appears to be a wiki devoted to the book. I haven't delved too deeply into the wiki yet, since I want to avoid finding out too much about the book before I read it, but I can definately see why this kind of thing would be useful in the future...

Sunday, September 21, 2003

New Stamford Art

Well, apparently whoever is in charge of all the random artistic things that go on in downtown Stamford wasn't willing to settle for filling the city with interestingly painted circus animals, and so now we have these showing up all over the place.

Saturday, September 20, 2003

Random Geek

So I was walking down the street today, wearing this t-shirt, and some random guy passes me (going in the other direction, so he had only seen the "SYN" part at that point), and he turns to me and says "ACK".

Perhaps there are more geeks in Stamford than I thought...

Friday, September 19, 2003

Avast You Landlubbers!

Don't forget that it's International Talk Like A Pirate Day!

Yarr! It appears the scurvy sea dogs of are in the proper frame of mind for the day, and all the rest of you had better follow along or I'll make you walk the plank!

Tuesday, September 16, 2003

A Tax On People Who Are Bad At Math

Apparently one of my neighbors has been having some trouble with their morning paper...

I don't really have anything interesting to say about this, but I thought the sign was amusing, so I had to share it with the internet ;-)

Sunday, September 14, 2003

Checks and Balances are Overrated Anyway

Interesting NYT article on some of the new changes our fearless leader is asking for in his fight against terrorism...

I think my favorite part is this:

Officials could not cite specific examples in which difficulties in obtaining a subpoena had slowed a terrorism investigation.

So they're not willing to actually give examples of why this is needed, and we should just take them at their word that it's a good idea, and accept their assurance that it would only be used when it's in our best interest.

Pardon me if I'm less than thrilled about this concept.

Saturday, September 13, 2003

Too Dman Fnuny

This is great.

Of course it wouldn't be complete without an implementation in perl...

Naturally, the license in that script is the best part ;-)

Thursday, September 11, 2003

Implementing Condition Variables on Win32

So there's been some discussion on various APR and Subversion mailing lists recently about exactly how to implement POSIX style condition variables on a Win32 system.

The existing implementation in APR is buggy, and we need a better one before we can merge the work that's been done on making svnserve use a pool of threads into Subversion's trunk. After everyone and their brother posted their (flawed) schemes on how to do it, Branko finally posted a link to a paper containing more than you ever wanted to know about implementing condition variables on win32 systems.

I doubt anyone who reads this is especially interested in this stuff, but I wanted to post it here so I remember to go back to it later and read the rest ;-)

Wednesday, September 10, 2003

M-x nxml-mode

So James Clark (of expat, DSSSL, and probably many other things) has created a lovely new XML mode for GNU Emacs.

Anyone who knows me knows that I tend to waffle back and forth between loving and hating both vi and Emacs, but this, this is really really nice. If you do any amount of XML editing in Emacs, I suggest you check it out at once.

Tuesday, September 9, 2003

Oh My...

I continue to be amused by Rob's stash of incriminating photos.

Monday, September 8, 2003

A Place So Foreign and Eight More

Cory Doctorow (of Down And Out In The Magic Kingdom and Boing Boing fame) has a new book out.

This one is a series of short stories, one of which (0wnz0red) was published a while back on Salon. Most of the rest are available off the book's website, but for a few of them you'll have to shell out some cash for the hardcopy.

If you think it's a little weird that he's giving away most of the book for free off his website, I suggest you read a little about his reasons.

Personally, I'm putting in an order at amazon before I even start reading the ones he's putting up for download, and I suggest you do the same.

Sunday, September 7, 2003

Disappearing Icons

Ok, so this is really confusing me.

For some reason both Photoshop Elements and Acrobat Reader have both managed to lose their icons on my powerbook. They're both just showing up with that default icon that you get when an application doesn't have it's own icon. Reinstalling the application doesn't seem to help, and neither does cleaning out the various cache directories in the system (~/Library/Caches, /Library/Caches, /System/Library/Caches...), or rebooting, or any combination of the three that I've been able to figure out.

Anyone have a clue how to fix this short of a clean reinstall of the system?

Saturday, September 6, 2003

Ted Koppel On The Dangers Of The Patriot Act

It's nice to see that the press is coming to it's senses and saying what a lot of us have been thinking for some time now.

Damn Neighbors

Ok, so I'd just like to point out that 6AM on Saturday morning is not the most fun time to be woken up by a fire alarm because one of the downstairs neighbors had something in their apartment catch on fire.

On the bright side, everything is fine, nobody was hurt, and I was back in bed within half an hour or so, but still, not the way I would have chosen to start the weekend if it was up to me.

Friday, September 5, 2003

Another $COMPANY Weblog

Apparently Roberto went and got himself a blog.

Of course he started it months and months ago, and I'm only noticing now because someone mentioned it during breakfast today, but still...

In Defence of O'Reilly

Nat Torkington has an interesting post in his use.perl journal where he answers some of the common questions people have about O'Reilly these days.

It seems to me that O'Reilly is a damn fine company, they make a good product, help the community when they can, and are just generally nice people.

It's becomming a cliche, but "Times are Tight", so yeah, everything isn't they way they'd like it to be, but despite that, they do manage to do an awful lot of really cool things, and I'd hate to see people forget that because of a few understandable shortcomings.

Making The Move

so i figure that since my free month is up, and i'm pretty satisfied with typepad so far, i'm going to take the plunge and move over. my blog's new location will soon be at, so head on over there in the future. as soon as they get their domain mapping working (it's planned for early september, i'll think about pointing this URL over there, and for those of you using the rss feed, i'll be installing a permanent redirect in my apache config once i've finished the migration.

thanks blosxom, it's been fun, but the lure of typepad is just too much for me...

Sunday, August 24, 2003

The More Things Change...

so i upgraded my install of net news wire to the latest beta a few days ago, and i'm happy to see that it's gotten a feature i've always wanted, it shows the differences when a blog entry you've already downloaded changes, rather than just marking it as new again.

in and of itself, this is just damn cool, since i've always been curious exactly what little tweaks people are making after they publish an entry.

the really weird part is that of all the feeds i subscribe to (about 60 at last count), the one that seems to edit their entries after posting them the most is the feed from the new york times, kindly provided via userland software.

i'm not sure what to think about this. i don't think the stories themselves are changing, although honestly i can't be certain, but the short blurb in the rss feed sure as hell is, and that is definately not what i expected from the new york times.

anyone have any opinions on this?

Thursday, August 21, 2003

Ruby 1.8

so ruby 1.8 has been out for a little while, and i knew it had a bunch of cool new features, but i hadn't had a chance to look that closely at them.

fortunately, whytheluckystiff, the guy who wrote the YAML support for ruby, has put together a little document that details exactly what some of the new features are.

in addition to the new YAML support, i'm particularly excited to see the XML parser in the core library, the dynamic library support (sort of like their version of .NET's support for calling into unmanaged code), and the un module (as in -run), which implements common unix commands like cp, ln, mv, and quite a few others in ruby, so you can safely use them in cross platform makefiles or .bat/.sh scripts.

anyway, suffice it to say that i'm going to be trying real hard to find a use for all these new toys just as soon as i can.

Monday, August 18, 2003

Blosxom To TypePad Take Two

so as part of my quest to determine if i want to move my blog from blosxom to typepad, i decided to see if i can bring over comments as well as entries.

it turns out that it is, with a few caveats.

you can set up a writeback flavour for dumpfiles, and that will get you pretty much all the way there, with the exception of the timestamps on the comments. the writeback plugin does not store timestamps for each comment, so you have to generate them yourself. i've got a little two line hack in my writeback plugin that adds a timestamp variable to writeback output, but generating it is kind of a hack, i just take the timestamp of the entry and as i loop over each comment i add one minute, so at least they end up in the right order, even if the real timestamp is impossible to retrieve.

yeah, it's a bit inaccurate, but without it you end up with all the comments having a timestamp equal to when you imported the dumpfile, which is kind of lame. worse than just being inaccurate, it means that they end up in reverse order, so if you tell typepad to show them oldest first, the latest comment you had posted in your original blog shows up first, rather than the earliest.

anyway, the last thing i have to try is categories. i don't know if i can do that without post processing to remove slashes, it will depend on how typepad deals with a slash in a category name.

Sunday, August 17, 2003

The Obligatory Cat Picture

so since i've got this shiny new camera, i feel a bit obligated to go out and take pictures...

unfortunately, the weather isn't cooperating, and i've got a bunch of work to do on the book anyway, so i didn't get to play with it all that much this weekend.

on the bright side, i did manage to get a picture of the cat.

ok, so it's not a real cat, but my parent's though it'd be more appropriate for me... it sleeps a lot, doesn't need to be fed, and there are absolutely no litter box issues for me to care about.

anyway, everyone else seems compelled to post a picture of their cat, so i figured it was only appropriate that i post mine ;-)

Saturday, August 16, 2003

Expensive Toys

so my editor told my my first check was in the mail...

as a result, any sembalance of self control vanished, and i went out and bought a canon eos 10d and a canon 28-105mm 3.5-4.5 usm lense.

they are just the coolest things ever, and i'm quite pleased.

it basically came down to the canon and the nikon d100, and i went with the canon because it's slightly newer tech, so i can feel better about it not becoming horribly obsolete in the next few days, it's cheaper, especially when you account for the fact that it comes with photoshop elements, which i would have bought anyway, and most importantly it just felt more solid and well built to me.

i'll have to get some pictures up on the web somewhere soon, once i've managed to take some that don't totally suck ;-)

Tuesday, August 12, 2003

Another Perspective On The SCO Thing

i noticed an interesting email to the gcc mailing list today while reading through the thread about their stance on further support for SCO unix given SCO's rather antisocial behavior of late:

it's kind of interesting. the guy posting it is actually someone i sort of know, as he sometimes posts to the subversion mailing lists. he works for SCO and does a lot of work making sure that various bits and pieces of open source software work on the platform. i get the impression that a lot of it is the semi-approved sort of thing that often gets done by engineers who use these packages in their job and submit patches so that others won't have to deal with the same issues they did.

in general, he's always been quite reasonable in all interactions i've had with him, helpfully sending in patches to fix build issues on his platform and pointing out ways we could make the software work better for use cases that most of us don't deal with on a regular basis, and it really hit me how despite the way the management of SCO has been acting lately, there are still a lot of your average (or above average in his case) everyday geeks working for them, just trying to get their jobs done who are probably quite annoyed that their superiors have managed to get the rest of the geek world really really pissed at them.

the presense of such people at SCO doesn't change my opinion of the company all that much, and i still hope IBM will wipe the floor with them, but just as in any war, it's really too bad about all the collateral damage, and people like kean are just that in this case.

Monday, August 11, 2003

Saturday, August 9, 2003

Hey, That's Only Three Or Four Times What A Sane Person Would Spend...

so after some random conversations about it with r0b last week, i've started looking around at the various different digital slr cameras that are available.

i've been playing around with my current slr a bit, and i like it a lot, but i absolutely hate dealing with film.

getting it developed is just a pain in the ass, not to mention expensive as hell, and a shoot, develop, look at picture cycle means i don't get anything approaching instant feedback, so by the time i actually look at the pictures i've forgotten 90% of the details of how i took the picture (what lighting, what settings, what lense, etc.), so it's kind of hard to figure out what, if anything, i'm doing wrong. i imagine it's like what programming must have been back in the day of punch cards, with the edit, compile, test cycle taking hours or days. while you can certainly learn that way, it's not what i'd call fun, especially if other options are available to you.

in addition, there's the whole "i want to get these things on the net eventually" question, and i still haven't gotten around to picking up a scanner, and even if i do, it'll add yet another step to the cycle, which will result in me having another thing to procrastinate on, which is always a bad thing.

so anyway, i start browsing around on various different sites, and i discover that virtually all digital slr cameras are so far out of my price range that it isn't even funny. then, i start looking a bit closer, and find that there are at least a few out there that are only a little out of my price range, and if i look even closer, there are places one can get them where they are arguably in my price range, if you squint a bit and try not to let the "oh my god that's expensive" reflex kick in.

basically, i'm down to the nikon d100 and the canon eos-10d. as usual the nikon is more expensive, but in its favor is the fact that i have a nikon film slr camera and a few lenses (albeit cheap lenses that would not be hard to replace) for it that would work with the nikon. on the other hand the canon is newer, so is less likely to be horribly out of date in the very near future, and while the reviews of both are quite positive, the ones for the canon seem slightly more positive.

so i played with the nikon today at the mall, and i think i'll go look at the canon tomorrow, and then i'll work on convincing myself that i don't need one, since even these low end digital slr's are freaking expensive...

Wednesday, August 6, 2003

Reversing an old Transition

so i'm continuing to play around with typepad, and it's hard to do that without any content, so i've thrown together the beginnings of some blosxom flavour files to generate MT style dump output from my existing blosxom weblog. i haven't made it do categories yet, and i don't think i'm going to be able to get it to do comments (at least not without some post-processing), but right now i can successfully transfer entries directly from blosxom into my typepad blog.

of course, the fact that this was so easy is making me think maybe i should stick with blosxom, just for the hackability, but the insanely great interface of typepad combined with the fantastically good support ben and mena have given me so far has got me real close to switching...

stay tuned for more updates on this breaking story ;-)

Tuesday, August 5, 2003

Nicely Done!

so typepad is now available in a 'prerelease' form, and i must say i'm impressed. for anyone who's looking for a simple way to set up a weblog with all the bells and whistles without needing to mess around with maintaining a web server or installing CGI scripts, this is the way to do it. i just had to try it out, and so far so good. the UI is fantastic, the responses i've received concerning the few problems i've found have been rapid and clueful (as one would expect from the people who wrote movable type), and despite a few minor issues (that will likely be ironed out in coming days), i'm -><- this close to switching over.

i definately still think blosxom is just ridiculously cool, but this is quite close to convincing me to switch, and that's saying something. i'll have to give it some thought, but who knows, maybe i'll be sitting down and figuring out how to convert my blosxom content into an MT style dumpfile for importing into typepad. we'll just have to wait and see.

Monday, August 4, 2003

They Grow Up So Fast

my little sister just got a job at cnn.

i guess this means i'll have to start watching the news from time to time...

anyway, congrats sis!

Sunday, August 3, 2003

Fun In The Sun

so i just got back from a weekend at tracey's parent's house on the jersey shore.

ok, strictly speaking i got back like 3 hours ago, and i've been reading email ever since... i need to get off some of these mailing lists...

it was a good time, despite the rain (which put a damper on the whole 'beach' thing for those who were so inclined) and the sun (for those of us who burst into flame at the first sign of daylight... to misquote peretj "the roof doesn't have a high enough SPF"). we ended up playing lots of uno, watching horrible shows tv, and generally having for most of the weekend. somewhere in there we managed to sneak in a few games of skee ball, which is of course the best thing about going to the beach.

some people did actually manage to spend some time on the beach, despite the rain, although i was not one of them. come on, did you really expect me, colonr, and peretj to spend a whole lot of time on a beach?

anyway, it was fun, and i'm going to go to sleep so i can get up and at least seem enthusiastic for the first day of market data wee^H^H^Hthree days in training. i swear, this is so the last time i'm doing this, three times in a row is definately my limit.

Tuesday, July 29, 2003

54 Pages!

so i just ran 'make book-rtf' and built the rtf version of my book. it's
been a while since i've bothered to do that, since the rtf doesn't look all
that good in os x's text edit app, and i hate waiting for openoffice to
open, and the html looks good enough as far as i'm concerned. anyway, it
turns out that the thing has grown to 54 pages! i mean wow! that's great!

i mean it may be crap for all i know, since nobody but me has actually read
any of it at this point, but at least it's starting to look long enough to
be a real book.

Saturday, July 26, 2003

Check Your Return Values!

so i spent much of this week tracking down a really irritating bug, and since it taught me an important lesson, i figured i'd share.

the bug manifested itself as one my my servers eventually, under very heavy load, ceasing to reply to requests. when we broke into the process in the debugger, everything seemed normal, and the server's internal count of the number of worker threads it had running said that it was totally maxed out, with like 300 worker threads working away, but actually listing the threads in dbx showed no worker threads at all!

so i started out by sticking debugging output all over the life cycle of the worker threads, anywhere that it could possibly be exiting where it really shouldn't, but for days, it would run with none of those outputs showing up, and yet the problem would still occur eventually. my worker threads were dying, and i couldn't see why!

finally, i started reading some more docs about the debugger, and i discovered that there was an extra argument you could pass to the debugger that would cause it to list all the threads, not just the active ones. when i got a chance to see the problem in question occuring, i tried this, and it showed tons of zombie threads sitting around. so i start reading up on what the hell a zombie thread is...

around this time, one of my coworkers was hanging around my cube, talking about this problem and others that we are trying to track down, and he said something that pointed me right at what the problem was.

it turns out that zombie threads are the left over parts of the thread that stick around after they exit, so that you can later do a pthread_join on the thread to figure out it's exit status. we were not actually doing this when our workers eventually exited, as the exit value of our threads were inconsequential to the rest of the application, so having the zombies wait around was kind of silly. worse yet, having the wait around was causing pthread_create to actually fail later on because it was out of resources, and i wasn't picking up on this because i was a moron and didn't check the return value from that function. so i'd go along blissfully unaware that i had failed to create a thread, increment our internal counter saying 'yes, we have one more worker now', when in truth we did not. thus the weirdness where we end up with no threads but think we are maxed out.

to solve the problem, you either need to join with the threads after they die, so that the thread library can stop keeping that data around and reuse it, or you can just detach the threads, by calling pthread_detach or by setting an attribute in the thread before calling pthread_create.

once again, let's be clear that if i wasn't less of a moron and had remembered to check the return value from pthread_create, this week long debugging saga would have been considerably shorter.

there's one more mistake i won't make again...

Wednesday, July 23, 2003

#include <bad day.h>

today was pretty much a continuous stream of annoyances.

Monday, July 21, 2003

Ichthyology and Stuff

fishing was fun. even with the 'wake up at 2:30 in the morning to drive to the cape' part. we caught something like 17 striped bass and 30 something bluefish. of course, we could only keep 12 striped bass, but still, that's a lot of fish.

now, i'm tired. my arms are killing me, and i feel completely and totally dead.

in other news, ask finally put a version of the oscon movie up for download. unless you're reasonably well versed in the various personalities involved, you probably want to read the cheat sheet that explains all the in jokes. i got most of them without resorting to it, but that just proves i am totally lame and need to get a life.

blosxom hit 2.0 today, and along with the release has a new website. damn cool, as usual, and i'll have to see about upgrading from whatever beta version i'm currently running once i find some free time.

in otherer news, i have no free time.

i have a deadline next week for the book, and i'm not even close to done. well, i'm 'close' in that i almost have draft versions of the three chapters i'm supposed to send them. unfortunately, i'm not really almost done because as i've come closer to finishing them, i've realised exactly how much the drafts suck, and how much polishing they need. there are about a million things i've realized i left out, and i really need to find ways to work them in, or the other stuff i'm writing about just won't make any sense, and that doesn't even account for how much the writing itself sucks, since i haven't even had a chance to give it a second look, let alone anyone other than me. sigh. with luck, i'll be able to finish enough of it this week that i don't look like a totally incompetent loser when i send it off to martin next weekend, but we'll just have to wait and see.

Saturday, July 19, 2003

Too Many People Are Getting Married

so for anyone who is a part of my little circle of friends, you are no doubt already aware that too many people are getting married.

i was discussing this issue with my friend jessica this week, and she had the following brilliant observation on the number of single people around lately, which several people have encouraged me to share with the rest of the world:

We are a dwindling species.

Shouldn't there be some sort of federal law to protect us and help us to breed? :)

i just thought that was the funniest thing ever ;-)

Saturday, July 12, 2003

Fucking Delta

how hard can it possibly be to put a bag on a plane in portland, leave it on the same plane when it stops for a few hours in cincinatti, and take it off when you get to new york? i mean they do this kind of thing every freaking day, they should have the procedure down by now.

normally, i'm paranoid about this sort of thing, and don't check bags, but this time i figured hey, what the heck, this bag is really freaking heavy, i'll check it. so murphey's law being what it is, they lost it.

they better find the damn thing...

off to call their 800 number and see if it's turned up somewhere.

OSCON Wrapup

well, i'm sitting in the airport in cincinatti, waiting for my plane to leave (gotta love 2 and a half hour layovers), and i thought i'd write a little summary of the oscon 2003 experience.

i had a fantastic time. this was far far more fun than usenix last year. not that there's anything wrong with usenix, but this seemed like more my crowd. the majority of the talks and tutorials i went to were both interesting and useful, and next time i think i'll be better able to avoid those that won't be.

most of all though, i enjoyed actually getting a chance to meet all these people who up till now were just email addresses to me. the best thing, in my opinion, about open source is the people involved in it. the vast majority of the people i got a chance to meet were just fantastically cool, friendly, and willing to sit down and talk about all sorts of things i'm interested in, and while i get some of that from work, these really are my kind of people, to a greater degree than i've found before.

just off the top of my head, i got a chance to meet and talk to:

  • casey west
  • mike schwern
  • alisson randal
  • ask bjoern hansen
  • rich bowen
  • justin erenkrantz
  • greg stein
  • john peacock
  • steve knight
  • chromatic
  • ward cunningham
  • brian ingerson
  • martin streicher
  • ted ts'o

(and i aplologize in advance to anyone i've left off the list, i didn't mean to, but i just met too damn many of you this week!)

at most, these were people who i'd emailed or talked with on line before, but most of them were just random people i knew only through reputation, and all of them were just too cool for words. i feel grateful to be a part of their community, and actually getting a chance to sit down and talk to them just makes me more motivated to try to contribute more back to it.

of course, there were a huge number of people i didn't get a chance to meet, or who i only met in passing, so i guess i'll just have to come back again next year and do it again until i've gotten them all! ;-)

OSCON Day Five

george dyson's keynote went back and covered some lesser known parts of the history of computing, back to the days of vacuum tubes. i mean it's amazing to think about the time when they actually didn't have the word 'bit', but he's working on preserving the history of those days, much of which had been in danger of being lost. i was amazed by a number of the things he mentioned, and i think everyone here was thankful for this view into our culture's lesser known history. in conclusion, he thanked everyone here for working to keep computers open and non-proprietary, because that's the way it started, and that's the way it should be, and upon leaving the stage, he was greeted with a standing ovation from the audience.

the next keynote was from miguel de icaza, of gnome/ximian/mono fame. i was always impressed with miguel during the short time i was contributing code to mono, and he did not dissapoint me. the demo was impressive (they ran eclipse under mono, via a java bytecode to IL translator), and him and nat friedman demoed a cool application they've been playing with that tries to integrate all of the different disparate data sources we interact with on a daily basis (IM, email, files on disk, and many others), so it can show you items related to whatever you're currently working on. it's still under development, but even so it was impressive, and it serves as a good example of the kind of thing one can only do in an open source system, since hooking in to all the applications one works with in a proprietary os would be much much harder than it is for them on linux.

i couldn't miss jeremy zawodny's talk mysql scaling pains, since i've been reading his weblog for some time, and he has always seemd like a very sharp guy. needless to say, he did not dissapoint. he covered a lot of neat things, some mysql specific, and some not. i'm sure he's got his slides online somewhere, so i'll have to forward copies of them along to the various people at work who are using sql databases, especially those using mysql.

i skipped out on jeremy's next talk so i could hear ask talk about the single sign system they built for it's a neat system, integrating various different web sites, cvs access, bug tracking, and probably some other things i've forgotten. the whole thing is backed with a mysql database, and when they can't write their own perl code to hit their systems, or hook mysql in to the application in question directly, they dump the data out periodically to whatever format the system in question requires (this is how they do cvs authentication and authorization). oh, best of all, they talked about subversion! they're using mod_auth_mysql for authentication in apache, and mod_authz_svn for authorization. they were a little annoyed that mod_authz_svn only supports flat files for configuration, but they conceded that it's very new software, and that they'd be on the lookout for better ways to make it work in the future. after their talk i went up and talked to them for a while about how they're using mod_authz_svn and what they'd want in the future. it was pretty much what i'd expected, they don't like that there's no way to have an anonymous user that doesn't have to log in, but recognized that it's a flaw in the way apache authorization works at the moment, and they want something that's more flexable in where it gets it's data, either by calling into mysql or something else. i'm sure such things will come in time, as mod_authz_svn is currently more of a proof of concept than anything else.

ask had to run out on me because he needed to set up his laptop to display this year's perl movie i'm not going to say anything about it other than that it's damn funny (if you know who the people in it are), and you should watch it once they've got it up somewhere for download.

the last talk of the conference was one of the guys from WETA, the group that does the special effects for the lord of the rings movies. they do everything on a gigantic linux cluster, and he showed a lot of pictures and movies, and in general it was quite cool. one of the more amusing comments was that in the down time between the movies they apparently ran seti at home on the cluster, and immediately jumped near the top of the team listings ;-) unfortunately, they didn't have a preview of the return of the king for us (last year apparently there was a preview of the two towers), since it's being saved for the dvd, but he did assure us that if we thought the battle of helm's deep was cool, we should love what they've got in store for us next.

in typically geeky fashion, we spent the afternoon wandering around powell's, and i showed remarkable restraint, only buying one book. justin did not show as much self control, and ended up shipping a ton of stuff home since he would not have been able to fit it all on the plane with him. apparently a lot of the conference attendees had the same idea we did, as i kept recognizing faces as i was wandering around the store.

Thursday, July 10, 2003

OSCON Day Four

the first keynote of the day was from stormy peters (what a cool name!) of HP. she's the head of the group that reviews open source technology within HP, both stuff that they want to make open, and open source projects they want to use. it was a bit 'managerish' for my tastes, but it was kind of neat to see how a really big company is viewing these issues.

next up was mitch kapor of the open source applications foundation, a nonprofit that's been doing some interesting things will open source applications. he had some amusing things to say, but honestly, i kind of zoned out during most of the talk.

the first non-keynote session of the day was '9 views of mark jason dominus', which was just as amusing as any of his other talks. it was 9 lightning talks back to back, each with something interesting to say. i particularly liked 'why lisp will never win', and 'how not to ask for help from strangers'.

then i wandered over to justin's talk on subversion. he covered some of the same stuff greg did, but a bit more in depth. it went well, and people seemed to like it. i think when we hit 1.0 we're going to have more users than we know what to do with ;-)

i decided to check out a talk about managing a domain registry in postgresql next, and it was quite worthwhile. got a few neat tips on how to tune postgres for massive machines, which should prove useful at work in the near future (hint: just because you've got 16 gigs of ram doesn't mean you should hand a huge chunk of it off to postgres as the buffer cache, anything over like 300-700 megs and it just bogs down once the buffer gets full). also heard about some neat replication stuff that is apparently going to be available in the very near future, so i'll have to look into that.

since i've been playing with kwiki lately, i felt compelled to attend brian ingerson's last minute talk about it. he's quite a character, and the talk was interesting. it's a neat piece of software, and it's always informative to hear from the actual person behind the code, so you can see where it came from and a little about where it's going. best new feature: viewable diffs!

after missing the perl lightning talks, there was no way i was going to miss the python ones. among the highlights was hearing the details of dan sugalski (of parrot fame) and guido van rossum's bet concering the speed at which parrot will be able to execute python byte code by this time next year. i'm going to do everything in my power to show up for the conclusion of that one.

i ran over to the YAML BOF next, and got to see a few neat things there. it's apparently possible to dump the entire state of the running perl interpreter with, and you can see all sorts of neat things that way. i need to play with this later. i also got to meet ward cunningham, the guy who invented wikis, which was damn cool. apparently him and brian ingerson (one of the guys behind YAML, in addition to kwiki) are drinking buddies.

the night ended with the party, which featured an auction to benefit the perl foundation. i walked away with a few books and some expensive magnetic perl poetry, which will be going on the fridge as soon as i get home, and the perl foundation surpassed it's goal of raising 4000 dollars (thanks to a last minute bid of over 1000 dollars to prevent from being orange for the next year). other highlights were the auctioning off of mark jason dominus' underwear, and a number of other amusing incidents that will most likely be blogged by others who were there.

Wednesday, July 9, 2003

OSCON Day Three

the day started off with tim o'reilly's keynote about the issues regarding some of the new generation of internet applications (amazon, google, etc.), which are based on open source technology, but are not open in and of themselves. they are allowing others access to their data though, which opens up many of the same opportunities that traditional open source projects provide. it's an interesting topic, but i'd read much of it before on his weblog posts, so i spent most of the time chatting on irc about companies who are heavy contributers to open source projects, which is always an interesting subject to me.

the next keynote was from one of the higher ups in the ibm eclipse project. unfortunately, this seemed to be mostly a 'sales pitch' kind of thing, going over some of the features of the application. not that it isn't a cool project, but IDE's arent' really my cup of tea, and if i'm looking for an application framework, i'd probably be more likely to go with mozilla with my app writtin in c++, as opposed to eclipse with my app written in java.

next i wandered around the exhibit hall for a bit. it seemed kind of small, but there were a few interesting booths. at the powell's booth i noticed that there's a new edition of unix network programming comming out in the fall, which should be quite cool.

the rest of the morning was spent in the "what's new in perl 6" lecture, which was primarily by damian conway, with larry wall poping up with a comment here and there. overall, i'm quite impressed with everything i've heard about perl6, and if it's half as nice as they're saying when they finish it, i'll have to give it a serious shot.

slashdot has already had enough commentary about the fact that lunch was donated by microsoft, so i'll just leave it at "it was pretty good" and move on.

at this point, i was hoping to go to the perl lightning talks, because from what i've heard they're always quite amusing. unfortunately, work is paying for this trip, and there are two talks happening at the same time as the perl lightning talks that seem quite relevant to work related stuff, so instead, i went to those.

first was a talk on distributed collaberative development, which is honestly one of the hardest problems we're wrestling with at work these days. unfortunately, this talk was pretty much a waste. the speaker wasn't very good (just read directly from her notes really), and the content wasn't especially insightful. i mean most of what she had to say boiled down to 'use good development practices', with very little specifics, at least from my point of view. i had higher hopes for this one. oh well.

next up was a talk on c++ open source libraries. the talk was reasonable, but it didn't really cover much that i hadn't already heard of, and since the idea was to just give a quick overview that would give you enough info to go out and find out more later, i probably would have been better off in another talk.

oh well, maybe i should have gone to the perl lightning talks after all.

since heading for things that looked useful for work seemed like a losing battle, i forgot about the talk on swig i was planning on attending, and went to hear dan sugalski talk about the state of parrot development. personally, i was quite impressed with it. he's a good speaker, and it's amazing how much progress has been made. i mean i read the parrot mailing list, and i still didn't realize that much of it was for all intents and purposes done. there's still a lot of work remaining, but it's not as bad as one might think.

for the final talk of the day i went to greg stein's subversion talk to lend moral support. wow, was it full. they stuck him in a pretty small room, and there must have been like 80 people there. we filled the floor, had people standing all around the walls, and there were still people outside the door looking in. i guess the conference people underestimated the number of people who really dislike cvs and are looking for a replacement. the general feelings in the room seemed positive, and after the talk i ended up talking to several people for some time about some of our design decisions and the state of the project.

eventually, the crowd subsided, and we ended up with just 6 of us remaining (me, greg, justin, a python guy who's name escapes me, john peacock, and another guy who's name i didn't catch), so we headed out for dinner at a chinese resturaunt pretty close to the hotel. there was a bit of a wait, but it was worth it. the food was great, and so was the conversation.


so day two was a bit of a blur.

the morning was spent in a tutorial about 'programming the apache lifecycle', which gave a good overview of all the various places one can hook into apache via mod_perl. i don't do a whole lot of that sort of coding, but it was quite interesting to see all the little tricks one can do if one is so inclined. it's definately some technology i'll have to investigate further, especially going forward as mod_perl2 becomes more prevalant.

then i had lunch with my editor from apress, which was nice. it's yet another good example of now being able to put a face with the email address, which is honestly one of the best things about conferences like this.

then the afternoon was spent in mark jason dominus' talk 'tricks of the wizards', which explains how some of the more magical parts of perl really work. it was quite informative, and even if i never use most of the things i learned from it, i'm certain it will make me a better perl programmer just because i'll know how more of it is working under the hood, which is always a good thing. also, he's just a fantastic speaker, so any talk he's giving is bound to be interesting.

after mjd's talk, i wandered off and had dinner with justin and rich, which was interesting. it's always cool to hear about how the various people working on open source projects actually got involved. apparently rich got involved with apache because someone asked him to write a book about it. personally, i'd think if one was looking for an author for a book about apache, it would make more sense to find someone who was already involved, but hey, it seems to have worked out in his case.

then we went to the state of the union talks, and heard various different 'leaders' of open source projects talking about what's currently going on in their world. larry wall was interesting as always, and greg stein gave a good overview of the apache project, which seems like it never really gets the recognition it deserves.

after the state of the unions, justin and i hooked up with greg (who i had never actually met in person), and went over to the activestate party. got to meet a few more people i'd only known by reputation, and had a few drinks. the party was cool, but it was a bit hot and crowded, which is par for the course when you offer an open bar to a group of programmers i imagine.

Tuesday, July 8, 2003


ok, so this is a bit late. i meant to post it yesterday, but got distracted.

yesterday's tutorial was Designing and Creating Great Shared Libraries, by Ted Ts'o. it was really neat. he started out by giving us a look at what one could do with elf symbol versioning, both the hows and the whys behind it, and then spent the second half of the talk going over good design practices that would keep you from needing to fall back to something as crazy as symbol versioning.

overall, i think the tutorial was quite worthwhile, if only for the 'good design' section. the symbol versioning stuff is neat from a technical standpoint, as i know we do some of that sort of thing on our VMS system at work, and it's interesting to see how one can do similar stuff on unix, but honestly i don't see myself needing to think about it all that often. there's this really small category of projects where things like that are needed (glibc was his big example), and i don't generally hack on any of them. the design portion however was damn useful. it reinforced several good things i'd already picked up from subversion hacking, and introduced a few new tricks that i'll have to keep in mind in the future. it's nice to have had this refresher now, before svn hits 1.0 and we start becoming constrained by backwards compatablity issues (well, more than we already are).

Sunday, July 6, 2003

OSCON Day Zero

so i spent the morning exploring portland a bit, and i came to two conclusions.

  • there are more starbucks here than any city really has a right (or need for that matter) to have.

  • i could never live in portland because i would be unable to resist the urge to spend all of my money at powell's. i mean you have to love a bookstore that fills an entire city block, and the fact that they have a whole separate store just devoted to technical books is just the icing on the cake.
then this afternoon i hung out at the perl bugathon and managed to find a few old bugs that had been fixed and a few random things that managed to get into the bug db that weren't even bugs at all. i must say, the perl crowd is a lot of fun, and i'm glad i had the chance to hang out for a while and help out a bit.

Saturday, July 5, 2003

Made It

so i managed, despite my best efforts at kate's 4th of july party yesterday, to get on the plane and travel across the country to portland.

upon arrival at the airport, i (along with a gaggle of other geeks, notably casey west, and dr. bacchus) was greeted by schwern and co. * they were nice enough to give me a ride to the hotel, and even though the car was frighteningly full, we made it just fine. so far, portland seems nice enough, and this conference definately seems to be getting off on the right foot.

anyway, my laptop is telling me it's 3am east coast time, so i'm in desperate need of some sleep...

* i am such a bad person, and already forgot the name of the person who actually drove the car. this is especially bad because he was the one who wanted to find out more about subversion... oh well, i'm sure i'll see him around at some point.

Wednesday, July 2, 2003

A New Experiment

i'm trying something new, running blosxom under mod_perl, so if you notice anything weird about my site, please let me know.

this is far and away not the usual configuration for blosxom, so it's quite possible that something is screwed up as a result...

update: damn. it looks like blosxom's plugins aren't playing nicely with mod_perl. oh well, i'll have to try later once i've figured out why...

Tuesday, July 1, 2003

Ah Ha!

so it appears that the secret to being able to make progress on a book is to pick up the laptop and get out of the house. for the past few days i've been taking over a table at either borders or starbucks *, turning off the wireless network connection, and writing away.

it turns out that when i don't have a TV, a game boy advance, a game cube, a gigantic pile of dvd's, and the entire internet to distract me, i can actually write! i'm not sure if it's any good mind you, but hey, it's progress!

* yeah, it's kind of lame, but we don't have any non-starbucks type coffee shops around here, at least not that i'm aware of, and it's just too expensive to go to borders every day, i have this little will power problem when it comes to books...

Sunday, June 29, 2003

A New Low

i just ripped mp3s of a series of physics lectures. i am such a dork.

Wednesday, June 25, 2003

More People Should Read This

so i just got my copy of code reading - the open source perspective in the mail today (i love amazon). it's fantastic. this kind of thing should be taught in computer science programs. maybe with books like this appearing, it will be.


looks like the oscon wiki has started up...

Tuesday, June 24, 2003

Much Cooler Than My Attempts

so this, is a damn nice java implementation of zeroconf, in java. it's far far cooler than my attempts to implement some of the same stuff in c, so if you're looking for a starting point for some rendezvous support in an application, and java plus lgpl is acceptable, check it out. if nothing else, it's a good place to get some ideas on how to implement your own, so check it out anyway, even if you don't plan on writing a java app.

oh, and just a note on the code itself:

maybe i'm spoiled by coding in languages where you can actually define things outside of a class, but faking it by making a bunch of classes that aren't really related in an isa type relationship all extend from a base class who's only purpose is to hold constants seems like a neat trick, but when it comes right down to it, it seems like the language shouldn't be forcing these kind of contortions on it's developers.

wow, that was a long sentence.

Monday, June 23, 2003

Wow, They Did It Again

so i just tried out the audio conferencing capabilities of the new ichat beta, and damn, they rock. the audio quality is fantastic, and while i hadn't been too excited about it, i'll have to seriously consider picking up the iSight so i can play with the video conferencing. if they hit the mark this closely with the audio, i imagine the video must be pretty cool.

Keeps Getting Better

just downloaded safari 1.0, and it's continuing to get better and better. fonts seem to look quite a bit nicer in this version, and overall, i'm quite impressed with the browser's progress. it's damn fast, works damn well, and integrates seamlessly with the rest of the os.

oh, and there were one or two other announcements today that are worth mentioning, but other people have already done that, so i don't see the point ;-)

Sunday, June 22, 2003

Curses, Foiled Again

so i'd just like to point out, for future reference, that if someone is looking for a great way to keep me from making any real progress on anything at all over a weekend, scheduling the release of a new harry potter book on friday night is a damn good way to start.

oh, and for the record, i love it. best one yet.

Friday, June 20, 2003

Fun With PuTTY

so i just figured out how to do two of the things i wanted to do with subversion's ssh tunneling, and i figured i'd write it down here, so others can benefit from my playing around, and more importantly so i don't forget how i did it.

first, i wanted to be able to set up an ssh tunnel through the exposed machine on my home network, so i can hit the machine which has my personal subversion repository on it. this isn't especially difficult to do, but i'd never really played with it before. second, i wanted to get subversion on a windows box to tunnel it's repository access over ssh. several people mentioned they'd gotten this working on the dev list, but i'd never actually tried it myself, and it took a little fiddling around before i could get it to work.

ssh tunneling is pretty simple. the command looks something like this:

C:\> plink -L 4747:quicksilver:22
plink is the command line interface to putty, everyone's favorite win32 ssh client. i believe you can just replace that with 'ssh' if you're on a unix machine. 4747 is the port on my local machine that i'll be hitting, quicksilver is the name of the machine the tunnel is pointing to on my home network, 22 is the port ssh is running on on quicksilver, and is my username @ the machine i'm tunneling through.

once you enter your password, you'll be presented with a shell interface to the machine you're tunneling through, which you can safely ignore, since the whole point of this was to set up the tunnel, not to get a login shell. to confirm that the tunnel is working, just try to connect to port 4747 on your local machine, and you should see the beginnings of the ssh connection to
the box you're tunneling to.

now that the tunnel is up, let's see what we need to do to get subversion on windows to speak to it. first, you'll have to set up the SVN_SSH environment variable, since you'll be using plink, not ssh, as your tunnel agent. this should look something like this:

C:\> set SVN_SSH=plink -P 4747 -l yourusername -pw yourpasswordhere
now, you can just use subversion as usual, like this:
C:\> svn list svn+ssh://localhost/home/repos/writing
since you've told subversion to hit port 4747 on localhost (4747 from the -P argument to plink, and localhost in the url), it'll hit your ssh tunnel, and everything will be forwarded on to the machine on the home network. note that you apparently need to set the password in the SVN_SSH variable, because if you don't, subversion hangs waiting for you to enter it. i'm not entirely sure why this happens, but this seems like a reasonable work around for now.

Tuesday, June 17, 2003

so i've been playing around with ruby recently, since i want to try using a higher level language than C or C++ for some stuff at work (ok, i admit it, i'm tired of debugging memory corruption problems, and i'd LOVE the chance to isolate low level memory management to a small portion of the code i have to deal with). i already know that ruby was damn cool, but wow, it is just entirely too easy to put together a ruby wrapper around an existing C API, throw a script around it, and get a useful application. it's a good thing everyone gets scared off by the fact that a disturbing amount of ruby's documentation is in broken english (if it's in english at all) due to the fact that it's development community is largely japanese, otherwise they'd all be over it, and i wouldn't be able to look like a miracle worker by using it to make my projects easier than they have any right being ;-)

now i just need matz to finish up version 1.8, or at least release a new snapshot, since between the last prerelase and now, they've added YAML support, and some of my fiendish plans involve use of YAML...

Monday, June 16, 2003

Why I Shouldn't Touch Hardware

so if you're ever looking for a good way to make your computer start locking up randomly, installing two case fans backwards, so that hot air is actually being blown in to the case, is a good way to do it.

just for future reference...

Sunday, June 15, 2003

Poor Impulse Control

it's a damn good thing there isn't a best buy closer to my apartment...

i stopped on the way back from MA to pick up season 4 of buffy on dvd, since it came out this week and was on sale, and walked out with two other dvds and a game boy game, in addition to what i had been looking for. if there was a best buy in stamford, i would have absolutely no money, and entirely too much stuff i really don't need.

(for the record, the two dvds were go and gross anatomy, both of which rule and were on sale for 8 bucks, and the game boy game was 'namco museum', which is also both cool and cheap.)

Saturday, June 14, 2003

Wow, Lots of Options

so has a list of rss aggregators (although they're calling them 'blog newsreaders'). it's really quite remarkable how many options there are in this particular area, i mean they've listed 12 separate apps for windows alone, and i know there are more out there that they don't mention. personally, i can't think of a feature i'd really want that net news wire doesn't already have, but hey, with this many choices out there, i'd be willing to bet there's something cool...

Wednesday, June 11, 2003


so i went out flying with my boss's boss yesterday, and managed to survive the experience. it was my first time up in a small plane like that, and well it was a little weird, i have to say i enjoyed it. we went up to providence, had dinner, and came back. it's definitely pretty cool that you can take a trip that normally would take several hours and lots of traffic, and reduce it to a little over an hour, depending on wind.

also, i must admit, they just have the coolest toys in airplanes. mark's gps is just so neat ;-)

Monday, June 9, 2003

This Weekend...

so this weekend my sister was up from DC, to hang out in NYC with some of her friends from back home. she crashed here friday night, went into the city the next day, and stopped here sunday before heading home.

i'm searching for something more interesting to say about this, but in reality i'm just writing this entry because i promised her i'd mention it here ;-)

Sunday, June 8, 2003

Fully Buzzword Compilant

so i've been planning to do it for a while, but this morning i finally broke down and picked up a copy of creating applications with mozilla.

i've been playing around with it a bit, and so far i'm quite impressed. xul is quite cool, and you really can throw together a nice little gui in little to no time at all. i'm still slogging through some of the available docs on how to create xpcom components that would let me use arbitrary c/c++ code from within xul applications, but so far, it doesn't look that bad.

there are a dizzying number of buzzwords involved with mozilla (XML, XUL, CSS, RDF, XPCOM, the list goes on and on), but despite that, they seem to have really come up with some neat things. if i was sitting down and creating a new application today, i'd have to say it would be quite tempting to base it on mozilla. it seems reasonably easy to work with, and you get all sorts of cross platform goodness (at least for the gui portions of your code) practically free.

Wednesday, June 4, 2003

It's A Bug Hunt

so i tracked down a fun bug today, and i thought i'd share it, since the error is fairly generic and anyone coding in c++ could run into it.

so i'm working on a unit test framework (porting it actually), and like several other c++ unit test frameworks, there is a 'test registry' that's really a global object, and when you create a test you use a macro to add it to the global registry. the macro, under the hood, creates another global object, which in it's constructor calls a method of the registry to add your test to it.

a week ago, the test suite was working fine, i had ported it over and all was going according to plan. then i got distracted and worked on something else for a while (until yesterday actually). yesterday, i had a free second (i was frustrated with something else i was debugging actually), so i picked up the unit test framework and started porting some existing tests to it. oddly, when i got things compiling and linking, it seemed that the tests would not actually get run.

after some debugging, it turned out that the test was getting added to the registry just fine, but by the time we called the function that ran the tests, the registry was empty. at this point i was confused, so i started playing with the debugger, setting watchpoints on the internals of the registry (the front and back pointers of the underlying vector actually), and it turned out that what was happening was this: the test was being added to the vector before the vector's constructor was called. it turns out that on this platform a vector (after it's constructor is called) has member variables that are all zeroed out, and in this particular case the vector happened to be in the same state before the vector was called. this means that the push_back function that was called to add the test to the registry worked, even though the vector had not been initialized. then, the vector's constructor was called, and the vector's member variables were zeroed out, so it seemed as if nothing was ever added to it.

c++ does not require any specific ordering of global objects within the same library (or executable, they have a fancier word for it). so it's perfectly valid for the two constructors to be called in this 'inconvenient' order. to avoid the problem, you can move one of the objects to a dynamicly linked library. this will allow the system's runtime linker to resolve the problem for you. the first time the macro instantiates it's object, it will try to reference a symbol in the libarary, so they dynamic linker will automatically run the constructor of the registry object as part of the process of linking it in to the running executable.

and no, before you ask (since at least two of you are still reading at this point), i did not figure this out all on my own. i got up to the 'damn, the constructor is happening after the add' point, noticed the constructors were happening in the wrong order, and went to ask for help from one of our resident c++ gurus, who explained how the problem was solved when the unit testing library was first written.

Tuesday, June 3, 2003

Curse You Nintendo!

metroid fusion is sitting on the table, taunting me, because for the past few days i've been stuck, right at the end, unable to proceed. i've got this suspicion that i've missed too many power ups, and i'm never going to be able to beat the final enemies...

that said, i do seem to be lasting longer against them, but still, it's getting frustrating...

Sunday, June 1, 2003

Come On People!

it continues to amaze me that there are still people out there who are smart enough to write some pretty cool code, but dumb enough to mix tabs and spaces in their source files. i mean this isn't rocket science people, if you want someone else to be able to read the code (especially if you're using something other than the vaguely standard 1 tab == 8 spaces setting), JUST PICK ONE OR THE OTHER! if you don't, as soon as someone who doesn't have their editor configured EXACTLY the same as yours opens it up, the first thing they'll say is "damn, this looks like crap, didn't anyone teach this guy how to indent?"

that is all.

Saturday, May 31, 2003

Damn Rain

tried to go see finding nemo today with eric, but it's a rainy day, and all the little kiddies got there first, so it sold out just as we were getting up to the ticket counter. ended up seeing bruce almighty instead, which wasn't all that bad. it's a jim carey movie, so if you like that sort of thing, you'll probably like it. there wasn't anything really earth shatteringly good about it, but in general it was amusing enough that i didn't feel bad paying for it.

Thursday, May 29, 2003


Mass Genocide is the most exhausting activity one can engage in, next to soccer. -- Loki

should have gone with genocide...

Tuesday, May 27, 2003

#include <title.h>

so it looks like the people at apress are serious, and they really do want me to write a book about
subversion. i was a little skeptical at first, since i haven't written anything longer than a term paper since high school, but i just got a contract emailed to me, so i guess they're really serious ;-)

anyway, assuming i don't freak out and decide that there's no way i'll be able to write an entire book about anything, i'll be signing the contract and sending it back in the next day or so, and then i'll settle down and devote a staggering amount of my free time over the rest of the year to writing.

now, back to figuring out how to make docbook produce separate output files for each chapter in a book. i'm certain it can be done for html, but i need rtf, since apress works in word, and if i want to work in docbook i'll have to adapt a bit to what they need. if anyone has any clue on how to do this, please feel free to let me know. i spent much of the weekend struggling to make it produce rtf output at all, and i'm not looking forward to attacking the 'separate files' problem...

The 'Making Fun Of Him Stage'

jwz never ceases to amuse me.

Sunday, May 25, 2003

Not Bad...

so i've been using firebird for most of today, and i must say it's pretty cool.

i'm a big fan of the mozilla project in general, if only because XUL is damn cool technology, and i very much like the idea of a lightweight cross platform browser.

i was worried at first (back when they weren't releasing os x builds of phoenix), but it looks like they're well on the way to making firebird into that browser. so far, the only real issues i've found are that startup is a little slow (faster than mozilla, but slower than safari), and there are a number of little annoyances (no hotkey for 'go back a page', open-apple-click doesn't open a link in a new tab, open-apple-h opens the history sidebar instead of hiding the app).

all of these are issues, but they're really to be expected at this point in it's development, and i'm certain that as time goes on it will mature into a fantasticly usable application, both on the mac and elsewhere.

Saturday, May 24, 2003

New And Improved!

just upgraded to blosxom 2.0 RC4, so if you notice any weirdness, let me know... so far it seems to work fine...

Friday, May 23, 2003

This Is So Much Cooler Than Ours

so graydon noted that boost just announced a review period for their program_options package. asside from the fact that it seems ridiculously powerful, and i really hope it makes it in to boost because it's way cooler than the options parsing package we're using at work (note to self: update version of boost you have checked in to the tree at work), i noticed that the changelog he has posted is quite obviously output from subversion's 'svn log' command, which is always nice to see.

Thursday, May 22, 2003


i am so going to be at this talk...

well, assuming i make it to oscon that is...

Wednesday, May 21, 2003

Ouch, My Poor Credit Card

i just registered for oscon, and damn, that's more than i like putting on my credit card all at once, but hey, work is paying for it ;-)

now i just need to figure out the corporate travel stuff so i can actually get out there, and finish the projects here that need to be finished before i can go... details, details...

anyway, if you're at all interested in this sort of thing, and if you're reading my weblog, you probably are, you should drop whatever it is you're doing and go register now, while you can get the early bird discount.

Tuesday, May 20, 2003

Easy As...

so i was playing around with kwiki, and yeah, it turns out to be /really/ easy to modify.

i just added support for mailto: links. it's running on my personal wiki on my powerbook, not on my public one, since i don't have any desire to let people post clickable spam-me signs all over my wiki, but if you want the module, just ask and i'll stick it somewhere.

honestly, it's like 20 lines of code, mostly whitespace.

this perl stuff, it's going to catch on, you mark my words...


so jwz just relased the latest version of xscreensaver, and as he says, the new apple][+ mode for the bsod hack is just the coolest thing ever.

Monday, May 19, 2003

What Is Wrong With Me?

why is it that every time i feel the need to search google i actually go to their web page first? i mean it isn't like my browser of choice doesn't have a built in search tab in the toolbar that would go right to the results without me having to wait for their front page to load first.


and of course each time i do it it makes me feel like such an inadequate geek.

i mean if i can't remember to use these things, how is anyone non-technical going to?

Thursday, May 15, 2003

Take Two

so the second half of my article on using the suvbersion client libraries just hit the streets.

go read it already ;-)

ps. the matrix reloaded rocked.

pps. i had forgotten how much soccer hurt. ow. my poor legs.

Fun With Wiki!

so i ran across a neat article on oreillynet last night about CGI::Kwiki, a perl module that lets you easily create a wiki (and when they say easy, they mean easy... it literally took me seconds to set this one up.

i think my next toy project will be figuring out how to get Kwiki to store it's pages in a Subversion repository. the author, Brian Ingerson (also one of the guys behind the yaml data serialization format), gives a quick example of how to have it store changes in RCS, but that seems so old-school that i have to show how it can be done with more modern tools.

oh, for the curious, there is also a subwiki project that's working on a more full featured wiki integrated with Subversion, but that's more than i'm looking for. i just want something simple to give my wiki a little security and history preservation.

Wednesday, May 14, 2003

Wow, I Almost Forgot

so i'm a day late, but i suppose i should post something mentioning the fact that i've been posting things to this weblog on a regular basis for one year now.

in that time i've used posted 233 (well 234 counting this one) entries, which is pretty impressive now that i think about it. anyway, i don't have anything really profound to say, so i'll just leave it at that.


they are just the cutest thing ever.

personally, i think i like the common cold the best.

No Time...

ok, no time for something deep and profound, so here are a few random links:

  • monotone - an interesting new version control system. good ideas, but i don't know how practical it'll end up being. the project's implemented in reasonably nice c++, which is a nice change of pace. down side: not far enough along to be self hosting, which loses big points in my book. if you can't use your version control system to develop your version control system, it's not that cool. i mean isn't the point of writing these things that we DON'T want to use CVS anymore?
  • this really stands on it's own, without comment from me.
  • as does this.
  • martin has a blog. unfortunately he doesn't seem to have an RSS feed, which kind of sucks since it means i'll probably forget to read it.

Sunday, May 11, 2003


just for the record, db_archive -l | xargs rm is not the same as db_archive | xargs rm. the later will remove all berkeley db logfiles that are no longer in use. the former will remove all berkeley db archives, including the ones that are still being used.

at least i still had a working copy checked out, and a fairly recent dump of that subversion repository.