Odd reflection before bed

For the most part, the high point that Windows NT has achieved for me is “Not pissing me off by default” and becoming a fairly decent shell upon which to use the Linux things that I care about without needing a second machine or dual boot, thanks to WSL. The era of Windows 10 also brought iterative improvements to system components I care about like the command line environment. But versus native Linux, the main win for me is better access to DirectX games and Microsoft’s office apps.

But truth is, there are certain parts of Windows that are likely to always piss me off. Namely Bluetooth support, and to a somewhat lesser extent anything related to USB or networking will inevitably drive me nuts given enough time around NT.

Thinking about this as I finish up a few things before bed, I realize I typically like using MacOS. The aspects that piss me off tend to revolve around muscle memory, like how some common PC shortcuts are cmd+key and others are ctrl+key. Which are shell level uniquenesses not systemic design. On that note, I’ll add that I tend to find iOS/iPadOS rather more meh, or average than pleasant.

By contrast things that irk me so about using modern Linux as a desktop are the quality of mail clients, lol.

25 years and moving on

About twenty five years ago, I wondered how well Internet Connection Sharing might work. Well, I did see it work for about 5 minutes until I hit the power cycle test. Then I remembered it’s been that many years without any experience showing that windows should be used as a piece of routing infrastructure.

The first experiment resulted in losing Remote Desktop to Cream and having to fetch an HDMI cable and juggle over my keyboard and mouse. Okay, that’s fair enough, it was a 50/50 shot if I was clicking share on the right interface.

Second experiment actually worked great. Sharing the wireless interface caused Rimuru to gain itself an acceptable DHCP response and route traffic through Cream at 192.168.137.1 and was placed on a similar subnet, complete with access to the one true gateway. Cream’s fan when into hyperdrive but otherwise it was effective.

Third experiment was a fireball. Decided to reboot Cream and verify that it came up, it is my file server after all. At which point everything ceased working and regardless of actions taken, Rimuru can’t get a response from Cream. The only way that Rimuru seems to regain network access through Cream’s Ethernet port is to break out Shion, remote to Cream over the wireless, and toggle the sharing property off and on again on the Wi-Fi interface.

So I think I can say that ICS is a good ad-hoc solution. The kind where you’re in a closet and need an Ethernet to wireless thing and don’t have a Raspberry Pi handy, except most laptops no longer come with wired network adapters. Having failed the great reboot test, I am declaring it ineffective for my purposes versus switching to a mesh network.

Ya know, I’m reminded that letting Cream remain on Windows 10 instead of wiping it out for a load of FreeBSD or Debian was in itself an experiment. Yeah, I guess asking more than Plex and SMB was too much for this experiment. But I suppose I’ve gotten a lot of use out of this little NUC. Even if there’s been plenty of times I’ve wanted to turn it into creamed corn.

Evidence that Windows NT is in fact, the most annoying operating system when it comes to USB, or that me, USB, and Microsoft just don’t mix well += 1.

So, for the day I’ve been rather perturbed that about every ten minutes or so, Rimuru makes the USB enumeration sounds.

Running Device Manager in “Devices by connection” mode allows me to obtain a decent tree view of USB things. Fucking with cables like a mad man allows using the process of elimination to determine what the actual fuck device or port causes this.

Interesting to me, after process of elimination across all ports on my motherboard’s Intel controller and the twin ports on my ASMedia controller, I’ve figured out something interesting about my new Anker hub.

When connected to the ASMedia (directly or extension) the onboard network port shows up as Unknown USB Device (Device Descriptor Request Failed). Likewise, if you insert a memory card into either card slot, no driver letter appears, and it starts making USB enumeration sounds like a mother fucker. Looks like two ports on an NS1081 USB flash card controller judging by the device manager but doesn’t work. Connect something to the Gigabit port and it does not even light up past the hubs power up cycle. This is true even if nothing is connected to the hub’s USB ports, so that it’s a straight shot to the controller’s C port and as minimal a downstream power draw as physically possible (i.e., only the hub’s power LED, network port or sd port).

By contrast, connect the hub to my motherboard’s front USB-C port and instead of Unknown USB Device (Device Descriptor Request Failed) that entry becomes a typical AIX based USB Ethernet port. Didn’t try the card slots when connected to the Intel controller, but I imagine they would work in that configuration.

So, this boils down to when connected to the Intel controller the hub works just fine and when connected to the ASMedia controller, the bridge chips on the hub don’t work.

Also, by contrast if I swap in one of the HooToo USB-C hubs that are so ubiquitous on Amazon, it just works fine regardless of which USB controller it is connected to.

Yeah. Pretty much by down, I don’t really care which vendor is the problem child here. Fuck’em all.

Windows: oh, so poorly defined

Wondering what the heck Rimuru is so lethargic at I/O, to the point that programs take minutes to launch from the start menu and Explorer instances minutes to refresh.

Task Manager reports that my NVMe drive is at locked on 100% but only registers tens of MB/s in I/O. That’s kind of silly in more ways than one.

Running perfmon /res from PowerShell, imagine my greater surprise when the Resource Monitor paints the finger at PID 4, SYSTEM and shows executable files from the new XBox advanced management feature.

Now here’s the real kicker! Of the top three entries two are for a file that no longer exists on disk because I uninstalled the game a few weeks ago. Both marked at roughly 10~11 MB/s reads if you translate the B/s into reality. The third is installed but is registering ~4.5 MB/s reads for a file that is 600 something KB in size.

But I suspect that this non-sense is also a red herring, as system performance has leveled off despite the silly entries in the monitor. Whatever really sledgehammered the drive at startup is likely long since gone by the time I could get the monitors up and running.

That said, I kind of have to wonder what kind of I/O pattern could possibly register tens of megabytes of reads on a file that does not exist for thirty plus minutes and going, and if it did exist, would probably fit on a floppy diskette with plenty of room to spare.

Little Smiles

One of the things I’ve generally adapted to is using a local mail client again at home. Something, I sort of blame on a mixture of work and my tablet-first life style. As such, given my deep annoyance for most mail clients above the scope of mailx and mutt, I’ve mostly suffered the native Windows mail app. In particular because such applications are about the only good way to integrate my contacts and calendar accounts with the modern desktop. For me it’s worked out, since I also hate clients like Thunderbird and Outlook but suffer them just the same.

Something that has long irked me is how Windows Mail defaults to showing a couple folders (inbox, drafts, sent) and none of the many folders my mail accounts are organized into. Thus, I get a little smile when I realize the fancy spancy modern looking menu supports right clicks and defines this ridiculously short list as “Favorites”.

That’s at least one less annoyance :).

Tech things that mildly worry me

I find it just a bit worrisome how often I remember shortcuts for running the MMC‘s various faces.

PS C:UsersTerry> gci C:WindowsSystem32*.msc


Directory: C:WindowsSystem32


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2019-12-07 04:09 41587 azman.msc
-a---- 2019-12-07 04:09 63081 certlm.msc
-a---- 2019-12-07 04:09 63070 certmgr.msc
-a---- 2019-12-07 04:08 124118 comexp.msc
-a---- 2019-12-07 04:09 113256 compmgmt.msc
-a---- 2019-12-07 04:09 145622 devmgmt.msc
-a---- 2019-12-07 04:09 13091 DevModeRunAsUserConfig.msc
-a---- 2019-12-07 04:08 47682 diskmgmt.msc
-a---- 2019-12-07 04:09 145127 eventvwr.msc
-a---- 2019-12-07 04:09 144909 fsmgmt.msc
-a---- 2019-12-07 04:53 147439 gpedit.msc
-a---- 2019-12-07 04:08 144998 lusrmgr.msc
-a---- 2019-12-07 04:09 145519 perfmon.msc
-a---- 2019-10-15 09:53 146389 printmanagement.msc
-a---- 2019-12-07 04:53 43566 rsop.msc
-a---- 2019-12-07 04:53 120458 secpol.msc
-a---- 2019-12-07 04:09 92746 services.msc
-a---- 2019-12-07 04:09 145059 taskschd.msc
-a---- 2019-12-07 04:08 144862 tpm.msc
-a---- 2019-12-07 06:19 144967 virtmgmt.msc
-a---- 2019-12-07 04:08 115109 WF.msc
-a---- 2019-12-07 04:08 144673 WmiMgmt.msc

In most cases I’m more likely to do foo.msc from a command prompt than go hunt down what I want through the start menu or other methods. Despite my background having focused heavily on unix systems, I’ve actually have learned a fair bit of NT over the past 15~20 years. Don’t think I’ll ever enjoy the care and feeding of Windows systems but it does come with the computer nerd territory, I suppose.

When you consider that for much of the past fifteen or so, the main reason I’ve kept Windows around has been for video games it may be kind of sad and worrisome, lol.

 So of the various ways that Windows NT pisses me off, one is networking.

Years of roaming between my home and work networks never made my Debian partition miss a beat. But with the Windows partition, it often decides to give me the finger.

Home/DHCP and Work/Static shouldn’t be an issue, but however I’ve managed to achieve the state (more than once) it decides that Work/DNS servers should be used in place of Home/DHCP lease. Which of course means pain in my arse.

The various methods of stabbing NT’s network stack with a spork through netsh and ipconfig didn’t help me, or I’ve never learned more useful pressure points. Regardless the applied settings don’t match what I’ve tried to configure on the connection nor the adapter through both the modern and old interface.

What finally works is this: https://superuser.com/a/1464468/295120

Hunted down the entry that corresponds to my pain woe and purged the value of ProfileNameServer for both tcpip and tcpip6. Vola the mother fucker switches back to the DNS in my DHCP lease.

Sigh.

Windows Me, 20 Years Later: Was It Really That Bad?

While Millennium Edition is mostly remembered as a disastrous hell pit: it did try to roll up quite a few odds and ends. That’s probably part of why it was so buggy, and XP had more time.
To be fair the Windows 9x line probably brought their operating system as far forward as it could really go without dropping the relationship to MS-DOS. A compatibility issue of decreasing importance by the time 98 SE reached customers, and more and more software came to expect a 32-bit Windows and modern memory management units.
XP is itself long post it’s throw out date: but was definitely a step in the right direction. Part of me remembers it fondly because it was the first time we really had a computing environment that could play games, and want e limited by outdated hardware. At the same time the shiny of business as usual left me ready for a unix environment long beds XP itself became outdated.
Part of me rather wonders what the modern desktop might look like if Microsoft would of had as much ownership of Xenix as they ended up with NT. At least few of us really need MS-DOS or 286 compatibility today as much as we may want Windows 98 or XP compatibility.

Thinking over my experiment, I think I can principally call it a success. Over the past ~three weeks, I’ve managed to not go out of my cottin pickin’ mind and want to flip my NT partition out a window. 

As someone that’s principally had a FreeBSD or Debian setup on hand for the past fifteen years, I’m going to call that signs of progress on Microsoft’s part. Because while there are worts here and there using a X session: traditionally they piss me off less than Windows.

Since the experiment began I’ve made numerous changes, but mostly small ones.

The freaky SD card freezes Explorer thing hasn’t happened in ages, so I can probably thank updates for that. Likewise I find turning my keyboard off before power down seems to result in less having to repair the damned thing. Pretty stable for the most part.

IIS is definitely slow as dog poop compared to lighttpd, but given how easy it is to lock it down to a specific network, I’ll forgive that.

The thing I miss the most is how copy/paste works in X. The whole thing about ^C/^V versus the mouse selection and clicking the middle mouse button is really helpful when you’re copying between a terminal and a note editor. The select / right click thing with modern Windows terminal emulators and console things, not so much. But that was also something I disliked about using Android and a monitor anyway.

Since modern Linux tends to treat otherwise available memory like a ramdisk, and buffers the crap out of it for faster file I/O, I’ve made a small tweak to WSL2 setup:

PS > type ..wslconfig
[wsl2]
# default is 80%, or about 12.8 if you’ve got 16GB.
memory=8GB
# Default is 25%, or about 4GB if you’ve got 16GB
# It’s a VHDX file used as swap: not system virtual memory.
#swap=?

Effectively limiting WSL2 to half my system’s physical memory. Otherwise I’ll find myself with 300~400 MB free in task manager. Some of the projects I work on generate ~20 GB of files and general nut punches memory.

That my desktop sessions on W10 usually burn up to 3.5 ~ 6.5 GB according to Task Manager, this further increments my desire that my next machine offer at least 32 GB of RAM. Because 640 KB isn’t enough for anything anymore 🤣.

As most of my interests revolve around an xterm session, WSL works pretty damned good for me. Enough so that using Xfce4 and Thunar vs NT’s DWM and Explorer aren’t as large an impact as the change from Davmail + Thunderbird to ActiveSync and Windows Mail.

Much to my amusement if I do the old “Send to” -> “Mail recipient” trick, I get an error message that there is no program for that. Actually, I can’t remember what decade I last actually tried that. But I’m pretty sure that XP or ’98 was still sexy at the time.

I’ve been happy to see that Windows Terminal has come along nicely. When I tried it very early on, I found it annoying because I abuse bash’s classic line editing instead of using notepad like shortcuts. No frustrations or interference with a release version of Windows Terminal; in fact my only negative comment is the fancy pane split stuff isn’t the same as tmux or screen, hehe.

Spending more time on Windows 10 than normal, I find myself reminded that it’s been about a decade since I figured I should learn how to use PowerShell. While I mostly skipped having to care about batch files in command.com, I have had no such luck avoiding cmd.exe in my life. And PowerShell frequently reminds me how nicer it is–if only I’d have the time to learn it as well as I do bash and general Bourne Shell voodoo.

My little experiment of using Windows 10 Pro instead of Debian Buster was meant to answer the question “Can I” use NT as my main development and work platform. The question of “Should I” however is a different one. That I haven’t gone insane is a positive. That I’ve tried at all of course indicates that I may be a tad more insane than normal.

But hey, I spent many years using Android as a desktop replacement, so I’m obviously crazy to begin with ^_^.