Programming By Stealth
Episodes
PBS 182 of X: CSS 'Variables' (CSS)
17 Apr 2026
Contributed by Lukas
In this very fun installment of Programming By Stealth, @Bart B teaches us how to use CSS “variables”, which aren’t actually variables (they’r...
PBS Tidbit 18 — A Real-World Jekyll Example
15 Mar 2026
Contributed by Lukas
Bart taught us about creating static sites with Jekyll and even how to create custom layouts using Bootstrap 5. We learned about Markdown files with Y...
PBS Tidbit 17b — Simplifying Developer Setups with Docker
01 Feb 2026
Contributed by Lukas
This instalment is the second half of PBS Tidbit 17 in which Helma van der Linden is the instructor and Bart Busschots is the student. We pick up the ...
PBS Tidbit 17a — Simplifying Developer Setups with Docker
28 Jan 2026
Contributed by Lukas
This very special episode of Programming By Stealth is a Tidbit written and taught by the lovely Helma van der Linden. Bart has wanted to understand D...
PBS Tidbit 16 — How Podfeet.com Works
10 Jan 2026
Contributed by Lukas
Bart continues his unofficial series where he listens for where I say, "I wish I understood..." This time, he explains the history of how Podfeet.com ...
PBS Tidbit 15 — Building an Indie Author Site with Hugo by Eddie Tonkoi
06 Nov 2025
Contributed by Lukas
This week, we have a guest contribution by the fabulous Eddie Tonkoi. He walks us through his journey to move his wife's book series website using a s...
PBS Tidbit 14 — Coding with AI
26 Oct 2025
Contributed by Lukas
You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net. Read an unedited, auto-generated transcript with chapter...
PBS Tidbit 13 — PowerShell Tames Monty
20 Jul 2025
Contributed by Lukas
Bart had an itch to scratch, and he decided to scratch it with PowerShell. You'll remember that he gave us a teaser Tidbit seven months ago in Tidbit ...
PBS 181 of X — Reusable Snippets with Jekyll Includes
07 Jun 2025
Contributed by Lukas
We've been having great fun in Programming By Stealth learning how to use Jekyll to create a website using GitHub Pages. This week Bart goes through t...
PBS 180 of X — Theming Jekyll
25 May 2025
Contributed by Lukas
We continue our series on making websites using GitHub Pages. Building on our Jekyll knowledge with Liquid templates, we now learn how to create our o...
PBS 179 of X — Introducing Liquid Templates in GitHub Pages with Jekyll
11 May 2025
Contributed by Lukas
In this episode, Bart continues teaching us about GitHub Pages using Jekyll by introducing us to Liquid Templates. Liquid allows us to move from addin...
PBS Tidbit 12 — XKPasswd Rewrite Exits Beta
23 Apr 2025
Contributed by Lukas
In this tidbit episode of Programming By Stealth, Bart Busschots and Helma van der Linden start by reviewing how she took the reins of the XKPasswd pr...
PBS 178 of X — Getting Started with Jekyll Pages
18 Mar 2025
Contributed by Lukas
Last time we learned how to install Ruby, install Bundler, install Gems, and build a very simple website using Jekyll as our static site generator int...
PBS 177 of X — Publishing A Basic Jekyll Site (GitHub Pages)
02 Mar 2025
Contributed by Lukas
In our miniseries on GitHub Pages, we learn how to create a basic Jekyll site. To do this, we must install a modern version of Ruby, install its Gem B...
PBS 176 of X — Deploying a JavaScript Web App with Webpack & GitHub Actions
16 Feb 2025
Contributed by Lukas
Way back in September of 2022, Bart finished off the Webpack miniseries by leaving it as an exercise for the student to deploy their web apps to GitHu...
PBS 175 of X — GitHub Pages: Static Site Generators
02 Feb 2025
Contributed by Lukas
In Programming By Stealth this week, Bart has started a new miniseries to teach us how to use GitHub Pages to create a website (for free.) In PBS 175,...
PBS Tidbit 11B — A PowerShell Teaser
19 Jan 2025
Contributed by Lukas
As promised, we're back with part 2 of the Powershell Teaser. We pick up where we left off, starting with learning about parameter definitions and the...
PBS Tidbit 11A — A PowerShell Teaser
03 Jan 2025
Contributed by Lukas
Bart Busschots is enamored with the open source shell from Microsoft called PowerShell. His goal was to give us a teaser on this modern shell but ther...
PBS Tidbit 10 — Run LLMs Locally with Ollama with Steve Mattan
19 Dec 2024
Contributed by Lukas
In a very unusual Tidbit episode of Programming By Stealth, Allison interviews NosillaCastaway and Programming By Stealth student Steve Mattan about h...
PBS 174 of X: Working with Git Submodules
08 Dec 2024
Contributed by Lukas
In this installment of Programming By Stealth, Bart completes his miniseries on Git Submodules. Last time he created an imaginary company with three d...
PBS 173 of X: Getting Started with Git Submodules
24 Nov 2024
Contributed by Lukas
In PBS 172 Bart Busschots explained what Git submodules are and the kinds of problems they solve. In this practical lesson, he walks us through three ...
PBS 172 of X: Git Submodules
27 Oct 2024
Contributed by Lukas
Bart takes us back into our Git miniseries to explain Git submodules, which are essentially nested Git repos. After we learn what they are, he explain...
PBS Tidbit 9 – Using Git on iOS
11 Oct 2024
Contributed by Lukas
In ye olden days, iOS kept everything sandboxed in a way that apps weren't allowed to reach outside of their own data to open individual files. But wi...
PBS 171 of X: MVC in XKpasswd-js
29 Sep 2024
Contributed by Lukas
We have a bit of a changeup for today's lesson. While Bart Busschots is in attendance for this episode, he is not be the instructor, he is a student l...
PBS 170 of X: Model View Controller (MVC)
15 Sep 2024
Contributed by Lukas
We're back from our summer hiatus (actually scheduled for the first time ever instead of accidentally happening!) In this week's episode, Bart takes ...
PBS Tidbit 8 – Interview with jq Maintainer Mattias Wadman
06 Aug 2024
Contributed by Lukas
In this Tidbit version of Programming By Stealth, Bart Busschots interviews Mattias Wadman, one of the maintainers of the jq project. This was great f...
PBS Tidbit 7 – jq to Analyze macOS Installed Apps with Helma van der Linden on
20 Jul 2024
Contributed by Lukas
In this special tidbit installment of Programming By Stealth, Helma van der Linden joins Allison to walk through how she solved a real-world problem u...
PBS 169 of X — Advanced YAML Topics
07 Jul 2024
Contributed by Lukas
In this second (and final) installment about YAML, Bart teaches us who to write multi-line strings and how not to write multi-line strings. He teaches...
PBS 168 – Introduction to YAML
22 Jun 2024
Contributed by Lukas
In Programming By Stealth, we've completed our series on the jq language and now Bart Busschots brings us a two-part miniseries about the YAML data fo...
PBS 167 of X – jq: Recursion, Syntactic Sugar, Some old Friends and a Few Honourable Mentions
08 Jun 2024
Contributed by Lukas
It was actually bittersweet for Bart and me this week as he taught the final installment in our series of Programming By Stealth about jq. As Bart say...
PBS 166 of X — jq: Processing Arrays & Dictionaries sans Explosion
26 May 2024
Contributed by Lukas
In this penultimate jq episode of Programming By Stealth, Bart introduces us to three new ways to process arrays and dictionaries without exploding th...
PBS 165 of X – jq: Variables
12 May 2024
Contributed by Lukas
In this installment of Programming By Stealth, Bart explains why jq is uniquely designed not to need variables (most of the time) and then explains ho...
PBS 164 of X – jq: Working with Lookup Tables
31 Mar 2024
Contributed by Lukas
In our previous episode of Programming By Stealth, Bart Busschots taught us how to create lookup tables with jq from JSON data using the `from_entries...
PBS 163 of X – jq: Lookups & Records
17 Mar 2024
Contributed by Lukas
In this episode of Programming By Stealth, Bart Busschots as usual works through his solution to the challenge from last time, and as usual I learn a ...
PBS 162 of X — jq: Altering Arrays & Dictionaries
03 Mar 2024
Contributed by Lukas
Bart Busschots is back to teach us how to alter arrays and dictionaries in JSON files using jq. Bart went through his challenge solution on cleaning u...
PBS 161 of X — jq: Maths, Assignment & String Manipulation
18 Feb 2024
Contributed by Lukas
In this week's episode of Programming By Stealth, Bart continues to expand our knowledge on how to use jq to query and manipulate JSON files. We learn...
PBS 160 of X — jq as a Programming Language
05 Feb 2024
Contributed by Lukas
In this week's installment of Programming By Stealth, Bart Busschots teaches us how to use jq as a programming language. Before we get into the new st...
PBS 159 of X - jq: Building Data Structures
21 Jan 2024
Contributed by Lukas
In this very meaty episode of Programming By Stealth, Bart Busschots teaches us how to build data structures using jq with JSON files. We're not just ...
PBS 158B - jq More Advanced Queries
31 Dec 2023
Contributed by Lukas
Two weeks ago, Bart Busschots and I recorded a Programming By Stealth episode covering more queries using the jq language on our JSON files. We spent ...
PBS 158A – jq: More Queries
21 Dec 2023
Contributed by Lukas
In Programming By Stealth this week, Bart Busschots and I start off by going through the challenges from our previous installment. Remember how I said...
PBS 157 of X — jq: Querying JSON with `jq`
10 Dec 2023
Contributed by Lukas
In this week's episode of Programming By Stealth, Bart Busschots continues his instruction on learning more about how to use the jq language to query ...
PBS 156 of X — Extracting Data with `jq`
25 Nov 2023
Contributed by Lukas
After the last episode of Programming By Stealth where Bart gave us an intro to jq and the problems it can solve, this week we start to get our feet w...
PBS 155 – Introducing JSON Processing from the Shell with `jq`
19 Nov 2023
Contributed by Lukas
After our annual break from Programming By Stealth that happens at an unknown time for an unknown length every single year, Bart and I are back with a...
PBS 154 — Bash: Expansions & Brackets Redux
03 Sep 2023
Contributed by Lukas
Bart Busschots joins us for Programming By Stealth with the final installment of our miniseries on Bash. He explains a few new concepts, but the real ...
PBS 153 – Bash: Functions & Scope
30 Jul 2023
Contributed by Lukas
In Programming By Stealth, we've come to the end of our journey with Bash. I'll be sad to have it complete because as I tell Bart in this episode, I'v...
PBS 152B of X — Bash: xargs & Easier Arithmetic
08 Jul 2023
Contributed by Lukas
In Programming By Stealth 152A Bart and I decided to hold off on the middle of the lesson he'd written up. That middle bit where he said to "put a pin...
PBS 152A of X — Bash: xargs & Easier Arithmetic
25 Jun 2023
Contributed by Lukas
I don't always make the time to pre-read the shownotes for Programming By Stealth but I never regret when I do make the time. That was especially true...
PBS 151 of X — Bash: Printf and More
28 May 2023
Contributed by Lukas
This week's Programming By Stealth wasn't a heavy lift but I managed to get confused a couple of times anyway so expect lots of questions from me in t...
PBS 150 of X – Bash Script Plumbing (Take Two)
14 May 2023
Contributed by Lukas
When Bart and I recorded PBS 150 on Bash Script Terminal Plumbing, neither of us was happy with it. I got very confused in the middle, and Bart decide...
PBS 149 of X — Better Arguments with POSIX Special Variables and Options
16 Apr 2023
Contributed by Lukas
In this rather mind-bendy episode of Programming By Stealth, Bart Busschots takes into the weird world of POSIX special variables and options. He refe...
PBS 148 – A Bash Potpourri (Subshells, Relative Paths & More)
26 Mar 2023
Contributed by Lukas
This week's Programming By Stealth is a great lesson on how no matter how long you've been coding, you'll still get caught out from time to time and t...
PBS 147 – Bash Arrays
18 Mar 2023
Contributed by Lukas
In this week's episode of Programming By Stealth, Bart walks us through how to create, add to, and extract from arrays using Bash. It's a very light e...
PBS 146 of X – Shell Loops
05 Mar 2023
Contributed by Lukas
As Bart continues our education in shell scripting, he explains the simplicity of looping. He explains the four types of loops: while, until, for, and...
PBS 145 of X — Shell Conditionals
19 Feb 2023
Contributed by Lukas
Bart continues his miniseries on shell scripting by teaching us conditionals in the shell. In order to explain why conditionals are a bit odd in shell...
PBS 144 – Basic Shell Script IO
04 Feb 2023
Contributed by Lukas
This week our guest is Bart Busschots with Programming By Stealth 144. When last we recorded, Bart started teaching us the basics of shell scripting u...
PBS 143 — Shell Script Basics
08 Jan 2023
Contributed by Lukas
In this week's episode of Programming By Stealth, Bart Busschots starts building out one more tool in our toolbox: shell scripts. Bart starts with the...
PBS 142 — The XKPasswdJS Project Kickoff!
11 Dec 2022
Contributed by Lukas
In this week's installment of Programming By Stealth, Bart officially kicks off the XKPasswdJS project. This is what we've all been waiting for! As I ...
PBS 141 — Generating UML Class Diagrams with Mermaid (Don't Cuddle the Mermaid)
27 Nov 2022
Contributed by Lukas
In the last installment of Programming By Stealth, Bart taught us all about UML class diagrams for documenting the structure of our code. In this inst...
PBS 140 of X — UML Class Diagrams
13 Nov 2022
Contributed by Lukas
Bart and I are back from summer vacation to kick back into gear on Programming By Stealth. As you may remember, we've been learning all of the tools w...
PBS Tidbit 6 of Y — A Real-World Webpack Case Study
18 Sep 2022
Contributed by Lukas
In the past few episodes of Programming By Stealth, Bart has been walking us through worked examples to demonstrate how to roll up a web app using Web...
PBS 139 of X — Bundling a Web App/Site with Webpack (Part 2)
04 Sep 2022
Contributed by Lukas
In our last installment of Programming By Stealth, Bart started teaching us how to bundle an app/website using our bundler of choice, Webpack. The app...
PBS 138 – Bundling a Web App/Site with Webpack (Part 1)
05 Aug 2022
Contributed by Lukas
We're back in the saddle after a summer of "PBS Adjacent" installments. Our last real PBS was learning how to use Webpack to bundle a JavaScript libr...
PBS Tidbit 5 of Y — Tips for the Vacationing Programmer
10 Jul 2022
Contributed by Lukas
I'm about to go on vacation where I suspect I'll have little to no Internet to play with. It would be really cool if I could use any downtime (like on...
PBS 137 of X — Bundling a Library with Webpack
17 Apr 2022
Contributed by Lukas
We have one more thing to learn as we gear up to actually start writing modern code for Bart's HSXKPasswd tool. The last piece of our tool kit is a bu...
PBS Tibit 4 of Y — Rethinking a Web App – from Web Server to Cloud Stack
01 Apr 2022
Contributed by Lukas
Over the past few months, podfeet.com went through a period of really poor performance. My site hadn't been snappy in the last few years with page loa...
PBS Tidbit 3 of Y
20 Mar 2022
Contributed by Lukas
In this Programming By Stealth adjacent installment labeled Tidbits 3 of Y, Bart Busschots talks to us about the dangers of using other people's code ...
PBS 136 of X — More Jesting
06 Mar 2022
Contributed by Lukas
Bart Busschots taught us the basics of Jest last time for our Test Driven Development environment. This week we learn to group our tests using the `de...
PBS 135 of X – Introducing Jest (and re-Introducing Test Driven Development & Unit Testing)
20 Feb 2022
Contributed by Lukas
In this week's installment of Programming By Stealth, Bart takes us down memory lane to 102 episodes ago when he first introduced us to the concept of...
PBS Tibit2 – It's Ok to Play a Different Game!
07 Feb 2022
Contributed by Lukas
This episode of Chit Chat Across the Pond perfectly straddles the line between Programming By Stealth and Lite. While it's definitely a nerdy discussi...
PBS 134 of X — Firming up our Foundations (2 of 2)
23 Jan 2022
Contributed by Lukas
In this installment of Programming By Stealth, Bart Busschots finishes firming up our foundation on a few more things before we meet Jest, which will ...
PBS 133 of X – Firming up our Foundations (1 of 2)
10 Jan 2022
Contributed by Lukas
In this installment of Programming By Stealth, Bart Busschots takes us through some review in order to prepare us to begin our journey into test drive...
PBS 132 of X — Managing JSDoc
22 Dec 2021
Contributed by Lukas
In this final Programming By Stealth and final Chit Chat Across the Pond for 2021, Bart teaches us how to manage our documentation in JSDoc. As any g...
PBS 131 of X – Introducing JSDoc
14 Dec 2021
Contributed by Lukas
In our last installment, Bart explained why good documentation matters to ourselves and to other developers who want to use our code, and he also expl...
PBS 130 of X – Good Technical Documentation
28 Nov 2021
Contributed by Lukas
As we embark on our journey to create a JavaScript module for the strong, memorable password generating service XKPASSWD, Bart explains the importance...
PBS 129 of X - ESLint with Guest Instructor Helma Van der Linden
14 Nov 2021
Contributed by Lukas
Bart Busschots had a vision that certain things we would learn in Phase 2 of Programming By Stealth would be taught by guest lecturers. I thought he w...
PBS 128 of X – JavaScript Module Basics
03 Nov 2021
Contributed by Lukas
This installment of Programming By Stealth could probably have been two segments but all of us are itching to get moving quickly so we decided to powe...
PBS 127 of X – Introducing NPM (and Node)
16 Oct 2021
Contributed by Lukas
As we launch full steam into Phase 2 of Programming By Stealth, Bart Busschots introduces us to the Node Package Manager and Node itself. Unlike our ...
PBS 126 of X - Introducing Phase 2
03 Oct 2021
Contributed by Lukas
At episode 700! of Chit Chat Across the Pond we take Programming By Stealth into what Bart is calling Phase 2. We've learned a great deal about the c...
PBS 125 of X – Chezmoi on Multiple Computers
18 Sep 2021
Contributed by Lukas
In this final episode of Programming By Stealth before we launch into the back end of web development with PHP, Bart finishes his miniseries on Chezmo...
PBS 124 of X – Chezmoi Templates
05 Sep 2021
Contributed by Lukas
Bart has been really excited to teach this next installment of Programming By Stealth where we really dig into learning about Chezmoi templates, inclu...
PBS 123 of X — Backing up and Syncing Dot Files with Chezmoi
23 Aug 2021
Contributed by Lukas
In this week's episode of Programming By Stealth, Bart Busschots continues his instruction on how to use the open source tool Chezmoi to manage our do...
PBS 122 of X – Managing Dot Files with Chezmoi
08 Aug 2021
Contributed by Lukas
In our previous installment of Programming By Stealth, Bart introduced us to Chezmoi, an open source tool to help us manage dot files, those hidden co...
PBS 121 of X — Managing Dot Files and an Introduction to Chezmoi
24 Jul 2021
Contributed by Lukas
As we've become nerdier while learning from Bart, we had started to add hidden configuration files to our Macs and PCs. On the Mac, these configuratio...
PBS 120 – Ignoring Files in Git
11 Jul 2021
Contributed by Lukas
A few weeks ago I told Bart off the air that when he was done with his mini-series within a series all about the version control system Git, I'd like ...
PBS 119 of X — Open Source on GitHub
27 Jun 2021
Contributed by Lukas
As promised, Bart takes us through the final step in our GitHub journey - learning how to contribute to an open source project. He explains three ope...
PBS 118 of X — JavaScript Apps with GitHub Pages
12 Jun 2021
Contributed by Lukas
In this installment of Programming By Stealth, Bart Busschots teaches us how to use a free service of GitHub called GitHub Pages. This service litera...
PBS 117 of X – Introducing GitHub
30 May 2021
Contributed by Lukas
In this week's installment of Programming By Stealth, Bart teaches us how to use GitHub as a public repository for our code, or for anything we write ...
PBS 116 0f X – Team Git
16 May 2021
Contributed by Lukas
In previous installments of our Git miniseries within a series in Programming By Stealth, Bart taught us how to work in Git standalone on one computer...
PBS 115 of X – The Push & Pull of Git
02 May 2021
Contributed by Lukas
When Bart started this mini-series within a series on using Git for version control, he explained that our journey would be in three Phases. Phase 1 ...
PBS 114 – Tracking Git Branches
18 Apr 2021
Contributed by Lukas
We continue on our journey to learn how to use Git to do version control as a single person, but this time with multiple devices. As Bart says during ...
PBS 113 of X My First Git Remote
04 Apr 2021
Contributed by Lukas
Last time on Programming By Stealth, Bart introduced the concept of remote repositories, also known as remotes. It was one of those episodes where we...
PBS 112 of X – Introducing Git Remotes
21 Mar 2021
Contributed by Lukas
In this next installment in our mini-series on learning Git, Bart Busschots gives us some foundational knowledge on how to work beyond being one perso...
PBS 111 of X – Stashing Changes
01 Feb 2021
Contributed by Lukas
In this installment of Programming By Stealth, Bart teaches us how Git can help us when we forget to switch to the correct branch before starting to m...
PBS 110 of X – Merge Conflicts
17 Jan 2021
Contributed by Lukas
In this installment of Programming By Stealth Bart teaches us how to deal with conflicts in branches of our code. He has been purposely only changing ...
PBS 109 of X — SemVar & Structured Commits
29 Dec 2020
Contributed by Lukas
We continue our mini-series within a series learning the version control system Git. We learn two methods to enhance our branching strategy. First, we...
PBS 108 of X — Merging & Tagging
18 Dec 2020
Contributed by Lukas
In this installment of Programming By Stealth, Bart Busschots continues on his series within a series explaining the version control system Git. We a...
PBS 107 of X – Branching Basics
29 Nov 2020
Contributed by Lukas
This week in our miniseries on learning the version control system Git, Bart dips our proverbial toe into branching. Branches allow us, as developers...
PBS 106 of X — Time Travel with Git
20 Nov 2020
Contributed by Lukas
As we continue to learn Git from the command line for version control, Bart teaches us some tricks to travel through time. First he shows us how to v...
PBS 105 of X – Seeing the Past with Git
08 Nov 2020
Contributed by Lukas
Bart takes us on a time traveling adventure with Git. By using commands like `git diff` we can see changes over time, but we can actually see older v...
PBS 104 of X – Tracking Changes in Git
25 Oct 2020
Contributed by Lukas
In our next baby step in learning to use the version control system Git, Bart teaches us how to track changes. We start by doing a bit of housekeepin...