00:00:00.66 James Welcome back everyone to Merge Conflict, your weekly developer podcast. Hello, 2026. We made it, Frank. How's it going, buddy? 00:00:10.15 Frank Isn't it lovely? A whole new year, a whole new start to everything. And it's been kicked off with all sorts of craziness in the world already. Who who would have thunk it? But we're we're here to talk tech and AI and then a little bit more AI on top of that. 00:00:26.55 Frank But i think ah I think first... 00:00:27.99 James ah got a light. I got a light. See the light? 00:00:29.94 Frank Oh, I'm so happy. There's real tech. Light. 00:00:32.92 James Yep. 00:00:32.94 Frank The original tech. 00:00:34.77 James Heather got me a light for Christmas. She's like, she's like, Frank's been telling you to get a light for your live streams and your podcasts for the last yeah five years. So get, so I got you this light and so I can tap it and change through different things. 00:00:46.85 James It's not, it's not, it's a USB rechargeable, but that's about it. So yeah, pretty nice. And now I try to match you. 00:00:51.23 Frank We'll see if you remember. 00:00:51.92 James Yeah. I, and I can, yeah, i can, I can turn, I can be like really, you know, we can really turn down the Elgato key lights, like really low. 00:00:53.46 Frank We'll see if you remember to recharge It's 00:01:00.54 James This is at 3%. three percent But see if it's too high, it's like 7%. 00:01:03.26 Frank good podcasting. 00:01:06.17 James 5%. Really trying, we're trying to get moody up in here. 00:01:06.71 Frank Mm-hmm. 00:01:08.67 James um Well, Frank, happy new year's. 00:01:10.26 Frank good podcasting 00:01:11.94 James It's a good, yeah, I'm trying my hardest. 00:01:12.09 Frank h 00:01:13.46 James Well, happy new year's and happy to news to all of our listeners ah that have been sticking with us. And also for everybody that has been maybe finding us from a little amazing plugin for your terminal called Oh My Posh that we are sponsoring. 00:01:30.30 James So I guess we'll, we're sponsoring them, but I guess we'll give them a free ad read, which is, You should probably install Oh My... 00:01:36.82 Frank So we're sponsoring them twice, I guess. 00:01:39.90 James Yeah, it's like a free... Yeah, it's like we're giving Jan free credits for it um on our pod. Wait, should we get paid? Okay, anyways, Oh My Posh is great. 00:01:49.99 Frank No, anyway. 00:01:50.40 James Yeah. 00:01:50.90 Frank I owe my posh people. 00:01:52.66 James Yeah. If you're coming in, welcome to 2026. We were able to sponsor a few projects this year. So we are we we're sponsoring Oh My Posh, which is pretty awesome because we'll talk about why a little bit. ah What kind of shenanigans I got into, Frank, this holiday season. ah But I've been using all my Pasha bunch and I was like, going to sponsor this project. And we got the merge conflict logo on the website, on the GitHub repo. Bingo, bango. Good to go Sponsor your open source projects, people. But Frank, I figured it's been a relatively exciting a few weeks because we talked about the 2025 recap. And now we could go directly into 2026. 00:02:33.21 James But I feel like I want to live in the moment, Frank, which is like, what 00:02:36.28 Frank Ooh. 00:02:38.10 James I thought I was going to do over the holiday break and what I did. And I think what you may have done based on some of your tweets. 00:02:47.39 Frank Oh, okay. Yeah. I was a little bit all over the place, to be honest. As as usual, I'm always like, I'm going focus on a project. And then I forget, for me to focus on a project requires roughly 12 hours a day for roughly three to four weeks in a row. That's my definition of focus, which just doesn't happen during holiday breaks. So I worked on... 00:03:09.46 Frank Not a holiday hack, but many micro hacks. that the Little hacking. 00:03:12.93 James Ah. 00:03:13.90 Frank Little hackings. Little hacklets. 00:03:15.48 James Mini hacks. 00:03:16.50 Frank Yeah, mini hacks. So, ah yeah, I'm happy to talk about those, but I'm curious to hear about yours, too. 00:03:18.55 James I would... Yeah, I... 00:03:23.26 James Yeah, I worked on a bunch of mini hacks as well, because nowadays everything can be a mini hack. But I also worked on a lot of like upgrades and migrations. 00:03:29.18 Frank Oh, 00:03:31.34 James I'll talk about that experience. But the first thing I did, and you weren't really home, I was home this holiday season. 00:03:32.60 Frank ah boy. 00:03:37.02 Frank Hmm. 00:03:37.66 James And there was a few things that I needed to do which was one, um spend some of my money on upgrading my office from the business account. So, you know, to bring down that income there. 00:03:50.81 James um And then additionally, ah i hate cords and cables, Frank. So I'm always on a mission to at least once a year, take everything off my desk and reassemble everything and put it back onto my desk. And that is what I did. So I'll tell'll tell people a little bit first on my setup upgrades here. First, you might be noticing I'm looking at Frank a little bit more direct in the face, and maybe y'all at home as well, because i guess I'm looking at them as well. 00:04:20.98 James But it's because 00:04:21.57 Frank I'm their avatar. I'm the avatar for the audience, everyone. Tell me what you want me to tell James, because he's talking directly to my soul right now, and it's a little hard to not look, because it's just right down the barrel of the camera, as they say. 00:04:35.93 James true. It's cause I got a teleprompter. I've been holding off for about 15 years on these, but Elgato has a great teleprompter and I can put Frank's beautiful face right there. And my Canon M50 right there pops up, which is really great. I also got a new microphone. I got a new arm, which is really cool from Elgato and a new Elgato dynamic mic, which is here. 00:04:54.81 James And additionally, I've been trying to work on my cable management. I got a Thunderbolt four, not a five, cause fives are really expensive, but a Thunderbolt four, um dock. 00:05:07.32 James And what is in that is like my camera, the teleprompter, a bunch of other stuff that I owe the, all the microphone stuff. So I can take it between my Mac, my windows machine, Mac book air, et cetera, et cetera. One cord bingo, bango. Good to go. 00:05:25.08 Frank Okay, so we I hate talking about dongles because I think we once spent like three months talking only dongles. But I do have to quiz you because during all that dongle talk, we both kept bemoaning the fact that all the Thunderbolt stuff was so expensive. So you end up getting mostly USB stuff. So have you noticed that this Thunderbolt one has more advanced features over like a USB dock? 00:05:48.06 Frank ah just like a normal USB 3.1 USB-C dock? And if so, what peripherals do you like? or are you just using it mostly as like a port expander? 00:05:57.62 James So this one is the actual Microsoft Surface Thunderbolt dock. However, it is Thunderbolt in, Thunderbolt out. ah So, or no, yeah, Thunderbolt out. 00:06:09.89 Frank Thunderbolt's supposed to chain, yeah. 00:06:12.05 James Yeah. So yeah, so Thunderbolt in, Thunderbolt out, and it has USB um A ports as well on it. It has a ah I think it has a HDMI and it also has an ethernet on it as well. 00:06:23.74 James um I'm mostly using it as a hub. However, I have a laptop that I'm testing that requires a very, very, very 00:06:30.84 Frank Oh, jeez. 00:06:31.43 James high wattage draw on it. ah And this dock does provide 100 watts of pass through power, ah which you kind of almost need from a Thunderbolt because you can't really get that 100% from USB three hubs. 00:06:34.62 Frank chief 00:06:44.60 James Usually they make them. But normally what I've seen is they are around 60 to 85. This one's actually, ah i think 120 pass through maybe. So this one's really nice. I have ah pretty much everything I want plugged into it. So I have my Elgato stream deck, my microphone plugged into it. I have the teleprompter plug into it. I have the camera plugged into it. So I kind of all of the peripherals that I could possibly want plugged into it. um And, and what I like about it is just one cord out and then kind of good to go between it. 00:07:14.39 James So it's the nice thing is that I bought this from the company store. So I got a 50% discount on it, which was the main reason that I bought it. 00:07:22.67 Frank Ouch. 00:07:22.71 James Yeah. 00:07:24.19 Frank That's how you got around the Thunderbolt attacks. Okay. Just to be clear then, um so the power is all coming through Thunderbolt? 00:07:26.97 James Yes. 00:07:30.63 Frank There's no external power source? It it is not itself a power source? 00:07:34.55 James Oh, it it has a you you have to plug this puppy into the into the wall. 00:07:37.72 Frank Yeah. Okay. 00:07:38.76 James Yeah, it has a dedicated it has a dedicated brick that I'm pretty sure is ah bigger than the dock itself. 00:07:39.32 Frank Yeah. 00:07:45.54 James So this dock, okay, so this dock, let me go to the tech specs. 00:07:46.49 Frank Sure. 00:07:51.10 James It is 165 watt power supply. 00:07:54.84 Frank My God. 00:07:55.38 James It gives 96 watts pass-through. It has front-facing USB-A, front-facing USB-C, which is a Thunderbolt 4 video-enabled 15 watt. It has two rare USB-A 3.1 and two additional USB 4 Thunderbolt 4s, an Ethernet jack and an audio jack on it. 00:08:19.00 James on there. So what's nice about this is that all of the USB-C, right, are USB-C 4, so Thunderbolt 4 compatible. 00:08:25.53 Frank Yeah. Yeah. 00:08:26.82 James So the one thing I like about this is sometimes you get a dock and like one of the ports is, is the, is the, but but I know if I'm plugging in a USB-C, it's Thunderbolt 4, which is confusing for a lot of people because Thunderbolt 4, USB 4, they look exactly the same. 00:08:42.82 James They use, you know, yeah. 00:08:43.69 Frank The connector is the same. It's all a USB-C connector, which really confuses the heck out of everything. um It's fine. 00:08:49.73 James Yeah. 00:08:51.34 Frank You just got to look for the little lightning bolt on it, which for whatever reason means thunder. 00:08:54.88 James Yep. 00:08:57.85 James Thunder, thunder, lightning, lightning and the thunder. 00:08:58.04 Frank Thunder and lightning. We confused the two. ah Cool. I like it. um I'd say the biggest upgrade then is that it's actually featuring ah those additional ports because i've I've bought a million USB-C dongles at this point. 00:09:02.55 James Yep. 00:09:10.04 Frank And the biggest problem with USB-C dongles is they often don't have USB-C on them. 00:09:15.00 James yeah and 00:09:15.20 Frank Oddly enough. 00:09:16.53 James Yeah, and on my mac mini on my Mac Mini, for example, here, i have... um the USB-C, ah ah the the base stand, the the Mac Mini, but that's only USB-C. 00:09:22.60 Frank Four? 00:09:27.32 Frank Right. 00:09:28.34 James it' in Now it does have, obviously, the hard drive that you can put in there, but all the ports are just USB 2.0, basically. So it's really only good for a little little tiny dongles, and and that's about it. 00:09:35.38 Frank Yeah. 00:09:38.86 James So I was even looking at maybe upgrading that, but I haven't found any Thunderbolt 4, I think because they get too warm. 00:09:39.07 Frank Yeah. 00:09:45.88 James I think that's why. 00:09:46.58 Frank Oh, they go underneath? 00:09:46.60 James They get too warm. Yeah. 00:09:47.74 Frank Yeah, because all the cooling on the computer is at the bottom also. Yeah. Okay. Well, throw some ice cubes on there. I don't know. Get it get a liquid cooler from a PC and jam it in there. Yeah. 00:09:59.29 James But i I'm really proud of myself because i tore everything off the desk. I redid all the cables. 00:10:03.67 Frank Nice. 00:10:04.29 James They're all super nice. If I look under the desk, did this. 00:10:05.66 Frank Ah, God. 00:10:06.41 James And then i have I've always had under my desk like a a rail for all the cables. It's a big metal box. 00:10:13.52 Frank Cool. 00:10:14.62 James And what I would do is I would put a a strip, ah you know ah an extender, you know an outlet extender, power strip, power strip, power strip, big power strip. 00:10:24.27 Frank Yep. Big guy. Big one. Little one. 00:10:27.16 James And you put it in there and then all these dongles and adapters all go in different ways and it's all messy. 00:10:27.17 Frank Yep. 00:10:32.25 James So what i went is I went to the local Fred Meyers and I was like, I bet they have some different ones and they have a magnetic one. 00:10:32.36 Frank It's terrible. 00:10:40.50 James so and So it's a magnetic one, the back of it. 00:10:40.79 Frank Oh. Which part's magnetic? 00:10:44.92 Frank Cool. 00:10:45.53 James So you can, it's for like a workshop. 00:10:45.62 Frank Okay. 00:10:47.29 James So you can just like stick it somewhere, but it's perfect because I can stick it underneath on top and it's a crazy powerful magnet. That is just like amazing. So I love it. So I was able to stick that all the cables, all the cords are really beautiful. 00:10:55.99 Frank Cool. 00:10:59.61 James i'm really excited about it. Um, yeah. And then I, I cleared everything off. I'd move things around. I tried 18 different microphone stands, but I'm, I'm pretty happy at this point, uh, with, with the setup until next year where I do it all again. 00:11:12.68 James And Heather was like, I think you might've spent more time rearranging your desk than with me. 00:11:13.50 Frank No. 00:11:16.68 James So that's a problem. 00:11:17.82 Frank Oh, ouch. Okay, critique. um Yeah, I like to call this time of the year the time of the year when James makes me feel feel bad about my desk. um Because I believe I remember myself last year saying, this is going the year i clean off my desk and make it as good as James. No, I'd say it's gotten worse. 00:11:33.78 Frank It's even more complex and even more terrible. you You say you've been refining your cables? I have too. My cable pile is now roughly that high consistently across the entire desk. If I need to set something down, i put it on top of the books that have cables on top of them that have other books on them and cables on top of those. And that's what I call stability. 00:11:54.55 James Nice. I like that. I like that. 00:11:56.41 Frank ah You make me feel so bad. I'm going to do it this year. This is the year. This is the year i fix my cables. God. 00:12:04.76 James Anything is possible, Frank. Anything is possible. 00:12:07.10 Frank Maybe... 00:12:07.36 James Okay, well, that's what I've been hanging on a little bit. What have you been hanging out We can go back and forth a little bit on stuff, but I don't know what all you've been doing. 00:12:12.84 Frank Oh, can I tell you my favorite one? 00:12:13.85 James yeah what you been up to? 00:12:16.72 Frank I also have a Microsoft product, but mine is old. I go for the old stuff, James. I recently came into possession of, through no real intentions of my own, a Surface 1.0 device, a TouchSense, a PixelSense device. 00:12:37.89 Frank Do you know what these are? 00:12:38.23 James ah Ah, yeah. 00:12:39.41 Frank The original Surface. before Microsoft started calling every product Surface, there was the original Surface, which was, i don't even know what the intention was, or then it was the coolest, the big one, the table, the big Pac-Man table. 00:12:52.12 James The big one. 00:12:55.37 James The table. 00:12:56.53 Frank I have one, James. 00:12:56.93 James Yeah. 00:12:57.77 Frank i have always wanted one my entire life, and I now have one ever since I first saw them. I think these are circa 2007, 2008 technology. They are some of the original multi-touch devices because it's not even a touch interface. 00:13:07.00 James Yeah. 00:13:11.28 Frank It's not even capacitive touch. It uses these things called cameras to figure out where your hand is. And it has the craziest rear projection screen with like... 00:13:22.91 Frank It's just cool. There's a projector shining up onto a projection screen. It's all on this giant table that's made of epoxy or some magical chemical. 00:13:33.56 Frank And then there's five cameras looking up to it, running the most janky version of Windows Vista you've ever seen in your whole life,.NET Framework negative 3.5 or something like that. And it is so charming because it is simultaneously a blast from the past because like this is like basically pre-iPhone. We were still figuring out like what are multi-touch interfaces? What kind of user interface paradigms can we implement? 00:14:05.43 Frank But it's also fun because like it's the Windows Vista world when Microsoft really truly believed in.NET and all the software is written in.NET. I was having the dickens of a time getting some software running for it, ran it through an ILD compiler. Oh, now I know the exact algorithm they use for calibrating the machine and everything. 00:14:22.78 Frank So my my holiday hack has been trying to get this thing up and running and maybe even writing some code against it, ah which has required a lot of reverse engineering because, as you can imagine, a 2008 device is not that well documented. It has not survived all the Microsoft Docs migrations and all that stuff. Basically, every link you can find on this device on the Internet is a broken link. 00:14:47.15 Frank and it's horrendous to find driver support for anything any documentation anything but that just makes it more fun so like when you get something working on it and it's like seeing your hand and you're like tapping the pond and there's bubbles in the pond or you're playing the chess game which is leggy as all heck but it's still fun because it's true multi-touch you know what's fun about it it's not even multi-touch in the way like Apple detects your fingertip. 00:15:11.48 James Thank you. 00:15:13.44 Frank It can detect shapes. So like when you put a rectangle on it, it sees a full rectangle and it can draw like a pattern around it. It's like a blast from like a technological tree or branch that we chose not to follow. 00:15:28.98 Frank This rear projection camera based stuff. But it's so cool and it's so fun. And you just, I make fun of like the Windows Vista and the actual computer and it's not that great, but the hardware is magnificent. The screen on it's magnificent, the projector on it, the cameras are so-so. 00:15:48.57 Frank it's It's just such a beautiful piece of hardware. the software's trash and so my holiday hack has been not a lot because obviously there's no money to be made here this is just a hobby has been recreating a lot of the old software to get it working 00:16:04.34 James Yeah, I'm trying to find... trying to find the link to them ah Windows Central as Microsoft's 2008 Surface coffee table in 2017. They re-reviewed It was the original. 00:16:16.34 Frank oh 00:16:16.42 James So if you've never seen like something this, go to Windows Central, type in type in Microsoft Surface coffee table. That's what you'll want to find. It is beautiful. Okay, so this thing is running an Intel Core 2 Duo 2.13 gigahertz processor as an ATI Radeon X1650 with 256 megs gpu ram 00:16:34.81 Frank Custom Radeon. 00:16:36.15 James custom Uh, it does have two gigs of DDR2 memory, 160 gig hard drive on it. Now this thing, ah was 32 bit. 00:16:45.34 Frank Ethernet cameras. 00:16:45.43 James Oh, wow. 00:16:46.58 Frank The cameras aren't even USB. 00:16:47.10 James oh um 00:16:47.98 Frank They're Ethernet-based cameras. 00:16:49.88 James It is, so this thing is lovely. So if if people don't and just just go ahead and like Google for that, it was like very bright on my face. Um, so go ahead and like Google for that. 00:16:58.23 Frank Yeah. 00:16:59.58 James And windows central has this post on it. Now the cool part about this is this was a great time because 2008 was. i was just yeah I was working at Canon and I was getting into a lot of wind forms development and then WPF development and then silver light development. 00:17:11.83 Frank Yeah. Yeah. 00:17:18.63 James And I remember the the Surface table specifically because the whole goal of this was, it was for, not for consumers, this was for businesses that would buy it. 00:17:31.90 James So if you were a in Las Vegas, right, or you were a hotel, You'd have these things where people could entertain them space. they'd have like a central hub that was there. I funnily enough at the orthodontist, they have something like this. 00:17:44.52 James It's like with games and stuff. 00:17:45.04 Frank OK. You sure? 00:17:46.24 James I think it's just like a big tablet now, but they have it for the kids and they go and they do stuff. 00:17:48.54 Frank yeah sure 00:17:50.40 James But this thing was like revolutionary at the time. And I remember like the mock-ups and seeing it. And and I was really big in at this time and like the CES shows and things like that. this thing was all over the place. 00:18:01.88 James ah And I never got, did I get to play with one? I think I got, I went to build, I think in 2009, want to say maybe, and I got to play with it. I believe I i play i played with it there, PDC or something like that. 00:18:13.79 James And this thing was like mind-blowingly just so cool because it's this huge thing. you never You never think of it, you know, and and as as ah as a gamer growing up in the arcade, there were some of these tables, you know, these inputs, but the touch-in, like no one was doing, like what we were in 2008, I had, 00:18:19.80 Frank yeah yeah 00:18:29.75 James i had I think maybe the first iPhone it had come out. 00:18:34.03 Frank yeah 00:18:34.62 James Right. And then, um I had an Android flip phone, uh, with a keyboard on it still. So this thing comes out you're like, wow, like touchscreens weren't a thing. Like what are, what are touchscreens? 00:18:45.46 James You know what I mean? So this, so I think it's hard to look back, but this is like revolution. Where did you find this at? 00:18:51.29 Frank Well, a friend dropped it off. Unfortunately, the easiest way to do it. No, but um it fell off a truck. 00:18:55.16 James ah fell off a truck. I love a truck. 00:18:58.21 Frank um And they were, I believe it came from Craigslist, if that helps narrow it down, which of course not. But it was obviously from a business. 00:19:08.25 Frank They were using it. And then they had no idea how to support it anymore because it's the year 2026 now. And so absolutely no no one knows how to work on these anymore. 00:19:18.45 Frank So like they just had it sitting there. They weren't even sure if it was running or not. So the guy was selling it basically like, you know, no questions asked here. You you buy this thing, you deal with it because it's heavy too. 00:19:30.17 Frank So you got to know how to move this puppy. 00:19:30.74 James Yeah. Yeah. 00:19:32.49 Frank um And ah my friend picked it up and I think he only spent a couple hundred bucks on it. And I think mostly it was labor trying to move the stupid thing. 00:19:45.11 Frank ah The problem was um someone had, this took a lot of research. So I'm condensing down a lot of my own research and all that stuff. But at some point someone had tried to recalibrate it and totally messed up its calibration. 00:19:59.51 Frank And therefore, it seemingly didn't work at all. um Fortunately, through my awesome ILD compiling skills, I was able to track down the calibration algorithm. And I was also able to um recreate the calibration grid that it needed. ah Oh, sorry. So I'm cutting to the end of the story here. But um my friend was like, well, it's a fun table. He wanted to play Command & Conquer on it. Like, it is an ideal gaming device. 00:20:30.88 Frank I want to play Ms. Pac-Man on it. For me, it's just a Pac-Man table. That's what I want it to be. Yeah. And he was like, well, this is kind of useless to me because it's not working. And so he gave it to me to kind of figure out, ah you know, it's mine because I figured it out and now I get to play with it. I may or may not give it back. We'll see. But I'm at least going to play with it for a long time. So friend bought it for nice and cheap because no one knew what to do with it or that it used to cost $10,000. And 00:21:03.06 Frank um And because it seemingly didn't work, but it just recorded a little TLC, just a little bit of love, just a little bit of decompiling, and you could get it working again. 00:21:11.77 James Yeah. 00:21:11.86 Frank So I even opened a little GitHub repo um document, because i it took me forever to figure out how this calibration grid should work. So I wrote a little program that generates a new grid and so that you can recalibrate a table and get it all tuned up and working again. 00:21:28.57 James you should You should blog about it and do some videos and photos. 00:21:30.97 Frank I will. 00:21:31.64 James You should probably reach out to Scott because I bet Hanselman has one somewhere. 00:21:31.83 Frank but 00:21:35.68 James If somebody has one, Scott probably has one lingering. 00:21:36.57 Frank Somewhere. 00:21:39.58 James I'm pretty sure that all of the software, so it would be in demo mode. 00:21:40.50 Frank Yeah. 00:21:43.94 James I'm pretty sure all of the software was Silverlight software. I'm pretty sure. No, or is it WPF? 00:21:48.92 Frank Pre, pre. 00:21:49.90 James Pre? 00:21:51.08 Frank It's its own thing, bro. 00:21:52.60 James Thing. 00:21:53.40 Frank They built their own shell to execute all this software because not invented here. So it's all C-sharp code. 00:21:59.83 James Yeah. Ah, 00:22:01.40 Frank It's all their own SDK. And my God, the amount of engineering. Like, there it's just yeah the amount of engineering. They built their own shell, basically, to run all these apps. 00:22:12.36 Frank And there's ah actually majority of the code is XNA. 00:22:16.79 James yeah okay 00:22:16.91 Frank It's great. Yeah, so that's that's how unique it kind of is. But fortunately, it's all kind of C Sharp or at least.NET, so you can decompile it into C Sharp. And um you can still get the SDKs. They float around the internet, so i was able to install the SDKs and get some basic versions of it working. The system image and such are much harder to find, but if you look hard enough, you can find them. i'm I'm sure Microsoft's got a few floating around. I don't know if there's any employees left that remember how it works or anything, but yeah, I'll definitely have to tell Scott that I've been having fun recreating this thing. 00:22:54.39 James And if Scott knows somebody that worked on it, that's still on the.NET team, I bet that that there was some, I'm sure there's someone still around. 00:22:57.28 Frank Mm-hmm. 00:23:00.18 James I'm pretty sure that there's a Surface table in building 18. Next time I go into the office, i will I will check it out to see if there is one sitting there around. If anyone knows, I'll ask in the Teams channel. 00:23:09.69 Frank Mm-hmm. 00:23:11.57 James That's really cool because those things are one really heavy, really expensive and really hard to find. So that's ah a treasure that you have found there, Franks, that I'm jealous because because the the canonical video that you'd always see would be the bubbles. 00:23:20.41 Frank Yeah. 00:23:24.80 James That's like the that's the demo. You can move bubbles around. 00:23:26.93 Frank That's it. 00:23:27.56 James you get the Bubbles. 00:23:28.50 Frank Koi pond. 00:23:28.60 James Bubbles on the screen. 00:23:29.66 Frank Yeah. 00:23:30.25 James 2008 peak bubbles. Bubbles on the screen. 00:23:34.26 Frank it was Oh, God. And now that I've seen the source code for it I'm just like, oh, my God. Really, guys? Really? This is what we were doing in 2008? 00:23:40.70 James ah 00:23:42.14 Frank Well, I just haven't decided if it's going to be like a coffee table in my living room or just like a fun little surface to have in the office or that kind of stuff. 00:23:42.51 James That's cool. I like it. 00:23:51.14 Frank So I still haven't decided where its forever home is going to be. But I don't really want to give it up because I've always wanted one. And now I have one. And it's just we're both technologists. It's just fun to have that piece of technology and that piece of history around. 00:24:04.23 James Oh, yeah. That's so cool. Well, let's stay on the.NET paradigms. I've been ah this holiday. i thought it was going to be off, Frank, because if you remember, and remember the last time we talked, I had shipped a brand new app to the App Store. Do you remember that? I did it. 00:24:20.53 Frank I remember you're shipping an app like every week these days. I'm just falling behind in the app creation business. But um yes, you had You were, are we talking about the weight tracking app? Is that the one we're talking about? 00:24:33.46 James We are. So I trim tally. 00:24:34.84 Frank like 00:24:35.82 James You can go get it. It's completely free. It's private, secure, on-device only tracking. You can optionally iCloud backup sync, which would be whatever crazy Apple security, super secure there, as well as health kit integration, which is really rad. 00:24:50.71 James that was a vibe coded app and I worked a lot on it. A lot of beta testers. You were a beta tester. I've been on a beta tester. I've been on a 30 or 45 days streak using it, unlocking my own awards, which is really cool. I use it. I built it for myself and i shipped that to the app stores. I felt really good going into the holidays. Like I did it. i was like, cool. 00:25:09.53 James And, 00:25:11.03 Frank I just to to interrupt, like we've been creating a lot of stuff thanks to vibe coding and all that stuff. Getting something to the point where it's actually on the app store is still a significant amount of effort because there's a lot of all the meta stuff you have to do. 00:25:22.73 James Mm-hmm. 00:25:24.86 Frank There's the refinement. So you're not embarrassing yourself on the app store. And then there is the dreaded actually getting an approved process. So I just want to say congratulations if I wasn't clear enough before. 00:25:34.30 James yeah Thank you. Yeah. And, and, you know and I, it's a little bit different than a lot of the other vibe coding stuff that I've been doing, which is a lot of websites that we'll talk about, as well. And, and not that I don't want to belittle anything, but a lot of the websites I've been doing are really small things for me, uh, things that I find myself and interested in that I want to get up and running on a static website, which I think is awesome. It isn't necessarily, 00:25:58.62 James um going through this big review process, right? I can go from idea of a website to deploying, whether it's in Blazor, whether it's in TypeScript and React, whatever it is, in like an hour or two. 00:26:02.45 Frank Thank you. 00:26:08.57 James Get a domain name. I have it down pat. I have those A record IP addresses for GitHub pages locked in and loaded. 00:26:14.62 Frank isn 00:26:15.09 James have them memorized or burning in the hole in my skull ah there. so But you're right because i had I went on Fiverr. I had a bunch of people make icons for me, right? I paid money to do that. all the metadata, all the screenshots. I did ah some video promotion. I built the website, got it deployed. 00:26:33.37 James And then, you know, the scariest part is that I was was getting it ready to go for the holiday season and the app store slows down a little bit and doesn't stop anymore, which is good. However, 00:26:44.80 James I'm shipping a weight tracking app and you had gotten some app rejections for your app not being unique enough. 00:26:48.25 Frank Mm-hmm. 00:26:51.69 James And I was like, they're going to totally reject my app. Why Apple, the Apple app store does not need yet another tracking app. But sure enough, first time around they approved it, Frank. So good to go. 00:27:01.30 Frank They love fitness apps. They just love it. 00:27:03.67 James um love it. 00:27:03.90 Frank you You write anything fitness, they're just like, oh, please. Yes. Does it integrate with the Apple Watch? No, but maybe you should think about it. Apple is all about the fitness. 00:27:10.61 James No. 00:27:12.50 Frank Tim Apple's there for you. Well, yeah, congratulations. Yeah, it's it's ah it's a dense space, but you're a free app. So you'll get you'll get the downloads. I'm curious to see. I'd like to see some of your download numbers sometime and if you're ever willing to share them. 00:27:27.82 Frank Because it it it is a crowded market, but free apps, you always get something, at least, with a free app. 00:27:30.92 James Yeah. 00:27:33.70 Frank You get some amount of downloads. 00:27:35.51 James I have users. 00:27:37.66 Frank Okay, there we go. 00:27:38.04 James i I have some some users. 00:27:39.10 Frank Okay. 00:27:39.64 James oh Yeah, that's good. um So I thought I was going to be done with it. However, there were many, many websites that i created and pushed out really all over the time. 00:27:49.46 Frank ah 00:27:50.23 James But I actually went and um published three new app updates to different app stores, which also are complicated. So the first thing is I finally finished, Frank, my is Xamarin.Forms to.NET MAUI migrations. They're done. 00:28:08.80 Frank Finally. It's what, a year and a half beyond the required stop period. 00:28:14.70 James They're done. 00:28:16.49 Frank Congratulations. Congratulations. 00:28:18.68 James Thank you. 00:28:18.81 Frank donen Done done? Shipping? 00:28:21.21 James Shipping, yes. So both of them, so so for iOS, so what was nice about this is you wrote a beautiful blog post and not only for the the Trim Tally iOS app was a very helpful to to ship things out and do builds, but you had helped to me ah because I shipped the Scoreboard app with.NET MAUI, which is Blazor, and your blog post helped me get it from 00:28:22.53 Frank Yes. Okay. 00:28:36.75 Frank Okay. 00:28:45.27 James um I have some some just source code to actually having a GitHub action that pulls down everything and deploys it to TestFlight. mean, I can see it right away and it works brilliant. 00:28:56.95 James It's really, really good. um So obviously I had that the scoreboard app that I updated, but the Ski app that I have, this was a bigger change because the app made the.NET 10 migration. 00:29:08.22 James It made the iOS 26 material or material design, liquid glass design. 00:29:13.57 Frank yeah that one 00:29:14.55 James ah And that was scary because I needed to test it on a bunch of simulators and what it does it look like on old devices and new devices and do I do this, right? And do I need to make changes? 00:29:22.07 Frank Yeah. 00:29:23.38 James And luckily it's not that complex, but it just kind of worked. 00:29:24.32 Frank So to be to be clear, you're not requiring 26. You're just taking advantage of 26 features. Is that right? 00:29:32.73 James That is correct. Yeah, yeah. 00:29:34.17 Frank Okay. Because something I learned in this holiday season is, my goodness, there's a bad reputation going around about macOS 26 and iOS 26. And a good chunk of my family has not been upgrading. 00:29:46.21 Frank So I'm like, oh, guys, you know, like, just, it's fine. They're like, yeah, but they moved the button. I'm like, they move the button every few years. Just look for the new button. It's funny because you and I spent a lot of time complaining about them too. 00:29:58.43 Frank But like, we both still upgraded because we're psychos in that regard, I guess. 00:30:00.46 James Yeah. 00:30:02.46 Frank But like, there are There's a lot of people not upgrading, and and so I feel like, oh darn, we're going to be supporting iOS 18 for a long time, aren't we? 00:30:11.99 James Oh, yeah. Well, I got a so I got a support ticket for my scoreboard app, which was your app doesn't seem to run on iOS 15.6 on my old iPad that doesn't get any more updates. 00:30:12.42 Frank Stacks. 00:30:21.23 James And I was like, no, and sure enough, it doesn't. 00:30:23.00 Frank you 00:30:23.47 James So I'm going to it should it should going to. 00:30:24.12 Frank ah It should. You want it to. Yeah. 00:30:27.41 James i'm I'm filing a ticket with the Maui team on that one. So that should work. 00:30:30.81 Frank Oh, no, it should. 00:30:32.00 James Yeah. 00:30:32.99 Frank I still ship for iOS 15. So, oh, you think it's a Maui bug? 00:30:38.13 James It's a Blazor hybrid in Maui blogt bug. It's a WASM bug. 00:30:41.69 Frank Gotcha. 00:30:42.51 James It's a WASM bug. 00:30:43.11 Frank Wasm. Dang. 00:30:44.57 James I'm 99% sure it's a Wazen bug. 00:30:44.63 Frank Okay. 00:30:46.65 James So I went through, this was a bigger change because I worked with, we came to a head because during the season, one of the services the team was using went down, which means the app was crashing. 00:30:47.47 Frank Okay. 00:30:58.19 James So didn't have good stuff in it. So I really need to get an update out. And, uh, The app update um ah meant i I deployed a new Azure function and I was doing a bunch of more logic. So instead of calling their back end, which was scraping another back end, I now call my own back end where I can manage it and it's a lot better and cleaner. 00:31:12.60 Frank okay 00:31:15.10 James And that was good. And that was approved and good to go. Pretty slow, pretty slow approval process. 00:31:20.40 Frank Around 00:31:21.91 James But it's out. 00:31:23.34 Frank the holidays, though. 00:31:24.28 James Around the holidays. 00:31:24.82 Frank Right. 00:31:25.24 James Yeah. 00:31:25.72 Frank Yeah. ah They definitely give vacation time during that time. 00:31:26.64 James Yeah. 00:31:29.02 Frank Yeah. 00:31:29.82 James Now Frank, also on the Android version of this app, this was the app that I told you that I lost my key store. 00:31:38.27 Frank Oh no. Oh no. What does one do when they lose their key store? 00:31:43.03 James Yeah, so I had the key store. I just didn't have the password anymore because I'd put it into App Center. 00:31:46.07 Frank Oh no. 00:31:47.28 James I'd put it into App Center and then not remembered because I was like App Center will never go anywhere. And then sure enough. 00:31:52.06 Frank I hate to say this, but like no one's just doing a dictionary attack against those because like there's no security with these key stores. 00:31:52.38 James ah 00:32:00.51 Frank Let's be frank here for a minute. you can You can just dictionary attack these things, and within a few days, you're probably going to break it. So you did you try any did you even try to do that? Nah. 00:32:10.97 Frank Okay. 00:32:11.02 James No. 00:32:11.18 Frank Okay. 00:32:11.26 James So, so on Google play. So for the longest time, the default, when you create a new app is to allow Google to re-sign your application. 00:32:21.71 Frank Yeah. 00:32:22.30 James So you give them your key store with the password and you, you put it up there, you upload it, and then they will use that as, Hey, this is your signing key store. And they will use that to verify that you are the one uploading, but then they will re-sign it. 00:32:36.22 James okay with their key store. 00:32:37.66 Frank Fascinating. 00:32:38.68 James So that means that means if you lose your key store, it's okay because Google has a key store that they're the only ones ever signing. 00:32:38.94 Frank Got it. 00:32:44.25 Frank Yeah. 00:32:47.78 James Now, if Google loses your key store, then that's ah that's a problem for every single app in the app store. So There's actually a way to do this and it's a multi-day process. So you have to not only create a new key store, you also have to get like a P whatever. You have to run some key jar thingies on it. You get a bunch of stuff. 00:33:06.23 James You have to go into the Google Play portal. You have to go to the specific section. You have to say, I want to reset my key store, my signing key store or my upload key stores, my upload signing key store. You reset it. You give them your new key. Boom, boom, boom. They send you an email. They said, Hey, someone's requested this. 00:33:22.49 Frank Yeah. 00:33:22.68 James Are you sure you want to do this? If no, let us know else we will let you upload a new app to the app store in 48 hours. You have to wait 48 hours to do it. 00:33:31.61 Frank Okay. 00:33:33.82 James Yeah. It's 00:33:34.30 Frank I gotta say, this sounds okay to me. I mean, it could be a lot worse. 00:33:37.77 James okay. 00:33:39.06 Frank I mean, you did... 00:33:40.63 James They could not. 00:33:41.59 Frank Imagine all those people who lost their Bitcoins in 2005 or whatever. 00:33:45.50 James Yeah. 00:33:46.59 Frank I feel like it's one of those situations. So, you know, few emails and waiting a couple days. That sounds kind of okay to me. um it's It's nice. i No hypothetical, so you don't even have to guess if you don't know, but like what if someone hadn't used the Google signing thing? 00:34:04.76 Frank like What happened in the past when they lost their key store? Was it just gone-gone, or could you reset it also at some level? 00:34:11.80 James Oh, no, if you lose your key store, you can no longer ship app updates to your app ever again. 00:34:16.89 Frank Yeah, that's what I figured. I thought it was that. Yeah. 00:34:20.09 James Yeah, so you have to basically delist and then upload a new one and new, yeah, it's bad news. 00:34:21.59 Frank Wonderful. 00:34:25.05 James that's It's terrible news. 00:34:25.91 Frank Yeah. 00:34:26.25 James So that's why they really say, 00:34:27.13 Frank So this is an improvement over that. Okay. 00:34:29.70 James Yeah. 00:34:29.93 Frank Definitely an improvement. 00:34:30.62 James So, so big improvement. So anyways, apps, apps updated good. And I also, at the, at the same time, I have all these, uh, blazer websites and I use, I wanted to try it out. 00:34:34.32 Frank Bravo. 00:34:39.94 James I use the, um, GitHub co-pilot migration and update assistant for.net. That might be the name of it. 00:34:49.46 Frank Right. 00:34:49.64 James I don't know. 00:34:50.49 Frank Sure. 00:34:50.81 James there There's Pro Deluxe Super Edition. 00:34:51.16 Frank Pro. 00:34:54.14 James So this is ah an extension that you can get for Visual Studio or Visual Studio Code. You point it at your repo and you say, this thing's on.NET 8. I want it to be on.NET 10. It does a whole thing. 00:35:05.26 James You come back five minutes, 10 minutes, 20 minutes later based on how big your app is, and it's done. 00:35:08.50 Frank hu 00:35:10.26 James i ran it on a bunch of apps and it worked to great. 00:35:10.78 Frank Yeah. 00:35:13.43 James And it read reports for us, it analyzed the code, it updated all my NuGet packages. 00:35:14.60 Frank Cool. 00:35:17.88 James It works great. If you haven't tried this thing, it's really cool. And I love like the reports and the CSVs, all this markdown that it tells you what it's doing. It's very, very nice. even haven't tried it. That was one of my holiday. 00:35:29.11 James Cleanse lean. I was cleaning up my desk. I'm cleaning up all my old crufty apps. 00:35:30.90 Frank Yeah. ah 00:35:32.68 James So there's no reason to do that as well. So those are some of my.NETty things that I did. 00:35:35.69 Frank Well, 00:35:38.46 Frank I feel like such an idiot now because I did all that by hand. 00:35:42.71 James Like an animal. 00:35:42.86 Frank If I'd only waited a year and a half longer than I was supposed to, like you, then i could have had an AI do it for me. Ah, darn. 00:35:50.76 James That's right. 00:35:54.92 Frank Well, my next holiday hack, what I've been doing is just writing throwaway apps. And they're not throwaway. Maybe someday they'll be um published or something like that. 00:36:06.99 Frank But I'm not like you. I didn't get any of them to a publishing state or anything like that. But we've been talking about how fun it is. If you just have an idea, um then you can just you know start start commanding the AI to make my idea, bro. 00:36:23.32 James Yeah. 00:36:23.61 Frank Why do I have to do it? 00:36:24.09 James Yeah. Make it. 00:36:25.29 Frank Just because I'm a programmer doesn't mean I should be programming. That's silly. And um I wanted to try to do it what I call the James way. Which is ideally, you're sitting at an airport drinking a cappuccino or something, waiting for your flight to Milan for like some kind of art show or something like that. 00:36:44.54 James Sure. Okay. 00:36:45.84 Frank what That's how I assume you live your life, James. And you're just there commanding AI robots in a data center to do your job for you. And I'm like, I want to live like James. 00:36:58.10 Frank So I decided ah i had this little throwaway app idea. So for the holidays, I had to make some christmas ah Christmas cards for people. 00:37:10.10 Frank And I'm too cheap to go out to the store and buy them. But what I am willing to do is spend eight hours futzing around with all sorts of technologies and printers. Did you know printers are still a thing? 00:37:20.42 Frank And to make my own and to make my own Christmas cards. 00:37:21.02 James have one 00:37:25.98 Frank And boy, I did it the absolute worst way, you know, just buy by like custom prompts and like giving AIs and like, here's the theme for the card. It's from me to this kind of person, generate an image and a cute interior text and that kind of stuff. 00:37:43.58 Frank And i did a couple of them and they were hits, James. They were hits with people who on the record said, what is AI good for? 00:37:48.98 James Nice. 00:37:53.43 Frank Slash isn't AI just for plagiarism? People who have said those exact words loved their AI generated Christmas cards, 00:38:02.86 James Nice. 00:38:03.58 Frank um which opened up a whole can of worms because then people started asking me, how did you make these? And I'm like, well... in the worst possible way because I'm a programmer. 00:38:14.14 James Yeah. 00:38:14.98 Frank I do things the hardest possible way they can be done. um You know, I used, like I said, I used the AI tools, but I also used like pages with my own custom layout. 00:38:25.02 Frank And I had to print like 12 different copies before I had like the fold correct. So like the, thing would actually fold into a card correctly and all that stuff. It was a lot of trial and error. 00:38:35.41 Frank And in the like final pages file, there's text that's literally upside down. And I just edited it upside down because we're programmers. We don't care. We have no standards. And so people in my family were like, oh, how did you make these? And I'm like, very painfully and very slowly and very incorrectly. And they're like, aren't you a programmer? And I said, ostensibly, but really my friend James is when he's at an airport waiting for his flight to Milan. 00:39:00.60 Frank And ah then they're like, could you just write an app to do this? I'm like, maybe. so i spent ah i spent a day, the James way of commanding an AI through various GitHub PR requests and issues to try to build this app for me. And I want to say I had pretty good success. 00:39:20.41 Frank um I did the normal thing of us. 00:39:20.60 James Nice. 00:39:22.93 Frank I don't want to pay for any services. So I was using all Apple intelligence and trying to run everything on device. Apple has its own image generation framework. Apple has its own LLM on device. 00:39:35.05 Frank And I thought I'd write an app that takes advantage of those. And i was able to kind of crank it out. So you give it a few parameters, who the card's to, who's it's from, some theme ideas, something like that. And it generates a cover image and it generates an interior and it actually gets all the folds correctly so you don't have to do the upside down text like I had to do in pages. 00:39:55.51 Frank um I think it's a cute idea. i don't know if anyone owns printers anymore, but maybe I could integrate with like some online printing services or something like that. So the app's not like a great idea or anything, but it came out okay. 00:40:08.86 Frank And like I said, the cards were a little bit of a hit. So I think I might actually finish this puppy and maybe publish it. We'll we'll we'll see. We'll see how I feel. But I was pretty happy making it. 00:40:19.13 James I used it. i You sent me the source code and invited me to it and I tried it out. I was pretty impressed with with what came out of it. and You know, Apple intelligence still struggles with a cattle dog or an Australian cattle, blue healer. 00:40:31.29 James it It just makes it a Labrador. 00:40:31.83 Frank Yeah. 00:40:33.17 James um 00:40:33.53 Frank ah 00:40:34.97 James uh, or, or some type, you know, maybe an Aussie, but you know, uh, I was impressed with that. 00:40:37.17 Frank Sure. 00:40:39.14 James i thought it was really neat. And I think that you underestimate the amount of people that have a printer, because I actually believe that a lot of, a lot of people have printers and, and they have, they all, they almost everybody buys color printers as well. 00:40:44.09 Frank Okay. 00:40:46.62 Frank Okay, good, yeah. 00:40:51.46 James I do not, I buy a black and white laser printer because they're the best, the fast, I don't need color. 00:40:52.48 Frank Mm-hmm. 00:40:54.94 Frank Nerd. 00:40:56.62 James I just need black and white go. ah it's, it's either 00:40:59.06 Frank color Color laser printers are a thing too, you know? 00:41:02.20 James Yeah, but this the ink's so expensive. 00:41:02.78 Frank they 00:41:04.16 James It's so expensive. 00:41:04.63 Frank It is. It really is. 00:41:05.69 James So, ah and I worked at Canada. People buy a lot of printers. So I think you're underestimating. 00:41:09.81 Frank Yeah. 00:41:09.93 James I think this would would go really well. 00:41:10.84 Frank Okay. 00:41:11.25 James However, you could get into the business if you wanted to, which would be like, then they order a custom card and then you send it. 00:41:19.70 Frank Yeah. 00:41:22.76 Frank Oh, wow. 00:41:23.03 James And you, you now we're talking. 00:41:23.16 Frank Yeah, that's a real business. Yeah. Um... 00:41:26.34 James but You should first start with the, they print it. 00:41:28.89 Frank Yeah. Well, I think if i if I were to turn it into a real product, the big change I would support um cloud-based AIs because Apple Intelligence is great and all, but like its image generator suffers from the same problems like Dolly 1.0 had. 00:41:45.06 Frank It can't do text. It's just the network is too small. It's just bad at text, period, full stop. 00:41:48.85 James Yeah. Yeah. 00:41:50.85 Frank ah It generates complete gibberish. in the image, I mean, not the text generation algorithm. 00:41:56.29 James Yeah. 00:41:57.73 Frank And then the other problem is like, it's just a little bit corny and all that stuff because it's such a small network. So I'd want to support better AIs and that kind of stuff. And then um there are print services. 00:42:08.67 Frank So I could look at integrations with those and maybe I could take a little cut or become, do a tiny profit share with one of those kinds of companies, something like that. 00:42:17.56 James yeah You know what you could do, too, thinking about it, is if you were to do it, you could like always generate the one that Apple gives you, maybe a few variants, but then also like do one one fancy one to see what people pick. 00:42:26.71 Frank h 00:42:29.98 Frank Yeah. 00:42:30.16 James you know and Because there are some people that like may find whatever Apple intelligence based on their prompt, like that might be a good one as well for it so Maybe maybe you do that or then you get like a AI you know plus token. 00:42:41.40 James You like use a coin for like premium premium AI generation, right? 00:42:41.78 Frank Yeah. 00:42:45.84 James So that'd be kind of cool. 00:42:46.74 Frank Yeah. 00:42:47.04 James Oh, and the other thing you could do too is people could also drop in an image. So I think that's the other thing too is people who have ChatGPT, they have Gemini, they have Copilot. 00:42:52.21 Frank Yes. 00:42:55.54 James They could create it. They could drop in an image and then you could they could your yours could construct the card. 00:43:01.30 Frank Yeah, and it it does all that already right now. 00:43:02.19 James Yeah. Huh. 00:43:03.90 Frank um and And totally, yeah, because um my parents used to use this one called like Hallmark Card Creator. you know There used to be tons of these kinds of apps. They just kind of went out of fashion at some point. 00:43:12.31 James Oh, yeah. 00:43:15.03 Frank um And my mother has always been sad. i'm like, oh, why don't they make Hallmark Card Creator anymore? i'm like, mom, because it's not 1990 anymore. And but, you know, like there's obviously still need for it. 00:43:27.07 Frank And people are always delighted when you get something customized to them. 00:43:27.66 James Yeah. 00:43:31.00 Frank I think that's what's kind of fun. 00:43:31.28 James Yeah. 00:43:32.80 Frank it's It's like when your kid makes you a card. But in this case, like it's actually a good drawing. 00:43:39.32 James I love it. I thought it was really neat. So i hope you you you put it out. Because again, i think the you kind of talked about with trim tally is, will it go over the final mile? And will it become a real thing? 00:43:47.94 Frank Mm hmm. 00:43:48.24 James Because I think that that is proof is in the pudding of, of hey, can you ship ship these things, make it a reality? And how much of that code do you know? I mean, you know the code, but you know it did generated the code, right? 00:43:57.99 Frank Yeah. 00:43:58.96 James So it's a trim tally. It wrote all the code. I reviewed the code. like I can understand most of the code, but it's the thing. Did all of it. And, and I think that's impressive ah for how far you got from doing James style airport coding, Frank. 00:44:05.83 Frank Yeah. 00:44:12.86 Frank Yeah, i didn't get I didn't catch my flight to Milan, though, so it wasn't perfect. I'll i'll really refine it next time. 00:44:18.84 James Yeah. 00:44:19.41 Frank I'll try harder. 00:44:19.62 James Well, if I ever get to Milan one day, then we will do it together. 00:44:22.39 Frank ah 00:44:22.73 James Well, I pumped out, I pumped out a few things that I'm pretty proud of myself for. These are all um three specific React TypeScript V static web apps on GitHub pages. Okay. 00:44:39.64 James I had this static. 00:44:39.96 Frank Okay, React TypeScript static though. Okay, so it's rendered at action time or something like that. 00:44:46.42 James in in It's in the browser, right? Statically served. 00:44:49.46 Frank okay. 00:44:50.26 James Yeah. So no server. 00:44:51.10 Frank Got it. 00:44:52.09 James I ain't paying for i ain't paying... 00:44:52.12 Frank Got it. Okay. 00:44:53.45 James for ai and ain't paying 00:44:55.22 Frank Yeah, exactly. 00:44:56.39 James I ain't paying for hosting. ah So the the the the first thing that I did was I was kind of my holiday of iim I'm sick of insert something. 00:44:57.88 Frank ah 00:45:05.60 Frank Hmm. 00:45:06.30 James So I'm sick of finding websites that make you sign up for a newsletter or something to get access to some calculator or some spreadsheet, X, Y, Z. 00:45:07.18 Frank Hmm. 00:45:16.56 Frank Ah. 00:45:18.46 James And this is all around FIRE calculators, which are investment retire early calculators. 00:45:18.49 Frank Yeah. 00:45:23.62 James I might've talked about this before, but I created myfirenumber.com. Good domain name. myfirenumber.com. Great one. 00:45:30.74 Frank My FIRE number. Okay. 00:45:31.99 James um It's a... 00:45:33.13 Frank I'm not familiar with the FIRE concept, so this is just the the new tech bro how to retire early kind of thing. 00:45:40.57 James Well, not even tech bro, just normal people and tech bros and non-tech bros, anybody. 00:45:43.86 Frank Okay. 00:45:45.09 James So the whole idea of, yeah, financial independence, retire early, is that there's different types. 00:45:45.69 Frank Money Bros. Okay. 00:45:50.61 James So the whole idea is that once you've accumulated x amount of money, you know your burn rate, you can draw 4%, 5%, 3%, whatever it is And there's different kinds. There's like fire. 00:46:00.95 James There's this like coast, which is like, oh, I want to do like work a percentage or like lean, like got lean fire. I want like, I'm going to, you know spend less. I mean, I want to spend more. I'm going to work part time. 00:46:11.12 Frank Mm-hmm. 00:46:11.93 James But I also wanted things like withdrawal rates and savings, retirement, debt payoff, like health care gap, all these things. 00:46:17.52 Frank Wow. 00:46:17.65 James So I vibe coded out my fire number dot com. um I love it. It's a bunch of calculators, charts, graphs, you know when you hit your fire number, how far away you are, all this stuff. 00:46:25.90 Frank Wow. 00:46:28.55 James And it's all in the browser. There's no no cookies. It doesn't store anything besides your lighter dark theme colors. Everything is URL routing. So if you add a number in there, it will route to another page and pass your age to the other page via the route. 00:46:43.35 Frank wow 00:46:44.09 James So it doesn't store anything. 00:46:45.61 Frank Oh, 00:46:46.71 James so Yes. 00:46:46.87 Frank I love it. 00:46:47.18 James Yes. 00:46:47.95 Frank You're just jamming it it all into the yeah URL? 00:46:48.38 James s 00:46:50.20 Frank Okay. 00:46:50.23 James Yes, 100%. And it even exports into Excel spreadsheets for you as well. So you can really take it offline, which is amazing. And it's also a progressive web app. So you can run it 100% locally, disconnected. 00:47:01.79 James i was like, i no ads, no anything, which is cool. 00:47:04.57 Frank Hold up, though. Okay, so from an engineering perspective, so I'm Joe Blow, trying to retire early, trying to make my monies, working 5% of the time. And I've entered all this data into it, and it's like, here's the plan. 00:47:13.88 James Yeah. 00:47:16.99 Frank I'm like, great, I'm going to follow this plan. We used to call this budgeting, but now it's called firing. That's cool. um So do I just bookmark that yeah URL? 00:47:22.75 James Yep. 00:47:27.78 Frank And so every time i change a number and i thought, I'm going to have to remember to update that bookmark. Is that the rough idea? 00:47:34.42 James Yeah, pretty much. Yeah. 00:47:35.96 Frank Cool. Okay. Just wanted to make sure we're on the same page. 00:47:36.92 James Yeah. Yeah. 00:47:39.04 Frank browser Browsers are going to have to update themselves for this new technology because you can lose data very quickly. 00:47:39.42 James Correct. Yeah. 00:47:44.02 James Yeah. Now. 00:47:46.28 Frank I think that's my biggest concern. You could put a bunch of effort into it and use and click an old bookmark. 00:47:48.16 James Yeah. 00:47:52.02 James Well, that's why I made the export to Excel. so you could just take it and never come back to the website. It still does it all for you. But yeah, I... 00:47:57.93 Frank Can I just make the point that I think local storage is fine. 00:47:58.10 James i 00:48:01.55 Frank IndexedDB is fine. because it's still safe and secure on your machine, your user account. Just putting it out there. 00:48:07.93 James Yeah, I'll think about it. I'll think about it. 00:48:09.29 Frank It's like the save codes from Nintendo. Like, you know, they actually used to encode, like, the save state in the code. 00:48:13.85 James Yeah. Yeah. Well, there's that. okay Anyways, the next one i'm really i'm I'm really proud of myself. ah We had, and I'm sure you've dealt with this, ah PDFs. 00:48:27.29 James Have you heard ah of the of PDF documents, Frank? 00:48:30.81 Frank Oh, the portable document format that is not a portable and is not a document format? Yes, that one. 00:48:38.11 James I've been reading some contracts recently, and they're about 35 pages, and ah we've been doing revisions to these contracts. 00:48:47.13 Frank I was... I have to admit, i saw that you were working on this, and I'm like, I'm trying to play, like, detective. I'm like, what is he actually doing that he needs? Because I'll just tell everyone, because i already know, it's called PDF diff or something like that, where you you just give it two documents and tell me what the difference is between these two. 00:49:04.11 Frank We all deal with diffs all day, but PDF diffs, like... 00:49:04.25 James Yep. 00:49:08.47 Frank You know, back in the day, like GitHub used to do really good image diffs. Like, why don't they kind of gave up? They stopped doing like interesting diffs on GitHub. So like there should be one of these, like it should be a feature, not a product, but it's not. 00:49:22.90 James Correct. 00:49:23.83 Frank So it's kind of cool. You turn it into a product because, yeah, I don't i don't even know what the state of the art is in PDF diffs. Obviously, you must have looked up the state of the art and you weren't happy with what was available. 00:49:34.42 James I looked up a lot. So this was the, I want to do something and I'm not happy with. So pdf-diff.com, 00:49:38.58 Frank yeah 00:49:41.46 James good domain name. um So the the problem was there are some PDF diffing tools. You could also just give it to AI, but then you are either uploading a bunch of stuff to a server or you're giving it to AI. 00:49:54.98 James And I don't want it to understand what's inside the PDFs. So I wanted this again to work 100% offline, no servers, no anything in the browser. 00:50:01.05 Frank Yes. Yes. Good man. 00:50:03.77 James ah So it's really simple. You go to pdf-diff.com. 00:50:08.36 James light theme, dark theme, system theme, and you could try demo and you can see it. So it gives you side by side view. You can browse through pages. You can show all pages. You can see a unified view. You can see changes only, removals, additions per page, how many pages, um even hidden text. 00:50:22.98 James People were like, oh, I hid something thing inside of it, blah, blah, blah, blah. 00:50:24.65 Frank Oh, yeah. 00:50:25.70 James blah You can export a new PDF that will show you the red and green additions and subtractions and stuff, um which is cool. 00:50:33.58 Frank OK, cool. 00:50:34.74 James And someone challenged me to create a CLI because everybody was creating CLIs this holiday. 00:50:38.94 Frank Oh, my gosh. Oh, my gosh. 00:50:40.15 James So PDF diff has a CLI that's available on NPM. I created an NPM account this holiday. Can you believe that? I got an NPX package. 00:50:49.10 Frank Bravo! My goodness. 00:50:50.20 James Yeah. 00:50:51.19 Frank Pretty cool. Pretty cool. um I gotta say, knock that one out of the park, huh? So you can actually generate a new PDF with a... So, I personally have zero use for this because ah the only PDFs I deal with are research papers, and God, I do not care what the history is on that paper. But... 00:51:11.13 Frank Businesses run off PDFs. So like I could easily, I mean, I hate to say it, but you shouldn't have been working on the CLI version. 00:51:13.63 James Yeah. 00:51:18.93 Frank You should have been working on the SAS version. You should have been working on the how to how people can give you money version of this app, because I feel like you could actually make a couple bucks on something like this. 00:51:30.39 James Well, I did, Frank, I did submit this app to Google AdSense. So eventually ads will pop up on it and I'll hopefully make some sweet, sweet pennies off of it. 00:51:35.64 Frank Okay. SaaS. No, you need recurring subscriptions. 00:51:39.59 James So yeah, probably. 00:51:42.72 Frank You need, yeah. 00:51:43.96 James Yeah. 00:51:44.12 Frank you i 00:51:44.48 James Well, I know it does good at tech. 00:51:46.66 Frank I've seen a lot worse ideas turned into SaaS. I'm just saying. 00:51:50.49 James I know it does good at tech. I don't know about like images and other things too. There's probably some improvements I could do to it, but at least from what Arnie's were, it was amazing. 00:51:55.99 Frank Okay. 00:51:59.53 James I like generated like the diff report for Heather and she's like, this the most amazing thing I've ever seen. and and I made that like under an hour. So it was wild. 00:52:08.15 Frank Cool. 00:52:08.60 James So yeah, published under an hour, the whole thing. 00:52:11.80 Frank Yeah, I'm sure there's ways to make it not work. like You're getting lucky in that like the source of one PDF is pretty close to the source of the second PDF when they just do an edit. But PDF is such a, I made the joke in the beginning, it's not a document format, it's a drawing format. 00:52:21.21 James Yeah. 00:52:26.16 Frank So you can you could render text as a bunch of rectangles and lines and things like that. And I'm sure your algorithm wouldn't support that. um Sorry, I'm just thinking of a competitor product that I'm about to write, which actually does the image diff of each page and then does the diff based on the image diff of them. 00:52:46.04 James Yeah. 00:52:46.16 Frank um So we'll see which one of our SaaS products ah profits more. But no, congratulations. It's a cool product. One of those funny ones that like I just never would have thought of because I've never had that problem. 00:52:57.50 Frank So that's cool. 00:52:58.05 James Yeah. Yeah. But Frank, there are two other things that I've been working on One has been consuming ah my life, I would say, for the last several days, which is and we talked about Oh My Posh, which enables you to extend your terminal for all intents and purposes. 00:53:06.23 Frank Oh my goodness. Mm-hmm. 00:53:20.82 James It enables you to turn that prompt into a highly customizable terminal window. So for example, in my configuration, when I load it up, I get to see you know the time, I get to see ah what branch I'm on, how many diffs there are. 00:53:39.68 James I get to see my co-pilot usage. I get to see the version of.NET my project is. 00:53:44.44 Frank Oh, interesting. Cool. 00:53:46.10 James it It basically looks at what's in there and it has all of these segments. You have these blocks, so it's a line and you have these segments to them across the board. and you can highly customize. 00:53:56.98 James There's like 103 plugins that are there are segments. So there's version control, there's battery connection, the operating system, the project you're in, the session usage, the the language, like every language is there. 00:54:11.43 James So what version of you know Dart or Clojure or Swift you're on, cloud infrastructure, AWS, Azure, ah ah a GCP. 00:54:14.54 Frank Yeah. Yeah. 00:54:19.31 James So it'll show you all these things. You can even have like what um Spotify song you're playing, for example. So it'll show you all these things, the weather, wherever you're at. So you can customize all these things and it's calling off and it's doing all these things because it's like a living breathing. 00:54:32.06 James So when you see Scott Hanselman do his presentations at the terminal, you'll actually see his glucose reading so you can see his blood sugar. So that's, that's oh my posh. Yeah. 00:54:40.70 Frank Yeah, that's how I heard of it. As we all we all learn from Scott. 00:54:43.68 James Yeah. 00:54:45.02 Frank and So I only knew about this thing because of Scott and he's always showing it off and that kind of stuff. 00:54:45.46 James Yes. 00:54:49.98 Frank I have to admit, I'm one of those weirdos that like, I came up with a prompt, I think in 2008 and I've been using it ever since then. 00:54:55.87 James Yeah. 00:54:58.34 Frank Like I haven't upped my game at all. So like you're saying all these things. I'm like, yeah, why don't I have that? Like the version of.NET for the project. I'm like, that's actually, that's kind of smart. 00:55:08.86 Frank And a few other things. like No, I don't need the battery percentage in my prompt. That's a little bit too much. But um I love the variety. that That's super cool to like, yeah, it makes me think like maybe I should be a better customizer and that kind of stuff. 00:55:22.71 Frank But Oh My Posh is super cool. i've've I've been enjoying it ever since Scott first started showing it off. Obviously a cool product. 00:55:28.89 James Yeah. And Yann, the main developer behind it, um I've been kind of following quite a bit and I'm not a really terminal person. However, um Kayla Cinnamon on my team wrote this blog post about doing a bunch of GitHub co-pilot integration and customizing your Windows terminal. 00:55:49.88 James And one of the things she talked about was the new GitHub co-pilot integration. So it'll show you like the session, it'll show you how much your usage is, like all this stuff right in the terminal, which is really cool if you're using the CLI, for example. 00:55:57.43 Frank no 00:56:02.01 James um So I was like, I'm going to do this, but Frank, I'm not a terminal person. i am a visual person. 00:56:10.04 Frank ah 00:56:10.10 James So I created the Oh My Posh Visual Configurator 5000. And this is, it's it's serious because 00:56:16.98 Frank Serious. Okay. you You know it's serious when you put 5,000 on it. that That means I'm going after a very specific audience here. Yeah. 00:56:25.88 James um So this thing is wild. So ah this is a ginormous, huge application that is is only a few days old, to be honest with you. I prototyped it. 00:56:37.46 James ah you not in an airport, but i i I gave it a spec, I gave it the website, I gave it the docs and I created a plan together of what I wanted to do. And when you go to this, I'll put links in the show notes. It doesn't have a fancy yeah URL, but it's on my ah my GitHub. 00:56:51.64 James And you can see all the segments. There's a live preview on the bottom. You can drag and drop the segments in real time. And it shows you the preview. It updates the template with all this mock data. 00:57:02.33 James Obviously it's not running the terminal, right? But has the mock data. 00:57:04.46 Frank Cool. Yeah, got it. 00:57:05.75 James In it, it has a full property pane because I love property panes. It has customization, has IntelliSense dropdowns for your colors. It shows you every single property that's available. has all these advanced features inside of it. 00:57:18.23 James And then additionally, it has a theme library where it loads up a bunch of samples, but also anyone can contribute their own community one onto the GitHub repo and it'll pull it in like Kayla did. 00:57:29.14 James And then I also, he has a bunch of like 100 and so on themes that you can just pull. So today i added all of them, one click load of up, visualize them. 00:57:36.36 Frank Wow. 00:57:38.58 James And then additionally, you can save your themes locally in your browser and update them and work on them with index DB and local cache. 00:57:46.55 Frank good Good job. 00:57:47.02 James So they're all there. You can export them, you can copy them, you can download them, that you can view them. They're all there. um It's really wild. Like everything is wild about it. 00:57:59.13 James And it looks it looks awesome because as a like a wind forms developer, right. Drag and drop and WPF, all this stuff, it nailed the property pain. 00:58:06.33 Frank Yeah. 00:58:09.39 James It did this and all this, ah and and it nailed like Unicode, um, nerd fonts and like all this stuff. It looks so cool putting it all in there. Um, you know, and it's crazy. 00:58:18.55 Frank So what is ah if and fantastic, by the way? Yes, we're all, even CLI people need visual editors. One of the things I love about Phish is it uses HTML to configure it. 00:58:31.19 Frank So there's like a little web app that comes with Phish, my preferred show. 00:58:32.05 James Hmm. Yeah. 00:58:34.97 Frank um So what is your actual UI technology? What are you using to render all this stuff and display it and interact with it? Is it HTML? 00:58:45.75 Frank Is it? 00:58:45.96 James That's all just react components. I don't know. 00:58:48.34 Frank and so all right. this is this is We're still in the category of static React webpages. Yeah, you said that with localhost. 00:58:54.04 James Yeah. 00:58:54.70 Frank Okay. So still and a web app, as we say, but without a server. 00:58:58.57 James Yeah. The nice thing is that, you know, oh, my posh in the terminal, it's just outputting text, right? 00:58:59.80 Frank Yeah. 00:59:03.46 James So it just needs to render HTML text and customize it. 00:59:03.98 Frank Sure. Yeah. Yep. 00:59:06.97 James But it has tons of like Unicode things and how they all look and all this other stuff. There's crazy like flames and little things that you can do and and wildness and and different icons. 00:59:11.14 Frank Cool. Cool. 00:59:16.01 James So it's pretty advanced and it's been pretty tough to get right, but I've been really jamming on it and really enjoying it. And um and getting it right is hard, but I went into the discord and these are power users and they like were breaking it and doing this and they're crazy, this and that. 00:59:30.74 Frank Okay. 00:59:33.34 Frank Oh, no. i 00:59:34.19 James And then today I just shipped a new version. I was like, all right, I took the schema and I've implemented like 95% of the schema. And so much that these things would be like things that I would never use. 00:59:43.19 Frank Yeah. 00:59:46.74 James So actually the settings, which is like power mode, power user mode, and there's 15 different features that like only power users will use. 00:59:51.39 Frank Yeah. 00:59:54.86 James But if you import yours, it'll turn on those features for you automatically because it knows what features in the JSON or YAML or TOML that you're doing. 01:00:01.75 Frank Cool. 01:00:03.26 James So that's been like the bigger, big hack that I've been working on. 01:00:06.36 Frank Nice. 01:00:07.37 James Yeah. 01:00:08.44 Frank I think it's fantastic. I am always for adding UI to things that don't have UI. There's always a special place in my heart for those kinds of apps. So does this one have a URL where or is it just on GitHub? How do people go get it? Because I missed that part. 01:00:25.50 James James Montemagno.github.io slash ohmyposh-configurator. I'll put it the show notes there. 01:00:32.83 Frank Bravo. 01:00:33.62 James Yeah, there you go. I've been talking to Jan about it. And if I get it to a place where maybe he, he did, he did ah a tweet approve it in a way. 01:00:43.64 James Um, but I would love to get like configure.ohmyposh.dev or something like that, like make it part of his, like contribute it back to the project if it's ever good enough. 01:00:50.33 Frank Nice. Yeah. 01:00:53.44 James And I even have a little walkthrough that's like, it only works on desktop because there's a lot of real estate, like an IDE. 01:00:58.93 Frank Mm. 01:00:59.00 James But, um, I even have a little walk through that, Hey, this is a general preview, right? It's going to get it as close as it can, but it can't like execute your code, right? 01:01:09.10 James It's not going to know if on windows do that, you know, it's, it's not gonna, you know, be a hundred percent. 01:01:12.90 Frank yeah what version of dotnet you have installed in this folder and blah blah blah or yeah 01:01:18.20 James has no idea. So, so it'll do its best to render a preview. So I give everything preview text and and and and emoticons and things like that. So anyways, it's out. i'm I'm very proud of it. I think it is so cool. 01:01:28.66 Frank thank you 01:01:29.98 James And I put out a few tweets and people seem to dig it. And to me, this was not necessarily for power users, but this was for, Hey, I want to use on my posh and I'm not super comfortable just knowing even what JSON blobs to go grab and do this thing. Wouldn't it be great if I went over to, oh, CLI tool? 01:01:50.74 James Oh, I'm using Docker add. Oh, cool. It added it. Oh, I'm using GitHub Copilot add. You know what I mean? 01:01:57.16 Frank Yeah. 01:01:57.91 James And then it just adds it in automatically. 01:01:58.39 Frank yeah 01:01:59.59 James So that's kind of the the jam that I'm going for. 01:02:03.93 Frank I think it's great because i only have a very... I barely know anything about OhMyPosh, even though we're sponsors. Hi, everyone who uses OhMyPosh. but But I was exploring the GitHub repo for it because I was playing around with your links and all that stuff. 01:02:18.94 Frank And I was like, amazed at how many plugins and themes and all there was. And I was like, there's just too much here. Like, I'm scrolling and scrolling and I'm like... 01:02:28.14 James Yeah. 01:02:29.50 Frank And, you know, you read the first 10 and then you're like, oh, there's 150 more or something like that. Like, how am I ever going to get through it? So that's where i feel like an app like yours isn't just a configurator. It's an explorer. It's another way of putting all those features in front of someone. So they might even use your app just to get a general feel for things. And maybe they do prefer hacking the config file by themselves. But yeah. at least it will expose all these advanced features to people so bravo i love it 01:03:01.49 James Exactly. Yeah. And that's why I made it. So when you boot it up for the first time, it's very simple. it has one block and shows your path and it shows your git branch and how many, like what the branch status is. And that's it. 01:03:12.76 James Like, even if you were just like, Hey, I want to get started. You can customize the colors. You can pick a color and it'll update it. Bingo bango. even Even if you just did that, you've now made an improvement because you got this thing working out of the box. 01:03:25.37 Frank Yeah, and I have to admit, when you first published it, I thought that's all it did. i was like, oh, God, did did you just write the world's biggest color picker? Because all I saw were the themes. It didn't occur to me, like, all the different whatever segments, whatever you keep calling it. 01:03:38.93 James Segments. 01:03:39.48 Frank Yeah, segments that you could import. 01:03:39.64 James Yeah. Yeah. 01:03:41.91 Frank Those didn't occur to me. 01:03:42.26 James Oh, I should have a little, what I need to have is like, I think I then added a little walkthrough. So I think it says like add segments to a thing. So I'll maybe I'll do like that tutorial thing. 01:03:50.55 Frank Okay. 01:03:51.30 James Like after you do like zooms in like drag and drop this over, you know what I mean? That'd be kind of nice. 01:03:55.35 Frank Yeah, yeah, yeah. 01:03:56.44 James So, yeah. 01:03:58.49 Frank Love it. That is, i think that, is that the best holiday hack? i don't know. It's up there, though. 01:04:04.63 James The last one I'm working on um is if you go to, and then this is controversial because i'm I'm talking to Scott a little bit about it, but Scott and I were talking and he's like, hey I like updated the BabySmash website. 01:04:06.49 Frank Okay. 01:04:11.37 Frank Uh-oh. Oh, boy. 01:04:17.98 Frank Oh. 01:04:18.01 James And if you don't what BabySmash is, is BabySmash is an application that Scott made like 20 years ago. 01:04:18.44 Frank Yeah. 01:04:23.93 James And it... enables you to basically lock your windows computer and the screen comes up and you can, you can move the mouse, you can jam on the keyboard and it does all these shapes and colors and words and, and, and text, whatever you do. Cause whole idea is you have a little kid, a little baby, they might be wanting to smash on your keyboard and it will show it all up. So you remade baby smash.com. It's very cute. Makes a bunch of noises. And I was like, Hey, there's not a Mac version of baby smash. 01:04:49.69 James And I said, what if I could vibe code? it and I just kind of did it. I just kind of, I have a working prototype on my GitHub. don't, I'm not planning on releasing it. i was just like, can I do it? 01:05:00.25 James You know what I mean? And so far I kind of did pretty okay. 01:05:05.72 Frank You did kind of pretty okay. um I love this app. I tell everyone about it. Not not the Mac one, but the the original Scott Henschelman joint. 01:05:13.52 James therere they Yeah. Yeah. Yeah. 01:05:14.71 Frank right Because I think it was so genius what he did. Because, like, I mean, it's a little scary handing over a $1,500 laptop to a toddler. But if if you are willing, or it's an older computer or something like that. The kid wants to emulate the adults. Of course they do. So they can just start banging on the keyboard. And what a genius thing for it to actually do something. I've seen these where there's like hacker versions of them. 01:05:38.42 Frank Where no matter what what key you hit, it just starts like writing code and making beep boop sounds and all that kind of stuff. So there's even adult versions of Baby Smash. So I've always thought the idea was just kind of genius. 01:05:50.46 Frank And it's fun. ah You decided that there needed to be a Mac version of it. Is that because you hate the web, even though you just wrote two web apps or three web apps? 01:06:01.35 Frank Or is it just because you're enjoying you're enjoying making some Mac apps and you just thought the world needs a Mac native version of this puppy? 01:06:09.62 James I thought it'd be cool. Like maybe eventually he'll put it into the the Windows store or something like that. i thought maybe it' be cool to have it into the Mac app store. But i I also, um, it does a bunch of things like it locks, it does a lot of like wide screening and locking of keys and a bunch of stuff. 01:06:17.45 Frank Mm-hmm. 01:06:25.88 James And I was like, uh, and he was telling me as I was reviewing the code, cause it is open source. It's using a bunch of win 32 stuff. So i was like, I don't even know if the browser would be able to do a lot of this system lockout. 01:06:36.86 James And in fact, like, i has having um I was having Copilot go through some of the features and you actually it implemented a bunch of the accessibility features. 01:06:48.10 James So you have to enable a bunch of accessibility features to allow BabySmash like block some of the access to different things. So I was like, maybe I'll just do a native app to see if that is the route I want to go down or not for it. 01:07:00.44 Frank um Okay. Right. 01:07:01.59 James Yeah. 01:07:02.07 Frank Right. 01:07:02.66 James So that was the idea. 01:07:03.03 Frank Yeah, and um you might have a little trouble with the sandbox, but... the it's It's really weird what's supported and what's not supported because like you can always fall back to Quartz. 01:07:14.37 Frank Quartz is kind of like the original input-output system for Mac. 01:07:15.76 James Yeah. Yeah. 01:07:18.23 Frank um So I feel like there's a lot of those Windows features that you definitely can emulate or replicate on the Mac. ah Sandbox may be a little bit tricky. Apple doesn't love it when you lock out the entire computer except for your app, but they do support it under some circumstances and things like that. See also my little app called Little Ships. 01:07:41.85 James Yeah, exactly. It's very similar to Little Ships. Yeah. um Yeah. Besides that, I did a bunch of um contributions. Like instead of just vibe coding, had an idea for a bunch of apps that I was using. 01:07:52.70 James repo Repo Bar was one that was put out. I had some ideas for and then Fowler worked on a CLI called TallyAI.money. That's like a command line to help you go through your bank sort of statements and figure out what's on it. 01:08:06.39 Frank OK. 01:08:07.46 James It doesn't have AI built in, but you can leverage AI with it. And there was a bunch of features I thought would be cool. So I just vibe coded out a bunch of features and did a bunch of contributions. They all get accepted, which is crazy. 01:08:18.17 Frank Oh, nice. 01:08:18.26 James um Yeah, i was like, whoa. i said And I said, hey, listen, I had this idea. i want to let you know that I generated this code with AI. I tested it out. You know, X, Y, z Totally understand if you don't want it. 01:08:28.49 James Blah, blah, blah. Like, I'm um' giving you transparency. This was written by Sonnet 4.5. 01:08:31.57 Frank Yeah. 01:08:32.69 James You know what I mean? 01:08:33.40 Frank yeah 01:08:33.57 James Like, this is... Like, let me just be so be honest about it. 01:08:35.03 Frank yeah 01:08:36.62 James However, like, Fowler was basically just pumping out... You you know, this was... I saw on on Twitter, like, the the amount of little things and big things that people were building. It was crazy impressive. 01:08:47.18 James So it was like, people are people were pumping out stuff this holiday season, which was cool. 01:08:47.67 Frank okay 01:08:52.95 Frank yeah and ah what what a perfect place for ai too it's these like little i wish this library did this well okay open a fork it create a pr that kind of stuff and just kind of get it done and i love the idea of just pitching it over because 01:09:01.85 James Yeah. 01:09:10.65 Frank I don't know, as an open source maintainer, I could see it go both ways because AIs are also a little notorious for generating lots of code or touching things that they shouldn't touch and stuff like that. But I feel like 90% of the time, you're just like, yep, that looks like a good solution. 01:09:25.96 Frank Merge. 01:09:26.07 James Yeah. 01:09:26.40 Frank just I'll take that. um So very good. 01:09:30.10 James Totally. 01:09:31.70 Frank I think you had a more productive winter than me. um Boy, i will I will keep up with you. I will catch up to you, sir. I will clean my desk, maybe. 01:09:42.10 Frank i will contribute to more open source projects, maybe. um Anyway, 01:09:46.29 James Maybe. Well, 01:09:49.18 Frank I'll release one of these apps someday. so congratulations, James. 01:09:52.73 James I'm back i back to the office, so it's all going to slow down. It's all over. i um 01:09:56.28 Frank Okay. 01:09:57.40 James i did get we did go skiing. i also did a bunch of cycling and a bunch of walking around town because it's been really mild here, but we did get enough snow for a little bit skiing, so that was good. 01:10:00.53 Frank Good. 01:10:06.84 Frank Nice. 01:10:07.19 James um So I did get out of the house. I did do stuff, I swear. so 01:10:11.32 Frank Yeah, I mean, I just assumed you're typing this all into your phone while you're on your bike, sipping a cappuccino. 01:10:17.69 James Yeah. Today, today I, for baby smash, I was like, I drafted everything and I had to like create the GitHub issue now there's like, okay, I'm ready to go on a walk and we're going to just big, like hour long walk. 01:10:18.07 Frank ah 01:10:29.20 James I said, okay, give me one minute. I need to sign it to co-pilot then I'm good. I was like, cool, done. You know, come back and I'm like, I'm good to go. 01:10:34.11 Frank Yeah. Mm-hmm. 01:10:35.48 James And that has been, that has been kind of the, you know, the, the thing that I talked about. And I talked to a lot of people online. And in person, like, wow, you know, it's, it's cool how you and Frank are talking about it it's like, it's so different from how you guys talked about anything you guys were doing a year ago, but it just encouraged me to just try it. Right. 01:10:52.44 James And just, Hey, I'm about to go to bed. this idea. It like, let it do its thing and let it rip. And, um You can let it rip. And it happened, especially on the Mize and the skiing app and the the cycling app and and the other ones. 01:11:06.31 James I've been writing you know code by hand as well as I need to fix stuff up and things like that because it's like I'm very intimate with that code. 01:11:09.58 Frank Yeah. Mm-hmm. 01:11:13.70 James um But I'm also now having it build new features that I probably wouldn't build. I want to do this whole journaling system as well. And I'm like, yeah, I could write this, but I don't want to. And i just don't have time. 01:11:23.84 James And someone online was like, oh, it's it's not that you don't have time to learn it or it's not that you you wouldn't learn it or it's like, oh, it's without AI, I would never do this. It's not without AI, I wouldn't do this. 01:11:35.14 James It's without AI, I wouldn't have time I probably wouldn't be able to make the time to do it. 01:11:37.62 Frank anything 01:11:39.50 James like i wouldn't have I wouldn't have had the time maybe to do all of these, maybe one of them, and it wouldn't have been done. 01:11:45.97 Frank Well, it's priorities. it's It's the things third, fourth, fifth on your priority list that at are getting done now instead of just the number one and two things on the list. 01:11:51.61 James Yeah. 01:11:54.67 James Ooh. Yeah. 01:11:56.30 Frank That's what it really is. Yeah. 01:11:58.26 James I like it. All right. Well, that note, let us know what you've been holiday hacking on. Send us your repos. ah James Montemagno, Proclarum, Merge Conflict FM. I figured out our login. I logged back in. I'm sure you saw that. 01:12:11.74 James So we were tweeting again. Hit us up, MergeConflict.fm. 01:12:13.70 Frank Yeah. 01:12:14.98 James You can follow us on a YouTube as well. YouTube.com forward slash at Merge Conflict FM. All the places was going to for this kickoff to 2026, Frank. 01:12:25.18 James I can't wait for even more pods. So until next week, I'm James Montemagno. 01:12:30.20 Frank And I'm Frank Kruger. Thanks for watching and listening. 01:12:34.17 James Peace.