Skip to main content

Posts

Database Internel Architecture: SQLite

Introduction A database is an essential part of building a software system which used to store and read data efficiently. Here, We are going to discuss some architectural details of database implementation by using an early version of SQLite. SQLite is a small database application which used in millions of software and devices. SQLite invented by D.Richard Hipp in August 2000. SQLite is a high performance, lightweight relational database. If you are willing to learn internal of a database in coding level, then SQLite is the best open source database available out there with highly readable source code with lots of documentation. Reading later versions of SQLite become a little harder since it contains lots of new features. In order to understand the basic implementation of database internals, You should have good knowledge about data structures, some knowledge about Theory of Computing and how an operating system works. Here we are looking into the SQLite 2.5.0 version. Here
Recent posts

Google is turning Android Phones into seismometers

Google   is launching a handful of new Android features today that don’t really have a lot in common but that are all interesting in their own right. There are updates to  Android Auto  and  Android’s    emergency location service , new accessibility features thanks to an updated  Lookout app , and the promise of better sleep thanks to the  bedtime tools  in the Android Clock app now rolling out to all Android devices running version 6.0 or later (this was a Pixel-only feature before). But the highlight of today’s release is surely Google’s new worldwide earthquake detection system and the new earthquake alerting feature it is launching for California. With this, Google is essentially turning your Android phone into a seismometer to create what the company says is “the world’s largest earthquake detection network.” Image Credits:  Google The company argues that smartphone accelerometers are sensitive enough to measure the P-waves that are the  first waves to arrive  after an earthquake

How to Use Ballerina with Ballerina CLI

Ballerina dancer (unsplash.com) Ballerina is the latest programming language release of the 1.0 version in September of this year. Ballerina is a general-purpose programming language particularly intended for the implementation of distributed network applications. Ballerina has built-in modules to build a distributed web application with only a few lines of code. Ballerina provides a CLI tool for the maintenance of the Ballerina Project. This article is a brief introduction to the Ballerina CLI tool and how it was used. You can download Ballerina distribution from the official  Ballerina website . You can begin writing the Ballerina program once you download and install it. You can check the version of the ballerina installation by executing the following command. ballerina version This command prints the installed version of the ballerina language. You can also check the Ballerina installed folder by running the following command. ballerina home Creating new Ballerina project using CL

Introduction to the Ballerina Programming Language

Ballerina is the latest programming language released on September 10th of this year. There are more than a thousand programming languages out there. Why do you need another programming language? Ballerina language intended to simplify the particular programming domain known as integration. You might be a developer who develops different kinds of web services and intends to interconnect those services. Then the Ballerina language will be your next programming companion. This post supposed to give you an introduction to Ballerina, a flexible, powerful and beautiful programming language that helps you to implement any sort of integration requirements. You can download and install Ballerina from the official  Ballerinalang  website. What does it look like? When I said that this is a programming language, the first concern that comes to your mind is how it looks. Ballerina language syntax takes shape based on programming languages such as Java, Go and JavaScript. Ballerina is a st

Weird Encoded Java Code and How It Works

I discovered following strange Java code that print  Just another Java hacker  on your terminal. Obviously, that piece of code looks like a mess. Even if you copy this code into your favorite IDE, IDE could not figure out the syntax of this code. Trust me, this piece of code works, and this is how it works. Obviously, it has a class name with the main method. Let’s clear out the code and format it. Now it looks like this. class Sig{ public static void main(String...args){ \u0066or(int\u0020$:"vÌÈÊ\"¤¾Àʲ¬Æ\"v¤Î¤\"²¤¨¸¬Æ".to\u0043h\u0061rArray() )System./*goto/*$/%\u0126//^\u002A\u002Fout.print((char)(($>> +(~'"'&'#'))+('<'>>('\\'/'.')/\u002Array.const(~1)\*\u002F))); } } Now you can see that there are some Unicode characters in this code. Next, we’ll extract all Unicode characters. Also, I’m removing  /*goto/*$/%\u0126//^\u002A\u002F  and  \u002Array.co

Gentle Introduction to the Envoy Proxy and Load-balancing

For a devops engineer, load balancing is a popular word. You need to figure out a way to scale the system so that it can manage it correctly when enormous traffic enters your system. One alternative is to boost the running single node’s efficiency. Adding more nodes and distributing the job among these nodes is another option. Having many nodes has another high availability added benefit. Envoy proxy is a proxy service that in the growing trend has been used as a service mesh. In this blog post, we’ll see the load balancing aspect of the Envoy Proxy. Load Balancers Load balancers is an endpoint that listens to the request that comes into the computation cluster. When application enters the Load Balancer, it checks for accessible worker nodes and distributes requests among worker nodes. Load balancer has the following characteristics. Service Discovery: Check available worker nodes Health check: Regularly inspect worker nodes health. Load balancing: Distribute the reque