Lance Larsen - .NET Architect Madison Wisconsin

All posts in Uncategorized

imageIn the middle of another awesome season of robot challenges! 

Volunteer coach for both my daughter’s teams – both FLL (First Lego League) –and-  FTC (First Technology Challenge).

Been volunteering since Ashlyn (oldest daughter) was in 4th grade – she’s now in 10th grade – loved every success and failure along the way.

Always tell them “…if you’re not failing, you’re not trying hard enough…” and “…unless you give up — you always fail, until you succeed…”

If others are interested in getting involved – either as a coach or as a judge at one of the competitions – check out the following links and/or contact me anytime!


As a passionate professional developer and more importantly a dad we only have so much time to dedicate to certain parts of our lives – so I pick and choose very carefully.  One such choice on the development side is to dedicate time to VR (Virtual Reality) and even more so to AR (Augmented Reality).

I was one of the few developers to have time at the last Microsoft //BUILD conference to get hands on development time with the HoloLens via the “Holographic Academy” – 4+ hours working with the HoloLens hardware and Unity software.  It was mind blowing!  More than I expected in almost all ways.

As a community presenter – and an business and technology entrepreneur – I see huge potential for serious AR corporate and commercial development.

I am keeping up (and ahead) of the technology curve and sharing daily VR/AR news and emerging technology on both Facebook and Twitter – wanted to share so you can keep up with me. :)

Follow and LIKE…

Presenting at ThatConference!

“Have you fired up a new ASP.NET 5 project in the new Visual Studio 2015? Wow does that look different or what?!?!

What’s new in MVC 6? What is .NET Core? What is Grunt? What is Gulp? Bower? Npm? Rosyln? Why are there JSON confutation files? Why is Node installed? Where’s my project file? No System.Web? Runs on Linux and OSX???

Wow — there is a lot of new stuff — in fact ASP.NET 6 is one of the most significant architectural updates Microsoft has done with ASP.NET ever!

Have NO FEAR fellow camper, come join Lance and your fellow campers!

Together we will leave this Pow-wow able to face a new day of ASP.NET web development with a much better understanding of what new tools have been added to our Swiss Army knives!”

Here are files…

Presentation PDF
Presentation Power Point
Demo Code

Surface Pro 3

A lot more Surface 3 owners out there as sales of the Surface topped $1 billion in revenue for Microsoft – so more tips for my primary development computer!

Screen Brightness Shortcut: Press “Fn” + “Del” to increase brightness, and “Fn” + “Backspace” to decrease brightness.  Love it. 

If there are more cool tips that others have – ping me, love to know them.

imageLove sharing little gems of knowledge – this is a good one for anyone using Entity Framework 5 and the new’ish enumerations (emums) inclusion in EF5. 

So working on a MVC5 Code First application for a project of my own – and had the following Model.

namespace GeoBucketlist.Model
    public enum TagType { Location, Bucketlist, Member }

    public class Tag : Base.Model
        public long Id { get; set; }
        [StringLength(25, ErrorMessageResourceType = typeof(ResourceMessages), ErrorMessageResourceName = "LengthMax25")]
        public string Name { get; set; }        
        public string Description { get; set; }
        public TagType TagType { get; set; }

When you auto-create the View templates for editing / adding that model in MVC through T4 templates – the html is as follows follows…

<div class="form-group">
    @Html.LabelFor(model => model.TagType, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.TagType)
        @Html.ValidationMessageFor(model => model.TagType)

imageWhich then shows up in your pages as a plain textbox – not a good solution for choosing an enumeration value… :(

So simple but elegant solution is to change that line to the following… (Note, would be lovely if this was the default behavior for the @Html.EditorFor – but alas that is a blog article (and more work) for another day – but if anyone else has that complete, always loved to see great code!)

<div class="form-group">
    @Html.LabelFor(model => model.TagType, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownListFor(model => model.TagType, new SelectList(Enum.GetValues(typeof(GeoBucketlist.Model.TagType))))
        @Html.ValidationMessageFor(model => model.TagType)

Good coding!