Morning Doughnuts 1

Introduction

While Harry is out of the office on a well deserved vacation with his family I will be acting as a guest blogger for his website.

My name is Dale Churchward and I have been working at in Microsoft IT as an application architect since June 2006. Prior to coming to MS I worked in operations in both the telecommunications and healthcare industries. As Harry pointed out I tend to be very operations focused. While I love working on new technologies I am keenly interested in how a design will work in production, and try to ensure we have considered support considerations as part of our designs. Each member of our team comes in with a different background. This helps us as we are each strong in different areas. I also write to my own blog which can be found here. In my own blog I tend to write on a wide array of subjects, depending on my mood at the time. While Harry is away though, I will be posting on technology areas I am interested in, and staying true to his morning coffee vision, albeit with a slightly different take.

The Doughnuts

  • The Build Master by Vincent Maraia is an excellent book if you are interested in the build process and how to make it as efficient as possible.
  • We had a great meeting with the Patterns & Practices team the other day. Since I am still new to Microsoft it is still a bit overwhelming to meet the authors of documents you have read and used over the years.
  • I recently have been spending some cycles working with System Center Operations Manager 2007. I believe that it provides some excellent tools to monitor and repair a system plus it’s designed to be service focused.
  • Francis Stokes has produced 6 episodes showing what would happen if heaven was being run like a company named God Inc. There are currently 6 episodes. No matter what your belief or lack thereof in a supreme being the videos are hilarious.
  • I have been spending a lot of time thinking about how heartbeat transactions between multiple services should operate. In the drawing below you can see 3 web services and a monitoring one. In the original design the monitoring service was sending heartbeats out to each of the web services to see if they were available. This seem inefficient to me as we really don’t care if the monitoring service can reach the web service. What we need to know is if any dependent web services are able to connect. In the drawing we have a web service residing in the extranet (Web Service 1) that sends data to a web service in the corporate network (Web Service 2). We really don’t care if the monitoring service can talk with web service 2, but we definitely want to know that web service 1 can get there. Once web service 1 realizes that is can’t connect to 2 we then notify the monitoring system so that the owner of web service 2 can take action. Web service 1 still continues sending heartbeats though so that it is aware of when the second web service becomes available again.

A Secret Mission in Uncharted Space

I’m taking some time off, starting tomorrow. I’ll be out all next week. That means that you’ll have to look elsewhere for your daily dose of Morning Coffee. I do have a few posts I’ve been holding back to auto post next week, so you don’t have to go completely DevHawk free. But if something big happens next week, don’t expect any immediate reaction from me.

In addition to various technical blogs, I read a variety of political blogs. Not sure why, but where most of the technical blogs I read are individual voices, political blogs seem to be more group efforts. And even on the individual political blogs, they still have guest posters that come in periodically and when the primary blog owner is on vacation. Since I’ve gotten into the habit of posting every day, I decided I’d try out a guest poster. So in addition to a few auto posted entries, my teammate Dale Churchward will be holding down the fort here at DevHawk in my absence. I’ve linked to Dale’s blog Half My Brain on many occasions, so you should have a passing familiarity with him.

One of the interesting things about having Dale posting here is how different he and I are. I’m a developer at heart but he’s an sysadmin at heart. I code, he scripts. I worry about developer productivity, he worries about management and operations. He carried a pager for ten years, I didn’t. I’m a Democrat and he’s <gasp> a Republican! (At least he’s not a Penguins fan.)

Seriously, one of the things that is great about working with Dale is the vast difference in experience. He’s forgotten more about management and operations than I know (though I am a fast learner) so we make a very good team. Have a good week and be nice to Dale while I’m gone.

Morning Coffee 32

  • As 24 sputters, Lost hits it’s stride. Last nights episode rocked.
  • My old team keeps churning out great stuff. This time, it’s the new Composite Applications site.
  • In a follow up to a post from a couple of weeks ago, Joe McKendrick declares that “Rogue IT is Cool“. In the spirit of rogueness, maybe we get the Rogue Ale guys to whip up some IT themed beers? Service Oriented Stout? Architecture Ale? Programmer’s Porter? (you get the idea)
  • Scott Hanselman provides a detailed look at static analysis in general and NDepend in particular. I hereby coin the acronym YAGTSR, which stands for “Yet Another Great Tool Scott Recommends”.
  • Jeff Atwood thinks we should code smaller. He lists some positive aspects of small code (less bugs, less chance of failure, etc) and links to Bob Koss talking about the negative aspects of big code (harder to understand, harder to reuse, higher likelihood of duplication, etc). OK, I’m down, but where’s the how? I’ve got fairly radical ideas on this subject: regularly throw out your old code and start over. In movie making, there’s this idea that you have to “kill your babies“. Not literally of course, they’re talking about having the willingness to scrap your pet idea, favorite line, coolest shot, etc. for the sake of the bigger picture. I think the same goes for making software.

Morning Coffee 31

  • Architect MVP business news keeps on coming. Today it’s Corillian – the company Scott Hansleman works for – getting acquired by CheckFree.
  • Los Angeles is looking to provide city-wide low-cost (maybe free) wireless access. My father has often suggested that Internet access be treated like other utilities like water and power. Sounds like LA is heading down that path. I wonder if they’re looking at WiMAX?
  • The .NET Micro Framework – which powers the SPOT watch – now has an SDK. For those keeping track, that makes three embedded solution platforms from Microsoft, the Micro FX, Windows CE (which also just shipped a new version) and Windows XP Embedded. (via Larkware)
  • BEA’s Bruce Graham talks somewhat obtusely on a topic I am particularly passionate about: putting more power in business people’s hands to build their own systems. (via Joe McKendrick)
  • Register for the Windows Home Server beta. Also check out the forums, team blog and SuperSite Preview. Looks pretty sweet (via Scott Hansleman)
  • The final version of Live Search for Mobile was released a few days ago. This program rocks. I’m using the Windows Mobile version, but there’s also J2ME version as well. (via Dare Obasanjo)
  • Any lingering interest I had in Ruby vanished yesterday as got to chapter 8 of Windows Powershell in Action. Chapter 8 is called “ScriptBlocks and Objects” and it is specifically about meta-programming. After reading that chapter, PS seems more flexible in this space than Ruby, which is the current industry darling for metaprogramming. For example, in Ruby you can optionally pass a block of code to any method. In PS, you can define a ScriptBlock like any other parameter. That means you can tell from the method signature that the ScriptBlock is used. Or you can define a function that takes multiple ScriptBlock parameters. Much more thought on this is needed.

Morning Coffee 30

  • Wes clued me in that the CodeHTMLer WLWriter plugin does support using the convert whitespace option. The Dialog UI is awful, but if you select “Edit Languages” from the dropdown in the plugin UI, you can set the UsePreTag option to false. While it is an ugly UI (sorry, Wes) it does allow you a lot of control over how the languages render. Not only can you change the settings for an existing language, you can add your own custom language if you want.
  • David Ing has tuned his one man show Taglocity into Terazen Technology Inc. Not sure why Terazen is located in Vancouver, but maybe next time hops the pond for a visit to his new company’s headquarters, he might take a detour a few hours south and ramble on about architecture with a few old friends.
  • My excitement about the new season of 24 is waning quickly. Last night’s two hours episode had so many “oh, come on!” moments that it overwhelmed my ability to suspend belief.
  • If you want to dig in the Connected Services Sandbox, start with this description. I just saw this on Larkware this morning, so I haven’t had time to dig personally, but it does appear related to the Connected Services Framework. And apparently there’s a contest starting in a few weeks.