.NET Brain Droppings

I'm a Microsoft Certified Architect (MCA)... Feel free to ask me about the program...
INETA Chalk Talk on Thursday at 9:00 am
If you work in the Atlanta area, feel free to stop by the INETA Chalk Talks going on the morning of the MSDN Event.  From 9am in the morning until ???  Myself, Mark Dunn, and Shawn Wildermuth will be answering questions on topics that you pick.

Feel free to stop by.  I'm really looking forward to getting out and meeting everyone in the community.

The talks are this Thursday (Aug 25) at the Regal Cinemas Chamblee theater.

Hope to see you there!

Hi, This is Don's blog speaking...

If you see him, will you let him know that I'm staler than that bag of pretzels sitting on his desk and he needs to get back to blogging.  Especially now that reinforcements have arrived...


The Waiting is Over

I got "Connected" today.  Looking foward to testing not only Vista, but also Longhorn Server (who knows, I may even put FireFox down for a few minutes to give IE7 a run)


Waiting... Waiting... Waiting...
Those of you who know what Microsoft Connect is will understand my plight.  I keep checking that page every hour to see if:
  1. My status goes from Pending to Active
  2. If there are any bits up there for download (though I hear that will be 8/3)
I'm dying here...  I can't wait for this drop.  If it's even halfway solid it'll be installed on every machine I have...

Don Smith shows how everyone should be using VPC Differencing Disks
Don's post on how to leverage differencing disks in Virtual PC is truly enlightening.  I am the worst about creating ad hoc VPC images.  I have one base image with WinXP SP2 and Office on it; anytime I need a new "machine" I copy that base image, run NewSid, and start installing software.  I know this is a waste of drive space (and effort), but I never really thought to much about it.

Well, I have now.  Don does a great job of laying out how he uses his base images combined with differencing disks to support multiple envionments.  This is kick ass stuff.  I'm linking his VPC Model here, but go read the entire thing to get the details.

Excellent whitepaper on Table Partitioning in SQL 005
I understand this whitepaper has been out for about a year now, but I'm just now catching up when it comes to new Yukon features.  Kim Tripp has published an excellent paper that describes when/how/why to use Partitioned Tables in Yukon.  Excellent article!  I've been wondering how the mechanics of this worked since hearing about Kim's rocking demo of Partitioned Tables using a series of USB keys.  Great stuff, you can check out that .NET rocks episode here.

[Watching: John Stewart Show]

The Best Session at TechEd

Aside from finally getting to meet a few of my fellow MCA friends, the best part about TechEd had to be the Cabanas.  I would much rather sit and talk to a bunch of people smarter than me that go attend one of those over packed sessions (though I go to quite a few of those).  My favorite "session" was an ad hoc one on Thursday morning.  I didn't realize it, but Kirk actually caught it on film.  That morning Julie, Rich, Don, Clemens, Christian, and I kicked around topics ranging from System.Transactions to Borland development tools of yesteryear (we even talked about Visual Basic right Rich :P  ).

This years TechEd kicked ass.  I have three pages of notes, and about 20 follow up items that I need get started on before I forget.   To everyone I talked to, thanks for giving me the time to knock ideas off you (or for the good ones you gave me).

Going to TechEd? Looking for a Job? Email me...

I work for Turner Broadcasting (you know TNT, TBS, TCMCTN, TSO et al) and we're looking to hire quite a few people for a large project that's ramping up here.  It's been pretty tough to find people locally so if you are at TechEd and interested in moving to Atlanta to work for a great company, on a cool project (we're using VSTS, Yukon and Indigo) email me.  I have my BlackBerry so I will get the email immediately.  We can set up a time to get together...

You can e-mail me though this blog, or directly at Mojavecoders@turner.com

[Update: So it turns out my spam filter is being a bit overactive with people's email, so if I don't respond in a timely manner, try e-mailing me again.]



Defining Service Contracts with Angle Brackets... Yes/No?

Below is a copy of an email I sent to a buddy in Redmond (feel free to take a guess as to who it is).  He's *very* against using XSD to define a service contract.  I, on the other hand, am for it (though I have to say that he and others are beginning to sway me).

Anyone out there have any opinions?  I'll post his response later because I want some honest feedback on this one.  I'm about to define the architecture for a pretty large app, and the decision I make now I will have to live with for a  l o n g  t i m e...


So let me run this by you.  I'm always open to opinions/critique...

-- If there's one thing I learned from doing VB.COM back in the day it's that using a programming language to define a interoperable, *language agnostic* interface can get you in trouble.  The tendency to define concepts that are not understood by all consumers of the interface is to great.  I understand that I am (very) loosely comparing Indigo to VB.COM, but theoretically the same issue exists.  I understand there is a perfectly valid counter argument saying that you can define concepts in XSD that are not supported by all languages, but these are edge cases that are rarely an issue (substitution groups come to mind).

-- I don't have to see pointy brackets anymore.  Tools like XMLSpy are getting better and better at abstracting away the pointy brackets.  In fact, XMLSpy is getting close to being a DSL for defining the aforementioned interoperable interface.   :)

-- The idea behind this whole contract-first hoo ha is that we define contracts, that represent documents that are passed from consumer --> service --> and (maybe) back.  IMHO, there is no better (or more natural) method for creating a document definition than XSD.

-- I also love the fact that I can expose a XSD on a server-side endpoint and a consumer is free to use it in order to gain access to cursory business logic that would otherwise cost them a round-trip to the server.

        int withdrawalAmount; // This could be 450,000
        <element name="withdrawalAmount">
                        <restriction base="positiveInteger">
                                <maxExclusive value="400"/>
My ATM limit per transaction is 400 bucks.  In the XSD world, I can push that constraint down to the client for validation prior to sending me the entire document.  Additionally, to validate it on the server, I don't have to write trivial code such as:

If(withdrawalAmount > 400) return false;
That stuff is handled for me by the schema validator.



[Listening to: The Bravery - Unconditional]


Installing Mono on Fedora Core 3
There is a great (and brief) summary of how to install Mono on Fedora Core 2 (but also works on 3) here on Equivocal Rambling.  The only thing you need to do differently is set up the yum channel in yum.conf like this:
name=Mono 1.0

More Posts Next page »