Ian Taylor


  • 22 Courses Completed
  • 127 Levels Completed
  • 54 Screencasts Watched
  • 304,080 Total Points

Master Status

Achievement Badges

Progress Report

Ruby: 10 Courses Completed


Try Ruby

Getting Started With Ruby on Rails

Learn the basic building blocks of Ruby, all in the browser.

  • All For One, One For All

    Get an introduction to numbers, Strings, properties, and methods.

  • There Are Always Two

    Learn about conversions, arrays, variables, and more methods.

  • Third Time's The Charm

    Review printing, brackets, and String manipulation.

  • Fourth and Short

    Take a shot at method chaining, hashes, keys, and values.

  • The Highest of Fives

    Study up on blocks, directories, and method arguments.

  • Sixth Sense

    Start building methods, libraries, popups, and HTML with Ruby.


Rails for Zombies



Rails for Zombies 2

Getting Started With Ruby on Rails

Learn more Rails with this sequel to the infamous Rails for Zombies course. Increase your Ruby on Rails knowledge with even more zombie learning.

  • From the Ground Up

    Installing Rails, creating a Rails app, database migrations, the command line, Ruby 1.9 hash syntax, Bundler, database configuration

  • Models Still Taste Like Chicken

    Named scopes, callbacks, has_one, relationship options, using Includes, has_many :through

  • Rest In Pieces

    Revisiting URL helpers, forms & input helpers, understanding REST, nested resources, view partials, other view helpers

  • Asset Packaging and Mailing

    Sending attachments in mail, asset tags, using the Asset Pipeline, CoffeeScript, creating and sending mail, SCSS, using the JavaScript manifest

  • Rendering Extremities

    Custom RESTful routes, creating AJAX links, rendering custom JSON, AJAXified forms, controller rendering options, sending server JavaScript, using JSON data


Rails for Zombies Redux

Getting Started With Ruby on Rails

Learn Ruby on Rails, an open-source framework for the Ruby programming language. Rails for Zombies will teach you all the Rails basics with a zombie flair.

  • Deep in the Crud

    How we work with a database in Rails by using Create, Read, Update, and Destroy (CRUD).

  • Models Taste Like Chicken

    We'll learn about ActiveRecord models, validations, and relationships.

  • The Views Ain't Always Pretty

    Get experience linking between views, using conditionals, and how to lookup documentation on common view helpers.

  • Controllers Must Be Eaten

    Sitting between our Models and Views are the Controllers, which use instance variables to keep our code organized.

  • Routing Into Darkness

    Learn how to direct requests to your app to the correct controller actions.

  • Test Unit

    Testing philosophies, overview of Test Unit, TDD (Test Driven Development), and using assertions

  • Model Testing

    Preparing the database, running tests, using fixtures, and testing relationships

  • Cleaning it up

    Writing custom assertions, using Test Helper, and introducing Shoulda

  • Mocks and Stubs

    Understanding and using mocks and stubs with Mocha

  • Integration Tests

    Rails integration commands, integration testing with Capybara, and writing and using helper methods

  • Using Factories

    Creating factories, adding associations between factories, and implementing factories in your tests


Surviving APIs with Rails

Intermediate Ruby on Rails

Learn how to build and test REST APIs using Ruby on Rails. See how to leverage the HTTP protocol to create robust web APIs that can serve different client applications at the same time.

  • Recap

    Understanding REST and setting up your first API end points.

  • Resources and GET

    Restricting resources and the GET method.

  • Content Negotiation

    Catering to different API clients.

  • Post, Put, Patch, and Delete

    Creating, updating, and deleting resources.

  • Versioning

    Adding new features without breaking existing clients.

  • Authentication

    Preventing unauthorized access to protected resources.


Ruby Bits

Ruby Language

Learn the core bits every Ruby programmer should know. This Ruby tutorial builds upon the basics to keep enhancing your Ruby knowledge.

  • Expressions

    An overview of best practices for writing expressions in Ruby

  • Methods and Classes

    passing optional arguments, raising exceptions, using begin/rescue/end, attr_accessor vs. attr_reader

  • Classes

    Encapsulation, instance & private methods, inheritance, and refactoring

  • ActiveSupport

    Helpers that are built on top of the Ruby Language (arrays, dates, hashes, numbers, and strings

  • Modules

    Namespacing methods, Mixins vs. class inheritance, method hooks, ActiveSupport::Concern

  • Blocks

    Iterating and yielding, passing arguments, returning variables, Enumerable, and refactoring


Rails 4: Zombie Outlaws

Intermediate Ruby on Rails

Learn to build faster and more secure web apps with Rails 4. Review the Rails updates that will help get your apps up to speed on Rails 4 best practices.

  • A Bloody Tale of Revenge

    Support for Ruby 1.9.3, ThreadSafety, and Routes

  • The Hangman's Daughter

    Changes to the ActiveRecord API, and more on ActiveRecord and changes to ActiveModel

  • Dead Man Walking

    Whitelisting user parameters with Strong Parameters and using Remote Forms. Reviewing new syntax for controller Filters, working with Session & setting Custom Flash Types

  • Concerning the Events of Santa Maria

    Reviewing new view helpers & the Ruby template handler

  • The Killing Fields

    Learning the new test structure

  • The Undead Express

    Declarative ETags, the new Dalli memcache client, and working with Cache Digests

  • Why's and Wherefores

    Streaming with ActionController::Live and faster page loading with Turbolinks


Rails 4 Patterns

Intermediate Ruby on Rails

Learn helpful patterns and techniques for building and maintaining complex Rails applications. Make your application easily scale in size and complexity.

  • Models

    Use Models to encapsulate core business logic and avoid common ActiveRecord pitfalls.

  • Scopes and Class Methods

    Learn the intricacies of using class methods that run queries, and learn the benefits of using scopes.

  • Concerns

    Review how to extract reusable code into Model and Controller concerns.

  • Decorators

    Extract view logic out of Models with Decorators.

  • ActiveModelSerializers 1

    The basics of using ActiveModelSerializers to build a JSON API.

  • ActiveModelSerializers 2

    Use ActiveModelSerializers to simplify your JSON API.

  • FineTuning

    Speed up queries, secure user parameters and manage your processes.


Ruby Bits Part 2

Ruby Language

Learn the more advanced bits every Ruby programmer should know. This advanced Ruby tutorial will help you take your Ruby knowledge to the next level.

  • Blocks, Procs & Lambdas

    An advanced look at code blocks and how to use procs and lambdas to encapsulate blocks of code

  • Dynamic Classes & Methods

    Techniques for defining, finding, and calling methods dynamically at runtime

  • Understanding Self

    A look at how Ruby uses the value of self and how to change self as your program executes

  • Missing Methods

    Using method_missing to capture, delegate, and respond to methods that don't exist

  • DSL Part 1

    A brief intro to writing Domain Specific Languages in Ruby

  • DSL Part 2

    More advanced tips and techniques for writing DSLs

Ruby: 26 Screencasts Watched

Git: 2 Courses Completed


Try Git


Learn how to use Git by reviewing the basic concepts of Git version control. Try out this introductory course that was created with GitHub.

  • Discover Git

    Discover the basics of Git, including how to initialize a repo. Learn how to add, commit, and push your code to GitHub.


Git Real


Learn more advanced Git by practicing the concepts of Git version control. Increase your Git knowledge by learning more advanced systems within Git.

  • Introduction

    Learn the basics of Git

  • Staging & Remotes

    Add and remove changed files, and work with remote repositories

  • Cloning & Branching

    Clone repositories and learn how to work with multiple branches

  • Collaboration Basics

    Work simultaneously with multiple users

  • Branching

    Work with remote branches and reference commits

  • Rebase belong to us

    Optimize merging and fix merge conflicts

  • History and Configuration

    Learn how to configure and view commit logs

Git: 1 Screencast Watched

HTML/CSS: 2 Courses Completed

  • HTML5

    Learn about the new tags in HTML5

  • CSS3

    Review the new properties in CSS3

  • Header & Navigation

    Build a functional header and navigation area

  • Content

    Develop the content sections of a site

  • Footer & Forms

    Learn about new form elements and build a functional footer


Journey Into Mobile

Intermediate CSS

Learn mobile web design with mobile-first, adaptive, and responsive web design concepts. Review the best practices with our Journey into Mobile course.

  • Foundations for Mobile

    The mobile web and relative font-sizing

  • Fluid Layouts

    Learn the foundations for creating scalable, fluid sites

  • Adaptive Adventures

    Create sites that adapt to a specific context

  • Responsive Adventures

    Create device-agnostic sites optimized for all viewports

  • Responsive Media

    Learn how to scale images, video, and work with retina graphics

HTML/CSS: 3 Screencasts Watched

JavaScript: 6 Courses Completed


Try jQuery


Learn the basics of jQuery 2.0, a JavaScript library, to modify elements on the page and improve user interaction.

  • Introduction to jQuery

    A gentle introduction to what jQuery is, and what it can do.

  • Traversing the DOM

    Search & walk through the DOM with selectors and traversing.

  • Working with the DOM

    Add & remove from the DOM, more traversing, and user events.

  • Listening to DOM Events

    Listen for events, handle them, and change the default event behavior of web browsers.

  • Styling

    Before landing, tame CSS with jQuery and animate elements on the page.


JavaScript Road Trip Part 1

JavaScript Language

An introduction to the very basics of the JavaScript language. Build a foundation of JavaScript syntax and learn how to use values, variables, and files.

  • The Cliffs of Value

    Learn to manipulate values on the console.

  • Variable Valley

    Review how to store and use data with variables.

  • Files Falls

    Create JS files and source them within HTML code.


jQuery: The Return Flight


Learn Ajax and add more interactivity to your projects. Discover how to organize your code using jQuery Plugins and Promises.

  • Ajax Basics

    Learn what Ajax is and how it can be used.

  • JavaScript and jQuery

    Organize your jQuery and JavaScript.

  • Ajax With Forms

    Learn about how to send data to the server and work with JSON.

  • Utility Methods

    Learn about some handy utility methods including $.each and $.map while working with complicated JSON data.

  • jQuery Plugins

    Create your own reusable jQuery plugin.

  • Promises

    Use promises to make your Ajax calls reusable and organized.


JavaScript Road Trip Part 2

JavaScript Language

A continued introduction to the very basics of the JavaScript language. Learn common programming mechanisms like loops, conditionals, functions, and arrays.

  • The Labyrinth of Loops

    Understand and build loops for repeated code with 'while' and 'for' syntax.

  • Conditional Canyon

    Use conditions to execute different branches of code with if-else blocks.

  • Built-In's Bluff

    Learn to use the basic JavaScript dialog box functions 'prompt', 'alert', and 'confirm'.

  • The Desert of Declarations

    Understand functions and building custom functionality.

  • The Array Archipelago

    Learn to build and manipulate the array data structure.


JavaScript Road Trip Part 3

JavaScript Language

Continue building intermediate skills within the JavaScript web programming language. Master function expressions, closures, hoisting, objects, and the use of prototypes.

  • Forest of Function Expressions

    Learn how to use and manipulate functions as expressions.

  • Cold Closures Cove

    Explore the binding of external variables into local scopes.

  • Hoisting Hills

    Build an awareness of the pitfalls of load order within a scope.

  • Ocean of Objects

    Create, fill, and manipulate the generic JavaScript object literal.

  • Plains of Prototypes

    Using the magic of object inheritance, explore classes, constructors, prototypes, and properties.


ES2015: The Shape of JavaScript to Come

JavaScript Language

Stay in tune and learn some of the new features of ES2015, the most extensive update to the JavaScript language since it was first released in the '90s.

  • Declarations

    Learn about the new types of variable declarations and how they can help with some well-known JavaScript gotchas.

  • Functions

    Explore new features added to functions, like default parameters, rest parameters, spread operators, and arrow functions.

  • Objects, Strings, and Object.assign

    Find new ways to work with JavaScript Objects and Strings.

  • Arrays, Maps, and Sets

    Learn how to work with Arrays and more efficient alternatives to working with collections, like Maps and Sets.

  • Classes and Modules

    Discover how to write object-oriented code using the new class syntax and how to leverage the new module system to keep things clean and organized.

  • Promises, Iterators, and Generators

    Learn alternatives to writing async code, iterator objects for navigating sequences more efficiently, and special functions that return those objects.

JavaScript: 3 Screencasts Watched

Database: 2 Courses Completed




Learn basic database manipulation skills using the SQL programming language.

  • The Ins and Outs of Databases

    Learn about databases from the inside out, as well as how to perform simple data queries and filter data with special query tools in SQL.

  • Managing Data

    Find out how to add, revise, and remove data in an existing database.

  • Managing Databases and Tables

    Discover basic concepts for creating and altering databases and tables.


The Sequel to SQL


​Learn the most important parts of the SQL language so you can create tables with constraints, use relationships, and write powerful join queries.

  • Aggregate Functions

    Learn how to use SQL aggregate functions, including COUNT, SUM, and AVG, to do calculations on groups of data.

  • Table Constraints

    Add constraints — like NOT NULL, UNIQUE, FOREIGN KEY, and PRIMARY KEY — to your tables to increase data integrity.

  • Normalization and Relationships

    Apply normalization rules to create tables without duplicate data and build the appropriate relationships.

  • Inner Joins, Aliases, and Outer Joins

    Explore writing a single query to pull data from multiple tables and using aliases to create succinct queries.

  • Subqueries

    Dive deeper as you learn how to write queries within queries.

Database: 1 Screencast Watched