Switched to Arch Linux

BACKGROUND

After using Debian for almost 8 years on my laptop, I wiped it out a few months back to install Arch Linux. This post talks through the installation process and the story behind it.

DISCLAIMER

Duplicating the instructions from the Arch Linux Installation Guide is not the intention of this post. The Arch Linux installation guide has much more detailed and up-to-date steps for a lot of hardware and software combinations. This post merely talks about the steps I used and the package selection I made for my hardware. This is partly for my own future reference.

[Read more]

Neovim autocomplete for dictionary words

I use the coq_nvim plugin in Neovim for code completion. But increasingly, more often than code, I find myself editing plaintext or markdown files with Neovim.

The coq_nvim plugin mainly relies on the Neovim LSP feature to provide autocompletion. Additionally, it also has support for custom sources. But the absence of dictionary words completion out-of-the-box in coq_nvim is disappointing.

So I created a custom coq_nvim source for dictionary words completion over the weekend. I also published it as a Neovim plugin on my GitHub for others to use.

[Read more]

A practical guide to get started with Pass

1. Introduction

In my recent endeavour to upgrade my digital security, I started using Pass, the command-line based password manager for my online accounts. While there were a few online guides that I could follow to get started with Pass, I did feel a need of a comprehensive guide for new users of Pass. In my attempt to fill the gap, I will try to touch upon various aspects that one needs to be mindful of to use Pass in the most secure and optimal way.

[Read more]

Understanding Kotlin Covariance and Contravariance

1. Introduction

To someone coming from the Java world to the world of Kotlin, the concepts of Covariance and Contravariance can be somewhat overwhelming to grab at first. But they don’t have to be once you start understanding the basic cadence of it. This article is going to be a step by step depiction of how I have come to understand these two topics.

2. Let’s create some classes!

First let’s create a small class hierarchy that we can use to understand these concepts. Paper is the parent class of the Regular paper and the Premium paper.

[Read more]

Upgrading to Debian 11 Bullseye

Introduction

Although Debian 11 codenamed Bullseye was released almost 7 months back on 14th August, 2021, it was only in January, 2022 that I upgraded all my computers running Debian 10 to Debian 11. Admittedly a little late to the party, I like to take a cautious approach to upgrading my systems, which is not very difficult to predict given my Linux distribution of choice! In this post, I am going to share my experience and the steps I used while doing the actual upgrade.

[Read more]