We've moved!

TechKnack.blogspot.com has officially moved to TechKnack.net. You should be redirected in 3-5 seconds. Thank you.

August 20, 2007

Your Life on a Stick

Add this post to Del.icio.us. Del.icio.us (0 saved)

College courses that involve essays, reports, presentations, and other communications-related assignments -- most of them, that is -- make flash drives essential, especially if you don't own your own computer/laptop. And even if you do have your own little workstation, a portable flash drive is very handy for accessing the campus printers.

But those little storage devices can store more than documents. Duh.

I'm working on getting a business running where I basically come to your computer and clean it. Take out the trash, clean up the spyware, spank the viruses, polish the CPU. Kinda like Geek Squad. Anyway. In this business there are a few essential programs that I will be using, but it'll get very old very quickly if I have to download each and every one to my client's computer to run it. Not to mention it'll take more of their disk space, which is NOT a good thing. One alternative is to lug my laptop around to each person, setup a local file sharing network (somehow) and work on their drive from my comp.

No, thank you.

My solution: portable apps on a 1-gig flash drive. There are LOTS of programs that work from a flash drive, many of them free.

However, in choosing programs for your flash drive, you have to keep a few things in mind.

Size: Programs, along with all their add-on dll files and lengthy EULAs, can take up a good chunk of drive space. And with flash drives, you are limited to the drive's capacity. So, obviously enough, the smaller the better.

Storage methods: How does the app store information? Most programs use files, but way too many programs use the Windows Registry. This is a BIG no-no for portable apps. On one hand your registry settings won't be available on another person's computer, and on the other hand you don't want to inadvertently edit your client's registry. As such, you want to make sure any program you bring won't make registry changes.

Relative path support: Life on a flash drive means never knowing what drive letter you'll be assigned. Therefore your programs have to be able to cope with changing letters, and they can't be using absolute paths.

So here's what my life-on-a-stick currently looks like:

Dock: With many programs come many directories. My file structure is pretty deep. As such, I don't want to go hunting for my apps with my client's Windows Explorer. So I downloaded RKLauncher. Yes, you could probably go with another dock program, or even a floating menu app, but I prefer RKL because 1) it's a dock, and I like docks, 2) it supports both ObjectDock and Yz Dock docklets (don't worry if that didn't make sense), 3) it's a standalone executable, 4) it supports relative paths, meaning it can find my programs even when my flash drive's letter changes, and 5) it's FREE!!! Free is very important to me.
Total size of RKLauncher + Dock Icons for all my apps + the following docklet: 3.24MB

Menu Docklet: When traveling, you can't be sure what resolution the computer you visit will be working with, and you don't often want to mess with the settings (if you can). As such, your traveling dock will ideally be as small as possible. Enter the menu docklet, KKMenu. It's not really a docklet anymore, it's a standalone executable, but as such it should work with any dock that supports shortcuts. The download includes a DOC subfolder with a file help.html that gives a rundown of how to use the program, along with a couple of menu skins. In my installation, I've deleted the DOC folder all but one skin (one INI file and one PNG file), and all extraneous files (everything in the root docklet folder other than kkmenu.exe and kkmenueditor.exe). My RKLauncher has 4 links to KKMenu, one for each category Internet, Utilities, Security, and Office. Put together with the two links to local copies of Windows Explorer and Task Manager, it's a very small dock.


Internet Browsing: Yes, chances are any computer I walk up to these days will have high-speed internet connected to a browser of the owner's choice -- but I'm not the owner, and their choice may not be mine. I prefer FireFox (along with my choice of skins and extensions), so I downloaded FireFox Portable. The owner has even kindly put up instructions for copying your current FireFox settings for use under the portable version. Must-have extensions I take with me include DownThemAll!, SearchBar Autosizer, Cooliris, and PDF Download for use with Foxit Reader (more later), but it doesn't yet support relative paths :(
Of course, since space is limited, you want to set some settings that prevent FFP from using more than it absolutely needs. Mainly this means turning off cookies, disk cache, and history.
Total file size of FFP, extensions, and one theme: 26.4MB Edit: I talked with the author of PDF Download, and we managed to get relative paths working ^_^ In order to do this, open the PDFD options. Under the "General", select "Open PDF". Under the "PDF Opening" tab, select "Use this viewer:". In the text field to the right, put the relative path to your PDF reader executable, starting at the directory where FFP starts. This method uses a lot of "dot-dot" directory specifications ("../", meaning "one directory up"), but it is also set-and-forget; once you find the right path, you don't have to modify it again (unless you're switching PDF viewers).

Email: While it's true that most email services have a web interface, I prefer a program that brings all my accounts to the same place. Enter ThunderBird Portable. Along with the Webmail Extension, it can bring just about any account type to the desktop. And, of course, you'll have to explore the settings to reduce disk writing to a bare minimum.
Total size of TBP and two extensions: 27.6MB


Advanced Text Editing: A good program that works like Notepad and has a little extra kick is Notepad++, but for flash drives go with Notepad++ Portable.
Total size: 2.25MB

File Compression: Let's face it: the ZIP compression format stinks. For all the other formats, the best program out there is 7-Zip, with a portable version. Supports almost every compression format out there.
Total size: 2.08MB

SSH Client: My college career involves a lot of work on Linux computers through SSH clients. All I did here was copy over the SshClient.exe file from my local SSH installation, and it seems to work fine.
Total size: 3.07MB
There is also a portable PuTTY, if that's your app of choice.

Lightweight PDF Viewer: Down with bulky Adobe Reader, long live Foxit Reader! Download and extract the ZIP file from Foxit's site, and you have a standalone, lightweight PDF viewer!
Total size: 3.85MB

Other utilities: I have a few other small programs that might come in handy. These are Process Explorer (a bulked-up Task Manager), TightVNC Viewer (viewer executable only, along with a personalized build of UltraVNC Single Click, though I haven't tried the combo yet), FolderSize, and a small program that creates a System Restore Point (edits the registry, yes, but in this case you want it to ;) ).
Total size of all four apps: 4.91MB


Antivirus: My app of choice for antivirus is actually AVG Free, but I haven't yet figured out how to run it from a flash drive. Until then, I will use ClamWin Portable.

Antispyware/malware: At the moment, my spyware apps include only files copied over from local installations of Ad-Aware SE and Spybot SD. I have NOT tested these for registry modification yet, however!

My portable office suite is OpenOffice.org Portable. Unfortunately, the installation program doesn't let you choose which parts to install, and there's really not much you can remove to save space. I've managed to slim my install down to 76MB total, but it's still bigger than I like, when I'll only occasionally use Writer and Calc.
Total size: 76MB slimmed, 181MB full install

Last, but not least, I have two files on the root of my flash drive: an autorun.inf and an rklauncher.bat. The autorun.inf is setup to automatically run RKLauncher (setup with some help from lazycoder.com). The rklauncher.bat file is essentially a shortcut in the case that autorun doesn't autorun. With flash drives (and, therefore, changing drive letters), file shortcuts don't work, so simple windows batch scripts have to be used instead (setup with a template found on a fatwallet.com post -- be sure to use relative paths!).

Altogether, my 1GB flash drive shows 225MB used space, 747MB free space. Plenty of free space for any documents or relatively small downloads I may want to grab :)

Other sites for portable apps:
portableapps.com has a wide range of programs specifically built to be run from a flash drive.
That fatwallet.com post also has an exhaustive list of programs that can run from your flash drive.


Anonymous said...

were you able to get relative ?shortcuts on rklauncher to work

EterniCode said...

I was able to get relative paths in RKLauncher to work, though the only relative shortcuts I have all point to the KKMenu program. And the links from KKMenu are relative, as well.

Not exactly sure how I did it, but I think I made the shortcut with arguments in the normal way, then edited RKL's itemlist.conf file to remove the drive letter from each entry. For example, on of my [RKDockItem] sections looks like this:

type = shortcut
name = Internet Apps
icon = icons/internet.png
link = \Programs\RKLauncher\docklets\kkmenu\KkMenu.exe
arguments = KkInternet.ini KkSkinMenuShadow.ini 0
show = normal
sameInstance = 1

The "link" section here actually uses a form of absolute path; the beginning backslash says "begin at the current drive's root". So if the drive letter were G:\, the program activated would be G:\Programs\RKLauncher\docklets\kkmenu\KkMenu.exe.

I can't remember how I got the kkmenu relative paths working, but I have the feeling it involved editing kkmenu's configuration files after setting up the menu with kkmenueditor.exe