Herding Code 137 – Mass Assignment, New New iPad, JavaScript libraries, Windows 8, Visual Studio, and Sad Trombones

Oh, hey. A discussion show. Haven’t done one of those for a while. Bonus: recorded during the day so K Scott’s awake.

Download / Listen:

Herding Code 137: Mass Assignment, New New iPad, JavaScript libraries, Windows 8, Visual Studio, and Sad Trombones[audio://herdingcode.com/wp-content/uploads/HerdingCode-0137-Mass-Assignment-New-New-iPad-JavaScript-libraries-Windows-8-Visual-Studio-and-Sad-Trombones.mp3]

Show Notes:

  • K Scott asks everyone’s opinions on the GitHub / Ruby on Rails “mass assignment” debacle.
    • Everyone talks about mass assignment binding issues in MVC frameworks, including Rails and ASP.NET MVC – is this a security issue in the frameworks, or the web developer’s responsibility?
    • Jon says that it’s often tricky to debug negative cases, Kevin says that everything should be secure by default, and Scott K can go either way on it.
  • K Scott asks us all who will buy the new new iPad.
    • Scott K says it struck him that they were limited in demonstrating it by the projection resolution.
    • Kevin wants one.
    • Jon thought it was interesting that Retina isn’t a hard DPI spec, it’s driven by the expected distance the device will be from your eyes – can he get a Retina effect by just sitting far from his desktop monitors?
    • There’s a discussion about the lack of a version number.
    • Jon wonders if that high quality of display will show up on other devices, or if Apple bought all the pixels. Oh, and patents.
    • K Scott asks Kevin if Samsung users laugh at him.
    • Jon says that’s no longer a issue now that software updates brought 4G to this iPhone… magic!
  • Twitter question: What JavaScript libraries is everyone using?
    • Kevin talks about the Mocha JavaScript test framework.
    • Jon mentions Upshot from the ASP.NET Single Page Application framework.
    • K Scott talks about Sylvester and Zoomooz.
    • Scott K talks about tiny libraries like Zepto, Ender, and the Micro.js list.
    • Jon says he likes cdnjs.com for JavaScript library hosting.
  • Scott K talks about the difficulty he had in shutting down Windows 8.
    • Jon says it’s all about search now… and what’s wrong with hitting the start button to power off?
    • Scott K says we’ve been trained for decades not to do that.
    • Jon says this is the biggest shift since Windows 95… there’s a lot of learning and unlearning to do.
  • What about Visual Studio 11?
    • There’s some discussion about the color and design aspects. Should there be color? Metro?
    • Jon says at least it’s a lot faster, and he likes the quick search.
    • Scott K said it worked fine once he figured out what it was for… and maybe there should be fewer items in the menu to begin with.
    • Jon throws out a crazy idea – what about the ribbon interface for Visual Studio and kind of convinces Kevin.
    • Scott K says the memory usage is still way too high. Jon asks if that really matters. After some discussion, Scott K says something’s slow in there.
    • Oh, hey, the macro recorder’s gone now. Jon actually used that in Visual Studio recently.
    • Kevin asks if there’s really no way to customize the install anymore. The gang all agree they don’t want to install stuff like C++ and VSTO. Jon says the blog post says that few people actually customize the installation, but Scott K doesn’t believe it.
    • Scott K runs through some fun issues on the Visual Studio UserVoice.
    • Kevin put up a bajillion issues on Connect long ago, most are Closed – Won’t Fix.
  • Jon talks about a post about 24 bit / 192 khz audio he read. Nobody seems to care all that much.
  • Jon asks everyone what they’ve been up to.
    • K Scott’s travelling around and working on project that’s Ruby / Mongo on the backend and ASP.NET MVC on the front end. This freaks Kevin out.
    • Jon’s been working on ASP.NET MVC / Web API release stuff and hacking on Code52 project late at night.
    • Scott K spoke recently at NodePDX on is doing a bunch of crazy stuff at work around deployment.
    • Kevin remembers what a DSN is when nobody else does.
  • Somebody sneaks in a Sad Trombone. Jon is unable to figure out who is playing tricks and motions to adjourn.

 

Show Links:

Herding Code 136: Code52 with Paul Jenkins, Brendan Forster, and Andrew Tobin

In this episode, Jon and Scott K talk talk with the guys behind Code52, an effort to spin up a new open source project every week for a year.

Download / Listen:

Herding Code 136: Code52 with Paul Jenkins, Brendan Forster, and Andrew Tobin [audio://herdingcode.com/wp-content/uploads/HerdingCode-0136-Code52.mp3]

Show Notes:

  • Jon starts by asking how this whole idea got started.
  • Brendan explains the timeline of a one week spin up cycle for a project.
  • Jon asks if the projects just die at the end of a week, and if people are continuing to work on past projects. Paul and Andrew talk about the continuing work on all projects, including MarkPad .
  • Jon says he thinks the concern of abandoned open source projects is overblown – collaboration is good, working
  • Jon asks about the projects they’ve done so far, and the guys run through the list.
  • Brendan explains how the different projects are selected.
  • Jon asks about how technologies are selected. Brendan says that it’s all based on who shows up, and Andrew mentions the wide variety of technologies that have been covered so far.
  • Paul says that the "bite sized projects" have been a good way for developers who are new to open source to get started. Jon asks how new developers can get ramped up, and Brendan lists some of the onboarding resources. Andrew explains that it’s hard to write much documentation when the projects are running for a week. Andrew mentions some of the Git documentation they’ve got written up.
  • Scott K says he’s got a ton of personal projects that he doesn’t have time for. Everyone talks about the benefit of getting a team on a project for a week.
  • Jon asks about some of the common frameworks that they use over and over. Paul talks about MahApps.
  • Scott K asks about non-CLR project, like some crazy project in obscure languages. Brendan says the main focus is on building something useful in a week, which usually leads towards common languages. Brendan says that projects in other languages really need a "champion" to show up and lead the project for a week – and the door’s open.
  • Jon asks about the community reaction overall. The guys talk about the wide attention, as well as some negative reactions from onlookers who want to see other technologies represented.
  • Jon says he thinks there was some pent up need for energy in the .NET open source space, and asks if that was part of the reason for getting this started.
  • Jon asks Paul about the "Mah" name he’s used for his open source projects.
  • There’s a discussion of developing while hungry, including the Pretzel project name and the "Jon should make me a delicious cake" incident.
  • Andrew talks about the GTFO project – GitHub Tools For Outlook
  • Jon asks about the .NET developer community in Australia. Is it  as huge as it seems?
  • Question from Twitter – @wolfbyte asks: "How do you balance the shifting of tools / ideas / processes against the goal of attracting people to open source development.
  • Another question from @wolfbyte: "Are you guys tired yet?" (Yes!)
  • Jon asks if there’s thought as to how to scale things going forward to all the work doesn’t fall on Paul/Brendan/Andrew for all projects. Is there a possibility to bring in guest leads for a week?
  • There’s a discussion of HattersGonnaHat and the Konami code. Jon announces a new KDD movement: Konami Driven Development.
  • Some discussion of Windows 8 development (update: the 3/5 – 3/12 project is Windows 8).
  • Would it be possible to do more cross-platform work? Silverlight?
  • What will the future projects be? Jon campaigns (in vain) for his Diff/Merge 2000 project proposal.
  • Jon asks for more information about how they run all the behind-the-scenes communications and infrastructure. GitHub, App Harbor, JabbR – all are low friction and low / no cost.
  • Jon asks about the amount of work involved in accepting pull requests.
  • Brendan talks about the test coverage in code submissions. Paul says that having testing frameworks in place makes it a lot more likely that people will write the tests.
  • Brendan wraps with a call to look at Code52.org and get started. Jon pledges to fly to Australia in luggage class, then offends everyone by confusing Australia with New Zealand.

Show Links:

Herding Code 135: Remco Mulder and Jeff Schumacher on Continuous Testing

In this episode, the guys talk with Remco Mulder (author of NCrunch) and Jeff Schumacher (author of Giles) about continuous testing in .NET.

Download / Listen:

Herding Code 135: Remco Mulder and Jeff Schumacher on Continuous Testing [audio://herdingcode.com/wp-content/uploads/HerdingCode-0135-Continuous-Testing.mp3]

Show Notes:

  • Scott K kicks things off with a horrible old school BASIC joke.
  • Remco explains how NCrunch got started because he was living under a rock.
  • Jeff explains how Giles got started by finding AutoTest and seeing it not maintained (in reality it was).
  • Remco talks about the number of test frameworks.
  • Jon asks Remco about adding MSTest support – Remco groans about how difficult MSTest was to integrate with NCrunch.
  • Jeff mentions that xUnit’s test runner is complete for backward compatibility.
  • Jeff talks about Machine Specs and avoiding versioning hell with Impromptu Interface.
  • Jon asks about each library’s approach to Continuous Testing and to explain it to a laymen.
  • Rem explains what Continuous Testing is in relation to NCrunch.
  • Scott comments on a "strange situation" of testing compiled code creates slow tests and asks about any shortcuts Rem or Jeff have taken.
  • Jon comments how NCruch & Giles gives immediate feedback as he’s coding.
  • Jeff mentions that Giles has the ability to filter tests so that you only see what you want to see.
  • Remco explains how NCrunch attempts to determine impact to order how tests are run so the most pertinent tests run first.
  • Jon gives his quick history of the testing feedback cycle: separate project phase, then repository check-in step with continuous integration, local test runers, and now tests running as we write the code. Are we done? Where can we go from here?
  • Jeff comments about how Continuous Testing is like the red squiggly for code problems.
  • Scott asks about alternative language support for NCrunch and Giles.
  • Remco mentions that Salesforce.com has a Selenium "cluster" to continuously run UI tests.
  • Remco talks about Visual Studio integration for NCrunch.
  • Jeff talks about a branch that supports Mono.
  • Jon talks about Roslyn, and Scott K reminds us that Mono was doing compiler as a service long ago – 2008?
  • Remco jokes about clippy.
  • Jeff talks about Continuous testing and Pair Programming.
  • Jeff wanted to get to the point where he didn’t think about the tooling but only the tests and the code.
  • Jeff talks about Visual Studio magazine and an article about Continuous Testing.
  • Jon comments how easy NCrunch is able to setup and get going.
  • Remco wants to make Continuous testing really really easy to get people to start using it.
  • Jeff recommends looking at all the different continuous testing options, mentioning Greg Young’s Mighty Moose.

Show Links:

Show notes by Ben Dornis. Thanks!

Herding Code 134: Brad Wilson on ASP.NET 4 Beta and ASP.NET Web API

In this episode, Jon talks to Brad Wilson about the ASP.NET MVC 4 Beta release.

Download / Listen:

Herding Code 134: Brad Wilson on ASP.NET 4 Beta and ASP.NET Web API [audio://herdingcode.com/wp-content/uploads/HerdingCode-0134-Brad-Wilson-on-ASP.NET-MVC-4-Beta.mp3]

Show Notes:

  • Brad starts with a rundown of what was in ASP.NET MVC 4 Developer Preview, including HTML5 Default Template features, Adaptive Rendering, Mobile Template, Display Modes, NuGet package based installation, and Task<T> based Async Controllers.
  • Jon asks about the ASP.NET Web API integration. Brad talks about the effort involved and why it’s useful.
  • Jon asks for clarification as to what ASP.NET Web API offers over hand writing services using ASP.NET MVC.
  • Brad talks about Content Negotiation and why it’s useful.
  • Jon asks about things that Web API has in common with MVC like filters and model binding.
  • Jon asks about the testability of Web API. Brad explains that it’s much more lightweight and has a lot less use of statics, making it a lot more testable.
  • Brad talks about the hosting models for Web API, including both web and selfhost. He explains that it’s pluggable, so you can write your own host, and explains the use of HTTP Message Handlers.
  • Jon asks about the relation of ASP.NET MVC 4 to .NET 4.5. Brad explains how parts were backported to allow for using .NET 4.5 features on .NET 4.
  • Jon asks about the query composition support, which gives support for OData query syntax. Brad explains how it’s used, and distinguishes the query syntax from the rest of OData format.
  • Brad explains how ASP.NET Web API is the future of WCF Web API, and that the ASP.NET team and WCF teams have merged.
  • Brad talks about how Web API can be used outside of ASP.NET. Jon asks how to get Web API into another project type, and Brad talks about installing Web API via NuGet.
  • Jon asks for more information about how NuGet is used in the MVC installation system. Brad talks about how NuGet and VSIX can be integrated.
  • Jon asks about why NuGet Package Restore is useful.
  • Jon notes that creating new projects is slower due to NuGet installation. Brad says this may be improved, but even if it isn’t he thinks that the tradeoff is more than worthwhile, since in the real world people aren’t creating new projects every day.
  • Jon asks for a bit more information about the Display Mode Provider.
  • Brad talks about the installation options for ASP.NET MVC 4 Beta and how it relates to the .NET 4.5 developer previews.
  • Jon asks about Go Live license, Brad says it’s there.
  • Jon asks about new features in xUnit.net. Brad talks about the last release and what’s in the roadmap for the next release.
  • Brad mentions that he’ll be speaking at NDC this summer and talks about the Wrox MVC 4 book.

Show Links:

Herding Code 133: Derick Bailey on Backbone.js

In this episode, the guys talk with Derick Bailey (consultant and founder of watchmecode.net, where he sells JavaScript themed screen casts) about Backbone.js, which is a popular JavaScript framework.

Download / Listen:

Herding Code 133: Derick Bailey on Backbone.js

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0133-Derick-Bailey-on-Backbone.mp3] Show Notes:

  • Derick starts off by explaining what Backbone is not: a JavaScript MVC framework.
  • Backbone provides a way to structure and organize your code, separating responsibilities in to easily recognizable pieces.
  • Derick points out that Jeremy Ashkenas, the creator of Backbone, said that Backbone is a library. The distinction Derick references is: "a framework calls your code, you call a library’s code."
  • Kevin asks what are the main parts of Backbone. Derick mentions models and collections, views, routers, and some helpers: backbone.sync, backbone.events, and history.
  • Kevin asks for a clarification on what a single-page application is. Derick cites Gmail as the canonical example.
  • Kevin asks if Backbone is mainly used for single-page applications. Derick explains that it is very flexible and can be used as much or as little as necessary for any kind of application.
  • Jon asks if using Backbone is an all or nothing proposition or if bits and pieces can be brought in over time.
  • Kevin asks for a comparison to other similar JavaScript libraries/frameworks.
  • Jon asks if there are any template or boiler plate projects for getting started with Backbone.
  • K. Scott asks about Derick’s Memento plugin, which allows you to store and restore your model’s state.
  • Kevin asks Derick why he thinks Backbone has become so popular.
  • Jon asks about the process and requirements for creating Backbone plugins.
  • Jon asks about the debugging story when using Backbone.
  • Kevin asks about tools and approaches for testing Backbone.
  • Kevin asks if there are any sources for best practices for Backbone.
  • Twitter questions from @elijahmanor: "In what type of applications would you not recommend using Backbone?", "Do you plan to consolidate your blog posts into a Backbone book?", "Have you done any mobile development with Backbone?, "Do you use Require.js alongside Backbone?"
  • Kevin and Derick discuss server-side rendering of JavaScript with Backbone for the purpose of being easily findable by search engines.
  • Derick talks about the on-site training and training videos that he offers.

Show Links: