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,860 other subscribers

Archive for December, 2021

bol.com landvoorkeur weer omschakelen naar Nederland (als die per ongeluk op België staat)

Posted by jpluimers on 2021/12/24

Voeg ?country=NL toe aan je URL

Ik was via Google automagisch op België doorgeschakeld doordat ik naar deze URL werd doorgestuurd: https://www.bol.com/nl/p/brennenstuhl-primera-line-duo-stekkerdoos-10x-belgische-aarding-2-meter/9200000021551992/ en werd doorgestuurd naar https://www.bol.com/nl/l/brennenstuhl-stekkerdozen/N/28919+4287678768/?country=BE#modal_open

–jeroen

Posted in Uncategorized | Leave a Comment »

On my list of things to try: adapters to modulate ethernet network over coax cable

Posted by jpluimers on 2021/12/24

One of the problems in our house is that all PVC conduits embedded in the walls and floors have concrete in them.

It means that when you pull out a cable, you can never get a cable back in (I tried that with the phone cables), and that empty PVC conduits cannot be used at all.

This might be an option to get ethernet to the places that have coax wiring (like the TV outlets)

[WayBack] bol.com | EOC05 MoCa Teleste 1G Internet over coax adapter + USB adapter (2020)

–jeroen

Posted in Ethernet, LifeHacker, Network-and-equipment, Power User | Leave a Comment »

bolkedebruin/rdpgw: Remote Desktop Gateway in Go for deploying on Linux/BSD/Kubernetes

Posted by jpluimers on 2021/12/23

On my list of things to try: an open source golang implementation of the Remote Desktop Gateway protocol: [Wayback/Archive.is] bolkedebruin/rdpgw: Remote Desktop Gateway in Go for deploying on Linux/BSD/Kubernetes.

[Wayback] [MS-TSGU]: Terminal Services Gateway Server Protocol | Microsoft Docs:

Specifies the Terminal Services Gateway Server Protocol, which is a mechanism to transport data-link layer (L2) frames on a Hypertext Transfer

Via: [Wayback] linux – Create RDP gateway in Raspberry Pi or Ubuntu – Super User

–jeroen

Posted in *nix, Development, Go (golang), Power User, Remote Desktop Protocol/MSTSC/Terminal Services, Software Development, Windows | Leave a Comment »

ESXi: editing /etc/vmware/hostd/vmInventory.xml to fix the datastore UUID for unavailable VMs

Posted by jpluimers on 2021/12/23

In case I ever need this on ESXi:

  1. Put first ESX host into maintenance mode, or disable automatic DRS.
  2. Migrate functioning VMs onto other hosts.
  3. SSH into ESX service console.
  4. cd /vmfs/volumes
  5. ls -l:
    [root@esx1 volumes]# ls -l
    drwxrwxrwt    1 root        1260 Nov 27 11:58 474c4a74-b4cc8c53-6e29-000423c3e840
    drwxrwxrwt    1 root         980 Nov 27 08:49 474c4aa2-772bdc66-e441-000423c3e840
    drwxrwxrwt    1 root        1260 Nov 27 11:58 474c955b-527b5a13-1417-000423c3e840
    lrwxr-xr-x    1 root          35 Nov 29 13:36 snap-00000002-VMFS11 -> 474c955b-527b5a13-1417-000423c3e840
    lrwxr-xr-x    1 root          35 Nov 29 13:36 VMFS11 -> 474c4a74-b4cc8c53-6e29-000423c3e840
    lrwxr-xr-x    1 root          35 Nov 29 13:36 VMFS13 -> 474c4aa2-772bdc66-e441-000423c3e840
  6. Note (or copy) the new UUID(s) of the datastore(s) on which the inaccessible VMs live.  You may need to look in the VMFS themselves to be sure which VMs live where.
  7. cd /etc/vmware/hostd
  8. cp vmInventory.xml vmInventory.xml-save
  9. Edit vmInventory.xml and change the UUID for the inaccessible VMs to the correct UUID for their datastores.  (If unsure which VMs are in which datastore, look in each datastore to ensure you have the right UUID for each VM).
  10. Save vmInventory.xml and exit the editor.
  11. To make ESX re-read vmInventory.xml:
    [root@esx1 hostd]# service mgmt-vmware restart
    Stopping VMware ESX Server Management services:
    VMware ESX Server Host Agent Watchdog [ OK ]
    VMware ESX Server Host Agent [ OK ]
    Starting VMware ESX Server Management services:
    VMware ESX Server Host Agent (background) [ OK ]
    Availability report startup (background) [ OK ]
  12. Verify all VMs are properly accessible.
  13. Bring the ESX host out of maintenance mode and/or return DRS to original settings.

Sample vmInventory.xml file with UUID paths for VMs in an NFS and a VMFS datastore:

[root@esx1 hostd]# more vmInventory.xml
<ConfigRoot>
  <ConfigEntry id="0006">
    <objID>112</objID>
    <vmxCfgPath>/vmfs/volumes/9f801592-14465f39/WinNFS8/WinNFS8.vmx</vmxCfgPath>
  </ConfigEntry>
  <ConfigEntry id="0027">
    <objID>608</objID>
    <vmxCfgPath>/vmfs/volumes/46e5a3bf-2d233fa0-1546-0014220f1381/houwin2003sp2-8/houwin2003sp2-8.vmx</vmxCfgPath>
  </ConfigEntry>
</ConfigRoot>

Note about restarting the VMware Management stack through service mgmt-vmware restart:

little addition: You can also use the dcui via ssh.

Just enter dcui in your ssh session. Then you can restart the management agents like on the local console.

To quit hit Ctrl+C

Running VMs won’t be affected

  • For troubleshooting ESXi connectivity issue, restart the management agents on your ESXi host. Warning: If LACP is configured on the vSAN network, do not restart[Wayback] Restarting the Management agents in ESXi (1003490)

    Restart Management agents in ESXi Using Direct Console User Interface (DCUI):

    1. Connect to the console of your ESXi host.
    2. Press F2 to customize the system.
    3. Log in as root.
    4. Use the Up/Down arrows to navigate to Troubleshooting Options > Restart Management Agents.
    5. Press Enter.
    6. Press F11 to restart the services.
    7. When the service restarts, press Enter.
    8. Press Esc to log out.

    Note: You can also restart services using the Host Client. In Host Client, select Host >> Manage >> Services and select the service to restart.

    Restart Management agents in ESXi Using ESXi Shell or Secure Shell (SSH):
    1. Log in to ESXi Shell or SSH as root.For Enabling ESXi Shell or SSH, see Using ESXi Shell in ESXi 5.x and 6.x (2004746).
    2. Restart the ESXi host daemon and vCenter Agent services using these commands:/etc/init.d/hostd restart/etc/init.d/vpxa restart
    Alternatively:
    • To reset the management network on a specific VMkernel interface, by default vmk0, run the command:esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0Note: Using a semicolon (;) between the two commands ensures the VMkernel interface is disabled and then re-enabled in succession. If the management interface is not running on vmk0, change the above command according to the VMkernel interface used.
    • To restart all management agents on the host, run the command:services.sh restart
    Caution:
    • If LACP is enabled and configured, do not restart management services using services.sh command. Instead restart independent services using the /etc/init.d/module restart command.
    • If the issue is not resolved, and you are restarting all the services that are a part of the services.sh script, take a downtime before proceeding to the script.
    • If NSX is configured in the environment, do not run the /sbin/services.sh restart command because this will restart all services on the ESXi host. If you need to restart the management agents on the ESXi host, restart vpxa, host.d, and fdm individually. If you also need to run the /sbin/services.sh restart command because restarting each management agent does not work, then migrate all the VMs off the ESXi host and put the host in maintenance mode if possible.
    • If you are unsure that NSX for vSphere is installed on an ESXi host, run this command to verify:
    esxcli software vib list –rebooting-image | grep esx-*
    Look for the following VIBs to determine if NSX is installed on the ESX host:
    vsip-esx
    esx-vxlan
    • If using shared graphics in a View environment (VGPU, vDGA, vSGA), do not use services.sh. This will shut down the xorg service which is responsible for graphics at the guest OS level. By ripping the graphics out of the guest OS you will in term cause the crash of your VDI workload using the shared graphics. Ensure you are using shared graphics to only restart hostd, and vpxa if you are not in maintenance mode.

When editing the inventory fails

If all else fails and all VMs need to be re-registered: [Wayback] Virtual machines appear as unknown in Inventory on host and invalid in vCenter Server (1031605)

 Symptoms
  • vSphere Client direct to host show virtual machine(s) as unknown.
  • The vSphere Client connected to vCenter Server shows virtual machine(s) as invalid.
  • No errors on storage or on vmkwarning.
  • All the virtual machines on the host are functional and responding.
 Resolution
To resolve this issue:
For ESXi 3.5, 4.x, 5.x, 6.x
  1. Log in to the VMware ESX/ESXi host as the root user. For more information on VMware ESXi 4.1 and ESXi 5.x Technical Support Mode, see Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)
  2. To list all running virtual machines and their corresponding VMIDs, run these commands:vim-cmd vmsvc/getallvms
    cd /etc/vmware/hostd/
  3. Make a copy of vmInventory.xml file by running this command:cp vmInventory.xml vmInventory.xml.bak
  4. Stop the vpxa and hostd services by running these commands:/etc/init.d/vpxa stop
    /etc/init.d/hostd stop
  5. Rename the vmInventory.xml file by running this command:Note: This action unregisters all virtual machines from the host.mv vmInventory.xml vmInventory_xml.bak
  6. Start the vpxa and hostd services by running these commands:/etc/init.d/vpxa start
    /etc/init.d/hostd start
  7. Log in to vSphere Client and verify that the virtual machine Inventory is now displayed as blank.
  8. Use this command to register every virtual machine back to Inventory on the host:vim-cmd solo/registervm full_path_of_VMXFor Example: vim-cmd solo/registervm /vmfs/volumes/datastore_name/VM_directory/VM_name.vmx

–jeroen

Posted in ESXi6, ESXi6.5, ESXi6.7, ESXi7, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

Fixing a classic Ring Chime that does not power on any more (no blue light)

Posted by jpluimers on 2021/12/23

A well known classic Ring Chime problem is that shortly after warranty expires, it won’t power on any more (no blue light visible at all):

[Wayback] Ring Chime Pro no power – Products / Accessories – Ring Community

Usually the built-in power supply is toast, and it is relatively easy to replace this with a USB power supply.

The below video shows how to do that for a classic Ring Chime Pro.

I’ve repeated the steps for a classic Ring Chime (model 8AC3S5-0EU0) that I got from [Archive.is] Ring Chime – WLAN Türgong für Video Türklingel, weiß: Amazon.de: Alle Produkte

–jeroen

Read the rest of this entry »

Posted in Development, Hardware Development, IoT Internet of Things, Network-and-equipment, Power User, Ring Doorbell/Chime (Amazon) | Leave a Comment »

If you change to a 2FA, then do not just mention the month, but also the year

Posted by jpluimers on 2021/12/22

[Wayback] Contact opnemen | Persoonsgebonden budget | SVB had this:

UX: 2FA needed as of October, but which year?

UX: 2FA needed as of October, but which year?

If you are going to introduce a change in a certain period of time, ensure you not just mention only a part of when it occurs: include at least year and month, possibly even day and time.

That way your users know if they still have some time left to setup 2FA, or won’t be able to logon without 2FA at all.

Read the rest of this entry »

Posted in Development, SocialMedia, Software Development, User Experience (ux), WhatsApp | Leave a Comment »

Twitter wayback_exe generates screenshots of old websites in old browsers every two hours

Posted by jpluimers on 2021/12/22

Classic browsers

Classic browsers

Going back to in time old web-pages using old web-browsers is fun!

[Archive.is] wayback_exe (@wayback_exe) | Twitter automatically does it for you.

A short introduction is at [Wayback] muffinlabs – @wayback_exe.

There is a playground at [Archive.is] oldweb.today where you can choose which classic browser to use for viewing and what page to view with it.

You can fiddle around with the node.js based code that is available on GitHub: [Wayback/Archive.is] muffinista/wayback_exe: code for twitter bot @wayback_exe

Some screenshots:

 

–jeroen

Read the rest of this entry »

Posted in Development, Fun, JavaScript/ECMAScript, Node.js, Power User, Scripting, Software Development, Web Browsers | Leave a Comment »

Delphi design-time packages: “%1 is not a valid Win32 application”

Posted by jpluimers on 2021/12/22

For my link archive, as I hardly see this (it happens in many Delphi versions and always has to do with missing/wrong DLLs), so always forget how to solve it.

Basically it is the same fix as for Fixing hg.exe “ImportError: DLL load failed: %1 is not a valid Win32 application.”:

If you get the below error when running hg.exe, then you are mixing a 64-bit Mercurial with 32-bit dependencies.

[Wayback] XE2 – “%1 is not a valid Win32 application” when installing a package – embarcadero.delphi.ide with entries by [Wayback] Remy Lebeau and [Wayback] Jeff Overcash:

I don't know what I did, but when trying to install a set of freshly built 
Delphi Win32 packages into the IDE, XE2 is giving me this error message now:

{quote}
Can't load package ...
%1 is not a valid Win32 application.
{quote}

a


> Often that is caused by the same named 32 and 64 bit run time packages
> and the OS finding the 64 bit first when the IDE must load the 32 bit.  If
> that is the case check your path variable and make sure the 32 bit paths
> appear first.

That was the problem.  The Windows PATH variable had a 64-bit folder in front 
of the 32-bit folder.  Deleted the 64-bit files and the error went away. 
 Noe I'm getting a new error:

{quote}
The program can't start because <RuntimePackage>.bpl is missing from
your computer. Try reinstalling the program to fix this problem.
{quote}

But the "missing" package is in the same folder as the design-time package 
I am trying to install.

Since the design time location is known it is explicitely 
loaded, but the run time is implicitly loaded and follows the dll loading rules. 
  Both are dynamically loaded.

The reason you only see this the next time you restart the IDE is because the 
working directory changes to your project directory when you load a project so 
if the runtime is there it is found that way, but the next time you load the IDE 
the working directory starts in the bin directory.

I thought it was, but turns out the 32-bit output folder had been moved and 
the PATH was not updated accordingly.  Fixed the PATH and now the packages 
install.

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Busybox ash/dash – Hexadecimal To Decimal in Shell Script (via Stack Overflow)

Posted by jpluimers on 2021/12/21

This works fine on “BusyBox v1.29.3 (2019-05-21 15:22:06 PDT) multi-call binary.” that is included with VMware ESXi 6.5 update 3:

[Wayback] bash – Hexadecimal To Decimal in Shell Script – Stack Overflow

Dealing with a very lightweight embedded version of busybox on Linux means many of the traditional commands are not available (bc, printf, dc, perl, python)

echo $((0x2f))
47

hexNum=2f
echo $((0x${hexNum}))
47

Credit to [Wayback] Peter Leung for this solution.

–jeroen

Posted in *nix, *nix-tools, ash/dash, ash/dash development, Development, Power User, Scripting, Software Development | Leave a Comment »

DroidCam – Webcam for PC – Apps on Google Play

Posted by jpluimers on 2021/12/21

Since most phones still have better cameras than most laptops, this is on my list of things to try:

Android app: [Wayback/Archive] DroidCam – Webcam for PC – Apps on Google Play (there is also an iOS app, but I don’t use iOS devices)

Client software for Windows and Linux:  [Wayback/Archive] Dev47Apps

DroidCam turns your phone/tablet into a webcam for your PC.
Use it with chat programs like Zoom, MS Teams, and Skype.

Main Features:
– Chat using “DroidCam Webcam” on your computer, including Sound and Picture.
– Connect over WiFi or USB cable.
– Unlimited free usage at standard definition.
– Keep using your phone with DroidCam in background (Android).
– Simple, safe, efficient, and trusted by millions of people worldwide.

DroidCamX Pro Features:
– Switch to HD Mode for 720p/1080p high definition video.
– Camera controls: toggle light, enable continuous auto focus, zoom in/out.
– Rotate, Flip & Mirror the video to better match your setup.
– Adjust brightness, contrast, add video delay and adjust audio volume (Windows).
– USB-Only mode for extra privacy and security.
– Option to auto-mute phone calls.
– No Ads.

I am really curious how they did this on the software side: developing and signing drivers; low-latency communications protocol, etc.

Via: [Wayback/Archive] Apple deelt workaround die scherm verkleint voor MacBook Pro-notch-problemen – Computer – Nieuws – Tweakers

–jeroen

Posted in Development, Hardware Interfacing, Power User, USB, WebCam | Leave a Comment »