Flashcards in Markdown

Anki is an indispensable tool for studies which aids memorisation through spaced repetition1. Flashcards are really good for learning new languages and any subjects which requires a lot of memorisation. There are other software both free and proprietory for spaced repetition based learning. With its pretty good mobile application, which is free on the Android platform, Anki has been my go to solution for flashcards. Having the ability to use the flashcards on phone was an important factor in my decision to settle on Anki for this purpose as opposed to other solutions such as org-mode based solutions which briefly I explored initially....

May 12, 2021

Bulk search and replace with ripgrep and sed

Following a post on a couple of neat tricks I learned while bulk changing links in org-mode text files. I keep scanned hand written notes in PDF format in the main notes directory with org-mode files. Then I link them as appropriate on daily notes I might keep while working on tasks etc. Scanned notes were dumped in a single directory before the start of this year. This was soon getting quite messy as notes got accumulated over the months and with the new year, I wanted a better organisation structure for the notes....

January 17, 2021

Using sdkman to simplify development

Oftentimes you find that there are different SDK requirements for different projects. A classic example would be that your Scala project might be stuck at JDK 8 level1, but Java projects themselves might be using later versions, such as JDK 11. It would be cumbersome to switch between different JDK versions manually, having to make sure to correctly setup JAVA_HOME when you switch between projects. sdkman is there to address this problem and the same class of problems for other types of development setups as well....

January 16, 2021

Customising IdeaVim

Vim in IntelliJ IDEA IDEA is one of the IDEs with relatively good support for Vim with the IdeaVim Plugin2. Even though one can come close to functionality offered by IntelliJ with either Vim or Emacs Plugins, I find that IntelliJ IDEA is a must have for Scala development, in my experience. However, with IdeaVim Plugin you can still get the best of both world’s by leveraging your Vim editing muscle memory via IdeaVim plugin....

July 27, 2019

Using Fasd for Command Line Navigation

Changing working directories is one of the most common operations you do while working on the command line. While tab completion can help make path completion more efficient, it is still a chore to do things manually, especially when moving back and forth between commonly worked on project locations. fasd is a tools which can help improve the efficiency of navigating the file system. Fasd tool is a shell tool which integrates with shells to remember directories and files you have worked on recectly....

February 7, 2018