Search

Google
 

Sunday, December 30, 2007

Linux on Any Platform for Free, Fast Low-Level Remote Control

I wonder about the merits of services like GoToMyPC, the easy-to-use, but for-pay service for remote controlling your desktop PC from anywhere. I've read great reviews about GoToMyPC, but the Do-It-Yourself-er in me rebels at the notion of paying for such a service when so many free alternatives abound. Besides, all the "mothership" PCs I need to control remotely are either running OSX or Linux, and GoToMyPC is a Windows only solution, so far as I know.

I plan to post something soon about free Virtual Network Computing (VNC) solutions, which allow allow remote control of a PC via its GUI. (On your "client," your Internet tablet, or laptop, or whatever, you see the full blown graphical desktop of the "server," the sedentary machine in your home or your office or your company headquarters or wherever.)

But first, I want to start at a lower lever with a few handy Linux commands. While you're out roaming around, you're likely to encounter some areas of pretty low bandwidth. VNC can be pretty darn slow even with plenty of bandwidth, and so often you're logging in remotely just for a simple task like grabbing a file.

If you haven't already, why not just master a few basic Linux commands that will dispense with all the slow loading graphics and get the job of grabbing that file faster and with ample security?

First, you'll need to install a few free applications on both the server and the client:

Server-Side Installation
Good news! If your mother ship is running OSX or Linux, you're already done.

OSX comes with OpenSSH preinstalled, so all you need to do is enable remote logins (click Apple Menu>System Preferences>Sharing and check Remote Login).

Your Linux server is already likely to be running and ssh server, but you may need to do some tweaking. This will give you some ideas.

Windows is going to be tricker to configure, but certainly not impossible. Have a look here as a place to start. Basically, you're going to need to install Cygwin, OpenSSH, CoreUtils, or some other variant in order to allow remote logins and support for core Linux commands.

Client-Side Installation
Again, if your client machine (the one on the road with you) is a Linux or OSX laptop, you're done. Just open up a terminal.

On a Mac, you do so by opening Finder, then clicking Applications>Utilities>Terminal.

On Linux machines, you typically right click on the Desktop and then select Open Terminal.

If your carrying a Windows, laptop around you'll need to install an ssh client of some sort. A few options are listed here.

If you're carrying something smaller, like an Internet tablet, there's a ready supply of ssh clients. Here's advice on getting an ssh client running on your iPhone (I imagine something similar is possible for the iPod Touch). Here's advice for the same on a N series Nokia tablets running Linux (770, 800, 810) -- pay attention to the bits about osso-xterm and ssh.

It looks like Windows-based pocket PC users have options as well, which are discussed here.

Networking
Here's where we could easily wander outside the scope of this post. To keep it simple, from the server you need two things: its IP address (written like 63.208.196.66) or hostname (written like (ssh.mothership.com) and a firewall allowing traffic on port 22.

There are tricks like port forwarding available to you, if you don't control the firewall in your office or head quarters. (Basically, you forward a port by running a simple command before leaving the office, then follow this port back from your client PC while you're away.)

Also, there are tricks available for assigning a hostname to an IP address, even if it's a dynamic (i.e., ever changing one) assigned according to the whims of your Internet Service Provider (ISP). Check out this free service, for example.

Copying Files and More Remotely
Depending on your background, all the above might sound quite onerous, but it's really not, and once it's all setup, you can find the command line to be a very powerful ally.

Say you want to copy a file off the mothership. All you need to do is open up a terminal on your client PC, and type something like

scp username@ssh.mothership.com:/pathname/to/file/filename .

You'll be prompted for a password, and the file will start downloading to your client.

Say you can't remember where the file is. You can log onto the mothership with

ssh username@ssh.mothership.com

Once on, you can find the file by using ls, which will show you the contents of the current directory, in conjunction with cd, which will change directories for you (cd .., for example, takes you up one directory level in the hierarchy, while cd directory_name takes you inside the named directory.

This is all just the tip of the iceberg, obviously. Once you master a few commands, you can easily download files, backup the contents of your roving PC to the server via rsync (only the the changes since the last backup, not everything, so backups are fast), and much more. Seriously, a whole free world opens up, and, again, these tools are great because they do so well in low bandwidth situations (they were, after all, born in the 1970s!).

What's the Most Exotic Locale from which You've Done a Day of Telework?

I wanted to do this as a survey using the Blogger tool, but it doesn't allow for user submitted responses, so please share in comments.

Elance: Economic Equalizer

Where was a site like Elance when I was growing up in cold and depressing Utah (as an aside, it's now officially the most depressed in the Union)? For that matter, where was the Internet? Back then it was just a plaything of generals and academics.

Anyone who grew up in or now lives in a rural area knows how constricted job opportunities can be (I milked cows, bused tables, and worked a cookie factory line, all of which were character building perhaps, but not necessarily skill building).

I posted a quick request to Elance for some illustrations for this blog: Ghengis Khan on horse back with a tablet PC as opposed to a bow and arrow. (Yes, corny I know, but I'm going with that theme.) Within a few minutes I was looking at some impressive portfolios for some very reasonable rates. Some of the illustrators hailed from rural states (and for all I know are 14 years old).

Though I'm sure the bidding wars can be fierce, sites like Elance make metropolitan (i.e., higher paying, chic-er, hipper, cooler) work possible in the rural setting, which would have been a great boon to me back in the days of getting kicked by cows while stealing their milk fro $2.75 an hour.

Saturday, December 29, 2007

Devicescape: Seamless Logins to Public WiFi Hotpots

Public WiFi hotspots are great because they're free (I can't rave enough about Singapore's ever growing free WiFi bubble), but can be annoying in that they require you (or your browser) to remember login credentials, and they often force you to a slow loading portal once you've been authenticated.

To get around all that, try out the free Devicescape service, for seamless logins to WiFi spots (public or private, as in your friends' homes):

Basic process is to:
  1. Create an account.

  2. Add all your commonly accessed hotspots to your own little database (they have quite an exhaustive list of worldwide public WiFi hotspots).

  3. Download their little app to your device (they support Windows and OSX PCs and a variety of handhelds including the Nokia N series).
The app is launched by default at boot time, and automatically and seamlessly connects you to your favorite hotpots as you roam the vast Steppes of the world.

The service worked well for me, though I did have to login manually the first time for some unknown reason. Thereafter, the service worked, even with a reboot of my handheld and a roam to another hotspot.

Shopping for a Micro PC: Some Lists to Get You Started

Like every nomad worker, I own a laptop, a few, in fact, but I recently began to notice the need for something smaller, more pocketable. The nature of my job is such that people can call me anytime (yes, even on Sunday morning) and ask for something (a license or a remote reconn of their system) that requires Internet access.

If out of the house, my former practice when I got such a call was to a) rush home in a cab, or b) search frantically for an Internet cafe. With the addition of my new Internet tablet, my practice now is to pry the little computer from my hip pocket, go quickly to work, then get back to relaxing. (Finding a WiFi network is easy in my adopted home of Singapore as the government is pushing for an island-wide WiFi bubble by the end of 2008, and already coverage is place for my usual haunts.)

So, if you're in a similar situation, which micro PC should you buy?

First, let me mention the criteria I think are important for the perfect pocket PC for the nomad worker:
  1. Costs less than 500 USD. (After all, its technology is already antiquated even before you've bought it, so why pay more, especially given that by virtue of its mobility it's prone to loss and damage. The risk of either is greatly compounded, I can tell you from first hand experience, when you succumb to the temptation to turn the pub into the office.)

  2. Is small enough for the pocket, or worse case, some sort of man purse (or simply a regular purse if you're a woman), but definitely not so large as to require a full blown laptop bag.

  3. Can run a Bash shell for access to Unix utilities like ssh, scp, and rscp (essential for my job).

  4. Has a large enough screen for composing lengthy bits of text (after all, I was once an English major) and viewing images and video.

  5. Includes or can be paired with a decently sized QWERTY keyboard.

  6. Runs an OS that allows for installation of 3rd party applications (nothing so closed off, please, so as to require ingenuous hackery just to bypass manufacturer-induced limits on functionality).
Your criteria are likely to resemble mine pretty closely, perhaps with the exception of #2, though I hope with future posts to show that such old school tools are really easy to use and work amazingly well on the reduced bandwidth you're likely to have to deal with while on the prowl.

So what devices did I find that matched up to my criteria? Check out the list below. Naturally, I can only review with authority the device I actually purchased, but this list is at least a good basis for starting your own quest.
  1. Nokia N800
    Nokia N800. This is the model I eventually went with, even though it's now ancient in web years. It fits the bill for all the above criteria. I got it here in Singapore for around 400 USD, though I'm sure the street price is lower in the States. It runs Linux under the hood, which made installing a Bash shell a cinch, and which makes loading 3rd party apps for all manner of tasks easy. Some will say I should have waited for the N800's successor, the N810 with the built-in qwerty keyboard, but it wasn't available here in Singapore yet, and anyway, the N810's keyboard looked to small to actually type on, unlike the foldable Bluetooth keyboard I now pair with my N800. I'm very satisfied with the N800 for a lot of reasons that warrant a whole post, but, in short, I found the price to performance ratio of the N800 the best for my needs. (Check out a more thorough review here.)

  2. Asus EEE
    Had it been easier to source here, I might just as well have bought the Asus EEE. The form factor is larger than the N800 -- no way you could pocket it unless cargo pants are your thing, but it's cheap, runs Linux, has a build in QWERTY keyboard with reputedly decent ergonomics. (Check out the review here as a starting point.)

  3. OLPC
    was tempted too by the One Laptop Per Child (OLPC), but found it too hard to source here as well, though I read great reviews about it. (The deal is, as I'm sure you've read, you buy one for yourself, and another for a child in a developing country.)

  4. Archos 604
    The Archos 604 also runs Linux and is impressive as a media viewer, though most of the reviews I read, indicated it was subpar for likely work related tasks. Still, depending on your line of work, it may have it's uses.

  5. iPhone/iPod Touch
    I read rumors of an Apple subportable laptop offering. I couldn't wait, but would definitely have considered purchasing it were the price right. By the time you read this, one may have materialized. My home laptops are Macs, and as Unix is the foundation of OSX, it's no problem to get a shell up with all the old school Unix goodies I need. Plus, OSX is just plain a nice operating system, even if I do get annoyed by the whole Apple/Jobs cult thing. I'd hoped that an iPod Touch or iPhone might fit the bill, but as with the Archos I read of too many gaps in functionality for use as a work PC, plus the screen size isn't quite there.
So there's at least a list of places to start in the quest for the perfect pocket PC. It's my hope others will leave comments with other suggestions.

As a final note, as indispensable as you're likely to find a pocket PC, don't overestimate how much time you'll want to spend on one. I had visions of composing the next On the Road on mine from the road. While that sort of thing is certainly possible, no matter how capable the device, the ergonomics of smallness will, I assure you, make you glad you still have a laptop or desktop somewhere close at hand, even if it is a cab ride away. (Biggest issue for me: not enough screen real estate for side-by-side windows. Before attempting extended work on a pocket PC, I never realized how often I rely on that simple capability.)