Daniel (00:06) Dave! It's nice to see you again. I kind of blew you off at least once because I'm not in control of my calendar. But we found a recording slot. So nice to see you. David Gary Wood (00:07) Hello? Daniel? And you? We did indeed. And you too, man. Yeah, it's going, stuff's good. Yeah, yeah, I'm trying to think. There's quite a bit that I can probably catch you up about here or there with what I've been doing app-wise, for sure. Yeah. But. Daniel (00:23) How's it going? Nice. David Gary Wood (00:44) Calendar's not withstanding Daniel, how are you doing? Daniel (00:47) I met a cat the other day. I was on the way to choir practice, which is fun by the way, but not my fun thing today. And there was this black and white cat and he or she came up to me and was like, you're going to pet me, right? And I saw I petted them and it was very nice. David Gary Wood (01:02) Awesome. When a cat demands you fuss them, you are obliged to do so. Daniel (01:03) Yeah. I am indeed. so that was really nice. Should we? I should do the, what podcast is this? What podcast is this? I think it's the podcast called Waiting for a View, 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, a druid, and I'm here with Dave, a rogue and or warlock. Join us. We're waiting for a view. David Gary Wood (01:36) And or Warlock. Yeah, thank you. That's a nice addition. Possibly, possibly. I think I would have traditionally gone in for being a druid in anything that let me choose those options. But. Daniel (01:39) I think you're dual-classing or something. Probably, probably. Like I was gonna, I was gonna call myself a druid wrangler. And then was like, what am I gonna call Dave? And then because like I'm doing so much stuff with Apache Druid these days. I'm gonna tell you about it later. But, so what was, what am I gonna call, call Dave? And then I was, ah, I'm just gonna call myself a druid. And then I can, you can call you another D and D class. David Gary Wood (02:00) Mm-hmm. Yeah, no, I'll take it. I'll take it. Rogue slash Warlock. That's yeah. Hi. Do you know, I know so little about DND that I couldn't even really tell you what a rogue exactly does. Daniel (02:19) Roguish, roguish too. The is, I had a phase in my life where I played so many tabletop role-playing games, like in a standing group. But we always played The Black Eye, which is a German RPG system that is very similar to D &D, but kind of different. Or we played GURPS, which is also another system. so I think I must have hundreds of hours of David Gary Wood (02:46) Mm-hmm. Daniel (02:53) tabletop RPG experience, but like almost like maybe three hours D &D or something. BorderScape not counting. David Gary Wood (03:00) no, I should know more about it. Like my eldest son was into it for ages and he was a, what's the Dungeon Master and everything. So yeah, but they never managed to suck me into it. So here I am clueless about these things. Daniel (03:13) bummer. really wanted to... I actually, whenever I meet Lisa's kids, they are, like, they tell me, they need to have more adventure. And like, they're so into fantasy, but like, somehow, they want to play fantasy themselves. I'm like, I'm going to give gift these kids the starter set for the Black Eye for Christmas. And so I ordered it from a... David Gary Wood (03:33) Mm-hmm. Daniel (03:37) book retailer that is not Amazon and like, they had the option of gift wrapping and everything. And it was, said, this was said to be arriving like December 15th or stuff like that. So like very manageable. The package still has not arrived on the website. is listed as preparing for departure or whatever. David Gary Wood (03:55) Hmm, that's not on. Daniel (03:55) So every now and then, I kind of remember that. And I'm thinking, I should probably call them, cancel the order, or order somewhere else or something. I'm just like. David Gary Wood (04:00) That's... that's really bad. Sounds like you should be delivering them the black eye. For that. Daniel (04:08) I should indeed. David Gary Wood (04:08) I don't advocate violence. That's okay. Right. Daniel (04:13) Yeah. Anyway, we have sections now and the first section is good thing of the week. So Dave, tell me a good thing. Good thing of the week. Good thing of the week. David Gary Wood (04:21) Good thing of the week, good thing of the week. I have one good thing masquerading. No, two good things masquerading is one good thing. So to title it as one good thing, films. Films have been brilliant lately, but of course there's a plural there. So two films in particular I have really enjoyed lately. So Predator Badlands. I watched that last week. Really enjoyed that. Daniel (04:43) You David Gary Wood (04:55) So yeah, I don't know that's that's if you like those sort of films, I think it's a pretty good addition to the whole thing and I know that there are some people who are like it turned it disneyfied it's not really a predator film and I don't care about their opinions I really enjoyed it so yeah yeah yeah it's like the latest in the predator franchise yeah Daniel (05:14) Fantastic. that new? Like I'm kind of out of the loop. I see. David Gary Wood (05:21) But it's kind of fun and you've got a predator who's kind of the runt of his family and it goes from there. And not really any humans in the film, which is fun. And that's about as close to spoilers as I'm gonna get. Daniel (05:38) So what is the predator hunting, if anything? David Gary Wood (05:43) a big monster, a big monster so he can prove his honor to his family. And again, I'm going to steer clear of spoilers. But yeah, and the other film was the latest installment of the 28 years saga. So 28 days, if you remember the zombie film from like, way back. Daniel (05:44) Hunting for love. Nice. Right, right. I've watched the first few, but I'm still on the weeks. I watched the weeks one, but not the years one, I think. David Gary Wood (06:14) Yeah, and I'm not even sure if our class weeks is existing in the whole thing. Like it's sort of. Yeah, that's where I get a purist on these things, right? Is it in the official canon? No. So, yeah, 28 years later came out last year and they filmed two films back to back. And 28 years later, the first one was, yeah, original. Daniel (06:19) Hahaha David Gary Wood (06:40) director and I think the original writer, it's like sort of heralded the like team coming back together at least, or at least the director. Again, I'm not the film buff in the family, so I may be wrong here. I just enjoy watching the things I like, but yeah. And the second one came out in the cinema. I went to go and see that a couple of weeks back. Daniel (07:02) There's two 28 years later movies. That makes a lot of sense because I was confused because I was like, didn't that come out last year? David Gary Wood (07:05) That's right. Yeah, yeah. And that's also why they're so close together as well, because they film them back to back and, you know, like, as one was released, the other was just coming out of post or whatever. But yeah, the second one, really lots of fun, very different vibe to the first one. And obviously violent as all hell in the middle of it. But yeah, a lot of fun. So if you like. Daniel (07:36) Awesome. David Gary Wood (07:37) zombie films or things with a bit of a violent nature but also with a bit of humor in there this one actually. Yeah, worth a watch. Daniel (07:48) Awesome. Yeah, I might actually have a watch. I watch this YouTube channel, Every Now and Then, which is like VFX artists explain or something like that, where they explain VFX shots. And they had 28 years later, and there appears to be a village, and that village is kind of connected to the mainland. David Gary Wood (07:48) That's my good things. Hmm? Daniel (08:11) via a very small road that kind of gets flooded when there's, or like that is like covered by the sea when the tide's in, right? And so they had like a lot of like explanation of like, how would you do such as these shots? Like, how would you film that? Can you film everything on location, whatever? And that was kind of interesting. So I might have a watch just for that. David Gary Wood (08:15) when the tides in. Yeah. Yeah. They filmed an awful lot of that with things like drones and they used iPhones in some of the filming. So there's the point in the first one, the one that came out last year, they had this rig with multiple iPhones. I think it was set up in such a way where somebody could wear it and then they used the multiple iPhone, it would be the iPhone Pro, used that to then get these various different shots with all of the footage at slightly different angles and things so they could cut between it. Yeah. Daniel (09:04) gonna call. So basically what you're saying is that this podcast is shot on the same equipment that major movies are being shot on, which is cool. David Gary Wood (09:14) Mm-hmm. Yeah, so, no, if you like anything like that, definitely, definitely check the first one and the second one out. I feel like you need to watch them together, although they are very different films. Daniel (09:32) Yeah, I should get back into movies. Like I used to be such a movie buff or at least like hobby movie watcher. But like these days, I don't know. Like I feel like I have like so many things to watch. So a little time that I usually decide on YouTube or TV shows, but I am actually going to plan on watching the project Hail Mary movie when it comes out because I really enjoyed the book. so yeah, anyway, my good thing. David Gary Wood (09:54) Yeah, me too. Yeah. I'll be, I'll be taking, go for it. Yep. You're good thing. Sorry. Daniel (10:00) Sorry, my good thing is a very niche thing, which is the Cosmere Deep Dive podcast. So as you may know, like for the last hundred years or so, for the last eight months at least, like maybe even longer, I've been on this streak of reading books by Brandon Sanderson. And like this guy has written so many and they are all kind of interconnected in a universe that is called the Cosmere. And so I found this podcast, which discusses all these books. And what is, what is awesome about this specific podcast is that a, they have a fantastic cast. Like all the people who are in this podcast have very distinctive voices and personalities, which just makes it way more fun to listen to. and also they, like, they have like different, like different things that they enjoy about the books. And the other thing is they have a really cool premise, is like one of the four people on the podcast has actually not read the books yet. And so this guy who's actually also called Dave, by the way. So this guy reads all the books in publication order. He reads about like, I don't know, 50 pages a week. And then they record another podcast and he tells about like what he has read and they discuss it and everything. And then they kind of throw him off the podcast and discuss. everything else, like with the whole, the spoiler, the spoiler part, like with all the knowledge and they're like, he's already caught onto this thing, which is foreshadowing a thing that happens like way later or something like that. And because I currently enjoy these books a lot, it's also really enjoyable to then later, once I finished, like I'm, I'm, I want to say I'm like four or five books ahead of my current play position in the podcast, because of course I started. David Gary Wood (11:14) spoilers. Daniel (11:39) at beginning. And so it is a really nice recap. And also I'm far enough ahead that even in the spoiler section, they're not spoiling me because they are kind of ruthless. Like they're saying, okay, the spoiler section is for the people who have read basically everything. But like, just because like these episodes have come out in 2022, maybe like, or even earlier, like they are as far as I am. David Gary Wood (11:41) Mm-hmm. Yeah, yeah, so there'll come a point where you have to keep it in cadence with where you're reading otherwise. Yeah. Daniel (12:12) I did that the other day, like there was a short story they were talking about, which I'm like, I haven't read that. So I can have paused. didn't listen to the, I stopped listening to the podcast until I had read the short story. David Gary Wood (12:24) I tell you what though, I'm going to call him other Dave on that podcast. I kind of feel for like, do you think if that was you on a podcast in that way, do you think you'd be tempted to tune on to the half that you're not allowed to be in? Daniel (12:40) yeah, I could not do that. I could very much not do that. apparently like they have a thing they call, they say like whenever he asks a question that will be answered later, but like, I can't tell him yet. They tell him to RAFO, which is R-A-F-O, read and find out. And I would be so annoyed at that. David Gary Wood (12:42) Yeah. Ha ha. And how does he stop himself getting spoiled by the community like that that you've almost got to be like No profile anywhere else Daniel (12:57) I would be, I couldn't. I mean, you kind of have to seek it out, right? There's reddits and whatever. I don't think, I don't know. I don't think the community is structured in a way that people will go out of their way to spoil him. David Gary Wood (13:08) Hmm. Yeah. Yeah. Okay. That makes sense. But I mean, Daniel (13:19) Like I don't like, I'm not in that community really like online. So, but I don't think that these, like these readers of these books are like actually malicious towards these people. David Gary Wood (13:23) Yeah. No, no, okay. That makes sense. But I'd be like, you know, does this, is this somebody who's going to be in like social media and communicado for as long as he's reading these books? Daniel (13:44) Probably not. They have Twitch and everything and a Discord or whatever. That's what they're talking about. There was like, I posted this into the... I drew a picture of how I view this and I posted it into the Discord. I was like, come on, my friend, it into the show notes. I'm not going to open the Discord app. I haven't done that in 20 years. Which I probably should. David Gary Wood (13:48) Mm. You probably should, although they're probably going to ask you for your face. So there's always that fear with this good. Yeah. Yeah. And we have a discord, but there is a indie dev discord channel that is attached to this podcast in as much as we will encourage people to join it. Yeah. However, there's something that I do need to think about is whether I want to keep that there or, or discuss moving it's home because Daniel (14:13) Yeah, upload your passport so that Peter Thiel has your passport data. Yes, which is very cool and very recommended. David Gary Wood (14:39) I'm not really feeling it with Discord these days and things like the... Daniel (14:41) You could just leave it as, I mean, like the whole situation is like changing, right? So I think like Discord is actually like kind of stepping back a little bit or backpedaling even. David Gary Wood (14:44) Yeah. Hmm. Okay, that's good. Daniel (14:53) And also like from what I've read, which is not a lot, so correct me if I'm wrong, but from what I've read, it's also like that you, like if you don't do the edge verification, you will just like be in the, the, your minor mode, which is you can't join channels and servers that are marked as explicit or NIST FW or whatever. So. David Gary Wood (15:14) which really might not affect the one that we link from here. The Indie Dev one at all. because yeah, honestly like there's this probably I'm probably worrying about it too much, but yeah, I did see all the for all with discord and I was a little bit like, might be not the time to look for something else. Daniel (15:17) Yeah. Yeah, like the whole. The whole age verification thing is just ludicrous because it's such a weird combination of like right-wing politicians trying to like just do a law and order thing that will not really have any of the intended effects. like tech, tech oligopolicy, tech billionaires trying to, to grab as much like personal data and identification data as possible. David Gary Wood (15:49) No. Careful. Daniel (15:59) Like, David Gary Wood (15:59) Yeah, no need. Don't need it. But moving on, because we do have regular sections on, I keep us within the regular sections because, and I'm looking down our regular sections and we've got chores and homework, Daniel. You sent me chores and I think I say you chores. Where are we with this? Daniel (16:06) We do have regular sections. Yes. Yes. rights. So my chore was to call my health insurance to first them to assign me a proper physician in Hamburg. I am sad to say I have not called my health insurance, but I actually have a proper physician now because I finally got an appointment through the regular system. David Gary Wood (16:37) That's cool. Daniel (16:41) so that is done, even though I couldn't bring myself to have like a long and uncertain phone call, which is kind of a shame on me. David Gary Wood (16:40) Mm-hmm. Well, you know what? I still think that that qualifies as like the major reason for the chore being done, right? The major reason was to have somebody local that you can go and see as a physician. And that's, that's now happened, right? No, that's, that's there. Yeah. So, no, good on you, Daniel. I will actually, two thumbs up for that one. Daniel (17:04) Yes. Look at me. How about you? David Gary Wood (17:13) How about me? Well, mine was that you sent me the assignment to make sure I'm posting videos to social media again for my apps and things that I do with video. And I had three videos with a driving beat. Now I need to check back my feeds. Did I? Yes. Daniel (17:28) And you very much delivered because I've seen at least three, if not four. So I am very proud of you. These are awesome because they have good music, which is very important in my opinion for short videos. And they are not like highly polished or anything. They're just like, here's what I'm doing. Like this is cool. And they're awesome. They're exactly what I envisioned. And I would like to continue. encourage you to continue on that vein. David Gary Wood (17:54) Thank you. will definitely do so. honestly, I think probably one of the things you can best set me as a chore for my own self here is a bit of a lazy one, but it is the same chore again. Cause it's clearly helped keep me on target. So, but. Daniel (18:12) Yeah Alright. David Gary Wood (18:19) You know, we might be able to up the ante a little somewhere within that. So, yeah. How do we have the answer on that? had three videos with a driving beat and obviously I've had a bit of leeway on that in the, it's been slightly longer since we last called up. So that made it easier to achieve that. Yeah. Daniel (18:37) I know how to change this. Specifically, I'm asking you to use a trending sound. David Gary Wood (18:41) Mm-hmm. Okay. Daniel (18:45) So depending on the platform, if it's Instagram or TikTok or whatever, you will have to the option to add a sound and or music, right? And pick one from the trending now section. David Gary Wood (18:57) Ooh, that's always painful. Now then. Daniel (19:00) I mean, usually there's like, like for me at least, there's at least one really catchy song in there that is actually kind of cool. Like I've actually discovered music through TikTok, which... David Gary Wood (19:06) Mm-hmm. I tell a lie. did use a trending one, a little while ago. I think one of the ones I've posted recently is like since we last spoke, has used a trending one. So I think I can go for that. think I can make that work. although I have managed to lose the ability to post, with, how can I put it? I am reduced to using Instagram's catalog. of audio because it's flagged me as a business account, which is true. And I accept that. That's fine. But then there's a whole load of stuff I can't post with. Daniel (19:39) yeah, have the same on the main telemetry deck account. Well, yeah, if you can't do the trending sound then. All right. Let's see. David Gary Wood (19:44) Yeah, yeah, but TikTok is otherwise. let's see. Yeah, TikTok should be good. So yeah, I don't feel like I'm big enough on this stuff yet to really be copping for that, but nevermind. Daniel (19:57) Well, yeah, let's, let's do it above board and everything. yeah, for me, I like, I forgot, like I did a thing that is writing documents, but I can tell you about this later actually, because there's just a thing I did that was a chore that I had all week, but you know what my next charge should be? My next charge should be, getting back on the bike, at least on the indoor bike or something, because I have been sick for a while or I was sick for a while. David Gary Wood (20:01) Yeah, yeah. But I'll do it. Mm-hmm. Okay. Daniel (20:26) Then I was, I was visited or like I weekly we had, we had visitors, my mother-in-law was visiting. And so I should really like, because I haven't been on a bike for. David Gary Wood (20:31) Yep. Daniel (20:37) 10 days, 12 days, and that is totally not okay. I have a tentative time slot now to cross the Alps on the first week of September. the urgency is there. I have some, my whole, my muscles are there and everything. I just like. David Gary Wood (20:39) Okay, so it's been a while. Now's a good time to start. Yeah. Daniel (21:01) need to be sure not to let them atrophy atrophy, know, and like get them up. yeah, that's my, that's my draw until, until the next time we record. Get back into the. David Gary Wood (21:04) Okay. Cool. And we're not going to make a distinction as to whether that's an indoor bike or an outdoor bike, right? Yeah. Daniel (21:14) Yeah, because like the, like, depends on the weather. Like I would love to go outside again, but like, right. I'm not biking in the snow and ice. Like that's just totally not my thing. I'm lying. Like I have biked in the, in the snow and ice in the past, specifically on the country side, when there's like really nice, deep powdery snow, it is incredibly exhausting, but in a fantastic fun way. And it's really fun. David Gary Wood (21:23) Ha ha. Daniel (21:40) But like here in the city right now, if like the sidewalks and the roads are just like covered in black ice, that's just not something that I want to do. So that's where the indoor bike is like the better choice. David Gary Wood (21:42) Yeah, that's not fun. The city's not fun for that. Nah. Fair play, fair play. You just reminded me like the phrase that came to mind as I was writing the notes of Daniel to get back on his bike was we could have a show title of On Your Bike, mate. And I'm sure I used that a year ago when you were getting into cycling again at a similar point. So anyway, that's me. I'm trying to keep track of if we've got a show title along the way. Daniel (22:09) Yeah. David Gary Wood (22:17) But that's we can figure that out at the end of the show. There's more yet to come. Do. Well, just just one last thing on the chores is that we did suggest to everybody to go out for a mental health walk, get whatever movement makes sense for you, but to get out and go do so. And I don't know whether listeners did too much of that, but. Daniel (22:23) Right. Next up is other topics. I got, yeah, I got like two people who I know messaged me privately that they did go on a mental health walk. So I'm very proud of you two. And yeah, we should have another chore for the listeners. What do you suggest? Any ideas? David Gary Wood (22:49) Mm-hmm. Awesome. That counts. We should. Hmm. Right, this is one that people are perhaps not going to want to hear, but in various parts of the world there will be a tax year ending soon-ish in the next couple of months or so. All right, so I'm telling you now start filing your receipts. If that applies to you, if it's coming up at any point in the next sort of three months timing, now's a good time to start filing your receipts. Please. Daniel (23:06) Ha David Gary Wood (23:29) Do it now future you will appreciate this. Daniel (23:32) You I like that. I like that. I was going to go for something Ramadan related because that's just started at the time of recording. even on Ramadan, you can just do your taxes or prepare your taxes. Do it in the evening. Have something to eat before. David Gary Wood (23:38) All right. Yes, yes. After you've eaten and. No, right. Other topics, I don't have any other topics to pull into the show, but I do want to tell you about how my apps are doing. So let's get right into what is probably really the main reason for the show. So. Daniel (23:59) Same thing. How are the light beam apps doing? David Gary Wood (24:10) They're beaming. They're beaming, Daniel. So, hmm. Thank you. Two things have happened in the last few weeks. When we last spoke, I was kind of wondering whether I was going to give up on the whole like custom GUI idea. Yeah. So if you haven't. Daniel (24:14) So are you. Mm-hmm. David Gary Wood (24:35) heard me talk about this nonstop over the last few months on the podcast. I am making my own Swift UI like at least at the point of use in an app. GUI for Swift to A, let me do some very integrated stuff with that GUI that will be good for the performance of my apps and B, lay the door open for Daniel (24:36) Hahaha David Gary Wood (24:55) cross-platform things and see to kind of sidestep some of Apple's annual shenanigans with updates and things. And also to see if I could. Yeah, so this is actually like kind of breaking news for me in my life, but like I managed to make it actually have some decent performance the other day. Daniel (25:05) Mm-hmm. Bim, David Gary Wood (25:21) Yes. So it was already performant enough for like simple scenes and things. It's been like, hey, we've got some actual confetti on the video. Nice one. Yeah. And I can't remember if I kind of spoke to how this had been going on last time, but like almost since the beginning of January, I realized that I'd injured I brought some new things in that I really wanted it to have to be able to start developing a new app with it. And we're talking things like I had a list component in there, because lists are kind of fundamental to a lot of apps and I really needed it. And I added sheets, a concept of sheets and then being able to present content on top of other content. And yeah, somewhere along the way stuff got knotted up. with, with things and I've had a bunch of like, edge cases and weed whacking and getting right into the guts of what this thing does all over again. I feel like I've refactored it now probably three times, at least since starting the project, but I'm kind of okay with a bit of that and a sense of I've been learning along the way. so yeah, I only really just pulled out of that properly a couple of days ago. as we speak. So I managed to get to a stage where things are now working in a way that I'm a lot happier with. And yeah, I'm getting a good frame rate out of it, which is important on our very high FPS devices. And I'm just so stoked. Like thought I was going to have to give it up, dude. you know, and I was making plans already for the what if and the what if was, it wasn't too bad. You know, I'd end up using Swift UI again. would probably use Kotlin and compose on Android, but then I would have a Swift library in the middle for the actual video effects bit. that would be cross-platform. Daniel (26:58) You David Gary Wood (27:22) That was going to be my backstop, but I'm much happier if I can just keep going with this, mate. So yeah, that's going well. Daniel (27:27) Yeah, yeah. Nice. So, David Gary Wood (27:32) Any questions from you, Daniel? Yeah, you normally have a thing. Daniel (27:36) What was the bottleneck like? Do tell about the bottleneck. David Gary Wood (27:41) Yeah, okay. So I'm wondering how into the weeds I get with it or not, but I had several bottlenecks to do with how the views are measured as they lay out. So it was starting from an immediate mode engine. it's executing everything, every single frame a second, no caching. everything's being remeasured, reapplied each time. So there's some obvious bottlenecks there that I was able to sort of go, yeah, okay, we're going to start caching measurements and applying a diffing mechanism between frames so that if stuff literally hasn't changed since the last frame for these things, then I can pull stuff out of the cache. So there's a bunch that I was laying down that was helping there, but it turned out bottleneck really wasn't where I thought it was and this is one of the reasons I kept coming up against it again and again. Because I'd let Claude take the wheel earlier on in development there was a point in which I kind of submitted to the way it wanted to go at the time before I got some guard rails up. Yep. And that was that I was using singletons. Daniel (28:44) Mm-hmm. David Gary Wood (29:05) within the whole stack. And that wasn't specifically the bottleneck, but it hid something else that was going on below it. And part of my weed whacking has been to go through and actually rip all of the singletons out and then have things properly injected. And that's been able to simplify some of the way things are tested. That's then also then meant I've been able to find areas that were not optimized in the way I wanted. Daniel (29:06) Mm-hmm. David Gary Wood (29:32) as a result. So that's been a benefit to get in that sorted. The bottleneck was buried under a singleton and it was to do with, it was using reflection and in such a way that it was a very expensive operation. where that was going on, that reflection was causing a lot of casting that didn't need to happen. As I ripped that out, Daniel (29:54) Great, a lot of casting. David Gary Wood (29:56) not casting rather like allocation of memory in the process. Yeah. Excuse me. Four hours, four hours sleep the last night. Yeah. And yeah, by removing that and getting things working in a much better way that has then been the biggie inside of all of it. So Daniel (30:00) I see. David Gary Wood (30:16) Yeah, happy with that. Daniel (30:17) So nice. You're in basically like you live in one of those YouTube videos that I sometimes like to watch where they optimize game engines and stuff like David Gary Wood (30:26) Hmm, not quite. I need to be honest about some of the process as well. some of this is about me having enough idea about what I want it to do and how I want things to feel in terms of, like the big part of this for me is, is I don't want to be writing apps and views in this thing in a way that I feel is ugly. Right. So actually having Very close to SwiftUI, but then actually trimming off some of the bits of SwiftUI didn't really need to have has been one of the goals here. Yeah. But in terms of the way rendering engines work, the way GUIs tend to work, I've been learning quite a lot of things on first principles and even on secondhand principles because the honesty here is that for some of this, it's very much been a case of working with things like claw code to go, hey, here's the state of things. Here's where I want to go. This is how I want this to behave. What are my options here? And then It's then been presenting me with options and I've had, it's like one of those choose your own adventures, right? You know, where, if you remember the books where you could, um, you know, go to page 53, if you take one route or, or whatever, feels a bit like that. Yeah. You end up with like, okay. And so what's been happening is, is that my knowledge has then been building as I've gone through several rounds of this. Yeah. Okay. When I did that before, this has not worked out so well, because actually this is Daniel (31:41) Yeah. David Gary Wood (31:55) cause this other side effects or issue where it made this other end of things really top heavy. And so I've been getting gradually more and more informed about how I want it to work and what I want it to do as I go. yeah, again, I feel a bit guilty about this. probably shouldn't like in terms of this is something I knew not a lot about. I've used these tools to kind of present me with the routes that are available. Made some dumb choices, made some better choices. And then I've iterated that. Daniel (32:32) I mean, that sounds fantastic though. mean, like, obviously if you don't have the experience, there's only one way to gain the experience, which is to like, of course, read up and stuff, but like some of the mistakes you're just gonna make yourself if you wanna reach the good spot, right? So that's awesome. David Gary Wood (32:49) Yeah, and don't get me wrong, I did do some reading of things as well, but I mean, what I found was that a lot of this stuff is very centered around object-oriented programming, C++ or Rust or that end of things, right? And so concepts could be reapplied, but then how to actually pull those together with a factor of going, okay, I want this to actually be a kind of composable DSL that's struck based and is in Swift, you know, like I've had to translate a lot of that. So there's been a lot of like, this is pointing in a direction that I think is going to be good, but actually how this is going to reapply to the other constraints I'm giving. Like an LLM has been really useful for that, to be honest, to then sort of play the, the two sort of things off against each other. But I do need to sit down with it. Daniel (33:16) Mm-hmm David Gary Wood (33:38) and get deeper into some of the guts of it because there's clearly bits buried in the back of this that it's done for me. And I could stand to know a little bit better about what's going on in there as well. But at the moment, I'm taking the win, like things are now reaching a stage where I feel happy with how it's working. Yeah. Daniel (33:55) Totally. So do you think you're going to try and implement a few user interfaces with it now? is that still... What is in between now that kind of that checkbox has passed? What is in between using the thing to implement and now? David Gary Wood (34:10) Mm-hmm. yeah, great question. So I've been playing with a demo of a app that you may have seen on my social media, which is a video triggering app, specific type of video triggering app in the, it achieves quite low latency, on triggering and on like playing forward, speeding up playing in reverse. there's a lot more. Daniel (34:24) Mm-hmm. David Gary Wood (34:38) it's going to do than that but this is this is the thing I'm building that's using SwiftUI at the moment for its UI so that's a prime candidate for me to then pull into this and start making it work with the VXKit so that's what's going to happen it's not a lot in between now and doing that I could do that actually fairly soon yeah Daniel (35:03) Nice. And then why are you doing that? You're going to learn the next thing you need to do on the thing, of course, but that's just life. Awesome. David Gary Wood (35:10) Yep, yeah, yeah, I'm going to find out where the next hairy bit of the yak is. Don't worry. But yeah, yeah, so it's getting roughly where I wanted it to be. Daniel (35:21) Fantastic. I'm very much looking forward to seeing this in action. And also like, I would like to request a three minute tour of how the API looks like in a future episode. David Gary Wood (35:36) Yes, very down for that because I can walk you through things rather than hand waving a little bit as well. It's really hard to know where to start when giving an explanation of it without having somebody directing questions, to be honest. Yeah. So, yeah, no, we can do that. And I can even screen share because I don't mind showing how some of this comes together. Yeah. Daniel (35:49) Yeah, yeah, I can see that. Awesome. Awesome. I have Telemetry Deck things and there are actually multiple Telemetry things. The most, like the thing that gives me the most joy is we have a new logo, which is basically this incarnation of Sandrine that is like made by my buddy Florian. And... David Gary Wood (36:05) cool cool. Let's go. Mm-hmm. Daniel (36:23) no, I have printed stickers now in that off that logo, but like they're actually not within arm's reach. So I'm going to have to, I'm going to have to send you pictures. No, wait, no, wait, look, look here. Like there are like, I have vinyl stickers that are just like a very applicable directly to any, any surface. And it's just the black outline. And so the whole entire sticker is a black outline. And it's like a special, a specific thing. Basically I can use this to make everything David Gary Wood (36:32) So hot. Mm-hmm. It's shiny. That's very shiny. Daniel (36:50) everything, everything into merch. And I love that. And also there's like regular stickers. They are also awesome. And I am so happy to have that. David Gary Wood (37:00) You've just given me an idea. You've given me an idea. I can sort out my own sticker of Sondrine just with the assets because we've got a, my wife's got one of those cry cut machines. Daniel (37:16) yeah. Yeah, you can totally do that. I'm going to actually, I'm going to just like send you the newest SVG version right now. it is PDF, but whatever. You're getting a PDF being dragged full color light. David Gary Wood (37:18) Yeah, so. Yeah. Yeah, we can do that. As much as I would love a genuine artisanal telemetry deck distributed one, if you want to save the postage that could be quite practical. Daniel (37:41) Okay, we can do we can do both or something. But like, yeah, that's actually a really good idea. Yeah. And I like this incarnation of Sondrine 2026 is giving me so much joy because look how cute that is. Adorable AF. David Gary Wood (37:52) Mm-hmm. Very cute. For listeners of the show, I'm trying to think of the best way to direct them to seeing it. would just check the YouTube, right? Find us on YouTube and have a look. Daniel (38:10) Right. I'm also, can also like post it, like I'm going to post it on the socials later and then I'm going to link the posts. David Gary Wood (38:15) Yeah, and then I can link it. That's fine. It should be in the show notes for you there then. Awesome. So that's cool. New year, new year, song dream. Daniel (38:24) Yeah, that's cool. have replaced the logo everywhere except on the main website. So if you go to any of our socials, of the telemetry socials, they have the new logo as avatar, GitHub has it. Also the web dashboard has it everywhere. Just the marketing website doesn't. changing that logo everywhere has been my ray of light in the last few weeks or days where I'm like, OK, every time I'm so done with whatever I'm doing to have a little break, I'm just like, wait, the email templates don't have the new logo yet. You know what I'm going to do? Correct. David Gary Wood (39:02) And every everything just feels that bit more cleaned up afterwards. You're like, you're going around again. Yep. You there. Daniel (39:08) Right. And I love the old logo as well. Like Sondrine's inventor, my friend Charlotte, created the first incarnation of Sondrine. But with her blessing, this version is just way cleaner. has like the, the front, face is bigger and the various, like the, landing legs and the antenna and stuff are like a bit more cleaned up. And I think it's visually even more pleasing. So yeah. David Gary Wood (39:33) That's cool. And these things are iterative as well. So you know that that is sort of part of the process. So no, this is cool. Sondrain 2026 looks very cute. Daniel (39:33) I like it. rights. Awesome. All right. the other thing that I've been doing, which has been why I needed to have little breaks of like updating logos is, we've been applying for a, like a grant, a state grant for innovative companies that are doing their own research and development. And you can basically apply for a tax cashback and Lisa was like, you know what, let's try this. Let's try this out. This is going to be not a lot of work. And we're just like, get some free money out of this. It would be cool. And I even found a company that specializes in helping other companies through this process. They take a percentage of the proceeds. So they are very motivated to... David Gary Wood (40:16) Mm-hmm. Daniel (40:35) get us to help us get this grant and they will guide us and coach us through this process. And guide us and coach us, they did not. Or maybe they did, I don't know. Like I don't want to slander this company, but like what happened was they gave me a Google Doc to fill out with like, I don't know, maybe 20 questions. Each had like a little box underneath with had space for like 10 lines of text. So I wrote 10 lines of text in each of these. David Gary Wood (40:39) Okay. Daniel (41:01) And then they were like, yeah, this is cool and awesome, but we need more information. Can you do a bit more, like, can you put everything a little bit more buzz-worthy, like put in some technical details that sound interesting? And I'm like, all right, like, let's, I mean, like, we are innovative in a way that we do a lot of research we have developed, or maybe I have developed, I don't know. like so many cool new things, but all of them are small. Like the big thing that is CineMetri Deck is built on like a thousand small little inventions and like tryouts and trial and errors and whatever. But like there's no one big buzzword that I can name. So I'm doing my very best, like trying to reformulate things in a very impressive sounding way. And then they're like... David Gary Wood (41:39) Yeah. Daniel (41:46) Yeah, no, this is not enough. We need a bit more. Can you go into more detail? Like, for example, can you write that Apache Druid is using this kind of RAM? I'm like, why would Druid, like, why this kind like, OK, like maybe, like, you need more RAM or less RAM, depending on how you store the data, whatever. So I'm like, you know what? I'm going to use that line. Put that in there they're suggesting it. David Gary Wood (41:58) It has no relevance. Yeah. No, it has, yeah. Daniel (42:11) must be something. And that happened a few times. And then they're like, right, no, you're not understanding. We need way more. And I'm like, all of this process, I'm like, please just give me an example of the finished thing, like something for someone else or like a description of what the end product should look like so it can help you work towards this. And that has been ignored somehow. David Gary Wood (42:13) Right. Mm-hmm. Daniel (42:35) It might have been because they are like, I'm, think, I think my main problem, like that is, and that is my problem is that I tried to keep this task as far away from myself as possible. So I asked Lisa, Lisa, just like, give me the link. And I'm, I'm, hopping in there every now and then. And I'm not, not like, I haven't even like at the beginning, I didn't even talk directly to the, to the representatives. Like, I'm just like, David Gary Wood (42:36) Are they a legit company? Again, I don't mean to slander what they're doing. Okay. Daniel (43:02) looked at the links that Lisa sent me and like just like was like, okay, I'm just gonna write this down, whatever. So what I should have done is actually from the very beginning, like involve myself into the whole process and then like get the information that I did get. But here I am like deep in this iterative cycle, like so mad and everything. And like finally like they're like, no, no, no, like. David Gary Wood (43:14) Gotcha. Daniel (43:29) go through the entire, like for these like six subcategories of like research and development that we kind of already like decided on like going for, like for each, like give me five bullet points of five sentences or something, and then like go into detail of what did you do. So that is what I did over the last few days. Like I pulled, I pulled like, basically put everything aside because the deadline is kind of looming at the horizon next week. And just like, like, David Gary Wood (43:53) Mm-hmm. Daniel (43:55) put in every little thing in a way that is halfway understandable, but like still I kind of like, I'm trying to have like a kind of, uh, of an academic style because I'm hoping that that is what they're going to use because it should sound kind of like research here, right? So I'm like using the passive voice and stuff like that. was decided, it was evaluated, stuff like that. Um, and so in the end, I have now written over the last, I don't know. David Gary Wood (44:13) Yeah. Daniel (44:24) for five work days, at least nine or 10 pages of like prose about all the awesome things that I did for telemetry deck that make it cool and awesome and actually like more than just snapping together a few existing products. And the process has actually been really helpful for my, just for myself, like for my imposter syndrome. for realizing, wow, like yeah, like turns out if you just like sit, if you just in quotation marks, sit down and like push something forward a little bit for five years, then you actually reach somewhere. So yeah, that has been done. That has been done. I have just like before we started recording, I have received the answer, which is this is awesome. This is really helpful. And... David Gary Wood (44:58) You have indeed. Daniel (45:07) This is gonna help us finalize the grant application. Fantastic, thank you so much. Of course, as you know, the grant application, can only be 4,000 characters, so I'm gonna cut it down a little bit. But thank you. And I'm like, 4,000 characters. So that's why you see me with a bottle of beer in my hand today. David Gary Wood (45:29) Yeah. Okay. Daniel (45:32) So yeah, they're going to cut it down to 4,000 characters, but I actually made a copy of that Google Doc and downloaded it as Markdown. And I'm going to, I don't know, like it's probably not something to frame, but like I'm going to put this somewhere, like on my desktop or whatever. Just be like, yeah, this is all the stuff that I did. It's in German. Otherwise I would just send it to you or something. David Gary Wood (45:53) No, you could, you could, there. through something to translate or I could. I'm actually wondering if you've got the beginnings of a blog post there across all of it as well at some point. Daniel (45:57) Probably, yeah. I think it's too much detail for blog posts. like this is, this is like five blog posts or whatever. And then also like, David Gary Wood (46:10) Okay. Daniel (46:16) This is basically like, how would you re-implement the whole entirety of telemetry deck? Which I'm not like trying to hide anything, but at the same time, like I don't want to give an exact step-by-step instruction manual to someone else. David Gary Wood (46:22) Yeah, which is not necessarily what. No, that's That's fair. But I'll tell you what, it will be a good document to have on hand to mine for bits for things like that in the future. Like, it's, it's, it's, yeah. Daniel (46:42) yeah, that's actually a good idea. You? Yeah, I could totally see that. Anyway, the last thing that I wanted to talk about is, I have like a Notion document, like a Notion folder actually, that I called at the beginning, your own personal Kafka, because I'm switching away from Amazon Kinesis to a self-hosted Kafka Message Queue. David Gary Wood (46:57) Mm-hmm. Yes, I remember that I remember you saying that Daniel (47:08) to move along telemetry deck events from accepting it, accepting them at the interest end point into like, actually arriving at the database. And the process has been long and like, you know, and then like I, I, I try something and then, um, like they, they fail in a way that gives me more information. Like I'm failing forward. I'm gonna call it, this the other day and yeah. David Gary Wood (47:34) Mm-hmm. Daniel (47:38) I have finally stopped failing. I have stopped failing. I'm still forward, suddenly things are not failing anymore. So what is happening is that parts of our infrastructure are still on Amazon and I want off that for various reasons. Not all of them are not all of them are political or something. Like it's also just like more expensive. And so I can't use Amazon Kinesis anymore. And so right now the ingest API containers live on Amazon and they put stuff into the Amazon Kinesis. But then everything that is in that Kinesis is being copied into my own Kafka message queue. so like, imagine this, like, that's just like an endless array of events. And then, so that works now. like this cluster of servers that I have like spun up for that is now running stably. And then also, I have like added various like stream processing. like, I want things not to like, like every time you send an event, it needs to be processed in some way. And I want to remove that from the point in time where it's just being accepted at the API, because that's like, if things fail at this point, then Like it will just be lost. also if like a lot of people are like sending events at the same time, which for example, if I look at my data right now, should be happening right now because 7pm local time, like one of our customers has a like specific thing where like everyone opens their app at 7pm and they're kind of big. So, and so yeah, I want to like, David Gary Wood (49:01) It's happening all the time. Yeah. the Daniel (49:15) At this point, I would just like to accept the thing and put it into the message queue and do the processing later. So I have that running. And also I have a process running that is splitting up. right, like before we had this one message queue. And now after the processing, there's another process that kind of splits up each individual event and puts it into their own message queue. And that also works flawlessly. And like most of these message queues are just like going nowhere right now. Like they are not being picked up at the other end. But. for about 200 Telemetry Deck customers, these are actually already being picked up and put into their data store, into their Druid data source from those message queues, from those split up message queues at the end of this new process. And so every day or so, I'm converting 10, 20 customers over to the new process, and things are just working. It took a while. David Gary Wood (50:10) That's cool. Yeah. Daniel (50:12) I was able to this time because I burned myself too often and turns out that for me once, shame on you, for me twice, shame on you, for me 14 times. That's a shame on me. Anyway, so yeah, I've built all this infrastructure in parallel while still having the old infrastructure around while all the load was still on the old infrastructure. And now I'm very slowly shifting the load. David Gary Wood (50:23) You Yes. Daniel (50:39) in very gradual increments over to the new infrastructure in a way that will take a whole while. so far, all the failures that have happened were not as stressful because there was no load-bearing infrastructure that collapsed. It's just like, yeah, turns out this thing needs a bit more disk space or whatever. This thing needs a bit more reporting so that I know when something is wrong. so yeah, that. And today I put on one of the bigger customers. so far, right, you subscribe, if you create a new customer right now in telemetry deck, you will actually land on by default in the new, using the new message queue. So you're not even using the old stuff. But also like I switched over today, I switched over. a really big one and also that like no one noticed. David Gary Wood (51:31) So you've got a thing there. It's like you're turning off the tap of stuff in a sense, or rather re diverting the flow and, yeah, like you say, not trying to move everything wholesale all at once, just bit by bit. makes sense to me. I can understand why you didn't in the past as well, because you're like, right. New things working this way. Daniel (51:40) Right. David Gary Wood (51:57) you know, try and do a bigger move all at once. Yeah. Daniel (52:00) Yeah, it's also like, of course, like I have this, this, this cost counter in the back of my hand. And I'm like, Oh, if I would just like split the switch for everyone, like, Oh, that would be like a Mac book or two that I would just like not pay to Jeff Bezos. Um, but, uh, like I, I burned, I like, I burned my customers soft and with like flaky performance, like I'm on notice. Like I should be. David Gary Wood (52:12) Mm-hmm. Yep. Daniel (52:28) I should be careful. Also, this is a good time to experiment, because once the system is actually in place and under full load, you can't just try out different pieces of configuration and stuff like that. Because if the thing has to work, then I should have tried to restore from backup a few times and tried out, hey, is this more performant or this more... I should have done these experimentations. So that's what I did. David Gary Wood (52:37) Mm-hmm. No. Daniel (52:56) And I'm seeing light at the end of the tunnel, and it's awesome. David Gary Wood (52:57) Yeah. That's awesome. That's really, really cool to hear. then, yeah, you get to say bye bye to Amazon as well in the process. Daniel (53:09) Right. It's not going to be like a complete bye-bye. Like a few of our customers have booked a service where we push their data into their own Amazon pipelines as well. So that will stay of course there, but like I, like I just like would like to stop paying for that specific big Kinesis message queue. And like, yeah. David Gary Wood (53:19) Mm Yeah, that's not unreasonable. That's if that's where they are. Yeah, that's cool. Daniel (53:32) So things are progressing forward. So that's kind of nice. And I'm going to celebrate that. David Gary Wood (53:37) with both Both got to similar stages in our own respective ways, I think, in the last few days. That's cool. Daniel (53:48) And I was so looking forward to finishing this too and being back on the front end more because there's so many cool things to do there. I think these are my priorities right now. And you can't do everything all at once. so, yeah, I'm kind of happy with that. David Gary Wood (54:03) That's really cool. Daniel, it has been lovely talking to you and thank you for putting up with me, both Daniel and listeners. Thank you for putting up with me being on very little sleep. I was kept awake and then rudely awakened earlier than I would normally be. Daniel (54:07) It has been indeed. David Gary Wood (54:20) Apologies if that's come across at all here or there. But I should be... Daniel (54:25) You were fine. You were fine. Like. David Gary Wood (54:28) I'm well caffeinated, but I'm feeling it. Let's put it that way. If you've not noticed, I'm definitely feeling it already. Daniel (54:32) All right. All right. Then I'm hoping you will find a space for a nap somewhere or something. David Gary Wood (54:39) It will happen. Yeah, that's all righty. On that note, take us out Daniel so I can get a nap. Daniel (54:41) All right. Thanks for listening! Please rate us on iTunes and YouTube, send us emails and contact at waitingforreview.com and join our Discord, the link is in the show notes. Dave, where can people find you? David Gary Wood (55:01) snoozing under my desk. No, you can find me on Instagram at lightbeamapps or one word. That is my Instagram account and also obviously find me in the show notes. All the socials are linked there as well. Daniel (55:03) Hahaha! Fantastic. And for me, you can go to telemetrydeck at social.telemetrydeck.com, the company's account, because that has the new logo and it's very, very cute. All right. Have a fantastic day. See ya. David Gary Wood (55:30) Bye. Daniel (55:31) Bye!