2023-11-02

Activate AMD-V in Gigabyte BIOS

 I have replaced my old 1st generation Threadripper with a new Ryzen 9. It was surprisingly smooth and works really good.

The only thing I had to take a minute to fix was a error when starting VMware Workstation about AMD-V not being enabled as required.

Going through the menus in the BIOS on the Gigabyte motherboard I found nothing about "AMD-V". But a quick search on AMD-V revealed that AMD-V has been published as AMD Secure Virtual Machine (SVM). And this I could find in the BIOS menus:

  1. During startup press <Delete> to enter the BIOS.
  2. Select "Advanced Mode (F2)".
  3. Go to "Advanced CPU Settings".
  4. In the Tweeker menu you pick "SVM Mode" and select "Enabled". Then press <Enter>.
  5. Select "Save & Exit" then click "Save & Exit Setup" and finally "Yes".
Now VMware Workstation works like a charm.

2023-09-21

Sandbox Windows Server in VMware Workstation

To create a sandbox installation in VMware Workstation I usually have to start with a Windows Server. I am using VMware Workstation Pro as it makes it possible to build more complex sandbox installations with multiple servers like SQL Server AlwaysOn Availability Groups.

This is a description of the installation and configuration of a general Windows Server to be used in different roles. When the configuration is completed I can clone the virtual machine to build the desired sandbox.

First I download the ISO installation image from Microsoft. Currently it is Windows Server 2023 Standard Edition. To use it I also have to get a license key from my Visual Studio subscription.

Then a new virtual machine is created on the ISO image with the license key. The VM is created with 16 GB memory, 4 vCores and 64 GB hard disk. After installation Windows Update is executed.

Configurations

  • Network adapter: Change to paravirtual adapter „vmxnet3“. This is a off-line operation I have described earlier.
  • Network adapter: Do not allow to turn off device to save energy.
  • Network adapter: Show hidden devices in Device Manager and remove old Intel Gigabit Network Connection.
  • Keyboard: Add Danish keyboard to English profile and remove English keyboard. This is as I live in Denmark.
  • Location: Change to UK and set to UTC to avoid daylight savings etc.
  • Server Manager: Do not start automatic.
  • Print Spooler: Stop and disable service.

Script to do all this will be in SQLAdmin Github.

2023-08-08

Being Effective

Being Effective is often said to be a good thing. And naturally we have an idea of what is effective. But in english there are three different words on different aspects of being effective:

Effectiveness

"Doing the right thing". That is getting the desired result. I usually think of this as not goofing around but focus on the main task.

Efficiency

"Doing things right". That is without waste of time, materials, energy and other resources. And still with success.

Efficacy

"Doing with maximum response". Usually this term is used in pharmacology when maximum response is achieved.

In Danish we only have one word on being effective (Effektiv)...

The three terms are also discussed in the article "The difference between efficacy, effectiveness and efficiency".

2023-07-27

Migrate from HTA to SPA

Microsoft HTML Application (HTA) technology is based on Internet Explorer. And this is obsolete and will soon be removed. A HTA is running with mshta.exe, which is existing outside Internet Explorer and a default part of Windows 11. But as it is based on Internet Explorer we must face that HTA is going away too. A solid indicator is that the HTA documentation at Microsoft is no longer maintained and placed in a historical path.

HTA is a quick and neat way to build a nice and dynamic GUI for local tools. This has made HTA rather popular for many years, and there are a lot of solutions based on HTA. So migrating from HTA will be a significant task to many.

You can take the opportunity to migrate to a more complete technology stack like .Net with C#, but there will be a lot new tools to learn. Some might consider to go with PowerShell, but both WinForms and WPF are quite complex with PowerShell in comparison to dynamic HTML in HTA.

Single-Page Application

Another suggestion I have seen (link) as a replacement to HTA is Single-Page Application (SPA), where it is possible to use dynamc HTML and make the solution local on the client.

This works fine on very simple things. It is even possible to make a sensible filestructure for the SPA with external script and style files. But when you want to work with external resources like a database or the content of a file you hit rock buttom!

With HTA you can access external resources through ActiveX models or objects like ActiveX Data Objects (ADO) or FileSystemObject. And modern web browsers can't handle ActiveX. There is a Internet Explorer setting in Microsoft Edge, but that will most likely be removed.
I think that the real problem to Microsoft here is security, as ActiveX has given a lot of trouble on the internet. The COM technology that ActiveX is build on is still solid and widespread.

The conclusion must be that HTA can't be migrated to SPA as most HTAs are working on external resources like files or databases.
If I find a good replacement to HTA I will let you know.

2023-05-17

Phytagoras hypotenuse with PowerShell

To get the hypotenuse of a right angle triangle with Pythagoras formular using the two Methods Sqrt and Pow of the .NET System.Net class with PowerShell it is possible in just one line:

[System.Math]::Sqrt( [System.Math]::Pow(11.68, 2) + [System.Math]::Pow(7.24, 2) )

Which will give the implicit formatted result

13.7419067090415

Actually you do not have to spell out the namespace System as it is implicit to PowerShell. But I like to spell it out as a kind of documentation.

This is a example on using .NET features direct with PowerShell. Also I think it shows that you have to know .NET as a PowerShell user.

The numbers are from the dimensions in mm of a RJ45 plug. So now you know the inner size of the hole to drill to make it fit.