June 2013

Monthly Archive

The Morning Brew #1375

Posted by on 12 Jun 2013 | Tagged as: .NET, Development, Morning Brew

Software

  • Glimpse Heads-Up Display released – The Glimpse Team announce the release of the Glimpse ‘Heads Up Display’ an significant new UI to their excellent profiling and debugging tool. I won’t say much more here, as Yesterday’s ‘Afternoon Tea’ had lots of information
  • NuDoc: A .NET XML API Documentation Reader – Daniel Cazzulino shares NuDoc an NuGet package which reads the XML Documentation files generated by the build process which can form the basis of tooling to generate human readable documentation in any format you choose.
  • June 2013 Internet Explorer Updates – The Internet Explorer Team highlight their latest updates package which addresses 19 privately reported vulnerabilities across Internet Explorer 6-10

Information

  • All about promises (for Windows Store apps written in JavaScript) – Kraig Brockschmidt shares a detailed discussion on the use of Promises in Windows 8 Application Development in JavaScript which allow you to work correctly with asynchronous APIs, a critical part of Win8 application development.
  • Simple Validation with MVVM for Windows Store apps – Jeremy Likness takes a look at validation in an MVVM setting and explores the creation of your own simple validation implementation.
  • Understanding PowerShell’s Type Conversion Magic – Lee Holmes takes a look at the magic ‘it just works’ world of type conversion in PowerShell, looking at the hard work that PowerShell does behind the scenes to make it ‘just work’
  • Doing the Time-Warp – Andy Harman takes a look at making code which makes repeated use of DateTime.Now behave as intended by creating time bubbles which freeze the time for that block of code.

Community

Afternoon Tea – 11th June 2013 – Open Source Projects I Like: Glimpse

Posted by on 11 Jun 2013 | Tagged as: .NET, Afternoon Tea, ASP.NET, C#, Community, Development, Morning Brew

A couple of weeks ago I watched the dotNetConf Open Source .NET Panel’ discussion which brought together a number of people from the .NET Open Source communities to discuss the state of Open Source in our community. The discussion was a good one, well worth watching and made me start to think about some of the Open Source projects I like – one of which features in this post.

Glimpse

Glimpse
Glimpse provides the answer for server side code that the likes of Firebug and Chrome Developer Tools provide for the client side developer. The project was originally conceived by Anthony van der Hoorn and Nik Molnar back in early 2011, and launched at Mix11’s Open Source Fest.

Glimpse did the usual Open Source project dance through many <1.0 releases, and mid last year became a project supported by Red Gate. Since then things have rapidly accelerated, and the community team have blasted beyond the 1.0 release threshold.

Today sees the announcement of Glimpse 1.4, along with a significant new look and feel introducing a Heads Up Display to make the most significant and useful information always available when Glimpse is enabled. Check out the announcement post over on the Glimpse Blog for the full lowdown, including a short video which gives a real impression of how the new Heads Up Display actually works.

More Heads Up

Get Your Head Up!

I love that adding Glimpse to a project while working is as simple as adding a NuGet package

Install-Package Glimpse.MVC4

Once installed, build and run your solution, and then hit up the Glimpse Handler to see what’s installed and to enable the tool

http://localhost:12345/glimpse.axd

So far all as expected. Now head back to your web application, and you will be greeted by the new look Heads Up Display at the bottom of the page, in all its Metro’esque glory.

Glimpse Heads Up Display

The Heads Up Display appears across the bottom of all pages when enabled, providing at a glance key metrics about the page:

  • Key Overall Timing Metrics
    • Overall Time
    • Time spent network communicating
    • Time Spent processing Server Side Code
    • Time until DOM Ready
  • Server Side Processing Breakdown
    • In the MVC case identifying the Controller
    • The Action processing time
    • The View processing time
    • The Time taken by Database queries triggered by the page
  • Realtime updating view of the Ajax Requests

Hovering the mouse over each of these sections gives further information about the metrics in a concise and clear, yet information dense way:
Heads Up Display Detail

More new UI awaits you on clicking the ‘g’ logo in the corner, the traditional way to summon Glimpse’s detailed FireBug like UI to the foreground, which has also had the Metro style make over. If you’ve ever used Glimpse before you will be familiar with the range of information available in here, including the very useful (and even prettier now) Timeline view:

Glimpse Detail View - Timeline

Why Glimpse Works for me

  1. Very, very easy to get up and running
    The ‘Pit Of Success’ is easy to get into, install the package, enable via a URL, and you are reaping the rewards.
  2. Tells me useful information
    Glimpse has the useful metrics, configuration and information readily available – other than enabling it there is nothing more that needs to be done
  3. Friendly and far reaching community
    Nik and Anthony are nice chaps and have fostered a good community round Glimpse, and care about engagement in the open source community. The community is growing with with ever increasing numbers of contributors and extensions for all kinds of things ranging from pure ADO to SignalR – I’ve found the SignalR one useful on a number of occasions
  4. Easy Extension
    It’s pretty simple to start adding your monitoring for your own functionality to a custom Glimpse tab (so easy I’ve managed it!)

I’ve found having the metrics Glimpse provides to be invaluable on a countless occasions, and I encourage you to try it out, or even better, get involved with the project itself.

Full Disclosure – Anthony & Nik gave me a preview of the new Head Up Display functionality a few days ago, which prompted me to tell you how much I’ve liked Glimpse for quite some time – No money exchanged hands, but I might let them buy me a drink when I finally get to meet them both 😉

The Morning Brew #1374

Posted by on 11 Jun 2013 | Tagged as: .NET, Development, Morning Brew

Update: Getting lots and lots of comment spam at the moment so am going to disable comments for a few days – If you want to feed back you can always Tweet Me

Information

  • Construction destruction – Eric Lippert takes a look at the birth and death of objects, and how these events can cause side effects, along with the usual twist to what you might expect to take place.
  • When the Google beats on your SignalR – Jeff Putz highlights how he received a large number of exceptions from his SignalR endpoint caused by GoogleBot, and shares a robots.txt exclusion to make Google and other well behaved bots avoid the SignalR endpoint.
  • Understanding the risk of mixed content warnings – Troy Hunt continues his discussion of website security with a look at the dangers of mixed content, where items on a ‘Secure’ page are loaded over a mixture of HTTP and HTTPS.
  • JSON vs. XML: Some hard numbers about verbosity – We all know that XML is quite a bloated data transfer form, and the Json is more concise, and in this article ‘Pragmateek’ takes a look at this and provides some actual numbers, including a look at applying compression to the data.
  • Download C# Language Specification 5.0 & Download Visual Basic Language Specification 11.0 – The official language specification documents for C#5 and VB11 are now available for download from the Microsoft Downloads site – these are a great reference, and actually make interesting reading too – what better way to learn about how your language of choice works than to look at the original specification.
  • Do you really need API Versioning? – Andreas Krohn reviews the arguments for and against API versioning strategies discussing the problems it tries to solve, as well as looking at how to go about it, and questions if you really need to do it.
  • Spooling in SQL execution plans – Rob Farley takes a look at the Spool operators in SQL execution plans, explaining what their purpose is and why certain statements include them. I really love database query performance tuning, and this is a nice article to explain a common operator.
  • Get Your Map of the Microsoft Developer Platform World – Vitor Ciaramella has created a nice map outlining the various branches of the Microsoft Development eco-sphere – useful to see what is out there and how some bits related, especially if you are a specialist in a particular area.

« Previous PageNext Page »