177 episodes

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.

Programming By Stealth Podfeet Podcasts

    • Technology
    • 5.0 • 14 Ratings

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.

    PBS 164 of X – jq: Working with Lookup Tables

    PBS 164 of X – jq: Working with Lookup Tables

    In our previous episode of Programming By Stealth, Bart Busschots taught us how to create lookup tables with jq from JSON data using the `from_entries` command. Just when we have that conquered, this time he teaches us how to do the exact opposite – disassemble lookup tables. I think this was a really fun lesson because taking data apart, reassembling it the way you want and then putting it back together again is a great way to really understand what we're doing with jq. I got much more comfortable as I started to recognize the patterns in what Bart was doing. We also get to play with a new data set, the Have I Been Pwned data gathered by Troy Hunt.


    If you're a data nerd, and really who amongst us isn't, you'll love this episode too.


    You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.

    • 1 hr 17 min
    PBS 163 of X – jq: Lookups & Records

    PBS 163 of X – jq: Lookups & Records

    In this episode of Programming By Stealth, Bart Busschots as usual works through his solution to the challenge from last time, and as usual I learn a lot more about how to use jq to solve problems. He takes a bit of a detour to explain a fun email we got from Jill of Kent in which she explained the vast number of headaches you'll run into when trying to alphabetize names no matter the language.


    Then we buckle down and learn about how to make tradeoffs between speed and efficiency of resources, and how jq lookups can help us. Bart also helps us understand _when_ lookups can help us with querying JSON files.


    This episode is more of a lecture, which is fine because he's introducing a new concept and explaining some philosophy. You won't hear me breaking into the conversation very much but it's only because I'm not confused! Don't worry, when we get into the final example you'll hear me get confused! Bart explains it about 3 or 4 times and when you hear why your co-host here was confused, it's kind of ironic.


    You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net.

    • 1 hr 34 min
    PBS 162 of X — jq: Altering Arrays & Dictionaries

    PBS 162 of X — jq: Altering Arrays & Dictionaries

    Bart Busschots is back to teach us how to alter arrays and dictionaries in JSON files using jq. Bart went through his challenge solution on cleaning up the Nobel Prize database and I learned a lot from it. Maybe he’d already taught all of it to us before but I sure wouldn’t have been able to put the pieces together.

    For the new content, we learned how to alter arrays. We mastered sorting and reversing, how to add and remove elements, how to deduplicate the values within, and how to flatten even nested arrays. From there we learned how to manipulate dictionaries by adding and removing keys.

    It’s a very focused lesson that continues to show how powerful the jq language is. I think my favorite part though was when Bart made an existential philosophy observation when he said “Everything exists with the value of null.”

    You can find Bart’s fabulous tutorial shownotes at pbs.bartificer.net.

    • 1 hr 2 min
    PBS 161 of X — jq: Maths, Assignment & String Manipulation

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

    In this week’s episode of Programming By Stealth, Bart continues to expand our knowledge on how to use jq to query and manipulate JSON files. We learn how to use mathematical operators on data in our JSON files along with fun functions like floor and absolute value. I even contributed some to the learning by showing examples of how `ceil` (for ceiling), `floor`, and `round` produce curiously different results when operating on negative decimal numbers.

    We move onto learning about both plain assignment and update assignment. It seems like a small deal but the ability to set a parameter using the plain assignment `=` vs the ability to update a value using ` |=` is is actually huge and has lots of subtleties.

    I think one of my favorite parts was when Bart took us back to our JavaScript lessons and reminded us of how weird it is on one concept but how jq is much more in line with modern programming languages. I felt like a seasoned programmer because I knew the history of what we’d learned. Finally we learned how you can actually divide strings. I know, weird, right? Ok, that’s enough spoilers.

    You can find Bart’s fabulous tutorial shownotes at pbs.bartificer.net.

    Read an unedited, auto-generated transcript with chapter marks: CCATP_2024_02_17 (https://podfeet.com/transcripts/CCATP_2024_02_17.html)

    Join our Slack at podfeet.com/slack and look for the #pbs channel, and check out our pbs-student GitHub Organization (https://github.com/pbs-students). It’s by invitation only but all you have to do is ask Allison!

    • 1 hr 6 min
    PBS 160 of X — jq as a Programming Language

    PBS 160 of X — jq as a Programming Language

    In this week's installment of Programming By Stealth, Bart Busschots teaches us how to use jq as a programming language. Before we get into the new stuff, Bart takes us through his solution to the challenge, and I have to say I was pretty chuffed when he said my solution to the extra credit portion was more elegant than his. To be fair, it took a buddy programming session with him for me to get the _first_ part of the challenge figured out.


    When we got into the programming language part of the lesson, there were so many times that I said, "I needed this last week!" I think finding out these options are available after understanding the problems they solve was fantastic.


    We learned how to run jq filters from files, which means no more looking at our filters all on one line - we can put line feeds and indents into our filters to make them more readable. We can even add comments. Bart tells us about a couple of handy plugins for VS Code to give us syntax highlighting which will be swell.


    My favorite thing I learned was how to add debugging to our filters. This one is a life changer. We explore a few functions for exploring data filters that will make life easier. We wrap up with an introduction to jq variables, which the developers of jq really don't want you to use unless absolutely necessary.

    • 1 hr 24 min
    CCATP #784 — Bart Busschots on PBS 159 of X - jq: Building Data Structures

    CCATP #784 — Bart Busschots on PBS 159 of X - jq: Building Data Structures

    In this very meaty episode of Programming By Stealth, Bart Busschots teaches us how to build data structures using jq with JSON files. We’re not just querying existing data, we’re rebuilding the data the way we want to see it. We learn how to build strings with interpolation, which I find is a very odd word to describe the process. It’s really like concatenation in Excel, but maybe that’s just me.

    We build arrays using jq, and even convert between strings and arrays with the `split` and `join` commands. We build dictionaries in a syntax that is simple and elegant. We also build dictionaries from strings using `capture` with Regular Expressions.

    We learn not to do string formatting and escaping using `@` – for example `@csv` can automatically create comma-separated values data for us and @uri can escape characters for us in a URL we build using jq.

    Like I said, it’s a meaty episode but Bart and I both enjoyed the lesson quite a bit.

    You can find Bart’s fabulous tutorial shownotes at pbs.bartificer.net. And just in case I forgot to mention it earlier, remember that we now have transcripts with chapter breaks. This means you can jump pretty easily to a topic to reread exactly how Bart explained something. You even get a time stamp of when he talked on that subject, allowing you to easily skim to the portion of the audio you want to rehear for clarification. All thanks to the magic of Auphonic (https://auphonic.com). Ok, it’s not magic, but it _feels_ like magic!

    Read an unedited, auto-generated transcript: CCATP_2024_01_20 (https://podfeet.com/transcripts/CCATP_2024_01_20.html)

    • 1 hr 24 min

Customer Reviews

5.0 out of 5
14 Ratings

14 Ratings

Grumpy430 ,

Learning for Everyone

Speaking as a developer, regardless of your current/prior experience with programming, this series is a great listen and everyone can pick up a new trick or three.

Bart does a fantastic job of preparing the lessons (with meticulous show notes) and Allison is the perfect student…..you know the one……at the front of the class always with her hand up ;)

Original_username_1337 ,

Didn't have any ratings

So I did 5 stars. But seriously, Allison and Bart are amazing!

Top Podcasts In Technology

Lex Fridman Podcast
Lex Fridman
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Acquired
Ben Gilbert and David Rosenthal
The Neuron: AI Explained
The Neuron
BG2Pod with Brad Gerstner and Bill Gurley
BG2Pod
TED Radio Hour
NPR

You Might Also Like

Mac Power Users
Relay FM
Lex Fridman Podcast
Lex Fridman
The Joe Rogan Experience
Joe Rogan
Conversations with Tyler
Mercatus Center at George Mason University
The Daily
The New York Times