What to Open, What to Close: A Pragmatic Guide to Interface Design
The playbook for building software seams that bend with change, not break.
The playbook for building software seams that bend with change, not break.
Patterns that survive both behaviour and variant volatility
The Expression Problem: A Design Dilemma
Transformers, Attention and Self Attention
I must confess I have met very few effective leaders in over two decades in the software industry. I use the term effective purposely; not…
I've had a few interesting conversations with folks regarding multitenant systems over the past few weeks. Those conversations prompted me…
I’ve seen a fair bit of confusion regarding understanding and using correct HTTP status codes when using REST. This post will go over some…
The TCP/IP model is the ubiquitous standard in computer networks. It came out as a set of protocols developed at DARPA(Defence Advanced…
Gossip protocols solve a common problem in distributed systems called multicasting. So what is multicast, and why is it required? It is…
Counting distinct elements is a problem that frequently arises in distributed systems. In general, the size of the set under consideration…
Data streams have become ubiquitous in today's large distributed systems. These data streams could be network traffic or weblogs that need…
Most organizations in today’s day and age are investing heavily in application modernization. What that translates to is the move to…