How we discover and organise domains in an existing product
Software companies and consultants like to flex their Domain Driven Design (DDD) muscles by throwing around terms like Domain, Subdomain and Bounded Context. But what lies behind these buzzwords, and how these apply to customers' diverse environments and needs, are often not as clear. As it turns out it takes a collaborative effort between stakeholders and development team(s) over a longer period of time on a regular basis to get them right.
How ChatGPT (GPT-4) Created a Social Media Posts Generator Website
Using the GPT-3-turbo and DALL-E models in Node.js to create a social post generator for a fictional product can be really helpful. The author uses ChatGPT to create an API that utilizes the openai library for Node.js., a Vue component with an input for the title and message of the post. This article provides step-by-step instructions for setting up the project and includes links to the code repository.
Running Hybrid Workshops
When modernizing or building systems, one major challenge is finding out what to build. In Pre-Covid times on-site workshops were a main source to get an idea about ‘the right thing’. But during Covid everybody got used to working remotely, so now the question can be raised: Is it still worth having on-site, physical workshops?
Creating a Cross-Domain Capable ML Pipeline for Image Classification
As classifying images into categories is a ubiquitous task occurring in various domains, a need for a machine learning pipeline which can accommodate for new categories is easy to justify. In particular, common general requirements are to filter out low-quality (blurred, low contrast etc.) images, and to speed up the learning of new categories if image quality is sufficient. In this blog post, resulting from a joint work with Aigiz Kunafin (Trustbit Data Science), we compare several image classification models from the transfer learning perspective.
State of Fast Feedback in Data Science Projects
DSML projects can be quite different from the software projects: a lot of R&D in a rapidly evolving landscape, working with data, distributions and probabilities instead of code. However, there is one thing in common: iterative development process matters a lot.
Part 2: Detecting Truck Parking Lots on Satellite Images
In the previous blog post, we created an already pretty powerful image segmentation model in order to detect the shape of truck parking lots on satellite images. However, we will now try to run the code on new hardware and get even better as well as more robust results.
Part 1: Detecting Truck Parking Lots on Satellite Images
Real-time truck tracking is crucial in logistics: to enable accurate planning and provide reliable estimation of delivery times, operators build detailed profiles of loading stations, providing expected durations of truck loading and unloading, as well as resting times. Yet, how to derive an exact truck status based on mere GPS signals?
Five lessons from running a (remote) design systems book club
Last year I gifted a design systems book I had been reading to a friend and she suggested starting a mini book club so that she’d have some accountability to finish reading the book. I took her up on the offer and so in late spring, our design systems book club was born. But how can you make the meetings fun and engaging even though you're physically separated? Here are a couple of things I learned from running my very first remote book club with my friend!
Process Pipelines
Process pipeline is a system to break down complex repeatable work into digestable steps that lead to concrete results.Processes, unlike projects, don't have a defined completion time and goal. Their goal is to keep running and moving forward at a steady pace.
Inbox helps to clear the mind
I hate distractions. They can easily ruin my day when I'm in the middle of working on a cool project. They do that by overloading my mind, buzzing around inside me, and just making me tired. Even though we can think about several things at once, we can only do one thing at a time.
Consistency and aggregates in event sourcing
Black Friday is coming, so let’s talk about warehouse management and event sourcing. When developing a system for event retrieval with aggregates, several very different concepts are possible. If you think of an aggregate as a transaction boundary, then each decision has its own implications.The aggregate can also be a lifecycle boundary - events in a global uniform stream can often only be discarded by the aggregate stem.
Celebrating achievements
Let's talk about celebrating our successes. Our active memory can be like a cache of recently used data. Fresh ideas and frustrations supersede older ones. The older the thought, the fuzzier it becomes. Details are lost.
There is also negativity bias. When good and bad things happen at the same intensity, the bad ones have a greater effect on us.
The weekly shutdown routine
Like many other knowledge workers, my work day is filled with context switching, hopping from one meeting to the next, and hoping to squeeze in an hour or two of deep work. Having control over my schedule, especially as someone who works part-time, is sometimes just not possible. One of the things I can and do have control over, however, is how I wrap up the work week. Introducing: the weekly shutdown routine!
Learn & Share Video Obsidian
Knowledge is very powerful. So, finding the right tool to help you gather, structure and access information anywhere and anytime, is rather a necessity than an option. You want to accomplish your tasks better? You want a reliable tool which is easy to use, extendable and adaptable to your personal needs? Today I would like to introduce you to the knowledge management system of my choice: Obsidian.
Part 3: Trustbit Logistics Hackathon - Add speed model to logistic simulation
So far in the series we have built a trivial logistics simulation runtime. At this point it is only capable of finding the fastest route between two locations. This is implemented as a form of A* algorithm that uses predefined travel times.
Let’s extend the implementation and demonstrate how we can “plug” different models into the simulation runtime.
Part 2: Trustbit Logistics Hackathon - Implementing Basic Logistics Simulator
In the previous article (Part 1: Trustbit Logistics Hackathon - Behind the Scenes) we talked about organizing our Logistics Hackathon on Sustainability - how it came to be.
Let’s get to the technical details now.
Part 1: Trustbit Logistics Hackathon - Behind the Scenes
A look behind the scenes of our Hackathon on Sustainable Logistic Simulation in May 2022. This was a hybrid event, running on-site in Vienna and remotely. Participants from 12 countries developed smart agents to control cargo delivery truck fleets in a simulated Europe.
So, I wrote a book
On Saturday August 7 2021, I released a book called Essential Functional-First F# on LeanPub, a self-publishing platform. It is based on two series of blog posts that I've written for the Trustbit blog.
Building and Publishing Design Systems | Part 3
In this part of composite UIs with micro frontends and design system, we will create a micro frontends that will consume the design system created in the previous post.
Using a Skill/Will matrix for personal career development
As part of their onboarding, all of our employees are encouraged to fill out a “Skwill” — a small matrix that shows an overview of their strengths and interests in different fields. The matrix is “public” (i.e. visible to anyone inside the company) and makes it super easy to share your skillset with teammates or people outside of your team.