Tuesday, June 8, 2010

Monday

INTRO

Day 1 is complete! I was at the conference for 12 hours, and I sat through 5+ hours of lectures, took 9 pages doublesided of notes, and got at least twenty tshirts. And it was awesome. Thanks for stopping by! I will try to be brief! (OK, so I failed at that. But I've tried to be INTERESTING, at least. Next week I will create some kind of index to this all...)

Tech Ed is crazy. I've never done anything that's remotely like this. The only thing it reminds me of is one time when I went to a french horn festival in Wisconsin. For years I only knew a handful of people who, like me, played the French Horn. I'd been to the orchestra, and maybe seen eight there. Then, one day in jr. high, I went to this festival and saw hundreds of french horns in one place. It blew my mind. It was so enjoyable to be around so many people who were passionate about what I was.

Obviously it isn't a perfect analogy. I've been around plenty of enthusiastic nerds at school, and at Allstate we have a great environment. But it's nothing like this. By sheer volume, it can't be. Witness, the nerd herd:



This has got to be less than 5% of the attendees.

KEYNOTE SPEECH

The first order of business was the keynote speech. Bob Muglia, President of Server & Tools*.



*Disclaimer: I'm not a journalist, or even a particularly good note taker. I'm bound to get dozens of little details wrong, such as his title, which certainly doesn't look right. So it goes. Do not quote me on this stuff.

The keynote was not unlike a rock concert. We had a warmup band. We had lights. We had fog. We had no pyrotechnics or smashing of guitars, but the feeling was there.

The main topic of the keynote, and indeed the focus of much of this conference, is CLOUD COMPUTING, especially via Windows Azure, Microsoft's cloud platform. Bob defined this as "Delivering IT as a standardized service... [and] through scaling services on shared hardware." It's obvious that he has passion for this, as did the many demoers involved in this presentation.

A project manager demoed how bug tracking/detecting/debugging through Visual Studio 2010 Ultimate is completely seamless and easy. Before our eyes Runtime errors created bug reports with easily-created video of the steps that created the error. A button in the bug-tracker launches the application, and we witness a manual test that is automatic- the computer is checking radio buttons and filling in text boxes, showing the developer exactly how to recreate the bug, and indeed recreating it on the spot, with no hands on the keyboard. The bug is fixed in the code, recompiled, and the automatic tests run again, this time passing.

It's awe-inspiring, but nothing is magic. Far from it. I learned a little more about how this works behind the scenes in later sessions, and the effort it would take to bring NextGen into such a system is pretty monumental. We could certainly do it if we wanted to, but I'm not sure we do.

Next were various demos of Windows Azure and other cloud computing tools. With them, you can deploy apps to many PCs, set up virtualized web apps, configure your servers, and so on. It's cool stuff. I only have a vague idea of how we currently do this type of thing, but they certainly sold it well :)

The demo of Windows Communicator was probably my favorite. It's a bit like skype, Instant Messager, outlook, WebEx, and powerpoint all in one application, plus whiteboarding. You see your contacts in a pidgin-like UI. With a click your computer either calls them, or IMs them, or emails them, whatever you want. During a call, you can share documents, or even switch on your webcam and do a video chat. If you do, the person's picture is right next to the document. You can draw on the document, too. It was pretty slick. Microsoft thinks that this technology will spur hardware designers to create HD webcams. When you see it working in action, it's easy to buy into the hype they are trying to create.



I spoke one on one with a Microsoft guy regarding this later, on the convention floor. My biggest concern is what happens when I want to call someone before my computer boots up. After all, it takes awhile, and I often need to call into a conference call before it does. It turns out, they recommend you keep a little phone on your desk, for this and other reasons. Doesn't this eliminate a lot of the cost savings, I wondered? He got pretty technical on me then, explaining how the soft-phone allows you to skip out on a lot of stuff, saving you money. Microsoft, which has already moved entirely to this model, claims they have already saved $1mil. I'm not completely convinced the world needs this, but there's no doubt that it's very cool.

Windows Phone 7 is another thing they are trying to push. It has a neat UI and lightweight SharePoint built in, but I doubt that's enough to be a serious contender considering what else is out there. Gosh, the name of it alone is enough to disqualify it. Imagine if the Xbox had been named the "Windows Gaming Platform". Yikes.

Microsoft CIO Tony Scott came onstage and gave a really great talk about how Windows Azure has increased the efficiency of many of Microsoft's internal apps. He spoke in a very down-to-earth way about how cloud computing vs. normal virtualization has greatly decreased page load times, energy consumption, necessary hardware, and more.

Several case studios were shown. Apparently Chicago Tribune uses a lot of Azure, and James Cameron's Avatar used a custom Microsoft solution to store its footage, although what exactly this was was fairly fuzzy. But, you know, inspiring music and blue aliens. Yay.

Like it or hate it, I think this is where the world is going. Tony Scott says "you'll love the journey." Muglia says, "The time to start is now, because it's important to start the learning process." Probably they are both somewhat right.

I'm writing way too much. If you're still with me, thank you. Or, If you skipped the second half of that keynote stuff, I don't blame you at all.


Interactive Session: Debugging Visual Studio 2010 Tips and Tricks


(Picture is 15 min before the event. Eventually it was standing room only)

I saw a lot of cool stuff in this demo. Unfortunately, a lot of it was about Intellitrace, a VS2010 feature that you only get the most out of with VS2010 Ultimate.

Perhaps the #1 most interesting takeaway from this session was when the speaker asked our group: "Who here is using Visual Studio 2010?" Over 75% of the group raised their hands. I was absolutely blown away by this. My perception of the world was that most companies upgrade very slowly, but this apparently isn't true. To be fair, however, in any given room that I'm in at TechEd, the vast majority of attendees come from companies smaller than Allstate- and of course that has something to do with it.

The #1 VS2010 feature is Intellitrace. When your debugger hits an error, instead of just a stacktrace, you can get a detailed call hierarchy that includes everything that has happened since you started the session. *The debugger can move backwards as well as forwards*. You can run it in any environment, and that way your testers or users can generate errors that you can start intellitrace from. (Microsoft doesn't recommend you turn it on in Production, but "there is nothing stopping you"- it even works with release builds, and apparently without PDB files, which I'm still not sure I understand). All VS2010 users can benefit somewhat from intellitrace, but only the VS2010 Ultimate can use all its really juicy features.

There are a number of cool 2010 features everyone gets, though. For one, labels for breakpoints, and exporting of breakpoints. This is pretty cool- you could basically email another developer an xml file, and suddenly on their computer they would have exactly your debugging session. Assuming your code matches exactly, of course. You can also load/turn-off breakpoints in groups, via labels.

Possibly the coolest Visual Studio 2010 feature is a surprisingly simple and obvious one. In both sessions I saw it presented, the room murmured excitedly and happily. I hope I can explain it well without demo'ing aid, it might be tough:

You know how when you are debugging and you want to see the value of a variable? You hover over it and, moving your mouse very carefully, you expand parts of the object. Move your mouse away and its all gone. Now, you can *pin* this to the screen. Kind of like quickwatch, but it's right next to the code. You can then customize your pin by adding comments, or telling it to always display the value of a certain object within your larger object. And this pin persists even if you close the program, and is also exportable. It sounds silly but wow is it cool.



VS2010 also has a visual debugger for multithreaded stuff.

On the soft side, this session's presenter really impressed me. He was using the session as a genuine way to mix with customers and get our feedback. When people asked for a feature he hadn't thought of, he wrote it down. His knowledge of the product was immense, and he was an excellent facilitator and demo'er. It was a really cool experience.

BREAKOUT SESSION: New IDE & Language Features in VS2010 and VB/C#


Lots of cool stuff will be available if we upgrade framework versions and VS, a lot of it most of us already, I think, know:

*VB: No need to use the _ character anymore. Statements can continue onto a new line without it.

*C#: C# will be getting optional and named parameters! Hallelujah! Medbill'ers and ERL'ers, you will learn to love it. You really will.

*Better silverlight support (meh), VS2010 is more easily customizable (meh)

*Extension Manager- a bit like a free app store built in to freely browse MSFT and third party additions to Visual Studio.

*ZOOM IN AND OUT in Visual Studio with control+mousewheel. At long last! Will be used by all of us at every single freaking code review. No more changing your monitor resolution, or digging through menus.

*Auto-generated code stubs if you use an undeclared method

*"Box Selection" - very hard to explain. But will be useful if you want to add a semicolon to every highlighted line in C#, or comment out multiple lines at once in VB, and things like that. These two actions are huge pains to do, at the moment.

*VB New Valid Syntax: Public Property FOO As Integer
Getter and setter plus _variable will exist if you do this. Yay! Will be great for UICs.

*VB New Valid Syntax: Dim a = 3
Dim b = "hello, world".
Compiler can infer type.

*VB New Valid Syntax: Dim a = List(Of String) From {"1","2","3"}.
It's the same as.
Dim a As List(Of String) = New List(Of String)
a.Add("1")
a.Add("2")
a.Add("3")

*VB: Crazy/Awesome Lambda functions to make that even better. Very technical, if you want to know more, google it. Essentially, VB gets everything C# had with lambda functions/subs.

This session was very fast paced but pretty cool. VS2010 will bring a lot of nice-to-have stuff. These are the small changes. The really big changes are Intellitrace (see previous session) and the use of Visual Studio as a complete Develop/testing/deployment platform (see keynote speech)


BREAKOUT SESSION: Practical Cross Browser Display Issues

I was very excited about this. We are testing CSS on different browsers in a fairly adhoc way, and I was interested to hear how it could be done better. Sadly this session was of little value. The presenter talked about one tool, SuperPreview, which shows your web page in many browsers, and then you can compare between them.

But wait. No Javascript.

But wait. No chrome support, no past versions of firefox support.

But wait. Does page navigation even work? I don't know because I left. This will help very little if at all, and it was clear this was all she was going to talk about. Supposedly it isn't rude to leave a presentation that you realize you don't want to be at. They want you to be engaged, at sessions that will help you. That's what they told me on Sunday, anyway. Hope it's true! I left this and still managed to catch most of...

BREAKOUT SESSION: FAIL: Anti-Patterns and Practices to avoid

This speaker was engaging and hilarious. He uses real world examples of things not to do from his consulting days, and solicited "things not to do" from us. It was lighthearted and fun way to end my sessions of the day. I don't really have much to report from it. It's all stuff you would already know if I told you. But it was great. Guess you had to be there! Should help in the occaisonal code review ;)

Partner Expo.

This is the huge area where vendors set up booths and give you things as you enjoy the open bar. I'm going to let pictures tell the story.








Do you want some of this Swag? It can be yours! Stop by my cube next week and tell me something you learned from my blog, and a piece of TechEd Swag will be yours! Spread the word! Thanks for reading! Come back tomorrow for more. It will have different content. And be shorter. I promise!

3 comments:

  1. Thanks for the info Aaron. Was a good read during build.
    -Cory

    ReplyDelete
  2. Aaron,

    Excellent job. Not too lengthy, to the point, and easy to read.

    Your time, effort & desire to share are greatly appreciated.

    Keep up the good work!

    - Garrett

    ReplyDelete