• TarquinWJ (unregistered)

    I wrote this coment while you were moving your mouse

  • b0ttomfeeder (unregistered)

    Please move your mouse rapidly from side to side so the rest of this comment can be loaded.

  • AF (unregistered)
    At this rate, TaxQuik will hopefully have a Windows Vista version by 2012.

    Fair enough. Isn't that when people are going to start buying Vista?

  • AF (unregistered) in reply to AF
    AF:
    At this rate, TaxQuik will hopefully have a Windows Vista version by 2012.

    Fair enough. Isn't that when people are going to start buying Vista?

    Somebody reads too many blogs and too few forums, I see.

  • Yo, Da! (unregistered)
      -------
       \   /
        \ /
        / \
       -----
      /     \
     ---------
    

    ...gives a whole new meaning to the hourglass cursor ;)

  • Meh (unregistered)

    So if you never move your mouse will it update?

  • garyman99 (unregistered)

    Hah, I believe I know this application and did support for it for a year or so. If I am correct, this is the same software that to reset the admin password, you go to the install directory and rename a file from pwd.new to pwd.exe and run it. Not that it much matters because the password encryption took all of 30 minutes to crack. Way to go "TaxQuik"!

  • Anonymously Yours (unregistered)

    They should have put it in the code for when the "Any" key is clicked. Most users couldn't find it on their keyboards back then.

  • Anonymous (unregistered)

    Core business logic in a MouseMove event? Oh, but this is just priceless! Just when I was thinking that TDWTF had fallen into an endless loop of XML abuse and switch statements with duplicate case logic, finally we have something new and wholly frightening to behold. Thanks very much for this gem.

  • NakedJaybird (unregistered)

    Please stop moving your mouses! I am trying to get some work done!

  • (cs)

    That's the best one for ages. I haven't gone "W-T-F!!!" quite that loud for some time.

  • Ryan (unregistered)

    And here all those people who say shaking their mouse back and forth makes the sand fall quicker in the hour glass were actually on to something.

  • Loren Pechtel (unregistered)

    I'm going to sue!

    My jaw dropped so hard it broke when it hit the floor!

  • Earl Colby Pottiger (unregistered)

    Why does this sound like something an old Mac programmer would who was use to Apple's co-operative multitasking?

    If I remember right Tasks/Processes were switched when mousemove() was inquired so a smart programmer would either call the mouse function less often to speed up their code or add code to the mouse movement functions so as to get move of the time time-slices.

    Or am I just full of #$^%^ and this is just bad logic/programming from day one?

  • (cs)

    Support for previous versions? Man, did they ever pull a 180 on that one.

  • Aris (unregistered)

    You should take into account the fact that in 1996, almost no one really knew how to code good GUI code, since good gui frameworks did not exist (and the documentation). The guy applied what looked like a correct thing in a DOS environment (doing business logic in keypressed handlers, since it was when a key was pressed that you launched it - no threads, no message passing, no OO framework).

  • G (unregistered) in reply to Earl Colby Pottiger
    If I remember right Tasks/Processes were switched when mousemove()...

    You recall somewhat correctly. There was a discrete system call you made to allow other apps to run GetNextEvent(); . It wasn't just to get mouse events, but any system/user event such as being alerted to redraw a window, display a menu or deal with a new volume that was mounted. When you called this the OS would allot time for other apps to run. You could manipulate how often you app performed that system call to alter how much runtime you got.

  • (cs)

    Wait a minute, don't some of the new phones perform actions based upon movement input (thing about that commercial where they shake the phone to pick the next restaurant)...

    These folks were way ahead of their time!

  • Matthew (unregistered) in reply to garyman99
    garyman99:
    Hah, I believe I know this application and did support for it for a year or so. If I am correct, this is the same software that to reset the admin password, you go to the install directory and rename a file from pwd.new to pwd.exe and run it. Not that it much matters because the password encryption took all of 30 minutes to crack. Way to go "TaxQuik"!

    Heh, 30 minutes to crack is nothing. I once worked with a financial/CRM application based on Paradox for DOS. The Paradox files were supposedly encrypted for security. I needed to get at the raw data without the application to run some reports but the vendor wouldn't give us the password. Turns out that the version of Paradox they used has a serious hole in its encryption that allows one to simply bypass it. You don't even need to crack the password.

    Although none of the "legit" WIndows programs i could find would use the hack. They always asked for the password. Then I found a Linux library that would happily just open the files regardless of whether "encryption" turned on for the files or not.

  • (cs) in reply to Earl Colby Pottiger
    Earl Colby Pottiger:
    Why does this sound like something an old Mac programmer would who was use to Apple's co-operative multitasking?

    If I remember right Tasks/Processes were switched when mousemove() was inquired so a smart programmer would either call the mouse function less often to speed up their code or add code to the mouse movement functions so as to get move of the time time-slices.

    Or am I just full of #$^%^ and this is just bad logic/programming from day one?

    No, I think you're right. Windows 3.X used a similar "co-operative" (i.e. non-preemptive) multiprocessing model as well. This kind of system often forces programmers to shoehorn ongoing activities into loops and events where they're conceptually out-of-place.

    I think Windows 95 (and Windows NT, for a few of us) introduced preemption and threading, which is designed to address this kind of issue.

    When I ran the first edition of XP, it felt eerily like using Win3.1. I don't think they brought back cooperative multitasking, but I think they went overboard with aggressive thread locking to fix some bugs and perhaps to achieve easy determinism for some of their new code.

    Since then, things seemed to have improved. Windows seems less likely to arbitrarily let a single thread lock the whole message system. But at times, especially under that first edition of XP, it was deja-vu-all-over-again.

  • Soviut (unregistered) in reply to Anonymous
    Anonymous:
    Core business logic in a MouseMove event? Oh, but this is just priceless! Just when I was thinking that TDWTF had fallen into an endless loop of XML abuse and switch statements with duplicate case logic, finally we have something new and wholly frightening to behold. Thanks very much for this gem.

    The XML abuse, case abuse, and other code-related issues are always put in the CodeSOD. If you don't like them, then just read the Feature Articles instead, listed in the Content box on the left. Likewise, you can just ignore any CodeSOD articles that have a red header on the main page.

    That said, I know you're not stupid, just don't complain in feature articles about codeSOD's being repetative.

  • Marc B (unregistered)

    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

  • some coder (unregistered) in reply to b0ttomfeeder
    b0ttomfeeder:
    Please move your mouse rapidly from side to side so the rest of this comment can be loaded.

    nothing is happening. it must be the damm Interweb again...dialing IT

  • mdh (unregistered)

    Heh, WordPerfect 8.1 for Windows had similar issues. In 1998 I did some testing for a University, and if you ran WordPerfect off an NFS share (NFS on Windows!), it gave forth a hideous spurt of network traffic when you moved the mouse. We eventually got a patch for it, but it caused all sorts of grief in the meantime. I never did find out exactly what the WordPerfect developers had done.

  • Nerf Herder (unregistered) in reply to Marc B
    Marc B:
    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

    HA - that does remind me of some application I just used a few weeks ago. I think maybe its Putty to generate an SFTP key. To create a "more random" key you have to move the mouse back and forth like a crazy person. The fast you do it the faster the status bar goes.

    Anyone know what I'm talking about? I think its Putty....

  • (cs) in reply to Nerf Herder
    Nerf Herder:
    Marc B:
    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

    HA - that does remind me of some application I just used a few weeks ago. I think maybe its Putty to generate an SFTP key. To create a "more random" key you have to move the mouse back and forth like a crazy person. The fast you do it the faster the status bar goes.

    Anyone know what I'm talking about? I think its Putty....

    That's not a WTF. The mouse movements are used to add entropy.

  • Bruce W (unregistered)

    Here's another tidbit from the "TaxQuick" saga -- the installation was crap. It overwrote several system ODBC DLLs basically making any other program that used die. DLL Hell to the max!

    I did get to do my taxes for several years for free, though. The tax calculations were perfect despite the rest of the system being a mess.

  • PK (unregistered) in reply to Nerf Herder

    BlackBerry Desktop software requires you to shake the mouse to generate an encryption key.

  • (cs) in reply to Anonymous
    Anonymous:
    Core business logic in a MouseMove event? Oh, but this is just priceless! Just when I was thinking that TDWTF had fallen into an endless loop of XML abuse and switch statements with duplicate case logic, finally we have something new and wholly frightening to behold. Thanks very much for this gem.

    It was 1995. The latest buzzword was probably ".ini file" or something

  • Squitz (unregistered) in reply to operagost
    operagost:
    Nerf Herder:
    Marc B:
    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

    HA - that does remind me of some application I just used a few weeks ago. I think maybe its Putty to generate an SFTP key. To create a "more random" key you have to move the mouse back and forth like a crazy person. The fast you do it the faster the status bar goes.

    Anyone know what I'm talking about? I think its Putty....

    That's not a WTF. The mouse movements are used to add entropy.
    Mouse movement is used by Putty-gen to provide some randomness to make the key unique. It is a well known fact that user generated mouse movements are the second most random event in the world, right below brownian motion in tea, and right above the brownian motion in fake tea.

  • foobar (unregistered)

    No, that's not something a Mac programmer would do -- GetNextEvent returned immediately if there was no pending event, allowing you to do any "background" processing you needed. WaitNextEvent, however, did not (for obvious reasons). The proper way of doing things was to call GetNextEvent in a loop, process the event, and then at the end of the loop do your background processing before looping back to GetNextEvent again.

    These days, of course, it's completely different, as Mac OS X is based on BSD UNIX, supports preemptive multitasking with threads, and any new programs are implemented using Cocoa...

  • Wyrd (unregistered)

    Maybe someone can come up with something semi-useful, or at least really funny to bury in a mouse_move event. Nah, probably not.

    One thing for sure (hindsight being 20-20) is that those dudes were, in no way, ready to develop for a GUI.

    -- Furry cows moo and decompress.

  • Wyrd (unregistered) in reply to Wyrd

    I promise next time I'll preview before I post.

    -- Furry cows moo and decompress.

  • Trinian (unregistered)

    Hmm, any chance this "TaxQuik" is based out of Bellevue, WA or is this kind of Windows WTF'ery extremely common among tax software companies?

  • Thomas (unregistered) in reply to Squitz
    operaghost:
    That's not a WTF. The mouse movements are used to add entropy.
    Recently, I was asked to move my mouse to generate entropy (or, as the text stated "perform work on the machine"). The program (openssl) then used some data to generate a keypair halfway (I guess it was the character buffer or something), before simply waiting for the mouse to move.

    Unfortunately, I was connected through ssh, with no mouse support. And it made no differense whether or not I logged in to another terminal and ran other programs, it did not count. I ended up generating the keypair on another machine, where I could access the mouse.

  • (cs) in reply to Bruce W
    Here's another tidbit from the "TaxQuick" saga -- the installation was crap. It overwrote several system ODBC DLLs basically making any other program that used die. DLL Hell to the max!

    Bastards. I worked for one of their competitors. One of the programs I worked on kept dying with obscure errors that we eventually traced to a competitor that was overwriting only some of the data access DLLs. We started sending out an installer to fix the problem that was on the CD, but didn't normally run.

    Oh, and changed the data storage code the next year to prevent that happening again. Mind you, the code we wrote is probably itself a WTF...

    I did get to do my taxes for several years for free, though. The tax calculations were perfect despite the rest of the system being a mess.

    Well, yeah. They bear a certain amount of liability if the calculations aren't correct--and even if they don't, if the calcs aren't correct and, when incorrect, aren't promptly fixed, you tend to lose customers in a hurry...

  • (cs)

    Taxquik is people! It's made from people!!

  • Another Funny WP user (unregistered) in reply to mdh

    Hmm, WP X3 on Vista (maybe XP as well, I've only used Vista) also does strange things. (This happened 2007-2008 time frame, keep in mind when you see the server date...)
    While not so much a tied to the mouse movement, if you use their enhanced file dialog and have a slowish server (NT4 SP3 (!), installed March 1999, I was looking into this in Fall 2007) it would take a few minutes to open up any of the folders, longer with the folders with lots of files in them. While I first wanted to blame the machines, using the task manager to view CPU and network usage showed nothing of note. If you didn't use their enhanced file dialog(meaning standard windows) it worked fine. Faster server fixed the amount of time it took to bring up the enhanced file dialog, confirming that it was something to do with the server.

    Reason for wanting the enhanced file dialog? The secretaries wanted preview since they use names like 'LTR-BOB.wpd', 'LTR-BOB2.wpd', 'LTR-MARY.wpd', 'LTR-MARY2.wpd'. Yes, entirely useless if you are looking for a file based on the name alone and have mailed someone several letters. And did I mention they had a LTR folder had a few hundred files in it, almost all of them named in this fashion? (Law office, you would think there would be some useful structures since almost every client has a physical folder with stuff stuck in it for that particular case(meaning if they had a real estate transaction and a will, they got different folders). They just don't seem to be able to apply this to computers)

    On my todo list is teaching file and directory naming, maybe directory structures.

  • Dazed (unregistered) in reply to Aris
    Aris:
    You should take into account the fact that in 1996, almost no one really knew how to code good GUI code, since good gui frameworks did not exist (and the documentation).

    OK ... I've taken it into account. And this is still a WTF. I wrote some Windows GUI stuff back in 1993/94. While I would never claim that what I wrote then was good, it at least worked, and I'm damn sure I'd have said "WTF?" if someone had suggested I put business logic in a mouse-move event.

  • Nerf Herder (unregistered) in reply to operagost
    operagost:
    Nerf Herder:
    Marc B:
    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

    HA - that does remind me of some application I just used a few weeks ago. I think maybe its Putty to generate an SFTP key. To create a "more random" key you have to move the mouse back and forth like a crazy person. The fast you do it the faster the status bar goes.

    Anyone know what I'm talking about? I think its Putty....

    That's not a WTF. The mouse movements are used to add entropy.

    I didn't say it was a WTF. I just said his post reminded me of Putty.

  • (cs) in reply to Vechni
    Vechni:
    Taxquik is people! It's made from people!!
    No, it's made from chocolate-addicted bunnies who inhale it through straws.
  • OliverWhite (unregistered)

    Obviously Mac PowerPlant developers would know the real way to solve this issue was via an LPeriodical.

  • (cs) in reply to Aris
    Aris:
    You should take into account the fact that in 1996, almost no one really knew how to code good GUI code, since good gui frameworks did not exist (and the documentation). The guy applied what looked like a correct thing in a DOS environment (doing business logic in keypressed handlers, since it was when a key was pressed that you launched it - no threads, no message passing, no OO framework).

    You don't need good frameworks to write good GUI code. Granted these guys didn't have a clue...

    As for key presses, if what you said is correct, then the code should have been done during the mousedown event. This is like running business logic while the Shift key is pressed.

  • Bob (unregistered) in reply to Nerf Herder
    Nerf Herder:
    Marc B:
    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

    HA - that does remind me of some application I just used a few weeks ago. I think maybe its Putty to generate an SFTP key. To create a "more random" key you have to move the mouse back and forth like a crazy person. The fast you do it the faster the status bar goes.

    Anyone know what I'm talking about? I think its Putty....

    Linux uses the mouse movements to populate "/dev/random". It must be some Linux program that uses /dev/random to generate sftp keys. I don't think it is Putty as that is a Windows program.

  • sagaciter (unregistered) in reply to b0ttomfeeder

    Sadly, I don't think TaxQuik is the only company to have the feature of using mouse sliding to process. I've run across several programs that stop processing altogether if the mouse stands still. Try watching a video that plays exactly as fast as you move the mouse around.

  • convicted felon (unregistered) in reply to Bob

    Uh, it's putty. An SSH client is responsible for generating its user's private key. Putty is an ssh client. And it uses mouse movement for its entropy.

  • csm (unregistered) in reply to operagost
    operagost:
    Nerf Herder:
    Marc B:
    Too bad they didn't tie Visual Studio's compiler code to the joystick. I could be sitting here right now playing Call of Duty so my code would compile.

    HA - that does remind me of some application I just used a few weeks ago. I think maybe its Putty to generate an SFTP key. To create a "more random" key you have to move the mouse back and forth like a crazy person. The fast you do it the faster the status bar goes.

    Anyone know what I'm talking about? I think its Putty....

    That's not a WTF. The mouse movements are used to add entropy.

    Even better, they should make it so you can yell gibberish into the microphone while it's generating the key. I could have a lot of fun with that.

  • Nicholas Sherlock (unregistered) in reply to Thomas
    Thomas:
    Recently, I was asked to move my mouse to generate entropy (or, as the text stated "perform work on the machine"). The program (openssl) then used some data to generate a keypair halfway (I guess it was the character buffer or something), before simply waiting for the mouse to move.

    Unfortunately, I was connected through ssh, with no mouse support. And it made no differense whether or not I logged in to another terminal and ran other programs, it did not count. I ended up generating the keypair on another machine, where I could access the mouse.

    Bearshare (if that program still exists) does this right: You can add entropy through any combination of mashing the keyboard and wiggling the mouse.

  • dag (unregistered) in reply to Ryan
    Ryan:
    And here all those people who say shaking their mouse back and forth makes the sand fall quicker in the hour glass were actually on to something.

    A program I was recently working on appeared to be doing exactly that: a progess bar was updated from an OnIdle function. If you moved the mouse, more OnIdle events were being generated hence the progress bar would be updated more often...

  • SteveCody (unregistered) in reply to Ryan
    Ryan:
    And here all those people who say shaking their mouse back and forth makes the sand fall quicker in the hour glass were actually on to something.

    In the old days of Win3 and 95 you COULD make a page scroll faster by wiggling the mouse. Just start a selection and drag to the bottom of the screen where upon the page will start to scroll up. Drag past the bottom of the document window and start wigging. Voila! Faster scroll.

    I can do it on my current XP machine by opening a largish document and clicking the middle mouse button (to get that scrolly thing that nobody actually uses). Move the mouse just down from the click point and the window contents should start to scroll slowly. Wiggle the mouse from side-to-side and the scrolling speeds up. Stop wiggling and it slows down again.

    I would post a screen shot but I don't have a wooden table handy.

Leave a comment on “Hidden Tax Moves”

Log In or post as a guest

Replying to comment #:

« Return to Article