Microsoft Windows for the avoidant
February 11, 2017 — December 8, 2023
1 Getting windows in a fit state for civilized usage
Martin Hoye said this perfectly:
I have modest requirements for “tolerable”, I’d like to think, but the process of getting Windows there from the defaults is really gritty. Microsoft’s front-end designers have done heroic work keeping their company’s quarterly bonus plan from bursting out of Windows’ chest like a Xenomorph with a Two-Week Executive MBA certificate, but you can see the Redmond incentive structure straining against their efforts at every turn, squirming in the ribcage of every undulating interaction. But the raw material we need is in there. We just need to scrape off a few layers of short term thinking.
The “tolerable” that I’m asking for isn’t really much muchness. I want to not see advertisements, popups or anything I don’t specifically ask for. I want to choose what’s in my taskbar and desktop and what’s not, and I’d like to have both of those things without signing up for accounts or services I don’t particularly want, need or trust.
You’d think that would be an easy bar to clear but the entire Win11 start-me-up experience has reminded me of a distinction I’ve seen drawn between “industry” and “business”; that is, “process improvement” v. “value extraction”. It’s a useful oversimplification but I think the stark difference between Win11 and, say, Win7 isn’t technical or cosmetic, but epistemic.
Windows 7, for any flaws it had, manifested a belief that process improvements were the way to give users something more valuable; Windows 11 treats whatever value you can extract from those users as the metric by which process improvement is judged. That’s the opposite of what you’d want as a customer, but it’s so much easier to measure and that means it’s easier to manage and that has to be the same as better, right?
1.1 Minimising advertising
Modern Windows is some kind of spam factory designed to distract you from what you came here for. This can be ameliorated but not fixed. See How to Disable All of Windows 10’s Built-in Advertising. I would happily pay $50 extra licensing fees for all advertising to be excluded from Windows, but that’s not an option they offer plebeians.
1.2 Package management
Missing homebrew
, the excellent Mac package manager? (I presume no one misses yum
or dpkg
, the adequate-but-stodgy Linux package managers.) A Windows equivalent seems to be Chocolatey. I’ve found no use for it yet, since everything I’ve needed so far seems to be in the Linux ecosystem. But your mileage will surely vary.
2 Conveniences
Debbie Ding solved a bunch of problems for me at once, recommending everything for search (free, looks fancy but closed-source), wox as a spotlight replacement (open source) and seer ($12.18) as a quicklook near-replacement.
The “power user” toolkit microsoft/PowerToys includes several tweaks to civilize the computing experience.
2.1 Clipboard management
See clipboard managers for the general case. Since 10.2018, Windows has good clipboard management though and I would not bother installing anything extra.
2.2 Fresh.app equivalents
I want to have all my recently opened files and folders accessible with a keyboard shortcut. Who would not want that? People who do menially repetitive and narrow tasks, I suppose.
- zazu might do this?
- Or resurrect the recent files feature.
- Or the catchily-named Open Save Files View?
- Maybe a built-in search could be hotkey’d?
2.3 Application switching
3 Terminals
Cmder seems fine.
4 Securing things
Decent outgoing firewall? Complicated, but Windows Firewall Control comes recommended.
Disk encryption? Bitlocker is only for Windows Professional? Probably better than nothing.
Update: Bitlocker ran well for about a month on my computer, then it bricked and no longer unlocks. Then I threw my Windows computer into the ewaste.
5 SSH
Install OpenSSH. It is easy via Windows settings, or slightly more complicated via PowerShell, if I want the SSH server as well at least.
6 Services
NSSM - the Non-Sucking Service Manager
nssm is a service helper which doesn’t suck. srvany and other service helper programs suck because they don’t handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it’s running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.
7 Mouse/trackpad
Scroll wheel natural scrolling is available only via some tedious horror of manual tweaking in Registry Editor, or via powershell script:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopHScroll -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopHScroll 1 }
Run that every time you plug a new mouse in, then unplug the mouse and plug it back in again.
Or use the FlipFlopWheel script.
8 AV
8.1 codecs
K-Lite Codec Pack Mega is necessary to get Windows talking to macOS and Linux regarding media formats (thanks for the tip, Ableton.) There is some complicated configuration and possible clashes between solutions; be careful.
8.2 Where are my VSTs?
Here:
To save veeeery long load times for plugins every time you change your sample rate, I can try excluding plugins from Windows Defender. This is probably a security risk.
9 Filesystem cantrips
9.1 Case-sensitive windows files system
NTFS is optionally case-sensitive. This is how you enable that via powershell.
<#
.RESOURCES
Windows Central — How to enable NTFS support to treat folders as case sensitive on Windows 10
https://www.windowscentral.com/how-enable-ntfs-treat-folders-case-sensitive-windows-10
#>
# Root of the folder you want to enable/ disable case sensitivity for
[string] $PathRoot = 'folder here'
# Enable ($true) or Disable ($false) CaseSensitivity
[bool] $EnableCaseSensitivity = $true
# Loop all folders, apply SetCaseSensitivityInfo
@(Get-ChildItem -Path $PathRoot -Recurse -Directory | Select-Object -ExpandProperty 'FullName') | ForEach-Object {
cmd /c ('fsutil.exe file SetCaseSensitiveInfo "{0}" {1}' -f ($_,$(if($EnableCaseSensitivity){'enable'}else{'disable'})))
}
9.2 Burning USB boot drives
See flashing USB drives.
9.3 Reading Linux FS
Ext4
etc can be handled by Paragon extfs for windows (USD20).
9.4 Dual boot
When making space on a computer for Linux by shrinking the Windows partition, hiccups can arise. Mihai Neacsu, How to shrink a disk volume beyond the point where any unmovable files are located. Alex Che gives some useful tips about failure modes of the above method.
9.5 Windows Subsystem for Linux
A Linux that runs inside Windows, kinda. Well supported; for information, see WSL.
Alternatively there are some classic alternatives…
9.6 Cygwin derivatives
Cygwin, is that still a thing? Gus pointed out in the comments, yes it is. This and the recent MSYS2 get you lots of Linux and Linux adjacent technology inside Windows.
9.7 Partition management
Keywords: diskpart
, bcdedit
, bcdboot
.
9.8 Disk encryption
TBD
10 Headless usage
apt install powershell
apt install krb5-multidev
ldconfig
apt-get install krb5-user
# Ensure `/etc/krb5.conf` default_realm is set to YOUR.REALM. You should get the correct result when you run the following command
pwsh
Enter-PSSession -Credential YOUR.REALM\<ident> -Authentication Kerberos <windows_machine_address>
11 Replacing Windows with clones of Windows
- reactos duplicates Windows but is open source
- wine runs Windows programs on Linux/macOS
- Crossover (USD60) is a friendlier commercial version of wine. The compatibility testing is worth the price of admission.
- Looking Glass is a Windows VM with special support for high performance GPU app