Weekend Reading — 2021 🎉 You ready? I'm ready!

This week we trade the disaster 2020 for a hopefully much better 2021 🎉 Also, dev TikTok, the Mad Max musical, a boss auto reply, and an upbeat_anxiety.jpg.

Fantastic ad campaign from Twitter (click for more ads)

I won't see you until next year, so Happy New Year, and may all your resolutions come true! 🥳🎉

🪑 Design Objective

Xaquín G.V. “I had to do it #DistractedBoyfriend”

🧰 Tools of the Trade

2020 Roundup of Web Research I linked to some of these before (HTTP Archive’s annual web report, State of CSS 2020, etc). Check out the complete list, with interesting reports from GitHub, Google, MDN, StackOverflow, LinkedIn, and more. And also … what's up with Tuseday???

Ruby 3.0.0 Released “Ruby3 will be 3 times faster than Ruby2” Nice. (though: “it is still not ready for optimizing workloads like Rails … Stay tuned for Ruby 3.1”) Ruby 3 also adds static type checking, actors for concurrency, and endless method definition. When I first read that, I thought “bottomless method definitions!” Alas, they're less brunch Mimosas, and more what JavaScript developers call arrow functions. For good measure, Ruby 3 adds fat arrow but for rightward assignments, so x => y is valid in both languages but means something entirely different. I can see this not being a problem for web developers.

Introducing Zero-Bundle-Size React Server Components This is great news for React developers. Server components are different from server-side rendering. SSR is a half measure to get some HTML to render earlier. Overall meh. Server components can stream HTML to the client and significantly reduce the bundle size (less blocking JS). The downside is that you're signing up for new complexity (bundling model, HTML-over-JSON protocol, etc) to stay in the walled gardens of React.

HTML Over The Wire | Hotwire Another take on the same problem: responsive web apps with server-side rendering. Hotwire takes a simpler approach, and even got a cool name: Hotwire is short for HTML Over the Wire. It's basically a packaging of TurboStimulus, and the forthcoming Strada, which are part of the Bascamp/Hey stack:

Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire.

Isabel Suchanek 👇 The problem with slow build systems and how they result in broken deploys:

Sure, we could deploy now but there's another commit going in soon so maybe we can wait and save time and deploy later. Especially when you have a deadline you need to meet. You could work on an important feature or spend an entire day trying to deploy to prod

Lea Verou True. And why I'll never write another technical book (didn't learn once, but twice was enough):

If you're doing technical writing right, coming up with the right examples takes 90% of the time. Explaining things is the easy part.

The tension between making them simple enough to be easy to follow, but still reflect real use cases, not random foo/bar, is so tricky to satisfy

Sailor Ghoul 😆

TypeScript is like if Java and JavaScript finally acknowledged that they know each other and had a baby.

🕸️ Web-end

Addy Osmani Comparing different techniques for solving the hardest problem in front-end engineering:

CSS centering techniques vs. their resilience to change: http://bit.ly/centeringcss a great visual write-up by @argyleink covering trade-offs centering with Grid, Flexbox & others.”

AnimXYZ Composable CSS animation toolkit (plain HTML, React and Vue)

Colin Bendell “State of animated gifs, webp, avif or <img src=mp4>
👉 AVIF is just as good as Safari's <img src=mp4>
👉 GIF decode is slow 🙈, FF is much slower
👉 WebP is BAD in Chrome. FF and Safari are MUCH faster

(macOS 11 beta8, ethernet, MBP 16")”

Jason Miller 🤔

Here's a recipe webpage after sitting for 5 minutes:

↙︎ with ads 🆚 with ads blocked ↘︎

📓 Lines of Code

Charity Majors Ship then babysit:

only merge your code if you know you have enough time to debug it, if there turns out to be a problem with it. and always, always stick around and look.

it's the irreducible complexity of software. no automated check will ever be suffice. you gotta fucking look at it. EOF

Cognitive Biases In Software Development The memes in this article are cracking me up.

@lizml07 Dev TikTok is more fun than Dev Twitter.

🧑‍🤝‍🧑 Teamwork

Shreyas Doshi 👇 The Incompetent Leader playbook and what you can do about it:

The IL is savvy & charismatic, and excels at 4 things:

  1. Feign competence

  2. Create confusion

  3. Buy time

  4. Fail up

Clare Liguori “Today is my last 2020 workday so I'm reflecting a bit on what I did this year, but also about my approach to time management this year and how I attempted to answer for myself that age-old principal engineer question "Why don't I have any time to do real work???" - a thread 👇”

Jesse “sent out our final newsletter for the year this morning and I’m still thinking of this boss at autoreply. choose wisely”

📈 Business Side

Don’t Fire Your “Worst” Customers. Hire Them a Psychiatrist Instead Every business gets there eventually, and I also believe the best solution is to hire a Customer Listening Representative:

So what’s my uber-advice here? If you have a customer segment that is (x) annoying, that you don’t really want today, that sucks up all a lot of your customer support time … but (y) that is generating at least $20-$100k in revenue per year as a segment, and/or at least 5% of your revenues … then don’t fire those customers. Instead, (z) hire them a psychiatrist. You don’t have to give them any more story points, or sales attention. Just the attention of this one brand new hire.

phantom writes 👇 This thread has many hard truths about high tech, software development, and unnecessary complexity:

like you don't need a load of experimental functional reactive stuff to make a taxi app. you just don't. you let people do this because a core way that "technology companies" burn money is by letting programmers entertain themselves in order to appear smart

you have to manufacture the idea that something is a challenging technology problem in order that goofball VCs have some plausible excuse other than labour and regulatory exploitation to throw money at you

🔒 Locked Doors

Matthew Green TIL Your phone is fully encrypted when it’s powered down. Once you unlock your phone, it's up to each application to encrypt the data. Or not. And app developers usually choose to not:

My students @maxzks and Tushar Jois spent most of the summer going through every piece of public documentation, forensics report, and legal document we could find to figure out how police were “breaking phone encryption”. 1/

The new stimulus bill makes illegal streaming a felony The bill specifically targets services that stream pirated content for a profit. It's not coming after your Twitch stream, YouTube usage, or sharing a Netflix account. Saved you a rageclick. However, the CASE Act that’s bundled in this bill — to set up a copyright claims court within the Copyright Office — that one is problematic.

GoDaddy Employees Were Told They Were Getting a Holiday Bonus. It Was Actually a Phishing Test Who would do something like this? 😡

Sent by Happyholiday@Godaddy.com, tucked underneath a glittering banner of a snowflake and stamped with the words “GoDaddy Holiday Party,” the Dec. 14 email to hundreds of GoDaddy employees promised some welcome financial relief during an otherwise stressful year.

But, two days later, the company sent another email.

“You’re getting this email because you failed our recent phishing test,” the company’s chief security officer Demetrius Comes wrote. “You will need to retake the Security Awareness Social Engineering training.”

kevin smith “yeah, I chuckled when I read this part of the SUNBURST analysis. naming is one of the hardest problems in computer science, indeed. 🙃”

🏛 Politechs

Ethan Zuckerman 👇 A thread about the importance of Section 320:

Like Jimmy, I remember the web before section 230. At http://Tripod.com, we were providing homepage hosting services to thousands of users. Like Geocities, our main competitor, our product was free to use, supported by advertising.

This is the Stanford vaccine algorithm that left out frontline doctors ”Blame it on the algorithm” is the ”dog ate my homework” for corporate malfeasance:

It is not a complex machine-learning algorithm (which are often referred to as “black boxes”) but a rules-based formula for calculating who would get the vaccine first at Stanford.

The employee variables increase a person’s score linearly with age, and extra points are added to those over 65 or under 25. This gives priority to the oldest and youngest staff, which disadvantages residents and other frontline workers who are typically in the middle of the age range.

Cryptocurrency firm Ripple expects to be sued by the SEC; XRP plungesMajor milestones for cryptocurrency. And no, I'm not talking about Bitcoin flirting with $27K. Prices go up. Prices go down. One thing that only goes up: regulatory scrutiny. And in that corner, we got a felony case against Ripple/XRP (4th cryptocurrency by market cap), and the US Treasury looking into reporting requirements for virtual currency transactions. I expect we'll have bank-like regulations as soon as cryptocurrencies cross the trillion dollar mark.

Platforms, bundling and kill zones On the complexity of antitrust cases and regulation when it comes to Apple, Facebook, Google and friends. It's the classic ”I can’t define antitrust but I know it when I see it.” (Bonus points: how many anti-trust cases can you count in this screenshot?)

⭐ None of the Above

Karl Mondon “Merry Christmas from San Francisco where a gingerbread monolith appeared overnight at Corona Heights Park.”

Kevin Fippin “I read this tweet entirely wrong and I want you to also” 🤣

Variety: Warner Bros. to Release ‘Mad Max: Fury Road’ Prequel, ‘The Color Purple’ Musical in Theaters in 2023

Maggs 💪

I used to doubt I could make a difference because I'm just 1 person.

Then I looked at the recommended serving size for Oreos & realized I do the work of 4-6 all the time.

Miranda Summers Lowe “Hello 2020 👋🏼”

Ben Orenstein I feel called out:

Most people don't know this, but I start every day with 90 minutes of meditation.

It leaves me calm, focused, and also I'm lying and actually just read Twitter in bed.

Dr Momifornia 🔥

HEARTWARMING STORY: A woman’s coworkers found out she was walking five miles to work because she didn’t have a car so the community came together to elect political leaders who would fund and maintain a safe and reliable transit system so she and others could get to work.

Uncle Duke “The odds of being murdered in your own home by psychopathic waterfowl are low, but never zero.”

WheatNOil 👇

The mRNA vaccines (Pfizer and Moderna) are kind of brilliant at a science level. I’ve had a few people in my real non-Twitter life ask me to explain how it works so I’m going to try my best here in this thread while I’m waiting for a patient to show.

2020: The year in charts, from Covid-19 to the election

A side-by-side comparison of the Pfizer/BioNTech and Moderna vaccinesTL;DR they're both equally effective. You need two doses. The Moderna vaccine is easier to store and transport, and has smaller minimum order quantity. That will probably be the deciding factor in which vaccine you get. Also maybe they overshot on the dosage requirement:

Each dose of Pfizer’s contains 30 micrograms of vaccine. Moderna went with a much larger dose of vaccine, 100 micrograms. It means it is using a little more than three times as much vaccine per person as Pfizer is. And yet, they aren’t getting better results.

Nicholas Grossman “It appears the UK now has the free trial version of Europe rather than the full licensed version.”

Claire Lamman “Partner and I made a gingerbread International Space Station!”