The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Could be an element of truth to that, strange as it may seem.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
Are you sure you write to the right page Ok, maybe my eyes got that bad with the years that I don't realize it... in that case this would be the "natural ad blocker", I think I will copyright that word/phrase
It does not solve my Problem, but it answers my question
Thunderbird (my RSS reader of choice, even though it's a full email client reader and complete overkill for managing RSS feeds) decided on its own to update itself. I really wish, in hindsight, I had taken a screenshot of the message, but after it had updated itself silently, it came up with a prompt saying it needed to restart.
I don't have the exact wording (and thus the reason I wish I had taken a screenshot), but based on my decades of using PCs, it seemed pretty clear it wanted to restart the computer as it pretty much used the standard verbiage we've all seen and perhaps used ourselves. I'm not sure why it would need to restart the whole OS (it's just a self-contained client and should certainly not be replacing shared components), maybe because it couldn't cleanly replace some of its own files while it's running, which is why I usually download and install updates myself rather than let it handle updates on its own...
Anyway. I made sure I had saved everything, shut down a few apps, then went back to Thunderbird to tell it to go ahead. So it restarted itself. And only itself. And was done. No need to restart the whole computer, so...great? But in hindsight, that was a really poorly worded, misleading message.
Not having to restart a computer after an application update should be pretty much taken for granted, so good on them for not making it a requirement. But it's a sad state of affairs when you've been trained to expect full reboots so if a message has any amount of ambiguity, you take for granted your system will be rebooted once again...
Please, if you're going to prompt the user for anything, make sure your messages are clear...
I suppose the opposite situation is even worse...I've seen apps restart the whole system after approving a vague prompt that I didn't realize was about to shut everything down...
Be happy that it's getting better. I'm still amused by things needing to restart unless they're major updates. I could write an article about stuff we had at Nortel when I joined in 1981. The timeline was something like
Modula-like language by 1981
in-service patching by 1981
email similar to what exists today by 1982
software library by 1981 that was synchronized across development sites by 1986
Nortel never saw itself as being in a software business, so they never tried to productize this stuff. If they had, history might have been rather different, because those things weren't commercially available for a long time.
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
perhaps I should upvote this rant for its honesty in not claiming it is sure of its factual basis
Well, if I had taken that screenshot, I could submit it here verbatim and let others share their opinions. But as I said, drawing from decades worth of my own experience, I think others would've come to the same conclusions.
I googled for screenshots and came up empty. I suppose I could load the EXE/some DLLs with a resource editor and look for the exact message, but it's not high enough of my priority list for me to embark on that particular crusade.
There's the problem...if I run the update, there won't be any prompt, because the installer tells you to shut down the running app right away. This is in the case where the app, while running, downloaded and installed the update, and then to complete the last update step(s), needs to restart itself.
I'm not going to reinstall the older version, and then wait for an indeterminate amount of time to just to see if I can get the message back...
Not that I have anything against that, but now I have a problem. I'm preparing to write some code for a 41 year old computer. Without an OS I will never be able to retain all oldschool features and at the same time slightly modernizing the hardware.
The problem is that the old processor has two types of branching instructions: Long branches and short branches. Long branches need three bus cycles to execute and have the full address which is copied into the program counter when the branch is executed.
Short branches take only two bus cycles, but have only the lower half of the address to jump to. This 8 bit address is copied into the lower half of the program counter, the upper half remains the same. This leads to a mild segmentation of the memory for your code, each segment 256 bytes long.
Problems come when your code runs over the boundary from one page to the next in the middle of a loop. You can't loop back to the previous page with a short branch. So I should just use a long branch instead, right? That's the easy way out which compilers like to use. They simply don't use short branches at all and generate long branches instead. Problem solved.
Or not. Of course there may be a performance problem when long branches are used, which take one bus cycle more. That's only a thing in very short loops which are executed very often.
The real problem comes from a different direction. The old graphics chip relies on carefully timed interrupts and DMA to get its video data for every frame. The one extra bus cycle when the video interrupt comes during the execution of a long branch causes the graphics to fall apart for the following frame. If the code is full of long branches, you don't get to see very much at all, because that happens all the time.
Now, how do I get the compiler to generate long branches only if it finds no other way. Relocating the code is the linker's job and not code generation. And I don't see any efficient way how the linker can stitch the code together in the optimal way to avoid loops running over page boundaries other than building a tree of solutions and then taking the one with the least problems. That's going to be slow.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
Last Visit: 24-Feb-20 2:39 Last Update: 24-Feb-20 2:39