RSA is partially cryptographically homomorphic

Homomorphic cryptography [1], should it ever become available as a product, will have an intriguing property: computers will be able to operate on encrypted data without either having to- or being able to decrypt it. Competitive or regulatory pressure leads many organisations to distrust public (or private) clouds with their data and algorithms, so they … Continue reading RSA is partially cryptographically homomorphic

Rebuilding single services in docker-compose

Note to self: a single service ("container") out of a docker-compose.yaml file is rebuilt and restarted like this: docker-compose create container_name   While this complains about deprecations, there is another way. Let's say we want to re-create a container called "web" belonging to a composition: # stop container docker-compose stop web # optionally destroy container. … Continue reading Rebuilding single services in docker-compose

Scalability through client-driven workflows

This post discusses a way to increase a service architecture's scalability by removing any communication paths between services and instead burdening clients with that communication. Bureaucracy in real life is a trade-off between ease of work for the applicant vs. ease of work for officers  In "Les 12 travaux d'Astérix" [1], Asterix and Obelix are … Continue reading Scalability through client-driven workflows

Of Babylonian kings or why technical users in user stories are OK

Every time a technical system impersonates a human in a user story, God drowns a kitten in an agile waterfall.-- Unknown User stories are supposed to advocate the user's view on a system's behaviour. Whatever technical systems which interface with "our" system think or do does not interest us. But why then is it so … Continue reading Of Babylonian kings or why technical users in user stories are OK

Java synchronized method concurrent execution

I read this puzzle years ago (unfortunately I can't find the reference) but didn't appreciate it at the time. Java synchronized methods [1] can supposedly be invoked only by a single thread at a time. The essence of aforementioned puzzle was that, if the synchronized method obtains a lock on the object the method belongs … Continue reading Java synchronized method concurrent execution