Category: Software Architecture

  • Rust, fighting the borrow checker

    This post is about my experience battling the Rust borrow checker during compilation. This is a common issue, especially for those with a strong OOP background. Spoiler alert: If you are struggling with the borrow checker, you are likely doing something wrong. Specifically, you might be thinking about your code structure in the wrong way.…

  • Understanding Advanced Rust Data Structures

    In this blog post, we’ll dive deep into a Rust code snippet that showcases some of Rust’s powerful features for managing complex data structures in a concurrent environment. Code Breakdown We’ll start with the trait definition and then look at how it’s used in a struct. Trait Definition Struct Definition Detailed Explanation Let’s break down…

  • Process API in AI tooling

    I am currently working on the third iteration of the process API, this time in Rust. The first version, written in JavaScript, aimed to expose user-defined processes without requiring users to write code. This introduced the concept of intent-driven development, where users define the intent and the process API handles the execution. This approach has…

  • Data manager

    In this article, we will explore data management in the context of user interfaces. First, it’s important to differentiate between data and information. For our purposes, we’ll define data as the raw collection of records retrieved from a data source. Information, on the other hand, refers to the insights derived from this data, providing a…

  • Intent Driven Testing

    Intent driven development To summarize, IDD focuses on specifying the desired outcome rather than detailing how it should be accomplished. This approach emphasizes defining the goals, leaving the execution details to the underlying systems. Take logging into an application as an instance. Numerous widely-recognized authentication methods exist, such as those provided by Google, Apple, Facebook,…

  • Rethinking user interfaces

    In the digital realm, dominated by traditional screen-based interactions, the journey through complex menus and screens has become a norm. This approach, especially in enterprise applications, often hinders rather than enhances user experience. It’s time for a paradigm shift, where technology adapts to our natural modes of interaction, paving the way for a more intuitive…

  • Intent driven data

    Introduction This text serves as an additional resource to the book “Intent-Driven Development” with a specific focus on data aspects. We will not delve into data storage methods, as it’s presumed that an application server handles this aspect. Our primary focus is on interfacing with such a server and executing functions related to the data.…

  • Process api mixins

    In various situations, it’s beneficial to enhance standard markup with generic features. This is commonly achieved by creating and attaching managers to elements. These managers have the flexibility to perform a wide range of tasks, essentially offering limitless possibilities. To illustrate this concept in a more practical context, consider two examples where you want the…

  • Intent driven components

    It’s undeniable that components play a significant role in intent-driven development. The variety of components mirrors the diversity of custom scenarios. While standard components are useful, many situations call for the creation of reusable UIs with custom logic and interface. This article primarily explores the creation of custom web components from a JavaScript standpoint. However,…

  • Don’t code against the UI

    In modern application development, one common pitfall is coding directly against the User Interface (UI). This approach results in tight coupling between the logic of the application and the visual representation of that logic. But why is this a problem, and how should one approach the challenge of managing state in a user interface? What…