humancode.us

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 one thing anyone who’s been in the industry this long will tell you is that the degree of complexity involved in building software for a modern computer, from the bottom up, is truly, mind-blowingly, incomprehensibly, staggering.

Abstractions atop abstractions, dependencies upon dependencies at build and run time, archeological layers of backward compatibility and reasons-for-being, remnants of design trends that came and went, vestigial features never fully developed, unique and bespoke solutions and optimizations, workarounds for hardware, unexpected behaviors long fossilized into an unspoken part of the interface—and all under active development and maintenance by legions of humans, ever-changing.

It’s an awesome testimony to the ability of humans to tame (or at least safely ignore) complexity to a level that fits within working memory; to come up with abstractions that define a problem space which can then be wrangled by a small team.

But once in a while, you look behind the 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 the whole, 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.

In Praise of Brute Force

January 19, 2020

My middle-schooler daughter loves Dungeons and Dragons. She, along with other players, co-DM1 an online version of the game.

She came to me with a question regarding a new game dynamic that she was considering. Here are its parameters:

  • There shall be 30 days in a month
  • There shall be two 12-hour periods per day
  • As each period arrives, there shall be a 50% chance of bad weather
  • During a period of bad weather, there shall be a 20% chance that an enemy NPC appears to attack your group

The question: Given the above rules, how many enemy NPCs can players expect to encounter in a month of play, and how would changing the various probabilities affect the outcome?

Although this is not a very difficult problem, I realized that in order to explain why multipyling numbers worked, I needed to explain the concepts of Expected Values and conditional probabilities. But I soon realized there was another way.

  1. Dungeon Master 

Read more…