Home from Barcelona#

Okay, now I feel like I got to have some fun in Barcelona.

On Friday after the show was over, Greg and I headed out to the Speaker's Dinner.

The dinner was great - we sat in large group tables with waay too much food. All kinds of hot and cold tapas, and then a big buffet. This is really the only time you can get together with all these folks, and with the show over, they're actually fairly relaxed (there's a tension to anyone who has a session coming up).

The folks that organize Tech Ed hand out awards to the top ranked speakers, and called out Greg and I for a great effort at running Speaker Idol.

After dessert, Greg headed for the hotel... he's sensible that way.

I, however, stayed late. And when the dinner was breaking up, I went on to the nearby disco with a group of folks.

Around 2am I looked at my phone and realized I had to fly in five hours... ack!

I quickly said goodbye to everyone, ran out of the disco and jumped in a cab. I arrived back at the hotel a half hour later and packed my bag. And I realized there was really no point in going to bed... I took a shower, watched a little TV and went to the airport a bit early.

I don't remember much of the flight... changed planes in Frankfurt somehow and made it all the way home. Slept most of it.

What a great show... looking forward to it next year!

Saturday, November 17, 2007 8:57:54 PM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Tech Ed Barcelona IT Forum Day 5 - Everything Ends#

The last day of Tech Ed is always kind of sad. A lot of folks fly out early on Friday.

Greg and I got a RunAs interview with Kim Tripp and Paul Randal, two dear friends of mine. It was very hard to get serious enough to actually get through the interview, it was another big laugh fest.

With Speaker Idol over, our schedule wasn't quite as tight, but at noon we were still back at the Community Lounge one last time for two events - the last passport draw and a reprise of the 64 Bit Question.

Since it was the last day of the show, we offered to give away as much swag as people had left over... and they delivered. When we arrived at the Community Lounge the place was buried in swag. Greg and I spent a good half hour just doing inventory.

In the end we were able to collate a dozen bundles of prizes for the 64 Bit Question. Every contestant got a copy of Vista Ultimate, Office 2007 Professional and an MS Press Book. One contestant won an HTC Touch! Beyond that, there was dozen of t-shirts, extra conference bags, Microsoft mice, pens, notebooks... it was literally a large table covered in stuff.

When the 64 Bit Question was over, we ran over to the table and started throwing things to the audience. They helped themselves as well. In minutes, everything was gone.

And the conference, more or less, was over. At least for us. We started making our goodbyes.

Its astounding how many people it takes to run a conference of this size. Saying goodbye and thanking the folks we worked directly with took a couple of hours.

We got back to the hotel relatively early, but we weren't done yet - Greg and I had invitations to the Speakers Party!

Friday, November 16, 2007 2:13:00 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed Barcelona IT Forum Day 4 - Speaker Idol Ends#

We started out the day doing RunAs interviews - we've been so busy doing other sorts of interviews that we hadn't taken care of our own stuff well enough. The good news is that there's lots of amazing people at IT Forum and getting a great interview is pretty easy.

The big event today was a double dose of Speaker Idol - Wave Four *and* the Finals.

Wave Four was a really strong group of competitors, Jakob Heidelburg won in a very tight competition.

We had a chance to grab a quick bit before racing back to the Community Lounge for the Speaker Idol finals. Then our mystery judge was revealed - none other than Mark Russinovich!

Before the competition could start, we had a special announcement. Mark Budzinski, the winner of Wave Three took the stage and very graciously explained that as much as he enjoyed Speaker Idol, he did not plan to be a speaker at Tech Ed in the future (which is the goal of Speaker Idol after all), and so declined his slot in the finals. The audience gave him a fine round of applause.

That left us in a bit of a spot - we were missing a competitor! Ilse Van Criekinge was the runner up of Wave Three, so she filled in. And don't worry, we knew about Mark's situation the night before and we gave Ilse some warning... just wanted to wait until the finals to make the announcement.

So now we had our finals line up: Peter Mendelsohn from Germany, Maral Topalian from Lebanon, Ilse Van Criekinge from Belgium and Jakob Heidelberg from Denmark.

All four competitors were very talented, I think every one of them would make an excellent Tech Ed speaker.

It took awhile for the judges to tally up their scoring, then the results came in. The winner: Ilse Van Criekinge! Ilse won a speaker's slot at Tech Ed IT Forum in 2008. The runner up was Maral Topalian. Maral wins a delegate ticket to Tech Ed IT Forum in 2008 (although everyone suggested she submit sessions too).

I was blown away to realize that the first two women competitors in Speaker Idol came in first and second. As the competition came to a close, there were lots of interviews for the contestants.

When Greg and I finally got clear of the hub-bub around Speaker Idol, we grabbed Steve Riley, snuck off to a quiet corner and grabbed a fun interview. Steve is such an entertaining guy, I think most of the edits for the show will be lifting out the excessive laughter.

Then it was back to the Community Lounge for another passport draw. Then back to the FishBowl for more interviews.

It turned into another late night... Greg and I had dinner at the hotel and crashed early. One more day to go.

Thursday, November 15, 2007 4:55:00 PM (Pacific Standard Time, UTC-08:00) #    Comments [4]  | 


Tech Ed Barcelona IT Forum Day 3 - Interviews and More Interviews#

Today was the busiest day so far doing interviews. In the FishBowl they're really only equipped for one-on-one interviews, so Greg and I have been sharing duties when they come up, largely based on topic.

Around noon we split to the Community Lounge for Speaker Idol. The wave had the other woman competitor, by the name of Isle Van Criekinge. However, she didn't win the wave, the winner for this wave was Mark Budzinski.

After Speaker Idol we grabbed some lunch, squeezed a couple of RunAs Radio interviews in and then went back to the Community Lounge for the Passport Draw.

The Passport Draw is based on passports handed out in the vendor space that the attendees take with them from booth-to-booth, getting stamps in it. When the passport is full, its placed in a draw box at the help desk.

On Wednesday, Thursday and Friday Greg and I draw from the box for a winner of a nice Casio camera.

Today was the first draw, we drew a huge crowd (its really a nice camera), did the drawing and tossed out a bunch of t-shirts as well.

Once the drawing was done, we were actually done for the day, and at a reasonable hour! We finally had a chance to get out of the conference center and head to Las Ramblas to have some fun.

Zaak and Susan joined us for dinner at a great restaurant called The Four Cats. Apparently Picasso used to hang out there! The food was lovely (I had an Iberian pork dish). We rode the subway there and back, the system in Barcelona works great and the TechEd folks gave us free subway passes.

Wednesday, November 14, 2007 6:03:00 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed Barcelona IT Forum Day 2 - Women in Technology#

Now that the body of the conference is underway, Greg and I settle into a routine. We hang out at the Virtual TechEd FishBowl and do interviews all day. For the IT Forum Virtual Side the interviews tend to be short - only five minutes or so. For Virtual TechEd the interviews are longer, 15-25 minutes or so. And then there's RunAs Radio - sometimes we do the interview in the FishBowl, but since its audio-only, that's not required, so we'll sneak off to some quiet corner, often the speakers lounge, to do the interview there.

We certainly don't do all the interviews, Tony Krijnen and Daniel van Soest from the Virtual Side have been handling most of them, and in some cases the interviewee comes with an interviewer. But when Tony and Daniel are booked and there's an interview to be done, Greg or I will step in. Its good fun.

Around lunch time we head for the Community Lounge in the vendor's hall to host the second wave of Speaker Idol. And for the first time ever (as far as I know, anyway), we had a women competitor in Speaker Idol - Maral Topalian from Lebanon. To top if off, Maral won wave two!

In the evening Greg and I went to the Women in Technology dinner. No, we're not women, but we weren't the only men there either. It wasn't a large group, only around 30 or so, but it was a fascinating discussion from my point of view. As a father of two daughters who are technically savvy (they really have no choice in the matter), hearing the challenges of women working in technology surprised me.

Tuesday, November 13, 2007 4:46:02 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed Barcelona IT Forum Day 1 - Starting Off Fast#

We started out today at a sprint - bringing Greg into the conference center and getting him badged up, then straight to the trade show floor where the Community Lounge is, which includes the Speaker Idol stage.

First on the agenda: The Speaker Idol briefing. Most of the contestants were there, including two women (first time ever, as far as I know). There's a total of seventeen contestants over four waves. The first three waves will have four contestants each, the fourth wave will have five contestants.

Each contestant in the wave does a five minute presentation in front of a panel of judges and an audience. Greg and I are the hosts, we introduce the judges, the contestants and generally move things along. Our job is pretty easy until something goes wrong and we have to keep things moving anyway.

The waves run Monday to Thursday. Monday the wave is in the evening, the rest of the week the waves are at lunch time. In the afternoon on Thursday there's the finals, in which the winner of each wave presents a second time.

The judging panel is made up of Andy Malone (last years winner), John Craddock (presenter extraordinaire), Michael Anderburg (the security track chair) and none-other than Steve Riley, the over-the-top, anything-goes-just-get-your-message-across world class speaker. Rumor has it we'll have a mystery judge for the finals.

The first Speaker Idol was last year at the developer week of Tech Ed Europe - Carl and I served as hosts. We then brought Speaker Idol to Tech Ed US, which went extremely well. Coming back to Europe I could see we'd learned a few things about putting on the event, it was that much smoother than last year.

After the briefing, I reviewed the swag for 64 Bit Question - we would be doing the game show immediately following Speaker Idol. We've done the 64 Bit Question a number of different ways, depending on the environment. This was the first time we'd be doing an all IT audience 64 Bit Question, which just meant a different set of questions. When we do the game show in a session room (with everyone seated), we can do a more elaborate format... but for the Community Lounge (with everyone standing), we go with the simple format: one contestant, one question, one prize.

With a few hours to spare between the meetings and the first wave of Speaker Idol, I headed for the speakers lounge and discovered that two floors below was the Virtual TechEd Fishbowl! And there, sitting in the front, my dear friend Zaakera Stratman, the boss. I first met Zaak at Tech Ed US when Virtual TechEd first took off and we coined the name "FishBowl" for the plexiglass room that all recording and editing is done in.

At Tech Ed Europe, the FishBowl was stashed away in a lower part of the conference center, which is unfortunate because very few people got to see it in action. The whole point of the FishBowl is to be visible within the conference. But, space constraints being what they are, you work with what you've got. Zaak was struggling with getting enough interviewers for all her interviews, so Greg and I pitched in immediately.

A few interviews later we had to run back to the Community Lounge for the first wave of Speaker Idol. The trade show floor had just opened and the crowd was massive - hundreds of folks were in the Community Lounge. The first wave is always a challenge as we knock the bugs out of the process, but for the most part things went smoothly, and in about an hour we had our first wave winner: Peter Mendelsohn.

Then it was time for the 64 Bit Question, which flew by - we did a dozen questions, grabbing folks from the audience to answer them. Some knew the answers right away, some had a bit more challenge, but in the end, all the prizes were given out.

With that, we were done, and it was late... Greg and I hadn't had a chance to eat or anything. Fortunately, nobody in Barcelona eats early, so we grabbed dinner around 10pm at one of the restaurants on the way back to the hotel.

Tomorrow would be an easier day of interviews for Virtual TechEd, for IT Forum Virtual Side and for RunAs Radio... and one more wave of Speaker Idol.

Monday, November 12, 2007 6:32:00 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed Barcelona IT Forum Day 0#

Just arrived in Barcelona for Tech Ed IT Forum after 15 hours of travel... which is good speed, all things considered. Greg arrived the day before me.

This whole week is totally focused on RunAs Radio related tasks, since its all IT. We're hosting Speaker Idol and the 64 Bit Question, plus grabbing as many shows as we possibly can. No sessions, no panels, no trade show, no developer stuff at all.

I was in Barcelona last year, so things seemed relatively familiar. What I didn't remember is that there's only one ATM machine in the airport and most ATM cards don't work in it anyway. And I forgot to grab my excess euros before leaving the house, so I had no local currency.

Then I spotted the IT Forum girls, directing folks like me toward the buses. A free ride to the conference center - great solution.

Arrived at the conference center to discover I don't exist anywhere in the system, but enough fussing and contacting the right people gets me a crew badge. Then I walked to the hotel - not the Hilton right beside the conference center, but the Vincci Condal Mar, a half mile away or so.

So I may be jetlagged, but I'm fully booked in and ready to get to work tomorrow.

Sunday, November 11, 2007 5:20:00 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Home from Tech Ed US 2007#

Slept in today, first time the whole week. I deliberately took the afternoon flight home, so I didn't have to hurry Saturday morning to get home.

Caught up email, packed everything up... which is tough, somehow I ended up with more stuff than I came down with. All expandable panels OPEN.

Carl and I rode together to the airport. We got there early enough to get through the lines fairly quickly and sat down at the Macaroni Grill for lunch. Last chance to chat before going our respective ways.

All in all, an incredibly successful week. Strangeloop wins a Tech Ed Best in Show award. Carl wins RD of the Year. And we have a really great time podcasting and performing for the Tech Ed attendees. Couldn't ask for more.

I decided to upgrade myself on the flights home, I deserved it. Made the trip much more pleasant. Arrived home on time, no bags lost. The girls are away camping, so just me 'n the wife. The dog is happy to see me.

The insurance on my car expired while I was gone. Guess I have stuff to do on Monday.

Home good!

Saturday, June 9, 2007 9:44:45 PM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Tech Ed US 2007 Day 5: The End of Everything#

Another early start. The video folks at Virtual Tech Ed wanted to interview Strangeloop about winning Best in Show for Web Development and Infrastructure. The only way we could fit it into the schedule was to come in at 8am. Josh Bixby and I did the interview with Bryan Von Alexson where we talked about what AppScaler was all about and what it meant to win Best of Tech Ed.

The last day of Tech Ed is kind of sad, really. A lot of people are already gone. The vendor space shut down on Thursday, so its all gone. Its a quieter day, a few anxious folks trying to score whatever swag is left, and trying to locate people they hadn't been able to find earlier in the week.

We'd only gotten three interviews for RunAs Radio, and now Greg Hughes was gone. Carl and I had the three panels for .NET Rocks, but we also wanted four shows as well. We decided on a vignette show for the last slot, a set of interviews that go together to make a complete show. The anchor interview for that show was with the Acropolis team. We got about a half hour interview with them in the lunch area, just before lunch started. Then we ate lunch.

After lunch I had time to prep for my chalk talk on ASP.NET scaling. Chalk talks are interesting things - they're not really sessions, but they're not really Birds of a Feather either. And with the talk being on Friday afternoon, you never know what sort of crowd you're going to get.

I decided against slides, I was just going to draw diagrams on the whiteboard as we went. The conversation tied pretty closely to my blog post on the Scaling as well. I drew an overflow crowd, and I saw Doug Seven peek his head into the back just before I was done. The folks seemed to enjoy the chalk talk, I had a good number of questions at the end, including "so where does Strangeloop fit into this?"

So, 2:30pm on the last day of Tech Ed. The show ends at 5pm. Everything that you could do is pretty much done. I wandered back to the Fish Bowl for one last shirt change... today had been a Strangeloop-to-DNR-to-Tech Ed Speaker day, I switched back to DNR for the end of the show. Jon and Josh were still in Orlando, so we agreed to go to a quiet dinner to talk about how the show had gone for Strangeloop. Carl found Mark Dunn and a few others to go to dinner with.

After dinner I found Carl, he showed me some great video he shot of the space shuttle taking off. He was a good 50 miles away from the launch, recording video in the Rosen Plaza parking lot. No sound, but a clear 45 seconds or so of something going up in a big hurry. Very cool. We adjourned to the hotel bar around 9pm for a few bourbons. Tomorrow we would both fly home.

While we were sitting there contemplating a pretty incredible week, who should show up but a whole group of the Microsoft folks that run Tech Ed! We talked for more than an hour about how Tech Ed went, what we would do differently, what we'd like to do next year. Lots of great ideas, sounds like we'll have even more fun next year!

Friday, June 8, 2007 10:04:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed US 2007 Day 4: The End of the Booth#

Started extra early this morning, probably too early. We scheduled the Identity Panel for 9:15am, in sync with the first break of the morning to draw a crowd. It worked, but I think people were a bit too tired from the Under-the-Influencers party the night before. Four days into Tech Ed, you need to think about these things.

And while I'm thinking about Tech Ed, let everyone be warned: Wear comfortable shoes! The Orlando Conference Center is insanely huge. Even if you never set foot outside, if you take a cab everywhere, you are going to be walking for miles. You need good shoes. Tech Ed is a marathon, not a sprint, be careful with your time and energy.

So meantime, there was the Identity Panel. Great line up of panels, including Ani Babaian, Richard Turner, Michele Leroux Bustamante and Scott Golightly. Pat Hynds handled the mike for me out on the floor, and threw in a number of important questions as we explored the topic of Identity pretty thoroughly. Lots of interaction from the audience, even though it was early in the morning.

After the panel I did not race over to the Strangeloop booth, it wasn't going to open 'til 11:30am, and the Speaker Idol Finals started at noon. So I had time to sneak another RunAs Radio interview in, this time with Richard Turner, fresh off the Identity panel. Only this time we focused heavily into the IT side of Identity, including discussions around Active Directory, server management, and so on.

Next up, the Speaker Idol finals. We had five contestants (instead of the planned for four), and decided to have them present in the order they won in: Bob Roudebush, Alain Tadros, Sarbjit Gill, Rob Windsor and Steve Smith. Joel Semeniuk had to leave Tech Ed early, so our judges were: Kate Gregory, Stephen Forte, Michele Leroux Bustamante and Chris Kinsman.

All five contestants presented the same five minute presentation they did during their heats. All five had adopted at least some of the recommendations that the judges had offered. All five were excellent - as far as I am concerned, they should all have speaking slots at Tech Ed next year.

But only one could win, I only had one guaranteed speaking slot to give away. The judges deliberated for a long time, Carl and I talked for quite awhile with each other and the audience. In the end, the winner was Steve Smith.

There was lots of handshakes and congratulations all around. Then I raced over to the Strangeloop booth, which was closing at 3pm. Only Jon and Josh were left to man the booth. Birgit headed home on Wednesday (and missed out on being here for the Best of Tech Ed win), Kent, Lee and Virginia all left Thursday morning. The last hour of the booth was pretty peaceful, but we met with a few interesting folks catching the last moments of the vendor space. At 3pm on the nose, a huge cheer went up, the air walls were deployed to start blocking the vendor space away from the rest of the conference. Jon and Josh started packing up the booth equipment, I headed back to the Fish Bowl to do another RunAs Radio interview.

This time the interview was with Jeff Sigman, talking about Network Access Protection. While there's lots of different aspects to NAP (and you'll have to listen to the show to hear them all), I went crazy for the concept of having different IP addresses assigned to a computer based on an assessment of risk. For me, this meant that finally, when I'm at a Microsoft office, I'll be able to get bandwidth.

We wanted to get four RunAs shows recorded, and we had three in the can, and just enough time to get one more, so we went out searching for someone to interview, but to no avail... so we ended up with three.

Thursday night at Tech Ed is Attendee Party night. This year the attendee party was in Universal City Walk, at the Islands of Adventure. I raced back to the Rosen Plaza to get changed, then over to the Rosen Center to meet up with everyone. Just as I was arriving, a large contingent of RDs (led by Stephen Forte, of course) were heading to the bus. I really wanted a drink, so Carl and I skipped the first bus and sat with Kim Tripp, Paul Randal and Brian Randall.

They made an interesting proposal: Lets go to dinner at Emeril's Tchoup Chop, which is at the Royal Pacific Resort, right beside the Islands of Adventure. I was ready for good meal that wasn't steak, so I was instantly onboard. We took separate cars, and our driver dropped us at the wrong end of City Walk, close to the OTHER Emeril restaurant there. As I walked in I said to the maitre de "This is not Emeril's Tchoup Chop" and he said "You are correct sir, take the ferry over there to the Royal Pacific Resort."

So Carl and I walked down to the ferry to discover it was closed due to lightning. So then we walk past the Islands of Adventure and all the way 'round to the Royal Pacific Resort. Its jungle steamy out, threatening to rain, and lightning dancing everywhere. We can hear announcements from Island Adventure that the rides are closed due to lightning. Suddenly we don't feel all that interested to go the attendee party.

It was a long walk, but it was worth it: Emeril's Tchoup Chop house is an excellent restaurant, we had a multi-course meal that gave us a number of lovely tastes, almost exclusively seafood, although there were other choices, I'd had enough meat for the week. And the conversation... well, the conversation turned to Strangeloop.

I told the tale of how we got started, and the evolution of AppScaler. Brian Randall was especially excited about it, its totally his area of focus, scaling out web applications. And it was right around then that Carl's favorite moment of the entire Tech Ed took place: When I finished explaining exactly how AppScaler's output cache learns what to cache, when to expire it and how to cope with expiry under load efficiently, Brian leaped up, grabbed my head and gave me a big kiss. I guess he liked it.

Thursday, June 7, 2007 10:04:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed US 2007 Day 3: Hump Day!#

Back at it bright and early Wednesday morning. Another day, another Speaker Idol heat, Heat 3, at 9:45am. But today is heavily, heavily scheduled. As soon as Heat 3 is over, we're into the ASP.NET Scalability panel. Then about a 90 minute break before the VSTS panel. And right after that, Heat 4 of Speaker Idol. And somewhere in there, I have to visit the Strangeloop booth for awhile.

Speaker Idol Heat 3 kicks off, our contestants are James Kovacs, Mauro Cardarelli, Sarbjit Gill and the wildcard, Rob Windsor. Again, the competition is tough. Michele had a session to speak at, so Scott Golightly stepped in to judge. At the end of the heat, the judges call me over for a ruling. They can't decide - they want a tie. I initially refuse, but then listen through the details.

The tie for them was between Sarbjit Gill and Rob Windsor. Sarbjit had done a demonstration of how to handle internal and external DNS routing properly. Its a topic I know well, but the primarily dev-oriented audience was impressed, they understood it too. And what made Sarbjit's demonstration totally over the top is that he did the whole thing in MS Paint. Drew it all in five minutes, explaining as he went.

Rob Windsor's demo was on WCF, a very clever little application combined with a nice slide deck, using the Tech Ed template, that really clearly explained a very complicated subject... again in five minutes flat.

So the judges couldn't choose - a total seat-of-the-pants IT demo with MS Paint versus a perfectly executed classic slide-and-code demo. I gave in: they were right, it was a tie, both Rob and Sarbjit would go to the finals.

We had some time to re-organize the stage. The judges chairs at the back of the audience space are moved onto the stage to become panelist chairs. The ASP.NET Scalability Panel is comprised of Kent Alstad, Rob Howard, Steve Smith and Stephen Forte. Each one of these guys could easily do a great scalability session, but they don't agree on everything and the debate is lively. We get a few questions from the audience as well.

A two hour minute break between the panels offered a moment to grab some lunch and talk to a few other folks. Lots of people were asking questions about Strangeloop, I never get tired of talking about our product.

At 1:30pm the Visual Studio Team System panel came together. The panelists were Doug Seven, Joel Semeniuk, Mike Azocar and Steve Borg. There were also several Team System advocates in the audience, so it was a very interactive panel discussion, as we navigated through the minefields of Agile vs. Waterfall, CMMI, TFS, and many other acronyms I'm sure I'm forgetting.

We had about an hour between the VSTS panel and the final heat of Speaker Idol. This time our contestants were Corro'll Driskell, Darren Mar-Elia, Jeffrey Palermo and the wildcard, Steve Smith. The judging panel had one substitution, Stephen Forte was doing a session, Barry Gervin sat in for him. Barry fancies himself a Simon Cowell I'm afraid, and tended to be more critical, but the input was effective. The winner for heat 4 was Steve Smith, who did this amazing demo of optimizing ASP.NET while running tests in the Visual Studio Team System Test Edition. He set up the test first, showing a graph of pages per second and database requests per second, then altered the page while the test was running to improve performance. He turned off session and the pages per second went up 10%. Then he turned off viewstate and the pages per second went up 20%. The he configured the page to cache for exactly one second - a mere one second! But the impact on performance was dramatic: The number of pages per second went up 300%, while the database requests for second dropped to 1-2 per second. All in less than five minutes.

The crowd went wild. The judges stared with their mouths hanging open. It was incredibly compelling.

So that set the stage for the finals: Bob Roudebush, Alain Tadros, Sarbjit Gill, Rob Windsor and Steve Smith would compete on Thursday to win a speaking slot at Tech Ed US 2008.

It was about 4pm: Time to race back to the Strangeloop booth before close at 5:30pm. More fans of the show, more influencers, lots of people curious about AppScaler and the company. When the booth closed, back to the Fish Bowl, time to record RunAs Radio. We picked up our first show with Isaac Roybal, talking about IIS7. We primarily focused on the new management features, the folks at Microsoft have really thought about how different IT folks need to manage IIS. The enterprise folks, the small shop folks and the ISPs all have features they'll find incredibly compelling.

When the interview was done, I pounded out more emails, locking down another interview for .NET Rocks, other RunAs interviews and related Tech Ed stuff. Carl was already gone. My goal was to get out the door by 6:30pm. Next door at the Peabody was the Best of Tech Ed award announcements, and the Strangeloop folks were there, hoping for a win.

I didn't make it - there was so much to get done, before I knew it it was 7:15pm, Josh called: Strangeloop had won Best of Tech Ed for Web Development and Infrastructure! I whooped, right there in the Fish Bowl, startling the other folks editing up a storm. There were congratulations all around. I promised to join the Strangeloop folks for dinner. Kent met me at the Fish Bowl and we hopped in a cab to meet up for a celebratory dinner.

Having dinner with everyone meant being late for the Influencers Party. But Virginia & Jill (from Interprose, our PR firm) decided to join me as we headed over that way, catching the tail end of the party with a huge pack of RDs. We managed a couple of drinks and then headed for the Redmond Magazine party down the street at The Groove. A group of RDs traveled with us, must have been a dozen. The Groove was grooving, very loud, lots of dancing, another couple of drinks, and then moved on again, this time for the Peabody. It was almost midnight.

Various people came and went as we went through our hops, ultimately it was about nine that arrived at the Peabody, including me, Virginia, Steve Forte, Kate Gregory, Sasha and a few others. We had another couple of drinks and I talked about Strangeloop and AppScaler at length.

Wednesday, June 6, 2007 10:17:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed US 2007 Day 2: Speaker Idol Begins!#

We weren't too late last night, so getting up the next morning wasn't all that tough. Got to the Fish Bowl early, the first heat of Speaker Idol was at 9:45am. I spent a lot of the morning in email exchanges with folks for the three panels: Identity, VSTS and ASP.NET Scalability. I realized the stage is best set up for four panelists, each with headsets, plus Carl and I sitting off to the side with our own headsets, and then there's one wireless wand microphone on the floor.

In between panel emails there are emails from nervous Speaker Idol contestants, confirming rules, asking for suggestions, and so on.

Ten minutes before Heat 1 begins, we realize not all the judges can make it. I pulled Chris Kinsman in to cover for Joel who had a session.

Good news is, all the contestants show up. And then a big crowd shows up, over a hundred people. The AV guys are awesome, get everyone geared up and things moves right along. The competitors for the first heat were Mike Azocar, Bill Baldasti and Bob Roudebush. Going last was Kent Alstad, our first wild card. All the presentations are excellent, the judges complain about having to pick a winner, but do their job. The first heat winner is selected: its Bob Roudebush, with his great demonstration of the File Server Resource Manager in Windows Server 2003 R2.

At the end of Heat 1, the wildcard slots quickly disappeared. My four wild cards, in order of the heats, are Kent Alstad, Mark Miller, Rob Windsor and Steve Smith.

When the heat is over, I change shirts and head for the Strangeloop booth which has just opened. Lee is there now, arriving late last night. Things are in full swing, lots of people visiting the booth, seeing the demo, taking data sheets and getting excited about what we're up to. During that time the judges for the Best of Tech Ed competition came by to see AppScaler. We were very excited to be a Finalist, and the judge seemed to "get" what AppScaler was all about.

After helping out for a couple of hours I headed back to the Fish Bowl to gear up for Speaker Idol Heat 2 and continue sorting out who and when for the .NET Rocks panels. Change back to the DNR shirt.

Speaker Idol Heat 2 goes even smoother. The contestants are Brad McGehee, Alain Tadros, Dandy Weyn and the wild card, none other than Mark Miller (who knew he'd never presented at Tech Ed?). Again, the presentations are killer effective. Its amazing how much information these guys can pack into five minutes. The judges rule and Alain Tadros wins with a great code-on-the-fly demo of anonymous delegates.

I spent the rest of the afternoon locking down the panels, sending out invites. We'd have two panels on Wednesday, in between the Speaker Idol heats. First would be the ASP.NET Scalability panel, then the VSTS panel. On Thursday morning we'd do the Identity panel and the Speaker Idol finals. With the details locked down, I fired off the scheduling info to the CommNet folks to get it posted out to the Tech Ed attendees.

In the midst of all this, Greg Hughes arrived. Greg has been my co-host on RunAs Radio from the very beginning of the show, but this was the first time we'd actually met face to face. Our goal for RunAs was to get four interviews recorded with interesting folks at Tech Ed. We debated topics for awhile, but the list tightened up to IIS7, Network Access Protection, Forefront/ISA, Server Virtualization, Cardspace/Identity and anything else Longhorn Server we could find.

As the afternoon wound down, Carl and I rip out the Wednesday morning bluecast message. The mission turns to finding a good dinner. Orlando restaurants are plentiful, but mediocre for the most part. I guess its the nature of the place... its a total tourist town, and there really isn't any penalty for having a lousy restaurant, people keep showing up.

But we were told by numerous folks in the know that Vitos Chop House was the place to go. So we went. Greg, Mark Dunn, Carl & Tina and I all headed over there for a big steak dinner. Lo and behold, sitting a couple of tables away was the entire DevExpress gang, including Mark Miller! The dinner was good (when you're in a town of one star restaurants, being a three star makes you a knock out), and ultimately Mark came and sat with us as well. Lots of laughter and silliness. Our noise attracts attention, Chris Kinsman finds us from the other end of the restaurant.

We split up from dinner. Carl head for The Groove to jam. Mark Miller and I adjourn to the hotel bar to talk for awhile (I drank, Mark doesn't need alcohol). In bed shortly after midnight. Tomorrow is the half way mark!

Tuesday, June 5, 2007 10:17:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed US 2007 Day 1: Getting Started#

When I got into the Rosen yesterday evening, I discovered that the server box had arrived from Denver. I left it at the bell desk, since there was no reason to drag it up to the room. But since I'd chatted with Birgit and Virginia that evening, we agreed to meet in the morning, get the beastie over to the tradeshow and set up. Jon, Josh and Kent were also arriving today.

I had wisely stocked myself up with bottles of water when I was over at Tech Ed registering, so I could deal with the after affects of significant amounts of scotch consumed the night before. Tech Ed is the Super Bowl of Microsoft Conferences, and you don't want to miss a bit of it. So its up late partying every night, and up early the next morning to get to work.

So we all gathered at the Strangeloop booth, reviewed the demos and went over procedures in general. I also had my box of shirts.

My life for this Tech Ed is a complex one. I have a lot of shirts, and depending on what work I'm doing, I have to change shirts. I have the following shirts:

  • Tech Ed Speaker Shirt (for speaking, duh!)
  • .NET Rocks Shirt (all DNR related events)
  • Strangeloop Shirt (whenever I'm going to be at the booth)

So over the course of the day, I'm going to switch between these shirts several times. I wear a t-shirt underneath to avoid horrifying anyone. And where do I do all this quick change work? Why, in the Fish Bowl!

After checking in at the Strangeloop booth, I headed over to the Virtual Tech Ed stage, where The 64 Bit Question, Speaker Idol and all the .NET Rocks panels were going to take place. In behind the stage is a video recording studio and an editing room, each of which have two walls of plexiglass. They look like people aquariums, and were quickly dubbed The Fish Bowl. And that's when I finally met Zaak and Katrina in person. Zaak runs Virtual Tech Ed, and we'd been on the phone with each other at least once a week for the past two months. The Virtual Tech Ed stage was the fruition of all the work we'd been doing.

Carl and I took over one corner of the Fish Bowl and met a number of the other inhabitants, including Dean Andrews, who was working with a group of folks who do Bluecasting. Bluecasting utilizes Bluetooth technology to push content (in this case, MP3 files) onto Bluetooth devices, like cell phones. Dean wanted to make it easy for people to find out what was available on the Virtual Tech Ed web site. After talking to him for a few minutes I offered up the services of Carl and I. We have lots of practice making short bits (2-3 minutes) with music and news. We planned to create one for every day of the conference.

It was around that time that Steve Forte and Pat Hynds showed up. Pat and Duane Laflotte had a conference session on Identity right after lunch, and they had an idea. Since fundamentally Identity is all about how you know who someone is, they wanted to do a physical demonstration. So Pat and Duane asked Steve and I to impersonate them. We would show up early for the session, walk up on stage and start presenting it. Steve went so far as to grab a piece of paper and scrawl "Patrick Hynds" on it and stuff it in front of his own Tempo Tempo Forte Forte name tag.

When the time came, Steve and I went on stage and dropped into our usual pre-session duet banter, only calling each other Pat and Duane. When it was actually time to start, we introduced ourselves and started the session. I even made a point of fumbling over the pronunciation of Duane's last name. About two minutes into it, Pat and Duane rush in, apologize for being late, and say "what are you guys doing on stage?" We get into an argument about who is really supposed to be presenting the session. Pat had left his badge on the podium, so he picks it up and puts it on. Steve runs into the crowd and asks an attendee, "doesn't my badge say Patrick Hynds" which of course it does, in badly scrawled pen. Then Pat says "But I'm Patrick Hynds, I have the official badge!" and someone else from the audience yells out "He just picked that badge up from the podium!"

So then we held a poll, asking the audience who they thought the real Patrick Hynds was. And most people picked Steve! Then we flipped the slide and showed photos along side the names. The crowd laughed. That was mine and Steve's cue to get out of the way, and Patrick dropped directly into "How DO you know for certain who someone is?"

The gag worked, and it made a point about Identity. Mission accomplished. Back to the floor, visited the Developer Learning Center area and chatted with Erika Maki about putting together some panels for .NET Rocks. She suggested VSTS, which I thought was a fine idea. Next stop, the RD booth where Steve stayed and ultimately I ended up back at the Fish Bowl.

While I was off being silly on stage, Carl was working hard on getting The 64 Bit Question slide deck finalized. We had pulled all the prizes together and sorted out the questions into Developer, IT Pro and .NET Rocks Trivia categories. The swag was wide ranging: from polar fleece sweaters to USB keys to software packages from Telerik, Data Dynamics and DevExpress. While we were comparing notes and organizing that, I had sent out an email to all of the Speaker Idol contestants to meet at the Virtual Tech Ed stage for a briefing. I was also starting to pull together the various panel ideas we had, including a panel on Identity and a panel on ASP.NET Scaling. Lots and lots of emails.

Speaker Idol briefing went well, but on such short notice, only about half the contestants showed up. The judges (Steve, Kate, Michele and Joel) dropped by as well. We talked about the flow of the stage, how all laptops are prepped in advance as well as mike checks. The routine on stage itself: Carl and I introduce you, ask you a bit about yourself, then get off the stage so you can do your five minute presentation. When you're done, we all clap, Carl and I return to the stage, talk to the judges a bit, they offer their critique, and the next contestant comes up. When all the contestants are done, they all return to the stage and the judges pick a winner. We also talked about wildcard participants - there are three contestants per heat, selected in advance. But there's room for four in each heat, so someone watching a heat can come up afterward and we'll put them into the next heat. I had already found a wild card for the first heat, I figured the rest would go quickly.

At 6pm Carl and I started The 64 Bit Question, just as folks were headed down for the opening of the sponsor booths. We drew a big crowd, mostly IT folks (wish we had more IT questions), and the swag went quickly. Some of the questions are quite funny, and the audience has a good time. After an hour or so, all the goodies are given out and we can head over to the Strangeloop booth.

So count the shirt changes: in the morning I arrived in a civilian shirt. By noon I changed to a speaker shirt for the Identity gag. Then I changed to the DNR shirt for the Speaker Idol briefing and 64 Bit Question. Then into the Strangeloop shirt to help out at the booth. Finally I switched back to the civ shirt as the reception ended and we could go to dinner. Somewhere in all that, Kent arrived as well. Before heading out Carl and I ducked into the Fish Bowl for awhile and laid down the Tuesday Bluecast recording. After that we ate at Jacks in the Rosen Plaza hotel. We were underwhelmed with the food, but the company was good - Strangeloopers (Jon, Josh, Kent, Virginia and Birgit) plus Steve and Carl.

Sometime in the afternoon I discovered that Scott Hanselman had blogged about the blogging session he'd contributed so much to (he asked me for my notes so that he could). Its at http://www.hanselman.com/blog/BlogInteresting32WaysToKeepYourBlogFromSucking.aspx

Tomorrow would be the first heats of Speaker Idol, and things would really get moving!

Monday, June 4, 2007 10:17:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed US 2007 Day 0: The RD Summit#

Today I discovered I'm in the wrong Rosen. The Rosen Center is the speaker hotel, the Rosen Plaza is just another hotel. The conference center beside the hotel is the wrong conference center, Tech Ed is held across the street from the Rosen Center. Its only a couple of blocks away, which translates into a mile-plus walk in the steaming swamp heat that is Orlando.

Woke up early and headed for the Peabody Hotel, more or less across the street. The Regional Director (RD) Summit meeting was being held there, Tech Eds are the usual place you'll find a concentration of RDs. RD Summits are comprised typically of three things:

  • Insider discussions with Microsoft where they brief us on NDA stuff that will be coming in the future (such as announcements at Tech Ed)
  • Interactive discussions with teams around products in earlier stages of development (stuff that is really, really NDA)
  • RD specific tasks, like direction of the program, awards, stuff like that

The pack of RDs this year wasn't the biggest, with many trickling in over the course of the day. Sunday is also pre-con day for Tech Ed, and RDs are prone to pre-cons... Kim Tripp, Tim Huckaby and Kate Gregory were all doing pre-cons. Steve Forte, Carl Franklin and Scott Golightly showed up noonish.

I was there early, but that's because I was worried - I had foolishly agreed to give a talk to the RDs. A talk on blogging. This is a problem for two reasons.

  1. I am only a marginally effective blogger.
  2. Giving a presentation to Regional Directors is a worse-case scenario for any presenter.

So, how to deal with these two issues.

The RD Manager at the moment, Kim Sanchez (Kevin Schuler is on leave), asked me if I would put together a talk on ideas around being a more effective blogger. One of the anchor points of The Region, the new Regional Director web site, is a feed from the blogs of the RDs. The goal of the talk was to help the RDs to know how to be more effective at blogging - not that they're bad bloggers, but we can always get better. My response was "Why me? Ask Scott Hanselman, he's the master blogger of the RDs." Unfortunately, Scott wasn't coming to Tech Ed.

So I did the next best thing: I asked Scott to talk to me about blogging. I put on my head set, opened up One Note and then typed as fast as I could for about two hours.

Its not that I didn't have my own ideas about blogging. Its just that Scott thinks so much about it and brain dumps so quickly, it seemed silly to start anywhere else. At the end of two hours, my brain and fingers were sore, but I had a heck of a start on a talk. Then I spent some time gathering some other viewpoints, pulling together some links, and presto-change-o, I had a talk. Which brings us to issue #2: presenting it to the RDs.

Many of the best speakers you've ever seen at any conference ever are Regional Directors. And there they are, watching me. And I'm not this great blogger, I've researched the topic, but fundamentally, I'm a hypocrite advocating things like using FeedBurner and URL rewriting when I'm not using them (but I will start soon, I promise!). I wanted to convey the fact that I'm just the messenger and I know I'm full of crap... which gave me an idea. I pitched it to Kim, and she agreed to supply rubber dog poop. So just before I went up to present the blogging talk, a couple of plastic bags containing rubber dog poop were placed on each table. My theory was, if I was full of crap, they could throw them at me.

Richard Hundhausen immediately complied and I caught my first poop. So far so good. The presentation went well, with several RDs that are into blogging engaging in lively debate. I should point out that an RD Summit is really a gathering of friends who don't get to see each other all that often. And like most groups of friends who rarely get together, they love to grind on each other. So the debate was really lively, which was good for me, since that meant they were grinding on each other, rather than me.

My real mistake was not considering that we scheduled the blogging talk over lunch, which is not the most appetizing time to have rubber dog poop on the table. On the other hand, a number of poops immediately went missing and were put to work in harassment missions on the MVP Summit next door.

No, I'm not going to go through my blogging talk in detail: I'll let Scott do that. He asked for my notes, so I sent them over, he planned to blog about it some time soon.

Shortly after that Steve Forte arrived and I decided I needed to get out of the room for awhile... I was more nervous than I thought! So I took the opportunity to take a walk, discover I was at the wrong Rosen hotel, figure out which conference center Tech Ed was in and get registered.

This year I'm registered as Staff, rather than a Speaker. This is really, really useful for me, since it makes it very easy to get in and out of almost anything at Tech Ed when I'm trying to find a guest or record a show for .NET Rocks. Stevie registered at the same time, but for some reason his badge said Stephen Forte Forte. When I saw Forte Forte, I immediately said "Tempo Tempo!" which connects to a long running story about some hot Turkish pop stars . And Stevie's reaction to that when they offered to fix his badge was to get it changed to Tempo Tempo Forte Forte. They agreed, and he was pleased.Strangeloop Setup_sm

From the registration area we wandered over to the sponsors' booths to check out the Strangeloop booth. It looked awesome, even not entirely set up.

After that it was time for speaker check-in with the speaker boss, Lynn Edwards. Stephen and I walked into the Speaker Room and immediately dropped to our knees and went prostrate in our standard response to being before Lynn... "We are NOT WORTHY!" It makes Lynn happy. We got our speaker shirts and headed back for the Peabody in time for the group photo.

The group photo this year was taken out on the pool deck, and took longer than usual because we waited for Tim Huckaby and Kate Gregory to show up... they kept calling as they ran from the conference center back to the Peabody to be in the photo. In total, there were about 35 RDs in the picture.

Then it was time to head back down to the summit room for the awards portion of the day. The RD Program gives out bronze, silver and gold awards based on your reach. I won gold again this year along with about a dozen other RDs. The final award given out is RD of the Year, and this year it went to... none other than Carl Franklin! A fine standing ovation was given. I think Carl was quite surprised.

The awards ended and we all loaded into a bus to head to the RD Party at Tu Tu Tango. Its an interesting place, vaguely resembling the Spanish Tapas Bars of Barcelona. There's occasionally a flamenco performance, and lots of little tasty plates of food. But for the most part, the RDs do what the RDs always want to do when they're together - they talked. Endlessly. And drank.

After three hours or so the party was winding up so it was time to move onto another party, this one the Party with Palermo! Jeff Palermo is a friend of the show, Iraqi vet and one of the nHibernate Mafia out of Austin. And he throws these really great parties at conferences. The last one was at the MVP Summit. This one was at the Glo Lounge, and about 450 people showed up. .NET Rocks! also sponsored the party, so Carl and I were greeted with plenty of cheers when we arrived. More talking and drinking ensued. At the party Carl met an old friend of his named Tina. Tina and Carl met waaaay back when Carl was living in Orlando, going to audio engineering school. Tina is a charmer, she fit in with our unruly mob just fine.

Eventually even the Party with Palermo was winding down, somewhere around midnight. But we weren't done yet, so we gathered up and headed back to the Rosen Plaza for more drinks. Our group ended up being Stephen Forte, Chris Menegay, Carl & Tina and our new friend Arthur (another blue badge pitching in with the RD program) and April (who works with the MVP program). At some point during the Party with Palermo Steve and Arthur had entered into a competition to get the most compromising photograph of themselves with a woman they had just met. This meant that Steve and Arthur were constantly flirting with the wait staff and other female patrons.

Arthur managed to convince all four of the quite beautiful waitresses at the Glo Lounge to pose with him in fairly provocative poses. Steve upped the ante by laying down on a pool table and getting Tina to straddle him and feed him cherries. You see the progression here. So having moved onto the Rosen, they were looking for more opportunities.

In the middle of all this entered Brigit and Virginia, part of the Strangeloop team. They were quick to order drinks and get out of the line of fire to watch the festivities. For me, it was a bit of a Seinfeld-esque "Worlds Colliding" moment. But, that's life in the big city. Eventually around 2am Birgit and Virginia headed up to their room. Steve ended the competition by convincing a pretty lady from another table near by to pose with him for a photo. She pulled down her shirt to maximize cleavage and shoved his nose in there. Arthur surrendered.

It wasn't long before there was no more booze to be had, and we dispersed to our respective hotels. Tomorrow the conference would really begin.

Sunday, June 3, 2007 10:59:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Arriving in Orlando...#

Ah, flying sucks. Its amazing how much suckage there is in flying.

I drew the short straw with the Strangeloop crowd and had to check the Strangeloop AppScaler onto the plane. Everyone else just got boxes of t-shirts. Fortunately, I fly enough that I could exploit my status and they just checked it through. Went on the oversized baggage belt.

Arrived in Denver and a short walk to my Orlando flight. And there I encountered Tim Huckaby, who was on a later flight, but hoped to get on my flight. And then Michele Leroux Bustamante showed up. There was some confusion about whether or not the plane was going to fly with Hurricane Barry passing by. The three of us headed for the Red Carpet Club for awhile (Huckaby has God Status with United).

Eventually, maybe 20 minutes late, we boarded and discovered hordes of speakers and attendees on the plane, including Chris Kinsman and Juval Lowy.

When we all arrived in Orlando, my server box didn't come off the belt. I kept my cool and asked nicely at the baggage desk, they located it in Denver - never got on the plane.

They promised to delivered it to the hotel the next day - I appreciated not having to lug it myself, I think I'm going to request they lose it the next time I check one.

The good news is, I don't have to carry it back, it'll fly air freight home.

I'm at the Rosen Plaza. Its best feature is that its close to the conference center. While I didn't have my server, I did have my box of .NET Rocks! shirts from Connecticut.

Tomorrow is RD Summit Day!

Saturday, June 2, 2007 10:03:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Heading out for Tech Ed Orlando!#

Well, its that happy time again... off to Orlando!

Carl and I have a ton of things to do at Tech Ed US this year. Most everything we're doing is focused around the Virtual Tech Ed Stage down in the main conference hall across from the sponsor's area.

On Monday evening we'll be doing The 64 Bit Question, where the audience will get to win all kinds of prizes for answering questions about .NET and .NET Rocks!

Then there's Speaker Idol. We've got twelve contestants that are going to give five minute talks before an audience and panel of judges. The winner of Speaker Idol gets a speaking slot at Tech Ed US 2008, including all the perks a speaker gets: airfare, hotel, etc. There are four rounds of three speakers each, two on Tuesday, two on Wednesday. The winner of each round goes on to the finals on Thursday.

And, just to really spice things up, we're offering up a wildcard slot for each round. Think you can handle it? Get a hold of me and I'll get you into the competition. When Carl and I did Speaker Idol in Europe, one of the wildcards made it to the finals!

In between all this craziness we're going to do all sorts of panel discussions on a variety of topics. We've got several worked out already, if you have ideas for more, let me know and perhaps we can put you on the Virtual Tech Ed Stage. Also, we'll be recording .NET Rocks! and RunAs Radio as well. My co-host for RunAs, Greg Hughes, is going to hang with us for a few days.

I'm going to work hard to blog routinely from Tech Ed. Somehow I'll fit it all in.

So if you're at Tech Ed, drop by the Virtual Tech Ed stage and say hi!

Friday, June 1, 2007 10:50:39 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


ASP.NET Scaling Chalk Talk at TechEd US#

I've been assembling my notes for my Chalk Talk on ASP.NET Scaling at TechEd US in Orlando.

The Chalk Talk will be held on Friday June 8 at 1pm, in the ASP.NET Community Area.

The biggest challenge in talking about scaling is to not fall into a discussion on performance. Most folks mix conversation about scaling and performance together, on the assumption that excellent performance provides excellent scaling. It isn't true - in some cases, to get great scalability, you have to impede performance. In reality, the best case scenario for scaling up an application is to maintain performance, not to improve it.

Performance is all about how quickly your web page responds to a request, scale is about how many requests you can handle at once. The "at once" part of that statement is important, since the idea that excellent performance provides excellent scale only is true when requests are not "at once", but fairly close together. If you could compute every page in 50ms and you only got requests every 100ms, you'd only be handling one request at a time... your great performance has given you the illusion of great scale. A lot of people consider this scaling, but its not really. Real scale is all about how your site handles simultaneous traffic.

There are two fundamental techniques for scaling: specialization and distribution.

Specialization is the process of separating out specific tasks that your web application does and building/buying specialized resources to handle those tasks better. You already do this - you have a separate database from your web servers. When you get into large scale web sites, image handling often becomes a specialization. You could set up dedicate image servers, or even offload that work to a third party company like Akamai. Getting the load of image handling out of your web servers allows them to handle more of the requests that they need to handle: Processing ASP.NET web pages. Obviously the challenge of making specialization work is going through every web page and altering the image tags so that they point at the image servers: Time consuming, but not especially hard. That's scaling by specialization.

The other technique for scaling is distribution. The key to distribution is creating multiple copies of the same resources and balancing work between them. Typically this would be multiple, identical web servers and a load balancer. The challenge to making distribution work well is effective load balancing, and that means a lack of affinity. That means no data specific to a given session kept in the web server, all of that information has to be available to every web server in the farm. There are a variety of affinite resources in ASP.NET, the best known of which is Session, and there are a variety of methods for making those resources non-affinite, the best known method being to write them to SQL Server.

This is where we get into the performance/scaling compromise: moving Session data out of the web server and over to SQL Server definitely slows down performance, in exchange for being much more scalable. But this is not a simple curve - sure, this method is slower per request on average, but that speed doesn't change for longer as the number of simultaneous requests increases.

Distribution also opens up advantages for reliability and maintainability, in exchange for dealing with the complexity of multiple servers. That's outside the scope of purely looking at scalability, but its certainly relevant to the equation over all. Its also important to remember that scalability isn't the only reason to have a web farm.

Of course, you can combine these two techniques, having specialized resources and distributing them across multiple servers. And this adds an additional advantage: You can scale each of those specialized resources independently. So if you need to improve the scalability of images, expand the image server farm.

The key to both these techniques is good instrumentation: You need to know where the problems are. Specialization helps because it creates clear boundaries between the various resources involved in a web application. And often you'll find that the non-affinity step you skipped becomes your key problem scaling up - and it will be instrumentation that will show that too you. Of course, then we get into the argument of whether or not the instrumentation *is* the problem, because it too exerts a certain amount of load on the servers.

There's more than just this to talk about as well: There are a variety of techniques for going to a non-affinity solution, there's also the challenges of caching at scale and invalidation.

And don't forget the database! As you scale up your web farm, the database can represent a serious bottleneck. Solving that is a huge task on its own, involving its own implementations around specialization and distribution.

I had originally suggested this topic as a breakout session, but I'm really looking forward to doing it as a Chalk Talk, for the higher level of interaction I expect to have with the audience. Chalk Talks are a lot more intimate, I'm going to steer clear of a slide deck and focus on using the white board to look at the various evolutions of a web application as it scales up.

Hope to see you there!

Friday, May 25, 2007 10:56:04 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


SQL Querying Tips & Techniques at Tech Ed Boston#

I'm about to do my last session at Tech Ed Boston, a repeat of my session on Monday, SQL Querying Tips & Techniques.

I figure I better just put the session sample here, so you can download it if you're so inclined.

sample.zip (5.49 KB)

The following files are inside the sample zip:

  • AdvQuerying_Setup.sql contains a script to create the tables and data for the samples
  • AdvQuerying.sql is the script with all the example queries I demoed in the session
  • Error Handling Main.sql is the script for the deadlock error handling stored proc
  • Error Handlng Secondary.sql is the script for setting up the deadlock demo

So to use these samples, create a database (I called it AdvQuerying) and then run the setup script. Then you're good to go!

Thursday, June 15, 2006 11:58:51 AM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 



At Tech Ed Orlando a bunch of the RDs got together to record ten minute videos called GrokTalks.

The idea of the GrokTalk came from the thought that often in conferences we find a useful tidbit in a session that is only about ten minutes long... so why not do only those ten minutes?

My GrokTalk focused on the new error handling capabilities of SQL Server 2005 and how you can use them to recover from a deadlock inside of a stored procedure. You can take a look at my video and the others at http://www.groktalk.net/.


Monday, June 27, 2005 8:02:43 AM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Post-Tech Ed#

I had every intention of blogging through Tech Ed, but it didn't happen.

One week ago today (Monday), I was walking from my hotel room to Tech Ed in a really foul mood. Being grouchy is rather unusual for me, but you can ask Steve Forte and Cathi Gero, they were there, and boy, was I grouchy.

I guess its been a few years since I've done back-to-back conferences, having done the SDC conference in the Netherlands the previous week, my body was trying to tell me I should be at home by then.

All of this changed when I got on stage with Steve to do our Advanced Querying session.

Y'know, speaking at conferences is really a money losing proposition for the majority of speakers, myself included. I would be making more money staying at home and working. But its really, really fun. Really. Engaging a big group of people (and there was about 800 people in the room) is a challenge, its exciting, and when it goes well, you're in orbit for the rest of the day. And I think it went pretty well - lots of laughter and ooh-aahs.

So to my audience at my first session: THANKS! You made my week.

Some folks have been emailing me, unable to find the samples for the session. I've attached two files here, the first is the setup file which creates the sample tables.

Setup.sql (3.57 KB)

The second is the demo script itself with all the queries Steve and I showed.

SS2k-YukonSamples.sql (24.42 KB)

We got a ton of response on this session, and some cool new ideas for a new version next year.

My second session on Tuesday was the Profiler session, with my special guest Vipul Shah who jumped in to show off the cool new features of Profiler in SQL Server 2005. Its a cool session, but I think with Profiler 2005 coming, I'm going to have to rewrite it to really dig into the new capabilities of the tool.

As I explained in the session, my real focus on the Profiler session was to let developers know that things can happen to your queries between your code and SQL Server, and Profiler is really the only way to know. The big example I show is ADO 2.5 messing with a SELECT statement and stored procedure, wrapping them in cursors. I haven't found the same behaviour in ADO.NET, so I think the demo is getting moot.

I'm thinking next year I'll revise the session to make it more of a “Using Profiler as a Diagnostic Tool” type session.

On Wednesday Carl Franklin and I did .NET Rocks! in front of a live audience. I think there were close to a thousand people in the room, which was at the far end of the conference center. And I do mean the far end - I figured by the time we got there we'd walked to Cuba. We interviewed the Team System guys, I think the show went really well, it was fun to dig into more of the story behind Team System... and even better to have a bunch of fans watching the show!

Alas, my version of the standard DNR disclaimer (normally Geoff's domain) didn't make the cut of the show, but either way, a good listen.

Tech Ed may be over, but the Tech Ed Charity Auction isn't. 23 Tech Ed speakers, including me, are donating an hour of consulting time via phone, email or IM. You can bid on EBay at http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=5587400881. The auction ends on June 16, so bid soon, and bid often.

Monday, June 13, 2005 5:15:38 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


Hanging in New London#

After the SDC conference I flew back to North America, but not home. Instead I've stopped off for a couple of days with Carl Franklin here in New London, Connecticut.

Last night we recorded Mondays, with everyone except Mark Miller actually here in the studios. We laughed til we cried, it was quite ridiculous and a wickedly fun show.

This morning we're recording an episode of DotNetRocks with Michele Bustamente, then Carl and I are packing up and heading down to Tech Ed in Orlando.

What can you say about New London? Its got a far greater sense of history than we have on the west coast, around here a 100 year old building is still considered pretty new, people are proud of pointing out structures that were built before the War of Independence. It strikes me as a fabulous place to raise a family, which is of course exactly what Carl and his wife Gretchen are doing.

Saturday, June 4, 2005 7:02:00 AM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


SDC Day One#

I'm sitting in the back of the main hall at the SDC 2005 Conference outside Arnhem, in the Netherlands.

There's a keynote going on... in Dutch.

I've just finished my first session, the Advanced Querying Tips & Tricks session that I'll do again next week at Tech Ed Orlando. The session went very well, I did it solo, in Orlando it'll be a duet with Stephen Forte.

After lunch Kent Alstad and I are up, talking about requirements. We've done the session before, its been updated, and its a lot of fun. We argue a fair bit, usually me causing trouble complaining about all this planning he wants to do.

Tonight, Steve and I are on again... in the schedule its called “Mid Evening Beer Session with Technical Content.“ In the past its been called a Geek Night and other silly things. Its really Steve and I talking about any old thing and generally behaving foolishly. As the beer flows, it gets more foolish. Looks like its going to be a packed house tonight...


Monday, May 30, 2005 3:17:44 AM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


My poor, neglected blog...#

Six weeks since my last entry... and its not that I don't have anything to say, but I've been so busy, by the time I get home, I just want to sleep.

Various highlights of the past six weeks:

  • Hung out with Tim Huckaby and his family the weekend of April 16th, lots of fun!
  • Kate Gregory and I did a duet deep dive at the end of April, talking about VSTO.
  • All the Canadian RDs got together at Microsoft Canada in Mississauga, where we found out that Craig Flanagan, our intrepid leader, was moving on to bigger and more XBoxie things.
  • Fellow RD Guy Barrette spent a week out here doing talks on Visual Studio 2005 and had a chance to visit my little toyland.
  • I test ran my SQL Querying talk for Tech Ed at both the Victoria .NET User Group and VANTUG!

Which brings me up to current events... I leave this afternoon for the Netherlands to present at SDC 2005 at Papendal outside Arnhem. From there I'm headed to New London, Connecticut to spend some time with Carl and do a few shows (including something new!). After THAT, Carl and I are both headed down to Tech Ed in Orlando (same flights and everything).

I'm doing two sessions at Tech Ed, one is my Advanced Querying Techniques, Tips & Tricks session, which drills into various querying tricks I've collected over the years. This year I'm doing it with Steve Forte, and we're going to compare and contrast SQL Server 2000 and SQL Server 2005 to demonstrate how many of this slick querying techniques change with the latest and greatest.

The other session is a reprisal of my SQL Profiler for the Developer session that I did last year - there won't be any ice cream bars this year I'm afraid. However, I do have a special guest, Vipul Shah is going to show off some of the new goodies in SQL Server 2005 for Profiler junkies.

So finally, I'll stagger home around June 9th, all spring conferenced out.

Maybe then I'll get to fixing my monster machine... it burned up a week after I finished building it, and its sat there dead ever since. Did I mention I've been busy? There isn't going to be any easy fixes, everything worked perfect, but there's just not enough cooling in that little eight inch radiator.

Friday, May 27, 2005 10:57:27 AM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


.NET Rocks! at Tech Ed Orlando!#

Well, we're all confirmed now, Carl and I will be doing an episode of .NET Rocks! at Tech Ed Orlando this year. We'll be recording it over lunch on Wednesday, June 8th. Of course, you're all invited to watch the taping: .NET Rocks! live is much sillier than what actually ends up in the recorded version.

We really wanted to put together a cool show for a live taping, and I think we really lucked out - we're going to be talking to folks from the Visual Studio 2005 Team System development team.

  • Michael Leworthy (VSTS general)
  • Eric Lee (TFS and Test)
  • Ajay Sudan (Architect and Developer)
  • Bindia Hallauer (MSF)

Looks like its going to be a ton of fun. We had a great time doing .NET Rocks! in front of a live audience at DevConnections in Orlando, this show looks like it'll be a blast.

Sunday, April 10, 2005 9:17:27 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Here, drink this Koolaid...#

Rory and Scott's latest effort makes the previous ones look tame by comparison...

Wednesday, March 30, 2005 5:16:20 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Enroute to Florida, DotNetRocks in the news (again)...#

I'm enroute to Orlando via Seatac, Carl sends me this link to an article on podcasting in the Hartford Courant.

Meantime, Carl got TheDailyCommute web site up and running... there's a few more details to work out, but don't worry, you'll be blown away with this service. This is the future of podcasting.

What's next? People have been asking about a .NET Rocks World Tour... I was thinking maybe we should just go from Tech Ed to Tech Ed. Lemme know whatcha think!

Sunday, March 20, 2005 9:49:35 AM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Blyth and Hanselman Strike Again...#

Yeop, those two are at it again.

Maybe there's some competition for the best Tech Ed video that I wasn't aware of, this one is amazing...



Thursday, March 17, 2005 7:20:00 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


Hanselman and Blyth - Tech Ed Promo Genius#
Friday, March 11, 2005 10:13:44 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


TechEd 2005 (Jonathan Goodyear is up to no good)#

Fellow RD Jonathan Goodyear filled the RDs in on a little secret that's going to take place at TechEd 2005... unfortunately, I can't tell you what it is.

But you can get a hint at Jon's site at www.aspsoft.com/rallytrailer1.html.

Just another reason to attend TechEd 2005, as if you needed any more incentive.

Oh, and I'll be there too: I'm presenting two sessions, my famous SQL Profiler for the Developer session (which I'm told would have won “funniest session of Tech Ed” last year if such an award existed) and one of my favorite sessions of all time, but never-before-presented-at-TechEd, SQL Querying Tips & Techniques session.

Thursday, March 3, 2005 11:15:36 AM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Tech Ed Malaysia Post-Mortem#

I'm finally back home from Kuala Lumpur after 22 hours of travelling. I couldn't bring myself to blog in my near hallucinatory travel state, so I've had a good night's sleep, woken up very early and am busy catching stuff up, including this.

Tech Ed Malaysia was lots of fun, the attendees were very enthusiastic and friendly. The speaker cadre was astounding, very talented folks and lots of fun to be around.

Although the hotel was in the middle of nowhere (I started calling it the “New Jersey of Kuala Lumpur”), we did manage to get into town a number of times and do some fine exploring. We ate a chinese dinner from an outdoor kitchen in an alleyway, and bought all kinds of gadgets from various shops.

Saturday was my last full day in Kuala Lumpur, and I started it out with doing DotNetRocks from my hotel room. I had brought my full audio rig with me, including the large condensor mike and digitizer. What I hadn't realized when I first packed it up is that the power supply for the digitizer does not support 220 volts, unlike my laptop power supply. Tim Huckaby lent me his power converter (thanks Tim!) but I didn't have the smarts to actually test it out in advance.

Since Kuala Lumpur is exactly twelve time zones away from New London Connecticut where Carl and the DNR studios actually are, I was doing the show Saturday morning live with them working Friday night. So I'm up and on my laptop at 7am, talking to Carl (where its 7pm). We talk about the toys and how to do the show and agree to reconvene at 8:15am for a sound check before the show starts at 9am.

By 7:30am I'm off for a shower and some breakfast. I'd wanted to talk about the Low Yat Plaza we'd found the night before, which is this incredible toy boy heaven. Kim Tripp had taken some photos of it and I wanted to blog those before the show so everyone could see this crazy place. Kim loaded the pictures on a USB key for me and I went back to my room.

I get back to my room and I can't open the door - mysteriously, the flip bar lock had set itself! I went down to the front desk to get some help, and they sent a maintenance guy up. In theory, these locks can only be unlocked when the door is closed, but the fellow was confident he could open it. Apparently it happens all the time?!?

It took him a half hour of fiddling, but he did get the door open. Then it was my turn for some stupidity. I wired up my audio rig, but the digitizer wouldn't power up. I couldn't make Tim's power converter work! Finally, I had missed set up time, the show had to start, so I had a good hour to futz around before break time when we'd have another chance to test things out. I figured I might as well dump the pictures and return Kim's USB key, she was leaving in another hour or so.

When I told Kim my woes, she produced another power converter for me to try, so I went back up to my room, new block in hand. Kim's block had European plugs on it, and the European plugs on my power adapter were too loose to hold her heavy block in place, so I had to use Tim's block as a converter to hold things together... the resulting contraption stuck the better part of a foot out of the wall, so I braced it with my chair to stop it from falling out.

So, from the wall working outward, the plug adapter (my laptop plug is coming out the top), into which Tim's converter (acting as an adapter) is plugged into, then Kim's converter, and finally the digitzer brick.

This did the trick - I was finally up and running. At the half way point in the show we took some time to test latency (ping-pong), which turned out to be brutal: apparently doing VOIP half way around the world takes six seconds. Here's what my running audio rig looked like:

So in the end, the show came off fine, with the severe lag I couldn't chat with Carl and Rory much, but just sort of blurted out how much fun I was having in KL, the toys to talk about and the contest. As soon as the contest was under way I disconnected and ran to return Kim's power block to her before she had to leave.

With Kim gone, Goksin, Malek, Adam, Brian and I were free to do some serious toy shopping. We headed first to Central Market, picking up T-shirts, jewelry and other odds and ends. Brian and Adam cut out early, Brian had to head to the airport by 6pm, and Adam wanted to show Brian his tool before he left. So the three remaining shoppers headed back to the Low Yat Plaza to really check out the toys. Our mission - to get gigged.

Malek, Goksin and I all wanted gigabyte storage bits. Malek and Goksin were after 1GB SD cards, and we all wanted 1GB USB key. Kim had been gloating all week about her gigabyte scores in Singapore, having acquired a 1GB Compact Flash card AND a 1GB USB key. And to top it off, she bought a 2GB Compact Flash on our first visit to Low Yat the night before. She's the gig queen, and we wanted to at least be in the club.

We started at the very top level of the mall and worked downward, and it didn't take long to find this tiny Pretek 1GB USB drive. I started calling it “The gigabyte you can fit up your nose.“ Unfortunately, we were in a show room and they had none to sell! Supposedly there was a store on the lower levels had had them, so we headed there. Along the way we did find two 1GB SD cards, so Malek and Goksin were in the gig club for sure.

When we finally found the Pretek dealer, he had only ONE of the little drives. Very annoying, but we bought it anyway. Then we went back up to the top floor to complain. The fellow there was nice enough to call around to the other shops in the mall and found one more little drive, so I got one as well. So we three boys are all in the gig club, although Queen Kim leads the way as usual.

Speaking of Queen Kim, as we were wrapping up our toy feeding frenzy, Kim phones from Singapore! She's holding in her hands the Canon 20D digital SLR, and wants to confer with the ToyBoy on pricing... she figured the price converted to about $1675 US... I told her to buy buy buy! The camera isn't even available in the US yet, I believe its going to be released Oct 15th, and the best pre-order street price I've found is $1500... a $175 premium is worth it to be first!

Ultimately, I don't know if she actually bought the camera, I hope she did, I'm sure I'll hear about it soon enough.

After shopping we ate dinner at a Japanese buffet, then headed back to the hotel - Malek had a ride to the airport for 11pm. Enough time for a couple of quick beers before he was gone.

The next morning Goksin and I got up early and had breakfast together. Goksin left at 6am, I left at 7am. I called Goksin when I was ticketed and through customs at the airport, poor Malek was still there. Apparently Emiriates airlines had botched his reservation and left him for dead. Goksin, in the finest tradition of the Anti-Suckiness club, got a ticket for his buddy to get him as far as London, I'm sure he'll get himself the rest of the way home from there with a fine tale to tell. The three of us had a cup of tea together in the airport before dispersing for our various gates for home.

Speaking | Tech Ed | Toys | Travel
Monday, September 20, 2004 5:24:34 AM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Advanced Querying Techniques#

This session is one of my favorite “grab-bag” type sessions, and judging by the reaction of the attendees, one of their favorites too. I've never been mobbed with USB keys at the end of a session before. For those of you who didn't grab the code immediately off of me after the session, or from Tech Ed's COMM Net, I'm including it here as well.

In the session I explored essentially four areas of querying techniques. To some degree, they built on each other.

Initially I explored subquerying, an area lots of people dabble in, but haven't really hammered out all the details on. My personal favorite of the subquery examples is a duplicate detection query. In the real world, duplicate data gets entered, and we have to go clean it up. This query returns rows for every duplicate product, showing the oldest ID as the “real” one as well as the duplicate. You can adapt this query to clean up your database, transferring any foreign key rows to the oldest ID, etc.

SELECT Product_ID, Product_Name, Price,
 (SELECT MIN(Product_ID) FROM Products AS P1
  WHERE Products.Product_Name = P1.Product_Name) AS OldID
FROM Products WHERE Product_ID NOT IN
 (SELECT MIN(Product_ID) FROM Products AS P2
  WHERE Products.Product_Name = P2.Product_Name)

This version of the query show both a correlated subquery in the SELECT clause and the WHERE clause, as well as doing that one trick that subqueries are so good at - finding exceptions. The NOT IN statement says “give me only those rows that are not one of the minimum IDs for that product name.“

While I'm not going to go through every technique in the session, attached is the sample code for all of the techniques, including the very popular Rozenshtein cross-tab technique - both static and dynamic.

Advanced Querying.zip (42.34 KB)

Monday, September 20, 2004 4:03:01 AM (Pacific Standard Time, UTC-08:00) #    Comments [6]  | 


SQL Server Profiler for the Developer#

This is one of those “I always wanted to write this” sessions about a bit of software I think not enough people know about - the SQL Server Profiler.

Profiler is your friend - it shows you what arrives at SQL Server from your application. And, believe it or not, what arrives there is not always what you sent. Sometimes middleware messes with your SQL.

Profiler can also help you trace down tricky things, like where deadlocks are happening. A deadlock occurs when two connections each hold one resource that the other needs to finish a transaction. Neither one will finish unless the other gives up its resource. When SQL Server detects a deadlock, it picks a loser, failing that transaction with a 1205 error. The other connection can then complete its transaction.

Obviously, the best way to avoid deadlocks is to not ever do that - always lock resources in the same order. I make a list of the sequence in which I'll modify tables and then always write my stored procedures to do updates in that sequence. That way, stored procedures can block each other, but not deadlock. However, this still doesn't get rid of all deadlocks.

And the problem is, the error you get for deadlocks is a bit vague - the error message returns what the competing SPID was, which would typically indicate the other computer who's transaction succeeded, but not what table was involved in the deadlock. In the session (and included in the attachment for this blog entry) is the sample code to show a deadlock in Profiler and then you can use the Object ID information around the deadlock to query sysobjects and find what table/resource was involved in the deadlock.

Also in the sample are some queries for testing out the Index Tuning Wizard, part of the Profiler and a tool that will look at the queries in a Profiler Trace file and decide if any new indexes would benefit performance. It'll also recommend removing indexes that aren't ever used.

Finally, there's my little VB6 sample app that's good for playing with ADO 2.x to see how OLE DB can mess with your SQL - in the session I demonstrated how OLE DB actually converts your SQL statement into a cursor to fulfill your request for a modifyable server-side recordset.


Profiler.zip (375.31 KB)
Monday, September 20, 2004 3:43:25 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


From Interoperability to Migration: SQL Server and Linux Databases Working Together#

This is the same session I did at Tech Ed San Diego with my buddy Steve Forte... unfortunately, Steve had a problem with his flights that meant he had to leave before the session actually started, making my duet more of a solo...

Steve and I have been doing duets for years, so I dragged a couple of photos out that we had used in the past for duet sessions...

This picture was taken around 1998 at the Papendal facility near Arnhem in the Netherlands, Steve (looks awfully young, doesn't he?) and I are working on our first joint session called “XML for N-Tier”.

This photo was taken at a costume party on Halloween of 2000 in Phoenix, Steve and I are dressed as the three musketeers, our third (Tom Howe) is taking the picture.

The interoperability session focuses on how you can use SQL Server to interoperate with other databases, in this case its Oracle 10g running on Red Hat Linux Fedora Core 1. The idea was to run two Virtual PC sessions, one with Windows 2003 and SQL Server 2000, the other Red Hat and Oracle 10g.

I used Werner Puschitz's step-by-step instructions to Installing Oracle 10g on Red Hat. Even then, its tricky, lots of places to go wrong. And since I'm running Linux from a Virtual PC session, part of the challenge is getting Red Hat happy in a VPC environment. Networking is also tough - I didn't want to use fixed IPs on the VPCs, since that would cause other network problems when plugged into various conference networks. Each VPC session grabs a dynamic IP, but the way Oracle is configured, you have to alter a listener file to tell Oracle what IP you're now running under.

On the SQL Server side of things, you need to install the Oracle tools to get Net Manager, which provides communication to Oracle from the Windows 2003 environment. That's another point where you have to specify the IP address of the Oracle server.

In SQL Server itself, the key to making the connection is linked servers - and the easiest way is using sp_addlinkedserver and sp_addlinkedsrvlogin stored procedures to establish the connection. The parameters look like this:

sp_addlinkedserver @server = 'OrclDB', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc = 'larryserv'

  • @server is the name you want to refer to the linked server with.
  • @srvproduct is the name of the database you're linking to. SQL Server checks this name carefully, if you misspelled Oracle, it won't work.
  • @provider is the name of the OLE DB provider to use, in this case its the Microsoft Oracle provider.
  • @datasrc is the name of the Oracle database from Net Manager.

sp_addlinkedsrvlogin @server = 'OrclDB', @useself = false, @locallogin = 'sa', @rmtuser = 'scott', @rmtpassword = 'tiger'

  • @server is the name of the linked server as specified in sp_addlinkedserver.
  • @useself is a flag to tell SQL Server to use the account currently logged into SQL Server on the remote server. Setting this to false means that the login will use the remote user and password supplied.
  • @locallogin is the name of the account that this login can be used by. You can set it to NULL and it works with all accounts. The account can be a SQL login or a Windows login.
  • @rmtuser is the user name to log into the remote server with.
  • @rmtpassword is the password to log into the remote server with.

Once the linked server is established, you can do queries like this:

select * from OrclDB..SYSTEM.TBLCONTACTS where lastname = 'Campbell'

You can see the only unusual aspect of this query is the table notation, indicating the linked server and the schema that the table is associated with. With Oracle, table names are case sensitive, so you have to get the case right.

In the session we discuss not only how to interoperate, but also how to migrate. The key to migration is to move the data last, not first. Build a .NET application that calls SQL Server stored procedures, and use the stored procedures to make the calls through to Oracle. That way you can build your new client without turning off the old client, and the two clients can run side-by-side for as long as necessary. Eventually, everyone will be using the new client since its getting all the new features.

You can start adding tables to SQL Server to add new features, linked servers will allow you to do joining between the two databases if you like. Eventually, when no one is using the old client any more, you can shut it down and begin moving tables from Oracle to SQL Server. You don't have to do them all at once, just move the tables as you have time, altering the stored procedures to point to SQL tables, rather than the linked Oracle tables. Ultimately, all the tables will be moved and you can shut down the remote connection.

On the other hand, you might discover that there's stuff in Oracle you can't do without, and you can maintain this level of interoperability indefinitely.

The session went very well, unfortunately its tough to give out as a demo, since everything is in VPC images... the Oracle/Red Hat image is nearly six gigabytes!

Thursday, September 16, 2004 9:09:09 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


T-SQL Error Handling in SQL Server 2005#

My first session at Tech Ed Malaysia focused on the new error handling features of T-SQL in SQL Server 2005.

Although its a cool session, I have to wonder about the practicalities of doing error handling SQL Server, after all, as a server application, its usually our job to receive requests from clients and then report back on the results of the request, whether they're happy noises or error messages. And I see error handling as the ability to actually handle an error - as in, detect it, fix the problem and retry the previously error-causing SQL statement. So when would you ever do this?

The only logical place I can think of is deadlocking. Deadlocking is an artifact of SQL Server, not clients... okay, granted, a poorly written client can generate lots of deadlocks, but no client ever sends the request “can I have a deadlock please”... although for some clients its a pretty close thing.

Deadlocks, for those out there new to the concepts, are not blocking, which is where one SQL statement has to wait while another finishes its business. A deadlock occurs when one connection has a lock and requires another lock, and another connection has the other lock and requires the one held by the first connection. Its unresolvable, so SQL Server detects it, and then picks a loser, who's transaction fails... the winner goes on to complete their transaction with no awareness of the suffering spread.

With SQL Server 2005, we can actual handle deadlocks - recover from them transparently so that the client applications don't even know they're happening. Now that doesn't mean that we shouldn't continue to avoid deadlocks in the first place. The best way is to avoid the scenario I just described: make sure all clients lock resources in the same order, so that they block each other, rather than deadlock. Blocks will naturally resolve on their own (or else timeout). Deadlocks are uglier. Stored procedures can help by making sure that clients can't grab data themselves, they have to go through stored procedures. And then you have rules for writing stored procedures, so that the same tables are modified in the same order in every procedure. As long as you make certain you're locking in the same order, you'll block rather than deadlock.

But even with those efforts, you'll still get the occasional deadlock, as transactional velocities rise and queries take longer and longer to run. That's where this clever bit of code comes in:




  UPDATE tblContact SET LastName = 'SP_LastName_1' WHERE ContactID = 1
  UPDATE tblContact SET LastName = 'SP_LastName_2' WHERE ContactID = 2
  SET @Err = @@ERROR
  IF @Err = 1205
    INSERT INTO ErrorLog (ErrID, ErrMsg) VALUES (@Err, 'Deadlock recovery attempt.')
    WAITFOR DELAY '00:00:10'
  IF @Err = 2627
    SET @ErrMsg = 'PK Violation.'
  IF @ErrMsg IS NULL
    SET @ErrMsg = 'Other Error.'
  INSERT INTO ErrorLog (ErrID, ErrMsg) VALUES (@Err, @ErrMsg)

So in this sample stored procedure, I use the new Try and Catch statements to provide error handling. The code in the Try block executes my intended update statements, in the example I'm just updating two contact rows, changing the last names. The two updates are wrapped in a transaction. If there's no problems, the transaction starts, the two rows are updated, the transaction is committed, and the stored procedure finishes.

Now, to introduce some fun, on a separate connection I do this:

  UPDATE tblContact SET LastName = 'Direct_LastName_2' WHERE ContactID = 2

And then in another connection I execute the stored procedure. So the first connection is holding a lock on ContactID = 2, and the stored procedure has got a lock on ContactID = 1 and is waiting for the lock on ContactID = 2. Now I hop back to the first connection and execute the following:

UPDATE tblContact SET LastName = 'Direct_LastName_1' WHERE ContactID = 1

Now I've created a deadlock situation. The first connection has a lock on ContactID = 2, waiting for a lock on ContactID = 1, and the stored procedure connection has a lock on ContactID = 1 and is waiting for a lock on ContactID = 2. SQL Server detects the deadlock and chooses a loser. Since the stored procedure has its deadlock priority set low, it always loses.

When the deadlock error occurs in the stored procedure, the code in the Catch block executes. The first thing that happens is I retrieve the error code from @@ERROR and take a look at it. If its an error 1205, I know that's a deadlock, so I can do my deadlock recovery. The first step is to rollback the transaction so far. This releases the lock the stored procedure was holding on ContactID = 1, so the other connection finishes the transaction successfully. Since its finished, I can commit it, changing the last names to Direct_LastName_1 and Direct_LastName_2.

Meantime, back at the stored procedure, after rolling back the transaction, the stored procedure records the fact that it had a deadlock into an error logging table, then waits a few seconds to give the other side of the deadlock a chance to finish. Once the wait is over, the GOTO statement jumps execution back up to just above the BEGIN TRY block in the stored procedure, and the updates are attempted again. Since the other transaction is already finished, all is well, the transaction completes and the names are changed to SP_LastName_1 and SP_LastName_2. Who said being the deadlock loser sucked?

Next session - the SQL Server/Windows interop with Oracle/Linux session... supposed to be a duet with Steve Forte, but his flights got messed up and he has to leave early, so I'm doing this one solo again, just like in Montreal. Right after the interop session I'm reprising my SQL Server Profiler for the Developer session.

Wednesday, September 15, 2004 6:00:29 PM (Pacific Standard Time, UTC-08:00) #    Comments [6]  | 


Too Much Fun To Blog...#

Wow, already half way into Tech Ed Malaysia, and I'm finally getting a blog entry done. We're having waaay too much fun.

After flying 13 hours Vancouver to Hong Kong, followed almost immediately by the three hour Hong Kong-Kuala Lumpur leg, I arrived in KL short a day... got on the plane late Thursday night, arrived the afternoon of Saturday. Those darn date lines.

It didn't take me long after arriving to find Tim Huckaby (who was good enough to leave me a message at the desk) and Goksin Bakir (he just called me on my cell phone)... we hung out at the pool and drank beer, complained about jet lag and soaked up the indominable KL heat. That night Brian Noyes join us as well for a trip across the lake to a nice Chinese dinner where they have one sneaky Peking Duck.

Sunday was the super tour day - from 7:30am to 9pm we were out and about with our guide Razali and the fabulous elephants of Kuala Gandah. Tim, Brian, Goksin, Kim and I were made volunteers of the sanctuary, rather than visitors, which gave us more access, but we had to do some work, too... here's some examples:

This is Cek Mek with our guide, Razali. One of our first stops at the sanctuary was to go out in 4x4s to feed Cek Mek... she spends most of her time away from the rest of the herd, hanging out in the jungle. She's one of the two “working” elephants, who are actually used to assist the team in moving wild elephants. The other working elephant is Cek Bunga, who doesn't like people all that much, so we didn't get anywhere near her.

Back at the sanctuary proper, we got into the main compound to visit with more elephants, some big:

...and not so big...

We also got to visit with Lasha, a 2.5 year old male who has been fighting intestinal parasites. He's very weak and thin, so he's being kept from the rest of the herd for his own safety. We went into an area behind the compound to visit with him and give him some goodies to eat.

Kim was especially fond of him...

Later, Kim and Brian brought Lasha out from the holding area in the back to the main area for feeding.

As volunteers, we helped visitors feed the elephants... there is a technique and some safety tips involved!

Later in the afternoon Razali took us on a hike through the jungle, to a little village... maybe a dozen people lived there total, the patriarch of the family is a master blow-darter. He put on a fine display firing a foot long dart into a banana tree a good fifty feet away... after a couple of tries, anyway.

Then Goksin took a shot at it... apparently Goksin is a blowdart shark, nailing the tree on the first shot!

After that, we weren't allowed to play with the blowgun any more. We hiked back to the village. Along the way Razali pointed out and offered up some food from the jungle, including heart of palm and water from a vine.

Between the five of us, we took about 400 pictures, I'll put together a full storyboard one of these days.

So that was Sunday - after returning to the hotel we headed down to the bar and consolidated pictures, plus Steve Forte showed up. We made plans for the next day, taking a tour of the Batu Caves and other religious sites. Kim had to do a pre-conference seminar the whole day, she's still annoyed with us for having fun while she had to work.

This is the entrance to the Batu Caves, all 272 steps of it.

Did I mention there were monkeys (long-tailed macaques, to be exact) everywhere? These are the rats of the monkey world, stealing off of anybody who is slow enough to snag. We saw monkeys running off with bags of peanuts, ice cream bars, you name it. One little bugger grabbed my water bottle, I shook him off, and as he prepared to give another go, I flipped the bottle around and gave him a face full. Yeah yeah, I'm fighting with a monkey, but hey, he started it!

The Batu Caves are ancient limestone, filled with Hindu shrines. And they're huge!

This is the view from the top of the stairs looking into the caves, you can see the first chamber, the roof is 250 feet up. Beyond is stairs into a second open air chamber.

After taking a look at the rock formations, the shrines and the macaques scattered throughout the caves, we headed back down the many stairs and into our taxi for our next stop on the religious tour... the museum of Islamic art. However, the cab driver was a bit confused and took us instead to the National Museum of Malaysian Art... its a nice museum, full of stories of the heritage of Malaysia. But it didn't fit with our theme of all Malaysian faiths, so after a quick walk through we headed back to the cab.

On the second try the cabbie did find the Museum of Islamic Art, and also found out it was closed on Mondays. Ah well. Third stop, a Buddhist Temple. This place was open, and fabulous.

Our cabbie came with us to give us basic instruction on how to get around the temple, including proper observations of lighting some incense, and getting your fortune.

Here Steve and Brian, shoes off, are getting instructions on using the luck sticks. You pick up the sticks in a bunch, then drop them back into the bin a couple of times. Then you pick one, and match its number with a little drawer in the bin. Inside the drawer is a bit of paper with your fortune on it. Those towers with the ladder beside them are wish towers, in a different ritual you put a wish on a bit of paper and the temple staff put the wish in with one of those lights on the towers.

That was enough fun for Monday, we headed back to the hotel.

On Tuesday Steve and I headed back to the Islamic Museum of Art, which was now open... only to discover that you weren't allowed to take photos inside. However, it is an amazing place, lots of old copies of the Quran and other artifacts from the history of Islam. There was a big screen tied to a computer in one room that would read the Quran to you in Arabic, showing simultaneous English translation. Very cool. And the favorite part of the museum was the model room, full of 1/100 scale models of the major mosques around the world, including Mecca and Medina. Incredible structures, temples with room for two million people!

Tuesday afternoon was my first bit of work, a SQL Server “Ask the Experts” panel I sat on with Kim and Steve, along with Rodney Fournier (the cluster god!) and Prakash Sundaresen... Joe Yong from the SQL team showed up to field all the “When is SQL Server 2005 shipping” questions.

Its now early Wednesday morning here in Kuala Lumpur, and the real work begins. I have a session every day til the end now, two on Thursday.

Tuesday, September 14, 2004 3:45:50 PM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Off to Kuala Lumpur...#

I'm just a few hours away from flying off to Kuala Lumpur for Tech Ed Malaysia.

I'm flying on Cathay Pacific, not my usual airline, but their routing kicks ass: Vancouver-Hong Kong-Kuala Lumpur. I leave at 3am Friday morning (that's late, late Thursday night) and arrive around 1pm on Saturday. Its about 24 hours travel, door-to-door, I did the same trip in March for a Business Intelligence workshop.

There's a significant contingent of RDs going... Adam Cogan, Goksin Bakir, Kim Tripp, Malek Kemmou, Steve Forte and Tim Huckaby. So expect some serious speaking, and serious partying.

A bunch of us are heading out with one of my favorite Malaysians, Razali of the Utan Bara Adventure Team. We're going to spend the day with Razali, exploring Malaysian jungle and hanging with the elephants of the Kuala Gandah Elephant Center.

And then there's the actual conference. I'm doing an all SQL Server set of sessions:

  • SQL Server Profiler for the Developer
  • Advanced SQL Querying Techniques
  • T-SQL Error Handling in SQL Server 2005

Plus Steve and I are going to do our duet session on interoperability between SQL Server on Windows 2003 Server and Oracle on Red Hat Linux.

We're staying at a place called the Palace of the Golden Horses, apparently its an amazing resort, I guess we'll find out when I get there.


Thursday, September 9, 2004 5:06:16 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


Home from Tech Ed...#

Things I found upon returning home from Tech Ed:

  • My wife and children still remember my name
  • My water-cooled machine leaked enough to run out of water and shut down
  • There was a power outage, my stand-by generator worked fine
  • My cat is mad at me for being away nine days
  • I've lost my insane craving for Haagen-Daz
  • I had a lot of toys delivered while I was gone!

The solar recharger for AA batteries arrived. Very cool. Bit bigger than I thought, even though they had the dimension and I measured them off a couple of times.

Pile of MSDN stuff, equal numbers of checks and bills, bunch of magazines and books...

Here's the coolest gizmo to arrive so far: a Xincom DPG-402. This is a dual WAN NAT router. I already have the equivalent device from Nexland, but since they were bought by Symantec, the product seems all but dead.

Yes, I have two Internet connections - DSL and Cable. I hate being offline, most of the time these are both up. When either one of them is down, the dual WAN NAT router takes care of switching everyone over to the other WAN connection. Its quite transparent - if it wasn't for the warning emails, I'd have no idea one of my connections was down.

Unfortunately, like most NAT routers, the Nexland can only handle one IP per WAN port. But the Xincom can handle more. You can pass multiple IPs through a given WAN port, only one of the IPs uses NAT, the rest pass through to specific machines. Cool.


Sunday, May 30, 2004 1:26:01 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  | 


Skype Power...#

So yesterday, as the Tech Ed conference center was emptying out, I get a request via MSN from Scott Hanselman, “Help a brother out, contact me via Skype, I want to show a friend of mine how good it is.”

Skype is beta Voice-Over-IP (VOIP) software, free to download, that lets you use your PC like a telephone, albeit just to contact other Skype users. Scott had a friend who was going overseas and wanted to stay in touch with loved ones.

I'd used Skype at home, but not on my laptop. So I had some reservations:

  • One of my fundamental rules at conferences is “Thou shalt not install software on your computer before you have finished all your sessions.” And I have one session to go.
  • I was connected to the Internet via the TechEd wireless network, which is not all that fast (there are 10,000 geeks online, after all) and is heavily filtered.
  • I have no external speakers or microphone set up for my laptop.

But Scott was persistant, so I figured what the heck, and downloaded Skype.

Now since it was the end of the day, there were relatively few people on the Tech Ed network, so my download went quickly. But what I didn't expect was that I could install the software, sign up an account, enter Scott as a contact and press connect in less than five minutes.

And I was totally blown away when Scott's voice came out over my laptop speakers clear and crisp, and even more stunned that he could hear me as well, although apparently I was quite quiet.

No tuning, no fiddling, no specialized hardware - download, install, connect, and it just works!

Friday, May 28, 2004 6:16:26 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


A Day in the Life of a Tech Ed Attendee#
The life of a speaker at Tech Ed is rather surreal, so I decided to spend the day as a regular attendee, just going to sessions and soaking up the Tech Ed experience.
Thursday, May 27, 2004 8:54:15 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Making Databases Work and Play Well With Others...#

Well, Stephen Forte and I pulled off the Oracle/SQL Server Interoperate session today. The crowd wasn’t huge, but they were definitely into it – the questions were outstanding, everyone gets the idea that there are hard choices to make in interoperability. Running three operating systems (Window XP host, VPC of Windows 2003 Server and VPC of Red Hat Fedora) isn't all roses and sunshine, either!

We’ve been handing out lots of RD Bingo cards, and signing even more (you have to get an RD on the card to sign their picture, get a line and you win)… the loot is great. I’m astounded at the number of folks here, getting a cellphone connection (or WiFi connection) is a serious challenge.

Now I get to relax for a couple of days and soak up some sessions before my SQL Server Profiler for the Developer session on Friday.

Monday, May 24, 2004 3:09:41 PM (Pacific Standard Time, UTC-08:00) #    Comments [2]  | 


Time's Up!#
Off to Tech Ed...
Friday, May 21, 2004 12:16:48 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  | 


Tech Ed Prep...#

Ah yes, the panic is on... one more day before I fly down to Los Angeles on my way to Tech Ed San Diego. Naturally, every piece of hardware I own (and I own a lot) is acting up, knowing I'm about to leave town.

I'm presenting two sessions. The first one on Monday is called From Interoperability to Migration: SQL Server and Linux Databases Working Together which I'm doing as a duet with my buddy Steve Forte. The session stems from my time spent “on the dark side“ doing database work in Linux. Although most of my work is done in postgres, this session is going to show interoperability between Oracle 10g on Red Hat Fedora and SQL Server 2000 on Windows Server 2003 (hey, that's what the Microsoft folks wanted, so that's what they get).

I've had to migrate lots of applications over the years, and I see it as the worst kind of development. The problem is, the users see nothing, except the fact that stuff that used to work (on the old app) is now broken (on the new app). And the instinctual order of migration is flawed: we always start by migrating the data, then building the app. After all, you need some data to work from to build the new app. And so you build a tool to repeatedly copy the data from the old system to the new, and one day, you do the dead drop - you migrate the data one last time, and then everybody has to stop using the old app, and use the new app.

And then, inevitably, you find some nasty bug a few hours (or days) later. Now the question is, do you switch back to the old app, or have everyone wait until you fix the new one? If you go back, what about all the work done in the new one? Reverse migration anyone? Aaaugh!

The session focuses on how you can interoperate between applications via their databases, either long term or short term to facilitate migration. The key to the whole thing is SQL Server's ability to use OLE DB to speak to the Oracle database directly. The trick to migration is to move the data last - build your new .NET application to speak to SQL Server using stored procedures, and in the stored procedures you call to Oracle to retrieve the data.

This methodology avoids dead drop migration, since you move the data last. Since there's only one copy of the data, and both applications have access to it, the users can use whatever client they want. In fact, I've done migrations this way where I never cut off the old app, I just kept adding features to the new app until everyone wanted to use the new one, and then quietly turned off the old one.

The second session is SQL Server Profiler for the Developer. I presented the original version of this session waaay back in 1998, with Visual Basic 5 and SQL Server 7. The session came out of my experiences of dealing with even older versions of SQL Server and Visual Basic, and discovering how DAO and ODBC messed with my queries before sending them to the SQL Server. Middleware does stuff, and Profiler is the best way to find out what's really going on with your SQL Server.

Its my first Tech Ed as a Regional Director, so I guess I'll have to go spend some time at the RD Booth and see what craziness Scott Hanselman has come up with.

Thursday, May 20, 2004 11:04:10 AM (Pacific Standard Time, UTC-08:00) #    Comments [10]  | 


All content © 2023, Richard Campbell
On this page
This site
<June 2023>
Blogroll OPML

Powered by: newtelligence dasBlog 1.9.7067.0

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts

Pick a theme: