Development Environment

Over the years I've been able to create an ideal development environment,with 10 monitors and multiple local machines all controlled from one keyboard and mouse.

Screen real estate is one of the easiest ways to improve productivity so I have several monitors attached to my main development box and more monitors for the other machines.

In my office setup (pictured) I have:

  • 4 Windows computers
  • 1 CentOS Linux computer
  • 10 monitors
  • a single keyboard and mouse
  • copy/paste of clipboard data between machines
  • copy/paste of files between machines

All these computers and monitors appear as one large seamless desktop, providing an extremely flexible and powerful setup.

I have collected great software tools as well, and below are some of the ones I've come to depend on.

Click to enlarge

Favorite Desktop Tools

vimVim Text Editor

One of the oldest editors around, vi was written at a time when keystrokes were the only way to edit text and so it was designed to use keys very efficiently. Over the years, vim has become an extremely powerful editor. It has a steep learning curve so proficiency in vim must be earned but it's worth the effort. Also since vi/vim is the default editor on nearly all Linux distros, knowing this tool really helps with Linux admin.

wingwareWingware Python IDE

A superb IDE optimized to work with Python, the Wing IDE includes an editor that emulates vim/vi key bindings beautifully. It also includes an excellent debugger, and provides support out of the box for such web frameworks as web2py. This website running under web2py is built and maintained with Wing IDE.

visualstudioMicrosoft Visual Studio IDE

A superb IDE and debugger designed to work with .Net languages, this is the tool of choice for creating .Net based applications in C# or VB.NET. there is even a 3rd party add-on tool (ViEmu) to provide vim/vi key bindings within VS.

cygwinCygwin - a Unix Shell on Windows

This tools allows you to work on a Windows computer like it is a Linux box. with access to all of Linux's built-in tools. Especially handy are the bash shell, grep, wget, git, etc.

gitGit,SVN - Source Code Management Tools

Git and SVN both provide an indispensable means of tracking changes to source code and other files. Git is more recent than SVN and has some advantages that make it the more popular choice in open source projects such as those hosted on GitHub.

regexRegex - Regular Expressions

Regular expressions let you find and manipulate patterns in text. Wherever text is read, picked apart or replaced, regular expressions can probably get the job done. Every programmer should be able to use these and experts know them inside out. One of the best technical books I've ever read was 'Mastering Regular Expressions' by Jeffrey Friedl.

tableauTableau Data Visualization Tool

An incredible tool that makes data visualization simple. This tool is as revolutionary in its way as Excel was when it came out. It makes it simple to connect to a wide variety of different data sources and present the data in an attractive and intuitive graphical format.

regexMatPlotLib - Math Plotting Library

This library provides plotting routines to a variety of programming environments, in particular python. These routines make it easy to produce 2D and 3D graphics to show off data features.

roverDesktop Rover - Mouse/Keyboard Sharing Utility

Desktop Rover provides a software solution to sharing a single keyboard and mouse across multiple computers and monitors. Without Desktop Rover I'd have to use an expensive and inconvenient KVM switch. If multiple keyboards and mice are driving you crazy, you need Desktop Rover.

beyondcompareBeyond Compare - File Comparison Utility

Beyond Compare is an invaluable utility that allows you to check for differences between files. It highlights lines that have been added, deleted, or changed and allows you to very quickly see exactly how a file has been altered. It is mostly used on text files, but it's great on image and binary files too.

slickrunSlickRun - Program Launcher

SlickRun is a program launcher which can save you tons of mouse clicks and keystrokes every day. With SlickRun, you build single word 'macros' that allow you to open folders and launch all kinds of tasks very quickly and easily. I use it virtually everytime I launch anything on my computer.

casperCasper - Disk Copying Utility

Casper is a disk copying program which I run it nightly to back up my primary hard drive to my secondary hard drive. If I ever have another hard drive failure, I can be online again within minutes. Also, if I trash my machine with a config change, or screw up during the day, I can pull the files as they were in the morning from the secondary drive. Casper works wonders and gives me great peace of mind.

Search this site or the web:

just this site the whole web

Questions? Feedback?

Email me your comments!