All Episodes
Programming By Stealth — 211 episodes
PBS 184a of X: SASS Basics
PBS 183 of X: Customising Bootstrap with CSS 'Variables'
PBS 182 of X: CSS 'Variables'
PBS Tidbit 18 — A Real-World Jekyll Example
PBS Tidbit 17b — Simplifying Developer Setups with Docker
PBS Tidbit 17a — Simplifying Developer Setups with Docker
PBS Tidbit 16 — How Podfeet.com Works
PBS Tidbit 15 — Building an Indie Author Site with Hugo by Eddie Tonkoi
PBS Tidbit 14 — Coding with AI
PBS Tidbit 13 — PowerShell Tames Monty
PBS 181 of X — Reusable Snippets with Jekyll Includes
PBS 180 of X — Theming Jekyll
PBS 179 of X — Introducing Liquid Templates in GitHub Pages with Jekyll
PBS Tidbit 12 — XKPasswd Rewrite Exits Beta
PBS 178 of X — Getting Started with Jekyll Pages
PBS 177 of X — Publishing A Basic Jekyll Site (GitHub Pages)
PBS 176 of X — Deploying a JavaScript Web App with Webpack & GitHub Actions
PBS 175 of X — GitHub Pages: Static Site Generators
PBS Tidbit 11B — A PowerShell Teaser
PBS Tidbit 11A — A PowerShell Teaser
PBS Tidbit 10 — Run LLMs Locally with Ollama with Steve Mattan
PBS 174 of X: Working with Git Submodules
PBS 173 of X: Getting Started with Git Submodules
PBS 172 of X: Git Submodules
PBS Tidbit 9 – Using Git on iOS
PBS 171 of X: MVC in XKpasswd-js
PBS 170 of X: Model View Controller (MVC)
PBS Tidbit 8 – Interview with jq Maintainer Mattias Wadman
PBS Tidbit 7 – jq to Analyze macOS Installed Apps with Helma van der Linden on
PBS 169 of X — Advanced YAML Topics
PBS 168 – Introduction to YAML
PBS 167 of X – jq: Recursion, Syntactic Sugar, Some old Friends and a Few Honourable Mentions
PBS 166 of X — jq: Processing Arrays & Dictionaries sans Explosion
PBS 165 of X – jq: Variables
PBS 164 of X – jq: Working with Lookup Tables
PBS 163 of X – jq: Lookups & Records
PBS 162 of X — jq: Altering Arrays & Dictionaries
PBS 161 of X — jq: Maths, Assignment & String Manipulation
PBS 160 of X — jq as a Programming Language
PBS 159 of X - jq: Building Data Structures
PBS 158B - jq More Advanced Queries
PBS 158A – jq: More Queries
PBS 157 of X — jq: Querying JSON with `jq`
PBS 156 of X — Extracting Data with `jq`
PBS 155 – Introducing JSON Processing from the Shell with `jq`
PBS 154 — Bash: Expansions & Brackets Redux
PBS 153 – Bash: Functions & Scope
PBS 152B of X — Bash: xargs & Easier Arithmetic
PBS 152A of X — Bash: xargs & Easier Arithmetic
PBS 151 of X — Bash: Printf and More
PBS 150 of X – Bash Script Plumbing (Take Two)
PBS 149 of X — Better Arguments with POSIX Special Variables and Options
PBS 148 – A Bash Potpourri (Subshells, Relative Paths & More)
PBS 147 – Bash Arrays
PBS 146 of X – Shell Loops
PBS 145 of X — Shell Conditionals
PBS 144 – Basic Shell Script IO
PBS 143 — Shell Script Basics
PBS 142 — The XKPasswdJS Project Kickoff!
PBS 141 — Generating UML Class Diagrams with Mermaid (Don't Cuddle the Mermaid)
PBS 140 of X — UML Class Diagrams
PBS Tidbit 6 of Y — A Real-World Webpack Case Study
PBS 139 of X — Bundling a Web App/Site with Webpack (Part 2)
PBS 138 – Bundling a Web App/Site with Webpack (Part 1)
PBS Tidbit 5 of Y — Tips for the Vacationing Programmer
PBS 137 of X — Bundling a Library with Webpack
PBS Tibit 4 of Y — Rethinking a Web App – from Web Server to Cloud Stack
PBS Tidbit 3 of Y
PBS 136 of X — More Jesting
PBS 135 of X – Introducing Jest (and re-Introducing Test Driven Development & Unit Testing)
PBS Tibit2 – It's Ok to Play a Different Game!
PBS 134 of X — Firming up our Foundations (2 of 2)
PBS 133 of X – Firming up our Foundations (1 of 2)
PBS 132 of X — Managing JSDoc
PBS 131 of X – Introducing JSDoc
PBS 130 of X – Good Technical Documentation
PBS 129 of X - ESLint with Guest Instructor Helma Van der Linden
PBS 128 of X – JavaScript Module Basics
PBS 127 of X – Introducing NPM (and Node)
PBS 126 of X - Introducing Phase 2
PBS 125 of X – Chezmoi on Multiple Computers
PBS 124 of X – Chezmoi Templates
PBS 123 of X — Backing up and Syncing Dot Files with Chezmoi
PBS 122 of X – Managing Dot Files with Chezmoi
PBS 121 of X — Managing Dot Files and an Introduction to Chezmoi
PBS 120 – Ignoring Files in Git
PBS 119 of X — Open Source on GitHub
PBS 118 of X — JavaScript Apps with GitHub Pages
PBS 117 of X – Introducing GitHub
PBS 116 0f X – Team Git
PBS 115 of X – The Push & Pull of Git
PBS 114 – Tracking Git Branches
PBS 113 of X My First Git Remote
PBS 112 of X – Introducing Git Remotes
PBS 111 of X – Stashing Changes
PBS 110 of X – Merge Conflicts
PBS 109 of X — SemVar & Structured Commits
PBS 108 of X — Merging & Tagging
PBS 107 of X – Branching Basics
PBS 106 of X — Time Travel with Git
PBS 105 of X – Seeing the Past with Git
PBS 104 of X – Tracking Changes in Git
PBS 103 of X — Getting Started With Git
PBS 102 of X – Introducing Git
PBS 101 of X - Introducing Version Control
PBS 100 of X — Time Sharing Challenge Solution
CCATP #649 – Dr. Helma van der Linden on Creating a Book with Open Source Software
PBS - Can We Interest You in a Cup of Taming the Terminal?
PBS 99 of X – Building with Classes Part 2: Is-A
PBS 98 of X — Building with Classes Part 1 — Has-A
PBS 97 of X — Class Data Attributes & Functions
PBS 96 of X — World Clock Challenge Solution
PBS 95 of X — Better JavaScript Class Attributes
PBS 94 of X — Basic JavaScript OO with Class
PBS 93 – Encapsulation with JavaScript Objects
PBS 92 of X — Currency Grid Solution
PBS Adjacent: CCATP #628 — Bart Busschots on Creating Automator Quick Actions with JavaScript
PBS 91 of X — JavaScript RE Objects
PBS 90 of X — JavaScript Wrapper Objects
PBS Tidbit 1 of Y — Display Values are not Data!
PBS 89 of X — Currency Converter Challenge
PBS 88 of X — DOM & jQuery Objects Redux
PBS 87 of X — JavaScript Iterators Objects & Generator Functions
PBS 85 of X — Objects as Arrays in JavaScript (Redux & Update)
PBS 84 of X – Objects as Dictionaries in JavaScript (Redux & Update)
PBS 83 of X Bootstrap Cards
PBS 82 of X – Async & Await
PBS 81 – The JavaScript Promise Utilities
PBS Supplemental — Dorothy Rendon on the PBS Index
PBS 80 — JavaScript Promise Chains
PBS 79 — Introducing JavaScript Promises
PBS 78 — is.js & Bootstrap Popovers
PBS 77 of X — More Callbacks & More AJAX
PBS 76 of X - AJAX with jQuery
PBS 75 of X - AJAX Intro
PBS 74 of X - More Mustaches
PBS 73 of X - Mustache Templates
PBS 72 - HTML5 Templates
PBS 71 of X - Bootstrap Spinners
PBS 70 - Bootstrap Modals & Toasts
PBS 69 of X — Bootstrap Navbars
PBS 68 of X - Bootstrap Navs
PBS 67 of X - Bootstrap Dropdown Menus
PBS 66 of X - Bootstrap Form Validation
PBS 65 of X — Bootstrap Input Groups
PBS 64 - Bootstrap Form Layouts
PBS 63 of X — Bootstrap Buttons
PBS 62 of X — A Basic Bootstrap Form
PBS 61 of X — Bootstrap Jumbotrons & Badges
PBS 60 of X - Bootstrap & jQuery
PBS 59 of X — More Bootstrap Breakpoints
PBS 58 of X - Bootstrap Breakpoints
PBS 57 of X - the Bootstrap Grid
PBS 56 - More Bootstrap Content
PBS 55 - Bootstrap Content
PBS 54 of x - More Bootstrap Utilities
PBS 53 of X — Bootstrap Utilities
PBS 52 - Introducing Bootstrap 4
PBS 51 - Cellular Automata Wrap-up
PBS 50 - Building a Web App on Video
PBS 49B of X - Object Revision & Improving Our Cellular Automata
PBS 49A of X - Challenges from PBS 48
PBS 48 of x – A Closer Look at ‘this’ and ‘static’
PBS 47 - ES6 Polymorphism
PBS 46 - ES6 Spread Operator, Arrow Functions & Classes
PBS 45 – ES6 Arrays & Strings
PBS 44 - ES6 Arguments & Objects
PBS 43 of x - Introducing JavaScript ES6
PBS 42 of x – Playing the Game of Life
PBS 41 of x - Form Events
PBS 40 of x - HTML5 Custom Validations with jQuery
PBS 39 of x - HTML5 Form Validation
PBS 38 of x - Taking Stock
PBS 37 of x - JSDoc Demo
PBS 36 of x – More HTML Text Input | More Cellular Automata
PBS 35 of x - HTML Text Input | Introducing ‘Life’
PBS 34 of X – More JS Testing with QUnit
PBS 33 of x – JS Testing with QUnit
PB 32 of X – JS Error Handling Revision | HTML Selects
PBS 31 of x – JS Static Functions | Checkboxes & Radio Buttons
PBS 30 of x - Comparing JS Objects | Introducing WAI-ARIA
PBS 29 – JS Prototype Revision | Glyph Icons
PBS 28 – CSS Attribute Selectors & HTML Buttons
PBS 27 – Introducing HTML Forms
PBS 26 – HTML Data Attributes with jQuery
PBS 25 – Case Study of a JavaScript API
PBS 24 – Creating a JavaScript API
PBS 23 – Creating Elements with jQuery
PBS 22 – jQuery Events
PBS 21 of X – jQuery Basics
PBS 20 of x - JavaScript in the Browser
PBS 19b of x - Solving JavaScript Challenges Part 2
PBS 19 of x - Solving JavaScript Challenges
PBS 18 of x - JavaScript Miscellany
PBS 17 of x - JavaScript Objects
PBS 16 of x - JavaScript Callbacks
PBS 15 of x - JavaScript Functions
PBS 14 of x - JavaScript Loops & Arrays
PBS 13 of x - (JavaScript Conditionals)
PBS 12 of x - (JavaScript Intro)
PBS 11 of x - Tables
PBS 10 of x - Yet More CSS
PBS 9 of x - More CSS Positioning
PBS 8 of x - CSS Positioning
PBS 7 of x -More CSS
PBS 6 of x - Introducing CSS
PBS 5 of x - HTML Images & Links
PBS 4 of x - HTML In-line Elements
PBS 3 of X - HTML Block Elements
PBS 2 of X - Introducing HTML
PBS 1 of X - Introduction