Wednesday, 4 November 2026

CSRF Verification Failed - What could it be?

CSRF refers to cross-site-request-forgery.

The error message "verification failed" means that the CSRF token sent with your form or request does not match the token stored on the server.

This could be due to missing tokens, incorrect context, cookie issues or misconfigured trust origins.

OWASP has done some great work on this.

Reminder: OWASP is the Open Worldwide Application Security Project, formerly known as the Open Web Application Security Project (name was updated in 2023).

Monday, 2 November 2026

Agent Harnesses in MAF

Read more here.

Some harness examples here.

Unsloth 2

Let's look at Unsloth in the real world.

Here is an article on fine-tuning Qwen and Gemma.

Sunday, 1 November 2026

Productivity Through Frameworks - A Java Trend Jeopardised by AI

A historical selling point of Java has been productivity through frameworks.  

Spring Boot for example gives dependency injection, security, configuration management and observability without having to assemble everything yourself.  However, downsides include longer startup times, more configuration, more dependency management and more abstraction layers. You can ship faster without it. 

AI coding assistants can generate boilerplate code and large frameworks are not as advantaged in the AI world. Often sticking to a simple language boosted by AI is better than a language with a huge framework attached.  This is partly the reason why Python and Go are thriving.

What is BAML in AI?

BAML, which stands for Basically A Made-up Language, is an interesting take on agentic programming.

It aims to create a language which agents you build in, but at the same time, maintains readability and correctness. It aims to achieve this by hybridly embracing advantages of different languages:

Syntax and readability of TypeScript
Correctness and tooling of Rust
Compile times and concurrency of Go
Dynamism of Python

Amongst its other claims to fame is an agent-first toolchain.

Agent As Config

Microsoft Foundry lets you configure a lot in the way of agents.

Development Perspective

The first thing you do is set the model underlying your agent (there is a 1:1 mapping between agent and model). You can even upload your own model.  You will see DeepSeek and Qwens among Claudes, GPTs and Groks.  Then you have a section to give the agent instructions - what it is meant to do.

Operating Perspective

The Playground AI in Foundry is free; but interactions consume tokens and are billed against your Azure subscription. Specifically - sending prompts to GPT-5 Mini is charged per token. Using agent features outside the model may incur separate charges beyond the model itself.

Documentation on Costs and Quotas


Ultimately managing this requires the right data accesses in RBAC.

Microsoft Agent Framework and Foundry

The philosophy and appearance of Microsoft Foundry is to make agent creation as easy as possible. Consequently, agent creation is effectively reduced to a configuration task.

What then is the value of MAF? There are many, potentially.

You may have a human-in-the-loop approval workflow, you may have custom memory implementation and need some agent-to-agent communication (possibly using protocols like A2A).

Or you may not the like the Azure cloud model of doing things, and prefer local. Then MAF works too.