1
00:00:01,080 --> 00:00:05,679
How'd you like to listen to dot
NetRocks with no ads? Easy? Become

2
00:00:05,679 --> 00:00:10,519
a patron For just five dollars a
month you get access to a private RSS

3
00:00:10,560 --> 00:00:14,560
feed where all the shows have no
ads. Twenty dollars a month will get

4
00:00:14,599 --> 00:00:19,640
you that and a special dot NetRocks
patron mug. Sign up now at Patreon

5
00:00:19,879 --> 00:00:24,280
dot dot NetRocks dot com. Hey, Carl and Richard here with your twenty

6
00:00:24,359 --> 00:00:28,920
twenty four NDC schedule. Will be
at as many NDC conferences as possible this

7
00:00:29,000 --> 00:00:33,359
year, and you should consider it
tending no matter what. Ndcoslow is happening

8
00:00:33,479 --> 00:00:38,600
June tenth through the fourteenth. Get
your tickets at ndcoslow dot com. The

9
00:00:38,679 --> 00:00:43,679
Copenhagen Developers Festival happens August twenty sixth
through the thirtieth. Early bird discount ends

10
00:00:43,719 --> 00:00:51,520
April twenty sixth. Tickets at Cphdevfest
dot com. Ndcporto is happening October fourteenth

11
00:00:51,600 --> 00:00:57,840
through the eighteenth. The early bird
discount ends June fourteenth. Tickets at Ndcporto

12
00:00:57,960 --> 00:01:14,280
dot com. And we'll see you
there, we hope. Hey, welcome

13
00:01:14,319 --> 00:01:17,480
back to dot net rocks. I'm
Carl Franklin, an amateur campbell we are

14
00:01:18,040 --> 00:01:23,359
gearing up for some stuff here are
we not? This is definitely some stuff.

15
00:01:23,519 --> 00:01:26,760
The conferences is coming on again,
right, like we have here there

16
00:01:26,760 --> 00:01:30,120
and Yon it's spring, right,
you have an announcement about dev Intersection,

17
00:01:30,200 --> 00:01:34,040
do you know? Oh? Yes, dev Intersection got moved. We were

18
00:01:34,079 --> 00:01:38,599
supposed to be the second week of
May and now we're down in the second

19
00:01:38,680 --> 00:01:45,560
week of September. So we had
some opportunities there and to do some more

20
00:01:45,640 --> 00:01:48,400
announcement related things. So it was
like, hey, if we could just

21
00:01:48,519 --> 00:01:51,879
move it to September, and we
were able to make a deal with the

22
00:01:52,120 --> 00:01:55,680
MGM Grand So Teta. I know
it's frustrating for a few folks. We've

23
00:01:55,920 --> 00:01:59,640
been trying to help everyone else to
be comfortable and make it reasonable and fair.

24
00:02:00,120 --> 00:02:02,359
But yeah, I'm what it does
to the contents, Dac, you're

25
00:02:02,359 --> 00:02:05,959
gonna be really excited. Yeah,
I'm glad we were able to do this,

26
00:02:06,040 --> 00:02:07,680
so it'd be a much better show
in the fall, I think,

27
00:02:07,759 --> 00:02:13,719
so and so dev intersection dot com. Yeah, all right, Well let's

28
00:02:13,759 --> 00:02:23,439
roll the crazy music for better no
Framework awesome? Alright, man, what

29
00:02:23,439 --> 00:02:30,400
do you got right? This one
came from Appy Next alumni, those trouble

30
00:02:30,479 --> 00:02:36,479
Makers troublemakers Brian McKay, who's always
looking for new AI stuff, as you

31
00:02:36,520 --> 00:02:46,680
know. So this is a an
AI uh enabled or empowered command terminal called

32
00:02:46,759 --> 00:02:50,639
WARP. Go to warp dot dev. Great you are ol holy man.

33
00:02:50,840 --> 00:02:54,280
How about that? Huh warp dot
dev. And so it says WARP is

34
00:02:54,319 --> 00:03:00,000
the terminal reimagine with AI and collaborative
tools for better productivity, and it does

35
00:03:00,000 --> 00:03:02,360
doesn't exist yet. You have to
join the Windows wait list. Oh,

36
00:03:02,400 --> 00:03:07,759
I see you if you're on Windows. But just take a just gander for

37
00:03:07,800 --> 00:03:12,400
a few seconds at what they're doing
there in the terminal. It's like an

38
00:03:12,439 --> 00:03:15,719
animated gift for a little video or
something. Yeah, I just wonder how

39
00:03:15,759 --> 00:03:17,840
real is that? Like I could
make cool texts few out, but I

40
00:03:17,840 --> 00:03:22,639
have to go on the wait list. Yeah yeah, and get this built

41
00:03:22,680 --> 00:03:29,520
with Rust well Orsinovich approves. You
know, it's a pretty low level language.

42
00:03:29,639 --> 00:03:32,280
You know, it sort of straddles
the line a little more safer than

43
00:03:32,319 --> 00:03:37,039
C plus plus, but still that
kind of performance. So I'm laughing because

44
00:03:37,439 --> 00:03:43,039
Rust is making the news. Every
once in a while I see news stories

45
00:03:43,080 --> 00:03:46,960
that Microsoft is not abandoning C sharp
for Rust. You heard it here first

46
00:03:47,120 --> 00:03:51,400
because there was some you know,
there was just some rumors and stuff that,

47
00:03:51,719 --> 00:03:57,120
oh no, there was some c
sharp services in Azure that we're being

48
00:03:57,159 --> 00:04:00,080
rewritten in Rust. Yeah, because
you think about it from Microsoft's perspective,

49
00:04:00,159 --> 00:04:05,840
those services, the less compute they
consume, the less it costs Microsoft to

50
00:04:05,919 --> 00:04:09,599
operate, Right, we should be
thanking them. Well, they could have

51
00:04:09,599 --> 00:04:12,479
rewritten them in C plus plus,
but it would just cost more, So

52
00:04:12,520 --> 00:04:14,960
they rewrite them and Rust. And
it just goes to show you there's a

53
00:04:15,240 --> 00:04:17,839
language for everything out there, right, yeah. Yeah, and for macro

54
00:04:17,959 --> 00:04:23,560
you know, super scale cloud stuff
where you can see utilization so high that

55
00:04:23,720 --> 00:04:27,920
every cycle counts, that's worth doing
a rewrite like that. It's just funny

56
00:04:27,920 --> 00:04:30,839
how people react, you know,
Oh my god, Sea sharp is going

57
00:04:30,879 --> 00:04:34,279
away. Yeah, it's not.
There's not one language for exactly all right,

58
00:04:34,279 --> 00:04:38,800
Well that's what I got warped at
dev and check it out at warp

59
00:04:38,879 --> 00:04:42,680
speed on your own time. Now
back to you, Richard, who's talking

60
00:04:42,680 --> 00:04:45,439
to us Grady coppin te for show
eighteen ninety two, pretty recent, the

61
00:04:45,480 --> 00:04:47,519
one we did with Michelle Duke talking
about get Hub co pilot. I think

62
00:04:47,560 --> 00:04:50,800
we'll have a little AI conversation today
and so you know, get hubgup pilot.

63
00:04:50,839 --> 00:04:54,879
It's sort of the original for devs
and Aaron Morgan wrote a bit of

64
00:04:54,920 --> 00:04:57,319
a missive I'm not going to hold
that against you, Eric, because I

65
00:04:57,319 --> 00:05:00,519
thought it was very intelligent, But
he said, I really enjoyed this episode

66
00:05:00,560 --> 00:05:03,399
with Sheell's great is always and I
love the call out to jet Brain's Rider,

67
00:05:03,560 --> 00:05:06,800
as it's often not mentioned when Microsoft
Stack is being discussed. I got

68
00:05:06,800 --> 00:05:11,079
nothing bad to say about jet Brains
or a Rider. They're great. A

69
00:05:11,160 --> 00:05:14,279
large part of my works out of
soci comes from creating a solution from whole

70
00:05:14,319 --> 00:05:17,079
cloth and figuring out the problems as
I go. I'm not a developer because

71
00:05:17,079 --> 00:05:19,920
it pays well, but the fun
of it, the challenge of it,

72
00:05:20,079 --> 00:05:24,959
prompting an AI to generate my vision
doesn't have the same appeal. Although I'm

73
00:05:25,000 --> 00:05:29,279
sure went to my employer since it
means faster delivery, I feel like more

74
00:05:29,319 --> 00:05:30,839
time to be creative. Argument is
a bit of a crock. No employer

75
00:05:30,879 --> 00:05:33,399
is going to say great work or
complete debt. Piece of work early.

76
00:05:33,439 --> 00:05:36,560
Now, think creatively on something else
for the next week and stead it'll be

77
00:05:36,800 --> 00:05:41,199
here's the next task, Get on
with it. I do pay for GPD

78
00:05:41,279 --> 00:05:44,680
for and have basically used it as
a drop in replacement for stack overflow.

79
00:05:44,879 --> 00:05:47,879
I've heard that before. Yeah,
also, as I'm not great with complex

80
00:05:47,920 --> 00:05:51,800
EQL queries and the ability to describe
tables to get a full query back as

81
00:05:51,839 --> 00:05:56,800
a massive time saver, I also
use sveelt, and to Carl's point,

82
00:05:57,079 --> 00:06:00,639
I know just not to ask for
anything on sveelt because it's of the project.

83
00:06:00,680 --> 00:06:02,040
But the twenty twenty one is largely
they have no use of me today.

84
00:06:02,199 --> 00:06:06,399
Yep. But I sit here having
refactored a JavaScript function that I couldn't

85
00:06:06,399 --> 00:06:11,759
find the solution to using Google.
After dropping in the function signature, GPT

86
00:06:11,839 --> 00:06:14,959
said that I needed to use a
type alias and gave an example. So

87
00:06:15,000 --> 00:06:18,319
I've learned what a type alias is
typescript. The code is tidier and more

88
00:06:18,360 --> 00:06:21,680
maintainable, and I don't feel like
I didn't code the method. I think

89
00:06:21,680 --> 00:06:25,560
this is the crux of it.
I enjoy learning new development things, and

90
00:06:25,600 --> 00:06:29,720
this aspect of work being diminished with
AI auto prompting. Yeah, I don't

91
00:06:29,720 --> 00:06:32,079
see how it was diminished at all. I think you had a very polite

92
00:06:32,160 --> 00:06:36,519
rubber duck helping you there. Yeah. Well, the problem comes when chat

93
00:06:36,560 --> 00:06:43,720
GPT offers solutions that are old,
right, and you go and you look,

94
00:06:43,800 --> 00:06:46,879
and I just did this the other
day. It offered a solution and

95
00:06:46,920 --> 00:06:49,079
I went and I checked it out, checked out the nugat packages that it

96
00:06:49,160 --> 00:06:54,279
suggested, and they've been deprecated.
And so I said, hey, these

97
00:06:54,360 --> 00:06:57,399
packages have been deprecated. Is there
anything else? And it's like, oh,

98
00:06:57,480 --> 00:07:01,240
yes, more modern design. Would
you use this? You know?

99
00:07:01,279 --> 00:07:03,800
Okay, why didn't you tell me
that in the first place, you idiot.

100
00:07:04,439 --> 00:07:09,160
So Aaron wraps up with I want
to use AI like a pod of

101
00:07:09,240 --> 00:07:13,879
nearby co workers that don't mind being
interrupted. Beautiful description, But I don't

102
00:07:13,879 --> 00:07:15,720
want to use AI like I'm a
project manager directing a team of devs who'll

103
00:07:15,759 --> 00:07:19,439
do my bidding, but ultimately reading
disconnected for the process of development. I

104
00:07:19,480 --> 00:07:23,759
feel like in the long run,
AI coding will be a bit of a

105
00:07:23,759 --> 00:07:28,279
pyrrhic victory to the personal satisfaction and
sense of fulfillment we get from working as

106
00:07:28,319 --> 00:07:30,000
software engineers. I don't know,
you know, in the end, I

107
00:07:30,040 --> 00:07:34,839
was trying to get to the solution
too, you know. I'm not opposed

108
00:07:34,879 --> 00:07:38,319
to power apps for the same reason
A lot of people go, oh my

109
00:07:38,360 --> 00:07:41,199
god, no code Are you crazy. It's like I'm just trying to deliver

110
00:07:41,279 --> 00:07:44,560
results, man, right, that's
what's important. Yep, So Aerin,

111
00:07:44,560 --> 00:07:46,040
thank you so much for your comment. A copy of music codey is on

112
00:07:46,079 --> 00:07:48,000
its way to you. And if
you'd like a copy of music Code by

113
00:07:48,000 --> 00:07:50,839
I read a comment on the website
at don at Rocks dot com or on

114
00:07:50,879 --> 00:07:54,000
the facebooks. We publish every show
there and if you comment there and a

115
00:07:54,079 --> 00:07:56,600
reading on the show, we'll send
you copy of music Code. And we

116
00:07:56,720 --> 00:07:59,759
definitely like to see you on Twitter. Of course, we've been there for

117
00:07:59,800 --> 00:08:03,680
a long time or x or whatever
it is today, but the real cool

118
00:08:03,759 --> 00:08:07,439
kids are hanging out. I'm Mastodon. I'm at Carl Franklin at tech hub

119
00:08:07,480 --> 00:08:09,879
dot social, at average Campbell at
Masodon dot social, and of course you

120
00:08:09,920 --> 00:08:13,480
can find all the ways you can
contact me at Carl Franklin dot com.

121
00:08:15,240 --> 00:08:18,879
Okay, let's get to our guest
today. Really excited to have Carl guides

122
00:08:20,000 --> 00:08:26,319
on. He is a freelance software
architect and developer owner of Kobasoft GmbH.

123
00:08:26,879 --> 00:08:30,839
Is Carl. Is there an acronym
way to say that? Do you say

124
00:08:30,879 --> 00:08:37,039
gumba or do you just say GmbH? Ohh okay, like we say inc

125
00:08:37,320 --> 00:08:41,519
for incorporated r LLC. All right, So that's at Kobasoft dot Net Coba

126
00:08:41,759 --> 00:08:46,080
s o ft dot net building advanced
applications for their clients with c sharp,

127
00:08:46,200 --> 00:08:52,200
SQL and web technologies. He has
been working for Microsoft, Siemens Carl Zeis

128
00:08:52,200 --> 00:08:58,600
microscopy, banks and industry. His
main topics are c sharp web standards,

129
00:08:58,679 --> 00:09:03,759
generators, performance and accessibility. He's
currently working on an IoT project with sensor

130
00:09:03,879 --> 00:09:09,480
data, flexible calculations and the ClickHouse
database, and a large in house application

131
00:09:09,600 --> 00:09:16,639
for an industrial client with asp net
SQL server, CRM document Management, product

132
00:09:16,679 --> 00:09:20,720
planning, materials and management. He's
author of cobosoft log, a fast and

133
00:09:20,759 --> 00:09:26,879
easy to use logging library and log
viewer, and he's using naturally speaking intensely.

134
00:09:28,480 --> 00:09:33,879
He's been since two thousand and two. Welcome Carl, and you're a

135
00:09:33,919 --> 00:09:35,919
longtime dot net rocks listener, are
you not, Yes, it's about two

136
00:09:35,960 --> 00:09:41,799
thousand and six. My started programing
with Fishop about two thousand and two two

137
00:09:41,840 --> 00:09:46,440
thousand and three, and later I
discovered your podcast and then enjoyed it a

138
00:09:46,440 --> 00:09:48,919
lot. Yeah, and the kind
of things that you're into, you're kind

139
00:09:48,919 --> 00:09:52,639
of a generalist. It looks like
you know, you're all over the map.

140
00:09:52,080 --> 00:09:54,879
You do a lot of things.
Yes, yeah, very cool.

141
00:09:56,000 --> 00:10:01,200
So we're talking about AI in speech
and all of that stuff, and you've

142
00:10:01,240 --> 00:10:05,879
been it says you've been using Dragon
Naturally Speaking, which you know isn't.

143
00:10:05,039 --> 00:10:09,399
I don't know if it was,
it'd be considered AI. But it's certainly

144
00:10:09,240 --> 00:10:13,720
been around a long time and did
a really really good job, and I

145
00:10:13,720 --> 00:10:18,080
guess still does. Does Naturally Speaking
use AI on the back end? Now,

146
00:10:18,519 --> 00:10:22,960
yes, it is the two versions. So it's a testa person and

147
00:10:22,039 --> 00:10:28,480
so cloud version and so Cloud version
is AI based, but it is more

148
00:10:28,480 --> 00:10:33,600
an AI targeted to voice recognition.
It's not like a check chippity, it's

149
00:10:33,759 --> 00:10:37,559
just to improve the quality. Right. Remember that story I told of the

150
00:10:37,840 --> 00:10:41,879
African gray parrot named Timmy that we
wired up at the X ten that was

151
00:10:41,919 --> 00:10:48,799
a Dragon Naturally Speaking board in the
in the nineties hard hardware. Yeah cool.

152
00:10:50,320 --> 00:10:52,360
Yeah, So he doesn't know that
story, but basically Richard had a

153
00:10:52,399 --> 00:10:56,720
parrot with his friends and they they
taught it to, you know, shut

154
00:10:56,759 --> 00:11:01,519
the blinds and turn on the TV
with the naturally speaking turn off its own

155
00:11:01,919 --> 00:11:05,080
on its own lights. So you
know, you just wanted to let the

156
00:11:05,240 --> 00:11:07,840
parent have control of environment. We
just didn't know the parrot like to go

157
00:11:07,879 --> 00:11:11,919
to bed early. He'd shut everything
off at like seven, and if you

158
00:11:11,919 --> 00:11:13,200
try to turn it back off,
he'd turned it back off again. I

159
00:11:13,240 --> 00:11:16,120
remember you saying he used to do
the car alarm. Oh yeah, he

160
00:11:16,679 --> 00:11:20,120
need car alarms perfectly because didn't matter
what time of the day or night.

161
00:11:20,159 --> 00:11:24,600
If he did the car alarm,
you got up. Very cool, So,

162
00:11:24,919 --> 00:11:28,320
Jimmy, yeah, you could do
the same with the naturally Speaking.

163
00:11:28,440 --> 00:11:33,879
You could do your house automation and
connective access to it and so on,

164
00:11:33,919 --> 00:11:37,919
because it's programma a programma. So
yeah, So you use naturally speaking because

165
00:11:39,039 --> 00:11:41,080
it's the best thing that has been
out there, or you've been using it

166
00:11:41,120 --> 00:11:46,039
a long time or both both.
Yes, I hadn't RSI a long time

167
00:11:46,080 --> 00:11:50,759
ago, say about two thousand and
four, and then I started using speech

168
00:11:50,840 --> 00:11:54,879
input. I later solved this problem, but did the speech input proved to

169
00:11:54,919 --> 00:11:58,639
be very helpful to me. And
so, as you know, you can

170
00:11:58,759 --> 00:12:03,480
use it for basic dictator, but
it is also possible to use it for

171
00:12:03,559 --> 00:12:07,720
programming, for example, And this
is what I do in a lot.

172
00:12:09,200 --> 00:12:11,759
I'm using it together, like for
example, the chet chippyt say, I've

173
00:12:11,799 --> 00:12:16,679
got my chet chippydy window here open, and instead tape of typing all the

174
00:12:16,759 --> 00:12:20,840
long prompts, I can just dictate
the prompts right, And so it's way

175
00:12:20,879 --> 00:12:28,679
faster. It's like it's more like
community communication. Yes, I've telled it

176
00:12:28,759 --> 00:12:33,440
something presenter, it responds. You
could even let it read the response,

177
00:12:33,759 --> 00:12:37,960
but I'm not using it. It
would take longer. Yeah, yeah,

178
00:12:37,000 --> 00:12:41,159
I think we can read faster than
we can listen, right a lot.

179
00:12:41,600 --> 00:12:46,559
Yeah. Interestingly, Mark Miller was
spent the weekend at my house this last

180
00:12:46,559 --> 00:12:50,600
weekend and he was showing me something
he's going to show off at build in

181
00:12:50,759 --> 00:12:56,679
Code Rush, which is basically speech
commands, like you hold down the control

182
00:12:56,759 --> 00:12:58,759
key televisual studio what you want to
do, and it does it, and

183
00:12:58,840 --> 00:13:05,240
you can even there's even macros to
write code and things like that. It's

184
00:13:05,279 --> 00:13:11,080
just unbelievable. I've heard about this, But naturally speaking is much more flexible.

185
00:13:11,240 --> 00:13:15,759
You can use it for any application, so you could control Windows or

186
00:13:16,279 --> 00:13:20,399
text processing or even visual studio or
whatever you like. And so I've got

187
00:13:20,440 --> 00:13:26,159
a lot of commands, like thousands
or so, and i can controlling nearly

188
00:13:26,200 --> 00:13:30,039
everything like when I start when I'm
using visual Studio, I can say okay,

189
00:13:30,360 --> 00:13:33,679
build solution, and it will just
build my solution. Yeah, and

190
00:13:33,720 --> 00:13:35,879
so on. Or if I want
to insert the statement, if statement,

191
00:13:37,000 --> 00:13:41,200
I say the properate command and we'll
just type it and it doesn't matter if

192
00:13:41,240 --> 00:13:46,080
it's one line or one hundred lines. So are you actually speaking code or

193
00:13:46,080 --> 00:13:52,720
you're giving commands the studio both.
It's it's completely flexible. Say the simplest

194
00:13:52,799 --> 00:13:58,039
use would be the just for documentation. Say I've got a summary head above

195
00:13:58,120 --> 00:14:03,480
my method, and I would just
dictate the summary instead of typing it out.

196
00:14:03,600 --> 00:14:07,960
The moves my hands and it's way
faster. It's really as fast as

197
00:14:07,960 --> 00:14:13,000
we are talking right now. Probably
write longer comments that way because because the

198
00:14:13,039 --> 00:14:16,480
other side of this is you're also
effectively manifesting what you're going to code by

199
00:14:16,519 --> 00:14:20,320
describing it. Yeah, exactly.
I got a question about microphones. I

200
00:14:20,360 --> 00:14:24,759
noticed that you're using like a dictation
kind of microphone with you know, the

201
00:14:24,840 --> 00:14:31,799
MC comes over to your mouth headset, but I use the I have an

202
00:14:31,879 --> 00:14:37,840
Amazon Echo here and it's been pretty
good about being able to pick up things

203
00:14:37,840 --> 00:14:41,320
across the room. You can even
whisper to it. And I never had

204
00:14:41,360 --> 00:14:46,000
that experience with any Windows based kind
of you know, just using a regular

205
00:14:46,039 --> 00:14:52,840
microphone. Do you think that there's
like stuff in there to cancel noise and

206
00:14:52,080 --> 00:14:56,440
you know, figure out exactly what
I mean. That's the thing that's great

207
00:14:56,440 --> 00:15:00,679
about Echo. Do you do you
always use this headset or have you found

208
00:15:00,759 --> 00:15:05,879
other microphones that work with ambients,
you know, like an ambient microphone.

209
00:15:05,240 --> 00:15:09,600
I think it's exactly as you say, so AMASO and Alexa will have some

210
00:15:09,639 --> 00:15:15,720
noise canceling and additional tools to improve
the noise quality. But the big difference

211
00:15:15,799 --> 00:15:22,559
is that Alexa has to listen to
say hundreds of words, and naturally speaking

212
00:15:22,679 --> 00:15:30,440
vocabularies about hundreds of thousands of words, so there's some much bigger risk for

213
00:15:30,600 --> 00:15:35,200
errors. So it's easily to confuse
a personal name with the standard world and

214
00:15:35,240 --> 00:15:39,120
so on. And I've noticed the
same thing with that girl. Yeah yeah,

215
00:15:39,200 --> 00:15:41,480
yeah, yeah. Ask it a
question and it gives you an answer

216
00:15:41,519 --> 00:15:43,919
based on something you didn't even say. Okay, yeah, but it answers

217
00:15:45,000 --> 00:15:50,279
enthusiastically, oh yeah, correctly,
and it won't stop. I brought it

218
00:15:50,320 --> 00:15:54,639
into the house and Kelly got used
to it. But after a while,

219
00:15:54,679 --> 00:15:58,159
you know, when I say a
she starts to give it the keyword and

220
00:15:58,200 --> 00:16:04,600
then stop to stop barking. Kelly
says, shut up, and it works.

221
00:16:04,799 --> 00:16:07,840
But hearing lies the real issue.
I find what you know, watching

222
00:16:07,919 --> 00:16:11,600
voice systems being used in general,
people don't mind it if it works the

223
00:16:11,600 --> 00:16:15,720
first time, but as soon as
it doesn't work the first time, then

224
00:16:15,759 --> 00:16:18,879
they feel done using it, so
they don't want to use it anymore.

225
00:16:18,440 --> 00:16:22,399
Yeah, you're right. This was
the case like ten years ago or fifteen

226
00:16:22,440 --> 00:16:26,600
years ago. When you started dictation, you really had to this is my

227
00:16:26,919 --> 00:16:32,120
next sentence. You know, you
had to be very except on your pronunciation

228
00:16:32,279 --> 00:16:38,399
and gaps between the words. Nowadays
it just like talking. It would it

229
00:16:38,440 --> 00:16:42,559
would normally transcribe what we are saying. Now you can just record it and

230
00:16:42,639 --> 00:16:47,960
it would transcribe the text. And
so so they've actually changed the underlying model

231
00:16:48,159 --> 00:16:52,960
in naturally speaking, to use the
more contemporary libraries. Yeah, nearly every

232
00:16:52,039 --> 00:16:56,720
version, say, whenever you got
a new version from twelve to thirteen or

233
00:16:56,720 --> 00:17:02,799
fourteen, fifteen sixteen, it always
improved recognition quality because I remember having to

234
00:17:02,879 --> 00:17:07,240
train a dragon board back in the
day, and then you know that just

235
00:17:07,240 --> 00:17:10,640
sort of went away almost a decade
ago when you think about Siri and so

236
00:17:10,720 --> 00:17:14,119
forth, like training was longer needed. Yeah, you're right when theow speech

237
00:17:14,160 --> 00:17:18,079
wants you to train it to speak
the paragraphs and stuff, and all of

238
00:17:18,119 --> 00:17:22,759
these things now that are cloud based, like even Google Speech recognition is great.

239
00:17:22,839 --> 00:17:27,000
I mean it just uses the cloud, but it doesn't doesn't require training.

240
00:17:27,640 --> 00:17:33,119
Do you have a keyword that you
say, like when I use the

241
00:17:33,119 --> 00:17:36,920
Amazon Echo or do you just press
a particular button when you want to give

242
00:17:36,920 --> 00:17:41,200
a command? No, it's normally
it's turned on when I'm working. So

243
00:17:41,759 --> 00:17:45,880
I have a special keyboard button,
but it's really you can define any buttons

244
00:17:47,000 --> 00:17:49,400
as this button. So I've got
a keyboard button. When I press it,

245
00:17:49,319 --> 00:17:53,240
it will turn onto microphone. And
then when it's running, you can

246
00:17:53,240 --> 00:17:57,039
say okay, microphone off, and
then it's off and you have to press

247
00:17:57,039 --> 00:18:00,039
the button again. But you can
say okay, go to sleep, then

248
00:18:00,400 --> 00:18:03,319
continue listening. They say okay,
wake up. Then it will come back

249
00:18:03,319 --> 00:18:07,599
again. So it's more less like
I say, but when I'm really working,

250
00:18:07,599 --> 00:18:11,359
it's turned on all the time.
Are you worried that somebody's gonna like

251
00:18:11,440 --> 00:18:15,279
barge into the room and say,
you know, order five thousand pounds of

252
00:18:15,319 --> 00:18:19,400
cement from Amazon. You know,
it doesn't have this kind of connection.

253
00:18:19,480 --> 00:18:22,680
It just will type it out.
Has that ever happened to you, though?

254
00:18:22,720 --> 00:18:26,559
Has somebody like gotten in the room
and tried to screw everything up for

255
00:18:26,640 --> 00:18:29,839
you as a joke? No,
Once I met a big error. I

256
00:18:29,920 --> 00:18:34,000
dictated in English a Trauman text and
this was very bad. Oh that must

257
00:18:34,039 --> 00:18:38,759
be interesting and that without checking it
okay, but we're not never do it

258
00:18:38,759 --> 00:18:42,119
again. That's pretty funny. Well, do you know there's another aspect of

259
00:18:42,119 --> 00:18:45,839
this that I'm that appeals to me, which is that visual studio is a

260
00:18:45,960 --> 00:18:51,119
difficult application to navigate. You know, it's like the cockpit of a seven

261
00:18:51,240 --> 00:18:55,240
forty seven in there and then and
the number of times I know it can

262
00:18:55,319 --> 00:18:59,640
do this thing, I just can't
find the menu item. So the idea

263
00:18:59,640 --> 00:19:03,400
that I could say this is what
I want to do it and the speech

264
00:19:03,440 --> 00:19:07,279
control system that can navigate the tool
for me, that's very compelling. Like

265
00:19:07,319 --> 00:19:12,000
that's a ton of time saved rather
than flailing around in MANYUS. Yeah,

266
00:19:12,160 --> 00:19:17,279
that's exactly the point. Say I
would say okay, synchronized class feew and

267
00:19:17,319 --> 00:19:21,559
it would pop up the class feel
for the current class or method and similar

268
00:19:21,599 --> 00:19:26,599
stuff. Okay, show Solution Explorer
it would show the solution SPRA or debugging

269
00:19:26,640 --> 00:19:30,279
Locals it would show the debugging Locals
window. So it's like I've wrote it

270
00:19:30,319 --> 00:19:33,640
in my email. It's like a
third hand. Keep my right hand on

271
00:19:33,680 --> 00:19:37,279
the mouth and the left hand on
the function keys for example, and all

272
00:19:37,400 --> 00:19:41,680
the typing would be done by naturally
speaking by the voice. How where did

273
00:19:41,720 --> 00:19:45,160
those hooks come from? Did you
do that or is that already available?

274
00:19:47,200 --> 00:19:49,920
It depends on what you're doing.
Say if you were a writer and would

275
00:19:49,920 --> 00:19:55,559
write a book, you would have
thousands of commands already available, like make

276
00:19:55,640 --> 00:19:59,160
that boat or make that italic and
go to the top, go to the

277
00:19:59,200 --> 00:20:03,759
bottom, select word. All of
this is pretty fined and it's working fine.

278
00:20:03,759 --> 00:20:08,200
And let's say Microsoft Word and word
Pad. But when you're having specific

279
00:20:08,559 --> 00:20:14,920
programs, like let's say Visual Studio, you have to define your own commands.

280
00:20:15,079 --> 00:20:18,359
There's no there are no pre build
commands. But on the other hand,

281
00:20:18,400 --> 00:20:22,599
it's very easy to do. It's
like a huge shortcut manager. You

282
00:20:22,640 --> 00:20:29,119
can you can write or dictate a
command name and the end. Then for

283
00:20:29,200 --> 00:20:33,640
example, you assign keystrokes and it
would just repeat the keystrokes, but it's

284
00:20:33,680 --> 00:20:37,559
a little bit advanced though. You
can say okay, press all a,

285
00:20:37,000 --> 00:20:41,440
then wait half a second, then
press Charlie and so on, so it's

286
00:20:41,519 --> 00:20:48,920
like a huge keystroke macro manager.
But you you don't have to remember remember

287
00:20:48,039 --> 00:20:53,279
any keystrokes for triggering it. You
just say the command once you've done it,

288
00:20:53,279 --> 00:20:57,720
once you have. Have you ever
had the situation where a new version

289
00:20:57,759 --> 00:21:03,359
of visual Studio remaps key strokes or
changes them. I've got my own mapping,

290
00:21:03,400 --> 00:21:07,759
which are usually key but yes,
but it's easy to adapt. It's

291
00:21:08,319 --> 00:21:12,279
a matter of seconds you've adapted it. So you don't find that managing naturally

292
00:21:12,319 --> 00:21:15,519
speaking takes more time than you think
it should. No, not at all,

293
00:21:15,880 --> 00:21:22,039
not at all. There's a command
browser. You can see all the

294
00:21:22,079 --> 00:21:26,680
commands. Basically, you've got two
lists of commands. You've got you've got

295
00:21:26,720 --> 00:21:30,480
the build in commands, and there's
a browser for these, and you've got

296
00:21:30,480 --> 00:21:33,799
your own commands, and there's also
a browser, and it's very easy to

297
00:21:33,960 --> 00:21:40,400
manage. I bet with co pilot
this makes a killer combination, right because

298
00:21:40,440 --> 00:21:44,279
now you can just speak a comment
and then Copilot will actually write the code

299
00:21:44,279 --> 00:21:47,839
and you don't have to sit there
going for each blah blah blah. Right,

300
00:21:47,920 --> 00:21:49,920
yeah, but for each statements are
a micro for me, I just

301
00:21:51,000 --> 00:21:53,319
say okay, state for each and
it will inserts a complete forage statement.

302
00:21:53,880 --> 00:21:59,519
And that's with other stuff as well, So like if statements or standard HTML

303
00:21:59,640 --> 00:22:03,920
marker or on any of this stuff
I've got on a command. But your

304
00:22:03,920 --> 00:22:08,039
macros don't know anything about the code
that you're writing. The co pilot does.

305
00:22:10,519 --> 00:22:14,440
Yeah, so are you finding yourself
using co pilot with naturally speaking more?

306
00:22:14,480 --> 00:22:19,440
Now, I'm saying when code pilot
presensive solution to me, I have

307
00:22:19,519 --> 00:22:25,680
to think about his suggestions and normally
it takes more time than to just write

308
00:22:25,680 --> 00:22:29,440
it down because I'm very fast.
I'm doing this for many years. Now.

309
00:22:29,480 --> 00:22:33,079
Do you have any videos of yourself
writing code with naturally speaking that we

310
00:22:33,119 --> 00:22:37,440
can see? I don't have any. I'm really really my interest is peaked

311
00:22:37,480 --> 00:22:41,519
here. I could create one.
Wow. Okay, well, if you

312
00:22:41,559 --> 00:22:44,000
create one, we'll put a link
to it in the show notes. Okay,

313
00:22:44,119 --> 00:22:47,000
it's fascinating. Just yeah, like
you said, one hand on the

314
00:22:47,000 --> 00:22:49,319
function keys, one hand on the
mouse, and all the texts you're just

315
00:22:49,359 --> 00:22:52,880
saying it. Yeah, So it's
you know, you literally have a separate

316
00:22:53,279 --> 00:22:57,279
tool now to to keep these movies
or your hands aren't bouncing back and forth.

317
00:22:57,480 --> 00:23:02,559
Yeah, and it's much faster.
I'm a quite fast typist. I'm

318
00:23:02,599 --> 00:23:07,400
not slow, but this thing is
still a lot faster. Instead of typing

319
00:23:07,440 --> 00:23:10,680
single characters, you get complete words, right, all right, So how

320
00:23:10,680 --> 00:23:15,039
would you say? How would you
say, use a link statement to pull

321
00:23:15,079 --> 00:23:18,200
a variable out from this list where
this property value is between this value and

322
00:23:18,240 --> 00:23:25,440
that value. I would more less
dictate it as it's written, like a

323
00:23:25,519 --> 00:23:32,039
state variable index, equal sign,
dictionary, empty brackets and so on.

324
00:23:32,519 --> 00:23:34,160
Okay, so you really are writing, So there is a point where you

325
00:23:34,240 --> 00:23:37,839
have to dictate character by character code, Yes, depending on what I'm doing.

326
00:23:37,920 --> 00:23:41,960
Yes, what about moving the cursor
around like you've got to go back

327
00:23:41,000 --> 00:23:45,759
and change your phrase? I guess
that's the mouse's job. You can still

328
00:23:45,799 --> 00:23:48,240
do that with keyboard with that barron, left, arrow and tab. And

329
00:23:48,680 --> 00:23:52,359
yes, I'm using the mouse and
a keyboard as usually, but it is

330
00:23:52,400 --> 00:23:57,079
possible to control the mouths and the
keyboard with naturally speaking, you can say,

331
00:23:57,079 --> 00:24:03,119
okay, go left five, or
say you want to go ten lines,

332
00:24:03,279 --> 00:24:07,839
go down ten, and so it's
easier than pressing the Donkey ten times

333
00:24:07,079 --> 00:24:11,519
for sure. Yeah. So here's
another question, but not by much.

334
00:24:11,160 --> 00:24:17,400
Here's another question. Do you sell
your macro library like your mappings? No?

335
00:24:18,559 --> 00:24:22,480
Would you want to? Because I
think people listen to this want to

336
00:24:22,480 --> 00:24:26,680
mind, Yes, sir, why
not? Now you're into the accessibility space

337
00:24:26,720 --> 00:24:30,720
in general, which is screen readers
and like hardware dedicated for folks that have

338
00:24:30,839 --> 00:24:34,240
limitations in certain areas. Are you
using any of that in your own work?

339
00:24:34,440 --> 00:24:40,440
Yes, I've been using it.
I had a rs I U many

340
00:24:40,519 --> 00:24:44,000
years ago, as I said previously, Yeah, and for some time I

341
00:24:44,039 --> 00:24:48,519
really was using naturally speaking to control
everything just to save your wrists. Yeah,

342
00:24:48,559 --> 00:24:52,960
and I couldn't even shower. It
was very bad. And you had

343
00:24:52,000 --> 00:24:56,799
bad rs I. Friend, that's
serious, like it hurts all the time.

344
00:24:56,920 --> 00:25:00,480
Okay, can you just explain what
RSI is repetitive stress? Insure you're

345
00:25:00,519 --> 00:25:04,599
okay? So again, our friend
Mark Miller was very big on always wearing

346
00:25:04,599 --> 00:25:10,799
the races to reduce This is essentially
caused by the tendons in your hand a

347
00:25:10,920 --> 00:25:15,559
brady against the sheaths in your wrist
to the point where they inflame and puff

348
00:25:15,680 --> 00:25:19,960
up enough that they burn all the
time. It's it's agonized Wow. So

349
00:25:21,039 --> 00:25:22,720
I know, as a guitar player, if I write a lot of code,

350
00:25:22,839 --> 00:25:26,599
if I'm coding all week, right, and then I go try to

351
00:25:26,640 --> 00:25:30,079
play without practicing or warming up,
my fingers don't know what to do.

352
00:25:30,000 --> 00:25:33,559
And so you know it kind of
is appealing to me. But does it

353
00:25:33,640 --> 00:25:37,480
hurt like this, No, it
doesn't hurt. But they just don't do

354
00:25:37,559 --> 00:25:38,839
what you want them to do,
Like they don't move. You know,

355
00:25:38,880 --> 00:25:42,839
your brain isn't used to sending the
signals to play a scale. It's used

356
00:25:42,839 --> 00:25:47,640
to sending the signals to spell your
name or your email chests. It's a

357
00:25:47,720 --> 00:25:51,559
very different motion. But and I
would argue, because you switch between those

358
00:25:51,599 --> 00:25:56,200
different motions, your hands are in
better shape. Yeah, you're probably right,

359
00:25:56,279 --> 00:25:59,720
right. The problem with typing,
all this typing all the time is

360
00:25:59,720 --> 00:26:03,119
it's the same motions over and over. It's repetitive. Right. Plus there's

361
00:26:03,119 --> 00:26:08,640
also a whole conversation about wrist angles
and and keyboard heights related to the table

362
00:26:08,720 --> 00:26:14,640
to share heights, like that ergonomics
of minimizing stress on your rest because once

363
00:26:14,680 --> 00:26:19,119
you go down that inflammation path forever, will it haunt your destiny? Like

364
00:26:19,920 --> 00:26:25,200
as soon as as soon as your
wrists start to be inflamed. Like everything,

365
00:26:25,279 --> 00:26:27,480
it gets worse and worse and worse. Yeah, there are two points,

366
00:26:27,480 --> 00:26:32,319
so and you mentioned one of them
already. At this time I had

367
00:26:32,319 --> 00:26:37,079
the PIT twelve deficiency and it was
measured and a lap and so I substituted

368
00:26:37,119 --> 00:26:41,200
it. And it improves the situation
a lot because pit twelve goes on all

369
00:26:41,279 --> 00:26:48,000
the sheds like nerve, fair and
shes and and you know it's it causes

370
00:26:48,039 --> 00:26:52,480
inflammation when it's missing. Yeah,
and the other point is missing plot flow.

371
00:26:52,759 --> 00:26:59,400
So the hands are not exercised enough. It's this repetitive, repetitive movement

372
00:26:59,480 --> 00:27:02,799
which all it's the same, but
it doesn't really use the hands. And

373
00:27:02,839 --> 00:27:07,400
so so as a solution for me
was to do some training, heavy weights

374
00:27:07,440 --> 00:27:12,000
training, and this helped a lot. This really hap It will hurt initially.

375
00:27:12,039 --> 00:27:17,279
It will hurt initially because there's an
inflammation, but on so long run

376
00:27:17,359 --> 00:27:22,440
it will improve. That's a flow
of blood and lymph fluid, and so

377
00:27:22,279 --> 00:27:26,960
I don't have this problem anymore.
Physiologically, typing is bizarre. It is

378
00:27:27,039 --> 00:27:33,240
kind of right to just flex the
tendons while not moving the arm almost at

379
00:27:33,279 --> 00:27:37,680
all, Like it's very your body
wasn't built for this. This is crazy,

380
00:27:37,160 --> 00:27:41,839
So I mean the whole I'm a
big Pomadoro fan like that. Twenty

381
00:27:41,920 --> 00:27:44,559
minutes, get up, move around, and so forth. That's about just

382
00:27:44,599 --> 00:27:48,920
making your blood move right, arms
over your head, arms down like that.

383
00:27:48,200 --> 00:27:52,039
All that's making blood move, which
does not happen when you're hovering over

384
00:27:52,079 --> 00:27:57,400
the keyboard. The problem is you
get in the groove and four hours go

385
00:27:57,519 --> 00:28:00,680
by, yep, and you're a
couple of happy exactly where you're sitting.

386
00:28:00,880 --> 00:28:04,039
The moment you move in any way, you're like, I'm in agony,

387
00:28:04,119 --> 00:28:08,759
like everything hurts you get up and
you didn't realize your assert that much and

388
00:28:08,839 --> 00:28:14,160
now I'm struggling to get up right
and because you just you've been in the

389
00:28:14,279 --> 00:28:19,640
zone. Are there situations where you're
using software apart from visual Studio software that

390
00:28:19,680 --> 00:28:26,680
you're trying to automate and there are
things that are only menu options or buttons

391
00:28:26,720 --> 00:28:30,839
that you have to click. There
are no keyboard shortcuts. What do you

392
00:28:30,880 --> 00:28:34,000
do in that situation? If it
has no keyboard trot cut at all,

393
00:28:34,039 --> 00:28:38,640
it's a little bit harder. But
there's the second way. The program can

394
00:28:38,759 --> 00:28:44,839
recognize certain screen elements like, for
example, standard buttons or proser buttons and

395
00:28:44,880 --> 00:28:49,480
everything. They say. All of
these are recognized by naturally just speaking itself,

396
00:28:49,559 --> 00:28:52,839
or by its plugins. So when
you're in a standard Windows program,

397
00:28:52,839 --> 00:28:57,279
you can say okay, click open, click safe, click order, and

398
00:28:57,400 --> 00:29:00,000
when you're on a Prouse or you
can all. There are also commands,

399
00:29:00,000 --> 00:29:03,880
for example to list all links,
or list all buttons and so on,

400
00:29:03,920 --> 00:29:07,960
and suse okay, click five or
or click one, and so it will

401
00:29:08,039 --> 00:29:15,640
navigate. But if it's graphics only, application becomes very hard, say a

402
00:29:15,680 --> 00:29:19,640
game, for example, if there
are no standard Windows elements, it's nearly

403
00:29:19,640 --> 00:29:23,359
impossible. Nearly impossible. Yeah,
yeah, interesting, interesting problems. So

404
00:29:23,720 --> 00:29:27,519
just dart a solution to everything.
But this is also where you get into

405
00:29:27,519 --> 00:29:32,839
that accessibility part. Good software has
multiple ways to do a given task because

406
00:29:32,839 --> 00:29:36,759
different people have different abilities. Yeah, exactly, And this is what we're

407
00:29:36,799 --> 00:29:41,519
doing. There are you will know, semantic markup in HTML and this is

408
00:29:41,519 --> 00:29:45,680
the first step. Then there are
all these area at tags and other messets

409
00:29:45,759 --> 00:29:51,559
to get it accessible. And I've
been doing this for some time and know

410
00:29:51,680 --> 00:29:55,720
some more experts in this area.
And then you get the website which is

411
00:29:55,759 --> 00:30:00,920
completely can be navigated by voice,
you can its content, you can everything

412
00:30:00,920 --> 00:30:06,000
by voice. That's cool. We've
and we've done that show right, like

413
00:30:06,079 --> 00:30:10,079
we've talked about access building with both
sides. Okay, hey guys, let's

414
00:30:10,119 --> 00:30:14,240
continue the conversation after this quick break
for some very important messages. We'll be

415
00:30:14,279 --> 00:30:21,920
right backed and we're back. It's
dot Net Rocks. I'm Carl Franklin.

416
00:30:22,119 --> 00:30:26,720
That's Richard Campbell. How do you
And we're talking to Carl geist about doing

417
00:30:26,759 --> 00:30:32,039
everything with speech that you can do
with your hands almost. I do like

418
00:30:32,079 --> 00:30:33,759
the mix. There's some things that
are served well by the hands, and

419
00:30:33,839 --> 00:30:37,559
some things were served well by the
voice, like writing a longer comment because

420
00:30:37,599 --> 00:30:41,519
I can go on and on makes
a lot of sense. Yeah, or

421
00:30:41,599 --> 00:30:44,680
writing a book on the history of
dot net, for example, that might

422
00:30:44,720 --> 00:30:49,240
be a good thing to use.
I don't know the absolutely did I say

423
00:30:49,279 --> 00:31:00,319
something wrong Richard? Anyway? So
so let's talk about some of the practical

424
00:31:00,839 --> 00:31:03,599
things that you're using this for within
visual studio itself. I imagine you've piqued

425
00:31:03,599 --> 00:31:11,119
the interest of our listeners, especially
those you know who might have limited hand

426
00:31:11,160 --> 00:31:17,960
movement. So just give us a
quick example of something that you You mentioned

427
00:31:18,000 --> 00:31:19,839
a couple of macros in the way
that you set up projects and things,

428
00:31:19,880 --> 00:31:26,559
but what are the give us a
run through the how you would typically go

429
00:31:26,880 --> 00:31:30,880
about programming a new app web app. Let's say, like how do you

430
00:31:30,960 --> 00:31:34,799
drag and drop elements from one window
to another? For example? What are

431
00:31:34,799 --> 00:31:40,319
some of the more challenging things for
drag and drop? I have to use

432
00:31:40,359 --> 00:31:45,440
some mouse, so that's maybe not
the way you can put control of the

433
00:31:45,440 --> 00:31:48,680
mouse by voice, but it's it's
very hard to do it very slow.

434
00:31:48,480 --> 00:31:52,960
And then normally, say when I
would start debugging, I would say okay,

435
00:31:52,960 --> 00:31:56,240
dee buck run and then it would
start debugging. Or I would say

436
00:31:56,240 --> 00:32:00,759
okay, let's say de buck breake
pund and would set the breakpoint. And

437
00:32:00,839 --> 00:32:06,839
then I've got different variations. You
might know the safe we web tools have

438
00:32:06,880 --> 00:32:10,680
different keyboard short cuts, so I've
got different keyboard short cuts like for a

439
00:32:10,759 --> 00:32:16,599
browser and the development and environment,
and that's safe for for running commands.

440
00:32:17,240 --> 00:32:21,920
And then when I want to dictate
a statement, for example, I would

441
00:32:21,920 --> 00:32:24,799
say okay, state for each and
it would just write the complete for each

442
00:32:24,799 --> 00:32:30,200
statement, and or you have to
fill in the values obviously for each what

443
00:32:30,519 --> 00:32:34,640
you know, yeah, but it's
it will normally trigger a snippet of visually

444
00:32:34,640 --> 00:32:37,640
snippet and the stimple will place the
curse on the right location. So I'm

445
00:32:37,680 --> 00:32:42,759
combining these two. I've I've got
balance snippets. I've got the standard snippets

446
00:32:43,319 --> 00:32:46,960
and many times and triggering snippets by
using voice commands. So I've got one

447
00:32:47,000 --> 00:32:51,160
little more flexibility. And if you're
at a breakpoint, can you examine the

448
00:32:51,240 --> 00:32:53,440
value of a variable without using your
hands? Normally I would say okay,

449
00:32:53,480 --> 00:32:58,960
deva locals and it will would show
the locals window, or deebug inspect it

450
00:32:59,039 --> 00:33:04,359
will show this F nine variable inspection
window and so on, wow and so

451
00:33:05,440 --> 00:33:09,880
or I've got one debug variables which
should which you all like locals watch and

452
00:33:09,960 --> 00:33:16,319
whatever. It would show multiple windows. And then let's say, look up

453
00:33:16,319 --> 00:33:23,079
this exception value on with chat BT. Can you you could? I've got

454
00:33:23,200 --> 00:33:31,480
miracles, say yeah, Say but
I've got a micro for example, where

455
00:33:31,480 --> 00:33:36,440
I can select the text and say
look up that, and it would open

456
00:33:36,480 --> 00:33:39,640
the browser and look up this this
code. Cool, And so I'm I'm

457
00:33:39,799 --> 00:33:45,200
saving say twenty keystrocks or so I
swear to god you could sell this library

458
00:33:45,200 --> 00:33:52,559
of macros. I wouldn't mind.
I've been selling share before, so yeah,

459
00:33:52,680 --> 00:33:57,319
be a problem. Say there's one
statement like source block, it would

460
00:33:57,359 --> 00:34:01,279
select the complete if statement, and
so variations which would select the if statement

461
00:34:01,359 --> 00:34:06,440
and some surrounding statements or only the
inner part of the if statement and so

462
00:34:06,480 --> 00:34:10,079
on, and so I'm saving a
lot of time. Sometimes it's like twenty

463
00:34:10,119 --> 00:34:16,320
keystrucks so more. Or like you're
looking for record expression, say this typical

464
00:34:16,480 --> 00:34:22,280
record expression for identifiers like a too
set zero to nine underscore blah blah,

465
00:34:22,360 --> 00:34:27,679
and this would be regas expression a
recas identifier, and it would select.

466
00:34:27,840 --> 00:34:31,960
It would just type it out.
And you might notice that I'm using kind

467
00:34:32,000 --> 00:34:40,719
of reverse notation, so I say
debug run or yeah, it's always reverse,

468
00:34:42,320 --> 00:34:45,440
And this is intentionally so I can
find all debugging commands. And by

469
00:34:45,480 --> 00:34:51,320
doing this, it's also possible over
a remote desktop connection for example. Sure

470
00:34:51,719 --> 00:34:55,440
it doesn't mind. Say I can
go to an RDP session use my same

471
00:34:55,480 --> 00:35:00,519
commands as before without any problems.
You don't have to install anything on the

472
00:35:00,599 --> 00:35:06,079
RDP on the VM. You mean, I think you mentioned this when you

473
00:35:06,119 --> 00:35:08,960
when you're navigating menus, you can
just literally read what's on the screen,

474
00:35:09,079 --> 00:35:14,000
right, You can say menu file
or something like that, and then you

475
00:35:14,000 --> 00:35:16,039
know, like if there isn't a
keyboard shortcut, but there's a menu shortcut.

476
00:35:16,239 --> 00:35:20,239
Yes, you could say file blah
blah blah blah blah blah, and

477
00:35:20,400 --> 00:35:22,880
whatever you see on the screen,
you can read right and it will select

478
00:35:22,880 --> 00:35:29,280
it if it's recognizable. Say there
are some Windows accessibility features, and if

479
00:35:29,320 --> 00:35:32,760
the target program supports you can say, okay, click file, click open,

480
00:35:34,320 --> 00:35:37,920
click tools, click settings. This
is possible. If it's like a

481
00:35:37,960 --> 00:35:43,519
graphics only application, it's not possible. It's the program you cannot recognize anything.

482
00:35:43,639 --> 00:35:49,119
But most Windows menus usually have a
keyboard hot key associated with it,

483
00:35:49,199 --> 00:35:52,039
so you could just say press A, press B whatever exactly as you say.

484
00:35:52,119 --> 00:35:55,440
You could say, okay, press
all, control print screen, This

485
00:35:55,599 --> 00:36:00,199
is possible, press chift, control
entro. It's also possible. Bring up

486
00:36:00,199 --> 00:36:06,800
notepad, paste video, run paste
clipboard. I'm always done how many times

487
00:36:06,840 --> 00:36:08,559
I run notead given day, still
to this day, Like, Yeah,

488
00:36:08,599 --> 00:36:12,599
it's just it's the bok place I
put things. You know what you use

489
00:36:12,639 --> 00:36:15,599
it for. I use it as
a text filter, Like you pull something

490
00:36:15,639 --> 00:36:19,480
off of the of a website and
before you paste it into email, you

491
00:36:19,519 --> 00:36:28,159
want to remove all the formatting.
You just ASKI by you, I think

492
00:36:28,159 --> 00:36:30,800
you would already expect it. But
I've got a micro for this. Yeah,

493
00:36:30,880 --> 00:36:36,760
of course you do. We're going
into business a paste text micro and

494
00:36:36,800 --> 00:36:39,760
if we just remove all the garbage, it's paste text. Wow. Yeah,

495
00:36:39,800 --> 00:36:42,760
it's a good. Wow. That's
cool. Yeah. How many times

496
00:36:42,800 --> 00:36:45,079
you've been copied a URL and found
out you don't have it? You don't

497
00:36:45,079 --> 00:36:49,239
actually have that ur ur l you
have fifteen trackers that eventually lead to URL.

498
00:36:49,280 --> 00:36:52,199
Perhaps maybe Yeah, all right,
let's we gotta go. We gotta

499
00:36:52,280 --> 00:36:54,519
keep going with your awesome macros.
Here tell us that some of the other

500
00:36:54,760 --> 00:37:00,000
really productivity enhancing macros you have,
whether visual studio or not. Let's say

501
00:37:00,559 --> 00:37:06,920
I'm also controlling Outlook, and say
there are two ways to control other applications.

502
00:37:07,639 --> 00:37:08,880
One option is to have a plug
in, like, for example,

503
00:37:09,039 --> 00:37:14,480
there's an exit blocking or word plugging
or Outlook plugin and so on. There

504
00:37:14,480 --> 00:37:17,199
are other options to write your own
macros. And so I've got a lot

505
00:37:17,239 --> 00:37:22,280
of micros, for example, for
Outlook to switch the text language. Say

506
00:37:22,280 --> 00:37:27,320
I'm dictating in say two three different
languages, and so I've got a macro

507
00:37:27,400 --> 00:37:30,960
for just switching the languages. You
know, how I control Outlook? I

508
00:37:30,039 --> 00:37:37,840
use Gmail. That's how okay.
Could I say that out loud? Yeah

509
00:37:38,199 --> 00:37:44,400
okay? Or say, I've got
templates for the ciffix of a letter,

510
00:37:44,480 --> 00:37:47,440
the prefix of a letter, all
kinds of salutations and so on, So

511
00:37:47,679 --> 00:37:51,800
I don't have the type okay,
dear sir or madam. Now I just

512
00:37:51,840 --> 00:37:54,280
say it wow, and it will
write it for me. You know this

513
00:37:54,639 --> 00:37:59,800
laurum ipsum text template all the people
are using in the web, I've got

514
00:37:59,840 --> 00:38:06,719
it. Macro texts yeah, lower
mid some and say, I've also got

515
00:38:06,719 --> 00:38:09,840
to say text templates for say you
want to test text, test an input,

516
00:38:09,920 --> 00:38:15,199
feel if it's if you can fit
one one hundred characters. So I've

517
00:38:15,199 --> 00:38:22,719
got templates which create like small rulers
from Escui characters and it is exactly one

518
00:38:22,760 --> 00:38:25,920
hundred characters, and you can see
if it fits or not. And I've

519
00:38:25,920 --> 00:38:30,519
got one for one thousand characters and
so on, and so it's it's very

520
00:38:30,519 --> 00:38:35,199
handy for testing. Sure, it
allows repetitions. For example, as I

521
00:38:35,320 --> 00:38:38,079
told you, you can say okay, go up one hundred. But you

522
00:38:38,079 --> 00:38:43,039
can also have your own macros repeat. So if you've got one macro and

523
00:38:43,079 --> 00:38:46,880
then you can have another one and
say okay, repeat it twenty times.

524
00:38:46,880 --> 00:38:51,840
And it will repeat the macro twenty
times. Wow, I'm stunned. They

525
00:38:52,000 --> 00:38:54,920
just yeah, And I can see
how you just gradually accumulate these. You

526
00:38:55,199 --> 00:39:00,320
write a macro once and then you
get to keep reusing. It saves you

527
00:39:00,360 --> 00:39:02,519
a lot of work, a lot
of you can because it's it's basic.

528
00:39:04,800 --> 00:39:07,960
It's programmable, programmable in the basic
language. So it has a very old,

529
00:39:08,119 --> 00:39:12,880
very small basic in the inside,
and you can write all kinds of

530
00:39:12,880 --> 00:39:17,880
clip statements. You can access the
clipboard, you can access your last dictation

531
00:39:19,519 --> 00:39:22,960
words and so on. So it's
it's very flexible. And so like I

532
00:39:23,000 --> 00:39:28,840
mentioned, I'm also of the coples
of logging library. And so when I

533
00:39:28,840 --> 00:39:32,199
say okay, lockdow world both,
it will insert the lock for both statement.

534
00:39:32,320 --> 00:39:37,440
When I say okay lock doot warning, it will insert the warning statement.

535
00:39:37,920 --> 00:39:42,719
But only log dot is a fixed
part and the last part is flexible.

536
00:39:42,880 --> 00:39:46,000
It's it it's accessing the word I
said, And so you have lots

537
00:39:46,000 --> 00:39:50,960
of possibilities here. And as I
told you, it's it's like a third

538
00:39:51,000 --> 00:39:52,719
hand. I've I've got my hand
on the mouth and the function keys and

539
00:39:52,760 --> 00:39:57,360
so on, and most of the
typing is being done by by voice.

540
00:39:57,519 --> 00:40:00,320
You just don't have to deal with
it. I know it's I say,

541
00:40:00,360 --> 00:40:04,280
I love to see the video because
it definitely is a rhythm, you know,

542
00:40:04,360 --> 00:40:07,280
of a flow right to what that
would look like? Yeah, I

543
00:40:07,360 --> 00:40:12,360
mentioned flow, you mentioned the debugger, but where does that end up going?

544
00:40:12,480 --> 00:40:15,239
Like ultimately, I guess you're getting
back to a piece of code you

545
00:40:15,280 --> 00:40:17,760
need to correct. At least,
I didn't understand the question, like when

546
00:40:17,800 --> 00:40:22,559
you when you're I'm just thinking about
the debugging workflow. It's different from the

547
00:40:22,599 --> 00:40:25,480
coding workflow. You certainly can start
the debugger, you set a break point,

548
00:40:25,559 --> 00:40:30,599
you run, you drop to the
break point. Now you're checking values,

549
00:40:30,280 --> 00:40:34,920
maybe tweaking some code and continuing.
Yes, that's right, Yeah,

550
00:40:34,960 --> 00:40:38,199
but it's this has the same statements. I've got lots of say, seventy

551
00:40:38,599 --> 00:40:44,760
debugging statements, and I'm running them
all the time, like looking at variables

552
00:40:44,840 --> 00:40:52,960
or showing certain windows and so on, continuing breaking whatever, set next statement.

553
00:40:53,199 --> 00:40:59,000
Okay, so but that's a normal
process. Step step step step step.

554
00:40:59,119 --> 00:41:05,119
Okay, that gets old. I've
I've got my fingers on the keyboard

555
00:41:05,159 --> 00:41:09,880
and I'm using the function keys for
this, right, But talking talking about

556
00:41:09,920 --> 00:41:15,400
the flow, say, writing a
longer comment would get you out of flow

557
00:41:15,440 --> 00:41:19,920
when programming. But when you when
you type it, when you say it,

558
00:41:20,000 --> 00:41:22,960
when you say it, when you're
talking to the machine, it's way

559
00:41:22,000 --> 00:41:27,960
faster. And as you mentioned before, it's like talking to myself. I

560
00:41:28,000 --> 00:41:32,079
repeat my programming ideas in a different
language, meaning a natural human language,

561
00:41:32,599 --> 00:41:37,840
and so I can reflect on what
I'm writing here. And sometimes I'm doing

562
00:41:37,960 --> 00:41:44,079
this very excessively, say oh,
I've got normally I've got some wordpat open

563
00:41:44,239 --> 00:41:50,119
or word open, and I write
my concepts down by using speech and collect

564
00:41:50,159 --> 00:41:52,840
them and arrange them, and then
I start writing code. So it's useful

565
00:41:52,960 --> 00:41:57,239
on this part too. And what
I also can do you you know,

566
00:41:57,280 --> 00:42:00,360
all of you. You know pentot
net. This is pending application, and

567
00:42:00,400 --> 00:42:06,079
it's also possible to automate thee is
like for inside for example, for inserting

568
00:42:06,079 --> 00:42:12,880
a picture and song. All of
this is possible by voice commands or say

569
00:42:13,239 --> 00:42:15,039
many times a day. You have
to write the current date and time,

570
00:42:15,239 --> 00:42:20,559
or say only the date, like
for example when opening a kit branch or

571
00:42:21,320 --> 00:42:23,840
giving a file name or whatever it's
on a macro. I've got a macro,

572
00:42:24,119 --> 00:42:30,760
or say different six or eight which
insert current date time in different formats

573
00:42:30,199 --> 00:42:35,480
and then I've got all my posonial
information like street or address, or or

574
00:42:35,800 --> 00:42:38,320
phone number or whatever. It's also
on macros, so when I'm filling out

575
00:42:38,320 --> 00:42:42,960
the form, I just don't worry. I've got my street correct, my

576
00:42:43,079 --> 00:42:46,079
phone number correct, and so on. But there's one point where you have

577
00:42:46,119 --> 00:42:52,480
to be careful because you're writing an
email by voice. There will be no

578
00:42:52,599 --> 00:42:57,639
typos because this system will just take
the words from its dictionary and insert them.

579
00:42:58,280 --> 00:43:01,639
But sometimes it gets the words completely
wrong. So it's a spell checker

580
00:43:01,599 --> 00:43:06,000
will not find anything, but if
you'll still be wrong right, And that's

581
00:43:06,000 --> 00:43:08,960
the point where you have to be
careful always, or tool like grammarly would

582
00:43:08,960 --> 00:43:14,679
catch that better than the spell checker
will. Yeah. So here's a quick

583
00:43:14,760 --> 00:43:19,440
question, and I think you touched
on this before, but are you more

584
00:43:21,119 --> 00:43:28,039
confident about using any web site in
a browser than if you, for example,

585
00:43:28,400 --> 00:43:30,159
download a new Windows application. Now
you have to figure out all the

586
00:43:30,239 --> 00:43:36,599
keyboard shortcuts because it's in the browser. Does that help, like you feel

587
00:43:36,599 --> 00:43:38,880
more confident go into any site and
being able to manipulate it and do what

588
00:43:38,920 --> 00:43:44,320
you want to do with naturally speaking, then it would be getting a new

589
00:43:44,360 --> 00:43:47,880
program. No, I'm not using
naturally speaking a lot for websites, it

590
00:43:47,920 --> 00:43:52,280
is possible, but it's say,
for me, it's not necessary. I

591
00:43:52,280 --> 00:43:57,360
can use my hands and so I'm
not using a lot. But what you're

592
00:43:57,519 --> 00:44:00,000
saying, it's right saying I'm doing
it. I'm doing a lot of user

593
00:44:00,039 --> 00:44:05,800
interface and usability and so on.
And I've seen that many people are more

594
00:44:05,920 --> 00:44:09,519
confident when using the mouse or touch
screens and so on, so it's easier

595
00:44:09,679 --> 00:44:14,679
just point and click and test it. It's you don't have to remember any

596
00:44:14,760 --> 00:44:20,039
shortcuts. That's that's fair. Yeah, But on in my client base,

597
00:44:20,679 --> 00:44:24,519
you clearly see different users, kinds
of users. Some are using the mouse

598
00:44:24,559 --> 00:44:29,639
all of the time and some and
some really want keyboard short cuts because they

599
00:44:29,679 --> 00:44:34,480
want to work fast, and so
you can support both. There's no problem

600
00:44:34,480 --> 00:44:38,679
at all. It's you can support
keyboard short but touch voice input all at

601
00:44:38,719 --> 00:44:43,320
the same time. And getting back
to the better know framework, which was

602
00:44:44,559 --> 00:44:50,079
the warp command line thing, I
imagine that command line interfaces are a lot

603
00:44:50,159 --> 00:44:53,679
easier to use a Dragon interface just
because of the nature of you know,

604
00:44:53,960 --> 00:44:59,280
your text in text out easy.
Yeah, you're right, so PowerShell maybe,

605
00:44:59,360 --> 00:45:02,280
Yeah, it depends on what you're
writing, like write a push REQUI

606
00:45:02,559 --> 00:45:07,639
write a pull request in the command
line to gethub with your voice. That's

607
00:45:07,679 --> 00:45:13,880
a lot of dashes and well macros
right, macros y micro create for the

608
00:45:14,000 --> 00:45:16,039
data. You can even have macros
with prompts. You could have a base

609
00:45:16,119 --> 00:45:20,920
macro and it prompts you in the
middle for some argument and it would complete

610
00:45:20,960 --> 00:45:23,239
the same Yeah, what's the thing
you want here? Exactly? Yeah,

611
00:45:23,239 --> 00:45:27,239
but I do get it. You
know, things that command line tools,

612
00:45:27,239 --> 00:45:30,320
they have a lot of arguments like
f FM PEG or any kind of you

613
00:45:30,360 --> 00:45:36,000
know, get new face piping and
power show type. Yeah. Right,

614
00:45:37,079 --> 00:45:39,440
that's why you need a macro.
Yeah, but I've got one example that's

615
00:45:39,440 --> 00:45:45,519
really working fine in sequel. Sequel
is a language which can be spoken very

616
00:45:45,519 --> 00:45:50,519
well. So I've got some like
siquel select. I've got such a statement

617
00:45:50,559 --> 00:45:53,880
which will write out a base a
sickle select segment and then I can okay

618
00:45:53,880 --> 00:45:59,320
sequel from sequel to a sequel like
and it would just in a very very

619
00:45:59,360 --> 00:46:04,239
high speed out to command. So
and I used to use use some some

620
00:46:04,320 --> 00:46:08,639
Microsoft Cycle commands. You know,
if it's a command land utility and it's

621
00:46:09,360 --> 00:46:13,280
using speech, is very very outfoot
here. You know, you talk about

622
00:46:13,400 --> 00:46:16,360
that English has a funny order to
things that you want to say debug run

623
00:46:16,400 --> 00:46:20,920
not run debug it. Certainly SQL
has that problem where really you want the

624
00:46:21,000 --> 00:46:23,559
from clause first, you want to
tell you these are the tables I want

625
00:46:23,599 --> 00:46:27,920
to play with. Then this is
what I want to fetch from it?

626
00:46:28,119 --> 00:46:31,320
Then they here are the filters or
the restrictions on what chipo. Yeah,

627
00:46:31,320 --> 00:46:35,639
you got to always write the wear
clause before the delete clause, right,

628
00:46:37,320 --> 00:46:40,360
that's me now, I know,
yeah, sure, yeah, you know,

629
00:46:40,679 --> 00:46:45,079
you're right. You could do the
from, You could do the from

630
00:46:45,400 --> 00:46:49,039
and the where before you've even decided
in my retrieving data, deleting data,

631
00:46:49,119 --> 00:46:51,639
updated data like its own separate things. You're stuck with this. You just

632
00:46:51,719 --> 00:46:53,679
have to break those pieces of part. We are stuck with this. It's

633
00:46:53,719 --> 00:46:58,840
a standard and we have to just
get the custom Yes, yeah, but

634
00:46:59,079 --> 00:47:00,519
I mean, you know it's interesting
when you think that way is as you

635
00:47:00,599 --> 00:47:05,280
get those conditionals in play, it
could be queery and telling you how many

636
00:47:05,320 --> 00:47:08,599
rose that's going to be all along
before you've even actually said okay, well

637
00:47:08,639 --> 00:47:13,199
now show me this or take this
action on that set. But you know

638
00:47:13,239 --> 00:47:15,599
the shape of the set just by
describing it. Yeah, but what I'm

639
00:47:15,880 --> 00:47:19,960
I'm just thinking chat. I'll say
I've got cheat schippd all most of the

640
00:47:20,039 --> 00:47:24,719
time, and it is very good
at creating sick with statements nice. So

641
00:47:25,320 --> 00:47:29,440
you can say, okay, I've
got fist sea shop class here, and

642
00:47:29,519 --> 00:47:31,960
you past the sea shop class and
say, hey, please write a select

643
00:47:31,960 --> 00:47:38,199
segment for fift sea shop class nice
normally do it without errors. And I'm

644
00:47:38,280 --> 00:47:43,679
using the clickouse database right now,
and here's the same. So I can

645
00:47:43,760 --> 00:47:47,480
ask, okay, give me a
creat table statement for this sea shop class

646
00:47:49,519 --> 00:47:52,559
and it will do it nominally.
You know, chat gipt does better with

647
00:47:52,920 --> 00:47:58,440
languages other than English, doesn't it. It does, And what I mean

648
00:47:58,480 --> 00:48:04,400
it's a sea sharp programming languages SEQL. It tends to get those things better

649
00:48:04,840 --> 00:48:07,320
more accurately than it does. I
mean, of course the grammar and is

650
00:48:07,440 --> 00:48:10,840
stuff is fine, but you know, Lisa's not trying to mix facts with

651
00:48:12,039 --> 00:48:15,920
language. It's astonishingly could say I
asked it today for a TOSK command.

652
00:48:16,320 --> 00:48:21,039
It got it right. Normally,
it gets a secret statements right most of

653
00:48:21,079 --> 00:48:23,679
the time. It gets a c
shop statements right. And the good thing

654
00:48:23,719 --> 00:48:28,719
is it will output say you formulate
a prompt for the stuff you need and

655
00:48:28,760 --> 00:48:31,320
it will out puts a complete code. I want to ask it for some

656
00:48:31,920 --> 00:48:37,639
binary coding stuff. It was very
good. I wanted to work it all,

657
00:48:37,760 --> 00:48:38,880
but it was very cool. On
the other hand, you know,

658
00:48:39,000 --> 00:48:45,440
I was listening to an old Soul
Live record today. The guitar players sounded

659
00:48:45,559 --> 00:48:49,760
very familiar. It sounded like John
Schofield, and I looked at the name

660
00:48:49,760 --> 00:48:52,840
of the tune and I asked j
gpt as John Scofield ever played on the

661
00:48:52,960 --> 00:48:57,079
Soul Live tune blah blah blah,
and said, no, that was the

662
00:48:57,119 --> 00:49:00,800
original guitar player blah blah blah.
I looked on Wikipedi. No, I

663
00:49:00,960 --> 00:49:04,960
was right, it was go.
It was recognized his hand. I recognize

664
00:49:05,000 --> 00:49:08,519
that sound. So yeah, that's
what I mean. I mean, you

665
00:49:08,559 --> 00:49:13,920
know, with English queries it has
to get facts and mix that in with

666
00:49:13,960 --> 00:49:16,400
the language. It can give you
the wrong answer in a very eloquent and

667
00:49:16,440 --> 00:49:22,320
beautiful way. But with programming languages, sequel languages, there's really only one

668
00:49:22,360 --> 00:49:24,880
answer, you know, and the
compiler always gets to say, which is

669
00:49:24,920 --> 00:49:30,760
pretty useful. I've been thinking now
that to Aaron's comment as well, like,

670
00:49:30,960 --> 00:49:36,400
is this unsatisfying that you didn't write
the query yourself and I think describing

671
00:49:36,440 --> 00:49:39,960
the goal and having the tool assembled
the bits like we've always done this,

672
00:49:40,000 --> 00:49:44,719
there's always been a library you're recalling
to. I mean, and I want

673
00:49:44,760 --> 00:49:47,199
you hit this right early on Carl
Franklin because we have two Carls of the

674
00:49:47,199 --> 00:49:52,199
show. Doesn't make this more difficult
then writing a good comment with then you

675
00:49:52,239 --> 00:49:54,719
have something good Hub Copile, Like
half the time it's going to spew the

676
00:49:54,719 --> 00:50:00,159
code from the comment anyway, Is
that unsatisfying? I don't think it is.

677
00:50:00,159 --> 00:50:01,840
Is like, yeah, that's what
I was thinking. Wouldn't go and

678
00:50:01,880 --> 00:50:05,960
tweak it for me? For me, if this is okay, why should

679
00:50:06,000 --> 00:50:08,119
I write a complete secret statement when
it can do it for me. Yeah,

680
00:50:08,159 --> 00:50:12,840
it's just yeah, I know,
you know, it's like using a

681
00:50:12,880 --> 00:50:15,920
manual thrill or an elective elective trill. You want the hold, you want

682
00:50:15,920 --> 00:50:19,960
to hold, yes, and the
machine is doing it. So what it's

683
00:50:19,960 --> 00:50:22,960
okay, it's okay. The thing
that wouldn't be it wouldn't be satisfying is

684
00:50:22,000 --> 00:50:25,000
if I didn't understand what it was
saying, right, if it if I

685
00:50:25,039 --> 00:50:29,199
didn't understand the output. And you
know, that's the thing, like we

686
00:50:29,239 --> 00:50:30,920
all grew up doing these things by
hand. We learned how they work,

687
00:50:31,000 --> 00:50:34,880
we learned how sequel works, and
then when something does it for us,

688
00:50:34,880 --> 00:50:38,679
we're delighted because we know exactly what
it says. But somebody who just you

689
00:50:38,719 --> 00:50:44,400
know, asks CHTGBT for a sequel
statement and they plug in and it magically

690
00:50:44,440 --> 00:50:47,800
works. That's to me, would
be scary if I didn't know. There's

691
00:50:47,800 --> 00:50:53,280
a lot of discussion going on about
the risks of just copy and pasting generated

692
00:50:53,360 --> 00:51:00,119
code into programs, the security different
from stack overflow and every other way that

693
00:51:00,159 --> 00:51:05,280
we've gotten code that we didn't write. Stack overflow, you kind of they

694
00:51:05,360 --> 00:51:08,480
explain it though, you can read
through the narrative of the problem, and

695
00:51:08,559 --> 00:51:12,960
somebody, yeah, well when it
works well, and chat GPT does a

696
00:51:12,960 --> 00:51:16,440
good job of explaining code too,
it's just always correct correct, just like

697
00:51:16,440 --> 00:51:22,039
the folks on stack overflow. Yeah, yeah, fair point. Anyway,

698
00:51:22,239 --> 00:51:24,679
So what's next for you, Carl? What's in your inbox? What are

699
00:51:24,719 --> 00:51:30,000
you working on? I will continue
working on this IoT application, and this

700
00:51:30,079 --> 00:51:37,400
is my manual application occupation right now. I'm there designing data structures and say

701
00:51:37,400 --> 00:51:40,239
a very flexible computation kernel which can
be changed on the fly. So as

702
00:51:40,320 --> 00:51:44,320
as a code can be changed on
the fly, so it is doing some

703
00:51:44,360 --> 00:51:49,239
background compilation of c sharp and on
Zaza. And I'm still in my big

704
00:51:51,280 --> 00:51:57,639
industrial application where we've implemented a very
large solution for our clients and say different

705
00:51:57,800 --> 00:52:04,679
consulting tasks around like I'm doing consulting
regarding naturally speaking for some client, lots

706
00:52:04,719 --> 00:52:09,199
of stuff. Very good. Well, yeah, definitely, let's talk offline

707
00:52:09,239 --> 00:52:15,320
about making that your your macro library
available because I imagine that people would really

708
00:52:15,360 --> 00:52:19,519
be interested in that. And also
if we don't have it in your bio,

709
00:52:19,679 --> 00:52:23,840
how can people get in touch with
you? Easiest way would be email

710
00:52:23,840 --> 00:52:29,079
address, but you have to provide
it to you first. There's a commanding

711
00:52:29,159 --> 00:52:31,840
feature on my website. Yeah,
reclue the link to cobasoft and there is

712
00:52:31,840 --> 00:52:37,280
a contact page there. Yeah,
we'll do that. Very good, Carl

713
00:52:37,320 --> 00:52:42,840
Geets, thank you very much.
This has been very very enlightening. Yes,

714
00:52:42,920 --> 00:52:45,719
you're welcome, all right, and
we'll talk to you next time on

715
00:52:45,800 --> 00:53:09,199
dot net rocks. Dot net rocks
is brought to you by Franklin's Net and

716
00:53:09,280 --> 00:53:15,599
produced by Pop Studios, a full
service audio, video and post production facility

717
00:53:15,880 --> 00:53:20,800
located physically in New London, Connecticut. And of course in the cloud online

718
00:53:20,840 --> 00:53:24,559
at pwop dot com. Visit our
website at d O T N E t

719
00:53:24,800 --> 00:53:30,679
R O c k S dot com
for RSS feeds, downloads, mobile apps,

720
00:53:30,840 --> 00:53:34,800
comments, and access to the full
archives going back to show number one,

721
00:53:35,320 --> 00:53:38,039
recorded in September two thousand and two. And make sure you check out

722
00:53:38,039 --> 00:53:42,880
our sponsors. They keep us in
business. Now go write some code,

723
00:53:43,239 --> 00:54:01,800
See you next time. You got
javans and
