Herding Code 97: Jackson Harper on Manos de Mono

In this episode of Herding Code, the guys talk with Jackson Harper about Manos de Mono, his lightweight web application framework that runs on Mono. The goal of Manos is to simplify the entire process of creating, managing and updating a web application from prototyping and design to deployment.  Manos aims to be Simple, Testable, High Performance, Reusable and Flexible. Sounds kind of dreamy, right?  Listen in this week and find out how C# and Mono can be a viable option for web application development.

  • The show kicks off with Harper offering an overview of the Manos Web Application Framework. He notes his preference in using frameworks like Django over ASP.NET, his appreciation  for Mono and  C# and how these factors lent themselves to the creation of Manos.
  • Kevin asks what’s different and interesting about Manos compared to ASP.NET MVC.  Jackson speaks the philosophy of application development and digs into simplifying developer workflow. 
  • Kevin asks what Manos includes.  Harper lists off the simple routing, template engine and a non-blocking web server.  He also notes that Manos will support any ORM and configuration management is in the works.
  • The guys talk about the simple and flexible routing system and continue to conversation by digging into Manos’s html-centric templating engine. 
  • Jackson walks through the developer steps to get going with Manos and is quick to note that Manos is not geared to the Windows developer.  There will be Mac and Windows support but it is being build with Linux in mind.
  • Kevin and Jackson get into the core bits – what’s included from the .NET Framework and what’s custom built?  Harper calls out that he’s not referencing System.Web and his custom HTTP server is built on Tornado.
  • Jon asks about session management, authentication and security.  Jackson talks about how the wish to ease deployment drove much of the implementation and custom component decisions.
  • Jackson further explains his interest in creating his non-blocking web server and why it benefits such operations as long pulling.  This prompts Jon to asks if Manos is an alternative to learning Node.js.
  • Jackson talks about stealing users and pie.
  • Jackson talks about his strict No XML policy and how that will work into Manos’s configuration management faculties.
  • Kevin and Jackson explore model binding in ASP.NET MVC and Manos.
  • Jon summarize what Manos has to offer – lght-weight, more html-like view engine, the routing system is nice, non-threaded architecture and high-performance – and asks how Harper decides what gets into Manos?  Jackson explains the framework is more driven by need rather than trying to implement merely what other frameworks offer.
  • K Scott asks about the challenges of working with a static language, C#, in this space.  Jackson flips the question on its head and talks about the benefits.
  • K Scott and Jackson talk about open and close mustaches, type safety, anonymous types and Manos’s templating code.
  • Kevin asks about inspiration and Jackson reflects on how Manos came to be – starting with a focus on development flow to his need for a cleaner view engines to ease of deployment and then his interest in a non-blocking web server.
  • Jon asks about applications running on Manos and the long pulling niche.
  • Jackson talks about how .NET sets itself apart from other languages when it comes to parallelism and multi-core computing.   Jon and Jackson talk about how parallel extensions are used in Manos and how Manos could be used to manage tasks on the server with C#.
  • @zbowling asks about the C10K Problem and the ability to handle 10,000 connections at once.
  • Scott K and Jackson discuss how have your own HTTP stack makes development and deployment a lot easier.
  • The show wraps with talk of route definition management, Sinatra and Cooking for Geeks.

Show Links:

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 97: Jackson Harper on Manos

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0097-Jackson-Harper-on-Manos.mp3]

Herding Code 96: Eric Sink on Veracity and DVCS

This week on Herding Code, the guys talk with Eric Sink, cofounder of SourceGear, about Veracity and Distributed Version Control Systems. Listen in and learn about Veracity’s architecture including pluggable layers and a unique approach to data storage all built on an impressive technical stack. And get an answer to the question that everyone’s asking “Why does the world need another DVCS?” All this and more, this week on Herding Code.

  • Kevin wastes no time kicking the show off with THE question – “Why Veracity? Why another DVCS?” Eric talks DVCS and the future of source control, how Git and Mercurial are just getting us started and how there’s no distributed system which is good at solving problems of the enterprise.
  • So, what does Veracity offer that Git, Mercurial and Bazaar do not? Eric describes record, field and constraint-based (opposed to folder and file-based) version control and how if it fits nicely inside of Application Lifecycle Management (ALM).
  • Eric compares the Veracity data storage model with NoSQL and Berkeley DB. This prompts Jon to ask about where SQLite comes into play.
  • Eric digs into the pluggable storage layer, “Zing” and component layers for Scrum or wikis, for example.
  • Jon asks about the nightly snapshots (releases) and Eric runs us through the intentionally not-so-easy build process.
  • The conversation shifts back to differences between Veracity and a Git or Mercurial. The guys talk about branching models and rebasing.
  • Scott K asks about free source control hosting and the guys comment about the community and social networking aspect of Bitbucket and GitHub.
  • Kevin asks if there was ever thought of building ALM tools on top of Mercurial or Git. Eric talks about DVCS functionality, licensing and what the enterprise wants.
  • Eric explains Veracity’s open source license, which components will and will not be open sources and speaks to community patches.
  • Jon asks if the Veracity data layer could be used to support other applications and not just version control.
  • Scott K asks about dogfooding Veracity – when did SourceGear start versioning Veracity in Veracity?
  • Eric explains his choice to write Veracity in C. The guys talk about cross platform development and Scott K asks about extensions and wrappers.
  • Jon beats Scott K to the punch and asks why Node.js isn’t included in Veracity’s impressive technical stack.
  • Kevin asks about plans to develop a Visual Studio plugin or a version control tools like TortoiseSVN.
  • Eric answers a Twitter question from Andrew Tobin about migration support. Kevin ask if there will be a feature like GitSVN for Veracity.
  • Kevin asks Eric to explain the need for exclusive file locks. Eric explains this need for industries like Gaming which deal with a large amount of binary files.
  • Jon and Eric talk more about the enterprise and what’s important to them.
  • Jon talks more about Veracity’s stack and the use of (wait for it) SVG for Veracity burn down charts.
  • Scott K asks why SourceGear went with SpiderMonkey over Script Monkey or V8.
  • Jon talks about portability and asks if Mono has a place in Veracity development.
  • Jon and Eric talk about Scrum and the enterprise’s current interest in Agile. This topic rolls into talk of browsers.
  • Kevin asks if SoureGear has concern that Microsoft may someday enter the DVCS space.
  • Scott K wraps the show asking how Eric defines success for Veracity.

Show Links:

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 96: Eric Sink on Veracity and DVCS

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0096-Eric-Sink-on-Veracity-and-DVCS.mp3]

Herding Code 95: MonoDroid with Miguel and the Mono gang

Hey, it’s a bunch of Mono guys! That’s always fun. This time they’re talking about MonoDroid. Joining the gang this week are Miguel de Icaza, Joseph Hill, Geoff Norton, and Mike Kestner talk about developing .NET applications for the Android platform with Mono.

  • Jon asks about where MonoDroid is at in the product lifecycle.
  • Jon asks about the install experience, which currently requires installing a few dependencies to get set up. Miguel and Joseph clarify that it’s a pretty simple setup, and explain why it currently works that way.
  • We talk about the File / New Project experience, and how MonoDroid projects are structured.
  • Miguel describes the API flavor for MonoDroid, and how it follows the MonoTouch and GTK# approach of keeping pretty close to the underlying API’s and pipeline – e.g. accessing images as resources. Mike talks about how API is mapped to run on the .NET primitives and collections.
  • The guys talk about how software architectures vary across iPhone, Android, and Windows Phone 7. Miguel and Geoff talk about the difficulty in building real-world applications which are can share back-end code across platforms.
  • The talk shifts to nerdy details about how .NET code is being deployed to the Java-based Android platform and a discussion of  the performance impacts of crossing those boundaries.
  • Geoff and Mike talk about the challenges of integrating the different platforms.
  • Kevin asks about what MonoDroid brings to the Android platform, since the Java runtime is already kind of similar to .NET. Miguel talks about how they’ve seen even higher developers interest in MonoDroid than MonoTouch, and everyone speculates about why that might be.
  • Scott K asks about some of the challenges in implementing Mono on Android, and Mike digs into the differences in generics between .NET and Java.
  • K. Scott asks about the ability to wrap or extend the Mono.Android API’s.
  • Kevin asks about rather underlying services are exposed as native API’s or generalized API’s. Miguel explains why it’s necessary to expose at the native API level.
  • Kevin asks more about how code can be shared between MonoDroid and MonoTouch projects.
  • Jon asks about whether they’re looking at anything for Windows Phone 7. Miguel talks about the possibility of adding unsupported API’s, and Geoff talks about how this has been pretty popular on Windows XBox.
  • Greg Shackles asks a question via Twitter about how developers can get involved and contribute to both Mono and MonoDroid.
  • Geoff talks about the MonoMac project.
  • K. Scott asks if there’s still support for PowerPC in Mono.
  • Sara Chipps asks whether iPhone or Androids are more difficult to support. The surprising answer: neither!
  • Everyone talks about how people will actually buy apps on their phones, and the iCircuit app comes up as an example of a great MonoTouch app that’s making some money.
  • Kevin asks about the pricing for MonoDroid. The word is that it’ll be pretty similar to MonoTouch.
  • Miguel mentions Manos de Mono from Jackson Harper.
  • Scott K asks about plans for other phone platforms. Joseph says the plan is to go where developers go.

Show Links:

Download / Listen:

Herding Code 95: MonoDroid with Miguel and the Mono gang

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0095-MonoDroid-with-Miguel-de-Icaza-and-the-Mono-gang.mp3]

Herding Code 94: Silverlight and HTML5

Artwork by Adam Kinney

This week on Herding Code, the guys talk to Adam Kinney and Rick Barraza about how Silverlight fits into a world where HTML5 is finally becoming a reality.

  • Jon asks about Adam and Rick’s opinions on the recent post on the Silverlight Team Blog about the future of Silverlight
  • Adam talks about he sees consumer applications and games as great applications of Silverlight
  • Rick talks about how how some developers are resistant to change, then talks about the longterm evolution of the internet from information provider, to application provider, and finally to operating system
  • Adam and Rick talk about the Wired Article titled The Web Is Dead. Long Live The Internet.
  • The talk shifts Silverlight as an application platform, not just a web plugin
  • Jon asks how likely it is to be able to reuse Silverlight across web, phone, and out-of-browser applications
  • Rick talks about The Future of the Internet and How To Stop It
  • The talk shifts to discussion over how cross-platform HTML5 can be when it’s limited by things like video codecs and browser targeting
  • Scott Koon talks about how HTML5 is a loose collection of many different technologies
  • Scott Koon asks where the live Silverlight apps are – he just doesn’t see them in the wild
  • Adam and Rick talks about the advantages of developing in Silverlight vs. HTML5. Rick talks about the lack of tooling for HTML5
  • Kevin asks about the enterprise advantages of Silverlight development
  • The guys talk about the differences between canvas/bitmap graphics vs. SVG/vector graphics
  • Jon and Rick talk about the importance of having access to low level building blocks so you can build what you need
  • Scott K asks what’s left that Silverlight does that HTML5 doesn’t offer. Rick talks about the tooling, Adam talks about consistent cross-browser support.
  • Scott K asks about MVVM and whether Silverlight’s been taken over by architecture astronauts and propellerheads rather than the designers. Adam and Jon talk about how MVVM can make life easier for designers as well.
  • K Scott talks about his experiences with an enterprise Silverlight application
  • Rick talks about being a samurai rather than a swordsman – don’t be married to your tools
  • Rick says that the biggest advantage of Silverlight is that it’s a programming language which was designed for applications rather than HTML which was designed for documents
  • Scott K and Kevin ask whether Silverlight makes sense in public web applications
  • Jon asks Adam and Rick about what they’ve been building with HTML5 and what they like about that development experience
  • Rick and Adam talks about the changing environment and how the rich vs. reach question has changed

Show Links:

Download / Listen:

Herding Code 94: Silverlight and HTML5

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0094-Silverlight-and-HTML5.mp3]

Herding Code 93: Computer Errors, Home Media, and The Fall of The Roman Empire

This week on Herding Code, it’s story time. Have you ever fallen victim to a software glitch?  Are you frustrated by those green screens which are still running social security, the IRS and the DMV?  Ever dealt with a medical database? Or maybe you owned a Zune on December 31, 2008? If so, you’ll want to listen in on the guys sharing tales about how software has personally bitten them in the you-know-where (and by you-know-where I mean their asses.)

Warning: Rob Conery get pulled into this show and shares a funny story of his own.

Then stick around for an extended lightning round nerd out about home media.  The guys offer their opinions on the all-new (as of the day of the recording) Apple TV and then touch upon other home streaming options including Amazon, Netflix and Windows Media Center (whatever that is.)  Jon entertains the idea of having computers on your TV and then the guys dig into this space’s complex business model.  The show wraps with a quick review of the Windows Phone 7 RTM and Silverlight support.

Show Links: 

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 93: Computer Errors, Home Media, and The Fall of The Roman Empire

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0093-Computer-Errors–Home-Media–and-The-Fall-of-The-Roman-Empire.mp3]