Live data from Hacker News

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

support.microsoft.com

151–160 of 168 posts

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

#151
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.

There are some advantages to COM, in that having a standard, somewhat introspectable notion of what an object is and what its lifetime is helped Firefox add cycle collection several years ago. (By contrast, leaks are harder to avoid in WebKit and Blink, because there is no cycle collector, at least until Blink lands Oilpan.)

I think COM's biggest sin was doing all this stuff without language support. It's just not sensible to graft interfaces and automatic memory management onto C without modifying the language. Objective-C is basically a slightly more duck typed COM, but it's not nearly as reviled because the object model is so deeply integrated into the language.

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

#152
post #106

Earlier quoted context omitted.

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.

Okay come on. It's not like this is a ridiculously common use case. Plus there are 2 other workarounds.

If you're playing with Oracle data that often, you're probably an enterprise customer who's going to buy the next version anyway.

It's not like this was happening every time you wanted to save or copy/paste data.

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

#153
iOS has a similar (some may say the opposite) problem, especially when setting up notification-based APIs and and app which expects a notification to happen within a certain period of time (ie a user needs their location now to complete an action, say a social post with location). Sleeping won't work, nor will waiting on another thread work because there has to be activity on the main thread for the main runloop to execute. What works is looping until timeout by sleeping for a few ms and then running the main thread's run loop explicitly. Gross but it works. Otherwise, the location notifications never arrive. Such is the downside of cooperative multitasking.

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

#154
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. Introduction of OLE/COM interprocess communication mechanism made things worse as one unresponsive application could block other programs and halt their message loops. But it was quite efficient and you di…

> 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…

In that case I look forward to the lisper UI toolkit, which stays responsive when application code stalls on a UI thread. I'll bet it goes well with the lisper dynamic linker, which I hear completely isolates me from bugs of code living in the same address space.

Kidding aside, I can't help but think that you keep going back to that "clearly the mutex is broken" analogy I mentioned earlier. If I read you correctly, it doesn't matter if the Oracle code is breaking the rules set out by the MS documentation, Microsoft should account for all possible bugs past, present and future and prevent them. Seems like that's asking a lot. The other platforms I've worked with don't seem to satisfy this either.

What bothers me more, though, is how preemptively dismissive you've been about Win32 while showing something of a lack of knowledge on how it works. I don't think Win32 is perfect. (Ask me about filesystem behaviors some time.) At the same time I have gotten to know it and can appreciate areas where it works well. I would also hope that before making the kinds of comments you are making about any platform, I'd get to know the framework a bit better first.

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

#155
post #149

Earlier quoted context omitted.

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 introdu…

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

Yes. If you're going to chastise people based on what year it is, you damn well better be right about what year it is.

> OS X was introduced in 2001, and it could run OS 9 applications

OS X booted a modified copy of OS 9 to accomplish that. It didn't fix anything about OS 9. It also wasn't present on Intel Macs, nor on Leopard, the last PowerPC-compatible version of OS X. Nor was it fully compatible -- I always had trouble with it, and have kept older System 7 and OS 9 Macs around rather than put up with it.

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

#156
post #152

Earlier quoted context omitted.

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

Okay come on. It's not like this is a ridiculously common use case. Plus there are 2 other workarounds. If you're playing with Oracle data that often, you're probably an enterprise customer who's going to buy the next version anyway. It's not like this was happening every time you wanted to save or copy/paste data.

I agree it's not a very relevant problem that didn't affect too many people. Still, it shows a pretty lame bug (that is, if the Oracle folks did their job correctly). In 1997 it was already usual to offer updates through the internet.

It's still kind of embarrassing.

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

#157
post #78

Earlier quoted context omitted.

It's a sign we're having trouble in handling the complexity of our computer systems. Programming is mostly human-mind-bound now (and has been for many years); we need better tools and better abstractions.

I think we need to remove that complexity and find a simpler approach to things, not just "better" (more complex) tools to layer even more complexity on top of complex.

Agree completely. I think that contemporary CS education is really responsible for this "more complexity is better" mentality, by encouraging overly general and abstracted solutions, and that abstraction should really be applied only when it's necessary and not as a "just because we can" thing.

Aspiring programmers could learn a lot from the demoscene, where astonishingly impressive things are done with very little code and complexity.

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

#158

Earlier quoted context omitted.

In your experience, is OSX or Linux graphical software any better? Genuinely curious. I feel like interface freezes happen on all major platforms, and always assumed it had more to do with the applications than with the platforms. I mean, writing interfaces that never block is a lot more work. But I don't have a lot of cross-platform experience to know if some platforms make it easier than others.

Not in my experience. I use IntelliJ IDEA (and previously used Eclipse) on OS X and Linux on a daily basis. Anytime they start indexing or re-indexing a huge code base in a "background" thread, they end up locking the machine to varying extents. Linux is not as bad, as it only tends to lock up instances of the offending application... But that maybe because the Linux PC is a beefy workstation. OS X is on a much less…

I stopped getting spinning beachballs when I upgraded to an SSD. OS X, especially pre-Mavericks is a real RAM hog. Java GUI apps have a reputation of being even worse RAM hogs. I wouldn't be surprised to find your spinning beach balls are from swapping to disk.

The only Java app I use is BucketExplorer though, which isn't very heavy.

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

#159
post #83

An aside of historical trivia: On an Amiga 1000, you used to be able to wiggle the mouse "too fast" and cause the machine to crash with its infamous "GURU MEDITATION ERROR"[1]. 1. http://simhq.com/forum/files/usergals/2013/02/full-4656-5091...

I wrote an ncurses frontend to the the ticketing system used at a job one time. One of the users complained that if they resized their terminal window rapidly, larger and smaller, that is would crash. The fix was telling them to stop doing that. :)

I guess both of these were related to nested interrupts somehow?

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

#160
post #48

Oh, so this actually works? How wrong I was all those times I scoffed at people moving their mouse around while waiting for a program. On a related note : isn't it interesting how this meme (mostly a placebo) traveled to the majority of computer users in a pre-internet age?

Back in the day, there was a windows based IDE/simulator for the PIC 8-bit microcontrollers. The simulation ran much (2-5 times?) faster if you wiggled the mouse. Someone wrote an app to send fake mouse events to the simulator window.

Haha, that's awesome.
Post reply on HN