Design

(Un)coupling in distributed systems - Part 2

The effects of temporal coupling

Uwe Friedrichsen

9 minute read

A jellyfish lying on the beach

In the previous post, we started to discuss a specific type of coupling, the coupling between processes in a distributed system. We discussed the fallacy that loose technical coupling, i.e., using a message-based communication style is sufficient to ensure loose coupling between processes. We learnt that instead we need to implement loose coupling at a technical and a functional level to actually become loosely coupled.

(Un)coupling in distributed systems - Part 1

Understanding functional coupling

Uwe Friedrichsen

11 minute read

Rock covered by clams

Coupling is a big issue in software design. With software landscapes becoming more and more complex, coupling painfully steps on our toes whenever we attempt to change things. Hence, we want to reduce coupling. On the other hand, without any coupling systems and their parts would not be able to interact. Hence, we need coupling – feels a bit like being stuck between a rock and a hard place.

Software - It's not what you think it is - Part 6

Making sense of it all regarding AI solutions

Uwe Friedrichsen

17 minute read

Flock of penguins on a rocky landscape

In the previous post we have discussed that software is invisible which deprives humans from an essential reasoning instrument. We have also looked at the malleability curse, the property of software that it can be bent and twisted in totally absurd and nonsensical ways while still working in some way.