{
  "version": "1.0.0",
  "segments": [
    {
      "speaker": "Robby",
      "startTime": "0.0",
      "endTime": "14.799999",
      "body": "I never set out to think that this is gonna be a popular widely used tool. Like, I literally wanted, like, eight of my coworkers to have this on their computer so that I could be lazy and not have to remember all these complex Git commands. And I just shared it publicly, and it kind of spread."
    },
    {
      "speaker": "Jack",
      "startTime": "15.275",
      "endTime": "45.954998",
      "body": "Robby Russell created OmoZ Shell just to share his configs with his colleagues. Now it's one of the most popular open source projects in the world. In this episode, we talk about the origins of OmoZ Shell, developer experience, and the future of developer agencies. Enjoy the episode. So I remember, like, when we spoke before, you were kind of adamant that it was never meant to be a popular project, and it was just for your colleagues initially."
    },
    {
      "speaker": "Robby",
      "startTime": "46.195",
      "endTime": "86.47",
      "body": "Exactly. So the the kinda like the initial impetus of the project was I had been using Z Shell for a few years on my computer, and this was back. So the project started I believe it was 2009, like maybe the, like August I think is maybe the first commit to the repository, and a repository was created. But I had been working Z Shell on my in my CLI for maybe one and a half, two years or so, and I would had been introduced to it from some other developers in over IRC channels and the Ruby on Rails community that I had been part of since, like, beginning 2005, And it had a Git was still kind of a new thing at the time. It was maybe like a year."
    },
    {
      "speaker": "Robby",
      "startTime": "86.87",
      "endTime": "141.56",
      "body": "I've been using Git maybe for about a year, year. I think GitHub was less than a year old at that point as well. And I had gotten, I built up all these like aliases and shortcuts in this and kinda clobbered together this mess of a configuration file from copy and pasting for my friends, from things that I don't know if you remember things like pasty.org, think it was the website. There's like a gist type sites where people would put little like, they'd throw up their config files, and like, here's how I did this, and then so we were kinda copying and pasting and trading, like Pokemon cards or something, like, had collect them all and like so I had this very complicated several 100 line configuration file for my Z shell configuration. And it gave me all these cool things like colors in my prompt and like the it would show like the git branch that I was using because local branches were kind of like a new novel thing for software developers because prior to that, we'd be using Subversion or CVS, and you you didn't really think about it."
    },
    {
      "speaker": "Robby",
      "startTime": "141.56",
      "endTime": "185.955",
      "body": "Like, why would I need a local branch versus like a branch on, you know, your your source code management tool, like like that maybe your team can collaborate on, but why would I need a local branch? But so just to kinda get used to getting familiar with git, I had all this stuff to kinda make that experience a little bit better. And then a whole bunch of aliases and shortcuts, but then I'd be pair programming with my coworkers on their computer, and they'd maybe be still using bash because that was the default shell on their computer, and I couldn't remember a lot of the shortcuts. You know, like I was like, the muscle memory wasn't there. So I'm like, just know how to type all these like three little three characters and it generates this git command that I couldn't remember all because git has a lot of like different methods and shortcuts."
    },
    {
      "speaker": "Robby",
      "startTime": "185.955",
      "endTime": "212.615",
      "body": "Know there were a lot of there's a lot of git offers a lot of functionality and you couldn't remember, like, here's like the five or six little shortcuts I'd use and I couldn't remember them. So we were constantly having to, like, look them up. Like, what's the command for that? And and so I was like, you know, if you just copy my Z shell configuration file and switch over, then you could take advantage of all my cuts as well. Some of the team, my team my coworkers would would would just copy and paste it and then switch over to using Z Shell as well."
    },
    {
      "speaker": "Robby",
      "startTime": "212.615",
      "endTime": "264.675",
      "body": "Great. And then I could kinda be lazy and can kinda keep doing my thing if I was the one driving or teach them how to use it, but a couple of my coworkers were very reluctant to do that because they didn't understand what the config file did. And like, well, wanted to understand how it all worked and and they wanted me to walk him through it. And so I was like, well, if I'm being honest, I've been copying and pasting and making a few tweaks here and there, I didn't fully understand it myself, so I was like, well, if I can't really walk you through it myself, so how about I'll get back to that at some point. So eventually one weekend I was like, know what I'm gonna do, I'm gonna open up the Z Shell documentation from the Z Shell website, I think was on SourceForge or something, and I'm gonna go through line by line and try to like add some documentation, some comments, inline comments to ex so I would understand what all these different things did, And then as I started doing that, I was like, oh, I had to kind of organize this file a little bit more."
    },
    {
      "speaker": "Robby",
      "startTime": "264.675",
      "endTime": "313.13998",
      "body": "And then I was like, oh, I could use Git for this. I should probably track my changes so that if I break something, I can revert back to what I how I had had it originally. And so I created a repository and then I started breaking up that really large messy file into a bunch of smaller messy files and I slapped the name on it and then I put a little read me and said, here's how to install it, which is basically a git clone of the that repository on my on my Robby Rails, I called it Robby Robby Russell GitHub profile, it's called Omaze Shell, I had another project like a month or two before that called Omaze Science, and so I just kind of played it, riffed off the name, didn't think anything of it. I shared with my coworkers. Those few developers that were on my team that were reluctant to install to use it, installed it."
    },
    {
      "speaker": "Robby",
      "startTime": "313.62",
      "endTime": "325.335",
      "body": "Great. So problem was solved. Now I could go to the computer and start using all the shortcuts to start showing them things. Then they wanted to start adding their own shortcuts and aliases, and so they're like, oh, cool. How do I do that?"
    },
    {
      "speaker": "Robby",
      "startTime": "325.415",
      "endTime": "345.475",
      "body": "So I go, yeah, you can just, you know, we can just collaborate on this project. And then one of my coworkers said, how do I change the colors? And I was like, why would you wanna do that? He's like, I don't like your color choices, and I'm like, I have good color choices. So I was like, well you can change this one file, you can here's how you can change the colors, so we started playing her with the file and started making changes, which is great."
    },
    {
      "speaker": "Robby",
      "startTime": "345.635",
      "endTime": "374.18002",
      "body": "And other coworkers on my team started contributing, you know, I'd mentioned other functions and shortcuts to it. Well, that one one developer that changed the colors had a conflict in his git repository. Because he was wanting to get the other coworkers shortcuts, because we had a bunch of like per project things and a bunch of little shortcuts for us as Ruby on Rails developers and some CLI tools. And I was like, well, this is a problem. He he kept having to stash his changes and then reapply them to keep his colors, and like the tweaks he wanted to make."
    },
    {
      "speaker": "Robby",
      "startTime": "374.335",
      "endTime": "409.475",
      "body": "And I was like, this is interesting. Well, how about we can I'm gonna do the most obvious thing. How about we just separate your file, terminal, your color changes from my color things, and I'm gonna call these themes, I'm gonna create a directory called themes and I'm gonna move mine into there and you can have yours in there, and then we're not gonna step on each other's toes if we make changes to our own theme, and you can just set this as a config variable and it would just load the appropriate file. So that's how themes came about. It wasn't like I planned, let's build a thing with themes, it was literally like, how do we make this work so that we can keep collaborating on this?"
    },
    {
      "speaker": "Robby",
      "startTime": "409.95502",
      "endTime": "431.905",
      "body": "So that's kind of how the project kinda got started, and then I was pretty reputable and well known developer in the Ruby on Rails community at the time, And so I shared this on my blog, robbyonrails.com, and said, hey. Here's how I'm using all my z or z shell. Here's my config thing if you wanna use it. Take advantage of it. I have a bunch of Rails stuff in there, Ruby things, stuff like that, stuff for managing servers, stuff like that as well."
    },
    {
      "speaker": "Robby",
      "startTime": "432.305",
      "endTime": "453.73",
      "body": "And a bunch of people started contributing to it. I'm like, great. More themes. Everybody wanted to kind of play around with it. And about a month, month and a half, I think into it, someone reached out and said, hey, this is really cool, but it kind of assumes you're a Ruby on Rails developer, but I work with Python, I use I've code with the Dingle projects, how can I disable all this Ruby on Rails stuff?"
    },
    {
      "speaker": "Robby",
      "startTime": "454.05002",
      "endTime": "495.685",
      "body": "And how can I contribute some Python things? And I was like, oh, that's interesting. How about we'll I'll move my thing, my code for Ruby on Rails stuff into, we'll call it a plugin. You can have your Python plugin, I'll have the Ruby on Rails plugins, just load it and we can like configure which ones you load up, and not everybody has to have everything loaded up, that's how plugins were started. So it was literally just me, how do I work on my coworkers computers, teach them a few things, they started getting excited about it, Everybody just wanted to start contributing to it, and then themes and plugins, I think that most people know about it, were things that just organically came about because we needed to find a way to collaborate, but not step on each other's toes."
    },
    {
      "speaker": "Robby",
      "startTime": "496.645",
      "endTime": "510.22",
      "body": "And that just kind of blossomed into now it became like a huge playground. So like, let's throw more plugins into this. And I was like, great, I don't need that one, but come on in, let's have fun. Let's see what happens with this. And so it kind of blew up over a couple years from that point."
    },
    {
      "speaker": "Robby",
      "startTime": "510.22",
      "endTime": "517.455",
      "body": "So that's how the project got started. Anybody could have done this. I guess I just happened to be the one to do it at the point at that point in time."
    },
    {
      "speaker": "Jack",
      "startTime": "517.455",
      "endTime": "528.42",
      "body": "It's such a cool story. And I I don't don't think that's true though. We'll push back on that. I felt like you Okay. Do do you think it's like just I don't know."
    },
    {
      "speaker": "Jack",
      "startTime": "528.42",
      "endTime": "537.62",
      "body": "Like it seems like that's actually the best way to start a successful project is just like solve little problems that you're seeing for your coworkers and stuff like that."
    },
    {
      "speaker": "Robby",
      "startTime": "537.7",
      "endTime": "592.62",
      "body": "I always think back and, you know, I I can share that like, I had many projects that I worked on that I had released and open sourced, some of them if you knew how to find them, you might find them on source forge or something, except from like the early 2,000, horrible code, nobody ever used these things. What was it about this particular thing, I think we can we can dig into that I think, But I think there was a certain element of, I'd never set out to think that this is gonna be a popular widely used tool. Like I literally wanted like eight of my coworkers to have this on their computer, so that I could be lazy and not have to remember all these complex Git commands. And I honestly thought that that if they would take advantage of it, they would save themselves some keystrokes and they would find some optimizations in their workflow, and stop trying to look up the documentation for some gits sub commands as often as they were. So I was like, how do we how can I just help my team out a little bit?"
    },
    {
      "speaker": "Robby",
      "startTime": "592.62",
      "endTime": "626.2",
      "body": "So I I really wanted to kind of focus around that, and I just shared it publicly and it kind of spread, you know. It wasn't it wasn't like a fast burning thing where like, it just caught white, you know, took a while for it to kind of build, and there's like a couple of inflection points I always think back, I'm like, oh, that's really weird. How did it get from here to there? You know, I have like a lot of great data when it comes to open source projects, like how many people have actually installed the project because the installation is literally a git clone, and GitHub doesn't really have really good stats on things like that. But it's it's just one of those kind of weird things."
    },
    {
      "speaker": "Robby",
      "startTime": "626.2",
      "endTime": "651.54004",
      "body": "So I I don't know if it what the secret ingredient was. I think there's a lot of, like maybe I was part of that, but I do think there was a lot of good timing in the market, if you wanna call it that. And maybe I think maybe a little bit of, like, the playfulness, and it was and like the how I thought about who the target audience was for this type of tool. So we can we can drill into those things."
    },
    {
      "speaker": "Jack",
      "startTime": "651.86",
      "endTime": "670.6",
      "body": "Yeah. I mean, I it sounds I don't know. It it just seems to me like the the coolest way to start projects is just yeah. Just build it because you think it's cool and put it out there. And like, if you just do that, I feel like some stuff is gonna probably be relatively popular, and in your case, very very popular."
    },
    {
      "speaker": "Robby",
      "startTime": "670.76",
      "endTime": "695.18",
      "body": "It can be. I mean, there's a lot of people that have really great ideas and then it doesn't spread. And I don't know, you know, what what the secret sauce is for that. A couple years ago, it was the fifteenth it was fourteen, fiftieth anniversary, I gave a couple talks at a couple conferences about this and, like, looking back, I'm like, what was it that I think contributed to the success? And I do think timing, I think was the big part of it."
    },
    {
      "speaker": "Robby",
      "startTime": "695.18",
      "endTime": "747.59503",
      "body": "Git was still relatively new. And it kind of optimized around Git. You use Git to install it, and it was kind of targeting for if you're getting your head wrapped around Git, I mean, if something is simple, like, it just seems like such a simple thing now, but the idea that you'd have a prompt that would show you your local branch and kinda put that forward, like, it just was making people feel a little bit more comfortable in the CLI because what I observed was a lot of developers, software developers that were kind of nervous opening up their terminal and typing things in and being afraid to break things. And and even today, you know, know, I I I think a lot people thought, like, well, maybe this whole terminal thing, we will have a lot of good GUIs for doing git commands and, you know, merging code and stuff like that. But I think a lot of software developers still kinda gravitate towards CLI tools now."
    },
    {
      "speaker": "Robby",
      "startTime": "747.91504",
      "endTime": "805.22",
      "body": "But at the time, everybody's like, well, this is only gonna be a short lived thing, and there's gonna be some especially if you're coming from like the Microsoft world or something. The you kind of assumed that there'd be this like, oh, we're gonna do diffs in like a an app, and we're gonna be merging things like that there, and and or even get PRs and stuff was kind of like a new concept at the time. So I do think there was an aspect of it being a new paradigm Git. GitHub, I knew the people like like some of the people that started GitHub, they thought the project was cool. They one of their they had a podcast, they mentioned OMIZ Shell is kind of like a new cool tool they should check out, so they mentioned it in like in their podcast and on their blog, and then it quickly became one of the most starred projects and remained the one of the most starred projects for many many years, I think up until the last several years, and there's a lot of different types of projects that have been but it always would rank really well as a as and and and it was always trending even though it was kind of like not a was it funny."
    },
    {
      "speaker": "Robby",
      "startTime": "805.22",
      "endTime": "819.155",
      "body": "It was always trending under Bash because Bash was a category in Git, like, for different, like, programming languages. It'd be like Ruby, Python, and Bash. And I'm like, it's not even a Bash project. It's a Z Shell project. If it's a it's a shell like, I didn't know who to email there."
    },
    {
      "speaker": "Robby",
      "startTime": "819.155",
      "endTime": "849.515",
      "body": "It'd be like, you should make that like a terminal CLI tool type thing. But it was always trending, and I think people would see that and be like, oh, maybe I'll check that out as well. So just kind of like kept feeding itself in in a weird way, and people it kept getting on people's attention. And then I've I I did have some fun with like how I thought about, I'm gonna air quote, marketing the project in the sense of it's this free tool, you know, and there's no monetization strategy behind this. There's no company trying to make a bunch of money off this project."
    },
    {
      "speaker": "Robby",
      "startTime": "849.515",
      "endTime": "880.215",
      "body": "I've been selling t shirts and hats and stickers for a good maybe twelve years now. We get almost an order a day for those, and like so that's my monetization. I I'm not raking in the money, I'm not gonna buy a car with that or anything, But that's a kind of like a fun, like, side effect of it. But because it's just there, people keep, you know, telling their friends to recommend it, and and it's and it also has that aspect of like, one of the most common things I learned over the years was, like, asking people this, like, oh, I love I use OMXD Shell. The question is, like, how did you hear about it?"
    },
    {
      "speaker": "Robby",
      "startTime": "880.215",
      "endTime": "902.69995",
      "body": "I always would ask, who introduced you to it? Because I feel like a lot of the time the stories I hear is actually someone's looking over at someone's computer and like, how did you make it look like that? Like, oh, check out OMAZ Shell. And that was the story I kept hearing over and over and over. Like, coding schools would tell their their new students like the boot camps, like, oh, just install OMAZ Shell, like day one."
    },
    {
      "speaker": "Robby",
      "startTime": "903.795",
      "endTime": "933.305",
      "body": "One of my one of my really, really good friends personally, a couple like two years ago had got a new job somewhere, and he was reading through the documentation for getting onboarding, and it's like, your name popped up in our our Confluence documentation. It's like, install Robby Russell's only Z Shell day one. And I'm like, these things is like it just I don't know how how that's all happened. It's just like this wild thing. So it wasn't a strategy that I felt like, hey, everybody, you should all make this the default."
    },
    {
      "speaker": "Robby",
      "startTime": "933.38495",
      "endTime": "972.59",
      "body": "And and then also Mac or Apple at one point ended up switching from Bash to Z Shell as a default for a open source license reason, because Bash and Z Shell have a different license, and so that ticked up the popularity a little bit more as well, and which has also added some interesting confusion, because some people don't know what the difference between Z Shell and Omey Z Shell is. I don't know if I can solve that problem, but it it has been like a thing, people are like, well, it's just is it the same thing? And like, my thing's built on top of it. It's kind of like explaining what Ruby on Rails is versus Ruby if you're not a software developer, people are like, what exactly does that mean? It's kinda like a similar thing where they're like, well, it's kinda the same thing, right?"
    },
    {
      "speaker": "Robby",
      "startTime": "972.59",
      "endTime": "993.675",
      "body": "And they're like, no, not quite. But, and I know that I've heard rumors that there's people in the Z Shell support community that don't like Oh my Z Shell because people confuse it, and they'll come to them with support questions that are actually probably for a normal Z Shell configuration problem or something. So I I apologize for that. But but at the same time, maybe I this project helped introduce a lot more people to Z Shell in the first place."
    },
    {
      "speaker": "Jack",
      "startTime": "995.61",
      "endTime": "1022.335",
      "body": "It's super cool. My friend Tony, I think introduced me to it a long time ago and it's all like the memories are all hazy at this point but I remember I the felt like the branching was like a really big thing where I was like, well, how do you how can you see that? What which branch you're on? Are you not doing like like yeah. It's it was I I think that was like really cool and it just looks really nice."
    },
    {
      "speaker": "Robby",
      "startTime": "1022.335",
      "endTime": "1022.73505",
      "body": "Thank you, Tony."
    },
    {
      "speaker": "Jack",
      "startTime": "1026.23",
      "endTime": "1044.845",
      "body": "I need to catch up with that guy. Great guy. Yeah. It's a it is really cool hearing about this. And then were there like a lot of I guess when you build a popular project, it's like you kind of have to make a lot of decisions around like how it develops because people often want like different things."
    },
    {
      "speaker": "Jack",
      "startTime": "1044.845",
      "endTime": "1064.02",
      "body": "I mean, like you can see it now on like Twitter with like OpenClaw, like the guys like getting a gazillion requests for things and stuff. And like, I can imagine like it was very much like you were getting tons of requests and like Yeah. How are you thinking about like developer experience and like deciding what to build and what not to build and stuff like that?"
    },
    {
      "speaker": "Robby",
      "startTime": "1064.02",
      "endTime": "1104.555",
      "body": "It's a topic that I have given a lot of thought about over the years. And I mean, initially, my target audience was my team. Right? And so I always and my team has evolved over the years, and we, you know, but we would always have you know, back in back in that era, so this is in 2009, what we we used to call we used to have a type of developer, called what we used to call a front end developer was kind of someone that knew a lot of HTML and CSS, maybe a little bit of JavaScript, but we could work on our projects and bring our design, like our our clients like, designs and bring them into our Ruby on Rails apps and make sure that they work well across browsers and different devices and stuff like that. So that was our front end developers, what we used to call those people back in the day."
    },
    {
      "speaker": "Robby",
      "startTime": "1104.555",
      "endTime": "1124.26",
      "body": "Front end developer, and it means different things now. But they were my litmus test. If that developer who was very uncomfortable in the CLI and maybe a little uncomfortable and still new to git, if they felt comfortable enough to use it, and then I would feel like, great. Then this is kind of that's the litmus test. Like, I wanna make sure it worked well for them."
    },
    {
      "speaker": "Robby",
      "startTime": "1124.8849",
      "endTime": "1144.71",
      "body": "And I thought about that when we would when you know, when the project started to grow more and people started adding new functionality. Like, when you bring in like themes and plugins, a lot of that was like, is there some good useful documentation on how to use it? Great. If they don't need to know how to use that plugin, it's not a big deal because it's those are things you opt into. You would enable plugins."
    },
    {
      "speaker": "Robby",
      "startTime": "1144.71",
      "endTime": "1177.2198",
      "body": "They just weren't all gonna be loaded. They would come they would get installed by you know, when you installed Domain Z shop, but like you don't need to know that there's a Django plugin if you're not a Django developer. Someone would tell you or you would know to enable these things. But when it came to like all the git stuff, and how you're gonna keep it updated, I wanted to really optimize around just that type of developer. And so early on, I thought about like, we were already having issues as people were making changes, like how do you keep the how do you stay up to date with this project when it's a git repository?"
    },
    {
      "speaker": "Robby",
      "startTime": "1177.2999",
      "endTime": "1203.88",
      "body": "And so like, they wouldn't remember to c d into that, you know, the .omyz shell directory that you would have in your home directory and then do like a git pull and fetch nude. And so they'd be like, one coworker be like, hey, added this new these new little features and the other ones like why it doesn't like not it doesn't it doesn't it's not working for me. I don't see it. And I'm like, oh, you need to like go into the directory and do a poll, and then it would fetch that. They wouldn't be thinking about that because it's not because it's just like their CLI interface."
    },
    {
      "speaker": "Robby",
      "startTime": "1203.88",
      "endTime": "1236.37",
      "body": "It's not like working on a client project or a software project with your coworkers, and everybody's like, you know that that's what you need to do on a regular basis. But since it was kinda like out of mind, how do you think about that? And so I was like, wow, this is an interesting thing. So I was like, how about is there a way to automate the in like the updates? And like all I wanted to do and so I think the initial version would be like, maybe once a week, I had to figure out how to do like a epoch time thing in Z Shell to like track when the last time you ran an update, if it had been like over seven days, it would then ask you, do you wanna do an update?"
    },
    {
      "speaker": "Robby",
      "startTime": "1236.37",
      "endTime": "1256.08",
      "body": "Yes or no? And so I was learning how to do some Z shell concoding through this process. And so like, I'm like, oh, I'll make this an update auto update thing and you can turn it off if you want. But that would make it easier because then that front end developer would just have to be like, yes. You know, I type a y and then it would just fetch the new updates and get back to what they were doing."
    },
    {
      "speaker": "Robby",
      "startTime": "1256.08",
      "endTime": "1281.685",
      "body": "And I'm like, great. Then they can stay up to date. You know, did you update? And there was like a little, you know, like a little OMZ update command you could run and then you could just get so that way if something was more recent in the week, you weren't too far behind. And then that be I think that was like a secret ingredient to the project globally though, because I think because then it was like, oh, now everybody has is by default is going to be relatively up to date with new things showing up."
    },
    {
      "speaker": "Robby",
      "startTime": "1281.9701",
      "endTime": "1316.51",
      "body": "And because it was git, it would show you when you ran the when the update would run, here is new plugins. You would get exposed to new themes, new plugins that were that were added. We didn't have to have like a huge complex like, go check the change log and see what's going like. So the approach was like, well, let's just lean on git as much as possible. And then I think at some point, was like, oh, I can add like the ASCII art in there, and it'll be kind of fun, and it'll be like a promo, oh my Z Shells, like there's there's this community of things getting added, You can if you're interested in it, you can go look into it, but you're probably just gonna go about getting on with your the project that you're working on."
    },
    {
      "speaker": "Robby",
      "startTime": "1316.51",
      "endTime": "1347.13",
      "body": "But it always felt like that way, it always felt like Omaze Shell was kind of like there, but out of the way. But in terms of like thinking about that type of developer in particular, someone that's not super comfortable with the CLI, within maybe a couple years, we had a couple of people that were really really helpful in the project. And they're still I think ranked probably in the top fifteen, twenty contributors to the like, code wise to the project. And we started working around a lot of things to make it faster. And so we're we were trying to optimize and speed up thing."
    },
    {
      "speaker": "Robby",
      "startTime": "1347.2101",
      "endTime": "1381.3251",
      "body": "But then the plug in ecosystem was growing pretty wide bigly you know, bigly Growing pretty big, and we had hundreds of plug ins or something. And I was like, well, this may not scale well. Like, we do we need to bring like, let's talk about a plug in system. So we we started exploring this, and we were trying to approach like all these different ideas about how we could do that, and thinking about themes as well. Like, maybe we need to put a cap on how many themes are, because if someone's upload you know, adding a theme, and it doesn't look that much different than like 20 other themes, are we actually helping the community by adding a bunch of new themes every time?"
    },
    {
      "speaker": "Robby",
      "startTime": "1381.3251",
      "endTime": "1411.5249",
      "body": "I'm like, well, people can have their own custom themes. If something really innovative shows up, maybe we'd consider that. So we had to like kinda put a lockdown on things like that, so it didn't get too big and bloated. But when it came to like the plugin system, we're like, how will we organize that? And there was a couple patterns and we started going down this path of using, which some developers might be listening to this be like, oh, please don't do that, was to use git sub modules, like let's lean in on git more and we'll use git sub modules."
    },
    {
      "speaker": "Robby",
      "startTime": "1412.005",
      "endTime": "1459.07",
      "body": "To do this, and as we were trying to like think about how to make this easy for developers, I was just like, you know what, GitHub bones are actually kind of really messy for even me to use on any of the projects I've ever had to use them. I do not wish that on anyone else, like if we have to do if we go down this path, I think it's gonna make the barrier of entry very very complicated. So I had to be like, we're not doing that. I'd rather keep plugins as as yeah, let's add more plugins, we'll keep doing this, but I'd rather have that problem and how we can manage that than to make it too complicated to use for these types of people that are not comfortable with the CLI. And if they have to run some extra git commands that they don't understand what they're doing, we're gonna lose them."
    },
    {
      "speaker": "Robby",
      "startTime": "1459.07",
      "endTime": "1482.5299",
      "body": "And it's not necessarily that where I was worried about losing people, but I was just like, I'm like, I think if you're sophisticated enough to to use to to use those types of functionality, great. Maybe you can graduate beyond OMXZ Z shell. You can go do these things. You don't need OMIS Z shell anymore. So it's like, how about we just think of this as like the tool for people getting comfortable with the CLI."
    },
    {
      "speaker": "Robby",
      "startTime": "1483.25",
      "endTime": "1536.84",
      "body": "And then when you're ready to graduate or whatever, you can do that and you can figure out how to do that stuff. So we won't be for the advanced developers, we'll be for like the newbies, the beginners that are kind of excited and like, yay, I'm a programmer now and I keep my terminal looks like, I feel like a hacker or whatever, I'm like, you know, I've got these cool colors and I'm learning how to do all these little cool shortcuts and using these plugins and plant switching my themes around. I'm like, but like that that seemed like a more exciting and fun group of people to cater towards, and then knew that like the curmudgeony people that like, I want it to be super fast and I wanna do it my way, great, go do your thing. I don't we don't need to be that for you. And what I found was that, yeah, people will graduate, but there's all I meet so many people that are like really really smart savvy developers."
    },
    {
      "speaker": "Robby",
      "startTime": "1536.84",
      "endTime": "1556.6299",
      "body": "So yeah, I just install all my Z shell when I get a new computer, make a few little quick tweaks and I just it it works. I don't I actually don't care for a more complex, and I'm not looking to shave off a couple milliseconds of my my prompt startup time. And I'm like, great. I'm glad you stuck around as well. So that that's that's how I thought about the developer experience."
    },
    {
      "speaker": "Robby",
      "startTime": "1556.6299",
      "endTime": "1565.83",
      "body": "Like, that's the target audience. And it just happens to be that there's a lot of them because people when people are new to something, like, let's optimize around that space."
    },
    {
      "speaker": "Jack",
      "startTime": "1566.095",
      "endTime": "1571.295",
      "body": "Yeah. Was it like instantly obvious to people? Like, did you have to like communicate? Because I guess people"
    },
    {
      "speaker": "Robby",
      "startTime": "1571.775",
      "endTime": "1573.5349",
      "body": "The forked the project got forked."
    },
    {
      "speaker": "Jack",
      "startTime": "1574.175",
      "endTime": "1574.815",
      "body": "Okay."
    },
    {
      "speaker": "Robby",
      "startTime": "1575.055",
      "endTime": "1601.805",
      "body": "When when when I when I when I made that decision, and we can maybe we can go find like the the GitHub PR or issue that that was on, the project ended up getting forked. And there's there was a fork that still I think it still exists to this day that started going down that path. They didn't fully go through that plan that they had worked around, but that was there was a pivot point where some of those people said, alright, I'm out. I'm gonna go do my thing. And I was like, I understand and that's okay."
    },
    {
      "speaker": "Robby",
      "startTime": "1601.805",
      "endTime": "1654.205",
      "body": "So the beauty of open source, you know, wasn't like bad blood or anything, and then other people started kinda came in and filled in that void and from a contribution perspective, and it worked out. And so it wasn't like, I wasn't ungrateful for their help, but it was like, I'm like, I'm like, we're we're just different types of developers, like you, you're way smarter than I am, than I than I think I can wrap my head around this. I'm like, I don't know how to communicate your ideas simply to somebody coming into this new, and they're like, well, that's not our problem, and I'm like, I don't, I'm not trying to be discouraging of them, it's just, if you know, if they're out there listening, but it it was it's just there was still like a, how do we just I just wanna focus on these types of people, I'm like, let's let's see what happens, and then that's gonna be my bet on it, and I'm like, that's where I'm kind of excited about it, and and I I didn't think this project would exist fifteen years later, you know, but it but it has."
    },
    {
      "speaker": "Robby",
      "startTime": "1654.205",
      "endTime": "1673.9",
      "body": "And it wasn't like I thought this was a good long term strategy. It was like, I always thought OMAZZ Show would be replaced by some new exciting things that did it even better and like, great. And people I I was chatting with somebody recently. I get this a lot too. It's like, not only like, oh, I love OMAZ Show, but it's like, I'm sorry, but I actually switched to fish like two months ago."
    },
    {
      "speaker": "Robby",
      "startTime": "1674.375",
      "endTime": "1693.37",
      "body": "And like, they're kind of apologetic, and I'm like, what are you talking I'm like, that's great. I'm glad you found something for you. And like, it's not, you know, I I still use all my Z show. I haven't been motivated. I I'll dabble with different tools, but I don't feel like I need to get into like a Vim versus Emacs debate about these things either."
    },
    {
      "speaker": "Robby",
      "startTime": "1693.37",
      "endTime": "1696.0898",
      "body": "So find what works for you and what resonates."
    },
    {
      "speaker": "Jack",
      "startTime": "1696.49",
      "endTime": "1719.3",
      "body": "Yeah. It's it's so cool. And, like, how actually, just like a cure question just for my own curiosity, like, how what what are like the biggest impacts on your life? Like is did it change things? Because building such an popular open source projects, obviously, it's not like a business venture, but it's like a kind of something that's incredibly popular."
    },
    {
      "speaker": "Jack",
      "startTime": "1719.3",
      "endTime": "1725.94",
      "body": "I just wondered, like, did it have a lot of impact on your life and work and stuff like that as well?"
    },
    {
      "speaker": "Robby",
      "startTime": "1726.3401",
      "endTime": "1763.935",
      "body": "It's interesting. I some people think that it probably had more of a boost to my professional career than I think I think I it's it's hard to know. I mean, we've gotten my company because we were I run a software consultancy and been doing that for much longer than know, this all kind of brewed in the that that world is that companies my company still exists. And OMAZ is still kind of seen as like Robby's weird little project, you know, within my company. Like like, I think most of the people on my team use all my Z Shell, there's a few that definitely don't, I know, and they're very vocal, like, I don't use it."
    },
    {
      "speaker": "Robby",
      "startTime": "1763.935",
      "endTime": "1806.31",
      "body": "I'm like, I'm not gonna we're not pair programming in the same office anymore, so I don't really care about what what they're using anymore, because I'm not gonna be on their computer typing myself, but like I needed to like sixteen years ago. But professionally, I, you know, I sell you know, I mentioned I sell hats and t shirts and stickers all the time. That's been fun because a from a marketing perspective, there's a much wider audience of people to not necessarily to sell things to, but to experiment with like marketing, promoting a project. It's it's a huge community and so I I feel like that's been fun over the years and to to play around with that. It definitely has helped introduce me to a lot of people I look up to."
    },
    {
      "speaker": "Robby",
      "startTime": "1806.31",
      "endTime": "1826.9349",
      "body": "I think it helps open up doors for, like, my my couple of my podcasts. I have a podcast called Maintainable. And on that podcast, I think it's helped. People are like, oh, people that have used OMXZ Show and but they're like, they've written this cool book and I'm like, I just wanna get to talk with them for an hour about software maintenance. And they're like, oh, I would love to chat with you because you're the OMXZ Show guy."
    },
    {
      "speaker": "Robby",
      "startTime": "1827.2599",
      "endTime": "1852.245",
      "body": "And I'm like, great. So that's I think it's been helpful from that perspective for sure. But from like a financial perspective, it's I can't say like we'll have clients that don't know anything about Omezuchel and this is not even remotely on their radar of like, it it occasionally does pop up. Well, I've had some clients where they'll be like, oh, I was talking to one of our other internal software developers, and they they're like, you're famous. You know?"
    },
    {
      "speaker": "Robby",
      "startTime": "1852.245",
      "endTime": "1895.77",
      "body": "They're like but they don't know why I'm like, the my client doesn't understand why I'm, you know, recording for our audio listeners why I'm famous for doing this thing. But I think it that that part's been interesting. And the other thing it's been the most rewarding, I think, is just being able to contribute to a to get to participate and, you know, like, while I created OMNIZZ Show, I've kind of relabeled that as I I feel like the better word is curated OMNIZ Show in a way. Because, again, it was like I compiled all these ideas from my peers, my friends. The project, I think, were just shy of 2,500 contributors to the project that have committed code to the actual repository at this point, which is a lot of people that we've reviewed and approved code for."
    },
    {
      "speaker": "Robby",
      "startTime": "1896.505",
      "endTime": "1921.7899",
      "body": "And we are primarily managed by three maintainers right now. And there's two, Mark and Carlo, who both live coincidentally, like, completely coincidentally. They live, like, within two miles of each other in in Spain. And and so and and we're all like ten years apart in age. So I'm like in my, you know, I'm like 46, the other one's like 35, and the other one's like 25."
    },
    {
      "speaker": "Robby",
      "startTime": "1921.9501",
      "endTime": "1949.59",
      "body": "And like, we have this age range of people, and like, the project's almost as old as Carlo is. You know? And he's one of our most active, you know, maintainers of the project these days. And they're the ones doing a lot of the PR reviews and and doing some of the longer, the bigger the bigger, like, refactoring projects and stuff like that. But so it's it's allowed me to meet so back to your question, I've gotten to meet a lot of interesting people because of the project."
    },
    {
      "speaker": "Robby",
      "startTime": "1949.75",
      "endTime": "1969.71",
      "body": "I'll show up at conferences specifically. I'm, you know, I'm still in the Ruby on Rails community. I host a Ruby on Rails podcast, and people know me from the Rails community. But more people at those conferences know me because of OMIZZ Shell than they know that I am actually a Ruby on Rails developer, and that's actually how I make a living in as a software developer. I wish they knew me more for that, so we can get more clients for that."
    },
    {
      "speaker": "Robby",
      "startTime": "1969.71",
      "endTime": "1999.95",
      "body": "But it's just like a funny, like, so I'll try to so I'll lean in on that. I'm like, hey, everybody, if you use all my Zisha at the conference, I always got stickers on me, come say hi, and then I can use as an excuse to get to know them and everything as well. And so it's it's a kind of a funny thing that I wish I'd figure out how to optimize it around my professional stuff more. Or I've always been like, oh maybe I've missed a missed something because I didn't figure out how to monetize this project. But I'm also like really okay with that because I've always felt like that I don't owe anything to the broader community."
    },
    {
      "speaker": "Robby",
      "startTime": "2000.51",
      "endTime": "2050.305",
      "body": "It's like, I'll work on it when I feel like I'm interested and have some energy, but it might kind of take on managing a project of this scale. It's like, I always felt like it was feature complete day one. It's just that other people wanted to start changing my thing and they wanted to customize or add a couple of extra little things. And my thought there is like, unless there's a security thing or a bug that's like a lot of people they're being impacted by it, and that rarely happens, but when it does, like those are those definitely, you know, bubble up to the top. But if you're a you if you're a first time contributor and you've got like a new plugin idea, you've figured out how to fork the project, add this new plugin, start working on it, add documentation for it, unless a bunch of people have already seen that issue or the PR and are upvoting it, nobody's waiting on it."
    },
    {
      "speaker": "Robby",
      "startTime": "2050.305",
      "endTime": "2108.2",
      "body": "It's gonna be a new thing that we'll get around to, but you're able to use it because you've already you're smart enough to know how to already go through that step that you have that plugin enabled in your local fork of it, and so you're not stuck waiting for me to review and approve that. So we'll get to your PR when we've got time, because we're all volunteering, and that's kind of how I think about the project from like, so people are like, wow, you've got hundreds of open issues or PRs, I'm like, yeah, but is anybody waiting on them, really? I mean, just the person that wants to get the contribution merge, And like, so it's like, there's a few people, I'm not trying to be dismissive of that, but it's just like, if we did it quicker, then I'm sure it would just create more PRs for ourselves. So try to find a good healthy balance there, and keep it like this is a volunteer hobby when it when I'm when I feel motivated to work on it, and not feel like it's like I have to spend x number of hours each week on this particular project."
    },
    {
      "speaker": "Robby",
      "startTime": "2108.2",
      "endTime": "2140.48",
      "body": "The other thing I would say though, has this benefited? I actually do know that, like Mark and Carlo, because they've been working on this project for a number of years as well, I do know that that's helped open up doors for them professionally. More so, I think it's been more applicable for what they've been doing. So then when they can show, like, they're kind of a you know, at one point, you know, the one of them had just finished university, other one had finished it several years ago. Like, to get some of those entry level, get your foot in the door things, like, to be able to say that they've worked and been a maintainer of Omeizusha, I think has helped open up doors for them."
    },
    {
      "speaker": "Robby",
      "startTime": "2140.48",
      "endTime": "2146.0",
      "body": "And that so that's that's that's pretty rewarding to to know that that that's helped helped them in particular."
    },
    {
      "speaker": "Jack",
      "startTime": "2146.72",
      "endTime": "2157.0952",
      "body": "Yeah. One transition question here. Have LLMs made it I'm guessing this make it harder to, like with, like, poor requests and stuff. Chiggo, have you had, like, a massive influx of them?"
    },
    {
      "speaker": "Robby",
      "startTime": "2157.655",
      "endTime": "2185.3252",
      "body": "We've had we've had a handful of them periodically come in, and it's been it was an issue several months ago that we needed to have a couple conversations about it. And as the maintainer team and like, say like, alright. Well, we should probably update our contribution gains to talk about AI more specifically. And so we we just pushed that out maybe, I think about a month ago. I I made updates to our contributing documentation for that, and just to be like, alright."
    },
    {
      "speaker": "Robby",
      "startTime": "2186.045",
      "endTime": "2213.395",
      "body": "What the what the team really essentially wanted was like, hey, if we if we get these big PRs, we feel kinda bad to say no if we think it's AI. We wanna they wanted to feel comfortable to be like, we're just not gonna consider this thing because it's maybe it's too sprawling. We've seen a lot we've seen some PRs where it's just like, they touch like 25, 30 files, and we're like, what what are what are we doing? What is this for? You know, like, makes us a little nervous."
    },
    {
      "speaker": "Robby",
      "startTime": "2213.395",
      "endTime": "2249.675",
      "body": "But I mean, I'm like, but when we thought about it, it was like, if that hadn't even been in just a normal human, like, just a human on their own, we would have a very similar reaction. We've yes. We've seen an increase in AI supported assisted PRs and contributions, and we decided we wouldn't rule them out immediately and just say, like, no contributions. We just said, we ask people to disclose it because we don't know if people can say, did they have it generate the whole thing or did they use, like and if you're using Versus Code and then there was, like, an autocomplete, does that count as using AI assisted? And, like, where's that line?"
    },
    {
      "speaker": "Robby",
      "startTime": "2249.7551",
      "endTime": "2286.32",
      "body": "I feel like the tools are gonna keep evolving, and you know, I didn't wanna have to revisit the policy every six months, and I don't feel like I'm in a position to be like, I'm gonna have an ethical stance of whether or not AI should should or shouldn't be used in this open source project. I'm like, but I can tell you that because I use Copilot to make a copy or a find and replace for a few links in the the project, that resulted in a few people saying they weren't gonna use the project anymore because it's full of AI slop now. And I'm like it's like a we're we're we're navigating, I think, an interesting, coding cultural war there."
    },
    {
      "speaker": "Jack",
      "startTime": "2286.8",
      "endTime": "2287.68",
      "body": "Super interesting."
    },
    {
      "speaker": "Robby",
      "startTime": "2287.68",
      "endTime": "2291.36",
      "body": "Right. We're we'll see where this goes in the next few years, I guess. But."
    },
    {
      "speaker": "Jack",
      "startTime": "2291.515",
      "endTime": "2303.035",
      "body": "And you're seeing a lot of I think you mentioned that you had, like, some fairly strong viewpoints on what you're seeing with AI and your consulting work, where it's useful, where it's not."
    },
    {
      "speaker": "Robby",
      "startTime": "2303.6",
      "endTime": "2327.2249",
      "body": "Well, I think like every two months, I become becoming more begrudgingly, like accepting that my type of business model may be doomed. And that's okay. Or at least the the way it historically has worked and trying to, like, be open minded enough and then be like, well, maybe things do need to shift and, like, things will be different. And how do we fit? And what does my business model what does it look like in two years from now?"
    },
    {
      "speaker": "Robby",
      "startTime": "2327.2249",
      "endTime": "2345.2952",
      "body": "And it's feels very murky right now. I But think a lot of software developers really like this. I don't feel like it's a unique thing. I'm just like, well, my business model is like, we come in and help people with existing legacy applications, and we're really good at taking over those projects and being good stewards to give them like a second wind, a second act on their projects. That's what we specialize in."
    },
    {
      "speaker": "Robby",
      "startTime": "2345.775",
      "endTime": "2384.7952",
      "body": "AI might make that a lot easier for a lot more people to do that, and which is great. I want because my big thing is, like, I'm very much a strong believer in not rewriting, but I'm starting to feel like maybe that argument because I always feel like it was a huge waste of the human effort that went into those projects to just be like, we're just gonna rewrite this thing because we also know that rewrites are often way underestimated. They're way more complicated, and you end managing multiple applications in parallel until you get to fully do a cutover, if that ever even happens, and then people quit and the project doesn't ever finish anyways. Yada yada yada. Like, all those things are the realities of software rewrites."
    },
    {
      "speaker": "Robby",
      "startTime": "2385.0",
      "endTime": "2407.465",
      "body": "But but maybe software rewrites might be easier now with the tooling, but I also still don't know if that's actually the best solution there. So so I I do think we can find our our niche in the market and and and stay in business there. But it definitely things are different now. And I don't and we're and I'm finding reasons to rewrite things myself more often than I used to."
    },
    {
      "speaker": "Jack",
      "startTime": "2407.465",
      "endTime": "2415.4",
      "body": "I mean, are you beginning to see the things that you might focus on that like would have a would be, like, more resistant to AI, I guess?"
    },
    {
      "speaker": "Robby",
      "startTime": "2416.2798",
      "endTime": "2447.25",
      "body": "I the thing that I am gravitating towards is, like, a lot of the types of software projects that we've really enjoyed working on over the years have typically been some really small focused internal operations tools for organizations, where they're not the business itself. Usually, if someone's gonna build a SaaS product or a software project, then they're gonna try to sell it and find a market for that, probably a lot of the people that you have on the podcast. The that's the product. Right? And so you're gonna have your own engineering team."
    },
    {
      "speaker": "Robby",
      "startTime": "2447.25",
      "endTime": "2517.8152",
      "body": "But like we end up taking over a lot of projects where you don't need two or three full time people working on it to keep it up and running and keep it stable, you just need a reliable partner to take care of it and tend to it and address bugs and performance issues or integration challenges like, hey, we have this thing that or ERP that's like integrating two different systems and it's not working all of a sudden in one weekend, and like then we can dig into those issues. So I think the more we think about just keep focusing on like what's those like smaller tool, like software projects. And I think there's been a trend for several years for organizations to stop building their own custom solutions and start using SASS because they didn't have to man maintain the thing yourself anymore, because it's expensive to maintain software. So I understand that. But a lot of companies started to optimize around a SaaS product that would give you like get you kind of in the ballpark of like say 80% of what you were looking for and you needed to kind of like work around, that could be like literally humans having to work around or export things from that system into spreadsheets and work out some stuff, then they can do another part of the process in another system, or try to figure out integrate with those SaaS products."
    },
    {
      "speaker": "Robby",
      "startTime": "2518.375",
      "endTime": "2567.385",
      "body": "And I think some companies lost some of their secret sauce as part of how they do things to optimize around something more generic like a SaaS product. I do think there's now an opportunity for for for companies in particular to be like, why don't we build tools where there's one user, it's us, you know, like, let's build it around what makes us unique as an organization. And we can learn patterns from all these different SaaSes, but we don't need to rely on the SaaSes because modeling like, oh, we want Kanban boards for managing our internal CRM tool. We don't need to pay HubSpot anymore for that. We can just we can maybe we could code that with Cloud Code over a couple weeks and and but just focus around the what makes us special and unique."
    },
    {
      "speaker": "Robby",
      "startTime": "2567.385",
      "endTime": "2589.165",
      "body": "I do think that's something that I think software consultancies, freelancers could be thinking about, like, what makes the company unique and focus it around that. And eventually this might add back to like, well, we don't need to have this main, you know, because if because that was how software used to be built. It was always optimized around that initial company. They didn't they weren't interested in like turning into a product that other people could use. Use."
    },
    {
      "speaker": "Robby",
      "startTime": "2589.165",
      "endTime": "2638.43",
      "body": "It was it was a lot of vendors like mine that would build that custom thing for multiple clients and see similarities, and like, what if we just started building a similar tool for a lot of companies like that? And so, which was I think a good business model, and like now I think it's kind of swinging back the pendulum, maybe going back to that kind of like, let's focus around the custom unique aspect of how this company operates, what makes them special, unique, focus it around them, and stop trying to just be like, well, how would a normal generic CRM work for a company like us? Like, no, let's just build the CRM that actually works the way we want it to, and we can tweak it, And not feel like we're trying to figure out to tweak this kind of generic CRM that is competing against a bunch of other generic CRMs in in the market. Maybe. I don't know."
    },
    {
      "speaker": "Robby",
      "startTime": "2638.43",
      "endTime": "2640.83",
      "body": "It's an idea that I've been kind of thinking a lot about lately."
    },
    {
      "speaker": "Jack",
      "startTime": "2641.545",
      "endTime": "2655.4648",
      "body": "Yeah. I think it's I think it's true. Like, we're doing that. We're using building a lot more of our own stuff and yeah. Feels like so maybe that's, yeah, gonna be like, everyone needs these and maintain these tools they've built and stuff."
    },
    {
      "speaker": "Jack",
      "startTime": "2655.7048",
      "endTime": "2655.9448",
      "body": "Maybe."
    },
    {
      "speaker": "Robby",
      "startTime": "2656.27",
      "endTime": "2713.2903",
      "body": "The only other thing I would say there is that because of tooling like AI, LMS, assisted coding is just like a pattern that a lot of companies have had and we've seen over the years is, software engineering teams will optimize their software architecture around their essentially their org chart, and how they perceive their org charts gonna continue to grow. And I if we've seen over the last few years, a lot of companies have contracted in size. And so the engineering teams are smaller and having to deal with the consequences of the decisions that teams were making when they thought the teams were going to be bigger one day. And I think software engineers this is a good time, I think, for everybody in an organization to think, great. We're building these tools and we're scaling in a certain way, but would it be actually ideal for the organization to one day have a smaller engineering footprint?"
    },
    {
      "speaker": "Robby",
      "startTime": "2713.4502",
      "endTime": "2744.2",
      "body": "What sort of decisions should we make for that future smaller team that hopefully I'm part of, but there's a good chance that I might not be. I might move on for my own professional reasons, or the company might need to scale back the size of their team. And maybe that's the most optimal situation for that organization. So I think if we're thinking about scaling things, we should also think about, like, how do we build and optimize our software so that it can be maintained by a smaller team in the future? And that might be the best case scenario for that particular organization to be stable and well maintained."
    },
    {
      "speaker": "Robby",
      "startTime": "2744.2",
      "endTime": "2744.36",
      "body": "So"
    },
    {
      "speaker": "Jack",
      "startTime": "2744.9202",
      "endTime": "2753.655",
      "body": "Yeah. Super cool. Robby, conscious of your time. Thank you so much. Where can people learn more about you and what you're working on?"
    },
    {
      "speaker": "Robby",
      "startTime": "2753.7349",
      "endTime": "2763.9749",
      "body": "Yeah. You can head up to robbyonrails.com, and there's, like, a there's a link. This is, like, elsewhere, and there's a bunch of links there. But otherwise, I'm pretty easy to find just Robby Russell on the Internet."
    },
    {
      "speaker": "Jack",
      "startTime": "2765.1453",
      "endTime": "2769.4653",
      "body": "Amazing. Well, thank you so much for joining, Robby, and thanks everyone for listening."
    },
    {
      "speaker": "Robby",
      "startTime": "2769.4653",
      "endTime": "2771.0652",
      "body": "Thanks for having me, Jack. It's been a pleasure."
    }
  ]
}
