Rails Rumble ’09: Grocery Tracker

Update: The Grocery Tracker website is no longer online.

This year I once again participated in the RailsRumble competition with the goal to build a Rails app in 48 hours. My amazing teammates Arya Asemanfar, Gary Tsang, and Alex Le and I worked together tirelessly to build an application for tracking grocery purchases. The result is Grocery Tracker.

Grocery Tracker

grocery tracker landing page screenshot

The objective of Grocery Tracker is to make it really easy to visualize how much you are spending on groceries and how your buying habits are changing. For me, it is interesting to see what percent of my grocery purchases are going towards “Snacks & Candy” as well as my historical spending in that category. Grocery Tracker allows me to quickly answer questions like “Am I spending less on snacks now than I was 3 months ago?”.

Read more

Since When Did A Nice Case Cost $300?

feature comparison new aluminum macbook with old white macbook

This jumped out at me while browsing the Apple Store today. The two 13″ Macbooks are practically identical on the inside. The new aluminum version’s hard drive is 40GB larger and it contains the newer DDR3 memory. However they have the same video card and the same CPU. These changes may seem of consequence, but with the falling price of memory components Apple is likely paying the same price or less for the DDR3 memory and 160GB hard drive than they were for the corresponding parts in the white Macbook a year ago. Making the internal enhancements essentially a free upgrade for Apple.

All that remains is the case. Which means buyers are paying $300 for the upgrade from plastic to aluminum. That unibody case is nice but that is outrageous! It is easy to see where Apple’s high profit margins are. And I thought it was bad when they put a $150 premium on the black macbook casing two years ago.

New Year’s Resolutions for 2009

I realize that it is about a week late to be posting New Year’s Resolutions but I figure better late than never.

My resolutions for 2009:

  1. Take on fewer projects. I have a tendency of getting involved in just about everything. Too often I eagerly say “Yes” to a for-fun project, contract, or job without really thinking about whether I have the necessary amount of time to devote to the project to make it a success. For a few months I need to instantiate a “project-freeze” until I can bring some closure to the myriad of things currently clogging up my to-do list.

  2. Look at where I am spending my time and decide what is truly important. Stop spending my time on the things I think are important but really aren’t. I just finished reading the book Predictably Irrational by Dan Ariely. The eighth chapter is titled “Keeping Doors Open: Why Options Distract Us from Our Main Objective”. In the chapter Ariely explains how people have this irrational behavior to keep as many options available to them as we can. Even though this behavior diverts our energy and commitment away from the doors that should be left open and that we are better off when we close as many doors as we can and focus on the ones that are the most valuable. For most people, including myself, deciding which doors are the most beneficial is a not easy because, as Ariely states, some doors are tied to my dreams or contain the promise of leading to a better career. Therefore I need to be rigid in closing doors if I really want to focus on what is important.

  3. Get better at finishing what I start. Since I have been starting too many projects in the last year and getting involved with too many things, I have fallen into a really bad spell of not finishing many of the various projects that I start. By spreading myself too thin I have become ineffective as a programmer. But I believe that if I am able to stick to my first two resolutions, then finishing the things I start will follow.

  4. Exercise with Wii Fit on a regular basis for the entire year. I am not overweight or out of shape so when I say that I need to exercise it is not to lose weight. Instead I want to see how my body will improve if I do exercise regularly. And I say exercise with Wii Fit because that is the only method of exercise that is convenient enough (I don’t have to leave my apartment) for me to do it for a prolonged period.

Measuring the Efficiency of Email

Death by Email

Since July I have been using an application called RescueTime to track my computer usage habits. It records how much time I spend using each application and visiting websites. This information is useful for me to monitor how much time I am blowing on Twitter and how much of my 8+ hour work day (when I was working) I was actually spending on programming.

One of the features of RescueTime is that it lets me set efficiency values between -2 and +2 for my Apps. So for example, I marked TextMate as being +2 efficiency, Adium and Skype as -1 efficiency, and Facebook as -2 efficiency. Then RescueTime aggregates all of my usage data, and generates an overall Efficiency Score based on the efficiency values I assigned. If my overall efficiency score is above 0 than I have been productive, if it is below 0 than I have been generally unproductive.

So far I have assigned all of my “most used” applications and websites and efficiency value…except for my email client, MailPlane. When it comes to rating the efficiency of my time spent writing and reading emails I am conflicted. While email is necessary to getting many things done, it is a lot of time not spent working towards my main objective which is programming.

Writing emails is what particularly kills me as it consumes far more time than reading emails does. Writing good emails that provide actual value is difficult and I can easily spend 20 minutes writing and rewording an important email. If the amount of email I dealt with was low this would obviously be less of an issue but I estimate that I send an average of 40 emails every week, half of them being during the weekend.

I know that this amount of email writing is nothing compared to what many people deal with but for a college student who writes code on the side, writing 40 emails every week is a significant time sink. According to RescueTime, I have spent 110 hours using my email client since RescueTime started monitoring on July 21st. Making it my most popular application (Adium is second, followed by TextMate).

Email, A Necessary Evil So the problem I am left with is, how do I rate the efficiency of a necessary evil? I can not stop writing email because then I would not be fulfilling my other responsibilities, like my role as ACM President at UCI. If I give MailPlane an efficiency rating of +1 than time spent writing emails is going to boost my overall efficiency score so that even if I’m not writing any code RescueTime is still going to tell me I have been efficiently using my time. If I rate it negatively and give MailPlane a rating of -1 than I am never going to be able to dig myself out from negative territory on the overall efficiency scale. I already have Adium, VLC, and Facebook bringing me down enough as it is.

In the end, I feel that 0 is the most appropriate efficiency rating for a necessary evil. Thus it does not hurt you to be doing it but it does not help you either. I think a good solution would be for RescueTime to add a goal type where I can specify that on any given day, my goal is to use TextMate for longer than I use MailPlane. RescueTime deals in tags and categories so really it would be to use things tagged “dev” for longer than things in the “Comm (Email)” category but it is the same principle. That way I can challenge myself to spend more time writing code than emailing without having all my other activities interfere.

“Wanted” a Movie Review

Yes, you read the title correctly, I’m doing a movie review. Quite unexpected since I know absolutely nothing about reviewing movies. However, I’m making an exception in this case because I got the opportunity to see the movie Monday and it does not come out in theaters until Friday. What was the occasion? TechCrunch, where I just started my internship, teamed up with MySpace to do a screening of Wanted in San Francisco for 200 lucky TechCrunch readers. Actually let me revise that. 200 TechCrunch readers and get this, the first 50 MySpace users in line who added Wanted to their top 8 friends and printed their profile. Needless to say, the theater was a rare blending of the two completely opposite crowds of people.

So what about the actual movie? Wanted pulls its style from a variety of different action movies. First it borrows a little bit of The Matrix‘s disregard for Physics. Mix in Shoot ‘Em Up‘s abundance of manslaughter. Finally throw in a high speed car chase plus gunfight that is standard for any action movie and you’ve got Wanted.

Luckily the “curving bullets” thing doesn’t end up being as lame as it looks in the preview. Instead it serves as a nice touch that differentiates the movie from every other action movie. Although it’s really entertaining to watch the actors shoot a “curving bullet” because it looks more like they are throwing a baseball sidearmed than shooting a gun.

The movie is such that when it finishes and your sitting in your seat as the credits play your thinking to yourself “either that was really dumb or it was freaking awesome”. Ultimately you cannot decide which it is so you compromise and declare that it was both.

Unfortunately the movie has a piss poor name. After seeing the movie I still cannot determine why they called it Wanted. I am sure that people will remember the movie 5 years from now but absolutely no one will remember its generic title. They’ll say, “Oh yeah! the curving bullets movie with Angelina Jolie and Morgan Freeman! What was the name of that?”. Ultimately no one will be able to remember and they’ll have to look it up on IMDB.

Despite my criticisms, the occasional cheesy dialog, and not-so-stellar performance by James McAvory, Wanted is a good movie and I recommend seeing it. If nothing else it is very entertaining. But honestly don’t take my word for it because like I said, I know absolutely nothing about reviewing movies. Nor do I have any authority on the matter. Instead I referrer you to Rotten Tomatoes where Wanted is currently at a very respectable 93%.

Next Page →