Twitter outage
Sunday, March 29, 2009
Twitter has been down for me for about a week or so. Every time I logged in it would say "something is terribly wrong". I tought it was down for everybody - you know twitter :) - until I read Menno's post where he reports about masive tweeting at PyCon. I have just reset my password and everything is right again. Odd.Labels: twitter
Quad Head
Saturday, March 14, 2009
In popular opinion programmer's job is just sitting in front of a computer, each day. It is true it the same sense as life being just eating, each day. But I am not trying to convince anyone here. I want to say that I for one am not sitting in front of just any computer; I am sitting in front of a deathstar control center*! Pictures attached ;).
OK, back from orbit. I have been using this setup at work for over a month now and would like to share my observations. I expect many of you to have reservations as to the added value of additional monitors. You probably think that four monitors can't be bad but likely not much better than two.
It depends on the type of activity. When browsing (reddit, blogs, wikipedia), one monitor is usually enough. But when programming I often wish I had more than four. Traders have long known about the value of using multiple monitors.
The reason it is so good for programming is that the activity requires to keep millions of things in the head at once -- names of variables, functions, classes, third party APIs. You can keep limited amount of things in your head, depending on various factors affecting your concentration like amount of sleep the previous night. You will have to page fault to the rest. And when page faulting requires switching between windows it adds friction. Energy that could have been used on solving problems is wasted.
When pair programming the problem is even more itching. The pilot (the person who has no control of the keyboard) has a high cost of page fault -- he needs to ask the driver to "show the page he needs". This request will probably also disturb the concentration of the driver.
Allocating windows across monitor is crucial. You want to have the information you will need most often readily available. What you don't want is to have two windows to which you need simultaneous access being on the same monitor.
Even with four monitors, you will find that you have more than one window on the same monitor. My average is about 2-3 windows per monitor and 2-3 virtual desktops (don't worry I don't use splits ;). For past month I had one virtual desktop for lunch time, one for spiking an interactive console for Resolver One, and one for main development.
Vista is not really well prepared for 4 monitors; windows appear on different monitors at random. It is not unusual that an application on monitor 4 will popup a dialog on monitor 1. Without some third party tools it would be a chore to manage it all. I use winsplit for moving windows around, vdm for virtual desktops and ultramon for extending the taskbar.
For over a year now I am used to open two separate gvim instances, one for the module under test and one for the unittests of that module. This arrangement fits very well with test driven development, which involves frequent going back and forth between tests and module under test.
* My desktop was named deathstar control center by Jonathan.
Popular
- Beautiful Code: Resolver One
- Debugging memory leaks in IronPython apps
- Why Vim's modes frustrate newbies
- Four-monitor desktop
- xmonad
- Antipattern: static subject to observer map


