Tuesday, March 16, 2021

Prevent Docker for Windows Auto Update

I recently installed Docker Desktop in order to then install PiHole on my Windows 10 desktop PC. PiHole is a cool and free little utility that you can install as a Docker container to provide ad blocking capability that goes a step further than a browser ad blocker add-on like say UBlock Origin. Once installed you can have your PC serve as a sort of DNS proxy for your entire network which bypasses a wide array of blacklisted IP addresses and domains.

One annoying and frankly impolite "feature" of Docker Desktop in general is that some time ago (possibly after version 2.5 or thereabouts) they removed an option through the GUI to disable automatic updates. This is irritating because what you might expect happened to me; a newer, buggy version once installed caused Docker to behave erratically and crash frequently. 

I took a quick look at the Docker documentation (Dockermentation??) and while there are command line options to disable auto updates in the Docker daemon I haven't got the patience to figure out what syntax to use; I mean come on, I'm so lazy I'm using Windows 10, right?

Instead I tried to find out where Docker downloads its updated versions, and I believe I found that folder as shown below. From the Start menu you can type in C:\Users\<Windows username>\AppData\Local\Docker Desktop Installer:



Docker's systray icon will conspicuously show a little "i" to inform you of a looming upgrade, and at the next restart of Docker Desktop the upgrade ordinarily will be installed. However, in lazily taking a stab at preventing this behavior I decided to alter the file system attributes of the folder containing the updates to make it and its contents read-only.

The idea is to both prevent updates from being downloaded in the first place, and in case Docker normally attempts to write any temp files to that folder as part of the upgrade process to kneecap its ability to do so and maybe indicate to that logic something's up that makes upgrading a bad idea.



I altered the folder attributes and applied them, then exited Docker via the systray icon and after a minute or so opened the shortcut. I checked the version first of all:



I was rewarded not with Docker dictating the 3.2.x version I'd use going forward, but rather the previous 3.1.x version I downgraded to in order to not get stuck with the buggy behavior of the newer but less stable version. Success!



I also noticed the conspicuous "i" was gone, as if the logic quietly decided the attempt to upgrade never even happened, which is fine by me.

Of course this isn't the optimal way to prevent software from doing its thing despite user preference, but in these "challenging" times laziness reigns supreme in my headspace. Possible caveats may be that the next time you manually upgrade to a newer version you might need to reapply this change to your file system (too lazy to post a batch file to do it, sorry!) but that's minor compared to browsing on my tablet across the house from my PC and having Docker crash and take out my PiHole.



Saturday, January 16, 2021

Gaming vs Government

There are parallels between government and gaming that help disinformation and profits, respectively, thrive.

Today’s games, in particular triple-A titles like Call Of Duty and Star Wars: Battlefront 2, are top-tier games that in addition to offering a fun gaming experience also offer things like swag and other perks in exchange for real-world money.


You might pay upwards of $60 for a game to start, but then indulge in anything from special swag for your in-game character to ammo that does more damage, the former cosmetic but the latter an example of game studios’ so-called pay to win revenue model. Some players might splurge once in a while and buy emblems or weapon skins or clothing, but others go too far, like this teen in India who squandered his father’s life savings to buy in-game merch in the free-to-play game PUBG Mobile.

Game studios are private, for-profit entities for the most part, and the games they produce are a black box to their customers. They might use proprietary code and algorithms that give them an edge over the competition that could be considered trade secrets. That’s the first parallel gaming has with government; certain things simply have no public visibility or are actively withheld from the public.

Among the things a game studio might keep under wraps about its product is how much it seems to care about things like physics. Bullet drop, for example, is pretty faithfully tracked by say PUBG or ARMA 3 or the Battlefield series of games; you need to account for this when sniping especially to ensure you compensate for gravity’s effect on the bullet you just fired at a distant target’s skull hundreds of meters downrange.

Sniper's bullet drop in Battlefield 1.


Call Of Duty notably seems lax as far as “real world” game mechanics go (that is, mechanics that faithfully resemble real-life gunplay and weapon dynamics). You might wonder why that is, but it becomes clearer when you consider the hype surrounding the game.

The term “gaming industry” comes to the fore when you realize what a big business gaming is. Not merely creating and boxing and selling the game itself (more digitally than boxed nowadays, but I digress) but getting that game in front of as many eyeballs as possible to get the owners of those eyeballs excited about the game and want to get involved in it. Ideally this involvement for the play-to-win model, especially, will be in the form of a healthy in-game economy which its players actively participate in.

In generating hype, as is the case with government, truth becomes not only less important but less of a priority. Lawmakers may not push to get new laws on the books for objectively good reasons. Rather, they might’ve been treated in the U.S. for example to perks by lobbyists big and small to earn (or effectively buy) politicians’ attention. Fancy dinners, trips to the Bahamas, and of course “donations” fuel the sway lobbyists have over the politicians holding the keys to the taxpayers’ coffers.


Eventually the origin of and circumstances surrounding the hype become less important than the hype itself. This is key, because it creates an artificial, yet sustainable, relationship between lawmakers and their constituents, and game studios and their customers.

Government and game studios have in common control over what is revealed to outsiders, whether citizens or customers. In government, we the public don’t know who bombed an adversary nation’s ship in the Persian Gulf or fired missiles at their nuclear power plant. In games, we the customers don’t know how the RPG we fired at a helicopter over a kilometer distant managed somehow to knock it out of the sky.


Some things just happen, and when they do, the outcome is spectacular, and for some, profitable.

Call Of Duty is one of the most popular games out there. I focus on it here because I play the free-to-play Warzone flavor of the game, which is to its credit free, but offers players numerous and occasionally irritating reminders that you can pay real money for in-game swag.

It also pigeonholes users (including myself with less than great broadband internet, thanks to a local monopoly and lack of real competition among ISPs) into downloading sometimes ridiculously large updates, often hundreds of MB but for major updates tens of GB. When your ISP charges monthly overage fees (paused initially due to COVID-19 but after some months resumed) free becomes less so. Easier I suppose than selling USB sticks to purchase via snail mail, but more expensive to customers strapped for cash.


Games including Call Of Duty have tournaments that variously claim to test the skills of players in competition either online or on-site (the latter less so given current events). While I have no doubt there are players out there who have gaming skills that remind one of trade craft used by secret agents, that skill is likely not absolutely a reflection purely of their prowess. It instead is modified to suit the game studio’s primary objective to make money.

If a gaming studio wants to generate hype, it might actively seek to distance itself from reality. A particular game’s version of the truth might not reflect the real world. A sniper’s literally long shot from kilometers away might not be a “natural” head shot, but if you ask the game, it is, however inexplicable. 

To the game studio it’s ultimately profitable, which achieves one of their goals. To sustain that goal, enter streamers, gamers who make it their business to play competitively or just for fun online and themselves make bank off their audiences.

Streamers are analogous to government’s taxpaying citizens. Streamers, facilitated by an agency like YouTube or Twitch or other video hosting or streaming services, play to their audience for a share of profits. They generate hype for the games they play which in turn generates new customers, a fraction of whom will pay hand over fist for swag, their or their parents’ wallets permitting.

A streamer in his natural habitat.

Taxpayers working for a living or otherwise obediently and diligently paying their taxes do what they do, and those taxes variously fund initiatives according to the whim of lawmakers and maybe themselves if they manage to make enough noise (something increasingly unlikely especially in a consumerist late-stage capitalist society like the U.S.).

Leaving the USA? Take a lobbyist!


Which would create more hype? A game that mimics a sniper’s reality faithfully? A reality that demands carefully, patiently, tediously stalking their target, lining up a shot, and firing that shot precisely for the golf equivalent of a hole in one of the first person shooter, a headshot? One shot, one kill? Or a game that puts the brakes on reality, and perhaps widens the hit box a bit, so that instead of a target’s brain case being like the head of a pin at a thousand meters is instead like a beach ball at that distance?


Clearly the latter.

Just as government would have citizens believe in different flavors of truth, games would have players, their customers, believe the hype is the truth. For game studios, hype translates into profits. For government, hype translates into power. Both once achieved are far too tempting to surrender, and far too lucrative not to maintain for as long as possible.




Wednesday, September 2, 2020

How To Disable Microsoft Edge On PC


Upon rebooting I discovered that Microsoft Edge once again is shoving itself into my face. Here's how to stop it from doing so, at least until the next Windows 10 update that tries to mandate it.

First off, once Windows 10 loads you'll notice Microsoft Edge has opened a window by default extolling its alleged virtues, offering some tips to get started, and smugly pinning itself to your taskbar like so:

 

No thanks, Microsoft! Here are steps to remove it.

  1. Right-click on the Microsoft Edge icon on the taskbar, then right-click the Microsoft Edge icon in the pop-up menu and click Properties.




  2. From the Microsoft Edge Properties dialog, click Open File Location.




  3. Right-click the msedge Application and then click Rename.




  4. Change the name of the executable file to something other than "msedge.exe". In this example, I rename it to msedgeNOPE.


That's it! Now the next time Windows tries to open Edge after a reboot it will fail because it won't find the filename it expects.

Caveats:

  • You will likely need to repeat these steps anytime Microsoft releases updates to Edge.

  • This is a quick and dirty way to disable Edge. A more elegant way might be to restrict Windows using file permissions to prevent Windows from accessing let alone executing the file, but Microsoft might as part of its update process reapply default access permissions just in case, so beware. 

  • You might also be able to restrict Edge from opening by creating a manual entry in whatever anti-malware software you use to prevent it from executing altogether.

Microsoft tried to monopolize the web browser business through Internet Explorer in the past, and now apparently they're feeling cavalier enough to try again, touting that it's Chromium-powered to make like they're playing nice and engaging with the open source community. 

While commendable on the surface, I really dislike people let alone apps that insist upon getting in my face and being irritating as Microsoft Edge does.