A pleasant walk through computing

Comment for me? Send an email. I might even update the post!

Flatt's Posts/Casts Review #003 - Incentives, Emotions, Diversity, and Applying Bodyguard Training to Coding

2019-05-23 to 2019-06-16

I'm still in the discovery period for how to present my summaries of the articles and podcasts I read over a period of time. While I'm hoping the information is useful to others, it's primarily for me to A) continue learning, and B) look for essential patters in the material.

This week I'm going to present what I think are the top-level ideas across all the material, and the top ideas for each episode. This should make the information easier to digest.

But, since I highlighted it in the title, here's the link and notes on the Bodyguard podcast and how I'd apply them to development.

Art of Manliness #513 Be Your Own Bodyguard

  • These are self-defence principles, and apply to potentially dangerous situations. But note how they also apply to coding!
    • Avoidance is the most important thing you can practice. (testing)
    • Deescalation is the next most important. (find/fix bugs fast)
    • Where are your exits? (version control)
    • IF there's a fight, what are your three or four "go to techniques you practice all the time"? (logging, alerts, debugging)
    • Regularly simulate and practice stress situations in class. (disaster testing)
    • Learn from people who've experienced it. (involve users)
    • What's the legal impact?

Essential Learnings

  • Align incentives
  • Emotions drive our decisions
  • Study multiple subjects (generalize) and apply to your specialty
  • Diversity is highly beneficial


Leading Agile - What is a Well-Formed Backlog? w/ Jeff Howey

  • Creating clear characteristics of a well-formed backlog is valuable
  • Keep the criteria simple and short as possible
  • Define the terms and make sure everyone understands them. (Publish)
  • Howey's characterstics: Clearly Prioritized, Linked to What's Important, Shared Understanding, Identify Dependencies, Clear Acceptance Criteria, Clear Definitions of "Done" "Ready", Good Enough to Start a Conversation

Art of Manliness #511: Mastering the Psychology of Investing

  • We think bad things happening are dramatically less likely than good things.
  • "The more complex and dynamic a system is, the more simple your solution needs to be."
  • "There's a weak correlation between knowing the right thing to do and actually doing it."
  • Our decisions are strongly influenced by our bodies and emotions. Don't code upset!
  • Humans are terrible at probability. They tend to reason in group terms, and conform to the group.

Art of Manliness #512: Why Generalists Triumph in a Specialized World

  • Tiger Woods specialized. Roger Federer generalized until his twenties when he settled on tennis.
  • The "ten thousand hours to become an expert" research examined specific fields that, it turns out, yield well to early specializing.
  • Most of the time kids are better off delaying specialization.
  • Generalists are better at new situations because they can synthesize and apply previous experience.

Developer Tea - Mental Models w/Gabriel Weinberg Part 1
Developer Tea - Mental Models w/Gabriel Weinberg Part 2

  • Book of 300 mental models, i.e. "fancy word for concepts"
  • Models Weinberg thinks managers/developers often miss:
    • Opportunity Costs: "The cost of what you're working on is what you're not working on."
    • Forcing Function: "Scheduled process to force everyone to think critically."
  • Find root cause using the Five Whys Model, asking "why?" until getting to the root
  • "I want to do this thing not because it's imporant, but because it's more important that all these other things."

Developer Tea - 3 Assumptions That Can Hurt Your Job Search

  1. When you get turned down that means you are incapable of doing that job.
  2. Someone is going to read your whole resume.
  3. Applications to jobs are how people get jobs.

"Imagine you're trying to find a job without job boards being available. What else can you do to find a job?"

Developer Tea - Aligning Incentives w/ Lambda School CTO - Ben Nelson (part 1)
Developer Tea - Aligning Incentives w/ Lambda School CTO - Ben Nelson (part 2)

  • Lambda School doesn't charge tuition for its education, and only makes money when its graduates get a job.
  • Very high bar for getting in. They're looking for grit.
  • Incentive Alignment. Both sides are working toward the same goal, and only succeed if the goal is achieved.

Hanselminutes: How to build an inclusive conference with Saron Yitbarek

  • Codeland Conference
  • Yitbarek's goal in the conference is to celebrate coding, not the tools, and to be the most inclusive conference.
  • She mentions a study of people who do/don't finish computer science degrees. Those who do have a higher threshold for confusion.

Science Vs. - How Bad Science Killed A President

  • Garfield died two and a half months after being shot
  • Among those who tried to help were Alexander Graham Bell with a new invention: a metal detector!
  • Despite Joseph Lister lecturing about bacteria and how to kill them for five years, doctors still don't believe it.
  • So, basically, the doctors are digging around in Garfield's body with grubby hands, causing infection.
  • Nine years later, partly due to Garfield's death, doctors believe in germs and are sterilizing everything.

Growth Mindset #59 - The World of Martech - Scott Brinker

  • One interesting comment was that Brinker thought marketers had an easier time experimenting--such as using A-B testing--that developers. (He was talking about the idea of Agile Marketing.)

Developer Tea - Test Driven Meetings - Measuring Outputs and Side Effects

  • Look at a meeting as if it's made up of methods. A one-on-one meeting might have a "feedback function," which is a unit test idea. So look at the inputs and outputs.
  • But we also want to look at meetings as integration tests. What are the side effects, both positive and negative?
  • Here's what Jonathan suggests in trying to apply the idea
    1. Before the meeting, write down the outputs and the side effects that you desire from the meeting.
    2. Announce the outcome(s) and side effect(s) at the top of meeting so everyone is oriented toward them.

Art of Manliness #515 - Aristotle's Wisdom on Living the Good Life

Developer Tea - How Can Two Rational People Disagree?

  • Given the same data, the frame parameters are different.
  • Example: Choosing between a bug or feature. Developer says feature because his frame is long-term. Manager says bug because his frame is short-term. Both are rationally good choices given the data.
  • Often, in conflict, desires and incentives are the same.

Growth Mindset - Doing the Difficult Thing - Dr Niall McCann

  • Inspiring and humbling. The guy's amazing.
  • Find out what motivates those who can help you attain your goal, AND
  • Align their incentives to yours.
  • Do what you're doing first because you enjoy it. But also show how success has layers of benefits. Example: McCann's organization protecting a swathe of land not only prevented mass killing of elephants, but also raised local employment, the success increased donorship, and tourism increased because the animals were there to be seen.

You're not really a conservationist unless you've conserved something.

Art of Manliness #516 - How to Lead an Unstoppable Team

  • Mills is fantastically clear
  • You have to lead yourself first before you can lead others.
  • Building a team means building relationships, which involves feelings.
  • The CARE Loop
    1. Connect The real goal in connecting is to build trust.
      Three tools: communication, commitment, credibility.
    2. Achieve Set direction.
      Five A's: Aspiring (which he's using like "inspiring"), Assume they can do the job, Assess what they're doing, Appreciate their efforts internally and externally, and ????
    3. Respect Goal of respect is contribution, and requires mutual respect. To get everyone contributing their ideas, skills, etc.
      Want people to be willing to say "I made a mistake," then answer three questions: what happened, what I was trying to achieve, what I'm going to do about it.
    4. Empower Getting people to think like owners.
      Three Es: Educating, Enabling, Engaging

Sciene Vs. - SHARKS!!!

  • Top speed of Great Whites, in just a couple of tail flicks, from 1mph to 25mph.
  • Sharks cannot smell blood in an Olympic-size swimming pool. They smell as well as other fish.
  • From 2010-2012, more people died from TVs tipping over onto them (51) than from shark attacks (3). 124 shark bites.
  • There's no such thing as a rogue shark (like Jaws).
  • One quarter of shark species are threatened with extinction...including the Great White.

.NET Core Podcast #27 - Blazored with Chris Sainty

"What's so great about Blazor?"

  • Ability to write truly full stack applications using just C#
  • Opens up using NuGet instead of waiting for a new javascript framework's ecosystem to build up.
  • On security of running a C# dll in the browser, Chris points out WebAssembly runs in the same sandbox as javascript. So, no more or less secure than javascript.
  • But, it's still in early development. Not ready for general production use.

Whenever we take on a dependency into our applications, if you're taking on someone else's code, you're always taking on a level of risk, and it's up to you to assess that level and go from there.

Weekly Sugar: Applying Kanban Principles to Your Personal Task List

Many of us use Kanban boards (or you might be calling them Scrum boards) on work projects. And, we might use Trello for some home projects. But most people probably aren't using them for their daily task lists.

There are lots of To Do apps out there, but here's a "first principles" approach using two lists. I do this in Google Keep, but it could as easily be done on paper, which is the inspiration.

- [ ] Finish base page
- [ ] Start home controllers
- [ ] Buy diapers at lunch

- [ ] Time approval from Florence (emailed 5/12 3p)

SOON (limit 5)
- [ ] Read *Accelerate*
- [ ] Prepare for DevOps conference
- [ ] Call Marcus about tennis Thu
- [ ] Plan Vinit's birthday
- [ ] Add user stories to MyCoolProject  

In Keep, or a text file, it's easy to move tasks around. On paper, you might write in pencil and renumber priorities.

The point is, this is the same as a Kanban flow, just rotated 90 degrees. It's easy to update and change, which is critical to capturing thoughts quickly so they don't get lost. The software (or hardware) gets out of the way.

Joe Developer: When (not) to Drink Coffee

2019-06-10 15:03:00 This is an update of an article I wrote a few years ago.
2019-06-11 09:25:38 Significant update to call out when to drink coffee and other health benefits.

The Gist

  1. We should drink coffee between 9:30 and 11:30, and maybe also between 1:30 and 5:00.
  2. Drinking 4-5 8oz cups per day has other health benefits. Quoted:
    • reduces your risk of cancer up to 20 percent;
    • reduces your risk of heart disease by 5 percent;
    • reduces your risk of Type 2 diabetes by 30 percent; and
    • reduces your risk of Parkinson's disease by 30 percent.
    • Unless you're pregnant. If pregnant, coffee can slightly increase the risk of miscarriage.

Science shows drinking coffee first thing in the morning negatively affects one’s circadian rhythm by inhibiting the production of cortisol, which the body uses to naturally wake us up. Drinking coffee when cortisol levels are falling helps us stay evenly alert. The recommended times are based on the average person who gets up around 6:30am. Adjust accordingly for your own consistent wake time.

Best summary for both time-of-day and health benefits:

The Best Time of Day to Drink Coffee, According to Science | Inc.com

Most entertaining summary:

The best time to drink coffee according to science - I Love Coffee (with infographics!!)

The last entry seems to have begat many others. It’s my favorite. It makes me happy to read it.

None of these articles discusses how to shift your coffee consumption, which is a shame. It's like telling a smoker, "just quit." The thing is, cortisol production doesn't just leap back into action. I've taken budesonide, which decreases cortisol production, and the weaning off period is 2-4 weeks. So, I recommend making the change gradually.

The Article Trail

I first read this 2014 article about why you shouldn’t drink coffee first thing in the morning, i.e. right after getting up. Curious, I tried to find out more on the subject. I turned out there are several similar articles. In all cases, the stories originate from an article by Steven Miller, Ph.D., The Best Time for Your Coffee.

Now, Dr Miller is a scientist, and he cites his sources, and he’s clear about what he’s saying and not saying. Check out the comments on his article; he defends against a few hostile readers.

But where did he get his data? That’s from a study in 2009, the sciency-named Modified-Release Hydrocortisone to Provide Circadian Cortisol Profiles. This article, which has 80% words I don’t understand, includes this graphic showing natural peak cortisol levels.

What’s What?

Dr Miller doesn’t point to a specific study proving that people should drink coffee at a particular time. He states his opinion based on the research. I liked his interesting pharmacological approach (emphases are mine).

Drug tolerance is an important subject, especially in the case of caffeine since most of us overuse this drug. Therefore, if we are drinking caffeine at a time when your cortisol concentration in the blood is at its peak, you probably should not be drinking it. This is because cortisol production is strongly related to your level of alertness and it just so happens that cortisol peaks for your 24 hour rhythm between 8 and 9 AM on average (Debono et al., 2009). Therefore, you are drinking caffeine at a time when you are already approaching your maximal level of alertness naturally. One of the key principles of pharmacology is use a drug when it is needed (although I’m sure some scientists might argue that caffeine is always needed). Otherwise, we can develop tolerance to a drug administered at the same dose.

Are you wondering what cortisol is? I did, too.

Cortisol, a glucocorticoid (steroid hormone), is produced from cholesterol in the two adrenal glands located on top of each kidney. It is normally released in response to events and circumstances such as waking up in the morning, exercising, and acute stress. Cortisol’s far-reaching, systemic effects play many roles in the body’s effort to carry out its processes and maintain homeostasis.

Cortisol is part of the fight-or-flight response. We don’t want too much cortisol, but it’s normal to get a boost of it at specific times, such as waking up.

The problem with caffeine during peak natural cortisol production is that the body, in effect, says, “Hey, this coffee’s doing a great job! Turn off the cortisol!” Over time, we get less of a boost than we used to, so we drink more coffee. And our body says, “Wow, more coffee? Better turn down the cortisol again!” And so on.

Personal Results

I've had some trouble in the past getting good, consistent sleep. I can’t blame it all on how I’ve been drinking coffee, but here's my current, typical morning.

  • Stretch/exercise for about 20 minutes first thing in the morning (7am). This wakes me up way better than coffee.
  • Three or four cups of coffee starting about 9:30 (ending before 11:30), and another cup at about 2pm.

What has changed since adopting this routine is I don't feel I need coffee first thing in the morning to wake up. And that's because, I don't! If I miss some coffee, it doesn't throw my whole sleeping pattern out of whack, either.

Other References