Our blog, or knowledge base, starts here!

If you’ve used a Windows virtual machine under VMware (Workstation or Fusion, depending on your host OS), then you’d have probably noticed that the host virtualisation software cleans up the virtual machine disk once the virtual machine is shutdown. The clean up activity detects any unused space and reduces the sizes of the virtual machine disk within the host OS without affecting the guest OS.

I have a number of Linux VMs but noticed that there was an increasing discrepency between the size of the used space form within the guest OS (via df -h) and the space consumed by the virtual machine disk. The reason? VMware doesn’t automatically run the clean up task once a virtual machine is shut down.

Continue reading...

Some projects have a lot of labels and when working with a team of developers, merging label files can be a nightmare provide some challenges. Microsoft Dynamics AX doesn’t like duplicate labels and, unfortunately, identifying all instances of duplicates isn’t a straightforward process. I’ve therefore put a PowerShell script together that identifies duplicate labels.

Continue reading...

I was once working with some data in Python that would generate a list of tuples, for example:

myList = [('ab',1), ('cd', 2), ('ef', 3)]

I wanted to obtain two lists from this: the first list containing the first element of each tuple and the second list containing the second element of each tuple. The zip function goes part of the way there:

Continue reading...

The other day, I was using ssh as a SOCK5 proxy. To recap, I needed to access a resource that was only available from a remote Linux PC (i.e. my machine → remote Linux PC → network resource). One of the network resources was an embedded device with an SSH server. Hopping to the remote Linux PC over SSH was fine, but once there, I would then need to connect to my embedded device by calling SSH again (i.e. my machine → remote Linux PC (hop 1) → embedded device (hop2)). Fortunately, this step is, in fact, unnecessary and the process can be simplified.

Continue reading...

Wireshark is a really useful tool to record and analyse network traffic across any network interface. I use it when faulting embedded applications in order to conduct a sanity check that data is leaving or arriving correctly. I recently wanted to use Wireshark on a remote computer — a task that would normally be quite easy to do — but in this instance, there was no remote desktop as such and, instead, was purely CLI-based.

Continue reading...