Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The best todo list app for any developer (coderwall.com)
71 points by PostingWithPSP on Feb 1, 2014 | hide | past | favorite | 64 comments


Even better for developers: Todo.txt http://todotxt.com/

Free, open, plain text, with lots of optional tools for the command line and also mobile.

And for more power, emacs org mode is amazing.


PowerShell implementation for those on Windows - https://github.com/manojlds/todo.ps1


I just paired todo.txt with this technique by adding:

    cat $HOME/Dropbox/todo/todo.txt
to my .bashrc file.


I prefer a hierarchical TODO list a-la MLO: http://www.mylifeorganized.net/ But that one is a rather expensive since it requires a cloud subscription if you want to sync it across all of your devices.


not sure if there's an ios version(there is an android app), but if you don't edit the todo.txt in a normal editor normally you might want to take a look at taskwarrior http://taskwarrior.org/projects/show/taskwarrior

it has import scripts from several things including todo.sh, and several export scripts including ical. there's a decent third party android app if you really want that.

it has task undo support, and generally seems much more powerful than todo.sh.

obviously main advantage of todo.sh is that you can edit the file in a plain text editor.


| Free

Not completely. The associated Android app I just bought is $2. Though it's still not much.


we can compile it from the source https://github.com/ginatrapani/todo.txt-android ( but I also bought it )


+1 for todo.txt. I used it extensively all of last year and saw an immense boost in productivity. Best part is the ability to write plugins.


What if your todolist is too large? Store it somewhere else (in you homedir, no need for a sudo) and add

  head -n 10 ~/todo.md
to your .bashrc/.zshrc to show 10 most prioritised tasks on each session startup.


+1 Thanks, good idea. I put my todo.txt in my Dropbox folder for manual access on my android phone and iPad, and for automatic viewing on opening a new shell tab.


Nice, store todo.md in a cloud drive and you'll have it show up on all of your computers.


So you're storing a file on a public server that is beyond your control and you make your shell read it every time you launch it ?

What could possibly go wrong ?! ;-)


head just prints the contents of the file, it doesn't execute anything.


and neither does my terminal emulator...


Pipe it through something that strips control characters before printing perhaps?


Wow, that's a really neat idea. I'm definitely going to try this, cheers.


This may break scp when copying from a remote host which has this in the .bashrc.


No, it will not.



Because "any developer" of course uses a system with a motd. Or wants to be reminded of all todos whenever opening a terminal.

What's with this HN hype of turning "Hey, look, I do X" into "if you're a Y, like I am, you should do X"?



I'm not clicking that


Emacs org mode.

I store it in my repo (TODO.org), and keep track of whatever I'm working on, immensely helpful for keeping track.

the obvious downside to the motd method is length of todo list... It might be good for motivational messages but not for actual todo lists.


A todo list that only lives on one machine is a terrible todo list. This is 2014.


Paper. just a single piece of 8.5x11 paper. Anything more complex means I'm trying to do more work than I can handle.


An old colleague of mine.. and CFO of our company.. used to manage his tasks on a piece of paper. It was always in his folder, and for each task he'd write a note on the paper and then draw a box around it. As he completed each task, he'd scratch out the box.

It was crude and messy and reminded me of high school.

A couple of years ago, I found myself migrating towards something like it. I use large index cards, but.. more or less, do the same thing.

I still have remnants of every to do app on my iPhone. In each app there's abandoned lists of tasks that got recorded and forgotten, or recorded and "re-prioritized", forever.

The nice thing about the card is, if it's mostly scratched out and there are things left on it, you can copy the items to a new, fresh card and then keep going. If the items aren't that important, it's as simple as throwing whole card away. It's satisfying and simple and there's no process-guilt involved.

"Throw card out" is a feature.


Re-copying the list to a new sheet of paper is a feature. It forces you to regularly re-prioritize items or choose to drop them altogether.

I kept a digital list for a few years, but eventually it just became a crap heap of undone tasks and abandoned ideas that would get batch re-scheduled forward forever. Paper lists work really well for me.


Yep. I've also got the zombie accounts and databases all over everywhere.

I like that the paper gets full and I have to copy it to a new sheet. It forces me to review the things on the list. Things that stay on the list naturally migrate to the top of the list. I start to notice them hanging out there, at the top, where they are the first reminder that they have been at the top of the list for so long.

The system has many emergent features.


That's how my boss does it. He pretty much has a notebook with him at all times, and any item on his todo list gets a line and a checkbox.

It serves him immensely well.


When work life starts to get complicated, I find a pad of lined paper and list things out one per line. As I get stuff done I cross them off the list.

The main advantage of this approach is that having to keep a pad of paper around tells me that my life is getting too complicated and I do whatever I have to to cut it back down to basics, ditching the tools. I would loathe it if I had to institutionalize this complexity in the form of an app.


Same here, and not because or when it gets complicated. Pen and paper almost always works better than any one of the gazillions of TODO applications out there. And I've been always wondering why. (Apart from programming TODO items that live in the source code itself, of course).

When you want to say something to a colleague at work, you have a choice of emailing/IMing or just saying it out loud (if you can speak of course) as in, you know, normal human conversation. You don't use a text editor and a speech synthesizer to say something out loud, do you? Because the effort isn't worth it, obviously. Just like you choose an email app that helps you get things done with the least effort, you can as well chose between app vs. non-app.

The thing with the TODO list is that there seems to be this stereotype that you need to keep it in digital form. This has obvious advantages of being copyable, searchable and potentially accessible from anywhere if it's cloud-based. But in return, you compromise simplicity of use. Find the app - click - find the "add" button - click - think of the deadline - launch the calendar - click - click - click ... - type the text - click "OK" - close the app. Now compare that to: turn your head (or your chair) some 30-45 degrees - grab the pen - find the bottom of your list - think of the deadline - write. Fast, simple and sweet, isn't it?

So sweet in fact, that I can sacrifice searchability (easier to skim through the list on paper if it's not too long) and universal accessibility (rarely need outside of the office).

Or maybe I'm just being old-school?


If you need searchability on your to-do list, it's too damn long.


FTA:

  alias etodos="sudo vim /etc/motd"
Better:

  alias etodos="sudoedit /etc/motd"


How about not using system administrator privilege to edit a TODO list? Good grief. If you want a simple text file, add "cat $HOME/TODO.txt" to your login profile script and then "etodos () { $EDITOR $HOME/TODO.txt; }"


Slackware pipes fortune to your /etc/motd by default. Always amusing, especially when it told me to run `nohup rm -fr /&`. I like to think someone out there followed that advice.

Alternatively, you can make a list and paste a `cat /path/to/list` in your shell rc.


My problem with every todo solution I've found is that the workflow is so personal, and often fluid - sometimes my workflow can change from one week to the next. I keep going back to plain text as well for those reasons, though not from /etc/motd...

My "solution" at the moment is a series of text files in a Dropbox folder coupled with a small webapp that lets me edit it with Ace (for when I'm out and about) and that applies a bunch of custom filters (to create highlighted priority indicators etc.) + markdown. So all the workflow is in my head / manual, but I get syncing to my main locations plus some visual cues to improve over just plain text.


> sometimes my workflow can change from one week to the next.

It's refreshing to hear that someone else also works this way! :P


Self promo here but I made what I think is a pretty nice plain-text-backed CLI todo list:

https://github.com/hatboysam/shpm

I use it and I hope someone else will get something from it. Based on todo.txt but simpler imo.


And to make it even better (if you use OSX):

Install GeekTool and use the shell "Geeklet" to affix the todo list permanently on your desktop background. You can adjust the font/size/transparency to make it as obnoxious as needed.


I never, ever see my desktop background... It's always covered by maximized applications. Seeing the desktop background to me means I'm wasting screen real-estate.


i'm puzzled no taskwarrior mention at all?

http://taskwarrior.org/projects/show/taskwarrior

alias due='task rc.calendar.details:full cal'

to get a nice representation of tasks. you might wanna combine taskwarrior with remind.

http://www.roaringpenguin.com/products/remind

it allows you to "program" your calendar dates. A little caveat if you're on osx you may need to patch it otherwise it will have a 30 or 10 second startup delay


My personal solution is along the same lines, but much less global and annoying. This is in my .bash_profile:

# todo function todo { case "$1" in "-a") echo "$2" >> $HOME/.todo ;; "-d") sed -i "" -e "$2d" $HOME/.todo ;; esac if [ -f "$HOME/.todo" ] ; then cat $HOME/.todo | awk '{ print NR, "-", $0 }' fi } todo


Wow, HN horrible formatting. Here's the original: https://github.com/jamestomasino/bash-scripts/blob/master/.a...


Oh man! I've been looking for a great to-do list manager for so long. I've tried many different ways and more recently many mobile apps. I'm afraid at the end of the day it boils down to, in big part, discipline. I'm all ears if you know a great to-do app. Maybe it'll become more natural using wearable tech in the near future.


I'm a fan of nvAlt (notational velocity fork) along with todo.txt and Dropbox (or whatever sync system you use).

http://brettterpstra.com/projects/nvalt/


You mean "any developer that uses Unixoid"

It's funny how developers who work under Windows (not even necessarily developing for Windows) are often not even considered real developers by the "pure" devs :)


False.


I've been using t[0] for a while and it's pretty fantastic.

[0]:https://github.com/sjl/t


Too bad it conflicts with t [0], the Twitter client.

[0]: https://github.com/sferik/t


I like the idea. I'll try it! For now, I'm big fan on "tree oriented" todo lists, so I'm big fan of workflowy.com


Also a workflowy fan and their dropbox sync is useful for offline editing.


This is absolutely "an app", it is "the best" to-do list, for any developer, in any place, any time.


No, that's not better than Orgmode.


I loved this one. I also found Carl Sednaoui's method for using github gists as task lists (https://news.ycombinator.com/item?id=7000953) very useful.


Ooooh, OK this was genius. Sold.

I hope this helps though.


The comments are much more useful and valid.


I understand the argument against editing a file in /etc for something only one user is concerned about, but I've been the sole user of every computer I've had, so this doesn't matter to me. I think that's the case for a lot of people.

The other arguments seem to be preference. Some people work better with paper. Some people only want system configuration in /etc. If you're a stickler for the Single Responsibility Principle in the config files in your OS, then I assume you already have your own solution to this problem and you don't need a tutorial from me.


I don't follow your reasoning. The comments provide great advice on how to achieve the same and still not messy up your /etc.

You were introduced to the idea of todo's in your terminal, but then only accept the worst solution.

It is as if one guy says "Hey guys, I have found a way to not have to shit in the woods any more, we just have a bucket next to our bed and in the morning we throw it out the windows."

The second guy says "ok, lets not shit in the woods, but what if we create this thing called a sewage with a thing called 'toilet' on top so we don't have shit in the streets."

You say "Ok I see what you mean, what with having the shit in the streets and all, but some people work better with paper." Eh what?


Bad analogy. Treating your /etc/motd as a scratch space is a perfectly reasonable thing to do. It's not the difference between shitting in a toilet and a hole in the ground.


The analogy is not that of `/etc/motd`, but about you rather accepting a crappy solution for a problem you didn't know about rather than a proposed better solution just because the crappy one came first.


Reading `man hier` tell us that /etc is for files local to the machine, userspace is somewhere else. If you don't care about man hier, that's your option, but this is the way Unix is designed.

I do wonder if you login as root, though.


True, the comments are useful as well. But the original post got this discussion going so we're all good :)

But the notion of having them in your terminal on a new tab or window is perfect for me.


any screen users? not sure if this works if you constantly start new screen sessions


How did I not know this! Elegant. Thank you. Fantastic having it appear before anything else the shell does.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: