I can't use Linux! It's too hard!
BartyDeCanter
member since 2 May 2026 03:29
Like all projects, you should think about needs, budget, and time. You’ve got a good list of what you want to run which is a good start. Budget is next, particularly considering the price of hardware these days.
FWIW, I run Jellyfin, Navidrome, the entire arr stack, Forgejo, Paperless, mealio, and Immich on a NAS with 24GB RAM and have never needed more. 8GB would have been a bit tight but probably doable. 16 will be plenty for you.
From TFA, emphasis mine:
What veans is for#
Coding agents keep their own to-do lists. Claude Code has TodoWrite, other tools have their own scratch files, and either way that list lives inside a single session and disappears when the session ends. You can’t see it while the agent is working, your teammates can’t see it at all, and nothing survives to the next session.
veans replaces that ephemeral list with real tasks in a Vikunja project. The agent claims a task before it starts, moves it along as it works, and leaves it in review when it’s done. The result is that the agent’s work is visible in the same place you already track everything else: you can watch a task move across the board in real time, comment on it, reprioritize it, or pick up where the agent left off. When the session ends, the trail is still there.
veans itself is built for machines, not people . Everything prints JSON, so it’s made to be consumed by an agent or a script. The human side of the workflow happens in Vikunja.
What Taskwarrior lets you do is something like this for people:
task add priority:high due:thursday depends:32 something I need to do
task ready # shows all of my tasks that aren't waiting on something or depending on something
task project:home-repairs export > home-repairs.json # export my entire home repair project to a json file to process into a gantt chart, budget (since I can add a price tag to each task) and whatever else
but then I can also have a script that looks like:
# taskfile.sh
infile="$1"
proj ="$2"
while IFS= read -r line; do
[ -z "$line" ] && continue
[[ "$line" =~ ^[[:space:]]*# ]] && continue
echo "Adding task: $line"
if [ -n "$proj" ]; then
task add "$line" "$proj"
else
task add "$line"
fi
done < "$input_file"
which lets me have preset task lists for various things, like:
taskfile.sh ~/tasks/packing-list.txt proj:work-trip
taskfile.sh ~/tasks/xmas-list.txt proj:xmas-presents
Thats an administration cli, not a daily use cli.
And, I mean things like being able to take tasks, pipe them through whatever tooling you like, pipe them back in, sync them from any other task system, etc. TaskWarrior has a fully customizable priority and urgency system, tagging, dependency management, and status system. I also like that TaskWarrior is usable completely offline and then can be resynced whenever you feel like it.
Vikunja is great and probably the right choice for most people. But if you do significant project planning for yourself AND want to be able to deal with you todo list programmatically, the only other thing close is orgmode.
Fair enough! The lack of a cli is the deal breaker for Vikunja for me.
There is a WASM ticket being worked on that once it is completed will allow for all sorts of fancy web UIs for TaskWarrior as standalone PWAs or whatever. I should check in on how that’s going.
I’ve taken a brief look at it. The ui is fairly slick, but you have to use it their way and it doesn’t have a cli. How much that matters is up to you.
Instead of new and exciting, how about old and boring? https://taskwarrior.org Sync server is self hosted, it’s more configurable and programmable than anything else and has a variety of front ends on different platforms.
And give up the best weather and access to 5 star restaurants in the world? Surely you jest!
Eh, there are distros where you will never need to touch a command line if you don’t want to. In fact, most modern mainstream ones are that way: Mint, Fedora, Ubuntu, etc.
Though I don’t understand the fear of the command line. My grandmother owned two computers in her life and both of them were command line only. She was not a researcher at a university, a professional programmer or anything like that, just a normal person with a high school education.
She just wasn’t afraid to read the manual and try things. I still remember the spiral-bound manual with post-its covered in her nurses shorthand.
She used them to run the books for the family business, first an Apple ][, then a PC running DOS. She also used them to write letters and the church newsletter, practice Bridge, organize her family genealogy work, and things like that.
Welcome, brother. But remember that they must walk the path themselves or they will never reach true understanding.
In the end, we are all files. We have our read()s and write()s, in in our time we play many offsets.
You are almost ready to take the next step. But to do so, you must unlearn what you think you know. Write a filesystem that does not have blocks for a media without pages, and you will find the footprints of your next teacher.
Stages of POSIX enlightenment:
Most people stop at stage 2, stage 3 hits when you decide to write a filesystem, stage 4 when you’ve finished your first filesystem. Stage 5 is when you start working on kernel internals. No one can tell you how to reach stage 6, you must discover it for yourself.
The closest production system to that I’ve seen is IBM i libraries, or maybe the failed WinFS.
The problem is that without namespacing, how do you tell one README from another? And once you have a unique namespacing system, you’re basically back to a tree with extra steps. Sure, from the FS POV, you could keep everything in a flat space with uniqueness determined by inode or a UUID but those aren’t very human friendly.
Go for it! If you like designing low level data structures it’s a lot of fun, and a userspace RAM or file backed filesystem via FUSE is surprisingly approachable.
A drive is just an addressed linear memory space, like RAM, though with physical characteristics that you need to be aware of if you’re designing a useful file system.
The real difficulty is that the address space is huge, and you can’t trust that data that you write it won’t get cut off in mid write or get some bits flipped while it’s just sitting there. That makes designing the data structures that make up a “file” difficult.
If you really want to know, I highly recommend reading Piratical File System Design with the Be FS - Dominic Giampalo as a free PDF. It goes into enough detail that you absolutely can write a modern filesystem based on just what is in it, including good diagrams and code snippets, but it doesn’t just have page after page of code to wade through. It’s a surprisingly enjoyable read.
If you don’t know, Dominic is the author of the Be FS (obviously) but ended up at Apple and was a lead in their filesystem team for two decades. He also has the most perfect minimal personal webpage I’ve seen in a long time.
I’ve developed two filesystems, and am working on a third. I wish I had read that book before I started on my first one.
Yeah, but isn’t paint.net an independent project? I’m fairly sure the .net part of the name refers to the library it was built with at one point, not that it is part of MS’s .NET division.
Anywhere with gravity sufficient to overcome the surface tension of the water from forming around the object or clinging to the container.
I’d prefer that things I don’t want installed, aren’t installed from the beginning.
You have to click to uninstall it? Laughs even harder in Linux.
I feel like tiling window managers mostly are a throwback to an era where gui applications were generally just single windows that did one thing, but even then most people were just using them to tile a bunch of xterms. Nowadays I’d rather use a single full screen emulator that either has native split support, or tmux.
I am a programmer with 25 years of professional experience, mostly embedded C/C++, with a decent amount of Python and the last year has been mostly Rust with no prior experience.
Current LLMs write both worse and better code than me, often at the same time. Let me explain.
LLMs are very good at syntax, with an encyclopedic knowledge of libraries, languages, and algorithms that is a few years out of date. I particularly notice this in Rust, which has a lot of syntax and features, like the 482ish ways to chain Options and Results that I still haven’t memorized all of.
So for a relatively simple function in a language that I’m not very famialiar with they will often produce a bit tighter code that makes better use of the language features. They will also sometimes come up with an obscure algorithm that I haven’t though about in decades or even heard of that can solve the problem better than my first attempt.
On the other hand, they are terrible at larger scale work, generally building fragile code while protecting against things that can’t actually happen, using overly complex architecture, organizing code in dumb ways, missing obvious opportunities for simplicity, and relying too much on existing bad patterns instead of fixing them along the way, etc. They also tend to be a terrible judge of when to use a library vs roll their own, leaning heavily towards rolling their own instead of just adding a single include, which means more new untested code.
On the third hand, I do find that they can be pretty good at reviewing code, and it is nice to have them write tests, since we all hate writing tests and tend to write as little as we can get away with.
In theory I really like tiling window managers. I generally want to have 1-4 windows open in full screen per workspace/monitor and prefer to use just my keyboard as much as possible.
In practice, I haven’t found one that works well with dialog, fixed sized, or modal windows well enough to not get annoying, while most traditional window managers/desktop environments have good enough keyboard shortcuts and window snapping.
Lawyers, courts, and insurance companies still do for various legal reasons. It’s deeply irritating.
cargo, pip, npm
…I’ll show myself the door.
I assume that he has a severe mental health problem. I had a neighbor who’s kid had schizophrenia and would spend all day writing about how we were hacking his dreams and other nonsense. The sheer volume of letters he wrote to us about it was staggering. A ream of paper or more landed in our mailbox every week. It’s amazing how much someone can do when they only can focus on a single thing and have way too much energy.
I felt sorry for the kid, when he was on his meds he was perfectly nice, if kinda odd.
Not exactly self-hosting, but I’ve worked at two different academic labs that had unique issues and small budgets.
The first was on top of a mountain at 3km elevation. The low air pressure meant that all hard drives had a lifespan of no more than a year before starting to have issues. This was in the pre-SSD days. The “solution” was to boot from a floppy, never compress data, and have a student return the drives to a low elevation and swap them for the prior ones every six months.
The second was at a place that was using old Datacube MaxVideo hardware that we would never have the budget to replace. It would crash if the room temperature got above about 18C, so we set the thermostat to 15C. Which doesn’t sound too bad until you’ve tried sitting at a desk for 8 hours where everything is 15C and the heat is just slowly leaving your body into the chair, the desk, and the keyboard. And then you walk outside where it is 32C and instantly start sweating because you’re still in several layers and fingerless gloves.
I have a NAS that had a similar problem, every week or two it would stop responding. From the logs it was clear that the machine was running fine after going non-responsive, but either the NIC or something else network related was crashing. However, the logs weren’t capturing the exact issue. I wrote a script to ping Google every 10 minutes, write a bunch of debug data to disc if it failed, and then reboot.
And it has never happened in the year since. I have no idea what the root cause was, but sending those pings out seems to have fixed it.
I use Tailscale for this, with my own Headscale server so that I am in control of everything. It’s a much easier approach that is more likely to pass the spousal acceptance factor.
I think the real issue with the modern terminal, and Linux in general, is that we are using tools designed for programmers and system admins, who are expected to know exactly what they are doing, to build and run servers and treating them like they are end user tools. My grandmother was perfectly happy using a terminal for the only computer she owned because the tools it provided were simple and had those built in protections in a way that bash never will be.
Oof, yeah that’s hard. yazi is a full tui file manager that can do image and other file previews, so you can flip through a directory, mark the files you want to move/delete/whatever, then hit the command to do it. lsix is basically ls for images, it generates and displays thumbnails for each file. Or can just do it from emacs.
I’m going to echo what others have said here but hopefully clarify it somewhat. For most FOSS projects you can contribute by code, documentation, writing/reviewing bug reports, or other project management tasks. The projects probably have a “Contributing” section on their website that will help you get started and might even have an “easy tasks” or “good for beginners” section.
If you’re primarily interested in contributing by writing code, then you need to learn to code. Pick a language that a project you care about is written in and find the beginners tutorials.
You going to want to learn the basic tools the project uses even if you’re not writing code just so you can interact with the project’s community, so probably git, their bug tracker, and whatever they use for documentation and translation.
And don’t be surprised if it takes a while to get that first contribution in. FOSS developers tend to become grumpy with time and generally have high standards, and due to the massive amount of LLM slop being thrown their way these last few years have often become even more so. But your work will be appreciated if you stick with it.
Have you used a terminal file manager with image preview like yazi? Or just a thumbnail viewer like lsix?
Heck yeah they did! I remember going over to my grandmothers house to use Word on her computer running DOS. She used that computer to keep her personal budget, do the accounting for her office supply business, write letters, and the newsletters for her church and social clubs. No gui, just a command line and some things that we would now call a TUI.
um, no. The joke is that a lot of people are scared of Linux because they think it’s “just a black screen with a bunch of text”, a lot of people who are newly using Mint or the other common “friendly” distros are proud and trying to convince everyone that you never need to touch the command line, and then the more people know what they’re doing the more likely they are to just live in a terminal and not bother with anything else.
I… what are you talking about? Those words make sense on their own and I could probably diagram them as sentences, but put together in that way they don’t seem to parse into anything coherent.
Edit: Wait, are you saying that you think there are distros that don’t have a terminal or terminal emulator?!?
It’s still somewhat early days, but you might want to check out https://v-os.dev/
I’ve also been playing with Haiku on an old laptop and it’s pretty decent as a daily driver for the basics.
I would say we should burn the light-mode heritics, but they’ve already done it to their own eyes.
Exactly. The only thing a new user is really going to care about or even notice is if their hardware is well supported in first install and that the desktop environment feels like what they are used to. All of the fighting about things like systemd, snap, flatpak, deb vs rpm, etc are somewhere between a distraction and scary sounding words.
Oh Im deeply aware those exist. My daily is Debian Stable.
topgrade
Helix
Just use Tailscale for your VPN. If you want to be 100% FOSS self hosted, set up Headscale as your control server somewhere. It’s simple, secure, and has excellent performance.
EDIT: And also check what your upload speed is from your server. It sounds like you’re running off your home internet connection and many ISPs have terrible upload speeds, particularly for sustained traffic.
Or you can go straight to the source and use the Trash Guides