Do Androids Dream of Electric Gophers? New Go releases & interview with Elliott Minns

Shay Nehmad:

Hey, everyone. If you're coming from Dreams of Code to hear our interview, 1, there's a video version up on YouTube. Well, there will be soon once I finish editing. And 2, welcome. This is a show about Go news.

Shay Nehmad:

We usually have 2 parts. The first part is news, which is what we're coming up to right now, and the second part is an interview where we're gonna talk to this week specifically Elliott about just Go and what he does and just talking. Thanks for listening and we're welcoming you and we hope you enjoy the show. This show is supported by you. Wait around till the ad break to hear more.

Jonathan Hall:

This is Cup of Go for Friday, September 6, 2024. Keep up to date with the important happenings in the Go community in about 15 minutes per week. I'm Jonathan Hall.

Shay Nehmad:

And I'm Shayne Ahmad. We're back, baby.

Jonathan Hall:

Long time no see.

Shay Nehmad:

We're here. How was your, week off?

Jonathan Hall:

Busy as ever. How was yours?

Shay Nehmad:

I know you were super busy. How did you listen to the show? To your show? To the episode with, Jamie and myself.

Jonathan Hall:

Can I be honest? I haven't done it yet.

Shay Nehmad:

Well, you should. It's a good episode.

Jonathan Hall:

So I have an excuse. I I recently lost the charger for my earphones, my my Bluetooth earbuds, and I bought a replacement, but it doesn't work. It's an off brand piece of crap. So I don't have any way to listen right now, on the go. So I've been, thinking to myself as I as I walk places these days.

Shay Nehmad:

That's a dangerous, that's a dangerous idea. You wanna keep the content flowing. I listened to, Mariah and yours episode. I kept delaying it through the week. I ended up doing it on a on a Thursday, while riding my bike, and it was it was pretty good.

Shay Nehmad:

But then it auto played I don't know what Spotify thinks about our podcast. Maybe something is wrong with our tags, but it auto moved from our from your, like, fun 30 ish minute episode about or I don't know. Maybe it was an hour about Go and software development, like lighthearted conversation into a 4 and a half hour hardcore history with, Dan Carlin, whatever his name is, episode about the history of, Alexander the Great. Wow. I know.

Shay Nehmad:

Maybe your episode is historic in a way.

Jonathan Hall:

Maybe. Maybe. It's good

Shay Nehmad:

to have you back, and it's good to be back. Thanks, you too. Let's do some news like, like, old times. Let's do it. If you are a Patreon member, we love you, and thanks a lot.

Shay Nehmad:

If you did it through iOS, Patreon introduced a new thing where Apple takes a 30% cut. So, that's going to be rolled over to you, like the Patreon subscriber. We think that sucks, And if you have subscribed through the Patreon app on iOS, then just unsubscribe and move to like, join as a member via just your web browser or some way where Apple doesn't take that 30% cut. We get exactly the same value. You get exactly the same value, and we just cut out

Jonathan Hall:

a middleman. Just Tim Cook gets fewer yachts.

Shay Nehmad:

Yeah. Exactly. We I just don't have places in my, in my dock anymore for all the yachts. Right?

Jonathan Hall:

Mhmm. Exactly.

Shay Nehmad:

So so, Tim Cook wanted to take some. Anyways, if you have subscribed to iOS, they're gonna increase the prices. We don't want you to suffer that, so take it, from your web browser. And if you have subscribed in general, we really appreciate it. It helps keep the show afloat just like all the Yaks we're

Jonathan Hall:

buying. Let's do some Go news. What is new in the Go world?

Shay Nehmad:

1231 has been released. I'm gonna now that 123 is not new anymore, it just a run of the mill version that gets run of the mill security fixes. This one is is kind of interesting. There are 3 security fixes which are same variant of vulnerability. Stack exhaustion, if you pass in really deeply nested structs, you can cause, denial of service.

Shay Nehmad:

2 places are not that interesting because it's source code. Like if you pass go build flags which are really big or structs which are really nested, then it's gonna crash with for like, for me, it makes sense. I'm wondering who wrote the code that actually discovered that, like, how how, bad your build, directives need to be. The the place where, we figure it does have more, like, the CVE score should be a bit higher is GOB as well, which I wasn't aware of. What is the Gob encoding slash Gob?

Shay Nehmad:

What is this format?

Jonathan Hall:

Yeah. It's a basically a Go custom binary encoding format. So if you're talking to another Go program or maybe you're storing your data on disk to be read back by the same program, you can use encoding gob instead of, say, JSON or YAML or whatever other, more interoperable format. So I don't think a lot of people use it, but some people certainly would, and I've used it occasionally.

Shay Nehmad:

Is it like Pickle? Does it store like the object? Yeah. Yeah. So just like Pickle, you shouldn't use it for external APIs in general.

Shay Nehmad:

But in this case, they found that if you pass a deeply nested gob object, then it can cause stack exhaustion as well. Meaning, if you have a server that has an API that gets, a GOB format as an input, you are exposing yourself to stack exhaustion until this version. Now if you update, you're not anymore, but I would still recommend, double taking a double take on that API and asking yourself, do you really want the gob encoding format in that API? It's, artistic and esoteric, at the very least.

Jonathan Hall:

Let's talk about proposals. We have how many do we have this week? I just just want to talk about, but, it's a cool one. This one's really cool for two reasons. First, it's the the only change to the encoding JSON package I've seen in a very long time.

Jonathan Hall:

They're they're adding a new tag called omit 0. We're all familiar with omit empty, which will skip the encoding of, of something that is empty. Right? Like an empty pointer. Omit 0 goes a step farther and lets you emit 0 values, which is great for certain things where you maybe otherwise wouldn't want to use a pointer, but maybe you were using a pointer to accommodate the old behavior.

Jonathan Hall:

So I think this is cool. What might might be even cooler is I think that this is a sign that the new JSON encoder v 2 library is getting closer to acceptance. I mean, it's not it's not an official proposal yet, but I think that d s net has been involved in in this proposal. He's heavily involved, of course, in writing the, the new, encoder. I think that the fact that we're starting to make some changes to the old one is a sign that we know where the new one is coming to fruition, and we're starting to sort of backboard some of those proposals.

Shay Nehmad:

It's very cumbersome to use pointers to indicate presence. And another way to, like this is basically saying, like, optional. Right? Like, this doesn't have to be in the output and not forcing you to use pointers just to indicate presence. I think it's a good idea because pointers don't indicate presence.

Shay Nehmad:

It's at least for me. They they're just like a thing I need to use sometimes and get in the way and sort of clutter my code. It's very rarely that I care about passing a thing as a point or as a thing. And modifying my struct just to make JSON encoding do a thing, very uncomfortable. This just makes it more comfortable.

Shay Nehmad:

I like it. I'm wondering if there are any, like, bugs or edge cases of people adding, like, omit 0 by default and not thinking about how it would break their API responses or things like that. If you have, like, a scheme on open API, now all the open API generators need to worry about omit 0 as well and that's not defined in open API. Like, I don't know.

Jonathan Hall:

Yeah. I don't know. Well, you'll you'll still need to care about pointers or something to use pointers if you care about the distinction between an actual zero value and an omitted value. So for example, if you have an integer that could be legitimately set to 0 and you wanted you want to distinguish between a literal 0 and lack of presence, then you still have to fall back to that pointer hack, at least for now. But this is a big step in the right direction, I think.

Shay Nehmad:

Like, what you're saying is if I have number of visits and I number of visits can be 0 but also can be not there. Right? Mhmm. Then I still need a pointer because I can't use them at 0 because 0 is a valid value in this case. Right.

Jonathan Hall:

It's a really common problem when you're trying to do partial updates. So you wanna send you you wanted to update only the fields that you provide. So let's say you're updating user record, you have name and password and address and phone number, whatever, and you only wanna change the name, so you wanna send just the name and leave the other fields blank, emit 0 won't help solve that problem.

Shay Nehmad:

Yeah. I see what you mean. All in all, with all the caveats and all the weirdness, I think it is a good proposal, and I'm happy it got accepted. It's not breaking though. Like, why do I need to wait to v 2?

Shay Nehmad:

This is just a new tag.

Jonathan Hall:

No. I don't I don't think I I sorry if I was if I, made that impression. It's not that you have to wait for v 2. I just think that this is an example of something that v 2 has helped to inform. Oh, I see.

Jonathan Hall:

And I think that I take that as a sign that v 2 is getting closer to an official proposal.

Shay Nehmad:

Very cool. Very cool. So a new proposal, and it's already been accepted. So if you wanna visit the cl and sort of add tests and add your thoughts, to make this a better implementation, now's a good time. Let's talk a little bit about some things that happened in the in the community and the blog posts and the new releases and all that.

Shay Nehmad:

We just did the one proposal this week.

Jonathan Hall:

Troy, what's your favorite scripting language? Oh. Oh. Is it Elvish yet?

Shay Nehmad:

It's not Elvish yet. My favorite scripting language, can I be super controversial?

Jonathan Hall:

Okay.

Shay Nehmad:

Is it Python? When you say favorite, if you mean most immediately productive, it's shell. Right? Because it's all over the place, and I know it by heart already and has a lot of tools, especially if it's on a machine where you have brew and you can, like, install jq, and now you can work with JSON, etcetera, etcetera. The most robust scripting language, is Go.

Shay Nehmad:

But my favorite scripting language is Windows PowerShell. What? I just feel so smart, like, writing up some PowerShell scripts. I do some Windows work, when I do reserve duty in the army, and I just feel so clever. There are so many clever little commandants, and so it's so uncomfortable, and it's so hard to test things, and it looks so bad.

Shay Nehmad:

It just feels more rewarding to be able to write a script in PowerShell.

Jonathan Hall:

I think you might be a secret kernel developer.

Shay Nehmad:

I don't know. I haven't tried it yet. I'm only 29, so it's before my time. Okay. Well, What's yours?

Jonathan Hall:

Well, okay. Cool. PowerShell.

Shay Nehmad:

What's yours? What's your name?

Jonathan Hall:

I'm not a shell bash, probably. Mhmm. It has a lot of things I hate about it, but it's still the most productive. I still haven't tried Elvish. By the way, for those who don't know what we're talking about, the link in the show notes to a previous episode where we interviewed the creator of Elvish, which is a shell written in Go.

Jonathan Hall:

So, check that out in the show notes if you're interested. This is Capa Go for March 22nd 2024. So, John, did you check

Shay Nehmad:

out my new tattoo?

Jonathan Hall:

I love it. Yeah.

Shay Nehmad:

Do you know where it's from?

Jonathan Hall:

I don't. What does it look like? It kinda looks like something from Lord of the Rings, maybe.

Shay Nehmad:

So I wish, there was someone here who spoke Elvis who could help you with it. Oh, hi, Chi.

Jonathan Hall:

Hi. The reason I brought it up is there's a new release of a repo called script. Script is a go library for doing the kinds of tasks that shell scripts are good at reading files, executing sub processes, counting lines, etcetera, etcetera. This is, from John Arondell, who we've had on the show before also.

Shay Nehmad:

This is Cup of Go for June 23, 2023.

Jonathan Hall:

Hey, Sean. I'm trying to write the the show notes for this episode, but I can't find the password. Do you have the password for the website?

Shay Nehmad:

Try a. If only someone here on the call was an expert in fuzzing. Oh, hi, John.

Jonathan Hall:

Hello. I I'm not an expert in fuzzing, but maybe I can help you find 1. And version 0.23.0 was just released. So this version adds a few new features. It adds with env, it adds encoding and decoding at base 64, and it adds a wait, or or it changes wait to return an error.

Shay Nehmad:

So super, like, practical things, I think. Yeah. Definitely. For example, with env, you know, if you wanna do a few gh commands, I've done a lot of work with GitHub, recently at work in scripting. Not to my liking.

Shay Nehmad:

It's just that, apparently, GitHub is an alpha product, and they just sold it like an enterprise solution you can rely on. But anyways, rant. Insert rant here. I don't wanna whatever. But I had to script a lot with, GitHub recently.

Shay Nehmad:

And for testing on different developers' machines, you can take their token, put it with nv, and then you can work, like, from a different user just from their machine, which is very common. Like, you export instead of exporting an environment variable just for that specific bash line, you you set it and then you unset it afterwards. Like, once the command exits it, it unsets. So a super useful thing I would do in, bash all the time, now we can do in Go. Awesome.

Shay Nehmad:

Yeah. So if you're if you're writing scripts and you're tired of PowerShell, maybe check out, John's, John Arundel's, script repo. I was really excited to see it. I've never used it before, but but I do tend to write some Go scripts at work. I I I have to give it a shot.

Shay Nehmad:

I have a

Jonathan Hall:

project in mind where I'm it might supply some things. I'm gonna give it a shot too. Cool. This week, there's also a new blog post from the Go team. There's actually 2.

Jonathan Hall:

We're only talking about one today. The next one, we'll save for next week. Telemetry and Go 1.23 and beyond. We've talked about this on the show many times, so we're not gonna go into a lot of details. The main thing I wanna call out from this blog post, which, of course, you are going to read, like in the show notes, the main thing I wanna pull out or shout out is a chart they have that shows the number of or the percentage of Versus Code users who are opting in.

Jonathan Hall:

They're up to about 1800 weekly participants now. And it's just this cool little chart where it's it's like at 0, and then you could see some people who are, I guess, using pre release versions of the Versus Code plug in or something for a couple weeks. And then it jumps, and then it lags for and then it jumps again when the official release happened, I guess. It's cool chart. Tldr go 123 now lets you opt into telemetry.

Jonathan Hall:

You should do that unless you're behind a corporate firewall or something or your policies prevent you from doing that, but it really helps the Go team out to know what features to prioritize.

Shay Nehmad:

Definitely turn it on. Right? If you're if you haven't turned on the telemetry thing already. You know, beneath the chart, it says promoting helps reach more users. I'm super happy to use our platform to promote the Go team telemetry.

Shay Nehmad:

We've we've gone into so much detail about it, and I've read all the CLs. I'm a 100% comfortable. It's only a net good. Like, it's only a net positive, and I can't wait for them to introduce it to more tools. I've engaged in discussions about, like, in the proposals, like, GitHub thingy, about adding it to Delve as well, which is not a Go tool.

Shay Nehmad:

Right? It's not an official Go team tool. Mhmm. And just a very positive project all in all. I think it helps the language become less of a project and more of a a product, if that makes sense.

Jonathan Hall:

Like, it will really help

Shay Nehmad:

them focus on the right things Yeah. I think. Exactly. So go turn it on if you haven't already. I definitely have.

Shay Nehmad:

Last thing we wanna mention is, sort of a different thing for us. It's a blog post about Go, but it's in Hebrew. So it's by Ran Barzyk. If you are, Israeli or speak Hebrew, you may have heard or even if not, you may have heard the name. He's been in tech, forever, and he's doing, like, tech journalism, for a few newspapers in Israel.

Shay Nehmad:

He has a site called internetisrael.com.com and not dotc0.il. That's interesting. Anyway, interesting, Internet Israel has a blog post in Hebrew about programming, and he has some books about it. This is a preview, to next week's, GopherCon, Israel, GopherCon, which is this Monday, and I have a ticket. Really excited about running Go on Raspberry Pis.

Shay Nehmad:

Do do you do, like, IoT stuff ever?

Jonathan Hall:

I installed Linux on a Raspberry Pi once at work many years ago for a a dashboard, a display, a graphical dashboard. That's the only time I've used a Raspberry Pi.

Shay Nehmad:

I I always look at this stuff, and whenever I see a blockbuster, I was like, yes. I'll do it. I I'm pretty sure I'll like, I won't do it now because we're in the middle of a show, but I have on my shelf behind me here. I got a Raspberry Pi 0 at 2017 from Microsoft at, like, a at, like, a conference. And it's been sitting there, like, waiting to be, side projected forever and ever.

Shay Nehmad:

But I've I'm I never got to it. I really want to. And now if I want to, Ran here shows how to, like, get it all, working. How to start working with the Raspberry Pi, how to connect with SSH, how to install Go. By the way, his blog post is 1.23.0.

Shay Nehmad:

What commands you need to run, and what exports you need to add to your profile, and how do you check it, and how it work, how to do hello world and etcetera etcetera etcetera and how to connect to, and it starts getting, specific to Raspberry Pi when he shows how to connect to GPIO. And it's a really good library, at least looks like it from the blog post. And, you know, it ends up with, you can see the LED blink success, which is pretty cool. If you really want to get started with, Go and IoT, you have a Raspberry Pi, and you're, like, a maker person, and you speak Hebrew, this is literally the most perfect, blog post. Super short, straight to the point, lots of code, and lots of, like, screenshots as well.

Shay Nehmad:

This is gonna be a preview for the talk next week as well, so I'm I'm excited. I'm happy I I read it, and I'll let you know next week, once I come back from GopherCon, if the talk was actually good. Awesome. So that's all the news, we have for you this week. Our backlog to the backlog, the lightning round, has a few more items to discuss.

Shay Nehmad:

But before we do that, we just wanted to let you know that, once we're done with that, we have a very interesting interview today with Dreams of Code. Elliot from Dreams of Code, the YouTube channel, with all the beautiful cinematic shots and the ergonomic keyboards and all the cool Go code. So definitely definitely stick around for that. We do wanna mention a few small things we didn't have time for, so it's time for the lightning round. Lightning.

Shay Nehmad:

Lightning round. First up on lightning round, do you remember river we talked about a few times on the show? If not, it's, reliable background jobs, in Go that sort of relies on Postgres as a back end. So if you just wanna it might be akin to Celery if you're coming from the Python world. You define jobs and works and, you know, you can insert the jobs.

Shay Nehmad:

It has a lot of features you need. Cron jobs, periodic jobs, queues, error handling, you can cancel jobs, you can subscribe, you can snooze, blah blah blah. They released a few new things recently, including a web UI which is beautiful, like just straight up looks really good and fully functional driver for, database SQL. So if you wanna combine river with your existing, DB and ORM, for example, you use BUN up trace or GORM, like gorm, you can just do that now because they have a fully functional driver that accepts the standard library database SQL. Another win for things being in the standard library and just following the idiom of using the standard library.

Shay Nehmad:

So a cool release if you're a Reaver user, and if you're not, maybe it's enough to push you

Jonathan Hall:

over the edge. Speaking of databases, big news on Reddit yesterday. There's a new database written purely on Go called area, SQL. One letter off from Maria, I guess. It looks like it's just a a hobby project right now.

Jonathan Hall:

I don't know if anybody's using it in production. It's an alpha release right now, but it's getting a lot of attention. It looks pretty cool. Nice complex, system. If you're ever wanting to build your own database in Go, you can look at this for some inspiration.

Jonathan Hall:

Area SQL link to Reddit and to the project in the show notes.

Shay Nehmad:

A lot of, like, people encouraging it on Reddit, which is maybe even more news than the DV itself. Finally,

Jonathan Hall:

Well, there's nice people on Reddit too.

Shay Nehmad:

The yeah. More at 11. Finally, open top view. If you remember, HashiCorp had a thing called Terraform and then they closed the license it. We actually talk about, all these open source licensing wars with Elliott later on in the interview but in HashiCorp's case, they closed source it and then, a few people including Ohad from n 0 which we had on the show forked it and they called it OpenTofu.

Shay Nehmad:

Open ToFu has been doing a lot, has been getting a lot of features including an API and a web interface. So, you know, very interesting changes and, you know, you can install it and you can take a look at the registry. It just I think having a UI for the, registry takes it to the next level because if you're using OpenTofu, you don't have to consult the documentation sources anymore. You can just use the UI, which is interesting. So Open ToFu gets a user interface and an API.

Shay Nehmad:

If you wanna do some, work with their API, they have a spec as well, which is interesting. We don't do, like, DevOps conferences updates, but the maintainers plan to discuss this at open tofu day which is in the CNCF KubeCon, in Salt Lake City, November 12th. So if you're gonna be there, talk to them. Very very cool. Thanks a lot for listening.

Jonathan Hall:

That wraps up the news. Stick around for our interview with Elliott. Thanks for listening. If you're new here, our interview with Elliot starts in just a moment. That's probably what you're here for if you're new.

Jonathan Hall:

Stick around just a couple more minutes. A big shout out to last week and the week before our cohost so that Shy and I could each take a break. Thanks to Mariah and Jamie. You can always reach out to us if you'd like to. Cupago.dev is our website.

Jonathan Hall:

We also have a fairly active, community on, the Go for Slack in hashtag cup dash o dash go. Join us there. Share your news items or just chat about go and and upcoming things in the community. And as always, share this with a friend, with a colleague, with a with a fellow student, or leave a review or rating on iTunes or Spotify or wherever you happen to be listening right now. We appreciate it.

Shay Nehmad:

It's not a Itunes anymore. It's Apple Podcasts. I should, change the copy. Anyways, thanks a lot. Yeah.

Shay Nehmad:

If you if you rate it whatever, even if you write it on a bridge somewhere, we're happy to, to have you here and thanks a lot. The best way to support the show is directly financially via, Patreon, where we've gotten, more support, recently. We wanna shout out our new, patrons who joined last week. So Michael Hagerty and Code Stank.

Jonathan Hall:

Code? Thanks a lot. Is that Code?

Shay Nehmad:

I I didn't check the name or the other. Code Stank. Thanks a lot Code Stank. Oh, there we go. Or codistank.

Shay Nehmad:

I don't know. Thanks a lot for becoming members, of the Capagoe oh, that's funny. It says became a member of Capagofer. That's weird. Thanks for becoming Capagofurs.

Shay Nehmad:

We really appreciate it. This show is a hobby. We do it for fun to learn. If you, want to support us, that's the best way just because it's sort of a expensive hobby. It takes up a lot of time and we pay for editing, etcetera, etcetera.

Shay Nehmad:

If you want to, support us for anything. In other ways, you can also buy, merch. Recently, we had an issue with the cups. We really hope that it's all sorted out now. We have a new provider for the mugs, the beautiful, Brewster, mugs.

Shay Nehmad:

I double checked it. It should be fine. So if you're having any issues, ordering, just reach out. But you can find the new, mugs, which should be totally similar, but more color options, on the store as well. Alright.

Jonathan Hall:

Yeah. Let's talk to Elliot.

Shay Nehmad:

That's it. Let's get to the interview. I wanna talk to Elliot. Jonathan? Yeah?

Shay Nehmad:

Is that you? It is. Am I dreaming? You might be. I might be dreaming of code.

Shay Nehmad:

If anybody could help me decipher it, maybe. Oh, hi, Elliott.

Elliot Minns:

Hey.

Shay Nehmad:

We're we're here. We're we're video. This is new for us. Very exciting.

Jonathan Hall:

Yeah.

Shay Nehmad:

And it's all because of Elliot.

Elliot Minns:

Everyone looks great.

Shay Nehmad:

Thank you. Elliot, how about you tell our listeners, who you are if they don't know already?

Elliot Minns:

Sure. My name is Elliot. I run the Dreams of Code YouTube channel on YouTube, which creates video content about software development. I actually run 2 channels. I also run another one, which is a little bit more focused on Linux, self hosting, and open source, but Dreams of Code is my biggest one.

Shay Nehmad:

And for, good reason. If, listeners of Capoca haven't, I don't know, subscribed yet or watched, Elliott's stuff yet, the reason we're talking is I just watch your stuff. And I was like, hey, you released a Go video about doing a little spinner on the terminal. And I was, like, I do a Go thing, maybe we can talk. But if you're into super fancy keyboards, sort of relaxing, British guy, ASMR sounding kind of thing, and really cool projects and things like that.

Shay Nehmad:

We're gonna start by putting the the, you know, the plug at the beginning. Stop the show right now. Go subscribe to Elliot's channel and come back. But welcome to the show, man.

Elliot Minns:

Smash the like button.

Shay Nehmad:

Yeah. And subscribe and press the bell to get the notification. Like, I'm I'm making fun of it, but this like, we do want people to subscribe to the show, and we do want people to do all these good metrics. So I'm gonna start with my, first sort of question. Why Go in the content making space versus more popular languages?

Shay Nehmad:

I mean, Go is popular, but it's not the most popular.

Elliot Minns:

That's very true. That's very true. It's for me, it's kind of a, I guess, a language of love. That sounds very cheesy, but it's it's a language that I absolutely love to use. Go for me is I come from like a CC plus plus background.

Elliot Minns:

So using Go feels very close to using something like c. Obviously Rob Pike and the creators of Go have done a exceptional job to model the standard library over model the standard library like glibc, But they've also taken a lot of consideration into the language as well for both good and bad. There's some things that are missing I think from the language especially with modern language design. But most of the goals of Go have been to combat the complexity with languages such as c plus plus and Java as well and all these other modern languages. So for me I think if you've watched my content I do very minimal video edit Well, my video editing can sometimes be very polished but a lot of my style is very minimal.

Elliot Minns:

It's something I really like. I work in a terminal with most of my coding anyway, so most of the way I work is very minimal. I try to not fall into the trap of complexity which is very difficult to do in software development and I feel like Go is an extension of that simplicity or minimalism.

Shay Nehmad:

John, you obviously do, I think, market yourself as a strictly Go guy as well. Right? Like you have a thing called Boldly Go and

Jonathan Hall:

Yeah. I wouldn't say strictly Go, but definitely that's the focus, the priority. Yeah.

Shay Nehmad:

Do you think it brings, y'all, like, the sorts of audience you'd like to interact with? Or is it the other way around? You take people who are maybe not familiar with all the benefits and all this, maybe, Elliot, you say this philosophy of minimalism, in software development, and you're you're converting them. Is it like you picking the audience you want or is is random audience coming to you and and, like, converting?

Elliot Minns:

That's such a great question. I think I think so YouTube is such an interesting place because I think actually the YouTube is very representative of software development, but obviously YouTube is algorithmic based so there has to be a lot of hype that kinda goes into things. So languages that feed into that hype often do very well and Go doesn't always. That being said some of my my favourite video that I've ever done was actually looking at Go using was actually looking at how to use the standard library of Go for advanced HTTP routing. It was following the 1.22 release once they added in, you know, advanced, method based routing with Go.

Jonathan Hall:

It's funny to call that advanced.

Elliot Minns:

Advanced. Yeah.

Jonathan Hall:

Yeah. Advanced for 1993.

Elliot Minns:

Yeah. Yeah. Well, I I can't remember if that was actually in the, in the release notes but, yeah. Advanced routing in Go. That was kind of the title of the video.

Elliot Minns:

A lot of people really really enjoyed that video because I think it answered a core question that I got from my 1 22 overview which was, how can I use the standard library now for routing a go? Which which is something I felt was missing for a long time. You had frameworks such as Guerrilla, which I absolutely loved Guerrilla, Chi. Then you had kind of the more complex ones I feel like echo, djinn, all these other ones that had a lot of nice boilerplate. And I think because it had gone on for so long where you had to use these frameworks in order to actually do what Go was kind of always would which was a core property of Go which was HTTP web servers.

Elliot Minns:

It kind of I I've really detracted from the original questions, I do apologize. But it kind of detract it kind of, that video kind of resonated with a lot of people of like, you can use the standard library now for all of these advanced features such as subrouting, middleware, all these things that you were relying on a third party framework. That video continues to do really really well and it's one of my most popular ones and it's one that I absolutely love as well. And for me that kind of it kind of hits both audiences. It hits an audience that is learning Go and wants to just take that philosophy of like use the standard library as much as possible and it also speaks to an audience that already uses Go but wants to use the standard library more and wants to know how to do some of these more advanced things that come from the minds of the creators of Go and how you should be able to use the standard library as much as possible.

Elliot Minns:

So just to to answer the question in a long winded way, I think the content appeals to kind of both. I try to focus my content on general software engineering, at least like back end software engineers mostly. But at the same time, I also wanna appeal to developers that like to use Go as well.

Shay Nehmad:

I I think I can really imagine someone watching your, videos. Not necessarily even, on Go, but the HTTP one is is a good example in my opinion. And And I'll take another one. You have, I think, a video about, like, setting up, terminal, like, a TMUX or Vim or, like, setting up all these, again, advanced for 1993 editors, that we're rediscovering are good again. I'm firmly in your camp, by the way, Lovetux.

Shay Nehmad:

So I can really imagine someone being super frustrated working in, like not to shame any specific editor. Just, you know, I don't know. They're stuck with Visual Studio 2012 because they're working on legacy.netprojects, etcetera etcetera. Then they come home all, like, frustrated from working on their super, outdated, bloated, you know, tons of GUI and toolbars and buttons and and features ID just coming watching your video, like, setting up to mugs. It's all very clean.

Shay Nehmad:

It's all very minimalist and sort of being, like, yes, this is what I need coming back to their company and sort of moving that change. Really, imagine someone trying to do h htp, you know, with a super bloated framework. It's really difficult to move stuff around. Maybe even if it if the company is big enough, like, an internal framework for htp. Because, of course, in this company, we would like to do it this way than just watching the oh, there's a new Go release with the, 122, and you can just do it with the standard library and just hacking a a POC in a day and sort of starting this change.

Shay Nehmad:

I'm wondering how many people who watched like, you you wouldn't be able to know this, but how many people who watched the 122 thing already knew, like, knew about it because they read it about it somewhere else? Or are you their, like, main, source of news? Some people told me that about the podcast. Like, I don't I just listen to it and then I don't need to follow the Go blog anymore. And I'm like, no, you do need to read that stuff.

Shay Nehmad:

John and I are not real journalists.

Elliot Minns:

Yeah. I think that's that's a really good point as well. And that's something I think a lot of people do rely on on YouTube to get their news especially about software development changes. And as you say, I'm not a journalist either and I definitely make mistakes. So I always try to encourage people to go to the original source and I'll try to link them in the video as well.

Elliot Minns:

But yeah, at the end of the day I'm more of an entertainer than I am a journalist and I wanna present news that I find interesting and that I wanna entertain people by sharing it in a way that's a story, but I'm definitely not a journalist. I'm always gonna get things wrong and I'm always gonna be corrected in the comments which is one thing I actually love about my community. They're very quick to correct me but do so in a very tasteful way that they want to have a discourse or a discussion as well which I think is actually fantastic about. I I love that with my community. It's one of my favorite things about live streaming as well because I get to interact with people directly.

Elliot Minns:

But yeah, I think for some people I am absolutely their kind of news source for some things. I don't do too much news so when I do I can be. But sometimes I also help to teach people, as you mentioned with Tmux. I I try to focus more on here's how I use these tools. Here's how I use this language.

Elliot Minns:

Hopefully, that teaches people that they can use it in those ways as well.

Shay Nehmad:

You recently did the news ish video. I think your most recent as at the time of this, recording, that is most recent video is about the Elastic open source, license change. So that that felt totally out of my field Yep. Because I was like, oh, he's the terminal and and go and and chill guy and suddenly, like, no business. This is how Elastic is regretting, you know, their license change.

Shay Nehmad:

But, like, it was interesting to see, you know, discovering interesting things and not, like, limiting yourself to a specific, I guess, formulaic form of a video or I guess content.

Elliot Minns:

Yeah. Yeah. Yeah. Yeah. I that that video for me, I kind of that was I think about a week ago today and I was I was reading the hot slash programming believe it or not and it popped up.

Elliot Minns:

And for me, I don't I don't know a lot of people I think felt very betrayed by Redis' license change recently, no less than the actual contributors must have felt as well. And so for me the issue of kind of these companies moving towards closed source models that have been built on the back of open source, that always kind of struck a little bit of a nerve for me. I'm a huge proponent of open source software. I will always prefer to use an open source products compared to the closed source one even if it's not as good. So when you see companies that you've kind of really appreciated for having that open source model move away for for whatever reason, some of them may be legitimate, some of them may be not so legitimate, It kind of stings a little bit and it's been a bit of a worrying trend over the last few years and I think Elastic, they want to be first.

Elliot Minns:

I think MongoDB were one of the first companies to do it. Elastic did do it recently, shortly after MongoDB and then most recently Redis did that and I think that one really stung quite a lot for a lot of people.

Shay Nehmad:

Oh,

Jonathan Hall:

and and don't forget HashiCorp.

Elliot Minns:

HashiCorp. HashiCorp was a big one as well. So I think when the news kind of changed that Elastic was going back to open source I think that was some really great news. Obviously, with the YouTube algorithm positivity doesn't always go very well so you kind of have to put in a bit of a a twist into the story as well. But ultimately from that video, from my perspective, I thought it was really really good great news.

Elliot Minns:

I don't wanna see anything bad come to Elastic. I'm just very very happy that they've decided to go back to open source again.

Shay Nehmad:

You said positivity doesn't track well with YouTube as in like if your video would have been titled, elastic doing the last mistake, you won't believe how much, of open source contributors got, you know, effed by this, license. It would, like, make more numbers, more people would watch it you think?

Elliot Minns:

It's it's such an interesting interesting paradigm of social media, but controversy always does better than positivity and I try to always focus my content on positivity rather than controversy which is a bit of a tough line to kind of walk. I've definitely done some more controversial videos in my in the past and they always do really well but they don't make me feel very good. So I try to keep it more towards like here's what you can learn, here's something I've learned recently. Anything that kind of lifts up the community or at least like makes me feel like I'm lifting up the community is something I would always prefer to do when it comes to videos. But they're not always the most popular videos out there.

Shay Nehmad:

That is unfortunate but makes sense.

Jonathan Hall:

One of one of my most popular videos is 10 things I hate about Go. I I think it really, emphasizes the point you're making.

Elliot Minns:

Yeah. I think there's a there must be in in my I'm always trying to find a way to improve and I feel like there must be a way to have kind of the feeling that there's controversy, but ultimately it's a positive message at the end of it.

Jonathan Hall:

Well, so I mean, so last November I did a no effort November, you know, I I made like 15 videos in a month. You know, each day, I just threw together in an afternoon. And the ones that did the best were the ones sort of things like you're doing it wrong or, you know, something like this in the title. And, of course, then then the the positive message, if you will, is is here's the right way to do it. So, you know, you know, that maybe that's an angle you could you could try is is, the right way is this.

Jonathan Hall:

The wrong way is the thing you're doing. Talk about the wrong thing in the title.

Elliot Minns:

Yeah. I like that a lot.

Shay Nehmad:

Maybe negativity in November.

Jonathan Hall:

To get back to one of the questions that Shai asked, I wanted to to bring up the conversation I had a couple weeks ago with, Mariah. I don't remember if we put this on the show or not, but, she does Twitch streaming about Go. And, we did record part of our conversation. It was just a random conversation we we put on the show. And I can't remember this is after or before we hit stop.

Jonathan Hall:

But I, I asked her about what kinds of things she does, on her on her Twitch. You know, is it just coding? And she says that some of the most popular stuff she does I'm pretty sure this part made her into the into the show was, beginner focused stuff because, I I suppose, because there's a lot of, beginners out there. Or or maybe it's not so much because there's a lot of beginners, but because the beginners are the ones who are looking for this sort of content. But I I think that touches on the the question of, like, are you are you trying to attract a particular audience, or are you you know, does the audience just sort of come naturally?

Jonathan Hall:

And I I think, Mariah and I agreed that we both do it because we like doing it. Mhmm. And the audience comes if they come. And, you know, she streams she said she streams to typically 6 to 8 people, at a time. Pretty small, you know, as Twitch streamings streamers go, I guess it's fairly small.

Jonathan Hall:

And that's better than my, streaming, efforts usually. I usually have 2 or 3. But, you know, at least in our cases, we we we agreed that it's it's code I would be writing anyway. Why not turn on the camera and let somebody benefit potentially? And maybe they watch the replay.

Jonathan Hall:

Maybe they aren't there for the life thing, but they're there for the replay. So it's it's not either of us are looking for the audience per se. It's that, we're doing what we do. And if somebody wants to watch, that's great. And if they can benefit from it, that's great.

Jonathan Hall:

I'm curious how much of that you do, or or are you are you doing the the quote YouTube thing and you're, like, you're thinking of what does the audience want, what title am I gonna do, what thumbnail, all that sort of stuff that all the creators tell you to do. Where do you fall or or does it depend?

Elliot Minns:

Yeah. That's that's such a good question. It's such a balancing act of kind of I wanna just create content that I wanna create and at the end of the day I'll put it out. If if people like it that's great. If people don't like it doesn't matter.

Elliot Minns:

For me, I'm actually I'm more on the other side of it. So I try to think mostly about the audience, what the audience wants to see and I will tailor my content to that. It's obviously what I wanna create as well. I don't wanna be a slave to the algorithm or a slave to the audience of what I wanna create. I still have an idea of what's what it is I would like to create videos on but I always think about it of what value am I gonna give to the person watching this.

Elliot Minns:

So if somebody, you know, if thousands of people wanna commit time to sitting and watching my video I feel like I have to reward their choice to click on my thumbnail, to read my title and be engaged and I need to deliver on that promise of what I'm presenting to the user. So a lot of that thought does go into kind of the audience experience. Like, I want people to really enjoy and understand the video all the way through. Sometimes I do well on that and sometimes I absolutely miss, but that's part of the whole learning experience.

Jonathan Hall:

Right. But, yeah,

Elliot Minns:

the the audience value is always number 1, in my in my opinion.

Shay Nehmad:

Okay. So you would consider your, channel sort of more educational than just, like, entertainment period?

Elliot Minns:

I would say so. I think it's definitely in between maybe the 2. It's not purely educational in the fact that I will go in deep into a topic and kind of explain it through and through. I still kind of keep it high paced and reasonably engaging so that people can sit and get a bit of a information dump but not too much of like we're really gonna go into the weeds of what we're talking about today. It's more of very yeah.

Elliot Minns:

It's it's kind of fast paced educational but at the same time entertainment is still very paramount and I will take something out if I feel like I'm explaining it too long or I'm not getting to the point quick enough. I also have a really bad habit of I record the entire video and then I'll go back through it and record it again but saying things differently in in a more concise and elegant manner. So I do like multiple passes on my video which takes a lot of time but I really find that that comes out to be where I'm saying what I want to say in the shortest amount of words or the fewest amount of words. Mhmm.

Shay Nehmad:

I many people told me that, they listen to the our show. There are probably some people who are listening right now, in double time. So I'm I'm always, like, half considering how fast should I talk, how, whatever. Maybe we should do that as well. We should just record the show one take super fast on double time, then listen to it on double time and rerecord it in real time.

Shay Nehmad:

I can imagine doing the show twice though. That's that's

Jonathan Hall:

gonna be that's gonna be a bit difficult. A lot of work.

Elliot Minns:

It it yeah. It definitely is.

Shay Nehmad:

Well, if you if we do both of them double time, it's the same amount of work.

Elliot Minns:

That's true.

Shay Nehmad:

Here we go.

Jonathan Hall:

I wanted to ask a couple of questions about your channel. I'm just looking at the details that YouTube shares. It looks like you started the channel in 2019. Is that about right?

Elliot Minns:

So I kind of started it in 2019. I think I started the YouTube channel with the intention of doing videos in 2019, and then I didn't really muster the courage until 2023.

Jonathan Hall:

Yeah. I know that feeling. I did the same. So 2023, you you started more seriously, and now you're up to a 133,000 subscribers. I I probably started early 2023, late 2022, and I'm up to almost 5,000 subscribers.

Jonathan Hall:

Although this year, I've I've really been taking a break, preparing for this move. What have you done to promote your your channel? Or or is it just the algorithm feeding you subscribers?

Elliot Minns:

It is just the algorithm. Just the algorithm. So really, I kind of spent a long time trying to figure out what the algorithm wants. And I'm a huge this has always been something I thought as a negative for myself but I'm a huge content consumer. I love movies.

Elliot Minns:

I love TV shows. Loved YouTube as well. I considered at one point getting a tattoo saying do more watch less just to remind myself to not watch content as much as what I do. But I've always enjoyed that as a medium of like entertainment and education. Mhmm.

Elliot Minns:

So I think that had driven a lot of kind of what I wanted to do or or or like how I wanted to kind of approach YouTube. And I spent a lot of time researching kind of what do people want to click? Why do I want to click on a video? Why do I want to watch a video? And I actually never really watched coding content.

Elliot Minns:

I still really don't watch coding content. I create it but I don't watch it. I think the most technical adjacent I ever got to was more like home labs and and kind of self hosting and things like that which I'm really interested in. Mhmm. But when it came to actual coding, the reason I got inspired to do coding videos was because I was kind of burnt out from work.

Elliot Minns:

I'd entered into a more manager managerial position and it was so it was less of a technical role. I felt like a lot of my creativity was had gone and being kind of that middle management layer and not an IC anymore is a very big culture shock to kind of how you work. So I needed kind of a creative outlet and I picked up woodworking of all things. I think also when software developers are burnt out they will always reach for kind of these more physical hobbies. You often hear developers want to go build a log cabin in the woods and live in there or become a farm or anything like that.

Elliot Minns:

For me it was woodworking. So I picked up woodworking and I started watching YouTube videos as you do to kind of learn the hobby and take from it. And it was very project focused, so these fantastic creators doing woodworking would, you know, go through and show how they created a project and that to me was kind of interesting and I thought what if I applied that to writing code? It would get me back into writing code again. I could feel, like my creativity or my creative itch was being scratched.

Elliot Minns:

So I basically was inspired by woodworkers to go and create coding content. Awesome.

Shay Nehmad:

That's so cool. I think number 1, at least more cons most consistent channel I've been watching is also about, like, sort of, like, a physical creative person. It's someone, called the inheritance machining. I've been following them for the last, like, two and a half years. Someone doing, like, metallurgy.

Shay Nehmad:

I don't know how how it, like, precision engineering with manual machines like leads and things like that. I know nothing about well, two and a half years later, I could probably operate a lathe and just lose, like, 2 fingers and not all of them. But the that issue you're talking about of, like, oh, I work at my thing. Maybe I like it, maybe I'm burned out, but I won't watch people doing it on YouTube or something like that is is so interesting because I do find myself, like attracted to watching people doing stuff and listening to news about programming. But I've tried a few times to watch, like, programming streams or people trying to solve c t f's or even listen to other, coding podcasts.

Shay Nehmad:

Right? There's there's a ton of good stuff out there. A good chance to shout out Go Time or sort of like big sister podcast. And, you know, when I was trying to get into Rust, so Rust Station Station and just, like, whatever, it's sort of it's difficult. I don't it's difficult to consume content about the thing you do all day.

Shay Nehmad:

But taking inspiration from other just subjects and saying, like, I liked watching this woodworking video. I'm gonna I I now understand the vibe of your videos because it's like it's I have a project I wanna get to. Here are the steps in the way. It's gonna be very calming. You know, you gotta worry about your fingers and woodworking is from saws.

Shay Nehmad:

In your videos, it's about not using the most ergonomic keyboard ever. Right? But I can see the parallels. Yep. That's really cool, really, how the sausage gets made kind of thing.

Elliot Minns:

Yeah. I I I actually that does bring on a really good point. So, like, a lot of my inspiration for my videos comes from, like, outside of the technical niche pretty much exclusively. So with the with the you mentioned the, the video where I was building that spinner and I had kind of those I I don't want to call them cinematic but they were attempting to be cinematic shots of like top down shots of the keyboards things like that. That all came from watching a lot of cinematic vloggers.

Elliot Minns:

There's a whole niche on YouTube of of these new age vloggers that are doing very cinematic stuff. So beyond what Casey Neistat was doing which was like the daily vlog and Casey had a lot of cinematic elements to it, but now creators like Life of RZA, Matthew Encina these are these creators are doing like very very cinematic shots in their vlogs and that to me was just so inspiring and then kind of scratched my creative itch of like how do I do cinematic shots with code? Because that's a very very difficult problem to show. It's it's not very real life when it comes to coding. It's usually on a screen and we're engaging with computers.

Elliot Minns:

So that challenge in itself, 1 to be inspired and to figure out how to do it and then 2 how to kind of use film and visual metaphors to explain code as well. I think that's something I'm I'm really, really interested in.

Jonathan Hall:

I love that. Yeah. That's

Shay Nehmad:

cool. There's a guy, I I have to look up the channel. He's developing a game called Astortion, and he's sort of one of these I think there are, like, 5 or 6 people I follow on YouTube that do game development, videos or game development content. There's like Jim TK and there's a guy called Randy, which is sort of unhinged, and this person developing distortion. It's really interesting to see when you do it.

Shay Nehmad:

And, Jonathan, you mentioned why not turn on the camera. Right? Like, if I'm already gonna develop it. So the reason is is, in my opinion, is it's sort of quantum. If you do turn on the camera, right, people watching you, maybe watching your stream or or watching the content responding might affect what you do.

Shay Nehmad:

Elliot, you are doing YouTube full time now. Right? You're not doing content about corporate problems or like real problems. You're doing, at this point, content as your job. I think it affects it.

Shay Nehmad:

All these dev YouTubers, for example, this guy doing distortion, their financial interest at this point is to draw out the project and the game development as long as possible, which is a 100% opposite from if they didn't have the camera on. So I I think there's sort of an a weird incentive there. You don't work on, like, long form projects, so it doesn't exist there. But in in all the game development thing, I see people, like, drawing out the projects and going on side tangents and developing their own shaders blah blah blah instead of just shipping stuff, which is interesting. The reason I mentioned the distortion guy, by the way, is because when I saw the cinematic video and all the editing and all the cool stuff, I was reminded of his thing where he wanted to do explanation for code stuff in his videos.

Shay Nehmad:

So he developed a whole open source JavaScript based animation library just to explain stuff. And then that became the most popular thing on his channel. So, you know, these things sort of feed into each other. So I I you should really dig more into how to make the videos more cool and more cinematic. You might end up, I don't know, implementing open source Linux, auto AI, cinematic editor, or something like that.

Shay Nehmad:

I don't know. It could spin into cool stuff.

Elliot Minns:

Yeah. I I actually agree. I think that's one of the I think that actually touches on something that I think is really important when it comes to software development in that I'm I'm somebody who's always loved to build side projects, but I've always struggled with what side project to build. Ever since doing content creation, I now have an unlimited amount of side projects I could work on. I now have to kind of prioritize which coding projects I wanna work to improve kind of my own content creation.

Elliot Minns:

Mhmm. And that to me is something that kind of was always missing when it came to determining what projects I wanted to build. I needed kind of that additional hobby beyond writing code in order to understand what problems I needed to solve. And when it comes to writing just code as a hobby, which is something I had for probably a decade, I was writing code was all I really cared about. I didn't really have a greater exposure to other problems in order for me to have inspiration for side projects.

Elliot Minns:

It was kind of a unless the side projects were coding focused obviously. Mhmm.

Jonathan Hall:

Where do you see the channel going in the next, I don't know, 3 to 6 months? You you said you're doing full time now. What what are your plans? What kind of videos can I look forward to? Or or do you play it more by ear?

Elliot Minns:

Yeah. That's a great question. I definitely play it by ear. I kind of will respond to trends and kind of what does well, what doesn't do well. The one thing I definitely will be doing, I mean I'm working now with a video editor which has freed me up a lot of time.

Elliot Minns:

Yeah. So I'm gonna hopefully focus more on doing cinematic shots. I'm actually building tooling around working with video editors because I think that's a very challenging thing to do. Get your creative vision down so that a video editor can take your raw content and turn it into your vision. Mhmm.

Elliot Minns:

I kind of built a huge system using Notion to kind of make that work and it's done really well. So I wanna kind of product size that and build it into software to make that a little bit easier. That's one thing I'm working on.

Shay Nehmad:

I love the shade being thrown on Notion. The fact that it's not software.

Elliot Minns:

Yeah. I mean Notion's really really great. It does have a lot of benefits. I prefer Obsidian but Obsidian can't do everything that Notion can. But it's you do kind of it feels very hacky whenever you build a system in Notion.

Elliot Minns:

Like, it's it's kind of duct taped and super glued together and, you know, anytime you need to expand it, that's when writing code and building those things yourself. Like, I'd love to but one of the things I really wanna have is a Google Drive or an s 3 bucket but with a nice UI that I can actually label footage with sections in my transcripts so that my editor can just go, oh, here's this line, this section in the transcript. I know that this footage relates to it. So and that's something that's actually a challenge when doing coding content because most video editors don't know how to code. So trying to explain what's the important part that they have to see is really really difficult to do.

Elliot Minns:

At some point it becomes more effort than the actual code or the actual editing itself. So you have to try to make it a system that's really really simple to do so. So that's something I'm that I'm building but it's definitely more of a a selfish personal project. What I'm actually kind of trying to build with my time is to work on kind of more Golang courses. So I wanna be able to have different courses that I can kind of offer to offer for sale that are mainly gonna focus around building different types of applications in Go.

Jonathan Hall:

How much time do you spend on this, in a given week? Is it is it 40 hours? Or do you have the work from home self employment schedule? Everybody does and you're drinking mai tais half the week.

Elliot Minns:

Yeah. It's, it's definitely on the top end. Recently, it's not been. Now now that I've got a video editor, I have a lot more free time. Before it was basically 12 hours a day 12 hour days, 6 days a week, as kind of you do anytime you're getting something started.

Elliot Minns:

There's Yeah. Also that self employed fear of, like, if I'm enjoying myself, I'm not earning money, so I need to be doing things that help me earn money. Getting out of that mindset has been really helpful helpful for me and that did help by hiring somebody. So now I'm trying to keep it down to, like, a 40 hour week. It's probably more a 40 to 48 to 60 hour week still.

Elliot Minns:

So

Jonathan Hall:

Okay.

Elliot Minns:

Slightly better life work life balance. But, yeah, I think whenever you go self employed for something that you're very passionate about, it's gonna consume more time than a typical 9 to 5 would.

Jonathan Hall:

Absolutely.

Shay Nehmad:

Yeah. You mentioned your editor, like, doesn't know how to code. Someone recently meant this is not a question to you. You can just chill. Are you're, like, listening attentively.

Shay Nehmad:

But this is a question to Filippo, our editor. Filippo, are you like, do you know Go at this point? You can maybe edit in a yes or a no.

Jonathan Hall:

Yes. A little bit.

Shay Nehmad:

But you like, we've had our editor edit our show for, like, how long now? A year and and and change? If you're editing, like, Go news on a weekly basis, you gotta know something about it at the at the very like, I I I imagine if you can find, I don't know, a comp sci, student who's also into video editing, you might have you might have a more, like, a win win arrangement. But then you won't have to build that side project. And then what what videos are you gonna do?

Shay Nehmad:

Only to

Jonathan Hall:

interview Filippo on the show.

Elliot Minns:

That's true. That's true. Yeah. I think that's that's actually what a lot of, I think, a lot of, content creators in YouTube do. They do tend to find more comp sci interested individuals.

Elliot Minns:

But for me, I really wanted somebody more interested in cinema rather than the computer science. And I thought I can maybe teach them to code or yeah. I mean, I'd love to know what your editors learn at this stage.

Jonathan Hall:

I think we need to have Filippo on an interview at some point and ask him about that. It'll be a great chance to ask him the question I'm about to ask you, Elliot, which is the question we ask all of our guests. When you were learning Go, what was the most surprising or challenging thing for you?

Elliot Minns:

I think the most surprising or challenging thing for me when learning Go was this is gonna be a bit of a controversial statement it was understanding the true power of the implicit conformance of inherit of interfaces. Okay. Yeah. So it's one of my favorite features of Go as well and it's probably one of the most understated features. I've I've actually when I talk to people in comments, they actually call it as a negative that you don't explicitly set a type as conforming to an interface.

Elliot Minns:

For me, I think it's so powerful because it enables decoupling when used in the way that it's intended. But initially, I came from it from other languages where you explicitly mark it as being conforming. So that probably leads on to the larger challenge that I had with Go which was breaking a lot of habits from other languages. I think it's probably the most common common thing that a beginner to Go has to understand is that the way it's done in Go is not necessarily the way it's done anywhere else. And then there's a common one as well learning all these amazing constructs for dealing with concurrency and learning to not use them.

Jonathan Hall:

Good answer. Well, Elliot, would you tell everybody where they can find you? Of course, we'll have links in the show notes, but, you've already mentioned the channel name, but do it one more time. How can they find your channel and and any other content you have?

Elliot Minns:

Awesome. Yeah. Yeah. You can find me on youtube.com@dreamsofcode. That is my handle.

Elliot Minns:

It's all one word, lowercase. That will have links to all my videos and any of the other channels that I also run on there which is only one at this stage. Also, you can go to dreams of code dot io if you wanna sign up to a mailing list to get some information but I don't really keep on top of that. But, yeah, that will have any information of new projects or ventures that I'm working on. Awesome.

Jonathan Hall:

And it looks like you're selling merch too. I am. Awesome.

Shay Nehmad:

Oh, really?

Jonathan Hall:

What merch? Notebooks and stickers. And even the coffee mug, of course. Cheat sheets.

Shay Nehmad:

That's cool. That's cool. I like that. Co pilot free.

Jonathan Hall:

Yeah. Do you wanna do a closing, Shai? Or

Shay Nehmad:

No. I just wanna say, thanks a lot, Elliot. It's been great. Keep up the the Go content. I really it is really refreshing to see someone doing coding content in my favorite language in the thing I'm doing and doing it so, like, thoughtfully and, like you said, worrying about how it looks and how it sounds and how it's built.

Shay Nehmad:

And it's just very obvious that, a lot of care and a lot of expertise is going into your videos, and I just love to see that, man. Keep it up. Thanks for coming on the show and telling, you know, the listeners about it.

Elliot Minns:

Thank you for having me. It's been an absolute pleasure.

Shay Nehmad:

Alright. Cheers.

Creators and Guests

Jonathan Hall
Host
Jonathan Hall
Freelance Gopher, Continuous Delivery consultant, and host of the Boldly Go YouTube channel.
Shay Nehmad
Host
Shay Nehmad
Engineering Enablement Architect @ Orca
Do Androids Dream of Electric Gophers? New Go releases & interview with Elliott Minns
Broadcast by