597: How Many VS Code Plugins, Poor Charlie’s Almanack, and Where to Start in 2024?
We're closing in on episode 600 and need your help to celebrate! Listen in to learn how to contribute to the episode. We're also talking GitHub desktop apps and code editors, how many VS Code plugins are needed, reading long form like Poor Charlie's Almanack, InVision shutting down, and answering our first Q of the year: how would you approach learning web development in 2024?
Guests
Chris Coyier and Dave Rupert
Time Jump Links
- 00:19 Another trip around the sun
- 01:35 12 years back and 12 years forward
- 07:27 GitHub desktop and commit hooks
- 16:24 Sponsor: Jam.dev
- 18:04 Zed as a code editor
- 30:09 How many plugins does your VS Code install have?
- 33:13 Poor Charlie’s Almanack design
- 38:46 Reading long form is cool again
- 40:22 Podcasts of the year
- 42:52 InVision shutting down
- 47:24 What's your recommendation for where to start and how to approach it for learning web development in 2024?
- 55:31 Episode 600 question for you!
Links
- The most powerful Git client for Mac and Windows | Tower Git Client
- GitHub Desktop | Simple collaboration from your desktop
- Zed - Code at the speed of thought
- Tree-sitter|Introduction
- Panic - Nova
- JetBrains: Essential tools for software developers and teams
- Poor Charlie’s Almanack: The Essential Wit and Wisdom of Charles T. Munger
- Stripe Press — Ideas for progress
- Engineering Management for the Rest of Us
- Stripe Press — Ideas for progress
- Stripe Press — The Dream Machine
- Stripe Press — The Making of Prince of Persia
- The Very Best Podcasts of 2023
- The 25 Best Podcasts of 2023 - The Atlantic
- ‘Search Engine’ Podcast Brings Back the Joy of ‘Reply All’
- UX design company InVision is shutting down this year
- Website design software | Adobe Dreamweaver
- Learn JavaScript, React, and TypeScript to Node.js, Fullstack, and Backend | Frontend Masters
- Learn from Emma Bostian's courses | Frontend Masters
- Trending - CodePen
Episode Sponsors 🧡
Jam.dev (16:24)
You’ve probably heard of Jam.dev, it’s used by more than 60,000 people. It’s a free tool that saves developers a ton of frustration. It forces your teammates to make the perfect bug report. They can’t do it wrong because it automatically includes a video of the bug, console logs, network requests, everything you need to debug. It automatically lists out the steps to reproduce. It’s so easy to get your teammates to use. It’s just a Chrome extension. When they see a bug, they click a button and right away it creates a ticket. So it saves time for them.
Transcript
[Banjo music]
MANTRA: Just Build Websites!
Dave Rupert: Hey there, Shop-o-maniacs. You're listening to another -- one of the last 500 episodes of the ShopTalk Show.
Chris Coyier: Hmm...
Dave: I'm Dave--in the shed--Rupert. With me is Chris--in the booth--Coyier. How are you doing, Chris? You're looking mighty 2024 right now.
Chris: Oh, thanks.
Dave: You're looking good. Yeah.
Chris: Yeah, I feel so much different. Yeah, when the year flips over, man, my brain does a 180. I'm a different man.
Dave: Yeah. Hold on here. I've got somebody coming in.
[Mouthing ruckus noises]
Dave: [Speaking with a different voice] I'm Neal deGrasse Tyson, total fucking buzzkill.
Chris: [Laughter]
Dave: [Continuing to speak in a different voice] Dave, you just went around the sun, and it fucking mattered. It's just - whatever - cosmic radiation. Blah-blah-blah.
Dave: [Speaking in his own voice] Oh, thanks, Neal. Get out of here!
[Laughter]
Dave: Man, that was probably my best....
[Laughter]
Chris: Woo! Yeah, all right. You're right, though. It's a new year, and we're about to hit episode 600. So, if you're into milestones, thanks for being here with us during this milestone.
Dave had some ideas because it's nice to do something a little bit special on a big round number like 600. It's almost expected of you fine people out there.
Dave: Yeah.
Chris: So, here's one of Dave's ideas I'll read to you: "Ask to imagine the Web in 12 years." I don't know where he got 12. It's a good number, though.
Dave: We've been on the air for 12 years.
Chris: Oh, I see. Double it. Double it.
Dave: So, 12 times... double it. Double it.
Chris: Yeah.
Dave: We started 12 years ago.
Chris: Yeah.
Dave: Sass was just coming out. [Laughter] It was still a problem to get Sass on your computer. RWD was kind of hidden. Yeah, a pretty wild time.
Chris: Yeah. I mean the number one question was, "How do you sync a WordPress database to your local machine?" Stuff like that, yeah. Interesting.
Now that we're 12 years in, the Web feels a lot different... or does it? You know?
People still use Sass. WordPress is still the most popular CMS out there. That's interesting to think about because you're like, "Twelve years!" Did you see what happened in AI last year?
The Web changes tremendously. The bandwidth speed is so much faster. The tooling is so much more advanced. We're typed everywhere you look.
There is a lot of significant change. And yet, it's not that different. HTML is barely different. So, there is a world where you imagine 12 years, and you're like, "I don't know. It's a little bit like this?" [Laughter]
Dave: Yeah. We're still getting lists of items from a database and spitting it out on a page.
Chris: Right.
Dave: Then you click those items, and you go into a detail view of the page. Then maybe there's a buy button that takes you into a checkout flow of some kind. It's all the same thing, right? The same shtick.
Chris: I don't think you're wrong. I think that's legit. And so, I wonder if it's not--
If you're going to imagine this, one way is to think about Web technology itself. Think where we're headed. Take it to extremes.
Then another one is what is coding like. That could change.
But probably more likely is what happens to devices because if it's not just a screen that you touch with your finger, if that changes, then the Web tech behind it will change, too.
Dave: Yeah, those have been the biggest shifts (right), like the biggest input modalities. We tap on our screens now. There's not really hover. Small screens changed kind of a lot of stuff... sort of. We still made our websites a lot larger.
The average website [laughter] in 2036 will be about 5 megabytes, if I'm following that little chart correctly on HTTP Archives.
Chris: Oh, yeah. Then do you think that chart will be right?
Dave: Yeah, is that chart correct? I don't know.
Chris: I don't know either. It doesn't seem like data, the size of data, will change that much. A grocery list 12 years from now will be the same amount of text bytes as it was then. So then what would get bigger?
What has gotten bigger in the past is JPEGs and stuff. You know?
Dave: Yeah.
Chris: The density of your screen. You need a lot more data to show really juicy broccoli than you did then.
Dave: Mm-hmm.
Chris: Our expectations are higher. That'll keep going a little bit. But maybe not amazingly. A picture of broccoli on my screen now looks pretty damn good. Unless we're talking 3D models and stuff, I don't know that that's going to be the thing that pushes us to five megabytes. [Laughter] Just more JavaScript.
Dave: Well, yeah. I'd be curious. There are devices on the horizon. Vision Pro putting on AR headsets.
Chris: Yeah, something in our eyeballs is going to happen. And that's true; the size of that screen -- that quote, unquote "screen" -- that you see with your eyes is way bigger.
Dave: Mm-hmm.
Chris: Maybe if you're shipping giant environments across the wire that that's the thing that makes network traffic get that high or higher.
Dave: Mm-hmm. Yeah. I don't know.
Chris: I don't know. Interesting. So, what does the Web look like in 12 years? What's predictable? What's not? What are your wildest ones, if you're like, "Okay--"
Maybe in my heart of hearts I think it won't be tremendously different. But what if?
Dave: Ooh...
Chris: Give us your "But, what if...?" and your boring ones.
Dave: Yeah.
Chris: We'll take whatever. So, I guess this is the shout-out. Please, go to ShopTalkShow.com and just send something in. If we get enough good stuff, we'll do it. We'll do a 12-year episode. That would be fun. I would prefer to do that if we can.
Dave: Yeah. No, I think it would be cool to do something like that. I would love to hear what's ShopTalk Episode 1200. What are we talking about? What is it? What is it like?
Chris: What is the Web like in 12 years? Send in text or audio.
Dave: Looking forward to that.
Chris: We'll ask on social media, too. Maybe we'll send some emails, too, like really prod people to be like, "Let's hit it up. Past guests and stuff."
Dave: Bill Gates.
Chris: Yeah.
[Laughter]
Dave: What is the Web in 12 years?
Chris: Yeah.
Dave: Tim Berners-Lee, what is the...?
Chris: My worry with that is that it's like lazy journalism. You're like, "I don't want to write this story. You write it for me." - in a way.
Dave: Yeah, yeah. Yeah.
Chris: But that's okay. If you don't feel like it, if you don't have a couple of sentences in you, then just don't do it.
Dave: Don't do it. No, if you... But I don't know. It's just a moment to reflect here.
I'm interested to see where we've been, but I feel like, especially with AI and all this stuff, it's like, "Where are we going?" That's a big question to me right now. Where is everything going?
Kind of a weird year of tech here behind us, but it's just like, "Where are we going?" is a big question.
Chris: Indeed. You know what I started using a lot more heavily? It's just a random story that got me here.
Dave: Mm-hmm. Mm-hmm. Mm-hmm.
Chris: I've asked you about this before because you told me that you got your coworkers on this, and it is the GitHub Desktop app.
Dave: Yeah!
Chris: It was a weird comedy of things that happened to get me here, including how GUIs handle stuff like commit hooks and stuff.
Dave: Mm-hmm.
Chris: A commit hook, dear listeners; if you use them, you know what they are. If you don't, the deal is, even from the command line, you get commit-m updating the user menu - or something.
Before you're allowed to do that... you can try to do it, but a commit hook will run, and it could be anything. You tell it what to run, so it could be yarn run test - or something. Then only if that command succeeds are you allowed to do that commit.
It's intentional blockers in the way of running stuff, and it can be great. It could do anything, anything in the world. But most commonly it's like, "Run prettier." Did it have changes? Well, then you're not allowed to commit this. Run Prettier first, please. It does a prettier check.
Probably the most common is something like JSHint or JSLint or whatever the popular one is. ESLint is probably the most popular one.
Did you screw up something in your JavaScript? Is there an unused import or even a syntax problem or something? Don't commit that, you dork. It's preventing you from pushing up dumb crap to the repo that somebody else could pull. Great.
Now we've established what commit hooks are. Some companies have very elaborate commit hooks. And it's a little bit like CI but locally. Right? Not on a cloud computer.
Now, if you're using the command line, it's probably going to work fine because it's going to run those commit hooks in the CLI context that you're already in, which is probably fine and going to work.
If you open a GUI app like Forks or GitTower or GitKraken or GitHub Desktop or whatever, what's the CLI context of that app?
Dave: Mm-hmm.
Chris: It's interesting, actually. It depends on how you open the app, Dave. You can open an app from a CLI. You can type a command that's like, "Open this app." Then it's like the CLI context is where you did that, which is interesting. If you double-click it from the finder, then it's somewhere else.
Dave: No CLI.
Chris: Yeah, there are four ways you can do it, and the CLI is different each time. It might be like, "Well, is it using ZSH then - or whatever? Or is it Bash?" What's happening with the CLI context that it's going to attempt to run those hooks in?
Different apps have different ways of handling this. It's very convoluted, I'll say, in GitTower, which is the one I've used for a million years. You have to kind of give it your path.
Dave: Mm-hmm.
Chris: I think a lot of people intuitively know what a path is, but I find it... As a not really deeply CLI guy, I find path obnoxious.
Dave: Mm-hmm.
Chris: Constantly opening your Bash profile or your ZSHRC - or whatever it is - and adding crap to your path so that it knows where your Rust installation is, or your Go stuff, or are you using NVM? You better have that on your path, too.
Your path is probably full of crap, so it knows where to execute stuff from. You have to give all that in a weird file to GitTower so that it knows how to run those, and it has weird problems.
Somehow, some way, GitHub Desktop is better at it.
Dave: Really?
Chris: It's just real good at knowing how to run your commit hooks. And so, I'm just like, "You know what? I'm just going to use this. This is fine." [Laughter]
Dave: Oh... Uh-oh. GitHub Desktop cannot be opened. Uh...
Chris: You need a new... You probably haven't opened it in three years or something.
Dave: Yeah. It's been a while, so it's not happy with that. It did not like that. [Laughter] But I was just going to see where it did it.
Yeah, I remember they did something. There's kind of like a little... You click a button, I think, in the settings, or maybe that's on Windows to import environment - or something like that. But anyway, I have barely any memory of that.
Chris: Yeah. Well, so here's the... I just gave you the most convoluted reason ever of why you would pick this app. I do like it. Good. But there are other really good reasons.
One of them is you're on GitHub.com, and you're looking at a repo. There's a button on the website that's like, "Open in GitHub Desktop." That's just easy. It's just nice. Good job.
Dave: That is nice because it's kind of like you... It's like a local repo management app, so you're not just like this folder called projects, which is what I have. I have projects, demos, and Hello World. I'm a fricken' mess over here.
Chris: Right.
Dave: Rachel has "development," and I was like, "She's smart. I should just do what she does." [Laughter]
Yeah, you have this. Basically, a list, an app that tells you all the repos that are on your system. That's kind of pretty fricken' cool.
Chris: That is cool. Right.
Dave: And they all go in the same bucket, and you know they're there. Then you can delete it. Then you can just say, "Clone it again." You know?
Chris: Right.
Dave: Zero drama bucketing.
Chris: Mm-hmm.
Dave: Yeah.
Chris: There are other ones. Then when you're on one of these repos, there's a big button that just says, "Oven in VS Code," because that's all integrated.
Dave: Mm-hmm.
Chris: You click that button and guess what; it opens in VS Code. Ain't that nice?
There's another button that says, "Show in finder," so you jump right there. There's another button that says, "Show on GitHub," and it goes right there. It's like, "Of course, those are the actions I want to do. How nice is that?"
Then the PR view, I think, is very nice, too. The one I've been using, GitTower, I find its PR integration isn't that good, but I live in PRs. There are just constantly PRs. I think a lot of developers do.
You can look at a list of them, which is nice. But then you just click on one, and it moves you to the correct branch of that PR -- because a PR is always a branch, right?
Dave: Mm-hmm. Mm-hmm.
Chris: I think that's nice. That's just not how it works in Tower that well. It's like if I'm checking out your PR, I can go look at it by name, click it, and just be right on that ready to preview it. It's just a really nice integration with PRs, I think, in a way that I'm not used to.
Anyway, there's stuff I like and dislike. There are lots of things that I think get towered as better. But I found that in switching and forcing yourself to use software that you're less familiar with, the longer you do it, you're like, "Oh, this is nice... a little bit." [Laughter]
Dave: [Laughter]
Chris: I don't know. I hope they keep it up because I don't get a sense that they're really gunning on this tool. You know? I don't know if it's forgotten or what. I do think they did a good job with it.
Dave: Sort of the biggest innovation with it. They overhauled it completely, I'm noticing. The UI is just a little bit different. But I think they changed the rendering engine.
Chris: Perhaps.
Dave: But anyway, the big thing was just fetch. It's human terms. It's like fetch and sync, which you see in VS Code a bit, too. You have to think about end users. What are they seeing, experiencing, thinking? What do they see and how do they operate? It's just very... it's useful is what I want to say.
Chris: Still a guy who really thinks it's valuable forget, especially that dif view, like right before I... as I'm committing, I want to be plucking out individual files, crafting a little commit, seeing exactly what changed.
Dave: Mm-hmm.
Chris: The number reason being that I probably forgot a console.log in there. And there's another one, too, that I don't have to then pop over to VS Code. Right in there, I can grab that console.log and say, "Discard line."
Dave: Mm-hmm.
Chris: And it'll just remove that line, so I don't have to go edit the file by hand or remove it or whatever. I think that's nice.
Dave: Yeah. You can even drag and select and grab blocks and just be like, "Oh, only this block," if you're trying to stage commits in a way.
Chris: Yeah, a logical way.
Dave: Sort of like - whatever - fake replicate how you worked on it, so anyway.
Chris: I'm surprised that I like it as much as I do.
[Banjo music starts]
Chris: This episode of ShopTalk Show is brought to you in part by Jam. That's jam.dev. An awesome URL. Go to jam.dev/shop.
It is a really clever bug-reporting tool, and it's for internally on teams. Imagine you're in Slack with a fellow developer, and they send you a thing, like, "Oh, on the item page, that's broken," or something.
I'm super guilty of sending this to people I work with, just thinking in my head, like, "Oh, just go to the item page and look. Then you'll see the error, too, if you're on my branch or you've pulled master or whatever."
But maybe they don't see it. That's not enough information. What if it was effortless to still be that lazy but also give that other developer all the information they could need to make sure that they can reproduce that bug because it's just as easy as taking a screenshot.
If you see the bug and it's visual in some way, which that's my job in the world, you drag a screenshot over it in the browser. Then you can optionally annotate it, like point at it or write something if you need to - or whatever. But you don't even have to do that.
By virtue of you having done it in the browser, you get all this additional information like all the console output is there. If there is an error in the console, which is highly likely in a JavaScript application, they'll see that (without you having to remember to screenshot that or copy and paste it or whatever), and the network requests, and all the information about the browser that you are in at the moment, and version, and on what operating system and device, and all that stuff - reproduction steps.
You can add comments to it, too. But what you have to do is just take a screenshot quick and be like, "This is a bug." Effortlessly small. What a clever product. Then that becomes the bug report.
Check it all out at jam.dev/shop. I love it!
[Banjo music stops]
Chris: Then another software, this Zed came out. It sounds like you tried it for a day or two. I'm giving it the college try, too.
Dave: Yeah.
Chris: It feels like the new year time to try some new products. This is a code editor. It's a code editor from some people who worked on Atom. Probably still some Atom lovers out there, but Atom has been long discontinued.
Dave: Yeah.
Chris: It was also under GitHub's purview for a while. But when Microsoft bought GitHub, they were like, "Uh... We already have a code editor."
Dave: We have two... [Laughter]
Chris: Yeah, several.
Dave: VS Code big boy and VS Code.
Chris: So, Atom kind of went by the way. I was never a big Atom user, but I did respect it. You know?
Dave: Yeah. I liked Atom. I used Atom. I downloaded Zed. Zed's big pitch is it's built with Rust, so therefore, it's blazingly fast. So, we all know Zed is blazingly fast, built with Rust, probably packaged by Bun. You know? No. No. [Laughter]
Chris: Perhaps.
Dave: Powered by Zig.
Chris: What got me is the other pitch is that the creators are also part of the project called Tree-sitter, which doesn't get its name in the sun all that much, but it's a parser.
Dave: Hmm...
Chris: And it's like "the parser," Dave.
Dave: Tree-sitter is good. Yeah.
Chris: This is the thing that you use to parse code.
Dave: In a Rust project?
Chris: In a high-power project.
Dave: Oh, okay.
Chris: Now it's Go.
Dave: Go? All right. Okay.
Chris: It's funny, isn't it? The app is in Rust but the parser is in Go. Whatever. They're both high-power projects. But yeah, we use the crap out of Tree-sitter in the new version of CodePen, and it's just kind of amazing what it's able to do.
Of course, that is the real crux of a code editor. It needs to parse code like a baller.
Dave: Mm-hmm.
Chris: And the fact that the people behind this are behind a very excellent app and the powerhouse code parsing tool lends a lot of credibility to it. Now, they know they're up against VS Code, so I did find it elegant, the onboarding that suggested good key settings. Nothing is that weird. I find that my muscle memory is about the same for this app and others.
Dave: Mm-hmm.
Chris: Very not as refined, like it's going to take me a minute to get used to it. I did a find in project, and it finds stuff just fine. But then there's no great way to just jump to the file. I'm like, "How did you screw that up? That's weird."
Dave: Oh, yeah.
Chris: Obviously, I'm trying to get to the file. Then I'm opening a GraphQL file, and it's not syntax highlighted, and you're like, "Well, what's the plan there?"
Dave: [Laughter]
Chris: I get that you don't have every language under the sun, but are there plugins or what? But I'm finding stuff to not like about it. But overall, I was impressed by it. The fact that it has GitHub Copilot in it, its AI features are really nice, it's got good stuff.
Dave: Yeah. Zed is interesting. It's very VS Code-light, in my opinion. But light in the light and fast sense.
Chris: Mm-hmm.
Dave: It does feel snappy. It does try to... I just saw it download a language server, like an HTML language server. That's cool. I didn't have to go install some extension from Hacker Bob.
Chris: Right.
Dave: That's great. I feel like that's good. I just did command-shift-P -- or whatever it is -- to format, to format the HTML because I noticed some indentation was wrong. It did all the overly aggressively formatting, but that's fine. it did it. It did a format, and that's kind of the stuff I need.
I could be into this. I think I'm just not... I think I just need the project or need to commit to it and sink into it and use it full time and see if I am missing something catastrophic. I don't think I'm missing anything right now in VS Code or it's plenty fast - stuff like that.
I don't know. I wonder if I'll switch. It would have to be really good to switch. I think we've said that before on the show. If a new editor shows up, what's the killer feature that's going to make me switch?
Chris: Yeah, what is it? That's exactly it, Dave. I've written about this before. It can't annoy me too much. My muscle memory needs to hold on a little bit. If it's 1000% different, just personally, I can't do it. I'm like, "Yeah... nah."
Dave: Yeah.
Chris: I don't know that I ever will be, but I'm weak. I can't use a new keyboard either.
Dave: I'm weak. [Laughter] That's funny.
Chris: Well, I know a lot of people who listen to this show are keyboard nerds, and y'all have the fortitude to just switch something that is literal muscle memory, and I just can't do it. I'm too weak.
Dave: You know one thing it does have is collab mode, which VS Code has a live collab server.
Chris: Live share....
Dave: I have not used that, and I'm not really in a collab mode right now, but maybe that's something.
Chris: It hasn't hit for VS Code either. Nobody ever talks about that thing.
Dave: Yeah.
Chris: I remember when it came out. It was a little bit neat. Everybody tried it, and then we went back to doing what we did before. I don't think collab is the feature that they need here.
Did you see the little GIF though where you can select a block of code, and then you get a little AI prompt, and then you say, "Refactor this piece of code in this certain way"? I was like, "At least that's an interesting take." I haven't seen that one yet.
Dave: [Groan] I'm going to sound old. Ready? Here we go.
Chris: [Snickering]
Dave: I don't get the AI piece of it. I click the Zed button, and I get a ... you are typing and GPT-4 Turbo is on this, the best one. But what is it doing? I don't know what it's doing. I'm lacking UI or I don't know what it's trying to get me to do.
Maybe it's just a little scratchpad I can work on that's supposed to have AI, but I just don't see it. I see some autocomplete or something. I don't get what's going on with the AI integration. And so, if it's supposed to have AI and that's this killer feature, cool. I don't get it. I don't get what's happening. Maybe I need to watch a video.
Chris: I don't know. It might be, though. If you don't have that, if collab isn't going to hit and AI isn't going to hit, is it just lighter and faster? That's not enough, probably.
Dave: Right. Right.
Chris: But I say that and I'm like maybe even that doesn't matter. Maybe there are just enough people for this... I think the team is like ten.
Dave: Mm-hmm.
Chris: Maybe that's enough. Maybe you charge $100 for this thing that you can just be a company forever and that you don't have to be a billion-dollar company. It's just not going to be. But maybe it's a comfortable living.
I think of Panic's Nova, which is pretty niche.
Dave: Mm-hmm.
Chris: It's only for Mac. It has FTP built into it, which is enough people probably care about that that's still relevant somehow. They modernized it. It has Git stuff in it and stuff now, but you don't hear about it that much.
Dave: Mm-hmm. Mm-hmm.
Chris: But they still work on it, so I think there is a market for expensive editors.
Dave: Yeah, I mean JetBrains, right?
Chris: Right. Yeah.
Dave: That's a big one, but yeah.
Chris: But they're pretty specific to a language, right? I mean that kind of makes sense.
Dave: To like Java. They have their new one that's a little more VS Code-like, but yeah. I think, yeah, it would take a lot for me to switch. But maybe... Dave Rupert, a fan of the indie solutions, so maybe this will be it.
Chris: Maybe. Their commitment to a good design here is inspiring to me, too, that it looks so good.
Dave: It comes with tons of themes, which is not... But they launch you in, and they're like, "What theme do you want?" The user experience is really great.
Chris: Right.
Dave: And the sidebar is great. It's very minimalist. They do little icons. I didn't have to install some icon package from whatever.
Chris: Yeah, so there's plenty of good. And to have this be our day-one-ish experience I think is encouraging.
Dave: Good day-one. Good launch setup. You know I just did this thing. I go up. It has your little project name in the top left up by the close icons. You click that. You go to all your recent projects that you've opened. Hot dog! That's what I want.
Chris: Yeah.
Dave: I'm fast switching my projects. That's great.
Chris: Mm-hmm.
Dave: I have this whole key command in VS Code that's like command-shift-L - or something like that - that I'd use. I forget what it is, but it's like new project, and then I do control-R to open recent. Then I use the arrow keys. They're just like, "Click the little top boy and find your project. Open your favorite."
Chris: That is an opportunity, I think. VS Code, I've never been able to... You know when you open a different project in VS Code, it tends to just replace the one that you have open now, but not always?
Dave: Yeah.
Chris: And if you want them both open, you have to be like, "Oh, yeah. I know VS Code is weird about this, so I have to make a new blank window and then open the second project so that it doesn't close the other one." It's awkward enough that there's room for improvement there.
Dave: VS Code, being a Microsoft project, it will always give you infinity options to customize it. Right? That's a chance for any code editor to come through and just be like, "We're not Microsoft. You don't get to customize the icons in the sidebar." It's just what it is.
Chris: Sure.
Dave: We just do that. You can set a font size. That's fun.
Chris: [Laughter]
Dave: But I don't know. There's opportunity, I feel like, to make code editors simple, and simple is not just simple; that's less code to startup, less memory when you're typing. It's a faster response. It's a better system.
Chris: Yeah. Yeah, and how is the auto-complete? Do I want it? Do you build--? I don't know. The fact that it downloaded a language server for HTML makes me feel like it's going to definitely have it because that's kind of the whole point is that it's helping you write the language and all that.
Dave: Yeah.
Chris: But you know certainly people could be annoyed at VS Code without doing much. You hover over some property or something. You can get a half-page popup that's trying to explain to you what the flex-direction property does from online documentation. You're like, "Ack! Go away!"
Dave: Right. Go away. [Laughter] Yeah.
Chris: So, a product that doesn't do that might be desirable. But then do you end up actually missing it, secretly, somehow?
Dave: Um... no, I don't. [Laughter].
Chris: Yeah. [Laughter]
Dave: Types are overrated. No... What?! David, it's 2024. You can't be that guy. You can't be that guy.
Chris: Oh, yeah. There are types, and then there's just helping you by--
Dave: There are types, and then there are people who like types--
Chris: [Laughter]
Dave: And those are two very different things, and I want to do one and not the other, so yeah.
Chris: That's nice. I just opened an SCSS file, and it doesn't have syntax highlighting for that either. I'm like, "Really?! That feels like a big language to just not have."
Dave: Ooh... Yeah. Oh, man. Now I'm curious.
Chris: I always thought plugin architecture would be an absolute requirement for any code editor now--
Dave: Mm-hmm.
Chris: Knowing how VS Code... What do you think the average number of plugins for a VS Code install is: five, ten?
Dave: Ten. I'm at probably eight, ten, yeah.
Chris: One, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20. Oh, 20. Ooh... Over 30. Oh, that's embarrassing. They're not all activated, though. And I'm the type that's like, "Ooh... I'm going to install that!"
But no. They're not even... I don't know. I don't even think my 30 is that weird (looking up and down this list) because there's just a lot of language-specific stuff and CodePen supports a lot of languages that it doesn't feel that weird to me. But sure, cut it in half. Fifteen, that would be light in my world.
Dave: Dude. I think I have like 50.
Chris: Ooh... Really?
Dave: But it's all... You know. Yeah, it's like Astro. You know?
Chris: Yeah, exactly.
Dave: No slant to Astro. Like Astro. Why do I need an Astro plugin to make a website? But it's like the Astro specifics, right?
Chris: It's just for the syntax highlight. I mean I know they have... I'm sure they have all kinds of other crap they do: IntelliSense, Fancy. But really what you want is syntax highlighting for the weird Astro files.
Dave: Right. But then there are just random ones I have, like docker spinner uppers and crud.
Chris: Yeah, me too.
Dave: All themes are plugins. I feel like that should be different. They should've broke those out in the old VS Code land.
Chris: Yeah. I have a feeling that they were at one time - or something. Lots of Ruby crap I have. Yeah, and then just little ones like better comments. I like it so whatever theme I'm in, a to-do comment is extra intense in a file. That's what that does. All kinds of crap. To be like, okay, I'm going to lose all of that when I switch to another code editor.
Dave: Say good-bye.
Chris: That's like... They better have extensions. Ideally, they're not even supporting extensions but support their extensions.
Dave: Yeah. It would be hard to start a code editor.
Chris: It's like Arc. They're just Chrome, so they get all Chrome extensions.
Dave: Right. I mean I feel like that's good for Arc. They can be like, "You know what do to that? That's great. We're just not going to--" They did move the icons recently, but you can be like, "Hey, let's--" You want to do that weird plugin? That's great.
If any Shop-o-maniacs are out there, I'm looking for a plugin that makes LinkedIn usable. So, if somebody has one--
[Laughter]
Dave: ...boost or something that makes LinkedIn not overwhelming and garbage-y, that'd be great. Thank you. Appreciate it. That's great.
Chris: How do I intro this? There's just a URL. There's this guy that died who was - whatever. Wasn't he like a Berkshire Hathaway super guy?
He had a book called Poor Charlie's Almanac that was very famous in the world of investment, I think. For some reason, Stripe Press, like that Stripe, the payment processor Stripe, has... They publish books and stuff.
Dave: Mm-hmm. Yeah.
Chris: An interesting thing, but they have some cool stuff. They produced a Web version of Poor Charlie's Almanac, this famous book. I'll tell you; I don't know who they got to design this thing. It'd be nice to talk to them because they just crushed it. It's so cool. It's just really classy. It's weird but it's still readable. It's inviting. It's classy. It's just a hell of a Web experience.
If you haven't seen it at all, I'd encourage you to check it out because it's just a little bit like, "Wow!" You know?
[Laughter]
Dave: Yeah.
Chris: Who did you pay to do this? This is fricken' great.
Dave: I looked at it. It's really... It's over the top. It's got things scrolling, like rolling down. It's kind of cool.
It even all kind of works on the phone. Some of this stuff gets obscured by the flying images, but it's very cool.
Chris: It is cool, and the conversation around it then also is like, so, if you were to buy this on your Kindle or off the Apple iBookstore - however people read these - it's just going to look like crap. It's just going to be boring as hell. None of this spirit will be there. Why?! An ebook is a digital experience.
Dave: Mm-hmm.
Chris: Why are they mandated to be so boring? Now, that's just the conversation. I’m not sure I 100% agree with that. I think a format that is intentionally limiting is kind of good, maybe.
Dave: Uniform. Yeah. Right. Yeah.
Chris: But I take the point.
Dave: For sure. For sure. Oh, rebuttal by Charles T. Munger. I think he showed up in a book I read. But anyway, yeah. No, this is cool.
It even has this Berkshire mode. Did you click that? Did you click Berkshire mode at the bottom? [Laughter]
Chris: Everybody told me to click it, and then I didn't click it. How do you click it? Where is it?
Dave: It's at the bottom right.
Chris: Oh, Berkshire. Oh, and then it gets super boring? [Laughter]
Dave: It goes to straight Web 1. [Laughter]
Chris: Yeah.
Dave: That's great.
Chris: Well, good. It should have that.
Dave: And it has a Geico ad at the bottom. That's funny.
Chris: [Laughter] Does it, seriously?
Dave: Yeah, it does.
Chris: Oh, it does.
Dave: Way to go, Geico.
Chris: Holy cow. How did that make the cut?
Dave: Geico, sponsor my website. Sponsor the podcast. People need to sponsor more stuff.
Yeah. Whoa! Whoa, whoa, whoa! I've got a floating guy, but that's fun.
Chris: Maybe they just got Geico to pay for the whole thing.
Dave: That's a good way to get - you know - I don't know. Somebody paid for it.
I thought Stripe Press was kind of in trouble. I have three or four Stripe Press books behind me here on this shelf.
Chris: Oh, you do.
Dave: See that stack right there? That's all Stripe Press. But they have some really good ones. I'm going to grab them.
All right, we're doing a book tour, which should be great for the podcast. [Laughter] Are you ready?
Chris: Yeah.
Dave: We've got... This is Systems of Engineering Management: An Elegant Puzzle, by Will Larsen, which is kind of like about engineering management. It's kind of one of the best books other than Sarah Drasner's.
Chris: Kind of a white cover with--
Dave: Yeah.
Chris: Oh, engineering management one.
Dave: Yeah. I would read Sarah's first - or I'm going to. But yeah, it's a white cover with a bunch of branches. It looks like... I should know this plant, but kind of like a creosote bush or something like that.
Chris: It looks like sage brush to me.
Dave: Sage brush book. Yeah.
Chris: Yeah. Yeah, very classy, though, you know.
Dave: Very classy. This one is Working in Public: The Making and Maintenance of Open Source Software. Very good. It seems like the cover is wearing, which is odd because it just sits down at my desk. Maybe that's blood. That would be weird. But no, it's wearing.
Got this one here. This is a big one. The Dream Machine, which is by this guy Mitchell Waldrop. I started... But it's about... What's this guy's name? It's about J.C.R. Licklider, and I started writing a post, and then I got into... which led me to Licklider's vision of human-computer symbiosis and stuff like that. Anyway, that's a big book I need to read.
Then this one is just for fun, The Making of Prince of Persia, which is one of the funnest video games, one of the first video games I ever played, I think, on my uncle's Mac. You know? Apple IIe, and so I think I remember playing it. It's like a whole dev log on how he built it, and I just love dev logs, so I thought I'd buy that book.
And you know I haven't read any of them, so there you go. Four books I haven't read. [Laughter]
Chris: [Laughter] And you read!
Dave: I read a lot, but I don't read paper books. That's my downfall. I do audiobooks and comic books.
Chris: It's going to be the year of reading for me. I'm going to catch up to you readers. I've been having such a good time.
Partially, it's you, Dave, killed me with this, like, "I need new information nuggets." You signaled your general unhappiness with even scrolling Mastodon or something. You're like, "Oh, man. It's just the same stuff I've been reading for ten years."
Not that it's not interesting all the time. But I'm finding more value out of a bigger, deeper thought. That's what a book represents sometimes, in any form, but especially nonfiction. Somebody really dug in here and has some stuff to say, and it fires my brain up in a better way than a little nugget does.
Dave: Yeah. Yeah, that's what I enjoy about books is it's not just... There are some biases, like somebody is trying to craft a narrative. But it's basically somebody set out, spent the time to write 40,000 words - or something - on something, and they go A to Z. Then somebody reviews it. An editor reviews it before it gets published. Then they go and they make it better.
That just doesn't happen with tweets. It doesn't happen with blog posts. It doesn't happen with your AI-generated BS. Somebody works on it and makes it better.
Oh, my books are all falling, my other books. It was like, "What was that noise?"
But yeah, books are great. Audiobooks are great. I've been getting value out of the podcast series, like investigative journalism over many episodes.
Chris: Right. You know I looked at a couple of different best podcasts of the year thing. You know that it's just the time of year that that stuff rolls out.
There's a good one on the Atlantic. There's a good one on Vulture. I scroll up and down them, and [laughter] I haven't heard of hardly any of these. You know?
Dave: Right.
Chris: Maybe two - or something. And the ones I've heard of are because they came from lineage of stuff that I already listen to, in a way.
Dave: Mm-hmm.
Chris: I listen to 99% Invisible, and I think they had an episode on the Big Dig, and the Big Dig was really a little miniseries, so that's on the list. Yeah, that's cool.
But a lot of them - no idea. A lot of love for Erza Klein. Need to check that guy out from the Times. People really have been loving his stuff.
I did listen to Search Engine this year, PJ Vogt's new thing, and that got a lot of love.
Dave: Oh, okay.
Chris: Yeah. He knows what he's doing. But that's it I guess.
Dave: Yeah. It's kind of funny. Gimlet got all acquired, and then... [Laughter]
Chris: Really petered out, didn't they?
Dave: Petered out. But then it was just kind of... You just realize, oh, it was kind of the talent that was there; they're off doing other stuff now. It was the talent there that made it good.
Chris: We'll see. Definitely a lot of talk about the sustainability of podcasts economically and that, which I find interesting. But of course, I feel like we're a little detached from all that.
I would love for this show to make more money. There'll probably be more ads on it in 2024. Not more, but remember we used to run two or three per episode.
Dave: Yeah.
Chris: I don't know if y'all have started listening recently. That is not the case anymore.
Dave: No. It's maybe one.
Chris: We run one if we're lucky. Yeah. So, I'd love to change that and make more money, but we're not trying to run a staff of ten with this sole income coming from this podcast. It's just not where we're at on that one.
Dave: Right. None of our episodes are taking 12 months of investigative embedded journalism.
Chris: Yeah. We never traveled for the show only, I'd say, ever.
Dave: I'm not undercover in a small webshop in Ohio. You know?
Chris: Right.
Dave: We're not doing that. We're not doing that. [Laughter] We're just hopping on microphones.
We figured out how to make it sustainable. I'll give us some credit. We've figured out what's sustainable for us.
Chris: Mm-hmm. Yeah, I guess, speaking of sustainability, then there's that InVision. A long time. I always think of that app, all the smart people they hired there. They're almost kind of like the Vercel of design - or something - for a while.
Dave: For sure. Yeah.
Chris: So many people went there. They had their own. There was InVision Press, too. They published books.
Dave: I've got some of them.
Chris: They're a big ass name.
Dave: Yeah. Yeah.
Chris: And it was good. They filled a niche for a while. A lot of people thought of it as the design feedback powerhouse. That's where you go when you're there to talk about design, and they had design thought leaders for days.
I never really used it myself. Not because it was a bad product. Because I just didn't have the need to get... Maybe it was more client work or bigger design teams, something - I don't know - that I ever even had an account. But it always kind of confused me a little bit, like, it feels like a Chrome extension or something. I don't even know. It doesn't seem like a 200-person company - or whatever it was. Maybe it was even bigger at some time.
But then that kind of died. Maybe because of Figma or something. I don't know.
Dave: Mm-hmm.
Chris: They turned into this other thing called Freehand, which that's only my own ignorance. I just have no idea what Freehand did. But we had a sponsor called Miro just at the end of last year that had these infinite canvas boards that you could do all kinds of stuff with. I think there was a good amount of overlap between Freehand and Miro, and Miro is who bought them in the end.
Dave: Oh, really? Okay. Wow.
Chris: Miro bought Freehand or InVision - or whatever they were called at the end. That's cool. Miro is clearly popular.
Dave: Yeah.
Chris: Thanks for the support, Miro. This episode is not sponsored by Miro, but I think they might be back, so we'll see.
Dave: They should. They should come back. Yeah. No, that's... Yeah, it's weird to see how--
I read a bit and talked to people who worked at InVision, hearing about the collapse there. It was interesting. I think they took their market dominance position and tried to Adobe it, if you will, and kind of just charged people a bunch of money. Then they spent a bunch of money to find a second album.
You remember the InVision Design System Manager - or whatever? It was like a whole product they tried to get people on. Then they released a Sketch competitor as well at one point, and it just never... They couldn't really hook people into another product that wasn't their prototype machine.
Chris: Hmm...
Dave: They had this Freehand product, but yeah. Anyway...
Chris: That's all right. Companies... I don't know. It's not some badge of shame, I don't feel like, as far as that's concerned. I do think it is occasionally shameful what tech companies do burning through money and stuff, but I don't know that they're one of the bad guys or anything.
Dave: I think the licensing strategy they tried maybe shot themselves in the foot.
Chris: Sure.
Dave: The enterprise sales funnel sort of stuff.
Chris: Mostly I think of Aaron Walter. Remember that guy? He's still around. Super nice guy.
Dave: Aaron Walter, yeah, he's still around. I worked with him on a project. We, two years ago, worked on... He was working at Resolve to Save Lives. I'm not sure if he's still there or not, but it was him and Jason Santa Maria. They pulled us in, and we made a COVID response dashboard for the CDC of Africa. That was cool.
Chris: Holy crap!
Dave: Made charts and graphs for Africa's COVID response, and it was educational. It was good work. It was fun, but it was also weird because you'd make a chart, and usually, you just ship it and then figure out what's wrong later. This, you can't do that with COVID. [Laughter]
Chris: Hmm...
Dave: It has to go through a whole epidemiologist review. You're like, "Oh, okay."
Chris: Oh, yeah. You can't be like, "Oh, this chart has a wrong--"
Dave: Close enough. [Laughter]
Chris: Yeah. [Laughter]
Dave: Close enough, right?
Chris: Yeah.
Dave: Yeah.
Chris: Unfortunately, you have to go slow at a time when the world needs you to go fast.
Dave: Right. Yeah. It has to be good and right, and so that was a little different. But you know. It's mostly just my own familiarity. I'm not an epidemiologist, so I don't know whatever terms they have. I forget them now, but whatever specific sort of growth or inflection points they're trying to mark and all that stuff. I'm just like, "I don't know. Number go up, bad?"
Chris: Yeah.
Dave: But they have it different.
Chris: Well, maybe we'll end here with an official question and answer to Simey de Klerk - our old buddy. Nobody has ever sent in more questions than Simey. Please keep doing it. We love you, Simey.
"My wife is a journalist but interested in learning Web development. Her only experience is using Dreamweaver briefly while studying more than ten years ago." Do they still make Dreamweaver, by the way?
Dave: I think it still exists. Yeah.
Chris: I think they do still make it. Oh, that's incredible. I wonder what Dreamweaver is like right now. It looks like it still has, like, you can see it also.
Dave: Ooh...
Chris: Does that mean WebKit is busted in there somewhere? Which one did they use? Probably WebKit.
Dave: [Laughter]
Chris: Okay. Now I've distracted myself now.
Dave: Simey is asking what's your recommendation. Yeah, his wife is using Dreamweaver. What's your recommendation to how to start learning... how to approach it for learning Web development in 2024.
Chris: Yeah, it's not Dreamweaver, I'm afraid, if you're trying to be serious about it. It could be this amazing product, but you're not going to find... I don't know. It's like picking the didgeridoo as your instrument in a rock band.
Dave: [Laughter]
Chris: It's too niche. You know? You should probably pick the guitar - or something - to start.
Dave: Yeah.
Chris: So, cool, she wants to learn. There's different kinds of learning. There's the old trial by fire, which I'm a big fan of, which is like, "You have something you need to build, so you just have to go build it." That's amazing.
Having a real project, to me, I'll never not have that advice. That's the thing that you need because working abstractly too long, it just doesn't stick. It just doesn't feel right. Hopefully, you can get yourself in a situation where there is some stakes on the line.
You can fake the stakes. The stakes are sometimes, "I've got a personal site for myself because I think I should have one." That's the stakes. That's okay. You've artificially created those stakes.
Dave: And it has to be out by Saturday. Set an artificial stake. Yeah.
Chris: Those are good. But if you don't even know where to start, well, then it seems like the stakes could be unachievable then. It's not a problem to start with actual educational material then but have your stakes in mind while you're doing it.
Go to frontendmasters.com. They have free stuff (if that's your thing) or if you have a budget, just sign up and pay for it. Then you can take whatever course you want.
They generally draw the line where the really beginner stuff they give away for free. The more advanced, like get you to be a senior developer stuff, is paid. But there's loads of stuff on there. That's designed to be educational in that they'll walk you through stuff. Then you just kind of follow it.
But while you're doing that, you could have in mind, "Well, I have these stakes, this other thing that I'm trying to build." Even if in that particular project they're building something else, they're not exactly telling you how to build a personal website, at least (in your brain) you can connect the two dots and be like, "How would what I'm learning relate to this idea that I have this personal website I'm trying to build?" There's probably some kind of connection, and it just makes the learning a little more valuable, I think. Yeah, there are the two ways: provided, course-driven, curriculum-driven education, and just doing it.
Dave: I'm going to go a different route. Solid JS. She just needs to pick up Solid. Boom.
Chris: Okay.
Dave: Or SvelteKit. Just jump in.
Chris: Yeah.
Dave: I agree. Just build websites. Have something to build. I think Frontend Masters is great. Emma Bostian, who has been on the show before, I think, she has the CSS course fundamentals, so that would be good.
Chris: Yeah. Her and Jen Kramer do a lot of the CSS stuff, and it is comprehensive.
Dave: Yeah. Your wife is a journalist, right? So, she probably has some words laying around. Put words on page. Words go up on the Internet.
Chris: I love that! Love it.
Dave: You know? Stay in the wheelhouse. She doesn't need to become a JavaScript professional. I would just, yeah, get some HTML basics and get those up and going. You could even do CodePen to get started to build something and see the code output. CodePen, that's great for that. Really instant gratification.
Chris: I happen to agree with that. The stakes are harder to give yourself on CodePen - a little bit. They'd be different stakes, like, "Can I build something that gets some likes or something?" Or you're just using it because you're just greasing the wheels again. "I want to write code and then change the code and see what it does." Yeah, of course I think CodePen is good for that. The new version of CodePen will be launching this year and will be better for those kind of like, I'm going to build a "real" website. It's going to be a little better for that. Of course, I only think about the future. But yeah, I'll always take a CodePen shoutout. Thanks, Dave.
Dave: Well, you know. She probably has a big corpus of words. Put those inside of CodePen. Now make it look cool. Make it look fun.
What?! You did that ten times? Guess what. You've got a website. That's a website with a history - or whatever. She could make a website called "Article Graveyard" and it's all the ones that never made it. [Laughter] You know? That's great. Do that - or something.
Or just her approach to a blog. The quintessential get-started thing, start a blog where she just offers her approach to being a journalist. I would love to know that, like, how does your wife verify facts? That's a really cool one here in the year 2024 to know how to verify facts.
Chris: I love the idea of do fancy journalism on it. Take something you've already written and just make it an awesome experience. Oh, man.
Dave: Yeah.
Chris: That's just not done enough.
Dave: Like this Charles Munger site.
Chris: Yeah.
Dave: Charlie's Almanac. Do that for one of your stories and you are probably hirable.
Chris: Yeah. Yeah, and that's a good thing that you bring up, too. What is the point of this? Is it because it sounds like an interesting hobby? I agree that it is, but most people have some money in mind when they're like, "I'm going to get into tech now, I think," especially as an adult.
Dave: Mm-hmm.
Chris: Is that the plan? Is money the plan?
Dave: Yeah.
Chris: Because that does have a little bit of a different angle to it. Not that it doesn't change any of the advice necessarily, but it does kind of mean, like - I don't know - maybe you should do the React thing - or whatever - for a minute.
Dave: Yeah. Python, React.
Chris: Yeah.
Dave: You could go a totally different angle if that's interesting. Your wife may be like, "Dude, I don't know Python, and that keeps me up at night." She should go learn Python.
[Laughter]
Chris: Yeah.
Dave: Yeah, like, "Please do." You know? Or just tease out what she enjoyed about it and try to get that going. Why is it something she's interested in? Chase that.
Make small projects. Projects to hit checkpoints is huge, achievable projects.
Chris: Indeed. Well, good luck, Simey. Keep us up to date. I'd love to see what happens there. What were the goals? Has it already happened? How's it going? Where are they now?
Dave: Yeah. Keep us posted. Where did it start? How did it start? How is it going? - kind of thing. That would be great.
Chris: Let me just reiterate, people that made it to the end, in case it has left your mind already. Episode 600 is coming up for ShopTalk Show, and we kind of want to know.
We've been on the air for 12 years. The Web was different back then. How is it going to be different 12 years from now? What are we going to be talking about? What are going to be the top questions? What's the Web going to be like?
What's your job going to be in that world? Is it going to be really weird? Is it going to be really different? Is the Internet still going to be around? Is it going to be largely the same?
Dave: Are we all managers? Are we all farmers? What's going on?
Chris: Yeah.
Dave: What happens?
Chris: Yeah. What happened to you?
Dave: Speculate some future. We'd love to know. Thank you, dear listener, for speculating the future. We really appreciate it.
Follow us on whatever podcatcher of choice that you use. Be sure to star, heart, favorite it up. That's how people find out about the show.
Leave a review. 2024, leave a review. That's the old slogan. 2024, leave a review at the door. And then if you want to enter the door, join the Patreon, patreon.com/shoptalkshow. That's how you get into the D-d-d-d-discord. That's fun. I really like the Discord. The people in the Discord are great.
Chris, do you got anything else you'd like to say?
Chris: Oh... ShopTalkShow.com.