Cloud Zone is brought to you in partnership with:

I am a programmer and architect (the kind that writes code) with a focus on testing and open source; I maintain the PHPUnit_Selenium project. I believe programming is one of the hardest and most beautiful jobs in the world. Giorgio is a DZone MVB and is not an employee of DZone and has posted 638 posts at DZone. You can read more from them at their website. View Full User Profile

A programmer on the cloud

01.06.2011
| 10014 views |
  • submit to reddit

As a programmer, I hate duplication. But moving between different workstations, or even between a netbook and my primary computer, requires me to share data such as documents, code, PDF files and so on.

Fortunately we are in the middle of the cloud computing revolution: Google is even testing Chrome OS, an operating system which solely purpose is opening a browser. I won't go as far as using only Chrome or Firefox to work, but services are definitely make my life easier. I hope you will find something new in this list of services I've began to use more and more in the last years. They're ordered from the easiest and simplest to the more sophisticated. If you know everything listed here, good for you: tell me in the comments what I forget to include.

No-brainer

My choice for email is a Gmail account. Abundant space, easy filter definitions for mailing list, starring and labelling of items.

I used: a long time ago, in a galaxy far, far away... I can't remember when I used a dedicated client for my email accounts, maybe it was even Outlook Express in 2000.

Google Reader is my feed aggregator.

I used: Liferea, an Ubuntu feed aggregator. but the difficulties of sharing pushed me a long time ago towards an online solution. Google Reader was the natural choice. There is even an extension to open items in a background tab both for Firefox and Chrome.

I still use twitter.com instead of Twitter clients. First, a website can be blocked at certain times of the day thanks to browser extensions like Leechblock. Second, it's available from the university labs. Third, no one can interrupt you with a tweet while you work: you decide when to read your @mentions.

I used: nothing. I always surfed to twitter.com.

I also started running Chrome (actually Chromium) instead of Firefox. When you pass all the day in a browser, speed matters. It's like using Vim instead of an IDE (insert religion war here). The catch is DZone.com does not support Chrome: I'm writing this in Firefox 3.

Medium

Google Docs: the killer feature here is simultaneous collaboration. While I had an opened document, someone else can write in it. It has also the convenience of Url-based sharing, where you send an Url by email and that's all the other person needs to read and edit the document. I still use OpenOffice.org (soon LibreOffice I think) when I do not need collaboration. Here there is no cloud solution as powerful as I would want.

Dropbox: you have a folder where everything inside is sychronized between your computers. You drop something in it, and you will find it when you go to your laptop. There is a public subfolder where you can put file to publish online.

I used: rsync. The problem was it's one way: if I edited some file on my netbook, it would be wiped out at the next synchronization from the desktop computer. Using git is not an option, as I don't need version control, but only relentless, neverending synchronization of data. Since it's instantaneous, I have no need to type git add or git commit. I tried also sshfs, but it did not work well.

Two tips:

  • on Unix systems, thanks to symlinks, everything can be put in Dropbox. Your desktop folder? Put it in Dropbox/ and link it back from your home folder. The same goes for image folders, or directories containing articles or code snippets you want to work on...
  • Dropbox can be configured to read the HTTP proxy configuration of your system. This way, it works behind a firewall without issues. In Ubuntu, you switch the global location (in my case from Home to University), and (after a fast reboot, unfortunately) Dropbox start syncing again. No need to power up my netbook when I return home to download the modified files.

If you like the idea but not the service, or you feel Dropbox is too mainstream, there are many alternative services.

Advanced

I start transitioning from Subversion to Git for various open source projects, and now I am doing the same for not yet published code. It's very easy to start with a local repository, and then add a remote and switch to Github or another server. With gitosis or simply ssh, you can also define a remote in your LAN to avoid latency and share work between different machines. Code needs versioning, and it's fundamentally different from simple sychronization.

Instapaper is my tool of choice for bookmarking blog posts, and in general web pages, that I want to read later. I used also Delicious, but I abandoned it recently after Yahoo! unclear announcements.

The killer feature is Instapaper's EPUB format conversion (although it works only on 20 web pages the last time I checked). I read the generated file on my ebook reader, with an e-ink screen much more easier on the eyes. Instapaper also outputs files in Kindle's format (Mobi), or delivers them via wireless.

And I registered on CouchOne which provides free CouchDB instances. Other hosting services, such as for web servers or relational databases, won't count, as web developers like me have used them for years even before the cloud hype started. However, CouchDB is really good as setting up replication with my home instance is all I needed to get my remote one to work.

The only thing I do not trust cloud service is for finance and accounting. For all the rest, I am comfortable in handing my articles (which will go live anyway in some days), open source code and bookmarks to external services.

Published at DZone with permission of Giorgio Sironi, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Ben Anderson replied on Thu, 2011/01/06 - 10:11am

intersting post, Giorgio.  I totally agree with you that this is the direction things are heading.  I've been blown away at how well google's webapps (mail, reader, docs, etc) syncs between the 3 computers I use.  The one things I'd add to your list is music.  I think the days of creating your own music library are coming to an end.  Services like grooveshark, napster, lala (before Apple shut them down) seem to be the future.  I love grooveshark!

Giorgio Sironi replied on Thu, 2011/01/06 - 11:46am in response to: Ben Anderson

I'm so used to some services that I felt they will be obvious to most readers. Thanks for your opinions.

Mike Wilkes replied on Thu, 2011/01/06 - 3:43pm

For better Instapaper and e-reader integration, checkout WordCycler if you're on Windows, and Ephemera if you're on Mac. Don't know about Linux equivalents. I've been using WordCycler with my Kindle, and with a Sony Reader. Downloads each page as an individual item, and once deleted from reader, or archived in Instapaper, it removes the item from the other location.

Zqudlyba Navis replied on Thu, 2011/01/06 - 4:57pm

I use Ubuntu One to store and sync files online and between PCs. I also previously used gitosis, but it seems to be a dead project now, so we migrated to Gitolite.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.