463

May 27th, 2022 × #javascript#frameworks#startups

Supper Club × RedwoodJS with Tom Preston-Werner

Tom Preston-Werner, founder of GitHub, discusses his work on RedwoodJS, an opinionated fullstack JS framework to help developers build and scale web apps faster.

or
Topic 0 00:00

Transcript

Wes Bos

Welcome to Syntax. This is the podcast with the tastiest web development treats. Today, we've got another supper club for you. This is our new, part of the podcast where we bring on people from the industry and talk to them about What they're working on and all kinds of interesting stuff. Today, we're sponsored by 2 awesome companies, AIO SEO. That's the all in one SEO toolkit for WordPress to help to improve your website rankings is used by over 3,000,000 websites and has powerful features you need to rank higher. We'll talk about them partway through the episode. We're also sponsored by Whiskey Web and Whatnot. That's another podcast.

Wes Bos

They talk about whiskey, they talk about the web, and they They talk about whatnot. We'll talk about them partway through the episode, but you're gonna wanna check that one out. We got an awesome guest on for you today, Tom Preston Werner, who, is working on Redwood JS amongst, a very, very large background of stuff.

Wes Bos

We're really excited to talk to him about, Redwood J. S. And possibly whatever else comes on. So welcome, Tom. Thanks so much for coming on. Thank you. Glad to be here. Yeah.

Wes Bos

So So do you wanna give us a a quick, like, 1 minute rundown of of what your background is and, all the way up to working on RedwoodJS?

Guest 2

Yeah. Well, if we go way back, I wanted to be a a physicist. So I thought I'd get into theoretical particle physics. But it turns out that Physics is just math, and I don't love math that much.

Guest 2

So I've I'd always been into computers, so I switched to computer science in college.

Guest 2

And then, I actually ended up dropping out of college to work for a start up because this was in, like, 2000. So things were frothy, and and A lot of things looked like they could be lucrative if I ended up at the right place, so I wanted to get in the startup world. Oh, yeah. So I did that for a few years, bounced around between a couple of places, got into Ruby on Rails. That eventually landed me up in San Francisco where I worked for a startup called Powerset.

Topic 1 02:32

Founded GitHub, worked at Powerset

Guest 2

And during that time, I came up with the idea for GitHub and started working on GitHub. So I founded GitHub and then, from there, did that as as you know, and then have done a couple of things since then. I worked on a nonprofit called Code Starter where we tried to get laptops in the Hands of kids that wanted to learn how to code.

Guest 2

I did a start up with another, ex GitHub cofounder Scott cone called Chatterbug. It's a language learning app that's still going. And now I've gotten into Redwood JS, which is a JavaScript framework That I'm sure we'll talk more about.

Guest 2

And, of course, I've done a bunch of open source stuff. So Jekyll, one of the first static site generators, defined the semantic versioning specification a number of years ago. Created the TOML specification, the configuration language Oh my goodness. That is used in a variety of different languages and projects now. So those are some of the big things, and Redwoods Redwoods kind of the latest project. I always have a side project.

Wes Bos

So Redwoods kind of the latest. Amazing. Can can we just point out for a second? We get a lot of people ask this question.

Wes Bos

The guy who made GitHub, Jekyll, SemVer, Toml, not good at math. We get this question all the time for people. I wanna get into programming, but I'm not Good at math.

Guest 2

Yeah. I think that's awesome to hear. The problem for me was I mean, math is fine. I I like Math. I I like math when it's well taught.

Topic 2 04:00

Not good at math proofs in college

Guest 2

And, and the problem was, I think, in college, it was not well taught. And especially things like linear algebra And discreet algebra. Like, I just couldn't deal with it. And then it got into proofs.

Guest 2

And let me tell you, my brain just doesn't do proofs Well, for whatever reason, like, it's like, alright. Here's the thing. Like, write down the proof for it. I'm just like, I just wanna be doing anything other than this right now, which is weird because I have I feel like I have a a fairly logical brain, but for some reason, like, that part of it just wasn't

Scott Tolinski

Working for me and then especially getting into advanced physics, and it just becomes it's just pure math. Like, it's it feels totally divorced from the real world, Which is fascinating. Like, what what is it about the fundamental nature of our universe that the universe is just math, that we can describe it so well with math? Like, that's weird. We can talk about that later if you want. Yeah. Yeah. That is that is very weird. Yeah. I thought I was good at math, and I tested into, like, Calc 3 or something for freshman year of college. And I, like, walk into Calc 3 being like, yeah, I know I know math. I, you know, tested out of the 1st 2 classes, and then I dropped it in, like, the 2nd week. I was like, you know what? I've actually fulfilled all of my math requirements from my high school AP classes. So now I'm I'm done with math forever, and I won't ever pick it up again.

Wes Bos

I remember that as well in in high school. I hated calculus and all that stuff. And then we got into, like we had a couple problems that were, like, money math. Like, the T shirt costs $12 and and it's $5 to get it, and how much money will you make? And I was I was I was on board. I was like, I like this money math, then I went into accounting and stuff. Okay. I like money math, but not, yeah, not physics. Just like you'd be good at sticker sticker something. Math. Yeah.

Guest 2

Yeah. Well, the most advanced math I think I've ever used in Programming is Trig, which I used for a user interface project for, kind of a consultancy that I did for myself Back in the day, that was called Cube 6 Media. It did website design, graphic design.

Guest 2

Yeah, and that kind of stuff. And it had this really cool menu. This is back in the days of Flash. Right. So this is, like, 2002. And so if you wanted to be awesome, you had to create the most complicated navigational Concept that you could with Flash, like, this is how it worked. It was the series of circles that that was kind of fractal in how it works. So you you'd click on a menu item, And it would then expand that circle, and then you'd see the little circles under it that were the sub menu items. And it would, like, rotate And expand Oh, yeah. And contract as you moved around the menu. And it was really cool, and it required a lot of trigonometry.

Topic 3 06:27

Did Flash navigation menus back in the day

Guest 2

So I'm glad that I knew some trig that made that possible. Amazing.

Scott Tolinski

Yeah. Flash navigations were the whole thing. I mean, you had sound effects. You had all sorts of animations. You had some, like, really interesting Futuristic kind of win, amp y designs and Oh, yeah. Man, all that stuff just went away overnight, really. I know. I mean, obviously, it was not

Guest 2

Particularly accessible or SEO optimized, but it was awesome.

Guest 2

So I miss those It it definitely A lot of people interested. I miss those days a little bit where or things like Kai's Kai's power tools. You you you guys ever play around with Some of the, like, the Photoshop plug ins and the the KPT stuff. Like, the the it was, like, the most ridiculous interfaces, like KPT Brice, I think was one of them for generating, like, 3 d landscapes. I played around with all this stuff, and I kinda love that you could just experiment with interfaces Back then, anything went. We were just exploring the territory. Yeah. Those those are different days. And now I feel like I go to any Developer tool website, and they're all exactly the same. It's all like a black background with a gradient font Hero techs. Like, they're they're they're indistinguishable, and it makes me a little bit sad. Like, I kinda want that creativity

Scott Tolinski

back. Yeah. If somebody were to, like, bring out one of these like, that's maybe the new the new retro futuristic, design style that we need is these ridiculous gradient bump map kind of looking three d Fake texture, like, wannabe skeuomorphic flash design. That would actually be kind of a thing that somebody broke up.

Guest 2

Mark my word. We'll be full skeuomorphic in, like, 7 years.

Topic 4 08:09

Predicting full skeuomorphism in 7 years

Guest 2

I can I can almost guarantee it? 7 years. Okay. Oh, I can't wait for that. We're going that direction right now. There's like the clay morphic where it's kind of the, like, bubbly looking thing. There's neuomorphic or like the The brute what's it? They called it something like brute brute brutalism? Morphic, or there's, like, a brutalistic one. Brutal. Oh, there's a a brutal morphic? That would actually

Wes Bos

I really like brutalist designs. So for me, that would be pretty neat to check out. Let's bring it back. There's something to be said for the fact that the web has come so far, and everything looks the same. And back in the day, we were strapped for what we could possibly do with tables and Photoshop slices, and the web was so different on every web page you went to.

Wes Bos

Transparent GIFs. Yeah. My favorite. Let's talk about one of our sponsors, AIOSEO.

Wes Bos

It's The all in one SEO toolkit, is a WordPress plug in. Over 3,000,000 people use it, which is unreal.

Wes Bos

They've got all the SEO features you'd sort of expect, SEO optimizer, true SEO score.

Wes Bos

As they do site maps, video news, integration with Google, Bing, Yandex, and Baidu Webmaster Tools.

Wes Bos

They are instant indexing add on to get your site indexed faster. You know, you're like you you build a website, you know, you're just kinda sitting around. When's this thing gonna be indexed? Right? You need to sort of go live when you need to go live.

Wes Bos

Let's talk about this. This is one cool feature that sort of jumped out. They have a REST API for building headless websites.

Wes Bos

So, if you are building, like, you're using WordPress as a headless CMS, But you still want the sort of SEO juice and your you want your clients to use these awesome plug ins for that? Well, you can sort of get the best of both worlds because they have a rest API.

Wes Bos

You can pull in all that data, and you're using React head or, what's the other one? React helmet. That's the one I use on my website.

Wes Bos

You could just slap that info right in there. This is the web documented code filters to customize anything you want. They have advanced tools for Creating websites and domains without using SEO rankings. That's that's a big one. I'm always kind of scared to change stuff when I know it's working well for my SEO.

Wes Bos

So you wanna check it out. They've got, pretty much every feature under the under the sun. WooCommerce, MemberPress, seed, prod, and more integration.

Wes Bos

Check it out at aiose0.comforward/ syntax. That's gonna get you 50% off the regular prices. Thank you, AIO SEO for sponsoring. Let's get into talking about Redwood.

Wes Bos

Reminisce. I I feel like we should do some shows sometime. We're just talking about the old days, but let let's talk about Redwood.

Wes Bos

What is it? You wanna give us a rundown of that? Yeah. So Redwood is a Full stack JavaScript framework

Guest 2

that we want to make it as easy as possible for you to scale from a side project to a start up.

Guest 2

And so if you have an ambitious idea, something that you would like to stick with for a long time, we're really trying to optimize Redwood JS for that. So this the basic stack for Redwood is, React on the front end, GraphQL to talk from the front end to the back end, And a GraphQL API implementation on the back end.

Guest 2

And we've done a lot of things to make that as easy as possible, we can talk about. And then Prisma as the ORM to talk from the back end to your database. And then you can use whatever database you want that's supported by Prisma. So that's kind of the stack. The idea was to use a set of familiar technologies and then really integrate them Beautifully. Better than you've ever seen it done before in a way that makes you wanna use this framework because it's done so much work for you. And then on top of that, we integrate also Jest for testing and Storybook.

Topic 5 11:25

RedwoodJS stack uses React, GraphQL, Prisma

Guest 2

And if you've ever integrated These things into your apps or set these things up and try to get them working, I think you probably know that getting that even to work Can take you sometimes days or weeks to get it to where you're like, oh, finally, this is working the way that I want. It's a totally nontrivial thing to do. And for all of Those, we try to really bring a level of integration that makes you happy. So for instance, things on the testing side, We've made it really easy to mock your data fetching. So because we have a the strict separation between the front end and the back end via GraphQL, Then we make it really easy to set up mock data and then specify which of those you'd like to to use for a component that might do data fetching so So that you can get mocked data in your tests or even in Storybook.

Guest 2

So this is also you can you can have mock data in Storybook so that A component a React component that you wanna look at in Storybook that does data fetching, you can see and view that in Storybook, which is also a nontrivial thing to set up. Right? Because other normally, your component's gonna sit there, and it's gonna try to do real fetching. And, of course, it's gonna not work because they're in a storybook context, and there's nothing to pull from. So you need to be able to specify those mocks, and that's not really something that's built in. So we've added a lot of layers of things that are nice On top of that, to make your life as a person who's building a side project or a start up or anything in between to do that. But it's not just a technology. We're trying to bring also A community and a knowledge base around building startups with us. So we have a whole community of companies now that are using Redwood building their Startups and we get together all the time. We call that the startup club. And I'm there, and David's and the other cofounders are there to provide our assistance in helping people understand all the different aspects of building startups and raising money.

Guest 2

And so really trying to see this as more of a holistic play towards someone or a team that really wants to build something Special. Something that's gonna have impact and go much farther in that capacity than any other framework that we've seen as far as, like, Helping you get things actually done. Nice.

Scott Tolinski

Yeah. I'm really glad that you, you mentioned a lot of the integrations, Right with with, like you said, storybook, just those types of things. As someone who has built a custom React Platform with a custom GraphQL server and all this stuff. I mean, you're dead on. All of that all of that is a giant Pain. It it's almost so frequently a giant pain that, you know, you don't want to reach for those tools. Like, I I've looked into reaching for other tools Or tried to build my own isolation tools because getting in mock data is such a a a pain or working and connecting all the dots essentially. So I think it's it's so big that, you know, you have all of this preconnected, and that's really what this ecosystem has been missing for a long time. Wes and I always talk about The rails of JavaScript, the rails of React, and, the benefits that that has, where all of these things can just we can talk to each other. So, that that to me is one of the most exciting aspects of this is that you're not having to hook it all up yourself. Yeah. It it's kinda interesting that, like, we've been saying for years, Where's the rails of JavaScript? Right? And the JavaScript

Wes Bos

ecosystem in the community has always been a little bit different in that, like, we don't build these Single use things. We have lots of things, and you can use literally anything with anything. And you can put it all together, but the reality is that That's very hard. And like you said, it could take weeks. So, like like, what are your thoughts on, like you obviously built a lot in Rails. Is Is JavaScript the stack for building? I think I know the answer, but is JavaScript the stack? If you're building a startup today, is that is is this the stack that you should be using? I would. I I mean, I don't I don't wanna be prescriptive and say it's the only stack that's gonna work. I think rails is still really great. If you like rails and that's what you know,

Topic 6 15:55

Can build startups in JS instead of Ruby/Rails now

Guest 2

Then use that to build your thing. It'll work. You can get there.

Guest 2

For me, these patterns around, especially GraphQL, And at Chatterbug, at the language learning startup that I cofounded with Scott Chacon, we were using we ended up using Rails as a GraphQL API. So we started it as a Okay. As a vanilla Rails app. And then we started using React on the front end and kinda mounting it in multiple different places.

Guest 2

And that eventually then transpositioned into wanting the front end to do to have components do more of their own data fetching, and so we were using GraphQL For that and so the the Rails back end well, first of all, we're now rebuilding the back end in GraphQL. So we have The traditional rails back end that is feeding, the views, and then we have a GraphQL API on top of that. And now we have business logic in Two different places, and it was becoming a nightmare.

Guest 2

This is where a lot of the learnings of Redwood have come from is through that journey at Chatterbug and trying to to deal with that evolution.

Guest 2

And eventually, Rails was becoming just a GraphQL API, which it's okay at, but now you're using JavaScript on the front end for React and Friends.

Guest 2

And then you're using Ruby on the back end for GraphQL, and it it felt a little weird. I was like, why am I not why are we not just using JavaScript everywhere? JavaScript is great now. Mhmm. It can do so much. There's so many libraries available for everything.

Guest 2

What if there was a way to do the entire stack in JavaScript? But there's nothing out there that's that's like a that looks like a framework that would make this easy for me to do. Because like you're saying, everything was everything's all cut up into tiny little Pieces, little bits that you can mix and match. And so everyone that is was doing a React site was doing it differently. So you could work at 1 company, Be like, I'm a React developer.

Guest 2

And then you move to another company and you wanna be a React developer there, and it's completely different. Your stack of technologies is completely different.

Guest 2

You're using all different stuff. Maybe you're still using React. Like, literally every single other thing that you're using to build that Web application is different. And so the transition or the transfer of skills from 1 company to another is really tumultuous.

Guest 2

And so I was thinking from this rails perspective, like, the thing about rails, which was very nice, is that more of the framework is opaint opinionated and and kinda ready for you out of the box.

Guest 2

So you can know Rails and go from 1 company to another company with much more ease than you could in the JavaScript world. And so that was kinda part of it.

Guest 2

Was to say, what if we could codify some of what we've found to be best practices And say, hey. Here's a set of technologies that work well together. We've done integration work. We tell you where to put things on In your file system, like, all of these choices that you have to make when you're doing a React, a project, Of which there are millions. And there's not a lot of ways to search for, like, what you're, like, how should I lay out my files? And everyone's, like, I don't know. However you want. How about you? Yeah. Oh, hate that. Tell me.

Scott Tolinski

It it's it it is such a bigger problem than we like to Think it is because you'd say, oh, it's so great to have that freedom. But it is at the end of the day, those are all decisions you have to make. I have to make enough decisions For my business, for the other things that I'm doing, the last thing I wanna do is make hundreds of decisions in my tech stack as well. I would just like it to work and be efficient. And and I myself like, I I understand the the the viewpoint behind Rails because I rode in Rails, but I was never good at Ruby. So having something To that degree where the decisions and the the conventions are all there is, I think it's pretty pretty needed in this in this ecosystem.

Guest 2

Yeah. And you're starting to see a Bit of that happening, now you have several different full stack frameworks, things like Remix or Blitz that that have been around kinda Trying to do this, like, what is what is a rails y what does a more rails y feel of something look like in the JavaScript Ecosystem. And so you see a couple of these happening all at the same time, which is so common in history that you'll you'll always find solutions to a problem happening at the same Time, which is which you might think is is weird, like, why like, such a coincidence, but really is Driven by all of the various prerequisites for those discoveries or inventions to happen, like, they're out there. There's a book that I love by Steven Johnson called Where Where Good Ideas Come From Now. I forget. I'll look it up for you later. But, one of the one of the basic concepts in it is about the adjacent possible.

Guest 2

And that's to say, Imagine everything that we know as a set of doors that are connected, and the things that we all that we know are all connected by open doors. But each room has a set of doors that isn't opened yet, And those represent the adjacent possible, the things that are about to be discovered, the things that could work next.

Guest 2

And all it takes is For one of those doors to be open for this for a new type of invention or a new discovery to happen. And often, there's multiple people opening those same doors at the same time because that's what's Next.

Guest 2

So things like the discovery of calculus.

Guest 2

Getting back to math a little bit. Simultaneously discovered by Newton and Leibniz at the same at, like, the same time. You're like, how is it possible that 2 different people in 2 different places in the world could discover This concept this this tremendous mathematical concept simultaneously, and it's because it was the adjacent possible. It was it was the next thing that was gonna happen inevitably.

Guest 2

Who was it gonna be that was gonna be the steward

Scott Tolinski

of that? Yeah. The book is by the way, it is where good ideas come from. Nice.

Guest 2

Yeah. You had it right. So you you got it. I I just I linked it up in the the show notes for everyone. So, yeah, I'm gonna have to check out that book. That seems like something that's right up my alley. Yeah. But I think it is for me, it's It's about saving people time. And if you have concepts that people can agree on to accomplish something and you can have reuse of those concepts across Companies across projects.

Guest 2

Then a person you can hire a person and then say, hey. We're hiring Redwood developers. And you can be pretty sure that that person's gonna come in, and they're gonna be, I know this. This is Redwood. I know this. Mhmm. Yeah. Yeah. And that's and that's awesome. Yeah. That's huge. That's such a productivity gain. And, again, to not have to make zillions of Decisions that are really pretty arbitrary. You just want them to work well together.

Guest 2

You can make any set of arbitrary decisions. And as long as they work well together, you're You're happy, or I am as a developer.

Guest 2

I just want a system that allows me to get done what I care about, which is building The things that are special to my application, to my business, I don't care about all the stuff that everyone has to do all the time, like Integrating GraphQL and React or getting Storybook working. Like, I don't ever wanna have to do that Again, and so great. Now we've done it with Redwood. We've done it once. And now I can use Redwood forever, and I have this fully integrated platform that I can use to start With my business logic and my UX, and I don't have to worry about any of that stuff. Just like with Rails, you generally don't have to worry about that stuff.

Scott Tolinski

I have lost literal weeks with mocking in GraphQL.

Scott Tolinski

So so to to just hear that is Just music to my ears. Not having to waste all that time and just being productive right out of the gate, is something that's, like, super enticing.

Scott Tolinski

So okay. We have this this platform.

Scott Tolinski

One thing that really stood out to me about your your Approach in your platform here is, like you mentioned, having essentially a place where you can go to have centralized Learning of this one thing, right, where everyone can can share that knowledge.

Scott Tolinski

And one thing that really, like, sets you apart in my mind is the docs And some of the video content that you've produced, do you wanna talk a little bit about your strategy there? We have basically, like, essentially, like, a book On Red j s Redwood j s that's on the website, but you also have, like, really engaging video tutorial content. Is is that, Like, been a big approach of yours to to want to, put that learning stuff as a big emphasis in in Redwood?

Guest 2

Absolutely. I've always wanted really first class documentation.

Guest 2

Because as we know, as developers, if you go And you're looking at some new project that comes out, and you're like, wow. This looks really cool. And you go to the docs, and you're like, alright. I'm gonna figure out how to use this. And you go there, and the docs aren't very good.

Topic 7 24:16

RedwoodJS docs as important as code

Guest 2

It doesn't matter how good that project is, how good that code might be. If you can't figure out how to use it, you're not gonna sit there and read the code to figure it out. It's just not Realistic.

Guest 2

And so documentation documentation to me is equally as important as the code for the project itself. You you have to have Both to have a successful project. And I'd argue you need to have a an excellent community as well. I think those are the really these 3 pillars that you need for An open source project to really flourish or any project that's especially developer centric ones. But, really, first class documentation was Critical and really fundamental to the 1st release that we had, the the o dot one release that we had 2 years ago, March.

Guest 2

And the way that we knew what to release as the o one, in our minds, we're like, What is the o one release? This very 1st public release that we're gonna do, what does it need to have? And that was driven completely by what it what was required in order to make the tutorial work.

Guest 2

So we wrote a lot of the tutorial before the code was actually done in a way that it was it's kinda like read me driven development. So I wrote a blog post many years ago. Yeah. I was just gonna to say that. That's interesting.

Guest 2

The docs driven development. Yeah. And it was really tutorial driven development. It was like, what do we want The user experience, the developer experience for Redwood to be. Let's write the tutorial as if we could do what we want to do And then see if we can make the code make that possible. And so we did that in a bunch of different ways.

Guest 2

And, really, as soon as we And and the 2 kind of, you know, coalesced. It wasn't that everything that we wanted to do with the tutorial or or d x, we weren't able to do At at first, we've been able to do more of those things now. So it kind of went back and forth. But by writing the tutorial, We made sure that what we were creating was was good.

Guest 2

Because this this often happens. Like, you create some code and you have an API for it, and you're just trying to make it work. But you're doing it in this isolated way where you're not really building something real with it. You're not using it as you would in real life Or trying to teach someone how to to use it or explain it to them. And then it doesn't hang together very well. And so this This was the approach that we took, was start with the tutorial, make it possible as much as As possible, make it work with the code.

Scott Tolinski

And then when that finally worked, then we shipped o one, like, the next day. I mean, that's, that's huge, though, having those ready. Because, yeah, I mean, you think about the React Hooks documentation, it's still not out. And, boy, what, it's been, like, 3 years or something now? It's like, They they I feel like that's the type of thing that, I don't know. It's really impressive that you you put that forward as saying this is needs to be available for us. This is, you know, what makes a good project. Yeah. This is sort of how I've always worked, and and some of the the things That I've created, I've really never written code for. Like,

Guest 2

semantic versioning, right, is a specification.

Guest 2

There are libraries that help you manage some semantic versions and things like that. But I've never written a single line of code around that myself. TOML is more Specifically, like, you know, you need a code base to be able to parse and turn your TOML file into some kind of a data structure.

Guest 2

And I've never ever once written a parser for it. There are hundreds of parsers that other people have written. So I've Mhmm. Found great leverage in being able to something as a designer. Because I feel like I am I am maybe more of a designer than I am a developer, Really? Kind of intrinsically? And so to sit down and be able to design something as a read me or as a spec Or as a tutorial or as a set of documentation, that is the highest leverage thing that you can do because now you can coordinate with other people and say, here's How this should work, let's build this. And then it's very clear for people, for developers, and developers love when there's something that's well specified, To say, oh, that's what you mean. Here's the different edge cases so that we don't have to spend our whole time wondering.

Guest 2

As developers, wondering, like, okay, well, what did you mean in this Specific instance. Like, what about this this state that you can get into? What do I do there? If you can figure those things out beforehand. Not so then this is the point of Read Me Different Development. Not so much that it becomes this thing, this document handed down from on high or, like, some crazy waterfall Process like giant industries do or that you might have to do for an airplane or something.

Guest 2

But for a web application, The ability to specify things fairly well so that you know how they work and how they hang together, and then flesh out the details as you go along. But that allows you to get a team together and say, this is what we're building. Do you like this? If you like this, help me build this. And we've done a lot of that. That that's how we've gotten a lot of our Contributors. That's neat. That's great to hear. Yeah. Let's talk a little bit more about the the tech behind,

Wes Bos

some of the stuff. I'm just kinda digging in myself here.

Topic 8 29:20

RedwoodJS has React on front-end, GraphQL in middle, Prisma on back-end

Wes Bos

There's it's Apollo being used on the client to do all the data fetching. Correct? It is currently Apollo client. Yes. So when you Need to fetch some data. Are there any I know Scott's big on this. It's the generation of, like, a you generate some hooks for common things. Like, he got Six different models, and you need to be able to fetch 1, fetch, fetch many. You need to be able to update all that. Is I know there's generation on the Prisma side of things that it will generate all those via the ORM. But is there is there anything or any plans to do that on the client side as well, Or does it already do that? We have

Guest 2

we have generators, and one of those generators is a scaffolding generator. So if you have Some type some GraphQL type that you want to interact with on the back end.

Guest 2

Say, in the example in the tutorial, we use a blog Because everybody knows what a blog is and can understand it. It's just like you know, a blog is maybe not the number one thing that you would build with Redwood, but it serves as a good example, because everybody knows what a blog is and how it works. So let's say you have blog articles.

Guest 2

You have, like, a, like, a post a blog post. You have a post Model in your database and you wanna have a GraphQL post type and you wanna be able to operate on that from the front end, You can use a generator to scaffold everything around that post.

Guest 2

So if you run the generator from the command line, the Redwood generator for that, Then you'll get all of the CRUD operations across the whole stack, including some UI on the front end, to to deal with those. So much like rails. In rails, you can do something Very similar with RailScaffold. Right?

Wes Bos

Multiple,

Guest 2

update. Yep. You get the list. You get update, delete. You know, all the normal CRUD, Create, read, update, delete, all those operations, and then reading back a list or a single one. All of those Yeah. Are set up. Now you might throw, you might end up throwing away all of the front end because that's written in a way that's not super useful for what you're doing. But all of the back end stuff generally is usable pretty much as is.

Guest 2

And you might have then some specialized operations that are more advanced on top of that. Or you might delete like, maybe you don't wanna be able to delete them directly in that way. So it's just like, alright. Just remove the delete operation That that is essentially the resolver.

Guest 2

And we do some really nice things on the GraphQL side. And I'll say this, You could use Redwood without the front end at all and use it just as a GraphQL API, and it'll be the best GraphQL API Implementation that you've ever used and you wanna consume it with something else. That's the beauty of GraphQL is it doesn't matter. Like, you can have any client you want. And this is why we use GraphQL.

Guest 2

We use GraphQL because it allows you to have and live in a multi client universe, which most of us that are building startups today need almost out of the gate. So you're gonna have a web application, probably.

Guest 2

You're gonna have a mobile application, probably.

Guest 2

You might have a command line interface.

Guest 2

You might have a desktop application.

Guest 2

You might have a public API, a public GraphQL API that you wanna publish for people to use, maybe not at first, but maybe later on or maybe at first. Maybe that's what your thing is. It's an API. Right? And you want to do all of these things without having to rewrite your back end 7 times.

Guest 2

Right? And if you use GraphQL, you can do that. And there are certain limitations and annoying things about GraphQL, of course, like there are with any technology. But it's about choosing The approaches and sets of technology, they're gonna match your needs best. And I think create the least amount of overall work, not only in creating, but in maintaining.

Guest 2

And this is another thing that we focus on a lot at Redwood is how maintainable will your code bases be? And we think that The strict separation of the front end from the back end gives you a level of maintainability that other systems make a bit more complicated. Things like Next, for instance, they mix your front end and your back end logic in the same file, which to me is a good way to get yourself into trouble sometimes. And so where you're like, where is this code running? And what is running this code? Is this running in the browser? Is this running in node? Like, what is the execution context? Those things matter from Oh, yeah. An understandability and long term maintainability perspective. And so with Redwood, you have a level of separation, that you might not see in in other applications. And that leads to some additional complexity.

Guest 2

It's some additional upfront complexity that we think gives you a much Better long term maintainability profile and scalability of your team profile.

Guest 2

Also being able to separate your front end and your back end. Once you have dozens of people working, you really want to make it easy for your front end developers and your back end developers as you start to specialize To be able to work in isolation as much as possible, to to be able to not be blocking each other. And that's where things like storybook really start to shine, Where Storybook to me like, a lot of people are just like, oh, yes. Just the way that you can catalog all of your components, and designers can use it to choose what components they wanna use to To, like, build their pages out of. That's one thing that it can do. But to me, the true power of Storybook is that you can develop your React components in isolation from your application, which means that it's very easy to see every state of your component that you want without having to try to Fiddle with your database and get it into the state that is going to allow you to see some specific state of your component in your running application because I think we've probably all done that, and it's always a nightmare, and you're always trying to get your database set up in a certain way to do that. Or especially for ephemeral states, things like loaders. It's like you're gonna you're in your app and you're like, alright. Here's my loading spinner for this one thing that's gonna do async data fetching. And I'm gonna set my I'm gonna open inspector and set my Throttle my network to slow three g so that I get one second to look at my spinner. Right? And then you're refreshing over and over and over trying to see your stupid spinner for one second at a I'm just like, no. Don't stop doing that.

Scott Tolinski

Put it in Storybook, and now you can look at your spinner all day long. That's good. I really love Building in isolation right now. So I I hear you. And if you haven't tried it, if you're out there and you're you're thinking that this feels like extra work, we just we do it in our own Our own tool is just like a route on our site in SvelteKit. But, Storybook and anything like it, it has really truly opened my eyes to How nice it is to build an isolation.

Scott Tolinski

Speed in which you can work, the clarity in which you have over your components, and then you can drop them in. It's it's Really a fantastic way to develop. So, really, kudos for including that as well. I think that's Underlooked.

Wes Bos

Alright. 1 of our sponsors today is another podcast. That's kind of cool. It's called Whiskey Web and Whatnot. It's not your typical dev podcast. Not Like us, we just keep yammering about things like HTML tags and and whatnot. They talk about the sort of lighter, more human side of That that developers like.

Wes Bos

It's like a fireside chat. They've had some awesome guests like Tom Preston Werner, who else has had them on podcast, Ken c Dodds, and, of course, I've been on there myself. Pretty good. Go listen to that one. We talk about tractors, whiskey, and, of course, web development.

Wes Bos

Some cool guys running the show. You definitely wanna check that one out. Go to whiskey web and whatnot dotfm, and, you can check out the podcast. Thanks, Folks for sponsoring. Let's talk about this, Redwood Startup Fund you announced, why is it? Just About a month ago now, you said it's a $1,000,000 fund that will invest 25 to 50 k in start ups that use Redwood, as a primary component in their stack. That is really cool to me because, like you said, you're you're approaching this both from, like, a Developer ergonomics point of view, but you're also thinking about, like, businesses at the end of the day. So do you wanna talk a little bit more about that?

Topic 9 37:35

Started $1M RedwoodJS Startup Fund

Guest 2

Yeah. So I do a fair bit of angel investing in the developer tooling space and now more in climate. I do, I have a organization called Preston Werner Ventures where I do the ain't that angel investing.

Guest 2

But my wife and I also do a lot of grant work Around climate change, we have a really climate focused, thesis there, as well as politics. We do grants around, Climate companies, climate organizations, and politics in order to try to move the needle on climate. So as part of the the angel investing Work that I do, I was thinking about, okay, I have Redwood, this project that I'm doing. I have this angel investing that I'm doing.

Guest 2

Is there a way to Mush them together so that these different interests combine. And I was like, well, we've really decided to do this kinda startup focused Push for Redwood where this is this is the marketing that we have around it is to for people to try to understand what Redwood is through the lens of, Oh, well, if you can build a startup with it, if that's what it's optimized for, if it can do that, then it can do anything. Right? Then it can it can work For the side project that I have, it can work for if you're in the enterprise, like, we have this greenfield test of a thing that we're doing. And, well, if you can build Start up with it. I can build a start up within my company with it, you know, large enterprise company.

Guest 2

So it's really it's really trying to help people understand how sophisticated Redwood has become and why it integrates so many things and and trying to differentiate through that lens.

Guest 2

So I was thinking about that, and we have now Probably a few dozen startups that are being built with Redwood that we that we know of, that we're working with, and how great some of them are.

Guest 2

And I was thinking, what if we could really level that up? What if like, fundraising is always one of the hardest parts For anyone building a start up, especially if you're not well connected into those circles already.

Guest 2

And so we've been giving people a lot of advice on that. What I haven't been able to do, what we as Redwood, as a team, haven't been able to do is get people to that last mile to really finish And say, okay. Well, I have money. Here's some money. Why don't you take this idea, which we've been helping you with and we really believe in it, And providing actual funds to get them there. So that's one of the big reasons to do this, and it also helps me diversify my angel investing in In an even riskier fashion, the angel investing that I do is already pretty risky, but this is like this is intended to be Super, like, ultra risky, like, the earliest money, maybe even before a person has, anything incorporated at all.

Guest 2

And some of it, I'd like to be sort of existential in that the money allows a person to work on an idea that they would otherwise not have been able to even Think about working on because they're busy working a day job or 2 jobs or whatever the constraints are that are preventing a person from being able to explore an idea. I want to have some money to be able to help those people unlock and be able to work 3 or 4 months. Let's say, I write them a 25 k check, and now they can work 3, 4, or 5, or 6 months or whatever depending on where they live in In their circumstances, now they can put some time into an idea, and they're building it with Redwood, and they're part of our community, and making all of that work. So that's that's kind of the main Reason I wanna do it, but I'd also really like to diversify the kinds of people that we see in our community.

Guest 2

As in most open source communities, we're primarily white and male set of demographics that I see coming in, and I'd really like to change that. I'd like to see some founders come in. I'd like to see more women founders. I'd like to see black founders, other minoritized people in our community. I wanna see them Here, and I'm hoping that some of this money can make that happen.

Guest 2

And so that's another big reason for the fund.

Guest 2

And the third reason is I'd like to really prioritize people that are working on climate focused software ideas, things that can move the needle on climate change and and having some money to be able to put towards them and really hoping to get people thinking more about Software based climate change ideas and and prioritizing those ideas that come in for that. So I haven't figured out the application process yet. I will be doing that over the next couple of weeks, and we'll have an announcement around that. In the meantime, you can go to redwoodstartupfund.com, and it's just a mailing list right now. But if you sign up there, then when we know more, then you'll be the 1st to know. Cool. Oh, it's really exciting. Nice job, Yeah. Super awesome.

Scott Tolinski

Just, I don't know, general idea, but also, I don't know, the the the ability to on on things that you want to change in this world, and I think that's super admirable. So, yeah, the if you're interested, Yeah. Check that out. We'll we'll make sure we have that link in the show notes. Hey hey, West. Do you wanted to get do you wanna get into our our separate club questions now? Is that Where we wanna go? Okay. This is a new format for us, so we're still working out how we do this all. But what we have now is a part of the show we're calling the supper club questions.

Scott Tolinski

Wes has dessert question mark in the notes, so maybe at some point, this will be called dessert. Thought. But these are going to be that. That's not even a good name for it.

Scott Tolinski

Well, I didn't add it, so it had to be. There's a link to the people that are in this document.

Wes Bos

I'm gonna look at the Notion history. Okay. But, yeah, we'll we'll start rattling off questions, and you can talk for as long or as short as you as you want on them. Alright.

Wes Bos

What computer do you use?

Guest 2

I right Now my primary computer is, like, a 5 year old Imac Pro, one of the, like, dark gray ones.

Topic 10 43:10

Uses 5 year old specced out iMac Pro

Guest 2

And I I specific it's that old because 5 years ago, I was like, I want that computer. That thing is amazing. It's all, you know, 1 it's all in 1 machine. It's easy to kinda move around if I need to to move it around.

Guest 2

And so I I spec'd it out to where it was, like, $7,000 or something. And I was like, I'm gonna keep this computer for 5 years. So instead of buying a new computer every 3 years Yeah. Right, I'm just gonna buy it once, and then I'll have it for twice as long, but I'll spend twice as much on it maybe as I would otherwise. And that's worked out pretty well, though. I'm getting a little bit of the The m one m v now. Yeah. So but this thing's you know, it's approaching 6 years that I think that I've had this computer. And it's been amazing because it was, like, insanely fast when I first got it, And now it's still pretty fast. Like, I don't I don't have any problems with it. But they don't, you know, they don't make this anymore. So I'll probably be greeting to the to the the new one that came out, the studio here pretty soon and getting the separate screen. So I'm I'm looking forward to the to to some m one and And to have a keyboard with a fingerprint scanner on it at least because Yeah. Oh, man. I need that. I have to type in my password on my desktop machine, and I I just, You know, every time I'm like, oh, come on. Yeah. Oh, yeah. Because you don't even have it at all. Like, we've got it on our laptops, and I just have to Reach over to my laptop like a sucker. So I'd love to I just use the keyboard. Keyboard like a sucker. So Oh. Yeah. I want them to get face ID going, but I've heard that that's Yeah.

Guest 2

It's hard to do it's hard to have a channel between like, how do you, like, how do you make sure that that's secure? That you can't get in the middle of that and, like, spoof it, right, on the, like, the desktop machines where it's not a where like, on the laptops, it's 1 fully integrated thing. I mean, they could've done it on the Imax soldered in. You know, if They discontinue them. Little bit more space there.

Scott Tolinski

Yeah. Alright. Next question. What keyboard do you use? I use the keyboard

Guest 2

The the keyboard with the number pad that comes with that Imac Pro, it's the it's the best Everybody's answering that, and I I show mine every time. Here we go. Bootsy. Best one. Same one. I heard the flag keys a lot. 3 of our guests so far have had it. It's It's good. It's it's for the accountants among us. It's the greatest. I I love having proper arrow keys. That's super important To me, not those, like, miniaturized ones.

Topic 11 45:06

Uses Apple keyboard with number pad

Guest 2

Yeah. And I love having a keypad because it's just it's way easier to to put numbers in. I don't know. Like, Yeah. It is annoying that it sticks like another 6 inches to the right of the center of the keyboard, and I also use A mouse. Like, I can't use the trackpad on the on the desktop. I'm a mouse fan. Are we gonna talk about mouse? Are you gonna ask about mice? Here's my mouse. Look at that. It has a cord.

Guest 2

This is a $10 What? This is a 10 this is the the Logitech oh, it is this one. This is the m 100.

Topic 12 46:00

Uses cheap Logitech corded mouse

Guest 2

It might be a different model now, but they still make it. It's the $10 or, like, $8 Logitech corded mouse. And the reason that I use it It's not because I like cords. The cord is horrible.

Guest 2

But this mouse weighs, like, 3 ounces.

Guest 2

And so It's just way easier to move around than the ones that have batteries in them. You put 2 double a batteries in a mouse, and it's already, like, way heavier than I want it to be For, like, just daily

Wes Bos

mousing. Moving around. Yeah.

Wes Bos

Interesting. Daily mousing. Wes, do you wanna get the next one? Yeah. What phone do you use? I have

Topic 13 46:34

Uses latest iPhone

Guest 2

a iPhone 13, I guess. Whatever the latest. I I'm not I'm just on the forever upgrade plan.

Wes Bos

So anytime a new one comes out, I just upgrade instantly. Yeah. I don't know if we need to keep asking that question because everybody says iPhone.

Wes Bos

This is I'm very interested about this one. What text editor theme and font do you use? I use Versus Code mostly

Guest 2

These days, it's probably Monaco.

Topic 14 46:56

VS Code font is Fira Code

Guest 2

Let me look and see.

Guest 2

Font.

Guest 2

Oh, no. I have it as fear a code right now. I must have been experimenting. Oh, that's a good one. Yeah. So what theme do I use? I don't know. It's it's like a it's It's probably it's a dark theme.

Guest 2

I like I generally don't like dark mode. I'm not like a dark mode aficionado. I like my websites and stuff to be light mode or If I'm in Notion or something, I can't deal with that in dark mode. It's gotta be in light mode, but I want my editor in dark mode for whatever reason. I'm I'm exactly the same way. I don't like dark mode almost always, but except for my the same way. I don't like dark mode almost always, but except for my editor, I want it in dark mode. Were you ever a Vim user back in the day, milled in GitHub? No. I was. I've I've never been I you know, I've always wanted to be one of those people that's like, oh, I'm a I'm a Vimvirtuoso or, Like, I you know, VMAX is in my blood. But I just I tried them. I tried. I really did. I tried. And I just couldn't, I don't know. I just didn't have the time to ever sit down and really learn it. So I always feel a little bit like a fraud where I'm like, I'm gonna open my text editor, Right. And and type my keys and, you know, use my mouse. So I I feel like a little bit of a, you know, A fraud in that way. I know developers that they just do wizardly things with Vim, and I'm over here mousing around, you know, like some kind of primitive.

Guest 2

But but it's for me, it's never been about you know, as long as I can get done what I wanna get done, then that's what matters to me. And so I you know, I don't I I think people should use what works for them. If you can get the job done Yeah. It doesn't matter what your tool is in that regard.

Guest 2

So I love Versus Code. You know, I helped, work on some of the the versions of Atom right before it got released At GitHub. And and it's it's really cool to see that essential idea that this more web oriented way of kind of building Applications come to fruition and the the kind of innovation that that has allowed.

Guest 2

And Versus Code is really a great tool, so I use Versus Code. Beautiful. Nice.

Scott Tolinski

Alright. If you had, to start coding from scratch today, what would you choose to learn? What language? Just anything. Would you some people would go to video games or 3 d or, if you were just Programming anything, and and you had, you know, to start fresh, and it wasn't necessarily web.

Guest 2

What would you choose to work on? I mean, I think the web is a really great place to start because you can get something up online very quickly, much more quickly than you could be like, I'm gonna build a desktop app or a game. Those things are generally gonna require more shenanigans to kinda create something. Though the with with platforms like Unity now, I I think that is much less the case. Like, you can kinda Get a starter application going like a hello world. But the complexity that you get in the gaming world just increases so rapidly, and there's concepts that are gonna really take a while To to get into or any kind of native programming is the same. The web is so nice because it's like, you can start with a pure HTML document and just type text in it And then upload it on, like, Netlify using their drag and drop thing.

Topic 15 49:26

Would start with HTML/CSS/JS for beginners now

Guest 2

And and, like Beautiful. Within the span of 60 seconds, You're like, I'm a programmer now because I published Yeah. And I have a live website.

Guest 2

And that like, I don't know how you can do that in any other platform in quite The same way.

Guest 2

So I don't know. I would probably start I would start by learning some basic HTML and then some CSS and maybe a little bit of JavaScript Just to see success very rapidly, that would be I think that would be awesome.

Guest 2

Another great way, I think, is via Ruby because Ruby does really well on the command line.

Guest 2

It's very simple to it the syntax to me is one of the best, Most understandable syntaxes that I have seen in the language. Right. It just feels easy.

Guest 2

Things kinda work how you assume they should work. And JavaScript has Gotten pretty good, but it doesn't it's still not as as good as Ruby in the in sort of just the the flow of the language to me.

Guest 2

So So if I'm gonna sit down actually, I've I've been writing almost exclusively JavaScript now for several years.

Guest 2

But if I need to write a little command line or just something that's gonna, you know, run some simple algorithm to do whatever, I still Mhmm. Write Ruby for that. Like, my brain is still Deep down, my brain is still ruby at its core. Beautiful.

Wes Bos

What is your process for staying up to date? I I'm on Hacker News very frequently,

Topic 16 51:36

Keeps up via Hacker News headlines

Guest 2

mostly just to read headlines to kinda I I feel like I can stay pretty well up to date by reading just headlines. Yeah. Yeah. You we tell people that on the podcast.

Guest 2

If we if you hear about it on the podcast 6 or 7 times, probably time to check it out. Right. Right. Right. And right. And so you see sort of Trends. You see these these large level trends, which is important to me to kinda have my pulse on the overall direction of things, especially During Angel Investing, when I put my investor hat on, it seemed like where are the macro kind of things that are happening? What are people's sentiments about things? So So I do spend a fair amount of time on Hacker News.

Guest 2

Twitter, I every time I'm on Twitter, I regret that I was On Twitter, there's just too much.

Guest 2

I just the the signal to noise is really a challenge for me. And, like, I wanna I wanna be able to filter by People being serious, I guess. Like, there's just so much Yeah. Yeah. People say I don't know. Just people say things to get a rise out of people, and then they get angry that They got a rise out of people, and I'm like, what were you expecting? Like, you can't you can't make a joke and then be upset when people don't necessarily get the joke because there's no context. Like, they don't you it's just it's not a I don't know. So it's a signal to noise, issue for me on Twitter.

Guest 2

But it is it is a really great like, every once in a while, you come across something that's, like, a really great thread or someone's talking about Their startup, and, like, that stuff is gold. And I've found startups that I invested in just coming across random people announcing what they're doing on Twitter. So I just wanna, like, filter for for that. I don't know how to do that. I need to hire someone Yeah. To reach Twitter for me and then put, like, a digest Together. Like, that's what I I'll give I'll give you my block list. My I feel like my block list is my god.

Wes Bos

My Twitter is very good lately. I was telling Scott the other day. I'm like, I feel like people on Twitter are so nice lately, and Scott's like, no. Not at all. I know it's like, oh, it's probably in my block list.

Scott Tolinski

I have gotten very good at muting and blocking and then, like especially, like, if there's, like, a a meme joke going around that, you know, everyone's just going to apply it to the next thing that they're worth, you know, I

Guest 2

just promptly mute that that phrase that key phrase and yeah. Yes. I'm totally I'm a 100% the same. My mute list is, like, All these different, like, meme things, and I'm like, I can't see the 9,000th iteration of whatever the meme of the day is. I just I can't do it. The Elon Musk now that I've bought. Yeah. We have Josh Wardle on the show, the creator of Wordle,

Scott Tolinski

and he started off the interview with basically saying, I'm glad to hear that you guys have both blocked Wordle on Twitter because, yeah, it was just too much,

Guest 2

too many Wordle posts. Yeah. Yeah. So I think you have to be you You have to be pretty aggressive about how you how you shape Twitter to your your needs. But those, I guess, are those are kind of the 2 big ones. And then just being in a community like Redwood the Redwood community, like, things come up. The the the the apps that people are using or the the different projects, the different pieces of infrastructure. There's so many keeping up to date via a community that is Kinda in embedded in that world has been really great. And I'll say we started the o one release of Redwood was in March of 2000 like, right as the pandemic was starting.

Guest 2

Mhmm. And it was such a great way to meet new people and kinda Feel less isolated during that period. It was really it was so coincidental and so nice. And I've I've made so many new friends through that community that I haven't even met in person yet because, you know, we're not really doing that too much still, hopefully, soon.

Wes Bos

And and that's better than that. Flying Scott and I are flying out to our 1st conference in over 2 years tomorrow, and it's just been, like, I can't wait to say hi to people in person again. It really is great hanging out with people in person. There's something about that. Yeah. It is.

Wes Bos

Beautiful.

Wes Bos

Anything else you'd like to to touch on before we wrap this up? Anything we missed?

Guest 2

No. I'd say, you know, if if anything I talked about with Redwood seemed Seemed interesting to you. You're building a start up. I'd say evaluate Redwood and do the tutorial. The tutorial is top notch, and we and you don't even have to do it. You could watch Someone do it. And you had talked about this before, the videos. So Rob Cameron, one of our founders, one of our one of my cofounders of cocreators of Redwood Is, like a video production aficionado, and he makes the most hilarious intros to the videos And just does a really top notch job of of right. So he wrote the tutorials and he does the the video tutorials.

Guest 2

And they're just such a pleasure to watch, so take a whirl through those. And if you like it, you know, join our community. We have a Discord. We have A discourse forum also for kinda long form questions and to create kind of a knowledge base as we go along. And we really wanna see you there. Building a community to me is is maybe the the the biggest reason to do this is, like, how how good can an open source community be? That that's one of our things that we strive for. And so and for contributors as well. So we have contributors workshops where David and other cocreator, David Price, We'll spend an hour with people that might wanna contribute to Redwood and show them how to set it up, how to get it going, how to how our issue tracking works. So if you're interested in becoming a contributor on a project like this, we make it easier than anyone I've ever seen to to get involved.

Guest 2

We have a core team of 20 people with experience ranges all the way from just out of boot camp to people that have been senior developers for many years.

Guest 2

And everyone we think has a way that they can contribute if they want to, and we just wanna continue seeing the diversity increase Then the different kinds of ideas and the different kinds of people coming into the community. So we we welcome anyone, and we're here to answer questions when you have them. Awesome.

Scott Tolinski

Well, thanks so much for coming on the show and being, one of our 1st guests on this this new supper club thing we're doing here. So, Yeah. Me means a lot, and and I'm personally really excited about Redwood myself. So, yeah, everyone, if if you're interested in this type of Check it out. We'll make sure we have all the requisite links in the, show notes. Wes, do you have anything else before we wrap it? No. That's it. Thanks, everyone, for tuning in. Catch you on Monday.

Scott Tolinski

Head on over to syntax.fm for a full archive of all of our shows.

Scott Tolinski

And don't forget to subscribe in your podcast player Or drop a review if you like this show.

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window