Our guest this week is Brian LeRoux, co-founder and CTO of Begin, which focuses on helping clients deploy AWS Lambda. He serves as a "Benevolent Dictator" in the role of JS Foundation Architect as part of the Linux Foundation. Prior to that, he held roles as a principal scientist at Adobe and a VP at the Apache software foundation.
Brian is a contributor to Deno, and walks us through what this project has to offer. He also made it easy to work with Deno right in the browser. You can check it out here.
You can learn more about Begin here. If you want to follow Brian, you can find him on Twitter here and on Github here.
We spend a bunch of time digging into the overlaps between Deno, Rust, Java, and Typescript. In case you missed it, Typescript is now the second most beloved language, based on the results of our 2020 Developer Survey.
Paul Ford: When you talk to Microsoft people, they're not, I mean, they're like, cool, code is cool, but you know what else is cool? The federal reserve and also how we might factor that into our add op strategy, or like clouds, you know, seven. What if we created a new kind of sand?
00:15[INTRO MUSIC]
00:24Ben Popper: Nothing's more important than a great customer experience, but sometimes services get disrupted. xMatters helps teams resolve issues fast before they impact customers. Learn why millions trust xMatters to keep their digital services up and running at xmatters.com/stack.
00:41BP: Alright, Paul, we're going to settle this once and for all. It is Deno, got it? I will accept nothing else.
00:47PF: It's dino, the little guy. It's got a little icon or a logo that is a dinosaur. It's dino.
00:54BP: Yes, Deno the dino. Not dino the dino.
00:55PF: Or Deno.
00:57Sara Chipps: Wait guys, I've got it. I can fix this for you. I've invited someone on the show today that can solve this for us. Brian, you commit to dino or deno? Can you help us?
01:06Brian LeRoux: I don't know either. So...
01:09PF: Ahhhh...
01:09BL: I'm going to go with, I've heard both. I kind of like Deno sounds a little more cute.
01:14SC: I like Deno too.
01:15PF: Well Deno is very like, dude that was Dean Martin's nickname him and you know, and just kind of cool fifties vibe.
01:22BP: Deno the dino sounds great.
01:24SC: Yeah wasn't Heroku... who had dynos? Did Heroku have dynos you could add?
01:28BL: They did.
01:29SC: Yeah. Cause I always just think like add more dynos.
01:32BL: Right.
01:33PF: Alright. There was a point in startup culture where that was always the answer. You're just going to need more dynos. That's $700 an hour. Oh okay.
01:42BP: But we've all heard it both ways. I guess it's the issue even from people who are building it, they kind of use it interchangeably, Brian?
01:47BL: Yeah the committers don't seem to have consensus on this. Maybe they're changing it in real time. Customer feedback. I don't, I don't really know. I mean I think it's an anagram of the name node, but no one's even really said where the name came from. So.
02:02SC: Why didn't I notice that?
02:03BL: Yeaaahh.
02:05PF: Yeah, it's got the same letters. You know, I think what you'd do, I mean if you look at it like, gif, it works itself out. Nobody even talks about that anymore.
02:16BP: Tomato, tomato.
02:16SC: There's a solid answer.
02:18PF: Yeah, no, for whatever reason engineering culture is very accepting of a consensus that emerges and they lock in and they just go with it, which is why, that's right, why jiffy just sold to fasbook for $400 million.
02:36[MUSIC]
02:39SC: Brian, maybe you can introduce yourself. Can you tell our listeners who you are, what you do?
02:46BL: Sure. Yeah. My name is Brian Leroux. I am a software developer, a very webby software developer. I'm the CTO of begin.com which sounds really fancy, but there's really only five of us. We're a tiny startup and we do CICD for AWS Lambda in last year. I've got really excited about the alternate runtimes for Lambda things that you could like build for yourself, and that kind of led me on one of those weird programmer journeys where you think you're fixing one thing and you end up fixing four or five other things, and then I ended up building a Deno runtime for Lambda, got hooked, and this is my fate. I adopt things really early and cut my fingers off and then open source it and maybe it sticks.
03:25PF: Yeah. Let's briefly unpack the 7,000 acronyms.
03:29BP: Yeah Brian, I'm the beginner here so, walk me back through CICD, Lambda.
03:33BL: I'm sorry. Yeah, yeah, yeah.
03:37PF: No, no, don't, don't apologize. Continuous integration, continuous delivery. God knows we all need a good definition of those. So you're, you're living it. What are those things?
03:44BL: So yeah, and please stop me when I do this, cause I hate acronym soup and I hate jargony stuff. This is a...
03:52PF: Oh no we're all in this world together. Don't worry.
03:55BL: Yeah, I want to be, I want to be as clear as I can generally. So continuous integration, the idea is you're committing to the master trunk all the time. Instead of doing branch-based development, we're all on the same journey to get a value to the customer as quick as possible. And the best way to do that is have a short lead time to your master branch. And so that's continuously integrated with your trunk as it were. Sometimes people call it trunk based development. There's a super related concept and that's why they're always joined together of continuous delivery or continuous deployment, but they're not quite the same thing. So committing the master all the time, good practice. Want to do that and then deploying to the customer all the time is the other practice that we want to make sure that we're doing all the time. And so they're subtly different. Committing the master, it probably doesn't go straight to the customer. It probably goes through some kind of staging environment and or QA environment. And the idea of continuous delivery is that you're always getting that value to the customer as quick as possible. So that's not a technology so much as a philosophy. That's how I interpret it.
04:58PF: So in develop, what that means is developers can't go away for a month to add the new big red button and come back. Right? Like that's not, that's not the new way. The new way is like get your red button in there, get it into the master branch, get it out to the customer. Okay. Now, just quickly for the world, let me, let me try to explain Lambda and you tell me if I'm, how badly I'm screwing up. Lambda is a way to run stuff in the cloud without thinking about the computer underneath. Just functions. You put a thing, you put a little bit of code up there and now you have a web service, which, you know, we think of as like rest API, but it's a little different where you just literally go, Hey Lambda, I got that, I got that data you like and it goes, let me, let me chew that data up and give it back to you. And there's kind of, and this is where it gets fuzzy, not a lot in the middle. Like it's not, it can call other services and do other things, but the, the goal of it is like here's a function in the cloud, adds two numbers, processes something. And it can run a trillion times or five times. And as long as you have, you know, 45 minutes for it to start up, everything is great.
06:08BL: Yeah. So that's, that's roughly true. I think there's, so there's a few forces at play. So the Lambda thing is kind of just a result of economics. So over time things commodify and they get cheaper and they get faster and computes no different. So we started off with these big fat servers that we'd put into like racks. And then eventually we realized that that's really expensive. So we started renting those and renting the space of those. And then eventually AWS, you know, Jeff Bezos being the guy he is, your margins, my opportunity, thought, well what if we charge per a hundred milliseconds and had an on demand model and what would be the perfect construct for an on demand model when you abandon the metaphor of a server and a function seems like a good idea. And the initial implementation of this stuff was, you know, with S three and more for like things like thumbnailing. It was completely driven by customer requests for that type of thing. And then when they had this event driven function primitive laying around, they started wiring it up to other stuff. Things like a simple notification service or database rights to dynamo DB. And this huge ecosystem just blossomed out of this primitive because it's such a small building block. And eventually they added other runtimes. So now you can program Lambda functions with pretty much any runtime you want. And yeah, economics prevailed. So it did have bad cold start characteristics when it first got going. It was multiple seconds to warm up, but we're down into the a hundred millisecond range now for cold start, sometimes even less depending on what runtime we're using. And when we started, we only had three seconds of processing time, but we're up to 15 minutes now. So these things get faster, they get cheaper, and they can execute longer with time.
07:51PF: Picture company for a minute. What is the problem you solve for me?
07:54BL: You want to take advantage of this new primitive and these new capabilities kind of unleashed by Amazon, but you do not want to eat that elephant hole. So you look at Amazon and you think, wow, that's a lot. Where do I get started? How do I tackle this beast? And begin.com just gives you a really easy on ramp and we don't lock you in. We just use a standard cloud formation. So if you want to bail, you can leave at any time. And we're based on open source software so you can audit us yourself.
08:22SC: That's great. So how did you get involved in the world of Deno or dino?
08:28PF: Deno.
08:29BL: Deno? Deno, dino. Uh, yeah, so when we were building out begin, we started getting requests for alternate runtimes besides node. Node is kind of like the early fast guy that everyone wanted to use a with Lambda functions. But once we started to get more adoption, we had people asking for Python and Ruby and we started to investigate Lambda layers, which is the ability to package your own stuff for the runtime. And the cold starts in these layers can be kind of bad, especially if they get bigger and we're sort of exploring different runtime options to see what was out there. And I noticed that Deno way back in October, he posted we're going to go 1.0 by December, well I better get on this thing. So I started playing with it and it was very clear to me it was not going to be 1.0 by December, but I still liked it a lot. In particular, what I liked was the cold start characteristic. They've managed to just about double nodes, cold start time. So it's, it just starts faster, which was very compelling to me from a workload perspective. If you're [inaudible] and JSON payloads a V8 you probably don't really care what the run time is at scale. You just want to have that be, you know, maybe twice as fast or half the cost. So we started to play with it pretty heavily and it turned out it didn't go 1.0 back in December, it went 1.0 a couple of weeks ago. So we had lots of time to get that right. And we played with it a ton and the sort of prevailing time and of course as a pre 1.0 product, it had a lot of rough edges early on, but they've really tightened that up as they hit 1.0.
09:58PF: Help us understand this community a little bit. So there, so Deno is a product of some of the people who were the earliest committers to node.
10:07BL: Yeah.
10:08PF: So still the V8 JavaScript engine that Google produced for Chromium. So you've got Google, Google makes this super superstar JavaScript engine and now it runs on the server. And now it kind of runs anywhere. It can run inside of electron and know. So it's, it's everywhere and it's node and it has a billion packages and we all either love it or accept it depending on who you are, and it runs on Lambda. So now we've got Deno, however you pronounce it. It's, you'll just have to have a regular expression with a lot of phonetic symbols in the middle. So what are some of the, so you're, you're looking around and you're thinking in economics, you're like, boy, Whoa, this is the thing that everybody already uses and we can run a lot more of it a lot more quickly. That's good for my customers.
10:52BL: Yeah, they're, so there are those aspects. I think Ryan Doll, the creator of node does a good talk where he gets into some of his motivations for Deno. You know, he said he had 10 things he regretted about node JS. And I don't think these are like...
11:06PF: We all do, frankly.
11:08BL: Yes, yes. Well, they're not admonishments so much as accidents of history. You know, this whole JavaScript thing wasn't even really in the plan. If you remember, you know, not even 10 years ago...
11:18PF: It truly wasn't.
11:18SC: Yeah.
11:19BL: Yeah, exactly.
11:20PF: Nobody was thinking that.
11:22BL: No. Exactly. So when he created node and there was still a lot of unanswered questions about how the language would mature, how things like package management would work in a dynamic runtime environment and node made choices. Not all of those choices were born out by history and node also got mass adoption. You can't just break node to add something. So they were sort of shackled to their past. And Deno is a clean break where I could experiment with the new language features that out there.
11:54SC: How does package management happen in Deno? Cause I understand it's different and it's a little less decentralized or more decentralized. Can you talk through that a little bit?
12:02BL: Yeah, it's so cool. So they basically work identically to the browser. You give it full URLs, full ES module URLs. Weirdly, you can also give it full URLs to TypeScript and TSX file. So, so react D flavored TypeScript files, it'll load it, it'll cache it and it'll link it and it'll compile it for you all transparently. And you don't have to think about any node modules, folders or anything like that. Now this sounds epically dangerous and maybe it is, but it's not really any different than how NPM works. It vendors files too, right, from the internet as well. And you know you have to be selective about which modules you bring in. Even if it is NPM or Deno, and you have a concept in Deno where you can set what's called a denoder so you can vendor those yourself in a local module if you want. Interestingly, another one of Ryan's statements of regret was that he didn't add all the stuff to node. Node was very thin and relied on its ecosystem for tooling. Deno is taking the exact opposite approach. It builds in a bundler and a format or a linter and a tester. So if you don't like those third party modules possibly changing them to you, you can just bundle them into the function that you're using.
13:19PF: Oh my God. So many discussions that will need to happen. That is, great.
13:23BL: Oh yeah, yes.
13:24PF: It feels like that's not going to go nailed, which is like for all the people complain about generics or whatever, that you never hear anybody going, well this is how you, you know, this is how GO needs to be linted. For people who don't know, like GO have a lot of that built in and it is, you just never see those complaints bubble up.
13:41BL: The law of triviality, it's, it's a worthwhile look on Wikipedia, but this is a programmer's bane. So everyone would rather argue about the color of their IDE than talk about the hard problem that they're trying to solve. And so do you know, forces you out of that problem because it tells you how to format your code. GO does this too. I think that's where the inspiration came from.
14:01SC: Like the convention versus configuration argument all over again.
14:04BL: Yeah. And should we be arguing about semi-colons anymore? Like have we had enough of that?
14:10SC: I don't know, do we have better things to do yet? I don't know.
14:14PF: I don't know. I mean, you know, this whole, this'll solve that problem finally. And engineers can just get to work, do, do better stuff and just stop all the bike shedding. Thankfully we did it. It's done. It's over.
14:26BL: Yeah. And I like that. I think this is the pendulum kind of swinging in favor and out of favor. So you know, 20 years ago it was very common to have a builtin runtime app, server, IDE, you know, all in one vertically integrated environment. And after the Ruby revolution we kind of shoot that and unixy and you know, compose your tools and, and node took that to the extreme and now we are seeing the pendulum swing back to a desire for integrated experiences. And I think it's just, it's kind of the natural evolution of things and it's, it's probably time, you know, we've experimented with JavaScript quite a bit in the past decade and we could use some stability I think.
15:07PF: I mean to that end, right? Like TypeScript is built in here, which is just a very specific effort to bring that kind of, I'm going to use the word enterprise, but it's a little bit more broad than that. But like just actual stability to the language.
15:22BL: Rigor. Yeah. I think it's a very risky and interesting choice. I'm a fan, but TypeScript is not without its problems. So one problem is that there's no Sember versioning for TypeScript, so they just will change it and so Deno is extensively going to inherit that, which could be interesting. The other thing about TypeScript is there's 31 configuration options when you compile it, which is a nice way of saying there's 960 possible module systems depending on how you compile it. I don't know what that's going to do for interrupt. People can say that that's bad, but I'll just point to NPM and say is that bad? Because it's the same thing. You know there is a lot of diversity in that diversity there will be challenges in integrating, but yeah, it's got TypeScript.
16:11PF: I mean this is culture. It's culture. Culture is a mess, right? Like it's humans building things collectively with little coordination. Okay, so interesting. So you're, so you see, because I just sort of see TypeScript is like, ah, developers love it, it helps them think their thoughts and it, it does. There are aspects of that experience that are clearly really nice where you just, you don't get into pickles you would otherwise get, but you see some longer term risks there.
16:38BL: I do. And I like TypeScript too and we're using it as well. So I'm not saying that this is a binary situation of good and bad. I just think there are definitely trade-offs when you start walking along that path. They have abdicated JavaScript's most powerful feature which is that it's backwards compatible and but you don't need to write TypeScript. You can, you can opt into it on a per file basis and Deno just hides all that compilation and you know, I didn't want to like it and I really do. So it's definitely worth giving a chance.
17:07PF: That seems to be the most common experience right, everybody's like Oh no, and it's from Microsoft and then it's all throughout your org.
17:14BL: Looks weird. It looks kinda like Java and some of us have those like you know, bad experiences there. But yeah, I refactored a code base a little while and it kept catching bugs and making the code better and...
17:27SC: Annoying.
17:28BL: I kind of like this.
17:29[MUSIC]
17:32BP: Today's episode of the podcast is brought to you by Stack Overflow for Teams. The best way to organize and share knowledge across your company. It's used by small startups and some of the biggest companies in the world today. It's free on the basic tier until June 30th with no credit card required. Head on to stackoverflow.com/teams and check it out.
17:52[MUSIC]
17:55PF: I do find it fascinating how for whatever reason IDEs always remain a little bit slow. Like not all of them, it just, it feels like they should get faster, but there's always like some new layer of wonderful help that they're going to provide and it's just like, no, no, it's slow again. Now I have a eight core supercomputer, but no, no, no. I put up my $80 million thinking machine here on the computer on the now. No, no, no.
18:21SC: Yeah but my autosuggest is pink.
18:22BL: Yeah, mine shoots sparkles. Which I quite like.
18:26SC: Yeah. So great.
18:30PF: I dunno. I mean that's, cause I remember that era of like Eclipse showing up and, and Eclipse was amazing in theory and then in practice like unless it just brought everything to its knees, I mean it's still, you still download it and it's still like it takes a minute for Java. That startup time is really funny because it's sort of, and actually that would really be worth talking about like startup time doesn't come into the conversation very often about like about engineering but it affects everything. Like you think about those IDEs and those experiences and like Eclipse was fine after we had a good 10 minutes to boot up and get the just in time compiler going cause it was all based on on Java and ran on the Java virtual machine. But there was like a minute as as things would get moving and you'd install a plugin that you thought would answer all your XML problems and it was like, no, no, no, no. I can still as I'm saying this, like that blue text is just starting to flash in my brain. Talk a little bit about startup time, where the problems come from and how you solve something like that or work around it.
19:30BL: Yeah, Deno is actually doing a really good job on this. It's managed to feel quite naturally fast. You get a minor hit but mostly from network traffic. When you are first executing a module, it's going to walk its import statements and download all those and cache them. Yeah, I agree. So startup time is a part of your lead time to production and that's a part of your iteration cadence. And so it's interesting that developers will always say that something's fast, even if it is really super actually slow if they're really enchanted by that thing. And I think the IDE thing and a lot of those sort of older runtimes, especially ones that have compile steps really have terrible lead time to production, which means you have terrible time to resolve bugs and less chances to go home at five. And this is a part of that pendulum swinging back and forth. I'm maybe being a nerd here, but I think, I think there's a good chance that a whole lot of this stuff gets rewritten and rust and Wassom compilers become the thing. And we maybe work around that for a little while longer.
20:27PF: Well, it, it feels, I don't think that's too nerdy because of what I'm, what I keep thinking is that Wassom took that virtual machine step kind of closer to the metal and, but it's still very targetable. And then rust gives you that type safety that you used to get out of Java. Java was like enterprise, but with guardrails.
20:47BL: Yes.
20:48PF: Now there's this new space in the middle and our runtime that's going to be ridiculously fast and also runs in browsers. So yeah, it definitely feels like we're in for a moment of everything accelerating except no one's quite sure what.
21:00BL: Deno is like one of those projects, rust is another one of those projects. Probably TypeScript and visual studio code are among one of those projects. There's this interesting moment too where our desktop is starting to slide into the web, barely noticing it, but we saw GitHub code spaces happen a couple of weeks ago and you know, you launched that...
21:21PF: Oh which is a Microsoft product, right?
21:24BL: Isn't that weird?
21:24PF: I mean that's the
21:24 PF: I mean that's the new world.
21:24SC: So funny.
21:25BL: Yeah. Didn't see that one coming.
21:29PF: I mean, you know, I think when I saw Microsoft and Microsoft drops Linux on and I'm like, okay, this is all about cloud, this is all about sure. And it's about, you know, they're going to compete in their Microsoft way, which is kind of stumble around but continue to serve giant enterprise with just, you know, pretty good solutions. And then something like that drops and you're like, no, no, that's what I want. Like that's the thing that I would have, you know, I've been saying no one would ever do that cause that's really smart and I I think is cool. And then no, Microsoft is just like, Oh yeah, yeah, we're cool too. And it's just very confusing and emotionally upsetting just about every day.
22:08BL: Satya is amazing. I mean that is a, that is a complete turnaround in culturally, technically in every way. It's been unbelievable to watch. I think it's a bigger turnaround than what we saw with Apple in many ways to get a company of that size to culturally embrace something that they've vilified before and you know, they're on stage talking about diversity and inclusion. They're one of the leaders in this whole covid-19 thing. It's, it's very impressive.
22:36PF: I think one of the things that's wild too is like clear, you know, usually the gentle peacemaking stable corporate leader is there to just kind of keep the wheel turning and then then the stock market starts to decline and they bring in another monster. But this guy is essentially this sort of gentle stable operator, clear communicator, and then he just delivers like brutal world smashing returns to the market. I don't know if anyone's ever seen anything like it before.
23:04SC: It's really neat.
23:05BP: Nah, they were the first to one. The first to 1 trillion. That's a, that's a nice record to have on their shelf there. Nice trophy.
23:11PF: He's gotta be beast at some level, right? Like there's gotta be a way where he makes 50,000 people fly straight.
23:19PF: We talked about this before, Paul, we had this conversation about what it used to be like to work in software and how, you know, the sort of brutal sociopath and you know, the, the, the Linus of the world was like the thing that got things done that made things work. And then slowly over time open source and community building has proved its value again and again and again and so he can come in and say, wait, if we pivot to this kinder, gentler, more collaborative way, maybe it'll actually pay dividends. And that's what we're seeing.
23:44PF: It is. I think what's weird, Microsoft's sees the world in a macroeconomic way. They're so big.
23:49BP: They're not GE, they're no GE, c'mon now.
23:51PF: They're not actually, but they kind of are. They don't play it out as much, but they are very like supply chain oriented in ways you'd never expect cause they're so big and so it's very strange cause that never really, that doesn't land on the consumer very well. It tends to land as like Windows form, update, pack metro UI and you're like, Oh shit. I guess I guess this is how I'm talking to the database now. And so for them to make decisions which are actually consumer centric while still being this macro economic powerhouse and for it all to still feel like one thing is unprecedented in the industry.
24:23BL: The other thing that blew my mind was their willingness to sort of own up to being wrong. So I don't think I've seen a big co say we were wrong about X and yet I think it was the Verge a couple of days ago. It was like, Satya, we were wrong about opensource. What an amazing addition. CEO's don't do that usually.
24:43SC: Well he wasn't there, he wasn't, he wasn't actually like, he's like, we were wrong. It wasn't me, you guys, but it was before his times.
24:51BL: It was the other guy.
24:55SC: But it was bad.
24:55PF: These are the people on his board and the people who put them into control though, like they, they have clearly, that is a hell of a move for a fierce loyalty driven culture. To be like, nah, it feels like this was actually what IBM was trying to do like 20 or 30 times in the past and it could never, I could never get out of its own way. I think because the consulting money is so good.
25:16BL: Microsoft kneecapped them.
25:18BP: I mean we actually did like a testimonial with Microsoft because they're one of our biggest Teams customers and Brian, you're totally right. Like the guy said, we tried to build this in house and it didn't work and one of the things Satya taught us was like, it's okay to own up to mistakes and like go a different way. Like you don't have to have win claim to win every time. And I was like, Whoa, I never heard somebody like an executive say that in a consumer briefing before. That was weird.
25:39BL: It's refreshing. It's nice to see and their big focus on the actually living the diversity and inclusion. So they're not just saying it, but you can see it on the stage. You can see it in their executive team, you can see it in their products and how they, they talk about themselves and it's, it's a very refreshing change.
25:55BP: But Paul, don't they have less of the like moonshot building a solar, you know, internet thing then Facebook and Google do. Don't they have less of that?
26:05SC: That's why they [inaudible].
26:06BP: I mean they did the phone, the phone flopped.
26:07PF: Yeah I think also, look, the way I would frame this, first of all, Microsoft research probably doesn't get enough credit. It is one of the premier like computer science driven research organizations in the world and people and...
26:19BP: Right. Deep AI those kinds of things.
26:21BL: Hallow lens?
26:25PF: No but also like like type safety, like really deep fundamental stuff like they are dead serious about and they really like, they hired some of the best people who've ever worked in the industry to go work on this. So I just think again like they set up their own supply chains and yeah, it feels like with the big bats, I don't know. There's also a sort of narcissism to the like the Facebook and the Google strategies where it's like we have to be everything because of this and it feels like Microsoft is just like the middle aged dad going like, yeah, cool man. You are having a great time at college and later you are going to come work with me at this company and we're going to update, we're going to, we're going to put machine learning into the CRM dynamics tools in order to help people do lead classification.
27:14BP: I mean they're also, you know, 20 or 30 years older than those companies. So they had their wild experimental years. Maybe, uh.
27:20PF: Well that was a giant, terrifying monopoly that destroyed everything they it touched. Yeah just fire running through the forest is what they had.
27:32BP: Shout out to Microsoft. They're a great customer.
27:35PF: Love you guys.
27:36[MUSIC]
27:39BP: So Brian, we're, we're, we're past time on set, but I wanted to ask you one question, which is that year in San Francisco, I know you might be decamping for the summer, but can you just tell us a little bit about what the vibe is like in Silicon Valley and in its biggest city and like what has this, you know, quarantine and lockdown been like?
27:55BL: Yeah, it's been, I think in many ways it's actually brought a lot of the community around here together. The other day I was hanging out the back window of my apartment and so were pretty much every other apartment windows cause everybody's cooped up in their apartments and so you just want to get some air. And we were all chatting and it was kind of neat. So in a weird way, I think covid-19 has brought people in the community a little bit closer than they've ever been before. Generally San Franciscans observe science, so things like masks and social distancing or mostly have been observed from the beginning and the curve has been thankfully been kept flat for the most part. I think people are just generally a little bit scared, don't know a whole lot about where this is going and that uncertainty brings people more together than it. Then it pushes them apart. But at the very beginning my Canadian family was like, you got to get out of there, it's going to go crazy. It's like I don't, I don't think that, but I don't think that this is a moment of civil unrest. I think this is actually just a moment of where where we need, we do need to come together to protect the most vulnerable in our communities and it's not just about like me, it's about like, you know, immediate family or neighbors or whomever. So for the most part, good. I think a lot of things that we had always wanted in San Francisco are now here. You can get booze delivered. Finally there's takeout cocktails, which is actually kind of awesome. Go for a socially distance walk and have a mai tai. Yeah, it's devastating. At the same time, walk down Valencia street and every one of my favorite bars and restaurants is gone and I'm not sure where, when they're coming back, which stings. I think the families are going nuts if I'm going to be real honest. Everyone I know that kids feel like they're in a prison of their own making and doesn't know when they can get out.
29:42PF: That's a real thing thats happening.
29:45BP: Yeah. I moved to, I moved to three houses in three months in my, in an effort to find the Island of sanctuary. So I know what that's like.
29:51PF: We just never leave the apartment with two eight year olds except for the one, the one daily outing. It's great.
29:57BP: Yeah. But I think, I think one thing you said is really important, which is that, yeah, I mean it used to be that, you know, there was, there was vast inequalities in San Francisco as in New York as much as anywhere in the world and in a certain way. If everybody has to be home and no restaurants are open, you know, it's a great equalizer. We're all in this same boat of uncertainty and nobody is really out there, you know, living a lavish life. We're all kind of just trying to get through this together in the in the most fundamental way.
30:20BL: Yeah.
30:21SC:It kind of dictates that you will have a home though. I think that's like something that, yeah, yeah. I think it's like, yeah, it definitely is. As long as you're like Maslow's hierarchy of needs, most of them are met. Yeah, yeah, yeah.
30:34BL: We are hugely privileged. This is, and especially in San Francisco, this is not cheap real estate to have. This does highlight inequalities and it's like, I love that we're calling people essential, but we're fighting over what their minimum wage is. How are they essentiall if they're getting paid minimum wage, that doesn't seem like the right kind of compensation if they're risking their lives to protect us and feed us. So there's going to be change at the end and when we get through this, which we will get through this. And I think the silver lining of this pandemic is that it's really showing the cracks and inequalities in our, in our society and we're going to have to work to address that.
31:12PF: You know, it's been, it's been really interesting watch watching. There's a lot of food and food insecurity in our neighborhood in Brooklyn. And so there's a lot of groups coming together trying to help both from cooking and just getting money to the right places. And so on, and so obviously everybody's using the same tools and air table and zoom and sort of whatever. And it's been fascinating to watch how little, what I would call it, crisis software exists in the world. Like it's very hard to create an adaptive system and keep messing with it in order to, to change things. And there are engineers on projects I've been watching and they're bringing like classic engineering culture to a place where people just aren't ready for that and they're, it's just been wild to watch everyone try to impose their culture of good, successful operation on a situation that may not have anything to do with that. Right. Like we just like, are we, you know, who has literally the questions are like, who has enough flour or get the church to loan us a room as a food pantry. And those, some of those are conversational. Some of those are software.
32:21BL: Those are people problems. Those are coordination issues.
32:22PF: They're people problems. That's right.
32:24BP: But yeah, this is less of a like how do we build a startup, you know, with a cold start to get to good runway or ARPU. It's less of like, how do we booklets? It's more of like a FEMA, like it's a disaster response management. You would need that kind of, if somebody had built software for that.
32:37PF: You know what's wild is there's a zillion tools for things this, but when it comes down to it, people just use Google spreadsheets where they use air table like they're there just because my, my idea is basically I think you need to model it in your head and before you can lock in, like you can't learn the new tools because you don't really know what you're doing yet and, but you know, Google spreadsheets and so like you can share this back and forth.
32:59BP: For people who may not have access to computers or smartphones or whatever. Like is there any software that communicates with them to say like, if you needed flower, tell me here and I'll put it there. Like is there any app that anybody's built? Like how do they know how to, how do you interact with the people who have the need and then you know, you can provide the?
33:16SC: Yeah. What is the app for people without smartphones? I don't understand how that works.
33:20PF: Well it's in America, you can kind of count on it now regardless. Like not almost, except for older and other, there's like specific communities. But even somebody who's a pretty limited means but it's texting, right? Like people text. WhatsApp is a critical tool and it's like, you know the tech industry discourse around WhatsApp is like Facebook privacy, security is hot and then like WhatsApp is also the preferred app of the construction industry and you know, and it lets you talk to your family back home. So it's like where you have to find that balance and sort of get people where they are.
33:52SC: Like in the kindest, most goodhearted way. A lot of people, I've seen a lot of hackathons, right? Like just there's been a lot of hackathons scheduled and I think that's one, I think that's wonderful, but it almost seems like a square peg in a round hole, right? Like no one is looking. It's really difficult to think of like the game changing app is going to fix everything right now and it feels like there's a lot of energy. Then people are trying to put it towards things they're used to and things that are normal to them. But if that doesn't always work in this case.
34:19BP: Yeah. If you're going to do a 24 hour hackathon, maybe just build somebody a small, a small home in that time.
34:24BL: I get it though. You know like if you're in the middle of this, which everyone is, there's so much uncertainty. You want to find some agency so you just need an outlet and it feels like, Oh, if I do this thing that I already know how to do, I have some control over this. You know, completely.
34:41PF: You have this hammer. It's a wonderful hammer. Yeah, no, I mean look, if nerds want to help right now, go look for like food support in your community and then, and don't go in expecting to lead. Just know that they probably like people may need help with their email and that could make 20 more people get fed this week. Yeah. Right. So it's like you have to prioritize that. Is it more important for you to demonstrate your craft and mastery or more important for you to be like, I know Outlook.
35:10BL: I think I'd rather write code, actually.
35:14PF: So help us get connected to Deno, like where, what kind of help is the effort looking for and how does someone get started using the tool?
35:23BL: Well there's, so there's a lot of opportunity in this state. It's a brand new runtime and that ecosystem is young. So you've got a Denoland and that's the main website. I built a little goofy playground at dental.town which you can check out. If you just want to play with it in your browser. And I'd say just, you know, download it, install it and get going. There's a really great discourse server or discord server, sorry. Whether there's lots of active conversation. The distributed nature of the module system is, is creating a pretty wild like branches of ecosystem and it's the wild West. It's time to jump in there. I'm working currently on an AWS SDK port. There's actually a runtime compatibility layer for node that's being currently worked on. It's pretty exciting. There's a good chance that node programs will be compatible in the not too distant future. So if you want to get some commits and it's a big project is looking for help. And there's plenty of JavaScript out there to copy and paste. Recommend checking that out. I'm trying to think if there's anything, any other big sort of ideas to end hits. I mean there's no web framework yet really. There's one called Oak, but no one's done any front end stuff with this yet. So I feel like there's a huge opportunity there. Pick and choose your favorite front end ecosystem thing and see if you can bring that over to Deno and community would love that.
36:43SC: No, looking at the modules, there's a lot of them, but there's definitely a big opportunity it seems like.
36:48BL: Absolutely. And if you want to try and run it, check out begin.com we make it two clicks to run it on on AWS Lambda.
36:55SC: Awesome.
36:56PF: And if people want to get in touch with you, what's the, what's the best way?
36:58BL: My name is Brian, B R I A N L E R O U X. And that is me on all the social medias and Githubs and Twitters and out there in the internet. So you can find me. Ping me. I'm pretty chill. I'll probably respond. Unless you're weird.
37:17PF: You are pretty chill.
37:19BP: Hey listeners, don't be, don't be weird.
37:24PF: Don't be weird. This person is running a small business and helping with that sort of software. Be chill with this guy.
37:30BP: Not your usual selves is what we mean.
37:33PF: This is great. I now know culturally so much more about, we don't, we still don't know how to pronounce it and one day we're going to find out. But uh, culturally I feel like I understand the system's so much better cause I was just thinking like, I guess it's the next JavaScript node thing but it's good to understand its, it's goals and word fits, especially around startup time. That's really interesting cause that is one of those secret killers of software.
37:58BL: Yeah. I think it's pretty addictive. The other neat thing when you get your TypeScripts built in, you can do things like server rendering react without a compile step, which could be quite disruptive to the current ecosystem.
38:13BP: Alright, another podcast for another day.
38:15[MUSIC]
38:19BP: Alright everybody, we're going to sign off for now. As always, we do a lifeboat. This is where we think a member of the community who was awarded the lifeboat badge, there was a question that was asked. It got down to a score of negative three. It seemed like it was consigned to the dustbin of history, but somebody came in and answered that and got it all the way up to an accepted answer score of 20 or more. So Brian, you wanna read this most recent one for us?
38:39BL: Yeah, it's Gina [inaudible].
38:46SC: I think you're right about [inaudible]. That seems right.
38:49BL: Yeah. And uh, the question was find elements not in the intersection of two lists. Looks like it's a Python question. Yeah, that is a good question. And.
39:00BP: They got a little shortcut.
39:01BL: The answer is really beautiful. It's a, it's a nice intersection of two sets, good styff.
39:06SC: Oh that looks like one of those code golf answers.
39:07BL: It's totally a code golf answer, but it's, it's slick. I like that.
39:10BP: Alright, great. Well thank you to Gina and thank you to Brian for coming on. I think he said where people could find him. So we'll just say our goodbyes now. I'm Ben Popper, director of content here at Stack Overflow and you can find me on Twitter @BenPopper.
39:22SC: And I'm Sara Chipps director community here at Stack Overflow, and you can find me at Twitter @SaraJChipps.
39:27PF: And I'm Paul Ford, cofounder of Postlight, a digital product company. Get in touch with me at @Ftrain on Twitter.
39:35BP: Alright, Deno. Deno, Dino.
39:36PF: Bye!
39:37[OUTRO MUSIC]