Looking for a remote web / back-end engineer?
You should check out my resume (PDF) and give me a call.

Synergy is the Bee's-Knees

Many of us “power users”, especially web developers, have multiple computers on our desks. I have the mac, the linux box, and the windows box. There are good reasons for each, not the least of which is testing browser compatibility. But, Synergy is what makes it not only not-annoying, but freaking cool.

You see my single sweet Kinesis keyboard and funky ergo mouse (neither of which anyone else can successfully use) controls everything. It starts out on the Linux box (on my right, and as i move it left swings over onto the Mac laptop (in the middle, on a pedestal of cool geek books), and as it continues left ends up on the Windows box. The clipboard follows the mouse too (at least it does if you’ve copied text onto it), so I can copy an URL (or whatever) on Windows, mouse right and paste it on the Mac, mouse a little farther and paste it on the Linux box.

I’d happily pay $50 for this app, but it’s totally open source and free (although, I actually did just donate $50 to them). It’s trivial to install on windows and on mac and linux it only requires editing a simple configuration file.

Caveat emptor: if you’ve got heavy network traffic on one of the boxes it may slow down it’s ability to receive mouse and keyboard input from the master computer, similar problem for heavy CPU usage. Also holding down arrow keys when the information is being piped to computers other than the master isn’t the greatest. The keyboard, in that edge case, is talking to the main comp faster than it can send the commands over the network.

Bonus: when I take my mac laptop home at night (disconnecting from work network, obviously) I don’t have to do anything, and when I reconnect to the work network the next day, I still don’t have to do anything. It just automatically detects the main synergy box again and reconnects.

P.S. It should be noted that synergy doesn’t encrypt your keystrokes between computers but it’s easy to do with ssh and you shouldn’t be running it over untrusted networks anyway. I mean, all the computers are going to be on the same LAN and you’d rarely want to set this up for something you’re not going to be using day after day.

[Update] Just discovered a particular coolness. If, my mac (in the middle) isn’t connected, the mouse will travel from the linux (right) to the windows (left) without issue even though my config files only talk about the windows monitor’s positioning relative to the mac’s. A very nice little touch guys.