Distributed computing is less binary, more probability

Since late 2011 I’ve been working on distributed computing platforms, where software that runs across more than one machine is running as what we’d call a cluster. Now, as I focus more on blockchain and DLT, a lot of the approaches to computing are similar. A lightweight version of the challenges with working on distributed… Continue reading Distributed computing is less binary, more probability

Playing with Clojure and sampling algos

Over the last few months I’ve been learning Clojure. Best way to learn I find is to use what you learn for something you find useful or interesting. This morning, while browsing Hacker News, I found myself reading about Vitter’s reservoir sampling algorithm, with an example developed in Ruby. After spending a little bit of time… Continue reading Playing with Clojure and sampling algos

Building a better DynamoDB throughput scaling tool, part 2

A month back I blogged about wanting a better throughput scaling tools for DynamoDB. Not having been able to find an existing tool that ticked all my boxes, I ended up scratching my own itch and developed a small Java tool that runs in the background, monitoring a set of DynamoDB tables. The tool satisfy… Continue reading Building a better DynamoDB throughput scaling tool, part 2

Resource aware queue

For the TLDRs: This blog post presents the reasoning behing a project called ResourcePriorityBlockingQueue which is a blocking queue implementation that: Allows you to assign priority on tasks, just as with a PriorityBlockingQueue. Tasks may belong to task groups where each group may have a different priority. In that case, tasks are prioritized by group… Continue reading Resource aware queue