Edit

Feed image

Replacement

Fetch

Keywords

A podcast
by
Herding Code
discovered by Player FM and our community — copyright is owned by the publisher, not Player FM, and audio is streamed directly from their servers. Hit the Subscribe button to track updates in Player FM, or paste the feed URL into other podcast apps.

Jon meets Kenji and Trevor at a small airfield in San Diego to talk about Spoon, an application containierization and streaming platform for Windows. They discuss different virtual machine approaches, Spoon’s features, the container movement, and flying airplanes. Download / Listen: Herding Code 201: Kenji Obata on Spoon, application virtualization, containers, and flying little airplanes http://herdingcode.com/wp-content/uploads/HerdingCode-0201-Kenji-Obata.mp3 Show Notes: Application virtualization and Xenocode’s origins (00:17) Jon says hi to Kenji and describes his first interaction with Kenji – a blog post he wrote in 2007 titled "We should be virtualizing Applications, not Machines" and Kenji’s response saying that’s exactly what they were doing at Xenocode. Kenji describes application virtualization and lists some of the vendors working in that space. (1:51) Jon asks about the spectrum of virtualization – starting with virtualizing the entire machine and file system and dialing back...
By Herding Code

The guys talk about the Node / iojs fork, Angular 2, K Scott’s new Microsoft Band and other wearables, Kickstarter successes and failures, container technologies like Docker, and some recent articles about women heroes of coding. Download / Listen: Herding Code 200: io.js, Angular angst, K Scott’s new Band, Kickstarters, Containers and Old School Elite Women Coders http://herdingcode.com/wp-content/uploads/HerdingCode-0200-Discussion.mp3 Show Notes: The Node / io.js fork (00:41) Jon asks Kevin what’s going on with the io.js fork. Kevin says the fork is due to the Node team’s slow release cycle. Jon asks what technical things people are looking for, and whether io.js code is supposed to be compatible with Node code. Scott K lists some of the features planned for Node 0.12. There’s some general discussion about what this means long-term and whether this will be a temporary or permanent fork. Angular angst (06:21) Jon asks K Scott what is going on in the Angular world. K Scott summarizes why...
By Herding Code

Jon talks to Rob Reynolds about how Chocolatey has grown over the past few years, how OneGet fits in, and the Chocolatey Kickstarter. Download / Listen: Herding Code 199: Rob Reynolds on the Chocolatey Kickstarter, Chocolatey growth and OneGet http://herdingcode.com/wp-content/uploads/HerdingCode-0199-Rob-Reynolds.mp3 Show Notes: The state of the Chocolatey (00:19) Rob explains what Chocolatey is and compares it to package managers on other platforms. Jon talks about how he uses Chocolatey to install all his programs every time he installs Windows. (02:10) Rob talks about how Chocolatey has grown in the past 3 1/2 years. Package Moderation (02:24) Rob explains how package moderation works – whereas previously all packages were immediately published and reviewed later, now they’re reviewed by moderators before they’re listed. One common fix is just getting the naming right. (05:24) Rob talks about how they’re curating the community feed. They’re currently in a grace period until December...
By Herding Code

The guys talk to ASP.NET team member Damian Edwards about ASP.NET vNext (the next version of ASP.NET), Tag Helpers, and what’s new with SignalR. Download / Listen: Herding Code 198: Damian Edwards on ASP.NET vNext, Tag Helpers and SignalR http://herdingcode.com/wp-content/uploads/HerdingCode-0198-Damian-Edwards.mp3 Show Notes: Hello. What is ASP.NET vNext? (00:18) ASP.NET vNext is the next version of ASP.NET. It’s not just ASP.NET MVC 6 or Web API 3, it’s a total rethink of the ASP.NET platform. In some ways, it’s a bigger change than the move from classic ASP to ASP.NET. In other ways, it can be pretty seamless depending on what you’re doing. (01:29) Jon asks Damian to talk about what’s crazy and brand new. Damian describes the full stack in a web application, from the operating system up to the code that you write in your application and the libraries you bring in. Starting at the bottom of the stack, ASP.NET vNext is cross platform, meaning it will work and be supported on Linux and...
By Herding Code

It’s time for a discussion show! Download / Listen: Herding Code 197 – Summer Stories, C# 6, Vim and Atom, Terrible Keyboards, Poorly Aged Hipster Code, React and the Apple Watch http://herdingcode.com/wp-content/uploads/HerdingCode-0197-Discussion.mp3 Show Notes: (01:22) What’s new for Kevin? Node, Backbone, working at Brandcast, some talk about how the shop runs. Plus he’s been busy moving. (03:12) What’s new for K Scott? Lots of JavaScript, C# / MVC, AngularJS, MongoDB. Jon asks how Mongo is working in production in the healthcare application K Scott had mentioned earlier. K Scott talks about some performance issues he’s looked at, including some that came down to C# queries, and an issue with a 16MB document size limit. Jon asks if they’re using Redis or other front end caching outside of Mongo. K Scott says they’re just map-reducing and storing the information in other collections. He’s not travelling quite as much (06:50) Jon asks K Scott about his recent posts on C# 6 and EcmaScript...
By Herding Code

The guys talk to AngularJS committer Matias Niemela about AngularJS and Angular animations with ngAnimate. Download / Listen: Herding Code 196: Matias Niemela on ngAnimate http://herdingcode.com/wp-content/uploads/HerdingCode-0196-Matias-Niemela.mp3 Show Notes: Hello. How’d you get started with AngularJS and ngAnimate? (01:00) K Scott notes a tweet from Matias that he liked Angular before it was popular and asks Matias about how he got started with Angular and how he became a contributor, primarily contributing to animation. He’s also contributed to angular-dart and forms. (03:17) K Scott asks about the history of Animations. Matias talks about how things evolved to working with CSS classes. K Scott talks about how he found the source code for animations was pretty interesting, and Matias agrees. Dart and Google Material Design (04:47) K Scott asks about AngularDart relates to Angular. Matias explains that both are from Google, and they want to make sure that it’s easy to build Angular...
By Herding Code

The guys talk to Michael Mahemoff about Player FM, a cloud based podcast application which is focused on discovery and multi-device synchronization that he recently showed off at Google I/O. Download / Listen: Herding Code 195: Michael Mahemoff on Player FM http://herdingcode.com/wp-content/uploads/HerdingCode-0195-Michael-Mahemoff.mp3 Show Notes: Hello. What is Player FM? (00:48) K Scott asks Mike for a quick introduction. Mike has studies both psychology and software engineering and has worked on a variety of applications, focusing lately on HTML5 web applications. He’s been working for the past few years on Player FM, a cloud based podcast application which is focused on discovery and multi-device synchronization. (01:55) K Scott asks about the technologies used to build Player FM. Mike talks about the advantages of moving feed fetching to the cloud, the web site (using a PJAX implementation which pushes markup rather than data and HTML5 history) and an API. Player FM API (04:33) K Scott...
By Herding Code

The guys talk to Hadi Hariri about Kotlin, Nitra, and his NDC talk, Developing In A Decade. Download / Listen: Herding Code 194: Hadi Hariri on Kotlin http://herdingcode.com/wp-content/uploads/HerdingCode-0194-Hadi-Hariri.mp3 Show Notes: Hello. What is Kotlin? (01:00) K Scott asks what Kotlin is. Hadi explains it’s a statically type programming language that targets the JVM and JavaScript, and that it was designed to serve the needs of the JetBrains development team: Let’s create a language that a language that we can use ourselves… and if other people want to use it then, awesome. (03:07) K. Scott asks about the source code. It’s on Github and it’s under Apache 2 license. He asks who in their right mind these days would design a closed source language *cough* Swift *cough*. (03:48) Jon asks about comparisons with the Swift language. Hadi comments and says both Kotlin and Swift are kind of similar to Groovy. Jon asks why not just use Groovy then, and Hadi says that they wanted a statically...
By Herding Code

At Techorama 2014 (Belgium), Jon corners Mark Rendle for a few minutes to talk about his new startup, Zudio, "the Azure Cloud storage toolkit," his keynote on the History of Programming, and other minutia. Download / Listen: Herding Code 193: Mark Rendle on Zudio, developing with Angular and Typescript, The History of Programming, and Simple.Data http://herdingcode.com/wp-content/uploads/HerdingCode-0193-Mark-Rendle.mp3 Show Notes: History of Programming (00:54) Jon asks Mark what the talk was about, and some of his personal favorite periods. (01:53) Jon remarks that some of the joke terrible languages weren’t much worse than the unintentionally terrible languages. Mark mentions Intercal, brainf*** and Malbolge as joke programming languages and IBM Cobol as the most unintentionally hilarious programming language. Zudio: The Azure Cloud Storage Toolkit (02:55) Mark talks about how Zudio got started and where it’s at. Zudio is a web based tool for managing Azure storage. It’s great for a...
By Herding Code

The guys talk to Jackson Harper about CodeReview, his iPad application for reviewing GitHub pull requests. As Jackson describes the episode on Twitter: "…hear me talk about: @johnsheehan, @codereviewapp, and my one weird trick for writing better code." Download / Listen: Herding Code 192: Jackson Harper on the CodeReview iOS app http://herdingcode.com/wp-content/uploads/HerdingCode-0192-Jackson-Harper.mp3 Show Notes: Hello. What is CodeReview? (00:18) Kevin introduces Jackson and asks about CodeReview. Jackson talks about how he missed (01:25) Kevin asks about some of the specific features in CodeReview. (02:05) Jon asks what the CodeReview app adds to the mobile web experience on GitHub. One of the big features is that CodeReview allows for completely working completely disconnected. Nerdy Implementation Details (04:10) Kevin asks if Jackson’s working against the GitHub API’s. Jackson says he debated working using Git directly, but so far he’s been using the GitHub API. Internally the...
By Herding Code

The guys (joined by guest host Rob Conery) talk to Derick Bailey about his new podcast audio hosting venture, SignalLeaf. Download / Listen: Herding Code 191: Derick Bailey on SignalLeaf and Getting Started Podcasting http://herdingcode.com/wp-content/uploads/HerdingCode-0191-Derick-Bailey.mp3 Show Notes: What is SignalLeaf? (00:18) Kevin introduces the show and warns listeners that Rob Conery is present. (01:00) Kevin asks Derick what SignalLeaf is. Derick explains that SignalLeaf is a podcast audio hosting service. He explains how his service compares to big players like Libsyn. (02:05) There’s a discussion of Libsyn. Jon confesses that Herding Code still runs off WordPress on an "unlimited hosting" account. Bandwidth costs (02:52) Jon asks Derick if the main cost is bandwidth. Derick explains that SignalLeaf runs on Heroku, but all the storage goes directly to Amazon S3 storage. He agrees that bandwidth is the main cost, and is planning to just make sure the overall subscribers balance...
By Herding Code

In our final interview from NDC London, Jon and K. Scott talk to Rob Ashton his cage match with Jeremy Miller on NodeJS vs. C#, some functional languages he’s been learning, and cooking just enough curry. Download / Listen: Herding Code 190: Rob Ashton on NodeJS vs C#, Clojure and Cooking Constraints http://herdingcode.com/wp-content/uploads/HerdingCode-0190-Rob-Ashton.mp3 Show Notes: The NDC Cage Match: Testing! NodeJS vs. C# (00:18) K Scott asks Rob about the cage match he just had with Jeremy Miller comparing testing in NodeJS and C#. Rob’s got a lot of good things to say about what Jeremy showed, but is pretty sure he won. (02:40) K Scott asks Rob to explain why he doesn’t like monkey patching. Rob mentions how QuickCheck helps, then talks about how code structure obviates the need for monkey patching. (05:16) Jon asks how he bootstraps his application to inject dependencies and explains how he avoids deep dependency chains. Clojure? (06:40) K Scott asks what led him to Clojure. (07...
By Herding Code

At NDC London, Jon and K Scott talk to Gary Bernhardt about his talk, The Birth and Death of JavaScript. Download / Listen: Herding Code 189: Gary Bernhardt on The Birth and Death of JavaScript http://herdingcode.com/wp-content/uploads/HerdingCode-0189-Gary-Bernhardt.mp3 Show Notes: (00:15) The talk occurs in the year 2035. JavaScript is now pronounced differently, and there has been another world war. (01:20) Jon ran over to the talk when he heard (via Twitter) that Gary was (or will be, it’s all so confusing) mentioning Singularity. (02:20) Jon asks about Gary’s references to the performance improvements gained by turning off hardware protection. Gary and Jon discuss how Singularity and the (yet to be developed) Asm language offer high performance due to this approach. (04:10) Jon asks why JavaScript has died, since Asm is universal. Gary mentions some of the problems – many historical – with JavaScript. And Gary should know, he’s famous for the "wat" talk showing several JavaScript insanities...
By Herding Code

At NDC London, Jon talks to Pete Smith about Superscribe, a library which brings graph based routing to ASP.NET, Web API and OWIN. Download / Listen: Herding Code 188: Pete Smith on Superscribe http://herdingcode.com/wp-content/uploads/HerdingCode-0188-Pete-Smith.mp3 Note: There’s a little bit of background noise due to the conference recording. Show Notes: Intro to Superscribe (00:20) Jon asks Pete to explain what Superscribe’s graph-based routing means. Pete explains how traditional routing needs to check each route for a match, one at a time. Graph-based routing stores using a structure, so there are some performance gains due to only matching routes with a matching structure rather than using string matching. (02:17) Pete explains that graph based routing is language agnostic, so there’s also a JavaScript implementation. Extensibility due to strongly typed route nodes (02:37) Each node in the graph is a strongly typed entity, so you can use an activation function for each node in the...
By Herding Code

At NDC London, Jon and K. Scott talk to Paul Betts about several of his recent open source libraries designed to simplify cross platform development on C#. Download / Listen: Herding Code 187: Brock Allen on ASP.NET Security and Identity http://herdingcode.com/wp-content/uploads/HerdingCode-0187-Brock-Allen.mp3 Show Notes: Intro (00:18) Brock gave two presentations on security at NDC, as well as a two day pre-conference workshop with Dominick Baier (also on security). Brock’s contribution of CORS support to ASP.NET Web API (00:35) Jon asks Brock about the CORS support he recently contributed to ASP.NET Web API. Brock tells the history of how he built a CORS implementation at Thinktecture and how he went about contributing it. (01:21) Jon asks Brock about what was involved in his CORS implementation. Brock describes the limitations browsers place on cross-origin requests and how CORS solves that. It’s defined in the HTML5 specs and is supported by all modern browsers. (02:12) Jon asks what...
By Herding Code

At NDC London, Jon and K. Scott talk to Paul Betts about several of his recent open source libraries designed to simplify cross platform development on C#. Download / Listen: Herding Code 186: Paul Betts on three cross-platform libraries: splat, ModernHttpClient and punchclock http://herdingcode.com/wp-content/uploads/HerdingCode-0186-Paul-Betts.mp3 Show Notes: Intro (00:18) Jon welcomes Paul back – he’s been on a few times before, talking about GitHub for Windows and Reactive UI. (00:28) Paul has a dream: he’d like to write applications in C# and have them run everywhere: iOS, Android, Windows Phone maybe even WinRT. He’s not interested in sharing everything (views or designer code), but there’s plenty of other code that developers shouldn’t need to rewrite for every platform. (01:16) Jon asks if Xamarin doesn’t help with this. Paul says that Xamarin’s intention is to give you direct access to the native platform, which is good when developing for a specific platform, but not when you...
By Herding Code

At NDC Jon and K. Scott talk to Glenn Block about Splunk. Download / Listen: Herding Code 185: Glenn Block on Splunk http://herdingcode.com/wp-content/uploads/HerdingCode-0185-Glenn-Block.mp3 Show Notes: Intro (00:18) Glenn got a new job at Splunk. What is Splunk? (00:40) Jon asks Glenn what Splunk does. Splunk has a product that gathers operational intelligence. It’s got a data analytics platform which understands a lot of log formats. It can handle streaming logs and has a bunch of API’s. It can index in realtime, handles unstructured data, and has some advanced pattern matching features. (02:12) Glenn talks about some common uses. GitHub and Target both use Splunk. It’s especially liked by IT Admins who can query across multiple servers by timeslice in realtime. There’s a customizable dashboard to surface the information. (03:24) Glenn says that since Splunk has a powerful API, you can push data into it. You can push data in using HTTP or TCP. (04:01) You can teach Splunk to fetch data...
By Herding Code

At NDC Jon and K. Scott talk to Scott Guthrie about his talk Building Real World Apps with Windows Azure, what’s new in Windows Azure, the advantage of provisioning and scaling up and down instantly, and more. Download / Listen: Herding Code 184: Scott Guthrie on Windows Azure http://herdingcode.com/wp-content/uploads/HerdingCode-0184-Scott-Guthrie.mp3 Show Notes: Scott talk: Building Real World Apps with Windows Azure (00:18) Scott’s talk covered twelve patterns for building cloud apps using things like continuous delivery, transient fault handling, long term failures, etc. What’s new in Windows Azure (01:02) Jon asks Scott to overview the highlights of what’s new in Windows Azure over the past year (01:25) Scott says they generally ship a major release every three weeks (01:40) Scott talks about how they’re using agile approaches to development, and some services update as often as ten times a day (02:19) Scott overviews some of the main things that shipped over the past year Virtual...
By Herding Code

The guys talk to Pablo Santos about Semantic Merge, a merge tool that understands your code. Download / Listen: Herding Code 183: Semantic Merge with Pablo Santos http://herdingcode.com/wp-content/uploads/HerdingCode-0183-Semantic-Merge.mp3 Show Notes: Intro (00:18) Semantic Merge is a diff tool with a semantic understanding of your code. Language support (01:01) Jon asks about what languages Semantic Merge supports. It currently supports C#, Visual Basic.NET and Java, and they’re currently working on adding support for C, then C++. (02:00) Jon noticed that they’re using Roslyn and asks about that. Pablo says that it worked really well, handling the parsing to allow them to focus on the important things like diff calculation and semantic merge calculation (03:02) Jon asks about support for JavaScript. Pablo says it’s still under development and there’s a lot of demand for it. Since JavaScript isn’t so tightly structured, they’re still working on figuring out how to come up with something...
By Herding Code

The guys talk to Max Thayer and Daniel Wertheim about document databases, especially focusing on CouchDb and Cloudant’s cloud-hosted CouchDb offering. Download / Listen: Herding Code 181: CouchDb, Cloudant, MyCouch and SisoDb with Max Thayer and Daniel Wertheim"http://herdingcode.com/wp-content/uploads/HerdingCode-0181-CouchDb.mp3" Show Notes: Intro (00:40) Jon says he heard about Daniel because of SisoDb, a document database running on top of SQL Server. Jon and Daniel talk about what SisoDb does and why it could be useful in a "SQL Server only" shop. (01:55) Daniel introduced Jon to Max, who works as a developer evangelist at Cloudant and hacks on Node.js and CouchDb. CouchDb and Cloudant basics, multi-master replication possibilities (02:30) Jon asks Max what Cloudant does. Max says that Cloudant is a database as a service – a hosted, managed document database based on CouchDb. (02:58) Max talks about multi-master replication and some of the implications, including PouchDb (which treats...
By Herding Code

The guys talk to Mads Kristensen about all the new web tools in Visual 2013, Web Essentials, Side Waffle and Web Dev Checklist. Download / Listen: Herding Code 180: Visual Studio 2013 Web Tools, Web Essentials and Side Waffle with Mads Kristensenhttp://herdingcode.com/wp-content/uploads/HerdingCode-0180-Mads-Kristensen.mp3 Show Notes: Intro (00:34) Mads works on the ASP.NET team building tools for everything that has to do with web development. He’s also done a lot of open source development – BlogEngine.NET, Web Essentials and some other Visual Studio extensions. (01:25) Jon asks Mads to overview what’s new in Visual Studio. Visual Studio 2012 included a new JavaScript and CSS Editor, Visual Studio 2013 added Browser Link. (02:48) Visual Studio 2013 has Browser Link, which allows you to connect any browser with Visual Studio. Any extension in the browser or Visual Studio can talk to each other via a web socket connection. The refresh browser feature in Visual Studio 2013 is just a proof...
By Herding Code

K Scott and and Jon talk to about Uffe Bjorklund and Magnus Thor about xSockets, a free framework for Web Socket and WebRTC communications. Download / Listen: Herding Code 179: xSockets with Uffe Bjorklund and Magnus Thorhttp://herdingcode.com/wp-content/uploads/HerdingCode-0179-xSockets.mp3 Show Notes: Intro (00:30) Uffe and Magnus introduce themselves. (00:50) K Scott asks about how xSockets got started, and what problem it solves. (02:05) Jon asks if xSockets is a business or a project. Magnus says it’s now a full-time business – they’ve been working on xSockets for four years, but they’ve gone full-time earlier this year. Uffe points out that while it’s supported by a full time business, xSockets is free to use. xSockets compared to SignalR, unique xSockets features (02:57) K Scott asks how xSockets compares with SignalR. Magnus says they’ve been working on this for 4 years and mentions some differences. Uffe compliments the SignalR project and community, then points out that one important...
By Herding Code

The guys chat about Async, . Download / Listen: Herding Code 178: Async, C# Syntax, AngularJS, Document Databases, Podcast Hosting, A New Job and Summer Vacations http://herdingcode.com/wp-content/uploads/HerdingCode-0178-Discussion.mp3 Show Notes: Async: Our Generation’s Goto Statement? (00:19) Jon introduces a listener question referring to . (00:52) Kevin says he thinks the Callback Hell problem is overblown. In the Node world, there are flow control libraries like Async and good practices. (01:51) Scott K agrees – using named rather than anonymous functions solves a lot of problems he sees. He asks if things would be better if everything was Async by default. Jon says he thinks Async-creep and Async by default push you down a better path most of the time. Kevin says since Node’s always forced that pattern it’s been simpler. (04:40) Kevin says he Async / Await only address simple cases where you want a series of steps. Flow control libraries allow for more complex flow, parallel operations...
By Herding Code

At NDC, K Scott and and Jon talked to Anthony vander Hoorn about the how he and Nik built Glimpse and how it’s evolved over time. Download / Listen: Herding Code 177: Anthony vander Hoorn on Glimpse Internals http://herdingcode.com/wp-content/uploads/HerdingCode-0177-NDC-Anthony-VDH.mp3 Show Notes: Glimpse internals (00:50) Jon asks Anthony about the JavaScript work they’ve done to enable Glimpse. Anthony starts with their initial implementation – just injecting a div into a page. He then talks about some of the issues they ran into over time with a large JavaScript download and a complex codebase to maintain. (02:39) Jon asks if it’s still jQuery based. Anthony says it is, though they’ve thought of removing that dependency. It’s mostly used for click event handling. They include a scoped, local copy of jQuery to prevent any conflicts with the host page’s use of jQuery. (03:50) K Scott asks about some of the impacts of injecting their Glimpse content into the DOM. Anthony discusses issues...
By Herding Code

At NDC, Jon and K Scott talked to Jon McCoy about hacking .NET and .NET developer security. Download: Herding Code 176: Jon McCoy on Hacking .NET http://herdingcode.com/wp-content/uploads/HerdingCode-0176-NDC-Jon-McCoy.mp3 Show Notes: Intro and NDC talks (00:30) Jon McCoy overviews his NDC talks, explaining how he got into security and some of the amazing things he’s found out about .NET about along the way, like using Java JARs inside .NET applications. (02:55) Jon McCoy says that understanding IL and how the JIT works allows him to directly use assembly code and C++ from within .NET applications. (03:45) K Scott asks Jon McCoy about some of the tools he showed during his talks. Gray Dragon is a memory injection program which allows injecting code and remapping while an application’s running. Gray Wolf allows editing an application’s IL code. In his talk, he demonstrates extracting his admin password from biometrics password with six clicks. Developer security practices: obfuscation, unit...
By Herding Code

At NDC, Jon, K Scott and Rob Conery talked to Dominick Baier about HTTP API security: CORS, token based authentication and more. Download: Herding Code 175: Dominick Baier on Securing ASP.NET Web APIs and HTTP Services http://herdingcode.com/wp-content/uploads/HerdingCode-0175-NDC-Dominick-Baier.mp3 Show Notes: Overview of CORS and Token Based Authentication (00:17) K Scott asks Dominick about the subject of his talk at NDC. Dominick runs through the upcoming changes in Web API authentication, including an overview of CORS and token based authentication. (03:49) Dominick explains the ability to support a separate token server in Web API and announces Authentication Server, his new open source project which provides (05:13) Rob describes how he’s seen people breaking their sites and services across multiple domains and subdomains. He explains a problem he’s currently running into with older releases of Internet Explorer. Dominick explains more about how CORS works and talks about options...
By Herding Code

At NDC, K Scott and and Jon talked to Paul Stack about automating server configuration management with Puppet and PowerShell. Download: Herding Code 174: Paul Stack on automating Windows configuration managment with Puppet and PowerShell http://herdingcode.com/wp-content/uploads/HerdingCode-0174-NDC-Paul-Stack.mp3 Show Notes: Intro (00:32) Paul gave a talk on Windows infrastructure management with Puppet and PowerShell. Puppet is a configuration management tool. It allows you to define a configuration management level, and Puppet will bring it to that level and keep it there. (01:05) K Scott asks Paul how this relates to his continuous deployment emphasis. Paul explains how this has been part of the maturity model they’ve been using at his employer, Open Table. (01:50) Paul explains how they started using Puppet in their pre-production environment of 19 VMs. Their production environment is four times that large. Some more questions about Puppet (03:00) Jon asks how Vagrant and Chef fit...
By Herding Code

At NDC, Jon, K Scott and and Rob Conery talked to Laurent Bugnion about XAML development, sharing code between Windows 8 and Windows Phone, and modern design. Download / Listen: Herding Code 173: Laurent Bugnion on sharing code with MVVM Light in Windows 8 and Windows Phone http://herdingcode.com/wp-content/uploads/HerdingCode-0173-NDC-Laurent-Bugnion.mp3 Show Notes: XAML vs. HTML for Windows Store development (00:40) Rob asks Laurent how often customers ask for HTML/JS based Windows Store application rather than XAML based. Laurent lists a few of the cases where people ask for HTML based work, but says the cases are very rare. Generally they’re much more productive with XAML and C#. (02:49) Rob asks Laurent if he thinks this will change over time. Laurent says IDE support may affect things a little, but generally he thinks web developers don’t do desktop development because they don’t want to do desktop development – they went into web development because they wanted to develop for the...
By Herding Code

At NDC, Jon and K Scott talked to Nik Molnar about what he’s learned about running an open source project from his experiences with Glimpse. Download: Herding Code 172: Nik Molnar on Running an Open Source Project http://herdingcode.com/wp-content/uploads/HerdingCode-0172-NDC-Nik-Molnar-on-running-an-open-source-project-and-cooking.mp3 Show Notes: Running an open source project (00:35) Nik says he’s writing the guide he wishes he’d had a few years ago. (01:06) K Scott asks him for one big thing he’s learned. Nik talks about the importance of public communication. (01:36) Jon mentions the difference between open source code and open source projects, and Nik mentions some of the different documented governance models for open source projects, citing OSS Watch and YUI. This helps (03:15) K Scott asks if Glimpse presents unique challenges because there’s a plugin ecosystem. Nik says they used to just see code contributors and plugin authors, but now he sees contributors with a much broader...
By Herding Code

At NDC, Jon and K Scott talked to Magnus Martensson about continuous delivery on the Windows Azure platform and the Global Windows Azure Bootcamp he helped run. Download / Listen: Herding Code 171: Magnus Martensson talks Continuous Deliverery on Windows Azure and the Global Windows Azure Bootcamp Show Notes: Continuous Delivery on Windows Azure (00:20) Jon asks Magnus about what he’ll be speaking about at NDC. (00:45) Jon asks about the difference between continuous integration and continuous delivery. Magnus says continuous integration just runs tests and builds, but it doesn’t go anywhere; continuous delivery actually deploys the code to an environment – staging, possibly production. (02:06) K Scott asks about Azure support for continuous delivery. Magnus says you can do it with cloud services, but there’s a delay; with Windows Azure Web Sites the deployment is extremely fast and easy. (03:00) K Scott asks about the steps of setting up continuous delivery for a web application for deployment...
By Herding Code

At NDC, Jon and K Scott sat down with Tom Dale (co-founder of Ember.js) and Rob Conery to recap their cage match battle, compare Ember.js and AngularJS, and hear from Tom about where Ember.js is headed. Download / Listen: Herding Code 169: Tom Dale and Rob Conery on the Ember.js / AngularJS Cage Match at NDC Show Notes: Intro (00:18) K Scott and Rob asks Tom and Rob to introduce themselves and recap the Cage Match. (01:22) Tom describes the challenge and thanks Peter Cooper for moderating. Rob describes the scenario – start with installation and creating a new project, then move to routing and navigation between views. Demo vs. Reality (02:28) Rob says it’s fun to do a demo with Angular, but once you need to do more structured things you have to start over and reimplement with modules, etc. (02:43) Tom says that seeing the TekPub screencast about AngularJS informed a lot of their design for Ember.js. The result is a framework that gives you the same simplicity in getting started, but also...
By Herding Code

This week on Herding Code, the guys talk to John Sheehan about the recent launch of his new API developer tools company, Runscope. Download / Listen: Herding Code 168: John Sheehan on Runscope Show Notes: Intro (00:30) "What is Runscope and why should I care?" (00:55) Runscope is the ultimate API integrator developer’s toolbox. It helps you solve the problems you encounter in dealing with API’s from a consumption standpoint. It takes invisible API traffic and makes it visible, then helping you do all sorts of things with it: debugging, sharing, retry a request from the website, testing features like response playback without hitting the API, webhook debugging, etc. When you rely on an API, you’re not just taking on a service dependency – it’s code code that’s running on someone else’s service, and you should treat it like it’s code that’s under your control. You should apply the same testing rigor and should have the same debugging facilities. (03:25) Jon asks about the launch. Anyone can...
By Herding Code

This week on Herding Code, the guys talk to Glenn Block about scriptcs. Download / Listen: Herding Code 167: Glenn Block on scriptcs Show Notes: Intro (00:10) K Scott asks Glenn if he’s still working with Node at Microsoft. Glenn says he’s moved from command-line tools for node and is focused on Azure Mobile Services, but he still owns the Node SDK and the Node story for Azure. (01:56) K Scott scriptcs is another way to write C# code outside of the IDE as script files. It’s inspired by Glenn’s work with Node.js. It leverages Roslyn, NuGet, and some conventions to simplify scripting, such as automatically pulling in NuGet packages. (03:58) K Scott comments on the ability to reference assemblies using the #r directive. Glenn says it’s even easier than that – you can use #r to reference GAC’d assemblies, but assemblies in the local bin folder are automatically referenced. K Scott asks about the hooks to support that, and Glenn explains how Roslyn supports a lot of scenarios; since it ships...
By Herding Code

This week on Herding Code, the guys talk to Tomasz Janczuk about running .NET code in Node.js using Edge.js. Download / Listen: Herding Code 166: Tomasz Janczuk on Edge.js Show Notes: Intro and background on Edge.js (00:40) Tomasz has been focusing on Node.js at Microsoft for the past 3 years. He’s been working on making Node.js run well on Windows. He’s also worked on hosting Node.js on Windows Azure with IISNode. (02:08) Jon asks about Edge.js’s original name, Owin. Tomasz explains how that made sense with the original scope – connect middleware and express handlers – but it’s grown since then so it needed a more generic name. (02:45) Edge.js lets you run Node.js and .NET code in one process and provides interop mechanisms between the two. (03:05) Jon asks why that’s useful. Tomasz says you can do pretty much anything in either Node.js or .NET, but some things work a lot better on one platform. He gives examples like using ADO.NET to connect to SQL Server and running CPU bound computations...
By Herding Code

While at the Danish Developer Conference in Copenhagen, Jon sat down with Mark Seemann to talk about AutoFixture and Unit Testing. Download / Listen: Herding Code 165: Mark Seemann on AutoFixture and Unit Testing Show Notes: AutoFixture (00:44) AutoFixture is an open source library that simplifies the "Arrange" part of the standard Arrange / Act / Assert steps in unit tests. (01:20) Jon asks about anonymous variables. Mark says he got that terminology from Gerard Meszaros’ book, xUnit Test Patterns. Anonymous methods and variables are necessary for a test, but their implementation doesn’t matter. (02:23) Mark describes the test data builder pattern, from the book Growing Object-Oriented Software. The pattern works well, but it gets to be repetitive and mechanical to write and maintain, so he wanted to automate it. AutoFixture uses reflection to create the needed instances. (04:00) Jon asks about the usage pattern for AutoFixture.(04:16) Jon asks about the different values returned for strings...
By Herding Code

This week on Herding Code, the guys talk to Louis DeJardin about OWIN – the Open Web Interface for .NET – and Katana, an open source OWIN implementation for ASP.NET and IIS. Download / Listen: Herding Code 164: OWIN and Katana with Louis DeJardin Show Notes: Intro (00:44) Scott and Louis explain what OWIN is. (01:33) Louis explains the difference between OWIN (the community standard) and Katana (actual bits – an implementation of the OWIN standard for ASP.NET). (03:18) Jon asks if this is similar to the distinction between HTTP / HTML standards and browser implementations. Louis explains what’s required for an implementer to participate in a request. Each request calls a simple func with an IDictionary which returns a task. The killer app: middleware (04:54) Scott talks about how the pipeline might not sound like much, but it can support a lot of really useful middleware scenarios like static caching and domain splitting – especially in a way that’s common across frameworks. (06:05) Louis...
By Herding Code

This week on Herding Code, the guys talk to Damien Guard and Robert Sweeney about Sticker Tales (a Windows Store application for kids), some challenges in building touch applications for kids, their CSharpAnalytics open source library, and a companion app they built for Western Digital. Download / Listen: Herding Code 163: Sticker Tales and Building Windows Store apps Show Notes: Introductions (00:39) Damien describes what he’s been up to since we last talked to him. (01:25) Robert worked on the Windows user interface, then XBox.com, then several apps for NetFlix. (02:57) Jon asked about the experience of building high scale customer facing applications at XBox and NetFlix. Damian tells about how they ran the XBox store on two servers. Building Sticker Tales (03:38) Jon asks how they decided to build a sticker book app. Robert explains how they got started. (04:45) Robert describes how they decided to spend some money on professional illustration. (05:40) Jon describes how Sticker Tales...
By Herding Code

This week on Herding Code, the guys talk about what they’ve been up to lately (including Kevin’s new Greater Than Parts site), lament the passing of Google Reader, talk about scriptcs, and even fit in a lightning round! Download / Listen: Herding Code 162: Whacha doin, Goodbye Google Reader, scriptcs and Lightning Round! Show Notes: What are you up to? (00:29) Scott K is doing MVC with a lot of JavaScript. He laments the quality of the code he’s working with. There’s a discussion of how bad code happens and how to clean it up. (07:58) Kevin’s been working on his GreaterThanParts site. He soft launched it on twitter and got more response than he expected, but it’s been holding up. It’s a full JavaScript stack – Node, Backbone, Mongo. Kevin was surprised how resistant developers were to trying out the site via Google / Facebook login, so he set up an anonymous (cookie based) login. Scott K has some specific feature requests. Jon asks if the design feedback was coherent or contradictory. Kevin...
By Herding Code

While at MVP Summit, Jon and the Scotts talk to John Papa and Ward Bell about Single Page Applications, the new ASP.NET and Web Tools 2012.2 SPA templates, and John and Ward’s new Hot Towel SPA template (you need a hot towel at a spa, get it?). Download / Listen: Herding Code 161: Single Page Applications with John Papa and Ward Bell Show Notes: Intro (01:10) K Scott asks John Papa about to overview what’s just been released. (01:24) Jon explains how he remembers the ASP.NET and Web Tools 2012 release, comparing it to a video game "map pack". (02:04) John says that one of the new features in this release is that you can create new File / New / Project templates for ASP.NET MVC using VSIX. (03:18) Scott K says you can find all the new goodies at http://asp.net/vnext. Hot Towel overview (03:37) K Scott asks what happens when you create a new Hot Towel project. (04:30) K Scott asks what’s included: Durandal Knockout Breeze Some other nice things: jQuery, Bootstrap, Moment The useful parts...
By Herding Code

While at MVP Summit, Jon and the Scotts talk to Nik and Anthony about the Glimpse 1.0 release, Semantic Release Notes and NuGet versioning. Download / Listen: Herding Code 160: Glimpse 1.0 release and Semantic Release Notes with Nik Molnar and Anthony vander Hoorn Show Notes: Intro (00:38) Nik and Anthony remind us of what Glimpse does. High level: What have they been up to? (01:27) Nik explains how they’re now sponsored by RedGate software, but it Glimpse continues to be an open source project under Apache 2 license. The end result is that they’re both able to work 40 hours a week on it. Anthony talks about the change to remove the dependency on System.Web.dll, allowing for compatibility with ASP.NET Web API and OWIN. New features in Glimpse 1.0 (03:24) Jon asks about new features. Nik says they’re mostly at feature parity with the previous release, with a lot of key refactoring. Some new features include: Support for SignalR Routes are available in Web Forms They can determine and surface...
By Herding Code

This week on Herding Code, the guys talk with Oren Eini (a.k.a. Ayende Rahien) about what’s new with RavenDB. Download / Listen: Herding Code 159: Catching up with Oren Eini on RavenDB Show Notes: (00:47) Introduction and review of document databases and RavenDB Oren gives us a quick overview of document databases and RavenDB Relational databases work for the kind of applications we were building in the early ’90’s. We can kind of make them work in our current applications but it takes too much work. RavenDB is a document database which stores JSON documents. JSON documents can store arbitrarily complex data very easily. (04:35) Comparing accuracy and data consistency between document databases and relational databases Jon asks about Oren’s comments on a recent .NET Rocks podcast in which he said that document databases allow us to be more correct than relational databases. Oren gives a real life example of how an update to a customer’s financial information caused a change to her historical...
By Herding Code

Nat Friedman and Joseph Hill from Xamarin join us for several big announcements: Xamarin Studio, Xamarin Component Store, iOS development in Visual Studio, and a new free Starter edition. Download / Listen: Herding Code 158: Nat Friedman and Joseph Hill announce Xamarin 2.0 Show Notes: (00:45) Nat begins by catching us up on Xamarin’s first eighteen months. Xamarin’s focus is on helping developers build mobile apps across multiple platforms. They have 230,000 developers in their community, adding 700-800 per day, with over 12,000 paying customers. They’ve had top iPad (Bastion), music apps (Rdio) and some large mission critical line of business apps. What’s special about their platform is that you can target iOS, Android, and Windows Phone, share C# code across all those platforms, and still deliver a native experience. Nat say’s they’re the overnight success that took ten years to prepare, referencing the ten years they took to build Mono. (03:20) Xamarin’s value proposition and customer...
By Herding Code

On this episode of Herding Code, the guys talk to Amir Rajan about his Oak and Gemini projects, which bring Rails-inspired dynamic programming to ASP.NET MVC. Download / Listen: Herding Code 157 – Amir Rajan on dynamic web development with Oak and Gemini Show Notes: Overview – Developing with Oak Oak is an approach to building single page applications that are heavy on JavaScript that takes a lot of inspiration from the Ruby community’s development approach. Jon asks Amir to explain his development workflow, including SpecWatcher, NSpec, and Growl. Jon asks about the File / New Project experience. Amir describes how that’s not even required – Oak works with WarmuP to build out a new project. The next step is using Rake – Amir explains how Rake works. Running Rake builds the application and deploys, then sets up IIS against that instance. Dynamic programming and Gemini Oak leverages the dynamic keyword. Amir explains how it just augments what’s already there in ASP.NET MVC. Amir explains...
By Herding Code

The guys catch up with Andreas and Steve on what’s new in NancyFx (a web framework for .NET that was originally inspired by Sinatra). Download / Listen: Herding Code 156 – Catching up with Andreas Håkansson and Steven Robbins on NancyFx Show Notes: Jon asks for a quick overview of NancyFx. Steve and Andreas both say you can write the same app on any number of web frameworks, so what really distinguishes them is the syntax and feel. Andreas says that the web only has a small set of things you really can do – there are only a few HTTP methods – but an infinite number of ways you can build applications; Nancy is one of them. Diagnostics Andreas says Diagnostics is a website built into Nancy itself. It covers things like request tracing and interactive diagnostics. Steve explains how the interactive diagnostics lets you find out what routes were hit and why, poke at live code, etc. Andreas says this works using companion classes for metadata which is then rendered via JavaScript templates...
By Herding Code

On this episode of Herding Code, the guys talk to Ward Bell about single page applications and the Breeze project. Download / Listen: Herding Code 155 – Ward Bell on Single Page Applications and Breeze Show Notes: General SPA discussion Ward talks about how IdeaBlade has been building tools for working with data in rich clients for a while, and after seeing the move towards desktop experiences in the browser they started the Breeze project, which is open source and free. Jon asks Ward to define single page applications (SPAs) a bit, and Ward says he sees SPA as a funny term since it just describes one attribute of the experience – it’s like calling a car a “horseless carriage.” Ward says the goal is to give the user a rich experience and not rely on the server to deliver that rich experience. A lot of the value comes from maintaining data and state on the client. There’s a discussion about the value and best applications of SPAs. Kevin says there are a few aspects of SPAs – there can be...
By Herding Code

While at the //build/ conference, Jon talks to Aaron Stannard about how he left Microsoft to start up a new company focused on analytics for Windows 8 applications. They discuss Windows 8 development and the Window Store ecosystem and the technology stack Aaron and team settled on for their analytics platform. They end up by discussing the process of going from an employed software developer to running a software startup. Note: The audio is a bit crackly in a few parts, but just for a few seconds. Download / Listen: Herding Code 154 – Aaron Stannard on MarkedUp, founding a startup, and Windows 8 development Show Notes: Jon starts by asking Aaron about what led him to founding a startup. Aaron explains how his first startup failed and his blog post about Why .NET Adoption Lags Among Startups got him a job as a startup evangelist at Microsoft Opportunities: Windows 8 development and MarkedUp Aaron explains how he saw a key opportunity around the Windows app ecosystem and why the teaming seemed...
By Herding Code

The guys talk to Matt Wrock about Matt’s RequestReduce web optimization framework and his work to automate building and configuring Windows developer machines with the Chocolatey and BoxStarter projects. Download / Listen: Herding Code 153 – Matt Wrock on RequestReduce, Chocolatey and BoxStarter Show Notes: RequestReduce Matt explains how he got started with RequestReduce – a site optimization system that’s been designed as a plug-and-play system that can work well with legacy sites without any code changes. Matt explains how RequestReduce fits in with other systems like the ASP.NET Web Optimization system and Casette. K. Scott asks Matt how it works and how a user would configure it. Matt explains how it can be installed via NuGet, and how it uses a Response Filter to process the output. Matt explains how everything’s handled via a queue on a background thread, so there’s no performance impact on initial requests. RequestReduce pulls in CSS, images and JavaScript so it can work with remote...
By Herding Code

The guys talk to Josh Twist about the newly released Azure Mobile Services. Download / Listen: Herding Code 152 – Josh Twist on Azure Mobile Services Show Notes: How Azure Mobile Services got started Jon asks Josh how he got involved with Azure Mobile Services. Jon asks Josh about the Zumo code name – ZU from Azure, MO from Mobile. Josh explains how things got off the ground with a real startup feel. Steve Sanderson was a dev on the team, working on the interactive portal experience. Jon asks about platform support. Josh says that Windows 8 was the platform that was initially announced at launch, but other platforms are on the way very soon. The three personas the Azure Mobile Services The hobbiest app developer who have very limited time and wants to spend the time on their mobile clients, not the backend services. Jon talks about the experiences he had on The Full Stack project with Jesse Liberty. The client focused developer is working full time on a mobile application, but still wants...
By Herding Code

Welcome to Player FM

What if radio played only the shows you care about, when you want? Player FM is scanning the web for high-quality podcast content right now. Try us out on any web browser — desktop, mobile, or tablet.