Herding Code 67: Udi Dahan on Scalability

You’re interested in web application scalability and availability, right?  Of course you are!  Well, you’re in luck because Udi Dahan – enterprise development expert, SOA specialist and author of NServiceBus – joins the guys on this week’s episode of Herding Code. 

  • Jon kicks off the show by asking Udi if one can run a high-availability and high-scalability site (like stackoverflow.com) on two servers with ASP.NET?  Udi asks “how high is high” and talks about the importance of defining the scope of the architectural problem.
  • Udi comments on the how site behavior (high reads or writes, static or dynamic content, etc) dictates the way availability and scalability concerns can be handled.
  • Udi talks about how websites can be broken into fragments and how one can take advantage of content distribution networks and caches.
  • Udi stresses that high-availability inherently makes scaling more difficult and how scalability is a multidimensional cost function.
  • Kevin asks about common scalability mistakes and solution patterns. Udi replies with talk of SOA, web services, REST, one-way messaging, pub/sub and offloading things to the background in an asynchronous way.
  • Kevin follows up with additional questions: Why don’t more developers turn to messaging patterns to solve their scalability issues and can one introduce scalability changes incrementally?
  • Udi discusses the scalability patterns employed by RIA Services for Silverlight and gives his opinion on Azure as a scalability system.
  • Scott K asks about geographical distribution and Udi gets to the heart of the matter – high-availability means writing data to multiple places which means you are slowing your system down.
  • K Scott asks Udi about the AppFabric service bus provided by Microsoft and how it compares to already available distributed cache solutions like .NET Service Bus, MassTransit, and NServiceBus.

[Note: The sound quality for Udi’s voice is kind of rough. We tried to clean it up, and this is as good as it’s going to get. Just pretend we’re talking to him on a CB and things will be fine]

Show Links:

Download / Listen:

Herding Code 67 – Udi Dahan on Scalability

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0067-Udi-Dahan-on-Scalability.mp3]

Show notes compiled by Ben Griswold. Thanks!

Herding Code 66: Brad Wilson and Scott Densmore on iPhone Development

What do Brad Wilson and Scott Densmore have in common?  They’re expert .NET developers, a couple of Mac fanboys, and they’re both joining the guys on this week’s episode of Herding Code.  Listen in while Brad and, yet another, Scott talk about the Mac, Windows, and the ins and outs of iPhone development:

  • In case you’ve never heard of them, Brad and Scott D introduce themselves and share their interest in the Mac and iPhone development.
  • Brad and Scott D talk about Objective-C as it compares to other languages including SmallTalk, C, Ruby, Python, and C#. 
  • In order to be a great Cocoa developer, do you need to be a good C developer?  Brad and Scot D discuss.
  • The guys talk about pointers, memory management and the benefits of following language conventions.  Not to be a shill, but Brad notes the brilliance of P/Invoke.
  • The guys talk through Interface Builder, Xcode, Blend, Visual Studio, the difference between Mac and Windows developer workflow, and the passion around UIs in the Mac world.
  • Scott K asks about ADO.NET vs Core Data. Jokingly, he asks if there’s even a way to save anything using Core Data.
  • The group quickly discusses available charting APIs for Cocoa and Core Animation libraries.
  • Brad and Scott D explain that Mac plists are sets of name/value pairs or bastardized xml and Jon asks for clarification on how Mac installations work under the hood.
  • Kevin asks if MonoTouch is best for C# developers due to language familiarity, the benefits of the rich libraries, garbage collection and potential productivity gains.  Brad and Scott D agree that learning the CocoaTouch platform is most crucial. In comparison, one’s language choice a insignificant. So, if one already knows Objective-C, is MonoTouch a waste of time? 
  • The show starts winding down with a quick discussion on how MonoTouch may be providing views to run on Android, the status of Moonlight and the unbelievable pace in which the Mono team develops.
  • The group leaves iPhone-land to talk about real-life work. Brad talks about the ASP.NET MVC 2.0 Template and Model Validation work he’s been up to, and Scott D notes he’s been working on bringing ASP.NET MVC applications the cloud – the Azure Cloud, that is.

Show Links:

Download / Listen:

Herding Code 66 – Brad Wilson and Scott Densmore on iPhone Development

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0066-Brad-Wilson-and-Scott-Densmore-on-iPhone-development.mp3]

Show notes compiled by Ben Griswold. Thanks!

Herding Code 65: Scott Hanselman on His Secret Ninja Squad and Jon’s new job (bonus: netbook operating system install clinic!)

In this episode, we talk to Scott Hanselman about Jon’s new job with Microsoft, how (if at all) that affects this podcast, and running Ubuntu on a Dell Mini 9.

  • Scott H talks about how, other than the obvious request to get Scott Koon removed from the show, there’s no need to fear any changes to Herding Code.
  • Scott H bemoans the fact that people are so quick to attribute opinions to “working for the man”.
  • The group discusses whether Scott’s demonstration of a datagrid in Scott Guthrie’s PDC keynote constitutes “selling out”.
  • Scott K asks about what Jon’s new job is, and what Scott Hanselman’s STO group does. Scott Hanselman describes the difference between all the different developer community program manager groups at Microsoft.
  • Scott K asks about the lack of diversity on the STO team, and whether there will be more of a focus on data programmability in the future.
  • Kevin asks if working for Microsoft makes it tougher to criticize Microsoft. Scott K asks if working for Microsoft makes it hard to criticize competitors.
  • Scott Hanselman talks about the irritation of ad hominem attacks which discount opinions under the assumption that they’re job-motivated.
  • Scott H mentions that he’s been test driving Linux and other operating systems on his netbook in passing, which prompts a 5 minute geek-fest between Scott H. and Scott K. about Linux driver troubleshooting.
  • Scott K asks Jon what his top priorities are in his new job.
  • Scott K comments on the recent lack of focus on Web Forms, e.g. all the PDC videos he saw were using ASP.NET MVC.
  • Scott H clarifies who exactly is on his team, and how useful it is to have a team that’s got internal Microsoft access but is separate from the product teams.
  • Scott K takes us on a discussion of Microsoft certifications – whether the STO team can add some more realism to certifications. Best part: Scott K inadvertently complains about some of the VB6 exams that Scott H had written.
  • Scott H and the gang finish thing off with a discussion of certifications, education, and interviews as indicators of effectiveness as a programmer.

Download / Listen:

Herding Code 65 – Scott Hanselman on his Ninja Squad and Jon’s new job

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0065-Scott-Hanselman-on-his-Ninja-Squad-and-Jon-s-new-job.mp3]

Herding Code 64: Phil Haack on MVC 2

The guys grill Phil on ASP.NET MVC2, and introduce a new segment: Abusive Questions From Twitter!

  • Phil starts with the new <%: code block syntax, IHtmlString, HtmlString, MvcHtmlString
  • Jon asks about DisplayFor, EditorFor improvements
  • Phil discusses validation improvements – validation extensibility and client-side validation
  • MVC 2 is built on .NET 3.5 SP1
  • Phil talks about the productivity focus for MVC 2
  • New minimal templates, minimized web.config
  • Phil comments on the recent trend in software development towards streamlining – Windows 7, Snow Leopard, and how that’s also being applied to MVC and Webforms
  • Phil talks about his work on the Webforms Menu Control to clean up the markup, and how developers will opt-in to new but possibly breaking features
  • K. Scott asks about the new Areas feature 
  • Phil talks about Virtual Path Providers working in medium trust, but not until .NET 4
  • Kevin asks about what other features weren’t available due to maintaining .NET 3.5 support, and Phil ruminates on how the dynamic keyword could work
  • Phil speculates how named parameters could be helpful
  • Scott K asks about when MVC will get more opinionated, perhaps including dependency injection by default.
  • Phil talks about how MVC has never really been weak on the Model side, and how often people are really complaining about data access. Nothing new on that now, but it might be a focus in MVC 3.
  • Jon asks about bringing in some focused project templates.
  • Scott K (again) asks Phil about bringing dependency injection into MVC. Phil talks about why it’s not in there yet, and that you should vote for it in connect if you want it.
  • Phil discusses how bugs are prioritized on the ASP.NET team.
  • Scott K asks if Phil has a favorite feature. Phil likes the HTML Encoding syntax best of all.
  • Kevin asks the standard “when will the Spark view engine replace the webforms view engine” question.
  • Jon asks about which frameworks and community projects Phil’s taking inspiration from.
  • Phil talks about how he’s using Subtext to get personal experience with how the new features are working.
  • Scott K asks about adding in auto-mapping
  • Jon introduces a new Herding Code segment: Abusive Question From Twitter. We start with one by @alanstevens: why we should care about ASP.NET when there are so many other web frameworks out there?
  • Scott K talks about how people conflate languages and platforms.
  • Scott K tries to sneak in an abusive Twitter question, but fails.
  • Kevin asks what’s changing to make TDD work better in .NET and Visual Studio.
  • K. Scott talks about how he’s converted his blog over to run on Subtext.
  • Phil talks about his experiences in developing Subtext, and how that’s been a great way to get exposure to other open source projects and developers.
  • Jon asks about how improving the data access system for Subtext, because stored procedures make him cry.
  • Jon asks about the CodePlex foundation, and Scott K complains about how it’s not very transparent.
  • Phil starts complaining about how newborn babies make it hard to sleep, and things fizzle out.

Show Links:

Download / Listen:

Herding Code 64 – Phil Haack on MVC 2

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0064-Phil-Haack-on-MVC-2.mp3]

Herding Code 63: Victory in Software Development with K Scott Allen

On the heels of his recent Concept Camp 2009 fireside keynote, K Scott brings his opinion about victory in software development to the podcast. Listen in as the guys consider how to define and measure success, how to solve business problems despite our customers and ourselves, and how to focus less on risk and more on the potential reward.

Download / Listen:

Herding Code 63 – Victory in Software Development with K Scott Allen

Show Links:

Show notes compiled by Ben Griswold. Thanks!