After years of being aware of David Allen's GTD system through 43 Folders and other sites, I took the dive about a month ago and dumped all my various to-do lists and project ideas into Kinkless GTD. I had tried to keep reminders and actions in a variety of other systems, including emacs org-mode and VoodooPad, which I use extensively for notes.
I never kept up a system for very long, and I believe the contexts were the key problem - having to look at tasks with different contexts in the same list is daunting - I end up not writing things down to avoid a frightening list, and keeping multiple lists around is difficult in every system I tried, until I tried Kinkless. Organizing by context gives a great feeling of confidence when I ignore huge lists that I just can't do right now. Knowing what you can't do makes getting the rest started much easier.
I'm not going to write a big series of posts describing my system or anything - I might have something to say about contexts later, but I would like to say that "vanilla" GTD can work for programmers, graduate students, etc - without major changes. Avoid the temptation to focus on your methods and just try using the simplest thing you can get away with. It'll probably work.