Herding Code 106: Mark Rendle on Simple.Data

In this episode of Herding Code, the guys speak with Mark Rendle about his Simple.Data and Fix projects.

  • The show begins with Mark’s Simple.Data elevator pitch in which he explains that Simple.Data is an ORM without the O, the R or the M.
  • Jon asks about Mark’s heavy use of dynamic types in the Simple.Data source. Mark talks about the Method Missing pattern in Ruby and how that translates to dynamic .NET programming in Simple.Data.
  • Jon and Mark dig deeper into the code and then they walkthrough project advancement from supporting basic CRUD functions to the recent addition of database transactions.
  • Mark shares Simple.Data’s current and future support for numerous relational and non-relational databases.
  • Jon and Mark talk about the use of MEF, rather than a full-blown IoC container, in Simple.Data.
  • Scott K and Mark discuss Simple.Data tests, their implementation and the TDD and FDD (Fear-driven development) which Mark took while developing his project.
  • Kevin asks if the heavy use of dynamics instigated the need to write more tests. Mark answers by sharing his views on why coders might prefer either static or dynamic typed languages.
  • Jon asks about Simple.Data adoption and code optimizations which might be required to support increased production use.
  • Mark digs into Reactive Extensions and how it’s used in Simple.Data.
  • Mark talks about the growing movement of simple web development projects and the tools/frameworks which support these efforts and, coincidently, answers @AaronOnTheWeb‘s Twitter-submitted question.
  • @CodeReflection asks about Simple.Data support for aggregates which prompts a discussion about where/how these operations should be handled.
  • @jacksonh asks about support for asynchronous operations.
  • The conversation switches to Mark’s involvement with OWIN and his Crack Fix project offers an ultra-lightweight web glue for .NET, written in C#..
  • K Scott notes Mark’s awesome gravitar choice Jerry Statler
  • Mark closes by mentioning his participation in DDD (DeveloperDeveloperDeveloper!), Skills Matter Cloud Evening, and then Cambridge NxtGenUG (Next Generation User Group).

Show Links:

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 106: Mark Rendle on Simple.Data

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0106-Mark-Rendle-on-Simple-Data.mp3]

Herding Code 105: Brad Wilson on MVC 3

In this episode of Herding Code, the guys talk to ASP.NET team member and repeat guest Brad Wilson about what’s new in ASP.NET MVC 3, BDD-style testing with SpecFlow and WaitN, and the latest release of xUnit.net.

  • Jon begins the show by sharing Brad’s bio and then dives right in asking about ASP.NET MVC 3 Service Location.  Brad talks about DI and IoC, introduces the new feature and the implementation through such things as IDependencyResolver and Controller Activator. For the full story, you should check out Brad’s eleven part series on ASP.NET MVC 3 Service Location.
  • Scott K asks why the MVC team didn’t use MEF for dependency injection. Brad comments and brings up the prospect of using NuGet to install MEF support.
  • Scott K asks if MVC could ship as a NuGet package. The conversation shifts to how NuGet could allow MVC to further decouple it’s shipping schedule from that of Visual Studio and the .NET Framework.
  • Everyone (Well, almost everyone. Kevin’s being surprisingly quiet.) talks about jQuery plugins in the NuGet feed and how maintaining obsolete packages could get out of hand.
  • Jon asks about how the jQuery based unobtrusive validation system works in MVC 3 and asks if the ASP.NET Web Forms validation system could possibly take advantage of the new unobtrusive validation support.
  • Brad talks about the ASP.NET MVC development team and his role in developing ASP.NET MVC 3.
  • Jon runs through the big features which were shipped with MVC 3 – Razor, Service Location, NuGet, Unobtrusive Validation. Scott K mentions default templates are now using HTML5 doc types and Brad notes other MVC 3 features like Unobtrusive Ajax, Remote Validator, Json Model and Binding support.
  • Brad talks about extensibility for view engines in project templates and the new add view dialogue features.
  • Via Twitter, @gsogol asks if we will ever see fluent type configurations of filters, validations for controllers and classes.
  • Jon brings up the MVC 3 Futures library and asks Brad if it includes features which he wishes were rolled into the core MVC 3 bits. Brad explains the performance benefits of using the caching version of the model metadata provider system in the Futures library.
  • K Scott asks about feature requests for Display and Editor Templates and the guys talk about code based templates.
  • Jon talks about his favorable experience with Razor and mentions there’s a web form to razor converter available.
  • @gsogol asks if the ASP.NET MVC team looks at other MVC frameworks to "borrow" various ideas for a more productive experience.
  • The guys talk about Razor Web Helpers like Web.Grid, Web.Crypto and Web.Mail which are baked into System.Web compared to the Microsoft Web Helpers which include social media helpers for Twitter and Facebook and video embedding.
  • The guys talk about the bundle of awesomeness which MS released with WebMatrix, SQL Compact and IIS Express.
  • The guys discuss what MVC3 offers to make testing easier and how one might unit test their JavaScript.
  • Brad talks about his love for BDD-style testing with SpecFlow, he explains the Given-When-Then syntax and how TDD and high-level spec testing complement each other. Brad mentions he would likely make the Web Steps he shared at Agile Conference 2010 available online soon.
  • Brad talks about MVC3 support in xUnit 1.7 and explains how xUnit compares to other test frameworks.
  • The conversation shifts to Swedish death metal and the guys totally nerding out about diet and fitness.
  • Brad pimps his Advanced ASP.NET MVC 3 talk at MvcConf 2 (video now on demand), teases us about his What’s New in MVC 3 talk given at the P&P submit and mentions his January talk for the .NET Developers Association about, you guessed it, ASP.NET MVC 3.

Show Links:

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 105: Brad Wilson on MVC 3

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0105-Brad-Wilson-on-MVC-3.mp3]

Herding Code 104: Rob Eisenberg on Caliburn Micro

You remember Rob Eisenberg from Herding Code Show #57 when he talked presentation patterns along with Jeremy Miller, Ward Bell and Glenn Block. Well, in this episode of Herding Code, the conversation continues as Rob talks with the guys about Caliburn.Micro, an opinionated MVVM framework for WPF, Silverlight and WP7.

  • Kevin kicks off this week’s show asking Rob to tell us about Caliburn.Micro – his opinionated MVVM framework for WPF, Silverlight and WP7. Rob talks about how actions, support for conventions, and presentation roles are implemented in his opinionated MVVM framework.
  • Rob explains how about Caliburn – his earlier framework built for WPF – has contributed its most important features to the easier-to-use, lighter Caliburn Micro.
  • Jon brings up extensibility and inquires about how one overrides functionality in Cabiburn Micro.
  • Kevin and Rob talk about view resolution and the difference between ViewModel-First and View-First development which are both offered in Caliburn Micro.
  • Kevin asks designer integration and the “blendability” of Caliburn Micro.
  • Rob explains the convention-based approach Caliburn Micro takes toward bindings and actions and the guys speak to the importance of diagnostic mechanisms when your coding is based on magic of convention.
  • Kevin asks if that were places where the WPF/Silverlight/WP7 frameworks limited what Caliburn Micro could implement due to lack of extensibility points.
  • Rob dives into IResult and Coroutines and how one can write asynchronous calls in a synchronous a manner with Caliburn Micro. Rob then answers how coroutines compare to the implementation coming in C# 5?
  • Kevin asks about window management screen conductor and roles.
  • The guys discuss their experience working with Silverlight and WPF.
  • Jon asks about community contributions to Caliburn Micro and brings up the social aspect of open source and Mercurial projects in particular.
  • The show gets its first question from the hotline from Rick who asks, “What does Caliburn do that MVVM Light Toolkit does not do?”
  • Rob touches upon the Pub/Sub and window management features offered in Caliburn Micro and also talks about IoC friendliness.
  • The guys talk about Rob’s elegant yet unorthodox approach to the service location in Caliburn Micro.
  • Rob offers a quick preview of what’s to come next in Caliburn Micro.
  • Rob notes that he’s submitted a talk for Mix11: “Build Your Own MVVM Framework with Html and JavaScript”
  • The guys discuss Knockout JS and its influence on Caliburn Micro.
  • The show wraps with Kevin (in Scott K’s absence) asking THE question: “Is Silverlight dead?” Tune in and find out the answer to that one…

    Show Links:

    Show notes compiled by Ben Griswold. Thanks!

    Download / Listen:

    Herding Code 104: Rob Eisenberg on Caliburn Micro

    [audio://herdingcode.com/wp-content/uploads/HerdingCode-0104-Rob-Eisenberg-on-Caliburn-Micro.mp3]