Blakeyxkcd and the years and years of struggling with broken software that just so happens to use git



  • @blakeyrat said:

    Fuck the users.

    Developers that struggle to use a CLI should not be developers, or near a computer, or within a 5 mile radius of an elementary school.


  • BINNED

    git needs command line, anything else will simply give you headache.
    As much as I like your rants, it will not change a thing. I wish git had better (more intuitive) commands so I could deduce what is right instead of Google it all the time, but there it is you have to use CLI and you have to use Google.
    Also when in doubt, always make a branch, then you will know how to undo everything just by checking out that branch name.



  • @LB_ said:

    @blakeyrat said:
    So Bob spends 2 weeks editing "2015 forecast.xlsx". Two days after he starts, Sally begins her edits to "2015 forecast.xlsx" and it takes her two weeks as well. Now we merge.

    ... oops! I have to pick EITHER Bob or Sally's version! Which means, no matter what, OUR COMPANY JUST WASTED TWO ENTIRE WEEKS OF LABOR BECAUSE OF ITS SHITTY BROKEN SOURCE CONTROL PRODUCT.

    But you're ok with that. Because you're a fucking idiot who hasn't ever used anything besides Git and has NO FUCKING CLUE.

    Actually, this is good, because now two people have done the work and if the work differs in any way you know immediately that one of them messed up. If only one person did the work, you'd have no idea.

    Maybe it's just me, but don't most companies do things like assign specific tasks to employees? If they did things like "be a manager" and "delegate" (which have been proven to be effective at distributing workload across groups of people) then maybe they wouldn't have to worry about having many people do the same thing at once, unaware that someone else is also working on said task. Maybe it's the company's fault for relying on software that isn't designed to manage employees to manage their employees.



  • @blakeyrat said:

    When this happens, neither prevents you from simply pushing the commit up the chain and breaking everything, EVEN THOUGH THE COMMIT STILL CONTAINS THE MERGE MARKERS.

    You should never use a hammer because it lets you hit your fingers instead of the nail. Stupid piece of shit tool !

    If only computers would not do what you tell them to



  • @LB_ said:

    It has worked every time I've done it?

    Look. It's simple. Those commit comments haven't been put on the server. They haven't been made "canon" yet. They are holy data retention icons that can never from this day forward be edited, lest Satan himself swoop down and remove your ISO-9000 certification.

    There's literally no reason for Git to not allow you to edit the comments of unpushed commits at literally any time.

    So why doesn't it?

    The answer is: BECAUSE IT IS BAD SOFTWARE.

    @LB_ said:

    So your opinion of git is based entirely on broken software that uses git as its back end?

    Find me a piece of non-broken software and I'll gladly use it.

    @LB_ said:

    I've used GitHub for Windows, basically anything more than "edit files and commit them" breaks in it. It sucks.

    Yeah, preaching to the choir here, buddy.

    @LB_ said:

    So, I use the command line instead because it actually works.

    Ok, but I don't have that option.

    @LB_ said:

    Please tell me: what do you expect to happen when there is a merge conflict?

    What Visual Studio (for TFS and Git) does seems pretty ideal. And note that the Visual Studio conflict resolution widget-thingy lets you build your project and run unit tests at any time to check if your merge is correct.

    Of course you've never USED TFS because you have no fucking clue what you're even talking about, so I wouldn't expect you to have been exposed to that.

    SourceTree's is the worst, because literally a single wrong click "resolves" the conflict without actually resolving it. GitHub for Windows usually just barfs up the "shit happened, use the CLI sucker" message, but I managed to commit unmerged conflicts using it once or twice before I gave up on using it because it got too shitty.

    @LB_ said:

    Almost always I want to either fix the conflict, or sometimes I want to abort.

    Abort your kids? Good idea; you don't want them growing up with the shame of having a father who loves Git.

    @LB_ said:

    So git by default sets me up to fix the conflict, or I can run git merge --abort to cancel.

    Right; but then it makes it NEARLY IMPOSSIBLE TO FIX THE CONFLICT because it stomps all over the source code and suddenly you can't run a build, or run your unit tests, or basically use ANY tools that might help you determine whether you got the conflict correct or not.

    @LB_ said:

    Actually, this is good, because now two people have done the work and if the work differs in any way you know immediately that one of them messed up. If only one person did the work, you'd have no idea.

    They aren't even doing the same work! Bob was editing the IT sheet, and Sally was editing the HR sheet!

    You're literally PULLING SHIT OUT OF YOUR ASS in an attempt to defend Git's obviously broken behavior at this point. Seriously. Stop it. If you're not going to debate clean, just get the fuck out of here.

    @LB_ said:

    I don't claim that it works with random git tools that you mysteriously find and download. I claim it works in git.

    That's not what you said. I can't reply to the strange thoughts floating around in your watery brain, I only have access to the shit you typed into Discourse.

    @LB_ said:

    git can't be held responsible for other people's broken software.

    Yes it can. I already said why above. Scroll up. Read it.

    @LB_ said:

    The solution I gave you was correct for the scenario I assumed you were talking about.

    And where did the assumption come from? Oh, right, YOU PULLED IT RIGHT OUT OF YOUR FAT ASS!

    @LB_ said:

    Again, I'm sorry for making an assumption.

    Right; you're sorry for doing it, but in this post where you're saying so you DID IT AGAIN JUST A FEW PARAGRAPHS PRIOR!

    You dumb shit.

    @LB_ said:

    The reason I didn't mention it doesn't work in other cases is because I believe those other cases are wrong.

    What's wrong about them?

    @LB_ said:

    We're just going to have to disagree here about whether having more than one unpushed commit is an okay thing.

    The ability to work offline is one of the features Git promotes! That's like one of the extremely few reasons to choose it over the alternatives!!!

    @rc4 said:

    Developers that struggle to use a CLI should not be developers, or near a computer, or within a 5 mile radius of an elementary school.

    Right; fuck people with disabilities. Fuck people who like modern usable software. Fuck people who develop things like, say, non-linear video editors or music software. Fuck 'em all. Those people should be put in the same bucket as child molesters. You are so right.

    @dse said:

    git needs command line, anything else will simply give you headache.

    Right; because it was designed by idiots who are shitty at writing software.

    @dse said:

    As much as I like your rants, it will not change a thing.

    I know. Git's already broken beyond repair. Even if they WANTED to fix it, they can't now because of the moronic decision to use the CLI as the API-- it's literally impossible to fix, because the shitty morons who wrote it made the same mistakes that virtually all open source projects make.

    And yet because it's "trendy", I'll keep encountering companies that picked it without properly evaluating all the alternatives. And so I'll never be able to get away from it.

    So Linus is such an asshole, he's not only made a piece of shitty software, but he'd doomed me to having to work with his shitty software for the rest of my life. Great.

    Welcome to IT: the career of shit! The only industry where things get worse over time instead of better!

    @rc4 said:

    Maybe it's just me, but don't most companies do things like assign specific tasks to employees?

    Right; in this example they did.

    Manager: "Hey Bob, update the IT page in the forecast."
    Bob: "Sure thing, boss."
    Manager: "Hey Sally, I'm putting you in charge of the HR page."
    Sally: "Ok, but I got to take care of this benefits report first."
    Manager: "No problem."

    @rc4 said:

    If they did things like "be a manager" and "delegate" (which have been proven to be effective at distributing workload across groups of people) then maybe they wouldn't have to worry about having many people do the same thing at once, unaware that someone else is also working on said task.

    THEY'RE NOT DOING THE SAME TASK. WHY DO YOU MORONS MAKE THIS ASSUMPTION!?

    Goddamned, you're the second person. What's fucking wrong with you?



  • @blakeyrat said:

    Ok, but I don't have that option.

    Sorry, I guess you're screwed. I have nothing to say in this case.



  • Since the software here blows and there's no article topic yet, I guess that I'll post in this topic instead.

    Hitler uses git – 03:23
    — ronopolis



  • @LB_ said:

    I have nothing to say in this case.

    You had nothing to say to start with.

    At least nothing intelligent.



  • Fuck you, I love Downfall.

    I hate these shitty-ass moronic edits of that brilliant scene.



  • @blakeyrat said:

    Fuck you, I love Downfall.

    I hate these shitty-ass moronic edits of that brilliant scene.

    You hate something that's plentiful, and people love to do? I never would have guessed that. It's so out of character for you.



  • All the blakeyrant above: TL;DR

    I think git as a low level concept is beautiful and a good client/software to do what the cli and many GUIs are trying to do is what's missing here. Microsoft is doing something with VS and libgit2 but it seems to be a work in progress.

    It's not like the git format is preventing you to do the basic tasks of version control, the tools just aren't very user friendly.

    Though it's still reasonably easy to learn the required steps to do basic damage control without removing your local repo once in a while, like git reset --hard.



  • Yeah, in my experience the CLI is far superior to any of the GUIs or other wrappers for git. I learned that pretty quickly. Maybe one day in the future there will finally be a decent GUI that @blakeyrat can use so he never has to open a shell.



  • @LB_ said:

    Maybe one day in the future there will finally be a decent GUI that @blakeyrat can use so he never has to open a shell.

    GIT HAS BEEN AROUND SINCE 2005 WHY ISN'T THERE ONE NOW!

    Why doesn't this bother you!?

    "Yes sir! I love shitty software! Give me some more sir!"



  • It doesn't bother me because the shell does everything I need git to do and more in just a few seconds. If it sucked, I'd agree with you.



  • You don't even know what the word "suck" means. You've been using open source too long, you're entirely numbed to the entire concept of software having quality. Even people (people who aren't you) who use Git on the CLI says it sucks. Which is undoubtedly true, because it sucks everywhere. It's shitty software.



  • @blakeyrat said:

    GIT HAS BEEN AROUND SINCE 2005 WHY ISN'T THERE ONE NOW!

    No one has bothered because it's easier to teach people the quirks of the cli than to write a decent GUI.

    @blakeyrat said:

    Why doesn't this bother you!?

    Can't say for @LB_ but it does bother me.



  • It does what I need it to do without hassle. That's much more than I can say for most other software, especially closed source software...



  • @LB_ said:

    That's much more than I can say for most other software, especially closed source software...

    Go back to Slashdot.



  • I've actually never been there?



  • I don't believe you.



  • Honestly, I don't really know much about it except that I don't want to visit it based on how people talk about it.


  • BINNED

    YMBNH.

    The SJW motto is also blakeyrat's.



  • SERIOUSLY. Git can die in a fire.

    I ended a phone screen interview just a few days ago when the guy I was speaking with bragged to me that he had moved their entire .NET/C# team off of TFS to git, and they were using that now not only for source control, but also to tie into automatic builds. Pretty much jumped in to the middle of his little speech, asked him if git was mandatory. He said yes. Asked if git was being used as UI or CL, he said CL. And I said, ok, we're done here. I literally hung up on him as he was sputtering, "but but but...".

    Nope.



  • Ok, why? Many projects are moving to git, I don't see that as a reason to just completely ignore a person. After all, they not only have the ability to work with git, they also have the ability to properly handle a migration to it.

    EDIT: or were you the one being interviewed? If so, never mind - I respect your personal preferences.



  • @LB_ said:

    Ok, why?

    Seriously? Are you trolling? Blakey just went on a tear about why ... see previous answers ⏫

    And yes, I was the one humoring them to listen to their sales pitch to pull me away from what I am currently doing.



  • @Vaire said:

    Asked if git was being used as UI or CL,

    What's CL?



  • @blakeyrat said:

    What's CL?

    Command Line



  • Asked if git was being used as UI or command line,

    This is gibberish to me.



  • @rc4 said:

    Developers that struggle to use a CLI should not be developers, or near a computer, or within a 5 mile radius of an elementary school.

    What? Why? Because they don't see the benefit of memorizing a million commands for a hundred different applications each using different flags and options, and don't enjoy typing them? What does that have to do with developing?

    Actually, scratch that. Developers that feel mastery of the CLI is an advantage should be barred from developing interfaces at all. Because they end up adding to the list of broken interfaces that have to be learned as arcane secrets to stroke their egos, thinking their broken shit is good software.



  • @blakeyrat said:

    This is gibberish to me.

    Reframed: I asked if they were using a plugin that ties into Visual Studio in a graphical way so I could just use it similar to how TFS is used, or if I would have to exit Visual Studio, pull up the command line, and play with git that way. He replied that the latter case was how it was being used.



  • Oh.

    Good on you.


  • ♿ (Parody)

    @blakeyrat said:

    > Asked if git was being used as UI or command line,

    This is gibberish to me.



  • Nobody is saying the command line is a good thing. Unfortunately, due to historical raisins, you need to know how to use the command line. You can cover over it with front ends, and sometimes this works pretty well, but with git it works terribly.

    I don't like the command line. I don't like shells. I don't like terminals. But git works well and it works via command line. So that's what I do.

    @Vaire said:

    Seriously? Are you trolling?
    Sorry, it was a misunderstanding.



  • @LB_ said:

    Nobody is saying the command line is a good thing.

    You are not saying that. A lot of other developers do. And it's not because of historical reasons. As blakey regularly points out, git is recent. There's no reason for git to be developed as a cli application. It could have been implemented as a library, for example, with a sane API that anyone could have written different front ends for. They chose to make it a console program for no reason other than they think the command line is good.

    They are sick and need help.



  • @boomzilla said:

    Not that everything hates him.

    Although that's true as well.



  • @Kian said:

    @rc4 said:
    Developers that struggle to use a CLI should not be developers, or near a computer, or within a 5 mile radius of an elementary school.

    What? Why? Because they don't see the benefit of memorizing a million commands for a hundred different applications each using different flags and options, and don't enjoy typing them? What does that have to do with developing?

    Actually, scratch that. Developers that feel mastery of the CLI is an advantage should be barred from developing interfaces at all. Because they end up adding to the list of broken interfaces that have to be learned as arcane secrets to stroke their egos, thinking their broken shit is good software.

    Struggle ≠ doesn't like, dumbass.



  • @Kian said:

    As blakey regularly points out, git is recent. There's no reason for git to be developed as a cli application.

    There is a perfectly valid reason: Linus Torvalds made it.

    @Kian said:

    They are sick and need help.
    I agree.



  • @rc4 said:

    Struggle ≠ doesn't like, dumbass.
    Doing something you dislike for an extended period of time can be described as a struggle. If you meant "people who have actual difficulty typing things into a computer", you might as well not have bothered. They self-select against it.

    @LB_ said:

    There is a perfectly valid reason: Linus Torvalds made it.

    That's not a "reason", that's just a description of what happened. "Linus Torvalds is an ass" is the reason. "Open source developers hero-worship him and internalize his bad ideas" is another reason. I wouldn't say they are valid reasons, however.


  • BINNED

    @Kian said:

    There's no reason for git to be developed as a cli application. It could have been implemented as a library, for example, with a sane API that anyone could have written different front ends for. They chose to make it a console program for no reason other than they think the command line is good.

    Completely false. Git was designed by and for Linux kernel developers, who would be familiar with the command line.



  • Most people are familiar with toilets. That doesn't mean you should create internet services designed to be used with toilets. Google already tried that once, and it was a joke.


  • BINNED

    My point was that git wasn't originally intended to be for the general population.



  • Still, they could easily separate the git CLI frontend from the library backend and maintain them separately. It would sure fix a lot of problems with the ecosystem.



  • @LB_ said:

    There is a perfectly valid reason: Linus Torvalds made it.

    Right; he is a really shitty software developer who has no idea what he's doing.

    The problem is all the other software developers who defend him as some kind of genius. I mean at least with Atwood, people can see right away that the emperor ain't got no clothes.


  • BINNED

    Wait, did @Kian take over your account, or did you seriously just argue both sides of the same dispute?

    @LB_ said:

    There is a perfectly valid reason: Linus Torvalds made it.

    @LB_ said:

    Still, they could easily separate the git CLI frontend from the library backend and maintain them separately. It would sure fix a lot of problems with the ecosystem.



  • @antiquarian said:

    Completely false. Git was designed by and for Linux kernel developers, who would be familiar with the command line.

    ... and they want to exclude people who are interested in computers being friendly from participating. Because fuck users. Fuck everybody who isn't them.

    If everything's hard as fuck, OH HEY, they can charge a premium for their services as kernel developers. If they made ANY effort to make the process easier their value goes down.

    Their incentives are all wack, yo.



  • The problem is the celebrity syndrome.

    @antiquarian said:

    Wait, did @Kian take over your account, or did you seriously just argue both sides of the same dispute?
    Whenever I say "Linus Torvalds" I am using it as a synonym for "an ass"


  • BINNED

    @blakeyrat said:

    ... and they want to exclude people who are interested in computers being friendly from participating. Because fuck users. Fuck everybody who isn't them.

    It's not like there isn't other version control software. Git works fine for what was originally its target audience. Your complaint should really be targeted at the projects that use git when it's not really a good fit for them, which would be pretty much everything that isn't a command-line program.

    I know there's a school of thought that says people shouldn't release software unless they make it good to use for everyone. In the case of software that you have to pay for, I think there's some merit for that. But to expect that of free software seems a bit entitled.

    @LB_ said:

    Whenever I say "Linus Torvalds" I am using it as a synonym for "an ass"

    No dispute there.



  • @antiquarian said:

    I know there's a school of thought that says people shouldn't release software unless they make it good to use for everyone. In the case of software that you have to pay for, I think there's some merit for that. But to expect that of free software seems a bit entitled.
    Money isn't the only motivation: wouldn't it be amazing if your open source project built itself? Making it more accessible and usable encourages people to use it, and making it easier to contribute means that more people will contribute when they otherwise wouldn't bother.

    There have been many times where I wanted to make a simple contribution to an open source project and changed my mind when I found out how difficult it was. Some developers seem to actively hate pull requests and even force you to fix small typos yourself instead of just doing it themselves in the merge.



  • @antiquarian said:

    It's not like there isn't other version control software.

    I know, but COMPANIES I WORK FOR KEEP SWITCHING TO IT BECAUSE IDIOTS

    @antiquarian said:

    Git works fine for what was originally its target audience. Your complaint should really be targeted at the projects that use git when it's not really a good fit for them, which would be pretty much everything that isn't a command-line program.

    Git is shitty software, and companies that choose to use it are making a shitty decision.

    There's no mutual exclusivity here, both are valid complaints.

    @antiquarian said:

    I know there's a school of thought that says people shouldn't release software unless they make it good to use for everyone.

    I'd be happy if they at least TRIED. Or even GAVE LIPSERVICE TO TRYING.

    I wouldn't expect someone like Torvalds to succeed at creating usable software, but it'd be nice if he DIDN'T GO OUT OF HIS WAY TO MAKE IT AS UNFRIENDLY AS POSSIBLE (which I'm convinced is what happened with Git.)



  • By the way @blakeyrat - just to be clear, your problems are with git's front end only, right? Would a better front end solve all your issues? Or do you have deeper concerns?


Log in to reply