software consultant

Joined June 2011
130 Photos and videos
Pinned Tweet
I've written what monoblok does several times over in Go and Python over the years, probably badly. It would have been nice to clean up my @nats_io firehose subjects with a few rules. github.com/lexvicacom/monobl…
monoblok accepts publishes from existing NATS clients and exposes useful subjects, saving you from having to write and deploy the same cleanup/republish services.
2
5
622
It is one of those pieces that continually gets rediscovered and posted about even 15/16 years later. It refuses to die and is possibly famous as the article is so well written. The approach was quite provocative at the time. It has aged well in parts and badly in others.
1
21
Just because it worked once in an environment with a specific set of constraints does not make it a general purpose silver bullet Just embrace the Good Ideas. But what are the good ideas? This requires a bit of thought.
25
monoblok adds support for @nats_io durable consumers. Preview functionality in monoblok v0.3.5. monoblok.host/index.html#ins… github.com/lexvicacom/monobl…
monoblok can now consume (and catch up) from @nats_io JetStream streams. It observes a virtual clock so stream date is used. May add event time from JSON payload and/or application header. Hooks in to existing export machinery so replay emissions can be optionally exported back.
1
3
417
Code is data/data is code. S-expressions put some people off, so monoblok patchbays can now be written in sugar-coated YAML.
Replying to @monoblok_
You can now write your patchbay configurations in YAML
81
If you happen to fall into the vast intersection of people who have an ESP32-C6 board lying around and want it to publish sensor readings to NATS...
tinyblok can now be flashed from Chrome flash.monoblok.host/ In setup mode just join the TINYBLOK wifi network. A captive page pops up, allowing you to select your wi-fi network and target NATS environment. #iot #nats #esp32
1
1
92
tinyblok can now drive a little OLED! Crucial feature
Replying to @monoblok_
I found a less Soviet era display!
1
59
Alex Reid retweeted
Writing a monoblok patchbay by hand is already simple. Describing it to an LLM is faster: give it the shape you want your data in and get back a setup (with test publisher) that publishes clean/actionable values to your @nats_io cluster. github.com/lexvicacom/monobl…
2
1
1
85
Love this so much and I totally believe there was a team and PM and roadmap
If your startup does not have a UUID microservice you’re ngmi
66
Alex Reid retweeted
The same telemetry cleanup code gets rewritten in every subscriber. monoblok moves it into the broker with a simple DSL raw → round → squelch → clean github.com/lexvicacom/monobl… #nats #ziglang #streamprocessing
1
1
249
Tinyblok on ESP32 dev board can now respond to @nats_io req/reply. Useful for pings, queries and hardware actuation. Also great for querying device fleets: if n boards all subscribe to the same subject, the request is a broadcast and n boards (should) reply.
2
2
9
433
github.com/AlexJReid/zigxll-… now uses nats.zig instead of nats.c - also zig 0.0.16. Quite a journey; addresses a gap nats.zig has on Windows. github.com/AlexJReid/zigxll-… #nats #ziglang
1
150
Alex Reid retweeted
monoblok is a tiny pubsub broker with a conditioning streaming DSL. it cleans and shapes local streams and then exports the results directly to a NATS cluster, or through a NATS leaf. Conditioning at the edge, analysis in the cloud. alexjreid.dev/posts/monoblok…
1
45
Great to see; monoblok does something similar but expresses it in a DSL rather than via headers. I can see merit in each; either way, very cool.
Replying to @nats_io @every
Subject sampling = server-side downsampling. Sensor pushing data every second? Schedule a snapshot of the *latest* value every 5 minutes and source it into another stream. Less data on the wire to your cloud, no client-side aggregation logic. github.com/nats-io/nats-arch…
1
1
57
Got the signal conditioning DSL from monoblok to run on an ESP32 development board (dog shown for scale) talking to @nats_io over WiFi to my laptop. The board runs the same patchbay DSL to squelch, quantize and avg data transmitted to NATS. 🤓 alexjreid.dev/posts/tinyblok…
1
2
5
447
Added TLS and creds support. Tons of bugs but works, loosely.
39
Thanks - it has been great to learn about the cleverness in the nats-server go codebas when doing this
very cool zig project based on the nats-server protocol with a nice built-in s-exp dsl github.com/lexvicacom/monobl…
1
77