3 Minutes With Kent

Informações:

Sinopse

Hi there! I'm Kent (https://twitter.com/kentcdodds) and on this podcast I share a thought or two of things that I've found to be useful in my journey as a web developer. You can subscribe on iTunes here: http://kcd.im/3-mins-itunes and on RSS here: http://kcd.im/3-mins-rss

Episódios

  • Use a password manager

    01/03/2021 Duração: 02min

    Hey friends So today I just want to talk about password managers really quick So like, this is gonna be pretty short but I just wanted to beg you for all that is good in the world. Please use a password manager. I use one password. I've been using it for a few years and I love it. I can't even imagine my life without this. Especially with my wife and I who we share a lot of logins for like our insurance and stuff like that, like I just can't even imagine having to manage that between the two of us. We used to have like a little algorithm to generate the password based on the service. It's so like it that we just memorized it was no good. Use a password manager. Now one thing that I wanted to mention about password managers is like one password is you can actually save your one-time passwords or like your two-factor authentication stuff within one password. And that sort of defeats the purpose of QFA but not exactly I'm actually fine. I putting it directly in one password. It's it is so easy. It's actually mak

  • Sudoku and methodical debugging

    27/02/2021 Duração: 02min

    Yesterday I taught my son Sudoku because he told me that he enjoys math games which was you know, exciting for me to hear and so he yeah, we we just had some sudoku puzzles that I'd printed and laying around and so my wife was working on one and and I was working on one and we were just talking about how we solved Sudoku puzzles and I just mentioned that I pretty much just go with very methodically and I was I was explaining a very methodical process for solving these puzzles and maybe it's not the fastest or anything. I don't really take notes or any.Like write the numbers and or any you know, the possible numbers it could be whatever I just go yeah just think about okay can this number be here no it can't okay let's just move on to the next thing and and eventually you get the whole thing filled out and it works out pretty well and I was just thinking about that and how we do the same thing or I find the most effective thing for me when I'm debugging is to be very methodical about it and and trial and error

  • List out different things that appear to do the same thing

    25/02/2021 Duração: 02min

    Hey friends so I'm rendering a blog post today and I learned to something that, I thought you might find interesting. I'm not specifically the thing that I learned but just the thing that I learned about when you're trying to teach something. Anyway, so the if you're entering something new you're getting into a new space and and there are a lot of things that seem similar to you and you're like, I don't know what to use this or that or whatever and they just seem like they satisfied same use cases. It can be really useful to list out and kind of try to categorize all of those.At a different use cases or the different things that seem similar So specifically I'm talking about functions with type script. Now with regular JavaScript, there are lots of different ways to write functions, you've got properties on objects, you have methods on objects you have class methods. You have arrow functions. You have function declarations and expressions and so there are a lot of different ways to write functions and then yo

  • Remote working tips

    24/02/2021 Duração: 02min

    Hey friends. So in the three minutes podcast channel on the KCD Community on Discord, I got a question from Sandrina about any tips for switching from working in the office to working remotely. And I made that switch several years ago. I when I was working at Alianza, I worked from home a couple days out of the week sometimes and and then when I worked at PayPal part of the the deal was I didn't want to move to California and so,They said okay we can have you work remotely I was joining a team that was halfway remote anyway and so it ended up working out nicely that way that wasn't a very normal thing to do and Sundrino also mentions that like a lot of people are kind of being forced into this remote environment and so it makes things a little challenging so just to some tips for me on working remote since I've been doing it for like five years now maybe more. I think one of the things that,Helps me the most is being able to have a designated space. I do have an office but I don't think you need an office for

  • Writing Excuses: Smart Promotion

    23/02/2021 Duração: 02min

    https://writingexcuses.com/2021/02/21/16-8-smart-promotion/ Hey friends. So some of you may not know this but I am a hobbyist novel writer and I listen every week to a 15-minute podcast. Well, it actually they end up talking for like 25 minutes normally but they call it the 15 minutes long because you're in a hurry and we're not that smart but the episode for this last Sunday was episode 8 of season 16 and it's titled Smart Promotion and they're talking about promoting yourself as an author but I thought some of the things that they talk about in here. Are really really applicable to promoting yourself as a software engineer. And this isn't only if you want to be like a content creative or like me or anything like that, but just in general, how do you promote yourself so that you can have the flexibility and power to do the things do the work that you want to do? And that's all I wanted to share today is going to be a quick one. So, I'll provide a link to this episode in in the notes for this episode of three

  • Reverse DNS in real life

    22/02/2021 Duração: 02min

    Hey there friends. So this is another one of those computer science topics in the real world. So the other day I was picking up my son from school and they have this the very efficient system for picking up kids because it and they don't have school bus or anything. So everybody's picking up their kids at the same time. And so they have to be efficient. And so you put this number on your car and like windshield so that they know and then they look it up in their phone and and send a message to let that kid. Know it's their turn to come out for their parents. And my son who was with me the other another son who I wasn't picking up but he was in the car with me any said, why did you like what how does Nathan know when to come out and I said well we have this number and that's on my on the car and and they look at that up and some sort of spreadsheet or an app on their phone or something and then they send that number over to the people who tell the kids that it's time for. Them to go. And and I realize that tha

  • Introducing KCD Community Meetups

    20/02/2021 Duração: 02min

    https://kcd.im/meetups Hey friends, sorry that I didn't get one of these recorded yesterday was just busy I guess but today I want to tell you about this new thing that I worked on this last few days called Meetups so you probably know what a meetup is or like what we typically think of where people meet up and and talk about a specific subject but I was intrigued by the app clubhouse that's been hyping up recently and the just the idea of getting people together to talk about things audibly and,I realized that like compounds doesn't do a whole lot more than what I have in my discord, but there are some things that I can do with my bot to facilitate that sort of experience for people more frequently and so I decided to work on that and that's what we're calling meetups and so meetups are like the the goal is to help develop friendships within the community to make the world a more pleasant place for all of us, so that's the basic idea, but what you can use meetups for is basically boundless so long as you're

  • Checkout MDN to replace boredom with learning.

    19/02/2021 Duração: 02min

    https://mdn.io Hey there so today I wrote my blog post and in the process of doing that I realized that I was doing something kind of weird. So, I have this project that's the KCD discord bot and the bot is responsible for a whole bunch of things that happen on my discord and it's awesome. You'll meet the bot the it's the first thing that you experience when you join the discord because you can't join the discord without answering the bots questions. So I was making some changes to it and I in writing my blog anytime I write my blog. I'm always going to be writing about something that I'm working on recently or something. I've been.Thinking about a lot recently or whatever. And so I found some code that I'd written in the bot and for a listifying an array of elements for display. So you'd say, you know, we have a thanks command so you can think a list of developers for a specific thing and we want to have the bot say thank you these list of developers for or these list of people for this thing. So you have to

  • Introducing MDX-Bundler

    17/02/2021 Duração: 02min

    Hey there friends. I'm just out doing some shopping and I thought I'd record today so right now I just want to talk about MDX Bundler. This is a open source library that I just created. Yeah a couple days ago and it's pretty cool. Basically a lot of packages and things that you have for compiling MDX. Oh actually if you have never heard of MDX, it's like marked down except it allows you to import react components and render those and what's awesome about that does it means that you.Get all the benefits of easy content creation and and management with markdown because it's just such a nice syntax for that. But then you get all of the flexibility of react components and so you can have really cool demos and things that are kind of interleaved with all the content that you've got. So MDX Bundler.Is kind of unique because it enables you to bundle all the dependencies for a particular post because what with MDX what you're looking at is actually like JavaScript. That's what it needs to get compiled into. And JavaS

  • Stick with your worthy goals

    17/02/2021 Duração: 02min

    Hey there friends. So today I want to talk with you about Typescript. So my friend Tanner Lindsley was tweeting about how it's kind of frustrating. He's been into typescript for the last few months doing some open source stuff and and if you've never written like a generic abstraction in TypeScript like a library or something then you may not know that Apple type script is way way easier than library type script. Making something.Eric and and can handle all sorts of different use cases and stuff in TypeScript is very very very difficult and that's not to you know, not or under appreciate the difficulty of just type script in general, but library type script is just very much harder in general not not always been in general. So he's just been kind of frustrated and I definitely can relate to this frustration because most of the TypeScript that I have written has also been library level type script and it is frustrating.Especially for people like tenor and me who've been doing JavaScript for quite some time and

  • Lines of code !== Complexity

    15/02/2021 Duração: 02min

    https://twitter.com/DavidKPiano/status/1361353521648590853?s=19 What up folks Happy President's Day for those in the US I wanted to talk about this tweet that I saw from David K. Piano that's his Twitter handle his last name is Korshid and the tweet is can we stop with the myth that more code means more complexity? Sometimes less code means more edge casings ignored which means willfully and dangerously ignoring complexity not reducing it. And he gives some a sample of some simple code that just awaits fetch from API and then returns the data and it's saying here are some of the ignored.Complexity error handling data validation timeout handling cancellation interruption, etc. I super duper agree with David here and I very often will have people ask me about the complexity of some code because there's a lot of it. And the code that they're talking about is maybe some class name for tailwind, you know, a tailwind has tons of class names or maybe they're talking about inline styles with the CSS prop or sorry CSS

  • Code comments: tell me "why," not "what"

    13/02/2021 Duração: 02min

    Code comments, they're important you need to have them but what you say in the code comment is important so I worked at a place where we were starting to transition to ES6 and you know from using var to constant lead and you know all the new cool features, you know, JavaScript and gotten a lot of new and interesting things in a long time and so we're all starting to use these new things and I saw a lot of comments from some of my coworkers about like basically describing what the syntax. Was doing because it was unfamiliar done oh so that was I was installing with NPM and so in the in the code you would just find all sorts of places where just described what the syntax was doing because we were we weren't used to it. I never wrote those comments because those comments were not really helpful and I would not recommend to anybody write those kinds of comments and like you could do the same thing for APIs to libraries that that you're using that you're not used to like or you know, you could say,Maybe you have a

  • Keep an eye on Remix

    13/02/2021 Duração: 02min

    Hey friends I've just been thinking a lot about remix recently, so if you haven't heard of remix this that's what I want to tell you about just to try and convince you to go give it a serious look so remakes is a react framework that is both server side and client side it's a lot of people compare it to next but it's pretty fundamentally different from the way that next operates it is file system based routing though, there is a imperative API that you can use to declare routes programming programmatically, but what? Makes remix really special is it's embracing of the web platform and not just brand new features though, it does leverage newer features and things and take advantage of those when they're available but also like age-old features like http caching very heavily and gives you just really nice APIs for that sort of thing and I'm like resource preloading and prefetching a lot of really really cool things. Frankly that we reached for or we were excited about suspense for so like react suspense we're t

  • Different Problems, Different Solutions

    11/02/2021 Duração: 02min

    Hey folks I know it's a little bit noisy I'm in my car with the fans on because it's cold I just wanted to mention something that I thought was going to interesting. I was just thinking about how sometimes we argue about taking it technological choices, like what framework we use whatever and I thought of a kind of a real world situation that is kind of like this and let's say that you're talking to somebody and they're talking about how much they love their truck and and it's just the best and they can do anything they want to with it, you know, like what the like whatever I my sudan is amazing theKnowledge all this stuff is amazing like it's does everything that I need to and you can like argue and argue all day long about why you're sedan is better your hatchback or you're or the track or whatever but at the end of the day these things serve different and use cases for different people and so just like there's no one vehicle that can solve everybody's problems and there's no one JavaScript framework or it'

  • Don't build the solution before you understand the problem

    11/02/2021 Duração: 02min

    What is up my friends all right, so today I wanted to talk about investing the time at the right and appropriate time so I actually talked with my friend Jacob about this and yo-yo Jacob if you're listening and just in general we're talking about you have this really big plan for a big and exciting thing and you want to like create a business out of it or you want to build a whole new application or something like that and so you have these really giant plans what I want to tell you is try to. Avoid doing as much work as possible and like sorry let me say that again try to avoid solving problems that you don't yet have but thank you will so you have really have to have a compelling reason to solve a problem that you think you're going to have rather than solving problems that you know that you have right now so let me give you example of this my sister about a year ago when covet started she is a violinist she's very good and she all of her violinist friends were just not doing great becauseCovid and everythi

  • Testing with Text and Internationalization

    09/02/2021 Duração: 02min

    Hey folks a common question that I get about testing and especially since react testing library or testing library in general you query the DOM by giving it the text that you're looking for so you say hey I want to get a button and it's accessible name is submit. And so the comment question that I get is well that must not work for internationalized websites that's probably just for like little toy apps or internal apps or whatever where you don't have any internationalization going on, no different languages because the word submit in English is not the same as it is in French orWhatever. So yeah, this is a really common question and what my answer is. Well, just use the default language. So if you're agency in Spain and so most of your websites your default language is Spanish then write the tests using the Spanish text and you when you run the test make sure that the all the languages and stuff are accessible to the tests so that when the components are rendered and the actual default language text is ther

  • Is it okay to make a function async if it doesn't need to be async?

    09/02/2021 Duração: 02min

    Hey friends so I got a question on discord from somebody who asked effectively is it okay to put async away on a function that doesn't need it and you can get useless rules that will prevent this. I think I have the enabled because I don't typically want to do this but there are situations sometimes where you want to start with an API that isn't asynchronous now but you're pretty confident that it's going to be asynchronous in the future and it's just easier. To plan with that asynchrony from the get-go rather than try to retrofit everything to work with asynchrony in the future and so yes, it's I think it's acceptable and it's okay to make something async when it doesn't need to be and you just have to be aware that any consumer is going to have to consume an async API rather than a synchronous one and you'll have to consider the fact that because it's async it it is like as soon as you attach that async keyword onto the function onto the function keyword like right in front of that function keyword or in fr

  • Where my money comes from: my transparency page

    06/02/2021 Duração: 02min

    Hey there friend so today I want to talk to you about my transparency page. So I just added a new page to my website can't see Dodds.com slash transparency and I created this website or this page after I was thinking about something over the last few days about actually started with clubhouse. So actually, you know, what even before Covas I've always really been concerned about the incentives of companies. And how messed up incentives can give us companies that will pollute the planet and sell users.Data And so if you have the right incentives and you know like for example a company that includes the planet needs to pay for the cost of cleaning that pollution up if that were to be the case then we would not have nearly the problem that we have now. And so just getting an incentives aligned in in the right way can solve a lot of problems. However regulation isn't there yet and and I don't know if it ever will be and I'm not here to talk about politics or anything. But incentives are important and so as consume

  • Rarely forEach, normally for..of

    06/02/2021 Duração: 02min

    Hey friends. So today I wanted to talk about looping over a raise and stuff like that. And pretty much I'm mostly want to talk about for loops. Early on in my software developer career that's pretty much exclusively how I looked over things and I learned about filter and map and reduced and all of those things and for each and all that and I went full in on that stuff. More recently, I've been getting into using four of loops for stuff. And I find that to work out really nicely.To the point where I don't think you'll ever ever catch me use a for each on an array anymore I and like I can't think of a scenario where that would be more simple than just doing a four of loop. With potentially the exception of you've got a function over here already to find and you're just gonna pass it as the argument to for each. Maybe that I guess could make sense but most of the time I'm just gonna be using a forever. So anyway, I Yeah, I don't really have much more to say about that. It's just kind of.Something interesting to

  • When client-side routing is worse than server-side routing

    04/02/2021 Duração: 02min

    Hey there friend so today I wanted to talk about something that I've been thinking about a little bit and it is client side routing. So Ryan Florence actually tweeted about this. I think like a year ago or something and and I talked about it recently on a podcast that I was on I think Dev mode FM or something. But yeah his tweet was basically like I kind of feel like client side routing is a mistake and we're better off with like actually going to get the document on it, you know, full-page refresh basically on every page. AndI I've talked with Ryan Florence about this quite a bit. And here are just some thoughts that I have about it. And I kind of agree with him sort of. So basically what what I'm thinking is that with client side routing by default or let's take a step back. So like before client side routing goes the thing you'd find a link on the page you'd click on that link and then you would see like the browser would give you some indication that something's happening. So you'd get the spinner at the

Página 4 de 12