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:

      DESCRIPTION: not secret
      DTSTART:with week
      X-mydata: 
      ENCODING=Ascii85;FMTTYPE=application/octet-stream
      <~6q($A;Fs\a8P`)B+EM+(Eb0>"6r[)a5uLZCGA2/4+D>\9EcVQ~>
    

    and then just decode that and replace the X-mydata with the decoded data:

      DESCRIPTION: secret
      DTSTART: with hours
    

    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.