Programmatic

The Programmatic podcast is a weekly podcast that discusses various programming topics. We will share code, and solutions to common programming problems.

Episodes

  1. Using Git in 2024

    08/01/2024

    Using Git in 2024

    In this part of the conversation, we dive into the fundamentals of Git and GitHub. We explain that Git serves as a system for storing and collaborating on code, while GitHub enhances collaboration with additional features. Git is the offline method of conducting version control, while GitHub provides a remote repository for storing code. We highlight that GitHub now offers free private repositories and extends additional benefits to students and open source contributors. However, our focus in this episode is directed towards Git, exploring its built-in mechanisms for making changes. We delve into the various commands within the Git interface that allow for staging changes to be committed. Moving forward, we explore different strategies for staging and committing changes in version control. Visual cues within the source control tab of VS Code represent uncommitted changes with a dot and two branches, providing a clear overview. Once changes are staged, they can be committed to source control. Repositories, or repos, are pivotal in tracking different elements of a project. The main branch, often named "main" or "master," represents the version intended for production. Branches offer the flexibility to develop and experiment with different ideas without affecting the main branch. To illustrate the power of branching, we use the analogy of writing a book, where each chapter is written in its own branch, committed, and then merged back into the main branch. Git flow, a technique that leverages branching for feature development, ensures that developers do not interfere with each other's work, minimizing the occurrence of merge conflicts. Merge conflicts commonly arise when multiple developers modify the same lines of code. VS Code provides valuable assistance in resolving merge conflicts by presenting options to view and select different versions of the code. It's worth noting that merge conflicts are more prevalent on GitHub and less likely to occur with a local repository unless changes from multiple branches are merged. Proceeding further, we transition to discussing remotes and command line operations in Git. We cover topics such as committing changes using the git commit command, creating branches using git branch and git checkout, and how tools like VS Code can simplify these tasks. Additionally, we touch upon the process of retrieving projects from GitHub using git clone and contributing to them by forking and sending pull requests. We touch upon updating Mastodon source code using git and highlight the significance of staying informed about new releases. When it comes to pulling and pushing changes, we clarify that git pull integrates remote changes into the local code, while git push propagates local changes to online repositories. We also introduce the concept of git flow, which incorporates branches like main, develop, feature branches, and hotfix branches to manage different versions of a project. In passing, we briefly discuss software releases, noting that GitHub typically serves as the platform for such releases, surpassing the command line or VS Code. Ultimately, we emphasize the distinction between Git features and GitHub features, notably pull requests, forking, and releases, underlining that these functionalities primarily belong to GitHub. Understanding the features of GitHub and Git is of utmost importance, and we discuss the significance of conducting research to determine what suits individual needs best. While GitHub remains a popular choice for code storage, alternatives like GitLab also exist. Different Git providers may vary in terms of accessibility and features. We mention GitHub Copilot as a valuable tool and encourage listeners to find the tools and platforms that align with their preferences. Additionally, we briefly mention Xcode Cloud, which facilitates continuous integration and delivery for iOS apps, although it poses challenges in handling environment variables like API keys. We express our intention to explore potential solutions for Django apps in the future. Finally, after approximately 30 minutes of engaging programming discussions, we extend our gratitude to the guest and conclude the episode. We encourage listeners to connect with us online, providing them with contact information for the show.

    28 min
  2. Comparing Website and Mobile App Accessibility

    21/08/2023

    Comparing Website and Mobile App Accessibility

    Episode Notes In this episode of the Programatic podcast, host Michael Doise explores the topic of accessibility in programming. He brings on expert Taylor Arndt to lend her insights and expertise to the conversation. Together, they delve into various aspects of accessibility in programming, covering both desktop applications and websites/mobile apps.  The discussion kicks off with Taylor sharing her background in digital accessibility and programming, providing valuable context for the conversation. Michael mentions that future episodes will dive into more advanced topics, setting the stage for a deeper exploration of the subject matter.  One key point of focus is how desktop applications are audited for accessibility compared to websites and mobile apps. They examine the application of the Web Content Accessibility Guidelines (WCAG) to desktop apps, particularly those developed with Electron. This discussion sheds light on the challenges and considerations involved in ensuring accessibility in different platforms.  The conversation then turns to specific challenges faced by developers when implementing accessibility features, such as dark mode, in their apps. They discuss the Blindshell Classic 2, an Android phone with its own app system that does not support dark mode for Android apps. This prompts an exploration of the need for exceptions in accessibility audits and the processes that companies have for granting them. Additionally, they touch on the fact that many accessibility professionals may not have a development background, highlighting the need for collaboration between developers and accessibility experts.  Moving on, they tackle the technicalities of incorporating images in websites and mobile apps with regards to accessibility. The concept of decorative images, their purpose, and how best to handle them for screen readers is explored. They emphasize the importance of considering keyboard users and discuss whether hiding images from screen readers using ARIA is acceptable. The differences between handling images on mobile apps and websites are also considered, with a focus on best practices and exceptions to accommodate specific app needs. Conveying information through alt text and accessibility labels is highlighted, particularly for images that are critical to app functionality and flow.  The speakers then explore the topic of profile images on social media timelines and discuss the accessibility and usability implications of different approaches. They suggest that using a person's name as a description for the image may be more accessible than relying solely on alt text. They also compare the accessibility and usability of Twitter and Threads posts, noting that Threads can be technically accessible but pose usability challenges due to navigation complexities.  Heading into the next segment, they analyze the differences in headings between websites and mobile apps, presenting their reasoning for specific heading levels and mobile-specific considerations. Collaboration with developers is emphasized as crucial for creating accessible apps, and the misuse of headings is cautioned against.  The podcast then turns its attention to the usage of audio in mobile apps, addressing autoplay, interruptions, and the importance of uninterrupted audio sessions. The layout and distinction of images, buttons, and links in mobile apps are also examined, stressing the need for clear differentiation between buttons and links. Accessibility features such as underlined text for links are highlighted as essential components of an accessible design. Criticisms are voiced towards companies that fail to properly differentiate between buttons and navigable items in their mobile apps, and the importance of mobile-specific expertise in app accessibility is reinforced.  The conversation wraps up with a discussion on the importance of code-level recommendations from developers who understand mobile platforms. Buttons, list items, headings, and images are emphasized as crucial elements to consider when comparing mobile and web accessibility. The necessity of captions and transcripts for audio content, as well as proper linking of web pages, is highlighted. Color contrast and adherence to WCAG standards are underlined as vital aspects to bear in mind. With a final message of programming being a creative and artistic career, the speakers emphasize the long-term benefits that good accessibility practices can bring to programmers. Listeners are encouraged to provide feedback and questions, with contact information provided for Taylor and Michael. The episode concludes, leaving listeners with valuable insights into the importance of accessibility in programming and how to approach it effectively.In this episode, we explore accessibility in programming with expert Taylor Arndt. We discuss auditing accessibility in desktop applications versus websites/mobile apps. We also cover challenges faced by developers in implementing accessibility features and handling images. Other topics include profile images on social media, heading structures, audio in mobile apps, and code-level recommendations. We emphasize collaboration between developers and accessibility experts and the importance of adhering to WCAG standards. Contact information for Taylor and Michael is provided for feedback and questions. Support Programmatic by contributing to their tip jar: https://tips.pinecast.com/jar/programmatic Find out more at http://programmaticpod.com Send us your feedback online: https://pinecast.com/feedback/programmatic/cd801a7c-6a8f-4fc3-b3d9-bfb9e1b7d528 Check out our podcast host, Pinecast. Start your own podcast for free with no credit card required. If you decide to upgrade, use coupon code r-3bc504 for 40% off for 4 months, and support Programmatic.

    38 min
  3. Web Hosting and Programming Styles

    19/03/2023

    Web Hosting and Programming Styles

    Episode Notes On this episode, Michael discusses the following topics. Challenge Swift struct ContentView: View { // Declare the array with elements to display in the List let names = ["John", "Jane", "Alice", "Bob"] var body: some View { // Use the List view to create rows for each element in the array List(names, id: .self) { name in Text(name) } .navigationTitle("Names") } } } Python hash Declare the list with elements to display names = ["John", "Jane", "Alice", "Bob"] Hash Iterate through the list and print each name for name in names: print(name) Discord Bot import discord from discord.ext import commands client = discord.Client(intents=discord.Intents.default()) @client.event async def on_voice_state_update(member, before, after): if before.channel is None and after.channel is not None: channel = client.get_channel(123456789) hash Replace with the ID of the text channel where you want to post the message message = f'{member.mention} has joined {after.channel.name}' await channel.send(message) hash Replace 'YOUR_BOT_TOKEN' with your actual bot token client.run('YOUR_BOT_TOKEN') Topics Pick a good Web hosting provider with good tech support. Use Michael's DreamHost Referral. We also discuss the different styles of programing from Object Oriented programming to event driven programming, and declarative programming. Transcript Web Hosting And Programming Styles Michael Doise Programmatic Edit TranscriptRemove HighlightingAdd Audio FileExport...? [0:00] Music.  [0:19] And hello everybody, welcome back to Programatic. My name is Michael Doeys and it's good to be back with you all this wonderful week.  We recorded a day late because there was just a lot to get done to publish the last episode.  We had a lot of code that we had in the results.  So something that we thought about was if you could basically take your code that you have for a solution and throw it through chat GPT and tell it to remove, the extra text or the punctuation, could it do that?  And it does not seem to do it.  [1:02] It wants to keep it all as code and try to remove, it's trying to be smarter than we are and remove the punctuation from the actual string.  So like if there's a print statement, it would go in and remove the parentheses or punctuation and put them as words in the strings.  Now, one thing that I did get it to do, is I said replace all semicolons in this code with the word semicolon, and it did that.  So that was helpful for JavaScript. Unfortunately, that's the only language we do our examples in that are using semicolons.  So yeah, that didn't help. When I tried to do parentheses, I was like, nope, not gonna do it, won't do it.  So that was not very effective there.  So unfortunately, I still have to do those by hand. So it takes a good little while to do that.  [1:51] It takes an editing project that really shouldn't take very long, quite a bit longer to convert all of that to text, then throw it through 11 labs, and then have that converted to audio, and then put that into the tracks.  But I think it really sounds great, And I haven't gotten any feedback so far, so I'm curious what people think of how we're doing our code snippets in the episodes.  And in fact, I will have.  Snippet in here today. And I will talk about that after we do our solutions. Our last challenge was to use an array, to build an app or a, console application that could have a list of names or items and.  [2:43] Basically the results that will be in the full version, sorry YouTube folks, that will be in the full version of the podcast will be of SwiftUI and, of other possible UI frameworks showing a list.  I think I'm going to mainly focus on SwiftUI, so we may not have a JavaScript.  Or if we do have a JavaScript in Python version, it might be console applications because it's easy to generate a SwiftUI list because it's so short.  But making a whole Python UI that has a list would be a little more difficult in a JavaScript application.  So we're gonna probably just have one programming solution for this lesson or this challenge result this time.  So maybe two showing a Swift or Python array.  [3:40] So we'll see, we'll see what we get. So the other snippet, so well, let me back up.  So here's gonna be the results of that challenge.  We have the Swift.  Struct content view colon view left curly bracket. Slash slash declare the array with elements to display in the list.  Let names equals left square bracket John comma Jane comma Alice comma Bob right square bracket.  Var body colon some view left curly bracket.  Slash slash use the list view to create rows for each element in the array.  List left parenthesis names. Comma ID colon backslash dot self right parenthesis.  Left curly bracket name in text left parenthesis name right parenthesis right curly bracket dot navigation title left parenthesis names right parenthesis right curly bracket right curly bracket,and now we have our python result hash declare the list with elements to display names equals left square bracket John comma Jane comma Alice comma Bob right square bracket Hash iterate through the list and print each name.  For name and names colon, indent level one.  Print left parenthesis, name right parenthesis.  [4:56] So we'll have one of each and we may have to make some edits and things like that based on what we have.  So I want to thank 11 Labs for providing that again.  And also I want to talk about one of my projects that I just worked on, which I'm going to use 11 Labs and have it read the project because it's very short.  [5:19] And what that is is a Python script that is a Discord bot. And you'll be able to find this in GitHub.  I have to make a few edits to make that ready to go.  But you'll find it in GitHub on my repos that will send an alert to a channel when somebody joins voice.  So I'm going to have the Python voice that we use from 11 labs.  Go ahead and read that source snippet right here.  Import Discord. From discord.ext import commands. Client equals discord.client left parenthesis.  Intents equals discord.intents.default left parenthesis, right parenthesis, right parenthesis.  At sign, client.event.  Async def on underscore voice, underscore state, underscore update, left parenthesis member comma, before comma, after right parenthesis colon.  Indent level one. If before dot channel is none, and after dot channel is not, none colon indent level two, channel equals client.get underscore channel left parenthesis, 123456789 right parenthesis.  [6:25] Hash replace with the ID of the text channel where you want to post the message.  Indent level two, message equals F single, quote, left curly bracket member, dot mention, right curly bracket has joined left curly bracket after dot channel, dot name, right curly bracket, single quote.  Indent level two, await channel dot send left parenthesis message, right parenthesis.  Hash replace, your underscore BOOT underscore token with your actual bot token.  Client.run left parenthesis, single quote, your underscore bot underscore token, single quote, right parenthesis.  [7:01] All right, so that's really exciting stuff. And it's working now.  And this brings up one of the first topic I'm gonna go through today.  And that's how to pick a good web host.  I think I've, people that know me have known that I've gone through the list of web hosts.  I've gone from Bluehost to NameHero to, let's see, so many others.  I've even built my own through Linode using cPanel and DigitalOcean using cPanel and ...

    26 min
  4. Interpreted and Compiled Languages

    11/03/2023

    Interpreted and Compiled Languages

    Episode Notes On this episode of the podcast, Michael discusses the differences. between interpreted and Compiled programming languages. Challenge results from episode 2. Swift // Ask for the user's name and age print("What is your name?") let name = readLine() ?? "" print("What is your age?") let ageString = readLine() ?? "" let age = Int(ageString) ?? 0 // Print a statement based on the user's age if age 0 { print("Invalid age!") } else { print("(name), you are a minor.") } JavaScript // Ask for the user's name and age let name = prompt("What is your name?"); let ageString = prompt("What is your age?"); let age = parseInt(ageString); // Print a statement based on the user's age if (age 0) { console.log("Invalid age!"); } else if (age 18) { console.log(name + ", you are a minor."); } else { console.log(name + ", you are an adult."); } Python Number Sign Ask for the user's name and age name = input("What is your name? ") ageString = input("What is your age? ") age = int(ageString) Print a statement based on the user's age if age 0: print("Invalid age!") elif age 18: print(name + ", you are a minor.") else: print(name + ", you are an adult.") Machine Transcript Programmatic 3 Interpreted And Compiled Languages 3:11:23 10 43 Am Edit TranscriptRemove HighlightingAdd Audio FileExport...? [0:00] Music.  [0:09] All right, hi everyone. Welcome to another episode of the Programmatic Podcast.  My name is Michael Dois, and while we're on episode three of the show, really exciting stuff, and I'm glad that we're back.  This is really a great show, and we're going to do even more great episodes.  I have a treat for you guys today, so I'm very excited to be here.  We wanna start off today with our typical challenge results.  [0:36] So last time I asked you guys to create a program that would let you get input and use a conditional based on that input.  So like if you're you know you ask for an age or whatever you do something based on that variable.  So as we did last time we're going to have 11 labs go ahead and read the different languages.  So first up we have the Swift.  Slash, slash, ask for the user's name and age.  [1:11] Print left parentheses, double quote, what is your name? Question mark, double quote, right parentheses.  Let name equals read line left parentheses, right parentheses, question mark, question mark, double quote, double quote.  Print, left parentheses, double quote, what is your age? Question mark, double quote, right parentheses.  Let age string equals read line left parenthesis. Question mark, question mark, double quote, double quote, let age equals int, left parenthesis, age string, right parenthesis, question mark, question mark, zero, slash slash, print a statement based on the user's age.  If age is less than zero, left curly brace, print left parenthesis, double quote, invalid age.  Exclamation mark, double quote, right parenthesis. Right curly brace, else if age is less than 18, left curly brace, print left parenthesis, Double quote backslash left parenthesis name, right parenthesis, comma.  You are a minor.  Double quote right parenthesis right curly brace. Else left curly brace print left parenthesis double quote backslash left parenthesis name, comma name. You are an adult.  [2:16] Double-quote right parenthesis write curly brace javascript slash slash ask for the user's name and age let name equals prompt left parenthesis double quote what is your name double quote right parenthesis semicolon let age string equals prompt left parenthesis double quote what is your age double quote right parenthesis semicolon let age equals parsant left parenthesis age string right parenthesis semi colon slash slash print a statement based on the user's age if left parentheses age is less than zero right parenthesis left curly brace console dot log left parenthesis double quote invalid age double quote right parenthesis semi colon right curly brace else if left parenthesis age is less than 18 right parenthesis left curly brace console dot log left parenthesis name plus double quote comma, you are a minor, double quote right parenthesis, semi colon, right curly brace.  Else, left curly brace, console dot log, left parenthesis name plus double quote comma, You are an adult. Double quote write parenthesis. Semicolon, write curly brace.  [3:27] And Python. Hash. Ask for the user's name and age.  Name equals input, left parenthesis, double quote, what is your name, double quote, right parenthesis.  Age string equals input, left parenthesis, double quote, what is your age, double quote, right parenthesis.  Age equals int left parenthesis, age string, right parenthesis.  Hash print a statement based on the user's age. If age is less than zero colon, indent level one, print left parenthesis, double quote, invalid age, double quote, right parenthesis.  Elif age is less than 18 colon. Indent level one, print left parenthesis, name plus double quote, comma, you are a minor, double quote, right parenthesis.  Else, indent level one, print left parenthesis, name plus double quote, comma, you are an adult, double quote, right parenthesis.  All right, thanks 11 Labs for providing these voices to us to use for this.  It's been very interesting working with the 11 Labs website as they require, it requires you to use punctuation to, you know, spell out the punctuation to get everything written correctly.  [4:44] So that's kind of crazy just spelling every parentheses, left parentheses, all of that out.  And something that Taylor told me to try to do is to take all of the code in ChatGPT and tell it to spell out all of the punctuation in the code.  [5:02] And I thought that was a brilliant idea. So I wanted to mention that here.  So whenever I put the results on episode four's video or audio and for, well, I guess for the podcast, the audio, you guys will be the first to see how that works.  So I'm pretty excited to see if that works well or not. So I'll report back then.  OK, so we have a great topic today that I thought was very interesting, and I wanted to talk to you all about today.  And that is the difference between an interpreted programming language and a compiled programming language.  And believe it or not, there are some of those that are mixed.  And so it's quite interesting.  [5:50] So what is an interpreted language? An interpreted language is a programming language that is similar to JavaScript, Python, PHP, Perl, several of these others that will, that execute code line by line.  They interpret what is written from the top down in each file.  So the code is interpreted at runtime.  So some people think that a lot of these languages are slower because all of the code is read from the top down and it has to go line by line and through the conditions to process all of that information.  This is true. I mean, it really can slow things down depending on how many lines of code you have.  Whereas compiled code is all converted to machine code binary and it's all, you know, the code is presented in machine code at once.  So the computer can read through the code much faster and process the information quicker than what it could with interpreted languages.  [7:11] For example, if I'm writing a program in Python, I can use the Python interpreter to see what I'm doing before I do it.  [7:23] So I can use the Python interpreter to write several lines of code before I even put it in my program.  And when you run your code, you're even running it with the Python interpreter.  So it's quite interesting to think about the differences between these languages, whereas like Swift, you know, I'm compiling that into machine code.  But Swift also can be ran...

    17 min
  5. Resources

    04/03/2023

    Resources

    Episode Notes Welcome to episode 2 of the Programmatic Podcast! On this episode, Michael discusses the following Items. Challenge 1 - Results Here are the results for the episode 1 challenge Swift // Ask for the user's name print("What's your name?") let name = readLine() // Print a personalized greeting message if let name = name { print("Hello, (name)! Welcome to my program.") } else { print("Hello, anonymous user! Welcome to my program.") } JavaScript // Ask for the user's name const name = prompt("What's your name?"); // Print a personalized greeting message if (name) { console.log(Hello, " + name + "! Welcome to my program.); } else { console.log("Hello, anonymous user! Welcome to my program."); } Python number sign Ask for the user's name name = input("What's your name? ") Number sign Print a personalized greeting message if name: print(f"Hello, {name}! Welcome to my program.") else: print("Hello, anonymous user! Welcome to my program.") Resources Training Courses LinkedIn Learning Udemy CodeCademy FreeCodeCamp YouTube Code With Chris FireShip Paul Hudson Sean Allen Tutorials hacking With Swift Ray Wenderlich now Kodeco Providing feedback Please let me know what you think of the show. Email me at mikedoise@icloud.com, or you can find me at https://techopolis.social/@mikedoise on Mastodon. I am also @mikedoise on Twitter Thanks again for listening, and I hope you will join in the conversation and learn more about programming. Transcript Programmatic 2 - Resources Michael Doise Programmatic Edit TranscriptRemove HighlightingAdd Audio FileExport...? [0:00] Music. [0:09] Hi and hello everyone. Welcome to another episode of Programmatic. I'm Michael Doeys and we're here for another episode of the show and it's great to be back again. Reallyexcited to yet again be doing this podcast with you all. So thanks for tuning in if you're tuning in in podcasts or on YouTube. It's good to see you here. You know, we have a a great show lined up for you today. What we're gonna be talking about today is kind of continuing where we were last time in, and that's with getting started. And I think one of the biggest things that people have a hard time with is finding resources for getting started with code. And so that's what we're gonna talk about today, is how to get your foot in the door, how to get started with programming, and where to begin, what resources you can use to do that, and ways to get involved in the community. [1:06] And, you know, if, like I've said, if folks are in chat, please feel free to say hello on YouTube and we will go from there. So getting started in programming is, you know, kind of difficult. I've been programming for a long time. And, you know, whenever I've, I started whenever I was, you know, nine or 10, there was, I couldn't even figure out how to find QuickBasic or QBasic, only found about it by chance. And so, it's gone a long way from there to, all of these websites that we have, and being able to just Google and use Stack Overflow or ChatGPT. And, so that's what we're gonna talk about today is how do you find those resources? This is a good time here to do our first challenge resolution, what's the solution to the challenge? And we're going to talk about those in three different languages, typically Swift, JavaScript, and Python. [2:11] Those are the three languages I work with. If you have a request for language for a solution, let me know and we'll do that. And so I'm gonna let our good old friends with 11 Labs premium voices us the solutions to the Swift. [2:54] Curly brace else left curly brace print left parenthesis double quote hello anonymous user Welcome to my program. [3:05] And now to the JavaScript. Slash slash ask for the user's name. Cons name equals prompt left parenthesis double quote. What's your name? Double quote right parenthesis semi colon slash slash print. A personalized greeting message. If left parenthesis name right parenthesis left curly brace console dot log left parenthesis double quote hello double quote plus name plus double quote exclamation mark. Welcome to my program. Double quote right parenthesis, semi colon right curly brace, else left curly brace console dot log. Left parenthesis double quote hello anonymous user, welcome to my program. Double quote right parenthesis, semi colon right curly brace. And now to the Python. Hash. Ask for the user's name. Name equals input left parenthesis, double quote what's your name? Double quote right parenthesis hash, print a personalized greeting message. If name colon indent level one, print left parenthesis F double quote, hello left curly brace name, right curly brace exclamation mark. Welcome to my program. Double quote right parenthesis. Else colon indent level one, print left parenthesis double quote, hello anonymous user. Welcome to my program. Double quote, write parenthesis. [4:27] So, my apologies to folks on YouTube. Those come in at production time. So, they do, they, the voices are not present at runtime. So, or compile time. So, you have to get those at runtime. A little programming humor for the show there. So, thanks for listening. And if you have an idea for a challenge, please feel free to submit that. And we will put that in. And if you have solutions, we will put those on the next episode of the best solutions. So, this is episode two. And today we wanted to, like I was saying before, talk about resources. And we talked about several r...

    19 min
  6. Introduction to Programmatic

    25/02/2023

    Introduction to Programmatic

    Episode Notes Welcome to the first episode of the Programmatic Podcast. In ourfirst episode, we discuss what the podcast will be about. We also show off the amazing voices from ElevenLabs, which will be used to read out code samples and challengeresults during the podcast. Challenge Create a small program that runs in the console, and asks for user input. Then, print the result on screen. Providing feedback Please let me know what you think of the show. Email me at mikedoise@icloud.com, or you can find me at https://techopolis.social/@mikedoise on Mastodon. I am also @mikedoise on Twitter Thanks again for listening, and I hope you will join in the conversation and learn more about programming. Transcript Programmatic 1 - Introduction Michael Doise Programmatic Edit TranscriptRemove HighlightingAdd Audio FileExport...? [0:00] Music.  [0:09] Hi, hello everyone. Welcome to the Programmatic Podcast, a weekly podcast about programming.  I'm Michael Dois and this will be a weekly podcast to talk about, well, programming.  I'm really excited to be here with you all today. I've been interested in programming ever since I was young, so I'm glad to be here.  And we're doing this live weekly on YouTube, and we'll look at other methodologies as well.  So this podcast will be about programming and how to write programs.  [0:44] We'll be talking about how to write code, how to test your code, how to automate things, how to use shortcuts, how to use things on Android, Tasker, how to do pretty much anything to involve, to add programming into your life.  Because the truth of the matter is, If you add one small thing of programming, like if you automate something in your life, you're using programming with computers.  So this podcast is dedicated to the beginner and to the intermediate and to the expert.  So we'll have content for all of those things.  And you know, you might say, well, okay, if I'm a beginner and you're talking about expert level stuff, how do I figure that out? And the best way is how I got started and that's Googling it.  Say, you know, I'm talking about a URL session. What the heck is a URL session?  Google it.  [1:46] Say what is a URL session in programming? And that's going to be the best way that you learn what this stuff is, right?  So we'll be talking about pretty much everything. You know, we have Taylor in the chat who said every industry requires programming, and you're correct.  You know, even, you know, you do finance and that requires programming to build the applications, but also to automate, you know, sending information from Stripe to QuickBooks or things like that.  You know, and Taylor and said, maybe now we should Bing it instead of Google it. And yeah, you know, when everybody gets that feature, I agree. So we're really, you know, programming is, it's such an interesting time to get into it with AI and all those things. And we'll talk about that in this podcast as well. We're also going to do programming challenges at the end of each episode.  Even today, I'll be giving you a programming challenge to work on.  And, you know, we'll cover a few things before the challenge.  And then we'll we'll go over those things on the next episode.  [3:01] We'll talk about what those things, you know, how to come up with a solution for the challenge.  We'll also be hearing from some other voices, mechanical voices on this podcast.  And I'd like to introduce them now to the podcast listeners.  Sorry, you guys on YouTube.  [3:21] Yes, programming according to Taylor helps all the labor shortages.  We're gonna hear now from our other folks that will be on the podcast.  If you're listening after the fact, YouTube stream folks, I'm sorry, but you guys will not hear this, but I wanna welcome our AI overlords.  I mean, 11 Labs is AI speech, text to speech engines, who will be reading our code in the final version of the podcast.  So say hello, 11 Labs.  Hi, Michael.  Thanks for having us on the Programmatic Podcast.  We will be here each week to read example code so that listeners can experience something different while listening to the podcast.  [4:10] All right, thanks, 11 Labs. That was great.  So we'll have that in on the podcast so you guys can hear what you'll be hearing.  And when we do code, they will be reading all of the code out loud.  And I think that will give you guys like, you'll hear my voice, but you'll also hear, other voices as well.  And on episode two, you'll be able to hear that when we go over the results of the challenges.  Why program? Why even be interested in this field? Basically, why write a bunch of code?  Why is it interesting?  [4:52] And the answer is because why is it interesting to take a piece of paper and draw something and make that come to life?  Why is it interesting to take a piano, a guitar, or anything, any musical instrument and use it to make music?  You're making something from nothing. And with programming, that is what you're doing.  You're taking what you know and you're making that something, that nothing into something with your mind, with your thoughts.  You're essentially telling the computer what you want to make from nothing.  Before you write it, it doesn't exist.  And yes, it can be used to make money, but it could also be used as art.  And I fully believe that a good, well-written program is art.  [5:55] I look at my app, Pocket Braille, as I offer it as a paid app, it's in the app store, but it's also a representation of the person making it.  Right. And, you know, one of the things that we talk about is making your stuff accessible.  That's very important. Blind people need to be able to use your code as well as everybody else.  But at the end of the day, I want people to know that even the inaccessible code, it's still art.  And you know a lot of people in our community cuz i'm a blind programmer legally blind.  A lot of people will say it's a terrible code because it's not accessible and i feel like that's almost an injustice to the programmers because.  The program may not have been educated in the way to make things accessible.  Or they may be told by their manager we cannot take the time to make this accessible and it's a shame because the programmer What's to do better mo nine times in the programmers want to do the right thing but they don't have the budget the money or the clearance to take those steps.  [7:15] And a lot of people do not realize that and so. I want to tell every developer out there always strive to do more always strive to learn more before you start taking that blank canvas and painting your life's work with it.  Because the more you're able to learn, the less criticism you'll get for your art.  And I think that's one thing going into this that you have to look at is, you know, are you going into it to solve a problem in crunch numbers?  If yes, then that's okay. Programming is fine.  But if you're going into it to, you know, look at it as art, that's a totally different thing.  Thing. Going into programming and looking at it as art is a way to not get burnt out on what you're doing because every day you write a line of code you're making art. You're solving problems and you're doing analytical things while doing it but at the end of the day you've taken a blank screen on an iPhone and you've made it into something, Wonderful you've taken a blank screen on a desktop and you made it into something.  That people will not forget.  [8:36] You know people see the product and they say oh bunch of people set in a room and develop this thing but they don't see it as art.  As i think a lot of programmers do i see it as art.  But I don't know that a lot of peop...

    23 min

About

The Programmatic podcast is a weekly podcast that discusses various programming topics. We will share code, and solutions to common programming problems.

More From iACast Network