Herding Code

Herding Code

By Herding CodeTechnologyTech News
Download on the App Store

Herding Code episodes

  • Herding Code 121: Sara Chipps updates us on Girl Develop It at one year

    Episode 121

    This episode of Herding Code Kevin and Jon catch up with Sara Chipps to find out how Girl Develop It is going.

    • Kevin jumps right into it by asking Sara about what's been going on over the past year. Sara goes back to what was on their minds as they were first getting started with their first class, and how that's grown to 6 cities worldwide, and their original New York chapter offers 20 classes a month with 5 teachers.
    • Kevin asks where the other teachers came from, and Sara spins a tall tale about flamethrower classes. Well, maybe it's true, but I find it a bit suspect.
    • Kevin asks about where the classes are held.
    • Jon asks about how the money part works out. Sara explains how the class fees, donations, and teacher payments all work out.
    • Kevin asks Sara about about what tools they teach, and Sara mentions Aptana.
    • Jon asks for some success stories and Sara tells a few.
    • Kevin asks how many students go through several classes; Sara says they see about 25% frequent fliers.
    • Jon asks if there's some measurement of how much the students actually learn. Sara explains that the classes include a good amount of hands-on work and homework, and that she and the other teachers continue to learn how to gage when students are getting lost.
    • Kevin asks if there are some students that just don't get it, and Sara says that some students have a tough time understanding that a single missing character can break a whole program. Everyone commiserates about this fun part of software development. Jon speculates that young women may be missing out on some of the split between cold logic and reason because they don't play enough video games.
    • Jon notes that a lot of real world computer programming involves problem solving and support network and asks if students are equipped with those things. Sara talks about how anyone watching her code will see a good amount of debugging; additionally she teaches students about how to use StackOverflow so they can get their questions solved.
    • Kevin asks how the curriculum and courses have evolved over the past year. Sara and Jon talk about the amount of time and effort involved in preparing decent training materials.
    • Kevin asks about changes in teaching approach over the course of the past year. Sara said she's moved from code-only to using some slides, and that when writing code it's important to walk through it in pretty good detail.
    • Kevin asks what's been different from expectations, and Sara talks about both the amount of interest and community goodwill.
    • Kevin asks about how Girl Develop It has spread to other cities, and asks about how much of the content is shared between cities.
    • Jon asks about how the branding and design is handled.
    • Jon asks if there are advanced classes or seminars.
    • Jon asks Sara what sort of projects she's been working on lately. Sara says it's pretty much all Javascript lately.
    • Kevin asks if there will be a node.js class (drink!)
    • Kevin asks what's next for Girl Develop It, which prompts Sara to talk about the first Girl Develop It hack-a-thon. Apparently these are like a guy hack-a-thon except with less pizza and body odor and more resort and catering.
    • Kevin asks if Girl Develop It could develop into a full time gig. Sara says that all the leaders love developing and don't want to give that up, so they're still trying to figure that out.
    • Jon asks how listeners can support Girl Develop It. Sara lists a range of options, including book, laptop donations, and meeting space. Kevin asks about cash contributions.
    • Jon and Kevin note that there are no West Coast US branches. Sara mentions that a bay area location may start soon.
    • Kevin asks about the 15% male attendance in Girl Develop It, and Sara explains how that works.
    • Jon asks if there's potential for virtual events and video recordings. Sara explains that, while it sounds great logistically, it misses out on a lot of the most important aspects of the Girl Develop It classroom experience. They've got trial running in the Columbus branch, though, so they'll see how it goes.
    • Sara teases about an interesting hack-a-thon project they did recently using the Aviary API's called Stash Your Stash, which removes moustaches from photos because "they're super creepy!"

    Show Links:

    • Sara Chipps (@sarajchipps)
    • Girl Develop It
    • The Madagascar Institute
    • Aptana
    • Hamptons Hackathon for Humanity
    • Commuting In Traffic

    Download / Listen:

    Herding Code 121: Sara Chipps updates us on Girl Develop It at one year

    49 min
  • Herding Code 120: Ryan Stewart on RIAs and All Things Adobe

    Episode 120

    This episode of Herding Code the guys talk to Ryan Stewart, a developer evangelist at Adobe.

    • Scott K asks about the pricing of Adobe products. Ryan explains why things are priced as they are and talks about the subscription model alternative.
    • Jon talks about the open other free or inexpensive alternatives for beginning Adobe development since the formats are generally open sourced. Ryan agrees and also explains that Adobe's entire pricing model is built around tools, whereas Microsoft's includes both tools and servers.
    • Jon asks about the licensing around Flash Media Server. Ryan explains that it's not something general developers will need to deal with.
    • Scott K speculates around the idea of appliances from Adobe which would be complete video / media processing systems. Ryan says he thinks that's interesting but he doesn't expect anything like that to happen.
    • Jon asks about the general trends away from some rich internet abuses in the past. Ryan and Jon talk about the polyfill approach for using Flash and RIA technologies to augment browsers when the features aren't supported. Ryan and Scott K talk about how developers and the tech press have quickly forgotten that many of the new emerging browser capabilities (typography, media, animation) are modeled after capabilities that RIA technologies initially pioneered.
    • Scott K points out that this is a good segue to the new Edge tool. Ryan talks about how Edge is a designer tool that creates CSS3 and JavaScript animation using the timeline that Flash designers are used to. Jon mentions that this makes more sense to him when thinking about Adobe primarily as a developer tools company rather than a platform oriented company.
    • Jon asks about Adobe support for HTML5 / CSS3 development in Edge with Flash fallback. Ryan talks about how they generally keep them separate, and if browser-based animation isn't supported it just won't play.
    • Kevin asks about how Edge affects the accessibility of the underlying content.
    • Jon asks about how Flash Builder 4.5 allows for developing native iOS and Android applications. Ryan explains how it works and clarifies how it complies with Apple developer guidelines. There's a mention of the popular Mono apps which run on iOS.
    • Twitter question from Chris Edwards: "What are the are the best tools for automated testing of Flash UI's" - Ryan recommends HP Quick Test Pro
    • Scott K asks about Adobe Air - it seemed great, but seems to have kind of fallen out of favor. What's the deal there? Ryan talks about how Air was both a great, bold idea, but also a new challenge for Adobe, in that Air applications are much longer running than most Flash apps.
    • Jon asks about some annoyances in installing updates for Air, Flash, etc. Ryan explains some of the reasons for the updates. Jon asks about the possibility to add in more of an auto-update experience.
    • Jon asks Ryan about some of the new features in Flash. Ryan talks about a lot of features, including Stage Video and 3D GPU support and graphics features. Scott K. asks if there are opportunities for leveraging WebGL, and Ryan says that there have been discussions about that but nothing's in progress yet.
    • Ryan asks the guys what they're expecting at at BUILD, and they all clam up. Scott K. ask about Flash on Windows Phone. Ryan says it'd be great, but he'd be surprised given the Silverlight support on Windows Phone. Kevin's happy that speculation will finally stop. Scott K. talks it's good that developers are having to care about memory and CPU usage again.
    • Ryan talks about the difficulty of bringing richness and creativity to the client without adversely impacting performance.
    • Scott K asks about the current state of Adobe Labs. Ryan points out that the Adobe MAX conference is coming up in October, so Labs will probably be pretty quiet until then.
    • Jon asks about Muse. Ryan explains that really targeted at print designers who want to create web content, so it's not really a tool for web designers or developers.
    • Jon asks about some Adobe client products which are developed in Air.
    • Scott K. asks about what big surprises may be happening at MAX this year. Ryan and and Scott K. speculate a bit more about BUILD, and Ryan tells listeners who recognize him at BUILD to please say hi. Jon says he might sneak in if he can locate a catering costume.

    Show Links:

    • Ryan Stewart (@ryanstewart)
    • Adobe Labs
    • Adobe MAX
    • HP Quick Test Pro

    Download / Listen:

    Herding Code 120: Ryan Stewart on RIAs and all things Adobe

    56 min
  • Herding Code 119: On The Writing Technical Books (with Jesse Liberty, Phil Haack, and Brad Wilson)

    Episode 119

    This episode of Herding Code the guys talk to Jesse Liberty, Phil Haack, and Brad Wilson about writing technical books. Jesse has written dozens of technical books, and both Brad and Phil worked with Jon and K. Scott on the recently released ASP.NET Professional MVC 3 book. What's it like to write a book? Why do it at all? How does the process work? How is it changing? Is Angry Birds your favorite story? Join us for a very literary version of Herding Code to find out.
    • We start with a listener question from @tpdorsey (Terrence Dorsey): "*Printed* books? If so, why bother? I ask this as a print writer and editor for 17 of last 20 years."
    • There's a discussion of the value that the editorial process adds to books as compared to blog posts.
    • Twitter question from @schwarty: "Best way to work a first time deal? Submit queries? Try to team up with co-writers?" Phil, Brad, Jon, K. Scott, and Jesse tell stories about how they got their first book deals.
    • Phil notes that most authors get a start in other mediums - blogs, magazines, possibly StackOverflow in the future.
    • Jesse talks about his investigation of self-publishing. In the end, he decided that the editorial process tipped the scales towards working with a publishing company.
    • Jon references Twitter questions from @devhammer and @jglozano on dealing with procrastination, making time to write, etc. He points to positive pressure of working for a publisher under a schedule and a contract to get the book out the door. Brad talks about how peer pressure from other authors to keep up is also helpful.
    • There's discussion about the challenge writing up an outline before starting the book. Phil talks about how the publishing industry in general is pretty stuck on older technologies like FTP, and in general the process feels like waterfall software development.
    • Jesse says that if you're reasonably on schedule, publishers are pretty flexible about changes to the outline.
    • Brad answers listener questions from @stevenproctor "Have you found e-readers coming into their own to influence how you think about book?" and "has it changed how you think about layout/presentation for cross format reading" saying that it was difficult to write without seeing what the end result would look like, but he was very happy when he saw the end result, both in print and the e-book format.
    • Jon talks about how working with book templates from various publishers has taught him to appreciate the use of styles in Word, explaining a case where he was able to search for code snippets based on the styles that were used.
    • Kevin asks some interesting questions about whether working on the book puts pressures on when to ship the product, and whether writing a book about a product points out features that should be changed. Brad explains that the king of product changes due to writing (blogging in this case) is Scott Guthrie.
    • Phil talks about how Eilon (the technical reviewer) was good at keeping him from digging too far into minute details that nobody would care about. Jon explains that Eilon pointed out that the Controllers chapter was going way into the weeds before actually showing the most common use case, and Brad says that he's in good company with an example from Charles Petzold's book on Windows programming.
    • Jon talks about the tricky chicken-and-egg situation with trying to explain the MVC pattern in depth, since an in-depth explanation of the Model, View, and Controller requires an in-depth understanding of the other components. Jon asks Jesse about how he handles that, and Jesse talks about the importance of having a model user and getting volunteer readers as you're writing.
    • Jon talks about the benefit of working with other authors. Brad talks about the this is more important with products with quick release cycles, and Phil compares book writing with software development techniques.
    • There's a discussion on ensuring a consistent voice in a book with more than one author.
    • Phil, Jon, and Brad discuss the conflict between beginner and advanced content. Are the experts who are asking for advanced content representative of most readers? Phil points out that writing advanced content is a lot more fun, but limits the audience. Can a book please everyone? Is there a way to include beginner and advanced content? Jesse describes some ways he handles this, and says that it's important to set expectations.
    • Jon talks about the decision to remove NerdDinner, referring instead to the MVC Music Store tutorial.
    • Jesse says that it's remarkable that books are still selling well, since they're competing with blogs, tutorials, videos, etc. He speculates that the main selling point for books now is in context: telling a story. Jon asks how he manages to do that.
    • Phil talks about the decision to put all the book's code samples in NuGet (triggering the Haacked NuGet Drinking Game clause).
    • Jesse talks about the mismatch between the publisher's requirements for a flow of completed chapters and the software developer's desire to refactor.
    • Jon asks K. Scott how writing magazine articles compares to writing for a book.
    • That's pretty much it.
    • Show Links:
      • Jesse Liberty (@jesseliberty)
      • Phil Haack (@haacked)
      • Brad Wilson (@bradwilson)
      • Professional ASP.NET MVC 3 on Amazon and at Wrox.com
      • Jesse's dozens of books on Amazon
      • Eilon Lipton
      • Download / Listen:

        Herding Code 118: On The Writing Technical Books (with Jesse Liberty, Phil Haack, and Brad Wilson)

        1 hr
      • Herding Code 118: Paul Betts on SassAndCoffee

        Episode 118

        This episode of Herding Code the guys talk to Paul Betts about SassAndCoffee, a NuGet package that adds runtime Sass and CoffeeScript compilation to ASP.NET.
        • Jon asks Paul about his role on the Office Labs team [Spoiler alert! Since this podcast, Paul has started a new job at GitHub!]
        • Jon asks Paul about why he got interested in Sass and Coffee for web development.
        • Jon asks Paul how an Office dev gets away with liking Ruby and Python.
        • Paul describes Sass (Syntactically Awesome Stylesheets), a meta-language for CSS that adds in variables, nested rules, inheritance, mixins, etc.
        • Paul explains how SassAndCoffee is designed to eliminate fiddling, so he's gone to great lengths to make the NuGet package just work without any setup.
        • Kevin points out that this is at run-time rather than at build. Paul talks about the advantages of run-time compilation (especially interactive CSS edit / refresh) as well as potential downsides (performance, potential for compilation errors). Scott K also mentions that it might be useful for CDN deployment and continuous integration.
        • Jon asks about the new package definition file the 1.0 release, and Paul explains how it tells Visual Studio that the .coffee files are to be included with the project build.
        • Paul explains how the CoffeeScript compiler works using an HttpHandler, Jurrassic, and V8. Jon asks if he'd looked at IronJS, and Paul describes why that didn't work for him.
        • Paul explains the hurdles he went through to get V8 running under an ASP.NET HttpHandler, since V8 assumes that it will always be accessed from a single threaded process.
        • Jon asks Paul about his use of uglify.js for Javascript optimization and compression.
        • Scott K asks about the ability to swap out other compilers, e.g. the Google Closure Compiler.
        • Paul talks about some of the commits he's had recently, including support for Nancy, better cache configuration and some useful refactoring. Jon and Paul discuss how some refactoring patches - especially blind Resharpering - are less than helpful.
        • The discussion shifts to how Paul got Sass working without requiring the user to have a local Ruby installation, including some crazy tricks with the DLR's platform resource library to embed a portion of the Ruby standard library as an embedded resource in the NuGet package via a virtual R: drive.
        • Jon asks if it's possible for others to reuse Paul's Ruby embedding technique in other applications.
        • Jon, K. Scott, and Paul discuss commenting policy, and Paul explains why he liberally commented certain sections of the code.
        • Paul mentions how the V8 integration falls back to Jurassic in case it can't run for some reason.
        • Kevin asks if Paul looked into creating native ports of Sass or CoffeeScript, and Paul explains why he decided to set up compilers for the original versions rather than port them.
        • Jon talks about how he'd looked at Zen Coding and mused about how to implement it in Visual Studio, deciding as Paul had that it's better
        • Twitter question from @elijahmanor about IDE support for Sass and CoffeeScript. Note: since the podcast, the Mindscape Web Workbench has made this available.
        • Scott K points out that the MVC 4 roadmap includes support for recipes, which should help with extending the IDE via NuGet.
        • Paul wraps up the nerdy internals of SassAndCoffee by explaining how he's handling loading the 32 and 64 bit versions of the V8 C++ CLI DLL depending on the user's CPU architecture.
        • Jon asks about what server-side hosting requirements are needed to run SassAndCoffee.
        • Kevin asks whether the V8 API was easy to work with, and Paul says no.
        • Jon mentions that he appreciated all the thanks that Paul had in the readme, and Paul talks about how great it feels to thank people.
        • Jon asks what's next for SassAndCoffee, and Paul says he wants to add Compass.
        • Jon (jokingly) mentions that he's a fan of BrainScript and asks for support.
        • Paul and Jon discuss some of the nuttier esoteric languages they've seen.
        • Jon asks what else Paul's up to; Paul talks about the Reactive Extensions book he's working on with Jesse Liberty. Jon asks Paul a bit about what's new and interesting with Reactive Extensions.
        • Jon asks Paul about the interaction between Reactive Extensions and Interactive Extensions, and Paul explains by way of a Reactive Extensions history lesson.
        • There's a discussion on the (intentional) lack of a ForEach operator in LINQ
        • K Scott tells his terrifying story from NDC in which Eric Lippert was sitting in his talk.
        • Scott K asks about Reactive UI, another of Paul's projects, an MVVM framework which leverages Reactive Extensions.
        • Show Links:
          • SassAndCoffee git repo, NuGet package
          • Paul Betts (@xpaulbettsx)
          • Sass
          • CoffeeScript
          • IronJS
          • Jurassic
          • V8 JavaScript Engine
          • UglifyJS
          • Google Closure Compiler
          • Zen Coding
          • Mindscape Web Workbench
          • ASP.NET MVC 4 Roadmap
          • Compass
          • Silly language things on Esolangs.org
            • BrainScript
            • Shakespere
            • COMEFROM
            • TwoDucks
            • Programming Reactive Extensions and LINQ by Paul Betts and Jesse Liberty
            • Reactive Extensions
            • Eric Lippert's post: "foreach" vs. "ForEach"
            • ReactiveUI
            • You Are Not So Smart - The Sunk Cost Fallacy
            • Download / Listen:

              Herding Code 118: Paul Betts on SassAndCoffee

              1 hr 19 min
            • Herding Code 117: Llewellyn Falco on Approval Tests

              Episode 117

              This episode of Herding Code the guys talk to Llewellyn Falco about Acceptance Tests, an interesting testing framework for .NET, Java, Ruby, and PHP.
              • Jon talks about how much he enjoyed Llewellyn’s talk on refactoring legacy code at So Cal Code Camp, and was especially intrigued by Approval Tests.
              • Llewellyn explains how Approval Tests got started at a weekly coding for gun group.
              • Llewellyn explains at a high level the problem that Approval Tests solves.
              • Jon talks about what he noticed when he tried using approval tests – it’s not really so much about writing tests as in verifying output. Llewellyn how testing at the output verification level avoids many of the pitfalls of traditional unit testing.
              • Jon asks about the use of diff tools in Approval Tests.
              • Jon talks about the general flow of development using Approval Tests.
              • Llewellyn mentions that Approval Tests has native implementations for .NET, Java, Ruby, and PHP.
              • Jon asks about how the approved filetypes are set, and Llewellyn explains the overrides in Approvals.Approve().
              • Llewellyn talks about how Approvals makes it easy to test complex objects.
              • Llewellyn talks about how Approval Tests often only requires one test. Jon and K Scott ask about how that meshes with general testing practices which push towards very granular tests, and Llewellyn explains that he gets that granularity in the test coverage and results, but has the benefit of context in the test output as well.
              • Jon asks about how output verification works with ASP.NET and ASP.NET MVC.
              • Llewellyn explains how the use of Approval Tests combinations rules can make it really test output based on multiple input combinations.
              • Llewellyn talks about how he especially likes using Approval Tests with legacy code , since it’s relatively easy to get good, working test coverage based on output rather than having to gain a deep understanding the internals of the legacy code . Jon and Llewellyn swap war stories about legacy code .
              • Jon asks if he should be obsessing about a bunch of extra files with the approved results hanging around. Because he is.
              • Jon asks about controlling file output; Llewellyn describes how namers, reporters, and writers provide flexibility.
              • Llewellyn mentions the Rx Koans he worked on and says that Approval Tests Koans are on the way soon.
              • Jon says that TDD has trained him to write tests that verify response to failure conditions.
              • Jon asks if Approval Tests will be available for JavaScript.
              • Jon asks what’s in the works for Approval Tests. Llewellyn talks about RDLC support and enhancements to the Visual Studio plugin.
              • Jon asks what code coverage information Approval Tests can provide.
              • Jon asks Llewellyn about how he get involved in Teaching Kids Programming.
              • There’s a discussion about why it’s important to introduce computer programming to high school aged girls with a great analogy from Malcolm Gladwell’s Outliers book on the impact of birth month on competitive hockey players.
              • Llewellyn explains how the program works, and Jon mentions the prior show with Sara J Chipps ( Herding Code 90) about Girl Develop It.
              • Jon asks Llewellyn about upcoming speaking engagements
              • Show Links:
                • Approval Tests project site
                • Llewellyn Falco (blog, @isidore_us)
                • Approval Tests blog
                • Teaching Kids Programming
                • Agile 2011
                • Download / Listen:

                  Herding Code 117: Llewellyn Falcon on Approval Tests

                  1 hr 10 min
                • Herding Code 116: Eric Lawrence on Fiddler, IE Internals, and HTTP

                  Episode 116

                  This episode of Herding Code the guys talk to Eric Lawrence, the author of the popular Fiddler web debugging proxy. Eric's also a member of the Internet Explorer team and developer of several popular freeware tools.

                  • Eric explains how he's been working on - and now runs - the team that works on the networking components for Internet Explorer.
                  • Kevin asks Eric to clarify what portions of IE he works on. Eric explains that he's on fundamentals, which includes things like networking and security, not rendering or the DOM.
                  • Jon asks Eric about his development focus. Eric says that his main focus is on C#.
                  • Jon references an interesting bit of Eric's MIX talk about Fiddler - Fiddler is an HTTP proxy, so it works with all browsers and devices.
                  • Scott mentions that he's used Fiddler for low-level network debugging. Eric talks about the broad range of Fiddler users.
                  • Eric mentions that Fiddler's used for security testing, and there's a discussion of fuzz testing. Eric describes "dumb fuzzing" and "smart fuzzing".
                  • Jon asks how Fiddler is used with mobile devices.
                  • Jon asks Eric if he's taking advantage of any "internal" info or API's as a member of the IE team.
                  • Jon talks about how the plugin system has really paid off for Fiddler over the years. Eric talks about how he's supported both a Javascript and a reflection based .NET plugin system.
                  • Eric mentions how he's tested a "pure .NET 4" version of Fiddler, and talks about the Fiddler itself runs on Fiddler Core, which is really close to running on the .NET client profile.
                  • Jon asks Eric about some of the interesting things he's heard built on top of Fiddler Core. Eric mentions some testing extensions, ELMAH use, and FiddlerCap.
                  • Jon asks what IE9 features Eric is taking advantage of. Eric talks about IE9's support for the X-Download-Initiator header, which allows tracing why a resource was requested.
                  • Eric talks about Fiddler now proxies Cassini traffic for ASP.NET developers, and Jon mentions how he saw from internal bug reports that Eric was driving ASP.NET debugging issues with pre-release versions of IE9.
                  • Eric mentions that the issue with IE9 betas and Cassini was due to IPv6, and since the podcast was recorded on IPv6 day, the conversation shifts over to a discussion of IPv6.
                  • Jon asks Eric about IPv6 use in the real world, and Scott K asks about issues with SSL over IPv6.
                  • Jon asks about IE's and Fiddler's support for HTTP verbs beyond GET and POST. Eric talks about how he had to drop some strict enforcement of protocols for non-standard verbs since actual usage often didn't follow the specs.
                  • Jon asks Eric about the 100 Continue response. Eric explains why it's there, and how he handles it in Fiddler, and how IE handles it.
                  • Jon asks about the Accept header, asking Eric's opinions on its use and how IE9 handles it. Eric explains how he doesn't think Accept really works, because proxies and servers don't correctly handle them.
                  • Scott K asks about the advantages of being able to analyze aggregate HTTP traffic for a large organization like Microsoft. Eric explains that there's not really a lot of opportunity for IE, but he does get advanced notice on Fiddler issues from internal Microsoft use against pre-released software.
                  • Kevin asks about the "Fiddler has detected a protocol violation" error. Eric explains that it's helpful in debugging issues which browsers will attempt to hide due to being very liberal and forgiving with respect to protocol violations.
                  • Eric explains that there was an HTTP 0.9 version which didn't have HTTP headers, and talks about how his awareness of protocol violations on major websites came in handy. He mentions that he's thought about an HTTP-Lint module, which would be a lot more strict with respect to protocol violations.
                  • Question from Twitter - James Schmidt - "Will we see Fiddler features move over to IE Dev tools?
                  • Jon asks about the common import / export format that IE F12 dev tools and Fiddler share... kind of.
                  • Question from Twitter - Luke Foust - Hear about developing a side project inside Microsoft.
                  • Jon asks Eric about some of his other freeware applications, including SlickRun and a popup blocker (big in Brazil!).
                  • One of Eric's freeware applications was a utility to tweak the number of simultaneous downloads IE would use, which prompts Jon to ask about how simultaneous browser connections have evolved over the years.
                  • Question Jarrod Dixon - "Possible to open source SlickRun? I use it a lot and would like to add some features?"
                  • Kevin asks if Eric would consider open sourcing Fiddler at some point.
                  • Eric wraps up with a description of what's in the works for Fiddler. Kevin asks for auto-update.

                  Show Links:

                  • Eric's IE Internals blog
                  • @ericlaw on Twitter
                  • Fiddler (Web Debugging Proxy) website
                  • Fiddler blog
                  • The Devil Went Down to HTTP: Debugging with Fiddler (MIX11)
                  • MIX11 release notes for Fiddler
                  • Post: Fiddler is better with Internet Explorer 9
                  • IE and the Accept Header
                  • IE9 Standards Mode Accepts only text/css for stylesheets (HTTP 406 post Eric mentioned)
                  • Some of Eric's freeware at Bayden Systems
                  • SlickRun
                  • Producing Open Source Software (book)

                  Download / Listen:

                  Herding Code 116: Eric Lawrence on Fiddler, IE Internals, and HTTP

                  1 hr 30 min
                • Herding Code 115: RESTravaganza with Darrel Miller, Glenn Block, and John Sheehan

                  Episode 115

                  This episode of Herding Code the guys talk REST with Glenn Block (who's driving the WCF Web APIs), Darrel Miller (a REST expert with a lot of real world production experience), and John Sheehan (author of RestSharp) about what REST really is and what practical value it really offers in real world, production applications.

                  • Jon asks Glenn for a quick overview of how WCF Web API fits in with REST.
                  • Darrel talks about how he got into REST in support of desktop systems.
                  • John asks Darrel about how HttpListener is working for him.
                  • K. Scott asks Darrel why he's doing all the work to plumb RESTful services rather than just going with something like SOAP.
                  • Glenn asks Darrel how his RESTful services are more "evolvable" than previous technologies he's used.
                  • Jon asks Darrel what REST means to him. Darrel says it means that there are just two things that the client and server couple on: media types and link relations.
                  • John says that very few people he interviews describe REST as how Darrel just did. Glenn talks about how his understanding of REST evolved when he more closely studied Roy Fielding's original dissertation.
                  • Question from Twitter (@stevenproctor - Steven Proctor): "Do nice http paths really make an architecture RESTful? Wasn't there something about next available commands too?" Glenn and Darrel talk about how this is the fundamental concept of hypermedia.
                  • Jon ignites a firestorm by asking why people who care about REST dislike how OData is implemented. Chaos ensues.
                  • Darrel explains how OData's format doesn't match with some important RESTful principles like link relations and metadata discoverability.
                  • Glenn points out that OData is an API that takes a constrained view of of HTTP, which offers a tradeoff which many developers find beneficial.
                  • Scott K asks the guests how many non-demo OData feeds are actually available.
                  • Scott K asks why not just use JSON instead of OData, and Glenn explains how the important difference is around metadata - JSON is just untyped data.
                  • Darrel talks about the concept of serendipitous reuse, and how common media types offer better reuse than untyped JSON data.
                  • John asks if anyone is actually putting the client re-use case into practice in the real world, and Darrel plugs the REST Fest. Glenn points out that just having multiple versions of a client working against a spec is a significant advantage, talking about HTTP 1.0 and HTTP 1.1 as an example.
                  • Jon asks  if a microformat approach could work, and eventually an RDF discussion breaks out.
                  • Glenn talks about how many people view REST by mapping HTTP verbs to CRUD (create, read, update, delete) operations, and they're missing the importance of linking and hypermedia.
                  • Kevin asks where people "lose the path" with REST, and what are the most important concepts to stick with. Darrel comes back to the hypermedia constraint as the most important concept that's commonly missed.
                  • Glenn points out that your architecture is up to you, and you don't have to follow RESTful principles, but there's a problem if you don't and claim your API is RESTful when it isn't.
                  • John points out that there are few examples of RESTful systems really paying off in practice. Glenn and Darrel point to Jon Moore's Oredev talk about real business value to Comcast, and Jon mentions Glenn Block's MIX presentation about device support based on content negotiation.
                  • Glenn explains that opportunities are emerging as we're moving beyond the browser, and he sees a lot of opportunity for WCF Web API's to shine here.
                  • Darrel describes another example of how a RESTful API could guide a common user experience across platforms, using Twitter as an example.
                  • Kevin asks for public examples of good RESTful API's. Darrel mentions Sun's cloud API and SteamCannon; Glenn says that ATOM PUB is the best public example.
                  • K. Scott asks about building RESTful clients.
                  • Kevin asks about the practicalities of clients navigating hypermedia.
                  • Question from Twitter (@kellabyte - Kelly Sommers): "I'm curious how REST might fit with an application that is wanting to store events and event sourcing. Is REST common for this?"
                  • Question from Twitter (@gsogol - Jeff Sogolov): "How about Rest in the enterprise? Securing Rest services with Saml or oAuth? Also impersonation."
                  • Jon mentions how WS-* defined methods for securing portions of message for different access and asks if REST handles that kind of scenario. Scott K, Glenn, and Darrel discuss.
                  • The show wraps up with a discussion selecting architectural styles based on concrete benefits.
                  • Darrel pimps REST Fest 2011, August 18 - 20.
                  • John mentions his upcoming talk at DevLink on August 17, and Monospace July 23-25.
                  • Glenn mentions the Portland Code Camp and //build/.

                  Show Links:

                  • Glenn Block (MSDN blog, CodeBetter blog, @gblock)
                  • John Sheehan (blog, @johnsheehan)
                  • Darrel Miller (blog, @darrel_miller)
                  • http://wcf.codeplex.com
                  • http://restsharp.org/
                  • Roy Fielding's dissertation on REST
                  • http://microformats.org/
                  • ALPS http://amundsen.com/hypermedia/profiles/
                  • RDF (Resource Description Format)
                  • Jon Moore's talk at Oredev 2010: Hypermedia APIs
                  • Sun Cloud API
                  • SteamCannon
                  • REST Fest 2011
                  • DevLink
                  • Monospace
                  • BUILD conference
                  • http://www.odata.org/producers

                  Download / Listen:

                  Herding Code 115: RESTravaganza with Darrel Miller, Glenn Block, and John Sheehan

                  1 hr 10 min
                • Herding Code 114: Trevor Burnham on CoffeeScript

                  Episode 114

                  This episode of Herding Code the guys talk to Trevor Burnham about Coffeescript, "a little language that compiles into JavaScript."
                  • Kevin asks Trevor to explain what CoffeeScript is. Trevor explains how CoffeeScript helps you to write the same code you would have in JavaScript, but more quickly and with less effort.
                  • Kevin ask if people like CoffeeScript because they hate Javascript. Trevor talks about the strong reactions people had to the addition of CoffeeScript support for Rails, and how CoffeeScript is not a dumbed down Javascript, it's really just a cleaner syntax for exposing the functional power in the that underlies Javascript.
                  • Scott K talks about the time and political pressures that shaped Javascript, in some ways hiding a powerful language behind a mandated Java-like syntax.
                  • Kevin asks about the language inspirations behind CoffeeScript. Trevor talks about how it's drawn inspiration from Ruby, Python, Haskell, and Erlang.
                  • Jon asks about how CoffeeScript support is technically added to Rails - where is the compilation happening? Trevor explains  how the coffee-script and execjs gems select the Javascript runtime.
                  • Jon asks a question from Twitter by @darrencauthon about using CoffeeScript on Windows and .NET.
                  • Scott K asks about other languages that compile down to Javascript, and what will happen when Javascript as a language. Trevor talks about Objective-J and Traceur.
                  • Kevin asks about how you can debug CoffeeScript code.
                  • Jon talks about the Try CoffeeScript interactive compiler on the CoffeeScript.org site and asks resources for learning more about CoffeeScript.
                  • Scott K asks if CoffeeScript leverages more advanced Javascript features if they're available, and if there are language facilities for extending the language. Trevor talks about how CoffeeScript is just Javascript, so you can leverage the extensibility features that are already available in Javascript.
                  • Kevin drops back to asking some basics: why is CoffeeScript so special? What's with the new function syntax?
                  • Jon talks about how nice it is to just delete parentheses, braces, and semicolons. Trevor talks about how in general CoffeeScript code is 2/3 as verbose as the equivalent Javascript code.
                  • K Scott asks about how CoffeeScript simplifies scope issues, and Trevor talks about how CoffeeScript is very opinionated about scoping.
                  • Scott K asks about type coercion. Trevor mentions the wtfjs.com site, talking about how Javascript's type coercion can be surprising at times.
                  • Scott K asks about how DOM manipulation is handled. Trever explains that CoffeeScript works great with jQuery, and any other Javascript library available.
                  • Jon asks if it's possible to do CoffeeScript compilation in the browser, and asks if that's possible / practical for standard applications.
                  • Jon mentions the SassAndCoffee project for .NET.
                  • Jon asks if there are any Javascript to CoffeeScript converters. Trevor says he doubts there will ever be a good one, but after the show sent Jon a link to js2coffee (link below).
                  • Scott K asks about JSLint support. Trevor talks about how CoffeeScript works with JavaScript Lint.
                  • Kevin asks if CoffeeScript has been used as a DSL, and Trevor mentions CoffeeKup.
                  • Jon asks what happens if CoffeeScript hits a compiler error.
                  • Kevin asks about split between front-end vs. back-end use for CoffeeScript.
                  • Jon some a question from Christopher Deutsch (@cdeutsch) about how to sell CoffeeScript to a team - is this today's flavor, tomorrow's legacy headache?
                  • Kevin talks about how he likes the => function, and Jon mentions how he likes the @ operator as well.
                  • Kevin asks about the object orientation features in CoffeeScript, and Trevor mentions how the class keyword is used.
                  • Jon says the he sees a lot of similarity between CoffeeScript and SASS. Trevor talks about how both reduce repetitions.
                  • Jon asks if jQuery could take advantage of CoffeeScript.
                  • Trevor mentions how you can buy his book and mentions a recent article he published in PragPub.
                  • Trevor's upcoming talks: O'Reilly Web 2.0 Expo in NYC in October and Oredev in Sweden in November.
                  • Show Links:
                    • Trevor Burnham (Site, @coffeescript, @trevorburnham)
                    • CoffeeScript site
                    • Hacker News: Rails 3.1 shipping with CoffeeScript
                    • StackOverflow: CoffeeScript on Windows
                    • StackOverflow: How can I compile CoffeeScript from .NET?
                    • Objective-J
                    • Traceur
                    • GWT (Google Web Toolkit)
                    • The CoffeeScript Wiki
                    • List of languages that compile to JS
                    • RailsCast: CoffeeScript Basics
                    • PeepCode: Meet CoffeeScript
                    • Trevor's book: CoffeeScript: Accelerated JavaScript Development (Amazon, direct from PragProg)
                    • wftjs.com
                    • js2coffee (Javascript to CoffeeScript compiler)
                    • MiddleMan.rb - Middleman is a static site renderer that provides all the conveniences of a modern web stack, like Ruby on Rails, while remaining focused on building the fastest, most-professional sites possible
                    • SassAndCoffee: project, NuGet
                    • JavaScript Lint
                    • CoffeeKup
                    • Sass
                    • PragPub: A CoffeeScript Intervention
                    • O'Reilly Web 2.0 Expo in NYC in October
                    • Oredev in Sweden in November
                    • Download / Listen:
                      Herding Code 114: Trevor Burnham on CoffeeScript
                      52 min
                    • Herding Code 113: Mark Russinovich on Zero Day and Computer Security

                      Episode 113

                      This episode of Herding Code the guys talk to Mark Russinovich about his new book (Zero Day), modern malware like Stuxnet, his experiences discovering the Sony rootkit, Sysinternals tools, and computer security in general.

                      • K Scott asks Mark about how he decided to write Zero Day. Mark talks about how early, unsophisticated viruses still caused a lot of damage, and it got him thinking about what a virus attack motivated by a terrorist agenda could achieve.
                      • K Scott talks about the shift to financial motivation in malware, and Mark mentions the book Zero Day Threat which discusses financially motivated malware.
                      • Kevin asks Mark about his motivation for writing fiction in general, and how big a shift it was from technical writing.
                      • K Scott talks about how he read the book while travelling, and how it did a pretty good job of terrifying him.
                      • Mark mentions how the Stuxnet virus validated some of the scenarios he'd been using in the book, how sophisticated Stuxnet is, and how that level of sophistication in malware authoring is available for hire, cheaply.
                      • Scott K asks about the threat that malware like Stuxnet could come back on the entity that released it, and Mark mentions that collateral damage is definitely a factor, but that the Stuxnet authors were apparently unconcerned by it.
                      • We take a question from listener @mattd78: "what does mark think of Linux and has he ever analyzed the source code to compare it to windows"
                      • Scott K asks how the malware targets have changed with the explosion of mobile devices.
                      • K Scott asks Mark about how he uses Sysinternals tools when studying malware.
                      • Jon asks about how live.sysinternals.com works to allow running the tools without an explicit download / install step.
                      • Jon asks Mark whether he does all his testing in virtual machines or uses physical test machines.
                      • K Scott asks Mark about Rootkit Revealer - how it got started, and how Mark discovered the Sony rootkit. Mark tells an interesting story about a cat and mouse game he was engaged with against a rootkit writer who went by the name of Holy Father, who kept coming up with ways to hide from Rootkit Revealer.
                      • Mark talks about the interview he did on NPR about the Sony rootkit fiasco.
                      • Kevin thanks Mark, on the behalf of Windows developers everywhere, for the Sysinternals tools. When Kevin tells Mark that they've saved his butt over and over, Mark says he's heard that feedback so many times that they used "save your butt" on advertising over the years.
                      • Kevin asks Mark if working at Microsoft has made things easier. Mark says not so much - it's often quicker for him to disassemble and use dynamic analysis than to look at the source code.
                      • Jon asks if Mark has any security feedback for .NET developers. Mark says that if you're purely in managed code, you need to focus on logic problems like SQL injection.
                      • K Scott asks if Mark has anything he'd like to promote, and Mark talks about the upcoming book Windows Sysinternals Administrator's Reference.
                      • Jon asks Mark what's the point of running antivirus software if it's not going to be 100% effective.
                      • Kevin asks Mark if he's working on a sequel to Zero Day. He is!

                      Show Links:

                      • Mark Russinovich (blog, @markrussinovich, wikipedia)
                      • Zero Day
                      • Sysinternals
                      • Zero Day Threat (book)
                      • The Andromeda Strain (book)
                      • Stuxnet
                      • Mark's series on Stuxnet
                      • Half-Life 2 source code leak
                      • Cyber War: The Next Threat to National Security and What to Do About It (book)
                      • Rootkit battle: Rootkit Revealer vs. Hacker Defender
                      • Windows Sysinternals Administrator's Reference (book)
                      • The Antispyware Conspiracy

                      Download / Listen:

                      Herding Code 113: Mark Russinovich on Zero Day and Computer Security

                      45 min
                    • Herding Code 112: Josh Arnold and Jeremy Miller on FubuMVC

                      Episode 112

                      This episode of Herding Code the guys talk to Josh Arnold and Jeremy Miller about what's new with FubuMVC.

                      • Jeremy Miller explains why FubuMVC "deserves to exist" and explains how compositional architecture and conventions help in building complex systems.
                      • Josh talks about how FubuMVC diagnostics help in understanding how the conventions are being applied how FubuMVC is working.
                      • Jon asks about how behavior chains work, and how they relate to routes. Jeremy and Josh explain how behaviors work and how they allow you to extend policies and conventions when you need to.
                      • Jon asks how routes work, and Jeremy explains how they can be configured at a few different levels.
                      • Jeremy talks about how FubuMVC is built to leverage static features in .NET through strong typing and leveraging the type system as much as is possible.
                      • Josh and Jeremy talk about the advanced diagnostics which have recently been added to FubuMVC.
                      • Jon asks how FubuMVC diagnostics compare to Glimpse.
                      • Jeremy talks about the new packaging system, and how it can be used to apply complex and extensive changes just by dropping them into your application.
                      • Scott K asks how the new packaging system relates to NuGet and OpenWrap, and Jeremy explains how the two are complimentary.
                      • Jeremy and Josh talk about how their complex requirements in their active projects have driven FubuMVC's features.
                      • There's a discussion of view engines - what's supported, what they're currently using in their projects.
                      • Jeremy talks about how FubuMVC uses HTML conventions, how HtmlTags work, and how you can use jQuery-like chaining to reuse conventions.
                      • Jeremy talks about how authorization works with the behavior chains. Scott K asks if this can be applied at the action level rather than at the UI level, and Jeremy explains the endpoint service.
                      • We wrap up with a mention of Pablo's Fiesta, this Sept 30 - Oct 2 in Austin, TX.

                      Show Links:

                      • Jeremy Miller (blog, @jeremydmiller)
                      • Joshua Arnold (blog, @jmarnold)
                      • FubuMVC on github
                      • FubuMVC guides
                      • FubuMVC on NuGet
                      • Pablo's Fiesta

                      Download / Listen:

                      Herding Code 112: Josh Arnold and Jeremy Miller on FubuMVC

                      57 min

                    About Herding Code

                    From the publisher's feed

                    A technology podcast with Jon Galloway, Scott Allen, Kevin Dente, Scott Koon