Aditya Chatterjee's Blog, page 109
March 3, 2022
Managing Debian packages with apt
apt(Advanced Package Tool) is a package management tool. It is used to install, configure, search for, update, and remove software in a Debian-based Linux system.
Table of contents.Introduction.Syntax.Commands.Summary.References.Prerequisites.dpkgIntroduction.The apt command is used to manage packages in Debian-based Linux systems, this includes everything from searching for a package, installing it, updating repositories, upgrading packages, removing packages, etc.
We discuss commo...
Bash until loop
Loops are an important aspect of any programming language. In this article, we look at the until loop that is used for looping in shell scripts.
Table of contents.Introduction.Syntax.Examples.Summary.References.Prerequisites.for and while loopsIntroduction.Looping is an important part of any programming. In shell scripting, we have three types of loops for loops, while loops, and until loops. We have covered for and while loops in the prerequisite article.
Unlike the while loop that...
March 2, 2022
Similarity Search on Big Vector Data
In this article, we have explored Similarity Search on Big Vector Data along with Nearest Neighbor Search (NNS) or Approximate Nearest Neighbor Search (ANNS).
Table of contents:
IntroductionDefinitionDatasetsMethod4.1. Directly Brute Force (for NNS)
4.2. LSH - Locality-Sensitive Hash (ANNS)
4.3. Graph-Based Algorithm (ANNS)Summary1. Introduction
Similarity search on vector data is a classical problem that have been researched for the past decades. In this problem, we have massive vector ...
March 1, 2022
Secure boot
Secure boot is a security standard implemented in the advanced UEFI to prevent malware from attacking the computer during bootup when the computer is most vulnerable.
Table of contents.Introduction.How it works.Enabling and disabling secure boot.Summary.References.Introduction.UEFI(Unified Extensible Firmware Interface) specifies the interface between the operating system and other computer firmware.
Among the features of UEFI, secure boot is among those that make UEFI preferable over L...
February 28, 2022
UEFI and Legacy boot
Both UEFI and BIOS are firmware that specifies an interface between the computer operating system and the underlying firmware. Legacy boot involves booting the computer using legacy firmware such as BIOS and UEFI boot involves booting a computer using the more advanced UEFI.
Table of contents.Introduction.UEFI boot.Legacy boot.Differences between UEFI and Legacy boot mode.Switching the boot mode.Summary.References.Prerequisites.FirmwareBIOSIntroduction.There are two ways we can b...
UEFI (Unified Extensible Firmware Interface)
UEFI (Unified Extensible Firmware Interface) is the interface between the operating system and the low-level initialization firmware. It initializes hardware components and is responsible for executing the OS stored in a boot device.
Table of contents.Introduction.Features of UEFI.UEFI boot sequence.Summary.References.Introduction.EFI/UEFI defines an interface between the operating system and low-level initialization firmware.
It is comprised of data tables containing platform-related i...
Find elements that appear more than N/3 times
In this article, we have solved the problem of finding elements that appear more than N/3 times. This involve ideas of Hash Map and Boyer Moore algorithm.
ContentsProblemHow to SolveNaive Approachusing HashMapBoyer Moore's votingPre-requisites:
Majority element in arrayBoyer Moore majority vote algorithm (Majority Element)ProblemLet's look at the problem first and understand what we have to do here.
There are $N$ numbers of elements in an array, and we have to find the element...
AWS Redshift in System Design
In this article, We will take a look at AWS Redshift and understand it using a real-time example.
Table of Contents
Data WarehousingWhat is Redshift?AWS Redshift ConfigurationWhat makes Redshift Special?Key Features of RedshiftAWS Redshift vs AWS RDSA Real-Life Application of RedshiftData WarehousingA data warehouse is a central repository that stores the current and historical data. They are used for making many business intelligence decisions, analytical reporting, etc.
Data warehous...
MemCached in System Design
In this article, we have explored the idea of MemCached in System Design and how it is used in different systems.
IntroductionCaching is a method of alleviating server loads when clients request data. Reading data from remote machines is asynchronous and time-consuming, because servers often need to make network calls to other servers and make I/O operations to query, update, and read databases. There are two common software tools for implementing a cache, called Memcached and Redis.
Contents...Google Cloud BigQuery in System Design
In this article, we have explained the idea behind Google Cloud BigQuery in System Design and how it is used in real systems.
Table of contents:
Introduction to Google Cloud BigQueryGoogle BigQuery's Key FeaturesGoogle BigQuery ArchitectureHow BigQuery stores data?BigQuery's pricing structureIntroduction to Google Cloud BigQueryGoogle BigQuery is a fully managed enterprise data warehouse that is serverless, highly scalable, and cost-effective for analyzing petabytes of data and billions ...