Monday, July 31, 2023

Go (golang) howto not to export fields of a struct when Unmarshal to json object


typedef MyData struct {

    Data            string    `json:"data"`   

    FieldName   *int64   `json:"-"` 


Adding the `json:"-"` will make the Unmarshal command disregard this field

Saturday, July 22, 2023

Cleaning and resizing VM VirtualBox VDI Virtual Machine Disk

 You have to do the following steps:

Run defrag in the guest (Windows only)
Nullify free space:

With a Linux Guest run this:

dd if=/dev/zero of=/var/tmp/bigemptyfile bs=4096k ; rm /var/tmp/bigemptyfile

telinit 1
mount -o remount,ro /dev/sda1
zerofree -v /dev/sda1
With a Windows Guest, download SDelete from Sysinternals and run this:

sdelete.exe c: -z
(replace C: with the drive letter of the VDI)

Shutdown the guest VM

Now run VBoxManage's modifymedium command with the --compact option:

With a Linux Host run this:

vboxmanage modifymedium --compact /path/to/thedisk.vdi
With a Windows Host run this:

VBoxManage.exe modifymedium --compact c:\path\to\thedisk.vdi
With a Mac Host run this:

VBoxManage modifymedium --compact /path/to/thedisk.vdi
This reduces the vdi size.