Archive for Technology

Learning Ruby on Rails

This year, my technology goal is to learn Ruby on Rails.

I often try to learn new programming languages, averaging around one a year. Sometimes it is a matter of coming back to a language I haven’t used in a while, other times it is learning a new framework.

After using Ruby for some scripting last year, I decided that Rails was a good choice to learn as a framework this year. Two things convinced me.

Firstly, lots of web innovation appears to arise from the Ruby community. Cucumber is one that has particularly caught my interest.

Secondly is Heroku. This is simply an awesome way to bootstrap a project. No mess, no fuss, code - deploy - repeat. It means I can launch an early version of the app with minimal investment of time or funding.

To dive in deep on a platform like Rails, I’ve taken a few steps:

  • Books – Admittedly still on order, I’m investing in some Rails books, as I find books provide broader coverage of topics than blogs alone.
  • Blogs – My RSS reader is being filled out with Ruby and Rails blogs. I subscribed to 20 odd to start with and will curate them over time.
  • Podcasts – The Rails community is served by a number of great podcasts and screencasts. Railscasts is a great entry point and I added others for broader coverage.
  • Twitter – Where I find bloggers or people that are influential in the Rails community, I add them to my Twitter list.
  • Friends – To start the process, I also asked a few friends who were Rails experts for suggestions of where to start. Pete put together quite a good list.
  • Tools – Installing Rails was a good start. I also added TextMate to my tool collection. There are some nice features that may cause me to make changes to my .vimrc one day.

All of that is the easy part. The next step is to actually write a bunch of Rails code. So far I’m tinkering with example code. However, I do have a larger project in mind which should provide the incentive to carry through. Details on that are for a later date.

If there are sources of good Rails info that you can recommend, please let me know either in comments, Twitter or email.

External Accessories on iPhone 3.0

My initial reaction to the teasers for 3.0 was excitement. My understanding of the opening up of the accessory port to developers would allow for fun innovation. I was wrong.

The dream I had was to be able to connect my iPhone, via USB, to my camera(s). This would allow my phone to act as a remote control, and as an external screen for photos & video. The gPhoto libraries looked like they could provide a starting point.

What is actually provided doesn’t allow for straight USB connectivity.

The External Accessory support requires a validated accessory, with appropriate hardware protocols, to work. You also need to be a member of two programs, iPhone Developer and the Made for iPod program.

I can’t see Canon or Nikon releasing cameras with iPod dock connectors or protocols.

This doesn’t leave many options. One is to build a hardware device that is USB in one end and a custom protocol out the other. This gets tricky fast as the hardware device needs to figure out the camera support. And I really liked the idea of a simple cable connection being all that is required.

The second option still has some merit: WiFi. There are a few downsides. Firstly, you need a camera that supports WiFi or an expensive adaptor. This limits the audience for the app. Secondly, you need a wireless network available and to also manage pairing between your iPhone and your camera. This starts to be more equipment than desirable.

If you have a laptop lying around, onOne software released such an iPhone app.

Life in the 21st Century

  • On the flight, I get to watch lectures on iPhone development from Stanford, along with talks from a conference in California.
  • Catch up with family and friends in Singapore, as a result of sharing my location on Facebook.
  • Photos I took of Singapore are instantly shared with other friends and family around the world.
  • I keep in touch with my girlfriend back home using free telephony via the internet (thanks Skype).
  • A friend at work recommends a book to me, and I order it from America to arrive at my Melbourne office, along with some other recommended books to read.
  • Reviews, freely published on the internet, guide me through a tricky lens purchase. Global warranty allows me to haggle in Singapore’s Chinatown for a lower price than back home.
  • Hear about a new album by Fat Freddy’s Drop, a New Zealand band, on Twitter on my phone, purchase the album and instantly(ish) download via wireless internet
  • My camera (5D2) gets updated with new features today, via the internet, making it more video capable.
  • Subscriptions via NetNewsWire and Tweetie on the iPhone guide me through the bankruptcy  intricacies as two 20th Century car companies fall apart.
  • I can share this with you, as publishing is freely available.

 

Thinking back only a few decades, most of this would seem science fiction. I’m looking forward to the next few!

ps. I still hold out hope for personal flying devices in my lifetime.

Tracking Technology Trends

Robert Scoble recently posted his top list of interesting people for technology. He is a vocal advocate for Friend Feed. It got me thinking about how I go about tracking technology news.

I joined Friend Feed a while ago and added a few of the usual suspects. With Scoble’s list, I set out to add many more to my feed. Using the filtering on the site, I’ve grouped them into a few categories.

I can see the theory behind Friend Feed. Aggregate all these sources, allow comments on items, and provide basic voting. I also like how it will show me interesting items from friends of friends. It is now about improving the signal to noise ratio to get me back more often.

Most of my news still comes in the old fashioned way: blogs.

Newsgator does the magic of keeping them in sync between my Macs, iPhone & PCs. I’ve found it useful to subscribe to some developer’s Delicious feeds; more reliable than waiting for a blog post.

I’m also a big fan of Twitter for ad-hoc discovery and Techmeme for following the overall industry.

Things off my radar? Newspapers and dedicated media outlets. This is a big shift from a few years ago, when I used to read the Green Guide (a section of the Age) and Ars Technica religiously.

Thus my consumption of news shifts further towards being personal and aggregated.

VMWare Movie Capture & Conversion

On a PC, I want to be able to easily capture screencasts for the products we use at work. The ulterior motive is to be able to show a video rather than repeat the demo hundreds of times.

VMWare gives a tantalizing option: Capture Movie

It is under the VM menu in the menu bar. Prompts for a filename and you’re away.

Slight catch. Playing back the movie that is recorded leads to not much but trouble. Turns out that VMWare encodes the movie into a non-standard video format. Details of it are here. (It is using the VNC protocol to encode the video with some VM specific headers)

If you’ve installed Workstation, the decoder for the codec is included. Otherwise, you can download the codec here. I found you need to use Microsoft Media Player to actually play back.

That still leaves the problem of editing the video. With the video recorded and the codec installed, you can convert the video into a suitable format. I used Prism’s conversion program to produce an AVI that can be read by Final Cut Pro.

Final Cut Pro took a bit of effort, but produced a very slick result. You can use simpler options for the video editing piece.

The result is that I can now capture video of demonstrations that are run in a VMWare environment, and re-mix them into various screencasts.