164: Solo Programming, Chrome Monoculture and More - Potluck

On this week's show, we explore a variety of topics. Ben wants to perform a mini retrospective on his desire to support the legacy platform at work. Carol is feeling isolated as the only engineer on her team - her dog is a good listener, but isn't very helpful when it comes to brainstorming. And, Adam wants to talk about the browser landscape; and see which browser(s) everyone is currently using.

Also, Ben offers up some high praise for Lenny's Podcast - a show in which Lenny Rachitsky interviews top Product and Marketing leaders in our industry. This show is absolutely dripping in value!

Follow the show and be sure to join the discussion on Discord! Our website is workingcode.dev and we're @WorkingCodePod on Twitter and Instagram. New episodes drop weekly on Wednesday.

And, if you're feeling the love, support us on Patreon.

With audio editing and engineering by ZCross Media.


Transcript

Spot an error? Send a pull request on GitHub.

[00:00:00] Highlight

[00:00:00] Ben: I was actually updating some code the other day and I wish that I had a test.

[00:00:04] Adam: Ooh,

[00:00:05] Ben: I know I, should we stop recording?

[00:00:08] Carol: yeah,

[00:00:09] Ben: I was, I

[00:00:10] Adam: We did it.

[00:00:10] Carol: We, we hit the point

[00:00:12] Ben: the, the launch.

[00:00:14] Intro

[00:00:14] Adam: Okay, here we go. It is show number 164 and on today's show we're going to do another potluck. got a couple of small topics to just kind of squeeze them together and that makes a show. But first we'll, as usual, start with our triumphs and fails. And, Tim wasn't here last week but he's back briefly this week so, we'll just let Tim go first.

[00:00:51] Adam: How are you, man?

[00:00:52] Tim's Failure

[00:00:52] Tim: So I'm going to start with a failure. And in fact, actually, I'm just going to do the fit, do the, uh, tramps and fails and then leave. so I don't know how to put this. So back in 2020, my mom, fell and broke her hip, one of her hips. And then, so because of that, she's been kind of frail and my dad's pretty much been a full time caretaker of her.

[00:01:10] Tim: So I go up every, on Fridays and like give my dad a break so that he can, you know, get, take care of things and not be constantly worried while I was up Friday. My sister was also down visiting from New York and, She, and then a few hours after I left, I found out my mom slipped and fell and broke her other hip.

[00:01:27] Ben: Oh, jeez.

[00:01:28] Carol: Oh

[00:01:28] Tim: So, she had surgery on Sunday and the surgery went well, but it's like she was pretty frail as it was and now she's got two broken hips and she is a wimp when it comes to dealing with pain, but at the same time, she also doesn't want to take drugs to help with pain. She likes to take Tylenol. She doesn't get addicted.

[00:01:48] Adam: people, yeah.

[00:01:48] Tim: Yeah. So, they, you know, she wanted to go home afterward and they, and they pretty much told her you have to do physical therapy. At a live in facility and she's like adamant she's not going to a nursing home. That's for old people. And I'm like, mom, you're, you, you're turning 76 this month. you kind of are an old person.

[00:02:07] Tim: In fact, you actually look about 80 because you're so frail and lost all this weight and have no muscle mass.

[00:02:13] Ben: Oh,

[00:02:14] Tim: So, that's been really hard, this past few weeks dealing with, dealing with that. My dad, my dad is not one to stand up to her. She's a very headstrong, person and my dad's, you know, he, he's a people pleaser.

[00:02:27] Tim: And so, you know, it's been hard for him to stand up to her and say, no, you're good. Fortunately, we found there was a hospital about 20 minutes from their house. That is actually, it's a hospital, but they have 25 rooms for rehab.

[00:02:41] Carol: Oh nice.

[00:02:42] Tim: So, technically, it's not a nursing home. That makes her feel, she can rationalize that a little bit better.

[00:02:47] Tim: It's just an extended hospital stay. And, so they can take care of it. Also, she has, like, really weird things going on with her blood pressure. So, they can manage all that and, uh, take care of that. So, that's, I was just there today. they were doing physical therapy on her, and she, She absolutely hates it.

[00:03:02] Carol: it's a huge amount of pain. Just, you know, therapy was stand for 10 minutes and then sit in a chair for 30 minutes. That's that's what we're talking about here, right? She, she can't do anything for herself. So it's just, it's just hard whenever you, sorry. it's okay.

[00:03:21] Tim: you just, I just remember my mother as this beautiful, vibrant woman. She's tall and thin and. Gorgeous, dark black hair and bright, bright blue eyes, pale skin, and just, you know, the original hot goth before goth was a thing. and to see her now, all curled up and like, fingers pulled up and, and just, you know, getting old sucks.

[00:03:51] Tim: It really

[00:03:52] Adam: is not friendly,

[00:03:53] Carol: No.

[00:03:53] Tim: not, it is nobody's friend. And I know none of us get out of here alive, but it's just the indignity of it. Just to see someone who is so full of life, it is. I'm not going to turn this whole into a personal therapy thing. It just, I just want to share what the, with the folks, what's going on.

[00:04:10] Tim: I may not be able to record as much as I want to in the future. I'll try my best, but. The day I was there before she fell, she was going, my sister was there and she was cleaning. My mom's a neat freak beyond belief. she had my sister dusting things that were not even dusty. and she's going, she, she collects like plates and things and she had all, she loved cooking and she loved throwing dinner parties and wine tastings and she had all these.

[00:04:37] Tim: So many plates of this. She's trying to give them away to me. And I've took some of them, you know, my daughter likes to bake. So I got some baking things. My mom used to be a fantastic cake decorator. She did everyone's wedding cakes of all of our friends growing up. And she said something that struck me. She's going through all this stuff and she's trying to, she, she's looking at all these different plates. And she said, I had such great plans. And I think that's kind of sums up life, right?

[00:05:06] Carol: Yeah.

[00:05:07] Tim: We have such great plans. There's so many things we want to do and we think we have time for it. And then something happens in our life and everything changes.

[00:05:16] Tim: And now we can't do the things we thought we were going to do. And that, that just sums it up in a nutshell. You know, I've got great plans, but I don't, I don't know what tomorrow holds, none of us do. So I think the takeaway from that is, you know, be the best you can today because tomorrow's not guaranteed.

[00:05:37] Carol: I hate your going through this, man. I wish there was something we could do to help.

[00:05:41] Tim: Yeah, me too. I just feel for my dad, right? He, my dad's. You know, he's, will be 80 soon, but he's in perfect health, takes no meds, you know,

[00:05:51] Carol: Oh wow.

[00:05:52] Tim: shape. And then she's, you know, he just lives for her now. That's all he does. He lives for her. So,

[00:05:58] Ben: Oh man.

[00:05:59] Tim: but he didn't learn a term today. On one of my little newsletters, I get the sandwich generation.

[00:06:04] Tim: Do you know what the sandwich generation?

[00:06:06] Adam: heard that. Mm-Hmm.

[00:06:07] Tim: you heard that? So it's, it's basically a generation of people that are like me, who are taking care of their elderly parents, but also still have children at home.

[00:06:17] Carol: Oh wow.

[00:06:17] Tim: And so you got to help support both and just the amount of stress and strain that puts on families.

[00:06:22] Tim: And that's, that's kind of where I am right now. I'm the sandwich generation. There's going to be more people retiring this year than, or at least turning 65 than ever in American history.

[00:06:33] Tim: And that will continue until 2027. So there's this huge wave of people that are retiring or at least hitting retirement age at 65 over the next.

[00:06:43] Tim: 8, what, 3, 4, 5 years than ever in, ever in human history or in American history. And, that, that's a huge, huge thing for society because all these, like 50 percent of pilots would retire in the next five years.

[00:06:59] Ben: goodness.

[00:06:59] Carol: That's huge.

[00:07:01] Tim: Yeah, there's a huge age shift going on right now. And then people over 65 hold more than half the wealth in the country. Cause there's going to be this huge shift of wealth among one generation to the next. So,

[00:07:16] Carol: Yeah, I hadn't heard of that.

[00:07:18] Tim: yeah. So that's me. That's, that's, it's not really my fail, but I know I'm, I'm going through a lot right now, so

[00:07:24] Adam: Yeah.

[00:07:26] Ben: Well, obviously take whatever time you need,

[00:07:28] Carol: Yeah.

[00:07:29] Ben: We're, we're here for you and here to support you however we can.

[00:07:33] Tim: it.

[00:07:33] Carol: Wish we could hug ya.

[00:07:35] Tim: Yeah,

[00:07:36] Tim: I feel, it virtually.

[00:07:37] Ben: I don't know, I don't know about everyone's parents, but I know during the pandemic, my mom. Definitely got older. Like I noticed pre pandemic to after the pandemic, she's slowed down a lot. She's just more hunched over. And I know she's also gotten a couple of years older, but it does feel like the social isolation and being home all the time.

[00:07:54] Ben: I think it just aged people.

[00:07:56] Tim: hmm. No, I totally agree with you because I was like, I was looking at pictures of 2019, right, like the summer of 2019, we were all together, all my sister and our kids and, and, them and, you know, everything was great. And then what a difference one year made.

[00:08:14] Adam: I'll go to all my local, butcher shops and I'll send you a care package of all the testicles I can find.

[00:08:20] Tim: Thanks, man. You know, my love language, cooking exotic testicles. Which will be coming up in March. We're doing that dinner again. So I'll be,

[00:08:33] Carol: Oh, wow.

[00:08:33] Tim: planning for that.

[00:08:34] Adam: Can you just imagine like, if, if this was somebody's first episode and that's you just heard that,

[00:08:42] Tim: Yeah.

[00:08:43] Adam: you'll just have to go back and and listen to the back catalog, I guess.

[00:08:46] Tim: hmm. Yep.

[00:08:48] Adam: Alright. Well, Man, I, I, I'm, it sucks to have to follow that. I'm real sorry to, to hear that,

[00:08:53] Tim: Yeah. Follow that buddy.

[00:08:55] Adam: Yeah, and on top of it, I'm going to try to squeeze in a triumph here,

[00:08:58] Tim: Oh, rub it in.

[00:09:00] Adam: sorry. but, you know, life happens to all of us and there's ups and downs and sometimes our, our waves go opposite each other.

[00:09:08] Adam's Triumph

[00:09:08] Adam: Anyway, so I, I mentioned in the past that my company has been, looking to, participate in the Drexel University co op program. and so we are officially involved in that now and, on Friday of last week to almost a week ago now. In a single day, I might add, I reviewed, 142 resumes,

[00:09:30] Ben: Dang,

[00:09:31] Adam: which is a ton.

[00:09:33] Adam: and so now I have feelings on what makes a good resume and what doesn't, at least for that initial winnowing process where you decide like, okay, do I want to look at this more closely or not? but yeah, so I, I went down from 142, I narrowed it down to the, initially like the top, 20 or so, and then we're down to like seven now.

[00:09:50] Adam: And so those seven people we're going to start interviewing, I think, either tomorrow or next week. so, uh, it's happening. And it looks like we're probably going to be hiring somebody here soon.

[00:10:02] Ben: Very exciting.

[00:10:04] Adam: Yeah. I mean, it's a, it's a intentionally, time boxed thing, right? It'll be somebody they'll start in early April and they'll probably be done in September sometime.

[00:10:13] Adam: So in a lot of ways, that's a positive, right? Like it, it, gives us an easy out if it's not working out.

[00:10:20] Tim: And this is for coding?

[00:10:21] Adam: Yeah. Yeah. It'll be an engineering, like a junior engineer

[00:10:25] Ben: Is it, is it technically an internship?

[00:10:29] Adam: They call it a co op, which, I'm sure has very specific implications. My understanding of the program is that it is a, like, it's a four year degree, but a significant portion of it is, I think you either do two or three co ops, and a co op is this, like, semester long, you don't take courses, you work, right, so you work 35 to 40 hours a week, and that is your course load for that semester, and, and, they, I believe that they alternate, right, so you, like, you, you, Join the program, you do a semester of courses, a semester of co op, a semester of courses, a semester of co op, etc.

[00:11:09] Carol: Oh, that's

[00:11:09] Ben: really awesome.

[00:11:11] Adam: Yeah, so you get a lot of exposure to different stuff, and

[00:11:14] Ben: I always wished I could go back to school in theory. I don't know how much I'd actually enjoy it, but I always felt like I would get so much more out of school now having actual on job experience and I would understand the concepts a little bit more and I know which questions to ask, you know, but.

[00:11:29] Tim: Yep. Now, now you understand what my teachers would always say. Education is wasted on the young.

[00:11:34] Tim: And it's so true. It's like, I didn't know what I was getting when I got it. Right.

[00:11:38] Adam: So, just briefly, Tim, you'll be happy to hear, that one of the patterns that I saw among these 142 resumes was, some testing stuff. I know that came up for you in the past, so, like, you know, when you're looking at,

[00:11:54] Tim: college education where they haven't even talked about it yet.

[00:11:56] Adam: right, yeah, when you're looking at 142 resumes of, people all basically enrolled in the same, degree program, you know, there's going to be a lot of overlap in what classes they take, that sort of thing, so, like, you know, on people's resumes it says, I, I took this course and we made, you know, we used Java to make this banking system, and, We use TDD, and I wrote this many tests, and, and, you know, something about mutations, and this and that.

[00:12:20] Adam: And it's like, everybody has their own spin on the way that they phrase it, but everybody has that in their resume. So it's like, oh, you took that course, okay.

[00:12:29] Ben: Was there anything that felt like it had been written by ChatGPT? Like someone's like, Hey, make my resume sound better.

[00:12:36] Adam: I don't think so. Nothing stood out to me. It's like, obviously, what's the word that they use? Like daydream or something? like where it just makes up weird stuff. Hallucination. Yeah.

[00:12:48] Carol: So none of them said like, in conclusion.

[00:12:51] Adam: No, although like, all right, resume hot tips. I don't need a paragraph on how you are an amazing leader. for your job flipping burgers at Burger King. That is not throwing any shade at having a job at Burger King, but when you're applying for a coding position, just list the fact that you worked there, you know, the, the, the times or whatever, and like, you know, what you did there, just so I know you're able to hold down a job, right?

[00:13:19] Adam: Like you're going to show up. Sort of thing. I don't need a whole paragraph about that position. Save that space because, you know, there's a lot of these resumes where people, these people very much bought into the, it has to be just the front of one sheet of paper, right? No more, no less. and so you'd see a lot of people squeezing stuff in to fit it all on one page.

[00:13:38] Adam: And then spend, you know, give me three or four bullet points about their, their job at Chick fil A. Like, come on, cut that and, and give me more relevant work experience or, you know, the stuff you're excited about in tech or your coursework or whatever, something relevant to the job you're applying for. And then, something none of them did. I don't think a single one of them did. Like, like a sort of a personal statement or an objective, which I've always had at the top of my resume.

[00:14:03] Carol: Yeah, me too.

[00:14:04] Adam: you know, like, this is what I'm trying to do, this is the type of person that I am, sort of thing. And, that, we can discuss it maybe more later, but, that would have been very helpful in my initial pairing down from hundred and whatever down to initial twenty.

[00:14:20] Carol: And some of them may not know where they want to go yet, right? So they may not have an objective. It's just get my foot in the door is my only objective right now. And then I'll figure out where I want to go in technology.

[00:14:31] Adam: but that could, that's a totally valid way to phrase it, right? A personal, I was talking to Steve about this, like, you know, when you're looking at these resumes, some of them, their, their school coursework has been very clearly on, like, systems programming and video game stuff. Like, they talk about using Unity.

[00:14:48] Adam: And very specific, like 2D, 2. 5D top down game stuff, for their projects and great, that's fine. but like if, if I, if you had a statement at the top of your resume that was just like, I'm super excited about all things computers, everything from game development to web development. I don't know what, you know, what I want to go into, but I'm excited about it all.

[00:15:09] Adam: That's fine, like, that, that means for me that the, the video game stuff is not so much a,a commitment in a direction as it is an exploration for you. Whereas if you don't have that statement and all of your coursework is systems and game stuff and you're applying for a web job, that pretty much sorts you to the bottom of the pile.

[00:15:28] Carol: Yeah, I'm going to assume you're not going to have fun doing this job. You're not gonna, you're not gonna learn a lot. Like, you're gonna be thinking about other things you wanna do. Yeah.

[00:15:35] Adam: Yeah, that was such a weird experience. I know we're, I'm taking up a ton of time for my triumph here, but there was such a

[00:15:41] Carol: Jeez, Adam! Gah!

[00:15:43] Adam: show. It's all about me. Don't forget.

[00:15:45] Carol: You're turning into Ben now.

[00:15:49] Adam: it's such a, it was like a meta experience, right? I'm going through all these resumes and I'm like, realizing that I'm, I'm, the way I'm behaving, right?

[00:15:58] Adam: The way that I'm thinking about these resumes. And I'm like, is that a fair way to think about it? And then I'm like, having a meta thought about that. It's like, well, but, You know, this is the game. They're, they submitted their resume and they, you know, they're participating in this process. And this is, there has to be a way to do it.

[00:16:13] Adam: You have to sort them somehow. Right. And so like, you can only go so many layers deep on, on like, but really I should think about it this way. And so at the end of the day, you just have to like pick a system and commit. And, and, some people might get unfairly or incorrectly sorted out, but, you know, that's

[00:16:31] Carol: You're human. You do the best you can. Yeah. Well, I'm excited to see where this takes ya.

[00:16:38] Ben: Me too. Very excited. I've been, I, I read, I guess, might be my first true, like, engineering management book in the last week or two. Very cool.

[00:16:48] Adam: the, it's called Scaling People by, I forget her name. I'm so sorry. The woman, it's a, it's a Stripe Press book. she's a very well known, engineering manager, leader.

[00:16:58] Adam: she worked at Stripe, she worked at Google, she worked at YouTube.

[00:17:01] Ben: I think she was just interviewed on the Lenny podcast recently for her book.

[00:17:06] Adam: Not a podcast I'm familiar with.

[00:17:08] Ben: Oh, bro. Oh, oh, the, the, the Lenny podcast. It's amazing. It's, it's just a guy interviewing all these product and marketing leaders. And it's just so it's dripping with interesting information about

[00:17:24] Tim: Is his name Lenny?

[00:17:26] Ben: Yes. I don't know his last name.

[00:17:28] Adam: L E

[00:17:29] Ben: It's L E N N Y. I think, I think it's just called the Lenny podcast. The, the, the cover, the logo, the avatar is like a microphone that looks like it's a match tip and it has a little fire on it.

[00:17:41] Adam: Okay. I'll have to look that up.

[00:17:43] Ben: Oh, bro. So good.

[00:17:46] Adam: Well, thanks for the tip. I'm not finding it right now, but, you know, you can, you

[00:17:50] Ben: Yeah. I'll send you a link for

[00:17:52] Adam: Cool. All right. Before we get, we're already almost 20 minutes in here. So let's, let's move on. That's it for me. How about you, Ben? Oh,

[00:18:02] Ben's Failure

[00:18:02] Ben: that, I often forget how subjective everything in the programming world is. And oftentimes when I'm speaking, it's me trying to process my own thoughts and feelings and insecurities and hopes and dreams. And last week we had a, I thought it was a very interesting discussion about the values of learning and how we think learning gets woven into our day to day lives.

[00:18:27] Ben: And And I think maybe I was judgmental about certain things in a way that felt like maybe it attacked the way other people like to learn. And I just want to say that that was not intentional and I apologize for that. And, again, when I speak, it's, it's almost always about me trying to understand how I see the world.

[00:18:50] Ben: And that's just not going to be how everyone sees the world. And I think a perfect example of this is the number of monitors. I have one monitor and I think this monitor is actually too big. Like I wish this monitor was actually a little smaller. It's really, it's what I want is like a taller monitor.

[00:19:05] Ben: And this is a studio, an Apple studio display. And so I, when they had the diagonal measurements, when you go to order it, I think it's like, I don't know, 24 inches or something. And I just thought it was going to be higher, but it's like, it was like this. It's like the same height as my old monitor, but wider.

[00:19:21] Ben: And I'm like, I don't need wider because all of my windows are always maximized. So now I'm like, when I'm in my IDE, I have to make my left column really wide for my files so that my code is kind of in the right place. Anyway, I like one monitor. I used to have two long time ago. It was too many, but I know that there's a lot of people who have like four monitors and they swear by it.

[00:19:41] Ben: And there's, there's just nothing we will ever say to each other to understand where the other person is coming from, because we're just subjectively experiencing the world differently. And, and I just have to remember that. And I, and when I talk about things with, let's say, passionate, points of view, I have to remember to caveat that, that it is how I'm seeing the world and how I'm experiencing the world.

[00:20:03] Ben: And, and nothing I'm ever saying here is ever meant to attack or belittle the way anyone else

[00:20:12] Tim: see that, that was, that was a real apology. You got to do it like Hollywood. I'm sorry if you were offended. If what I

[00:20:18] Ben: I'm sorry that you suck so much.

[00:20:23] Tim: wittle feelings. I'm sorry that you're so sensitive.

[00:20:30] Ben: So that's me. I can do better and I will

[00:20:33] Adam: no, no, no, no, let me stop you there. Like, okay. We all, on this show, occasionally, should play a, a toilet flushing sound effect after some of the stuff that comes out of our mouths, but that aside, that aside, it generated good discussion, right? I don't think we've had a topic on the show recently, in like the last three months, that has generated as much discussion.

[00:20:58] Adam: And it wasn't just people saying Ben is terrible, and there wasn't even much of that, right? It was a lot, it generated a lot of earnest back and forth discussion about the topic, about learning and exposing yourself to new tech. And I think that that is awesome. And that was the intended result.

[00:21:14] Carol: What Discord channel was this in, if someone wants to go in and find this?

[00:21:18] Adam: oh God, there's so many of them.

[00:21:20] Adam: early access channel.

[00:21:21] Adam: was it? It

[00:21:22] Carol: only Patreons have it. Okay.

[00:21:24] Adam: yeah.

[00:21:25] Tim: I just saw you guys were talking about exposing yourself and I'm like, man, I'm glad I wasn't on that call.

[00:21:30] Adam: He does listen.

[00:21:33] Ben: All right. So that was me. Carol, why don't you bring us home here?

[00:21:37] Carol's Failure

[00:21:37] Carol: Well, I'm going to bring us home with a failure, so maybe I shouldn't bring us home, but I'm going to. So, I've been writing a lot of tests and trying to do better at developing tests bef Yeah, thanks. Yeah. Before I develop code. And it's working great because, let's be real, when you Run a giant project, hitting build and sitting and waiting is no fun.

[00:21:57] Carol: So it's just easier to write tests, run a test, and then go build it all later. Well, I hit a point where I had assert isEqual and what should have been three and three, which means this three equal three. I can't tell you how long it's like, took me to figure out that is equal checks the type and the first three was in int32 and the second three was in int64.

[00:22:21] Carol: So it was always false because it wasn't the value, it's the type. I was like, are you freaking. Kidding me. I was like banging my head on the wall. this is in VB and C sharp. Yeah, I was like, there's no way. 3 is 3. Yes, this is true. Why is my test failing? 3 is 3. 3 is 3. 3 is 3. So, it made me very, very sad that, I spent so long trying to figure out why 3 didn't actually equal 3 when it does.

[00:22:51] Carol: It's just the different types.

[00:22:54] Adam: some, some threes are bigger than other threes, Carol. Although, you know, that sounds like one of those things that we all just have to fight with at some point. And you, you earned that battle scar. And someday somebody will be like, Carol, can you just look over my shoulder? Because this is not making any sense.

[00:23:14] Adam: And you're going to go, actually, I can tell you exactly what's going on.

[00:23:18] Tim: Sorry. Mm

[00:23:19] Carol: me, let me, let me Google that for you. Yep.

[00:23:22] Ben: reminds me of a time, I think this is a long time ago, I was helping someone trying to debug a customer support ticket and this user was trying to log in and they had their email and they had their password and they're like, I just can't log in. It keeps telling me that it's the wrong thing. And we're looking at the support ticket, the email, we're looking at the email and the database.

[00:23:39] Ben: We're like, it's the exact same email. It must be the wrong password. So it's going through the password reset and that's not working. And then finally, I mean, like hours. At some point, some, I think I just randomly copied the email out of the database and pasted it into my IDE and suddenly like a zero width space character showed up, you know, in the middle of the email.

[00:23:59] Carol: hmm.

[00:24:00] Adam: I,

[00:24:00] Ben: How did this even get in there? So ridiculous.

[00:24:04] Carol: those things.

[00:24:04] Adam: it just occurred to me like on a login form of your, if you are, Writing something like that. Maybe like strip out anything that's not, you know, alphanumeric zero through nine and an at and a dot and underscore, you know,

[00:24:16] Carol: Yep.

[00:24:17] Ben: I, I literally, on Monday added a user defined function called PowerTrim to our login page. And that's exactly what it does. It does it just on the leading and the trailing white space, but there's. There's like 30 different whitespace characters, you know, depending on how hard you squint, line separators and paragraph separators and vertical tabs and horizontal tabs and all, like all,

[00:24:42] Adam: width space.

[00:24:43] Ben: yeah, no breaking spaces, zero width spaces, hair, like hair thin spaces, like all these really, really weird things.

[00:24:50] Ben: And, I had to add a function cause that exact same thing just came up and I just happened to see it in the logs, cause it was actually. Java was throwing a parsing error that it was, I was passing is valid. And I was saying, is this a valid email to the is valid function? And Java was throwing a parsing error. And thankfully in the logs, it was, it was like showing up as a question mark where that crazy character was. Good times.

[00:25:17] Adam: well, I guess, that wraps up our Triumphs and Fails. Tim, I know you said you were going to go. I'm not kicking you out. You're welcome to stick around

[00:25:21] Tim: No, I'm going to go. I don't have the emotional wherewithal to have

[00:25:26] Carol: We love you.

[00:25:27] Ben: Tim, your heart

[00:25:28] Carol: hmm. Aw,

[00:25:30] Tim: your heart matters. Can

[00:25:31] Patreon Stickers

[00:25:31] Adam: well, before we get into, our potluck for today, if I'm not mistaken, I, did that, wait, did the last week's, I gotta go look it up, sorry. okay, 163 landed yesterday, which means that

[00:25:45] Ben: This one will land

[00:25:46] Adam: this one will land on January 31st. Okay, good. I think somebody else updated the date in the document and that threw me off because I knew I hadn't updated it, but yeah, if I had updated it, it would say January 31st, not January 31st, but, anyway, okay.

[00:26:00] Adam: So this episode lands on January 31st, which means that,

[00:26:05] Carol: Oh, that is awesome.

[00:26:07] Adam: if today, if you are listening to this, when it comes out, to the public is your last opportunity to join our, our, Patreon. And get access to Patreon exclusive, never again available stickers,

[00:26:22] Carol: Ooh, fancy.

[00:26:24] Adam: join our Patreon, make sure you get your address in, and in case you haven't heard, so we generated some stickers, using AI and made some improvements on them, but, you know, podcast relevant, just silly stickers, nothing amazing, but, you know, like, little inside jokes or whatever, and, Basically, if you are, we have three tiers on our Patreon, if you're first tier, then you get just the first sticker, if you're second tier, then you get the first and the second sticker, and if you're the third tier, then you get all three stickers.

[00:26:52] Carol: What if you're a host?

[00:26:53] Adam: Patreon, then you get all three stickers, Carol. so, join our Patreon, make sure that you get your address in there, you have to, like, add your address to Patreon, and then there's, like, a a way to, there's like a checkbox or something to share it with us. and make sure you do that so that we can send you stickers. That I think is the last I have to say on that because after this, they're going out.

[00:27:17] Adam: Get them in.

[00:27:19] Adam: All right. potluck. who wants to go first?

[00:27:23] Ben - Reflecting on the Legacy Platform

[00:27:23] Ben: All right. So as we've talked about many, many, many times on this podcast at work, I have historically worked on the legacy platform and basically everybody else works. I know shocking. basically everybody else works on the modern platform and as a steward of the legacy platform and as a supporter of the legacy platform customers.

[00:27:48] Ben: I have always positioned my job as doing everything that I can to create a better experience on the legacy platform. This has been met with much scorn, both internally and externally to the company. there have always been a lot of people who don't understand. Why I would take a position that I am supporting my customers and, and that I'm in fact, some people will assert that I'm doing my customers a disservice, and I don't remember what the reasoning was exactly, but that has been thrown out there.

[00:28:20] Ben: And as you may have heard on,

[00:28:22] Adam: reasons to not move on to the new platform or something, maybe?

[00:28:25] Ben: I, I, I don't even know. I don't even know. I think it was, I think it was maybe more like, like the only job I should be doing is trying to get people to the modern platform. And that everything else is a waste of time. I could be wrong, but I feel like maybe that's what the sentimentality was. If you've been listening to the show over the last couple of episodes, you may have heard that the company has been acquired and is now going to be shut down at the end of 2024. And, people are not going to be migrated. There's no more migrations happening from the legacy platform to the modern platform.

[00:28:58] Ben: Everyone who's on the legacy platform, this is where they're going to end up until they stop using it until, or until we turn the lights off. And so I thought this was an interesting point of retrospective on how I've behaved and, I mean, my feeling is that I feel very vindicated. There's nothing that I could have done. Within reason to have changed the outcome of this company, especially not in the last couple of years, where it was a legacy versus modern platform context, you know, are there things I could have done earlier on in the company that could have helped steer the ship in a better direction? Yeah, probably there was.

[00:29:37] Ben: And that's unfortunate, but given where we are now, where the legacy people never made it over to the modern platform. Do I feel justified in having stood by them and stood by the philosophy of trying to create a better experience for them, even if it meant being on the legacy platform? And I say, yes, I think that the, the value I added was worthwhile and I'm standing by that.

[00:30:07] Ben: I dunno, I, I do feel a little bit vindicated is not the right word because the company is going, it's going to be shut down. So it's, that's like a weird mix of emotions.

[00:30:16] Carol: I've always felt like any customer deserves the attention because they agreed to a contract with the company, whether the company made a bad decision in writing original contracts or now they don't make enough on it. That's not the customer's fault.

[00:30:30] Carol: Like, that's on the company and the people there should still do everything to support those customers and they shouldn't just be pushed to the side because they were in a position where. They are now less valuable to the company than new customers are.

[00:30:47] Ben: Yes, exactly. And that's, and that's very much how I looked at it. That the customer should not have been a victim of the choices that the company made, that the customer is paying for a product, they're paying for support. And as the steward of the legacy platform, I always felt obligated and honestly, very happy to try and provide that support.

[00:31:11] Ben: In the best way that I thought I could, which was to create a more performant, more luxurious legacy experience.

[00:31:20] Adam: I don't think anybody should be mad that you were trying to provide a positive experience for the customer, right? As a concept, that is a good thing, right? And I think that as long as you were acting within the boundaries of Your job and your assignments, right? Project assignments or, or,

[00:31:45] Ben: I was finding the edges of what was acceptable.

[00:31:48] Adam: I'm trying to absolve you and you're over here like, where's the line of that? I'm going to paint outside that line too. the, I guess really what I'm trying to say is like, if there's one way of looking at this is that if you were. Doing anything that you shouldn't have been doing, then it was your manager's responsibility to understand that that was happening and to manage you, right?

[00:32:12] Adam: And if the problem, if the, if ultimately the company, whoever, you know, whosever opinion you want to assume that that means, if the company doesn't like what you were doing, then that is the company's problem and they should have managed you differently. Obviously, we all want to try to, avoid getting put on a PIP or something like that, right?

[00:32:34] Adam: Like, we're trying to do what's right by the

[00:32:38] Ben: improvement plan for anyone who's listening.

[00:32:40] Adam: Yeah. Basically, if you, if your manager's doing a good job, you should never be surprised that a PIP is coming. but also if your manager's doing a good job, then, you know, either you will if your manager's doing a good job and you get put on a PIP, It means you either have a lot of work to do or you probably are on your way out.

[00:33:02] Adam: Either way. you know what, are you getting what I'm trying to say? Like at some point you can say no matter what was going on here, it was a failure of management if they decide they didn't like what you ultimately did.

[00:33:15] Ben: A failure of management. But I'd also say, and, and, and not to be rude here, but sometimes people will, will make a joke. I'm having trouble coming up with a good example off the cuff, but it's like someone will bring their problem to a conversation and you're like, bro, don't make your problems my problems.

[00:33:34] Ben: And in a little bit, I feel like I was, I was experiencing that at the company level. You know, the company made some crazy decisions and those crazy decisions put undue stress on the way we had to manage our infrastructure and manage our user base and build, do competing platforms essentially.

[00:33:50] Adam: Mm hmm.

[00:33:51] Ben: And I'm like, yo, don't make your problems, my problems.

[00:33:53] Ben: Like my job is to maintain the legacy platform just because you guys made a bunch of terrible idea or, you know, terrible choices. I'm, I don't want to be too overly harsh just because you made a bunch of choices that turned out to be much harder and much less. Well, considered in retrospect, don't make that my problem.

[00:34:11] Ben: That's your problem. Like you figure that out. I will continue to do my job, maintaining the legacy platform. And, you know, I, I hate to ever judge the merits of something based on the outcome because so much of an outcome is. Luck as much as it is anything else. It seems like these days. So I hate to say, Oh, well, the company ended up closing and the legacy platform never went away.

[00:34:37] Ben: And so that in retrospect justifies all of my feelings. Like, I don't want to do that. I want to be able to stand by my decisions, not necessarily knowing what the future was going to have, what's going to be like. And I still feel like I was always making the right choice, that given an opportunity to try to create a better experience for the customers, I am convinced that I was doing the right thing.

[00:35:01] Adam: So there's a difference between doing something that a customer will appreciate and doing the thing that the business needs you to do, which is usually well aligned with what's good for the customer, but not always. And so I want to draw a line here too, between. Your job is not a police officer and you were not asked to do something immoral, right, to go, like, lock up all the minorities, right?

[00:35:26] Adam: We're, we're talking about writing software and you were trying to provide some better functionality for the people that were using the software that you wrote. So there's a, there's a bit of a difference there. And, Uh, I think that because of that, I'm willing to give you a little more leeway.

[00:35:43] Ben: I'll take it.

[00:35:44] Adam: if, if I was your manager and I was like, look, Ben, keep it up, keep it online, you know, keep it, reasonably feature parity with the, the new platform or whatever, and, and then we know with whatever time you have left over, I want you to work on X, Y, and Z.

[00:35:58] Adam: And you were like, 50 percent of the time that was left over, you worked on X, Y, and Z. And the other 50 percent of that time you spent on office hours and whatever other stuff, then I might have an issue with that. But. Only you and your manager know what, you know, how you spent your time and what you did.

[00:36:13] Adam: So

[00:36:14] Carol: But are the views coming from a manager person?

[00:36:17] Adam: that was a question for you, Ben.

[00:36:19] Ben: Are the views coming from a manager person? I mean,

[00:36:21] Adam: opinions you're hearing,

[00:36:22] Carol: Yeah, these opinions.

[00:36:23] Ben: coming from a lot of people. It's coming from managers. It's coming from engineers on the modern platform. It's coming from cough people in discord cough. and so I was listening to an interview the other day. This may have even been the Lenny podcast circle back there.

[00:36:41] Ben: And, they were interviewing this woman who she was talking about raising money to start a company. And I forget exactly what the context was, but she ended up taking less money in the beginning because he wasn't sure how much money she was going to get maybe in future rounds, and she just wanted to get something done.

[00:36:59] Ben: And at the end, she said that she felt good about that. Or maybe it ended up being her suggestion at the end was when people are offering you money, take it. Like don't, don't be too choosy about who's giving you money if you want stuff to get done. And I think there's a virtue in doing to building value today that, you know, can happen instead of worrying about maybe building value in the future that's theoretical, you know, I had an opportunity to actually make a concrete difference for customers.

[00:37:34] Ben: Which I felt always was more important than the theoretical value that I could maybe add in the future. And I, it feels like there's a moral obligation almost to take action now, if I can.

[00:37:46] Adam: To a certain extent.

[00:37:47] Ben: Yeah. And that's the thing that we always have to remember is it's not like I had a hundred engineers working under me and there were a hundred engineers on the modern platform. It was me, you know, and then 200 other engineers on the modern platform. It wasn't a competing set of armies. It was. A, ridiculously small minority of people.

[00:38:10] Ben: And, you know, for a while I had a couple of guys also working with me, and we were all very passionate about the legacy platform and. And, I, again, I just, in retrospect, those legacy people, you know, like, again, I don't want to judge the early decisions based on the outcome. The people who are on the legacy platform, who have been on the legacy platform throughout this whole contentious, way to be.

[00:38:36] Ben: They're going to continue to be on the legacy platform until the system ends. So would it have been better for those people to have never received any value in the last couple of years? Or was it ultimately better for me to have added value where I could, when I could, and made some small incremental difference in their lives.

[00:38:54] Ben: And I think the latter is, is, is the more virtuous choice.

[00:38:58] Carol: I agree with you.

[00:39:00] Adam: final verdict, say two Hail Marys and an Our Father.

[00:39:05] Ben: Anyway, try, I'm trying to, you know, take every opportunity I can here to, to squeeze some. Some reflection and some retrospection out of life. I'll close it there.

[00:39:17] Carol: .

[00:39:17] Carol - Solo Programming

[00:39:17] Carol: All right, so for my potluck, I just want to talk about how I'm working right now, and like how my day to day is going, and just kind of how things are going. So, like I mentioned in the triumphant failures that I'm starting to write a lot of unit tests before I write real code.

[00:39:33] Carol: So, I'm spending a lot of time writing a lot smaller functions and smaller defined classes because those are testable a lot easier than when they're in a massive function. So it's forcing me to develop and what I feel like is a more solid solution. and then I just go run my tests and then everything works.

[00:39:53] Carol: And then maybe twice a day I actually build the project and run end to end and make sure everything still works because, you know, I can put in my test that I'm going to mock that everything is there, but that doesn't mean when I actually call it, I remembered to send through that model of data, because I didn't and I had to go fix that, but that's okay.

[00:40:13] Carol: So, the tests are going great, but what I'm not liking is I am on like an island all alone. So had I had someone on my team, I might have, you know, not spent so much time looking at assert. isEqual and seeing that my types were just wrong. So Yeah, but instead of spending all day coding by myself, I go into some meetings, talk to people, but I am the only engineer on my team right now because we don't even know the direction that we're going to go yet, so there's no point in bringing anyone else onto the team because they're just going to sit with very little to do as well.

[00:40:49] Carol: So I'm just making improvements to the system to make things faster and changing how we're processing data in hopes that that is toward the final goal of what I will be doing. Bye. I don't actually know if it's what I will be doing, but hopefully it'd be better. And that would be great. But I definitely miss working with people.

[00:41:07] Carol: I miss having an engineer on my team that I can just ping during the day and ask random questions to, because when I ping anyone else, even though they respond and they're very helpful, I feel like I'm annoying them. Like I feel like it's not their job to work with me. It's my own job to work with my own team, but I don't have a team. So that's my little, little rant.

[00:41:28] Adam: you've, you've been a little vague here. I don't know if you're allowed to, or if you just don't want to or whatever that, any of the above is fine. but can you say what it is you're working on?

[00:41:37] Carol: Yeah, I work on,

[00:41:38] Adam: you're doing csharp. net, but like.

[00:41:41] Carol: yeah. So I. I work for the government, so Big Ol Uncle Sam. So I work for the Office of Personal Management and I am working on the platform that other agencies and my agency uses to hire people. So it is the hiring side of. The people work. So it's how you onboard. It's how, it's how the hiring manager does their work.

[00:42:04] Carol: So there's something called USA Staffing. That's what I built. And then there's USA Jobs. USA Jobs is where you would go to look up most federal jobs. So if you want to find a job with The Army or the Department of Defense or, you know, one of the clerks for a judge, you would apply through USAJOBS. And then my software is what they actually use to audit, to, handle the onboarding.

[00:42:28] Carol: It's what you do to get hired. It's the entire start to finish. So I am working on, improving the process around how we handle, the initial intake of data. And making it to where you can do bulk intake instead of just one at a time. So like I'm working specifically with Treasury and IRS right now, because they need to hire like 5, 000 people all at once for tax season.

[00:42:54] Carol: And for different times throughout the year, they do mass hiring. So they need to quickly spin up and have vacancies open relatively easily and just add people to those. So it's just a new structure.

[00:43:06] Ben: Very cool.

[00:43:07] Adam: Yeah. whenever I get the opportunity and the motivation and the, I don't even know what the words are when, whenever I end up doing TDD, or even, testing after the fact,

[00:43:18] Ben: Did you ever finish that book? Isn't there a book you were reading for a

[00:43:22] Ben: yeah, yeah, yeah, I did, and I talked about it on the show, so way to pay attention. It sounded familiar.

[00:43:28] Adam: yeah, the, so the book that you're referring to is, I believe, called TDD by Example by Kent Beck, and, Yes, it was a reasonably good book.

[00:43:39] Adam: If you, if you don't mind Java, I would say it was okay. It painted the picture well. Anyway, what I'm trying to say is, I, I too like writing tests. It just feels good. It feels, healthy, right? It feels like I know that I'm not messing stuff up, right? I'm leaving stuff here to, you know, I know I'm gonna be changing stuff as I go, and I know my tests will let me know if something broke.

[00:44:02] Ben: I was actually updating some code the other day and I wish that I had a test.

[00:44:07] Adam: Ooh,

[00:44:08] Ben: I know I, should we stop recording?

[00:44:11] Carol: yeah,

[00:44:12] Ben: I was, I

[00:44:12] Adam: We did it.

[00:44:13] Carol: We, we hit the point

[00:44:14] Ben: the, the launch. I was updating the LaunchDarkly Java SDK for Feature Flags, and I went from version five to seven and there's some very significant breaking changes.

[00:44:26] Ben: and the way you identify users and how you create the little data structures behind the scenes. And, I was just like, ah, I, cause as, as would I, as I have to do normally, I change the code and then I write some little test scripts to make sure that they're giving me all the right values. And I'm going in, I'm changing feature flags and I'm running the test script again to make sure that I'm getting the right evaluations.

[00:44:46] Ben: And I did for a moment think, you know what? This would have been easier if I had some tests, but, you know, I still got the work done and it was bug free,

[00:44:56] Adam: There you go. Mm-Hmm.

[00:44:57] Ben: but, I, I definitely, I mean, Carol, I can absolutely relate to the idea of working in a vacuum and how it's very mentally draining because you're having, you're, it's like, you're having two conversations. You're having the conversation with your code and then you're having the conversation with yourself about the code that you'd kind of rather be having with someone else and it's like, you have to be two people at one time.

[00:45:18] Carol: I think this is the first time that I've actually pulled out a notebook and written logic down on paper. Because I needed to make sure that it made sense out loud and I didn't have anyone to speak it to or to run through and just chat with. So I had a notebook out just jotting down model and model changes and going, does this still make sense?

[00:45:38] Carol: And then I put it in code tests and go, okay, yes, it still makes sense. Because the same thing, like usually I would go to someone and say, hey, listen to this. Like, am I crazy that this step isn't needed? There's no reason to even do this. We could just get rid of it, right? And I say that out loud and the dog just yawns and lays back down.

[00:45:55] Carol: You know, she doesn't really care that I said it out loud. So

[00:46:00] Adam: Yeah, I have done that sort of thing occasionally, I know you're a very, like, handwritten notes type of person, Carol, so that doesn't surprise me. me, I'm, I just, I feel better, I feel more productive, writing notes, like, digitally, like, you know, in a text file or whatever. so I'll, I'll throw this out there as something that I've used that I really like.

[00:46:20] Adam: so I write a lot of notes in Markdown, and then when I want to do like flowcharts or something, there's this great plugin, or I guess it's like an extension of Markdown, something like that. It's called Mermaid. if you look it up, it, and basically you write What looks almost like logic, you know, you write A and then dash, dash, greater than to be like an arrow B and that's like a block named A and a block named B and an arrow between them.

[00:46:43] Adam: And then the next line you can have B dash, dash, arrow, you know, C or whatever. And you can have like branching, yes, no, you put labels on stuff. It's actually significantly powerful. and if I'm not mistaken, if you know what a Sankey diagram is, this just came up at work the other day. That's why it's top of mind for me.

[00:47:01] Adam: Um,S

[00:47:02] Carol: I don't.

[00:47:02] Adam: Y, you should look it up. They're, they're pretty interesting. It's like visualizing people, not just people, but like, flow through a system and you can see like, so we used it to visualize event registration, right? So you send out an email inviting a bunch of people to register for a thing, right?

[00:47:17] Adam: So I sent out an email to a hundred people and then of that hundred people. you know, like maybe 70 opened the email. So you've got like 30 sort of fall off, right? They never, they never go anywhere. And it's like, kind of like, you can, like a bar chart, like a horizontal bar chart, but that bar is constantly like splitting and rejoining or forking.

[00:47:40] Ben: I think I've seen that.

[00:47:41] Adam: seen these like in, in, you know, New York Times, Washington Post, those sort of things. But, it's a good way

[00:47:46] Carol: like Waterflow,

[00:47:47] Adam: yeah, kind of. Anyway, so there's even plugins for Mermaid to do stuff like SankeyDiagram. So it's really powerful stuff, which is pretty cool. and that just came to mind for me because you were talking about doing flowcharts and stuff. And like I did that, remember when we talked not that long ago about my, email, stubbing and rendering process and how this is gigantic, monstrous.

[00:48:09] Adam: process. Yeah. And so I, I did put together a mermaid diagram of like current and proposed states to, like you were saying, like, do we need to do this step at all? Can I, can I make it, more, efficient by moving this and parallelizing this and that sort of thing, which was helpful.

[00:48:27] Carol: Yeah, I have it open. I'm going to check it out.

[00:48:29] Ben: speaking of emails, you know, I've talked, I think I talked recently how I've been sending a lot of emails at work, sending, telling people about the state of the company and announcements and talking to enterprise customers about renewal dates and, you know, how, how this all affects the fact that the company is closing at the end of 2024 and it's been really interesting because I didn't know a whole lot about sending a lot of.

[00:48:51] Ben: high volume emails. And I went into this not knowing how to build a lot of this stuff. So I didn't build a lot of the stuff and we would made a lot of, I don't want to say mistakes, but we would hit a point where like, Oh yeah, we didn't account for this now I have to go back and tweak it. And then we'd run stuff again.

[00:49:07] Ben: And there was like, Oh yeah, we didn't take suppression lists into account. And we got to go and figure out how to integrate those back into our email sending and they're all like, we didn't think about. This thing or that thing and link tracking and rerunning things and truncating tables. Anyway, my point is that I get to the end of this and it's been a very satisfying outcome and it gives me so much comfort that I can go into a process really only understanding.

[00:49:34] Ben: A fraction of what I need at the onset and still be able to build the thing that I need to build. And it's a reminder to not be afraid of that next time, that if I come against a big problem that I is big and hairy, and I don't quite know how to get it done, I'm like, all right, let me just do the first thing I can think of and see what happens.

[00:49:51] Ben: And then we iterate and it's very comforting to know that, that, that leads you down the right path. You know, if you're willing to accept the mistakes and fix them as you go.

[00:50:01] Carol: Yeah. I'm just like taking stabs at every little piece I can find and going, okay. Does this still make sense? Am I still making sense? I was going to show my BA, my business analyst, just my pop up box, because I'm just so happy that you don't do 10 things at a time now. You just give it a number and it just does it all in the background by sending it to, to like Debbie.

[00:50:24] Carol: Process Offload Rabbit MQ and stuff, but I was like, I can't show him this. It literally is the dirtiest thing you've ever seen. It doesn't even have any style on it. It's just rose. Yeah. I was like, I'll make it look a little better and then show him.

[00:50:39] Ben: Very cool.

[00:50:41] Adam: All right, well, shall we move

[00:50:42] Carol: turn, Adam. Yeah.

[00:50:45] Adam - Chrome Monoculture

[00:50:45] Adam: So, given that this is a web development podcast, I thought maybe, you know, 164 episodes in, we should throw a bone to the browser. Let's just talk about browsers. and, and honestly, a ton has changed since we started this podcast too. I think if we had pulled ourselves at the start and pulled ourselves now, our opinions would have changed and a lot has changed in the, the ecosystem.

[00:51:10] Adam: for me, what's most interesting right now, there's sort of two issues at hand. I feel like, one, we are slowly inching towards a Chrome or Chromium monoculture. Which is problematic. and then two, I feel like browsers are in danger of be like getting, basically getting canceled for, terrible people running them.

[00:51:37] Adam: Right. So like, all other things being equal, I think Brave might actually be a decent browser. I feel like, so it's Chromium based, which is okay. Kind of a half strike against it. just in terms of trying to avoid that monoculture, but, it's, I like the rendering engine, it's got good dev tools because it's chromium based.

[00:51:55] Adam: the, the, the way that the window exists, right, the, the, they call it the chrome around it, but that's, that's, has nothing to do with chrome the browser, that's chrome the, the concept of like the, the borders and the window and the, the, what you see on the screen around the browser. that's referred to as the chrome of the window.

[00:52:16] Adam: And. It's a decent browser. The problem is that Brendan Eich is the head of Brave Company, I think is what it's called. And he has turned out to be a little bit of an unsavory person. I think he was ousted from Mozilla for campaigning against gay rights. And I personally support that, I support them ousting him for it, and now he's the head of Brave Company or whatever, making Brave Browser, and, you know, everybody's, you, everybody has to draw their own lines somewhere, and that's just a place where I choose to draw my line, and I, I, I was disappointed when I, you know, made, when I connected those dots, and I decided I have to stop using Brave.

[00:53:02] Adam: Now, fortunately, I'm very happy to be using Arc right now, which is, another Chromium based browser, but this one is wildly different than all the other browsers available right now, which is pretty awesome. and, yeah, I don't know. I just, I want to throw all that out there and now

[00:53:17] Ben: because they're, well, because they're Chromium browsers, is the dev tools in ARC the same as they would be in Chrome?

[00:53:26] Adam: Mm hmm. They are.

[00:53:28] Ben: good. Cause I don't think I could live without the Chrome dev tools.

[00:53:30] Adam: Yes, so, I guess the, the obvious thing here is like, well, if you have a problem with the Chrome monoculture, why aren't you using Firefox? As a, as a statement to myself here. And the problem is, I've tried, and it is painfully slow. Now, I've made some changes in the last six months, which is long since I stopped trying to make Firefox work for myself.

[00:53:50] Adam: But, in particular, I found Firefox to be painfully slow in Gmail, like the web interface for Gmail, which was extremely frustrating because I have like six or eight or something like that Gmail account, so I have to have six or eight Gmail tabs open, consuming all that memory, slowing it down even further.

[00:54:08] Adam: Right. and so, yeah.

[00:54:10] Ben: I don't know if you remember this, I don't think this still happens, but it used to be in the earlier days of Firefox. If you opened the Firefox DevTools while you were in Gmail, it, at the top of the DevTools, it would actually give you a warning. I think, it would be like, yo, you should not open these in Gmail, it will destroy the performance.

[00:54:32] Ben: And I guess, I guess it's because the DevTools starts hooking into a lot of Page operations so that it

[00:54:37] Adam: Okay. No, I don't recall seeing that. I've seen something similar, right? Like you go, I think it's on like Facebook, right? If you pop open the DevTools on Facebook, it's like, you are probably here because somebody's trying to hack your

[00:54:48] Ben: yeah, yeah.

[00:54:48] Adam: what you're doing right now.

[00:54:50] Ben: No, this was an actual performance warning. It would tell you like, you just made a mistake opening this while Gmail was open.

[00:54:56] Adam: have chosen port.

[00:55:02] Ben: So I use, Firefox for my personal stuff. And I use Chrome for my work stuff. And that mostly revolves around the fact that I can now have two Gmail accounts open and not have to worry about browser profiles. Cause my, you know,

[00:55:17] Ben: they have different sets of cookies. Yeah. This is one of those things where I'm such a laggard when it comes to probably anything that would make my life marginally better, because I know there are all kinds of things like.

[00:55:29] Ben: User profiles where you can probably have multiple gmails open in Chrome by having different profiles and shared bookmarks and all this stuff. And I'm just, I'm, I can't motivate to learn about any of that stuff. So my solution is I have one gmail open in Firefox and one gmail open in Chrome. And I get on with my day.

[00:55:49] Ben: I've been enjoying Firefox, I guess. I mean, I don't have any reason to not like Firefox. My personal stuff. one nice thing that it does have is the video players in Firefox allow for picture in picture.

[00:56:03] Ben: So I can pop a Firefox video open and for whatever reason in my version of Chrome, that's not available.

[00:56:10] Ben: I don't know if that's just a setting I can set somewhere, but. It's nice to be able to open YouTube and Firefox and pop a video down to the corner of my screen and then go back to, to my coding and have a little like music video in the background.

[00:56:23] Adam: ARC does that by default on, I think it's anywhere that has video. It's not like, it's not just YouTube or whatever, but like any HTML5 video. And if you just, if you leave the tab, then it pops up a picture in picture and you can drag it around. You can make it, I think it's by default always on top. and you can resize it a little bit. So that's handy. I'll do that sometimes.

[00:56:44] Ben: I don't understand why it's not available in Chrome though. Cause aren't they all the same video players? I mean, that seems, I assumed that was an OS level thing. I didn't realize that that was a browser level.

[00:56:56] Adam: don't know. as far as like, the monoculture thing, I wanted to ask you guys, like, So, you know, it wasn't that long ago we had Christmas and Thanksgiving here in the United States. I mean, Christmas, obviously, is a worldwide thing, but we recently, the four of us, had A lot of occasion to spend time with family, not that long ago.

[00:57:18] Adam: And I was curious, like, did you guys get roped into doing computer updates for any of your family? And if so, did you like it? You know, it was this thing for, for you. I don't think it's been as much of a big deal since, like, we got evergreen browsers, where they're just auto updating by themselves, that sort of thing.

[00:57:33] Adam: And pretty much everybody by now has either pushed their family onto either Firefox or Chrome, and, and they're auto updating. Or you might be on Edge, which is also auto updating. But either way. Um, you know, like, that was a, that was a thing, right? That was just part of the, like, I am a tech worker holiday experience.

[00:57:52] Adam: And,

[00:57:53] Ben: printer's not working.

[00:57:54] Carol: Uh huh.

[00:57:55] Adam: and it wasn't so much for me this year. Like, there's always like, you know, you get Uncle Joe asks like, Oh, can you fix my, my, my, what, my website or whatever? I'm like, probably not, but go ahead and tell me what you want to tell me.

[00:58:07] Carol: Yeah.

[00:58:08] Adam - Family Tech Support

[00:58:08] Adam: but, like, know. Do we have a responsibility to.

[00:58:13] Adam: Seed, the, the opposite of a monoculture, a multicultural, I don't know, among our, our family and our, our inner circle.

[00:58:22] Ben: I'm going to defer to Carol here. Cause I don't, I don't spend that much time with my family.

[00:58:27] Adam: I don't people.

[00:58:29] Carol: So I don't, I don't like, I didn't do any software stuff, right. But well, sort of a little bit. I did take the box of ethernet cables and my like cable power testers and my tools up to the in laws house, their winter house. And I got their hot tub back on Wi Fi again, put a new router, or a new modem on their, their pool system.

[00:58:52] Carol: And I got their, surround sound back on there. because they had somehow logged out of their system. So it was just helping with that stuff. And I, and I got their, uh, their, oh, their, their thermostats had never been put on wifi either. So I put their thermostats on wifi. So now before we go up there, I can set the temperature in the house to be warm.

[00:59:15] Adam: geez, Carol, and you did all that and that qualifies as not doing much tech work for your family?

[00:59:20] Carol: Well.

[00:59:21] Ben: never compare each other's to our parents anymore.

[00:59:24] Adam: by

[00:59:25] Carol: wasn't, it wasn't like going in and updating their computers or stuff like that. However, their contractor did call me because all of a sudden his, his phone, his iPhone, it stopped sending iMessages and he couldn't figure out how to get it back on. So I got on FaceTime with his wife and showed her how to do it so that she could turn cellular data back on on his phone.

[00:59:47] Carol: I was like, I don't know how you turn this off. This is like an 80 year old man doing contract work for them that had no idea even how to get to his settings. So. Yeah, it's so easy to do something like that in your pocket or whatever, but yeah, so my family definitely takes advantage of me in the, can you fix it realm, but I've gotten a lot better at it, not needing to be what browser should I pick or update my browser or I'm 10, 000 patches behind on Windows and what should I do?

[01:00:17] Carol: It's more of this cable no longer has connectivity. Can you replace it?

[01:00:23] Adam: Right,

[01:00:23] Carol: And I'm like, sure.

[01:00:25] Adam: what about like, viruses, and malware, that kind of crap, like, do you ever go home and your parents have like seven, you know,

[01:00:32] Carol: Yeah.

[01:00:37] Adam: and, and the mouse cursor is like a moose or something?

[01:00:41] Ben: I think they used to be much worse in IE, but, but the new browsers don't seem to be too bad with that. Actually.

[01:00:47] Carol: Well, I will say, I told my husband, I was like, we are no longer sharing any documents with your mom and dad because now I've seen what's on their computer and I see like where everything's stored. I was like, do not give them any of our personal documents. Paper versions only, please.

[01:01:03] Ben: One thing, so I don't fix things for, for anyone really, that doesn't come up. But one thing that I do find very fascinating is watching people who I don't want to say are not tech savvy, but are not on a computer 10 hours a day. Like, like some of us are and just watching them interact with the design decisions that were made by a piece of software.

[01:01:25] Ben: And I remember when I switched from Windows to Mac, I mean, this has got to be a decade ago at this point. And one of the things I was so excited about was Mac had, I don't know if they're called workspaces or something, you know, it's like, you can, you can kind of create these spaces where you create like virtual desktops that you can toggle back and forth between.

[01:01:45] Ben: I was so excited and I was like, Oh, I'm going to be so much more organized. This is going to be great. And day one, I started to try it. And flipping back and forth between spaces was animated and took a while. And I was just like, well, this is awful. I will never touch this again. This is definitely not what I thought it was going to be.

[01:02:02] Ben: And I I'm going somewhere with this and. I watch my, my wife who, you know, she's uses a computer all the time. She's just not as tech savvy and she will maximize her window on Mac. So Mac, when you maximize a window, it like opens up into a new space kind of, and hides all the rest of the Chrome. Yeah. And.

[01:02:25] Ben: Watching her try to understand how the windows are related, because then she'll go to a different app and suddenly the one that was maximized like slides off the screen and she doesn't know where it went because it's not showing up anywhere. And I'm like, yeah, these were all terrible, terrible design ideas.

[01:02:41] Ben: Like, of course, they're going to confuse people. And, and there is something very satisfying about watching someone struggle with an idea that you thought was bad in the first place.

[01:02:50] Adam: Little.

[01:02:50] Ben: the other one that, that. Yeah,

[01:02:54] Adam: Freud. Schaden Freud. Uh,for, for the developer, not for the person who's suffering. The des the

[01:02:59] Ben: yeah, yeah, yeah, exactly. The other one that I find very interesting, you know, the world is obsessed with toggle buttons where you, it's not a checkbox anymore, right?

[01:03:08] Ben: It's, it's a thumb that slides back and forth, which is just a checkbox. You know, you can just click it. It's not, it's not, it's not like a rich interaction, but people who are not super familiar with how these things are implemented will literally sometimes slide the switch. With their finger left and right.

[01:03:28] Ben: And I'm like, you're making your life harder. You don't have to do that. It's just a button

[01:03:33] Adam: Mm-Hmm.

[01:03:33] Ben: because it has all this affordance to look like it's a slidey switch. People who are not tech savvy don't realize that. And it's, it's just a fascinating view into the, well, like knowledge by, was it information bias, knowledge bias?

[01:03:48] Ben: It's like, we can't get past the things that we know about how something works. In order to see how other people will experience it.

[01:03:55] Ben: Yes. The curse of knowledge. That's what I was trying to think of. I just fascinating to watch other people use the system.

[01:04:01] Ben: As long As it's not mine, then it's just depressing.

[01:04:04] Carol: Tiny, tiny little tangent. What I hate about checkboxes is when you look at the code in the back of it, and it is not very clear. It's like, there's a checkbox, but the value for the checkboxes is not this value. And you're like, wait, well, what does check do? Is it yes or no? No, I don't understand.

[01:04:22] Carol: So the toggles are nice

[01:04:24] Adam: double negative situation.

[01:04:26] Carol: like, I hate when those happen, but I like the toggles because usually like text changes on the screen, right? You toggle it on and it's like, okay, this is now on. Toggle it off, now it's off. Checkboxes don't usually do that.

[01:04:37] Ben: I love a good checkbox.

[01:04:41] Adam: All right. Well, we're, we're a little over an hour in here, so maybe we'll wrap it up unless anybody has any final thoughts.

[01:04:46] Carol:

[01:04:47] Patreon

[01:04:47] Adam: Alright, well, I guess then this episode of Working Code is brought to you by Testicle Mart, purveyor of fine testicle care packages. And listeners like you, if you're enjoying the show and you want to make sure that we can keep putting more of whatever this is out into the universe,

[01:05:02] Ben: Testicle Mart.

[01:05:04] Adam: you should consider supporting Why would you want to? I don't know. But if you, if you feel drawn to, you can, support us on Patreon. Our patrons cover our recording and editing and transcription costs, and we couldn't do this every week without them. Special thanks to our top patrons, Monte and Giancarlo.

[01:05:21] Adam: You guys rock.

[01:05:22] Thanks For Listening!

[01:05:22] Adam: we are gonna go do our after show. If you want the after show. or if you're not sure what the after show is, we're just, the outro music's going to play and we're going to keep talking and I don't think we have any idea yet what we're going to talk about, but we're going to keep talking.

[01:05:36] Adam: and if you want to hear that, then, that's available to our patrons and not only do they get the after show, they get it early. as soon as it's done being edited, which is usually a couple of days after it's recorded, then it lands in their podcast feed automatically. So head to patreon.com/workingcodepod.

[01:05:52] Adam: And you can join the ranks of those who help us keep the lights on around here. So that's going to do it for us this week. We'll catch you next week. Until then,

[01:06:02] Ben: folks, your heart matters. Especially you, Tim. We're going to be thinking about you when you're not here.

[01:06:08] Carol: Oh, yeah.

next episode: 165: Agile Methodology with Brian Sadler

prev episode: 163: Exposing Yourself, to New Tech