• Finite Infinity (unregistered) in reply to Hitsuji
  • Vorn (unregistered) in reply to MichaelWojcik
    MichaelWojcik:
    There's nothing wrong with using GET to implement a calculator, for example. (It'd be largely pointless, but not wrong.)

    You mean, like Google does?

  • (cs) in reply to Satanicpuppy
    Satanicpuppy:
    MOD:
    that's not really a WTF... most of us are coders... many of use are web developers... if we didn't think of a bogus query string, or post situation as the likely cause within a few seconds of seeing the results, well... that wouldn't say much for our troubleshooting skills.

    Pretty much.

    1. He used Get, and didn't bother to hash the display string at the very least.

    2. He didn't put rational parameters on the number returned. It should have been obvious that the number couldn't be negative, or infinite either, but both of those are perfectly valid in his code.

    3. He didn't bother to put a transaction ID or anything in his foolishly obvious Get parameters, so the data can be changed and changed and changed again and the program won't care.

    Just a mess.

    Sure you could do that, but why bother?! It's just a site that shows you your bandwidth, if someone tweaks the parameter to the graph display function it's not the end of the world.

  • (cs)

    This is what you get when you have Intel Pentium III with Intenet Acceleration!

  • Kip (unregistered)

    Glares at lowly 8mbit connection

  • (cs) in reply to Chris Travers
    Chris Travers:
    Satanicpuppy:
    MOD:
    that's not really a WTF... most of us are coders... many of use are web developers... if we didn't think of a bogus query string, or post situation as the likely cause within a few seconds of seeing the results, well... that wouldn't say much for our troubleshooting skills.

    Pretty much.

    1. He used Get, and didn't bother to hash the display string at the very least.

    2. He didn't put rational parameters on the number returned. It should have been obvious that the number couldn't be negative, or infinite either, but both of those are perfectly valid in his code.

    3. He didn't bother to put a transaction ID or anything in his foolishly obvious Get parameters, so the data can be changed and changed and changed again and the program won't care.

    Just a mess.

    Well, sort of. I am not sure that post v. get buys you anything except this sort of embarrassment. Anyone with Firefox and Webdeveloper can alter what is being posted anyway.

    The real WTF is that this was not designed with any real awareness of good coding practices. The best way to do this would have been to:

    1. store the beginning and end of the download on the server connected to a session id and
    2. Have the browser retrieve the graph via the session id.

    This would have been trivial to do but many software engineers have no engineering skills.

    Why use POST? No state is changed while requesting this document. Regarding the "ooh, you can change the value", using a session ID to identify the test would be possible, but hardly necessary in this case. The page we're talking about is just a simple view and really has nothing to do with the business logic whatsoever.

  • seconddevil (unregistered)

    It seems to favour only some people...

    [image]
  • Mr Blair (unregistered) in reply to Obfuscator
    Obfuscator:
    Chris Travers:
    Satanicpuppy:
    MOD:
    that's not really a WTF... most of us are coders... many of use are web developers... if we didn't think of a bogus query string, or post situation as the likely cause within a few seconds of seeing the results, well... that wouldn't say much for our troubleshooting skills.

    Pretty much.

    1. He used Get, and didn't bother to hash the display string at the very least.

    2. He didn't put rational parameters on the number returned. It should have been obvious that the number couldn't be negative, or infinite either, but both of those are perfectly valid in his code.

    3. He didn't bother to put a transaction ID or anything in his foolishly obvious Get parameters, so the data can be changed and changed and changed again and the program won't care.

    Just a mess.

    Well, sort of. I am not sure that post v. get buys you anything except this sort of embarrassment. Anyone with Firefox and Webdeveloper can alter what is being posted anyway.

    The real WTF is that this was not designed with any real awareness of good coding practices. The best way to do this would have been to:

    1. store the beginning and end of the download on the server connected to a session id and
    2. Have the browser retrieve the graph via the session id.

    This would have been trivial to do but many software engineers have no engineering skills.

    Why use POST? No state is changed while requesting this document. Regarding the "ooh, you can change the value", using a session ID to identify the test would be possible, but hardly necessary in this case. The page we're talking about is just a simple view and really has nothing to do with the business logic whatsoever.

    It's still inside the application. It shouldn't display nonsense, nore accept nonsense.

  • HabarNam (unregistered) in reply to m0ffx

    That's what you get when the testing site sends your speed via get parameters. :)

  • (cs)

    It's a cute image :).

    Interesting to see the strong difference of opinion on whether there is a 'Real WTF' in here or not. I think that the only responsibility of an app when presented with bad data is not to crash, and so this is fine. If you want to have fun feeding it silly things then fine, but it's not a failing in the app if silly things in results in silly things out.

    Also, awesome, if I don't 'Quick Reply' I get something approximating a normal forum post editor!

  • Nelle (unregistered) in reply to Bob Janova

    Well it seems it obeys the CICO (Crap In Crap Out) programming pattern :)

    It is not wrong, but I was taught that for bad input data it is allways better to give an error message than to display crappy output ...

    IMHO in this case it would be better not to allow the end-user to enter what he wants, but definitely no WTF ...

  • Eternal Density (unregistered)

    About downloading the Internet, my High Speed Networks lecturer at uni had a printout on his office door of a typical 'file download' dialog for the entire Internet and the rather long time remaining... the catch my friends and I noticed was that it was in a zip file... now imagine how long it would take to compress and uncompress the internet. captcha = pinball... one of the few games we can use at uni... except that a lot of my assignments at the moment involve the writing of games... yeah I use ellipses too much...

  • coz (unregistered) in reply to Bill

    yes...nice scaling By the way, on my crappy CRT monitor the 128 kbps bar is a little bigger than 1500 kbps one.

    Indeed ISDN has more letters than DSL :)))))

  • Alan (unregistered) in reply to coz

    Simple fact is, that if he (or she) had used post then we wouldnt have been able to waste a couple of minutes messing around with it and dreaming about our own really phat pipes.

  • moe (unregistered)

    This is definately no WTF.

  • d.albuschat (unregistered)

    Isn't some miscalculating website or program old news already? I mean, how many Pop-Up Potpurris or Error'd are there going to be if we list each and every program that ever miscalculated some value and presented it to the user? This is boring.

  • Terc (unregistered)

    Infinite Bandwidth

    http://www.bandwidthmeter.info/results.php?kbps=9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999&downloadtime=5.516&KB=791.5&recorded=1

  • meggal (unregistered) in reply to Roger Leong
    Roger Leong:
    Now we can download the *whole* internet :)

    To quote Steven Wright:

    "You can't have everything; where would you put it?"

    So now we just need to find http://www.harddrivespace.info/results.php?terabytes=42000

    :)

  • (cs) in reply to Satanicpuppy
    Satanicpuppy:
    1) He used Get, and didn't bother to hash the display string at the very least.

    Yay! another hash WTF! I was beginning to think you all learned what a hash function was. What purpose would I serve then? I'd be relegated to the dustbin.

    Thank you for giving me purpose, satanic puppy. (Nice reference by the way).

    A hash function couldn't be used to pass the speed as a get parameter. (reader exercises: 1) why is this true? 2) what is the definition of a hash function?)

  • dkf (unregistered) in reply to mkb
    mkb:
    It's more that every query string should identify a unique and permanent document. That's what REST really means.
    As I understand it, it's not that the document is unique or permanent, but rather that your view is "the same" in some reasonable sense (e.g. putting a different advert in wouldn't change it, or the main article is the same but the list of comments has been extended) if the GET succeeds.
  • AdT (unregistered)

    The bad news is that you have to pay by the megabyte...

  • A. Nonymous (unregistered) in reply to MichaelWojcik
    There's nothing wrong with using GET to implement a calculator, for example. (It'd be largely pointless, but not wrong.)

    As in, http://www.google.co.uk/search?q=e%5Epi-pi (inspired by http://xkcd.com/c217.html)

    captcha: quake

  • Chris Travers (unregistered) in reply to Obfuscator
    Obfuscator:
    Chris Travers:
    Satanicpuppy:
    MOD:
    that's not really a WTF... most of us are coders... many of use are web developers... if we didn't think of a bogus query string, or post situation as the likely cause within a few seconds of seeing the results, well... that wouldn't say much for our troubleshooting skills.

    Pretty much.

    1. He used Get, and didn't bother to hash the display string at the very least.

    2. He didn't put rational parameters on the number returned. It should have been obvious that the number couldn't be negative, or infinite either, but both of those are perfectly valid in his code.

    3. He didn't bother to put a transaction ID or anything in his foolishly obvious Get parameters, so the data can be changed and changed and changed again and the program won't care.

    Just a mess.

    Well, sort of. I am not sure that post v. get buys you anything except this sort of embarrassment. Anyone with Firefox and Webdeveloper can alter what is being posted anyway.

    The real WTF is that this was not designed with any real awareness of good coding practices. The best way to do this would have been to:

    1. store the beginning and end of the download on the server connected to a session id and
    2. Have the browser retrieve the graph via the session id.

    This would have been trivial to do but many software engineers have no engineering skills.

    Why use POST? No state is changed while requesting this document. Regarding the "ooh, you can change the value", using a session ID to identify the test would be possible, but hardly necessary in this case. The page we're talking about is just a simple view and really has nothing to do with the business logic whatsoever.

    I dunno. Maybe a few of us actually like to build every application as best we can. Maybe taking the time to build every appliation, no matter how trivial, the right way is worth the effort.

    Sure, in this case, it is not the end of the world, but I would not hire the programmer who wrote it.

  • Tyler Menezes (unregistered)

    Okay, everyone said I could alter the query string, and that appears to be true, but that isn't actually the case (okay, I know there will be a few hundred responses saying I'm not telling the truth about this). This is what the test gave me on the first try, honestly. I'm using FasterFox, and that might have had an effect on the test, which I hadn't initially considered.

    Anyways, it was probably just a programming glitch. Web programming languages seem to have a lot of those. Once I wrote member DB code without a Chomp line, it created a 4GB file within a week. Point being, it was really strange, but true. My connection was slow that day, and I was hoping to contact my ISP with data showing this speed and ask why this was happening. I'm not sure I'll show them this test though :P

  • Majost (unregistered) in reply to benryves

    Even better! http://www.bandwidthmeter.info/results.php?kbps=-1E307

  • me (unregistered) in reply to Chris Travers

    and I wouldn't hire you. Writing completely unnecessary checking like this not only wastes time but makes the result less flexible and less maintainable.

  • Toby (unregistered) in reply to KungFu

    All the same, I like the 4 way out in the middle of all those O's makes it more authentic.

  • microcoder (unregistered)

    maybe they used 128 bit long double :D

  • GQ (unregistered)

    Now while pointless and impossible, it would just be awesome if they let you use imaginary numbers.

  • lol (unregistered) in reply to RobertB
  • (cs)

    I can download at -infinite:

    http://www.bandwidthmeter.info/results.php?kbps=-10E306&downloadtime=9.516&KB=791.5&recorded=1

Leave a comment on “A Really Really Phat Pipe”

Log In or post as a guest

Replying to comment #:

« Return to Article