Benefit of Keychain over ssh-agent

Keychain is actually a front-end to ssh-agent

Old Way

New Way

Keychain will re-use your original ssh-agent.

Not create a new instance per shell.

Some of the images are not my own 🙂

Keychain Concepts

Here I explain the concepts that make up ssh key authentication and keychain:


Here, I show you how to implement keychain:

What IS Personal Responsibility?

If you read plenty of personal development literature, you always here the concept of Personal Responsibility.

But what does it REALLY MEAN and how do you practice this???

Here’s one way to ACTUALLY PRACTICE Personal Responsibility:

Don’t focus on resources, focus on resourcefulness

Can’t remember and too lazy to look up

If you focus on recourses, you’re likely to focus on what you DON’T HAVE. Essentially deferring the solution-seeking.

If you focus on resourcefulness, you’re looking at what you DO HAVE and making the most of that. And exercising your free agency.

This takes creativity and a little bit of courage.

Keep in mind though, that

Wisdom is the timely application of knowledge

@DandapaniLLC (Twitter)

Sometimes you DO need more resources; and sometimes resourcefulness is not enough.

But don’t ASSUME you always need more resources before you’ve had an honest look at yourself first.

Sometimes, just sometimes: Good enough is good enough.

Git Merge Conflicts

Merge conflicts can show up when you do a ‘git-merge’ or a ‘git-rebase’:

One way you can “anticipate” a git merge is with the ‘diff’ command

Here’s some bash pseudo code using command substitution:

diff -y <(git show branchA:file.txt) <(git show branchB:file.txt)

Remember though ☝️

A diff will always yield results, that’s what a patch is..

The key is when the SAME LINES are being changed: That’s the conflict! 😉

If the lines from diff don’t overlap…you can probably assume the merge or rebase won’t produce a conflict

(at least, for the file you looked at😊)