java

Data retrieval service with exponential backoff

Posted on

Here we will create Data retrieval service with exponential backoff that we covered in the previous post. Implementation   package com.rms.blueprint.data;   import java.util.Date; import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.function.ObjLongConsumer; import java.util.function.Supplier;   import org.slf4j.Logger; import org.slf4j.LoggerFactory;   public class DataRetrievalWithBackoff implements Runnable { public final Logger LOGGER = LoggerFactory.getLogger(DataRetrievalWithBackoff.class);   private final […]

Uncategorized

Exponential backoff

Posted on

In a variety of computer networks, binary exponential backoff or truncated binary exponential backoff refers to an algorithm used to space out repeated retransmissions of the same block of data, often as part of network congestion avoidance. Wikipedia Exponential backoff Here is an implementation in Java /** * Calculate Exponential backoff * * @param attempt […]

java

PhantomSQL 2.0

Posted on

Since the beginning of this project, I have learned many lessons. First of all the syntax of the language was to closely related to SQL, as this was the language that I wanted to mimic and fit into this framework. Main reason for that was that I wanted something familiar to the end user, I […]

development

Run MD5 check sum against all files in a directory

Posted on

Couple snippets that allow us to run checksum and get unique md5 checksums. This is two step process. First, we obtain our md5 checksum for all files find -type f -exec md5sum "{}" + > /opt/checklist.chkfind -type f -exec md5sum "{}" + > /opt/checklist.chk This produces file with following contents 71cc452a8ac5a27c32a83e6a0909e7ae ./PID_190_7344_0_47710322.tif6712032974632727465.tiff 71cc452a8ac5a27c32a83e6a0909e7ae ./PID_190_7344_0_47710322.tif174464329785828524.tiff 71cc452a8ac5a27c32a83e6a0909e7ae […]

Uncategorized

Random number between two values

Posted on

This is a small utility class that allows us to obtain a random number between two values that are uniformly distributed in the range of ‘low’ to ‘high’. This works for floats, doubles and integers. The inner working of this class are straight forward, our uniform(int, int) method uses the nextInt(int) method of Random class […]

java

Generate ID from UUID

Posted on

This is a method to generate a long id in the positive space. There are few issues to consider with this method – UUID is 16 bytes / 128 bits – Long is 8 bytes / 64 bits This means that we will loose some information, if we don’t want to lose that we could […]

Uncategorized

Configuring Java JDK on Ubuntu

Posted on

This is an easy way to configure java on a linux box, all this information is available online. First we need to obtain the build. sudo wget http://192.168.201.47:8000/jdk-7u75-linux-x64.gz Extract from tar sudo tar xzvf jdk-7u75-linux-x64.gz Create symbolic link so we can later update the version sudo ln -s /opt/jdk1.7.0_75/ /opt/java we edit the /etc/profile and […]

Uncategorized

Grepping for multiple strings in a file

Posted on

We will use egrep which accepts a regular expression to grep for multiple strings. tail -f localhost_access_log.txt | egrep “\” 404|\” 500″ Here our example looks at logs to see if we got 404 or 500 request. “GET /favicon.ico HTTP/1.1” 404 973 “GET /login.html HTTP/1.1” 500 1230 “GET /favicon.ico HTTP/1.1” 404 973