Let's vibe a new Windows feature LIVE using Voice Dictation and GitHub Copilot CLI
Read full transcript 41 segments
-
Hey friends, it's Scott. Um, in one Hey friends, it's Scott. Um, in one shot, no edits. I'm going to just talk a shot, no edits. I'm going to just talk a shot, no edits. I'm going to just talk a little bit about how I vibed this little bit about how I vibed this little bit about how I vibed this application right here. So, the idea was application right here. So, the idea was application right here. So, the idea was that there's uh a new feature coming out that there's uh a new feature coming out that there's uh a new feature coming out in uh Mac OS Tahoe and it's called in uh Mac OS Tahoe and it's called in uh Mac OS Tahoe and it's called Edgelight Edgelight Edgelight Mac Tahoe. And I thought it was cool. Mac Tahoe. And I thought it was cool. Mac Tahoe. And I thought it was cool. It's a new feature. And um It's a new feature. And um It's a new feature. And um basically what they're doing is they're basically what they're doing is they're basically what they're doing is they're putting a a light around the window. putting a a light around the window. putting a a light around the window. Okay. So um apparently it's quite more Okay. So um apparently it's quite more Okay. So um apparently it's quite more sophisticated than than we realize. You sophisticated than than we realize. You sophisticated than than we realize. You know, it it has this this circle. know, it it has this this circle. know, it it has this this circle. And it looks like a rendered And it looks like a rendered And it looks like a rendered um ring light like the ring light that I um ring light like the ring light that I um ring light like the ring light that I have right here. You can you can see have right here. You can you can see have right here. You can you can see that, right? And I can turn that ring that, right? And I can turn that ring that, right? And I can turn that ring light on and off. The idea is that your light on and off. The idea is that your light on and off. The idea is that your laptop screen is pretty bright, so why laptop screen is pretty bright, so why laptop screen is pretty bright, so why not put a ring light around it? So, I not put a ring light around it? So, I not put a ring light around it? So, I thought I would vibe vibe one. Now, some thought I would vibe vibe one. Now, some thought I would vibe vibe one. Now, some people on on the internet were like, people on on the internet were like, people on on the internet were like, "Vied? What's that?" So, not everyone "Vied? What's that?" So, not everyone "Vied? What's that?" So, not everyone knows what vibe coding is, but vibe knows what vibe coding is, but vibe knows what vibe coding is, but vibe coding is effectively using an LLM, coding is effectively using an LLM, coding is effectively using an LLM, using an AI to code something without using an AI to code something without using an AI to code something without caring about what the result looks like.
-
caring about what the result looks like. caring about what the result looks like. It's just vibes, man. And uh some people It's just vibes, man. And uh some people It's just vibes, man. And uh some people believe that the vibe coding is the believe that the vibe coding is the believe that the vibe coding is the future. and I have a little bit more future. and I have a little bit more future. and I have a little bit more nuanced perspective. However, for making nuanced perspective. However, for making nuanced perspective. However, for making fun stupid little utilities like this, fun stupid little utilities like this, fun stupid little utilities like this, it's actually not that complicated and I it's actually not that complicated and I it's actually not that complicated and I mean you can b code in anything u but I mean you can b code in anything u but I mean you can b code in anything u but I like using the uh the CLI. So I'm going like using the uh the CLI. So I'm going like using the uh the CLI. So I'm going to show you how I do that and how I did to show you how I do that and how I did to show you how I do that and how I did that particular edge application edge that particular edge application edge that particular edge application edge application and um what we'll end up application and um what we'll end up application and um what we'll end up doing is going through um some of the doing is going through um some of the doing is going through um some of the PRs and maybe we'll make like a change PRs and maybe we'll make like a change PRs and maybe we'll make like a change to uh to the edgelight. So, for example, to uh to the edgelight. So, for example, to uh to the edgelight. So, for example, let's go to Edge Light. let's go to Edge Light. let's go to Edge Light. Uh, so this is what I did yesterday. Uh, so this is what I did yesterday. Uh, so this is what I did yesterday. And, uh, I've got a PR here. And, uh, I've got a PR here. And, uh, I've got a PR here. This is, uh, PR from Neil's, which is This is, uh, PR from Neil's, which is This is, uh, PR from Neil's, which is very kind. Shout out to, uh, Neil's Lout very kind. Shout out to, uh, Neil's Lout very kind. Shout out to, uh, Neil's Lout um, for making the drop shadow look um, for making the drop shadow look um, for making the drop shadow look nicer. This is my drop shadow. It's kind nicer. This is my drop shadow. It's kind nicer. This is my drop shadow. It's kind of it's fine. His is like got a nice of it's fine. His is like got a nice of it's fine. His is like got a nice glow around it. So, that'd be kind of glow around it. So, that'd be kind of glow around it. So, that'd be kind of cool, right? So, let's fix that. Let's cool, right? So, let's fix that. Let's cool, right? So, let's fix that. Let's get his stuff. And he also did a little get his stuff. And he also did a little get his stuff. And he also did a little bit of a layout improvement on the bit of a layout improvement on the bit of a layout improvement on the update and some drop shadow stuff. Oh, update and some drop shadow stuff. Oh, update and some drop shadow stuff. Oh, and James is talking about adding in and James is talking about adding in and James is talking about adding in co-pilot instructions. So, shout out to co-pilot instructions. So, shout out to co-pilot instructions. So, shout out to James. So, James. So, James. So, here we have a project with a PR. It here we have a project with a PR. It here we have a project with a PR. It looks like it's PR number two. I could looks like it's PR number two. I could looks like it's PR number two. I could go out to the command line, pull out PR go out to the command line, pull out PR go out to the command line, pull out PR number two. I could go into Visual number two. I could go into Visual number two. I could go into Visual Studio, check out the PR. Um, there's
-
Studio, check out the PR. Um, there's Studio, check out the PR. Um, there's lots of ways to do this, but one way you lots of ways to do this, but one way you lots of ways to do this, but one way you could do it would be with Vibes. So, I'm could do it would be with Vibes. So, I'm could do it would be with Vibes. So, I'm going to go to the command line here. going to go to the command line here. going to go to the command line here. We've got my uh my PowerShell. You can We've got my uh my PowerShell. You can We've got my uh my PowerShell. You can see my blood sugar is right there. It's see my blood sugar is right there. It's see my blood sugar is right there. It's a little high because I had some ice a little high because I had some ice a little high because I had some ice cream a little earlier. Um, and I'm cream a little earlier. Um, and I'm cream a little earlier. Um, and I'm going to go out and I want to note that going to go out and I want to note that going to go out and I want to note that I'm using .NET 10 for this stuff. I'm I'm using .NET 10 for this stuff. I'm I'm using .NET 10 for this stuff. I'm going to type in Copilot going to type in Copilot going to type in Copilot using GitHub Copilot CLI. Now, I've got using GitHub Copilot CLI. Now, I've got using GitHub Copilot CLI. Now, I've got some mobility challenges in my hands. some mobility challenges in my hands. some mobility challenges in my hands. I've had some surgeries and some issues. I've had some surgeries and some issues. I've had some surgeries and some issues. So, I tend to use Windows H. So, I tend to use Windows H. So, I tend to use Windows H. Take a look at this application. Take a look at this application. Take a look at this application. Familiarize yourself with what's going Familiarize yourself with what's going Familiarize yourself with what's going on. And we're going to make a couple of on. And we're going to make a couple of on. And we're going to make a couple of changes. Period. So, I just typed Windows H, which is So, I just typed Windows H, which is built into Windows. Um, there's nothing built into Windows. Um, there's nothing built into Windows. Um, there's nothing in the CLI that cares about voice or in the CLI that cares about voice or in the CLI that cares about voice or not. Um, and you can see now that the not. Um, and you can see now that the not. Um, and you can see now that the CLI is going to list out the directory, CLI is going to list out the directory, CLI is going to list out the directory, read the readme, get it get a read the readme, get it get a read the readme, get it get a familiarity of what's going on here, and familiarity of what's going on here, and familiarity of what's going on here, and it says, "All right, what is your it says, "All right, what is your it says, "All right, what is your change?" I think I have a PR from last change?" I think I have a PR from last change?" I think I have a PR from last night. Let's take a look at that PR. Uh, night. Let's take a look at that PR. Uh, night. Let's take a look at that PR. Uh, check it out and uh, switch over to that check it out and uh, switch over to that check it out and uh, switch over to that branch.
-
So, again, I could go GH check out, you So, again, I could go GH check out, you know, PR. I could go and pull that down know, PR. I could go and pull that down know, PR. I could go and pull that down as well. It's fine. Um, I just wanted to as well. It's fine. Um, I just wanted to as well. It's fine. Um, I just wanted to show you a way for me to interact here. show you a way for me to interact here. show you a way for me to interact here. I'm not in a text editor. I'm not in I'm not in a text editor. I'm not in I'm not in a text editor. I'm not in Visual Studio. I'm not in Visual Studio Visual Studio. I'm not in Visual Studio Visual Studio. I'm not in Visual Studio Code. If I were to go and get Visual Code. If I were to go and get Visual Code. If I were to go and get Visual Studio or Visual Studio Code, I would Studio or Visual Studio Code, I would Studio or Visual Studio Code, I would get more. I would get a better get more. I would get a better get more. I would get a better experience. So, for example, while experience. So, for example, while experience. So, for example, while that's happening, if I loaded up Visual that's happening, if I loaded up Visual that's happening, if I loaded up Visual Studio Code and brought that over here, Studio Code and brought that over here, Studio Code and brought that over here, while that's running in the background, while that's running in the background, while that's running in the background, I'm going to click over here on um this I'm going to click over here on um this I'm going to click over here on um this guy, agent sessions. Okay. Okay. And guy, agent sessions. Okay. Okay. And guy, agent sessions. Okay. Okay. And agent sessions is new. And if I click on agent sessions is new. And if I click on agent sessions is new. And if I click on agent sessions, I can actually see agent sessions, I can actually see agent sessions, I can actually see all of my back and forth with the CLI. all of my back and forth with the CLI. all of my back and forth with the CLI. There's one there. You can see I didn't There's one there. You can see I didn't There's one there. You can see I didn't write applications, right? This is me write applications, right? This is me write applications, right? This is me having that conversation yesterday. You having that conversation yesterday. You having that conversation yesterday. You can see whole whole all my history. You can see whole whole all my history. You can see whole whole all my history. You can see my cloud agent sessions. You can can see my cloud agent sessions. You can can see my cloud agent sessions. You can see my local chat history. And then if I see my local chat history. And then if I see my local chat history. And then if I wanted, I could also use OpenAI codeex. wanted, I could also use OpenAI codeex. wanted, I could also use OpenAI codeex. And there's also a way to have a um a And there's also a way to have a um a And there's also a way to have a um a singular view. So I could have all of singular view. So I could have all of singular view. So I could have all of that in a singular in a singular view.
-
that in a singular in a singular view. that in a singular in a singular view. But uh that CLI agent, we could click on But uh that CLI agent, we could click on But uh that CLI agent, we could click on it and rehydrate it here as well if we it and rehydrate it here as well if we it and rehydrate it here as well if we wanted to. This is literally what what wanted to. This is literally what what wanted to. This is literally what what I'm doing in the CLI right now. But I'm I'm doing in the CLI right now. But I'm I'm doing in the CLI right now. But I'm not going to do that. I'm stay stay down not going to do that. I'm stay stay down not going to do that. I'm stay stay down here. So here I just said I think I have here. So here I just said I think I have here. So here I just said I think I have a PR from last night. It typed AR. You a PR from last night. It typed AR. You a PR from last night. It typed AR. You can see that it made a tool call and can see that it made a tool call and can see that it made a tool call and it's going to talk to JSON to that. It's it's going to talk to JSON to that. It's it's going to talk to JSON to that. It's basically making a tool call. It's basically making a tool call. It's basically making a tool call. It's calling out to a REST API, pulling out calling out to a REST API, pulling out calling out to a REST API, pulling out PR number four. It's getting that. Now, PR number four. It's getting that. Now, PR number four. It's getting that. Now, if I want to see that information, I if I want to see that information, I if I want to see that information, I could say expand recent with control R. could say expand recent with control R. could say expand recent with control R. I'm going to hit control R. And you can I'm going to hit control R. And you can I'm going to hit control R. And you can see that that's being hidden from me see that that's being hidden from me see that that's being hidden from me because it's, you know, JSON I don't because it's, you know, JSON I don't because it's, you know, JSON I don't need to see. And um it's just got those need to see. And um it's just got those need to see. And um it's just got those that remote branch. There's a PR4 branch that remote branch. There's a PR4 branch that remote branch. There's a PR4 branch right there. right there. right there. And you can also note over here I'm And you can also note over here I'm And you can also note over here I'm using Claude Sonnet. You can pick the using Claude Sonnet. You can pick the using Claude Sonnet. You can pick the models that you want. And because I have models that you want. And because I have models that you want. And because I have a pro account, I've got unlimited a pro account, I've got unlimited a pro account, I've got unlimited requests. requests. requests. Okay. Now, I'm starting to think that Okay. Now, I'm starting to think that Okay. Now, I'm starting to think that this is taking a little bit of time. So, this is taking a little bit of time. So, this is taking a little bit of time. So, I'm wondering why it's taking so long.
-
I'm wondering why it's taking so long. I'm wondering why it's taking so long. It might be a a timeout or something It might be a a timeout or something It might be a a timeout or something that's going on. Hey, that's taking a while. Can we check Hey, that's taking a while. Can we check out that poll request? Now again, if you're in a negative Now again, if you're in a negative negative mood, I'd say that's what I negative mood, I'd say that's what I negative mood, I'd say that's what I could type. This is a great this is a could type. This is a great this is a could type. This is a great this is a great example. If you're negative mood, great example. If you're negative mood, great example. If you're negative mood, yes, you could say, you could have just yes, you could say, you could have just yes, you could say, you could have just typed this. Yes, I could have. I get typed this. Yes, I could have. I get typed this. Yes, I could have. I get that. I'm just trying to teach y'all. that. I'm just trying to teach y'all. that. I'm just trying to teach y'all. So, it says here, get checkout PR4. And So, it says here, get checkout PR4. And So, it says here, get checkout PR4. And it's asking me for that very first time it's asking me for that very first time it's asking me for that very first time it's done that cool tool call, do I want it's done that cool tool call, do I want it's done that cool tool call, do I want to allow that command? So, I'm going to to allow that command? So, I'm going to to allow that command? So, I'm going to go ahead and say yes. And also, I could go ahead and say yes. And also, I could go ahead and say yes. And also, I could do get checkout. I could do um GH. I do get checkout. I could do um GH. I do get checkout. I could do um GH. I could use, you know, the GitHub alias or could use, you know, the GitHub alias or could use, you know, the GitHub alias or whatever. And you can see also that um whatever. And you can see also that um whatever. And you can see also that um we've pulled in this this PR. we've pulled in this this PR. we've pulled in this this PR. That's the wrong PR. This is a newer That's the wrong PR. This is a newer That's the wrong PR. This is a newer one. Use the GH CLI to get the PR uh one. Use the GH CLI to get the PR uh one. Use the GH CLI to get the PR uh from Neil's. So, this was a PR that I did earlier. So, this was a PR that I did earlier. So, because I wasn't specific about my So, because I wasn't specific about my So, because I wasn't specific about my PR, I just said get the the PR. It PR, I just said get the the PR. It PR, I just said get the the PR. It grabbed the one that was on the local grabbed the one that was on the local grabbed the one that was on the local branch. So, here it's going to go and branch. So, here it's going to go and branch. So, here it's going to go and grab uh grab uh grab uh a more recent PR, the one from from a more recent PR, the one from from a more recent PR, the one from from Neils.
-
Neils. Neils. I don't think that's his last name. So, I don't think that's his last name. So, I don't think that's his last name. So, it's going to grab them all. Now, it it's going to grab them all. Now, it it's going to grab them all. Now, it grabbed PR2. So, GHPR checkout 2. Found grabbed PR2. So, GHPR checkout 2. Found grabbed PR2. So, GHPR checkout 2. Found it. Now, this is the one I was it. Now, this is the one I was it. Now, this is the one I was mentioning before with Fluent Design. mentioning before with Fluent Design. mentioning before with Fluent Design. Okay. [sighs] Okay. [sighs] Okay. [sighs] Now, sometimes you'll see stuff like Now, sometimes you'll see stuff like Now, sometimes you'll see stuff like this because uh it's actually doing work this because uh it's actually doing work this because uh it's actually doing work asynchronously. spinning off tool calls asynchronously. spinning off tool calls asynchronously. spinning off tool calls in, you know, running them off at the in, you know, running them off at the in, you know, running them off at the same time. So, in this case here, it was same time. So, in this case here, it was same time. So, in this case here, it was doing something else and it said, well, doing something else and it said, well, doing something else and it said, well, you know, I'm not going to uh wait for you know, I'm not going to uh wait for you know, I'm not going to uh wait for output here. And then it does read power output here. And then it does read power output here. And then it does read power on. You can hit control R and you can on. You can hit control R and you can on. You can hit control R and you can see each of those as it makes those see each of those as it makes those see each of those as it makes those calls. calls. calls. Okay, so now we're on that PR. Let's go Okay, so now we're on that PR. Let's go Okay, so now we're on that PR. Let's go ahead and run this and uh let's see what ahead and run this and uh let's see what ahead and run this and uh let's see what it looks like. This looks nice. Um, and it looks like. This looks nice. Um, and it looks like. This looks nice. Um, and before you run it, show me uh more before you run it, show me uh more before you run it, show me uh more detail into what he actually changed. Now, again, it's conversational, right? Now, again, it's conversational, right? I could just go over here. I could click I could just go over here. I could click I could just go over here. I could click file changed. See the improvements.
-
I don't This is just doing formatting. I don't This is just doing formatting. So, Neils has removed some white space So, Neils has removed some white space So, Neils has removed some white space here. here. here. That's fine. That's fine. That's fine. He added a dynamic resource with a new He added a dynamic resource with a new He added a dynamic resource with a new brush and he changed the the radius. brush and he changed the the radius. brush and he changed the the radius. Did some formatting. Okay. He changed the layout of the Okay. He changed the layout of the button here. This button was using a u button here. This button was using a u button here. This button was using a u my button was using um emoji. He's using my button was using um emoji. He's using my button was using um emoji. He's using Sego fluent icons now. So he pulled in Sego fluent icons now. So he pulled in Sego fluent icons now. So he pulled in newer updated icons. That's just a formatting thing. That's just a formatting thing. Switched from a blur effect to a drop Switched from a blur effect to a drop Switched from a blur effect to a drop shadow. That's cool. shadow. That's cool. shadow. That's cool. This is me with human judgment and This is me with human judgment and This is me with human judgment and expertise. Change my buttons and then expertise. Change my buttons and then expertise. Change my buttons and then put a surface picture instead. Okay. So, put a surface picture instead. Okay. So, put a surface picture instead. Okay. So, let's see what the UI says. let's see what the UI says. let's see what the UI says. Yep. Change from a blur to a drop Yep. Change from a blur to a drop Yep. Change from a blur to a drop shadow. Saw the blur radius change.
-
shadow. Saw the blur radius change. shadow. Saw the blur radius change. Replaced emojis for sacred flu. Replaced emojis for sacred flu. Replaced emojis for sacred flu. I was able to look at that and grock it. I was able to look at that and grock it. I was able to look at that and grock it. And in this case here, it did the same And in this case here, it did the same And in this case here, it did the same thing. thing. thing. We'll go ahead and run it. We'll go ahead and run it. We'll go ahead and run it. It's going to do the tool run for me. Okay, nice. Oh, that's kind of nice. I Okay, nice. Oh, that's kind of nice. I like that. Okay, the app is running. You should see Okay, the app is running. You should see the Okay, that's cool. So then it ran it the Okay, that's cool. So then it ran it the Okay, that's cool. So then it ran it and then it, you know, shut it down. Now and then it, you know, shut it down. Now and then it, you know, shut it down. Now I can also hit I can also hit I can also hit um exclamation point here to spin up a um exclamation point here to spin up a um exclamation point here to spin up a shell. So I could say run in shell diir shell. So I could say run in shell diir shell. So I could say run in shell diir get the result and pop out of the shell get the result and pop out of the shell get the result and pop out of the shell and you can do this in other tools like and you can do this in other tools like and you can do this in other tools like warp. Um but I'm inside of GitHub warp. Um but I'm inside of GitHub warp. Um but I'm inside of GitHub copilot CLI and GitHub copilot CLI works copilot CLI and GitHub copilot CLI works copilot CLI and GitHub copilot CLI works by the way in both in PowerShell and in by the way in both in PowerShell and in by the way in both in PowerShell and in uh Ubuntu. So here I am in Windows uh Ubuntu. So here I am in Windows uh Ubuntu. So here I am in Windows switched over to Ubuntu. switched over to Ubuntu. switched over to Ubuntu. Um and I can go into my GitHub Um and I can go into my GitHub Um and I can go into my GitHub folder. I can run I can go into like my folder. I can run I can go into like my folder. I can run I can go into like my podcast podcast podcast run co Oops. Go into my podcast run run co Oops. Go into my podcast run run co Oops. Go into my podcast run co-pilot and we'll get the exact same experience and we'll get the exact same experience except here it's going to use Unix tools except here it's going to use Unix tools except here it's going to use Unix tools and GNU tools and over in um PowerShell and GNU tools and over in um PowerShell and GNU tools and over in um PowerShell world it'll use PowerShell stuff. So world it'll use PowerShell stuff. So world it'll use PowerShell stuff. So this is Windows, this is Ubuntu. It this is Windows, this is Ubuntu. It this is Windows, this is Ubuntu. It works in both. And um the tool calls in works in both. And um the tool calls in works in both. And um the tool calls in the MCP servers I can add as well. So if the MCP servers I can add as well. So if the MCP servers I can add as well. So if I wanted to go down here and say MCP, we
-
I wanted to go down here and say MCP, we I wanted to go down here and say MCP, we could look at our MCP server could look at our MCP server could look at our MCP server configuration and fire those up. If I configuration and fire those up. If I configuration and fire those up. If I wanted to add a bunch of MCP servers, I wanted to add a bunch of MCP servers, I wanted to add a bunch of MCP servers, I can also look at my session stats, my can also look at my session stats, my can also look at my session stats, my session ID, and my usage. session ID, and my usage. session ID, and my usage. You can see we've done five requests. We You can see we've done five requests. We You can see we've done five requests. We haven't changed any code yet. Okay, haven't changed any code yet. Okay, haven't changed any code yet. Okay, we've only been doing this for like we've only been doing this for like we've only been doing this for like eight minutes. Okay. [snorts] All right, eight minutes. Okay. [snorts] All right, eight minutes. Okay. [snorts] All right, cool. So, cool. So, cool. So, I'm going to look at the code more I'm going to look at the code more I'm going to look at the code more deeply, but do you see any risks in uh deeply, but do you see any risks in uh deeply, but do you see any risks in uh merging this PR? Now, everyone likes to talk to their Now, everyone likes to talk to their their agent uh differently. Some people their agent uh differently. Some people their agent uh differently. Some people think that uh they want to be very think that uh they want to be very think that uh they want to be very crisp. Uh I tend to be more crisp. Uh I tend to be more crisp. Uh I tend to be more conversational because I tend to do a conversational because I tend to do a conversational because I tend to do a lot of rubber ducking. I've talked about lot of rubber ducking. I've talked about lot of rubber ducking. I've talked about rubber ducking before. Rubber ducking is rubber ducking before. Rubber ducking is rubber ducking before. Rubber ducking is when you have your rubber duck and you when you have your rubber duck and you when you have your rubber duck and you put them on your monitor and you vibe put them on your monitor and you vibe put them on your monitor and you vibe with this rubber duck. And um I tend to with this rubber duck. And um I tend to with this rubber duck. And um I tend to do that with my friends. I'll call do that with my friends. I'll call do that with my friends. I'll call Damian. I'll call David. I'll brainstorm Damian. I'll call David. I'll brainstorm Damian. I'll call David. I'll brainstorm with them. And uh in this case here, with them. And uh in this case here, with them. And uh in this case here, since they're not around, I have these since they're not around, I have these since they're not around, I have these uh these conversations. So let's see uh these conversations. So let's see uh these conversations. So let's see here. High-risk theme mode system may here. High-risk theme mode system may here. High-risk theme mode system may not exist in. and a 10 WPF. Appears to not exist in. and a 10 WPF. Appears to not exist in. and a 10 WPF. Appears to be a Windows app SDK property.
-
be a Windows app SDK property. be a Windows app SDK property. So that's interesting. So I'm not as So that's interesting. So I'm not as So that's interesting. So I'm not as familiar with Win UI3 as I am with WPF. familiar with Win UI3 as I am with WPF. familiar with Win UI3 as I am with WPF. So it says app may fail to start. Need So it says app may fail to start. Need So it says app may fail to start. Need to verify if this is supported. That's to verify if this is supported. That's to verify if this is supported. That's cool. Dynamic fluent brushes or Win UI3. And these are all Win UI because because And these are all Win UI because because Neil's actually I think works on that Neil's actually I think works on that Neil's actually I think works on that team. So that makes sense. Older Windows team. So that makes sense. Older Windows team. So that makes sense. Older Windows 10 versions won't have this font. That 10 versions won't have this font. That 10 versions won't have this font. That is a risk. Performance I don't care is a risk. Performance I don't care is a risk. Performance I don't care about because it's just a stupid app. about because it's just a stupid app. about because it's just a stupid app. Yeah, we already saw the app run just Yeah, we already saw the app run just Yeah, we already saw the app run just fine, but I'm on Windows 11, there's no fine, but I'm on Windows 11, there's no fine, but I'm on Windows 11, there's no clean way for me to test this on Windows clean way for me to test this on Windows clean way for me to test this on Windows 10 without um 10 without um 10 without um um let me think here without firing up a um let me think here without firing up a um let me think here without firing up a VM and testing it, can you Google around VM and testing it, can you Google around VM and testing it, can you Google around and see a little bit more deeply um how and see a little bit more deeply um how and see a little bit more deeply um how you might confirm this? because we only you might confirm this? because we only you might confirm this? because we only have like 10 users. It's not a huge have like 10 users. It's not a huge have like 10 users. It's not a huge risk. But uh did he change the project risk. But uh did he change the project risk. But uh did he change the project file at all? Do we have any dependencies file at all? Do we have any dependencies file at all? Do we have any dependencies on any SDKs? Or is this still pretty on any SDKs? Or is this still pretty on any SDKs? Or is this still pretty much a WPF app?
-
Okay. Now, again, a little yappy, right? Okay. Now, again, a little yappy, right? I tend to yap because I'm I'm thinking I tend to yap because I'm I'm thinking I tend to yap because I'm I'm thinking about this. I'm trying to I'm not taking about this. I'm trying to I'm not taking about this. I'm trying to I'm not taking its word for it. I'm asking it to give its word for it. I'm asking it to give its word for it. I'm asking it to give me uh recommendations. You see, I asked me uh recommendations. You see, I asked me uh recommendations. You see, I asked about risk. It's categorizing. Any one about risk. It's categorizing. Any one about risk. It's categorizing. Any one of these things, this is important. Any of these things, this is important. Any of these things, this is important. Any one of these things could be wrong or a one of these things could be wrong or a one of these things could be wrong or a lie. Okay, so right now it's going to lie. Okay, so right now it's going to lie. Okay, so right now it's going to try to work with me. I could do these try to work with me. I could do these try to work with me. I could do these things here. It's doing web searches. things here. It's doing web searches. things here. It's doing web searches. It's Googling around, right? Okay, so It's Googling around, right? Okay, so It's Googling around, right? Okay, so now it says the PR is safe because now it says the PR is safe because now it says the PR is safe because system does work on .NET 10. Something system does work on .NET 10. Something system does work on .NET 10. Something that I could have learned by googling. that I could have learned by googling. that I could have learned by googling. We do acknowledge that this won't work We do acknowledge that this won't work We do acknowledge that this won't work on Windows 10. So that might be a on Windows 10. So that might be a on Windows 10. So that might be a challenge. I might want to think about challenge. I might want to think about challenge. I might want to think about that. that. that. Um, do I care? That's not a technical Um, do I care? That's not a technical Um, do I care? That's not a technical thing. This is a conversation. This is a thing. This is a conversation. This is a thing. This is a conversation. This is a um a PM thing, right? um a PM thing, right? um a PM thing, right? So, let me think here. Including by So, let me think here. Including by So, let me think here. Including by default the Windows 10 high res. default the Windows 10 high res. default the Windows 10 high res. Yeah, I was just going to say I was just Yeah, I was just going to say I was just Yeah, I was just going to say I was just thinking fall back.
-
I like the fallback idea. I like the fallback idea. It would be nice to do the fall back. It would be nice to do the fall back. It would be nice to do the fall back. Let's see what that would look like. Let's see what that would look like. Let's see what that would look like. Option B seems safe safer. Now, the funny thing is that again, this Now, the funny thing is that again, this this this uh this LLM has no context. Do this this uh this LLM has no context. Do this this uh this LLM has no context. Do you want me to check what your users are you want me to check what your users are you want me to check what your users are running? You don't know, bro, because running? You don't know, bro, because running? You don't know, bro, because you're an LLM. I don't have any users. you're an LLM. I don't have any users. you're an LLM. I don't have any users. This thing came out yesterday. We have This thing came out yesterday. We have This thing came out yesterday. We have three people running this app. three people running this app. three people running this app. So the question is, So the question is, So the question is, do these ah see this is great. So he do these ah see this is great. So he do these ah see this is great. So he uses four icons up, down, light bulb, uses four icons up, down, light bulb, uses four icons up, down, light bulb, and close. And um this one, the down and close. And um this one, the down and close. And um this one, the down might not might not work. So we're going might not might not work. So we're going might not might not work. So we're going to make that one small change to make that one small change to make that one small change on that font family. And now it thinks on that font family. And now it thinks on that font family. And now it thinks the app is running. It's going to go and the app is running. It's going to go and the app is running. It's going to go and stop the app, which it's not running stop the app, which it's not running stop the app, which it's not running because I closed the app. And then it's because I closed the app. And then it's because I closed the app. And then it's going to run it. And we're going to see going to run it. And we're going to see going to run it. And we're going to see what it looks like. And then what it looks like. And then what it looks like. And then we look right here. These are our our we look right here. These are our our we look right here. These are our our icons.
-
icons. icons. And then these dim the screen. That's And then these dim the screen. That's And then these dim the screen. That's nice. Nice. Comma. Let's make uh a clear Nice. Comma. Let's make uh a clear commit back to the PR and um commit back to the PR and um commit back to the PR and um see if this is cool. And then I think see if this is cool. And then I think see if this is cool. And then I think we'll bring this improvement in. Now we're on his PR, but the PR is to Now we're on his PR, but the PR is to me. It's going to go and look at that. It's going to go and look at that. Notice that we haven't opened up any Notice that we haven't opened up any Notice that we haven't opened up any idees yet. Now, if I if I did, I could I idees yet. Now, if I if I did, I could I idees yet. Now, if I if I did, I could I could use Visual Studio. I could use could use Visual Studio. I could use could use Visual Studio. I could use Visual Studio Code. It would be be fine. Visual Studio Code. It would be be fine. Visual Studio Code. It would be be fine. Now, I like to see these warnings. So, Now, I like to see these warnings. So, Now, I like to see these warnings. So, you're seeing that it's popping up tool you're seeing that it's popping up tool you're seeing that it's popping up tool calls because I always want to know for calls because I always want to know for calls because I always want to know for me, I don't run in YOLO mode and you me, I don't run in YOLO mode and you me, I don't run in YOLO mode and you only live once mode. Um, if it's going only live once mode. Um, if it's going only live once mode. Um, if it's going to commit something, I'd like to know to commit something, I'd like to know to commit something, I'd like to know Now here it's going to go and push that Now here it's going to go and push that Now here it's going to go and push that and then we'll switch back and then we'll switch back and then we'll switch back and we'll see that PR.
-
and we'll see that PR. and we'll see that PR. So What is James doing in here? What is James doing in here? Is he messing around in the Is he messing around in the Is he messing around in the I love that James on my team is running I love that James on my team is running I love that James on my team is running around in here. This is awesome. around in here. This is awesome. around in here. This is awesome. Okay. And that's on his branch. So, here's over here. So, here's over here. Yep. All right, let's go ahead and bring this All right, let's go ahead and bring this into main. Approve the PR and um let's bump this to version 1.8, I think, let's bump this to version 1.8, I think, is the most recent version, the correct is the most recent version, the correct is the most recent version, the correct version.
-
I've been having um some issues with my I've been having um some issues with my dictation lately pulling P's out. dictation lately pulling P's out. dictation lately pulling P's out. I think that my my pop filter is pulling I think that my my pop filter is pulling I think that my my pop filter is pulling out some of the P's. out some of the P's. out some of the P's. So you see the GHPR review too. Let's go So you see the GHPR review too. Let's go So you see the GHPR review too. Let's go back and see if that's actually happen. back and see if that's actually happen. back and see if that's actually happen. Oops. Look at that. No, no open pull requests. No, no open pull requests. No, that's 1.7 from yesterday. So, I No, that's 1.7 from yesterday. So, I No, that's 1.7 from yesterday. So, I made a mistake. So, this is great. Did I made a mistake. So, this is great. Did I made a mistake. So, this is great. Did I say 1.7 or I say 1.8? Oh, I did say 1.8. say 1.7 or I say 1.8? Oh, I did say 1.8. say 1.7 or I say 1.8? Oh, I did say 1.8. Cool. So, here's going to modify my Cool. So, here's going to modify my Cool. So, here's going to modify my assembly from 1.7 to 1.8. assembly from 1.7 to 1.8. assembly from 1.7 to 1.8. 1.8 includes these new improvements. 1.8 includes these new improvements. 1.8 includes these new improvements. It's perfect. Let's go back over here It's perfect. Let's go back over here It's perfect. Let's go back over here and look at actions. I don't think it's and look at actions. I don't think it's and look at actions. I don't think it's going to push. Ah, so I remember that I going to push. Ah, so I remember that I going to push. Ah, so I remember that I had issues with it pushing without had issues with it pushing without had issues with it pushing without asking and I found that irritating. So asking and I found that irritating. So asking and I found that irritating. So here I did the version bump, but I don't here I did the version bump, but I don't here I did the version bump, but I don't actually spin up a new release without a actually spin up a new release without a actually spin up a new release without a tag. So there's no action that's going tag. So there's no action that's going tag. So there's no action that's going to spin off because my GitHub actions to spin off because my GitHub actions to spin off because my GitHub actions pops on a uh on a tag change.
-
pops on a uh on a tag change. pops on a uh on a tag change. And then this right here was a mistake. And then this right here was a mistake. And then this right here was a mistake. Not an LLM mistake, but I said 0.6 Not an LLM mistake, but I said 0.6 Not an LLM mistake, but I said 0.6 instead of 1.6. instead of 1.6. instead of 1.6. Let's run this again locally. I want to Let's run this again locally. I want to Let's run this again locally. I want to see it run one more time just in case. Now, of course, the easy way to do that Now, of course, the easy way to do that would be just like net run. The other would be just like net run. The other would be just like net run. The other thing I did is I like to open up other thing I did is I like to open up other thing I did is I like to open up other um folders. um folders. um folders. Yeah, look. That looks great. I love it. Yeah, look. That looks great. I love it. Yeah, look. That looks great. I love it. I'm going to go over here and then I I'm going to go over here and then I I'm going to go over here and then I made a uh build.ps1. made a uh build.ps1. made a uh build.ps1. So, build.ps1 is going to build both an So, build.ps1 is going to build both an So, build.ps1 is going to build both an x64 and an ARM version. x64 and an ARM version. x64 and an ARM version. And I want to do single file apps. Okay, Okay, there we go. And see where it says in there we go. And see where it says in there we go. And see where it says in it's in publish. So, I'm going to start it's in publish. So, I'm going to start it's in publish. So, I'm going to start in publish. Publish. There you go. So, these are the ARM and There you go. So, these are the ARM and the x64.
-
the x64. the x64. versions that are sitting right there. versions that are sitting right there. versions that are sitting right there. Double click. Make sure that that works. Double click. Make sure that that works. Double click. Make sure that that works. Now, that's one single file. So, that's Now, that's one single file. So, that's Now, that's one single file. So, that's net 10. Everything that I want in a net 10. Everything that I want in a net 10. Everything that I want in a single app. I'm going to rightclick on single app. I'm going to rightclick on single app. I'm going to rightclick on it, hit properties, and confirm that it, hit properties, and confirm that it, hit properties, and confirm that it's version 1.8. Cool. Looks good. Let's go ahead and uh Cool. Looks good. Let's go ahead and uh tag this 1.8 and see if that kicks off a tag this 1.8 and see if that kicks off a tag this 1.8 and see if that kicks off a build in GitHub actions. I'm going to hit escape I'm going to hit escape because I'm worried that I said 18 and because I'm worried that I said 18 and because I'm worried that I said 18 and not 1.8. not 1.8. not 1.8. Sometimes these things are smart and Sometimes these things are smart and Sometimes these things are smart and sometimes they're not and you don't want sometimes they're not and you don't want sometimes they're not and you don't want to take any chances. And this is just to take any chances. And this is just to take any chances. And this is just one workflow. I'm not trying to sell you one workflow. I'm not trying to sell you one workflow. I'm not trying to sell you a workflow. I'm just trying to get you a workflow. I'm just trying to get you a workflow. I'm just trying to get you to think about does do do some aspects to think about does do do some aspects to think about does do do some aspects of this workflow make you faster? Do of this workflow make you faster? Do of this workflow make you faster? Do some of parts of this workflow piss you some of parts of this workflow piss you some of parts of this workflow piss you off? This I thought was really cool. You off? This I thought was really cool. You off? This I thought was really cool. You see how it says run list? GH run and GH see how it says run list? GH run and GH see how it says run list? GH run and GH workflow are actually going to Boom.
-
workflow are actually going to Boom. workflow are actually going to Boom. There it is. See, it just show up right There it is. See, it just show up right There it is. See, it just show up right there. These are cool. The way that it there. These are cool. The way that it there. These are cool. The way that it watches is with a tool call and then it watches is with a tool call and then it watches is with a tool call and then it lists and it's watching the the thing. lists and it's watching the the thing. lists and it's watching the the thing. See that? GH watch build progress. So See that? GH watch build progress. So See that? GH watch build progress. So then we can go over here and say watch build process. So this is and say watch build process. So this is a nice thing just to remind a lot of a nice thing just to remind a lot of a nice thing just to remind a lot of people who do the command line I like to people who do the command line I like to people who do the command line I like to drive stick shift. So you've got your drive stick shift. So you've got your drive stick shift. So you've got your build running here build running here build running here right and then the same build is right and then the same build is right and then the same build is happening here. Now I can click on it in happening here. Now I can click on it in happening here. Now I can click on it in the browser and I can watch the process the browser and I can watch the process the browser and I can watch the process now it's doing setup.net now it's doing setup.net now it's doing setup.net right and I'm going to expect the same right and I'm going to expect the same right and I'm going to expect the same thing. There it is just clicked right thing. There it is just clicked right thing. There it is just clicked right there. See how that checkbox appeared. there. See how that checkbox appeared. there. See how that checkbox appeared. So by doing a GH watch So by doing a GH watch So by doing a GH watch uh you know workflow, you can see this uh you know workflow, you can see this uh you know workflow, you can see this happen at the same time in both the CLI happen at the same time in both the CLI happen at the same time in both the CLI and the browser. This might be a thing and the browser. This might be a thing and the browser. This might be a thing you already knew, but it's kind of fun. you already knew, but it's kind of fun. you already knew, but it's kind of fun. Now it's telling me I can do that. It's Now it's telling me I can do that. It's Now it's telling me I can do that. It's telling me I can go to the browser as telling me I can go to the browser as telling me I can go to the browser as well, but it's also cool because you'll well, but it's also cool because you'll well, but it's also cool because you'll watch the LLM.
-
watch the LLM. watch the LLM. Watch that, right? Because it doesn't Watch that, right? Because it doesn't Watch that, right? Because it doesn't look at the browser. It's looking at all look at the browser. It's looking at all look at the browser. It's looking at all of this uh all of this text, which is of this uh all of this text, which is of this uh all of this text, which is really cool. really cool. really cool. Now, what's cool about this is if we did Now, what's cool about this is if we did Now, what's cool about this is if we did it right, it right, it right, while this is building, I'm going to go while this is building, I'm going to go while this is building, I'm going to go and grab and grab and grab the release that's out right now, which the release that's out right now, which the release that's out right now, which is 1.7. Okay, I'm going to grab 1.7, is 1.7. Okay, I'm going to grab 1.7, is 1.7. Okay, I'm going to grab 1.7, grab the zip file, open it up, and I'm grab the zip file, open it up, and I'm grab the zip file, open it up, and I'm going to stick it on my desktop. going to stick it on my desktop. going to stick it on my desktop. Okay, so that's on my desktop now. There Okay, so that's on my desktop now. There Okay, so that's on my desktop now. There it is. And I'm just going to show you it is. And I'm just going to show you it is. And I'm just going to show you that it is 1.7. that it is 1.7. that it is 1.7. So then when 1.8 is out, So then when 1.8 is out, So then when 1.8 is out, if this if this little bit of upgrade we if this if this little bit of upgrade we if this if this little bit of upgrade we did with Neil's work works for us, then did with Neil's work works for us, then did with Neil's work works for us, then uh we'll see that release and we'll get uh we'll see that release and we'll get uh we'll see that release and we'll get an auto update, which will be which will an auto update, which will be which will an auto update, which will be which will be kind of hot. Okay, hit refresh.
-
Okay, 1.8 is out. That's hot. All right. Okay, 1.8 is out. That's hot. All right. So, let's go to desktop. We'll run the So, let's go to desktop. We'll run the So, let's go to desktop. We'll run the old version. old version. old version. We're going to get a defender warning We're going to get a defender warning We're going to get a defender warning because I haven't signed the thing yet. because I haven't signed the thing yet. because I haven't signed the thing yet. It's going to pop up the old version It's going to pop up the old version It's going to pop up the old version with the old drop shadow. Okay. with the old drop shadow. Okay. with the old drop shadow. Okay. So, we'll see the way it looked before. So, we'll see the way it looked before. So, we'll see the way it looked before. We'll see the old icons. Then, we'll get We'll see the old icons. Then, we'll get We'll see the old icons. Then, we'll get a nice update. Hey, version 1.8 is a nice update. Hey, version 1.8 is a nice update. Hey, version 1.8 is available. So, make sure to look at available. So, make sure to look at available. So, make sure to look at these updates, these icons. Look at the these updates, these icons. Look at the these updates, these icons. Look at the note of this. You can see that this is note of this. You can see that this is note of this. You can see that this is the non-system theme. I'm in dark mode, the non-system theme. I'm in dark mode, the non-system theme. I'm in dark mode, but I'm getting light mode. And then we but I'm getting light mode. And then we but I'm getting light mode. And then we can see the anti-aliasing. And yes, I can see the anti-aliasing. And yes, I can see the anti-aliasing. And yes, I realize that that radius is not perfect. realize that that radius is not perfect. realize that that radius is not perfect. We'll hit download and install. This is We'll hit download and install. This is We'll hit download and install. This is going to use that update them. Hit yes. going to use that update them. Hit yes. going to use that update them. Hit yes. Close the app. Update the app. Run the Close the app. Update the app. Run the Close the app. Update the app. Run the app again. We should see new icons. Um, app again. We should see new icons. Um, app again. We should see new icons. Um, a new glow around the the the thing. And a new glow around the the the thing. And a new glow around the the the thing. And it should be 1 point uh 1.8, which is it should be 1 point uh 1.8, which is it should be 1 point uh 1.8, which is cool. Boom. Look at that. Scrumptious.
-
cool. Boom. Look at that. Scrumptious. cool. Boom. Look at that. Scrumptious. And then we've got that different icon And then we've got that different icon And then we've got that different icon because we uh because we uh because we uh see look at you can see my shirt. It see look at you can see my shirt. It see look at you can see my shirt. It actually does work. Let me turn off my actually does work. Let me turn off my actually does work. Let me turn off my ring light. My actual ring light. ring light. My actual ring light. ring light. My actual ring light. Huh. Maybe not bright enough to Huh. Maybe not bright enough to Huh. Maybe not bright enough to in my dark room and my micro on my uh in my dark room and my micro on my uh in my dark room and my micro on my uh camera to work, but uh that's still camera to work, but uh that's still camera to work, but uh that's still pretty cool. All right, that's fun. Good pretty cool. All right, that's fun. Good pretty cool. All right, that's fun. Good job, everybody. Nice. All right, cool. job, everybody. Nice. All right, cool. job, everybody. Nice. All right, cool. So, let's go back over here. So, let's go back over here. So, let's go back over here. Just take a look. Make sure that we're Just take a look. Make sure that we're Just take a look. Make sure that we're working and we're clean. Isn't that working and we're clean. Isn't that working and we're clean. Isn't that lovely? lovely? lovely? Cool. Now, one other uh idea that I had Cool. Now, one other uh idea that I had Cool. Now, one other uh idea that I had while I've got you here, we've only been while I've got you here, we've only been while I've got you here, we've only been doing this for about 25 minutes, would doing this for about 25 minutes, would doing this for about 25 minutes, would be to add a new a new feature. Okay, so be to add a new a new feature. Okay, so be to add a new a new feature. Okay, so you can do that in a couple of different you can do that in a couple of different you can do that in a couple of different ways. We could make a new branch. Um we ways. We could make a new branch. Um we ways. We could make a new branch. Um we could make a new branch, have the could make a new branch, have the could make a new branch, have the conversation over in that branch, then conversation over in that branch, then conversation over in that branch, then merge it in. That might be a fun thing merge it in. That might be a fun thing merge it in. That might be a fun thing to do. Let's try it like this. This to do. Let's try it like this. This to do. Let's try it like this. This would be a way to make a new feature in would be a way to make a new feature in would be a way to make a new feature in this particular app. See if it works. If this particular app. See if it works. If this particular app. See if it works. If it doesn't work, fine. Um but we'll do it doesn't work, fine. Um but we'll do it doesn't work, fine. Um but we'll do it without going into an IDE. Now, I it without going into an IDE. Now, I it without going into an IDE. Now, I want to call out if I went into VS Code, want to call out if I went into VS Code, want to call out if I went into VS Code, it would be better. If I went into it would be better. If I went into it would be better. If I went into Visual Studio, it'd be even better Visual Studio, it'd be even better Visual Studio, it'd be even better because I'd have interactive debugging.
-
because I'd have interactive debugging. because I'd have interactive debugging. I'd have all the different features of I'd have all the different features of I'd have all the different features of the IDE, but I'm trying to show you how the IDE, but I'm trying to show you how the IDE, but I'm trying to show you how to drive stick shift. But also note that to drive stick shift. But also note that to drive stick shift. But also note that I haven't really looked at any any code I haven't really looked at any any code I haven't really looked at any any code here. here. here. All right, looks good. Let's get ready All right, looks good. Let's get ready All right, looks good. Let's get ready to work on a new feature. Um, let's move to work on a new feature. Um, let's move to work on a new feature. Um, let's move over to a new branch. The branch we'll over to a new branch. The branch we'll over to a new branch. The branch we'll call um move monitors because right now call um move monitors because right now call um move monitors because right now this feature, this application doesn't this feature, this application doesn't this feature, this application doesn't uh it only starts on the primary uh it only starts on the primary uh it only starts on the primary monitor. I want it to start in the monitor. I want it to start in the monitor. I want it to start in the primary monitor, but I want to be able primary monitor, but I want to be able primary monitor, but I want to be able to rightclick on the application. Or to rightclick on the application. Or to rightclick on the application. Or maybe actually no, we'll have a button maybe actually no, we'll have a button maybe actually no, we'll have a button in the toolbar, a new button that will in the toolbar, a new button that will in the toolbar, a new button that will uh let you switch between between uh let you switch between between uh let you switch between between monitors. Um, so let's switch over to monitors. Um, so let's switch over to monitors. Um, so let's switch over to another branch and then let's start another branch and then let's start another branch and then let's start making a plan about how we're going to making a plan about how we're going to making a plan about how we're going to do this uh this new feature for moving do this uh this new feature for moving do this uh this new feature for moving monitors. monitors. monitors. And if you have any questions, like And if you have any questions, like And if you have any questions, like stop. Don't do anything without asking again. Oh, you didn't see that. Bit of a again. Oh, you didn't see that. Bit of a yapper. Sorry about that. I So, I get I yapper. Sorry about that. I So, I get I yapper. Sorry about that. I So, I get I get in my head and I'm start talking and get in my head and I'm start talking and get in my head and I'm start talking and uh I didn't switch this the screen. So, uh I didn't switch this the screen. So, uh I didn't switch this the screen. So, here it called it move monitors. We're here it called it move monitors. We're here it called it move monitors. We're on the move monitor branch and you can on the move monitor branch and you can on the move monitor branch and you can see the move monitor branch right there.
-
see the move monitor branch right there. see the move monitor branch right there. Now, again, I'm using Claude sonnet. You Now, again, I'm using Claude sonnet. You Now, again, I'm using Claude sonnet. You can use whatever makes you happy. can use whatever makes you happy. can use whatever makes you happy. Everyone everyone finds a different one. Everyone everyone finds a different one. Everyone everyone finds a different one. All right, we're on the move monitor All right, we're on the move monitor All right, we're on the move monitor branch and it's not coding, right? We're branch and it's not coding, right? We're branch and it's not coding, right? We're going to have a conversation about it. going to have a conversation about it. going to have a conversation about it. It says before I start coding, let's It says before I start coding, let's It says before I start coding, let's have some ideas here. A button in the have some ideas here. A button in the have some ideas here. A button in the toolbar, add it to the existing control toolbar, add it to the existing control toolbar, add it to the existing control window. Yeah. Yeah. Yes, we should add window. Yeah. Yeah. Yes, we should add window. Yeah. Yeah. Yes, we should add it to the existing control window. it to the existing control window. it to the existing control window. And yeah, let's have it cycle between And yeah, let's have it cycle between And yeah, let's have it cycle between monitors. I like that idea. We'll just monitors. I like that idea. We'll just monitors. I like that idea. We'll just have it cycle rather than a menu. That have it cycle rather than a menu. That have it cycle rather than a menu. That would be simpler. So each time you click would be simpler. So each time you click would be simpler. So each time you click it, it goes from primary through all of it, it goes from primary through all of it, it goes from primary through all of the enumerated monitors and back. Some the enumerated monitors and back. Some the enumerated monitors and back. Some people may not have more than one people may not have more than one people may not have more than one monitor. So if they only have one monitor. So if they only have one monitor. So if they only have one monitor, it should just do nothing. monitor, it should just do nothing. monitor, it should just do nothing. The control window should move always The control window should move always The control window should move always with the uh with the edge light. So they with the uh with the edge light. So they with the uh with the edge light. So they they are together. they are together. they are together. Um I don't think we need state Um I don't think we need state Um I don't think we need state persistent. I don't think it's that persistent. I don't think it's that persistent. I don't think it's that deep. And I do like that monitor display deep. And I do like that monitor display deep. And I do like that monitor display icon that you picked there. That's a icon that you picked there. That's a icon that you picked there. That's a good one. Let's do that. Make me a plan.
-
Okay. So the question is, could a junior Okay. So the question is, could a junior engineer do this? Could an early in engineer do this? Could an early in engineer do this? Could an early in career do this? Um would they know the career do this? Um would they know the career do this? Um would they know the right questions? I have found that um right questions? I have found that um right questions? I have found that um testers, former testers that know about testers, former testers that know about testers, former testers that know about edge cases are are good at this kind of edge cases are are good at this kind of edge cases are are good at this kind of work. I think juniors could do it, but work. I think juniors could do it, but work. I think juniors could do it, but you start getting into trouble when you you start getting into trouble when you you start getting into trouble when you start thinking about stuff like in this start thinking about stuff like in this start thinking about stuff like in this Windows example, DPIs and edge cases and Windows example, DPIs and edge cases and Windows example, DPIs and edge cases and not knowing which um which API to use, not knowing which um which API to use, not knowing which um which API to use, not thinking about backwards not thinking about backwards not thinking about backwards compatibility. So, it's not that this compatibility. So, it's not that this compatibility. So, it's not that this isn't a great tool for early in career. isn't a great tool for early in career. isn't a great tool for early in career. It's just that if you're not thinking, It's just that if you're not thinking, It's just that if you're not thinking, you will ignore a lot of really you will ignore a lot of really you will ignore a lot of really interesting edge cases. And if you don't interesting edge cases. And if you don't interesting edge cases. And if you don't have the understanding of the system, have the understanding of the system, have the understanding of the system, who knows what kind of crap code this who knows what kind of crap code this who knows what kind of crap code this thing could could generate. So, we got thing could could generate. So, we got thing could could generate. So, we got to be thinking about that. Okay, so to be thinking about that. Okay, so to be thinking about that. Okay, so here's a plan. Step one, monitor here's a plan. Step one, monitor here's a plan. Step one, monitor enumeration. That's easy. Yep. Screen enumeration. That's easy. Yep. Screen enumeration. That's easy. Yep. Screen all screens. Move to next monitor all screens. Move to next monitor all screens. Move to next monitor method. I like that. method. I like that. method. I like that. Um, yep. New button. Button click Um, yep. New button. Button click Um, yep. New button. Button click monitor. That's cool. When it moves, we monitor. That's cool. When it moves, we monitor. That's cool. When it moves, we do have to recalculate. That's important do have to recalculate. That's important do have to recalculate. That's important because I have four different monitors. because I have four different monitors. because I have four different monitors. Let's take a look at my monitor. um Let's take a look at my monitor. um Let's take a look at my monitor. um geometry. That That's another thing. I'm geometry. That That's another thing. I'm geometry. That That's another thing. I'm running this main monitor at 1080p. So, running this main monitor at 1080p. So, running this main monitor at 1080p. So, I want to call out that my monitor I want to call out that my monitor I want to call out that my monitor geometry is weird. Typically, I have geometry is weird. Typically, I have geometry is weird. Typically, I have three 4K monitors and then this little three 4K monitors and then this little three 4K monitors and then this little monitor at the bottom. But this monitor monitor at the bottom. But this monitor monitor at the bottom. But this monitor here, what I'm recording on is actually here, what I'm recording on is actually here, what I'm recording on is actually a 1080p monitor. So, we have very a 1080p monitor. So, we have very a 1080p monitor. So, we have very unusual monitor geometry. So, we want to unusual monitor geometry. So, we want to unusual monitor geometry. So, we want to make sure that we cover that. Handle the make sure that we cover that. Handle the make sure that we cover that. Handle the single monitor. What should we do? We single monitor. What should we do? We single monitor. What should we do? We should gray it out.
-
should gray it out. should gray it out. Um, Um, Um, yeah. Uh, I think to gray it out is yeah. Uh, I think to gray it out is yeah. Uh, I think to gray it out is probably a good idea. This is a good plan. Let's gray out the This is a good plan. Let's gray out the uh the single monitor case, but we uh the single monitor case, but we uh the single monitor case, but we should make sure it has a tool tip so should make sure it has a tool tip so should make sure it has a tool tip so people know what it and the other people know what it and the other people know what it and the other buttons do, buttons do, buttons do, and I also like that you're thinking and I also like that you're thinking and I also like that you're thinking about edge cases because in my case, I about edge cases because in my case, I about edge cases because in my case, I have four monitors and they are all of have four monitors and they are all of have four monitors and they are all of different monitor geometries. So I will different monitor geometries. So I will different monitor geometries. So I will be a good test case for this. But yeah, be a good test case for this. But yeah, be a good test case for this. But yeah, this looks like a good plan. Let's go this looks like a good plan. Let's go this looks like a good plan. Let's go ahead and execute on that plan on this ahead and execute on that plan on this ahead and execute on that plan on this on this branch. So I feel like people think that you can So I feel like people think that you can just oneshot, just oneshot, just oneshot, you know, these things. You can just say you know, these things. You can just say you know, these things. You can just say make this thing and you vibe it. It's make this thing and you vibe it. It's make this thing and you vibe it. It's more about more about more about would it be faster for me to type this would it be faster for me to type this would it be faster for me to type this or would it be faster for me to yap? Um, or would it be faster for me to yap? Um, or would it be faster for me to yap? Um, I'm also been experimenting with local I'm also been experimenting with local I'm also been experimenting with local um, local models like so I've got a um, local models like so I've got a um, local models like so I've got a decent machine here. There's no reason decent machine here. There's no reason decent machine here. There's no reason for me to use cloud cloud energy if if for me to use cloud cloud energy if if for me to use cloud cloud energy if if it's not necessary. So here I also like it's not necessary. So here I also like it's not necessary. So here I also like it to show me the diffs. So in this case it to show me the diffs. So in this case it to show me the diffs. So in this case here it's making the edits automatically here it's making the edits automatically here it's making the edits automatically and I look at these things thinking is and I look at these things thinking is and I look at these things thinking is that a thing I would do? Okay, cool.
-
that a thing I would do? Okay, cool. that a thing I would do? Okay, cool. Available monitors. It's probably going Available monitors. It's probably going Available monitors. It's probably going to pull that from screen.allcreens. It to pull that from screen.allcreens. It to pull that from screen.allcreens. It does. That's the obvious way to do that. does. That's the obvious way to do that. does. That's the obvious way to do that. We are thinking about screen.working We are thinking about screen.working We are thinking about screen.working working area, which will be the current working area, which will be the current working area, which will be the current screen, which is cool. It's going to screen, which is cool. It's going to screen, which is cool. It's going to keep track of the current screen. keep track of the current screen. keep track of the current screen. Cycling monitors. That's cool. Frame Cycling monitors. That's cool. Frame Cycling monitors. That's cool. Frame geometry. It's going to have to recreate geometry. It's going to have to recreate geometry. It's going to have to recreate every time. That makes sense. every time. That makes sense. every time. That makes sense. Create control window. Reposition. Yeah, Create control window. Reposition. Yeah, Create control window. Reposition. Yeah, it's going to have to put the control it's going to have to put the control it's going to have to put the control window on the right. This right here was window on the right. This right here was window on the right. This right here was moving the control window to the center moving the control window to the center moving the control window to the center of the current window. Now, it's going of the current window. Now, it's going of the current window. Now, it's going to have to do it differently. This might be it getting confused. This might be it getting confused. We're going to have to look at that. Oh, We're going to have to look at that. Oh, We're going to have to look at that. Oh, okay. So, this may have gone off the okay. So, this may have gone off the okay. So, this may have gone off the rails where it's using different assets. rails where it's using different assets. rails where it's using different assets. I'm going to want to watch for that I'm going to want to watch for that I'm going to want to watch for that because remember we had that issue with because remember we had that issue with because remember we had that issue with Windows 10 versus Windows 11 icons. And Windows 10 versus Windows 11 icons. And Windows 10 versus Windows 11 icons. And Niels might be in the chat at some point Niels might be in the chat at some point Niels might be in the chat at some point and be able to help us out. I don't and be able to help us out. I don't and be able to help us out. I don't think it's a huge deal, but it's think it's a huge deal, but it's think it's a huge deal, but it's something to watch for. You just never something to watch for. You just never something to watch for. You just never know. Sometimes it kind of goes squirrel know. Sometimes it kind of goes squirrel know. Sometimes it kind of goes squirrel and it runs off and does the wrong and it runs off and does the wrong and it runs off and does the wrong thing. So, it's going to build it. And thing. So, it's going to build it. And thing. So, it's going to build it. And now it's going to run it. Here it comes.
-
Pops up. Okay. So, this is interesting. Pops up. Okay. So, this is interesting. It has shown up on the other monitor. It has shown up on the other monitor. It has shown up on the other monitor. So, it didn't show up in the first on So, it didn't show up in the first on So, it didn't show up in the first on the right monitor. the right monitor. the right monitor. That worked. I just switched it. This is That worked. I just switched it. This is That worked. I just switched it. This is nice. It is. Oh, it's nice. It's nice. It is. Oh, it's nice. It's nice. It is. Oh, it's nice. It's switching between all three. switching between all three. switching between all three. This is great. It started up on all It This is great. It started up on all It This is great. It started up on all It started up correctly, which is good. Uh, but it started up on monitor 2 Uh, but it started up on monitor 2 first. first. first. This is good. It looked great. It cycled This is good. It looked great. It cycled This is good. It looked great. It cycled between each monitor, but it started up between each monitor, but it started up between each monitor, but it started up on monitor 2 for some reason. Uh, let's on monitor 2 for some reason. Uh, let's on monitor 2 for some reason. Uh, let's think about that. Why do you think it think about that. Why do you think it think about that. Why do you think it would have started up on monitor 2? It's would have started up on monitor 2? It's would have started up on monitor 2? It's not about starting on monitor one. It's not about starting on monitor one. It's not about starting on monitor one. It's about starting on the monitor that is about starting on the monitor that is about starting on the monitor that is marked as primary. Because remember your primary monitor Because remember your primary monitor may not be monitor one but I have marked may not be monitor one but I have marked may not be monitor one but I have marked it as the main display. So that's it as the main display. So that's it as the main display. So that's something to think about there. something to think about there. something to think about there. Yep. See the array order is not Yep. See the array order is not Yep. See the array order is not guaranteed to have the primary monitor guaranteed to have the primary monitor guaranteed to have the primary monitor as as uh index zero. So index zero is as as uh index zero. So index zero is as as uh index zero. So index zero is monitor 2. I think that's because when monitor 2. I think that's because when monitor 2. I think that's because when my machine starts up the BIOS shows up my machine starts up the BIOS shows up my machine starts up the BIOS shows up on monitor 2. Look at that. That started on monitor 2. Look at that. That started on monitor 2. Look at that. That started up correctly. Click. It's over here.
-
up correctly. Click. It's over here. up correctly. Click. It's over here. Click. It's down here. Now it is cycling Click. It's down here. Now it is cycling Click. It's down here. Now it is cycling nicely. Scrumptious. All right. Cool. Yep, that looks great. All right. Cool. Yep, that looks great. Let's look at a full diff and uh make Let's look at a full diff and uh make Let's look at a full diff and uh make sure that there's any uh edge cases that sure that there's any uh edge cases that sure that there's any uh edge cases that we might want to think about before we we might want to think about before we we might want to think about before we check this in. Cool. Now, again, haven't looked at the Cool. Now, again, haven't looked at the code. That's where the vibes come in. If code. That's where the vibes come in. If code. That's where the vibes come in. If this were production, if this mattered, this were production, if this mattered, this were production, if this mattered, you would want to think about this, you would want to think about this, you would want to think about this, right? Do I understand what's going on? right? Do I understand what's going on? right? Do I understand what's going on? This is great. I talked about edge This is great. I talked about edge This is great. I talked about edge cases. It's thinking about edge cases. cases. It's thinking about edge cases. cases. It's thinking about edge cases. What would happen if I pulled a monitor? What would happen if I pulled a monitor? What would happen if I pulled a monitor? Love this one. I don't feel like pulling Love this one. I don't feel like pulling Love this one. I don't feel like pulling a monitor right now, but a monitor right now, but a monitor right now, but it says solid for normal use. The it says solid for normal use. The it says solid for normal use. The concern is hot plugging. I like the idea concern is hot plugging. I like the idea concern is hot plugging. I like the idea of a bounds check because that's a good of a bounds check because that's a good of a bounds check because that's a good idea. I could be on my laptop at some idea. I could be on my laptop at some idea. I could be on my laptop at some point. When I pull it out, that might point. When I pull it out, that might point. When I pull it out, that might cause an exception, and we would cause an exception, and we would cause an exception, and we would probably want to just return to the probably want to just return to the probably want to just return to the primary monitor. Let's see if we can add primary monitor. Let's see if we can add primary monitor. Let's see if we can add that bounce check, but let's not make it that bounce check, but let's not make it that bounce check, but let's not make it too complicated.
-
Now, a bounce check, it might get off Now, a bounce check, it might get off into the weeds. It might start thinking into the weeds. It might start thinking into the weeds. It might start thinking about making this more complicated. I'm about making this more complicated. I'm about making this more complicated. I'm imagining a simple catch if an exception imagining a simple catch if an exception imagining a simple catch if an exception occurs. Let's see what it decides to do. occurs. Let's see what it decides to do. occurs. Let's see what it decides to do. It's doing a bounds check, not an It's doing a bounds check, not an It's doing a bounds check, not an exception. And we don't know if there's exception. And we don't know if there's exception. And we don't know if there's going to be an exception issue. going to be an exception issue. going to be an exception issue. That is just That is just That is just a bounce check on move to next monitor. a bounce check on move to next monitor. a bounce check on move to next monitor. I don't think that's what's going to I don't think that's what's going to I don't think that's what's going to happen. Let me think about this. happen. Let me think about this. happen. Let me think about this. If you pull Okay, that looks nice. If you pull Okay, that looks nice. If you pull Okay, that looks nice. If you pull your monitor, If you pull your monitor, If you pull your monitor, how would it even know? Would it move how would it even know? Would it move how would it even know? Would it move over? This is a spec thing. This isn't This is a spec thing. This isn't something you can help me with. something you can help me with. something you can help me with. But hang on a second. You're only But hang on a second. You're only But hang on a second. You're only checking the bounds on the button press, checking the bounds on the button press, checking the bounds on the button press, what would happen if I pull this off of what would happen if I pull this off of what would happen if I pull this off of the monitor? Is Windows if if I pull off the monitor? Is Windows if if I pull off the monitor? Is Windows if if I pull off a dock, if I um disconnect the screen, I a dock, if I um disconnect the screen, I a dock, if I um disconnect the screen, I think Windows is going to um consolidate think Windows is going to um consolidate think Windows is going to um consolidate all of my windows onto one screen.
-
all of my windows onto one screen. all of my windows onto one screen. Wouldn't we get a resize message and Wouldn't we get a resize message and Wouldn't we get a resize message and then need to recalculate geometry or then need to recalculate geometry or then need to recalculate geometry or would we be stuck at the previous size? And when we did switch over, we wouldn't And when we did switch over, we wouldn't actually know what monitor we're on actually know what monitor we're on actually know what monitor we're on because we hold that state. Think about because we hold that state. Think about because we hold that state. Think about the ramifications of that. the ramifications of that. the ramifications of that. Now, I love that we're doing a video Now, I love that we're doing a video Now, I love that we're doing a video here and you might be listening and here and you might be listening and here and you might be listening and thinking differently. You might be like, thinking differently. You might be like, thinking differently. You might be like, "Oh man, Hansman's completely thinking "Oh man, Hansman's completely thinking "Oh man, Hansman's completely thinking wrong here." wrong here." wrong here." Now, this is a challenge. Claude is Now, this is a challenge. Claude is Now, this is a challenge. Claude is known to say, "You're absolutely right." known to say, "You're absolutely right." known to say, "You're absolutely right." We do not know that I am absolutely We do not know that I am absolutely We do not know that I am absolutely right. It's a sickopant. right. It's a sickopant. right. It's a sickopant. So, that's important. But window state So, that's important. But window state So, that's important. But window state handlers matter. Size changes and handlers matter. Size changes and handlers matter. Size changes and location changes are the thing we're location changes are the thing we're location changes are the thing we're going to want to watch out for. If the going to want to watch out for. If the going to want to watch out for. If the monitor changes or it get gets resized, monitor changes or it get gets resized, monitor changes or it get gets resized, that could cause us a a problem. These that could cause us a a problem. These that could cause us a a problem. These are the little edge cases. Now, again, are the little edge cases. Now, again, are the little edge cases. Now, again, it's only making changes in, you know, it's only making changes in, you know, it's only making changes in, you know, in that case, four lines of code. In in that case, four lines of code. In in that case, four lines of code. In here, it's got 45, but it's calling here, it's got 45, but it's calling here, it's got 45, but it's calling functions that already exist. Redo the functions that already exist. Redo the functions that already exist. Redo the geometry, reposition, re-update. So, geometry, reposition, re-update. So, geometry, reposition, re-update. So, this doesn't feel too risky, but it does this doesn't feel too risky, but it does this doesn't feel too risky, but it does need to be tested.
-
need to be tested. need to be tested. Okay, that's looking great. I feel Okay, that's looking great. I feel Okay, that's looking great. I feel pretty confident about this. I know that pretty confident about this. I know that pretty confident about this. I know that there's a bug here somewhere, but I there's a bug here somewhere, but I there's a bug here somewhere, but I don't feel bad, but because I'm don't feel bad, but because I'm don't feel bad, but because I'm recording right now on OBS, I don't want recording right now on OBS, I don't want recording right now on OBS, I don't want to pull the wire. I will test this to pull the wire. I will test this to pull the wire. I will test this later. Okay, so this works great here. I have Okay, so this works great here. I have not tested to be clear. Okay, this is not tested to be clear. Okay, this is not tested to be clear. Okay, this is nice. Let's go ahead and check all of nice. Let's go ahead and check all of nice. Let's go ahead and check all of this in. So, this branch is um up in this in. So, this branch is um up in this in. So, this branch is um up in GitHub and let's make a pull request to GitHub and let's make a pull request to GitHub and let's make a pull request to ourselves because we want to be good ourselves because we want to be good ourselves because we want to be good corporate citizens. And again, I can go up in in VS Code or And again, I can go up in in VS Code or in Visual Studio uh 2020 in Visual Studio uh 2020 in Visual Studio uh 2020 6. 6. 6. While we're doing that, While we're doing that, While we're doing that, where's my new Visual Studio? I think I where's my new Visual Studio? I think I where's my new Visual Studio? I think I just installed it. in the V's in the V's Visual Studio.
-
Visual Studio. Visual Studio. Bloop. Uh, you see that little blank, Bloop. Uh, you see that little blank, Bloop. Uh, you see that little blank, that little flash right there? That is that little flash right there? That is that little flash right there? That is um the CLI um the CLI um the CLI doing stuff asynchronously and then doing stuff asynchronously and then doing stuff asynchronously and then scrolling down and they're fighting with scrolling down and they're fighting with scrolling down and they're fighting with themselves. That that's a bug that they themselves. That that's a bug that they themselves. That that's a bug that they uh that they know about. uh that they know about. uh that they know about. Let's go and take a look. Oh, move Let's go and take a look. Oh, move Let's go and take a look. Oh, move monitors had recent pushes 8 seconds monitors had recent pushes 8 seconds monitors had recent pushes 8 seconds ago. It's nice. We're doing our own pull ago. It's nice. We're doing our own pull ago. It's nice. We're doing our own pull request. And then who is this here? Someone. What And then who is this here? Someone. What is windalk? You have a wind hawk mod of is windalk? You have a wind hawk mod of is windalk? You have a wind hawk mod of this? I don't know what wind talk is. this? I don't know what wind talk is. this? I don't know what wind talk is. I don't know what that is. And it's I don't know what that is. And it's I don't know what that is. And it's blocked by my organization, so I don't blocked by my organization, so I don't blocked by my organization, so I don't know what that is. know what that is. know what that is. But I'm going to let that gentleman go But I'm going to let that gentleman go But I'm going to let that gentleman go nuts. The add monitor switching feature. nuts. The add monitor switching feature. nuts. The add monitor switching feature. Cool. Comma. Let's go ahead and um Cool. Comma. Let's go ahead and um Cool. Comma. Let's go ahead and um because we're the boss, let's just merge because we're the boss, let's just merge because we're the boss, let's just merge that into master and uh approve that PR. that into master and uh approve that PR. that into master and uh approve that PR. And uh let's call that 1.9.
-
Okay, so here's our monitor switching Okay, so here's our monitor switching feature. What I what I like about the feature. What I what I like about the feature. What I what I like about the LLM is again tedious. LLM is again tedious. LLM is again tedious. Robots should do work that is dull, Robots should do work that is dull, Robots should do work that is dull, dirty, or dangerous. Um, none of this is dirty, or dangerous. Um, none of this is dirty, or dangerous. Um, none of this is particularly dangerous, but I want to particularly dangerous, but I want to particularly dangerous, but I want to call out that I like that it writes call out that I like that it writes call out that I like that it writes these what's news for me, which I would these what's news for me, which I would these what's news for me, which I would have had to write myself because we've have had to write myself because we've have had to write myself because we've only been vibing for 30 minutes here. only been vibing for 30 minutes here. only been vibing for 30 minutes here. You know, maybe you could bang this out You know, maybe you could bang this out You know, maybe you could bang this out in 30 minutes. Maybe maybe I'm not any in 30 minutes. Maybe maybe I'm not any in 30 minutes. Maybe maybe I'm not any more productive uh than before, but it's more productive uh than before, but it's more productive uh than before, but it's still uh it seems pretty nice uh this still uh it seems pretty nice uh this still uh it seems pretty nice uh this workflow. So that's 1.9. workflow. So that's 1.9. workflow. So that's 1.9. While that's happening, let me go ahead While that's happening, let me go ahead While that's happening, let me go ahead and open up this project. Yeah, see that and open up this project. Yeah, see that and open up this project. Yeah, see that blink that blink right there? That's blink that blink right there? That's blink that blink right there? That's that scrolling issue that we were that scrolling issue that we were that scrolling issue that we were talking about. Go ahead and open that in Visual Studio Go ahead and open that in Visual Studio while this is happening as well. Just to while this is happening as well. Just to while this is happening as well. Just to show you that that that works. 1.9 tag show you that that that works. 1.9 tag show you that that that works. 1.9 tag already exists. Did I already make it already exists. Did I already make it already exists. Did I already make it 1.9? Bump to 1.8. Bump to 1.8. Bump to 1.9. So now it's building right Bump to 1.9. So now it's building right Bump to 1.9. So now it's building right there. So that'll go out in a second.
-
there. So that'll go out in a second. there. So that'll go out in a second. And then this is kind of cool. This is And then this is kind of cool. This is And then this is kind of cool. This is what I was mentioning before. It's going what I was mentioning before. It's going what I was mentioning before. It's going to go and run and it's going to watch. to go and run and it's going to watch. to go and run and it's going to watch. So this is kind of a hack. It's it's So this is kind of a hack. It's it's So this is kind of a hack. It's it's checking to see what's going on with checking to see what's going on with checking to see what's going on with that PR and whether or not that workflow that PR and whether or not that workflow that PR and whether or not that workflow is spinning up. And we can see that by is spinning up. And we can see that by is spinning up. And we can see that by hitting controlR. You can actually watch hitting controlR. You can actually watch hitting controlR. You can actually watch what it's seeing. and it sees it. Now, what it's seeing. and it sees it. Now, what it's seeing. and it sees it. Now, it's a little bit again a little bit it's a little bit again a little bit it's a little bit again a little bit enthusiastic. I don't know if we need to enthusiastic. I don't know if we need to enthusiastic. I don't know if we need to be this celebratory. be this celebratory. be this celebratory. And then it's also being a sickopant And then it's also being a sickopant And then it's also being a sickopant because it is talking back to me. It's because it is talking back to me. It's because it is talking back to me. It's using my language. This is important. If using my language. This is important. If using my language. This is important. If you are talking to a large language you are talking to a large language you are talking to a large language model, you are talking to yourself in model, you are talking to yourself in model, you are talking to yourself in the mirror. This is not uh a person, the mirror. This is not uh a person, the mirror. This is not uh a person, right? This is myself. If I if I'm sad, right? This is myself. If I if I'm sad, right? This is myself. If I if I'm sad, it will be sad. If I'm excited, it'll be it will be sad. If I'm excited, it'll be it will be sad. If I'm excited, it'll be excited. In this case, I said the words, excited. In this case, I said the words, excited. In this case, I said the words, "I'm going to be a good corporate "I'm going to be a good corporate "I'm going to be a good corporate citizen." And it mirrored my language citizen." And it mirrored my language citizen." And it mirrored my language back to myself, which I think is kind of back to myself, which I think is kind of back to myself, which I think is kind of funny. The only other feature I wanted funny. The only other feature I wanted funny. The only other feature I wanted to add, and I think that it is a to add, and I think that it is a to add, and I think that it is a challenging feature, challenging feature, challenging feature, um, that's interesting. Why does it keep um, that's interesting. Why does it keep um, that's interesting. Why does it keep coming back 0.4? I want to delete those.
-
coming back 0.4? I want to delete those. coming back 0.4? I want to delete those. I want to make sure that we don't have I want to make sure that we don't have I want to make sure that we don't have an issue with our version an issue with our version an issue with our version number. I'm going to go ahead and build number. I'm going to go ahead and build number. I'm going to go ahead and build that again, and I want to see if it's that again, and I want to see if it's that again, and I want to see if it's making the It's naming them wrong. It's naming them wrong. Those should not be 0.4 by now. Oh, that's interesting. Something wrong Oh, that's interesting. Something wrong with our Why are you Where are you getting that Why are you Where are you getting that version number from? Take a look at the build.ps1. Right now Take a look at the build.ps1. Right now you're um using the build.ps1 with you're um using the build.ps1 with you're um using the build.ps1 with parameters and you are assuming a parameters and you are assuming a parameters and you are assuming a version parameter. U rather you're using version parameter. U rather you're using version parameter. U rather you're using a default version parameter 0.4, a default version parameter 0.4, a default version parameter 0.4, build.ps1 should not be doing that. It build.ps1 should not be doing that. It build.ps1 should not be doing that. It should get that version parameter from should get that version parameter from should get that version parameter from the assembly info version. Um, so yeah, the assembly info version. Um, so yeah, the assembly info version. Um, so yeah, do not hardcode 0.4 in there. If there's do not hardcode 0.4 in there. If there's do not hardcode 0.4 in there. If there's no version passed in, go and get one no version passed in, go and get one no version passed in, go and get one from assembly version. We shouldn't be from assembly version. We shouldn't be from assembly version. We shouldn't be hard coding our versions.
-
And you can see things like build PS1 And you can see things like build PS1 didn't get dictated correctly. That's didn't get dictated correctly. That's didn't get dictated correctly. That's not a co-pilot thing. That's a me thing not a co-pilot thing. That's a me thing not a co-pilot thing. That's a me thing and the way I use these uh these tools and the way I use these uh these tools and the way I use these uh these tools to keep my hands to keep my hands to keep my hands from hurting. So there's that hardcoded from hurting. So there's that hardcoded from hurting. So there's that hardcoded thing. You can see that it's a it's a thing. You can see that it's a it's a thing. You can see that it's a it's a default parameter to the build.ps1. default parameter to the build.ps1. default parameter to the build.ps1. Now, we're not going to pull that in. Now, we're not going to pull that in. Now, we're not going to pull that in. That's good. That's good. That's good. And it's going to go and grab it. Oh, And it's going to go and grab it. Oh, And it's going to go and grab it. Oh, it's going to grab from the CS project. it's going to grab from the CS project. it's going to grab from the CS project. Okay, that's fine, I guess. Yep. 1.9. that's fine, I guess. Yep. 1.9. Now, I'm going to expect 1.9. Yep. See, that's fine. And then let's go Yep. See, that's fine. And then let's go and look over here. And and look over here. And and look over here. And bro, it's okay. so I'm going to rightclick in here and so I'm going to rightclick in here and say edit project file.
-
say edit project file. say edit project file. And there's the assembly version. So And there's the assembly version. So And there's the assembly version. So that's the version numbers right there that's the version numbers right there that's the version numbers right there that that sit there. And that's where it that that sit there. And that's where it that that sit there. And that's where it needs to pull from. And then probably in needs to pull from. And then probably in needs to pull from. And then probably in assembly info, it's just going to pull assembly info, it's just going to pull assembly info, it's just going to pull it out of the pull it out of the other stuff. And now pull it out of the other stuff. And now Visual Studio is probably mad because Visual Studio is probably mad because Visual Studio is probably mad because I've been messing around with the files I've been messing around with the files I've been messing around with the files in the background. GitHub actions build in the background. GitHub actions build in the background. GitHub actions build is still running from the previous push. is still running from the previous push. is still running from the previous push. Nope, it's done now. Nope, it's done now. Nope, it's done now. Okay. What is VS mad about now? Okay. What is VS mad about now? Okay. What is VS mad about now? torch that come back. I need to update my that come back. I need to update my Visual Studio to the release one that Visual Studio to the release one that Visual Studio to the release one that came out last week. I t I tend to run Canary daily builds of I t I tend to run Canary daily builds of stuff and that usually gets me in stuff and that usually gets me in stuff and that usually gets me in trouble. trouble. trouble. All right. Assembly info. All right. Assembly info. All right. Assembly info. Yeah. Okay. Okay, so we're getting all Yeah. Okay. Okay, so we're getting all Yeah. Okay. Okay, so we're getting all of our versioning stuff from elsewhere.
-
So when we pull it out, we're using So when we pull it out, we're using reflection. There it is. Get executing reflection. There it is. Get executing reflection. There it is. Get executing assembly. I wanted to make sure we're assembly. I wanted to make sure we're assembly. I wanted to make sure we're doing that dynamically because we don't doing that dynamically because we don't doing that dynamically because we don't want any of this stuff hardcoded. It's want any of this stuff hardcoded. It's want any of this stuff hardcoded. It's only going to be here. only going to be here. only going to be here. Okay. Okay. Okay. All right. Cool. All right. Cool. All right. Cool. Good. Good. Good. And now these are And now these are And now these are published correctly. Run. They are um published correctly. Run. They are um published correctly. Run. They are um the file name is correct. Okay. And this looks nice. Okay. And this looks nice. Okay. Cool. Go ahead and check that in. Okay. Cool. Go ahead and check that in. Okay. Cool. Go ahead and check that in. No need to tag it. That's just a small No need to tag it. That's just a small No need to tag it. That's just a small change to the build. PS1. Okay. Okay. So, the only other thing, Okay. Okay. So, the only other thing, and I don't think this one's going to be and I don't think this one's going to be and I don't think this one's going to be clean, and I think I will probably end clean, and I think I will probably end clean, and I think I will probably end up writing this myself, up writing this myself, up writing this myself, is when you run the thing is when you run the thing is when you run the thing and you move your mouse over it, what do and you move your mouse over it, what do and you move your mouse over it, what do we think should happen as the mouse we think should happen as the mouse we think should happen as the mouse enters this space?
-
enters this space? enters this space? I think, I think, I think, and I don't know how to do this, right? and I don't know how to do this, right? and I don't know how to do this, right? Like, I really have to think about this. Like, I really have to think about this. Like, I really have to think about this. Maybe this is another video. It should Maybe this is another video. It should Maybe this is another video. It should cut out an area here because this is cut out an area here because this is cut out an area here because this is transparent. I want to call out that one transparent. I want to call out that one transparent. I want to call out that one of the things that's cool about this of the things that's cool about this of the things that's cool about this thing is it's not in front of anything. thing is it's not in front of anything. thing is it's not in front of anything. It's like it is in the Z order, but you It's like it is in the Z order, but you It's like it is in the Z order, but you can see that I can't see my my stuff can see that I can't see my my stuff can see that I can't see my my stuff anymore. Right? If I was to move my anymore. Right? If I was to move my anymore. Right? If I was to move my mouse over here, what should happen mouse over here, what should happen mouse over here, what should happen to the to the light? Should it should it to the to the light? Should it should it to the to the light? Should it should it cut out? Should it move out of the way? cut out? Should it move out of the way? cut out? Should it move out of the way? Should it should there be a bubble, you Should it should there be a bubble, you Should it should there be a bubble, you know, like a bubble like this as you know, like a bubble like this as you know, like a bubble like this as you move over it? An invisible bubble that move over it? An invisible bubble that move over it? An invisible bubble that is moving this out of the way. So, uh, a is moving this out of the way. So, uh, a is moving this out of the way. So, uh, a spotlight, a mask. I don't know. We are spotlight, a mask. I don't know. We are spotlight, a mask. I don't know. We are at 45 minutes. So, I think I'll stop at 45 minutes. So, I think I'll stop at 45 minutes. So, I think I'll stop here. But that's a an interesting here. But that's a an interesting here. But that's a an interesting question. Let me know in the in the question. Let me know in the in the question. Let me know in the in the comments what you think we should do and comments what you think we should do and comments what you think we should do and if that would be something uh that we if that would be something uh that we if that would be something uh that we should we should vibe live or we should should we should vibe live or we should should we should vibe live or we should write from uh from scratch. So, that's write from uh from scratch. So, that's write from uh from scratch. So, that's an example of an interaction there. Less an example of an interaction there. Less an example of an interaction there. Less than an hour, 45 minutes. Probably could than an hour, 45 minutes. Probably could than an hour, 45 minutes. Probably could have done it in a half an hour with the have done it in a half an hour with the have done it in a half an hour with the less back and forth. Two small changes, less back and forth. Two small changes, less back and forth. Two small changes, multimonitor support, bringing in a PR.
-
multimonitor support, bringing in a PR. multimonitor support, bringing in a PR. I find that to be enjoyable. Certainly I find that to be enjoyable. Certainly I find that to be enjoyable. Certainly could have been done manually, but let could have been done manually, but let could have been done manually, but let me know in the chat what you think.
Summary
The main theme is exploring "vibe coding" using AI to quickly develop a new Mac OS feature called Edgelight, which adds a ring of light around windows. Key subjects include "vibe coding" itself, AI code generation, the Edgelight feature, and pull requests for improvements. The practical takeaway is that AI can be a useful, albeit sometimes imprecise, tool for creating simple utilities and experimenting with new features.