Comment by r14c
2 days ago
I spent several years trying to make a custom todo system and ended up back where I started using CalDAV and a basic todo app and calendar. Turns out I was always procrastinating because I didn't want to force myself to adapt to something simple.
I used to use caldav but then stopped because there was once a bug on the server side where I couldn't delete events. The main thing I also don't like is there's no encryption or privacy really from the provider unless you go with a more a less proprietary solution like from an encrypted email provider. The closest I saw was EteSync but it requires special apps, and can include special bugs :)
I also don't need my immediate todo list on a calendar. I organize my to-do list simply as "Immediate", "Future", "Distant future", and then put things under heading. Sometimes I add a due date if there is one.
I just had a few markdown documents in a "todo" folder, eg <work>.md <project1>.md etc. Recently I changed it to org-mode because that's a syntax designed for the purpose. https://nvim-orgmode.github.io/ works excellently.
Never been an emacs user in my life. I spent about 5 minutes perusing https://orgmode.org/org.html and was able to do the same.
I use syncthing to sync it between my devices. https://www.orgzlyrevived.com/ works great on android.
Using standard CalDAV it should be possible to encrypt parts of it. And just have a local proxy that decodes/encodes. e.g. Having fields like this:
and then just decode that and replace the X-mydata with the decoded data:
perhaps support for removing existing fields that is in the encrypted blob as well, if you do not need state in the encryption it should be good. I do not know how to create a good encryption protocol so I am sure there are lots of stupid ways to mess this up. I only need to encrypt the content of my description and time I never need to hide that I created a meeting when I had a meeting with a Spy from the NSA.
Most of my daily agenda is also stored in my employer's Google Workspace. CalDAV is the common protocol for exchanging and storing events. Most of my task entries don't have a due date, I just sort them by priority.
I understand the privacy concerns, I can host a nextcloud in a secure location if I need it.
Simple can be boring. Sometimes we seek better solution, so we can procrastinate more. It's really more about how you are wired.
Totally agree, but I have learned that exciting isn't necessarily better. I just got busy enough that I had to accept the boring option to stay afloat. Which was a certain kind of excitement in itself.