Home avatar

vors

Latest recipes

All recipes →

Guides & how-tos

All guides →

Latest from the blog

Gougères: The French Cheese Puff Worth Mastering

There are recipes you make to feed people, and there are recipes you make to look like you know what you’re doing. Gougères are both, which is the best kind. They come out of the oven looking like you spent the afternoon at a patisserie, and the truth is they take one pot, one bowl and about forty-five minutes start to finish. Burgundy has been getting away with this trick since at least the eighteenth century.

Dark Hot Chocolate with Chilli and Sea Salt

This is hot chocolate for grown-ups: thick enough to coat the spoon, made with real dark chocolate rather than powder alone. A whisper of dried chilli builds a gentle warmth at the back of the throat, while a pinch of flaky sea salt sharpens the cocoa and stops it turning sickly. Cinnamon rounds it all off. It is rich, so small mugs are wise; think of it as somewhere between a drink and a thin pudding, the sort of thing to nurse slowly by the window on a cold evening rather than glug from a tall mug.

Vaultwarden: Self-Hosting a Password Manager You Actually Control

A password manager is the single most important piece of software most people never think about. It quietly holds the keys to your email, your bank, your tax account, and the embarrassing forum you joined in 2009 and forgot to delete. Handing that responsibility to a cloud service is perfectly reasonable, and the big providers do a genuinely good job. But if you would rather your encrypted vault lived on a box in your own cupboard than on someone else’s servers, Vaultwarden is the project that makes self-hosting practical without demanding you become a cryptographer first. This guide walks through what it is, how to stand one up safely, and the honest trade-offs you accept when you take the keys back.

Brown Butter Scones

A good scone is a quick triumph, ready inside forty minutes with almost no equipment, and browning the butter first turns a familiar bake into something quietly more interesting. The toasted, nutty notes carry right through the crumb, deepening the flavour without making the scones heavy or rich. They still rise tall and pull apart in flaky layers, ready for clotted cream and jam. Best eaten warm, the day they are made, while the fat is still soft enough to catch the cream.

Orange Tiramisu (Eggless)

Tiramisu is built on coffee and cream, and this version brightens both with orange. Zest stirred through the mascarpone and a splash of juice in the coffee soak lift the whole pudding, cutting the richness with a clean citrus note. It is also eggless, so the cream is whipped rather than built on raw yolks, making it safe for everyone and reliably silky. Make it the day before; it only improves overnight.

Tailscale: A Zero-Config Mesh VPN for People Who Hate Networking

Setting up a traditional VPN is one of those tasks that looks simple in the brochure and turns into a weekend of misery in practice. You allocate subnets, open ports on a router you may not control, wrestle with NAT, distribute keys, and then discover that two clients behind the same carrier-grade NAT cannot talk to each other no matter how politely you ask. Tailscale exists because someone got tired of all that. It promises a private network where every device can reach every other device, with essentially no configuration, and for the most part it delivers.

Salted-Caramel Apple Crumble with an Oat-Almond Topping

A proper apple crumble is hard to beat, but a layer of salted caramel poured over the fruit takes it somewhere special. The caramel melts into the apples as they soften, turning the juices glossy and rich, while the flaky sea salt keeps it from cloying. Up top, oats and flaked almonds give the crumble a deeper crunch than flour and butter alone. Serve it hot with cold custard or vanilla ice cream.

Basque Burnt Cheesecake

This is the cheesecake that broke all the rules and won everyone over. No biscuit base, no water bath, no anxious checking for cracks; instead it is baked fierce and fast until the top scorches to a deep mahogany. The reward is a molten, almost custardy centre under a bittersweet, caramelised crown. It is genuinely one of the easiest impressive puddings going, and the one I reach for when I want something that looks like a lot of work and takes almost none.

Uptime Kuma: Self-Hosted Monitoring That Warns You Before Your Users Do

There are two ways to learn that your website is down. The first is a polite alert on your phone at the first sign of trouble, giving you time to fix it quietly. The second is an angry message from a user, a customer, or your boss, after the outage has already done its damage. Uptime Kuma exists to make sure you get the first kind. It is a self-hosted monitoring tool that watches your services and shouts the moment one stops answering — and it is genuinely pleasant to use.

Carrot Cake with Browned-Butter Cream Cheese Frosting

Carrot cake is damp, deeply spiced and gloriously forgiving, the sort of bake that improves overnight and asks very little of the person making it. The twist here is in the frosting. Instead of plain cream cheese, the butter is browned first, lending a toasty, almost butterscotch note that flatters the cinnamon in the sponge. A scatter of candied walnuts on top adds glassy crunch against the soft crumb, and the whole thing keeps for days.

Fine-Tuning vs Prompting vs RAG: Picking the Right Tool Without Wasting GPU Hours

I once watched someone spend the better part of a weekend, and roughly £40 of rented A100 time, fine-tuning a 7B model to “answer questions about our internal wiki.” The result was a model that confidently invented policy numbers that had never existed. The fix took twenty minutes: paste the relevant wiki page into the prompt. That was a retrieval problem the whole time, and no amount of training was ever going to solve it. It is the single most common and most expensive mistake I see people make with local LLMs, and it comes from a simple confusion about what each tool actually does.

The Home Lab Upgrade Trap: When Good Enough Should Be Good Enough

There’s a particular flavour of evening every home-labber knows. The lab is running fine. Everything you actually use is up. And yet you find yourself three tabs deep on a marketplace, comparing the second-hand price of a faster CPU, a bigger NAS, more RAM you do not need, against the box you already own that is, by every honest measure, sufficient. This is the upgrade trap, and it has cost me more money and more weekends than any actual technical failure.

Olive Oil Lemon Drizzle Cake with Thyme

Lemon drizzle is a teatime classic, but this loaf swaps butter for fruity extra-virgin olive oil, giving a remarkably moist, tender crumb that stays fresh for days. The twist beyond the oil is a whisper of fresh thyme rubbed into the sugar, which adds a subtle, savoury, herbal note that flatters the lemon rather than overpowering it. A tart sugar drizzle soaked into the warm cake provides that signature crunchy, zingy top. It is elegant enough for guests yet simple enough for a quiet afternoon.

Herby Falafel with Tahini Sauce

A great falafel is crisp and deeply browned on the outside but vividly green and fluffy within, and the secret to that lies in a generous quantity of fresh herbs blitzed straight into the mixture. Parsley, coriander and dill keep the centre fragrant and almost springlike, and they colour it a proper grass-green rather than the dull beige of most takeaway versions. Alongside comes a lemony tahini sauce, nutty and tangy, for drizzling and dipping. Made from soaked dried chickpeas rather than tinned, these fry up light and shatteringly crisp every time.

One-Click Everything: Deploying Self-Hosted Apps with Coolify

My Heroku bill was £41 a month for three toy projects that between them served maybe two hundred requests a day. None of them made money; all of them existed because I couldn’t be bothered to run a server. That is the exact psychology the managed platforms are built on: you connect a Git repository, push a commit, and moments later your application is live with a valid HTTPS certificate, a database attached, and a URL to share. Heroku pioneered the feeling, Vercel and Netlify polished it, and a generation of us grew used to never touching a server. The catch is the meter — billed by the seat, the build minute, and the gigabyte — and the numbers add up faster than the value does.

Tahini-Swirl Espresso Brownies

These brownies are unashamedly fudgy, glossy on top and deeply chocolatey, with two grown-up touches that lift them well beyond the usual tray bake. A spoonful of espresso powder in the batter sharpens and amplifies the chocolate without tasting of coffee, while a marbled swirl of tahini ribbons through with a nutty, faintly bitter richness. The contrast is what makes them moreish. Bake until only just set, then chill for the dense, truffle-like centre that defines a proper brownie.

Reading the Tea Leaves: Hunting Intruders with journalctl and lnav

When you suspect something is wrong with a server — a sluggish response, an odd process, a vague unease — the temptation is to start poking at running state. But the running state is the present, and an intruder’s interesting work is usually in the past. The record of that past is sitting right there in your logs, already written, already timestamped. Logs are your first and cheapest forensic tool, and two utilities turn them from an overwhelming wall of text into a readable story: journalctl and lnav.

Miso and Dark Chocolate Banana Bread

Banana bread is the loaf everyone reaches for when the fruit bowl turns spotty, but this one has a secret in the crumb. A couple of spoonfuls of white miso melt into the batter, deepening the sweetness with a gentle, savoury, almost caramel saltiness that makes people ask what is in it. Add dark chocolate chunks that turn molten in the oven and you have a loaf that is moist, rich and quietly sophisticated. It keeps brilliantly, and is arguably even better on the second day.

Build Your Own Google Drive: A Practical Nextcloud Setup on Linux

Cloud storage is wonderfully convenient right up until you read the fine print. Your files sync everywhere, your photos back themselves up, your calendar follows you between devices, and in exchange a very large company gets a detailed map of your life and the right to change the terms whenever it likes. The number that finally pushed me was 2 terabytes: that’s what my household photo library, document archive, and assorted detritus had grown to, and renting that much storage from a big provider in perpetuity, forever, with my data as the collateral, stopped feeling like a deal. Nextcloud is the open-source answer to that bargain: a self-hosted platform that gives you file sync, calendars, contacts, and even office documents, all running on a Linux box you control. This guide gets a robust Nextcloud running with Docker, puts it behind HTTPS, connects your devices, and sets sensible expectations about how it compares to the polished giants.

Brown Butter Chocolate Chip Cookies with Flaky Salt

This is the chocolate chip cookie turned up a notch: chewy in the middle, crisp at the edge, and threaded through with the toffee-and-hazelnut depth of brown butter. Browning the butter before it goes anywhere near the sugar is the twist that does the heavy lifting, lending a caramelised, almost butterscotch character you cannot get any other way. A pinch of flaky sea salt across the top just out of the oven sharpens every bite. Resting the dough is the secret to that bakery texture.

Self-Hosting Is Not Free: Accounting for Your Own Time

We love to tell ourselves a story about self-hosting: cancel the £10/month subscription, run the open-source equivalent at home, and pocket the difference. It’s a satisfying story. It’s also, in cold accounting terms, frequently nonsense — because the one cost we never put on the spreadsheet is the most expensive one we own. Our own time.

I’m not writing this to talk you out of self-hosting. I host more than is sensible, and I’d do it again tomorrow. But I’ve watched too many builders justify a setup on pure financial grounds, then quietly spend forty hours a year keeping it alive while telling themselves they “saved money”. The electricity bill is easy to reckon with — I’ve done that sum in detail in the real cost of self-hosting — but the time bill is the one nobody writes down, and it’s usually the bigger number. Let’s be honest about the ledger.

Talking to Your Documents: A Practical RAG Pipeline with Open-Source Tools

There is a particular kind of frustration in knowing that the answer you need is somewhere in a forty-page PDF, and that finding it means reading all forty pages. Retrieval-Augmented Generation turns that pile of documents into something you can simply talk to. Ask a question in plain English, and the system finds the relevant passages and answers from them. The very best part is that you can build a working version yourself, on your own machine, using only open-source tools and a modest Python script. This guide walks through exactly that — a small but complete RAG pipeline that lets you interrogate your own documents.

Mango and Toasted Coconut Overnight Oats

The best make-ahead breakfast is one you actually look forward to opening, and these overnight oats deliver tropical brightness with almost no effort. Oats and chia seeds soak overnight in coconut milk until thick and creamy, then get crowned with fresh mango, a lick of lime and a shower of toasted coconut. The twist is that toasted coconut, golden and nutty, which lifts the whole bowl above the usual soggy jar. It is very nearly no-cook, vegan and ready to grab from the fridge.

From GitHub to Git Home: Self-Hosting Your Repositories with Gitea

Git was designed to be distributed. Every clone is a full copy of the history, which means no single server is special and no company holds your project hostage. Yet somewhere along the way the world decided that “git” and “GitHub” were synonyms, and a vast amount of the world’s source code now lives on infrastructure owned by a single corporation. That is convenient right up until it is not. If you have ever wanted a home for your repositories that you fully control, that runs on a Raspberry Pi or a spare VPS, and that boots in milliseconds, Gitea is the answer. This guide gets you from nothing to a running, self-hosted git forge you can push to over SSH.

Maple, Olive Oil and Cardamom Granola

Shop-bought granola is too often cloying and dusty, a bowlful of loose oats and not much character. This homemade version goes the other way: it is properly clustery, only gently sweet, and perfumed with ground cardamom. The twist is olive oil in place of the usual neutral oil, lending a savoury, grassy backnote that plays beautifully against maple syrup. Toasted slowly until deep gold, it keeps for weeks in a jar and makes the morning bowl something to look forward to.

Prompt Injection: The SQL Injection of the AI Era

Every generation of software gets the vulnerability it deserves. The web era handed us SQL injection, a flaw so persistent it still tops vulnerability lists decades after the fix was well understood. The large language model era has produced its own signature weakness, and it rhymes almost perfectly with the old one. It is called prompt injection, and if you are building anything that lets a model read untrusted text, you need to understand it.

eGPU via OCuLink: Adding a Desktop GPU to a Mini PC

For years the external GPU story was a sad one: Thunderbolt enclosures that cost as much as a mid-range card, ate a third of your bandwidth in overhead, and dropped the link if you breathed on the cable. OCuLink quietly changed that. It’s an external PCIe connector — no protocol translation, just raw PCIe lanes on a cable — and a growing number of mini PCs now ship with a port. I’ve been running a desktop GPU off a palm-sized machine for a few months, and it’s the first eGPU setup I’d actually recommend.

Vanilla-Orange French Toast with Caramelised Banana

French toast starts from something almost embarrassingly basic: bread, eggs, milk, a hot pan. This version lifts it with bright orange zest and vanilla folded through the custard, so each slice tastes faintly of marmalade and cream. On top sits caramelised banana, cooked cut-side down in a quick brown-sugar caramel until soft and glossy. It is a generous, leisurely sort of breakfast, the kind that turns an ordinary Saturday morning into a small occasion, and it takes about twenty-five minutes from cold pan to plate.

Borg vs Restic: Painless Encrypted Backups You'll Actually Run

The only backup I have ever needed in a genuine emergency was the one I almost did not have. A failing SSD, a half-corrupted home directory, and the cold realisation that the “backup” I had been meaning to set up for months did not exist. I got lucky that time. The reason I had no backup was not ignorance — I knew exactly why I needed one. It was friction. A scheme that is fiddly, slow or expensive simply does not get run, and an un-run backup is worth precisely nothing the day the disk dies.

Power Monitoring with Home Assistant: Tracking What Your Home Lab Actually Costs

I used to wave away questions about what my home lab cost to run with a confident “oh, not much”. Then I put a meter on it. The rack idles at 140 watts, which doesn’t sound like a lot until you do the maths: 140W is roughly 1,226 kWh a year, and at my tariff that’s about £370 just to keep the lights blinking. Measuring it didn’t make it cheaper, but it stopped me lying to myself, and it surfaced a couple of genuine surprises. The whole exercise takes an evening and one cheap smart plug, and the data it produces is the kind you can actually act on rather than the vague guilt of a quarterly bill that lumps the lab in with the kettle and the tumble dryer.

What Is Agentic AI, and Why Is Everyone Suddenly Talking About It?

If you have spent any time near the technology press recently, you will have noticed that the word “agentic” has quietly taken over. Where last year everyone wanted a chatbot, this year everyone wants an agent. The shift is real, but the hype has run well ahead of the substance, and it is worth slowing down to ask what agentic AI actually means, what it can genuinely do today, and where the marketing outpaces reality.

Shakshuka with Feta and Smoked Paprika

Shakshuka is the ultimate one-pan breakfast: eggs gently poached in a thick, spiced tomato sauce until the whites set and the yolks stay molten. This version leans on smoked paprika for a deep, warming undertone and finishes with crumbled feta, whose salty tang cuts through the richness beautifully. It comes together in half an hour in a single pan, and tastes every bit as good at lunch or supper. Serve it bubbling, with bread to scoop up every last bit.

Crisp Belgian Waffles with Pearl Sugar

Forget the thin batter poured from a jug; a true Liege-style Belgian waffle is made from a soft, enriched yeast dough, closer to a brioche than a pancake. The twist that defines it is pearl sugar, sturdy nuggets that stay intact through mixing and then caramelise in the hot iron, studding the waffle with pockets of crunch and golden, toffee-like edges. The inside stays tender and light. Eaten warm and plain, they need nothing more, which is exactly what makes them so dangerous to have around: there is no toppings step to slow you down between the iron and your mouth.

MQTT Essentials: The Protocol Behind Every Smart Home

If you’ve spent any time poking at a smart home, you’ve bumped into MQTT whether you meant to or not. Zigbee2MQTT, ESPHome, Tasmota, Home Assistant’s own internal bus — they all lean on it. It’s worth understanding properly, because once you do, an awful lot of “magic” stops being magic and starts being a handful of topics and a tiny broker process.

MQTT is a publish/subscribe messaging protocol. It was designed in 1999 by Andy Stanford-Clark of IBM and Arlen Nipper for monitoring oil pipeline telemetry over expensive, unreliable satellite links, which tells you everything about its priorities: tiny payloads, low overhead, and tolerance for flaky connections. When every byte over the satellite costs money and the connection might drop mid-sentence, you design a protocol that says as little as possible and copes gracefully when it’s cut off. Those constraints turned out to describe a battery-powered wireless sensor in a spare bedroom almost perfectly, which is why a two-decade-old industrial protocol quietly became the backbone of the consumer smart home. Devices don’t talk to each other directly. They talk to a broker — a small server that receives messages and fans them out to whoever has subscribed.

Kubernetes Without the Headache: A Single-Node K3s Cluster on a Raspberry Pi

The first Kubernetes cluster I ran at home cost me about forty pounds and drew less power than a night light. It was a single Raspberry Pi 4 with K3s on it, and within an evening it was serving a real web app through a real ingress controller — the same building blocks that front production clusters ten thousand times its size. That is the pitch in one sentence: you can learn the thing that runs the modern internet on hardware you would happily drop from a desk.