Coding Blocks - Two Water Coolers Walk Into a Bar…

Episode Date: August 18, 2024

Grab your headphones because it’s water cooler time! This episode we’re catching up on feedback, putting our skills to the test, and wondering what we’re missing. Plus, Allen’s telling it how ...it is, Outlaw is putting it all together and Joe is minding the gaps! View the full show notes here:https://www.codingblocks.net/episode240 Reviews Thank you again […]

Transcript
Discussion (0)
Starting point is 00:00:00 You're listening to Coding Box, episode 240. Oh, you're not going to come in? Yeah, so slow. So slow? I said it's slow? You said it's slow. You never said it was slow. Too slow. I'm top. Do it again. Was that really slow for me? I didn't think that was...
Starting point is 00:00:23 Yeah, that was terrible. Terrible. All right, I'll try it again. You're listening slow for me? I didn't think that. Yeah, that was terrible. Terrible. Alright, I'll try it again. You're listening to Coding Blocks episode 240. Alright, subscribe to us on iTunes, Spotify, and more using your favorite podcast app and leave us a review if you can. Send your feedback, questions, and comments to codingblocks.net. I feel like this is ridiculous now.
Starting point is 00:00:39 Somebody is listening to us on 2x speed and this is just all gibberish now. Alvin and the Chipmunks, that's what we sound like now. You got to take your audio settings. It's fine over here. That's right. All right.
Starting point is 00:00:52 So, yeah, head over to the website, codingblocks.net, and you can find some nice links at the top of the page. So, at any rate, I'm Alan Underwood. I'm Theo. That's Theo. All right, we got a show for you today. I thought we were going with the Alvin Chipmunks theme, but I guess not. I guess Theo. That's Theo. We got a show for you today. Alvin, you know, Chipmunks theme, but I guess not. I guess I'm the only one.
Starting point is 00:01:10 Alvin! You said Theo? Wasn't he one of the... Alvin, Simon, Theodore. Yeah, I thought I would go with the non-obvious Alvin. He and Theo are tight.
Starting point is 00:01:27 First name basis awesome all right so before before we get into the topics today we do what we like to thank all the people for and and right now it's going to be outlaw reading some proper names here we go. All right. So from iTunes, yes. So 95 from Spotify, ox cord and, uh, Oh man, I practice this one. Artiness, our Tonus.
Starting point is 00:01:53 Okay. Something like that. Well done art on us. Hey, and, and I did like the fact that the person who wrote the one on iTunes, yes. So mentioned the fact that they're behind on
Starting point is 00:02:07 the episodes and so when we're complaining about macbook pros and the touch bars they're thinking oh don't worry about it it's going away like they're coming from the future right it's pretty funny um i we we've been saying also in the last few episodes september 7th coming up here in just a month is atlanta dev con so go check that out if you're in the area yep and a dev fest central florida is in september also a september 28th specifically so check that out you know and going back to the the reviews for a moment i don't know that we gave this review from ivan uh i don't know if we mentioned this but you know he he had mentioned like hey we're missing dad jokes so so in a while yeah i don't know that we said this one so uh why did this is from ivan so thank you ivan why did two java methods get a divorce i read this one and i still can't remember it i got nothing they had
Starting point is 00:03:10 constant arguments okay very nice very nice all right well uh shall we uh jump into some of the feedback we got from last episode yeah so one of the things that was kind of interesting is if you join our Slack channel, which is codingblocks.net slash Slack, if you head up there, you can join in in the Slack conversations. And in the episode discussion channel, there was actually quite a few people that were like, hey, I like the origin stuff. And several of them shared their own origin stories. And so, yeah, that was kind of fun to see like a bunch of people chipping in and, and it ended up being more of a conversation than what I think any of us thought it would be. So that's pretty awesome. And then the next one, I think, I think it was still last episode. We were talking about the whole legacy code and, and how much people would actually want to get paid to even have to deal with it. And when we're talking about legacy whole legacy code and and how much people would actually want
Starting point is 00:04:05 to get paid to even have to deal with it and when we're talking about legacy code we're not talking about things that are two or three years old we're talking about you know things that have been deprecated for a long time that don't even run on on the latest you know windows or whatever it is and there was actually a really good comment on the last episode which was we haven't heard from him in a while i think it was uh skywalker is null and and he said they have a client that has several of those legacy systems sql server 2000.net one uh jquery that only runs in ie um several things and and basically what he was saying is it's a big problem because there's no test, right? Like back then testing wasn't quite what it is today. He said there was no like
Starting point is 00:04:53 intentional architecture. It was just like a revolving door of developers to come in and drop some code and then take off. And so trying to deal with this stuff is an absolute pain in the butt. And he said, he doesn't think that he could do it more than 25% of his time. He said it's just it's really a frustrating type thing. And that's one of the things that I'm curious if what you guys think about it. So I know that there are times that I end up spending more time on something that I'm working on because I'm trying to establish a pattern that, that can be followed or reused or something. know what i mean and and there are times i'm
Starting point is 00:05:46 like man i'm spending this this should have taken me x amount of time and i've doubled it you know trying to do that and i'm just curious what you guys thoughts are when you are actually trying to create patterns or intentional designs like what he mentioned right like do you think it's worth spending the extra time and and how much extra time is it worth you know well so i saw that comment too in the with the in regards to the intentional architecture and my assumption is i bet in the beginning version you know one there probably was an intentional architecture but you but due to the revolving door of developers, as he referred to it, then it evolved into madness over time. And I could definitely see that happening with a legacy application that's 25 years old. And if you're only hiring contractors to maintain it, you know,
Starting point is 00:06:45 and you keep them on board for like three to six months or something like that. And then, you know, somebody else comes in, I could definitely see that being a problem. But as you know, what,
Starting point is 00:06:54 before you, before you go into that though, I don't even say that just for legacy apps I've seen, or I've even been involved with apps that are ongoing being added features or whatever. And at some point it's like, just if else's start appearing everywhere, right? There's no, there's no design patterns or anything put in place. It's just like branching logic all over the place. And it's incredibly hard to follow. So I, I guess I just want to draw the distinction that it's not
Starting point is 00:07:24 necessarily just legacy apps. It's when you have a bunch of developers doing things in different ways and not really paying attention to the patterns that are there or whatever, but all right, go ahead. I think it goes along the lines of, at least from my own experience that some, someone is, someone loved that thing, right? Someone gave it the care and feeding, put the time and effort in, uh, to try to come up with a design that was extensible, but yet also, uh, you know, not problematic. And as soon as that person rolls off onto something else and they're no longer caring and feeding for that other bit of code, like they used to, then that's when I've seen things start to go sideways where
Starting point is 00:08:13 like, you know, if they are, while they are actively reviewing all the pull requests, for example, on that area of the code, you know, they've got a keen eye on what to look for and like, you know, what they, what they envisioned and, you know, they, they might do their part to try to communicate that out as best they possibly can. I'm not, this is not a, you know, meant to be a jab, but you know, as, as soon as they are, they are not part of it, then it seems that like people are like, Oh, well now I can sneak in this hack, you know, or not even maliciously, by the way, like the person doing it might not even realize that what they're doing is a hack way of doing it. They just might be like, Oh, well, I just need to get this done. And so here's the way to do it. Cause,
Starting point is 00:08:58 cause by the way, there's like, you know, totally different types of personalities, right? So there's a type of personality that when they go to work on something, they want to try to make it as, as best as the best that they possibly can. Right. So they're going to put the time and effort in that you, that you just referred to versus the, the type of person who's just like, you know, a ticket closer, right? Like they're just trying to like, Hey man, you gave me 15 tasks and I just want to get those done so I can go about my day. And you know, that, that type of mentality, that type of person, while they, they are a valuable contributing member of the team. I mean, there, there is a
Starting point is 00:09:40 certain you know, no, a certain you know, know, value to having something like that on the team, though. You know, they might not have the same appreciation for whatever that architecture is. And they're just like, I just need to get this thing done. And they don't realize that it's necessarily a hack that they're putting in. So that's just kind of how I've seen things evolve over time. So you're, you're muted. It's not working.
Starting point is 00:10:14 Dang it. So I was going to mention that I've seen it both ways and both ways can be, can be bad. Everything can be bad. But one way I've seen it where there's no planning ahead of time and it just becomes like this weird sprawl where people just kind of add stuff as they need to and there's no sort of pattern and it's just a big mess but i've also uh seen it and done my fair share of like creating like a an abstraction that i think is really clever or good or perfectly you know maps everything i create this pattern for the application to follow and only to find
Starting point is 00:10:44 out over time that that was you know short-sighted or didn't really fit the problem domain. It didn't fit the customers, you know, whoever's vision of how things were supposed to work. And so this, you've got this bad fitting pattern that people have to work around and work around and work around. The right answer of course, is to, is to change that model to, you know, make it map the, change that model to make it map the – change that map to be closer to the terrain. But a lot of times that doesn't happen, and you've got deadlines and all sorts of stuff, and so it just ends up coding around.
Starting point is 00:11:12 So you've got this weird thing where it's like there's a pattern that doesn't work very well, and then the sprawl next to it. So it's kind of like the worst of both worlds. I don't know which one's worse. Well, we've talked about it on the podcast several times like when you go initially create something you don't necessarily need to put all the abstractions and all these crazy patterns in place right like get the thing working yeah if you have a couple if else statements that's good as soon as you need to add the third one okay now
Starting point is 00:11:39 you maybe want to think about putting a pattern in place, right. To, to fix some of that stuff. But that's, I guess where I was getting is like, when you go in and you're given a task and there's already three, three L statement or three F statements or three switch statements or whatever, right. Do you take the time at that point to go, okay, this should be turned into, you know, some sort of abstraction, some sort of object to where you can define these classes that can be substituted in, swapped in, whatever. Do you, do you ever look at it and go, man, I'm spending too much time on this. Is it really worth it? Who cares that the other file was 12,000 lines long.
Starting point is 00:12:18 You know, one other if statement's not going to hurt anything. Like, I don't know. Like what, how do you guys feel when you're dealing with that stuff? I have a trick. Okay. A year later, I look back and then I can tell you if it was too soon or too late. That's good. All right.
Starting point is 00:12:37 I think it's a matter of like, how much effort are you going to put into it though? Like back to your original question about, you know, going the architecture route or not, you know, or the hack route, like, you know, definitely, there's definitely something to be said for putting you out a, an MVP or, or getting the job done. But, you know, depending on like how much time and effort you plan to spend upfront on that architecture, like, you know,
Starting point is 00:13:02 you could definitely go insane trying to like architect something to, you know, the billion concurrent user logins and you haven't even gotten to the app yet. Well, sometimes you need that. Well, yeah. No, I mean, no offense to your stuff. Yeah. Right. Right. Sometimes you need it. I will say one thing I've noticed. So I just went through one of these refactoring efforts that, that I could have potentially just gone one way and thrown in another else or whatever. And I can't look and it just really bugged me because it was a lot of the
Starting point is 00:13:30 same code, right? Like there were same block of code copied and pasted 10 times or something. And, and when I was going through and trying to sort of create a pattern, right? Like have a factory that would return things or whatever. One thing I noticed is a lot of these else blocks or whatever, they would copy code that was never even used. So there was a whole chunk of code in there that they would have that was specific to whatever they're trying to do. And then there was a whole bunch of other code that came along for the ride
Starting point is 00:14:00 because they copied and pasted it. That was just a waste and confusing to anybody that would be looking at it later. And so it was like, man, you know, I think, I think getting the pattern in place will make it to where people feel like it'll be easy to take one class and just, you know, manipulate it, create, create a new instance of that pattern. So, but it is one of those things where, you know, I don't know how much extra time I spent on it, but it was more than at some point you're like, man, is this worth it? You know? And hopefully it is. Well, I also wonder too, though, um, I wonder what your take
Starting point is 00:14:39 is going to be on this, but you know how we've talked about how like whatever language you learn like you you know you tend to like solve your problems in that kind of mindset so if if java for example was the first your first um foray into programming then you're going to like come at things from an object oriented you know problem solving for the remainder of your career. Right. But so I didn't come from that and now I'm kind of, but, but like heavily spent like the last, however many, you know, months doing this and object oriented soon into their months. Thank you. I wondered like,
Starting point is 00:15:27 would we be better off if we weren't doing things in object oriented patterns? Like, like why did that win? Why is that so popular? Like, cause sometimes I'm like, you know what?
Starting point is 00:15:41 I just want to go back to the simplicity of like, here's just a simple function. You, you give it, you take, as long as you put in the right things, you know, it's going to spit back out a result and you can, you could test it. Like, how come like, how come there, how come Java mimicked C++ type,
Starting point is 00:16:03 you know, going object oriented instead of c like why didn't like why isn't haskell like more popular you know what i'm saying like i don't know i have a take on that and i think i think it wins out because it's more easily mapped to the way we think is it and well so who the hell thinks of in terms of factories okay i need to go to the grocery store let me create a shopping cart uh factory so design patterns aside though but i mean think about it right like even even javascript javascript started out just like what you're saying but it got to a point to where there's so many loosey goosey errors that can occur because of types and, and things that are expected or not expected or whatever. Right. To where people were like,
Starting point is 00:16:52 we need TypeScript. And then, and before TypeScript, there was even another one that was super popular and I can't remember the name of it right now, but, but they've been, no, God, the Facebook one, right? Yeah. Yeah yeah you know what i'm talking about i can't think of it um but i think i think the gist of it is type safety was one of the big ones and then knowing what's coming in and what you're putting out i think that's the reason why object oriented basically won out was because of mental mapping safety c and c like you don't like that's not foreign to see like you know this this method takes in this type period but it doesn't map mentally right just creating a bunch of methods or functions like if you have a person it's easy how does it not map mentally i want to i want to
Starting point is 00:17:37 open a file there's a method that opens the file i mean we can take the simple ones but like it's easy for people to think about a person having an age and a gender and whatever. Whereas something, I don't know, you start writing some application and you just have methods and functions all over the place. I think that's where people are like, oh. The difference is, you mentioned a data structure of a person with properties like an age and sex and whatever, height. But that could just be a simple struct like why why does it why so to now like we we want to like add functionality on top of the data structure and state right yeah and that's where like things get you know get weird so i'm like
Starting point is 00:18:21 a lot of these problems like you you started this whole conversation talking about like the architectural, you know, type of thing, like how, how much do you think about that? And it's like, do we do have, have we as a developer society, right? Kind of pigeonholed ourselves into these problems, these architectural problems because of object-oriented designs and then like trying to solve those problems with like here are the design patterns and you know here are the you know factories and whatever instructors and yeah like all of these things where it's like maybe maybe if we had just kept things simple and said like, just create a stupid method, a function, man, like, you know, pass some stuff in and it'll return back a result and you could easily test that.
Starting point is 00:19:12 And we're like, eh, that's too. Yeah. It's interesting. I don't know. I don't know. I mean, I've worked in so many different programming languages and they all do it differently. It seems like everybody always ends up pushing back towards o at the end i mean they did it with js um i mean they did it with php right
Starting point is 00:19:31 like they did it with cold fusion they did it with like everything because you learned object oriented like if you learned object oriented if that's your first language and then you get on one of these languages at work that doesn't this, this not object oriented. You're like, how do I get my object oriented in here? Right? Like we need that. Yeah. And by the way, somebody did ask, this is so funny. Somebody asked in the episode discussion thing, when we had mentioned that we had come from cold fusion, at least me and Jay Z that, uh, has any,
Starting point is 00:20:02 does anybody even remember macro mediaedia and oh yeah yeah yeah i remember that and then i also remember the original which was a layer yeah man oh yeah yeah a layer was who who started it all lightning bolt yeah man so yeah that was that was back in the day by the way uh coffee script and flow with languages i was thinking of coffee script facebook yeah coffee script was the one i was thinking of so yeah it seems like everybody ends up pushing back over there but to your point outlaw i mean there are patterns domain driven design when we talked about that their whole thing was uh it was um not inheritance over it was, um, not inheritance over. It was, uh, uh, composition over inheritance.
Starting point is 00:20:49 Yeah. Basically, you know, you have, you have change object type things and all that. So, so yeah, it's like they try and get rid of the state problem by introducing these
Starting point is 00:20:58 patterns on top of it, which gets rid of the whole point of, Oh, to a certain degree. Yeah. It's, it's crazy. I'm thinking of it like this of all the technology and all the years that have gone by and how many bash scripts do we still
Starting point is 00:21:12 write today like how many how many are still relied on it which like at the end of the day it's like string parsing kind of stuff but yet so much stuff runs on it right like they're so easy to use and simple, and you can put one together in 30 seconds to fix any problem you have. Yeah, bash scripts are funny. They're both very low level in terms of what you do and how you write it and what's available to you,
Starting point is 00:21:40 but they're also very high level in that you're orchestrating other applications and piping input and output. I don't know. I think it's going to be around for a while. It will be. I do have a Boomer Hour thing. All right.
Starting point is 00:21:55 I've got to throw this out there. If you're going into Boomer Hour, then we can't go into Boomer Hour without a dad joke. Let's do the dad joke. Why did Mozart kill all of his chickens? Fuck. a dad joke okay let's do the dad joke why did mozart kill all of his chickens because when he asked them who the best composer was they all answered nice okay very nice so so my boomer hour is this I asked chat GPT to do something on, on, uh, on how to pull some information out of Google cloud and he gave me back some code and I was like, okay, let me try it. Try it. It failed.
Starting point is 00:22:38 And I was like, all right, that's, that's fine. I mean, they, they don't live on top of Google stuff, right? Like, so let me ask Gemini, right? Let me ask Gemini the same thing. And it spit me out code that did not work with Google's own tools. And I'm like, really, man, really? Like, if you have an AI that's telling me how to code on your platform, should work like and i just that part of your prompt was that part of your you're like yeah yeah put that in there yeah i it was oh man it was so frustrating like i and you want to know the crazy part is i want to say they both spit out nearly identical stuff like it was almost carbon copy which makes me wonder like are they using the same llm for this stuff like yeah is this like you remember when
Starting point is 00:23:32 bing was accused of when they didn't have a search result going again querying google to find it and then returning it on their page that's what i feel like happened here and i was so so very annoying yeah if i had to like add new features to or pick new features of teams to work on like it'd be nice to be able to like limit some of the data in my lms like especially for like version things like some of the biggest problems i've run into is uh when i'm like trying to go from a version seven to eight or move from this chart to that chart or something. And I'm like trying to do something there. And it just keeps giving me the old information. I'm like, no version eight.
Starting point is 00:24:08 Oh, I'm sorry. Here's the same thing again. Right? Oh, sure. Sure. Yeah.
Starting point is 00:24:13 It'll do sure with an exclamation. Now I will say wrong thing again. I will say Chad. Okay. So I guess stepping out of boomer hour for a second, Chad GPT actually impressed me a little bit the other day because I was asking about some garbage with, um, car sets in or char sets, car sets, car sets in Java. And there was one that wasn't there and what I was trying to do, and it was
Starting point is 00:24:38 blowing things up. And so I asked, wait, how do I create an alias for something in this? And it spit me back some stuff. And I'm like, man, this absolutely does not work. And then I got to thinking about it and I was looking, I was like, there's no way this would ever work. And I said, Oh, I'm using the open JDK version 11. And then it completely said, Oh, if you're doing that, they completely changed how this stuff worked and it spit something out. So I was like, okay, first off're doing that, they completely changed how this stuff worked and it spit something out. So I was like, okay, first off. So that's pretty incredible, right? Like I don't, I don't want to, to mince words here. Like that's pretty sweet that it could say it, but I almost feel like if, if people are using it this way to where they're trying to get information, it should at least tell you, Hey, I've spit you out something for, um, Oracle's Java version eight, right. Or something like that. So that you at least have the context of what it's thinking.
Starting point is 00:25:36 Um, I don't know, maybe, maybe that's something you could put in a pre-prompt like, Hey, tell me what version that you're using when you're generating this code but you know anyway jim and i's pretty good about listing its uh its sources i don't know about gpt anymore but that's kind of nice you can actually see you know some version numbers and stuff in there yeah yeah i i just was so irritated when jim and i spit out code that didn't work on their own platform i was like really come on man well i think jay-z referred to this a while back when we were originally talking about chat gpt about it being confidently wrong and i've definitely experienced that and and i think like we've we've talked about like the older the technology then the better the responses seem to be but yes any kind of language or technology that is very current
Starting point is 00:26:26 and uh you know the change cycle is like hyper you know quick then it starts to fall apart quickly you know yeah you're in trouble then yeah all right so the next one is actually from micro g he sent us an article that is actually pretty interesting. And we're going to skim over it and share some of this stuff with you because it's kind of cool. So it's from a site called Outer Bounds, which I'd never heard of them before. But I guess this is the people that do Metaflow. They have an article called 350 Million Tokens Don't lie, love and hate in Hacker News. So the gist of this is they went back and grabbed all the data from Hacker News that
Starting point is 00:27:18 had more than five comments between January 2020 and June 2023. And then they use the Lama three. So that's Facebook or Metas Metas open source, a large language model thing that has 70 billion tokens. And then they ran it all through this thing to sort of analyze it, to get the sentiment based off the subject or the topic. And so there's some pretty interesting stuff in here yeah very important to point out 2020 too like there's some stuff going on in the world there's you know it's a little abnormal compared to years around it yeah yeah 2020 was not the the best of times around the planet what's going on i don't remember know, I've got this thing called long. Oh, I can't remember it anyways. So,
Starting point is 00:28:07 so what they did is they actually brought up things that have been trending. And so the thing that has the absolute most posts was technology. And then after that was open source, then software development, programming, web development, get hub, artificial intelligence, JavaScript. And then it that was open source, then software development, programming, web development, GitHub, artificial intelligence, JavaScript, and then it goes on down from there. But what's interesting more than anything is sort of what has been coming up over time.
Starting point is 00:28:38 So again, they started from 2020 and technology has sort of been there and on the rise which is then i mean i guess that makes sense but artificial intelligence was just being talked about in 2020 and now it's it's up there like there's a ton of articles there's a lot of posts on it um you guys see anything else interesting in this particular one uh not so much this particular one, but some of the other ones I thought. I don't want to skip ahead, though. So I guess the only software development and open source both seem to be pretty consistent on there. Like those haven't really trended up or down.
Starting point is 00:29:16 They just sort of stay with the same number of posts that consistently come through. Machine learning, surprisingly, has actually taken a big bump in 2023 like i would have thought if anything with ai coming on as hot as it did i would have thought that ml would have sort of taken a dive yeah a little bit but other than that everything else looks pretty consistent see layoffs jumping up recently. Oh yeah. Yeah. All right.
Starting point is 00:29:47 So you did mention that the top, the top 20 topics are only 10% of the topics covered. So all these are the ones that, you know, have a lot more traction. 90% of the topics are different. And it said it was aggregated from a hundred thousand pages. So that, that's a lot of posts,
Starting point is 00:30:01 right? Like a whole ton of posts. So then what's declining that this one might be a little bit yeah this one's interesting this is where you know we talked about covid like so there's a couple topics right in 2020 that were huge right at the start like coronaviruses in there it's a couple others that are kind of hard to tell the colors but you can see that there was a huge drop off from like 2020 to 2021, for example. And now, you know, those are way down,
Starting point is 00:30:25 which is pretty interesting. Privacy was major at the beginning of all that. And even though it's taken a big drop, it's still up there. Like there's still a lot of people talking about privacy. And I think that probably has a lot to do with AI still, right? Like what's happening with all our data yep yeah so it looks like that they've got coronavirus and covid19 here separately
Starting point is 00:30:50 they've got public health so those are the ones that really just dropped at the beginning beginning of the graph so from 2020 2021 yeah it's interesting so there's a big spike in privacy in apple around september of 2022 so i don't know if there's some new story that broke around then or whatever. That was pretty interesting. They actually mentioned it in this article somewhere. Well, you're going forward.
Starting point is 00:31:12 I'll see if I can find that. Um, Oh, there, it was their proposed CSAM scanning. Oh, right. Okay.
Starting point is 00:31:25 That's right. Oh, right. Okay. That's right. So, uh, Apple kills. It's planned to scan your photos for CSAM. I don't even know what CSAM is. Oh, I think this was child sexual abuse material.
Starting point is 00:31:38 Yeah. They, it was, it got, I remember at the time it got a bad rep. I think, I thought it was like a good idea, but I think people misunderstood what it was doing because it's not like it was taking any pictures and sending it up anywhere. It was just like generating a fingerprint or like a hash, for example, of that and comparing it to like here's a known set you know here's the you
Starting point is 00:32:05 know federal known set of hashes and if we see these hashes then we know that you have a copy interesting well yeah it apparently caused a bit of an uproar at the time but yeah it's kind of died off the story at the time like there was misunderstanding about like how it was going to work and some people thought like oh my photos are being all of my photos are being sent to apple and there somebody's looking at them and you know comparing them and it's like no that's not how it's going to work and it could like all sit on date on your on device because like having all of those hashes of the known ones could could sit on your device but that was another thing if i remember correctly where people felt like wait you're gonna put the pic images on mine and it's
Starting point is 00:32:49 like no no yeah that's a tough one so the the next chart that we see on here is how do people feel about the topics and he actually writes some stuff on here i assume it's a he it might not be something that was actually pretty funny is if you look at the sentiment scores across the board, you have a few ones. So basically not much, some twos, uh, threes go way down for start climbing up. There's zero fives in the entire data set. So a sentiment of five was completely neutral and, and he, I'm going to read this because it was actually pretty funny. Firstly, the LLM is utterly befuddled about what a neutral discussion looks like. There are no five in the results, or maybe there is a snarky note by the LLM noting that humans
Starting point is 00:33:36 are incapable of unemotional unbiased discourse. So, so yeah, that was pretty funny but but it does show that i guess it's it's indication of sentiments on hacker news is they're mostly positive so like six sevens and eights are pretty high there's not a bunch of nines but for the most part it seems like it's a pretty positive uh well you should value given to these conversations. Yeah, zero was the flame war and nine is perfect harmony. Yep. And most of it was above five. I'd say most of the
Starting point is 00:34:13 weighted stuff is up there. Fours had a decent amount, but then it dropped off pretty bad under that. So, that was interesting. My favorite is the next chart the love for that love hate yeah things that people love you know programming computer science open source game development rust mathematics i'm like yes yes yes yes how are you gonna how
Starting point is 00:34:36 are you gonna skip over python i literally skip that skip over python every chance i get wow astronomy awesome retro competing great debugging if you say so uh the things that we hate though like ftx pretty funny yeah bank been fried yep uh torture uh yeah employee monitoring yep uh you keep going down there's some some juicy ones there my favorite though is car features interesting why i thought you were gonna say lassian no i also thought it was funny that is interesting i wonder why atlassian made the hate list there was the whole thing with jira a lot or i'll say a lot some databases and stuff but i don't know i think people might just hate on jira that's what i assumed it was is you know just jira bashing and as a generic ticketing system and
Starting point is 00:35:30 then that translated into uh alassian through the machine i mean in fairness doesn't everybody doesn't jira just get transient hate from the fact that people are tired of dealing with tickets and so you hate the system where they are. I don't know. You'd hate whatever the new system is too. So exactly, exactly. It's pretty funny. You can tell it does.
Starting point is 00:35:52 It's skewed by events to happen, you know, like we talked about COVID, but there's some other stuff that happened with like, you know, police and stuff around the last couple of years. I think you can see a big reflection of that. I'd really like to see these stats for like the last 20 years, for example,
Starting point is 00:36:04 and see just how different it is yeah i mean the pop culture of the time definitely plays a big part of this cost-cutting we hate cost-cutting right i agree i think i don't like it yeah the next section is kind of interesting so they said there's some topics that are just divisive and what they're saying is that means that sometimes when a topic's posted it would have a really good sentiment and sometimes when it's posted it's like a really negative and they just pointed out four of them here they're pretty funny uh gnome specifically kde versus gnome so that war's been raging for 25 years so don't matter what you do you know it might be good might be bad
Starting point is 00:36:46 google the oh you're muted again jay-z you gotta quit doing that man i see your mouth moving can't win i didn't have anything interesting to say about it oh okay well we're glad you you unmuted for that um google government regulations and venture capital. So it's a little interesting to me that on hacker news, where there is a lot of talk about venture capital and startups and all that stuff, that that's one of the super divisive subjects. It's interesting. Yeah,
Starting point is 00:37:22 for sure. Like I would have assumed they liked it right yeah i guess there's bad stories too but i would have thought you know with that with that audience that would have been more popular but imagine imagine with you know recent news or recent news we're talking about the google one right like what do you uh well i mean yeah i'm not aware of do google stuff there's a new google stuff yeah did i miss them i thought about about about oh sorry no about the antitrust the breaking them up as a monopoly oh that's yeah that's about to happen yeah so really well i mean they said the same thing about Microsoft in the 80s,
Starting point is 00:38:05 so who knows? They're talking about it. Yeah. All right. I'll believe it when I see it. I missed that headline. Yeah. And then I guess the last one that's sort of interesting, as I said,
Starting point is 00:38:16 is the mood improving. And it looks like it went down slightly, but they said that in August 2021, there was like a downward pull on the line. But for the most part, it looks like it's just pretty consistent. Like it, based off their findings, yeah, six, four to six, three, like based off their findings, it seems like the sentiments on a lot of these topics are still just sort of, they're pretty heavy right around the middle, which is six you know a little above a six and then there are outliers on both sides of it now what is weird is at certain times of the year so this looks like
Starting point is 00:38:56 may september maybe november of 23 there was a lot of stuff that was either like far outliers on the top and bottom it'd be interesting to know what those things were at those time periods but yeah otherwise yeah it's pretty good i bet their sentiment would be higher if they had a dad check right now yeah you want to give us some some good sentiment sure how many apples grow on a tree? All of them. That is correct. Woo! Look at that! Very nice. I got something right. Well done.
Starting point is 00:39:29 We'll change that here in a minute. Some of the numbers are in California. I don't know about where they're grown. Oh, that's true. Or her. Sorry. I should say the rest of the article just kind of talks about how they actually did this using their software. Yep, that's it.
Starting point is 00:39:42 Which is Metaflow. Never heard of it. Maybe I'll look into it at some point yeah i never would have thought of using lm to like analyze data set like that well they actually said in the article they said that lms are surprisingly good at that type of thing so if you ever want to analyze a large data set the one that comes to mind is like the netflix um they had some big data set out there that would probably be an interesting one because at one point that's what they would run machine learning things on right i wonder what ai would do if it came out ahead of what the ml models were yeah it's pretty cool
Starting point is 00:40:14 yeah so maybe that's what netflix uses to uh pilot new movies and tv shows on netflix hopefully not see what the let's just see what the ai generates for us oh let's here green lit go make that oh man i'm not saying the quality has gone down yeah right yeah and the price hasn't gone up either right so the quality hasn't gone down the price hasn't gone up so it's a it's a perfect world yeah yeah all right so thank you again micro g for for sending that one out that was that was actually pretty cool and then so i'm going to take us back a little bit i'd mentioned i think it was earlier in the year maybe february march i was talking about buying some omada stuff and redoing my my network and i finally took some
Starting point is 00:41:00 time to do some of it and good lord cat. I bought a thousand feet of cat eight network cable. That stuff is so thick and it's not a problem until you go to put the RJ 45 connector on it. So typically when you're running wires and stuff through your house or whatever, you're cutting that wire to length, right? Like you're not going and buying a 50 foot wire and then running it somewhere. You cut them. Well, that wouldn't be a problem. It's RJ 45 heads. Like the, the connectors that get plugged into things weren't a standard size and you got to fit this thick wrapped cable inside this stuff. And I, I probably, I probably burnt five of those connectors trying to make a good connection because what would happen is when I, when I'd put the things in there, the, the wire is actually thicker than like a cat six or a cat five.
Starting point is 00:41:59 And then the jacket around it's also thicker. So those things aren't in the perfect spot when you try to um like uh clamp that connector on it'll actually push off and push through two wires at the same time and so you have wires that are cross connecting and so if you run like a test on it you'll see that one and two are lit up and it's like oh come on man so yeah i mean i was up on a ladder for like 30 minutes replacing the head on like three or four times before i got it right but i finally did and it was real good but man that stuff it is seriously twice as thick maybe even more than a cat 5e cable it is ridiculous um but it's pretty cool once you get it working so thought i'd share how many how many cats can you send down the wire at the same time on it
Starting point is 00:42:53 i don't know just eight it's literally in the names oh they're limited to eight yes all right well uh like we said before, if you haven't left this review, we would greatly appreciate it. You can find some helpful links at www.codingblocks.net slash review. One stars and above are appreciated. I got that right. I think I got it.
Starting point is 00:43:20 It's like golf, right? The lower the score is better. That's it. I think treat it more like golf right uh the lower the score is better that's it i think treat it more like par let's do more like par the higher the better well that sounds like sports i don't know what you're talking about sorry okay we'll go back to maths all right so now it's time for the portion of the show where i get destroyed yeah the blocks let's go yep this is my favorite portion of show mental blocks here we go so this is 240 so according to the tech co's trademark rules of engagement joe you are up first okay the categories are books in the series and uh i will give you the book titles you give me the series
Starting point is 00:44:08 okay sports team homophones okay auto biographies okay great one belly button two nipples uh elementary pop culture and oaths uh books in the series really joe all right uh you heard what else i got yeah i was i was really wanting to pick the autobiographies. Yeah, right. Never. Never. What's your number? Oh, always five.
Starting point is 00:44:52 Oh, five. Okay. Philip Pullman, The Golden Compass. I'm assuming Philip Pullman is the author, by the way. The titles are The Golden Compass, The Subtle Knife, The Amber Spyglass. Oh, no. Oh, man. I've seen the movies. I am aware of the books.
Starting point is 00:45:17 I cannot remember the series. Golden Compass. It has like a cool name, too. Polar Bears., polar bear King. Is that your friend? Do you want to call a friend? No, no, no, no. That was just, I was trying to know.
Starting point is 00:45:33 That's not, that's not it. Oh man, it's got some cool name. I'm going to, I'm going to kick myself. Hold on. We can go it. I think that's how it works. I mean, I just am going to have to, it's Hold on, let me Google it. I think that's how this works. I mean, I just am going to have to... It's something like the
Starting point is 00:45:48 familiars or something. No, homunculus. It's got some... The people have the animals with the soul and I give up. The Chronicles of Narnia, wasn't it? No. You're both wrong. It is his dark materials.
Starting point is 00:46:06 That's what I meant. What a cool name. What does that even mean? It does remind me of the Chronicles of Narnia, though. I could actually name, I think I could name every book in the Chronicles of Narnia right now. Oh, man. In order. Do you want to? Yeah, I i'll try i think there's seven uh line are there seven really yep all right boys of the dawn treader uh i've already forgotten
Starting point is 00:46:37 the one i just thought of this one too um and then we go so we're skipping that one uh silver chair wasn't it and then uh yeah okay actually i can't uh i can't even name half of them never mind so alan you're uh here i'm next that was terrible wait wait i can get them though here the lion the witch in the wardrobe wait you're reading gaspian i am reading i don reading. Prince Caspian. Yeah, Prince Caspian, The Voyage of the Dawn Treader, The Silver Chair, The Horse and His Boy. Never heard of that one. Magician's Nephew. Never heard of that one.
Starting point is 00:47:12 And The Last Battle. Dang it. Yeah, I would have never. I had the set when I was a kid. I read them at least once. The Hardy Boys, man. That was my... Oh, that was good stuff.
Starting point is 00:47:22 Yeah, I liked the Hardy Boys. All right. Here you go, Alan. Here's your categories. right african history different songs same titles where i'll give you the artist and you need to name the song title they all have in common geography and a little math uranus shermanus main attractions and quote ladies first where each correct response will begin with the word lady um main attraction for five maine like the state of maine state yeah oh so here you go problem i'll allow it since i wasn't clear on that one in further record uh uranus
Starting point is 00:48:20 shermanus is you know in reference to the planet. Let's do the artist one, the artist and the song one. Yeah. The different songs, same titles. Yeah. That one for five, you said for five. All right. Def Leppard, Nickelback, Ed Sheeran And here's your hint So you can keep me inside The pocket of your ripped jeans Oh man Oh
Starting point is 00:49:04 Oh this is going gonna really frustrate me i don't know dude joe joe for the steel the three bands of death leopard davidan, and what was the other one? Nickelback. Photograph. That is correct. Come on, man. Alright, let me note
Starting point is 00:49:37 that. Five. Alright. So. That's not fair. Nickelback only has one song though so I'm what are you gonna do I don't think they would appreciate you saying that
Starting point is 00:49:50 all right so here you go Joe your category titles are know your ologies where each correct response will end with ology tiny desk concerts personal finance
Starting point is 00:50:10 oh man i can't pronounce this word imagine just pretend that the made-up word i'm going to say is like legit and right. Because I don't know what this is. Okay. Sojourner truth. Is that a word? Yeah.
Starting point is 00:50:31 Sojourner. Yeah. What? Okay. Temporary resident. Okay. I've never heard of that word before, but scientists and celebrity jeopardy ain't the only cj and where like cj
Starting point is 00:50:50 will be the initials of all of the correct responses wow uh i so is there a description of tiny dust concerts i'm sorry what is there a description of tiny desk concerts no i use it in a i'm assuming i'm assuming it's an etymology right i you know what first came to mind is probably wrong because i immediately thought of the npr tiny desk yeah that's what i think performance you ever see the guar one but it's pretty good i i i'm not sure if that's correct or not so i would not i knew yeah i bet it is your risk i'm gonna go with know your ology for five okay i need to steal real bad if yeah i get it if your phd is in the similarities of folk songs from oh here we go proper nouns again from i'm sure these can be pronounced it's right butan and cameroon
Starting point is 00:51:58 you're an expert in ethno this folk songs from cameroon and butan yep i think that's what i said ethno something ology um this is not the right answer i'm gonna go with ethnomusicology that is correct i'm gonna be so mad because i was gonna say the same thing man oh i mean they gave it to you that's ridiculous i can't get a break why would that answer it's ridiculous i don't know why but it is all right so alan you you get another chance but you get all the categories are at your disposal i can read them oh that's gonna work great oh i can reread them again or or you can read me the last ones that he just said the last last ones uh know your ologies tiny desk concerts personal finance sojourner truth personal finance finance for five. Let's do that.
Starting point is 00:53:06 Okay. If you're eligible, stock away some after tax retirement scratch in one of these accounts named for a late Delaware Senator. What is Roth? Roth IRA is the correct answer. I get something. I think I scored for the first time in like 8 episodes that's amazing so I really wish that one of you had picked the autobiographies so let me give you an example of this
Starting point is 00:53:37 I evolved over the years from a red convertible in comic books to the tumbler you saw in the Dark Knight, I am this vehicle. What is a Corvette? Joe? Batmobile.
Starting point is 00:53:56 The Batmobile. Wasn't it a Corvette? It was. Yeah. Right? But it was saying what car. Batmobile. All right. Fair enough. Yeah, that was a good one. Yeah. Right. But it was saying what car happened. All right. Fair enough.
Starting point is 00:54:07 Yeah, that was a good one. Yeah, that's better than I thought it would be. I was going to say, if it's about Autobots, I might have a chance. But not if it's about cars. I don't know. Right. Okay. So final round.
Starting point is 00:54:22 Yes. Category is. All of it. All of it. All of it. it okay both of you are all in so you're going to uh text me your answers uh you know directly in private see category is award winning great and the answer is her 2019 oscar win and 2021 emmy win were both for portraying a british queen and you're both all in remember that yeah it don't matter i'm all out too why is it gotta be movies movies and names like people's names actors dude i don't know try pronouncing them joe try pronouncing them yeah don't don't come to me with this crap like yeah barbara strebra Streisand. I don't know.
Starting point is 00:55:25 Yeah. I think you were supposed to like write that quietly. It doesn't matter. Yeah. I'm just trying to lead the witness over there. Yeah. I don't know. I just named the only, that's like I know of except for the one you just named.
Starting point is 00:55:39 Did you just type it? Yeah. All right. So I didn't type anything because I got, I've got nothing. So seriously, your answer is nothing then? Nothing. I i got nothing i can't think of a single person i mean if you're gonna start it with nothing then clearly uh you lost all your five points i'm sending you two just in case it's the other one that's not how this works that's not how this works. And Joe says, well, first, Mr. Indecisive Joe says, Halle Berry. And by the way, he was all in as well.
Starting point is 00:56:15 Yes, yes. And then he decides to go with Julia Roberts. Yeah. Those are both fine answers. Those are both fine answers. Those are fine answers those are both i don't know they've won anything recently though so no you know they're not quite that topical but olivia coleman is the correct answer you both lose you're both i don't even know who that is yeah hey i tied yeah yeah you did a good job that's amazing all right well now that i've not lost for the first
Starting point is 00:56:50 time in many games um you have the next next topic here joe okay yeah so i was uh i was asking gpt well i was asking claude actually you you recommended a couple episodes ago i made last episode uh for some suggestions on things to talk about and it mentioned a basically trivia so I looked up and I tried doing a couple different flavors I couldn't really find stuff
Starting point is 00:57:15 what the heck that I liked but then I did find one for Kubernetes trivia and we won't do all these but I thought it might be fun to do a couple of them and I thought the questions were actually pretty good but they tell you that the answer so i am not going to be able to uh to uh play but i just stepped away so this would be interesting so uh don't look at this article but okay the first question is blank runs on each node and ensures containers are running in a pod. Blank runs on each node and ensures containers are running in a pod.
Starting point is 00:57:55 Do you think it's kubelet, etcd, scheduler, or pod? Kubelet. Yeah, that's the right answer. But even just asking that, the reason I even got here is we work with Kubernetes, spend a lot of time with it, but there's some things that I just don't really think about. I very much spend the time doing stuff with Kubernetes
Starting point is 00:58:17 that I spend my time doing stuff with, and that's definitely not indicative of the whole ecosystem. So I have some pretty big blind spots. So that would be kind of interesting. And Kublai is one of those things that if they didn't give it to you in multiple choice, I would have been really struggling to think of the name because I just don't think about it. Yeah, we read it way back in the day.
Starting point is 00:58:35 Yeah. That was it. Yeah, I don't think about it. So how about this one? Blank manages the assigning of nodes to pods depending on resource availability. I usually think of it as like pods of nodes. The inverse of that. Yeah, it's pods of nodes.
Starting point is 00:58:50 That'd be the scheduler. That's the scheduler. Yep. And other options just for fun. It's ED, kubectl, and flannel ID or flannel D. So that was good. Let's see here. Is this a good one as soon as a service starts blank
Starting point is 00:59:09 daemon running on each node adds a set of environment variables on the pod for each active service as soon as the service starts a blank daemon running on each node adds a set of environment variables on the pod for each active service. Let's get those multiple choice there. All right, we've got kubectl, kubelet, kubadm, kubadmin, or service discovery. I'm going to say service discovery. So in this case,
Starting point is 00:59:47 it does say it's the kubelet again. But just to read it back, as soon as a service starts, Kubernetes, which can represent a number of things, but maybe it's a port on a node, maybe it's an internal load balancer, external load balancer,
Starting point is 01:00:02 something like that. As soon as that starts, the kubelet daemon running on each node will add a set of environment variables on each pod for each active service. That's interesting. I didn't know that. Like, I could understand, like, a DNS entry or something like that. You know, that makes sense to me. But saying a set of environment variables is interesting.
Starting point is 01:00:23 When it's said to each pod i wonder if it goes through every single pod that's running on that node to do it that's that's interesting so that it knows how to communicate maybe but that's why your dns makes more sense i don't know that's interesting it's interesting and so there is a little explanation down the bottom it says the environment variables provide important information and configuration details for the service to function correctly within the cluster. But I don't know why each pod would need to know about that. So that's interesting. So something to look
Starting point is 01:00:50 into. And we'll do, say, two more. Alright. Next one is the kubelet. Wait, that's the explanation. The replication controllers and deployment controllers are part of blank.
Starting point is 01:01:06 Is it the API controller manager, etcd manager, master controller manager, or cube admin? I would have. Wow. Probably the API controller. Yeah, that would have been my guess.
Starting point is 01:01:24 It does say it's the master controller manager. Interesting. I don't even know what that is. No. Yeah, that would have been my guess. It does say it's the master controller manager. Interesting. I don't even know what that is. No. Yeah, this is definitely, this is stuff that, again, like I said, I just have a total blind spot on this kind of side of things. If you want to know how to make a pod tail dev null, then I got your back. You can do that all day long. But no, it says the master controller manager is responsible for managing different controllers in Kubernetes, tail dev null then you know i got you back you could do that all day long but i know this is
Starting point is 01:01:45 the master controller manager is responsible for managing different controllers and kubernetes such as replication controllers and deployment controllers they're crucial for ensuring the desired state of the cluster make sure managing the scaling and replication of pods handling updates and rollbacks so i guess when you think about it that way it kind of makes sense that the master controller is in charge of making sure that, you know, if you've got a deployment or replication controller, there's a pod there. And the API, you know, I guess if you think of the API as being like almost like a separate interface that can optionally communicate with things like the master controller, then it kind of makes sense. Yeah. I don't even remember reading about that.
Starting point is 01:02:23 No, me either. That's interesting. Oh, here's another cool one. Blank is a special namespace that is used for special purposes like bootstrapping a cluster. All right, give them to me. Special namespace used for special purposes like bootstrapping cluster. Cube public, cube private, cube system or default cube system that's what i would have guessed but is cube public really i know it's not default because uh yeah i have to
Starting point is 01:02:55 use default by default all the time right accidentally yep cube public is a namespace used for special purposes like bootstrapping a cluster it's publicly readable and contains resources that should be accessible to all users and services in the cluster commonly used for storing cluster-wide resources that need to be accessed by multiple users or services such as cluster-wide configuration maps or public secrets and this is why when somebody says to rate yourself on a zero to 10 or zero to nine scale on something, you never say nine. Yeah, never say nine. Yeah, it's good that this makes me want to study more. I mean, like even just seeing that there's questions that like I didn't even, I wouldn't even have known to ask that.
Starting point is 01:03:36 Right. Yeah, maybe. Maybe I should look more into it. Pretty good. And this is a cool set. So let's see how many questions are there on here. This is on a website called pro proofs.com. Never seen it before.
Starting point is 01:03:48 It's got 18 of them. This is made by Godwin. I'm going to try to say their last name and database administrator, but they just created this little quiz here. It's pretty cool. That's pretty neat. Oh, all right.
Starting point is 01:04:02 So, you know, I do have a, another one that was kind of in a different order i don't know who put this next item on the list but i can jump ahead if you want to do that yeah you can jump ahead all right so uh for fun you know i mentioned asking claude earlier for some ideas about things to talk about um i was thinking you know the olympics are going on right now in 2024 they were over in paris Paris. They were. They're over?
Starting point is 01:04:25 Yeah, they're over. It's only two weeks. Yeah. Okay. Only two weeks. They ended last weekend. Yep. Well, dang.
Starting point is 01:04:32 Now I can go watch it and fast forward to the boarding parts, right? That's right. All right. So I asked what kind of competitions might exist in a humorous version of the Olympics for programmers. I know they have like Codeics and stuff like that or like a lot of times it's like algorithms and stuff but i wanted to see like some kind of more fun type of kind of challenges that you might have almost like a there's i think uh the office episode where they show the office they had uh like olympics and then and it was um you know they're doing like paper ball or you know like basketball with
Starting point is 01:05:04 the paper or whatever. Trash, that sort of thing. So that's the kind of stuff I was looking for. And it gave me a couple examples. But I didn't know if you had any ideas first you might want to share. Man, I can't think of anything off the top of my head, no. Yeah, I was trying to think like, you know, realistically, I think it'd be cool to have like debugging challenges where there's actually a problem in some code some sort of defect and you have to figure it out faster sounds like a hackathon almost uh yeah bug like a bug squashing
Starting point is 01:05:33 or whatever they call it yeah yeah there's a better term for that i can't think of but you but you said a humorous version yeah i wanted humorous not a real one yeah so bug squashing wouldn't be it um i don't know maybe who could make the worst efficient application possible right like something like that something that you know outside of an infinite loop how would you squash the processor or something you know yeah i was almost thinking like if you could somehow give everyone on the competition a cough and a mute button have them like say the alphabet and you could uh you know we know it's not going to be me i tend to leave the mute button on too much but i don't know seems like that should be a sport so what did they come up with uh here's a couple good ones i'll read some of the highlights
Starting point is 01:06:20 uh the stack overflow copy and paste we do some sort of coding problem and you've got to go to Stack Overflow, get the answer, and paste it back for anyone else. Here's a legit good one. The Keyboard Shortcut Gymnastics. That's kind of like Code Golf we've talked about a little bit, but with keyboard shortcuts. So performing tasks with as few keystrokes as possible.
Starting point is 01:06:43 Legacy Code Archaeology. Something we talked about earlier in this episode. So find out some sort of bug in timed event in a legacy code base. Whiteboard algorithms, you know, kind of explaining. Rubber duck debug-a-thon. There could be maybe some style points there
Starting point is 01:07:02 for how you talk to your little buddy. That's pretty cool that this came up with these. I mean, yeah, they're pretty good. Yeah, they're decently creative. Yeah. Here we go. Extreme refactoring. Transform terribly written code into clean, efficient code as fast as possible.
Starting point is 01:07:20 And the last one, the Midnight Miracle Marathon. Simulates shipping a product under ridiculous deadlines filled only with pizza and energy drinks. That's real. That's not actually humorous. I don't want to do that again. Yeah, that's not fun. I've done it a few times in my life.
Starting point is 01:07:40 Yeah, that's actually pretty cool. Yeah, it's pretty good. Thanks, Claude. Yep. And Claude was the ai extraordinaire yeah so i actually did this other one oh okay so the i basically seem to run into this all the time and it feels like it hasn't really changed much in 20 years so data data gathering and cleansing and parsing. So the whole ETL thing that exists, like, why is it not much better? For example, I mentioned the in Boomer Hour, the Gemini thing, like I wanted to retrieve a list of metrics, custom metrics that are stored in a GCP project. And a lot of stuff in GCP,
Starting point is 01:08:29 you can access via the CLI, right? So it's usually like a G cloud command and it's pretty easy. This one doesn't exist. And so this one has, you have to go digging through the documentation to even find an endpoint to hit. Then once you find it, they, they sort of trick you into thinking you can use like this swagger type thing, but they don't even have the try button highlighted. So then it was like, okay, some, just give me the code so I can do it. Right. So I finally got some code working, not thanks to Gemini or even chat GPT, but then I got that data and it's in JSON, right? And now I need to do something with it. And, and this is the part that frustrates me, right? And tell me if you
Starting point is 01:09:12 have a different experience. So we have all these tools out there. You could, you could take this data and load it into a database table, right? But then that's probably going to be something like transforming from the JSON into fields or columns or collections, like depending on whether you're doing a Mongo or relational database, whatever. So there's that. And if you actually want to analyze this data and especially compare it with other data sets. So for instance, like one of the things that I was looking to do was, hey, show me metrics that exist here that also exist in another project. So I'll know that they'll collide or not if I were to scope these two projects so I could look at all the metrics in one spot. So I wanted to know the overlap in case there was going to be any problems, any collisions. Right.
Starting point is 01:10:01 Well, man, like, OK, so now it makes sense if you're going to load it into a relational database, but that's going to be a few extra steps because now you're going to have a whole ETL thing to get it in there. I decided I was going to go the pandas route because, you know, Jupiter notebooks and all that kind of stuff. Pandas is made for analyzing data and all that. But that was painful too. Like why, why is it so difficult even 20 years later, because I've been doing this for a long time. Why is it so difficult to get data and analyze data in meaningful ways? I mean, I guess that's the reason why data scientists exist because, because this stuff isn't fun or easy for the most. I say it's the reason why data scientists exist because because this stuff isn't fun or easy for the most I say it's not
Starting point is 01:10:48 fun it feels like a bunch of rinse and repeat like I don't know yeah seems like there would be a tool it would be kind of nice like there's some things like people say like oh I've got a memory leak and everyone says use a profile or I'd like to be able to say like I've got some data mapping issues and cleansing to do and people would
Starting point is 01:11:04 jump up and say use some sort of mapping tool that makes it all easy yeah i don't know i mean yeah it seems like we're still solving the same kind of rope problems year after year yeah i mean we had a sponsor a while back and i don't i can't remember the name of them right now but their whole thing was being able to load up data sets and and like sort of almost drag and drop things outlaw probably remembers the name of them do you well i was waiting for more context about it uh where you load up data sets and you could interact with the data sets like they had tables and stuff and and you could almost like join them real time filter them filter them i i mean i remember there was something like that for uh sorry with the r like re something um dang it the but i thought it was related to
Starting point is 01:11:53 like apis and stuff not necessarily data sets it was all kinds of stuff you could load data from from all kinds of places but i mean i guess that's my frustration right like if you're pulling data from the cloud you you want to get a list of data from the cloud that you can examine on your own. You know, it might come in JSON. It might come in a list form. It might come in whatever. And then you pull data from somewhere else and it's going to be another one. You got to transform all that stuff.
Starting point is 01:12:19 It almost feels like there should just be, there should be a tool that you can point itself to. And they can almost like intelligently do some stuff for you. And then if you want to join them, awesome. If you want to union them, awesome. It feels like this problem has been solved a million times the same way. There should be a better way. Retool was the one I was thinking of.
Starting point is 01:12:43 Retool, yeah. Oh, yeah. So I was thinking of. Retool. Yeah. Oh yeah. So I don't know. I just, I find that I'm doing that kind of stuff. And every time I'm like, I end up looking like, isn't there a better way?
Starting point is 01:12:55 Isn't there an easier way? Should I find a database that makes it real easy to suck this data in instead of like the SQL server, super powerful, but I don't want to use SSMS to, to bring data in, right? Like I don't want to go that far. I just want to, Hey, pull, pull this Jason on it and stick it in something that I can use and join and, and, and query. So maybe somebody is going to be like, Oh, moron, it's this go, go find this tool.
Starting point is 01:13:22 I hope, I hope if you actually have that tool, codingblocks.net slash episode 240, leave us a comment. I would love and we'll share it on the next episode because there's got to be a better way. There has to be a better way. Yeah, you can hit me up at at Theo and Slack.
Starting point is 01:13:44 All right. All right. So we go on to Alan's favorite portion of the show. It's the tip of the week. There we go. All right. So, you know, I mentioned on the Kubernetes trivia section, I'm kind of like re-examining a few things
Starting point is 01:13:58 that I've kind of taken for granted and recognizing that there's some things that just have big holes in. One of those is, just for fun, I Google for Docker tips. And I assume that I'm going to know them all because I, you know, deal with Docker kind of a lot. And I was surprised to see an article on Docker's website called eight top Docker tips for 2024. And I thought, hey, if there's some new tip out there that I haven't heard of it'll probably be here and the first tip right out the gate is really interesting so it's enable Vertio FS for faster faster file sharing on Macs I use a Mac I've never heard of Vertio FS it's a setting
Starting point is 01:14:42 in docker desktop where you can go in there and click it. Sounds pretty cool. Oh, I may, you know, maybe it defaults to that. I don't know. I'm going to have to go check it out. But even going through the rest of them, yeah, there's some stuff we've talked about on the show before, like strategically layering, you know, for getting good Docker cache. And there's some kind of standard tips that have been around for a long time now um they do mention like mount types cache and mtm which is something we've talked about a little bit and like a kind
Starting point is 01:15:10 of a smart pattern for npm installing so that you can uh kind of not have to re-download all those all those npm files that we've talked about how big that can be uh there was a couple other in here that i thought were really interesting. Let's see here. I'm scanning down Docker ignore, of course, Docker net we've talked about as well. Docker scout. Ever heard of Docker scout? Yes. Only because it posted at me every time I do something. Oh yeah. Okay. Nice. Yeah. So Docker scout is basically a tool for looking for vulnerabilities in your Docker images. I'm sure that Docker has some sort of managed service that will help you with this.
Starting point is 01:15:49 You just have to pay a little bit of money, but it's interesting. So that's cool. Also, I saw Docker build cloud, which is also probably another managed service that you can use to pay Docker some money and they'll do your builds remotely. But I just think that remote docker builds is kind of an interesting thing anyway the the big benefit of uh remote docker builds is that if you got multiple people building similar images then uh there's some caching that can happen kind of between people and you can make um you can get rid of some redundancies that happen you know
Starting point is 01:16:22 beyond people so like if i pull in the morning and now levels in the morning, whatever, whichever one of us kind of kicks off that boat first might end up cashing artifacts and layers that the next person can use, which is nice. But, um, the downside of cloud builds is also, there's going to be some network traffic, you know? And so, um, you know, I don't, I don't know the trade offs exactly, but I do like the idea of my computer not melting when I do a bunch of builds so that was interesting and the last one i wouldn't mention was docker debug which is something that i've never heard of before but it's a tool that
Starting point is 01:16:54 changes the game you say it's like being handed a magnifying glass and a detailed map it's basically an upgrade to docker build that brings in a couple tools that make it easier to kind of step through things and figure out what's going wrong and build which sounds pretty nice because i feel like an idiot for telling people now like here's what i do i go into the file i modify it to change these things and i add a run echo whatever and you know and then i do a docker run start like when you think about like it's like why am i doing these weirdo steps and like potentially messing up you know my files and kind of goofing up the things that I'm committing when there's probably a better tool for that? And there is a better tool, and it's called Docker Debug.
Starting point is 01:17:32 And so I'll be checking that out pretty soon here. And the last tip, just for completeness sake, is test containers, which is something we've talked about before, which is pretty cool. And those are really good. They can be useful. Yep. All right. which is pretty cool and those are really good they can be useful yep all right so on mine there was that car set thing that i was talking about that drove me a little bit crazy this week well one of the things i hate to call it car set by the way yeah it should be character set but yeah anyways i mean char set car set set. I don't know. So one of the
Starting point is 01:18:08 ways that somebody mentioned that you could potentially fix what I was running into with this care set wasn't available in the JDK more or less is you could use what was called a Java agent that is something that you can actually pass in at the runtime. So when you call Java and then pass in the jar, whatever it is you're trying to run, you can also pass an argument called Java agent. And I never even heard of this. And the gist of it is this. It was basically made for people to be able to instrument Java applications. So this is something that starts up before your main Java app does, and it allows you to modify the bytecode of the running Java application.
Starting point is 01:18:57 So apparently, from what I understand, this is actually how IDEs do a lot of stuff where they'll start up your application and they can sort of intercept and modify things to run the way they want. It's also what's used for instrumentation. So if you want to get, you know, how fast is this running or whatever, you can do that without putting things all throughout your code. So the Java agent is a pretty powerful byte weaving type thing or byte code weaving type thing that is available to you. I have a link to sort of the explanation of it. You know, obviously use it your own risk because anytime you're modifying the underlying byte code for something that you're running, you potentially introduce a lot of problems. So, you know, it's there. Very cool
Starting point is 01:19:42 that it exists. I ended up not going that route, but pretty neat. And then this just reminded me, I might've even shared this sometime before on coding blocks, but because Jay-Z just went through some Docker tips. One of the things that, that we've talked about in the past is telepresence and telepresence allows you to sort of modify how you develop things, right? So if you're working in Kubernetes, Miradi is also a Kubernetes thing. If you're working in Kubernetes and you need to access the cluster as if you were sitting in the cluster, right? Like you want to run something in an IDE on your machine and you want it to feel like it's in the cluster so it has access to all the DNS of everything, can access services and all that.
Starting point is 01:20:30 Telepresence allows you to do that. Well, one of the problems with telepresence is you actually have to install a daemon on your machine itself. You also have to install some things in the cluster itself. And maybe there's some situations where, you know, you don't have the rights to do that in the cluster and you're just, you're not going to be able to do it. Well, mirror D gets around that. Um, I forget exactly what the, they actually have some sort of architecture layout as to how it works, but the gist of it, if I remember correctly, oh, here it is. It's actually, if you go straight to the docs page on the introduction, you don't actually have a demon
Starting point is 01:21:12 running on your machine and you don't actually have to have anything installed into the cluster. It will actually run something I believe is like a sidecar on a pod. And your machine can talk to that sidecar, which will then sort of get you into that same state. Now, I haven't had a chance to work on this yet. It's actually something I want to try, mainly because the folks on my team that use Macs, we're perfectly fine with telepresence. The people that are using Windows mostly are running WSL or WSL2, and there seems to be some sort of network problem with telepresence. We never could get it to work on their machines. And it may not be telepresence's fault.
Starting point is 01:21:55 It might be some endpoint protection or something that we have running. But the gist of it is I think this would circumvent all that because you're not running some other layer in between. So it's not free though. We'll see. Uh, it actually is. There is an open source version that is free. And that is another thing that's annoying about Mirady is it looks like it's not free at all. It looks like you have to pay for it. But if you go to the docs, I think on that page, there's something about open source somewhere. Yeah, you'll see there is. Oh, yeah, you can click the open source link up there at the top.
Starting point is 01:22:33 And then it takes you to another page where you can do stuff. Now, there are some. Wait, open source link at the top of where? The introduction page in the first paragraph or right there, right above it. It says introduction right below it. It says introduction right below that it says available for, and you can click open source. And so you can install this thing. Now there are some features just like telepresence that are only available in the enterprise version or the paid version, but the primary feature set of it is available in the free
Starting point is 01:23:02 and open version of it. you can use it but yes to outlast point i actually went through the same thing i looked at i was like man is that i thought it was free they've made it to where it sort of leads you down the paid path the hardest way or the way the most convenient way i'm still trying to get to the open source version click docs yep i saw that and then available for introduction and then source but all of this is documentation for the other version how do i get to the click the quick start under oh well it takes you to the same thing um it's just documentation for it so they have it so the brew install is free the brew install one or even the curl version brings down the free stuff but if you start doing things like the visual uh studio code extension i
Starting point is 01:23:53 i can't remember if that's free uh the operator i believe you have to pay for so yeah there's some things you got to fish through it. So I do want to test it, though, because, again, I think this may work in situations where telepresence, you don't have access to the cluster to make changes and that kind of stuff. So I have not had a chance to get into it yet, but the plan is to do it soon. So I found the GitHub version. Curious license. MIT license. Mm-hmm. Yeah.
Starting point is 01:24:32 What are you paying for then if you don't have to pay for it? They have it somewhere. There's a VS Code extension. So the operator is one of the things that you're paying for so it says right here excuse me if you go to their pricing it says everything you love about mirrored open source plus mirrored for teams includes the mirrored operator which runs in your staging kubernetes cluster unlocking concurrent access to mirror d targets r back session management and more that is shady yeah it's you don't have to pay for the the fundamental feature of what it does but yeah i mean it i don't
Starting point is 01:25:20 they make it really look like you have to pay for it. They do. It's you've got to go digging to find out. And, and I, I don't know how I feel about it. I think it, one of the shames of open sources, unless you have like a real big contributor, like a Facebook or something like they're probably not going to last long.
Starting point is 01:25:36 And so they got to try and make money somehow. So I don't hate them for it, but it is sort of, I'm not hating them necessarily is like, it's, it's a little shady. Yeah. It's not super clear and upfront because the pricing one,
Starting point is 01:25:50 there's a pricing page. So anytime I see a pricing page, I immediately think like, Oh, then I got to buy something. Then this isn't free unless it says like, here's your three options. There's the free tier.
Starting point is 01:26:01 And then there's the team tier. And then there's the enterprise tier, but this one only shows team and enterprise. So this out on the pricing page this is another thing that's annoying is typically if there is a free version you know how they have the columns with the check boxes of this is what's available here whatever yeah go down to the very bottom of this page is there a free version yes check out our mirror d open source here yeah so it's in which it takes you to the get it's not even the first question yeah it's ridiculous so so again i don't hate on them for trying to make money like i get it uh but on the flip side like come on i don't know anyways it looks like a it
Starting point is 01:26:39 looks like a very useful utility all right hopefully i'll be able to get report back on it what i'm going to do here then is i'm going to add in a little note there to the GitHub because that is probably what I care about. Well, that definitely takes some wind out of my sails then. So I won't even bother with my tip of the week. So yeah, subscribe, find us find us whatever it's fine give it to us give it to us i didn't even see that i mean it's only been there since you know before we started recording but okay whatever i don't look at the notes man it's all a happy accident
Starting point is 01:27:19 i really wasn't even like a tip of the week. Cause I, I really honestly couldn't even come up with a tip of the week, but I was just thinking that like, uh, lately I was just kind of working in an environment where I am in a Kubernetes environment, but we've talked about scaffold. We've talked about telepresence. We've talked about canines.
Starting point is 01:27:39 And so I was just kind of thinking like, you know, you combine those four things, Kubernetes, scaffold, telepresence, and canines. And it's just kind of thinking like, you know, you combine those four things, Kubernetes, Scaffold, Telepresence, and K9s. And it's just kind of like, it's kind of a joy platform to work with then at that point. Because like I can, you know, everything's running on somebody else's computer.
Starting point is 01:27:58 So Kubernetes for the win there. Scaffold lets me easily, you know, build the modules and it figures out the dependency graph of what to build first and how to build blah, blah, blah. And then also does the deployment. So like ease of build and consistency and build and deploys there. So that's awesome. Then telepresence gives me this, you know, great ability to just say like, hey, you know what, I want to intercept traffic for that one service so that I can debug it on my local IDE. And then canines allows me to see, you know, all the things going on in that cluster without like having to, you know, run each individual kubectl command individually. And also to too like i don't know that we've talked about
Starting point is 01:28:45 this i think maybe we have but one that was like recently pointed out that i was like oh that's cool that you can do that in canines and even know that was that like events were one of the types that you could go and see so like instead of just looking at like namespaces or pods you can say like show me events and then you could sort those and see all the events that are happening in your cluster or in your namespace rather, you know, as the, as, as it's happening. So yeah, like those four tools together just make, um, you know, a fun, a fun development experience or developer experience. So if you haven't already tried any of those, then, you know, I guess the tip was just to like experiment and try, try those, see where they get you. Hey, and to expand on the telepresence thing that he said, if you haven't lived in this, then you probably don't even get how powerful is what he said. He wants to run something in his IDE and have his IDE act like the pod in the cluster. So for
Starting point is 01:29:49 instance, let's say that you have some sort of API pod, right? And, and things make requests that API pod all the time. What telepresence allow you to do is say, yo, I want that API pod, instead of it getting the traffic that's running in the cluster, I want it to redirect traffic for that API pod down to my IDE. And that is so cool and so powerful because now you can run in a debug in your own IDE and everything that would have naturally happened up in the cluster is now going to treat your machine
Starting point is 01:30:21 like it was a pod sitting up in Kubernetes. Not only that but also to like to add on to this so i i have i had like part of my workflow here late in the past few days that i've been as i've been working on something is i have that telepresence intercepting traffic for a specific um you know pod and i'm debugging it in my IDE, but there were other things that I needed to change that I could just do a scaffold run of those very specific modules and scaffold would rebuild as necessary and then redeploy. And then like, I would just be like, okay, now that scaffolds don't have to deploy, let's redo that call and now see what happens
Starting point is 01:31:05 and what data gets passed into me. So, yeah, I mean, those four things just make for such a really cool developer experience. It makes the feedback cycles not so long, which is what it felt like everything becomes when you go to the Kubernetes world without the right tooling. Yeah.
Starting point is 01:31:28 Yeah. Excellent. So that's my dumb tip of the week. They got surpassed by something else. That's her past. So you could swap Mary D with telepresence there and his is still good. I mean, I think again,
Starting point is 01:31:41 I want to test it out, but yeah, I agree that that collection of tools is amazing. Yeah, I just heard about Earthly recently. Have you heard about Earthly? No. I don't really understand what it is, but every once in a while, I just kind of Google, like, there's got to be a better way, right?
Starting point is 01:31:55 And it's basically a tool for doing builds, kind of like a, but it's at a higher level than Docker. So like a Docker, like it builds like a single application, you know, that sort of thing. Like you have a Docker file that builds your, you know, your one service and Earthly is more about building all of your services, whether it's microservices or whatever, building multiple things. So it's almost like a Docker file for building Docker. So they can do other stuff too.
Starting point is 01:32:19 One of the nice things about it is that you can run it locally. So you kind of like running your whole CI CD pipeline locally very easily. But of course, there's also got managed services and stuff too. I don't know much about it other than I just was kind of looking at it and thought it sounded pretty cool. So if you were just starting a new project or something now, it might be worth looking into.
Starting point is 01:32:38 Oh boy. Can I run Jenkins locally? Yeah. Sounds great, right? I'll tell you, it sounds miserable, but there's times when you're trying to debug stuff on Jenkins and you know, what's worse than working on a Jenkins locally. We're working on it remotely. Yeah.
Starting point is 01:32:53 Yeah. No doubt. Oh, I can't wait. Either way. Bad. Yeah. Wow.
Starting point is 01:33:03 Excellent. Well, we, we added that to your yeah we added that yeah it's in your tips of the week now earthly.dev all right because i searched for earthly and it was some sort of nutritional thing i was like is he giving us some like some food advice well speaking of nutrition i'll tell you something about German sausages. They're the worst. The versed.
Starting point is 01:33:30 I like it. Hey, we got a whole episode chock full of dad jokes. That's amazing. All right, then. See you. Thanks. Bye.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.