OS X, Full Keyboard Access, and Web Forms

For a while now I’ve been frustrated to find that when tabbing through a web form in Firefox select inputs don’t gain focus. I sat down today to research what it was that they were doing wrong so that I could avoid making the same mistake, and write a post describing the issue. What I found though was that it wasn’t the sites fault or the browsers. It turns out that what I was experiencing was merely a result of an OS X setting which determines what elements on the screen are able to get focus via tabbing. The default functionality is for OS X to only let you tab onto text inputs and lists. To change this you need to go to System Preferences -> Keyboard & Mouse -> Keyboard Shortcuts and then turn on “Full Keyboard Access”. What’s more is that Safari ignores this setting entirely so while browsing in Safari you can tab onto select inputs whether full keyboard access is turned on or not. Who knew?

Cross Browser CSS Inspector –> XRAY

I may be a little late to the game on this one, but I just came across XRAY. XRAY is a bookmarklet that lets you inspect all of the CSS properties associated with any element in the web page you’re currently viewing. Best of all, it works in all of the browsers I use for testing plus some (Internet Explorer 6+, and Webkit and Mozilla based browsers - including Safari, Firefox, Camino or Mozilla). I’m still going to use Firebug and the IE Developer Toolbar for digging deep into a page and tweaking properties to get things just right, but having a common user interface across browsers for simple CSS inspection is great.

DVD Backup File Cleanup

I wanted to clean up my file share of dvd backups and move to use one file type. I chose iso because it makes it easy to burn them without using anything special, and boxee recognizes iso files. So in a couple minutes I came up with this quick and dirty ruby script…

# Convert all dvdmedia files in the current directory to iso images
# OSX only
# .dvdmedia files are really just folders that hold the VIDEO_TS/AUDIO_TS 
# but adding .dvdmedia make OSX do nice things 
movie_directory = Dir.open( Dir.pwd )
movie_directory.entries.each do |movie|
  if movie.include? '.dvdmedia' then
    movie_name = movie.chomp '.dvdmedia'
    puts movie + " --> " + movie_name
    result = `hdiutil makehybrid -udf -udf-volume-name #{movie_name} -o  #{movie_name} #{movie}`    
    puts result

Assumptions… 1) The scripts working directory is the directory you have all your movie files in. 2) You’ve added the .dvdmedia extension to folders containing the ‘VIDEO_TS’ folder.

It wouldn’t be hard to make this a little more user friendly and not dependent on the .dvdmedia file extension, but I already had manually added it on all those folders to make them play nice with OS X.

ProjectPlus for TextMate

By way of Alex Paynes Blog comes a tip about ProjectPlus, pretty much exactly what I’ve been looking for to make the TextMate project panel more useful. Awesome stuff.

iCraig Update

iCraig is down! Heroku has turned out to be a less than reliable hosting provider, which is fine given that they’re hosting my site for free. I’m working on figuring out whether I should continue hosting at Heroku, or move to greener pastures.

Update: I moved to HostingRails.com and things are much better. Only gripe is the slight delay when going to the app for the first time which is a result of mod_rails spinning up.

Git Add -u

From the git documentation:

This is similar to what “git commit -a” does in preparation for making a commit, except that the update is limited to paths specified on the command line. If no paths are specified, all tracked files in the current directory and its subdirectories are updated.

Wow. I wish I knew about this one sooner.

Announcing… iCraig

I just released my first public Rails application/iPhone web application. It’s called iCraig and was really a case of “scratching your own itch”. I can’t stand using the craigslist web page from my iPhone, and iCraig helps ease that pain. Check it out at iCraig.org

SpawnEclipse Update

I’ve put the code for the AppleScript mentioned in my previous post up on github (here). I also added a rakefile that will compile the script as well as drop it in your applications folder if you’d like.

Eclipse Spawning AppleScript

AppleScript droplet to spawn multiple instances of Eclipse on Mac OS X. Just drop Eclipse.app file onto the droplet.

on open eclipse_file
   set eclipse_file_path to POSIX path of eclipse_file do shell script quoted form of eclipse_file_path & "/Contents/MacOS/eclipse &" 
end open