JS Party – Episode #157

New Year's Party 🥳

with Emma and friends

All Episodes

KBall, Amal, Chris, Divya, Jerod, and Emma discuss 2020: the good, the bad, and the ugly. Then they change direction and discuss their 2021 resolutions and wishes!

Featuring

Sponsors

Raygun – With Raygun Error and Performance Monitoring you have all the information you need at your fingertips to quickly find and fix errors and performance issues across your tech stack down to the line of code. Get started with a free 14-day trial, head to raygun.com and join thousands of customer-centric software teams who use Raygun every day.

Changelog++ – You love our content and you want to take it to the next level by showing your support. We’ll take you closer to the metal with no ads, extended episodes, outtakes, bonus content, a deep discount in our merch store (soon), and more to come. Let’s do this!

Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.

Linode – Get $100 in free credit to get started on Linode – Linode is our cloud of choice and the home of Changelog.com. Head to linode.com/changelog OR text CHANGELOG to 474747 to get instant access to that $100 in free credit.

Notes & Links

đź“ť Edit Notes

Transcript

đź“ť Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. 🎧

So welcome to 2021. I’m super excited to be here, and today I’m joined by Kball, Chris, Divya, Amal and Jerod. How are you all doing?

Party time, y’all. Very excited!

This is already getting off to a great start. I love it.

Yeah. [laugh]

I love it!

Hi, everybody!

I am sadly missing a kazoo, but I think Jerod’s gonna fill in for me.

I’ll see what I can do.

So I think that we can kind of all agree that we were very much looking forward to this new year. 2020 kind of threw all of us through a loop… Is that a programming joke? Through a loop?

An infinite loop…

An infinite loop… And I think today we should touch on just a few things that maybe happened last year, but let’s focus the majority of the time looking at the new year. So does anyone wanna kick us off talking about 2020 in review?

It sucked!

I’d just like to point out how Kball failed all of his resolutions and predictions from last new year’s party.

I forgot what they were even…

Oh my gosh, this year sucked… I mean, I don’t wanna rain on anybody’s parade if you had a good year, but holy smokes… I mean, all my hobbits were – habits. No, hobbies…

You have hobbits? [laughter]

Was that a Freudian slip? Is there something we need to know?

All of my hobbies are habits… [laughter] All of my hobbies were dead this year. What do I like to do for fun? I go traveling, I go out dancing, I go and do improv theater… All of these are in-person, connected, person-to-person events, and they are all dead right now. And that has sucked.

Also, I’ve lost two family members this year, another one hanging on by her fingertips… Like, life is not good this year. Or last year. 2020. 2020 sucked. But we’re getting through it… And 2021 is gonna be better, right? So let’s go.

[04:13] It has to be. Yeah, I think it will be better. In the chat [unintelligible 00:04:17.15] said “2020 resolutions were off the table”, and I would just like to take a moment to appreciate that, because yeah, I think we can all agree that the definition of a resolution as last year kind of changed. It changed for me a lot, too. I went from having really technical resolutions to just focusing on mental health.

Yeah. I think everyone’s just trying to get through it. I think it’s just been a very humbling year, for everyone. It’s humbling in the sense that I think we’ve all learned new levels of patience with ourselves and our families, and with our goals, and ambitions… You had to kind of check yourself. But yeah… I mean, certainly I would say a generation-shaping year. I feel like it’s gonna shape our lives, and then folks that are younger than us, older than us; I don’t know. Everyone will remember what they were doing in 2020.

Agreed. Let’s take a look at a couple of the technical things that were delivered in 2020, because I – actually, it’s funny… I was putting together some of these things from ES2020, and I realized I didn’t know any of them existed… And that made me realize that I’d been more focused on surviving as a human than I have been on learning new programming skills… But I think it’s worth – let’s just chat about a couple of these new things that we saw in ES2020.

I don’t know if y’all are looking at these – have any of you used some of these new features, like optional chaining, global this, dynamic imports…

I’ve started using optional chaining everywhere…

Same! It’s awesome, because now you don’t have to check for undefined before you chain. You just optional chain and it’s great.

Yeah. No more using Lodash get, which is my hack around having to use and, and, and, and everywhere… I would use Lodash’s get, than to use the third parameter to set your default option if you can’t get it… But it’s a nice way of getting nested keys and objects safely… But yeah, optional chaining has definitely been everywhere, all over the place.

Has anyone here had the occasion to use BigInt?

I haven’t…

…other than validating that it’s there. [laughter]

Just in case, just checking on it?

Yeah, just checking on it.

Like, “Hey, BigInt. How you doing? Are you there?”

Basically.

The nullish coalescing operator was a cool one I didn’t know about. So it’s two question marks, and it returns the right-hand operand when the left-hand operand is either undefined or null. I think that’s super-cool.

It’s like a short-form ternary almost…

…without the ternary. You just evaluate two things.

I can’t wait to see all the convoluted code that comes out of that one.

So it’s basically &&, but it only matches null and undefined, rather than anything that’s falsy? Is that correct?

I think so, based on my copy and paste of the definition… And then the last one that I had written down was Promise.allSettled. It returns a Promise that resolves after all the given Promises are fulfilled or rejected. So those were a few of the things that we saw come out in ES2020, or that we didn’t see come out in ES2020 because we were too busy just being…

Doing other things.

…being people…

Eating ice-cream… Sulking in your bathroom and wondering why…

Watching Ted Lasso…

Sorry, kids, we’re recording this episode in 2020, and in the event that something miraculous and joyful happens, just –

There’s a vaccine. That’s miraculous!

Yeah, right. There’s that. Correct. But I meant to say, in the event that something else miraculous and super-joyful happens, and you’re wondering why we’re all grumpy and depressed, just some context for y’all.

[08:08] I don’t think anyone who lived through 2020 is gonna wonder why we’re grumpy and depressed about 2020.

Okay… [laughs] It’s not JS Party, it’s JS Purrty…

It’s more like a JS Funeral… [laughter]

Oh, no! Jerod!

Hold on, let me fix the mood here…

It’s time?

[jingle 00:08:29.18]

There you go. We’re happy again?

Okayy… That’s awesome. Cool. Speaking of things that are awesome, let’s talk about Vue 3 for a second.

It happened! This was one of Divya’s predictions.

Oh wait, are we done with talking about JavaScript?

Um, Vue is also JavaScript.

Yeah, sorry, people… I am sorry!!

Come on, Amal…

Unacceptable…

Sorry! I mean JavaScript features, okay? To the pedantic people out there. Sorry, sorry.

Did you have another one?

Yeah. All of them. Are you kidding me? Dynamic imports is like a game-changer. I’ve been using it for a while, but it’s really exciting, and it’s just very – it’s a nice way to make web more accessible to folks around the world. We have an easier way of conditionally loading modules… I think globalThis is awesome because it solved a really big pain point around which This is This… Right, Kevin?

This equals That, That equals This…

Right. [unintelligible 00:09:37.11]

Which This is this? That’s a great title for an episode.

Right. Which This is that? Exactly. Or… I don’t know. I’m confused. And then Promise also…

That’s the problem!

Right, exactly.

[laughs]

Promise.allSettled was really dope, too. It’s also another big problem, I think… Does anyone know if that takes care of having to avoid caching at every level, if you’re using Promise.all?

Oh, I don’t know…

I think Promise.all rejects if one of the Promises is rejected. And then Promise.allSettled will resolve once everything is resolved or rejected. I don’t actually know what would happen if one was resolved and one was rejected. I don’t remember what would happen. But I do know that it’s basically making sure that everything is resolved or rejected.

Yeah, I don’t recall the syntax or the API off the top of my head, but it returns this stuff, and you can inspect it. I think it gives you back an array, and you look at it and see which one of them was rejected and which was resolved.

Yeah. I think you chain a then, so it’s like everything and then do another thing. And as you mentioned, it’s available as an array. So you’d be like then, and then you can grab each individual item. I believe that’s how it works.

Another one that I haven’t messed with - it’s kind of intriguing… It’s like, “Well, are these cancelable Promises? Like, they abort controller stuff?” I saw a bit of that with regards to fetch… And I don’t use fetch, I don’t do most of my work on the frontend, but Node now supports AbortController for certain things… And I’m just trying to figure out “How can I use this? Can I really cancel a Promise with it? Or maybe it needs to be some sort of API that wraps a Promise and then I can cancel that?” But I think it’s gonna open up some more doors for how we do flow control with Promises, and such.

Yeah. Chris, can you tell people why you’d wanna abort or cancel a Promise? Since that’s maybe not a hot path for folks…

[12:01] Well, for example, what I would use it for is maybe I’m spawning a worker thread, and that worker thread is running a test, and I want to stop that test and go do something else. There’s several ways you could do that, of course. Right now you could just kill your worker thread, but you could also – I don’t know. It’s just like being able to abort some long-running – maybe a threaded task.

In the frontend world a common case is like say you trigger an API call based on an interaction, and then they hit Cancel, or something like that. And you say “I don’t care about that anymore”, or they toggle it back, or whatever. “I don’t care about that anymore. Let me just get rid of it and move forward.”

Definitely. I wanna also touch on maybe something that wasn’t so awesome this year… I know we’ve got a lot of awesome and not-awesome stuff, so I wanna keep it moving just a little bit. But let’s talk about something that maybe wasn’t so awesome this year. Kball, I think you wrote this one down…

I did. I’ve put a lot of not-awesomes in the doc this year…

You’re bringing us down, Kball. You’re bringing us down.

I know, I know… So pairing the awesomeness of ES2020 and JavaScript continuing to move forward, another big area in the web recently has been WebAssembly, and Rust, and things like that. And while those do continue to move forward, the big layoffs at Mozilla, where they essentially just shut down entire teams that were focused on improving the web platform and improving these other pieces of the web platform was a very not-awesome part of 2020.

I don’t necessarily wanna go into some of the political questions there, because there are some, based on what their subsequent revenues were, and various other pieces… But I think it is highlighting that we do not necessarily have a robust community-supported ecosystem throughout all of the web. A lot of stuff is owned by large companies, which Mozilla, despite their Foundation piece, still is a for-profit company, and kind of is at the whims of their decisions to keep investing or not.

They also laid off a bunch of their docs team as well…

Yeah, MDN.

But it’s interesting, because – from my understanding, the entire MDN team was fired… And then I think yesterday I just saw a release of their new platform for MDN… So I don’t actually know who took on the project, or who started working on it. I’m sure it’s – there might have been a reshuffling of people who weren’t initially on the team moving on… But they did release a new platform called Yari, I think it’s what it’s called.

So there’s progress happening – it’s kind of interesting; it’s almost like they went backwards, and then this progress… I don’t exactly know the politics of that, as you mentioned, Kball, but there’s probably a lot happening.

I thought I read they wanted to make it up like a wiki, and maybe that’s what that is.

Yes. So you can contribute through GitHub now, I think. That’s the idea. It’s more of an open process than what it was before. So I guess the upside is that people can contribute, but the downside is that – MDN had very high-quality docs, because they had a docs team that was writing the docs… So we’ll see what the community-contributed docs are like. Maybe it’ll be good, I don’t know.

[15:45] Right. I agree with you, Kball, in terms of the frailty of our systems when we centralize around large players, who provide huge value, because they’re large, and they do that… And then we just kind of allow that to go on, or we benefit from that… And then when that goes away, for whatever reason, then it’s like “Now what do we do?”

I think it’s sort of this system working, or the open source community working to see the WebAssembly team moving and changing, and new players step up, and people that no longer work at Mozilla find work elsewhere, or can continue to contribute to the things they find interesting… So it’s been a step back, and a big one, and I think it kind of pulls back the veil of, like you said, we’re not that robust… But then we learn - and I think when we get to the predictions section I’ll talk about this a little bit more - because we start to see the value in decentralization, and diversity, and bringing more players to the table, and not relying so much on the big players.

Yeah, that’s a really good point.

It’s tough though, right, Jerod? I feel like that’s becoming a harder and harder hill…

Because even when looking at new, popularized projects these days in the JavaScript community, a lot of them are coming out of the big tech companies… So you know, that comes with its drawbacks. I don’t know.

For sure.

And it’s tough to compete with a project that has a dedicated team that’s being paid full-time, versus a community-driven project.

But hey, Vue 3 dropped, right?

Yeah, it did… It’s better.

Right, yeah. When community-driven works well, it has some huge benefits. So I think actually our awesome/not-awesome pair of Vue 3 and Angular highlights this really well, where Vue 3 is a community-driven project, they’ve made great strides in going from a very BDFL, single-developer focus, to having a robust team over the last couple of years… And they dropped a new major version, with some big improvements, that we can get into.

Contrast that to Angular, which is one of these massive mega-corp-backed frameworks, where there was a lot of drama and thrash going on around the core team… And it really feels like that framework which has been one of the big three for a few years is falling further and further behind the cutting edge. And it’s struggling. And I think it’s because it’s mega-corp-backed, and it’s not a priority for the mega-corp anymore, and there’s a lot of thrash going on.

Interesting. Cultural anthropology study right there… [laughter] Mega-corp versus community. Who’s gonna win?

Right…

I’d click on that.

It’s a lot harder to get it going in the community side. That’s so much work, and it’s so hard, and it’s so much non-technical work to keep pushing, and maintaining, and building all those community pieces and relationship pieces, and all of that… But when it works, I think it creates a much more robust outcome. It’s the whole monoculture vs. a diverse setup. A monoculture is easy to stand up and get going, it’s very efficient in some ways… It’s just very fragile as well.

Definitely. I think that warrants an entire conversation in and of itself. We are gonna take a quick break. When we come back, we’re gonna get a little happier and we’re gonna talk about something really awesome that happened in 2020, which was Vue 3.

No Promises on that Vue part, though… Just kidding, definitely. [laughter]

I’ll reject your Promises. [laughter]

Oh, good one! Points for Emma.

We’ll all settle it.

Oh…! Okay, let’s end this. Can we stop chaining? Just kidding.

Can we cancel that Promise, or that’s not supported on JS Party? [laughter]

This has been some non-optional chaining…

Alright, done. Cut it!

So before the break I kind of mentioned that we would touch on Vue 3 a little bit… I don’t wanna go too in-depth here, because we actually have two episodes we’ve already published on Vue, so we’ll link those in the show notes for you to check out… But should we just very quickly mention just a few features of Vue 3 that were really great in 2020?

Go, Divya!

TypeScript! Reactivity! Composition API! Those are the main three that I was excited about personally, because that was really nice…

Are you still deep in the Vue stuff, Divya?

I’m not. I actually write a lot of React now…

Sad. [laughs]

Sad? Sad face…

Me too, and I’m sad. I miss it.

It’s fine. I already tweeted my annoyance many times. [laughs]

Another thing I haven’t had the opportunity to play with very much, but I was really excited to see, is that they made it possible to really import the reactivity piece of Vue as a standalone module, so you can actually play with things doing reactivity without pulling in the whole framework. It opens a lot of cool possibilities for creating reactive code that is not tied into the UI framework.

That’s interesting. What module is that? Do you know off-hand?

I don’t, off-hand… But I can look into it if you want. Let me see. Let me google that for you.

Is it like an observable type thing? Or how does it feel to use it outside of the context of Vue?

I have not gotten the chance to play with it very much yet. I would imagine it actually feels a lot more like Vue’s reactivity than observable.

I think it’s sort of Vue-like, but you would just import it; so you would just import that particular component… Which I don’t actually know if it’s a standalone thing if you just import it from the CDN. I’m not 100% sure.

I think you can import it looks like vue/reactivity; there is a package.

Oh, that package. Well, then yeah, maybe…

I’m seeing “Import reactive from Vue” in this documentation.

Yeah, exactly. That’s usually what you would – you’d just extract that. But I’m sure there’s a way for you to just use it – if you were to just use… Yeah. But yeah, that is really nice.

Yeah. So if y’all wanna learn more about Vue, we’ve got a couple of episodes; we’ll link them down. But we wanna focus on some other best and worst moments in web dev… But not just in web dev; I think as an industry. Or as a human population, I guess. Because for me, I actually didn’t do any conferences this year. I did one before Covid got bad and there was quarantine. It was in February. That was in-person. I didn’t do any virtual conferences, but they were rampant… Which is good and bad.

I think that they are – I’d like to see the good in it, because it makes them accessible to more people, and it allows us to have more diverse speakers when we don’t have to factor in visas, and travel, and things of that nature… But how do you all feel about virtual conferences? Did you do any this year?

I think the timezones were a nightmare, really.

Oh, yeah.

[23:44] That was the hardest. Because I love the pro upside of anyone from anywhere could participate as a speaker or as an attendee, and there was a lot more intention, at least after the initial lockdown, into how “How do we make conferences more interactive?” Because I think in the past it was just “Let’s make speakers record video and throw it on YouTube, and then have people watch it”, and it was horrible.

But I think the timezones was really hard to work with, because now if you’re speaking at a conference in Europe, you’re basically accommodating for EU time, which I guess from where I am, it’s six hours ahead… At least British Standard Time, that is. So that would be horrible, because sometimes you’d be like “I have to give a talk at 4 AM my time, because it’s regular time wherever the conference is happening.” That was the hardest part.

I was part of a conferences that was happening in Australia, which is almost day and night, basically… And my talk was supposed to start at 11:30 PM, and it ended up starting at about 1 AM… And I told the organizer that I cannot stay up for it.

I recorded it, and the point was that as a speaker you would participate in the chat, talk to people, and be interactive… But I was like “It’s 1 AM, and I am a zombie right now.” I basically start fading at 9, so I was like “1 is just way–” Like, it would ruin my workday, which honestly is the worst part of it. Because when you’re at a conference, you’re also taking time off from work… And I’ve found the weirdness of like “Now it’s virtual, so am I actually taking time off work?” So I wouldn’t take time off work, and I would watch events or participate in between my breaks.

I’m at a point where I’m not doing it anymore, just because it doesn’t work for my personality and my work/life balance… But that’s been my experience in general. I know people who really enjoy it, and have been really happy because they are able to keep their home life, and keep in touch with family while also participating with the wider community.

I did a virtual conference, I did OpenJS World, a couple things there… I felt like it wasn’t really worth it… There’s all that stress of “Okay, I’ve gotta get my slide deck together, I’ve gotta practice my thing…” For this one I did have to do a recording… And I’m not set up to – I don’t ever do that, so that was difficult. “Okay, where do I put my webcam?” I had put my laptop on a bucket… It’s just like, what am I doing? It’s just like a lot of stress, and the payoff was not awesome… Because I go in there, I try to do a workshop… And I’m just talking. I’m not getting any feedback from anybody. I can’t look and see how everybody’s doing. I’m taking a pause, I’m not sure how long I should really wait… “Hey, people doing this workshop, do this thing”, and I have no feedback. So it was just like “You know what–”

Unless we all have some VR Second Life thing going on… The tech we have is not gonna make this much better. So for me, I’m not really interested in a virtual conference, and doing that again. And yeah, the timezone thing sucks.

Yeah, I have to plus one on Chris. It’s been way more work as a speaker, because you have to get your stuff done way in advance, which isn’t even conducive to how most people work. I don’t know how many speakers y’all know, but…

On the flight?

[27:50] Yeah, on the flight, right before the hallway; you’re still editing… So you don’t get to riff on your talk in the way that you would normally. You don’t get to really connect with the audience and you don’t get the energy boost. So all of the rewards of doing a talk aren’t there as much, so you just have more work as a speaker, and then you don’t have the feedback reward as much.

The conferences I’ve seen go off really well are actually the ones on Twitch. I’ve participated – yeah, Progress DevReach was on Twitch, and I did a session with them, and I thought that was so much better than pre-recording, or this or that… Because it’s a format that just lends itself to people chiming in and having a lot of chatter, it’s all live… It’s as close as you can get to an in-person conference.

But this kind of like “I’m gonna play an 8-hour video track and hope that people around the world are tuning in” - it’s just less appealing for me personally. I’m just at the point where for me conferences are more about the hallway track, and content from conferences is a thing that I do at home. I’ll watch a talk at home, alone, where I’m able to digest it and take notes…

Increase the speed…

Increase the speed, repeat, zoom into slides… But I really think that it’s opened up the world of conferences to so many more people, and I do hope that parts of that are here to stay. I think there’s a huge accessibility element that’s been very exciting to see.

Yeah. But if your first experience of a conference is a virtual conference, don’t think that you’re experiencing the same thing.

Correct.

It’s not the same. And there’s value in it…

It’s not. You don’t get to see Kball shake his hips, which by the way, we should totally link in the show notes. We’re gonna find that tweet.

Oh, my…

Kball, you have jelly hips. It’s amazing.

The hallway track, with Reggaeton.

Yes!! I approve.

Alright, y’all… [laughter]

Kball’s like “What did I just–”

[unintelligible 00:29:52.19]

No, it’s fine. I mean, next time we have an in-person conference we’ll dance. We’ll dance. It’s good. But yeah, I think one thing that’s interesting here is - kind of tying into one of the bigger themes of 2020, of all these different things going virtual - you had folks saying “Hey, we’re never gonna go back. This is the new future”, and that to me is totally wrong. What we have seen is that there’s a lot of things that can go well virtually, and we can be taking a lot more advantage of those things… But they are not the same as the in-person things.

Many, many more people can be working from home much more of the time than generally was thought possible… And it is not at all the same as going into an office, and many, many, many people, myself included, miss that.

Similarly, virtual conferences open up a set of things to many more people, and they have a lot of value, and they’re not the same thing as in-person conferences. I mean, I go to an in-person conference to escape from my day-to-day life and think differently. I don’t know about you all, but I’m already on Zoom all day, every day. I don’t need to do that more on a conference.

I think 2022 is gonna be a better year for in-person events. We’re gonna have so much of that blowing back from this… I hope we’re able to keep a little bit more of the virtual things as an option, because I think it does open new possibilities. It does open accessibility things, and I think it does create new and different events. Some of the virtual conferences that I think have done the best are those who have really thought about “How do we recreate some of what’s good about a conference in a virtual context? …not just take what we were doing in-person and shift it online.” But gosh… No. They’re not replacing in-person conferences.

Yeah. I totally agree.

Well, speaking of shifting virtually, I think it warrants a quick conversation about the scaling of remote work… Because that entire paradigm shift took a few months for many companies to be onboarded to… It’s funny, because I was working on GoToMeeting when all of this happened, so ironically, I was actually building a tool that became necessary to people… But I also already knew how to work remotely; but many people didn’t. And I’m curious how your remote working experiences went in 2020.

[32:17] I’ve always been working remotely, so…

It was weird, because nothing changed, but things changed. Nothing changed meaning you were still doing the same thing, but I realized I would be inside – because you were stuck indoors, everyone was in lockdown earlier in the year, and probably again later in the year, and probably again now, you’re not going outside… So I just noticed that I’m on my laptop all the time, which is something I was doing before, but now it’s increased tenfold… Because previously – like Kball was mentioning, a lot of my hobbies involve leaving; so I go for a bike ride, or go climbing, and it would be basically you’re off-screen completely. You’re like “I am not available.” And now because you’re stuck at home, what else do you do…? You’re on your laptop. Sometimes you’re on a screen, whether that be your TV, you’re playing a video game, you’re watching a movie, whatever… So it’s just constantly screen to screen. That is dizzying.

Some people have been very concerned, because I would notice that I would go outside for like four days. I would just forget to go outside. Because especially as the weather gets colder, I don’t wanna go outside, so I’d just be indoors the whole time… And that’s just very scary.

Yeah, that’s happened to me. My husband has reminded me, like “Oh, you realize you haven’t left the house in like four days, right?” I’m like, “Wait, what? Really?” Yeah, I know… Because you’re trying to stay indoors more often, and then you times that with remote work.

Yeah. Well, imagine – I live alone, but not only that; I moved countries and had to onboard remotely, alone.

Oh, that’s rough.

Onboarding remotely is tough. It’s hard to make bonds with your teammates… And I cried a lot. I still cry a lot, let’s be honest.

Nothing wrong with crying, for what it’s worth…

I do think that Spotify in particular handled remote onboarding incredibly… And I actually – well, I’m not trying to plug my own thing; I just don’t wanna monopolize the whole conversation, because we have a lot to discuss, but… I wrote a post on why they did remote onboarding so well, and it was all about forging human connection remotely. I think this goes back to the conference thing, where - you know, conferences superficially might think that “Oh, it’s the tech content that’s most important. We could just throw it online, not a big deal.” But realistically, many people need the human aspect out of conferences, and how do we simulate that in a virtual environment. It’s the same with onboarding - how do you get up to speed all remotely? That was tough.

Link that up so we can read it.

Yeah, I will.

What’s different for me - so yeah, I’ve been working remotely for probably the better part of the decade, so I’m used to that… But when I would do that before, the kids would go to school, my wife would go to work, and I’d be here by myself. And that’s a whole world of difference from where we’re at now, where everybody’s here.

Preach…!

So there’s more disruptions… I really value my solitude, and there are always people here. So that’s like one experience that a lot of people have… And of course, the other experience is that you may be by yourself and completely isolated, and that sucks, too. So nobody’s having fun.

I think one thing that’s been interesting to watch… So I’ve worked on and off remotely for also close to a decade; sometimes remote, sometimes in person. I had actually relatively recently gone back to being in-person when this all hit; I had been working at a new company for five months, it was in-person, I was really enjoying that, and then we all shifted remote…

[36:15] So in some ways, I personally was better prepared for that than most of the folks at the company. But one of the things that I saw that was really challenging was - similar to what we were talking about with conferences, trying to take the things that were happening in-person and just shift them online. And in the particular case here, that refers to meetings; lots and lots and lots of meetings.

I think a remote-first culture that is built from the ground up often will put a lot of asynchronous and textual decision-making processes in place, and you’ll have ways to collaborate and coordinate that are based on asynchronous technologies, and things around that… And in a company that’s set up to make decisions synchronously, because that’s how they’ve always done it, and it’s done in meetings, that’s translated to (once again) the wall of Zoom, where you’re just in Zoom calls all day long.

Yeah. I would say there’s a lot of growing up companies need to do, because quite frankly, I think working synchronously is very expensive, regardless of whether you’re in the office or not. The point that you’re making, Kball, of people working more efficiently, pushing more things into async communication, kind of inner-sourcing their culture - it’s necessary to scale. Because you’re not gonna get more hours in the day, and you can’t keep hiring more people and having them work at 60% efficiency level… So yeah, major +1 on that.

I think Rework is – actually, I have it right here for folks on the live stream… I’ve started reading this book. And other like books about remote work as well. Well, I would say working more efficiently as a technical organization. Remote is one of them; same author, Jason Fried and DHH. Basecamp nerds. And then Accelerate is another one.

I think they go super-hard. They go the total opposite. They’re like “You don’t even need to be in-person. You can do everything virtually.” I think they’ve been on the remote train for years. I don’t actually know if Basecamp started remote, but I do know that it quickly went remote if it didn’t.

I think it did start remotely. I mean, I do like those books. Also, “It doesn’t have to be crazy at work” is another one… But I did find some of their mentality problematic to a certain extent, because – like, they had talked about how “Yeah, we’re fully remote, but we don’t expect people to be online all the time…” It was a little contradictory in their mentality of like “Okay, people can come and go as they please, but also, you have to tell us where you are at all times if you leave.” And I was kind of like “Okay, but which is it? That doesn’t sound super-healthy.” I think good communication is important, but if you’re mandating people to let you know where they are every minute of every day, that’s mentally taxing.

I think it’s also worth mentioning that there’s a pro to just being able to work anywhere, because it also means you can hire from anywhere… But there’s also this conversation that we see happening, which is the pay scales are changing… So a lot of people are like “Well, if you live in this particular place - like, if you like in Iowa, versus San Francisco, we’re gonna pay you less, because living in Iowa is cheaper than living in San Francisco”, and there’s a lot of weirdness around salary bands, as well as moving.

So if you lived in Iowa, you started a job, or you got promoted there, and then you moved to New York, let’s say, which is more expensive, your salary will not change. You’ll still be at the rate that you were at where you started, or where your salary was negotiated… And I think that makes it really difficult now, because you’re almost now – there’s a nicety where you can work from anywhere, but you’re sort of stuck, in a way. So you’re working from this place that is cheaper, let’s say, and if you wanna move to somewhere more expensive, it’s really difficult.

[40:28] I mean, obviously, the reverse – I’ve not actually heard companies that have gone down the pay scale… I know there are some that do that. But I think the more common scenario is that they won’t upgrade you if you do move. If the company is based in San Francisco, you decide to move to San Francisco from a cheaper place, they won’t change your salary… Which I think really sucks.

How about paying people based on the value they bring, and not the location they’re in?

Exactly. That too. Yup, that too.

That seems like a much healthier way of doing it.

What’s interesting about the whole salary bands thing is – I’ve totally spaced out and forgot, actually… I think I was really distracted by Emma’s cat. [laughter] So I’m gonna just retract…

Which is a great plug to say–

And with that, let’s break!

We should break…

Yeah. If you’re not watching the live stream, we livestream on YouTube. And with that - yeah, let’s take a quick break. When we come back, we’re gonna wrap things up, hopefully on a lighter note.

Okay, so it was a little bit somber, the last segment - which, to be fair, I’m glad we discussed it, because I don’t think it’s fair to just say “Everything was great and shiny in 2020.” I think it’s important to acknowledge that things weren’t. But let’s look forward now. It’s 2021… Let’s talk about a few of our resolutions and wishes. I’m gonna give it to Kball first. What are your resolutions this year, Kball?

Well… I mentioned Covid killed all my hobbies, so I’ve created a new hobby for myself; I’ve been focusing on fitness, and learning a whole lot about my body, and how I can change things about my diet, and how that impacts different things, and different types of exercise, and whatever. And part of that has me reviving long-neglected ideas about learning to do more gymnastics, and being able to do handsprings, and things like that. But those aren’t gonna happen till I can have a teacher.

Focusing on what I can have under my control during Covid times, my goal for this year is I’m gonna get to ten handstand push-ups by the end of the year. I’ve been working for it…

Nice…!

I can get like two right now. Handstand push-ups are hard.

Those are so hard.

They’re so hard.

I can’t even do a handstand.

Are you doing it against the wall?

So right now for training, yes. I’m also practicing doing standalone handstands, but I can’t do both at the same time right now. But the goal for end of the year, ten (knock wood) free-standing handstand push-ups in a set.

Part of this is my ever-increasing desire to be able to do weird, crazy physical things, so being able to add some handsprings and break-dancing things to my dancing repertoire would be cool… [laughter]

I knew this was to feed some ulterior motive…

It’s all going back to the salsa…

We’ll get there, we’ll get there…

Amazing.

…but in the right now, I’m focused on the body control/fitness piece of it, and it’s setting me up for wanting to do – once again, when we come out of Covid, when I’m able to go do classes and things like that, I’m wanting to go to some gymnastics classes and things around that.

Awesome.

Also, real goal - if it’s safe, I’m gonna be traveling. I miss it so, so, so much. As soon as we’re safe, I wanna book a trip.

Where are you going? Where is your top place?

Oh, God. It depends. [laughs]

Sweden! Come to Sweden.

Sweden sounds great. We have a Hawaii trip that we wanna do. We wanted to go to Mexico last summer, and it got canceled…

“It sounds great, but…”

[44:06] I wanna go back to Colombia…

Nice.

We were gonna go for JSConf Colombia again this year, or NodeConf Colombia again this year, and that didn’t happen, so… So many places. But it’s gotta be safe first.

Definitely. Yeah, one of mine is to see my family, because I haven’t seen them in like a year and a half… And I was supposed to go in January, which obviously got canceled… So hopefully by June I can go see them, but it will be two years, which is super-sad for me. As a result, most of my resolutions are taking care of my mental health, and not over-committing, because I do this… Especially if I’m just sitting around all day, I will say yes to basically everything, and then I get overwhelmed and burn out. So I need to work on that.

But in terms of tech, I really wanna get more into animations and CSS. I’ve been playing around with Framer Motion. And I love CSS; I’m doing a workshop next year with Frontend Masters on CSS, and I’m very much looking forward to learning more about that.

Are you planning on trying GSAP as well?

I don’t know. I know Sarah Drasner has a course on it, and I’ve been meaning to take it… I kind of wanna try all the different libraries. I have worked a lot with React Spring, I am now getting into Framer Motion… I’d like to get into GSAP; GreenSock Animation Platform, for those who don’t know what that is… Yeah, I would love to look at all of them; that would be a fun episode to record, wouldn’t it?

Mm-hm. Yeah.

That’s be pretty cool.

Divya, what are your resolutions for this year?

I’m trying not to put too many resolutions, because I have this thing about setting so many resolutions for myself and never following through. My resolution this year was resilience, which I actually think I practice a lot of, considering this year has been tumultuous. There was a lot of resilience necessary. Am I good at it? Probably not. I’ve developed other things that are not necessarily related.

But anyway… Similar to Kball, I’ve picked up a lot of hobbies, because I can’t go anywhere… Which has resulted in a complete lack of focus. I don’t know if this is a bad thing or a good thing. I’ve heard people say it’s not a bad thing. I personally think it’s not not a good thing - I don’t know; double negative - because I have been doing so much, and I’m bad at so much… So I’m trying to be more focused in terms of what exactly I’m working on. One of that is hobbies - do I wanna focus on one particular hobby? Because previously I was climbing, and that was my one hobby, and I put a lot of time into it… I can’t do that as much anymore. I’m also not surrounded by mountains, which sucks, so I can’t go out as much…

So my hobbies have included electronics, music stuff, weird animation things, pixel art… Just everything under the sun that you could do indoors. So I think my goal is just to focus on one thing, just to be like “This is the thing you’re gonna do.” And it’s not to say that I have to do it for the entire year, but it’s just focusing on it for a month. “For one month, I’m gonna just do this one thing, and then it might give me a bit more clarity, rather than feeling frazzled.” That’s sort of my goal.

And it’s the same with programming languages, because currently I am learning Go and Rust at the same time, and it’s been great. And it’s more for work, because I work in a role now where I’m writing JavaScript, Ruby and Go simultaneously, which has been a [unintelligible 00:47:28.23] As well as Rust. There was Rust as well. So it’s just been a mess. My writing languages has suffered as a result. But yeah, that is my goal.

I love that. I love that you have one word to define your actions for the year. I think that’s really a good mentality to have, because then you’re never disappointed if you don’t achieve tangible things… Yeah, that’s healthy. What about you, Amal? What are some of yours?

I wanna hear from Chris first… Can we hear from Chris?

Yeah, really.

[48:05] I wanna claw my way out of the abyss of disillusionment and alienation, and also I’d like to learn how to draw. [laughter]

That’s awesome

I love it. That’s so good.

Oh, Chris, I love you. You’re amazing.

Yeah, that’s a tough act to follow.

Yeah, why did you wanna go after Chris? You should have gone first.

Well, I don’t know… Quite frankly, it was out of my own sheer morbid curiosity and amusement that I was just really interested to know what Chris’ resolutions were… I find Chris to be a deeply fascinating person, so that’s where that’s coming from.

Yeah, I think for me more art, more nature, less tech. I wanna spend time doing more creative things… [background noise 00:48:57.09] Oh, wow. Is that the Reggaeton from your…?

Yeah, my computer just played it out loud, and I was like “Oh, my gosh…!” I’m so sorry.

For those of you wondering what that noise was - I don’t know if you can hear it, but… I’ve finally found that tweet; there’s a tweet of [unintelligible 00:49:05.09] taking a video of Kball dancing at All Things Open last year…

Just to be clear, she was taking videos of everybody dancing, so…

Right, right, right. That’s true.

This was not just me being out there.

It was prompted. He was prompted.

But it’s okay.

Yeah, she was going around getting everybody to dance… Which is great. I fully support it.

Yeah, I do remember that; she tried to get me to dance, and I was like “Hellz no, I’m not dancing. Definitely not.” Anyways… But yeah, more art, more creative stuff, more nature. I’m moving out to the countryside… And yeah, just to kind of reconnect with nature.

I feel like being a technologist there’s just too much tech in my life. My husband is an engineer… I have like two jobs. I have a real job that I get paid for, and then I have another less real job, that’s like community stuff, or podcasting, or whatever… There’s just a lot of tech in my life, and I think I do best when I have things in moderation, and I realized for the past few years I’m growing really strong muscles in some areas, and I’m losing in other areas, because there’s just too much tech in my life.

So I need to diversify my portfolio, and art and nature are the best ways in order to do projects… And projects that involve maybe technology in a creative way. For example, my husband and I are gonna build an automated watering system for our plants, using Raspberry Pi’s… But that’s like using technology in a creative way. I’ve been wanting to build a little LED screen for myself, because I’m always one minute late to meetings… So I wanted to have a Google Calendar thing that hooks into – not just Google Calendar; any calendar. I want a visual feedback with dots, so I know how much time I have until my next, and I know when I’m late to things… It just helps to have that, so we’re wanting to do some hardware hacking.

And then I need more friends that are not technologists, so I’m really excited. I’m moving out to a city that only has 7,500 people, and I’ve only lived in cities that are extremely dense… So I’m excited that I’m gonna make lots of different friends; I’m excited about making older friends, and friends who don’t know what JavaScript is…

Yes…!

So it’ll be good. That’s my plan.

I think you’ll love it.

Yeah, I think so too. I’m excited.

That’s awesome.

Yeah. It’s been a tough year, so anything to bring back some semblance of joy…

Yes. You’ve gotta treat yourself.

Yeah, treat yourself.

I’m gonna do that…

Where’s your soundboard, Jerod?

I don’t have that one. I need to go grab that sound

You’re slacking, man…

[unintelligible 00:51:47.26]

I’ll splice it in right here! [jingle 00:51:50.29]

Yeah, NBC might send you a bill, but… [laughs]

[52:05] Doesn’t it have to be like a few seconds? Like, if it’s below a couple of seconds–

If anyone sent us a bill, it’s Bette Midler for last week’s remake of “The Wind Beneath my Wings”. [laughter]

That was amazing.

That was amazing, that was amazing…

But I don’t think we’re on NBC’s radar just yet.

Well, Jerod, I think you’re last… What are your resolutions for this year?

Well, I generally resolved to not have a resolution, because I’m kind of a curmudgeon like that… But my wife and I do do the one word a year kind of a thing; we’ve been doing that for a few years. Her idea, loved it, have been doing it… So I haven’t picked my word just yet for 2021. My word for this year was “Finish”, because at the end of last year I had a lot of things that were started, but I wasn’t good at finishing them… And I’ve actually done right with that, because I’ve had more time to finish things.

I had to tell myself not to start anything new, because it’s so easy to start something new… And I almost started something new things year, but it kind of failed fast, so I didn’t start it, which was good. But yeah, I feel pretty good about “Finish.” I’ve finished this playhouse I had been telling the kids I was gonna build for a long time. We’re finishing our basement right now, and generally didn’t start anything new. So I feel like I’ve somewhat accomplished that; I don’t feel terrible about it.

I’m actually in the same category as Amal. I’m workshopping the word “Analog” for 2021.

Nice.

Like, get off the digital, get onto the analog, and just focus on that… Because just like you all feel, so much of my life has been digital this year… And the things that I really have enjoyed, like building that playhouse outside - hammering something into wood, and just being in the analog space, and really enjoying that was one of the highlights of the year. So more like that, and less like this. No offence, I love all y’all, but Zoom calls, right? [laughter] Less of those and more of the real world. So I’m thinking about that, and I have a few other things that I’m thinking of… But that’s where I stand as of now.

From Changelog to Analog. New podcast.

New podcast, yeah. [laughter]

Sounds like a Backstage episode…

Sounds like a good digital product we could put out, yeah…

Changelog to Analog… Oh my God… [laughter]

So there you go.

Jerod, I have to say, there’s something really magical about just being in the moment; being in the moment without any digital stuff connected. I just think we spend so much of our lives these days connected to something… So I almost wonder if an analog-free weekend or analog-free day is gonna be a norm in the future…

Oh yeah, time-box it. Yeah, it’s kind of like when you leave the house and you left your phone sitting on the desk, or something… You’re driving away from the house, and you freak out, like “Aaaaah! I’m disconnected!”

I never freak out when I don’t have my phone.

Yeah, same. Me too. Unless I’m on call…

Okay, I’m projecting. But then you decide “I’m just gonna leave it. I’m just gonna leave it.” And then all of a sudden life almost feels like a little bit better. It’s like, “You know what? It’s no big deal. You just can’t reach me right now. It’s kind of nice.”

And then some people who need to reach you get annoyed…

Yes. And then they start a fire and you don’t know about it…

That happens. And family is like “Why didn’t you pick up?!” I’m like, “I was doing things…” They’re like, “I needed to talk to you…!”

“About what?” “I had a question that didn’t matter…”

Exactly.

Sounds like family needs to meet DivyaBot. [laughter]

There’s a digital good you can create…

DivyaBot does not answer… [laughter]

That’s the best kind of bot. No code. It’s a no-code bot.

No-op. No-op bot.

Yeah. Even I can write that. [laughter]

So easy even Jerod can do it.

That’s right.

Oh, gosh…

Alrighty…

Well, I think this was a successful first episode of 2021.

Hey-hey…!

Hey-hey. Hopefully this year is good. We’ve just gotta believe that it will be.

Yes. To a less depressing year.

Cheers to a less depressing year.

Cheers.

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. đź’š

Player art
  0:00 / 0:00