Business software, modeled clearly

Event Modeling in HCL specs

Announcing a .em.hcl language spec for Event Modeling. It lets people document their event models as code. Yes, there are currently projects like: yaml: https://www.esdm.io/ https://emlang-project.github.io/ json: https://github.com/dilgerma/event-modeling-spec So you might ask why HCL? I see it this way: For this project, the block form is useful because the source resembles the concepts being discussed. My personal motivation was: I want a schema in a language I can easily edit by hand; sorry to Mermaid diagrams, but they are NOT human-friendly for event modeling The JSON spec is also not something I am willing to write by hand I want to store it in a git repo And I want it to be rendered as a nice HTML event model that can live on GitLab/GitHub Pages as my system documentation.

My farewell to Orbem

My farewell to Orbem July 31st, 2026 is my last official day at Orbem. I’m leaving after 4 years and 3 months, having started on May 9th, 2022. Orbem was a big, bright chapter of my life. So many warm memories. “Hard-skills”-wise, I have learned a lot about MRIs, AI, and hardware. But the main thing was the amazing people who work at Orbem: people from all over the world, with different cultures and different backgrounds.

Porting fmodel to Dart

Porting fmodel to Dart

A while ago I watched Jérémie Chassaing’s lecture about functional domain modelling.

It was beautiful.

The Fraktalio team (Ivan Dugalic) did an amazing job and brought those ideas to Kotlin, Rust, and TypeScript.

For a while I’ve been a fan of the Dart programming language. Why? It’s a bliss to work with:

  • Easy to pick up — if you know Java, TypeScript, C#, Objective-C, C++, or C, you can more or less start writing Dart right away;
  • Strong static typing;
  • Null safety;
  • All you need is the dart command-line tool — it supports testing, analysis, compilation, and publishing, with both JIT and AOT compilation options;
    • no Gradle, no IntelliJ IDEA, and little other heavyweight tooling required;
  • Hot reload during development (especially with Flutter) means you do not have to wait for a full compile cycle to see whether your change works;
  • The Dart team added the dart mcp-server command, which makes it much easier to work with AI agents;
  • It is battle-tested in production: customer-facing Google products such as AdWords and AdSense use AngularDart; other Google teams also ship Dart in production (see dart.dev);
  • The Flutter framework is built on Dart and lets you target iOS, Android, Linux, Windows, macOS, and the web (including WebAssembly) from one codebase;

AI is not evil

AI is not evil

I read a lot of opinions from smart people that AI is somehow bad, dangerous, or something along those lines.

It can be bad, for sure. I experienced it in my own brain in 2025:

  • I relied on it too much.

As a result, my brain kind of got a bit more stupid.

South Park did a really good episode on the dangers of AI. If you have not watched it, I recommend that you do.

/images/dangers%20of%20AI%20South%20Park.webp