
Programming By Stealth
213 episodes — Page 3 of 5
PBS 107 of X – Branching Basics
This week in our miniseries on learning the version control system Git, Bart dips our proverbial toe into branching. Branches allow us, as developers, to work on bugs or feature enhancements in a separate place from our stable code, and only merge the code back in when the bugs are squashed or the features are stable. We don't get much practice in this instalment, but rather Bart talks to us about the idea of having a strategy for when to branch and how to name your branches in order to prevent chaos. He gives us some simple and yet difficult to adhere to strategies and then takes us through more rigorous strategies that will actually be easier to follow. He emphasizes that he's not telling us which strategy to follow, but rather to have a strategy. We do a few small examples from the command line, but we get to open our Git GUI clients, like GitKraken and Sourcetree and see how the commands we're typing are graphically represented in the clients. It's a good illustration of what Bart has been promising us – that the GUI clients are doing exactly what the command line is doing. You can find Bart's tutorial shownotes at https://pbs.bartificer.net/pbs107. And if you'd like to support Bart on Patreon, go to patreon.com/ltpod.
PBS 106 of X — Time Travel with Git
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 view more compact Git logs so we can just see a shortened hash and the first line of our commit message. Then he shows us how to pick out a single commit from the past and see what changed. Then he shows us how, with surgical precision, we can go back in time and get a single file or even just the changes from a specific commit and bring them forward in time. It sounds head bendy but I could immediately see the usefulness of going back in time and grabbing some code that was working well and bringing it forward. You can read Bart's tutorial shownotes at pbs.bartificer.net/...
PBS 105 of X – Seeing the Past with Git
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 versions of the code in a couple of ways. Using the `archive` command we learned out to pull just the files at a certain point in time (without the history) and the more terrifying `checkout` command that creates a "detached HEAD"! Bart even explains why that phrase was introduced and what it actually means. This was a fun lesson and a good foundation for what we'll learn next time, when we'll learn about stashing and branching to control the past and future.
PBS 104 of X – Tracking Changes in Git
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 housekeeping, especially for Mac users to set Git to always ignore those pesky .DS_Store files. We learn how to stage and then commit a simple change, then we stage and commit multiple changes and even learn to see the differences in our staged files from the database all from the command line. While we all think we're capable of making one structural change and then committing our changes, Bart knows that it isn't going to happen. But there's still a way to follow Helma's advice to "commit early and commit often". Bart teaches us how to divide the changes we inevitably make into separate commits with separate comments so we can figure out what we did later. I enjoyed this installment because I could tell it was laying a very important foundation of understanding. You can follow along with Bart's famous shownotes at pbs.bartificer.net/... [email protected] Support Bart on Patreon Join Our Slack
PBS 103 of X — Getting Started With Git
After some quick revision from the previous episode, Bart explains how Git commands work with their subcommands. We start by looking at how to configure Git and the differences between local, global and system-level settings. Then we create our very first repo with an exciting README file, and we commit the file to our repo. It's a fairly simple lesson while laying down a good foundation for all future work. You can find the shownotes for this installment at PBS 103 of X — Getting Started With Git [email protected] Tesla Affiliate Link podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/paypal
PBS 102 of X – Introducing Git
In our last Programming By Stealth we learned about the concept of version control, and the evolution from client/server version control to peer-to-peer version control and the creation of Git. In this installment we start learning the fundamental concepts of Git. We learn about the database, the working copy, and the index and understanding the difference is critical to effectively using Git. We also dig into the Git database and begin to learn the terminology inside it, which oddly uses normal English words but those words might not mean what you think they mean. We gain an understanding of why Git uses SHA1 hashes but not for encryption. We start to get into the power of Git as we learn about commits, staging, stashes, and tags. We didn't get to play with Git yet but the challenge is to install Git and if you want the extra credit, choose and download one ore more Git GUI clients.
PBS 101 of X - Introducing Version Control
It's time to take on a new subject: version control. As Bart explains in this week's episode, version control allows you make changes in your code and roll the changes back. This gives us the freedom to experiment and if an idea doesn't pan out, get back to where we started. Bart explains some of the origins of version control, starting with client server systems and then tells us how peer-to-peer version control has become the standard from industry to open source. Bart explains how the version control system Git was created and how it proved itself worthy of becoming the standard. There's not a lot of heavy lifting in this episode but Bart promises that future episodes will be challenging as we get into how to actually use Git. If you like Bart's work, please support him by going to lets-talk.ie and becoming a Patron.
PBS 100 of X — Time Sharing Challenge Solution
In this positively _delightful_ episode, Bart and I celebrate 100 episodes of Programming By Stealth. When we hit 99 instalments, Bart declared that for 100, there should be cake! So I got Bart's darling beloved to deliver him a piece of cake right as we started, and Steve delivered one to him. To say that Bart was surprised and delighted would be an understatement! This episode is entirely dedicated to us describing our solutions to the Time Sharing challenge from PBS 96, and to explaining what we learned while working on the assignment. You can view Bart's working solution at this-ti.me/ and you can view Allison's working solution at podfeet.com/time-shifting-clock
CCATP #649 – Dr. Helma van der Linden on Creating a Book with Open Source Software
This week our guest is Dr. Helma van der Linden from the Netherlands here to talk about how she created the Taming the Terminal book using all Open Source software. On the NosillaCast I talked a lot about the book but I should probably give an explanation for the Chit Chat audience. Bart Busschots and I created the Taming the Terminal podcast and for this series on learning the macOS (and Linux) command line, Bart wrote a spectacular set of tutorial shownotes on his website at bartb.ie. I had a dream for many years to make Taming the Terminal into a book as a surprise for Bart, but my few attempts to do it failed spectacularly. Around Easter, I mentioned my dream to Helma and she said, “I bet I could do that!” I don’t expect anyone to learn from this discussion how to do what Helma did, but rather to learn what’s possible and how cool it was that Helma put these pieces together. Below are the rough shownotes we used for our discussion, included so that you would have the links to all of the tools she explained in the episode Downloads of the book can be found at podfeet.com/tttbook and the GitHub project for Taming the Terminal can be found at github.com/bartificer/taming-the-terminal. You can communicate with Helma through our Slack community at podfeet.com/slack where her handle is @Helma.
PBS - Can We Interest You in a Cup of Taming the Terminal?
Bart and I are taking a few weeks off from Programming By Stealth as we do every summer but we'd like to encourage you to check out the new Taming the Terminal episodes we'll be publishing instead.
PBS 99 of X – Building with Classes Part 2: Is-A
This week Bart Busschots brings us the penultimate JavaScript installment of Programming By Stealth as he brings us part 2 of building with classes. This wraps up our third look at Object Oriented programming in JavaScript. We learn about the concept of inheritance, and how it allows us to build classes that inherit attributes and functions from parent classes. This allows us to eliminate code duplication which Bart explains is called a "bad smell". You can find Bart's tutorial shownotes at pbs.bartificer.net/pbs99.
PBS 98 of X — Building with Classes Part 1 — Has-A
In this episode of Programming By Stealth, Bart explains one single concept, that of "Has-A". This is part 1 of 2, where next time we'll learn "Is-A" which is about inheritance. These both sound like odd terms but they're part of what makes object oriented programming so powerful. Bart spends 90% of the time going through a worked example which not only explains how classes can have instances of other classes as properties, but also how classes can be more specific versions of other classes. Along the way, I think he achieved his goal of cementing the foundation of getters and setters and Class functions and Instance functions. We'll see if I can use them in anger on the homework though! You can find Bart's tutorial shownotes at [pbs.bartificer.net/...](https://pbs.bartificer.net/pbs98)h
PBS 97 of X — Class Data Attributes & Functions
I'm not going to lie to you guys, this episode of Programming By Stealth was pretty rough for me. It builds on the foundation Bart laid in PBS 95 where he introduced Getters and Setters and it was pretty clear that this previous lesson had not sunk in for me yet. I'll definitely have to go back and study PBS 95 a couple more times and get a chance to practice this Getter/Setter concept before the penny will drop. Hopefully you understood it better than I did the first time through! In any case, in PBS 97, we extend that knowledge to learning about class data attributes and functions. We'll learn the "static" nomenclature, which is used to mark attributes and functions as belonging to the class rather than the instances of a class. Bart spends most of the lesson on a worked example using emoji to create what he playfully calls a Nerdtouche, as a head nod to the cartouche used by Egyptian Pharoahs. And yes, he manages to work the poop emoji into this lesson. You can find Bart's shownotes at [pbs.bartificer.net/pbs97](https://pbs.bartificer.net/pbs97).
PBS 96 of X — World Clock Challenge Solution
This installment of Programming By Stealth is a solutions show all about the clock assignment from PBS 92. Bart's been quite busy this week designing an entirely new distance final exam system for the university where he works so he asked if I'd take on half of the content by presenting my solution to the clock challenge. I have had an absolute blast on this assignment so I gladly accepted. I walk through my approach and some of the challenges I met along the way, and then Bart complements mine by talking about a few things he did quite differently. We both had a great time and I think Bart even learned something from me at one point. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net/pbs96.
PBS 95 of X — Better JavaScript Class Attributes
This week Bart explains how to give our JavaScript classes better data attributes via a very powerful JavaScript feature: getters and setters. On my first read through the notes for the episode, my head was spinning a bit, but Bart explains this so well using concrete examples (like a circle with a radius) that I think he got it through to me. When I told him up front that I struggled a bit when reading the shownotes, he said that this is the "pointy end" which I think meant that it was a difficult concept so I felt a little better about it. In the end it made a lot of sense and I see the reason for the tools he explained. I highly recommend you read Bart's terrific tutorial shownotes at [pbs.bartificer.net/pbs95](https://pbs.bartificer.net/pbs95) as you listen along.
PBS 94 of X — Basic JavaScript OO with Class
In the early days of Programming By Stealth, Bart tried to explain JavaScript classes, objects and instances. He talked about it in Installment 17 before ES6, and then took another run at it in installments 27-31. But it never felt to Bart like he had explained it in a way that made it clear. In installment 94, Bart finally nails it. I told him the shownotes for this installment might be the best he's ever done. Everything he explains is clear and concise, the examples are superb, and we get to say Hoonyaker a lot. Instead of being frustrated and confused, I was smiling through all of it because I finally get it. I also told him that I feel far less stupid than I did before because I always thought it was my failing that I didn't get it. I enjoyed this so much I drew Bart a picture of what he'd taught and he said I nailed it! You can find these legendary shownotes at [pbs.bartificer.net/pbs94](https://pbs.bartificer.net/pbs94).
PBS 93 – Encapsulation with JavaScript Objects
In this episode of Programming By Stealth, Bart takes us through the last "hat" that JavaScript objects can wear: encapsulation. As Bart walks us through the problems encapsulation solves using a funny NosillaCast-specific example, he shows how the code becomes reusable and sharable with encapsulation, and even more readable. You can read the tutorial shownotes as you listen at [pbs.bartificer.net/...](https://pbs.bartificer.net/pbs93) [email protected] podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/amazon podfeet.com/paypal
PBS 92 of X — Currency Grid Solution
CCATP #630 for March 14, 2020, and I'm your host, Allison Sheridan. This week our guest is Bart Busschots with PBS 92 of X in which he walks us through his solution to the assignment from PBS 89 to create a grid of currency conversions. He doesn't go through his code line by line, but rather gives us the big picture of his process. Most of the time he spent on the solution was actually in refactoring his code because he decided to preload the data rather than fetching it repeatedly on-demand. I loved it when he referred to his original work as "Organically-grown Weasley-kind of code". He also explains how he used both coercion and assertion to do his error handling and why. Eventually he got to start working on the grid and he walks us through how he cracked that problem. It was great fun as always and we have a new, six-week challenge to build a world clock. You can find his full tutorial shownotes and download his solution at [pbs.bartificer.net/pbs92](https://pbs.bartificer.net/pbs92)
PBS Adjacent: CCATP #628 — Bart Busschots on Creating Automator Quick Actions with JavaScript
This week our guest is Bart Busschots with an installment of something he's calling Programming By Stealth-adjacent. It's not part of the regular series of Programming By Stealth, and yet it's not technically very "light" in terms of the chit chatting. Since neither podcast is the right place for it, I've decided to put it in both podcast feeds to be wrong twice. Bart walks us through how to create Quick Actions with Automator (also known as Services) to do some simple but very useful text manipulations using a smidge of JavaScript. Even if you don't want to write these Quick Actions yourself, you can download his services from his Github repo where he's put them up as open source: https://github.com/bbusschots/macos-quickaction-text. You can see how Bart created this in his blog post at [www.bartbusschots.ie/...](https://www.bartbusschots.ie/s/2020/03/06/macos-quick-actions-for-text/)
PBS 91 of X — JavaScript RE Objects
Bart takes us through the penultimate hat JavaScript wears and that's Regular Expressions. Luckily since we haven't talked about REs in ages, he reminds us of the syntax for Regular Expressions literals in JavaScript first and then he takes us through three common uses for Regular Expressions. We joked around during this episode at how many times I said, "That makes sense!" Bart said it was music to his ears, and I say this was a very intuitive lesson considering how arcane Regular Expressions are in their syntax. Bart's tutorial for this episode are available at [pbs.bartificer.net/...](https://pbs.bartificer.net/pbs91.html)
PBS 90 of X — JavaScript Wrapper Objects
Hope you enjoyed getting the little extra Tidbits episode this week. In this installment Bart continues our on-going mini-series looking at each of the proverbial hats JavaScript objects wear. Bart explains the concept of JavaScript wrapper objects that allow you to access properties of otherwise property-less primitives. It's pretty magical and I only got lost for a little while as we brushed the cobwebs off my memories of prototypes and such. Bart's shownotes for this episode can be found at pbs.bartificer.net/pbs90
PBS Tidbit 1 of Y — Display Values are not Data!
Bart explains how alert listener @lbutlr on Twitter found a mistake in Bart's math and he walks through how he figured out what was wrong and what we can all learn from it. Bart's explanation can be found here: bartbusschots.ie/...
PBS 89 of X — Currency Converter Challenge
In this week's installment of Programming By Stealth, Bart explains his new plan for both the content of PBS and the way the shownotes are created and presented to you. Bart has noticed that because we put a challenge solution and new content into the same show, the solution gets short changed. That's a shame because there is so much he can teach by explaining the "whys" behind his design of his solutions. The new plan is to have the challenge solutions be standalone shows, and then the new content will be standalone shows as well. We'll be having more time to do our challenges with this new plan as well. I'm excited about this new plan because I've enjoyed the extra time we've had with our currency converter challenge, allowing us to enhance our solutions and be more creative. Bart is also completely rearchitecting all of his web presence, including his Programming By Stealth show notes. His new online presence will be at his site, bartficier.net and PBS will now be at pbs.bartificer.net. That link is actually to a GitHub page. I know that sounds crazy and Bart is going to tell us more about it, but it will allow him time to be much more creative and spend less time faffing about as a system admin. With all that said, you can find the shownotes to this week's installment at [pbs.bartificer.net/...](https://pbs.bartificer.net/pbs89.html)
PBS 88 of X — DOM & jQuery Objects Redux
Bart is nearing the end of his mini-series recapping al of the different hats JavaScript objects wear, doing a lot of redux to cement the concepts that have been spread over so many lessons. He takes a really interesting approach this week to his teaching. He explains a concept and then instead of having a contrived example, he shows us exactly how that concept works in action in his homework solution from PBS 85. His solution to the homework assignment is, of course, beautiful and elegant. Beautiful he gives credit to Bootstrap, elegant he would probably give credit to jQuery. I am really enjoying these redux segments because they cement things that were still wobbly, or perhaps even gone from my memory. Each time through I'm finding I understand how to even categorize the information in my brain. I explained to Bart that I think he's actually changing the way my brain is wired now.
PBS 87 of X — JavaScript Iterators Objects & Generator Functions
I'm not going to lie, this episode of Programming By Stealth with Bart Busschots was a bit head bendy. Bart explains JavaScript Iterator Objects and Generator functions but without his excellent examples I'm certain I would never have been able to get the concepts to even slightly congeal in my brain. Iterator Objects and Generator functions are some of the joys of ES6 and have great value. That value is demonstrated in the succinctness of the code Bart writes for us to create a Fibonacci series in a beautiful web form. That work, by the way, is a bonus challenge if you're done with your homework from the previous episodes. As you listen along, if you hear us yelling "spoiler alert" and making alarming noises, that's when Bart's solution to the challenge is about to be described. It's a rare instance where I actually let you have one chapter mark in Programming By Stealth so you'll be able to jump back to the solution after you're done with your own solution.
PBS 85 of X — Objects as Arrays in JavaScript (Redux & Update)
Bart continues his redux and new information by circling back through Objects as Arrays in JavaScript. I don't know about you, but I get a lot out of the redux episodes because it cements in place concepts that were a bit wiggly before he goes through it again. The one new concept he goes through is Array Destructuring which sounds ominous and destructive but which allows us to dive into arrays and create new and more interesting arrays. Bart also debuts a new way he's providing the content for the lesson. If you still want to download the zip file with all of the example files, you can, but you can also view the source code and view the html in a browser with a Github link. By the way, the zip file is now living on a content delivery network. This is important to note if you're coming in from Safari with the more recent security updates because it will prompt you to agree to downloads from this new URL. Bart's fabulous tutorial show notes (including the links to the source for this week's episode) are available at bartbusschots.ie/... [email protected] podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/amazon
PBS 84 of X – Objects as Dictionaries in JavaScript (Redux & Update)
Bart has been noticing that there are a few key features in JavaScript that haven't ever really congealed for me and is circling back in hopes of firming them up. The other reason he's going over these topics is that new options have been created since we first covered them. The first of these subjects is objects as dictionaries. I confessed to him recently that I've never successfully done a for loop on my own yet, so we slow down a bit during that part but we speed up again into what are actually more challenging topics. We had a lot of fun doing this episode (even when I was stuck!) At the end of the show I suggested a palate cleanser, which is a feature of his Security Bits segment he does for the NosillaCast. I found an awesome tweet by developer Sarah Dresner (@sarah_edo: "Apparently the only cure for jetlag is to make SVG animations of farting rhinos with the new @greensock API 💨". Of course I had to follow that link, and it was awesome. It is literally an SVG file of an adorable little rhino trotting along and tooting. After Bart and I got off the air we took advantage of the fact that she'd posted the farting rhino on codepen.io so we view the html, css and JavaScript to see how she did it. I know this is silly but that's what makes it so awesome.
PBS 83 of X Bootstrap Cards
Bart finishes up our first exploration of Bootstrap 4 with a look at one its most versatile components, the so-called Card. This is one of those components that’s so generic it’s hard to describe, but once you learn about it you’ll start seeing it all over the web. Cards really are ubiquitous! It’s important to stress that while we’re wrapping up our exploration of Bootstrap 4 with this installment, that does not mean we’ve come close to covering every feature this impressive library offers. Instead, the aim was to cover the big-picture items, and leave you with enough experience to be able to learn the rest independently by reading Bootstrap’s excellent documentation. Bart's tutorial show notes can be found at bartb.ie [email protected] podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/amazon
PBS 82 of X – Async & Await
We're back after a summer hiatus (where Bart was working too hard) with a new installment where we attempt to dust off Allison's brain and learn about two new promise-related keywords, async and await. Both of these keywords were actually added to the core JavaScript language, so this doesn't happen that often. With async and await, we can actually get away from doing promise chains and create much more readable code while still being able to control parallel and in series tasks. Bart had to drag me along a bit in this one but I saw the beauty of it when we were done. Bart's fabulous tutorial shownotes can be found at PBS 82 of X — Async & Await : Bart Busschots.
PBS 81 – The JavaScript Promise Utilities
In this installment of Programming By Stealth, Bart teaches us how to use Promises, with a capital P to get promises when we already know the value we want to supply. That sounds funny but it will make sense in context. Then he shows us how we can control parallelization of promises using Promise.all(). It's a very sensible lesson, and not brain bendy at all. (I really like those.) Please consider supporting Bart's hard work for us via Patreon at patreon.com/ltpod Bart's fabulous tutorial shownotes are available at bartbusschots.ie/... [email protected] podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/amazon
PBS Supplemental — Dorothy Rendon on the PBS Index
In the very first Programming By Stealth supplemental episode, Allison interviews Dorothy Rendon, the programmer behind the PBS Index. If you haven't seen it before, it's an index that Dorothy has created for the Programming By Stealth students to helpt them find key topics in Bart Busschots's fabulous tutorial shownotes. [email protected] podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/amazon
PBS 80 — JavaScript Promise Chains
Bart Busschots (successfully) explains the concept of JavaScript promise chains. It's a rough ride because of the subject itself, but he gets us there through his care and detail in explaining the concepts and of course his great examples. When he's done, you'll know how to chain promises together, you'll understand what data is passed through, and you'll understand why he says, "Don't have unhandled rejections, it's just not nice." You can find Bart's detailed shownotes at bartbusschots.ie/... [email protected] podfeet.com/patreon podfeet.com/slack podfeet.com/facebook podfeet.com/amazon
PBS 79 — Introducing JavaScript Promises
Bart has been _promising_ us Promises for ages now and he finally fulfills his promise by explaining thenables. Promises are a tool to get us out of "callback hell", which we experienced a while back. I think he made us suffer through that so we'd appreciate Promises. In this episode he shows us the beauty and elegance of the concept but leaves us wanting more. Bart spent a lot of time trying to get the shownotes and his narrative to take this rather abstract concept and make it concrete, and I think he did a grand job of it. Bart's amazing tutorial shownotes are available at bartbusschots.ie/...
PBS 78 — is.js & Bootstrap Popovers
Bart Busschots and I both had a great time doing the challenge this week. In this week's installment Bart takes us through his homework not in a detailed step-by-step method, but rather he goes through some major structural ways he created his code. He digs deep enough to explain why but it's a great lesson on building code that's easier to debug and more fun to write. I got to be the tester of his code, and as I suggested improvements he decided he needed to use Bootstrap Popovers. He walks us through how they work and I have to say they're really slick. Then he introduces us to a super intuitive JavaScript library called is.js that solves will simplify our code. I asked Bart if he could back up 2 weeks and show me is.js BEFORE I did last week's homework! As always, Bart's awesome tutorial shownotes are available bartbusschots.ie/....
PBS 77 of X — More Callbacks & More AJAX
Bart Busschots starts this week's episode with a great refresher on what a callback actually is (because I have remained mystified by the term). He starts with simple examples and then shows us how we've been using callbacks all along and just didn't realize it. Then he'll walk through the challenge solution and the extra credit. He shows us how there's two paths to "callback hell", one through nested AJAX calls in parallel, and one with them in series (which sounds worse than it actually is. The challenge for next week is super open-ended which terrifies me but I'm sure it will be fun.
PBS 76 of X - AJAX with jQuery
In this week's episode, we have another in our series Programming By Stealth with Bart Busschots. We'll spend the majority of our time talking about Bart's solution to last week's challenge. It's a great refresher on the methods he's taught us in the past, all rolled together with our newfound skills with Mustaches and templating. Then we'll get a start on using AJAX with jQuery and what sounds to me like a relatively easy challenge … except for that extra credit bit. Bart's extensive tutorial shownotes (and I really mean extensive this time) can be found at bartbusschots.ie/... Join our Slack at podfeet.com/slack and be sure to check out the #pbs channel to talk all things programming.
PBS 75 of X - AJAX Intro
In this episode of Programming By Stealth we get the foundation to start learning about AJAX. Bart gives us an overview of HTTP that is really interesting. I learned so much that I didn't know about what you can see in a URL. I know this sounds super nerdy but I loved learning about query parameters and HTTP methods and even HTTP request headers and cookies.
PBS 74 of X - More Mustaches
In this week's Programming By Stealth, Bart Busschots teaches us the last two concepts in Mustache, one of which is a real head bender and for me at least, the second was almost as hard. The first is how you can add an optional third argument to a Mustache view which is actually a function within a function. It's a very meta concept. The second is the use of Mustache Partials which are templates within templates. I expect you'll follow along faster than I did but I _think_ I got there in the end! You can find Bart's shownotes for this installment at [www.bartbusschots.ie/...](https://www.bartbusschots.ie/s/2019/03/24/pbs-74-of-x-more-mustaches/)
PBS 73 of X - Mustache Templates
In this installment of Programming By Stealth, Bart Busschots teaches us about Mustache Templates. Mustache Templates are a library that allow you to input any string and output a string. Unlike the ```template``` tag for HTML5, Mustaches are not restricted to HTML snippets. Mustache isn't the only game in town but it's Bart's favorite. I found this lesson fairly confusing along the way but when I got to the very end I think I understood it all! There was a key point in his instruction when he said to think of this as being like Mail Merge where you have a form letter and then a separate file that has the info that gets plugged into the form letter. Once he said that it became much more clear to me. Hope that little hint helps you too!
PBS 72 - HTML5 Templates
Last time Bart teased us that we were going to learn about the template library called Mustache, but he realized that he needed to teach us about vanilla HTML 5 Templates first. He starts by showing the problem to be solved: how messy and error-prone it is to create HTML elements using jQuery. Then he shows us how templates allow you to create multiple elements via cloning of the templates. The syntax is quite annoying, but I think once we get used to it, it will be pretty easy and efficient to use.
PBS 71 of X - Bootstrap Spinners
In this week's installment of Programming By Stealth, Bart Busschots spends most of the time walking us carefully through each of the methods he used to solve the challenge from last time. He does a great job of reminding us of things we've learned, in some cases more than a year ago, and showing how they were applied for this particular problem. I'm quite proud of one little thing I discovered that Bart didn't know had been introduced in HTML 5. After he's done walking through the challenge, he introduces Bootstrap Spinners. Spinners are a visual indicator to the user that some operation is going on that will take some time and let them know that things aren't just broken.
PBS 70 - Bootstrap Modals & Toasts
In this week's Chit Chat Across the Pond, Bart Busschots is back with another installment of Programming By Stealth. We'll shift gears a bit away from web pages to web apps as we explore the usage and code behind Bootstrap Modals and Toasts. It's a combination of HTML, Bootstrap for styling and JavaScript for actions so it flexes all of our programming muscles. We wanted to give a special shoutout to Caleb Fong, aka @GeekoSupremo for posting a link in the Podfeet slack to a fabulous cheat sheet for a ton of programming APIs. It's got JavaScript, Regular Expressions, Flexboxes, and lots of other things we've haven't yet learned. You can find the cheat sheet at freeCodeCamp at medium.freecodecamp.org. And as always you can find Bart's tutorial show notes at [www.bartbusschots.ie/...](https://www.bartbusschots.ie/s/2019/01/27/pbs-70-of-x-bootstrap-modals-toasts/)
PBS 69 of X — Bootstrap Navbars
In Chit Chat Across the Pond we are finally back to a Programming By Stealth episode. In this installment, Bart teaches us how to create navigation bars in Bootstrap. We learn how to make them collapse and expand to different device screen sizes and how to style them to look nice. We learned how to add branding and how Bootstrap makes it do logical things. It was an extraordinarily easy lesson because Bootstrap makes it that easy. You can find Bart's tutorial shownotes for this episode at [www.bartbusschots.ie/...](https://www.bartbusschots.ie/s/2019/01/13/pbs-69-of-x-bootstrap-navbars/)
PBS 68 of X - Bootstrap Navs
In this week's installment of Programming By Stealth, Bart Busschots introduces us to how Bootstrap will help us create navigation in websites or web apps. This is using what Bootstrap calls the Nav component. As always we'll learn how to style the navigation using Bootstrap Pills and Tabs. Then we'll take it up a notch and learn about Bootstrap Panes and how to reveal them within Bootstrap Tabs. As always, Bart's fantastic tutorial can be found at [www.bartbusschots.ie/...](https://www.bartbusschots.ie/s/2018/12/15/pbs-68-of-x-bootstrap-navs/)
PBS 67 of X - Bootstrap Dropdown Menus
In this week's installment of Programming By Stealth, Bart Busschots takes into the land of Bootstrap dropdown menus. He explains the differences between dropdown and selects in HTML, and how there's two different kinds of dropdowns - menus and navigation. The descriptions of how to make the Bootstrap dropdowns takes a while, but when he puts the pieces together, the code is quite sensible. With any luck at all, I _think_ I have added chapter marks to the show to let you jump from the intro to the homework challenge and then to the new material. If this provides value to you, it would be swell if you sent me a note in some way about it.
PBS 66 of X - Bootstrap Form Validation
HTML 5 gives us form validation for free, but it's not very nuanced. In this installment of Programming By Stealth, Bart will show us how to use Bootstrap to make our form validation a little less shouty and more useful for the viewer. He shows us how to take a little control, how to take a lot of control and how to take supreme control. That last bit scared me when he introduced it but he does a fantastic job of breaking down the building blocks for us. He builds up the form validation in logical steps, using tools we already know (but might have to dust off a bit.)
PBS 65 of X — Bootstrap Input Groups
Chit Chat Across the Pond this week was Programming By Stealth installment 65 of X. This time Bart takes us through Bootstrap Input Groups. These are really cool. Think about a form that has information you have to fill in, but you're never sure what they're asking for. If they ask for money, what currency do they mean? Are you supposed to include the numbers after the decimal or not? With Bootstrap input groups you can put little symbols or words before or after the input field to make it obvious. As with all things Bootstrap, it's not something that can't be done in HTML, but it's so much easier to make them pretty and elegant without being a designer.
PBS 64 - Bootstrap Form Layouts
In this Programming By Stealth episode of Chit Chat Across the Pond, Bart Busschots teaches us about three more types of Bootstrap Form Layouts. It's not too tough of a lesson and we had a lot of fun working through the lesson. You can find Bart's full written tutorial at bartbusschots.ie/.... Support Bart on Patreon!
PBS 63 of X — Bootstrap Buttons
This week in Programming By Stealth, Bart Busschots and I spend a fair amount of time going over the homework challenge from PBS 62. The nuances combined with some refresher on how the pieces fit together was something I really needed so hopefully I wasn't alone. The new part of the episode is dedicated to the all-important Bootstrap Button. We'll learn how to turn things into buttons and why you might want to do that, and we'll learn how to make Button Toolbars which are really slick and pretty. We don't have new homework for this week but if you're like me you need time to properly finish last week's homework. You can find Bart's tutorial and solution to the challenge at bartbusschots.ie/... Support Bart on Patreon!
PBS 62 of X — A Basic Bootstrap Form
This week's Programming By Stealth was great fun. Bart Busschots teaches us how to create a web form using the Bootstrap classes to do the job. He explains how Bootstrap literally insists that we make our code accessible, and how sensible it is to just that. We learn the importance of Form Groups, and how Checkboxes and Radio Buttons are a slightly different type of input to a form and so have their own Bootstrap class. It's great fun and the challenges look like fun too. At the end of the episode I added what Bart likes to call a Palate Cleanser. I've been following a woman named Samantha Ming on Twitter and samanthaming.com where she posts fun little CSS and HTML tricks. I learned how to make the caret on an input field blink in pink, and how to make regular HTML text on a web page be editable. Bart's tutorial for this episode is available at bartbusschots.ie/...