Swap Your Laptop for an iPad + Linode
Ditch your laptop and code in the cloud—it's easier than you'd think.
On September 19, 2011, I said goodbye to my trusty MacBook Pro and started developing exclusively on an iPad + Linode 512. This is the surprising story of three months spent working in the cloud.
Figure 1. iPad on Sofa
It all started when I bought my first MacBook a couple years ago; despite a decade using Linux, I never really was satisfied with either GNOME or KDE. In OS X, I hoped to find a slick window manager on top of a solid BSD implementation. I enjoyed hardware with drivers that "just worked", but I missed decent package management and the rest of the Linux ecosystem.
Although I like to use Python and GAE for my own projects, at work, we write heavyweight C++/Qt code that runs on clusters, such as the 200,000 processor Jaguar machine, so most of my day was spent in Linux anyhow, a lot of it on remote systems. Typically, I'd develop in MacVim locally and run my code remotely or on Ubuntu under VMware Fusion.
One fateful day, VMware and OS X conspired to trash my shared filesystem.
dd was recovering as much as it could, I started toying with the idea
of giving up on local filesystems altogether. To my surprise, it seemed
possible—even plausible. The more I thought about it, the more attractive
it seemed. I knew then, I just had to try.
It turns out you need a little more than just an iPad and a dream, but not too much more:
iPad 2 (16Gb, Wi-Fi).
Apple wireless keyboard.
Stilgut adjustable angle stand/case.
iSSH (and optionally Jump).
Linode 512 running Ubuntu 11.04.
Apple VGA adapter.
Total cost: around $800 + $20 per month.
Figure 2. iPad and Keyboard Box
I chose a Linode 512, which has been perfect for my needs. You get fantastic CPU power and a tiny little bit of RAM. Surprisingly, this is enough when you do most of your work at the command line, but it's nice knowing I always can upgrade it later.
I also turned on the $5-a-month backups. Zero-effort data safety for less than the price of a hot chocolate? Yes, please!
Linode's interface walks you through adding your new node. Pick a region close to yourself—you want to minimize the roundtrip time to the server. I spend most of my time in Munich, so I have mine in London and get a 30–40ms ping, which is great.
I run Ubuntu 11.04 in 32-bit mode on mine, but they offer a wide selection of pre-built Linux images along with the option to install your own.
For access to the server, you need a really good SSH client. On the iPad, I've tried both iSSH and Prompt, and of these, only iSSH is even feasible for serious use. The hardest part of setting up an SSH client on a tablet is getting your private SSH key on there without entrusting it to a third party. I split mine across multiple services and removed it after recombining it, but a better way would be to SSH in with a password first, then use copy and paste to copy the key inside iSSH itself.
I Wandered Lonely as a Cloud
I typically start my day by catching up on the bug-tracker chatter, mercurial diffs and other e-mails with the iPad in one hand while lying on the Combinat56 sofa.
I actually hate the mail app for this—the stupid animation when archiving posts adds unnecessary delay, and the archive button is uncomfortably placed at the top of the screen. More recently, I've been scanning e-mails over IMAP with a Python script instead.
Next, I lazily swipe to Safari and review my tickets for the day in our Web-based bug tracker then return to the keyboard and fire off a couple e-mails before settling back into coding—the new four-finger swipe gestures in iOS5 have really improved my life.
But, I was talking about coding, which brings me back to the only reason this setup works for me at all: Vim.
Mark O'Connor is a Munich-based programmer, occasional writer and part-time startup founder. He believes in dynamic typing, first-class functions and the immortal essence of the human soul. He also likes tea. You can reach him at @yieldthought or http:
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- RSS Feeds
- New Products
- Using Salt Stack and Vagrant for Drupal Development
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- Validate an E-Mail Address with PHP, the Right Way
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- Ahh, the Koolaid.
4 hours 4 min ago
- git-annex assistant
10 hours 4 min ago
- direct cable connection
10 hours 26 min ago
- Agreed on AirDroid. With my
10 hours 37 min ago
- I just learned this
10 hours 41 min ago
11 hours 11 min ago
- not living upto the mobile revolution
14 hours 2 min ago
- Deceptive Advertising and
14 hours 38 min ago
- Let\'s declare that you have
14 hours 39 min ago
- Alterations in Contest Due
14 hours 40 min ago