I am a grad-school dropout

ucla_seal_color.gif This makes it official. Today is the first day of the Winter 2003 quarter at UCLA, and I’m not enrolled in any classes. My short career as a part-time graduate student has come to an end.

I enrolled in the MSCS program at UCLA last year in part because I was hoping to round out my undergraduate education. I actually even considered doing a PhD, but I couldn’t really make up my mind as to whether I was more interested in artificial intelligence or computational theory. (I figured that if I was going to throw myself into a 5- or 6-year program, I should have a much stronger sense of what I wanted to research.)

Instead of rounding out my education, it felt more like I was re-hashing the same stuff I learned as an undergrad. Don’t get me wrong; UCLA’s Computer Science faculty is superb, and the department and university have some really good resources. It’s just that after working for 5 years in the industry, academia seemed to me like it was dealing with rather marginal problems.

Perhaps I didn’t give it my best effort. I was only in the program part time (I was too chicken to give up my full time job) and maybe if I had taken more classes and devoted more energy to the program I would’ve gotten more out of it.

Maybe doing a PhD would’ve been a better choice. A Masters degree wouldn’t have gotten me a significantly higher salary or qualified me do more innovative research. The best I could’ve gotten out of it was the ability to teach CS at the community college level.

Or, perhaps I got such a fantastic education at Brown that I don’t need me no mo’ learnin’. 😉

It’s hard to say why it didn’t work out. Apparently, I’m feeling a little melancholy about the whole thing.

Reading List for 2003

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition I finally finished reading Fred Brooks’ The Mythical Man-Month this past week as I was recovering from a nasty chest cold. Even though the book is now 25 years old, it’s still got some fantastic insight on why software projects are perennially late, over budget, and full of bugs.

Still on my software engineering kick, I picked up my copy of Free as in Freedom (which was included in my registration tote bag at the July 2002 O’Reilly Open Source Convention). I’m about halfway through it, and I’m even more convinced than before that RMS is considered harmful. (Apologies to Edsger Dijkstra.) I’m enjoying the book nonetheless; Sam Williams writes well, and the story is fascinating nonetheless.

So since it’s a New Year, I may as well publish my (optimistic) reading list for the upcoming twelve months:

Looking at that list, it seems to be mostly comprised of Computer Science, Judaism, and science fiction. Ariella says that compared to most people, I read way more non-fiction than fiction. I guess she’s right. I wonder what that says about me?

After all, it’s just a perl script

Someone at work volunteered to port and maintain our proprietary package-management tool to Solaris. All twelve thousand uncommented lines of it. Good luck.

I’m sure someone is going to notice, and they’ll want to spend the next 3 months of their time doing a Linux port, too. It seems to me like it would be a better use of their effort and port their app to FreeBSD instead.

We’re a FreeBSD shop. Always have been, and probably always will be.


(Note: the views expressed here are my own, and not those of my employer.)

Home pages are dead. Yahoo! GeoCities should re-invent itself as a blog site.

Creating your own website (traditional homepage or blog) is, for most folks, an exercise in vanity and self-indulgence. “I’m John Smith, and here’s my kewl website! Aren’t I special and unique?”

Part of what makes publishing appealing is the fact that someone might be reading what you’re writing. It’s like getting to act in your very own 6th-grade play — people are watching you and they care what you say! (Or, at least we web authors are duped into thinking that someone cares.)

When homepages first became a big thing in 1996-1997, people created these multimedia atrocities. There are tons of GeoCities sites that are nothing more than a collection of blinking GIFs that they found somewhere else.

My guess is that folks eventually realized that compiling a bunch of images that you stole from other people’s sites doesn’t make for a very compelling reason to visit a website. And since most of us aren’t artists, it’s too difficult to create our own images. For an amateur, putting together a professional-looking website is no easy task. So many of these websites have gone stale.

Enter blogs in 2001-2002. Instead of being graphics- and design-heavy, they are text-heavy. This makes sense, because everyone knows how to write. (Well, everyone who is literate knows how to write.) And everyone knows what’s going on in their own life, too. So making an online journal suddenly doesn’t seem so difficult. And you’ve got incentive to keep it up-to-date, because you’ve got all of those loyal fans who are waiting for the latest installment of your very-exciting life! To extend my 6th-grade play analogy, it’s like performing in that play every single day!

Adding blogs to Geocities has significant costs. Aside from having to develop a whole bunch of new software, they’ll have more customers using GeoCities’ resources. Constantly changing content and archiving means more disk space and more pageviews because people are reading that content more frequently. Of course, GeoCities really would need to provide RSS feeds (this is de rigueur in the blogging world) and these feeds will be polled by robots, which will increase server load even more. So Geocities might need to beef up its resources to handle the increased demand from customers. And then there’s the whole customer support issue…

Even so, a blog service would be a win for Yahoo! in the long run. Feeling some compulsion to keep your blog up-to-date is sorta like email — it’s very “sticky”. That means increased customer loyalty, which is always a good thing in the business world (even if it costs you some money).

It’s a Wonderful Life

Why buy the DVD when it's on TV every year? Every year around X-mas time I’m sure to mention the story about how It’s a Wonderful Life became a holiday classic due to a snafu with copyright law. Earlier this week, NPR reported on this very story:

NPR’s Rick Karr reports on how a 1946 box office flop became so ubiquitous on television this time of year. It’s a Wonderful Life is a sentimental favorite… in part because of Jimmy Stewart, but also because no one ever bothered to file the papers to extend the copyright on the movie. [NPR Morning Edition]

NPR also aired a Motley Fool Radio Show about the movie.

Duraflame and egg nog

duraflame2.jpg We lit a fire tonight in our fireplace. It was the first time we’ve had a fire in our new home. A chimney-sweep came out a few weeks ago and said our chimney was OK to use as long as we didn’t have a fire for more than 8 or 9 hours.

Avital drove out from Malibu with some Egg Nog-flavored frozen yogurt. We blended it up with some Captain Jack’s and rice milk and it turned out absolutely delicious.

I captured some video of the fire and was going to put it online, but it’s 222K for just 2 seconds worth (48 frames). Something is screwed up with this AVI compression. Why doesn’t my cute Logitech webcam offer an MPEG export? Oh well.

Keeping my blogroll up-to-date

My blogroll (the list of RSS feeds I subscribe to, which appears in the right-hand column of my blog page) is now going to be more consistently up-to-date. Here’s how I did it.

First, I set up a cronjob to fetch mySubscriptions.opml from my Radio Userland page. Next, I’m using Jeremy’s opml2html.pl script to convert from OPML to a list of HTML. I’ve actually tweaked it slightly since I sent patches back to Jeremy to clean up some charset issues.

I went into the MovableType management UI and clicked on Templates. I clicked on the Main Index template and changed the Ouput File to index.shtml. Next, I edited the Template Body and added a <link> tag to the top of the page:

<link rel="subscriptions"

type="text/x-opml" title="Subscriptions"


Below the Archives section on the page, I added the following:

<div class="sidetitle">

<a title="RSS channels I read in XML format"

name="blogroll" href="mySubscriptions.opml">My



<div class="side">

<!--#include file="mySubscriptions.html" -->


And that was it! Now my blogroll will get updated daily without me needing to edit the HTML by hand.


chaya-thumb-1.jpg We’re dog-sitting this week. Our friends Rob & Lamelle are in east Asia, so we’re watching Chaya, their Israeli mutt.

chaya-thumb-2.jpg I’ve been told by friends before that dogs are much more work than cats. You’ve gotta walk the dog two or three times a day! Luckily, Ariella has been taking mornings (I like to sleep in) and I’ve been doing evenings.

I managed to get Chaya to sit still long enough to grab a couple of grainy frames with the webcam.

Top 10 Web-Design Mistakes

Jakob Nielsen’s Top Ten Web-Design Mistakes of 2002:

“Every year brings new mistakes. In 2002, several of the worst mistakes in Web design related to poor email integration. The number one mistake, however, was lack of pricing information, followed by overly literal search engines.”

As usual, Jakob is right on the money. Did you notice how radwin.org borrows the “trail of breadcrumbs” style navbar from useit.com? Imitation is the most sincere from of flattery.