Hacker News new | past | comments | ask | show | jobs | submit login

My biggest aggravation with Windows is the pattern of unapproved restarts.

Sure, there's usually a setting to disable it, and a popup to delay it, but it's not really enough. The setting appears unreliable at best, and the popup is useless when it pops under fullscreen programs.

It really only takes one ill-timed restart to damn an OS forever, especially when the restart is chased by lengthy (and impossible to decline) downtime while a patch or upgrade is installed. Restarting on someone during a Skype interview or business call is shockingly unacceptable, no matter how sensible the average case.




My biggest issue with Windows Update (specifically) is that it has absolutely no clue what a laptop is. If I'm on a laptop, I'm likely to be out working from site to site, so don't force me to keep my laptop ON so updates can install! Ugh. This is just stupid-headed engineering.


I love the "We will install updates at 3:30am". I'd really like to see you try. My laptop will be in my bag in the hotel room at 3:30am. Hilton will be really happy with you burning the building down when you remotely switch on my Thinkpad with no ventilation.


Woke up one morning to a very hot Thinkpad in my bag. Windows 10 did exactly that. Extremely frustrating.


I have never had a Windows laptop boot up for scheduled updates. In that event, it always waitied for the next manual boot.


Yeah, I haven't either, that's why I said "I'd love to see you try". You'd think the system would be smart enough to realize that it's literally never been awake at 3:30am.


The ACPI power spec allows the computer to set an alarm and have it woken up at a particular time... like 3:30am


I experience that constantly on any laptop I use because I pretty much never turn them off - they go to sleep mode when not used. Every now and then I find the laptop running with a clean desktop after logging in - because it decided to reboot and install updates somewhen during the night.

I've been an enemy of automated updates ever since, many years ago, I went to the kitchen to boil the water for a tea, and there suddenly I heard the PC speaker beeping - oh, Windows decided to count down from "5 minutes" and reboot.


I think automated updates are fine but require user's intervention to restart. Don't restart automatically on their behalf.


They are not fine. For example, Outlook (on my work PC) tends to become non-functional when an update is pending.


That's just P* poor quality and lack of care at Microsoft. When I think of automatic updates, I am thinking about automatic security updates on Ubuntu server. I'm sure canonical will screw things up at some point as well though.

I guess it is easy and tempting to say "just turn it off and on again" on consumer electronics and end user computers. :/

Why would an application become non-functional when an update is pending? Perhaps a critical security vulnerability?


If the computer is sleeping it can wake up. Not sure about hibernate.


It can't in hibernate because it's the state as shutdown. The deep sleep introduced in new versions of Windows might still be able to wakeup though.


> it has absolutely no clue what a laptop is

It also has no clue what a server is. Servers with Windows 2012 R2, force the users to reboot. How stupid are microsoft, that they assume that people will be ok with rebooting production servers in the middle of the day.


> The setting appears unreliable at best, and the popup is useless when it pops under fullscreen programs

This! Anyone saying this is new behavior caused by the Windows 10 update has never been booted out of a WoW raid at 3 am because the restart pop-up didn't show beneath the game window. Windows Update has been doing this since XP.


The interesting thing here is that Windows 8, 8.1 and 10 all improved the Windows Update restart timing logic and made it more transparent. (There's a section that states "A restart is planned, Windows has determined the most likely idle time to try the restart is 3:43am" now, for instance.)

In this case it's Windows 7's Restart logic that is old/bad (and long has been), not Windows 10, but Windows 10 of course is getting blamed for it, not Windows 7.

It's another reason people should stop worrying and upgrade to Windows 10. ;)


In my opinion, there is never a good time to restart. That is simply an artifact of the sad historical circumstances that led to the current state of operating systems.

I don’t particularly enjoy waking up to all my programs are closed because Windows decided that tonight was the night that it restarted.

It’s slightly better on MacOS, where programs using MacOS-specific APIs can restore their state on startup, but that doesn’t include most of the third-party applications. But MacOS doesn’t force the reboot. Yet.


One of the things I thought Windows 8 did really right was trying to instill into applications the lifecycle that they could be force closed/rebooted at any time and should be good at saving and restoring state across application starts. This is good beyond just system restarts and good in general to know that applications would typically come back to where you left off after the system losing connectivity or going to sleep or unloading an application to save memory/CPU while you aren't actively using it.

The complaints about this lifecycle model from app developers is that is hard to program for. Windows 8 was also strict enough forcing this lifecycle (closing out applications sometimes seconds after minimizing and attempting to restore them quickly on window restore) that it showed how bad developers can be at programming hard things like proper app lifecycle management, so they begged Windows to be less strict about it.

(That was one of the magic things about Windows 8 that Windows 10 doesn't quite replicate: minimizing a properly built application and watching the application's memory and CPU usage quickly drop to zero.)


That's the very reason I didn't use any Metro apps on my work computer. They would get swapped out of memory and killed whenever I ALT+TABbed from them. Not joking. Every time I wanted to switch to a normal app for a second and then back to the Metro one, the latter would have to "restore" itself (and guess what, it never restored to the point I last left it).

Of course I know the reason - that's because my machine is memory constrained, I routinely run on ~90% RAM usage. But hey, that 8GB of RAM isn't here for vacation, it's to be used.

Personally, I find the mobile app lifecycle - which is where they took the idea from - to be incredibly annoying. I like to have control both when applications die and when they start up (which, on Android, is utterly unpredictable).


Oh, but it's great! I can't browse most sites on my android because the LMK for some reason starts with the damn browser. I love it! /s


The problem with this lifecycle assumption is that there is no way to opt out.

I have a "metro" style SSH application, and windows regularly decides it should close it, which kills my active SSH sessions.

I understand that they removed the ability to opt-out to force developers to change to a more appropriate model, but there are cases where a task cannot be suspended (because, for example, it's interacting with another computer). Having to re-log-in to my ssh session the 4th or 5th time in an hour is absolutely infuriating.


You can opt out by creating a background process. The thing that makes that part complicated is that there is a background process lifecycle to learn (including interactions between a UI process and background process). Also, Windows wants a bit more of an explicit knowledge than say classic Win32 about what the background process is for so it can best manage it.

The support for background processes continues to improve. Windows 10, for instance, now supports a "single instance" background processing model where background processes can be seen as an invocation of the UI app (if already running) and vice versa (the UI app is presented as an invocation to the background process if that is already running) with hand-offs from one to the other, simplifying the programming of some of the interactions between background and UI for some apps.


For the record, Linux does not do this, and it is an operating system.


On the other hand, many/most distributions have major releases every 6-12 months, and the upgrade process is a lot more hit and miss. I have Debian and (unexpectedly enough...) Fedora services that I've managed to drag along two and, respectively, three major releases. On the other hand, I can't remember ever managing to get a clean upgrade on Ubuntu after 8.04 or so. My latest attempt has been miserable, I spent half a day nursing my Ubuntu station at work back to health.

Besides, it's a trend that I expect to see reversed soon enough, given the direction in which Linux desktop is heading nowadays.

Edit: empirically, what has greatly simplified my life in this matter is being old-fashioned about partitioning. I keep /home and /opt separate, so upgrading typically consists of saving a list of packages, wiping everything but /home and /opt, doing a fresh install and reinstalling the packages. Depending on what I'm installing (OpenBSD on my laptop, Debian on my desktop) it takes about five minutes of accepting defaults and waiting for progress bars to fill, then another ten minutes until the packages installs (most of those ten minutes is spent on LaTeX, to be honest).


> many/most distributions have major releases every 6-12 months, and the upgrade process is a lot more hit and miss.

You might want to try a rolling release distro, something like Antergos (Arch + Tweaks)


I used Gentoo for a very long time (2005-ish to 2009 or so) and tried Arch, too, both back then (after I, uh, toasted a power supply compiling packages for five days straight) and more recently, about a year ago. It's a very good approach, but far too high-maintenance for my taste. During my (latest) short stint with Arch, I became a walking bug tracker. Stick to Adwaita because everything else breaks, don't do that in a KDE app because it crashes, try to reboot my computer only to find out it's stuck in a loop because some process can't notify some other process through D-Bus...

There's a bunch of stuff that doesn't work on Debian, either, but at least it's the same stuff for about a year or so.

Nowadays I get to write Linux software at work so I get all the bleeding-edge stuff there, and dealing with the latest and greatest breakage is part of my everyday job. I have no desire to do it at home, too.

Edit: plus, to put it bluntly, it's really no longer fun. When I said goodbye to Windows, back in nineteen-ninety-something, I did it to get away from the mind-boggling complexity and uncustomizable blackbox blurb on my hard drive.

Nowadays, it's an order of magnitude more complex; some of it is unwarranted and much of it just isn't reliable. Windows' and OS X's isn't, either, but at least it's nicely tucked away behind an interface that works, so you're not exposed to the crap underneath. I spend a lot more time wrestling with my computer than I'd like to.

I can mostly navigate through this whole maze of thisandthatkit and systemd-everything, largely because I'm exposed to it for eight hours a day, whether I want it or not, and have seen it being developed. But I don't think it's sustainable, and I have a feeling I'm going to call it quits one day.


Best i can tell the complexity comes from a misguided idea that if just the DEs simplify and automate common tasks, Linux on the desktop will happen.

End result is that the DE people keep pushing ever deeper in the stack, violating long standing layering, that made it easier to reason about why something broke, in the process.


This type of grass is always greener answer is why the Linux desktop experience is so poor. If someone follows that advice they may fix one issue they have but in return they get a whole new set of problems to discover and troubleshoot or run away from.


They say that using Linux is constantly solving some problems, only for the solutions to produce more problems for you to tackle. You stop when the next problem you face is not annoying enough to care.


There was a point, somewhere between 2009ish and 2011ish, when that was really no longer true, except for the distributions that hopped on the PulseAudio boat really early and had audio broken for a few releases.

I have no idea what happened after that but it's really screwed up.


What happened in 2011ish that made everything go to hell again?


I wish I knew.


Microsoft restarts because updates are in files that are "locked" and can't be switched-out until the system is rebooted. After you install the update, but before you reboot, your system is still running the old known-buggy code.

Linux doesn't lock files; instead it creates in-memory copies of them. So the updater can update the on-disk version without any troubles. But if you think about it, it has the exact same problem: until you reboot, your Linux box is still running the known-buggy code.

So there's absolutely no technical reason Windows needs to reboot more than Linux. The only difference is that Linux developers decided "meh, the user can reboot when they want". But unless you reboot after installing your Linux updates, your computer still has the bugs.


> But if you think about it, it has the exact same problem: until you reboot, your Linux box is still running the known-buggy code.

This has not been true for some time, and not in any mainstream distributions currently that come to mind.


How do they solve the problem without requiring, at minimum, closing all of the user's applications and restarting them, then closing all system services and restarting them? (At which point, you've basically done a de-facto OS restart.)


On Windows, once in a while there is a Patch Tuesday when the only update is Internet Explorer, a program that I neither wanted, nor installed, nor opened since I got tired of it years ago. Clearly, I need to reboot my computer for this.

On Ubuntu, certain packages are labeled as needing a reboot, and when you update them the control menu thing with a gear in the upper-right corner turns red, and the Update utility says you should reboot. Then you know you should, but it doesn’t force you to.

EDIT: There’s also Ksplice, which was going be a standard until Oracle bought it, and Red Hat kpatch. Those allow you to update a kernel without rebooting. Most other programs still require restarting, but Linux benefits from a saner architecture, where the web browser isn’t an “integral part of the operating system,” and the font renderer for the GUI and for printing is not part of the kernel. You need to reboot less.


Your answer doesn't really address the question.

Jameskegel said that in any "mainstream distributions", after you run an update but before you reboot, the OS is running the updated libraries. I honestly don't understand how that is possible.



Right but that very answer says:

> Newly created processes will use the updated contents, running applications will access the old version.

In other words, currently running code is still running the known-buggy version, exactly what I said originally that kicked-off this whole discussion.


No, what you said was: "until you reboot, your Linux box is still running the known-buggy code"

And then later in the same post (just so we're clear about what you said): "But unless you reboot after installing your Linux updates, your computer still has the bugs."

Linux does not require a reboot to update.


>How do they solve the problem without requiring, at minimum, closing all of the user's applications and restarting them, then closing all system services and restarting them? (At which point, you've basically done a de-facto OS restart.)

But this is not what you suggested, is it?


I don't understand this answer, and I don't recall "suggesting" anything.


Settle down. You seem to be taking some heat in the comments, so I'll recuse myself from this discussion, as I feel we are no longer making progress in an intellectual context.


It would help to "make progress in an intellectual context" if you'd deign to back-up the claim you made, which I now strongly suspect was simply incorrect from the start.

But hey, suit yourself.


If with this you mean requiring a restart then arent' you wrong? Ubuntu is linux, right, so it's an operating system, and it has stuff like /var/run/reboot-required.pkgs so it's not like all linux flavors out there don't ever require reboots.

If you meant forced restarts at a given time (or whatever windows 10 does) then you're right. For now, and hopefully forever.


No, you're wrong. Ubuntu will not ever force you to reboot your machine. The most it will do is recommend a restart.


That's not an excuse. Microsoft can and has been pushing updates to 7 to enable the constant upgrade nagging. They've even been continually pushing new updates that get more and more naggy. There is nothing preventing them from including an update that makes 7's restart logic less sadistic, but they've chosen not to do that.


Can you explain to me why Microsoft should expend time and effort to encourage behavior (staying on Windows 7) that increases their costs and increases fragility in their ecosystem? I'm not sympathetic to the dark patterns they use to push people to upgrade, but I'm 100% onboard with not pushing improvements to an older operating system.


Because we paid for their OS and expect it to be supported ?

Windows 8 was out in 2013, 3 fraking years ago. Even Ubuntu, which is free, has LTS supported for 5 years.

When you pay good money for an OS you use in your business, it's damn logical you want it to last you almost a decade without having to play the upgrade game all over again.

I don't have time for that. I don't have the money for that. And I don't need that. The OS is not a product I want to think about, it's this transparent thing that I'm supposed to forget while I doing actual work.

This Windows upgrade is uneeded and unwanted.

Yet it kept comming back to disturb me in my work with stupid notifications, reminding me that one day, it may reboot my computer at the worst moment, eat all my hard drive space or make me loose hours locking my computer.

What happened ? Well, one day my windows pratition broke for some reason I can't figure out and I got a perpetual guest account. I'm not even trying to fix it. I just stay 100% of my time on my Ubuntu one, because I don't want to deal with it.


> Because we paid for their OS and expect it to be supported ?

The upgrade is free. You are being supported. You can choose not to upgrade (and I think you're wrong, but it is your choice). What I don't understand the mindset behind "no, I won't upgrade, but I want a bunch of feature-change patches without making me upgrade" (as with the assertion that the auto-restart logic could/should be changed for Windows 7, not Windows 8).


No, forcing a version change using the excuse of security is not being supported. Ubuntu has security patches for 5 years and it's free. I pay for windows, give me my security patches.


Because it's a problem that should have been fixed 15 years ago.


What about a computer that runs a specific piece of software (say, Mach3 for CNC control) that doesn't have a win10 alternative. It only runs in windows 7 32 bit. There is no good alternative. I would prefer to make the determination that the machine will NEVER update. I just need it to remain the same until mach 3 updates or an alternative comes along.


Then disconnect it from the internet, and disable automatic updates... easy, peasy.

edit: regarding downvotes... if the software versioning is mission critical for a system, then having automatic updates and being connected to an external network is a risk to that critical system. I wasn't trying to be pedantic, but was being perhaps more terse than some may appreciate.


>Then disconnect it from the internet

this is not a solution to a problem. it's incredibly reductive and close-minded.


My understanding (I don't keep old OSes around so I can't test) is that Automatic Updates settings are still honored. Is this incorrect?

Past that, is there a reason that system should be connected to the Internet in the first place?


How about this: it's none of their business what people choose to do with their computers. It's not their ecosystem.


I disagree. Outdated and thus soon malware-ridden systems are a threat to all systems connected directly or indirectly to them, so users are obliged either to keep their systems clean and up-to-date. Either themselves or through experts, or through automated servicing.

Much like how cars must be serviced in regular intervals if they are to be operated on shared infrastructure (roads).


Well, that's a reasonable point of view, but it's not Microsoft's job to make it happen. I could see a reasonable case for the idea that people should be held liable for hosting malware on their computers, and that failing to patch security holes could have some kind of secondary liability consequences. If that were the law, it might well make sense for Microsoft to offer upgrade contracts as a form of insurance. Refusing to accept an upgrade would then reasonably terminate the insurance agreement, and it would now be your job to keep your machine safe. Most people wouldn't be up for that and would probably opt to upgrade instead.

But that is not the world we live in, and those are not the rules in play, and even if they were, forcibly updating people's machines against their wishes would not be the solution.


Except MS is the one who cops the blame, the negative PR and the reputation of being insecure when malware runs rife across old Windows systems that weren't patched for years.

There's literally no way they can win this. If they force updates they're evil for rebooting PCs. If they don't, users don't update because it's always inconvenient and then they blame MS on malware.


They could design an OS that doesn't require a full reboot after every piddling little update.

Windows has actually gotten better at this over the years, but it's still nowhere near every other OS in the world.


> Except MS is the one who cops the blame

When?


There is a difference between regular mandated services and waking up one morning to find they have replaced my much loved (and customized) Mercedes with a bloody Skoda.


They should simply perform their obligations around providing fixes for the product for the duration of the advertised support period.

That they are running software on thousands or hundreds of thousands of machines that was advertised as an update but is instead advertware is a crap move on their part. It's probably not a strong legal argument, but IMO they should be paying me to use my system to run software of their choice, much in the way that I would pay to use Azure to run software of my choice on their systems.


I'll agree that the nagware aspect is pretty harsh, but disagree they shouldn't have pushed it via autoupdate... it really is an opportunity to update/upgrade to a new version... or would you expect ubuntu to not tell you there's a new version you can upgrade to as well?

That said, I'm kind of with GP, I'd rather have most people updated to the current windows, spyware issues aside, it's better for stability/security.


Because it breaks screenreaders for the blind and it doesn't offer a solution to that.


IF you have enough time to push an update that causes people's computers to shut down and install a new operating system in the middle of a Skype call, then you have enough time to fix that glaring problem.


> It's another reason people should stop worrying and upgrade to Windows 10. ;)

Never. Microsoft has lost my trust forever with these issues.


The only reason for me to upgrade is DirectX 12 exclusivity, a practice I personally abhor, and always have. Luckily, there are no games on the PC that use DirectX12 beyond some hackjob implementations for DX11 games. I think I'll be just fine on Windows 7.

I may upgrade when the OS is "finished." For now, though, I think I'll let others trudge through the mud of a forced public beta.

Maybe, just maybe, I might take the plunge when the video games I built my PC for actually require me to.

Until then? No thank you.


Oh, frak their idea of "idle time". I went to settings to change it, I honestly wanted to give it a reasonable time window when I'm not likely to use the machine. Guess what? The "busy time" is limited to 8 hours. Because no one ever uses a computer for more than 8 hours a day? Well, but I do. Frak that.


Windows 7 would forcibly shut down and reboot, without warning or indication, if you delayed updates long enough. Any laptop I owned with 7 could and often did spontaneously restart, no matter what I was doing.

I'm not shy about installing updates, but if I'm busy working I would delay it a couple times. Then I'd not use the laptop for a few days (with it in sleep mode), by then I'd have forgotten about the update. I was bitten by forced reboots in 7 many times.

8 added a "Your PC will reboot in 15 minutes" and that was so much better from a laptop perspective. W10 insider builds currently tell you to set "inactive hours", and this works fairly well for both phone and laptop. My phone updates while I sleep, my laptop pings me to reboot at my leisure, for it is never awake & inactive.


Disable the "Windows Update" service. Problem solved.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: