CS in Review
A weekly roundup of my favorite papers/articles

The Software Ark: Issue 2

Mon 08 August 2022 / the-software-ark


Radical Candor - giving better feedback

A good article that goes over why and how you should go about giving feedback. The micro-buy-in and the openness to correction sound great. Myself, I used to use the good-bad-good sandwich, which rarely ever worked the first time around. You'd give feedback, and then the behavior would still continue, and it's only when you give the second more forceful piece of feedback that the issue actually gets fixed. In that sense, being direct might work better.

Scaling a tech org

A good read, but nothing groundbreaking here. Talks about distributing work across teams, having single-threaded leaders for each team, and regular surveys. A good intro, but not particularly useful if you're familiar with this kind of thing before. There's a section on developer satisfaction and that ties into my favorite soap-box, building the right thing for the right person, at the right time. And here's another one on finishing what you start. If you build the right thing, and you actually build it and don't polish indefinitely you build political capital, and devs feel satisfied for having delivered something useful. Wins all around. Another related good read is this article on reducing dev friction.

Breathing life into dead pig organs

WTF - this is very cool. Researchers restored circulation and cellular activity in the vital organs of pigs (e.g. heart / brain) up to an hour after death by cardiac arrest. There's no evidence of regaining consciousness, but medical applications might include keeping organs viable for donation post-death. The open question now is: at what point do you consider a person dead?

Excuses for when you're slacking off

Who? Me? Nah - you've got the wrong person. I haven't been slacking off. But if you ever have in the past, then this question on reddit hits a chord.

Alexa is now self-reflecting

I don't believe AI will ever rise up to get us, but I feel like the day is coming closer and closer. Alexa can apparently train new connections using request friction and rephrasings to infer linkages. I wonder if I can maliciously train it to prank people by asking really obscure questions?

The five types of bad managers

A good set of stereotypes - valid for most leadership positions. The Sphinx is by far the worst. There was an article I read about how the most important thing for a manager to be was predictable. I want to be able to predict how my manager might react to certain actions, to high fidelity. They manage my comp & opportunities after all. Don't be the sphinx.

On that sense - building trust is critical, so if you get a chance, this is also a good read on building trust.

Internet Health Report - 2022

A lot of data around the usage of ML/AI in the industry today, alongside context on how this influences power dynamics, privacy, etc. Like how an algorithm blocked a kidney transplant - wtf. A lot of this is still US centric, but still a good read. One that I'd recommend leaving at least 30 minutes for.

Also a good read: Google 2FA entrenching poverty

We don't need no micro-services/cloud

An interesting take on when / why a single big server might be preferable to using a cloud solution. My rule of thumb for personal builds is never. For that kind of work, the free-tier in most clouds is more than plenty. It also pads your resume and keeps you up to date. Nonetheless still a good read.

The one thing that I'm super excited about that this article led me to is the PiBox by KubeSail. I've been searching for an affordable dev-box for so long. On top of that there's Docusaurus V2.0, so now I've got a fun migration project for my blog that I've got to plan out.

Advice for n00bs

Good for new grads. Old hat for everyone else. Also a good is Simple Systems have less downtime, and sidecars - which are common, but not well understood.

For more senior engineers, I love this article from Marc, it's a staple read that I come back to over and over again: Getting big things done.

Shell scripting on steroids

If you're like me, you're going to create a bunch of shell scripts to automate all those boring tasks that you've got to do over and over. For me that was usually git ref-log stuff, but I'm not sure what that's going to be now that I'm using mercurial. Either way - this is very cool!

GDPR by example

GDPR is a hot-bed of misinformation, where things get misconstrued often. This is a great resources that goes case by case, walking you through common scenarios and what you should be doing in each situation.

DAOs and decentralized community building

Crypto's taking over the world, so this article that looked into crypto native communities and how work got done was a fun read. As a consumer, it also gave me insight into tricks that founders use to get their products launched. Tricks that I'm not sure I agree with.

Global tables & consistent reads at scale

Cockroach DB minimizes read contention using a TrueTime variant atop NTP with max configurable clock-skew. It works, kind of, if NTP skew is notably within or outside the uncertainty bounds. Otherwise, you're out of luck. When it fails - it'll bring down the world.