Before going to study Tesseract, we need to know what OCR(Optical Character Recognition) is. In simple words, OCR is the process of extracting the plain text or hOCR from the given document, such as images(like JPG, JPEG, TIFF) and PDFs. After locating the text in the file, OCR will read and recognize the text character in the subsequent steps by using OCR engines and return it. This is how OCR helps machines to identify the text from the given file.

Tesseract is an open-source ** text recognition (OCR)** Engine written in c/c++ and works on Windows, macOS, and Linux, and comes under

In the current era, everyone must think about choosing a career path in IT in order to make their life better.

I have contributed to the below article along with **Sanjeepan Sivapiran**, and *Thivvyan Karuneswaran*** **which was published through Youth Govern SL.

Link

https://youthgovernsl.medium.com/things-to-consider-when-choosing-a-career-path-in-it-50e635e9f935

Nodemailer is a module for Node.js applications to send emails between different email hosts using different transport methods. It is a single module with zero dependencies with a heavy focus on security (TLS/STARTTLS). It supports Unicode and Windows. We can also send text and HTML content.

Migrating Nodemailer from v2 to v3 has dropped some features that were available in v2 and introduced some new ones.

- All dependencies were dropped
- All templating is gone
- OAuth2 authentication
- Delivery status notification
- Calendar Events

**Requirement**

Node.js v6.0.0 or newer.

More about Nodemailer - refer: nodemailer.com

**What is SMTP**? **SMTP** is part of the application layer of the TCP/IP protocol. Using a process called “store and forward”, **SMTP** moves your email on and across networks. It **works** closely with something called the Mail Transfer Agent (**MTA**) to send your communication to the right computer and email inbox. …

**(A) Why the Bellman-Ford algorithm cannot handle negative weight cycled graphs as input?**

Generally, the Bellman-Ford algorithm gives an accurate shortest path in **(N-1)** iterations where N is the number of vertexes, but if a graph has a negative weighted cycle, it will not give the accurate shortest path in **(N-1)** iterations. It acquires more iteration and reduces the cost, but it does not go to end. Therefore we cannot handle the negative weighted cycle by using the Bellman-Ford algorithm.

**(B) What is the purpose of the priority queue in Dijkstra’s Algorithm?**

The priority queue selects the next vertex so as to ensure the shortest paths in a weighted graph by adding all nodes with their distance decorations as the priority. If we use the **FIFO** queue instead, we cannot be able to account for the arbitrary edge weights. …

Running time of Breath-First-Search is **(V+E)**, where V — number of vertexes and E — number of edges.

**Pseudocode for BFS.**

· Enqueue and dequeue operations take **O(1)** time, so the total time for queuing is** O(V)**.

· Since each adjacency list is explored at most once the sum of all the adjacency list is **O(E)**. So the total time for exploring adjacency lists is **O(E)**.

Therefore the total running time of BFS is **O(V+E)**.

There are two types of data structures used to store data differently.

**Direct access table**— The size of an array depends on the size of index values.**Hash table**— The size of an array does not depend on the size of index values.

**What is a Hash Table?**

A hash table is an unordered data structure to store data uniformly across an array. It maps keys with their corresponding values, where each key has a unique index. It supports insert, search and delete operations with worst-case time complexity of O(1). We can take it out of these data from the array easily if we know the index of the data which we are going to take out. …

About