That Conference 2016–Session Resources

Last week I had the pleasure of attending the 2016 edition of That Conference.

It was an all-around excellent experience.  The venue, topics, speakers, sponsors, food, after-hours events, and swag all left little to complain about.  In addition, many technical conferences include areas/times for free-form open discussions led by conference attendees on topics of their choosing, and That Conference is no exception.  That Conference’s version of this was called Open Spaces, and by all accounts it was a success.  While I only took part in a single discussion, I observed that the area designated for those discussions was never not busy.

Conference experiences can be spoiled by inexperienced or ill-prepared session speakers.  At That Conference I was pleased by the quality of the speakers in all twelve sessions and three keynotes that I attended.  However, there were too many interesting sessions (a good thing!) and too little time (can’t be helped).  Therefore, since returning home I have been watching social media and the conference website in order to compile links to as many of the session materials as possible.

Here are the links to everything that I have been able to find.  (If you know if others, please post a comment with the links!)

Against Best Practices – Embracing the Avant Garde for a Weirder Web
Chelsea Maxwell

As Seen On TV: Developing Apps for Apple TV and TVOS
Matthew Soucoup

Back to the Future => C# 7
Mike Harris

Battle of the CLI: Gulp vs. Grunt
Abbey Gwayambadde

Be An Expert Xamarin Outdoorsman with the Ultimate Xamarin Toolchain
Vince Bullinger

Bear Proof Applications: Using Continuous Security to Mitigate Threats
Wendy Istanick

Boost Your Immune System with DevOps
Michelle Munstedt

Build and Deploy Your ASP.NET Core Applications… Automatically!
Brandon Martinez

Build Your Own Smart Home
Brandon Satrom

Building Mobile Games That Make Money
Scott Davis

C#: You Don’t Know Jack
George Heeres

Clean Architecture: Patterns, Practices, and Principles
Matthew Renze

Common T-SQL Mistakes
Kevin Boles

Computer Science: The Good Parts
Jeffery Cohen

Daring to Develop With Docker
Philip Nelson

Date and Time: Odds, Ends, and Oddities
Maggie Pint

Domain Driven Data
Bradley Holt

Enough Cryptography to be Dangerous
Steve Marx

The Experimentation Mindset
Doc Norton

Finding Your Way to the App Store
Matthew Ridley

From Inception to Production: A Continuous Delivery Story
Ian Randall

From Mobile First to Offline First
Bradley Holt

Full-Stack ASP.NET MVC Performance Tuning
Dustin Ewers

Happy Full-Stack Javascript Campers
Ryan Niemeyer

How I Learned To Love Dependency Injection
James Bender

Identity Management in ASP.NET Core
Ondrej Balas

An Internet Of Beers
Wade Wegner

Intro to Typescript
Jody Gustafson

Introduction to Angular 2.0
Jeremy Foster

Javascript Code Quality
Md Khan

Keynote: Family Keynote
Neely Drake and Emily Davis

Keynote: From 0 to 100,000: How Particle Failed, then Succeeded, then Scaled
Zach Supalla

Keynote: Stop Writing Code
Keith Casey

Keynote: You Have Too Much Time
Jeff Blankenburg

Mastering Voice UX Featuring Amazon’s Echo (AKA Alexa)
Chris Pauly

A Microservices Architecture That Emphasizes Rapid Development
Rob Hruska

Microsoft Bot Framework: Hiking Up the Trail of Automation
David Hauck

The Millennials R Coming
Heather Shapiro

Node.JS Crash Course
David Neal

Not Just Arts & Crafts: A Developer’s Guide to Incorporating Lean UX Practices into the Development Process
Rachel Krause

Out With the Old, In With the New: A Comparison of Angular 1 and 2
Tony Gemoll

Pavlov Yourself!
Alexandra Feldman

React Native to the Rescue
Josh Gretz

React vs. Angular – Dawn of Changes
John Ptacek

ReactJS For Beginners
Arthur Kay

Ruby on Rails from 0 to Deploy in 60 Minutes
Chris Johnson

Ruby Writing Ruby – Campfire Tales of Metaprogramming
Sara Gibbons

Service Bus Summer Camp
David Boike

So Many Analytics Tools, Which One Is Right For Me?
Jason Groom

Start Your Own Business, Dammit!
Terra Fletcher

A Tale of Two Redesigns
Jess Bertling

Tell SQL Server Profiler To Take A Hike
Jes Borland

Understanding Git, Part 2
Keith Dahlby

UX Beyond the UI – How the Rest of Software Development Affects User Experience
Joe Regan

Why Your Site Is Slow
Steve Persch

Working From Whereever
Aaron Douglas

Setting Up Glimpse on an ASP.NET Web Site

Glimpse is a real-time web diagnostics package for ASP.NET web sites.  Per the Glimpse web site, it “inspects web requests as they happen, providing insights and tooling that reduce debugging time and empower every developer to improve their web applications”.

Thanks to NuGet, it is very easy to quickly install and configure Glimpse.  In most cases, though, you will want to restrict who has access to Glimpse.  To do that, the installation requires just a bit more work.

Some useful documentation about the process can be found at the following links:

http://getglimpse.com/Docs/
http://getglimpse.com/Docs/Enabling
http://getglimpse.com/Docs/Runtime-Policies
http://getglimpse.com/Docs/Custom-Runtime-Policy

Here is a very brief summary of the steps to take to add Glimpse to a web site and restrict who has access to it.  Please refer to the documentation at the preceding links for more information.

1) Use NuGet to add the Glimpse packages to the project.
2) Start the web site and verify that you can access glimpse.axd
3) Edit the GlimpseSecurityPolicy.cs file to add authorization code to specify who can access glimpse.axd.  The exact code needed will vary from site-to-site.  The default example given in the comments of the basic GlimpseSecurityPolicy.cs file is shown here.

public RuntimePolicy Execute(IRuntimePolicyContext policyContext)
{
    var httpContext = policyContext.GetHttpContext();
   
if (!httpContext.User.IsInRole("Administrator"))
    {
        return RuntimePolicy.Off;
    }
    return RuntimePolicy.On;
}

4) Add the following to the web.config file to allow Glimpse to be accessed from remote computers (otherwise it can only be access from the local webserver).  This should only be done if Step 3 was also done.

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
    <!–
          For more information on how to configure Glimpse, please visit
http://getglimpse.com/Help/Configuration
          or access {your site}/Glimpse.axd for even more details and a Configuration Tool to support you.
      –>
    <runtimePolicies>
      <ignoredTypes>
        <add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet"/>
      </ignoredTypes>
    </runtimePolicies>
  </glimpse>

5) Start the web site and verify that you can now only access glimpse.axd if you are authorized to do so.

That’s it.  Glimpse should now be installed and ready for use, but only by authorized users.