Bumblebee





  • A+. Worth it just to read the comments



  • You made my day. That is epic.



  • @ebonhand09 said:

    there are just no words



    .. or /usr

    Yow!!



  • @pure said:

    I think this is why testing is important:

    https://github.com/MrMEEE/bumblebee/commit/a047be85247755cdbe0acce6#diff-1

    Anybody want to explain what happened? I'm geeky but I ain't that geeky.

    Also, am I the only one who consistently reads "github" as "gi thub"? Terrible website name.

    Ok, from surfing the contents of that page, it looks like there was a typo in the code which deletes the /usr folder which apparently contains something useful? Some people in the comments says that deletes the OS? Or something?

    So someone in the open source community posted a software update that cripples a user's system, possibly losing all their data, and the open source response is to LAUGH? "Haha! Crippling bug! You just ruined a bunch of people's computers!" That's FUNNY to them? FUCK! What. Assholes.



  • @blakeyrat said:

    Anybody want to explain what happened? I'm geeky but I ain't that geeky.

     

    Someone wanted to remove the directory /usr/lib/nvidia-current/xorg/xorg

    They intended to write:

    rm -rf /usr/lib/nvidia-current/xorg/xorg

    but instead did:

    rm -rf /usr /lib/nvidia-current/xorg/xorg

     Notice the space after /usr? That makes it be interprerted as rm -rf /usr which will remove the entire folder and all its contents. Note that /usr contains a *couple* of pretty important files...

    @blakeyrat said:

    So someone in the open source community posted a software update that cripples a user's system, possibly losing all their data, and the open source response is to LAUGH? "Haha! Crippling bug! You just ruined a bunch of people's computers!" That's FUNNY to them? FUCK! What. Assholes.

    Looks like 4chan kids are the ones enjoying it based on the pictures being posted.



  • @Cyrus said:

    contains a couple of pretty important files...

    Jesus fuck, if you're going to explain it, EXPLAIN IT. What pretty important files does it contain? Are these valuable files, or files easily replaced from an installer disk? Are they user-generated files?

    @Cyrus said:

    Looks like 4chan kids are the ones enjoying it based on the pictures being posted.

    Oh yeah; I should feel better about the open source community because only the top 40 posts were laughing about ruining someone's system.

    What unbelievable douchebags. I knew open source developers didn't give a fuck, but I didn't know they were actively hostile. This is unbelievable.



  • That's not epic, that's legendary!



  •  @blakeyrat said:

    @Cyrus said:
    contains a couple of pretty important files...

    Jesus fuck, if you're going to explain it, EXPLAIN IT. What pretty important files does it contain? Are these valuable files, or files easily replaced from an installer disk? Are they user-generated files?

    @Cyrus said:

    Looks like 4chan kids are the ones enjoying it based on the pictures being posted.

    Oh yeah; I should feel better about the open source community because only the top 40 posts were laughing about ruining someone's system.

    What unbelievable douchebags. I knew open source developers didn't give a fuck, but I didn't know they were actively hostile. This is unbelievable.

     You know that you're posting on a website whose purpose is to post code that fucks things up for users to laugh at, right?



  • @blakeyrat said:

    Jesus fuck, if you're going to explain it, EXPLAIN IT. What pretty important files does it contain? Are these valuable files, or files easily replaced from an installer disk? Are they user-generated files?

    It's probably roughly equivalent to deleting at least your windows Program Files directory, and parts of your Windows directory.

    @blakeyrat said:

    Oh yeah; I should feel better about the open source community because only the top 40 posts were laughing about ruining someone's system.

    What unbelievable douchebags. I knew open source developers didn't give a fuck, but I didn't know they were actively hostile. This is unbelievable.

    Dang...It's almost the sort of reaction you'd get around here if something like that got posted! I knew Windows developers were clueless, but totally self unaware?


  • Well fortunately you don't all have to agree with me. I think that crosses a line from "amusingly incompetent" to "criminally irresponsible".



  • @blakeyrat said:

    @Cyrus said:
    contains a couple of pretty important files...

    Jesus fuck, if you're going to explain it, EXPLAIN IT. What pretty important files does it contain? Are these valuable files, or files easily replaced from an installer disk? Are they user-generated files?

    Unified System Resources. It's as important as the "Windows" folder is for Windows.



  • The /usr directory contains /usr/lib and /usr/bin (among others, but those are big ones). [BTW, read /usr as "user", not "you-ess-arr"]. The /usr/lib and /usr/bin directories of UNIX and Linux systems vary, but by and large those are operating system binary files (programs) and libraries (system shared libraries, equivalent to very important system DLLs in the Microsoft world). Regardless of whether you're talking about BSD kernel in MacOS, any flavor of BSD, any commercial UNIX such as Solaris, HP-UX, AIX, or any Linux, removal of these directories leaves you with not much. It isn't the kernel, but almost all the user land programs and libraries will be completely gone. You'll be able to boot, but probably won't even get a system prompt, since UNIX shells are external programs generally placed in /usr/bin.

    For a good sense of what might be in there, check out the Filesystem Hierarchy Standard site, which also has some information at the Wiki.

    Just as with any protected system, this installer bug won't cause any problems if you're not installing as a privileged user. However, since it's trying to make changes to libraries and config files in /usr, you would have to have the escalated privileges to do so.

    Short answer, this is the rough equivalent of an Administrator level user entering DEL /F /S /Q C:\Windows\system32

     

    mod: fixed paragraphs -dh



  • @blakeyrat said:

    Also, am I the only one who consistently reads "github" as "gi thub"? Terrible website name.
     

    not as bad as its near-namesake, gisthub ...  sounds like something a lonely teenager might keep by his bed



  • And this, ladies and gentlemen, is why you always make sure to quote the arguments to shell commands in scripts. Or use a better scripting language than bash (not always possible, but you should when you can).



  • @blakeyrat said:

    Well fortunately you don't all have to agree with me. I think that crosses a line from "amusingly incompetent" to "criminally irresponsible".

    You mean uninstalling the system instead of the package? Or having a laugh about it? Or disagreeing with you?



  • @blakeyrat said:

    Anybody want to explain what happened? I'm geeky but I ain't that geeky.

    Translation to Windows: Imagine a single misplaced space character in a batch script caused C:\Program Files to be deleted. You can probably still boot in safe mode and run Notepad, but everything else is gone. It can be reinstalled, of course, but it's a huge PITA nevertheless.

    @blakeyrat said:

    So someone in the open source community posted a software update that cripples a user's system,

    You're jumping to conclusions. The link leads to the bugfix, not the regression.

     



  • @sinistral said:

    The /usr directory contains /usr/lib and /usr/bin (among others, but those are big ones). [BTW, read /usr as "user", not "you-ess-arr"]. The /usr/lib and /usr/bin directories of UNIX and Linux systems vary, but by and large those are operating system binary files (programs) and libraries (system shared libraries, equivalent to very important system DLLs in the Microsoft world). Regardless of whether you're talking about BSD kernel in MacOS, any flavor of BSD, any commercial UNIX such as Solaris, HP-UX, AIX, or any Linux, removal of these directories leaves you with not much. It isn't the kernel, but almost all the user land programs and libraries will be completely gone. You'll be able to boot, but probably won't even get a system prompt, since UNIX shells are external programs generally placed in /usr/bin.

    For a good sense of what might be in there, check out the Filesystem Hierarchy Standard site, which also has some information at the Wiki.

    Just as with any protected system, this installer bug won't cause any problems if you're not installing as a privileged user. However, since it's trying to make changes to libraries and config files in /usr, you would have to have the escalated privileges to do so.

    Short answer, this is the rough equivalent of an Administrator level user entering DEL /F /S /Q C:\Windows\system32

    Thanks for the explanation. But why is it called "user" if it doesn't contain any user stuff? And why are applications and system stuff all mixed-up into one directory? (Ooo, ooo, lemme guess: "historical reasons"!)



  • Considering the kind of bug, we can saftely consider it was introduced in previous commit :)



  • @blakeyrat said:

    Thanks for the explanation. But why is it called "user" if it doesn't contain any user stuff? And why are applications and system stuff all mixed-up into one directory? (Ooo, ooo, lemme guess: "historical reasons"!)

    [quote user="Renan "C#" Sousa"]Unified System Resources. It's as important as the "Windows" folder is for Windows.[/quote]



  • @blakeyrat said:

    Thanks for the explanation. But why is it called "user" if it doesn't contain any user stuff? And why are applications and system stuff all mixed-up into one directory? (Ooo, ooo, lemme guess: "historical reasons"!)

    Or, you just have a flawed definition of "system stuff." "System stuff" is more properly in places like, /bin, /sbin and /lib. Think of it more as, "stuff that's installed," or as wiki says (in the link you included in your reply), "Secondary hierarchy for read-only user data; contains the majority of (multi-)user utilities and applications." There are, obviously, pros and cons to what is part of the "system" and what isn't.



  • @fatbull said:

    You're jumping to conclusions. The link leads to the bugfix, not the regression.

    Gee. Maybe that wouldn't happen if the person posting the thread had bothered to fucking explain what it was fucking about. As it turns out, some of the users here aren't telepathic. Go figure.

    But wait! Open source? Documentation? Hah!

    @Sutherlands said:

    @blakeyrat said:

    Thanks for the explanation. But why is it called "user" if it doesn't contain any user stuff? And why are applications and system stuff all mixed-up into one directory? (Ooo, ooo, lemme guess: "historical reasons"!)

    [quote user="Renan "C#" Sousa"]Unified System Resources. It's as important as the "Windows" folder is for Windows.

    [/quote]

    Ok well Sinistral JUST TOLD ME it's called user, so take it up with him.



  • Wow, you seem really upset. It's almost like something similar to this has happened to you before.



  • @blakeyrat said:

    Gee. Maybe that wouldn't happen if the person posting the thread had bothered to fucking explain what it was fucking about. As it turns out, some of the users here aren't telepathic. Go figure.
    I think it's more that he assumed we weren't all idiots, and so would be able to infer from context what the problem was. I thought it was pretty obvious, and I knew nothing about it to start with.



  • @blakeyrat said:

    Ok well Sinistral JUST TOLD ME it's called user, so take it up with him.

    He was saying how to pronounce it, geez. Dude, blakey, you need a vacation or something buddy.



  • @Power Troll said:

    Wow, you seem really upset. It's almost like something similar to this has happened to you before.

    Yes it has. And it was horrible. And I lost things I'll never get back. But at least I did it to myself. This developer is doing it to other people and doesn't even seem to give a fuck.

    But I've mellowed on it after learning:
    1) User data, by far the most important data on a computer, isn't stored in that folder
    2) Probably nobody even uses this thing in the first place, and the only reason there are so many posts is because people have been posting it to forums to encourage other people to point-and-laugh at him

    The worst part now is that nobody in that long-ass thread is saying, "ok, how do we prevent mistakes like this from happening in the future?" CADT development model at work.



  • @intertravel said:

    I think it's more that he assumed we weren't all idiots, and so would be able to infer from context what the problem was. I thought it was pretty obvious, and I knew nothing about it to start with.

    There's no way you can know the significance of /usr from reading the thread (at least not the first 20 or so posts, which is about as far as I got) on github unless you already knew what it was. I didn't know what it was. I apologize for that. Apparently not know what /usr is is a huge crime, and I fully expect the death penalty.

    @Xyro said:

    He was saying how to pronounce it, geez. Dude, blakey, you need a vacation or something buddy.

    Right; it stands for "Unix System Resources" and it's pronounced "user". Stop fucking with me. And fuck you.



  • @blakeyrat said:

    @intertravel said:
    I think it's more that he assumed we weren't all idiots, and so would be able to infer from context what the problem was. I thought it was pretty obvious, and I knew nothing about it to start with.

    There's no way you can know the significance of /usr from reading the thread (at least not the first 20 or so posts, which is about as far as I got) on github unless you already knew what it was. I didn't know what it was. I apologize for that. Apparently not know what /usr is is a huge crime, and I fully expect the death penalty.

    Well, I found it obvious that it was an important directory because otherwise why would it be a funny?



  • @blakeyrat said:

    Right; it stands for "Unix System Resources"

    Only as a backronym.

    @blakeyrat said:

    Stop fucking with me.

    Doubtful.



  • @blakeyrat said:

    Right; it stands for "Unix System Resources" and it's pronounced "user". Stop fucking with me. And fuck you.

    Wait till he finds out about "/etc"!



  • @Xyro said:

    @blakeyrat said:
    Right; it stands for "Unix System Resources" and it's pronounced "user". Stop fucking with me. And fuck you.
    Wait till he finds out about "/etc"!

    That's where all the assemblies that didn't fit in /usr go, right?



  • @blakeyrat said:

    @Cyrus said:
    contains a couple of pretty important files...

    Jesus fuck, if you're going to explain it, EXPLAIN IT. What

    pretty important files does it contain? Are these valuable files, or files easily replaced from an installer disk? Are they user-generated files?

     

    Huh, for some reason the forum ate my edit to the post that included saying it included things like shell.
    shrug

     



  • @boomzilla said:

    @blakeyrat said:
    Right; it stands for "Unix System Resources"

    Only as a backronym.

    @blakeyrat said:

    Stop fucking with me.

    Doubtful.

    Yes, I was saying how to pronounce /usr, not what it contains. I also had never heard of usr being "UNIX System Resources" until this very thread, and I've been a *NIX user since 1993 and have eagerly read UNIX history articles/posts/blogs and so forth. It does make for a nice backgronym, but the idea originally was that "user contributed" libraries (/usr/lib), programs (/usr/bin), and other things were in this directory. It was originally meant to be separate from "absolutely necessary for the system to come up", which would be in /bin and /lib. Further down in importance was "local modifications", which were in /usr/local (/usr/local/bin, /usr/local/lib). That's the old skool version. Some of the newer Linux distributions muddied the waters with what went in / and what went in /usr, which is how the file system standard I cited came to be. Note that files created, appended, and modified during normal system operations were (in the olden days) never meant to go into /usr. In fact, some sysadmins used to make /usr it's own disk or partition and make it read-only as a security enhancement. If the /usr file system is read only, the programs, libs, etc. int there couldn't be modified by anyone, whether fumble fingered root user or someone escalating privileges through cracking.

    I don't believe that practice is still used often, but even today it is an option if you choose to do so.

    Actual user data would be in whatever the sysadmin defined as users home directories. I am being somewhat vague, because some *NIX used /home/username, some used /users/username, and some went nuts and used something completely different. I think /home is mostly used these days, but it's been some time since I've logged in to anything other than Linux machines or Mac OS machines. Again, the idea previously is that you would isolate the home directories in their own partition (or make them NFS mounted for multi-system sites) to keep them away from the OS



  • @blakeyrat said:

    @intertravel said:
    I think it's more that he assumed we weren't all idiots, and so would be able to infer from context what the problem was. I thought it was pretty obvious, and I knew nothing about it to start with.
    There's no way you can know the significance of /usr from reading the thread (at least not the first 20 or so posts, which is about as far as I got) on github unless you already knew what it was. I didn't know what it was. I apologize for that. Apparently not know what /usr is is a huge crime, and I fully expect the death penalty. @Xyro said:
    He was saying how to pronounce it, geez. Dude, blakey, you need a vacation or something buddy.
    Right; it stands for "Unix System Resources" and it's pronounced "user". Stop fucking with me. And fuck you.

    Wow man, you're overreacting like a blakeyrant about a Windows program that doesn't use the native widgets.



  • @sinistral said:

    It was originally meant to be separate from "absolutely necessary for the system to come up", which would be in /bin and /lib. Further down in importance was "local modifications", which were in /usr/local (/usr/local/bin, /usr/local/lib). That's the old skool version. Some of the newer Linux distributions muddied the waters with what went in / and what went in /usr, which is how the file system standard I cited came to be.

    The common practice (at least among linux distros) is that stuff in /usr/bin, /usr/lib, etc., is reserved for the distro and the package manager. /usr/local/* is where the system administrator can install other stuff (typically, the stuff you download from wherever and build from source).



  • I like this better:

     

    DIRECTORY="/usr/share/whatever"

    rm -rf $DIRECTRY/*

     



  • My favorite comment on the commit page:
    @mbklein said:

    Until today I had no idea it was possible for a commit to go viral.

    On top of that, it is nice to see that a good portion of the people are laughing with MrMEE, and not at him, as discussed about 3/5 of the way down the page.

    On top of [i]that[/i], free publicity for Bumblebee! Traffic is going straight through the roof -- that is rarely a bad thing for an open source project: https://github.com/MrMEEE/bumblebee/graphs/traffic



  • @TheChewanater said:

    I like this better:

     

    DIRECTORY="/usr/share/whatever"

    rm -rf $DIRECTRY/*

     

     

    that is so beautiful it hurts



  • @token_woman said:

    @TheChewanater said:

    I like this better:

     

    DIRECTORY="/usr/share/whatever"

    rm -rf $DIRECTRY/*

     

     

    that is so beautiful it hurts
    Just to check (and to piss Blakey off), I have no idea but I assume from the context that $Directory is a string, and the typo results in a nonexistent string that is parsed as null?



  • @North Bus said:

    free publicity for Bumblebee! Traffic is going straight through the roof -- that is rarely a bad thing for an open source project
    You say that, but increasing usage of some large proportion of OS software undoubtedly would be a bad thing. Blakey will explain why far more entertainingly than I.



  • @intertravel said:

    @token_woman said:

    @TheChewanater said:

    I like this better:

     

    DIRECTORY="/usr/share/whatever"

    rm -rf $DIRECTRY/*

     

     

    that is so beautiful it hurts

    Just to check (and to piss Blakey off), I have no idea but I assume from the context that $Directory is a string, and the typo results in a nonexistent string that is parsed as null?

    well, basically.  The typo, instead of deleting everything in /usr/share/whatever/* will delete everything in /* (which is everything)



  • @intertravel said:

    Just to check (and to piss Blakey off), I have no idea but I assume from the context that $Directory is a string, and the typo results in a nonexistent string that is parsed as null?
     

    Yes ... which suggests to me that trwtf is not the typo itself but allowing uninitialised variables in the first place. Bash (the language in question) has a  set -u option to disallow them. 

    Not that i want to help you piss B off particularly ... he doesn't seem to need it 



  •  I find this thread amusing on many levels.

    1. As on the rest of the Interwebs, silly programming error gets re-posted. Fair enough, it fits TDWTF's subject matter.

    2. The error in question is readily apparent to anyone remotely versed in *nix systems. They laugh, give the author a nice pep talk and all's well in the world.

    3. TDWTF's prime loudmouth states he has no idea what's up (and is apparantly too lazy to FGI). He also jumps to conclusions regarding the OSS community, again seemingly too lazy to actually read what people are saying.

    4. Some members here actually try to explain what the joke was. (Some people have angels' patience.)

    5. Prime loudmouth goes into a fit and starts slagging off these helpful commenters for no good reason, along the way displaying particularly gross ignorance as well as (completely uncalled for) insulting an entire development model which seems to be doing quite well for itself on the whole.

    6. The helpful members are now pissed off too, and rightly so.

    I would like to point out here and now that some WTF's pass me by completely, as I'm simply not knowledgeable on the language or technique at hand. In such a case, I either look it up and try to understand what's so funny, or shrug and think "ok, I don't get it" and go about my business. Quite why anyone would want to try and start a flamewar on a topic he himself admits he has no fucking clue about is beyond me. Why someone who has a certain standing on TDWTF would do that to himself is a more fundamental question altogether.

    Any theories?


  • Discourse touched me in a no-no place

    @Monomelodies said:

     I find this thread amusing on many levels.
    Mostly blakey's apparent never-having-touched-a-Unix-like-system-ever. And never having seen a diff. Which is much more worrying.

     

    Oh, and people trying to explain that /usr is some sort of Program Files analog instead of what my experience tells me it (and the rest of the standard Unix filesystem) actually is - a random collection of seemingly unrelated stuff. The only places that are actually reliably sane on a Unix system are /root (which is redundant), /home and /var (corresponding to root's userdata, everybody else's userdata, and generated data that doesn't really belong to anybody - like logs and shit)



  • @Weng said:

    Mostly blakey's apparent never-having-touched-a-Unix-like-system-ever.

    I spent almost a decade managing a MUD written in C (later converted to C++, well, kinda) and compiled, hosted, on a Linux box. Along with its website. And source control. And database. And etc.

    I just don't give a shit about implementation details. Like what goes in "/usr". Here's a shocker: I couldn't tell you what .exe file IIS runs from on a Windows server, either. Because I don't give a shit.

    @Weng said:

    And never having seen a diff. Which is much more worrying.

    I don't even know where you got that one from.



  • @blakeyrat said:

    I spent almost a decade managing a MUD written in C (later converted to C++, well, kinda) and compiled, hosted, on a Linux box. Along with its website. And source control. And database. And [b]etc[/b].

     

    So you are familiar with /etc then?

     

     



  • @blakeyrat said:

    Stop fucking with me. And fuck you.



  • @blakeyrat said:

    Stop fucking with me. And fuck you.

    fuck you grass



  • @blakeyrat said:

    I just don't give a shit about implementation details. Like what goes in "/usr". Here's a shocker: I couldn't tell you what .exe file IIS runs from on a Windows server, either. Because I don't give a shit.

    w3wc in server 2008.  I picked that up just by working with it.  Point being, I would expect you to at least know after working with Linux/Unix that the /usr folder contains something important.



  • @Sutherlands said:

    w3wc in server 2008.  I picked that up just by working with it.  Point being, I would expect you to at least know after working with Linux/Unix that the /usr folder contains something important.

    Ok; why?

    I'm sorry I don't meet your expectations. But then again I don't really care about your expectations. So never mind I'm not sorry.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.