Replacing Mint, Finishing Things & Vim

Show Notes

Chris and Colin wrap up 2023 chatting about personal finance, website annotations, vim and a growing need to "finish" something over starting yet another thing.

Replacing Mint
Building
  • Colin: Website Annotations
    • Annotate the web
    • Rap Genius
  • CJ: Lots of little API integrations: PostHog, Segment, Deputy, Twilio
Learning
  • Colin: Actually finishing projects before starting new ones
    • Startup weekend vs Finish weekend
    • Resolutions and goals
  • CJ: Couple new vim things -
    • The missing semester of CS from MIT
    • `:g` global command which lets you run ex aka command line commands on multiple lines at once it has two arguments, a pattern to match to find which lines to run on and the command to run. I’m excited to use this instead of macros for some common editing cases.
  • Tried out using Descript’s built in video recorder / editor for a video this week and it worked out pretty well except I couldn’t figure out the camera preview thing
  • Now Colin wants to learn vim
  • Happy 2024!

Full Transcripts

Colin: Welcome to build and learn. My name is Colin.

CJ: And I'm CJ. And we're catching up again today about what we're working on, what we're learning, what we're building. We'll have a few little bits and pieces about Vim and also money and what we're using to manage our money because mint is going away. So if you haven't already migrated, I want to start thinking about that.

Colin: That's right. Yeah. We, we talked about that on a show, I think, right? I didn't hallucinate that.

CJ: Yeah, I think so. And by the time this goes out, it'll already be sunset. So yeah, hopefully you already have ducks in a row.

Colin: to Mint. It was a long run. It's, it's the holiday time. It'll be like end of January when this comes out, but it's kind of like that year end wrap up variety show for us. It's really quiet in the office today, both digitally and in person. There's like three people in the co working space. PTO for Christmas things. But we're here,

CJ: Does your team have like a support rotation where you have to be on, like some people are on shift next week, or is it mostly just like everything is shut down until the new year? Mm

Colin: We have like an emergency on point, I think, but this is, I think, probably one of the bigger advantages of going into DevRel is that I no longer have scheduled rotations.

CJ: hmm. Mm

Colin: There are, there are not that many emergencies with the docs, which I, which I love.

CJ: totally. Yeah, we today are starting our first code freeze. So it's like, okay, hey, the holidays are happening, people are going to be in and out. And let's just be careful and prudent and not merge to production for the next week or so. So we are all kind of continuing to work on stuff just in, you know, draft. PRs and draft branches on GitHub. And then when January rolls around, we'll sit down and review everything. And once we have a nice fresh cup of coffee and a fresh face for 2024, we'll go through and make sure that code is crisp and clean and ready to rock. And yeah, we'll merge it, but I think it's going to be a good stress mitigation tactic for the holidays to not have stuff going out. So.

Colin: that sounds like a 2024 problem.

CJ: exactly. Yeah, yeah, yeah. So I was looking around the, I use mint for a couple of things. I'm curious what you use it for to for me, I have spreadsheets with the rental properties and just general income from, we have like so many weird streams of income from YouTube and different projects throughout the years. And so I try to use a spreadsheet for like a high level, you know, Tracker of like profit and loss and expenses so that when it comes time for taxes, I don't have to like go and track down every single little transaction. But throughout the year, the way that I do that is I look at mint and I search for transit transactions with, statement descriptors that I remember and memorize like, Oh yeah, the statement descriptor for the power company for the Kings beach house is this. And then I can just like quickly find all the different power bills and how much was spent on those and then add that into the spreadsheet. So I. Am bummed that will that will no longer be a thing So we'll have to like figure out where those transactions are actually happening Whether that's on a credit card statement or you know bank statements or whatever and then the other thing I use it for is just general like account health like you know, snapshot bird's eye view of Like okay are all of the checking accounts? You know, above zero

Colin: Yeah.

CJ: like is there any movement that needs to happen to make sure that things can float or whatever? So like yeah, those are kind of the two use cases that I have. I don't so much use it for managing investments other than just like looking at them, but yeah. What are, what are some stuff that you were using it for in the past?

Colin: Yeah. I mean, Mint is my more passive one. I haven't really been a big user cause I never really liked it very much. Like I liked the monthly summaries and things, but the amount of ads and pushing of credit cards and stuff I just didn't like and certain accounts would fall off and disconnect and just, it was never a really good source of truth. But it's, it's more of a internet nostalgia for me. Like Mint. Just the story of it. And we talked about it in a past episode. It's just one of those things that I just enjoyed seeing it, using it. I'm now using co pilot money. And I really do think that these tools are like all the different to do list apps out there, like the best one is the one that you just use, you can. find pros and cons in all of them. But if you can build the habit to use one period, it's the best one for you. Right. And you might have some needs for like a spouse or something for like shared accounts and stuff. But for me, I really liked Copilot cause it's got a Mac app and an iPhone app. It feels like it is a native app, I think. So. But I can still see it on my phone and things like that. And I am still trying to figure out how best to label things, but I now have a podcast expense label. I have arena collective expense label because sometimes I accidentally pay for things on my card, or if I need to float something, I'll, you know, if I'm at the store and buying something that. I'll pay for it with my card and try to expense it later. But like the podcast, we don't make money doing this. So it's just more of, I would like to know how much money I'm spending on this show. And a lot of things that we spend on the show, it's because it just makes our lives easier. It makes it easier to edit, easier to record remotely, all of that stuff. But the other tag that I have been paying attention to is I have a hosting tag and I have a domains tag. Because those are two things that. are very invisible to me usually. Like I think I have like a card on an Amazon thing somewhere that gets billed like a dollar a

CJ: Mm hmm.

Colin: or something. But I want to know if that's like suddenly a thousand dollars, those kinds of things. So so I have those tagged and I'm still trying to figure out like, what do those look like? Cause in Copilot, you can have it like a, I don't know if it's infinite. But you can have tags under tags under tags, and so you can kind of roll up a certain type of expense and things like that.

CJ: Lots of like, segmentation and, yeah taxonomy that you can build out. Is Copilot money free or paid?

Colin: It is paid. There is a trial and we can probably throw out a link too. I think I have a link that like gets me free months and gets you free months if you're listening and you want to try it.

CJ: Yeah, okay.

Colin: But I've liked it so far. I, what I like is that it also has investments and debt and things like that in there too. So you get a true bird's eye view. I've used things like personal capital and some of the other tools for those in the past. But I think they, like, I feel pretty good that Copilot's not sending, selling my data to anybody. Whereas some of these other ones, you know, I think they all get into that business at some point. But do you use YNAB? Do I remember that from

CJ: So, yes, we used YNAB really actively for the first half of this year ish, and then we just kind of like fell off. It's a lot to keep up with. And for that one, you like really have to stay on top of it. I want to say it uses like a zero. Based like a zero balance approach or something like that, where you basically like allocate every single dollar before the month even starts. And then you kind of go into it, which for us works really, really well. It's kind of like. You know, a calorie tracker in a way where you're like, okay, I have 2000 calories to spend today. How, how do I want to spend them instead of like working backwards? But there are so many, I, I like Googled around and I was looking at Reddit and some Facebook posts about alternatives to mint and where people are going. And someone on Reddit created a Google sheet that literally has like a hundred. Different options for like, is it copilot money or is it monarch or personal capital or credit karma or like all of these different things. And so I, I feel like pretty overwhelmed with the number of options for replacing this and the ones that people seem to promote the most are also paid. So I think it's going to end up being one of those things where like, okay, obviously mint was too good to be true. It couldn't sustain without a paid model. And so like maybe the paid. Paid option is the way to go. Especially if it's going to be something that really is useful.

Colin: This is kind of like the social network problem, right? Though, is that if you aren't paying for it, you are somehow paying for it and. I don't think, like, Twitter becoming X and having a paid option was not a paid social network. It was a way to try to pay down Elon's debt, right? It gives you half ads or something like that. It's like, literally, like, I would pay to have an ad free social network where I am not the customer. The product being sold to advertisers. Same with Monarch, Copilot, some of these apps. It's just a more sustainable thing that if this is valuable to you, you're going to, you're going to pay for it. YNAB wasn't free either, was it?

CJ: it's not, no. Yeah. Yeah. I kind of see YNAB is like a different use case too, for us. Like it's, I feel like YNAB is purely for the budgeting side and it's really good at that In our experience the mint budgeting we tried it for a while, but it didn't it didn't stick and like there's a lot of I don't know. There were like bugs in the categorization process where it would like auto categorize incorrectly and things so we didn't end up going that route too much. But yeah, YNAB is paid. I think I I want to try out copilot money I started signing up for monarch and I'm also like, I really want it to work with all of our accounts. And we have so many weird, like little things, like, is it going to connect to the equity platform that where my Stripe stock is, or is it going to like connect to this weird, like mortgage company that we have, like a mortgage? On this house on that didn't even connect to mint. So like, who knows like what the chances are. And then if it doesn't connect, then how, what does it look like for like the manual, like to manually manage those assets and how they change over time. So,

Colin: Yeah. And I would say for some of those, if they don't affect your budgeting, like if you plan on using YNAB for budgeting, then it's okay to have those other things somewhere else. For me, it's kind of nice to see the net worth calculator, but a lot of it's like based on stocks, which that thing goes up and down. And you know, it's almost nicer to just not look at that stuff and just be like, what is net worth in cash? And maybe your debts or something like that so that you have priorities of getting credit cards loans, things like that off. Whereas your stocks, you know, are better for having those in some sort of like market account or something that you can go look at. Same for, you know, equity, things like that, that you might have. We are not certified financial professionals, so go talk to your, go talk to your person if you need to. If you don't have someone, I, I mean that's, that's also an interesting thing, like I've, I've had the idea of starting one of these many finance apps and I'm glad that I haven't because it's, it's just kind of hard and I don't think that people necessarily want to pay for it. Which is a common theme with most of the ideas of things that I want to build. Anyways, it's like people want it, but they don't want to pay for it. But again, I think it helps to not be the product and being sold to credit card companies too.

CJ: Yeah, yeah, totally. I yeah, we also started with like, we started the migration over to Credit Karma just because it was the like path of least resistance, but we'll see how long that lasts. And again, yeah, they're just going to sell all of our stuff to credit card companies to try to get us whatever deals.

Colin: I mean, and they're owned by Intuit, and Intuit's, at least in Nevada, they're exploring a way for, I think it's the state is offering a way to file your taxes instead of having to go through Intuit and stuff like that which would be nice if that was a federal thing, but I think it's because we don't have state income tax. Actually, yeah, I don't know. Ours is just simpler, so we'll see how that goes. I think most of that stuff goes out the window for me. Because I have a K 1 through an LLC and it's like my taxes are never just like do your W 2 and you're and be done with it. But we'll see how that goes. So I think the big thing here is just like paying attention to the money we are spending on this show. I think we were talking about, you know, you you pay for Notion I'm paying for Zencaster like at some point all these little things add up to death by a thousand paper cuts. So

CJ: Yeah, if you're listening, and you love the show, and you want it to continue, maybe consider sponsoring. I don't know, like, we gotta figure out how to, figure out how to set up some sponsorships or something just to get It would also be cool to have the editing paid for, too, right? Like, if we could I think the, like, rough rule of thumb is like 100 an episode for editing, which isn't You know, astronomical plus hosting plus the tools or whatever. Yeah, it doesn't seem impossible to get that covered by sponsors. So,

Colin: yeah, I think the like developer tools companies would be really cool for us, like a century, a honey badger, something like that. So something we'll have to explore in the new 2024.

CJ: Yeah, that might be a good, good good goal in 2024.

Colin: Yeah,

CJ: So, I saw your tweet about annotating websites, like and then I dropped a comment about Rap Genius. I think it's not even called Rap Genius anymore. This is like 20,

Colin: just genius.

CJ: Just Genius now? Okay.

Colin: Yeah, they at some point, they made it so you could annotate the whole web. But then I went to genius. com. And it was not what I was expecting. It was like still a rap website, which is fine. But I wouldn't, I couldn't figure out how to use it, what to do with it. didn't even see the old Rap Genius on there. Like, I remember using Rap Genius and being able to hover over, like, lyrics and stuff, and it was cool.

CJ: Yeah. So for those following along at home, if you didn't go to the website, rap genius, when, you know, in the 20 2010s, there was this, this this website where you could go and see lyrics from songs, rap songs, and then you could hover over parts of the lyrics and. You could see user generated comments about those lyrics, like that specific word or whatever. And so you could also highlight and select a part of the lyric and then add your own comment in the same way that you would expect in like Google docs or in notion or whatever, you can kind of like highlight sections and drop in comments. But it let you do it for, yeah, it was just like for song lyrics. The reason why I remember it so well is that a lot of App Academy students would make rap genius clones as their final project. Yeah. This was like a very 2012 thing to, yeah. I mean, and it's, it's a, it's an amazing idea. And also I wanted it forever for the Stripe Docs because I, I, there's like so many cool use cases, right? You could imagine, oh, I. I am planning to do a Stripe integration and I'm working with my team and I want to annotate the docs and say like this part is relevant for us. This part is not. Hey, let's like investigate this parameter or something. And then you could have just a stream of comments that are on the right. Maybe that's just for your team. Or you could also have like a public version, which, yeah, exactly. Yeah. So, so anyone could come in and add their own sort of editorial comments about something. And and it would be related to the text in line where that gets sorta gnarly. I don't actually know what use case you're going for. Like what, yeah. Like what is kind of like

Colin: very similar to Docs. Like, so we have our existing Docs, and I wanted to annotate them and, like, even tag. each page as like a certain type. So I could start, I was doing a lot of information architecture stuff, basically, but I didn't want to do it in Figma because I couldn't just like move things around. And, you know, I wanted to use like notion like comments or like Figma style comments where you can have them in line and have a conversation with your team. And I think this is, this feels like what you just mentioned feels like another business idea that is hard to make money at, unless it's. targeted at teams, right? Where that team collaboration across the web is amazing. But if it was like a free consumer use thing, like no one probably really wants to pay for it unless they're like a superpower user. Because they're having those like Kindle, like highlights and Kindle notes and stuff is one of the I actually enjoy that when I'm reading. I have a feeling we would get feature requests in yet another place that I do not want feature requests. Hey, this doesn't seem like it's working. I'd say, okay, can you not report bugs in the docs in the annotations? But maybe that would be a cool way to do it. I don't know.

CJ: Yeah, or people will ask questions. Like it's not a place for support necessarily, but people, I could see people being like, how does this like, or, you know, even worse, like where's my money kind of things like so. Yeah, I don't know, scoping it to a team makes a lot of sense. There's this tool called frame. io that we used at Stripe and this is for video editing where we would like edit a video, put it up in frame and Brad would like send me a link and say, Hey, can you review this cut? And then as you're going through at any. Yeah, at any point in the video, you can leave a comment that gets tagged like at that time marker. And then you can have a stream of comments on the side and you can even like highlight a region of the video or like put arrows kind of like you're doing like a sketch you know, making sketch comments or whatever about a screenshot. That was killer. It was so useful for video, like collaborative video editing. So it's, it's for sure something that's valuable.

Colin: Skitch is a name I haven't heard in a minute either.

CJ: Oh my gosh, that's a tool. I don't know. Yeah. I don't know if a lot of people use that. It's just something that it has become like a default install. When I like jump onto a machine, it's like an, an old Evernote tool for putting air, like pointing arrows at things. And

Colin: Evernote, like this is all the old web.

CJ: I'm showing, I'm

Colin: We've got

CJ: My gray beard right now.

Colin: yeah, Mintz, Evernote, Skitch, and Rap Genius. Those are your go to apps from 2012.

CJ: Yeah.

Colin: mean, we don't, we don't pay for the Descript version that lets us edit episodes together, but you can also do collaborative editing and comments in Descript, too. So, I think this collaborative thing is huge. It would be almost cool to take those annotations and have integrations to GitHub and others and say, like, Turn this annotation into a GitHub issue. Turn this into a linear ticket or a JIRA ticket or whatever. And it almost makes it more transparent and you know, you can make this all get backed or something. It'd be kind of interesting. So there's, there's some ideas for people.

CJ: Yeah. So yeah, that's, is that something that you're building or you're just like had the idea and you're like, I wonder if this exists.

Colin: Yeah, I was just like frustrated because I'm in, I'm actually doing the IA for navigation in Notion, but like now that I'm saying it out loud, I probably should do it in some sort of get backed thing because I'm just doing like lots of versions of it. In terms of like sorting it by topic and then resorting it by getting started and tutorials and guides and explainers, kind of like we talked about in the past. So I'm doing like a bunch of different perspectives and trying to show it to people and say, if you were trying to do this, where would you think you would go? And we're going to do that even with the existing docs, because I guarantee right now, if I say, how do you build a bot? You will not know where to go, and that's a problem. So, we're trying to fix that kind of stuff, and just having annotations, I think would be really helpful from like a writing and doc perspective.

CJ: Got it. Yeah, sorry. I missed that the first time. The, one of the things that we did at Stripe was we had these meetings called docs review and when a product was about to launch, they would bring their new product documentation to docs review and it would be developer advocate, developer support engineer. A salesperson a docs writer, a docs editor, and like a lot of the conversation often ended up being around IA, like where in the navigation should this live and how should, like, how are you going to find this thing? And how does it flow from the previous thing to this thing, to the next thing? And yeah, so it's a, it's a really hard problem. I don't know how to fix it, but yeah, I think annotations would be killer for that.

Colin: Definitely not another thing I want to build, because that's a topic that we'll talk about in a second. It's something that I've learned about myself, but what else are you working on right now?

CJ: It's been a lot of little API integration work this week where we have a big Twilio. We're doing a big Twilio integration. And I was like exploring, what does it look like to integrate directly with the messages API to send messages versus the conversations API, which is kind of like a higher level thing. And, they're kind of really two different use cases. So went down that path and got messaging working with photos and images and whatever this week, which was kind of sweet. And then post hog is a tool that we use for product analytics. It's kind of you know, like for funnel tracking and things. And so we added a little integration there that will fetch some marketing traffic data. so Put up a video about that. And then yeah, segment. And then we use deputy for like shift management and like crew scheduling and planning. And so we have a couple of hooks into their API where we are updating internal project information and building relationships and associations based on some, some web hooks there. So tons of fun stuff. This is the kind of work that I love with rails, just like building out the data model. Building some API integrations, making sure that everything is going to sync well and be robust and like not fall over and you know, automate away a lot of manual things where people are, you know, they've got two tabs open or they've got two windows in their browser open and they're jumping between the two copying and pasting things. So,

Colin: Nice.

CJ: yeah, it's been fun.

Colin: Are most of these like schedule job type things, or are they like ingest webhooks and things like that?

CJ: A little bit of both. We're using the same webhook pattern that you talked about at RailsConf. So yeah, we get the inbound webhooks for, all of these or different. Yeah, there's like different triggers, but mostly it's webhooks. And then we'll sometimes we'll go like turn around and refetch some data and then update that in the, in the database. The one that I'm working through right now is so sidekick. Has this concept of a scheduled set. So when you schedule jobs and sidekick to be performed later, like you can say, Oh, do this job in five minutes from now. So start the job in five minutes from now. And that has the scheduled set. And so I'm building like a module. Cause I didn't, I didn't find it anywhere. That will debounce those requests because we might get like five or six different webhook post requests that are all related to like the shifts. For a certain project. And I want to just like go and get all the shifts for the project and update the data at once from the from the API. But I don't want to do that every single time we get hit with a webhook. So I want to like schedule the job and then look at sidekicks scheduled set and see Did I already schedule this same exact job? And if I did, then like cancel one of them so that we only end up running it once like kind of the same way that you would debounce if you were doing auto, like building your own autocomplete in JavaScript. So like you, someone, as someone is typing, like every, every time they type it cancels the fetch request. Unless they haven't typed for like 300 milliseconds and then it'll like actually fire the request to go do the thing. sO something similar to that, but instead of keys being pressed, it's going to be webhooks coming in and then we'll eventually go out and fire the job, the underlying job. So,

Colin: Nice.

CJ: yeah, it's pretty, pretty fun stuff. So, Hmm.

Colin: That reminds me of, there's, I went down this rabbit hole when I was at Orbit there's this new language called Ballerina, which is an integration specific language, like for building integrations. And what's cool about it is that if you go to ballerina. io, and you write the code, the code will actually generate a sequence diagram and vice versa. So like you can then see the, where the requests are and the gets and what happens with the data and stuff like that. But what's really cool, and I'm going to butcher this a little bit, maybe we'll talk about this in a future episode, is that it has the ability to keep track of requests over time. So you almost have like a lookup. like table so that if you're like ticket master and you're getting a whole bunch of requests within a certain amount of time, you can always check to see how many of the same requests have been made recently. Or like in this case, it's the same job, the same deputy schedule, whatever it might be. And so you're. Not necessarily having to keep track of that yourself and go query and see what happened, but like It allows you to query through time is the way it's like a little time machine Of being able to be like, okay, we're going to keep track of this as we go And then we can at any point be like, okay, we're going to use it as a rate limiter for example, or whatever You know ddos protection or in your case wait till we get all the things that we expect That we might get something for the next five or ten minutes Which is kind of promise like too, where it's like we expect something, and then once it's done, then we resolve it. But, yeah, I really like this. This was like a programming, it was like an integration company that built like an IDE for integrations, but then they're like, you know what, people don't want to use our proprietary software, let's give them a language. You end up with like a single executable type thing that can then two integrations. And I think it's probably too niche for most people. I don't think most companies are gonna be like, yeah, let's use a brand new language that I've never heard of before. But doing things, especially webhooks that can come in out of order and all those issues that come up it's pretty interesting.

CJ: Yeah, this looks like a really interesting language. It's almost like JavaScripty, but it's, or maybe TypeScripty but it's definitely also maybe Swift flavored too. I don't know. There's like definitely some interesting, some interesting stuff in here. It looks cool.

Colin: yeah, I'll have to play around with it and report back, but I, I secretly want to do like a discord bot in this just to do it and then have the, the little language diagram or the, the process flow diagram that gets automatically generated and as you move it, you can see all that stuff.

CJ: totally. Yeah, that'd be cool. So you you've got something on here, learning something about yourself. What have you learned about yourself this week, Colin?

Colin: Yeah, I'm not learning any new things right now because even in this episode, I already now have like so many other things I want to build now. Including annotations of the web. So, and this isn't to make light of like real, you know in things that people deal with. But I, I, I would not be surprised if this is like undiagnosed ADHD. In that I do start things, I'm very easy to, to want to start new things and then not quite finish them and before I move on to the next thing, and, and this applies to offline things too, so I've got, you know, half started wood projects and, you know, crafts and leather projects and all sorts of stuff, so There was this really big popular thing. And like, again, 10 years ago it was really popular called startup weekend. And I think some people including like, Indie Hall is a coworking space out of Philly. They used to host finish weekends, which was just like pick a project and like finish it. Or maybe you put it to rest, like whatever that looks like. Maybe it doesn't need to be finished, but at least now you don't have this open ended thread running in your brain forever. And I dunno, right now with the holidays and things being a little bit more chill, I'm just like more aware that I have a lot of like, Running processes in my brain, and we need to like go in and just be like, okay, that either doesn't serve me anymore, it can go away. Or I really want to do that still. So let's write it down and get it out of my head.

CJ: hmm.

Colin: but I definitely, you know, maybe this is a screen thing. Maybe it's a chronically online thing. I'm not sure, but I can, it's, it's taking its toll and it's time to, time to wind some things down before starting some new things.

CJ: Was there, was there a particular like day or something that you started recognizing this? Was there something like a breaking point where you're like, oh, okay, like shit, like I have too much going on or was it just kind of like a gradual realization or yeah.

Colin: No it's been pretty gradual. Like, I mean, even this morning I walked to work to try to just like, you know, wake up early, didn't even wake up an alarm, which was kind of nice. And then I like go to like go on my walk and I have like. 10 unfinished audible books, right? And so it's like, just like everywhere in my life, there's just this, like a bunch of things. There's not just one book to listen to an audible. There's 10. And this is obviously like, you know, they don't have to be finished by any date. They're just for fun. Things like that. So it's just more of like, I would like to finish some of these things. And before I either buy more books, start new projects, It's just a good time for reflection. So I'm sure a lot of people out there probably resonate with this too. It's the same thing with buying more domains or, you know, getting excited about new annotation projects or building a competitor to mint. So

CJ: Yeah. I, I, Totally, totally feel you like 1000%. And I think it definitely contributes to burnout too. Like when I, I mean Stripe and at my VR, I remember long running projects and long running to dues or responsibilities that just never had a clear. You know, point where there was a bow put on them and they kind of just were constantly requiring attention and energy and effort to keep them, keep the ball in the air basically. And there was no point where it was like, okay, now I'm either passing the ball to somebody else or I'm letting the ball go on the ground and that's okay. And like, we're going to move on from that. And yeah, even now, like as we wrap up today and head into code freeze week, there are two tickets that have been on my, like. In progress list that I've been working on for months and months. And I'm just like, I'm at the, I finished the first 90 percent and I just have the last 90 percent to go, you know, like

Colin: Which is always the case, right? The last

CJ: yeah, totally. Yeah. It's yeah. I, so I 100 percent feel ya and, yeah, the, another thing too, that I found was that I was making a lot of goals most years. So around this time I would go through and be like, all right, next year I'm going to read 35 books and I'm going to, you know, lose all this weight and I'm going to do this. I'm going to do that. And then I kept those so front and center that I kind of like lost sight of. Some relationships that were really important to me and maybe sleep or, you know, like there's other things that are actually important, but you might not put them on your goal list. And so like you start to, or I, I started to like, yeah. Have have a rough time those years. And so I think it was maybe last year. My goal was have no goals or I don't know if it was the year before, but there was a year where I was like, I'm going to explicitly not have any goals this year. And there was also like a year where I said. Instead of tracking, like, okay, I finished this book. I'm going to read as much as I want or listen to as much as I want of the book. And if I don't finish it, that means that it wasn't good enough for it to like, keep my attention past that point. I'm still going to market as like, I read it because like, I got to a point where like, I got out of it, whatever I needed to get out of it and I'm, you know, moving on and I think that should be okay. Right. Like just picking up a book and getting what you need out of it at that moment. And then yeah, I don't know.

Colin: Yeah. Well, and since this comes out in January, I think I'll, I'll make that statement for myself, which is no, no new goals or rather like no new projects in 2024, like. I think it's going to be a season of winding down some things. And we talked about it in a few episodes ago about the coworking space and that's still going, still very involved in that. We have some, some good glimmers of hope there that it's not as draining as it was a few episodes ago, which is probably a few months ago once this comes out, but So, I think, yeah, not being afraid of quitting things, even if it's a book, and still counting it, is like, yeah, maybe you're not going to recommend that book to anyone else, but you gave it a shot.

CJ: Yep. Yep. Totally.

Colin: yeah, so more reflective than anything, but realizing I don't need to go learn a bunch of new things just because we have some time off, either.

CJ: Absolutely. So, the other day, I was scrolling through Reddit, and this post popped up that's, was about the missing semester of computer science from MIT. I don't know if you've seen this or heard about this, this was like, brand new to me. It's like a bunch of topics that you don't end up talking about in normal classes in at MIT in your CS program, I guess. And one of them, the third edition is about editors and the instructors teach, they all like use Vim. And so they teach Vim. And I was like, Oh, this is super interesting. Let me watch the, watch the talk and see kind of like what they get into. And there were a couple of features and like tools, like high level core fundamental tools that I had just never used or never like thought about. And so even though, yeah, I guess I've been using them for. Almost 20 years now. And I like look at it and I'm like, holy moly, like there's still so much to learn. So like this, this week I, yeah, I like have been practicing using this this command called global, like the global command. So colon G in your editor. So yeah, like it is. It's just like mind blowing to me how you can use a tool for a really long time and, you know, you think you've, you think you've got it and there's just so much, so much more depth to it. I feel like there's, you know this is like unlocking an entire new mode of editing that like, I didn't even know about or like think about. And so yeah, really, really excited to play around with that. And, it also like re sparked or rekindled my interest in playing with VimGolf. So I gotta get in there and mess around. I think that like playing a few holes or whatever of VimGolf, definitely there's like a few things you pick up every time you play. And so what I love about VimGolf is that when you submit your like solution or whatever your, your putt, you can also see. People like a submission, that's just like one keystroke better than yours. And so you can like look through the keystroke and see like, what did they do that was different for me? And sometimes there's like little nuggets in there and you're like, what the heck? Like, what does that character do? Or like, what does this, you know, pattern do or whatever? And so

Colin: vim annotations.

CJ: yeah, yeah, exactly. It's I don't know. It's, it's an amazing editor. I love it obviously. And I, yeah, so that's what I'm learning this week. Yeah.

Colin: I'm going to hold off because I know that it's on my list of things to learn one day, but I think I've spent two minutes in Vim or I'll go in there just to do like my rebase interactively. And that's it. I'm very like, I can turn the W into an F

CJ: Yeah. Yeah. It's yeah.

Colin: and squash things.

CJ: I think VSCode is the winner these days. Like for sure VSCode has become the dominant editor and I expect that everyone will use VSCode. I think people, some people will use Vim mode in there, but it seems like most people are using VSCode these days and yeah, so whatever you're most productive in, go for it. So

Colin: exactly. Finish those projects. Don't, don't go pick up Dvorak. Don't go pick up Vim unless you're done with your projects.

CJ: Yes. Yes. Yes.

Colin: to pick them both up at the same time and you won't get anything done.

CJ: Yeah. But going back to this, like the missing semester, there's some really interesting stuff in here. They've got like they'll teach Git and some command line stuff and metaprogramming. So definitely a handful of topics that would be useful for most engineers. So we'll

Colin: I love that they just, they just took like a whole bunch of stuff and shoved it into Potpourri. Markdown APIs. Keyboard remapping, GitHub. Amazing.

CJ: Oh yeah.

Colin: I see. So these are, this is a whole class or at least like set up like a class. No, it is. It's actually taught at MIT.

CJ: Yes.

Colin: It's co taught by three people. And then there's like a bunch of sessions. Amazing. I'm going to have to take this. I've, I've been going back and forth. I guess this is, this is the same thing. It's like on whether or not it would be helpful to go back to school for CS. And I don't, I think, I don't think it makes sense. I think with tools like this, advent of code, all sorts of stuff that you can learn so much

CJ: Mm hmm.

Colin: being online. So.

CJ: Yeah. I also sometimes dream about going back to school and studying like mechanical engineering or electrical engineering, or, you know, like some like other thing where I can play with Legos all day. But yeah, I think for computer science in particular like there's so much content online and so many videos and, you know, open courseware and whatever. And that's probably true for the topics that I'm interested in too. I just

Colin: And you can play with Legos anyway, CJ.

CJ: Yes, I know. Yeah. Any day, any day.

Colin: I, I do miss the the Thanos Lego gauntlet behind you that you had in your previous setup.

CJ: We snapped a finger off like

Colin: Oh no, the snap.

CJ: Yeah, this was one at a RubyConf it was a retool prize. So shout out the retool DevRel team for hooking it up.

Colin: Noted. Yeah, I need to see how we get like a Discord Lego set or something. That'd be cool.

CJ: that would be awesome.

Colin: Yeah. I think we're getting to the end of time here, but we'll definitely put some links to that course. And all the different, if you want to try out co pilot money, I'll put my link in there and we can help each other out.

CJ: Yeah, drop the affiliate links for sure.

Colin: yeah,

CJ: Cool.

Colin: I think that'll do it.

CJ: Yeah. As always, you can head over to buildandlearn. dev and that's where you'll find all these links. So that's it for this episode. See you next time.

Colin: See ya.

CJ: Bye friends. All audio, artwork, episode descriptions and notes are property of CJ Avilla, Colin Loretz, for Build and Learn, and published with permission by Transistor, Inc. Broadcast by