Chinh Do

My Multiple-Monitor Programming Setup

23rd February 2009

My Multiple-Monitor Programming Setup

In my opinion, the top three hardware items that help maximize programmer productivity are sufficient RAM, multiple monitors, and a fast multi-core CPU. For RAM, try to have at least 2GB for Visual Studio development, especially if you have additional applications such as Resharper, a local SQL Server instance, IIS, etc. Remember that on Windows XP or Vista 32-bit, the maximum usable RAM is limited to about 3.2 GB or so.

My current company-provided laptop, which I must perform most programming activities on, is a Core 2 Duo 2.4 Ghz. It is satisfactory for what I am doing. Given the choice however, I would go for a quad-core CPU desktop. Desktop usually has faster drives, better video cards, etc. And the additional cores allow for smooth multitasking and better performance when using virtual machines.

image

Plenty of RAM and multiple fast CPU cores will keep the waiting down to a minimum. Now you need to give yourself the ability to see all of those things that you have going on. Research has demonstrated that multiple monitors increase productivity. For most programmers, I would recommend two monitors. Adding that second monitor is a relatively inexpensive affair. Most laptops or desktop video cards has built-in support for a second monitor so all you have to do is getting that second LCD, which cost very little these days compared to three years ago. The third monitor and beyond is where things start to get complicated. You either have to install a second video card, or use a second PC/laptop in conjunction with a software application named MaxiVista. Unless you have spare monitors sitting around, I think the return on investment starts to diminish greatly beyond two monitors.

Another way to use that third or fourth monitor is to simply attach them to additional computers. Sure, you won’t be able to control all those monitors with the same mouse and keyboard but this setup is not without advantages:

  • When the first computer is rebooting or not responding, you still have a fully functioning computer.
  • The screens on the second computer are not using CPU/memory resources on the first computer.

My 5-Monitor Setup

I work from home most of the time and on my desk, there are five monitors, hooked up to three laptops. I know… it’s over the top but it’s not like I bought all of these laptops/monitors specifically for this setup. The second laptop is my personal laptop. The third one is another old personal laptop that would otherwise would be sitting around gathering dust. I might as well put them all to use. Here’s how the monitors are arranged:

image

The main laptop is hooked up to monitor #1, an ASUS 24″ running at 1920×1080 resolution and monitor #2, the main laptop’s built-in 15.4-inch LCD running at 1680×1050. I spend most of my time on these two monitors. The ASUS 24″ is great for programming/debugging and is where I normally park Visual Studio 2008 or Rational Software Architect. If you can get one with more vertical resolution (such as 1920×1200), that’s even better.

Visual Studio

The extra width on the main monitor allows me to permanently open supporting panes like Solution Explorer that I otherwise would configure to “auto hide”. Note where I have my Start menu: on the right edge of the main monitor. This gives me more vertical space so I can see more code without scrolling. The additional benefits are that more opened windows can fit on the task bar, and that I don’t have to move the mouse as much to access the start menu.

The built-in laptop monitor (#2) is where I have miscellaneous supporting windows such as rolling logs, instant messaging client, email client, documents, etc.

For taking notes, I use Microsoft OneNote and since it’s not installed on my company PC, I use my own laptop for it. This laptop is monitor #3, sitting to the left of the main monitor. Monitors #4 and #5 are used once in a while to display server logs, various server telnet and remote desktop connections, and anything I don’t need to control often.

Update 2/25/2008 – Synergy

Rohan kindly pointed out to me a free keyboard/mouse sharing utility called Synergy. You should give this a try if you have multiple computers on your desk. Synergy lets you use a single keyboard/mouse to control multiple computers, running multiple operating systems. Additional features include clipboard sharing, screen saver, and single password login. The configuration is not the most intuitive but once you have everything set up correctly, it works like a charm.

I now can control all three laptops and 5 monitors with one mouse/keyboard combo! Very nice.

Synergy animation

This entry was posted on Monday, February 23rd, 2009 at 9:24 pm and is filed under Dotnet/.NET - C#, Java, Programming, Software/tools, Technology, Tips. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

There are currently 7 responses to “My Multiple-Monitor Programming Setup”

  1. 1 On February 24th, 2009, Rohan said:

    “Another way to use that third or fourth monitor is to simply attach them to additional computers. Sure, you won’t be able to control all those monitors with the same mouse and keyboard…”

    You should give Synergy (http://synergy2.sourceforge.net/) a try. This app lets you link up multiple systems running multiple operating systems and control them using one mouse and keyboard. I’m currently using it across 6 monitors and 4 systems (WinXP laptop, dual monitor Win2K8 desktop, dual monitor WinVista desktop and Ubuntu desktop).

  2. 2 On February 24th, 2009, Chinh Do said:

    Rohan: Thanks for the tip re Synergy. I will check it out.

  3. 3 On February 24th, 2009, Chinh Do said:

    Rohan: Synergy works great! I can now share my mouse and keyboard across all five monitors, with clipboard sharing! And I can still use the other keyboards and mice if i want to. Thanks very much for the tip.

  4. 4 On August 14th, 2011, GWeekly[11] = 路慢慢GO,一路上还挺黑的 – 我住包子山 said:

    [...]   工作方面,了解了一些宏观的自动升级方面的设计架构,发现现在代码阅读方面有所提高,不过分关注细节,在了解过程中学到了一些设计的思路;为升级模块的业务层增加一些功能,修改一些bug;网络方面了解了一些验证、登陆等协议有关的接口。整体来看还是很有收获的,目前终于使用两台显示器工作了,两台一模一样的19寸宽屏,用起来比家里的一大一小舒服不少,多显示器确实能提升不少效率,这个哥们就玩的很high,这个Synergy工具看起来很有趣,以后也许用的到。 [...]

  5. 5 On January 29th, 2012, iPhone said:

    Japanese…

    [...]My Multiple-Monitor Programming Setup » Chinh Do[...]…

  6. 6 On April 25th, 2012, Tim Heap said:

    did you manage to get Synergy working with different O/S ?
    I have a windows 7 pc and an ubuntu machine and I never managed to get it working.
    Tim.

  7. 7 On April 25th, 2012, Chinh Do said:

    Tim:

    No I have not tried that. The only linux/ubuntu machines I have are virtual VMWare machines running on Windows boxes.

    I have updated most of my home PCs to Windows 7 64-bit and never got Synergy to work in this new environment.

Leave a Comment

*