Elasticsearch provides the ability to log slow search queries that exceed a certain threshold. When enabled, all the search queries that exceed the given threshold are...
- By ananthakumaran
- 12 Jun 2019
I recently stumbled upon a strange occurrence in an ORM’s query retry implementation for SQLite. Some of my queries were getting stuck in a retry loop...
FoundationDB is a distributed key-value store. From the database perspective, both keys and values are just bytes. Keys are sorted lexicographically and different chunks are assigned...
- By ananthakumaran
- 17 Aug 2018
FoundationDB is a distributed key-value store. The whole database can be considered as a giant sorted map where keys and values are bytes. FoundationDB client libraries...
- By ananthakumaran
- 5 Aug 2018
One of our customers wanted to setup a time based job scheduling system, similar to cron, to reliably schedule critical tasks. They were already using sidekiq,...
How interest rates and time period of investment, effects return.
For many problems in programming, the most straightforward solution is to transform a list (E.g. map/filter/reduce etc over it). Once in a while, there will be...
- By ananthakumaran
- 28 Nov 2017
At a project I am working on, our backend system makes http requests to hundreds of different servers. It is sort of like webhook, http requests...
- By ananthakumaran
- 8 Aug 2017
Failures are inevitable in any system. How it should be handled varies from one system to another. In job processing systems, a common approach is to...
- By ananthakumaran
- 1 Apr 2017
The Y combinator is an interesting construct, allowing recursion without referring the function being recursed. In other words, call a function recursively, without naming it. We...
TL;DR
A minimal synchronous mocha like DSL, in less than 100 lines of
JavaScript. Code at github.com/ciju/mini-mocha
colorlog.js Helps with
managing the information overload in JavaScript Console logs.
To access a server on the internet, you need its IP address and port. Your local machine might be running behind a NAT. So, a server...