Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Bug Programming Software IT

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

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?"
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by Anonymous Coward on Friday March 30, 2007 @01:58PM (#18546251)
    Great game! Here. [download.com]

    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.

  • by SirStanley ( 95545 ) on Friday March 30, 2007 @01:59PM (#18546265) Homepage
    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.
  • by Allicorn ( 175921 ) on Friday March 30, 2007 @01:59PM (#18546279) Homepage
    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.
  • by Behrooz ( 302401 ) on Friday March 30, 2007 @02:03PM (#18546357)
    "Subscribe to view" webpages that are still visible to users browsing as GoogleBot.
     
      User agent switcher extension [chrispederick.com] + 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.

  • by Manatra ( 948767 ) on Friday March 30, 2007 @02:04PM (#18546385)
    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 [wikipedia.org].
  • Perl versus Python (Score:5, Interesting)

    by goombah99 ( 560566 ) on Friday March 30, 2007 @02:06PM (#18546427)
    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.

  • by Headcase88 ( 828620 ) on Friday March 30, 2007 @02:07PM (#18546437) Journal
    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.
  • Street Fighter 2 (Score:2, Interesting)

    by Scrotumous ( 814250 ) on Friday March 30, 2007 @02:09PM (#18546481)
    My favorite bug -> feature was the doing a jumping kick to the back back side of enemies. This was not intended but has become mainstay in fighting tactics in the SF series ever since
  • by Ancient_Hacker ( 751168 ) on Friday March 30, 2007 @02:09PM (#18546491)
    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.
  • by mmell ( 832646 ) on Friday March 30, 2007 @02:11PM (#18546509)
    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!"

  • by pak9rabid ( 1011935 ) on Friday March 30, 2007 @02:13PM (#18546547)
    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!
  • I dunno (Score:5, Interesting)

    by Chris Burke ( 6130 ) on Friday March 30, 2007 @02:13PM (#18546549) Homepage
    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. :)
  • by apathy maybe ( 922212 ) on Friday March 30, 2007 @02:15PM (#18546591) Homepage Journal
    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).
  • by Rei ( 128717 ) on Friday March 30, 2007 @02:15PM (#18546603) Homepage
    My favorite was from Final Fantasy Tactics -- the level up/level down as a different class bug for boosting your stats. The neat thing about it was that while you could do it, and it had very real benefits, it took a lot of effort. As a consequence, it was more like a non-required miniquest, sort of like Chocobo breeding in VII or card collecting in VIII, that people who wanted a "perfect save" could choose to embark on.

    In general, I actually liked Tactics' bugs.
  • Memory segment B000? (Score:1, Interesting)

    by Anonymous Coward on Friday March 30, 2007 @02:16PM (#18546617)
    How about being able to use the memory segment for monochrome video adapters as extra memory, back in those days?
  • by mattgreen ( 701203 ) on Friday March 30, 2007 @02:17PM (#18546645)
    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.
  • by brunascle ( 994197 ) on Friday March 30, 2007 @02:18PM (#18546657)
    most of those web-based rich text editors you see use the same core functionality that's built into the browser. it's sometimes called "design mode" because to initialized it you have to set the designMode property of an iframe element to "on".

    there's a set of commands that you can execute on the iframe after you've set this property. one of them is "indent". when handled properly, this should create a new div element with some kind of margin or padding on the left. well in IE executing that command actually creates a blockquote element.

    completely wrong, right? yes, but convenient. in our CMS we need to be able to create a blockquote, and have no use for indentation, and i cant find any other way to do it in IE. fortunately, in better browsers blockquote is handled with the command "formatblock: blockquote".
  • SQLDeveloper (Score:2, Interesting)

    by beef623 ( 998368 ) * on Friday March 30, 2007 @02:21PM (#18546727)
    In one of the older versions(after they dropped the codename raptor and went live) of oracle's sqlDeveloper, after your session with the DB had timed out you could just execute a query a couple times to renew your session rather than logging out and logging back in. I know its a considerable security flaw but it was damn handy.
  • Date library (Score:5, Interesting)

    by isj ( 453011 ) on Friday March 30, 2007 @02:25PM (#18546785) Homepage
    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.
  • Re:I dunno (Score:4, Interesting)

    by soft_guy ( 534437 ) on Friday March 30, 2007 @02:29PM (#18546855)
    I hope someone mods this up because it is like the only post for the entire article that is actually relevant or interesting.
  • by Zenaku ( 821866 ) on Friday March 30, 2007 @02:39PM (#18547017)
    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.
  • by mccalli ( 323026 ) on Friday March 30, 2007 @02:41PM (#18547053) Homepage
    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
  • by sconeu ( 64226 ) on Friday March 30, 2007 @02:42PM (#18547063) Homepage Journal
    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.
  • by Phreakiture ( 547094 ) on Friday March 30, 2007 @02:42PM (#18547077) Homepage

    There are two bugs here that I know of, one which is a problem all the time, and one that can be used to solve that problem.

    The one that is a problem is that if you are listening to a track when you power it off, then remove that track, it will lock up the next time you power up, because it can't find the track you were listening to before.

    The other one is that if the key-lock switch is on when you push power to turn it on, it will start to boot up, and get most of the way there before checking the state of the key-lock switch.

    However, you can use the second bug as a workaround for the first, because, when it discovers that the key lock switch is set, it will turn around and save its state to the flash. The only thing is, it hadn't loaded its state from the flash yet, so it ends up saving back a clean state.

  • Re:QW strafejumping (Score:4, Interesting)

    by Vireo ( 190514 ) on Friday March 30, 2007 @02:43PM (#18547097)
    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.
  • by Anonymous Coward on Friday March 30, 2007 @02:47PM (#18547171)
    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.
  • Re:I dunno (Score:5, Interesting)

    by DedWisdom ( 1081989 ) on Friday March 30, 2007 @02:48PM (#18547199)
    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.
  • Re:GPOW (Score:4, Interesting)

    by StarvingSE ( 875139 ) on Friday March 30, 2007 @02:57PM (#18547325)
    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.
  • Re:QW strafejumping (Score:4, Interesting)

    by Ant P. ( 974313 ) on Friday March 30, 2007 @02:58PM (#18547349)
    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).
  • by Rashkae ( 59673 ) on Friday March 30, 2007 @03:00PM (#18547401) Homepage

    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.

  • by TemporalBeing ( 803363 ) <bm_witness.yahoo@com> on Friday March 30, 2007 @03:06PM (#18547517) Homepage Journal
    I have to use Outlook at work, and in previous editions (OL97,OL98, OL2000) you did not have this "favorites" box at the top of the Folder List. However, with OL2003 you do, and Microsoft provides no way to turn it off, except through a bug in Outlook. By turning off a lot of the crap, and then switching to calendar and back using the buttons at the bottom of the Folder List, you can get the Favorites to disappear. With the number of folders I maintain in Outlook it makes this bug one killer feature to get rid of a very annoying part of Outlook 2003. Now if I could only figure out the same bug-feature for keeping Outlook 2003 from enabling the Reading Pane and Preview windows for newly created folders (or when upgrading).


    P.S. BTW - before you all start complaining about Outlook, if you do configure Outlook properly it is just as secure as anything else. In all the years I've used Outlook (since December 1997), I have only had 2 virii run in it - and I did those myself purposely. The trick - turn off any kind of Autopreview functionality (e.g. Reading Pane, Preview, Autopreview, etc.), and set Outlook to use the Restricted Internet Zone - those two will prevent most things from being functional or running automatically.
  • by Anonymous Coward on Friday March 30, 2007 @03:24PM (#18547773)
    No experience with old VW's, but i do own a new pontiac G6 with the spiff 4-panel sunroof. I haven't figured out the pattern yet, but there is some sort of electrical interaction between the power windows and the sunroof. I've observed all manner of confusion... random closing... direction reversal... whenever i operate the sunroof and a window at the same time.

    After driving, I begin closing everything to park the car. Usually the sunroof first, and then the windows while the sunroof is sliding shut. But fairly often when i do this, the sunroof will stop or reverse (going all the way back open).
  • by Bachus9000 ( 765935 ) on Friday March 30, 2007 @03:25PM (#18547785)
    Super Metroid has all kinds of fun bugs that enhance replayability. I'll list just a couple:

    Mockball: If you start running, then do a spinning jump/somersault, and morph into ball form just as you're landing, you can roll around at running speeds. The main benefit of this little maneuver is to get super missiles early, allowing you to skip the Spore Spawn miniboss.

    Damage avoidance: If you shoot an enemy just as it is about to hit you it won't damage you...until the flashing animation stops, at any rate.

    Murderbeam: Normally the game doesn't allow you to equip all beams at once (IIRC Plasma and Spazer conflict with each other). However, if you time some button presses in the status menu correctly you can glitch the game into enabling all the beams. Normally, the game will freeze immediately when you try firing this beam, but there are at least two or three places you can use it to your advantage.

    1) If used at the right time during the battle with Motherbrain, you can make the battle go much more quickly (and create some interesting graphical glitches, too!).
    2a) If you open a door and then fire the murderbeam into the door and then manage to jump through the door before the game crashes on you, chances are you'll find yourself in a completely different room than you intended. More importantly, all game events seem to be reset including items. Using this trick, you can collect over 100% of the items in game.
    2b) I haven't seen/done this myself, but I hear if you use the murderbeam reset glitch in the right spot, you can flat out skip Ridley and Motherbrain by somehow triggering the final escape sequence early. Apparently this one only works on emulators, but I need to research it more. For the record, 2a tends to be more successful on the console although I hear there is one location that works in ZSNES.

    Anyone who enjoyed Super Metroid back in the day should check out some of the Metroid fansites. There are several more tricks and glitches that allow you to complete the game in just about any order you like. It all comes together to pretty much seal the game's position as my all-time favorite. But no one cares what I think. :)
  • My favorite bug (Score:5, Interesting)

    by SilentStrike ( 547628 ) on Friday March 30, 2007 @03:26PM (#18547807) Homepage
    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.
  • Easy data-entry (Score:2, Interesting)

    by jachim69 ( 125669 ) on Friday March 30, 2007 @03:35PM (#18547949)
    Back in '94 or '95, I was working the night shift in the QC dept of a small local machine shop. We had a manually-operated, computer-controlled measuring machine. (Aside: The software ran on OS/2, which I loved.) When "writing" an inspection program, the machine would ask you to measure a part feature, then input the ideal location, ideal size and tolerance data. The program would pop-up a dialog box with the measured data and spaces for the ideal data. There was a button to bring up a second window to enter this ideal data. Version 1 of the program allowed us to enter the data directly in the 1st dialog box, so I never understood the need for a second box to do the same thing. After about 6 months, version 2 came out. The first time I tried my normal routine of entering in the main dialog, I found that the text boxes were disabled. I called the company to report this bug, and they told me the bug was in Version 1 - it should never have allowed me to input ideal dimensions into the main window. I asked nicely if they would consider putting it back, as I now had to move my hands to the mouse and click around a few times instead of just tabbing and typing. Happily, version 2.1 included the "bug" again. This has to be the only time I ever asked for a bug to be included.
  • by Vr6dub ( 813447 ) on Friday March 30, 2007 @03:40PM (#18548001)
    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.

  • minus world (Score:1, Interesting)

    by Anonymous Coward on Friday March 30, 2007 @03:41PM (#18548017)
    minus world
  • by Eicosane ( 1082017 ) on Friday March 30, 2007 @03:47PM (#18548107)
    The broke broke piece of crap he is using is found here: http://en.wikipedia.org/wiki/Significant_figures [wikipedia.org]

    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.
  • Re:GPOW (Score:2, Interesting)

    by Loundry ( 4143 ) on Friday March 30, 2007 @03:49PM (#18548135) Journal
    You're not that old school.

    Did you ever identify item #9 in Wizardry with your Bishop? Or item "number" M?

    I don't know if that qualifies as a bug or an easter egg, but it sure made Wizardry very interesting for the next 5 minutes, after which it became suddenly very boring forever. (I guess that qualifies as a rotten easter egg.)
  • by BobPaul ( 710574 ) * on Friday March 30, 2007 @03:59PM (#18548265) Journal
    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...
  • by Anonymous Coward on Friday March 30, 2007 @03:59PM (#18548271)
    That's "normal" on Beetles - they swapped the hot and ground wires for the horn to make it easier to get past all of the turning of the wheel that goes on. Of course, there _should_ have been a grounded tube going around the column to protect you from that, but it didn't always work as you might expect...
  • The 'crack' in DAOC (Score:2, Interesting)

    by Gogogoch ( 663730 ) on Friday March 30, 2007 @03:59PM (#18548277)
    Don't know if its still there, but the Coruscating Mines in DAOC (Dark Age of Camelot) used to have an invisible 'crack' in the geometry model at one particular point. You had to run the gauntlet to get to this lowest level of the mines, and getting back up after a long session always seemed like a huge hassle. So the solution was the 'crack'; there was generally a line up of people jumping and hopping, trying to drop through the crack of the DAOC world.

    The DAOC system would recognise when someone left the propoer geometry, would think it an error situation, and had a recovery mode which would return people to their last bind site. In other words, it was a nice quick exit from the mines (without having to die).

    It was a bug exploit that everyone seemed to think was perfectly OK, perhaps because no one was a loser and everyone gained.

  • Re:QW strafejumping (Score:4, Interesting)

    by mobby_6kl ( 668092 ) on Friday March 30, 2007 @04:00PM (#18548293)
    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 [wikipedia.org] 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.
  • Re:rm (Score:4, Interesting)

    by kalirion ( 728907 ) on Friday March 30, 2007 @04:25PM (#18548725)
    touch "*"

    ... now the waiting game
  • by Fulcrum of Evil ( 560260 ) on Friday March 30, 2007 @04:29PM (#18548769)
    No, that's not how it works. You can nuke a binary for an executing unix binary, but it doesn't get deallocated until all the open file handles are closed. Because of this, you don't need to lock running binaries. NFS locks can be gotten around if the lockd is screwed up.
  • Re:I dunno (Score:3, Interesting)

    by Chris Snook ( 872473 ) on Friday March 30, 2007 @04:39PM (#18548899)
    An off-by-one error in some edge detection code I wrote caused blurry parts of an image to remain unchanged, but enhanced every detail on in-focus parts several times over. As a result, if you took a picture of someone up close, and there were people in the background, applying this filter would enhance the finest of wrinkles and make the person look about 100 years old, with no change to the rest of the image.
  • Re:404 (Score:3, Interesting)

    by rrkap ( 634128 ) on Friday March 30, 2007 @04:42PM (#18548939) Homepage

    Keyboard not found.

    Press to continue.

    That's actually a BIOS error, but the funny thing is that it isn't entirely useless. For years I had a malfunctioning keyboard that would generate a no keyboard found error on boot-up but when you pressed a key, the computer would finish its boot-up and would work just fine.

  • by Linker3000 ( 626634 ) on Friday March 30, 2007 @04:50PM (#18549031) Journal
    Hows about triple faulting the 80286 processor to drop out of protected mode?

  • by Rob the Bold ( 788862 ) on Friday March 30, 2007 @05:32PM (#18549597)

    That is because the IEEE standards for floating point values is the biggest and most prolific bug in software today.

    Don't like it? The best thing about standards is that there are so many to choose from.

    I've worked at a place where someone way-back-when decided that the widely-used IEEE floating point standards weren't good enough, and rolled his own. Mostly like the usual floating point, but with the number of bits assigned to exponent and mantissa "tweaked" to his liking. Unfortunately, one of the most useful things you can do in an embedded data logger is to share your data with the rest of the world -- requiring a conversion to a more "standard" standard.

    I don't know what your beef with IEEE floating point is, but there's something to say for a standard form of expression. I'm guessing that you would want some info stored regarding the precision and accuracy of the value recorded. That would be nice. It would also be nice if everyone using floating point values understood those concepts in the first place. And if I had a million dollars.

  • Re:buffer overflow (Score:3, Interesting)

    by megaditto ( 982598 ) on Friday March 30, 2007 @05:41PM (#18549713)
    It is insightful.

    Reminds me of a buffer overflow in a cheap consumer router http://en.wikipedia.org/wiki/WRT54G [wikipedia.org]

    You could then use this bug to get rid of the crappy pre-installed firmware and load your own copy of linux (which gave you an industry-grade router for under $40).

    This same bug was later used to force Lynksys to comply with GNU GPL.
  • by Coryoth ( 254751 ) on Friday March 30, 2007 @06:13PM (#18550097) Homepage Journal

    As a mathematician, I'm always surprised by people who think that 4 and 4.0 should not be equal.
    Really? As a mathematician I can see a valid reason to find a difference. It is reasonable to assume that 4 represents the natural number 4, while 4.0 is referring to the real number 4.0000..., which are clearly, mathematically, quite separate objects. Sure, there exists a canonical injection of N into R that allows for identification of the objects in question if you choose to apply it, but strictly R and N are quite distinct: for instance there exists a complete and consistent axiomitization of R, while Goedel demonstrated that no such axiomitization of N exists. There is, actually, a natural quality to type theory in mathematics, particularly when working in terms of Category (and specifically Topos) theory. While type theory might have been something Russell was initially forced into to escape paradoxes when writing Principia Mathematica (that's right, type theory was originally developed for mathematics, and had nothing to do with programming), mathematicians have increasingly come to view it as a natural approach that allows one to tease apart the more subtle philosphical quandries at the heart of mathematics.
  • by zippthorne ( 748122 ) on Friday March 30, 2007 @06:35PM (#18550345) Journal
    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."
  • by cgibbard ( 657142 ) on Friday March 30, 2007 @07:01PM (#18550643)
    Indeed, as a mathematician, I would never write 0.5 when I meant 1/2. While they're the same number, the former hints at an approximation, while the latter is certainly exact. I tend to use the convention that finite decimal expansions are treated as approximations unless otherwise noted. Of course, they almost never come up anyway, so it's a bit of a moot point. If I really wanted to write down 1/2 as an exact decimal expansion for some reason, I'd write either 0.5000... or 0.4999...
  • by internewt ( 640704 ) on Friday March 30, 2007 @07:43PM (#18551067) Journal
    F29 Retaliator on the Amiga.... A flight sim of sorts, where if you ejected from the plane then you could still control the plane. So fly north, eject, and you could then see the plane being flown in the background as the camera watched your dude parachute to the ground. Of course, the fun thing to do was to turn the plane around and try to fly it into yourself!
  • by Sloppy ( 14984 ) on Friday March 30, 2007 @08:22PM (#18551453) Homepage Journal

    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.

  • by Anonymous Coward on Friday March 30, 2007 @08:57PM (#18551737)
    For obvious reasons, I'm posting anonymously.

    It is especially dangerous when the wet-behind-the-ears guy is not a programmer but an admin holding root access to many essential machines. My college's servers were working perfectly until this new admin came about and start to break things in the most interesting and unexplainable ways. I've seen mail servers went down during working hours just because he decided it's time to upgrade it. And, predictably, he broke it. For a week. To make it even better, somehow he got around to delete all mails that were collecting during that week (presumably because he saw that some directory suddenly grow in size) and didn't have any backups. Why in the hell he upgrade the mail server without learning how it works in the first place is beyond me.

    After that ordeal, one by one the system went wrong. DNS, file server, etc you name it. Home directories containing backups would mysteriously disappear (and not coming back). Passwords got reset. Internal network became dog slow. Things got so weird that most of us in our lab decided not to trust the system anymore and have our own backup and DNS servers. Me and some of my colleagues removed ourselves from the Windows domain in the off chance that he might break our workstations accidentally.
  • I dunno about that (Score:3, Interesting)

    by localroger ( 258128 ) on Friday March 30, 2007 @09:23PM (#18551933) Homepage
    Knowing 'Accuracy', 'Precision' and 'Proper Use Of Units' like the back of your hand will help you in any career.

    While I take your point, I just drove back from a chicken plant today and I dealt there with a number of people much older and more experienced than me and making a hell of a lot more money, and I seriously doubt that any of them would have had their careers enhanced by knowing more about those things you mention. In the few instances where those things become important they just hire people like me to sort it all out, and even that doesn't happen very often. (Of course these same people have a "seat of the pants" knowledge of their industry that would blow away most engineers trying to learn what they do from scratch, but they can't quantify or justify a lot of their knowledge in the sense that a scientist or engineer can.)

  • Re:The best (Score:5, Interesting)

    by arth1 ( 260657 ) on Friday March 30, 2007 @11:29PM (#18552753) Homepage Journal
    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.
  • Re:The best (Score:3, Interesting)

    by Bat Country ( 829565 ) on Saturday March 31, 2007 @12:02AM (#18552899) Homepage
    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.
  • by drfuchs ( 599179 ) on Saturday March 31, 2007 @02:21AM (#18553499)
    In 1977 or so, the "cc" compiler on official Bell Labs Unix for the PDP-11 would automatically detect an infinite loop in your program by actually going into an infinite loop itself while compiling! Quite the feature. It turned out to be due to a simple optimization it was attempting to do: Any branch (conditional or unconditional) to an unconditional branch instruction would have its target changed to the target of the later; repeat until the branch no longer targeted an unconditional branch. So, any chain of branches that cycled back on itself would cause the optimizer to eventually reduce the first one to "here: goto here" and subsequently loop forever, chasing its own tail.
  • Re:The best (Score:3, Interesting)

    by Xiaran ( 836924 ) on Saturday March 31, 2007 @09:07AM (#18555001)
    Some years ago I was working on a windows app I had developed in something of a rush(it was for a particularly valued customer and they needed it yesterday). Once I got a pretty stable version going and installed on site I went back to do a bit of cleanup and search for all the bugs I knew were probably lurking in there :) One very minor thing(I thought at least) was that the main form of this app had a bunch of edit boxes and some of the tab ordering was wrong... that is hitting the tab key sent focus to odd edit boxes... I fixed it to be sane and went on to fix a few more things. About 3 weeks after Id got it into the clients site I told them I had a fixed version(to fix a few of the bugs *theyd* discovered as well) and did a patch. I got a panicked phone call after about 2 mins from a poor woman pleading to fix the tab ordering. Turns out she had been doing data entry for the three weeks and her brain had adapted to my random tab ordering :)

    As these people were our only clients for that subsystem I changed the tab order back to what it was with big comments as to why it was done this way. Ive often wondered if it ever got changed back... or were there other users of this software somewhere in the world wondering wat kinda crack the programmer was on when s/he chose the tab ordering...

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...