How'd you like to listen to dot NetRocks with no ads? Easy? Become a patron For just five dollars a month you get access to a private RSS feed where all the shows have no ads. Twenty dollars a month will get you that and a special dot NetRocks patron mug. Sign up now at Patreon dot dot NetRocks dot com. Hey, Carl and Richard here with your twenty twenty four NDC schedule. Will be at as many NDC conferences as possible this
year, and you should consider it tending no matter what. Ndcoslow is happening June tenth through the fourteenth. Get your tickets at ndcoslow dot com. The Copenhagen Developers Festival happens August twenty sixth through the thirtieth. Early bird discount ends April twenty sixth. Tickets at Cphdevfest dot com. Ndcporto is happening October fourteenth through the eighteenth. The early bird discount ends June fourteenth. Tickets at Ndcporto dot com. And we'll see you there, we hope. Hey, welcome
back to dot net rocks. I'm Carl Franklin, an amateur campbell we are gearing up for some stuff here are we not? This is definitely some stuff. The conferences is coming on again, right, like we have here there and Yon it's spring, right, you have an announcement about dev Intersection, do you know? Oh? Yes, dev Intersection got moved. We were supposed to be the second week of May and now we're down in the second week of September. So we had some opportunities there and to do some more
announcement related things. So it was like, hey, if we could just move it to September, and we were able to make a deal with the MGM Grand So Teta. I know it's frustrating for a few folks. We've been trying to help everyone else to be comfortable and make it reasonable and fair. But yeah, I'm what it does to the contents, Dac, you're gonna be really excited. Yeah, I'm glad we were able to do this, so it'd be a much better show in the fall, I think,
so and so dev intersection dot com. Yeah, all right, Well let's roll the crazy music for better no Framework awesome? Alright, man, what do you got right? This one came from Appy Next alumni, those trouble Makers troublemakers Brian McKay, who's always looking for new AI stuff, as you know. So this is a an AI uh enabled or empowered command terminal called WARP. Go to warp dot dev. Great you are ol holy man.
How about that? Huh warp dot dev. And so it says WARP is the terminal reimagine with AI and collaborative tools for better productivity, and it does doesn't exist yet. You have to join the Windows wait list. Oh, I see you if you're on Windows. But just take a just gander for a few seconds at what they're doing there in the terminal. It's like an animated gift for a little video or something. Yeah, I just wonder how real is that? Like I could make cool texts few out, but I
have to go on the wait list. Yeah yeah, and get this built with Rust well Orsinovich approves. You know, it's a pretty low level language. You know, it sort of straddles the line a little more safer than C plus plus, but still that kind of performance. So I'm laughing because Rust is making the news. Every once in a while I see news stories
that Microsoft is not abandoning C sharp for Rust. You heard it here first because there was some you know, there was just some rumors and stuff that, oh no, there was some c sharp services in Azure that we're being rewritten in Rust. Yeah, because you think about it from Microsoft's perspective, those services, the less compute they consume, the less it costs Microsoft to
operate, Right, we should be thanking them. Well, they could have rewritten them in C plus plus, but it would just cost more, So they rewrite them and Rust. And it just goes to show you there's a language for everything out there, right, yeah. Yeah, and for macro you know, super scale cloud stuff where you can see utilization so high that every cycle counts, that's worth doing a rewrite like that. It's just funny how people react, you know, Oh my god, Sea sharp is going
away. Yeah, it's not. There's not one language for exactly all right, Well that's what I got warped at dev and check it out at warp speed on your own time. Now back to you, Richard, who's talking to us Grady coppin te for show eighteen ninety two, pretty recent, the one we did with Michelle Duke talking about get Hub co pilot. I think we'll have a little AI conversation today and so you know, get hubgup pilot.
It's sort of the original for devs and Aaron Morgan wrote a bit of a missive I'm not going to hold that against you, Eric, because I thought it was very intelligent, But he said, I really enjoyed this episode with Sheell's great is always and I love the call out to jet Brain's Rider, as it's often not mentioned when Microsoft Stack is being discussed. I got
nothing bad to say about jet Brains or a Rider. They're great. A large part of my works out of soci comes from creating a solution from whole cloth and figuring out the problems as I go. I'm not a developer because it pays well, but the fun of it, the challenge of it, prompting an AI to generate my vision doesn't have the same appeal. Although I'm sure went to my employer since it means faster delivery, I feel like more time to be creative. Argument is a bit of a crock. No employer
is going to say great work or complete debt. Piece of work early. Now, think creatively on something else for the next week and stead it'll be here's the next task, Get on with it. I do pay for GPD for and have basically used it as a drop in replacement for stack overflow.
I've heard that before. Yeah, also, as I'm not great with complex EQL queries and the ability to describe tables to get a full query back as a massive time saver, I also use sveelt, and to Carl's point, I know just not to ask for anything on sveelt because it's of the project. But the twenty twenty one is largely they have no use of me today.
Yep. But I sit here having refactored a JavaScript function that I couldn't find the solution to using Google. After dropping in the function signature, GPT said that I needed to use a type alias and gave an example. So I've learned what a type alias is typescript. The code is tidier and more maintainable, and I don't feel like I didn't code the method. I think this is the crux of it. I enjoy learning new development things, and
this aspect of work being diminished with AI auto prompting. Yeah, I don't see how it was diminished at all. I think you had a very polite rubber duck helping you there. Yeah. Well, the problem comes when chat GPT offers solutions that are old, right, and you go and you look, and I just did this the other day. It offered a solution and I went and I checked it out, checked out the nugat packages that it suggested, and they've been deprecated. And so I said, hey, these
packages have been deprecated. Is there anything else? And it's like, oh, yes, more modern design. Would you use this? You know? Okay, why didn't you tell me that in the first place, you idiot. So Aaron wraps up with I want to use AI like a pod of nearby co workers that don't mind being interrupted. Beautiful description, But I don't want to use AI like I'm a project manager directing a team of devs who'll
do my bidding, but ultimately reading disconnected for the process of development. I feel like in the long run, AI coding will be a bit of a pyrrhic victory to the personal satisfaction and sense of fulfillment we get from working as software engineers. I don't know, you know, in the end, I was trying to get to the solution too, you know. I'm not opposed to power apps for the same reason A lot of people go, oh my god, no code Are you crazy. It's like I'm just trying to deliver
results, man, right, that's what's important. Yep, So Aerin, thank you so much for your comment. A copy of music codey is on its way to you. And if you'd like a copy of music Code by I read a comment on the website at don at Rocks dot com or on the facebooks. We publish every show there and if you comment there and a reading on the show, we'll send you copy of music Code. And we
definitely like to see you on Twitter. Of course, we've been there for a long time or x or whatever it is today, but the real cool kids are hanging out. I'm Mastodon. I'm at Carl Franklin at tech hub dot social, at average Campbell at Masodon dot social, and of course you can find all the ways you can contact me at Carl Franklin dot com. Okay, let's get to our guest today. Really excited to have Carl guides on. He is a freelance software architect and developer owner of Kobasoft GmbH.
Is Carl. Is there an acronym way to say that? Do you say gumba or do you just say GmbH? Ohh okay, like we say inc for incorporated r LLC. All right, So that's at Kobasoft dot Net Coba s o ft dot net building advanced applications for their clients with c sharp, SQL and web technologies. He has been working for Microsoft, Siemens Carl Zeis microscopy, banks and industry. His main topics are c sharp web standards,
generators, performance and accessibility. He's currently working on an IoT project with sensor data, flexible calculations and the ClickHouse database, and a large in house application for an industrial client with asp net SQL server, CRM document Management, product planning, materials and management. He's author of cobosoft log, a fast and easy to use logging library and log viewer, and he's using naturally speaking intensely.
He's been since two thousand and two. Welcome Carl, and you're a longtime dot net rocks listener, are you not, Yes, it's about two thousand and six. My started programing with Fishop about two thousand and two two thousand and three, and later I discovered your podcast and then enjoyed it a lot. Yeah, and the kind of things that you're into, you're kind of a generalist. It looks like you know, you're all over the map. You do a lot of things. Yes, yeah, very cool.
So we're talking about AI in speech and all of that stuff, and you've been it says you've been using Dragon Naturally Speaking, which you know isn't. I don't know if it was, it'd be considered AI. But it's certainly been around a long time and did a really really good job, and I guess still does. Does Naturally Speaking use AI on the back end? Now, yes, it is the two versions. So it's a testa person and so cloud version and so Cloud version is AI based, but it is more
an AI targeted to voice recognition. It's not like a check chippity, it's just to improve the quality. Right. Remember that story I told of the African gray parrot named Timmy that we wired up at the X ten that was a Dragon Naturally Speaking board in the in the nineties hard hardware. Yeah cool.
Yeah, So he doesn't know that story, but basically Richard had a parrot with his friends and they they taught it to, you know, shut the blinds and turn on the TV with the naturally speaking turn off its own on its own lights. So you know, you just wanted to let the parent have control of environment. We just didn't know the parrot like to go to bed early. He'd shut everything off at like seven, and if you try to turn it back off, he'd turned it back off again. I
remember you saying he used to do the car alarm. Oh yeah, he need car alarms perfectly because didn't matter what time of the day or night. If he did the car alarm, you got up. Very cool, So, Jimmy, yeah, you could do the same with the naturally Speaking. You could do your house automation and connective access to it and so on, because it's programma a programma. So yeah, So you use naturally speaking because it's the best thing that has been out there, or you've been using it
a long time or both both. Yes, I hadn't RSI a long time ago, say about two thousand and four, and then I started using speech input. I later solved this problem, but did the speech input proved to be very helpful to me. And so, as you know, you can use it for basic dictator, but it is also possible to use it for programming, for example, And this is what I do in a lot.
I'm using it together, like for example, the chet chippyt say, I've got my chet chippydy window here open, and instead tape of typing all the long prompts, I can just dictate the prompts right, And so it's way faster. It's like it's more like community communication. Yes, I've telled it something presenter, it responds. You could even let it read the response, but I'm not using it. It would take longer. Yeah, yeah, I think we can read faster than we can listen, right a lot.
Yeah. Interestingly, Mark Miller was spent the weekend at my house this last weekend and he was showing me something he's going to show off at build in Code Rush, which is basically speech commands, like you hold down the control key televisual studio what you want to do, and it does it, and you can even there's even macros to write code and things like that. It's just unbelievable. I've heard about this, But naturally speaking is much more flexible.
You can use it for any application, so you could control Windows or text processing or even visual studio or whatever you like. And so I've got a lot of commands, like thousands or so, and i can controlling nearly everything like when I start when I'm using visual Studio, I can say okay, build solution, and it will just build my solution. Yeah, and so on. Or if I want to insert the statement, if statement, I say the properate command and we'll just type it and it doesn't matter if
it's one line or one hundred lines. So are you actually speaking code or you're giving commands the studio both. It's it's completely flexible. Say the simplest use would be the just for documentation. Say I've got a summary head above my method, and I would just dictate the summary instead of typing it out. The moves my hands and it's way faster. It's really as fast as
we are talking right now. Probably write longer comments that way because because the other side of this is you're also effectively manifesting what you're going to code by describing it. Yeah, exactly. I got a question about microphones. I noticed that you're using like a dictation kind of microphone with you know, the MC comes over to your mouth headset, but I use the I have an Amazon Echo here and it's been pretty good about being able to pick up things
across the room. You can even whisper to it. And I never had that experience with any Windows based kind of you know, just using a regular microphone. Do you think that there's like stuff in there to cancel noise and you know, figure out exactly what I mean. That's the thing that's great about Echo. Do you do you always use this headset or have you found other microphones that work with ambients, you know, like an ambient microphone.
I think it's exactly as you say, so AMASO and Alexa will have some noise canceling and additional tools to improve the noise quality. But the big difference is that Alexa has to listen to say hundreds of words, and naturally speaking vocabularies about hundreds of thousands of words, so there's some much bigger risk for errors. So it's easily to confuse a personal name with the standard world and so on. And I've noticed the same thing with that girl. Yeah yeah,
yeah, yeah. Ask it a question and it gives you an answer based on something you didn't even say. Okay, yeah, but it answers enthusiastically, oh yeah, correctly, and it won't stop. I brought it into the house and Kelly got used to it. But after a while, you know, when I say a she starts to give it the keyword and then stop to stop barking. Kelly says, shut up, and it works.
But hearing lies the real issue. I find what you know, watching voice systems being used in general, people don't mind it if it works the first time, but as soon as it doesn't work the first time, then they feel done using it, so they don't want to use it anymore. Yeah, you're right. This was the case like ten years ago or fifteen years ago. When you started dictation, you really had to this is my next sentence. You know, you had to be very except on your pronunciation
and gaps between the words. Nowadays it just like talking. It would it would normally transcribe what we are saying. Now you can just record it and it would transcribe the text. And so so they've actually changed the underlying model
in naturally speaking, to use the more contemporary libraries. Yeah, nearly every version, say, whenever you got a new version from twelve to thirteen or fourteen, fifteen sixteen, it always improved recognition quality because I remember having to train a dragon board back in the day, and then you know that just sort of went away almost a decade ago when you think about Siri and so
forth, like training was longer needed. Yeah, you're right when theow speech wants you to train it to speak the paragraphs and stuff, and all of these things now that are cloud based, like even Google Speech recognition is great. I mean it just uses the cloud, but it doesn't doesn't require training. Do you have a keyword that you say, like when I use the Amazon Echo or do you just press a particular button when you want to give
a command? No, it's normally it's turned on when I'm working. So I have a special keyboard button, but it's really you can define any buttons as this button. So I've got a keyboard button. When I press it, it will turn onto microphone. And then when it's running, you can say okay, microphone off, and then it's off and you have to press the button again. But you can say okay, go to sleep, then continue listening. They say okay, wake up. Then it will come back
again. So it's more less like I say, but when I'm really working, it's turned on all the time. Are you worried that somebody's gonna like barge into the room and say, you know, order five thousand pounds of cement from Amazon. You know, it doesn't have this kind of connection. It just will type it out. Has that ever happened to you, though? Has somebody like gotten in the room and tried to screw everything up for you as a joke? No, Once I met a big error. I
dictated in English a Trauman text and this was very bad. Oh that must be interesting and that without checking it okay, but we're not never do it again. That's pretty funny. Well, do you know there's another aspect of this that I'm that appeals to me, which is that visual studio is a difficult application to navigate. You know, it's like the cockpit of a seven forty seven in there and then and the number of times I know it can
do this thing, I just can't find the menu item. So the idea that I could say this is what I want to do it and the speech control system that can navigate the tool for me, that's very compelling. Like that's a ton of time saved rather than flailing around in MANYUS. Yeah, that's exactly the point. Say I would say okay, synchronized class feew and it would pop up the class feel for the current class or method and similar
stuff. Okay, show Solution Explorer it would show the solution SPRA or debugging Locals it would show the debugging Locals window. So it's like I've wrote it in my email. It's like a third hand. Keep my right hand on the mouth and the left hand on the function keys for example, and all the typing would be done by naturally speaking by the voice. How where did those hooks come from? Did you do that or is that already available?
It depends on what you're doing. Say if you were a writer and would write a book, you would have thousands of commands already available, like make that boat or make that italic and go to the top, go to the bottom, select word. All of this is pretty fined and it's working fine. And let's say Microsoft Word and word Pad. But when you're having specific programs, like let's say Visual Studio, you have to define your own commands. There's no there are no pre build commands. But on the other hand,
it's very easy to do. It's like a huge shortcut manager. You can you can write or dictate a command name and the end. Then for example, you assign keystrokes and it would just repeat the keystrokes, but it's a little bit advanced though. You can say okay, press all a, then wait half a second, then press Charlie and so on, so it's like a huge keystroke macro manager. But you you don't have to remember remember any keystrokes for triggering it. You just say the command once you've done it,
once you have. Have you ever had the situation where a new version of visual Studio remaps key strokes or changes them. I've got my own mapping, which are usually key but yes, but it's easy to adapt. It's a matter of seconds you've adapted it. So you don't find that managing naturally speaking takes more time than you think it should. No, not at all, not at all. There's a command browser. You can see all the
commands. Basically, you've got two lists of commands. You've got you've got the build in commands, and there's a browser for these, and you've got your own commands, and there's also a browser, and it's very easy to manage. I bet with co pilot this makes a killer combination, right because now you can just speak a comment and then Copilot will actually write the code
and you don't have to sit there going for each blah blah blah. Right, yeah, but for each statements are a micro for me, I just say okay, state for each and it will inserts a complete forage statement. And that's with other stuff as well, So like if statements or standard HTML marker or on any of this stuff I've got on a command. But your macros don't know anything about the code that you're writing. The co pilot does. Yeah, so are you finding yourself using co pilot with naturally speaking more?
Now, I'm saying when code pilot presensive solution to me, I have to think about his suggestions and normally it takes more time than to just write it down because I'm very fast. I'm doing this for many years. Now. Do you have any videos of yourself writing code with naturally speaking that we can see? I don't have any. I'm really really my interest is peaked here. I could create one. Wow. Okay, well, if you create one, we'll put a link to it in the show notes. Okay,
it's fascinating. Just yeah, like you said, one hand on the function keys, one hand on the mouse, and all the texts you're just saying it. Yeah, So it's you know, you literally have a separate tool now to to keep these movies or your hands aren't bouncing back and forth. Yeah, and it's much faster. I'm a quite fast typist. I'm not slow, but this thing is still a lot faster. Instead of typing single characters, you get complete words, right, all right, So how
would you say? How would you say, use a link statement to pull a variable out from this list where this property value is between this value and that value. I would more less dictate it as it's written, like a state variable index, equal sign, dictionary, empty brackets and so on. Okay, so you really are writing, So there is a point where you have to dictate character by character code, Yes, depending on what I'm doing. Yes, what about moving the cursor around like you've got to go back
and change your phrase? I guess that's the mouse's job. You can still do that with keyboard with that barron, left, arrow and tab. And yes, I'm using the mouse and a keyboard as usually, but it is possible to control the mouths and the keyboard with naturally speaking, you can say, okay, go left five, or say you want to go ten lines, go down ten, and so it's easier than pressing the Donkey ten times for sure. Yeah. So here's another question, but not by much.
Here's another question. Do you sell your macro library like your mappings? No? Would you want to? Because I think people listen to this want to mind, Yes, sir, why not? Now you're into the accessibility space in general, which is screen readers and like hardware dedicated for folks that have limitations in certain areas. Are you using any of that in your own work? Yes, I've been using it. I had a rs I U many years ago, as I said previously, Yeah, and for some time I
really was using naturally speaking to control everything just to save your wrists. Yeah, and I couldn't even shower. It was very bad. And you had bad rs I. Friend, that's serious, like it hurts all the time. Okay, can you just explain what RSI is repetitive stress? Insure you're
okay? So again, our friend Mark Miller was very big on always wearing the races to reduce This is essentially caused by the tendons in your hand a brady against the sheaths in your wrist to the point where they inflame and puff up enough that they burn all the time. It's it's agonized Wow. So I know, as a guitar player, if I write a lot of code, if I'm coding all week, right, and then I go try to play without practicing or warming up, my fingers don't know what to do.
And so you know it kind of is appealing to me. But does it hurt like this, No, it doesn't hurt. But they just don't do what you want them to do, Like they don't move. You know, your brain isn't used to sending the signals to play a scale. It's used to sending the signals to spell your name or your email chests. It's a very different motion. But and I would argue, because you switch between those different motions, your hands are in better shape. Yeah, you're probably right,
right. The problem with typing, all this typing all the time is it's the same motions over and over. It's repetitive. Right. Plus there's also a whole conversation about wrist angles and and keyboard heights related to the table to share heights, like that ergonomics of minimizing stress on your rest because once you go down that inflammation path forever, will it haunt your destiny? Like as soon as as soon as your wrists start to be inflamed. Like everything,
it gets worse and worse and worse. Yeah, there are two points, so and you mentioned one of them already. At this time I had the PIT twelve deficiency and it was measured and a lap and so I substituted it. And it improves the situation a lot because pit twelve goes on all the sheds like nerve, fair and shes and and you know it's it causes inflammation when it's missing. Yeah, and the other point is missing plot flow. So the hands are not exercised enough. It's this repetitive, repetitive movement
which all it's the same, but it doesn't really use the hands. And so so as a solution for me was to do some training, heavy weights training, and this helped a lot. This really hap It will hurt initially. It will hurt initially because there's an inflammation, but on so long run it will improve. That's a flow of blood and lymph fluid, and so I don't have this problem anymore. Physiologically, typing is bizarre. It is kind of right to just flex the tendons while not moving the arm almost at
all, Like it's very your body wasn't built for this. This is crazy, So I mean the whole I'm a big Pomadoro fan like that. Twenty minutes, get up, move around, and so forth. That's about just making your blood move right, arms over your head, arms down like that. All that's making blood move, which does not happen when you're hovering over the keyboard. The problem is you get in the groove and four hours go by, yep, and you're a couple of happy exactly where you're sitting.
The moment you move in any way, you're like, I'm in agony, like everything hurts you get up and you didn't realize your assert that much and now I'm struggling to get up right and because you just you've been in the zone. Are there situations where you're using software apart from visual Studio software that you're trying to automate and there are things that are only menu options or buttons that you have to click. There are no keyboard shortcuts. What do you
do in that situation? If it has no keyboard trot cut at all, it's a little bit harder. But there's the second way. The program can recognize certain screen elements like, for example, standard buttons or proser buttons and everything. They say. All of these are recognized by naturally just speaking itself, or by its plugins. So when you're in a standard Windows program, you can say okay, click open, click safe, click order, and
when you're on a Prouse or you can all. There are also commands, for example to list all links, or list all buttons and so on, and suse okay, click five or or click one, and so it will navigate. But if it's graphics only, application becomes very hard, say a game, for example, if there are no standard Windows elements, it's nearly impossible. Nearly impossible. Yeah, yeah, interesting, interesting problems. So just dart a solution to everything. But this is also where you get into
that accessibility part. Good software has multiple ways to do a given task because different people have different abilities. Yeah, exactly, And this is what we're doing. There are you will know, semantic markup in HTML and this is the first step. Then there are all these area at tags and other messets to get it accessible. And I've been doing this for some time and know
some more experts in this area. And then you get the website which is completely can be navigated by voice, you can its content, you can everything by voice. That's cool. We've and we've done that show right, like we've talked about access building with both sides. Okay, hey guys, let's continue the conversation after this quick break for some very important messages. We'll be right backed and we're back. It's dot Net Rocks. I'm Carl Franklin.
That's Richard Campbell. How do you And we're talking to Carl geist about doing everything with speech that you can do with your hands almost. I do like the mix. There's some things that are served well by the hands, and some things were served well by the voice, like writing a longer comment because I can go on and on makes a lot of sense. Yeah, or writing a book on the history of dot net, for example, that might be a good thing to use. I don't know the absolutely did I say
something wrong Richard? Anyway? So so let's talk about some of the practical things that you're using this for within visual studio itself. I imagine you've piqued the interest of our listeners, especially those you know who might have limited hand movement. So just give us a quick example of something that you You mentioned a couple of macros in the way that you set up projects and things, but what are the give us a run through the how you would typically go
about programming a new app web app. Let's say, like how do you drag and drop elements from one window to another? For example? What are some of the more challenging things for drag and drop? I have to use some mouse, so that's maybe not the way you can put control of the mouse by voice, but it's it's very hard to do it very slow. And then normally, say when I would start debugging, I would say okay, dee buck run and then it would start debugging. Or I would say
okay, let's say de buck breake pund and would set the breakpoint. And then I've got different variations. You might know the safe we web tools have different keyboard short cuts, so I've got different keyboard short cuts like for a browser and the development and environment, and that's safe for for running commands.
And then when I want to dictate a statement, for example, I would say okay, state for each and it would just write the complete for each statement, and or you have to fill in the values obviously for each what you know, yeah, but it's it will normally trigger a snippet of visually snippet and the stimple will place the curse on the right location. So I'm combining these two. I've I've got balance snippets. I've got the standard snippets
and many times and triggering snippets by using voice commands. So I've got one little more flexibility. And if you're at a breakpoint, can you examine the value of a variable without using your hands? Normally I would say okay, deva locals and it will would show the locals window, or deebug inspect it will show this F nine variable inspection window and so on, wow and so or I've got one debug variables which should which you all like locals watch and
whatever. It would show multiple windows. And then let's say, look up this exception value on with chat BT. Can you you could? I've got miracles, say yeah, Say but I've got a micro for example, where I can select the text and say look up that, and it would open the browser and look up this this code. Cool, And so I'm I'm saving say twenty keystrocks or so I swear to god you could sell this library of macros. I wouldn't mind. I've been selling share before, so yeah,
be a problem. Say there's one statement like source block, it would select the complete if statement, and so variations which would select the if statement and some surrounding statements or only the inner part of the if statement and so on, and so I'm saving a lot of time. Sometimes it's like twenty
keystrucks so more. Or like you're looking for record expression, say this typical record expression for identifiers like a too set zero to nine underscore blah blah, and this would be regas expression a recas identifier, and it would select. It would just type it out. And you might notice that I'm using kind of reverse notation, so I say debug run or yeah, it's always reverse, And this is intentionally so I can find all debugging commands. And by
doing this, it's also possible over a remote desktop connection for example. Sure it doesn't mind. Say I can go to an RDP session use my same commands as before without any problems. You don't have to install anything on the
RDP on the VM. You mean, I think you mentioned this when you when you're navigating menus, you can just literally read what's on the screen, right, You can say menu file or something like that, and then you know, like if there isn't a keyboard shortcut, but there's a menu shortcut. Yes, you could say file blah blah blah blah blah blah, and whatever you see on the screen, you can read right and it will select
it if it's recognizable. Say there are some Windows accessibility features, and if the target program supports you can say, okay, click file, click open, click tools, click settings. This is possible. If it's like a graphics only application, it's not possible. It's the program you cannot recognize anything. But most Windows menus usually have a keyboard hot key associated with it, so you could just say press A, press B whatever exactly as you say.
You could say, okay, press all, control print screen, This is possible, press chift, control entro. It's also possible. Bring up notepad, paste video, run paste clipboard. I'm always done how many times I run notead given day, still to this day, Like, Yeah, it's just it's the bok place I put things. You know what you use it for. I use it as a text filter, Like you pull something off of the of a website and before you paste it into email, you
want to remove all the formatting. You just ASKI by you, I think you would already expect it. But I've got a micro for this. Yeah, of course you do. We're going into business a paste text micro and if we just remove all the garbage, it's paste text. Wow. Yeah, it's a good. Wow. That's cool. Yeah. How many times you've been copied a URL and found out you don't have it? You don't actually have that ur ur l you have fifteen trackers that eventually lead to URL.
Perhaps maybe Yeah, all right, let's we gotta go. We gotta keep going with your awesome macros. Here tell us that some of the other really productivity enhancing macros you have, whether visual studio or not. Let's say I'm also controlling Outlook, and say there are two ways to control other applications. One option is to have a plug in, like, for example, there's an exit blocking or word plugging or Outlook plugin and so on. There
are other options to write your own macros. And so I've got a lot of micros, for example, for Outlook to switch the text language. Say I'm dictating in say two three different languages, and so I've got a macro for just switching the languages. You know, how I control Outlook? I use Gmail. That's how okay. Could I say that out loud? Yeah okay? Or say, I've got templates for the ciffix of a letter, the prefix of a letter, all kinds of salutations and so on, So
I don't have the type okay, dear sir or madam. Now I just say it wow, and it will write it for me. You know this laurum ipsum text template all the people are using in the web, I've got it. Macro texts yeah, lower mid some and say, I've also got to say text templates for say you want to test text, test an input, feel if it's if you can fit one one hundred characters. So I've got templates which create like small rulers from Escui characters and it is exactly one
hundred characters, and you can see if it fits or not. And I've got one for one thousand characters and so on, and so it's it's very handy for testing. Sure, it allows repetitions. For example, as I told you, you can say okay, go up one hundred. But you can also have your own macros repeat. So if you've got one macro and then you can have another one and say okay, repeat it twenty times. And it will repeat the macro twenty times. Wow, I'm stunned. They
just yeah, And I can see how you just gradually accumulate these. You write a macro once and then you get to keep reusing. It saves you a lot of work, a lot of you can because it's it's basic. It's programmable, programmable in the basic language. So it has a very old, very small basic in the inside, and you can write all kinds of clip statements. You can access the clipboard, you can access your last dictation words and so on. So it's it's very flexible. And so like I
mentioned, I'm also of the coples of logging library. And so when I say okay, lockdow world both, it will insert the lock for both statement. When I say okay lock doot warning, it will insert the warning statement. But only log dot is a fixed part and the last part is flexible. It's it it's accessing the word I said, And so you have lots of possibilities here. And as I told you, it's it's like a third
hand. I've I've got my hand on the mouth and the function keys and so on, and most of the typing is being done by by voice. You just don't have to deal with it. I know it's I say, I love to see the video because it definitely is a rhythm, you know, of a flow right to what that would look like? Yeah, I mentioned flow, you mentioned the debugger, but where does that end up going? Like ultimately, I guess you're getting back to a piece of code you
need to correct. At least, I didn't understand the question, like when you when you're I'm just thinking about the debugging workflow. It's different from the coding workflow. You certainly can start the debugger, you set a break point, you run, you drop to the break point. Now you're checking values, maybe tweaking some code and continuing. Yes, that's right, Yeah,
but it's this has the same statements. I've got lots of say, seventy debugging statements, and I'm running them all the time, like looking at variables or showing certain windows and so on, continuing breaking whatever, set next statement. Okay, so but that's a normal process. Step step step step step.
Okay, that gets old. I've I've got my fingers on the keyboard and I'm using the function keys for this, right, But talking talking about the flow, say, writing a longer comment would get you out of flow when programming. But when you when you type it, when you say it, when you say it, when you're talking to the machine, it's way faster. And as you mentioned before, it's like talking to myself. I repeat my programming ideas in a different language, meaning a natural human language,
and so I can reflect on what I'm writing here. And sometimes I'm doing this very excessively, say oh, I've got normally I've got some wordpat open or word open, and I write my concepts down by using speech and collect them and arrange them, and then I start writing code. So it's useful on this part too. And what I also can do you you know, all of you. You know pentot net. This is pending application, and it's also possible to automate thee is like for inside for example, for inserting
a picture and song. All of this is possible by voice commands or say many times a day. You have to write the current date and time, or say only the date, like for example when opening a kit branch or giving a file name or whatever it's on a macro. I've got a macro, or say different six or eight which insert current date time in different formats and then I've got all my posonial information like street or address, or or phone number or whatever. It's also on macros, so when I'm filling out
the form, I just don't worry. I've got my street correct, my phone number correct, and so on. But there's one point where you have to be careful because you're writing an email by voice. There will be no typos because this system will just take the words from its dictionary and insert them.
But sometimes it gets the words completely wrong. So it's a spell checker will not find anything, but if you'll still be wrong right, And that's the point where you have to be careful always, or tool like grammarly would catch that better than the spell checker will. Yeah. So here's a quick question, and I think you touched on this before, but are you more confident about using any web site in a browser than if you, for example,
download a new Windows application. Now you have to figure out all the keyboard shortcuts because it's in the browser. Does that help, like you feel more confident go into any site and being able to manipulate it and do what you want to do with naturally speaking, then it would be getting a new program. No, I'm not using naturally speaking a lot for websites, it is possible, but it's say, for me, it's not necessary. I can use my hands and so I'm not using a lot. But what you're
saying, it's right saying I'm doing it. I'm doing a lot of user interface and usability and so on. And I've seen that many people are more confident when using the mouse or touch screens and so on, so it's easier just point and click and test it. It's you don't have to remember any shortcuts. That's that's fair. Yeah, But on in my client base, you clearly see different users, kinds of users. Some are using the mouse all of the time and some and some really want keyboard short cuts because they
want to work fast, and so you can support both. There's no problem at all. It's you can support keyboard short but touch voice input all at the same time. And getting back to the better know framework, which was the warp command line thing, I imagine that command line interfaces are a lot easier to use a Dragon interface just because of the nature of you know, your text in text out easy. Yeah, you're right, so PowerShell maybe, Yeah, it depends on what you're writing, like write a push REQUI
write a pull request in the command line to gethub with your voice. That's a lot of dashes and well macros right, macros y micro create for the data. You can even have macros with prompts. You could have a base macro and it prompts you in the middle for some argument and it would complete the same Yeah, what's the thing you want here? Exactly? Yeah, but I do get it. You know, things that command line tools, they have a lot of arguments like f FM PEG or any kind of you
know, get new face piping and power show type. Yeah. Right, that's why you need a macro. Yeah, but I've got one example that's really working fine in sequel. Sequel is a language which can be spoken very well. So I've got some like siquel select. I've got such a statement which will write out a base a sickle select segment and then I can okay sequel from sequel to a sequel like and it would just in a very very high speed out to command. So and I used to use use some some
Microsoft Cycle commands. You know, if it's a command land utility and it's using speech, is very very outfoot here. You know, you talk about that English has a funny order to things that you want to say debug run not run debug it. Certainly SQL has that problem where really you want the from clause first, you want to tell you these are the tables I want to play with. Then this is what I want to fetch from it?
Then they here are the filters or the restrictions on what chipo. Yeah, you got to always write the wear clause before the delete clause, right, that's me now, I know, yeah, sure, yeah, you know, you're right. You could do the from, You could do the from and the where before you've even decided in my retrieving data, deleting data, updated data like its own separate things. You're stuck with this. You just
have to break those pieces of part. We are stuck with this. It's a standard and we have to just get the custom Yes, yeah, but I mean, you know it's interesting when you think that way is as you get those conditionals in play, it could be queery and telling you how many rose that's going to be all along before you've even actually said okay, well now show me this or take this action on that set. But you know the shape of the set just by describing it. Yeah, but what I'm
I'm just thinking chat. I'll say I've got cheat schippd all most of the time, and it is very good at creating sick with statements nice. So you can say, okay, I've got fist sea shop class here, and you past the sea shop class and say, hey, please write a select segment for fift sea shop class nice normally do it without errors. And I'm using the clickouse database right now, and here's the same. So I can ask, okay, give me a creat table statement for this sea shop class
and it will do it nominally. You know, chat gipt does better with languages other than English, doesn't it. It does, And what I mean it's a sea sharp programming languages SEQL. It tends to get those things better more accurately than it does. I mean, of course the grammar and is stuff is fine, but you know, Lisa's not trying to mix facts with language. It's astonishingly could say I asked it today for a TOSK command. It got it right. Normally, it gets a secret statements right most of
the time. It gets a c shop statements right. And the good thing is it will output say you formulate a prompt for the stuff you need and it will out puts a complete code. I want to ask it for some binary coding stuff. It was very good. I wanted to work it all, but it was very cool. On the other hand, you know, I was listening to an old Soul Live record today. The guitar players sounded
very familiar. It sounded like John Schofield, and I looked at the name of the tune and I asked j gpt as John Scofield ever played on the Soul Live tune blah blah blah, and said, no, that was the original guitar player blah blah blah. I looked on Wikipedi. No, I was right, it was go. It was recognized his hand. I recognize that sound. So yeah, that's what I mean. I mean, you know, with English queries it has to get facts and mix that in with
the language. It can give you the wrong answer in a very eloquent and beautiful way. But with programming languages, sequel languages, there's really only one answer, you know, and the compiler always gets to say, which is pretty useful. I've been thinking now that to Aaron's comment as well, like, is this unsatisfying that you didn't write the query yourself and I think describing the goal and having the tool assembled the bits like we've always done this,
there's always been a library you're recalling to. I mean, and I want you hit this right early on Carl Franklin because we have two Carls of the show. Doesn't make this more difficult then writing a good comment with then you have something good Hub Copile, Like half the time it's going to spew the code from the comment anyway, Is that unsatisfying? I don't think it is. Is like, yeah, that's what I was thinking. Wouldn't go and tweak it for me? For me, if this is okay, why should
I write a complete secret statement when it can do it for me. Yeah, it's just yeah, I know, you know, it's like using a manual thrill or an elective elective trill. You want the hold, you want to hold, yes, and the machine is doing it. So what it's okay, it's okay. The thing that wouldn't be it wouldn't be satisfying is if I didn't understand what it was saying, right, if it if I didn't understand the output. And you know, that's the thing, like we
all grew up doing these things by hand. We learned how they work, we learned how sequel works, and then when something does it for us, we're delighted because we know exactly what it says. But somebody who just you know, asks CHTGBT for a sequel statement and they plug in and it magically
works. That's to me, would be scary if I didn't know. There's a lot of discussion going on about the risks of just copy and pasting generated code into programs, the security different from stack overflow and every other way that
we've gotten code that we didn't write. Stack overflow, you kind of they explain it though, you can read through the narrative of the problem, and somebody, yeah, well when it works well, and chat GPT does a good job of explaining code too, it's just always correct correct, just like the folks on stack overflow. Yeah, yeah, fair point. Anyway, So what's next for you, Carl? What's in your inbox? What are you working on? I will continue working on this IoT application, and this
is my manual application occupation right now. I'm there designing data structures and say a very flexible computation kernel which can be changed on the fly. So as as a code can be changed on the fly, so it is doing some background compilation of c sharp and on Zaza. And I'm still in my big industrial application where we've implemented a very large solution for our clients and say different consulting tasks around like I'm doing consulting regarding naturally speaking for some client, lots
of stuff. Very good. Well, yeah, definitely, let's talk offline about making that your your macro library available because I imagine that people would really be interested in that. And also if we don't have it in your bio, how can people get in touch with you? Easiest way would be email address, but you have to provide it to you first. There's a commanding feature on my website. Yeah, reclue the link to cobasoft and there is a contact page there. Yeah, we'll do that. Very good, Carl
Geets, thank you very much. This has been very very enlightening. Yes, you're welcome, all right, and we'll talk to you next time on dot net rocks. Dot net rocks is brought to you by Franklin's Net and produced by Pop Studios, a full service audio, video and post production facility located physically in New London, Connecticut. And of course in the cloud online
at pwop dot com. Visit our website at d O T N E t R O c k S dot com for RSS feeds, downloads, mobile apps, comments, and access to the full archives going back to show number one, recorded in September two thousand and two. And make sure you check out our sponsors. They keep us in business. Now go write some code, See you next time. You got javans and
