Author Archives: Ajitesh Kumar

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Decentralized Identity Management, Blockchain – Why Bother

This blog represents details on Decentralized Identity Management and why you should care? Given that IBM, Hyperledger has joined Blockchain Identity Consortium makes it much more important to quickly go over the concepts related with decentralized identity management. Check out a related Hyperledger project, Project Indy, on supporting independent identity on distributed ledgers. Traditional Centralized or Federated Identity Management System Conventional identity management systems have always been based on centralized authorities such as corporate directory services , certificate authorities (CA) , or domain name registries. Each of these centralized identity management systems acted as a “root of trust”. In order to have the identity management work across different systems, there is something called as federated identity management. According to Wikipedia post of …

Continue reading

Posted in BlockChain. Tagged with , .

Angular Developers Interview Questions – Quiz 1

This page represents the quiz for Angular developers who are beginning (beginners) to learn Angular.  These questions can be used for interviews. [wp_quiz id=”5332″] In case you are developing web apps using Spring and Angular, check out my book, Building web apps with Spring 5 and Angular. Grab your ebook today and get started.

Posted in Career Planning, Interview questions. Tagged with , .

Configure Angular Route Definitions – Part 2

In this blog, we will learn about how to configure Angular route definitions in an Angular app by defining route definitions as a separate module at the root level. Again, this is not the most effective way of defining Angular route definitions. In third part of this series, we will learn about how to define route definitions as part of separate feature modules, and, not at the root level. In the previous blog in this series, we learned about the most trivial way of configuring route definitions in an Angular app. As the app starts getting complex, one needs to use routing concepts such as child routes, guards, resolvers, and so on. …

Continue reading

Posted in AngularJS, Web. Tagged with , .

HBase Architecture Components for Beginners

HBase Architectural Building Blocks

This blog represents high-level concepts on HBase architecture components. Following diagram represents the same: HBase Architecture Components – Key Building Blocks Following diagram represents the same: Pay attention to some of the following in relation to above diagram:  HMaster: Responsible for coordinating the region servers including assigning regions on startup as well as recovery, and, monitoring region servers using Zookeeper Region Servers: Manages one or more regions Zookeeper: Zookeeper is used as a distributed coordination service for maintaining the server state of the cluster. Regions: Records in HBase tables are split horizontally based on the key range. Each of these splits can be called as Regions. A region contains all rows in …

Continue reading

Posted in Big Data. Tagged with , .

Cloud Platform Trends (Oct 2017) – AWS Wins

StackOverflow Q&A trends for Cloud Platforms

This blog represents the cloud platform trends for the month of Octobar 2017 with primary focus on AWS, Azure and Google Cloud platforms. The clear winner is AWS. Indeed.com Job Postings Trends Following represents job posting trends on the popular portal, indeed.com: Google.com Search Trends The following represents Google search trends for cloud platforms: StackOverflow Q&A Trends The following represents Stackoverflow Q&A trends for cloud platforms:

Posted in AWS, Career Planning, Google Cloud, News. Tagged with , , , .

Consistent Hashing Concepts – Databases, DHT

Consistent Hashing Ring

This blog represents What’s The Funda (WTF) around consistent hashing  and DHT (Distributed Hash Tables), Databases use cases where it is used. Problems with Traditional Hashing Mechanism Lets understand the traditional hashing mechanism using following diagram: Pay attention to some of the following aspects as per the above diagram: Hash table/map is an array with each of the array index pointing to a linked list having each node representing a key-value pair. Keys are passed through a hash function. The index of the array (bucket) to which a specific key-value pair would get associated is a function of hash value and total size of the array. For example, in above diagram, key such as “Sam …

Continue reading

Posted in Data Structure, Database. Tagged with , .

Deep Dive – Docker Images & Containers Internals

Docker Image vs Containers

Following are some of the cool links which can help you get started with knowing Docker internals for images and containers: Docker Containers’ Filesystem Demystified Union file System for Dockers Following diagram represents the concepts on docker image and container. Pay attention to some of the following in above diagram: Docker images comprise of readable layers stacked on top of each other. These layers are shared across different containers. Each of these layers are also termed as the “image”. Thus, a docker image of any software package can comprise of multiple images (layers) such as bootfs, rootfs etc., stacked on top of each other. Following are some of the key …

Continue reading

Posted in Dockers. Tagged with .

Quick Glance at Kubernetes Architectural Building Blocks

Kubernetes Architectural Building Blocks

This blog represents information on some of the key architectural building blocks of Kubernetes. The greater details on Kubernetes architecture can be found on this page, Kubernetes Architecture. Following diagram represents technology architecture (with infrastructure) viewpoint of Kubernetes: Following is another viewpoint of the Kubernetes technology architecture: Pay attention to some of the following as per above diagrams: Kubernetes Master Controller Manager (kube-controller-manager): It is a daemon process that embeds the core control loops, a non-terminating loop, for  regulating the state of the system. A control loop can also be seen as a controller.  Details can be found on this page, kube-controller-manager. Controller manager supports different types of controllers such …

Continue reading

Posted in CloudNative, Kubernetes. Tagged with , .

Blockchain – Hyperledger Technology Architecture Viewpoint

The diagram below represents technology architecture viewpoint of hyperledger blockchain framework: Hyperledger framework comprises of four key services/modules at a broader level. They are following: Membership services. Membership services comprise of components such as following: Registration: Registers/enrolls the new users Identity management: Manages identity of the users Audit management Blockchain services: Blockchain services comprise of following components used to manage consensus, storage and transactions: Consensus Manager: Used to implement consensus algorithm; Allows to plug-in extensible/customized consensus module. Consensus manager forms part of ordering service which validates the transaction using VSCC (validation system chaincode), create block of transaction and send them back to peer nodes. Distributed Ledger Ledger storage: Storage such as LevelDB or CouchDB can …

Continue reading

Posted in BlockChain, Latest Tech. Tagged with , .

Quick Glance at Hyperledger Fabric Architecture Building Blocks

The diagram below represents application communication viewpoint at key building blocks of Hyperledger Fabric 1.0 architecture: Following are some of the key building blocks of Hyperledger Fabric 1.0 Architecture: Membership Services Provider: Enrolls the clients Peers: Peer nodes can be endorser (endorse proposal for transaction)and committer nodes (write block of transactions to ledger) Chaincode: Smart contract written in Java/Go which is invoked by a transaction. Peer nodes having chaincode becomes the endorser for that chaincode. ESCC (Endorser system chain code) executes the chaincode using proposal and read-write set information. Ledger: Ledger which holds the copy of transactions in form of blocks Ordering service: Consenter service which validates the transaction using VSCC (Validation system chaincode), orders …

Continue reading

Posted in Bookmarks, Latest Tech. Tagged with , .

Blockchain usecases from Financial Services & Government/Legal/Regulatory

This blog represents some of the Blockchain uses cases in industry domain related with financial services and Government/Legal/Regulatory. The blockchain is getting talked about/implemented in different industry domains such as following: Financial services Government / legal / regulatory Government / legal / identity management Capital markets Healthcare / medical IOT Publishing Supply chain / Logistics Supply chain / Traceability / Anti-counterfeiting Supply chain / Interoperability / Visibility Travel / Hospitality Agriculture I shall be doing a blog series discussing all of the above use cases in detail. In this blog, we will look into some of the use cases in financial services and Government/legal/regulatory. Financial Services Microlending: Small unsecured loans issued …

Continue reading

Posted in BlockChain, Latest Tech. Tagged with , .

Kubernetes – How to Install Kubernetes on Ubuntu (Linux)

This blog represents steps/instructions on how to setup Kubernetes on Ubuntu (Linux) using Minikube. The instructions have been used to setup Kubernetes on Ubuntu 16.04. Following are key steps which need to be taken in order to setup and get started with Kubernetes: Ensure Virtualization Technology (VT) is enabled in BIOS Install VirtualBox and VBoxManage Install KubeCtl Install Minikube Launch Kubernetes cluster Ensure Virtualization Technology is Enabled in BIOS Setup First and foremost, ensure that Virtualization Technology (VT) is enabled in BIOS setup. In order to do that, do following: Shutdown the system and restart. Keep tapping ESC key when starting the machine. This would bring up the startup screen …

Continue reading

Posted in CloudNative, Kubernetes. Tagged with .

Blockchain – Top 5 Cool Links for Hyperledger Framework

Following are some of the cool links in relation with Hyperledger framework (Open-source permissioned blockchain framework) you would want to bookmark. These pages represent help docs, use cases, step-by-step instructions to create the first blockchain, issues etc. Hyperledger Mailing List Hyperledger Jira Hyperledger Fabric Docs Step-by-step process of bootstrapping Hyperledger fabric network and invoking a transaction Hyperledger use cases

Posted in BlockChain. Tagged with , .

Blockchain – Transaction Journey into A Hyperledger Blockchain Network

This blog represents details on key types of components or building blocks of Hyperledger Blockchain Network and discusses details on the journey of transaction in the blockchain network. It also highlights the steps including diagrams on workflow/process flow related with endorse and commit transactions. Types of Hyperledger Components There are three types of components, each of them performing different functions, in Hyperledger. Node joining the Hyperledger Blockchain network will be free to take up one or more functions. Following represents these three classes of components: Endorsers: Nodes with “Endorser” functionality will simulate and sign or reject the transactions. A peer can be potentially an endorser for the chaincodes deployed to …

Continue reading

Posted in BlockChain. Tagged with , .

Go – Get Started with Hello World using Go Programming

This blog represents steps required to get started with Go programming language on Linux/Ubuntu. The details can be found on this Golang – Getting Started page. Setup Go & Configure The following instructions can be used to setup Go which includes installation and configuration: Download the appropriate binary release from Go Download Page; In case of Linux, download go1.9.*.tar.gz. Go to the download folder and execute the following command: For the latest version of Go, the above command would look like following: Above command would setup go at the location, /usr/local. Configure path appropriately such that Go can be used to run the programs from anywhere on the system. Set …

Continue reading

Posted in Go. Tagged with .

ReactJS – How to Get Started with Hello World

This blog represents concepts and code samples in relation with getting started with ReactJS app. The recommended way of creating react app using create-react-app is illustrated in this blog. Install utility, Create-React-App Create first ReactJS app from command prompt Run the ReactJS app Install utility, Create-React-App Create-React-App is an officially recommended way to get started with creating new ReactJS Apps. Note that create-react-app uses the NPM package react-scripts for scripts and configurations required to create a ReactJS app. Execute following command to install create-react-app NPM package. Create First ReactJS app from command prompt Execute the following command: This would create the ReactJS app under the folder, hello-react-1. The following would be displayed …

Continue reading

Posted in ReactJS, Web. Tagged with , .