Day 0: 1/10/2012

Justin, Greg and I loaded up Leviathan (a Yukon XL) with boxes of swag and t-shirts and hit the road.  Our CodeMash voyage began with (of course) lunch.  We were fortunate that Joel Cochran and his family hit Pittsburgh just in time to eat, so we all met at Primanti Bros., home of "The Manliest Sandwich in America" according to Men's Health.  Along the way, we made a stop at the offices of Inedo Media, where we met up with Kendall and Jay from Gibraltar Software.  After a small sampling of the amazing whiskey bar at Inedo, it was off to the Kalahari and dinner.  We met up with IronRuby MVP Shay Friedman and C# MVP Jay Harris and headed to the Angry Bull Steakhouse.  If you're at CodeMash and want a dinner away from the resort, take the 15 min to get there--it's fantastic.  Bacon wrapped Delmonico, anyone?  Our 2012 Travel Food Awards already has a strong entry in the steaks category.

Day 1: 1/11/2012

One of the great benefits of a conference like CodeMash is to attend half or full day sessions where someone very knowledgeable will hold your hand into a topic you're interested in.  For me, I went to TDD Immersion by Jon Kruger.  Jon did an excellent job with TDD rationale and strategies, mocking, IoC and more.  After lunch, we set up the ComponentOne table, and the rest of my afternoon was spent preparing for my talk the next morning.

We had a great time at dinner with Chad Green (organizer of codepaLOUsa, which is in driving distance for most attendees), Dave Swersky and Joel Cochran.  Many laughs, workout tips and general geekiness over wings and burgers.

Day 2: 1/12/2012

The big talk this morning was Scott Hanselman and all the new action in ASP.NET.  SignalR, WebAPI being merged into ASP.NET, single page applications (kind of like writing a Metro style app, but for the web), plus some other new goodies.  Obviously, watch Scott Guthrie and Scott Hanselman's blogs for more information.  Scott Guthrie will be doing an online Q&A with LIDNUG on Jan 16; for more information visit http://www.linkedin.com/groups/Nice-meet-you-my-name-43315.S.88862915?qid=c21f4fcc-5e5f-4238-b10f-59099e5a526a&trk=group_most_popular-mc-rr-ttl&goback=%2Egmp_43315.

During and after dinner, Pecha Kucha sessions were held in the keynote room.  For the uninitiated, these are talks of 20 slides only, 20 seconds/slide.  They were a festival of fun.  Three links of note are Mel Grubb's Urinal Rules Kata Video and  Urinal Rules Kata Blog Post, John Skeet's Coding in the Style of GleeLeon Gersing (@rubybuddha) on Love (slides can be found at http://leongersing.tumblr.com/post/16072687281/love-codemash-2012-pecha-kucha-slides), and Leon's Tiebreaker, with the best password rules ever.

Today ends with one of the highlights of the entire conference--Kalahari opens the water park for just CodeMash attendees from 10-1.  I would never spend three hours on a Stair Master, but throw in a water slide and I'll spend at least that much time continuously running up three stories of stairs to slide into a shallow pool of water.

Day 2: 1/13/2012

The second day usually starts off sloooowwww.  Very sloowwww.  Everyone is exhausted from the night before--epic water park, epic board games, and some really late parties.  Which is OK, because there were some great talks by Brady Gaster on SignalR and Shay Friedman on ASP.NET MVC vs. Ruby with open seats.

Did you know our booth was "vandalized"?  We didn't until Jim Weirich told us someone tried to alter the QR codes for our online survey, by coloring in a single square (it took us a while to find which posters had which squares colored in, but we did).  Jim came by to test what would happen, and explained that because of the error checking in in a QR code, there should be no affect.  Sure enough, the codes worked just fine.  But then we started talking about an app that would show you how to alter QR codes to do something totally different.  I think next time the posters will go back to the room with us like the demo machines do...

The afternoon and evening featured somethings new this year--a bacon bar, loaded with bacon and all sorts of toppings for bacon, then an After Mash party sponsored by Engine Yard.  We finished up this year's conference with an epic dinner with Dean Weber, Brady Gaster, Devin Rader of Twilio, Chad Green and Abbey Gwayambadde.

Departure Day: 1/14/2012

As in years past, a dance and cheer competition is held the weekend following CodeMash.  An increasing number of decorated doors were the indication it was time to pack up and roll home.  The change in atmosphere was palpable--Bieber Fever quickly replaced Hanselman Fever as 'Mashers checked out and the cheerleaders checked in.  Graphically, it looked something like this:



My Talk: Building Windows 8 Applications with HTML and jQuery Resources

I'm posting this before the talk, so thanks in advance to everyone who attended my talk!  If you don't mind, please take a moment to provide feedback at http://spkr8.com/t/9075.  I appreciate any feedback--good or bad--because I want to create presentations that have value.  Here are some resources I mentioned (or should have mentioned) in the talk.

Slides from my talk can be downloaded at Windows 8 Metro Apps with HTML and jQuery Slides, and the script (including some of the dumb jokes) can be downloaded from Windows 8 Metro Apps with HTML and jQuery Script.

To develop Metro style apps, you do need to be running Windows 8 Developer Preview with developer tools.  There are a number of ways to install Windows 8 Developer Preview; I like either Scott Hanselman's Guide to Installing and Booting Windows 8 Developer Preview off a VHD or How to Install Windows 8 on VirtualBox.  I used a VirtualBox setup in my demo, but I also have a bootable VHD.

This Windows 8 includes Visual Studio 11 Express Developer Preview.  If you want VS 11 Developer Preview, download it at http://msdn.microsoft.com/en-us/vstudio/hh127353.

Once you have Windows 8 and VS 11, you need some samples.  You can find the Visual Studio 11 Developer Preview Training Kit at http://www.microsoft.com/download/en/details.aspx?id=27738, and you can also download the Windows 8 Developer Preview Metro style app samples.

Microsoft has placed a great emphasis on the overall experience of Metro style apps, and they have guidelines to set their expectations.  Be sure to view the video, 8 Traits of Metro Style Apps, and read Differentiating Metro style apps.

To get started developing your app, start with Metro Style App Development and Developing basic Metro Style apps (JavaScript).

References for WinRT, WinJS and HTML/CSS functionality (like geolocation) can be found at http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx.  WinRT provides functionality to the kernel level, library access, etc.  WinJS managers interactions with WinRT, but also handles data binding, HTML fragment handling, Promise programming and requests.

Guidlines for Scaling gives a short overview of using multiple resources and CSS2 media queries to build a scalable interface.

Quickstart: Supporting Navigation discusses how to navigate between pages in a Metro app, and how to navigate between a Metro app and a website.  This includes using ApplicationContentUriRules and msWWA.addPublicLocalApplicationUri.

Managing application lifecycle is very different in Metro style app than in a web app; read about that at http://msdn.microsoft.com/en-us/library/windows/apps/hh465145.aspx.

Promise Programming is probably a new concept (it was for me).  The rationale for Promise Programming in Windows 8 is discussed at http://msdn.microsoft.com/en-us/library/windows/apps/hh464930.aspx, and the implementation follows the proposed standard as discussed at http://wiki.commonjs.org/wiki/Promises/A.

For Live Tiles, toasts and push notifications, start at http://msdn.microsoft.com/en-us/library/windows/apps/hh465385.aspx.

Once you start writing code, you're going to write some bugs, too.  Debugging Metro style apps can be a challenge, so start with Debugging and testing Metro style apps: http://msdn.microsoft.com/en-us/library/windows/apps/hh441481(v=VS.110).aspx.

Finally, if you'd like the corresponding CSS and JS files for newly added HTML fragments to be placed in their correct folders automatically, please vote my request at http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2507798-when-i-add-an-html-fragment-to-my-metro-style-app-.

Those cool charts and grids I showed in my demo were our Wijmo jQueryUI Widgets.  They work great in both traditional web applications as well as Metro style applications.  Because the charts and gauges render in SVG, they're exactly what is recommended for scalable applications.