A dailyWTF WTF



  • Of course I can't reproduce it now, but I just had the most amusing assortment of rainbows and unicorns on my screen... if I clicked a unicorn, I got a rainbow... if I clicked a rainbow, I got a unicorn..

    Ad, maybe? Anyway, cute but quite annoying :)

     



  • You were reading an article written by Remmy and clicked something, didn't you?



  •  Malware. Defrag and format your brain.



  • At some point, somebody posted this bookmarklet in one of the front page articles that eliminated the need to view source on Remy's articles:

    javascript: void(function(){document.querySelector('.ArticleBody').innerHTML=document.querySelector('.ArticleBody')
         .innerHTML.replace(/<!--/g,"<span style='color: red'> (").replace(/-->/g,") </span>");
    document.querySelector('.ArticleBody span[onclick]').style.color = 'magenta';}())
    


  • Those of you running Tampermonkey or Greasemonkey can also install this userscript.

    Remember when Chrome could load userscripts natively? Those were the days.


  • Winner of the 2016 Presidential Election

    @MiffTheFox said:

    this userscript.

    That's the best license I've ever seen.



  • @joe.edwards said:

    @MiffTheFox said:
    this userscript.

    That's the best license I've ever seen.

     

    I actually think I've read that formulation as a licensing fallacy once. It doesn't grant permission to redistribute modified versions. You can redistribute the original, and you can use a modified copy if you rename it only.

     



  • @PleegWat said:

    @joe.edwards said:

    @MiffTheFox said:
    this userscript.

    That's the best license I've ever seen.

     

    I actually think I've read that formulation as a licensing pitfall once. It doesn't grant permission to redistribute modified versions. You can redistribute the original, and you can use a modified copy if you rename it only.

     FTFM

     



  • @PleegWat said:

    @PleegWat said:

    @joe.edwards said:

    @MiffTheFox said:
    this userscript.

    That's the best license I've ever seen.

     

    I actually think I've read that formulation as a licensing pitfall once. It doesn't grant permission to redistribute modified versions. You can redistribute the original, and you can use a modified copy if you rename it only.

     FTFM

    It also lacks any "AS IS" language which would protect the copyright holder from lawsuits should his code cause harm.

    As for the rest of the license, it's amusing, but it's hard to say how a court would interpret it. They'd almost certainly throw it out as invalid. However, given the language and intent, I doubt they would allow the author to sue users for violating terms of the agreement. At the same time, there are no protections for the users, so the author could simply say "This software now costs a million dollars per-license" and users would have to cough up the money or stop using the software immediately.



  • @MiffTheFox said:

    Those of you running Tampermonkey or Greasemonkey can also install this userscript.

    If I'd have known about that one, I probably wouldn't have written my own. O.o


  • Winner of the 2016 Presidential Election

    @morbiuswilters said:

    At the same time, there are no protections for the users, so the author could simply say "This software now costs a million dollars per-license" and users would have to cough up the money or stop using the software immediately.

    You can revoke a license you've already granted?

    I thought you could license it and future versions out under a new license, but any existing copies released under the old license were still valid under that license.



  • @morbiuswilters said:

    They'd almost certainly throw it out as invalid.

    I'm not legaltician, but wouldn't it revert to standard "author owns everything" copyright rules in that case?

    I mean it would be annoying to go against the intent of the license, but you wouldn't get screwed at least.



  • @morbiuswilters said:

    It also lacks any "AS IS" language which would protect the copyright holder from lawsuits should his code cause harm.
     

    It ultimately fills your screen with unicorns. How could you prove it DOESN'T cause harm?



  • @joe.edwards said:

    You can revoke a license you've already granted?

    I didn't say that. If the license were ruled invalid, then it wouldn't be licensed. As for what your rights are under unlicensed software, it's hard to say. The author may not be able to revoke your right to use the software (assuming a court finds that you "own" your copy of the software) but he can probably revoke your right to distribute it. This is why most FOSS licenses include language making the rights irrevocable.



  • @blakeyrat said:

    I'm not legaltician, but wouldn't it revert to standard "author owns everything" copyright rules in that case?

    Case law on software licenses seems pretty thin (some legal experts argue EULAs like the ones Microsoft uses aren't even enforceable). But "author owns everything" could screw you if you were relying on a piece of software you thought was open source that you made modifications to. You might be able to keep your copies, but would be prohibited from creating new copies or distributing your derivative works, which could be bad. That's why real open source licenses contain so much legalese--they're assigning irrevocable rights to users.



  • @joe.edwards said:

    @MiffTheFox said:
    this userscript.

    That's the best license I've ever seen.

    @First attempt said:

    <center>

    502 Bad Gateway

    </center>
    <center>nginx/1.1.19</center>

    @Second and third attempts said:

    <center>

    404 Not Found

    </center>
    <center>nginx/1.1.19</center>

     

    I've seen better.

     




  • <html>
    <head><title>404 Not Found</title></head>
    <body bgcolor="white">
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.2.8</center>
    </body>
    </html>
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->



  • @Ben L. said:

    <html>
    <head><title>404 Not Found</title></head>
    <body bgcolor="white">
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.2.8</center>
    </body>
    </html>
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->
    <!-- a padding to disable MSIE and Chrome friendly error page -->

    God forbid a browser were to try and present a less-terse and -user-hostile error message to the end-user.



  • @morbiuswilters said:

    God forbid a browser were to try and present a less-terse and -user-hostile error message to the end-user.
     

    But they did in the past: 404s were replaced by "site not found" rather than "page not found" errors, suggesting the webserver itself was unavailable - rather than the page URL possibly being typoed.



  • @Cassidy said:

    @morbiuswilters said:

    God forbid a browser were to try and present a less-terse and -user-hostile error message to the end-user.
     

    But they did in the past: 404s were replaced by "site not found" rather than "page not found" errors, suggesting the webserver itself was unavailable - rather than the page URL possibly being typoed.

    That sounds stupid, but has that happened recently?



  • @morbiuswilters said:

    That sounds stupid, but has that happened recently?
     

    Not AFAIK. It was an IE4/5 thing and the Apache docs said you've no control over the user disabling the browser's "friendly error messages" so just pad out your 404s to over 512 bytes and IE wouldn't supress them. I haven't consulted the (recent) Apache docs for some time but I'm willing to bet that advice has never been removed. I don't use IE since those days so have never tested out if that behaviour still exists.

    Unfortunately it's given rise to a new WTF or two: people that habitually inflate their 404s in case ${browser} does performs error suppression, and toejam wankers that could have used another half-K of traffic to provide a meaningful error message but instead comment-pad terse sentences. Because fuck you.

    Nonetheless, it's difficult for luddites to shake off legacy behaviour.



  • @Cassidy said:

    @morbiuswilters said:

    That sounds stupid, but has that happened recently?
     

    Not AFAIK. It was an IE4/5 thing and the Apache docs said you've no control over the user disabling the browser's "friendly error messages" so just pad out your 404s to over 512 bytes and IE wouldn't supress them. I haven't consulted the (recent) Apache docs for some time but I'm willing to bet that advice has never been removed. I don't use IE since those days so have never tested out if that behaviour still exists.

    Unfortunately it's given rise to a new WTF or two: people that habitually inflate their 404s in case ${browser} does performs error suppression, and toejam wankers that could have used another half-K of traffic to provide a meaningful error message but instead comment-pad terse sentences. Because fuck you.

    Nonetheless, it's difficult for luddites to shake off legacy behaviour.


    Which is more useful:

    THE PAGE WAS NOT FOUND here is the server version number

    THE PAGE WAS NOT FOUND here is a search box for your favorite search engine pre-filled with the URL of the page that was not found



  • @Ben L. said:

    Which is more useful:

    THE PAGE WAS NOT FOUND here is the server version number

    THE PAGE WAS NOT FOUND here is a search box for your favorite search engine pre-filled with the URL of the page that was not found

    Is this a serious question?



  • @morbiuswilters said:

    @Ben L. said:
    Which is more useful:

    THE PAGE WAS NOT FOUND here is the server version number

    THE PAGE WAS NOT FOUND here is a search box for your favorite search engine pre-filled with the URL of the page that was not found

    Is this a serious question?

    Fine, here's a third option:

    THE PAGE WAS ERROR here is instructions on how to reboot your computer just in case that might help



  • @Ben L. said:

    @Cassidy said:

    @morbiuswilters said:

    That sounds stupid, but has that happened recently?
     

    Not AFAIK. It was an IE4/5 thing and the Apache docs said you've no control over the user disabling the browser's "friendly error messages" so just pad out your 404s to over 512 bytes and IE wouldn't supress them. I haven't consulted the (recent) Apache docs for some time but I'm willing to bet that advice has never been removed. I don't use IE since those days so have never tested out if that behaviour still exists.

    Unfortunately it's given rise to a new WTF or two: people that habitually inflate their 404s in case ${browser} does performs error suppression, and toejam wankers that could have used another half-K of traffic to provide a meaningful error message but instead comment-pad terse sentences. Because fuck you.

    Nonetheless, it's difficult for luddites to shake off legacy behaviour.


    Which is more useful:

    THE PAGE WAS NOT FOUND here is the server version number

    THE PAGE WAS NOT FOUND here is a search box for your favorite search engine pre-filled with the URL of the page that was not found

    Obviously the most useful solution is to not return a 404, but a HTTP 303 pointing to /.

     

    Seriously, any web application of significant complexity* I've made has a 404 page that includes the site css/js, site header, navigation links, copyright notice, and other crap. I don't have to worry about comment-padding because it's more then 512 bytes in that alone.

    * More then about two HTML pages, a stylesheet, and a JS file.



  • @Ben L. said:

    Which is more useful:

    THE PAGE WAS NOT FOUND here is the server version number

    THE PAGE WAS NOT FOUND here is a search box for your favorite search engine pre-filled with the URL of the page that was not found

     

    There's a third option I found intensely irritating: "here's the results of a search against the URL you just typed in the address bar for which the first link is the actual site you just typed in and by clicking it you can proceed to your site aren't we clever by providing a search feature from the address bar to improve your productivity because we all know you're a complete moron who can't be trusted to actually know the URL of the site you want to visit".

    I disabled this in IE5 ("don't search from the address bar") then after switching to Mozilla and Firefox got used to having a separate address bar and search field.

    I'm now revisiting that compulsive search behaviour with Chrome.[1]

    [1] disclaimer: I've not used chrome in ages; I don't fully know how it works or if there's an option to turn it off. This morning it took two of us ages just to find out how to persist the bookmarks bar.

     



  • @Cassidy said:

    I'm now revisiting that compulsive search behaviour with Chrome.[1]

    They really annoying thing is that chrome will try to search if the domain you're visiting doesn't look "normal". For example, if you type "localhost" into your address bar, it just searches for that, but then it will have this little bar pop beneath the address bar that says "Did you mean to go to http://localhost/ ?"



  • @morbiuswilters said:

    @Cassidy said:
    I'm now revisiting that compulsive search behaviour with Chrome.[1]

    They really annoying thing is that chrome will try to search if the domain you're visiting doesn't look "normal". For example, if you type "localhost" into your address bar, it just searches for that, but then it will have this little bar pop beneath the address bar that says "Did you mean to go to http://localhost/ ?"

    For me, it asks the OS if there's an IP address (which localhost does have) and uses that instead of searching. No idea why it would be different for you...



  • @Ben L. said:

    @morbiuswilters said:
    @Cassidy said:
    I'm now revisiting that compulsive search behaviour with Chrome.[1]

    They really annoying thing is that chrome will try to search if the domain you're visiting doesn't look "normal". For example, if you type "localhost" into your address bar, it just searches for that, but then it will have this little bar pop beneath the address bar that says "Did you mean to go to http://localhost/ ?"

    For me, it asks the OS if there's an IP address (which localhost does have) and uses that instead of searching. No idea why it would be different for you...

    He forgot to emerge with -ftry-etc-hosts-first.



  • @Ben L. said:

    @morbiuswilters said:
    @Cassidy said:
    I'm now revisiting that compulsive search behaviour with Chrome.[1]

    They really annoying thing is that chrome will try to search if the domain you're visiting doesn't look "normal". For example, if you type "localhost" into your address bar, it just searches for that, but then it will have this little bar pop beneath the address bar that says "Did you mean to go to http://localhost/ ?"

    For me, it asks the OS if there's an IP address (which localhost does have) and uses that instead of searching. No idea why it would be different for you...

    Here's another fun one that fails: I have a fake TLD I use internally (say foo.bar). Hostnames on it resolve, but Chrome is just like "fuck dat shit, I show u google".



  • @boomzilla said:

    He forgot to emerge with -ftry-etc-hosts-first.

    I'm actually running Chrome, not Chromium. I wanted to compile Chromium, but have you ever read the instructions?

    @Stupidness said:

    Due mostly to its history and its complexity, Chromium uses a nonstandard set of custom tools to check out and build. Here's an overview of the steps you'll run:

    gclient. A checkout involves pulling nearly 100 different SVN repositories of code. This process is managed with a tool called gclient.

    gyp. The cross-platform build configuration system is called gyp, and on Linux it generates Makefiles. Running gyp is analogous to the ./configure step seen in most other software.



  • @morbiuswilters said:

    @Ben L. said:
    @morbiuswilters said:
    They really annoying thing is that chrome will try to search if the domain you're visiting doesn't look "normal". For example, if you type "localhost" into your address bar, it just searches for that, but then it will have this little bar pop beneath the address bar that says "Did you mean to go to http://localhost/ ?"

    For me, it asks the OS if there's an IP address (which localhost does have) and uses that instead of searching. No idea why it would be different for you...

    Here's another fun one that fails: I have a fake TLD I use internally (say foo.bar). Hostnames on it resolve, but Chrome is just like "fuck dat shit, I show u google".

    For single words, it remembers if you clicked on the "Did you mean to go to http://", then will go there every time once you click it.

    Also, for other non-www hostnames, you can just type out the http:// explicitly. By what you guys are saying then this should be impossible:

    [DNS resolution error for foo.bar.]



  • @morbiuswilters said:

    I wanted to compile Chromium, but have you ever read the instructions?
    # emerge chromium ?



  • @morbiuswilters said:

    @boomzilla said:
    He forgot to emerge with -ftry-etc-hosts-first.

    I'm actually running Chrome, not Chromium. I wanted to compile Chromium, but have you ever read the instructions?

    No, it was just a cheap gentoo joke. I've actually seen the behavior you describe, though not consistently.


Log in to reply
 

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