Many of the articles on my blog describe the tools that I use when I prepare my courses, conduct research, write papers, and implement software. Given the rapid pace of innovation in the field of software engineering, I thought that it would be a good idea to share a status update on my use of some software that I suggested in previous posts.
In the article Distraction-free writing with a terminal timer and Ubuntu notifications, I suggested that a distracted writer or programmer could use termdown to set a countdown timer in their terminal window. Today I still use the same software tool! If you use a terminal window and you are comfortable with installing and using a Python program, then I still recommend that you consider this simple approach.
In the article Using virtual environments in Python 3, I suggested the use of venv to manage the creation of virtual environments when implementing a Python 3 program. I no longer adopt this approach, instead using Pipenv to support virtual environment and dependency management for programs like GatorGrader.
In the article Easy steps towards speedy technical writing with Neovim, I suggested the use of deoplete.nvim for text completion in Neovim and Vim. Even though I appreciate all of the time effort that developers have invested in this tool, I now use ncm2 as I find it to be the fastest auto-completion engine I have tried so far. You can check my
.vimrc file in my dotfiles to learn more about how I configured these tools.
In the article Three quick tips for writing LaTeX in Neovim, I explained how I used neovim-remote to ensure that I could edit LaTeX documents with Neovim. Today, I'm still appreciatively using the vimtex plugin in Neovim! You can review my
.zshrc files in my dotfiles to learn how I configured these tools to support writing.
In the article Directory zooming with Fzf and Fasd, I encouraged the use of Fzf and Fasd. When I edit source code in Neovim or navigate my terminal running
zsh I still use both of these programs regularly. To date, I have made one major change in the way I use programs like Fzf, which performs fuzzy search on the output of an affiliated program that produces searchable text. Instead of using the Silver Searcher to find matching files or directories and produce a list for Fzf, I now use a drop-in replacement, called Ripgrep, with better performance. Again, you can check my
.zshrc files in my dotfiles to learn how I configured these tools.
What software tools do you use when you implement software or write technical articles? I invite you to contact me with your own suggestions for innovative software.
Enjoy this post? If so, please read, Using real faults to evaluate test suite prioritization techniques, my most recent article.