RSSAmplifier

Blog

Alex Reid

Recent content on Alex Reid

alexjreid.devRSS feed ↗21 posts

Latest posts

tinyblok: monoblok's patchbay on an ESP32-C6: a £5 microcontroller

Running the existing patchbay DSL on a microcontroller

Plug into monoblok's mixer: when one core isn't enough

Mixer mode forks one worker monoblok per shard and routes by first subject token. The hot path stays single-threaded; you just have more of them.

Taming a market data firehose efficiently with monoblok

One config file replaces the demux, round, dedupe glue every market data consumer rewrites

A playground for monoblok

Try out monoblok via the NATS CLI without installing anything.

monoblok: signal conditioning in a messaging broker

monoblok is a small, NATS-compatible broker that does deadband, debounce, dedupe, demux and last-value cache in flight, so subscribers don't have to.

Excel as an accidental stream processor

Excel probably shouldn't work as a stream processor. And yet: live FX feeds, cross-rates, rolling analytics, and alerts, all in a workbook.

zigxll: building Excel XLL add-ins in Zig

An open source framework for writing native Excel add-ins in Zig, and the foundation that xllify is built on.

NATS as a web application backend

I have used NATS on various projects over the years. It provides a high performance transport layer than can be used to connect applications and services. If you haven’t already heard of it, this video is a fantastic primer. NATS supports websocket connections. nats.ws runs in browsers. This means we can directly use NATS as the backend for browser-based applications that need to display…

End of 2022

End of year thoughts - 2022 edition

Using change data capture to perform flexible aggregations with DynamoDB and Druid

Druid stores immutable events, not records that can be updated at any time. This post explores building a Druid data source from a DynamoDB table stream to provide flexible aggregations.

Patching in a development service

It is not always feasible to run an entire system composed from microservices locally. This post discusses using a service mesh to 'patch' a locally running service into a remote test environment, for development purposes.

Clutch spring and a tuning fork

Some odd jobs done on the 996 this week

A check over and some new suspension parts

A clean bill of health for the 996

DynamoDB pagination with page numbers in URLs

For SEO reasons, we might want to include page numbers in URLs when displaying a large set of items. This post discusses how this is possible with DynamoDB and Redis.

Let there be light

Headlight upgrade

Front dash speaker upgrade

Making Radio 2 sound a bit better

Bought one!

Journey to buying my Porsche 996

Squeezing ClickHouse into Cloud Run

I squeezed ClickHouse into Cloud Run.

Driving an OLED display with a Raspberry Pi and AWS IoT

Using a Raspberry Pi to expose an OLED panel as a thing that can be easily interacted with.

Exploring Druid

A beginners look at Druid, a datastore designed to ingest high volumes of events and provide fast querying.

There's no shame in code that is simply good enough

Back in my early teens when I started developing what could loosely be called software, I didn’t know what I was doing. If it compiled, ran and produced mostly the expected results, then the job was done. As a new programmer, I was immensely productive. Of course, problems came when it was time to fix bugs or extend the software. It was often easier to just start again than to try and…