
The Changelog: Software Development, Open Source
Software's best weekly news brief, deep technical interviews & talk show.
Latest episodes

Jun 26, 2012 • 43min
Ruby Motion and MacRuby (Interview)
Wynn and Sam caught up with Laurent Sansonetti to talk about MacRuby, RubyMotion, and more.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Tony Arcieri, creator of Celluloid.
Celluloid is painless multithreaded programming for Ruby.
Celluloid:IO provides evented I/O for Celluloid actors.
DCell lets you build distributed Celluloid apps over 0MQ.
Adam Keys, formerly of Gowalla, is now teammates with Tony at Living Social.
Zed gave us the lowdown on 0MQ on 0.3.4.
Reel aims to be a fast, non-blocking evented web server without a Rack API.
Tony is aiming to get Reel working with Webmachine.
Sean Cribbs talked Riak on a previous episode.
Hubot is GitHub’s awesome Campfire bot.
Travis uses Celluloid, as discussed on 0.7.5.
Tony is shutting down LightRail since the release of Rails::API, from Santiago Pastorino.
ActiveModel::Serializer aims to provide an object to encapsulate serialization of ActiveModel objects, including ActiveRecord objects.
Wynn loves jbuilder despite its name.
E is the secure distributed pure-object platform and p2p scripting language.
Data, context and interaction is a paradigm used in computer software to program systems of communicating objects.
Tahoe-LAFS is a Python-powered decentralized secure filesystem.
Tony likes Clojure.
Joe Armstrong and Robert Virding, creators of Erlang are Tony’s programming heroes.
Something missing or broken? PRs welcome!

May 31, 2012 • 40min
Celluloid and Concurrency (Interview)
Wynn talked with Tony Arcieri, creator of Celluloid, about concurrency in Ruby and his thoughts on Erlang, Clojure, and design patterns.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Tony Arcieri, creator of Celluloid.
Celluloid is painless multithreaded programming for Ruby.
Celluloid:IO provides evented I/O for Celluloid actors.
DCell lets you build distributed Celluloid apps over 0MQ.
Adam Keys, formerly of Gowalla, is now teammates with Tony at Living Social.
Zed gave us the lowdown on 0MQ on 0.3.4.
Reel aims to be a fast, non-blocking evented web server without a Rack API.
Tony is aiming to get Reel working with Webmachine.
Sean Cribbs talked Riak on a previous episode.
Hubot is GitHub’s awesome Campfire bot.
Travis uses Celluloid, as discussed on 0.7.5.
Tony is shutting down LightRail since the release of Rails::API, from Santiago Pastorino.
ActiveModel::Serializer aims to provide an object to encapsulate serialization of ActiveModel objects, including ActiveRecord objects.
Wynn loves jbuilder despite its name.
E is the secure distributed pure-object platform and p2p scripting language.
Data, context and interaction is a paradigm used in computer software to program systems of communicating objects.
Tahoe-LAFS is a Python-powered decentralized secure filesystem.
Tony likes Clojure.
Joe Armstrong and Robert Virding, creators of Erlang are Tony’s programming heroes.
Something missing or broken? PRs welcome!

May 23, 2012 • 25min
Luvit and Lua Bindings for libuv (Interview)
Wynn caught up with Tim Caswell to talk about Luvit, his new project that provides Lua bindings for libuv.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Adam recently married the lovely Heather.
Tim Caswell is a long time friend of the show, creator of the How to Node blog.
Lua is a powerful, fast, lightweight, embeddable scripting language.
Luvit = Lua + libUV + jIT = pure awesomesauce.
LuaJIT’s FFI library allows calling external C functions and using C data structures from pure Lua code.
Luvit can take advantage of most Node libraries as long as they use non-blocking IO.
Rackspace is using Luvit in production already, but without HTTP.
Tim likes the callback style of coding that V8 promotes.
Wynn asks where Node.js is on the Gartner hype cycle.
Luvmonkey is a port of libuv bindings for SpiderMonkey.
Tim fails to see the use case for AMD.
Tim worked with Jeremy Ashkenas on CoffeeScript while at Document Cloud.
Candor is a language inspired by javascript, but with less features and, therefore, less complexity. So no semicolons, no exceptions and simplified anonymous function syntax (dart-like).
Tim has played with Go but likes Rust better.
Tim is now working at Cloud9 and their cloud-based IDE.
Surely Tim isn’t “the only JavaScript developer within a hundred miles of” Red Lick, TX.
Nodebits is another Node.js blog.
Bert Belder and Ben Noordhuis are the “libuv guys” at Cloud9.
Boot2Gecko is “an early-stage project to expose all device capabilities such that infrastructure like phone dialers can be built with Web APIs.”
Something missing or broken? PRs welcome!

Apr 13, 2012 • 41min
Adhearsion, Telephony, XMPP (Interview)
Wynn caught up with Ben Klang and Ben Langfeld of the Adhearsion project to talk about Adhearsion 2.0, the future of telephony apps, XMPP, and more.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Ben Klang Principal/Technology Strategist at Mojo Lingo, Project Lead for Adhearsion.
Ben Langfeld developer at Mojo Lingo, member of Adhearsion core team.
Adhearsion is an open source voice application framework.
Rails developers will find some familiarity in Adhearsion’s controllers and routers.
Adhearsion just released version 2.0.
New in 2.0, Adhearsion supports multiple backends including Asterisk, PRISM, Tropo, and others.
Tropo underwrites the development of Adhearsion and also provides features not available on Asterisk, such as high quality text-to-speech.
IVR stands for Interactive Voice Response.
Adhearsion plugins are simply gems that extend the Adhearsion DSL and are similar to Rails’ Railties.
XMPP support has been extracted into a plugin.
Adhearsion models voice applications as MVC.
Planning is starting for the next Adhearsion Conf. Follow @AdhearsionConf for details.
You can watch the AdhearsionConf videos.
These well done videos were done by our friends Opus Video. We love their split screen presentation. Never miss the speaker or the slides.
Video is still the frontier for telephony apps.
Ben Langfeld loves XMPP and helps maintain the Blather library, written by Jeff Smick.
XMPP pub-sub is hot right now, as employed by the likes of Superfeedr, the subject of Episdode 0.3.7.
Punchblock “is a middleware library for telephony applications. Like Rack is to Rails and Sinatra, Punchblock provides a consistent API on top of several underlying third-party call control protocols.”
Adhearsion uses Celluloid which makes Ruby “look and smell a bit like Erlang, but without the yuckiness.”
Mike Perham, Tony Arcieri, and Charles Nutter inspire Ben and Ben.
Special thanks to Julius Francisco for helping to arrange this episode.
Something missing or broken? PRs welcome!

Apr 5, 2012 • 36min
CocoaPods and MacRuby (Interview)
Wynn caught up with Eloy Durán, creator of CocoaPods to talk about the project, MacRuby, and his favorite Objective-C libraries.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Eloy Durán, Ruby developer and creator of CocoaPods.
CocoaPods, “the best way to manage library dependencies in Objective-C projects.”
CocoaPods uses a Podfile to specify project dependencies.
Eloy aspires to achieve the same level of “Twitter hate” that Bundler enjoys.
CocoaPods started on MacRuby but now is powered by MRI.
Patches for feature requests are welcomed.
CocoaPods specs live on GitHub, similar to the Homebrew model.
The Passenger pane lets you configure Phusion Passenger on the Mac really easily.
Eloy wants a Ruby lib that shows a proper unified diff for Array, Hash, String with color support.
Listener Jonah Williams asks how the community can increase adoption.
Objective-C is the #10 most popular language on GitHub.
Eloy wrote a file browser for MacVim because he likes Vim but is a “gui guy.”
If the latest Xcode has got you down, you might try AppCode.
BlocksKit, the Objective-C block utilities you always wish you had.
QuincyKit offers crash report managment for your iOS apps.
JSONKit, a very high performance Objective-C JSON library.
Wynn likes Test Flight but Eloy has switched to Hockey App.
Laurent Sansonetti, lead developer of MacRuby is Eloy’s programming hero.
Something missing or broken? PRs welcome!

Mar 30, 2012 • 1h 4min
Solarized and Linux on the Desktop (Interview)
Wynn sat down with Ethan Schoonover, creator of Solarized to talk about the science and design behind the wildly popular color scheme as well as his love for Arch Linux.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Ethan Schoonover is a freelance designer, creator of Solarized.
Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications.
Vimscript can be intimidating for noobs.
The Solarized palette aims to maximize sixteen colors, providing contrast on both dark and light backgrounds
Ethan works in the CIELAB:
A Lab color space is a color-opponent space with dimension L for lightness and a and b for the color-opponent dimensions, based on nonlinearly compressed CIE XYZ color space coordinates.
Achievement unlocked: First guest to mention fovea centralis on the show.
“This fellow Wright” is W. David Wright, who experimented with color perception in 1930s.
Ethan works out of the LAB space, mapping to other color spaces as tools require.
Solarized looks great in a number of fonts as well as syntaxes.
Wynn asks if Sass should support LAB.
Terminus is Ethan’s favorite fixed with font, but also likes Letter Gothic Mono.
Wynn’s litmus test for fixed fonts is the dashrocket alignment.
Micah Rich, founder of The League of Movable Type was on Episode 0.7.4.
Arch Linux is Ethan’s favorite Linux distro.
xmonad is a dynamically tiling X11 window manager that is written and configured in Haskell.
The tmux reference on the Arch wiki is most helpful. Check out Episode 0.7.3 for more on tmux.
TotalTerminal from the talented Antonin Hildebrand.
brew tap makes it easy to tap a new Homebrew formula repository from GitHub, or list existing taps.
Freshmeat.net is now freecode.com.
GIMP is no Photoshop replacement.
Haskell is an advanced, purely-functional programming language.
XMonad.Prompt.Input is similar to Quicksilver.
Karthik’s terminal convinced Wynn to give Solarized a go.
Wynn figured out how to do ‘transparent’ colors in the tmux status bar.
TaskWarrior is Ethan’s todo manager, which is saying something since he created Kinkless GTD.
Drew Neil, creator of Vimcasts, featured on Episode 0.5.6.
Dr. Nic Williams, on Episode #50.
Something missing or broken? PRs welcome!

Mar 16, 2012 • 35min
.NET, NuGet, Open Source (Interview)
Wynn caught up with Phil Haack to talk about NuGet and growing the .NET open source community at GitHub.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Phil Haack, GitHubber, Microsoft alumnus, .NET open source guy.
NuGet is a Visual Studio extension that makes it easy to install and update third-party libraries and tools in Visual Studio.
log4net is often an open source trojan horse in the proprietary enterprise.
NuGet features a command line interface and also integrates with SharpDevelop.
Wynn asks what impact the names .NET and C# have had on SEO and adoption of Microsoft technology.
C# is the #11 most popular language on GitHub.
Tiobe places C# as #3 overall.
Line endings in Git are everyone’s problem.
GitHub may or may not be working on (GitHub for Windows®)™.
Phil likes SignalR, an async signaling library for .NET to help build real-time, multi-user interactive web applications.
Jabbr is a chat client showcase for SignalR.
NancyFx is a lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono.
OWIN defines a standard interface between .NET web servers and web applications, much like Rack for Ruby.
Sammy.js was also Rat Pack-inspired.
Phil thinks LINQ and Reactive Extensions (Rx) are some innovations in .NET that should influence the broader community.
The await keyword in C# 5 will accelerate async adoption in .NET.
Wynn <3’s Hubot and especially likes the Dude and Mustachify scripts.
David Fowler, developer on the ASP.NET team and who works on NuGet and SignalR inspires Phil.
Something missing or broken? PRs welcome!

Mar 6, 2012 • 41min
Travis CI, Scaling Apps, Riak (Interview)
Wynn caught up with Josh Kalderimis and Mathias Meyer from Travis CI to talk about hosted CI in the sky, scaling apps, and a little Riak.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Travis CI a hosted continuous integration service for the open source community.
Josh Kalderimis is a core Travis CI team member, Rails contributor, gem developer, and general serial coder.
Mathias Meyer, hacker on Travis, author of the Riak Handbook.
Travis now provides first class support for Python and Perl.
Travis also supports several versions of Ruby including Ruby hidHEAD.
[8:15] Mathias lays out the case for Travis vs. Jenkins, namely a streamlined user interface.
Travis runs almost exclusively on Heroku.
AMQP powers the message queues in Travis.
Keep an eye on Travis listener.
The GitHub service hook makes setting up your open source project on Travis a breeze.
If you’re a Travis user, show some love to keep the features coming.
GitHubber Rick Olson worked on some API features to help Travis more deeply integrate with GitHub.
Private repo support, aka Travis Pro™ is on its way. If you want to get in on the beta, donate to the project.
Donate $500, get an hour of pairing with Aaron Patterson, Yehuda Katz, José Valim, Jon Leighton, or other Ruby pro.
Mathias previously worked at Basho and The Riak Handbook is a collection of what he learned there.
José Valim is Josh’s programming hero for his code and community building.
Mathias is playing with Kestrel and Zookeeper.
Josh and Mathias like Celluloid.
Mike Perham’s Sidekiq has caught Josh and Mathias’ eye.
Something missing or broken? PRs welcome!

Feb 23, 2012 • 53min
The League of Moveable Type (Interview)
Adam and Wynn caught up with Micah Rich from The League of Moveable type to talk about open source typography.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Adam Stacoviak – Website, GitHub, LinkedIn, Mastodon, XWynn Netherland – GitHub, XShow Notes:
Micah Rich, from The League of Movable Type.
Caroline Hadilaksono, co-founder of The League.
League Gothic, one of Caroline’s popular faces is Wynn’s favorite.
Several of League fonts are available on TypeKit.
Dave Crossland, designer of Cantarell.
Chunk was created by Meredith Mandel.
The League fonts are forkable on GitHub.
FontForge is an outline font editor that lets you create your own postscript, truetype, opentype, and more.
Glyphs is a professional font editor for Mac OS X.
Wynn’s slide decks make use of League Gothic and Hand of Sean.
Lettering.js gives you more control over kerning on the web.
The Manifesto lays out the vision for The League.
Haley Fiege contributed Sniglet.
Barry Schwartz has contributed several fonts.
Want to help Micah introduce typographers to git? Get in touch.
Wynn asks about vertical rhythm, which Compass makes easier.
Lettercase is a social font manager.
Adam uses FontExplorer X but wishes it did more.
Micah on Dribbble.
Lettercase is powered by Sinatra, Warden, and Grape.
Hoefler & Co. are Micah’s heroes in typography design.
Something missing or broken? PRs welcome!

Feb 17, 2012 • 38min
tmux, dotfiles, and Text Mode (Interview)
Wynn sat down with Brian Hogan and Josh Clayton to talk about tmux, dotfiles, and the joys of text mode.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Wynn Netherland – GitHub, XShow Notes:
Brian Hogan speaker, trainer, and author of _Tmux: Productive, Mouse Free development, out now from PragProg.
Josh Clayton is a developer at Thoughtbot.
Factory Girl - fixture replacement for Ruby.
tmux is a terminal multiplexer similar to GNU screen.
tmuxinator helps you manage tmux sessions.
taskpaper.vim - Vim interface for Taskpaper.
Josh’s dotfiles are extensive.
A patch to reattach to user namespace in tmux.
Palette lets you write Vim color schemes with Ruby
Evergreen - Run Jasmine JavaScript unit tests, integrate them into Ruby applications
The latest iTerm2 ships with tmux integration.
tslime.vim is a simple vim script to send portion of text from a vim buffer to a running tmux session.
vim-turbux - Ruby testing with tmux.
Justin Smestad turned Wynn onto tmux for pair programming.
Derick Bailey from Watch Me Code.
pair.io gives you a one-button, collaboration-friendly dev environment for your GitHub repo.
Jesse Dearing is the unnamed “DevOps guy” at Pure Charity.
Thoughtbot has a company-wide dotfiles repo.
Josh rolls his own Vim setup with Tim Pope’s pathogen.
Brian uses TTYtter, is a terminal-based Twitter client, Wynn uses Earthquake.
Josh likes irrsi for IRC.
Brian likes Alpine over mutt for mail.
Search GitHub for “tmux.conf.”
Zach Holman says dotfiles are meant to be forked.
Zach’s own dotfiles.
Yan Pritzker’s dotfiles are opinionated.
Josh says that if you don’t think your dotfiles are the best out there, you’re doing it wrong. (29:55)
Joe Ferris at Thoughtbot inspired Josh’s dotfiles.
Brian and Josh say Janus and oh-my-zsh are great to get started, but you need to understand your dotfiles.
Wynn uses this shell function to list colors to put into his tmux config.
Dotshare is web site to share dotfile configs plus screenshots.
Pianobar is text-based command line interface for Pandora.
Wynn uses shell.fm for Last.fm.
Be sure and check out the Tmux Crash Course.
NEW: Humans Present: tmux a Thoughtbot Workshop.
Something missing or broken? PRs welcome!