Technical
2019
How popular is divide and conquer?
·7 mins read
Mayukh Datta
Opinion
Technical
Divide and conquer strategy is as popular as the Taj Mahal is in India. It’s a very powerful strategy and is extensively used by elite people and political leaders to control masses in such a way that the common people don’t unite and rebel against them. It is also known as divide and rule.
Remember, how the British were turfed out of India. If we look at it simply, it was possible only because people then coalesced into a large group with a common goal to drive the British out of India and set the nation free. The strategy that people implemented to unite was the opposite of the divide and rule strategy that British people have always used. The British presumed that if the mass of the population gets united, it would pose a problem for them. Therefore, they divided people which led them to conquer their problems. It kept people busy fighting among themselves and focus on the real enemy got diverted.
2018
Dabbling with structures and unions
·7 mins read
Mayukh Datta
Technical
C
There is a lot more to structures and unions. I’ll go through what I’ve learned about them here. I’m assuming that you’re not a beginner in C language.
To store or manipulate data in the computer’s memory we need to write a computer program that’ll instruct the compiler or the interpreter to allocate space for the data in the memory. We give a name to that location in the memory to make retrieval and usage of data easy. That’s what we call a variable. Variable is the named location in the memory where we have stored some data. The data can be an integer number, floating-point number, character, or boolean. Data types classify what type of data the programmer intends to use.
2017
Queues
·3 mins read
Mayukh Datta
Technical
Queue is a linear data structure like stack and linked list. It follows FIFO (First-in, First-out) or LILO (Last-in, Last-out) policy. It has two main operations - enqueue (insert element; can only be inserted at the rear of a queue) and dequeue (remove element; can only be removed from the front of a queue).
I have four USB storage devices each containing some data that I need to copy to hard drive. As an USB port can read data from a single device at a time, so I have organized them in a queue such that each device is served one after the other. Now as queue basically follows “First Come, First Serve” rule, therefore the device with index 0 being the first device to be placed in the queue must be served first and the last placed device with index 3 must be served at the last. This is how queue follows FIFO policy.
Linked Lists
·7 mins read
Mayukh Datta
Technical
Linked List is a linear data structure like stack and array. Unlike arrays, linked list elements are not stored at contiguous locations in memory. Each element (say a node) in a linked list has two parts - one is the data part that stores the input data and the other is the next part which is basically a pointer variable that stores the memory address of the next element. All the elements in a linked list are linked using pointers. An individual without the working knowledge of pointers and memory allocation in C must not begin learning linked lists.
Stacks
·5 mins read
Mayukh Datta
Technical
Stack is a linear data structure. It follows LIFO (Last-in, First-out) policy. It has two main operations - push (insert element onto stack) and pop (delete element from stack). Stack has two exceptions - underflows (if we attempt to pop an empty stack) and overflows (trying to push an element on a full stack).
The concept of data structures have been taken from the real world. So, let’s dive into an instance from the physical world: the picture shows a stack of books. There are n (n is 6) books (elements) in total. Let’s index the books with numbers starting from 0 to n-1. The first book placed on the table is “Rain in the Mountains” whose index is 0 and the latest book placed is “The Da Vinci Code” with index 5. Now, if we remove the last placed book (executing pop) then the topmost element becomes the book with index 4. Now, if we place the previously removed book (executing push) on top of the stack then the topmost element will have index 5. This is how it follows LIFO policy, every time the last inserted element gets removed first from the stack. We cannot remove or insert a book from otherwise positions, doing so would break the rule of sequential access.
Digging into Data Structures and Algorithms
·4 mins read
Mayukh Datta
Technical
I’m a sophomore now and have data structures and algorithms courses this semester. I’ll try to explain to you what they mean. I want to stress that you need to learn them by heart to be a better programmer.
We work with data everywhere in computer science from processor to RAM and from the operating system to the cloud database. We manipulate and process them to yield the desired results, so it becomes a crucial task to handle data efficiently. Ever since the computing era has begun, human minds have shown eagerness to develop better and efficient techniques of working with data which is only because to reduce time consumption in yielding results and also to save storage space.
How to dual-boot Kali Linux and Windows 10 in a UEFI System
·4 mins read
Mayukh Datta
Technical
Troubleshooting
Many of us are not familiar with the term UEFI, even I have heard the term and came to know about it yesterday when I was stuck solving a problem. It was last night at around 2 am, I figured out the problem, and one from many of the solutions I mapped to try, worked!
My laptop came pre-installed with Windows 10. I decided to install Kali Linux and wanted it to dual-boot with Windows 10. I installed it and rebooted my system, but the grub_bootloader failed to turn up. Tried out many different techniques and solutions but nothing worked. At last, this below-mentioned way dropped me to my destination successfully.
Cybercrime in a post
·6 mins read
Mayukh Datta
Technical
We dwell in a rapidly growing connected world, from the banking sector to government infrastructure, from the data center to your home’s computer. Protecting these networks is no longer optional. Technology is evolving daily with a high increment rate. While it brings huge benefits, it can also be an evil tool to cause havoc.
In today’s world, half of the globe’s population use the internet; browsing websites, communicating with people online, buying stuff from e-commerce websites, backing up valuable data to cloud server storage, carrying out money transactions, operating businesses and many more. One negative aspect of leading a digital life is becoming a victim of cyber-crime, cyber-attacks taking place daily in this “webbed” world. We all face cyber attacks, directly or indirectly, but most of the time we remain in denial. Companies, governments, and IT security firms recruit cybersecurity experts, better known as white-hat hackers, to fight against devastation-causing cyber attacks and protect a commercial organization, a nation, or any other domain that constitutes a node in a network.