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
- 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)
(See Tools common for all OSs in addition to the ones listed here.)
- terminals
- What is a gpu accelerated terminal?
- A GPU-accelerated terminal is a command-line interface (CLI) that uses the Graphics Processing Unit (GPU) to render its output, rather than relying solely on the Central Processing Unit (CPU). This offloading of graphics processing provides significantly faster rendering, lower latency for typing, and a smoother, more responsive user experience, especially when dealing with large amounts of text, complex processes, or multiple windows.
- How they work
- GPU offloading: Instead of the CPU rendering every character and line, the terminal sends the display information to the GPU, which can process graphics-intensive tasks much more efficiently due to its parallel processing power.
- Optimized rendering: By intelligently managing rendering time and tasks, GPU-accelerated terminals can display large files quickly and only redraw when the content changes, further improving performance.
- Enhanced features: GPU acceleration also allows for more advanced text rendering features, such as ligatures and better font handling, contributing to a more modern and polished look.
- Benefits
- Speed and responsiveness: The most significant advantage is a dramatic increase in speed, making typing feel instantaneous and making the terminal appear to be much faster overall.
- Efficiency: By using specialized hardware (the GPU), the terminal can handle complex displays and high-volume output more efficiently.
- Smoothness: Users experience a smoother visual output, which is especially noticeable during demanding tasks.
- Examples of GPU-accelerated terminals
- Alacritty: A cross-platform terminal written in Rust known for its speed.
- Kitty: An OpenGL-based terminal emulator designed for power users.
- WezTerm: A cross-platform terminal emulator and multiplexer also written in Rust.
- Ghostty: A fast, GPU-accelerated terminal emulator created by Mitchell Hashimoto.
- How to do comparison?
- Rendering in terminal is often a performance bottleneck. For example: executing “time find /usr”
- alacritty: 0,65s user 1,37s system 98% cpu 2,047 total
- gnome-terminal: 0,66s user 1,49s system 50% cpu 4,272 total
- kitty: 0,89s user 1,46s system 64% cpu 3,633 total
- Rendering in terminal is often a performance bottleneck. For example: executing “time find /usr”
- xfce4-terminal
- Comes as the default terminal with xfce
- Supports tabs
- konsole
- Comes as the default terminal with 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)
- kitty
- Alacritty
- https://alacritty.org/
- sudo pacman -S alacritty
- How to customize alacritty?
- Alacritty is customized through a configuration file. This file uses the TOML format and is typically located at ~/.config/alacritty/alacritty.toml on Unix-like systems, or %APPDATA%\alacritty\alacritty.toml on Windows. If the file does not exist, it needs to be created.
- Find sample themes here: https://github.com/alacritty/alacritty-theme
- Customizing terminals: https://www.josean.com/posts/how-to-setup-alacritty-terminal
- What is a gpu accelerated terminal?
- 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)
- Installation
- Arch Linux
pacman -S variety or sudo apt install variety - Fedora
sudo dnf install variety
- Arch Linux
- 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 - screen capture tools (screenshots)
- Flameshot
- xfce4-screenshooter
pacman -S xfce4-screenshooter - KDE Spectacle seems pretty good too.
- File Managers
- I came across
Nemowhile using the Mate version of Linux Mint. It has an option to search for file name, as well as, search for file content. I liked it. - Thunar (works very well. no other file managers are really necessary if we have this.)
- PCManFM (not really necessary if you already have Thunar)
- I came across
- Media players and editing
- fastfetch - https://github.com/fastfetch-cli/fastfetch
- Build from source. See the Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building
- Usage
- For more details
fastfetch -c all
- For more details
Neofetch (https://github.com/dylanaraps/neofetch)1.pacman -S neofetch2. 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 saysneofetchin it. +5. Save the file, exit the text editor and restart Terminal.- arandr (for working with multiple monitors)+
paru -S arandr - Image tools
- Pdf tools
Tools for Windows
(See Tools common for all OSs in addition to the ones listed here.)
- Terminal
- From what I’ve seen,
git bashis 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 BashIf 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
- Linux - Issues running App Images
Windows OS tips
- Mouse issues in Windows
- In Windows, can I make the right-click context menu always be in the “show more options” mode by default?
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.
- Amethyst GitHub: https://github.com/ianyh/Amethyst
- Some tools that go hand in hand when using Amethyst
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
AltTab- https://alt-tab-macos.netlify.app/
- This combination gives us two advantages. Full screen funtionality because of the tiling features from Amethyst. Finding open windows easily using AltTab.
- https://github.com/koekeishiya/yabai
- https://magnet.crowdcafe.com/
- https://rectangleapp.com/
- https://www.raycast.com/
- Amethyst:
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:
Apps that the open source alternative is better
ebook software
Dark mode for screens
Dark mode is not always better
- https://www.webeca.com/eye-care-resources/is-dark-mode-better-for-your-eyes
- https://www.ophthalmology24.com/using-dark-mode
- https://www.allaboutvision.com/conditions/computer-vision-syndrome/digital-eye-strain/is-dark-mode-better-for-eyes/
- http://xahlee.info/js/is_dark_theme_good.html
Tags
- Accounting tools
- awk
- 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
- Multiple workspaces
- My notes about Phones and Android
- Nextcloud
- Website publishing - tools and options
- Putty
- ReadyAPI
- Search engines
- Shell
- Stopping spam calls
- Typing skills
- tmux
- Wizdler
- unzip
- Working with json objects and json files
- Moral lessons from free software and GNU Emacs