Herding Code 142 – Scott Guthrie on the ASP.NET MVC, Web API, and Razor Open Source Announcement

The gang talks to Scott Guthrie about the recent announcement that ASP.NET MVC, Web API, and Razor are being developed in public, open source repositories using git and will accept external code contributions. It’s an action packed show, jam packed with information and guys named Scott.

Download / Listen:

Herding Code 142 – Scott Guthrie on the ASP.NET MVC, Web API, and Razor Open Source Announcement [audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0142-Scott-Guthrie-on-ASP.NET-Web-API-Razor-Open-Source-Announcement.mp3]

Show Notes:

  • K Scott asks Scott Guthrie about the recent open source announcements about ASP.NET MVC, Web API, and Razor. Scott G. details what’s changed, highlighting both the new transparency due to working in public repositories and the changes to accept external code submissions.
  • Scott G. explains that these are still supported products with dedicated Microsoft engineering investment.
  • K Scott mentions a question from twitter – How far will this go? Will we see other products and projects following a similar model?
  • Some more questions from twitter – What kind of feedback is Scott G. hoping to see? How will feedback be handled?
  • Scott G. talks about how pull requests will be implemented. Developers will have to fill out a form and after they’re on record pulls will reviewed for various factors and then be integrated.
  • Scott K. asks a about ownership of the code contributed to the project. Is OuterCurve involved?
  • Jon asks a question from twitter: Was this the goal from the beginning? What was the biggest hurdle – legal or logistics. Scott G. mentions the community response to including jQuery in the ASP.NET MVC Project Template.
  • Kevin asks Scott about patch contributing that has some performance issues and is the patch rejected or are the issues fixed. Scott G. thinks that minor issues in code might still be accepted or just asked to be fixed. A patch that does noting but "Format C Drive" will be rejected outright, other than that the process is pretty flexible.
  • ASP.NET MVC 4 is not taking new features on as it’s currently in a Release Candidate mode.
  • K Scott asks how Microsoft chose git as it’s source control. Microsoft sure has made a lot of OSS developers happy using git.
  • Kevin points out that the Windows Azure SDK’s are on GitHub and asks why the ASP.NET components weren’t put there as well. Are there plans to move those projects from GitHub to CodePlex now? Scott G. says that CodePlex didn’t support git when the Azure SDK’s were released. With the announcement of git on CodePlex they’ve made decisions based on where they fit best, and ASP.NET content had historically been on CodePlex. There aren’t any plans to move from one to the other, and the beauty of DVCS is that they can be worked on in either place..
  • Scott K. talks about how the team received feedback from blogs and mailing lists and now CodePlex discussions and asks about whether feature/roadmap discussions will be public or not.
  • Jon asks about how release versions vs. nightly code builds will be supported from Microsoft. Scott G. explains that support will still attempt to help, but of course a released version is recommended for production scenarios.  He also reminds that product support will help with any .NET support scenario, including ASP.NET open source code.
  • Jon asked a about how this will affect the Mono project, and Scott G. hopes that it does.
  • Scott K. asks about how the release schedule might change now that the projects are open source.
  • Scott G. talks about how, by going open source, customer feedback can be potentially received in real time which hopefully increases product quality.
  • Kevin asks about community contributions of major new features. Scott G. says it’ll be a learning process, but they’re hoping to see some great ideas from the community. He discusses how Microsoft’s been incorporating open source libraries for a while, including JSON.NET, jQuery, Modernizr, etc., so now there’s flexibility to incorporate features both as core code and as external libraries.
  • K Scott says Microsoft has been doing a great job incorporating community projects into their products rather than reinventing the wheel each time.
  • Scott K. asks how Microsoft decides to create new projects or use existing solutions from the OSS community. Scott G. says it’s important to keep the MVC core concepts simple while allowing for advanced scenarios, and he and Scott K. discuss the balance between keeping concept count and clutter low while including support for popular scenarios.
  • Scott G. mentions that he hopes the new open source view gets Microsoft feedback sooner so that changes can be made faster to final releases which will translate to better products.
  • K Scott asks about what’s new in the world of Windows Azure. Scott G. clarifies that his new role includes ASP.NET and the web stack as well, and says there’s a lot of exciting stuff in the works for Azure. Scott G. says he’d like to come back on Herding Code to talk about it when it’s released.

Show Links:

Show notes by @buildstarted – thanks!

Herding Code 141 – Lightning Round with Hadi Hariri

K Scott wraps up his series of lightning round interviews from Sofware Passion Summit by interviewing Hadi Hariri.

Download / Listen:

Herding Code 140 – Lightning Round with Hadi Hariri [audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0141-Hadi-Hariri.mp3]

Show Notes:

  • K Scott asks Hadi about EasyHttp.
    • Hadi explains some of the problems and annoyances EasyHttp solves.
      • Configuring the web request was a pain
      • It was annoying to change the data structure of the classes to work with dynamic JSON
    • EasyHttp supports all HTTP verbs (including PATCH and OPTIONS)
    • It works really smoothly with dynamics
    • Hadi talks about a library he used called JsonFx, which he prefers to JSON.NET
  • Hadi says he decided to build out EasyHttp due to his work on YouTrackSharp
  • That’s it! Scott runs off to tackle some more lightning round interviews.
  • K Scott asks about EasyMVC
    • Hadi talks why he created EasyMVC, explaining how the convention based routing works.
    • EasyMVC also includes some filters which use conventions to handle content negotiation.
    • K Scott asks what Hadi thinks about ASP.NET Web API. Hadi says he dislikes it, as it pushes developers towards having separate controllers for HTML and services.
  • K Scott wraps up by asking Hadi about Kotlin.
    • Kotlin is a new language in the JetBrains early access program.
    • Kotlin attempts to improve on some of the shortcoming that JetBrains has seen working with Java.
    • Kotlin is perhaps conceptually similar to Scala, but a lot easy to learn
    • Object oriented with nullable types.
    • Kotlin targets both the JVM and JavaScript
    • It’s open source, and in early alpha phase.
  • That’s it! Hope you liked K Scott’s lightning round interviews!

Show Links:

Herding Code 140 – Lightning Round with Morten Kromberg on APL

While at Software Passion Summit, K Scott continues a series of lightning round interviews with Morten Kromberg, discussing APL.

Download / Listen:

Herding Code 140 – Lightning Round with Morten Kromberg [audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0140-Morten-Kromberg.mp3]

Show Notes:

  • Morten describes the history and purpose of APL.
    • Did you know that APL stands for "A Programming Language"?
    • The first book about APL was written in 1962. It’s as old as COBOL and FORTRAN.
    • APL was first written as a mathematical notation, and was used in teaching for 4 years before an interpreter was even written.
  • It’s a dynamic, interpreted language, and it encourages a functional style. Dyalog APL, which branched off about 30 years ago, is even more functional.
  • People are still developing with APL, especially within the financial sector.
  • Morten’s company makes APL interpreters.
  • K Scott asks about the ability to work with APL from .NET. Morten says that, while it’s not a managed language, they have full interop so you can both create .NET classes in APL and consume them. You can use the GUI features in Dyalog APL, or you can interop with Windows / .NET GUI’s, and it can even be used as an ASP.NET scripting language.
  • K Scott asks why such an interesting language that’s been around for so long isn’t well known. Morten speculates on some reasons and talks about why he thinks it’s seeing a resurgence.
  • Morten and K Scott talk about some of the examples which really show off the language, such as a one line implementation of Conway’s Game Of Life.
  • Morten talks about how APL sees matrices as a fundamental concept, expressing them at a level higher than objects.
  • APL is a very agile language, as it encourages direct interaction from domain experts.
  • Morten recommends http://tryapl.org, an interactive website where you can learn more about APL.
  • That’s it! Scott runs off to tackle some more lightning round interviews.

Show Links:

Herding Code 139 – Lightning Round with Roy Osherove on his new book, Notes to a software team leader

While at Software Passion Summit, K Scott continues a series of lightning round interviews with Roy Osherove discussing Roy’s new book, Notes to a software team leader.

Download / Listen:

Herding Code 139 – Lightning Round with Roy Osherove [audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0139-Roy-Osherove.mp3]

Show Notes:

  • K Scott asks Roy about his new book.
  • Roy talks about the LeanPub approach.
  • Roy describes the two parts of the book – elastic leadership and community contributions featuring notes from team leaders.
  • K Scott says that our industry often throws developers into leadership positions, and the transition can be difficult. Roy agrees, and says these are the notes he’d wished he had when he was a new leader. Back then he thought he was doing a good job, and was having fun, but wasn’t really doing his job.
  • Roy talks about how he got started, explaining how his passion is at the crossroads of where people and software meet. This book is coming out because it needs to come out – it’s a missing book.
  • Different team phases require different leadership types, describing his elastic leadership approach that deals with the three phases he’s observed:
    • Chaos phase
    • Learning phase
    • Self organizing team
  • What are some common mistakes?
    • Not recognizing which phase your team is in
    • Being afraid of talking to people about difficult things
    • Not understanding how to influence behavior
  • That’s it! Scott runs off to tackle some more lightning round interviews.

Show Links:

Herding Code 138 – Lightning Round with Douglas Crockford

While at Software Passion Summit, K Scott did a series of four Lightning Round interviews, starting with Douglas Crockford.

Download / Listen:

Herding Code 138 – Douglas Crockford [audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0138-Douglas-Crockford.mp3]

Show Notes:

  • K Scott asks Douglas what he meant when he said that the human brain wasn’t designed for this sort of work? What were we designed for? Douglas talks about how our minds are selected for hunting and gathering, but we have to work with what we’ve got, relating this to some tips for defensive programming.
  • K Scott asks about JSLint. Douglas talks about how he thinks all languages should have code quality tools.
  • The increment operator came over from C++ due to pointer operations. Bad idea?
  • K Scott asks where he sees JavaScript going. Are things moving too fast, or too slow? Douglas talks about the difficulty of supporting multiple browsers and versions. EcmaScript 5didn’t break things, but EcmaScript 6 is making some bets to allow for that.
  • EcmaScript 5 introduced "use strict" – how does that work? Douglas talks about the use of useless expressions.
  • K Scott asks what developers should be doing today. Douglas says developers should be working in the intersection of EcmaScript 3 and the strict parts of EcmaScript 5 to be ready for EcmaScript 6.
  • That’s it! Scott runs off to tackle some more lightning round interviews.

Show Links: