Karey Powell


  • 19 Courses Completed
  • 36 Screencasts Watched
  • 223,050 Total Points

Path Status

Achievement Badges

Ruby: 9 Courses Completed


Rails for Zombies



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 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.


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 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


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


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 Testing for Zombies

Rails Testing

Learn Rails testing for your applications with these testing fundamentals. Brush up on testing best practices with Rails Testing for Zombies.

  • 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


Testing with RSpec

Rails Testing

Learn to use this trusted testing framework for Ruby applications. Brush up on testing best practices with our Testing with RSpec course.

  • Introduction

    An overview of RSpecs basic syntax and installation.

  • Configuration & Matchers

    Setting up RSpec in a Ruby or Rails project and digging into some RSpec Matchers.

  • DRY Specs

    See how to organize your specs better making readability much easier.

  • Hooks & Tags

    Before hooks, shared examples and RSpecs use of metadata.

  • Mocks & Stubs

    A tour through how RSpec uses mocks and stubs.

  • Custom Matchers

    Walkthough the creation of a custom matcher from scratch.

Ruby: 13 Screencasts Watched

Previous Next

Intro to JRuby

Guard and Spork

JRuby on Rails

Setting Up Rails

Creating Ruby Gems

Factory Girl

Core Ruby Classes


Rails Anatomy


Asset Pipeline Patterns

Special Character Methods

Rails 4 Queues

Git: 3 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.

  • Placeholder Completion Badge

    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 Real 2


Learn advanced Git by practicing Git version control with Git Real 2. Continue to increase your Git skills by learning more advanced systems within Git.

  • Interactive Rebase

    Edit your commits through the use of interactive rebase

  • Stashing

    Not quite ready to commit? Git stash is the perfect solution

  • Purging History

    Accidentally commit something sensitive? Purge it!

  • Working together

    Make Git work together on multiple operating systems

  • Submodules

    Ever wanted to use another repository inside of another?

  • Reflog

    Undo almost anything and find lost commits using reflog

Git: 1 Screencast Watched

Feature Branches & Pull Requests

JavaScript: 4 Courses Completed

  • Just Enough JavaScript

    Creating variables, dialogs, object & string functions, number-related operations, working with arrays.

  • Take Off

    Downloading jQuery, minified Javascript, loading jQuery, the DOM & jQuery selection, nested elements, pseudo-classes & direct descendants.

  • View from 30,000 Feet

    Direct manipulation with CSS, manipulating multiple attributes, adding & removing classes, toggling classes, hiding & showing content.

  • Contents may shift

    Retrieving & setting text content with text(), querying & setting DOM with html(), manipulating DOM with append() & prepend(), creating peers with :before & :after, adding & removing nodes.

  • Placeholder Completion Badge

    Fasten your Seatbelts

    Using document.ready, writing named functions, using click event listeners, keyboard events, animations, AJAX load()


jQuery Air: Captain's Log

Learn jQuery best practices & useful techniques of jQuery's efficient JavaScript library. Let jQuery Air: Captain's Log help you make the most of your code.

  • Events

    HTML & Text value, HTML5 data attributes, click events, binding & unbinding events, using multiple click handlers, live vs. delegate

  • Ajax

    $.ajax, error handling & callbacks, aborting AJAX & timeouts, receiving and parsing JSON, using JSONP, sending form data

  • Effects

    Chaining effects & adjusting speed, animating with CSS, effect easing, using a queue, adding a delay, stopping an effect

  • Placeholder Completion Badge


    Each & Map utility functions, creating your own utility functions, creating plugins, encapsulating your code, custom events, jQuery templates


Real-time Web with Node.js

Server-side Frameworks

Learn Node.js and start building lightweight, real-time applications. Our interactive course will teach you the fast and scalable perks of Node.js. This course has been updated to teach Node ~0.10.x and Express ~4.9.

  • Intro to Node.js

    An overview of Node.js, blocking vs. non-blocking code, reading files, issuing requests

  • Events

    Event emitters, event requests, event listening

  • Streams

    Reading, writing, piping, solving backpressure

  • Modules

    Exporting, npm installing, dependencies, and semantic versioning

  • Express

    Routes, rendering, layouts, url building, express servers

  • Socket.io

    Listening for, broadcasting, and answering questions, saving client data

  • Persisting Data

    Redis, working with lists, persisting, emitting, and limiting questions


Shaping up with Angular.js

Client-side Frameworks

Learn to use Angular.js by adding behavior to your HTML and speeding up your application's responsiveness. Get ready to dive into all the angles of Angular.js!

  • Flatlander's Gem Store

    Get comfortable with expressions by beginning to build a gem store.

  • Built-in Directives

    Use directives to add a gallery and tabs to the gem store.

  • Forms

    Give the gem store review functionality by using Angular forms.

  • Custom Directives

    Create custom directives for more organized and maintainable Angular code.

  • Services

    Create a new module and learn to use the $http service to get real data into the gem store.

JavaScript: 7 Screencasts Watched

Previous Next

jQuery ColorBox

Most Useful jQuery Libraries

Knockout.js - Part 1

Knockout.js - Part 2

jQuery Mobile - Part 1

jQuery Mobile - Part 2

Testing CoffeeScript with Jasmine

HTML/CSS: 1 Course Completed


Functional HTML5 & CSS3

Learn to build functional sites with HTML5 & CSS3. Watch design video tutorials and take programming challenges with our Functional HTML5 & CSS3 course.

  • 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

  • Placeholder Completion Badge

    Footer & Forms

    Learn about new form elements and build a functional footer

HTML/CSS: 2 Screencasts Watched

CSS3Buttons Gem

Responsive Web with Initializr

Electives: 2 Courses Completed


Try R


Learn the R programming language for data analysis and visualization. This software programming language is great for statistical computing and graphics.

  • Using R

    A gentle introduction to R expressions, variables, and functions.

  • Vectors

    Grouping values into vectors, then doing arithmetic and graphs with them.

  • Matrices

    Creating and graphing two-dimensional data sets.

  • Summary Statistics

    Calculating and plotting some basic statistics: mean, median, and standard deviation.

  • Factors

    Creating and plotting categorized data.

  • Data Frames

    Organizing values into data frames, loading frames from files and merging them.

  • Real-World Data

    Testing for correlation between data sets, linear models, and extending R with additional libraries.

  • Placeholder Completion Badge

    What's Next


Discover DevTools


Learn how Chrome DevTools can sharpen your dev process and discover the tools that can optimize your workflow and make life easier.

  • Elements

    Dig into the elements panel, learn how to make changes to the DOM and update styles.

  • Sources

    New workflows to speed up your development time.

  • Console

    Review the DevTools console and learn how to examine exceptions and use timesaving shortcuts.

  • Debugging

    Great workflows for debugging problems in your JavaScript.

  • Network

    Speed up your network interactions using the network tab and the page speed extension.

  • Profiles

    Get familar with your applications rendering performance and learn how to use CPU profiling to identity performance problems.

  • Memory

    Learn how to find and identify memory leaks in your application.

Electives: 12 Screencasts Watched

Previous Next


Secrets of Keynote - Part 1

Shell Productivity - Part 1

Getting Started with Clojure - Part 1

Getting Started with Clojure - Part 2

Getting Started with Clojure - Part 3


Remote Pairing with tmux

Unix Basics - Part 1

Unix Basics - Part 2

Agile Best Practices

Founder's Talk