I have an extremely rational hatred of this software. Not a typo or a misunderstanding of the phrase "irrational hatred".
I will go out of my way to delete this from a codebase.
I will go out of my way to block the url to github, and remove this from package manifests.
I will ensure that anything that would break oh-my-posh is a fundamental part of the software.
Nothing against oh-my-posh, its just too slow.
What I actually do hate are people, the kind of people who try to mandate and even further depend on oh-my-posh semantics. Or even more generally mandate cosmetic things in a generalized development environment. Your pretty colors and ligatures are jarring noise that actively destroys my attention and focus.
I value my terminal experience heavily, oh-my-posh has very much so been useless to an active deterrent in development to me due to it's slowness and poor defaults. Cross platform. But by far my worst experience is Windows.
And there is only so much you can blame on Windows Terminal (and other emulators on Windows) being slow due to all the jank on supporting so many bad algorithms, bad internal representation, codepoints, and encodings.
I especially hate the git "support". A moderately worn git repo will show you a noticeable slow down in standard operations just due to the number of objects, references, etc. that exists from the lifetime of active development. Yet rev-parse is effectively depended on to write out the branch, commit hash, etc.
There's more, far more. I am very unlikely to change my mind too. Maybe this software is for people who only touch the terminal precisely when they have no other option. And maybe I'm just too far from that demographic.
While I agree with your stance on this kind of software, and I would never myself use anything like this, I am apparently missing some key aspect of this issue as I don't understand how this is getting forced on anyone... are there really build systems (or whatever) that somehow "mandate" or "depend on" "oh-my-posh semantics"?!
Build systems - no. The people who maintain the build systems - yes. You might see them add a script here or there that ends up being "critical", either for telemetry/logging or investigating state at some stage of a build.
I can only rationalize these things happening as inexperience, too eager to please. I'd hate for these things to occur only for job retention tactics for the increased bus factor. But they are very much so real.
I've seen it happen in multiple instances with moves to generalized development containers/workspaces.
> You might see them add a script here or there that ends up being "critical", either for telemetry/logging or investigating state at some stage of a build.
I don't see how that translates into gen dev environments either.
I would love to see the use case for a dev env that requires OMP (or OMZ, or Prezto, or even Starship) to be a functioning dev env.
Well, revealing my previous employer, Microsoft, many devs there love oh-my-posh for whatever reason. I have no idea if its still the case anymore but I distinctly remember it being a thing for a few dev-div repos for a while, definitely in BI/analytics/dynamics, and some places in SQL.
If you don't think I'm reputable, you can go and ask the man who made oh-my-posh where its actively used in his company and why.
You can also ask someone who works in any of those orgs if oh-my-posh makes an appearance and what happens if you try and remove it from the standard checkout/build process the average engineer goes through.
As for specifics, can't help you there, I was never the person who added the dependency. And I am distant to the acute requirements for oh-my-posh were, if there were any (which I am absolutely confident there was not, but an inexperienced/misinformed engineer could conjure about any number of reasons). I know specifically my short interactions with BI specifically trying to rid myself of oh-my-posh through regular uninstall + blackholing the download would lead to failures.
I will go out of my way to delete this from a codebase.
I will go out of my way to block the url to github, and remove this from package manifests.
I will ensure that anything that would break oh-my-posh is a fundamental part of the software.
Nothing against oh-my-posh, its just too slow.
What I actually do hate are people, the kind of people who try to mandate and even further depend on oh-my-posh semantics. Or even more generally mandate cosmetic things in a generalized development environment. Your pretty colors and ligatures are jarring noise that actively destroys my attention and focus.
I value my terminal experience heavily, oh-my-posh has very much so been useless to an active deterrent in development to me due to it's slowness and poor defaults. Cross platform. But by far my worst experience is Windows.
And there is only so much you can blame on Windows Terminal (and other emulators on Windows) being slow due to all the jank on supporting so many bad algorithms, bad internal representation, codepoints, and encodings.
I especially hate the git "support". A moderately worn git repo will show you a noticeable slow down in standard operations just due to the number of objects, references, etc. that exists from the lifetime of active development. Yet rev-parse is effectively depended on to write out the branch, commit hash, etc.
There's more, far more. I am very unlikely to change my mind too. Maybe this software is for people who only touch the terminal precisely when they have no other option. And maybe I'm just too far from that demographic.