Ian Cooper
icooper.bsky.social
Ian Cooper
@icooper.bsky.social
5.4K followers 2.2K following 9.2K posts
Principal Engineer, speaker, gamer, geek. Tattooed, pierced, and bearded. The 'guv' on https://github.com/BrighterCommand Line Editor at Chaosium for QuestWorlds: https://github.com/ChaosiumInc/QuestWorlds #Tech - tech posts #TTRPG - rpg posts
Posts Media Videos Starter Packs
Pinned
For those interested in my two-day workshop on messaging (day one: messaging; day two: reactive architectures), then I will be presenting it next at KanDDDinsky.

kandddinsky.de/workshop/pract…

This will be the only remaining public presentation this year.

Hope to see you there.
KanDDDinsky - The art of business software
https://kandddinsky.de/workshop/pract…
I assume they are not all gone yet.
This is how revolutions start: one day it’s “let them eat cocoa substitute” the next day folks are knitting whilst the guillotine falls.
Full release notes are here: github.com/BrighterComm.... Updated documentation for V10 is in progress.
Simplified Configuration: We have simplified the configuration, including renaming obscure methods. This needs more work in future releases.
Nullability: We have enabled nullable reference types.
Scheduled Requests/Messaging: We now support integration with schedulers such as Quartz.NET, Hangfire, or AWS Scheduler. This can be used with requests or messages. We use this support to allow "Requeue with Delay" where the messaging protocol does not support it.
Reactor and Proactor: We have made considerable under-the-hood improvements to synchronous and asynchronous message pumps in your consumer. The asynchronous pipeline is now end-to-end.
Request Context Improvements: You can now inject the RequestContext more easily into a pipeline. The RequestContext now supports the OriginatingMessage for subscriptions to queues or streams.
Agreement Dispatcher: We support a callback to determine the handler to dispatch a Command or Event to. Previously, we matched the request and the handler based on the request type. You can now add a callback to dynamically determine the handler from the request and context.
Dynamic Message Deserialization: Previously, we required that you use a DataType Channel (one type per channel). Whilst this remains the default, you can now provide a callback to determine the type from the message itself, such as via the Cloud Events type, before deserializing.
Default Message Mappers: There is no need to provide a mapper if your goal is to serialize your body as JSON. You can use a default mapper. You can create your own default mapper for other formats. You only need explicit mappers for complex transform pipelines.
Open Telemetry: We now support the OpenTelemetry Semantic Conventions for Messaging. This will mean that you have different traces to V9, where the OTel conventions were Brighter's own.
Cloud Events:We now have full support for Cloud Events headers; you can set values in your Publication and have them reflected on messages.
We have released V10 of Brighter. This represents a significant set of improvements and sets the groundwork for other changes in V10.X releases to come. (We will continue to support V9 with bug fixes until V11; Our release cadence for major versions is 1-2 years.) Details below.
Well, I am never going to win a Penguin is better than Tim-Tam argument with an Australian ever again, am I?
Sounds awesome
We mashed up @chaosium.bsky.social @icooper.bsky.social QuestWorlds with the Age of Vikings setting for an exciting Actual Play.

What's driving the polar bears to rampage and are the Hidden Folk to blame, Loki, or some other villain?

youtu.be/0R1QtixmQRw?...
Questworlds | Age of Vikings : One Shot | King of the Bears | Actual Play
YouTube video by Unconventional GMs
youtu.be
Reposted by Ian Cooper
Thank you @icooper.bsky.social for the talk on Responsibility Driven Design tonight at the London DDD group. A great talk as always. Thank you.
Thanks for being an audience.
Reposted by Ian Cooper
If you want hardcore runtime details then I recommend botr (book of the runtime)

github.com/dotnet/runti...
github.com
Oooh, didn't know about that. Ta.
Reposted by Ian Cooper
Happy about it as @icooper.bsky.social is on my short list of the people I respect the most in messaging and architecture.

Plus, he's a cool guy, so feel invited, we'll try to keep it lightweight, but I'm sure that Ian will bring sound insights 🙂
Don't miss a new Small Talk Episode! 🔔

Distributed Systems & Messaging Patterns with @icooper.bsky.social moderated by @oskardudycz.bsky.social

When: Oct 6th, from 3 pm (CEST)

RSVP on Meetup:
www.meetup.com/avanscoperta...

Live streaming on:
YouTube: youtube.com/live/0NYwN_p...
Supposedly London has as many rats as people. I think that’s a comforting thought, that we all have our own rat.
Geek down!

So great was the amount of material in Monolith’s Conan Kickstarter shipment (an age of cardboard packaging undreamed of) that I have been injured during the unboxing.
Finally, received confirmation of my resignation from the Labour Party. It took a while.

Whilst they have called Reform's deportation plans racist, they continue to appease Reform voters' racism and march to the beat of Nigel Farage's drum.

I'm done with them and will be joining the Greens.