Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
I wrote Task Manager and I just remembered something (2020) (reddit.com)
413 points by marcobambini on Jan 16, 2022 | hide | past | favorite | 114 comments


> Task Manager will load in reduced mode if resources are short, like only loading the Processes page if that's what's needed to get going. It's one of the very few apps that won't just "fail and bail" when things go wrong.

This has saved me a few times, but every time I've seen it I always figured task manager was just failing to completely load. Glad to know that this was a deliberate state.


Is there a name for a process like this? Very interesting approach I want to take with future software.


Besides graceful degradation mentioned in sibling comments, it could also be considered a form of load shedding.

https://aws.amazon.com/builders-library/using-load-shedding-...


Closest I can think of is Safe Mode, at least based on the definition - https://en.wikipedia.org/wiki/Safe_mode - but running on reduced resources isn't exactly the same, so I'm sure there's a better answer.

Inviting correction by people with more extensive engineering experience; most of mine is in breaking rather than building.


Perhaps the most appropriate term would be fault-tolerant?

https://en.wikipedia.org/wiki/Fault_tolerance


FT usually (at least in IT) implies a way to switch/defer/transfer the task to other node without an interruption (or a very minor degradation) of service.

A synchronious replication of a VM would be an example of a FT service (so it can continue to work without losing the current state). Failover is a process of restoring the operation with losing the current state (so vmware's HA is clearly FO if you dig below the marketing bullshit).

Described behaviour of the Task Manager is not FT, FO or HA.

Other commenters provided good variants, personally I would go with "Graceful Degradation", because it proceeds with a minimal functionality only if there were problems with normal operation.


"Limp-home mode" -- as seen in many cars -- comes to mind.


Also "Graceful Degradation".


And "Progressive Enhancement" [1], although that is usually used in web development context.

Adjusting the introductory statement on that Mozilla page we could arrive at something like:

"Progressive enhancement is a design philosophy that provides a baseline of essential content and functionality to as many users as possible, while delivering the best possible experience only to users" ...whose computers have sufficient resources such as RAM and CPU cycles available to process and display it.

[1] https://developer.mozilla.org/en-US/docs/Glossary/Progressiv...


Good engineering? An engineer worth their salt should always, in my opinion, contrast resource demand with resource supply and scale down the complexity of the workload in the face of a resource shortage.


That sounds perhaps too broad of a claim. Good engineering is to balance the needs of customers against the available time and cost of development, right? Scaling an app for low resource situations takes a lot of effort, often would result in a degraded experience and/or functionality, and plenty of apps don’t have any customer demand for such fallbacks, which is why plenty of good engineers and teams consciously choose not to spend their engineering budget this way. The Task Manager, being integrated into the OS and especially critical in low resource situations, has an incredibly strong argument here to work in low resource situations. Tons of user-space apps don’t make sense to scale at all, if memory is low or cpu is high from other apps, then it’s outside the bounds of the app to worry about. You would agree that not all engineering should be resilient to any and all conditions, and that it’s okay to design something that requires certain resources to be available from the start, wouldn’t you?


Only if this trade off is important enough to dedicate time to it. Good engineering is the balancing of trade offs, including the available amount of time.

A term lie craftsman engineering might be appropriate - someone who goes over and above the requirements because they can afford the time necessary to fulfill their personal aesthetic.


Graceful degradation


I like to call it the "oxygen mask". Keeps you conscious while you diagnose a potentially fatal problem


Degraded mode enabled maybe?


It’s similar to the circuit breaker design pattern as well.


Dave also has his own YT channel full of "hidden" stories about old microsoft tech he worked on. Be sure to check him out, he's got quite a few good ones :)

https://www.youtube.com/c/DavesGarage/videos


And it isn't just old Microsoft tech. For one, he holds a world record high score for Tempest. For another, he's done some very cool projects with addressable LED strips: the Tiki Umbrella and Atomic Lamp are spectacular! It is his projects that sent me down the LED rabbit hole, though my weapon of choice ended up being the WLED project.


He also wrote a good book on Autism called Secrets of the Autistic Millionaire


I watched a few videos of him and I am just watching this video > https://www.youtube.com/watch?v=NNy2PO3K4MQ

Wow....I always thought he was recording those videos from his bedroom and wanted to spice things up with tacky RGBs. Wow.......wow....


He literally just posted a video a few days ago about the task manager too.


YouTube just recommended his channel to me the other morning and I spent a few hours watching his videos. Good stuff. Worth the time spent. Unique insights.


He has some nice content, but I cant deal with the click bait thumbs


Don't hate the player, hate the game. It's annoying but I think he has some very worthwhile content.


My favourite part of Task Manager lore are nearly undocumented keyboard shortcuts: - pause updates by holding CTRL pressed, - hit F5 for refresh (standard binding, isn't it?), or hold F5 to get refreshes way more frequent than with View > Update Speed > High.

They might have been visible in menu mnemonics in past versions (?), or might have been mentioned in the help, but now, while still working, there is no clear way to learn them from current Windows 10 Task manager graphical interface. (Even the Help menu item is gone.)


Is there a way to get Task Manager to kill a fullscreen app without navigating a bunch of menus behind the frozen full screen?


Sometimes I could overcome that problem by switching to another virtual desktop/workspace (if necessary creating one temporarily) and using the task manager there.


To save anyone else a google: Windows key + Control key + right arrow will move you to a new desktop


There is a setting to always draw on top somewhere in the menubar. Saved me a couple of times.


I miss taskmgr so much on Linux/macOS. Everything in taskmgr feels so logical and manageable without extra steps.


Sysinternal process explorer is the ultimate taskmgr for Windows, for example you can see the threads for each process, and even their call stacks! When a file can’t be deleted because it’s open in a process but you can’t find which one, you can even search into memory for all processes and find the culprit in 3 seconds. Or see what files / reg keys a process has currently open and even force-close them… give it a try and you’ll never come back.


>Sysinternal process explorer is the ultimate taskmgr for Windows

The whole Sysinternals Process Utilities[1] is a goldmine worth bookmarking for any windows power user, and the quality of the tools is great.

The only thing I don't understand is why they aren't shipped by default with every windows installation. They're so useful and no bloat, it boggles my mind why they're not there by default.

[1] https://docs.microsoft.com/en-us/sysinternals/downloads/proc...


> The only thing I don't understand is why they aren't shipped by default with every windows installation

At a guess it would mean they would have to support the suite at that version for the lifespan of the OS. Having it separate allows them to update independently and not get tied down 10 years down the line with still having to support and old code base.

This is one of the biggest reasons why pwsh (PowerShell 6+) still hasn't been included in box. There is no .NET version that is supported for the time that is required by Windows and thus cannot be included in box.


Yes, a lot of great tools, 2nd on my list is process monitor. It lets you know what sys calls were performed by any process, same as ptrace I believe. Super useful to debug a 3rd party app, for instance one that doesn't even start, looking for a file or reg key at different places, failing and exiting early. It allows one to fix it even if there are no errors or logs at all.


Maybe it's something to do with not having to provide support or warranty for additional, free downloads?


While procexp is great I personally prefer Process Hacker. One of the killer features for me is the more in depth handle lists as well as showing specific information for handle types and their security descriptors which I find pretty invaluable. Don't get me wrong both tools are great just wanting to share another one :)


I feel the complete opposite, interestingly enough. Apple process viewer and htop are what I want.


I have to jump around quite a bit. Largely ML workloads where I default to Windows for training / developing around, and deploying out to Linux. Mac is an option, but doesn’t make since to do those tasks there.

What op said is true for me, I just pop open task manager and I get all the insight I need. No issues there. I don’t ever need to run htop locally, but is key factor in deployments where there are many more cores, accelerator config, etc

I use Mac for some UI projects or systems dev.

I’m usually in a bad mood when I have to open activity monitor.


For some insane reason though, Apples Activity Monitor can’t sort processes by the current amount of disk activity, only some nebulous ‘energy usage’ value or lifetime disk activity.


The "sample" option in Activity Monitor is golden. I can figure out why a process is hung without having to download and install extra apps.


I like to leave htop, lnav and s-tui on one of my i3 wokspaces - works well for me. I do remember appreciating the task manager back in my windows days in the 90s though.


What do you like about task manager compared to e.g. Activity Monitor? Activity Monitor has always seemed powerful and well-designed to me.


- No global shortcut key to launch Activity Monitor. Often when the system freezes you can't quickly launch Activity Monitor either.

- Can't display both CPU and memory in one view, by default

It can be tweaked, but I don't like the extra steps.


Lack of right click in activity monitor really frustrates me, especially since I'm more likely to be irritated already when I have to open it.


Activity Monitor (the macOS one) definitely has right-click.


Right clicking on a process in the list does not bring up a context menu in Activity Monitor on my Mac.


Doubleclick brings up a window. It even has a "sample" option so you can peek at the stack!


You’re right, I’m sorry.


Is ksysguard not similar to task manager? The only advantage task manager has over it is that it can show the rw speed for externally plugged in devices like that, whereas ksysgaurd you have to add it manually?


That's funny. I miss xkill on windows so much.


SuperF4 has that ability on windows! IIRC it even uses a crosshair cursor


There was a great little tool that I think used to be in Ubuntu, but possibly another distro, where you could press a keyboard combo, and it would turn the cursor into a little crosshairs, and then if would kill the app running whatever window you clicked on. I don't remember what it was called, anyone know?


It was definitely xkill, I remember using it a lot during the early Ubuntu releases. I think the shortcut was ctrl-alt-esc, but its so long ago it was removed I no longer know for sure.


xkill?


Yes I think that was it, thanks.


XFCE has taskmanager.

goodies.xfce.org/projects/applications/xfce4-taskmanager


I like the MATE System Monitor even more. On Xubuntu it's simply:

  sudo apt install mate-system-monitor
https://wiki.mate-desktop.org/mate-desktop/applications/mate...


Task manager still launches through Wine, but it only let's you control Windows processes running on your machine.


Have you used the KDE System Monitor (on Linux)? It feels pretty similar.


Yeah, because linux is so locked down you cant access, manipulate or kill processes in any way else...


Windows, when it’s good, is actually great, and task manager is an example of good UI and functional backend.

Linux just hasn’t built the same easy interface but of course it can do the same things, but no one has built the UI


I think it's a matter of getting used to. The task manager drives me mad. I never feel like I'm full control or know what's going on. Whereas with kill, ps, top and friends I feel like I can diagnose things a lot better. The task manager doesn't even seem to have a search bar, whereas I can just use "grep" in linux. Just right now I was trying to see if indeed it didn't have a search bar and task manager crashed when I tried to exit it. I'm more used to have several small tools I can compose and do what I need instead of having a single app where I have to hope the developers thought about the specific thing I need it to do.


I also used to be linux nerd but as I grow old I find such thing uninteresting. I wish for simple interface where I can kill process, view cpu use etc. In htop its like 3-4 steps to send kill signal which I don't like. And task manager is easy to access to like right click on task bar and click on task manager or Ctrl + Alt + Del.

Also searching is generally not hard in task manager, you can just type process name and it should select it. Yes, it can be tricky sometime but most of time I use it to see process which consumes high cpu or internet bandwidth.

I do agree with GP, windows task manager is simple. If we need advance feature we can use process hacker etc.

I do agree with you too. So its just a matter of taste. But most user aren't nerd and they want something simple like task manager. My mom would simply refuse to use linux because she simply doesn't like cli interface.


Windows has somewhat stripped down versions of the same kind of commandline process management:

  tasklist | findstr chrome.exe

  taskkill /IM chrome.exe /F

  taskkill /PID <pid> /F


Some people dislike windows but haven’t experienced modern niceties like powershell

I doesn’t totally suck


I expected to like Powershell, but I came away even less happy in Powershell than trying to program bash. It felt so much as though it had been built by aliens who'd watched a video of Unix shell programming and integrated their own strange preferences, while also stirring in things from Windows.

At the end of a week's work, I had a script which worked on my system, but blew up on the production systems it was intended for, and although we eventually worked around the stupid problem I want nothing further to do with that work. I co-own the far larger C# project it's associated with despite never having written C# a year ago, C# feels like a nice but slightly boring modern language, I probably wouldn't choose to write it for pleasure, but I don't hate getting paid to do so. However I seriously regret assuming that it was worth writing the "obviously just a script" part in Powershell rather than wrapping it all in C# and having the "script" just run that.

So, maybe it "doesn't totally suck" but it sure does suck pretty badly.


No, it's there (see other comments in this thread), but it wasn't the default in the OP's distro.


In this day and age (Windows 10), every time I have to use Task Manager it's because a fullscreen game has crashed, and I usually can't see Task Manager at all. It opens behind the fullscreen game and doesn't come to the foreground, even when I alt+tab.

I usually end up using the up/down keys to select the right process, looking at the Task Manager in the tiny preview that pops up while Alt+Tab is pressed. It is extremely annoying. I wish Ctrl+Alt+Del could open the Task Manager in the foreground...


There is an option to always open task manager on top. Open task manager and open the options menu. (This was mentioned in the feature reddit thread)


You may try Windows key + D to hide the desktop or Windows key + M to minimize all windows.


Even minimized, the crashed fullscreen window stays on top. Apart from the Alt+Tab indicator, that is. I wish Task Manager could be on the same layer as that...


> visually complicated app to ever be fully resizable in all dimensions without any flicker

This is still ridiculously hard to do on Windows if using standard controls as a filler. Especially when resizing by the top or left edge. The only trick I know is to attach D3D context to the window, but even that has edge cases that look even more jarring than regular flickering.


WS_CLIPCHILDREN? I haven't had problems with using that to eliminate flicker. When drawing using GDI, double-buffering also works.

(Long-time Win32 developer here.)


This works in some cases, not all. Editboxes flicker if they have focus and are being resized. They also flicker when resized programmatically (e.g. when doing layout transition animations) and this is virtually impossible to eliminate, but that's a separate issue.


102 comments when it was last posted in 2020: https://news.ycombinator.com/item?id=23304536


You can replace task manager with something else. These days, I highly recommend doing so with processhacker for power users.


Dave(the author)'s youtube channel: https://www.youtube.com/c/DavesGarage


> There should be nothing that TaskMgr can't kill

Except Defender/Malware Protection...


>Except Defender/Malware Protection...

I just checked and it can definitely kill malware protection so I don't know where you got that information but it's false.

And even without checking, being able to disable malware protection is a necessary feature in any OS, for SW development and debugging activities, so I would assume malware protection could be easily killed without a problem by the user with admin privileges.


Not sure which version of Windows you're on but a lot of things like this have been blocked in newer versions, here is a screencap from attempting this on 11: https://i.imgur.com/xY4dNVL.png

> And even without checking, being able to disable malware protection is a necessary feature in any OS, for SW development and debugging activities, so I would assume malware protection could be easily killed without a problem by the user with admin privileges.

Lol, one would assume wouldn't they... in 11 even setting the GPs for all of the antimalware stuff to off won't stop the processes from running. You can still get it to a decently "get out of my way" level though.


I was trying this a few weeks ago on a brand new Windows 10 install

I turn off the "realtime protection" in GPO/options... it's still there

I try killing "Antimalware Service Executable" (Msmpeng.exe), in taskmanager or try disable the service in the service control panel: Access Denied

I reboot into safe mode, disable the service, reboot and it's gone

.. but reboot again and it's back

I had to DELETE the service in safe mode and change the permissions on the executable so it couldn't be accessed/modified by anything

(borderline rootkit if you ask me)


And nowadays I don't think it can kill assistant/Cortana.


Come on, I get that everyone hates Cortana, but why spread such FUD? Of course it can kill Cortana as it's a regular user-space app.

The only Windows processes I see it can't kill are labeled System, System Interrupts, Secure System and Registry which I guess, are all kernel-space.


It would be ironic if you tried to kill Cortana and it said "I'm sorry, Dave. I'm afraid I can't do that."

But yes I don't see why it couldn't (or why MS would add such a high-level protection to Cortana)


I just killed Cortana on a windows 10 laptop and on a windows 11 workstation with it... why lie if you are proven wrong in about 10 seconds?


The person you are replying to used the phrase, "I don't think". That means they're not certain, which means they're not lying. Might wanna refrain from shooting from the hip in regards to the tone of your last sentence.


Being anal aside why spread FUD when you can easily test if your thought is true or not. Makes no sense no matter what when he can just be silent if he doesn't know if his statement is true or not but no better start shit stirring for no reason whatsoever.


>... why spread FUD when you can easily test if your thought is true or not.

First, how do you know they're in front of a Windows machine and not casually commenting from their phone only to have life get in the way and make them set their phone down before they can Google it?

Second, I argue that FUD isn't spread if you're commenting and saying "I don't think it does this". Were they to say, "You cannot do this," then they would be spreading FUD. They didn't, they were corrected publicly, and anybody reading this thread can see as much. Maybe they'll even edit their post after they see this, who knows!

Edit: Even if I'd agree that they're spreading FUD, it's so minor and innocuous that it's not even worth getting angry at them.

Edit 2: If it's as easy for them to test if it's true or not, then anybody else with a Windows machine who sees that comment should also have just as easy a time testing it themselves. IMO that only serves to make this less FUD-dy than people are suggesting.


You are making excuses for someone who didn't even take 2 minutes before talking about a subject matter he doesn't know anything about. He used "I think" like every other bad actor when spreading FUD. I don't even care anymore I call people out if they talk shit if you want to be the one making excuses for them so be it.


You're calling them a liar, a "bad actor" (implying ill intent), suggesting they're "talking shit", etc.

That's a lot of strong rhetoric to throw at someone's character over such an innocuous comment that hardly anybody is ever going to see, just because they are wrong about something (which, let's be honest, is relatively no big deal to be wrong about).

I really hope you have a good day.


Give me one reason why a technical verse person that acts in good faith would write a comment like that, just one.


Try killing it from the "Details" view.


It's pretty cool that this one person wrote a piece of software that has been used by so many people, it's crazy to think of that impact. I personally find it difficult to get excited or interested in the technical intricacies of a closed source piece of software put out by a megacorp though, unless I'm getting paid for it I'd way rather learn about the technical details of open source counterparts and the systems they're apart of.


This reminds me of all those 80s arcade and Atari/Commodore/Coleco games written almost always by a single person. To think these really iconic experiences were done by someone from start to finish (sounds, graphics, gameplay, idea, execution, debug, etc) as a solo project always seemed a little bizarre to me. Of course those were simpler games but just the creativity plus the know-how is impressive.

I also dont think they had ownership of any of this either. They were paid salary and maybe a small cut of sales. It always seemed like a bad deal considering this was a single creators's project.


A good reminder that holding down shift+ctrl+alt isn't always a harmless no-op.


It definitely isn't. Some linux distributions just restart without confirmation, if you try to invoke a task manager like you would on windows.


Do you mean invoking Task Manager with ctrl-alt-del or ctrl-shift-esc? I don't believe OP was saying either of those is typically a harmless no-op, but was referring to:

> If Task Manager ever becomes internally corrupted, kill/close it. Restart it while holding down CTRL, ALT, and SHIFT, and Task Manager will reset ALL internal settings to factory fresh if it sees that key combo at startup. Same works for every app I've written, btw, I think!


How should I setup a test to find out why?


I have used Ubuntu rather than Windows for about a decade now, and the only thing about the Windows world I have ever missed is Task Manager.


> I initially drew the meters as 7-segment LEDs but that wasn't localizable to all cultures (How do you do a right-to-left reading 7-segment LED for Saudi Arabia?) so they only lasted for one version or so.

I don't get it. Why isn't that localizable? You can write the numbers in either direction with it, can't you? What am I missing?


I don't think right-to-left is the issue, since numbers in Arabic are still written left-to-right. However, they use different digits, which don't fit on a 7-segment display, see https://en.wikipedia.org/wiki/Eastern_Arabic_numerals .

And there's also Thai numerals: https://en.wikipedia.org/wiki/Thai_numerals .


It's still confusing though, because I can't think of any cultures that don't understand Western Arabic Numerals and use them regularly alongside their local version. It might be a strict requirement from the government upon Microsoft though. I seem to remember the Canadian government leaning heavily on Microsoft for an Inuktitut translation of their products, even though only 30,000 speak it:

https://nunatsiaq.com/stories/article/microsoft_to_roll_out_...

It always frustrated me that there were Inuktitut and Welsh versions of Microsoft products, but no real (British) English versions of them. Network Neighborhood indeed!


there's a hidden feature I don't like at all. if you double click on the "white area" just inside the border, it goes into a " maximized" state where title bar and menus will disappear.

it's so easy to enter this mode by mistake and no obvious way to get back


People really got deep into their work back then.


Given the limited resources available at the time (cpu, disk, ram, etc) you really HAD to get deep into making things work. Otherwise it'd run far too slowly or need too many resources.


He’s a plumber alright. :)


Apologies for attacking Dave's credibility on an unrelated thread, but his comments on Linux are absolutely falsehoods. He said that all Linux machines have some sort of proprietary blob Linus Torvalds put in there on EVERY release, for his own purposes. Compared to Windows, which is entirely closed source.. I just blocked his channel after that.

https://old.reddit.com/r/linux/comments/rb2xzk/dave_plummer_...

Related falsehoods about Linux's SysRq (now deleted, comments relevant):

https://old.reddit.com/r/linux/comments/rva3ui/so_before_i_g...

Related, his company's settlement for incredibly shady business practices, lying to customers that they "really needed his software, for security of course":

https://www.atg.wa.gov/news/news-releases/attorney-general-s...

https://old.reddit.com/r/linux/comments/rb2xzk/dave_plummer_...


> Not to attack Dave's credibility on an unrelated thread

Isn't that exactly what you're doing? Not saying you shouldn't; 'anything this person says should be taken with a grain of salt, or perhaps even suspicion' with reason seems like a fine point to make.


Good point, I sort of meant "apologies for attacking his credibility on an unrelated thread". Fixed


Well, this post has nothing to do with Linux though, nor Plummer's views on it, and is strictly to do with a subject he has incredible knowledge in. His credibility on-topic seems beyond question, so isn't this just off-topic griping? Hopefully we're not trying to encourage a comment culture where every time a person is involved, the thread is a list of exceptions taken in everything else they've ever done.


he does a load of performance tests too

between bare metal Windows and Linux running under a Microsoft VMM


I wonder whether he actually believes these things, or Microsoft convinced him to knowingly lie about them.


>Microsoft convinced him to knowingly lie about them

He hasn't been employed by Microsoft in a really long time.


Doesn't mean he doesn't have financial interests in them




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

Search: