David Gary Wood (00:10) 5, 4, 3, 2, 1. Sonic batteries to power, turbines to speed, to the popmobile! Daniel (00:16) Hmmmm And welcome to the Podman podcast pod people I don't know welcome to a waiting for review hey Dave nice to see you again. How's it going? ⁓ David Gary Wood (00:30) Yes. Hey Daniel, how are you? Yeah, not too bad. Are we pod people now or something? I guess we are. Daniel (00:39) I think we're pod people. Yeah. I'm good. I'm just extremely silly because I'm exhausted. David Gary Wood (00:46) dude, yeah, I'm sorry this time slot that we record on is a late one for you, I know. ⁓ Daniel (00:49) Cause no, no, no, no, no, it's not about the time. So this is a fun way week. tell you, I have, I have this thing where last Tuesday I was like 15 layers deep into one, like code change about the, like the, the pricing billing model change that I wanted to do for by 15 years now. And I was like, Oh yeah, I'm so, I'm, I'm this close. I just need. David Gary Wood (00:54) Aw man. Daniel (01:17) that thing from the API, from the Stripe API. And it turns out, wait, the Stripe API gives me that. But the library, the community library for the Stripe API for Swift on the server doesn't give me that. So it's time to make another pull request. So I'm like 16 layers deep now. And then I'm like, wait, it's like seven or six. The coworking space is closing. I got to go home. But like tomorrow I will work on this. And then the next day I was unable for some reason because like, just like, you something comes up like, yeah, you need to do this now for. David Gary Wood (01:21) Mm-hmm. Daniel (01:45) a big customer or like someone finds a bug or whatever. And then the next day was a bank holiday. And so I was like, haha, I can just like work on this. But then like something came up again, and again, and then it was the weekend. And I wanted to do like stuff on the apartment because we're still like settling in, right. And then it was Monday, but Monday comes with lots of meetings and lots of meetings, give me lots of tasks. And then it was Tuesday and Tuesday had meetings again, but also David Gary Wood (02:13) no. Daniel (02:13) sales meetings. I mean, that's also cool. also then like I had meetings with another big customer. of course, that gives me a lot of tasks. And then I had no meeting, but I looked at something else. And I've realized that there's a server that I haven't migrated from its old position to the new position. And that server cost me like 2000 bucks a month. So I'm like, I'm going to do that first. And now two days later, I have David Gary Wood (02:36) Yeah. Daniel (02:39) Like after like going 17 layers deep again on this thing, I have finally re-emerged. The migration has gone without a hitch to be fair. Like no one even noticed. But that server now costs me seven bucks a month. David Gary Wood (02:48) Mm-hmm. Yep. Ooh, that's cash back. Nice. Daniel (02:55) which is quite a difference. ⁓ like, like outwardly, nothing has changed. Nothing has progressed towards where I want to be. It's just like a lot of work. It needed to be done like, right. But I'm so, I'm frustrated because I want to work on like reducing this technical debt and I want to work on cool new features and being awesome. like, you know, what, it's just like, like treading water. David Gary Wood (03:06) ⁓ Daniel (03:24) like as fast as I can. David Gary Wood (03:25) It's a bind, right? Yeah. Daniel (03:28) so yeah. David Gary Wood (03:28) I think everywhere I've worked, like there's always that tension, especially like if you've got a product company, right? It's because new features bring new opportunities for you. Like obviously you were saying before, the sales conversations bring you loads of new tasks. Well, some of those will be things that you'll build to help those customers better, right? So there's opportunity there and you've got to keep that rolling. Meanwhile, Daniel (03:36) Hmm. David Gary Wood (03:56) the technical debt can become financial debt, like a $2,000 to $7 reduction. So yeah, how do you do it? Because this is a, like I say, it's a standard problem, right? How do you manage this buying? Daniel (04:11) It is, yeah, it's pretty boring. Like it's always recurring somehow. And it's not very unique either. Like I thought at the beginning, thought, yeah, it's going to be very different if it's my own company. Or if I can like make other decisions, like we can not have this problem or whatever. And then for a while I thought, only I have this problem. If I only had like two, three more minions. David Gary Wood (04:17) Yeah. Yeah. Daniel (04:34) Everyone would be cool. I do have a few more millions. No, still the same problem. I think this is just a thing, you know? And I think it's a sign of the very best companies that do this or like products that do this really well. I don't think I'm doing it really badly. So I'm mostly okay with this, like, I wish it would be a bit better. So my strategy for it is... David Gary Wood (04:34) Mm-hmm. Mm-hmm. Daniel (04:59) I think to have and communicate a general direction. Like what are the things that, what are the most important goals and some way to measure it, progress towards that direction. Like I hesitate to name the things, but basically I want some kind of KPIs, like some kind of number where I can see like, okay, this is going to the right direction. This is good. And then just like accept that there will always be more things on the list than I can ever do. prioritize and then just like break them down into small ish pits so that something gets done. Because I think that's the thing that I have completely eliminated or well, 90 % eliminated is like, yeah, there's a like, there's a like toward four days worth of change or PR like lying around somewhere. And by the time I come back to it, it's like so stale, it's impossible to merge. Like I have. David Gary Wood (05:44) Mm-hmm. Daniel (05:50) I haven't done that for a while. Like I want to have changes that are small enough that I can like basically inline them in a day or so. David Gary Wood (05:52) That's cool. That's nice. mean, that's a good tactic, I think. Because I have this with Govj as well, On a much more smaller level than yours or in my quote unquote day job workplace, It's a microism of it. But I think in both worlds, one of the things that I've had some success with is both that, is like slicing stuff up so that you can Daniel (05:59) ⁓ David Gary Wood (06:24) make that incremental progress against it and land stuff before it's out of date and all of that. That helps. And I see that one like traffic, right? That's like, I can stand taking longer to get to my destination, but as long as it's like a steady flow versus being stuck. So there's a bit of that. And then the other one that's also works for me to some degree is attaching the technical debt and small chunks against a new feature so that it's like, okay, I'm going to do the technical debt that enables this thing. The thing gives me something new or gives me something that I feel really positive about. And then that kind of sucks me in with the grind. You know, like I'm not just doing this for the fact that it needs to be done and it's kind of like having a messy floor. It's like, I'm doing this because this will make X, Y, or Z then happen. And then that's a motivator. Which it sounds like you had a bit of that really like the, you know, the cost reduction thing you mentioned before was, is one of those, right? You know. Daniel (07:31) Yeah, totally. Also like the modular approach kind of helps. sometimes I think that's a feeling thing. I can't really define it, but like if you keep your features like general enough that they can be reused in various situations, but also not so generic that you're kind of reinventing Kubernetes every time. ⁓ David Gary Wood (07:54) Mm-hmm. Daniel (07:56) then it's really helpful because at some point you're like, oh, I need a thing X and then you realize, wait, I can use the thing that I already built also for X. if you can get to that place where that happens a lot, that's a real multiplier. But yeah, it's hard to find a balance between like too generic and too specific. I think I'm really good at that balance. I think that is a thing that I'm just like good at, or luckily. David Gary Wood (08:19) It is. I'm getting better at it. It's definitely a skill. But hey, I want to talk about some of my modular approach later on in the show. We've got some show notes of things we want to talk about and there's a bit that links to. So I'll leave that there for listeners. We'll come back to my modular approach and my Lego bricks that we've mentioned before. But Daniel, we're nearly 10 minutes in and we haven't intro the show and I always feel remiss when we don't do it. So even though it's late. Daniel (08:32) Uh-huh. Mm-hmm. Very good. I love the cold open. just love cold opens. What can I say? Cold opens to this show, which is called Waiting for a Review, a show about the majestic indie developer lifestyle. Join your scintillating hosts to hear about a tiny slice of their thrilling lives. I'm Daniel and I haven't been to the barber in a while and I'm here with Dave. His Audi can file his taxes in under an hour. David Gary Wood (08:55) Yeah Actually, I don't know how they already does it. Daniel (09:19) I've just been watching. I've just been watching like the middle of Severance Season 2. David Gary Wood (09:25) I need to catch it up, it's been recommended to me and I did enjoy season one so yeah I'll come back around for that. And actually I needed a new show to watch because I was watching The Last of Us and season two of that has finished. Daniel (09:36) I haven't watched that. Speaking of, do watch Murderbot. David Gary Wood (09:41) Okay, I'll add it to the list. Daniel (09:44) it is very short, like the episodes are like 20 minutes in length and that includes the intro, is almost almost a mini minute. and it's very cute and very sci-fi. the premise, if you don't know the books, like it's, it's, it's like made from a book and I've read the books before and I love them. The premise is basically you have this Android and this Android is like calls itself murder bot because. David Gary Wood (09:50) Okay. Daniel (10:09) It is a security Android, it has embedded weapons and whatever. And it has some kind of glitch that deletes some part of its memory and also kind of hacks the part where it's so-called governor module. basically, it doesn't have to do what the humans tell it to do. It chooses to though, because that way they leave it alone most of the time so it can watch all the TV shows. David Gary Wood (10:29) Hmm-hmm. Daniel (10:34) And it loves watching TV shows, but it calls itself Murderbot because it suspects it's like a horrible killing machine. And it's a very neurodivergent show. And it's very cute, very lovely. the TV adaptation is pretty neat. I'm not 100 % on board with what actor they chose for playing Murderbot because I don't know, Murderbot for me is very genderless and Alexander Schorsgard is very... David Gary Wood (10:36) That's brilliant. Yeah, I was gonna say that... yeah. Okay. Mm-hmm. Daniel (11:02) Like, male? David Gary Wood (11:04) Okay, yep. Daniel (11:05) But he plays, he plays Murderbot really, really well. Like very like anxiety ridden. Like I'm an Android, have feelings somehow. I don't know how to deal with it. Love it. David Gary Wood (11:10) You I'm gonna have to check that out actually I think you sold it on sold me on it now I never knew what it was about I sort of assumed it was about a robot kind of actually going out and killing people so it sounds like that's got a lot more depth than I imagined cool but yeah Daniel (11:33) That's cool. Like it's on Apple. You can watch it. Like it comes out every Friday. I think like the fifth episode comes out in a few days. So you can like really, you can really snack them. They are very snackable and light. David Gary Wood (11:40) too easy. Yeah. Cool, yeah. 20 minute runs is good for me as well because honestly I've got, you know, the social media, short attention, spam brain rot that most of us suffer from. that's kind of cool. Sweet. So you've been technical debting and winning from the sounds of it. So that's cool. Daniel (12:03) Yes. I don't know. In German you say like this was a harsh berth. Like I was kind of birthing this new way of hosting the server. David Gary Wood (12:09) Yeah. Yeah. Yep, a long labour. Right, what else has been going on for you mate? Daniel (12:19) What else? I've been whale watching. But not actual whales, but beluga whales. David Gary Wood (12:24) Mm-hmm. ⁓ cool. Daniel (12:28) Belugas are a family of dolphins, they're called whales for some reason. They have a long snout, they're very white. I haven't seen actual Beluga whales, but I have seen the airplane that's named after them, which is a transport airplane by Airbus that they use. It's huge, it has this incredibly large fuselage. David Gary Wood (12:40) ⁓ Mm-hmm. Daniel (12:48) Aircraft transport basically parts of other aircraft like it can can like fitted a whole aircraft fuselage without the wings into its belly Yeah, turns out David Gary Wood (12:55) Okay, so Hjelg. ⁓ Have you posted any pics? Can I actually link a pic of this in the show? Okay. Daniel (13:03) I'm looking it up right now. Here we go. I just found it. I'm linking it in the show notes. So it turns out there is an airport. Hamburg has two airports, a public one and one that belongs to Airbus where they actually not assemble, they do assemble some Airbus there and also they repair, or also Airbus. So if you're an airline and then your Airbus has a thing. David Gary Wood (13:09) And the sun will do that. Yep. Daniel (13:28) I don't know if it's refitted with something, you fly it to Hamburg-Finkenwerder and they will like refit it. And so of course their flight plans are half public. You can look them up and that airport is about, I don't know, an hour's worth of biking from where it is now. So of course I had to look up exactly when some Belugas would be arriving or departing. David Gary Wood (13:35) the Mm-hmm. Daniel (13:56) kind of timed my arrival there in a way that I was just like directly underneath the thing. And I got pretty neat photos. If I must say. David Gary Wood (14:04) Well I'm gonna have to check those out because yeah that's awesome mate and I think you may have sent me one of those photos last week because I remember saying to you I really need to go down to Wellington Airport and check things out there but maybe I'm remembering that wrong but anyway it's on my to-do list to go and do that and actually park the car where I can do the Wayne's World thing. I don't know if you remember where they sit underneath the planes as they fly over and just chat. And then I've always wanted to do that where you sort of on the carbon or whatever and like the time it's the plane goes right over you. Yeah, that's an experience I want. Daniel (14:42) Mm-hmm. Yeah. Like because the air, the two airports are so close and like they're really fun to bike to. Like I'm, I'm kind of becoming an aviation geek, just by osmosis. I have like, by now I have like hundreds of photos of planes bellies. It's pretty fun. David Gary Wood (14:53) Yep. Well... Brilliant. that's good fun. Yeah, of course I want to do this so I can shoot videos that I can use in my visual art stuff that I make. yeah. Daniel (15:13) I can send you mine, like if you wanna get a start. You can just use them. David Gary Wood (15:16) You do, but please shoot it in landscape and not portrait though for me. Daniel (15:20) I'm sorry, like I'm a TikTok user now. So I'm like always thinking of TikTok when I take video. David Gary Wood (15:23) Yeah, fair enough. I can make it work, but yeah. Daniel (15:30) You just have to cut out the part. David Gary Wood (15:33) Yeah, I'm kind of getting back into that. It's sort of related to what I do with my VJ app. So that's nice. Yeah, but I've got like a laundry list at the moment of different visual art related projects, some of which overlap with the app and tech. So yeah, there is a bit of that. Yeah, but. Can I tell you what I'm getting up to this week? Daniel (15:58) Please. David Gary Wood (15:59) Yeah, so I've got a week off from my day job and apart from like a whole load of household stuff that I'm kind of catching up on and a bit of chilling out, I am, can show you, I've got, so for viewers on YouTube, you'll able to see this. I have this thing here, which is, it is anti-static bag. Let me open it up. I've got a circuit board. Daniel (16:18) What is that? It's an anti-static bag. David Gary Wood (16:25) with a camera ribbon. Daniel (16:26) Mm-hmm. Okay, that looks like a Raspberry Pi or something, but what does the ribbon cable do? David Gary Wood (16:28) Never. It's related. So, okay, that is an HDMI port and the ribbon cable on the other end is a CSI connector for the Raspberry Pi's camera input port. Daniel (16:44) can. David Gary Wood (16:44) Now, I don't know if this is going to work. So this is one of those FAFO type things where we, yeah, F around and find out. So the Raspberry Pi 5 has two input sockets on it for cameras. And, you know, people want this sort of stuff for robotics, right? So then you can have. Daniel (16:53) fa foo. Mm-hmm. David Gary Wood (17:08) dual cameras and stereoscopic inputs and there's all sorts of things you can use them for. But then I remembered that there are these cards, which I just showed you, which take HDMI inputs and convert it into a camera feed. So it will come in over the CSI port. Now for me, a Pi 5 having two of those, then my brain instantly went to like, okay, so I could have two HDMI connections. Daniel (17:19) Mm-hmm. David Gary Wood (17:36) They'll both appear as camera feeds. I can then put together some sort of basic video mixer around that, right? Bring in the new camera fade, bring it all into OpenGL or something. And then I can use shaders to do the blending. Daniel (17:48) Then you get teenage engineering to do the design and the user interface. David Gary Wood (17:53) ⁓ well, I've got in-house teenage engineering, right? I've got a 18 year old lad who's 3d printing, actual transforming transformers. so yeah, maybe. but the point will be if I can make this work, then I've got a very cheap HD video mixer relative to anything else that you can, can buy. And also a fun one because I can program it myself and do what I want to do with it. Daniel (18:15) Mm-hmm. David Gary Wood (18:18) And there's a whole lot of other stuff, right? I'll probably get a slider and then connect it up with what they call a T bar, which we can 3D print. And then it will be like a, know, a vision mix. A vision mixer tends to have a bar that you can crossfade with. So I can use it for that. Stick some buttons on to turn various effects or bits on. And hey, I've made a hardware video mixer, maybe. But there's a whole load of maybes in this because a configuring these things on the PI 5 is actually quite difficult because a few things have shifted and you've got to play around with actually configuring what they call Edids which is part of how the HDMI signal comes in and the handshake protocol that goes on. So I have to program the right things into the input cards. I don't know if that's going to vary with every input I put in and that could be a whole mess. I've then got to make it work with the video for Linux subsystem. There's a few bits of information out there. I'm sort of pulling it all together. So maybe that'll be today. They're on my desk and after this call, I've got some time where I can program. So maybe I'll be doing that. Daniel (19:30) So when's the Kickstarter coming out? David Gary Wood (19:33) no, no, no, no, no, So this is the thing, right? I've got so many of these ideas and projects, but such little time. And really I've kind of come to the conclusion that like these things are, they're my side projects, side projects, right? And I'm kind of using it for light relief between getting deep on the app and programming in Xcode and everything else. then doing these things that are not that, it's a bit of a change and then coming back. So I don't think it'll be a product yet. Yet, he says. Daniel (20:05) Well, that's maybe probably even better. You don't have to do this for money. You just have to try to it for yourself. No pressure, that kind of thing. David Gary Wood (20:08) Yeah. Yeah. No. And I think if I make it work and it's fun and you know the latency is usable and this and the other and it's actually what I would like it to be, then you know, if people find it interesting, then maybe I'll turn it into a thing, but like, it will not be too late. Yeah. So we'll see Daniel. Maybe next week I'll be like, hey, Daniel (20:30) By then it's too late. David Gary Wood (20:41) none of that worked. I've bought a load of stuff off Aliexpress for nothing. Yeah. Daniel (20:46) Yeah. Oh, speaking of AliExpress, I was nerd sniped by AliExpress because I was opening Instagram and then there was some ad that told me like, Hey, do you want to buy this really nice Apple watch band for just 50 bucks? And I'm like, you were just like getting that for three bucks from AliExpress and selling it to me for like more than 10 times the price. I'm going to find this on AliExpress. So yeah, I have this new watch band. David Gary Wood (20:49) Mm. Mm-hmm. You Daniel (21:15) It is kind of nice. It is gray on the inside and telemetry orange on the outside. And because I was ordering, I just got a few more, like I have this one, which just looks very similar, but this is like the other one is silicone, but I have one that is like made of cloth and it looks exactly like the Alpine band for the Apple Watch Ultra, but they don't sell that for the normal Apple Watch. So I just got it. And then I was like, yeah, whatever. Like I have three more bucks to spare. So I got a cloth one as well that looks... David Gary Wood (21:16) that's It's the laboratory deck orange. Nearly. Yeah. All that noise. Mm-hmm. He he he. Daniel (21:42) Kind of like it would go well with a suit. So yeah. so I, it did, yeah. I was kind of going for a lot of orange. So yeah, I got like three, like I've got actually four different bands for like 10 bucks. One of them was the wrong size for my watch. I know, like I think I ordered the correct one, but you know, so this one is also half orange, half black. David Gary Wood (21:47) Nice. And that had an orange trim on it as well, right? Daniel (22:07) I don't know what I do with it. I'm probably gonna try to find someone who has a smaller watch. Alex doesn't want it, but whatever. ⁓ Yeah, but yeah, I'm now an owner of way more bands for this new watch that I have that has a different size, so didn't have any bands for David Gary Wood (22:14) Fair enough. Maybe you can distribute amongst your minions. Nice, nice. Hey, you've just given me an idea. If you and your telemetry deck folks are going to any conferences or anything, you should make sure if they've got Apple watches that they also have the brand kind of on the go. Daniel (22:45) Yeah, yeah, I think about this next time. David Gary Wood (22:49) Yeah, that was cool. So I have other things that we noted things and I'm wondering where you want to go because I saw DevOps is eating my life. Daniel (22:53) Yeah, speaking of... I'm kind of free associating. DevOps is sitting with like, that was what it was opening with. you know, like I just wanted to do a thing, a thing that is a feature and now I'm like moving server again, servers again. But yeah, speaking of conferences, that is something that I would really like your help with, which is there's a conference in October in London called Server-Side Swift. No wait, what's it called? Server-Side Swift. yeah, like Server-Side Swift. That's what it's called. David Gary Wood (23:06) Yeah, yeah, okay. Mm-hmm. Okay, cool, yep. Daniel (23:26) So it's about Swift on the server, you may feel. And I've been to so many conferences that are not for me in the last few years. I've been to conferences for startup founders, but those are mostly about money. And getting cheap labor out of tech people. I've been to conferences about iOS development, but these days I'm not really developing for iOS anymore. And so... David Gary Wood (23:37) Yeah. Fair, Daniel (23:48) I kind David Gary Wood (23:48) yep. Daniel (23:49) of really want to go to a conference that is kind of my people. And so I was kind of like saying that on Mastodon and someone was like, Hey, but you do not like, I was kind of regretting that there's no such conference. And then someone was like, Hey, you do know there's server-side SwiftConf. And I did not. And so they are taking part in October and they have an open call for papers. I'm like, hmm. David Gary Wood (23:52) Your vibe, yep. Hmm. Okay. You should do it, man. Daniel (24:13) So I should totally hand in a talk. ⁓ And the question is, what am I talking about? I could talk about just, here's basically all the challenges and hurdles that we had or have. And here's how I'm solving it. Here's how the telemetry project is structured. Here's how I do code reuse. Here's how I do async, await. Here's how I do like. David Gary Wood (24:16) Yeah. Mm-hmm. Daniel (24:38) like different threads for like different workers stuff or whatever. I could do that. Or I could do ecosystem. ⁓ because right now that is, think one of the major downsides of the way vapor ecosystem. It's, it's like basically like, if you want to do send email, you gotta have mail gun or you're not, or you don't have an SDK. If you want to do caching, you have, can either do like redis or. David Gary Wood (24:41) Yeah, you could. Mm-hmm. Daniel (25:06) Nothing. There's no memcached support for Vapor, that kind of thing. So the ecosystem is very slim still. just to give an overview what is there so that people can actually at least use the existing ecosystem and maybe also point out areas where third party open source opportunities would be really nice. David Gary Wood (25:08) Mm-hmm. Okay. Yep. Mm-hmm. Okay, cool. Daniel (25:31) That's my second idea. David Gary Wood (25:34) I have, I have one that I think may be related to what you said first, but, I think that it's really interesting in terms of how you've actually got the server set up working now with Kubernetes and that side of things. And like, I think a view of like how the stack is working there and how you're so able to link everything together for telemetry across multiple nodes and Daniel (25:45) Mm-hmm. David Gary Wood (26:01) how you've been able to migrate between different providers. It's sort of adjacent to Swift itself, but like the, I guess the process is interesting to me because I suspect that's like a scale and an aspect of server-side Swift that is clearly the next level up from just making something that works and putting it on our box, you know? So I think there could be something there because you've actually put a lot of effort into that in terms of making it quite easy for you to do relatively with everything you've got set up. So that could be an angle as well, because I think you're touching areas that are not fully typical. Daniel (26:40) So basically the scaling part is what you're saying. okay, you have a thing now, now how do you scale it up? Like technically. David Gary Wood (26:44) Yeah. Yeah. Yeah. Yeah. Daniel (26:50) Yeah, that might be interesting. That's cool. David Gary Wood (26:52) Yeah. Daniel (26:54) I am writing that into one of the many to-do lists that I have. David Gary Wood (26:59) Yeah. Because I think also the ecosystem and that side of stuff and things, think quite a few people there will be quite acutely aware of some of those things. So I think with any of this, having, having a bit of a positive spin of like, well, okay, where can we take this? could be quite good because yeah, you know, like it's, it's very easy to point out the Daniel (27:16) Mm-hmm. David Gary Wood (27:25) issues. But yeah. And then did you have anything else Daniel like in terms of ideas and things? Daniel (27:34) yeah, but I don't think I'd want to do that basically like how to do code sharing between a vapor app and a iOS app. Cause that's kind of what I did at the beginning, right? And of course, so I have lots of strategies, but at the same time, like I'm not doing it right now. I'm not really interested in it. Like, but I think it would be like, that would be the most crowd pleasing, not even to the people on the conference, but like, if I get that on YouTube somehow, like that will probably get the most clicks. David Gary Wood (27:42) Okay. Yeah. Yeah, fair play. Mm-hmm. Daniel (28:02) And so that's what I was thinking like, should I think tactically? I'm thinking so much tactically these days. I just want to do something fun. David Gary Wood (28:03) Yeah. I was going to say, you said this was something for you rather than just being all about the business and yeah, do something that's fun, mate. I think that that is really important and it'll be a better presentation anyway, because that will then come through from you. Like anything that you're really enthusiastic about that, that'll be a good talk. Daniel (28:36) Exactly. And then I also need a gimmick again because all my talks had a gimmick. I have no clue about what the gimmick is going to be. David Gary Wood (28:37) Yeah. Yeah, definitely. ⁓ When you're closer to a talk, we can brainstorm that one together again if you like, but maybe not on the show because you might want to keep the gimmick a surprise. Yeah. Daniel (28:55) Yeah, no, the gimmick has to be kinda as a prize. David Gary Wood (28:58) Yeah. Yeah. But I won't be able to be there. So, you know, maybe I'm a safe confident for the surprise. Although, you know, like I'd almost kind of like to be even though it's not my area, but I do find it interesting. So I think if there's an online track or if there's anything recorded, I'll definitely be interested in taking a look. I'm kind of moving out of Swift in some ways with the Kotlin multiplatform stuff and the things I'm looking at there. That's the whole of the story and we can we've talked about it on the show, but I'm in a different I'm in a place where I've accepted that's going to be a longer learning curve than I would like, which means I still need to push features in my apps and the Swift code base for now. That's fine. It's on a long track. Daniel (29:27) Hmm. David Gary Wood (29:50) But I still find Swift enjoyable to program and is the other thing. yeah, and it does interest me. I do love the fact that you've used it to build your entire stack pretty much. It's awesome. Yeah. Well, yeah. ⁓ Daniel (30:08) Fantastic. Yeah. So I have a few ideas. You haven't really shot down any of them. David Gary Wood (30:14) I've not because I think you were kind of in the right area. Like think about the things that you've done with telemetry deck and then think about the things that might be unusual. I think is probably the steer I'd give you. That's why I was calling out the scaling because yeah. And I think a lot of people with server-side Swift, it sort of becomes like I needed an API for my app. So I stood up a basic endpoint that does some crud stuff and Daniel (30:27) Yeah, that's a good point. David Gary Wood (30:41) now you know that's it you know whereas like clustering caching all of that it's quite it's quite next level so if you do it i'm definitely gonna enjoy seeing it if i can Daniel (30:47) Yeah. They do have videos. They do have videos. I do not know if they will live stream. David Gary Wood (31:04) Okay. Daniel (31:06) But yeah, like there's a few steps in between. I have to build a proposal, they have to accept it, and then I actually have to build a talk. So I'll keep you posted. David Gary Wood (31:12) Mm-hmm. Well, I look forward to it anyway. I think if you don't do this by the time you've put forward a proposal and have an idea of a talk, could still be, if you don't do it, could still be worth you actually recording something for YouTube or something like that. Daniel (31:30) Yeah, yeah. Totally. I also, I kind of thought about like, live in a very, like I live in Germany, second largest city now. I should probably like go to some meetups. Like I don't want to be among people all the time, but at the same time, like there's probably like a swift meetup in this city. David Gary Wood (31:42) Mm-hmm. There's probably a cocoa heads or something, right? So yeah. ⁓ Daniel (31:50) Yeah. I actually saw a Cocoa Heads thing on meetup.com the other day. So if I find some time in my endless to-do list, or even if I don't, I should carve out some time. should probably go to one of those. David Gary Wood (32:00) Mm-hmm Well, I have a strong suspicion you may not be the only server-side Swift person in the village, as it were, where you're living now. So that could be quite cool. Daniel (32:18) I'm the only server-side-swift person in the village. David Gary Wood (32:21) Yep. Daniel (32:22) Yeah, probably not. David Gary Wood (32:24) Probably not. And hey, if anybody is listening to this, who is not that far from Daniel in Germany in Hamburg, and you are a server-side Swift person and you haven't reached out to him, stop lurking, let him know you're around. That could be quite fun. Daniel (32:38) Sure, just hit me up on Macedon or my contact details are all over telemetrydeck.com David Gary Wood (32:45) Exactly. Daniel (32:46) which yeah, he's running on the server side, Swift slash vapor. Yeah. Speaking of, yeah, this is not like, there's no plan. I have like, my brain is making these jumps and one of the jumps is making right now is like, know how like I'm a patron for this formula one podcast and they kind of read out telemetry.com as one of the sponsors every, every time they record. David Gary Wood (32:52) Yep. Mm-hmm. Daniel (33:08) And like it's kind of an in-joke among the Patreons to sometimes rename their names so that they have to read out something else. And now, like the Formula One world is beginning to talk about F1, the movie, or as they call it, F1 colon, the movie. David Gary Wood (33:24) Wow. Ha ha ha! Daniel (33:29) So I kind of renamed myself to telemetrydick, colon the movie on Patreon yesterday. Let's see if they pick it up for the next episode. David Gary Wood (33:35) Ha ha ha ha. Brilliant. Daniel (33:37) could also do this telemetry call on com, but I don't think the joke works. David Gary Wood (33:43) No, no, think telemetry deck the movie works there. Daniel (33:46) or I spelled out colon. David Gary Wood (33:49) right yeah okay now I get it that's great. Daniel (33:49) Yeah. David Gary Wood (33:52) I kind of want to tell you about a little app that I've been building. It's a bit of a topic shift. Is that okay? we? Daniel (33:54) Mm-hmm. Does it have your Lego brick approach? David Gary Wood (34:02) It does. I'm doing a call back to the start of the show, Daniel. So I kind of buried the lead on it. Yeah. So, hmm. Picture the scene. I'm scrolling into Instagram and a friend of mine in New York posts up in a group chat that we've got with a whole bunch of visual artists, most of them based around New York. Actually, it's his group. And he was like, Daniel (34:05) Yeah, you are nice. What's it about? Mm-hmm. David Gary Wood (34:28) I need an app that sends a video feed when I press start on playing the video feed. It also needs to trigger a MIDI signal to start my synthesizer as he's got one of these Groovebox devices. I've got one behind me. Daniel (34:45) And he's gone. I think he's still talking, but he's not talking to the microphone. So we will just like, he's like, there it is. David Gary Wood (34:50) Damn it. It's very, very directional. Yeah, sorry about it. I've got one of these on behind me. I'm putting it on camera. So. Daniel (34:57) ⁓ it's a mini device with like, I don't know, 12 or so buttons, lots of sliders, that kind of thing. David Gary Wood (35:03) Yeah, it's a Roland Groovebox MC-101. It has lots of sliders and dials and things, but you cue up music on it, you cue up MIDI tracks and loops and things, and then you can perform them live and they loop and it's all synced. So it's actually a really fun little thing and he makes shows with that. So the point is he's got an audio visual thing and he wants an app that sends the visual. Daniel (35:27) Mm-hmm. David Gary Wood (35:31) and starts the sequence for the track for the song in sync. he was like, do I know anybody who can build this? I've got $250. Not a lot, I know, but there's a community, right? there's that. I messaged him and I'm like, dude, I don't want your money. But if I make an app and it's actually useful, I will put it in the store as well. And then that's how I get get whatever out of it, but really we'll see it might only be useful for this one thing. And so, yeah, I've used my Lego blocks to put this thing together. I had the basic app working in like an hour and a half because I was able to just land go VJ's core in in for the video side and wire it straight up. So and then I made a very quick like file loading screen that loads the videos that you've got in stored in the documents directory. So that's the method of loading stuff in. You use files or you export from the camera roll and it's there. So really hacky and basic. But you load a loop up or a video up and it then has it. It will play it. video out goes out. had all that working really quickly because again, I've modularized this thing and so it was literally just import the library, put the video display in the right part of the SwiftUI view and then wire the buttons up to send the video URL into the stack. So that was there. And then of course, there's all the bits I don't have and that's been the longest track of of all of this. I had to bring in some MIDI stuff to do the start and stop signals. And yeah, then we had it basically working. hmm, can you guess what the longest track was of this? Daniel (37:24) And guess what the longest track was? ⁓ David Gary Wood (37:26) Yeah, what the longest thing to build. Daniel (37:29) user interface, it's always user interface for me. David Gary Wood (37:33) Yeah, the UI's had a bit of time to just make it nice, but we are going quite basic so that wasn't too bad. It was actually finding out a few things that I kind of knew about, but this made it really prominent. So it has to play a video and also start the music, which it starts with a MIDI start sound signal. And they have to be in sync. Daniel (37:55) huh. Hahaha! Yeah, syncing video to audio is just a solved problem, David Gary Wood (38:04) Yeah. So bear in mind that the video has been made with audio in and he's already synced it in terms of the original copy of the But then it's a live mix production. So that's why we're doing this right. So it can then be messed around with and done on the fly. The Daniel (38:22) Mm-hmm. I do remember there was some sort of thing where I like pre-buffer a video, but you had to do it and then also like set it to pause at the same time or something like that. Too far, too far gone. David Gary Wood (38:28) Mm-hmm. Yeah, yeah, you can do a bit of that. Daniel (38:36) Mm-hmm. that's awesome. Like I love it when, when people like use the thing that I'm building. David Gary Wood (38:38) Yeah. Daniel (38:41) New York. The city that never sleeps. wait, wasn't it? Or was it Vegas? don't know. Two cities even sleep. Like cities don't sleep. David Gary Wood (38:43) No. No, it's nothing. Daniel (38:49) Right. Awesome. Yeah. Do share some screenshots or something or like information about like if they they're using it. David Gary Wood (38:57) out, there'll be a link. Daniel (38:57) or just send it to me. I'll post it and then we can link it in the show notes. would totally take that challenge. Yeah. Turns out, turns out I am now, now that I'm not meeting Lisa every day, like I am suddenly, I've suddenly lost my, my, like my fear of being cringe on the internet and video content. And like, I've like, every time we meet, we make like weird, cringy internet videos for all the platforms. And it's just like super fun. But now of course we're on opposite side of the, of the country. So I don't know. David Gary Wood (39:09) Mm-hmm. Mm-hmm. Yeah. bouncing Daniel (39:27) Probably. Probably, yeah, just like write a script and then just take it. Right. But for my bitty bedtime now. But a tiny thing before we go. Do you want to talk about like timing of this episode? David Gary Wood (39:39) Mm hmm. Daniel (39:40) I don't know. I am. It's hard. Like, yes, but even if I was like the last few days were the last few years were all about like, Apple intelligence and Siri and stuff. and there just hasn't been any progress really being made. Like, like we were promised lots of like, yeah, like this is like interrupt interoperability and like, yeah. David Gary Wood (39:42) It's hard because you're not in the iOS dev Mm-hmm. Daniel (40:04) like Siri will now be able to access app intents. And then like that didn't really surface, but at the same time, the AI world kind of standardized around the MCP protocol, like that allows AI students to interact with apps. so, like we can talk about that at some point in the future, because that's something I've been looking at a bit. and so I don't know, maybe, maybe that's the delay because Apple was like, wait, everyone else is using the standard. Maybe we should use this standard too. I don't really know, but nothing really has been coming out except rumors of a new UI. So I'm all for new UI. Sebastian DeWitt has made this really cool blog post about what it could look like. I'm going to link it in the show notes later. But apart from that, it could be just a runaway success where they're like, David Gary Wood (40:36) Yeah. Daniel (40:50) All right, Siri just works now. Here's all the cool intelligent stuff that we promised you for two years. It's finally there now. We just waited until they stepped up to actually sell it to you. Or it might be another year of vaporware. Or it might be something in between where they're like, yeah, Siri is cool now, but also it doesn't work if you're in Europe or whatever. And then I'm also like... David Gary Wood (41:00) to Daniel (41:13) I mean, yeah. David Gary Wood (41:15) actually using. Daniel (41:15) Yeah, I was talking to a friend the other day and she was like, you know, 10 years ago when Apple, like when every time, like before the WWDC keynote, like Apple stock would go way down. And then during the keynotes would look drop even more. And all of us were always like, yeah, we should probably buy Apple stock at exactly this point. and we never had the money to do so. And I mean, like I'm not rich or anything, but like, was like, I could probably buy one or two. David Gary Wood (41:27) Mm-hmm. Yeah. Daniel (41:40) shares. We were talking about this and I'm like, I do not trust that the stock price will rise definitely after this. I wouldn't want to bet a few hundred bucks on, oh yeah, this is going to go up. David Gary Wood (41:53) No. Daniel (41:58) So that has very much changed. That is part of my relationship with Apple that has very much changed. But I mean, it's also okay. It's just a company. Let's see what they bring. I would be all for a new UI because, I don't know, new UIs are fun. I love how Apple has, historically has really good UI designers and they have very thoughtful UI where like... David Gary Wood (42:13) Bye. Daniel (42:20) They have like, they're building our system where things just have like intrinsic meaning. And like, look at the blog post by Sebastian Dewitt that I linked in the show notes. Like it kind of talks about this a lot as well. And so I'm, I'd be happy to do, to look at this and also like the trends that they set will usually like radiate out into the big industry. So you could just build something similar with KMP or on web apps or whatever. so yeah, that'd be kind of cool. Also, like there's a rumor that they're standardizing the version numbers to just the year number, which would be pretty cool. So we'd be seeing iOS 26. I had a look at the telemetry dataset and that has a few instances of iOS 19, it has none of our 26. So if they do that, it seems like it's a marketing version thing right now. Like that versions that are out there, like in code, they tell David Gary Wood (42:51) Yeah. I'd like, yeah, I mean, I'm down with it. Hehehe. It's going to be a Okay. Yeah. Daniel (43:11) themselves their iOS 19, which I probably would do the same. David Gary Wood (43:13) I'm so make a lot more sense. Daniel (43:15) Especially with like, ever, ever, especially MechaOS, like ever since MechaOS has been named by like places in California that I don't know. Like, you know, when you, when you like run out as in, I don't know, like I haven't like recognized a place name in California for like five years. like the names of the MechaOS versions have to be gibberish to me. David Gary Wood (43:21) Yeah, and we're going to run out of those, right? So really use, you know. Yeah, Daniel (43:38) Right. Or they should just like use famous, famous like cities and places in other, in other countries as well. Like, know, like Macro is Wellington. David Gary Wood (43:46) better. That could be fun. Yeah. Daniel (43:46) Aww, that would be nice. Mecos Barcelona. Mac OS Leinfelden echter Dingen It's a small town somewhere. Alright. I will. Thank you everyone for listening. That was a really fun show to record. Please rate us on iTunes and YouTube. Send us emails at contact at waitingforreview.com. Also join our Discord. The link is in the show notes. And also you need a new chore before we tell you where to follow us because you need to do your chores. And I'm going to have a tricky one for you. Put those dishes into the dishwasher. David Gary Wood (44:07) Mm-hmm. Oof. Daniel (44:19) That's your chore why you are like when your podcast player is like skipping on to the next episode or whatever you're listening to. You know, just like deal with the dishwasher. All right. Dave, where can people find you? David Gary Wood (44:29) Excellent. Daniel (44:31) All right, please always talk to me on Macedon because that's just my favorite platform. I'm on the others as well, I just feel most at home on Macedon. So yeah, I'm Daniel at social.telemetrydeck.com there. You can also talk to me on Blue Sky, but I so wanna change my name there and I always forget how to spell my existing name. So you're just gonna have to find me there. All right. David Gary Wood (44:51) We'll just link it. Yeah. Cool. Daniel (44:55) This has been fantastic. See you next week or see you after dub dub. Bye.