WTF Bites



  • @Zerosquare said in WTF Bites:

    @dkf said in WTF Bites:

    @BernieTheBernie said in WTF Bites:

    129W is "stand-by" energy disspiation

    :wat:

    That's awful.

    I think he's confused. That's an European TV, not an American one. 🎺

    (:pendant:: something something  )

    Wait - do you use the TV for heating your house? Well, then it makes sense.



  • Trying to get the image url hidden in a pinterest page:
    pinterest.JPG


  • 🚽 Regular

    "It's divs (almost) all the way down!"


  • Discourse touched me in a no-no place

    @BernieTheBernie I'm surprised that the content of the data-layout-shift-boundary-id and data-test-id attributes are human-readable…



  • @dkf They forgot to encode it properly, I guess.



  • @cvi said in WTF Bites:

    vim is :thonking: really hard

    It really helps to turn off swapfile (which disabled undo as a side-effect). Funnily enough the documentation says “don't use this for big files”, but big files (as long as they will fit in your ram+swap) is where you really want to use it. I use it when I have huge (say 2GiB) log file from which I want to, with consecutive g/re/d expressions, delete all the currently irrelevant stuff. With swap the deletes take ages, without swap they are nearly instantaneous.

    @cvi said in WTF Bites:

    @hungrier Yeah. It's 2021. If you can't deal with counts of stuff in the millions, it's a bit embarrassing. (I get it - it wasn't designed for that, but that excuse is lame as well...)

    Well, it can deal with them mostly fine except adding millions of undo steps is reeeeealy slow. The unlimited undo was bolted on at some point, so the data structure underlying the buffer is probably ill-suited for it.

    I always just turned off the whole swapfile for this kind of operations, but turning off undo for the buffer would probably work around the problem too.



  • @BernieTheBernie said in WTF Bites:

    Wait - do you use the TV for heating your house?

    Of course!


  • Trolleybus Mechanic

    Haha, we found another creative way to bork git submodules. What you need to do:

    • create a submodule in path /foo/bar, commit, push
    • let another user pull these changes
    • deinit this submodule, remove the directory, commit, push
    • create another submodule in path /foo, commit, push

    Now tell another user to pull. Good luck. What happens in this case is that the directory .git/modules/foo/bar is not deleted on pull, and cloning the new submodule fails (with completely confusing messages). I gave up eventually and cloned everything anew.


  • Notification Spam Recipient

    @sebastian-galczynski
    My favorite (most retarded) thing about git:

    I create a new project, optimistically thinking that I will finish it (I'm wrong). It goes well, project grows fast, after an hour it already has over 20 LOCs.

    👦🏻: Hmm, I'm bound to fuck it up royally in next 5 minutes... Better put it in a repository so I can get back to this working state.
    : Yes, master?
    👦🏻: Create new repository, "MyGreatProject03".
    : All done, friend.
    👦🏻: Clone it to C:\Projects\MyGreatProject03.
    : OMG! This directory is not empty. What to do? What to do?! Error, fatality.
    👦🏻: FFS, not this shit again...
    rename MyGreatProject03 -> MyGreatProject03Tmp
    👦🏻: Clone it, you worthless piece of shit.
    : Cloned. Me happy.
    👦🏻: copy MyGreatProject03Tmp/* -> MyGreatProject03
    : You know what, you have lots of uncommited changes. Shall we commit, hmm?
    👦🏻: Go fuck yourself.

    Every. Fucking. Time.



  • VS Code's git integration has a menu item to fetch from all remotes. It's quite handy to do that, then merge origin/develop into your current branch to update it with the latest changes. However, VS 2022 either doesn't have it, or I can't find it. So instead, I have to

    • checkout develop
    • pull changes
    • watch VS 2022 freeze, then have the "This program has crashed. Restart it?" error dialog steal my focus while typing this message <-- I am here
    • checkout my other branch again, assuming the previous pull worked
    • merge develop into my branch


  • @hungrier

    • have the fucking thing crash again

  • Banned

    @MrL said in WTF Bites:

    @sebastian-galczynski
    My favorite (most retarded) thing about git:

    I create a new project, optimistically thinking that I will finish it (I'm wrong). It goes well, project grows fast, after an hour it already has over 20 LOCs.

    👦🏻: Hmm, I'm bound to fuck it up royally in next 5 minutes... Better put it in a repository so I can get back to this working state.
    : Yes, master?
    👦🏻: Create new repository, "MyGreatProject03".
    : All done, friend.
    👦🏻: Clone it to C:\Projects\MyGreatProject03.
    : OMG! This directory is not empty. What to do? What to do?! Error, fatality.
    👦🏻: FFS, not this shit again...
    rename MyGreatProject03 -> MyGreatProject03Tmp
    👦🏻: Clone it, you worthless piece of shit.
    : Cloned. Me happy.
    👦🏻: copy MyGreatProject03Tmp/* -> MyGreatProject03
    : You know what, you have lots of uncommited changes. Shall we commit, hmm?
    👦🏻: Go fuck yourself.

    Every. Fucking. Time.

    May I introduce you to git init?


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    May I introduce you to git init?

    That's not the point. Why barf if anything is in the directory, instead of when there's a conflict?

    One of thousand little things that make me hate git.



  • @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    I guess the logic is "after clone, the directory contents match the state of the repo". Which wouldn't be the case if there are already files in the directory, even if if there are no conflicts.


  • Notification Spam Recipient

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    This actually makes sense. It's the same reason certain programs' installers will go "Hey, WTF, there's already a program in this folder, you sure this is where you want me?"


  • Notification Spam Recipient

    @Zerosquare said in WTF Bites:

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    I guess the logic is "after clone, the directory contents match the state of the repo". Which wouldn't be the case if there are already files in the directory, even if if there are no conflicts.

    That's great, but if I try to clone into non-empty directory, then clearly that's not what I want.
    Any program with a slightest semblance of user friendliness would be prepared for this common scenario and ask me if I want to treat existing files as new changes or abort cloning.
    But that would go against git philosophy of being terrible, so I understand why it doesn't do that.



  • Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?


  • Notification Spam Recipient

    @Tsaukpaetra said in WTF Bites:

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    This actually makes sense. It's the same reason certain programs' installers will go "Hey, WTF, there's already a programsomething in this folder, you sure this is where you want me?fuck you!"

    🔧 the git way


  • Notification Spam Recipient

    @Zerosquare said in WTF Bites:

    Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?

    Not really. It just still pisses me off. Every day.


  • Notification Spam Recipient

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?

    Not really. It just still pisses me off. Every day.

    I hear fucking with it makes it a bit better.


  • Banned

    @MrL said in WTF Bites:

    @Gąska said in WTF Bites:

    May I introduce you to git init?

    That's not the point. Why barf if anything is in the directory, instead of when there's a conflict?

    Because 99% of people, 99% of time, only want to clone into a freshly created directory and the only time they supply an existing directory is when they typo'd and didn't actually mean what they wrote. And the repo may be non-empty too. So if Git started dumping repo files alongside the non-repo files, people would be rightfully pissed.

    git init is specifically designed to handle your particular use case. Why insist on using git clone then, something designed for a completely different use case?



  • @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?

    Not really. It just still pisses me off. Every day.

    Wait. How frequently are you making new repositories?


  • Notification Spam Recipient

    @Benjamin-Hall said in WTF Bites:

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?

    Not really. It just still pisses me off. Every day.

    Wait. How frequently are you making new repositories?

    Enough to post about it, clearly.



  • @Tsaukpaetra said in WTF Bites:

    @Benjamin-Hall said in WTF Bites:

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?

    Not really. It just still pisses me off. Every day.

    Wait. How frequently are you making new repositories?

    Enough to post about it, clearly.

    I mean, the barrier to posting is really really low. <examples snipped>


  • Banned

    @Benjamin-Hall we need more fax machines!


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    @Benjamin-Hall we need more fax machines!

    Let me sing the song of my creations! 📞



  • ☎: 🔔 🔊
    👨: Hello?
    ☎: *beeeeeeeeeep* *shreeeeeeeek*...
    👨: hangs up
    👩: Who was that?
    👨: That damn Tsaukpaetra again.


  • Notification Spam Recipient

    @MrL said in WTF Bites:

    then clearly that's not what I want.

    Is it, though?


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    Because 99% of people, 99% of time, only want to clone into a freshly created directory and the only time they supply an existing directory is when they typo'd and didn't actually mean what they wrote.

    That could be the assumption of git creator(s). But of course the real one is "fuck it, just throw an error".

    And the repo may be non-empty too. So if Git started dumping repo files alongside the non-repo files, people would be rightfully pissed.

    Rightfully pissed that a program did what they asked it to do?

    git init is specifically designed to handle your particular use case. Why insist on using git clone then, something designed for a completely different use case?

    Because it's natural for me to create remote repo and then add files to it.


  • Notification Spam Recipient

    @Benjamin-Hall said in WTF Bites:

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    Are you seriously expecting any user-friendliness from a program created by someone who thinks UNIX is the best thing in the world?

    Not really. It just still pisses me off. Every day.

    Wait. How frequently are you making new repositories?

    Git generally pisses me off every day.


  • Banned

    @MrL said in WTF Bites:

    @Gąska said in WTF Bites:

    Because 99% of people, 99% of time, only want to clone into a freshly created directory and the only time they supply an existing directory is when they typo'd and didn't actually mean what they wrote.

    That could be the assumption of git creator(s). But of course the real one is "fuck it, just throw an error".

    Who cares what the reason was for the right decision?

    And the repo may be non-empty too. So if Git started dumping repo files alongside the non-repo files, people would be rightfully pissed.

    Rightfully pissed that a program did what they asked it to do?

    Yes, absolutely. A program doing the obviously retarded thing because the user mistyped a command is the definition of bad UI.

    git init is specifically designed to handle your particular use case. Why insist on using git clone then, something designed for a completely different use case?

    Because it's natural for me to create remote repo and then add files to it.

    May I introduce you to git remote add? No need to clone anything.


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    Yes, absolutely. A program doing the obviously retarded thing because the user mistyped a command is the definition of bad UI.

    I'm sorry, but are you seriously saying that git has good UI?

    git init is specifically designed to handle your particular use case. Why insist on using git clone then, something designed for a completely different use case?

    Because it's natural for me to create remote repo and then add files to it.

    May I introduce you to git remote add? No need to clone anything.

    That's precisely what I'm talking about. Simple common use case. Could be handled automatically with one button press by the user, and maybe a prompt asking if he's sure. But no, git must puke its complexity all over you.

    And of course plenty of people will tell you that it's a good thing :crazy:


  • Banned

    @MrL said in WTF Bites:

    @Gąska said in WTF Bites:

    Yes, absolutely. A program doing the obviously retarded thing because the user mistyped a command is the definition of bad UI.

    I'm sorry, but are you seriously saying that git has good UI?

    I cannot believe I'm saying this but yes, in this one particular case they made the right call. They royally fucked up everything else but here it behaves as it should.

    git init is specifically designed to handle your particular use case. Why insist on using git clone then, something designed for a completely different use case?

    Because it's natural for me to create remote repo and then add files to it.

    May I introduce you to git remote add? No need to clone anything.

    That's precisely what I'm talking about. Simple common use case.

    It's not nearly as common as you think.

    Could be handled automatically with one button press by the user, and maybe a prompt asking if he's sure. But no, git must puke its complexity all over you.

    I have to remember two different commands for doing two different things! OH GOD THE COMPLEXITY!

    Personally I hate interactive command line programs. If I didn't specifically tell the program to ask me questions, then don't fucking ask me questions. Just error out and let me fix the comand line.


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    Personally I hate interactive command line programs. If I didn't specifically tell the program to ask me questions, then don't fucking ask me questions. Just error out and let me fix the comand line.

    Yes, typing 50 flags and switches from memory to avoid retarded defaults is clearly better.

    Interactive or not, fuck console. Which is another (big) reason for my git hatred - its hostility toward integrating GUIs. Which I'm pretty sure is intentional.


  • Banned

    @MrL said in WTF Bites:

    @Gąska said in WTF Bites:

    Personally I hate interactive command line programs. If I didn't specifically tell the program to ask me questions, then don't fucking ask me questions. Just error out and let me fix the comand line.

    Yes, typing 50 flags and switches from memory to avoid retarded defaults is clearly better.

    Better than remembering 50 questions and the order they're asked in and the one letter mnemonics they use for answers.

    Interactive or not, fuck console. Which is another (big) reason for my git hatred - its hostility toward integrating GUIs. Which I'm pretty sure is intentional.

    It's less hostility and more the absolute unit of :kneeling_warthog: of the entire collective of programmers for doing any good GUI for Git. I mean, you didn't make one yourself, why do you expect anyone else to do better? It's not like they sell Git for profit.


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    It's less hostility and more the absolute unit of :kneeling_warthog: of the entire collective of programmers for doing any good GUI for Git. I mean, you didn't make one yourself, why do you expect anyone else to do better? It's not like they sell Git for profit.

    The problem is with git itself - it doesn't have any integration layer. It's just console barfing horribly structured responses to horribly structured commands. GUIs scrape that string soup and try to parse it to show user accurately what the situation is.
    Which is hard, so we end up with GUIs that support only most basic commands or shitshows like SourceTree.

    Although that may not be the case anymore, there's libgit2, which tries to provide some sane interface to git. Not sure how it works internally.



  • @MrL said in WTF Bites:

    it doesn't have any integration layer. It's just console barfing horribly structured responses to horribly structured commands




  • Notification Spam Recipient

    @Watson Someone should really port that to Windows someday...



  • @Watson: I know, but :faxbarrierjoker:.



  • @MrL said in WTF Bites:

    @Gąska said in WTF Bites:

    It's less hostility and more the absolute unit of :kneeling_warthog: of the entire collective of programmers for doing any good GUI for Git. I mean, you didn't make one yourself, why do you expect anyone else to do better? It's not like they sell Git for profit.

    The problem is with git itself - it doesn't have any integration layer. It's just console barfing horribly structured responses to horribly structured commands. GUIs scrape that string soup and try to parse it to show user accurately what the situation is.

    The only problem has always been commit. All the other things have low-level “plumbing” variants that provide properly structured stable responses.

    Which is hard, so we end up with GUIs that support only most basic commands or shitshows like SourceTree.

    SourceTree is mainly a shit-show because it tries to make git “simpler” by pretending the concepts mean something else then they really mean and it does not work.


  • Notification Spam Recipient

    @Bulb said in WTF Bites:

    SourceTree is mainly a shit-show because it tries to make git “simpler” by pretending the concepts mean something else then they really mean and it does not work.

    Well, it tries and fails, because it's made by Atlassian - which means it must be a pile of garbage.


  • Considered Harmful

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    I guess the logic is "after clone, the directory contents match the state of the repo". Which wouldn't be the case if there are already files in the directory, even if if there are no conflicts.

    That's great, but if I try to clone into non-empty directory, then clearly that's not what I want.
    Any program with a slightest semblance of user friendliness would be prepared for this common scenario and ask me if I want to treat existing files as new changes or abort cloning.

    "I have shit in a directory that has nothing whatsoever in common with that other repository (because otherwise there'd be conflicts) but I want to merge that with the repository by using a single command that's supposed to make an identical copy as opposed to making a copy and using a single other command to move my shit in there" is just not sane enough to be part of most people's workflow. Making "clone" interactive in some cases introduces a corner case that I bet would bite more people when scripting git than would be saved the small inconvenience of using two or three commands in your case.


  • Considered Harmful

    @Gąska said in WTF Bites:

    Personally I hate interactive command line programs. If I didn't specifically tell the program to ask me questions, then don't fucking ask me questions. Just error out and let me fix the comand line.

    A-fucking-men.


  • Banned

    @LaoC nah I'm straight.


  • Considered Harmful

    @Gąska said in WTF Bites:

    @LaoC nah I'm straight.

    I thought of adding an "inb4 :giggity:" but it just doesn't render in a title :mlp_shrug:


  • Notification Spam Recipient

    @LaoC said in WTF Bites:

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    I guess the logic is "after clone, the directory contents match the state of the repo". Which wouldn't be the case if there are already files in the directory, even if if there are no conflicts.

    That's great, but if I try to clone into non-empty directory, then clearly that's not what I want.
    Any program with a slightest semblance of user friendliness would be prepared for this common scenario and ask me if I want to treat existing files as new changes or abort cloning.

    "I have shit in a directory that has nothing whatsoever in common with that other repository (because otherwise there'd be conflicts) but I want to merge that with the repository by using a single command that's supposed to make an identical copy as opposed to making a copy and using a single other command to move my shit in there" is just not sane enough to be part of most people's workflow. Making "clone" interactive in some cases introduces a corner case that I bet would bite more people when scripting git than would be saved the small inconvenience of using two or three commands in your case.

    @MrL said

    And of course plenty of people will tell you that it's a good thing :crazy:


  • Considered Harmful

    @MrL said in WTF Bites:

    @LaoC said in WTF Bites:

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    I guess the logic is "after clone, the directory contents match the state of the repo". Which wouldn't be the case if there are already files in the directory, even if if there are no conflicts.

    That's great, but if I try to clone into non-empty directory, then clearly that's not what I want.
    Any program with a slightest semblance of user friendliness would be prepared for this common scenario and ask me if I want to treat existing files as new changes or abort cloning.

    "I have shit in a directory that has nothing whatsoever in common with that other repository (because otherwise there'd be conflicts) but I want to merge that with the repository by using a single command that's supposed to make an identical copy as opposed to making a copy and using a single other command to move my shit in there" is just not sane enough to be part of most people's workflow. Making "clone" interactive in some cases introduces a corner case that I bet would bite more people when scripting git than would be saved the small inconvenience of using two or three commands in your case.

    @MrL said

    And of course plenty of people will tell you that it's a good thing :crazy:

    It's doing the opposite of "puking complexity". Interactive programs that handle exotic scenarios are necessarily more complex, and programs that are usually not interactive except when they are, particularly so. Not just programmatically, also cognitively.


  • Notification Spam Recipient

    @LaoC said in WTF Bites:

    @MrL said in WTF Bites:

    @LaoC said in WTF Bites:

    @MrL said in WTF Bites:

    @Zerosquare said in WTF Bites:

    @MrL said in WTF Bites:

    Why barf if anything is in the directory, instead of when there's a conflict?

    I guess the logic is "after clone, the directory contents match the state of the repo". Which wouldn't be the case if there are already files in the directory, even if if there are no conflicts.

    That's great, but if I try to clone into non-empty directory, then clearly that's not what I want.
    Any program with a slightest semblance of user friendliness would be prepared for this common scenario and ask me if I want to treat existing files as new changes or abort cloning.

    "I have shit in a directory that has nothing whatsoever in common with that other repository (because otherwise there'd be conflicts) but I want to merge that with the repository by using a single command that's supposed to make an identical copy as opposed to making a copy and using a single other command to move my shit in there" is just not sane enough to be part of most people's workflow. Making "clone" interactive in some cases introduces a corner case that I bet would bite more people when scripting git than would be saved the small inconvenience of using two or three commands in your case.

    @MrL said

    And of course plenty of people will tell you that it's a good thing :crazy:

    It's doing the opposite of "puking complexity". Interactive programs that handle exotic scenarios are necessarily more complex, and programs that are usually not interactive except when they are, particularly so. Not just programmatically, also cognitively.

    No.



  • Status: I wonder if I'm caught in @HardwareGeek's delivery distortion field. And also I have no idea where to post this and :kneeling_warthog: to think/search a better place (or shudder create a new thread!).

    I ordered two new appliances for my kitchen. Initially they told me "we're processing your order, delivery company will contact you in a few days." OK. Not sure why it needs a few days for that (they actually specified a date, not said "in a few days", so it's not just some 🍑 ☂ for "don't panic if you don't get a call in 5 min"), but why not.

    Then yesterday I got an email with "oops, we're sorry, some of the items are not in stock, here is a summary of what we will deliver and what we will cancel." Well, not really a huge surprise either given the global state of things. Though quite annoying since I actually tried a few sellers to pick one who said that yes, those appliances were in stock, but here you go.

    Now keep in mind I said I'm buying two appliances.

    The summary in the email has:

    • one item (appliance 1) that is not currently available ("will be restocked later");
    • one item (appliance 2) that is currently available ("will be sent to you soon");
    • two items (appliance 1 and appliance 2) that are cancelled ("you will not be billed etc.").

    :wtf: :sideways_owl: :wtf_owl:

    I sent an email to the online support (:rofl:), and they basically told me "order has been dispatched, you'll be contacted for delivery." Yes, but delivery of what??!?

    Then I got an email about how one appliance (appliance 2) has been dispatched, and will be delivered by delivery company "WARNING". Yes, written like that. In several places in the email. Oh, and the "track your package" link goes to a page (from the delivery company, so I can actually see which one it is) that says "this tracking service is no longer available, you have to switch to our new delivery tracking system", which I assume from the way it's written is a page intended for developers at the seller's company (i.e. how do you update emails you send to clients so that tracking links work). Not enough information to patch together a working link (I don't have any sort of tracking number, only the seller's order number).

    Then I got another email from the seller with the "final bill" that lists both appliances (1 and 2), as if they had both been dispatched.

    I'm waiting for the call from the delivery company to see what they actually have. All communication from the seller clearly state that the delivery company will contact me to set a delivery date, not to deliver, but I'm fully expecting that they'll call me saying "we're in front of your house, why is there nobody home?"


Log in to reply