Fergus On:

Software Engineering. Drawing on over a decade of experience working in SaaS environments, I write about design patterns, concurrency, and architectures that survive real use.

Developing for Linux on the Desktop: dbus

DBus handles interprocess communication across Linux desktop apps, but the terminology puts people off. Once you understand the patterns, you can talk to media players, system services, and hardware without reinventing the wheel.

When 'design patterns' become 'anti-patterns'.

Design patterns give you a shared language for architectural decisions. Treating them as rules instead of ideas ends up boxing in the implementation. I use them to communicate intent, not to prescribe structure.