The failure modes of rsync


  • Banned

    @blakeyrat said:

    Windows just automatically and silently creates a console as-needed by an application. The user (or developer, really) never has to think about it, it just happens.

    Linux requires the user to check a box in a dialog for the console to exist at all, and once checked the console always exists regardless of what the application is doing.

    But in Windows, the console is "a special thing", and in Linux it is not.


    You're confusing several kinds of "special". If you mean special as in something that differs in behavior from other things, then Windows console is certainly this - there can be only one console window per process (unlike every other kind of window in whole Windows universe), and it's managed by Windows itself and not the owning program (unlike every other kind of window in whole Windows universe). And if you mean special as in insane, then the flamewar thread is that way: 💩



  • @Gaska said:

    there can be only one console window per process (unlike every other kind of window in whole Windows universe)

    Is that true? I'm pretty sure that's not true.

    @Gaska said:

    and it's managed by Windows itself and not the owning program (unlike every other kind of window in whole Windows universe).

    Ok? Lots of shit is managed by Windows.

    Look, are you actually defending the Linux process here? You seem to have stopped talking about that at all. Why the fuck does Linux make you MANUALLY tell the application whether it uses a console window or not? Why doesn't the application just tell Linux whether it does or not? Why burden the user with that pointless bullshit!?

    Oh right. Because Linux people LOVE software to be as difficult to use as possible and don't give a shit about users. Users can go fuck themselves, guys like Gaska are here to make computing annoying and frustrating.


  • Java Dev

    I've been thinking, and I can't think of a simple non-hacky way in which a linux GUI application could launch a terminal emulator window for itself.


  • Discourse touched me in a no-no place

    @PleegWat said:

    I can't think of a simple non-hacky way in which a linux GUI application could launch a terminal emulator window for itself.

    Wine? 🛂



  • Seriously though, how hard would it be for the OS to go "oh the application is writing to the console? Let me just suspend it while I spin up a new console window and manage the plumbing. Problem Solved 👍"



  • That would require someone to have spent more than 58 nanoseconds thinking about the problem. Since no software on Linux is designed (it's better described as "congealed"), that'll never happen.


  • Banned

    @blakeyrat said:

    Is that true? I'm pretty sure that's not true.

    RTFM

    @blakeyrat said:

    Look, are you actually defending the Linux process here? You seem to have stopped talking about that at all.

    Windows has special case of console window, and I elaborated on it because it's special. Linux has no special case for any kind of window, so there's nothing to talk about.

    @blakeyrat said:

    Why the fuck does Linux make you MANUALLY tell the application whether it uses a console window or not? Why doesn't the application just tell Linux whether it does or not?

    Because console window in Windows and console window in Linux are entirely different things. In the former, it's a very special window that has a very special meaning to the program. In Linux, console window is just a regular window, nothing more. Linux kernel knows nothing about console windows (why should it?), so there is no way for it to open it.

    @blakeyrat said:

    Why burden the user with that pointless bullshit!?

    Because they usually don't want to have the console open. The convention for Linux GUI applications is to spit random debug shit all over stdout and stderr - it's a pretty nice way of logging unimportant stuff because 1) it's usually invisible to the user, and 2) it's very easily accessible if the user/developer wants to see it and requires virtually no code for it to work.


  • Discourse touched me in a no-no place

    @Gaska said:

    very special window

    There were definitely times when it felt to me like the Win console window was “short bus” special.



  • Console Window? Or command parser? Different things


  • Discourse touched me in a no-no place

    Term applies to both, but for different reasons.

    The window was a PITA because of the weird rectangular selection thing that it insisted on (and that I gather there's an experimental fix for in Win10).

    The command parser was tangled up with the problems of who parses commands, and they're things that Windows inherited from DOS, which in turn inherited them from CP/M. Yes, it means that programs can interpret exactly what users type in, but no, it doesn't mean that they do it consistently. (If they all used the MSVC runtime it would be fine. They don't. Dear god, they don't…)



  • @Gaska said:

    In Linux, console window is just a regular window, nothing more. Linux kernel knows nothing about console windows (why should it?), so there is no way for it to open it.

    Ok; but isn't that at best inconvenient and at worst EXTREMELY FUCKING STUPID?

    @Gaska said:

    Because they usually don't want to have the console open.

    Well I agree, why would you want to see that 1960's bullshit spitting ass all over your screen?

    But it's still stupid for it to be an option. The OS could, for example, open a console window and simply not show it to the user until requested. That'd be a much smarter way of doing it, on an OS that lacked Windows' ability to open a console window on-demand.

    But that would require someone to actually stop and think about what the behavior should be for more than 53 nanoseconds.

    @Gaska said:

    The convention for Linux GUI applications is to spit random debug shit all over stdout and stderr - it's a pretty nice way of logging unimportant stuff because 1) it's usually invisible to the user, and 2) it's very easily accessible if the user/developer wants to see it and requires virtually no code for it to work.

    Windows has OS-level logging that doesn't rely on spewing text into a console window. Maybe Linux should add that feature, too, and forget the whole thing.

    Oh wait, every time I say Linux should add that feature, some moron like you comes along and says "IT HAS IT IT ALREADY HAS IT OMGOMGOMOGMOGMOGMSDB" but then a few days later, when everybody's brain has leaked-out all their memories suddenly it's: well the Linux convention is to log to a shitty console window that doesn't exist most of the time and if you want to see it you have to explicitly tell it to exist but if you do that it ALWAYS exists and really this is a really shitty way of doing things isn't it?


  • Discourse touched me in a no-no place

    @blakeyrat said:

    The OS could, for example, open a console window and simply not show it to the user until requested.

    Or log it and keep the log hidden until it is asked for. As happens on OSX.



  • @dkf said:

    Or log it and keep the log hidden until it is asked for.

    Same difference, really. Either keep the text and constitute a console window out of it on demand, or keep the console window and hide it until it's needed. End-result is the same.

    The Windows behavior is still smarter, but the performance difference between the two methods doesn't really matter anymore on modern hardware, so the benefit kind of slips away.

    @dkf said:

    As happens on OSX.

    OS X, for all the criticism I have about it, actually has developers who spend 53 nanoseconds thinking about how things should behave.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    End-result is the same.

    Not quite. Text can be kept after the program itself is long gone. Most users don't give a [spoiler]@­codinghorror[/spoiler] about the difference.


  • Banned

    @blakeyrat said:

    Ok; but isn't that at best inconvenient and at worst EXTREMELY FUCKING STUPID?

    I see nothing inconvenient in not having console window when it's not needed, much less stupid. And by needed, I mean when the user needs it.

    @blakeyrat said:

    Well I agree, why would you want to see that 1960's bullshit spitting ass all over your screen?

    Iunno. You tell me. You insist on showing it.

    @blakeyrat said:

    But it's still stupid for it to be an option.

    Pronoun game. *ding*

    @blakeyrat said:

    But that would require someone to actually stop and think about what the behavior should be for more than 53 nanoseconds.

    Also, a couple of man-years to implement it due to this feature requiring cooperation of a dozen different components that until now didn't know about each other's existence by design to allow easy replacement. And it would break like five or six layers of abstraction.

    @blakeyrat said:

    Windows has OS-level logging that doesn't rely on spewing text into a console window.

    Not console window - stderr. No, you cannot conflate the two, even though they are usually coupled together. Also, for important stuff, Linux has OS-level logging too. I mean, duh! How else would people use it for server stuff?


    And the most important thing - Linux works very differently from Windows regarding console windows. First and foremost, there is no "the" console window. Console window is common name for anything that looks like Windows console window - usually it's a window created by an application belonging to the terminal emulator category (terminal in short). The content and behavior of this window is fully dependent on the terminal process - just like Minesweeper's window is handled from the beginning to the end by Minesweeper process. On startup, the terminal process creates the window, spawns the shell process, and hijacks its stdin, stdout and stderr. If it receives a keypress message, it translates it into character to write on stdin to shell. If shell spews something to stdout or stderr, it translates it to pixels shown in the console window. Both the shell and the applications ran by shell are completely ignorant of the console window - they don't even know there's any console! And they don't need to, because why?


  • :belt_onion:

    @blakeyrat said:

    Windows has OS-level logging that doesn't rely on spewing text into a console window

    I definitely want useless debug information spewed into my system log when I don't need it! Don't you want that too?


  • :belt_onion:

    Of course, the other option is to have a user-changeable flag that turns the debug logging on and off.

    Sounds like something I've heard of before


  • Banned

    Your hearing doesn't exist or is private.


  • :belt_onion:

    That's... special... Discourse. Thanks for that.

    It was this (stolen from upthread)

    https://what.thedailywtf.com/uploads/default/original/3X/7/f/7f668dce5e08968bb97a9f15386564b51edab928.png



  • No repro:


  • :belt_onion:

    It's the link bug. Middle-mouse click is fine, left click is broken.

    It's awesome when you can Belgium up hyperlinks.



  • :headdesk: :headdesk: :headdesk: :headdesk:

    ARE YOU SHITTING ME



  • @dkf said:

    @gleemonk said:
    Of course we'll have to adapt a bit for Unicode

    Of course. You can now have up to 65535 characters in a string! Lucky you…

    If you make all the strings UTF-8, and interpret the first code point as a length, you can have up to 0x10ffff = 1114111 characters in a string!

    I like the way Applesoft BASIC dealt with strings. A string value as held in the variable table was actually a three byte descriptor, with one byte for length and two bytes for a pointer into the text pool. Every now and then the text pool would need garbage collecting, which caused noticeable lags especially if you were running on a fully optioned machine with 48K RAM, and sometimes the text pool would grow down in memory far enough to corrupt the graphics display RAM. But substring operations were nice and quick.



  • @blakeyrat said:

    isn't that at best inconvenient and at worst EXTREMELY FUCKING STUPID?

    No.



  • @blakeyrat said:

    Windows has OS-level logging that doesn't rely on spewing text into a console window.

    And it's such a pain in the arse to use that nobody does, and the event viewer interface to deal with it is a worse pain in the arse. Which is why figuring out why broken Windows applications are broken always needs several round trips through Google, while figuring out why broken Linux applications are broken can be as simple as re-launching them from inside a terminal (CLI) window and just reading what it is they're unhappy about.



  • @Gaska said:

    Iunno. You tell me. You insist on showing it.

    I do? When did that happen?

    @Gaska said:

    Pronoun game. ding

    Uh. Have you gone fully insane?

    @Gaska said:

    Also, a couple of man-years to implement it due to this feature requiring cooperation of a dozen different components that until now didn't know about each other's existence by design to allow easy replacement. And it would break like five or six layers of abstraction.

    So the whole OS is designed shitty from top to bottom. What a compelling argument for this one feature to be designed shitty.

    @Gaska said:

    Also, for important stuff, Linux has OS-level logging too. I mean, duh! How else would people use it for server stuff?

    Right; then why are you talking about "stderr" at all?

    Either Linux has central logging, and everybody's supposed to use it, or it don't and nobody's supposed to use it. There's no inbetween state where some programs do it one way and other programs do it the other way, and the user has no way of telling which program is which. That's just fucking demented.

    @Gaska said:

    And the most important thing - Linux works very differently from Windows regarding console windows.

    Duh.

    @sloosecannon said:

    I definitely want useless debug information spewed into my system log when I don't need it! Don't you want that too?

    Just don't look at it.

    @flabdablet said:

    And it's such a pain in the arse to use that nobody does,

    Right; I'm imagining the 30,000+ messages in mine. Because obviously nobody uses it, so that must be a hallucination.

    @flabdablet said:

    and the event viewer interface to deal with it is a worse pain in the arse.

    True; the newest iteration of the default UI is pretty ass. You don't have to use it though, the data's all available.

    @flabdablet said:

    Which is why figuring out why broken Windows applications are broken always needs several round trips through Google, while figuring out why broken Linux applications are broken can be as simple as re-launching them from inside a terminal (CLI) window and reading what it is they're unhappy about.

    If you're super nerd developer man. That doesn't help the average user, who's going to simply be fucked.



  • Your mythical average user is also not even going to know the Windows event log even exists. Average users are just fucked as soon as anything goes wrong, because average users only understand step-by-step procedures for getting things done. Any departure from their routine causes fuckage.



  • @Gaska said:

    I can't argue with facts.

    That's just because you are not blakeyrat


  • :belt_onion:

    @blakeyrat said:

    Just don't look at it.

    So.... Eating disk space and filling the logs with crap is OK with you?



  • @sloosecannon said:

    So.... Eating disk space and filling the logs with crap is OK with you?

    No; but that doesn't happen in Windows, so. Kind of a pointless question you're asking.


  • Considered Harmful

    @blakeyrat said:

    that doesn't happen in Windows

    Not even a matter of log rotation. Windows is so inherently well designed, that the logs do not in fact take up disk space. True story.


  • :belt_onion:

    Right, because Windows doesn't do silly things like keep logs for every single application. Which is what you were proposing



  • @Gribnit said:

    Windows is so inherently well designed, that the logs do not in fact take up disk space. True story.

    I think I’m going to have to switch to Windows and tinker with it so that it logs all my actual work instead of those useless error and status messages — I’d never have to worry about running out of disk space again!



  • @flabdablet said:

    because average users only understand step-by-step procedures for getting things done.

    From what I've seen, you're being generous.


  • ♿ (Parody)

    @blakeyrat said:

    Ok; but isn't that at best inconvenient and at worst EXTREMELY FUCKING STUPID?

    Only if we're using the same assumptions as the aliens on your shoulder.

    @blakeyrat said:

    Windows has OS-level logging that doesn't rely on spewing text into a console window. Maybe Linux should add that feature, too, and forget the whole thing

    It's funny, because in this thread you've demonstrated ignorance about Windows and Linux!


  • Banned

    @blakeyrat said:

    I do? When did that happen?

    When you said that Linux should spawn console window on first write to stdout?

    @blakeyrat said:

    Uh. Have you gone fully insane?

    No. I just have no idea what you referred to when you said "it to be an option".

    @blakeyrat said:

    So the whole OS is designed shitty from top to bottom.

    No - it's just not designed for this particular feature. Which is fine for everyone except you, since this allow for other, more important things to work better.

    @blakeyrat said:

    Right; then why are you talking about "stderr" at all?

    Because stderr is used too? I think I made it clear what is used when and why.

    @blakeyrat said:

    Either Linux has central logging, and everybody's supposed to use it, or it don't and nobody's supposed to use it.

    Only a Sith deals in absolutes.

    @blakeyrat said:

    There's no inbetween state where some programs do it one way and other programs do it the other way

    Yes there is. Log files, in-app debug view... There are endless possibilities.

    @blakeyrat said:

    and the user has no way of telling which program is which

    RTFM

    @blakeyrat said:

    If you're super nerd developer man. That doesn't help the average user, who's going to simply be fucked.

    How many average users are aware that there is some central logging facility in Windows?


  • Considered Harmful

    @Gaska said:

    Only a Sith deals in absolutes.

    Do you think that anyone would have given @blakeyrat Jedi training, though? A person enough of a saint to take on the task would have done a far better job than is evidenced.


  • BINNED

    @Gaska said:

    No - it's just not designed for this particular feature. Which is fine for everyone except you, since this allow for other, more important things to work better.

    YMBNH. Rule number 1: if it doesn't work the way blakeyrat wants it to, it's 💩. Rule number 2: see rule number 1.


  • Banned

    I know. But for the sake of argument, I pretend it's not like that.



  • @boomzilla said:

    It's funny, because in this thread you've demonstrated ignorance about Windows and Linux!

    Yay! Let's do a three-fer:

    OS X is a new breakfast sandwich from McDonalds.



  • @Gaska said:

    When you said that Linux should spawn console window on first write to stdout?

    And when did I say that? Because I have no recollection of that, and it's certainly nowhere in this thread.

    @Gaska said:

    No. I just have no idea what you referred to when you said "it to be an option".

    And your misunderstanding was aptly communicated with the words "pronoun game ding". The meaning of which is obvious to everybody, of course.

    @Gaska said:

    Which is fine for everyone except you, since this allow for other, more important things to work better.

    Like what?

    In what way does Linux work better than Windows? I challenge you to come up with something. I throw down the gauntlet.

    @Gaska said:

    Only a Sith deals in absolutes.

    At least quote a decent movie.

    @Gaska said:

    Yes there is. Log files, in-app debug view... There are endless possibilities.

    Yes. So which is correct in, say, Ubuntu?


  • Grade A Premium Asshole

    @blakeyrat said:

    In what way does Linux work better than Windows? I challenge you to come up with something. I throw down the gauntlet.

    You can update a Linux machine without taking it offline for a half hour. Most of the time you can update things without an interruption of service at all.



  • Please, we've discussed that to death and I dismiss it entirely as you know I will, so don't waste both of our time with it.


  • Grade A Premium Asshole

    Dismiss it all you want. It does not mean you are not wrong.



  • Ok but it does mean Blakeyrat wins again.


  • Grade A Premium Asshole

    No. It just means you are delusional.


  • Grade A Premium Asshole

    This post is deleted!


  • The funny thing is that I can actually think of things Linux does better than Windows, but instead of naming any of those, you named something you already know we've already debated and I already disagree with.

    Linux users are fucking stupid, is what I'm getting at here.


  • Grade A Premium Asshole

    @blakeyrat said:

    Linux users are fucking stupid, is what I'm getting at here.

    What I am getting at is, just because you disagree with something it doesn't mean you aren't fucking wrong. Which you are.


  • Banned

    @blakeyrat said:

    And when did I say that?

    You alluded several times that Linux would be better if it did what Windows does. And Windows spawns console window on first write to stdout.

    @blakeyrat said:

    And your misunderstanding was aptly communicated with the words "pronoun game ding". The meaning of which is obvious to everybody, of course.

    It was allusion to "Everything Wrong With" series. It's so popular I assumed everyone knows it already and would recognize the reference - if not the "pronoun game" catchphrase, then at least the characteristic *ding* they use. If you haven't seen it already, I strongly recommend it to you - they essentially do with the movies what you do with the software: point out all, even the most arguable wrongdoings.

    @blakeyrat said:

    Like what?

    Like letting you use whatever the fuck you want as terminal emulator. And desktop environment. And windowing system. And almost everything else.

    @blakeyrat said:

    At least quote a decent movie.

    What should I quote instead if this was the most appropriate movie line in the universe here?

    @blakeyrat said:

    Yes. So which is correct in, say, Ubuntu?

    Depends on what exactly you are doing and what exactly you want and for what exact use case.

    @Polygeekery said:

    You can update a Linux machine without taking it offline for a half hour. Most of the time you can update things without an interruption of service at all.

    It's an illusion.

    @blakeyrat said:

    Ok but it does mean Blakeyrat wins again.

    Wait a minute. Since when does dismissing an argument results in a win?

    @blakeyrat said:

    Linux users are fucking stupid, is what I'm getting at here.

    Thanks goodness I'm using Windows, then.


Log in to reply