Daniel (00:10) AHHHH DAVE! HI! David Gary Wood (00:10) It's the countdown. Hello? Daniel (00:15) I have reached you through the interdimensional portal, it seems. David Gary Wood (00:19) You have the Internet Dimensional Interwebs Portal. Daniel (00:23) Fantastic. How's it going? It's so nice to see you. David Gary Wood (00:26) It's really good to see you too, Yeah, I'm good. I'm really good. What is it? It's a bright morning here in New Zealand after quite a bit of rain over here. So sorry, I'm being very English and talking about the weather, but I don't know. It's just nice to wake up and it's sunny. can now the rain has gone. Daniel (00:42) You Can you see clearly now? Fantastic. That's so good to hear. And yeah, we talked last two weeks ago and I've missed you. It's really nice to talk again. David Gary Wood (00:58) You've missed me. I've iMessaged you quite a few times over that time, Daniel. Daniel (01:00) And I've been on travels. Yes, do exchange some banter. We actually talk to each other outside of the show, which is hard to believe sometimes because we talk so much already. But yeah, it's just nice. David Gary Wood (01:12) Yeah, yeah. Daniel (01:15) What is this show actually? This show is called Waiting for Review and it's a show about the majestic indie developer lifestyle. Join your scintillating hosts to hear about a tiny slice of their thrilling lives. I am Daniel Porter Bridges and I'm an expert exporter and I'm here with Dave who is suffering from doom and has just returned from the beach. Join us while waiting for review. David Gary Wood (01:38) suffering from doom you know what I've been playing on Steam right? Daniel (01:42) No, you're suffering from Dooms, which is a reference to Death Stranding, which is still the game that I still haven't finished, but still I'm plugging along on. The first one, is. The second one came out, but I'm still in the first one. And it is fun. David Gary Wood (01:52) Fair. Daniel (01:57) We have sections now and our first section is actually a good thing of the week. So Dave, what is your good thing? Because the world is kind of shitty right now. So let's look at some good things. David Gary Wood (01:59) Mm-hmm. Good thing off the Wii! My good thing, I'm going to mention the gaming PC again, Daniel. I'm sorry. It's like I've been what 20 years without playing PC games regularly. So, or something like that. Daniel (02:15) Hahaha Have you been playing games on the gaming PC? David Gary Wood (02:25) I've had the doom, so I've been playing doom, but that's not the good thing. The really good thing is I played peak for the first time with friends and peak is a wonderful game where you it's 3d first person, you fairly cartoony. But you are climbing a mountain and there's various hurdles, challenges. You've got a kind of, you know, you're, like a free climber of sorts, you've got to shimmy around rock surfaces and things and it's a game that you play with friends. typically you can play it on your own but it's a lot more fun with a couple of other people at least. And that was awesome. I was playing a couple of friends in Australia and so I'm in New Zealand and they're not actually that close. Daniel (03:04) Awesome. David Gary Wood (03:10) those countries. mean, it's like the nearest big country, but there's what, you know, nearly 4,000 K of oceans. So I kind of reflected afterwards, like I had a really good game and I had a whole moment of like, huh, it's just really nice to be able to play a game with people kind of reasonably far away in some ways. Latency wasn't bad. You know, there's nothing like that. Like the way it all works. just sort of works. And again, I'm out of the gaming loop, so I don't know what's normal for people these days. But, I had a whole moment of just like, yeah, 12 year old me many years back in the late nineties, early nineties for 12 year old me. Thank you. anyway, that, that young Dave would have just been like, you did what? That's awesome. Daniel (04:02) You David Gary Wood (04:02) So yeah, anyway, I'm finally catching up with the 21st century and it was nice. Daniel (04:09) It is awesome though. Yeah, just like how stuff works. you haven't gamed at all in the last 10 years or so, or just like very rarely? David Gary Wood (04:16) ⁓ in the lab, well, since my kids were very little, no, not really. Like I think what I played the, I played portal two and that's probably the last game I bought on steam. That was, something I played regularly until I'd actually completed it. And that I bought. Daniel (04:26) Yeah. David Gary Wood (04:41) brand new when it came out. whenever that game came out sort of marks my last actual proper PC gaming type moment. Yeah. Daniel (04:47) Yeah, been a few years. Huh, well, awesome. Good to have you back. I think Artisan Astrodotty bombard you with suggestions of games that have come out after Portal 2 that are playable on your computer. And then you can just pick them up for one or two dollars because they're heavily discounted by now. David Gary Wood (04:52) Yeah. Mm-hmm. That's the beauty of it. Like I kind of went a little crazy over the steam Christmas sales because it was like, huh, I've heard of that. That looks kind of good. Yeah, that's not too much money. It's a few bucks. Cool. So I've got a tiny little backlog of things, but mainly my backlog after well, not even after peak because peak is just something I'll play regularly. My backlog right now is like all of the dooms. And of course the original Dooms I've played to death, but I bought like a expansion anthology pack that's got all of the original Dooms and all of their expansions. And then it's got the modern Dooms that started in 2016 as well. So it's got that one and then the sequel to that. It was, of course, omitting the very latest Doom game because these things are usually a bit of a uh trying to get you interested again in that right so but i i sure i sure no Daniel (06:10) But you don't care like too much right because there's like so many dooms all of the dooms basically David Gary Wood (06:17) Exactly. So I definitely have the Dooms, Daniel, you were right. Daniel (06:20) I got a sticker at Congress that says this runs doom by the German. And I still haven't decided where to put it. David Gary Wood (06:27) Awesome. I kind of want that on a t-shirt. You Daniel (06:33) That's also a good application of that, think. Yeah, would be a good t-shirt for you. Have I told you about the ultrasound machine that I saw that ran Doom? David Gary Wood (06:37) Hmm. at the the Chaos Computer Club. Yeah, you might have done, but remind me, remind me again, because. Daniel (06:44) At the congress? I did. I might've even sent you a picture. Like at some point I'm walking around the fair grounds. I don't know, like the exhibition halls. And like there's a, like an ultrasound machine, like for like medical examinations. And it just has like doom on its screen, like where usually you would see like the ultrasounds. And I'm like, okay, is this like just a screenshot or something? And so you go up and the thing has a joystick and it actually runs Doom. David Gary Wood (07:19) That's crazy. I'm pretty sure you sent me a photograph of it at the time. I don't think I realized it was an ultrasound machine though. So yeah, that's, that's quite funny. Daniel (07:31) Yeah, that might have been it. So yeah, awesome. Gaming Dave is back. David Gary Wood (07:38) a little bit. I'm essentially every time I've got a big load of like the stuff that I'm having Claude chew through or whatever, I've got that on one monitor and then I've got Doom on the other monitor. So yeah, I'll play for a bit and then I'll go back to what's on the other screen and switch between. So it's nice having fun. Daniel (07:58) How is the... have you tried like the different tunes already or are you playing them sequentially? David Gary Wood (08:03) ⁓ No, I've gone straight into the modern Dooms because I've played the old ones to death way back when. Daniel (08:11) Yeah, but even the modern ones, like there's like three or four of them, right? So like David Gary Wood (08:16) I've skipped over Doom 3 from the early 2000s. I'll come back to that, but I've gone straight in on the 2016 one. Daniel (08:21) huh. Nice. And does it resemble at all the original Doom? not as in like, like thematically, of course. it's the demons. You got to shoot them. But like, play wise, like, does it have any like shared, shared DNA? David Gary Wood (08:33) Yeah, yeah. I know, I started off with a bit of a cynical kind of, it's not really Doom, right? It's sort of very much more this sort of modern game, like taking its name. And then the more that I've played in got into the game, the more I've had these moments where I've been a bit like, okay, yeah, it does still have a bit of that vibe. So yeah, there's a bit of its DNA in there. Daniel (09:00) the Nice. David Gary Wood (09:04) mainly when you get overrun by lots of enemies, right? And that was for me, at least one of the biggest thing about the original game is that it could have lots of monsters on screen. And I found that the, the one in the early 2000s didn't really replicate that because it was more like, it was more like you would just have one enemy at a time or maybe a couple. It sort of felt a bit limited. So Daniel (09:22) Mm-hmm. David Gary Wood (09:26) Yeah, I mean, we could go into this, like the way I think about it is like the Doom 3 in the early 2000s is more like Alien and then Doom should feel more like Aliens. If you think about the two films. Daniel (09:42) That's a good comparison. Yeah, I like that. David Gary Wood (09:45) Anyway, before I get into the doom any further, tell me about your nice thing. Daniel (09:45) All right. Right. So my good thing this week is my new humidifier, which is the most adult thing I've said in a while, think. So, as you know, I live in a very new house, like it was built in 2021. And it has all these like, and like air filtration systems and everything so that like moisture gets out and fresh air comes in, which is really awesome most of the time, but during like, like very cold winters, turns out that the air that's coming in from the outside doesn't have any moisture in it because it's so cold and can't hold moisture, right? And then you warm it up and the humidity in the room is like drops below 30%. And I've been kind of suffering from that, like always with an itchy nose and sore throat, but not like in a way where you get feel like sick. It's just like, ugh. David Gary Wood (10:25) Mm-hmm. Daniel (10:41) And so I've been not David Gary Wood (10:41) Mm-hmm. Daniel (10:42) sleeping too much or too well and stuff like that. And finally, I was like, okay, I'm going to research and then buy a humidifier machine. I bought one from a company. It's like right behind me. currently it is holding the humidity at 51%, which is perfect. ⁓ It is from a company called Boira and it is nice. It costs... David Gary Wood (10:57) Thanks. Daniel (11:03) cost about a hundred bucks. has like all kinds of like features. It senses the humidity and then like increases or decreases its output, stuff like that. And even stops when it's empty or when the humidity has reached. And it's making the, just like I'm a little plant, you know, like I need my light, which is in front of me and I need the correct humidity and warmth. And then just give me some seeds, I guess. right. David Gary Wood (11:18) Yep. You are the seed, Daniel. It's going to help you grow. ⁓ Daniel (11:29) And so yeah, that's my good thing. It just makes my life noticeably better, which I like. David Gary Wood (11:37) That's really cool. Like, I mean, I know that's a very mature grown up adult thing to mention that hey, Daniel (11:44) I gotta offset all the immature childish things that I do, you know, so that sometimes I can do a grown-up thing. All right. How about grown up things like our next section, which is chores and homework. I think my chore was to post a video about, about going to the gym or going not to the gym, the, to the stand up, to the stationary bike. That's the word I was looking for. And posting a video from the station stationary bike, mentioning that this year is Alp traversal year. David Gary Wood (11:57) Hmm. Yeah. Daniel (12:14) And I did that. David Gary Wood (12:15) That's really cool. I am checking the chores by the way, just making sure that that was definitely your chore from the last one. Daniel (12:16) ⁓ So I think I need a new chore. I'm not 100 % sure. Do we have notes on that? Maybe we should program a chore management system. David Gary Wood (12:29) We too, we too. a chore management system. I might just put it in GitHub or something. Yeah, just having a quick look down. doesn't, I'm not gonna say it doesn't matter. Of course it matters, Daniel. They're the chores. But in any case. Daniel (12:46) but it does say, I found it in our show notes. It says, homework, Daniel dash more TikToking, but needs to be doing more gym slash exercise. David Gary Wood (12:54) There we go. And you've been TikToking as well, right? I know that's been. Daniel (12:59) Well, not enough, not enough, definitely not enough, but it's worth the. David Gary Wood (13:02) Yeah. It's coming back to me now. I suggested that you could TikTok from the gym, like actually do a Daniels thing. Daniel (13:08) With the takeover, with the takeover like the form Oracle, like I also like I feel kind of iffy about TikTok now, but let's see how it goes. David Gary Wood (13:13) Hmm. Yeah. So, okay. Do we want to go through my chores or do we want to set your next chore? Daniel (13:22) Yes. Hmm, let's set my next chart. David Gary Wood (13:29) Go for it. What is your next chore then, Daniel? I was going to decide, wasn't I? Yeah, well, I'm trying to think. Like, hmm, what's something? Daniel (13:33) I thought you would decide. I don't know. If you need more time to think, we can also talk about yours and then afterwards decide. David Gary Wood (13:43) Well, what's something you've been avoiding that you know in your heart of hearts you should stop avoiding? Daniel (13:51) I know exactly what it is, but I don't want to say because then you would have made me do it. I really need to call my health insurance to force them to assign me a proper physician here in this city. Because like for various things, I still need to go to Augsburg to my physician there. David Gary Wood (13:54) You know what I'm like, I'm going to find out. Mm-hmm. Daniel (14:22) And apparently like going through the health insurance is a better way of like getting one assigned, which I've tried myself like without going that way because it involves telephoning a lot. So I guess I really need to do that. David Gary Wood (14:36) Mm-hmm. Okay, well, I've noted it down. I will pick on you remorselessly if you haven't done it in two weeks time, just to let you know. So, yes, that's another very mature thing on this show. I feel like we are very much becoming the mature gentlemen show, but. Daniel (14:49) Ugh. Dave! David Gary Wood (15:00) Absolutely, I need to grow my mustache out so I can twiddle it. Daniel (15:02) Ha ha! I didn't tell you this at the beginning, but I love how your beard looks today, by the way. our viewer, listeners can't see that, but it is just the right length. It is very like clean, but also like very face-defining. It just looks good. David Gary Wood (15:09) Thank you. Thanks, mate. Yeah, that's been a bit of thing. The hair's not coming back on top, so maybe I need to grow the beard just to counteract it. So again, middle-aged podcaster show. Here we are. Daniel (15:28) Nice. Welcome to the White Middle-aged Men Podcast. David Gary Wood (15:37) Noooo Daniel (15:38) We have opinions and microphones. David Gary Wood (15:42) Yes, yes. Well, my hot take on this Daniel. No, let's get back to our show. We have a, we have a show format. Let's, let's not go there, but Daniel (15:46) Hahaha You're just like stalling because you don't want to talk about your chores. David Gary Wood (15:56) That's true. You've caught me. Daniel (15:59) To tell. David Gary Wood (16:00) So do tell my chores. feel like I've done them, which is always a bad sign because it might mean that I haven't. Daniel (16:09) Right, so you had like, think three videos left that you needed to post. David Gary Wood (16:14) Yes, and I've posted one, maybe two. So, and I've got two days left because we're recording on the 28th of Jan. That's going to date how far out we are. So. Daniel (16:27) the charts are not from recording to recording. I thought they were from recording to recording. David Gary Wood (16:30) I thought we'd set a month. I thought we'd set the first month of this year for this one. No, no, hang on. Daniel (16:36) How did we? ⁓ We really need to... Okay, my additional chore is like writing these down properly. David Gary Wood (16:45) Yeah, no, I've only posted the one video in the last two weeks, Daniel. So I think I've missed that chore really, if we're honest. I can claim another couple of days in the month, but am I really going to uphold it? So I think I've failed. Daniel (17:03) That is a bummer and I will wag my finger at you, accusingly, and give you an extension of a few days so that you can do it. David Gary Wood (17:04) All the s- or the stalling in the world. Okay, okay, but I feel like I'm going to need a new tool. So I want to stick to this one, of course, but that still gives me a bit of time before the next show with them when we record. So let's add another tool as well. Daniel (17:27) Okay. Let's add another tour. Fine. I have like two options. Either you like tell me a thing that you've been avoiding that you really kind of need to do, or I have something in mind as well. If you can, you can choose which one you want, but you have to choose now before, before knowing. David Gary Wood (17:34) Mm-hmm. ⁓ do I go wild card? Go for the one that you've got in mind. Daniel (17:50) Fantastic, okay. Until our next recording, go on at least two walks. David Gary Wood (17:56) wow. Okay. Now this is, I can agree to that. That's not a bad, not a bad show. So, and again, Daniel (18:05) That also goes for our listeners, by the way. If you're listening to this right now, you have already also committed to this exact same chore. So your chore until you listen to the next episode is go on at least two walks. Your mental health and the air in your lungs will thank you. And you can listen to podcasts while you walk. David Gary Wood (18:21) 100%. Yes. And if walking is hard, find your nearest equivalent thing that is good for you in that sense. And to everybody, if you go do the chore, send us a photograph, tag us on the mastodons or wherever, go for it. Cause it's always nice. And you may well be on a walk listening to this show. So you've got the moment right now to just pause the podcast, take a photograph. Daniel (18:37) Fuck yeah. Totally. Yeah, let us. you David Gary Wood (18:52) and our socials are in the show notes, so go for it. Daniel (18:57) Awesome, yeah, very much so. We are very proud of you. so, yeah, we love hearing from you. Fantastic. David Gary Wood (19:05) I just want to hear that Daniel's proud of me. I've failed my chore so far. Thank you. I needed that. Daniel (19:08) That is always proud of you. Like you tried your best. That's the most important thing. David Gary Wood (19:14) I Simpson's cake gif. Where are we going? Daniel (19:20) And I mean, gotta, like, I give you, I gotta give you like a tiny push sometimes, but it has to be, it has to be fun too. All right. Next up in our list of sections that I'm relentlessly pushing us through is other topics, which is the wild card section. Before we go talk about our work. Do you have anything for this? Otherwise I do. David Gary Wood (19:35) Mm-hmm. the wild card. I know you do because I suggested it earlier before we started recording. So if it's what I can see in the notes, then ⁓ Daniel (19:59) It is almost what's in the note. I'm actually going to talk about my entire trip to Augsburg last week because I that was like totally filled with stuff. So I went to Augsburg last week and I had like various things on my list that all came together. One of the things that kind of like was the, like the inciting incident was just like, I really wanted to see Lisa again. And also we needed to discuss various like company things. And so it was really nice just like to meet her. David Gary Wood (20:22) Mm-hmm. Daniel (20:27) She also gave me, that's like also awesome. She gave me like a whole bag, like a one kilogram bag full of like this weird mixture of like ground up grains and other like proteins that you can use. Like you can mix it with oil and water to make like ground meat that is plant-based. And that is actually what I had for dinner earlier and it's like super tasty. So that is kind of awesome. David Gary Wood (20:47) well. Daniel (20:53) ⁓ And then. David Gary Wood (20:53) that's cool. But tell me more. Tell me more about your trip. Daniel (20:58) Then I also bought a tablet device. So the thing is, I'm working, and I'm going to tell you more about this later, but I'm working a lot on our servers in the background and stuff like that. I would really like to check on things every now and then, or even tweak things, change things, or fix bugs or problems. But it's super annoying to do that on a phone. Almost impossible. And it's also super annoying to always have my computer with me because like that thing is heavy. it is like pretty slim, but it's still like two and a half kilos or something and also kind of large. And so I bought a tablet, which is a mini and it's awesome because this is the perfect form factor for me because like I've been like, I really wanted, like, I, I, I always like look at my phone and like, David Gary Wood (21:37) Ta-da! Daniel (21:48) could this be bigger? Could this phone, which is already the Max, be bigger? And of course there's foldables on the horizon or whatever, but I played around with it and like in the Apple Store and whatever, and I really, I talked to Lisa and Lisa was like, just get it, like if it's helpful to you. And so I went to the Apple Store and bought a Mini, and it's nice. It is, David Gary Wood (21:50) Mm-hmm. Yeah. Daniel (22:12) Exceedingly nice too, because it fits exactly all the user interfaces that I need for server administration and infrastructure stuff. I think the resolution is just chosen in just a way that it's the bare minimum that websites design around. And also, I have secure shellfish on this thing, so I can actually... like do SSH stuff, which works surprisingly well. And I also configured Claude, the Claude app that it can actually do small changes on the code base in my name, which I've tried it out a little bit. I would never just commit to main from that. But you can tell it like, hey, go to this. David Gary Wood (22:58) Mm-hmm. Daniel (23:02) GitHub repo, do these changes and make a PR. And it will just do that. In the background, it will spin up some vaguely abstracted VM for it. It will even run outside of the, like while we close the app. And it's actually really fun. And also just like the, I do a lot of ⁓ emailing and stuff like that. Yeah, I didn't either. It's kind of cool. ⁓ So yeah. So this was very. David Gary Wood (23:16) Right, I didn't know it did that. Yeah. Cut. Daniel (23:27) Very fun and very like a very filled trip. David Gary Wood (23:30) That's that's really cool. Like I know you're just saying about your whole trip, but I'm going to zero in on that, that Claude thing. Yeah. So it's spinning out some sort of persistent VM in their cloud service, presumably, but is able to then go and, it's like work on stuff and then put up a PR for you. Daniel (23:37) Ha ha! David Gary Wood (23:55) asynchronously. That's not something I've really played with with Claude. So, yeah, I had no idea they got that. knew. Daniel (24:01) Yes. No, yeah, it is fun. Like it's kind of hard to review the things that it's coded because just because like the screen is bigger than a phone, but it's still like a tiny screen, right? So it's hard to really get an overview over everything. So I think like reviewing these things is definitely a desktop thing, but it is. pretty neat. I told it to work on a Python repository that had various requirements and stuff. So it would actually clone the repository, install the requirements inside its machine, and then also run the tests and stuff like that before even creating the PR. So yeah, that was surprisingly good. David Gary Wood (24:43) Nice. If I was somebody who traveled very often, Daniel, that would be very interesting to me. I mean, I'm pretty much a homebody these days, but no, the way I would think about using that is like less so to have it do all of the work for you as it were. And then you've got a review or whatever, but more in a case of, know when I'm traveling, I get ideas for things. Daniel (25:09) Mm-hmm. David Gary Wood (25:10) as I'm, as I'm, you know, on a train or whatever and being able to just sort of kind of ping the idea off to it. But then when I get back, there's a branch and maybe a PR, but at least I can kind of go back to that sort of frame of reference and that, that thought with a little bit of work done. yeah, that sounds quite cool to me actually. ⁓ Daniel (25:32) Yeah. And I'm reasonably sure you can do this on your phone too. It's just like, discovered it on the pad. Yeah, no. And also like what I kind of want to use this for is like every now and then I discover, damn, I really need to change this entry and this configuration file somewhere. And just for that, I don't have to find the exact file and like navigate the Fidly. David Gary Wood (25:48) Mm-hmm. Daniel (25:54) like touchscreen keyboard, just like tell the thing, like change the thing to the other thing. I think that could David Gary Wood (25:58) Yeah. Daniel (25:59) also work. David Gary Wood (26:00) Yeah. And it will just go on grip things and get back to you. Yeah. Daniel (26:04) Grip. Yes. Right. also, so this is sad topic, but it's also actually relevant to our listeners. I visited a friend's grave. Back in November, a friend of mine, Uli, who is known among the Fetivers and like Twitter before it was uncool, I was Uli Witness. And yeah, I heard of his death a few weeks ago and I haven't been able to come to his internment, but I decided that if next time I'm going to Augsburg, I'm going to visit. So I put down some flowers and it was really nice to say goodbye in that way. David Gary Wood (26:34) Hmm. ⁓ Daniel (26:46) So yeah. David Gary Wood (26:48) yeah, that's, it's good that you're able to do that, Daniel. And of course, yeah, shout out and remembrance of him as well. So yeah. Daniel (26:59) Yes. One thing, like he had a very multifaceted personality, but one thing he was really into was Hypercard. The database or the data management software on, I want to say Apple too. I don't even know. David Gary Wood (27:07) Mm-hmm. It was on lots of different versions. I had it on, Daniel (27:20) but like old Macs before the current iteration of Mac OS. And he always had this idea, like he wanted to build a replacement. He wanted to build a modern version of HyperCard. And so ever since like, ever since last week, I've been thinking like, can I put something, something HyperCardy into telemetry? I haven't, I haven't had an awesome idea yet. I am also not deep enough, like I don't have David Gary Wood (27:25) Yeah. Daniel (27:47) any clue what exactly HyperCard does apart from the very abstract screenshots that you see with the cards. So probably not, but if inspiration ever strikes, I could see myself doing something like that. David Gary Wood (27:56) Mm-hmm. That'll be interesting to see. I reckon there'll be a couple of revival projects out there somewhere that maybe you wouldn't have to do all the extreme legwork that that would be. yeah, I remember Hypercard well. I made my first game in Hypercard. Why, Penguin? Daniel (28:10) Yeah. You can make games with that? That's awesome. David Gary Wood (28:25) I did. You could place buttons and I figured out because it had the scripting language underneath it, HyperTalk. ⁓ And I realized that you could set on a slide, a screen as it were, you could set a loop to them read key presses and then I could name the buttons in the screen. Daniel (28:34) Mm-hmm. David Gary Wood (28:50) as objects and I could move them if I pressed the arrow keys. Yeah, I had something that you could set the icons as well. That was the thing. So my players were my little player in this 2D sort of scroller thing was an icon. And then as it moved, I could animate bits of it. Daniel (28:55) That is amazing. Mm-hmm. David Gary Wood (29:13) Yeah, that's because it wasn't a side scroller because I was limited to the space of the slide. hadn't really figured out what else I would do, but every every level was a different slide in this hypercard. Daniel (29:26) That's how it started with you. So yeah, I had a lovely trip and I brought home like some closure and the sack of protein and also the tiny pad. David Gary Wood (29:37) Awesome. That was, Daniel (29:39) which even has a sticker of a unicorn on it, which is very cute. David Gary Wood (29:43) Hold it up to the camera. Can't just say that and not hold it up. Yeah, that's a great unicorn. Daniel (29:46) Yeah, I decided to sticker this thing. Like I usually don't sticker my hardware too much, but it has not only the Telemetry Deck logo on it, it also has a very cute unicorn with a rainbow horn. And it has a sticker that says, like it has a yellow sticker that says INOP, I-N-O-P, which is the exact sticker that like ground control or like aircraft mechanics will put on like David Gary Wood (29:58) Mm-hmm. Mm-hmm. Daniel (30:12) parts of aircraft and especially the cockpit that are inoperable, that are kind of broken. So there's like stuff that can be broken where the plane is still allowed to fly and they will put that sticker on it to tell the pilots, don't use that instrument because it's broken. David Gary Wood (30:27) Okay, okay. That's quite fun. Yeah, I feel like I need an in-op sticker for my iPad now. Although it's not inoperable. So there's the other thing. It's your lovely iPad that like you're saying it's inoperable Daniel. Daniel (30:38) You Well, no, it's just, I don't know. To me, it's funny because it's not true, you know? David Gary Wood (30:54) Yeah, yeah, yeah. And, you know, just to keep people guessing. Daniel (30:55) ⁓ I brought an I got another thing that I brought look at this David Gary Wood (30:59) OK, Daniel is holding up a Sondrine telemetry deck icon mascot. It looks like a piece of laser cut plexiglass. Is that about right, Daniel? Like it's a Daniel (31:09) That is correct. Yes. So my buddy Flo has access, like he runs or like he is part of a collective that runs a makerspace, which is called the Habitat. And they have a laser cutter and he laser cut the thing. Like it's awesome. Like there's even a video of where they, he and Lisa are cutting the things. Like he posted it on TikTok and now that I mentioned this, I will have to look it up and put it into the show notes. David Gary Wood (31:24) That's really cute. No worries well Daniel (31:39) So yeah, I had a fun trip. What's your other thing, if any? David Gary Wood (31:43) I don't have an other thing. So maybe we could talk about my, I guess my only thing. Well, it's actually the regular flow of the show, Daniel. Daniel (31:50) you have an only thing? Can you subscribe to your only thing? David Gary Wood (31:56) Check out my socials. Yeah. Daniel (31:58) Alright, yeah, the next section coincidentally is called How is Lightbeam doing? Over to you, Dave. David Gary Wood (32:10) Ooh, how is light beam or light beam apps? Yes. It's it's doing it's going. Yeah, I'm thinking about how the last two weeks have gone and I'm pretty sure like when we last spoke, I was like, yeah, I'm nearly there. getting into the zone. You know, I'm going to be building my new app and. That's been that's actually gone OK. I've not actually broken ground on the new app yet, which is a bit frustrating, actually. We'll talk about that in a second. But one thing I have been doing is sketching things out and spend a bit of time. So part of my process when I'm designing a new app is that I will sit down with a pad and pen to my phone off. pretty much and just think about what I want this thing to do. I, and I made a whole lot of notes about what I wanted it to do, not do that sort of thing. And then straight off the back of that, I'll then sketch out what I think the UI could look like. And it's never how the app actually looks. That's the other thing like this. It's never like, cause you sort of I don't know about you, but in these moments, I kind of get this like a feeling like I'm supposed to just pull the app idea straight out of the ether in my head, sketch it out and it just looks perfect. Right. You know. Daniel (33:36) That's how it's supposed to be. All artists, what they do is they just start and immediately produce the end results. David Gary Wood (33:38) Yeah. Exactly. And I've kind of gotten over that fallacy these days. Like I sketch one design, then I sketched another and I was like, okay, what happens if it's in landscape? All right. Okay. Maybe like that. And these doodles, if you like, will never represent the final app. And in a lot of ways I shouldn't even build it. It's very much a case of just getting some of the ideas going and seeing what's what. Daniel (33:58) you David Gary Wood (34:12) so sketched a lot of those out, kind of stop there, if I'm honest, in a sense of like, my next step is I really want to pull stuff into a design tool and then I will start moving things around, right? That's where it starts to become, okay, let's take my favorite sketch, try and mock it up in something and then see what that actually looks like. You know, export the image out, put it on my iPad or iPhone or whatever and see what it feels like to look at. So I'm in that sort of like beginning bits of that. ⁓ Got a bit gridlocked on what design tool because, yeah, there's Figma, but like I don't necessarily want to put all of my designs into their cloud service these days. Like I'm like, not really for me. Thought about using Sketch again. Daniel (34:46) Mm. David Gary Wood (35:03) It's been a few years since I've used Sketch. And I believe I can use that and just save locally. So I'll be quite happy with that. Although I prefer something a bit more. Honestly, I prefer something in the open source end of things that its file format is still likely to open nicely whenever I go back to it. Like I want the blender of app UX design software. My searches kind of came up short. So if you know of anything like that, then I'd love to hear about it. Daniel (35:33) Mm-hmm. I you might consider Affinity. It's not exactly what you want, but especially Affinity Designer is kind of like Adobe Illustrator, right? But it's like way cheaper and actually kind of good. Oh yeah, they're free even. David Gary Wood (35:55) It is and they're all free now because yeah, they've got acquired by Canva and the apps have been free, I think, for a while. again, like I'm predicting a future, Daniel, a potential future where maybe I do more work on Linux. I'm not quite there yet. Like that sort of rides on me actually doing more development on that side. Daniel (36:14) Mm-hmm. David Gary Wood (36:20) Yeah, so I'm kind of like I want to be able to access my stuff wherever I am. So I don't know what the solution is yet to that. And it's certainly not just code it because that's that's not going to happen. So, yeah, if anybody knows of the blender of the Figma equivalents, I'd love to hear about it. I mean. Daniel (36:40) Just do it at Blender. David Gary Wood (36:41) I could. Yeah, you could. There's something to be said for that when things get a bit more like defined on this app, because one of the things I wanted to do was see if I could bring a bit of skew morphism back into what it looks like. And because it's going to have like, you know, sliders and things, because it's an audio visual type map. Then I was thinking about. One of the ways that people do those sort of UIs for virtual synths and instruments is they will take a 3D model of a slider and then capture the image of it, know, camera from above looking down on it. And that's your thumbnail. Because I can get lighting around it and things like that as well. So if you want the sliders lit from a certain angle, you can do that in the 3d software get it how you want it and then off you go so i've thought of that but doing the whole ux in blender Daniel (37:40) Like that would be very much doing it in hard mode and you're doing your UI in hard mode already. So maybe, maybe don't. David Gary Wood (37:46) Yeah. Yeah. I think. If I'm honest, I'm probably going to end up installing sketch and making sure everything saved as SVG so I can get back to it, whatever I'm on in that way, but or something like that. But anyway, yes, so design stuff, bit of wire framing haven't really got the design out yet. There's a whole lot of other bits I want to do around this app to sort of really like think about my MVP properly and Daniel (38:13) Mm-hmm. David Gary Wood (38:14) The reason I want to do all of this, this work is because I really want this thing to actually work. And so if I kind of just go freeform across it all, I'll probably still be talking about it in a year's time. So I want to be a bit more deliberate about what is I'm building here. But aside from that, what else is new in light beam is, yeah, I'm doing things on hard mode with the renderer. So you know where I'm at with stuff, right? I've got my GUI is working in terms of like I've got a Swift UI like kind of DSL. I've got animations and other bits going on. But then I was trying to get more performance out of how it was working because it was rendering everything all at once. And there was a lot of issues with that as I started getting into doing things like lists and things. Yeah. Well, I've spent probably three and a half weeks trying to get that to all come together. And I just had a whole moment of like that I've made. I'm essentially now trying to recreate Swift UIs internals. And I started off from a point where I really didn't want to do that. Daniel (39:05) Mm-hmm. David Gary Wood (39:27) There's a whole point of looking at doing an immediate mode rendering system was that I didn't want something that was going to be what's called a retained mode system where you have essentially a cache of everything and you do all of this diffing to trigger different bits of updates in the view layer. And that can get really complicated. And somehow I've ended up finding myself in the middle of that complication that I deliberately started out not to get into because I was trying to attack other issues and problems. And this seemed like a it seemed so easy, Daniel. To begin with. Seemed like it was all just going to come together. Daniel (40:10) It almost feels like you're just like speed running the history of like UI frameworks on all platforms. David Gary Wood (40:19) A little bit, a little bit. yeah, I mean, I'm going to hold my hand up and say I'm using Claude a lot for some of this exploration and some of this development. I'm tending to set my parameters of where I want to go and then have it do a lot of the heavy lifting, pulling stuff together. And so, yeah, I spent a good evening. Daniel (40:39) Mm-hmm. David Gary Wood (40:44) laying out my migration plan the other night and bit by bit I'm working through that with Claude doing all of the big lifting. When you say about speed running through the entire history of the UI design, the good bit about the time I've now spent is I've been able to go back to where things go to where things are, then take a view of where I want. to get it to, kind of reduce the complexity and sort of pair things back to being manageable. and the good thing is, is that I've now got the experience of the last few weeks to be able to go, not like that, not like that. I definitely want this and start, you know, really thinking about what it is I actually want. So that's not a place I was at. Maybe a month ago, I was kind of more like, I just want the performance to work. I don't really care how now sod it let's make it like this. So, but yeah, there's a there's a tipping point here because otherwise I'm just going to keep talking about this thing I'm perpetually building and not actually getting anywhere with. And I don't want you to roast me and call me out again, Daniel. So. Not that you would ever. Maybe. Daniel (41:39) Mm-hmm. Just in a loving and friendly way. David Gary Wood (42:01) Yeah, yeah, so put it this way, if this is a bust in another two or three weeks time, then I need to reverse gear a little bit and think about other ways of attacking what I'm trying to achieve. I have ideas for them, but I kind of don't want to talk about them until I've realized I need to pull the pin on this route. So we'll save that one for if and when. Daniel (42:28) All right, fair. David Gary Wood (42:30) Yeah, but dude, any questions? Any roasts? Any feedback for me? Daniel (42:36) Any questions? No, no roasts. Feedback. It's still, it's exciting. I feel like, but on this, at the same time, how do you feel about this? Like it sounds like you're a bit disappointed because you, you, you kind of feel like you're, you're this close to starting to use the framework for actually building something. And then like something else was happening and you're like, you're like perpetually this close and never kind of reach it. And this must be frustrating. David Gary Wood (43:05) I was getting there. Well, that's that's why I've decided to sort of halt the direction it was going in and then pair things back, right, because I was making reasonably consistent progress with it. And then I sort of hit this kind of like loop and wall as the complexity has stood up a bit more. And it was fun. then it was stopped. It wasn't being fun anymore. It's like, OK. got my bug list. trying to go through, taking a look at the code. I'm having Claude get into it. All right. Maybe I do a bit of then maybe I'll leave it grinding away on that for an evening while I do something else. And I was just getting bored. It's like, this is not fun anymore. Yeah. Daniel (43:47) Yeah, no, this is not like for the fun stuff. David Gary Wood (43:52) No, no, and I'm not trying to be Apple Swift UI or Jetpack compose with this like that's Daniel (43:59) Also, if you let Claude code the entire thing, then you can just use a third-party thing anyway. David Gary Wood (44:05) Exactly. Exactly. So yeah. I mean, I'm happy for Claude to do the initial refactor and then I go through, right? Like that's fine. We've got this big heap of stuff and I know where I want things to move to. But yeah, no, I'm feeling okay about it actually, because the way I've approached this is that I have, and this is, I guess, technically relevant. I've built it in such a way where I've decoupled things right from the start. So I have my DSL where the view definitions are and the SwiftUI light syntax is and everything for building apps with. It's functionally, it's in a separate folder essentially to the core renderer. it works in such a way that the renderer consumes a root view with Daniel (44:37) Mm-hmm. Mm-hmm. David Gary Wood (45:01) you know, your initial app starting point essentially, and then renders from there. So in terms of building a new renderer, I've been able to sort of go, right, we're going to freeze the old one. And I'm actually going to deliberately change the prefix of all of its classes and everything that's inside of it. So it's clearly marked out as being something else. And the new render is going to be built separately, you know, like separate folder again. but both will consume the same app layer. And in terms of what I'm doing, it means that I can actually switch between the two once this gets going. so I've not locked myself out completely. If I go get to a stage with designing photon, where I want to start laying stuff out in anger, I can still do that and not really care about I can use the old renderer essentially until the new thing is actually working. ⁓ Daniel (45:59) And what exactly is the stumbling block with the new thing? Like you said something about immediate mode and the other mode where it does like diffing and caching. So what is the thing that made you decide like, okay, I need to change a lot of how this works. David Gary Wood (46:03) Out. stumbling block between... yeah. the sheer level of complexity and overhead that I'm going to end up supporting with something that is essentially like I say, trying to rebuild Swift UI. At that point, you're right. I may as well just be using Swift UI on iOS and I may as well just be using Compose or something on Android because actually the overhead of supporting two platforms is going to be less than the complexity of building my own thing. Daniel (46:26) Mm-hmm. David Gary Wood (46:43) So this is the way to the complexity. And that's that's absolutely fine. I thought there might be a way of kind of having the minimum dose, if you like, to get what I wanted. But no, I wasn't I wasn't happy in the end, because there were so many different sort of corner cases and things to figure out. that's it. And I think, you know, it's a message for Daniel (46:54) Mm-hmm. David Gary Wood (47:07) ND devs really is like, you know, the more you can do to reduce your surface area of complexity, the better. And I've wanted to go here cause it's fun. My business isn't riding on this, although I'd love it to be in the future. You know, right now this is very much almost in the hobbyist end of the, the scale of life, right? I've got a day job. I'm nothing pivotal is Daniel (47:24) Mm-hmm. David Gary Wood (47:32) relying on this. but like, you know, for managing your time, decision-making and the rest of it, query yourself on the complexity that you're bringing in and whether you can not or reduce. I might not be doing the most sensible of ideas here really. And there may come a point where I'm may a culprit, learned a lot. go back to doing things another way, you know. Daniel (47:56) I mean, like the worst that would, even worst case, like to say you decide to abandon this, which I don't think you're at the point yet, but like even if you'd have learned so much, like you'd be able to like use the existing framework so much better. David Gary Wood (48:09) Yes, yes, and there's this, you know, there's this other projects and things online that I could start looking at, you know, submitting some code to or maybe taking what I've got on. They might be useful to somebody else to sort of pick through some of the things that are in there, but we're not there yet. And. I guess I'm just remaining pragmatic and as objective as I can. I'm trying to at least. Daniel (48:37) Fantastic. Fingers crossed. I really want to see this go to the end. To some sort of like, here, this doesn't do everything that SwiftUI does, but it does enough for this app, and it's cool and awesome. I would really like to see that. It would be cool. David Gary Wood (48:51) Mm-hmm. Thank you. Yeah. And I think if it gets there, fantastic. If not, there will be salvageable things like if nothing else, I've now got a knowledge of how to wire SkiR up and actually access that. And there's a lot of value there in light. And I guess I'm talking about my future escape patch, right? Is the pulling that together and using its shader system for the core of what my video mixing app does and that sort of thing. It would not be a bad shout if I then wanted to go back to SwiftUI and go to compose on the other side. Like there's a way of me wrapping that up to pull that all through there and then maybe having a call that can be, be called on either platform that does all the video mixing bit of what I'm doing. So yeah, all is not lost. Daniel (49:43) All is not lost. David Gary Wood (49:45) No. Anyways, we'll see where I'm at in a couple of weeks. Maybe I'll be full of the joys of success. You did say I had the dooms. Dude, how are things on telemetry deck? How are you doing? Is there anything you want to talk about today in that regard? Daniel (50:00) It was a bit gloomy for a while, but I'm actually right now in a good place again. So as I told you last week, last time we talked, mean, two weeks ago, is I want to have a snow leopard month. And it went swimmingly. It went awesome. Snow leopard month means I'm just fixing bugs. I'm not like... David Gary Wood (50:14) Mm-hmm. Daniel (50:21) rewriting huge things. I'm just like fixing, like making things smoother and run better. And for two weeks or so, this went perfectly. And then while I was fixing some bug, like I'm noticing some slightly off behavior. Like I'm noticing, wait, wait, why is no data coming in here? Why is no, like why is nothing, why is this thing like showing data that's 20 minutes old? Like this is too old. Like why is this thing showing data that's like four hours old, should at worst update every hour. Maybe I'll investigate. And yeah, that's what I've been doing the last two weeks, which is basically, so how do we we want to go? I don't know yet, but I've been in server land, which is kind of not where I want it to be, but I'm actually having a lot of fun. David Gary Wood (50:54) Mm-hmm. Daniel (51:12) So I think I don't want to go too deep into it because I think it would be kind of boring to listen to. the basics is of like how data is getting into telemetry deck is it gets everything gets pushed into what is called a message queue. And then the time series database kind of picks it off the message queue and then puts it into a David Gary Wood (51:33) Mm-hmm. Daniel (51:42) what is called a names or what I call a namespace, which is kind of like the individual sub database per customer. the thing is like every, like currently the, my message queue is being hosted by Amazon AWS and it costs per like, it costs a lot of like, for like you pay for bandwidth basically. And so what I do is I kinda can only, yes. So because the rest of my, of my infrastructure is already off AWS, I David Gary Wood (51:56) Mm-hmm. Yep. Ingress and egress, right? Daniel (52:10) I kind of only want to consume this message you want. Like I want to only want to read the data once, but I have like thousands of customers that have their individual namespaces. So how does the data with reading only once, how does this get into the individual namespaces? And so how I like my interim stopgap solution to this few months ago was that I would like put everything into the database and then once at once an hour run a little task. for each of the namespaces that would copy the relevant data, copy that over into their own namespace. So basically, we have one thing that gets updated in real time, then all the thousands of other databases just copy the search through that data, copy the events that are applied to them, and copy them into their own namespace. And this worked until two weeks ago because like... the server cluster that I have can do about 1,500 namespaces in one hour. ⁓ And we kind of went past that hour, past that number. And so now it experienced what we in the business call back pressure, which is like, yeah, there's like too much work being like, being like, there's too much work coming in. So things are too slow being worked off. like, so it kind of builds up and builds up this huge, David Gary Wood (53:11) rights. Yeah. Yep. Daniel (53:31) log of tasks. so this was like, first thing I did was I just like put like four more servers into the cluster, but even that that was not really enough. And basically what I did is like, I did two things. The one thing is I made the executive decision that free accounts will only get updated data once a day, which is kind of annoying, like really annoying if you want to like develop an app. David Gary Wood (53:32) Right. Yep. Daniel (53:55) And we'll only see the data, especially when you're testing, what do I need for analytics? Your data only updates once a day. But it saves me a lot of trouble right now with this interim copying solution. And also, I'm actually convinced a significant number of free customers to operate to a paid plan, which David Gary Wood (54:13) Yep. Daniel (54:21) I don't really mind. I still think our prices are very reasonable. yeah. The paid customers get the one hour, like the update every hour. But what I also want to do is I want to get back to real time. So I kind of went further than that. And since I was already spinning up servers, I spun up even more servers. And I have now, I'm now hosting my own message queue. David Gary Wood (54:22) No. absolutely. Daniel (54:46) which I can of course read as often as I like because the only thing that like, because it's in the same data center as the rest of the servers, like the bandwidth, like I don't pay for bandwidth. And so like this is no, no customer is using this yet because as with like infrastructure on this scale, like you want to run it for a week or two just to get out the... David Gary Wood (54:46) Okay. Yeah, there's no inbound outbound. It's there. Yeah. Daniel (55:10) the most horrible of the gremlins and it has fallen over twice already. And then I found out why, and then I fixed the thing, but like, I'm trying to do it properly. but what is happening is I have like, I'm copying the data from the, I'm copying the data over from the AWS stream once. And then I can, I have like 10 ish namespaces that are just my own, reading the data. And this thing is bored right now. Like this cluster of Kafka servers is like yawning at me. So I was like, hey, I have like, while I'm waiting for this to fall over, which it kind of doesn't, let's research some more techniques, but what you can do, because like with this kind of server, if you have the server itself, you can also add stream processing code, which is you write a little Python script and that just defines a function that says like, okay, David Gary Wood (55:37) Hahaha Daniel (55:59) get the data from here with each individual bit of data, do this, and then write it there. So I have written another script that will basically just split up the data by namespace already. So it will take the huge stream with everything and create separate streams that only contain the data for one specific namespace. And so now, with that in place, I'm going to have to run that for a while. But with that in place, that gives me a lot of puzzle pieces to give people the real-time data that they need. There's like two, right. And also because I have, also like this type of real-time ingestion is less taxing on the servers, I hope. So I will be able to have, to use the existing servers for more customers, at least for the paid ones. David Gary Wood (56:31) OK, I see how this all comes together. Daniel (56:50) So I'm hoping to give a lot of paid customers real time. The thing that is missing is, of course, I need to run this for a little while and see, are all the log files configured correctly, or will one of the servers fall over? Because it's hard drives running full of logs. The other day, some Java virtual machine said, I don't have enough RAM. David Gary Wood (56:50) Mm-hmm. You Daniel (57:15) I don't have a ROM available. Stuff like that. And the other thing is currently in the telemetry SDK, the namespace entry is optional. And I can only do the routing that I just told you if people actually enter their namespace there. So that's the other thing. kind of want to... David Gary Wood (57:16) enough of rum. Maybe you should give them an automatic namespace if it's not there. Daniel (57:38) No, but the thing is like an event is coming in and the event says, hi, I belong to app one, two, three, four, five. that doesn't help me with the routing. Like, because a namespace is like five apps or multiple apps that belong to an organization. So I know the app, but I don't know the organization and I don't like, so I have two options. I can kind of force people to tell me the namespace and this would be the easiest thing for me. David Gary Wood (57:50) Okay. Daniel (58:02) Or I can do a costly lookup, costly because either I have to wait for a database every time, which is like too much, or I have to like cache this somehow. And then it's kind of not, not updating. the first few events that come in for a given, a given app will just be lost. So that's also not fun. David Gary Wood (58:03) Hmm. So I'm just trying to think it through, because if I have five apps and I have no namespace, is the problem here, like a customer could have multiple namespaces and multiple apps? Daniel (58:31) No, no, it's just like this piece of code that needs to route the things doesn't have access to the information that it needs. yeah, so I would need a lookup. David Gary Wood (58:40) Yeah, so you need to look up for it. Yeah. But then should you be trusting? Should you be trusting the client for the namespace, though? Otherwise. Daniel (58:50) Yeah, totally. Because if they give me the wrong thing, their data will just never arrive at the destination that they want it to be. It will also not arrive. At a later point, wrong data will be filtered out. You won't be able to poison someone else as well with this. David Gary Wood (58:55) Yeah. Gotcha. Mm-hmm. Yep. Yeah. Okay. So. Daniel (59:10) It will just, it will just like be garbage data that gets like thrown away at the end. so you can't really do bad things with it, but so yeah, like if, if I have a lookup somewhere, I need to like manage that and I really don't feel like it. So I think the, the idea is to have to make like the namespace fields required in a, an upcoming SDK update, but that will take a year or so to really. David Gary Wood (59:15) Yeah. Yeah. Yeah. Yeah, I think so. Daniel (59:39) go through most of the customers because like people will like David Gary Wood (59:39) To filter through. Yeah. Daniel (59:43) the long tail of people who don't update their, you know. David Gary Wood (59:47) No, I've got it. I've got it. I'm just trying to I mean, I guess I'm trying to bike shed the problem a little bit, but like, yeah. Daniel (59:52) Right, right. But what I can do in the meantime is like, can do it the hard way, is I can just like have, just like, don't look at the, I can just like build up these individual data streams per customer, but don't use them yet. instead, like just like, like suck on the fire hose. And like for each namespace, like pull all the data. And at that point I know... what my app IDs are, so I can just filter those out. Means incurring a bit more bandwidth, but that is internal bandwidth, and I'm fine with that. I'm always thinking, when I'm in server land anyway, I'm just trying to build the future. David Gary Wood (1:00:20) Yeah. I'm wondering. Is there a point here where you could maybe build the future and then when stuff comes through without the namespace, it just doesn't go through that route. It goes through an older route or something that you're going to deprecate eventually. And then, you know, having a namespace becomes a requirement of having real time stats. That's where it becomes a Daniel (1:00:56) Yeah, I think that's probably the way to go. Basically, having a namespace is already required. By now, all customers who actually use telemetry deck have switched to a namespace. And the stragglers, I will just assign them one because they're mostly dead accounts anyway. So that part of the migration is complete. And the next part of the migration is just to ask people to actually tell me the namespace at this point. David Gary Wood (1:00:57) Yeah. Yeah. Yeah. Yeah. configure on the client. ⁓ Daniel (1:01:24) But then maybe I can do a lookup table. Because I can do these stream processors at multiple points, maybe I can just do some kind of cached lookup table that will update every minute or so, which wouldn't be too bad. David Gary Wood (1:01:33) Yeah. This is the thing, right, that I'm thinking about is like. Daniel (1:01:41) And then I wouldn't have to force people, I wouldn't have to force people to redeploy everything. David Gary Wood (1:01:47) No, but what you could do is if you're switching the routes, You know, so like you want real time, proper real time stats and your clients are not sending that namespace, right? If they're sending the namespace, your stats are coming through great. If they're not, then they go through a slower route. You can then surface that in the UI and say, Hey, do know what real time is not working as well as it could do for you? Cause actually this is something on one of your clients. This is not configured. You know, you can. Daniel (1:01:53) Hmm. David Gary Wood (1:02:16) You can do that that way and then that encourages the behavior you want as well. Yeah. Like, you know, performance degraded, as it were. ⁓ It's like a health, it's like a client health check at that point. You know, you've got clients in the wild. Misreporting stats like. Yeah. Daniel (1:02:18) Hmm. It does encourage it. How would you, like the problem is like, don't wanna, I don't wanna. Right. Right. David Gary Wood (1:02:43) I don't know, there might be a route that I'm trying to think of the edges around this. And some of that is that they may not be able to control their clients that are out there with older versions. Daniel (1:02:51) Right, that's the thing, like you can't really force everyone to upgrade, which is a thing. David Gary Wood (1:02:55) Yeah. Yeah, but that will tail off in a sense of that's people running older versions of their app. So there might be a middle ground there. like, because it doesn't need to be something that nags them all the time. It could just be, by the way, some of your stats are coming through slower than you may like. Yeah. Daniel (1:03:17) Yeah, maybe. Right. So yeah, something like that. I've I've been, I've been spending a lot of time in big data land. ⁓ even though I really wanted to improve user interfaces and stuff like that, I have like, I at least I'm gaining a lot of performance, like, because like, of course I also like stumbled upon various like other parts where like every time you research one of these things, learn another thing about the software stack you're using. David Gary Wood (1:03:27) Mm-hmm. Daniel (1:03:45) So I'm like, I can do this and this will give me another 5 % of performance here, which they will then be helpful for the customers because they will have to wait less for the data and stuff like that. So yeah, at some point, I really, want to have a server wrangler that is not me to do these things. But yeah, I'm still working on actually David Gary Wood (1:03:54) It all adds up. Yeah. Daniel (1:04:07) let's say like earning enough money to pay someone for that so that I can work more on the application side. David Gary Wood (1:04:11) on its way. Well. Daniel (1:04:14) All right, that is, I've been to server land. David Gary Wood (1:04:18) You have been to server land? Absolutely. But it's always lovely to hear. I'm kind of like I say, the problems that you encounter, still find interesting to try and bike shed. Even if I don't know what I'm talking about, I will give it a good try to think about how it might work. know? Daniel (1:04:32) Yes, the the only problem I have for these and I know I know that we're wrapping up soon like but like so the only problem really that I have is I love working on these projects. Like this is super interesting. Like this is my dream job basically. Like I like I get paid to do my own stuff with cool like with huge amounts of data and in like David Gary Wood (1:04:41) Hehehe. Daniel (1:04:59) And I'm the boss. Like this is awesome. The only downside is this, the stress that comes when something's not working, like it immediately affects like 5,000 people and, there, and there, and there are 30, 40 million customers. So it's like, like, like my blood pressure spikes. That is something I could do without, which is why I'm trying to move. David Gary Wood (1:05:05) Yeah. Yeah, yeah, there's something balanced on that. You Yeah, you need. Yes, rather than the opposite, which I don't think any of us need these days. So, no, I get that. but Hey, may it all keep coming together and may you be able to afford your server Wrangler in the near to medium term future. but Daniel do have to wrap up. so. Daniel (1:05:26) Slow and fix things. Let's wrap it up. Fantastic. I do want to play us out, but I have to find the thing. Here we go. Thanks for listening. Please rate us on iTunes and YouTube. us emails at contact at waitingforreview.com. Also send us pictures of your sanity walk, which is very helpful or equivalent activity. Join our Discord. The link is in the show notes. And Dave, where can people find you on the internet? David Gary Wood (1:05:52) Let's take this out. I'm going to leave that as an exercise to the listener today, Daniel. All of my socials are in the show notes. If you're listening on your favorite player or you're looking on YouTube, then go to the description in YouTube or the show notes in your player and you'll be able to find me. Daniel (1:06:34) Fantastic. David Gary Wood (1:06:35) Anyway, how about yourself, Daniel? Daniel (1:06:37) yeah, I am daniel at social.telemetry.com or I'm living in the Kafka streams in real time. Mostly on telemetry.com. All right, fantastic. David Gary Wood (1:06:45) Nice. And also our show notes, I never leave you out. Daniel (1:06:53) That's very good. That's awesome. Cool. I will have to go. So have a fantastic day. Have a really nice work day. I'm gonna go to play another round of Death Stranding, I think. And watch the servers in the meantime. David Gary Wood (1:07:00) Mm-hmm. You too, Daniel. Well, I'm going to. I'm going to attend to the cat that's been meowing outside my door for the last five minutes that I've been ignoring. Daniel (1:07:14) Aww. Fantastic. Give them a scratch for me. David Gary Wood (1:07:20) do. All right, well take care Daniel. Bye bye. Daniel (1:07:24) Bye.