Posts

Featured post

Image Search Engine Using Python

Image
Images provide a lot more information than audio or text. Image processing is the prime field of research for robotics as well as search engines. In this article we will explore the concept of finding similarity between digital images using python. Then we will use our program to find top 10 search results inside a dataset of images for a given picture. It won't be as good as google's search engine because of the technique we will be using to find similarity between images. But what we are going to make will be pretty cool. So lets start. Setting up the EnvironmentOur AlgorithmHow the code looksLets build the GUIAdditional Techniques Setting up the Environment The code we are going to write requires a few tools which we need to install first. I will try to be as precise as i can and if you get stuck into installing some tool then you can drop a comment below and i will help you sort out the problem. So here are the tools and the steps to install those tools in ubuntu (16.04 …

Cache : Replacement, Mapping and Writing

Image
In the previous article, we discussed about cache and its properties. We also learnt some concepts and terminology related to cache. If you haven't read that article, i will recommend you to read that article first. This article contains many terms which i've discussed in that article. In this article, we will learn cache replacement strategies, cache mapping techniques and cache writing techniques. Below is the index of this complete cache tutorial. Cache IntroductionCache OrganisationUnderstanding a few ConceptsCache Replacement StrategiesRandom ReplacementLeast Recently Used (LRU) ReplacementCache Mapping TechniquesDirect Mapped CacheSet Associative Mapped CacheFully Associative Mapped CacheThe Tedious Task of Cache WritingWrite ThroughNo Allocate (write around)AllocateWrite BackBasic Cache Simulator Cache Replacement StrategiesIn the previous article, we looked at the process of searching data for an address in the cache but there was 1 step missing in that process. We di…

Wondering Cache

Image
Some of you may have already heard about the computer cache in your curriculum or some of you may have not. But this article is intended for all of those who want to understand cache concepts. The next part of it consists of developing a cache simulator using C programming language. I believe that this article will give a clear insight of cache and how it works. So lets see what we will be learning in this series of articles. Cache IntroductionCache OrganisationUnderstanding a few ConceptsCache Replacement StrategiesRandom ReplacementLeast Recently Used (LRU) ReplacementCache Mapping TechniquesDirect Mapped CacheSet Associative Mapped CacheFully Associative Mapped CacheThe Tedious Task of Cache WritingWrite ThroughNo Allocate (write around)AllocateWrite BackBasic Cache Simulator Cache Introduction The first thing we should know what are we talking about. Cache is a highly efficient (really fast) memory which can bring data to processor at a much more speed than our typical RAM. CPU…

Authentication System : Basic Design

Image
Being a system administrator, it is our main concern to protect users' data from theft and corruption. Regarding theft, we focus in building a sophisticated but secure authentication system which can fulfill all the basic needs we discussed in the last article. In the previous 2 articles, we learned about authentication and authorization. Also we understood the complications in building a secure system which can prevent tresspassing. But we have not code anything yet to build something. So in this article we will be designing an authentication system which will provide the functionalities we want and which will help us understand how the tech giants like google have taken security to another level. We will be writing code in php but the same applies to other languages also.What we'll be usingBlueprintBuilding the systemRunning the systemAdditional Care What we'll be usingLets see what are the languages we will be using and database plus some extra librariesLanguagesPHP, Jav…

Authentication: A step to security

Image
Here we are, continuing our discussion on authorization and authentication. If you have red my previous article then you would have known by now how important these concepts are and why these need to be implemented efficiently. But in the previous article, we only talked about them and didn't look at how to actually implement them. Cybersecurity is so vast field that we can't understand all of its complexities in one article but what we can do is we can start with some pretty basic stuff and move along to provide our application some sort of security. So in this article we'll see how can we implement authentication checks in server-client systems and specifically in web applications. But for other type of applications like desktop apps, mobile apps you can follow the same procedure although the technology would be different. Lets have a look what we are gonna learn today:-Our GoalGeneral ProcedureAnswers to some General QuestionsCookie Theft Our GoalJust keep aside what we …

Authentication and Authorization

Image
Authentication and Authorization are 2 independent concepts both of which are constituents of security. Authentication , in a vague manner, means to recognize someone and Authorization depicts to give that person some permissions. To understand it more better, a really simple example would be to know these concepts regarding to operating systems. When we log into our computer the OS checks whether our credentials match to any user of the computer. That is what we call authentication. Once the OS finds a match, it logs us into the computer. Now if we want to open a file then the operating system checks whether we have permission to do so or not. This is the time when the OS is authorizing us. If we have permission then OS will open the file for us otherwise it won't. So in this post we'll see how can we implement these features in any system and take safety measures to prevent intrusions. This post can be a bit boring but its actually a building block of what we'll learn in…

MVC: At Its Core

Image
Designing an application requires a lot of effort And without a proper structure there are chances that your application may fail during some operations. That is the reason of choosing a framework to accomplish the task of building an application. A framework enforces you to use the defined application structure and methods so that you can easily maintain your code and refactor it if needed. MVC , short form for Model View Controller is a designing pattern in which an application is divided into 3 components i.e. Models, Views and Controllers. (The word Application infers to all type of applications like mobile apps, desktop apps, web apps etc.). A framework which follows the MVC pattern is known as a MVC framework and there are a lot of frameworks for each type of application written in most of the languages. Normally people start learning about the framework without understanding the concept behind them. Each MVC framework follows the same pattern i.e. the MVC pattern. So if we le…