Code On The Road? Work Portability Review

|

I’m a work from home software engineer and occasionally I have need to go on-site to work directly with a client. This of course isn’t anything new. However, I do not use a laptop exclusively for my computing needs. I have a desktop computer which I use on a regular basis and then a not so powerful laptop that I carry when traveling. This is a list of the tools that I use to help me remain productive on the road with a minimum of headaches.

Taking Your Stuff

SanDisk 4 GB Cruzer Micro with U3 – Of course we all know about these handy little devices by now don’t we? Thumb drives! They are small, convenient and at this current day they are oh so very cheap. I bought this model which you can’t really beat for under $50 out of pocket. This is 4 gigabytes of storage that you can fit in your pocket. It comes with a lanyard that you can throw around your neck if you prefer and then the drive has a quick release mechanism to detach just the drive. That way you don’t mess up your pretty hair taking the chord off your head.

Another great feature of the newer breed of thumb drives is the U3 Smart Technology. This allows the thumb drive to register itself as an autorun disk/CD drive on insertion and automatically run programs that you configure. It provides a system tray icon with a menu system that provides quick access to your applications. Plus there is also now a growing number of portable applications that are built to run from your thumb drive using this U3 technology. That way you can use your applications on whatever Windows computer you happen to be sitting in front of. My particular drive had an option to launch a browser right from the thumb drive and look for new U3 applications. Once I found some that I liked I had the option to download and install right there and they were good to go.

Accessing Remote Stuff

You may be nothing like me, but I need to access information (files mostly) on remote servers. This could be via FTP, SFTP or SSH. It’s nice to be able to have these access methods with you on the road as well.

  • FileZilla (for U3) – This is a great FTP client that I have started using for this purpose. The first link here will lead you to the SourceForge page where you can download and install a version for your desktop, but the second link leads you to a U3 version in the online directory. Nice. The thing I like about this software is that it handles both FTP and SFTP, which is Secure FTP or File Transfer over SSH.
  • PuTTY – This is a remote access console or shell utility that allows you to login to remote servers via Telnet, SSH(SSH-1 and SSH-2), Rlogin, and RAW connections. I don’t really suggest this as an everyday remote access shell but I list it here for it’s utility as being on the U3 drive. I keep it on mine just in case I happen to be in front of a foreign computer… hey look at that! I have a remote shell at my disposal (muahahaha).
  • cygwin – I list this here only because bundled with it is the OpenSSL package which includes ssh and sftp. These are actually the tools that I use on a regular basis to access my remote servers. You can even run a local X-Windows server and tunnel your remote X-Windows sessions through to your local instance. What’s that mean? It means you can run GUI applications from the remote server on your local machine sort of like VNC, only the window will appear to be just like one of the other windows on your desktop. Cool, eh? Any linux/unix geeks out there? Well, then you already know about cygwin don’t you. No! Then go get it. It’s a full-blown linux environment on top of Windows and I never run any PC without. Period. vi … nuff said.

Logging Into Your Stuff

I am a RoboForm disciple. Why? Because this software rocks! I hatched an idea a year back to write a program to do this very thing, manage passwords, because I was keeping all of mine in a text file in My Documents… not too secure. So I downloaded the trial of this program to do market research a.k.a. rip off ideas. A week later I bought the program. In fact I bought two licenses. I have one license for my desktop and one for their RoboForm2Go product which runs from a U3 thumb drive… hey imagine that! What’s so great about it?

  • I have a gazillion passwords at a gazillion different websites. This keeps them all in one tidy place under one nice password that I can remember.
  • I can synchronize the passwords from my desktop to my thumb drive before a business trip so I have all my passwords with me.
  • This program can even import all of your bookmarks or favorites from your browser. Now I have all of my websites on the road too!
  • Browser integration with all popular browsers means one click login.
  • You can create secure notes of whatever you want to write and they will be encrypted along with all of your other secure information.
  • It can keep track of credit card and bank account information if you want it too. This is handy because I can have all my CC info on the road and not actually carry all of my cards with me. If I need to do an online purchase I have the information, including the security codes on the back. I only carry the cards I need.
  • Keep all of your personal information (name, address, email, etc) to ease the pain of filling out long forms. Get to a form with this type of info and click the button… BAM! Done.
  • Use it’s password generator to create strong passwords that are hard to guess.
  • The list goes on and on and on …

So you see? I am a true disciple of the RoboForm. If only they had an affiliate program! 🙁

Keep In Touch With Your Peeps About Stuff

Of course you’ll need to stay in touch while you’re on the road. Here are some portable applications to help you along that path as well.

  • Mozilla Thunderbird for U3 – I don’t actually use this on the road, but I thought I’d list it since it is one of the more popular email clients. When I’m on the road I use my webmail client which connects to my IMAP server. That way I have all my email right there at my disposal (all the way back to 1998 believe it or not… except for a few minor losses).
  • Trillian for U3 – What would modern day be without IM? I personally use Trillian from Cerulean Studios. It combines all of the major IM protocols into one simple interface so I don’t need to run multiple clients. That’s a good thing! The only down side is you have to manually synchronize your settings from your home pc to your U3 drive after installing, which isn’t very intuitive.

As you can see there are many ways to keep you productive (and non-productive) on the road. Check out the U3 Software Central to get an idea of the vast number of software options at your disposal, many of them free.

Coding Your Stuff

Ok, this category is here only because I’m a coder (translation = software engineer, computer programmer, lead developer, take your pick).

  • Notepad++ – This is another one of those utilities that I’m pretty adamant about. It’s a notepad.exe replacement that I absolutely cannot live without. There are plenty of them out there that are good, but I just like this one. Sure it has some areas that could be improved. If you don’t like it, go find one you do like. The point is, notepad sucks! This replacement has line numbering, syntax highlighting, regular expression search and replace, macros, and a crap load of neat TextFX functions including Base64 Decode, word count, leading space to tabs or tabs to spaces, etc. Plus it allows you to have multiple files open at one time with a tabbed interface to switch between files and you can have multi-views to compare files side by side. Needless to say, this editor puts the old notepad to shame.
  • cygwin – You ever get deja vu? Well, you’re not having it now. I listed this one before. This is the full-blown linux environment on Windows… remember? That’s right, you can decide to download and install gcc and gdb and make and autoconf and all of those other nifty coding tools that you knew and loved on unix/linux. Of course when you compile these they become Win32 binaries… pretty neat. The downside is that they require the cygwin runtime dll to operate but that’s not really that big a deal. The biggest thing I use this for in my development… nope not compiling code. Creating code. That’s right. Remember our good friends awk/sed and let’s not forget perl? These are some awesome text processing tools and I use them all the time to take a list of X and turn it into a JavaBean with Gets/Sets and all the cream filling in the middle. If there’s one thing I learned from my eighth grade algebra teacher it’s, “work smarter not harder.”

Who said the best things in life aren’t free? The following don’t really have much applicability to work portability, but they comprise the code editors that I currently use so I thought I’d list them as a reference. Plus they’re all free.

  • NetBeans – From the creators of the Java language itself, here is the NetBeans IDE. I wasn’t really impressed with earlier versions of this software but since version 5 this has really become a viable solution for developing Java software for the web or the desktop. I use it mainly in the web development arena though.
  • EclipseEclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. All I have to say is the Eclipse platform creates some of the prettiest Java desktop applications that I’ve seen to date. The debugging environment is second to none in my humble opinion. The only problem I foresee is that the learning curve to actually become productive with this IDE is quite steep.
  • jEdit – This is the Java editor I’ve used the longest. It is a very simple text based java editor with no frills. The name of the game here is extensibility. It has a very easy to learn plugin API and so there are quite a few very good plugins that you can download and use that do numerous tasks for you. Some modify the environment, some modify your code, some automate your tasks, you name it. I wouldn’t go too crazy on the plugins though as the editor becomes a bit sluggish when you have too many of them installed.

Version Control For Your Stuff

Finally, a word about safe coding. Are you coding without proper protection? I’m talking about version control.

  • Subversion – This is the version control software that I currently use and love. Runs on linux and Windows. All the pluses of CVS and VSS with none of the headaches. The thing I love about it is how easy it is to use and administer.
  • Subclipse – Since we’re coding in Eclipse we might as well have a plugin for our source control system, right?
  • TortoiseSVN – Finally to top it off this is a GREAT utility to have. It adds Windows Shell extensions so that you have subversion commands in your context menu right inside Windows Explorer. Now I just go to my project folder, wherever it is on my hard drive. I can see an icon on the folder that shows me whether or not the source is out of sync with subversion. I can right click on the folder and perform any number of subversion commands (compare with repository, commit, update, etc.). Again the key here is ease of use.

Conclusion

So that’s the roundup. If you have need to code on the road or even just stay in touch then there is no reason you cannot do so. I truly hope I have given you some ideas of the tools available to you.

How did I do? Do you have any suggestions that I may have left out? I’d love to hear about them in the comments section below. Thanks for taking the time to stop by.