Home / Blog / iA Cast

Unmute Presents- Michael on Parallels

Below is a auto generated transcript:

You can tune into this call live every Tuesday.

Visit acb.community to learn more about what is up coming.

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

March 21 2023

You can tune into this call live every Tuesday.

Visit acb.community to learn more about what is up coming.

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

175 – CSUN AT 2023 Wrap Up

Show Description
On this episode of the iACast, Michael talks with Taylor Arndt, and Jeff Bishop about the following topics.

News

Picks

Providing Feedback

We love hearing from you, so feel free to send an email to feedback@iacast.net. You can follow us on Facebook, and Twitter. You can also find us on Reddit, and all around the web. Also, don’t forget to check out our YouTube page, and for all things iACast, check out our iACast page. If you’d like to help support us, you can do so via our and Patreon pages.

Configuring ACB Media on the BlindShell Classic 2

[0:01] If you’d like to set up a list of favorites for ACB media, these directions should help you while using the Blindshell Classic 2.

Press and hold your back button. 7.45 PM. 
We’ll press down. Call. One of seven. I want option number four, so I’ll tap that. 
Applications. Four of seven. Press OK. 
Internet browser. of eight and I’m looking for media that’s option number four media four of, eight will press ok camera one of six and then option number four internet radio four of six press ok popular stations one of five and you can check these different categories out but what I’m gonna do is I’m gonna go down to search search hit ok search that sound means I can type so I’m gonna write a by pressing the number two once. 
Capital A. 
Wait for that click. So I’ll write C, which is the number two, three times. 
If you press the down button, you can get it to click sooner. 
So that way you can press B, which is the number two twice. 
Press okay. After you hear that last click. 
Loading. 

[1:18] ACB mainstream. One of 14. Now there are 14 streams for some reason, multiple ACB media of some of the channels are showing up. So here’s the process I use. 
Because the favorites works in a last in first out model, I have to add the favorites backwards. 
For example, if I add ACB media 10 now, it’ll be at the bottom of the favorites list, and then I add ACB media nine through ACB media one, if you want ACB media streams to be the top of your favorites, then you will need to consider what order to put your favorites in. 
Note though, putting your favorites in order won’t be changed at all. 
You may just have to go down to get to the first ACB media option. 
So I’m going to go ahead and put these together by finding ACB media 10. 
ACB media 10 convention information, which at the time of this recording is option number three. 
I’ll press okay. That’s going to start the playback of the audio playing ACB Media 10 convention information told you three of 14. 

[2:34] You want to hear some audio from the stream because it might take a couple of seconds You want to make sure that you’re favoriting a stream that would be something that is working. So we’ll press OK The media stops and you hear save to favorites. 
Press OK. 
Playing ACB media 10 convention information. Three of 14. 
The phone then repeats the name of the channel and it tells you that it’s playing. 
So after 10, I want to put nine. 
I’m going to go ahead and jump to ACB media nine. Playing ACB media nine live to 14 of 14. 
And within this application, I know that ACB media nine is option zero. 
In the Internet Radio application, you can press 1 through 0 to jump to the search result and start playing that after you’ve started playback. 
And now all of the favorites have been saved in the proper order. 

[3:34] Music. 

Transcript

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

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

Unmute Presents – Trial Style – Access Technology News thanks to Tech VI List

You can tune into this call live every Tuesday.

Visit acb.community to learn more about what is up coming.

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

March 14 2023

You can tune into this call live every Tuesday.

Visit acb.community to learn more about what is up coming.

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

Unmute Presents – Screen Time Tip

Damashe:
[0:04] How’s it going everybody? This is Demasi Thomas. Based off of a recent conversation on, as of the time of recording at least, a recent episode of the Unmute show that me andMichael Babcock recorded, go check that out at Unmute.show, including to get the episode to hear more about the situation that this tip here is going to help mitigate. 
Now before I get into showing this screen time tip here, I do want to mention that since recording that original episode of Unmute with Michael, it has come out that there is a potentialworkaround to putting this in place. 
However, I’m gonna continue and record this tip anyway for a couple of reasons. 
Number one, I said I was gonna do it. And Mike’s depending on me to record it so that he has some content, all right? 
Number two, I do expect that Apple will probably close off that workaround if that is being put in place by someone intentionally. So we’re going to get into it here. I’m going to unlockmy iPhone. 

Voiceover:
[1:07] 220 APM. Settings. Search. 

Damashe:
[1:10] Search field. I’m already in Settings. So I’m going to go to Screen Time. 

Voiceover:
[1:13] General. Button. Screen Time. Button. Settings. 

Damashe:
[1:17] And also feel free to make use of this tip for managing any other screen time stuff and putting it behind the passcode. 
I have some experience with this simply by managing my kids’ iPads and restricting some of their activities and setting down time. Now what we’re gonna do, I’m gonna quickly navigatethrough here. 

Voiceover:
[1:37] Words, headings, family, heading. 

Damashe:
[1:38] There’s the family section and I’m gonna scroll past that and I want to find. 

Voiceover:
[1:45] Use screen time passcode. 

Damashe:
[1:47] Use screen time passcode. Now this is for my device because I didn’t tap into one of my family members devices. I’m gonna double tap on use screen time passcode. 

Voiceover:
[1:56] Passcode, zero of four values entered. 

Damashe:
[1:57] And I’m gonna enter my passcode. Yes, yes, I know you’re hearing my passcode. 
Trust me, it will be changed. 

Voiceover:
[2:02] Five, two. So we’re going to enter. enter. 
Passcode zero four values entered. 

Damashe:
[2:10] I’m going to re-enter that passcode again. This is just a four digit pin. 

Voiceover:
[2:14] One, one, five, two, one, eight. 
Text field is editing. Screen time passcode recovery. Heading. 
If you forget the screen time passcode, you can use your Apple ID to reset it. 
Apple ID. Text field is editing. Email. Character mode. Forgot Apple ID or password. 

Damashe:
[2:29] Button. Now I’m going to choose to skip this particular option. 
Because the idea here is that I want to make sure that no one will be able to recover this passcode from me. 
Let’s see if they offer me an option. 

Voiceover:
[2:48] Don’t let me skip, let’s tap OK. 

Damashe:
[2:51] Okay, so hitting OK didn’t work, let’s hit cancel. Alright, yes I’m sure. 

Voiceover:
[2:58] Apple ID gives you a secure way to reset the screen time passcode if you forget it. Skip. Button. And I want to skip. Passcode. Four values entered. 

Damashe:
[3:04] So hitting cancel there is what allowed me to not put in that recovery step. 
Now, this is where the temporary workaround that I think Apple will patch will come up. 
People have said, and it’s been reported I have not yet tried this, but however, people are saying that even if you take the step that I just did that says I don’t want to use recovery, skip thatstep, it still gives you the option. 
So be mindful of that, but I do feel that that is probably an unintended behavior that Apple will fix. 
So now I have my Screen Time Passcode set. I’m going to go to the settings. 
And we want to go to Content and Privacy Restrictions. I’m going to double tap there. 
Now I have a profile in place that already has preset some of these options here. 
So I will show you where you need to go. I’m going to scroll all the way to the bottom. 

Voiceover:
[3:58] Background activities. Allow. 
TV provider. Driving focus. Reduce loud sounds. Cellular data changes. 
Passcode changes. Allow. Demd. Button. Account changes. Allow. Demd. 

Damashe:
[4:06] Button. Now this is currently demmed out because of a profile that I have installed. 
But this is what you will want to activate in order to protect this is you want to use your screen time passcode to prevent account changes. 
Right now what this does just so you’re aware is it’s gonna dim out a lot of things for you that you’re gonna have to go to screen time and unlock using your passcode before you can saygo change your Apple ID information or anything like that. 
But that is a way to mitigate against someone’s taking your phone having learned your passcode steal your phone because this will be a malicious activity. 
Activity and then using your phone’s passcode to reset your Apple ID password thereby locking you out of your Apple account, So that is the tip that I shared in the Unmute episode withMichael. 
That is how you do it. Unfortunately, I can’t take you all the way through the process because I already have this particular feature locked down using a profile on my device. Maybe I’ll doa video on that one. 

[5:08] But there you go. Just to repeat those steps, you’re going to go on the screen time. First, you’re going to scroll to the bottom and select choose use screen time passcode. 
Use a good four digit code that you don’t share with anyone. 
Mine just happened to be my month and day of my birthday, but I’m gonna change that as soon as I start recording. 
For my cases, I did not want to use my Apple ID to recover my screen time passcode, so I hit cancel and I hit skip again. 
Right now there is a workaround that is allowing, still allows that password recovery or that PIN code recovery to happen via your Apple ID, even though you’ve said that you don’t wantthat. 
That is what I expect Apple to patch up and tighten that up. 
There’s probably unintended consequences. 
From there, then you’re gonna go to content and privacy restrictions and scroll all the way down to the bottom. And I started at the bottom and worked my way up backwards. So flickingleft if you’re flicking. 
After you get to the bottom of that screen and you want to toggle account changes to on so that it’s protected by your screen time passcode. 
Hopefully this tip is helpful and we’ll catch you next time. 
Be sure to check out the Unmute Show at Unmute.Show. 

[6:22] Or tune in live on Tuesdays on the ACB Community Call at 1 p.m. 
Eastern, 10 a.m. Pacific, or just visit acb.community. 

Transcript

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

– 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

Protecting Your Personal Data While Socializing – Guest Damashe

In this episode, Michael and Damashe share tips on how to protect your personal data while socializing. They start by discussing how to protect your phone from being accessed by strangers, such as by using screen curtains and setting up a screen time passcode. Damashe emphasizes the importance of not handing your phone to anyone and instead relying on others in your group to take pictures if necessary.
They also discuss the benefits of using screen time to prevent unwanted account changes, and how to set up a separate passcode for screen time. Damashe shares his experience using screen time to secure his kids’ iPad and notes that this added layer of security can also be applied to iPhones.
Finally, they discuss the importance of using a strong passcode to unlock your phone, and how to make it more complex by using alphanumeric passcodes. Damashe shares his own experience of using T9 input to create a word-based passcode. They remind listeners to keep their passcodes for screen time and phone pin different for added security.
Overall, this episode provides useful tips on how to protect your personal data while socializing and enjoying your time with friends and family.

Support Unmute Presents by contributing to their tip jar: https://tips.pinecast.com/jar/unmute-presents-on-acb-communi

This podcast is powered by Pinecast. Try Pinecast for free, forever, no credit card required. If you decide to upgrade, use coupon code r-e4dc67 for 40% off for 4 months, and support Unmute Presents.

Back to Top