Thursday, October 13, 2011

My Computer

I didn't want to describe my computer until I read this: http://tratt.net/laurie/tech_articles/articles/good_programmers_are_good_sysadmins_are_good_programmers.

First, what I do.  I write code, some of it, everyday.  I administer networks and servers too.

I develop Windows apps, about a hundred thousand lines of C# code so far.  I do ASP.NET apps, more than twenty operational but small web sites.  I do Silverlight too, a LOB one used by two thousand  users.  I have an unmanageable number of Powershell scripts, doing all sorts of funny things which most people would have written a console or Windows app to do, and this is possible because Powershell has full access to the complete .NET Framework class library.  I administer several PCs and about ten servers currently.  I install OS'es with my own two hands from a floppy/CD/DVD/thumbdrive, ie SYSPREP images strictly prohibited, in well over 100 machine instances from DOS 1.1 to Windows Server 2008 R2.  I install SQL Servers too, since version 2005.  There is also the occasional Sharepoint Server which I dislike.  Oh yes, I do Active Directory as well.  I install and operate my own on premise Exchange Server 2010, with one email account, mine.  I build networks.  Right now I am running six in six different locations with five of them using HSDPA for WAN access.  I have Virtual PC on my primary machine with five images, but I seldom switch them on because performance is disappointing.  I monitor about 20 batch jobs daily.

The machine that is with me all the time (meaning at times it could be in the trunk of the car, but always reachable at short notice) is a 17-inch notebook with 1600x900 addressability and displayability.  At three places I frequent, I have a positioned a 1680x1050 monitor.  So for >90% of the time, my notebook is running with a desktop of about 3200x1000 pixels.  I wish for more.

I disagree with Mr Tratt respectfully that a notebook is not powerful enough (instead see why it's an overkill). I also disagree that a notebook is not ergonomically sound.  I have not used a mouse since November 1996.  But I have not yet met another person who can operate a computer (ie access applications, work applications, enter data, manipulate windows, etc) as fast as I can.  Not even anywhere close.  Perhaps my circle of acquaintances is too small.

At any one time, I have 30+ application windows opened on my notebook, partially overlapping one another.  I have three Powershell consoles and two cmd.exe consoles, only one in elevated mode and with a danger red background.  On a busy day my RJ-45 is connected to one (restricted) network, my wi-fi is my route to the Internet, and I have two VPN tunnels to two distant networks.  Typically I have six terminal service (TS) sessions connected to some of my remote computers.  The good thing about TS is that I could be disconnected by a calamity such as an earthquake.  The next time I reconnect I am exactly at the middle of the down motion of the mouse click when I was disrupted.

Another thing, I have not shut down my computer since November 1996, that's when I got my first notebook.  I have upgraded eleven times since, but I have not shut any of the eleven notebooks down for the purpose of shutting it down.  Sure, I have to power it off to do hardware repairs and all that.  But I have not shut it down because I go to bed or drive somewhere or board a plane.  My computer is always on Sleep mode (not Hibernate) when I am on the move.

So, whenever I put my computer out of Sleep, it is exactly where it was previously.  I reboot my notebook once in two to three weeks at the point where it starts to behave weirdly.  I couldn't go longer than that, even with Windows 7.  I detest rebooting, because it would mean having to re-launch all my applications all over again and losing all the keyboard command buffers in my console sessions (I am that lazy).

Do you think I am insane?

Nov 2011 update: My mobile phone is the Samsung Galaxy Note.  It has a 1280x800 display.  This works nicely as all my remote desktops are at 1024x768.  See here why the Note display is a bit small.  See here why mobile computing is different from working on a notebook PC.  With the Note, finally I have the ability to access everything I want to access, anytime, even while not sitting down.  This is cloud computing in its purest form.