I've been buried in Visual Studio for years now as a C# and dotnet developer -- and I have always really enjoyed working in the IDE. I am a GUI person by nature, and I find myself at home there. However, the CLI-based agentic harnesses are changing that around for me completely.
As with all livestreams, I'm looking forward to answering YOUR questions! So join me live and ask in the chat, or you can comment now, and I can try to get it answered while I stream.
View Transcript
Come on. There we go. Cool. I think we're working. Let me get my speaker muted here. Awesome. Just need couple seconds here to move some stuff around. Well, thanks folks for joining. I didn't do this for a couple weeks. I got pretty tied up with work. Um, I don't like getting to the point where like I don't have like any time to exist outside of work and that's absolutely what it felt like. Um, but we're through that which is good. I have today off and tomorrow off as well. And I wanted to make sure I could uh get streaming here. So, let's see. We're going to talk a little bit about latest newsletter article. Uh really it's around just AI tool usage. So if you don't want to talk about AI, I'm sorry. Today is not the live stream for you. Um but we'll talk about that a little bit.
And then um I think we'll spend some time actually in co-pilot and Claude. I am just like aggressively trying to close all sorts of windows so that I when I go to share my screen and stuff, I just don't have stuff all over the place. So, give me give me a couple more seconds here. I'm sorry. There's just so much. We'll close that off. We'll close this off, too. It's kind of like if I'm screen sharing, I don't want like like windows to pop up that just have like API keys and secrets and stuff like that. So, it's like a fear of mine that it's going to end up happening someday and I'm going to have to go rotate like 400 secrets or something dumb. Um, so I'll try to avoid that. Today hopefully isn't that day. Cool. Okay, I think I'm just about ready here.
So, yeah, we're going to talk about some AI tool usage. I've been talking about this on code commute a lot recently. um probably no surprise that everyone's using an AI for building stuff, but for me it's been more like um it's been more like movement away from Visual Studio. And for some folks, you might say, well, duh, like we don't use Visual Studio, we don't want to use Visual Studio. That's cool. Uh I'm a like sort of .NET developer, C developer for as long as I can remember, so I live in Visual Studio. It's what I'm comfortable with. And to to move away is like it's a it's just it's bizarre. I am not only a Visual Studio like developer, but it's it's also that I'm like not a terminal developer. I love using user interfaces for things. It's just natural for me. So, uh it's a it's a huge shift uh that I've been experiencing recently.
And it's not that like for co-pilot CLI and Claude, it's not like I had never used uh Claude. Like last year I used Claude a lot and so it's just it just feels very different at the start of this year. Like things are really um just getting me to use stuff in different ways and it's like I said kind of pulled me away from from Visual Studio. Just wondering where like all the RAM is on my machine. It's apparently across like 400 tabs. So, like I was even noticing my my video locally looks choppy and I'm like, how is that how is that possible? There's not even like a network delay, but I think something's using half of my processor. That's not even my my recording setup. Anyway, we'll move on from that. So, in the newsletter article, some of the things I was uh chatting through, let me get it pulled up, and I'll just summarize because I want to spend more time in uh in an actual terminal playing with stuff.
But so like I said, I talked about this on code commute and the sort of realization over the past I don't know month, maybe two months now, maybe closer to three, I don't know, is like I just I went from like I'm spending less time in Visual Studio to like I'm probably like I don't have really have a need to be in it. And yeah, all those tabs, Jeremy, good to see you. All those tabs are definitely the things chewing my RAM between that and apparently uh all of the co-pilot and clawed sessions that aren't actually doing anything right now. So, I don't know what they're using all my RAM and CPU for, but for maybe they're mining Bitcoin. If as long as they share, I guess I'm okay with it. Um, but yeah, like it's it's been kind of this bizarre feeling to get pulled away from from the tools that I have like used for ages and used because uh I feel so comfortable there.
And really to me that's like it's a it's a really cool indicator that these other tools like whether it's C-Pilot CLI or Cloud Code um they are they're doing a good enough job offering productivity boosts to to me at least that it's completely shifting how I do development. It's been like it's just been so long doing it the same way that I'm like how could how could that ever happen, right? And they have co-pilot in Visual Studio, right? Which is the even crazier part to me. Like it's not like oh there's no they don't have an AI offering there. It's just that it's so much better outside of Visual Studio that I'm like why? Like at this point I don't need to be in there. So, I talked a lot last year about going from, you know, being in Visual Studio a lot to kind of dividing my time between if I'm coding, it's in Visual Studio.
Otherwise, I'm using uh like C-pilot, GitHub Copilot, where you have web agents going and running and and doing your work. So, you assign them tasks from from GitHub, you know, they're off working on PRs. I used that a tremendous amount last year and that was such a huge productivity unlock for me because it it allowed me to have work get done and even if it wasn't perfect it allowed me to have work make progress you know I could fire off a whole bunch of stuff in parallel and it's like it's no longer oh when am I going to have time for that might as well forget it it's like I might as well like I thought of it let me just fire it off and if an agent can make some progress on it. Cool. Um, I feel like, you know, these things will continue to get better and better over time, and I I don't even use that anymore.
And I'm sure if I went back to using it, they'd be uh they'd be significantly improved. But that was sort of my first like point of being pulled from Visual Studio. But all that it meant was that I guess what's a way to say this? It didn't pull me away from Visual Studio, it let me get a lot done without needing Visual Studio, but if I was going to go sit down and build something, Visual Studio is the first thing that comes up still. David says, "Honestly, after using Visual Studio all the way from .NET one of VB6 before that to now, I prefer VS Code." Wow, cool. For my IDE because uh it's just faster. The GitHub copilot integration is better. I think I fully agree with that. And uh if I want a convenient place to run a CLI agent, the terminal's right there and it's good.
Yeah, I think my I I struggle with VS Code because even with the key bindings and stuff, there's just too many things that are like muscle memory that I I like can't make myself do. And I think if I just I I guarantee it if I uninstalled Visual Studio and just stuck to VS Code, I would get there. But it's like it's a crutch, right? I'm I I'm like, "Oh, it's a little uncomfortable. Let me just go back." But yeah, very interesting, right? VS Code kind of like this free thing just displacing Visual Studio for uh someone who has used .NET for an extremely long time. I'm a VB6er before.NET as well. Jeremy says to be honest, I haven't used a Visual Studio since this time last year. Wow. And since then while mostly using uh Neovim setup Oh, come on Jeremy. And building my own AI harness is spending less and less time in traditional Android window.
Yeah. And I know that you've been working on that which is awesome. So, I think that especially for you like having having a harness that you were investing time into um like it makes a lot of sense like to not have to spend as much time in in Visual Studio. Brax, good to see you. Uh that's an issue I've been dealing with. I struggle in coding interviews now because I'm better at understanding code than writing code now. Uh and AI tools are a double-edged sword. Yeah. And that's interesting, right? On the better at understanding it than writing it. Very interesting. Um I I found myself a couple of times today uh when I because I I had the day off work and tomorrow as well. Um but I was still like my work setup is right here. So uh I let my team know like if I'm actually on vacation away, I'm like you won't be able to reach me.
So I'm sorry, but like this is my true away time. when I take a couple days off just to like, you know, get my my mental break kind of thing and just rejuvenate. Um, I let my teammates know like, hey, if you need me, like my my phone's in front of me, like tag me on Teams and like it takes me two seconds to turn and and help, right? There's sometimes like they need an approval for something. It's always, you know, could be a lot of little things that can help unblock. And I remember, you know, saying to a couple people today, hey, like, you know, I'm just going to be coding. And I'm like, well, I'm not I'm not actually coding, I guess. Like, I'm I'm building software, but I'm not. It's like almost feels disingenuine to say, "Oh, I'm going to be coding today." Because I actually don't know if I coded a single line of code again today, which is cool.
Um, I'm okay with that. So yeah, I think the the thing that last year I was experiencing where I could go fire off a bunch of stuff and have it get done asynchronously, the I guess improvements to models, improvements to some of the harnesses and stuff. Um, and like when I was trying co-pilot CLI, that was the first example I think just after going back to whether it was claude or co-pilot CLI, having this experience of like, oh crap, like I I can ask it to do something. It does a pretty damn good job, especially with planning, right? They both support planning. And while it's working, I'm kind of sitting there and I'm like, well, let me let me go open another terminal window to the point where there's like, you know, 12 terminal windows and all of my time now is just like I flip between them.
It's like, okay, well, which one is at a planning phase now? Which one needs an approval for the next step? Which one like which one do I actually have to spend time in? like I'm designing things and I don't know like it it's to me it's still a very enjoyable experience because I'm focusing on the parts I like. Um Jesse Bud says somehow Copilot is the worst of every single ecosystem. I'd love to hear more on that. I really enjoy using co-pilot. Um I used to be a leak code wizard and then I still have a lot of leak code muscle memory. I catch the bugs AI produces. So quickly though, might need to do a classic coding session sometime. I am definitely not got zero elite code muscle memory um at all. And I hope that in my life I never have to try and flex the lead code muscle ever again.
Um, but I think what I've been noticing more and more is like, uh, and this is kind of gonna be a segue into some of the other stuff coming up is like I spend a lot of time like doing the design and iteration. And the longer I spend not thoroughly reviewing code and just getting stuff done, when I go to finally check in on the code, I'm like, "Oh my goodness." Like, yes, it works. No, I would not have written it this way. Um, so that part like is kind of getting to me and that's where like I think some of the skills and and other stuff are going to kind of come into play like the the in I've been doing a lot more with instructions that are uh like the glob matching so you can you know have instructions that are tailored to specific uh file paths and stuff like that.
So, um, the next part that I was writing about in the newsletter was is really about that where, um, there's all this cool stuff we have access to now, right, with all these harnesses. Um, where, you know, you have you can set up MCP servers, right? So, you can access data or integrate with other APIs. Uh, and when I say you, I mean like the LLM can, which is awesome, right? You can you can say like oh the you know you can be talking to co-pilot or claw and say like the build failed and like if you had been referring to anything in in GitHub it's like well if you have an MCP server like it just goes and checks and looks at your actions and it's like I can see the failure and it's cool because before like it's just so much more fluid
right before it's not that you couldn't have it go debug bug um you know a build issue, but you'd be like, "Okay, well, I got to go to to GitHub or wherever your build stuff is. I got to go to the actions. I got to go look at the logs." And then like what am I going to go give to it that's irrelevant so that it can go do it. But now you can just be like, "Hey Claude or hey co-pilot, the build is broken." And then it goes and gets the information it needs and goes and looks through it. And so just like streamlining these little things, right? Like the the compounding effect of having that is is tremendous. So like uh MCP servers, right? Not not a new thing. MCP servers, that's like if it's over a week old, it's uh you know, it's prehistoric for AI stuff at this point.
But yeah, MCP servers have been awesome. Uh I'm not doing so much with custom agents, I feel like. So that's still like a I guess like an opportunity for me. It just feels like I I don't know like maybe a little bit I've done some where I have like custom agents for um likenet optimizations but I I almost feel like do I actually need an agent for that or can I just have a skill? Because in both cases it's like it's essentially like providing a prompt. But I haven't come up with a like a specific agent type that I'm like doing that. Like I I have found that I've uh orchestrated like sub agents using skills and they're fed a prompt and like I haven't had the need to go declare an agent, I guess. So still something for me to explore.
or someone at work was actually showing me um today I I joined a meeting even though it's my day off and uh they were walking me through some some custom agent they built and that was cool because they it was really like packaging up skills MCP configurations and a couple of other little things but like the bundle of stuff like that made sense to make it like an an agent so to speak. So that was cool. Um I think sharing MCP configs. Oh man. So MCP configs and skills are the thing that seem to be targeted right now for this like marketplace and plug-in concept which I think is uh super cool. Um, I am not that the I keep kind of like looking at my screen here because I have this part of my my newsletter up, but I feel like we're making a
lot of progress in this like pain point of mine, which is people keep building these things like, oh, I made skills or I have like a I'm using this MCP configuration so I can go do this stuff and it's like, where does it live? And people are like, "Well, I check it in. It's in my repository." And it's like, "Okay, but so did you make it specifically for that repository?" No, like I just copied it over to this other one, too. And I check it in there. And I'm like, "Guys, like, don't we we see what's happening here, right?" Like, it's exactly like code. We're all like all of us are like, "Oh, you know, don't don't copy your code, you know? Um, try principle, don't repeat yourself, like kind of thing." And here we are like I need I need the skill, I need the prompt, I need the config, like I gotta dupe it across all my repositories.
And so like then there's these user level ones. And then it's just it's so fragmented and it's cool to see that we're getting some solutions like like plugins and marketplaces and stuff like that. So um I'm pretty excited to see that coming along. It still doesn't feel like it's fully there yet. And I say that because it feels like we're solving or we're working towards solving this problem which is like distribution, sharing, updating. It seems like we're making progress there, but like I don't even know the right way to say this. It feels like we're using like like stone age tools to solve like a very futuristic problem and it just feels like uh clunky, I guess. So, um I I'm happy to see that there's like a lot of investment in in this direction, but it's it's just kind of uh it's not there yet.
And so like one of the things even today or I guess it started last night but between last night and today I was looking at um was like the custom instructions for co-pilot versus the rules for claude very similar but they're not the same like they are fundamentally different file paths and stuff like that and some of the globbing is uh not the same. So what I don't want to do is in because I use co-pilot and claude and so I go build all these custom instructions and I've been tuning them for co-pilot and then I hit my rate limit and I'm like well okay over to Claude here we go until I hit my rate limit there and then I jump over to Claude but none of my custom rules are working my custom instructions from co-pilot. So like and why? like it's just because it's a it's a clunky system, right?
Like so the solution is that like I was talking to Claude and it was like well the solution is make these claude rules. It actually said go make a claude MD in every folder and I said no like that's that is a pattern but that's not what this is doing. I want, you know, the glob like to be able to match on on file paths. And so you can do that, but now I have to go dupe these things. And I said, I'm not going to maintain like duplicates of these rules. Like this is the silliest thing. Um, so I duplicated them, but I but I did it with automation, which is a kind of a neat thing, I guess. So, I'll show that in a moment. But, yeah, it's just been this feels weird. It's a weird time because there's like so many of these awesome rapidly advancing things and it's like the some of the problems are so basic and we're like trying to invent ways to like share files together.
Like, how how silly is this? So, back to the chat. Um Jeremy was saying, "I feel like all the models, while some are better at some things than other things, they've all very more dependent on the tools are integrated." Yeah, the harness themselves. I totally agree. Um and I've been trying to prove this a little bit. Um because in some of the stuff I've been doing switching over to trying to make some of the skills and workflows I've been doing into Microsoft agent framework. I'm not using Azure with uh the sort of the latest greatest models. So that means I'm in Copilot CLI or in cloud code. I'm using Opus 46 and then I go to like integrate some of these workflows into Microsoft Agent Framework and I'm paying for like GPT41. So like the quality is significantly worse.
And so like I know that if I can make if I can make the agent orchestration that I'm building work with that like if I drop in you know Sonnet 46 or Opus 46 or whatever comes after um like I'll be off to the races. But yeah the harness makes a huge difference. some of the people I've talked to at work that are um I would say like more like forward AI thinking like actually trying you know new things out uh when I've said hey like you know some of them have opinions for Claude where they're like I think Claude is way better than Copilot CLI and I'm like hey like I'm not here to to say yes or no it's not but tell me more like I actually want to hear the reasons because sometimes I hear people getting fascinated by one or the other and it's not necessarily because they're using it or using something that's different about it.
It's just that they happen to have a good experience. And so, yeah, I've had some people saying like, you know, on these certain things that they're trying out with their teams, they're actually like repeating it and trying it out and they're finding some things are regularly just better. Um, is that the is that going to be the case for everything they try? Who knows? Um, but I think back to Jeremy's point, I think the harness itself can make a a pretty big difference. So, um, yeah, I think that's very good point. Um, Jordan says, "Curious how you see the current AI market when ROS ask for 79 years and platforms or capabilities that have existed that long in their current form." I think everything right now is just kind of crazy. Um, to be honest, the I think there's a lot of companies I don't have like stats on any of this, but I think so.
You can ignore everything I'm about to say because I don't have stats to prove it. But I feel like there is uh a significant number of companies that are doing the kind of this silly thing of like, well, we don't need juniors. Like there's a lot of people applying, so like up the requirements, all this kind of stuff, right? Like just keep raising the bar. We'll just keep getting for the same price we can get someone with way more experience and way more qualified. Um, and like that simply doesn't work from a longevity perspective. Like I think anyone who is doing that isn't actually thinking about like how you build teams personally. Um, it's just not it's just not how it works because even even some of the stuff that you might say, well that is less complex or whatever and I can easily delegate that to an agent.
like yes, you might be able to do that. Um, however, now you are getting more people to kind of like babysit stuff that they probably aren't interested in in the first place. And if you actually had a human doing it and spending the time, um, yes, and I don't want to keep babysitting is such like a terrible way to describe that when I start talking about people now. um instead of like having to go through the process and like on every single thing you are investing tons and tons of time like at least the person learns they learn they get better and they will ramp up and and and move on and so you get some continuity but like that's not really the case.
Um, so you're kind of I feel like perpetually stuck in this place of like, sure, yeah, you can delegate all the really simple stuff to to an agent and I I think you should, but if that means you never have people who are um kind of at the point in their career where it's like effective for them to pick up more simple tasks and stuff like that so they can kind of build momentum and problem solve and learn systems. Like I just yeah I don't think it's a good balance of things and I think that people are going to run into this spot where if they fast forward like what happens like genuinely what happens when you have a team is that's only like your staff and principal level people like what is what is a team of that look like because I can tell you what's not going to happen is that the work that is like simple or whatever.
It's not like that amount of work goes away. So, you're telling me that you you imagine that you are going to have a couple of very very senior people trying to delegate tons and tons and tons of like simple things to agents and they're going to have time for the other stuff. I I you know, I I'm hopeful for you, but just I don't think it's there yet. Um, so yeah, I don't know. I think there's a bunch of companies doing that. I don't think that's a great fit. I think some companies had tried it and it at least for them failed miserably and they're like, you know, trying to hire people back. Um I don't know.
I think I think if I had to speculate around like how I see things kind of shifting, uh I think that so many people are have been coming into the the software industry thinking about sort of the like what I would call like a more traditional approach to their job which would be I have either gone to college or university or not. Um, I have done a boot camp or whatever. I'm at this point like now it's time for me to go get employed. Okay, company give job, right? Like I'm applying. I'm ready for the job. You give me the job. And I think even before AI, because I disagree that AI is the only and number one thing pushing a lot of the stuff going on with hiring. I think that uh before AI there was a there was a pretty big event that happened in the world with remote work and uh all of this stuff happening and we started to see this shift already.
Now you layer on AI. Um it's just you layer on all of these companies doing mass layoffs and like is it is it all because AI? Uh, pardon my language, but I think in my opinion it is complete If you think that it's people just getting mass layoffs because of uh they are replaced by AI. I think that is in my opinion that is just nonsense. It just it just isn't. Um to me you're allowed to believe whatever you'd like though. So, um I I feel that things are shifting and that will look less like fewer companies hiring huge teams of people and and scaling and growing things out. And I would imagine that we actually have more companies over time. More companies because people are like, "Hey, I I am now in a position where I can go do some operational things and I can build products and services and like I can I can do this, right?
And I don't need to go rely on a business to employ me. like I can go do this and I can work with some other people and I I just suspect we're going to have uh more like overall more businesses and there they will be smaller and I don't know how the math works out on that but I I suspect that you end up having like the number of problems to solve is not going down is how I would say that. So if you have more capable people that can solve problems and we don't have a finite set of problems to solve, I think you just have more people that are capable of solving problems and uh you know finding finding ways to go do that and make money from it. So I I see that shifting.
I think it's going to be a weird shift over the next 5 to 10 years of like maybe I don't go to university and graduate and then go work at IBM and you know or some local tech company or whatever. And maybe it's like, okay, if there's a role, sure, I might look at that, but maybe there's just more and more people that are that are like, I see these problems to solve around me, and I'm going to go try to capitalize on that. I also don't have any idea how like gen what is it like the Gen Alpha? I don't even know what we're at now. I don't I don't know how I don't know what those folks are up to. Um, so yeah, I don't know. um if there's like some generational things to to factor in there too for for those folks up and coming.
But um if junior roles keep getting reduced by AI, where do you get the next generation of senior engineers to come from? Yeah, exactly. Like I I think it's a flawed concept to be like we just don't need that. Um and I when I keep hearing people that will say to me, well, no place is hiring juniors. I'm like I and have literally hired juniors and interns over the past you know couple of years I'm one person um so if if I am doing it then I am sure others have to uh they exist I think it's just extreme competition because the ability to apply to remote jobs is just like insane right like and people are blasting volumes of résumés So, bit of a bit of a mess out there. Um, okay. So, I might switch over to some code or at least some some terminal stuff.
Maybe we can do that. One sec. One sec. That looks kind of weird. It's like telling me that it was cleaning something up and I'm like, I don't even think you were doing work in that folder. Um, okay, Jordan. So, I'm curious about that point. When people say boot camp grads and university grads are competing for the same roles, are companies really viewing them the same? Uh, I can't speak for every company, to be honest. Um I think there depending on which company and how résumés get filtered through like I'll just give you an example right at Microsoft I have done interviews for other teams. I've done interviews for my skip level manager for his teams and like I I didn't filter the resumes at all and so someone did. Was it was it my skip or was it through whatever recruitment funnel that they filtered the resumes and he's then doing another pass and then by the time it gets to me like I'm not filtering.
I'm just you know performing the interview. Um is that like like who had visibility to make the decisions? I don't know. It wasn't me at all for the resume side of things. Um, I certainly, at least for myself, if I go into a an interview, I don't, and I've, this is not like a new thing for me, like I don't care if you went to university or boot camp or did nothing. Uh, I I just don't care. Um, I and I don't mean that in like a rude way, like I think that it's worthless. When I say I don't care, like I am so much more interested in like your willingness to learn. Uh I'm more interested in hearing about like how you uh want to build things, your approach to doing it, your problem solving than like did you go to school, right? Or did you do a boot camp or did you get all of the like for me like certifications and stuff aren't they're not really applicable now.
Let me kind of twist that a little bit, right? If you were someone who was like, "Hey, I love to learn." So, I went to go get all these certificates because I really like learning and like that was one of the ways that I wanted to go about that. Great. I think that is awesome. But if you just came to me and said, "I have a list oferts and like and the basically the goal was that you could go check a bunch of boxes." And I'm like, well, if you weren't checking the boxes for yourself and like hope it wasn't for me. Um, and with university, like I I went to university for 5 years and did like an honors computer engineering program and I learned like for programming and software development at least. I learned so much more outside of that and it was at internships working.
So, not that I regret going to university. I think it was a good experience but not for my classwork did not translate into software engineering. So I don't know um you might have like HR systems that automatically just filter people out if they don't have uh you know some level of postsecary. It's like they're just automatically filtered gone gone gone. And is is that is that good or bad? Is that right or wrong? Like I don't know if you have a thousand applicants and you have to get down to not a thousand applicants. How do you filter a thousand? Like realistically like someone I guarantee you someone is not sitting there going through all a thousand. And the reason I can guarantee that is because not only would that be an insane amount of volume, it's not going to be the only role. So, they need ways to just get through volumes.
And I'm not saying it's good or I'm not saying it guarantees uh the most fairness or guarantees the best candidates. They need some way to filter. So, maybe that's based on post-secary education, maybe that's based on keywords, maybe that's based on being able to calculate your years of experience. like they they need ways to filter. Are are places using AI to go do that stuff? Like probably. And is that good? Like realistically pro probably not. I don't know. Um there's there's so many holes to poke at it. So um I when I say yeah competing for the same roles. I mean I think there's people let me let me change the framing of this, right? Like my my intention is not to say boot camp grads versus college university is the same comparison. I'm going to I'm going to use a completely different comparison. There are people who are extremely qualified and people that have absolutely no qualifications competing for the same roles and everything in between because there is so much volume coming in.
So competing is like literally just about getting through the filtering and there's multiple layers of it. So I think right now the hack right now for for jobs is like however you can get around the resume part, not even through it. How do you get around it? Who can you talk to that gets you into an interview phase? Get around the resume part. It's so much noise. Some places even to interview, they might say like, "Cool, like we can get you in the interview loop because you know you've talked to so and so and like they're willing to interview because you have a you'veorked and got a connection to do it." They might still make you do an application so it's in the system, but like man the just the I I can't even imagine the resume filtering. So, uh, Jordan, I hope that I don't hope that answers.
It's kind of my perspective on it at least. But it's a it's a really difficult time right now. I don't I don't mean to minimize it or make it sound like I'm minimizing it. It's I understand that it's difficult. Okay. Um, what are a couple things that I have done here? Let me do this. So, I'm going to clear that. I am going to think I kept this one. Sure. Let me flip over. Okay. If I do this. Nice. Wow. Uh, is that readable for folks? Can I zoom in? Can you not control mouse wheel in this? Wow. Oh, control plus works. Crazy. Cool. Let me do that a little bit. Okay. So, usually my dev sessions now are like right now I have three of these tabs pulled up. That's because I have one, two, three, four, five, six, seven. I have seven others on a tab uh that I'm not showing just because it's like uh brand goes code and some other stuff that's a little bit more uh my eyes only.
Uh but you know, just a couple of examples of some other things that I I kind of have running on the side or in the background. Um one of them I've been talking about a little bit. Um, so it's actually a role playing game that uh I am re I'm just vibe coding it all from scratch. So the ongoing sort of uh legacy with this is that when I first started programming, who was it in the chat that was saying they were VB6 programmer? This was uh David Edmonston. Um David was saying that you know using Visual Studio uh you know after his VB6 days um when I was learning to program in VB6 one of the first things I was building was a role playing game and not like I would love to sit here and tell you I built the best coolest role
playing game but no like the first thing I built was literally like I'm clicking around um on a a VB6 form application And it had a button that you would click and it would attack a skeleton and then it would die and you would get experience and gold. And all that did was change a couple of labels on the form. And then it was like, wait a second, you can use the gold to buy weapons. And I remember I hardcoded like copying and pasting the weapons in the game. And it was like 10,000 lines of if statements like if you're buying index zero, it's this sword. Copy paste. And it was I remember having this thing and showing my teacher and uh his name was Mr. Cooper. Mr. Cooper was an awesome teacher and I can't remember exactly what he said, but it was kind of like trying to like not not be an ass to me, but like cool, good job.
And I think he was kind of like, you're g you will be changing that because it's 10,000 lines of just if statements like it was it was insane. So the evolution of that was that I continued to build that thing and that is something that kind of came with me in all of my development experience over the past 20 or so years. And so I would just keep using this role playing game as like a a playground for trying things out. And so I haven't played with it for a little while. And when I went back to go like check out the code, I was like, "Oh man, like I I I took a little bit too long off from it. We're getting back into it. I'm like I I feel like it's at a point like again where it needs to be rewritten because there are so many things like patterns and practices I was trying that just don't make sense anymore.
So I can either keep going down this path where I'm like I'm fighting against some things I was I was trying out or I can start from scratch. And I said, you know what, we have AI now. Um, I'm going to try to go build this thing again completely using AI. And so I have been doing it. I don't even know. Can I even show it? Maybe I can even show it. It's not good. Just to to be totally transparent. Like it's it's not good at all. But the point is I'm gonna try building this whole thing um just in just vibe coding it. And so what I've been doing is trying to have it build the game systems. It needs a little bit of an explanation. Um there is a game framework that's kept very generic and the idea behind that is like all of the it's not not a game engine for like rendering but like it's a framework.
So you can you can uh swap in a different engine if you want, but the framework is is really just so you can have like different systems kind of pulled together. So uh because it's a role playing game framework like how does loot work? How do uh actors work? How do um you know magic items or enchantments like that concept? How does that work? How do how do maps work? And so I have all of this stuff that goes into a framework in a very generic way. Then there is another piece to it that's the actual like game logic for the specific game you want. And then that has one more layer to it which is like how do you want like which engine will you use to make that game come to life? And so because I'm a net developer I have gone back to Unity.
Uh what's the other one? Go. Is it pronounced Gdot or God dot? Um I haven't I just haven't haven't done it. Um I figured you know what? I'm gonna go back to Unity because it's a it's a thing. I don't know where this left off. So I'm trying to open Unity to show you, but um it's not going to look good, but at least I can talk about some of the stuff. And it's it's all vibe coded. So I have never seen the code for for this game. So, I'll wait for that to load. Um, so yeah, the what I've been doing in this is like I will I have these conversations with co-pilot and I actually really enjoy this part which is like talking about different game mechanics, different game systems, how they're going to work and come together and then I can say
like hey in this role playing game there is this example or in this other role playing game like we have this kind of cool feature like how can we make you know the combination of those two systems come together over here. And like for me, those are the that's the most fun part of of doing this. It's not like does it actually work or does it look good because it barely works and it certainly doesn't look good. But I I really like that part of the conversation. So I think if I run this, what's supposed to happen is that there is a menu system that will come up. Let me just do it and see if it works. Cross our fingers. And uh the actual user interface a that's the wrong one. Oh, you got to see a little bit. Um that's the wrong scene though.
Where is the scene menu? Okay, let's try this. Cool. So, it's not rendering the text, but the top one is single player. And the rest of it wasn't supposed to show yet. But the user interface after when I press this, what it's supposed to do, there we go. Um, is the user interface when I press like the inventory key, this is actually driven from the server. So the server uh has the like the what's it called? Like the the structure of the user interface, but the actual like game engine will do the rendering for it. So there's a character sheet, there's an inventory. Like I said, it looks terrible. Um you can walk around, right? I can use WD. I can look around. I I asked it to do what is it called? Like if you have occlusion like these models are terrible because this wall could uh you know block the character.
So it it made it transparent. But because this model is one whole thing, it actually made like all of the walls because it's one single thing, it made the whole thing transparent. Uh but like I I didn't do that. I don't I don't know exactly how to do that in Unity. So AI did that. I can attack these monsters which are just blobs. Um by pressing space and I don't think there's any animation yet. There isn't. But I cast two skills at it. It drops some loot. I can pick up the loot and see it in my inventory. There might not have actually been any loot in that one or that one. I leveled up. Nice. I can equip my sword and shield, right? I can walk around. And when I go to the next level, so this level's static. If I go to the next zone, I guess is what they're called.
Um, this one gets generated automatically. Now, yes, it's terrible. It's because it doesn't actually know the direction of the of the pieces. Um, and it doesn't actually do the full a full usable map. But point is that it will generate parts of it. And you can see that as I go on to the different areas, the occlusion part is changing, right? Anyway, so when it's using like real models, hopefully that part works a little bit better. Um, but yeah, it's kind of neat because I didn't code any of it. And is it actually doing it? Okay, so there's like day and night cycles. There's weather. Um, I wasn't paying attention. I think it stayed clear the whole time, but there's fog and rain. So, again, all of that stuff just game systems that I used to have in my game and told it go code it.
And the stuff that you can't see that is what I'm working on with it currently is that all of the different game systems can affect all the other game systems. And what does that mean? Okay, so if I killed those monsters, let's go back and do that again because I know it was so exciting, right? Um, just to explain what I mean, though. So, if I'm walking around on this map and I go to kill these monsters or cast some spells or pick up some loot, so I kill this monster and it drops this this yellow loot graphic, whatever that is. Um, if I killed that monster and I'm on this map and it's daytime and the weather's clear, all of these game systems can actually influence each other. So, I can have different loot drop depending on the weather or the time of day or the map or my level or the monsters level or some quest state.
So I can I'm trying to make it so that I can attach all of these different game states into these different game mechanics or if you're crafting items, right? Like if you're crafting it and you're it's night time and it's snowing, then you can make a different kind of item. Um so all of these things are coming together. And so I have these systems. I had the I guess it's the filtering is the best way to put it. I had this filtering in place for some of these systems, but um it's duplicated and not consistent. So, I just got to the point where I was working with Copilot and this is what the conversation is like. I am trying to have this conversation about like the six or seven variations of this that it vibe coded. How do we get these to be the same kind of thing?
How do we get them to be consistent? Because we continue to solve the same problem in slightly different ways and we've seen it so many times now. This is a good opportunity for dry. I'm not going to repeat myself an eighth time now. Um, I want to get it to be consistent and uh, yeah, so I'm just having this conversation about like how do we go structure that kind of stuff, but really cool. I've not seen any of the code. Um, and yeah, these the sort of game mechanic conversations are a lot of fun. Moving on from that, um, this I just cleared the session, so I'll talk about in just a moment, I guess. But uh Needler is a dependency scanning and automatic registration framework. Uh so it's not I didn't like reinvent dependency injection. I think that would be a a crazy thing to say.
Um but I have like a very opinionated way about registering dependencies. And because of that, I built my own like library for it cuz I I end up writing the same code in like every project I do. And I'm like just make a library so I can keep reusing it. And so it's called Needler. And I was doing a bunch of work originally in Copilot CLI and I just had this problem where I moved over to Claude and was doing a bunch of work in Claude because I got rate limited and I was like, "Oh man, you know what? like I haven't taken the time yet to go write instructions like custom instructions in Needler. So, um what are the custom instruction files for C-Pilot that we have in this repo? Oh, I guess we have voice stuff built in. I should use that now.
Um, so in Claude I was like I'm telling it I'm like hey like I normally use co-pilot so like can you write me custom instructions and I said like can you start by looking at the patterns and practices that we put into the repository like I I didn't save the prompt unfortunately but essentially like can you go look at what we currently have for patterns and practices and come up with a plan that I'll review and you can go write out these different custom instruction files and that way if I sign off on what's there now we have custom instructions that are tailored to different uh like file paths basically and that means going forward we will hopefully keep enforcing or at least suggesting to the agent like here's the the right thing to do and the nice thing about this is instead of putting you know tons and tons and tons of lines into your agents MD file.
This loads it up context dependent. So in my opinion, super nice because you can have a nice focused agents MD file with just like highlevel like this is how I want you to to operate and then you can have really tailored specific stuff in these files. So, I had Claude go build my GitHub uh co-pilot instructions, but the the obvious silly part about that is like Claude's like, I'm not I'm not using that though. Um, so I was like, okay, I got to come up with a solution for this. And so I actually talked to ChatGpt. ChatGpt is something I still use. I don't think I don't think like remotely close to how I used to use it. which was before we had a lot of these harnesses and stuff. It was like, yeah, I was, you know, I'd be writing code in chatg. I don't really do that now, but I like using it for like a completely different perspective on some things.
So, I went to chat GBT and I said, I have a bunch of these custom co-pilot instructions and I also like to use Claude. You're welcome, Jordan. Um, I just saw your message. So, I also like to use Claude and I'm like Claude has something like this, right? Cuz Claude was gaslighting me and being like, nope. Like, I don't have that. Uh, it's got to be custom agent MD file or sorry, Claude files in every subfolder. I'm like, that's I know that's not going to match up to this exact behavior. So, chat GBT said it absolutely does. It's just called rules. So, claude dot sorryclaw then rules. And so I was like, "Okay, well, if it has that, like here's the problem I have. I want a source of truth." So I said, "Make this the source of truth." And I said, "I need to be able to have the same thing in here." But here's the problem.
I don't want to maintain that. That seems like such a lousy thing to have to do just to like have two tools use the same concept. So it was like hey you should make uh this is going to be like sort of a abuse of this word but like you should make a compiler. Um and I think you know the the right word is a converter. And so it was like you should convert with a like a tool all of these into all of these. And I said that's like that's interesting. Cool. Okay. And then I'm thinking okay like do I check these things in now? When does that happen? How do we keep them in sync? And so it was like you could use a a cloud code hook. So when you start the session, it will go run the converter on this. So then it like automatically recreates these.
And like holy crap. Like I actually I think we're on to something here, right? Like that's kind of neat. And then I'm like, okay, do I check these things in? Do I have to like get ignore them because they're generated, right? Like should I really be checking them in? And so I'm talking to chat GBT about this, going back over the pros and cons, and it basically said like you like you should just check them in. Um, and like the next person to generate them or whatever can check in those changes, too. Uh, am I going to regret that? We'll see. I don't know. But point is, I made it and I made it in another repository. So, I have been trying to build out a repository for myself that has a bunch of shared skills, tools, and stuff like that. This is going I'm trying to connect the dots.
Sorry. Going back to the marketplace and plugins and stuff. I'm like, I'm going to have my own private marketplace with my own plugins in it. Um, and whatever skills and stuff I'm building, if they're not very specific to the repository I'm in, put them in my own marketplace. And it's it's genuinely mine. Like it's a private repo. So I'm not trying to make a marketplace to like, hey, everyone I'm not telling you all this to be like, go to my marketplace and get my stuff. Like no, these are things that I I use for me and they're opinionated and they do what I want and I'm super happy with it. So I I worked once I took that concept from chat GBD. I came back to I think it was I don't know if I was using co-pilot or claw to write it doesn't really matter but I said here's like you know some information from a chat and I want to build something like this.
So it made for me a uh PowerShell conversion script. It has it hooked up to a skill. So what is it called? Um, I just see it that way to claude compiler. Right. So, added that in. I have some other stuff in here, too. I have like a a This one. This is one of my favorites and it's like pretty pretty simple, but this is also added into that shared one, but I have a a skill that's like a it's called skill workflow explainer and it basically makes the agent like the LLM give you a visual breakdown uh and like description and summary of when you tell it to go use this skill on another skill, it tells you its interpretation of like how it all flows. And for me that's been super beneficial because when I go to run some more complicated skills that like orchestrate things.
Uh I have definitely seen some situations where it's like I look at the output and I'm like I know you didn't run one of these steps. Like I know you didn't because we wouldn't be we wouldn't be in the situation we're in if you ran that. And when I ask the LLM, it's like, oh yeah, like I I didn't actually use the skill or I skipped that step and like kind of ran my own thing. And so I actually like starting off by saying use the skill workflow explainer on this other skill. So I have now loaded up the context not only with the skill but like basically its understanding of how all that flows. If something looks off at all to me at that point, it's usually because I had made updates to some orchestration skill and I genuinely broke it.
So, I like having that all up front and then I'm like, "Cool, like now go use that skill and go carry out the work for me." So, that's another one I really like to do. Um, I had some other one where I can like convert a repository into having a bunch of patterns and stuff um that end up showing up on my website. So, just give me one sec. I'll show you how this actually comes together. I think it should be on here. Pardon me. Um, so let's see. So, I have these different uh pages. Oh, it's going to give the wrong links here. Let me go to my website. Um, so if I go to my projects, it's the same same idea. So, oh, I'm logged in, so it's not going to show that. Don't worry about that. If I go onto these, it opens up these docs.
And so one of the skills I have allows me to go point at one of my repositories and basically build out all of the automation that puts these doc pages together. And so they're consistent across my different repos. They're all done uh in a very similar way. The nice thing about it is that because it's a skill the and it's pointing at repositories for code, there's an LLM that goes and looks at the repository. It's not like just a PowerShell script that copies and pastes things. There's some of that, but it's a skill that looks at the repository. So, the LLM is like making decisions and inferring things. And so like you know it will look at you know one of the the repositories and say like cool like we have to do some configuration for this MCP server. So like here you go. Why is this one so bright?
Is there no dark mode? Oh there we go. Um so like it it's using an LLM to go figure out some of the nice parts about um what should be included in the docs. But so I I made a skill for that because it's something that I was constantly repeating and then I have that checked into my um my little repository now. So that's been cool. I I built I think I shared this on one of the streams. I built this uh this little web server called Narnia that points at the uh Chronicle database for GitHub Copilot. And it's just a little user interface so I can go browse the sessions and stuff like nothing groundbreaking but I was like hey like let me go generate docs for it right like I literally run a oneline script or oneline prompt and it just goes and
does it and for the most part it works because I had spent all the time upfront with co-pilot in a session finally getting one of these to work and just said cool like make it into a skill now. So, that's been a lot of fun. Um, but yeah, I think what what's been happening with Needler now is that I actually got to try that. So, I can say now, do you have the same clawed rules that match the co-pilot instructions or do they diverge at all? I got that foot pedal under my desk and it's not it's not even useful in Claude anymore because I can just hold my space bar. Right. So, it says there's a one to one match in file count. They should be the same. And that's because I I use that skill to go do the generation. So, We'll see what it's actually saying.
Yeah. So they're semantically equivalent the body content, right? But the glob patterns are different. And yeah, so that means now in this repository at least if I continue to use co-pilot instructions as my source of truth when I'm in uh co-pilot or claude if I want to make changes to those instructions I touch the co-pilot ones. If I'm in co-pilot already great I touch them and then I keep working. And if I'm in Claude, I can touch the co-pilot ones, run that skill again, and then get fresh uh you know, instructions for for Claude specifically. So, just a little thing for me. And I'm hoping that, you know, in a week that's obsolete because either tool will use either one. Uh maybe as I'm saying this, it's already obsolete and that would be awesome.
But the one of the the things I just want people to kind of realize here is like this is this is a sort of a challenge in tooling or a problem in the tooling where historically like if it wasn't AI it would have been like oh man like that's different. Oh like do I really want to spend time like solving this problem? Like it's so annoying. like I I guess I just deal with it. And we don't have to live like that now. The that page that I just showed you guys that had those those projects like let me just pull it up again because I think it's quite relevant um just to to talk about that. So one sec. So on this page, right, every single thing on this page, this is actually brand ghost, but I think there it is.
Caching when I'm logged in as an administrator breaks some things, but Brand Ghost uh started before I had access to AI, but built out of necessity for me and I started building it, continue to build it, and it continues to be something that's solving a really big problem for me. But Homebase, like what's Homebase? Well, Homebase is Linkree, right? Homebase is just linkree. So, if I go uh onto my blog here, right? This this is not Linkree. This is my own open-source version of it. And why would I ever do that? It's because Linkree sucks. And I was paying money for it. And I said, I don't need to pay money for your broken stuff. Like this is just to to explain to you. Just to explain to you my last support email with Linkree was because my link tree was showing black images here instead of thumbnails.
It was just completely broken. And then their tech support just stopped responding to me and didn't fix it. And I'm like, I'm literally paying these people money for this. So, I said, "I'll build my own, right? It do I have time to go build a a custom link tree?" Like, absolutely not. I have I have better things to do. Uh, and I can't be bothered to do that. But I literally could because all that I had to do was like keep, you know, switching between tabs for C-Pilot and Claude and eventually vibe coded the whole thing. So, if you want your own link tree, it's called Homebase. It's on GitHub. You just fork the repo and you make your own link tree. It's totally free. So if you if you want that, go get it. Uh and you never have to pay for a linkree again.
Uh it also is actually uh indexable by search engines where Linkree is not. It has a shop like Linkree does, right? So you can have a little store. So, I just picked all the link tree stuff that I like and built my own. It's got This is going to be a like flashbang warning, but like it's got a QR code, right? So, it actually looks pretty cool on mobile. On my monitor setup, it's kind of wonky. Can sign up for newsletters and stuff. So yeah, like we live in this time where like if we just want to solve problems like it's basically open a new terminal window and describe it right these all these MCP servers Google search console MCP I'm I don't know why at the time I looked Google didn't have one for Google search console keyword planner and page speed insights they had one for Google Analytics and I'm sure they either do right now have these or they will, but they didn't.
Right? So, I talked about this in other videos or live streams, but like this is a repo. I've never seen the code for, right? There's a C f there's a Go folder. This whole thing, you can get this MCP server and go. I've never written a line of Go in my life and I use these MCP servers like regularly. So, it's just to me so cool that we live in this time where if you're like, I have some problem that I need to go solve that is software related, go do it. And maybe to kind of wrap up this stream, like that to me, like what I was just saying there, that to me is not a a sign of like, oh, software engineers are cooked, like that means anyone can go do it.
to to me like to me the fact that I have been doing software engineering for a long time means that when I was like vibe coding those things what I didn't do was cover my eyes and then say like hold down space bar and say to claude claude fix all my problems and then and just kind of open my eyes and it did no like the fact that I have a background in software engineering ing means that I can guide it significantly better than someone who has no idea what's going on, right? I don't need to go specifically look at code for some of these things because in some cases I'm like it's literally not relevant because I can see what's happening and I can instructed that I want it done a certain way. When I'm using AI, when I'm building brand ghost things, I absolutely am reviewing the code because I literally have paying users and I need to make sure it's doing what I want, right?
I need to be confident in that. For these MCP servers, I'm like, I really don't care. Like, make sure the secrets aren't in the repository and we're good to rock and roll. Um, like it doesn't matter. Like, is it doing the job? Sure. or if it doesn't work, you know, hey, hey, co-pilot, fix it, make no mistakes. So, um I just I think that it's super cool that we live in this time where we have tools like this and we can we can jump into stuff. So, um I think that's going to be it for today. Uh I know this is another one of those sessions where I think I talk too much and I don't I don't actually build a lot. I think I need to get like a time on like a Saturday and just set up a few hours and like build something.
Um maybe we'll do a masterus se uh like session and we can build some stuff because I think that would be really cool to see like the feedback loop with um with like getting stuff in Unity. Um so maybe I'll try to set up some time so we can do that. But yeah, I hope hope that was helpful in some way. Um, I realize everyone's probably burnt out from hearing about AI stuff, but yeah, it's uh for me it's just been a lot of back and forth with Claude and Copilot CLI and uh really really enjoying building stuff that way. So, Visual Studio is still on my start menu pin there, but it is slowly slowly going away for me, which is a uncomfortable thing to acknowledge that after years it's uh this is the year where it's it's dying off for me. So, thanks for being here, folks.
Um, if you like topics like this in general, uh, code commute is my YouTube channel that I vlog about stuff like this, so you could submit questions. I answer them that way. Uh, dev leader, I owe everyone more videos. Uh, just been super busy the past few weeks, unfortunately, with work. Um, some days were like 6:00 a.m. till midnight. Uh, and weekends and like three weeks in a row. So, um, I just got to catch up a little bit on that. But, yeah, I got got to put some videos together. The last Needler one people seem to to like. I was showing Microsoft Agent Framework in Needler. Um, I've been spending more time in Microsoft Agent Framework. So, I'll try to put some more videos together on that.
And yeah, like that's been a really fun experience like taking some of the stuff that you know, building skills in in C-pilot and Claude and then going cool, how do I like how do I make this come to life in my own like C code now? So, I'll try to put some more videos together on that. So, those will come. But if you like this kind of content, you can watch Code Commute during the week. It's also on Spotify, which I think for some people just way easier to consume because they can just leave their their they don't have to leave their phones open because they don't have to pay for YouTube Premium as I'm blabbing away. But appreciate you being here and hopefully I'm back on track for streaming next week. So, we'll see you then and I'll let folks know when I'm going to do a live stream maybe on the weekend or something to to do some coding.
So, we'll see you next time.