Live data from Hacker News

If you move your mouse continually the query may not fail. Do not stop moving

support.microsoft.com

141–150 of 168 posts

Re: If you move your mouse continually the query may not fail. Do not stop moving

#141

How does this work? What makes mouse movement relevant to this... this is computers, not magic.

It's probably running out of entropy. If windows is anything like Linux, it will use certain random events like mouse movements, keystrokes, boot time etc. to generate randomness.

Probably not in this case. Windows' RNG does not block when it runs low on entropy. AFAIK only Linux does that. And the task is a database query so probably does not use the RNG.

But yes, I have seen a similar case involving linux /dev/random - the user reported that outgoing emails were sometimes delayed for hours and that moving a mouse over a VNC window would sometimes speed it up. I did not believe that at first, but it was exim4 running out of entropy when generating TLS session keys. Worse, it was on a VPS with about 20 exim4 processes competing for the entropy.

Re: If you move your mouse continually the query may not fail. Do not stop moving

#142

Earlier quoted context omitted.

I remain convinced that C++ warps peoples minds into things like this :-). I'll go out on a limb and say that pretty much ALL of those things are horrible.

XPCOM is... yeah, it's pretty bad. Writing a Firefox plugin vs. writing a Chrome plugin is darkness vs. light.

Firefox has a new (well, it's at least a couple years old now) system that makes writing plugins not quite so painful:

https://developer.mozilla.org/en-US/docs/Jetpack

Re: If you move your mouse continually the query may not fail. Do not stop moving

#143

Earlier quoted context omitted.

The customer? didn't you mean the developer? The dumbest customer will guess that a "solution" like that from support can only come from a design that sucks. If it were a refrigerator instead of a spreadsheet it would be like support telling you that you have to keep petting the door of your refrigerator to keep it cooling. Who is the crazy there?

I agree - but the simile is a bit exaggerated. It's more like having to tap the lever a bunch for a couple of seconds on a toaster to make it make toast when it should work the first time you interact. Annoying but also short-lived and not really worth replacing the device.

Or having to jiggle the toilet handle after flushing, a common problem that many live with.

Re: If you move your mouse continually the query may not fail. Do not stop moving

#144
post #97

Earlier quoted context omitted.

Or baking your laser printer in the oven: http://h30434.www3.hp.com/t5/Other-Printing-Questions/Has-HP...

Reflowing stuff in an baking oven seems to be an increasingly common method of fixing electronics. Hell, my friend reflowed an RF dongle for TI Chronos watch with a heat gun the other day.

Xbox 360 towel trick, anybody?

Re: If you move your mouse continually the query may not fail. Do not stop moving

#145

Earlier quoted context omitted.

I agree - but the simile is a bit exaggerated. It's more like having to tap the lever a bunch for a couple of seconds on a toaster to make it make toast when it should work the first time you interact. Annoying but also short-lived and not really worth replacing the device.

Or having to jiggle the toilet handle after flushing, a common problem that many live with.

That's a simple fix, though; you just shorten the chain between the flush handle and the flapper by a link or so.

Re: If you move your mouse continually the query may not fail. Do not stop moving

#146
post #106
post #90

Earlier quoted context omitted.

Whats crazy is Microsoft believing this is an acceptable solution rather than fixing/patching it.

They don't. It's listed as a workaround. The fix is Excel 2000.

The crazy part is they made you pay for the fix. Therefore, it was considered acceptable behavior for Excel 97.

Re: If you move your mouse continually the query may not fail. Do not stop moving

#147

Earlier quoted context omitted.

As much as I make fun of java developers for over complicated solutions, I've never quite seen anything as over-engineered and byzantine as COM. I remember at my last job we had legacy COM objects that inherited from about 5-7 different templated objects, and that was... normal. COM is the worst. I actually like windows as a user, but I'm amazed that it won as much developer mindshare as it did considering how much t…

But COM has been adopted by Linux world too, and renamed to Bonobo. In fact, if you throw away all VB-specific stuff, COM and its C++ implementation is a great programming exercise and is imho quite elegant.

"The VB stuff" is pretty much all you get when you work with MS-Office.

Don't know that I'd call COM "elegant", but you could probably do worse for a language-agnostic object system. Funny enough, I never really "got" COM until I sat down and read up on Bonobo. Someone had a really accessible explanation for Monikers that would've saved me so much hair-pulling if I'd had anything similar for the Windows equivalent.

Re: If you move your mouse continually the query may not fail. Do not stop moving

#148
post #104

Earlier quoted context omitted.

Similar to COM, are (beside OLE, DCOM, ActiveX) Gnome's "Bonobo" (component model) [1], KDE's KParts, Mozilla's XPCOM and CORBA. Apple choose KHTML over Gecko for it's Webkit fork [2] because of the various cons of such component models. [1] Bonobo is officially deprecated: http://en.wikipedia.org/wiki/Bonobo_(component_model) [2] http://en.wikipedia.org/wiki/XPCOM

I remain convinced that C++ warps peoples minds into things like this :-). I'll go out on a limb and say that pretty much ALL of those things are horrible.

Pretty certain COM was designed with C in mind, maybe C++ as an after-thought. The differences between C++ objects and COM objects are severe enough to make it not really a lot of fun unless you limit yourself to C-like behaviors anyway (or use Microsoft's dandy language extensions to generate a crapload of boilerplate for you).

Re: If you move your mouse continually the query may not fail. Do not stop moving

#149
post #131

Earlier quoted context omitted.

> You overlooked the fact that programming model of windowed/GUI applications is quite complex and very sensitive to non-cooperative code - a thread that frequently blocks for 100 ms can cause very unpleasant hiccup. No, I didn't overlook this. But this is 2013. IMO, a multitasking architecture that is "sensitive to non-cooperative code" ought to be considered broken, and so if that's the cause of this problem, that…

It's now 2014, actually, and you're talking about a problem from 1997, in an OS where backwards compatibility has been an extremely high priority since the 1980s.

> It's now 2014, actually

Is that really the kind of discussion you want this to be?

> you're talking about a problem from 1997,

The last revision of the article is 2002. But your point is well taken. I had assumed this was a current issue. (Maybe it is. I don't have time to dig into those details right now.)

> in an OS where backwards compatibility has been an extremely high priority since the 1980s

OS X was introduced in 2001, and it could run OS 9 applications, so these kinds of problems can be solved if a company decides it is worthwhile to solve them.

Re: If you move your mouse continually the query may not fail. Do not stop moving

#150
post #138
post #92

Earlier quoted context omitted.

I am familiar with the design of message queues, though not specifically with the design of Windows message pumps. > If you violate the run loop's threading requirements it's not totally inconceivable that a mouse event could affect behavior. That's true. But the possibility remains that the design of Windows message queues is so byzantine and imposes so many arcane requirements on the developer that it is easy to mi…

It looks more to me that there's some problem with the background polling mechanism in the app, as implied by solution #1. Presumably something in the mouse event handler does something that prods the polling code into life, perhaps because something somewhere is trying to update the list of things on screen in order to handle hovering. Kind of hard to say without looking at the code, though... (The Windows message q…

That sounds like a very plausible theory.
Post reply on HN