Toolbox
- With the right tools, everything becomes a bit more simple.
- Things will take less time to be done.
- 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
- Search for files, file contents and text manipulation
- openjdk (the latest version) plus Maven
- docker and docker-compose
- Integrated Development Environment (IDEs) and Text Editors
- Browsers
- Calibre ebook editor and viewer
- Git
- Set up SSH keys for it if necessary
- (and a Good git interface for Linux) -
- 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.- gitg (lighter and faster - lets us stage individual lines and chunks)- 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.)- Eclipse eGit plugin is probably the best. It works the same way in all OSs and it has all the features we really need.
- zip (
pacman -S zip
)- Command to zip a folder from terminal:
zip -r <zip file name> <directory name>
- Other alternatives
- Peazip
- 7-zip
- Command to zip a folder from terminal:
- File Managers
- Working with csv files
- Rainbow CSV
- This Visual Studio Code plugin highlights columns in CSV, TSV, semicolon, and pipe-separated files with distinct colors.
- 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)
- ebook software
-
calibre
paru -S calibre
-
fbreader
paru -S fbreader
- Lightweight compared to calibre.
- Good for copying text from the book. Doesn’t divide chapters into pages. It is easy to scroll the mouse over the entire chapter.
-
arianna
pacman -S arianna
- Lightweight compared to calibre.
- Good for reading. Two page view. The UI looks good.
-
- ripgrep
paru -S ripgrep
- terminals
- konsole (The terminal from KDE)
- 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.
- 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)
- xfce4-terminal
- xfce4-terminal has served me well for a long time. Don’t bother with the other ones.
- konsole (The terminal from KDE)
- calculator (pantheon-calculator)
paru -S pantheon-calculator
- Variety - wallpaper utility - and its configuration.
- Change the default directory for favorites.
- Include unsplash.com as a source of wallpapers.
- Is there a way to include websites other than unsplash.com as a source of wallpapers? e.g. pexels.com
- (Nitrogen is an alternative tool to Variety)
- Office suites
- Worst case scenario where none of these suites are installed and we have to read a word document - use FBReader.
- Libre office (This works for most of the scenarios. If we have this, no other office suite is necessary.)
sudo pacman -S libreoffice-fresh
- Open office- 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)
- tmux
pacman -S tmux
- screenshots
- xfce4-screenshooter
pacman -S xfce4-screenshooter
- KDE Spectacle seems pretty good too.
- xfce4-screenshooter
- pdf arranger (to work with pdf documents - joining multiple pdf documents into one)
paru -S pdfarranger
- File Managers
- Thunar (works very well. no other file managers are really necessary if we have this.)
- PCManFM (not really necessary if you already have Thunar)
- Media players and editing
- fastfetch - https://github.com/fastfetch-cli/fastfetch
- Installation
- Linux mint
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch sudo apt update sudo apt install fastfetch
- Using homebrew
brew install fastfetch
- Linux mint
- Usage
- For more details
fastfetch -c all
- For more details
- Installation
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 saysneofetch
in it. +5. Save the file, exit the text editor and restart Terminal.- arandr (for working with multiple monitors)+
paru -S arandr
- Image tools
- GIMP
- To rotate images in gimp: Image > Transform > Rotate
- To crop, Tools > Transform tools > Crop (or, just use the Crop icon from the panel on the left side).
- After editing, right click on the image, File > Overwrite <filename> to save the changes.
- img2pdf (to convert images into pdf documents) - (usage: in terminal: $ img2pdf img1.png img2.jpg -o out.pdf) (img2pdf –help)
- Ristretto - Fast and lightweight image viewer for the Xfce desktop environment.
pacman -S ristretto
- OCR (Optical Character Recognition) tools (Image to Text)
- Neither of the two mentioned below worked as good as the convertion tools online.
- gimagereader-qt Don’t forget to choose tesseract-data-eng as the language
sudo pacman -S gimagereader-qt
- abc
sudo pacman -S tesseract
- GIMP
Tools for Windows
(See Tools common for all OSs in addition to the ones listed here.)
- Terminal
- From what I’ve seen,
git bash
is the best terminal for Windows when it comes to performance. - ConEmu is very slow compared to
git bash
- Console Emulation program - ConEmu
How to launch GitBash in ConEmu?
Click on the
+
symbol and selectGit 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.
- From what I’ve seen,
- Text editors :
- Notepad++ - plugins: Compare plugin, XML tools plugin
- 7 zip
- WinMerge
- WSL2
- Speccy
Work related set-up
(See Tools common for all OSs in addition to the ones listed here.)
- Amazon Workspaces
paru -S amazon-workspaces-bin
- docker desktop for Mac and Windows
- Curl
- JDK (OpenJDK)
- Maven
- Npm, NodeJS, yarn, nvm
- Postman
- Ready API
- Redis on Windows or other OSs
- The silver searcher or ripgrep
- Visual Studio Code
- aws-cli
- aws SAM
- Python
File System
- Cygwin
- Search for files, file contents and text manipulation
- Listing Directories and Files in a folder
- Renaming files and directories
- File and Folder comparison tools
- Copying files and directories
- Deleting files and folders
- Working with flash drives
- Memory Disk running out of memory
- Linux - WSL
- Linux - File I/O operations from terminal
- Linux - Changing permissions on files and folders
- Zipping folders
macOS tips
- macOS - creating folder in the root
- Installing and Using Homebrew
- macOS - Terminal shortcuts
- macOS - Security Tools
- macOS - Uninstalling Applications
- macOS - Keyboard Shortcuts
- Environment variables
- todo
- Tiling window managers for MacOS
-
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
-
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
- 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.
- Acer KU-0833
- I find that this is great for me.
- The keys are separated by a distance.
- Logitech K120
External Mouse
- [Maxxter] Optical gaming mouse
- 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:
- If we have only one external monitor, switching between different apps on a single screen can be tiring.
- Also, if we have to use the microphone and speaker on the laptop for calls, it is difficult to work with clamshell mode.
- 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
- I tried Read Aloud in Firefox. It does a decent job.
- 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
- Reasons to consider it are:
- its free
- doesn’t use internet
- local
- Reasons to consider it are:
Reading material
Tags
- Accounting tools
- awk
- Calibre book-reader customization
- Cloud storage options
- Cntlm
- Command to put computer to sleep
- Curl
- Drawing flow diagrams and UML diagrams
- How to force a public Wi-Fi network login page to open?
- How to convert HEIC photos to something normal?
- ics files - calendar management
- Integrated Development Environment (IDEs) and Text Editors
- Lenovo Thinkpad tips
- Media players and editing
- Mouse issues in Windows
- Multiple workspaces
- My notes about Android
- Nextcloud
- Website publishing - tools and options
- Putty
- ReadyAPI
- Search engines
- Shell
- Stopping spam calls
- Typing skills
- tmux
- Using LLMs
- Wizdler
- unzip
- Working with json objects and json files