Slashdot Mirror


What is the Best Bug-as-a-Feature?

Bat Country wonders: "The workflow system, at the department I develop for, was hand-coded by my predecessor in a rather short amount of time, resulting in somewhat unreadable code with a number of interesting 'features.' When I took over maintenance of the code base, I started patching bugs and cleaning up the code in preparation for a new set of features. After I was done, I got a pile of complaints about features that had disappeared, which turned out to be caused by the bugs in the code. So, that leads me to ask: what is your favorite bug that you either can't live without or makes your life easier?"

115 of 861 comments (clear)

  1. The best by Anonymous Coward · · Score: 5, Funny

    Windows Genuine Advantage

    1. Re:The best by TerranFury · · Score: 5, Funny

      >Windows Genuine Advantage

      No, that's a feature that acts like a bug. ;-)

    2. Re:The best by jhfry · · Score: 3, Funny

      This system has to use a 1990's version of the software package. These hundreds or thousands of machine generated forms and letters were composed using this level of software that contain known software bugs and will not format correctly if they execute using a later copy of the package. Your not using MS Word are you?
      --
      Sometimes the best solution is to stop wasting time looking for an easy solution.
    3. Re:The best by Gyppo · · Score: 4, Insightful

      Interesting that you're fixing a workflow system but you don't seem to have any of your own. What a developer considers bugs may not be considered bugs by the end users - and even if they are considered bugs, end users usually have work-arounds for them. If the bugs disappear, you've broken their work process. You may want to investigate collecting requirements and getting user buy-in before deciding to change their system. I've worked on systems where I've done something that I consider insignificant like changing the navigation, but the users didn't know that it was changing and started logging bugs, assuming something was broken.

    4. Re:The best by RollingThunder · · Score: 3, Insightful

      Yes and no...

      what if one of the bugs was that authentication wasn't checked when it should be? Users hate entering passwords, and fixing that bug would REALLY annoy them.

      Some UAT would have helped on that, though. The OP wasn't clear if the complaints happened after release, or during pre-release user acceptance testing.

    5. Re:The best by arth1 · · Score: 4, Interesting

      To be on topic here, one of the bugs I really have taken advantage of is the bug that allows Windows networking to have a default gateway outside its own subnet, and with no route to it either.
      This has made it very convenient when running Windows under an emulator and yet be able to talk over TCP/IP to the host OS. VMWare and other advanced emulators solve this problem by setting up extra local networks and patching directly into the networking stack, but with Windows that's not strictly necessary, as you can bounce packets of a gateway that the emulated OS really shouldn't be able to reach.

    6. Re:The best by Bat+Country · · Score: 3, Interesting

      Please remember that "working to the satisfaction of your users" and "working properly in a way which doesn't cost the company money" are not always in perfect harmony.

      In this particular instance, the features were related to ad-reps exploiting holes in the original deadlines and scheduling code and as a result short-changing the company and giving clients hundreds of dollars in free advertising (without realizing it) because circumventing the deadlines helped them meet quota.

      When the complaints started rolling in, I immediately brought the matter to the attention of my superiors (the ad managers) and the discovery that people had been relying on certain border effects (not directly related to the exploits, but related to other scheduling malfunctions) resulted in a change of policies.

      This made both the ad-reps and the management happy, and at the end of the day, that's not a bad position to be in.

      --
      The land shall stone them with the bread of his son.
  2. 404 by Jordan+Catalano · · Score: 5, Funny

    My favorite:

    "404 File Not Found
    The requested URL (askslashdot/07/03/30/0116246.shtml) was not found."


    That little error saved me from having to read a bunch of replies.

    1. Re:404 by Anonymous Coward · · Score: 5, Funny

      From DOS:

      Keyboard not found.
      Press to continue.

  3. Whenever I boot my windows machine by antifoidulus · · Score: 5, Funny

    it pops up all sorts of porn pages I never even asked for!

    1. Re:Whenever I boot my windows machine by nick_davison · · Score: 5, Funny

      Not sure it's my favorite... but props to Microsoft for having the balls to market Windows ME as one giant bug-as-a-feature.

  4. Windows? by cmeans · · Score: 4, Funny

    Microsoft keeps trying to clean up their code, and as a result, sometimes, features that SPAMmers etc. are relying on stop working.

  5. rm by KillerCow · · Score: 5, Funny

    rm * .old

    1. Re:rm by alta · · Score: 3, Funny

      I'm guilty of this one once, missplaced space, and I typed 'rm -rf /etc /*.tmp'

      Yes, this was done on my first slackware box. Not sure what version it was exactly, but it was somewhere between 96-98, and i installed by downloading about 15 or so floppies...

      The first command I typed on that box was 'help.' It wasn't.

      --
      Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
    2. Re:rm by LihTox · · Score: 5, Informative

      One way to lessen the chance of mistakes when using "rm" is to always use "ls" in place of "rm" first, then when the list of files looks right, replace the "ls" with "rm".
      I have a script "lrm" which does this: ls the files, ask for confirmation, and then delete (if confirmed).

    3. Re:rm by Bandman · · Score: 3, Funny

      I did the same thing to a web directory. *poof*

      The worst part is the ice cold blood running through your veins as you stare at the screen, desperately hoping that you are misreading the command line.

    4. Re:rm by hal-j · · Score: 5, Informative

      ug. You should always make a file named "-i" in important directories to prevent this. That way when you do something dumb, like "rm * .old" the "-i" gets seen as a command line switch to "rm" and you get asked for confirmation.

      --

      -Hal
    5. Re:rm by cswiger · · Score: 5, Insightful

      Nice. Perhaps having rm look at a filename called "-i" and interpret that as a command-line flag is probably the best "bug as feature" offered so far. :-)

      --
      "The human race's favorite method for being in control of the facts is to ignore them." -Celia Green
    6. Re:rm by LihTox · · Score: 4, Informative

      alias rm to rm -i, it asks for confirmation.

      I do that as well, but there is a danger if you start working in someone else's account, where rm is not aliased as expected. It may be better to alias del='rm -i' (for example) and train yourself to type del.

      Also, "rm -i" is a pain when you're deleting a large number of files at once.

    7. Re:rm by kalirion · · Score: 3, Interesting

      touch "*"

      ... now the waiting game

    8. Re:rm by cloudmaster · · Score: 4, Informative
      I'm partial to ls -- "$@" && rm -i -- "$@"

      In any event, you should be using "$@" (with the double-quotes)instead of $*, so you can properly preserve arguments with spaces. If you try to remove a file with a space in it with your script, it will not work as expected.

      I'd also suggest adding a typeset -l yesno before the read, so you force the input string to lowercase before comparing it. Heck, let's see if it starts with a y, too. That way, y, yes, YES, and even YePaRoonIe will work...

      I like ls -dF, so it doesn't show the contents of directories (-F appends a slash to the end of the filename, though, so you could add a "grep '/'" and fail if directories are present - hint: put the ls -1dF output in a variable using var=$(ls -1dF "$@"), test $?, then test inside the if block to see if the variable contains any lines that end with a slash).

      Finally, you could use the ls command as your conditional statement instead of having to run ls twice.

      if ls -d -- "$@"
      then
        typeset -l yesno
        read yesno discard
        [[ -z "${yesno##y*}" ]] && /bin/rm -fr -- "$@"
      fi
      PS - the two hyphens protect you from arguments which start with a hyphen...

      Email cloudmaster@cloudmaster.com with questions - I don't check replies on the dot very often. :)
    9. Re:rm by jimicus · · Score: 3, Informative

      That's because rm doesn't get passed a *, it gets passed a list of filenames which has been expanded from the * by the shell.

      Convention states that the way a program knows that no further arguments should be interpreted as command switches is by means of the -- switch. If no -- has been found, then anything which looks like a switch is generally interpreted as one.

      The alternative would be to look to see if there is a -i file and if there is assume that you meant "delete file called -i" rather than "delete interactively", which runs completely contrary to another common Unix convention - specifically, that the program shouldn't try to second-guess the user.

    10. Re:rm by wirelessbuzzers · · Score: 4, Funny

      Just don't create a file called -rf. -- Larry Wall
      --
      I hereby place the above post in the public domain.
    11. Re:rm by pr0fess · · Score: 3, Informative

      Indeed, but if we are working someone else's account, we should think twice before deleting files ;)

      The -f argument overrides -i at least in the Solaris and Ubuntu boxes I frequent, so not so much of a pain.

      A personal preference in the end.

  6. The money lender bug in Taipan by Anonymous Coward · · Score: 5, Interesting
    Great game! Here.

    The guy who wrote the Windows version actually allows you to turn it on! Overpay the money lender and your money grows at 10% a month! The bug was in the original Apple 2 version and then subsequent ports, like the one to Palm, removed it.

  7. GPOW by SinGunner · · Score: 4, Funny

    I remember getting Godly Plate of the Whale in Diablo at the sacrifice of a single potion with the duping bug. I can't think of anything better than that.

    1. Re:GPOW by StarvingSE · · Score: 3, Interesting

      He's not that old school.

      How about that great bug in many 8-bit ninendo games where you could "scroll" and enemy off the screen instead of killing it. I think SMB had this bug, bug-turned-feature, but many other games had it as well.

      --
      I got nothin'
  8. buffer overflow by virtualXTC · · Score: 5, Insightful

    buffer overflows are great - they allow you to get root on all sorts of devices that some bastard tried to lock you out of.

    1. Re:buffer overflow by Crizp · · Score: 4, Funny

      If I could mod you +65537 Funny I would.

  9. Not sure if this is a bug... but by SirStanley · · Score: 4, Interesting

    ncpmount on linux... at least in our configuration... allows us to overwrite files that have "locks" on them by users. It appears to be happy to ignore the locks. I'm guessing this is a bug... because I can't do it with the same user from Windows.

    This allows us to deploy our java Jar's to our Folders on our network where the users launch the app from.

    Yay.

    --
    --------========+++Dont Feed The Lab Techs+++========--------
    1. Re:Not sure if this is a bug... but by smallfries · · Score: 4, Informative

      That probably isn't a bug. Most file-systems don't lock files that you are executing, so they can be overwritten whilst mapped into memory. This can abused in lots of amusing ways.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    2. Re:Not sure if this is a bug... but by badfish99 · · Score: 5, Informative

      I think you're describing the Unix feature that you can replace an executable file while it is in use; the program that is using it will continue to see the deleted version of the file, and new programs will see the new version.

      That's not a bug, it's a feature. It's the reason why you don't have to reboot Unix machines after a software update, as you do for Windows.

  10. IE6 is packed with 'features' by Allicorn · · Score: 4, Interesting

    And although, ultimately, its a pain in the arse that they're there at all, when you get get down to the practical day-to-day business of writing/maintaining websites, some of those bugs turn out to be very handy in concocting freaky work-arounds for inconsistencies in the ways that browsers support (or don't support) the standards.

    I'll leave the provision of an exhausitive list to somebody else, but suffice to say if you're looking for a sizeable seam of bugs-which-simultaneously-screw-you-over-and-help- you-out, then there can hardly be a better place to look than Internet Explorer 6.

    --
    OMG!!! Ponies!!!
  11. QW strafejumping by dybvandal · · Score: 3, Insightful

    Easily the best bug ever. Its been paramount in enabling continous "innovation" as people speed jump through maps.

    1. Re:QW strafejumping by Vireo · · Score: 3, Interesting

      Game are full of such feature-bugs. The strafejumping bug was finally added as a feature in subsequent versions of Quake, but other "bugs" (or limitations) in the physics model of Quake (and presumably other games) are used by skilled players.

      For example, in Quake 3, the sampling of the position of the player in 3 dimensions is tied to the frame rate. When the player jumps, in the physics model, the player appears in successive, discrete position along a pre-computed parabolic trajectory. Only at key frame rates, a position sample appears at the peak of the parabola. Players running at these key frame rates are thus able to jump higher. Some custom maps feature areas that are accessible only to players knowing this trick.

      There is also a Quake 3 mod (Defrag) which was created to facilitate finding map bugs (e.g. rebounds, which happen when you can fall with absolutely no x or y speed component on some surfaces, happens when the z velocity gets reversed). This leads to impressive "trick jumps" which do not violate the rules of the game (since they are done without modifying the game engine). A quick look in Google and you can find many trick-jumping videos based both on synchronisation and on physics model bugs.

    2. Re:QW strafejumping by Ant+P. · · Score: 3, Interesting

      The wallrunning bug on Doom is better IMO. Especially when you can do it from one end of the map to another (pretty common on most doom2 DM maps).

    3. Re:QW strafejumping by mobby_6kl · · Score: 3, Interesting

      UT ('99, the first and only true version) kicked ass in this department. Most (that I'm aware of) have to do with launching players (or objects) and are especially fun in team games, like CTF and Assault.

      A player could be launched all the way across an outdoor map by a teammate with a fully loaded rocket launcher shot to the legs or ground immediately next to the player. Combined with some sloping surfaces, such launches could be easily performed while being very accurate. On AS-Mason such rocket launch could get a player all the way over all defenses and just an elevator ride to the final goal. That is, unless the other team is aware of the launch and has people waiting there.

      It's also possible to launch players with the impact hammer, but from experience it's a little harder to perform with people who aren't familiar with the technique. While looking for some illustrations, I noticed that the wikipedia has a few paragraphs about launching, so I won't go into more details here.

      What the wikipedia article doesn't seem to mention is that it's also possible to launch your translocator pretty far with the impact hammer, for example from the top of one of the towers on CTF-Face to one of the balconies on the opposite one. Another one, which I never actually mastered, was book launch/jump. It involves standing on a book object, like those lying around on the floor in libraries, and then either hitting it with the hammer, or having someone else shoot it (I think). This, of course, also resulted in a huge jump, and is probably more of a bug than the other methods.

      Most of these methods seem to be just exaggerations of standard physics, since both the impact hammer and rocket launcher are supposed to throw stuff around. At first, I found these tricks frustrating, but IMO they add a lot to the game. Especially Assault, which otherwise becomes a spam-fest with everyone camping the choke points like it's some kind of counterstrike. Epic probably recognized this, so they never changed this in UT99, but all of this is sadly gone in UT03/04.

  12. Easy! by carn1fex · · Score: 4, Funny

    They screwed up alot of our web-based financial software. If i set the number of items purchased to zero, the whole thing reboots and i get to go home for th

    --

    ---------

    No matter how thin you slice it, its still baloney.

  13. Personally, I like... by ZiZ · · Score: 4, Funny

    Error

    Nothing for you to see here. Please move along.

    Nothing beats a good dose of pot-kettle interaction.

    --
    This flies in the face of science.
  14. ModeX graphics? Buffer overflows? by Kufat · · Score: 5, Insightful

    The famous undocmented 320x240 VGA video mode, pre-VESA, and other tweaked VGA modes.

    I've heard the 6502 (or, more specifically, RP2A03) had some useful undocumented opcodes. I think they weren't intentional, so they might count.

    On the software side...how about exploitable buffer overflows on the Xbox and PSP to enable execution of arbitrary code?

  15. Ping of Death by thomasdn · · Score: 4, Funny

    Ping of Death (http://insecure.org/sploits/ping-o-death.html) entertained me quite a while :)

  16. Not a software bug but a design flaw by jimicus · · Score: 5, Funny

    Not a software bug but a design flaw in a car I used to own.

    The Vauxhall Astra Mk.2 (Opel Kadett E) had a design flaw in the steering column. Specifically, the steering column was rather weaker than the steering lock.

    The upshot of it was when some little scrote decided to try and steal my car (this was way before cars were fitted with immobilisers), when he tried to break the steering lock the steering column snapped and the steering wheel came straight off in his hand.

  17. Linux by stratjakt · · Score: 5, Funny

    It was supposed to be a unix clone, but actually came out useful in the end.

    --
    I don't need no instructions to know how to rock!!!!
  18. "Subscribe to view" pages visible to Googlebot. by Behrooz · · Score: 5, Interesting

    "Subscribe to view" webpages that are still visible to users browsing as GoogleBot.
     
      User agent switcher extension + Browse pretending to be GoogleBot = Annoying "register/pay to see me!" pages go away. I have no idea how many sites it works on now, but I think it still gets into a lot of archived newspaper articles and suchlike.

    --
    "We have to go forth and crush every world view that doesn't believe in tolerance and free speech." - David Brin
    1. Re:"Subscribe to view" pages visible to Googlebot. by apathy+maybe · · Score: 5, Interesting

      Personally I use the modify headers extension to do the same thing. But I have "I am not a Googlebot/2.1", rather then the full Googlebot string. But I sometimes come across pages that say something along the lines of "You appear to be pretending to be a major search engine when you are not", for those pages I change the header to "I DIDN'T CLAIM TO BE A MAJOR FUCKING SEARCH ENGINE".

      Of course, both are examples of why you shouldn't use "User-Agent" to try and detect what browser or bot is using your webpage. The first allows "illegitimate" users access, and the second blocks legitimate users.

      In fact, you shouldn't trust headers for anything unless you have a secure session. To control access to your webpage to robots, use ROBOTS.TXT or a meta tag, and to control access to other users, password protect. But the trouble is that sites are trying to eat their cake (be crawled and indexed) and have it too (control access to ordinary users).

      --
      I wank in the shower.
  19. Skiing in Starsiege: Tribes by Manatra · · Score: 5, Interesting

    For me, the physics bug that enabled "skiing" in Starsiege: Tribes was the best bug as a feature. It's a bug that became a key defining point of the series.

    A description of skiing is here.

  20. My Karma isn't low enough... by EWIPlayer · · Score: 5, Funny

    Sendmail

    --
    This sig used to be really funny...
  21. Re:Personally, I like... Actually... by Spudtrooper · · Score: 4, Funny

    PC LOAD LETTER? What the f*ck does that mean?

  22. Perl versus Python by goombah99 · · Score: 5, Interesting

    Perl is perhaps one large bug that works so well that it's a great feature. For example in perl when you compare two things you get an answer that is stable no matter what the items are. In python you can't and even when you can the answer is not stable. The order of a sorted list can depend on it's orginal ordering! You cant compare floats to Complex numbers but you can compare strings to complex numbers. Sets are grouped by equality not identity so 4.0 and 4 are the same thing for a set. Which one stays and which one get added to the set depends on the ordering of the lists that were put in the set.
    it's nuts. And the origin of the nutty ness is an obsessive desire not to have default behaviours. Whereas perl is all default behaviours. In the end perl does what you really meant, and python does what you told it.

    in case you think I'm python bashing google what python evangelist david mertz says about python warts.

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:Perl versus Python by badfish99 · · Score: 5, Funny

      As a mathematician, I'm always surprised by people who think that 4 and 4.0 should not be equal.

    2. Re:Perl versus Python by zappepcs · · Score: 5, Funny

      As a mathematician, I'm always surprised by people who think that 4 and 4.0 should not be equal. Well, one is just a number, the other is the SP version identifier that tells you when its safe to upgrade to a new version of windows.
    3. Re:Perl versus Python by rootofevil · · Score: 5, Funny

      As a programmer, I'm always surprised by mathematicians who think that 4 and 4.0 should be equal.

      --
      turn up the jukebox and tell me a lie
    4. Re:Perl versus Python by IMarvinTPA · · Score: 5, Informative

      As a programmer, I'm amused by both.
      4 and 4.0 are equal by value but not in precision. 4 has one significant digit, while 4.0 has two. This is important because multiplying it by 1200 (which has two significant digits), yields two scientifically different answers. 4*1200 yields 5000 (5 x 10^3) while 4.0*1200 yields 4800 (4.8 x 10^3).

      So, in the end, it depends, just like everything else.

      IMarv

    5. Re:Perl versus Python by heretic108 · · Score: 4, Informative

      should 4.0+0.0j and 4.0 be equal? Python does not think so. should 4L and 4.0 be equal? python does not always think so


      WTF?!? Which particular python version are you talking about?
      Python2.4 and later:

      >>> x0 = int(4)
      >>> x1 = long(4)
      >>> x2 = float(4)
      >>> x3 = complex(4, 0)
      >>> x0 == x1 and x0 == x2 and x0 == x3 and x1 == x2 and x1 == x3 and x2 == x3
      True
      >>>

      Or, are you talking about inequalities (<, <=, > >=) which are required for list sorting?
      In this case, it's not a python issue but a mathematical issue. You shouldn't be trying to use inequality operators on complex numers. Inequalities with scalars such as floats, ints, longs etc are a mapping (S1,S2)=>(Bool), where S1 and S2 each can be one of float, long, int, bool, string, but such mapping is not defined if S1 and/or S2 is the field 'complex'.

      Your question is interesting though - a matter of whether a sort of a list of containing complex numbers should work if all the complex numbers have a zero imaginary part. I wouldn't think so. But if you're desperate, you could try something like:

      x0 = int(4)
      x1 = long(4)
      x2 = float(4)
      x3 = complex(4, 0)
      list1 = [x0, x1, x2, x3]
      list2 = [x3, x1, x2, x0]
      def compare(x, y):
                    if isinstance(x, complex) and x.imag == 0:
                            x = x.real
                    if isinstance(y, complex) and y.imag == 0:
                            y = y.real
                    return cmp(x, y)
      list1.sort(compare)
      list2.sort(compare)

      As for the 'problem' of list sort results depending on order of the original list, this only happens where there is computational equality between members of the original list, so what's the problem really?
      --
      -- In the beginning was the WORD, and the WORD was UNSIGNED, and the main(){} was without form and void...
    6. Re:Perl versus Python by zippthorne · · Score: 5, Insightful

      As an engineer, I'm also amused.

      4.0 is definitely a 2 sig dig number, but 4 could be 1 sig dig or it could be "exact." You wouldn't say the 2 in 2*pi*r is only one significant digit, would you? Of course not, it would render any precision in pi or r meaningless.

      Also, 1200 could have 2, 4, or be exact depending on the context. It's best to always use a notation that includes the fraction mark for non-exact quantities.

      --
      Can you be Even More Awesome?!
    7. Re:Perl versus Python by xero314 · · Score: 4, Insightful

      4*1200 yields 5000

      If that isn't a bug, I don't know what is. That is because the IEEE standards for floating point values is the biggest and most prolific bug in software today.
    8. Re:Perl versus Python by Anonymous Coward · · Score: 3, Insightful

      I personally choose the symbol 4 to represent the value that is one greater than the value represented by the symbol 6. I further choose composite symbol 4.0 to represent the value that is one greater than the value represented by the symbol 9. I assert that the values represented by symbols 6 and 9 are not equal in their position on a number line.

      Therefore: 4.0 is definitely not equal to 4.

      It's all in the interpretation of the representation.

    9. Re:Perl versus Python by Eicosane · · Score: 5, Interesting

      The broke broke piece of crap he is using is found here: http://en.wikipedia.org/wiki/Significant_figures

      The rule in his example is:

      4(1 sig fig) * 1200 (2 sig figs) = 5000 (1 sig fig & rounded up since 4800 is closer to 5000 than 4000)

      4.0(2 sig figs) * 1200 (2 sig figs) = 4800 (2 sig figs)

      As far as software using sig figs, well...if you are using real world measurements, you should be using sig figs. You can not tell from a general ruler if you are at 0.526876". You can tell that you are between 0.5" and 0.6", so you say 0.56" Past two sig figs, you would really be pulling that out of your bum. Therefore in all the calulations that use the 0.56", you can only have a max of two sig figs in the result. Anything more would rely on you knowing up to say 3+ sig figs in all the numbers used to get the result.

      Point: The number of sig figs you have makes a difference in your result. Sig figs are generally used with real world measurement systems. Computer calculations may not fall into this category, but it would depend.

    10. Re:Perl versus Python by Chirs · · Score: 4, Insightful

      Not in programming, but in engineering.

      Quite often calculations are performed where the various values are known to have a certain amount of uncertainty. If I take a reading of "4", what is really meant is that the value is between 3 and 5. If I specify "4.0", then the value is between 3.9 and 4.1. The amount of precision is given by the number of significant figures. Thus, a value of 4.0000 implies a fairly high degree of certainty.

      Given that "4" has only a single significant figure, multiplying it by an exact 1200 yields 4800. However, if you round that off to a single significant figure, then the result is 5000.

      As has been discussed already, however, the "4" may be exact, in which case you need to know the uncertainty in the "1200" before the uncertainty in the result of the calculation can be determined.

    11. Re:Perl versus Python by twistedsymphony · · Score: 5, Informative

      Heh, thank you. As an engineer I was also going to make this point, I'm glad I'm not the only one who realizes that the number of 0s after a decimal carries with it some hefty implications in the manufacturing and engineering realm. Working for a bearing manufacturer I can tell you that the difference between a part with a diameter of 4.00cm and a part with a diameter of 4.00000cm is a few hundred dollars.

    12. Re:Perl versus Python by UserGoogol · · Score: 3, Insightful

      Those filthy engineer types think that numbers are merely an approximation of reality, and thus to them precision is relevant. Whereas mathematicians don't give a shit about reality and just want to work with the numbers, and a number describes itself perfectly. And when they're forced to go into the land of finite precision for whatever reason, they generally don't feel compelled to sully their numbers with that junk, so they represent precision in different ways.

      --
      "Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
    13. Re:Perl versus Python by Red+Flayer · · Score: 4, Informative

      Dude, that's just wrong and it has nothing to do with precision at all.
      No. It's not wrong:
      4 * 1200 = 4800 +/- 600, since 4 could represent 3.500000000000001 or 4.4999999999999.

      For that matter, 1200 could represent 1249.9999 or 1150, so
      4 * 1200 = 4800 +/- 625.

      We just don't know how accurate the initial measurement was, so it is completely inaccurate to say that 4 * 1200 is equal to exactly 4800.
      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    14. Re:Perl versus Python by porpnorber · · Score: 4, Insightful

      As a mathematician (or at least, an ex-mathematician) I am always amazed by mathematicians who forget that 'equality' between distinct domains is introduced (in standard developments) as a mere abuse of notation. Just because there is a canonical injection of Z into (say) Q does not mean that any element of Z is equal to any element of Q in any normal sense.

      Moreover, since 4.0 is a floating point number, it's not even a very helpful abuse of notation to allow 4 and 4.0 to be 'mathematically' equal, since you can demonstrate that mathematically all floats are equal to each other: there's some nonzero epsilon small enough that epsilon + x is 'equal' to x. It is not helpful to then apply normal mathematical reasoning and conclude that all integers are equal - that is, it's nice to maintain some part of a programming language that is actually consistent, and if we're going to use the symbol '=' for both types, it's helpful at least to maintain that these are distinct overloads!

      Really, any programming language for the mathematically savvy would issue a warning whenever you used a floating point type for anything; floating point support is a somewhat lame compromise for hardware compatibility. If on the other hand we had the habit of using constructive real numbers (which, unlike classical real numbers, are implementable), we would, quite rightly, be forced to reconsider the notion of equality globally.

    15. Re:Perl versus Python by Zabu · · Score: 5, Funny

      As a hooker, I can tell you that anything with a diameter of 4.00cm or 4.00000cm is always a few hundred dollars

      --
      It's all good.
    16. Re:Perl versus Python by zippthorne · · Score: 3, Interesting

      Um.. yeah. of course that's how it is. Measurement is always more precise and less costly than machining. If you've got a process that produces 4.00 cm parts, and you put more effort into measuring, you might be able to sift some 4.00000 parts from the mix. But those parts are much rarer than the 4.00s, and so command better pricing. (it also means that the remaining parts are definitely not 4.00000)

      If you need more 4.00000 parts, you could use tighter machining tolerances, but each part will be much more expensive. The choice of which method depends on a variety of factors, not the least of which is whether you can use the "rejects" as "low quality parts" or "scrap."

      --
      Can you be Even More Awesome?!
    17. Re:Perl versus Python by DarkManaX · · Score: 4, Funny

      As a graphic designer and long-time computer hobbyist, I find it to be simultaneously amusing and ridiculous. Time to go draw cats having sex.

  23. Nameless Firefox Bookmarks by Headcase88 · · Score: 5, Interesting

    This barely qualifies as bug, more on an inconsistency, but...

    In Firefox, when you make a new bookmark, you need to give it a name. FF grays-out the OK button until you do. This implies that bookmarks weren't meant to be nameless. Here's the "bug": if you go to rename the bookmark, you can make it blank and the OK button remains active.

    So what good is a nameless bookmark? I place all of my frequently-visited bookmarks on the menu bar, to the right of the menus (it's normally wasted space). I have over 25 bookmarks marks there, and if they had names (even one-letter names), they wouldn't fit by a long-shot. The favicons are all I need, so this ability is pretty helpful, and isn't likely to be fixed.

    --
    "When the atomic bomb goes off there's devastation...but when the atomic bong goes off there's celebraaaaation!"
    1. Re:Nameless Firefox Bookmarks by casualsax3 · · Score: 5, Informative
      Combine this with Favicon Picker 2 - a plugin that lets you set your own favicons for the bookmarks and you can have a pretty toolbar:

      https://addons.mozilla.org/en-US/firefox/addon/3 176

  24. Second Life camera by LinuxHam · · Score: 5, Informative

    In Second Life, if you zoom your camera up to a wall, you will normally just zoom in to see closer detail of the wall. But once up against the wall, swing the camera around to the side, and you can "back your way in" through the wall. Release and click again, and the camera is now "mounted" inside the house. Its so much fun to watch people inside their homes, especially when your avatar is prevented from entering the property. Some even pay for a little orb that still tells them that no one is detected within 30m. Its fun because the clicks still work, too, like right clicking on someone and IM'ing them.. to tell them that you liked their last outfit more than this one, or the couch looked better in the other corner.. really freaks them out. That is definitely a "bug" (or feature) I couldn't live without... not in SL at least.

    --
    Intelligent Life on Earth
    1. Re:Second Life camera by Mike+Micelli · · Score: 5, Funny

      I don't know what's creepier, the fact that he's a virtual peeping Tom, or that he has a Second Life account.

  25. VW close the sunroof bug by Ancient_Hacker · · Score: 5, Interesting

    There were two oversights in the older VW's electrical system:

    (1) You needed the key to close the sunroof.

    (2) But.. a sneak path in the headlight wiring meant you could instead just turn on the headlights and pull on the high-beam flasher (on the turn-signal lever). Enough electricity would flow backwards through the sneak path to operate the sunroof motor. ... ooops, that's more hardware than software. sorry.

    1. Re:VW close the sunroof bug by sconeu · · Score: 5, Funny

      Back around '79 or so, a buddy of mine had a VW Bug with a different bug in it. It had some kind of short, so that if you touched the steering column with another key on the same ring as the one in the ignition, it sounded the horn.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  26. telnet -l "-froot" by mmell · · Score: 5, Interesting
    More than once, I've rescued SUN servers where somebody hosed up PAM (or even /etc/passwd /etc/shadow) by breaking in this way.

    A related "bug" is the ability to boot Linux "fail safe" with the notation 'initrd=/bin/sh' on the boot line. As MVS would say, "Thou art God!"

  27. One of my favorites, from console gaming... by foxtrot · · Score: 5, Funny
    From the Blue Sky Rangers website:

    FUN FACT: While testing the game, Bill came across a bug: every now and then, the game would, seemingly at random, hyperspace you. He and his boss, Mike Minkoff, went over the code with a fine-tooth comb before realizing what the problem was: the Intellivision hand controllers encode button presses in such a way that an action (side) key pressed at the same time as particular directions on the disc will be interpreted instead as a numeric key being pressed. There was no software way around this; shooting while moving would occasionally be interpreted as pressing 9 -- the hyperspace button.

    After several days of puzzling over a solution, the bug was ultimately "fixed" by including the following note in the instruction manual:

    "Every once in a while, your space hunter will move near a 'black hole,' and the computer will automatically put him into HYPERSPACE. This will cost you the same number of points as if you had pressed the HYPERSPACE key yourself. On the other hand, it will save your hunter."

    This led to an axiom frequently heard around Mattel: If you document it, it's not a bug -- it's a feature. Anytime a game in development crashed -- no matter how badly or bizarrely -- witnesses would invariably turn to the frustrated programmer, shrug, and calmly say "document it."


    -JDF
    1. Re:One of my favorites, from console gaming... by Anonymous Coward · · Score: 3, Interesting

      Ultima II had a similarly documented "feature."

      It was coded in assembly language and the monsters were kept in a pair of parallel tables. Whenever you swung at a monster, it did a loop similar to:

                          LDX #$1F
      CHECK1: LDA MONX,X
                          CMP HITX
                          BNE NEXT1
                          LDA MONY,X
                          CMP HITY
                          BEQ HIT
      NEXT1: DEX
                          BNE CHECK1 ;Should be BMI
      MISS: ...

      As noted in the comment, the (B)ranch (N)ot (E)qual should be a (B)ranch if (MI)nus. The upshot being that you could never hit the 0th monster on a map. Rather than find/fix the bug, they just mentioned that you will occasionally encounter monsters who are simply invincible.

  28. Quake2 strafe jumping by pak9rabid · · Score: 5, Interesting

    I'd have to go with strafe jumping in Quake2. What better way to get the 100 health pack in q2dm1 w/out having to sacrifice precious life w/a rocket jump. w00t!

  29. I dunno by Chris+Burke · · Score: 5, Interesting

    In high school I wrote a program for a physics project that showed electromagnetic wave propagation and interference. Nothing that special, the end result was basically a pretty screensaver with some relevence to physics. In light of that, one of the features I added was a pull-down menu for selecting what color you wanted to use. This was back in the VGA days with a 256 color pallette and manually poking the VGA frame buffer. Due to an off-by-one error in calculating the bounding box of the pull down menu, it was possible to select an invalid index for the color, so instead of selecting a row of the pallette with my nice color gradients set up, it was one of basically random colors. The result was really trippy, so when I discovered the bug, I decided to leave it in. At the open house where my program was running through a projector some bystander discovered the bug and thought it was indeed cool and trippy.

    That's about it. Most of my bugs just break shit. :)

    --

    The enemies of Democracy are
    1. Re:I dunno by soft_guy · · Score: 3, Interesting

      I hope someone mods this up because it is like the only post for the entire article that is actually relevant or interesting.

      --
      Avoid Missing Ball for High Score
    2. Re:I dunno by DedWisdom · · Score: 5, Interesting

      I had a similar experience when I was younger. I was learning C++ graphics programing on windows (95), and I was trying to simply make a static screen that showed a monochrome random gradient. Well I had some bug in my algorithm, and the screen went crazy, showing this massive arch with these beautiful repeating patterns within the arc, but random static outside of the arc. Okay, weird, changed some +s and some -s, and got it working, fine.

      Years later I started learning about chaos theory and fractals, and something in my head clicked. I instantly had a vivid memory of that bugged screen and realized that it was a fractal. I had accidentally created a rather complex fractal. Blew my mind clean up.

    3. Re:I dunno by Elbows · · Score: 3, Funny

      My company writes effects plug-ins for film/video post-production, and a while back we got an email from one of our customers with a similar story. He had been playing around with our effects trying to simulate a look of noisy or damaged video. Suddenly his render failed with an "out of memory" error, and the screen filled with random digital garbage -- it was exactly what he wanted!

      So he rendered it out the way it was, and we gained another happy customer. ;-)

  30. Physics bugs in video games are the best by mattgreen · · Score: 4, Interesting

    I used to play too much Starsiege: Tribes about five or six years ago. It is a multiplayer first person shooter with enormous maps. When it first came out, everyone walked around, or hitched a ride on a vehicle. The game was fun, but it was a bit slow for my tastes (I grew up on NetQuake). Somebody discovered a physics bug that allowed players to move very fast over terrain by rapidly tapping the jump button as players slid down a hill. This process was scripted, and the overall dynamics of the game (terrible pun) changed dramatically. The game went from being fairly slow to being one of the most intense games I've ever played. Different hills would give different amounts of speed, and the process of 'skiing' itself required that you constantly look for ways to maintain your speed while fighting off other players.

    When the developers saw the potential it gave the game, they left it in. They realized how it made the game unique and exciting, and this bug became the standard feature that sets Tribes far apart from almost all FPS games out there, even to this day. This bug resulted in probably the closest simulation to virtual athleticism that I have ever seen, which was responsible for the fanatical, but small fanbase the Tribes series had.

  31. OOB Windows bug (WinNuke) by c0d3h4x0r · · Score: 3, Funny

    http://en.wikipedia.org/wiki/Winnuke

    This was the handiest thing for getting rid of idiots on chat.

    Runner-up: ALT-F4 to close a window. Also handy for getting rid of idiots on chat:

    Idiot: Hey, my computer is broken, how do I fix it?
    Me: Well, first, hit ALT-F4
    *** User 'Idiot' has left the room. ***

    --
    Moderator hint: a comment is neither "Flamebait" nor "Troll" if it is true.
    1. Re:OOB Windows bug (WinNuke) by brunascle · · Score: 3, Funny
      Ah yes, how many times have we seen this:

      User A: how do i kick someone out of the channel?
      User B: type /leave [their name]
      *** User A has left the room (User B) ***
      *** User C has left the room (User B) ***
      *** User D has left the room (User B) ***
      *** User E has left the room (User B) ***
      *** User F has left the room (User B) ***
      User B: :(
  32. Re:Yes by soft_guy · · Score: 3, Funny

    I'm unclear how Windows qualifies as a feature.

    --
    Avoid Missing Ball for High Score
  33. If You Can't Fix It, Feature It by adavies42 · · Score: 5, Funny

    A couple of friends of mine in high school CS wrote a Tetris clone for class, but they had a bug where occasionally, blocks would spontaneously appear or disappear. They couldn't figure out how to fix it, so they claimed (in the docs, not to the teacher) that they had AI adjusting the difficulty to match the players' skills.

    --
    Media that can be recorded and distributed can be recorded and distributed.
    -kfg
  34. Date library by isj · · Score: 5, Interesting

    Not me, but one of my colleagues took over maintenance of a system which included a date library. The dates and times were treated as floating-point, leading to much conversion and adjustinging. Eg. 12:30 was 12.30, so when adding 40 minutes getting 12.70, and then adjusting that to 13.10, No input validation was done. My colleague tried cleaning that up, but then got complaints from the users. They had discovered the "features" and were now using eg:
        January -6th
    meaning december 24th the previous year.

    My colleague had to remove the input validation again and keep the features.

  35. Re:ModeX graphics? Buffer overflows? by greed · · Score: 5, Informative

    The Rockwell 6502 was a hard-wired processor; there was no "illegal instruction" check. So, any bit-patter you loaded as an instruction would try to do something. Sometimes, because of the internal open-collector busses, you'd get neat "something OR something" that wouldn't normally happen.

    Here's the I'm Feeling Lucky hit on it: 6502 Opcodes.

    Thing is, the results might vary from implementation to implementation. So they might not work usefully on the 6510, which was otherwise a 6502 with an I/O register at $0000-$0001.

  36. The Easy to Interpret Save Files in X-COM by Zenaku · · Score: 4, Interesting

    In the olden days (DOS) version of X-Com: UFO Defense, a save game consisted of a whole bunch of individual files in a directory tree. After some tinkering around, I realized that one particular file stored nothing except a list of what equipment you had "on order" and after how much more game time it was going to arrive.

    By ordering a bunch of equipment and saving your game just before it was due to arrive (call that save game A) then saving again immediately after it arrives (call that save game B), and then copying this file from save game A to save game B, you could get whatever equipment you had ordered to arrive again. And again, and again. And you could turn around and sell all the extra stuff for cash.

    Lather, Rinse, Repeat. I used to start off a game by repeating this trick until I had maxed out my cash. I found the corresponding file that allowed you to improve your tech without actually performing the research, but that was less of an advantage, since the game used your tech-level to decide how difficult the scenarios it gave you should be.

    --
    If fate makes you a motorcycle, you become a motorcycle.
  37. BMW MINI CD player as burglar alarm trigger by mccalli · · Score: 5, Interesting

    This was a fun one. I had one of the first MINI Coopers, and ordered it with the CD player ('Wave' option? Seem to remember that name). I forget exactly when I took possession of the car, but I think it was around September or October. Something like that.

    Anyway, at roughly 2:00am every morning the car alarm would go off, much to the 'delight' of myself, my neighbours and everyone in the vicinity. I'd go out, stop the alarm and then try to sleep. After which it would go off again, every hour or so.As if we weren't losing enough sleep with our then new-born daughter.

    The cause was eventually traced, and it's one of the more obscure bugs I've ever come across. Turns out that the car had a low-power rather than completely off mode, and the CD player retained a tiny amount of power going through it. When it was cold, say at 2:00am on an autumn morning for example, the CD player would detect that condensation was forming and would wake up the car's electrics to create some warmth to clear the condensation. This is deliberate, and quite clever I think.

    However, the problem came in that it did this too often and started causing a big drop in battery reserves. The security system interpreted this as an attempt to start the car by hotwiring it, and so the alarm would be set off. I'd come out to switch it off, then go back to bed on the cold autumn night at which point condensation would form again, the CD player would switch itself on again, the security system would sound the alarm again and a bleary-eyed version of me would stagger out to turn the alarm off again. At which point condensation would start to form again and...

    Bah.

    Cheers,
    Ian

    1. Re:BMW MINI CD player as burglar alarm trigger by Anne+Thwacks · · Score: 3, Funny
      Sir, you lie.

      The Mini Cooper dates from about 1968, very considerably before the advent of the CD player, and furthermore had even less security than Windows ME. Even if the doors were locked, you could still open them by pushing hard, because the entire door would bend such the lock mechanism no longer held the door shut! It certainly did not have an alarm.

      Not only that, the electrics were so poor, it was not unknown for condensation to completely flatten the battery overnight.

      --
      Sent from my ASR33 using ASCII
  38. Template Metaprogramming? by sconeu · · Score: 4, Interesting

    I'd argue that C++ Template Metaprogramming as a fully Turing-complete functional programming language was probably an unintended result of the definition of templates.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  39. Re:MOD PARENT DOWN by Yoooder · · Score: 3, Funny

    His post was funny, yours sounds more like a troll... and if you love Windows so much why don't you marry it

  40. Re:Yes by Yoooder · · Score: 3, Funny

    It really is more of an amorphous blog of bugs & features. It's a bug, comprised of features that are buggy features and feature bugs. This is one of those things where if you think about it too hard, the Mac / Linux ambulance will have to try to reassmble the fragments of your exploded head.

  41. Re:Personally, I like... Actually... by Anonymous Coward · · Score: 5, Funny

    Guess he didn't get the memo...

  42. Re:Yes by pilgrim23 · · Score: 5, Insightful

    though Windows does this with flying (Blue) colors, I would nominate DRM. it screwed music and spurred development of P2P

    --
    - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
  43. Elevator bug by Col.+Klink+(retired) · · Score: 5, Funny

    My college dorm elevator had bug/feature. If you briefly pulled and then reset the "emergency stop" button as the elevator was stopping at a floor it would skip that floor. I lived on the third floor and we routinely skipped folks on the second floor waiting for the elevator. This was a great time saving feature (except, of course, when the fourth floor residents would skip the third floor).

    The only misfeature of this bug was that the bell would briefly ring alerting those waiting that they had been skipped. One time, some second floor residents heard us skip their floor and we heard them running down after us. We skipped the lobby and went back to the fourth floor. We could have kept it going all night if they tried chasing us, but they didn't. Anyone too lazy to walk to the lobby from the second floor sure isn't going to race up to the fourth floor.

    Eventually, they upgraded the elevator and we had to stop for the second floor whenever they wanted.

    --

    -- Don't Tase me, bro!

  44. Open Office Find&Replace to reformat Cells by Rashkae · · Score: 3, Interesting

    If you do a regex search and replace in Open office and replace all contents of cells with themselves (search for .*, replace with &, or something like that) the contents of the cells will be reformated to whatever default you set for the columns. You can use it to change a column of numbers into a text field (to sort alphanumerically) or vice versa,, (if you have a spreadsheet that imported numbers as text and and you want to change them back into numbers)

    This trick is even included in the help documentation.

  45. aMSN by Placebo+Messiah · · Score: 4, Funny

    aMSN has a cool bug that pops a window open on your end as soon as someone clicks on your name on their end

    it's fun to pre-empt conversations with girls:

    me: hey how's it goin?

    her: OMG I was just thinking about you

    me: ya right

    her: I'm serious!

    me: *gush* (L)

  46. My favorite bug by SilentStrike · · Score: 4, Interesting

    I was writing code in lisp to remove duplicates from an unordered list.

    How do you do it? Well, here is one reasonable way.

    Sort the items in the list.
    Duplicate items will be adjacent, so scan through the list and add items when they aren't equal to the last item.

    Since it was lisp, I naturally started writing a recursive quicksort.

    My code looked something like.

    quicksort (list)
        if list has size less than 2, return list
        Pick pivot from list
        L = filter items in list < pivot
        G = filter items in list > pivot
        return quicksort(L) + pivot + quicksort(R)

    However, my quicksort had a bug in it.

    Look closely.

    It didn't append copies of pivot to the returned sorted list. Thus, it removed them. Since every item eventually ends up as the pivot, all duplicates are removed. It's the only bug that has ever ended up saving me time.

  47. Lesson here is: by geekoid · · Score: 4, Insightful

    Don't start modifing code until you understrand how the users use the product.

    It is only refactoring if the users sees no change, with the sole exception of performance gains.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  48. Intestinal flora by tverbeek · · Score: 4, Insightful

    The bacteria in my digestive tract are bugs I would definitely miss.

    --
    http://alternatives.rzero.com/
  49. VW turn the fans on while the car isn't on bug by Vr6dub · · Score: 3, Interesting
    I have a 97 gti...try this...I may not have it quite right though.

    With the key in or out of the ignition (don't turn it to ACC or ON) hit the AC button and turn your fans to full. Then pull your highbeams. Your fans will suddenly turn on. Found it on a forum years ago...was pretty funny the first time I tried it.

  50. Back in the modem days.... by Groo+Wanderer · · Score: 4, Funny

    N00B: How do I get feature X to work in this chat room?
    Clued in 1: Try +++ATH
    N00B: Than......(N00B has left the chat)

                -Charlie

  51. Re:Not sure if youd call it a bug but... by BobPaul · · Score: 4, Interesting

    I do ctrl+alt+del and kill explorer.exe. Then I use File: Run in task man and do "runas /user:administrator explorer.exe". This restores the desktop as the admin user. When I'm done, I do another ctrl+alt+del, either kill explorer or choose "Log Off Administrator" from the start menu, and then run "explorer" from the run dialog again to restore the old session.

    This is faster than logging off and back on, leaves the users programs open, but gives you the full admin desktop, not just a shell or explorer window.

    It's too bad gksudo doesn't work on Windows...

  52. Ah, Units by EgoWumpus · · Score: 5, Insightful

    As a programmer, and a former student in at least one other math-related discipline, it's clear to me that 4 and 4.0 are equal. But they are not equivalent. Knowing 'Accuracy', 'Precision' and 'Proper Use Of Units' like the back of your hand will help you in any career.

    --

    [Ego]out

  53. Software developer here by hotsauce · · Score: 5, Funny

    As a software developer, I am amused by you all. "4" is quite obviously a string, and can not be compared with 4.0 without a set of business rules.

    Multiplying it in silly ways will not help you either. :)

    1. Re:Software developer here by jimbojw · · Score: 5, Funny
      In case you were wondering, "4" * 4.0 yields:
      • "4444" in Ruby
      • 16 in PHP and JavaScript
      • Exception:The operator * is undefined for the argument type(s) String, double in Java
      ... And "4" + 4.0 yields
      • TypeError: can't convert Float into String in Ruby
      • 8 in PHP
      • 44 in JavaScript
      • "44.0" in Java
      Which I just find amusing all around.
    2. Re:Software developer here by cjjjer · · Score: 5, Funny

      As a project manager I am amused by how much time has been spend talking about this. Clearly developers need more work and shorter deadlines.

    3. Re:Software developer here by ConceptJunkie · · Score: 3, Funny
      Which is why C++ is the best language because you can overload operators, so, "4" * 4.0 can yield whatever you think makes sense:
      • 16
      • "16"
      • "4444"
      • 208
      • or, if you prefer, a nice game of Nethack
      --
      You are in a maze of twisty little passages, all alike.
  54. Automotive Bug by wramsdel · · Score: 5, Informative

    I always enjoyed cars with "child-safe rear windows" which don't roll all the way down. In many cases, this is because the rear wheel well cuts into the door, reducing the space available for the window.

  55. Super Mario bros. by Socguy · · Score: 3, Funny

    My favorite bug-as-a-feature occurred in the original Mario bros. game for the NES. I suppose it wasn't so much a feature as simply a bug in the game Since it was only availible at one point in the game. Somewhere, I thing in the third world, as you were climbing the end pyramid you could jump on a descending koopa and, provided you did it just right, Mario would keep bouncing off the koopa shell as it would ricochet back and forth off the step. Soon, you would begin receiving credit for your continued bouncing in the form of extra lives. After a time your number of lives would climb so high that the game began representing them as various other graphical elements from the game; bricks, pipes etc. Unfortunately, if you left it too long (20 mins. +) the game would simply kill Mario. I suspect that the console simply ran out of memory to hold your fantastic number of lives and this was a safeguard to prevent the console from locking up.

    The only time I've ever been able to exploit this was on the original NES. Even the Super Mario all-stars SNES version will not reproduce this.

    As a much younger individual, this nearly unlimited lives 'feature' was the only way I could beat Bowser and it led to some interesting conversations with my school friends at the time.

    Me: So I beat Bowser last night!

    Friend: Cool! How many lives were you down to?

    Me: Uhhh, pipe?

    Friend: Riiiiiiiiiiiiiiiight.

  56. Triple Faulting the 80286 processor by Linker3000 · · Score: 4, Interesting

    Hows about triple faulting the 80286 processor to drop out of protected mode?

    --
    AT&ROFLMAO
  57. Did you clean up the code or break the code? by WindowsTroll · · Score: 3, Insightful

    Your assumption seems interesting to me. In a production environment end users are using an application that obviously is useful. In your attempt to "clean up unreadable code", it no longer works. What you did instead was make the code perhaps more readable, but you changed the functionality. Perhaps more pejoratively, you broke what was previously working. Instead of looking at your self to see what you broke, your assumption is that it all worked by accident.

    Before committing any changes to a production system, I would expect that a developer would test the functionality before making change and compare the results after changes were made. This would have uncovered that you changed functionality. Another tact would have been to create unit tests before making your changes, and then run those test as you were making changes. You have have discovered that you changed functionality. Instead, you did neither, and you broke a feature.

    I'm a little long in the tooth, working 18 years as a programmer. I've seen this situation many times. Every young new hire thinks that they are smarter than the people hired before them and that all of the existing code is crap. It all needs to be rewritten because the previous coders were bad programmers and if it were redone, it would be cleaner. So they rewrite existing code and they break things. I can only assume that you work for a PHB.

    Any manager worth their salt would initially halt a rewrite of WORKING code. If you want to modify something that is working and has been working and has had the bugs worked out, you will really need to prove that there are benefits to doing so. And as a manager of a development group, anytime someone who is still wet behind the ears wants to rewrite code, I tell them to step back and look at the code again. Is the code really crap or is it that you just don't understand what it is doing? Perhaps having an older coder walk through some of the code, maybe explain why the code was written a certain way, might shed some light on how it is really functioning. The fact that in your case you changed functionality, it shows that you didn't understand what was going on in the first place.

    --
    "Microsoft has made computing accessible to a population who would otherwise not be able to use computers" - B. Kernigha
    1. Re:Did you clean up the code or break the code? by Bat+Country · · Score: 3, Informative

      In this particular case, the previous programmer was entirely new to web programming. I've been patching severe security holes in the website since about a month after I started (the period it took me to figure out how the code worked.)

      A lot of what I was doing was requested by the management to stop people from taking advantage of poor deadline calculations and to break certain workarounds discovered by the employees.

      In the process of locking up some of these holes, there were some actual unintended behaviors (per the original documentation, they were prohibited) which became a vital part of the work flow process.

      Although I'll cop to breaking a few things in the interest of cleaning them up, then immediately having to revert my changes, a lot of these bugs-as-features were in fact bugs which later became vital to the process.

      --
      The land shall stone them with the bread of his son.
  58. VT100 superfast-repeat, combined with keyclick by Sloppy · · Score: 3, Interesting

    On a real VT100 (no emulators, please) send an ESC [137q

    In other words, even though your keyboard only has 4 LEDs, pretend you wanted to turn on the 137th one. Don't ask, just do it.

    Now your keyboard will repeat at an insane rate. Go into Setup B, and turn on keyclick (which might be kind of hard given how crazy your keyboard is acting; maybe you should do that before you send the weirdo escape sequence).

    Now hold down a key. Listen. Hold down a different key. Listen. Hey, it sounds a little different.

    Now play music.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.