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 136 of X — More Jesting
06/03/2022 Duración: 01h57sBart 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 `describe()` function in Jest. Grouping tests with describe does more than eliminate the need to comment our code, it also provides more useful output from our tests and scopes what happens inside. As Bart describes it, we climb "Mount Jest" at one point as he explains how we can also loop our tests (instead of repeating code as we did last time) using `describe.each()()`. It's a little head bending with arrays of arrays and functions of functions but it sounds worse to describe than it actually is to read and create. He then describes ways to run certain setup and tear down functions before and after our tests are run and why we might need to do that. Finally, we get the last cool thing we'll need to understand about Jest, and that's how to use the `.only` and `.skip` modifiers on our tests so that we can focus on individual tests while we're chasing bugs.
-
PBS 135 of X – Introducing Jest (and re-Introducing Test Driven Development & Unit Testing)
20/02/2022 Duración: 01h10minIn 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 test-driven development. He explains why back then he taught us how to use QUnit for our TDD work, and why it's no longer in favor with him. It's not just the advancements in technology like ES6, but it's also because QUnit makes it terribly hard to write tests and to interpret what you've written when you've been away from it for a while. He walks us through his criteria for picking a new TDD tool, and why he chose Jest for the job. He then walks us through a worked example of how to write some simple tests on a module and of course, explains how Jest does its job running our tests. I liked it, even though my head hurt during a bit of it! You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.
-
PBS Tibit2 – It's Ok to Play a Different Game!
07/02/2022 Duración: 45minThis episode of Chit Chat Across the Pond perfectly straddles the line between Programming By Stealth and Lite. While it's definitely a nerdy discussion topic, Bart Busschots is really just telling a story. He starts by explaining how he ended up a computer scientist essentially by accident, and tells us about a fantastic CS professor he had who inspired him through an assignment about a game called 8 Queens. He tells these stories as a way to explain that when I used the Terminal and `egrep` to help me solve the game Wordle a few weeks ago, it wasn't really cheating. I think whether you're a programmer or not, you'll enjoy hearing Bart explain why. Bart's shownotes can be found at pbs.bartificer.net/...
-
PBS 134 of X — Firming up our Foundations (2 of 2)
23/01/2022 Duración: 01h09minIn this installment of Programming By Stealth, Bart Busschots finishes firming up our foundation on a few more things before we meet Jest, which will be the Test Driven Development (TDD) environment we'll be learning next time. He explains in some adorable examples involving a parrot (named Polly of course) how getters can be used to construct short but powerful syntaxes that seem quite counterintuitive at first glance. These are heavily used by Jest, and without learning about them, they would simply look like magic. He said some purists may see this syntax as an abuse of getters but it's a pretty slick method that yields very readable APIs. The second thing he teaches us is that functions can actually return functions. That sounds like opening a hole in the space-time continuum but it's actually quite logical and useful as Bart explains the usefulness of this really well. No parrots involved, but lots of pancakes and waffles in his examples. You can find Bart's fabulous tutorial shownotes at pbs.bartif
-
PBS 133 of X – Firming up our Foundations (1 of 2)
10/01/2022 Duración: 01h08minIn this installment of Programming By Stealth, Bart Busschots takes us through some review in order to prepare us to begin our journey into test driven development (TDD) with the tool Jest which he's chosen for our TDD. He clears up some confusion on the difference between `npm install` and `npm ci`, and then he gives us more guidance on when to use which JSDoc tags, especially when documenting plain objects. He gives us a refresher on the different ways of defining functions, and especially arrow functions which are heavily used by Jest. Jest also uses function chaining heavily so he reminds us of how that works as well. Even if you remember all of this and had it all clear in your head (I most definitely did _not_) it's great to have all of this content in one post as reference. The next installment will continue firming up our foundation with some new concepts that are heavily used by Jest. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net
-
PBS 132 of X — Managing JSDoc
22/12/2021 Duración: 01h36minIn 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 good programmer, he insists on automating as much as he possibly can. He starts by showing us each step that we have to do at the command line, and methodically puts together a JSDoc configuration file that runs scripts and helps create documentation directories, and installs plugins. Even better he helps us to configure JSDoc so that it will alert us if we make a mistake in our inline or block tags, since JSDoc by default just ignores those mistakes. Finally we walk through three different themes for our documentation and we actually choose one for the XKPASSWD project and he shows us how we can even modify the theme. It all has to do with Bart preferring blue over purple. It's great fun, and really gives us the tool we need now to get ready for the next step. You can follow along with Bart's fabulous tutorial show notes pbs.bartificer.net.
-
PBS 131 – Introducing JSDoc
14/12/2021 Duración: 01h31minIn our last installment, Bart explained why good documentation matters to ourselves and to other developers who want to use our code, and he also explained that using an automatic document generator like JSDoc could help make it easier for us to write good documentation and to keep it up to date more easily. In this week's installment, he starts to show us how to actually write JSDoc comments in line with our code. He explains the different elements of JSDoc comments and demonstrates how his own doc comments evolve as he figures out what he's trying to do. I really enjoyed this installment and his example is perfect for us nerds. I highly recommend you follow along in Bart's fabulous tutorial shownotes at pbs.bartificer.net
-
PBS 130 of X – Good Technical Documentation
28/11/2021 Duración: 01h11minAs we embark on our journey to create a JavaScript module for the strong, memorable password generating service XKPASSWD, Bart explains the importance of creating good documentation. That sounds super annoying and tedious, and it is, so Bart explains why a good documentation generator will be our friend. He outlines the two distinctly different users of our documentation: those of us who will be helping to create the code itself as part of the community project, but also for the people who will be users of our JavaScript module. Those users will be interested in how to take the module and embed it into a web page to generate passwords, or to create an Alfred scheme and more. These two different users will have different requirements, and yet our documentation generator can fill both needs without unnecessary extra work. This isn't the sexiest topic, but Bart does convince me that the tools will help us to have the rigor to do it and not let our human instincts take over and allow our documentation to get o
-
PBS 129 of X - ESLint with Guest Instructor Helma Van der Linden
14/11/2021 Duración: 01h23minBart 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 was bananas that this would work, but Helma Van der Linden, also known as Helma from the Netherlands stepped up to teach us about coding linters, and specifically ESLint. In this installment she explains what linters are, and why they're useful. Even though she's not technically fond of them, she believes in linters because of what they can do for a coding team. Once she sells that idea, she walks us through how to install ESLint inside the development environment VSCode. From there she explains style guides, and shows us how to install and use the very popular airbnb style guide. She gives us tips on usage and even how to override the linter's demands. I think it was incredibly courageous to fill Bart's shoes, and she did a fantastic job both in the podcast and in the detailed written show notes over at bartificer.net
-
PBS 128 of X – JavaScript Module Basics
03/11/2021 Duración: 01h27minThis 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 power through. In the first part of the installment, Bart introduces us to JavaScript modules by giving us a bit of a history lesson on how they've evolved. If you're brand new to modules, this will be interesting but not essential. If you have history with them though, you'll definitely need to pay close attention to understand what's changed. Then Bart gets into the details of how modules work. He explains how JavaScript modules export variables, functions, and classes and how there are named exports and default exports and how the syntax differs. What fun would learning about exports be if he didn't tell us how to import variables, functions and classes into our code for when we use these modules? We also learn about module specifiers to make it all go. Finally, Bart takes us through three worked examples where he creates some JavaScript modules that exercis
-
PBS 127 of X – Introducing NPM (and Node)
16/10/2021 Duración: 01h01minAs 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 mini-series within a series for Git and Chezmoi, Bart isn't going to do an exhaustive walk through NPM and Node. Instead he's going to teach use what we need as we go along. In order for that to make any sense at all, in this installment, he explain to us at a high level Node and NPM are, and what problems they solve. This lesson isn't all theory though, we actually get to use Node and NPM to build a tiny, self-contained JavaScript app. I had great fun in this installment and Bart's always fabulous tutorial shownotes are particularly well-written this time. You can find them over at pbs.bartificer.net/...
-
PBS 126 of X - Introducing Phase 2
03/10/2021 Duración: 01h04minAt 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 client side of programming and we're now going to move to the server side of the web. As Bart described Phase 2, I realized that it's as though we've finished out undergraduate work in computer science, and we're entering graduate school. That observation is not based on the concepts being harder, but rather because we are going to work as a collective to help our professor on a project that's near and dear to his heart. Bart created the fabulous web-based password creation tool at xkpasswd.net many years ago, in fact so long ago that it's on a very creaky set of tools that have been deprecated and the entire service will die if it doesn't move onto modern tools. This will be a great excuse for us to learn to work on the new tools as Bart is forced to learn them and at the same time we will be enlisted to help him with the development of the new and improved
-
PBS 125 of X – Chezmoi on Multiple Computers
18/09/2021 Duración: 50minIn this final episode of Programming By Stealth before we launch into the back end of web development with PHP, Bart finishes his miniseries on Chezmoi to manage dot files. In this installment he teaches us how to effectively manage our dot files on multiple computers using templating to ensure that the correct settings end up on every computer. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net/...
-
PBS 124 of X – Chezmoi Templates
05/09/2021 Duración: 01h18minBart has been really excited to teach this next installment of Programming By Stealth where we really dig into learning about Chezmoi templates, including learning functions and arguments, how to declare variables, looping over arrays, and learning the `sprig` utility functions to extend Chezmoi. I thought he was going to jump out of his chair he was so happy to teach pipelines which are a grand way of embedding function statements in a way that is very human-readable. This is our penultimate installment on Chezmoi, where next time we'll be learning how to manage our dot files across multiple computers where not everything is the same between computers, but much of it is. You can find Bart's fabulous tutorial shownotes to follow along at pbs.bartificer.net/...
-
PBS 123 of X — Backing up and Syncing Dot Files with Chezmoi
23/08/2021 Duración: 01h09minIn 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 dot files, those hidden configuration files on our Macs. In this installment, Bart teaches us how nearly effortless it is to sync our Chezmoi-managed dot files up to a private repo on GitHub. Seriously, it's like 2 steps. Bart then teaches us how Chezmoi supports templating. When Bart started to describe it, I said, "Oh! It's just like mail merge in Microsoft Office!" He laughed, and said he hoped I would say that. With Chezmoi, let's say you have your email address in a bunch of your dot files, and you need to change it to a different address. If you use Chezmoi's templating feature, you can create one file with your email address and in every dot file you reference that address, and only have to change it in one place. Bart walks us through a couple of worked examples to help us see exactly how it works and get a little practice. The next episode of Prog
-
PBS 122 of X – Managing Dot Files with Chezmoi
08/08/2021 Duración: 01h08minIn our previous installment of Programming By Stealth, Bart introduced us to Chezmoi, an open source tool to help us manage dot files, those hidden configuration files that get created on our Macs. Configuration files contain information about how we like our Macs configured, including where to access our ssh keys and our preferred command line editor and more. If we move between computers it would be nice to have the same configuration, or if we do a clean install it would be great to be able to have these dot files in place on our newly-formatted machines. He teased us last time though but just introducing us to Chezmoi and not letting us do much. In this installment he lets us take Chezmoi out for a spin. We edit an environment variable to set our preferred text editor, and then use Chezmoi to talk to Git to add and then commit those changes. Along with more changes and actions with Chezmoi, Bart works hard to cement the terminology of Chezmoi because without it, it's easy to not realize what Chezmoi i
-
PBS 121 of X — Managing Dot Files and an Introduction to Chezmoi
24/07/2021 Duración: 40minAs 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 configuration files hidden by default by putting a dot in front of them, and hence they are called dot files. Maybe you've stored your ssh keys, or in our Git series you created a user-level gitconfig file, or perhaps you've installed VS Code or Sourcetree which also add hidden configuration files. In this installment of Programming By Stealth, Bart explains the problem to be solved of how we manage these configuration files if we use multiple computers or migrate to a new computer or do a nuke and pave. He lays the groundwork for why he loves the dot file manager called Chezmoi from chezmoi.io. The installment is a bit of a tease because after learning why we want to have a dot file management tool and why Bart favors Chezmoi for the job, he only lets us install it and run two commands before he says, "And next time we'll start to use Chezmoi."
-
PBS 120 – Ignoring Files in Git
11/07/2021 Duración: 01h13minA 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 a few minutes with him offline so he could explain how to ignore files in Git. I knew there was a way to do it but he hadn't covered it so I assumed it was just something quick he could explain to me. His reaction surprised me, he said, "D'oh!" because he realized that this is a _very_ important part of using Git and that he would definitely dedicate an installment to it. So this week Bart teaches us how to use `.gitignore` to tell Git _not_ to track changes to files and folders. He explains that there are files your computer or even your code editor may be creating that you don't want Git to track, and of course there all of the dummy test files we as humans create that would not be something we'd want to share with our co-workers or fellow open source contributors. I was nervous about using `git ignore` because I understood it relied on patterns, and I thought
-
PBS 119 of X — Open Source on GitHub
27/06/2021 Duración: 59minAs promised, Bart takes us through the final step in our GitHub journey - learning how to contribute to an open source project. He explains three open source scenarios: using someone's code exactly as-is, using their code with a few customizations of your own, and finally the most interesting scenario, customizing the code and contributing your customizations back to the project. When he gets to the final scenario, he gives us a way to practice these newly-acquired skills, and it's something he's wanted to do for a long time. He's created a gallery for all Programming By Stealth listeners to contribute their work they've done in the various challenges we've worked in Programming By Stealth. If you have your code from the challenges for Conway's Game of Life, the number guessing game, the currency converter, the currency grid, the world clock or the time sharing clock, we'd love to have you contribute to the PBS gallery to show off your work. Bart explains that the GitHub Pages he's created will allow us to f
-
PBS 118 of X — JavaScript Apps with GitHub Pages
12/06/2021 Duración: 01h06minIn this installment of Programming By Stealth, Bart Busschots teaches us how to use a free service of GitHub called GitHub Pages. This service literally gives you free web hosting for the web apps we've learned to make in Programming By Stealth. Bart starts by explaining to us the difference between static and dynamic webpages, and web pages created by static site generators like Jekyll which generates GitHub Pages. It's trivially easy to create a GitHub Page from an open GitHub repo (literally three clicks in the interface) but it's really important to understand what you're doing when you take advantage of this service. We'll learn what you can do and what you can't do and what you could do if you choose to dig deeper into the woods on how to use Jekyll to generate GitHub Pages. I'm really excited to learn about GitHub Pages and how easy it is to host all of the web apps we've created in this series. You can find the shownotes at pbs.bartificer.net/...