Mike Swanson

October, 2008

  • Mike Swanson's Blog

    PDC2008: A Day in the Life #5

    • 6 Comments

    I have an internal PDC2008 gadget running in my Windows Sidebar, and it reports that there are only 25 days remaining before the big event. In "event time," that seems like tomorrow! I'll probably go to sleep tonight and wake up in the Los Angeles Convention Center. I'm not sure if I'd consider that a dream or a nightmare at this point. :-) There's still a lot to do!

    My days are packed with PDC2008-related meetings (and some MIX09 meetings, if you can believe it). Last night, we published 25 brand new sessions, and here are a few of the highlights:

    • Miguel de Icaza is presenting a session titled Mono and .NET. It's great to have Miguel present at PDC!
    • We announced a handful of sessions from Microsoft Research, including Designing the World Wide Telescope by Jonathan Fay and another called Contract Checking and Automated Test Generation with Pex. Parallelism and concurrency are hot topics this year, and Concurrency Analysis Platform and Tools for Finding Concurrency Bugs should be extremely useful.
    • A languages panel is starting to become PDC tradition, and this year, we've assembled a panel of experts for the ambitiously titled The Future of Programming Languages. Not only will you hear from the top language designers at Microsoft, but we'll have a number of industry luminaries too. This is always a very popular session.
    • Microsoft .NET Framework: CLR Futures with Ian Carmichael and Joshua Goodman should appeal to anyone interested in the future of managed code development.
    • Learn about where the Windows Presentation Foundation is headed with Kevin Gjerstad in WPF: Futures.
    • To see how our MIX Online Team has made it easy to work with Microformats, be sure to attend Oomph: A Microformat Toolkit by Karsten Januszewski.

    On a related topic, you may remember the post I did awhile back called PDC 2008 Conference Scheduling Using a Genetic Algorithm. Well, the time has finally come to feed the algorithm some real data and generate a master agenda that enables you to attend your favorite sessions in-person. This is a bit of an experiment for us this year, and I need your help to make it work.

    Please take a few minutes to sign in to the PDC2008 sessions page (the Sign In button is in the upper right corner), and add sessions that you plan to attend to your My Sessions list. You can either check the box next to each session or click the Add to My Sessions button. If you've already done this, I'd ask you to review your list, since we've added a lot of new content over the past month. Note that by adding sessions to your list, you are not committing to anything; you're always free to attend any session you'd like. The more data you provide, the better we can generate a master agenda that helps you get the most out of your PDC experience.

    Last, I want to point out something that Adam Kinney is coordinating this year called PDC Badges. The PDC2008 badge holders have two slide-in pockets on the front. The top pocket is where your name shows up, but the bottom will accept a standard business card...or anything business-card-sized (the imagination wanders). By the way, why do I always think of badgers when I talk about badges?

    We'll provide a "default" card and coordinate some special achievement cards that you can collect throughout the event. An example might be, "I met Mike Swanson," though I'm not sure that'd be much of an achievement. :-) The idea is that they're unique, cool, limited, and fun to collect. You can keep your current-favorite card in the front—prominently displayed—while the lame and embarrassing cards are hidden from view.

    The cool part is that you can print your own badges and bring them to the event. Think of it as a way to tag yourself. While you can certainly use any vendor you choose to print the business cards, I've had great luck with MOO (I've posted about their MOO MiniCards before). You can upload as many as 50 different designs for orders of 50 or 200 business cards. Their prices are good, and the quality is high.

    Well, that's about it for this post. I'm not sure how many more posts (if any) I'll sneak in before PDC2008, but if you're planning to attend the event, stop me and say "hello" as I run down the hallways. I love meeting my readers face-to-face!

  • Mike Swanson's Blog

    PDC2008 Downloadable Master Session List

    • 5 Comments

    Only three more days before PDC2008 kicks off in Los Angeles. It's hard to believe that the big event is almost here! If you won't be able to join us at the conference, be sure to bookmark www.microsoftpdc.com and watch the first two keynotes streamed live. Keep checking back for news, announcements, and video recordings of each session.

    Many of you have already used the new timeline view to add sessions to your own personal agenda. As an aside, did you notice that you can click on a time to "zoom in" to the content? It definitely makes the longer session names easier to read. For those who prefer to download an electronic version for offline viewing, I put together a 14-page PDC2008 Master Session List (link removed, see update below). Apologies in advance for the font size I had to use for the abstracts, but without the smaller font, the document was already over 23 pages long.

    While I have your attention, also be sure to pick up printed session change lists that we'll make available at registration starting on Monday. We try to minimize changes to the schedule, but they inevitably happen (new sessions are revealed, repeats get scheduled, speakers get sick, etc.). The online version will always be up-to-date, so if you're ever unsure, browse to the timeline view from your laptop or one of the many machines we'll have scattered around the convention center.

    Last, if you're mobile, you might prefer to use the mobile version of the site. See you soon!

    Update: Because the downloadable session list was becoming more and more incorrect as the days went on (due to cancellations, reschedules, new sessions, etc.), we've removed it to reduce confusion.

  • Mike Swanson's Blog

    PDC2008: A Day in the Life #6

    • 3 Comments

    Today was our first day of PDC2008 dry-runs on campus. To present a session at the conference, all speakers are required to rehearse their session in front of the content team and a handful of their peers. This is in addition to the proposals and outlines that are part of an earlier vetting process. It's one of the many methods we use to ensure that the content is both relevant and accurate.

    During dry-runs, Microsoft employee feedback can be very direct. Thankfully, it is also honest and respectful. Ideally, the feedback leads to much stronger sessions that provide more value to attendees. With over 200 sessions, we'll review more than 240 hours of content in the coming weeks. Today's dry-runs included one session that needs a lot of work (or we may cut it), a handful of very good sessions that should be in great shape by the event, and two standout sessions that are fantastic as-is (though we still gave feedback to make them even better). I have to admit that one of the two standout sessions was unexpected, but I like good surprises!

    On another note, the final version of our master agenda is due this Wednesday, October 8th, which means that we'll know the dates, times, and rooms for each session. We'll update the public web site next week to include a timeline view that you can use to manage your personal conference agenda. This should be good news to everyone who has sent e-mail asking when this information would be available.

    I want to thank everyone who created a personal My Sessions list! Almost 55% of our attendees took the time to select sessions that they'd like to see at the conference, and as promised, I've used the data to (anonymously) generate a master agenda that should enable you to attend as many sessions in-person as possible. Overall, pending a few manual tweaks we'll make over the next two days, you should—on average—be able to see over half of the sessions you selected. Interestingly, the average My Sessions list contains 21 selections, even though there are only 18 time slots during the event.

    For those who are curious about the genetic algorithm part of the process, I've included a graph of run number 19, which is only significant, because it was the master agenda with the lowest overall cost/highest fitness. The cost axis measures how good the agenda is with zero being "perfect." With the number of factors involved, it's highly unlikely that a perfect solution exists. You can see that the solutions started leveling out around generation 45 and stopped after generation 75.

    Some have asked which factors are considered by the algorithm. Here's a list of the major factors that influence the overall cost/fitness value of each solution (each solution represents a possible PDC2008 master agenda):

    • Solutions that schedule deeper sessions (Advanced/Expert) after their corresponding introductory (Introductory/Intermediate) sessions are considered better. We refer to these as priors.
    • Solutions that place sessions into rooms that can accommodate their expected attendance are considered better. Any room that exceeds its maximum capacity during a run is severely penalized.
    • Solutions where overall room attendance is "balanced" are preferred. This prevents the algorithm from filling 1% of a room that can hold 2,000 while filling 98% of a room that can hold 500 people. This helps prevent unnecessary overflow situations during the event.
    • Solutions that schedule the same speaker more than once in a single time slot are considered terrible and are given the maximum possible cost (Int32.MaxValue in my case). They don't survive the early generations.
    • Solutions that schedule sessions before their product/technology is announced are severely penalized. We refer to these as holds. For example, we don't want to schedule a session on Windows 7 until after the appropriate keynote.
    • Solutions that allow attendees to see more of their My Sessions in-person are considered better. The algorithm actually iterates through all My Sessions lists for each solution and "schedules" each person in a room.

    There are some smaller factors, but these are the key differentiators. It's rare that the smaller factors ever come into play in the grand scheme of things. With C# code that is not optimized, each run of 75 generations takes around 25 minutes on my recently-purchased 2.66GHz Intel Core2 Quad CPU (Q9450). I usually let it run multiple times overnight to compare best solutions.

    While we've put a lot of effort into making a fantastic master agenda, don't worry if you can't make all of your sessions in person. Like we've done for our MIX events, a video recording of each session (other than pre-conference sessions) will be published within 24 hours of its completion for anyone to stream or download. How cool is that!?

    Hope to see you at the event!

  • Mike Swanson's Blog

    PDC2008: A Day in the Life #7

    • 3 Comments

    The first full week of PDC2008 dry-runs is complete! If you're not familiar with our dry-run process, take a look at PDC2008: A Day in the Life #6. The on-campus dry-runs continue through this Thursday. After that, we have a little over a week to make final edits before the big event in Los Angeles. The photo to the right is one of the sessions we ran yesterday morning.

    I was sitting in a dry-run of Larry Osterman's session, Windows 7: Building Great Audio Communications Applications, and it hit me. I've been so heads-down focused on producing content for the event, that I had completely forgotten that this is the %&@# PDC, man! There I was...sitting in a session...listening to Larry Osterman, a guy who's been at Microsoft for a long time. At prior PDCs when I was an attendee, I probably would have run up to the stage after Larry's talk to gape in amazement at his knowledge and expertise. How fortunate am I to actually work on the content for such an amazing event!? Wow. Sometimes, you just have to slow down, step back, and appreciate your situation. Thank you, world!

    On another topic, I've mentioned session recordings in a few prior posts, but I've never really explained what we do with them. The amazingly talented Brian Keller, one of my Developer & Platform Evangelism (DPE) colleagues, is responsible for recording every single session at PDC2008 (except for the pre-conference sessions) and publishing them for your viewing pleasure. Watch the recent This Week on Channel 9 episode (or is it?) for the details in under 10 minutes.

    So you can view the content as quickly as possible, we publish each session within 24 hours of its completion. The recording includes the PowerPoint presentation, any demos that were shown, audio, and video of the speaker. I grabbed a screen shot from our MIX08 recordings to give you an idea of what they look like.

    This year, each recording will be hosted on Channel 9 along with a bunch of related links and a discussion thread. You can use the thread to suggest topics or questions that the speaker may incorporate into their talk or discuss the session after the video is published. Oh yeah...the recordings are completely free to anyone and available in a variety of formats. No login required.

    Next, we made a decision earlier in the week that I hope you'll notice at the conference. At the Los Angeles Convention Center (affectionately known as the LACC), we have 15 primary session rooms that are available during 18 time slots (15 "normal" time slots + 3 over lunch). When we plan the master agenda (which was locked-down just yesterday), we traditionally try to predict expected attendance for each session and match it to an appropriately sized room.

    Below is a diagram that shows the 15 rooms (whose relative sizing is correct) across three representative time slots. You'll notice that for time slot 1, only 9 of the 15 rooms have been scheduled. Time slot 2 has 11 sessions, and time slot 3 has 10. Notice, though, that there are rooms that remain empty.

      

    The challenge is that it's very difficult to accurately predict attendance. This year, we're using the My Sessions data that over 55% of you have provided, and that helps a lot (thank you!). Still, there are products and technologies that won't be announced until the keynotes, and there's no way to confidently gauge interest in them until we see people filling up the rooms. By then, it can be too late.

    At the event, when we get close to filling a room, we route the audio and video of the presentation to one of six dedicated overflow rooms. The overflow rooms are even smaller than the 15 primary rooms, but they allow us to quickly "add more seats" so that you don't miss the session. Overflow situations are never ideal, and if the overflow room fills up, we then have to decide if we want to repeat the session later in the week.

    Attendee surveys tell us that sitting in an overflow room is never as ideal as sitting in the primary room (there's still something about being in the same room as the presenter). We also get feedback that packed rooms are less comfortable to sit in. From my experience, I prefer to have an open chair next to me for my backpack or laptop, and frankly, sometimes you just need a little more personal space. You know what I mean. :-)

    This year, we're going to try an experiment. Instead of leaving rooms empty and risking more overflows and repeats, we decided to "slide everything to the left" so that we use all of our biggest rooms.

    This configuration should help us accommodate as many people as possible in each session while minimizing overflows and repeats. I sincerely hope that this improves your overall PDC2008 experience.

    The downside is that some of the sessions that would normally be in smaller rooms will be in bigger rooms. In some cases, the larger room may cause the session to appear relatively empty...even with hundreds of people present. I know this can affect speakers, and I'm sure that many of them will be worried about filling-up their session (my apologies). Fortunately, to my knowledge, we've never received negative feedback that "the room was too big, and I didn't have enough space to stretch out."

    So, if you attend PDC2008 and don't like the larger rooms, please let us know. We always listen to your feedback and are willing to adjust for our next event (which is MIX09, by the way).

    Only 15 more days!

  • Mike Swanson's Blog

    Send Me Your PDC Video

    • 1 Comments

    In a little over a week, we'll be holding an all-hands meeting for Microsoft employees who are attending PDC2008. It'll be a huge meeting with many hundreds of people, including the core team, virtual team, content team, speakers, staff, and anyone else who plans to be at the event. I've been asked to lead the meeting, and I'd like to help my fellow employees appreciate the amazing passion, excitement, intelligence, and creativity of our PDC attendees. That's where you come in.

    I plan to show some of our registration data, but I'd really like to show your faces and hear your words. I figured that a short video would be the best format. That way, I can include a few of them to represent the diversity of our audience and get everyone excited. Who knows? If we get enough, perhaps we'll even play a few while people are filing in to the keynotes at the main event in Los Angeles. :-)

    If you're up for it, here's what I'd like:

    • A very short video (so I can show a few of them). Ideally, 15-25 seconds in length.
    • Talk into the camera and be as creative as you'd like with the background (perhaps a landmark from where you're from or something fun in your office).
    • Here's the beginning of your script: "My name is [your name] from [location]." The rest of the script is completely up to you.
    • Tell us something inspiring, interesting, fascinating, historical, or whatever related to you and the PDC. It can be past PDCs or PDC2008. You pick.
    • It doesn't matter if you've never attended the conference. If you still have a story about PDC, like why you wish you could attend, what you're excited to hear about, or perhaps why you can't attend, I'd love to hear it.
    • Encode it to a WMV or AVI file, and host it somewhere I can get at it.
    • Send me an e-mail telling me where/how to download your file, along with your full name and mailing address.

    I'll let you know if I use your video at the meeting. Thank you in advance for your help!

Page 1 of 1 (5 items)