One time I was having some issues with my shell of choice, zsh, while using it with tmux.
Now, I decided to pop in on zsh’s IRC channel to maybe get some help.
Then I ran into the circle of blame.
Hi, I’m having this issue
Someone replies
What does your configuration look like
Well I’m using this thing called oh-my-zsh
Oh but that one is crap.
Really?
The discussion ends with them basically telling me I should stop putting things into my zsh config that I don’t understand, and that the problem is with oh-my-zsh.
I managed to pinpoint what was causing the issue in my oh-my-zsh theme.
The problem is in tmux
Gee, really?
I ask the tmux guys. Wanna guess what they say? That’s right, The problem is in zsh
All I want is a shell which works and has nice features out of the box. Is that too much to ask for?
I don’t want to first spend a week studying zsh’s manual to understand every possible combination of options that produce the results I get by simply installing oh-my-zsh – and I probably still wouldn’t know things well enough to do a good job like oh-my-zsh does.
Maybe fiddling with zsh is your passion and you enjoy it. To me, a shell is just a tool. I just want one that does the job.
So the circle of blame goes on and on, with nobody wanting to take a stand and try to fix this.
And my combination of tmux+zsh+oh-my-zsh is only one of many. Maybe you’re using screen+zsh, or tmux+bash. Or maybe you’re on Windows with Cygwin. How many people are stuck with the problems they have because of the circle of blame?
I am perfectly capable of looking up things from my zsh configs, doing rudimentary debugging of it, etc., and I was able to find out the exact part of the zsh theme causing the issue. However, at that point I am lost. I don’t have the necessary knowledge to say why that part is causing the problem. For that, I need someone else who understands the tool better.
If they will just keep shifting the blame, nothing will ever come of it.
Note: This is not to say zsh/oh my zsh/tmux guys are not doing a good job. This is an issue that seems to arise any time you have two or more different things that work together.