Sinopsis
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.
Episodios
-
PBS 156 of X — Extracting Data with `jq`
25/11/2023 Duración: 52minAfter 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 wet by learning how to extract data from JSON files. We learn how to descend into dictionaries and arrays, and how to slice arrays. Learn how jq will output sarcasm about "Bart Busschots" if you don't learn how to ask it for raw output. We even learn how to extract data from multiple files at once and how to extract multiple values from our JSON files. Finally, we learn about exploding arrays and how to suppress errors. I think I really love data manipulation because I loved this episode. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_11_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!
-
PBS 155 – Introducing JSON Processing from the Shell with `jq`
19/11/2023 Duración: 44minAfter 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 new episode of Programming By Stealth. Bart introduces us to a language called jq _and_ a terminal command called `jq` which together are used to help query JSON files, see "pretty versions of them, and also to manipulate them. We don't learn a lot of commands but Bart walks us through a few examples to help illustrate why we care, or shall I say, "the problem to be solved"? I'm sold on the idea having just mucked about in a config files for homebridge this week. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_11_18 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!
-
PBS 154 — Bash: Expansions & Brackets Redux
03/09/2023 Duración: 01h06minBart 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 value of this installment and especially his fabulous tutorial shownotes is that he compiles a lot of info into some tables for us to use as reference for the future. As with all good programming, Bart is scratching his own itch - he wanted a single place to go to know which brackets mean which and which ones do you have to cuddle vs. not cuddle. He also wanted a table of the order in which Bash processes the seven distinct expansions. We're closing out Bash but Bart has a new miniseries on the horizon to look forward to. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.
-
PBS 153 – Bash: Functions & Scope
30/07/2023 Duración: 01h06minIn 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've really enjoyed it. Next time he will do a final bow-tying episode where he brings everything we learned together in one set of notes as a handy reference guide. In this episode, he explains how functions work in Bash, and after about the 12th time he repeated it, I understand that functions we create in Bash work just like built-in functions such as `ls` or `cat`. After walking us through some easy-to-follow scripts to illustrate this and show us the syntax, we go into a harder concept: scope. We learn that Bash does scope differently from pretty much every other language, and so he teaches us how to avoid spooky action at a distance because of this different way of dealing with scope. Protecting ourselves isn't actually hard but it is very important to understand why we need to do this. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.
-
PBS 152B of X — Bash: xargs & Easier Arithmetic
08/07/2023 Duración: 49minIn 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 in it" was about the use of `xargs`. I'm really glad we did skip it in the last installment. It's a pretty useful concept and deserved a lot more attention than it would have if we'd tried to cram it into that episode. The other good news is that Bart learned a bit more about _how_ `xargs` does its magic, so he is better able to explain it, and he updated the shownotes with a lot more detail and a great worked example. As a teaser, the big problem `xargs` was designed to solve is that there are times when we want the data from the standard input stream (STDIN) to be passed to another command as one or more arguments. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_07_08
-
PBS 152A of X — Bash: xargs & Easier Arithmetic
25/06/2023 Duración: 01h11minI 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 this week. In this installment, Bart Busschots takes us through his solution to the challenge from PBS 151, which was to print a "pretty" multiplication table using the `printf` command. Being Bart, he didn't just make the columns line up nicely, he took it up a notch and added ASCII characters that build a nice border and corners around his table. The reason I said it was good I pre-read the shownotes is that while nearly everything he explains in this lesson was a reuse of things he's taught us before, the commands are so dense in Bash that it was particularly hard to read and comprehend. We had also taken 4 weeks between lessons which made it even harder to remember. Because I told Bart ahead of time that I was going to be stopping him to ask lots of questions, we decided to skip the one main topic he had planned to explain - `xargs`. This means that
-
PBS 151 of X — Bash: Printf and More
28/05/2023 Duración: 01h20minThis 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 this one. Bart started the show by telling us about a clever tip from listener Jill of Kent about how to detect when the Terminal talking to and from STDIN, STDOUT, and STDERR. Then we learn about how to use the `printf` command to make nicely formatted output. I especially liked that part because I love me some organized output. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.
-
PBS 150 of X – Bash Script Plumbing (Take Two)
14/05/2023 Duración: 01h46minWhen 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 decided that his original strategy might have been flawed in which he assumed everyone had heard Taming the Terminal and remembered everything taught more than 4 years ago. He completely rewrote the shownotes and we re-recorded the entire episode. It was ever so much more fun and I really understood what he was teaching this time through. He also realized after we recorded that there was a bit of information he hadn't taught us which was crucial to being able to complete the challenge he had set for us. If you understood PBS 150 the first time through and want to jump right to the new part, I put a chapter mark in the audio file that will take you to where he explains `/dev/tty`. We're proud to have done this because we are both of the same mind that we need to stay committed to the quality of what we're creating here, both for the current listeners and the future le
-
PBS 149 of X — Better Arguments with POSIX Special Variables and Options
16/04/2023 Duración: 01h27minIn this rather mind-bendy episode of Programming By Stealth, Bart Busschots takes into the weird world of POSIX special variables and options. He refers to some of them as being like handling nuclear power, at one point he suggests mind-altering drugs must have been involved in the design, and he even compares one of our newly learned tools to a chainsaw. He powered us through amidst my many interruptions with questions to where we can now write shell scripts that take flags and optional arguments using `getopts`. The final form of the syntax is very readable but knowing the reasons behind each bit is crucially important. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_04_15
-
PBS 148 – A Bash Potpourri (Subshells, Relative Paths & More)
26/03/2023 Duración: 01h03minThis 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 think that the universe makes no sense. When Bart was working on the challenge from PBS 147, he ran into a bizarre situation for many hours. He eventually figured out what was going on, but it changed this installment into a walk down what went wrong, what he learned, and gave him the opportunity to teach us even more about shell scripting. The entire installment is all about the solutions to the challenge from PBS 147 so you might want to take a shot at it yourself before listening to or reading this week's installment. Before we get started, I also explained how we now have a terrific way to share our work on the challenges, through a GitHub Organization called pbs-students. I wrote it up in the article entitled [Introducing the Programming By Stealth Student Organization in GitHub](https://www.podfeet.com/blog/2023/03/pbs-students-github) You can find Ba
-
PBS 147 – Bash Arrays
18/03/2023 Duración: 53minIn 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 episode, which I manage to drag out longer by making him slow down and dig into the syntax used for arrays. It's not just me being dense (this time), there are squirrely brackets, square brackets, single quotes, double quotes, and the good old octothorp thrown in for some extra fun. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Join the Conversation: allison@podfeet.com podfeet.com/slack Support the Show: Patreon Donation PayPal one-time donation Podfeet Podcasts Mugs at Zazzle Podfeet 15-Year Anniversary Shirts Referral Links: Parallels Toolbox - 3 months free for you and me Learn through MacSparky Field Guides - 15% off for you and me Backblaze - One free month for me and you Setapp - One free month for me and you Eufy - $40 for me if you spend $200. Sadly nothing in it for you. PIA VPN - One month added to Paid Accounts for bo
-
PBS 146 of X – Shell Loops
05/03/2023 Duración: 01h06sAs Bart continues our education in shell scripting, he explains the simplicity of looping. He explains the four types of loops: while, until, for, and select, along with the simple syntax of do/done within a loop. He walks us through a lot of examples that illustrate how each one of these loops work. He ends by giving us a challenge, because teacher's pet Allison asked for homework last time. Enjoy this episode along with Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_03_04
-
PBS 145 of X — Shell Conditionals
19/02/2023 Duración: 58minBart 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 scripting, Bart first walks us through how it was originally done and then shows us the evolution to a much better method. It's still weird, and many things are opposite of what you'd expect (like 4 is actually > 10), but he gets us there in the end. I was most excited to finally learn what `fi` means, which shows up in shell scripting and I'd seen before in AppleScript. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_02_18
-
PBS 144 – Basic Shell Script IO
04/02/2023 Duración: 43minThis week our guest is Bart Busschots with Programming By Stealth 144. When last we recorded, Bart started teaching us the basics of shell scripting using Bash. We learned how to collect terminal commands into a reusable shell script, but we didn't learn how to accept any kind of input. In this installment, we learn how to take inputs either from the execution of the command or from user input and how variable names are created for the different ways of receiving input. We also learn about Exit Codes, which are really error codes, and how they can be used in boolean logic. This knowledge will come into play when we learn next time about how to do conditionals and loops. It's a short episode, and as Bart says, "not a heavy lift." You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_02_04
-
PBS 143 — Shell Script Basics
08/01/2023 Duración: 57minIn 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 basics explaining how to tell our little scripts which shell to run using the shebang line, the structure of shell scripts, commenting, assigning, and using variables, and how to write strings without having to escape every space and unusual character. Throughout the installment, Bart refers back to things we learned in Taming the Terminal podcast and tutorial. If you haven't listened to or read this series, you can download the book Helma helped us to produce using the Apple Books Store, or access it in a beautiful HTML version at [ttt.bartificer.net/...](https://ttt.bartificer.net/book.html), both of which have the audio of the podcast embedded within. You can find even more formats at [podfeet.com/tttbook](https://www.podfeet.com/blog/download-ttt-book/). Read an unedited, auto-generated transcript: CCATP_2023_01_07
-
PBS 142 — The XKPasswdJS Project Kickoff!
11/12/2022 Duración: 57minIn 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 said to Bart at the end of our recording, we're no longer fixing to make a plan, we _have_ a plan. The shownotes for this episode point to the README file for the GitHub project. Bart explains n the podcast that we'll have a project skeleton phase where Bart will define the code that has to be ported from Perl to JavaScript, and he'll build the guidelines that will help us work as a team of contributors. This means things like a style guide, automated scripts to build the project, and configuration files for the tooling. He has a vision that we'll work on the direct port next, with no enhancements and I tried to get him to take a dollar bet on whether that goal will be achieved, but he didn't fall for it. After that, we'll go into maintenance mode. It's a fun episode because we're finally moving forward after learning all of the tools we'll need to make the
-
PBS 141 — Generating UML Class Diagrams with Mermaid (Don't Cuddle the Mermaid)
27/11/2022 Duración: 35minIn the last installment of Programming By Stealth, Bart taught us all about UML class diagrams for documenting the structure of our code. In this installment, Bart teaches us how to use the ASCII diagramming tool Mermaid to make our class diagrams. The advantage of Mermaid over a graphical tool to make our diagrams is that we'll be able to use Git to do version control for them. I think the most important part of this installment was when we learned that we shouldn't ever cuddle the mermaid. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.
-
PBS 140 of X — UML Class Diagrams
13/11/2022 Duración: 01h06minBart 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 we'll need to rewrite, test, and document Bart's password generation library xkpasswd from perl to JavaScript. In order to start the rewrite, we need to understand the structure of the code we're going to write, and instead of writing up a long text requirements document, we're going to use a standard software diagramming language called UML Diagrams. In particular, we're going to be using UML Class Diagrams. Bart will probably do most of the diagramming himself as he dusts off decades-old code but we need to learn how to read UML Class Diagrams ourselves, so it will be another tool in our toolbelt. Most podcasts would stick to everyday examples, but not here at the Podfeet Podcasts. Instead, Bart will teach us some Particle Physics along the way and you get that for free with this installment of Programming By Stealth. You can find Bart's fabulous tutorial s
-
PBS Tidbit 6 of Y — A Real-World Webpack Case Study
18/09/2022 Duración: 01h01minIn 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 Webpack. These worked examples have been contrived to show how to perform the task. This week in a Tidbit episode, Bart walks us through how he tried using the skills he's been teaching us to roll up his [this-ti.me](https://this-ti.me) web app. It's a real-world test of the technologies and it allowed him to describe some of the pitfalls he fell into (though they were few and far between). It also gave him a chance to exercise the Webpack documentation, which happily turned out to be very good. There's no heavy lifting in this episode and no work to do to follow along. Instead, sit back and relax while you listen to Bart give advice on how to approach this task in your own code. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. [audio mp3="https://media.blubrry.com/nosillacast/traffic.libsyn.com/nosillacast/CCATP_2022_09_17.mp3"] mp3 do
-
PBS 139 of X — Bundling a Web App/Site with Webpack (Part 2)
04/09/2022 Duración: 01h05minIn 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/website he's creating for us is very simplified but is intended to allow us to exercise every one of the kinds of things we'd want to bundle. This week we finish all of the tools he wanted to teach us to bundle. In PBS 138, after explaining to us why we would want to do this, and initializing things, he taught us to import a pure JavaScript library with jQuery as an example, and a pure CSS library with basic Bootstrap as the example. In this week's show, we learn how to install and use Mustache for templating in a Webpack world. The process is quite a bit different from how we originally learned to implement Mustache in Programming By Stealth. Then we learn how Bootstrap 5 now lets us import just what we need (instead of all of Bootstrap). We need some fancy icons so Bart teaches us about Bootstrap icons which he now favors for free icons over Font Awesome.