Sunday, November 30, 2008

Update On Choice Of Online Backup Service

A couple of comments on the previous post made me take another look at the existing online backup solutions. This is far form a comprehensive review (here's one if you want), but I do have some additional thoughs on the subject.

Most backup providers simplify matters for the user (which is generally good) - you sign-up once, and pay a fixed price, often starting as low as 5$ a month for unlimited storage. This is regardless of whether they manage their own storage, or just present a layer on top of Amazon Web Services - the user never knows (or cares).

JungleDisk on the other hand are very transparent regarding their reliance on Amazon. The user has to set up his own account with Amazon (in addition to JungleDisk account), and estimating the monthly costs is a little harder for a non technical person. This however provides a very important ability, unique to JungleDisk - I can access my own data on my own Amazon S3 account if I want. This gives me the assurance that even if JungleDisk dissapeared (even though they are doing quite well), I could still retrieve my data (they even provide a sample code for this very purpose).

So, if you don't mind an extra sign-up step, appreciate the variety of features, and want that extra assurance that you can always access your data - JungleDisk is a good choice. Yet when storing above 30 Gb (which costs 5$ a month on the S3 service), you may prefer some other service with a fixed price and unlimited storage.

I'm now considering a hybrid approach - storing 10-20Gb of critical documents and photos through JungleDisk, and 100Gb+ of music and video files elsewere.

Saturday, November 29, 2008

Who's got your back(up)?

(The title was shamelessly stolen from ArsTechnica)

A topic that comes up ones in a while in conversations with friends is how to backup important files, if at all. About two years ago I lost my home hard drive, with family photos and documents. It took some time to go over old CDs, partial backups, disks given to friends and files sent by email. Lot's of effort, and still some files were not recovered.

So I looked for available backup solutions, with the a few requrements:
  • Access to backup files from several computers. Web access is nice but optional.
  • Reliability - The service must never loose any file I store there. As an individual, it doesn't affect me much if the service is down once in a while, but I must have the confidence that once it comes up again - all the files are there.
  • Trust - I want to be sure the service will be there for a long time (unlike MediaMax, Omnidrive or AOL's XDrive), and trust the data is protected and secure.
  • Ease of use - I have no problem to do some initial setup, but after that it should Just Work.
  • Functionality - ability to do scheduled backups and to see past versions of modified or deleted files would be a big plus.
  • Price - I currently have some 10+Gb of photos and documents, so I would consider up to 5$ a month a reasonable cost.
After looking at some alternatives, I came down to a two-tier solution: Amazons S3 service for storage, and JungleDisk for user interface.

After building a very succesfull online business, Amazon decided in 2006 to rent its reliable and scalable storage infrastructure to the world, as a service. This Hardware-As-A-Service model proved to be a success, and today there is a myriad of services - from computation to automation of on-demand human work, all on a pay-only-for-what-you-use basis. They are widely used, from startups to Oracle and the New York Times.

With that in mind, I know the S3 service will be there for a long time, and that I get exactly the same reliability and price as the big boys. And as storage gets cheaper every year - the prices get lower. And when the service is down? They are very open about it, and respond very quickly. A 99+ percent uptime is quite enough for me.


Since S3 has a programmer interface, there is a need of a program to serve as a front end to the user. Since the storage is a given, the company writing such a program must focus one thing - providing the most features and having the best user interface. Such competition is great for me as a consumer - if a program isn't good enough, I can simply switch to another.

The winner for me was JungleDisk. The storage service looks just like another drive on a computer, where you can copy your files for backup (or back to restore). This can be accessed from several computers (so it can be used for transferring files) or from a web site (as an additional service). The backups can be scheduled any way you want, and the old versions of the files that were changed or deleted are stored for as long as you wish. The program costs a one-time 20$, including all future updates, which isn't much over a long time.

There are other choices of course. Dropbox (check the video) is another new S3 based solution, that might compete with JungleDisk - it has seamless integration, and allows to share files and folders with friends and coworkers. Other popular standalone solutions are Mozy and Carbonite.

If you still don't have your files backed up, do it now. It takes a only few minutes, and the cost for this peace of mind is quite negligible.

(A side note for 2 of my 5 readers: considering the time it took me to write this post, on a subject I know very well, I conclude Jeff Atwood must give up either food or sleep to write so much...)



Saturday, November 22, 2008

My Personal Internet

I've been thinking for some time about the idea that the Internet I see when I'm browsing is different from what other people do. By this I mean both the content I read and the actual experience of being online.

Of course, what people read or listen to reflects their personal interests, biases and their environment. Yet at first, the web was this collection of static pages that were presented to anyone who visited. A sort of "absolute truth" - we would read the same news from the same media sources, and would get the same results when searching something.

With time, the web adapted and "got to know me". Amazon would suggest you different books depending on what you bought and what you looked at. Google modified results based on your language, country and your own personal search history. But the biggest change was the "social" revolution - and by this I don't mean all sites like MySpace, Facebook, etc. I mean the ability of private people to publish their own ideas, and reach the entire world - at no cost.

I have many subscriptions in Google Reader (over 100), yet of those, only 4 are for "big news sites" such as Ynet or TheMarker. A few more are various social news aggregators (like Slashdot), about 10 for comics and fun stuff, and around 10 official blogs for specific companies (
Michael Stal for his ideas on software architecture;




































Tuesday, November 11, 2008

Using Google Chrome Inspector to Analyze Page Load Times

I've been checking out Google's Chrome browser since it's release and I like it so far. The GUI is clean and it's very fast on complex sites with lots of javascript. The separation of tabs to different processes each prevents it from hogging the memory after some time since memory is completely recovered by the OS when a tab is closed.

The main thing lacking compared to Firefox is of course the support of extensions and a huge number of extensions already existing, some of which are critical to me now.

I did discover a cool feature today - the Inspector tool.
It can be accessed by right clicking a page and selecting "Inspect element":











The first screen allows you to see and edit the page content, it's style and offers a javascript console:






















Nice, but not much new compared to existing tools (such as Firebug extension for Firefox). The interesting bit is selecting the "Resources" button and reloading the page:



















We can see the entire sequence of loading the page on a timeline, from sending the request to receiving it (light blue) and then rendering the page (dark blue). As the page is being rendered, requests for additional resources are sent.

Selecting a line displays the resource that was loaded - whether it's html, css, javascript code or an image:















It gets more interesting when we look at a more complex page (amazon.com). The top bar seems to show the relative load time distribution between the various resource types - html (blue), css (green), images (purple) or javascript files (orange):



























I think this can be a very useful tool for understanding how a site works and perhaps optimizing it's load time.

Saturday, November 8, 2008

Note length overflow

The note I wanted to share in Google Reader was too long, so this blog was born. Don't have much ideas what will come of it, but who knows...

For some time now I've been thinking (together with Leon) about the best way to analyze IIS logs so we can better understand and improve some web apps in our workplace. Today I stumbled on a cool program that should be perfect for this, and many other jobs - Log Parser by Microsoft.

It uses a SQL-like syntax to parse almost any type of input and can produce an output in a variety of formats. Also, there's Visual Log Parser that provides a nice GUI to the program. For more details - read Jeff Atwood's post about Log Parser, with examples and many useful links.

How I found this app was interesting in itself - I decided to finally check out StackOverflow (a great programming Q&A site created by two famous bloggers - Jeff Atwood and Joel Spolsky). I was browsing questions posted by Moshe, and one of the answers mentioned the program.

I also experienced the magic of logging into a site without creating a new user and password - StackOverflow supports OpenID, and Google announced a couple of weeks ago that Google Account can be used as an OpenID identity to sign-in.

I did have a minor problem with this however - the site didn't have any specific support for signing with Google Account, entering my email to log-in failed, and I didn't know what else to do. Luckily, I was on a technical Q&A site after all - a quick search and I had my answer. Extra reputation points for StackOverflow (now I have to earn some myself).

All in all, an interesting hour on the web.

Update: Actually, creating this blog is a better solution to the problem I had with OpenID - the URL of this blog can be used to sign-in into any site that supports OpenID.