I recently find my solution to this on desktop Linux:
+ The machine has "Do not Disturb" on, forever.
+ My todo is a never ending text file. Every appointments are laid out on previous day with the following format:
*- 09:00 do something*
+ There is a script that runs periodically that checks updates of my todo file, and creates systemd timers that will trigger "critical" level notifications that are not blocked by "Do not Disturb".
My kitty configuration has grown too much and I could hardly memorise all the customisations. I use its remote control heavily for my workflow. Before kitty, I usually use xterm or urxvt, which are still cool and fast but I cannot go back to the days without those terminal customisations.
- Terminal search and focus (you can list kitty tabs and windows and get the window content from the socket, implementing a BM25 based search is quite easy)
- Giving the current terminal content for AI, so I can do things like run `ls` and then write "Rename the files (in some way)", and push the whole thing to LLM that replaces the command line without me having to write the full context
I even have a Codex session finder that uses codex session files to list and select the session I want, and then uses the kitty socket to find and focus the window which matches the session content
I have thought of things to do with kitty remote but have always been lazy to actually write the code. Do you have it open source by any chance for me to steal?
The ones that I use the most are designed to reduce context switching, like:
Mutt, personal wiki (fzf searching and neovim editing) and todo (a long never ending markdown file), they all have dedicated shortcut (cmd+m/cmd+z/cmd+d) to open(switch to) their window. These applications, always reside in the first tab with stack layout. For example, I can press cmd+m to switch to mutt (or open it), and press cmd+m again to switch back to the previously focused window.
Depending on which repl is running, I can usually open up vim to edit the line with the same cmd+e shortcut, which sends C-X C-E in bash/zsh, ESC O in iex, C-O in aichat ... Also vertical split in tmux and kitty tab share the same shortcut, cmd+|.
Kitty does not have a command palette, and I use fzf to search some of my frequently used operations and make this my command palette.
There are genuinely moments where something in the hell-stack of terminal-bash-ssh-tmux is slow enough that rendering speed is affected and its annoying.
Is this fixable by using a gpu? Probably not, but I'm willing to give it a try!
The first image I get on Yandex is "Professor G.K. Egan" on the "staff-fake.html" page of a University website[0]. Aside from the "fake" part of the URL, it's not "the" Greg Egan we're talking about.
The second image is his profile picture on X/Twitter[1], which one can assume is fake since he says himself that his only puts fake photos (and that picture seems to be nowhere else on the Internet).
The third image is a speaker on the French-speaking Belgian radio that has one episode of his show about Greg Egan[2].
The fourth image is Knuth Berger, a journalist that has a discussion with Tim Egan about a book[3].
Did you read his claim that many photos exist that purport to be him but not one is an actual photo of the West Australian Sci Fi writer that he sees in the mirror daily?
I still prefer asdf. It does the job just fine. Direnv has its own stdlib, which sometimes I find useful, and make is something I have to install anyway.
I was only vaguely aware of rtx, but after discussing this post at length with people online they've made me aware of the rebranding and the general capabilities of mise.
It sure is great, it is! However, like you, I tend to prefer minimalistic and predictable tools.
That's why I decided to add the small comment in the discussion section of the post, to be fair but also kind of clear that bloating the runtime manager that was supposed to help manage the bloated runtimes and package managers isn't a great idea.
Having said that, if the scope of mise stabilizes and it doesn't turn into a kitchen-sink kind of project, it sure seems sweet!
Mise’s #1 objective is to be a really great tool manager, just like ASDF, but way faster and smarter.
However, it turns out that a tool that needs to be extremely CWD-aware also makes a great .env tool and task runner. I was also a little skeptical, but it’s actually super super useful. Especially because it’s easy to convince team members to install it for the tools, they get the rest for free with easy syntax.
You pretty much nailed it here. Env vars and tasks were kind of a happy accident—I implemented both inside of a day. (different days of course) Just because I realized I had all the building blocks to make them possible already, just needed to arrange them in a different way and they just appeared.
In the future though I see tasks as being the headline for mise over tools. That's a ways out, certainly more than a year, but the thing about tasks is they don't suffer from the drawbacks that both PATH and shims have for putting your tools in the right place. In my personal use of mise I don't actually like using `mise activate` whatsoever. The problem is just that I can't yet do everything with tasks easily enough. Tasks need to get to a point where they're so easy you won't want to bother with having tools in your shell.
Though who knows. I may be off my rocker on that one. I certainly get things wrong as much, if not more, than I get them right.
Mise does a lot of things and I don't buy into the unix philosophy so you may not like it (which is totally fine btw, my goal is not at all for everyone to love it).
That said, I think if you thought about _why_ you like minimalistic and predictable tools you may find that mise solves the underlying reasons for that. My whole thing is about augmenting your environment and not replacing it. This is generally where I contrast mise with tools like nix and docker but I thought it was worth calling out.
I think people like mise because they can use it for just setting some env vars, installing a few npm packages globally, having an easy way to synchronize tool versions between local dev and CI/CD. You can use it for any one of those things and it slots right in wherever you are—whether that's inside VSCode, ssh'ed into a remote machine, in a github action, or inside a docker container in a k8s fleet.
Yeah mise is capable of a lot of different things, but the important thing is that it doesn't force you to change anything _else_ about your setup.
My legal given name was only two characters, which is quite common for Chinese. Airport self check-in kiosks rejected me a lot, and my hunch told me it should be my first name causing problem so I changed my legal name. And no more rejections from those self check-in machines.
I started by reading Michael LaFargue version, and it is pretty good delivering a basic understanding of the text. I can understand acient Chinese text pretty well, and the original, somehow still feels different from all these translations, but I guess this does not matter that much to a taoist.
The gameplay was too short, but still it was a better game than any Diablo releases later. I still remember the horror when confronting the Butcher for the first time. Butchers from later releases are all boring.
Later I learned to cheat by duplicating stuff with a pile of coins, and the difficulty of the game was lowered so much.
Virtual reality is still reality. The early internet that we experienced in 90s felt so different from real world, because it was a new media and real world powers had not yet expand their influence into it yet, but eventually they will. Censorship, speech control, propaganda, commercialization, etc and etc, everything will be there. To the point the new media/platform/reality becomes no different from outside world.
People are excited about VR technology recently. I am not. It would be the same damn story again.
Enterprises have different priorities from individual users who use Linux as a "daily driver". The last thing they would like to see is an upgrade disrupting their production, and many of them postpone upgrades unless required to. Enterprise Linux are expected to be predicable and companies like version numbers and golden images, and obviously a rolling release is not good at this. In short, Linux used by enterprises are treated as cattle that require minimum attention, but rolling release distros are like pets, which certainly are more delicate and fancy but at the same time require a lot more effort to care for.
There is no better or worse either way. Each distro has its own target audience. Arch is good as a personal work horse, but to charge money from enterprise users, LTS releases are needed.
+ The machine has "Do not Disturb" on, forever.
+ My todo is a never ending text file. Every appointments are laid out on previous day with the following format:
+ There is a script that runs periodically that checks updates of my todo file, and creates systemd timers that will trigger "critical" level notifications that are not blocked by "Do not Disturb".