Back to Community

Quantum Quests

Ever talked about Quantum computing in more depth than just skimming the surface...? Well this chat with Ethan was one that took a deep dive into a world few of us know...check it out!

Watch on Youtube

Jonathan: Well, good morning. Good morning for me at least. It's Jonathan here. I'm with Ethan Hansen on the Exercism podcast. Ethan, it's fantastic to have you. You are somewhere very different in the world, a completely different time zone. So for me, it's the morning, for you it's the night. Why don't you just tell us a little bit about yourself? Where are you currently? What are you up to? Give us a little bit of an intro into where you're at currently. Ethan: Yeah, thanks Jonathan. It's great to be here. Even if you've got to be up really early and I got to be up a little bit late, I'm glad we can make this work. Yeah, I'm here in Oregon. Yeah, West Coast, West Coast, a little tiny town where I grew up. And yeah, I'm on break right now from college, from school. And I'm here in Oregon. I'm here in West Coast. I'm here in Oregon. I'm here in West Coast. I'm here in Oregon. I'm here in West Coast. I'm If you want to know how I got here, that's a fun story that I'm happy to go into. If you just want the brief intro... Jonathan: So there it is. Okay, awesome. And so Oregon, I'd love to visit. I think isn't that the home of, is it Portland? Is it Portland? Seattle is Washington, if I'm right. So you're neighbors. Yeah. I'm sure there's a bit of rivalry between the two cities, which we don't need to necessarily go into straight away. But how come you're on holiday? I thought everyone was back studying or back to work. What's going on there? Is it just the way things fall with term time and stuff like that? Ethan: Yeah, actually I know a bunch of other people who are at different colleges who are back and they're in the swing of things, but my college has not started up at Case Western Reserve University. It's where I'm at. I'll be starting up in about four days here. Jonathan: Okay and Ethan, how long have you been studying there? Like where are you currently at in your journey for studying? Ethan: Yeah, I'm a current second year student. Although I tell people I should be a third year junior because I took a gap year, actually. Before I started college, I took a gap year during the pandemic, which I think was quite possibly one of the best choices I ever made in life. I got to skip out on Zoom school. And I got to work for a super sweet company doing some stuff with quantum computing, which was a story in and of itself. Jonathan: Wow. So, so now you so then that must mean you were you would have been at school, kind of coming into the beginning of 2020, right? So that would be your final, final year. Pandemic hits. And suddenly, I mean, you must have been what like a term into into a gap here? Or had you started your your first year at university? And were you like, I'm out of here? What was it like the detail, details of that? Ethan: Right, okay. So, yeah, graduated high school or I guess secondary school for you, people across the pond. And that was like May 2020. So right in the thick of things. And I started my internship with this quantum computing company at that time. And I was doing it for a while. I was really enjoying it. And things just were not getting better, you know, with the pandemic and everything. And I went, hmm, do I really want to do more of that Zoom school that I got like a month or two taste of at the end of high school? I decided against that. And yeah, with this company, I did some marketing work, which sort of naturally came out of... Actually, I've got my own podcast about quantum computing, which if people want to go listen to, it's quantum computing now. I haven't posted anything there for a while because I've been doing research at my college. But it's been a great experience doing that podcast and great to do this work with this company. Talking to people, figuring out the best way to explain complicated science and engineering and technical challenges to more of like a business audience or like a lay audience has been really, really interesting. Jonathan: Okay. There we go. We're back. Welcome back. Interlude, internet outage interlude there. So I think, poor Ethan, you were mid flow and then everything froze on my side. So we'll just pick off where we left off somehow. But I'll find a way to couple together all of the editing and no one will ever know. No one will ever include that inside. Ethan: For your editing information later, I did clap a couple seconds after. It all went down, so you can hopefully find that place a little bit easier with the spike in the audio. Jonathan: Nice. So you know those little like little what they call the director clip things where they go...Yeah, the clappers. Yeah, I think actually maybe that would be something I need in the swag store for Exercism. Like a little... Yeah. Ethan: Yeah, the class. A little bit. Yeah. Jonathan: But okay, so sorry, let's just rewind. Pre-technical issue. So now you just said to me that you'd started like an internship with a company. So how did you, but you'd been studying up until that point, you graduated and then you ended up as an intern. Was that like a summer holiday job? Was that something you had just thought, you know, I just need to fill my time? Like what was the story there? Ethan: Yeah, it started out as just like a summer thing, but then I extended into a full gap here. But it wasn't really like filling my time. I'm really interested in quantum computing. I think it's fascinating. It's got the potential to change so many things. Although at this point, I think it's a little bit of a race. I'm not sure which one's going to win, whether it's going to be quantum computing that changes more things first, or AI, with all the crazy stuff coming out of chat GPT and whatnot. It's wild. But yeah, so yeah, I don't know. How much of that stuff have you seen? Because I've talked to people who are fairly well versed in tech and they're like, you know, I haven't heard about chat GPT. Tell me about this. Jonathan: Yeah, I actually probably probably not the greatest thing and this is where I think I realized the potency of it because it like popped up and I was like yeah yeah whatever some sort of you know it's like oh blockchain whatever everyone you know you kind of think is this just a fad but so my wife doesn't speak any one she does speak English but she's Swiss so English isn't her first language and she has a little kid's business and has to do a lot of marketing especially Instagram posts, newsletters, all that kind of jazz because it's her own little thing and anyway she messaged me the other day she was like listen would you be able to help me with some marketing material like a newsletter or like a little I think it was like an Instagram post where you have to describe give a description and to be honest I really dislike writing marketing or promotional material because it takes like a piece of your brain which is...yeah whatever. So anyway I was like oh let's just let's I've heard about chat GPT for marketing let me just go and I was super cynical about it I was like this is this is probably gonna be terrible but anyway so we we gone together and she's sitting there and we like we type in like right like a small piece of promotional material for an Instagram post hit the thing and we gave it quite specific instructions and what came out we were like this is amazing or for my wife who's not a native English speaker to be able to put to put out marketing material and not for it to take literally about three hours for her to do that mind-blowing. And so I did English literature at school so for me English is like fairly, I understand English, I understand how to write it well and tie things together. I was blown away by that. So she's now like all promotional marketing material, she's like chat GPT and I'm like oh we're just fueling the machine. Oh absolutely. It's terrifying, it is really terrifying. Sorry little divergent move there but yeah that was that was on me. Ethan: No, no. Yeah. That's all my fault. But yeah, okay, so I feel like we're sort of working backwards, right? We started like where I'm at now, like what I was doing last year. But if we want, I could do the whole story from the beginning if you want me to. Jonathan: Let's go for it. I'm up for stories. Stories are great. Ethan: All right, perfect. So yeah, I mean, I was born and raised in small town Oregon. Not the same small town, but I haven't lived, until I went to college, I haven't lived in a city with a population over 2,000. So that's- What? 2,000? Yeah. That's tiny. Yeah. I say small town and people are like, oh, you know, like maybe 20, 30,000. I'm like, no, no, no. The nearest 20, 30,000 is like a 20 minute drive away. Yeah. Wow. Yeah, so, but I love it. I always was running around on the farm, planting stuff, taking care of goats, chopping down trees, all that good stuff. But as I got older, I realized I really liked tinkering. And so I started doing stuff. I've got this great friend who's... He's an older family friend who is this brilliant mechanical engineer by trade, but knows everything there is to possibly know about electronics. And he does RC car stuff. He's built his own RC planes during the weekend for fun. And not from a kit, but he draws out the designs himself and then uses a hot wire to cut styrofoam anyway. It's like absolutely brilliant guy. And he helped me do some stuff. I learned some tinkering and I realized that I was really slow when it comes to tinkering with my hands because I like getting things right the first time if I can break it and then it doesn't work. But I sort of started to know that initially, didn't really fully grasp it. And so from the time I was like six years old, I wanted to be what every six-year-old wanted to be, which is an aerospace engineer, of course. I want to... Planes. Yeah. Yeah. Everyone's like, yeah, okay, if you want to be an astronaut. I'm like, no, no, no. I said the words aerospace engineer and everyone went, who is this kid and why does he know what an aerospace engineer is? Yeah. Yeah. But... Amazing. Yeah. It was all downhill from there. But that's, I peaked at six. But yeah, so I just went through school, wanted to be an aerospace engineer, studied math and science really hard, got into high school, and I started doing like an actual engineering program. My high school was pretty cool. It had like different tracks you could do. And so I did the engineering, and it was like the engineering and aerospace sciences track. I'm like, this is what I wanna do. And I got into it and I found out that it's just a lot of paperwork, right? Like, this is not what I wanna do. And I mean, it makes sense, because you wanna make sure that you've got everything documented properly, and you don't wanna like mess up anything, because if you mess up something, a rocket blows up and six people die. Yeah. Jonathan: It's like high risk, no failure type. Ethan: Absolutely. And around the same time, I started playing with some code, partly because it's helpful for engineers. I'm like, I want to learn this, partly because I want to do what every middle school wants to do and make my own video game. And then I was like, okay, hold on. I like tinkering. I don't like the stress that comes with trying to make sure a rocket doesn't blow up. I sort of like coding and that's, it's kind of like tinkering, but you can do it faster. And if you mess up, like a server somewhere crashes, no one dies. Jonathan: No one dies. Yeah. So, like submarine software or like... Ethan: Right, yeah. So I was like, this is cool. I want to do more of this. So I started looking for like, in high school, I did an internship with IBM. And I did like software. And it was, it was great. It was like one of the best summers I had in my life. I joke like, I one of the biggest things I learned during that internship is that I don't want a one hour commute with my job because that sucked. But everything else about it was great. So then that was the summer between my junior and senior year. So I finished up school, pandemic hit. Actually, back up a little bit. At IBM, I finished a bunch of my projects ahead of time. So my mentors for this internship were like, go ahead and just contact somebody at IBM and be like, hey, I'm an intern. Tell me about the stuff that you do. I'm like, cool. So I went through the directory. I was like, oh, quantum computing. I sort of know what that is. That sounds interesting. I talked with some people at IBM. They were nice enough to spend half an hour talking to this dumb high schooler who's like, I don't know anything about quantum computing, but I want to ask you questions anyway. That sounds cool. Yeah. Right. And then I was like, this sounds really cool. And these people are super excited. And this sounds like sort of like it's an intersection of three things that I really love. Right. Like math and science, yeah, like math, physics, and computer science, which was fantastic. Jonathan: Anyway. Ethan: So I started looking into it more and I love podcasts. I listen, I'm like a podcast addict. I listen to way too many and there wasn't really like a good one for quantum computing. So I'm like, I could do that. I can talk to people. I can run a podcast. How hard could that be? And so I started up a podcast and got to talking to a bunch of people. And then like towards the end of my senior year, I actually had an internship lined up with a different company that was in New York doing stuff, but it was going to be like physical quantum computing stuff. So I would have to be there in person. And then the pandemic hit and like if anywhere in the world shut down, New York City shut down. And like that wasn't going to happen. Jonathan: up quicker than a clown. Ethan: Absolutely, yeah. So I was like, oh shoot, what am I going to do? And then I got one of those standard emails that's like, hey, Ethan Hansen, I saw your podcast and I would like to have the CEO of my company come on your podcast. I'm like, yeah, yeah, all right, we can do this. I've done this before. But I was like, in one of these emails to this person, I was like, just as a like a PS, hey, maybe let's see what happens. I was like, it was literally like, PS, I'm looking for an internship this summer. Does your company happen to do anything like this? And this person who responded turned out to be Catherine, who ended up being my boss. And she was like, let's hop on a call. And she was like, so yeah, when can you start? Like, oh, I was not expecting an internship offer from this meeting, but I'll take it. Yeah, so then pandemic like continued to hit. And I was like, I really, really don't want to do Zoom school. So I started, I like extended to a gap year, worked with this company. And it was great. I learned a ton. Yeah, gap year ended, went back to school, started studying computer science at Case Western, which has been going really well. Just finished up my like third semester, about to start my fourth semester. And yeah, that sort of brings us to here. Actually this last semester, I have been doing some research with a quantum computing group at Case Western. And so we're actually, we're getting close, we're hoping to publish the results pretty soon. Awesome. But it's been, yeah, it's been an incredible learning experience. And I'm still learning, right? Like there's a bunch of stuff that I don't know, but yeah, I've had a lot of experience for someone my age, I guess. Jonathan: Wow, I mean it's so so I've never spoken to anyone who's talked about or who knows more than What the term quantum computing actually means? So from my very limited non-technical background and experience It just sounds like it's computing on steroids That would be kind of the perception that I have of it but but maybe like let's just dive into that and maybe you can explain it a little bit and Maybe just try and bridge it into into real world So for me quantum computing always sounds like defense Department of Defense type spies Secrecy like launching, you know, like it's it's got that sort of mystery around it mystique you could say and so so let's break the ice I'd like to break break down a little bit what that means and maybe that would be something really of interest I think to a lot of people Ethan: Yeah, yeah, for sure. Yeah, you're right. Like, one of the big things that I've talked about a lot on my own podcast, a lot of people in the industry talk about is like the quantum hype, right? And I don't know where we are on the hype cycle, but we're towards the peak, I think. There's a lot of hype going around. But yeah, so I think that the best non-technical explanation I've ever heard for quantum computing comes from this guy named John Skerritt, who I had on my podcast. He's with Microsoft. Super great at communicating this to a wide audience. And the example that he gave is, so with a normal computer, you've worked with Exercism long enough, I'm sure you're aware, normal computers run on ones and zeros, right, bits. It can either be on or it can be off. Nothing else. Jonathan: At the lowest level. At the lowest level that's kind of what you're dealing with. Ethan: Yeah, exactly. And so we can build all these crazy complicated things from that. But yeah, at the lowest level, ones or zeros, which you can think of like a light switch, right? It's either on or off. You don't have any other options. Quantum computing opens up an entirely different area that you can compute in. And you can think of it instead of like a light switch, it's more like a Philips Hue bulb. Like not only is it a dimmer, like it can be brighter or dimmer, like in between one and zero, but it can also be like these weird things that don't even make sense if your only conception is one or zero of like different colors, right? Like if everything's white and black, you don't even have different colors to work with. Yeah. And so, like you can still, if you want to, you can still use a... Sorry, back up a little bit. This Philips Hue is like a qubit, right? Which is what we call like a quantum bit. You can still use it like a normal light bulb if you want to, right? Like there's not much fun in that. You're not going to get the crazy colors in your room for your, you know, crazy college parties. But if you want to, you can just like turn it on and off, which is... It's an option. So what that's to say is like a quantum computer can do everything that a classical computer can do, and then also a little bit more. You said like it's... Your conception is it's almost like computing on steroids. I feel like that's a little bit off because that... Like if we're looking at our ones and zeros model, that's almost like making just like a brighter light bulb, as opposed to like there is a totally new way of doing it and you're doing things that doesn't make any sense in the old regime. And so what that does is it allows you to do certain computations faster or more efficiently than other computations. Some algorithms we have no idea, like the classical way is the best way to do it. It doesn't make any sense to run it on a quantum computer. Actually, I wrote an article about this. Do you know the classic video game Doom? Jonathan: Yeah, yeah, that was a staple growing up. Ethan: Yeah, yeah. So nowadays people will try to get everything you can possibly imagine to run Doom. Right? It's like the joke is like, okay, cool. It's a cool piece of smart tech, but can it run Doom? So people have gotten it working on Samsung smart fridges. They've gotten it working on like Kindles, like not even like Kindle fires, but like the black and white. Jonathan: The very basic, yeah, the Kindle. Ethan: Yeah, right. And so, you know, like if you can run, if a quantum computer really is just like a supercharged normal computer, and you can run Doom on a smart fridge, you'd think like you can run Doom on a quantum computer. Turns out today, like you cannot run Doom on a quantum computer. Okay. The reason is... Jonathan: It doesn't talk, it doesn't like, the paradigms are too different. Would that be the right kind of way of looking at it? Ethan: No, so the reason is because the quantum computers are just too small. Even though there aren't that many bits inside of a Samsung Smart Fridge, it's still orders of magnitude bigger than what you've got inside of a quantum computer. So IBM just unveiled a 433 qubit machine. So not 433,000, just like 433. That's compared to the laptop that I'm running this program so we can chat on, has in the order of billions of bits of transistors inside of it. Yeah. And so there's like this fundamental or not fundamental difference, but like this, the scale of magnitude difference. And furthermore, it doesn't really make sense to run Doom on a quantum computer. It doesn't gain you any advantage. There are only like, there's specific things where you can get a like a turbo boost for your computation, but other things doesn't make any sense to run it on a quantum computer. Jonathan: Okay, wow. And- And so just, I've got a lot of questions around this. So are there different programming languages for quantum computing that speak to the light bulb dimmer vibe, if that makes sense? Ethan: Yeah, no. Yeah, totally. Really good question. So some people have gone the route of making like whole new languages. Notable example of this would be, or maybe two notable examples would be Qsharp, which is sort of like Csharp. Microsoft has developed this. And Silk, which is sort of like an experimental programming language developed by, I want to say like ETH Zurich. It's like a research group has developed this. It does some cool stuff within the realm of quantum computing that I won't bore you or the listeners with. So those are like two languages, but the main thing that people do is they will have a package written inside of a standard programming language that can talk to the quantum computers. So some popular examples of this are like Qiskit from IBM, Cirque from Google. And these are both written in Python. And then there's, if you want to use Julia, there's this thing called yow.jl, which is just like unaffiliated with any companies and runs in Julia. Jonathan: Okay, and Ethan, like the practical real world applications for quantum computing, like you said you're torn between AI versus quantum computing, what makes you kind of say that? Like how do you, what do you see in the horizon of the future with regards to these different aspects, though these different paradigms? Ethan: Yeah, yeah, it's a good question. I think that...So quantum computing has a lot of really powerful long-term promise for things that we just can't do classically. For instance, if you want to model something that has quantum mechanical effects, one of the best ways to do it is to sort of set up your quantum computer as a simulator. It sort of has the quantum effects built into it because it's a quantum computer. At the same time, we're seeing incredible advances with things like Google's Alpha Fold, which is able to correctly predict the 3D structure of proteins just from the RNA, I guess, that encodes the protein. That's something that if your proteins are small enough, that involves some quantum effects. They're able to just do it using machine learning and a ton of data. It's sort of like this race of, well, which one's going to... Because we are building bigger and bigger quantum computers. I told you IBM just released a 433 qubit machine. Last year, the biggest number anyone had done was 127. They're getting bigger and they're getting bigger faster. We're still nowhere near what we would need to do the same computations that Google's doing using a ton of compute and deep learning. Jonathan: Gosh, because I'm just like, it sounds a bit like, and you can correct me if I'm wrong, the program that they used to sort of land men on the moon was like...frighteningly, say that right, but small compared to what we currently are used to now on our modern laptops. Like it was like kilobytes, the program which was used to and so is quantum computing in the same kind of space where... It's like the ability to wrap that computational capacity is still in development if that makes sense? Is it just that the technology hasn't gone enough down the line to kind of make it accessible to every person on the planet if that makes sense like in a personal capacity? Ethan: Yeah, yeah, I think so there's some people who say that quantum computing is just never going to take off, right? Like for some reason, they think that there's going to be a fundamental like roadblock where we can't build quantum computers bigger than a certain amount, and we can't, or we won't find enough useful algorithms for them. And I've talked about this on my podcast with some very brilliant people, and what I've heard from them is basically that the burden of proof is on those people to say there's some fundamental law of the universe that says we can't scale this. Most people see it as an engineering challenge. You're talking about the tech stack needs to be built out so that we actually can have these qubits that are shielded from their environment well enough that we can use them and they'll stay around long enough. There's still some people who are in maybe a middle of the road category who say, yeah, you're never going to have a quantum computer in your house. It's always going to be in a data center somewhere that makes things that you need, like lots of compute, like big compute in order to solve it. That's going to be in some data center somewhere. You're going to send a query to it, and it's going to give you the answer back faster than you could with classical, but you'll never have it in your house. I think that that's maybe the most likely. Quantum computers are really fragile. The world around us is a lot of classical mechanics because in order to keep something in that quantum zone, or the right conditions where something can have those quantum effects, it's got to be really, really well controlled. Having that in your house with toddlers running around and dogs barking, yeah, cats run across everything. They've been running across everything since we've had clay tablets from ancient Mesopotamia with cat footprints on them. So I don't see that ever being like super viable inside of a house. But it's possible. I can be proven wrong about that. Jonathan: So does a quantum, it sounds like, does a quantum computer need like temperature controlled, like no ambient differential in sort of temperature or static in the room and like no noise? Is it, you say fragile, but why is that? Like why is a quantum computer fragile? Ethan: Yeah, yeah, good question. It's fragile because the in order to have a well controlled qubit there's you have to have it in you have to shield it from its environment. So you're right in like most quantum computers today have to be really like super cold. They use what's called a dilution refrigerator, which brings things down to really close to absolute zero. There are some that don't need to do this. There's some like models of quantum computing. That's another big thing that's different. In the past with standard classical computing, we've had like one major mode of computing at a time, which was like we had vacuum tubes and then transistors came about and it was like they were obviously better and we use transistors. And that's what we're still using today. With quantum computing, there are at least 10 different modalities that I'm not going to be able to name all of them off the top of my head, but you've got trapped ion, photonics, superconducting. People are looking at like silicon spin qubits. All right, so like, I guess those are sort of the main four, but then there's a bunch of other ones and no one really knows which one's gonna win out in the end. Most of those, I believe, silicon spin qubits, superconducting, those need to be really cold. Trapped ions are cold. Like the ions themselves are super cold. The apparatus doesn't need to be cold, but they're super cold because they're held like, perfectly in place by a laser. And then. Crazy. Right? Wow. Yeah. Yeah, like, you can understand why I was like, this is super cool and I want to learn more about this. Jonathan: Yeah, yeah. Wow. It's like such a whole it's like a different thing to your terabyte gigabyte drive SSD, you know, it's like it's on a it's just it's just in a different zone of technology, I guess you could say. Wow. For sure. Yeah. So this begs the question for me that I have is Ethan: I'll see you next time. Yeah. Jonathan: You've done this internship with quantum computing, right? So you did, you worked for a company that specialized in quantum computing after high school. Most people would go the other way around, which is computer science degree, max that out, and then pop out the other end being like, I'm a pro, sign me up, you know? But you went the other way around. What was it like going from an internship at a company, then back into studying, kind of, is it right to say that it was conventional computer science that you kind of went back to studying? So you've now like, you've looked at one side of a coin, and now you've got a completely different side of a coin. What was that transition like in your learning? Ethan: Yeah, it was different. It was definitely interesting. Yeah, you're right. I'm studying like classical computing and...I don't know, it's not quite two sides of a coin because, or maybe it is, because it's still the same coin is maybe the big takeaway from this analogy. Because on the one hand, you have, once you really get into it, you've got a fundamental difference between what we know about classical computing and what we know about quantum computing. But at the end of the day, you still have the sort of the same fundamentals of algorithm analysis, of good coding practices, of good understanding how to work together in a team. All of these things are going to be very similar across everything. And so from the book theory part, the very, very basics of one of my first semester classes was algorithms and data structures. And like, no matter what architecture you're using, you're pretty much gonna need to know those basic data structures and algorithms in order to be able to write anything worthwhile. But yeah, once you really dive into it, which I haven't really done in university yet, it will, I guess, it'll get a little bit different. You'll start looking at the two sides of the same coin. But right now I'm sort of like, I'm looking at the coin as a whole. Jonathan: Yeah, okay cool. So you haven't sort of drilled fully into things. And so also, I was going to ask this a little bit earlier. You mentioned you grew up kind of on a farm, rural, outdoors, very kind of manual hand, you know. And now you spend probably a significant portion of time in front of a screen. You know, the computer that you have is the object that you kind of rotate around much more. How do you get out of the computer world and sort of reconnect with maybe the more sort of physical world? Like, do you need that? Are you not too bothered? Like, how does that play out, especially considering where you've come from? Ethan: Yeah, I definitely need that for sure. I mean, sometimes I get a blend of it. One of my favorite things to do is take the laptop out to our porch and watch the sunset while I'm on my laptop, if the weather is nice enough. In Oregon, it is often too rainy. But so yeah, I think some of my favorite things to do, especially in Oregon, if you are planning, you said you want to get out here, if you're going to get out here, you got to go on at least one hike in the Columbia River Gorge area. Absolutely gorgeous. I love going on hikes. I think that's a great way to reconnect with nature, which is important. I talked with someone who worked at the company who was like, yeah, everyone needs to have something that they do that is basically entirely unrelated to their desk staring at a screen job. And for him, one of those things was just going on a bike ride, which is another thing I enjoy doing. So yeah, I think that's super important and I would say hikes, bike rides, those are good. Jonathan: And Ethan, do you have siblings? Like, what's your family makeup? Like, where are you in the packing order, so to speak? Ethan: Yeah, I am the oldest sibling and my two younger siblings are totally different, like not interested in technology at all. One of them wants to do theater as an actor full time and the other one wants to do lighting for theater. So I'm, even though I'm the oldest, I'm a little bit of the black sheep of the family. Jonathan: Is it more sort of like creative? Like what were some of the things in your family that sort of, how to describe it? So you say like you're the black sheep. Does that mean like computer science technology was never something that was like big on the radar? Like how did you end up, obviously you did the maths and physics and the physical tinkering and wanting to build stuff and there was a natural progression. But how, I mean that's quite cool that your parents were able to kind of coach you, I guess into realizing that actually those things that you were doing were kind of suited to the more technical space. That's pretty rare as well. So how did that all play out? Was it just like the encouragement from your parents to sort of pursue that? Ethan: Yeah. How did that all work? Jonathan: How did that all work? Ethan: Yeah, I guess I say black sheep less like outcast and more just like odd one out. You're right, like everyone else in the family maybe a little bit more creative and more less like logical. I think a lot in ones and zeros, so computer science came up pretty naturally for me. But yeah, one of the great things about my upbringing, one set of grandparents of mine were teachers for the longest time. And I was able to... They really encouraged learning. They've been contributing to my college fund since I was a baby. And they were like, we want this kid to do well be able to live up to his full potential. So I got a lot of encouragement from them. And I honestly don't know, I think there are a couple of turning points in my life. I don't know if I would be doing anything in STEM if it wasn't for this one time where my, I was like in tears over division. I was like learning division in second, third grade, and I just did not understand it. For whatever reason, it was not clicking. And my grandfather, the teacher, he taught at a junior high or something. He sat me down one night after I was crying. He explained pre-calculus to me, or not, sorry, not pre-calculus, pre-algebra. I'm like a second, third grader. And he's like, all right, so we're gonna introduce this concept of this thing called x. You're gonna solve for x by, okay, so if we've got like x times this equals this, what would x have to be? I was like, oh, it's obviously four. He's like, okay, well, we're just gonna rearrange it a little bit. So now x equals this over this, like we're gonna divide now. I was like, oh, I understand division now. So yeah, for the more like, that was like, I guess, basic stuff. For the more like once I started getting into technical things, I've sort of been like the family IT guy for longer than I can remember. I quickly surpassed the rest of people in my family in terms of like knowing about technology. So it was a lot of like teaching myself. I am a little bit like terminally online, just constantly like reading things. Oh man, this is gonna sound so nerdy, so everyone better be nice in the comments. But one of my favorite hobbies in probably middle school was watching Khan Academy videos. Partly for that satisfaction of like, ooh, I got this much experience points, and partly just because it was interesting to learn about all these things. So yeah, it was a lot of encouragement, and also a lot of self-study. Jonathan: Yeah, you mentioned, I mean, you talk about division, I had a really similar experience with my times tables, I must have been, seven years old and they were, and I remember they're like, okay, we're going to do our times tables. And it, it just didn't understand it. It was like, it was like the neurons in my brain just hadn't, they hadn't formed until someone explained that it was like, take three cows and you do three times three cows. So that means you have three here, three here and three here. And now you, how many, and then I'm like, oh, that's easy. And then the penny kind of dropped, but it's, it's been an interesting question as well that I've asked a lot of our guests, uh, on the podcast, which is like, Ethan: They hadn't formed. Jonathan: In terms of learning, do you find that you have those like penny drop moments or was there a moment for you when coding? And that's quite like a... A tricky one maybe to pin down, but I've definitely felt in my experience with learning to code in my, because I've been trying for a while, just in the middle of life and kids and whatever, but there are definitely those penny drop moments where it's like... suddenly you're like, oh, and you've been sort of sitting in the problem for a while and then it drops. But some people, like Eric for example, he's like, no, it just kind of, the information just got absorbed and just made sense. There wasn't no like eureka moment. So how is it for you typically? Like what do you need to do to get to that point where a concept solidifies and makes sense and you can integrate it into other aspects of that sort of coding problem or language? Ethan: Yeah, that's a good question. I think I'm more like Eric in that regard of it just, at least with coding, it just sort of has always made sense. There are a couple of concepts I've had. So like coding as a whole, like I said, I think in ones and zeros, I dream in binary and like matrix columns, but... But for certain concepts, there have been those penny drop moments. I think one of the big ones is with recursion. I started programming beginning of middle school. All that time, I was just doing normal, I think mostly JavaScript, maybe a little bit of Python. There was no recursion. It was just like, if I called a function, I called a function. I'd never even considered calling a function from inside of itself. How would you really analyze that or anything? I got to high school and I took AP Computer Science and had to learn about this whole recursion thing. It did not make sense to me. I was like, what does it even mean to call a function from inside itself? I had to think about it for a while. Eventually, there was a penny drop moment like you're saying, but I can't explain what made it click other than just this persistence. I think maybe this goes to something that is really important. I've heard this from older software developers that I've talked to who have said like... There's no real set in stone characteristics that you have to have to be a good programmer other than, the main person that I heard this from said, I'm not sure that this is something that you can learn or improve, this is just sort of how you're built as a person, but you have to be able to try and fail and try and fail and do that really fast and do it over and over and over again. And be bloody- Jonathan: And be bloody minded and persistent. Yeah, yeah, absolutely. It's just not an option. You just have to get up and get going again. Yeah. Yeah. It's really interesting. Ethan: Absolutely. Bye. And that's something that I've noticed in everyone I've known who's a good programmer. A lot of them, yeah, sure, they're naturally smart. They just pick things up quickly. But for most of them, it's like, yeah, I spent like eight hours trying to figure out why this function wasn't working. I'm like, man, I would have taken a walk at some point. Jonathan: Eight hours, that's a lot of time. That's a lot of time to come in put into something but I totally but it is I can I totally relate with the the satisfaction of something working and I think that's what I've that's where exism has been really fun because there were times I was like and this is like on basic this is like three exercises in from from hello world you know like and I'm like this should be easy it's it it is easy keep telling myself it's easy and it's not and then and then eventually you get it and like you're just like oh my gosh that was that was that was it that was it so no it's I can I can found the semicolon yeah it's that it's that dang semicolon you know every single time um that's why I enjoy compiled languages a little bit because it's just like uh nope yeah look here so that that's been that's been quite quite quite good fun I'm enjoying go at the moment still I probably said this in every podcast yeah Ethan: Yeah, I mean... I probably said this in every. If you like compiled languages and you like Go and you like things that have nice error messages, let me pitch a V for you real fast because this is why I'm on the podcast or at least how you met me. Jonathan: Just a quick caveat to all our listeners. V is in the pipeline as a language, which is being built by Ethan. We're gonna launch it in the very near future. Well, Ethan says he's gonna launch it in the near future. So I totally back his word on that. And we'll probably try coincide with the release of this podcast. So if you are listening, you must go and check it out. But Ethan back over to you before I reduce any energy out of this pitch. Ethan: Yeah, it's not ready on Exercism as of recording this, but hopefully, we're ready to go on one last thing. It's going to be fantastic. But yeah, so V is my favorite language, hands down. Like I said, I've been programming since middle school. I have tried a bunch of languages. I have written in JavaScript, Python, Go, Assembly. I've done HTML and CSS stuff from scratch. I have done Julia. I've tried Kotlin pretty much like if you pick a class of language and I've probably I've probably tried it. V is by far my favorite. It's very similar in syntax to Go. One of the things that sets it apart from Go is it's ridiculously fast. So when I pitch this, I'll often say like every language has the yes button, right? So like Python, the yes is yes, it is super fun to write. No one's going to be like, yeah, I hate writing Python. It's easy, right? It's like it's good for beginners. The but is it's so slow. It's like the mini van of programming languages, right? C++, the yes is yes, okay. We fixed the problem with Python where it's super slow, but it sucks to write in. There are a couple of people who are crazy who are like, I love writing in C, like bare C or C++. I'm like, I don't want to deal with that many like memory allocation things and null pointer errors. I think that V doesn't have any of those yes buts. It is. Jonathan: Which is quite a big claim. I mean, that is a big, big claim. Ethan: What a big- I will say the but about V is that it doesn't have a big community. That's why I'm excited about getting it on Exercism because I think if people learn it, they're going to love it and we're going to get a big community around it and people are going to rally around it. It's fast. It's fun to write in. When I think of how a programming language should work, I'm like, oh man, I don't really know exactly how to do this in V. I'm like, well, if I was going to do this, this is the logical way and I'm like, oh, that just works because it's a logical programming language. It's ridiculously fast. It's fun to write in. It's super safe. Once the V page is up, you can see all these things on the Exercism page. I suggest if everyone go check it out. It's so fun. Jonathan: If you're doing this because we're doing this 12 and 23 language challenge at the moment So I don't know if you've seen it where it's basically learn it learn a new language every month Which I think for the seasoned developers is a nice little nifty little challenge But but this is the pitch for V get that on your list Definitely so that that'll be launching in the near future So to keep out keep an eye on on that but um, but because often like with when you when you're talking about like very performant languages rust kind of Comes up to the top of the pile there, but apparently This is me just pulling information out of the the ether so to speak It's incredibly difficult to understand like to write or like understand initially just because of the way that it's it's I don't know If that's your if that's true necessarily, but maybe you can shed some light on it But it would be cool to have a quick language. That was fun to write That wasn't complicated Complicated maybe Ethan: Cool. Listen, I know enough people who love Rust that I'm not going to trash talk it too much. The one thing I will say about it, it's fast, but it is not small. V is super small. If you want to compile V, so V is itself written in V. If you want to compile V, you download the source code. V then compiles itself in under a second. If you want to, you can have V compile itself and then use the resulting binary to compile itself again in under a second. That's how fast it is. As opposed to Rust, which if I remember correctly, takes upwards of 30 gigabytes to compile fully and an hour. Most people don't actually, they won't compile it themselves. They'll just download a pre-built binary off of a distribution page. But if I type V up on my computer, it goes to GitHub, it pulls the source code, it compiles itself and then that's how it updates. It's so cool. So fast, so small. It's fantastic. Jonathan: Ah, cool. Well, that makes me excited to get V. And as a language, just a little bit around it, like, how long has it been around? How did you come across it? Any background information on V that would be of interest. Ethan: Yeah, I don't know exactly how long it's been around. It's not super long. It's a newer language. It's still in like version 0.3. And so it's sort of like, it's sort of beta, but I found out about it, I think, maybe two, three years ago, it was one of the fastest growing languages in terms of GitHub stars or something. And at that time, and I still do this a little bit, but now that I've found an Exercism, I do Exercism instead. I've got a GitHub repo where I have just implemented a factorial, like the program or function to find the factorial of a number in a bunch of different languages. And I was like, I'm going to learn some new languages and this is how I'm going to do it. And so I tried V and I was like, oh, man, this is cool. So, yeah, that's how I found out about it. And I've like, I loved it ever since. It's great. Jonathan: Cool. Ah, exciting. That's awesome. Now, thanks for giving us a little bit of an insight on that. And thanks for building it. I mean, Exercism, as you know, is built by people like yourselves taking an interest in stuff. And we really rely on that. So really huge appreciation and thank you for helping us out on that. So which brings me nicely, or brings us nicely onto how you got involved with Exercism. And sort of tell us a little bit of the story on that. And maybe we can just sort of dive into that for a couple of minutes and then see where we go. Ethan: Yeah, for sure. I love open source things. It's one of my big claims to fame at school is I've gotten basically all of my friends to use Signal instead of like WhatsApp or Messenger because it's open source and it's private and all of that good stuff. So I was looking for like an open source. I think I used the website like I was looking for an open source alternative to HackerRank and Exercism was one of the ones that came up. And, because, oh yeah, I know why I was looking for that, because I was trying to learn Julia. I was looking for a good place to do that. And Exocism was one of the ones that had a Julia track, and so I tried it out. And actually, I don't even think I knew it was open source at the time. I think I was just looking for something like HackerRank, where I could learn a new language. I started doing Julia, and at some point I saw like a, look at the source code for this page. I was like, oh, it's open source. So I looked around, I was like, I wonder if they've got a vTrack. And I then did some digging. It turns out that some people had started thinking about it a while back. It was like still version 0.2, wasn't even 0.3 yet. It wasn't really gonna work out. And so I was like, hey, is anybody still working on this? Person actually responded, which is, you know, if anyone knows anything about GitHub, it's that you're gonna find a dead issue somewhere, and you're gonna ask a question, and you're never gonna get a response. And I actually got a response. It was insane. Jonathan: response it was insane like the big ocean yeah Ethan: Yeah, just right into the black hole, never to be seen again. But yeah, someone actually responded, was like, you know, honestly, I've moved on to something else. If you want the track, you can have it. I'm like, you know what, I could probably do at least some of this. So I started working on it a little bit in my free time. And yeah, here we are launching pretty soon, hopefully. Jonathan: Because we spoke a while back. I think you were in the middle of getting things going. So that was really cool to sort of touch base. But no, looking forward to seeing that launch and drumming up some support. So if you're listening to this, you are part of the V collective that will need to be doing this first language track. And so what are you launching with? How many concept exercises, practice exercises, kind of what have you got in store for everyone? Ethan: Yeah, it's a little bit bare bones. No concept exercises, but we've got 20 practice exercises. I believe the breakdown is like 10 easy's, seven intermediates, and three hards. Okay. Jonathan: Okay. Awesome. That'll be great. Looking forward to that. And we'll keep everyone posted. And if you have any questions about V, please feel free to email. Ethan, we'll put a bunch of stuff in the show notes as well. I've got a great list that I'm just writing down just to remember, just on everything that we've spoken on. Ethan: email me or I do check the Exercism forum if you want to open a discussion on there and tag me go for it so yeah. Jonathan: Cool. I'll make sure that there's a category for that as well. I think we potentially need to add a V category. But okay, so a couple more little things I just want to touch on, and then I'll let you go to bed and I'll let me go and grab a morning coffee. I'm in Cape Town, everyone, which is very far away from. It's the bottom of Africa and I love that because it's so far away from a lot of things, but I enjoy the fact that we're here. Ethan: Have a morning. I did not realize you were doing this sans coffee. Let me just say I'm very impressed. That is incredible. Jonathan: I did it with tea. I did it with tea because that was all they had. We're super snobbish. I mean, you probably are knowing you sort of West Coast Americans typically, and this is going to be a massive generalization. I'll probably get some heat for this. But coffee is like a big thing here in Cape Town. We are very, very fortunate with the quality of coffee we have. But I know that the West Coast of the States also is very particular when it comes to coffee as a whole. Actually, I think probably most of the world is in the same boat. Ethan: You were talking about the rivalry between Seattle and Portland. I think I have to give it to Seattle that they've got better coffee, but we have more bridges, so I don't know who wins. Jonathan: Yeah, that's a great way of, well, there's some interesting metrics to measure the coolness of a city, but we actually, I'll have to give it to Seattle, unfortunately, again, because we have Seattle coffee in Cape Town. So if Oregon coffee ever hits our shores, then, yeah, that'll be a good day. Good day for sure. So, OK. OK, before we move on, Ethan, any specific roast or blend of coffee that you would recommend people try out? Are you on that level of coffee snob? Ethan: I am not, but if you are ever in Oregon, you have to try Dutch Bros Coffee. That is like born and raised in Oregon. They started in like a little tiny town in like a little tiny shack somewhere and everybody loved it and now they are kind of like everywhere. Jonathan: Cool, Dutch Bros Coffee, well shout out to them. They probably won't ever realize that they've been mentioned in this podcast. Unless, actually of course we just send it to them and say like, hey, give us a discount code for anyone listening, so maybe we could do that. Okay, Ethan, so a couple of questions that we kind of ask a lot of our guests every week, which are kind of like our staple diet of questions that I think are really cool, especially when it comes to Exercism, trying to help people learn and trying to facilitate people positioning themselves so that they can get programming and thinking, programming and coding and all of that kind of stuff. So the first one is this. We have this concept of the hill that you would die on in tech. Now that sounds probably a little bit melodramatic. I think it is maybe. But what would be the one thing, the one thing that you really want to hold fast onto, especially in the tech space, or what value would you really defend? I think, we were talking about this like fight for, but actually defend maybe seems a little bit more appropriate. But what would you say is the one thing that you were like, this is a key thing that you really back and you think is really important, especially in the tech space? I think it could be anything, it's pretty broad. Ethan: Yeah, so my thing comes out of there's, I don't know, have you seen this on GitHub? There's like a list of, they're called like hacker laws. Ethan: Yeah, okay. So one of those is that code always takes longer to read than it does to write. So what I like the hill that I'm going to die on based on that is that you should be writing code or sorry, it is more important to write good comments and good documentation than it is to write good code. That's my hot take for today. Jonathan: Cool. That's really interesting. More important to write good comments then good code. I'm just taking notes here. This is gold. Great. Ethan: Maybe that's less, you know, if you're doing it on Exercism and no one's ever gonna see like your example submission, maybe a little bit less important. Like write that function, but if you're taking the things that you've learned on Exercism and you're applying them in a job or in an open source community setting, definitely I'm gonna die on that hill. Jonathan: Okay, that's really interesting because I think actually documenting things, writing good comments, it doesn't just help other people, it actually helps you structure your thoughts in a logical... it helps you structure your thinking actually. It's a bit like planning an essay you want to set out your introduction and you plan that essay before you even write it. And I think that's one of the things that we're quite keen on with Exercism. And I hear it from Jeremy a lot, is that he spends more time thinking than actually writing code. And often when he writes the code, he's writing the solution that he's already generated, having thought through things significantly. So the code is really just like the...the fleshing out of the thinking. And so I think that lines up nicely with a lot of good best practice as well, which is awesome. So if anyone can take something away from today, and you're learning to code and you're in development, write your good comments, use it to think, map things out properly, it helps you and it helps other people. Ethan: Yeah. Jonathan: Hopefully that makes sense. That's a cool hill. Thanks. Ethan: I'll do that. Thanks. Thanks for that. What you're saying about it helping you, not just current you, but also future you. Some people say, write code like someone else is going to read it. I always try to write my code like it's going to be me in six months trying to read it. I'm going to have no idea what I was doing. Jonathan: Yeah, yeah. It's like what, like context. Context is king. And so giving, helping people get that is, is, is really cool. Okay. Next question that I have for you is. Ethan: Yeah. Jonathan: Can you identify key actions or behaviors that accelerated your learning? Can you identify those behaviors in what you see other people do that have sort of...that allow learning to be effective. Ethan: Yeah, and I think I'm going to go back to what I was talking about earlier with like just trying and failing over and over again. I don't know if there's anything that is like I've explicitly done that has accelerated my learning, but yeah, you're going to hit roadblocks, right? Like that's not a question. You're going to hit a time when you've got this weird error and you cannot figure it out. And I think some people are a little bit too much on the like, I'm never going to ask anyone for help side. And they're just going to like, like my friend who was like, yeah, I've been staring at this function for eight hours. I finally figured out what the problem was. And then there's some people who are like, they hit a roadblock and they either like throw up their hands or they like ask someone else immediately. I think like my recommendation or the thing that I've had to do for myself, because I'm a little bit more on the like, I'm just going to figure this out. I'm going to put my head down mostly because I'm like, I don't want to bother anyone else or be like, look stupid. Cause they're like dummy, you missed a semi-colon. It's on line 13. I'm like, ah, you're right. So like, like set a timer, whatever number you think is going to be best. But like in the five to 15 minute range of like, okay, I'm going to struggle with this for X amount of time. And if I haven't figured it out by the end there, then if you have someone that you can like, if you're like a coworker or a buddy that you can ask like, Hey, help me figure this out, then go to them. Or maybe like stack overflow and you can, you can do the classic like, Hey, stack overflow. I have a question. And then you just like get one down vote and zero answers. That's always fun. Or like something that helps me sometimes is I'll just like take a walk, right? Like if there's no one else around, I can't do anything. I struggle with it for that amount of time. Clear my head, take a walk, five minutes, come back. Um, and I would say like, Even if you're in a professional software developer environment, if you're not in a place where they're encouraging, hey, just if you need it, take a walk to clear your head, get back in the zone, maybe it might be worth looking for somewhere else because all of the places that I work that have been good places to work have encouraged that, which is super important. Mental health is... You can't write good code if your mind's in the gutter. Jonathan: True, very, very true. Cool. Okay, this is our final question for the day. I've really enjoyed chatting this morning. Okay, so this is the question. What are your recommendations for the community this week? And it can be pretty broad. It can be like go swim in the Atlantic Ocean or Pacific Ocean. Go grab an espresso from Dutch Bros Coffee if you're in Oregon. What would be your recommendation for the community this week? Ethan: I think I've already done it. I've already said, like, check out Vee, man. It's fantastic. It's so, so fun. If you want something maybe a little bit more fun, I'm going to have to recommend Metaculous, which is a website. It's M-E-T-A-C-U-L-U-S. And this is one of my favorite ways to waste time. I probably do it a little bit too much. What it is is a website where you try to predict the future. There's a question that's like, in 2035, what will be the total amount of electricity produced by solar panels in terawatt hours? And you're like, all right, here's my range. I think it's going to be between here and here. And what they do is hundreds of people go on this website, and they all try to predict. And the closer you are to the real number, the more points you get. And they do it as a way to help people think better about their ideas of the world. It's been really helpful for me being like, you know what? My bias says that this is, I don't know, 40% likely to happen. But if I actually look into the numbers, it's actually closer to 75. And I would not expect that. That's crazy. So that's my recommendation for people. If you're either, check out V. And when you're done learning it, because it's super fast to learn, super fun, super easy, go check out Metaculous. Jonathan: Okay, cool. Well, that sounds great. Well, Ethan, really appreciate your time this evening for you, morning for me. It's been super interesting. The whole quantum computing, I've kind of heard a little bit about it, but I think there's like, I'm going to go and check out your podcast as well. If you're listening to this, we'll post Ethan's podcast in the comments as well. Please go drop a like, subscribe and get into it. I'm going to go and have a listen in some spare time as well, just because I found this absolutely riveting to chat about that. Thank you for all that you contribute to Exercism. Really looking forward to the V track getting launched in the very near future as well. So loving the recommendations, really nice to talk and just stick on the call. We'll round it off. But Ethan, thank you again so much for your time and have a wonderful rest of the evening in Oregon. Ethan: Thank you, Jonathan. It's been my pleasure and thank you for all that you do for Exercism. I know that you do this around the clock at 5.30 in the morning if you need to, as I know from personal experience. So yeah, it's awesome everything that you do. I appreciate it. And yeah, thanks for having me on. Jonathan: Cool, anytime, anytime. Awesome. Cheers everyone.

More Stories from our community

Listen, learn and be inspired by our community members.