Monday, June 14, 2010

Conference is over but...

Like what you see below? You can watch all the sessions from tech ed at http://www.msteched.com!

Welcome people coming here from the Sept 22 presentation! The below posts contain blow-by-blows of all the sessions I went to. If any spark your interest, definitely check out http://www.msteched.com and watch the presentation!

Posts best viewed in order:
Sunday
Monday
Tuesday
Wednesday

Questions? Contact me at abrbw@allstate.com

Thursday, June 10, 2010

Wednesday

Wednesday was a very amusing day. I got close to a lot of some very eccentric Microsoft people: The C# and VB language guys. Picture your most amusing computer science professor. Then double his intelligence and give him a British accent. That was what my first talk of the day was like.

Session: Advanced Use of the New Microsoft Visual Basic 2010 Language Features

We started off with a number of "mind benders": Short and confusingly written code snippets on the screen, which generate unexpected outputs. There's not too much to take away from these - it's a primarily academic exercise that you don't have to worry about if you write clear code. But still fun. Peppered throughout were amusing little one-liners that I decided to write down in lieu of the code...

"This is one of the main reasons why I love VB so much: XML Literals!" Not a sentence you hear too often on the street.

"
XML is like violence. If it's not working for you you aren't using enough of it."

"Now I'm going to talk about Nothing for awhile."

Pretty amusing stuff. If you're really interested in what you can do to push the boundaries of .NET 4.0 I recommend you watch the video of this session- at the end of the week I will make a post with them all. The easiest takeaways are:

*Never do this:
If x = Nothing Then 'It just causes problems. Always use is Nothing or IsNothing() instead

*You can write really cool delegates now, right inside other functions.

*Everything sounds more intelligent with a British Accent.

Session: 10 Developer Mistakes that don't scale (SQL Server)

Presenter was someone from Quest. Decent session that, admittedly, mostly went right over my head.

I present to you,what you shouldn't do!

TRIGGERS

You can't uncouple timing, processing
Minimal error handling

SELECT *

Just don't do it.
Hard for indexing.
Think you need every column? What if someone adds more later?

DYNAMIC T-SQL

Be careful regarding spaces/comments/casing ... they all apparently get cached separately

BIG FIELDS

Consider carefully. They will be big fields. Forever and ever.

BINARIES IN THE DATABASE

Just say no.

HEAPS
Fix it...
Implement Primary Key
Look for identity fields
start asking questions about what is unique to business users.

IGNORING INDEXES

Use them!

TEMP DB

USING VERSION 1.0 FEATURES
-Just because it works doesn't mean it will scale. Everything looks amazing and slick with small datasets.

Overall this session was decent. The guy was pretty snarky. He asked if there were any "Heaps Religious Zealots" in the crowd, and then when he found one he insulted the poor guy and wouldn't let him have a discussion. That was bizarre.

Meet the C# Team

Heh heh heh. I will be making a Tech Ed Tips&Tricks post next week, and one of them will be to make sure you go to as many of these kinds of sessions as you can. 4 Super-nerds talking to a room full of other nerds. It sounds awkward but actually it was awesome. The best part was watching their community manager wince, fidget, and look generally terrified when their answers got a little too honest. It was awesome.

Memorable Quotes and Takeaways:

The people who write the language aren't usually the languages power users. "I've never written a winform" said one of the guys, which caused fear to visibly flutter across their community manager's face. Even so, you feel like you are in good hands with these guys. They have solid design goals and are clearly brilliant.

Brilliant... in the theoretical sense. Largely to attempt to score a tshirt but also wondering if I would get anything interesting back, I asked what they thought the strongest selling point of .NET 4.0 was, such that I could help convince decision makers that it was worth the "cost" . One of them actually blurted, confused about my question but genuinely serious, "Well, the language is free!" This pretty much blew me away. To understand so little about the cost of upgrading to anything- free or otherwise- was really incredible. (I got no tshirt & no great answers either. It wasn't a very good question, I'll admit. Wrong people to ask.) By the way. After the conference is over and I have a few days to reflect on it, one of the many post-conference blogposts I will write will be about changes I think Allstate and/or CTS could make.

Someone asked if, now that VB doesn't need _'s, maybe it's time to obsolete C#'s semicolons. "How would you even know it was C#?" joked a team member. The more serious answer is that this really complicates the grammar, and it just doesn't seem worth it. Another team member suggested that if you really wanted this, VS2010 is extensible enough that you could write an auto insert-semicolon 3rd party addon for it.

We talked a lot about dynamic types, which I think I've already written about elsewhere. It's the largest new thing in C#. We talked about the irony that C# handles untyped values THROUGH it's type system, and also the innate hilarity present in the fact that you can write code like this:

dynamic static Foo() { ... } //Look at it for awhile. It's funny :)

Q: Why does VB get XML Literals and C# doesn't? A: Umm. It's hard.

The team got several questions about things they like about the VS2010 IDE. I guess our assumption was that these are crazy coders, and we are also crazy coders, and we want to learn their crazy coding wizardry ways. Apparently though, they don't really use VS2010 to write the compiler. That was the vibe that I got. I'm not sure what they use. Someone in the crowd joked that the compiler is written in Notepad, and the guys didn't exactly deny it. Amusing stuff... In the end they recommended scottcate.com for VS2010 tips; I will definitely be checking it out later.

Using JQuery and AJAX to write dynamic web applications

Talk given by a contractor from another company rather than Microsoft. I'm slowly beginning to recognize this as a possible warning sign.

If I've learned anything at TechEd so far, it's that you can never know what you're getting when you walk into a TechEd session. The best sounding talks can be flops, and bad sounded talks can be amazing. ("The Zen of Architecture", which to me sounded very iffy, is something everyone is discussing in the hallways. I will have to catch the video later.)

This talk, sadly, just didn't deliver on the awesome promise in its name. The guy gave 3 or 4 little tips, and then dove into some odd bleeding edge thing that he and his friend have apparently been developing in the last few weeks. It was truly bizarre. He's writing serverside code in JavaScript, or something, by importing JQuery templates and surrounding his code in {}'s every line. As you can tell I didn't understand it, largely because it was the end of a long day and once it was clear to me that the benefits are few whereas the downsides are MANY, I paid much less attention. All of his demos could easily be written with an update panel plus a few code behind event handlers, so really I didn't understand the selling point behind it, since writing ugly code like this would get me laughed out of my code reviews. Also half his demos didn't work without some coaxing, which demonstrated that you can't even properly debug the stuff. Just a disaster.

There were, however, some interesting tips:

Inside your script manager you can put &lt CompositeScript &gt tags. This apparently speeds things up. I'd need to do a lot more research regarding it since I don't really trust the guy. But it sounded good.

Also for your javascript js files, you can run a tool on them that minimizes them- removing whitespace, changing variable names, compressing them. This makes the page load faster. Sounds very useful if you are developing for a mobile platform or you have large javascript files. CSS files, too.

you can set enablecdn="true" to some of your jquery and other js libraries, and that way they are loaded from google/microsoft/whoeveryouwant rather than your servers. Mainly useful if you have non-north america users, which we don't.

So as you can see this talk was a flop, for me. But overall it was a very fun and amusing day.

Wednesday, June 9, 2010

Tuesday

INTRO

I am really enjoying the Tech Ed conference. It's kind of like how I always wished that college could be. Take little bits of this, little bits of that, learning a broad variety of things without having to work too hard at it and get hung up on those pesky details. Indeed it does feel a lot like a series of university lectures- except that there are no tests, no required readings, and no homework.



It's pretty ironic, then, that I'm actually taking far more notes than I ever took at school. Necessary if I'm going to remember anything to put up here after sleeping like the dead for 11 hours.




I want to capture as much as I can in blog format, to make this experience "worth it." What I'm coming to realize today is that this is a marathon and I need to be less crazed. Yes, rooms do sometimes fill to the point that you can't get into a session, but it doesn't happen that often and even if it does there is probably a session just as interesting next door. I probably don't have to be doing this rush from room to room that I've been doing. The more experienced techedders seem to know this. They move more slowly. Or maybe they are just old ;)

Session: A lap around IE9 for Developers

This was the world's longest sales pitch, but it had some information in it, too. The main points of interest was a sincere plea from Microsoft to ditch IE6 for the good of the web... "so the web can move forward" (heh), as well as a long list of HTML5/CSS3 standards that IE9 will implement. Also it was lots of comparisons between IE9 beta and chrome/firefox etc. Those became a little grating. But if you forgave the guy for that, it was possible to learn quite a lot about what the future of web programming could be like.

*IE9 will run javascript at speeds similar to other modern browsers, unlike IE8 which really really doesn't. How? It's pretty cool- if your processor has extra cycles (or extra cores!) available, it will compile the javascript to make it that much faster to execute.

*You can add SVG images just as you would any other HTML element, right in the HTML. This was actually pretty cool. An SVG image is an image written with vectors instead of a grid of pixels. Thus you can zoom in as much as you want to and lose nothing. There is freeware out there than can turn images into SVG images. Not something for photos, but great for diagrams and such.

*CSS3 Media Queries- Show different content based on what device the person is coming in from- or even how many pixels wide the person's browser is. Pretty slick and easy syntax.

*Opacity Controls in the HTML

*Lots of developer tools, including built in Fiddler (did you know? Fiddler was built by a microsoft employee. Microsoft knows! They will tell you everytime they use it or mention it for anything in a demo)

*Hardware acceleration- IE9 will press your GPU into service to help out, if it doesn't seem to be too busy and can spare a moment from its push ups.

*You can download and test out IE9 preview from here: http://ie.microsoft.com/testdrive/
Windows vista/7 only of course. It won't kill whatever IE you currently have. Also you can run lots of tests on that site and see the new features for yourself.

Session: C# in the Big World

This was one of those expert sessions where extreme mind blowing had been promised to me on Sunday. The room was really big and really full. It was pretty cool, because the Program Manager for the C# language was telling us not only about new C# stuff but also why did things in a certain way, and how they came to that decision. This was very cool because that's insight you can't often get.

The session was largely about dynamic objects. You can do things like this:

dynamic calculator = GetCalculator();
int sum = calculator.Add(1,1)

The idea being that the calculator object is coming from some crazy javascript, or maybe ruby, or the COM, or something insane. In past versions of C# you would have had to assign it to an object. Then you would have to painstakingly cast it and sub-objects before you used its methods.

He gave a lot of examples which I didn't have time to write down- I will definitely link slides as soon as they come out. Basically, if you use reserved word dynamic to declare an object, the compiler gives that a break and wont typecheck. It's sweet for interacting with COM objects and javascript objects. Another example given was code that interacts with bing. A lot of developers write a lot of javascript to interact with bing, because the javascript-bing world is dynamically typed, and its just so much easier to manipulate in that same world. But who wants to write javascript? Come on, really no one does. Unless you have a strong need for that to be client-side, it can be done very easily in C#, now, too. Very cool demo on this.

Plus, the guy was effing hilarious. As in, really, really, really funny. For example, declaring a new javascript class from C# can be a little cumbersome, and so he said this, this is an exact quote: "We toyed for a long time with giving this a better syntax, but to be honest we just couldn't figure it out." It's just so refreshing to hear microsoft talk that way. And the way he said it was so funny. It looks a little less funny this morning. But it was very funny.

Session: What you need to know for IE6 to IE8 conversation.

This was a decent session. The main point was: If your apps look terrible in IE8, don't panic! A lot of the time the fix is really simple! There were probably a handful of takeaways from this, so I will just go ahead and list them.

*Most important: Make sure IE8 knows this app is in the intranet, not the internet. That way it won't throw you a million messages warning you that dangerous things are afoot.

*Don't turn off protected mode!!! Add this app to sites protected mode ignores.

*Check for code that says, for versions of IE that are LESS THAN OR EQUAL TO IE6... change it to greater than or equal to. (I've never seen this in NextGen)

*Just released this week! The IE Compatibility Test Tool! This is pretty cool. This should definitely be a part of our effort to bring NextGen to IE8. From what I can tell, it scans the source and spits out potential issues.

*Want to test a fix in .aspx pages without without having to do a build/deployment, but for some reason a local change can't be done / is hard? You can do this with fiddler. Since fiddler is a middleman tool that sits between browser and remote server, you can tell fiddler to display X if it ever receives Y, and thus test fixes pretty easily. This goes beyond just IE6/8 issues, I am going to use this all the time now, if I can remember to...

OUTRO

Another day of TechEd strewn before you! Thanks for reading, and remember, a piece of TechEd swag can be yours if you come to my desk next week and tell me something that you learned.

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!

Sunday, June 6, 2010

Sunday

TechEd starts tomorrow, Monday, but I've been in New Orleans on my own dime for a few days. I went today to the conference center, got my badge, and went to a "Tech Ed 101" session, to learn the lay of the land.



I'm certainly excited. The speaker really got me in the mood for some serious convention-going. In describing what an "expert" level session was like, he said: "It's basically you, in a room with the guy who wrote the product, who just blows your mind." I'm definitely going to enjoy that!

Here's the swag I've picked up so far.


Can't wait for the conference to begin for real!

As for New Orleans- wow, what a city. There is so much I could say, but I think the place could best be discribed by this local saying: “In New Orleans there are two times of day: Mealtimes, and the times in-between them.” To that end, let me tell you about the city through one of my favorite activies: eating!!









Thanks so much for dropping by. Check back tomorrow and throughout the week for the meat of it!

Tuesday, June 1, 2010

Aaron is going to Microsoft TechEd!


TechEd is an annual conference where participants listen and interact with Microsoft experts on a variety of subjects. Over the course of June 7 - June 10 I will be at TechEd, and I want you to join me virtually. I will update this blog nightly with what I am doing, what I am learning, and how this might be applicable to Allstate.

In this upcoming week, please feel free to look through the sessions I hope to attend. If you have a question you want asked, let me know!

Sessions I hope to attend:

Keynote Session - TechEd North America
DEV203 - Introducing Microsoft Visual Studio 2010: What it is and why you should care
DEV204 - New IDE and Language Features in Microsoft Visual Studio 2010 Using VB and C#
WEB309 - Practical Strategies for Debugging Cross-Browser Display Issues
DEV404 - C# In the Big World
DEV201 - Building Modern Line-Of-Business Applications with Microsoft Visual Studio 2010
DEV401 - Advanced use of the New Microsoft VB 2010 Language Features
WEB301 - 10 Ways to protect users of your web applications
DEV317 - Profiling and Debugging Parallel Code with Microsoft VS2010
DEV302 - Building an E2E SharePoint Application Using Microsoft VS2010

And More!

There are so many other amazing sounding sessions, but sadly they often seem to overlap- you can't go to them all. Please help me promote and share this blog!

Thank you,

Aaron Brottman