Videos

Hosted by

Lydia Damon

Lydia Damon

Lydia joins Ben to talk about the front-end tools that thoughtbot designers use: Bourbon, Neat, Bitters, and Refills. Then, see them in action while styling a production app!

Hosted by

Gabe Berke-Williams

Gabe Berke-Williams

Gabe joins Ben to discuss Apprentice.io. They discuss how to be a great mentor, how to help apprentices feel comfortable, and how (and why) to run an apprenticeship program at your company.

Hosted by

Joe Ferris and Melanie Gilman

Joe Ferris
Melanie Gilman

Show notes: Melanie joins Joe again to discuss the classic refactoring step: Extract Class. Learn how to safely split up a Large Class in small steps, keeping your tests green as much as possible while Melanie demonstrates this technique live....

Hosted by

Joe Ferris and Melanie Gilman

Joe Ferris
Melanie Gilman

Melanie joins Joe to demonstrate a simple (but useful) pattern: Parameter Objects. Melanie replaces a long parameter list with one object in a single bound! Try it for yourself in our refactoring trail.

Hosted by

Joe Ferris and Melissa Xie

Joe Ferris
Melissa Xie

Show notes: Melissa joins Joe once again to demonstrate another refactoring technique from Ruby Science: move method. Learn about Feature Envy, how to reveal it using Extract Method, and how to remove it using Move Method. Follow along yourself...

Hosted by

Joe Ferris and Melissa Xie

Joe Ferris
Melissa Xie

Melissa joins Joe to discuss a basic refactoring technique: Extract Method. Follow along as Melissa applies this refactoring live to an example from Ruby Science. After watching, you can refine your refactoring techniques using our refactoring...

Hosted by

Joe Ferris and Pat Brisbin

Joe Ferris
Pat Brisbin

Pat joins Joe again to continue our tour of Haskell. Learn how Haskell replaces most if statements with the powerful concept of pattern matching, including some instances where object-oriented programs would use polymorphism. Learn how to both...

Hosted by

Joe Ferris and Pat Brisbin

Joe Ferris
Pat Brisbin

Pat joins Joe again to discuss Haskell's type system. Learn how to add type signatures to your functions, create your own types, and work with generic types using type classes.

Hosted by

Joe Ferris and Pat Brisbin

Joe Ferris
Pat Brisbin

Pat joins Joe to give an introduction to Haskell. Learn basic function syntax and dive into the world of pure, lazy, functional programming. We also cover basic lists, and discuss how almost everything in Haskell is a function, such as operators.

Hosted by

Joe Ferris and Gordon Fontenot

Joe Ferris
Gordon Fontenot

Gordon joins Joe to discuss an alternative approach to testing for situations where unit testing falls flat. Learn how property-based tests can be more useful than unit tests. Gordon discusses unit testing in Swift using Quick and Nimble, then...

Hosted by

Joe Ferris and Tony

Joe Ferris
Tony

Joe and Tony look at how Swift can reuse code from Objective-C libraries. Dive through a real example of using the Dropbox Objective-C client. See how to use bridging headers to pull in Objective-C code, how to handle failure in a more idiomatic...

Hosted by

Joe Ferris and Gabe Berke-Williams

Joe Ferris
Gabe Berke-Williams

Joe and Gabe review form objects, and explain why they can almost always replace accepts_nested_attributes_for. See an example Rails app written with nested attributes and how and why we recommend switching to form objects. Nested Attributes...

Hosted by

Joe Ferris and Gabe Berke-Williams

Joe Ferris
Gabe Berke-Williams

Joe and Gabe review the four types of test doubles: stubs, mocks, spies and fakes. Learn what the key differences are between each type, as well as when you'd want to consider using them. See examples written using rspec-mocks, as well as an...

Hosted by

Joe Ferris and Gabe Berke-Williams

Joe Ferris
Gabe Berke-Williams

Gabe joins Joe to discuss how to run tests quickly and efficiently. People who haven't done TDD a lot often find that running tests is painful and takes them out of the moment. Learn how to run tests easily while staying focused on your...

Hosted by

Joe Ferris and Tony

Joe Ferris
Tony

Tony joins Joe to introduce some functional programming concepts in Apple's new language, Swift. Tony uses the magic of Apple's new playgrounds to demonstrate some simple functional ideas, such as functions as values, closures, currying, enums,...

Hosted by

Joe Ferris and Chris Toomey

Joe Ferris
Chris Toomey

Chris joins Joe to explore the world of JavaScript MVC. Dive into Backbone and Angular, learning how they compare when it comes to models, view rendering, data binding, testing, routing, and more.