7 Twitter Accounts to Follow for the latest on ASP.NET vNext

I’ve been working a lot on the ASP.NET vNext framework over the last 2 months, and have only started to publish some of my work and my findings.  I’ve given a presentation at Philly Code Camp explaining a bit about how to start working with this new edition of the framework.  Now, I want to start reporting on what’s going on and give you some pointers to follow as the framework develops over the next few months.

In this post, I want to give you a collection of twitter accounts to follow and learn more about ASP.NET directly from the team.  This is my top ten list to follow for announcements and discussion of the product:

@AspNet

The grand-daddy of ASP.NET accounts.  Just about all activity around the framework is reported from this account.  

 

@ScottGu

Scott Guthrie – the guy who created ASP.NET.  He’s also the executive VP at Microsoft who oversees Windows Azure and all server products, including ASP.NET

@shanselman

What can I say about Scott Hanselman that you haven’t heard already?  Scott has several podcasts, a very good blog, and appears in many training videos for the framework.  Why aren’t you following him already?

@DavidFowl

This is David Fowler… He is one of the lead authors on the vNext framework.  If you are watching the evolution of the code on GitHub, you will become very familiar with his commits and coding style.  David is also one of the original authors of SignalR.

 

@DamianEdwards

Damian is a project manager at Microsoft on the team, and leads the teams that are building out web forms and SignalR for the vNext framework.  Damian loves Australian cricket, so be ready to learn a thing or two about the sport.  He is also one of the original authors of SignalR.

 

@MKristensen

Mads Kristensen is responsible for VS Web Essentials and the Visual Studio editor support for the ASP.NET framework.  He’s built the browser link feature and is a hardcore student of the W3C standards and browser capabilities.

 

@danroth27

Daniel Roth is a project manager on the team and responsible for MVC, WebAPI and much of the cloud optimized server-side framework that you have seen referred to as Project K.  

 

 

Keep an eye on these accounts, and you’ll be updated as things evolve.  Of course, you should also follow @csharpfritz so that you can get my latest unbiased and hardcode opinion of what’s new and how it impacts your projects.  

Mobilize ASP.NET Web Forms with Pluralsight!

My latest course with Pluralsight is finally complete and now available!  After months of agonizing over the last bits, I finally have published “Mobilize Your ASP.NET Web Forms” for all to review.

In the first week that it is available, the course has been evaluated with a 4.4 out of 5 rating by 14 viewers.  Thank you for your reviews!

This was an important course for me to complete for a number of reasons:

  1. My first “solo” course that I delivered.  Previously, I contributed to “One ASP.NET from Scratch” with Jesse Liberty.
  2. This was a topic that hit home with me.  I had received a lot of questions and criticism about ASP.NET web forms NOT being able to deliver effective mobile content
  3. I have spent a lot of time over the last nine months with my colleagues at Telerik to ensure that our UI for ASP.NET product had a killer mobile story

What’s Next?

I have a number of course ideas that I am kicking around.  I’m submitting a proposal today for another ASP.NET course at Pluralsight.  Once I get the go-ahead, I’ll drop hints as to the content, but I want to keep it quiet ahead of release to avoid any competition.

 

That Annoying ASP.NET Issue with Postback

Stop me if you’ve heard this before:

I’m working through an ASP.NET project and suddenly Postback stops working.  I know!  This is the simplest of interactions with an ASP.NET web forms application, and its not WORKING!!  What the heck is wrong with this stupid website?  I mean, I didn’t change anything.. I just want my default.aspx form to be able to have a button click button handler.  Is that so DIFFICULT?  Get your act together FRITZ!1!!

I did some digging and digging on this one.  Did I bring in an add-in or library to my project that was preventing the postback from capturing the click event?  I broke out Fiddler and analyzed the traffic, to ensure that the form content was indeed being submitted properly back to the server.  Everything looked good there.

My next analysis step was to take a look at the Request.Form collection.  I should see the __EVENTARGUMENT being populated.  When I opened the Immediate Window and inspected Request.Form, this is what I found:

How is the Request.Form collection empty?  What’s the deal with THAT?

I started thinking about the ASP.NET pipeline, and it hit me:  FriendlyUrls.

There’s this interesting thing that happens when web forms attempt to post back to pages managed by FriendlyUrls and lack a filename.  This could be any of the following pages in your site:

  • /
  • /Products/
  • /Orders/

You get the idea.  These pages for some reason don’t handle postback properly.  With that in mind, I set forth to drop a quick and dirty change to enable this throughout the website.  Fortunately, I can make that change through a URL Rewrite operation.  I added the following event handler to my global.asax.cs file:

    void Application_BeginRequest(object sender, EventArgs e)
    {
      var app = (HttpApplication)sender;
      if (app.Context.Request.Url.LocalPath.EndsWith("/"))
      {
        app.Context.RewritePath(
                 string.Concat(app.Context.Request.Url.LocalPath, "default"));
      }
    }

With that, my pages started posting back properly… all was right in the world.

Please note:  you will have this problem with the default ASP.NET project with web forms when FriendlyUrls are enabled.

TechEd North America 2014, Thank You Houston!

After a whirlwind week through the monstrous training event that is Microsoft’ Tech Ed conference, I can finally write this post to recount my experience of that week in Houston.

I arrived at the event half-way through the first day, and walked the six blocks from my hotel to the conference center.  After negotiating the maze of closed sidewalks, locked doors, and blocked escalators, I eventually found my way to registration and the conference speakers room.  At other events, I am familiar with the speakers room containing several long tables with enough space for 20-30 to power up laptops and review their content.

At TechEd, with more than 500 break out sessions, I did not expect the mammoth room that opened up before me.  There was easily room for 100 to work, and every seat was taken on this Monday afternoon.  I noticed a number of people in the room whose sessions I had attended in years past, and understood at that point I made it:  I was at the big show, and this was going to be my turn to present.  The staff took my information and handed me what I had been coveting for years, a pair of speaker shirts – proof positive that I was where I belonged.

In the weeks leading up to arriving in Houston, I had this feeling that I was just pretending that I got the invitation to speak at TechEd.  I had been wanting to be a lecturer at this show since 2008, and there was just no WAY that I could finally have the change to do it.  This moment when I left that room with two purple speaker shirts over my shoulder was tangible verification  – no more denial.

I attended and worked at the Microsoft ASP.NET experts booth on Monday evening and Tuesday afternoon.  Including Tuesday evening, where I appeared at an “Ask the Experts” event, I felt like I was really getting into a groove.  I was wearing my speaker badge and colors, and representing the content well.  … and then Wednesday happened.

I couldn’t sleep Tuesday night.  Maybe it was the killer party that my colleagues at Telerik put on, maybe it was nerves, but it certainly was not for lack of rest.  I woke at 4am on Wednesday morning and got to reviewing and rewriting my demos for the 5pm presentation.  I calculated that I needed to leave the hotel by 2pm to make it in time for my talk.  All morning I tuned, pruned, and practices my session.  I added a joke or two, moved some code around until I got it just the way I wanted it…. and then I left my hotel at 1:30pm.

After a quick lunch at Chipotle across the street, I walked to the venue.  I made my way to the speaker room and sat for a few minutes, re-reading my paper notes and slides one final time and then I left for my room.  When I arrived, I found my friend Mads still presenting his session on Performance Tuning ASP.NET.  It was a great session, with all of the seats filled and standing room only remaining.  

Once that session ended, I wired up my mic and got on stage.  After connecting my laptop to the series of displays that I needed for this session, I looked out at a mostly empty room and thought: Holy crow, there’s a lot of seats out there.  I’m not usually nervous when I look out at my audience, but there was a lot of build up to this one for me, and I started to feel it.  I wandered to the back of the room and took a picture or two, and started to get my mind right.  I like to think of a moment in the first episode of Lost, where Jack explains that he’s only going to be afraid for 5 seconds and then block it out.  … and that’s what I did.

I went on stage with 15 minutes to go until my session was scheduled to start, and relied on an old friend of mine to help break the ice.  My childhood friend Rusty Ward has been producing this YouTube series called ‘Science Friction‘ for a year or so now, and I’ve started showing an episode or two before my sessions start.  The audience enjoys it, and it gets things going the way I want – smiles and engaged.

I set forth after showing a second episode of this series.  Its a great series, and you should check it out if you haven’t click the link already.  Anyways, I started my talk and everything ran very well.  You can watch a recording of the screens and my audio here:

Afterward, I had a number of questions and lots of great feedback come in.  Someone called it “the best session of the entire conference” another person said:

“I was hungover all day, and this was such an awesome session that it got my full attention”.  

There were many more comments, and I am humbled by the attendees feedback.  Thank you for watching, and thank you for that hour of your time.

Resources from my session

What does this mean for me now?  Honestly, I don’t know.  This has been a career goal of mine since 2008.  I’ve accomplished it, I have the shirts to prove it and now I must move on.  To what?  I’m not sure yet, but there is another Philly Code Camp coming up next month, and more conferences in the Fall.  I hope to see you at more cool events like TechEd in the near future!

Google Rubik’s Cube

After some tinkering with their terrible controls, on this the anniversary of the Rubik’s cube, I was able to solve the Google Cube.  I’ve recorded the last few minutes, and run the video at triple speed so that you can see what happens when it is solved:

Not bad, certainly not my fastest time… In real life I can usually finish the cube in less than a minute.  For this one, I did have to break out one of my real cubes to get my bearings in3D VR space.  Hey, it was fun for 5 minutes.  

Thanks to my friends at TechSmith Camtasia for providing a great screen recorder that I was able to publish this video with.