150: What's on Your Workbench #3

This week we go around the table and see what the hosts have going on. Carol got a promotion in her first week back at work, despite the fact that she's had to emotionally suppress everything she once knew about dotnet. Adam is now - finally - at 100% SOC compliance (and is awaiting a 3-month review period). Tim has been wrestling with APIs and bending them to his will (to receive JSON payloads). And, Ben is considering different ways in which to package his Feature Flags book.

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: Yes. But I've always just, I was just holding onto a dream, you

[00:00:05] Carol: Yeah. Cool.

[00:00:06] Tim: turd.

[00:00:06] Ben: and that that dream is just no longer a reality. I mean, I guess that's what dreams are.

[00:00:12] Tim: yeah,

[00:00:15] Carol: That's sad

[00:00:15] Carol: too.

[00:00:16] Adam: But all hope is gone, Ben.

[00:00:18] Intro

[00:00:18] Adam: Okay, here we go. It is show number 150, and on today's show, we got the whole crew back together again.

[00:00:43] Carol: Hey guys,

[00:00:44] Adam: why I feel the need to keep mentioning that, but I do, because I love seeing all of your shining smiles. And on today's show, we're going to talk about, you know, what's on your workbench.

[00:00:54] Adam: We're going to get into just, you know, what's going on lately. That seems to be popular amongst the listenership that talks to us in our Discord. So

[00:01:02] Carol: and it's something we know.

[00:01:03] Adam: that. Yeah, for sure. So we're just gonna dig in there. like I said, it's show number 150, but as usual, we'll start with our triumphs and fails.

[00:01:10] Adam: and Ben, it looks like it's your turn to go first. Welcome back from, you know, to stateside, sir.

[00:01:14] Ben's Triumph

[00:01:14] Ben: Yes, thank you. And that is going to be part of my triumph. I'm going to kick us off with, which is that, we were away for a week in sunny Ireland. And by sunny, I mean, mostly cloudy and often rainy, which was, which was great. You know, we, we traveled Friday to Friday and, me and my wife have been married.

[00:01:34] Ben: I don't know, somewhere between like seven and 12 years. I'm not sure. And this is the longest vacation. That we've been on together. So not, not that we each go on long vacations separately. I guess what I mean is that we've gone on many smaller vacations, like long weekends, mostly because of the dog, let's be honest.

[00:01:53] Ben: And, this is the first time we went, you got to give the dog happy, which is almost a Sisyphean task. And, we just had a great time. We had a really great time. We tried to do too much, as I think is common in a lot of, vacations. we went, we landed in Dublin, then we traveled down to, Kinsale, which is the southern part.

[00:02:15] Ben: So Dublin's on the eastern coast, then Kinsale's on the southern coast. And then we traveled up to, Galway, which isn't on the West Coast. And, that was too much. It was too much to travel for the, the week. It, well, and also, yeah, it just was too much for us. We would've much.

[00:02:33] Adam: should not judge. Everybody's

[00:02:34] Ben: no, no, we would, I think we would have been happier had we, just been in Galway and then did a bunch of like day trips, maybe, although I don't know, you know, who knows, maybe that would have been too much cause at least, I don't know, anyway, we had a great time.

[00:02:49] Carol: did you drive around? Did you take a train? Like,

[00:02:51] Ben: We, uh, we, we drove, we didn't drive. We took like, car services. which was like very expensive.

[00:03:01] Tim: Yeah.

[00:03:01] Ben: I was like, I didn't realize, I didn't realize how expensive that was happening.

[00:03:06] Carol: Spoiled

[00:03:07] Ben: but, cause my wife, bless her. She, she did all of the organization of this trip and I basically just had to show up and have a good time.

[00:03:15] Tim: it's good to be king, huh?

[00:03:16] Ben: Yeah.

[00:03:19] Carol:

[00:03:19] Ben: Um.

[00:03:19] Carol: Spoiled much?

[00:03:21] Ben: we had a nice time and I'll tell you, you know, one of the things that we did in Dublin was one of these hop on hop off bus tours. I don't know if, if a lot of cities have these, I know New York city does. It's basically a double decker bus and you just hop on and you can go around the city and usually your ticket lasts for some period of time, like 24 hours, 48 hours, and then you can get off, go do some stuff and then hop on the next bus.

[00:03:44] Ben: And, it's, it's just like, it's a super touristy thing to do, but it's actually just a really fun way. To get around the city and kind of get the lay of the land.

[00:03:52] Ben: We, we did that when we went to Barcelona. You're right. It's just great. Cause you don't have to worry about how to get there or parking. You just hop on and you know, they have the little headset you can listen to. They tell you different things. You're like, oh, this is great. Just kind of relaxed. So, Yeah. So that was a, it was good. Plus like, you know, in the afternoon, you're tired. You've been walking around a lot. Sometimes it's just nice to get on a bus and feel the breeze in your hair, you know? So anyway, that's me. I'm happy to be back. I'm happy to have been on vacation and, I'm gonna kick it over to Carol.

[00:04:21] Ben: What do you got going on?

[00:04:22] Carol's Fail

[00:04:22] Carol: All right. So I hate to ruin it, but I'm going with a fail. I totally missed some fine print somewhere and it's biting me in the ass now.

[00:04:31] Ben: Yeah.

[00:04:32] Carol: So we have a, a, like a whole workout thing in our garage. So it's like a gym at home and we have the Rogue System stuff, which Rogue's great, you know, high quality stuff.

[00:04:44] Carol: It lasts, you know, it's easy to assemble. we have a squat rack and I thought a squat rack and a rig were the same thing. So I ordered, you know, 1, 500 worth of accessories for said squat rack that doesn't fit said squat rack. And shipping to return it is like 500.

[00:05:03] Ben: Oh,

[00:05:03] Carol: So I either Order a rig now to support everything I just bought.

[00:05:09] Carol: I try to sell it or I just call it a giant loss and send it back. So I'm very disappointed with myself for not checking compatibility a little better. We're going to go to Lowe's this weekend and buy a few things and see if we can, you know, make it work. But when you're talking about a pulley system on a squat rack, that's not very safe.

[00:05:30] Carol: And since we're in a rented house, we can't bolt the system down or anything. So

[00:05:35] Adam: Hmm.

[00:05:37] Carol: see what we're capable of.

[00:05:38] Adam: sandbags or something, yeah.

[00:05:40] Carol: Yeah.

[00:05:41] Ben: rogue stuff is very popular. I bet if you put it up on, on Facebook marketplace or something, I bet you would find people

[00:05:48] Carol: Oh yeah. When we drive around close to here, people have their garages open and a very large set of them are like us and use their garage for a gym. So I, it probably could sell, but we're going to try to make it work or maybe get extra parts. We'll see what we have to do, but definitely feeling like a failure when I realized how much I spent on things that aren't compatible with what I have.

[00:06:11] Ben: I'm, I'm shocked that the, the, I assume it's that the uprights are different dimensions or something, but I'm, I'm just shocked that, they're not more consistent that, that, that kind of stuff should just be interchangeable.

[00:06:22] Carol: So it all fits together, not safely though. So I need like a four bar system that makes a square and is very sturdy. So if I put it on my squat rack and attach it how it needs to be attached, I'm going to pull it over on its side every time I use it.

[00:06:38] Ben: Nobody wants that.

[00:06:38] Carol: Yeah. Nobody wants that. So we'll see

[00:06:41] Adam: You just need to get like 400 pounds of sandbags and put those on the feet.

[00:06:45] Carol: I mean, we're in the desert. There's

[00:06:46] Tim: Exactly.

[00:06:47] Adam: Exactly.

[00:06:50] Carol: All right. Well, that's me. What about you, Tim? Have something better. Come on.

[00:06:53] TIm's Triumph

[00:06:53] Tim: Okay. I've got a triumph.

[00:06:54] Carol: Yay.

[00:06:55] Ben: Noice.

[00:06:55] Tim: So at our company, the company that we're part of, they have a thing where they do annual bonuses, right? You remember this Carol, when you, when you worked over there,

[00:07:06] Carol: Yeah, they were pretty.

[00:07:08] Tim: Yeah, I mean, the bonus is, is based off two things. One, the performance of your company. So they have, some sort of calculation of how much you've grown versus, you know, how profitable you are and all these ratios and metrics that they have.

[00:07:20] Tim: They come up with something called a company factor. So you take your salary times the company factor times your personal factor. Personal factor is based off of, you know, are you, Individual contributor, are you, do you have, you know, direct reports, are you in management, things like that. so you get a factor there, you multiply that and that's that, you know, every year they tell you your factor number, company factor, and you take your personal factor.

[00:07:42] Tim: You go, okay, that's how much I'm going to get in bonus. I mean, it could be, you know, 2, 000 or it could be, you know, 20, 000, 30, 000. Just, it totally depends. and so the division that I run has always been tucked in with another company. And unfortunately that other company doesn't really have great numbers. And our numbers are like really just ridiculously good, like really great numbers, particularly this year. So I finally won. I don't want to say an argument, but a discussion I've been having a while was like, you know, it's not fair. It's hard to motivate my people, you know, to say, Oh, you're going to get a bonus.

[00:08:21] Tim: But they're like, yeah, but it's not really our bonus. It's tied in with that other company and their numbers are not as good. So. This year, starting this year, our, my company PayCloud, it will be its own bonus factor.

[00:08:34] Carol: Yay.

[00:08:34] Tim: our numbers. And so I told the team that today and they were just absolutely, you know, excited because I mean, and, and this is a good year to do it because we really, I mean, really outperformed.

[00:08:46] Tim: so we're super happy that we'll, we'll get to reap the benefits of that next year. So,

[00:08:51] Carol: That is awesome news.

[00:08:52] Ben: That's exciting.

[00:08:54] Carol: It's really motivated

[00:08:55] Carol: for your team.

[00:08:56] Adam: Can I interest you in sponsoring a podcast?

[00:09:00] Tim: I think I already do.

[00:09:03] Ben: Spots are harder.

[00:09:04] Tim: Yeah, sponsor harder. So that's a big win. And the biggest thing, you know, I, I like it because I, you know, in the management, so I have a pretty good personal factor, but just more for the team, you know, to make them feel that, you know, they're not holding someone else's numbers up, improving theirs, but not, but being brought down.

[00:09:25] Tim: So that's exciting. So that's me. How about you, Adam, finish up.

[00:09:32] Adam's Triumph

[00:09:32] Adam: I guess I'll try and do my best to finish it up strong here. I got a couple of good things going on for me, so I'll, I'll, I'll go with the triumph. the, the most obvious one in my mind right now is, so we're recording this on a Thursday evening. last Thursday, a week ago, in the morning, I know, I guess it was in the afternoon, it doesn't matter really to our listeners, I don't know why I'm going on about that, but either way, I, I started reading a book, we, we had previously on the show, or maybe in the after show, touched on a book called, We Are Legion, We Are Bob, this is a Bobiverse book, yeah, Bobiverse books, sci fi space opera type series, And I read the first one.

[00:10:05] Adam: So, on Thursday, I think I texted you, Tim, that I was, uh, that I had started reading that book as an audiobook as I'm driving down for work. I did a work event just on Saturday, like a one day thing, but I had to be there early in the morning, so I spent the night. I was listening to the book, book one on my drive down.

[00:10:21] Adam: I finished it on my drive home, Anyway, long story somewhat shorter, I am 10 percent through book 4 now,

[00:10:29] Tim: wow,

[00:10:30] Tim: AMI's,

[00:10:31] Adam: so, yeah, I would say I'm enjoying these books, and, the thing that's kind of, like, driving me nuts in a, in a somewhat good way, The, so it's a, the book is about a guy that kind of becomes a von Neumann probe, which if you're not familiar is a self replicating spaceship, uh, right.

[00:10:50] Adam: So it just flies around the galaxy, finding resources and building clones of itself and like installing himself, his consciousness as the like operating system for the probe. So he's basically cloning his own consciousness throughout the book and there's becomes a lot of him. and that's why it's called the Bobiverse cause his name was Robert.

[00:11:09] Adam: and one of the things that's like constant, throughout all these books is, is constantly like, oh yeah, you know, I put it, I gave some instructions to a, a, what does he call it? The, the little worker thing, the AMEs or AMIs and the, but also the, the, the little worker bots or whatever, whatever they're called.

[00:11:28] Adam: and you know, and he's like, and I just told him to interrupt me if it needs input or, or if it notices anything anomalous. And Man, I just, I, I associate or I, I can relate to how his to do list is always seems to be growing and it's, it seems so like it would be so awesome to be able to just like, okay, here's a, here's a clone of my consciousness, go work on this to do list item and I'm going to go make more clones of myself and put them all on, on all these different to do list things.

[00:11:56] Adam: And it's like, there's so many things I want to do, so many things that I'm like, sort of working on a little bit at a time. And I really want to like. Just, here, go do it. You know, like, I wanna, I wanna get my stuff done. it's like, it, it, kind of, it's a little disappointing, cause like, it's a fantasy world, I can, I can kind of, like, picture myself there.

[00:12:14] Adam: It's like, oh, that would be so great, but I can't. It's so disappointing.

[00:12:19] Tim: AMI's, you texted me about, like, I really relate to this guy. I wish I could, he can change his frame rate, right? So when he's thinking at computer speed, he's thinking really high frame rate, but when he has to interface with humans, he jacks the frame rate down because humans are so slow and you're like, yeah, if you could do that in your real life, or they like speed up your frame rate, you know, when you're working really intensely working on something and then stuff's kind of boring and kind of slow the frame rate down so you don't have to.

[00:12:43] Ben: Yo, has anyone here seen the movie Her with, Joaquin Phoenix? It's a, the premise for people listening is it's, it was early artificial intelligence where, I mean, it's, it's like past future kind of stuff where everyone is carrying around these little boxes and all of the operating systems are these super high performance artificial intelligence and people end up kind of falling in love with their AIs.

[00:13:09] Ben: And so Joaquin Phoenix is walking around having these deep conversations and falling in love with his AI, who's, who's narrated by, Scarlett Johansson. And at one point, I mean, this movie's kind of old now, so I don't think this is a spoiler alert here, but at one point, I forget, she, she like indicates that she's distracted and, and Joaquin Phoenix asked the AI, are you talking to anyone else?

[00:13:32] Ben: And she says, yeah, I'm talking to like 1300 other people right now. And it was like, I felt so emotionally hurt by that, but you know, she's operating at such a high level and it's hard to relate to that as a human. It can, it could only be hurtful somehow.

[00:13:48] Adam: Mm

[00:13:50] Tim: Yeah, it was, you do know that, Tennessee Taylor, the guy who wrote those books, he's a retired programmer.

[00:13:57] Ben: I did not know that. That's cool.

[00:13:59] Tim: Yeah. So it makes sense that he, we, we kind of, Adam and I kind of related to those. So

[00:14:04] Ben: Yo, speaking of sci fi, isn't Dune 2 supposed to come out like any day?

[00:14:09] Tim: I think they, because of the strike, they, they're, they're putting it off, they delayed

[00:14:13] Ben: makes sense.

[00:14:14] Tim: because you can't have the stars, stars can't go promote it. Right. So they're afraid it would, it would hurt. They're afraid it would hurt the box office receipts. So,

[00:14:23] Ben: That's a bummer.

[00:14:23] Adam: IMDB says 2024.

[00:14:26] Carol: wow. Well, that's not that far away, you guys.

[00:14:29] Tim: yeah. All right. Well, we got going on.

[00:14:34] Adam: Yeah, who wants to start it off?

[00:14:35] Carol: Oh, I can start us off.

[00:14:37] Adam: Go ahead.

[00:14:38] Carol - SQL Server Problems

[00:14:38] Carol: All right. So what's going on with me these days is what you want to know, right? So you guys know I started a new job. I'm working for Uncle Sam. What I haven't told you guys is that during my first week, I was informed that there were other plans for me outside of what I thought I was being hired for.

[00:14:57] Carol: And that I was being promoted.

[00:14:59] Tim: Wow. First

[00:15:00] Tim: week.

[00:15:00] Carol: first week back. And I was like, you guys know, I don't know anything about what I'm doing right now. I, like, blocked out every bit of the code I wrote when I was here before. I don't even remember how to use Visual Studio. Like, I've been using VS Code for so long that I'm like, how do you build?

[00:15:17] Carol: Like, what's a NuGet package? I don't understand these things. Like, someone's gonna have to, like, give me some, like, refresher courses, right? So they're like, Oh yeah, yeah, we know it's going to take a while. And I'm like, all right, cool. So last week they announced it to all the teams that, I had been promoted to an architect.

[00:15:33] Carol: So now I'm a systems architect and I will have my own team of people and we will be working fully well for a little while. Working like fully for, some treasury work. So for IRS things, and it's all about hiring and how they hire people. So it's staffing stuff. It's all HR things, but I'll be working with that organization for a while and trying to help with some of their pain points.

[00:15:59] Carol: So it was interesting to go back and then immediately be promoted. I was like, Oh, someone must've liked me from before.

[00:16:08] Ben: awesome. Congratulations, Carol.

[00:16:10] Carol: Yeah. So that's kind of cool. however, I've run into this giant pain in the butt thing that no one else has had to deal with yet because, some changes were made with how they encrypt, like stored backups. And whenever developers want to spin up the system, to run our database locally, like we just go grab a backup and we restore it to our local and we have some seed scripts that run and you're good to go, right?

[00:16:35] Carol: Well, since they're encrypted, we found out that SQL Server Express will not let you decrypt them. So even though I have the cert, I can't decrypt it. Every other developer engineer is using SQL Server Express and they are able to keep working because they've just been applying migrations down every time we do a code push.

[00:16:57] Carol: So they just keep rebuilding on theirs the minute one of them has to go. Restore from a backup, there's going to be an issue. So I've become the guinea pig on how to handle this. And it turns out in SQL Server 2022 Developer Edition and Enterprise 2, they got rid of the ability to alias a database. And if you know anything about SQL Server, the express version comes with a local DB that basically runs everything and then SQL Server Developer and Enterprise.

[00:17:27] Carol: It's like a local host type thing is how you connect everything. It's just a server. There's no local DB. The entire code is written to connect to local DB, local DB. And I don't have a local DB and they got rid of alias. So I can't even go in and just alias it so that the code reference would still work with IP or with the pipes.

[00:17:51] Carol: So I'm like, I don't even know what to do now. So I ended today going with. I have a feeling that I'm about to be told to stop trying to figure this out and that I'm going to have to change my local code every time to update the web configs for all these projects to the migration to point to local hosts instead of local DB.

[00:18:12] Ben: Well, it sounds like a really solid project would be refactoring the code to at least somehow pull out the name or the configuration for the database so that it's not, you know, could you, could you see it becoming somehow a one line change down the road?

[00:18:30] Carol: Yeah, that's my goal. So I hope to get to a spot where I can figure out how to do that. I haven't yet, but I hope to, or get it to where, It's kind of like a universal type mapping that we wouldn't have to deal with. Cause we've talked about spinning up some Docker containers for the database. So you would just always have that Docker file that would have exactly what we need versus you ever having to change anything on your local.

[00:18:54] Carol: So there's a couple of routes to go down, but it just sucks that the version I need to use doesn't have the tool 2019 had in it. Like the previous version, I could have just aliased this and I would have been just fine. And now that's gone and the workaround's just making me angry and gave me a headache.

[00:19:11] Carol: And yeah,

[00:19:13] Ben: so in my early career, I, I used SQL server and I think at the time the administrative tool was called something like SQL server manager or

[00:19:24] Carol: Manager or Configuration Manager.

[00:19:27] Ben: And then eventually it became like SQL server studio and it completely changed and the whole paradigm about how you connected to databases with a change.

[00:19:36] Ben: And it just, it made everything so much more complicated. I had always wished. There was a way to just opt back into the really old, simple, like double click on it and suddenly you're in the database, basically.

[00:19:47] Carol: like magic, right? Those days are gone. Everything has to be complex and you have to know how to get there. But, I was even complaining to one of our DBAs because I haven't used like Microsoft SQL Server Management Studio in, I don't know, eight or nine years. Like, I've been using like dBeaver and I was using Aquadata Studio before that.

[00:20:10] Carol: I was using tools that are more configurable and a lot easier to use. And now I'm back to just the basic, you can't do a lot. Yeah. Good luck getting any help in here. It's just awful. So it's going to take some adjusting to get used to.

[00:20:27] Ben: And you said you're in, in NET. What's the programming language?

[00:20:31] Carol: Yeah, it's NET, it's C sharp. So we've got, yeah, we've got C sharp and then there's a, so some of the, the programs have NC Framework, and with the database stuff, but several of them are trying to get away from that. So it'd be interesting to see what some of the new projects I'm spinning up. If I get forced into any path, that's not so fun with NC Framework.

[00:20:52] Ben: I can cross pollinate for a second, one of the podcasts that I enjoy listening to that might be up your alley now is NET Rocks.

[00:20:59] Carol: I've listened to it,

[00:21:00] Ben: Okay. Yeah. They've been doing apparently for like 15 years or something

[00:21:04] Carol: a lot.

[00:21:06] Ben: I don't understand most of what gets discussed on that show, but it is always kind of interesting.

[00:21:12] Carol: Yeah, I think I picked it up when I, was a contractor the last time for the government. And I was like, okay, if I'm going to write NET, I guess I should listen to something about it. Yeah.

[00:21:24] Tim: And I think about you, there's a commercial, I forget who's the company for, but it's the, there's a podcast about that guy. Have you seen that?

[00:21:32] Ben: No, I don't think

[00:21:33] Adam: Oh, I, yeah, there, I've been seeing that commercial a lot during baseball. There's, there's a guy, there's always a guy in your company or whatever that knows, oh, there's a podcast about that.

[00:21:42] Tim: gets, he gets on the, he gets on the elevator and the guy's drinking tea. He goes. Are you a big tea drinker? He goes, yeah. He goes, you know, there's a podcast about that.

[00:21:52] Adam: The commercial ends, he's in a meeting, and he's got like one earphone in, and the, the lady standing up at the front leading the meeting is like, Are you listening to a podcast right now? And he's like, yeah, but it's about multitasking. It's, I

[00:22:05] Ben: Oh, I'll have to look that up on YouTube. That sounds good.

[00:22:08] Carol: I feel like if that was us, Ben would be that guy, but Adam, Adam would know the episode you were talking about. He'd be like episode 47 at like minute number three.

[00:22:21] Ben: Oh, yeah.

[00:22:22] Adam: No, I, I've gotten lucky a couple of times listening to the same thing that Ben had. Like, Ben listens, and he remembers it for later, and then like, earlier the morning that we record, he mentions it. I'm like, I just listened to that.

[00:22:32] Carol: Yeah,

[00:22:33] Ben: how do you query? So obviously I love the CF query tag because it makes data access easy. In the NET world, does, is there a built in ORM? I feel like I've heard people talk about something called link. Is that how you're hitting?

[00:22:48] Carol: Yeah. So we use link language for it. It writes like SQL, but it does all of the, like, what is it like transmutation? I don't know the word, where it basically takes what you write and then gets it to the database in the correct format. So link's pretty good, if once you kind of like get your head around how to write it in there and it makes it look like SQL.

[00:23:09] Ben: It's like, instead of inner join as a keyword. It's like join as a method call, kind of a thing that that sort of stuff.

[00:23:16] Carol: yeah. I haven't looked at the code that hard. I'll let you know in a

[00:23:18] Ben: Yeah, yeah, yeah. No, I'm, I'm, I'm always just curious to know how people hit the database.

[00:23:23] Carol: Yeah, I went, I went through like a, like very high level, like reminder class and plural site about Link, but I can't tell you about that stuff yet.

[00:23:33] Adam: Like, you could, but you'd have to kill him, or...

[00:23:37] Carol: Yeah,

[00:23:37] Carol: that's

[00:23:38] Adam: for the government and you just got a promotion. We don't know how high up this goes, right? Carol, blink twice if you're now working for the Secret Service. We...

[00:23:44] Carol: Thank God no one can see this. Yeah. Yeah. But

[00:23:47] Adam: cool.

[00:23:48] Carol: yeah, so that's what's on my workbench right now. It's going pretty good. I'm happy. I'm enjoying challenges. So

[00:23:55] Adam - Monitoring and Odd Jobs

[00:23:55] Adam: Yeah, I'll go next. so, we are officially, even though it started on October 1st, like our review period, we are officially at 100 percent completion on our compliance checklist as of now. When we started, there were a few things that were technically incomplete. but that was just because we still had some, like, paperwork to file, right?

[00:24:11] Adam: All the, all the compliance work itself was done, but the, the paperwork wasn't caught up. So we're at 100 percent now. It's great. and that's a huge load off my back. now the, the, the funny thing is, like, now it's kicked in and everybody knows that, like, Adam is the, the CISO, and there's jokes people crack.

[00:24:26] Adam: I don't want to piss off the CISO. You know, what should I do here?

[00:24:29] Tim: What does CISO stand for?

[00:24:31] Adam: C I S O, the Chief Information Security Officer, which it all started 'cause Steve was like, so our acting CISO and fine, that's me. yeah. So begrudging, ciso, so.

[00:24:45] Ben: at this point, if, if a customer comes to you and says, Hey, I need proof of compliance, you, you now have a report that you can send them.

[00:24:52] Adam: no. So what I, what we can say is we are actively engaged in a SOC 2 review and we're in the middle of our review period and we expect to have the report in like mid February.

[00:25:02] Ben: ah, okay. Okay. Wow. That's a long review period.

[00:25:06] Adam: Well, you would think so, but so this is going to be our first one and, and from what I understand typical these days is for your first one, you do a six month review period or some people do three month and then once you're on the treadmill, it becomes like a yearly treadmill, right? So

[00:25:20] Ben: Gotcha. Okay.

[00:25:21] Adam: or whatever, but it's like a once a year review.

[00:25:23] Adam: we opted for, we were originally planning for six months, but we couldn't get our ducks in a row fast enough. And we still want to be done sooner rather than later, so we're just doing a three month review for our first one. And then we'll be on the yearly treadmill.

[00:25:36] Adam: and and it just happened to nice, sort of nicely work out that, we'll be January to December.

[00:25:40] Adam: Because that, it doesn't too much conflict with our event schedule. It doesn't conflict too much with our fiscal year in terms of like timing when, when crunch time is going to be on anything, so. that'll be, I think, kind of nice, and we're going to try to get our PCI aligned with that as well. So compliance is kind of, you know, it's done, it's kind of pushed off to the side for the moment.

[00:26:00] Adam: So because of that, I have had some leeway to try and like sort of figure out the best course of action for myself. you know, what do I need to be working on? What does the company need me to be working on? and so we had this, Need to centralize some engineering staff dashboards, right? We had to, you know, think we have things that we have to keep an eye on, right?

[00:26:21] Adam: So, you know, what's, what's in the mail pipeline from all of our different customers? Where's the, since we have our own homegrown ticketing system, we have to keep an eye on that and a couple of other things. And we had some dashboards that were like, here's a Docker container you can run locally and it will query all of the, different customer systems over their APIs.

[00:26:40] Adam: you know, like on a minute by minute basis or something like that. And now that we have more than a handful of customers, it's starting to be like, it's a little dumb that we are, we have three or four people that are all, you know, every minute hitting every customer asking for the same data. Right.

[00:26:56] Adam: And as our team is going to continue growing, that just continues to get more and more dumb. So we have for a long time said like, when it makes sense, we want to centralize this. And now that I had the time, I was like, Oh, let me jump on this. Cause it's. You know, it's just sort of rewriting the UI, right?

[00:27:10] Adam: As a matter of fact, if I wanted to, I, well, no, I couldn't just take the app that was there and say, okay, I'm going to run it in the cloud and everybody can hit it because it was the container that I had originally written for these things. It's like, it's all client side, right? You spin up the thing. And it's just making AJAX requests from the client side to the different customer servers.

[00:27:30] Adam: There was no server side for caching and centralizing. So that was part of what I wanted to bite off is, centralizing and having a central cache. So we've got one server that is hitting all customers on a regular basis and caching that response. And then all of the requests for the dashboard from each of us engineering staff people, it's the server and just gets whatever's the latest cache.

[00:27:54] Carol: Nice.

[00:27:55] Adam: so we go down from four requests a minute to each server down to one, basically. and, So, because I have, you know, wanted to work on this and, and wanted to get some real world experience with SvelteKit, I thought it was a good opportunity. I've been writing this app with SvelteKit, learning a lot, trying to figure out, like, where the holes in my knowledge are, that sort of thing.

[00:28:16] Adam: I've definitely found a few. You know, there were things that it's like, why is this doing it this way? And of course, one of them was friggin time zones. like,

[00:28:23] Carol: love it. I love

[00:28:24] Adam: yeah, trying to display time in, in the local, system, like the user's subjective local time. Especially when you're using a framework that is like, I don't know if this request is going to be rendered on the server or on the client, right?

[00:28:36] Adam: If it's your first request into the page, it's going to be rendered on a server, sent down, and then sort of hydrated on the client

[00:28:42] Ben: so just as a refresher for people listening, SvelteKit is basically Svelte plus a server side routing and rendering mechanism.

[00:28:51] Adam: Yes. Yeah, so Svelte itself is, you kind of think of it like React and Next or

[00:28:56] Ben: Okay. Yeah.

[00:28:57] Adam: you know, like all these things, right? you know, React is the UI toolset for, for building, you know, complex,Deterministic. There, I found it. Complex deterministic UIs. Svelte is very similar to that. And then there's SvelteKit, which is okay, let's add routing and all kinds of additional really awesome functionality that is, that you can only get by incorporating server side stuff. Anyway, so I've been working on that.

[00:29:27] Adam: That's been a lot of fun. and then sort of, you know, that is sort of my like okay, I have two hours to kill. What am I going to work on sort of thing? And then the other thing is, okay, I have a half hour to kill. I don't really have enough time to, to spin up on a real effort on something, so what am I going to do?

[00:29:43] Adam: I have been working on like, how can I find stuff that has slipped through the cracks of our team? Like yesterday I found a ticket from last week that, was like a high dollar donor, somebody who wants to give thousands and thousands of dollars to one of our customers had an issue with their credit card.

[00:30:00] Adam: And the, the school was waiting for us to fix the bug

[00:30:03] Carol: Oh, dear.

[00:30:04] Adam: yeah, exactly. And it just sat there for like a week and I was like, okay, here, I'm, I'm fixing this and, and that sort of thing. And it's just like, you know, sort of building systems and monitoring stuff to, to try and help stuff not fall through the cracks like that.

[00:30:19] Adam: It's been a lot of fun

[00:30:20] Ben: Very cool.

[00:30:22] Carol: Yeah. Yeah. It sounds great.

[00:30:24] Adam: starting to try to think strategic, right? Like, you know, what, what does our company need to do over the coming, you know, weeks and months? To make the best of the year

[00:30:34] Tim: What do you need to start doing? What do you need to

[00:30:36] Tim: stop doing?okay. Well, I'll, I'll go next if you're done.

[00:30:41] Adam: Go for it.

[00:30:43] Tim - The API Whisperer and Payment Systems

[00:30:43] Tim: So I feel like my job lately is like being the API whisperer. Um,and it's like, you know, I have an API that I have in the middle, which is based off of your, code and I call it, I call it Toffee, my, my, because it sticks in, you know, it's basically like a.

[00:31:01] Tim: Multi purpose API. so I'm talking to a policy administration system, and then I have another outside company that basically it wants to, it's a mortgage, it's a, it's a company that works with mortgage companies, they're,a service processor for more, for most of the mortgage companies in the United States.

[00:31:21] Tim: And so they, they want to, a mortgage company wants to know. You know, is there, does the house that they have a mortgage on, that they're funding, does it have coverage, and what coverages does it have on it?

[00:31:32] Carol: Oh yeah.

[00:31:33] Tim: right, right now, what this third party company does is they will physically call the agent of record on that policy and say, Hey, hey, could you send us the email us or fax us the, they call it the deck sheet or the declaration sheet.

[00:31:47] Tim: And they will physically look at it and go, okay, yeah, it has this much coverage, that much coverage. And so they'll, they do it that way. So I'm working with that company to. Basically make it electronic, right? So that they could do an API call to me, and then I can go talk to our clients and go get that policy and tell them, you know, what the coverages are and all that.

[00:32:08] Tim: So I'm sort of in the middle, right? So one that's like, I don't control the system that it's talking to, and I certainly don't control. Other, you know, this, this mortgage servicing company. and so like, that's kind of been my job and it's a lot of waiting, right? So I'll email someone or call someone and say, Hey, I need, can you make a tweak here in your, your policy system so that I can get this?

[00:32:28] Tim: Like, yeah, sure. And then I wait a week and then I talked to the other company and then, and they're like, they have different names for these coverages and I'm like, well, I don't really understand what this is. And then I wait a couple of days and they get back to me. So it's a lot of that back and forth, but I had a.

[00:32:43] Tim: Sort of a breakthrough today. So when the policy administration system, I knew that there was. It generates a PDF that creates the deck sheet. And I knew, because I wrote this many years ago for, for them, that what it does is it creates a snapshot of all the data and uses that snapshot to feed that PDF, right, to dynamically populate it.

[00:33:07] Tim: And I'm like, that snapshot really has everything I need already done for me. And so I checked it out and went, yep, sure enough. And the only thing it, it, it, That is in ColdFusion. all it does, it would dump it out in a CF dump, called the developer and said, Hey, can you make this if I pass, like JSON equals true.

[00:33:28] Tim: It will. It will, it will. You can serialize that dump into

[00:33:32] Carol: Sneaky, sneaky,

[00:33:33] Tim: yeah. And he, sure enough he did. I'm like, perfect. Now I have everything I need. I don't have to keep, 'cause they'll change rates and everything, but as long as I know that they create a deck sheet every single time, it's like, so as long as I know that it has a deck sheet, I can go.

[00:33:46] Tim: Grab it, get all the data I need, pop it into the API, send it over to the other company, and we should be good. So, that was my breakthroughs for today, but it took me, I pretty much spent all week thinking about it, you know, thinking about how am I going to do this? Because I didn't want to, I didn't want to create something where every time the policy system makes a change, and they make changes all the time, they have rating versions for, you know, constantly changing.

[00:34:12] Tim: I don't want to have to work. I don't want to have to, I don't want to have to go change code every single time. So,

[00:34:18] Carol: A business question for you. So you are basically just payments, right? You're the company you do is all payments. How did you end up in a situation where you're now doing like insurance verification for mortgage? Like writers or whatever these, this company is like, how did you end up with that kind of contract work on you and you.

[00:34:40] Tim: so just through, was a partnership that we had with a company that I, I can't name. but, yeah, we had a partnership with them for another product we were doing and they were talking about some of the challenges they were having. So that's kind of how that.

[00:34:53] Carol: And you were like, you were like, well, it just so happens my company can branch out and help with this area. That's cool. Yeah. Interesting. I always like seeing when things go a little broader than what they do every day, because for engineers, like it's fun to work on something a little different. Right?

[00:35:09] Carol: Like if I spend all day in payments, like it's fine to go look at insurance or go look at, you know, some, some, any other type of data is just good as a little like Friday afternoon project kind of thing. So that's cool.

[00:35:24] Tim: And then, and then the other main thing that we're working on is, so like you say, we're in payments, but we're kind of low down in the food chain when it comes to payments. Like there's many middlemen in bet or middle companies in between us and Visa, MasterCard. and so... Just through another partner that we've been dealing with that we now are directly.

[00:35:46] Tim: So how credit cards work in United States, I imagine it's probably similar in Europe. you have, kind of some of the major big players that are, that work with the banks and the banks talk to Visa, MasterCard, those networks. So Visa, MasterCard, American Express, all they are is, They're just a network that, you know, passes the money around,

[00:36:08] Carol: Oh,

[00:36:09] Tim: right?

[00:36:10] Tim: But the banks themselves use companies to, they call them, service processors.

[00:36:16] Adam: Service providers.

[00:36:17] Tim: Yeah, they work with the, they're, they're third party payment processors for issuing banks. So, so your bank, like say Synovus or whatever the bank is, they're going to have a company, called T SYS. So T SYS is owned by Global Payments and they're the biggest player in the United States.

[00:36:36] Tim: I think they're right there with Fiserv, which is like 17 billion. And Revenue,

[00:36:41] Carol: And it's a name I've never heard of. Yeah.

[00:36:43] Tim: you know, you never, you would never know. So they're the actual ones, I'll drop a little knowledge. I learned this this week and I just thought it was interesting. I'll get back to this. I'll drop the knowledge later.

[00:36:54] Tim: The main thing. So, so we're moving up the food chain. We have a, we have a direct, we have a direct relationship now with T SYS.

[00:37:00] Carol: Oh, yay.

[00:37:00] Tim: So, which, what's, and that's super exciting for us because there's tons of stuff that I want to be able to do that because we're further down the food chain that some of these companies just don't do.

[00:37:11] Tim: They're possible, but they don't do it at all. For instance, if you ever looked at your credit card receipt and you're like, you see some company name and an amount. But you have no idea what it is for. And there's, and there's numbers there and you don't know what those numbers mean,

[00:37:25] Carol: And Google doesn't help me usually.

[00:37:27] Tim: doesn't help you at all.

[00:37:28] Tim: Right. So, I mean, that's sort of the typical experience, but, there are cases where, I don't know if you've seen, like sometimes, like if I buy my, ticket. To Delta on my American Express. It actually will show me on my receipt, the flight number and things like that. So the credit card numbers, credit card companies have, you know, that capability.

[00:37:48] Tim: Just most companies don't do it.

[00:37:49] Carol: Like more information for the transaction than what you're seeing. Yeah.

[00:37:53] Tim: Exactly. So that's, that's one thing now that we're doing this, we were talking about this today, that we can have the entire, you know, you can have the amount that you're charged, the company that it was for, but like an invoice number down to like a line item of, of, you know, what's on it. So.

[00:38:09] Carol: someone's gonna get caught cheating.

[00:38:12] Tim: Right.

[00:38:13] Carol: Ha ha ha ha ha ha ha.

[00:38:15] Tim: So that, that's the, and then just other, other, features that we could do now that we're going directly.

[00:38:21] Tim: So I'll drop the knowledge on you. Cause I thought this was super interesting. I just wonder how, why, why would any bank like become the, the main processor for this, because what they're putting up their own money. So let's say you go charge your card. today for 1, 000. You charge your card, to, I don't know,

[00:38:41] Carol: Rogue. For equipment you can't

[00:38:43] Tim: yeah, right.

[00:38:44] Tim: To Rogue, right? So, so what happens, so at night that, that, that amount is just sort of there. And then like three in the morning, Eastern standard time, Credit card network says, okay, let's settle this amount. Right. So that information goes to, goes to, whatever bank like T SYS is using. Typically they're going to use Synovus.

[00:39:04] Tim: It's like one of the biggest banks in the Southeast. so what Synovus does, what the bank does is they're going to actually pay Rogue. Right. So the Rogue will get their money tomorrow. And this is what I thought was interesting. The. The actual funds will not show up to, to the other, to the party, to, to, to the bank for three days.

[00:39:27] Tim: Well, it'll show up, the actual funds will show up to Rogue like the next day, but the bank, that money is actually being transferred behind the scenes using, our very old antiquated ACH system, which

[00:39:39] Carol: Whaaat?

[00:39:39] Tim: Automatic Clearing, yep. So that takes three to four business days for that, for that money to actually electronically transfer.

[00:39:46] Tim: So what Synovus is doing. Is they are basically doing a loan to

[00:39:51] Carol: Uh

[00:39:53] Tim: two to three days or how long that takes. And they charge them interest on that loan.

[00:39:58] Ben: Hmm. I was about to say, there's gotta be an

[00:40:01] Carol: gotta make money!

[00:40:02] Tim: So he's making money.

[00:40:03] Ben: have interest on

[00:40:04] Tim: Yeah. And right now with, with the, with the interest rates so high, the banks are charging, I mean, they're really, they're really getting, yeah, they're charging them like 6 percent now on this, this overall funds that they're loaning. So, I still haven't figured out how though that, you know, typically you're.

[00:40:21] Tim: I'm going to charge the actual merchant, like, like if I'm, if I'm taking credit cards, 3. 25%, 3, 3. 5 percent is kind of what I have to mark up in order to not eat out of my profit. So, but yeah, the, the banks, so they, they're doing a float. So every day they're just constantly loaning out money to, to T SYS and then T SYS just, that's the cost of doing business for them.

[00:40:42] Carol: That is interesting.

[00:40:44] Ben: Crazy. Are,

[00:40:45] Carol: And then they charge the end user who put it on their credit card, you know, 27 percent interest.

[00:40:50] Tim: yeah, exactly.

[00:40:53] Ben: are you in the, in a type of business where. Legally, you can't delete data. Like, do you have to version everything instead of deleting and updating kind of an approach?

[00:41:04] Tim: No.

[00:41:05] Ben: Oh, okay. So you don't have to have records for like seven years with all this stuff. Gotcha.

[00:41:11] Tim: I don't think we keep for more than two years.

[00:41:15] Carol: Interesting. I don't even want to guess at what our data retention thing is.

[00:41:21] Tim: Oh, the government? Oh Lord. Yeah. Anyway, that's what I've been working on.

[00:41:25] Carol: That's really cool, Tim.

[00:41:26] Tim: Thanks.

[00:41:27] Carol: I need to hear, I need to hear your API whisper voice though. Like that's what we really needed to hear up front.

[00:41:33] Tim: all right. So let me think. come little API, don't say a word.

[00:41:38] Carol: Perfect.

[00:41:39] Tim: make your daddy look like a

[00:41:41] Carol: Yes. That's great. That's great.

[00:41:47] Ben - Solving Customer Problems and Feature Flags Book

[00:41:47] Ben: Alright, yeah, so I have not had much going on in my life lately. you know, we've talked about previously on the show, I am now a part time employee. That situation is still current. And I think the biggest life change, and I do call it a life change because work has been something I've approached. Holistically, traditionally, I've always held on to this belief that I could do something for the customer, that I could add value to the customer, that I could solve problems, even with my reduced amount of time. And, we've talked on previous episodes that I had implemented an office hours program where customers could reach out.

[00:42:29] Ben: And, this week I removed that from the application and that was emotionally very hard for me. It was kind of this. signifying that my ability to create change in the application is now limited in an extremely real way and that trying to open the door to even communicate with customers was a fool's errand.

[00:42:55] Ben: And, that's been hard. I've actually been feeling very depressed about that, but

[00:42:59] Carol: Oh yeah. That's a hard one.

[00:43:02] Ben: it is, it is tough, but

[00:43:03] Adam: it's not like it's a, it's not a reflection on you,

[00:43:06] Adam: right? It's just the situation you've been put in.

[00:43:08] Ben: Yes. Yes. But I've always just, I was just holding onto a dream, you

[00:43:14] Carol: Yeah. Cool.

[00:43:15] Tim: turd.

[00:43:16] Ben: and that that dream is just no longer a reality. I mean, I guess that's what dreams are.

[00:43:21] Tim: yeah,

[00:43:24] Carol: That's sad

[00:43:25] Carol: too.

[00:43:25] Adam: But all hope is gone, Ben.

[00:43:30] Tim: so I mean, is that, that's obviously affecting you financially. I mean, do you plan on just continue working part time or are you looking for,

[00:43:36] Ben: No, I'm,

[00:43:37] Tim: So you can get rich? I'd think about it.

[00:43:41] Ben: That's definitely, I'm still struggling to write this book. I'm, I am making progress though. I mean, I have been doing quite a good deal of writing, I believe. but it's, it's one of those things where somehow it feels like the more I write, the farther the end of the book feels.

[00:43:56] Ben: And, I'm, I'm trying to figure out. What I want this to look like, I actually had an idea where I would like to try and monetize the book in some way, but then I also was playing around with the idea that if, what if I could take the chapters, the individual chapters and turn them into blog posts so that you could have a discussion around the book.

[00:44:18] Ben: And then if you wanted to purchase it, what's your person purchasing is essentially the packaged version of the book, not necessarily. All of the content. It's more of a convenience purchase than it is a content purchase.

[00:44:30] Adam: It makes it easy to take it offline, right? I'm gonna go read it while

[00:44:33] Ben: yeah, yeah, yeah, exactly. But, but I, you know, one of the things that I think is limiting about a book is that it's such a, a moment in time.

[00:44:42] Ben: And you can't necessarily have a very active conversation about it or, or any conversation about it.

[00:44:47] Adam: Yeah,

[00:44:47] Adam: that's fair.

[00:44:47] Ben: I already,

[00:44:48] Adam: it's entirely possible to take that, that extremely open approach, like, here's the content, it's all for you, it's right here, you just have to do the work to find, okay, this chapter, then this chapter, then this chapter. The, the movie The Martian was, before it was the movie, it was the book The Martian, and before it was the book The Martian, it was Andy Weir's, like, blog, basically.

[00:45:08] Adam: Right? He wrote the first chapter, as just like an idea for a book. And he wasn't even sure, like, if he would be able to, like, he kind of had an idea of like, okay, you know, he gets trapped on Mars and then he gets saved. And he, he didn't have the whole journey planned out in his head. And there were things that he had to figure out as he went along and whatever.

[00:45:26] Adam: And, and it was just like, You know, he's a writer. He has people that are subscribed to his newsletter and read his blog, and he was just publishing this as, like, sort of a writing exercise, following something that fancied him, but it, it, it got good enough, and they were like, okay, you know, later chapters, he would like, okay, well, in order to make this the way that I want this to work out, I have to go back and change this, right, and he would do that, but then, like, once it's all done, or maybe once it got close enough, he was like, okay, this is actually enough to make a full book out of it, so he just took it all, and it's not like it's, As far as I know, it's still all online, but he just, like, packaged it all up and sold it as a book.

[00:46:01] Ben: So what I am hearing is that you think I could take this feature flags book and turn it into a major motion picture story, Matt Damon, because I love that idea.

[00:46:11] Carol: Yeah. I'm

[00:46:13] Carol: sold.

[00:46:14] Adam: I, I'm not saying I have Matt Damon's phone number, but

[00:46:21] Ben: Yeah. So, I mean, you know, I don't know if it's, it's,

[00:46:23] Adam: maybe we can get, like, Scott Hanselman or something.

[00:46:26] Carol: Kind of look alike, right?

[00:46:29] Ben: You know, but, but I do think that part of my, even toying around with those ideas in my head is, is in part an indication of just the insecurity I have about finishing the book itself, or maybe not the finishing, because I think that would kind of have to coincide with the, with the blog post concept. But I, I I'm sure that I still have a lot of insecurities about the very idea of monetizing it in the first place.

[00:46:53] Ben: And,

[00:46:53] Ben: um,

[00:46:55] Adam: okay, that's, that's an interesting concept. Let's explore that for a second. what do you think it is, is it like imposter syndrome, right? Who's going to want to pay for my book, am I going to fall on my face and make zero money or only make one sale? Is

[00:47:09] Carol: I'll buy at least

[00:47:10] Carol: one.

[00:47:10] Adam: un, well, I, is that

[00:47:12] Ben: it's, it's, it's not, it's not a, so it's not a fear of embarrassment or anything like that. You know, that's not, there's no sense of failure per se, because I do think. I'm enjoying the writing. I'm enjoying the act of having to organize and codify my thoughts. but I do think that there is an insecurity about, is any of this information actually worth a transaction that someone would want to partake in? especially cause there is, you know, it, it. I'm writing about my experience, so there is a very subjective portion of it, but a lot of, a lot of it is public knowledge, you know, I'm not the, I'm not, it's not like I'm, writing a research book where I'm, where I'm taking a hundred different studies and aggregating and Connecting dots.

[00:47:59] Ben: I'm basically talking about what feature flags are and then pouring on top of that, my experience and my perspective. So I feel like it's the experience and the perspective that are really the value add, but is it enough of a value add that, someone would want to

[00:48:14] Adam: So, I, I think I can help you get over this hump. and I, I want to suggest a few things, but I don't, I don't want it to distract you from exercise and job number one, which is write the book. There are, there are other things I'm going to mention that are, that would be, that could be distractions, like, you know, how, when, sometimes when we don't want to do the coding work, we're like, I'm going to go, like, find a new color scheme for my IDE, right?

[00:48:38] Adam: Like, that kind of, that's the kind of thing I'm saying, like, you could get sucked into this other stuff and feel like you're working on the book, but you're not actually working on the book. do presales. Like, if you, so let me, let me say this, you seem in my, from what I see, you seem most active on Facebook of all the different social media, or at the very least that's where I see it.

[00:49:01] Adam: And Facebook also happens to be of the social networks that I use, the one I use the least. So,

[00:49:07] Ben: network, I would think maybe too.

[00:49:10] Adam: okay,

[00:49:11] Ben: meaning that, yeah, yeah, yeah.

[00:49:13] Adam: but what I have seen is that people really seem, maybe it's a small number, a tight group or whatever, but, of people, but you seem to always get a good amount of activity on those posts. People are excited about the book. And I

[00:49:27] Ben: Yeah. They're very encouraging too, which has been nice.

[00:49:31] Adam: and, the... Here's where I'm coming from. I don't use Facebook much, so I don't see all of these posts, I don't catch all of them, I don't, there are things about the process of writing the book that I'm sure that I would personally find interesting that, that I'm not seeing because I don't use Facebook much.

[00:49:46] Adam: However, if you offered me the option to pre order the book and give you my email address and know that, just basically like, whenever you're sharing content or whenever you're done with a chapter, Even if it's a rough draft, if you're, if I know you're going to email it to me and I can be like, okay, cool, I, you know, I might wait for the final draft or I might, ooh, this really matters to me right now, I can read it and I know that they're all coming to me, even though it's, it's, you know, going to be spaced out, even though they might be rough drafts, knowing that you're pushing it to me instead of having to go pull it, because right now you're, you're posting the content online, you're posting like screenshots of it and stuff on Facebook, knowing that you're going to be pushing content updates to me.

[00:50:26] Adam: Is itself, motivation to go pre order. I would, honestly, tonight, I would go pre order the book if you offered that.

[00:50:31] Carol: Same, me too.

[00:50:33] Ben: Interesting. Yeah.

[00:50:37] Carol: Come on, Tim. That

[00:50:38] Ben: You gotta, you gotta, yeah. I was gonna say, you gotta wait for it. I know I, you know, I've, I've been mulling over this idea of some sort of a pre order and, the book is sort of broken up into. Two parts, the first half of the book, I mean, I don't know if it's half and actual measurements, but the first portion of the book is much more a technical take on feature flags and how they affect product development.

[00:51:03] Ben: The second half of the book is a, I would say much more subjective. Look at how this affects the culture of the company. And what I've sort of put in my mind as a milestone is if I can get to a rough draft of the first half of the book, then I feel like at that point I could offer it up as a pre sale because there is actually a lot of value in there, even if the second half of the book is still pending.

[00:51:30] Tim: So Ben, I think you, you need a gimmick. I was trying to think the other day when I saw your post about your, the book you were working on. I'm like, you need a feature flag feature in the book. So you like turn something on and off.

[00:51:43] Carol: Oh, man.

[00:51:46] Tim: you like, stuff happens in the book. I'm like, I'm like, how do you do that? How can you physically do that?

[00:51:51] Adam: What if you made it like a choose your own adventure?

[00:51:53] Tim: Yeah.

[00:51:54] Carol: Sorry, this got really complicated,

[00:51:56] Ben: no, no, no. It's a, it's a fascinating idea. I mean, you know, to some degree, a lot of sites have a light mode and dark mode, which is basically a feature flag.

[00:52:07] Carol: Yeah,

[00:52:07] Ben: know, we could, I could, I could think I could doodle on that. I don't think you could do anything if you're in a PDF per se, but maybe there's some more opportunity in, in an, in an EPUB format where you're actually dealing with HTML. Hmm. Hmm.

[00:52:25] Tim: I'll be, I'll be your auto audible book narrator for you if you want.

[00:52:28] Ben: Yo, that was actually one of the things I was thinking about because I know that you guys are, I know Adam, I think at least had an audio book version of Clean Code or someone

[00:52:39] Ben: did.

[00:52:40] Ben: and, and Clean Code had code in it. So I'm, I'd be curious to know more about how that gets translated into audio format.

[00:52:47] Ben: Is it, is it literally someone reading the code?

[00:52:50] Carol: No, you get a PDF with it. So basically when you download the book, it includes a PDF and then the only part of the PDF is like all the code examples. So they're like, oh, figure J, 21.

[00:53:03] Adam: Yeah, but, you know, honestly, I, I, not a single time did I refer to that PDF, and I

[00:53:07] Carol: Oh, I did.

[00:53:08] Adam: anything. Like, it, you know, it explains the concept, like, oh, no more than two levels of indentation in a function, or whatever, you know, his BS thing was. and, but, like, I can visualize that. I don't need a code sample to show me, like, don't have more than two.

[00:53:23] Adam: Levels of

[00:53:25] Ben: So anyway, all to say that, that having an audio version of the book did occur to me because, because there is a lot of prose, it's certainly not, you know, cover to cover cold samples. There, there is actually quite a lot of explanatory text as well. So I don't know. It was, it's just, I was letting my mind wander one day and I'm like, is that, is that crazy or is that feasible?

[00:53:49] Adam: indentation. Again, like that's something we touched on. It probably was like an after show discussion where we talked on like pricing and like how you can set up different pricing tiers and that how that affects overall sales and how it like drives certain people to do different things.

[00:54:02] Ben: Yeah, yeah, yeah. This, this would be a tier thing, obviously, for sure.

[00:54:05] Adam: sure.

[00:54:08] Ben: All

[00:54:08] Ben: right. I'll keep you all informed.

[00:54:12] Adam: Heck yeah.

[00:54:13] Patreon

[00:54:13] Adam: Alright, well then this is the part of the show where I let you know that this episode of Working Code was brought to you by Carroll's new in box Rogue exercise equipment, available on Facebook Marketplace if you live near Tucson

[00:54:24] Adam: 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, then you should consider supporting us on Patreon, our patrons. Cover our recording and editing costs, and we couldn't do this every week without them. Special thanks to our top patrons, Monte and Giancarlo.

[00:54:39] Adam: You guys rock.

[00:54:41] Thanks For Listening!

[00:54:41] Adam: We're gonna go record the after show. let's see. Here's a few notes of what, people have mentioned, that are gonna come up in the after show. I'm having surgery tomorrow morning, so I'll just briefly touch on that.

[00:54:51] Adam: Nothing too gory. we'll talk about it. somebody, I'm guessing this is Carol, has a dog groomer story.

[00:54:57] Tim: Uh, oh really? Okay. Surprise, surprise. And then, allergies in the desert. That's, that's definitely a Tim story. Not me.

[00:55:05] Carol: That's me,

[00:55:07] Adam: yep, yep, yep. All right. If you'd like to help us out, you can go to patreon.com/workingcodepod. All of our patrons get every episode early, as soon as it's done being edited by our wonderful editor, Matt, and they get, access to the after show where we talk about all kinds of fun stuff like that.

[00:55:22] Adam: that's going to do it for us this week. We'll catch you next week. And until then,

[00:55:25] Tim: Remember one feature flag that is always, always on is that your heart matters.

[00:55:30] Adam: well, then it shouldn't be a feature flag. It should be hard coded.

next episode: 151: Async Human Solutions

prev episode: 149: Margin For Error