Wednesday, June 29, 2005

OpenSolaris Users Group Meeting

So last night I decided to take advantage of the fact that I live right down the street from Sun's Santa Clara campus by going to the June OpenSolaris Users Group meeting they were having there. We got to hear Keith Wesolowski and Mike Kupfer talk about the proper way to update a development solaris system using BFU (blindingly fast update, i.e. the internal solaris update mechanism that basically just cpios the new binaries down on top of your existing ones), and how to fix a system that had been "brickified" by an unsuccessful BFU.

Overall the presentation was pretty cool, and served to illustrate a lot of the differences between life in OpenSolaris land and life with other open source operating systems. The BFU process is quite a bit less polished than upgrade processes you might be familiar with from *BSD or Linux, but that's because it can be. It's intended for use by developers, people who can deal with a few rough edges and generally handle problems that come up, so it's not surprising that less time has been spent making the process user friendly.

There was also a question and answer period, where they had a bunch of Sun engineers get up and take questions from the audience. The topics ranged from technical stuff to community relations stuff to procedure stuff to "what new code will be in the next OpenSolaris drop" type stuff. All in all I was impressed with the answers, the Sun engineers know their stuff, and they're clearly committed to making this thing work. Now all that remains is waiting to see if the community responds. I expect that it will, although it will clearly take a lot of time before OpenSolaris has the kind of community you can see today in *BSD land or Linux land.

Oh, and for anyone who has the opportunity to go to one of these things, you really should, it was quite interesting, and at the very least they're willing to bribe you with free stuff. I would have walked out with a copy of Rich Teer's book on solaris programming and a free t-shirt, but well, I already have a copy of the book, and I got the same t-shirt from the Sun guys at ApacheCon, so I decided to limit myself to a Solaris 10 DVD ;-)

Oh, and one other note, it turns out that Sun's campus is freaking huge, and there doesn't seem to be an easy way to walk directly across it without running into large buildings that get in the way. The auditorium is on the other side from where my apartment is, and to get to it you basically have to take the long way around the outside of the campus. Next time, I think I'll drive instead of trying to walk...

Tuesday, June 28, 2005

Delivery Problems

So I'm not really sure who to be annoyed with here...

This weekend I ordered a computer from Apple. It's a tiny little Mac Mini, and I got it mainly because it'll make a nice quiet desktop that won't keep me awake due to irritating fan noise. As an added bonus I won't have to screw with X-Windows on it, which is always nice. It was supposed to show up today, and when I got home sure enough there's a note from FedEx, but it's not the usual "Hey, your stuff is in the concierge office" note, it's the "You need to sign for this, we'll be back sometime tomorrow" note.

Naturally, the note has a spot you can sign to tell them "Just leave it here", but it also has the little box checked that says "You have to sign for this, we can't just leave it". I call FedEx and fight my way through their totally useless automated customer service thingy until I finally get to a human. The human proceeds to tell me that he can put in a request for the delivery guy to leave it at the concierge office, but since the office is in a different building from mine, and thus has a different address, they might not do it.

Apparently Apple pays extra so that you can't actually redirect the package, it has to be signed for at the location it's being shipped to, even if that's terminally stupid, like in this case.

So tomorrow my Mini might be here, or it might not. I've left a nice note on the door for the delivery guy, telling him that no really, it's ok, he can leave the fucking package with the office, like every fucking other delivery service is willing to do, but who knows if he's going to listen or not. If he doesn't, apparently I can either call Apple and have them redirect the package to my work address (since they paid extra to make sure I can't do it myself, idiots), or call FedEx and make them hold it at their warehouse somewhere so I can come pick it up myself.

The really amusing thing is that I ordered the Mini online so that I would avoid having to jump through hoops to get it, since the various places I had tried to purchase one in person hadn't had the exact one I'd wanted. The mind reels.

So I can't decide, do I get pissed at Apple for going out of their way to make sure I can't fix this problem myself, or do I get pissed at the FedEx guy for having an overly literal interpretation of the rules. I know, I'll get pissed at both, that'll be fun.

Monday, June 27, 2005

Wanna Hack On Bloglines For A Living?

So at the Webmaster World Search Conference last week I was on a panel with Jeremy Zawodny, and he mentioned that he gets a LOT of response when he posts Yahoo! job opportunities on his blog, even better than Yahoo! HR gets when they post the same job elsewhere.

I guess it's just a matter of putting those sort of things in front of the right audience, a lot of the people you'd like to hire for that kind of job already read his blog, whereas they probably don't happen to read the Yahoo! job listings nearly as often.

Coincidentally, we're looking for some engineers at Bloglines, and I bet a fair number of the people who read this blog are the type of people we'd like to hire, so I figured I'd throw it out there.

So if you're a C/C++ hacker with experience in web applications, Unix systems, open source software, and are generally pretty comptetent, I'd sure like to hear from you. It'd also be great if you know your way around modern weblog technology. The jobs are located in our Los Gatos office, so people local to the bay area would be great, but as you can see from the fact that they hired me, that isn't a requirement, as long as you're willing to move here your current location isn't a hard requirement by any stretch of the imagination.

Oh yeah, the job listing...

Senior Software Engineer, Bloglines

I believe we're also looking for non-senior people, but I can't find the listing for that one. Just look at the senior position and lop off the word "Senior" and a couple of years worth of experience and you'll get a good idea what the requirements are for that job.

If you think either of those job descriptions sound like you, please send a copy of your resume to my work address (grooney at askjeeves dot com) and I'll make sure it gets to the right people.

Saturday, June 25, 2005

SQLite Use Increasing

So I was playing around with OpenSolaris this weekend, via a SchilliX live CD, since I had trouble getting the Solaris Express CDs to actually boot, and I noticed that the new smf framework in Solaris 10 is using SQLite as its data store. If you poke around in there you'll find the sqlite command line client, and sure enough you can use it to mess with the databases if you're so inclined.

Of course, as with most topics in OpenSolaris these days, a little poking around reveals a blog post talking about it, and as you might expect, actually going in and messing around with the database by hand is most definately not supported ;-)

Still, it's quite nice to see companies like Sun building on top of tools like SQLite (and LibXML2 for that matter, which smf also uses) rather than implementing their own versions of the same functionality.

Note that this is at least the second major company I've seen building on top of SQLite. Apple also bundles it with Mac OS X, as part of their Core Data library IIRC.

For the curious, the actual code for the smf framework can be seen here, and sure enough, it contains a bundled copy of the SQLite source.

This kind of reuse is exactly the reason I think it's great that low level libraries like SQLite are often released under liberal licenses (SQLite is public domain, LibXML2 is MIT licensed), so that commercial software can feel free to build on top of and even contribute fixes back to them when possible.

Friday, June 24, 2005

Text Ads

So I'm experimenting with Typepad's new text ads feature.

I'm not sure if I like them or not yet, but I'm keeping an open mind for the time being.

So far, it seems like you need to jump through a fair amount of hoops to make them work with a custom template, but once you jump through those hoops they seem to work reasonably well.

Let's see if I still like them when my account is registered and they start serving up actual dynamic ads as opposed to the temporary typepad ads you get at the beginning...

Use of Color

So I've been reading (among other things, I've got this perpetual pile of books that I'm currently reading sitting next to my bed or on my coffee table) the latest edition of Effective C++ by Scott Meyers.

If you're a C++ programmer, odds are I don't have to tell you what a great book this is, and that even if you've read the first or second edition you really should go out and get the third, since it's got a lot of new stuff in it that brings the various topics up to date with the current state of the art. All this goes without saying when you're talking about a book from Scott Meyers.

What I do want to talk about is the way Meyers uses color in the book, because it seems to be pretty unique as far as I can tell.

The book is printed in black text on a white page, as you'd expect, but Meyers has gone out of his way to highlight various interesting parts of his examples and text by making them bright red, so they clearly stand out to the reader.

Rather than just showing yet another version of the piece of code he's been modifying throughout the current example, subsequent iterations of a design will have the new additions highlighted in red, so it's quite clear that, for example, the reason this version of the code is better than the last one is that the Window parameter is being passed by const reference instead of by value as in the previous version of the code.

So as to avoid totally screwing over the color blind among us, the examples also include descriptive comments that serve to draw the reader's attention to the section of code in question, in addition to further elaborating on what's being changed.

This isn't the first Meyers book that has used this technique, he does the same thing in Effective STL, which is also quite worth picking up, but so far I haven't seen a whole lot of other authors making use of it. If I had to guess I'd say it's probably because printing in multiple colors has to make the production process for the book quite a bit more expensive, and unless you're someone like Meyers, for whom publishers can be pretty damn sure any given book he writes will be a smashing success, it's probably pretty hard to justify, even if it does make the book quite a bit more readable.

Oh, the Irony

I find it incredibly amusing that at a Webmaster World conference, filled with people who make their living using the internet, I was consistently able to get better network connections via my cellular phone than I was via my laptop's wifi card.

Tuesday, June 14, 2005

Travel Plans

So I'm going to be spending way too much time in airports in the next few months...

Thursday night I take the redeye back home to MA for a friend's wedding. I'll be there until sunday afternoon at which point I return to CA.

Then, on tuesday I fly from CA to New Orleans, where I'll be filling in for Mark on a panel on RSS at Webmaster World. Then on thursday I head back to CA again. I've never been to New Orleans, so if anyone has any tips for what to do when I'm there please feel free to share them.

I've got a week or so on the ground, then I take the redeye back to MA again on July 1st. I'm at my parent's place on Cape Cod through July 5th, at which point I return to CA again.

Then, I've got a few weeks off, until I fly out to OSCON on August 2nd. I'll be presenting about Backwards Compatibility in Open Source Projects (note to self, write talk about backwards compatibility in open source projects) on the 3rd, then I fly back on saturday the 5th.

So far, that's about it, which is a good thing, since my credit card can't take much more of this ;-)

Monday, June 13, 2005

The Best of Software Writing I

So I got my hands on an advance review copy of The Best of Software Writing I, a new book that collects a bunch of really well written essays about software development, edited by Joel Spolsky.

So far, I'm quite impressed. Much of what's included are essays I've already seen in one form or another, but a number of them are new to me, and all of them are, indeed, quite well written and thought provoking.

A few that stuck in my head:

danah boyd's "Autistic Social Software" - What a fantastic articulation of what's wrong with, well, all sorts of stuff. I need to go back and reread this a few more times, but even the first pass gave me all sorts of ideas that just won't get out of my head.

Bruce Eckel's "Strong Typing vs Strong Testing" - I had much the same thought process as he did regarding the code examples in my book, and if I ever do it again I'm going to automate the testing process, because he's totally right, just because it compiles doesn't mean it works.

Eric Johnson's "C++ - The Forgotten Trojan Horse" - I'm biased here, I used to work for EJ, but seriously, take my word for it, he's right on the money with this one. It's funny though, how easily I can see the seeds of this essay in his old posts on our internal newsgroups back at $COMPANY, especially the one where he compared C++ to a drug dealer and template metaprogramming to a weekend bender. I really hope that having this one published convinces him that he needs to write more of these, because I know for a fact tha the's got a lot to say.

Anyway, that's just a few of the essays I made it through today. The whole book is fantastic though, and you should absolutely pick it up when it's available in dead tree form, I know I intend to.

Sunday, June 12, 2005

X Windows Can Bite My Shiny Metal Ass

You know, it's been a long time since I had trouble getting X windows to work on a machine. I mean back in the day I would think nothing of fighting with X for days in order to get whatever video card and monitor I happened to have access to working nicely together, but I really thought we were past that point these days.

Apparently not.

You see, last night I decided it was time to actually take the pile of computer hardware that's been sitting in my bedroom since I moved here and make it do something useful. This meant I needed a monitor (since all I've got left after the move is a really crappy one that isn't worth using since it only works at like 1024x768 or something), so I went out to Microcenter and picked one up.

It's really nice too, 20.1 inches, flat panel, 1600x1200 display (since it would be just too damn pathetic if my laptop display was better than my desktop display), etc.

So I got my brand new display home, hauled out my desktop, and started fiddling with it.

9 hours later, I have admitted defeat.

The built in video (some ATI thing) refuses to drive the display at anything more than 1152x864, which while nice, is not nice enough if we're to meet the "at least as good as my fucking laptop" criteria.

Note that under windows it has no trouble doing 1600x1200, but it's not like I ever actually boot this machine into windows, so that's kind of academic.

Ah Ha! I've still got my old Matrox g450 dual head video card, I know that used to work with X windows, I'm sure I can get it working now, I mean it should be easy, I was able to make it do dual head before, and now I'm just asking for one monitor, that's simple by comparison...

Except that for some reason (despite adding all the requisite BusID voodoo to the xorg.conf file) I can't actually get the damn thing to do anything useful with this card. I can boot up in text mode just fine, but as soon as I type 'startx' it just blanks the screen and eventually turns it off. It's not like X can't see the video card, since Xorg -scanpic finds it just fine, but no amount of sacrificial animals appears to be able to convince it to work.

Needless to say, windows also works fine with this card. 1600x1200, millions of colors, etc.

My latest theory is that I'm still running with a rather old BIOS, and since I know an updated BIOS was in theory needed to get the built in video and the video card to work at the same time (which I once wanted to do in order to get a triple headed system running) maybe that would help.

Of course, I can't actually flash the BIOS because to do that you need to boot off a freaking windows 95 boot floppy. I don't have a freaking windows boot floppy, and even if I did I don't have a floppy drive in this machine. Since when do you actually need floppy disks to do something? What year is this again?

So I'd just like someone to explain to me why I shouldn't drive right to the nearest Apple store and buy a fully loaded Mac Mini? I mean I know it'll freaking work, and it'd be a hell of a lot quieter than this thing is...

Maybe later this week, when I'm not quite so pissed at the world, I'll give Linux a try on this machine, maybe it'll have better luck with this monitor/video card combination. I was really hoping to put FreeBSD on this box, since I miss it oh so much, but if X won't run at a reasonable resolution that's kind of a showstopper for me.

Just be thankful I'm leaving the rant about this machine's "fail to actually boot half the time unless you unplug the ATA drive" thing for another day...

Friday, June 10, 2005

Talk About Missing The Point

So I enjoyed the book "Starship Troopers".

I don't agree with all of its ideas, but at the very least you must admit that it does a reasonable job of making a case for them. The idea of a government where citizenship is based on military service, and thus the only people who have a say in government are those literally willing to risk their life for it, even if you don't agree with it, at least it's interesting.

When the movie came out, I went to see it, and I had pretty low expectations, I mean statistically speaking movies based on books I enjoyed rarely do justice to the original.

With those kind of low expectations, it wasn't hard for the movie to exceed them. I mean once you realized that the movie was totally different from the book, that it pretty much dropped all pretense of being about the political theory side of things, and pretty much ignored all the technical realism of the book, and really the only similarity was the existence of the aliens and the names of the characters, it wasn't all that bad. At the very least it was enjoyable as an action film, if nothing else.

So tonight, when I caught "Starship Troopers 2" on cable, I must admit, I was expecting something that was at least within spitting distance of the first movie, if not the book.

It wasn't even close. It was nothing like the book, and nothing like the original movie, it was basically a bad horror movie, set in the world of the first movie. Zero redeeming qualities.

What a waste.

Sunday, June 5, 2005

Old Habits

So back when we were on co-op, Rob and I went to see a lot of movies.

You see, we didn't have air conditioning that summer, and it was really hot out, so we took any available excuse to go someplace that did have air conditioning, and the standard place was a movie theater.

So we saw lots of movies. Pretty much everything that came out that summer, which is impressive when you consider that it included such gems as Lake Placid (best giant gator movie ever!) and Deep Blue Sea (watch Samuel L. Jackson get bit in half by a giant superintelligent shark!). I had already been in the habit of seeing a lot of movies, but that summer really pushed me over the edge, into the "see anything and everything" neighborhood.

These days, I've got air conditioning, so I don't have the excuse anymore, but I still seem to see an awful lot of movies. Not quite up to my old level, but close. I still have staggeringly low standards.

This week's contribution, Lords of Dogtown turned out to be quite good, although now I'll have to go back and watch the original documentary, just out of curiosity.

I was particularly amused by the fact that I didn't put the name of one of the main characters together with the name of the skateboard company he founded until they mentioned it at the end, even though I actually remember my next door neighbor drooling over stuff that company made back when we were kids.

In any case, it's worth seeing.

Wednesday, June 1, 2005


So among the things I left behind in CT was the grill.

Well, it wasn't really my grill, it was Jason's, but it lived at our apartment since he didn't have any place to put it at his place.

In any event, it was awfully nice having it around during the summer months, and since every month feels like a summer month out here acquiring access to a grill seemed like a good thing to put near the top of the todo list.

A while back, I read about the Weber Baby-Q Grill on Jeremy Zawodny's blog. I rarely cook for more than two or three people at most, and thus it's pretty much the perfect size for me. I ordered one a few weeks ago, and since then I've been enjoying it immensely. If you're in the market for a nice grill that isn't too large or expensive you really can't go wrong with this one. It lights instantly, grills everything I've tried beautifully, and if you don't like the idea of small propane tanks it uses you can get an adapter that lets you hook it up to a standard 20 pound tank. Highly recommended.

Anyway, it's just about time to throw that steak on the grill...