Speaker 1: How'd you like to listen to dot NetRocks with no ads? Easy?
Speaker 1: Become a patron for just five dollars a month. You
Speaker 1: get access to a private RSS feed where all the
Speaker 1: shows have no ads. Twenty dollars a month, we'll get
Speaker 1: you that and a special dot NetRocks patron mug. Sign
Speaker 1: up now at Patreon dot dot NetRocks dot com. Hi,
Speaker 1: this is Carl Franklin.
Speaker 2: And this is Richard Campbell.
Speaker 1: We've got two special shows coming up soon, episode nineteen
Speaker 1: ninety nine and two thousand.
Speaker 2: For episode nineteen ninety nine, we're collecting people's y two
Speaker 2: k stories what did you do to help the Y
Speaker 2: two k event not actually happen?
Speaker 1: And for episode two thousand, we're going to be sharing
Speaker 1: stories about how dot net shaped your career.
Speaker 2: We have a special page at dot netroocks dot com
Speaker 2: slash voxpop where you can record messages for us that
Speaker 2: we can play on these special episodes.
Speaker 1: So tell us what you did for Y two k.
Speaker 2: And what dot net means to you, and of.
Speaker 1: Course how long you've been listening to dot net rocks.
Speaker 2: So go to dot netroocks dot com slash vox pop
Speaker 2: now and leave us a message before the thought of
Speaker 2: operates like whiskey left in a glass overnight.
Speaker 1: Do it? Hey, welcome back to dot net Rocks. I'm
Speaker 1: Carl Franklin, an amateur Campbell. Brady Gaster is with us again.
Speaker 1: He's been here, well, he was here last year in November.
Speaker 1: But we got some really cool stuff to talk about.
Speaker 1: But first, Richard, Yeah, buddy, this being episode nineteen hundred
Speaker 1: and ninety four, let's talk about what happened that year.
Speaker 1: M H and Brady feel free to jump in during
Speaker 1: this whole debacle here.
Speaker 3: If you remember ninety four, I bet you do.
Speaker 1: I do remember ninety four. Yeah, I was living in
Speaker 1: New York with my then girlfriend who I was to.
Speaker 1: Oh no, I guess we were married by then. Oh
Speaker 1: but anyway, I do remember Nelson Mandela being sworn in
Speaker 1: as South Africa's first black president. I remember the NAFTA
Speaker 1: North American Free Trade Agreement took effect, kicking in in
Speaker 1: the chunnel winking, the UK and France officially opened the
Speaker 1: Channel Tunnel.
Speaker 3: Yeah, amazing piece of work, wildly over budget and over time,
Speaker 3: but you know it's nice that it's still functional this day.
Speaker 1: Yeah, that's true. Some really bad things happened, of course,
Speaker 1: the genocide in Rwanda, bad, bad, bad, Yeah, the Northridge
Speaker 1: earthquake in California, but some other stuff. Ol O J.
Speaker 1: Simpson was arrested after a televised.
Speaker 3: Yeah the White Bronco.
Speaker 1: Yeah. Fore Tanya Harding was banned for life following the
Speaker 1: attack on Nancy Kerrigan Baseball Strike, things like that.
Speaker 3: Uh.
Speaker 1: Some TV shows, The sitcom Friends premiered a couple of
Speaker 1: Conic films, Forrest Gump, The Shawshank Redemption one of my.
Speaker 3: Favorite stories ever, great film.
Speaker 1: And The Lion King. And of course, Nirvana frontman Kurt
Speaker 1: Cobain died by suicide that year. Yeah twenty seven, Yeah, Hey,
Speaker 1: I might as well get the top ten albums of
Speaker 1: nineteen ninety four out of the way. Sure, Sound Garden,
Speaker 1: super Unknown, Black Hole, Sun, great song, Launch You Come.
Speaker 1: It's a great song. Celine Dion The Color of My
Speaker 1: Love had Her Hits, The Power of Love and Think Twice,
Speaker 1: Pearl Jam, Vitology, Better Man, Camp, Find Better Man, Spin,
Speaker 1: The Black Circle and Not for You, bon Jovi, Cross
Speaker 1: Road Always and Someday I'll Be Saturday Night where the
Speaker 1: hits TLC, Crazy Sexy, Cool, Creep, Red Light Special and Waterfalls,
Speaker 1: great songs, Boys to Men Too, singles I'll Make Love
Speaker 1: to You on Bended Knee and Water Runs, Dry Green Day, Dookie,
Speaker 1: basket Case, When I Come Around, Longview, Lion King, various artists,
Speaker 1: Circle of Life, Elton John, of course, Hakuna Matata, Can
Speaker 1: You Feel the Love Tonight? With the hits there Music
Speaker 1: Box by Mariah Carey, which was number one last year,
Speaker 1: is number two, Dream Lover, Hero and Without You were
Speaker 1: the hits, and number one Pink Floyd the Division Bell
Speaker 1: Take It Back, High Hopes, Keep Talking other hits as well,
Speaker 1: another stunner. Yeah, absolutely great, great album. Okay, what do
Speaker 1: you got for nineteen ninety four, Richard In.
Speaker 3: On the space side, there are three flights to Mirror
Speaker 3: this year, which is a lot. This is now the
Speaker 3: Russian Federation, so they're sort of gearing things up. The
Speaker 3: first one, eighteen, has Valerie y Akov on it, who
Speaker 3: will then hold the record for the longest single trip
Speaker 3: into space at four hundred and thirty seven days, but
Speaker 3: of course that won't be until nineteen ninety six. Yeah.
Speaker 3: On the shuttle side there is seven missions total, two
Speaker 3: for Discovery, two for Columbia, two for Endeavor, and one
Speaker 3: for Atlantis the most interesting one. Most of them are
Speaker 3: just straight science missions, but this is the in February,
Speaker 3: the mission with Discovery has Sergei Krikalev on board. It's
Speaker 3: the first time a Russian will ever fly on the Shuttle.
Speaker 3: It's the beginning of the Shuttle Mirror program. One of
Speaker 3: the things they tested on this mission was direct communications
Speaker 3: with mir so getting the right radios, figuring out connections
Speaker 3: and so forth, which will be beginning over the next
Speaker 3: few years to culminate in actually docking a Shuttle to
Speaker 3: Mirror and that whole initiative. So it begins in nineteen
Speaker 3: ninety four.
Speaker 1: I was back when Russia liked us. Remember that, there's
Speaker 1: this brief interval where, you know, so they liked us
Speaker 1: because we were giving them a lot of money.
Speaker 3: We certainly were support helping support them to try and
Speaker 3: go into a commercial economy and you know, open things up.
Speaker 3: This is also when it's actually ninety three that they
Speaker 3: made the agreement to do the International Space Station. The
Speaker 3: US have been trying to come up with space station
Speaker 3: plan for a while, and so in nineteen ninety four
Speaker 3: NASA actually opens the Space Station Processing Facility to start
Speaker 3: building their components. While the Russians have actually got existing
Speaker 3: components that were going to be for Mere two that
Speaker 3: will be turned into the first of the International Space
Speaker 3: Station components. One more space mission actually is in January.
Speaker 3: It's one of my very favorites. Launched out of Vandenberg
Speaker 3: Space Space on a Titan two, the same rocket that
Speaker 3: they flew the Gemini missions on back in the day,
Speaker 3: was the Klementine mission. So what was Clementine. Clementine was
Speaker 3: actually a test article built by the Ballistic Missile Defense Group,
Speaker 3: So jump all the way back to the eighties and
Speaker 3: the full on Cold War and Ronald Reagan and he
Speaker 3: had his Strategic Defense Initiative, which diominally called star Wars,
Speaker 3: and in that was this idea that it would be
Speaker 3: this array of satellites that would monitor for any launches
Speaker 3: of ICBMs and then other satellites that could actually shoot
Speaker 3: them down. And they had great names like Brilliant Pebble. Well,
Speaker 3: Clementine was actually a prototype Brilliant Pebble, a small satellite
Speaker 3: with maneuvering systems and great sensors and so forth. And
Speaker 3: after they finished the test article, but the program had
Speaker 3: been shut down, the Blistic Defense the Initiative group basically
Speaker 3: said an Astley, you want this thing, and they're like sure,
Speaker 3: and they repurposed it into an explorer satellite and its
Speaker 3: mission was to hear that fly to the Moon and
Speaker 3: then it was going to fly on from there to
Speaker 3: intercept a near Earth asteroid, at which point it would
Speaker 3: be lost and gone forever.
Speaker 1: I see, I see. I thought it was because of
Speaker 1: smell like oranges.
Speaker 3: No, they literally backed into the acronym based on the
Speaker 3: fact that they were going to losing them forever. Now.
Speaker 3: The Clementine mission, they never made it to the asteroid.
Speaker 3: They did get to the Moon, and one of the
Speaker 3: experiments they did was bouncing radar off of the poles
Speaker 3: of the Moon. Even going back to the Apollo Ara,
Speaker 3: there's this idea that there might be ice on the Moon,
Speaker 3: but there was absolutely no proof, and so there was
Speaker 3: an attempt by Clementine doing these radar experiments actually bounced them,
Speaker 3: transmitting them from Clementine off the surface of the Moon
Speaker 3: to Aricibo. The old gigantic dish it's now gone in
Speaker 3: Puerto Rico, and the reflectivity that got from it was
Speaker 3: an indicator of hydrogen and austri There was some proof
Speaker 3: that there might be ice and lots of it in
Speaker 3: shaded craters on the poles of the moon. So that
Speaker 3: was sort of the first indications that came from the
Speaker 3: Clementine mission, and very much your swords into plowshares kind
Speaker 3: of took old Cold War tool and turn it into
Speaker 3: a science project. Now, okay, cool, that's all I got
Speaker 3: for space. Let's talk a little bit about computing at
Speaker 3: a time. Of course, the Internet is emerging rapidly. In
Speaker 3: nineteen nighty four is a year that the World Wide
Speaker 3: Web Consortium is formed, with offices in CERN and at MT,
Speaker 3: with Tim berners Lee heavily involved. A guy named hack
Speaker 3: On wim Lee proposes a thing called cascading style sheets,
Speaker 3: and none of us are afraid enough at the time
Speaker 3: to know we should stop that. Man. Oh wait, did
Speaker 3: I say that? I thought that's too bad. And Rasmus
Speaker 3: Laerdorf publishes the first specifications for PHP PHP, the acronym
Speaker 3: being PHP Hypertext Processor because recursive.
Speaker 1: I thought Rory Blis's definition was good. Pretty hot programmer.
Speaker 3: There you go a group called the Enterprise Integration Technologies
Speaker 3: which founds a group called commerce Net, and they do
Speaker 3: the first credit card transactions.
Speaker 1: On the Internet. Yep, I remember those days.
Speaker 3: Which causes by the middle of the year, pizza Hut
Speaker 3: to stand up, the first online pizza ordering service, which
Speaker 3: is actually the first online purchasing service of any kind.
Speaker 1: Really. Yeah.
Speaker 3: Also the year that the Snopes website stands up to
Speaker 3: debunk everything everything, yes, elsewhere. In computing, MS DOS six
Speaker 3: point two to two is released. That will be the
Speaker 3: final version of m STOs NT three five we had
Speaker 3: three one last year and Hour up to three five
Speaker 3: and Windows three one one Windows for work groups. Oh,
Speaker 3: integration with networking, all that good stuff. IBM releases OS
Speaker 3: two WARP, which will be the last version of OS two.
Speaker 3: Intel announces a sixty four bit processor called Itanium. Yeah,
Speaker 3: we'll eventually known it as Titanium. And over on the
Speaker 3: risk side, Acorn out of the UK releases a risk
Speaker 3: PC using arm v three and both people who bought
Speaker 3: it loved it. And on the storage side, sand disk
Speaker 3: release is the format come back flash, which generally is
Speaker 3: flash memory, although there are miniature heart drives made in
Speaker 3: that form factor as well. And Iomega releases the zip disc.
Speaker 1: Oh god, yes, bringing me back here. I had several of.
Speaker 3: Them ninety megs Man ninety megs and a little camera
Speaker 3: company called Sony releases a video game console called PlayStation. Yeah,
Speaker 3: that's nineteen ninety four.
Speaker 1: I got one, well you forgot I got one Netscape
Speaker 1: Navigator Escape.
Speaker 3: Wow than Escape Navigator is not out yet. There's still
Speaker 3: mosaic at this point. It'll be next year.
Speaker 4: Okay, So I was oh it says it says one.
Speaker 4: Oh was released in ninety four.
Speaker 3: I think it was point oh nine.
Speaker 5: And then Yahoo was founded, and you forgot a good album,
Speaker 5: the Downward Spiral, Oh boy, okay, and also music for
Speaker 5: the Jilted generation Prodigy fantastic one. You forgot a fantastic film,
Speaker 5: pulp fiction. Okay, I forget that. Oh boy, Oh he's
Speaker 5: forgot a great show. The one called Friends appeared that Oh.
Speaker 6: Yeah, I said friends blood friends. Oh you did, okay,
Speaker 6: I didn't hear friends, Yeah, I called that out. Let
Speaker 6: me think anything else, anything else. I want to make
Speaker 6: sure we got yacht one Station Doomed two, Warcraft Orcs
Speaker 6: and Humans is released in Final Fantasy.
Speaker 1: There was a website that came online in nineteen ninety four.
Speaker 1: Maybe you've heard of it. It was called Carling Gary's VB homepage.
Speaker 3: I visited that page, yeah.
Speaker 1: Nineteen ninety four. It was one of the first websites
Speaker 1: that was, you know, for that kind of thing, and
Speaker 1: it was definitely the first website for Visual Basic. The
Speaker 1: only other things were Microsoft's MSDN website, which had, you know,
Speaker 1: the stuff that you would expect them to have, but
Speaker 1: this was the first Visual Basic website and it just
Speaker 1: took off like crazy. Yeah, I guess that's it. Yeah,
Speaker 1: all right, so let's do Better know framework roll it awesome?
Speaker 4: All right?
Speaker 3: What we got?
Speaker 1: So we're talking about squad with Brady today for sure,
Speaker 1: and Jeff Fritz and I did an episode on Coded
Speaker 1: with AI episode eighteen where he went through and did
Speaker 1: a demo of squad. Nice. So if you want to
Speaker 1: see that, that's the better know framework for this for
Speaker 1: the show, and it'll be on the website.
Speaker 3: Cool.
Speaker 1: Yeah, it's this is how I fell in love with
Speaker 1: it and since I've been using it. We'll talk about
Speaker 1: that with Brady in a minute. So who's talking to us?
Speaker 1: Richard Harby comment off the show nineteen eighty nine. The
Speaker 1: one we did with Ben de Tree talking about the
Speaker 1: roll of AI and secure software got a lot of
Speaker 1: comments on the show and our friend Codepeuter himself, Richard
Speaker 1: Rukima said. Richard said it building with AI is not
Speaker 1: about writing code. The skill is context management. My approach
Speaker 1: is to give AI the context of the application, but
Speaker 1: then focus its coding effort in the architecture of the design. Yeah,
Speaker 1: the architecture does not minimized change blast within the layers
Speaker 1: of the architecture, and it's also a container that the
Speaker 1: AI can be limited to. This happens the I agents
Speaker 1: need to work together to get multiple changes done at
Speaker 1: the same time or within dependencies that normal work already has.
Speaker 1: But that's a workflow. Context sounds like managing a team,
Speaker 1: doesn't it. Where is that product managing a squad?
Speaker 4: Anyway, as funny as.
Speaker 3: I thought, it was particularly relevant Continuing today's subject, Yeah,
Speaker 3: Richard Courts regular on the show. I'm pretty sure he
Speaker 3: has a copy of music Code By. But if you'd
Speaker 3: like a copy of music Code Buy, I write a
Speaker 3: comment on the website at don Arocks dot com or
Speaker 3: on the facebooks. We publish every show there and even
Speaker 3: comment there in a read in the show, we'll send
Speaker 3: you copy music Go buy, and.
Speaker 1: Music to code By is still very popular. You can
Speaker 1: get it at music too Coode by dot Net. It's
Speaker 1: twenty two tracks, twenty five minutes long, designed to keep
Speaker 1: you in a state of flow while you're writing code
Speaker 1: and uh Yeah, let's introduced Brady Gaster based near Seattle.
Speaker 1: Brady aspires to make it easy for dot net developers
Speaker 1: to party in the cloud as the product manager behind
Speaker 1: Visual Studios, Azure, Write, Click, Publish, and Connected services features.
Speaker 1: He also helps with Aspire tooling support in Visual Studio
Speaker 1: and Visual Studio Code. And we're not designing new tooling
Speaker 1: features or writing things like you know, squad or building
Speaker 1: demos with teammates, He's trail running five k's, parenting two teens,
Speaker 1: mixing new one seventy four bpm drum and bass sets,
Speaker 1: or producing his own electronic music.
Speaker 5: Welcome back, Brady, Thanks Ally, how's going? I should probably
Speaker 5: send you my new job description. I've moved on from
Speaker 5: the VS and dot net crew, who I love Dearly,
Speaker 5: my favorite framework of all time, and I'm over in
Speaker 5: Ryan Fraser's organization and the app modernization team, specifically the
Speaker 5: GitHub co pilot modernization product Great working on things like
Speaker 5: the uh working closely with the dottnet team on their
Speaker 5: update tool, as well as some stuff on the Java
Speaker 5: side and vs code, and then we have this cool
Speaker 5: modernized CLI that Timothy J and Hunter shot off at
Speaker 5: Ignite that we've been bringing.
Speaker 4: Forward and we'll be doing more stuff with over the
Speaker 4: next few months. That's exciting.
Speaker 1: So yeah, I've been using gi hub Copilot Cli to
Speaker 1: do stuff non code related, you know, diagnosing problems with
Speaker 1: drivers that won't load, cleaning up Azure resources that I
Speaker 1: haven't used in a while, things like that. It's it's
Speaker 1: like AI for PowerShell. Really, it's really Yeah, it's amazing.
Speaker 1: So let's talk squad.
Speaker 4: Sure.
Speaker 1: Yeah, first of all, I thought you might have been
Speaker 1: working on this for years, but it was just like
Speaker 1: a couple of months or something, right.
Speaker 4: Not even that, dude.
Speaker 5: Uh So, I have been tinkering with like various agentic
Speaker 5: tools and frameworks all last year, specifically around the spire,
Speaker 5: you know, because that was where I was coming from the.
Speaker 3: Description you just read in theory it is your job.
Speaker 4: Yeah, yeah, in theories job.
Speaker 5: Uh So what I was trying to do last year
Speaker 5: was to figure out uh yeah, because I work on
Speaker 5: the apps an agents team in Korea, so uh yeah,
Speaker 5: you agents are kind of important to us. So all
Speaker 5: last year I was trying to spin up essentially your
Speaker 5: like file new project with a prompt for Aspire devs,
Speaker 5: you know, to kind of say like I want to
Speaker 5: build a Kintoso University or whatever, and like it boof
Speaker 5: like build your thing. And we tried a bunch of
Speaker 5: experiments with it, and you know, the tech was evolving
Speaker 5: a bit. There was a lot of different agentic frameworks
Speaker 5: out there, and you know, there were a different states
Speaker 5: of maturity. I think we tried five six different ways,
Speaker 5: and at the end of the year, like the Microsoft
Speaker 5: Agent framework took off and started using that and got
Speaker 5: got a lot further. But earlier in the year, when
Speaker 5: I moved over to the App Organization team where we're
Speaker 5: looking at, you know, some of the systems and whatever,
Speaker 5: actually was talking to some younger pms inside of core
Speaker 5: A I who were you know, like, you know, three
Speaker 5: of us were consultants for a while. We've worked with
Speaker 5: you know, the tech in the industry, and you know,
Speaker 5: then we went on and did other things. But a
Speaker 5: lot of folks are new in career and they walk
Speaker 5: up and they're like in the App service team, it's like, hey,
Speaker 5: what what do we do here. You know, I have
Speaker 5: a product idea. Who should I talk to? You know,
Speaker 5: I thought it would be cool to spin up a
Speaker 5: couple of agents, you know, each representing you know, an
Speaker 5: area of the of the of the product line, and say, like,
Speaker 5: you represent app servers, you represent container apps, you represent this,
Speaker 5: you represent that. Go search the internet, go look at
Speaker 5: these products, get hubs and go look at their Reddit
Speaker 5: posts and look at their blogs and kind of assess
Speaker 5: what their products do. And build an agent, you know,
Speaker 5: based on what you think. You know, somebody in that
Speaker 5: you know, a PM and that product would would say
Speaker 5: their products, you know, issues and opportunities are and when ill.
Speaker 5: And it wrote pretty good instructions on its own. You know,
Speaker 5: well that was pretty cool. So we'll do that for
Speaker 5: every product in core AI. So about twenty about twenty
Speaker 5: minutes later, I had two hundred markdown files, you know,
Speaker 5: and I was like, this is neat, you know, this
Speaker 5: is kind of cool, right, So I asked a few
Speaker 5: people I'm trying to do some stuff with with get
Speaker 5: ub co pilot cli that we can to make it
Speaker 5: spin up multiple agents. I think it was just pret
Speaker 5: fleet pre squad for all of it, you know, and
Speaker 5: this it was like middle of January, and you know,
Speaker 5: it just wasn't It didn't feel right like something. It
Speaker 5: didn't look the way I'd seen it look on other
Speaker 5: people's screens. And I was like, this is this is?
Speaker 5: It looks like it's just Copilot talking to me. It
Speaker 5: doesn't seem like it's multiple agents. So I'm paying the
Speaker 5: copilot cli kind of teams thread that we have, and
Speaker 5: I said, could somebody's shown me a video like how
Speaker 5: to do this multi agency thing? And of course some
Speaker 5: person way smarter than me dropped in a prompt and
Speaker 5: the prompt said, you know, fan out and do blah
Speaker 5: blah blah, and I ran the prompt and all of
Speaker 5: a sudden, I saw those agents appearing. So then I said, oh, okay.
Speaker 3: Like, is that the magic word? Fan out?
Speaker 5: That was the magic I think it kind of is
Speaker 5: one of those magic words in Squad. It's definitely a
Speaker 5: magic word. I think Carl's probably figured that out, especially
Speaker 5: have that in our docks pretty pretty thoroughly.
Speaker 3: And here I thought the magic word was please.
Speaker 5: Please, so we uh, you know, I did some experimentation
Speaker 5: with it, and I remember it kind of got working
Speaker 5: on my desktop and I asked it a question, like,
Speaker 5: you're this product, you're that product, whatever, what should we
Speaker 5: do in twenty twenty six?
Speaker 4: And it wrote a pretty good report.
Speaker 6: You know.
Speaker 5: The report wasn't groundbreaking. You know, if you were to
Speaker 5: scour a GitHub for a couple of days on all
Speaker 5: these products, you would figure out what it.
Speaker 4: Said, you know.
Speaker 5: But I got pretty enamored with it. I think this
Speaker 5: is kind of cool. And timing's weird. Timing is a
Speaker 5: strange thing. So I was sitting here at my desk
Speaker 5: in the Purple Room and I got up from that
Speaker 5: experiment when did my daily run and was raining that day,
Speaker 5: so I didn't go outside. I did it on the treadmill,
Speaker 5: and I watched a show on molt book and I
Speaker 5: started thinking, what if I put these two ideas is together?
Speaker 4: Right, you know?
Speaker 5: And you know, I'm paying an executive friend of ours,
Speaker 5: and I said, hey, I had this thought, you know,
Speaker 5: and I put these agents together, and I asked them
Speaker 5: a question, and they kind of went off and talked
Speaker 5: about it, and they came back with a paper, and
Speaker 5: that executive said, do it for these products.
Speaker 4: Now.
Speaker 5: I was like, maybe I have something, you know, So
Speaker 5: I did it for those products. Send it over feedback
Speaker 5: was keep going.
Speaker 1: And if they're just writing exploring and writing documentation, right,
Speaker 1: they're not writing code or anything.
Speaker 5: Really, what they were doing is they were these agents
Speaker 5: at that time were scouring GitHub. So so like they
Speaker 5: would go into like all of the products gethub repositories.
Speaker 5: I kind of said, only do this for products for
Speaker 5: which you can find their GitHub, their blog and some
Speaker 5: Reddit commentary. You know, if you if you can't find
Speaker 5: a lot of information, just kind of don't don't do
Speaker 5: that one. Right if if they've got an active GitHub repository,
Speaker 5: prioritize their issues, you know, so you know, it's get
Speaker 5: ub co policy Uli surprise, it can talk to get up.
Speaker 5: So it goes through and it finds all these products
Speaker 5: in all these issues and writes essentially instruction files. Who
Speaker 5: better writes instruction files than a human ill alone. So
Speaker 5: essentially I just said, write a bunch of instruction files
Speaker 5: for a bunch of agents. Now spin all those agents
Speaker 5: up whenever I ask you a question. The thing that
Speaker 5: blew my mind at that part, this was like pre squad,
Speaker 5: like a couple of hours before squad. The thing that
Speaker 5: blew my mind at that point was if you ask
Speaker 5: the coordinator copilot a question. It can go and it
Speaker 5: can go. Oh, you asked me a question that touches
Speaker 5: these products. I'm going to give you an answer back
Speaker 5: based on those products. It was really neat And I said, okay,
Speaker 5: I got to turn that inside out.
Speaker 3: Wow, so it's got some sense of coordination right, Yeah,
Speaker 3: knowing where resources are.
Speaker 4: Yeah, it was neat.
Speaker 1: These agents also have discussions with each other, sometimes disagree,
Speaker 1: and then may give you options or recommendation based on
Speaker 1: the consensus.
Speaker 5: Yeah, it's amazing they do reach consensus. And the way
Speaker 5: the instructions for the system, the squad instructions are written.
Speaker 5: An agent tries a thing and you know, fails at
Speaker 5: that thing. I think, I think they can try twice,
Speaker 5: and then they are not allowed.
Speaker 4: To try again. They're locked out.
Speaker 5: So they are locked out from trying again. Another agent
Speaker 5: has to try, and when that agent tries, they both
Speaker 5: write in one another's history what they learned. So your
Speaker 5: agents in your repo grow in terms of how efficient
Speaker 5: they are with your repo over time.
Speaker 4: Now, I have to be honest with you.
Speaker 5: You mentioned context windows that will bite you later. So
Speaker 5: the agents will kind of clean up as they go. First,
Speaker 5: each agent only had like one file like charter and
Speaker 5: everything it learned it would write in there, and then
Speaker 5: a lot of the other agents had other files that
Speaker 5: they would write like decisions DOTD That one gets pretty long.
Speaker 5: All those files would get long over time, all the
Speaker 5: decisions that the agents make and whatever. So over time
Speaker 5: we've implemented things where it gets split into multiple files.
Speaker 5: You know, if you think about short term memory and
Speaker 5: long term memory, you know, like like you know, the
Speaker 5: agents only need the short term memory to operate. All
Speaker 5: of a sudden that they have a problem, they can
Speaker 5: go back to their history and be like, oh, oh,
Speaker 5: I remember that, and then they can bring that back.
Speaker 5: They'll also manage where their memory needs to live. They've
Speaker 5: got kind of hot cold memory, so they'll put things
Speaker 5: that they're not using kind of off to the side.
Speaker 5: And this is kind of Neat one of the evenings
Speaker 5: that I was working on it pretty late, I was
Speaker 5: looking at some of the stuff Shane was doing with
Speaker 5: WASA and sense some of the products he's doing around
Speaker 5: using agentic skills. H and I started thinking skills are
Speaker 5: really useful in this context. It's really just a set
Speaker 5: of markdown that tells the agent like what's the allies
Speaker 5: to call or what tools to call or whatever you know,
Speaker 5: and and the markdown for that skill kind of boxes
Speaker 5: the agent in to do that one thing. Hey, here's
Speaker 5: a new rule, squad members. Don't guess it stuff. If
Speaker 5: you find that you've done something twice, the next time,
Speaker 5: you do it right, just skill right. So what they'll
Speaker 5: do is they'll actually I claude or copilot compliance skilled
Speaker 5: a disc and they'll put it as low confidence, and
Speaker 5: then the next time an agent does it, they leave
Speaker 5: it at low confidence. The fourth time an agent uses
Speaker 5: that skill and does not change that skill, they'll raise
Speaker 5: the confidence training and then three more times later they'll
Speaker 5: raise it again. So essentially they make those skills better
Speaker 5: over time. I have a skill. I'll be very frank
Speaker 5: with you. I have a skill that I will clone
Speaker 5: the squad repo once in the evening the cut the
Speaker 5: origin off. So I'll cut the remote off because it
Speaker 5: does commit very quickly back and I'll run a report
Speaker 5: to kind of see how many issues, pull request and
Speaker 5: whatever else are being done by public guid up depositories
Speaker 5: that use squad every night. A number gets pretty big
Speaker 5: every night. It's kind of cool, but I'll I'll cut
Speaker 5: the origin because squad will rapidly commit back because it's
Speaker 5: committing its memory back. You can control that behavior, you know,
Speaker 5: whenever you fire up your squad, you can go, please
Speaker 5: don't commit unless I tell you too.
Speaker 4: Please don't push unless I tell you too, that kind
Speaker 4: of thing.
Speaker 1: So I'll still like that. Squad is project specific, so
Speaker 1: it's not like system wide, you know, like co pilot is.
Speaker 1: You have to install it at the project root and
Speaker 1: then it builds the squad files and you can tell it,
Speaker 1: you know, to name your squad based on popular culture things.
Speaker 1: Jeff Fritz used the d C Comics Universe to name
Speaker 1: his squads. I used musicians that have played in or
Speaker 1: for Steely Dan.
Speaker 3: Nice, very specific.
Speaker 1: So my job is script expert was named Fagan Nice.
Speaker 4: That's good. That's good.
Speaker 5: That's one thing that I find it find interesting about it.
Speaker 5: You know, I don't know if I think Richard knows this.
Speaker 5: My background is actually in psychology, a counselor, and I've
Speaker 5: always really loved studying the way organisms communicate and learn
Speaker 5: from one another and whatever. So this has always been
Speaker 5: fun for me. What's really fun is watching the way
Speaker 5: people talk about squad, you know the way like all
Speaker 5: just said, you know, well, actually, you know, we have
Speaker 5: a squad team where a lot of the folks that
Speaker 5: work on squad kind of all over the world are
Speaker 5: they're twenty four hours day. You know, we just do
Speaker 5: this or just did this, And then all of a
Speaker 5: sudden the language changes, Oh, Kawayashi just did this, Finster
Speaker 5: just did this, right, you know they're talking about their
Speaker 5: squad members.
Speaker 3: Are you giving software agency at that point? Is that
Speaker 3: what's happening?
Speaker 5: That was the idea, man, That was absolutely the idea.
Speaker 5: So I started, you know, there's a there's I've got
Speaker 5: one repo that I posted about chat SHPT was looking
Speaker 5: at what I was doing in squad and it started
Speaker 5: kind of commenting that it looked like it was an
Speaker 5: implementation of Conway's law. It was like, that's not exactly
Speaker 5: Conway's law, you know, But the more I ran these
Speaker 5: tests more it was like, no, no, no, it's Conway's law.
Speaker 5: And it was like, I thought this was kind of weird, like.
Speaker 3: Like Conway's law being everything you make reflects the organization
Speaker 3: that makes it. If you have three teams working on compiler,
Speaker 3: you get a three pass compiler right right, So.
Speaker 5: Yeah, so I found that be interesting. So I, you know,
Speaker 5: I said, I don't know if this is really any good,
Speaker 5: like like, let's let's run some tests. So I ran
Speaker 5: some tests. And essentially the test where take a small
Speaker 5: a small task like build build project, food snak game
Speaker 5: or whatever. You know, build build build task using squad
Speaker 5: you know, a team of specialized agents once the assess
Speaker 5: agent almost said person again, uh one job script agent,
Speaker 5: et cetera, et cetera. You know, so so one of
Speaker 5: each of these skills. You know, I'm waiting for somebody
Speaker 5: to do the uh special set of skills thing. But
Speaker 5: you know, when you when you throw a task at
Speaker 5: a team of specialists, what is the comparison to if
Speaker 5: you throw with that same task at a team of
Speaker 5: generic agents. And in this case, it was a small,
Speaker 5: you know, small thing like build build small app, but
Speaker 5: it was roughly twenty percent and basically what you if
Speaker 5: I could run through the metrics. You can't really look
Speaker 5: on screen, but you look at the metrics, uh, you know,
Speaker 5: like the specialist there were one hundred and two tests,
Speaker 5: the generics there were one hundred and eight. Not always
Speaker 5: a bad thing. All the tests passed in both areas.
Speaker 5: All source files changed on the specialist seven whereas on
Speaker 5: the generic it was nine. Lines of code for the
Speaker 5: Specialist was thirteen forty five whereas the Generic was sixteen hundred.
Speaker 5: Model file is in task JS lines two forty versus
Speaker 5: two ninety eight, route file lines versus one forty four,
Speaker 5: migration file lines. I thought it was interesting thirty one
Speaker 5: versus fifty nine, test file organization three versus five, and
Speaker 5: then separate audit model and no versus Yes, so it
Speaker 5: kind of went through some of the different things, like
Speaker 5: it was a little bit faster with the Specialist, the
Speaker 5: code was a little cleaner, and it definitely felt like
Speaker 5: it was more organized. The argument there was, this is
Speaker 5: a small initiative that you ran for like ten to
Speaker 5: fifteen minutes. What if it was a modernization exercise, sure,
Speaker 5: but if it was, like, you know, a large scale
Speaker 5: project like I don't know, community server or something like that, you.
Speaker 3: Know, forty eight hours, look like right, yeah, yeah, wow.
Speaker 4: So that got pretty interesting. That's pretty cool.
Speaker 3: But it also speaks to a pattern I think we're
Speaker 3: going to see where over time, you're going to have
Speaker 3: a set of agents specific to an application, like as
Speaker 3: a product goes into maintenance, the tooling set's going to
Speaker 3: know more about the software than a person anymore. And
Speaker 3: and the fact that it's what you've worked through multiple
Speaker 3: versions with these tools means it's going to give you
Speaker 3: a pretty strict guidance on how to add a feature
Speaker 3: or evolve the code at all to the betterment of
Speaker 3: everything like that. In some ways, one would argue, unlike
Speaker 3: most software, this your product under this environment will get
Speaker 3: better version to version because the tooling will get stronger.
Speaker 5: Yeah, that's the that's that's the idea, that's the aim.
Speaker 5: You know that contact window will bite you every time, dude,
Speaker 5: Like it really really will. And you know one thing
Speaker 5: that people talk about with the context window. Let's take
Speaker 5: Opus or Sonic as a for instance. You know you
Speaker 5: have a two hundred thousand token limit on all a message.
Speaker 5: So you send a message, if that message is going
Speaker 5: to write a novel, you're gonna blow your window. So
Speaker 5: you're not gonna be to get all back because you
Speaker 5: get that limit. So let's say you have a squad,
Speaker 5: say you've got a squad five, Well, guess what your
Speaker 5: your window per message is a million. Now, because each
Speaker 5: one of the agents has two hundred thousand, so they
Speaker 5: can go back and there the other little thing and
Speaker 5: have their conversation and come back. Now do you use
Speaker 5: more tokens? Yes, yes, you will use more tokens. You know,
Speaker 5: Jeremy just posted an interesting Twitter where he's got like
Speaker 5: a it looks like a hockey stick, you know, Like
Speaker 5: he started using squad and it was a vertical line.
Speaker 5: And I've talked to some folks who start using it.
Speaker 5: They see that experience and then it drops because the
Speaker 5: agents get better so they have to work less.
Speaker 1: Well, you also pay. We get up co pilot cli
Speaker 1: by the request, not by the token, so that's that's good.
Speaker 1: I mean it's more a fit shouldn't request wise, but
Speaker 1: token wise. You can see that in the demo that
Speaker 1: Fritz and I did. It was quickly over a million tokens.
Speaker 5: But I think the benefit the thing that I would
Speaker 5: wonder I'd love to do research on this. If you're
Speaker 5: having a single threaded conversation with Copilot, which is you know,
Speaker 5: fantastic models are fantastic. If you're having that single threaded
Speaker 5: conversation and you're not a prompt engineer, are you going
Speaker 5: to be as efficient as if you were to ask
Speaker 5: a bunch of experts, experts, go solve this problem for me.
Speaker 5: You know, I right, so far, I'm so far. I'm
Speaker 5: compelled me too, you know it feels Yeah.
Speaker 3: Process of communicating with experts is not simple either.
Speaker 4: Well it's not.
Speaker 3: Maybe we should take a break.
Speaker 1: Yeah, let's take a break. We'll be right back after
Speaker 1: these very important messages, and we're back. It's dot net Rocks.
Speaker 1: I'm Carl Franklin, That's Richard Campbell, and that's Brady Gaster.
Speaker 1: We're talking Squad multi agent team that you can deploy
Speaker 1: and employ for or your projects that will help everything
Speaker 1: go real smooth. I wanted to tell you that I
Speaker 1: immediately got to work with Squad and quickly found out
Speaker 1: that I had an old version of GitHub Cli that
Speaker 1: it didn't like gethub copilot cli. So I updated that
Speaker 1: and got in the pre release, which means that it'll
Speaker 1: automatically install new releases when they come out, and boom,
Speaker 1: everything worked. The app that I'm writing with it, and
Speaker 1: I can't believe it, but I've only been working on
Speaker 1: it for a few days in my spare time and
Speaker 1: it's almost done. Is a you're gonna like this, Brady
Speaker 1: it's a remote daw digital audio workstation, so it doesn't
Speaker 1: have all the features of a digital audio workstation, but
Speaker 1: it looks the same. Like it's got tracks, and you
Speaker 1: have a remote artist at a home studio whatever, and
Speaker 1: they connect and you connect them with an authorization, and
Speaker 1: you play. You load up a backing track, which is
Speaker 1: you know, a stereo track of what they're going to
Speaker 1: perform to, whether it's singing or playing keyboards or guitar
Speaker 1: or whatever. And then you basically, you know, you can
Speaker 1: control their devices and your devices and which devices are
Speaker 1: going to be used. There's automatic talk back which you
Speaker 1: can mute, and then you basically push the record button
Speaker 1: and streams to the artists and they hear, you know,
Speaker 1: the backing track, and then they record and you see
Speaker 1: the waveform just like when you're recording locally, and it
Speaker 1: syncs up. And that's the that's the hardest thing that
Speaker 1: I had to do was making the synk happen because
Speaker 1: and this caused many discussions between the agents about you know,
Speaker 1: how are we going to do this with the math,
Speaker 1: and maybe we have to do some tests and figure
Speaker 1: out because all of these little things. Then in the
Speaker 1: jobscript audio basically take time. Yeah, and so how do
Speaker 1: you estimate that if you don't do a test and
Speaker 1: you know see what that timing is, because it's going
Speaker 1: to be different on every machine. So but that's where
Speaker 1: we're working.
Speaker 5: On you and not talked about it. You and I
Speaker 5: talked about a system a long time ago like that.
Speaker 5: It was an idea that I brought you when I
Speaker 5: was the signal or you know fanboy. I think I
Speaker 5: came up to you in Orlando and I was like, so,
Speaker 5: I want to talk to you about this this thing.
Speaker 5: I was thinking about building a signal R thing where
Speaker 5: we would basically transmit MIDI over Signal R so we
Speaker 5: could have like remote sessions. And you were like, do
Speaker 5: you know the do you know the latency tolerance? And
Speaker 5: I was like what you were like point six milliseconds
Speaker 5: and I was like it's not going to work and
Speaker 5: you were like, no, it's not going to work, and
Speaker 5: you were like and you're a drummer, so it's like
Speaker 5: point three.
Speaker 4: Yeah, I'm excited you're doing that. I want to see that, mate.
Speaker 4: It's going to MIDI.
Speaker 1: If you have a long MIDI cable, you're going to
Speaker 1: get some latency. Let alone the Internet. Yeah, I've done
Speaker 1: some many things over the Internet with UDP and it's fun,
Speaker 1: but it's not real time. There's no way.
Speaker 5: Yeah, yeah, yeah, Pete told me to. He's like, no, dude,
Speaker 5: don't you're gonna don't.
Speaker 4: Don't do it.
Speaker 3: People have tried to clear the Internet is not real time.
Speaker 1: I told you about that conversation I had with Should
Speaker 1: I say his name?
Speaker 3: All right, well your call man. It's a famous story
Speaker 3: for me anyway.
Speaker 1: Yeah, it's a famous I won't say his name, but
Speaker 1: it was back in early days of dot net rocks
Speaker 1: and one of the listeners we had a we had
Speaker 1: an IRC channel open, and he says, hey, this, I'm
Speaker 1: the web guy for this artist right who everybody would
Speaker 1: know who he is. And he wants to give you
Speaker 1: a call like what Yeah, he wants to do remote
Speaker 1: recording and jamming over the internet. And so he calls me.
Speaker 1: I'm amazed, you know, and he says, I want to
Speaker 1: do real time jamming between California and Europe. And I said,
Speaker 1: when you say real time jamming, do you mean one, two,
Speaker 1: three go and we play together? And he said yeah,
Speaker 1: and he said that's not going to happen. You're constrained
Speaker 1: by the speed of light. Yea, even if you had
Speaker 1: a fiber optic cable stretched between California and Europe and
Speaker 1: you you know, light a bit at one end, it's
Speaker 1: going to take time to get to the other end,
Speaker 1: and then that person has to hear it, respond and
Speaker 1: send it back and by the time it gets back
Speaker 1: to you, it's completely useless. So he abandoned that project.
Speaker 1: But it was a fun conversation to have. You have
Speaker 1: to persuade him. I did, and he was He started
Speaker 1: talking about Apple coming out with some software and yeah,
Speaker 1: I'm sorry, but Steve Jobs can't change the laws of physics.
Speaker 4: No, it's not gonna work. It's like that commercial. It's
Speaker 4: not gonna fit be late.
Speaker 3: It's not just a law.
Speaker 1: So I started this by saying, I used I'm using
Speaker 1: squad to develop this Apple cation and it's just amazing,
Speaker 1: like how fast things are coming together and how I
Speaker 1: can give it real feedback, Like, you know, why are
Speaker 1: why are you taking so much vertical space? We need
Speaker 1: this space for track, So let's consolidate and put some
Speaker 1: of these buttons on the same place so they're not
Speaker 1: taking up all this room. Oh yeah, yeah, good idea.
Speaker 1: Boom done.
Speaker 5: Just great, that's cool, that's cool. My my favorite one is, uh,
Speaker 5: I've done this a bunch too. I'm gonna give you
Speaker 5: some bad news here in a second. So my favorite
Speaker 5: one is the hiring. You know talked about hiring. Yeah,
Speaker 5: so I don't you might not even know this. So
Speaker 5: let's say you either do you know file new squad
Speaker 5: if you will, or you injected squad into an existing
Speaker 5: repote and they look around and they go, this is
Speaker 5: what or the coordinator looks around and says, this is
Speaker 5: who you need and you go cool, cool, cool, and
Speaker 5: you you add those squad members to your team and
Speaker 5: you're partying.
Speaker 1: You know.
Speaker 5: I'm like, you're you're off and running and everything's good
Speaker 5: and and and uh, you know, all of a sudden,
Speaker 5: you're like, shoot, like, every single time you make a diagram,
Speaker 5: you'll you'll see this.
Speaker 4: They do this.
Speaker 1: It draws me.
Speaker 4: Every time you make a diagram, you do it in
Speaker 4: Askei art in the Marktown. Why would you do that, dude?
Speaker 4: Like do it in Mermaid, you know, speaking of which.
Speaker 5: None of you were good at this. So would you
Speaker 5: please hire a Mermaid author and do your best to
Speaker 5: go and learn? Like all the color codes, all the
Speaker 5: tricks like how to organize the squares, like go look
Speaker 5: at like Mermaid standards and practices and like the best
Speaker 5: way to do Mermaid diagrams. Hire a Mermaid you know,
Speaker 5: you know, designer to my team. Naming it's weird depending
Speaker 5: on you know, your your age, you think of like
Speaker 5: the Little Mermaid as your universe or ten or whatever.
Speaker 5: I had no idea, you know what I mean, I
Speaker 5: have no idea how you would name that one. But
Speaker 5: you know, I bring that Mermaid author to everything because
Speaker 5: like they always do ASKI art, and I'm like, don't
Speaker 5: ever do that again. Make it right in your charter.
Speaker 5: Don't ever do ask you art anything diagrams. Hand it
Speaker 5: to you know, Ariel or whoever, and and let the
Speaker 5: Mermaid author do it.
Speaker 4: All, okay.
Speaker 5: So I found that that was something that I had
Speaker 5: to do in every squad, and I was like, gosh,
Speaker 5: it's sort of irksome, you know that, Like I have
Speaker 5: to do this in every one of my squads, the
Speaker 5: same thing a git operator, you know, like I'll knock
Speaker 5: the cat in every squad because like I don't like
Speaker 5: doing all the good stuff, So I'll have somebody who's
Speaker 5: a GIT expert in each squad. You can hire a
Speaker 5: squad member later. You can also send them on vacation.
Speaker 5: They go, they get archived that you can bring them
Speaker 5: back with all their knowledge later if you want to.
Speaker 5: But you know, some people started saying, like I do
Speaker 5: the same thing, Like I have this one that I'll
Speaker 5: bring to every project. And then people started saying the
Speaker 5: obvious things. Could I just have them on my machine?
Speaker 5: Can I can I instat CLA locally?
Speaker 4: I'm like, kind of not what.
Speaker 1: It's for, and like it's project specific.
Speaker 5: I started, yes, project specific, guys, like what you know,
Speaker 5: everybody that used it. You know, It's like they're sort
Speaker 5: of this like like the phases they go through. The
Speaker 5: first phase is all this is cool. The second phase
Speaker 5: is oh, I love the cast members and the naming.
Speaker 5: The third phase is wow, this is really powerful. The
Speaker 5: fourth phase is I want this to do more than
Speaker 5: just inside my repo, right, And that always goes through
Speaker 5: that And that fourth one is where we came up
Speaker 5: with the idea of extending the entire capability outside of
Speaker 5: it just being one JavaScript file and a whole bunch
Speaker 5: of markdown that copilot knows what to do with inside
Speaker 5: of your repo. We've replatted it using typescript on top
Speaker 5: of the co Pilot SDK, and we've split it into
Speaker 5: two packages. So now you have a CLI that's built
Speaker 5: on top of the co Pilot SDK, and that CLI
Speaker 5: just has different commands like higher. It's got a special
Speaker 5: command called higher. You can like give it and give
Speaker 5: it the thing you want, and you can there is
Speaker 5: that there is a rebel experience. It's quite poor at
Speaker 5: the moment. That's why I've been really slowly to release it.
Speaker 5: Maybe by the time the show was out of it
Speaker 5: to be out, I just wanted to experiment with the
Speaker 5: idea of using the copilot s and some cars probably seen.
Speaker 5: I think you emailed me a couple of days ago.
Speaker 5: The squad doesn't always fire. I have to say team,
Speaker 5: I have to say fan out, I have to say Kobayashi,
Speaker 5: I have to say whoever, and then it will do
Speaker 5: the thing. But Copilot really likes to help me, and
Speaker 5: sometimes I want Copilot to not help me. I want
Speaker 5: my squad to help me. So I thought, well, let
Speaker 5: me just build a repel where we just sell on
Speaker 5: top of the SDK. Copilot does all the work in
Speaker 5: the background. But the squad does their coordination themselves. Surprising
Speaker 5: how many other issues that relies on me. So I've
Speaker 5: been working through that. But you know, I said two packages,
Speaker 5: so you should probably guess what the second is. Squad's
Speaker 5: going to have its own SDK, so you'll be able
Speaker 5: to build things using the Squad SDK. You'll be able
Speaker 5: to inject squads into things. So wow, it's going to
Speaker 5: be fun.
Speaker 3: So I see some sort of configuration as code for
Speaker 3: setting up squads for new projects coming then.
Speaker 5: Yeah, well you also be able to do You'll be
Speaker 5: able to install it globally, so you can actually install
Speaker 5: the squad Cli globally, which means that you can do
Speaker 5: squad in it dash dash Global. You can have your
Speaker 5: own personal squad and they go from project to project
Speaker 5: with you, so I can take my Mermaid Diagram author
Speaker 5: with me to every project as a consultant, and you could.
Speaker 1: Still customize project on a project basis, like if one
Speaker 1: project is in Blazer and another one is in View,
Speaker 1: obviously you want different agents.
Speaker 5: So I could have my own team and just bring
Speaker 5: them from project project as I want to. Within two
Speaker 5: three days of us starting to use this internally, one
Speaker 5: of the guys on the Akas team.
Speaker 4: James Startivant had built a tool.
Speaker 5: Called Rally Rally or Squad, and the idea behind it
Speaker 5: is he's doing a lot of work on a lot
Speaker 5: of repositories, so he doesn't want the process of putting
Speaker 5: the squad in and he didn't want to get store
Speaker 5: at all, and oh it's terrible, So he would simblink
Speaker 5: like it was almost like Squad is a service. He
Speaker 5: would simplink Squad into each repo, run his thing, file
Speaker 5: the issue, and then back out again. So it was
Speaker 5: like the only thing he would do would get into
Speaker 5: the repo, file the issue in that GETUB repository on
Speaker 5: whatever team it was, and then pull back out again.
Speaker 5: So if you think about what that implies, you could
Speaker 5: use it for securityology, you can use it for you
Speaker 5: could use it for like filing issues.
Speaker 4: I pained Mike len in one of our mvbs.
Speaker 3: So would you end up leaving like some decision files
Speaker 3: or skills and things behind in each project that were
Speaker 3: specific to the project for the next you do set
Speaker 3: to come in and and sort of have a head start.
Speaker 5: You do you can you can do At first, When
Speaker 5: I first did Squad, I had this weird guard setup
Speaker 5: where it would block you, uh, putting your putting your
Speaker 5: squad into main, like whatever your main branch is, it
Speaker 5: will block you from putting it in there. Carl, you
Speaker 5: might want to do an update I just shipped over three.
Speaker 5: It'll be the last one that removes that block, okay,
Speaker 5: because that block is actually in the source code as well.
Speaker 5: So if so, if the squad looks and sees that
Speaker 5: block is not on disc, it'll recreate it for you.
Speaker 5: So you get into this horrible loop of like deleting
Speaker 5: it and gets recreated every time.
Speaker 1: I like having the option of putting the squad files
Speaker 1: and a squad folder in the repo or not. You know,
Speaker 1: I like to have that option. And you know, what
Speaker 1: I'm thinking of is some sort of tool at the
Speaker 1: at the command line where I could list my squads
Speaker 1: and I could name them right, And so if I
Speaker 1: have a Blazer app squad, or if I have a
Speaker 1: you know, Windows and a WPF squad, for example, I'd
Speaker 1: like to be able to select which one that I'm using.
Speaker 1: That's good, I get to the project.
Speaker 5: That's good, I will get you to file an issue
Speaker 5: on the repo for that shortly cool.
Speaker 3: So yeah, you can also imagine when you're doing a
Speaker 3: rally like that. You just look at the project. You
Speaker 3: know what libraries are in there with packages you're pulling in,
Speaker 3: you know what squad members you need.
Speaker 5: That's exactly right. I mean the other day I'll pulled
Speaker 5: one of our and you can also do it in reverse.
Speaker 5: So you know, I build a lot of demos.
Speaker 1: Right.
Speaker 5: The other day we had this We have this event
Speaker 5: and the event has a pre recorded demo. That pre
Speaker 5: recorded demo had some Java stuff and some Dott stuff
Speaker 5: and you know, I'm so great at Java not so
Speaker 5: what I You know, we kind of have like a
Speaker 5: rushy situation. It was like, oh, we got to have
Speaker 5: the video done and whatever days. What's our sample app?
Speaker 5: So people were like, well, we could use this sample app.
Speaker 5: We could use that sample apps like give me an hour.
Speaker 5: So you know, I basically fed it. You talk about architecture,
Speaker 5: pardon me, marketing friends, You feed it all of the
Speaker 5: features you want to show, and you say, build me
Speaker 5: a demo app, and it builds the demo app based
Speaker 5: on the features you want to show. And then we
Speaker 5: walked through and we just did the thing, and I
Speaker 5: was like I cannot believe that that worked so well.
Speaker 5: And at one point one of the folks on the
Speaker 5: team they said, hey, the way this app is built,
Speaker 5: we can't show this one feature. You would need to
Speaker 5: split it into two projects. Give me five minutes, squad,
Speaker 5: no problem. It was great and it saved us. I mean,
Speaker 5: you know how that fire drove can be. You know,
Speaker 5: like before the demo, you know, so you know.
Speaker 1: The worst thing is tearing apart stuff from projects and
Speaker 1: moving them to other projects the worst because.
Speaker 4: Yeah, so so that was fun. I mean it can just.
Speaker 1: Look at your dependencies and go and you're done.
Speaker 3: I mean you're taking advantage of the fact that these
Speaker 3: tools are so naturally detail orient you know that they
Speaker 3: do read through the lines, they don't fade off sixty
Speaker 3: lines in the way humans do.
Speaker 5: Yeah, like another one that's fun. Grab a repo that
Speaker 5: you don't know anything about. You can have the squad
Speaker 5: tell you about it. Or you could say, hire a
Speaker 5: revealed JS designer and build me a presentation that tells.
Speaker 4: Me what's in there.
Speaker 5: You go a few minutes later, you're hitting the writer okay,
Speaker 5: going oh oh that's cool, that's cool, that's cool.
Speaker 1: I gotta I gotta tell you how I started this project.
Speaker 1: I started by, you know, getting my squad together, telling
Speaker 1: it what, you know, the skills that I needed. You
Speaker 1: know that Fagan was the JavaScript guy and all this
Speaker 1: stuff and his blazer, and I gave it just a
Speaker 1: one paragraph and I said, here, based on what you
Speaker 1: know about this, can you write me a document where
Speaker 1: I can fill out all the specifics of this app
Speaker 1: in a detailed spec so that we can move on
Speaker 1: from there, because it's not enough just to you know,
Speaker 1: here's a couple of paragraphs and boom go. And it said, yeah, sure.
Speaker 1: So it built me this mdfile with you know, this
Speaker 1: goes here, this goes there, what are the decisions that
Speaker 1: are made? What do these views look like? And it
Speaker 1: took me, you know, an hour maybe two hours to
Speaker 1: fill out. And I went back to squad and I said, okay,
Speaker 1: here's the detailed spec. Let's come up with a plan
Speaker 1: and come up with phases that we can build, you know,
Speaker 1: one at a time, and take it from there. And
Speaker 1: it did. And we started with phase one and we
Speaker 1: moved through things. We had to adjust things, and I
Speaker 1: told it to adjust the adjust the plan and also
Speaker 1: create an implementation document with everything that it did nice,
Speaker 1: you know, and so we kept that going throughout the
Speaker 1: whole process. And from that, when I'm done, I'm going
Speaker 1: to say, okay, take this implementation plan and create a
Speaker 1: user manual.
Speaker 4: Yeah, boom hop you're done.
Speaker 1: You create a help file.
Speaker 5: Yeah, and you can even tell it. So this is
Speaker 5: something you should try next time. So how about what
Speaker 5: you were doing there as you were writing everything to
Speaker 5: the docs folder on your disc. So the next time
Speaker 5: you do that when you start the repo, go ahead
Speaker 5: and say, you know, go ahead, go into copilot and say,
Speaker 5: so you're in a get repository because you've started a
Speaker 5: squad and you're you're in pre personal squad, so you
Speaker 5: know you've got to get repo, Say go ahead and
Speaker 5: create a ge hub repository before this get repo. Go
Speaker 5: ahead and commit everything you can even say, like in
Speaker 5: what organization you want it in, and we'll do it.
Speaker 5: And instead of you saying, create me a pr D,
Speaker 5: you can say, create me a pr D as a
Speaker 5: single gethub issue. Then split that GitHub issue into the
Speaker 5: individual work items and make sure you label it so
Speaker 5: that each team member knows what they're supposed to do
Speaker 5: and it will go off and break all those into issues,
Speaker 5: and then you can say, Ralph, please start working and
Speaker 5: work every issue until it's done. And Ralph is the
Speaker 5: permanent team member who works like the Ralph flup, he
Speaker 5: will spin up and he will begin to work those
Speaker 5: issues and like wake up team members and assign the
Speaker 5: issues to the team members, and you will see the
Speaker 5: work getting done. And you could even say, do not
Speaker 5: commit to Maine directly, always do full request.
Speaker 2: I do that.
Speaker 4: Yeah, so you'll see the issues get filed. So that's cool.
Speaker 1: I didn't want to just let it loose and say, okay,
Speaker 1: do all these things. I wanted to go in phases
Speaker 1: and test them out, you know. Yeah, of course, because
Speaker 1: that's the way I work. I love to work that way.
Speaker 4: Yeah, that's great. Yeah, yeah, it's like spec driven development.
Speaker 1: Phase two can happen until I've signed off on phase
Speaker 1: one exactly. Yeah.
Speaker 3: I keep thinking about get Hub spec Kit, but I
Speaker 3: think it's got its own it LM approach too, So
Speaker 3: you know that the two aren't going to meet.
Speaker 5: Well, it's definitely, it's definitely a different approach. It's a
Speaker 5: great tool, it's a fantastic tool, but in our case,
Speaker 5: you wouldn't sit there and write this spec. You would
Speaker 5: have a conversation with your team and have your team
Speaker 5: write this back, and then you would manually tweak the
Speaker 5: spec or talk to the team and have them tweak
Speaker 5: the spec, and then have them break it up into
Speaker 5: work items and have them come up with the success
Speaker 5: criteria for each one of those issues and then say go,
Speaker 5: you know, and you're going to have it work issue
Speaker 5: by issue, or you can have it work as Carl
Speaker 5: is saying, you know in like milestone by milestone kind
Speaker 5: of right.
Speaker 3: And it occurs to me because keep thinking like why
Speaker 3: do I have a JavaScript agent when I could just
Speaker 3: have the do everything agent. It's the token problem, right,
Speaker 3: you want to decompose this down so you stay away
Speaker 3: from token limit.
Speaker 1: Yeah, because each of these agents live in their own world, right,
Speaker 1: and they don't need to know the big picture. You
Speaker 1: don't need to provide all that system prompt right, you know,
Speaker 1: for they just need to know how to fix a problem.
Speaker 5: Yeah, they know how to do that future And the
Speaker 5: other reason you never want to have that superagent is
Speaker 5: that's very hallucinatory.
Speaker 4: Yeah, you know what I mean.
Speaker 5: If you have if you have an agent with no
Speaker 5: training or no specific constructions or no specific role. They're
Speaker 5: going to hungry, hungry hippo all the work, right, you know,
Speaker 5: so like they're going to fight over work.
Speaker 3: And they're going to blow their context in their tokens
Speaker 3: quickly and not give you results.
Speaker 4: Yeah, the specificity wins.
Speaker 5: I had a call the other day with a gentleman
Speaker 5: way smarter than me when it comes to all this stuff,
Speaker 5: and he was like, everybody in an industry knows that,
Speaker 5: Like that's you know, everybody knows that, like.
Speaker 3: That is the core piece of knowledge. You may have
Speaker 3: to learn the hard way is you know, you do
Speaker 3: not want the mother of all prompts.
Speaker 5: Yeah, right, yeah, I mean all this stuff is just
Speaker 5: object orientation. You know, it's just the same a lot
Speaker 5: of ways.
Speaker 4: It's the same.
Speaker 3: It's the same composition decomposition. Right, we don't have to
Speaker 3: get each strategy had a form of decomposition. It's all
Speaker 3: take smaller bites, right, that's the whole thing. You can
Speaker 3: eat the whole elephant, but you gotta eat it one
Speaker 3: bite at the time, exactly.
Speaker 1: That suspice to meat the ball.
Speaker 3: That's a lot of that's what that is.
Speaker 1: So it sounds like you're you're just going to keep
Speaker 1: going and going and going, and pretty soon, who knows,
Speaker 1: maybe we'll be running our operating systems with squads or our.
Speaker 4: Whole I don't know, man, I'm I'm whole businesses.
Speaker 5: I'm frankly, uh, it's been a little bit overwhelming, you know.
Speaker 5: I started the project. I remember I was outside. It
Speaker 5: was the Super Bowl Sunday and uh gowks and I
Speaker 5: was cooking something, you know, for people coming over that day,
Speaker 5: and I had squad working. I've been telling Shane about it,
Speaker 5: and I texted Shane and I was like, I want
Speaker 5: to aim squad at your project.
Speaker 4: And he was like, don't do that. I don't no, no,
Speaker 4: he was like, don't do that. I don't do that.
Speaker 5: I was like, I'm just gonna write a report because
Speaker 5: I don't want you to write a report. He goes,
Speaker 5: I have people working on that problems Like it's fine.
Speaker 5: So I pulled this thing. I aimed a squad at it.
Speaker 5: I was like, write a proposal for what Shane should
Speaker 5: do with this project. I sent a proposal like ten
Speaker 5: minutes later. He was like working, He's in squad. He's
Speaker 5: suppol request. A couple of hours later, so he's like
Speaker 5: starting to use it, like during the super Bowl or
Speaker 5: something to text each other. And you know, my friends
Speaker 5: are sitting on the cop so like seem really amped up.
Speaker 5: I'm like, I think I just released a successful open
Speaker 5: source project.
Speaker 3: So yeah, well, and you know, did the thing people need,
Speaker 3: which is tooling, right. I don't need to hear about
Speaker 3: another model I need. I need a set of scaffolds
Speaker 3: around how I actually get work done.
Speaker 5: I need a special set of skills. Yes, but I'm
Speaker 5: happy people are enjoying it. You know, keep the issues coming,
Speaker 5: keep the great commentary coming, you know, keep the stars
Speaker 5: coming place. You bet, it's been really fun. I think
Speaker 5: get hub blog Mike features soon. We're having conversation. But
Speaker 5: it's been fun. You tell your friends, tell your nerver bets.
Speaker 1: Awesome. Awesome, Brady, Thanks, thanks so much for writing this
Speaker 1: great tool and sharing it with us. Have fun with
Speaker 1: it all right, and we'll talk to you next time
Speaker 1: on dot net rocks. Dot net rocks is brought to
Speaker 1: you by Franklin's Net and produced by Pop Studios, a
Speaker 1: full service audio, video and post production facility located physically
Speaker 1: in New London, Connecticut, and of course in the cloud
Speaker 1: online at pwop dot com. Visit our website at d
Speaker 1: O T N E t R O c k S
Speaker 1: dot com for RSS feeds, downloads, mobile apps, comments, and
Speaker 1: access to the full archives going back to show number one,
Speaker 1: recorded in September two thousand and two. And make sure
Speaker 1: you check out our sponsors. They keep us in business. Now,
Speaker 1: go write some code. See you next time.
Speaker 4: You got JAD middle vans
Speaker 3: And