Programming By Stealth cover art

All Episodes

Programming By Stealth — 211 episodes

#
Title
1

PBS 184a of X: SASS Basics

2

PBS 183 of X: Customising Bootstrap with CSS 'Variables'

3

PBS 182 of X: CSS 'Variables'

4

PBS Tidbit 18 — A Real-World Jekyll Example

5

PBS Tidbit 17b — Simplifying Developer Setups with Docker

6

PBS Tidbit 17a — Simplifying Developer Setups with Docker

7

PBS Tidbit 16 — How Podfeet.com Works

8

PBS Tidbit 15 — Building an Indie Author Site with Hugo by Eddie Tonkoi

9

PBS Tidbit 14 — Coding with AI

10

PBS Tidbit 13 — PowerShell Tames Monty

11

PBS 181 of X — Reusable Snippets with Jekyll Includes

12

PBS 180 of X — Theming Jekyll

13

PBS 179 of X — Introducing Liquid Templates in GitHub Pages with Jekyll

14

PBS Tidbit 12 — XKPasswd Rewrite Exits Beta

15

PBS 178 of X — Getting Started with Jekyll Pages

16

PBS 177 of X — Publishing A Basic Jekyll Site (GitHub Pages)

17

PBS 176 of X — Deploying a JavaScript Web App with Webpack & GitHub Actions

18

PBS 175 of X — GitHub Pages: Static Site Generators

19

PBS Tidbit 11B — A PowerShell Teaser

20

PBS Tidbit 11A — A PowerShell Teaser

21

PBS Tidbit 10 — Run LLMs Locally with Ollama with Steve Mattan

22

PBS 174 of X: Working with Git Submodules

23

PBS 173 of X: Getting Started with Git Submodules

24

PBS 172 of X: Git Submodules

25

PBS Tidbit 9 – Using Git on iOS

26

PBS 171 of X: MVC in XKpasswd-js

27

PBS 170 of X: Model View Controller (MVC)

28

PBS Tidbit 8 – Interview with jq Maintainer Mattias Wadman

29

PBS Tidbit 7 – jq to Analyze macOS Installed Apps with Helma van der Linden on

30

PBS 169 of X — Advanced YAML Topics

31

PBS 168 – Introduction to YAML

32

PBS 167 of X – jq: Recursion, Syntactic Sugar, Some old Friends and a Few Honourable Mentions

33

PBS 166 of X — jq: Processing Arrays & Dictionaries sans Explosion

34

PBS 165 of X – jq: Variables

35

PBS 164 of X – jq: Working with Lookup Tables

36

PBS 163 of X – jq: Lookups & Records

37

PBS 162 of X — jq: Altering Arrays & Dictionaries

38

PBS 161 of X — jq: Maths, Assignment & String Manipulation

39

PBS 160 of X — jq as a Programming Language

40

PBS 159 of X - jq: Building Data Structures

41

PBS 158B - jq More Advanced Queries

42

PBS 158A – jq: More Queries

43

PBS 157 of X — jq: Querying JSON with `jq`

44

PBS 156 of X — Extracting Data with `jq`

45

PBS 155 – Introducing JSON Processing from the Shell with `jq`

46

PBS 154 — Bash: Expansions & Brackets Redux

47

PBS 153 – Bash: Functions & Scope

48

PBS 152B of X — Bash: xargs & Easier Arithmetic

49

PBS 152A of X — Bash: xargs & Easier Arithmetic

50

PBS 151 of X — Bash: Printf and More

51

PBS 150 of X – Bash Script Plumbing (Take Two)

52

PBS 149 of X — Better Arguments with POSIX Special Variables and Options

53

PBS 148 – A Bash Potpourri (Subshells, Relative Paths & More)

54

PBS 147 – Bash Arrays

55

PBS 146 of X – Shell Loops

56

PBS 145 of X — Shell Conditionals

57

PBS 144 – Basic Shell Script IO

58

PBS 143 — Shell Script Basics

59

PBS 142 — The XKPasswdJS Project Kickoff!

60

PBS 141 — Generating UML Class Diagrams with Mermaid (Don't Cuddle the Mermaid)

61

PBS 140 of X — UML Class Diagrams

62

PBS Tidbit 6 of Y — A Real-World Webpack Case Study

63

PBS 139 of X — Bundling a Web App/Site with Webpack (Part 2)

64

PBS 138 – Bundling a Web App/Site with Webpack (Part 1)

65

PBS Tidbit 5 of Y — Tips for the Vacationing Programmer

66

PBS 137 of X — Bundling a Library with Webpack

67

PBS Tibit 4 of Y — Rethinking a Web App – from Web Server to Cloud Stack

68

PBS Tidbit 3 of Y

69

PBS 136 of X — More Jesting

70

PBS 135 of X – Introducing Jest (and re-Introducing Test Driven Development & Unit Testing)

71

PBS Tibit2 – It's Ok to Play a Different Game!

72

PBS 134 of X — Firming up our Foundations (2 of 2)

73

PBS 133 of X – Firming up our Foundations (1 of 2)

74

PBS 132 of X — Managing JSDoc

75

PBS 131 of X – Introducing JSDoc

76

PBS 130 of X – Good Technical Documentation

77

PBS 129 of X - ESLint with Guest Instructor Helma Van der Linden

78

PBS 128 of X – JavaScript Module Basics

79

PBS 127 of X – Introducing NPM (and Node)

80

PBS 126 of X - Introducing Phase 2

81

PBS 125 of X – Chezmoi on Multiple Computers

82

PBS 124 of X – Chezmoi Templates

83

PBS 123 of X — Backing up and Syncing Dot Files with Chezmoi

84

PBS 122 of X – Managing Dot Files with Chezmoi

85

PBS 121 of X — Managing Dot Files and an Introduction to Chezmoi

86

PBS 120 – Ignoring Files in Git

87

PBS 119 of X — Open Source on GitHub

88

PBS 118 of X — JavaScript Apps with GitHub Pages

89

PBS 117 of X – Introducing GitHub

90

PBS 116 0f X – Team Git

91

PBS 115 of X – The Push & Pull of Git

92

PBS 114 – Tracking Git Branches

93

PBS 113 of X My First Git Remote

94

PBS 112 of X – Introducing Git Remotes

95

PBS 111 of X – Stashing Changes

96

PBS 110 of X – Merge Conflicts

97

PBS 109 of X — SemVar & Structured Commits

98

PBS 108 of X — Merging & Tagging

99

PBS 107 of X – Branching Basics

100

PBS 106 of X — Time Travel with Git

101

PBS 105 of X – Seeing the Past with Git

102

PBS 104 of X – Tracking Changes in Git

103

PBS 103 of X — Getting Started With Git

104

PBS 102 of X – Introducing Git

105

PBS 101 of X - Introducing Version Control

106

PBS 100 of X — Time Sharing Challenge Solution

107

CCATP #649 – Dr. Helma van der Linden on Creating a Book with Open Source Software

108

PBS - Can We Interest You in a Cup of Taming the Terminal?

109

PBS 99 of X – Building with Classes Part 2: Is-A

110

PBS 98 of X — Building with Classes Part 1 — Has-A

111

PBS 97 of X — Class Data Attributes & Functions

112

PBS 96 of X — World Clock Challenge Solution

113

PBS 95 of X — Better JavaScript Class Attributes

114

PBS 94 of X — Basic JavaScript OO with Class

115

PBS 93 – Encapsulation with JavaScript Objects

116

PBS 92 of X — Currency Grid Solution

117

PBS Adjacent: CCATP #628 — Bart Busschots on Creating Automator Quick Actions with JavaScript

118

PBS 91 of X — JavaScript RE Objects

119

PBS 90 of X — JavaScript Wrapper Objects

120

PBS Tidbit 1 of Y — Display Values are not Data!

121

PBS 89 of X — Currency Converter Challenge

122

PBS 88 of X — DOM & jQuery Objects Redux

123

PBS 87 of X — JavaScript Iterators Objects & Generator Functions

124

PBS 85 of X — Objects as Arrays in JavaScript (Redux & Update)

125

PBS 84 of X – Objects as Dictionaries in JavaScript (Redux & Update)

126

PBS 83 of X Bootstrap Cards

127

PBS 82 of X – Async & Await

128

PBS 81 – The JavaScript Promise Utilities

129

PBS Supplemental — Dorothy Rendon on the PBS Index

130

PBS 80 — JavaScript Promise Chains

131

PBS 79 — Introducing JavaScript Promises

132

PBS 78 — is.js & Bootstrap Popovers

133

PBS 77 of X — More Callbacks & More AJAX

134

PBS 76 of X - AJAX with jQuery

135

PBS 75 of X - AJAX Intro

136

PBS 74 of X - More Mustaches

137

PBS 73 of X - Mustache Templates

138

PBS 72 - HTML5 Templates

139

PBS 71 of X - Bootstrap Spinners

140

PBS 70 - Bootstrap Modals & Toasts

141

PBS 69 of X — Bootstrap Navbars

142

PBS 68 of X - Bootstrap Navs

143

PBS 67 of X - Bootstrap Dropdown Menus

144

PBS 66 of X - Bootstrap Form Validation

145

PBS 65 of X — Bootstrap Input Groups

146

PBS 64 - Bootstrap Form Layouts

147

PBS 63 of X — Bootstrap Buttons

148

PBS 62 of X — A Basic Bootstrap Form

149

PBS 61 of X — Bootstrap Jumbotrons & Badges

150

PBS 60 of X - Bootstrap & jQuery

151

PBS 59 of X — More Bootstrap Breakpoints

152

PBS 58 of X - Bootstrap Breakpoints

153

PBS 57 of X - the Bootstrap Grid

154

PBS 56 - More Bootstrap Content

155

PBS 55 - Bootstrap Content

156

PBS 54 of x - More Bootstrap Utilities

157

PBS 53 of X — Bootstrap Utilities

158

PBS 52 - Introducing Bootstrap 4

159

PBS 51 - Cellular Automata Wrap-up

160

PBS 50 - Building a Web App on Video

161

PBS 49B of X - Object Revision & Improving Our Cellular Automata

162

PBS 49A of X - Challenges from PBS 48

163

PBS 48 of x – A Closer Look at ‘this’ and ‘static’

164

PBS 47 - ES6 Polymorphism

165

PBS 46 - ES6 Spread Operator, Arrow Functions & Classes

166

PBS 45 – ES6 Arrays & Strings

167

PBS 44 - ES6 Arguments & Objects

168

PBS 43 of x - Introducing JavaScript ES6

169

PBS 42 of x – Playing the Game of Life

170

PBS 41 of x - Form Events

171

PBS 40 of x - HTML5 Custom Validations with jQuery

172

PBS 39 of x - HTML5 Form Validation

173

PBS 38 of x - Taking Stock

174

PBS 37 of x - JSDoc Demo

175

PBS 36 of x – More HTML Text Input | More Cellular Automata

176

PBS 35 of x - HTML Text Input | Introducing ‘Life’

177

PBS 34 of X – More JS Testing with QUnit

178

PBS 33 of x – JS Testing with QUnit

179

PB 32 of X – JS Error Handling Revision | HTML Selects

180

PBS 31 of x – JS Static Functions | Checkboxes & Radio Buttons

181

PBS 30 of x - Comparing JS Objects | Introducing WAI-ARIA

182

PBS 29 – JS Prototype Revision | Glyph Icons

183

PBS 28 – CSS Attribute Selectors & HTML Buttons

184

PBS 27 – Introducing HTML Forms

185

PBS 26 – HTML Data Attributes with jQuery

186

PBS 25 – Case Study of a JavaScript API

187

PBS 24 – Creating a JavaScript API

188

PBS 23 – Creating Elements with jQuery

189

PBS 22 – jQuery Events

190

PBS 21 of X – jQuery Basics

191

PBS 20 of x - JavaScript in the Browser

192

PBS 19b of x - Solving JavaScript Challenges Part 2

193

PBS 19 of x - Solving JavaScript Challenges

194

PBS 18 of x - JavaScript Miscellany

195

PBS 17 of x - JavaScript Objects

196

PBS 16 of x - JavaScript Callbacks

197

PBS 15 of x - JavaScript Functions

198

PBS 14 of x - JavaScript Loops & Arrays

199

PBS 13 of x - (JavaScript Conditionals)

200

PBS 12 of x - (JavaScript Intro)

201

PBS 11 of x - Tables

202

PBS 10 of x - Yet More CSS

203

PBS 9 of x - More CSS Positioning

204

PBS 8 of x - CSS Positioning

205

PBS 7 of x -More CSS

206

PBS 6 of x - Introducing CSS

207

PBS 5 of x - HTML Images & Links

208

PBS 4 of x - HTML In-line Elements

209

PBS 3 of X - HTML Block Elements

210

PBS 2 of X - Introducing HTML

211

PBS 1 of X - Introduction