← Back
Scott Hanselman April 22, 2026 22m

Sculpt, not Spec

Read full transcript 19 segments
  1. When you and I re-run code that uh When you and I re-run code that uh number of minutes number of minutes number of minutes per speaker. per speaker. per speaker. >> Oh, that's a good idea. We should do >> Oh, that's a good idea. We should do >> Oh, that's a good idea. We should do that. The the market's got to talk too that. The the market's got to talk too that. The the market's got to talk too much. much. much. No, Scott talks too much. >> [laughter] >> [laughter] >> Actually, that's a good point though. >> Actually, that's a good point though. >> Actually, that's a good point though. That could be a live a live repair. The That could be a live a live repair. The That could be a live a live repair. The thing is though, that's a great example thing is though, that's a great example thing is though, that's a great example of so for for context for folks that are of so for for context for folks that are of so for for context for folks that are watching uh watching uh watching uh there was a question about which of us there was a question about which of us there was a question about which of us spoke too long in these things. So I spoke too long in these things. So I spoke too long in these things. So I went and I wrote uh Mark It was no went and I wrote uh Mark It was no went and I wrote uh Mark It was no question. Too much. There was no question. Too much. There was no question. Too much. There was no question. There's no question. It was question. There's no question. It was question. There's no question. It was pretty pretty unambiguous. pretty pretty unambiguous. pretty pretty unambiguous. >> Well, you were like, "No, we're about >> Well, you were like, "No, we're about >> Well, you were like, "No, we're about half and half." And Dude, okay, so I'm half and half." And Dude, okay, so I'm half and half." And Dude, okay, so I'm I'm looking at the code here. It was 10 I'm looking at the code here. It was 10 I'm looking at the code here. It was 10 months ago that we did this. Wow. months ago that we did this. Wow. months ago that we did this. Wow. So So So uh this is the uh uh this is the uh uh this is the uh GitHub Mark and talk too much GitHub Mark and talk too much GitHub Mark and talk too much repository. repository. repository. The thing that's funny about Yeah, I did The thing that's funny about Yeah, I did The thing that's funny about Yeah, I did a whole thing about this. Uh-huh. I a whole thing about this. Uh-huh. I a whole thing about this. Uh-huh. I think that's funny about these kind of think that's funny about these kind of think that's funny about these kind of things is that you will find that um things is that you will find that um things is that you will find that um you will find that it isn't the code you will find that it isn't the code you will find that it isn't the code that that the two rehydrate this from 10 that that the two rehydrate this from 10 that that the two rehydrate this from 10 months ago won't be like months ago won't be like months ago won't be like um dependencies or anything like that.

  2. um dependencies or anything like that. um dependencies or anything like that. It's going to be whatever codes have It's going to be whatever codes have It's going to be whatever codes have expired expired expired between that and you know now and then between that and you know now and then between that and you know now and then whatever whatever piece of uh whatever whatever piece of uh whatever whatever piece of uh of of personal access token that I need of of personal access token that I need of of personal access token that I need to get back into to get back into to get back into It's always the rehydration. And you It's always the rehydration. And you It's always the rehydration. And you don't remember. don't remember. don't remember. I don't remember any of these things. I don't remember any of these things. I don't remember any of these things. >> Yeah. >> Yeah. >> Yeah. >> [music] >> Yeah. >> Yeah. All right, so then what are you doing All right, so then what are you doing All right, so then what are you doing right now? right now? right now? >> [clears throat] >> [clears throat] >> [clears throat] >> I am running a new analysis on um >> I am running a new analysis on um >> I am running a new analysis on um on Mark and Scott and see who talks the on Mark and Scott and see who talks the on Mark and Scott and see who talks the most. So Uh most. So Uh most. So Uh >> [clears throat] >> [clears throat] >> [clears throat] >> what did you have to do to get it >> what did you have to do to get it >> what did you have to do to get it rehydrated and do this? So so this is a rehydrated and do this? So so this is a rehydrated and do this? So so this is a great actually a great segue. You would great actually a great segue. You would great actually a great segue. You would think I would be smart enough to have think I would be smart enough to have think I would be smart enough to have markdown files explaining the project. I markdown files explaining the project. I markdown files explaining the project. I just said refamiliarize yourself with just said refamiliarize yourself with just said refamiliarize yourself with the project and re- and run it again on the project and re- and run it again on the project and re- and run it again on the latest content. The only docs I had the latest content. The only docs I had the latest content. The only docs I had because this is 10 months ago when we because this is 10 months ago when we because this is 10 months ago when we did this.

  3. did this. did this. Um this is probably pre-Opus even. It is Um this is probably pre-Opus even. It is Um this is probably pre-Opus even. It is quite old on Sonic. Yeah. I have quite old on Sonic. Yeah. I have quite old on Sonic. Yeah. I have interactive guide interactive guide interactive guide which is basically a user guide of you which is basically a user guide of you which is basically a user guide of you are a visualization and you do this and are a visualization and you do this and are a visualization and you do this and here's how to use it. here's how to use it. here's how to use it. But there's really not a lot here. I But there's really not a lot here. I But there's really not a lot here. I should have ran you know, I should have should have ran you know, I should have should have ran you know, I should have made this a skill of some kind, you made this a skill of some kind, you made this a skill of some kind, you know. know. know. There was no such thing back then. There was no such thing back then. There was no such thing back then. Well, yeah, not not not that anyone had Well, yeah, not not not that anyone had Well, yeah, not not not that anyone had really got together and thought about really got together and thought about really got together and thought about it, right? it, right? it, right? Was it called skill? Was it called skill? Was it called skill? Yeah. Yeah. Yeah. Oh, do you use a lot of skills? No. Do Oh, do you use a lot of skills? No. Do Oh, do you use a lot of skills? No. Do you? you? you? No. No. No. So this is where I think we're going to So this is where I think we're going to So this is where I think we're going to get in trouble and people are going to get in trouble and people are going to get in trouble and people are going to call us a bunch of posers. All right, so call us a bunch of posers. All right, so call us a bunch of posers. All right, so two things we can talk about. One skills two things we can talk about. One skills two things we can talk about. One skills versus MCP versus MCP versus MCP versus CLIs. Uh okay. Uh okay. I'm just thinking I use a lot of CLIs. I'm just thinking I use a lot of CLIs. I'm just thinking I use a lot of CLIs. Yeah, like that's a big part of my Yeah, like that's a big part of my Yeah, like that's a big part of my workflow. workflow. workflow. And And And uh the other one is uh the other one is uh the other one is agents.md agents.md agents.md and inspect.md.

  4. and inspect.md. and inspect.md. Which it's so funny they're just text Which it's so funny they're just text Which it's so funny they're just text files just loosen around like someone files just loosen around like someone files just loosen around like someone I've heard people people that we know, I've heard people people that we know, I've heard people people that we know, people of note who have said that they people of note who have said that they people of note who have said that they make these exquisite plan files like make these exquisite plan files like make these exquisite plan files like they're they don't write code anymore. they're they don't write code anymore. they're they don't write code anymore. They write big long markdown files. All They write big long markdown files. All They write big long markdown files. All right, so you want to start on that one right, so you want to start on that one right, so you want to start on that one first? The specs Yeah, I think it's first? The specs Yeah, I think it's first? The specs Yeah, I think it's worth talking about because I think it's worth talking about because I think it's worth talking about because I think it's it's just not my workflow. I like I love it's just not my workflow. I like I love it's just not my workflow. I like I love a nice a nice a nice uh a nice plan. It's good to spec stuff uh a nice plan. It's good to spec stuff uh a nice plan. It's good to spec stuff out, but I prefer to um out, but I prefer to um out, but I prefer to um I don't know what I want. I kind of know I don't know what I want. I kind of know I don't know what I want. I kind of know a direction I want to go and I So you're a direction I want to go and I So you're a direction I want to go and I So you're not very similar in this way. not very similar in this way. not very similar in this way. Yeah. Yeah. Yeah. Um Um Um and we talked about this before that and we talked about this before that and we talked about this before that that I view writing software that I view writing software that I view writing software whether it's handcrafting it like the whether it's handcrafting it like the whether it's handcrafting it like the old days or prompting it as sculpting. old days or prompting it as sculpting. old days or prompting it as sculpting. Mhm. Because Mhm. Because Mhm. Because I can't like let's just take um ZoomIt. I can't like let's just take um ZoomIt. I can't like let's just take um ZoomIt. Um I'll Panoramas not a good one, but Um I'll Panoramas not a good one, but Um I'll Panoramas not a good one, but the video editor the video editor That the video editor the video editor That the video editor the video editor That was a complicated thing. Probably one of was a complicated thing. Probably one of was a complicated thing. Probably one of the most complicated things I've seen the most complicated things I've seen the most complicated things I've seen done.

  5. done. done. That one That one That one you'd think oh video clip editor easy you'd think oh video clip editor easy you'd think oh video clip editor easy thing to just go and fully spec out and thing to just go and fully spec out and thing to just go and fully spec out and then give it to the AI and say go make then give it to the AI and say go make then give it to the AI and say go make this. But I didn't I wasn't sure exactly this. But I didn't I wasn't sure exactly this. But I didn't I wasn't sure exactly how I wanted it to work. how I wanted it to work. how I wanted it to work. So I had a vague idea. Yeah, I want the So I had a vague idea. Yeah, I want the So I had a vague idea. Yeah, I want the video and I want play and forward video and I want play and forward video and I want play and forward buttons and a timeline. buttons and a timeline. buttons and a timeline. But I didn't know exactly how I wanted But I didn't know exactly how I wanted But I didn't know exactly how I wanted them to look. I didn't know exactly what them to look. I didn't know exactly what them to look. I didn't know exactly what I wanted the I wanted the I wanted the the clicks flow to look to be like. the clicks flow to look to be like. the clicks flow to look to be like. So uh I I would have been a waste of So uh I I would have been a waste of So uh I I would have been a waste of time for me to say go do this. Let me time for me to say go do this. Let me time for me to say go do this. Let me spec it out and then go wait a minute. I spec it out and then go wait a minute. I spec it out and then go wait a minute. I don't like that and let me have to undo don't like that and let me have to undo don't like that and let me have to undo a whole bunch of things. a whole bunch of things. a whole bunch of things. Instead of Instead of Instead of let's start with the basic and then I'll let's start with the basic and then I'll let's start with the basic and then I'll go from there. go from there. go from there. Couldn't someone argue that that's like Couldn't someone argue that that's like Couldn't someone argue that that's like a lack of depth in thinking that you a lack of depth in thinking that you a lack of depth in thinking that you should have like steepled your fingers should have like steepled your fingers should have like steepled your fingers and sat there and like closed your eyes and sat there and like closed your eyes and sat there and like closed your eyes and thought deeply about what you wanted and thought deeply about what you wanted and thought deeply about what you wanted and then specked it out and then done it and then specked it out and then done it and then specked it out and then done it or is that like waterfall applied to AI or is that like waterfall applied to AI or is that like waterfall applied to AI augmented programming? augmented programming? augmented programming? >> That's a good point. It is water That is >> That's a good point. It is water That is >> That's a good point. It is water That is exactly what waterfall is as opposed to exactly what waterfall is as opposed to exactly what waterfall is as opposed to agile. I'm very agile. You are very agile. I'm very agile. You are very agile. I'm very agile. You are very agile. I've seen I've seen you like agile. I've seen I've seen you like agile. I've seen I've seen you like light your feet, too. Um but no, that's light your feet, too. Um but no, that's light your feet, too. Um but no, that's that's exactly what it is. You know um that's exactly what it is. You know um that's exactly what it is. You know um let's take the let's take the let's take the uh video recorder stuff that I added the uh video recorder stuff that I added the uh video recorder stuff that I added the webcam overlay. And you're like, "Hey, webcam overlay. And you're like, "Hey, webcam overlay. And you're like, "Hey, you should be able to record it you should be able to record it you should be able to record it at 4 by 3 or whatever." Mhm. Yeah, I at 4 by 3 or whatever." Mhm. Yeah, I at 4 by 3 or whatever." Mhm. Yeah, I asked I wanted you to have aspect ratio asked I wanted you to have aspect ratio asked I wanted you to have aspect ratio locking. Yeah, that's something that I locking. Yeah, that's something that I locking. Yeah, that's something that I thought of afterward.

  6. thought of afterward. thought of afterward. Um Yeah, so I am Yeah, so I am I I I'm constantly tweaking. I'm I I I'm constantly tweaking. I'm I I I'm constantly tweaking. I'm constantly playing with it and going no, constantly playing with it and going no, constantly playing with it and going no, I don't like that. I need to be able to I don't like that. I need to be able to I don't like that. I need to be able to to click this and I need I want this to click this and I need I want this to click this and I need I want this option and I option and I option and I and this dialogue and this dialogue and this dialogue will be will be will be You called it sculpting, right? Like You called it sculpting, right? Like You called it sculpting, right? Like it's like that idea that Michelangelo it's like that idea that Michelangelo it's like that idea that Michelangelo and you're not Michelangelo by the way and you're not Michelangelo by the way and you're not Michelangelo by the way and I've worked with Michelangelo and and I've worked with Michelangelo and and I've worked with Michelangelo and you you you >> Well, he's dead. So I'm glad I'm not >> Well, he's dead. So I'm glad I'm not >> Well, he's dead. So I'm glad I'm not him. It's true. him. It's true. him. It's true. Um but this idea that like you've got Um but this idea that like you've got Um but this idea that like you've got this block of marble and within the this block of marble and within the this block of marble and within the block is David and you're looking for block is David and you're looking for block is David and you're looking for him. Yeah. Like if you think about when him. Yeah. Like if you think about when him. Yeah. Like if you think about when um um um uh what's his name uh what's his name uh what's his name discovered Jason um discovered Jason um discovered Jason um Donald not Donald. I forgot his name. Donald not Donald. I forgot his name. Donald not Donald. I forgot his name. He used to hang out with him all the He used to hang out with him all the He used to hang out with him all the time. Anyway, the guy that made Jason time. Anyway, the guy that made Jason time. Anyway, the guy that made Jason the the the format. He didn't say he the the the format. He didn't say he the the the format. He didn't say he invented it. invented it. invented it. Uh he said that he discovered it. Uh he said that he discovered it. Uh he said that he discovered it. Douglas Crockford. Yeah. So you're Douglas Crockford. Yeah. So you're Douglas Crockford. Yeah. So you're discovering you're you're carving you're discovering you're you're carving you're discovering you're you're carving you're you're kind of like sculpting this thing you're kind of like sculpting this thing you're kind of like sculpting this thing and you're having a conversation The and you're having a conversation The and you're having a conversation The whole point whole point whole point is to have a conversation. I I saw a is to have a conversation. I I saw a is to have a conversation. I I saw a gentleman fight with Peter Steinberger gentleman fight with Peter Steinberger gentleman fight with Peter Steinberger Peter Steinberger the famous Peter Steinberger the famous Peter Steinberger the famous open claw creator and the guy was like, open claw creator and the guy was like, open claw creator and the guy was like, "Yo, I I make a very complicated perfect "Yo, I I make a very complicated perfect "Yo, I I make a very complicated perfect plan.md and I get it exactly the way I plan.md and I get it exactly the way I plan.md and I get it exactly the way I want." He's effectively programming in want." He's effectively programming in want." He's effectively programming in English.

  7. English. English. And then he says, "Do it." And then he says, "Do it." And then he says, "Do it." And that's his interaction with the with And that's his interaction with the with And that's his interaction with the with the with the LLM. It's like, "Well, the with the LLM. It's like, "Well, the with the LLM. It's like, "Well, that's not really helpful. The that's not really helpful. The that's not really helpful. The interaction with the LLM should be interaction with the LLM should be interaction with the LLM should be an interaction not a compile step. an interaction not a compile step. an interaction not a compile step. So I'm kind of rejecting that. There's So I'm kind of rejecting that. There's So I'm kind of rejecting that. There's balance to be clear. balance to be clear. balance to be clear. But it just seems weird to me to try to But it just seems weird to me to try to But it just seems weird to me to try to get the plan perfect cuz that sounds get the plan perfect cuz that sounds get the plan perfect cuz that sounds like programming. like programming. like programming. Also, I think the other problem um Also, I think the other problem um Also, I think the other problem um and this is really where the and this is really where the and this is really where the fundamentals come into play is that fundamentals come into play is that fundamentals come into play is that it's impossible to provide a it's impossible to provide a it's impossible to provide a comprehensive spec. You know what I comprehensive spec. You know what I comprehensive spec. You know what I think one of the things even in the think one of the things even in the think one of the things even in the traditional software engineering traditional software engineering traditional software engineering approach of approach of approach of the product managers write the spec and the product managers write the spec and the product managers write the spec and then the devs go and work on it is that then the devs go and work on it is that then the devs go and work on it is that there's always communication and there's always communication and there's always communication and iteration there even with the spec. iteration there even with the spec. iteration there even with the spec. Yeah. The developers go, "Hey, how's Yeah. The developers go, "Hey, how's Yeah. The developers go, "Hey, how's this look?" Well, no, that's not exactly this look?" Well, no, that's not exactly this look?" Well, no, that's not exactly what I meant. And it's because human what I meant. And it's because human what I meant. And it's because human language is just too abstract. language is just too abstract. language is just too abstract. And And And Bingo. The other aspect of it is do you Bingo. The other aspect of it is do you Bingo. The other aspect of it is do you want to put in the spec like want to put in the spec like want to put in the spec like "Hey, performance you know, I'm going to "Hey, performance you know, I'm going to "Hey, performance you know, I'm going to completely spec it from a performance completely spec it from a performance completely spec it from a performance perspective, from reliability perspective, from reliability perspective, from reliability perspective, from a feature perspective perspective, from a feature perspective perspective, from a feature perspective uh from a what tool what packages you uh from a what tool what packages you uh from a what tool what packages you can use perspective, from what can use perspective, from what can use perspective, from what architecture perspective, like all of architecture perspective, like all of architecture perspective, like all of the different aspects that go into the different aspects that go into the different aspects that go into crafting the thing."

  8. crafting the thing." crafting the thing." Mhm. Mhm. Mhm. Are you going to go write the 50-page Are you going to go write the 50-page Are you going to go write the 50-page document that has every single one of document that has every single one of document that has every single one of the those things specified? And by the the those things specified? And by the the those things specified? And by the way, when this happens, this should way, when this happens, this should way, when this happens, this should happen. And when that happens, that happen. And when that happens, that happen. And when that happens, that should happen. And by the way, this edge should happen. And by the way, this edge should happen. And by the way, this edge case case case throw an exception or this edge case throw an exception or this edge case throw an exception or this edge case you know, like you know, like you know, like it's just a I've I it's just a I've I it's just a I've I it's just a huge I think waste of time it's just a huge I think waste of time it's just a huge I think waste of time because you're just not even going to because you're just not even going to because you're just not even going to get it all right anyway. get it all right anyway. get it all right anyway. So what do you think about these spec So what do you think about these spec So what do you think about these spec kit inspect driven development and kit inspect driven development and kit inspect driven development and specify and all these different things? specify and all these different things? specify and all these different things? Like I think it's kind of ironic that we Like I think it's kind of ironic that we Like I think it's kind of ironic that we have this and I've been calling it the have this and I've been calling it the have this and I've been calling it the ambiguity loop. We've got this ambiguity ambiguity loop. We've got this ambiguity ambiguity loop. We've got this ambiguity loop and if things are left ambiguous, loop and if things are left ambiguous, loop and if things are left ambiguous, it will be filled with the statistical it will be filled with the statistical it will be filled with the statistical mean. And that's that's a benefit. mean. And that's that's a benefit. mean. And that's that's a benefit. That's actually what makes this better. That's actually what makes this better. That's actually what makes this better. You can be less specific and it'll fill You can be less specific and it'll fill You can be less specific and it'll fill it it'll fill the the the specificity it it'll fill the the the specificity it it'll fill the the the specificity hole with a reasonable default and then hole with a reasonable default and then hole with a reasonable default and then maybe that's right, maybe it's not. But maybe that's right, maybe it's not. But maybe that's right, maybe it's not. But to do spec driven development just to do spec driven development just to do spec driven development just sounds like coding sounds like coding sounds like coding and specifying everything and that that and specifying everything and that that and specifying everything and that that doesn't use the very thing that LLMs are doesn't use the very thing that LLMs are doesn't use the very thing that LLMs are good at which is filling spaces of good at which is filling spaces of good at which is filling spaces of ambiguity with ambiguity with ambiguity with >> really good point. I'll tell you on the >> really good point. I'll tell you on the >> really good point. I'll tell you on the panorama stitch thing the hardest panorama stitch thing the hardest panorama stitch thing the hardest project I've I've done so far for AI project I've I've done so far for AI project I've I've done so far for AI assisted coding.

  9. assisted coding. assisted coding. I didn't even like I I spent my first I didn't even like I I spent my first I didn't even like I I spent my first spec for it was here's what I want, you spec for it was here's what I want, you spec for it was here's what I want, you know, panorama scroll, whatever. know, panorama scroll, whatever. know, panorama scroll, whatever. And it immediately said, you know what I And it immediately said, you know what I And it immediately said, you know what I you can't do a pixel by pixel you can't do a pixel by pixel you can't do a pixel by pixel comparison, so I'm going to use Luma, comparison, so I'm going to use Luma, comparison, so I'm going to use Luma, which is brightness of pixel regions, which is brightness of pixel regions, which is brightness of pixel regions, and use that as the the the fundamental and use that as the the the fundamental and use that as the the the fundamental approach. And it it knew that presumably approach. And it it knew that presumably approach. And it it knew that presumably from other places where people have done from other places where people have done from other places where people have done something similar that it learned from something similar that it learned from something similar that it learned from during its training or maybe when it during its training or maybe when it during its training or maybe when it searched online for ideas. Mhm. I wasn't searched online for ideas. Mhm. I wasn't searched online for ideas. Mhm. I wasn't aware of that approach um as being the aware of that approach um as being the aware of that approach um as being the best way to do it. best way to do it. best way to do it. Now, it's uh implementation Now, it's uh implementation Now, it's uh implementation was a giant fail. Like and I had to sit was a giant fail. Like and I had to sit was a giant fail. Like and I had to sit and push it and guide it and like here's and push it and guide it and like here's and push it and guide it and like here's another case that need you need to another case that need you need to another case that need you need to handle and handle and handle and this isn't working and you need to and this isn't working and you need to and this isn't working and you need to and I think one of the things that I I think one of the things that I I think one of the things that I mentioned in the LinkedIn post that I mentioned in the LinkedIn post that I mentioned in the LinkedIn post that I wrote about this is that wrote about this is that wrote about this is that it didn't automatically come up with how it didn't automatically come up with how it didn't automatically come up with how it should test this. Mhm. And so I had it should test this. Mhm. And so I had it should test this. Mhm. And so I had to guide it as I saw hey, this thing is to guide it as I saw hey, this thing is to guide it as I saw hey, this thing is actually much more complicated than I actually much more complicated than I actually much more complicated than I thought thought thought to say record all the images and record to say record all the images and record to say record all the images and record your steps your steps your steps um in a file in a directory a debug um in a file in a directory a debug um in a file in a directory a debug directory for each one of these.

  10. directory for each one of these. directory for each one of these. And then what I could do is have it go And then what I could do is have it go And then what I could do is have it go back and replay the stitch. back and replay the stitch. back and replay the stitch. And I could see, you know, like hey, you And I could see, you know, like hey, you And I could see, you know, like hey, you um go replay on the last five um go replay on the last five um go replay on the last five um and take a look and then tell me if um and take a look and then tell me if um and take a look and then tell me if you take a look good and I'll go take a you take a look good and I'll go take a you take a look good and I'll go take a look and then it would say, oh, things look and then it would say, oh, things look and then it would say, oh, things are looking great. And I'd go look and are looking great. And I'd go look and are looking great. And I'd go look and be like, no, there's artifacts here and be like, no, there's artifacts here and be like, no, there's artifacts here and there's stretching here and there's there's stretching here and there's there's stretching here and there's repeat black spaces here. And they'll repeat black spaces here. And they'll repeat black spaces here. And they'll like, oh, I missed that. Um like, oh, I missed that. Um like, oh, I missed that. Um and uh or I caused a regression. Um and and uh or I caused a regression. Um and and uh or I caused a regression. Um and then I would go try other things and then I would go try other things and then I would go try other things and say, here's one that failed, go and and say, here's one that failed, go and and say, here's one that failed, go and and see if you can fix it. And it would see if you can fix it. And it would see if you can fix it. And it would replay it and that that way I could replay it and that that way I could replay it and that that way I could verify it. So verify it. So verify it. So the and I can't just imagine that AI's the and I can't just imagine that AI's the and I can't just imagine that AI's going to get so good that it's thinking going to get so good that it's thinking going to get so good that it's thinking proactively about absolutely every proactively about absolutely every proactively about absolutely every potential case that could come up where potential case that could come up where potential case that could come up where it's it's it's it's just automatically handling all it's just automatically handling all it's just automatically handling all these things. And you know these things. And you know these things. And you know uh uh uh regardless of whether it does regardless of whether it does regardless of whether it does that doesn't take away this the that doesn't take away this the that doesn't take away this the sculpting part of it. Um Yep, exactly. I sculpting part of it. Um Yep, exactly. I sculpting part of it. Um Yep, exactly. I recently had an interesting problem recently had an interesting problem recently had an interesting problem where my son where my son where my son is selling um clothing online and he is selling um clothing online and he is selling um clothing online and he wanted a lookbook. And he thought it was wanted a lookbook. And he thought it was wanted a lookbook. And he thought it was just going to be like a regular gallery just going to be like a regular gallery just going to be like a regular gallery of the pictures. But he has like a of the pictures. But he has like a of the pictures. But he has like a hundred shots from his little fashion hundred shots from his little fashion hundred shots from his little fashion show that they did.

  11. show that they did. show that they did. And his company is called infinite And his company is called infinite And his company is called infinite something. And I thought it'd be cool to something. And I thought it'd be cool to something. And I thought it'd be cool to have like imagine Google Maps tiles of have like imagine Google Maps tiles of have like imagine Google Maps tiles of all of the different pictures. all of the different pictures. all of the different pictures. And then you can zoom in and zoom out And then you can zoom in and zoom out And then you can zoom in and zoom out and scroll and throw and run around. So and scroll and throw and run around. So and scroll and throw and run around. So it'd be an infinitely tiled thing. it'd be an infinitely tiled thing. it'd be an infinitely tiled thing. And I specked it out, which I thought And I specked it out, which I thought And I specked it out, which I thought was very specific at about three was very specific at about three was very specific at about three three paragraphs because he gave me a three paragraphs because he gave me a three paragraphs because he gave me a folder full of a hundred 13 meg raw folder full of a hundred 13 meg raw folder full of a hundred 13 meg raw files. So there's pre-processing of the files. So there's pre-processing of the files. So there's pre-processing of the JPEGs, there's tile creation JPEGs, there's tile creation JPEGs, there's tile creation at different zoom levels. at different zoom levels. at different zoom levels. And it has to work on mobile and all of And it has to work on mobile and all of And it has to work on mobile and all of those kind of things. And I specked it those kind of things. And I specked it those kind of things. And I specked it out and I did it in one shot and it was out and I did it in one shot and it was out and I did it in one shot and it was perfect. And then I started scrolling perfect. And then I started scrolling perfect. And then I started scrolling around around around and it guaranteed relative memory. Yeah. and it guaranteed relative memory. Yeah. and it guaranteed relative memory. Yeah. And then I put it on an iPhone and you And then I put it on an iPhone and you And then I put it on an iPhone and you move it like two inches and it move it like two inches and it move it like two inches and it immediately loses immediately loses immediately loses loses memory. loses memory. loses memory. Cuz then you've got viewport and you Cuz then you've got viewport and you Cuz then you've got viewport and you have decay and you have speed and you have decay and you have speed and you have decay and you have speed and you have all these kind of things. And I got have all these kind of things. And I got have all these kind of things. And I got the whole thing done in about eight the whole thing done in about eight the whole thing done in about eight turns. But it was really interesting how turns. But it was really interesting how turns. But it was really interesting how the first turn the first turn the first turn worked perfectly Yeah. until it worked perfectly Yeah. until it worked perfectly Yeah. until it completely didn't work at all. And then completely didn't work at all. And then completely didn't work at all. And then the following seven turns were the the following seven turns were the the following seven turns were the Yeah. But why would it anticipate all Yeah. But why would it anticipate all Yeah. But why would it anticipate all those things, Scott? How could it, those things, Scott? How could it, those things, Scott? How could it, right? Yeah. And it's a great example, right? Yeah. And it's a great example, right? Yeah. And it's a great example, whether it be the panorama or my thing, whether it be the panorama or my thing, whether it be the panorama or my thing, where it's like, yeah, it sounds like it where it's like, yeah, it sounds like it where it's like, yeah, it sounds like it sounds easy cuz it can be conceived sounds easy cuz it can be conceived sounds easy cuz it can be conceived easily. But just because it can be easily. But just because it can be easily. But just because it can be conceived easily doesn't mean that the conceived easily doesn't mean that the conceived easily doesn't mean that the edge cases will not absolutely destroy

  12. edge cases will not absolutely destroy edge cases will not absolutely destroy you. Yeah. you. Yeah. you. Yeah. Yeah. I think that's what we forget Yeah. I think that's what we forget Yeah. I think that's what we forget about the edge cases. Edge cases and about the edge cases. Edge cases and about the edge cases. Edge cases and polish, too. Like I that's a lot of polish, too. Like I that's a lot of polish, too. Like I that's a lot of polish. Like polish. Like polish. Like this needs to work like this, this needs this needs to work like this, this needs this needs to work like this, this needs to be this responsive. to be this responsive. to be this responsive. Oh, I want to be able to add multiple Oh, I want to be able to add multiple Oh, I want to be able to add multiple papers in a ref checker rather than just papers in a ref checker rather than just papers in a ref checker rather than just one. That's something I came up with one. That's something I came up with one. That's something I came up with after the original spec. Oh, and that after the original spec. Oh, and that after the original spec. Oh, and that requires some change to the requires some change to the requires some change to the architecture, by the way, to support architecture, by the way, to support architecture, by the way, to support that. Um by the way, turns out 10 months that. Um by the way, turns out 10 months that. Um by the way, turns out 10 months ago I'm looking at our Mark and Scott ago I'm looking at our Mark and Scott ago I'm looking at our Mark and Scott talk too much thing. talk too much thing. talk too much thing. Uh we had ingested the transcripts by Uh we had ingested the transcripts by Uh we had ingested the transcripts by putting them into foundry. putting them into foundry. putting them into foundry. And that's what did our speaker And that's what did our speaker And that's what did our speaker identification. And that project no identification. And that project no identification. And that project no longer exists. I think it got deleted. longer exists. I think it got deleted. longer exists. I think it got deleted. So I now it's 10 months later. I have to So I now it's 10 months later. I have to So I now it's 10 months later. I have to re- re- re- architect how we do speaker inference architect how we do speaker inference architect how we do speaker inference because YouTube um transcripts are free because YouTube um transcripts are free because YouTube um transcripts are free now. I don't have to go and pay for a now. I don't have to go and pay for a now. I don't have to go and pay for a transcription service. But YouTube uh transcription service. But YouTube uh transcription service. But YouTube uh doesn't do uh speaker inference. So I doesn't do uh speaker inference. So I doesn't do uh speaker inference. So I might have to do like a whisper model or might have to do like a whisper model or might have to do like a whisper model or a local model to determine who's a local model to determine who's a local model to determine who's talking. Yeah.

  13. talking. Yeah. talking. Yeah. So I'm just letting you know that like So I'm just letting you know that like So I'm just letting you know that like this is a great another great example of this is a great another great example of this is a great another great example of like software engineering is like like software engineering is like like software engineering is like hydrating an old project. hydrating an old project. hydrating an old project. >> And by the way, this is a great example >> And by the way, this is a great example >> And by the way, this is a great example of the people that are like, no, of the people that are like, no, of the people that are like, no, everybody just fly code everything. Fly everybody just fly code everything. Fly everybody just fly code everything. Fly code my unique thing. Um code my unique thing. Um code my unique thing. Um and and and the the the software's free now. No, it's not free. software's free now. No, it's not free. software's free now. No, it's not free. In fact, you wanted to keep this thing In fact, you wanted to keep this thing In fact, you wanted to keep this thing working, it requires maintenance. Not just from hey, it's something broke Not just from hey, it's something broke architecturally, but The keeping architecturally, but The keeping architecturally, but The keeping >> uh you've got to do security >> uh you've got to do security >> uh you've got to do security and I Yep. and I Yep. and I Yep. Keeping this thing working is a huge Keeping this thing working is a huge Keeping this thing working is a huge huge point. Uh huge point. Uh huge point. Uh I've got software that will run for I've got software that will run for I've got software that will run for months and then it just just stop and months and then it just just stop and months and then it just just stop and it's like, why? Personal access token it's like, why? Personal access token it's like, why? Personal access token expired. Azure function stuff, you know, expired. Azure function stuff, you know, expired. Azure function stuff, you know, fell asleep. It needs to be kicked. Like fell asleep. It needs to be kicked. Like fell asleep. It needs to be kicked. Like it's your garden and it needs to be it's your garden and it needs to be it's your garden and it needs to be weeded regularly. weeded regularly. weeded regularly. Yeah, every project Yeah, every project Yeah, every project If you wanted to live, you you have to If you wanted to live, you you have to If you wanted to live, you you have to maintain it. maintain it. maintain it. There comes with some cost. There comes with some cost. There comes with some cost. >> Yeah. I think I [clears throat] told you >> Yeah. I think I [clears throat] told you >> Yeah. I think I [clears throat] told you a while back that I vibed the back end a while back that I vibed the back end a while back that I vibed the back end for my my podcast and um for my my podcast and um for my my podcast and um I went there recently and it had um I went there recently and it had um I went there recently and it had um it's my admin back end.

  14. it's my admin back end. it's my admin back end. And there was a um And there was a um And there was a um a crypto JavaScript file sitting in in a crypto JavaScript file sitting in in a crypto JavaScript file sitting in in in in the in the main project. in in the in the main project. in in the in the main project. I got [laughter] hacked. I got Dude, I I got [laughter] hacked. I got Dude, I I got [laughter] hacked. I got Dude, I got hacked. I had I have all these API got hacked. I had I have all these API got hacked. I had I have all these API routes and one of them was not secured. routes and one of them was not secured. routes and one of them was not secured. And somebody posted a file and it sucked And somebody posted a file and it sucked And somebody posted a file and it sucked it in and it dropped it right into the it in and it dropped it right into the it in and it dropped it right into the main folder and started serving crypto main folder and started serving crypto main folder and started serving crypto BS to my admin site. BS to my admin site. BS to my admin site. Like people like we weeds and dandelions Like people like we weeds and dandelions Like people like we weeds and dandelions will come over the fence and drop will come over the fence and drop will come over the fence and drop directly into your your backyard and the directly into your your backyard and the directly into your your backyard and the next thing you know, you're like, what next thing you know, you're like, what next thing you know, you're like, what happened? And it's just because I hadn't happened? And it's just because I hadn't happened? And it's just because I hadn't looked at the thing in a couple of weeks looked at the thing in a couple of weeks looked at the thing in a couple of weeks and you know, I would have noticed it. and you know, I would have noticed it. and you know, I would have noticed it. Yeah. So software is not free. Yeah. So software is not free. Yeah. So software is not free. No, it's not. So okay. So I'm interested No, it's not. So okay. So I'm interested No, it's not. So okay. So I'm interested in the folks in the comments, if you in the folks in the comments, if you in the folks in the comments, if you made it this far, if you are make a made it this far, if you are make a made it this far, if you are make a spec, write out the markdown file, if spec, write out the markdown file, if spec, write out the markdown file, if you're fooling yourself, that's a little you're fooling yourself, that's a little you're fooling yourself, that's a little spicy, into thinking that markdown and spicy, into thinking that markdown and spicy, into thinking that markdown and prose is a programming language. So if prose is a programming language. So if prose is a programming language. So if you imagine that that that gradient you imagine that that that gradient you imagine that that that gradient between do it all as a spec and try to between do it all as a spec and try to between do it all as a spec and try to one shot it one shot it one shot it or if you have no spec and you just kind or if you have no spec and you just kind or if you have no spec and you just kind of like figure it out or if it's of like figure it out or if it's of like figure it out or if it's somewhere in the middle. I I would put somewhere in the middle. I I would put somewhere in the middle. I I would put myself somewhere in the middle. That's myself somewhere in the middle. That's myself somewhere in the middle. That's By the way, the other problem that I've By the way, the other problem that I've By the way, the other problem that I've had every time I do uh spec driven had every time I do uh spec driven had every time I do uh spec driven development where it goes creates that development where it goes creates that development where it goes creates that markdown and it has the tasks markdown and it has the tasks markdown and it has the tasks is that the AI inevitably skips things is that the AI inevitably skips things is that the AI inevitably skips things and says it's done.

  15. and says it's done. and says it's done. And I And I And I every time I've tried it and I don't you every time I've tried it and I don't you every time I've tried it and I don't you know, I think AI is going to get good know, I think AI is going to get good know, I think AI is going to get good enough where it stops doing that, but at enough where it stops doing that, but at enough where it stops doing that, but at least the current AIs, least the current AIs, least the current AIs, it's been my experience that it's been my experience that it's been my experience that it thinks it finished the spec when it it thinks it finished the spec when it it thinks it finished the spec when it didn't. didn't. didn't. Um is the we'll probably call this a Um is the we'll probably call this a Um is the we'll probably call this a show and move to the next topic in a show and move to the next topic in a show and move to the next topic in a minute, but I'm curious uh if you find minute, but I'm curious uh if you find minute, but I'm curious uh if you find the multitasking to be the worst part the multitasking to be the worst part the multitasking to be the worst part about this. I think you're kind of a about this. I think you're kind of a about this. I think you're kind of a single tasker, right? Don't you like single tasker, right? Don't you like single tasker, right? Don't you like Mhm. Mhm. Mhm. Uh focusing on one thing. How many Uh focusing on one thing. How many Uh focusing on one thing. How many projects are you running at once? Cuz projects are you running at once? Cuz projects are you running at once? Cuz I'm starting to get a headache more than I'm starting to get a headache more than I'm starting to get a headache more than three to five projects. Yeah. We talked three to five projects. Yeah. We talked three to five projects. Yeah. We talked about this last time. I think this week about this last time. I think this week about this last time. I think this week spot is three. spot is three. spot is three. Yeah, three is the sweet spot. Yeah, three is the sweet spot. Yeah, three is the sweet spot. >> Four. And actually there was a study >> Four. And actually there was a study >> Four. And actually there was a study that came out right after we had that that came out right after we had that that came out right after we had that episode, you remember? And it said episode, you remember? And it said episode, you remember? And it said brain fry happens at four. Human brain fry happens at four. Human brain fry happens at four. Human at four projects and they they found at four projects and they they found at four projects and they they found Mhm. productivity [clears throat] Mhm. productivity [clears throat] Mhm. productivity [clears throat] would increase up to three projects at would increase up to three projects at would increase up to three projects at at the same time and then collapse at at the same time and then collapse at at the same time and then collapse at four. four. four. Yep. Yep. Yep. Which um which is my personal experience Which um which is my personal experience Which um which is my personal experience as well. Yeah, I agree. I think I think as well. Yeah, I agree. I think I think as well. Yeah, I agree. I think I think it's funny to watch humans fool it's funny to watch humans fool it's funny to watch humans fool themselves into thinking that they are themselves into thinking that they are themselves into thinking that they are unique.

  16. unique. unique. >> The master I'm the master. I've got a >> The master I'm the master. I've got a >> The master I'm the master. I've got a hundred hundred hundred >> I'm big on multitask. I'm not I'm built >> I'm big on multitask. I'm not I'm built >> I'm big on multitask. I'm not I'm built different. I'm built different. No, different. I'm built different. No, different. I'm built different. No, you're not. you're not. you're not. Like millions of years of evolution mean Like millions of years of evolution mean Like millions of years of evolution mean you're not built different. You you are you're not built different. You you are you're not built different. You you are not multitasking. You are you are not multitasking. You are you are not multitasking. You are you are context switching quicker. I don't know. context switching quicker. I don't know. context switching quicker. I don't know. How many How many times have you heard How many How many times have you heard How many How many times have you heard people go, I've got a hundred agents people go, I've got a hundred agents people go, I've got a hundred agents right now working on it stuff for me. right now working on it stuff for me. right now working on it stuff for me. It's it's the review It's it's the review It's it's the review fleet of agents. Man, I've got so much fleet of agents. Man, I've got so much fleet of agents. Man, I've got so much stuff to review right now. Like the code stuff to review right now. Like the code stuff to review right now. Like the code is no longer the problem. The reviewing is no longer the problem. The reviewing is no longer the problem. The reviewing the code for BS is the problem. the code for BS is the problem. the code for BS is the problem. >> Yeah. >> Yeah. >> Yeah. And that takes time. Like even, you And that takes time. Like even, you And that takes time. Like even, you know, take like the Zoom at panorama know, take like the Zoom at panorama know, take like the Zoom at panorama thing. I've like got to go and test it thing. I've like got to go and test it thing. I've like got to go and test it at myself to see and review it and at myself to see and review it and at myself to see and review it and the zombie edge cases. the zombie edge cases. the zombie edge cases. So when do you think the industry is So when do you think the industry is So when do you think the industry is going to figure that out? Because I going to figure that out? Because I going to figure that out? Because I would argue that leadership and would argue that leadership and would argue that leadership and leadership would be the set of all leadership would be the set of all leadership would be the set of all people who are not you and I Yeah. uh people who are not you and I Yeah. uh people who are not you and I Yeah. uh need to understand that need to understand that need to understand that you can't make people 10x more you can't make people 10x more you can't make people 10x more productive. It's just not a thing. 10x productive. It's just not a thing. 10x productive. It's just not a thing. 10x more productive is not a thing because more productive is not a thing because more productive is not a thing because at some point you got to stop and you at some point you got to stop and you at some point you got to stop and you got to like look at the the content. got to like look at the the content. got to like look at the the content. Well, yeah, and I also we talked about Well, yeah, and I also we talked about Well, yeah, and I also we talked about there's fundamental bottlenecks in there's fundamental bottlenecks in there's fundamental bottlenecks in software engineering. Yep. Which include software engineering. Yep. Which include software engineering. Yep. Which include things like how long does it take to things like how long does it take to things like how long does it take to build the thing? How long does it take build the thing? How long does it take build the thing? How long does it take to run the tests run the thing?

  17. to run the tests run the thing? to run the tests run the thing? Yeah. Yeah. Yeah. And then And then And then how much work do I have to do on how much work do I have to do on how much work do I have to do on maintaining the thing? maintaining the thing? maintaining the thing? Um that all is going to eat into you Um that all is going to eat into you Um that all is going to eat into you know that you it's like I talk about it know that you it's like I talk about it know that you it's like I talk about it like Amdahl's law. I don't know if you like Amdahl's law. I don't know if you like Amdahl's law. I don't know if you you know what Amdahl's law is. you know what Amdahl's law is. you know what Amdahl's law is. >> Amdahl's law that sounds like a Lord of >> Amdahl's law that sounds like a Lord of >> Amdahl's law that sounds like a Lord of the Rings reference. It's actually a the Rings reference. It's actually a the Rings reference. It's actually a computer science computer science computer science reference which is reference which is reference which is uh when parallel programming started to uh when parallel programming started to uh when parallel programming started to get popular in the 70s and 80s people get popular in the 70s and 80s people get popular in the 70s and 80s people would take a look and say, "Well, here's would take a look and say, "Well, here's would take a look and say, "Well, here's part of the program that actually gets part of the program that actually gets part of the program that actually gets um um um it's it's perfectly scalable. You throw it's it's perfectly scalable. You throw it's it's perfectly scalable. You throw 10 CPUs at it, it's going to be 10x 10 CPUs at it, it's going to be 10x 10 CPUs at it, it's going to be 10x faster. But you know what? The beginning faster. But you know what? The beginning faster. But you know what? The beginning the the the the code that comes before it or the the code that comes before it or the the code that comes before it or the stuff that comes before it or the stuff stuff that comes before it or the stuff stuff that comes before it or the stuff that comes after that comes after that comes after that's linear. that's linear. that's linear. Um that's not going to get any speed up. Um that's not going to get any speed up. Um that's not going to get any speed up. That needs to be done sequentially. That needs to be done sequentially. That needs to be done sequentially. And so your maximum speed up isn't 10x, And so your maximum speed up isn't 10x, And so your maximum speed up isn't 10x, it's some fraction because you've got it's some fraction because you've got it's some fraction because you've got these non-scalable portions of the task these non-scalable portions of the task these non-scalable portions of the task or part or part or part >> And I assume that as I'm talking the >> And I assume that as I'm talking the >> And I assume that as I'm talking the approach is some maximum speed up and approach is some maximum speed up and approach is some maximum speed up and you can keep throwing processors at it you can keep throwing processors at it you can keep throwing processors at it but it's now a context switching but it's now a context switching but it's now a context switching problem, right? Which I don't know problem, right? Which I don't know problem, right? Which I don't know Amdahl's law.

  18. Amdahl's law. Amdahl's law. >> just take half half of it is perfectly >> just take half half of it is perfectly >> just take half half of it is perfectly scalable, half of the task isn't. scalable, half of the task isn't. scalable, half of the task isn't. So what's your maximum speed up? So the So what's your maximum speed up? So the So what's your maximum speed up? So the curve probably curve probably curve probably >> speed up is half. Like >> speed up is half. Like >> speed up is half. Like >> Yeah, it probably kind of starts slow, >> Yeah, it probably kind of starts slow, >> Yeah, it probably kind of starts slow, has a vague big thing and then evens has a vague big thing and then evens has a vague big thing and then evens out. Yeah. So this I don't I didn't know out. Yeah. So this I don't I didn't know out. Yeah. So this I don't I didn't know it as Amdahl's law but we used to say, it as Amdahl's law but we used to say, it as Amdahl's law but we used to say, you know, nine women can't have a baby you know, nine women can't have a baby you know, nine women can't have a baby in a month. Yeah. in a month. Yeah. in a month. Yeah. They they can't throw resources at a They they can't throw resources at a They they can't throw resources at a problem and have it parallel, right? problem and have it parallel, right? problem and have it parallel, right? Yeah, exactly. Okay. Well, um so that's Yeah, exactly. Okay. Well, um so that's Yeah, exactly. Okay. Well, um so that's the show. the show. the show. Uh we have to have a formal ending here Uh we have to have a formal ending here Uh we have to have a formal ending here because we tend to putter out at the because we tend to putter out at the because we tend to putter out at the end. end. end. I want to always appreciate our favorite I want to always appreciate our favorite I want to always appreciate our favorite uh listeners and our favorite watchers. uh listeners and our favorite watchers. uh listeners and our favorite watchers. If you made it this far If you made it this far If you made it this far you are better than your peers. you are better than your peers. you are better than your peers. >> [laughter] >> [laughter] >> [laughter] >> And I need you to know that. >> And I need you to know that. >> And I need you to know that. Uh [clears throat] so we thank you very Uh [clears throat] so we thank you very Uh [clears throat] so we thank you very much. We thank you for listening. Leave much. We thank you for listening. Leave much. We thank you for listening. Leave a comment, like, and subscribe. Comments a comment, like, and subscribe. Comments a comment, like, and subscribe. Comments are appreciated. We love the comments. are appreciated. We love the comments. are appreciated. We love the comments. Yeah, smash that bell. Yeah, smash that bell. Yeah, smash that bell. Like and subscribe. But most Like and subscribe. But most Like and subscribe. But most importantly, the number one thing you importantly, the number one thing you importantly, the number one thing you can do is help us out by telling people can do is help us out by telling people can do is help us out by telling people about the show because Mark falls into about the show because Mark falls into about the show because Mark falls into an emotional funk when the show doesn't an emotional funk when the show doesn't an emotional funk when the show doesn't have enough views. So please feed our have enough views. So please feed our have enough views. So please feed our massive egos by sharing this [music] massive egos by sharing this [music] massive egos by sharing this [music] with your friends if you think it's with your friends if you think it's with your friends if you think it's useful. And LinkedIn is a great place to useful. And LinkedIn is a great place to useful. And LinkedIn is a great place to share the show.

  19. share the show. share the show. >> two friends. >> two friends. >> two friends. At least two friends. Everyone is At least two friends. Everyone is At least two friends. Everyone is required if you made it this far to required if you made it this far to required if you made it this far to share with at least two friends Yeah. share with at least two friends Yeah. share with at least two friends Yeah. and family members. And also hi to my and family members. And also hi to my and family members. And also hi to my mom mom mom >> [music] >> [music] >> [music] >> who watches the show and texts me. >> who watches the show and texts me. >> who watches the show and texts me. You're She does. She texts me every You're She does. She texts me every You're She does. She texts me every week. She says, "You're a nice friend, week. She says, "You're a nice friend, week. She says, "You're a nice friend, Mom. You know, actually Mark is he's so Mom. You know, actually Mark is he's so Mom. You know, actually Mark is he's so nice." nice." nice." She doesn't know the real you. Bye. Bye. She's totally going to text me after She's totally going to text me after She's totally going to text me after this. this. this. I guarantee it.

Summary

The main theme is analyzing code rehydration issues from past projects, specifically a GitHub repository. The discussion references personal access tokens, expired dependencies, and the lack of robust documentation from ten months prior, highlighting the practical takeaway that rehydration and managing access tokens are recurring challenges in software development.

View original episode ↗