Skip to main content

You are currently viewing the Trifork Blog, to view our full website please go to Trifork.com

Kotlin – just another programming language?

Recently, I attended the Kotlin programming language conference, aptly named KotlinConf, to learn about the latest developments in the language. Naturally, my first idea for this blog was to list the top takeaways of the talks I attended. However, I thought it could be more useful for those who aren’t familiar with Kotlin yet to […]

Parallel Short-Circuiting With Reactive Programming

Dealing with asynchronous and parallel validation There are scenarios in Reactive Programming when the outcome of a code block is depends on several separate independent expressions (jobs). If any of them goes wrong (or right depending on the problem), you can already decide about final result and you don’t need to wait for the outcome […]

Spring Framework: Becoming the source of modern Java

A retrospect with Trifork’s CTO of Enterprise Application Development Joris Kuipers It may be surprising to realise that it’s been 16 years since the Spring Framework was first released. From its beginnings as an inversion of control container shared with a tight-knit community, Spring has evolved to a fully-fledged ecosystem of its own. No longer […]

Dockerising your legacy integration tests

As most of you will know, every now and then you can expect the question ‘Can you help fix something on this ancient project?’ According to the Universal Software Ageing table, that means anything from last month to much, much older. I got such a question recently, being in-between projects, and this project fell squarely into […]

Using Axon with PostgreSQL without TOAST

The client I work for at this time is leveraging Axon 3. The events are stored in a PostgreSQL database. PostgreSQL uses a thing called TOAST (The Oversized-Attribute Storage Technique) to store large values. From the PostgreSQL documentation: “PostgreSQL uses a fixed page size (commonly 8 kB), and does not allow tuples to span multiple […]