Keeping files in sync with Dropbox

Dropbox logoWhen you use more than one computer on a daily basis, keeping files in sync between them is a constant problem. I'm familiar with tools like Subversion and Mercurial that make it relatively easy to keep code in sync between machines, but these require explicit actions that I often want to control. When it comes to photos, office documents, and other binary files that I don't want to actively manage these developer tools just get in my way. Thankfully a Y Combinator startup called Dropbox is trying to solve this problem and doing a pretty good job at it.

Dropbox is very simple to use. Just drop a file in a folder and it'll be uploaded to the central server. If your other computer is connected to Dropbox it'll be updated with the file almost im­me­di­ate­ly. It is worth noting that these updates are almost instant, even for large files. Whilst a sync tool like this is all very simple in theory, the execution is near flawless. I've tried out other tools in the past and none of them had seen the attention to detail that the Dropbox team made for their ap­pli­ca­tion. It get's better when you discover that Dropbox works just as well across Windows, Mac, and Linux.

I'm just about to shell out for one of their paid accounts so that I can keep my photos in sync between my Mac and Windows desktop. I'll post an update on my experience in a couple of months. I'm sure I'll try out some of the neat tricks detailed on their wiki.

Tagged with dropbox, sync and synchronization.

Get fast computers for your developers

I've just been through an office move at a client site and packing it up got me thinking about the choices that companies make for their staff when it comes to computer hardware. Most users can benefit in some way from having faster computers, with bigger screens, and better input pe­riph­er­als. Cor­po­ra­tions have a tendency to make con­ser­v­a­tive choices and to pay above the market price for standard hardware. Whilst frus­trat­ing for normal users, this is an absolute per­for­mance killer for developers like me.

Compare the spec­i­fi­ca­tions of my home machine to my work computer:

Home Work
2.4 GHZ Quad Core CPU (Intel Q6600) 2.0 GHZ Core Duo CPU
8 GB RAM 2 GB RAM
150 GB 10,000 RPM boot drive and several 1 TB 7,200 storage drives 160 GB 5,400 RPM boot drive
NVidia DirectX 10 graphics card Intel discrete graphic card
Dual 24 inch TFT monitors 17 inch monitor
Windows Vista without Antivirus Windows 2000 with Antivirus and other security tools.

My home con­fig­u­ra­tion can be purchased for around $1200 today, and is many times more powerful than the work con­fig­u­ra­tion. The ability to run multiple virtual machines as if they are real desktops gives a fantastic boost to my developer pro­duc­tiv­i­ty. The screen real estate is beneficial for rapidly updating web pages, and the fast hard drives ensures that Windows keeps up with what I'm doing.

Since I don't run Antivirus at home I run as a user without ad­min­is­tra­tive rights. If I need to test out new pieces of software from the Internet I use a Windows XP Virtual Machine running Windows OneCare Antivirus. Removing the per­for­mance overhead of antivirus means that I get the most per­for­mance out of my hardware whilst still staying safe. Did you know that simply running Windows with a standard user account can eliminate the threat of most Windows malware?

My advice to anyone buying hardware for de­vel­op­ment use is to buy the best performing hardware you can afford. Don't focus on any single component as skipping a dual screen con­fig­u­ra­tion is not worth the price of a faster processor.

Tagged with antivirus, computer, directx, intel, nvidia and vista.

Essential Utility: htop

Screenshot of htop in action.I've been rebuilding my Dell PowerEdge 830 server after a meltdown last week. This time I decided to go with Ubuntu Server 8.10 as the base operating system with Windows running under VMware Server 2.0.

Since this is a pretty small server, I'm always checking up on resource usage and top is a useful tool for this purpose. I find that I'd like to take actions based on what is happening in top and need to keep another shell open to issue commands. Wouldn't it be nice if there was a better version of top, that acted a little like the Windows Task Manager?

On Linux, there is an improved version of this tool called htop. This offers colour coding, CPU meters, and other nice things through the shell. Go check it out if you run Linux servers.

Tagged with dell, htop, linux, server and ubuntu.

« Older Posts Newer Posts »