Herding Code 112: Josh Arnold and Jeremy Miller on FubuMVC

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:

Download / Listen:

Herding Code 112: Josh Arnold and Jeremy Miller on FubuMVC

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0112-Josh-Arnold-and-Jeremy-Miller-on-FubuMVC.mp3]

Herding Code 111: John Papa on the Open Source Fest at MIX11

This episode of Herding Code the guys talk to John Papa about the Open Source Fest he put together at MIX11.

  • Jon asks how the whole thing got started, and if John encountered any friction within Microsoft in getting this set up.
  • John describes the event and calls out some of the winners from the event.
  • There’s a discussion of the Glimpse project. Scott asks what it is, and Jon tries to give the sales pitch for it.
  • John talks about how many of these really cool project are hampered by marketing mistakes like poor project pages and unmemorable project names.
  • John mentions some of the areas for improvement – less background noise, bigger space. Some of that was due to overwhelming response – stopped counting at 500 attendees, ran out of food 3 times, etc.
  • Scott asks if a next step should be an open source conference for .NET. Jon mentions that there are some benefits to piggybacking with a "real" conference so the bosses will pay for us to go.
  • Scott asks if there’s any point to having sessions at a conference, since the real value at the conferences is in the networking and conversation. There’s a discussion about how an open space is cool, but something of this scale isn’t likely to self-organize.
  • Scott talks about how the ALT.NET Seattle event in Seattle is including open source hacking, proposing that larger conferences do this as well.
  • John mentions the Twitter list he’s created for all Open Source Fest participants.
  • We take a question from Tony Champion, asking what John would do differently in future events.
  • John and Jon discuss the difference between consuming and participating in a conference.
  • John pimps the Silverlight MIXer event he runs at MIX.
  • Jon asks if there should be venture capital folks at future open source fests. John said said that it was important to keep clear of any ulterior motives at this first event, but it’s possible that may happen in the future.
  • John and Jon talk about the difference between "official" events and sponsorship driven events.

Show Links:

Download / Listen:

Herding Code 11: John Papa on the Open Source Fest at MIX11

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0111-John-Papa-on-Open-Source-Fest.mp3]

Herding Code 110: Geoff Dalgas and Jarrod Dixon take us behind the scenes at StackExchange

This episode of Herding Code Kevin and Jon sit down with Geoff and Jarrod at MIX to talk about their experiences from helping to build the first StackOverflow site up through today’s fast paced world of StackExchanges and gold plated Lamborghinis.

Note: We recorded in quietest spot we could find – there’s some background noise, but it’s worth it.

  • Geoff and Jarrod talk about their past job experiences, including building (gasp) 911 software with Visual Basic 6.
  • Jon asks how things worked at the beginning – did people work on separate areas? Was there a plan?
  • How do you share data when developing with a remote team? Geoff talks about how they started with the Database Project type, but moved to SQL scripts, ending with a migration tool. Jon gets to say “idempotent”.
  • Geoff and Jarrod talk about how they’ve moved form Subversion to Mercurial.
  • Jon asks how code moves from local development to a production server. Geoff talks about the build and deployment process.
  • Kevin asks how much the process has changed over the years.
  • Geoff talks about how features first hit Meta, then the “others” tier (everything but StackOverflow), then to StackOverflow.
  • We talk about how they’re using Redis, including the newly open sourced redis-sharp library, and some of the tricks that are used to keep the cache performant, including gzipping cached data.
  • We talk about how they do performance tuning, how costly queries are tracked, etc.
  • Geoff talks about how search was moved from SQL Server Full Text indexing to Lucene.NET in order to move the load off the database server.
  • Jon asks about how they’ve integrated the ASP.NET stack with open source front-end and utility software.
  • Jon asks how the the IT and collaboration works with the growing distributed team.
  • Jon asks how bugs are tracked, and the talk about how they use the Meta sites for tracking issues. Jon is sold on the concept and asks if he can install a local instance of Meta for his own bug tracking concepts, but the guys just laugh at him.
  • Jon asks for more specific on the performance monitoring systems the team uses, and Geoff gives him the rundown.
  • Jon asks how things have changed as the team has grown and buckets of funding money keep rolling in.
  • Geoff explains how they handle multi-tenancy, now that they’re hosting lots of sites. Jon is amazed to hear that it’s just one big application which switches data structures and display based on the url.
  • Geoff mentions that they’re using Less to keep the CSS sane.
  • Kevin asks how much work is involved in spinning up a new site. Geoff explains the tool they’ve got set up to generate the scripts to add a new StackExchange site.
  • Jon asks about MVC 3 is working for them. They like the Razor.
  • Jon asks what annoys them most about ASP.NET MVC. After some thought, they lament that the routes are defined separately from the actions, but mostly it’s just a lot of love for MVC.

Show Links:

Download / Listen:

Herding Code 110: Geoff Dalgas and Jarrod Dixon take us behind the scenes at StackExchange

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0110-Geoff-Dalgas-and-Jarrod-Dixon-on-StackExchange.mp3]

Herding Code 109: Harmony Hackathon

This episode of Herding Code the guys talk to the organizers of the Harmony Hackathon: twelve developers coding madly for 48 hours, trying to build an application for the non-profit Harmony Hill cancer retreat center.

  • Eric talks about the Harmony Hackathon came together and what they were trying to accomplis.
  • Jon asks about how things were coordinated. The guys talk about how they managed the "organized chaos" of throwing a lot of developers in a room for 48 hours.
  • Scott K asks how a group of alpha geeks got past selecting an IoC container in a weekend, let alone write some code.
  • Jon asks for a rundown on the dependencies (Fluent NHibernate, Fluent Migrator, ASP.NET MVC 3, and some testing tools).
  • Hooray for build servers!
  • Discussion of machine.specifications and NUnit in order to test both high and low level code.
  • Scott K asks how much actually got done.
  • We talk to Vic to get the real scoop – sure the tech was cool, but did they build anything? How was it like to be the project owner with this kind of project?
  • Discussion of extremely short sprints – down to 30 minutes at the end! How do you handle Pomodoro length sprints?
  • We talk about Chewie, which adds some Bundler features to NuGet.
  • Scott K gets the rundown on psake (build automation in PowerShell) from Eric.
  • Scott K asks about what kind of interaction patterns they saw emerging.
  • Scott K asks about the future plans for this project.
  • Scott K asks why ALT.NET people would want to do something nice, and Jon mentions his mild surprise at the happy, friendly vibe he’d seen at the ALT.NET Seattle events he’s attended. There’s a discussion of the general spirit of the ALT.NET Seattle group.
  • Jon asks for lessons learned and recommendations for other people who want to put on a similar event.
  • Scott K asks about friction points with the tools the team selected.
  • Razor was one of the new things that none of the developers had used before. Jon remarks that learning Razor was kind of a non-event for him, and the guys agree.
  • Kevin asks about how the project lifecycle looks like when compressed to a 48 hour period.
  • Eric explains what Harmony Hill does, explaining why everyone was so motivated to help out. The guys talk about how it’s nice to go beyond talking about beautiful code and actually doing something.
  • Scott K asks if there were technological things the team would do differently in the future.
  • The Open Source Track at ALT.NET Seattle (May 5-8) is mentioned.
  • Coding alone? You must wear the Coding Solo Cowboy Hat of Shame.
  • Pimp your stuff time: Harmony Hill, ALT.NET 2011, Giles, Simple.Data
  • The guys ask Scott K when we’ll see the MVC generator thing he’s been working on.
  • Everyone loves Simple.Data.
  • Developers, developers, developers!
  • Woof, woof, woof!
  • Does anyone read these notes? I don’t think you do.

Show Links:

Download / Listen:

Herding Code 109: Harmony Hackathon

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0109-Harmony-Hackathon.mp3]

Herding Code 108: Jin Yang and Nathan Bowers on Web Design

This episode of Herding Code continues a discussion / argument that Jon started with Jin Yang and Nathan Bowers on Twitter a few weeks ago after reading a post he liked from a product designer at Quora about how they don’t use Photoshop in their design process. What’s the role of visual design in the web design process? Can designers and developers ever be friends? Are HTML and CSS the lingua franca of designers and developers, or just an implementation detail? Do designers need to know HTML to be good web designers? Listen as Jin and Nathan set Jon straight.

  • Jon tries to get Jin and Nathan upset, but they both start by agreeing
  • Nathan mentions that Photoshop is a production tool, not a design tool
  • Jin and Jon talk about the value of wireframes, and how the transition from wireframe
  • Nathan talks about how different clients have different demands – Quora can prototype rapidly for their own product, but some clients will require high quality graphic deliverables
  • Kevin asks developers and designers work together in HTML based design – who does the HTML?
  • Jon talks about how moving the discussion from images to a client accessible stage / demo server early in the project helps everyone communicate
  • Jon asks both which sorts of sites work better for HTML based design because they’re mostly textual
  • Jon asks Jin how he works on StackExchange proposals
  • Nathan talks about how the site focus dictates the design process, and how he’s mostly done with Photoshop
  • Kevin asks if there’s a place for a tool that’s somewhere between the purely visual Photoshop world and HTML: Nathan says it’d be nice, Jon says the generated HTML is always horrible, and Jin says that’s why he thinks designers need some HTML smarts
  • Nathan brings up Jon’s post on the Designer / Developer Workflow Crisis, and Jin talks about his post on Web Designers and Coding
  • The talk moves to a visual-first design focus can end up with a website that doesn’t provide the information the users actually want, and some favorite XKCD and The Oatmeal links are shared
  • Jin and Jon talk about how your clients aren’t really the end customers of your design, the users are
  • Nathan asks Jon about how he thinks the design / developer workflow should be
  • Nathan, Scott K, Jon, and Jin Jin talk about how developers can involved in the development process after the "design handoff"
  • Jin talks about how developers should be part of the design process, and Jon and Scott K talk about how important it is for the whole team to know the context of what they’re doing
  • Kevin mentions that his wife is a web designer who doesn’t do HTML, and every hastily backpedals
  • Jon and Jin talk about how the background reasons for wanting designers to know HTML can still be met by the designer knowing the constraints of the web medium really well
  • Kevin talks about how today’s Ajax heavy sites aren’t really just HTML anymore
  • Jon talks about how he hates the new trend towards single page applications
  • Kevin says that he thinks that saying designers should know HTML is like saying developers should know how to design, but Jin says that HTML isn’t programming, it’s the medium that both designers and developers are producing for
  • Jon says that he thinks developers should try to learn more design
  • Scott K asks how developers can learn design, and Jin and Nathan share tips
  • Jon mentions some great talks by Robby Ingebretsen on design fundamentals for developers
  • Kevin asks how much of design is just natural talent
  • Jon talks about how he likes design discussions among the whole dev team, and Nathan says that it’s important for the team to be able to communicate about the business and strategy for their project as well
  • Nathan talks about the book Mindfulness which shows how working through a lot of ideas helps you come up with great ideas
  • Jon talks about how a process that allows for continuous change throughout the project allows you to continue to shape the design as you go, and Scott K accuses him of being agile
  • Jon asks Jin how he interacts with a team who develops on Windows when he’s on a Mac, and they discuss how Firebug (and similar tools) allow for cross platform development
  • Jon asks what sites should be designed using Photoshop / visual design first
  • Jin asks Nathan about his thoughts on 960.gs, and Jon rants about how grid systems fight semantic design
  • Scott K talks about the Flex Box Model will make it easier to design with grids without giving up on semantic markup
  • Jin mentions HTML5 shims, but Scott K says that doesn’t work as well for mobile
  • Jin talks about how the real challenge in StackExchange design is in creating an emotional reaction, and Kevin says that’s the result he cares about a lot more than HTML

Show Links:

Jin’s link list for developers who want to learn more about design

Download / Listen:

Herding Code 108: Jin Yang and Nathan Bowers on Web Design

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0108-Jin-Yang-and-Nathan-Bowers-on-User-Experience-Design.mp3]