Social Software

A friend of mine on the ASP.NET team forwarded me this:

It’s an interesting read – albeit incredibly dense – but interesting nonetheless.

The term ‘social software’ is an interesting idea. I guess you could call the a ‘social software package’.

Speaking of the forums we’re making great progress over at we’ll be working on integration with DotNetNuke shortly.

I’ve also promised (again) to start blogging some more… I’ve just finished all of my chapters for the upcoming MSPress book ‘Inside ASP.NET with the ASP.NET Team’ as well as chapters for a secret new title due in late October with Addison-Wesley. Here’s clue, it doesn’t discuss ASP.NET 1.0 or 1.1 🙂

5:37 AM, er, 7:37 Dallas time — ready to go!

Yawn. Who did the scheduling this year? Somehow I must have pulled the short straw since I’m standing on stage at 5:38 Seattle time. Tomorrow I get to sleep in …I don’t present until 8:30 Seattle time.

I got in late last night and was up until about midnight working on the Tips & Tricks presentation. Should be good, we’ll see — the plan is to not even open powerpoint 😉

Here we go again…

Yet another conference 🙂

Actually, TechEd doesn’t really fall into this category since it’s actually a friendly audience vis-a-vis Linux World which we attended last fall. However, I – as I’m sure many MS presenters do – am only finalizing my slide deck today (presentations on Wed. and Thurs.).

This time I’m going to try something new though: no slides. I’m giving 2 talks at TechEd: Tips & Tricks as well as a drilldown on how we run the site. I’ll have some slides for the drill-down talk, but for the Tips & Tricks I thought it would be fun to have 0 slides and just use VS .NET the whole way through. This will be an adventure, but it will also make the presentation easier to follow since there won’t be as many ‘flips’ between applications.

We’ll see how it goes.

ASP.NET Developer’s Cookbook

On Saturday I received a copy of a book that I recently contributed to: ASP.NET Developer’s Cookbook. Kudos to Steve Smith, the main visionary/author, as well as the members of ASP Alliance who also contributed – the book is fantastic! 

I love the format of the book. Rather than attempting to be all encompassing, each receipe is a digestable ‘tip & trick’.

At work there is a set of about 8 books I keep close by, such as: a 1995 copy af Addison-Wesley’s SQL book, an IE 4.0 DHTML reference book from Wrox, Nikhil’s control book, Pro. ASP.NET 1.0, ASP.NET Unleashed, and Andrew’s ASP.NET in a nutshell.

This book is going to be #9. There’s already a ton of receipes I want to lift out and use on the site and in the ASP.NET Forums code base.

If you’re going to be at TechEd this week in Dallas, I think I’ll have some copies to give out at my ASP.NET Tips & Tricks talk.

Getting ready for TechEd 2003

I’m really looking foward to TechEd this year – mainly because it’s in my home town of Dallas, TX but also because TechEd is just a fun conference.

We’re also going to be trying a few new things at TechEd this year, including hosting a community lounge. I believe this is something only the Microsoft developer division is taking part in, but it will be great nonetheless.

The idea behind the community lounge is that MS people will just be hanging out to help answer questions, etc. Personally, I think it’s a great idea and intend to be there as much as possible (I get in on Tuesday evening).

See you there!

Post BillG Review

Last Wednesday at 9:30 AM we had our caching taskforce BillG review. I came into work at my normal time that morning, about 7:30AM, and did the usual email/spec. update/bug review/forum work. At 9:00 AM I decided that although I’m not presenting, it probably wouldn’t be a bad idea to print out copies of my caching related specs. I didn’t think I’d need them, but you never know. At 9:10 I headed out to the meeting.

You might have heard the Redmond Microsoft office described as a college campus. It couldn’t be more true, in some ways it’s probably bigger than a college campus. When I first started at Microsoft one of the most intimidating aspects was the sheer size of the place! The next amazing thing was that there was always (and I mean ALWAYS) some kind of construction going on. We’re either putting new buildings up, or tearing old buildings down to put new buildings up! As I write this I can see cranes swinging back-and-forth.

Anyhow… usually I like to walk to any meetings outside of my building, but that morning I decided to drive. I was parked and waiting for an elevator to the 5th floor by 9:20 and I was starting to get the same jitters I usually get at conferences presentations! For example, the meeting was at 9:30. Meetings at Microsoft NEVER start at the bottom of the hour. What if the meeting had been updated and I was walking in 30 minutes late!

I stepped off the elevator onto the 5th floor and slowly glanced – for about the 10th time- at my post-it note for the meeting room number. I headed down one of 4 possible hallways, hopefully in the right direction. On my left I first passed a conference room marked ‘the executive board room’ — if I could be a fly on that wall! — next I passed 2 other conference rooms: software design review room 1 and software design review room 2. Hmm… I’m participating in a software design review, but not in either of those rooms. 

After a few more steps I was at the end of the hall. Software design review room 2 on my left, offices on my right, and a glass door in front me. I again glance down at my post-it note … yup, still going the right direction, but now it appears that I need to pass through the glass doors. At this point I simultaneously hear two women in two separate offices ask me, ‘can I help you’? They direct me inside into what appears to be a private conference room in what appears to be Bill’s private office area. To make matters worse, I’m the first one there! I’m always one of those people that’s about 2-3 minutes late to meetings. At Microsoft a meeting might be scheduled to start at 10AM, but it seems like everyone is always 5-10 minutes late. Great, I hate being early.

It’s now 9:27. I’m still the only one in the room. Finally at exactly 9:30, Mike Pizzo, the guy presenting shows up. He has his own funny story to tell: Apparently he came in at 4:00 AM that morning to prepare for the meeting — can’t say I blame him, I’d probably do this same if I was presenting — he said he drove straight to this building, came up to the 5th floor and attempting to get into the conference room to ensure his network connection worked, etc. Turns out the glass doors were locked and he sat outside (by design review room 2) and worked on the demos. About 5 minutes after arriving a security guard showed up and started asking him why he was waiting outside Bill’s office at 4:30 AM in the morning!

9:35, a few more people show up. A woman, who said she was from MSR (Microsoft Research) asked me why we were meeting in this conference room vs. the usual executive board room. She obviously thought that I was commonly involved in meetings that occur with executives. I pulled a sly: ‘Yeah, I think it might have been booked – besides this room is smaller.’ She bought it 🙂 … what did she think I was, some usual board room attendee or something!

A few seconds later, Bill walks in the room; minutes later Jim Alchin, and Paul Flessner join us too. There are now about 14 people in the room so we start the meeting with introductions. I watch a couple other folks from the caching task force somewhat nervously introduce themselves — and notice that Bill kind of smiles/smirks with a couple of the more nervous exchanges. The kind of smirk you give someone when you can tell they are nervous, but there isn’t a reason to be. Either way, it’s both intimidating and exhilarating to sit in the room with Bill.

The first thing I notice as the meeting starts is that Bill is left-handed. He also didn’t bring a computer in with him, but instead is taking notes on a yellow pad of paper. I had heard this before – Bill takes amazingly detailed notes during meetings. I image he has to, given all the information directed at him. The other thing I noticed during the course of the meeting is how he takes his notes. He doesn’t take notes from top-to-bottom, but rather logically divides the page into quadrants, each reserved for a different thought. For example, it appeared that all his questions were placed at the bottom of the page.

The meeting ran for about 2 hours. During which we discussed all kinds of different technologies, competitors, strategy, research, etc. We got a lot of positive feedback on what we had done. I got the chance to answer many of Bill’s direct questions about ASP.NET caching and brainstorm some of the new ideas we were tinkering with. We talked about optimization differences in various algorithms too; the ASP.NET cache implements a least recently used algorithm (LRU), Bill, Jim, and one of the research guys debated LRU vs. memory management in early versions of Windows NT and how Windows memory management was now so much better.

The meeting ended about 15 minutes late. Overall it went really well. We had some new work items and some areas to investigate, but he was pleased with the results we had.

Looking back, it was a really fun meeting. I thought it was going to be more overview and less detail, but instead what it reminded me of was a feature team meeting. A feature team is a virtual team composed of the developers, program managers, and QA people directly responsible for a given feature within a product team. For example, we have a feature team within ASP.NET for caching. Feature team meetings are usually where the rubber meets the road for technical design. The feature is debated, designed, improved, etc. The BillG review was like a feature team meeting: filled with debate, ideas, changes, etc. but at a slightly higher level!

Scott Watermasysk emailed me after my pre-BillG review blog entry and told me he had a blog ready for Bill. Too bad I didn’t get a chance to let Bill know 😉

Bill Gates Review

For the last several years I’ve participated on an internal Microsoft task force with the single goal of getting a consistent caching strategy across various groups. We’ve made a tremendous amount of progress, much of which will show up in the next version of the .NET Framework (version 2.0).

Tomorrow we’re reviewing our progress with Bill Gates in what’s known (and feared/dreaded by some) as a ‘BillG Review’. A BillG review usually consists of 2 hours with the top executives from various teams, e.g. Developer tools, Windows, and/or SQL Server where you get to present work that they are interested in. Usually this is either new projects or projects that affect many other teams across the company, such as caching.

It’s not my first meeting that I’ve had with BillG — everyone goes by their alias in MSFT 🙂 — but it will be the first time he’ll be critiquing much of my work (caching in ASP.NET) directly. Frankly, I’m kind of looking forwad to it. We’ve done a tremendous amount of work in ASP.NET to enable some fantastic caching scenarios and with the new stuff — to be disclosed at a date in the not so distant future — we’re really going to once again change the way devleopers think about caching in their applications.

Should be fun … we’ll see if I still think that after the meeting! …hopefully I’ll remember and add a blog entry too!

As a side note, we upgraded the site to new hardware last week. We went from:

2 dual-processor 750MHZ 500MB RAM Windows 2000 web servers

1 single-processor 750MHZ 1GB RAM Windows 2000 database server


2 dual-processor 2.2 GHZ 1GB RAM Windows 2003 web servers

1 dual-processor 2.8GHZ 2GB RAM Windows 2000 database server

Our CPU utilization on our database server went from about 60-85% utilization to about 2-5% utilization — one of the other big changes we made with the database server was moving the logs and data to a separate raid controllers.