| S01E01 |
Statistics Over Git Repositories
|
|
|
|
| S01E02 |
How and Why to Avoid Nil
|
|
|
|
| S01E03 |
Building RSpec From Scratch
|
|
|
|
| S01E04 |
Source Code History Integrity
|
|
|
|
| S01E05 |
Extracting Domain Objects
|
|
|
|
| S01E06 |
Conflicting Principles
|
|
|
|
| S01E07 |
Growing a Test Suite
|
|
|
|
| S01E08 |
Processes and Jobs
|
|
|
|
| S01E09 |
Exceptions and Control Flow
|
|
|
|
| S01E10 |
Fast Tests With and Without Rails
|
|
|
|
| S01E11 |
Git Workflow
|
|
|
|
| S01E12 |
Packaging in Ruby and Python
|
|
|
|
| S01E13 |
File Navigation in Vim
|
|
|
|
| S01E14 |
Extracting Objects in Django
|
|
|
|
| S01E15 |
Quick and Easy Perf Tests
|
|
|
|
| S01E16 |
A Refactoring Story
|
|
|
|
| S01E17 |
Wrapping Third Party APIs
|
|
|
|
| S01E18 |
Clarity via Isolated Tests
|
|
|
|
| S01E19 |
Composing a Unix Command Line
|
|
|
|
| S01E20 |
Tar, Fork, and the Tar Pipe
|
|
|
|
| S01E21 |
Coupling and Abstraction
|
|
|
|
| S01E22 |
Test Isolation and Refactoring
|
|
|
|
| S01E23 |
Spiking and Continuous Spiking
|
|
|
|
| S01E24 |
Notes on Stubbing
|
|
|
|
| S01E25 |
Controller Refactoring Demo Part 1
|
|
|
|
| S01E26 |
Controller Refactoring Demo Part 2
|
|
|
|
| S01E27 |
Extracting From Controller to Model
|
|
|
|
| S01E28 |
Acceptance Tests
|
|
|
|
| S01E29 |
Extracting From Models
|
|
|
|
| S01E30 |
Some Vim Tips
|
|
|
|
| S01E31 |
History Spelunking With Unix
|
|
|
|
| S01E32 |
Performance of Different Test Sizes
|
|
|
|
| S01E33 |
Simple Bash Script Testing
|
|
|
|
| S01E34 |
Splitting Into Fine Grained Tests
|
|
|
|
| S01E35 |
Which Tests to Write
|
|
|
|
| S01E36 |
TDDing Spikes Away With Rebase
|
|
|
|
| S01E37 |
What Goes in Active Records
|
|
|
|
| S01E38 |
What Goes in Active Records Part 2
|
|
|
|
| S01E39 |
Outside-in TDD: Stubs vs. Stash
|
|
|
|
| S01E40 |
Web Apps: When to Test in Isolation
|
|
|
|
| S01E41 |
Untested Code Part 1: Introduction
|
|
|
|
| S01E42 |
Untested Code Part 2: Adding Tests
|
|
|
|
| S01E43 |
Untested Code Part 3: Refactoring 1
|
|
|
|
| S01E44 |
Untested Code Part 4: Refactoring 2
|
|
|
|
| S01E45 |
Emacs, Chainsaw of Chainsaws
|
|
|
|
| S01E46 |
Stubbing Unloaded Dependencies
|
|
|
|
| S01E47 |
Brittle and Fragile Tests
|
|
|
|
| S01E48 |
Repository Statistics in Raptor
|
|
|
|
| S01E49 |
Generating Coupons With Bash
|
|
|
|
| S01E50 |
Shorter Class Syntax
|
|
|
|
| S01E51 |
When to Generalize in TDD
|
|
|
|
| S01E52 |
The .vimrc
|
|
|
|
| S01E53 |
Pushing Complexity Down
|
|
|
|
| S01E54 |
Three Test Shapes
|
|
|
|
| S01E55 |
Sucks/Rocks 1: The Rails App
|
|
|
|
| S01E56 |
Sucks/Rocks 2: Computing Scores
|
|
|
|
| S01E57 |
Sucks/Rocks 3: The Search Engine
|
|
|
|
| S01E58 |
Sucks/Rocks 4: Caching
|
|
|
|
| S01E59 |
Sucks/Rocks 5: a Bug and a Model
|
|
|
|
| S01E60 |
Sucks/Rocks 6: a Controller
|
|
|
|
| S01E61 |
Sucks/Rocks 7: More Cucumber
|
|
|
|
| S01E62 |
Sucks/Rocks 8: The Whole Design
|
|
|
|
| S01E63 |
Pretty Git Logs
|
|
|
|
| S01E64 |
Mutation in Tell Don't Ask
|
|
|
|
| S01E65 |
A Magical Isolation Story
|
|
|
|
| S01E66 |
Ugly Tests Trigger Refactoring
|
|
|
|
| S01E67 |
The Mock Obsession Problem
|
|
|
|
| S01E68 |
Test Driving Shell Scripts
|
|
|
|
| S01E69 |
Conditional Whac-A-Mole
|
|
|
|
| S01E70 |
Time to First Request
|
|
|
|
| S01E71 |
Test Isolation Without Mocks
|
|
|
|
| S01E72 |
Functional Core, Imperative Shell
|
|
|
|
| S01E73 |
Collapsing Services Into Values
|
|
|
|
| S01E74 |
Splitting Active Record Models
|
|
|
|
| S01E75 |
Removing a Rubinius Feature
|
|
|
|
| S01E76 |
Python vs. Ruby Objects
|
|
|
|
| S01E77 |
Where Correctness Is Enforced
|
|
|
|
| S01E78 |
Separating Arrangement and Work
|
|
|
|
| S01E79 |
Primitive Obsession
|
|
|
|
| S01E80 |
Isolating by Separating Value
|
|
|
|
| S01E81 |
Imperative to OO to Functional
|
|
|
|
| S01E82 |
Debugging With Tests
|
|
|
|
| S01E83 |
Test Cases vs. Examples
|
|
|
|
| S01E84 |
A Bit of C
|
|
|
|
| S01E85 |
Analyzing Context Switches
|
|
|
|
| S01E86 |
Actor Syntax From Scratch
|
|
|
|
| S01E87 |
Running Tests Asynchronously
|
|
|
|
| S01E88 |
Test Recommendations
|
|
|
|
| S01E89 |
When Rails Is Right
|
|
|
|
| S01E90 |
A Day in The Life
|
|
|
|
| S01E91 |
Introduction to Computation
|
|
|
|
| S01E92 |
Computing by Changing
|
|
|
|
| S01E93 |
Power of Turing Machines
|
|
|
|
| S01E94 |
Computing by Constructing
|
|
|
|
| S01E95 |
Power of Lambda Calculus
|
|
|
|
| S01E96 |
The Limits of Computation
|
|
|
|
| S01E97 |
Recognizing Simple Languages
|
|
|
|
| S01E98 |
Recognizing Programming Languages
|
|
|
|
| S01E99 |
The Most Complex Languages
|
|
|
|
| S01E101 |
A Compiler From Scratch
|
June 29, 2017
|
|
|
| S01E102 |
Data Compressor From Scratch
|
July 18, 2017
|
|
|
| S01E103 |
Text Editor From Scratch
|
August 3, 2017
|
|
|
| S01E104 |
Shell From Scratch
|
August 31, 2017
|
|
|
| S01E105 |
HTTP Server From Scratch
|
October 9, 2017
|
|
|
| S01E106 |
Malloc From Scratch
season finale
|
November 9, 2017
|
|
|
| S01E107 |
Routing Simple Requests
|
|
|
|
| S01E107 |
Routing Simple Requests
|
February 8, 2018
|
|
|
| S01E108 |
Variables in Routes
season finale
|
February 28, 2018
|
|
|