Archives / 2006 / June
  • Kicking it up a notch with SharePoint

    If you’re into the whole Emeril thing you might like this. With the tremendous help of Gavin Joyce, I’ve setup a new community site called

    SharePointKicks is very much like it’s other *kicks siblings. Members of the site submit stories (usually blog posts but can be anything) and have the ability to “kick” a story up if they like it (or down if they don’t). The more kicks a story gets, the higher up the site food chain it is. This is very much like the mentality of community rated content and takes away that *I* in *TEAM*. After all, do you really want a single MVP or Microsquishy drone always spouting off what’s best? Why not have everyone (including yourself) do it instead.

    That’s what the kick sites do. And it works. You end up with a nice filtered view of the world. If a post isn’t popular, you won’t see it until it is. There won’t be dupes (or at least that’s the plan) like other aggregated sites (isn’t it a pain when 8 people all blog about the same thing?) so the signal::noise ratio should also be reduced. And you’ll get the choice content that appeals to the masses so you can focus on what’s important.

    Yeah, it all sounds good on paper so time will tell how good it really is.

    Anyways, there are a few ways you can participate in growing this community:

    • Just visit the site. You’ll get links to blogs/articles/etc. that others find useful so hopefully that’ll be useful to you.
    • Register on the site. The great thing is that you can register on one site (say SharePointKicks or and your registration is used on all of the kicks sites with one login. Once registered you’ll be able to submit your own stories or kick other peoples stories to increase visibility.
    • Contribute to the site. As a registered user, you can add stories to the site. These can be your own blog entries (yes, we’re all about shameless self-promotion) or nuggets of SharePoint goodness you’ve found around the web that you want to share. If enough people find it interesting, it’ll be jerked up the popularity stack for all to see.
    • Blog about it. A site like this doesn’t work with one guy behind the curtain pulling all the strings. It only works with people like you. If you’re a SharePoint blogger, then go ahead and submit your own story.

    As a SharePoint blogger (or ones who blog about SharePoint, yes that means you Sahil) it would be great for you to get your readers to kick your own content for you. It’s like having a million monkeys do all that typing for you. All you have to do is add the following HTML to a SharePoint related blog posting you want people to share:

    <a href="[URL]"><img src="[URL]"></a>

    And replace the [URL] with the permalink to the actual item. This will create an image link (like the one below) and a registered user on any of the *kick sites can just click on it to “kick” your blog entry. If it’s the first entry on the site, you’ll be asked to provide a short description and select a category.

    Mmmmm. Metadata. Metadata good.

    Just put something useful in the description. Consider this the abstract item you’re kicking, the thing that will suck people into it and make them want to click on the link to find out more.

    If it’s an entry that’s already been kicked, your kick total will be added. Once a story has been kicked a few times, it shows up on the home page and in the categories that are available on the site.

    Finally if you’re just looking to help out the site, click on the Find stories to kick link on the right hand menu. This will present all the recent items submitted and give you the ability to be the publisher and kick it up onto the homepage.

    Very cool.

    Many thanks for Gavin for getting the site setup so quickly (I registered the domain around 9AM this morning, by 11:30AM the site was up and running) and Monty Grusendorf who’s helping out with the site duties (watch for more SharePoint stuff from Monty soon!)

    So go. Spread the word. And Kick it!

  • CodePlex comes out of Beta

    For those of you that have been following this stuff, CodePlex has “officially” come out of Beta and is now live. CNET has an article on it here, but it’s pretty thin and doesn’t contain much information. Here’s a quote from one of the CodePlex guys:

    “From this point we will release a new version of the site every three weeks to continue to incorporate more improvements and any resolve any issues. You can watch the version number displayed in the bottom right corner to see when a new version has been released.”

    They’re no longer moderating project creation and will accept any new project, but they’re queuing the projects up to ensure that the number of projects doesn’t exceed their server capabilities so it might be a delay between when you request a project and the time it gets created. The team is also on a 3 week iteration cycle and will be releasing a new version every 3 weeks to incorporate bug fixes and enhancements.

    Of course, I might be a little biased, but CodePlex rocks so check it out.

  • Installing the SharePoint Forums Web Part

    The biggest problem that I keep hearing about with the SharePoint Forums Web Part is installation. I think there is a flaw so that you will, almost always, get at least one error on security but with a page refresh this goes away (at least with all the tests I've done where I'm running as non-admin, non-Full trust, I get this).

    However the biggest problem that everyone is talking about is the steps they're going through installing the web part and the errors they're getting. Here's an example:

    "I've read all the documetation and followed it exactly and installed the dll files in the c:\inetpub\wwwroot directory but it still doesn't work."

    Okay, this is wrong. The documentation does not say this, it says to find the directory where SharePoint is installed and in a default setup it will be this. It also says to create the "bin" folder (where the assemblies are) if it doesn't exist.

    It's feedback like this that is causing problems with people installing the web part.

    I'll be the first to admit, if the documentation is wrong (and it might be) then I'll update it so that anyone can install this. I'll also be the first to admit that if you've never installed a custom web part (and there are a lot of people that haven't) that these instructions can be a little daunting. We are working on an installer to make it as idiot-proof as possible and hopefully reduce it to a one-click install. The problem is that there are several moving parts that need to happen for the web part to make it into a virgin system including:

    • Copying the assemblies to the "bin" folder
    • Adding the SafeControl entries to the web.config file
    • Creating a custom policy file
    • Setting the custom policy file in the web.config
    • Adding an assembly to the "gac"

    These are non-trivial steps, but as far as I know I've documented them as much as possible on the Wiki site. So please refer to the installation instructions here first and foremost. Also remember to click on the hyperlink for each step, as it contains a more detailed set of instructions.

    Like I said, if the instructions are incorrect or missing information (even the smallest thing) please let me know. Did I screw up? Maybe? Did you just assume things and skip steps? Possibly. I've been communicating with a *lot* of people and *almost* everytime, they've just ignored what the documentation said and put things in weird places (I even had one guy that copied the dll files to the 60 hive, which is just completely wrong).

    Okay, enough of my ranting. Since I can't be at everyones machine to do the install for them the documentation (until a complete installer comes along) is the next best thing. Please help make it a complete and accurate document.


  • The house of the converted, CodeRush is in the da house

    I’m a flip-floppy sort of person when it comes to some tools. You love them or hate them. I’m somewhere in between.

    When JetBrains released version 2.0 (finally) of it’s ReShaper product, I was quite happy to see it stablize and support VS2005. However I had been wavering because Mark Miller just blew me away with CodeRush and ReFactor! Pro down at PDC. What’s a girl to do? CodeRush together with ReFactor is sort of like ReSharper but missing some features I really want (like rename class and the Ctrl+F12 code navigator).

    However I’m hooked on CR again. Mark was again pimping his product (sans voice) at TechEd and I got a copy of the lastest drop that clinched the deal. Not only does CR now have some new stuff like support of creating test fixtures and tests easily (maybe it was there the whole time) but there’s a killer feature using a tool window that shows you the structure of your code.


    Nice. Not only can I learn the CR keystrokes better now (which has always been a problem for a dork like me) I can also see things in my code easier as the tool window is all context sensitive.

    I’m sure there are some other features, but I’ve taken the plunge now and dumped ReSharper. Yes Mark, you’ve converted me dude. I’m tired of the long load times while parsing things (yes, 2.0 got better but it’s still sluggish) and I’m tired of the system crashing on me (it does from time to time with simple refactorings). CR + RefactorPro kicks butt and takes names. Yes, it’s missing some of the features ReSharper has that I like but hey, I can always write my own plugin using DxCore if I want.

    Also check out Mark’s cool tip on giving Visual Studio a new desktop when editing forms. Check it out here.

  • SharePoint Forums schedule update

    Just a quick update on the SharePoint Forums project. I’ve moved the next release (v1.1.0.0) out to July 1st. It’s just too close to TechEd and I wasn’t able to actually get any work done while I was there (no surprise). The monthly iterations will continue, but they’ll start on the first of the month. This just gives me a little time to get things going. Also the roadmap is being planned out for the August and beyond releases which will include new functionality and support Office 2007 installations.

    Also when you’re reporting issues, can you please provide some information about your setup. It’s important to know if you’re on a SharePoint Portal Server install, or just a Windows SharePoint Services setup (or a Small Business Server setup) and if you’ve installed ASP.NET 2.0 on WSS or something crazy like that. It’ll help track down problems much faster for me.


  • Paired Programming at 30,000 feet

    It’s actually pretty fun. James and I were on our way back from TechEd yesterday and decided to start a small community project we’ve been talking about for awhile (and didn’t find any time through the week to work on). After a quick 20 minute discussion about some of the goals we wanted to accomplish, we cracked open the laptop on the plane and James wrote the first few tests.

    He then handed me the laptop to implement the domain.

    Ahh, TDD at it’s best. Just some tests someone wrote with ideas around how they want to implement the system and your task to do it. This went on, back and forth, for a couple of hours on the first plane and resulted in a few discussions, a bunch of tests, and some good fun.

    Storm clouds ahead

    We hopped onto the plane from Minneapolis to Calgary and started up again, this time I wrote the tests and he implemented the domain. Of course, as you get further into TDD the tests start to get harder because you get past the glamour of the first few tests (adding items to collections, checking properties) and dig into the real heart of the problem.

    It’s a great excercise because about halfway through we tossed out a couple of classes we pre-supposed we would need. The great thing is, the tests still passed even after removing the classes. Using .NET 2.0 and Generics we got rid of an entire class and just used a combination of SortedLists and the Dictionary class, which made things simpler. I still think there’s simplification that can happen, but we had to bow to the great airline people and close the laptop for the day.

    The end result? A few hours of coding, 4 or 5 domain objects, 100% coverage, and 22 tests. All green baby.

    Programming can be fun, even at 30,000 feet in the air with no wireless.

  • TechEd 2006 - Day 7 - Wrapup and Bacteria Farm update

    Holy crap I’ve been blogging quite a bit while I was here. It’s amazing how much gobbly-gook you can spit out and time you can waste at these things. Here’s a wrapup of my posts for the week:

    And here’s my blogging partner and hotel roomie James and his entries:

    Hope you enjoyed TechEd as much as we did. We’re off to the airport shortly (well, James is still sleeping and there’s a shower with my name on it waiting) where we’ll have a grand time playing Marco Polo finding free hotspots and making fun of Bostonians.

    If you didn’t get a chance to be here yourself, I hope you lived vicariously through me since that’s what my purpose on this planet is, being a geek channel.

    Oh yeah, the Bacteria Farm is growing. We planted the seeds with our MacGuyver hotel room techniques on July 11 when we got in, and left the bacteria to gestate for the week, checking on it from time to time. Here’s what it looked like last night:


    Okay, it’s hard to see but basically we had some nice growth out of petri dish #3 and #5. This was bacteria scientifically gathered from the base of the toilet (who says hotel room bathroom floors are clean enough to eat off of) and the window sill outside our room (lots of dirt there). There was no growth from my shoe (even after a day of walking around TechEd, way to go convention cleaners!), the sink drain, or from inside my mouth. The empty petri dish from the bacteria inside my mouth is a little disturbing. I mean, am I still alive? With all that saliva and left over twinkie bits, you think something would grow from there. Oh well, live and learn.

    The growth is now soupy goo so we’re going to dump it into the wonderful Boston water system. If anyone in Boston gets sick over the next few days after drinking water or taking a shower, feel free to blame me. Not an entirely controlled experiment but it beats the heck out of watching paint peel on those lonely TechEd days.

  • TechEd 2006 - Day 6 - The Good, the Bad, and the Ugly

    Now that TechEd is over it’s time to reflect. To look at the good, and the bad, and of course the ugliness that we experienced. Here’s my take on the week.

    The Good

    • Lenox hotel. Nice service, great rooms, excellent price. They even leave 2 Lindt chocolates on your bed when they turn them down each day for you. Hint to those traveling as couples, order the room with the double bed (even though you’re going to shag in one) so you get double chocolate intake.
    • Mini-parties with various people, too long into the night but still a great time.
    • Being an Office Booth Babe and chatting it up with so many people.
    • Meeting up with the product teams and various uber-smart people at Microsoft and elsewhere.
    • Walgreens open 24 hours when you got the munchies.
    • Twinkies, Häagen-Dazs, and Cocoa-puffs at the conference. About the only good food there.
    • Free soft drinks ala Micrsoft campus style. It was nice always having a diet-coke or something after talking for dozens of hours.
    • Team System for Database Professionals. This is going to kick-butt and take names. I’m glad they’re adding this much needed product to the lineup.
    • Speaking to a million people about SharePoint 2007 goodness and watching their eyes light up with the cool new features that they’re going to love.
    • Zappa does Zappa. Brilliant.
    • Fresh lobster.
    • Feeling a Sony Vaio UX50 (thanks Scott!)

    The Bad

    • $6.50 toll just to drive from the airpot to downtown.
    • Cab drivers that don’t take plastic. That’s just plain odd from where I come from.
    • Not enough Häagen-Dazs. The bins quickly ran out and there was no real schedule of when they got filled.
    • Walking 30 miles throughout the convention centre.
    • Working the Office Technical Learning Center booth at 9AM after getting to bed at 3AM from the party.
    • Crap swag. Nothing really that great from what I could find (but then maybe I’m not looking in the right place).

    The Ugly

    • The bus company we were using (Peter Pan, what the hell kind of name is that for a bus line?) went on strike mid-week so most of us were waiting for buses or hopping in cabs.
    • Cab drivers that don’t know where anything is. I talked to a few people and they all felt the same way so I’m not alone on this.
    • Bus drivers that took a different route to or from the conference center and the hotels every single time.
    • Meals. While I haven’t been to hundreds of conferences, this was the worst food ever.
    • Wireless-ness access everywhere. At one point they ran out of IPs but for the most part, coverage sucked so I plugged in when I was on the floor.
    • Crazy ass tunnels everywhere, makes me feel like the mole-man.

    In addition, it was great seeing everyone. Shout outs to some old peeps (April, Lawrence, Fitz, Susan, Scott, Mark, AC, Bob, Spence, Todd, Bill, Carl, Richard, Julie) and some new ones I met or finally came face to face with (Jim, Korby, Chad, John, Jeffrey, Michelle, Heather, Amanda, Shane and Shane, Woody, Arpan, Bill, and Julia). Sorry if I missed anyone as there are so many names and my brain hurts.

    Good times.

  • TechEd 2006 - Day 6 - Additional Content

    For you Office guys who got the Office DVDs at TechEd, there’s some additional content you might be interested in. Over at the IT Content for 2007 site here you can grab:

    • Planning and Deployment Guides
    • Operations Guides
    • Known Issue Documents
    • The Office Online Beta Control

    Check it out as it supplements the swag you got in your TechEd bags.

  • TechEd 2006 - Day 6 - Boston Walkabout

    It was quiet as things wrapped up here at TechEd in Boston.

    Since I came to the city, I was taken aback from the rich architecture and history in the town so as I made my way back to the hotel this afternoon, I took a small walkabout the city.


    There’s a feature called the Freedom Trail, a 2 1/4 mile line (mostly brick, but painted in a few spots) that takes you through most of the key historical landmarks of the city (various graveyards, churches, Paul Reveres house, etc.) so it was a good walk.


    I see dead people.


    You can check out my entire Boston set here from the week which is mostly focused on the sights of the city. 64 pics and 6 hours of walking today, includes various street performers, architecture, small children, old historic buildings, new shiny buildings, boston common, and dead people. Not bad for a way to wind down a technical event.


    Back later with The Good, the Bad, and the Ugly from TechEd.

  • TechEd 2006 - Day 5 - Take me out to the ballgame

    It’s hard. It’s hard to blog the same day that something happens when you’re at TechEd.

    Here it’s a flurry of activity, an influx of information, an ongoing flash of gizmos and gadgets. In short, technical sensory overload. Yesterday was one of the bigger days. A double shift in the TLC area and my Birds of a Feather (BOF) session sandwiched in between, with a topping of the all-night party thrown in at the end, mixed in with various newsbits like BillG and Mr. Ozzie. That’s a lot of TechEd. Hence why my Thursday post is being written from the TLC Friday morning. Such is life.

    Bill, good luck with all that stuff. You and Melinda do good work. Ray, listen to the soldiers. They know good stuff when they see it and don’t take any guff (even from that Balmer guy). Sorry I missed your keynote but let’s do coffee.

    Red Sox Gong Show

    It’s all good, although my BOF was a little disappointing. Here I had a good set of new features for developers to discuss, I thought it would be a lively discussion about all the new event handlers, web part filtering, cross site queries, ASP.NET 2.0, providers, and … oh the list goes on. Instead it was a lively discussion but one that sort of drifted into licensing, deployment, and usability land. Oh well, all in all I think it was fun and I felt people got some good conversation and value out of it (which was the point). Thanks for everyone for coming out!

    BOF session

    I did manage to catch Scott Hanselman and Keith Pleas on Enterprise Frameworks. It was a good talk and I really enjoyed the banter real-world Scott and mythical-theory-land Keith did. They played off each other well, with theory slides from Keith all airy-fairy and bright and Scott’s “In Reality” slides ala Lessig style white text on black background. I always enjoyed seeing some of Scott’s development kung-fu (and his kung-fu is good) and how they use a release tag for local dev builds (all done through NAnt). He’s a smart dude and you learn a lot from him. Slick stuff.

    Enterprise Frameworks Discussion

    As the day wound down, I shuffled off to the hotel to de-geekify for the nights festivities. As usual with MS events of this magnitude, they “rented” Fenway park and opened it up for all the TechEd peeps. Some concession stands were closed (I really would have liked a Philly cheese steak sandwich) but otherwise all the food and beer was free, and there was lots of fun stuff going on.

    Take me out to the ballgame

    For those that dig the music, Train performed on stage to few hundred (or at least it seemed that way) and it was all good. Myself and Fitz scattered out of there early (after wolfing down the required hot dogs, hamburgers, pizza, peanuts, and assorted ballpark “food”) on to hook up with some friends, which (of course) ended sometime around 3 or so in the morning. Or dozens of martinis. I can’t remember which.

    American Idol Microsoft Style

    Yeah, needless to say there’s very little sleep that you get at events like this.

  • TechEd 2006 - Day 5 - Rainy day in Boston

    It’s a rainy day this morning as we hop onto the bus and head out for the daily grind. Today is my Birds of a Feather (BOF) session at 1 PM (or it might be 1:30 PM, depending on what schedule you look at) so if you’re interested be sure to drop by room 203. It’s on SharePoint development and what you need to know to get ready for 2007. All in all, it should be a blast.

    I’m also in the Technical Learning Center (TLC) for Office from 9 AM – 12 PM and 3 PM – 6 PM. I’m going to try to catch Scott Hanselman’s session on building frameworks this morning at 8. Unfortunately I haven’t been able to catch many sessions this week. After having lunch with Scott and John Lam, I was really intrigued by Ruby and .NET and wanted to see more. I did manage to sit in on part of the Atlas BOF yesterday which was interesting so I’m downloading the CTP today and going to try out some SharePoint 2007 stuff and Atlas at the conference. We’ll see how awake Scott is this morning for his session, I know I’m at least 3 coffees behind and it’s only 9 AM.

    For whatever reason, I have yet to travel the same route on any bus, to or from the conference, at any time of the day. It’s all very confusing.

  • TechEd 2006 - Day 3 - Zappa does Zappa and change is good

    I didn’t get a chance to blog yesterday as it was a full day for me but here’s the recap as there were many things going on all over the place and the entire day is a bit of a blur (much like this blog entry is looking right now after 3 hours of sleep).

    I was manning the Technical Learning Center (TLC) in the Offiice area. I’ll be here all week at various times so drop by and chat. It was great talking to everyone as there were so much diversity and different problems. It’s always interesting to talk to people about real world scenarios and see what people are doing (or wanting to do) with SharePoint. This helps me direct content to you that is most appropriate and valuable to you so please keep it coming (if you’re not here at TechEd or can’t catch up with me there’s always email). TechEd is such a great show and one of the biggest benefits (IMHO) is not the sessions, it’s not the keynotes, it’s not even the schwag (did I even say that?) but it’s the personal networking. I speak to more people in the Technical Learning Center than I ever have and either helped solved peoples problems, hooked up with new people and got them hooked on the SharePoint drug, or strengthened old contacts.

    I had a great opportunity of meeting with Jim Newkirk for lunch and we spent a good hour or two talking about NUnit, Agile development, Team Rooms, Agile at Microsoft, and of course CodePlex. Jim had a session this morning on patterns which filled three rooms (and was packed). It was a great overview of patterns but just scratches the surface, but I prefer to see this kind of content come out of Microsoft . Don’t get me wrong, the other stuff that’s product based is great too (and much needed) but seeing Agile and Pattern sessions (even if they are high level) is a good thing. If you get a chance to drop by the Patterns and Practices guys, please do. They do good work.

    Jim is full time on CodePlex and it’s growing like gangbusters, even if it hasn’t been fully released for primetime yet by Microsoft (but they’re getting there). There are some great things happening with CodePlex so time will tell as the story unfolds and we see more good stuff from the team. It was however, a discussion with Jim that led to meeting Korby Parnell, one of the key guys behind CodePlex. In discussions with Korby, Lawrence Liu, Chad Hower, and others there are some adjustments I’m making in the SharePoint Forums project.

    Korby and CodePlex

    First off, I’m moving to a scheduled monthly iteration. I’m still a one-man team (but don’t intend to keep it that way) but want to follow a regular schedule. Monthly iterations sounds good from a management perspective and they’ll be enough time to work on each release and get features baked in that are value-added.

    The first of the new features that arose out of discussions Tuesday is anonymous support. Currently all users have to be a member of a SharePoint site which is great for intranets, but if you want to host SharePoint Forums on an internet facing site, it just doesn’t works (to be honest, I don’t know what it will do yet so I have to see but I’m pretty sure it won’t work). In any case, I’m going to do some specific things around anonymous support. If a user hits the site and is anonymous, then they can get read access (configurable as to what access they have). Once they want to post they’ll need to be signed in so if they’re not, they’ll be whisked away to a new login/register page. Again, it’s up to you how much access they get on sign up so they can post or you can set it so they have to be approved first before their word can be heard. This will all be configurable per forum so you can have some forums open, some slightly locked down, and others completely verbotten to internet users. Also extranet users will look just like internet ones as far as the forums go, just behind the scenes we’ll store more info because right now users information (display name, email, etc.) is all coming from SharePoint. The forums only store the SharePoint ID for a lookup so this will change. Again, the forums are polymorphic in design so once a new version goes out, the lists will automatically be upgraded and transformed. There’s no data migration you’ll have to do. I think this is the best of both worlds.

    The next thing is the introduction of an question/answer system. Currently with a message you can reply (or quote) and the message just shows up in the thread. For each forum, you’ll be able to flip a flag that turns it into a question/answer forum. This means that an additional link will appear next to the reply button called “Answer”. An answer is a reply, but just has different characteristics. As the thread owner, you’ll be able to look through the answers and click on a new button called “Accept” (which will be next to “Edit”). This will allow you to accept an answer as correct and give us a bit of ranking/rating system (for example you can get a list of threads with questions that are “unanswered”). Think of a system like Experts Exchange and you’ll get the idea.

    I’ll be putting these in as work items on the CodePlex site and adding a few new releases to the release schedule for the next few months. There are additional features planned and actively being worked on so check out the release roadmap for more information. Speaking of the forums, I spent an exhausting 15 minutes yesterday porting the Web Part over to 2007 and have it running in my VM. If you’re in the TLC, drop by and take a look. There are some bugs due to deprecated features I’m using so I have to switch some controls over to their ASP.NET 2.0 counterparts, but it looks pretty good. Expect a 2007 version in the August drop.

    Last night I was the recipient of the “Win a Date with Fitz” contest. Okay, there wasn’t a contest but it sounded good. Fitz and I headed out to see Dweezil Zappa and his band doing his Frank’s music in a show called “Zappa does Zappa”. Let me say that while I’m not a huge Zappa fan, I’m all for good music and yeah, this was good. Wait. Correct that. It was fantastic. Even better. It kicked any tech gadget I’ve seen so far (even the Sony Vaio and that’s saying a lot coming from me).

    There are two truths to the world that I’ve come to learn. In every city, anywhere I go, there are two things that stand out. In Boston last night I discovered both of them. First, cabbies generally do not know where anything is. We hopped into the cab and told him we were going to the Orpheum. Blank stare. Okay, maybe he’s heard of it but not sure what we’re referring to (or something like it). A few more minutes of prodding and coaxing and he still didn’t get it. We told him the area it was in because hey, we’re strangers in a strange land and if we knew where it was we would be driving. Still nothing. Finally Fitz slogged out the Crackberry and looked it up (I’m sure he was using Google but I didn’t want to intrude). He called out the address. Still nothing.

    Some neuron must have fired in the cabbies head as he just started driving and well, we eventually got there. I don’t know how but the cab came to a stop and apparently it was nearby (although we still couldn’t see it). No biggie. We hopped out and figured if we can’t find it, we’ll ask (men are not afraid to ask for directions to a concert, we just won’t do it in a car at a gas station). Luckily it was down at the end of alley so we’re good to go.

    Oh yeah, the other truth. Bostonians wait until the last possible moment and *then* walk out in front of you. I watched two different occasions last night on the way to the Orpheum where someone would walk to the curb, wait, then when the light was red and cars were coming they decided to walk out. I’ve seen this happen other days as well so it must be true, as I now have 2 or 3 data points. Maybe it’s a Boston thing?

    Anyways, we needed to grab some food before the concert and that’s when the fun began (actually it began when Fitz was googling the location but the real fun was just around the corner).

    On the way to the substinance we happened along the alley where some bicycle cops have subdued someone and had them face planted on the sidewalk. Boston’s finest had just pulled up and was going to escort our friend to a nightly stay with them. There was opportunity for us to add insult to injury and perhaps accidently swipe the poor fellows head with Fitz’s boot, but we’re geeks and the passive type. Too bad I didn’t have the camera with me.

    So yes, the music. Oh the music. It was loud, and great, and never ended. Steve Vai showed up and joined in the fun with a guitar solo the likes I’ve never seen before. 2 hours into the set it wound down as things finished up, but then it was the encore. Which lasted an entire hour. The encore was a series of solos, the sax player belting out someting that Lisa Simpson would be proud of, and duets between Dweezil and Steve finished up by a killer drum solo.


    So that was yesterday, this is today and I’m back in the TLC with some sessions today, lots of talking, and more parties. The fun never stops in Boston.

  • TechEd 2006 - Day 3 - Scott Cate, Hardware Pimp

    I’m just sitting with the CodePlex guys at TechEd and Scott Cate from came over and dropped a bombshell on us. He pulled out a Sony Vaio UX50 that came in from Japan. This thing kicks the llama’s ass, and then some.

    Scott and his (borrowed) Vaio

    Check out the specs on this bad boy… 1/2GB of RAM, 30GB drive, a killer video card (Scott was playing his video of his sailboat at PDC), plugs into a monitor and keyboard so you can use it as a desktop. The list goes on. There’s also going to be a hardware upgrade so you can replace the 30GB drive with a solid state one. Our mouths were drooling over this one.

    This thing rocks and I don’t know about you but I’m getting one asap. I mean, anything that I can fit in the palm of my hand (or Scott’s) and has this much power… why would I bother with my Compaq R4000 laptop? Twice the power at a quarter the size and the same cost?

    The Sony Vaio UX50

  • TechEd 2006 - Day 2 - Too much lobster, not enough cabs

    Today was pretty busy and I really don’t have time to get into a long diatribe about the events of the day so I thought I would share a photo journal of some of the highlights. The day started out okay, and the crowds filled up fast. Although it’s odd there were more people going down than going up? What does that say for the conference? More stuff happening on the bottom floor? A deadly gas in the lower levels that cause less people to use escalators? Can’t say the traffic was the same by the end of the evening.

    Loaded elevators

    Carl Franklin and co. put on their live broadcast of .NET Rocks today with the guys from Team System who put the Database version together.

    Visual Studio Database Edition

    Here Carl is hacking into the sound system because, well, he’s Carl.

    Carl hacks in

    Of course what’s a photo blog without Fitz as he does his best Blue Man Group impression and blends into the background during one of his chalk talks.

    Fitz and the bluescreen effect

    We had an MVP dinner at a place called Anthony’s. Great food, great company, but they seem to have a very strict way of serving. For instance they wouldn’t let someone have a hand towel who didn’t have the lobster, even though it was available. Anyways, here’s Jim from Microsoft who’ll be presenting later this week. Evil looking, but he’s a PM on SharePoint so what do you expect?

    Jim gets caught off guard

    Todd Bleeker. International Man of Mystery. What can I say? A crazy man at the podium (some say even crazier than me).

    Todd Bleeker, crazy man on the podium

    Todd Bleeker, the man with a plan.

    Later that night at the dinner he had the same expression on his face, but I just couldn’t resist snapping his pic. Nice expression lobster boy!

    Todd Bleeker, lobster boy

    This photo blog was brought to you by the letters W, S, and S and the number 3.

  • TechEd 2006 - Day 2 - Learn, Lather, Rinse, Repeat

    The morning was odd as there were little bags with newspapers in them on our hotel room door. Wonder if it’s a cult thing or something?

    Bagged newspapers

    Well, we made it the first day but today is the crunch. I’m just hanging in the TLC area for Office after stopping briefly in a couple of sessions (I seemed to be the only ScrumMaster at Peter Provosts’ Adopting Agile in the Enterprise talk). I’ll here my SharePoint Forums up and running on Office 2007 and there are a few people that wanted to see it so stop by and grab me if I have it ready. Had a quick breakfast with AC (god that boy can eat) and met Heather Solomon for the first time (Hi Heather!). So many more people to meet, so little time.

    P.S. Yeah, AC I lied about posting your pic on my blog. Get over it.

    Andrew Connell and breakfast

    My laptop seems to be acting up with my mouse flying all over the place. I’m looking for a place in Boston to pick up one of the new Microsoft Laser mice (with the zoom feature button which is great for presentations) so if anyone knows where I can get one (they only have some craptastic travel mouse at the conference store) let me know.

    The Office TLC at TechEd 2006

    Back later with some goings on about the chalk talks here on SharePoint and what’s happening. I’ll be in the TLC (officially) between 5–9 PM today but wandering around between then, so drop by and we’ll do SharePoint finger puppets.

    BTW, I am uploading the 8,000 photos I’m taking at the conference on my Flickr site. All of the TechEd ones are tagged with “teched2006” and in a TechEd set here. Feel free to comment, link to, and otherwise hammer the Flickr folks.

  • TechEd 2006 - Day 42 - Death, where is thy sting?

    It’s 6 AM. Breakfast is in an hour. I have to go in and do some validation on the hands on labs (and get familiar with them myself).

    My eyelids hurt.

    The Lenox Hotel

    Good morning, starshine, the earth says hello.

  • TechEd 2006 - Day 1 - First Schwag!

    Or is it first swag? It’s like the debate between “gif” and “jif”. Anyways, if you’re at TechEd you know all about the goods. You get it the moment you register and the junk you have to take home with you just never stops flowing.

    If you’re thinking “Well, it’s all cool but I’ll never use any of this stuff” you might want to take a closer look at what you actually get. There are some pretty neat things you should be aware of with your TechEd backpack.

    First swag!

    First there’s the backpack itself. Well, maybe not a backpack in the traditional sense. It’s more like a back-laptop-pack, crossing over some middle ground between geeky bag to hold swag and man-purse. In any case, it’s a good thing and if you don’t have a bag to haul around your goodies, you do now.

    Next are the DVDs. You get:

    • Visual Studio 2005 Professional 90–Day Trial Edition – This isn’t just VS2005 but the DVD also contains the client tools for Visual Studio Team System as well as some resources like developer tools (Compuware, Crystal Reports, Dotfuscator) and controls and components (CodeRush, Infragistics, ComponentOne, Dundas). Handy if you’re looking to not re-invent the wheel.
    • Windows Server Code Name “Longhorn” – Again, the MS Marketing engine is confusing us as we have grown up with “Longhorn” being what became “Vista”. However the next version of Windows Server 2003 is called Longhorn so be it. This contains a bootable DVD of the 32–bit x86 edition of Beta 2.
    • Micrsosoft Windows 64–bit Resource DVD – This contains all kinds of white papers, case studies, training videos, and source code for you 64–bit crazies out there.
    • Office 2007 Beta 2 – In case you missed downloading it (or couldn’t sit through the download times) this DVD set has all the clients and servers for Office 2007. Just install and get going on the next generation of Office.
    • The Cool Way to Power Your Enterprise – This is an AMD disc with a bunch of white papers and video presentations on why AMD is so good. I do run an AMD laptop and all my desktops are AMD so is it good? YMMV.
    • Sysinternals Video Library – These guys make the coolest toys so sit back and enjoy a set of video tutorials from the guys that wrote all those tools.
    • Windows Vista – As you might have seen recently in the blog-o-sphere, the public beta of Vista went out. Here it is in DVD format if you need a copy.
    • Virtual Servers – MS is all about virtualization these days so this contains lots of goodies (including the very free Virtual Server R2) for you virtual geeks
    • Secure Messaging Evaluation Kit – This DVD contains a whack of stuff for you security freaks and covers Antigen (including a trial for use with SMTP and Exchange), ISA Server, and lots of presentations and documents on building, configuring, and securing a DMZ.
    • How Microsoft does IT – If you have checked out various webcasts and white papers on how Microsoft runs it’s own IT department, then you might want to look at this DVD. It contains all that plus new material with Best Practices and Case Studies on how it all fits together. Handy as I’m sure your own IT department will be much smaller than Microsofts and it’s good to know you’re not trying to do something that’s impossible.
    • Office SharePoint Server 2007 Technical Resource DVD – SharePoint is so damn huge that it has it’s own resource DVD. This puppy has everything you want to know about SharePoint 2007 and even contains a very cool VPC all setup and ready to go. Just extract it and run Virtual PC (eval copy included on disc) or Virtual Server R2 (free on the other disc above) and you’re off to the races. You’ll have a completely configured stand-alone server with your own Active Directory, SharePoint Server, Office 2007 client and all the various accounts to use it. Not only that, there are a set of labs and walkthroughs that get you introduced to the various concepts of SharePoint 2007 like the Business Data Catalog, Workflow, Content Types, and more. All goodness.

    On top of the DVD/CDs you also get a stack of books and papers. Most people regard these as filler but have you ever read any of them? Here’s some of the highlights of the good stuff here (and things you need to act on in order to cash in on bringing the goodies home with you):

    • Conference Expo Guide – Okay, most people don’t bother with this but there are some good things in here like “when are you getting the conference DVDs” and “where the heck are the bathrooms?”. Your TechEd survival depends on it.
    • TechEd notepad – No, this isn’t a “special edition” of our favorite notepad.exe (which I’m still waiting for my Notepad MVP award!) but just a blank pad for you to scribble junk down like (short) urls, girls phone numbers (there are some geek girls wandering around, really), and other useless stuff if you’re not the type that brought a laptop.
    • System Center Essentials 2007 – Fill out the card and drop it in the Essentials 2007 booth in the Technical Learning Centre (TLC) to win a free Xbox 360.
    • MVP – There’s changes happening in the MVP program like the recent “nominate a MVP” update they’ve done to the site. You can go online and nominate someone yourself so if there’s someone in the community that you think should be an MVP and isn’t, here’s your chance.
    • Altiris – Stop by booth #316 and get a free sports umbrella (and enter for a chance to win a $500 gift certificate)
    • MSDN Magazine – You get a free copy of the June 2006 edition of MSDN magazine with a pretty good article on MSBuild and a sampler CD of the Chart FX tools from
    • Microsoft Business Intelligence – Check out the Business Intelligence TLC to snag an ugly orange bracelet. It’s ugly but you could win a Plantronics Voyager 510–USB headset (although I think I should win one for writing this crap)
    • Symantec – Fill out the card and drop it off at booth #109 for a chance to win a portable Garmin GPS unit.
    • In addition, check some of the other papers and flyers as most of them tell you to check out their booth and want you to present that paper to get some extra swag.

    Whew. That’s a lot of swag and we’re just on the first day.

    Finally I noticed that someone at the show had a sense of humor, but if you don’t get it don’t worry. You need to be at a certain geek level (almost attaining nerd status) for it to be funny.

    All your cart are belong to us

  • TechEd 2006 - Day 1 - It's alive!

    9:49 AM. July 11. 2006.

    Remember that date. It’s not only the start of TechEd 2006, but the birth of our very first Bacteria Farm.

    Yup, this morning we decided to start up the Bacteria Farm and see what we can grow over the next 5 or 6 days. Of course, creating the cultures were a challenge unto themselves. The instructions were simple and even a child could understand them. Boil some water, create a glucose solution, and seed it with some bacteria.

    That was the first problem. In a hotel room, boiling water isn’t that easy. So we started looking around the room for stuff we could do. After all, they provided us with water (at $4.50 a bottle) so that was taken care of. The problem was boiling it, as the hotel doesn’t regularily provide it’s guests with hot plates or kettles (some kind of fire regulation thing).

    We started looking around to room to build a make-shift cultivator. We had a steam iron and ironing board. We had glasses. We had water. Now we’re talking.

    It was all very MacGuyver like which was cool and made me want to create an explosive device out of left over computer parts (or a birth control device out of a MP3 player and a toaster). The problem is that it would have taken about 3000 years to get up enough boiled water in order to mix the glucose together. In the end we just used the hot water from the tap which was pretty hot. Yeah, not entirely scientific but it’s not like we’re growing ebola here (well, time will tell).

    The bacteria is alive!

    Next was the actual mixture. Being the typical developers we are, we didn’t RTFM so we tossed a small packet of glucose mixture (btw, this would have never got past the dogs at the airport) into a small glass of hot water. It seemed to turn out thick. Very thick. Thicker than the Boston accent here. After realizing that we were only supposed to use 1/4 of the packet, the water began to flow. And flow. And flow. And flow.

    About a half hour later, we had some kind of base that we could add bacteria to. It’s been about 4 hours since creating the base so now I’ve added the actual bacteria to the petri dishes, as per the very helpful instructions. They say to go find bacteria in various places like dog fur and sheeps bladders, however I just don’t have any of those in Boston (if anyone knows of a handy place to get sheeps bladders let me know). So I filled the dishes with various things around the room. Here’s the rundown on our Bacteria Farm:

    • Petri 1 (top left) – My mouth
    • Petri 2 (top right) – My left shoe after walking around TechEd and Boston Harbor all day (and some kind of goo that I wiped off of Hanselman)
    • Petri 3 (middle) – The base of the toilet at the Lenox
    • Petri 4 (bottom left) – Inside the sink drain at the Lenox
    • Petri 5 (bottom right) – The window sill outside our room at the Lenox

    God. So much news to report and so little time (in a very Willy Wonka like fashion). Scoble is leaving Microsoft which is being touted as the biggest mistake Microsoft made (although some wonder if he did anything to improve it). I had dinner with John Lam, Scott Hanselman, Bill Evjen, and others and we talked about everything (mostly the type of planes that were roaring over our heads). John has put the Ruby seed in my head (curse you John!) and I’m going to give it a shot. Who knows? Ruby? SharePoint? Might make for an interesting (and perhaps powerful) combo.

    Scott and Bill

    The morning was spent at an MVP Event with our good friend Sean O’Drisco (the head of the MVP program) and just talking about the evolution of things. Fun and informative. Again it was great seeing new and old MVPs and I got a chance to talk to the InfoPath guy (sorry, can’t remember your name) and how SharePoint 2007 and InfoPath were going to rule the world. I’ll pass on a great tip later after I check it out in my VM which he told me about.

    Sean gives us the business

    A brief lunch, and I headed off to register at the event and get some orientation for tommorow. I’m spending the majority of TechEd at the Office Technical Learning Center. This is like an uber Ask the Experts booth, but with Hands on Labs, chalk talks, white boards, comfy couches, and small (20–25 people) theatre presentations. All great stuff and I hope to demo and talk about lots of 2007 stuff. Drop by and say hi if you’re down here as I’ll be pimping the MS warez with AC, Woody, and others.

    Technical Learning Center

    I’ll be back later with news from the floor on TechEd and what’s going on, TechEd swag (or is it schwag? what’s the official term?), and other goodies. I’ll also be posting my TechEd schedule, my BOF session on Thursday, and whatever else I can spit out between now and tommorow.

    Nothing like living vicariously through a silly MVP at TechEd huh?

  • TechEd 2006 - Day 1 - Let the bacteria begin!

    So it’s TechEd and here we are in Boston. We went out and grabbed some food last night at Bertucci’s, a local brick oven delight (hey, any Italian restaurant that has a website is aces in my books). Absolutely great food and walking distance to the hotel. While walking there we passed by Trinity Church, the Boston Public Library, and a few other churches that look like they were built sometime around the creation of man. Incredible architecture so I’m going to be snapping a lot of pics this week.


    The hotel is awesome and on the TechEd circuit so we’ll be able to grab a bus anytime. We’ll see how the buses go. At PDC they were great, and ran all the time so hopefully thing will go as smoothly. The Lenox hotel looks great and is a good size with free WiFi (take that airports!). We do have two beds as James decided it wasn’t going to be Planes, Trains, Automobiles for us. It’s a good view out the west window and the weather has cleared up this morning from the rain we had last night.

    TechEd - The Hotel Room

    Finally today is the first day of our bacteria experiment. I was in a store at the Minneapolis airport and spotted the oddest thing. Bacteria Farm! It’s a kit you can grow bacteria (complete with it’s petri dishes) and Jo-Jo the dog faced boy who sports the cover was just calling out for me. I think it was the American Gothic flavour it had on the box with Jo-Jo holding his pitchfork dressed in overalls that did it for me. I’m just hoping James and I don’t look like Jo-Jo by the end of the week and the completion of the experiment. Watch for bacteria updates all week long, as we now have a purpose here in Boston.

    Bacteria Farm!

    As for the bacteria itself, they’re just so darn incredibly cute. Like those cute Sea Monkey ads from the comics in the 70s, these critters are just so cuddly (even if they are 0.0001 inches in size). Look at them? How can you not love these guys, even if they will kill a 180 pound man (or water buffalo) in 120 seconds.

    Bacteria people

  • TechEd 2006 - Day 0 - Fire in the hole!

    Well, here we are off to TechEd 2006. I’m traveling with James Kovacs and we’re splitting a room at the Lenox Hotel here in Boston, so it’s all good.

    Is it a Minneapolis thing or what? There were dozens of Amish people on the plane which was odd to me (not hanging out with the Amish very often). Didn’t matter to us since it wasn’t like they were looking for us to seed the community or anything, I just thought the whole Amish/Mennonite thing generally avoided technology. Just shows how ignorant I am about the world.

    As we flew into Minneapolis we passed over a fairly large plume of smoke with a grass fire or something fueling it. Hey, when you’re geeks at 30,000 feet any excitement is fun. Although the picture doesn’t look that terrifying, it certainly was more impressive when we went over it.

    Grass fire

    As we were deplaning at the airport, they announced that walking sticks were available as we left. Cool. James and I looked at each other and thought “free stuff!” as we leave. Way to go Northwest. Unfortunately no, they didn’t have any walking sticks for us. We’re landing in Minneapolis and then doing a 4 hour stop over to Boston. Of course, as geek-luck would have it we’re re-planing in concourse F10. I would have personally preferred the F1 concourse as I think they would have been more helpful, but at least there’s power here to plug in while I drain my laptop battery.


    I’m always fascinated by the oddities there are at airports. Like why would an airport have a dry cleaners? Are people that desperate and have that much time on their hands to really get laundry done while traveling? The Minneapolis airport is no exception as there were a couple of things I haven’t seen before. One was a phone charger which I thought was cool and it supported almost every type of phone. The problem is the 15 minute wait for the “turbo charge” service. The other one was a little odd. It offered scratch and win lottery tickets. Yup. Drop a buck in the machine and get a lottery ticket. My brain just doesn’t get it and I look at this as a poor mans VLT. Guess walking over to the magazine rack isn’t good enough for some people.

    Scratch 'n' Go

    Of course I’m grumbling that there’s no free Wifi. Scratch and win dispensing machines, but not Wifi. Is there somebody we can contact and tell them how much we’ll love and cherish them if they just tossed us a frickin’ bone and gave us a connection to check our mail? What’s even worse is that these pay hot spots (like the one here) charge $6.95 for the day. Okay, that’s not too expensive and works for me but since we’re only here for a couple of hours, it’s not $6.95 per day, it’s $6.95 per hour (more or less). I don’t see anyone who would hang around an airport all day long and if they did, then Wifi is the last thing they probably need.

    Well, as long as there’s no free Wifi at airports I’ll continue to gripe and bitch about it.

  • TechEd 2006 - Day 0 - If I was a passport, where would I be?

    Well, it’s less than 10 hours before I plane (the opposite of deplane) for Boston and TechEd 2006. It took an hour to gather up the stuff seen below. About 10 minutes to gather up the tech stuff we need for the trip, the other 50 minutes were looking for the elusive passport.

    TechEd, here we come

    Here’s the rundown on the gear I’m taking this trip:

    • Compaq Presario laptop for demos and whatnot (catch me sometime to demo the SharePoint Forums Web Part running on Office 2007)
    • Watch (because I can never tell what time it is)
    • Cell phone (because I can never remember to bring my watch)
    • 1 256MB Kingston USB key
    • 1 64MB Kingston USB key
    • 1 1GB SanDisk USB key
    • 1 2GB SanDisk USB key
    • Microsoft wireless mouse (for the laptop because the TouchPad doesn’t always work)
    • Dell wired mouse (just in case the batteries die in the wireless mouse because you can’t turn it off)
    • Sony DVD Camcorder (my better half will kill me if I lose this)
    • 1 MVP Backpack for goodies
    • 1 MVP Laptop case for the laptop
    • 1 Sony PSP to keep myself busy between the wee hours of the morning
    • 1 Creative Web Cam for video conferencing with home
    • MSDN DVDs just in case I need to do an install
    • 1 250GB Iomega external drive (holds source code, VMs, porn, MP3s, etc.)
    • 1 80GB Iomega external drive (backup for various stuff)
    • 1 TD Canada Trust Visa card (for hookers or laptops or whatever cool stuff I can buy down there)
    • 1 CIBS Aerogold card (to pay off the TD Visa card)
    • 1 Linksys router (so we can share the pain in the hotel)
    • Various badge holders and clips as they always come in handy
    • Various PSP games to keep me occupied (Katamari, Liberty City Stories, Burnout Revenge, etc.). Couldn’t fit the XBox 360 in the suitcase.
    • Power supplies and more cables than you need to hook up and run everything

    I just wish that Jimmy Nilssons book Applying Domain-Driven Design and Patterns : With Examples in C# and .NET had come in from Amazon so I would have something to read, but my PSP and James’ company should keep me happy.

    Yeah, there’s a little room for my spiderman under-roos and a couple of shirts and pants, but that’s about it.

  • Hello, MS Marketing... what are you smoking?

    Whatever it is I want some. Fast. Before you change another name.

    Okay, awhile ago MS introduced us to a couple of cool cats. Indigo and Avalon. Just like naming your mail server Hermes and your primary domain controller Zeus, it’s cool (as in geek cool, not something you can pick up women with). Indigo. Avalon. Nice.

    No, they don’t tell me what they are or what they do, but then Windows Professional 2000 didn’t either (and neither did Microsoft Bob for that matter). I am however still waiting for Windows 2000 Amateur Edition.

    However they sound, they sound good. They look good on a slide deck. And they’re easy to remember. After all, developers can only remember two things.

    So what’s the latest trend? What’s all the bruhaha now?

    Those cool code-names that we liked and could remember became the Windows Presentation Foundation (WPF) and Windows Communication Foundation (WCF) and Windows Workflow (WF). And to make it easier to write (and remember) they were all packaged together into something called WinFX. Great, WinFx. I can remember that and it certainly fits on the slide. No problem.

    Oh but wait, WinFX isn’t right. It doesn’t describe what it really should be and we need something better. So WinFX is now known as… The .NET Framework 3.0



    Right, I get it. The current 2.0 framework is going away and a 3.0 framework that has a million other things in it (WPF, WCF, etc.) will replace it. Makes sense. 1.0 begat 1.1 which begat 2.0 which begat 3.0. I could live with that.

    But alas, no.

    The newly renamed .NET Framework 3.0 contains the (current) 2.0 CLR (which we call the .NET Framework today and have been since 1.0 days). The rename is to make the technology be named after what it represents, the next version of the developer framework.

    Ummmm, yeah. There is a good blog that discusses and outlines it for those that are still scratching your heads. Check it out here. Personally it’s downright confusing. Yes, they’re all code names and code names (like Longhorn which begat Vista) are meant to be fleeting but this last change is just plain odd.

    The current framework (can I even call it that now?) installs in the C:\WINDIR\Microsoft.NET\Framework\v2.0.50727 (or v1.14322) directory. So they’ll be a new “framework” installed under here in a “v3.0.1024” directory? But if the 2.0 CLR is part of the 3.0 framework and it’s in a different folder and you can’t be in two places at the same time…

    Oh god. I think my head just exploded.

    I’m with Sam on this and think that Microsoft marketers (or whoever is responsible for this and thinks it’s a good thing) have lost it. My next book is going to be called “Tips and Tricks of the .NET Framework 3.0 Gurus Featuring That Old 2.0 Framework That Has Been Around For Many Years Now”.

  • MSDN Wiki launches

    Hey guys, what has MSDN not been the past few years? Yes, it's a tree view of 100,000 million documents, SDKs, etc. that is all searchable and great but it's been missing something like say .. has.

    Microsoft stepped up and has publicly launched the MSDN Wiki!

    The MSDN Wiki site experiments with ways that Microsoft can integrate community contributions into the Visual Studio 2005 and .NET Framework 2.0 documentation. This is only phase one and there's more to come. On the site you can add content and edit other people’s contributions in a wiki-like fashion around the official Microsoft-authored docs. In the future Microsoft wants to take this further by allowing people to edit the Microsoft-authored docs directly.

    Check it out and let the guys in the MSDN Wiki Connect Workspace know what you think!

  • Calgary Code Camp Slides, here comes TechEd...

    As I’m screaming through the 101,000 things I need to get done before TechEd (we leave Saturday) I’m just (finally) getting the Code Camp materials online. Sorry about the delay. You can grab the two slide decks here:

    I once caught one this big

    I had to go commando (of sorts) when I did my presentations so it was Notepad++ all the way. I was in the middle of moving from Office 2003 to Office 2007 and uninstalled everything. The morning of the Code Camp I wondered why my .PPT files were not showing that familiar Office icon.

    Silly rabbit.

    I had uninstalled Office. So I was left without a way to run my slides (not that I really like putting too much into the slides anyways).

    The 20 Cool Tools presentation was fun as we ripped through as many tools and demos as we could (and that would work). The deck has each tool listed with a URL to get a copy. It’s actually 21 tools as I stumbled over Red Gate Softwares SQL Prompt which just kicks ass so I had to include that. BTW, it’s free until September 1st so go grab a copy now!

    Code Camp Setup

    I’m still cleaning up the Web Part and Master Page demo so that’ll go up in another post later tonight. It was all good in the end but here are the slides if you’re interested.

    After that, we go through the vast array of electronic inventory that I’m bringing to TechEd and start a 7 day series of blogs. Watch for the starter tommorow as I kick off with my itinerary, where I’ll be, how to contact me, what I’m going to be blogging about, and some extra special things that I’ve never done before (watch out Scoble!).

    It’s going to be a busy week.

  • Simple NAnt integration with Visual Studio

    Generally I use the most excellent TestDriven.NET for my building in Visual Studio as it can run tests and identify failed tests (with a context to jump to the error). Often though I have a setup (usually with a client) where they don't have the ability to run this addin or just want to build their systems and don't have unit tests (yes, it does happen, oh horrors of horrors). Also TestDriven.NET won't build an entire system and do additional stuff like maybe copying files for deployment, running database scripts for agile database development, etc. so you look to something more complete to automate the process.

    The key thing about building systems when you have multiple team members is to have everyone build the same thing. We want to avoid the "it works on my machine" syndrome. This can be a problem though when someone goes off and tweaks some personal setting, or only builds part of the solution and forgets steps if the build is complicated. For the most part it's as simple as Ctrl+Shift+B, but sometimes that's not enough.

    That's where NAnt comes in. JP Boodhoo has an excellent series of blog posts on automating your builds with NAnt in his NAnt Starter Series (I highly recommend JP's blog in any case as it just plain rocks) but I wanted  to pass on a quick tip for those of us that want to get our feet wet, but don't want to leave the comfort of the Ctrl+Shift+B world.

    If you've followed his series or have your own simple build file that you want everyone to use here's a super-simple way to make it your default build tool:

    1. Create a new External Tool by going to Tools | External Tools
    2. Click Add to add a new tool
    3. Give it a title of "NAnt"
    4. Browse to the location of the NAnt.exe file wherever you have it downloaded to
    5. Set the initial directory to $(SolutionDir) (where your .build file resides)
    6. Click on "Use Output Window"
    7. Click OK
    8. In the external tools menu, select NAnt and move it up to the top so it's the first tool (we'll see why later)

    Now override the default keybinding of Ctrl+Shift+B to run this. Here's how:

    1. Go to the Options dialog by going to Tools | Options
    2. Under the Environment node in the tree click on Keyboard
    3. Find the command called "Tools.ExternalCommand1" by entering it the "Show commands containing:" text box or scrolling through the list
    4. Click on the "Press shortcut key(s):" text box
    5. Press Ctrl+Shift+B
    6. You'll see it's already assigned to the "Build.BuildSolution" command but click on the "Assign" button to reassign it
    7. Click OK to close the dialog.

    Now, armed with your .build file in your solution directory press Ctrl+Shift+B and it will open up the Output window, run NAnt (which will run the .build file automagically) and output the results to your window. Grant you, if the build fails it won't highlight the error and let you click on it to go to the file but at least the build will run automatically and everyone will be on the same page.

    If you have any additional steps that would be done as a result of the build (running unit tests, copying files, etc.) you can just edit the .build file (hint: make it a solution item and put it under source control as it's no different than code) and rebuild. All the steps will happen and everyone in the team will be running the same sequence of events when they build the solution.

    These instructions are for VS2003 but VS2005 works the same.

  • Performance fix for SharePoint Forums

    Okay, I’m human and prone to mistakes. I did a silly error when I released my SharePoint Forums Web Part in dynamically calculating post counts. I thought I was being smart by just using the value of the collection objects, trouble is that they’re all lazy loaded so when something like the stats come up for the site, every freakin’ message in the system gets loaded into memory.

    Simple fix and will be included in the next release. For those of you with a few hundred messages (and growing) you’ll find a huge difference. I test filled the system with 100,000 messages (yes, you can do that in SharePoint lists if you do it right) and load times are back to under 1 second, which is where they should be.

    Probably too many Fritos and Mountain Dew that night for this code monkey.

  • Adobe, give yer head a shake

    I really don’t want to be Bill Gates.

    Yeah, you heard right.

    Even with a trillion dollars in my bank account and enough money to buy Belgium I just really wouldn’t want to be him. There’s just so much crap going on in the Microsoft world, I sometimes wonder how he sleeps at night (on a mattress filled with BillBucks?).

    Yes, yes. Microsoft is evil and all that DOJ jazz, blah, blah, blah, blah, blah and they have to tread carefully when embedding things into operating systems and everyone cries foul when something comes out that’s apparently unique but has really been around for years. However this Adobe thing is just silly.

    Last October when were were at the MVP Summit, Steve Sinofsky (he’s really a nice guy despite 2,000 people at a TechEd presentation walking out on him) dropped the bomb and told us Office 2007 (then Office 12) would support saving PDF formats. Out of the box. And told us to go blog about it. There was much rejoicing.

    That was October. This is now.

    According to CNET (which we all know how much of a technical resource for news it is) Adobe pipes up and cries foul and says that MS has to remove the saving as PDF feature or else bad things will happen (we’re not sure what those bad things are, but I’m sure they would be more court days and mudslinging).

    It’s all very confusing. Joe Wilcox wrote up a good take at Microsoft Monitor on what was reality compared to the various claims being tossed around the media circuit. Brian Jones, a PM on the Office team, has a writeup on what’s going on from his side of the fence. There’s a Channel 9 interview with the Office team developer who created the feature (from back in January). Heck, even Scoble got his say on things (which doesn’t surprise me as that blogging machine doesn’t seem to sleep).

    News travels fast. And wide.

    So what’s with Adobe. Is PDF open or not? According to Adobe it is since they have the PDF Specification online (and have had for awhile). If it’s online and Adobe says “Adobe publishes the PDF specification to foster the creation of an ecosystem around the PDF format.” then why are they bitching about Microsoft releasing a product supporting this “ecosystem”. More importantly, why does Adobe wants MS to charge their customers extra BillBucks for this feature.

    Not only do Word Perfect (sorry, I refuse to call it Word Perfect Office) and OpenOffice support this and have a PDF feature, there are gobs of free PDF tools out there all producing Adobes much touted “open” file format (and some that plug into Microsoft Office).

    That’s pretty open from where I sit.

    At least it looks like MS is going to play nice and remove the feature but offer it as a free download. That’s a bummer because I keep stumbling over Office workers and users who have no idea there’s a thing called the “interweb” out there, let alone downloading an add-on and installing it. Hopefully the IT guys of the world will download it and make it part of their corporate images or something so at least the untechs who know not of this thing called the internet (or is it the Internet? I can’t never be sure) will have their precious PDF functionality (which should make at least the legal suits happy).

    Kinda sucks that one mega-corp goes off and tries to dictate what another mega-corp is charging their customers for. Like I said Adobe, give your head a shake and stop being such a pissant in the technical sandbox. Oh here’s how we made our sand so you can build your own sand castles if you want, but only if you’re not that big bully over there with the biggest sand castle machine of the whole beach. Sheesh.

    P.S. Bill, if you’re reading this (as I know you always keep up with my blog) then feel free to hire me as your personal SharePoint guru and all around code monkey. I would be quite fine with that too.

    P.P.S. Brian Jones has a second update (or maybe it’s a third) on the PDF legal issues here on his blog. Good read to round out this discussion.

  • Friday catch-up blogging

    I’m just going through a few hundred emails and RSS feeds as I do everyday and getting caught up (in addition to dusting off my workspace due to construction out back). I wanted to address a few things in the SharePoint Forums Web Part.

    First is performance. Some people have mentioned it’s taking a long time to load the pages when there are a lot of posts. I’m going to do some more tests this weekend and see what’s going on. When I first built it, I had a small routine to fill the forums with 10 posts in 100 topics in 10 forums, which I thought was a good test (10,000 messages). Load times were negligible (less than 5s) even on my VM so I thought this was acceptable. I’ll go back and revisit this and might have to do something different for the June 19th release.

    Second is deployment. I still get emails from people who are putting the files in the “web server extensions\bin” folder so obviously my instructions are not clear enough (or people are not reading). There are some that refuse to put my dll in the GAC which is fine (you can deploy that assembly to the bin folder if you want). And there are others that still have security problems. So I’m doing a couple of things to rectify this. First I’m going to recheck the impersonation code and run it on a portal with an account that absolutely has no permissions. I’ve done this before and it worked fine, but this time I’m going to set it up and screenshot/cast it so you’ll see the step-by-step which should help you configure it in your own environment. Second, I’m going to produce a special single-dll version of the code for the next release so you can just deploy the web part and not have to worry about where this file goes or do any ugly GAC stuff. Finally, I will get an installer working (and maybe take another stab at with the single assembly) but this probably won’t be ready for next release as I have too many things to do before now and then.

    As for the source code, it is going to be posted on CodePlex and no, I’m not hiding anything. I’m just trying to figure out how to get the silly thing up there without having to “upsize” my 2003 project to a 2005 one. I wish the command line would just do a “tf -import” or something but it keeps looking like I have to import every file AND associate every checkin with a package. Oh, how much I LOVE Team Foundation.

    And yes, I still need to post the Calgary Code Camp presentations and code. Watch for that this weekend.