Sunday, 21 June 2026

Cut and Paste Metadata in Word

This metadata can conflict with the document's own metadata - creating inconsistent results for example in spell checking, within the same document.

Windows Voice Control

 Some options:

  • Cortana (deprecated, memory heavy)
  • Voice Access (struggles to isolate the "command voice" when there is background noise)
So no infallible options (yet) for Windows Voice Control.

Docking in Windows is a Superpower

Docking was introduced in Windows 7 as Aero Snap. In Windows 11, Snap Layouts and Snap Groups have been added.

Some basic tips - dock one File Explorer on top of another.

  • Windows Key and up - for explorer 1
  • Windows Key and down - for explorer 2

Tuesday, 16 June 2026

Keeping Ubuntu Up to Date

Keeping Ubuntu up to date in WSL is a manual process (unless automated).

Even if automated, you may need a "revert to manual" process if automation breaks (for whatever reason).

Some points:
  • The /etc directory is your friend in all this
  • cat /etc/os-release - needs to be done before and after to check the release has been complete
  • You should upgrade regularly - not least because you need to get the latest security updates
To ensure the upgrade can happen successfully you need to check/edit the release-upgrades file.

sudo emacs -rv /etc/update-manager/release-upgrades

Change Prompt=never to Prompt=LTS (the latter checks to see if a new LTS release is available).

Useful commands:
  • sudo apt update
  • sudo apt full-upgrade
  • sudo do-release upgrade
Don't forget to check os-release for successful install.

Official documentation here.

Process Based Automation

If you have a strong, underlying process, it should be trivial to automate it.

Monday, 15 June 2026

Latest Haskell Compilers

A good, up-to-date Haskell compiler is the GHC

Unlike earlier compilers e.g. Hugs, GHC has support for concurrency and parallelism, including Software Transactional Memory.

There are some language extensions available, including support for the FFI, or Foreign Function interface, which is enabled by default.

The latest Haskell Report on which the current version of GHC is based on is Haskell 2010.

One unfortunate fact about Haskell is poorly maintained external libraries.

What is IFNDR in C++ And Why is it Important

The June 2026 meeting for the ISO Standard C++ group concluded in Brno. 

A key objective discussed was reduction in undefined behaviour (UB) and IFNDR ("ill formed no diagnostic required") scenarios in C++. 

IFNDR is used greatly in the C++ context and refers to a situation where a program is ill-formed but the compiler is not required to generate an error.  This can result in runtime issues.

A website summarised the dangers of UB can be found here.