A 16 Minute Preview
Concise, Lovingly Crafted Videos
I’m a complete snob when it comes to watching programming-focused screencasts and I hope it shows. I spent over 5 months putting these together, fine-tuning the audio, editing the videos down to be as direct and focused as possible. You won’t sit and stare at bullet points on a slide for 5 minutes while I drone on, nor will you watch me fumble about trying to type things and install dependencies. Your time is valuable, and if I’ve done my job right, you’ll turn that time into knowledge.
There are 17 videos in all, each one focused on a single walkthrough. They are:
- Lambda Calculus
- Functional Programming
We cover the basics, including immutability, side effects and purity and then jump into more fun topics, including functors and monads.
- Database Normalization
We take a simple CSV and, using pure SQL with PostgreSQL, import it into a new database. We then normalize it following the first 3 normal forms.
- Algorithms: Simple
This is the preview you just watched above. This includes an exploration of various simple sorting routines as well as binary search.
- Algorithms: Dynamic Programming
No CS video (or book) is complete without Fibonacci, and you’ll get it in three ways! We’ll do it the recursive, slow way and speed things up using memoization.
- Algorithms: Prime Numbers
Dynamic Programming is fun! Let’s use it to calculate prime numbers in a series using the Sieve of Eratosthenes! But… are we really doing Dynamic Programming?
- Algorithms: Bellman-Ford
Understanding graph theory is essential, and we’ll try to grasp the basics using Bellman-Ford to calculate shortest paths between nodes.
- Algorithms: Dijkstra
Once again, we’ll calculate shortest paths on a graph but this time we’ll use Edsger Dijkstra’s algorithm, which is a bit faster.
- Software Design Patterns: Creational
You may have heard of these things? Maybe a long time ago and you forgot how to implement them? That’s what we do with these classic patterns.
- Software Design Patterns: Structural
We continue our trek through traditional software patterns…
- Software Design Patterns: Behavioral
… ending up with basic behavioral patterns, tying everything up with the Strategy Pattern.
- Design Principles
Coupling, Cohesion, Law of Demeter, Tell Don’t Ask…? You’ve likely heard these terms but it’s always worth diving deep into them just one more time.
- TDD and BDD
These topics can seem mighty dry, but did you know TDD can actually be fun? No really! Especially if you’re pair coding. In this video we’ll split our brains in two and do our best to destroy otherwise lovely code and tests.
- Shell Script Basics
It’s a Unix World, you need to know your scripting! We’ll get off the ground by creating a simple shell script to pull images in a directory, optimize and then resize using ImageMagick.
- A Jekyll Post Script
I have a Jekyll site for my personal blog and I really like it, but creating a new post is a bit of a pain. Not a HUGE one, mind you, but just enough to make me say “meh” sometimes. The perfect job for a shell script!
- Reading Shell Script (Bonus content)
This one isn’t covered in the book! I use Oh My Zsh!, a project which offers some lovely conventions and plugins for the z-shell. Installing it means trusting a script you download from the internet and letting it have its way with your machine. Is this OK? NO! You should know how to read these things, and that’s what we do in this video.
- Using Make
Make creates files from other files in an orchestrated way. It’s not the simplest tool, but it’s incredibly useful for almost any project. Ditch Gulp and Grunt – use Make! That’s what we do in this video.
What You Get
You get the 17 videos above, embedded in a lovely HTML site that you can run from disk or host (privately please) wherever you like. You can also download each video as you please.
When you download the app you can run directly from disk by clicking on index.html. This is what you will see:
Code comes with (almost) every video
The code for each video is available for download at Github and a link is provided right next to the video itself. This makes following along easy, which I hope you do!