
Programming By Stealth
A collaborative project between Bart Busschots and Allison Sheridan to sneak up on real programming in small easy steps, using the allure of the web as the carrot to entice people forward.
Episodes
Reading the feed…

A collaborative project between Bart Busschots and Allison Sheridan to sneak up on real programming in small easy steps, using the allure of the web as the carrot to entice people forward.
Reading the feed…
We're back with Part B of Tidbit 19, where Bart walks us through the architecture of his Linkifier module. He starts with the three data modeling classes that he's been using for decades, but explains how hard it is today to extract article headlines. He walks through how he developed an extraction logic but had to do it per domain. That sounds crazy but he uses surprisingly few sites for his articles for Security Bits and Let's Talk Apple. You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net.
In Part A of Tidbit 19, Bart explains the problem he needed to solve, which was bringing a script he's written up into the modern age as a JavaScript command-line interface app that can help navigate the AI landscape. As always, his explanation is geared towards teaching us the fundamentals with his problem as the example. The shownotes are for Part A and B, but we've only recorded the first half so far. You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net.
One of the things that helps your posts get traction is if you have a nice, pretty card that displays when you post the URL on social media. Plain blue links just don't get clicked. With WordPress and other dynamic Content Management Systems (CMSs), you can get plugins to create the pretty cards. But with Jekyll (and Hugo and other Static Site Generators), you need to build the capability into your theme. It's not hard, you just need to know what metadata to build, and of course, Bart is here to teach it to us. You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartif
This final instalment of Sass lays a strong foundation for our return to developing statically generated websites with Jekyll. We learn how to deeply customise and integrate Bootstrap into our own styles. As is often the case, Bart starts by describing the different techniques that can be used to customise Bootstrap with Sass, and then ties it all together with a worked example. We now have the tools to use Bootstrap, even if our website uses a content management system like WordPress. You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net. Read an unedited
This week, Bart and I recorded the second half of Programming By Stealth installment 184. The first half covered the Sass basics, and in this half, we get to learn through a worked example how to write in Sass, which compiles to regular old CSS. He created a little web page with some wise and humorous quotes from notable people in history, and used everything we learned in the first half to style the page. As I told Bart at the end, it's great that he teaches us the foundation of these tools, but it's equally great to have a worked example where we can see theory in action, and reference these
In our most recent installment, Bart taught us how to use CSS "variables" (custom properties) to customize Bootstrap to make your pages not look like every other Bootstrap page on the Internet. He explained at the end that you can take all of this quite a bit further if you learn how to use Sass (Syntactically Awesome Style Sheets). Sass is a preprocessor for CSS, which means it creates "normal" CSS but allows you a lot more flexibility in how to create that CSS. For example, you can even create lists and maps and loop over them just like a proper programming language. We get Sass for free wit
In our previous installment, Bart taught us how to use CSS "Variables" to style our web pages and web apps. In this installment, he takes it up a notch by showing us how to start with a Bootstrap-enabled page, and still customize the colors, fonts, and more with CSS "Variables". You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net. Read an unedited, auto-generated transcript with chapter marks: PBS_2026_04_25 Join our Slack at podfeet.com/slack and look for the #pbs channel, and check out our pbs-student GitHub Organization. It's by invitation only, but a
In this very fun installment of Programming By Stealth, Bart teaches us how to use CSS “variables”, which aren’t actually variables (they’re custom properties). These non-variables allow you to take advantage of Bootstrap to style web pages, but make the look and feel all your own. Bart outdid himself on the shownotes, the examples, and the challenge looks super fun. You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net. If you appreciate the work Bart puts into Programming by Stealth, consider supporting him through Patreon or Paypal by going to supportin
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 YAML front matter and more. In this Tidbit, Bart walks us through how he used everything he learned and taught us to migrate his Let's Talk website from WordPress to Jekyll hosted on GitHub Pages. It's a fun episode because we learn what worked well, what slipped through the cracks, and what he forgot to do. He built up a lot of technical debt on Let's Talk with his Let's Talk Apple and Let's Talk Photography podcast posts, so he highly encourages
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 plot right where Helma begins to teach how to reuse the Docker image created in the first half of the lesson. You can find Helma's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net Join the Conversation: allison@podfeet.com podfeet.com/slack Support the Show: Patreon Donation Apple Pay or Credit Card one-time donation PayPal one-time donation Podfeet Podcasts Mugs at Zazzle NosillaCast 20th Anniversary Shirts Referral Links:
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 Docker better, and Helma has some great use cases for how to use them for developer setups so it was a good opportunity for Bart to learn from Helma. The material is quite long, so the podcast was recorded in two segments, Tidbit 17a and b. Tidbit b will be along shortly, and picks up and the heading entitled "Reusing the Docker image". You can find Helma's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net Join the Conversati
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 has evolved over the last 20 years. We started with a shared server, then a virtual machine, to a dedicated server, and to a separate database server. He explains how the LAMP Stack works (Linux, Apache, MySQL, and PHP) and all the work Apache had to do. Then he explains how, when I moved Podfeet.com to NGINX + PHP-FPM, things got much more efficient. He even takes us through how Cloudflare protects my site and provides caching to speed up access
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 static site generator called Hugo. He hosts the generated files on GitHub and serves them (for free) through Cloudflare. You can find Eddie's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net. Read an unedited, auto-generated transcript with chapter marks: PBS_2025_11_05 Join our Slack at podfeet.com/slack and look for the #pbs channel, and check out our pbs-student GitHub Organization. It's by invitation only, but all you ha
You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net. Read an unedited, auto-generated transcript with chapter marks: PBS_2025_10_25 Join our Slack at podfeet.com/slack and look for the #pbs channel, and check out our pbs-student GitHub Organization. It's by invitation only but all you have to do is ask Allison! Join the Conversation: allison@podfeet.com podfeet.com/slack Support the Show: Patreon Donation Apple Pay or Credit Card one-time donation PayPal one-time donation Podfeet Podcasts Mugs at Zazzle NosillaCast 20th Anniversary Shirts Referral Links:
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 11, and we still haven't started learning PowerShell so this one is yet another teaser. The itch he had was trying to understand the "Monty Hall Problem" [en.wikipedia.org/...](https://en.wikipedia.org/wiki/Monty_Hall_problem), and by writing a script to simulate a thousand rounds of the game, he was able to finally understand the solution. It is great fun hearing Bart describe how he spent the first few days of his annual leave programming ... b
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 the challenge he left us with last time — to add a nav bar to our little static website using Bootstrap 5 along with Jekyll and Liquid templates. Bart had a lot of fun with his solution so it was fun to hear him dust off the cobwebs on Bootstrap. Then we turn to learning about Jekyll's `includes` feature, which is reusable snippets similar to how TextExpander snippets let you write something and change it in only one place. The worked examples sim
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 own theme with Jekyll layouts. The terminology of Jekyll is still tricky, but with some worked examples and a challenge this time, maybe it will start to cement in our brains! You can find Bart's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net.
In this episode, Bart continues teaching us about GitHub Pages using Jekyll by introducing us to Liquid Templates. Liquid allows us to move from adding static content to our web pages to auto-generated information. It's a lot for one lesson, and some of the terminology is a little weird, but as always, Bart's worked example brings it home. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.
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 project to first convert it from Perl to JavaScript, then to rewrite the web app. After that, she separated the JavaScript library from the web app code. This episode is primarily walking through exactly how she accomplished that split. And now XKPasswd is officially out of beta and available at xkpasswd.net You can find Helma's fabulous tutorial shownotes and the audio podcast at pbs.bartificer.net.
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 into GitHub. In this installment of our Jekyll miniseries, Bart explains Jekyll's build process which is mostly automated by how you name things and the content of the files you create (like adding YAML front matter.) Then we spend some quality time bemoaning how the Jekyll developers reuse the word "assets" to mean two different things. Bart avoids some of the associated confusion by creating some naming conventions of our own. We get to do a worke
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 Bundler, create a little placeholder site, and then serve Jekyll to view our site locally. We push it to GitHub where the GitHub Actions we learned about last time do their magic and create a real website all for free. But we didn't stop there. One of our goals is to create our own theme, and to build on what we get with Bootstrap. We actually download the source, not compiled version of Bootstrap and pick and choose the files we want to use. Whil
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 GitHub Pages. Bart closes that circle in this installment while teaching us how to use GitHub Actions. We learn about workflows, jobs, steps, events, and runners. Bart includes great tables in the shownotes of the terminology, so we now have a handy reference guide for making our own YAML files to run GitHub actions. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript with chapter marks: P
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, he starts by explaining what Static Site Generators (like GitHub Pages) are, and the pros and cons vs. a more traditional content management system like WordPress. Neither are wrong, they just solve the same problem in different ways. He then gives us the framework for the tools we'll be using and lays out the next few lessons where we'll get in and get our hands dirty. I'm extremely excited about this miniseries and I hope you will be too. You
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 advantages such a structured language affords us, including automatically generated help files and error checking. Bart updated the shownotes to include valuable resource links to take your PowerShell to a higher level. We walk through our plan for 2025, where Bart is going to teach us about GitHub Pages (which power the Programming By Stealth shownotes) and then how to change the style you see with Bootstrap to make it your own. After that we e
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 there was enough material in his shownotes that we're recording the audio in two halves. Feel free to read ahead in the shownotes if you like, or you can wait till the second installment to read the rest. In this first half, we learn about how Bart begrudgingly started using PowerShell and what made him become such a fan. He walks us through the philosophy and then the structure of commands first. We get to play with a few tiny scripts to illustrate