MVP Hackathon 2016: Cool Projects from Microsoft MVPs

Last week was the annual MVP Summit on Microsoft’s Redmond campus.  We laughed, we cried, we shared stories around the campfire, and we even made s’mores.  Ok, I’m stretching it a bit about the last part, but we had a good time introducing the MVPs to some of the cool technologies you saw at Connect() yesterday, and some that are still in the works for 2017.  As part of the MVP Summit event, we hosted a hackathon to explore some of the new features and allow attendees to write code along with Microsoft engineers and publish that content as an open source project.

We shared the details of some of these projects with the supervising program managers covering Visual Studio, ASP.NET, and the .NET framework.  Those folks were impressed with the work that was accomplished, and now we want to share these accomplishments with you.  This is what a quick day’s worth of work can accomplish when working with your friends.

MVP Hackers at the end of the Hackathon

MVP Hackers at the end of the Hackathon

  • Shaun Luttin wrote a console application in F# that plays a card trick.  Source code at:  https://github.com/shaunluttin/magical-mathematics
  • Rainer Stropek created a docker image to fully automate the deployment and running of a Minecraft server with bindings to allow interactions with the server using .NET Core.  Rainer summarized his experience and the docker image on his blog
  • Tanaka Takayoshi wrote an extension command called “add” for the dotnet command-line interface.  The Add command helps format new classes properly with namespace and initial class declaration code when you are working outside of Visual Studio. Tanaka’s project is on GitHub.
  • Tomáš Herceg wrote an extension for Visual Studio 2017 that supports development with the DotVVM framework for ASP.NET.  DotVVM is a front-end framework that dramatically simplifies the amount of code you need to write in order to create useful web UI experiences.  His project can be found on GitHub at: https://github.com/riganti/dotvvm   See the animated gif below for a sample of how DotVVM can be coded in Visual Studio 2017:

    DotVVM Intellisense in action

    DotVVM Intellisense in action

  • The ASP.NET Monsters wrote Pugzor, a drop-in replacement for the Razor view engine using the “Pug” JavaScript library as the parser and renderer. It can be added side-by-side with Razor in your project and enabled with one line of code. If you have Pug templates (previously called Jade) these now work as-are inside ASP.NET Core MVC. The ASP.NET Monsters are: Simon Timms, David Paquette and James Chambers

    Pugzor

    Pugzor

  • Alex Sorkoletov wrote an addin for Xamarin Studio that helps to clean up unused using statements and sort them alphabetically on every save.  The project can be found at: https://github.com/alexsorokoletov/XamarinStudio.SortRemoveUsings
  • Remo Jansen put together an extension for Visual Studio Code to display class diagrams for TypeScript.  The extension is in alpha, but looks very promising on his GitHub project page.

    Visual Studio Code - TypeScript UML Generator

    Visual Studio Code – TypeScript UML Generator

  • Giancarlo Lelli put together an extension to help deploy front-end customizations for Dynamics 365 directly from Visual Studio.  It uses the TFS Client API to detect any changes in you workspace and check in everything on your behalf. It is able to handle conflicts that prevents you to overwrite the work of other colleagues. The extension keeps the same folder structure you have in your solution explorer inside the CRM. It also supports adding the auto add of new web resources to a specific CRM solution. This extension uses the VS output window to provide feedback during the whole publish process.  The project can be found on its GitHub page.

    Publish to Dynamics

    Publish to Dynamics

  • Simone Chiaretta wrote an extension for the dotnet command-line tool to manage the properties in .NET Core projects based on MSBuild. It allows setting and removing the version number, the supported runtimes and the target framework (and more properties are being added soon). And it also lists all the properties in the project file.  You can extend your .NET CLI with his NuGet package or grab the source code from GitHub.  He’s written a blog post with more details as well.

    The dotnet prop command

    The dotnet prop command

  • Nico Vermeir wrote an amazing little extension that enables the Surface Dial to help run the Visual Studio debugger.  He wrote a blog post about it and published his source code on GitHub.
  • David Gardiner wrote a Roslyn Analyzer that provides tips and best practice recommendations when authoring extensions for Visual Studio.  Source code is on GitHub.

    VSIX Analyzers

    VSIX Analyzers

  • Cecilia Wirén wrote an extension for Visual Studio that allows you to add a folder on disk as a solution folder, preserving all files in the folder.  Cecilia’s code can be found on GitHub

    Add as Solution Folder

    Add Folder as Solution Folder

  • Terje Sandstrom updated the NUnit 3 adapter to support Visual Studio 2017.

    NUnit Results in Visual Studio 2017

    NUnit Results in Visual Studio 2017

     

  • Ben Adams made the Kestrel web server for ASP.NET Core 8% faster while sitting in with some of the ASP.NET Core folks.

Summary

We had an amazing time working together, pushing each other to develop and build more cool things that could be used with Visual Studio 2015, 2017, Code, and Xamarin Studio.  Stepping away from the event, and reading about these cool projects inspires me to write more code, and I hope it does the same for you.  Would you be interested in participating in a hackathon with MVPs or Microsoft staff?  Let us know in the comments below