Friday, 24 July 2026
Theorem Proving in Lean - Basics of Dependent Type Theory
Theorem Proving in Lean - Three Definitions to Get Started
This is an abridged account of Theorem Proving in Lean capturing only the SSPs, or super salient points.
Here are some three starting definitions essential for understanding this topic:
Formal verification - using logical and computational methods to establish claims that are expressed in precise mathematical terms. Example claims - mathematical theorem /hypothesis, claims that pieces of hardware or software, network protocols, security protocols - do what they say they actually do. The process is "describe your system in mathematical terms" ,then use "theorem proving" to establish truth.
Automated theorem proving - focused on "finding". The "ATP" toolkit includes: resolution theorem provers, tableau theorem provers, fast satisfiability solvers to provide means of establishing validity of formulas in propositional and first-order logic. Computer algebra systems may be used in concert to carry out mathematical computations.
Automated reasoning - differs; not as "cast iron" as theorem proving. Automated reasoning is a superset of automated theorem proving, which includes imprecise techniques such as heuristic search and fuzzy logic.
Thursday, 23 July 2026
The Lean Programming Language
The Lean Programming language is being used to create a new proof of Fermat's Last Theorem. Some lecture notes from London's Imperial College set the scene.
Theoretical Foundation (DTT)
Dependent type theory (DTT) is the theoretical foundation of Lean (the link provided takes you into the Lean manual and gives a brief intro to the theory) which bears "categorical semantics".
Getting Started with Lean
- The best way to get started in Lean is to read Functional Programming in Lean.
- The next step is to read Theorem Proving in Lean.
Who created Lean
Lean was created by Brazilian computer scientist Leonardo de Moura, in 2013, when he worked in Microsoft Research (where he worked for 16 years). Leonardo is now Senior Principal Applied Scientist at AWS, where he works in the Automated Reasoning Group. Lean is available under the Apache 2.0 license.
ngrams, ngrams everywhere
An n-gram is a continuous sequence of n items - words, letters or symbols - from text or speech, used to analyze patterns and predict sequences in language.
Suppose we choose the items of our n-gram as "words". We then have the following taxonomy:
- unigram - consisting of a single word e.g. design
- bigram - consisting of two words e.g. design experiments
- trigram - e.g. design of experiments
Wednesday, 22 July 2026
mTLS - building machine to machine trust
What is mTLS?
mTLS is also known as mutual TLS, after the ubiquitous security protocol. It is used in environments where machine-to-machine trust really matters.
Where in general is mTLS used? Where specifically is mTLS used? Did someone say "Kubernetes service mesh"? I think so!
It's not generally used for public websites, but inside serious enterprise systems, it's a standard way to guarantee only authenticated services speak to each other.
Examples in modern infrastructure include: Kubernetes service meshes (Istio, Linkerd), API gateways, internal microservices, banking and trading and zero-trust networks.
Root Certificates
Certificate Validation with Certifi in Python
Monday, 20 July 2026
Parity between Azure and AWS
A Nod to AWS EKS
AWS EKS (Elastic Kubernetes Service) is a fully managed Kubernetes service provided by AWS.
EKS simplifies deployment and management of containerized applications using Kubernetes. Users need not manage the Kubernetes control plane or nodes manually.
Jargon warning:
The Kubernetes control plane is the central management utility of a Kubernetes cluster.
It maintains cluster state, making decisions about the cluster and responding to cluster events. It is made up of several key components that work together.
AWS basically runs the control plane for you.
There are a number of use cases suggested by AWS.
Copliot Studio and Cost Analysis
Saturday, 18 July 2026
Revisiting Port 443
Visual Studio Community July 2026 Release
See the status of GitHub Copilot from the Visual Studio IDE. Built-in .NET and Azure skills are introduced.
Agent Skills Introduced by Anthropic
The PEM Format
Busting Certificate Issues in Ubuntu
Suppose you are running a data pipeline on Linux/Ubuntu that consumes data from the web. You get a RuntimeError: "SSL certificate verification failed". What do you investigate?
Verifying the ca-certificates package and updating /etc/ssl/certs
sudo apt-get install -y ca-certificates
installs the ca-certificates package (the -y means "say yes to all prompts").
This software processes certificates in PEM format.
With this installed, new certificates can be added to /usr/local/share/ca-certificates.
The trust store can then be updated with:
sudo update-ca-certificates
You can then check if the certificate has been added.
ls /etc/ssl/certs | grep local-ca
Programming as Play
Friday, 17 July 2026
A Scorecard for the AI Age
More on Data Validation in Pydantic
Classical Reinforcement Learning and the Reward Signal
Back to LLM Basics - What is RLHF
RLHF is a core part of how large language models learn.
It stands for reinforcement learning with human feedback. Idea is you train models to align with human preferences.
A core input is data from human annotators as an input into the learning process.
The algorithm now widely used in RLHF was pioneered by OpenAI (InstructGPT). The idea is you align the model with human intent. Alignment with human intent is what makes the model (more) useful.
Tuesday, 14 July 2026
Document Intelligence Infrastructure
GPT-5.6 Sol - Preview
Sunday, 12 July 2026
Codex is now the ChatGPT App
Saturday, 11 July 2026
Reverse Debugging
History of .NET Core
The Debugger Class in .NET
The Debugger class in System.Diagnostics is implemented in Debugger.cs. Its purpose is to allow communication with the debugger.
This is the class that lets you do a "hard debug" but typing Debugger.Break(), which signals a breakpoint to an attached debugger.
Debugger.Launch() is similarly aggresive. It launches and attaches to a debugger to the process.
Friday, 10 July 2026
Python Debugging: "SSL Certificate Verification Failed"
AI - New Ideas Every Day
GitHub's Agentic Workflows in the Crosshairs of GitLost
Anthropic's Interpretability Research
This is journalled here. The goal is to understand how LLMs actually work internally.
Claude's "Access Consciousness"& Rise of the "J-Space"
Thursday, 9 July 2026
What is Pylance?
Pylance is the component that enables Visual Studio Code to provide IntelliSense for Python.
It is underpinned by Microsoft's Pyright type checker (open source static type checker for Python). Read more about Pyright from the official website.
Wednesday, 8 July 2026
Navigating OpenClaw Architecture
Tuesday, 7 July 2026
Data Rates Rule...OK!
External Dependencies Are the Root of All Evil
Open source software is great except when it isn't.
Update all the dependencies for a new cool software and older software (using older versions of those co-dependencies) suddenly breaks.
In Windows, we used to call it "DLL Hell" but it has its manifestations in Linux too.
Then it's a cycle of repair and debugging.