The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘Power User’ Category

Driver Store-File Repository using huge disk space. How can I reduce – Microsoft Community

Posted by jpluimers on 2022/03/18

[WayBack] Driver Store-File Repository using huge disk space. How can I reduce – Microsoft Community

Try deleting the unneeded drivers by following the steps below:

  1. On the search bar, type command prompt, right-click on it from the list then run it as Administrator.
  2. Type the command pnputil.exe /e > c:\drivers.txt then click Enter.
  3. This command will create a file drivers.txt on C: drive with the list of driver packages that are stored in the File Repository folder.
  4. Delete all unnecessary drivers with the help of command pnputil.exe /d oemNN.inf (NN — is a number of drivers file package from drivers.txt, as example oem07.inf). In case the driver is in use, you will see an error while trying delete it.

This can happen if you swapped a lot of hardware around. Especially graphics drivers tend to be bloatware.

Note this only deletes uninstalled drivers. The problem: some driver software, especially video drivers, keeps parts installed, even during uninstall, and even when running in Safe Mode.

Examples for AMD:

Booting in Safe Mode

One of the nagging Windows 10 things is that out of the box it is hard to boot in safe mode: you have to reset and fail the boot your Windows system multiple times, or you have to hold a shift key (which some BIOS versions do not allow).

Luckily, you can reset the “press F8 during boot” behaviour of older Windows versions:

  1. Start an administrative command prompt (confirm UAC elevation if needed)
  2. Run this command (the bold changes the setting; the others keep track of the changes and show the difference):
    bcdedit /enum > %temp%\bcdedit.original.txt
    bcdedit /set {bootmgr} DisplayBootMenu true
    bcdedit /enum > %temp%\bcdedit.F8-enabled.txt
    fc %temp%\bcdedit.original.txt %temp%\bcdedit.F8-enabled.txt

    (many sites you also need to run something like bcdedit /set {default} bootmenupolicy legacy or bcdedit /set {current} bootmenupolicy legacy or replace the “default” and “current” with the boot option of your choice, but that is not needed)

  3. Reboot
  4. Press F8 once (not multiple times!) as soon as the boot screen appears

    Do not press F8 twice, as it usually runs the mode with early loading of anti-virus software disabled.

  5. Press F4 for “Safe Mode”

This works way better than holding the shift key during rebooting: often that does not work on the machines I tried it on (despite [WayBack] How to boot Windows 10 in Safe Mode – CCleaner.com claiming it should work).

Notes

The DisplayBootMenu for bootmgr (which I found via [WayBack] Boot menu policy – set text or graphical style boot menu Windows 8) seems only documented for Azure site:docs.microsoft.com “bcdedit” “DisplayBootMenu” “bootmgr” – Google Search:

[WayBack] Azure Serial Console for Windows | Microsoft Docs

Disregard the official documentation and other links indicating about bootmenupolicy as they require you to set it for each boot configuration, while setting DisplayBootMenu for bootmgr sets it for all configurations at once:

Without bcdedit, be prepared for lengthy steps:

Boot menu options enabled

These options will be enabled when you have a boot menu (the numbers are the number keys or function keys to press in order to activate the option) via [Archive.is] Windows Startup Settings (including safe mode) – Windows Help:

  1. Enable debugging
  2. Enable boot logging
  3. Enable low-resolution video (640×480)
  4. Enable Safe Mode
  5. Enable Safe Mode with Networking
  6. Enable Safe Mode with Command Prompt
  7. Disable driver signature enforcement
  8. Disable early launch anti-malware protection
  9. Disable automatic restart after failure

[WayBack] Image via [WayBack] Image Search from [WayBack] How to Fix a Computer That Won’t Start in Safe Mode:

Uninstall display drivers

The most effective way to fully get rid of a video driver is to run DDU (Display Driver Uninstaller) in Safe Mode.

I found it via [WayBack] Windows downgrade my Radeon Software down to 15.11 | Community.

–jeroen

Read the rest of this entry »

Posted in Power User, Windows, Windows 10 | Leave a Comment »

Uitstel aanvragen belastingaangifte 2021 – hoe doe ik dat?

Posted by jpluimers on 2022/03/18

[Wayback/Archive] Uitstel aanvragen belastingaangifte 2021 – hoe doe ik dat?

Read the rest of this entry »

Posted in LifeHacker, Power User | Leave a Comment »

Some of my wp-admin links, as WordPress.com is hiding access to classic-editor and wp-admin links more and more

Posted by jpluimers on 2022/03/18

For my link list as WordPress.com is actively hiding them:

Notes

You can see the old versus new infrastructure by comparing these branches:

WordPress.com does not have the “Classic Editor” plugin, but just gradually discourages use of the old infrastructure which is far more feature rich, thereby screwing old users.

Some of these features from the old infrastructure that are gone (despite the pretentious name of the Gutenberg editor):

  • Posts/Pages/Tags/Categories/Comments overviews are paginated, can be filtered and have bulk-actions
  • Classic-Editor has lots of useful keyboard shortcuts and allows for nested quotes

For reference, WordPress – Wikipedia: Gutenberg versus classic-editor:

WordPress 5.0 “Bebo”[edit]

The December 2018 release of WordPress 5.0, “Bebo”, is named in homage to the pioneering Cuban jazz musician Bebo Valdés.[90]

It included a new default editor “Gutenberg” – a block-based editor; it allows users to modify their displayed content in a much more user friendly way than prior iterations. Blocks are abstract units of markup that, composed together, form the content or layout of a web page.[91] Past content that was created on WordPress pages is listed under what is referred to as a Classic Block.[92] Prior to Gutenberg, there were several block-based editors available as WordPress plugins, e.g. Elementor, and following the release of Gutenberg Elementor was compared to existing plugins.[93][94]

Classic Editor plugin[edit]

The Classic Editor Plugin was created as a result of User preferences and helped website developers maintain past plugins only compatible with WordPress 4.9.8, giving plugin developers time to get their plugins updated & compatible with the 5.0 release. Having the Classic Editor plugin installed restores the “classic” editing experience that WordPress has had up until the WordPress 5.0 release.[95] The Classic Editor Plugin will be supported at least until 2022.[96]

The Classic Editor plugin is active on over 5,000,000 installations of WordPress.[97]

–jeroen

Posted in Classic editor, Development, Gutenberg editor, Power User, SocialMedia, Software Development, Web Development, WordPress, WordPress | Leave a Comment »

ardour – the digital audio workstation: Record, Edit, and Mix on Linux, macOS and Windows

Posted by jpluimers on 2022/03/17

Given that Audacity became toxic last year, and I should have recovered enough to be both working again and having energy to do audio processing, I should install [Wayback] ardour – the digital audio workstation

[Wayback/Archive.is] Ardour repositories:

Via: [Wayback] Kristian Köhntopp on Twitter: “Ardoer… “ (in response to Bye, bye Audacity)

[Wayback] Audacity Is Now A Possible Spyware, Remove It ASAP

–jeroen

Read the rest of this entry »

Posted in About, Audacity, Audio, LifeHacker, Media, Music, Personal, Power User | Leave a Comment »

Some notes on replacing parts of a text file with template text using sed on a Busybox system

Posted by jpluimers on 2022/03/17

Note before you think about putting stuff in /etc/rc.local.d/local.sh: that script will not be executed when UEFI booting.

In a very lightweight Busybox system, I wanted to modify some configuration files automatically using fragments stored in template files.

The system has diff, but no patch.

The basic idea is to use sed to insert the template files into certain spots of the configuration file when certain marker texts are not present. So I want the opposite of [Wayback] Hey Stephen Wood: Try patch instead of sed in shell scripts.

Basically the idea is a poor-man’s patch, described in Too bad: ESXi busybox has diff, but not patch « The Wiert Corner – irregular stream of stuff.

Some links that might help me with this:

One alternative would have been to use ed (which is part of the normal Busybox), but ESXi Busybox omits ed like it omits patch.

Too bad that sed commands are too different from ed commands, as I could have used diff -e on another system based on ideas here:

I might give it one more go, as vi is sort of derived from ed via ex (see vi: Creation – Wikipedia), which means that vi “colon mode” (officially command mode: [Wayback] Vim documentation: cmdline) is very similar to ed.

Another alternative would be awk, but I have done so little work with it awk, that I’m hesitating to use a new tool. Some links:

And finally, ash could be used:

The kind of modifications I am after

Below are a few links with examples of the kind of modifications I want to make. Most patch just /etc/rc.local.d/local.sh, but some others introduce other changes as well.

Note that especially with networking settings, local.sh commands might not have any effect (for instance when having slow DHCP or other network issues), see for instance [Wayback/Archive.is] I’m running ESXi 5.5 and my persistent route in local.sh is not taking effect after boot. : vmware.

There is a very convoluted way around using local.sh by using the VIB authoring tool as described in [Wayback] How to create persistent firewall rules on ESXi. It requires lowering the software acceptance level to Community Supported (esxcli software acceptance set --level=CommunitySupported), which gives you a hard time installing ESXi updates.

I got that VIB idea from [Wayback] Solved: Re: Persistent firewall rule – VMware Technology Network VMTN, as:

The local.sh file gets overwritten often with upgrades so it would mean another step during the process.

From the same thread comes [Wayback] Solved: Re: Persistent firewall rule – VMware Technology Network VMTN

set the sticky bit on your separate xml-file – then it will be backed up and persist through reboot: chmod +t

run backup manually before the first reboot: /sbin/auto-backup.sh  because backup runs only once per hour

Within vSphere, one could use [Wayback] Configure ESXi Hosts with Host Profiles, but a standalone ESXi box is not part of vSphere, so that won’t work.

ESXi 7 and up

ESXi 7 makes the above harder as for instance user root cannot change file rights any more, so eventually I might revert to a VM that auto-boots when ESXi comes up, then patches the right files in place over PowerCLI (read-only) or SSH.

Need to give this some thought later:

–jeroen

Posted in *nix, *nix-tools, ash/dash, ash/dash development, Awk, BusyBox, Development, ESXi6, ESXi6.5, ESXi6.7, ESXi7, Power User, PowerCLI, Scripting, sed, sed script, Software Development, Virtualization, VMware, VMware ESXi | Leave a Comment »

Digital accessibility is hard; Wayback archival of: Formulieren – CIZ

Posted by jpluimers on 2022/03/17

I know that digital accessibility does not come for free, but it is mandatory in Europe for at least documents and web-sites provided by government and semi-government as per [Wayback] EN 301 549 – Wikipedia

EN 301 549 is a European standard for digital accessibility. It specifies requirements for information and communications technology to be accessible for people with disabilities.

I bumped into numerous tab-order issues when filling out CIZ forms. This makes it way harder for my, as now I require a mouse despite having RSI symptoms for some 30+ years.

So, for my link archive so I can document that all these forms have severe tab-order issues (some fields are not even accessible by keyboard, are being emptied when you leave the field, or not even accessible by mouse): [Wayback] Formulieren – CIZ

Doet u een aanvraag bij het CIZ? Op deze pagina vindt u een overzicht van onze formulieren, zoals een machtigingsformulier en het Wlz-aanvraagformulier.

Hopefully by now the forms have been fixed.

Via:

Read the rest of this entry »

Posted in About, InternetArchive, LifeHacker, Personal, Power User, WayBack machine | Leave a Comment »

Installing Wireshark on MacOS is not as simple as `brew install wireshark`

Posted by jpluimers on 2022/03/16

I wish that MacOS Homebrew would warn in advance of any caveates instead of after installing.

Only after brew install wireshark [Wayback] it is told that:

==> wireshark cask is installed, skipping link.
==> Caveats
This formula only installs the command-line utilities by default.

Install Wireshark.app with Homebrew Cask:
  brew install --cask wireshark

If your list of available capture interfaces is empty
(default macOS behavior), install ChmodBPF:
  brew install --cask wireshark-chmodbpf

Now what? Do I need to uninstall Wireshark first, or does the cask stuff just work when it is installed?

These two do not make me happy:

Related:

–jeroen

Posted in Apple, Home brew / homebrew, Mac OS X / OS X / MacOS, Power User | Leave a Comment »

Jilles posted a small script to show offline/online status based on ping

Posted by jpluimers on 2022/03/16

Jilles posted a small script to show offline/online status based on ping in [Archive.is] Jilles on Twitter: “#!/bin/bash HOST={1ST HOP HERE} while true;do p=$(ping -c1 $HOST) if [ $? -ne 0 ];then s=offline else s=online\ fi echo $(date +%F\ %T) $s – $(echo $p | sed -e ‘s/^PING.*— 1/1/g’) sleep 10 done”

#!/bin/bash
HOST={1ST HOP HERE}
while true;do
  p=$(ping -c1 $HOST)
  if [ $? -ne 0 ];then
    s=offline
  else
    s=online\ 
  fi
  echo $(date +%F\ %T) $s - $(echo $p | sed -e 's/^PING.*--- 1/1/g')
  sleep 10
done

The reason was that his ISP had connection problems for the block of homes where Jilles lives.

–jeroen

Read the rest of this entry »

Posted in *nix, *nix-tools, bash, bash, Development, grep, Power User, Scripting, sed, Software Development | Leave a Comment »

Fixed Windows Update errors 0x80070643 and 0x80073712 in one go

Posted by jpluimers on 2022/03/15

The below image is Dutch, but it presents Windows Update errors [Wayback] 0x80070643 and [Wayback] 0x80073712. The first happened when any update was installed after the second occurred.

My hunch was that both were related, so fixing the second should fix the first.

Windows update errors 0x80070643 and 0x80073712

Windows update errors 0x80070643 and 0x80073712

Try 0: reboot

The first step in any odd error is trying to reboot.

Try 1: cleanup

With most Windows Update errors, after rebooting, I usually check disk space (since quite a few of my Windows installs are VMs, so I need to keep VM disk sizes low enough to be able to store all these VMs): there was a comfortable 13 gigabytes free.

Running cleanmgr.exe showed some 5 gigabytes was taken by Windows Update files and almost 1.5 gigabyte by Windows Delivery Optimisation. Cleaning that up brought the free space to almost 20 gigabytes and clear any potential download corruptions: they happen, despite TLS.

Oh Delivery Optimization is just a distributed peer-to-peer cache of Windows related updates, see List of Microsoft Windows components: Services – Wikipedia and [Wayback] Delivery Optimization for Windows 10 updates – Windows Deployment | Microsoft Docs.

Try 2: run the console version of the the Windows Update troubleshooter

After cleanup did not resolve the issue, so the next step is to either run the [Wayback] GUI version of the Windows Update Troubleshooter or from the console equivalent using the below DISM statements.

The below steps are from [Wayback] Windows Update error 0x80073712, but many other sources describe the same steps:

  1. Start a Command Prompt as elevated Administrator

  2. In the Administrator: Command Prompt window, type the following commands. Press the Enter key after each command:

    DISM.exe /Online /Cleanup-image /Scanhealth

    DISM.exe /Online /Cleanup-image /Restorehealth

  3. When finished, re-run the updates

Note that DISM can take a very long time, even on a recently installed Windows machine: the first took 5 minutes, the second also 5 minutes on a VM that was backed with fast SSD storage and had plenty of CPU and memory. These are my results show no corruption, but did repair the problem:

C:\temp>DISM.exe /Online /Cleanup-image /Scanhealth

Deployment Image Servicing and Management tool
Version: 10.0.19041.844

Image Version: 10.0.19043.1052

[==========================100.0%==========================] No component store corruption detected.
The operation completed successfully.

C:\bin\bin>DISM.exe /Online /Cleanup-image /Restorehealth

Deployment Image Servicing and Management tool
Version: 10.0.19041.844

Image Version: 10.0.19043.1052

[==========================100.0%==========================] The restore operation completed successfully.
The operation completed successfully.

C:\temp>

Success

Despite DISM not showing any issues, it did repair the problem.

A retry of the updates (without even rebooting) showed a successful update requiring a reboot:

Success: updates were installed and Windows wanted to reboot

Success: updates were installed and Windows wanted to reboot

More to try

If the above fail, there are two more things to try: reset the whole update mechanism, or verify/repair the .NET framework integrity.

Repairing the .NET framework (specifically for 0x80070643)

Via [Wayback] Windows Update – error 0x80070643 – Microsoft Community.

From [Wayback] Download Microsoft .NET Framework Repair Tool from Official Microsoft Download Center, download NetFxRepairTool.exe (the actual download is via the [Wayback] Download Microsoft .NET Framework Repair Tool from Official Microsoft Download Center:confirmation at [Wayback] download.microsoft.com/download/2/B/D/2BDE5459-2225-48B8-830C-AE19CAF038F1/NetFxRepairTool.exe) and run it.

Resetting the Windows Update mechanism

This is a two part exercise of which the second part is not always needed.

First part: start with a fresh %windir%\SoftwareDistribution

Suggested by for instance

Run these commands in an Administrator elevated command prompt:

net stop wuauserv
rename %windir%\SoftwareDistribution SoftwareDistribution.old
net start wuauserv

If after this, Windows updates work again, then recursively delete the %windir%\SoftwareDistribution folder.

Second part: start with a fresh %windir%\System32\catroot2

Order slightly corrected from [Wayback] Can’t rename Catroot2 and SoftwareDistribution folder in Windows – Microsoft Community because of service dependencies:

net stop bits
net stop wuauserv
net stop cryptsvc
rename %windir%\System32\catroot2 catroot2 .old
net start bits
net start wuauserv
net start cryptsvc

Note that some sources

  • indicate you need to stop and start msiserver too, but that does not seem necessary any more.
  • fail to indicate you need to stop and start cryptsvc, but that is indeed needed.

Third: fully reset the Windows Update mechanism

This is hardly needed, but [Wayback] Windows Update – Additional resources – Windows Deployment | Microsoft Docs has even more steps to fully reset the Windows Update components on your system.

–jeroen

 

Posted in Power User, Windows, Windows 10 | Leave a Comment »

How to access Archive.org’s Google+ communities archive? : googleplus

Posted by jpluimers on 2022/03/15

On my research list: [Wayback/Archive.is] How to access Archive.org’s Google+ communities archive? : googleplus, as there are so many interesting programming related posts there.

The main takeaway is that in order to access an archived Google+ post, you need to know or be able to reconstruct the canonical URL with language specifier to the Google+ post, see the comment in the first related link below.

It looks that for my archived profile links Wayback – Google+: Jeroen Wiert Pluimers (UUID) / Wayback – Google+: Jeroen Wiert Pluimers (user name) only some 30 links were archived directly through the WayBack save-as feature based on my UUID and some 250 based on my username profile:

. Hopefully more

Some related links:

  1. [Wayback/Archive.is] dredmorbius comments on How to access Archive.org’s Google+ communities archive?

    dredmorbius Author of the article you’ve linked.

    Unfortunately, no, there’s not a really good way of finding content on the Internet Archive’s WBM, unless you already know the URL(s) you’re looking for.

    Keep in mind that:

    • Not everything got captured. I’ve been having a discussion with another G+ user over this, and spot-checking multiple URLs finds no archive of many.

    • There are several variants of G+ post URLs. You want the one with the 20-digit numeric UUID, and NOT the “vanity url” +FirstnameLastname format.

    • Also strip out any instances of /u/[0-9]+/ within the URL. E.g., if you see “https://plus.google.com/u/0/<UUID>”, change that to “https://plus.google.com/<UUID>” (where UUID is the numeric user string).

    • User profile homepages are frequently archived, but the visible posts cannot themselves be opened. This is … unfortunate.

    • Similarly: only the first page of an infinite scroll of User, Brand, Collection, Community, etc., pages is captured. Unless there are multiple captures over time, you’re not going to get a full user history there.

    Generally, your best bet is to have some link to G+ content that you can convert to the appropriate format as Internet Archive might have saved, and check to see if it’s stored. Again, this is tedious, though at least in many cases, useful.

    There’s a list of some of the more notable G+ users and Communities at PlexodusWiki which may also be helpful in tracking down specific references.

    Also: it turns out that slight variations in URL format can mean you do or don’t find a page.

    I just ran into this trying to track down a post and discovered that the URL arguments — here a language specifier — are critical in returning the intended post.

    Discussion: https://mastodon.cloud/@dredmorbius/103592826938741244

    The fully qualified G+ URL is found: https://web.archive.org/web/20190325032955/https://plus.google.com/104092656004159577193/posts/4REjF1smHpE?hl=en

    But stripping off ?hl=en, even when wildcarded, is not:

    https://web.archive.org/web/2019*/https://plus.google.com/104092656004159577193/posts/4REjF1smHpE

    Unfortunately, the IA’s WBM requires JS to return content, which means that simple means of testing with common shell tools in scripts (allowing a large number of candidate URIs to be checked quickly) isn’t possible.

  2. [Wayback] Doc Edward Morbius ❌​: “@woozle@toot.cat You might also try appending “?h…” – mastodon.cloud
  3. [Wayback] G+ Notable Communities Database – PlexodusWiki
  4. [Wayback] Google+ tracker – #googleminus – Donate at https://archive.org/donate/ for hosting the archives Dashboard
  5. [Wayback/Archive.is] Saving of public Google+ content at the Internet Archive’s Wayback Machine by the Archive Team has begun : plexodus
  6. GitHub – ArchiveTeam/googleplus-grab: Archiving Google+.
  7. [Wayback/Archive.is] Plexodus: The Google+ Exodus subreddit : plexodus
  8. [Wayback/Archive.is] Internet Data Is Rotting | Hacker News

–jeroen

Posted in G+: GooglePlus, Google, Power User, SocialMedia | Leave a Comment »