June 2, 2023

Inquisitive Insights: May 2023

Hey there, I am starting a new monthly series called Inquisitive Insights which will be a gateway to the exciting world of tech. I’ll be sharing the coolest and most intriguing discoveries which are related to my interests and career. Whether you’re a coding whiz or a curious beginner, this series is designed to entertain, inform, and inspire you on your tech journey. In each edition, we wil have a collection of awesome git repositories, stream of tech news, fascinating blog posts, and tutorials to sharpen your skills. Read more

May 20, 2023

/usr Merge

While browsing lwn.net, I came across this article mentioning Debian’s decision to delay the implementation of the /usr merge. The article prompted me to dive deeper into the topic and explore its significance. What is /usr merge? The /usr merge (also known as /usr move) entails relocating specific directories, including /bin, /sbin, and /lib from the root file system ("/") to the /usr directory. This restructuring aims to streamline the system architecture and improve versatility. Read more

April 20, 2023

Neovim Config Switcher

Neovim version 0.9.0 has been released and one of it’s new feature is the introduction of the environmental variable $NVIM_APPNAME. Setting $NVIM_APPNAME makes Neovim look for its configuration directory in $XDG_CONFIG_HOME/$NVIM_APPNAME instead of $XDG_CONFIG_HOME/nvim. 1 Here’s an example to give you a better idea. We have the NvChad’s config. $ ls .config/NvChad init.lua lazy-lock.json LICENSE lua To make Neovim use this particular configuration file, we set the env variable $NVIM_APPNAME and open nvim. Read more

April 10, 2023

Deploy Arch Linux microVM with Firecracker

Firecracker is a virtual machine monitor that leverages KVM to rapidly launch Linux guest VMs. Its key advantage is its ability to quickly start up VMs. Firecracker was created by AWS with the aim of boosting the speed and efficiency of AWS services such as AWS Lambda and AWS Fargate. Written in Rust, Firecracker is licensed under the Apache version 2.0. Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services that provide serverless operational models Read more

March 14, 2023

Firefox with Tab Style Tree

As someone who often finds myself with multiple Firefox windows open and dozens of tabs across them, managing my browsing history can be challenging. I struggle to keep track of how I ended up on a particular page, as I frequently open links in new tabs without bookmarking them. As a result, the number of tabs I have open can quickly become overwhelming. To tackle this issue, I started searching for a Firefox extension that would help me organize my tabs in a more hierarchical and structured way. Read more

February 19, 2023

Refined ChaptGPT Prompt

Well-written prompts can be invaluable in guiding individuals towards refined and insightful responses. With carefully crafted language, prompts can encourage individuals to think more critically, creatively, and in-depth about a topic or idea. Below is a collection of prompts designed for a variety of situations and for the purposes of amusement. Research prompts Can you provide me with a long and well-thought-out comprehensive yet simplified guide of [SUBJECT], that only includes offline information that you are certain is true and excludes any speculation or uncertainty? Read more

December 31, 2022

Switching to Neovim

I’ve been using Vim for almost 4 years now - I’ve began my journey by reading Mastering Vim Quickly, which I highly recommend, to upskill and become more confident in using Vim. The book is a fine balance between explanations, examples and tips. I’ve tried sublime, vscode and vscodium(vscode without Miscosoft telemetry) with the Vim extension which were, however, clunky to use. Though I liked the vscode/vscodium interface, I missed Vim’s keyboard and text centrism, and editing effiency. Read more
#

December 26, 2022

Learning how to learn

Learning How to learn by Barbara Oakley has been the most popular course on Coursera and it is free. She has also publish “A mind for Numbers” which is the book version of the course. A user has posted his notes on the course for the curious minded when the NYtimes article landed on Hacker News. Below are the user’s notes in full form. Original notes can be found here. Read more

December 19, 2022

Git Stash: deep dive

git-stash is a powerful subcommand in Git, that stores changes in a hidden place. Staged or unstaged changes or untracked files are stashed in a stash stack and the working directory is reverted to the last commit. It is useful when changes made to a branch is not ready to be commited and there is a need to switch to another branch. error: Your local changes to the following files would be overwritten by checkout: index. Read more

November 25, 2022

Why Am I a Hindu

Why am I a Hindu is written by Shashi Tharoor in which he write about the history of Hinduism and dispel many of the misconceptions of the Hinduism faith. At the same time, as a Hindu, I appreciate the fact that Hinduism professes no false certitudes. Its capacity to express wonder at Creation and simultaneously scepticism about the omniscience of the Creator are unique to Hinduism. Both are captured beautifully in this verse from the 3,500-year-old Rig Veda, the Nasadiya Sukta or Creation Hymn: Read more

November 11, 2022

Comments on the Consultation Paper on proposed amendments to the ICT Act for regulating the use and addressing the abuse and misuse of Social Media In Mauritius

On 14 April 2021, the Information and Communication Technologies Authority launched a Public Consultation on the proposed amendments to the ICT Act for regulating the use and addressing the abuse and misuse of Social Media in Mauritius. The plan was to set up a National Digital Ethics Commitee with an enforcement unit empowered to take down and censor social media posts and a local proxy server to act as an intermediary which will segregate traffic to and from social media sites, decrypt information and, analyse and store data for investigations purposes. Read more

November 7, 2022

Facebook's new tool

TIL about Facebook (or Meta)’s new tool allowing people to check if the former has their contact information such as phone number and email address, even if they have never handed them over, and delete the data. Facebook collects data about non-users via a user’s address book when permission is granted. Data collected are: names, phone numbers and email addresses. These information are processed to: check if the numbers or email addresses belong to users. Read more

October 14, 2022

Judo: History, Theory, Practice

The meaning behind the Kodokan’s motto—“The Most Efficient Application of Strength,” as Jigoro Kano put it—consists of the following. Assume that a person’s strength is measured in some sort of units. An opponent’s strength is ten, yours is seven. If your opponent pushes you with all his might, you won’t be able remain standing, even if you resist with all your might. You’ll either fall or step back. This is opposing strength with strength. Read more

October 13, 2022

nb

TIL about nb which is a command line and local web note-taking, bookmarking, archiving, knowledge base application. It is written in bash and even has a Go implementation.

October 12, 2022

Learning Namespaces: Unsharing is caring

Learning bits from Linux Containers the Hard Way workshop. Linux namespaces are spawned by using either the clone or unshare system calls. unshare command is a Bash wrapper to the unshare system call. $ unshare --help Usage: unshare [options] [<program> [<argument>...]] Run a program with some namespaces unshared from the parent. Options: -m, --mount[=<file>] unshare mounts namespace -u, --uts[=<file>] unshare UTS namespace (hostname etc) -i, --ipc[=<file>] unshare System V IPC namespace -n, --net[=<file>] unshare network namespace -p, --pid[=<file>] unshare pid namespace -U, --user[=<file>] unshare user namespace -C, --cgroup[=<file>] unshare cgroup namespace -T, --time[=<file>] unshare time namespace -f, --fork fork before launching <program> --map-user=<uid>|<name> map current user to uid (implies --user) --map-group=<gid>|<name> map current group to gid (implies --user) -r, --map-root-user map current user to root (implies --user) -c, --map-current-user map current user to itself (implies --user) --map-auto map users and groups automatically (implies --user) --map-users=<outeruid>,<inneruid>,<count> map count users from outeruid to inneruid (implies --user) --map-groups=<outergid>,<innergid>,<count> map count groups from outergid to innergid (implies --user) --kill-child[=<signame>] when dying, kill the forked child (implies --fork) defaults to SIGKILL --mount-proc[=<dir>] mount proc filesystem first (implies --mount) --propagation slave|shared|private|unchanged modify mount propagation in mount namespace --setgroups allow|deny control the setgroups syscall in user namespaces --keep-caps retain capabilities granted in user namespaces -R, --root=<dir> run the command with root directory set to <dir> -w, --wd=<dir> change working directory to <dir> -S, --setuid <uid> set uid in entered namespace -G, --setgid <gid> set gid in entered namespace --monotonic <offset> set clock monotonic offset (seconds) in time namespaces --boottime <offset> set clock boottime offset (seconds) in time namespaces -h, --help display this help -V, --version display version For more details see unshare(1). Read more

September 14, 2022

Bash Builtin Colon

: is a shell builtin command inherited from the Bourne Shell. It does nothing beyond expanding arguments and performing redirection and has return status zero. : is a no-op operator similar to true and false. In fact, command true and : both use the same function int colon_builtin() underneath. Parameter expansions Shell’s parameter expansions are used to check and modify parameters. Below illustrated how : is used in parameter expansion by setting a default value combined with :. Read more

August 31, 2022

Capture ASCII photo via mplayer

Mplayer Mplayer which stands for movie player for linux and supports most video and audio formats. Its manpage is really long. Check this page for a tips and tricks for mplayer and the FAQ from multimedia.cx is a compilations of questions and answers from the #mplayer IRC channel. Capture photo using mplayer into PNG file You can capturing video and then convert the frame into png or other formats. $ mplayer -vo png -frames 3 tv:// Let’s break it down: Read more

August 30, 2022

Bash builtin Read

The bash read command is a built-in utility that read text from the standard input. Bash Read Syntax The syntax for read command is: read <options> <arguements> The read command reads a line from the standard input and split it into fields, assigning each word to an arguement. If there are leftover words, they are assigned to the last arguement. $ read user_input this is my text $ echo $user_input this is my text $ read var1 var2 var3 there are 3 arguements $ echo $var1 there $ echo $var2 are $ echo $var3 3 arguements $REPLY $REPLY is the default variable used by the read builtin. Read more

August 24, 2022

Web License

TIL CERN developed its own open-source licence and the Web version 3.0 was the first and also last one release by CERN of Open Source software before W3C at MIT took over and then release WWW(HTTPD) version 3.1 under the MIT licence.

August 24, 2022

People Kernel Org

TIL about people.kernel.org which is a collection of individual blogs authored by Linux kernel developers. It is powered by WriteFreely and federated via ActivityPub. For now, the service is available to high-profile developers and maintainers of the Linux Kernel.

Powered by Hugo & Kiss.