Which is your favourite Gun in PUBG? Mine is this one in the picture below. Who will name this? SCAR-L! That's right. It needs 5.56 mm bullet and is pretty handy. More about SCAR-L here. But! let's ask our friends in Pochinki? Has someone got 4x zoom? Why? Because you know that the assault rifle... Continue Reading →
A Simple Explanation of Rabin-Karp Algorithm For String Search
Introduction If you are new to string search, I would recommend to first read the brute force approach here. Brute force as discussed in the mentioned post has time complexity of O(mn) in worst case. Rabin-Karp also has the worst case time complexity of O(mn), but it has a much better time complexity of O(m... Continue Reading →
Simple Explanation And Implementation Of Knuth-Morris-Pratt (KMP) Algorithm For String Search
Introduction We have seen brute force approach to string search here. Brute force approach to string search has time complexity of O(n*m). Donald Knuth and Vaughan Pratt, and James H. Morris conceived the algorithm in 1970. KMP algorithm is the first algorithm to have linear time complexity. Problem Statement We will assume text (where we... Continue Reading →
A beginner guide to Brute Force Algorithm for substring search
Introduction CONTROL + F or COMMAND + F How often do you use above keyboard shortcut? In fact, for most of us, searching a string or substring in a pile of strings/document is involuntarily action with the above key combination. This post will deal with the subject of the substring search. We will quickly define... Continue Reading →
A complete tutorial on Binary Tree
Introduction Figure 1 shows a Binary Search Tree. This post will start with the motivation of studying BST and gradually move to the related definitions. We will do some hands on coding for simple BST operations and we will end the post by analysing the drawbacks. Where do we use Binary Search Tree? Trees... Continue Reading →
Why should we use explain command?
I used to spend long hours staring at screen and running load test again and again to reduce the latency of that problematic API. Then, doing some small changes here and there and relying more on God than myself for miraculous improvement. Can you connect to this? Voila! I learnt EXPLAIN. I am going to share... Continue Reading →
Java Basic Tutorials
We had conducted a series of three online lectures for those who want to learn Java. These presentation were made for a beginner with no prior knowledge of java. Lectures were supported by online tests and a small project to get hands on knowledge. Please find the presentations that will help in jumpstarting the java... Continue Reading →
Optimizing MySQL Performance – An Introduction
What can a badly designed database do? Anyone whose bread and butter comes from database seldom underestimates database performance. But Paulo Cohelo said in veronica decides to die that, People never learn anything by being told, they have to find out for themselves. Echoing the similar sentiments, I was happily having breakfast, lunch and dinner until one... Continue Reading →
Apache Kafka Introductory Tutorial – Set up your first Kafka Producer and Consumer
Prerequisite A basic understanding about Apache Kafka. Please go through the introduction once, should you need it. Installation Download the Kafka from here. Untar the tar file that is downloaded. tar -xzf kafka_2.11-2.1.0.tgz Run The Server cd kafka_2.11-2.1.0 Start the zookeeper first bin/zookeeper-server-start.sh config/zookeeper.properties Zookeeper would be running at 2181 port. You can check that... Continue Reading →
Introduction to Apache Kafka Concepts
What is Apache Kafka? Apache Kafka is a distributed streaming platform. This essentially means that Kafka has following capabilities: Publish and subscribe to the stream of records just like how message queue (e.g. RabbitMQ) works Store streams of records for specified time. Kakfa is not a replacement for database or a logging platform. However, kafka... Continue Reading →