Saturday, 13 December 2025

Risk Managing WSL

If you are manager of desktops and need to understand WSL risks, here is a summary.

WSL allows users root access inside their Linux instance with ability to install a host of useful software including compilers, packages etc. Linux binaries may be run which Windows Defender may not fully inspect.

However, users have no admin rights on Windows itself.

There are a number of risks which include unmonitored code execution and running unvetted network services as well as bringing unmanaged Linux tooling into the Windows estate.

It can be managed, but adds an additional complexity layer.

batcat - a syntax highlighting version of cat

To install in ubuntu use:

sudo apt install bat

Then batcat the file you want to display.

If you want to look at the package in more detail, you can type:

apt show bat (don't need sudo for this)

You will see this is a Rust compiled file.

Friday, 12 December 2025

LLVM for Noobs - Why SSA is Powerful

LLVM is a collection of modular and reusable compiler and toolchain technologies.

It tackles compilation as an abstract problem and uses modern, SSA-based strategies.

SSA = static single assignment, an intermediate language format where each variable is assigned only once. This simplification enables aggressive optimization - hence makes the technique powerful.

Get Python SHAP Explainer in Ubuntu

pip install shap

is what you need.

It has dependencies on:
  • numba
  • scikit-learn
Numba is a very interesting tool. It is an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code. It uses the LLVM compiler library.

scikit-learn is the de facto Python machine learning kit. Everyone knows scikit-learn! But knowing it well - ah that's the rub!

You may see llvmlite downloaded too as part of shap, to support Numba.

Thursday, 11 December 2025

Wednesday, 10 December 2025

Solve Simple ODEs in Python

The scipy library can be used easily for this purpose.

from scipy.integrate import solve_ivp

Imports the solve_ivp function for solving initial value problems.

Note that solve_ivp can be used for scalar ODEs or vector ODEs (such as the Lotka-Volterra system).

Tuesday, 9 December 2025

Is Rank test in NumPy infallible?

 Rank test - linear algebra