Thursday 12 July 2012

The Latest Arrival

Under the hood


Well I finally gave in.  I have not enjoyed a book like this in a while, my brain was just soaking up the knowledge like a sponge last night when trying the Kindle sample. Yup I have gone and done it and got the Windows Internals book.


I just love knowing what goes on under the hood as it were. I have a good understanding of Windows internals from studying the Win32 API and COM fundamentals in the late 1990s early 2000s but this will give a good up to date look into how it all hangs together.

I went for the fifth edition mainly because the sixth is split into two parts and is not that much of an incremental change (6.0 to 6.1 of Windows). Plus the second half of the sixth edition is not out yet and this covers bits I am particularly interested in, that and Server 2012 is on the horizon too so guessing I will go and become one with the couch shortly.

Monday 9 July 2012

User Interface Reading

"X marks the spot"


Learning how to read a user interface, or at least trying to actively see the interface you are using rather than accepting blindly "I click on this button and X happens..." is a good skill to develop.

What do I mean by actively seeing the interface?  Actively seeing is the act of trying to understand why the particular user interface, you are using to do your given administrative task, is designed the way it is and also inferring relationships and meanings from groupings or hierarchies as displayed.

For example on a given tree node snapin such as Computer Management (compmgmt.msc) we see a logical grouping of nodes :

The trick here is thinking to yourself why these nodes are arranged as such, the benefit is if another node is added, say Microsoft Message Queuing (MSMQ) you should have a good idea where to find the added node (Services and Applications for the unfamiliar).  It also allows you to collapse and ignore the items not relevant to your task.

But the basic thrust of what I am trying to get at is a user interface designer, hopefully, sat down and thought out this design and relationships and did so for a reason.  Once you learn to read the interface like a pro, coming into a new possibly unfamiliar layout these skills will allow you to orientate yourself quickly and look like the uber admin you always wanted to be.

Lets take a more complex example, the Exchange 2007/2010 Exchange Management Console (EMC) interface :


Now the initial reaction of a lot of administrators coming from the old Exchange System Manager is that they have repeated the nodes a few times, "Huh, there are two Hub Transport options, what gives?" etc...

The trick again here is to think why (always why).  In this case it is to allow tasks at different levels to be performed or even delegated.  One set of nodes allow you to perform actions that affect the entire Exchange organisation (Transport Rules for example) and one allows you to manage the Connectors for a given Hub Transport role.  Same for mailbox, one allows you to (in Exchange 2010) manage the Database Access Group (DAG) on that abstract level, the other allows you to manage the individual databases making up the smoke and mirrors that is the DAG to users.

This design also allows for the separation of roles and their installation to separate servers, pretty flexible, huh?  Even with the brief explanation above it is a good idea to sit down and have a think, especially if you interact with the EMC on a daily basis, it will give you a hopefully deeper understanding of how Exchange works and how the architecture of this system has changed in the newer versions.

Not all designs are great though, take the delete and refresh buttons on Disk Management :


I don't know about you but for me those buttons are way too close together for my liking.  The thing to take from this is again active seeing, make sure you are not clicking wildly on buttons and just OK-ing dialog boxes or you may have an interesting night trying to rescue a server...