Working from a USB drive

21 July 2006

For the first 9 months of my round the world trip I hardly touched a keyboard, except for the occassional email check. But after loosing my travel campanion and getting a bit tired of travelling all the time, I started spending more time in Internet cafes around South east Asia. Taking software and data with you on the road is easy these days, all you need is a USB memory device (USB drive) and an XP box somewhere. I'm a Microsoft guy, so please no comments about 'you should boot into your own Linux from your USB drive'. Taking a laptop with me was never an option. I travel around a lot and want to keep my bag light, it's heavy enough already. I started out with an old 64Meg memory stick which shows 'Microsoft .Net Server' in faded letters on its side and also a 5Gig Rio Carbon audio player which I used mostly for listing to music and DotNetRocks podcasts. The Rio became very unreliable when connected to a PC and the stick was getting too small. Luckily I won an 2Gig IPOD Nano at a lucky draw in Bangkok and that's what I use for all my software work. The other two I still use as backup devices.

Web Browsing

The most used application while on the road is certainly a web browser. Yes IE is on every box and why should I care about security issues on a machine in an internet cafe? Well I do care about it because I have my USB drive with my data attached to the box. Also I used Firefox since its Phoenix days and just prefer to browse the public internet with Firefox. If you install Firefox once, you can just copy the Application files over to your USB drive and use it on other machines without installing, however extensions may not work and your preferences are stored in 'Documents and Settings' on the hard drive. One day I discovered 'Portable Firefox', a standard Firefox with a startup wrapper around it that stores all extensions and user files in its Application folder on the USB drive. No data is left on the hard drive. This means you can even store some of your less important passwords for sites in cookies. The only issues I have about this are:

Email

I'm using email since 1991, way before the web and never made the switch to web based services. Even with the new Ajax features in the new versions of Yahoo mail or Windows Live mail, the web can never deliver the richness of a proper Windows application.

There is also a portable version of Thunderbird available but as I'm using 'TheBat' as my email client at home, this option was not for me. I do actually have a web based email account as well but doesn't use it very much.

So I wrote two batch files that add and remove Registry entries needed for The Bat! before and after I use the program. Just after I started my trip RiT Labs, the makers of TheBat released a special version to be used on a USB drive called Voyager and it works perfect without any registry entries or any files of the hard drive. It even encrypts your mail data so if you loose your device, it's not accessible to others.

Office

When writing long entries for my travelog I rather use a proper word processor rather than a rich HTML input box, I also used Excel to manage my travel expenses in spreadsheet. On many PCs you can find pirated version of Microsoft Office but it's not always there. The solution comes from Portable Apps, they have a version of Open Office for the road which is perfectly sufficient for 95% of all non-coporate office work and is similar enough to MS office to get into it quickly. Of course it's free.

Photo editing

I have a map on my travel site which shows my current location and my previous route. I also sometime want to edit some photos I took before I upload them to Flickr. There is mspaint.exe in XP but it's very limited. I had a look at Paint.NET some years ago and as a .net application it runs within having to be installed. The latest version is very powerful and more than enough for what I need to do. You need .net 2.0 for the lastest version but I still found version 2.5 which is the last one that works with .Net 1.1 which is more common in Internet Cafes.

Instant Messengers

I don't really do messenging but just in case I need it, I set myself up with Portable Gaim again from Portable Apps, it supports all the major services in a single app.

Media Players

In most cases these builtin Windows Media Player is suffient but sometimes I want to watch a Quicktime video and don't want to install ITunes (you have to search hard to find a standalone version of the Quicktime played these days). So Portable VLC comes to the rescue. It plays Quicktime and most other formats and in at least one case even played Movie DVDs without installing any additional decoders.

Talking about ITunes, what a pain that software is! You have to install 40Meg just to add a song to your Music player. It also doesn't seems to be very traveller friendly. I put some photos onto the IPOD and changed all possible settings to manual. Still at the next Internet Cafe ITunes synced the photo folder with the MyPhotos on the hard drive which was empty, so ITunes deleted all the photos on the IPOD. Also even though an MP3 file is stored on the IPOD in MP3 format, I can't copy it back onto a hard disk. I can use Explorer and find the file in a hidden directory but the file name has been changed and I have a hard time finding the right file. But there are many third party tools out there that allow you to copy music files back and forth. I use Yamipod which comes as a single .exe and it doesn't require any setup. So much for user friendlyness Apple!. I also considered running NTFS on my IPOD because FAT32 looses sectors once in a while, much more frequent than on a normal hard drive. But Apple doesn't support this and music playback may not work anymore.

Console Tools

My central command line tools is 4NT, see my separate entry for it. The registered version reads the key from the registry but you can just download the latest version, put it on your USB drive and use it for up to 30 days, it's not likely you spend longer at the same computer in the same Internet Cafe in the same place. I have a whole bunch of command line apps and all of them run without setup or registry entries. I would even say that's the nature of command line apps. I may look closer at these later in details, most important is the PsTools Suite  from SysInternals.

GUI Tools

Just a short list of some tools I use and that work perfectly on a USB drive or without reinstalling on you next Windows setup for that matter.

File Manager (Winfile.exe), practically unchanged from the NT3.1 and comes in a single small file. You can get it from NT4 Service Pack 6. After 12 years with NT I never made the switch to Windows Explorer even for my day to day work. Old habits die hard. I know there are many powerful Explorer replacements out there but I never really got into any of them. I love the simplicity and practicality of the two window approach. It also it much faster displaying lists of files because it doesn't have to load any of the icons. Extensions like File Manager StepUP or 'FM Applic' (which I can't find online anymore) are helpful and when using them along with context.exe you can even get the Explorer Context menu for a file in File Manager. However these extensions don't work without setup. Try to find out what's really in your Font folder or the Global Assembly Cache, impossible in Windows Explorer which also may hides whole drives due to software policies. Use File Manager instead, it shows always the raw files. But don't get too excited, winfile.exe will no longer work under Windows Vista, read more.

Sysinternals tools - As Scott Hanselman says 'These guys are gods' and in addition to the command line tools their GUI stuff is just as good. Autoruns, FileMon, RegMon and Process Explorer and musts and all their stuff runs without setup consisting normally of just one file. Old versions of the monitor programs has separate driver files but these are now part of the executable and are installed temporarilty when the app starts.

Notepad2 or any other good notepad replacement, a decent text editor is just essentials for any type of work.

Foxit Reader is a free PDF reader that comes in a single file and works great from a USB drive, now you never have to use Acrobat Reader anymore. They just release a beta for version 2.0

.Net Tools

The two I use the most are Reflector and RegexDesigner.NET but most small .net tools work fine standalone. If there install something into the GAC, you may just copy the files into the Apps bin folder and it should work on the next machine, use File Manager or the command file to do this. I really don't like the fact the .Net is great for xcopy deployment and then most tools come with MSI installers and then just copy 5 files into a single directory (But you don't know that and this black box could do all kinds of things to your machine). A simple zip files with the files is much nicer and feels much safer. The MSI package also leaves an entry in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall which fills up the list of installed software.

Developer Tools

Dependency Walker used to come with the SDK and NT resource kits and even in these .NET days it is still are very valueable to to find out about broken application.

SharpDevelop is a free IDE for .Net languages C#, VB.NET and Boo and works great from a USB drive except that in my case it doesn't seems to remember the location of the code completion database and asked me again to create a new one on every new machine.

.Net Framework

Both the runtime and the SDK have to be installed (no surprise here) but having copies of the setup programs on your USB drive allows you to install them in a few minutes. Usually no reboots but you have to have admin rights. The SDK tools themselves work standalone, so you can copy them onto your USB drive once.

Web Development

Surprisingly many Internet Cafes use the administator user for their customers, so you have all control over the box and can even do web development by installing a web server. If you have XP Pro you can install IIS, I didn't have an XP CD with me and in some countries I couldn't find any Cafes that had one either. So I'm carrying the IIS files from SP2 with me, there are about 6Meg and I just have them on my USB drive. Below is a list with all the files you need.

If you only have an XP home edition you can use the Cassini web server, several different versions are available online.

If you have moved to 2.0 like me, you can use the ASP.Net development web server that comes with any Visual Studio version. It also comes with the 2.0 Framework SDK but that's also 400 MB and you don't want to install either the SDK or Visual Studio on a machine just for an hours work. You actually only need three files to get the web server to work: WebDev.WebServer.EXE, WebDev.WebServer.exe.manifest and WebDev.WebHost.dll. Just copy them into any directory on your USB drive and use them from there. You need to copy them from a box with Visual Studio or the SDK installed. The first two files are in \WINDOWS\Microsoft.NET\Framework\v2.0.50727 the last one is in \Windows\assembly\GAC_32\WebDev.WebHost\8.0.0.0__b03f5f7f11d50a3a\ To get to the last one use cmd.exe because Windows Explorer hides the real GAC content from you. I use a small batch file to start the web server:

start /B \apps\webserver\WebDev.WebServer.EXE /port:80 /path:\mywebsite\wwwroot\

The /B switch of the start command makes sure it doesn't start a new console windows, which would be useless because the server doesn't
output any status or debug messages.

Others

If your favourite apps require some registry settings to work, export them into a .reg file using Regedit.exe. Then create two batch files to add and remove the settings before and after you are using the app of a third party machine. A batch file for setup could look like this:

regedit.exe /i /s app1.reg
regedit.exe /i /s app2hklm.reg
regedit.exe /i /s app2hkcu.reg

and for clean up:

regedit.exe /u /s app1.reg
regedit.exe /u /s app2hklm.reg
regedit.exe /u /s app2hkcu.reg

Most apps use settings in both Local Machine and Current User hives so make sure you export both.

Pages in this section

Categories

ASP.Net | Community | Development | IIS | IT Pro | Security | SQL (Server) | Tools | Web | Work on the road | Windows