Yeah, please.
All right, folks, this is the Wednesday, May 14th. Meeting of the st louis Linux user group Gary, what are you going to say?
Oh, what am I going to say? Let's see. Our speaker this evening is Craig Buchek. He's going to be talking to us about voice. Tonight's presentation will be kind of The general introduction, voice to text, voice to commands And next week on Thursday of next week at the LUG meeting, they'll do part two, which will be uh
Voice programming and also AI use and voice For our tutorial tonight.
We have Lee, Lee Lamert. He's going to tell us about how to obviate the restrictions at t puts on different ports for the use of email.
And so that's what our plan is for this evening. For looking over the list of people who are here For those of you who may be new to the group, we have a call the Oreo cookie version of the meeting we have a
Basic tutorial on the front. And then they have the gooey middle Which is questions, answers, announcements And then we have the main presentation on the back. So the tutorial last maybe about 20 minutes. Then we'll do about maybe 15 minutes of announcements and then we'll do the main presentation.
All times are estimate. I'm Gary Meyer. I'm the president and also the emcee for tonight.
Stan Reichert is our vice president. He's also the one doing most of the production work, almost all of the production work.
And then our treasurer is Lee Lamert. Lee, of course, is also our speaker tonight.
Lee also provides a lot of our backbone computing resources from his business.
So announcements. Let's see tomorrow May the 15th, Thursday.
We're going to have a face-to-face meeting for the first time since the age of COVID.
It's Craig Buchek, our speaker tonight. Now lives in California and So this is his trip back into town to see a few folks. And so we apologize to those of you who are our favorite out of town participants.
But yeah, we're going to have a face-to-face meeting over some pizza, beer, that kind of stuff.
So for those of you who are in town, stuff on the screen right now, it's Nick and Elena's Pizzeria where we used to meet And there's the address. You can also find that information out on our website and on the calendar.
So jumping back to the overhead slides. There we go. So that's tomorrow night. We don't intend there to be a technical presentation tomorrow night. It's just to get together.
So let's see. The other thing. Coming up.
Next slug meeting is second Wednesday. It's June the 11th. This next one coming up.
Eight days from now, next week on Thursday is the STL Linux meeting. As I said, that'll be Craig doing part two of tonight's presentation.
Five days after that is the new lug meeting, new Linux meeting.
That's really a fun group. Whoever considers themselves the newest person to Linux gets to ask the first question.
So, and we try and answer that. It's good for the good All the questions, yeah.
All the questions.
For the old timers, if I can use that phrase It's also very informative because it's always interesting. The other experienced people sometimes come up with completely different solutions to a problem than you would.
So it's really kind of a fun group to participate in.
Slack meeting is usually the first Thursday of the month. Slack is St. Louis Area Computer Club.
If we think it's the oldest computer group in St. Louis and it's more hardware oriented, we'll even talk about Microsoft Windows for all things.
Note there in October. This year, end of life on Microsoft Windows 10.
With that, are there any other announcements that people would like to uh make.
Any changes in schedules or anything? Okay. Alrighty.
Nope. Nice.
Let's see, what's the next thing on the end of that previous slide?
On the… Back up here.
Go back, understand. Yeah.
Where are the announcements in?
Yeah, announcements. Let's see. Call for them. Mentioned meetings. Okay.
Okay, so at the end of tonight, after the main presentation.
Hang around and there'll be time for more just general Q&A. It doesn't have to apply to our particular topics tonight.
And right now I'm going to turn it over. We'll also have a little bit of time for a little Q&A in the middle.
During the announcements. But first, it's time for our tutorial uh from we whammered. So I'm going to turn it over to Lee.
Thank you, Gary. Let's got a screen sharing here.
And I am going on this one.
Okay. The whole problem occurred in this situation because we've got clients out in area and They have started jumping on AT&T Fiber.
Which is a decent service unfortunately They love to block And all ports, email ports.
I don't know how they do it. Because, for example, from that machine.
If I try to tell NIT to one of our servers on port 25 Nothing. 587.
Nothing. I don't know how they handled normal services. I'm assuming that they have some sort of whitelist out there.
For the major providers, you know, Google, Outlook yada, yada, yada so that they will allow email service to you know the the big services But the problem is the problem is We need to get emails.
Something breaks, I need to get an email Something's disc is full if something has a problem.
You know, we actually have a Nagios instance out there I can show you here real quick.
We have all kinds of machines that we monitor here's the machine we're on design archive server you can see this is what we need to check on a regular basis. And if there's a problem here I need the SSH to the machine if it's a major problem, I need to get an email.
But I can't do that. With email block.
So… How do you fix it?
First off, why is AT&T blocking? Well, number one, there's all kinds of spammers out there that love to just blast email out Although I'm not sure that AT&T can make a valid case for that nowadays because for email to be received, which we've talked about before.
There is a whole hierarchy of checks that are made on that email.
And if they don't meet it, that gets rejected. So it'd be interesting at some point to yak about, well, is AT&T justified doing it But they do it.
Go ahead.
Do you want to comment now or later? It's not so much spam as it is the abuse There are many infected computers, home computers that just try to brute force dictionary attacks.
So that has become It started as spam and it has evolved into abuse prevention.
Okay. Actually, you know, the second point here You know, there is some justification for it for legitimate email, it shouldn't be a problem.
But AT&T likes to take the the high-level security posture.
So that they block everything by default. And again, I don't know how they allow Gmail, Outlook, etc. But they do so they must have some sort of master whitelist somewhere that they use.
This meeting is being recorded. Sorry.
We heard that 10 minutes ago, Gary. Okay, those companies then want to control the outbound mail they want to Ensure.
Email compliance Figure, figure.
Sorry, guys. Gary's having fun trying to find the volume button.
There you go. There you go.
Okay, so… to fix it. You can use another provider as an SMTP relay.
What we've done in the past is just relayed to Google because Google does work.
But over the last 10 years, Google has changed your authentication so many times it's almost impossible to keep track of it.
Every year they change something and they won't forward email unless it's from a browser or an email client that uses 587.
Well, so… if you were, you can set that up, like if you need to forward all your email through Google, it is possible.
It will require authentication and TLS security. There are some options out there, SMP2Go, Mailjet, etc.
Assuming that provider is whitelisted There's an example here on the screen. You can set up a relay host in your email configuration.
The other option would be to just This is called a relay host, but we're using it as an SMTP relay When I say relay host here It means use a specific host to relay specific email.
This is the solution I took. I'm going to show you here in a few minutes.
We have email servers that accept general email but they are configured with various levels of security.
One of the most interesting is those email servers have been running for 25 years.
And if you don't have reverse GNS set up for your email server, it gets rejected.
And unfortunately, this might be a question for Grant at some point.
There's more and more email servers today that do not use reverse DNS.
I'm assuming because they're using some sort of pool structure or cluster structure where the outbound IP may change or maybe the same for multiple different email servers.
But anyway. Our solution was to pick a non-standard port I like 65025.
It's way up in the, you know, all the way up in the ethereal porch Very few port scanners are going to bother to go that high because theoretically, it's an ephemeral port. It isn't active all the time So there shouldn't be anything running there.
Unless you could figure it that way. Of course, that means that you have to know what port to connect to.
If you have a regular connection that needs authentication. I'll talk about that in a minute.
In this case, I'm using an access rule. This is the transport file on the host, which I'm going to show you here in a minute.
Any email for omnitech.net? Is relayed smtp on port 25 to VPS that I've got hanging out in the cloud on 65025.
The benefit of this is number one only our email.
Gets sent to the relay. Unless emails omnitech.net, it will not go to the relay.
Which provides a very significant level of security. No spammer can use it.
Next is configured to only accept email. For Omnitech.net.
And again, I'm going to show you the details here in a minute.
There is another option. Request an unblock from AT&T.
Call business support. Unfortunately, sometimes it can take forever to get anything done with AT&T.
We upgrade our service a couple of years ago from what I think 20 meg to 50 meg for the rack back there It actually took me seven months.
To get it done. Seven months.
And I talked to at least 10 different people at AT&T, two or three of their partners Nobody could do it.
I finally found a back door talk to somebody in billing oh that's easy had it done in three days. Nope.
If you can get through to the right people. You may have to justify it.
But again, my problem is my problem is it's, you know, if I've got two or three clients out there i could be talking years before I get through to somebody that can actually do it.
But it's a possibility.
What you don't want to do, we've talked about this before.
You cannot send email from dynamic IPs unless you're a malicious actor.
Because dynamic ITs, unless you pull some really sophisticated tricks, which I'm sure Grant has done in the past.
It is very hard to
It's very hard to get email reliably sent from a dynamic IP.
I was talking before about Gmail and Yahoo. I haven't tried Yahoo you know various gmail accounts will relay except as i say they change their terms like at one point a couple, you know, two or three years ago said oh we
We will no longer accept email that's not authenticated. Or we will not accept email in port 25.
Well, that means you have to jump through some extra hoops to do it.
The other thing is, you know, the high volume, you definitely do not want to get involved in that.
Our blacklist here internally is coming up to 170,000 entries in the last 20 years.
And it pains me to admit that I have to look at it and manually not enter things like manually enter Outlook and Google.
The biggest spammer on the planet that I see is Google because they let all these whack jobs I don't even know what the characters it looks like hieroglyphics anyway
If you're on low volume mail. You could use authenticated service as a relay if you want full control of EPS.
Are the combination here. In our instance, we don't need full control.
It is low volume. But I'm using a VPS because A, it's there be by adjusting the transport to only set Omnitech.net email.
I really don't have to worry about security. If someone wants to send an email to us and they happen to hit 65025 on that server.
I'll happily accept it, but nothing else is going to get through.
Everybody knows 25 is… The legacy SMTP.
587 is the most common nowadays. Start TLS. Some people use 2525 for an alternative SMTP.
In my case, though, I picked 65025 Because it's pretty well guaranteed that's not going to be in the range So I run an NMAP against the machine.
It's not worth the time. Go ahead, Grant.
Oh, so… the security people.
Have favored 465 implicit TLS. Over 587 explicit.
Tls because there are some hostile regimes and other ne'er-do-wells that do monkey in the middle.
On 587 and we'll remove start TLS option So you think your client thinks it can't do encryption Whereas on port 465, if you're connecting, it must be encrypted.
So the industry has swung back. To 465 as preferred.
Okay. All right. Any questions on the theory?
Can you go back one slide?
Sure.
That bottom option there. I don't think you made any comment about that.
Oh, uh. I didn't comment about it specifically because I talked more about it before.
Okay, that's kind of what I thought.
Yeah, yeah. You know, like I say. Theoretically AT&T will unblock it if you can find somebody to talk to and justify it.
Sufficient. Yeah.
But… Yeah, so, and again, the two factors here are number one, this is targeted email for us. I don't need to unblock their general email output.
And B. I have had multiple experiences with AT&T that are just horrendous in terms of finding somebody to talk to and get something done.
Thank you.
Sure. Anybody else?
I'll just toss out there what you're describing. We tend to refer to as email routing.
In postmaster land. You're configuring the source server that says email to this domain do this thing with it explicitly and ignore everything else.
Right.
Routing on an email address instead of an IP address.
Okay, so bring my key.
This is our Cloud server.
So I'm going to start a tale on mail log.
This is our server in the shop. I'm going to shore a tail at his male log.
Aren't supposed to be able to read that, are we? Welcome.
I can read it. Gary needs glasses.
You're right.
I'm going to just jump it through right away. And cancel that one.
Because it's a lot higher volume. You can see here that you can see here Dang it.
It's going to be hard to scroll. This is the 57.
Here's the connect Notice that the server that is connecting does not send a host name with email.
I normally try to leave that in there unless it's an actual mail server because that provides the first level of rejection for any email that does get out from that machine with malicious intent.
Here is the sender. Which was me up here in the upper window Notice that it's Oh, I'm sorry. This is on NYX. So it has gone from D9 to NICS.
And so he is sending it to M3. Because Nix is authenticated to MX3.
Which is one of our mail servers. And then down here in the bottom window.
You see it coming in from NICS? Stark TLS.
Let's see, to me. It forwards to mail.omnitech.net, which is the MUA here that I use here in the shop.
And…
There we go. Here is my email client.
And there is your email that just arrived. On mail.
That I had sent from at server design.
That's it in a nutshell. Any questions? He might receive any different pieces of it.
Anything to add, Grant?
No, I think what you're describing is a very good solution. It's been around not used a whole lot.
For quite a while but it tends to work.
Reliably. Being the BOFH that I am, I would yell at AT&T to quit messing with port 587.
I'll give them 25. But per industry standard, 587 is explicitly meant for authenticated connection from email clients to email servers.
It should not be blocked. Short of that, yeah, an alternate port Or if you're a BOFH like me.
Yeah.
Send it through a VPN. But no, what you've done is a perfectly viable solution for the problem at hand.
Cool. There were a couple of questions or comments in the chat.
One is from Grant, or the most recent from Grant. 123 block sort of surprises him You want to explain that anymore, Grant or
That was actually a reply to Craig saying he was surprised to see that AT&T is blocking UDP port 123, which is used for network time protocol.
And he was asking how systems are getting time synchronization. And I was saying that that block surprised me.
So prior to Craig's comment, I put a link to an AT&T document that lists the ports that they're filtering which way and which protocol.
And so…
Oh, and if anybody's interested in a little more about it, Grant posted a link there.
To AT&T's network practices. Which might be interesting to interesting read.
All right. If nobody else, I will turn the floor back over to Gary.
For our gooey middle. Okay. Thank you, Lee.
The gooey middle. So… Pardon me?
Looking for the button. I'm looking for the button.
Oh, you're looking for the button. Okay. Who's got the button?
Burrough.
Jane Wilder, every time somebody says that.
Thank you. Anyway, I apologize. I think we probably went to the slide deck that some of that was supposed to be here in the middle.
So we've put too much announcements on the front before we started
If we enjoy the gooey middle before the cookie? We're adults. We can make that choice.
Yeah, how about that?
Okay. Cover that shit.
We did the introductions.
One thing I didn't mention before was a chat monitor if anybody else would like to take over monitoring the chat.
Always helps have another pair of eyes out there looking to see what things are being chatted about during the talk.
So, you know, it's just a thing of bring them bring them to the speaker's attention if uh if it seems appropriate at the time.
Who finds the speakers for this?
Funny, you should ask. Yes, so… And if anyone would like to volunteer to be a topic wrangler or a speaker wrangler, we're open to the help.
As it is, there's a few of us on the steering committee who kind of keep our eyes out for people who have spoken elsewhere or who seem to be knowledgeable on a topic and we asked them if they'd care to speak on that topic.
Pretty good luck. But yeah, we are always open both to somebody who'd like to be a wrangler and help us get more speakers. Also, just if you have an idea like is a topic that you would really like to hear somebody speak about.
Let us know what it is. No guarantees we'll find the speaker. But if we know what you're looking for.
It helps to know what we're looking for. Same thing. If you know somebody who is a speaker, but you just don't feel comfortable asking them.
Again, let us know and let us know contact them and see if we can arrange for them to speak to us at some times To contact us, send an email to editor.
At schloob.org. And we'll get back to you.
If you want to learn something it's a good idea to schedule yourself to give a presentation on it. So that's what I did with this voice stuff.
Nobody told me I was going to be a guinea pig.
Yeah, that's very true.
It always seems so simple until you go, well, actually, I guess I should put some of this onto a slide deck or overheads or whatever you want to call them these days.
And as you start actually typing it out and writing it, it's like, oh, wait a second. There's just presumptions here that I've got to fill in.
Or what I have happen is, yeah, I know I need to do this and this and this and this. And by the time you write it down, all the little pieces like.
Holy crap. What I thought was half a page is five pages.
Yeah.
So what Stan is musing through now is the slug.org slash calendar.
It started out as they started out as First of all, our own things that we as a group do But then we expanded it to just start putting down other meetings here in St. Louis that we thought people who were interested in open source or open standards technology would be interested in.
And so the calendar grew. When COVID hit.
And the world got to be more and more users of remote meetings, Jitsi and uh zoom We started including items that were in existence other places in the world, but we're available to us remotely and look like they'd be things that, again, people who were interested in
Open source, open standards open systems might be interested in.
We've pulled in a lot of out of town remote meetings there as well.
So we put our meetings, the ones that we actually organize and run in red.
The other ones. There's actually two separate calendars. One's called St. Louis Local, one's called St. Louis Well, certainly sponsored but There's another one for the out of town ones.
When you say we, is that you and a frog in your pocket or what?
Yep, that that's uh that Stan and a frog in his pocket. I'm the frog. Stan does a whole lot of this and uh I try and contribute to the calendar and Actually, I've been remiss. I need to do a little cleanup and remove some older entries but uh
Actually, you need to get somebody to help you clean it up so they know what to do.
You're right. You're right. So anyway, but hopefully this is a useful thing for folks that you can find things on here.
Yes, as Stan just alluded to, do check the dates and make sure it's a current entry.
Some of these are recurring items that just recur from month to month.
We do have an abbreviated calendar on each of the web pages that we sponsor.
And it's, you know, down toward the bottom. That's just a sponsored meetings.
Et cetera, et cetera. And then below that, we have our presentation archives listings.
Okay. And these are recordings of past presentations done at the Slug meetings and at the St. Louis Linux Unit meetings.
You know. Maybe worthwhile.
I think, whatever. Boo.
Good. Let's see.
Do we need to talk about the face-to-face again or not?
Sure. Face-to-face meeting. Tomorrow night, Nick and Elena's Pizza. Sorry for you folks out of town.
With you folks in town, or even if there's people who aren't at the meeting tonight And if you in town or you know some other in towners who would like to come By all means. If anyone wants to fly in, I'll be happy to pick them up at the airport. All right. There we go. We can arrange a ride and they can let us. There we go.
So yeah, it'd be nice to see everybody again soon. And as an aside, yes, we have discussed doing what they refer to as hybrid meetings where both we have a live audience And also, we put it on Zoom.
It sounds so incredibly simple. And for those of you who have gone to hybrid meetings.
It gets more complicated than you think because it gets more complicated The speaker tends to figure that he's talking to the people sitting in front of him and stops speaking into the microphone.
Or he waves his hand pointing to something on the wall behind him But that's not what you're seeing on the screen at home.
Or somebody talks out in the audience and you have no idea what they're saying. Right, right.
So it takes just another notch up effort uh production quality to make a good hybrid meeting that's something you can like online.
We would love to have somebody show us how to do it.
And show us how to do it right. I've seen it too many times. They don't do it right.
So… Anybody who's anybody who's
Fair enough.
It's too noisy. They've got concrete walls. Sound just sound is 90% of the recording. If you can't get a good sound recording.
To go along with the visuals, you just said, well, forget it.
And I have seen it done right. Groups which are sponsored by some corporation consulting firm And they've got an AV staff who were there with you know handheld mics they run around the room they have cameras they aim appropriate yeah so yeah if you have a production staff it helps
But we need just another notch of volunteer effort to make it Quality.
And they do have anchovies. And they do have anchovies at Nick and Elena. That's, of course, the important question.
Okay. Let's see. Anything else we need to speak about?
Have I missed anything? There's some entries.
This bye-bye windows uh publication is freely available across the internet.
You can do it. Just a Google search on the title, buy-bye Windows 10, and it'll lead you to the the PDF. It's available on Amazon as a paperback for $11.95 and Amazon Kindle item.
Or you can just get the free PDFs. It's a very helpful publication. Half of it talks about how to buy a new Windows 11 capable machine if you need to or Get something for free. Call when… Not Windows, but Linux.
Whatever. Boop, boopy-doo.
Obviously, in the next five months. Is all of a sudden going to be a flood of previously owned hardware, which is going to be sitting there looking for a new operating system. So everybody tie a knot, hang in there.
We saw our calendar.
Okay. If there's anything else? Oh, so we have some mailing lists uh the announced mailing list.
Very small traffic. It's usually only stuff like there's a meeting Wednesday night. Here's the topic. Here's the time. Here's the information.
So it's… Not for long discussions just for alerts announcements.
The discuss list, on the other hand, is the exact opposite.
Somebody will post something out there and say, does anybody know how to do this?
And you might get two dozen answers within an hour of posting it out there.
You may see nothing for a day and then maybe somebody posts an answer maybe another person So it all just depends on You take your chances. That's open to anybody who'd like to be audit you can post it on. The announce, we monitor the announcements so somebody can't flood it with spam so uh
You're certainly welcome to send an announcement and our editor will look at it and approve it for sending out to everyone. The steering committee, if you like seeing sausage being made That's what our steering committee does. We try and figure out how to run these meetings, how to get speakers
So you can be on the steering committee mailing list and help us make sausage.
Or not. So… Like I said, you're welcome. The sysadmin list.
We run our own mail servers, our own website servers. And so, yeah, we have to have sysadmins who put that stuff together, make it work.
So luckily. Lee here is his company, Omnitech.
Is providing us with virtual machines right now to do it on.
But we still have to do the administration on it. It's really a good thing to do because it's really good to do It's one thing to administrate personal box at home. But when you have to do some kind of administration on a box that has
Multiple users and you just can't say, I'll try this. Maybe it'll work. Oops. Okay, I'll have to spend the rest of the day trying to fix it.
So this puts a little bit of the onus of running a multi-user system And you can always tell your boss at work hey yeah i've I've monitored a system like this, multiple uses so it's good experience so If you'd like to help administrate, please let us know.
Presentation archives. Obviously, we're recording tonight. We record most nights uh And when we do presentations.
So we've got a great archive and it's listed on the webpage so you can go back pull up old meetings and Listen, watch, learn something from old topics.
And Stan's rolling back some up there. It's really only the slug and the STL Linux meetings, the general meeting and the Linux load meeting.
The Slack and the new user log, we don't really record for reproduction so Because you never know what the topic's going to be. It's just whatever people talk about that night at those meetings.
I'd like to point out that this slide is wrong. Down at the bottom it talks about the The session we did in explaining how to use simple screen recorder if you want to use it itself I actually went back and looked at the video and it's not at the first 48 minutes. We actually moved it around.
So I'm not sure where it is. It's somewhere later in that video.
My apologies. I have to change this slide. Sorry, folks.
Okay.
Excellent.
Call for help.
Okay, as I said, after our main speaker tonight will stay around and people can do a call for, you know, just ask questions, make comments afterwards on just general topics of whatever For those of you who can't stay around that late, really hoping to maybe catch some of the other people here right now.
May have some knowledge about what you want to talk about.
Now's the time. Go ahead. Ask away. Make comments. We'll do that for a few minutes before we go to our main topic.
The offer's been made. Any takers?
Assuming. Say again.
Why do questions precede answers? It says, questions precede answers. Why does it say that?
You have to ask a question if you want an answer.
Actually, I kind of like that system. Give us an answer. We'll try and pick up the question for you. It's called Jeopardy. Oh, okay.
Yeah.
I'd say we go on to the main presentation.
Do we have cash prizes? That sounds like a great idea. So moving on to our main presentation for the evening.
Craig Buchek. Craig is a longtime member of this group. I don't really know how many years. Craig, maybe you'll tell us when he starts talking.
The… was sorely missed when he moved to California.
And remember which year that was. Was that the year before COVID, Craig?
No, it was after COVID hit. We realized we weren't seeing friends and family so We could live wherever we wanted.
So we decided to take a trip up the California coast.
Okay.
Because I wanted to move in, I always wanted to live in San Francisco My wife had fallen in love with LA, so we started in San Diego.
Is the compromise We found a place we like there, but when we got to Long Beach, we just fell in love with it.
Yeah.
It's very diverse. Good community, walkable.
We can walk to most of our friends houses And active lifestyle is really the reason we moved.
I get to do yoga. On a bluff in a park overlooking the ocean, usually a couple times a week.
So that's pretty awesome. I am turning.
However, those of us on the official Unix float trip crew miss craig uh as part of our normal summer float trips down the Merrimack River. But anyway, I guess we'll just have to let them enjoy the coast.
But with that, I'm going to turn it over to Craig.
Who's going to tell us all about tonight's topic. Craig.
All right. First, I'm trying to share the screen, so give me a minute.
Oh, as you're doing that, quick question you want people to interrupt you during your talk or hold their comments or questions?
Oh. I'd rather they raise their hand because if I don't have my headphones in, which I may need to switch between.
If you start talking, the computer might hear you and do stuff.
So give me a minute. Apparently I have to reopen um Zoom to be able to share my screen. So I'll be back in a minute.
Okay. Alrighty.
Okay, I say we all log off now. Go to a different Zoom session and nobody will be here when Craig comes back.
Oh, no.
First, the funny thing is we have had Craig speak from California. It's a zoom meeting right i mean And so here he plans this trip to St. Louis. And we were talking about, yeah, yeah, I can do some a couple of talks and they're there in st louis
Finally, he goes, wait a second, I just realized I don't have to be here in St. Louis to do these talks. We'd already planned it, so we went with it.
We see your screen, Craig.
You're muted.
But you're muted.
I lost my window. Oh, there. Okay. I restored my window to the full screen.
My camera's here. I'm looking over there. And can you see my screen?
Yes.
Yes, we do.
Okay, because I can't see it there. All right. As we've discussed, I'm Craig Buchek. I used to live here in St. Louis. We're visiting for a month.
Because our landlord sold their house and I'm looking for a job and not sure where I'm going to land.
So we decided to be digital nomads for a little while.
So we spent a month in Mexico. So that was pretty cool. I speak a little Spanish.
Maybe not enough, but usually enough to get by. I'm here in St. Louis and we'll be going back to the LA area At the end of this month.
So as I said earlier, sometimes I will give a talk so that I actually have to fill in the blanks or do something or learn something And I have tried to use voice to work with my computer.
And I got a new computer at the end of last year.
And hadn't really set that up. So I decided to have a little forcing function here to require myself to set that up and learn it well.
At least long enough to hopefully get by. I definitely face frustrations. I've faced frustrations last time I tried.
And some this time as well. And since I'll be doing some demos, you will probably see some of that.
All right. So today is part one. We'll be covering and next week we'll have Part two, where we'll talk about AI and coding with speech.
Why did things happen? So part one, we're going to talk about text to speech dictation and voice control.
So we'll start with text to speech. So I'm actually going to start off with the demo. Let's see if the demo gods are going to be kind.
And let's see if you can hear what I'm trying to play here.
All right. Let me know if you hear this.
Did you guys hear that or not?
No, sorry.
Oh, no. All right. Let's see if I can do something. Video. Nope.
No.
When you go to share your screen with Zoom. Down in the lower right-hand corner, there's a checkbox you have to have purchased.
Yeah, I thought I did. Let me try. Let's see if I can. No, there's not.
Share the sound. That might…
Let's see screen sharing, edit. Sure, sir. Okay.
Share it. Okay, now that's my password.
Let's try again.
All right. Actually, you might want to turn your volume down a bit because this guy is a little noisy. I don't know if turning my volume down a little will help or not. Let's see.
All right, here we go.
I don't think you guys heard that. So let's try again.
Right. Right.
Yeah, we heard it.
It sounds awful.
Then you're hearing it.
Will is a little too long. 60 days a little too high, 40 days a little too low.
Or do you prefer boy?
All right. That was Sam the software automatic mile came out in 1982.
I believe I played with it in about 1984, 85 maybe And that's what we had.
This was the first software text to speech.
I had it on the calendar 64. It also ran on the Apple II and the Atari 400, 800 8-bit series.
I'm not sure which was first. I'm not sure which one was the best.
So it actually worked in two passes. The first pass converted the text to phonemes.
So if you wanted to say, and then there was a step that translated the phonemes into speech.
And so you can actually skip the first step and manually do this the uh the phonemes. So here on the screen i've got how i i it would The phonemes for the phonemes for sam for hello, my name is Craig.
Um so There is a list of phonemes and how to So if you want to make the E sound in feet, it's an i why EH for beg So I was looking for a sole A as in made is EY. So that's why
Craig has… And a, oops.
Oh, I got that wrong. That should be an EY here.
So Craig should be K because there's no C in their phoneme alphabet And then EY.
And then the five is actually an emphasis. And this hello.
You've got a three on the EH. And just nothing on the LOW.
So that would be, hello instead of hello So you could actually put your emphasis where you want So, um.
I just learned. Learn something writing this talk.
The 1985 Macintosh demo said, hello, my name is McIntosh. It's the same company that made this software.
And… Steve Jobs saw the software. He's like, Macintosh has to have that and we have to demo it the first demo.
So that was interesting. Got a link. If you hover over demo here, it's the video. And if you do the 1984 Macintosh link.
It will take you to a story about it.
What else did I want to say about that? So the company sort of still exists. Oh, the other thing I want to say is that this implementation here.
Is… basically a port of the technology It's been ported to, I believe.
And or Python and this one's been ported to JavaScript, so it runs in the browser.
So there's link to source code for that. All right. So what is text-to-speech good for?
Reading some text aloud. Accessibility, if you're visually impaired, you might use a screen reader.
Apple has something called VoiceOver. I believe in the Somewhere around 2000.
Eight or so. We actually had someone come talk to our Legacy user group about using a hardware screen reader.
He was completely blind. A big time Linux user.
And it was amazing. He actually had the the speed of the the speed of the text-to-speech turned up to like seven or eight times normal.
Pretty incredible. Um.
So we also have voice assistants. If you talk to Siri or Alexa, whatever.
We'll talk back. So that's using some sort of text to speech.
If you use navigation in your car, the turn-by-turn navigation is text to speech in you.
So you don't have to look at the screen the whole time.
Audiobooks, a lot of those are generated now using text-to-speech. And then we've got automated phone systems, IVR, interactive voice.
Response, I believe that's that is. So a lot of uses of text to speech.
Modern uh text real-time translation apps will actually You can speak to them and they do the translation and it actually reads the translation back so you can have a conversation in real time.
Just your voices and an app like Google Translate and Apple Translate, I believe.
Voice cloning, which we'll actually talk about in part two more.
An interesting thing about that is there are some people that are unable to speak.
But they are able to sort of make some vocalizations So they've been able to record those people's vocalizations and use text to speech to give them a voice that sounds like them.
That's pretty awesome. And then there's multimodal generative AI. You can use AI to write text, to write code.
To generate images. Now they've even got movies and you can actually generate voices to go with the movies.
So Sam was the state-of-the-art in 1984. So now we're going to take a look at what is the state of art today.
Or at least what my Mac comes with. I'm going to turn on.
A feature called Live speech.
Hello, Slug, nice to be here.
Okay. Close. Closer than a lot of things. So I turned that off. That wasn't… That was a very short demo.
And then there's spoken content. Let me see. I've already enabled that.
So when you enabled this If you right click on something, you get the speech menu and we can
Mac OS spoken content.
Another thing I will show you is that you get to choose different voices.
Let's see, that is under accessibility. Spoken content, voices.
So if I click here, I can actually change different voices And you can test them out.
Isn't it nice to have a computer that will talk to you?
Still sounds kind of robotic. So I looked at like the enhanced and the premium versions here So Allison enhanced sounds pretty good.
Hello, my name is Allison. I am an American English voice.
Hello, my name is Ava. I am an American English voice.
And then Ava here on the premium.
So the interesting thing is we can actually You can use Siri voices.
Hi, I'm Siri. Hi. I'm Siri.
Hello, my name is Stephanie.
Oh, that's interesting. I forgot about these.
What's your idea.
All right. Also, there are different countries. So here's some South African voice.
Hi, I'm Siri.
That didn't say much. Matilda, that has got to be Australian. Let's see what Matilda sounds like.
Hello, my name is Matilda. I am an Australian English voice.
So you can actually hear the accents. So pretty cool. There is a way to add pronunciations. So computers usually say my name wrong.
So let's try that again. Let's go in here.
But check. Not right. So I try to make it right.
Craig Butcheck.
So you can create, there's pluses and minuses in here. You can type the text and then you create a substitution which you say the word I wish it would allow me to put sort of a phonetic spelling Craig, oh, no. So the thing is, it's not recording. I haven't been able to get this to work so
A lot of frustrations sometimes getting these things to work. This is built in the OS and I can't even get it to work.
No idea what's going on there.
Okay, turn that off.
All right. Okay, we've already demoed that.
All right. So text-to-speech is kind of nice but uh it doesn't take a whole lot of effort. We were pretty good at it in Well, I'm not pretty good at it, but we were decent at it by probably the turn of the century.
But dictation is harder. So dictation involves speech recognition And voice input to text. And it's part of a science called natural language processing abbreviated as NLD.
So speech recognition involves a speech recognition engine and speech recognition models And honestly, I haven't been able to figure out the difference. But I've listed some just for reference and to talk about them a little bit.
So when you're doing speech recognition, you're going to have a language so you're you You're going to have to have your German and your English is going to be completely separate models, maybe even separate engines. And they're definitely going to have a different set of vocabulary.
So when you are so when you are trying to do speech recognition, you really need to sort of have an entire dictionary of the language what what words could be spoken Because it's not really able to Well, especially with the English language
If you say night.
I mean, it's hard to know if that's NIGHT or K-N-I-G-H-T.
So it's also going to have to use context with that vocabulary.
So when we look at speech recognition, you're going to have accuracy, which tells how many words, like what percentage of words are correct, correctly interpreted?
And… We're usually in the mid to high 90s, depending on the system.
One of the things with Accuracy is speaker independence. So if you've trained the system with your own voice, it's going to be much more accurate than if you're just relying on A speaker independent set of models.
So it's much harder to get much harder you know have a hundred thousand words from speakers that have a very deep voice.
That have a high voice, that have high voice a strong accent or no accent, which is what I claim to have, right? We all claim to have no accent, right?
So that becomes a lot more difficult. So speaker independence is one of the research topics. We'll get to that a little bit later.
So there's also the speed. There's two things. There's the speed of you know how can we do the translation from voice to text Can we do that in a reasonable amount of time? Or do we have to send it off and wait a day?
So if it's too long, if it takes you know If it takes an hour or two recognize a minute of speech, then we're going to have to use that in a background task or batch jobs.
But hopefully nowadays we pretty much have it about one to one Probably a little faster than that, but there's latency. So latency means, okay.
It can translate an entire you know, set of recognized words, but it's going to take a while to take a while to finish the job and get the answer back to us.
And a lot of systems actually are going onto the internet to do this. So they will send the sound.
To a service on the internet um like AWS, Amazon, and get the answer back.
And one of the reasons is that Amazon has a lot better AI hardware than you have on your computer Although Apple's modern hardware is is probably pretty close and it's sufficient for most things.
I'm not sure about other CPUs. I haven't really used intel For a long time.
And most of the ARM systems are pretty underpowered at this point.
But I suspect that the state-of-the-art ARM CPUs on Samsung devices, they're probably pretty close and able to do that on device probably.
So some recognition engines CMU Sphinx has been around forever. And I actually have a separate slide on that.
Openai came up with a system called Whisper. It's pretty popular.
Mozilla has something called deep speech Mac has voice control, which I'll demo later.
And Facebook AI has another one that's freely released. It used to be called Wave to Letter.
That was called Flashlight ASR. Got links if you're interested in those.
Pico Voice. I looked up PicoVoice and they have a free system. I'll just go to their page here on pricing. So you get the free one that doesn't do a whole lot, or you spend $6,000 a year or $30,000 a year.
Okay, it has to be pretty important for you to be spending that kind of money.
Amazon Transcribe. I don't know if I ever clicked on this link.
So this is another one where it sends off to the internet.
Let's see what pricing is. Of course, it must have just chat with me.
And it's not, of course, not going to really give you any numbers, is it?
Here we go. So two cents a minute.
Roughly. One to two cents a minute. I don't know if that's too bad. That's probably pretty good, but you have that latency of sending it off to the internet and getting the answer back.
Ibm Watson has a recognition engine. Ibm Watson pretty much has all the AI things, I think.
It's one of those branding things, I think, that I would say we're going to call it Watson.
Google Cloud has a speech and text. Microsoft Azure has a speech service. And I'm not sure what the difference between Microsoft Dictate is and the Azure Speech Service.
I haven't really looked into that one. So Sphinx, I think I came across Sphinx in Probably 1999.
Maybe even before that. It's the first time I saw something and it was, I think it was on my amiga I don't know if I had a… a Linux box he had at the time.
But I'm like, okay, this is feasible. Maybe I can actually get this running but Honestly, it's still hard to get a lot of this running. And it was more work than I ever spent the time on. So the original version was 1998.
The current version is Sphinx 4. It's written in Java. And then there's a pocket sphinx that's for Android.
And so that came out of Carnegie Mellon University. Actually, I'm going to hit this. I believe this is a paper put these links here. Speaker and opinion, continuous speech recognition.
Which is which is I wonder if they tried to make an acronym out of that sort of. So that paper was in 19, oh, that was in 1988.
So, yeah, I was thinking it was thinking it was earlier, I think it was still in college so it had to be like 91, 92, maybe 93.
When I encountered Sphinx, when I still had an omega. So just a website, frequently asked questions.
It talks about accuracy, things about that. 20 years of cmu research and a VSD-like license.
So that's a pretty solid answer.
But the speech recognition engine is just one part of of what we're talking about here.
So recognition models, again, I'm not sure if these are technically models or engines Conformer D is one that comes from Talon. I guess it was an open source version because there's a non-open source version sold by this company.
And I'm pretty sure they will they will like to charge you a lot of money as well.
Oh, that's not too bad. $12 an hour. The 12 cents an hour.
I found this German one called Vosk that uh that was mentioned by talent.
It said that he competes with talent, but I haven't found anything that actually allows me to do that. A couple more free ones called the Xamia julius
So Mac OS comes with dictation built in. In fact, it's the same dictation system in macOS.
Ios and iPadOS. So I am going to switch over to a notepad.
Put the headphones in.
So what did i say I've set it to when I press the control key twice, it should start dictating Until I think I hit escape or hit control twice again.
So…
All right. Let me go back to settings keyboard.
Settings, keyboard. This one's not an accessibility It's very confusing trying to figure out if they're under accessibility or not.
Some keyboard. Dictation. Dictation is enabled okay Turn it off.
Turn it on. Okay.
Press control key twice. All right. Let's see.
I want to demo gods. Okay, I just started working all of a sudden.
All right, this is a test.
This is only a test. In the case of a real emergency.
Scream and shout. All right, that's doing pretty good.
What a radical idea. Hey, uh… Craig, you're getting a little muffled like you're not speaking into the mic.
Yeah.
Maybe my hair's in the… Great. Let me try some settings.
First, let me turn that off.
Who's this guy?
Noise control is off. Let's try noise cancellation. All right. Is that better?
Hello, brother.
Well, that's weird. Now I don't hear you coming through.
I think you have to turn off the automatic mic control, automatic level control And then turn it up manual.
Where's that?
Right where in the page that you were just on.
Audio.
In here or control. Bluetooth?
No, it's in your Zoom settings.
Sequences.
Oh, Zoom settings.
If you hit the little carrot next to the microphone on the bottom of your Zoom window and go audio settings.
Right, where it says mute, hit the little up arrow Next to the mute icon on the far left Lower corn.
Dusty, how about now? Okay.
Yeah, it's better.
Great.
All right. All right, let's… All right. I think that demo has probably been demoed.
All right.
All right. So dictation is dictation is is more difficult than text-to-speech, but going even further is voice control.
And in my abstract, this is what I talked about. This was kind of the dream even as far back as Like I said, 1987 i think And then I kind of saw something in the early 90s that I thought I might be able to try and I never really did.
It was until the 2020s or late 20 teens before i actually got some of this working.
So voice control allows you to use the commander system, give it system commands, control your applications.
Hopefully you can do some custom commands and hopefully it makes you more productive.
Although I have to say sometimes it's just made me more frustrated.
So that's why I'm giving another try and trying to see if Mac OS's built-in voice control is… better or if using Talon is better.
And I will actually demo both of those. So let's go enable some voice control.
All right.
Down here, accessibility. And it's under motor control.
I guess if you have difficulty speaking, it's more of a motor problem than a hearing problem.
I guess that kind of makes sense, but it's a little weird. All right, so… Let's see. Oh, it's on.
Okay, I talked about vocabulary before, so you can actually add custom phrases.
Who check.
So I think that will actually, maybe that'll actually work So I'm going to go in here.
Dictation mode, boot check. All right, not working.
Right on. Dictation mode.
All right. Try that microphone.
Dictation nerd.
Well, that's not going to get me very far, is it?
Let's see if there's any of these turned on. Nope.
All right. One of the things I found is The sound.
Input levels So, oh, yep.
Here, it's put this input level way down at the bottom there.
So I'll do both of these. Somehow they always get put down there and I don't know why.
Can you guys still hear me fine? Okay.
Yeah.
All right. Buchek.
Food check. Hey, it got something right for a change.
Didn't get that. Nope. Yeah. All right. Go to sleep.
All right, that's really bad that go to sleep isn't working.
Um… I'll do some help things here.
Health commands. Show commands.
I'd have to keep toggling this. Oh, it's start listening and stop listening. So one of the problems I have from switching to the built-in macOS And Talon is some of the commands are different.
So in this one, it's start listening.
Help commands.
All right, I'm going to have to flip over to… get some help on what I want to demo here.
All right.
Back on. Start listening.
Go grid. Undo that.
Go grid. 55.
Click 18. Stop listening. So what I did there is this grid lets you narrow down where you want to click the mouse.
It's a pretty cool system. There's also a few other ways to do it.
Start listening. Still numbers.
11.
12. Stop listening. So if you saw the cursor removed to where I clicked.
Show numbers. No numbers.
Start listening. No numbers.
86th.
Their numbers.
48. Stop listening.
Okay, so that was… the grid and numbers. Also got show commands here, which is kind of nice to have.
I'm a voice control comes with three different modes, command mode, dictation mode, and spelling mode. So I'm going to show each of those.
All right. Start listening.
I'd numbers. Dictation nerd.
Let's type some text in. Period.
New line. I can say things like I'd members.
Or showed numbers. Or show grid because I'm in dictation nerd.
I can mix typing with speaking.
But because I'm in vacation mode, I can't say things like.
Undo that.
Command mode. Undo that.
And do that.
Spelling mode. Abc, one, two, three.
Abc.
A lot of latency there, huh? Stop listening.
So this is my main problem. If it's not going to get it 99.9% of the time.
I'm going to be fighting the system instead of taking advantage of the system.
So let's try the spelling mode again. I think that's… can be useful.
Start listening. Spelling mode.
Abc. Underscore three.
Alpha Bravo Charlie. Oh, it's not listening.
Start listening. Start listening.
Felling mode. Alpha Bravo charlie.
A, B, C.
I wonder if it's having trouble with C because it rhymes with everything.
Alpha bravo charlie. Comma. Base.
Is space DHAT base ALL question mark.
Stop listening. I don't know why I didn't get the spaces.
That's one reason it's really helpful to have keyboards. So I really get frustrated when I'm on my iPad or my iPhone and like it's it's too hard to edit this your fingers and touching everything.
So having a real keyboard and doing this isn't that awful.
Stop listening. All right, what else did i want to show Oh, I'm going to do some moving around.
All right. Start listening. Command mode.
Click edit menu.
Click edit menu. Click edit.
Eight.
Click File.
One.
Stop listening. It's a little sluggish. We can also click buttons. They don't want to hit the trash can.
And I don't know the name of that one. Oh, I can… No names.
Format. Quick format.
Click format.
Stop listening. Not very good at that.
So if I'm in command mode, I can actually tell it to type and and sent letters.
This phrase. Let me try that.
Hello, everybody. Hide names.
Click format.
Two.
Quick format. One.
One.
Type ABC.
Type 1, 2, 3. Smiley emoji.
Type smiley emoji.
Stop listening. Yeah, the funny thing is i Pretty sure I got that working earlier today So don't know. Don't know what's up with that.
Okay, I'm going to try to do some editing here. And these are things that I think I'm going to have to read because I don't know many of these.
But they get a little bit… they get interesting, they get kind of complex.
Okay, I'm going to start up here.
Extend selection, two words. Select two words. Nope, I'm not on.
That's the other thing. I don't know if I'm listening. It's listening or not.
Select two words right.
Like a word. Command mode.
Select two words.
I like the word right. Select this as a test.
Those should be working.
Also, and I think maybe Maybe the screen sharing is in the way.
But it usually shows me
Up on the screen what commands it is listening for or has heard I'm going to try to find that again.
Go ahead. Yeah.
Should be.
Text. This is fine.
So good.
I'd grid.
And so everybody after all right.
Replace all right with okay. This demo is going great, isn't it?
Command mode.
Select Chuck Norris.
17.
Place with Bob.
Replaced Chuck Norris with Bob.
In fact, this is the test.
Capitalize that. Lowercase that.
Quick quotes around that.
Select this is the test.
Two. Extend selection two words.
Delete that.
Delete the Press delete key.
Stop listening. Okay, that went… Okay, maybe.
So that's part of the frustration of of using these systems.
They work when they work, but when they don't work, they can be very frustrating.
All right. That is everything I want to show with Apple voice control.
So next I want to talk about talent. And I think this is the one that y'all are probably more interested in.
So Talon is free. Though there is a premium Not really a version, but I'll talk about that in a minute.
It runs in Mac OS, Windows, and Linux. Obviously, I'm running macOS.
It's written at least partially in Python. You actually do some configuration in Python.
And I think I'll get into some configuration. So it's free.
Except if you… pay the Patreon monthly fee. You get access to features before Other people, you get access to a Slack channel where you can talk to the maintainer.
I believe he is… Just that this is his full-time job.
So it is nice that he can make a living in this. I believe he had RSI.
So he couldn't type anymore so So this is Talon here.
It has… feature recognition, but also has eye tracking. So if you have serious mobile control issues you can You can use a mobile tracking, eye tracking i don't know how that works. I haven't tried that yet.
I think it probably works just with the built-in camera, but I'm not sure.
And… configurable. It's nicely configurable, like a good Unix person would enjoy, I guess.
Let's see. So… It's from Patreon.
I get access to some more speech recognition It calls them engines. I don't know if they're engines or models.
So with… Without pain, I believe you get conformer see from 2023.
And you get conformer. B108 from 2021.
So I believe all these others were ones that I got access to once I subscribed.
So as you see, they're pretty new. I haven't decided if… Conformer D or conformer D Conformer D with Whisper. We talked about Whisper, the one from OpenAI. It's a popular library that uh a lot of apps are built on actually.
I actually meant to show like an app that does dictation, but within the app itself.
So conformer D plus whisper and conformer d2 I haven't quite decided which one Is it better? Probably the nearer one, but it's interesting that The whisper one is the whisper one is still there. And a premium.
It used to have the other engine running called wave2letter I don't know where that one went.
Okay. This Talon website is Honestly, not great. But there's this talent community Oh.
That's the one I thought it was. Oh, yeah. So it's the wiki.
So the wiki is a lot, that's a lot better information.
But there are quite a few broken links
So if you want to… see the microphones and eye trackers.
Their speech engines. Ah, so here's Um.
The engines and if they're free or not. It says there works in Dragon, but that's only on Windows and it's pretty expensive.
Um… And then it talks about Vosk.
I can't find anywhere where it tells me how to make that work.
Norweb speech. And I think it says voice Mac control engine is supported But I haven't found how to enable that. So a lot of this information might be on date.
But there's a lot of good things in here. There's a lot of add-ons that you can get. So this heads up display, I haven't tried any of these yet.
But it tells you what it's doing. I did try.
I did try. Nope. Next week, I'm going to… work with cursor lists. I have done networking before so It's very interesting, although I'm probably going to show someone else's demo instead of mine because he's really good at it.
Paris is very cool. I haven't, it seems like it requires a lot of requirements.
A bunch of Python packages. And… So what Parrot does is It enables not just speech recognition, but you can do things like
So you can make sounds and chirps and clicks. And um A lot of people use that as the stop and start.
So. I have. So the built-in start and stop are wake up.
It's not working. That's the enabled.
Okay.
Actually, I'm going to put it back to sleep here for a second.
So it has three different modes. Yes, command, dictation, and sleep.
It doesn't have a spelling mode, it does have some ability to spell.
That's at least a little awkward. But I will cover that.
All right. Let's go find mine.
Where I am in the presentation. There's a Slack you can join. I'm on there.
Here's the speech engines that may or may not be available.
User files. So this talent community is different than the wiki one.
So this is a community set of scripts. For configuring Talon.
So out of the box talent actually doesn't have a lot of configuration.
And this is basically somewhere you download all the the community supported options. It used to be by someone named kanas J.
And I think we already saw this where things you can things you can add on.
Quite a bit there. Just one.
But anyway, let's close that out. And get back to, I think, Randy.
So just say they have some specialized user files that you can add for mouse movement, web browsers, UI navigation.
It said, Vim, I never did find the one for Vim.
There's one for text snippets. There's one for Mac OS accessibility APIs that helps you navigate menus quite a bit, and cursor lists for navigating VS Code.
All right. Let's wake up.
Great. Let's try.
Help active. Nothing's working. Let's see.
Turn off voice control maybe
Okay, let's turn off dictation if it's enabled. Keyboard.
Dictation.
All right. Go to sleep.
All right, I'm going to put in and restart. It could be the microphones may have reset it themselves again.
Or I can try switching between the two microphones.
Wake up.
Test, test, test. Test, test, test.
Hello there.
Dictation mode.
Oh, no microphone. Well, that could be the problem. This is a test.
Ah, it nicely punctuated for me even.
Period. Not that time, though.
Smiling emoji. Smiley emoji.
Go to sleep. I'm going to try to, oh, it's interesting.
When I said go to sleep, it's actually Showing me like a… an overlay of it said go to sleep except to some of my other monitoring, I don't know how to move it over there.
So it's a nice little indicator of what's going on. Great. Let me get to this window. I have a lot of windows going on here?
Right. Help alphabet.
Wake up. Help alphabet.
Alphabet. Command mode.
Help alphabet.
All right, so I put that on the other screen. I know a lot of you like to say.
Oops. Undo that. Go to sleep.
So I know a lot of you like to use Alpha Bravo, Charlie Lee Delta.
But out of the box, it comes with a different alphabet.
Which is air vap cap So the idea is they're shorter letters, but they're distinct enough.
They're shorter words, but they're distinct enough. But then you have to memorize that set of words.
So I'm actually going to open up my, okay, where's that at?
I'm going to open up my talent files.
Right. Open.
Shape files, talent.
Okay. So here I have my user settings and the community I believe this is under core.
Oh, I forget what it's called. I guess I can find the How do I find a file?
Jeez.
Okay.
Okay. So somehow I've secured this up.
But here's the original list. Air bat cap, drum, each, fine, gust harp.
So I did change a few of them. Searching bat to BATT. I'm not sure why.
And I changed sit to ink. These are some suggestions. I also tried to go to my own I've got my own settings that are supposed to override theirs.
But it hasn't been working too well So I'm trying to do Alpha Bravo Charlie.
But somehow that's not working well.
The other weird thing is Like, why can't I use two different sets? Why can't I use alpha You know.
Air. Why can't i use Bravo or VAT. So that's something I haven't figured out now yet.
But I'd like to have the option to use alpha or air to to enter letter A.
And the letters are actually pretty used in quite a few places when we talk about cursor lists next week Like it'll mark things with, you know.
If you say A, you go to this word. If you say B, go to that word.
So these are pretty important, more important than you might think. They're not just for spelling.
Which is maybe why… There has to be just a one-to-one mapping. I haven't figured that out yet.
I added these, so if I say hello and if I say blog, it should actually print those things.
So I'm going to try that out.
Wake up. Dictation node.
Hello. Plug.
Go to sleep. All right. That's working. What else did I want to talk about?
Right.
Help symbols. Command mode.
Help symbols. Help symbols.
What else do I got? Help format I couldn't much. Is it on?
It is not on.
Of symbols.
Go to sleep. So as you see here.
The symbols actually have more than one possibility. Um so Some of them are pretty interesting.
Actually, they're not as interesting as the ones I was looking at yesterday.
But it's even got bang. You know, that's a pretty common Unix expression for the exclamation mark.
It's got BRAC. You can use brack for brackets. Square for square braces.
That's pretty interesting. It also has round for parentheses. Hopefully I will get to that later.
How do I get to page two? Oh, next.
So pretty standard stuff there. All right, close.
Right. Help format
Break up. Help format.
Hamel that.
Kebab that. How scaled that.
String. Undo that.
Bring that.
Quote that. Yeah.
Craig, is there another window that I'm missing? Because I'm not seeing… your commands are the results.
Uh…
You're seeing the pages there's just some text Okay, now I'm seeing some code.
Um… So I was down down here.
Can you see undo that?
Okay, there's some. All right. Thank you.
Kebab that.
Sentence 1, 2, 3.
Type 1, 2, 3.
Type 1230.
Is there some kind of cursor highlight or cursor tail?
Um… It's pretty faint orange. You probably can't see Maybe if I zoom Oops, undo.
I don't see it.
Go to sleep. That's really where I need to put it like a to turn it off and remember how to use it learning how to use that is going to be kind of tricky let me Let's see if zooming helps.
This is…
I have a… a conflicting. Can you see a yellow orange cursor blinking yet.
So to be this color. It's right after the dash now.
Yeah it's pretty visible, Craig although being a single line like that, I can imagine some people might have a problem seeing it.
Yeah. All right. Let me try zooming one more. All right.
All right, let's see. Command mode dictation. Okay. So if I'm in command mode I can actually get it to dictate if I start with say or sentence or title or kebab, I believe.
So we're going to try that.
Wake up. Hello, everybody.
Why are you not working? Sentence, hello.
Maybe it's…
Say hello. Say hello, everybody.
Kebab that.
Kebab that. During that.
Think that. Snake my variable.
Quote, one, two, three. Quote.
Title, this is my title Title.
And since this is my title.
Dictation mode. This is my title.
Title that.
Command mode. Title that.
Title that. Undo that.
Redo that.
Go to sleep. So next I'm going to do the mouse movement. I did that with the The built-in MEC one I'm going to do with talent And I believe it has the grid. So I'll try to show off the grid.
Wake up. Command mode. Control mouse.
Oh, of course.
Writes 20 pixels. Undo that.
Command mode.
Control mouse. Up 20.
Write one.
I lost it not seeing anything.
Can you see slug? No?
Yeah. Yes, yes, yes.
Okay.
Very irregular.
Huh. I don't know if that's because the seasonal cpu or because it's It's… go to sleep.
Through Zoom.
So it's using a lot of video Especially when I go into mouse mode, it actually has to go into like the accessibility features underneath the Dewey?
And it also has to like track the mouse
All right, let's see what I can do. Command mode.
Dove click. Wake up. Command mode.
Dub click.
Go to sleep. That's interesting. It double clicks where my mouse is and I was thinking we would double click on what I had highlighted the cursor so i had highlighted the cursor I'm going to move my mouse doors are punctuated here.
I don't know why it's underlined. All right. Wake up, command mode.
Wake up. Command mode. Dub click.
Righty. Mouse grade.
I grid. Grid off.
Okay. Oddly enough, it put the mouse screwed on the uh the wrong screen.
Mouse grid.
Three. Miles Grid 3.
Okay, that's not working at all.
Focus chrome.
Grid off.
We're now seeing your slide.
Yep, that's because I did focus Chrome.
Go two words right.
Tale. Head.
This is the beginning of the line. Period.
Tail. Now I'm adding to the end of the line.
Go to sleep and heard that as new line, new line.
The tail takes me to the end of the line. Head goes to the beginning. You can also say things like go line start.
Wake up. Command mode. Go top.
Go bottom. Go up 12.
Go up 12. Go up 12 lines.
Go 12. What is it doing?
Go down three.
Go three down. Go three up.
Go 12.
Go page down. Page down.
Go way down. Go way up.
Find it. Beginning.
Beginning.
Chuck Norris.
Next one. Next one.
Delete that.
Ah. File, save.
Indent. Intent.
And gents left.
Unintended. And dent left.
Navigate comma.
Navigate left, Chuck.
Navigate, maybe.
Big word neck. Something is not working here.
I'm going to try the AirPods again.
Word, neck. We're free.
Undo that. Word free.
Word neck. Word neck.
Go to sleep. So neck is supposed to be next Somehow it's an abbreviation.
But it looked like it was selecting the word, the next word but then I don't know what was happening. It seemed like it unselected it right away.
Um… All right, let's do some of this.
Copy that up three.
Paste. Paste that. Oh, I didn't start it back up. Wake up.
Copy that. Go three up.
Paste that. Space.
Type here. Whoa.
Command mode.
Select that.
Select next word.
Call that air bat.
Health modifiers.
Command mode. Health modifiers.
Press shift three.
Press function.
Press shift right twice. That doesn't work in that manner. Let's see.
Press right-shift twice.
Press Enter.
Press Globe. The globe key is something on the globe max that's supposed to pull up a Let's pull up oops
It's supposed to pull that up. Which is my character picker.
Bama. It's supposed to be a character, a comma and a space.
Poop emoji.
Emoji happy.
Dictation. Air bath cap.
Emoji poop. Poop emoji.
This is not going well.
So what was the poop emoji intended as a comment there, Craig?
Go to sleep. It's actually part of what I was trying to demo.
I think it worked the other day or earlier today or yesterday.
I should have been clear on which mode I should be in.
But… Yeah. Like I, I, yeah.
I'm going to try some like i'm reading off what I had written when I tested this out the other day.
So I'm going to try some more here.
You know what? I'm going to try to I'm going to try a different recognizer.
Let's try this guy here, the newest fastest maybe.
Emoji poop. Emoji poop.
Emoji, poop. Emoji thumbs up.
Emoticon laughing. Command mode.
Emoticon laughing.
Emoji poop.
Emoticon, sad.
Round that.
Command mode. Round that.
Oh, nice.
Ah. Box that Diamond that.
Win that. Quad.
Quab that. Quad that.
Being that.
Back kick that.
Go to sleep. So that is some settings that I did myself.
So these are kind of the built-in ones. And I added these delimiter pairs I can say.
By default it was round that. And I could say parentheses that or Bingo quotes.
But I added some more aliases for the built-in ones. One of the reasons was When I was saying Charlie, it was hearing curly and putting these curly brackets around things.
That didn't work very good for phonetic spelling. All right, let's see. Since that's working, will it work again?
Emoji poop.
Wake up. Dictation mode.
Quad that. Command mode.
Quad that. Emoji poop.
Modican sad.
Optictation.
Help dictation.
Dictation mode.
There are two people.
Owns that.
Command mode. Bones of that.
Choose two. I'm a phone that.
She's three. I'm going to phone that.
Choose one. Go to sleep. So phones built up a homophones list.
Oh, I can also view Wake up.
Bones, three word left.
Command mode. Bone's three word left.
Go to sleep. That's supposed to go three words left and show me the homophones for that.
Command mode, insert date. Wake up. Command mode.
Insert date. Time step.
Timestamp insert UTC. Hey!
Quick question, Craig. Are you seeing somewhere on your other monitors what mode it's in and that kind of thing so you can follow what it's doing?
Go to sleep. Yes and no. When I say… Did it go to sleep?
When I say command mode, it shows me, it says command mode But it doesn't.
Like it doesn't persist. It only shows me like the last thing it's heard So when I said.
Timestamp what was it timestamp and serve UTC. Like it literally put the words timestamp, insert utc And then it inserted this here.
So basically, you've got a command list somewhere that you can see that we don't
Yeah. I mean, it's showing me what it heard.
And sometimes it's not hearing anything and sometimes it's hearing the wrong thing.
Okay.
Okay, let's do let's do Something that the Unix folks here will appreciate at least.
Right.
Lisa. Wake up.
Lisa. Katie up.
Katie Craig Bucheczyk.
Disk-free human.
Disk free human Dane Joner.
Command mode. Change owner.
Change owner. Change owner.
It's not understanding me.
Go to sleep. I'm going to try to restart it. I feel like that has worked before.
Break up. Command mode.
Ssh. Do their SSH.
Dictation mode. Ssh.
It's not hearing anything.
Lisa.
Disk rehuman.
Or human.
Word count lines.
Help app. Help app.
Up. Down.
Word count lines. Word count lines.
Make deer. I don't know if I screwed something up or what.
These were working like make here I'll go back to the presentation.
Hey, can't screw anything up when you make beer.
So go to sleep. So Lisa is list or LS basically. This is CDF. So Katie is cd Just for human should be a df-h Change owner should be shown, C-H-O-W-N-s because it's hard to get it to understand the word challenge because it's not a word.
And Chamad as well. Recursive there. Mictor PWD, actually.
This is sort dash h You can say pseudo.
But, you know, you have to give it the real word.
This would be TR, this would be unique UNIQ. And this would be WC-L.
So it's weird that it's weird only one of them is working. I had a lot of trouble. I don't know if I ever got disk free human to work, but I know I had most of these working.
At least yesterday. So I'll just go through.
Um just go through some of the things I tried to say.
So if you're in dictation mode You should be able to you know, say, well, you don't even have to be in dictation mode. You should be able to say a phrase sentence and a phrase or one of the formatting commands like kebab or title and say the phrase and it should
Enter that phrase potentially with a title and formatting. Or a title case and formatting.
We did some of the mouse demos, but it didn't work very well.
Most of this worked pretty good. Oh, it can do a dialogue. You actually have to say, yes, I'm sure.
To say yes to a dialogue. And then last is not what's not working.
I didn't really try to navigate, but the big word and small word. So big word is It includes like dashes and punctuation where a small word does not Which is kind of important If you're coding, where sometimes a big word would be like uh
A snake case thing and a smaller would be a portion of the snake case word.
Kebab case. These are pretty straightforward. I would take those.
Yeah, so yeah, all these were working yesterday
So I actually have Press shift twice.
So that actually pulls up in VS Code, I have it set to pull up the command palette.
And actually I have something else that i have something else
I guess that's…
I actually have command palettes in pretty much every app with this little app with this little aptly called Palatra.
This was… Like adding parentheses, shared both of those off.
I showed the homophones. You can control media.
The terminal is not working very well You're supposed to be able to record macros. I haven't tried that really yet.
Customizing the alphabet is basically just pulling up the The alphabet list but it's in It's in the community. So the way This is set up Talon user folder.
And then inside that you're supposed to have Basically, these are each get pulled So I don't want to update this because I don't want to update this I don't want to modify anything in here because if I do, when I do a get poll
My changes will get lost or it'll have a problem. So it tells you to put them in a separate directory but then Like, which one takes priority as a problem.
That's my .talent directory. You can also do Python.
So actually, I had AI helping me figure out how to do this.
I actually wrote this paste around. And then… I think I did.
I wasn't able to get that work.
Anyway, so here's me trying to get the phonetic alphabet to work.
A couple different ways. What else we got? But there is You can actually set different commands.
Four different applications. So like when we were in the terminal Let me show you that.
So the community has apps.
So they called it terminal
Okay, they didn't call it terminal. What do they call it?
Okay, so if we go to here. So there's a tag called terminal it says basically says If you're in the iTerm app on Mac.
Then pull in all the terminal stuff. All the user get stuff, the cube control stuff So interesting get I don't know if they did, but I actually have in my git config, my git aliases I have, when I type
First of all, I have an alias in my shell that kit is equal to get because if i'm you know speaking it's gonna it's going to it's never going to get the second one. It's going to get the first one, right?
I have to make an alias for that. And then I have a git alias.
So I do get check-in a lot, right? So, well, and here's get chicken. So I've just given up in So GetChicken is basically get chicken I'll check in.
So sometimes you have to think about that, that the words you're saying aren't going to be interpreted.
The way you think they are, especially if they're not really words.
And you can't do You can't do git check-in.
That wouldn't work because there is no, you can't alias a um you know two two word combination.
So, okay, let's go look for terminal the terminal I guess that would be under eggs.
They've got to go to terminal here. And then there's a talent file. So this is the Lisa command.
And currently it's list directories. Here's your katie. Katie up.
Oh, baby. Appears to Unix utilities.
Yeah, so none of these seem to be working, I guess.
So, you know, MD5 sum There's your make deer.
Like these shouldn't have been working. You got your rsync.
Fed. So yeah, it's pretty smart A lot of these you can figure out yourself or just kind of work they kind of, and, you know.
You could edit these and you can edit these add what you ever want or change what you want So that's config files.
Don't want to talk about that. Okay. Hey, we're doing pretty good on tech because this is the last slide.
So there's another one called Newman. That's my felony. And I don't know if this is here. I think that I think AI hallucinated that.
But there's a demo. And I'll just get it started. I don't know if you'll be able to hear it.
Of course, it doesn't want to work now. So he's got a little screencast. It's like five minutes or something and and
Oh. Thank you, man.
Did I have had it wrong, I guess, in my link.
So…
Shock one. Hash space scribe hello this is john showing off newman voice control yell yes.
Are you guys hearing that? He used the word sharp.
And he used the word yell for excavation.
Space dash very impressive program Point gestad, yes?
I could just barely hear it.
Icecribe.
Yeah, volume.
Yeah, it's pretty quiet. And I actually can't get it any louder.
But, you know. My slides are in line. I should have mentioned that at the beginning.
So you can actually of 48.
So you can actually go down to slide 48 and click on this and watch it yourself.
But that's it. It's still pretty rough, right?
It still requires a lot of configuration and fiddling. And dealing with things when they're broken.
So everything Linux users love, right? Okay. So… But… What do you mean by standards?
Are there any standards?
Like W3C schools or something, anything like that, any research standards?
That means the answer is no, Stan.
No, I mean… there's there's there's you know when i You know, one is go to sleep and wake up and the other is um start listening and stop listening you know Depending on if I'm using Talon or the Mac OS built-in one.
So cut that, copy that, paste that, and a few others like undo that, redo that. Those are common.
But… Yeah.
That does make it hard to switch between these two. And, you know, I kind of want to switch between the two to see which one i like and also there's also the fact that I use my ipad a lot
And I'd like it to be able to you know, edit and enter text with my voice but then I'd have to learn the talent for when I'm using my Mac or Linux box or whatever And a separate one when I'm using the iPad.
Or my iPhone. It kind of sucks. Honestly, I think I said in my abstract, there's a lot of things that make me grumpy.
And for good reason. And so this has been this stuff has been around for 20 years and I'm kind of surprised that it's not.
Well…
Better. You saw a lot of times it got the words I said wrong a lot of times I just didn't understand what I was saying. I think this I think this file is just plain broken, honestly.
And I don't know why.
And any feel for… why it hasn't matured is the market too small is the processing power not caught up.
It's probably been infected by YouTube videos. You know, self-made YouTube videos. That's probably why there's no standards.
I don't know. Yeah, I don't know.
It feels like talent is basically where anyone that wanting to sort of wanting to sort of configure their speech recognition like it seems to be the standard for that But if you want sort of out of the box you take the talent you take the
But the talent community is kind of sloppy too. There's a lot of things not working.
And it's hard to override and add things. Um so I mean.
There's a there's a When I clicked on the little talent icon up here and It's got scripting and it's scripting Oh, actually, when I said.
It was a command that says. Help alphabet.
It actually just opens up the um the it opens up like text editor that alphabet file in the community So it's got a hard coded URL path even So if I've overridden thermal alphabet, it goes and looks at the community alphabet, not the one that I override.
So then I'd have to override you know help alphabet as well.
And so, like I said, it's hard to get it to Like, I'd really like it to like to You know, hey, I want my own to be first.
And maybe I do that by not putting them in a subdirectory. I haven't tried that yet, but maybe that's what I need to do.
So next week, we'll talk about AI invoice and actually coded invoice and AI invoice.
So when we talk about cursor list, which is a very interesting thing and i I'm not going to do the demo myself. I'm actually going to Have you watched a demo?
I went to Strangeloop. A few years ago and I watched this guy talk about how he at his text, but not just how he had his text He actually has a grammar.
He created a grammar inside of Talon. To manipulate text, manipulate code, actually.
So that's really… He's so far beyond what I'm capable of that I'm not even going to attempt it. And I'll show you what he's doing with it.
And we can try to do some of what he's doing if we want to play around but uh Yeah, it's really impressive.
What he's done with it. But it's also really sad how much of it is is fiddly and easily broken.
Anyone have more questions?
I have a question. At the beginning, you were talking about text to voice.
Right, right, right. Yep.
You know you have written text that's converted to voice. Where do those voices come from? I mean, does somebody actually record those or
Yeah, actually, they're… I forget how do they do it.
I'm sure you can look up how serious so Siri is probably the one you can find on the internet. Like how was Siri's voice recorded So there was one one lady Who was the original Siri voice and now it's got multiple voices
So basically they have her read a list of like 200 phrases and so with all those phrases, they can pick up like the So the TH in the… But the TH in the is probably the same as the TH in thus, but it might be different than this.
Or then, yeah, yeah, then that's. Think would be unvoiced.
Yeah.
Yeah, yeah, yeah. Yeah, so it's more subtle than just like I showed the text to phonemes, you know.
Mm-hmm.
These are not very subtle. But the way they do the text to speech in modern ones is they get very subtle.
Yeah.
And so a lot of words, like short words would just be like, okay, I recorded the word the because it had having me probably read something like the quick brown fox or something.
Okay.
But then it also does a good job breaking up the phonemes into chunks and then putting them back together. So it's a lot more sophisticated in figuring out where those phonemes break apart and how to run them together.
Yeah, I noticed on a lot of YouTube videos, they don't do a very good job of doing that.
Some of them are pretty bad.
Yeah, yeah, yeah. And it's… I was surprised when I went back to Sam.
And saw how bad it was or heard how bad it was because I didn't remember it being quite that bad.
Mm-hmm.
But when I played with some of those voices in the In the control panel, the system settings like I was surprised that those aren't a little better. Like a lot of those kind of still sound very computer-y.
Mm-hmm.
And so like whatever youtube is using The YouTubers use is still pretty computer-y.
Yeah.
But we saw, like we heard There are good ones out there that do a good job.
And when we looked at that, so… I guess it was under accessibility voiceover wasn't here.
No, not voiceover. Spoken content. So these voices spoken When I looked at them.
So some of these are like Agnes is a one meg file And then Ava enhances a 240 meg file. Well, okay, that's going to be a a pretty big significant difference in you know it's 200 times as big as big
Right.
It's… I don't know if it's 200 times better, but it's definitely significantly better.
Yes.
Yeah. Well, this is all very important for accessibility issues. I know the last contract I had, I worked with, I had to work with accessibility issues on websites and stuff and It's pretty amazing.
For example. One of our training videos had a guy that was blind but he could hear And what he could hear, he could hear so fast that what he was listening to what he was listening was unintelligible.
Yeah, yeah, yeah. Right. Yeah. Yeah. Yeah. That was the case when we had someone talk to the Linux user group.
To everybody else. Yeah.
Mm-hmm.
About 15 years ago. And he slowed it down for us it was a It was a hardware reader screen reader, actually. So when he booted up, he could use the command line without getting in the GUI even.
Well, even with all its… warts on it. It's still a pretty good technology and i hope they kind of iron the wrinkles out of it.
As it develops.
Yeah, it's useful. It's useful and you know it's useful You can choose, there's a lot of choices out there now too So… Pretty much all the… all the cloud providers have a service that you can go do it.
I don't know how they don't know how they're do voices and voices and accents and all those things I haven't really looked into that but there's It's a very active field right now.
There are a lot of people working on. And that's part of the problem though too like there's so much active research that Well, this team has done this and this team has done this and this team has done this and
Right.
They're all kind of close to each other, but they all have their quirks and features.
Yeah. Well, maybe someday they'll, I'll get on the same page. Who knows?
Um… I feel like there might be a few things.
Yeah, like Whisper seems to be very, a very common base for speech recognition.
It kind of just came out a few years ago and it kind of blew a lot of the other things away.
So… AI whisper.
So looks like that. This was trained on 680,000 hours of multilingual supervised data.
So basically you've got the engine and then you've got all the data behind it.
And so when this came out and became I guess the research paper you could re-implement it. Maybe they even have a I mean, you can use their API but A lot of people have often been using the open source version.
So actually, do I have a… I may have an app.
Nope. I installed an app that was… that basically does dictation only.
And maybe that's what I need to be doing for dictation because it's so quirky.
Yeah, I've cited it. I mean, back in the day, drag and dictate was was the the leader by far.
It was a lot better than anything else. If you saw there was like 300, $400, $500.
But they got bought out a while back. I don't think, well, the Mac version
They stopped making the Mac version probably eight to 10 years ago. And I'm not sure they even make the Windows version. It's not very commonly used anymore at least.
So I think the company that bought it is more in the commercial space instead of the consumer space.
Which is sad. I would have thought that there would have thought Maybe they were too ahead in the market that people didn't want to compete, but now we kind of have the opposite problem in the open source world.
And that's kind of the the pros and cons of open source, right? You've got a lot to choose from. You've got a lot of twiddly bits.
And it takes a while for things to shake out. I think that's where we are right now is there's a lot of open free stuff.
And like AD in GNOME.
You know, there's a couple other options out there, but those are the two main ones that shook out and and They never unified. And so we'll probably end up with three or four players in the in the open source community.
Anything else? There's something in the chat.
Thank you for this. This is very interesting. Thank you.
Okay, that's good to see you. And so, Gary, you want to wrap it up?
And I will see and talk to many of you tomorrow.
Looks like a Christmas cart right there.
Okay. Yes, yes, yes. It looks like an interesting chart you have up there.
The last one here.
Wayne posted that, so I clicked on the link. Another option, nerd dictation.
Oh, good.
And Vosk model. Vosk I was talking about too. Here we go.
Yeah, cool.
This is Stan. I'd like to make a comment. Back in the late mid to late 70s, 1970s.
I went to the, I forget the exact date, it was the fourth computer conference in California. I went there. I was looking to buy a computer.
And beyond the stuff I was interested in, I thought the most… largest interest that I saw people were trying to deal with work people that were that did actual court dictations in the juries and trials and stuff like that. They were interested in
In dictation and coding and anything that could that this kind of stuff.
And I just, we haven't gone much further than what what they were interested in then.
In some ways, no. Like before Sam in, I think, 82 Everything was custom hardware.
Yeah. Yeah.
And I bet it wasn't that great either. And that was text to speech, which is the easy one So the speech to text speech recognition, it's been slow. Ai is helping.
And I guess that's what whisper is is like, okay, we use ai we've made in advance because we're using ai or large language models, I guess more specifically
That's all I had to say.
Greg Buchek, thank you very, very much. A real interesting tour of of the technology. We're looking forward to next week for part two.
For those of you who are in town, once again, I remind you.
We're going to have a face-to-face get together for the first time in uh five years. Might as well call a reunion. Yeah, yeah. We're getting the band back together again.
So it's at Nick and Elena's tomorrow night, 6.30. Um and uh Hopefully we'll see any of you in town. Once again, we apologize to the folks of you who aren't in town. We wish you could be here too.
Well, we'll have a good time for you if you're not here.
But if you need a break Yeah, that's right.
We'll have a good time for you, okay?
And if you need a ride from the airport, drop us a note.
There we go. Let's see. Spirit or Lambert.
Which airport?
Sorry.
Excuse me. Let's see, any other questions?
For Craig on tonight's topic. Or quite crazy.
No. You're going to be there tomorrow, right, Craig?
Okay. Okay. All right. So…
Yep, I'm the one that instigated it. Uh… Yeah, and I think I got six or seven people from the St. Louis tech stack. By the way, St. Louis Tech Slack is a good community.
There's a Linux channel. There's a hardware channel. There's a keyboard channel.
There's a channel just about talking about custody your hardware keyboards.
Wow. Oh, no.
The problem is it doesn't run on Linux anymore. You can't run it in the browser and the app doesn't run on Linux anymore.
No Slack on Linux?
A lot of us have to use it to work. That's weird. I wonder what people that have dev teams using Linux too.
Which the wind blows?
Let's switch them back before Windows. Come on.
Okay.
Good. Actually, that sounds like a real interesting topic that we just explore more talk about just a little bit prior to this Any other… general questions. I promise at the end we'd still Maybe devote a little time to maybe a little time
Topics that weren't germane to this evening's speaker.
Okay, well, should we go ahead and kill the recording? I guess we're going to kill the recording.
No.
So bookend is, this is Wednesday, May the 14th, 2025.
Yes.
This was the general slug monthly meeting. And our topic tonight was voice, voice to text, voice to commands.
Our speaker was Craig Buccic. Our tutorial earlier was Lee Lamerck doing the uh the proper title.
By