Just because something is widely used doesn’t always mean it’s your best solution. Frontside Founder Charles Lowell and CEO Taras Mankovski, stumbled into an alt GraphQL stack simply because the nature of a product didn’t mesh with Apollo. After happening upon two up-and-coming technologies, GraphQL modules and Envelope, a solution was born, as was a newfound flexibility with GraphQL stacks.
In this episode, Charles and Taras talk with Chuck and Robbie about their accidental developer discovery, the drawbacks of UI libraries, what a Relay alternative looks like, what in the world Pact is, and why adulthood is vastly overrated.
[21:04] - “Relay is complex, it’s difficult, and it’s not as magical as other things that I’ve used. So I actually don’t think that the primary benefit is to the clients that consume it, ironically. I think the benefit is to the developers that are trying to understand.” ~ Charles Lowell
[56:20] - “The combination of testing and simulation and the developer experience stuff, and the emergence of developer experience as an area of focus is exciting and interesting in the same way that web and Ember was when it started. Just that sense of, we’re discovering something new and there are people who are actively trying to solve a problem.” ~ Taras Mankovski
Connect with our hosts
Subscribe and stay in touch
Top-Tier, Full-Stack Software Consultants
This show is brought to you by Ship Shape. Ship Shape’s software consultants solve complex software and app development problems with top-tier coding expertise, superior service, and speed. In a sea of choices, our senior-level development crew rises above the rest by delivering the best solutions for fintech, cybersecurity, and other fast-growing industries. Check us out at shipshape.io.
Robbie Wagner: [00:09] Hey, everybody. Welcome to another Whiskey Web and Whatnot with myself, Robbie Wagner, and my co-host, as always, Charles William Carpenter III, with our guest today, a couple of the guys from Frontside. What's going on, guys?
Charles Lowell: [00:25] Hey. Not much.
Chuck Carpenter: [00:26] They don't have names.
Charles Lowell: [00:27] The faceless.
Robbie Wagner: [00:28] I guess I should have said names, but.
Charles Lowell: [00:30] The ghost face, Frontsiders.
Chuck Carpenter: [00:32] You could always just introduce yourselves a little bit.
Taras Mankovski: [00:34] We're just known as the Frontside guys.
Robbie Wagner: [00:37] Yeah, I mean, I thought it would get confusing. Well, it's going to be confusing anyway because we got two Charles. I mean, we just call you Chuck, I guess, but we got Taras, I guess, for people that haven't heard of you guys. Maybe give a quick intro.
Charles Lowell: [00:52] Are we setting history? Is this the first one with two Charles’?
Chuck Carpenter: [00:55] Yes. We usually have lots of Chris's.
Robbie Wagner: [00:57] Yes.
Chuck Carpenter: [00:58] So this will be the first.
Robbie Wagner: [00:59] And usually, they're not really named Chris.
Chuck Carpenter: [01:01] Yeah, just everyone who goes by Chris showing up. So this will be the first Charles squared episode.
Taras Mankovski: [01:08] And I'm the first Taras.
Chuck Carpenter: [01:09] You would definitely are the first Taras or Taras or any other way they want to pronounce it incorrectly.
Robbie Wagner: [01:15] But yeah, if you guys want to give a quick intro about, I guess, who you are or what Frontside does or whatever you want to want people to know about.
Taras Mankovski: [01:24] Sure. I'm Taras Mankovski, CEO of Frontside. And Charles and I have been working, I think, for almost five years now. And it's been fascinating all along, and it's been really fun just shaving a lot of yaks.
Charles Lowell: [01:43] My name is Charles. Whenever Chuck is in the room, I like to call him Tocayo, which is like, at least, I don't know if it's all of the Latin American world, but at least in Mexico, whenever you have someone who's like their same name, they call each other tocayo. I am the CTO of Frontside, and, man. I just don't know what I would do if I wouldn't be developing. It's also interesting, and there's too many interesting problems, and I'm a hopeless, hopeless addict to the technology. And maybe one day I'll quit the game, but I can't see an exit. I don't think there's any hope for me.
Chuck Carpenter: [02:26] There's worse problems to have. Let's get started with a little of the sauce to get us going. So today, we have the Balvenie DoubleWood, aged twelve years, 100% malted barley, as all scotches are. This one is special because it was aged in bourbon barrels, I believe traditional whiskey barrels and then finished in cherry oak. There you go. That one had a very interesting pop to it. Looks like it's 86%. The other Balvenie we have similar. Glug glug.
Robbie Wagner: [03:09] Yeah, this one smells very sweet.
Chuck Carpenter: [03:12] Oh, yes, it does have kind of a great juicy smell to it.
Robbie Wagner: [03:17] It's got some weird flavor. Apricot. I don't know what it is, but.
Chuck Carpenter: [03:22] I'm catching some apricot in mine. Another made-up words.
Charles Lowell: [03:27] No, I'm not usually a scotch drinker, but this is good.
Chuck Carpenter: [03:32] Yeah, I like that it doesn't have the over-peat or over-smoky flavors that a lot of scotches have.
Robbie Wagner: [03:42] Yeah, it kind of reminds me of, like, an ice wine. Like, it's very sweet, and I don't know, the texture is different than usual, I guess.
Chuck Carpenter: [03:54] Lacks some of the burn that we enjoy, though.
Charles Lowell: [03:57] The friendly burn.
Chuck Carpenter: [03:59] Helps put hair on my chest. The friendly burn of the hug, I say. I mean, it's easy to drink. It's interesting for scotches, so Taras is having a different one because logistics. I don't know if you want to speak to the one you're having.
Taras Mankovski: [04:14] It's a Singleton Liberty. It says celebrating over 100 years of expertise. It's quite good. It's actually very smooth. That's one of the things I liked about the Doublewood. When I had it, it was kind of very like what you said. Not a lot of extra things, not too peaty, not too perfumey, not too strong. It's just like a nice, very pleasant drink. And this is actually similar, and it's not the same drink at all, but it has the same kind of quality. Very pleasant to drink.
Chuck Carpenter: [04:52] Yeah. This, to me, seems like it could be like a good dessert. Oh, I've had a.
Charles Lowell: [04:55] The singleton.
Chuck Carpenter: [04:57] Yeah, The Singleton. What is it with the "thes". The Singleton? The Balvenie.
Charles Lowell: [05:02] I don't know.
Robbie Wagner: [05:03] I just skipped the I didn't even realize there was a the.
Charles Lowell: [05:06] I say there's a design pattern joke in there somewhere.
Chuck Carpenter: [05:10] Yeah. All scotches established in the late 19th century must be preceded by the.
Chuck Carpenter: [05:18] The.
Chuck Carpenter: [05:18] The Balvenie. It's not just any Balvenie. It is the. And yeah. I would say this is after dinner. You could have one as a little dessert kind of thing by a fire in a cabin somewhere. Yeah, it's what it seems to fit for me.
Charles Lowell: [05:33] I think you need books in the background. Lots and lots of books.
Chuck Carpenter: [05:36] Leather-bound books. I believe in the tentacle scale. I'm going to give this a five, though. Smooth. It's easy. Maybe a little too easy for me. Too much like Sunday morning.
Taras Mankovski: [05:48] How many tentacles are there? It's a five out of.
Chuck Carpenter: [05:51] Out of eight.
Taras Mankovski: [05:52] Eight. Okay.
Chuck Carpenter: [05:53] Such as an octopi may have.
Taras Mankovski: [05:55] I just wanted to confirm that it wasn't.
Robbie Wagner: [05:57] Yeah, I think I would also give it a five. It's a little bit, it is easy to drink. It's kind of middle of the road. It's a little more similar to, like, a bourbon almost. It has a little bit of a scotchy finish, so it's not bad, but not the greatest. So I give it a five.
Taras Mankovski: [06:13] I like bourbon, so maybe that's why I like that.
Chuck Carpenter: [06:16] Yeah, same with me. I just like a little more bite on it, but the lower proof is probably contributing to that, too. So it's like 86 proof. I'm going to need above 50% to burn my insides from the inside out. I would like fire in my belly.
Robbie Wagner: [06:33] Put some ever clear in it.
Chuck Carpenter: [06:34] Yeah. Some people put water in their whiskeys. I just put drops of Everclear in mine just to up the danger.
Robbie Wagner: [06:41] If you can't light it on fire easily, it's not enough alcohol.
Chuck Carpenter: [06:45] Yeah. So in your respective tastes, do you guys have a rating for the two different whiskeys?
Charles Lowell: [06:55] For me, I like rye, so I like sweet whiskey. I like ryes and Irish whiskey. So as far as scotches goes, I'd have to put this one like a seven.
Chuck Carpenter: [07:07] There we go.
Charles Lowell: [07:07] That just might be where I am with the journey.
Chuck Carpenter: [07:10] Indeed. These things can evolve over time.
Taras Mankovski: [07:13] What I'm drinking is a different drink. So I don't need bite.
Chuck Carpenter: [07:18] I know, but this is all subjective to you anyway. How does the Singleton rate in your whiskey adventure?
Taras Mankovski: [07:25] It's so easy to drink that I could probably drink this like water. So I don't know what that says. Is that like an eight?
Chuck Carpenter: [07:33] I don't know. Is water the best thing you've ever had?
Taras Mankovski: [07:36] I mean, it's essential to life in all things, so I would say it's pretty up there. It's surprisingly pleasant to drink, but I also wonder if it's so easy to drink because it's not like, enough challenge for me, just not enough yaks to shave in this beverage.
Chuck Carpenter: [07:54] I derive joy in some of, in a little bit of heat, a little bit of burn, a little bit of pain in my whiskey journey, but not everybody likes that. So if ease of drink makes things better for you, then why not?
Taras Mankovski: [08:09] I think you've convinced me. I think it might be a little too easygoing. I think I want something that has a little bit more bite to it.
Chuck Carpenter: [08:17] That's fair, right? So, Charles, are you still oh, wait, you didn't give it a number, though. I'm going to pressure you into a number.
Taras Mankovski: [08:24] I'm going to say solid 5.75.
Chuck Carpenter: [08:32] Three and a quarter stars.
Taras Mankovski: [08:33] It's what happens when an octopus encounters another octopus that is stronger, yet has teeth.
Chuck Carpenter: [08:41] Exactly. Could lose a little bit of that. All right, so one of the points that we were discussing that we might want to talk about today is going into maybe like less than ordinary GraphQL stacks to run a server. It just basically feels like Apollo is everywhere. And because it's so pervasive, it's just what everybody ends up doing, but it doesn't necessarily mean it's the best thing for all cases or any cases or whatever else. And Charles had, like, a brief discussion in a Discord chat that I saw where he was talking about his dream GraphQL stack. So I thought we could maybe discuss that a little bit. Why?
Charles Lowell: [09:29] Yeah, it's kind of crazy that I do. I get really ashamedly excited about an alternative GraphQL stack, but it's nevertheless the truth. I'm stoked about it. If I can just jump into kind of our explorations and kind of what we found there.
Chuck Carpenter: [09:48] Yeah, definitely.
Chuck Carpenter: [15:03] Yeah, I think you explained it on two different levels. It's interesting because to what you initially explained about GraphQL Modules kind of sounds like an extension of the ideology within federated schemas. But instead of just colocating your schema, you got to do your resolvers as well. And this whole modularization. Think about it in terms of web modules, right? And you're colocating all interrelated items. It's the same thing, but within the context of GraphQL. What it sounds like to me, I don't know if I'm rocking that correctly or not.
Charles Lowell: [15:38] No, I think you are, yeah.
Chuck Carpenter: [15:40] And then Envelop ends up being less opinionated in your interface. It just gives you the tools to process, and you decide the interface and the inputs. Yeah, okay, so I guess I did get it.
Charles Lowell: [15:54] Yeah. And so what you end up with is this is just hyper portable thing.
Chuck Carpenter: [15:59] You could have it like executable, like you said, across service workers, or you could have a desktop application with that interface too, or things like that.
Taras Mankovski: [16:11] Yeah, I think one of the nice benefits of this setup is that it gives you the benefits of federation without the upfront cost of federation. You can break up your application or your GraphQL schema and the resolvers into separate kind of modules that you can use, but you can choose when you're going to introduce the federation of the network layer, like when you're going to actually break it up across services. You can choose when you could do that yourself.
Chuck Carpenter: [16:39] Right.
Taras Mankovski: [16:40] You don't need to start with that. So you're not kind of like choosing either I have completely unstructured schema that is one huge thing that has a whole bunch of resolvers, or I jumped into this whole thing where now I have these services that are federated now there's a whole bunch of complexity needs to deal with. You just kind of start off with, okay, well, I want to be able to complementalize my schema into smaller pieces. So I could say, like, this is like this user-related schema here, and then account of product-related schema is in the other set place, and then you kind of keep things separated kind of cleanly. And then, if you do ever get to a point where you need to bring this up into separate services, you can make that leap, but you kind of choose when you're going to do that as opposed to doing that on day one.
Chuck Carpenter: [17:23] Right. It's an organizational structure at first and not a complete architectural commitment.
Taras Mankovski: [17:30] Yeah, there's one other piece that I think might be worth mentioning in there is that the GraphQL generator stuff is actually pretty helpful too, because if you're going to be using the TypeScript, so being able to generate types off of those modules and be able to generate the types you need for resolvers and then be able to also ditch the schema into a single schema from the module. All of that stuff is enabled for the GraphQL generator. So that becomes kind of like those three pieces together end up working together.
Charles Lowell: [18:00] Yeah, it's really nice. I should have mentioned the Codegen part because you're doing the schema first, you have all of the types for your resolvers are just there and you just don't get it wrong, it just clicks into place, feels really good. That's just something about GraphQL Modules and using GraphQL Codegen that's I guess, the third piece that I forgot to mention. So thank you.
Chuck Carpenter: [18:25] Yeah, I have it in my list here too. I believe that was like the general stack that you had brought up. GraphQL Modules, GraphQL Codegen, plus Envelop forward slash. I know Robbie is dying to ask, why can't you do this in JSON API?
Robbie Wagner: [18:43] Well, I think that gets messy on a lot of ends. Like if you go down the path that Runspired was talking about of doing, was it JSON API flavored GraphQL and then using Ember data or Orbit with that, and there's too many things happening there, and it makes my brain hurt, and I don't know how to do it. It seems like a very power user thing to me.
Chuck Carpenter: [19:14] Yeah, he was talking about combining the two, having some of the power of the graph, and then serializing for JSON API, I think it makes.
Taras Mankovski: [19:21] Sense if your client is JSON API, then you have the kind of concern for us. Majority of the clients that we've been working with have been essentially Relay. And Relay has a lot of nice ergonomics around the client side of the GraphQL schema, so it becomes less we don't really need to think about the serialization, much like the actual serialization format becomes very transparent in that it's whatever the query is. And so it doesn't really come up much in our conversations today simply because our client doesn't really have that consideration.
Robbie Wagner: [20:02] Yeah, makes sense.
Charles Lowell: [20:06] When it comes to the whole debate about the way you structure the API, I almost feel like what's interesting is that the client is almost irrelevant. It's more about just having a shared understanding of the capabilities of the API. I actually think that working with GraphQL clients isn't that much better than working with a JSON API clients because, certainly, at the library level for UI libraries, I would say if you're service to service, it's a no-brainer. GraphQL is a lot easier. But I think where it actually does shine is just like you said in the transparency of the query. So it's just so much easier to communicate intent to other developers because they can have this tool that's strongly typed, and so you have all the completion and stuff like that. But I actually remain unconvinced that UI libraries like Relay is complex, it's difficult, and it's not as magical as other things that I've used. So I actually don't think that it provided the benefit. The primary benefit is to the clients that consume it. Ironically, I think the benefit is to the developers that are trying to understand it. And I think it also does lend itself GraphQL, that is, to this kind of execution shell, minimal metal application that I suppose you could do with the JSON API. But the JSON API feels more like a serialization format.
Chuck Carpenter: [21:41] Yeah, right. Predictable serialization is essentially, I think, how and I guess it communicates relationships, things like that, more clearly.
Taras Mankovski: [21:50] Well, part of the design of JSON API is that you have a practical side-loading mechanism, so you get the ability to express side-loaded data in a way that it's easy to parse. So that functionality is available with the combination of having the schema and the query. That's what essentially Relay does. My take on Relay is that I'm kind of interested in it, and I think it's valuable from the perspective that there's a company that's spending a lot of money, which is Facebook, to create tooling that makes it possible to build like one of the build front-end applications that are strongly typed with respect to the back end that they consume. So that functionality is really helpful, I think, for teams that are building full-stack applications. But at the same time, I don't think the Relay is perfect in that it does have a whole bunch of stuff that is there is quite a bit there, and it's unclear whether all of those things are necessary.
Charles Lowell: [23:02] Yeah, I think that really do you have to consider the server-to-server case separately from the server-to-UI?
Chuck Carpenter: [23:10] If not Relay, what else? We talked about the server stack. So what's the ideal combination of all of the above, then? What gives you more auto magic?
Taras Mankovski: [23:24] For me, what is really valuable, if it's not necessarily doesn't necessarily be Relay, but what I really like, especially for the clients, for the companies I've been working with, and the development teams will work with the idea that if they make we have a mono repo, but that has front-end and back end code. And if the back-end developer introduces a Schema change, that basically, they introduce a change, they can run, build, and the front-end builds will fail, and that will actually stop the back-end developer from introducing that change. That, to me, is like a really valuable thing for teams that are doing full stack. So if you can reproduce that experience with something else, and if you can reproduce that experience with something light, then that's great. But I think that's the criteria that I would be looking for. Can you reproduce that experience of ensuring that the front end will compile against the schema if the schema has changed and vice versa? The front end will compile against the back end according to the schema contract in the middle.
Robbie Wagner: [24:28] Isn't there, like, I forget what it was that you were looking at recently, Chuck, that we were going to use for Swatch to make the front-end and back-end have a contract for the API, basically.
Chuck Carpenter: [24:40] Oh, Pact. Yeah. The testing from Pact, which Taras introduced me to years ago, actually, and I've never been able to put it in place. But if you control both sides of the equation, it's a nice safeguard, I think.
Taras Mankovski: [24:55] Yeah. Pact is a little bit weird.
Chuck Carpenter: [24:58] Pact.io.
Taras Mankovski: [25:00] Yeah.
Chuck Carpenter: [25:01] All right, Charles, you may speak.
Charles Lowell: [25:03] This is like the story of Pact. It's like everybody thinks Pact is a great idea, and I have yet to know anybody who's actually implemented it. I think it's a great idea, but I couldn't actually get it to work. So if you're out there, anybody, somebody, and you have a successful implementation of Pact.
Chuck Carpenter: [25:22] Someone in the Twitterverse.
Charles Lowell: [25:23] Let us know. Yeah.
Chuck Carpenter: [25:25] That's true. It's a good point. It's a great theory. Maybe we need to build the easy-to-use version. Maybe that's a need to be filled.
Robbie Wagner: [25:34] The one where we do what we want on the front end, and the back end is just forced to comply with everything we say.
Chuck Carpenter: [25:41] That is your dream life, isn't it? It's fair.
Chuck Carpenter: [25:46] We can enable passive-aggressive front-end commits.
Taras Mankovski: [25:49] I wonder though if Pact came into existence too early. I think that what's yet to be explored in its full greatness is what we can do with contracts because we've been able to like pushing on the GraphQL schema as a contract. We've been able to put a lot into it, and it gave us a lot back. I think something similar is possible with open API spec or some kind of other API spec. But at this point, it's still hypothesis because tooling around open API spec, although it's pretty well integrated, or there's a lot of tools that are emerging to use it. But the tools that exist around open API spec is still very basic. Because even if you look at the generators that are created from that are creative open API spec, a lot of them leave a lot to be desired. A lot of the generators are not generating useful or good code. That's the thing that I like about Relay is that Relay is very intentional in some ways. It generates code that is really practical for your React application. But for the open API spec generators that I've seen a lot of them, they generate code that make like every time I look at it. I'm like. I really don't think people should be using this.
Chuck Carpenter: [27:10] Right. Yeah. Not ready for prime time. Bad examples.
Taras Mankovski: [27:13] Yeah. And so I don't know how that seems to be an area that I would really love for us to get to explore more. But it's not a yak that we're ready to shave.
Chuck Carpenter: [27:25] Can you think you could put it on the blockchain?
Taras Mankovski: [27:28] Open API spec?
Chuck Carpenter: [27:29] Maybe that's the problem, is there's not enough Web3.
Robbie Wagner: [27:32] Yeah. Need more blockchain and everything.
Chuck Carpenter: [27:34] Yeah, if there's not any blockchain, I'm not sure it's worth going any further with it. Can you simulate the blockchain?
Charles Lowell: [27:43] I'm sure you could, actually.
Taras Mankovski: [27:45] I'm sure you could. I think you're right.
Chuck Carpenter: [27:47] Yeah. Want to simulate the execution of a smart contract?
Chuck Carpenter: [28:16] Exactly. Well, it'll be blazing fast for people to make stuff. Because not everybody wants to write Java or Rails.
Robbie Wagner: [28:23] Yeah, no one wants to write Java.
Chuck Carpenter: [28:25] Unless you work for a bank.
Robbie Wagner: [28:27] They still don't want to. They just have to.
Chuck Carpenter: [28:30] Taras, were you going to tell us about your NFT project?
Taras Mankovski: [28:33] No, but I was going to tell you about I was going to bring up the fact that one of the Web3 foundations it's a Graph foundation, just gave the team that created Envelop $40 million as an investment to essentially support the development of the GraphQL tooling.
Charles Lowell: [28:56] What?
Taras Mankovski: [28:57] That's a pretty massive investment into the GraphQL tooling.
Charles Lowell: [29:02] Is that spraggable?
Taras Mankovski: [29:03] Yeah, that's a pretty substantial that's a pretty substantial boost for the tooling around that and the open GraphQL ecosystem.
Chuck Carpenter: [29:11] Yeah. Is that The Guild who did that? Yeah, like Hive and Codegen and a bunch of things. That's impressive. 40 million.
Taras Mankovski: [29:21] I don't know how it works, but I'm guessing that they're getting that money to build the things that Web 3.0 is going to need or the Graph protocol is going to need.
Chuck Carpenter: [29:33] Graph-specific protocol. That seems interesting. I think we should all do some POC projects now and contribute back.
Robbie Wagner: [29:43] Yeah. All you have to do is random JPEG generator, and we're millionaires. Right.
Taras Mankovski: [29:50] I think we'll just get somebody to buy those things. Right?
Chuck Carpenter: [29:53] Yeah, that's the problem. There's a marketing aspect. There's a whole arm of marketing that associates value to that. Right. So it's got to be.
Robbie Wagner: [30:00] You just have to have FOMO.
Chuck Carpenter: [30:02] Yeah.
Robbie Wagner: [30:02] If you get people interested and they're like, oh my God, I got to buy it right now, then they don't look into whether it's a scam or not. And they just send you lots of money.
Chuck Carpenter: [30:11] There's supposed to be additional value to it. Right. There's ugly ape drawings. But then you get invited to exclusive parties and stuff.
Taras Mankovski: [30:18] Yeah.
Charles Lowell: [30:19] Major League Baseball was Hawking NFTs last year.
Chuck Carpenter: [30:23] Robbie tried to buy some. Oh, we tried to.
Robbie Wagner: [30:25] Yeah, we tried to get them. We tried to buy the baseball card packs, and we were sitting in line for like an hour online, and then they just all sold out. Jared got one, but Chuck and I got none.
Charles Lowell: [30:39] You were literally online.
Robbie Wagner: [30:42] Yup.
Chuck Carpenter: [30:42] Yup. We were all just waiting to give money away, and we couldn't give them our money. They ran out of digital cards somehow you can't just make more. Print another one. No.
Robbie Wagner: [30:55] Well, I mean, if they printed unlimited, they wouldn't be worth as much. I get it. But make it a little easier to acquire. Like, we were in line from the second it started and could not get them.
Chuck Carpenter: [31:07] So it's an interesting thing. I mean, I can see the utility.
Charles Lowell: [31:11] The Toto files that we learned about.
Chuck Carpenter: [31:14] The what files?
Charles Lowell: [31:15] Yeah, the name of the company that we spoke to last week that has it's a non-blockchain crypto asset company that actually sounds really compelling in the sense that you can give away or you can mint digital assets, and you don't need to compare it against the blockchain to validate authenticity. So, like, if you and I are in a room, I can show you the baseball card and. You can analyze it and say, oh, this is legit, without having to have it in a public registry.
Chuck Carpenter: [31:50] Privatized Web3. It sounds very not Web3. Sounds more Web4.
Robbie Wagner: [31:56] Yeah.
Taras Mankovski: [31:58] It's interesting the way that Dan described it. It's kind of Internet of things without the Internet, which is like, it's really trippy, but when he explains it, you kind of get this tingly feeling like, oh, man, that seems so right. Because I think what I understood from what he was describing is that there's this concept of you own, like in the real world, you own something or you possess something or you hold something that represents something. And then what if that was something that was possible on the Internet, but if you were not on the Internet, you could still own it and transfer it, and then once it was back online, it was verifiable that it's still the same thing. So it's really kind of a trippy mental exercise. But it's what I really like about the way that Dan explained it is that he's really thinking it through.
Charles Lowell: [32:57] Yeah. No, the way he explained it was what we were really just trying to do is simplicity itself. Of is there a cryptographic way of representing a piece of paper in the sense that I can take a notebook card and I can write something on it, and I can hand it to you, and it's the only copy of the thing that's there? And you don't need to use your iPhone to analyze to connect to something to read my note card. You can just read it, and you can take notes on it. You can flip it over, you can give it like dog ears, but it's still the same note card. It's like a portable identity that doesn't require some third-party verification. Yeah, it was interesting.
Taras Mankovski: [33:40] And one thing that was not possible in the system is what's happening with NFTs, where you've got the shell that is transferable, or is it on blockchain? But the contents of it is completely mutable. So you have a chain of code that can become something completely different just simply by changing what's running on that URL.
Chuck Carpenter: [34:01] Right. Yeah. I do think that's a flaw of that, is that you're essentially purchasing a hash in the chain, and it has I guess the traits are there and they're kind of locked, but the visual representation of that can be mutable just a little. I like it in the context better than, like, well, I don't know. I mean, collectible art is one possibility, and I think there's a lot to iron out there. But there was a podcast I was listening to a couple of months ago, and Kevin Rose was talking about it in the sense of, say, wine club memberships. Right, a club membership. So like a wine club membership. Right. Now, you sign up at the vineyard, and you're like an email on the list, and they say, they have like 200 max, and people are in a waiting list and whatever else. And then one day, if you decide you don't want that wine anymore, you just say, take my name off the list. But instead, an NFT could commoditize that membership, and now you are the owner of that membership slot, and you decide you no longer want to be a part of that club. Well, you can actually resell that membership to someone. Say there's a ten-year waiting list, but it's probably pretty valuable for you to put it on the marketplace. And NFTs can actually have originators still get a piece of every sale as well, so they're incentivized to allow this kind of program too. And so it doesn't really matter what the image associated with it, right? It's the hash in the contract that says, I'm a member of this wine club, and I have the ability to make purchases direct from the wine club, and now this commodity can be resold. And I think that's a place where it's like, oh, this is something that could have value there.
Taras Mankovski: [35:49] I think there is a kind of a fundamental, maybe true, like, essence to this thing which is hitting at something universal. But what we might be seeing is that the hype associated with the concept, the underlying idea is spot on, but the implementation is wrong in the same way that Palm Pilot was fundamentally the right idea, but it wasn't until iPhone came around that it was the idea of a personal device really kind of stuck around. And I think that's something similar is going on. The concept itself is correct, but the actual implementation is not quite there yet.
Chuck Carpenter: [36:34] Yeah, I think it's getting iterated on with low-risk usage at this point. Right, because someone's mortgage isn't on an NFT that they could somehow lose these little exclusive clubs that you're in. But in the reality, and even though a bunch of money is going around, it's still pretty like no one's life is at risk from this. If it fails, it gets stolen, things like that.
Robbie Wagner: [36:58] It depends how much money you're putting in. I'm sure some people have all of their money on the line buying up fake land online.
Chuck Carpenter: [37:05] You just outed yourself.
Robbie Wagner: [37:07] I have a lot of crypto investments, but not land. I tried to buy some land in The Sandbox, and it was too expensive, so I did not.
Taras Mankovski: [37:16] Yeah, so what do you get in The Sandbox when you buy land in The Sandbox?
Robbie Wagner: [37:20] I'm unsure how much space you get, but basically, there's different land plots around, different, what do you call them? Like vendors or whatever. So like, Snoop Dogg has his land, right? So you buy land near Snoop Dogg's place, and then you get some of his NFTs, like things like go to Snoop Dogg virtual concerts and get a Snoop Dogg thing you can show off, like different stuff. So, for example, if you were like a weed company. You want to buy that so you can put up virtual billboards next to Snoop Dogg's place that are like, buy my weed, and people will see them. There's things that make sense and would be cool to do, but I'm not going to spend ten grand on a tiny little plot of land that I have no idea how it really works.
Chuck Carpenter: [38:09] Yeah, sort of like high risk, high potential reward. Yeah. I mean, that to me, just feels like Second Life with better technology now.
Charles Lowell: [38:19] Oh, yeah, boy. Now there's a name I haven't heard in years.
Chuck Carpenter: [38:24] Those, like, all metal lands. I don't know.
Charles Lowell: [38:28] Did they go under?
Chuck Carpenter: [38:30] Charles still has a Second Life land set up. I have no idea.
Robbie Wagner: [38:33] I don't think so. I think people still play it.
Charles Lowell: [38:36] That was actually one of the first projects that Frontside did way back in the day, was like a database migration. Not for Linden Labs but for some company that ran a newspaper inside Second Life. They had an entire they were changing their publishing platform. And so they had, like actually, they purchased a commercial publishing platform in the real world to publish a newspaper in Second Life, and they had. They wanted to do a database migration. I remember thinking. This is nuts. I can't believe I'm, like, migrating a database for a virtual newspaper. And yet, who knows? Maybe it's still there.
Chuck Carpenter: [39:21] Could be. I don't know if The Sims were enough for me. So much extra work to set up a Second Life. Yeah, my first life is hard.
Robbie Wagner: [39:30] I like games that are grindy and work, but I don't want it to literally be work. It has to feel like work, but it has to be a game.
Chuck Carpenter: [39:39] Well, they have that VR game job simulator where you are working in a cubicle.
Robbie Wagner: [39:44] No, thank you.
Charles Lowell: [39:47] Right?
Chuck Carpenter: [39:48] I don't know. It's popular. My brother has it. My son played it, apparently because he could pretend to be a grown-up. Like, don't rush it, kid. Not great.
Taras Mankovski: [39:57] It's just a matter of time, buddy.
Chuck Carpenter: [39:59] Yeah.
Robbie Wagner: [40:00] Kids always want to be grown-ups and they don't realize how much it sucks. Until you get there.
Chuck Carpenter: [40:07] You can do whatever you want. Not because of you, I can't.
Charles Lowell: [40:12] Because every child thinks that adulthood is like Grand Theft Auto. That's the way you think of adulthood? I can just do anything I want.
Chuck Carpenter: [40:21] Yeah.
Robbie Wagner: [40:21] Or you make a little bit of money, and it's cool at first. You're like. I got money. I can spend this on stuff. And then you're like, wait, I have responsibilities and bills, and this is not cool anymore.
Chuck Carpenter: [40:34] I can eat whatever I want. Wait, why am I getting fat?
Charles Lowell: [40:40] It's funny. My son is getting to the age where he wants to make money. And I'm like, here we are in the middle of Finland. We live, like, around a bunch of, like, old people who need to have their snow shoveled. Like, you could charge so much money. It's like money just lying on the ground. It's hard work. You're at the perfect age. You have a perfect clientele. He's like, no, I need to build a jetpack. That's how I'm going to make the money.
Chuck Carpenter: [41:04] Shoot for the stars, kid.
Charles Lowell: [41:05] Because he wants, like, a skateboard. Yeah.
Chuck Carpenter: [41:09] So selling jetpacks to buy skateboards seems kind of like a backwards.
Charles Lowell: [41:13] Exactly.
Chuck Carpenter: [41:15] You've got a jetpack, kid. You can get anywhere. You don't need to skate in the snow.
Chuck Carpenter: [41:22] Yeah. Does seem like a lot of overhead for a skateboard.
Chuck Carpenter: [41:25] Yeah, dad, I need ten grand so I can get a skateboard.
Charles Lowell: [41:32] Yeah, no, but that is literally the mental calculus.
Chuck Carpenter: [41:35] All he's going to do is sell it for $10,100, and then he can get a skateboard and pay you back. One of the things we like to ask our guests is if they have other hobbies aside from technology.
Robbie Wagner: [41:53] A lot of hard thinking around.
Taras Mankovski: [41:55] Yeah, you're asking some hard questions right there.
Chuck Carpenter: [41:58] Yeah, that's a tough one to do. Anything?
Charles Lowell: [42:01] I really have been enjoying learning Finnish, so I've kind of put all my other hobbies to the side and decided, like, if I'm going to be living in Finland during this time, I'm going to learn Finnish. And so that's kind of, I would say, my biggest hobby right now. And there's actually the space for learning language on your own has gotten really good. There's a lot of language communities where you can get online and talk to people who are also learning. There's. Like the Duolingo app, which I don't know if anybody's used it here, but it sounds cheesy. Like, how am I going to learn a language from an app? But if you're diligent about it and you spend 20 minutes a day with it, you will definitely up your game. That's definitely been my hobby the last three months, and it's a hard to recommend to anybody who wants to try. Learning a language has definitely never been easier. One of those things. It seems like an impossible task.
Chuck Carpenter: [42:59] I've stopped and started that process a number of times.
Charles Lowell: [43:02] Yeah, you might find yourself finishing it.
Chuck Carpenter: [43:04] I'm going to Italy in May. If I could get even a little bit proficient, where my wife didn't have to do all the speaking.
Robbie Wagner: [43:12] The Italian one is fun because half the words are like past.
Chuck Carpenter: [43:18] Beepity, boppety, boopity, bop.
Robbie Wagner: [43:21] Stuff that you already know.
Charles Lowell: [43:24] You actually talk with your fingertips.
Chuck Carpenter: [43:26] Pizza.
Taras Mankovski: [43:28] I think if you can learn enough Italian to be able to order an Americano without offending somebody, I think that's a good level of Italian to have between now and then.
Chuck Carpenter: [43:41] I would also be personally offended, though. I don't like Americano. I drink espresso.
Charles Lowell: [43:48] Espresso?
Chuck Carpenter: [43:48] Come on.
Robbie Wagner: [43:49] Yeah. It's tough, though, because you want to learn enough to be able to do those things and kind of blend in. But that was my problem, is I learned for a couple of weeks, and we got to the point where we made it in. They may have still known we were tourists, but they were speaking to us in Italian. I was like, okay, you got to stop. I don't understand what you're saying. I'm sorry. So you get what you get if you try to go that way?
Chuck Carpenter: [44:15] Yeah. Dialects all over Italy, too, is the problem. It's like you're learning I think it's Florence or something. That dialect is the national language, but it's very different everywhere else. So just go to Florence Firenze and then you'll be fine.
Charles Lowell: [44:30] Interesting. Is your wife, Italian?
Chuck Carpenter: [44:32] No, I guess you haven't seen her. She's blonde and pale. Definitely not. She doesn't listen to this, so it's fine.
Charles Lowell: [44:40] She could be from what is it? Milano?
Chuck Carpenter: [44:43] Yeah. We've got a place in Lake Como. We go visit George from time to time. George Clooney lives?
Robbie Wagner: [44:50] Yeah. He's not Italian.
Chuck Carpenter: [44:51] No, but he lives there. Well, I guess he kind of is now. He's like a resident. Yeah, he got by. He's also from Northern Kentucky, actually. I like to tell anyone who will listen we're from the same area, so we're basically the same.
Robbie Wagner: [45:04] So he'd probably come on the podcast, right?
Chuck Carpenter: [45:06] I'll ask him, maybe through his dad. Hey, Nick, can you talk to George for me? Thanks. I feel like he's not very busy. I'll send him a bottle of whiskey. I mean, come on.
Robbie Wagner: [45:19] Yeah, he can't afford his own whiskey. He's always drinking Nespresso instead of, like, real coffee.
Chuck Carpenter: [45:24] Yeah, Nespresso, and that damn tequila. Whatever it was him and Rande Lerna sold.
Robbie Wagner: [45:31] I didn't see that one.
Chuck Carpenter: [45:32] Tres Amigos or something like that. That was him and and Rande Lerna. Who's Cindy Crawford's husband? Got you. That was a lot of pop culture for you guys. See, that's one of my hobbies is remembering random facts about pop culture. I'm good at trivia.
Robbie Wagner: [45:47] I don't have time.
Charles Lowell: [45:48] Do you play?
Robbie Wagner: [45:48] To know things other than coding?
Chuck Carpenter: [45:50] I do play whatever it was you were going to say. I play it whatever the rest of that sentence was. I play. I play, and I play hard.
Charles Lowell: [45:58] Trivial Pursuit.
Chuck Carpenter: [45:59] Oh, yeah, I used to. I was always bad at the sports questions, which is funny.
Charles Lowell: [46:04] Really?
Robbie Wagner: [46:05] They weren't about soccer.
Charles Lowell: [46:06] You're a footballer.
Chuck Carpenter: [46:08] Yeah, proper football. So I don't know that much. Like, I didn't realize the Bengals were in the Super Bowl until like a week before.
Charles Lowell: [46:15] Yeah.
Robbie Wagner: [46:17] I didn't really know what was going on with the NFL, but.
Chuck Carpenter: [46:20] All my friends back home are really excited. Oh, because.
Charles Lowell: [46:24] Yeah, northern Kentucky, the connection. I think you're allowed for me. Once I had kids, I had to narrow my sports horizons, so I was like, I have to pick one sport and that's going to be my hobby because I can't spend all day Saturday and Sunday watching sports.
Chuck Carpenter: [46:44] Yeah, to zone in on a team, too, because of that similar thing. Like, I could watch soccer all weekend, but I'm not going to be allowed to get away with that. Kids won't tolerate, so. Got to, like, zone in on your team and then just follow your team.
Taras Mankovski: [46:58] Right.
Charles Lowell: [46:59] But the beauty of that is then your kids become addicted to your team, and so then that's synergy.
Chuck Carpenter: [47:05] Yeah, it's the Intersect. That's just because I buy them the jerseys, so they're like, sure, let's wear red shirt. They call them the red friends because that's kind of how I describe soccer to them. It's like they're all friends playing together to try and win the game. So they're the red friends.
Charles Lowell: [47:19] The red friends.
Chuck Carpenter: [47:21] They're two and five. Slow uptake.
Charles Lowell: [47:27] So the red friends definitely sounds like. Well.
Chuck Carpenter: [47:31] So Taras still has no other hobbies, cigars.
Taras Mankovski: [47:35] It's not really a hobby. I mean, I don't do it enough for it to be a hobby. I've tried. It's really inconvenient because you can't type with, like, a cigar in your hands or in your mouth and smoking all over your face. It's not practical.
Robbie Wagner: [47:51] It's not as glamorous as it seems.
Taras Mankovski: [47:53] Yeah, it's not a hobby. I think what the closest that I have right now to a hobby, which is not really by choice, is that I am learning how to adult in an age-appropriate manner. I'm approaching 40 now, so I'm at a point where I should be adulting. It's pretty much up there. Right. I should be fully adulting now. So I'm discovering that I can do things, like, for the first time in my life that I could do things like fix a drawer.
Charles Lowell: [48:30] Or make the bed.
Chuck Carpenter: [48:31] The aptitudes of home ownership.
Taras Mankovski: [48:33] Yeah, that one my wife does for me.
Chuck Carpenter: [48:37] Do you have any power tools? Because I feel like that's the real deep dive into that whole adulting as a middle-aged male.
Taras Mankovski: [48:47] I'm still writing in the coattails of my dad's and my dad's power tools, but having like tasks that otherwise I never had to deal with. Just kind of like impose themselves on me. And I'm like, yeah, I'm going to do these things because that's what I do. That's what adults do. And not, like, make a big fuss about it. I hate doing this stuff. I actually just do it because that's what adults do. My hobby right now is seeing how far that will take me before I want to push back and find some way of expressing my protest to adulting.
Chuck Carpenter: [49:26] I like going to the hardware store. I don't know why I always end up with random stuff more than what I went there for. I went there for some screws, and then I came back with new locks and latches and whatever. I don't know. Oh, I could fix some other things while I'm here. Let me get some plaster. I don't know.
Taras Mankovski: [49:45] That is the nice thing about being a software engineer is, like, having disposable income to spend on high-quality screws.
Chuck Carpenter: [49:52] It feels good yeah, I can get the $0.07 screws. I don't need the $0.03 screws. I can get the $0.07.
Robbie Wagner: [50:00] The problem I have is I can do all these projects, but it gets to a point where one or two is fun. And then when you get like ten, you're like, I need to just hire someone to do these things. And then that becomes its own thing, and yeah, it's just too many things to do.
Chuck Carpenter: [50:19] There tends to be like a time barrier. Exactly. And like, oh, what's the complexity here? Eventually, it just gets to be too much.
Robbie Wagner: [50:29] Yeah. I'm starting to do like if there's a thing that doesn't require my specific brain, someone else is going to get hired to do it, is the level. I max, I have too many things to do. I installed eight smoke detectors and ten under-desk power strips at the coworking space. And someone else could have done that.
Taras Mankovski: [50:52] I have the opposite problem right now, which is there's too many little random things to do to hire someone.
Chuck Carpenter: [50:57] Yeah.
Taras Mankovski: [50:57] They're not specific enough to like, oh, I need this person to come in and they're not frequent enough that I like, oh, I need to come. I need to get someone to do them. They're just like random little things like this pop up here and there. Those are the kind of things that I'm adulting about right now. I'm not quite at that level. Let me hire somebody who comes kind of natural to me, like, outsourcing the work that I need to be doing. Operating a threshold just below that is the part that's just like, I'm learning to be better at it as a hobby. Closest to a hobby.
Chuck Carpenter: [51:30] Yeah. Well, I find some meditative qualities in some manual labor. So there's like a certain threshold of things I like to do myself. And not because just more anything that's like a nice mental break.
Charles Lowell: [51:43] Yeah. That's like this winter, I got to experience, for the first time in my life, the joy of snow shoveling. We were just talking about I was telling my son he needs to do with the neighbors. Like, I won't let him do our yard and our walkways because it is satisfying, because here they've got these big, like, push carts where you're just like, and you're just shaving the top. It's almost like mowing the lawn, really, in the sense that you have these concentric circles that you're narrowing down as you go. Or sometimes you're shaving rectangularly. Sometimes you're cutting across. It's very satisfying. It's like cutting broccoli or something.
Chuck Carpenter: [52:26] Yeah.
Robbie Wagner: [52:26] I like the immediate gratification of things like that because it's just like you do one pass, and that pass is done. It's, like, nice. That looks good.
Chuck Carpenter: [52:36] Yeah. Robbie, over the summer, took up the hobby of mowing a lot of lawn.
Robbie Wagner: [52:42] Well, it wasn't a hobby. I'm forced to mow for 2 hours every time.
Charles Lowell: [52:49] Oh my. Is your yard big, or do you have a homeowners association that's like.
Robbie Wagner: [52:54] No. We have ten acres of land now, so it's a little bit of mowing.
Taras Mankovski: [53:01] Do you have a tractor, or do you ride like a sit-on?
Robbie Wagner: [53:04] Yeah.
Taras Mankovski: [53:04] Yeah. Right. Okay, that makes sense.
Robbie Wagner: [53:06] Yeah. So that's when I listen to my podcast. I throw on two or three podcasts and listen to them mow for two or 3 hours, repeat in a week or so.
Taras Mankovski: [53:15] Wow.
Chuck Carpenter: [53:17] Yeah, there you go. It's a time to disconnect, though. I hardly ever have time to listen to podcasts because I don't have much of a commute home. There's no quiet time at work. I have to work things. Then what? I just make the podcast, I don't listen to them.
Chuck Carpenter: [53:32] Yeah. I think once our baby comes, I will be forced to not spend 3 hours outside mowing. So I'm probably going to have to hire someone to do that as well.
Chuck Carpenter: [53:43] Everything goes away.
Charles Lowell: [53:46] Got to cab the baby. That's what the baby Bjorn is for.
Chuck Carpenter: [53:49] Oh, that's true.
Charles Lowell: [53:50] Yeah, it's true. And the beauty of it is, like, children will bond to whatever situation they find themselves in. So like, if you start mowing with them now, then in like five years, you can just set them on the mower and away they go. You're five years old. Let's mow the lawn. You've been doing it since you were six months old.
Robbie Wagner: [54:09] Right.
Chuck Carpenter: [54:09] That's right. Strap the baby to you. You can get those headphone noise canceling headphones for babies. Just pop that on. Good to go.
Charles Lowell: [54:16] I bet the baby would sleep like a freaking log on a mower.
Robbie Wagner: [54:20] Yeah, the movement is great on a mower. I mean, I'm asleep when a car starts moving, so I'm sure that my son will be the same.
Chuck Carpenter: [54:30] There he goes. Sound effects are pretty key.
Robbie Wagner: [54:34] All right, well, we're about at time here. Is there any last-minute stuff you guys want to mention or plug or stuff you're interested in you want people to know about?
Charles Lowell: [54:46] Man, I can't stop thinking about Dino. It's amazing. We could spend a whole hour talking about Dino. It's exciting. It's everything you ever wanted Node to actually be. It's the real deal. Like, I started playing with it about two weeks ago, and it just feels great. So I'll just throw that out there. It's something to look for, something to investigate. Definitely. If there's a tech pick, that would be it.
Chuck Carpenter: [55:13] All right.
Robbie Wagner: [55:13] Yeah, I'll definitely have to check that out. I've seen it around, but I haven't checked it out myself.
Robbie Wagner: [55:52] Nice. Anything you want to close on Taras?
Taras Mankovski: [55:56] Yeah, I'm going to plug. I will be remiss to not talk about at least a little bit about stuff the Frontside has been doing simply because it's just been so fascinating. I've been, in many ways, looking for a long time for something that was really fascinating to me. And the stuff the Frontside has landed, like, kind of arrived at in the last couple of years has been really interesting. It's a combination of testing and simulation and the developer experience stuff and the emergence of developer experience as a focus area of focus, especially with kind of arrival of Backstage as being a thing. To me, it's exciting and interesting in the same way that web and Ember was when it started, like seven years ago, whatever it was ten years ago almost now.
Charles Lowell: [56:47] Right.
Taras Mankovski: [56:48] That's kind of just that sense of we're discovering something new and there are people who are actively trying to solve a problem that they all discovered as a problem together is really exhilarating. So it's nice to feel that after kind of having a wall for a while. So that, for me, is really just really fascinating. Being like in the middle of the work every day and talking to developers and talking to business about how to make developers' lives better and what does that look like. It's just been really fun. So I'm really enjoying it.
Robbie Wagner: [57:29] Yeah, and that's definitely a big problem that people are still trying to figure out how to address because there's not enough developers to do everything right now. There's always people hiring for developers, always new developers coming on the scene, and they have choices between companies and whether they're prioritizing the developer experience or not. And that's going to be something people need to invest in or they're not going to be successful in the coming years. So definitely a big problem to solve. All right, well, I guess we'll wrap it up there. Thanks, everybody, for listening and if you liked it, please subscribe, and we'll catch you next time.
Chuck Carpenter: [58:09] Thanks for listening to Whiskey Web and Whatnot. This podcast is brought to you by Ship Shape and produced by Podcast Royale. If you like this episode, consider sharing it with a friend or two and leave us a rating, maybe a review, as long as it's good.
Robbie Wagner: [58:24] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and this show, check out our website at ship shape.io.