Debating a MacBook

I’m considering a MacBook. This is about 85% motivated by my desire to try writing an iPhone app, and apparently the SDK requires a Mac. I was thinking of a Mac mini but a laptop seems to have more utility.

I’ll have to think this over for several more weeks I guess.

Oh, and Starcraft Protoss mission 7 is quite annoying.

One-click converting .avi to .mp4 for iPod or iPhone

After a lot of searching for an easy way to do this, I stumbled onto WinFF, which is a gui wrapper around ffmpeg, a GPL’d MPEG encoder. It worked pretty well out of the box, but for all of the AVIs I’d recorded with my old camera (Canon Powershot A540) it would fail immediately with this error:

Audio resampler only works with 16 bits per sample. patch welcome.

After some searching it seems this is related to a known bug which was apparently fixed in February 2009. I set out to find a newer ffmpeg.exe (which is what WinFF calls to do the actual conversion). I found some Win32 builds of ffmpeg here but found that they all claimed to not know the “libfaac” codec. After some more digging I learned that libfaac (the audio codec for MP4 for iPod/iPhone) is no longer considered free software and was dropped from the repository in mid-April. Fortunately there were older builds available, and I grabbed the one dated 2009-04-01, extracted the ffmpeg.exe into my WinFF directory and voila, it worked.

Old ffmpeg.exe:

C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version
FFmpeg version SVN-r15986, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthr
eads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-lib
schroedinger --enable-avisynth --enable-swscale --enable-gpl
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52. 6. 0 / 52. 6. 0
  libavformat   52.23. 1 / 52.23. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Dec  3 2008 01:59:37, gcc: 4.2.4
FFmpeg SVN-r15986
libavutil     49.12. 0 / 49.12. 0
libavcodec    52. 6. 0 / 52. 6. 0
libavformat   52.23. 1 / 52.23. 1
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 6. 1 /  0. 6. 1

New ffmpeg.exe:

C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version
FFmpeg version SVN-r18306, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming
w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --e
xtra-cflags=-fno-common --enable-avisynth --enable-gpl --enable-zlib --enable-bz
lib --enable-libgsm --enable-libfaac --enable-pthreads --enable-libvorbis --enab
le-libmp3lame --enable-libopenjpeg --enable-libtheora --enable-libspeex --enable
-libxvid --enable-libfaad --enable-libschroedinger --enable-libx264
  libavutil     50. 2. 0 / 50. 2. 0
  libavcodec    52.22. 3 / 52.22. 3
  libavformat   52.32. 0 / 52.32. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Apr  2 2009 03:25:40, gcc: 4.2.4
FFmpeg SVN-r18306
libavutil     50. 2. 0 / 50. 2. 0
libavcodec    52.22. 3 / 52.22. 3
libavformat   52.32. 0 / 52.32. 0
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 7. 1 /  0. 7. 1

This also works great for encoding videos to XviD, which shrinks them to about 10-20% of their original size, making it much faster (in some cases, possible) to upload them to sharing sites.

Adventures in telephony

I’d resolved to get an iPhone a while back. It seemed to be the hands-down winner for online web browsing. My BlackBerry Pearl lost its trackball around 8 or 9 months ago and due to that experience I wanted a phone with no moving parts. I’d narrowed it down to the Nokia E71x or the iPhone. Well, I got an E71x after determining that the iPhone’s battery life to be too short.

As it turns out, AT&T added so much garbage to the E71x (as compared to the unlocked E71) that I felt like I didn’t even own it, despite paying $100 for it. There were at least two GPS-related apps that I clicked on that informed me I would be charged a monthly fee (one was $2.99 and the other $9.99 monthly) unless I went to some URL on my PC and cancelled. I attempted to delete these apps from the phone but that was apparently forbidden, even through the Nokia PC suite app. Another bother was that the inbox only showed 4 items at a time. On the E71 you can change it so that each inbox item only takes up 1 line, but on the E71x that option was missing. It was also difficult to know which connection each application was using – 802.11 or the 3G network.

Well anyway, to make a short story shorter, after one day I returned the E71x and got an iPhone.

I used to love my BlackBerry Pearl

I got my phone in April 2007 from LetsTalk.com. I got a good deal — a BlackBerry Pearl and 2 Motorola RAZR V3rs for… free. No rebates or anything, totally free. LetsTalk screwed up the account creation but I got that straightened out with Cingular.

The BlackBerry served me pretty well until around September 2008 when the trackball got so gunked up I couldn’t use it. I keep my phone in my pants pocket and not in some protective case, so I guess the lint and finger grease got to be too much. I dealt with it like this for a couple of weeks until I decided to try cleaning the ball. It’s pretty easy to remove the clip and take the whole apparatus out, and it was indeed very gunky in there. I went at it with a can of air (computer dusting stuff), a Q-tip and some rubbing alcohol. I got all the gunk off, put it all back together and it was pretty good for about a week or two. Then it was back to its old self – spinning the trackball didn’t do anything and I couldn’t navigate menus or use almost any of the features of the phone. Plus – this is the best part – the plastic clip that kept the trackball apparatus in place had apparently lost tension or something and would pop off, and by the end of 2008 the trackball had fallen out completely and is now lost to the ages.

Fortunately at some point before the complete failure of the trackball, when it still functioned intermittently, I had gone into the configuration and set the left-side convenience key to go to my inbox and the right-side button to go to the web browser. These two apps are navigable using the keypad, and that’s what I’ve been doing ever since. So my phone still has email and basic browser support, but if a dialog box pops up that doesn’t have hotkeys for “OK” or “Cancel” I have no choice but to hit the “go back/cancel” button, so e.g. I can’t accept many SSL certs.

This whole experience has soured me on the BlackBerry. I’m not buying a phone with a trackball again, and I’d like to buy something with no moving parts if possible. I had high hopes for the BlackBerry Storm – I love the BlackBerry OS – but the week the Storm was released I went to a Verizon store to play with it and I found it horrendous. The reviews that came out about the Storm since then have said pretty much the same thing – the phone is a dud.

After reviewing the options it looks like my two best choices for internet phones are the iPhone and the Nokia e71. A guy at work has the e71 and loves it, but even he has conceded that the iPhone has a superior browser. I’m not a fan of touch keyboards but the iPhone still seems like the most advanced phone available today, even almost a year after the 3G iPhone’s launch.

My contract is already up but I don’t know what I’m going to do. There’s supposed to be an AT&T-subsidized version of the e71, the e71x, coming out pretty soon that’s rumored to cost around $100, but it’s been “real soon now” apparently for several months. I’m leaning toward the iPhone but I hate to spend $200 out of pocket when until now I’ve never paid for a phone.