James: 00:08 Frank is that James: 00:10 it is the time that nobody is at work, which means we get to play. Well that's not true at all. Actually. I set this arbitrary deadline of trying to release this new app before Christmas and you know how it is like Apple shuts down for the holiday season and so I set this arbitrary deadlines. I've actually been working my butt off, but I'm not sure I'm going to make the deadline, so let's just ignore that and let's get on to, we're not doing anything. This holiday season is true. I mean, I would also say that I've been pretty busy myself. I obviously just got back from the honeymoon, but I'm in Boston right now. I'm getting ready to fly home. I have tons of meetings and it all leads to ahead, which is a Christmas in new year's or in a very weird wacky date, which they're in Wednesday, which means that, yeah, do you take the days off before or after and then we get the day before Christmas, but then what about new years? James: 01:09 And honestly, I work at Microsoft and there's a lot of people that have been there for a long time, especially in the.net team area. And we have a lot of time and like no one in the U S I feel takes a lot of time off during the year. So it all comes to a head, which is December and nobody's around. So it's starting to slow down and I'm starting to squeak in any little thing because what I want to do over my holidays is basically a write more code. That's kind of what I wanted to, uh, write more code guilt-free where you're not doing anything. I think even if you don't celebrate Christmas, it's still a very disruptive time of the year and no one else is bothering to work. So yeah, you get a little bit of time off. I, it's a fun mixture for me because I always say I want to do all these little projects, but the truth is I usually just end up chit chatting with family, eating too much food and doing nothing. James: 02:03 But every so often I get bored enough and work on a little project or something. And yeah. So we, we've done this before. We've talked about our holiday hacks. Did we ever finish any of our holiday hacks or we should really go back and re review it. I mean, I, I like to think that our holiday hacks are projects that we've always wanted to do, projects we want to finish or things that we just want to tinker with. And it's okay if you don't finish your holiday hacks. The goal for me has always been, and your could be different, you know, mile. My goal was to do something that was something that I wouldn't do at work normally. That was my goal of my holiday hacks. Yeah. Um, for sure. I, I have a decent rule with myself of I'm allowed to hack on anything during the weekend. I try not to work on my for reels, these Frank: 02:59 apps during the week. That's kind of a work life balance. I try to strike even though my hobbies include programming, which is quite self-destructive. But, um, so I, I normally keep that difference, but this is the guilt free. I have lots of time. I've probably been drinking a little bit of wine. Oh, let's see what happens with this code. James: 03:21 Yeah. And I've had some really great things come out of holiday hacks. I created meetup manager over a holiday hack. I created my scoreboard application over a holiday hack. I, uh, what else did I do over my holiday hacks? I think maybe I had started with some IOT things, possibly, uh, maybe they didn't go very far, but I know that in the last five or six years I did complete two apps fully. And I, and I wanna think that last year I took the year off because I was traveling the entire time. And this year I'm not, I'm not traveling at all. Frank: 04:00 Wow. So you're, you're going to be a Seattle native for the holiday season. That's awesome. I actually love this time of the year, we get about like six hours a day light during the day and it's all night. And so I really, I, I love this time of the year, but for me, I'm traveling, I'm going down to the fine state of Alabama. You're in the U S I'm gonna spend a week there around the holiday season. James: 04:25 Yes. And while Frank loves it right now in Seattle, everybody else by the way despises it right now because it honestly, you wake up and it's dark and you get home from work and it's dark. It doesn't make any sense the days at all. But we are coming to the shortest day and now it's just going to all uphill from here. Frank, it's all uphill for me and downhill for you. So there is, there is our one merge conflict, Frank. We found it, Frank: 04:52 we found it. We found one during the holiday season. Huh? I mean daylight is overrated James. It's that simple. Then the night is comfortable. It hides things. It's pleasant. Oh well there it goes. James: 05:07 Uh, all right, here's where I'm starting. So I have multiple things that I really want to hack on this holiday, this Chris mass time. And the first one is an app because I had been working in grinding on my Twitch streams on Fridays on my Hanselman application and it's been nearly a year that I've worked on almost every single Friday and it's really coming along and I've learned a lot, which means I can now scaffold applications a much, much faster theming, all the stuff I can just copy, paste, go to town. Now about a year and 10 months ago I hurt my back. Frank, do you remember when I couldn't move and I fell on the floor in pain and had to and get painkillers? I do. But this is also a recurring thing in your life or was it just a one time incident? So it happened once, however that pain has never gone away. James: 06:10 Ah, pleasant. It seems to re spark up randomly if I make a wrong turn or I do a wrong thing or I sit weird or lay the wrong way, it's never to the pain that it was. However it is still around. So about four months ago, it was coming back pretty strong and Heather found some online lower back pain stretches for me to do and they're called the McKenzie method and it's seven stretches that you can do. You should do them all the time. I started doing them and it honestly really fixed my back. I would do them for a week straight, multiple times a day, 20 minutes here, 20 minutes there, and it really, really helps. So every time I'm back in there, I'll just do a few of the stretches and boom, I'm good to go now. It hasn't solved it, but it's still there. James: 07:02 And the problem that I had was that it was just a YouTube video. And for me to learn this or to figure it out. I was watching this doctor, you know, show how to do these exercises and I always wanted to create an application that would walk through solving lower back pain with as McKenzie method and would allow me to track my reps how many times I did it a day, have little timers, little countdowns, and it, which doesn't seem that complicated to do except for, I'm not sure how I will do the animations, the videos or other bits and pieces. And that's sort of the fun of it. My hack will really be not just building the app, but building the animations. So figuring out the software that I can build to either do little stick figurines or little mannequins or some software that will help me generate these gifts that I can put into my application to show the users how to do these stretches successfully. James: 08:08 And it's sort of a multi hack because the application building, yes, but the animation process is going to be something new. And I think that's the fun of the hack is I've built apps before, but I haven't done animations like this before. And that's what really intrigues me. This isn't a hack. This is a one year project. James James. Okay. Three wind. Um, during all of that I was writing down notes and I started with is he going to include videos is he can include animations and then you said yes, I'm going to include videos and animations and I'm like, is this going to be a tracking app? And he says yes, this is going to be a tracking app. Is this also going to be a tutorial app? Turns out yes. James. It's also to tornado app. Good luck. Good luck. I hope your uh, holiday season lasts for 12 months. James: 09:00 Um, sounds easy. My plan is to do it in three days, Frank, three days. Okay. Um, I'll be positive here. Um, uh, what kind of animations are you thinking of? Like literally stick figures or I, I, I think the easier way is just shoot a bunch of videos of you doing the stretches, but which one? So I have a few options here and I would love your input so I could draw stick figures, I could do them myself. Then you have to look at me. That's kind of weird. Or I was thinking of maybe going to an art shop and getting one of those little mannequins, you know the little mannequin thingys yeah. Figurines, the bendable closable yeah, that could work. That could work because then you wouldn't have like clothes hiding key bone positions and things like that. Maybe you could just go full skeleton. James: 09:56 That'd be kind of awesome too. Um, but practically speaking, yeah, but are you going to go get a mannequin during your holiday season? Are they on maybe someone, I'll give it to you as a gift. That'd be cool. Yeah, maybe that'd be a bonus. Okay. Uh, so, uh, are you thinking about the tracking side too? Are you serious about that or mostly you just want to do better than the YouTube videos out there. Okay. So realistic holiday. Heck heckler. Now let know I just told you the pipe dream and Frank just destroyed my holiday. So let's get salary. I'm saying, this is what I do. Whenever someone pitches me an app, I'm like let me list the a hundred ways that this is a bad idea. So I, I believe they're realistic. Part would be to scaffold out allowing you to select the seven different exercises and then just describe them. James: 10:46 Like that's the starting point. Just here's how you do them and maybe show the animations there and then, okay. Day one, day one table view pushes to a navigation shows a text box, maybe a picture. Yes. Okay. How do you think, how's that feel? Does that feel good day one, you can get that done. Where are you going to go from there? I guess day two would be the animation part of it. So either taking the camera work, doing the poses, putting them into some software. If I do it that way, then that's easy cause it's just a series of photos, you know, set up a little white backdrop or a green screen backdrop and then um, put it into the application. That, and that could be quite fun. That, that part seems really fun actually. And, um, yeah I would get like a friends involved cause no one wants to just see you all the time. James: 11:41 So I try to get your friends to come over and give him some wine and be like, Hey, we're going to do some back stretches and I'm going to put you into an app. That sounds fine. Here go hi. And now we all know what I'm doing on Christmas for after Christmas we've all eaten all the Turkey. All right, let's do some back stretches. I love it. I love it. See now it's a group activity. You're not being an isolation as this is perfect. Yeah, I like that. Then yeah, day three becomes the tracking. Maybe starting with just a timer because there are some activities where you need to set a timer. And this was the challenge for me is there's somewhere like hold this position for four minutes and I'm like, okay, well when do I know in four minutes is done? So I don't know. James: 12:25 Set a timer position for four minutes. Are you sure? This is the torture, torture foreman for four minutes. Okay. Yeah. All right. And they're a nice gal. Okay. Then calendar, then calendar. What's the calendar because then you want to make sure that you checked off how many times you've done it a day. That's okay. We recommend doing this feedback. You got a game of Phi it. You gotta put rankings in there. Let people submit to I collude. No, this is perfect. This is a good app because a, you can throw up all your videos up on a server. The app is going to be actually very small. You can have fun. Keep it simple. I like it. Very nice. Very nice. Yes, so one for James Dean, they needed a dating thing. All right, how to hack one now that that is, that is probably my biggest one and I will talk about my smaller ones next, but what do you have for me as your first holiday hacked idea? James: 13:18 Idea, idea. Because we're going to come back people and let you know if we actually did anything. Realistically, I don't have anything. Nero is thought out as you, I'm not a great planner. Plus I've just been working to finish a new app. So the thought of starting a new app just kind of gives me shivers right now. But do you remember how much work releasing an app is? I don't release brand new apps often enough to remember, gosh, it's a lot of work to release a new app. I will say Frank, that part of the holiday hack will not be, it should not be releasing the app because that is a, that is a hack in itself. So, um, he has, let me, let me correct my previous hacks, which were meet up manager and the scoreboard app. Those were finished code wise for beta testing. James: 14:06 Yeah. Could you send that hops then months later, then months later the rest of those finished? Yes. Yeah. Yeah. Um, okay. So I'm going to get a little bit nerdy here. We're going into robotics. James, ready for this? I'm ready there. Yeah. There are these motors called linear actuators. So normally a motor spinning, spinning, spinning, right linear actuator through mechanics and a gearbox and a little thing is um, push and pull like a rod. So like, um, think of a hydraulic cylinder without all the hydraulics. It's electrical. Now, why are these interesting? Because, um, it turns out if you wanna make a walking Frank: 14:52 robot, there's no motor strong enough to just be the hit or just be the knee. What you want to do is build artificial muscles and these are the linear actuators because you can force them to get long and force them to get shorter big consequences. They're heavy. This is similar to perhaps the actuator that's in my door, I'm thinking like in my door. So that doesn't slam close. There's like a big piston and a small piston that goes in and out. It's similar. I'm looking at a photo similar. Yes, exactly. The difference is that one most likely has oil inside of it. Uh, so it'd be a hydraulic cylinder. These are nice because there's no, uh, usually you'd have new, which is what you would have in the car. Uh, something that may be, keeps your hood up or uh, people have these on boats all the time to just lift things and keep them held up there. Frank: 15:51 Uh, those could be pneumatic, meaning that use air hydraulic meaning you use oil or liquid. A linear actuator is just a gearbox that accomplishes all this with an electrical motor. So no liquids, no air pressures, none of that, just electricity, good old fashioned electricity. And so they're a key component to making modern robotics because we don't want hydraulic systems around. They're loud and gross. This reminds me of when I was in Ikea and they have an actuator that is like depressing on one of their chairs to show you how many sits it, it can take and it just like presses it down and presses it down and presses it down. [inaudible] yeah. Uh, and actually he just made me think when you said Ikea, a standing desk, Beau's magical electrical standing desks. That's essentially what I'm talking about here. So the problem is why do I want one? Frank: 16:54 Um, the goal here is to give a robot enough strength that it can jump. So yeah. Yeah. Do an MIT robotics here. Boston robotics. Yeah. Yeah. So there's a game to be played here where you're, um, you know, a bigger motor definitely gives you more power, but they're heavier, meaning you gotta lift more. And these actuators are expensive. They range anywhere between a hundred dollars and $1,000. The actuators on the Boston dynamics spot robot, those things are like three grand a piece. And so I don't want to pay that, but they'd make cheaper ones and you can get, uh, stuff manufactured overseas if you're willing to wait a long time. The problem is there's just such a large selection. And so I want to write a program where I can give it all the specs of all these different actuators and it designs the size of the robot and selects the actuators to get one that has the most, you know, muscle per mass of the robot. Frank: 18:06 So I wanna write a robot designing appetite, optimize my next robot know. That's pretty cool. I like that. So this is going to be a, an app or this is going to be a, it's not an app. If nothing else, it's a script, you know, it's just something I'm going to run on the command line, but it's going to take some work because it has to do a little bit of physical simulation. I have to go troll around the internet to see what spec motors I can get. You know, there are some simple things. I know. Uh, the faster the motor, the better. It's as simple as that. The faster a robot can move its legs, the more energy it can impart and jump and do all that kind of stuff. So I want fast ones, but you know, I have to go on eBay, Amazon, blah blah, blah, you know, and go find all these things, make a list of them. Frank: 18:55 Right. This program, put them through an optimizer, hope it doesn't take too long and see what it spits out for our robot. Very nice. This seems like a good hack because if you're traveling away, you don't have to have a lot of stuff necessarily. Not, you don't need the robot there to actually build this script. Correct. Exactly. It's just on a computer. Even if I'm don't have internet access, I can just make up parts to throw into it to make sure that the optimizers working. And then as I narrow it down and decide which parts, like a, you know, a, I don't want the optimizer to come up with a robot that has a 10 foot leg, it's just, it's not gonna work. And so, you know, you have to put limits and then it's going to be a fun little program to design. When I was a kid I was watching some TV show where, um, they said that the, gosh, I'm freaking the plane's name, the F 18 fighter, the funny looking stealth one. Frank: 19:53 Am I right there? Uh, sounds correct. F F 15, 1918. What am I saying? F150 whatever the diamond shaped black stealthy fighter. It's, it's crazy looking. Everyone knows what I'm talking about. Everyone. Yeah, yeah. Sorry, I can't remember its name. It's designation now, but everyone, the little black thing that looks scary. Uh, I was watching a TV show and they said computers designed it to optimize for this and that. And ever since then I just loved the concept of feeding optimization problems to computers and seeing what designs they come up with. Hopefully it'll be a cool looking robot, but if nothing else, that'll be an interesting learning opportunity to see what the computer comes up with. I like that. I like that. I like that. That seems, seems a right up your alley. I would say robotics, James: 20:48 scripting languages, scraping data from the internet and basically found rigor written all over it. Yeah. This is what I'd be doing if I didn't have to make a living and actually really software. Yeah. I, the next hack I kind of want to do is not an app. So I'm done with apps. There's, there are two other things I want to do. And the first one here is a play on the previous holiday hack that I had except for very, very simple. I recently got a meadow board from our good friends at wilderness labs. I don't know if you've heard of this company. Frank: 21:26 Yes sir. Well, wilderness labs is, uh, Brian constantly just company. Uh, but it's, um, multiple awesome people, a lot of exits. Amerindians and they're all big IOT nerds and they've gotten together and before they were releasing a new net Dino's, but now they've got their new board out the meadow board and it's a much more capable device. runs.net code. It's a gorgeous little board. It's tiny and black, but it's very sophisticated. Uh, I'm obviously quite in love with it. Uh, so now you please continue. James: 22:04 Yes. And I got the Kickstarter cause we didn't even pitched the Kickstarter here as well. Uh, when they, when they were doing it and I got the full pro kits of the a hundred dollars a kid of a bunch of stuff in it, the board, the things, and it's just been sitting in the closet just sitting there. It's just sitting there. Yup. Yeah. I mean I, I was, I was not in the, I was not in the zone to start tinkering with it. However, that's probably good because now there's probably more stuff that I can do with it. So I have two goals. So there's one hack, but two goals around this board. The first hack is blink. Alight, Frank, that's all I need to do is blink a light because that means I have gotten the thing installed. I've understand the SDK and I've done the thing. But here is the true hack. I've recently gotten back into um, roasting coffee at home. Nice. And yes, and I bought it. I bought a new extension for the fresh roast 500 that gives it a bigger air chamber that helps circulate the air better now. Frank: 23:11 So these are like in the spectrum of we have ovens then we have dehumidifiers. A roaster is somewhere between those two, I guess James: 23:21 you can. So, uh, if you, I'm going to send you a link in our Zen caster currently right now I just Google the first one, fresh roast 500. You can think of it as a professional grade popcorn popper, but for roasting. Okay. And it has, you can, you can adjust the temperature and the air flow strength. Frank: 23:48 I see. It's, it's quite a bit smaller than I was thinking because I was thinking of a full size oven. Instead think someone put a coffee mug in there, heating up some coffee beans in it. James: 23:57 Yeah, it handles about four and a half ounces with my extension that we, I got, it goes up to about seven ounces, which is very good. That's almost a half a pound of beans, which is very, very good. Okay. Um, and you can control, you have the fan speed, the temperature, but there's not a lot else in there. However, wouldn't it be great if, uh, you could monitor the temperature, you can monitor the humidity inside of this. You could then write down notes to say, when I did this, this was the temperatures throughout, and you could feed that data into something, chart it, graph it, and then compare that data. If you then roast it again, because sometimes I wrote Rossa, maybe it's more humid and maybe that's impacting the end results of the beans. I don't know at this point. Uh, so I would like to, I believe there's a bunch of little gizmos and gadgets and now I might not get very far, but I would like to get to the point where I can start to read some data at least from some of the sensors on this wilderness labs meadow board to then perhaps get something to put in, in, feed it into the inside of the chamber and start reading data from the inside of the roaster. James: 25:23 I think that would be very cool. Frank: 25:25 Awesome. Awesome. I thought at first you were going to automate it. I thought you're going to build like an assembly line of something, feeding beans in something, roasting beans and then our conveyor belt going to a coffee brewer and then another conveyor belt to your mouth. But um, I guess that didn't happen. I guess I'd be in an industrial, not artisinal coffee making, but uh, yeah. Cool. Uh, sensors, sensors, sensors are fun. They are not too hard. Um, you can get complicated sensors that give you temperature and humidity simultaneously or you can split them apart from each other and then achieve them in different ways. I don't know what exactly came with your kit, but a fun pro tip for people out there, if you ever want to make a temperature sensor, it's really easy. Get two pieces of wire solid conductor. So I, you know, hunks of copper twist, the two copper ends together, put them down on a metal table, slam a hammer against them. And there you made a temperature sensor, you did a cold weld between the two wires, which creates um, some amount of resistance. Put a resistor and pipe in in line with that and attach that to a microcontroller and you can tell the temperature of a room or you can buy one for 10 hours on Amazon. It's just whichever preference you have. James: 26:53 That's pretty cool. That was pretty cool. I mean, I like your idea about the robotics by the way. Now this would be more than a holiday hack because I have re so there's a few things that happened in the, in the roasting cycle you, you sort of amp up the heat and you amp up the, you, you, you put it on lower heat but high fan to start roasting it. And then you wait until it gets this first crack basically and, and it makes a sound. So if you could audibly measure that sound and then say, okay, now it's time to turn and maybe do an alarm or do something else. But ideally what you could really have is a little robot there, little robot arms that are turning the dial and moving the lever up and down for you at at timed intervals. It's almost timed to be honest with you. So you put in the beans, you say go, and then the little robot does all the adjustments for you. Now that would be pretty cool based on all the other temperature reading too. At the same time you could do that. That's way more than a holiday hack. I just want to read some temperature data at the end. Frank: 27:57 Yeah, yeah, that, that works. Uh, but I'm just staring at the control panel of it. I'm pretty sure if you just read that panel off, you could tap into all that pretty easily. But, uh, it depends on how much you want to do to your $179 not oven. James: 28:13 Yeah. Yeah. Heather, it might be a little upset with me cause you did get that for me as a Christmas gift two years ago. So yeah, ripping it apart. I don't know. In a mine. Frank: 28:21 Yeah. It's usually my goal. I love automating things, but I try not to destroy them in the process. I try not to destroy any of the original functionality. Always hard though. Always hard. And I like how you're listening for a sound, so it really is a popcorn popper. That's cute. James: 28:39 It truly is. And at the very, very end when you're almost done, it is blah, blah, blah, blah, blah, blah, blah, blah, blah, blah, blah. Here it is. Yeah, yeah, yeah. You get it. It's, it's all of that. Um, all that stuff is just kind of, it's roasting, like it's roasting like a cattle of corn at the end of the day. That's really what happens. And uh, it's, it's fun to watch. It's amazing. I mean, it only takes eight minutes and then boom, you have coffee. It's, it's spectacular. Frank: 29:06 So that's cool. Yeah. That's really cool. And cheap and cheap. Oh, that's a good one. I, I don't, I'm not going to automate anything this year. I don't think I'll be at my parents' house. So I don't think they'll appreciate me tearing too many things apart though. I kind of want to, of course, uh, instead, my last holiday hack, it's going to be an open source library, James, because I don't have enough of those. I need to, I need to release more libraries and deal with them and all that. This one is, I actually, I mentioned before in our lightning round, uh, from a week or two ago, maybe last week. Who knows? Um, it is a machine learning library. I got it in, into this episode. Machine learning is here. So Apple has a really nice machine learning stuff called metal performance shaders but the, uh, the API is not the most pleasant thing to use. Frank: 30:07 I wanted a simpler one, a more dot Nettie one something that was actually more like the other libraries out there that I already know and can understand. And so I've actually already spent a fair amount of time working on this library and in classic programmer fashion, it's 90% done. But, uh, after taking some time off away from it, I realized I've made some mistakes along the way. And so what I want to do, it's actually kind of funny the mistakes I made James. So I, I was in a lot of ways, I was copying an API of another library that I like, but along the way I'm like, I can improve upon this API. James, I can do better. Yeah. They may, obviously this class should be inherited from this one that would enable this functionality and you should be able to do this and this part should be more generic over here. Frank: 31:04 Um, no, uh, I'm gonna take all that junk out and just go back to what the other API was because I realized, yes, I had made it more general and there was a certain elegance to the way I did it. Um, it was kind of beautiful after taking a month off of not using it, I couldn't remember how to use it. And that is a sure sign that your API sucks. If you can't remember how to use your own API, then scrap it. And so over my holiday hack, I'm going to fix this library. I like it, I like it. And then you can bring it back and let another month pass and then boom, see if you can reuse it again. It's kind of like a, that is a good way to just really stressed us out an API and see how you like it or not. Frank: 31:55 Yeah. And it's the slow way I guess, but you're, you're trying to fast forward. Like instead of having a version one and a version two and having a billion breaking API APIs, there's no reason for me to release this library or even tell anyone about it until I'm pretty sure that it's stable and definitely until I myself have been able to write, you know, at least a couple of networks with it. But if I find it frustrating to build one network with it and I wrote the library and that's not good. And so I'm excited because I, I really appreciate good API APIs and I think it'll be, um, it'll be nice for myself to have this library done. So, um, I would like to do it. James: 32:40 That makes sense. And I would say to you, I've done, I've definitely written a lot of libraries and pushed them out fast and I sort of come back to regret them because then there's, there's features that you want, there's features that other people want and then you kind of regret like, Oh, do I do this? So can I break it? Can I now like I release a new package and five people are using it, I guess I can't break the API anymore, you know, Frank: 33:01 seven versus I have to start over and no. Yeah, it's just not worth it. Um, yeah. But at the same time, I hope, uh, I hope we'll do a podcast about it if I ever do finish it and stabilize the API because I think it's pretty cool. It should enable, um, some really high performance training on max that frankly isn't really possible right now. So I think it'd be really cool. I like it. It sounds pretty cool. I like that. James: 33:32 Oh well something that is a little bit out of my zone. So the last hack and now there's a lot of hacks here and these are all the ideas that I've been having and it doesn't mean I'm going to do them all, but this one is most likely the one that I could actually complete. So I don't get a lot of time to play around with languages outside of C sharp. So I don't play a lot around with F sharp unless I'm forced to. Uh, I don't, don't, don't dabble in the vb.net and I don't often play around with other programming languages. And why is this bad, Frank, why is this bad? Frank: 34:14 You're actually asking me, um, because it means you're not growing it. It's that simple. Different programming languages offer you different perspectives. That's not to say there's a lot of repetition. Like I'm curious to see what language you're about to mention because I've gotten to this kind of cynical age where I'm like, Oh, it's all the same. I've seen that before. I've seen that before. But the truth is it's good to have that perspective. And even if you don't use that language, you bring it back to the language that you do programming. I do F Sharpie stuff and C sharp all the time because it's better code it just that style. And so, uh, I'm curious to hear about, you're about to say James: 34:56 yes. So what my plan to do, uh, is to take one of my existing libraries. The plan is maybe I'm not MVVM helpers, but most likely my Jeff some, which is a Jeff Goldbloom, Laura MIPS, some gem or generator that's a really easy one to do is very, very, very straight forward or censored, which is a, another library that just sensors words that you give it. Frank: 35:24 Oh, that kind of sensor sensor with a C. got it. Censorship. Yeah. Censorship. Uh, Oh. Like a sense or you're thinking, yeah, we're doing all this IOT stuff. I'm like, what are you censoring James James: 35:38 a sensor? So I built sensor because I believe James even King had a script and then I took it and I knew guitar used it with permission. And what I would do is, uh, if, uh, if a tweet came in to the evolve application and it when I censored it and it would either remove the words or would say, if a word exists, then don't include this tweet, you know, because Twitter's on censored. So, um, I just kinda did that, that that is a baseline. It's not super duper, you know, um, it's not super duper smart, but it's good enough. And my plan here is I like the Jeff's, I'm on, cause there's IE neumes or string Parson, there's a bunch of different modes you can put it in. I might do this when there's a CSV parsing. It's kind of nice a part of it too. James: 36:28 And my plan here is to learn how to rewrite that library in two programming languages. Frank Oh two. I the whole time, this has been very mean to me. I've been waiting for you to drop names and now you're saying there's two names coming. Would you please get to the punch line? Yes. I would like to rebuild these libraries, but [inaudible] and both Swift and Kotlin. Uh, so I, I, I want to, um, see and I think get a fresh perspective of, of what these languages offer, how they're similar, how they're different, see how some of the features of C sharp eight may be come, um, uh, along to maybe fill gaps. Maybe they didn't fill gaps. Maybe there are things that already existed. We had talked many time ago on the podcast about learning languages and it was important. It was, there's not important. And, and what we've done in reading books and how you learn languages and how you learn things. James: 37:33 And for me, I'm very hands on. So reading a book, doing something, it doesn't really help me that much. I need a goal. I need something to build. That's how I learn. And I believe that taking this library, which already exists and not just converting it, but I'm just rewriting it from scratch. You throwing away my knowledge of what exists. I know the functionality. How do I write it in this language and, and take my learnings. What did I like about the language? What did I not like about the language and go to town? I'm still going to be a C sharp developer every single day of my life cause I love C sharp, but I'm, I'm fascinated in, in these other languages that are more of the native languages. I'm not going to go the Python route. I'm not going to go the, you know, seatbelt, you know, other than the other, you know, other languages that are out there go or, or rust. Although I would be kind of interested in going Russ too, but I guess I'm, I'm, I'm, I'm as a developer James, I am less fascinated with the web and I'm more fascinated with client development that that's Frank: 38:35 what I'm always fascinated in. Yeah, yeah. Uh, we, we share that there is no merge conflict there. Uh, this is great. Yeah. Um, you should definitely keep the functionality as simple as possible so that you can focus on the language and solving it in the most appropriate way in that language. That's a great idea. Simple apps that, yeah, nothing complicated, but I think you'll be very successful. Um, cotton and Swift and C sharp are all essentially the same language. There aren't too many semantic differences between them. The syntax varies, but they're all strongly typed languages. They all have a little bit of type inference, not a lot, but a little bit. Uh, there's a few stylistic differences between them and obviously their runtimes are dramatically different. And so I think it will be a good learning experience because I think that they're similar enough to what you know that you'll be able to spot the differences better and not get caught up in the actual learning process. Frank: 39:43 You'll just, you'll be able to read that code pretty much immediately is my guess. I kind of want to take bets on which one you're going to prefer. Kotlin or Swift. Uh, do you want me to, uh, state my bet? Um, I would like for you to write it down on a piece of paper, take a photo of that piece of paper with a time stamp on it with the clock, and then when I'm done we can validate what I liked or not liked. I literally am going to do that because I'm pretty sure I have the answer to this. Okay. That's cool. That's cool. Okay. Okay. [inaudible] actions. Oh, predictions from me. Uh, no. I've, since the thing is I've looked at these languages a lot. I've seen them. Frank: 40:31 I may, uh, see that's the thing cause I didn't really like, gee, I don't like Java. Java's fine. Java is tedious. I think Caitlyn is going to like strip it down, but it's going to be too stripped down. My fear with Kotlin is that it's going to be too minimal, but then maybe Swift will be too similar to what I'm used to. That's kind of my care. I'm not, I'm not positive. Got it. Okay. Taking a picture. We w we wrote this one down. It's a, it's in the historical record, so that one's kind of different. Yeah. Beautiful. I don't really have too much else. I do have one piece of hardware also talking about little programmable IOT devices. There is one of those that I really love. The SB 32 it's not nearly as cool as a metal board. You can't program.net on it, but you can write terrible C code that crashes every so often with unknown stack traces because the whole stack is written in C but it's a great little device because the one that I got comes with a tiny itsy bitsy little camera attached it. Frank: 41:34 And so you have a tiny chip with a tiny camera that can talk wifi and I literally don't know what to do with it. I'm not really interested in security cameras. I don't care what people are doing outside. Um, but I feel like I can do some other fun things with it. Like motion tracking for my little robot that will someday walk or whatever. It doesn't really matter. All I want to be able to do is get the stupid thing working cause it's been sitting on my desk for a few months now and I just wanna uh, see if I can get any video out of it. I like that. Yeah. The simple one like let me see if this thing still does anything and then I'll find things function. Yeah, I'll figure out what to do with the video after. But if I can just get a webpage up that's streaming video or just even if I just have to hit refresh constantly, I don't care. I just want to see it working. James: 42:28 Very cool. It sounds like we both have way too many hacks potentially. However, it's all good. Very all different hacks. You know we had three each but very different hacks even between us but by even between the things that we were doing ourselves. Frank: 42:41 Yeah, but speaking of pictures with dates and times on them, we should predict which ones will actually do and finish. Are we going to, are we going to tell people or we're just going to leave it up in the air now. We'll, we'll tell everyone. James: 42:56 Everyone you can go to merge conflict RFM. This podcast episode. You can leave a comment on the bottom and we will read back at the end. We won't look at it, but we will see your predictions of these. Even of my Swift or Kotlin or maybe I just hate all of them. You can put your predictions on the website or give your feedback on the on the tweet. That'll be sent out automatically at merge conflict FM on the Twitters and we will, we will see those and see them read in. It'd be, I'll be fascinated to see what people think so Frank: 43:26 yeah, that sounds perfect. How are they hacks? Way too much stuff. My prediction is we both just drink a little too much wine and watch some football or something. I don't know. We'll see what happens. James: 43:40 We'll see what happens. All right. Oh Frank, well I wish you safe travels and anyone else traveling this holiday season safe travels as well and if you have a holiday hack also feel free to write it in. What are you working on? I love to know what people are working on and hacking on over the weekend and what you thought you were going to do at the beginning and what you actually got done. I think that that's the fun of the holiday hack. What did you actually get done? Even if it's nothing, well let us know. Good emerge conflict that FM and hit that contact button. Leave a comment on the show or tweet at us. You know what to do. That's going to do it for this week's merge conflicts. Until next time, I'm James Monson mag now, James: 44:13 and I'm Frank Krueger. Thanks for listening.