Monday, September 24, 2007

Reverse SSH Tunnel For Facebook Application Development

I have been playing around with developing Facebook applications recently, and I have found it difficult to setup a development environment because to test my application, Facebook needs to access it on a remote server. If my application is running on my workstation which is behind a firewall, then Facebook has no way to access it.

A friend at work told me about The RFacebook Tunnel which allows Facebook to connect to a port on a remote server which tunnels its traffic to a local computer. That is exactly what I need, except that I'm using Java instead of Ruby to develop my application. I started looking into doing this reverse tunneling myself just using the command line and found out that it is very easy!

All I needed to do was to issue this command from my workstation:

ssh -gNR 8888:localhost:8080 www.myremoteserver.com

This creates the tunnel so that any requests to www.myremoteserver.com:8888 are forwarded to my workstation on port 8080. Voila! Now Facebook can easily access the web application I'm running locally behind a firewall.

There was one little thing I left out. In order to get the tunneling to forward traffic from machines other than myremoteserver.com, I had to edit /etc/ssh/sshd_config and add the following line:

GatewayPorts yes

This site has some more information on why I had to do that.

Sunday, September 23, 2007

Quicken Online Beta

There have been some articles talking about the advent of Intuit's new Quicken Online product. It is supposed to be available this winter with beta testing beginning this month.

I have been using Quicken religiously for over 10 years. I track everything - even the cash that goes in and out of my wallet. The last few years, I have been using Linux, and Intuit does not make a version of Quicken for Linux. Therefore, I've had to keep a Windows laptop around just for the purpose of running Quicken. With Quicken Online, I should be able to dump Windows forever!

Just now I did a Google search for Quicken Online Beta, and found out that they have already begun the beta testing. You can sign up to be a beta tester or to get notified when Quicken Online is available. I signed up for both and am anxiously awaiting an email telling me I can login.

Saturday, September 22, 2007

New Hard Drive Camcorder

With a new baby on the way, I thought it would be a good idea to get a camcorder. There aren't any videos of me growing up, and I always wished there were some. I decided not to spend a lot of money for the latest and greatest camcorder because I am not yet familiar with camcorders and I don't really know what features I want.

Out of the different storage medias, I went for a Hard Drive camcorder. I plan to edit and archive all the videos on my computer, and a Hard Drive camcorder makes it really easy to transfer the videos. There is no need to playback the video while capturing as is necessary with other storage formats. It is just like having a digital camera: Take the video, connect the camera to the computer via a USB connection, and drag and drop the files over.

I was comparing various camcorders from JVC and Sony and ended up with the Sony DCR-SR62 after reading various Amazon reviews and playing with both of them at Best Buy. The Sony had simple-to-use touch screen which I really liked.

The camcorder comes with software for Windows, but my computer runs Ubuntu Linux, so it doesn't do me any good. Luckily, there really isn't any need to have software since the computer just sees the camcorder as a USB drive.

The camcorder stores the video in MPEG-2 format which are instantly viewable with Totem Movie Player which comes with Ubuntu. There are several video editors available for Linux, but so far I've only played around wtih Kino. Kino first converts the files to DV format, but after that it is pretty easy to cut up clips and then stitch them together.

I have filmed and edited one video so far of me and my wife talking our dog for a stroll around the neighborhood. It was a lot of fun.