Camp Yahoo

This is the first year that we’re going to the company picnic at Blackberry Farms in Cupertino. We’ve arrived at DeAnza College, where we’re supposed to take a shuttle to the picnic, but the line is really long and we’ve been waiting here for around a half hour so far. I’ve noticed that the parking lot is a veritable treasure trove of cantpark material.

Weird Mac OS X problems

I’ve noticed two annoying things today that I didn’t notice before so I think that the system got corrupted or I must’ve changed some weird preference somewhere that I didn’t mean to:

  1. If I Command-Tab repeatedly, maybe 1 out of 20 times, one of the icons is missing. For example, right now I’m running 5 apps: Finder, Thunderbird, Firefox, Terminal, and Adium. Maybe one out of 20 times, one of them is missing – most often the missing one is Thunderbird but I’ve seen Terminal and Finder disappear too.
  2. Also, it appears that my Mac will only show one application at a time, which is not the way I remember it working before today. For example, if I am in Adium and then Command-Tab to something else or click on the Desktop, then Adium disappears. It used to stay running tucked away nicely on my PowerBook screen while I worked on my external monitor, but now it keeps disappearing. I confirmed with a coworker, also with a PowerBook running 10.4.2, that this doesn’t happen for him. It’s not just Adium. Every app is doing this. There’s also something weird going on where the Hide command is grayed out and Command-H doesn’t work. I can temporarily resolve this with a Show All but that only works temporarily.

Any ideas?

Update 2005-07-30: I posted last night to the macosxhints forums and now that my post has been approved, here’s the link.
No stunning reveleations yet – maybe it’s time for a trip to the Genius Bar

Update 2005-07-30 1:53 PM PST: Taking the advice of jbc @ macosxhints, I looked in the Activity Monitor. Nothing unusual there, except that it reminded me that I am running Quicksilver (B42) and then I wondered if it could be Quicksilver related. I quit Quicksilver and the problem went away. Then I remembered that I had, uhhh, messed around with some Quicksilver options the other day to see what they did… 🙂 The culprit was in the Extras tab and it’s called “Hide other applications when switching (shift prevents)”. I think when I checked it, I had assumed that it only applied to switching apps using Quicksilver – didn’t realize that it applied to Command+Tab switching too. Anyways, I disabled that and now it seems like both problems are gone – knock wood.


Getting your feet wet with Ruby on Rails

Ruby on Rails logo

This article doesn’t teach you a lot about Ruby or Rails, but the nice part about it is that it shows you how easy it is to build web apps with Rails.

I went through his tutorial last night and looked at my watch before and after. Literally, it took only 20 minutes to build a MySQL-backed bookmark storage application and I spent a good chunk of that time trying to figure out why it wasn’t working for me at first (contrary to what the article advises, I had to launch the WEBrick server while in the “Bookmarker” directory) and trying to analyze what was going on behind the scenes. Pretty impressive that you can build an app that fast and without writing a lot of tedious “glue” code

Here’s a brief summary of the steps:

  1. Create a database (I used MySQL) and a table. Rails wants you to create a table for whatever object you’re trying to store with a plural name (e.g.: “bookmarks”) and wants it to have an auto-incremented integer primary key called “id”.
  2. Execute rails <app_name> to have Rails generate a directory for your application with 11 subdirectories and lots of files already filled-in for you.
  3. Edit config/database.yml to point to your database.
  4. Execute ruby script/generate scaffold <model_name> to generate a bunch of code that handles New, Show, Edit, and Destroy operations. model_name is your database table but with a capital letter and not plural (e.g.: “Bookmark”), which I found to be weird and inconsistent.
  5. Execute ruby script/server to fire up a WEBrick server on port 3000. It logs to stdout so it’s very easy to see your errors.
  6. Point your browser at http://localhost:3000/<controller_name> and observe that you have a working application! (controller_name is like your database table, lowercase and plural – e.g.: “bookmarks”).
  7. Customize and extend the pre-generated code in the app directory. Ruby code has a .rb extension and HTML templates have a .rhtml extension and live in app/views.


Books on Ruby on Rails from

Agile Web Development with Rails : A Pragmatic Guide (The Facets of Ruby Series)Rails RecipesProgramming Ruby: The Pragmatic Programmers\' Guide, Second Edition

iPod battery life

A few weeks ago I got a notice in the mail about a class action lawsuit against Apple where the plaintiffs were claiming that iPods “did not have the battery life represented and/or that the battery’s capacity to take and hold a charge substantially diminished over time.” This notice advised me to test my iPod’s battery life and if the unit had a “Battery Failure” (less than four hours of continuous audio playback, with earbuds attached, with respect to the Third Generation iPod), then I could request either a replacement of the iPod’s battery or a $50 Apple Store credit.

I finally got a chance to test it today and the thing carried on for seven and a half hours. No claim form for me.

For those of you who are having problems with your iPod’s battery life and who haven’t received a class action notice in the mail, head on over to the Girard Gibbs iPod Battery Class Action web page.

New Yahoo! 360 Features

Yahoo! introduced several new features in Yahoo! 360° that enable consumers to bring together more of their personal content from around the Web and further customize their Yahoo! 360° pages.

The new Yahoo! 360° features – including feeds for other blogs, photostreams from Flickr, and blog comment notifications – help consumers aggregate their personal content from the Yahoo! Network, and now across the Web, into one page to share with friends.