Posted in Interesting, Open Source, Programming, Softwares, Web Tech

Microservices

Microservices are based on architectural approach of plug and play. We can create a big software which consists of smaller independent services that communicate through a channel of APIs.

As each service is independent of another, its way easier to scale up without affecting other services. Services need not share the code with other services. Each service is meant to solve a specific problem. For eg. if we have a service for login, it will be focused on getting and authenticating user details like username, password. This separation helps in easily updating, deleting the service. The risk of failure of entire application is relatively less due to a change in a single service. This architecture also provides an ease of customizing application within shorter time span.

Posted in Interesting, Programming, Softwares

IntelliSense : a way to intelligent coding

IntelliSense is a general feature available in most code editing softwares like eclipse, MS Visual Studio used frequently by programmers all over the globe. It comes various handy and useful features of code completion, code editing, parameter info, auto-suggestion while typing like content assist, code hinting etc.

It was first created by Les Earnest in 1961 who headed the research on this budding technology, saw it necessary to include the first spell checker that accessed a list of 10,000 acceptable words.

Overall, it not only makes coding interesting as we type but assists in avoiding misspelled words, early detection of missed out braces and other syntax errors based on the current language considered for coding. Makes you and of course your code editor intelligent 🙂

Some of the IDEs or code editors with intellisense feature are Microsoft Visual studio, Atom, Sublime Text, Notepad++, Bluefish, Brackets, PhpStorm etc.

Posted in Interesting, Programming, Softwares, Web Tech

Caret browsing

Ever been in a situation where your computer mouse stopped working abruptly and there was a need to move around the web browser tabs using only the keyboard as that is the only option available till you get your mouse repaired or replace with a new one. That is when caret browsing comes as a quick fix.

What is caret browsing?

It is also called as caret navigation. Its a special feature of web browser which enables user to easily navigate and highlight selections with keyboard. Caret is the vertical text cursor “|”.

How do we navigate using caret?

In this mode, the cursor is often depicted with a blinking vertical line. We can navigate using the arrow keys. Selection of text is possible with combination of Shift key and arrow key. Ctrl key helps in moving word by word. Other keys like page up and page down are quite handy for navigation at top and bottom respectively in a page. Try out caret navigation on Google chrome by pressing F7.

Posted in Interesting, Programming, Web Tech

IIFE : Immediately Invoked Function Expression

What is IIFE?

As the name says, IIFE, Immediately Invoked Function Expression is a function which is immediately invoked as soon as it is defined in javascript programming. It is a very popular way of handling javascript programs where the interpreter runs it only once.

Different syntax:

  1. ( function( ){ //statements })( );
  2. ( function( ){ //statements }( ));
  3. ( ( )=>{ //statements })( );

It has two parts: One is the function enclosed within () group operator, helps in accessing variables within function and second part which directly creates the immediately invoked function expression () which the javascript engine interprets. This whole concept of design pattern is called as Self Executing Anonymous Function.

As the function name is not used, they are called as anonymous function.

When is IIFE important?

As IIFE is executed once it is defined and interpreted once by javascript engine.

It maintains encapsulation and avoids polluting of variables which are not required for global access.

The code which does not have reusability can also be a part of IIFE. Hence this function is also an anonymous function.

Posted in Interesting, Programming, Web Tech

Blockchain

What is Blockchain?

Blockchain is a decentralized and distributed system with details of digital records of transactions. The digital based ledger records are often referred to as blocks. The blocks of individual records are linked together like a chain. Hence it is collectively referred to as a blockchain.

The blockchain was invented by Satoshi Nakamoto for public transaction of bitcoin cryptocurrency.

What does a Blockchain contain?

Blockchain contains information about data i.e. relevant information about transaction, hash which is a unique code for the block, previous blocks hash. The first block which does not have previous block’s hash is called Genesis block. This series of information inside a block helps in tracking the history and difficult to modify the blockchain records hence adds security.

How transactions are done in blockchain?

For a blockchain the decision of adding the transaction to the chain is done by consensus and not by a single administrator as incase of centralized system. The majority of computers connected in the network have to validate the transaction. Also data that is available on blockchain network cannot be deleted from all systems as everybody in the network holds copy of blockchain records.

Uses of blockchain?

In cryptocurrency like bitcoin blockchain technology is very useful. Bitcoin eliminates the need of middle layer of banks and helps in asset to asset transfer as it is without the conversion of currency values based on location.

In real estate, the use of blockchain eliminates the need of notary. The records of real estates buying and selling gets recorded in the blockchain.

In hospital management system blockchain is used to record patients relevant data for doctors to access.

Posted in Interesting, Open Source, Programming, Softwares, Web Tech

Types of web cookies

This post in continuation to my earlier post which explains about Web cookie

There are types of web cookies namely

  • Session cookie: They are created during a session of user, stored in a temporary memory. They do not have any expiration date and are deleted immediately as soon as the browser is closed. The other popular names of session cookie are non-persistent cookie, transient cookie, in-memory cookie.
  • Persistent cookie: For this cookie, an expiration time is set. So, the cookie is deleted only at the expiration time and not deleted as soon as the browser is closed. They are used for maintaining session of the user. That is, once the user is logged into the website and if the user closes and reopens browser the cookie identifies if its a authorized user or not.
  • First party cookie: This cookie is set by the website and the cookie information can be used for analytics of page views, number of logged in users etc.
  • Third party cookie: Unlike first party cookie, this cookie is set by another website domain (not directly visited by user) whose plugins are used by the primary website.
  • Secure cookie: This is a cookie with encrypted data which can be used over an encrypted HTTPS connection. They are useful in e-commerce and banking websites where the safety and security of transactions in the topmost priority.
Posted in Interesting, Programming, Web Tech

Web cookie

You have been browsing the internet and chances are when you visit a website for the first time then for some of websites you may have come across a pop-up or a notification banner: “This website uses cookies” with buttons for accept and change settings. Sometimes you just say, Oh whatever that is! Let me just get into the website and press the Accept button to go about your way. So let us understand what is happening behind the scenes.

What is a web cookie?

Web cookie or browser cookie is a small piece of information which is send from website server to be stored in a user’s browser. The user may store it in its computer which is basically used to identify the computer. That is, maintain stateful information so the next time, user visits the website or on the next request it can send back, the cookie that can have some kind of information about the user that the server can make use of to make certain decisions. Other purposes could be for instance, track user’s browser activity or remember login details, track site’s user count etc.

Who invented it?

The term was coined by web browser programmer who invented cookie Lou Montulli in the year 1994 while building an e-commerce website.

Why do we see the cookie banner pop up?

The reason why we see the cookie banner popping up recently across most websites is because of legal concerns in Europe and some other countries, the GDPR(General Data Privacy Regulation) requires that the cookie banners be displayed on website to let the users know that cookies are being used by the website.

Where is a cookie useful?

Its used in session management to manage session of the user in ecommerce website. Its used for personalization like the settings that were set and saved by the user and as said earlier, also used for tracking to improve the user experience as they say it 😉

Posted in Interesting, Open Source, Programming, Softwares

Virtual Machine(VM)

What is a Virtual Machine?

A Virtual Machine or a VM is a separate instance of operating system(OS) on a host physical computer in addition to host machine’s own OS, as if it were on a different computer or a guest. A host can emulate several guests, each of which can emulate different operating systems.

Host, guest and hypervisor

The computer that is running the virtual machine is called the host whereas the program that controls virtual machines is called a hypervisor. Virtual machines can be created through software known as virtualization software. Some of the popularly used virtualization softwares are Virtualbox and VMware.

What VMs offer its users?

A VM can be easily created, modified and destroyed. We can also create and delete snapshot on a VM. A snapshot preserves the state and data of a virtual machine at a specific point in time. VM provides the flexibility to create and delete snapshots which takes a few minutes of time.

With the popularity of cloud services, cloud-based VMs use is in demand which can be accessed over an internet using a web browser. These VMs are created on a physical machine which is located at a different geographical location, which can be accessed remotely and shared by multiple users(not in parallel though) in a larger organization to make the process more agile.

Posted in Interesting, Open Source, Programming, Softwares

USB : Universal Serial Bus

One colleague at workplace had bought a brand new phone and forgotten his Type C charger at home and was asking for people around. If he was provided with one, he constantly checked the pin end to confirm the Type C. So, this is the latest USB in and around with the mobile devices we get to see. So, lets understand the USB and its evolution.

What was used before USB?

In the pre-USB era, communication between devices was done using communications ports namely parallel ports, serial ports, gaming ports etc.

What is a USB?

The USB stands for Universal Serial Bus is a standard connector used to connect peripherals to computer. Its is the most commonly used port and as the name says its quiet Universal. Its used to connect devices such as mice, cameras, printers, scanners, external hard drives, flash drives and even can do networking and also its used to charge devices such as mobile phones.

The 1st USB version was released in 1996 with release of USB 1.0. The versions are based on the speed of data transfer were

  • USB 1.0 which had a speed of 1.5 Megabits/sec.
  • USB 1.1 with a speed of 12 Megabits/sec,
  • USB 2.0 with a speed of 480 Megabits/sec
  • USB 3.0 with a speed of 5 Gigabits/sec
  • USB 3.1 with a speed of 10 Gigabits/sec
  • USB 3.2 with a speed of 20 Gigabits/sec
  • USB 4.0 with a speed of 40 Gigabits/sec
Image credits: newnex.com

In addition to different speeds of USB there were different types of USB cables, connectors and ports it uses.

A typical USB cable has two ends with two different connectors, Type A at one end and Type B or Type C at the other end of the cable. Type A connector is the host connector. This can be plugged into computers Type A USB port

USB comes in various shapes and sizes: Standard, Mini, Micro. Each of these have types which are developed with the USB standards defined above.

  • Type A : is the original design for the USB standard with a flat and rectangular shape. Mostly used in host devices, including desktop computers, laptops, game, media players and so on.
  • Type B : plugs into peripheral device such as a printer, a phone, or an external hard drive. 
  • Type C : is a USB with a rectangular shape with rounded corners. It supports USB 3.1 with the top speed of 10Gbps and has much higher power output of up to 20V and 5A.