humancode.us

On Conservatism and the Persecuted Class

April 15, 2023

Have you ever wondered why American conservatives always seem eager to make life hell for one group or another? Why are they so obsessed with persecuting trans folk today, who make up a tiny minority of the population and cause basically none of society’s problems? I offer a simple hypothesis: American conservatism requires some persecuted class to be defined to justify the ideology’s existence. Without someone to step on, conservatism simply ceases to be. Without something to expunge, there is, by definition, nothing to conserve.

American conservatism is strongly correlated with a hierarchical view of the world. A good way to feed a conservative’s need to feel like they’re on top, then, is to classify someone else as an inferior. A persecuted out-group can be agreed upon to take the blame for society’s ills, so that the in-group can declare themselves blameless. And because the very notion of a blameless class of superiors is ridiculous on its face, a new class of persecuted people must be found whenever a previous group is used up, lest the superior class is left with only themselves to blame.

Read more…

Streaks are bad for you

April 13, 2023

I’m convinced that streaks is an antipattern for healthy habits, and it is actually quite bad for you.

Streaks encourages perfectionism, and undervalues the progressive nature of growth. The goal of any good habit is not to do it every single day, but to do more of it over time.

Streaks punishes you for missing a day by throwing out all your accumulated progress so far—back to zero you go!—even when you have a perfectly wise reason to miss a day’s session. The loss of all your “progress” can be devastating, and people may do damage to themselves solely to keep a streak going.

Stop using streaks in your apps. Use a different metric that encourages growth, not perfection. Try a trailing tally with a target band instead (you did the activity 25 days out of the past 30! Good job!), or let your users view their progress on a calendar without any metric at all, and let them judge for themselves how well they did.

Dealing with Bad News

March 29, 2023

AI-generated image of smashed glass

DiffusionBee-generated image

I had to deal with some potentially awful news a couple of days ago, and I’d like to share with you how I deal with events that knock me off balance. Maybe it’ll help you too.

Read more…

Make Prototypes Entirely Out of Tracer Bullets

March 10, 2023

When creating a whole new functionality in your app (or a whole new app), prioritize validating your stack of abstractions over making each layer feature-complete. Think of the simplest use case that crosses all the abstraction layers (connecting a view to a model and syncing state to a server, for example) and implement it. Have it do one simple thing (refresh its content on demand, say), and ensure you can test it. Then, add functionality incrementally.

Having a fully-testable stack, even with only a tiny bit of functionality, opens up a world of experimentation and lets you prioritize your work. Every additional function you put into the stack incrementally adds to a demonstrable, shareable prototype, right from the start.

Practitioners of agile methodologies will recognize this as the Tracer Bullet technique. Your project bringup should be made entirely of Tracer Bullets. Others may recognize this as the Steel Threads method. In any case, it’s a great way to ensure you have a working prototype as early as possible in your project’s lifetime.

Keep personal data off of work devices

March 3, 2023

Maintain strict hardware separation between work and personal data.

While many corporations are diligent about keeping work data out of your personal devices for security reasons, the reverse is often entirely your responsibility.

When things go wrong, or your company gets into legal trouble, you want to be sure you’re not exposed to liability or exploitation. One way to help you get there is to make sure your personal data never gets onto work hardware.

Read more…