Search This Blog

Saturday, April 26, 2025

A Deep Dive into a C-Based Encryption Tool



In today's digital age, where data breaches and privacy concerns are rampant, understanding the fundamentals of encryption is more crucial than ever. This post delves into a powerful, albeit simplified, C-based encryption tool. We'll explore its inner workings, dissect the code, and understand the cryptographic principles that make it tick. Whether you're a seasoned developer or a curious tech enthusiast, this guide will provide valuable insights into the world of secure communication.

Friday, April 25, 2025

How to Build a Biometric Authentication System in Python Using the Windows Biometric Framework


Biometric authentication is no longer limited to high-security labs or science fiction movies. With the rise of facial recognition and fingerprint scanning, developers now have the tools to implement biometric login systems in their own applications. In this tutorial, we’ll show you how to build a Python-based biometric authentication system using the Windows Biometric Framework (WBF).

Whether you’re building a secure desktop app, experimenting with IoT access control, or just curious about how biometric login works, this post walks you through every step—from loading the biometric API to identifying users by fingerprint or facial data.

Tuesday, May 3, 2022

Write a python program to search for a file in a provided directory

 So i had to for some reason develop a small utility to search a directory or drive for a particular filename. Decided to do the same in python to try and explore the os.walk() in python.

Here is how i did the same.

Sunday, March 28, 2021

Embedded System Podcast - Episode 11 - Version Control

 


The Version Control Basics 

 In the come back episode i try to remember the settings for the microphone :D. Try to give a brief introduction about the subversion version control. I also introduce my open source project WebSVN, a free repository viewer for subversion. Hosted on github where one can raise its issues and request features for the same. Thanks and Regards

Sunday, March 14, 2021

Writing Pre-Commit Hook Scripts in Python for Subversion

It is pretty simple to write hook scripts for subversion in python even without using the subversion library. 

Here in this post i show how i wrote a pre-commit hook script to tackle three of the requirements.

  1. Length of the commit message should not be less than 50 characters
  2. The log message should have the work item id written so the commit can be linked to the work items in the Rational Change and Configuration Management Tool
  3. As the repository will only contain python scripts so nothing else should be committed into it.
  4. The changes should be recorded in the work item id mentioned.

Monday, August 24, 2020

Embedded System Podcast - Episode - 10 Commit Log Policing

One or the other time there is always something, some first thing that you do in your career. That you have seen all the time but never have done yourself before. 

That is what i am going to talk about today. It is called commit Log policing.

You are going to do this daily if you are the repository admin or responsible for entire code. But there will always be the very first time you are going to write something that does the policing for the entire team. This is my story of me first time writing the policing rules. 



Related Post

Sunday, August 23, 2020

Pre-Commit Hook Scripts in Subversion

It is not everyday i get to implement policing in corporate environment. But it is also something that is required all the time. It is when your team is induced with more and more new people it becomes difficult to monitor what is being committed and how it is being committed. 

One of the key things the committed code is evaluated is via relation of the change with what it has been changed. This is achieved usually by breaking down the implementation into smaller chunks and committing it against the issue id.

The issue id is usually put in the log message with a commit message descriptive enough to let you know what the change is for and what it does. It is tricky to write a good enough commit message. Either it is too short, it is too long or well it serves no purpose.

This is the reason it is absolutely important to know against what the commit has been done. Hence these pre-commit checks.

Thursday, June 25, 2020

Raspberry pi - Install the docker

The post is for those who have raspberry pi original model and want to install docker on that.

First check whether docker is installed on your raspberry pi or not. Verify the docker installation by running the command below.

docker run -rm hello world
If the verification fails the docker needs to be installed on the raspberry pi.
There are scripts available to support the installation of docker here at get.docker.com
Use the command below to install using the scripts.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
The output would look something like the following:
# Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sh -c echo "deb [arch=armhf] https://download.docker.com/linux/raspbian stretch stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ [ -n  ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a6621
 Built:             Mon Jun 22 15:53:00 2020
 OS/Arch:           linux/arm
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a6621
  Built:            Mon Jun 22 15:47:00 2020
  OS/Arch:          linux/arm
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.
Add your user to the docker group so that docker can be run without the super user permission.
sudo usermod -aG docker pi

Now run the verification script and your docker should run.