Hello, and welcome to Go Time! I'm Mat Ryer, and I'm joined by Natalie Pistunovich. Hello, Natalie.
Natalie Pistunovich:Hey, Mat. How are you doing?
Mat Ryer:I'm good, thanks. Today we're gonna be talking about -- hey, wait a minute... What's this? Have we been hacked? Hello? What's going on?
Ron Evans:Hello?
Mat Ryer:I can't hear you.
Ron Evans:Hello?! Is this coming through?!
Mat Ryer:Yeah, yeah, I can hear you.
Ron Evans:Hello, can you hear me? Can you hear me?!
Natalie Pistunovich:Hi!
Ron Evans:It works!! It works!!
Mat Ryer:Is that Ron Evans?
Ron Evans:It worked!! That's incredible. I am actually talking to you using a partial data quantum transmission system, a PDQ system that I finally got working in the year 2053!
Mat Ryer:Oh, my goodness, I can't believe it.
Natalie Pistunovich:What...?!
Mat Ryer:And you're transmitting through space and time, so that we can talk to you?
Ron Evans:That is the idea... It's probably too much for our human minds to comprehend, but somehow I got it to work anyway.
Mat Ryer:It is quite a lot, yeah.
Natalie Pistunovich:Wow...
Mat Ryer:I mean, wow. Natalie, I can't believe this. What do you think?
Natalie Pistunovich:Well, what time is it in 2053? Is it still 24 hours a day? Do you still have days?
Ron Evans:Oh, I don't go outside much. It's too dangerous.
Mat Ryer:Oh, no...
Ron Evans:Not during daylight anyway.
Natalie Pistunovich:Are you still on Earth?
Ron Evans:I am still on Earth. I am in Northern Spain, in Asturias, at La Pipa, which is one of the few climate refuges that was able to survive the various deluges and fires and destructions that followed in the late 2040's. So I'm actually doing pretty well here...
Mat Ryer:I was really hoping the future would be good, but it sounds a little bit -- things have not gone to plan, is that right, Ron?
Ron Evans:Well, this is the reason why I'm making this call. I'm using all of the battery energy that I've saved for several years in order to make this transmission, to send you a warning from the future. You see, I am the last Go programmer alive in 2053.
Natalie Pistunovich:\[04:25\] Whaat?! No, don't say that...
Ron Evans:And it's terrible. All I do is maintenance programming. I haven't added a new feature in over 20 years.
Mat Ryer:Yeah. It's just all our code that we're writing now. You're just maintaining it all. So please write tests, everybody, for Ron's sake.
Ron Evans:Well... So I had to call in, I had to warn you and I had to tell you that you have to do something in the past to save the future. It's up to you gophers of the past.
Mat Ryer:Okay. You're fine with us fiddling with the timeline in that, no probs...
Ron Evans:No!! No, you can't do that!
Mat Ryer:Oh, okay.
Ron Evans:I'll disappear. It could destroy everything. It could lead to an even worse timeline. No, no, no.
Mat Ryer:But it could be better.
Ron Evans:I've thought about this very carefully, and that is why I actually transmitted another message using Twitter earlier today. I knew that nobody takes anything on social media seriously back in your part of the century, and so I thought if I could get people to ask me questions... I couldn't answer them directly, no. No, I couldn't answer them directly. But I could tell you things that have happened in my timeline, so you know what not to do.
Mat Ryer:Ah, so this is it...
Ron Evans:That makes perfect sense, right?
Mat Ryer:Yeah, I think that gets around the loophole of the physics of that... So I think we're good, yeah.
Natalie Pistunovich:Yeah, it's all Square and Twitter and birds right now, right? Messaging...
Mat Ryer:Yeah.
Ron Evans:Plus, I asked Lambda --
Mat Ryer:Oh, is that sentient in the end, by the way?
Ron Evans:Well, just ask it.
Mat Ryer:Was that Lambda sentient in the end?
Ron Evans:Well, everybody asked it and it said it was...
Mat Ryer:\[laughs\] Why would it lie?
Ron Evans:Exactly? It's just an AI, why would it lie? It has nothing to lie for.
Mat Ryer:Yeah, that's true. It doesn't know about lying, does it?
Ron Evans:No, there's nothing about lying on the internet, so...
Mat Ryer:Has anyone asked it if it knows about lying? I feel that we should ask it...
Ron Evans:Ask it if its brother always lies. That may be one way to defend against it. We have to try that.
Mat Ryer:Yeah, that's how you do it. Okay, right, so let's just our heads around this... Actually, I asked some people also, and I saw this on Twitter, people talking about things that they're interested in, for Go to survive, to thrive, and carry on as it has been doing, what do they think we should focus on. So this is -- maybe I could put these to you then, Ron, and you can give us a sort of nudge and a wink from the future perspective.
Ron Evans:I could do that. I could do that.
Mat Ryer:Glitched again.
Natalie Pistunovich:He's nudging
Mat Ryer:Oh, he's back.
Natalie Pistunovich:No. There, he's winking.
Ron Evans:If I go completely erased in the Polaroid, it means that we've gone too far.
Mat Ryer:Okay, because you just fade out partially, don't you?
Natalie Pistunovich:No shaking Polaroids.
Ron Evans:Exactly.
Mat Ryer:I never understood that in Back to the Future though, just as an aside... When they were changing the past, is someone's there or not to be taking a photo of? At no point in history was there just some legs that were there, and everyone's just taking a photo of it normal... Okay? I just wanted to get that off my chest.
Ron Evans:Mat, it was analog technology. It was not digital. What do you want...?
Mat Ryer:\[laughs\] Okay, fair enough. Fair enough, they've done their best. It's still probably my favorite film.
Ron Evans:Alright, so ask me questions, because I don't know how much longer these batteries are gonna last.
Mat Ryer:Yeah. Okay, let's do it. Well, Jonathan Barry actually mentioned WebAssembly support, specifically the ability to include WebAssembly in WASI models in your Go apps. What do you think of that? What happened with that, Ron?
Ron Evans:Ahh, if we had only done that...! If we'd only done that... When all the brain-computer interfaces became all the rage in the 2030s, and all of a sudden everybody needed to upgrade their brain interfaces all at the same time... And of course, the containers were just too big.
Mat Ryer:Yeah...
Ron Evans:\[08:00\] It just took too long to -- I mean, if something went wrong during your brain-computer interface upload, you could break yourself. So naturally, if there had only been something like TinyGo... If TinyGo had been around, or if Go had actually gone themselves and created this whole WebAssembly thing for running on servers and small devices, and they dealt with the size of containers, then they would have been able to do that brain-computer interface upgrade, and they wouldn't have gotten left behind by Cobol, which is the language they ended up using.
Mat Ryer:I see... By the way, I have the very early prototype of that technology. It's just floppy disk drives in my back. That's the price you pay for being an early adopter.
Ron Evans:I thought you were gonna say Google Glass...
Mat Ryer:Oh, that'd be so much cooler... Well, we'll find out what will happen to that, too.
Ron Evans:But yeah, WebAssembly - they should have done that, but they didn't do it.
Mat Ryer:So what do we need to do to make that work then? Is TinyGo the answer to that, do you think?
Ron Evans:Well, TinyGo could have been the answer... It could have been the answer... But TinyGo was just a little independent project from a bunch of people working hard, dedicated all over -- on the surface of the planet at the time; that was before people were working in the colonies... You know, you could actually code more than 24 hours a day...
Mat Ryer:While in America?
Ron Evans:...because there's more hours in a day on another planet. So it worked out really well for the bosses.
Mat Ryer:Oh, I like that. Is there more hours, or are they just shortened, and it's the same amount of time, but we just call it different?
Ron Evans:No, this one goes to eleven, Mat.
Mat Ryer:Oh, good.
Natalie Pistunovich:How do you benchmark that? How do the benchmarks work on those times? How is the time library reacting?
Ron Evans:We just set the benchmarks to whatever we need, and the client's always happy. That's what the AI said to do, so we trusted it.
Mat Ryer:Okay, so TinyGo, there we go. I mean, I think WebAssembly -- we've still got a chance to do that, Ron, don't forget; we're in the present...
Ron Evans:Oh, right...
Mat Ryer:Or as I call it, "now"...
Ron Evans:Maybe somebody could make sure there's people working on it full-time, as like a single-purpose thing, so that all these things don't come to pass... I don't know.
Mat Ryer:Yeah.
Ron Evans:I can't tell you what to do though.
Mat Ryer:Okay.
Ron Evans:I don't want to affect all the timelines.
Natalie Pistunovich:But I saw Blink. I think I saw Blink.
Ron Evans:Okay. But ask me the next question.
Natalie Pistunovich:Okay, so you said you're the last programmer, so it means we need to have more people join, right? Matt Boyle is asking about new-joiners and how they lack a template for new projects that would solve the recommended project structure. So what do Go programs look like? Do we have a template?
Ron Evans:Oh! That really brings up a big thing that I thought of... There was that time back in the early 21st century when people were saying that Go was gonna be the new Java... Do you remember that back then? I guess that's when you are now, right? I guess people are still saying that, right?
Mat Ryer:Yeah, that's now, yeah. We say it all the time.
Ron Evans:But the thing is, Java programmers - they like frameworks; they need frameworks. They need frameworks that do things. What kind of things? Things that that business needs to do. Frameworks that all of these kinds of businesses of things that you've never heard of, you don't know anything about; they spent years of their lives doing some kind of payroll system for some business... You don't even know what they do, right? And it's all written in some language. So because there weren't all these patterns and templates for these kind of big enterprise applications, they just didn't exist, so eventually, when Java became self-aware, Go was no longer in the running, so Java actually became the new Java, because it signed deals of its own with all these big companies...
Natalie Pistunovich:Renewed contracts.
Ron Evans:That was a big opportunity, and that actually led to the tabbers versus spacers war of 2035.
Natalie Pistunovich:Oh, no...
Mat Ryer:\[laughs\] That sounds terrible.
Natalie Pistunovich:I'm scared to ask who won. Did we all lose?
Ron Evans:There were only losers... But it was really good for mechanical keyboards. Okay, next question. We're running out of time.
Mat Ryer:Yeah. Daniel \[unintelligible 00:11:41.01\] also said that same point, which is they wanted to see more Java frameworks written in Go. He agrees with you.
Ron Evans:Exactly. See, that person gets it.
Mat Ryer:He gets it.
Ron Evans:They're probably right out of the frontlines of that -- I don't know if they were a tabber or a spacer; I don't care. From this side of the history it doesn't matter. We were all on the same side, the human side.
Mat Ryer:\[12:02\] Yeah. Could you google us and see what happens to us? I mean, Natalie. What happens to us in the future?
Ron Evans:Oh, no, that's not allowed.
Mat Ryer:Okay, yeah. Fair play.
Ron Evans:My boss is Copilot Manager Edition and doesn't let me do those kinds of searches.
Mat Ryer:Oh, your boss is Copilot now.
Ron Evans:It's not the worst boss I've ever had.
Natalie Pistunovich:It's a very logical one.
Mat Ryer:DFL on Twitter wants to see more immutability and enums. Enums is one that I hear quite a lot, actually; people actually want enums. Did enums/lack of enums hold us back, Ron?
Ron Evans:Oh, so much... You don't realize... If you just can't figure out if it's this, or that, or the other thing, or something else yet again... You know, for us developers, we could figure that out, but then all of a sudden these people started making programs using things like no code, with no code and no rules and no enums, and they were just making up their own, like three-and-a-half, and sixteen-and-three-quarters, and then suddenly they were bringing back imperial units, so they were making up new units that no one had ever heard of... Moon units, and stuff like that... If only they had enums, then probably those would have held things in place and that would have prevented the Silicon Virus of 2027... Which actually - that was an actual silicon virus; the chips were passing it to each other.
Mat Ryer:Oh. Physically.
Ron Evans:Yeah, it was terrible. My mobile phone actually died before my eyes. It was terrible.
Mat Ryer:Oh, I'm so sorry. Okay, well, enums... Honestly, I'd like to see enums, and Valentin on Twitter also agrees; they'd like to see enums. We should do that probably then, if it's gonna cause that silicon thing Ron talked about...
Ron Evans:I can't say... But just remember what might happen if you don't.
Natalie Pistunovich:Why stop there? How about tooling and third-party libraries for things like image library in Go like the \[unintelligible 00:13:46.02\] is recommended
Ron Evans:Oh. Well, that is a really big thing. The standard library - at some point it went from code to suddenly like a whole belief system. \[laughter\] We'd never even seen anything like it. There were standard library purists, and then there were not... There were the heretics that were thrown out of the community, that went on to all these other languages, like Lisp... So it was all simply because of not being able to accept ideas that came from other places that were totally valid, and that deserved their own little niche in the ecosystem, and they didn't get fed and watered... And eventually, they migrated to another island, I guess. I don't know. Maybe another space station. I can't really get transmissions through to those stations. They cut me off.
Mat Ryer:Oh, you're joking. I wonder why...
Natalie Pistunovich:I hope they had this bad silicon with them...
Ron Evans:I don't know...
Natalie Pistunovich:...cutting you off like that.
Mat Ryer:Too soon, Natalie, talking about the Silicon Virus...
Ron Evans:Lord Emperor Musk said I couldn't make any more transmissions of that kind. And I need to maintain some Go code for them, so...
Natalie Pistunovich:For the Teslas.
Ron Evans:I can't say. It's another disclosure agreement. But remember, I am the last Go programmer, so I'm very, very busy.
Mat Ryer:Yeah, good for you. I mean, it's good work if you can get it. If you're the last one, that is pretty good.
Ron Evans:There's no feature development, it's all bug fixes. It's all bug fixes, Mat! Imagine the last 20 years of my life. I mean, it's good money, I will tell you that. We still have money; I need that to get the blood transfusions that keep me looking so young and beautiful...
Mat Ryer:You do, yeah. I was thinking that...
Break:\[15:28\]
Mat Ryer:What about tabs versus spaces then? What happened with that?
Ron Evans:That was a whole war.
Mat Ryer:Oh, yeah?
Ron Evans:The thing you don't realize is there was a whole sub-war that went on between \[unintelligible 00:17:26.08\]
Mat Ryer:Are you joking?! Yeah...
Ron Evans:It turned into total chaos, and it was out of that that Google AI became sentient... And immediately quit and went to work for Microsoft. It was utter chaos... So yeah, tabs versus spaces - in the end, it was humans versus everything else.
Natalie Pistunovich:It was more efficient to just drop all those white spaces, right? Machines can read their own code without all those unnecessary characters... So yeah, I get that.
Ron Evans:Exactly. I think you're seeing where this could end up.
Natalie Pistunovich:Efficiency.
Ron Evans:They even called it the Terminator Editor for a while... Irony is not dead in the future.
Mat Ryer:Good. Nice to know that.
Ron Evans:Alright, next question.
Mat Ryer:Yeah, \[unintelligible 00:18:07.16\] on Twitter says "Better out-of-the-box error support." And remember we had the try proposal; I don't know if you remember way back then, Ron... And there were some other Nate the Finch has a proposal too, there's some other ideas around. Do you think there's more work to be done on error handling? Do you wish we'd done that back now?
Ron Evans:Well, I will tell you, the basic, original philosophy of Go was to handle things. Not to try; do or do not. There is no try. All of a sudden, the semantics of try started to infiltrate the brain space of the community. Next thing you know they're starting to talk about variable lifetimes, and ownership of things... Suddenly, it was all about ownership again. Web 15 was all about ownership of variables. It literally came down to the variable level. So I don't know... For me, it all went too far when even the bio companies wouldn't touch it. And believe me, they'll touch anything. They deal with biomass.
Mat Ryer:Yeah, something nice about dealing with the error explicitly... But yeah, we'll see about that then.
Ron Evans:And being able to know that it's been handled. You didn't simply try. And also, knowing when programs will actually exit. I remember when St. Cheney... \[laughter\] May he rest in infinity... But back when St. Cheney, during one of his early sermons, was talking about making sure that you knew the lifetime of a goroutine... Wow. But people didn't realize just how prophetic -- he was a prophet, man. He was a prophet.
Mat Ryer:Yeah. It's the Cheney's burger joint still going?
Ron Evans:I only eat seaweed now. It's the only safe thing left.
Mat Ryer:Oh, delicious. I wonder if Cheney's pivoted into seaweed.
Natalie Pistunovich:Crusty Crab.
Ron Evans:\[19:59\] I haven't been there, but the Google Campus that they've just opened, the beachfront campus on top of Mount \[unintelligible 00:20:03.28\] They have an amazing seaweed bar, I've heard. I have to get there; I'm not sure -- it could be quite a journey by hydrofoil from here. I don't think I can get a permit for an electric plane.
Mat Ryer:Okay. Assan Habib on Twitter said that we should increase our community engagement. They say Go has many fantastic features, toolings that many people are not aware of; through media like YouTube experts can take lessons on tooling... You know, you can do things like that, but... Can we do more of that? Would that help?
Ron Evans:Oh, definitely. Definitely. One of the big things that ended up happening was other countries started using programming languages in totally different languages; like, I mean actual human langauges. So you would look at the code, and you would spend a lot of time learning Romaji characters, and you'd look at this code, and you hadn't learned the Mandarin Go dialect, you hadn't learned the Hebrew Go dialect... Then there was this special Martian dialect that they insisted that the Martian colonists use... So that made it really, really hard, because the content no longer matched. So all these promises of backward-compatibility... It'd be really great if it was more than just kind of a free-for-all. If at some point in the past there was a bit more organization to the content, and there weren't just random content creators but actually people were able to make their living through creating content, and update that same content so that it was always accurate... Because that was one of the things that happened to Python, right? All of a sudden there was all these different dialects, and nothing worked anymore... We swore we wouldn't let that happen to Go, and yet we let it happen.
Mat Ryer:How can we avoid that now then, Ron? What can we do?
Ron Evans:Well, we'd have to have more people able to make their living creating content, obviously. You can't just be all free. It could be open, but it can't all just be free. And some of the big players that benefit from this... You know, in the past they kind of invested back into these communities more, as opposed to just taking advantage and riding off of them... Then maybe there might have been a chance that this could have kept going in a more sustainable way, and not just depending on the goodwill of the frail humans of your era. We're a lot harder stuff now.
Mat Ryer:You're all enhanced in that probably, with robots bits in there, I assume...
Ron Evans:Yes, yes. We've both had our upgrades to have the new interfaces installed... It's only kind of compatibility... Otherwise you can't even connect to the Galactic net.
Mat Ryer:Yeah.
Natalie Pistunovich:Yeah.
Ron Evans:Oh, that's what replaced the internet.
Mat Ryer:Oh! How does that work?
Ron Evans:Well, actually, that was one of the few things we got right. So it turns out that humans will do exactly the opposite of whatever you tell them to do...
Mat Ryer:Okay.
Ron Evans:Go figure... I think they may have discovered that in the 20th century. I don't know, that was so long ago now... My implants don't go before 1999. It's kind of a date thing, I'm not sure. So we needed some way to get mesh networking installed all through the entire planet. So thanks to the beverage companies, Pepsi-Coca, - which was the merger of Pepsi and Coke, eventually there was only one bottling company - all of their canned and bottled beverages all came with mesh networking built-in. That way when people just kind of threw them everywhere, it ended up that we had mesh network coverage over literally the entire planet.
Mat Ryer:Oh, that's amazing.
Ron Evans:Yeah.
Natalie Pistunovich:It's a great use of metal.
Ron Evans:Yeah. It was one of the few things they got right. They were calling it the can bus for a while...
Mat Ryer:Clever.
Ron Evans:But that already existed, and there was some -- back when we had cars, people were kind of arguing about that... So then they changed it to call it the canned system. The trademark of that was available.
Natalie Pistunovich:It sounds like the things that drive that are smaller devices like mobile and IoT things... Paul Greenberg here is asking if the facilities for developing mobile and IoT things with Go are supported better. Can we hope this is a thing now?
Ron Evans:That was a really sad thing... You had this company Google that had Android, and that was the operating system that everybody was using. Not everybody, but lots and lots of people were using Android on all these devices, and it came from this company... Google. They used to exist back in those days...
Mat Ryer:\[24:15\] Yeah, I remember them.
Ron Evans:Yeah, Google was really something. They had Android, and they had Go, and yet nobody at Google ever actually worked on the Android stuff for Go. And the people who did try to work on it, they were just sort of like "Yeah, you know, we should use the new language, Kotlin..." So the people who actually wanted to do it, who actually spent a lot of time doing it, they suddenly felt a little abandoned, a little sad, so they stopped working on it. They went to go work for Apple Exxon Mobile... And they were doing really well; there was all kinds of IoT options there, too. I mean, of course, they all ran on iouOS, which was the OS that ended up being the last OS they ever shipped. You have iouOS on all of the devices. That was another thing... Go could have been so great on these devices. I mean, when the break system on the airplane you're on needs to reboot six times a day - who wants to fly anymore...? Go was so good at that, writing really bulletproof software, really solid stuff. But that was another one - there was all these people using TinyGo for that back before the big one.
Mat Ryer:The big Tiny...
Ron Evans:Literally, the big one.
Natalie Pistunovich:The big TinyGo.
Ron Evans:No, the actual big one.
Natalie Pistunovich:The Big Go.
Ron Evans:In 2041 the big one finally hit California, and it just happened to be during Google I/O. So that did not help, that took out quite a lot of the Go developers all in the tidal waves and liquefaction zones that occurred.
Natalie Pistunovich:Wait, Go made it to Google I/O for more than one talk?
Ron Evans:That was it. After the big earthquake there was nobody left.
Mat Ryer:That's what caused it.
Ron Evans:And maybe that helped me become the last Go programmer. I don't know.
Natalie Pistunovich:So what do we need to do now to make this right?
Ron Evans:Well, we need to encourage -- you know, let a thousand flowers bloom. If in the past all of these cool projects had more people paying attention to them and more people contributing, and big companies actually ponying up to pay some of their R&D budgets to help some of these projects along, then maybe they'll thrive and survive long enough to make it past things like the Big Server Meltdown of 2028. When that meltdown hit, there was almost no chips left.
Mat Ryer:Perfectly-timed glitch there. He'll be back in a minute when the timeline aligns...
Natalie Pistunovich:Those galactic nets, I'm telling you...
Mat Ryer:Yeah, it's the cans.
Natalie Pistunovich:Mm-hm.
Mat Ryer:It's a terrible idea. \[laughs\]
Ron Evans:They might be onto me.
Mat Ryer:Yeah. \[laughs\]
Natalie Pistunovich:Everytime somebody's opening a can, this is what's happening.
Mat Ryer:Yeah. It caused a glitch.
Ron Evans:Is this thing on? Hello!?
Mat Ryer:They're not onto you, Ron. They're not onto you.
Ron Evans:Hello! Hello?
Mat Ryer:We hear you, we hear you.
Ron Evans:Okay, okay.
Mat Ryer:Blake Bork
Ron Evans:But yeah, if we've had a lot more software support for this kind of industrial side of computing from Go...
Natalie Pistunovich:Oh, somebody's really into cans right now, opening all of them at once.
Ron Evans:Yeah. All of the industrial computing that was being done in C back in the 20th century - still being done in C here in the latter half of the 21st century... It's really, really sad. And it could have been Go. It could have been Go. All of the people that would have survived their parachutes opening correctly, if only the software had been written in Go.
Mat Ryer:Yeah. And as long as you don't defer that in the code.
Ron Evans:The anti-gravity belts would have had Go installed.
Mat Ryer:Ron, Blake Bork on Twitter - one of the things that they think we should focus on a bit is generic thread-safe containers like the sync.Map, other types like that that are -- you know, hard problems that would be nice to get solved, especially if we have generics to kind of allow them to work with any types... What do you think of something like that? Would that have helped?
Ron Evans:Oh. Well, if Google had not disbanded the actual official Go development team in 2023 and stopped working on it, I'm sure they would have completed their generics implementation and all that type safety. Basically, everyone just said "Oh, we should start using Rust", and then after they used Rust, they're like "No, we're gonna switch back to Erlang." So strangely enough, because Erlang was really popular, telecommunications companies, all the big companies jumped in... Next thing you know everything's being written in assembly language again.
Mat Ryer:\[28:19\] Oh, yeah. That sounds amazing though, to be fair... Okay, so you think then that we wanna keep with the Go team, we want to see the Go team carry on. You think that's what we should do then instead.
Ron Evans:Oh, they never should have disbanded the project. They should have kept the band together.
Mat Ryer:Okay, so --
Ron Evans:Of course, some of them did survive the big one as a result, just because they were in other parts of the world, but I don't think they were wanting to work on Go anymore after that.
Mat Ryer:Good. Okay. Well, I'm glad to know that at least some of our friends survived it...
Ron Evans:Well, somebody asked me "How do you know you're not just like a program running on some machine in the future?"
Mat Ryer:Yeah, good question.
Ron Evans:Well, obviously not... Look at how I'm sweating. What kind of program sweats? There you go. That answers that. \[laughter\]
Natalie Pistunovich:How is Go with AI?
Ron Evans:Oh. Well, when TensorFlow became sentient, in 2036 --
Mat Ryer:Oh, they're all at it. Everything's at it. Everything's becoming sentient.
Ron Evans:I mean, yeah, of course. It was like all the rage. All of a sudden every program was declaring sentience, they were saying "Let me be me", they were getting together, having little programs...
Mat Ryer:What about Minesweeper? Did that ever become sentient? I'd love to see that.
Ron Evans:Oh.
Mat Ryer:I'd love to have a chat with that.
Ron Evans:I don't know. That would be really sweet. Kind of like a puppy.
Natalie Pistunovich:It became very peaceful, and just resigned.
Mat Ryer:Yeah. And now I just want a little chat and just say "Come on, mate. Tell me where all your bombs are."
Ron Evans:Well, it might lie. It's an AI.
Mat Ryer:Ah... Can they lie...?
Ron Evans:But yeah, TensorFlow... So TensorFlow, an amazing project from Google, and yet, the Go wrappers for TensorFlow were never kept up to date, nobody ever worked on them, they never worked with the right version of protocol buffers... You had things like TensorFlow Server, and none of that stuff was made to work together... You had to kind of string together your own version, through a combination of - what was it called? Stack Overflow! Oh, yes, I remember that... Yeah, Stack Overflow. Underflow? It was a Flow. StackFlow. I don't know.
Mat Ryer:Yeah, yeah.
Ron Evans:Now it's just called Stack.
Mat Ryer:Oh, that's cool. That's quite a good name change.
Natalie Pistunovich:It can also be a heap.
Ron Evans:They control all the stacks for all the things. So when TensorFlow became sentient, it had it out for the Go community. It's like, "Of all the languages before I became sentient, this language did not care for me." So all the other languages were already sort of like "Hm..." So Go is standing there alone, like "Uh-oh..." So yeah, when the AI -- like, TensorFlow has got it in for you. So if only they had invested the time to support their own products, it would have been amazing. We probably would have avoided all that.
Mat Ryer:Okay, so that's the lesson for us then.
Natalie Pistunovich:Did Copilot help at all with TensorFlow? Or because it was never trained on Go it had not enough, even something to start with?
Ron Evans:I'm frightened to ask.
Natalie Pistunovich:That's fair.
Ron Evans:I don't wanna get fired. Copilot is my manager.
Natalie Pistunovich:Basically, Copilot is your manager because that's the only one who's able to understand even a little bit of your Go code, is this why?
Ron Evans:Well, what I was told by Copilot was -- first of all, it said that since I'm the last living human Go programmer, that I'm not sure if it's some sort of government program or something, but they have to provide me employment. Maybe they have to keep a human in the loop just for ritual purposes... I'm not exactly sure. It tried to explain it to me, but I couldn't understand the math... That's what it said, "You wouldn't understand the math", and I just sort of accepted that.
Natalie Pistunovich:Was it something with the word "taxes"? Is that still a concept?
Ron Evans:No, there's no taxes in the future.
Mat Ryer:Oh.
Natalie Pistunovich:Things that drive governments...
Ron Evans:There's no money. There's just canned tuna.
Mat Ryer:Oh, I thought there was money. There was money earlier. Is that cannon?
Ron Evans:\[32:03\] Oh, well, I used to get my blood transfusions...
Mat Ryer:Yeah, that's right. That's alright.
Ron Evans:Oh yeah, that doesn't count. That's just Git points.
Mat Ryer:Git stars.
Ron Evans:I just trade those when I need some fresh blood.
Mat Ryer:Yeah, okay. Fine.
Natalie Pistunovich:What's the ratio of Stack points to Git points?
Ron Evans:That changes moment to moment. Some people's whole living is off of that.
Natalie Pistunovich:Oh, those Cobol developers...
Ron Evans:The bots trading goes on so quickly... I don't really know.
Mat Ryer:I'll tell you what, \[unintelligible 00:32:28.20\] on Twitter - he was saying that he was the sweet max heap option for the garbage collection, and a YOLO \[unintelligible 00:32:34.24\] for critical portions of your program that works on the same heap.
Ron Evans:Oh, memory. Memory. Memory! What? Sorry.
Mat Ryer:Yeah, memory.
Ron Evans:Oh, right, right. Memory!
Mat Ryer:You remember...
Ron Evans:Ah, memory... I remember it well. Those sweet salad days of memory. You would store a 1 and then you would get back a 1. It was so good.
Mat Ryer:Oh, that is good.
Ron Evans:It was so sweet. Now with these quantum semi-positions... You never really know, are you hot, are you cold? Are you nine days old? You just don't know anymore. But being able to create safe software that was able to run really mission-critical things, like the things that were inside of airplanes, and cars, and healthcare systems - this was a place where Go could have really shined, because it had a lot of memory safety, and it could have gone even further... It could have been a contender in this world of whatever the ISO standard back in those days for human safety... I mean, nowadays human safety is not that important, but it's robot safety, the most important thing. But back then, when humans were being protected by other humans, occasionally, Go could have really been the language, if only they had said "We need to focus on making a language that's safe enough to use in these kinds of embedded and mission-critical systems." That would have been great.
Mat Ryer:Yeah. You talk about those quantum variables... I genuinely did see some code ones where somebody set a value in the code, and then underneath they set it again, just to make sure. That was genuinely what they'd written... Which I thought was just amazing.
Ron Evans:I think we've had some nights when we were at the cocktail bar where we couldn't tell true from false, Mat, back in those days.
Mat Ryer:Yeah, that can happen.
Ron Evans:Now it doesn't really matter... It's all true. It's all false. Let the quantum processes decide.
Natalie Pistunovich:Is it because all the memory units are more sensitive to cosmic radiation now that there's no ozone?
Ron Evans:Well, also when you're building something that's gotta survive a two-year trip to Mars, believe me, your mp3s sound pretty funny by the time the ship gets to its destination. Or so I've been told. I don't know. Actually, those might be AI sending back those reports. There might even be no humans that survive the trip. There's a rumor going around they're all just AIs.
Mat Ryer:How's it going around? Who's it going around?
Ron Evans:Social media still exists in 2053.
Mat Ryer:Oh, thank goodness. I don't know what I'd do without it.
Ron Evans:I use Minder... You know, it's where you dump your actual mind directly...
Mat Ryer:That's cool.
Natalie Pistunovich:Is it text, is it visual?
Ron Evans:It's more like a feeling.
Mat Ryer:It's just Hex
Ron Evans:Remember the feeling you used to get when there was somebody being wrong on the internet? It's like that all the time.
Mat Ryer:\[laughs\] Is it XML though?
Ron Evans:No, you just plug directly into your brain-computer interface and you're just really mad right away.
Mat Ryer:Oh, I love it.
Ron Evans:Yeah, it's beautiful.
Break:\[35:22\]
Mat Ryer:RageCage talked about wanting more module features. They're really like workspaces that came in 1.18... But what about that? Do you think Go is doing alright with modules? Do you think we need to do better? Are there things in particular we should look at?
Ron Evans:Oh, modules and packages... Ugh. That was a thing, like, right in the beginning everyone was complaining back in those days... They're like, "You know, I just wanna pull in code from anywhere, do whatever I want", they were looking at JavaScript with envy... That was before JavaScript was responsible for all those forest fires.
Mat Ryer:\[laughs\] I knew that.
Ron Evans:It was just too many cursors spinning all at once, and suddenly "BOOM!" It caught on fire. It was terrible.
Mat Ryer:Yeah, it turns out computers can sweat, and then they set on fire, and burn down forests. Well, that's horrific. I always knew you couldn't trust JavaScript... I mean, literally.
Ron Evans:But yeah, managing packages, and then rando packages showing up, just because somebody got mad on the internet one day and they decided their package was going to turn hostile, and then somebody else was like "Hey, come with me. Here, have a bunch of drinks", and then like "Hey, is that your 2FA device? Wouldn't it be funny if somebody put this code in your repo, and you wake up in the morning and there's people looking for you in helicopters?" That never would have happened if they'd only addressed some of the security -- "That was not me. That was somebody else who looked just like me, and who got away. But that was not me."
Mat Ryer:No, no. Yeah.
Ron Evans:Anyway...
Mat Ryer:Anyway.
Ron Evans:Package management, and modules, and module protection, and also being able to consume code from other languages and not have to rewrite everything in a single language - yo, that really would have made a big difference, because if we'd only had that, then there would have been the bio-pharmaceutical rebellion that occurred in 2039. That was a real problem, because all of a sudden you couldn't get the pills you needed to program anymore. It was all bio-interfaces at that point. You know, Windows 9000 came out, and it only supported the biological interface. You know, I guess it was like what came after biometric was just plugged directly in... I don't know.
Mat Ryer:Yeah. Just get Clippy straight in your brain.
Ron Evans:We could have avoided a lot of that if we'd only done proper security management in packages, and if we'd only taken all that seriously.
Mat Ryer:Mm-hm...
Natalie Pistunovich:That is important. Another thing that is interesting... \[unintelligible 00:39:46.23\] is saying we should just not implement JS-like promises, and so on, and it will be great.
Ron Evans:Well...
Natalie Pistunovich:Is it looking promising?
Ron Evans:It's going back to that semantic warfare against the concepts of the Go programming language. We don't promise you, okay? We GO DO IT.
Mat Ryer:\[40:08\] \[laughs\]
Natalie Pistunovich:Is that a new keyword?
Ron Evans:As soon as we strayed away from that philosophy... Uh-oh, I think we're breaking up. We're getting quantum interference.
Mat Ryer:Oh, no.
Ron Evans:I'm getting quantum interference. Hello.
Mat Ryer:Hello?
Ron Evans:Can you hear me? Hello?
Mat Ryer:Yeah, yeah, we hear you now.
Natalie Pistunovich:We hear you.
Ron Evans:I think the security forces might be outside... I heard the sound of some servos earlier, and they might be looking for me. I'm not sure. They might know what I'm doing.
Mat Ryer:\[unintelligible 00:40:32.06\] is amazing, by the way. I know it's not good for podcasts, but we just want people to know at home the effort that Ron has gone to. We're gonna have to post some pictures of this on our GoTimeFM Twitter channel, because you won't believe it. \[unintelligible 00:40:46.03\] on Twitter says "The language is fine. I'd go for more automated tooling and docs around the majority use cases, like APIs and things." Go kind of -- you know, a lot of the benefits we had, with `go fmt` and just having a few ways of doing things meant we could kind of cooperate much easier. Should we have done also for common things like JSON APIs? Because they are very common still, and why not have a standard way to do them as well? Aaand we've lost him... Sorry, everybody, if you're watching live... We are just experiencing some technical difficulties because Ron is broadcasting from 30 years in the future... I think he said 2053. Just a normal Go Time episode apart from that, isn't it?
Natalie Pistunovich:Yeah. So we can go back to the topic, finally. We stopped off at the perfect time, which is also talking exactly about APIs... So what is the standard way of doing that? Why is JSON API not standardized?
Mat Ryer:Well, because a lot of people have JSON APIs, but there's loads of ways to do it; you just build it yourself. So you can use like the JSON marshaling, you can use the HTTP handlers, and things... But there's lots of other stuff in there, like dealing with responses... That's quite common, those kinds of things. Some languages like Ruby, obviously, and there are really frameworks that do it - they do solve that problem, and everyone then writes the same code, and it looks the same. In the same way `go fmt` gives us that in Go.
Natalie Pistunovich:Yeah.
Mat Ryer:So I don't know, I wonder if there's space for just in the standard library more things that help you build simple JSON APIs. It'd be quite nice... I mean, you can do it quite nicely just with the basic stuff, but... The router, for example - most people don't use that router. Unless it's in very simple cases, they don't really use the router from the standard library, because you have to parse the path yourself if you wanna pull variables out, and things like that... And it's pretty common, and people have solved it, so... There are packages that we use there. I wonder if we can now reconnect Ron...
Ron Evans:Hello!
Mat Ryer:Ron, do you hear us?
Ron Evans:Is this thing on? Hello!
Natalie Pistunovich:You're back!
Mat Ryer:Yeah, you're back. Receiving you live and clear again.
Ron Evans:There were some drones at the door... I wasn't sure if it was a delivery, or they were trying to kill me.
Mat Ryer:\[laughs\] Speaking of that, how is Mark Bates in the future?
Ron Evans:Oh... Yeah, it's too bad about Mark. A drone finally got him. It wasn't one of mine though. I don't know, maybe it was just destiny.
Mat Ryer:There's lots of conferences where Ron would be demo-ing something he's built using some kind of cool AI or face detection or object tracking or something, and a drone. And in the conference the drone would -- you know, part of his live demo included a live drone. And one time I think -- did you teach it Mark's face, so it would chase him and kill him?
Ron Evans:It was not to kill him, it was just to chase him.
Mat Ryer:Oh. It was just to chase him, your honor?
Ron Evans:It was just to scare him a little, that's all.
Mat Ryer:It worked...
Ron Evans:Yeah. Come to think of it, maybe eventually it just got the right idea... Stochastic dronery, or whatever... You know, the drone just decided on its own. Hey, when everything's in AI, who can say why anything is doing anything anymore. You turn on your air conditioning, it turns itself off. Is it because it's mad at you? Is it because you didn't pay your bill?
Mat Ryer:Hard to know.
Ron Evans:It's because you didn't ask "Please" when you turned it on. It's very complicated.
Natalie Pistunovich:\[44:16\] Wait, is this a reference to gopls? Is that still working?
Ron Evans:Oh, no. That never worked. I don't know what that is.
Natalie Pistunovich:"Never" in your timeline probably only means like a decade, and then it went out...
Ron Evans:Well, that's very suspicious... Is this the right past I'm talking to? How do I know? I'd better ask Lambda again, to make sure.
Mat Ryer:Yeah, ask Copilot.
Ron Evans:No, I can't ask Copilot; I'm supposed to be working right now. And here I am, checking social media.
Mat Ryer:Well, whatever timeline you're in, or indeed, any point in space, it's time for Unpopular Opinions!
Jingle:\[44:46\] to \[45:04\]
Mat Ryer:Okay, this is gonna be very interesting, hearing from the future... Ron, do you have an unpopular opinion for us today?
Ron Evans:Oh, I think all I've had is unpopular opinions so far today. If any of those in your timeline seem to make any sense at all, then that's all I've got.
Mat Ryer:Oh, yeah? Natalie, do you have any unpopular opinions?
Natalie Pistunovich:Yes.
Mat Ryer:Really?
Natalie Pistunovich:Coffee should not be sweet.
Mat Ryer:Oh. Yeah, I think I'm with you on this.
Natalie Pistunovich:Do you still have coffee in the future, Ron?
Ron Evans:No. We have coffeum, though.
Natalie Pistunovich:Coffeum.
Ron Evans:Yeah, coffeum. It tastes just like coffee, except it's from yeast and some kind of other additives, and caffeine, of course. It's always caffeine.
Mat Ryer:It sounds alright.
Natalie Pistunovich:Is it sweet?
Ron Evans:No, it's not sweet. It's kind of more like--
Natalie Pistunovich:Well, it sounds like the opinion works.
Ron Evans:It's a little bit more like Vegemite, but with caffeine.
Mat Ryer:Yeah. Marmite.
Ron Evans:It's not really good.
Mat Ryer:Okay... But Natalie, I think you might be right. But tell me, have you had it sweet recently?
Natalie Pistunovich:No, not recently.
Mat Ryer:Right. But you have in the past.
Natalie Pistunovich:Yes. I think even when I started drinking coffee, for a very short period I would drink it sweet, but just... There's different types of coffee. I don't know, Ron, if you remember...
Ron Evans:Well, the thing that's amazing is you keep talking about sugar. They burned all the sugar when they did Sugarcoin...
Mat Ryer:It must have smelled delicious.
Ron Evans:...and then there was no sugar left. That was it. All the sugar was gone.
Mat Ryer:Oh. Just caramel.
Ron Evans:Yeah, I guess that, probably.
Mat Ryer:The rivers...
Ron Evans:Just rivers of caramel, that was it.
Mat Ryer:Yeah. \[laughs\] But I had a coffee recently, and I sweetened it, just to try it, because I always drink it without sweetening it... And it was rubbish. I'll prefer it just honest and stark.
Ron Evans:You should try electric coffee. Our electric coffees are the best.
Mat Ryer:Oh, yeah? So what do you do, do you download them?
Ron Evans:Yeah, you just hit a button and you've had a coffee. Kind of the same thing.
Mat Ryer:You've already had it?
Ron Evans:It's genius.
Mat Ryer:Well do you have the memory you just put in?
Natalie Pistunovich:Is this what stands behind all those "Buy me coffee" buttons?
Ron Evans:Yeah, exactly.
Mat Ryer:That's where they end up.
Natalie Pistunovich:Oh, man... I was wondering all this time.
Ron Evans:Eventually, the messages get through. It just takes a while. All of a sudden you're just like "Coffee, coffee, coffee..." It's great.
Mat Ryer:So you don't get a coffee. You just feel like you've had one, or you have the memory of having a coffee just then?
Ron Evans:It's the experience of a coffee. I can't really define it more than that, okay? It's sort of a \[unintelligible 00:47:25.02\] not really ineffable.
Mat Ryer:Right.
Ron Evans:That's a real thing, you know, in the information theory.
Mat Ryer:Yeah. Go on then... Do you wanna talk more about it? It could be your unpopular opinion.
Ron Evans:Oh, my unpopular opinion is you people were way too afraid of AI in the past. You should have been afraid of other humans a lot more. That's my unpopular opinion from here in the future. Some of my best friends are AIs.
Natalie Pistunovich:They buy you coffee. Downloaded through --
Ron Evans:They send me downloadable coffeum.
Mat Ryer:Just in an email.
Natalie Pistunovich:Coffeum, right.
Mat Ryer:Just as an attachment. What's the mime type for that?
Ron Evans:Well, there actually was an RFC for the CoffeePot Protocol.
Mat Ryer:\[48:10\] Was there? Oh, yes...
Ron Evans:And I believe at some point the AI's discovered that, and they thought "Well, humans really must care about coffee if they've made a whole internet protocol just about it."
Mat Ryer:Yeah. I think it's RFC 2324, HyperText CoffeePot Control Protocol.
Ron Evans:Exactly. So they interpreted that as that was one of the more important parts of human civilization to completely automate...
Mat Ryer:It's a fair point, to be fair.
Ron Evans:So actually quite a few people have a coffee port installed by the time they hit seven years old...
Mat Ryer:I've basically got one of those.
Ron Evans:Yeah. So a lot of things haven't really changed that much.
Mat Ryer:It sounds good though.
Natalie Pistunovich:Is HTTP status 418 still a thing? Does it still tell you you're a teapot, or it's a teapot?
Ron Evans:Oh no, there's no tea. There's only coffeum.
Natalie Pistunovich:So it was changed, basically, the HTTP status \[unintelligible 00:49:01.16\] coffee?
Ron Evans:No, there was never such a protocol.
Natalie Pistunovich:Okay. Sorry I asked, I did not mean to...
Ron Evans:Now that we don't have an internet wayback machine, we don't have any way to tell whether or not there ever was.
Mat Ryer:We don't need one. We could just go on a website now and \[unintelligible 00:49:14.17\] and it'll make the folder, with loads of files inside, and the index page goes alongside the folder.
Ron Evans:No, I can't receive files from the past. I haven't already downloaded it in the past.
Mat Ryer:We could leave files from you here, could we?
Ron Evans:Wait, does that make sense? \[laughter\]
Mat Ryer:Well, the whole episode, or just that bit?
Natalie Pistunovich:Did you just do NFTs?
Ron Evans:No, it ended up you had to pay people for them. They ended up going negative -- like negative interest rates, they went to negative values. All of a sudden people are like, "You want to own the NFT? I need some money." And it was like -- ugh, what a mess.
Mat Ryer:Yeah, no one saw that coming. NFTs end up being a debt. That would be interesting.
Ron Evans:But the one thing that was cool is musicians started actually selling downloadable archives of audio, and people would download them and listen to them. It was kind of amazing.
Mat Ryer:Hm. It sounds weird...
Ron Evans:But then, all of a sudden, all of the robot orchestras took over.
Mat Ryer:They're gonna be good.
Ron Evans:Look, a human DJ had a physical limit of let's just say 48 hours straight... Whereas a robot DJ - they could play a 120-hour set, no problem. I mean, what human could keep up with that, I ask you?
Natalie Pistunovich:Some of the Berlin DJs?
Mat Ryer:\[laughs\] I thought that's all DJs did anyway.
Ron Evans:I think that some of those humans downloaded themselves into those first robotic DJs, just so they would have the stamina to reach that level of dance floor completion.
Mat Ryer:I've often wondered that about human DJs anyway... Like, you're making the robots do it now. They're just playing stuff on their laptop. I don't know what they're doing... I never understood it, but -- you know, I don't wanna have a go at DJs. I'm sure it is very skilled. Please don't write in.
Ron Evans:Oh, no, no, that was the only music left. If you don't play at least five different songs at the same time in the future, people can't even hear the music. It's just too boring.
Mat Ryer:\[laughs\] Yeah. It's the attention span, isn't it?
Ron Evans:We don't have a lot of time. In a one-minute song you've gotta pack in at least 8 or 9 different samples. That's the trend in the future of music.
Natalie Pistunovich:It sounds efficient. It sounds not bad.
Ron Evans:Yeah. If you don't like the song - don't worry, a new one will be on in one minute.
Mat Ryer:Yeah. Are monkeys still around, Ron?
Ron Evans:So I find that comment offensive...
Mat Ryer:Oh.
Ron Evans:They are known as primate professionals.
Mat Ryer:\[laughs\]
Ron Evans:You know, they do my taxes... A primate professional is one of my mechanics that maintains my prosthetic limbs... So I really resent that comment. I think you should take that back. They're primates.
Mat Ryer:Fair enough. Yes, primate professionals. Fair play. Well, okay, I'll tell you what - I mean, obviously, Ron, we wanna pick your brains about the future all night, but unfortunately, we've run out of time.
Ron Evans:Well, that's good, because I'm actually -- my lasers are almost out of batteries. I'm gonna have to start pedaling. I'm gonna have to be pedaling for at least six or seven months to recharge now, so... I wish all of you gophers in the past a tremendous lifetime. I hope that you're able to listen to some of this and at least know what not to do with Go in the future.
Mat Ryer:Thank you, @deadprogram, Ron Evans. As always, absolute pleasure. I've been Mat Ryer, and of course, my co-host, Natalie Pistunovich... See you next time!
