Tuesday, March 18, 2025

Gradle's Main Problem

This is just a placeholder, but the seed idea is that Gradle suffers from the same problem as Ant did -- they're both implemented as programming languages in their own right. This is out of a misplaced desire to be highly flexible. The result: the system backfires, causing these build scripts typically to manifest both the complexities of a build system AND a hunk of enterprise software.


Your Own, Personal, Council of Elrond

 This is a placeholder, but the idea is that ChatGPT is capable of creating filters that are, for all practical purposess, also personalities.  Combined with a bit of the app's precious memory space, you can build a small but effective "council of Elrond" that can give you both targeted and faceted responses.  The effect feels something like having your own personal group of advice-givers.

There are things you need to be aware of.  First, filters may tend to simply agree with you and support your decisions. It's generally more effective to make sure their personality profile includes some critical evaluation of your thoughts.

Second, the way you define these personalities is a direct input into how the council will operate. If you have one contrarian, then you are likely to get some lively feedback loops that could bring insights. On the other hand, if you're actually aiming for humor, you might want to make them ALL contrarian and see how they bounce off of each other.  This latter element is a variation on the "Incompetent Council" pattern seen in TV comedies such as "Vicar of Dibley".


Monday, June 6, 2022

Notes from the book "It's Your Ship"

Environment

 Focus on the top 3 "gripes" 

- delegate when possible, to solve them
- assume good intention
- there's always a better way

Boss

Learn to think like your boss

- obey even when you disagree
- make the most of what you have
- it never hurts to offer suggestions for improvement, if you've got any ideas

Team

Treat every encounter with every person as the most important thing at that moment.  They do.

Allow quixotic pursuits and fail fast.
- Work smarter, not harder.


Wednesday, June 30, 2021

Corporate Core Values, Compared

Why Corporate Values?

These are declarations about how a company treats itself, customers, and stakeholders. 

For the majority of companies, these declarations reduce to the essential purpose of any company; namely, to make a profit by offering a product that customers buy, and to do so in as time- and cost-efficient a manner as possible.

Those companies tend to aim for 5 (plus or minus) core values, but it's often difficult for them to stop themselves from adding "just one more". It should be no surprise that their lists tend to be similar.  In fact, I suggest that these "Generic Core Values" boil down into four categories, and that most companies simply combine or repackage them in various ways.  My four hypothetical categories are:

A. Achievement or creating value.  Includes business goals and shareholder value.
B. Customer focus.   Includes integrity and community engagement.
C. Working together.
D. Continuous Improvement. Includes innovation.

I've worked for very good companies which have these kinds of corporate values.  Their core values do not inspire me, but that's above my pay grade.

On the other hand, some companies break the mold and actually embed a unique corporate culture into their core values (Google).  Those are interesting to me, but I still don't know if that makes the companies better than others, or if they just have a better marketing department or something.

Northern Telecom / BNR, ca 1996.

1. Our people are our strength.
2. Create customer value. ("create superior value for our customers").
3. Promote shareholder value ("we work to provide s.v.").
4. We are one team.  We share one vision.
5. Continuous improvement ("Embrace change and reward innovation").

CA Technologies, ca 2016.

1. SELF-AWARE.  "We look in the mirror. We know our strengths, but also see our weaknesses—and constantly work on both."

2. RESILIENT. "We go all in and hold nothing back. In the face of adversity, we show no fear, only the grit to persevere."

3. AUTHENTIC. "We shoot straight. Our customers trust us with their most critical needs because we are always open and transparent."

4. RESULTS-ORIENTED. "We love the game. Digital transformation is crucial to the success of our customers, and we do what matters to ensure they win. "

5. CUSTOMER-CENTRIC. "We do it for them. When our customers win, we win. We put their needs first and pride ourselves on our ability to surprise and delight. "

6. COLLABORATIVE. "We never go it alone. We are one CA, one team that succeeds together by making the most of our collaborative expertise."

7. CREATIVE. "We never stop chasing greatness. We constantly pursue elegant solutions to our customers’ most complex problems and support their desire to achieve breathtaking results."

8. SOCIALLY AWARE. "We respect each other and our communities. We support the people and causes that make a difference."

9. AGILE. "We are agile. Because agility is everything today, we move with a sense of urgency and adapt quickly in anticipation of change. "

10. UNCOMPROMISING INTEGRITY. "We do the right thing. Always. That means honoring our commitments and principles in everything we do."

Brink's, ca 2020.

1. Safety
Our goal: bring every employee home safe every night.
We take pride in keeping our customers’ valuables safe and secure.

2. Customer Focus
We understand and anticipate our customers’ needs and provide creative solutions to help them succeed.
We consider the customer first in all we do and build systems and processes to improve service.

3. Integrity
We act with honor and integrity.
We respect each other, our company, our customers and others who are affected by Brink's.

4. Engagement
We create an environment where employees feel comfortable participating.
We are committed to driving results and winning in the market.
We engage in constructive conflict and value diverse perspectives.

5. Continuous improvement
We find ways to streamline our processes and improve our performance.

USAA, ca 2021.

1. Keep our membership and mission first*
2. Live our core values (Service, Loyalty, Integrity, and Honesty).
3. Be compliant and manage risk.
4. Build trust and help each other succeed.
5. Embrace diversity and be purposefully inclusive.
6. Innovate and build for the future.


* "USAA's mission is to facilitate the financial security of its members, associates and their families by providing a full range of highly competitive financial products and services. In so doing, we seek to be the provider of choice for the military community."



The Big List

Stolen from several sites, and filed under my uber-values list.

Achievement

  1. Boldness
  2. Leadership
  3. Persistence
  4. Quality
  5. Passion
  6. Sustainability
Customer focus

  1. Accountability (ownership)
  2. Community involvement
  3. Customer commitment
  4. Honesty
  5. Integrity
  6. Making a difference
  7. Trust
  8. Simplicity
Working together

  1. Authenticity
  2. Collaboration
  3. Diversity
  4. Fun
  5. Inclusion
  6. Humility
  7. Teamwork
  8. Transparency
  9. Vulnerability
Continuous Improvement

  1. Continuous improvement
  2. Curiosity
  3. Employee development
  4. Innovation
  5. Self-improvement

Why UX is DIFFICULT

 I'll keep this short.

Usability design (UX) is converting human communications into a computer user interface.

What are programmers trained to do?  Write programs.

What are programmers NOT typically good at?  Human communications.

Quod erat demonstrandum.


Thursday, June 17, 2021

Notes from the book "Crucial Conversations"

Executive Summary

p80 Lord, help me forgive those who sin differently than I.

Fix the dogmatic conviction that others are the source of all that ails you.

The key to communication is to care about others' goals and have trustworthy motives.  In short, show leadership by treating others with human dignity and treating their needs as important.

  • Establish and track mutual purpose
  • Establish and track mutual respect
  • Don't play games

Details

We should be bold in talking out difficult topics with people -- conflict is not a bad thing, if it's handled well.

Debate could mean the other person thinks you are trying to "win", so fights back.

When you talk with someone, they might not feel safe.  This is where silence and sarcasm and cheap shots come from.  They're being defensive.

You might be tempted to sugarcoat the message, water it down, dress it up.  This is actually avoidance even though you might think it is helping.

Skills

What Do I Really Want? (ch5) One skill to develop is not getting stuck on what is said to you.  "Step out" of the "content" of the conversation.  Your goal is to communicate to solve a problem (for example). 

Apologize Appropriately. (ch5) When you've hurt others, start here.  Express sorrow for your role in causing pain or difficulty.

Contrast. (ch5) This provides contextnot apology. It's prevention or first aid. When people misinterpret your statement, address their concern and then confirm your respect or clarify your real purpose. "The last thing I wanted to do was communicate that I don't value the work you put in.  I think your work has been nothing short of spectacular."

Another way to contrast: "Let me put this in perspective.  I don't want X.  I do want Y."

Create a Mutual Purpose. (ch5) Be willing to abandon your strategy, because the goal is what's important. And when the goals don't match, be willing to abandon them for a more meaningful or rewarding goal for all. Once the goal is agreed on, then you can brainstorm strategies together.

Emotions (ch6) An essential tactic to controlling your emotions is to think them out.  This is a skill that gets easier with practice. What stories do you tell yourself which causes your feelings?

Slow Down (ch6) Learn to retrace your path through (1) noticing your behavior as fight or flight; (2) get in touch with your feelings that cause it... This Is Difficult!; (3) analyze what story is causing this emotion; (4) get back to the facts of the situation that seem to support that story.

How to Make Decisions. (ch9) Command, consult, vote, or consensus.  
  1. Use command with low-stakes issues, OR where you completely trust the delegate.
  2. Consult is efficient for gaining ideas and support without bogging down decision-making.
  3. Vote when you need to efficiently select one of several good options.
  4. Use consensus with high-stakes, complex issues where everyone must be on board.
How to Make Action Items (ch9)
  1. Who?
  2. does What?
  3. by When?
  4. and How will you follow up?
Document Your Work.  If you've gone to the effort to complete a "Crucial Conversation", don't fritter away all the meaning you created by trusting your memory.  Write down the details of your conclusions, decisions, and assignments.  Record who does what by when. Revisit your notes at key times (usually the next meeting) and review assignments.

Emotions (ch6)

After we observe someone's behavior, and just before our emotional response, we tell ourselves a story.  We add meaning to the observed behavior.  We interpret the behavior and guess at its motives.

These interpretations are theories.  And the interpreter runs at physical-reaction speeds, because it's set to evaluate danger.

We then judge that motive as good or bad.

Then our emotions respond, and then we act.

Until we learn to tell ourselves different stories, we cannot break our emotional loops.

Emotional Literacy

Talk openly with others about how you feel.  This helps build your vocabulary.

Cheated
Embarrassed
Humiliated
Surprised
Violated

...and a hundred more.

Three Clever Stories to Watch For

Look for these when you're talking to yourself.

Victim Stories "It's not My Fault"

There is no such thing as an innocent victim.

Villain Stories "It's All Your Fault"

This exaggerates our own innocence, by the way.

Helpless Stories "There's Nothing else I can Do"




Interpreting Behaviors

Anger / Highly emotionally charged = feeling disrespected.

When people feel unsafe, the personal styles are fight or flight:

  • flight - avoidance, silence, not contributing, witholding
  • fight - scoring points by winning an argument



Other books to read: 

Strength Finder (know yourself)
Learn to Lead

Notes from the book "Leadership and Self-Deception"

EXECUTIVE SUMMARY

p31,1p.  "People skills" are only effective if you're putting their needs [at least -rje] equal to yours.

i.e., seeing them as people with legitimate needs.

["don't be a jerk" -rje]

p148 This is how you get out of "the Box".


DETAILS

p32,4p People respond to how we feel about them.  (p44,9p) ...not what we do so much as how we're being.

p33,7-9p Are their needs important?


p37,1p We always look at others in one of two fundamental ways: as people, or as objects/nuisances.

ACTION ITEM: p43 How many names in your division do you know?  Why should you care?


p68 "Self-betrayal" is: 1. when you have a sense of doing something for others but don't do it, 2. then vilify the other, 3. or feel like a victim.  Both reactions are to push your guilt onto someone else by justifying our sin.  [In the long run this makes things worse and complicated. -rje]

p77,6p. How the Process Works

1. betrayal of conscience ["sin" -rje]
2. conscience accuses
3. divert blame; justify
4. get angry at others b/c they're to blame
5. people now don't seem to deserve help

The Box' Nature

pp98-100 "In the box" behavior encourages "in the box" from others.  This state is dysfunctional.  It undermines relationships.  It makes you destructive.

"The box" wants to be fed by others' poor behavior.  Its need is to have others behave badly too.  It seeks to be justified by others' bad behavior.

ACTION ITEM p103,7p I'm not doing anyone a favor by letting them run over me.

OTOH if I'm in the box, then I get just what I need, if someone runs over me. I get justification. And we're both miserable.