Apart from working, I want to write a blog post about Observability and infrastructure.
Also continuing on my creating and operating a production ready Nomad cluster blog series (unpublished still, as I want most of it “done” before starting to publish.)
I’d be interested in reading this!
I’d be interested in reading this as well. Working on precisely this, at work.
I’ll see if I can get someone to post the link once it’s posted, as I can’t yet as I am a new member and my blog is on my own domain :\
Setting up an automated watering for our roof terrace, hopefully some biking with my family.
Tech side: I’m reading Elixir in Action, 2nd edition and I am having a blast. I haven’t enjoyed a tech book so much since a long time. Feels like reading about superpowers :)
Curious about the super powers, anything specific or the typical Erlang stuff?
It’s probably the typical Erlang stuff (but I didn’t know it). So in no particular order:
I guess it must have its warts, but so far it’s been very reasonable. This video made me consider it - https://www.youtube.com/watch?v=JvBT4XBdoUE.
Working on pipelang. Remits needs a stream manipulation query language, and we searched for a simple embeddable pipe-filter language to use but no one had any. So I’m streaming my work on it on Twitch which has been good for motivation and forcing me to explain design choices.
I’m hoping other people can use it too. I can forsee it being great for a Splunk-like log search, sticking infront of a message queue, and all kinds of fun little CLI stuff.
Hopefully this weekend I’ll stream enough to get it in a working enough state that we can start incorporating it into Remits :D
Pipelang looks interesting, what kind of filters do you plan to support?
Glad it’s interesting!
That’s a great question that I don’t have the answer to yet. You shouldn’t have to use any default filters at all, just define the ones you want your users to have access to. Filters get the message, and can store state…so really there isn’t much limit on what they can theoretically do. Just what you want them to do. And they are just a trait so defining them and exposing them to users is super simple with basically no boilerplate.
That being said, we do want to export a tiny “stdlib” that you can optionally include. A batch, window, a streaming sum and a streaming avg would be useful. Some filtering functions that operate on primitives like greater_than(x) make sense too. I can also forsee a set of packages that include higher level or more use case specific filters to include so you don’t have to write them.
For my personal use case in Remits, I think we’re going to want to define most of our own filters since they’ll wrap user defined Lua functions. If you have a use case other than mine or any ideas on what filters we should support by default I’d love to hear them!