Code

In my free time, I try to contribute to open source software; my GitHub username is @codetalker7. On this page I’ll try to describe the different projects I’ve contributed to, along with any other things that make life easy for me.

Config

OS and Desktop Environment

I’m running a machine with Focal Fossa and use KDE Plasma as my desktop environment with the Layan Dark theme. For Konsole (and the Gnome Terminal) I’m using the Ubuntu Mono Nerd Font which is needed for status bars like powerline and tools like colorls.

alt text

This is a picture of my configuration.

zsh and tmux

I use the zsh shell configured with Oh My Zsh and the powerlevel10k theme. I use the following plugins for zsh.

I also use tmux configured with Oh my tmux (a powerline-like theme for tmux) and tpm. Apart from these, I came across some really cool tools to help speed up the development process.

  • fzf, a must have tool if you’re a Linux user. The idea is simple: it takes in a list from STDIN and writes to STDOUT. The power comes in the use cases it supports.
  • bat; can be thought of as a modern version of cat.
  • colorls, a Ruby gem to beautify the ls command with colors and icons.

vim

My default text editor is vim. I’ve configured vim to use the powerline status bar (vim-airline is an alternative that I also like) and Vundle.

For my usual workflow, I use the following plugins.

Along with these I use a bunch of plugins for markup and live note taking (see the bottom of this page).

alt text

This is a picture of how my vim setup looks like (the code is for the Survey.jl package).

The Julia Language

I was part of 2022 edition of Google Summer of Code, where I was selected as a contributor for The Julia Language. My project was to make improvements to the CRRao.jl package. I made a final report for the same.

Apart from this, I’ve contributed to the following Julia packages as well.

All of this work has been possible because of the help I got from people at the xKDR organization.

The Document Foundation

I’ve also contributed to the LibreOffice suite. My work mainly revolved around tinkering with LO’s UI, using tools like gtk and Glade, along with working with LO’s registry; for example, here are two of my patches.

LO has one of the best workflows I’ve encountered thus far. They use Gerrit for code review and Jenkins for CI, along with a bunch of other tools which they have embedded in their codebase.

Get Involved!

If you want to contribute to OSS and like C++, LO might be a great choice to get started. LO’s core developers very actively look for new contributors, and are always available to help. It’s not hard to get involved.

Typesetting

I regularly typeset any notes that I take while attending classes or self-studying math. Although Overleaf is great for this, it can be a bit inconvenient for taking notes in class.

After following a bunch of tutorials/blogs on this, I’ve realized the the following is the fastest workflow for note taking (for me).

  • pandoc, used to convert from one markup format to another. This is a really helpful tool, because it has pdflatex, xelatex and lualatex support for markdown.

  • To watch the files as I’m editing them, I use docwatch, which has support for pandoc by default. Though other tools can be used for this.

  • These with vim make a great combination. To get the best experience, I use the vim-pandoc and vim-pandoc-syntax for syntax highlighting along with the UltiSnips plugin for snippet support.

Find out more information about this at this repository.

results matching ""

    No results matching ""