Herding Code 147 – Jakob Bradford on Organizing NDC Oslo

While at NDC 2012 in Oslo, Jon and K. Scott talked to Jakob Bradford about how the event was organized.

Download / Listen:

Herding Code 147 – Jakob Bradford on Organizing NDC Oslo [audio://herdingcode.com/wp-content/uploads/HerdingCode-0147-Jakob-Bradford.mp3]

Show Notes:

  • Jon asks how NDC got started and how it’s grown.
  • K. Scott says that other conferences feel like they’re organized to solve organizers’ problems, while NDC is organized around the attendee experience. Jakob says that’s very intentional.
  • Jon asks how they balance a big conference feel (as NDC continues to grow) while maintaining a personal feel.
  • K. Scott asks for an inside scoop – what were the biggest disasters, or almost disasters? Answer: volcanoes!
  • Jon talks about how much he likes the Overflow (a.k.a. ADD room) and asks how that got started. Jakob said that’s how conferences are done in Norway.
  • K. Scott asks about Aral’s keynote, which began with a musical number.
  • Jon asks about how they select speakers and content.
  • Jon asks about the pre-conference workshops (in the tallest building in Norway!)
  • The entire conference is recorded, available on Vimeo. Jakob says that’s how they get most of their attendees – "Watch the videos a couple years… you will come!"

Show Links:

The NDC Overflow room:

 

Herding Code 146 – Shay Friedman on Roslyn, IronRuby and the DLR

While at NDC 2012 in Oslo, Jon and K. Scott talked to Shay Friedman about Roslyn, IronRuby, and the DLR.

Download / Listen:

Herding Code 146 – Shay Friedman on Roslyn, IronRuby, and the DLR [audio://herdingcode.com/wp-content/uploads/HerdingCode-0146-Shay-Friedman.mp3]

Show Notes:

  • K. Scott asks Shay about the what he covered in his "What? C# Could Do That?" talk. Shay mentions dynamic capabilities, the DLR, and Roslyn.
  • K. Scott asks Shay to explain Roslyn. Shay explains how Roslyn works as a very configurable compiler and talks about how his demonstration showed creating a new language keyword.
  • Jon asks if it’s possible to build out significant parts of a language with Roslyn. Shay says you’d really use it to extend C# – but there’s more to it than that. He talks about CSX (scripting with C#), C# REPL, and changes to the IDE experience that are now available due to having a much better compiler.
  • K. Scott asks if it’s shipping in Visual Studio 2012. Shay says that it’s a CTP, but it’s avialable for both Visual Studio 2010 and 2012.
  • Jon asks for Shay to talk more about metaprogramming. Shay explains more about what could be done with this – for instance, an ORM could could add in specialized language support.
  • K. Scott asks about the state of IronRuby. Shay says that it’s still active, it’s ignored by the Ruby community, but it has a lot of great applications – for instance, allowing users to write simple business rules in Ruby, and loading Ruby Gems in .NET applications.
  • Jon asks if Shay uses the DLR separately from IronRuby and IronPython. Shay mentions some examples like IronJS, Scheme, LUA and LOLCODE. The DLR is built into .NET framework, so it’s not going anywhere.
  • Jon asks about how dynamic objects function differently than other C# objects. Shay explains it’s basically an object, but it’s all executed at runtime.

Show Links:

Herding Code 145 – NDC Cage Match with Rob Conery (node.js/socket.io) and Damian Edwards (SignalR)

While at NDC 2012 in Oslo, Jon MC’d a Cage Match between Rob Conery (Node.js and socket.io) and Damian Edwards (ASP.NET and SignalR). Immediately after the cage match ended, Jon and K. Scott caught up with them to talk about the similarities and differences between these development stacks.

Download / Listen:

Herding Code 145 – NDC Cage Match with Rob Conery (node.js/socket.io) and Damian Edwards (SignalR) [audio://herdingcode.com/wp-content/uploads/HerdingCode-0145-NDC-Cage-Match-with-Rob-Conery-and-Damian-Edwards-update.mp3]

Show Notes:

  • Jon asks Damian how he’d summarize the distinguishing features. Damian says they’re very similar feature-wise, and it comes down to how you want to develop. Rob says the main difference for him is that node+socket.io is all Javascript, which has pros and cons.
  • Jon recalls a part in the cage match where Rob talked about invoking Javascript methods on the client and asks Damian if SignalR can do something similar. Damian talks about how SignalR’s hubs can also invoke dynamic client methods.
  • Jon asks Rob about WebSocket support and fallback to older alternatives. Rob and Damian both discuss the fallback methods.
  • Rob asks Damian about confirmation and callback support in SignalR. Damian explains how that works with jQuery promises in the Javascript client. Rob asks for more info about how SignalR pushes content to the client, and Damian talks about the use of JSON.
  • Jon asks about the differences in development stacks.
  • K. Scott asks about what was actually built during the presentation. Rob and Damian talk about what they built in the time available. Rob was wanting to use Backbone if time permitted. Damian says he generally uses simple HTML for many cases.
  • Damian calls out a future feature they’re working on for SignalR that adds something like an Update Panel for Web Forms using SignalR.
  • Rob talks about the synchronization feature Backbone uses with SignalR and tells Damian they should add something similar to
  • Jon asks if Rob and Damian are "web scale." Rob talks about how he load tested using NodeLoad. Damian talks about how he tested using Flywheel and WCAT. Damian says they’ve been able to get great throughput out of SignalR and how they’re moving to some custom data structures to possibly double or triple capacity in SignalR 0.6.
  • Rob thinks it’s interesting the SignalR can run outside of ASP.NET, and Damian talks about the hosting models for SignalR.
  • Jon asks about some of the differences in development. Rob talks about the Node module ecosystem, Damian calls out some of the advantages of using .NET on the server.
  • SignalR runs on Mono.
  • K. Scott asks what the future holds for SignalR. Damian talks about 0.6, calling out future performance enhancements in the in-memory message store and standardizing on OWIN as the hosting layer. In version 1, they’re looking at the client story, low level transport, cross-domain support, and more.

Show Links:

Herding Code 144 – GitHub for Windows with Tim Clem, Paul Betts and Phil Haack

In this episode, the guys talk to Tim Clem, Paul Betts and Phil Haack about GitHub for Windows.

Download / Listen:

Herding Code 144 – GitHub for Windows with Tim Clem, Paul Betts and Phil Haack [audio://herdingcode.com/wp-content/uploads/HerdingCode-0144-GitHub-for-Windows.mp3]

Show Notes:

  • The guys start off talking about why there is a need for GitHub for Windows.
  • Kevin asks if GitHub for Windows can be used as a client for other Git hosts.
  • Kevin asks for an overview of GitHub for Windows and if it is similar to GitHub for Mac.
  • Jon asks what they did to make the install process so smooth.
  • K. Scott asks what technologies were used to build it.
  • Scott asks about the features that GitHub has that are missing from GitHub for Windows.
  • The guys discuss the decision to use WPF, which leads into a discussion about developer and designer interaction.
  • The guys talk about Metro UI.
  • Jon asks about the install and update process.
  • Kevin asks Phil about his transition from web development to desktop development.
  • Jon asks about the different OSS libraries and frameworks used to build it.
  • Kevin asks about unit and integration testing.
  • Kevin asks if they dogfooded GitHub for Windows.
  • The guys talk about line endings.
  • Kevin asks about Linus Torvalds’ recent comments about GitHub.

Show Links:

Herding Code 143 – Paul Stack on Continuous Delivery

The guys talk to Paul Stack about Continuous Deployment.

Download / Listen:

Herding Code 143 – Paul Stack on Continuous Delivery [audio://herdingcode.com/wp-content/uploads/HerdingCode-0143-Paul-Stack-on-Continuous-Delivery.mp3]

  • K. Scott asks Paul for a description of what Continuous Delivery is.
  • Paul talks about the differences between Continuous Testing, Continuous Integration, Continuous Delivery and Continuous Deployment.
  • Scott brings up the difficulties that databases bring about as it relates to deployments.
  • Paul talks about how a distributed cache layer has helped alleviate those deployment problems for him.
  • Jon asks how these processes lead software to have a better architecture.
  • K. Scott asks how source control plays into the process.
  • Paul talks about feature switching, which can be used to turn features on and off.
  • Paul talks about the benefits of rapid feedback.
  • There is a question from Twitter about databases and data warehousing and PowerShell equivalents of Chef and Puppet.
  • Another question from related to the processes related to deploying with TFS.
  • Scott talks about his experience prototyping Octopus Deploy.
  • Kevin brings up the topic of rollbacks.
  • Paul talks about A/B testing and canary testing.
  • K. Scott asks about pushback on Continuous Delivery.
  • Jon asks if it is possible to incrementally work towards Continuous Delivery.
  • K. Scott asks about the pitfalls of Continuous Delivery.
  • Jon asks if there are teams or situations that Continuous Delivery would not work.
  • K. Scott asks about benchmarking of deployments.
  • Another question from twitter related to Continuous Deployment of desktop software.
  • Paul gives examples of technology making Continuous Delivery easier.
  • Kevin asks if decisions made at the beginning of a project make it harder to implement Continuous Delivery.

Show Links:

Show notes by @rossfuhrman – thanks!