Toolbox

  1. With the right tools, everything becomes a bit more simple.
  2. Things will take less time to be done.
  3. Time can be spent on other (hopefully, meaningful) things.

How to choose a tool?

Basic rule: use the tool that suits you, knowing that a tool that satisfies all your requirements does not exist.

https://karl-voit.at/2021/01/18/tool-choices/

Helpful tools

Tools common for all OSs

  1. Search for files, file contents and text manipulation
  2. openjdk (the latest version) plus Maven
  3. docker and docker-compose
  4. Integrated Development Environment (IDEs) and Text Editors
  5. Browsers
  6. Calibre ebook editor and viewer
  7. Git
    1. Set up SSH keys for it if necessary
    2. (and a Good git interface for Linux) -
    3. - If we can work with Vim and vim-fugitive, that, when used along with terminal, should be enough for pretty much everything related to Git.
    4. - gitg (lighter and faster - lets us stage individual lines and chunks)
    5. - GitAhead (Good tool to understand the history. Did not use it very extensively though. Can it be helpful with resolving merge conflicts and rebasing? Have to use it with bigger projects to figure that out.)
    6. - Eclipse eGit plugin is probably the best. It works the same way in all OSs and it has all the features we really need.
  8. zip (pacman -S zip)
    1. Command to zip a folder from terminal: zip -r <zip file name> <directory name>
    2. Other alternatives
      1. Peazip
      2. 7-zip
  9. File Managers
    1. Vifm
  10. Working with csv files
    1. Rainbow CSV
    2. This Visual Studio Code plugin highlights columns in CSV, TSV, semicolon, and pipe-separated files with distinct colors.
    3. https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv

Tools for Linux (Personal workstation set-up)

Essentials

pacman -S emacs
pacman -S ninja
paru -S ripgrep
pacman -S variety
pacman -S torbrowser-launcher
pacman -S ristretto
pacman -S libreoffice-fresh

(See Tools common for all OSs in addition to the ones listed here.)

(See GitRepositories/my-toolbox/Linux/packages and package managers.org)

  1. ebook software
    1. calibre

      paru -S calibre
      
    2. fbreader

      paru -S fbreader
      
      1. Lightweight compared to calibre.
      2. Good for copying text from the book. Doesn’t divide chapters into pages. It is easy to scroll the mouse over the entire chapter.
    3. arianna

      pacman -S arianna
      
      1. Lightweight compared to calibre.
      2. Good for reading. Two page view. The UI looks good.
  2. ripgrep
    paru -S ripgrep
    
  3. terminals
    1. konsole (The terminal from KDE)
      1. What I love about this is, it displays the names of the tabs - which is very very helpful. We don’t have to remember what each tab is doing. It makes switching between tabs so much easier.
      2. And we can navigate between tabs using Ctrl + Tab - just the way we navigate between tabs in a browser. It is so easy. (Didn’t see that happening with xfce4-terminal)
    2. xfce4-terminal
      1. xfce4-terminal has served me well for a long time. Don’t bother with the other ones.
  4. calculator (pantheon-calculator)
    paru -S pantheon-calculator
    
  5. Variety - wallpaper utility - and its configuration.
    1. Change the default directory for favorites.
    2. Include unsplash.com as a source of wallpapers.
    3. Is there a way to include websites other than unsplash.com as a source of wallpapers? e.g. pexels.com
    4. (Nitrogen is an alternative tool to Variety)
  6. Office suites
    1. Worst case scenario where none of these suites are installed and we have to read a word document - use FBReader.
    2. Libre office (This works for most of the scenarios. If we have this, no other office suite is necessary.)
      sudo pacman -S libreoffice-fresh
      
    3. - Open office
    4. - Calligra
      • wps office? (used - the interface is good. But support for fonts is not as good as that of LibreOffice? Some fonts were totally unreadable)
  7. tmux
    pacman -S tmux
    
  8. screenshots
    1. xfce4-screenshooter
      pacman -S xfce4-screenshooter
      
    2. KDE Spectacle seems pretty good too.
  9. pdf arranger (to work with pdf documents - joining multiple pdf documents into one)
    paru -S pdfarranger
    
  10. File Managers
    1. Thunar (works very well. no other file managers are really necessary if we have this.)
    2. - PCManFM (not really necessary if you already have Thunar)
  11. Media players and editing
  12. fastfetch - https://github.com/fastfetch-cli/fastfetch
    1. Installation
      1. Linux mint
        sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
        sudo apt update
        sudo apt install fastfetch
        
      2. Using homebrew
        brew install fastfetch
        
    2. Usage
      1. For more details
        fastfetch -c all
        
  13. Neofetch (https://github.com/dylanaraps/neofetch) 1. pacman -S neofetch 2. How to launch Neofetch each time you launch a Terminal window ? ~3. Edit /.bashrc in your favourite editor. This file is located in the root file system, not the Home folder. You may need to open as root, but only if the icon shows a padlock or no entry symbol. 4. Add a new line that says neofetch in it. +5. Save the file, exit the text editor and restart Terminal.
  14. arandr (for working with multiple monitors)+
    paru -S arandr
    
  15. Image tools
    1. GIMP
      1. To rotate images in gimp: Image > Transform > Rotate
      2. To crop, Tools > Transform tools > Crop (or, just use the Crop icon from the panel on the left side).
      3. After editing, right click on the image, File > Overwrite <filename> to save the changes.
    2. img2pdf (to convert images into pdf documents) - (usage: in terminal: $ img2pdf img1.png img2.jpg -o out.pdf) (img2pdf –help)
    3. Ristretto - Fast and lightweight image viewer for the Xfce desktop environment.
      pacman -S ristretto
      
    4. OCR (Optical Character Recognition) tools (Image to Text)
      1. Neither of the two mentioned below worked as good as the convertion tools online.
      2. gimagereader-qt Don’t forget to choose tesseract-data-eng as the language
        sudo pacman -S gimagereader-qt
        
      3. abc
        sudo pacman -S tesseract
        

Tools for Windows

(See Tools common for all OSs in addition to the ones listed here.)

  1. Terminal
    1. From what I’ve seen, git bash is the best terminal for Windows when it comes to performance.
    2. ConEmu is very slow compared to git bash
    3. Console Emulation program - ConEmu How to launch GitBash in ConEmu? Click on the + symbol and select Git Bash If there is a more automated way to do this, look for it. For now, this seems to be the best way to support GitBash in a tabbed console.
  2. Text editors :
    1. Notepad++ - plugins: Compare plugin, XML tools plugin
  3. 7 zip
  4. WinMerge
  5. WSL2
  6. Speccy
    1. https://en.m.wikipedia.org/wiki/Speccy#:~:text=The%20information%20displayed%20by%20Speccy,how%20it%20is%20being%20used.
    2. https://www.ccleaner.com/speccy

(See Tools common for all OSs in addition to the ones listed here.)

  1. Amazon Workspaces
    paru -S amazon-workspaces-bin
    
  2. docker desktop for Mac and Windows
  3. Curl
  4. JDK (OpenJDK)
  5. Maven
  6. Npm, NodeJS, yarn, nvm
  7. Postman
  8. Ready API
  9. Redis on Windows or other OSs
  10. The silver searcher or ripgrep
  11. Visual Studio Code
  12. aws-cli
  13. aws SAM
  14. Python

File System

  1. Cygwin
  2. Search for files, file contents and text manipulation
  3. Listing Directories and Files in a folder
    1. View Directories and Files in a Tree Structure
  4. Renaming files and directories
  5. File and Folder comparison tools
  6. Copying files and directories
  7. Deleting files and folders
  8. Working with flash drives
  9. Memory Disk running out of memory
  10. Linux - WSL
  11. Linux - File I/O operations from terminal
  12. Linux - Changing permissions on files and folders
  13. Zipping folders

macOS tips

  1. macOS - creating folder in the root
  2. Installing and Using Homebrew
  3. macOS - Terminal shortcuts
  4. macOS - Security Tools
  5. macOS - Uninstalling Applications
  6. macOS - Keyboard Shortcuts
  7. Environment variables
  8. todo
    1. https://github.com/wojciech-kulik/FlashSpace
  9. Tiling window managers for MacOS
    1. Amethyst: Tiling window manager for MacOS, free, open source.

      It is fast, reliable and highly customizable - like xmonad for those who know what that is. Been using it for a few months now.

      https://github.com/ianyh/Amethyst

      Amethyst GitHub: https://github.com/ianyh/Amethyst

      Another tool that goes in handy when using Amethyst is WhichSpace, a small menu bar application that tells you in which space (desktop) you currently are. This makes switching spaces with keyboard shortcuts in Amethyst easier because you always know in which space you currently are.

      WhichSpace GitHub: https://github.com/gechr/WhichSpace

    2. https://github.com/koekeishiya/yabai

Hardware

Working with laptops

Sometimes, having the actual laptop in front of us on the desk can feel cluttered. It can feel like the laptop is in the way of getting things done.

Separate keyboard

Question: Macbook keyboard or seperate keyboard?

Sometimes, it helps to use an external keyboard. Helps to use it rough and tough and dont worry about what happens when something goes wrong with the Apple keyboard. If something breaks with the keyboard on the computer, getting it repaired (e.g. the keyboard on Apple laptops) is expensive.

External Keyboards

  1. Do not keep struggling with keyboards with layouts that are not comfortable for you. It is much preferable to throw them away and get ones that you feel comfortable with. The effort is worth it.
  2. Acer KU-0833
    1. I find that this is great for me.
    2. The keys are separated by a distance.
  3. Logitech K120

External Mouse

  1. [Maxxter] Optical gaming mouse
    1. I used this one and it is great.

Clamshell mode

Overall, the setup may feel much cleaner once we leave your Mac in clamshell mode and use a separate keyboard.

Disadvantages:

  1. If we have only one external monitor, switching between different apps on a single screen can be tiring.
  2. Also, if we have to use the microphone and speaker on the laptop for calls, it is difficult to work with clamshell mode.
    1. The alternative is to set-up dedicated devices for each purpose - an external headphones/headset, an external camera, etc.

Multi monitor set-up

With external dual monitors setup, some people may prefer to have the laptop/MacBook in clamshell mode.

Browser extensions to read articles aloud

Popular options include Read Aloud, Speechify, and NaturalReader

  1. I tried Read Aloud in Firefox. It does a decent job.
  2. I tried choqui tts. Installed it using docker. But it crashed when I gave a large input for it to read. https://github.com/coqui-ai/TTS
    1. Reasons to consider it are:
      1. its free
      2. doesn’t use internet
      3. local

Reading material

  1. https://www.reddit.com/r/opensource/comments/15hzbh1/apps_that_the_open_source_alternative_is_just/

Tags

  1. Accounting tools
  2. awk
  3. Calibre book-reader customization
  4. Cloud storage options
  5. Cntlm
  6. Command to put computer to sleep
  7. Curl
  8. Drawing flow diagrams and UML diagrams
  9. How to force a public Wi-Fi network login page to open?
  10. How to convert HEIC photos to something normal?
  11. ics files - calendar management
  12. Integrated Development Environment (IDEs) and Text Editors
  13. Lenovo Thinkpad tips
  14. Media players and editing
  15. Mouse issues in Windows
  16. Multiple workspaces
  17. My notes about Android
  18. Nextcloud
  19. Website publishing - tools and options
  20. Putty
  21. ReadyAPI
  22. Search engines
  23. Shell
  24. Stopping spam calls
  25. Typing skills
  26. tmux
  27. Using LLMs
  28. Wizdler
  29. unzip
  30. Working with json objects and json files

Links to this note