Complete Crash or Engine Hang: which is better?

Mark Smith marksmithhfx at gmail.com
Thu Apr 29 06:28:41 EDT 2021


Rants aside, here’s an odd pasting issue I ran into the other day. To cut to the chase, basically I can make a field become unmodifiable with respect to TEXT parameters (excluding align) by pasting anything from Apples TextEdit tool into the field. Is that just something quirky in my setup or do others have the same problem? I’ve also tried with Atom and did not see the same problem… 

Sorry to hear of all your crashes and hangs Curry. I suspect you are exercising LC a lot more vigorously than I am as a crash a year is a surprise to me (excluding working with DG’s where one has to tip toe cautiously to avoid “breaking” the grid. I guess that would be considered a hang).

Mark


> On Apr 29, 2021, at 9:31 AM, Curry Kenworthy via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> 
> (Full disclosure: Testing a "Cheerful Rant" format to see whether employing some humor is more effective when letting off steam, and hopefully even slipping a bit of common sense past politically-correct radars under the cover of attempted wit. We'll see how this fares, compared to the Standard Angry Rants and reflexive Community Defensive Reactions that we see every couple of weeks when people "Chimp Out" after a nasty ground-and-pound session with lovely LiveCode bugs! Trigger warning: may or may not induce mild chuckling, or in adverse cases traumatic Frontline Flashbacks to your bug battle days with intermittent seizures and a nasty full-body rash.)
> 
> So...first to apologize for being less talkative here on the list during the last week: I've been spending some intimate time with one of LC's least-polished and buggiest features. Yep, I'm back on "paste" and related areas! It's a part of LC where you could choose to devote the entire remaining years of your life to the Bug Monkhood, filing thousands of bug reports and feature requests. Or you can file the most important dozen reports, avoid full-time Monkhood, and sum it up as: this area of LiveCode looks only "half-finished." It was a case of Codus Interruptus, apparently.
> 
> More details on that and some other news to follow soon, when I've finished more workarounds, so that I can meet the client deadline and then file the bug reports....
> 
> Meanwhile, here's a dilemma of another sort:
> 
> While working on paste and related areas that seem only half-finished in the LC Engine, I've been luxuriating in the blissful experience of having my coding and debugging interrupted by crashes and freezes. Did I lose any work, you might inquire? Ha ha, that'll be the day! You're talking to a person so save-compulsive that I can't even type a message like this without saving the draft after every sentence. (Save.) LC has trained me well, in the style of Pavlov's mutts. (Save, salivate.) So that's not even a problem.
> 
> No, the trouble is trying to decide whether my all-time favorite should be the Crash or the Hang.
> 
> Both are elegant ways of ending a work session. Yet each has its attractions, and even LiveCode's trusty conditioning hasn't provided me with a clear answer on which is better. (Wait, or has it? Save, salivate, wag.)
> 
> Crashing instantly out to the Desktop is convenient, because you're all set to relaunch LC again with not so much as an extra click. You can relaunch and crash, relaunch and crash, almost as fast as one of those toy monkeys with the cymbals, and with a similar overall appearance.
> 
> After you've done a few repeats, you also get a quicker start on your Cheerful Rant or your bug report. The complete instant crash (as long as the app simply disappears, with no system dialogs) is the epitome of a very clean and crisp user experience; I have to admire the purism. Finally, the nostalgia factor is huge: it really takes me back to LC 1.1.1 and my first days here. ("Hey, where'd the IDE go?") Thus, the winner for classic style might be the Instant Crash. All the Cool Kids do this; you should too!
> 
> However, having the Engine "hang" can provide additional useful clues to the cause of the problem, in around 13% of all cases. That's automatically making lemons into lemonade, as long as your computer monitor was built up-to-snuff in Silicon Santa's third world sweatshops and the helpful clues don't "burn in" to the screen. The Hang also provides much of your recommended daily amount of Task Manager exercise with force-quit repetitions to bulk up mouse-hand and mouse-finger musculature on one side of your body, hermit-crab style. The asymmetric look will be trending any day now.
> 
> Meanwhile your CPU gets an extra workout too, and this provides an excellent test of your OS kernel in throttling and managing out-of-control processes. (Usually that means LC.) This even warms up your laptop on those cold mornings. And when someone asks you "how's it hanging" you can quip a very technical answer with the computer usage stats for that particular bug. ("Yeah my homie, it's hanging around 37% CPU load today.") Altogether, that's a ton of added value; the Hang has a lot of bang for the buck! This is Fat Jolly Giant Panda Buffet of session endings.
> 
> (For some there might be a childish tit-for-tat psychological appeal for the "Hang" in exercising control and closure over deciding when to force LC to quit. However, I would argue that's illusory; force-quit is almost always reactive. LC consistently maintains the iniative. The IDE arbitrarily chooses the moment and the manner to unceremoniously end your workflow, then forces you to take additional steps just to cool down your chip. Your only true choice is whether to relaunch or not. Therefore LC is calling the shots: LC = Pavlov. You're hoping for a little Beefaroni, maybe even a pat on the head: You = mutt. Force-quit, salivate.)
> 
> Therefore...if I had a tiny antimatter emitter pointed at my forehead and some little alien dude was demanding in that I chose one or the other right now, I guess I'd go with the Quick Complete Crash. It saves considerable time and energy over the force quits. That's valuable energy to use for workarounds, bug reports, and the obligatory Cheerful Rant. Plus your hardware may last a bit longer.
> 
> Fortunately, as long as no little alien dude shows up and holds the universe ransom, there's really no need to choose between the Crash and the Hang. As long as you code with LC frequently, and test more of its features, you can have both!
> 
> BTW, Jonathan Swift was completely misguided in his implications, thus correct at face value: indeed cannabilism is preferable to potatoes. Likewise, you can bet every last well-chewed bone of that scrumptious feast on the obvious fact that LC bugginess bears absolutely no relationship whatsoever to LC refactoring or development philosophy, and furthermore that software releases can never be "stable" because that word has been conveniently redefined already. Thus, evil is actually good and necessary, as Eddie Murphy said once in a "sermon" of sorts.
> 
> OK, now that the Cheerful Rant is completed, with only a few dozen anti-humorists and stable-strategic-ambiguists offended (you can't please everyone) back to the workarounds! Indeed the lame humor seemed effective here on my end for stress relief, although I probably caused innumerable casualties and crises around the world with this little experiment.
> 
> Luckily I've found a way of avoiding this particular LC Engine hang - I think - so I'll press on to the next glitchy LC area. Pasting is actually getting pretty good. Nearing the final stretch of this deadline, so I'll be able to start writing recipes and filing bug reports soon, and hopefully these workarounds and improvements will eventually find their way into one of my addons so that others can benefit. That will come after some updates for existing addons, of course. Moving toward a next-gen workflow to facilitate more frequent updates and more commonality between addons....
> 
> Best wishes,
> 
> Curry Kenworthy
> 
> Custom Software Development
> "Better Methods, Better Results"
> LiveCode Training and Consulting
> http://livecodeconsulting.com/
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list