Putting the Open back in AI with Ollama

Author's photo of sub-alpine shrubbery on the Te Ara Tirohanga (Remutaka Trig Track) in New Zealand / Aotearoa

Did you know that you can run large language models (LLM) locally on your PC, free from the walled gardens of Big Tech? There are good reasons to do this. To start with, it’s a great way to keep your data local so it remains private. It also decentralises AI, fighting against the concentration of power into a few big playersi. Better yet, you can do all this for free…ii

Continue reading

The Power of the Walk-Through

Looking down through the trees in Wellington Botanic Gardens as the sun sets over house-clad hills in the distance

There are many cognitive biases waiting to trip us up. Sunk Cost Fallacy, The Curse of Knowledge, Confirmation Bias, the list goes on[1]. A cognitive bias is a common flaw in our thinking that leads to an irrational judgement or decision.

I think I’ve found a new cognitive bias.

My experience tells me that people fail to read documents, even when they know they should and would benefit from doing so. Yet, despite this, I still hold an unfounded expectation that when I write a document, people will read it. I suspect others do too. Is this a cognitive bias?

Let’s look at the underlying issue:

Continue reading

Other Uses for PlantUML

I like PlantUML and the whole diagrams-as-code ethos, where diagrams auto-generate from source code in the same repo.

Sure, the way PlantUML lays out objects and lines in free-form diagrams is arcane – try drawing anything beyond a few components, and you’ll end up in a pitched battle with the layout engine, resulting in a mediocre diagram in a state where you’re afraid to make changes, lest the lines and placement go all wonky (again).

Thankfully, things are better when using PlantUML to produce opinionated diagram types, where the layout rules are predetermined, such as sequence diagrams, mind maps etc.

I got to thinking – could I use PlantUML in the workplace, outside traditional architecture/code documentation, to help visualise other things? Only one thing for it – give it a go…

Continue reading

IT Architecture – A Discussion on Coupling

IMG_6797c2

In the world of IT architecture, coupling is a much talked about concept. But what is coupling, why is it important and what techniques/patterns can we use to optimise it?

That’s a lot to unpack, so let’s start with an example outside IT. Consider this trendy all-in-one desk lamp:

trendy-lamp

It looks lovely, but what happens if the bulb fails, or you want to change the light colour? It is tightly coupled because the bulb component cannot be replaced separately, so the whole lamp must be replaced in these circumstances. Continue reading