I’ve never had a todo system stick for me except one - one or two text files in kind-of markdown.
# TODAY
- Learn that new todo system
- learn the keyboard shortcuts
- work out how to sync it with phone
WAIT(model is training) - check classifier can distinguish chalk from cheese
DONE - write todo post on lobsters
# THIS WEEK
- conquer the world
- conquer thyself
- conquer everybody else
----------
## Wed 20 Apr 08:08:50 BST 2022
DONE - walk 500 miles to fall down at her door
## Thu 21 Apr 08:08:50 BST 2022
DONE - achieve personal peace and satisfaction
DONE - fix the last bug
when I complete a (sub) task, I just stick a nice big DONE in front of it, which is very satisfying and also means I can see any not done tasks easily (they have bullet points). If I’m blocked on a task, I stick a WAIT(reason) in front of it, so I don’t see it as something I can pick up immediately.
On a daily/weekly cycle I do the very satisfying job of adding a datestamp (!!date in vim) at the bottom of the file, adding a markdown header to the date, and moving everything ‘DONE’ below the date, giving me a record of what was completed when. Moving text is an easy thing in a text editor for a developer.
Other than that, the only important thing (which is also true for every dev team) is to separate your “backlog” from your plans for “today” or “this week”. One Big List Of Everything You Have To Do is very demotivating. So you need a list for ‘today’ and/or ‘this week’, which you populate from the Big Old List of Old And New Ideas (IDEAS.txt).
As these are all text files, they can live in a shared folder (e.g. dropbox) and you can capture new ideas on your phone, with any text editor. (Just add the new idea at the top of IDEAS.txt).
The (only) discipline needed is a weekly plan (look through any tasks remaining from last week, do a scan of IDEAS.txt to see what you can and should get done this week) and checking in with the file each morning to plan your day. And that discipline is really the single thing any todo system needs to work.
(I have recently switched to putting my DONE entries in a separate file. I may in the future break it up into multiple files. It’s just text, it’s easy.)
The main downside is that it isn’t context-sensitive. I have worked around this by having a TODO-WORK.txt and a TODO-HOME.txt, which meets my needs.
I always recommend that people give taskwarrior a try. (There is a good vim integration too) It is an excellent tool that deserves to be better known https://taskwarrior.org/
I’m going to start using this immediately. This is exactly what I need for my devlog. I’ve been doing TODO: and TODONE: (get it?) as text tags. But this is much better.
And yeah, Trello kind of imploded with the Atlassian purchase and changes. I exported and deleted my Trello account. A shame, was cool. Very few options from the searching around I did on hacker news etc.
In my opinion, a semi-manual changing of TODO -> TODONE as a way of tracking tasks is a must-have for any task tracking system. Turning a todo list to a record of what’s been done is basically like getting a free lab notebook as a side effect.
Vimwiki supports a similar, though less rich, syntax. That’s the only TODO list I’ve ever found to work for me (I only wish it worked on my phone, and no, I’m not going to try to use Vim on my phone). The part that makes it “work”, I think, is that my notes are right inline with my TODO items.
Ah, thanks! Taskwiki (if you don’t know) extends vimwiki to store the todo items in “task warrior” aka /usr/bin/task. It uses the same short hand and i wasn’t really sure where vimwiki stopped and taskwiki started.
This looks pretty reasonable for a plaintext note format.
However I feel as though for me, ‘notes’, and ‘comments’ have a sort of overlap in how I’d expect to be using them. I don’t think I’d ever need to write a ‘note’, if I can write a comment instead.
Curious to hear the rationale for both types and how you use them differently, @dewyze
Looks neat, it’ll almost exactly fit my workflow for managing roadmaps/todos in little projects I have. That one 1200-line TODO file was beginning to get… unwieldy.
That looks cool, I might try. I like org mode in theory but I can’t quit Emacs and the syntax just looks ugly, and is bad ergonomics without tools (like, really? I need to type six *? Get out). But this looks much closer to what I already write by hand, but with additional tooling.
If OP makes a version of this to VSCode, I might marry them.
I get the point you’re trying to make, but an asterix denotes a heading, just like # in markdown. You generally wouldn’t go deeper than 3, maybe sometimes 4. And it’d say it’s pretty intuitive to add heading levels using TAB, or use M-RET to add a new item on the list you’re in.
Maybe I’m misremembering org-mode, but I thought that asterixis where for lists? I type new list items, and move then under and out of other items MUCH more often than I add headings.
In standard org-mode, you can also go to the line before the one where you want a new line, press alt+enter to get a new line with an equal number of asterisks as the one where you were. Then, press tab to cycle between one more, one less, two less, etc asterisks.
There are a shitload of keybindings in org-mode, I don’t even know the tip of the iceberg.
ah, org-mode being the tooling. Isn’t that the same though with the one in this post? You’d have to indent with spaces (which can be annoying too) and then type a dash. Auto-indentation is also tooling, and if you don’t set it up correctly, the tool you’re using might decide to indent with tabs, which might be even more annoying.
Hmm, ok, you have a point, BUT: auto indentation is much more prevalent, basically any editor I use has it somehow. Even freaking google keep has it. And on top of that, even if there isn’t, typing tabs e faster than typing *
I’ve never had a todo system stick for me except one - one or two text files in kind-of markdown.
when I complete a (sub) task, I just stick a nice big DONE in front of it, which is very satisfying and also means I can see any not done tasks easily (they have bullet points). If I’m blocked on a task, I stick a WAIT(reason) in front of it, so I don’t see it as something I can pick up immediately.
On a daily/weekly cycle I do the very satisfying job of adding a datestamp (
!!date
in vim) at the bottom of the file, adding a markdown header to the date, and moving everything ‘DONE’ below the date, giving me a record of what was completed when. Moving text is an easy thing in a text editor for a developer.Other than that, the only important thing (which is also true for every dev team) is to separate your “backlog” from your plans for “today” or “this week”. One Big List Of Everything You Have To Do is very demotivating. So you need a list for ‘today’ and/or ‘this week’, which you populate from the Big Old List of Old And New Ideas (IDEAS.txt).
As these are all text files, they can live in a shared folder (e.g. dropbox) and you can capture new ideas on your phone, with any text editor. (Just add the new idea at the top of IDEAS.txt).
The (only) discipline needed is a weekly plan (look through any tasks remaining from last week, do a scan of IDEAS.txt to see what you can and should get done this week) and checking in with the file each morning to plan your day. And that discipline is really the single thing any todo system needs to work.
(I have recently switched to putting my DONE entries in a separate file. I may in the future break it up into multiple files. It’s just text, it’s easy.)
The main downside is that it isn’t context-sensitive. I have worked around this by having a TODO-WORK.txt and a TODO-HOME.txt, which meets my needs.
I always recommend that people give taskwarrior a try. (There is a good vim integration too) It is an excellent tool that deserves to be better known https://taskwarrior.org/
I currently use this (with the vimwiki integration) and is good but when you hit bugs it’s damn hard to debug them!
I’m going to start using this immediately. This is exactly what I need for my devlog. I’ve been doing
TODO:
andTODONE:
(get it?) as text tags. But this is much better.And yeah, Trello kind of imploded with the Atlassian purchase and changes. I exported and deleted my Trello account. A shame, was cool. Very few options from the searching around I did on hacker news etc.
TODONE, hehehe XD
The kanban boards in cryptpad are pretty good
In my opinion, a semi-manual changing of TODO -> TODONE as a way of tracking tasks is a must-have for any task tracking system. Turning a todo list to a record of what’s been done is basically like getting a free lab notebook as a side effect.
Vimwiki supports a similar, though less rich, syntax. That’s the only TODO list I’ve ever found to work for me (I only wish it worked on my phone, and no, I’m not going to try to use Vim on my phone). The part that makes it “work”, I think, is that my notes are right inline with my TODO items.
Is that the task wiki add on for vimwiki or something native to it?
It’s built-in. You just do
* [ ] Do some stuff
to create a TODO item, and then you can toggle it with ctrl-space.Ah, thanks! Taskwiki (if you don’t know) extends vimwiki to store the todo items in “task warrior” aka
/usr/bin/task
. It uses the same short hand and i wasn’t really sure where vimwiki stopped and taskwiki started.This looks pretty reasonable for a plaintext note format.
However I feel as though for me, ‘notes’, and ‘comments’ have a sort of overlap in how I’d expect to be using them. I don’t think I’d ever need to write a ‘note’, if I can write a comment instead.
Curious to hear the rationale for both types and how you use them differently, @dewyze
Looks neat, it’ll almost exactly fit my workflow for managing roadmaps/todos in little projects I have. That one 1200-line TODO file was beginning to get… unwieldy.
That looks cool, I might try. I like org mode in theory but I can’t quit Emacs and the syntax just looks ugly, and is bad ergonomics without tools (like, really? I need to type six
*
? Get out). But this looks much closer to what I already write by hand, but with additional tooling.If OP makes a version of this to VSCode, I might marry them.
I get the point you’re trying to make, but an asterix denotes a heading, just like # in markdown. You generally wouldn’t go deeper than 3, maybe sometimes 4. And it’d say it’s pretty intuitive to add heading levels using TAB, or use M-RET to add a new item on the list you’re in.
Maybe I’m misremembering org-mode, but I thought that asterixis where for lists? I type new list items, and move then under and out of other items MUCH more often than I add headings.
org-mode asterisks are for headings however headings are used for almost all things you might imagine to be lists
-
is unordered list,+
is bulletpoints and finally[[:digit:]]+\.
is for a numbered list.In standard org-mode, you can also go to the line before the one where you want a new line, press alt+enter to get a new line with an equal number of asterisks as the one where you were. Then, press tab to cycle between one more, one less, two less, etc asterisks.
There are a shitload of keybindings in org-mode, I don’t even know the tip of the iceberg.
Yeah, but that’s my point. I’m sure it can be pretty easy to use with the tooling, but if I need to edit it somewhere, it’s an annoying format.
The one on this post, though, it’s basically how I already write notes and todos.
ah, org-mode being the tooling. Isn’t that the same though with the one in this post? You’d have to indent with spaces (which can be annoying too) and then type a dash. Auto-indentation is also tooling, and if you don’t set it up correctly, the tool you’re using might decide to indent with tabs, which might be even more annoying.
Hmm, ok, you have a point, BUT: auto indentation is much more prevalent, basically any editor I use has it somehow. Even freaking google keep has it. And on top of that, even if there isn’t, typing tabs e faster than typing *