– Programmatic 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.

– Programmatic Programming Trends for 2024

Episode Notes

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.

– Programmatic 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.

– Programmatic Development Organization

Episode Notes

On This episode, Michael Discusses AI, and ways to organize your development environment.

Resources

– Programmatic Update Caution

Episode Notes

On this episode Michael discusses the following topics.

Challenge Results

Python

import feedparser

def parse_rss_feed(url):
feed = feedparser.parse(url)
titles = []
for entry in feed.entries:
titles.append(entry.title)
return titles
rss_url = “https://iaccessibility.net/feed
titles = parse_rss_feed(rss_url)
for title in titles:
print(title)

Shell Script

hash !/bin/sh
rss_url=”https://iaccessibility.net/feed
titles=$(curl -s “$rss_url” | xmlstarlet sel -t -m “//item/title” -v . -n)
echo “Titles:”
echo “$titles”

Topics

Michael discusses whether to update a project’s sdk or APIs to newer or updated versions. For example, going from UIKit to SwiftUI.

Providing Feedback

Use the hashtag #ProgrammaticPod to leave us feedback. You can email me at mikedoise@icloud.com, and you can find Michael all over the web at mikedoise.

– Programmatic 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 all kinds of others. 
And I’ve never really been happy with any of them that use cPanel. 
I’ve tried DreamHost and I used a small VPS there, but it didn’t have enough RAM, so I thought it wasn’t working. 
So, how do you pick the right web host for your website? Whether you’re programming your website as a Node.js application, or it’s a WordPress site, Drupal site, any of these things, it’s important to know how to pick a good web host. 

[8:05] So, there’s a few factors here. It depends on, one, how your website’s going to scale. 
Is it going to be a small website that you and just a few people are going to use? 
Or will it be a bigger website that everybody will be like e-commerce website, all those kind of things, right? 
I use cPanel because that’s what I always knew to be the best, right? 
It’s what has always worked for me and I don’t know of any other, I never knew of any other panel that would really provide what I needed to do. 
And so that’s why I’ve always used it. 
I’ve never used Plesk, I’ve never used all of those things, but I know for some people it works really, really well. 
So those things are, you know, some things that people use that I’ve never messed with. 
I went back to DreamHost because I know a lot of people use it and it’s fantastic. 
I’ve set up a faster VPS and everything works so much better, no RAM issues, no CPU problems. 
It just works well. And then I got to playing with some of the enhanced virtual private server, VPS features. 

[9:20] And I determined that one of the neat things about it is you do have shell access. I logged in through SSH and it’s fantastic. You can install applications. I put the Discord bot on a folder outside of the iAccessibility.net folder and I ran a I set it up and saved it there and then I set up what you can set up cron jobs inside the DreamHost panel. 
It is so fantastically easy. 
And I was able to set this discord bot up and it runs on server start. 
I just told my server to restart and Hey, the discord bots running. 
It’s just that easy. You know, the, the bot doesn’t do anything. 
It doesn’t take up much memory. 

[10:08] So it’s very nice. You know, the customization that you have on a place like DreamHost. 
And one of the aspects of cPanel that is a pain, if you want to use Node.js or Python with Django, which is one of their web services, Flask is another, if you want to use those on cPanel or others, you have to set up what’s called Passenger. 
And that’s not the easiest thing to do. You have to know where to do it. 
And in DreamHost, it’s just a checkbox that you go and find. 
So, you know, if you want a VPS with DreamHost, it’s gonna give you the most support for what you’re trying to do. 
They do have shared hosting as well, and that’s for like smaller websites, but you can scale your sites with the VPS or have multiple websites and manage them from one place, and that’s fantastic. 

[11:00] They also set up multiple, like each individual account has its own user and it’s not cPanel, so it’s not as easy for that account to get hacked as it is on cPanel. So another thing is cPanel is now enforcing a user limit. 
So I don’t know that I could recommend that based on, you know, if you want 30 websites, you know, you could do that on cPanel with like certain number of users, but it’s more difficult. 
With DreamHost, it’s just that easy. So I highly recommend checking out DreamHost. 
There’s other resources out there. 
So just pick the one that works best for you. 
And one thing that is important when picking a web host is technical support. 
If something goes wrong, because inevitably, it’s not a matter of if something goes wrong, but when something goes wrong, can you fix it? 
Do you know how to fix it? 
And will the people that are at technical support be there to support you or do they not know their job? 
When I was working with my last hosting provider, they did not know how to do, I tried to do something, it broke email, they didn’t know how to fix it. 
Because they didn’t understand what they needed to do. So. 

[12:15] I have to recommend that you go with a place, and DreamHost has been a good place for me, for technical support. 
If I have a question or an issue, they’re on chat always ready to help. 
They’ve always understood my questions. 
Keep those things in mind when you’re looking for a place to put your website, especially if you’re putting a WordPress website up, it’s important to really, Find a place that’s gonna be a good home and that’s secure. That is my spiel about, finding a good web host because I feel like that’s important, you know, you could be building a project and. 

[12:56] You’re looking for a place to put the website for the project like you’re building an app and you need a, Place to host that app a website. That’s a good place to do it. I, Will put myreferral link in the show notes, so be on the lookout for that. 
All right, so on to the topic that I told you guys that we’d be talking about in the last episode. 
It’s really interesting because we’ve talked about different programming languages interpreted and compiled, and so, you know, a lot of podcasts you could just dip your toes in no matter what what episode, but I highly recommend that you listen to all of our episodes. 
And I know that’s like a lot of time, but I hope these are fun and engaging. 
So I would recommend that you listen to our last one about interpreted and compiled languages, because this kind of goes from that. And this is about programming styles, right? 
What are the different styles of programming out there and which one will work for what you’re trying to do? 
And if you’re in iOS land, we have two big frameworks. 
We have UIKit on the Mac, we have AppKit, and now we have SwiftUI, which kind of combines both of those into one. 

[14:20] Well, it combines UIKit, AppKit, and WatchKit, and all those things into one programming paradigm. 
And SwiftUI is using something that a lot of people are not familiar with, and that’s called declarative programming. 
And so what is declarative programming? What is and what are the other ones out there? 
You know, a lot of people are very used, much used to object-oriented programming. 
And, you know, when you build iOS apps, you’re using object-oriented programming and event-driven programming. 
So I’m using a bunch of terms, declarative, object-oriented, event-driven. 
There’s functional programming, all these other styles. 
Today, we’re gonna focus mainly on the ones that relate to building apps with UIKit and SwiftUI. 

[15:22] And that’s three main types. And that’s declarative programming for SwiftUI, event-driven programming and object-oriented programming for UIKit. 

[15:37] I stick with these because these are my wheelhouse. This is the areas of development that I’ve worked with the most. 
But I’d be curious to hear other people’s talk. What do you use with C-sharp and, different UI elements in programming for building Windows applications? 
I know React and things like that use declarative as well. How is that different? 
I think we need to have a whole episode at some point on the JavaScript libraries out there, Svelte, React, React Native, what is all that? 
And we’ll do that, but I think we’re kind of doing more fundamentals and things like that here for now. 
So SwiftUI is declarative and then we have UIKit, which uses the other methods. 

[16:29] Object-oriented programming is where you have objects that have properties and methods or functions basically. 
So, my name is Michael. I’m an instance of a human, which is an object, also known as a class. 
And I have properties like skin color, I would say hair color, but I don’t have any hair, so that doesn’t really work. 
I have skin color, eye color. 
There’s things that define me. I have hands with five fingers, and I have functions or methods like walk, talk, eat, sleep. 
Those are all methods. And when we. 

[17:19] Look at all of our classes, you know, we have tables, like, and I’m not talking about like a table on the web, I’m talking about a table that we sit at and eat. 
A table has its own properties, it has legs, number of legs, right, and then we have instances of the table, right. 
So you, going back to humans, you’re an instance of the human class, but you have, you’re an instance of that, but you have your own methods and values. 
So when we build an application in UIKit, we create a new instance of a view controller, for example. 
So like if I want to show a screen with certain items on it, I create an instance of the view controller class and override different functions and methods that it has and set my own properties on that instance. 
So it’s an instance of the view controller, but it’s not the original class, if that makes sense. 
So that’s object-oriented programming on a very, very high level. 

[18:24] When we talk about declarative programming, though, it’s a little different. 
Declarative programming, and I’m very new to this, so if one of you guys that are experts hear this and you’re like, no, no, Michael, that’s totally wrong, please call me out and say, yeah, no, man, that’s wrong. 
Declarative programming, as I see it, is programming where you’re writing out your user interface. 

[18:53] By declaring all possible states. 
So, for example, as an example, I could write a text, which is a label, with some static text, it will never change. 

[19:08] But I could create a text label with a variable that is a state variable. 
So the variable will look at what’s in it, and then the text field will change based on the contents of that. 
So if I have a image and I change the image after tapping a button, I’m not making a new image or I’m not changing the property on the image that I’ve already created. 
It basically redraws the image very quickly with the new thing, with the new image inside. 
So it’s looking at all possible states and conditions at create time instead of you telling it at certain times to do things. 
The term for this is also the, for UIKit, when this happens, it’s called event-driven programming. 
And that means that buttons and other UI elements in our application change based on events. 
If I click the button, it will do this, right? 
So that’s the big difference between declarative and event-driven and object-oriented. 
With declarative, I’m saying, here is this text field or this button, and here’s what it will do. 

[20:34] This is this button, text field or label or button, and this is what it will do, no matter what. 
And so we’re declaring how this stuff works when we declare the item at create time. 
So if I have a, if I’m loading data from the web, then I’m already going to say, if there’s no data, show this, if there’s data, do this. 
And so it already knows how it should display no matter the conditions. 
So that’s why it’s declarative. we’re declaring how this thing should be. 
Now, I think a lot of people are very used to object-oriented and event-driven programming. 
And it’s very difficult to change how you look at these things. 
So I really am a big fan of learning all of these. 
But I would pick one and start with it and then learn the other before you really go into another thing. 

[21:39] If that makes sense. So if you’re picking declarative, go with that. 
If you’re picking functional programming, go with that. If you’re picking event-driven and object-oriented programming, go with that and learn those things before you learn something else. 
So that’s my big talk on that. And it’s very interesting. So, you know, a lot of languages support multiple programming styles. 
Swift can support declarative through structs, and it can support functional through closures and other things, but it also supports…

– Programmatic 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 all kinds of others. 
And I’ve never really been happy with any of them that use cPanel. 
I’ve tried DreamHost and I used a small VPS there, but it didn’t have enough RAM, so I thought it wasn’t working. 
So, how do you pick the right web host for your website? Whether you’re programming your website as a Node.js application, or it’s a WordPress site, Drupal site, any of these things, it’s important to know how to pick a good web host. 

[8:05] So, there’s a few factors here. It depends on, one, how your website’s going to scale. 
Is it going to be a small website that you and just a few people are going to use? 
Or will it be a bigger website that everybody will be like e-commerce website, all those kind of things, right? 
I use cPanel because that’s what I always knew to be the best, right? 
It’s what has always worked for me and I don’t know of any other, I never knew of any other panel that would really provide what I needed to do. 
And so that’s why I’ve always used it. 
I’ve never used Plesk, I’ve never used all of those things, but I know for some people it works really, really well. 
So those things are, you know, some things that people use that I’ve never messed with. 
I went back to DreamHost because I know a lot of people use it and it’s fantastic. 
I’ve set up a faster VPS and everything works so much better, no RAM issues, no CPU problems. 
It just works well. And then I got to playing with some of the enhanced virtual private server, VPS features. 

[9:20] And I determined that one of the neat things about it is you do have shell access. I logged in through SSH and it’s fantastic. You can install applications. I put the Discord bot on a folder outside of the iAccessibility.net folder and I ran a I set it up and saved it there and then I set up what you can set up cron jobs inside the DreamHost panel. 
It is so fantastically easy. 
And I was able to set this discord bot up and it runs on server start. 
I just told my server to restart and Hey, the discord bots running. 
It’s just that easy. You know, the, the bot doesn’t do anything. 
It doesn’t take up much memory. 

[10:08] So it’s very nice. You know, the customization that you have on a place like DreamHost. 
And one of the aspects of cPanel that is a pain, if you want to use Node.js or Python with Django, which is one of their web services, Flask is another, if you want to use those on cPanel or others, you have to set up what’s called Passenger. 
And that’s not the easiest thing to do. You have to know where to do it. 
And in DreamHost, it’s just a checkbox that you go and find. 
So, you know, if you want a VPS with DreamHost, it’s gonna give you the most support for what you’re trying to do. 
They do have shared hosting as well, and that’s for like smaller websites, but you can scale your sites with the VPS or have multiple websites and manage them from one place, and that’s fantastic. 

[11:00] They also set up multiple, like each individual account has its own user and it’s not cPanel, so it’s not as easy for that account to get hacked as it is on cPanel. So another thing is cPanel is now enforcing a user limit. 
So I don’t know that I could recommend that based on, you know, if you want 30 websites, you know, you could do that on cPanel with like certain number of users, but it’s more difficult. 
With DreamHost, it’s just that easy. So I highly recommend checking out DreamHost. 
There’s other resources out there. 
So just pick the one that works best for you. 
And one thing that is important when picking a web host is technical support. 
If something goes wrong, because inevitably, it’s not a matter of if something goes wrong, but when something goes wrong, can you fix it? 
Do you know how to fix it? 
And will the people that are at technical support be there to support you or do they not know their job? 
When I was working with my last hosting provider, they did not know how to do, I tried to do something, it broke email, they didn’t know how to fix it. 
Because they didn’t understand what they needed to do. So. 

[12:15] I have to recommend that you go with a place, and DreamHost has been a good place for me, for technical support. 
If I have a question or an issue, they’re on chat always ready to help. 
They’ve always understood my questions. 
Keep those things in mind when you’re looking for a place to put your website, especially if you’re putting a WordPress website up, it’s important to really, Find a place that’s gonna be a good home and that’s secure. That is my spiel about, finding a good web host because I feel like that’s important, you know, you could be building a project and. 

[12:56] You’re looking for a place to put the website for the project like you’re building an app and you need a, Place to host that app a website. That’s a good place to do it. I, Will put myreferral link in the show notes, so be on the lookout for that. 
All right, so on to the topic that I told you guys that we’d be talking about in the last episode. 
It’s really interesting because we’ve talked about different programming languages interpreted and compiled, and so, you know, a lot of podcasts you could just dip your toes in no matter what what episode, but I highly recommend that you listen to all of our episodes. 
And I know that’s like a lot of time, but I hope these are fun and engaging. 
So I would recommend that you listen to our last one about interpreted and compiled languages, because this kind of goes from that. And this is about programming styles, right? 
What are the different styles of programming out there and which one will work for what you’re trying to do? 
And if you’re in iOS land, we have two big frameworks. 
We have UIKit on the Mac, we have AppKit, and now we have SwiftUI, which kind of combines both of those into one. 

[14:20] Well, it combines UIKit, AppKit, and WatchKit, and all those things into one programming paradigm. 
And SwiftUI is using something that a lot of people are not familiar with, and that’s called declarative programming. 
And so what is declarative programming? What is and what are the other ones out there? 
You know, a lot of people are very used, much used to object-oriented programming. 
And, you know, when you build iOS apps, you’re using object-oriented programming and event-driven programming. 
So I’m using a bunch of terms, declarative, object-oriented, event-driven. 
There’s functional programming, all these other styles. 
Today, we’re gonna focus mainly on the ones that relate to building apps with UIKit and SwiftUI. 

[15:22] And that’s three main types. And that’s declarative programming for SwiftUI, event-driven programming and object-oriented programming for UIKit. 

[15:37] I stick with these because these are my wheelhouse. This is the areas of development that I’ve worked with the most. 
But I’d be curious to hear other people’s talk. What do you use with C-sharp and, different UI elements in programming for building Windows applications? 
I know React and things like that use declarative as well. How is that different? 
I think we need to have a whole episode at some point on the JavaScript libraries out there, Svelte, React, React Native, what is all that? 
And we’ll do that, but I think we’re kind of doing more fundamentals and things like that here for now. 
So SwiftUI is declarative and then we have UIKit, which uses the other methods. 

[16:29] Object-oriented programming is where you have objects that have properties and methods or functions basically. 
So, my name is Michael. I’m an instance of a human, which is an object, also known as a class. 
And I have properties like skin color, I would say hair color, but I don’t have any hair, so that doesn’t really work. 
I have skin color, eye color. 
There’s things that define me. I have hands with five fingers, and I have functions or methods like walk, talk, eat, sleep. 
Those are all methods. And when we. 

[17:19] Look at all of our classes, you know, we have tables, like, and I’m not talking about like a table on the web, I’m talking about a table that we sit at and eat. 
A table has its own properties, it has legs, number of legs, right, and then we have instances of the table, right. 
So you, going back to humans, you’re an instance of the human class, but you have, you’re an instance of that, but you have your own methods and values. 
So when we build an application in UIKit, we create a new instance of a view controller, for example. 
So like if I want to show a screen with certain items on it, I create an instance of the view controller class and override different functions and methods that it has and set my own properties on that instance. 
So it’s an instance of the view controller, but it’s not the original class, if that makes sense. 
So that’s object-oriented programming on a very, very high level. 

[18:24] When we talk about declarative programming, though, it’s a little different. 
Declarative programming, and I’m very new to this, so if one of you guys that are experts hear this and you’re like, no, no, Michael, that’s totally wrong, please call me out and say, yeah, no, man, that’s wrong. 
Declarative programming, as I see it, is programming where you’re writing out your user interface. 

[18:53] By declaring all possible states. 
So, for example, as an example, I could write a text, which is a label, with some static text, it will never change. 

[19:08] But I could create a text label with a variable that is a state variable. 
So the variable will look at what’s in it, and then the text field will change based on the contents of that. 
So if I have a image and I change the image after tapping a button, I’m not making a new image or I’m not changing the property on the image that I’ve already created. 
It basically redraws the image very quickly with the new thing, with the new image inside. 
So it’s looking at all possible states and conditions at create time instead of you telling it at certain times to do things. 
The term for this is also the, for UIKit, when this happens, it’s called event-driven programming. 
And that means that buttons and other UI elements in our application change based on events. 
If I click the button, it will do this, right? 
So that’s the big difference between declarative and event-driven and object-oriented. 
With declarative, I’m saying, here is this text field or this button, and here’s what it will do. 

[20:34] This is this button, text field or label or button, and this is what it will do, no matter what. 
And so we’re declaring how this stuff works when we declare the item at create time. 
So if I have a, if I’m loading data from the web, then I’m already going to say, if there’s no data, show this, if there’s data, do this. 
And so it already knows how it should display no matter the conditions. 
So that’s why it’s declarative. we’re declaring how this thing should be. 
Now, I think a lot of people are very used to object-oriented and event-driven programming. 
And it’s very difficult to change how you look at these things. 
So I really am a big fan of learning all of these. 
But I would pick one and start with it and then learn the other before you really go into another thing. 

[21:39] If that makes sense. So if you’re picking declarative, go with that. 
If you’re picking functional programming, go with that. If you’re picking event-driven and object-oriented programming, go with that and learn those things before you learn something else. 
So that’s my big talk on that. And it’s very interesting. So, you know, a lot of languages support multiple programming styles. 
Swift can support declarative through structs, and it can support functional through closures and other things, but it also supports…

– Programmatic 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 interpreted. So like Swift Playgrounds is an example of this, where it kind of interprets what you’re doing. 

[7:57] And I guess it’s kind of similar to how Java does the JVM, where it has the Java Virtual Machine, where it converts it to, I guess it’s called bit code, byte code. 
I’m not sure the term, but it converts it and then runs it in the Java Virtual Machine. 
So it’s kind of partway interpreted. 
So, you know, there’s always efficiency things there. You know, I feel like interpreted languages are much easier to learn than a lot of the compiled languages. 
But that’s not always true. But I do think that the compiled languages are a little more inflexible, I guess, on how things work. 
Swift is an exception to that, Kotlin, but those are both derivatives of their previous languages. 
So Swift is kind of a derivative of Objective-C. It runs on top of that, or Kotlin runs on top of Java. It runs in the Java virtual machine. 

[9:02] So it’s kind of interesting when you think about how these languages work and the speed performance that comes with that for each language. 
You know, the one advantage Python has is it can work with machine-native languages. 
So for example, if I build an app in WXPython, it’s actually using C libraries that are compiled, to actually make that work. 
Whereas JavaScript uses plugins that talk to native code. 

[9:38] Like in Cordova and other things, and NativeScript and React Native, but it’s still using JavaScript to do all that. 
So a lot of the code is still in JavaScript. 
So it’s very interesting how there’s such a difference on that. 
We’re gonna take a second here. I’m going to look up the… I have a chat GPT going. 
And in that, I had it tell me several languages that are interpreted and several that are compiled. 
So interpreted languages would be Python, Ruby, JavaScript, PHP, Perl, Lua, R, and Shell scripting, languages such as Bash Shell scripting and things like that. Some compiled languages are C, C++, Java, Swift, Objective-C, Rust, Go, Fortran, Pascal. 

[10:39] And one called Ada that I’ve never heard of. That’s all from ChatGPT. 

[10:45] And there are several languages that can be considered across that line because Java can be interpreted based on different things. 
So it really just depends on what you’re trying to do. And there’s also, you can compile.NET to native code and things like that. 
So there’s a lot of options that you have. So it’s really interesting to think about, when you pick a programming language, it’s very essential when you’re starting a project, what language you pick, because that will determine how you code for that project. 
So if you’re building Python, What is that going to be used for? 
If you’re using JavaScript, what’s that going to be used for? 
Will it be fast enough? Will it be efficient enough as an interpreted language? 
Or will it be too complicated as a compiled language? 
So those are all things that you have to consider when you’re starting to pick your language for your project. 
And I think all of those things are essential when you’re starting from scratch while building something. 
It also is kind of where you should decide where you’re going to learn when you start programming, right? 
Because if you just start and pick a language, you’re gonna go down a certain path and you can use the fundamentals to learn other languages. 

[12:14] But you’re typically gonna stay with the fundamentals of the language that you’ve learned. 
And so if you start with scripting, you’re gonna learn scripting for the most part. 
So. 

[12:24] You know it you just have to decide what’s the most most efficient thing for you when you start your your journey and learning to code and even as you get better you know you’re going to figure out what works best for you and things like that. 

[12:44] I guess I’d love to hear people’s feedback from chat if you’re in chat or what’s your feedback about that if you’re, you know, trying to or if you’re listening to the podcast afterwardsbecause I think that all of these things are, you know, very good topics and I think that they would make a good discussion. 
Do you prefer compiled languages or interpreted languages or do you still not know and want more clarification. All of that’s good knowledge, you know, for me to have so I can know what we should talk about on the podcast. I would like to go ahead and move on to our challenge of this episode and we’re going to make it a little more, we’re going to make it a littlemore advanced, I guess. 
And that is, if you are building an app, or you’re building a website, or even a console app, see if you can use a for loop. 
Make a list of items or an array and go through those items with that for loop. 

[13:55] And print all of them out on the screen, whether it be in an app, a list, or whatever it is. 
And I’ll show some examples of how to do that with SwiftUI. Yes, I’ll include that on this. 
How to do that on the console with JavaScript and in Python. 
So really cool stuff on the next challenge. 
And I think that will actually kind of be the topic for next time, talking about declarative and the different types of programming. 
So like declarative, what you have in SwiftUI and React Native and others compared to object-oriented programming, which is what you use in UIKit, and functional programming. 
I think it’d be good to talk about all those things. 
I know that there is a term for the UIKit style of development. 
I need to figure out what that is. If somebody knows, right in, right into the podcast. 
And you can email me at mikedowys.icloud.com if you’d like to leave that feedback. 
Again, it’s been really great doing this podcast, so I’m excited to bring it back for another week. We also now have a website, programaticpod.com
You could also find us on our hashtag on Mastodon and Twitter. 

[15:16] Just look for the hashtag hash programatic pod. 
I was really excited to get that when nobody else had that hashtag so nobody searched for nobody has used it so really excited about that and so it’s the same as our domain and the same as it is on the. 

[15:38] On the social networks. So really exciting news on that front. So we’ll be back with another episode next week. 
And maybe this next one will be a longer episode. We’ll see. But I have a feeling, you know, with all of the things that we’ve talked about, all of the information that will be in the assignment solutions from 11 Labs, it’s going to still turn out to be a pretty good lengthy episode. 
Episode. So, you know, again, we’d like to get your feedback. What do you think of the show? 
What would you like us to cover? And how can we make this better? And are there topics you would like us to talk about? And I would love to do a question and answer session as well during the show. So come to chat with your messages, with your questions, and we’ll put them up here. 
And, you know, it’s just great getting to talk to you guys and tell your friends, even if they’re they’re not in programming, tell them. 
Because I think the more we can get people interested and involved, the more we can grow this podcast into a community. 
And I think that’s always a good thing to spread awareness about programming. 
So… 

[16:50] Music. 

Transcript

– Programmatic 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 interpreted. So like Swift Playgrounds is an example of this, where it kind of interprets what you’re doing. 

[7:57] And I guess it’s kind of similar to how Java does the JVM, where it has the Java Virtual Machine, where it converts it to, I guess it’s called bit code, byte code. 
I’m not sure the term, but it converts it and then runs it in the Java Virtual Machine. 
So it’s kind of partway interpreted. 
So, you know, there’s always efficiency things there. You know, I feel like interpreted languages are much easier to learn than a lot of the compiled languages. 
But that’s not always true. But I do think that the compiled languages are a little more inflexible, I guess, on how things work. 
Swift is an exception to that, Kotlin, but those are both derivatives of their previous languages. 
So Swift is kind of a derivative of Objective-C. It runs on top of that, or Kotlin runs on top of Java. It runs in the Java virtual machine. 

[9:02] So it’s kind of interesting when you think about how these languages work and the speed performance that comes with that for each language. 
You know, the one advantage Python has is it can work with machine-native languages. 
So for example, if I build an app in WXPython, it’s actually using C libraries that are compiled, to actually make that work. 
Whereas JavaScript uses plugins that talk to native code. 

[9:38] Like in Cordova and other things, and NativeScript and React Native, but it’s still using JavaScript to do all that. 
So a lot of the code is still in JavaScript. 
So it’s very interesting how there’s such a difference on that. 
We’re gonna take a second here. I’m going to look up the… I have a chat GPT going. 
And in that, I had it tell me several languages that are interpreted and several that are compiled. 
So interpreted languages would be Python, Ruby, JavaScript, PHP, Perl, Lua, R, and Shell scripting, languages such as Bash Shell scripting and things like that. Some compiled languages are C, C++, Java, Swift, Objective-C, Rust, Go, Fortran, Pascal. 

[10:39] And one called Ada that I’ve never heard of. That’s all from ChatGPT. 

[10:45] And there are several languages that can be considered across that line because Java can be interpreted based on different things. 
So it really just depends on what you’re trying to do. And there’s also, you can compile.NET to native code and things like that. 
So there’s a lot of options that you have. So it’s really interesting to think about, when you pick a programming language, it’s very essential when you’re starting a project, what language you pick, because that will determine how you code for that project. 
So if you’re building Python, What is that going to be used for? 
If you’re using JavaScript, what’s that going to be used for? 
Will it be fast enough? Will it be efficient enough as an interpreted language? 
Or will it be too complicated as a compiled language? 
So those are all things that you have to consider when you’re starting to pick your language for your project. 
And I think all of those things are essential when you’re starting from scratch while building something. 
It also is kind of where you should decide where you’re going to learn when you start programming, right? 
Because if you just start and pick a language, you’re gonna go down a certain path and you can use the fundamentals to learn other languages. 

[12:14] But you’re typically gonna stay with the fundamentals of the language that you’ve learned. 
And so if you start with scripting, you’re gonna learn scripting for the most part. 
So. 

[12:24] You know it you just have to decide what’s the most most efficient thing for you when you start your your journey and learning to code and even as you get better you know you’re going to figure out what works best for you and things like that. 

[12:44] I guess I’d love to hear people’s feedback from chat if you’re in chat or what’s your feedback about that if you’re, you know, trying to or if you’re listening to the podcast afterwardsbecause I think that all of these things are, you know, very good topics and I think that they would make a good discussion. 
Do you prefer compiled languages or interpreted languages or do you still not know and want more clarification. All of that’s good knowledge, you know, for me to have so I can know what we should talk about on the podcast. I would like to go ahead and move on to our challenge of this episode and we’re going to make it a little more, we’re going to make it a littlemore advanced, I guess. 
And that is, if you are building an app, or you’re building a website, or even a console app, see if you can use a for loop. 
Make a list of items or an array and go through those items with that for loop. 

[13:55] And print all of them out on the screen, whether it be in an app, a list, or whatever it is. 
And I’ll show some examples of how to do that with SwiftUI. Yes, I’ll include that on this. 
How to do that on the console with JavaScript and in Python. 
So really cool stuff on the next challenge. 
And I think that will actually kind of be the topic for next time, talking about declarative and the different types of programming. 
So like declarative, what you have in SwiftUI and React Native and others compared to object-oriented programming, which is what you use in UIKit, and functional programming. 
I think it’d be good to talk about all those things. 
I know that there is a term for the UIKit style of development. 
I need to figure out what that is. If somebody knows, right in, right into the podcast. 
And you can email me at mikedowys.icloud.com if you’d like to leave that feedback. 
Again, it’s been really great doing this podcast, so I’m excited to bring it back for another week. We also now have a website, programaticpod.com
You could also find us on our hashtag on Mastodon and Twitter. 

[15:16] Just look for the hashtag hash programatic pod. 
I was really excited to get that when nobody else had that hashtag so nobody searched for nobody has used it so really excited about that and so it’s the same as our domain and the same as it is on the. 

[15:38] On the social networks. So really exciting news on that front. So we’ll be back with another episode next week. 
And maybe this next one will be a longer episode. We’ll see. But I have a feeling, you know, with all of the things that we’ve talked about, all of the information that will be in the assignment solutions from 11 Labs, it’s going to still turn out to be a pretty good lengthy episode. 
Episode. So, you know, again, we’d like to get your feedback. What do you think of the show? 
What would you like us to cover? And how can we make this better? And are there topics you would like us to talk about? And I would love to do a question and answer session as well during the show. So come to chat with your messages, with your questions, and we’ll put them up here. 
And, you know, it’s just great getting to talk to you guys and tell your friends, even if they’re they’re not in programming, tell them. 
Because I think the more we can get people interested and involved, the more we can grow this podcast into a community. 
And I think that’s always a good thing to spread awareness about programming. 
So… 

[16:50] Music. 

Transcript

– Programmatic 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

YouTube

Tutorials

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 resources last time. And there are resources that are better than others out there.

[5:25] As I was going through my programming journey, I used one called lynda.com and that became LinkedIn Learning. LinkedIn Learning has changed from lynda.com and I don’t know if it’s for the better or for the worse, but it is what it is. So they have great courses, a lot of their catalog is still the same, a lot of the same teachers.

[5:47] So it’s a good way to get started. They have great classes and tutorials on getting through things. And the cool thing is that they have bite-sized videos. And I just want to stop here and say that none of these platforms sponsor our episodes, so just keep that in mind.

[6:07] So that is, you know, I’m just talking about resources that I’ve used. You know, LinkedIn learning has been a great resource. I just, I personally feel like their courses do not update enough, often enough for some of the things that I would like to see. So it’s a good way to get started, good way to learn a new language, but I feel like YouTube and places like that are going to be where you go to get current content. And the reason why that’s important is for things like UIKit, which is great to learn for iOS. That is a monolith. It has been there for ages. It was there since the ancient times. It will be there. So LinkedIn Learning is a great resource for that. Whereas something like SwiftUI or maybe Jetpack Compose for Android, that may be a little more of a long-term that may be there now. So that might not be as much of an issue whereas like SwiftUI came around in 2019 and there’s only been one or two courses on it on LinkedIn Learning. So those are all things that you want to consider when you’re.

[7:26] Doing this. So, you know, they have the bite-sized videos, but they also have different class materials and things like that you can use. So YouTube, not YouTube, I was thinking YouTube Premium, that’s a great service too, but we’ll get to that. LinkedIn Learning is great, but the pricing is, in my opinion, a little bit high for what you could get by services like YouTube. And I do purchase YouTube premium so I don’t have ads so I don’t have to worry about all of those things. You know obviously there’s people that put ads in their videos and that’s fine I’m good with that. But I don’t have to have the YouTube ads. So you know we talked about several resources and I won’t rehash those in this show but like we talked about several on the previous show but just Google or YouTube search for different users. And then one thing that’s very useful is look up hashtags, figure out what hashtags on Twitter or Mastodon different people are using and go from there. And one thing that I’ve found very surprising is there’s a huge iOS dev community, hashtag iOS dev community on Twitter. And I pose the same question on Twitter and Mastodon. Which social media platform do you think I heard from first?

[8:54] Do you think it’s Twitter? No. It was Mastodon. And they linked me somewhere to an article that may not have been completely relevant to what I was doing, But it gave me an insight into what could be causing the issue.

[9:12] And you know i’ve always heard that twitter is the place to go for you know communicating and reaching out to people but i think that’s rapidly changing over to mastodon and other social networks. So i would urge you guys if you’re on social media don’t just stick to one platform. Use multiple platforms for coming up with solutions or talking to people because you’re going to find more luck by doing that I’ve certainly done that, You know, we we have the programming for everyone Facebook and discord groups.

[9:51] Yes, and you know, we have other groups and different things. So I think it just depends on, what your your community is and And so your hashtags are going to be very useful for communicating with your communities on these different platforms. So do some research, figure out the best hashtags and follow those hashtags. There’s ways of doing that. You know, I don’t know if you could follow hashtags in the Twitter app. Does anybody in chat know that? Is that something you could do? I know clients allowed you to do that, but I don’t, since there’s no third party clients anymore, I don’t know that that’s doable. So if anybody out there in chat or would like to leave something in the comments about that on the YouTube video, that would be great. We talked about YouTube and we have several resources that we mentioned. Reading books is always a good way to get programming knowledge. And so looking out there, there’s loads of books in the iBooks app on Apple, Amazon, Kindle, all kinds of places. Taylor says she thinks you can follow hashtags, but she’s not sure how to do that. There’s loads of resources out there on different platforms.

[11:14] One book that I recommend anybody read is the take control of shortcuts book from rosemary orchard if you want to just kind of get started in how programming works. It’s a great primer on the shortcuts app and gives you a lot of fundamentals of how programming works. So it’s a kind of a way to get your foot in the door and then there’s books like the swift manual is in iBooks and so there’s books on java. SQL or SQL if you rather, and other languages out there. So it just depends on what you’re interested in. The next thing is that there are training platforms where you can actually get classes. Some examples of this are Udemy, there is TakeLessons, there is Wyzant. So all of these places you can actually get lessons from a developer on how to learn or how to program in a language. Of course, it will just depend on the person’s skill level of who you get and what you can learn.

[12:23] But those things are good to look at too. Another really good resource that I know several people have used is there are Discord communities that spring up around learning a certain thing. So we’ve talked about Free CodeCamp and Codecademy in the previous episode of the show. They have Discord servers. So that’s some ways that you can look at this as well is joining Discords and talking to people. Those are great communities as well. Sometimes a Discord server can be a little overwhelming with the number of people. So I get that, but it’s just learning how to manage that and those kinds of things.

[13:05] TaylorSync TakeLessons has group classes, so that’s another good thing to look at. You know, of course you could look at Craigslist and get somebody that’s a developer from there to help you out, but there are some goods and bads with that, so keep that in mind. There are always so many different things that you could look at that we haven’t even mentioned and resources that I’m probably even forgetting about. So keep those things in mind when you’re going out there and trying to learn to code. If you’re using iOS programming, there is an app called the Swift Playgrounds app and it uses little games to kind of walk you through the essentials of programming in Swift. And these games are accessible. You have to do a lot of memorization. So the Swift Playgrounds app is another way to learn some programming fundamentals. And it’s very fun and accessible. So blind users can use that as well.

[14:14] Taylor Arndt said in chat that you can hire people on Upwork to train you as well and that’s another great resource. I’m sure there’s also resources on Fiverr and places like that. Of course that involves a little more money than going out there and doing it on your own, but those are options if you want to go that route. Okay, so the next thing I want to talk about is articles. You know, there’s a lot of blogs out there. And yes, and Taylor mentioned Code with Chris is a great YouTube channel. I mentioned that last time, so check that out. Fireship as well. You know, some things that you might want to look at are blogs and newsletters. And like for iOS, I’m a very iOS focused person. If you can’t tell, I love it. There is the iOS Dev Weekly newsletter where they have different topics and things that they talk about. There’s also, Paul Hudson does hacking with Swift as a website where you could go and learn Swift. He also has articles. I did not realize that he updates his articles for the new versions of Swift when they come out, so that’s very useful information. There’s also, and I always can never say this name right, Ray Wunderlich, who does iOS and Android content.

[15:40] And they also have a paywall that you can go through and learn a lot more advanced topics than just the beginner tutorials. Yes, Taylor said there’s so many great YouTube channels teaching code, and she actually has several good ones on her YouTube channel, just look for TaylorArnt.

[16:00] Amongst all the other finance content that she does. So, you know, there’s there’s great places to go out there and learn. And you know Apple Google all these websites, MDN Mozilla developer network and others have great resources if you’re trying to learn, web development or mobile app development or anything. W3Schools is a great website for web development. I’ve used it several times, Stack Overflow. You know, it’s gonna be fun writing all these things down in the show notes, because there’s so many great resources that you can get. And I highly recommend that you look at all these, depending on what your interest is. And when we go to classify all these resources in the show notes, we will classify them by programming language or topic. So you have no worries of being like, oh, there’s just this big blob of links here. Don’t worry about that. We will have you covered. Yes, Taylor said, let’s not forget chat GPT. Chat GPT is a great resource. Like we said last time, it’s maybe not the most.

[17:18] I mean, you know, ChatGPT may not be the most accurate resource, but it can give you inspiration to go on. So again, a lot of these resources we covered on the introductory episode of the show. So go back and check that out. And we will talk more about resources as we go along.

[17:43] But I think this is going to be a kind of a shorter episode today. And we’re going to go ahead and go to the next challenge. And that challenge is to create another console application. And what we want to do in this one is to create a input statement that will take an input, and ask for the name and age and a few other questions, however you want to put, and do some conditions on the age. See if you can do, you know, check if it’s, if a person’s a certain age or younger or older. And I’ll give an example of that next time and print out the information based on their age. You know, maybe combine some strings, all that kind of stuff. And if you need help, just email me at mikedowes.icloud.com and we’ll talk about it. Or, you know, we have our programming for everyone, Discord, and we have our new website that I’ll be working on. And we have our Facebook group and everything in between. We even have a WhatsApp if that’s what, you’re interested in. So all of those things will be coming. You know, we’ll have those in the show notes. So that’s going to be another episode of the Programmatic Podcast. I really enjoyed doing.

[18:52] Music.

[19:02]…

– Programmatic 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

YouTube

Tutorials

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 resources last time. And there are resources that are better than others out there.

[5:25] As I was going through my programming journey, I used one called lynda.com and that became LinkedIn Learning. LinkedIn Learning has changed from lynda.com and I don’t know if it’s for the better or for the worse, but it is what it is. So they have great courses, a lot of their catalog is still the same, a lot of the same teachers.

[5:47] So it’s a good way to get started. They have great classes and tutorials on getting through things. And the cool thing is that they have bite-sized videos. And I just want to stop here and say that none of these platforms sponsor our episodes, so just keep that in mind.

[6:07] So that is, you know, I’m just talking about resources that I’ve used. You know, LinkedIn learning has been a great resource. I just, I personally feel like their courses do not update enough, often enough for some of the things that I would like to see. So it’s a good way to get started, good way to learn a new language, but I feel like YouTube and places like that are going to be where you go to get current content. And the reason why that’s important is for things like UIKit, which is great to learn for iOS. That is a monolith. It has been there for ages. It was there since the ancient times. It will be there. So LinkedIn Learning is a great resource for that. Whereas something like SwiftUI or maybe Jetpack Compose for Android, that may be a little more of a long-term that may be there now. So that might not be as much of an issue whereas like SwiftUI came around in 2019 and there’s only been one or two courses on it on LinkedIn Learning. So those are all things that you want to consider when you’re.

[7:26] Doing this. So, you know, they have the bite-sized videos, but they also have different class materials and things like that you can use. So YouTube, not YouTube, I was thinking YouTube Premium, that’s a great service too, but we’ll get to that. LinkedIn Learning is great, but the pricing is, in my opinion, a little bit high for what you could get by services like YouTube. And I do purchase YouTube premium so I don’t have ads so I don’t have to worry about all of those things. You know obviously there’s people that put ads in their videos and that’s fine I’m good with that. But I don’t have to have the YouTube ads. So you know we talked about several resources and I won’t rehash those in this show but like we talked about several on the previous show but just Google or YouTube search for different users. And then one thing that’s very useful is look up hashtags, figure out what hashtags on Twitter or Mastodon different people are using and go from there. And one thing that I’ve found very surprising is there’s a huge iOS dev community, hashtag iOS dev community on Twitter. And I pose the same question on Twitter and Mastodon. Which social media platform do you think I heard from first?

[8:54] Do you think it’s Twitter? No. It was Mastodon. And they linked me somewhere to an article that may not have been completely relevant to what I was doing, But it gave me an insight into what could be causing the issue.

[9:12] And you know i’ve always heard that twitter is the place to go for you know communicating and reaching out to people but i think that’s rapidly changing over to mastodon and other social networks. So i would urge you guys if you’re on social media don’t just stick to one platform. Use multiple platforms for coming up with solutions or talking to people because you’re going to find more luck by doing that I’ve certainly done that, You know, we we have the programming for everyone Facebook and discord groups.

[9:51] Yes, and you know, we have other groups and different things. So I think it just depends on, what your your community is and And so your hashtags are going to be very useful for communicating with your communities on these different platforms. So do some research, figure out the best hashtags and follow those hashtags. There’s ways of doing that. You know, I don’t know if you could follow hashtags in the Twitter app. Does anybody in chat know that? Is that something you could do? I know clients allowed you to do that, but I don’t, since there’s no third party clients anymore, I don’t know that that’s doable. So if anybody out there in chat or would like to leave something in the comments about that on the YouTube video, that would be great. We talked about YouTube and we have several resources that we mentioned. Reading books is always a good way to get programming knowledge. And so looking out there, there’s loads of books in the iBooks app on Apple, Amazon, Kindle, all kinds of places. Taylor says she thinks you can follow hashtags, but she’s not sure how to do that. There’s loads of resources out there on different platforms.

[11:14] One book that I recommend anybody read is the take control of shortcuts book from rosemary orchard if you want to just kind of get started in how programming works. It’s a great primer on the shortcuts app and gives you a lot of fundamentals of how programming works. So it’s a kind of a way to get your foot in the door and then there’s books like the swift manual is in iBooks and so there’s books on java. SQL or SQL if you rather, and other languages out there. So it just depends on what you’re interested in. The next thing is that there are training platforms where you can actually get classes. Some examples of this are Udemy, there is TakeLessons, there is Wyzant. So all of these places you can actually get lessons from a developer on how to learn or how to program in a language. Of course, it will just depend on the person’s skill level of who you get and what you can learn.

[12:23] But those things are good to look at too. Another really good resource that I know several people have used is there are Discord communities that spring up around learning a certain thing. So we’ve talked about Free CodeCamp and Codecademy in the previous episode of the show. They have Discord servers. So that’s some ways that you can look at this as well is joining Discords and talking to people. Those are great communities as well. Sometimes a Discord server can be a little overwhelming with the number of people. So I get that, but it’s just learning how to manage that and those kinds of things.

[13:05] TaylorSync TakeLessons has group classes, so that’s another good thing to look at. You know, of course you could look at Craigslist and get somebody that’s a developer from there to help you out, but there are some goods and bads with that, so keep that in mind. There are always so many different things that you could look at that we haven’t even mentioned and resources that I’m probably even forgetting about. So keep those things in mind when you’re going out there and trying to learn to code. If you’re using iOS programming, there is an app called the Swift Playgrounds app and it uses little games to kind of walk you through the essentials of programming in Swift. And these games are accessible. You have to do a lot of memorization. So the Swift Playgrounds app is another way to learn some programming fundamentals. And it’s very fun and accessible. So blind users can use that as well.

[14:14] Taylor Arndt said in chat that you can hire people on Upwork to train you as well and that’s another great resource. I’m sure there’s also resources on Fiverr and places like that. Of course that involves a little more money than going out there and doing it on your own, but those are options if you want to go that route. Okay, so the next thing I want to talk about is articles. You know, there’s a lot of blogs out there. And yes, and Taylor mentioned Code with Chris is a great YouTube channel. I mentioned that last time, so check that out. Fireship as well. You know, some things that you might want to look at are blogs and newsletters. And like for iOS, I’m a very iOS focused person. If you can’t tell, I love it. There is the iOS Dev Weekly newsletter where they have different topics and things that they talk about. There’s also, Paul Hudson does hacking with Swift as a website where you could go and learn Swift. He also has articles. I did not realize that he updates his articles for the new versions of Swift when they come out, so that’s very useful information. There’s also, and I always can never say this name right, Ray Wunderlich, who does iOS and Android content.

[15:40] And they also have a paywall that you can go through and learn a lot more advanced topics than just the beginner tutorials. Yes, Taylor said there’s so many great YouTube channels teaching code, and she actually has several good ones on her YouTube channel, just look for TaylorArnt.

[16:00] Amongst all the other finance content that she does. So, you know, there’s there’s great places to go out there and learn. And you know Apple Google all these websites, MDN Mozilla developer network and others have great resources if you’re trying to learn, web development or mobile app development or anything. W3Schools is a great website for web development. I’ve used it several times, Stack Overflow. You know, it’s gonna be fun writing all these things down in the show notes, because there’s so many great resources that you can get. And I highly recommend that you look at all these, depending on what your interest is. And when we go to classify all these resources in the show notes, we will classify them by programming language or topic. So you have no worries of being like, oh, there’s just this big blob of links here. Don’t worry about that. We will have you covered. Yes, Taylor said, let’s not forget chat GPT. Chat GPT is a great resource. Like we said last time, it’s maybe not the most.

[17:18] I mean, you know, ChatGPT may not be the most accurate resource, but it can give you inspiration to go on. So again, a lot of these resources we covered on the introductory episode of the show. So go back and check that out. And we will talk more about resources as we go along.

[17:43] But I think this is going to be a kind of a shorter episode today. And we’re going to go ahead and go to the next challenge. And that challenge is to create another console application. And what we want to do in this one is to create a input statement that will take an input, and ask for the name and age and a few other questions, however you want to put, and do some conditions on the age. See if you can do, you know, check if it’s, if a person’s a certain age or younger or older. And I’ll give an example of that next time and print out the information based on their age. You know, maybe combine some strings, all that kind of stuff. And if you need help, just email me at mikedowes.icloud.com and we’ll talk about it. Or, you know, we have our programming for everyone, Discord, and we have our new website that I’ll be working on. And we have our Facebook group and everything in between. We even have a WhatsApp if that’s what, you’re interested in. So all of those things will be coming. You know, we’ll have those in the show notes. So that’s going to be another episode of the Programmatic Podcast. I really enjoyed doing.

[18:52] Music.

[19:02]…

– Programmatic 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 people see it as such. And I think that to really get people into the field of programming, we have to see it as art. 

[9:06] And that’s why we’re having this podcast weekly is so that people can see programming for something that they may not have seen it for. And I think that’s important, right? 
For people to see, programming can be a passion and an art instead of just a mindless chore. 
And you know, we have AI that can write code and people are like, oh, AI is going to take all programming jobs in five years. No, it won’t. 

[9:38] No it won’t. AI will allow us to be more creative in five years. 
Be able to take code from AI and you do all the, as we call, boilerplate things like creating a new view controller, which is a Swift user interface screen. 
And it will generate that for us, put it in our project, and we just tell it what we want to do, and it fills in as we’re typing. That’s where coding is going. 
We could say, I need this to auto layout to be pin center and 50 points up. 
I just watched a class on how to do that and I can figure it out now, but I still have to look up the code because I can’t remember all that. 
But the AI, you just prompt it and tell it what you want and it will do it for you. 
And that is where AI, I think, is going to go. 
That is where we’re going to see programming go in the next five years. 
And you know, eventually, we may have low code to no code. 

[10:53] Completely but you know i think that if you want customization and assured and promise accessibility you’re still going to need. 
A fully coded solution or a low code solution like wordpress for website. 

[11:10] Or react native or flutter for multi platform you’re gonna need these things guys. 
It’s just one of those things that you know you’re going to need. 
And that’s just the way that it’s going to have to work. Programming is going to be part of our lives for a very long time, even if it’s to change the AI data models. 
So I think that’s one of the things that, the reasons why I want to have this podcast is to talk about that. 
When I started writing code, it was in QBasic when I was like 10 years old. 
Then I went on to Quick Basic and then Visual Basic and then HTML and websites, JavaScript, AJAX, I wrote my own AJAX engine. 
And then I went on to in 2011, Swift, well, no, correct me, I’m corrected, Objective C, then I think 2015 Swift and Android development, Java, and then JavaScript again for Cordovaapps. 
So it’s, you know, I still want to learn Kotlin and I want to learn Dart for Flutter. 
There’s so many things that are out there to learn. 
You can’t possibly learn it all. So you learn what works best for you and what you like the most because that’s the key, right? people really really really really love Java. 

[12:40] I don’t know how. I don’t know how personally. I hate a language that involves like 30 plus include statements at the top of the file to bring in all of the classes that I need. 
If you can’t see me shaking my head and just it’s it’s frustrating it’s it’s tiring I mean there are IDEs like. 
IntelliJ and Android Studio that will do it all for you. 
But I just don’t see why that’s fun. 

[13:22] JavaScript has some of that, but not nearly as much and usually, it’s your own modules that you’ve included. 
Swift is very different, and I think Kotlin may be this way, But I learned, you know, I was including everything, foundation, UI kit, and everything else. 
And I learned in class, did you know that if you import UI kit, you’re importing foundation? 
No. 
So it’s little things like that that are like, wow, I had no clue. 
You know, you’re always learning something new. You’re always getting better. 
I’ve been writing UI kit for nearly eight, nine years, and I’m still learning things. 
So I’m writing Cordova apps now, and I’m learning things about that constantly. 
The back button gesture, very interesting stuff. How does that work? 
How does Cordova handle that on an Android app? 
And again, you know, Cordova is a way to build apps for iPhone and Android using HTML. 
If you have not seen it, look it up. It’s called Apache Cordova. 
Used to also was known as PhoneGap by Adobe. It’s a way you could build mobile apps using HTML, CSS, and JavaScript. 

[14:50] So there’s so many different things that are involved there. 
So, you know, during this podcast, we’re going to be talking about all these things, you know, building your apps, how to get a compiler, how to get a good IDE, what is an IDE, how to distribute your apps, how do you distribute your desktop programs, how much does all this cost, where do you get all these things? 
What is even used for what? 
There’s a lot. There’s so many different topics we can talk about. 
And we’re going to do it every week. And I’m really excited about this. 
Uh, we’re going to have a segment for people that are in chat to ask questions. 
And I’m going to come to that here pretty soon. 
Um, but I, I want to just say, I’m really excited to be on this journey with the rest of you. 
And, you know, I’m just blown away that there’s not many things like this out there. 
So I guess what I would like to do is open it up. If we have anybody in chat, you know, ask any questions. 
What would you like to see on the podcast? 
What are things that you want out of this show? and. 

[16:12] Where would you like to see the show go in the future? You know one of the things we’re gonna do as well will have other people on to ask questions. 
And if you are getting or if you’re new to programming and you wanna get started you wanna come on and ask your questions will be doing that to at times so. 
We’re gonna do all kinds of different topics so really you know thinking that. 

[16:37] We’re going to involve as many people as we can. Also I’ll be putting links to our Programming for Everyone communities in the show notes. 
So you can join there and I’ll be promoting this show on those as well. 
How do you get started programming? Let’s talk about that. 
There’s a few websites. Free Code Camp is one. Codecademy is another. 
They have step-by-step free courses. 
They have paid courses as well, but I would check those out. 
They’re very good courses, course platforms. 
So check the chicken to those LinkedIn learning has helped me a lot. 
I’m no longer on that service, but it’s still great. 
So check that out. Also there’s YouTubers for pretty much anything you want to learn on iOS side of things, two, straws or Paul Hudson does the hacking with Swift series. Very good stuff. 
Sean Allen does some great, amazing Swift lessons in Swift UI. 
There’s others out there. Those are kind of the ones I follow because I’m very much into iOS programming and things like that. 
So those guys are great. YouTube’s Coding with Chris is another one. 
Fireship for JavaScript. 
He’s amazing? 

[17:56] He does use whatever language in 90 seconds courses so those are a lot of fun so there’s a lot of great courses out there for free. 
Don’t even have to pay for some of this stuff folks you just take advantage of what’s online again there’s linkedin learning to pay for that and get some great materials so. 
Yeah. And, you know, we’ll do a deeper dive probably next time on what’s the right language for you to learn as well. Where do you go for resources other than learning? It depends on what you’re trying to do. But like for Apple, there’s, you know, the Apple Developer app for Mac has some great resources and documents. The Hacking with Swift website is great. YouYou know, just Googling will be great. 
Stack Overflow has some great articles and even just looking in chat GPT can give you inspiration. It’s not always right, but it can give you inspiration and then help you on your way to find what’s right. 

[19:03] The next thing you want to do is make sure that you have the right equipment. 
You’re not going to be able to do this on a Chromebook, folks. 
I hate to tell you. 
I mean, there are some Chromebooks that have the specs that can do this, but a $200 Chromebook is not going to be the best for programming. 
So get yourself a little computer that, you know, at least an i5, you know, 128 gigs of hard drive space will be the minimum. And you know, eight gigs of RAM is the minimum, you know, more you can get the better. 
So it just depends on what you’re doing. If you’re doing iOS development, you definitely want to be on a Mac. 
That is very important. 
And preferably an Apple Silicon-based Mac, though that’s the best way to build those because you can test it right on the Mac. 
You don’t have to have it on your phone. And if you’re building web-based applications, you do want to have Google Chrome, and that’s, because of some requirements that it has built in. 

[20:02] So there’s a lot of different things that you’ll need. You’ll need an IDE, which is Integrated Developer Environment for whatever you’re trying to do, and we’ll talk about that in detail. But all of those things are good resources. 
Okay, I want to see, I want to give one last call to see if there’s anybody in chat that has any questions. And then we’re going to go and jump on to our challenge for the day. 
Okay, so. So. 
Our challenge for today is simple. We want to build a basic Hello World application that can take input. 
And instead of saying Hello World, it will say hello and then the person’s name. 
You’ll need to create a variable to hold the name and get the input. 
This will be a console-based application. 
So, you know, if you’re using Visual Studio, you know, for C Sharp or C++, you want to build a console application. 
And then you’ll also want to take input. 

[21:08] Store it in a variable, and print that output on screen. I will, if you would like to send those to me, mikedoeys at icloud.com, and I can take those in and look at them, and I’ll send you back if I have any feedback. 
But what you can do is if you send me those, we’ll make it a contest and I will have 11 labs read out the most interesting solution on screen. 
And then I’ll show my solution or one or two solutions in different languages. 
So that’s pretty exciting. 
So, you know, another thing we’ll talk about as we go is source control, how to use Git. 
What are some different methods for using Git? 
Some different techniques, Git flow, other things, continuous integration, continuous delivery, or CI-CD as it’s called. 
We’ll talk about those things. We’ll talk about a lot of different topics here on this show. 
So I’m really excited to experience all of this with you all. 
So that’s gonna do it for episode one of Programmatic. This is Michael, and we will see you on the episode that we will be recording next week. 
So thanks again for joining me. And if you’re on YouTube, please subscribe, like, share, turn on notifications. 

[22:33] Music. 

Transcript

Back to Top