Daniel (00:09) Dave! Welcome! Nice to see you again! to hear you again! David Gary Wood (00:12) Hello, Kia ora. Yes, thank you. Daniel (00:16) We just had a microphone mishap. David Gary Wood (00:19) We did. It's been technical difficulties this morning. You had a video mishap. I had a microphone mishap. I'm not sure what the third thing is, but yeah. Daniel (00:23) Yeah, I did. Like my camera just didn't work. And even now my lamp, like the my ring light doesn't work. I don't know why. Like, so we're just like, yeah. David Gary Wood (00:32) Maybe that was the third things. Yeah. Cause you know, these things come in threes. So yeah, we've had all the technical difficulties. Now we've started the show. Cool. We've got that out of the way. Hopefully, plain sailing from now. Daniel (00:45) Cool. Yeah. Like, so my office is very dusty today because I did a lot of like working, like I put up a new lamp. It's gorgeous and wonderful. And it's light. It lights my face right now. And it gives everything very soft shadows because it's a very soft, a big lamp. love it. And I put up some shelves. But at the same time, I did cover my entire desk in a like... David Gary Wood (00:53) Mm-hmm. Daniel (01:10) It's just a sort of tarp. David Gary Wood (01:10) Fine. Yeah. Okay. Cool. Yeah. Daniel (01:14) And so I'm wondering why, why is my desk dusty? David Gary Wood (01:18) ⁓ When I, so my project here is I took all the shelves that were behind me down. They're going up on a different side of the room. Then I've put, people may be able to see it. It's just up there to me, a new shelf that I've not quite finished off yet that has a, I'm gonna turn the camera, a projector on top of it. Daniel (01:20) Put yeah. or a beamer as the Germans would say. David Gary Wood (01:45) ⁓ yeah, yes. Or is the, the VJ community that I'm part of would say Beamer is definitely part of the language. but the plan is that I've set this room up so that I can actually do, live streams potentially and have my visuals on a projector that obviously that's for me rather than the live stream, but we'll then be all part of, you know, kind of doing what I do. Daniel (01:52) Ooh, nice. David Gary Wood (02:11) with visuals and shine that off to the world a little bit maybe. So. Daniel (02:17) Nice. ⁓ I hope you were doing like 1000 Benny Benassi remixes. Dave in the house. David Gary Wood (02:23) I will that's gonna be yeah I will see I will see I won't be I won't be DJing I'll be doing the visuals so I'm gonna have to find some nice music to sort of do stuff too and that's kind of where I'm a bit Daniel (02:36) Definitely do all the TikTok trending sounds. I mean, why wouldn't you? David Gary Wood (02:39) Well, yeah, maybe, maybe I've got to figure it out because I need to look at like what you call it DMCA copywriting laws. DCMA. Yeah. Daniel (02:52) Alright, copyright laws. That's why I put your pirate ship down because there was a pirate Lego pirate ship behind you earlier or like David Gary Wood (02:58) There is a leg. Yeah, it's still it's still in there. Once a pirate, always a pirate. No, so I will figure it out. I would rather not be doing this with, you know, either royalty free quote unquote, AI driven stuff or some of the royalty free free free stuff is just obviously lower quality because people Daniel (03:06) Nice. David Gary Wood (03:26) just put it up for free. can be. Yeah. Daniel (03:28) Yeah, I can, I can see that. Or you could like not do it alive, make, make it a live stream. then there's just like, like record without sound and then like put the sound in on TikTok, of course. then, that's like, ⁓ God, that's such a hassle. Yeah. David Gary Wood (03:39) Yeah, that's a lot of effort. Yeah. So I'll figure out the format. And some of this will be show and tell and actually showing how I get the different effects and that sort of thing. So I suspect it's going to be a talkie thing like this and then a bit of a mix at the end, something like that. But we'll see. Daniel (03:50) Yeah, that's nice. Mm-hmm. Right. Show and tell is so nice. Like, my coworker Jihad has made a whole YouTube video about how he's using telemetry like notebooks. And I love it. I love it so much. And it's also a good driver of content. And he's so much better at this than I could ever be because like I'm, I'm, I'm good at like talking about bullshit, right? But like, I, I get so self-conscious talking about telemetry deck, especially because like I get lost in the weeds and David Gary Wood (04:04) Mm-hmm. that's cool. Mm-hmm. Daniel (04:22) can't see the big picture because I'm so close to it and he can and that's so it's really valuable. David Gary Wood (04:28) Yeah, it's a whole thing, right? When you are the founder developer, like you're going to be so close to everything and then being able to step into that sort of how people actually use it, the customer side. It's difficult. It's really difficult. I mean, I get this with even with my app, I built it to use and play with. But then there's bits in the UI that I've had in the past where it's been a case of, well, I forgive that. because I know what it's doing whereas when somebody brand new to it comes through it they're like I don't know how to put the effects on this thing or do this in this way and I'm like I never thought of it that way. That's you know I mean Daniel (05:09) Tell them they're dumb and they're holding it wrong. David Gary Wood (05:12) Yeah, have courage. Have courage, Daniel. Daniel (05:14) I want to do the intro, but first I need to tell you like three more sentences about my new shelves. As I said, I'm going to put a link to the show notes of a picture once I post one on the mastodons. But they're gorgeous because they are old, they're from the 70s. They have rounded corners, so they're round-rect. And I painted them myself. I sanded them off and I gave them four layers of a deep matte purple color. David Gary Wood (05:29) Mm-hmm. Daniel (05:38) And then I painted the edges into a very vibrant pink and it's gorgeous. And they are shiny too, like so it's really nice. Almost no painting mistakes, and I feel really empowered and I'm like, I'm so happy I built something and actually I fixed them to the wall and the wall didn't come crumbling down. I'm just really happy with myself. David Gary Wood (05:38) Mm-hmm. You moved your camera before we started recording and I got to see them and they do look awesome. And I had no idea that you had painted like, you know, done all of that. I thought you bought them like ready lacquered and painted like that. Daniel (06:08) No, no, no, no, like this. And like, this is like acrylic paint and it's supposed to be very, like opaque, but it took so many layers. each time, like, I only have a small balcony and I was like, always like, I was like walking around them like a flamingo trying not to touch them while like painting anything. Anyway, like no one saw that except my neighbors and I'm sorry. I'm really sorry, I'm leaving your neighbors. Anyway, welcome. David Gary Wood (06:15) Yeah. Well Daniel (06:33) to waiting for a view. A show about the majestic indie developer lifestyle. General scintillating hosts to hear about a tiny slice of eighth of their thrilling lives. I am Daniel Painter extraordinaire, and I'm here with Dave, Jeff Bezos Disliker. Join us while waiting for a view. The thing is, I wanted to use Jeff Bezos Disliker for myself because I am one, but I just like put that on you. I I didn't entirely misrepresent you there. David Gary Wood (07:05) damn it, Dundal, didn't you know I was a Bezos superfan? No, absolutely not. no, no, no, no. Yeah, you're probably accurate there. Definitely ⁓ not a fan. Not a fan. You've got me. Daniel (07:09) Too bad. Just put it on me. I read, I listened to a, sorry. I listened to a podcast the other day and it was like the first episode ever of that podcast. And it was kind of planned. they were like, okay, this is the first episode and we have like everything planned out. And for the first episode, what they did was each of the two hosts kind of wrote an introduction from the point of view of the other host. So I would write on a piece of paper or in an email, I would write, Hey, I'm Dave and I like this and I like that. David Gary Wood (07:25) Mm-hmm. Daniel (07:45) And I also do this and that and my special skills, whatever. And then they had each read the introduction about themselves that the other person wrote. And it was hilarious. David Gary Wood (07:56) Maybe we can try that next time. Daniel (07:58) We totally could. We totally could. David Gary Wood (08:01) I'm up for that. Daniel, how are things going with a, I'm not going to call it a person because it's definitely an it, with Claude. Good old Claude. Oof. Claude code in particular, because I know, yeah, Claude, good. We... Daniel (08:14) Yeah, Claude's a dirty clanker, Izzy. Claude Cooed. Claude Cooed. Is Anthropic even a French company? Or why is it called Claude? I don't know. In my head, it's called Claude Cooed. Mistral. Mistral is the French company. But they have an AI that's called the Chat, or the Chat, but also the Cat, because Chat is Cat in French, which is kind of nice. David Gary Wood (08:27) I have no idea. Yeah, I assume they're American. That's right, yeah. ⁓ Yeah, yes, yes, it's quite sweet. Yeah, I've used Mistral, it's okay, yeah. Daniel (08:47) Anyway, Yeah, jumping right into it. So after last time we talked, you said, yeah, Daniel, please try Cloud Code. And I was like, I guess I should try this. Yeah. And it looks interesting. It looks promising. It looks like it could take off some work. And so I made an account, downloaded or installed the CLI. And then what you do is like you tell it to init and it will kind of look at your project and create a markdown file with a project description. And it will then later on always refer to everything that's in that markdown file as it's kind of a context. Like, so it says like, for example, I put it into the front end dashboard of telemetry deck and it said like, okay, this is obviously an application called telemetry deck and it's written in Ember.js and it has very good architecture, real patterns. It's said that. Which is a bold-faced lie. And whatever. David Gary Wood (09:41) It will tell you that about the most basic of projects I feel. Daniel (09:45) Right. It said like, yeah, the roots are these, the API is at this point and it's being used through that. Like most of it was correct. A few things were like factually wrong, but I corrected them. I also in-knitted a Markdown file for the backend server, which is written in Swift. And it was kind of the same, like was mostly correct. A few things were like wrong, but like whatever. Then... I tried to do a very small change feature. forgot which it was. And then it did that flawlessly. It was like really fast and really nice. And I was like, Ooh, this is nice. And then I tried to do another small thing and it failed horribly. David Gary Wood (10:18) Yep. Cooking on gas. Yep. Yep. Daniel (10:29) Um, and it failed horribly before, like, because it misunderstood the, understood the output of the build process. And there were a few warnings in there that were unrelated and always there. so, and, and also, but I, what did also like miss the big, like it says like warning, warning error and look at the warnings didn't look at the error. So it did like completely went into a loop and I was like, okay. And so what did I do? I was like. this is probably a good time to actually fix those stupid warnings because most of the code base is not at most like at least at least half of the code base is most is basically just maintained by myself by myself at tenementry day. And so if there's warnings, I'm gonna fix that someday and ignore them. But that's of course not good software development practice, right? And so was like, you know what, could fix those warnings. I could just like clean up a little bit. And so I did. then. David Gary Wood (11:20) Yep. Did you clean the warnings or did you ask Claude to clean the warning? Daniel (11:28) I did ask Claw to clean the warnings, but it was like horribly wrong about it again. I was like, really? I was like, okay, whatever. Like I can't try this thing out before I fix the warnings. Once I got it down to a few warnings, it could actually fix the rest because I told it, oh yeah, these several warnings mean that and these several warnings mean that. And also like one thing I discovered during the process is you can interrupt the Claw. David Gary Wood (11:31) Right. Okay. Daniel (11:55) Either you can press a key and it will stop generating at all. you can just type in there, like, you're completely wrong. Look at this instead. And they will just continue and look at this instead. You can also just type without it stopping. And it's kind of like you're shouting across its shoulder, over its shoulder. And it's like, da-da-da-da-da-da. So that's kind of neat. ⁓ David Gary Wood (11:58) Yeah, you can escape out. It is, it feels rude. fits like a sort of end up. And again, I'm trying not to give it persona because it has none, but it feels like you're sort of like being an aggressive backseat driver or some sort of a pair programming, you know, really toxic pair programming. like, no, that is part of how it can work and you can do that. but yeah, it's. it's part of how it works, right, is you've got to keep correcting it. And the more you correct it, especially if you establish rules or documentation about your code base, I found it does start to get a bit better at getting it right the first time. Daniel (12:52) Yeah, pretty much. So that's what kind of happened. After about a day of cleaning up the code base, which felt very good because I was like, yeah, this is so good. All these warnings are Except the sendable warnings in the Xcode project, which all the code that I write is all concurrency compatible. There's no sendable warnings in my code, but there's sendable warnings in libraries that I import. David Gary Wood (13:03) Mm-hmm. Hmm. Daniel (13:19) and it will just display them as if they were in my code. And I'm like, give them like a different level of warning because I can't do anything about it anyway. So all the warnings were gone. Like it was pretty nice. I also deleted a ton of code that because like Claude was like, yeah, the way to send data to Druid is the class called deprecated Druid manager. And I'm like, no, it's like, please. So I was like, is actually anything used using this class anymore? And it's like, David Gary Wood (13:22) Hahaha. Yeah. Yeah. No, it's really not. Daniel (13:47) There was exactly one call to this class and it was like, I can actually replace this with the non-deprecated Druid Manager, which is just called Druid Manager. David Gary Wood (13:55) So that's a nice, a nice cleanup. Yeah. Daniel (13:58) And so, yeah, I deleted like thousands of lines of code. I also like, because they're also, I also found like a whole area of the code that were never go to that has to do with email sending, but like all the email sending is now like done by a third party service. So I just like, instead I kind of built a Swift SDK for that service because it didn't have one. C episode, yeah, C episode, I want to say 12-ish. Yeah. David Gary Wood (14:21) Was that Brefo? 11 or 12, yeah, couple back. Yeah. Daniel (14:28) callback. So yeah, also I continued expanding the markdown file every time like it ran into a thing that was kind of unclear. I updated the project readme file. I updated the code to be a bit more readable and also less, I want to say confusing. if I am and someone who's not David Gary Wood (14:34) Mm-hmm. Daniel (14:49) used to this code, like how does it look like? And that also helped the AI of course. And so after three days of like just cleanup and just making stuff nice, which felt very good. I kind of came back to Claude Caudle and it was like, okay, now create a database migration. And it created a database migration. And it was like, all right, create a test for this migration. And it just created a test. And it was like, David Gary Wood (15:15) And it was good, was it right? Yeah, yeah. Daniel (15:16) It was reasonable. It was a good scaffolding. I put it a bit more, but I was like, yeah, this is cool. And then I was like, okay, I have basically like 10-ish small tasks that I'm just never coming around to because they are small, but at the same time they take like two, three hours per task. David Gary Wood (15:34) Mm-hmm. Daniel (15:37) Yeah, just, so it's like always easy to de-prioritize them, but I really would like them gone. Like this is a small user interface tweaks, kind of thing. And especially for like web frontend user interface, these were really fun to do. Like I spent a whole day just like basically doing like, hey, Claude, reset everything. So you're like, you have an empty context window and then look at these three files. They're doing this, these are the services they're using. These are the API calls they're making. And this is what they're displaying. And now I want the same thing, but very different. I want this to be that. And it was this be that and call it that. And off it goes. And that was like very cool. It felt like having a new video game. know, like, you can play with that. then I did that the entire day and basically knocked all 10 of those. David Gary Wood (16:14) Yeah. Yes, it's addictive. Daniel (16:25) out of that, like off the, off my to-do list. was like check, check, check, check, check. So that was really nice. also at the, at some time during that day, I kind of upgraded from the 19 euro version to the 90 euro version because I wanted to use the bigger model. And I was, I was out of, out of tokens or out of, out of whatever they, I was rate limited. And I also wanted to, wanted to try Opus instead of what's the smaller one. I forgot. David Gary Wood (16:36) Yes, so you went max. Yeah. Yes, yeah, you get cut off. You get an allocation and it's got a window, right? Yeah. Sonnet. Daniel (16:52) Sonnet, right. Sonnais. David Gary Wood (16:53) Sonnet. Yeah. yes. Daniel (16:58) so Opus was actually way better. Like some people like tell me like, they can't see a difference. I could kind of. And so day two of the actual using of the thing, I was like, okay, hey, do this refactor because I have discovered an architectural problem with the application and I want things to look differently. David Gary Wood (17:00) Mm-hmm. Yeah. Daniel (17:21) And it kind of just looked at things for 10 minutes or 20 minutes, and then it asked clarifying questions, which I kind of like. And then we talked about it some more and then we clarified and we planned, and then it horribly bungled everything. didn't understand everything because of course, being an AI, it can only look like a handful of files. Like it can't look at the whole project. That's the entire... David Gary Wood (17:36) Ha ha ha. Yes. Daniel (17:47) reason why it has to be agentic and always like, look at this file. Look at that file. So I kind of feel like I found the limit. David Gary Wood (17:49) Yes. found the edge of the map with it. Daniel (17:56) Right. So that was kind of a downer. The other downer was at the end of that day where I like ticked off all 10 of my to-dos of the to-do list was I didn't feel accomplished at all. Like this is of course a very like soft feeling, but I feel usually at the end of a day where I like actually ship something, I feel like, oh yeah, I did that. That is so cool because I did it. And I also have like a very deep understanding of how it works. just like a... David Gary Wood (18:10) No. Yep, nailed it. Yes. Daniel (18:24) a hunch like if there's a bug, or if someone tells me off a bug, usually know like, yeah, this is probably in that area. Like there might be a bit about this, like all this meta knowledge about the code, all this feeling of accomplishment, all this knowledge that yeah, this is based on the patterns that I kind of established. That was I was missing that I feel I felt kind of hollow at the end, even though I was I was glad that the tasks were off the list, you know. Yeah. David Gary Wood (18:44) Hmm. Yeah, that's interesting. Yeah. Daniel (18:53) And so ever since, yeah, then I saw, so the refactor went kind of wrong. So I did that by hand, but I continued using cloud code. Just, just like for the, for the medium size things. And like, was like, yeah, I need a new way of visualizing data. Right. A thing that takes like a beginning date and an end date and kind of makes it into a. David Gary Wood (19:06) Yeah. Daniel (19:15) into a progress bar kind of thing for the conversion of the namespaces, which the namespace story, will tell you once it's kind of finished. And it did that really well. And so I fell into this pattern of sometimes working with, or mostly working with it by opening it up and then giving it a ton of context and telling it to A, always set to think deeply or think. Think deeply, I think, yeah. Because that's kind of the keyword for... David Gary Wood (19:39) Mm-hmm. You can tell it to, you can tell it to ultra think as well, I think is another one. Yeah, all one word. Yeah. Daniel (19:44) Ultra think okay, basically he tells like, oh, yeah, spend more spend more tokens like spend more time but like, try to like, like unravel the problem before actually doing anything about it anyway. And like, of course, it's not thinking it's just, it's just like telling itself a story about thinking but like, it looks very convincing. And, I had that video game feeling again, like I was like, oh, yeah, this is cool. This is cool. This is cool. What else can I do? What else can I do? David Gary Wood (19:56) Yes. Daniel (20:11) And then after a few more days, like two more days or so, I kind of caught myself like not doing the business critical things because those required like architectural knowledge, like trying to find small things that I could do with Claude because that was more fun. And so I was like, yeah, I'm careful. We got to cut back a little bit. And that's kind of where I am. David Gary Wood (20:18) Mm-hmm. Yep. Mm-hmm. Yep. Daniel (20:40) I will continue using it even though it falls. I feel about losing this thing the same way I would feel about flying. I love flying because it's really fun and technical, but at the same time, there's a lot of downsides for the planet and the economy and everything. But yeah, I'm going continue using it for now because it helps me speak. David Gary Wood (20:48) Yeah. Mm-hmm. Yeah, it's definitely, definitely that undertow with it. Yeah. Daniel (21:06) quicker, but at the same time, I feel I have a better understanding of like where the edges of the map as you said are that like you can't ask it to understand the whole project understandably. can't, and also you really have to babysit it. like, have to stop myself from like looking at this like a video game. David Gary Wood (21:23) You too. Daniel (21:30) Like not everything can be done, there's a few types of problems where it's like the change is three lines of code, but you have to really talk to other people about what those three lines should do. Or also, especially with us, we have a database, a cache layer, and a time series database. You just got to orchestrate them. David Gary Wood (21:31) Yes. Daniel (21:53) put that everything into a context. The context is basically what it can run through a command line, which is really cool, like that it can auto test and everything. But yeah, so sometimes it's like, I heard other people, said, I haven't coded at all. Like every, needs, and I'm like, nah, that's like, that's too much video game thinking for me. Like if it works for you, I'm really happy for you. But like for me, I feel like a good mix is really nice. David Gary Wood (21:58) Yes. Hmm? Well, Well, I can tell you, and I don't want this to just be the Claude show, because that's not necessarily what we're about, but it's relevant. I have definitely found the edges of the map for me lately, or at least like how it works and doesn't work for what I want. And I think when I started off, I had this whole process of I'd laid out agents. for specific jobs. I was building a new app. I am building a new app, and I've architected it with separate local Swift packages for different domains of the app. So it's a video filtering app. There's a video filtering package. There's various different ones for different things. And I thought I got it nailed, was spitting out some really good code. I got a proof of concept within sort of 10 hours worth of messing around. And I was like, sweet, I've started. started this well. And then as I've gotten further on with it there's been there's been a few definitely a few rabbit holes that it's gone down or it's done things in ways that I was not happy with. But I've been approaching this entirely in video game mode in vibe coding mode because I wanted to see how far I could push that. Like I'm curious can I can I end up with a automation shop for doing a whole bunch of stuff. Is it really there yet? Like, because I wanted to know. And what I found is that it is and it isn't. Like, I went, you mentioned orchestration before and the fact that you're having to orchestrate it. And that's true. At this stage, you with Claw Code, you should be in that driving seat with it. I went hard out. tried to create an orchestrator agent and tell it about all the other ones and that every task I give you, you've got to put it through this go, go. The orchestrator will then divvy it up to the other agents and they can talk to each other. had like contracts of how they would send requests to each other and things. and I laid out this entire system and what happened? Well, it didn't work because I, Claude kind of refused to stick to the plan. And even though I was setting rules for this and I had this all, it's really just not the way it wants to work. And B, I was flooding the context with all of these rules. And so then the amount of capacity it had to then actually get across any given request was fried. I was holding it wrong, right? Not the right way to work. But I took it to this nth degree and then pulled back and went, yeah, this isn't working. And now I've learned about this edge of the map. So I don't feel bad about it. I wanted to just see. What I'm now doing is I went through and I stripped everything out. I took all of my agents out. I took everything out of Claude MD, started again. And what I'm gunning for now is actually a very concise set of rules. you know, as short as it can possibly be. And then using Claude's cause Claude now has sub agents and it's got a whole system for it. And you can, you can work with it to set up agents. When I started that wasn't there. So I'd, I'd, created these things and told it to run with them. so I'm going to give that a try because the way the sub agents work is they have their own context. So they're like a background thread. to the main context. And that then means you can specialize better because they can load in or out the info that they actually need. But to do that, I'm going to have to do something similar to yourself. I've got documentation over the code base, but I actually want to fragment the documentation down so that it is specific to the different areas and then potentially even make sub-documentation about specific bits. And I can have it write a bunch of this and then I can review. So this isn't like I'm going to labour for the next week or two writing docs. But then what I can also do within that is call out certain bits where it's gotten itself into trouble before. Because I've had a lot of moments of like, right, you've added, I was adding... Daniel (26:25) Yeah. David Gary Wood (26:25) Adding presets for my effects. I've got a preset system that I designed. It's using, everything's codable. So I pull presets out of a JSON file and they've got filters defined in them that are then chained together to achieve the overall effects that I'm running in the app. And every time it's adding these things in and then... doing stupid things like, okay, it's got a UUID, but I'm just going to make something up that doesn't conform to the UUID format. It's just a string. And it's like, it's like you're dealing with a forever junior at that point. And that's actually doing juniors at this. Yeah. And that's actually doing juniors and interns at this service, right? Because most of the ones I've worked with do actually listen. So, um, Daniel (27:00) an artificial intern. David Gary Wood (27:11) Yeah, I mean, at some point I've had to question, I wasting my time here? Is this is actually a bit of a false errand? Yeah. Daniel (27:17) you are, you're like, or like depending, like if you want to reach like finished status on this app as soon as possible, you're probably wasting your time with this. But like, if you want to know like how, how Vibe coding works, I mean, go for it. David Gary Wood (27:30) Well, that's the thing. And I kind of wanted to test like, it possible to sort of create a bit of a virtual team with that or do this in a way where, you know, I'm able, yeah. Daniel (27:41) virtual team, to have virtual team meetings and everything. David Gary Wood (27:44) Well, yeah, that'd be terrible, right? So I'm in this borderland at the moment where there's definitely benefits to using it. And I'm enjoying the fact that it can go and document my code for me. And then I can read it through and correct the bits that are wrong. And it's much quicker than me sitting down and you know. Daniel (28:02) I hate doing that by the way. Like I'm really sorry, but like, like every time I ask an AI, like be chap GPT, be Le Chad from Mistra or, which I actually use quite a lot to be honest, like as, least like as in percentage of times I use AI or Claude, like, they all have their, their, their distinct dialect, but they all sound very much like AI and David Gary Wood (28:12) Mm-hmm. Yeah. Daniel (28:27) I feel like every time I make them create a text, I feel like I have to go through basically every single sentence and rewrite it because I can add so much more meaning into each individual word. it's always like text that was written by me, still it feels very fuzzy to me. Like it's very smeary. David Gary Wood (28:41) Mm-hmm. I get that. Yeah, it is a bit, but I'm not finding that too badly because again, I'm telling it to be concise and I'm telling it to read from the architecture I've laid out. So it's echoing a lot of stuff that I've already put some time into. But then it's going into the finer details of the flight. know, this is the model for this and this is how this connects through to here. And I don't mind that being clinical or fuzzy even like fuzzy I mind if it's not right but I don't mind its dialect there because it's the one that's going to be reading this right now I'm not giving this to somebody else Daniel (29:21) Yeah, well, that's what I mean. You could put in so much more meaning, but if you just have an AI produce things that it consumes, I mean, this is just a feeling, right? I might be wrong, but I feel like there's going to be nuance, nuance lost. And because that loss is amplified over so many layers, it's actually like measurable. David Gary Wood (29:26) Mm-hmm. Yeah. Yeah. I've kind of found the opposite because what I'm doing here is actually, you know, some of this is stuff that I've gotten to the point of when fixing things that are not right. You know, I've had a whole back and forth of like, this is how I want this. This is how this works. And then it's writing up something from that as well. And then adding that to the document by, so some of it is about saving, saving a conversation, if you like, or saving that context so that I don't have to keep repeating it. Like the third time round I'm like, Daniel (29:56) Mm-hmm. David Gary Wood (30:11) God's sake, this is how this works. We just need to document this and yeah. Daniel (30:17) I told it, I told it. Yes, the project, the compilable code is in a sub folder of this repository called telemetry deck. Like add this to your cloud file because every single time you try to build this, project is like file not found. Where is the file? ⁓ wait, I'm gonna search for it. it's in a folder called telemetry. David Gary Wood (30:33) I know I've got to go and do it. Yeah, yeah, yeah, so I think we can probably move on from talking about clogs. We've given it a long time, but like, yeah, go for it. Daniel (30:45) but I have one more complaint actually. even if the, the cloud has given like, has given me like, is making my life easier right now. So no, no, no questions there. And it's, they want like 90 bucks a month. Fine. But if you are like a software as a service company that wants 90 of my very hard-earned euros, like have a user interface that is actually like, understandable. So there is. David Gary Wood (30:56) Mm-hmm. Yeah. Daniel (31:12) cloudcode.com, think, or cloudcode.ai, which is where you can subscribe to Cloud Code. But there's also anthropic.com, which is the makers of Cloud Code. And so if you go to Cloud Code, and then like they said, like, okay, I want to pay for this, then they kind of make you make an anthropic account and then bounce you back and then subscribe you through the. But then at the same time, like if you like look at the Cloud Code site, it tells you, no, we can't tell you usage details because like usage. David Gary Wood (31:19) Yeah. Yes. Yes. Yeah, it's all through that. Yep. Daniel (31:40) We just have all the usage, don't worry about it. And also like right below it tells you, yeah, the usage is over at the anthropic side. And on the anthropic side, it's like usage? No, you have like, you have nothing here. You have a free account. Like, don't, we don't know anything about that. And then, and then I spent like an hour probably, because I remember you telling me that I could only use Opus in the, in the bigger, in the, in the bigger plans. And like, David Gary Wood (31:47) Mm-hmm. Yeah, yep. ⁓ in the max plan. Daniel (32:07) Did you do you think the documentation would tell me that the documentation told me all the models are in the smaller plan? It was wrong. And but they have like three different documentation. And that was like, okay, I'm gonna ask the AI, how can I enable the Opus plan? Because like, can I enable the Opus model? And it's something like, you can like you can enable different models using the slash model command. Am I going mad? David Gary Wood (32:13) Yeah. Well, they were. That's the thing. Yes. No, not at all. I mean, they shifted Opus to the higher paying Max plan rather than the Pro plan. And I think they've just not updated it. yeah, that's something I think I call out to listeners of the show, right? There's a lot within this industry and within these tools that are very much trust me bro kind of experiences. Yeah. Daniel (32:36) You Right. Like all the knowledge right now is just like idiots talking about it as we are, which is horrible actually. David Gary Wood (33:00) Yeah, as we are. And I would just sort of say like, it's, I think it is somebody working in the industry. And certainly if you're sort of thinking about, you know, working, if you're working in a quote unquote regular job, I think in, in tech, then I think it's a good idea to play with these tools and at least know how they work. Even if you get to the point of going, this doesn't work for me. This is a whole game and it's bullshit. Um, it's good to have that hands on knowledge because almost any employer at the moment in the bigger tech companies at least is going to be asking for this or expecting some use of this at some point. Um, so I think knowing how to, where the edges of the map are for you is probably a good thing at the moment. Um, yeah. Daniel (33:52) TelemetryDEC is going to proudly stay AI third, not AI first, by the way, especially with our output to people. David Gary Wood (33:57) Yes, and I think that's going to be the case for light beam apps. Like I will move on from this vibe coded project at some point. Yeah. Daniel (34:06) Yeah. I was at an amusement park a few weeks ago and it was like a, I don't know, like a third rate amusement park. It was kind of like if you order Disneyland at Wish or Tmoo. It was like really, it was really fun and everything, right? Like we had a ton of fun, but like it wasn't that, if you are at one of the big amusement parks, like Europa Park or Disneyland, like David Gary Wood (34:18) Team DisneyLand. Daniel (34:31) You look at every single corner of the thing and you're like, this is really thought through. Someone really thought of all the details, fits into each other, the design and the moving, the people along and the feeling of the music, whatever. And this is kind of the opposite. This is like the anti-example. It was like, we could put a roller coaster there. yeah, let's put a roller coaster there. And they put a roller coaster there. And they generated a lot of the posters. David Gary Wood (34:37) Mm-hmm. Hahaha! you Daniel (34:59) And the promotional material in ChatTPT, has that yellow tint and everything. even some of the, there was one roller coaster that was kind of like a wild water ride, like a water log ride. And it was like really fun and everything. has a theme even, the theme was wild west and mining. And so it had various signs during the roller coaster, like hanging above you. And one of them. David Gary Wood (35:06) Yeah. Mm-hmm. Daniel (35:26) I was like missing letters because it was like a GPT generated. And so they missed the P in explosions. It was like danger explosions. David Gary Wood (35:31) ⁓ no. ⁓ dear. Daniel (35:38) They were so amused. They added to the fun. David Gary Wood (35:38) That's. I think that's something though, right? Relating this back to everything we've talked about, like if you as a app developer, solo indie developer or somebody with a small business or whatever, if you're taking these things and then just putting them straight out without quality checking, that's going to be your customer experience on the other side, right? Yeah. Daniel (36:07) Right. And people do notice, like, because I asked some of my friends who are not very technical, asked them, like, what do you think about this poster? And they all said, yeah, this is clearly I generated and feels very cheap and stupid. And that is why I really don't want to, like, I think we had like one or two like header images that were kind of half, half generated. And going forward, I really don't want to do that anymore. Like this kind of experiment that I don't want to repeat. Same with, with, with text and stuff. Like we want. David Gary Wood (36:18) Mm. Daniel (36:36) have, like when we talk to customers, especially like we want to talk to them and not go through an AI. David Gary Wood (36:44) No, I think it's fair enough to maybe use some of those tools for a drafting process to give ideas. Daniel (36:50) Sure. Drafting, triaging emails when they come in, stuff like that. Amazing. But like, yeah, there should be like a level of humanity in there as well. David Gary Wood (36:55) Yeah. Yeah. Yeah, I agree. so, yeah, I guess to wrap up talking about any of this side of stuff, I'm not sure my experiments come to an end as much as I'm kind of finding where the tooling sits for me. And that's okay, right? It doesn't have to replace everything and be everything to everything. It's probably preferable if it isn't as well. So yeah. Daniel (37:29) Do you want one more anecdote about the museum park? David Gary Wood (37:33) Go on. Daniel (37:35) So it's called Skyline Park and Disneyland. And every single attraction had sky in the name. Like started with sky. So it was like sky sling, sky circle, sky coaster, sky, whatever. At some point we were like, I really need to go to the Skyloo. David Gary Wood (37:37) Okay, I just put it in the show notes as Tisneyland, by the way. Daniel (37:57) Do you have any sky money? Because I need to buy sky cigarettes. David Gary Wood (38:00) my God. Yeah, ⁓ again, that's a typical AI driven thing, right? I've got an amusement park and it's called this. So give me some good names for all of the things. Daniel (38:02) And it really went, like. I don't think that is, I don't think that is, yeah, I'd rather like they weren't completely, they was like, there was just like an operating on a different budget than like your big amusement parks, I think. And also like it did get better. Like the further you went away from the entrance and into the newer parts of the track, like the better it got. Like it feels like they started on this end of the field basically. And then like every, let's say every year they put a new thing at the end. David Gary Wood (38:22) Yeah. Mm-hmm. Daniel (38:39) And so the things at the very end, are way more modern, they are better designed, are integrated into a bit of a... For example, one of the first aspect things was a Bavarian village. so the attractions, the rides were Bavarian themed and the foods were Bavarian themed and whatever. And that kind of worked and was also quality-wise, but it wasn't just like, yeah, put a meadow here, put a few trees here. David Gary Wood (38:40) Right. Mm-hmm. Daniel (39:05) and then put up, I don't know, a shop selling ice cream here. But especially at the beginning, it was very underwhelming. And I was very cynical when I entered the thing through this very cheap-ish cashier point. And then the first thing you see is a wooden bench. the plaque on the bench says, this bench is dedicated to John something, I forgot the name. David Gary Wood (39:06) Yeah. Yep. John Cisney. Daniel (39:36) Who ⁓ operated and cared for the safety of the rides in this park? David Gary Wood (39:41) and I get the impression did they replace it? Daniel (39:44) What did he die of exactly? David Gary Wood (39:46) Yep, you see how this plaque raises questions that nobody wants to ask? Daniel (39:51) And then the first few attractions were also very, very old. Like paint was like kind of splattering off or not splattering off, like paint was like peeling off, peeling off. That's the word I was looking for. And the people who were like managing the rides were also very, in very bad moods. David Gary Wood (40:01) Tealing off, teal off, yep. Because they worked in Disneyland, that's why! Daniel (40:16) And so was like, nervousness at the first ride was more about like, I didn't really trust the safety of the rides. And so I was like in a very like critical, cynical mood, especially at the beginning, but it got better and better. Like my friends were there, the rides got better and better and had like, and so like towards the end, there was like one thing that was kind of a centrifuge where you just stand in this high cylinder and then it kind of... David Gary Wood (40:32) Yeah. Okay. Daniel (40:47) rotates very quickly, but it has a whole story around it like, you're going down to the reactor of the crazy professor, whatever. And then the floor kind of like, and so it rotates so fast that you kind of pressed into the sides of the cylinder. feels like 2G or something. It was definitely more than 1G. It was hard to raise your arm. then the floor just like drops like 20 centimeters or so. Like, it feels like you're just like exploding there. That was really, really fun. David Gary Wood (40:49) Yep. Yeah. Daniel (41:10) So the sky circle, was like this like really like craziest roller coaster I've been to. so yeah, it was fun, but everything was sky themed. David Gary Wood (41:18) I'm glad it was fun in the end. That would have been a bit rough if it was just Disney all the way around. Daniel (41:20) He was, Like the friends I went through, they like being a bit cynical. David Gary Wood (41:30) Mm-hmm. I'll tell you something, did you get a photo of any of the chat GPT generated text? Daniel (41:39) No, because that was during the ride so I couldn't take a picture. David Gary Wood (41:42) Right yeah, shame. I was gonna just ask if we could see it. Daniel (41:47) No. But tell me bit more about your new app. David Gary Wood (41:51) I'm not sure if you've got time for me to go deep on it, but it is a video filtering app and I can show you, can maybe show you, let me see if I can share my phone again, because I think we've done this before and it's worked. Yeah, so you'll have to audio describe it if I'm going to do that. But let me just bring it through. So. Daniel (42:10) I won. In the meantime, I've added warning explosions to the list of possible titles. The other ones that Dave wrote in there. I really hope it's going to be one of those. David Gary Wood (42:20) Yeah. What if I... I'm not going to say any of them but then you can actually. ⁓ I think we've got some options while I'm setting the camera up because do that. Well not camera but the phone. Daniel (42:27) No, no, no, no, no, no, no. Should I? Alright, alright. So Daniel goes to Disneyland, which is kind of nice, but above that is my context is bigger than yours, which I would very much like to rip out of context. David Gary Wood (42:43) Yes. Yep. Daniel (42:48) and have it, maybe you should put this here or something, just behind me. My context is bigger than yours. Let's have some more toxic masculinity in here. Toxic masculinity has never harmed anyone, has it? Like thousands and millions of. David Gary Wood (42:54) is bigger than yours, yes. Hmm. Is that toxic? I hope that's not too toxic. ⁓ Daniel (43:10) It's not just every day, millions of women and millions of men, but apart from that... Millions of enbies probably. David Gary Wood (43:16) No, no toxicity please. All right, what have we got? Let's have a look. Daniel (43:17) Okay, we have a share. We have a share going on. I see an iPhone screen and it has a camera that is displaying Dave and he's very much like, he's interacting with the camera. There seems to be some sort of freeze framing in there or something. I took a video of yourself. Okay, so that's how life was like. And so you're selecting parts of it with a video to loop is what you're doing right now, I think. David Gary Wood (43:28) May Yeah. It is, it is, yeah. I can do, yes. Yeah, yeah, yeah. But if you look at the UI, what I've got is I've got the previous at the top. There's a trim bar just below it, which we can toggle on and off. I haven't really decided the full vertical layouts of this middle bit yet, because it's been. Daniel (44:02) I like the trim bar, it's very iOS-y. David Gary Wood (44:06) Yeah. And we can also put it in stretching Dave mode, four three mode. Yeah. There's a little bug in there, it's four three now. Yeah. Daniel (44:12) haha Is there a 4-3? That was squared. Like this is 4-3, right? And also, there's like below that there's filters. I've rather have selected clear, but you can also have warps and white noise, interlaced noise. And also the app has a title that's called Light Beam VHS. So I assume once you press those buttons, we're gonna see some VHS effects. David Gary Wood (44:25) Yeah. Yeah, there's loads. Yes. Yep. Yes, so we've got various different effects on the Warps one we can create. Yeah. There's all sorts of things that I've got in this. Daniel (44:42) Ha, scanlines. Jitter. Bottom, bottom warp offset. David Gary Wood (44:54) Yeah, so they're all very they're all very technical at the moment, right? And I'll show you one of the things I've done. A lot of these are like single core image filters or metal shaders that do specific things like there's an interlacer there on the screen that makes it look a little bit interlacy. It's got some bit go on. Daniel (44:58) Don't warp the bottom. huh. question. ⁓ Because you're like very into like exploring what AI can do these days. Like, have you considered like doing an AI filter? David Gary Wood (45:28) Mm-hmm. That's quite funny because no, I don't want an AI filter in this app. I just want it to be working with shaders right now. Some of the various, there are some things within AI filters that I wouldn't mind exploring in the future, but not for this app. Because I know, well, my instinct is, that I can get better control over how I want these things to work by having them as individual. shaders that are then chained together. Whereas if I was to do an AI filter for this VHS style of effect, I'd have to get something trained on a load of old VHS videos. And I think it's, that would be an endeavor that would take me a lot more time and I would not be interested in because I don't think the output would be what I wanted it to be. I think it's stopped presenting, but yes. Daniel (46:24) So you want to control them and chain them together. David Gary Wood (46:28) So I can show you there in a second. Let's actually make sure it's still sharing. That should be there. So if we go all the way to the side, ⁓ you can't literally see the chains here, but if I load up this one, what you will first notice if I go to adjust it is it's got 25 parameters there, Daniel. And that is, and it's not single shader, it's Daniel (46:50) Wow, that's a lot of parameters. David Gary Wood (46:55) like four or five of them chained together and then all of their parameters are then surfaced. Apparently so. And Luma bias and saturation and contrast. Um, but a lot. Daniel (46:58) Mm it has chroma bias. I know what that is. That's cool. . It looks like a very cheap home video with all the filters. David Gary Wood (47:12) Exactly. And that's kind of the idea of the effects, right? So the point of this app is that you can load any video in and make it look like an old home video off a camcorder or whatever. I'm not there yet. And you can see that with how the effects looking, it's not quite what I want it to be. But the point here is, is I've set up all these shaders. I'm adding in different ones to do different things. And I've got a whole system that now does that for me. And it's letting me then tune these things. Now users will not get this. Users will not get this UI. They will get presets. Those pre they'll get bits of it. They'll get the presets. They will get the ability to change maybe two or three things in a preset or turn things on and off. And the presets will be tuned to different like types of look and they'll be named accordingly. So it'd be much more. like your standard filtering app where things are in aesthetic and you then play with a couple of bits. I might figure out a Pro mode later on to let people really play with the depth of it, but for now. Daniel (48:24) but it costs £5.99. David Gary Wood (48:27) Yeah, yeah, exactly. ⁓ But yeah, you can see that I've got chromatic aberration going on on my glasses. But the other bit I'm working on at the moment is I can define a preset in this screen, give it a name, whatever. And then I can add the filters that I've got. And you can see here stuff is still very rough and ready, right? But if I add in a Posterize filter. Let's see if this works. Cause I've only just been building this. Posterize, give it a bit of blur and then let's give it some pixelation. And I save that. So we should now have a preset there and we've got chained together. I've got the levels of posterization. So you can see there that's giving that effect as I slide it and changing the different. Yeah. Change the radius of the blur and then I can bring that pixelation up. Daniel (49:27) I love it. I love that you can like have that all these effects like live on video. I kinda like, it looks like really fun to play with it. So we're gonna be sad to not give that to your users, Because like, I don't know, the people who just want to apply a filter, I feel like they would just use a TikTok filter. And like every day there's like five to 10 new cool filters of the day. Like, so the people who really would... David Gary Wood (49:39) Mm-hmm. We will... Yeah, maybe. Well. Maybe so. Daniel (50:00) like use an app and do not that I think maybe they they want to play around, you know. David Gary Wood (50:04) Maybe, maybe, but it's not, it's not the MVP and I really want to stay MVP with first release. Part of this is not just this app. Part of this is laying out this framework so I can do spin-off filtering apps. And then one of those spin-offs that I want to bring together is what you're describing. It will be like a filter studio. But I kind of want to hone it down as I go so that I'm exploring how I really want this thing to work because I've got ideas about how it could work. ⁓ But I don't want to go hard out on on a pro configurable filter app first time around the block with this sort of an app. So, yeah, it's in the plan, just not yet. And yeah, anyway, we will we're probably way into the weeds here, but I just thought it might be interesting to show. Daniel (50:50) All right, fair. David Gary Wood (51:02) a little bit of what I've been up to. Daniel (51:03) Yeah. have like, if you want to come back from the weeds, I have like, I want to tell you like three things about an app that I discovered today that like I have no connection to them. like they're not a customer or anything like, but they're called, it's called your focus friend.com. The app is called Focus Friend by Hank Green. David Gary Wood (51:13) Mm-hmm. Daniel (51:25) Hank Green, if you don't know, is a YouTuber, science YouTuber. He also has a brother who's called, God, what's his name, Something Green? I'm blanking on the name of the brother. Anyway, the brother is a ⁓ literary author, also kind of well known. He wrote a few kind of nice things, I think. ⁓ Anyway. David Gary Wood (51:35) I am. So the only person whose name ends in green I can remember is Tom Green, I think his name was. He's a very different person. Daniel (51:49) No, no, that's, yeah. Anyway, Focus Friend is an app that where like, it's one of those idle games where you kind of have a creature and you like, in this case, a bean and you have to buy that bean things to decorate its room. I put a link in the show notes to the website as well. And... David Gary Wood (52:08) Mm-hmm. Daniel (52:09) You know how you have these games and like, you really want to have a computer for the bean or a, I don't know, record player, whatever. In this game, you can earn like currency by setting a timer and then staying away from your phone for the length of that timer. So you tell the thing, hello, I will now focus for, I want to say 30 minutes and you say start and then the bean. we'll start knitting socks. And then if you use your phone before the 30 minutes are off, the bean says, no, no, no, I'm distracted by you using your phone. I'm sorry, all the socks are gone. But if you actually, or like the socks that I was gonna add to your pile of socks are gone. But if you actually manage to keep away from your phone for 30 minutes, it says like, hey, welcome back. I created, I don't know, 24 new socks. And then you can use the socks to buy record players or whatever. David Gary Wood (52:49) Yeah, yeah. Daniel (53:02) It is adorable, delightful, I think specifically geared towards ADHD people. I love it. It's like, are making money. You can actually buy stuff with actual money in the game as well. And there's like one or two features where you can have like an allow list of allowed apps during the knitting. And that is behind a paywall. But I feel like this is... David Gary Wood (53:23) Okay. Daniel (53:26) a fantastic example of an app that is not predatory, very playful, very cute, kind of addicting, and also like trying to help people along the way. I love it. I love the existence of this app. David Gary Wood (53:40) gonna give that a look yeah it's kind of like a Tamagotchi right in some ways it's quite sweet I mean I'm looking at it now it looks very cute so yeah thank you for that Daniel I'll give that a look Daniel (53:45) Yeah, kinda. And I think we need to wind down now. ⁓ I'm gonna wind us down. think, so, you know, like sometimes we get customers for telemetry deck that I have not yet secured their like permission to talk about them, even though I really, really like their service or their whole deal, their application or whatever. So I'm just gonna wind us down and then. David Gary Wood (53:58) Yeah, yeah. Mm-hmm. Daniel (54:18) I'm just gonna watch maybe Jetlag the game on my favorite streaming service or maybe, I don't know, something else on my favorite streaming service. Maybe 17 pages, the documentary that I really like. Anyway, thank you so much for listening. Please rate us on iTunes and YouTube. Send us emails at contact at waitingforreview.com and join our Discord. The link is in the show notes. Dave, where can people find you on the internet? David Gary Wood (54:31) You Nicely skirted. That's a good question because I discovered that one of my Instagram links on my website was broken the other day. maybe I need to just get. Yeah, I got the wrong thing because I changed my profile. So what I'm going to tell everybody today is just go to lightbeamapps.com. That's probably the best place to just find my apps and links should be updated by the time you go there. Daniel (54:54) It's broken! I still love Mastodon, so find me at daniel at social dot telemetry deck dot com even though I'm paying more and more for that service because like our database just gets because keeps getting bigger and bigger and bigger. All right, Dave. Have a fantastic day. See you soon. And I want to say bye. David Gary Wood (55:20) Oof. Take care, Daniel. Catch you soon. Daniel (55:27) Bye!