HTML5 Developer Conference header


Git and GitHub Foundations Course

Instructor: Matthew McCullough

Matthew McCullough

Matthew McCullough works with the Training team at GitHub, is an energetic 15 year veteran of enterprise software development, and travels the world as open source educator. All of these activities provide Matthew avenues of sharing success stories of leveraging Git and GitHub. Matthew is a contributing author to the trifecta of Git, Gradle and Jenkins O'Reilly books and is the creator of the Git Master Class series for O'Reilly. Matthew is the author of the DZone Git RefCard, and is Co-President of the Denver Open Source Users Group.

Our Foundations class helps you, as a newcomer to Git and GitHub, fully grasp the the concepts and application of distributed version control so that you can effectively begin using this productivity-enhancing suite of tools. During this live training course, we’ll explore the foundations of Git and GitHub through practical every-day commands and processes. We’ll conclude with workflow ideas and practical tips that will get you on the road to mastery of this revolutionary version control system.


  • Introductions
  • History of Git and your initial setup
  • Git configuration and its inheritance
  • SSH Authentication and your first repository
  • Understanding and thinking in Git's three stages
  • Adding, committing, and diff-ing code changes
  • The Similarity Index; Moving, Renaming, and Removing files
  • Network protocols, proxies, and Git's speed
  • Managing and using Git Remotes
  • Overview of Git's Architecture
  • Branching, Tagging, and Stashing
  • Merging, Rebasing, and managing conflicts
  • Undoing your work with Git
  • Making Git work with SVN


  • Understand how Git works and how to apply that to day to day development.
  • Learn how GitHub makes distributed collaboration both effective and enjoyable.
  • Practice the use of Pull Requests to make contributions to any project.
  • Learn the basic 10 commands that will appear in your every-day use of Git.
  • Know how to “back out” mistakes using Git’s incredible history and ability to revert almost any change.
  • Leverage the features of GitHub for easier collaboration with colleagues.
  • Discover how the offline capabilities of Git work “under the hood”.

Go Back To Top

Backbone.js and Ember

Teacher: Chris Nelson

Picking a client side MVC framework ain't easy, and seeing a trivial todo app just doesn't show what these frameworks bring to the table. For this workshop, we'll be diving in to two popular frameworks, Backbone.js and Ember. We'll devote the day to building an app complex enough to really understand where each framework shines. We'll cover the features of each framework and dig in with code examples and labs that give you a solid understanding of the strengths and weaknesses of both. By the end of the day, you should be armed to the teeth with the knowledge you need to pick the best framework for your next rich client web app.

Go Back To Top

Functional Programming in JavaScript

Teacher: Brian Lonsdorf

Learn the basics of how to write in the functional paradigm à la haskell as shown here: This beginner class will start with a review of the basics and end with you writing code that will resemble any popular functional language (haskell, F#, or erlang, etc.). We assume a basic knowledge of javascript such as the use of callbacks and for loops. While the class is for those new to the functional paradigm, we hope to accommodate experienced veterans with difficult bonus exercises, an open ear to any level question, and to demonstrate just how functional JS can be.

  • Referential Transparency and purity
  • First class functions
  • Higher order functions
  • Declarative vs. Imperative
  • Recursion/looping patterns
  • Type Signatures
  • Partial Application
  • Composition

After lunch, we'll expand on our compositional style and look closer at the benefits of using category theory to help us build software. We'll examine some hard to solve problems with our current toolset, we'll explore types and typeclasses in depth and develop intuitions on where to use them, then we'll take a look at application design with a functional eye. This class is for people who are comfortable with all the ideas from the first class and want to go way off the deep end. To get a rough idea, the typeclasses section is based on this presentation:

  • Combinators
  • Functional Application Design
  • Functors
  • Applicative Functors
  • Monoids
  • Monads
  • Applying category theory

Go Back To Top

JavaScript: The "What You Need to Know" Parts

Teacher: Kyle Simpson

The majority of JavaScript developers use the language "in practice" (that is, they learn on the job) but rarely go beyond a surface understanding. In this workshop, we're going to actually dive pretty deep into how some of the confusing parts of the language actually work. Especially when we talk about prototypes, we'll see some perhaps surprising conclusions that change the way we think about OO in JavaScript. The goal is that you'll know why JavaScript works the way it does, so that you can make informed decisions about how to use it.

We'll talk about:

  • this
  • closures
  • encapsulation (module pattern)
  • prototypes
  • common OO patterns in JS
  • not inheritance, behavior delegation

And as a bonus, if we have time, we'll dive into async code patterns, including:

  • callback styles (continuation passing, etc)
  • generators and coroutines (yield, etc)
  • promises

Go Back To Top

Web development using HTML5

[Beginner / Intermediate level course]

Teacher: Rick Hurst

This one day class is a “hands on” course for people interesting in developing for the desktop and the mobile web using HTML5.

During the morning we will be covering essential web development skills. Where we also discuss best practices, tooling, and third party resources, cross browser issues, and general hints and tips to make your web development life a lot easier.

In the afternoon we will do a 10,000 ft overview of whats new in HTML5, and do some “hands on development” using some of the most interesting HTML5 device APIs, such as geolocation, canvas, storage and web workers.

This course is not for managers and executives who are looking for an HTML5 overview course.

This hands on development class is specifically targeting people who are looking to either:

  • beginners wishing to learn how to develop in HTML5.
  • or are intermediate / professional web developers who have not really used HML5 before

During the morning (the essential stuff):

  • Markup:
    We will talk about what changed and got dropped from HTML4 and why. Then we will cover all the cool new tags, list datalist, progress, data, video and audio etc, and then will build some basic HTML5 pages.
  • Styles:
    We will learn how to find things in the page and manipulate how they look and move. CSS3, keyframe animations, transitions, scaling, shadows, before filters, SVG and all that really fun visual stuff.
  • Scripts:
    • We have to get a good grasp on JavaScript (and your soon to be best friend jQuery).
    • In order to make our apps do anything useful we need JavaScript, so we will 'attempt' to go from absolute beginner to intermediate JavaScript very quickly in this accelerated scripting section.
    • Without getting a firm grasp on scope, callbacks, name spacing, module patterns, event handling, JSON, and working with object literals etc you are always going to find the HTML5 APIs hella-confusing.
Afternoon (the fun new cool stuff)
  • HTML5 device APIs overview and labs.

Depending upon the speed, 'mood' and consensus of the class we will cover certain APIs in more depth than others. Regardless of which APis we choose to focus on most, we will have plenty of fun labs and you will come away with a knowledge of what HTML5 APIs are available to you and know how to approach working with them. We may even get chance to cover related subjects like responsive design and how to deal with touch events for mobile devices, but that really depends on the pace of the class.

My goal is to get as much info as I can about developing in HTML5 in one day. Big subject, not easy, and we will have to skip some things. This is my 4 day Marakana HTML5 Bootcamp condensed into 1 day!


This course is not for managers and executives who are looking for an HTML5 overview course.

This hands on development class is specifically targeting people who are looking to either:

  • beginners wishing to learn how to develop in HTML5.
  • or are intermediate / professional web developers who have not really used HML5 before

Go Back To Top

Learn How To Use Node.js In Production

Instructor: Christian Sanz

Christian Sanz

Chris is a seasoned full stack software engineer with over 15 years of experience developing and scaling systems for high traffic consumer websites such as and Chris was also responsible for building from the ground up, one the largest video sites in world. The site went from zero to 30 million page views a day and handled hundreds of thousands of video uploads a month. Chris is an early Node.js adopter and the cofounder & CTO of Geeklist, the world's largest community for Geeks. Geeklist was built entirely using Node.js, from backend services to the website and APIs.

In this class you'll learn how to use Node.js in production. From starting a bare bones project to deploying it to production and adding more sophisticated features like:

  • Websockets for real-time
  • Mongodb
  • Redis for queue and cashing
  • Web+CSS frameworks like expressjs and stylus

I'm also going to show you how to use mongoosejs, the most popular mongodb object modeling for node.js.

After all of this we will take a deep dive into callbacks best practices, emitters and streams. They are all going to be shipped as part of the demo project. Bring a laptop and make sure you have the latest version of Node.js (STABLE) installed, so you can code with me.

Go Back To Top

Build your first Mobile App with jQuery Mobile, PhoneGap and a BaaS

Instructor: Tim Anglade

Tim Anglade

The tutorial will be taught by Tim Anglade former Computer Science lecturer and Head of Developer Programs at Apigee. Tim has spoken about app development around the world, from OSCON to Oredev & GoGaRuco, and worked with mobile app developers from Silicon Valley to Seoul. He most recently gave his mobile App training in San Jose, Amsterdam, Los Angeles, Austin and Denver. You can find him on Twitter as @timanglade.

Join us to learn everything you need to know to create mobile apps for iOS, Android, Windows Phone or mobile browsers! We will review the important mobile features of standards like HTML5 and CSS. You will learn how to use a mobile UI framework (jQuery Mobile), how to package your app with a native bridge (PhoneGap) and how to add app features with a Backend-as-a-Service (open-source Usergrid).

By the end of the workshop, we will have built a fully-featured app, ready for release on the app store, without having written a single line of server-side code!


  1. Intro HTML5 and Mobile Apps
  2. Building your static app (jQuery Mobile)
  3. Load data dynamically into your app (Usergrid)

Lunch (provided by Apigee)


  1. Make your code run as a native app on your Android or iOS device (PhoneGap)
  2. Adding social elements (friendships, followers, messages)
  3. Adding geolocation (find people or places near the user)
  4. Customization and Q&A: make the app your own!

4pm: Demo time and drinkup! (Drinks are on Apigee!)


  • Some programming experience (basic understanding of variables, HTTP, etc.). Some understanding of HTML & JavaScript will be useful (no need to be an expert, but you do need to be able to find your way around an HTML file or do some simple edits to javascript)
  • A working installation of XCode, Eclipse for Android, or the IDE for your preferred mobile platform, and the latest version of PhoneGap/Cordova. (These guides have links and instructions on how to install all of these components:
  • Cost: FREE
  • Date: WEDNESDAY APRIL 3, 2013
  • Time: 9AM-4PM
  • Location: PALACE HOTEL (Marina Room)

Go Back To Top

Web Platform Doc Sprint

Instructor: Peter Lubbers

Peter Lubbers

@peterlubbers Peter Lubbers lives and breathes HTML5. Yes, even his car has the ‘HTML5’ license plate! Peter is the co-author of Pro HTML5 Programming (2nd Ed. Apress, 2011) and the founder of the San Francisco HTML5 User Group, the largest HTML5 User Group in the world with over 5,000 members.

Peter works at Google as a global programs manager in the Chrome Developer Relations team, spreading HTML5 and Open Web goodness. Prior to that he headed up the HTML5 training division at Kaazing. Prior to joining Kaazing, Peter worked as an information architect at Oracle, where he wrote many books and developed documentation publication automation systems. Three of his automation inventions are patented.

A native of the Netherlands, Peter served as a Special Forces commando in the Royal Dutch Green Berets. In his spare time Peter likes jumping out of planes, bungee-jumping, and running ultra-marathons. He is the three-time winner of the Tahoe Super Triple marathon. Peter lives on the edge of the Tahoe National Forest and loves to run around Lake Tahoe (preferably in one go).

We're hosting another Web Platform Doc Sprint! Join us at the Google's office in San Francisco (345 Spear Street, 6th Floor, in the Top of the Mark Conference Room) and help document the web forward!

Don't forget to Bring your laptop!

This Web Platform Doc Sprint is all about making it easy for anyone to contribute articles, samples, tutorials, overviews, and other insights. Learn about, how to contribute, and help make this the definitive reference site for HTML, CSS, JavaScript, SVG and more. If you are not familiar with.

We will serve coffee and snacks, lunch, and we'll have some snacks and drinks at the end of the day. What's more, you'll get one of our new Web Platform Docs t-shirts and there will be some other swag, too. Even if you can make it only for half a day, don't hesitate to sign up. We'd love to have you there!

We would like to ask for two favors:

  1. If you are not going to make it, please update your RSVP so that others can join.
  2. Bring your ID to show building security

And remember to bring your laptop!

  • Cost: FREE*
  • Date: WEDNESDAY APRIL 3, 2013
  • Time: 9AM-5PM
  • Location: Google San Francisco
    345 Spear St.
    San Francisco, CA

*You can select this free class during checkout for the 2-day Conference Registration, or if you have already purchased a ticket, RSVP here:

Go Back To Top
Newsletter Signup
Signup for our newsletter today!