Herding Code 129: Rob Reynolds on Chocolatey and the Chuck Norris Frameworks

In this episode, Jon Galloway, Kevin Dente and guest host John Sheehan talk to Rob Reynolds about Chocolatey (a Machine Package Manager, somewhat like apt-get for Windows), as well as Rob’s Chuck Norris frameworks for project setup, management, deployment, and more.

  • Rob talks about how Nu helped shape the direction of NuGet.
  • Chocolatey is a tool for installing system wide applications such as Notepad++ or Git.
  • Rob explains that it is built in PowerShell on top of NuGet.
  • The guys talk about the simple process to install Chocolatey and install an application.
  • Rob explains how Chocolatey was born.
  • John S. asks what the process is to create a new Chocolatey package.
  • The PowerShell command to install Chocolatey is: iex ((new-object net.webclient).DownloadString(“http://bit.ly/psChocInstall”))
  • Jon G. asks what Chocolatey does behind the scenes when installing a package.
  • Jon G. asks how to use Chocolatey to uninstall software Chocolatey installed.
  • John S. asks if Chocolatey has been used in a way that wasn’t expected.
  • The guys discuss the various ways of setting up a process to install multiple packages at once.
  • Rob explains the difference between Chocolatey and Ninite.
  • Kevin asks about the silent installs and how it works if the application doesn’t support silent installs.
  • Kevin asks about the update story.
  • The guys discuss learning and understanding PowerShell.
  • Rob discusses the Chocolatey integration with Web Platform Installer.
  • John S. asks about the reason behind writing Chocolatey in PowerShell.
  • Kevin asks about Microsoft’s package manager, CoApp and how it relates to and is different from Chocolatey.
  • John S. and Rob discuss how Chef, Puppet and Chocolatey could be used to spin up a new machine for a production deployment.
  • Kevin asks about the fact that Rob is the owner of most of the Chocolatey packages and how he keeps track of updates to all those packages.
  • Rob talks about the Chuck Norris framework and the following components of the framework:
  • WarmuP -allows you to define templates for entire projects and change them as technology changes and you learn new things.
  • UppercuT – is a conventional automated .NET build framework (templated NAnt). UppercuT is the insanely easy to use build framework.
  • RoundhousE – is an automated database deployment (change management) system that allows you to use your current idioms and gain much more.
  • DropkicK – is a fluent deployment framework that seeks to make deployments easier.
  • Jon asks if the company Rob and Dru worked for when they were working on these projects was receptive to their open source development.
  • Rob will be speaking on NuGet at CodeMash (it’s sold out) in January.

Show links:

Download / Listen:

Herding Code 128: Rob Reynolds on Chocolatey and the Chuck Norris Frameworks

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0129-Rob-Reynolds-on-Chocolatey-and-the-Chuck-Norris-Frameworks.mp3]

This week’s show notes were typed up by @RossFuhrman – Thanks!!!

  • There is a point in there where I mention something about pulling source and building in reference to apt. I was referring to source packages. apt has the idea of both binary and source packages and chocolatey is only about the binary packages. CoApp is likely to head back towards the source packages concept.

  • I also want to say I psyched myself up a bit on this (being past my bedtime and not wanting to sound boring/tired), so if I talked over anyone or didn’t wait for questions to be finished, I apologize. I felt myself doing it a bit.

  • I love how I kept saying “web A P I” instead of “web P I” – lol