- Kat Zień – Twitter, GitHub, Website
- L Körbes – Twitter, GitHub, Website
- Daniel Martí – Twitter, GitHub, LinkedIn, Website
- Roberto Clapis – Twitter, GitHub
- Carl Johnson – Twitter, GitHub, Website
- André Eriksson – Twitter, GitHub, Website
- Carolyn Van Slyck – Twitter, GitHub, Website
- Katie Hockman – Twitter, GitHub
- Jay Conrod – Twitter, GitHub, Website
- Teiva Harsanyi – Twitter, GitHub, Website
- sam boyer – Twitter, GitHub
- Carlisia Thompson – Twitter, GitHub, LinkedIn
- Ian Lopshire – Twitter, GitHub
- Mat Ryer – Twitter, GitHub, LinkedIn, Website
- Johnny Boursiquot – Twitter, GitHub, Website
- Mark Bates – Twitter, GitHub, Website
- Angelica Hill – Twitter, GitHub
- Kris Brandow – Twitter, GitHub
- Natalie Pistunovich – Twitter, GitHub
- Jerod Santo – Twitter, GitHub
- #161: Go Panic!
- #166: Indecent (language) Proposals: Part 1
- #168: Indecent (language) Proposals: Part 2
- #171: go:embed
- #173: Releasing with (and without) GoReleaser
- #180: Are frameworks getting an Encore?
- #184: All about Porter
- #187: Fuzzing in the standard library
- #190: How to make mistakes in Go
- #196: Building actually maintainable software
- #200: Gophers Say What?!
- #202: Maintaining ourselves
Click here to listen along while you enjoy the transcript. 🎧
Whaddup, Gophers? Jerod here, coming at you with a little bonus episode before we get back to your regularly scheduled Go Time. We’re calling this “The Funny Bits.” It’s a compilation of times we cracked up making the show for y’all. If you dig it, let me know. If you don’t, email Mat Ryer.
First up we have episode 161. This was our very first Go Panic game. Everyone teams up on Mat, and - well, here we go.
I was expecting to be able to make fun of Mat, but he wasn’t playing, so that didn’t work out…
It’s hard to make fun of me, mate.
No, it’s not.
That’s not true at all…
Go on, then. Let’s do a quick insult.
It’d be so fun if Mat was playing and we had a question about the book that Mat Ryer wrote, and you got it wrong… That’d be so funny. [laughter]
Mat, next time might I recommend renting some chest hair for under your shirt, if you’re gonna open it up that much…
Oh, it’s not open far, is it? Would you rather like that, like some Puritan?
Well, far enough to know that you need to rent chest hair next time…
[laughs] Where do you rent chest hair from?
I don’t know…
The wig shop?
…the Burt Reynolds Museum? [laughter]
Can you just use a wig? Surely it has to be dedicated. You can’t just do that…
Well, you know how some men just get the patch; you can get a patch of hair for the top and just glue it here.
Yeah. If I’m going to a wig shop, I’m gonna wear a wig.
Why don’t you have them do you top to bottom? I mean… [laughter]
Just go in there and say “I want the works. Top to bottom, I want hair.”
Yeah. I’d love that. And then they’d just set to work with the Pritt stick, sticking it all on.
Exactly. It’ll be like that scene in Wizard of Oz, where they’re buffin’ up the Tin Man, and they’re stuffin’ the Scarecrow with [unintelligible 00:02:23.05] and everything.
Yeah. I’d love that, mate. I’d love that. I’d be a sort of character… But not, I have a receding – but I like to say what I like in hair, I more than make up for in forehead. [laughter]
That is true.
Up next we have two clips from our Indecent Language Proposals mini-series. These are episodes 166 and 168, featuring a food gun and a centaur.
What’s the phrase you’re using?
As my unpopular opinion, you mean…
No, no. The foodgun, you were saying, right?
Yeah. What’s that about? Because I wanna explain that for anyone who’s never heard it before.
Oh… It’s basically like if you have a gun - you know, usually you’re trying to shoot other things with it, but instead it’s gonna hit you in the foot, and that’s bad.
Oh, footgun. I thought you were saying food–
What did you think we were saying? Foodgun?
I thought you were saying foodgun.
Like, I’m gonna launch a burger straight at your mouth, or something?
I couldn’t figure out if it shot food out, or if you used it for shooting food. [laughter]
Like, you’re gonna shoot up some food in the range today? [laughter]
Oh, man… Yeah. I mean, if you want a language proposal, I propose that our American cousins pronounce their T’s a little more, and then we wouldn’t get in this mess… [laughter] That’s a language proposal for me. I’m gonna actually open that. Can you open PRs for America? [laughter]
[00:04:02.03] I think we should address why Mat would prefer to replace me with a horse.
Oh, you were listening… [laughter] Not replace you with one, mate…
Oh… Augment? [laughter]
Yeah, like a centaur. More like a centaur, so you can still do your programming, but you’ve got a horse’s back…
I hope you’re not attached to your legs…
Someone is writing in the chat – actually, Bill is writing in the chat, “Daniel doesn’t have any unpopular opinions.” Wanna prove them wrong?
Dan, if you wanna share, I’ll splice it.
Yeah, he’ll splice it. Do it. Do it.
Or we’ll put it in after the outro. Either way, it’ll get in.
Hang on - if we’re splicing, can we have the centaur first?
No, not for you.
Can we have the centaur first? I’d love you as a centaur. [laughter] I don’t splice anything for you, Mat. I’ll slice things out, but I won’t splice things in. Go ahead, Daniel.
Here’s a good one from episode 171 on Go Embed. No animals were harmed in the making of this clip.
I think it was the bacon comment that did that.
Well, Mat’s a vegan, so he’s gonna be on board with that one.
Yeah, I don’t eat bacon. Don’t tell everyone.
Well, there’s the fake bacon. Do you like fake bacon or no?
I don’t know why we’re spending all this science energy trying to make fake meat… So no, I don’t – I mean, no. I don’t get it.
The times when I’ve tried vegan diets, that has mostly been my experience, is that all the fake meat is not worth it… But I do think that some of the fake bacon is okay.
To be fair, there are now burgers that are very good. Impossible Burgers, and there’s another one (I forget), that are, just as I remember eating burgers. And they’re actually terrible for you as well, so… Bonus. [laughter] They didn’t even bother to make them healthy.
All of the health benefits of a burger with none of the taste.
Exactly. It’s actually worse for you. It’s less healthy than– it’s better for the animal, you could say…
Well, but they make up for it by setting an oil refinery on fire every time…
Exactly, yeah. That’s what it tastes like, actually.
It’s like a Carbon offset, but in reverse. [laughter]
Mat has to drive 200 miles just to get one, so…
Yeah. It’s Carbon onset.
Oh, it’s a Carbon onset, yeah.
Episode 173 featured Carlos Becker and GoReleaser. It also featured this touching moment between Johnny Boursiquot and Mat Ryer.
My very critical to you package is 50% covered with tests, but I’m very confident in that 50%. Would you put that in your mission-critical project?
Yeah, I would, because I trust you, Johnny. [laughter] I would die for you, Johnny. I will release anything you tell me to.
[Bryan Adams, “Everything I do” mash-up 00:06:53.25]
Moving on without comment, I am acting like that did not just happen. Here’s a question for you… Are frameworks getting an encore? That’s actually the title of episode 180 with André Eriksson, which I was fortunate enough to join in a pinch, and needless to say, we had a lot of fun on that one.
Okay… Is this a big but or a little but?
Well, I’ll let you know. You can take a look at my but and let me know how big it is.
[laughs] I’ll judge. Okay, go ahead.
Okay, you can judge me. [laughs] So that whole notion of gophers don’t like frameworks, we don’t like magical things - yes, there is a lot of truth to that. But - that’s where my but [unintelligible 00:25:40.05]
Let’s hear it, let’s hear it. You’re stalling… [laughter]
How do you give feedback on open source projects? Do you open an issue and say “I don’t like this”? Is this how you do this? [laughter]
There are plenty of examples of that you can look at… [laughter]
“It doesn’t work on my machine.”
Yeah, that usually goes over well… [laughter]
“Let me tell you the ten reasons why this is terrible. One.” [laughter]
Well, at least this is detailed, you know?
Another thing you can do is just open a pull request that deletes the whole project. [laughter]
That’s a serious thing, yeah.
That’s not unprecedented. It’s happened. Maybe not on Encore, but it definitely happened.
But I think giving folks a choice maybe of a hybrid model where they give the talk and maybe they do live Q&A, or do a pre-recorded talk and then a live Q&A afterwards would be also a nice choice to have.
Or live talk and pre-recorded Q&A… [laughter]
We’ve found it, the perfect formula.
There you go. The perfect formula.
Episode 184 with Carolyn Van Slyck was all about Porter, but we took a moment during the after-show to swoon on Johnny as well.
Now I have on my to-do list to check this out and also see if there are some ways I could help make the project better in some way. I’m looking forward to diving in.
Carolyn Van Slyck: Oh my goodness, I’d probably swoon if I saw a PR from you… Just saying. [laughs]
I would. Can you send me a link? [laughter]
I would also swoon. Three swoons for the price of one, Johnny.
That’s a lot of swooning.
I’ll faint. I’ll faint like a proper olden days person.
Oh, swooning over some text? Okay… [laughter]
Sometimes the funniest bits are merely a result of the impedence mismatch between American English and British English.
But now the beta is here, right? It’s exciting.
And for those who don’t speak, you know, Mat - by [British accent] beta, he means the beta.
Oh, thank you very much.
It’s just like “Beater.” Who’s the beater? Why are we beating people up? [laughs] [unintelligible 00:10:42.26] beating.
Yeah, okay. I appreciate it. Thanks for the translation. If you want to correct my English into incorrect English more…
Yeah, please call me in.
Yeah. It’ll be great.
Yeah. Apparently though, Shakespeare would have sounded more American if you heard him now… I don’t know if you’ve heard that before. It’s like – it’s not as simple as that. He’d be like [unintelligible 00:11:06.27] that kind of thing.
Is that your American accent? I really like that, it’s good.
Yeah, it’s Brooklyn. Shakespeare from Brooklyn. “Yo, Romeo!”
That would have been great…
“Yo, Romeo, where are you?!“He didn’t know where Romeo was. Fair enough.
Mark Bates was back for episode 190. It’s called “How to make mistakes in Go.” His presence alongside Johnny and Mat was so disruptively funny that we maybe should have named it “How to make mistakes in Go Time.”
I never thought I’d say this, Mark, but you should be a little bit louder. Move a little closer to the mic, please…
I should be a little louder… I don’t know why you don’t think I’m loud.
Well, that’s just what I’m hearing…
Well, maybe turn yourself up, did you ever think of that?
[00:11:59.14] I don’t think that solves the problem, I think that makes it worse, but that’s fine…
Here we go, here we go…
I’ve got a common mistake in Go - working with Mat Ryer. [laughter]
And that’s from the president–
I was gonna save that for the unpopular opinions, but I think it’s a popular one, so… [laughter] So far only David Hernandez seems to be able to stick around and hang in there…
Multiple times, too.
Don’t use his name in vein.
Multiple times! I don’t. I love David. He deserves all that he gets from putting up with you.
I love it. I’ve never had a banter happening and insults concurrently, for both Johnny and Mark at the same time. [laughter]
We try, we try…
Speaking of concurrency, here’s another one… Teiva, you talk about concurrency like – we feel like Go is a bit famous for concurrency, it’s got some great primitives that makes that so much easier to do than previous languages… Should you always strive to use that to make things concurrent, do you think?
That’s a nice transition… Thanks for that. [laughs]
I’ve been professional.
I don’t think I understand the question.
Is concurrency always faster?
That’s the question?
That’s the question.
No. Next question. [laughter]
This is not a quiz show, Bates…
Okay, fine… Continue on with your line of questioning. I mean, it was a yes or no question. Is it faster? No, it’s not always faster.
Is it a common mistake that people make, that people think concurrency is always faster, Teiva?
Did you just call–
I keep seeing the setup, and I’m like “Teiva, jump in! Jump in! Jump in!”
Why am I even on the show…?! [laughter]
What I was gonna say is I grew up – my first job I was writing Java, and we didn’t have generics. Then I went to Ruby and we didn’t have generics.
How old are you? No, carry on… [laughter]
I’m old. I’m old. My first job out of college I actually was doing ASP, so I kind of lied; I skipped a whole–
Wow. You go way back.
Bates’ ASP was classic. Full of banter in the comments…
It was. It was as classic ASP as it could get.
…funny variable names… You had a blast. Absolutely classic.
Good times. Good times.
Now I can’t even remember what I was talking about.
Oh, generics. Thank you.
Who’s got a meaty unpopular opinion?
I do. I’ll fire the first salvo.
That came out of nowhere. You look surprised.
Yeah, I was surprised.
Yeah, I don’t often have unpopular opinions.
Yeah, I know. Because you’re nice. That’s what we were saying earlier, Mark, privately, in the text.
That’s what we were saying earlier, yes. We were saying what a nice guy Johnny was.
[laughs] Yeah, yeah, yeah, yeah….
Don’t you think Mark Bates looks like he’s just got back from being shipwrecked?
Oh, mate. Fire!
[Captain Sparrow voice] “I’ve been stuck on that island for so long… Thinking about generics and stewing away…” I’m like [unintelligible 00:15:06.13] Somehow I gain weight being stranded on a dessert island. I’m not quite sure how that happens.
Oh, thank you. That’s your unpopular opinion, I assume.
Then I look good. Because there’s definitely an unpopular opinion in my house.
You definitely would make a good Guess Who character, from that game Guess Who. Like, way more interesting.
Can I opine now?
Yes, Johnny, I’m sorry.
Yeah, go for it. Please, help us.
Okay. [laughs] I have to break this up. Alright… Yeah. And for those who don’t know, this is actually what happens in real-life too, hanging out with these guys.
Apart from I began to piggyback off Bates by now…
That’s true. And there’s usually a lot more food involved.
And alcohol, yeah. Sadly. Anyways, so my –
Still waiting on you, Johnny…
I know, I’m trying to get it out and y’all keep making me laugh. [laughter]
Yeah, absolutely. Well, speaking of mistakes, Teiva’s book, “100 Mistakes” is –
Are you saying that his book is a mistake?!
Goodness! We treat our guests better than that.
Mat, you’re doing a terrible job… I think it’s a wonderful book, despite what you say…
Teiva, don’t believe what he says.
Yeah. Teiva, man, Mat’s just – he’s jealous.
Yeah. Great book, great work… Your stuff is not a mistake.
That was rude.
He’s jealous. His Blueprints book hasn’t sold well in years… [laughter]
Yeah, that’s why it hasn’t sold well in years, mate.
Well, you can find out for yourself by buying my book, and also getting a – Bates, let’s try this.
You can go to my torrent site and just download his book for free.
That’s how we treat friends. We just put their stuff–
I’ll put the link up on Twitter after this show… [laughter]
Good. Thank you for putting it there, so nobody will see it.
Did you know our most popular episode of 2021 on Go Time was episode 196, “Building actually maintainable software”? Here’s some of the funniest moments from that awesome conversation. And if you wanna know what our other top episodes were, we posted our top five of the year on Twitter. Follow along at @GoTimeFM.
I think there’s this myth that exists in our industry that people wouldn’t like working on [unintelligible 00:17:25.13] It’d be like this miserable thing, where like “Oh, well that’s the team of people that doesn’t get to do the fun stuff of building features and building new products and doing all of that.” But I think – and I have some friends that are like this; they’re just like, “No, just give them [unintelligible 00:17:39.17] Let them go and just clean up some certain parts of codebases…”
Scratch that itch…
Yeah, like the garbage man. Every city – like, imagine what our cities would be like if there were no garbage people. Not garbage people, but trash collectors. [laughter] That’s a better – I mean, it’d be good to have a city that has…
I didn’t hear it till you said it…
I mean, it would be a wonderful world if we didn’t have garbage people… [laughter]
Imagine a world where we didn’t have trash collectors. Our streets would be disgusting, our cities would be awful… But there’s no one there that’s saying – and there’s some people that are trash collectors, and they love their life. They are so happy with what their job is and how they live their life.
What would you add, if you have anything, to make Go more… Not just make Go itself more maintainable, but make the code that we write more maintainable?
Generics… Hell no. [laughter]
No, I want generics, but just for me. Everybody else can screw themselves. [laughter] Because then I know what mine do, and I don’t have to deal with any of your garbage… And then we’re fine. Right? I’m fine… That’s what’s important here.
Oh, I would add Rust. That’s what I would add… [laughter] I would really like to have compile-time –
There you go… I would really like to have compile-time guarantees about shared access to global immutable state. Forget this go test race garbage… Come on. Static or nothing, that’s my… [laughter] Is this a helpful answer? This isn’t a helpful answer. I’m sorry.
Well, we avoided dependency mentions. It’s okay.
We did, we did! [laughter] Scooted right by it. Well done.
I mean, my semver one really - that one gets unpopular when you start suggesting alternatives. It sounds fine when you’re just like “The world’s terrible! Don’t do that thing!” and everyone agrees. Then you try to suggest an alternative and everybody’s like “Go f*** yourself!” [laughter] So it depends on how far you’re walking out, I guess. [laugher]
[00:19:59.12] I think I’m gonna fall over… We haven’t had a bleep on this show in a while, so this is gonna be a good one.
Sorry, sorry. I should have enquired at the beginning.
I mean, Peter got his one swear, so I feel like you also can get a couple swears in. It’s okay.
We’re a mostly family-friendly show.
Gotcha. Noted. I’ll remember for next time.
Our 200th episode special was one of my favorites of the year. I’ve never seen Mat Ryer sweat like he did hosting all these Go Time regulars.
We’ve also got Johnny Boursiquot here though… Hello, Johnny Boursiquot!
Hello! Yes, mate, I’m here, knocking about…
You certainly are. I appreciate the accent, because I can understand you, at last… [laughter]
Really? It just breaks my heart…
That was pretty bad, Johnny…
I know, I know…
I’ve heard you do better, Johnny…
Oh no, don’t troll Johnny. He’s one of the nicest –
Yeah, I came to have fun.
Johnny’s the nicest one on here. We can’t have a go at him. [laughter] And last but not least – what?! It is least… It’s Mark Bates. Hello, Mr. Bates. Welcome back.
I’mma do my [unintelligible 00:21:11.24] which I can do really, really well, but every other word is a swear, so I don’t think that would be appropriate…
Angelica, what would you say is the best HTML tag? So your divs, your spans, your p’s… Which one would you go with if you had to pick one, which you definitely do?
Yeah, that’s a good answer, I like that… Although it’s wrong. The answer is “a”, because without that, it’s not–
There’s no wrong answers, Mat.
There are no wrong answers. [laughter]
How dare you discriminate against my answer?
No, you’re absolutely right.
You get all whiny about people not answering your questions, and I answer it…
And then it’s wrong. [laughter]
You’re not really encouraging people, are you?
I love when people call Mat out. This is great.
Yeah. I’ve got different feelings in my tummy.
Yay, Angelica! I wanna be on her team.
Angelica, you’re my best friend.
Oh my gosh, I love this… [laughter]
Yeah. If I go red, it’s just lighting.
It’s your coat.
The jacket, yes. It’s a reflection.
Yeah, it’s just a reflection of this. It’s not anger.
You came well prepared, Mat. You know your crowd.
We’re way over time, but wasn’t it worth it? Thank you so much for joining us on our special 200th episode. Two hundreDTH… Can anyone say that?
Yes, we can.
I think you leave out the d.
Nobody has a problem with that, mate.
It’s just you.
You’re not saying the d.
It’s just you, Mat…
Two hundreDTH. You’ve gotta say that d.
Nope. Still wrong, Mat.
Even I can.
There’s no d there, what is wrong with you?
Is it not?
You could say it’s ten score, if you really wanted to… [laughter] It’s an alternate way of getting you the same way, the same math…
I can say that. I wish I’d thought of that.
He’s been in graduate school for too long…
I’m trying to bring score back. You know, two score and five… I don’t mind admitting that.
Two score in four episodes ago… [laughter]
Fortnightly… Yeah, you’ll listen to this episode in a fortnightly time period… [laughter]
Isn’t it a fun language…?
Oh, isn’t it? Yeah, I’ve had lots of fun…
Last but not least, we have episode 202, where Kris, Natalie and Ian Lopshire discussed maintaining ourselves, but also IKEA and Thanos… Wild.
Yeah, that lamp didn’t fit with the decor because it’s like a bad lamp. It’s because you didn’t buy a lamp that fit with the rest of the stuff. You’ve gotta buy things that fit together.
Man, my statements are not ending in questions… [laughs]
[00:23:59.01] But they’re so wholesome and so true that you just find yourself nodding, like “Yes, absolutely.”
Yeah, I feel like this is like “Kris just talks to the world, with Ian and Natalie bringing up really good points.”
[laughs] Well, if anybody is listening to this and is gonna build the IKEA equivalent of software - hi. We’re happy to inspire you.
Please make it reverse-compatible. I have a very old kitchen in this apartment, and it doesn’t fit the new door, so… Please make it reverse-compatible more.
So my first question is “Do either of you find meetings to be productive?”
I would say maybe one in ten. One in ten meetings is productive.
[laughs] Can you predict, Ian, if a meeting is gonna be productive or not?
Oh, definitely. Is there more than three people in it? Then no, it’s not productive. [laughter] It’s a good rule, I think.
You know, we missed this episode – I just realized, we missed the Thanos joke. All things perfectly balanced, as they should be.
Delete half the code.
[laughs] That is the solution to most of the problems. Just delete half of it.
I think I saw somewhere an open source project that is called Thanos that does exactly that, it randomly deletes 50% of your code. [laughter]
I mean, you could probably on a lot of codebases delete half of the tests and that would make up for half of the code in it. Or delete the tests and it’d make up for most of the code in the codebase.
I would say most of our codebases are more test code than real code.
Something that deletes randomly 50% of your backlog.
Oh, that sounds like fun.
I like that one.
Have you guys seen GitHub’s thing where it automatically writes code for you? You can stub out a function and –
I bet there could be a Thanos snap version of that, where it looks at everything and then simplifies it down to like half(ish).
It’s just like, “Yeah, we’re just gonna get rid of most of this. Goodbye… Wipe it away.. Just delete all of your tests…” It’s like, “Yeah… Do you really need them?”
Or random documentation lines.
Or better yet, a tool that just goes around and randomly changes small things within your codebase, but keeps them compilable… Just like, really big annoyances…
The real fuzzing…
It reminds me - I saw this TikTok once, and it was like a guy, and he was just like, “If you really wanna get back at someone, do these things”, and one of them was “Go to some you don’t like’s house, as to like a party, and take all of their remotes except one”, because then they’ll be like “Where are all the remotes? I have this one, so clearly no one took them…” Just small things that inconvenience people’s lives, [unintelligible 00:26:43.15]
Put dead batteries in all the remotes.
Or that. It’s like, “Why are none of my remotes working?” Just like little inconveniences in people’s lives… Don’t do that. That’s a way to unbalance other people’s lives, and this episode was about balancing people’s lives.
Although I guess you could balance your life by unbalancing someone else’s life… No, that’s not good. Don’t do that. Don’t do that.
Balance it to the positive, yes.
Positive balance. But if you want to write a bot that people can write on their own codebases, that puts small annoyances into their code…
That’s just like community contribution, right? Does that count for Hacktoberfest?
Yeah… And that could be a tool, like a pull request… Like, make sure you’re reviewing your codebase; there’s like slight differences… Like, actual bit rot, right? That could be a good name for it, BitRot. Did you run the BitRot bot?
Man, this episode is wild…
Our transcripts are open source on GitHub. Improvements are welcome. 💚