One issue with this code is that when "somedomain" actually
corresponds to the local machine name (because your are trying to
retrieve the "FullName" of a local account), it can take an extremely
long time to run. This is probably because the underlying framework is
off trying to find a domain controller before falling back to the local
security store.

To work around this, consider code that would look like the following when formulating the directory path:

I had a chance to do a talk on profiling code for Microsoft's "Build Your Skills" event on March 24th in St. Louis (and March 31st in Minneapolis). I mentioned a utility I'd written for cleaning up performance session files that are generated from URLs (so that only DLL/EXE remain.) You can find that here. In addition, you can find the slides here. All sorts of fun details on profiling terminology, types of profiles, resigning assemblies (or turning off assembly verification), etc. I'm hoping to record a screen cast of the talk soon...

Fantastic turnout at both locations, and really great questions - thanks to those who attended!

I'll be giving a talk for Microsoft's "Build Your Skills" event on March 24th in St. Louis (and March 31st in Minneapolis) on the topic of code profiling. We'll look at the profiling tools built into Visual Studio Team System Developer, and a few others to boot. You can get all the details here. There is a whole slate of great talks planned for the day, so register now if you're in the area...

XmlPreProcess is a general purpose tool in its own right for managing configuration files across multiple environments. The tool has pulled in previously separated functionality (the excellent stuff done by Tom) so that it can consume spreadsheets (that describe environment variations) directly, rather than needing a separate process for that. Very slick stuff !

I’m not able to attend the PDC this year, but its been interesting to watch the definition of Oslo take better shape after watching it for a long while.

I was reading Jon Flander’s post on the topic, where he reiterated the “Oslo as language, model repository, and visual editor aka Quadrant” theme. The language, known as “M” – draws this quote from John: “visual models are useful for a certain portion of the developer population, but for the most part developers like to write code, which means text.”

Text is good. I can store text in a version control system, and branch it when needed. I can merge it with well-known tools later on, and compare the differences between versions easily. I can have multiple developers work on it at once with a sane reconciliation process upon check-in.

Even visual models that have a textual representation behind the scenes struggle with these basics…because the text is not first class – it is (often) just a convenient serialization format that is sufficiently opaque for the benefits of text to be lost.

So I’m all for “M”. It will be fun to watch the vision unfold further.

Jeff Brand has tagged me to answer a few questions on how I got started in this business…

I never do anything personal in this space, so this will be a first. Here goes:

How old were you when you started programming?

Ummm, my grandfather supplied us with a TRS-80 Model 1 Level 1 (4k, cassette drive) when I was about 8 years old. It started there, and proceeded through everything Radio Shack had to offer for quite some time. No artsy Commodores/Amigas/Apples at our house…

What was your first language?

BASIC.

What was the first real program you wrote?

Gosh. I tried my hand at writing a basic word processor for the TRS-80 – I think I called it TextStar. I’m sure I lost some school reports as a result. In that general timeframe were some text-based adventure games, too…

What languages have you used since you started programming?

Hmmm. Basic and QuickBasic as a kid. Pascal and Fortran in college. C and C++ in all my early jobs in this field (along with VB6 to test all those COM components...) After that, the only language I’ve approached seriously is C#. (Does BizTalk count?) I dabbled in a lot of other languages, but haven’t done project work, where you learn all the ins and outs…

What was your first professional programming gig?

As a college intern at CyberOptics, writing all kinds of applications for laser and vision-based inspection systems. Very fun stuff, and some of the best mentoring I’ve ever had. And hey, what doesn’t spell fun like writing your WndProcs for Windows 3.0 ?

If you knew then what you know now, would you have started programming?

Certainly! This has been a great industry to be a part of. I had serious dreams of pursuing music as a career at one time, but as David Chappell once said, regardless of what artistic value you might attach to a given gig, you’re really just there to sell beer.

If there is one thing you learned along the way that you would tell new developers, what would it be?

Focus on the practice/art, more so than individual technologies. Realize that the people you work with are the first order function for success, rather than a given technology choice.

What's the most fun you've ever had...programming?

I’ve always had the most fun when I’ve had the opportunity to work with a team that is “long-lived”, small, and dangerously focused.

Often in this industry we work with team sizes (and organizational dynamics) that breed ineffectiveness. It is amazing how much more apt you are to wake up before the alarm when team productivity is at its peek — and “in the zone” becomes normal.

“Error creating UDDI entries... Error 285023” – are you getting this while attempting to get the ESB Guidance up and running?

If your event log has an entry containing “UDDI_ERROR_AUTHTOKENREQUIRED_NOTOKENPUBLISHATTEMPT” chances are you have anonymous authentication enabled for your UDDI virtual directory. Turn it off, and try again. If this isn’t the issue (or you are having other UDDI issues while installing the ESB Guidance) try cranking up logging to “verbose” for the UDDI service itself. (See Administrative tools, UDDI Services, properties on your machine.) There is generally enough context in there to troubleshoot…

I’ll be doing two talks on Team Foundation Server at the upcoming Minnesota Developers Conference (MDC 2007) on August 22nd, 2007. One talk will be on release management (branching strategies, deployment, etc.) and another on options for using Scrum with TFS. Should be a great conference all around – four great tracks and what looks to be a great keynote on BizTalk RFID solutions.

Late notice (again) but if you can…be sure to join us at 6:00 pm on Thursday, September 21st at the local Microsoft office in Bloomington. You can register here.

Scott Colestock (me) will be presenting this month on the topic of relating what you learn during performance testing of a BizTalk application to your operations/monitoring strategy. Should be good fun (really!) and of course we’ll have the usual food and beverages.

I had the pleasure of delivering a short talk at the
Business Process Integration & Workflow Conference last week in
Redmond. The whole conference was great, especially meeting quite a few
folks in person I'd only conversed with via email. Being
notified of MVP status for BizTalk on Friday was a great cap to the week!

Although the sample I presented during my talk isn't quite ready to release,
the slides (on scatter/gather scenarios in BizTalk) can be downloaded
here.

I’ve been involved a bit in getting a local BizTalk user group started – and really looking forward to seeing it get off the ground! The first time we’ll meet is Thursday, September 22nd from 6:00pm – 7:30pm, at the Microsoft offices in Bloomington.

You can expect the focus to be both on present development and operational issues for BizTalk 2004, as well as early hands-on time with BizTalk 2006. Food, beverages, fellow biztalkers…gotta love it.

Unfortunately, I won't be able to make it to the PDC this year...However, a good colleague by the name of Jordan Terrell has put together this great PST file for the PDC with all the sessions as calendar appointments. (Open as a data file in Outlook, and in the Calendar view, you will be able to select a calendar corresponding to each of the conference tracks.)

Will this be the last place on the web that trumpets the BizTalk 2006
beta? Likely not, but I did see it in quite a few places today.

Head to http://beta.microsoft.com with
your passport and 'BizTalkBetaTeam' for a guest ID, and then wait
patiently. (While you're waiting, consider building out a VPC image with
VS2005 beta 2 and, presumably, the latest SQL 2005 bits. SQL 2000
would be fine as well, as BizTalk 2006 will not require SQL 2005.)

This...is going to be a great release. Nothing so revolutionary that you
can't leverage all the skills that you (or your staff) have already
learned. Yet, there are many, many important feature additions and "rough
edges" removed.

Rattling off a few of the new items:

In-order delivery for any adapter that supports it (i.e. MSMQ, MQSeries,
etc.) In 2004, only MSMQ/T supported this. (Of course, a faulty
orchestration can break first-in-first-out - more on that in a later post.)

The introduction of an "Application" concept for grouping BizTalk
assets - which extends to orchestrations, role links, send port groups, send
ports, receive ports, receive locations, policies, schemas, maps,
pipelines, other resources (e.g. soap proxies), you name it!
Just as importantly, the management infrastructure understands applications -
so health/management views can be narrowed down appropriately.

The management infrastructure has been completely encapsulated in an MMC - HAT
is largely hidden. More interesting is that the MMC can manage multiple
BizTalk groups - and can do so remotely (by definition...)

A packaging/deployment solution that looks good - we'll have more to say about
that in the coming weeks! The developer experience in particular looks to
be quite good. Likely still some value-add to be done on the server side.

Do you use the Deployment Framework for BizTalk? Or just have general questions on automating BizTalk deployments? You can attend my session at TechEd 2005 - Friday June 10th, 10:45am to 12:00pm in the BPI Cabana, where I'll be doing a talk on those topics...

I'll also be speaking at the Microsoft DevCon event on my "other favorite" topic, Windows Mobile. The focus will be on what is new for Visual Studio 2005 in the mobile arena...The conference will also be covering the new Team System offerings, ASP.NET 2.0, and quite a few other VS2005 topics. Check it out...