I recently bought my son the Audio + Video version of They Might Be Giants “Here Comes Science” on iTunes. It includes a video for each song, about 40 minutes in total. When played from iTunes it’s a continuous stream; as one clip finishes the next starts automatically. I was hoping it would work the same way on the iPad, but unfortunately it doesn’t. There it stops after each clip and returns you to the main screen where you have to manually start the next. Not great for a 1 year old.
I found this blog post, which suggests that you workaround this by converting the videos into episodes of a TV season. That seems like it would work, but it’s kind of a pain since it requires you to make the change in iTunes on a computer, then sync the videos back to the iPad.
After a little more searching, I found an iPad app called Video Playlist. It’s not ideal since you have to play the videos from within it rather than the built in Videos app, but it does work. Hopefully Apple will provide native support for this at some point, but in the mean time Video Playlist does the trick.
I bought an Xbox 360 for Christmas, and while setting it up I was kind of disappointed to find that my only display option was 480p. As it turns out, you can switch to HD mode, but it requires that you replace the included Composite cable with a Component or HDMI cable.
Microsoft offers a Component cable, which has an Xbox 360 AV connector on one end, and Component (Red, Green, Blue, Yellow, Red, White) connectors for audio and video on the other end. Newer Xbox 360 models also include an HDMI port, and you can connect them directly to your TV with a standard HDMI cable. The HDMI cable will send both video and audio to your TV, but you can also send audio through to your stereo or home theatre with a separate AV audio cable.
Once you have your cable connected, go to Settings > System > Console Settings > Display > HDTV Settings from the home screen. You should now see options for 720p, 1080i and 1080p (some may be disabled depending on your TV capabilities). If you went with the Component option, and you still don’t see anything but 480p, make sure that the TV / HDTV switch on the cable is set to HDTV.
Update: I have received a couple questions about which dock I’m using. Unfortunately, it seems to be discontinued, however I have seen reports that the SendStation Dock Extender works with the iPhone 4 Defender.
I’ve never been easy on my iPhones, and now that I have a 15 month old son whose favorite toys are iDevices, things have just gotten worse. Even still, my iPhones have always remained relatively unscathed, until now.
I bought my iPhone 4 back on release day in June 2010. For my previous iPhones, I’ve always gone case-free, but I decided to try one when Apple gave them away following “antenna gate”. I selected the Incase Snap Case, which I liked based on its slim profile, and because it actually made the phone more comfortable to hold. It’s a good case, and I’ve used it for over a year, but the downside is that it really doesn’t provide much protection for the front glass.
Even still, my iPhone had survived hundreds of drops on all kinds of surfaces until about 3 months ago when I got a tiny crack in the bottom corner of the screen. The crack was hardly visible, but it did make the lower screen less touch sensitive, which was a bit of an annoyance. I had planned to live with this until my AT&T contract expires in 2012, but last week I dropped the phone face down on the sidewalk, which took care of the glass for good.
Fortunately, Apple was willing replace it for $150, even though I hadn’t purchased the extended AppleCare coverage (very cool of them). Now I’m hoping to keep the new phone in good condition so that I can resell it when the 2012 iPhone comes out.
In discussing more protective cases, a co-worker suggested the Otterbox Defender. My initial impression was that it was too bulky, but it did seem protective, so I thought I’d give it a try. Amazon offers several different color options which range from $20-$25, and I decided to go with the Black and White model.
I received the Otterbox today, and it definitely is much more bulky than my old case. The additional thickness doesn’t cause the phone to feel much different in my pocket, which was my primary concern. With the case on, the iPhone sits within a hard plastic shell, which is then wrapped in an outer rubber covering. Both the front and back glass are inset well inside the plastic case, very well protected from impact. The rubber covering is texturized, and gives the iPhone a ruggedized look and feel. The plastic case has a screen cover built in, which I also didn’t think I’d like. After using it for the day, I’ve almost completely forgotten that it’s there, so I don’t think it will be a problem going forward. The case also comes with a substantial belt clip, which when fully assembled is about the size of the case itself.
The only thing that I really dislike about the Otterbox is that you have to lift a small rubber flap to plug in headphones. I use my headphones all the time, so it seems like this will be kind of annoying. The flap has a hole, which appears to be intended for the headphone jack, but it does not properly align. At first this seemed like a defect, but the Otterbox FAQ says that the hole is actually intended for the microphone instead of the headphone jack.
The only other possible area of concern is docking. The case has a rubber flap that exposes the connector on the bottom of the iPhone, but it’s likely that the size of the case will prevent it from fitting properly into some docks. I use a third party dock that’s similar to the Apple iPhone dock, and after completely removing the custom molding for various iPhone models, my phone fits in the dock nicely with the Otterbox cover on.
The bottom line is that the Otterbox Defender is good choice if durability is your primary concern, and you don’t mind adding significant bulk and loosing some of the iPhone’s design aesthetic to get it.
Over the past few years I’ve tried Beanstalk, Assembla and several other svn hosts for some of my projects. They all worked great, and none of them gave me reason for concern, but in the end I’m just more comfortable hosting my source internally.
I have a Mac Mini that serves as a Media Center in my living room. I also use it for some home server tasks since it’s always on and well backed up. I’ve setup svn + apache servers on Linux before, and I figured it should be easy to do the same thing on OS X since it ships with all of the necessary components. Apple makes it easy to configure OS X Server for svn hosting, but it can also be configured on standard OS X with a little command line work.
To get started, open Terminal and execute the following commands. Note that you’ll need to execute all of the commands as sudo since they’re operating on protected directories.
1: Create a repository
First you’ll need to create a repository. I created the repository in /usr/local, but the location doesn’t matter (just make sure you edit the location in Step 2 if you choose something else).
sudo mkdir /usr/local/svn; sudo svnadmin create /usr/local/svn/repo
After you’ve created the repository, you’ll need to change the owner to www so that Apache has permission to access it.
sudo chown -R www /usr/local/svn
2: Configure Apache for SVN Access
Next you’ll need to define the configuration that tells Apache that it should provide WebDAV access to your repository. This can be done by adding a new configuration file in /etc/apache2/other. The default Apache configuration automatically includes any supplemental configuration files from this location.
echo "LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so <Location /svn> DAV svn SVNParentPath /usr/local/svn AuthType Basic AuthName \"Subversion repository\" AuthUserFile /etc/apache2/svn-auth Require valid-user </Location>" | sudo tee -a /etc/apache2/other/svn.conf
3: Create a User Account
Next you’ll need to define a user account for accessing Subversion via Apache. This can be done by running the following command (replace YOUR_USERNAME with your chosen username).
sudo htpasswd -c /etc/apache2/svn-auth YOUR_USERNAME
You may be asked for several passwords here:
- If prompted for Password: then enter your Mac OS X password. This is being requested because you’re running the command with sudo. You may not be prompted if you’ve run another sudo command in the last few minutes.
- When prompted for New Password: it’s asking for a new svn password for the account you’re creating
- When prompted for Re-type Password: it’s asking for you to confirm your new svn password
4: Restart Apache
Once this is done, the only remaining step is to restart Apache. You can do this by restarting the Web Sharing service in System Preferences (or starting it if it’s not running). To do this, go to System Preferences > Sharing > Web Sharing and deselect / re-select the checkbox to restart.
Once this is done, you should be able to access your svn repository at: http://localhost/svn/repo. You will be prompted to enter a username and password. Use whatever you provided in step 3. Enjoy your new repository!
For some strange reason I was thinking about URL shortening this morning, and how a nice side effect of it is anonymization. When I click a shortened URL the browser is first sent to the shortening service (for example TinyURL), which then redirects it to the actual destination. So in theory, the referrer would be the originating page URL on the first request and the shortening service URL on the second. Right?
As it turns out that’s not the case. I tried this with DwarfURL, EasyURL, Fhurl, Memurl, Redirx, SnipURL and TinyURL and in all cases the referrer at the final destination was the originating page. I haven’t researched it further, but I would imagine it’s because browsers (at least Firefox) don’t treat a redirect as a referral.
So long story short, you can’t count on URL shortening for anonymization.
This morning, iTunes started hanging at “Syncing Bookmarks” when syncing my iPhone. Several tries yielded the same results, even when I left it syncing for over an hour. A quick Google search led me to this iPhone Atlas page which said you could fix the problem by deleting ~/Library/Application Support/iSync and ~/Library/Application Support/SyncServices but warned that you may end up with duplicate data.
Instead of deleting them, I just moved them to my Desktop so I could restore them if necessary, then tried to sync again. That fixed the problem and I didn’t notice any duplicates either on my computer or the phone. After the successful sync I checked ~/Library/Application Support again and noticed that iSync had been recreated, but SyncServices was not. So I dropped my original SyncServices back in and everything still works fine.
To summarize, it seems that the problem can be solved by deleting ~/Library/Application Support/iSync, then letting the iTunes sync recreate it.
I’m sure this has been brought up many times before, but I can’t for the life of me figure out why the iPhone webapps directory (which is bookmarked by default on all iPhones) isn’t an iPhone optimized page. Not only is it non-optimized, it’s more difficult to navigate than most. Apple is (or was) encouraging developers to iPhone optimize apps, so it just seems obvious that they would do the same for their own.
On that topic, the iPhone 2.0 API and the new App Store have kind of overshadowed the web app directory. As a new iPhone owner, I just checked it out for the first time. It contains some good stuff; you may want to check it out if you haven’t already. Just remember to do it on your desktop.
There’s a short interview with Alex Payne, one of the Twitter developers over at radicalbehavior.com. He’s a Ruby / RoR developer (and big fan), but points out how it falls short for high traffic applications.
A few interesting quotes:
All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise.
It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow.
All of us working on Twitter are big Ruby fans, but I think it’s worth being frank that this isn’t one of those relativistic language issues. Ruby is slow.
Ruby is a great language, but this is just further proof that you need to take a close look at your requirements up front, then pick the best (not necessarily the coolest) tool for the job at hand.