The Changelog

Open Source moves fast. Keep up.

#145: 10+ Years of Rails with DHH

Our guest this week is David Heinemeier Hansson, aka DHH. He joins us to talk through the past, present, and future of Ruby on Rails — the most beloved web application framework in the Ruby community.

#140: Aurelia, Durandal, and leaving AngularJS with Rob Eisenberg

Rob Eisenberg is our guest this week. Rob is a former AngularJS team member, who left the AngularJS team to work on his own startup, Durandal Inc and their first open source product Aurelia, a next generation JavaScript client framework that supports ES6, WebComponents, Object.observe and more.

#139: The Rise of io.js with Mikeal Rogers

Our guest this week is Mikeal Rogers to discuss io.js, why the fork exists, why they choose open governance, the roadmap and future of io.js, supporting ES6, burnout while working in open source, and the steps you can take to get involved with io.js.

The easy way to learn web frameworks

Notejam is a project in the spirit of TodoMVC, only for server-side frameworks. It allows you to quickly see how different web frameworks implement the same thing.

Dashing creates gorgeous dashboards #

Dashing is a framework from Shopify for building gorgeous dashboards that can be displayed on large TVs throughout your office.

It ships with pre-made widgets, is completely customizable, and can be deployed to Heroku in a breeze. See Dashing in action here and here.

On Go’s Web Application Ecosystem

There’s something to be said about being able to write a lean, mean web application and serve a ton of requests without huge hardware requirements. Go just had its fourth birthday, and finding a lot of popularity as a systems/operations language. Special thanks to Matt Silverlock for contributing this post.

Revel is a high performance, comprehensive web framework that’s ready to Go #

While still in an early stage of development, Revel (a Go-based web framework by Rob Figueiredo) shows a lot of promise.

Revel features hot code reloading, high performance (3 to 10x Rails in recent benchmarks), synchronous programming style, and a comprehensive set of tools, including:

  • routing
  • parameter parsing
  • validation
  • session/flash
  • templating
  • caching
  • job running
  • a testing framework
  • internationalization

That’s pretty impressive from a project that hasn’t reach 1.0 yet. If you are big in to Go — or if you’re looking to learn — definitely check it out!

Revel is MIT licensed and hosted on GitHub.

ZURB Foundation turns 4.0 #

We originally covered Foundation back at 2.0. That was before Foundation 3.0 where they re-wrote the styles in Sass (SCSS) and Compass rather than pure CSS.

Now, ZURB is at it again with Foundation 4.0 and this is what’s new.

Mobile first.

We’ve retooled Foundation from the ground up to be Mobile First. This is no hack job; we didn’t just flip some media queries and call it a day. We went through the framework and rethought how grids should work, how components should work in a mobile-first paradigm, so we could be sure the solution we deliver in Foundation 4 is smart and sturdy.


We’ve built Sass mixins and extensions for almost every component of Foundation. Now you can write whatever markup is most semantic, most representative of what your content really is. Then, simply attach Foundation components to it in your Sass.

New (and Speedier) Javascript.

With Foundation 4, we wanted to make sure that not only were our Orbit, Reveal, Joyride, Clearing and Magellan plugins the best they could possibly be, but also that we were setting Foundation up for even greater plugins in the future. So, we rewrote them all.

We’re also using Zepto.js, a jQuery API compatible library. This dramatically reduces how much your users will need to load (especially on mobile devices) and provides the added benefit of using CSS for animations, taking advantage of hardware acceleration where possible.

HTML Templates.

We’ve created some common layouts for you to start from so you can cook your site faster.

Check out the source on GitHub and the docs to get started.

Meteor JavaScript framework blurs the line between client and server #

Meteor is a full-stack JavaScript framework that aims to deliver the same development experience on the client and the server. The project’s seven principles include:

One Language. Write both the client and the server parts of your interface in JavaScript.

Database Everywhere. Use the same transparent API to access your database from the client or the server.

Meteor appears to be an eclectic blend of proven solutions, using Handlebars for templating and its own package manager to pull in other dependencies.

Check out the introductory screencast and well done project docs for more.

Ember.js: formerly Amber.js and formerly SproutCore 2.0 #

Ok, so I’m slow to the take. My ear wasn’t close enough to the ground to get the fact that Ember.js was formerly the Amber.js that was formerly SproutCore 2.0.

Ember.js Lunch Talk at Carbon Five

Four days after it was announced as Amber.js, it was renamed to Ember.js due to some naming collisions with Amber Smalltalk, a Smalltalk implementation written in JavaScript. After some communication with the folks behind Amber Smalltalk, a discussion was started on Hacker News about what they (then Amber.js) should do.

Getting started?

If you are new to ember.js, Derick Bailey of Watch Me Code and Backbone Training fame shares his initial impressions (compared to backbone), as well as thoughts on handling DOM events.

Also, above I’m linking out to a video of Tom Dale (and Yehuda Katz) discussing ember.js over lunch at Carbon Five. There’s 45 minutes of presentation plus 20 minutes of Q&A.


Episode 0.6.3 – CDNJS with Thomas Davis and Ryan Kirkman

Adam and Wynn caught up with the developers behind CDNJS, a community-powered CDN for JavaScript libraries. Items mentioned in the show: CDNJS aims to make the web faster by putting more shared JavaScript on a content delivery network. We’re now part of the Fusion Network Catch up with us at The Big (D)esign Conference We’ll […]

Raphters: A web framework for C #

For those that thought C had been delegated to the internals of your
mobile devices or favorite database engine, Daniel
wants to string you up by
the Raphters.

Raphters is a web framework written in C. Yes you heard that right, a
shiny new framework for the web written in everybody’s favorite
close-to-the-metal programming language. The project gets its name from
RAPHT, a pattern that extends MVC that aims for greater security and

  • Resources include things served up to clients like a database or API.
  • Actions provide ways to interact with a Resource.
  • Processors transform data.
  • Handlers provide the entry point for a request.
  • Templates render data.

A simple Hello World example to demostrate the patter might look
something like:

#include "raphters.h"

START_HANDLER (simple, GET, "simple", res, 0, matches) {
    response_add_header(res, "content-type", "text/html");
    response_write(res, "hello world");

START_HANDLER (default_handler, GET, "", res, 0, matches) {
    response_add_header(res, "content-type", "text/html");
    response_write(res, "default page");

int main() {
    return 0;

If you’re a C developer looking for speed (and security) you might give Raphters a
look for your next web project.

[Source on GitHub]

Episode 0.3.9 – Scripty2, Zepto.js, Vapor.js, and more with Thomas Fuchs

Wynn caught up with Thomas Fuchs to talk about, Scripty2, Zepto.js and the future of Prototype. Items mentioned in the show: The Magic Roundabout is crazy Wynn got his UK badge on Gowalla JavaScript effects framework built on top of Prototype Prototype – JavaScript Framework that aims to ease development of dynamic web […]

Deutsche Telekom releases Unify, metaframework for mobile built on HTML5, JavaScript, and Sass #

At 2010, Deutsche Telekom took the wraps off of their Unify Project which aims to provide a unified API for building cross-platform mobile and desktop applications.

Unify looks to be a metaframework of sorts, wrapping other popular frameworks:

  • qooxdoo is a comprehensive and innovative framework for creating rich internet applications (RIAs) using object-oriented JavaScript
  • PhoneGap provides a native wrapper for web apps, providing interfaces for device features not supported with browser-based apps alone.
  • Sass is a superset of CSS3 syntax and provides programmatic features for CSS such as variables, mixins, and selector nesting, covered way back in Episode 0.0.1
  • Adobe AIR provides a cross-platform runtime for desktop applications.

Unify currently supports iOS, Android, and WebOS devices and plans to support BlackBerry OS 6.0 soon.


The Unify API provides a single progamming model to features such as IO, storage, cache, geolocation, and even UI.

Here’s the ScrollView class as an example:
  • Scrolling could be enabled/disabled separately for each axis.
  • Indicator style is changable through an API call (per instance)
  • Flips back when scrolling out of allowed ranges.
  • Smooth animations for deleleration and flip back
  • Page based scrolling where the content is auto-splitted into pages which are used for snapping into

Keep an eye on the Unify Roadmap for updates and real-world implementations.

[Source on GitHub] [Homepage]

Slim: A PHP5 Sinatra Clone #

Screen shot

Frank Sinatra was the Chairman of cool. Some fourteen years after his death, the crooner is still imitated.

Just like its namesake, Sinatra, the class Ruby web application DSL still inspires all sorts of projects from Sammy.js to Padrino to Denied.

Slim, a PHP5 project from Josh Lockhart is the latest project to cover the classics.


To get started, just require the script and call init



Slim supports the familiar Sinatra-style routes for all four HTTP verbs:

Slim::get('/books/:id', function ($id) {
    //Do something

Slim::post('/books', function () {
    //Do something

Slim::put('/books/:id', function ($id) {
    //Do something

Slim::delete('/books/:id', function ($id) {
    //Do something

Middleware and callbacks

Slim also allows you to run code before and after your actions:

Slim::before(function () {
    //Do something

Slim::after(function () {
    //Do something


Slim supports a variety of templates including Smarty and Twig.

[Source on GitHub] [Hompage]

#32:, CSS, and Sass with Nathan Smith

Adam and Wynn caught up with Nathan Smith from 960 Grid System to talk about web development and CSS grid frameworks. Items mentioned in the show: 960 Grid System – Nathan’s awesome CSS grid framework 960’s awesome templates help you plan your layouts Wynn’s new monitor setup is just plain obscene 960’s fluid support from […]

#27: Padrino Ruby web framework

Adam and Wynn caught up with Arthur Chiu and Nathan Esquenazi from Padrino, the Ruby web framework built on top of Sinatra. Items mentioned in the show: Padrino – über modular web framework built on top Sinatra #padrino – Padrino’s IRC channel @ Ramaze – “Web framework for Rubyists” Mountable apps in Padrino Rack […]

Episode 0.2.2 – Sammy.js with Aaron Quint

Adam and Wynn caught up with Aaron Quint, the brains behind Sammy.js, a neat JavaScript framework built on top on jQuery fashioned after Ruby’s Sinatra. Texas Javascript Join us in Austin for this awesome JavaScript conference. Sammy.js JavaScript framework built on top on jQuery fashioned after Ruby’s Sinatra. Sammy’s routes really help organize your jQuery […]

Express – Sinatra cover band for Node.js #

We’ve covered cool things from TJ Holowaychuk before, but Express, a new Sinatra-ispired DSL-based web framework for Node.js brings us to our feet.

To install, simply clone the project from The Hub:

$ git clone git://
$ cd express && git submodule update --init

or install via Kiwi

$ kiwi -v install express

From there, the syntax should look very familiar for the Sinatra fan:


get('/', function(){

get('/hello/world', function(){
  return 'Hello World'


Features in this version include:

  • RESTful DSL
  • Focus on high performance
  • Multi-part file upload support
  • Cookie support
  • Session support
  • Redirection helpers
  • Environment based configuration
  • Light-weight class implementation
  • Persistent flash messages
  • Route passing
  • MIME helpers
  • Logger plugin with many formats
  • View support (haml, sass, etc)
  • Cache API
  • RESTful HTTP client

[Source on GitHub] [Homepage]

Kohana – The Swift PHP Framework #

Kohana is a PHP MVC web framework that aims to be easy, lightweight, and secure. It has no dependencies on PECL or PEAR extensions and uses strict PHP 5 OOP. It uses what it calls “cascading resources” to allow developers to extend the framework without editing the core system.

There is an extensive list of [modules], even a MongoDB ORM, MangoDB.

[Source on GitHub] [Homepage] [Docs]