humancode.us

Designing for Accessibility

October 1, 2020

We’re all disabled; it’s only a matter of degrees.

I need prosthetics to see clearly. I have dental patches to fix my broken teeth. My hearing is diminished. My range of motion isn’t what it used to be. My body no longer heals like when I was a teenager.

When we design for people with disability, we’re really designing for everyone.

Irrational Exuberance During COVID-19

July 12, 2020

I’ve been scratching my head about why the stock market has been so…exuberant…in the past two months. Nothing about the economy or the pandemic has substantially changed, a one-time $1200 check didn’t fix much, and PPP loans are just more lagniappe for the crony crowd which aren’t actually helping to save jobs. We have twice as many new cases per day now than in May, and the numbers are growing exponentially.

Unemployment now stands at a daunting 11% (down from a peak of 14.7%), and many companies have permanently removed jobs that were here 4 months ago. The economy is shrinking and undergoing fundamental shifts before our eyes, and that means turmoil for the least powerful workers among us.

Civilian unemployment rate

Read more…

Musings on Software Complexity

June 18, 2020

I’ve spent 22 years in tech, and the complexity involved in building software for a modern computer from the bottom up is still truly, mind-blowingly, incomprehensibly, staggering to me.

Abstractions atop abstractions, dependencies upon dependencies at build and run time, archeological layers of backward compatibility and reasons-for-being, evidence of design trends that came and went, vestigial features that were never fully fleshed out, unique, bespoke solutions and optimizations, workarounds for hardware, unexpected behavior that fossilized into an unspoken part of the interface—and all under active development and maintenance by legions of humans, ever-changing. It’s a towering testimony to the ability of humans to tame (or at least safely ignore) complexity to a level that fits within their working memory; to come up with abstractions and metrics that define a problem space that can be managed by a small team.

But once in a while, you look behind the thin veil and see the billions of tiny gears meshing to create a working machine, and wonder how it all works; and yet, it mostly does. No one can comprehend all the complexity, yet somehow, everything comes together as a useful tool.

I’m not sure whether this is a reason to celebrate or mourn, but it is something marvelous to behold.

Read more…

Facts vs Cultural Identity

February 11, 2020

Thanks to Marc Verstaen for pointing me at this wonderful paper by Dan M. Kahan from Yale.

tldr: when it comes to answering questions on science, people can either tell you what they know, or which social group they belong to, but not simultaneously.

The paper posits that we have two, sometimes conflicting personas:

It is the dual nature of human reasoners as collective-knowledge acquirers and cultural-identity protectors.

Sometimes these two sides conflict. And when they do, people will choose to tell you which social group they belong to, even if they know the facts are not on their side.

Response to a question on evolution, disentangled by religious
affinity

Read more…

Do, or Do Not

January 31, 2020

Next time you have the urge to say “I’ll try to do that” to a work assignment, ask yourself if what you really mean to say is “No”.

“Yes, I’ll do it” is actionable; so is “No, I won’t”. But when it comes to planning, “I’ll try” is worth close to nothing, because it holds no one accountable for completing the task.

There are certainly times when exploration of the unknown is warranted. At those times, it would be entirely appropriate to schedule time for experimentation. But more often than not, engineers use “I’ll try” to overextend themselves while still having an out.

Say “Yes”. Or “No”. Or “I’ll need help doing that”. Just don’t say “I’ll try” and leave everyone hanging.

< Newer Posts