Archive for the ‘Linux’ Category

From Madness to Synergy

Wednesday, October 24th, 2007

If you’re like me you have multiple machines all running at the same time (check this out to see how you can use some of that aggregate computing power to speed up your compile times). The problem becomes how to use all of those machines effectively. Do you give each machine a mouse, keyboard, and monitor? It works but it slows you down, you’re constantly moving to get to the keyboard and mouse and to see the monitor for another machine. It also requires an enormous amount of desk space. Do you buy a kvm switch and share a single mouse, keyboard, and monitor between the machines? This is somewhat less than ideal. You can’t see what you’re doing on one machine while working on another. There is no real coordination between the machines either. When you factor in the prices for a DVI kvm it really isn’t much cheaper than giving each machine its own accessories. The solution I’ve found is software-based and it is called Synergy.

Synergy allows you to share a single keyboard and mouse among a number of different machines. Those machines don’t even have to be running the same operating system! I have three machines and monitors set up with one for Linux, Windows XP, and Mac OS X. I share one keyboard and mouse among the machines using Synergy. You simply tell it the arrangement of your monitors and it will transfer keyboard and mouse input to another machine seamlessly as you reach the edge of the screen. That in and of itself is fantastic but on top of that Synergy will sync screensavers and, more impressively, will sync clipboards between machines (and operating systems). You read that right, you can copy on one machine (say running Linux) and paste what you copied onto another machine (say running Mac OS X).

For those running Mac OS X or Linux I highly suggest QuickSynergy. It allows you to more easily set up Synergy. For the Windows folks there is no QuickSynergy for you but the official Synergy software is fairly easy to set up.


Wednesday, October 17th, 2007

I often get asked by others how to get started with Linux and the command line when coming from a Windows background. This is typically because I am constantly telling developers they would be more effective if they did so. While this commonly happens, I still struggle to answer this question. Linux is not something I can easily recommend to someone with only Windows experience. Certainly, live CDs like Knoppix and distros like Ubuntu are slowly changing that but I still feel uncomfortable recommending jumping right into Linux. I simply do not want to be responsible for setting someone up for a bad experience with Linux.

That brings us to the point of this post: Cygwin. From the site: “Cygwin is a Linux-like environment for Windows.” Think of it as a way to get your feet wet with Linux without leaving your comfortable Windows. Training wheels, if you will. It will introduce you to most of the tools you’ll find at the command line under Linux and allow you to give them a test drive risk free. If you’re a developer who has only ever worked with tools on Windows, I can not fully express how much Cygwin can change your life and work for the better. I will openly admit that it will be work to become proficient at the command line but the productivity gains are definitely worth it.