/profile.jpeg

Software Architecture Horror Story

This is a tale of software architecture decision-making in large companies. The setup As part of my job as a software architect, I had to design a solution which involved the integration between 2 systems: let’s call them A and B. They were part of a new instant payment processing flow that was beeing developed. System B had a legacy integration mechanism that was no longer supported at the architectural level.

Computer

đź–– Re-Creating Star Trek’s LCARS Computer With Modern LLMs A hands-on experiment in autonomous tool-building agents 1 · Why LCARS? For decades science-fiction fans have watched Star Trek officers converse with a ship-wide computer LCARS (“Library Computer Access/Retrieval System”). LCARS could: answer arbitrary questions by searching internal databases; execute real-world actions by routing commands to subsystems; politely say why it couldn’t comply when limits were hit. In 2025, large language models (LLMs) plus tool-calling APIs make that dream feel within reach.

Visual Stream Processing System

Add I’ve added a new tldraw tool called Stream Component (left-most icon: </> in the toolbar, shortcut key S). You can click or draw a rectangle to add a stream component to the canvas. The component is not initialized at first - you need to select the component type from the drop-down menu. This UI will be improved to allow more discoverability, show descriptions of components, etc. After selecting the component type, it will be initialized (started in the backend) and begin running immediately, waiting for inputs on its input port(s).

7 Essential Tech Talks Every Developer Should Watch

Whether you’re a seasoned developer or just starting your coding journey, these seven talks are packed with insights that will challenge and inspire you. In the rapidly evolving world of software development, it’s easy to get lost in the sea of new languages, frameworks, and techniques. But as I journeyed through my career as a developer, I found that revisiting seminal talks from industry visionaries consistently provides me with fresh perspectives and enduring wisdom.

Pure Functional Stream processing in Scala [2]

In the last post, we saw how to combine pure functions running in IO and Akka streams using .mapAsync and .unsafeToFuture val source: Source[String, NotUsed] = ??? val sink: Sink[Int, NotUsed] = ??? def pureFunction[F[_]](s: String): F[Int] = ??? source .mapAsync(parallelism = 8)(m => pureFunction[IO](m).unsafeToFuture()) .runWith(sink) In order to make it easier to work with IO in Akka Streams, we can write some helpers to add a method on Streams that automatically run the IO inside the flow.

Pure Functional Stream processing in Scala [1]

In Scala you can write pure functional code, similar to Haskell or other pure functional languages, but you’re not obligated to. Wikipedia categories Scala as an impure Functional language. FP purists view this as a weakness of Scala, but others view the option of “cheating” pureness as an acceptable choice sometimes. Even if you can do everything purely, it’s sometimes a lot easier to think about the problem in a different paradigm.