About:

Vasudeva Kamath is a Software Engineer from India with interests in open source software and a passion for coding and teaching Tabla.

Website:

Specializations:

Interests:

Free and Open Source software Debian Project
Subscribe to RSS:
The author successfully utilized the Gemini CLI to streamline the configuration of the Hyprland Window Manager, enhancing performance on an older laptop while overcoming various technical challenges.
The author shares their experience building a Model Context Protocol server to improve vulnerability reporting in Debian systems, highlighting challenges and insights gained during the process.
The author discusses their decision to move their blog from a self-hosted DigitalOcean droplet to GitHub Pages due to cost concerns and low usage. They mention the reliance on Gmail for personal email and express uncertainty about...
The post discusses the implementation of signing the systemd-boot EFI binary with keys on every upgrade using dpkg triggers. It explains the process of creating a custom package with a script to sign the systemd-boot EFI binary an...
The post explains how to disable lockdown mode while keeping Secure Boot enabled with a distribution kernel. It provides an understanding of how the kernel detects if Secure Boot is enabled and how to disable kernel lockdown. It a...
The post is a continuation of a previous article on enabling the Unified Kernel Image (UKI) on Debian. It provides a comprehensive guide on implementing Secure Boot by taking full control of the device, removing preinstalled keys,...
The text provides a guide on how to enable a Unified Kernel Image (UKI) on Debian, assuming that the system is using systemd-boot as the bootloader. It includes steps for installation and configuration, generating the UKI image, v...
The author discusses the process of cloning a laptop over NVME TCP, including the steps to export the disk, copy the disk, and resize the partition and LUKS container. The author also highlights the benefits of this process, inclu...
The post discusses using a LUKS-encrypted USB stick with TPM2 integration to automatically decrypt and mount the device. It provides a step-by-step guide on how to check for TPM2 module, convert LUKS1 to LUKS2, enroll a new LUKS k...
The author discusses migrating their domain from copyninja.info to copyninja.in after holding the domain for almost 15 years. They also bid goodbye to their VPS, which they had been using for over 12 years on DigitalOcean. The mai...
The ZRAM module in the Linux kernel creates a memory-backed block device that stores its content in a compressed format. It offers users the choice of compression algorithms such as lz4, zstd, or lzo. ZRAM can be used as swap spac...
The author shares their experience of installing Debian Unstable on a Thinkpad E470 laptop using a GRML live CD and debootstrap. They explain the process of disk preparation, bootstrapping Debian, and setting up systemd-boot. The ...
The post discusses the use cases for expanding the root file system, specifically for RaspberryPi images and VM images. It provides a modified script for expanding the root file system and explains the process in detail. The autho...
The post discusses the implementation of the SPAKE2 protocol and Ed25519 Curve group in Golang. It covers the decisions taken during the implementation, the challenges faced, and the learnings from the process.
The text discusses the use of Elliptic Curve Cryptography in Diffie-Hellman key exchange, the SPAKE2 protocol, and the use of Elliptic Curve groups in SPAKE2. It also explains the Curve Ed25519 group and its use in SPAKE2. The aut...
The text explains finite fields over elliptic curve, the operations on elliptic curves, and the restriction of elliptic curves to the finite field. It also discusses scalar multiplication and cyclic groups, subgroup order, and fin...
The post is a theoretical discussion about elliptic curves and their groups. The author shares their learning process and understanding of the topic, as well as the application of these concepts in cryptography. The post also ment...
The text is about the author's journey to implementing SPAKE2 in Golang, inspired by a friend's suggestion. It explains what SPAKE2 is, why it is used, and the author's struggle to understand and implement it due to limited knowle...
The text discusses the process of hosting a private registry on an internal LAN network for publishing docker private images. It explains the need for TLS secured registry and the use of self-signed certificates. The author encoun...
The text discusses the use of Docker containers as a development environment for distributed teams working on projects, particularly for embedded systems. It outlines the advantages of using Docker containers and provides detailed...
The text discusses Biboumi, an XMPP-IRC gateway that allows users to connect to IRC channels from any XMPP client, including mobile phones. The author shares their experience using Biboumi with their ejabbered instance and provide...
The author discusses their personal email setup, including server side setup using postfix and dovecot, mail syncing using mbsync, mail classification using notmuch, and reading and sending mails. They also provide detailed config...
The author describes the process of writing a small Python application to listen for broadcast messages and process them. The author explains the process of writing a UDP broadcast receiver as a Python iterator, including the chal...