Tuesday, December 8, 2009

Random system utilities I like to use for Windows

Here's just a few of the random utilities I like to use for maintaining and working with my computers:

  • Synergy - great for sharing keyboard/mouse and controlling one computer with another. This is great, for example, when you have 2 laptops (or desktops) and you want to be able to work both of them with a single computer.
  • JkDefrag - very simplistic but effective disk defragmenter
  • PING - Gnu drive imaging software. Seems good for creating a restoreable image of a drive, although I've had some issues restoring it to a slightly different drive configuration (for example backing up /dev/sda then restoring to another computer /dev/hda). Linux based.
  • DriveImage XML - Window (free) drive imager. Recommended by a friend.
  • Screen Hunter - a simple (free) screen capture utility. I actually prefer the older version (4.x) instead of the new 5.x version. (Wisdom Soft)
  • SysInternals - great set of windows utilities for looking at what is going on in a PC
    • Process Explorer - good replacement for task manager that displays a lot more information about the running processes. Shows I/O speed as well.
    • File Monitor - great utility for monitoring file and registry access, very useful for determining why things are failing at times.
  • NetMeter - simple bar graph of network bandwidth upload/download that you are using.
  • PuTTY - great SSH/Telnet client with good key handling capabilities. PuTTY Agent is great for caching passwords and keys for login and tunneling.
  • XMing - easy to install PC X Window server
  • TrueCrypt - encryption utility for creating encrypted drives. Can either be file-based or device-based.
  • KeyPass - great password database. Available for blackberry as well.
  • 7Zip - free and generally good ZIP utility that handles most things.
  • Trillian (Pro) - instant messaging for almost everything. AIM, Yahoo, etc. The Pro version has a Jabber client that works with Google Talk and others.
  • Windows Powershell - a much better shell program than "CMD." Allows good shell programming as well as direct interface to C# code.
  • Console (sourceforge) - a more flexible "shell" window that can start up either CMD or a Cygwin BASH shell (among others)
  • Cygwin - unix utilities for PC. Pretty versatile and makes most unix things work.
  • TortoiseSVN - a development tool, actually. Excellent Subversion client.
  • CutePDF - a free PDF print driver that allows you to print to PDF.
  • VMWare Player - allow you to play pre-constructed virtual machines on your computer
  • VMWare Converter - allow you to create a virtualized image of a running computer
  • VirtualBox - slightly less "full featured" than VMware player, but Free and has versions that run on lots of different platforms. This has been my preferred VM platform on my laptop for quite a while. 
  • GPG (Gnu Privacy Guard) - free PGP-compatible encryption and certificate routines
  • PS Pad - free text editor that is good at editing most stuff.
  • OTHER - Text Pad - another popular (free) editor that people use 
  • OTHER - jEdit - yet another popular programmers editor (haven't used it). Recommended because it can do SFTP (ssh) file save/load. (Pure Java, so it works on Unix too). DOG SLOW to start up.
  • WinDirStat - good utility for showing disk space usage in graphical and textual form. Figure out what files and directories are taking up all your space.


I'm sure there are others. I'll continue trying to edit and add them over time.

Friday, December 4, 2009

Why can't I standby with a full drive encrypted laptop?

I've got a Dell Latitude e6400. It's got one of those nifty FDE (full drive encryption) hard disks that automatically encrypts everything on it. Every time I power up, I have to enter a username/password to unlock the drive before the computer can read or write anything too it.

The problem is that it seems to have forced me to disable 'standby' mode and always use 'hibernate' mode with Windows. I'm told that this is because the BIOS is only invoked for the FDE password on powerup mode for hibernate or cold boot, not for standby. I know for a fact that my old Dell D620 laptop used a hard drive password and always asked me for it before I resumed from standby, so I'm skeptical as to why the FDE drive requires it.

We use wave.com trusted drive software embedded in the BIOS of the e6400. According to this link:

http://www.wave.com/news/press_archive/08/081110_Seagate.asp

they DO actually support secure Windows Standby mode, but who knows what that actually means or whether it relates to the platforms that we are using. It does mention some comments about 'vulnerability of FDE and exposing encryption keys.' Based on that, I suspect there are issues related to encryption keys staying in memory during standby mode that could theoretically be stolen.

My biggest complaint is always 'security for the sake of security' without really understanding what the threats and/or risks are. Basically: do you know who you are protecting against? FDE and even hard drive passwords protect against removing a drive from one computer and using another computer to read it the data. Assuming standby mode works properly, you should still be able to protect the drive in low-power mode simply by ensuring that the computer comes up locked and requiring a user password when it awakens. I admit the possibility that there are some sophisticated software attacks that can be used against the live machine (assuming it is stolen while in standby mode), but I haven't searched for any. I imagine it's a fairly sophisticated attack and will NOT include the casual thief who steals your laptop and sells the drive ebay to Joe Dumass.

Questions to answer:
  • What are the threats against FDE and standby mode?
  • What are the threats against standby mode, in general?

Replicating/importing one subversion repository to another

I recently had need of replicating one directory in a subversion repository into a different repository. I wanted to import the entire change history of a small Java application I had built into another repository to give access to others. I found a neat little utility that did it:

  • svn2svn - http://code.google.com/p/svn2svn/wiki/intro
It's a python script that checks out each element of the change history of one URL and checks it back into a second URL. It worked simply and quite well.

Other options include using SVK and "Tailor" (http://progetti.arstecnica.it/tailor/)

Thursday, December 3, 2009

Checkout SVN project with subclipse

To beging working on an Eclipse project that is stored in Subversion, do the following:

  • File > New > Project ...
  • Checkout from SVN
  • Choose "Select/Create Location"
  • Enter URL of repository/directory, "Next >"
  • Use tree display to pick project directory where ".settings" root of the source tree exists, "Next >"
  • Enter project information (Project name, workspace location, allow local obstructions)
  • "Finish" to allow it to check everything out.
That's it. Easy as pie.