
Sign up to save your podcasts
Or


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.
In this episode, we discuss the impact of AI on programming, including the rise of AI coding assistants and their ability to automate tasks. We emphasize the importance of embracing new tools and languages, prioritizing user experience, and exploring programming trends. We also share personal experiences with AI tools and announce plans to cover these topics in greater depth in the future. Join us on this programming journey and stay up-to-date with the latest trends.
Find out more at https://programmatic.pinecast.co
Send us your feedback online: https://pinecast.com/feedback/programmatic/33dde74c-a864-4ee4-b0df-22a427ad3d8f
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.
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.
On This episode, Michael Discusses AI, and ways to organize your development environment.
On this episode Michael discusses the following topics.
Python
import feedparser
def parse_rss_feed(url):
Shell Script
hash !/bin/sh
Michael discusses whether to update a project's sdk or APIs to newer or updated versions. For example, going from UIKit to SwiftUI.
Use the hashtag #ProgrammaticPod to leave us feedback. You can email me at [email protected], and you can find Michael all over the web at mikedoise.
On this episode, Michael discusses the following topics.
Swift
struct ContentView: View {
Python
hash Declare the list with elements to display
Discord Bot
import discord
Topics
Michael Doise
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.
[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.
[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.
[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.
[3:40] So we'll see, we'll see what we get. So the other snippet, so well, let me back up.
[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.
[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.
[6:25] Hash replace with the ID of the text channel where you want to post the message.
[7:01] All right, so that's really exciting stuff. And it's working now.
On this episode of the podcast, Michael discusses the differences. between interpreted and Compiled programming languages.
Challenge results from episode 2.
// Ask for the user's name and age
// Print a statement based on the user's age
// Ask for the user's name and age
// Print a statement based on the user's age
Number Sign Ask for the user's name and age
if age < 0:
Edit TranscriptRemove HighlightingAdd Audio FileExport...?
[0:00] Music.
[0:09] All right, hi everyone. Welcome to another episode of the Programmatic Podcast.
[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.
[1:11] Print left parentheses, double quote, what is your name? Question mark, double quote, right parentheses.
[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.
[3:27] And Python. Hash. Ask for the user's name and age.
[4:44] So that's kind of crazy just spelling every parentheses, left parentheses, all of that out.
[5:02] And I thought that was a brilliant idea. So I wanted to mention that here.
[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.
[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.
Welcome to episode 2 of the Programmatic Podcast! On this episode, Michael discusses the following Items.
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.")
Training Courses
YouTube
Tutorials
Please let me know what you think of the show. Email me at [email protected], 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.
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...
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.
Create a small program that runs in the console, and asks for user input. Then, print the result on screen.
Please let me know what you think of the show. Email me at [email protected], 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.
Michael Doise
Edit TranscriptRemove HighlightingAdd Audio FileExport...?
[0:00] Music.
[0:09] Hi, hello everyone. Welcome to the Programmatic Podcast, a weekly podcast about programming.
[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.
[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?
[3:01] We'll talk about what those things, you know, how to come up with a solution for the challenge.
[3:21] Yes, programming according to Taylor helps all the labor shortages.
[4:10] All right, thanks, 11 Labs. That was great.
[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?
[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.
[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.
[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.
From the publisher's feed