Qalculate!, the calculator I use every time I need to do a calculation, especially if it involves units or currency conversion. Does everything I've ever needed out of an everyday calculator (even symbolic calculation and exact results), while keeping the usual simple calculator interface.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
-
xpipe – I use it to SSH into any of my servers, cluster nodes or directly into docker containers without having to remember hostnames, IPs, users. It can also bring your useful scripts to said ssh session without "installing" them on the target device, which is great because you don't have to set it up for every new server. Also the dev is a really nice guy.
-
Portmaster + SPN – I use it to route each app through different VPN paths with multihop support and per app firewall rules. (e.g. one app via Denmark, another via a random country, third app no VPN, fourth app gets no internet at all etc.) It really gives you full control over the traffic. afaik there is no other all in one app like this.
-
wdfs - It's an old project that is patched by this random github user. It's the only way I found to mount a webDAV storage cleanly into a directory from a bash script without fucking with my fstab or being root or giving specific privileges to my user. I mount it from a bash script because that way I can use KDE wallet to store the credentials instead of having a plain text file somewhere on my fs, the script waits until the wallet is unlocked, then reads the credentials from it and mounts the webDAV to a path in my home. That is more accessible to apps and other scripts (e.g. recent files) instead of doing it via Dolphin, which generates a random string in the path every time when opening network storage.
UpNote. I use it like a combination of the gollum wiki described by OP, but I just put everything in there. I have watch and reading lists for things I want to check out, writing projects, notes for TTRPG games, I keep extensive notes on healthcare-related stuff, and so on. I like UpNote because it's lightweight, has windows, linux, and android apps, and because it has a one-time $25 lifetime membership that does free syncing forever instead of a monthly subscription like most other things seem to. I've tried OneNote, Evernote, Obsidian, Joplin, AnyType, and a bunch of others and didn't like them for various reasons, but UpNote is both pretty small and also has a pretty full-featured editor that can do rich text, all kinds of formatting, media files, etc.
The only thing I've run into that UpNote wasn't ideal for is I started writing a novel a couple months ago and managing the structure and notes and all that got a little unwieldy so I picked up Scrivener. Still wish they had an updated linux client or there was some good, complete, feature-rich linux-native equivalent, but it runs pretty good under wine, so.
GNU parallel, to run commands on all cores, and for its filename pattern substitution.
For example: ls *.flac | parallel ffmpeg -i {} {.}.mp3
encodes a directory of FLAC files to MP3. parallel -a <(ls *.flac) -a <(ls *.mp3) --xapply copytags {1} {2}
then copies each FLAC file's metadata to the corresponding MP3 file (which ffmpeg already does, just to illustrate the --xapply
option).
edit: copytags
is https://github.com/DarwinAwardWinner/copytags if that's useful for anyone.
Parallel is great!
Alternatively your second command can be written as: parallel "copytags {1} {2}" ::: *.flac :::+ *.mp3
.
Also it is nice to exec commands on multiple devices.
Every day?
- Herbstluftwm, the window manager. I used i3 for a decade, then bspwm for a few months, then landed on hlwm which I've been happily using for over a year. I don't foresee changing until I'm forced to switch to Wayland. I've used almost every window manager and DE available for Linux and Solaris. Hlwm has things I can no longer live without:
- It's entirely configuration-file-less, which means the CLI client is the first class citizen for C&C.
- It's tiled and keyboard controllable is, again, a first-class citizen
- It has a sane tree model, with no weird exceptions
- It's stable
- It's fast and small. You never see it in top, sorting either by CPU or memory
- Zsh, the shell, in which I run 90% of my applications (the regular exceptions being the Luakit browser and Factorio, the game. everything else is CLI or a TUI). Zsh is bash backwards compatible, and it has a bunch of extra convenience syntax that makes scripting more powerful, pushing out the border where switching to a real programming language is necessary. I have lived in sh, bash, and csh over my life, and I've tried fish and a number of others; the rich data model for process communication is compelling, but I've always discovered it lacking, so on zsh I remain.
- Tmux, the terminal multiplexer, which is (almost) invariably the first child of every terminal (
rio -e 'tmux attach -t#'
). Because terminals crash, because it survives session restarts, because it lets me log in remotely and continue what I started in my desktop, and because it works over ssh and having a consistent multiplexer environment across machines is nice. I used sceen for years before discovering tmux, and have tried almost every other terminal multiplexer; and none add any significant value for me over tmux. - Helix, the editor in which I spend most of my time. Because I started with emacs and used it for years before switching to vim. Then I used vim for decades before switching to Kakoune. Then I used Kakoune for about 2 years before switching to helix. Kakoune was too much like Emacs for my taste: heavy on chording, light on modality. Helix is much more like vim: lighter on chording, more mode-driven. Chording aggravates my carpel tunnel, and I'm more comfortable in modal editors. I switched from vim because the plugins necessary to be a competent development environment got insane, and my vim was starting to take as long to start up as emacs, which was unacceptable. Also, LSP integration was super flaky and broke every six months; it's what initially drove me to Kakoune.
I'm currently using Rio as my terminal. It has bugs, but it's actively developed and regularly releases will fix one more thing. It has both ligature and sixel support, and it's wildly fast and far, far less memory intensive than either kitty or ghostty, which are both pretty fat. I am not including it in "the list" because some remaining bugs are pretty big, like randomly crashing when it gets resized or sees some sequence of asci escape codes. It's not much of an issue because I run everything in tmux, and it crashes less with every release, but I hesitate to recommend it until it's more stable.
+1 for helix. I was new to linux and TUI editors. The vim tutor was a good intro to the concept of modal editors, but needed lsp and syntax highlighting. At the time I struggled a lot with configs, so neovim was out. Helix is just a fantastic, batteries included experience. Approachable for beginners, but feature rich for novices.
Edit: typo, grammer
Hooray to Helix!
Espanso Text Expander. Its not Linux specific but its got so many uses. You can even use it with bash scripts to have essentially alises/text shortcuts for short or massive amounts of text. I use it for so many code snippets and template texts in Neovim and other applications that involve typing.
KDE's Dolphin + Konsole's integration to Dolphin is great for seamlessly managing files with an UI and terminal hybrid.
Though closed source (overly dramatic music plays), the text editor Sublime Text works great, and at least with major version 3 (last I checked it was in version 4), it can be converted to AppImage without major issues (at worst, paths with spaces have issues).
Firejail is great for starting specific programs offline.
Newsboat is the best RSS feed reader I could find for Linux, specifically due to, with its inbuilt macros, I can set it up to open in new tabs several posts from a comically large amount of feeds.
How does the dolphin/konsole integration thing work? I'm curious.
You press F4 (I believe) in Dolphin and it spawns "tab" of Konsole pointing to current location inside Dolphin window.
Great topic. I'm going to have to investigate some of these suggestions later.
Since my first pick, helix, was already mentioned here and i commented on it, I'll add gitui. Git can be very overwhelming for me. Gitui arranges frequently used git commands in a sensible, visual layout and makes it easy for me to understand and interact with git.
For doing more complex tasks with git, you could have a look at jujutsu. It is really good and provides most of git's power in an conceptually much simpler CLI interface.
Thanks for the rec! The anonymous branches and working-copy-as-commit subsuming git stashes is intriguing. I'll give it a closer look when I have a chance.
Ed Along with rlwrap it gives me a very fast and powerful workflow.
Rlwrap It wraps around a program and gives it the ability to make use ofthe readline lib.
Screen I use it when I boot without X. Gives a very fast workflow, being able to switch between programs.
Mpv Multimedia powerhouse. Even works (pretty) well without X, with a framebuffer.
Ecasound Cli daw. Have several scripts to make a recording on the fly or to be able to jam.
ed (which is the more frugal, older brother of vi/vim) might indeed be a bit under-hyped. Which advantages does it have for you?
Funny thing a while ago I had a small side-project for a data collection task in my PDA - a kind of minimal database to record daily stuff. So, a PDA has limited screen space and typing speed, and I tried to make the UI with as little typing as possible. And then it dawned to me that I was essentially replicating ed's interface!
Fun thing by the way, one can use Emacs without X, and then it is like screen - only with an editing window at the outermost shell.
And also, one can have the same space efficiency in text mode within X: Using the ratpoison or Stumpwm window managers.
I like game emulation and to manage my ROM library, I use Geode-GEM. It is simple but cusomizable app to manage your ROM based on console and emulator you have.
Right now https://jeena.github.io/recoder/ which I just released and here is why (copied from the website):
🎬 Why Recoder?
I used to edit family videos in Kdenlive without a problem — it handled footage from all our devices without complaining. But then I switched to DaVinci Resolve, and suddenly nothing worked right. My Sony Alpha 7C, my Galaxy S24, and my wife's iPhone all produced files that Resolve couldn’t handle without transcoding.
😤 Too Much Fuss, Too Many Steps
Every time I wanted to edit, I had to hunt down the right ffmpeg settings and manually run them on each video — a frustrating and repetitive task.
My typical workflow is simple: I create one folder per event on an external HDD and drop in videos from all our cameras. A script renames the files based on the date and time so I can easily sort them. But for Resolve, everything has to be transcoded to DNxHD — which only supports resolutions like 1920×1080 and 1280×720.
🔄 Vertical Videos? Extra Pain
That also meant vertical videos couldn’t work. So now, I rotate them during transcoding to preserve resolution and rotate them back in Resolve during editing.
✨ Enter Recoder
I built Recoder to automate this annoying step — so I could spend more time editing memories and less time fiddling with command-line tools.