Stack OverflowWhat do you use to keep notes as a developer?
[+415] [439] Mike Duncan
[2008-09-17 00:54:45]
[ tools ]

Where as a developer do like to you keep your code snippets, links, checklists, final solutions to problems etc?

I've fooled with Google Notebook, MS Onenote, TreePad, textfiles, and Evernote a bit (currently leaning toward Evernote). All have pros and cons but none seem to be really suited to developers. Is anyone super-happy with a collection / note system that's not just generic GTD, but with developer-centric utility?

(2) A text file or set of text files checked into a revision control system.... - Curt Sampson
(26) Regarding Note: Do you really expect people to check 400+ answers to see if theirs is already mentioned? :) - Jonathan Sampson
(4) @Jonathan Sampson: There are plenty of great suggestions, and SO provides sorting by votes or by newest. If an answer isn't worth a duplicate check amongst the great ones already posted, the answer isn't worth posting. - James
I prefer plain old plain text stored in plain old text files. - Jahanzeb Farooq
What don't you like about using OneNote? It's what I use, and the only issue I would have is color coding code. Other than that, it seems to be quite easy to access my saved notes. Might also wanna get AutoHotKey so you can open it with a keyboard shortcut, so it less time spending looking for the program and more on adding the snippet. - user58670
Do you expect any other new answer? - Brij
@Brij: maybe someone makes use of tatoos or scarring to keep developing notes. You never know... - Hilton Perantunes
[+514] [2008-09-17 00:59:19] JBB

I like physical notebooks. Preferably small ones (4x6 or 5x8, not 8.5x11), permanently bound (spiral bound, book binding, etc.).

One notebook per project, typically, unless they're really small projects, in which case I reach for a partially used notebook and add to it.

I find it very helpful to grab a notebook off my shelf and re-read my maunderings from when I was thinking my way through something. Scribbling on paper lets me record partial thoughts instead of doing a 'finished' write-up. This lets me revisit my thought process in addition to the solutions I found -- and that tends to be more enlightening than merely recording a solution.

UPDATE: I'm extremely gratified at the response of my peers to this simple answer, and so I thought perhaps I should elaborate on my methods.

First off, I find the typical Moleskine notebooks to be too small, and they tend to be expensive. I usually use something like this one from Staples [1].

Top of each page: Project name, Page number, and Date I started writing on this page.

Daily: Draw a line across the page, and write the current date (and sometimes the time) down before adding more notes. It's helpful to see the gaps of time in working out ideas. And I often find my best ideas turn up just below one of these lines -- that is, after I've thought for a while and come up with something.

Review and Redact: If I've written out a few ideas of directions to go, and later I decide on one of them, I make sure to go back to the original list of ideas and add notes; specifically, I'll hilight the chosen solution somehow (underline, circle, etc.), and add a reference to the new page where I wrote down why I chose this solution. Also, I try to make these revision notes in a different color ink, or written at a different angle, or make them in some other way obviously not part of the old information.

Reference: If I flip back to look at something, I consider jotting down 'see pg. 13' so I don't have to go flipping around for that information again. I also never hesitate to refer to other project notebooks, noting them with 'See proj. Alpha, pg 23' or something similar. Sometimes I backlink that notebook as well, say in Alpha pg 23 a note 'Very helpful for proj Beta pg 7!'. These sorts of notes across projects are fairly rare.

I'm sure I've left out some of my other ideas and techniques. Perhaps others could add their ideas and techniques here as well? I know I'd appreciate hearing them!


Lined medium size, 250 page moleskine, FTW! - Pev
(1) I do the same thing. Works like a charm! - Arc the daft
(1) I agree 100%. It's also crucial to keep it all in a notebook, especially for people who have poor organization skills. How many times have I seen a coworker look desperately for a sheet of paper they wrote something important on. That being said, these people might lose the notebook altogether :D - Gilles
(44) How do you search physical notebooks? If you have collected many notebooks, >10, isn't it cumbersome to find specific things? - Brettski
Definitely using the moleskine helps bring the sex appeal factor to the whole note taking thing. - Scott Saad
(64) Same thing. I find it hilarious, actually.. We're programmers. Shouldn't we have built an amazing solution by now? It just proves.. technology can't solve everything. - Nick Stinemates
As for searching, I keep a daily log per project. That might get confusing if you have more than 1 project, though. - Nick Stinemates
(9) I just went out and purchased my entire development team notebooks! We also have decided to have separate notebooks for our projects, meetings, and personal projects/notes. Thanks for the advice!!! - mattruma
Page numbers, big thumbs up! Makes handwriting a cross reference easy, Also, when people leave, they should leave their notebooks too! - Ray Hayes
(31) Not searchable, lame. - postfuturist
(1) I number pages, and can keep an index if I need to, but generally I don't need one. I think "What was I working on where I needed to do something like this.. Right, project Foo. Flip through notebook, aha, right, I solved this by doing that, and I noted project Bar p. 73..." - JBB
(2) Leaving notebooks behind is one thing that I haven't solved. I don't want to lose my thoughts. I've told people "You should have a copy of this. Go make one." But I generally want to keep my originals. And, by the way, a dated log book is considered a legal document, very useful in arguments. - JBB
(8) No backup system either... :) - Steve Duitsman
(1) I do exactly the same thing, keep it with me at all times. If you press hard enough you get a backup on the page underneath! - Cookey
(1) Would love to see a photo or scan of some of your notes. Perhaps it would make a nice 'fun' question for someone to start? - Charles Roper
(3) Not searchable; not easy to backup; no access to them when you're not in the office... too many problems! come on, computers can help! - SamS
(1) Since most of us probably spend far too long looking at computer screens, keeping your notes on paper also gives your eyes a break.. - Nick
(18) I can't say how many times I've uttered the words, "Man, am I glad I wrote that down last week." - Ryan Thames
(3) The link to staples doesn't let me see your suggested notebook, unless I hack-in (lie about my postcode). Can you add an image to the answer? - tpower
(1) Paper notes don't need power to be read - I often need the notes that I have written in order to fix the broken computer in front of me. - Shannon Nelson
(3) +1. Steve McConnell advised physical notebooks in Code Complete 1. Excellent idea. Important stuff can go electronic later if need be - MarkJ
(3) -1 Physical books sux. - majkinetor
(1) This is hilarious, I use exactly the same notebooks. I also live in fear of forgetting to add a new task to fogbugz when I am without my notebook. - Maghis
(1) I've done countless projects and it always comes down to my notebook and pen. I don't know why that is, it just feels more natural to jot down thoughts in a notebook than it does on the computer... - BenAlabaster
I cant believe how eerily similar we think on this subject. I always date my pages, create new pages for meetings. I write down a lot of detail because I tend to forget 95% of everything Im told. Writing down really helps me clarify my thoughts. It amazes me how many developers do not ever pick up a pen or pad and actually handwrite their ideas first. I was taught to pseudocode before doing any development (and that was IBM mainframe development). - Devtron
regarding Search: my visual memory aids me a lot. But then, When searching for a quote worth remembering I read in some book years ago, I usually remember the rough location on page (left/right, top/middle/bottom). However, visual memory works amazingly well for most people, give it a try. - peterchen
(3) +1 because if you're doing anything important and want to patent or submit it as a legal document IT MUST BE PHYSICAL. They will not accept digital work. Also drawing on a computer is still a horrible chore for all but the fanciest. - temp2290
For the left handed I use the top spiral bound memo pads. - Steve Tranby
Notebooks are searchable: they can be easily indexed by date. I try as much as possible to keep a single series of notebooks for all projects. When I want to find something, I can always find a date reference from a digital source: email, SVN log, billing record, etc. - Paul Keister
(3) Wow... Physical notebook for code snippets? And links!? Do you really copy your code from screen to paper by hand-writing? Do you really rewrite long hashes from links by hand and then type them back from paper? I find it hard to believe. I understand it for general note taking, brainstorming and sketching, but for code snippets and links? - Josef Sábl
(4) Problem with this answer is that it answers a different question that has been asked here. You are all writing about general note taking, for which the physical notebook is quite good. But the question is about keeping: snippets, links, checklists, final solutions to problems etc. For which is the 'hardware' notebook unusable at all. - Josef Sábl
Once there's a device with e-Paper / e-Ink, featured with a touch-screen, this would be my perfect tool. Copy source-code on it and still be able to draw stuff. - Atmocreations
(1) It doesn't seem to have been mentioned that a notebook is also available offline...or without power... - davidsleeps
@JBB: Do you find it funny that even when we talk about things that don't relate to computers we use the words Foo and Bar as place holders? I do it myself all the time. ;-) - Lucas McCoy
@Josef: I normally code in paper before I code stuff in the computer, specially when I'm having a drink in a coffee shop or in a inspiring place, even when I got my netbook with me. One thing that I don't like in notebooks / Moleskines is that I can't keep the notes organized for long, but I'm looking into making my own Moleskine-like perfect notebook now. - Alix Axel
@Alix: I understand this for designing, prototyping etc.. But writing in code? Like you take a pen and paper and start drawing letters: if (i=0; i<10; i++) ... Crazy, but if it works and suits you, who am I to judge :-) - Josef Sábl
@Josef: Yes, I really write code in notebooks. However not all code, just important or complex stuff. I find it that since I write slower with a pen than with a computer the time it takes allows me to better reflect what I'm doing and thus improve my real (as in digitally typed) code. It might be a little crazy but I've seen a couple of developers and even more designers do this, and they are usually quite good in what they do. The longest snippet I wrote in a notebook was a DB wrapper and it took about 120 lines. - Alix Axel
I've been writing notes down on paper for as long as I remember. My room is filled with papers and little notes. Despite my futile attempts to regularly clean my room and sort organise the notes, I cannot seem to keep it neat for long. So now I've ordered a Moleskin! Let's hope it helps me organise better. - Kevin van Zanten
-1 lame,char[10] - Behrooz
@temp2290: I Will print it. - Behrooz
Note that this technique is a problem if you put notes in your notebooks that other people will need someday. It's better to put them on a wiki. - J. Polfer
[+280] [2008-09-17 00:55:35] Aeon

Start a blog. This way, not only you benefit, but so do others who may have the same problem. There are also combination blog/wiki systems, ranging from Drupal [1] to Hiki [2]. Also, consider that having your notes on a host (with regular back ups) will ensure that they survive you dropping your laptop down a flight of concrete stairs, and that they will be available even when you're away from your primary working machine.

Oh, and some people really like mind maps [3] for brainstorming and such, but I'm not sure that they're that valuable for long-term note taking/storage.

UPDATE: If you don't really want to run your own site, or a blog is too much of a time investment, another option is to start posting on RefactorMyCode [4] or Snipplr [5]. You get a searchable database of your code snippets, plus perhaps people will comment on your code and suggest improvements. The " Code reviews on the web [6]" thread might have more ideas over time.


This is one of the main reasons I started a blog. - Kearns
I wish I could be more discipled with this though. I mean, starting a blog is one thing, but keeping it going with a constant stream of thoughts seems to take a lot of time. I'm trying though! - Scott Saad
Oh, for sure, I don't practice what I preach either; I keep meaning to start writing regularly, but it takes time and effort :) - Aeon
I agree with the time factor, but just to keep little side notes. There s no reason for a Blog. If your going to keep programming notes, then the blog is the way to go, but for sidenotes, its all about EVERNOTE! - Scott
This is THE only reason I started a blog. - Aaron
(14) The blog is a good idea, but I always shied away from it because of confidentiality issues. Its an extra step of mental effort to take your ramblings and 'generify' them, such that you're not actually disclosing your employer's work product on the internet. - GWLlosa
There is a fine line on the blog though, to make it useful to you (potentially confidential code snippets), and useful to others (listing test cases, workarounds for not project relevant items). It's disadvantage is you are writing notes for someone else too - the web. - SuperRoach
Nice, but far too time consuming - Techboy
I used the blog-ish capabilities of the google intranet at my last company. Worked great - was secure, but the rest of my team had unobstructed access. And I could include a url in my comments when something needed exposition. On top of that, team members could discuss in comments or edit/add to my posts. - Ross Henderson
I actually use Stack Overflow as a way of keeping track of difficult issues I've hit. SO serves as a way to get things solve and have a record of how it was solved. - James McMahon
Yes, it's time consuming and some stuff can be confidential but the major benefit, imho, is that it's public. That means that you have to explain so that others can understand and that is a very valuable skill. - Jimmy
I agree with the mind map point. I can't really see mind maps as a feasible option for long term note taking and referencing. - JohannesH
(4) If all you need is a note to say something like "{some construct} - unexpected bad perf; use {other construct} instead", splitting off to then write a blog is an interruption in the train of thought. If you write a lot of notes, then working out what you then need to blog about just ends up eating into otherwise productive time. - Chris J
[+217] [2008-09-17 00:57:30] William

TiddlyWiki [1]

It's great all your notes get cross referenced.

TiddlyWiki is a single HTML file which contains all the articles ("tiddlers") for a small wiki. It also contains all the styling and javascript to make it work as a wiki (displaying / hiding articles, generating menus, etc). Fans find it a very intuitive way of constructing a document.
... although it's not just a document - one might almost say it's a tiddly wiki!

Edit (summarise comments):

The only problem is how to keep it in sync in multiple locations.
Possible solutions are:


this begs the question, how do you keep TiddlyWiki current and in sync in multiple locations? - sal
host it somewhere you can always reach - Jimmy
you can run it off a flash drive - sdfx
At a new job I create a new TiddlyWiki. But if it mattered to keep it in sync at home, work, etc., I'd use FolderShare. - Kyralessa
I use it on my flash drive (for non-code notes) and it's great and useful - Rui Curado
Great stuff, gratis for the link! - Chris Ballance
I use my tiddly wiki on a daily basis. To make it accessible everywhere (when i got a computer in front of me), I check it in to my svn server. Because I do backup´s on my svn server this is included. - Anders R
td is my favorite tool for learning anything new! - leeand00
wow! This was an eye-opener! - scraimer
I tried this and wasn't a fan of how it's done in blocks. I do however use a personal/public wiki on my website. - Ross
This is similar to - majkinetor
That is, - majkinetor
There are some multiuser server side implementations of TW. I believe I've seen one that can authenticate with AD, if thats your bag. - prestomation
Tiddlywiki + Mesh = win - Mel
+1 for dropbox application - solomongaby
(7) is an easier to use version of TiddlyWiki - James McMahon
I prefer to use a real wiki on a webserver, I'm online 24/7 so I can always access it. - Osama ALASSIRY
(1) "TiddlyWiki is a single html file which has all the characteristics of a wiki" is a bit of a lie, it's 2 files and one is a Jar. - Chris S
(2) @Chris S, saying it requires 2 files is also a "bit of a lie". It depends on entirely the browser you use. Firefox and IE work perfectly with just a single html file. Opera, Safari require the Tiddlysaver add-in (which is a jar, from memory). - Ash
TiddlyWiki works well with Firefox and doesn't require a .jar file. But getting Firefox to always save without that annoying warning is a bit fiddly. After saying yes to the warning at least once, you need to (1) exit Firefox, (2) open your prefs.js file (somewhere like C:\Users\yourUserName\AppData\Roaming\Mozilla\Firefox\Profiles). (3) Look for three lines that contain capability.principal.codebase.p0. (4) In the line that has, change the second argument to point to your TiddlyWiki file (e.g. "file:///C:/dir/dir2/TiddlyWiki.html"). (5) Save. - Kyralessa
(1) @Chris S. no, it depends completely on browser because I use OpenBSD and don't have Java installed and it works fine for me in firefox. - Earlz
[+157] [2008-09-17 01:11:07] Metro Smurf

An oft over-looked application is OneNote [1]. You can share your notes on a network share, over the Internet as well as from within SharePoint or just keep them private on your own PC.

If you're a heavy Windows user, OneNote integrates with every other MS Office application. Will sync with Outlook todo lists as well as with PDA's and Smart Phones.

I've been using OneNote for at least 6+ years now and would be lost without it.

Summary of Comments and Other Capbailities

Sample Usage (from comments)

I use it on a tablet, and it's great, for example, for deriving equations, as you can write the equation with the pen, and then type a paragraph of descriptive text, and insert a link from the web.

Best Comment

I wish it was available for Linux, as it's the only reason I use Windows.


(2) Do you use it in tablet form? I found it a bit cumbersome, but I adored the fact it auto-cited anything clipped from a website... - Kearns
I've always used the desktop version. Though, if I had a tablet, I'm sure I'd use it there too :) Some of the newer features are quite handy as well, like when you take a screen clipping you can copy (or even search!) the text from the image. - Metro Smurf
Shared OneNote notebooks have been a great asset in my small team. It's a great place to get ideas down before making the more "concrete" Word document version for the client or management. - Aydsman
(1) I know so many Network Engineers who use OneNote for just this purpose. Likely underused by Software Engineers... - pearcewg
This software engineer, and many of his peers, use it. Though I'm still trying to figure out how best to use its inbuilt hierarchy scheme. - Michael Petrotta
The main benefit that I have found is that you can't forget to save. - Edward Kmett
(1) We've just started using One Note at our company and it is very useful. - Tony Peterson
I've used it on both my desktop and tablet laptop. It's a very nice program. - Daemin
+1 for OneNote, noting ability to keep on a USB drive, and live sharin in meetings (to avoid sync delay from SharePoint). - Richard
(1) The combination of OneNote and MSN Live Mesh has become invaluable to me lately... Truly a great product from Microsoft. - GordonB
What's wrong with vi?!? - Auto-saves a backup. - Very portable (ie, the files can be sent to anybody) - Works on (almost) any computer. - And you can version-control the resulting files, and see any differences! - Arafangion
(1) OneNote is very good if you have a tablet pc or a graphics tablet, otherwise i find it a little cumbersome. Paper and Pen when im at work and not tablet access. - Pondidum
(2) OneNote is fantastic. It's the only MS product I like, but it's great. It beats paper and pencil because 1) it can be searched, 2) it can be backed up, 3) you can insert in something you've already written, 4) sensitive entries can be encrypted, 5) one can easily make cross-reference links, etc, etc. I use it on a tablet, and it's great, for example, for deriving equations, as you can write the equation with the pen, and then type a paragraph of descriptive text, and insert a link from the web. I wish it was available for Linux, as it's the only reason I use Windows. - tom10
OneNote also lets you ocr an image and pull the text out so it becomes searchable. - Aaron Fischer
I wanna say OneNote is awesome. It is really good than any other note software. You just feel it is the right way that you make notes. - xiao 啸
[+118] [2008-09-17 11:18:45] kitsune

A Moleskine!

alt text

Nice, I love those too. :) - Till
(69) way too neat to be healthy - slashmais
(17) You can't be a programmer, that writing is way too neat! :D - Rob Prouse
(64) Too neat, post a real example or I'll down vote it. ;) - tpower
(42) My notebook looks like someone vomited ink onto it. - James McMahon
Another vote for Moleskine. I use a small black leather page per day diary format. Often I don't write anything in it, and other times I fill several days. I have a habit of updating TODO items when I get on the train in the evening or morning. - justinhj
The cultural drive behind this neat notes is simply fantastic... there's only a small area with a strike-through correction! My owns usually have a single NON strike-though area... another reason why I swapped A4 for A5 (be more light carriable, under a laptop desk-footprint; it the page was too many strikes, just start over on next one). - jpinto3912
(16) Even the strike-through looks better than some of my valid notes! :) - Daniel Daranas
(1) Wow, just how do you get your handwriting that neat? - RCIX
(2) I think the little plane in the lower left is hilarious. - Christopher DuBois
(2) This echos like every other comment above it but seriously, I want an answer. How the hell do you keep that notebook so neat? - Kirschstein
(2) Original: I don't think it's his own. - Thomas
(5) Where's the CTRL+Z - Chris S
How fast is the "search" function? - Craig McQueen
[+78] [2008-09-17 21:39:53] Parappa

Depending on the nature of the project and the size of your development team, a number of methods are necessary to adequately cover all of the bases:

For day-to-day notes, reminders, and sketches, I still haven't found anything as good as an old-fashioned pen & paper notebook. Part of the beauty of this solution is that your notebook can be as organized or as chaotic as suits your style. I don't think there is any best way to use a notebook.

A wiki is great, but I find that in order to get the most out of it, it has to be a common wiki used by everyone on the team or in the department. TiddlyWiki [1] is an excellent piece of software, but it is designed for individual use. You want something more like MediaWiki [2] that can be set up on a central server.

The focus of your wiki should be on practical documentation. It should be rife with FAQs, tutorials, How-To articles, sample code, and so forth. Ideally, any time somebody on your team hits a stumbling block and has to learn something specific to your company or project, they should contribute an article to the wiki about it.

Avoid email for documenting things such as gotchas and best practices. Many people tend to reach for email when they first identify a recurring problem and want to publicize the solution. The problem is that email tends to be hard to find weeks later, which is when the problem being discussed will most likely resurface. The best thing to do is to write a wiki article and then send an email to publicize the article. A good wiki will have a much better signal to noise ratio than a typical email inbox.

A blog is a useful tool for personal development and communicating your experience to other developers. However, writing a good blog tends to be a lot of work, and may prove to be too much of a distraction within a software development team. Also, blogs lack the hierarchy that a wiki has; they capture information in chronological order, and therefore suffer from the same issues as an email inbox to a small degree.

If your team or department is large, a forum might be a useful alternative to email, and may also be a convenient dumping ground for transitory topics that don't belong in a wiki. A forum can be a useful place to track fire-fighting style issues that occur suddenly, affect many team members, and may require some discussion or exploration. It can also be a place to post light-hearted stuff such as funny web links or other topics that team members use to blow off steam.

Generally speaking, the most important things to have are the paper notebook, the bug-tracking DB, and the wiki. Blogs and forums are good to have, but not as effective for capturing simple, straight-forward documentation. So far I haven't found any single piece of software that is effective enough to replace a combination of individual notebooks combined with a central wiki and a central bug database.

It should also go without saying that your project should use some sort of version control software. :)


[+75] [2008-09-17 02:01:39] Travis B. Hartwell

I use Emacs Org-Mode [1] along with Remember Mode [2] to keep track of everything. TODOs, appointments, notes, etc. With Org mode and Remember mode integration, plus a shortcut key defined in my window manager, I can hit a shortcut key from anywhere (Win + R in my case) and pop up a new Emacs window, select which type of item I'm saving (TODO, appointment, note, etc) and then quickly type what I want and then hit C-c C-c. The note is filed away to a default location for me to organize later if I so choose. This is so simple and convenient that I don't have to interrupt my flow of thinking if I suddenly think of something I need to do or take some notes on a given task. "Just what are the steps again for setting up a remote git repo? Okay, I do this and this and this. I had better write this down before I forget."


+1 I should learn Remember mode too some day :) - abababa22
[+69] [2008-09-17 01:08:26] Don

FWIW, I'm really digging Evernote right now. The searching works great making it really easy to find code snippets. The tagging is nice also. Honestly, best feature by far is having a Mac, Windows, and Web client that auto syncs. Your notes/snippets are available anywhere..

oh.. and it's free..

Unfortunately Evernote only syncs to Windows Mobile phones or the iPhone with native apps. Other mobiles you have to use a browser. If there was something like this that could also do PalmOS I'd be set. - Luke
I've tried Evernote, but quickly found it frustrating for code snippets because it completely mangles my formatting. Is there any way of preserving whitespace/syntax highlighting? - Adam Lassek
Actually the Windows Mobile isn't a sync, it still pulls up notes in a browser, I didn't like that at all. - Kearns
How do you get your data if evernote goes out of business or you want to put it somewhere else? - Brettski
Your data is stored locally; it doesn't exist solely in the cloud. - Charles Roper
[+65] [2008-09-17 00:56:45] David Negron

Use a Wiki. I personally use ScrewTurn Wiki - Desktop Edition [1]


I vote for a wiki too.. - paan
I am having trouble finding a wiki I can run myself, I can secure the pages, and isn't a really big application. But I really like the idea of keeping a wiki, it's how I write other documentation. - Brettski
ScrewTurn wiki is pretty sweet - Jacob T. Nielsen
WikkaWiki. Very easy to deploy and extend! Runs on LAMP stack. - Seiti
I found it very TYPE-FORMAT-PREVIEW-CORRECT-PREVIEW-SAVE... I endured it for 2 months, but the operational effort reminded me why I eventually dropped the PDA: it's not nearly as fast as taking an immediate thought note (which is the goal). - jpinto3912
I started using ScrewTurn wiki for personal documentation a few months ago, and find it extremely useful in that role. Since I use it to store important links (like to StackOverflow), I keep it open all the time. MediaWiki (Wikipedia's wiki) is great, too, but if you must use Windows/ASP.NET, might not be for you. - Cyberherbalist
Yeah a ScrewTurn Desktop is pretty good. And if you have multiple computers you can sync the "public" folder using something like Windows Live Sync (previously known as FolderShare). - JohannesH
Self-hosted screwturn ftw. Private, as secure as you want it to be, and accessible from anywhere. - gWiz
[+41] [2008-09-17 03:41:03] Ian

I use a directory of text files. Roughly looks like this at the moment :


I use the ReStructuredText (rst) format for the individual files so its easy to generate html. Of course markdown would work almost as well :)

in development-log.rst I put entries for each day with current tasks and just general notes for stuff that comes up. Each new project starts with an overview.rst and can then expand into new files on specific topics as needed.

I manage the whole tree as a local bazaar [1] tree so i can check old versions if necessary.

To search I just use my editors built in search - or index using a desktop search tool.

I used the rsync the whole tree up to a ssh server every day to use from home as well - but thats not an option now that I'm behind a corporate firewall.

btw - this editting widget is actually pretty cool. I like the combination of editting in a plain text format combined with live preview. Works well.


Love RST. Heavy user of rst2html myself. - S.Lott
This looks very interesting. Think I'll be using this. - Ross
ssh on port 443 should work. - Osama ALASSIRY
[+34] [2008-09-17 04:37:35] poulejapon

Tomboy [1] for Gnome. That's pretty much like a wiki but it's a client application.


I love it because it is just so simple.. I keep lists of my current project/responsibilities, and tasks in point-form, and strike-out text when they're done! If lists get too long, or need more explanation, I move it to a linked note. Too easy!! :D - brass-kazoo
I love it too! And it's quite easy to sync your notes between computers. - Pascal Thivent
Yeah, I love tomboy! - David Oneill
Works decently on OSX too. I sync to the filesystem in a Dropbox folder to keep a consistent note set across multiple systems and OSes. - jhs
[+33] [2008-09-17 01:43:34] Craig

I have just started using Evernote. Its searchable, you can publish it to the net and accessible from anywhere.

Scan in your original diagrams to go along with the code.

And its free.

just looking at this topic for the 10000th time... evernote offers ssl in their pay version. - Yar
I tried Evernote but had some problems with the formating and syncing on multiple computers. The formating of code was just wrong and gave up on it - kruczkowski
[+31] [2008-09-17 09:32:06] Linulin

DokuWiki [1]

DokuWiki is is targeted at developer teams and mainly aimed at creating documentation of any kind. It has simple but powerful syntax which makes sure the data files remain readable outside the Wiki. (All data is stored in plain text files – no database is required.) Optional syntax highlighting of code blocks is another neat feature most programmers find useful.


(1) I use this as my personal/public wikispace. - Ross
I also use the ODF export plugin - so just export my documentation and save as .doc in openoffice whenever it is requested. - gacrux
+1. I use that as well. - Wadih M.
I used it in the past but switched 5 years ago to MediaWiki. - Sorin Sbarnea
[+26] [2008-09-17 02:02:17] Shelley

I use a Google Notebook. I like the fact that I can access it from any computer with Internet access, and the format is simple but useful. The searchability is a big plus, and I can share it with other programmers.

We've talked about creating a team wiki, but I'm glad that my notebook only has things that are useful to me. The exercise of putting things into my notebook also helps me remember the things that I've taken the time to add.

Plus, the handy cut-and-paste. Hardbound notebooks have a real disadvantage when it comes to pasting in code snippets.

In recent months I've come to use Google Notebook for a lot of stuff, replacing other methods like textfiles on hard drive. Too bad they stopped development on Notebook and prevented new users signing up (…). Hopefully they'll continue to keep it running for old users though; I for one don't find Google Docs a very good replacement. - Jonik
Yep -- Scratch that. Google notebook has been discontinued. - Dan Esparza
[+26] [2008-09-17 00:56:44] nsanders

I use a password protected, private instance of Media Wiki. (It's the same backend that Wikipedia is based on).

Nice if you have the patience to set it up. I for one, do not. :p - Bernard
When you say a private instance, does that mean it's running on your own server/database? Or is it running on the web, but password protected? - Mike C.
I have it sitting on a server on my LAN with no access allowed from the outside world. I also use Apache htaccess to further restrict access. - nsanders
(1) localhost/wiki/Wife: <strike>Like omlettes on Sundays</strike> <strike>Like pancakes on Sundays</strike> - bobobobo
[+25] [2008-09-17 00:58:47] emk

I use Emacs, and dump everything into text files, typically in a src/snippets directory. Then I make sure that my OS provides fast full-text search. For group projects, I use MediaWiki and a searchable bug tracker.

Blog posts are great for more involved answers.

(1) +1 for excluding Microsoft Windows there, without even mentioning windows. :) - Arafangion
(3) I believe that for any string of words ending with the character "?", someone can be found whose response begins with "I use Emacs". - Dan Ray
[+22] [2008-09-17 00:59:21] Tom Martin

It's not developer centric but I find a really natural way of keeping notes is TiddlyWiki [1]. I find the natural structure afforded by the wiki metaphor a really quick and easy way to organize notes well.

I always use it when condensing a large text about a technology into a small piece of reference material or when planning a piece of work.

There are some issues when saving locally with the Java applet though so be careful to make sure it is working before making extensive notes.

Edit: None of this is a replacement for being able to Hold a Program in One's Head [2].


[+22] [2008-09-17 06:34:45] community_owned

I've been using freemind for a few months. It's a mind mapping tool. It essentially builds a tree with text nods. Very quick to use, and it also allows you to easily assign a context to a particular note, by adding the note to the appropriate parent node. I also use a small notepad when I'm walking around.

[+19] [2008-09-17 00:57:00] Unkwntech

I go through 100s of post-its a month.
Then I also have a WordPress blog with some code syntax hilighting plugins that is behind an .htacces password.

That's funny. I have a co-worker that uses post-its. I'm starting to do the same thing. - MrBoJangles
ROFL, I LOVE post-its, they are almost as important to me as my keyboard, I doodle on them when Im thinking, I'll write out to Database column name that I can't remember for the life of me, they are my schelduling, in general they are my LIFE SAVER. - Unkwntech
I love then so much infact that I own shares of 3M the maker of post-it. - Unkwntech
And how do you search them when you want to find something specific? :) I use them, and post them on a section of my wall, but I don't use it for many things, just the bare essentials. - pearcewg
Not much, as soon as they become obsolete they get tossed out. And if they are super important it gets added to the digital post-its on my sidebar. - Unkwntech
[+18] [2008-09-17 11:33:23] user15643

AbstractSpoon ToDoList. Ultimate tool for everything.

Yes! This is on heck of an awesome tool to use, especially useful for keeping a single-developer style todo / bug / issue / idea list. Though I don't use some of the more advanced features. - Daemin
Yep I use this one as well and love it. - Jason Maskell
Used this one for a month and finally dropped it because it is an electronic tool that cannot by sync with my day to day life. - snowflake
[+17] [2008-09-17 01:34:24] Ash Wilson

Personally? While I'm planning and designing, I'm a big proponent of good old fashioned pencil and paper. I have yet to encounter a diagramming tool that's as natural as sketching out the boxes and arrows myself, and during the design phase my work is equal parts pseudocode, quasi-UML, interface sketches, and checklists.

For notes that I want to share with my team, I prefer to use the wiki that's built in to Trac [1]. It's integrated with rest of the issue-tracking environment, so you can do things like easily link to tickets, source code, revisions and changelogs. We've found it to be a great place for the kind of notes and discussions that you mention.


+1 for mentioning Trac! It's an awesome system - Josh
[+16] [2008-09-17 00:58:59] Graphain

I strongly recommend FlashNote [1].

It is so convenient - just ALT-S and type then ALT-S away.

I find the newer version interface is the tiniest bit clunkier than the old version but it's still the smoothest note taker around.

I can't recommend this program any more - every person I've introduced to it, developer or not, loves it and uses it.

NB: Windows Only


[+16] [2008-09-17 04:02:17] wangzq

I use Trac [1] tickets to keep my memo and to-do-list, with subversion integration, it can also easily manage my personal projects and scripts.


trac is good, but is too project-centric for snippets, imho - Manrico Corazzi
One thing with trac, is that you do have multiple ways to organize things (project, milestone, component, tags etc.) and you have a nice history of comments on the task and the ability to do a print-out of everything. - tovare
[+14] [2008-09-17 01:00:33] voidpointer

I find that the less time spent on the tool the better. I often have 2 files going: ideas.rtf and todo.rtf. The former is a collection of random thoughts while the latter thoughts that have a temporal nature (e.g. tasks, etc). The reason I bring up the format and not the editor is because my notes then end up being portable and editable by almost any tool .

However, if I had to name a tool I would say TextEdit on the Mac. You can't beat the cmd-+ keystroke for enlarging text. A quick way to establish structure and layout in a notes document is essential.

You seriously need to pay more attention instead of shilling Flashnote at every opportunity. I don't see a Mac version offered on the site, so it certainly isn't going to replace TextEdit for moran any time soon. - Matthew Trevor
Sometimes, the simplest approach is the best one. This is easy to use for anyone. I do this for logins and passwords for different sites...a small rtf or txt for each site. Not the most elegant, but easy to use and port and protect. - pearcewg
I like the idea of keeping it simple. Two files are big enough :) - snowflake
[+14] [2008-09-17 01:03:50] Chris Upchurch

A variety of tools depending on exactly what I'm saving. I use Evernote for saving notes, webclips, links, code snippets and the like. I really like it so far. Tasks and checklists go in Remember the Milk (though I just started trying out OmniFocus). Random ideas get written on vertically ruled index cards for the initial note and get filed away in one of the electronic systems.

[+13] [2008-09-17 01:09:52] Tom

Snippley is a neat little Adobe Air app done by the guys who manage MooTools, made specifically for storing little snippets of code. You might find it useful:

that looks neat... - Aeon
[+12] [2008-09-17 14:54:37] Mike King

We use FogBugz, and all notes from the dev team go into the wiki. There are also general engineering/networking questions, and they go into an engineering wiki.

This way, even quick notes are found in one place and last forever. And you have the added benefit of being able to easily correct or update older notes.

FogBugz wiki is my tool of choice as well; there are many features that could be added to it, but the concepts implemented there are very innovative and useful. For note taking, I love the fact that changes within the web interface are automatically saved in a draft and only published when I Save. - JoshL
[+11] [2008-09-17 01:56:13] Steven A. Lowe

if you are working on something that may be patentable, use a hard-bound notebook with unlined pre-numbered pages. have it notarized periodically.

otherwise, notepad works for me ;-)

If you work in the US. If you work elsewhere, take notes on stamped envelopes pre-addressed to the local patent office. - DGentry
interesting, i did not know that! - Steven A. Lowe
@Denton You need some proof of date sealed. I've always heard you should send a sealed copy of everything to yourself so you have the postage date and the sealed copy. I have a distant relative who won a patent case this way. [citation needed] :P - Nolte
[+10] [2009-09-09 04:41:58] Shane

I've been programming for over 20 years and sadly I have had the same problem as the OP, until I discovered the LiveScribe pen this year.

It has totally changed my note-takeing life! It has 4 main benefits:

  1. It's a pen. At the end of the day it's a pen, so you can scribble/doodle/write notes, just as you always do...but...
  2. It's a RECORDING pen. When you dock the pen with your Mac/PC, it uploads what you've written and then OCRs it! And the OCR is remarkable. I have THE worst handwriting I've seen. Really, it's terrible, yet this thing nails it every time. Which leads me to...
  3. Your rantings are searchable. Because everything is OCRd, you can actually find what you scribbled a year ago. This means as you fill up more and more pads, you can always find what you want.
  4. (this is beautiful) You can tap 'record' and scribble a mark anywhere you want on a page, and start talking out loud (like a dictaphone). At any point in the future, you just tap your scribble on any page and the recording is played back instantly. All of the audio is uploaded to your Mac/PC upon docking the pen too. This is pure gold, and frankly is the killer feature for me. I can actually think out loud while I'm writing, or record a meeting and go back to what was said at any point. So incredibly useful.

I honestly can't recommend this enough. It's like GPS for me; once you've used it, you can never go back!

Ditto on that one! - Gerard
It is pretty great, with the following two exceptions: the pen is a bit bulky, who wants to worry about battery life on their pen? Still, way better than anything else for meeting notes and quick diagrams / sketches. - krakatoa
[+9] [2008-09-17 01:21:47] sal

I have a directory called "notes" with just three sub folders, unix, java and confs (for working config and property files). It is backed up in subversion and mirrored between my laptop, work laptop, work desktop and my server. Many of the files have names like "find-command-examples.txt" , "cusip-validate-via-regex.txt" or "jboss-jndi-with-openldap.txt"

Plain text is the way to go. And fewer folders is better since you don't waste time deciding if something should go into "unix", "shell" or "scripts"

On my Mac I use spotlight to search. On unix I use grep. On windows I use the cygwin find command.

If you need formating, consider rtf since you'll still be able to grep. Or use find with rtf2txt to keep plain text versions.

[+7] [2008-09-17 01:01:01] Saul Dolgin

I've like to evolve my notes in a wiki site (I use SharePoint but any wiki system would do) to share internally with my team members. From there, depending on the topic and how much "churn" there is with the content, I migrate notes into more formal documents that can be version controlled.

My concept is not really specific for developer-centric purposes, but the idea of a wiki works great for situations involving a team of peers.

We do exactly this. Sharepoint wiki to make initial notes, then these may eventually become procedure documents. Of course everyday notes that don't require long-term storage just go onto post-its or into a notebook. - apathetic
[+6] [2008-09-17 05:54:25] Dougman

I'm old school. Plain old text file using my favorite text editor TextPad -

(1) I use this too ... and I have work notes going back 15 years. - cplotts
[+6] [2008-09-19 12:50:04] mloughran


Just combine dropbox [1], your favourite text editor [2], and a folder of markdown formatted text files.

It has the following advantages:


good tip (Please enter at least 10 characters.) - dreftymac
[+6] [2009-01-12 23:29:31] Andy Dent

After 25+ years as a developer, many of them spent writing notes (I'm an inveterate scribbler) I'm really over paper notes.

They are bulky, you can't search them, can't back them up and can't carry them around that easily.

Modern OS, especially OS/X which I use as my main desktop, are really good at finding things so the most important thing is just write stuff down. You can worry about getting the where right later. That's also a lesson for wiki users - we had a very successful wiki (using Twiki) at CSIRO where I worked with many scientists and the number-one lesson was to record now, edit later.

Having said all that, I'm naturally a tactile and then visual thinker. I tend to sketch solutions. To keep everything searchable, simple, diffable and able to be used in a wiki and in Doxygen, I do many of my diagrams with GraphViz. That way I just have to describe the diagram in a simple text form and the picture is generated. I use GraphViz (strictly, the dot tool) for schema documentation, calling sequences and casual architecture diagrams because it's the fastest possible way to get a picture recorded.

As a self-education and self-improvement excercise, whilst it is useful and fun to be able to leaf through past notes in a notebook, I think it is actually better to be actively editing and commenting on past work. I think you're more likely to lay down new associations in your brain if you're handling the material by pulling bits out and writing them up or classifying them in relation to other bits of knowledge. This is also one thing you can do to mitigate the linear style of blogs - maintain index pages pointing to your better postings.

[+5] [2009-04-13 18:34:39] YordanGeorgiev

I use small copy paste snippets to Blogger. It sends automatically e-mails to my Gmail account. Install Google Gears - for example I do have my regular searches such as "cmd cheat sheet" or "perl cheat sheet". I tag each code snippet with easy to remember tags ... Thus later on when I need them : Start - Run , type Opera , Ctrl + 1 - access Gmail type / to focus on the search tab , type "tag " , hit Enter

whell it is most probably there , Copy Paste and use it.


+1 pretty handy actually w/Intellisense - SomeMiscGuy
Yep just make sure it does not go to the production build ; ) - YordanGeorgiev
[+5] [2008-09-17 20:13:35] Petros

I use by 37signals [1]. I can create pages add lists, notes, files, pictures, writeboards and tags and then search anything I previously added. It is not developer specific, but it works for me.

For snippets I have one page for each language I use and each snippet is a note with files (sometimes).


+1 I can't believe this isn't more popular - Gabe Moothart
[+4] [2008-09-17 22:56:06] wallyqs

I find it surprising that nobody has mentioned the notes built-in support in Opera. You can access the notes whenever you're browsing with a shortcut (Ctrl-Alt E), which will prompt you to the notes tab searchbar, You can even synchronize your notes so that you'll only have one big repository of notes in any Opera browser that you use, thus you can be in Linux, Windows, Mac and still read your notes.
   I use it all the time whenever I can't recall how I did something before but that I have a hunch that I might have made a note for it, I just bring the notes from Opera and type whatever I can remember from that note, and voila!  There it is.
Although, it could be said that one of the drawbacks of Opera notes is that you can't format your text.

[+4] [2008-09-27 19:52:57] JcMaco

I'm surprised no one has mentioned Pocketmod [1] yet. It's basically a DIY origami notebook. You can customize the pages to suit your needs. Personally, it's either lined pages or graph paper. I'll usually have a few in my backpack for different projects.

While on the computer, I'll send myself an e-mail with my note. Using GMail's search engine, I can usually find any note quickly.


+1 Coolest thing I've seen in a long time! - Michael Itzoe
[+4] [2008-09-17 05:41:21] Anonymous

I'm using Leo [1] for this kind of stuff.

Description from the homepage, for lack of a more personal note:


what is leo? Google turns up too many false matches. - Charlie Flowers
[+4] [2008-09-17 06:05:53] Kent Beck

Index cards and a spiral notebook.

[+4] [2008-09-17 03:16:27] community_owned

I use PersonalBrain as my knowledge base. For me, it excels in storing code tidbits, patterns, project-specific data and general notes. Information is easily linked to other information, and I can quickly find any piece of information that I need in seconds.

For blazing quick creation and retrieval of stored knowledge, nothing else beats it.

(You'll find that the makers of PB try to sell it as a mind-mapping tool, I find other tools better like FreeMind better for that job.)

Looks interesting. I'm downloading it now. I hope it's better than my own product,, so I can stop developing and focus on paid work. - Yar
[+4] [2008-09-17 01:28:06] mike511

Ok, this is a mac-centric answer...

I used to use voodoo pad [1], which is a desktop wiki program. It's quite nice to use because it's a fully integrated mac app. You can copy and paste rich text into it and preserve the fonts and formatting and so forth. It's really pretty nice to be able to dump procedures, notes, stuff you received in email and so forth. And it has a great search feature.

One thing I should note -- I initially bought this application because I thought I could have a nice-to-edit desktop wiki, and be able to access it remotely through a webserver/wiki type interface. It never lived up to the hype though. Maybe it's better now.

Then I used Omni Outliner [2]. This had many of the great qualities of Voodoo pad, but would allow me to hide and rearrange things. It gave me the ability to prioritize stuff, and conversely, hide unimportant stuff. And search too.

Now, I'm using Omni Focus [3]. The Omni Group [4] came out with it after they came out with Omni Outliner, so I switched. It does most of the stuff Omni Outliner does, but with all the Getting Things Done (GTD) [5] goodies that helps you manage the tasks.

To be honest, I haven't really taken advantage of the OmniFocus extras, but it's part of the plan...


I have to say, and seeing that most of the people have replied that they use notebooks, that VoodooPad is by far the best application I have ever seen for note taking. I think there is a windows prog that does the same thing, just can't remember the name of it. - Tim
Hey Mike511, I'm checking out VoodooPad right now. Could you say in what way it "never lived up to the hype?" Thank you. - Yar
[+4] [2008-09-17 02:09:47] Lahur

A combination of good old physical notebook and notebook in the cloud (Google docs).

Physical notebook is simply much better when I want to quickly scribble my thoughts and draw diagrams. And I can do this anywhere. Notebook in the cloud is good for copy-pasting code snippets. And it's nice because somebody else is doing the backup for me, and I can use it as long as there's internet access. I wish Google docs could do basic drawing and diagram though.

I use google docs on the Google Apps for your Domain account I created for the project. I also use the Todo widget on the Apps start page to keep track of what I'm doing day to day. - Sam Hasler
[+4] [2008-09-17 13:27:31] bvanderw

I am really liking EverNote [1] for general note management.

The older I get, the less information I seem to be able to retain, and I’m finding it increasingly necessary to write things down so I can reference them later. Since it seems I have forgotten how to use a pen or pencil to make legible characters on a piece of paper, I usually type this information into the computer. I have tried a number of ways to organize these digital "sticky notes". For awhile I was using the Notes feature in Microsoft Outlook , but that doesn’t really allow me to access my notes wherever I am, and it was awkward to use. I discovered I could use Yahoo! Notepad to sync with Outlook Notes, so I began to use that quite a bit - until I moved to Vista and Office 2007. For a long time, there wasn’t a sync client from Yahoo! that would work, and I found myself looking at other alternatives. A couple of weeks ago I discovered an application that is really working well for me. Evernote describes itself this way:

Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient, and makes this information accessible and searchable at any time, from anywhere.

What’s nice about Evernote is that it is provides a Windows client that synchronizes with a web interface, so your information is truly available to you wherever you go. There are Mac, Windows Mobile, and IPhone clients as well.

This is not just for text. There is a simple rich text editor for taking notes in meetings or entering the bits of information you need to do your job or manage your life. Beyond that, you can store entire web sites (or just selected portions) quite easily using a Firefox extension. The program will also store scanned images, PDF files, and audio clips, but I haven’t really taken it that far.

Searching works well, and they claim to also search PDF files and text within images. Like Outlook Notes and Yahoo! Notepad, each note is assigned a title based on the first line. Evernote, however, allows you to rename the title. Notes can be organized into folders and assigned tags.

Synchronization also works well - even behind the firewall at work (it appears to use whatever HTTP proxy is configured in Internet Explorer). By default it syncs once an hour, but this is configurable, and you can force a sync at any time. I haven’t really tried using the web client. I have the Windows client running in the system tray so it quickly accessible.

Did I mention it was free? There is a monthly cap, but in my regular use I am not even coming close to the allotted upload allowance. The premium version is $45/year, which gives you SSL encryption as well as a much larger upload allowance.

If you are like me and need an application that will allow you to create your own personal knowledgebase , than I highly recommend Evernote .


[+4] [2008-12-10 21:18:35] Jon Biddle

I'm now using Snipt (

It has a nice clean interface + syntax highlighting.

I wish this had a desktop client, its a pain having to always have a browser open. - leaf dev
[+4] [2009-09-23 12:25:54] dstibbe

I use a paper notepad and either windows' notepad or linux' kjots. Additionally I keep notes in the source code I am working on (mostly the 'why' something was down).

As someone said before: "Make sure to write everyhting down.".

[+3] [2009-09-18 21:34:51] craig

I have been using a tool called clockingIt it lets me create projects and then tasks inside the projects. tasks have different priorities, severities, a description and a trail of comments I leave every time I update the task.

I mainly use this tool to track my time, so when I am working on a task I clock in on that task and at the end of the month it generates my timesheet.

it is open source as well. It is a great replacement for post-it notes and also keeps track of my time!

[+3] [2009-11-16 10:07:46] kruczkowski

Try google docs, for some existing code, you can copy and paste it in really quick. Plus it's online so you can reference it when your on the road or home.

+1 For "KISS":Keep it stupid simple. - Terrance
[+3] [2008-09-17 13:38:23] Steve Karg

I use GMail [1] - it is searchable and available anywhere I have internet, and is long term memory.


I also used Gmail (draft messages) to keep notes that I can access from anywhere, until I found about Google Notebook which is much better suited for that. Too bad they stopped development on it... - Jonik
[+3] [2008-09-17 01:34:06] community_owned

I ran into the same thing about 2 years ago. I wrote a little program that sits in the top right corner of my desktop that drops down and has notes and contacts. I'm not sure if the published version still works well, but the code is there so you can fix any bugs you want.

You can get it at [1].

It is a little buggy. It was one of my first ventures into custom painting, but I find it useful.


[+3] [2008-09-17 00:59:46] Jason Jackson

Set up a wiki. Its free and easy. Check out MediaWiki [1], the software that powers Wikipedia. I set that up on Fedora a couple of years ago. It was pretty easy to set up and use.

At my current job we use Microsoft OneNote which is also nice, but you have to have the software installed. Its easier to author, but if you want a wide audience then a wiki might be the better solution.


[+3] [2008-09-17 02:30:09] Eric P. Mangold

Ultra Recall - The most awesomest PIM / personal database / document manager evar.

Unfortunately it's Windows-only.

[+3] [2008-09-17 06:12:05] keramida

I regularly use Emacs and org-mode for note keeping. Its flat text format is easy to post in emails, diff with text processing tools, store in SCM systems in a meaningful manner, and so on. The nice UI shortcuts to add new 'note nodes', promote notes, demote notes, move them around, expand and collapse them, and the almost free-form style of the note text is nice when one spends a lot of time editing text (documentation, sources, etc).

For more details, if you are already using Emacs, check out:

[+3] [2008-09-17 04:46:40] dajobe

Um, I use the source code? Really. That's where you (or if open source/free software), somebody else will look for the algorithm, ideas and background to the code. Code snippets become examples or utilities. Checklists or release scripts become version-controlled admin scripts. This doesn't deal too well with diagrams, I admit.

And of course, the code IS the comments... - Kearns
I personally hate sorting through source code for documentation on how I'm supposed to use some piece of code. - user109878
[+3] [2008-09-17 17:56:05] Gordon Bell

Pencil and Paper are fine until that calamitous flood or fire comes along, also paper isn't very efficient for searching or copy/paste.

I use ToDoList [1] for TODO lists and a folder hierarchy of text files which I search and categorize (by folder name) through a custom explorer-like notepad app I wrote.


[+3] [2008-09-18 19:26:02] DB Tech

For my work on enterprise applications:

  1. Lots of notepads. I diagram a lot, and scratching it out is quick and easy. I can take it with me to a meeting or to QA or -gasp- a customer.

  2. OneNote. Window Key + S. Instant Sizable Screenshots are worth their weight in gold. The notebooks are pretty useful to.

  3. Code Comments and text help files in the repository. Thinking of your code as a product that has to be consumed by other developers, packaging it correctly can be a big help.

  4. To do list. Wherever I can make them. Word, WordPad, Notepad, notebooks, OneNote, whittled into my desk. Should probably be number one. If you work on an application that can be your notepad, try that, too. It helps you find bugs.

For my web development

  1. Trac. I love that thing!

  2. See above.

[+2] [2008-09-18 06:56:10] Joseph Holsten

Four things give me the ability to record and find every note I need for a software project.

  1. A text editor I know by heart. This incudes vim &TextMate, but there's no reason you can't be proficient at emacs, Notepad 2, TextPad, or BBedit. I'm looking forward to learning sam.
  2. A search tool I know by heart. This tends to be grep, find, and Quicksilver.
  3. Automated tests. I prefer a behaviour driven development framework like rspec. Ideally you can generate documentation from those tests, saying which pass, which fail, and which are pending or ignored.
  4. Version control. If you don't have a record of when you create and edit your notes, you'd have to do that yourself. I suggest Subversion, svn, or Mercurial, hg.

[+2] [2008-09-17 21:10:57] sumek

Tomboy [1] - a desktop wiki that just feels right with powerful search capabilities. With the newest release it goes multi platform.


[+2] [2008-09-18 00:23:31] Josh

I blog at [1] - Google searches it, I get third party comments, it's great.


[+2] [2008-10-09 17:11:48] Maxime Rouiller

My trustful paper pad with a good pen. Always work. No bugs. Sometimes, I do have to fill the ink inside though.

[+2] [2008-10-09 19:34:04] naltatis

I Use TextMate with Markdown for my notes.

For sending these notes to others TextMate has a nice preview feature for Markdown [ctrl]+[alt]+[cmd]+[p] which allows to send your notes as a well formatted pdf.

[+2] [2008-09-20 14:23:34] MikeJ

i keep my notes in standard black engineering notebook. When complete, I usually put a dymo lable on the front detailing the date of the first and last entrries.

alt text

[+2] [2008-09-19 13:27:24] unforgiven3

I've been writing on a blog ( and using Evernote. Evernote is especially nice because I can sync all of my notes across my laptop, work PC, home PC and my iPhone. Personally, I use the free Evernote service (which is pretty generous). But someone else said start a blog and write on it - I highly recommend that. It's a great way to give back to the community.

Edit: I also have an engineering notebook at work. They are invaluable for both you and your employer. Highly recommended.

[+2] [2008-09-19 19:22:05] lajos

I use the Mantis bug tracker [1], I use it for bugs, todos and notes for stuff I'm working on.

It lacks some features of FogBugz [2], but hey, it's free ;)


[+2] [2008-09-17 02:35:24] msutherl

I use a combination of a large Moleskine journal (which I break up into sections for different university courses and projects) and plain txt files (TextMate). The journal for conceptual stuff, the txt files for saving project-related emails and other text harvested from the web.

These days I'm using "Action Sheets" [1] from Behance [2] that I get at a local paper store for notes and diagrams in conjunction with Plain Text Wiki [3], a wiki plugin for TextMate [4], for notes and links. I backup and sync the wiki to other computers and my iPhone using Dropbox [5] (I just keep the repository in my Dropbox folder). (Previously I used svn, but Dropbox is more automagical and works with iPhone).

( viki [6] is a wiki alternative for vim)


[+2] [2008-09-17 02:39:43] Swaroop C H

I use Vim and the Viki plugin [1] - effectively a wiki using plain text and a plain text editor.


Nice. I'm using vim but I didn't know about viki. Thanks. - jop
[+2] [2008-09-17 02:23:53] hoyhoy


It's functional and fun to say! - MrBoJangles
I like the basic squared type with 250 pages and hardcover. If you do XP-like development you can keep your task card in a nice little pocket in the back. There's a band which keeps it closed and a bookmark to keep your current position. So yes, I'm a moleskine convert. - tovare
hoyhoy, feel free to make your answer a bit more verbose on how you use your moleskine. - tovare
[+2] [2008-09-17 02:49:25] Brendan Kidwell

Zim [1] Desktop Wiki is a good outliner/note taker. It runs on your desktop as a normal application (not a web app). It stores its data in plain text files with wiki markup. Supports rich text and images. I use this app all day every day.


Thanks for this suggestion. This turned out to be a great solution for me. Also, it is easy to put your notes into version control system and track changes over time. - Casey
[+2] [2008-09-17 03:22:17] John McC

Simplest tools are best. I used notebooks for a long time, but got frustrated by no being able to search for stuff or take them your notes with you. Used OneNote on a tablet pc for a while. Has a lot to recommend it, but the notes are stuck on one PC (OneNote can actually share stuff around, but it's a bit fiddly) and tablets are expensive underpowered and short on battery life.

My primary thinking tool is a whiteboard and a digital camera.

I now use FogBugz - the combo of case tracking and wiki is very powerful. You can keep all your stuff in it. Easily re-work material into specs and docs. Share material with co-workers and create cases when it comes time to actually do something. And full-text search lets you find it.

[+2] [2008-09-17 03:25:07] Matthew Cole

My company hosts an instance of mediawiki internally, so I use that.

I find that I take a few sorts of notes:

  1. Under Dev Notes / Scribblings / Thoughts - These live as subpages under my user page. While they are searchable, they contain disclaimers.
  2. Personal Notes - Code snippets, sequences of commands, links to useful things, etc. - These also live under my user page.
  3. Development articles - These describe the design and implementation of some of my larger projects. These live under my team's page, and they get categorized as appropriate.

[+2] [2008-09-17 03:35:15] mattlant

Notebooks (pen and paper), One Note (when using tablet) and Sharepoint for more formal doc management.

[+2] [2008-09-17 01:04:33] Ryan Taylor

Honestly I keep notes on projects, solutions and other notes in a more traditional fashion. I use a moleskine notebook, personally. I originally used a piece of personal wiki software called "Notebook". It works like just about any other wiki but it lacks image support and table support. However I found it was a hassle to add information. I'd spend way too much time formatting the information and get sidetracked from my main task. With a traditional notebook, I spent far less time formatting, and more time jotting down what I needed and resuming my work.

The main website seems to be down so I'll simply post the Wikipedia article about the software. I do highly recommend it if you do want a wiki approach with a small footprint.

[+2] [2008-09-17 01:04:52] user14563

I just use slickrun's jot to quickly store/read things with a quick shortcut. Probably not the best technique, but it's quicker than ^"100s if post-its", IMHO.

I've used it too. Great for short term stuff. - harriyott
[+2] [2008-09-17 16:48:27] Robert S.

I use InkSeine [1] on my Tablet PC. It is incredible.


Ditto: - Keith
[+2] [2008-09-17 11:23:29] woany

I use wikipad which is basically a note taking tool that uses Wiki-like syntax


I use wikipad pad with the todo extension It lets me keep notes on a project with todo tags that then show up on todo lists - Andy Morris
[+2] [2008-09-17 07:30:33] community_owned

todo.txt in the autostart-folder :)

To be able to track changes and remember how i thought 6 months ago i use a simple blog, together with my own sketching-homepage, Cosketch [1], to get some kind of image-support in the blog.


[+2] [2009-11-04 22:13:27] J F

For notes and misc. code snippets:

CintaNotes [1]

I keep this portable app in a Live Sync (previously called FolderShare) folder, so it's always synced across home and work computers.

To-do lists and similar:

AbstractSpoon ToDoList [2]

Also portable, I keep the .tdl files in that same Live Sync folder


[+2] [2009-08-26 10:39:04] Jacob

Omnifocus! Best task/list/item tracker i have used so far.

[+2] [2009-08-27 12:53:36] MemoryLeak

i used ,it can have excel, doc files, and export them to be a office file. or you can just start a collaborative site, and post anything you like.

[+2] [2009-06-04 13:23:23] user105033

Postit Notes! Stickem to the monitor. Also NotePad and WordPad.

[+2] [2009-06-25 05:33:25] user128616

Jedit + Explicit Folding + Outline Plug-in

I got a bunch of plain text files on a directory searchable using Jedit's hypersearch feature. The outline parser plug-in offers a dockable tree view of the explicit or indent folding structured text. Other useful plug-ins are SuperAbrevs (folding header templates), CandyFolds (folding visualization) and more. Easy data syncronization with rsync (its just plain text files).

Forget to mention i complement the scheme above with one using timestamped index cards inspired in PoIC. Main Page - PoIC Snap-N-Store Index Storage Box Official Site SNS01573, SNS01577 - user128616
[+2] [2009-07-03 10:26:30] Ronnie

I have 2 large physical notebooks.

One has "Reference" written on the front, and one has "Work" written on the front.

The Reference notebook I use for general study notes, or things I come across which I think it would be useful to remember in future (e.g. notes on JQuery or OO principles). I write a page number at the top of every page, and maintain a "Contents" list on the first page. If something comes into my head which I think it would be useful to learn about, I add it to a list on the back page, and then when I have some free time I pick an item from this list to read up and take notes on.

The Work notebook I use for more project-specific notes (e.g. brainstorming on a project design, or drawing up a task list). Again I number every page and maintain a contents list on the front page, although this contents list only includes references to important pages.

When I reach the end of a Reference / Work book, I start another one!

The best thing about this method is its simplicity, and its easier to mind-map / draw diagrams in a notebook than through your computer.

[+2] [2009-01-12 23:10:58] cobi_z

I find very convenient Notational Velocity for OS X. It a modeless, full text search engine for note taking.

[+2] [2009-02-27 20:41:07] Wacek

ToDoList [1], main file kept on multiple machines and synchronised using Dropbox [2]


[+1] [2008-09-25 21:33:21] Geek

I always have NotePad running and save an "ideas" file each day.

[+1] [2009-01-12 07:25:27] nes1983

I wrote my own todo application, because I did not like the ones I saw on the internet. It's here: Niko's To do [1].


[+1] [2009-01-23 16:14:41] rfunduk

I love having a notebook to scribble stuff, but that's mostly for layouts/designs/etc. For code snippets I use gist [1]. They can be marked private, given titles/etc and are git repositories (!) so you can keep editing them and keep history with no effort.


[+1] [2009-01-24 06:40:33] Ben Throop

I have a glass desktop and I use wet-erase markers for all of my transient notes. I used to use dry-erase but they would rub off as things would slide across the desk. Not so with wet-erase.

If I really really need to keep the notes for posterity, I take a picture with my digital camera. I've only had to do this a couple times.

[+1] [2009-02-04 19:15:44] Jeff O

My memory is horrible. When I took my current job, I created an Access database to handle my notes. I've got links to documents and websites. Names of different servers. Copies of expense reports. The Bio I sent the HR Dept. There are code sample and SQL scripts.

It's searchable. Date stamped. I can write any report I want. It is nothing fancy. The key is, I work with Access a lot, so it was not that hard to build, manage and use.

If you want something that is accessible from the web, your phone, computer etc. I think 'Evernote' is one of the best products out there. It is everything I would want in a note app. I'm still learning more. The cell phone camera upload is perfect.

[+1] [2009-05-01 09:56:21] majkinetor

I use google sites to keep my notes and knowledge base.

This gives me web access, good integration with other google office tools, search, etc...

[+1] [2009-05-01 17:18:53] Oakcool

My head usualy works well, but for the times it does not, I use a small note pad, right in front of the monitor.

[+1] [2009-02-22 14:00:55] PimTerry

Tomboy combined with Gnome-Do. Part of Gnome on Ubuntu. It's not developer specific, but it's unreasonably useful, and integrates with Do brilliantly. I press Ctrl-Space, type some stuff, press tab, type note and then go to create or search, and it searches all my notes for that text, and brings up a list of results, or it creates a new one with that title. Works perfectly, and keeps everything indexed, which is a real problem I've always had with making paper notes. Where's the bit with my plans for this bit?

Also, you can combine this with dropbox with a bit of neat symlinking, and have all your notes kept in sync (with revision control) on all your computers, and backed up to the internets. Beautiful.

[+1] [2009-05-17 20:14:04] Techboy

Microsoft Onenote [1] - excellent tool

It works on my PC and on my Windows Mobile phone.


[+1] [2009-05-23 06:41:54] Alan Haggai Alavi

I used to use Basket Note Pads [1] in KDE 3.5.x. However, after migrating to KDE 4.x, I am waiting for a KDE 4 version of it.

Currently, I rely on `physical' notebooks.


[+1] [2009-05-26 18:48:51] Jeffrey Hines

I put everything in Evernote. Windows, Mac, iPhone & wev clients and it's all kept in sync. I even put PDF docs and PDF books in my Evernote notebooks, then I can access them anywhere.

[+1] [2008-12-18 04:48:12] thenonhacker

I like it simple:

  1. Text Files (edited with PSPad or UltraEdit). I have conventions for marking headings, todo items, or simple bulleted items. My personal time log is also recorded in the text files, and log the day's notes under each day section. They are easy to backup, viewable by many applications, easily searchable. Plain Text Files feel natural like coding itself.

PSPad or UltraEdit helps in keeping your notes properly formatted (indentation). It's easy to move code snippets around.

With text files you don't have to deal with formatting, but you can use TiddlyWiki if formatting matters.

  1. During meetings or discussions I use real notebooks. If I am bringing my laptop, I use my text files. If using notebooks, I record important information into my text files, too.

  2. Firefox bookmarks synchronized online. I organize my Internet references using folders and/or tags. I make sure the bookmark title is very descriptive, so that you can take advantage of Address Bar search when accessing them again.

[+1] [2008-12-19 01:37:57] tyndall

I just forward everything to Gmail OR email it to myself at Gmail, and label it well.

[+1] [2008-11-23 08:58:14] Omar Abid

I use Google Side Bar Gadget it's not very advanced but easy and fast

[+1] [2008-11-30 15:46:47] John Marsing

I use UltraRecall [1] when I want to capture info from the blogs I read.


[+1] [2008-10-25 21:38:10] Spedge

I quite like Remember The Milk [1]. I can have a tab for each project, an entry for each task and each task allows me to write notes.

Never really got into writing notes for long term - maybe I should start a blog!


[+1] [2008-09-27 20:37:38] Joeri Sebrechts

For getting my thoughts in order I use an outliner tool. On windows I currently use ecco pro [1]. It's very old software (most recent build is over a decade old), but it works really well for putting down structured text. There are some word macro's to easily export to word.


[+1] [2008-10-22 09:15:23] Gregory Higley

I use VoodooPad Pro on OS X, even when writing Windows code in a VM.

[+1] [2008-11-11 18:55:00] Dave

I've been a big fan of Evernote lately.

[+1] [2009-06-24 13:36:49] Shane Tomlinson

I personally use two methods, one being what JBB stated (paper notebook). The second is [1], which I have been working as a part of for the last two years. Ubernote has been coming along very quickly recently and gives me just about everything I need. Users of Microsoft OneNote or EverNote will conceptually understand the application, just about any user of an email client will understand the interface. I know I am an Ubernote evangelical, but working there, I have become pretty passionate about it. Using Ubernote, I can write notes in an editor similar to this one, share them with other people (normally coworkers or my girlfriend), add comments, clip web pages using the Firefox toolbar or bookmarklet, tag, search, etc. I use it to clip a lot of reference material and then look it back up later. Saves me from having to do a Google search for every nugget of information that took 20 minutes to find and I need to remember again.

Even though I write note taking software, I still can't fully give up my paper notebooks, for the common instances of:

  1. I'm sick of sitting in front of the computer and my eyes are bugging out.
  2. Taking a step back from the problem and writing it out on paper makes the solution easier.
  3. I want to do some drawings.

Shane [2] [3]


[+1] [2009-07-16 05:14:14] Jay

I have used several things that were not quite satisfactory, most recently Notepad++. I like how it opens lots of files left open. OneNote is captivating, and I have tried it, but it did not quite work.

I am looking forward to the released version of Win7 with its nice screen clip grabber and using that in conjunction with OneNote--that might just be the right thing for me.

Forgot to mention: a nice feature of OneNote is that you never need to save, it just does it for you. - Jay
[+1] [2009-07-17 10:01:19] chikak

Notes in MS Outlook 2007.

[+1] [2009-07-05 09:36:42] RCIX

I'll throw my two cents in: I use Notepad++ and text files. Anything heavier (word, wordpad, onenote, etc.) is really too much for me. I like a clean and unobstructed window into the notes i'm writing without 200 features begging "use me! use me!". Only downside is that they (usually) get scattered all over my system and sometimes get deleted. Gotta fix that...

[+1] [2009-08-14 16:08:15] Matt Gardner

On Mac OS X, I've been extremely happy with Mori [1] for years. Unix commands, install guides, general notes, robust built-in search. And you can feel safe trying it out, exports your data and.. never actually forces you to register. :)

Mori is a digital notebook that makes it easy to record and organize your thoughts. Unlike the alternatives, Mori doesn’t box you into one way of thinking. Imagine a notepad that grows and grows. No matter how big it gets, you can search it in an instant, as if it’s all written on the back of your hand. Notebook, project manager, research assistant, and more. In other words, Mori lets you decide how you want to keep your notes, references, tasks, clippings, and more.

Lately I've started exploring Scrivener [2], "The biggest software advance for writers since the word processor." I've found it more motivating to maintain good notes as the tool itself is designed prepares your work for publication.

Scrivener is a word processor and project management tool created specifically for writers of long texts such as novels and research papers. It won't try to tell you how to write - it just makes all the tools you have scattered around your desk available in one application.

Never be afraid to make mistakes. Scrivener's "snapshot" feature makes it easy to return to an earlier version of your text. Before starting a major edit on a document, just take a snapshot, which stores the old version safely away. You can then call up old snapshots for reference, or restore an older version of the text if you decide you prefer it to the most recent revision.


[+1] [2009-08-21 00:16:00] bbadar

I keep txt files for each day locally like '08-19-09.txt'.

I find it easier to just grep through them to find what I am looking for. Of course, projects etc. get their own files.

[+1] [2009-09-03 13:15:30] JJ

Yup.Google notebook is the one you should use.If you want to store as documents use google docs.The recent acrobat [1] from adobe looks quite sleek & glossy. However I haven;t explored it much.You can also use firefox addons such as evernote web clipper


[+1] [2009-09-13 16:46:07] Rüdiger Stevens

A sheet of paper....

Since there a lots of them I use college blocks. And I have a big stack of them in office.

[+1] [2009-08-21 18:01:08] Donnie

Emacs Org Mode

[+1] [2009-10-21 00:33:42] Dave

I keep notes by project and projects by web site using a text editor. The text editor I use, kedit, allows me to link from these text documents to the source directly and it supports it's own set of snippets.
For snippets, I have a search page that I maintain on the local server. It helps both me and the other programmers.

[+1] [2009-10-22 19:57:52] Kentor

I use delicious to bookmark important/interesting stuff and use "to do" lists on google desktop to make that things get done.

[+1] [2009-11-07 14:43:47] Mikko Junnila

I use Nocs [1], which I actually wrote myself. It's a simple, Notepad-like app that uses Google Docs for storage. I use it for all kinds of TODOs and snippets. I like it because I can leave it open both at work and at home and my files are always in sync. All the files are stored as actual Google Docs documents, which means I can search and edit them both within the browser and in Nocs.

Very similar to Evernote though.


[+1] [2009-11-10 09:26:22] adolf garlic

When all else fails, I use the 'journal' feature of Outlook

It's easy to add to and easy to find stuff using the timeline

[+1] [2009-11-11 11:16:50] Himadri

I maintain a notebook to keep interesting code snippets,examples topic.....

Simply using pen and paper.

I'm sure this works, it's just that the searching is a bit limited or shall I say, sequential. - Maltrap
[+1] [2009-11-17 13:52:55] Pratheeswaran.R

I use the Zoho Notebook

[+1] [2009-11-27 11:24:42] Shane

What I do is take notes on a whiteboard/paper/whatever everyday.

At the end of the day I use jotnot [1] to take an enhanced photo then save them to evernote [2].

Not perfect OCR searching with the paper(I have awful handwriting) but the whiteboards are pretty successful and I assume it will improve as evernote gets better.


[+1] [2009-12-03 23:26:19] community_owned

Solution: (USB Flash Drive and Notepad++)

Notepad++ is a text editor that highlights many of the popular languages. It's also portable. I can run it off my USB flash drive which is on my key chain so it's with me all the time. I can organize my files in whatever way I need to and I have access to it even when I'm not connected to the internet.

It's not as glamorous as some of these other solutions, but it's a free solution that works for me. The only thing con is the fact that you've got to have a USB port for this solution, so that means no iPod Touch access. But how many times am I actually going to be coding on my iPod Touch? And if I happen to think of something I need to add to my notes and I don't have a computer or laptop around I can email it to myself and save it on my flash drive later.

[+1] [2009-12-04 11:29:24] Matt

I can't believe nobody uses Lotus Notes for this...

I'm stunned I tell you. Stunned. ;)

[+1] [2008-09-17 07:37:34] b3

The combination of OneNote with a tablet PC is awesome! I was a bit of a skeptic at first. I used the trial version and then forgot about it. A year later I had an unruly collection of files, project related emails, notebooks and scraps of paper all scattered throughout my life. I went back to OneNote and all my problems went away. Some highlights:

It is SO worth the price. It allows you to get started on a project and avoid all that time spent deciding how to organize things.

[+1] [2008-09-17 07:42:58] qwertyuu

I also lean towards TiddyWiki. Once you learn the markup, easy to keep your stuff interconnected.

But if you have the money and not anti-MS, then OneNote is the best, especially if you are using a Tablet or Wacom pad.

[+1] [2008-09-17 09:00:04] Benny

I'm using Mind Manager ( and a blank Moleskine. Moleskine for scribbling notes during a meeting and to track my tasks (no tool could give me the satisfying sensation of striking through a task with my pen ;) ) Mind Manager whenever I have to structure a lot of information and to keep track of the itsy bitsy details of my projects.

I liked Moleskine until they came out with the cahier notebooks. I don't like those. - Arthur Thomas
[+1] [2008-09-17 11:25:26] cH1cK3n

I use BasKet Note Pads [1] because it's very flexible. I collect a lot of notes in this application; not only code snippets but also ideas for possible birthday presents, quotations, ...

Unfortunately it's only available for KDE.


[+1] [2008-09-17 11:25:28] Martín Marconcini

I use a combination of Things [1] and Yojimbo [2]. Of course I sync them and also use .text files when I need a quicknote.


+1 for Things (although personally I haven't used it much for work-related stuff) - Jonik
[+1] [2008-09-17 10:01:18] Dave White

I use OneNote 2007. I make sure that my files are backed up to a server and so available from anywhere that I need them. The ease of manipulating text within OneNote is great, and the best thing is that you aren't limited to linear text. You can add new paragraphs off to the side, or on top of another.

[+1] [2008-09-17 11:36:14] T. Kaltnekar

One of the tools I use is TodoList [1], both for actual to-do lists but also for code snippets, links and pretty much anything that can be kept in a form of a list.

Other tool is the already mentioned TiddlyWiki [2], although I'm only starting to use this. It's a very handy tool with built in search and tagging. Interesting variant of this tool is MPTW [3]. It has a bit different approach and provides an easy way to organize information.

For scribbling my thoughts on a current project however nothing beats paper and pencil.


[+1] [2008-09-17 16:49:50] daughtkom

Post-Its for reminders.
Notebooks for meeting notes.
Text files (Notepad/UltraEdit/Notepad++) for tasks and time tracking.

[+1] [2008-09-17 15:02:22] Dario Solera

What a great question...

I use paper notebooks for most of my notes, which I try to keep sorted in binders or folders for future reference. Notes eventually evolve into project documentation, which usually fits in some kind of wiki-form. Classic Word-like documents are a no-no in my opinion.

Any structured e-paper-based approach failed for me. It's overly complicated and it's not portable after all. I do use, however, desktop post-it notes which are excellent for keeping code snippets, to-dos and such.

[+1] [2008-09-17 14:12:56] AriT93

Another emacs fan here. I generally start most notes out in OrgMode. It provides a nice outline style that still allows for free form notes as well. It's also nice because as I identify things that need to be done I can mark them as TODO, schedule them and have them show up in an agenda type view of things to do. Additionally you can set a deadline on them as well which will then make the item show up earlier in the agenda with a count down of when it should be done. I am also a fan of EmacsMuse which among many other things is a personal wiki. There is also some tie in between the two packages I believe that will allow you to publish both org and muse files to html/xml/rss/pdf... Both also can make use of remember mode.

[+1] [2008-09-17 14:33:00] community_owned

1) A good text editor with a hierarchical outliner mode (e.g. Emacs + org-mode, or vimoutliner). why? Because programming involves drilling down into increasingly precise statements of the original task.

2) Your revision control system of choice and local checkout of the source code why? Because the most precise definition of the task usually is code; leaves fall off the Todo Tree and into the tree of source code.

Text files, a GNU userland and revision control go together like coffee, milk and sugar, and this arrangement gives you the flexibility and freedom to adopt new tools as you choose.

[+1] [2008-09-17 09:33:00] Muxa

A combination of things: Google Notebook (with an add-on for Firefox), Google Reader with a "Note in Reader" button for Firefox, Screwturn Wiki, Notepad and a physical notepad of course :)

[+1] [2008-09-17 14:00:23] Eddie Deyo

A legal pad and a whiteboard.

[+1] [2008-09-17 14:19:21] workmad3

My personal notes tend to go down on paper... whatever paper is lying around at the time.

[+1] [2008-09-17 01:06:35] Arthur Thomas

We use Confluence (wiki) where I work:

You have to pay for this one but there are free ones out there as others have mentioned.

we used instiki int he past:

it was pretty nice and free.

[+1] [2008-09-17 01:09:19] Dan Harper - Leopard CRM

On wikis, I like Daisy [1]. It's like a wiki on steroids, and I find it great for documentation, brainstorming and keeping notes. It's also easy to share the information with other devs too.


[+1] [2008-09-17 01:41:46] jtimberman

Like previous posters, I also use TiddlyWiki for my notetaking needs. I will expound on why, from a programmer point of view.

First, note that "tiddler" is a note object in TiddlyWiki parlance.

Each medium to large project gets a TiddlyWiki file all to its own. The default tiddlers are an overall project overview, and a "master" class that links to other objects. Each object has notes about that specific class or object, things that work or don't work, etc. Most of this ends up being in classes, but as we all know, there's additional notes we take while writing code, including external libraries and supporting programs.

[+1] [2008-09-17 01:22:45] Kristopher Johnson


[+1] [2008-09-17 01:27:03] itsmatt

I used tiddlywiki. It was easy to use and generally fits the bill for my needs. The tagging works well.

I suppose, however, that having an indexed drive would work just as well w/out having the need to use a special tool.

[+1] [2008-09-17 02:11:16] dongola7

I use Wikis as much as possible. I find that it helps for a number of reasons:

  1. I can take the Wiki with me from job to job.
  2. I run the wiki locally on my development PC, so it's available from anywhere on my corporate intranet.
  3. When people ask me questions I've already answered, I can just point them to the Wiki page.

I find a lot of people waste too much time on formatting in a Wiki environment and not enough time on just taking the notes. For this reason, I've found Wikit ( to be the best Wiki software. It's easy to setup and run (has a built in webserver), and has enough formatting options to keep me satisfied, but not so many that I get overwhelmed.

[+1] [2008-09-17 01:55:57] Robert

I use The Journal found at

It's a great tool that use for keep scratch notes, my daily journal entries in date format. I keep the sources for connecting to my blog, which is nice to have an offline archive. I keep general programming notes and code snippets in a Loose Leaf format organized by language. I keep a Bug/Error Listing for those @#($&@#(*$ they didn't document THAT moments and the appropriate workarounds. There are customizable templates you can create to save time on repetitious entries. For me these are the built in headers and bullets for my revision notes, daily time logs and workout notes.

Generally I keep my other writing projects, including my novel in here too. The program is very flexible and just plain works well for how I function. I also love how I can install it on my USB Jump Drive, just like my PIM/Business mail program and keep it with me regardless of what computers/machines I am using.

To those whom have mentioned mindmaps, I use those for brainstorming primarily, but that for me needs to be a paper/whiteboard exercise. There is something about the process of creating mindmaps for me that needs to remain somewhat organic. Generally after I complete a map I will either post it on my cork board or scan it/draw it to include in whatever the map was made for. There are a few good programs out there for creating them, particularly MindJets MindManager [1], but I only did the trial on it and can't say for long term how useful it is.


[+1] [2008-09-17 02:57:04] DGM

I keep all notes together with the source management, using trac [1]

By recording links to tickets and changeset together, it makes an easy way to keep discussions of individual issues together, track the code that went along with it, and the wiki is useful for documentation.


[+1] [2008-09-17 03:02:04] Deeksy

Microsoft OneNote is very handy, particular as it can be used disconnected, which is when a lot of thoughts and ideas come to me (airplanes etc.). It's also quite good for sharing notes and doing real time collaboration on ideas and notes, which a must have feature for me that a lot of web-based systems don't have.

[+1] [2008-09-17 03:15:39] rjbs

I have a little 4x6" notebook in which I write down notes and ideas. It's the cheapest notebook Staples sells that I can fit in my pocket, not one of those fancy moleskine ones. That way, I'm free to fill it up with crap and replace it ASAP.

When I solve a problem for a specific project and writing the code isn't good enough to document it, I just write comments. If comments aren't appropriate, most of my repos end up with a misc directory that contains random notes, OmniOutliner checklists, example scripts, and aborted attempts at great ideas.

If my idea is about something more general, but isn't general enough to turn into a released library (which I do at the drop of a hat), I put it in my Rubric [1] and that's that.

I like wikis, but they're generally just a bit too much work for me to use for keeping notes. That has to be really, really easy to do. Finally, sometimes I use Jott [2] to dictate things to myself via Hiveminder [3] so I can put them into the right file later, when I'm out walking.


[+1] [2008-09-17 02:50:19] Peter J. Wasilko

For the Mac Centric ::: I use Yojimbo from Bare Bones Software to store and loosely categorize PDF's (most academic papers Safari Web Page Archives from various developer sites. For a while I tried structuring them all as giant outlines in Notebook from Circus Ponies Software, but Yojimbo's fast and elegant search function obviated the need to spend so much time trying to pre-organize things.

For working code, I just use BBEdit to manage temporary clippings of live code fragments.

But nothing can match Tinderbox with its powerful background Agents from Eastgate Systems (Full Disclosure: I am a friend of its developer) for building and maintaining complex hypertext documents and applying a generative programming approach to building complex mix-development-language web projects.

On the road, I use a solid state voice recorder or OCR Pen to capture notes which I sometimes transfer to Post Its that I leave in plain sight to so they can jog my memory at critical points in time.

[+1] [2008-09-17 04:28:46] Brian Benzinger

Depending on the size of the project, I'll use a notepad or sticky pad. If I'm saving code, I'll usually create a text file in the projects folder and then make a reference to the file in my written notes.

I also use a simple application called Taskpaper [1] which allows you to manage task lists and outlines by writing lists like you normally would on paper. I'll usually create a new Taskpaper file for every project and keep the file on my desktop until the project is complete.

When working with a team, I use Writeboards [2] and basic messages in Basecamp [3] - great for sharing and collaborating with others.


[+1] [2008-09-17 05:27:01] Diwakar

I blog the notes.

[+1] [2008-09-17 03:53:00] Chris

Depending on where I am, any of OneNote, EverNote or Gmail.

*Note applications are short-term memory. Gmail is long-term memory.

[+1] [2008-09-17 05:52:37] Ilkka

I like to use a blog for revelations that are generally useful for other projects as well, stuff like how to use a particular tool really effectively to solve some recurring problem.

For things that have to get done ASAP I use sticky notes on my desk. One note per one item and chuck 'em in the bin when I'm done.

If an implementation solution needs to be defended, the justification goes in the code as comments. This is also true of minor refactoring TODOs, because it's so easy to just grep for "TODO". Larger tasks go in issue trackers, which is also true of my private projects: I tend to use ditz [1].

The rest goes in wikis, preferably.


[+1] [2008-09-17 06:04:44] Friedrich

Well I'm using XEmacs nearly all day long, so it's "natural" to use it for everything. The mode to keep on snippets, notices etc is named planner. Which is a wiki like stuff. The stuff is simply kept in text files and that's the unbeatable....

Regards Friedrich

[+1] [2008-09-19 22:06:40] pablasso

Depending on what i'm doing i use:

Yeah that workflow is very useful, I add a wiki for documenting strange things and processes in my servers, for the case that another person has to follow trough my work. - levhita
[+1] [2008-09-20 02:56:11] Turnkey

It would seem that a combination of a Tiddlywiki [1] file and a DropBox [2] would be a good solution. It would have the network usefulness of Google Notes with the plus of being editable/accessible when disconnected from the local Dropbox.


[+1] [2008-09-20 03:56:06] heckj

Mac specific answer: I use VoodooPad [1] extensively for keeping snippets, notes, and so forth. Aside from being an excellent hypertext editor, its single biggest benefit to me is the ability to run scripts from within one of the pages and get the results immediately.

The resulting pads become an active tool as well as information repository that are just invaluable.


[+1] [2008-09-19 00:45:16] agartzke

I have used TadaLists with relative success - good for sharing with others for cross-person lists. I typically keep only certain types of lists (i.e. application ideas, technical checklists for an eclipse install, remaining items for small apps, etc.). I have found some bugs with the re-ordering, but other than that, it's really simple and quick. Certainly there are better tools out there targeted at developers, but this works for me (for now). One major benefit is that it follows me - I can't misplace it or forget it at home, and can access anywhere I have Internet, which whenever I need it, is practically always there.

Previously, I've used notebooks with limited success (lose them), and the whiteboard on my desk (out of date too quickly).

[+1] [2008-09-19 02:54:17] community_owned

I use Daisy WIKI / CMS ( to keep my developer notes. The reasons are rather simple:

That is why I use Daisy, in a nutshell. As you can tell, I rather like it! :)

[+1] [2008-09-18 18:51:47] ampburner

todo lists: my '@Work' context for Remember the milk [1]

most things else: I keep things where I need them. Comments inside my code. postits on my desk, and if I feel something's worth sharing I might post it to the internal wiki my company hosts.


[+1] [2008-09-19 03:49:24] Jonathan Arkell

I use Emacs, along with planner mode and remember mode. Planner mode is a TODO list software, with PIM features, and it sits on top of Muse-mode, which is basically wiki software for emacs.

At the core of planner is the daily page. IT is a new wiki page that is created every day. I keep my daily journal in these daily pages. it also stores daily appointments, and tasks.

If I am starting up a new project, I will create a new wiki page for it. At this point, I can start adding tasks right away with planner mode, and linking them to daily pages (for their due dates). Additionally, you can create wikilinks to other projects (for super-projects or sub-projects.) or even links to files and file positions in the filesystem.

So notes regarding a particular project would go into that projects page. Checklists would become todo items. Final solutions would also belong in there. Code snippets exist as links to that particular file, plus some notes to go along with it.

Everything is in one nice and central place in my IDE. It's bliss for me.

[+1] [2008-09-19 03:51:06] prasanna

After trying a bunch of things, I've taken to just carrying a small notebook with me at all times and note down everything I think of and when I really need to take code snippets, some of them go to google notebook in the folders or into tomboy... if I'm using windows and it's for some sort of paper, OneNote all the way!

[+1] [2008-09-19 12:33:06] community_owned

Some time ago, I adopded a simple but very efficient workflow that handles/comprehend also note-taking:

  1. I usually develop using eXtreme Programming [1] methodology, so every time i start a project, i split it in user stories [2].
  2. Every user story and its development history is formalized and documented into an "issue" created using BugTracker.NET [3], and is developed/versioned using a SVN repository [4] controlled through TortoiseSVN [5].
  3. When i commit come changes, I attach some notes into the revision that describes the actions taken and the strategies adoped.
  4. My project's SVN repository [6] is connected through a post-commit hook to my BugTracker.NET [7] instance, so every time i commit something, into the user story is added a relationship to the changed files and their notes.

In this way, every note I take is related to a specific development workflow and is avaiable for further analisys. Since the BugTracker.NET [8] web site is exposed to the internet, I can search/consult/interact with this knowledge just navigating into it


[+1] [2008-09-20 18:24:48] starec

To save (and share) your links use Diigo ( You can highlite text, pictures,...

[+1] [2008-09-23 12:15:27] Nrj

Anything that's handy and is available when I want to scribble -

be it my notepad, notebook, a file on PC, sticky notes, even wall :) .... whatever that helps jot down your thoughts without breaking it due to non availability of any thing in particular..

whats the point looking for a particular medium, which by the time you get, entire thought process is gone.

The only thing to care about, what ever you used, should be available for back reference !

[+1] [2008-09-23 17:26:00] Mark Stock

I make notes, lists, todos in text format, and either save these in a "doc" folder in the project folder, or right in the project folder itself if there are only one or two files. If I am using version control these get checked in with the project.

I typically use whatever basic text editor/reader comes with the OS that I am using at a particular moment: Mac OS TeachText [1]/SimpleText, OS X TextEdit [2], Microsoft WordPad [3] and Notepad [4], the cat [5] command in BSD/Linux, Nedit [6], etc...


[+1] [2008-09-23 19:16:06] Yar

I use my own product which I built with this in mind: TheKBase [1]. It's multiple hierarchical, not unlike your brain.

It reads and writes pure XML and is very lightweight (but needs .Net 2.0 or better) and user-supported (i.e., free). I cannot imagine why people would use physical notebooks or notepad.exe when there are options like this around.


[+1] [2008-09-23 19:25:09] Ryan Delucchi

The best "sticky-notes" app I have ever used (very lightweight and small notes with no window widgets wasting screen real-estate): AtNotes [1]. Unfortunately, this application has been discontinued but you can still download it and use it. When I get my first MacBook, I will likely make use of the Desktop Widget feature for this same purpose, but on Windows: AtNotes rocks.


[+1] [2008-09-22 08:29:22] Till

Over the years I have tried so many tools myself, I don't even know remember what I tried. I know that Google Notebook was among them, wikis (serveral) as well, Basecamp [1], Rememberthemilk [2], etc..

One important thing that I learned in the process was, that whatever tool I use, failure always came when I started slacking off. For example, I did not stick to my plan [using X] and that is what created F'ups down the road. It didn't really matter what I used, be it a wiki, or a moleskine or something else.

I am currently using the todo-list feature on my e71. And I have for the past year or so always used my phones capabilities to keep track of my tasks. I enter pretty much everything in there and set a due date etc.. This has helped me a lot. I syncronize my phone with an online calendar which I also update with whatever I have to do. This is as far as personal organization.

For keeping records on stuff I build and solutions to common problems, I currently employ my own PBWiki [3] account.

What I generally like about the wiki approach is that the structure is very flexible. I can enter information, and re-organize it later on. It also allows me to restructure information when I think I need to. I usually organize my entered data weekly.

The only downside to a wiki is that you need Internet, and that you need to be dedicated about entering information later when there is no Internet currently. It's something I constantly struggle with. ;) The phone and wifi really help, but in the end it's up to me.


[+1] [2008-10-05 19:36:43] Gordon Carpenter-Thompson

In my head and in the code with comments...

though, it's more difficult to do this now with a 2 year old running around :-) - Gordon Carpenter-Thompson
[+1] [2008-09-27 20:04:19] Sean Reiser

These days I use plain text files (I'll leave the vi vs. emacs debates for others). I have a dropbox account so the files get synched to each of my machines automagicly. Dropbox does revision tracking so I have at least a poor man version control on them. I am doing the same for todo lists as well.

[+1] [2008-09-21 02:22:47] Andrew Edgecombe

[+1] [2008-09-24 03:52:04] JosephStyons

I use a pen and paper, but the other day I found what I want for Christmas [1].


[+1] [2008-09-24 05:40:08] X-Ray

i made a ratty little program i call InfoCache. it's written in delphi and uses the MS Access engine. it also uses the (somewhat frail) access replication. it presently has about 8000 entries in it. pretty cool. it's searchable & can contain UU Encoded binary files as well.

alt text

i should put the program itself on sourceforge but frankly it's not hard to write one yourself.

[+1] [2008-09-24 16:16:09] Timothy Lee Russell

I wrote ForestPad [1] for this purpose.


[+1] [2008-09-17 22:21:15] Tod

For a text file that I need to open on multiple computers, I use Drop Box [1]. It magically syncs the file so I can open it on multiple computers. The get an auto reloading editor like MS Dev Studio or Ultra-edit. Now the file is always up to date on all your computers!


[+1] [2008-09-17 19:11:51] lamcro

We use Mindtouch's Deki Wiki [1] at work. They have a ready for use VM image that can be running in your desktop with a VMWare player or pluggeg into a VM server. Minimal setup required this way. The VM runs on debian, but you can download the source-code (GPL v2) to setup yourself. Requires Mono/.NET

All my work-related notes are placed in the wiki. Most of them are made public so others can benefit. Since we use a pretty old language, not used by many other companies, this helps. Plus all the (very old) paper guides for the language were uploaded to the wiki.


[+1] [2008-09-17 18:18:39] Rob

I can't recommend FreeMind highly enough.

[+1] [2008-09-18 07:06:09] Wayne

I use Yojimbo [1]. It works well for keeping not just text but images, PDF documents, web sites (links and full archives), etc.

I have collections for common things that are not tied to any single project (syntax cheat sheets, interface guidelines, etc.). I create a separate collection for each specific project where I put things like web research, code snippets, requirements docs, and engineering notes. Yojimbo allows the same item to be in more than one collection so it's easy to aggregate project-specific and general-but-related information in one place.

Yojimbo syncs all its information (via MobileMe) to all of my machines so I have the data wherever I am. But unlike web-only solutions the information is actually stored locally on each machine. That means I can work offline (I usually commute by train) and everything syncs up the next time I connect.


[+1] [2008-09-18 08:29:41] community_owned

I use Org-mode in GNU Emacs. It's pure text: you can easily backup your notes, or handle them via a versioning system. You can also export them to various formats, with code highlighting. Very nice.

[+1] [2008-09-18 03:25:46] community_owned

I use MediaWiki for keeping large notes (i.e., diagrams, specs). For short-lived snippets, I use this alias so that I can just type "wiki" at the command line:

alias wiki="pushd .; cd /home/simoncpu/notes; vim wiki; popd"

[+1] [2008-09-18 12:02:09] Dmitriy Kopylenko

Check out Gist at GitHub [1]


[+1] [2008-09-18 13:22:48] community_owned

For general observations and "what have I learned today" type things, I second the notion of using a blog. If nothing else, it'll be something interesting to go back to.

For code snippets, I'm quite enamored of basKet on linux.

[+1] [2008-09-18 13:46:11] user9282

I use a combination of physical notebooks, Emacs modes and LaTeX (just so that I do not lose my typesetting skills - they're invaluable.)

[0] [2008-09-18 14:03:50] WACM161

Paper and pen!

[0] [2008-09-18 14:20:07] theJonan

During the thinking process a sheet of paper is great for me - I can sketck, draw, mark, put number while debugging, etc. This is for temporary memos, however. For more general and long-term information I use docs and/or spreadsheets, depending on the information itself.

For most important, mid-duration memos I like to use source files and simple text files - todos, marks for needing optimization / further reviewing - all fit very well among the code, since this keeps them well up to date.

Also sometimes when I am really into something and I have to interrupt - I put a small summary, in the current source file, of what the current state is and what are immediate steps that must be taken to continue - this helps me to restart very fast when back.

[0] [2008-09-18 14:20:39] community_owned

Tinderbox for everything. Links, outlines, maps, agents, search, export, you name it. Can be as simple or complex as you want. I live there.

[0] [2008-09-18 14:26:40] Brad8118

I've been using One Note. Its ok. Have a different page for every month and throughout the day I document what i've worked on.

[0] [2008-09-18 14:39:10] Adrian

I use Trac [1] tickets for keeping track of things to do, and Trac's wiki for formal notes and documentation. During a planning/design/brainstorming phase, I'll use pen-and-paper, and if I'm trying to work out a complex problem that I can't keep all in my head at once, I turn to the large whiteboard hung up next to my desk. Each is perfect for certain purposes, and I couldn't do without any of them. Especially Trac. Nothing would ever get done around here without Trac!

I also frequently rely on Gmail and it's search capabilities; if I get important information via email, I never need to transfer it anywhere else to keep track of it, I just leave it in my mailbox to be searched for when it's needed.


[0] [2008-09-18 15:10:11] Milhous

I think a blog is a good place to put you ideas. If google indexes your site, then you can search for previous answers that you used.

[0] [2008-09-18 15:11:07] Esa

A notebook, and plain-text documents edited with VIm, generally. I do use google for links and notes in the style of "remember this!"

[0] [2008-09-18 15:26:01] JeeBee

I use a notebook. I am a visual guy so I like to draw diagrams of workflows, mockups, schemas and so on, so computer based tools are too clumsy compared to a pen and paper and sitting back on the sofa. A tablet PC is not an adequate replacement either. You can't beat the feel of paper, the high DPI, the instance feedback, etc.

I also have a personal SVN repository of project code and snippets.

I would also set up a personal Wiki for when I am having to write or document things, often snippet-based best practice notes.

I use a ToDo list manager application for listing tasks I need to do. The one in Outlook is not suitable in any manner, you need one that can handle task hierarchies - an outliner basically. OmniOutliner on the Mac is great, and OmniGraffle is great for drawing up those notebook scribbles later on.

There are applications that can be used for authors when writing books, and I think there is room for a tool that does the same for programmers.

[0] [2008-09-18 15:58:08] community_owned

I use a bound A4 Artists Diary (unruled, high GSM paper) which I write mind maps, scribbles and all sorts of unstructured goodness on.

I rarely seem to need to review these notes ... it just helps to write them down.

[0] [2008-09-18 17:33:42] Dave Dunkin

We use NoteScraps [1] at my office. It was developed internally to solve this problem. It was designed to be simple and look great.


[0] [2008-09-18 17:45:03] tidge

I'm a big fan of a notebook or even just a pad of paper... but for a while now I have been doing a lot of note taking in OneNote. It's all about being able to search quickly.

Others have mentioned sharing on a network which can also prove helpful in some applications. Also I find it's simple ability to capture screen prints, or even print outs from a web browser or other application to be really helpful.

[0] [2008-09-18 17:51:14] Lark

I like to use one of those bright yellow note pads. I have always preferred to write my notes/ideas out by hand rather than use a word processing or note taking software. It feels like I am able to explore ideas easier on a note pad because I can make quick sketches of ideas, connect two separate thoughts using arrows, or just doodle.

I think the notepad gives me the ability to have a uninterrupted stream of thought. If I am typing I easily get distracted by an IM message, go to a website, or what ever. I seem to be more distracted when I try to write notes or ideas using the computer.

Maybe I am old fashioned. I don't know.

[0] [2008-09-18 17:57:09] willCode4Beer

I used to keep notebooks and always lose or misplace. Now-a-days, I just post solutions on my website.

[0] [2008-09-18 13:27:55] user17670

I have currently begun using sharepoint. More because VS Team Foundation automatically creates a sharepoint site for each project created. This, so far has been an excellent place to put documents about the project (Design docs, 3rd party utility docs etc) as well as forum like dicussion boards etc.

Now, that being said, that is project / team based. We also have a division level sharepoint site where we do much the same.

Personally (Outside of the company) I have tried onenote but I will certainly checkout some of the suggestions made here.

I have used Sharepoint. I am sorry for you. - Casey
[0] [2008-09-18 12:43:00] Subimage

Basecamp [1]


[0] [2008-09-18 13:14:51] Brad Osterloo

If you have a MSDN License - use OneNote for dragging & Dropping URL links, email, documents, etc - its ability to rearrange existing notes is awesom

I also agree with the suggestions of TiddlyWiki and ScrewTurn Wiki - I love to use wikis for personal and group collaborations and brainstorming

[0] [2008-09-18 21:01:11] unexist

I use the Firefox Extension Quicknote [1] for small notes.


[0] [2008-09-18 21:15:56] quamrana

I use the fitnesse [1] wiki to keep notes on projects at home. One feature it has that I've not seen in other wikis is that it is hierarchical, which means that you can have short names for pages that don't clash with pages with the same name in different branches.


[0] [2008-09-18 21:19:02] John Rudy

I like and use OneNote quite a bit, but have recently fallen off the wagon and returned to paper and pencil. (I just like them!)

I miss InfoDepot (an old Classic Mac application) for this sort of thing. In fact, I'd still use it (I have several copies; former employee of the company which made it -- before my programming days, mind you) except that printing from an emulator is nigh-impossible. If you have a recent Mac available, OmniOutliner [1] is very similar. (I last used version 2, which is still quite sufficient for my needs. Great app.) Both of these products work on the concept of organizing your data as outlines with multiple columns -- think outline meets Excel, and you get the drift pretty quickly.

Would that there was a Windows app similar to OmniOutliner/InfoDepot -- that's the ideal note-taking/organization app for me. I've often toyed with the idea of making one ...


[0] [2008-09-18 21:23:49] community_owned

Evernote for the win - being able to synch up across multiple computers and on multiple operating systems AND on my iphone makes it the best app for me. Just take a few minutes to learn the shortcut keys and you'll be good to go.

[0] [2008-09-18 22:38:54] xsaero00

One great tool for jotting down notes is Tomboy Notes. It comes preinstalled with Suse Linux. It is easy to use and it support cross linking. Having said that pencil and paper is still more natural than any computer based solution.

[0] [2008-09-18 06:07:52] Ryan Bigg

Check Off on the Mac is cool, hides away nicely and pops out when you need it. For any important calendar events / deadlines I use iCal.

[0] [2008-09-18 06:11:44] willson

may be it just fetish, but I use my molesckine :)

[0] [2008-09-18 06:26:58] Piko

Personally, I've found a Wiki in general to be the best. Especially if I can get to if from anywhere. Specifically, I've grown quite fond of DekiWiki [1]. It's open source, written strangely in PHP and C#, and runs under Mono on just about any OS available (Linux, Windoze, Mac OS X or otherwise).



[0] [2008-09-18 06:33:47] Jan de Vos

As indicated by the amount of replies here, there are many options. Which you choose depends on your requirements, which might include:

The main advantages that paper have over any digital options are in drawing images, as well as fast text entry -- it is often much easier to reach for a notebook than to find a program on the computer, if only because usually, my desk is a lot bigger than my monitor, and is used ony to store paper things (and coffee mugs, off course).

In the digital realm, simple text files with a versioning tool (subversion or darcs) seem to satisfy all the requirements very well, so that is what I use whenever I just want to jot down text (I type a lot faster than I can write). Fast text entry is my most important issue though -- I type a lot more notes than I ever re-read. An absolute requirement for me is therefore that I can just summon an empty note with a single keystroke from any context.

[0] [2008-09-18 06:34:47] RHeitzmann

I also use MediaWiki, personally as well as in team projects.

[0] [2008-09-18 06:50:33] Dheer

I use Google Notepad

[0] [2008-09-18 06:56:03] Kristian

I have started using CardMeeting [1] to keep track of my different tasks. Great if you want to share notes within a team as well.


[0] [2008-09-18 09:08:40] Andrew Dashin

Notes on the Dashboard (MacOSX)

[0] [2008-09-18 10:20:03] user11211

I make notes on a white board in my office, on my own and when other team members are part of the discussion.

I then take a digital photograph with my mobile phone.

These images are then sorted and listed in my SDF (Software Development File).

I also use a physical notebook. I find myself more productive (when thinking) if I am not behind a keyboard.

[0] [2008-09-18 11:48:52] Cédric Girard

I use a small home-made database, driven by a simple search box.

[0] [2008-09-18 11:58:50] akr

For long term notes use a wiki. We use Dokuwiki [1].

We also use a bug tracking or change request system like Mantis [2]. Here you can handle requests for change in code. Developers and requesters can vote on and discuss changes and bugs. This way you keep a history of the discussion which is also very useful.

An interesting approach I found some time ago is to establish a local IRC, let everybody discuss their problems, log all conversation and make the log searchable. This way, someone on vacation can spend the first day to read the conversations and get on track with what happened the weeks they were away.


[0] [2008-09-18 07:16:18] oneBelizean

I tend to use a simple text file organized in folders what convey what the notes are about..for example a GWT folder for google web toolkit notes

[0] [2008-09-18 07:48:37] community_owned

emacs modes like org or planner.

[0] [2008-09-18 07:59:20] Sergey Stadnik

TreeDBNotes Free [1]


[0] [2008-09-17 18:22:35] SonnyNoBucks

I use "the Brain" from since it works a Mac Os, Linux, and Windows.

[0] [2008-09-17 18:29:37] Abyss Knight

Personally, I use Notepad++ for long term notes and Notepad for short term cut and paste items. Everything else we keep in our CM system (i.e. design details/notes, requirements, source code). At my previous job, and for freelance work I've used Google Docs & Spreadsheets just so I could share the notes out and access them anywhere.

Oh, right, and a ton of notepad paper strewn across my desk. :) - Abyss Knight
[0] [2008-09-17 18:35:04] community_owned

dotProject is Open Source Project and Task Management Tool who let you record and/or share milestones, trouble tickets, notes, etc.

I highly recommend it.

[0] [2008-09-17 18:40:56] Chris Charabaruk

I've found that using a wiki is a great way of doing things, but if you can get everyone in the same room, there's nothing better than an active tape recorder, a big whiteboard, and a camera for capturing the state of the whiteboard as you work together. Even if you're working solo, the whiteboard and camera can be very useful as a way of tracking how your mind flows while working on a project.

Also useful, of course, is the tree of text files, especially when kept in a source repository (for the always helpful revisioning that occurs), but a wiki is just as good, if not better for this.

[0] [2008-09-17 18:46:25] Ethan Post

Dave Winer's OPML outliner tool is simple and handy.

[0] [2008-09-17 18:56:43] projecktzero

PMWiki for notes. For todo items and reminder, Tracks or Bitnami for easy installation package of it. Lots of good ideas in this thread.

[0] [2008-09-17 19:00:32] Pascal Paradis

I use this

alt text

[0] [2008-09-17 19:28:41] deadprogrammer

I use Evernote [1]. It's the best incarnation of a Memex [2] to date.


[0] [2008-09-17 19:40:29] Johnny Maelstrom

I just use a text editor and store all my snippets in a set of folders organised by language. I put the code with a brief description in the file of what it's for and then title the document with what it's an example of and use that title to name the file. Once this is done, you have a question and an answer that can be searched (Google Desktop?) or browsed through the file system to get at an answer of how to do something. I try to apply a bit of a "refactoring" methodology, by only writing something up if I'm using it for the third time. That way, I don't have to scrabble for an answer again and I know the code is likely to be reused again, so it's worth my time to document it.

A highly ranked answer by JBB mentioned note books. I agree with that person, something in my brain clicks in to action when I write something down, which is not happening when I type in to a computer. It some how solidifies the information in my brain. There is one draw back to notebooks. Search, retrieval and sharing of information aren't so easy, which I guess is why and other sites are about.

[0] [2008-09-17 19:52:09] community_owned

I use emacs org-mode together with remember. Under org-mode I use a GTD file with topics and tasks and a task-topic to gather tasks yet to be distributed over topics (or projects). Remember allows one to quickly add new tasks (they go into the task-topic at the top of the file) and notes (they go into a notes file, but can carry a reference to a topic (project).

The GTD file, the notes file and an archive of completed tasks are all kept under Git version control. At work, at the end of the day I push these files to Github. At home I can pull them out of Github; add stuff, commit the files and push them to Github.

Simple text files organize notes and projects and can be reached from anywhere.

[0] [2008-09-17 21:12:43] Guy

I blog it.

[0] [2008-09-17 21:21:09] community_owned

For small notes, I use KNotes (provided with KDE). And for more important notes, I send an email to myself :-)

[0] [2008-09-17 20:44:05] community_owned

Filofax, so you can add new pages when you want to expand a section, and avoid that logbook problem of having different projects all mixed up.

[0] [2008-09-17 22:22:21] Scott Evernden

Notes? I don't need no steenkn' notes! .. I use eidetic memory...

[0] [2008-09-17 22:28:34] JRoppert

SnagIt, OneNote and Evernote

[0] [2008-09-17 22:36:07] community_owned

I use a combination of OneNote, Blogging and good ol' pencil and paper.

[0] [2008-09-17 22:50:31] RKitson

Evernote rocks!

[0] [2008-09-17 21:52:05] Jon Cage

I've used 3m's Post-it Lite [1] to great success for quick notes I don't want to lose. I always end up losing physical post it notes as they drop off the monitor when people walk past my desk (open plan office). They also make copy and paste in to/out of emails much easier ;-)


[0] [2008-09-17 22:02:54] Keith

I use EditPad Lite (like notepad) for quick how-to steps for stuff I know I'll need to do in the future and will forget.

I use physical 1 subject notebooks to record my daily activities.

For changes to code that is in-production I identify my changes with date, name, and summary.

[0] [2008-09-17 22:03:15] Jeremy

I have various "cheat sheets" like reg ex, css, html quick references printed and pinned to my cube wall. A few Other things I've printed, but mostly I just bookmark my stuff in IE with a well define folder structure. I found if I end up keeping too many notes in a binder you can't find anything anyhow.

[0] [2008-09-18 00:25:47] community_owned

Keeper [1] is a note taking application, more intended for use by writers but has many of the features the other note applications mentioned here have. Notes are quick to add (ctrl + n) and there are a variety of note types and brainstorming features. Keyword tagging and search available as well.


[0] [2008-09-18 00:32:57] logoin

I used to use office's note for my work. It's full of tips related to work. I then move everything to Google Note since I can search and use it anywhere. The drawback is that I can't narrow my search in certain notebook. It would be great to try other tools.

I also like to use physical notebook to draw out ideas and use UltraEdit when I need to look at some one time data.

[0] [2008-09-18 00:37:02] community_owned

Simple text file on a remote server.

[0] [2008-09-17 22:58:17] community_owned

I have a couple of text files... One for my one-liners & PERL inside vim. One for sysadmin help when I did that job, how to "config a scsi tape drive" use the "dd" command to format a floppy, etc. And I have a good sized directory that includes everything from one use shell scripts, to perl stuff cut-n-hacked out of the man page examples saved off as things like, all the way up to some of my medium sized data cruncher and stat generator programs. This way, I can grep stuff out of them as needed. And I'm a little on the lazy side, I have aliases that grep stuff out of my help files. And if anyone asks me a question I don't have time to answer, I tell them to look at my alias "gp" which does "grep *! ~/hints/perl_one_liners.txt"

[0] [2008-09-17 23:05:09] Ivan

I use a method very similar to JBB's, only I use small three ring binders instead of notebooks, because this way I can better organize the pages, and use all kinds of paper (blank for sketches, ruled for normal writing, etc.)

I also have an adjustable hole puncher so I can put anything in there (printings, magazine clippings).

Fortunately, the size of the binder pages is half letter size, so I can print anything without having to load special paper into the printer, and I just cut it afterwards.

I tried blogs, wikis, and all sorts of more advanced tools, but none has worked better than this one. Although I'm thinking of improving it by scanning the pages and uploading them to a blog or some other web tool so I can look at them anytime.

[0] [2008-09-17 23:15:04] Jared

Since I run an Apache server anyway for personal use I just use Media Wiki. I make weekly backups of the database so I can reinstall it or transfer it to a different machine if necessary. I like using Wiki because if someone asks for help I can just give them the URL and they can look through my notes with out having to borrow a notebook.

[0] [2008-09-18 00:10:23] Steve Lacey

Text files in ~/lib/docs

[0] [2008-09-25 12:13:11] Dror Helper

I use Evernote [1] to keep all my code snippets, blog exerts and links. Evernote has the following features that made it great for my everyday note taking:


[0] [2008-09-21 05:06:39] Bob Minteer

I use Mindtouch DekiWiki [1] for all my programming and system management notes. By restoring backups of the (company) Wiki to a Virtual Machine on my MacBook, I can take my development notes anywhere.


[0] [2008-09-22 00:04:35] AdamB

If it is something I know i am going to reference a lot and want to reference easily, i use a wiki.

If its something quick, notepad in windows or a pen/notebook.

[0] [2008-09-27 20:12:53] RTipton

I use Evernote. I love the fact that I can get to my notes whether I on the Internet or not. Also, the text in graphics are searchable. Comes in handy for a photo of a Whiteboard.

[0] [2008-10-06 22:27:36] gltovar

I have been using a A4 sheet of white board paper and thin white board pens. Then I will take a picture of an important note.

[0] [2008-10-08 16:23:40] AgentThirteen

If they are documentation type notes, I'll use a text file or Word doc in the project folder so it's available to all via source control. Personal notes, usually just a text file or a physical notepad, although I'm looking at Evernote and Onenote after reasing these responses.

[0] [2008-10-09 17:04:28] arinte

I use a mix. I hate using notebooks, because I am prone to losing them and if I do then I am a bit screwed. I hate using a laptop, because I don't want to lug it everywhere especially to someone's cubicle. I have a smartphone, but I type very slow on them. So what do I do? I mainly go with paper and type it up later or just try to remember and email it later.

[0] [2008-10-09 17:09:35] catfood

Little "composition" notebook.

[0] [2008-10-10 19:27:10] Eyebee

I use a mixture of small spiral notepads, Google Notebook, Evernote, and post-its. I'm gravitating more and more towards Evernote however.

[0] [2008-10-12 20:22:48] Stephen

Depends on the project, but I sometimes use Tinderbox [1] for planning notes.


[0] [2008-10-13 21:09:22] Christopher Lang

I love Yojimbo on OS X

[0] [2008-10-14 03:03:53] Blinky

I'm becoming scared that this post is misleading developers to use physical notebooks. Note that the majority of people prefer digital solutions, they just aren't in consensus for the type of software. There is evidently less competition among notebooks than among software products.

This answer is a community wiki. Please edit it to reflect the best resources revealed by this question.

[0] [2008-10-15 10:20:50] Vaibhav Garg

MS onenote 2007 works like a charm for me.
The OCR from screenshots as well as the capability to have unstructured thoughts presented in a structured way, automatic backups as well as saving and a bootstraper with amazingly small footprint does it for me.

[0] [2008-09-22 18:58:25] Blue

A combinaison of a physical notepad and the windows notepad. I use windows notepad when I want to be able to copy/paste my notes. Other worthy notes are in my physical notepad which I can bring with me everywhere I go.

[0] [2008-09-22 19:36:23] knight0323

I've been pretty successful with:

I've tried Evernote, OneNote, etc but I always fear the file format... Wiki on a Stick is a single html file.

@ Karthik Hariharan [4]:
You are right that the single file things bloat and I did fail to mention that I do not use a single Wiki on a Stick for all things. I've got an intro html page that leads into multiple Wiki on a Stick instance. The intro page is a gasp frameset so that I've always got navigation to at least the top levels of my other sites. I have one wiki for gaming notes, one wiki for development reference, one wiki for recipes, one wiki for my blogging/writing notes, etc. (My work wiki is organized similarly by client and/or project.) I find this a minimal amount of work for staying away from specific file formats and staying with open html/javascript.

[4] #118153

[0] [2008-09-22 23:07:13] Karthik Hariharan

This is a great thread and I will certainly be checking out some of these alternatives.

The solution I was using was to find a notetaker that consolidates to just one flat file and then use something like FolderShare or DropBox to sync it with my home, office, and laptop PCs.

The downside to this is that many of these single file things (like TiddlyWiki) don't scale very well over time. After 2 years, TiddlyWiki became so bloated and slow that I gave up the notetaking concept all together.

Now I actually use gasp Outlook tasks.

[0] [2008-09-22 23:09:18] Tom Anderson

Microsoft OneNote stored in the Solution and bound to source control.

[0] [2008-09-22 23:19:52] James Hartig

Also, I find it the easiest to use a physical notebook. I carry it around everywhere and add ideas as I go throughout my day. Then at the end of the day, I usually go on Google Docs and organize them on a document.

[0] [2008-09-23 00:47:26] DanielHonig

ToDo comments in code and then I use the things application for tasks lists....

[0] [2008-09-23 03:22:33] lsdr

A plain text file or a dead-tree notebook. I normally take notes in the heat of the moment, so I prefer to keep it simple.

Everytime I tried something fancier (like Tomboy on GNOME), while it was nice at first, failed the purpose for me. It normally breaks my workflow, thus I stick to the simple text files.

[0] [2008-09-23 08:16:08] Sia

For keeping references handy I've been using an Excel file with multiple worksheets, e.g. Web, Db, C#, C++. Each worksheet has the following columns:

Subject | Title | Description | Source Link | Last Updated

[0] [2008-09-24 00:36:30] jesal

I post useful/interesting code on my blog for me and others to reference later. Other than that I use Gmail (which has proven to be very useful) and also traditional Pen & Paper.

[0] [2008-09-20 22:38:40] Nathan Koop

[0] [2008-09-20 18:13:52] community_owned

I use MS Word file to write notes and upload it my Yahoo,Gmail(backup) Inbox..You can make seperate folders for your notes in your EMail website....The uploading thing is done every 4-6 months to save it from any hard drive failure...its a bit tedious but thats the way i am...simplicity has also been my friend...

[0] [2008-09-19 12:43:23] Kevin Fairchild


[0] [2008-09-19 05:51:22] community_owned

I use the small vista gadget that provides you post its until I don't need it, in case I need it back, just send a self email and keep it stared or followed up

[0] [2008-09-19 09:21:08] VP

As a simple solution, i use google desktop + gadget to take notes + calendar. Good thing about google desktop is that you can use a lot of your "google hacks" techniques to filter your search plus specific techniques for your desktop ( To fast notes about debugging, values, fields names, i use to take a note with a pen + notebook. Just avoid to write there your passwords :-)

[0] [2008-09-19 03:49:41] Wayne

The back side of meeting agenda and minutes that my company insists on printing out. And bulldog clips.

[0] [2008-09-18 18:56:05] neu242

I just use Livejournal [1]. It's not fancy, but supports tags and is always available.


[0] [2008-09-19 03:03:07] Arthur Vanderbilt

I drift between EverNote and Backpack, tending to keep everything for one particular ticket or project in a backpack note and then archiving it to EverNote for sort of project-based stuff. EverNote for one-off things and storing all manner of information. I also flirt with OrgMode frequently.

[0] [2008-09-19 03:16:25] Otto

link text [1]I've been keeping a solution log as suggested in Practices of an Agile Developer [2] for a couple years now. I keep them in Yojimbo (Mac OS X specific) as rich text notes. The program isn't the important part, though. It's getting into the habit of keeping track of the solution to every problem you spend more than a few minutes trying to figure out. It's invaluable to have it as a reference when you've come across it again and can't for the life of you remember what the solution was.


[0] [2008-09-19 03:23:00] Aaron Arbery

If I am on the road, nothing beats dead trees. I normally carry around a small, hard covered paper notebook (to survive the rigours of my backpack). It doesnt ever run out of power, wont get checked by airport staff and boot up is immediate. When I get home I transcribe it into a personal wiki. The transcribing process allows me to reflect on what I wrote and add to it or discard information as required.

[0] [2008-09-19 03:24:52] Bil

Physical notebooks. They don't need batteries and always work. Anything I jot down there for ideas (usually done as drawings either architectural or UI) become spikes, real code, or blog posts. I keep as few notes as possible and let the software be my notepad.

[0] [2008-09-19 00:50:55] Kibbee

There's a One click install of MediaWiki avaiable on my hosting service. I use that when I want to save notes.

[0] [2008-09-19 01:07:36] The Hoss

TextPad [1]

I date and time stamp my entries into a different text file for each project, and keep a running dialog of my thoughts, progress, etc.

It also makes an excellent editor when I want to look at some code without firing up the IDE, as it has built-in syntax highlighting. If it doesn't have syntax highlighting for the language I'm using, I can download the appropriate Document Class from their website, or create my own.


[0] [2008-09-19 01:16:43] Jeremy Reagan

I use the lined yellow legal pads for my mind maps and simple notes, but for more important stuff that needs to be kept forever I use a small C# app that I developed just for this purpose with built in search for speed and efficiency.

[0] [2008-09-19 02:16:52] mbac32768

I have been programming for nearly 10 years now and I have no magic toolbox of code to show for it.

My rationale is that what I wrote to solve one problem only solves that particular case and probably just barely does so. Think about it. If you're writing code it means that you either A) didn't look for an existing solution in the operating environment you're running under, or B) the need isn't general enough to warrant inclusion in the library. In either case, what makes you think your code is the answer to this class of problem every time you encounter it. Odds are, it's not. Your solution isn't as reusable as you think.

Besides, how could you ever justify jumping to a new language if requires you to leave your comfort zone? ;)

[0] [2008-09-20 04:10:57] sontek

Microsoft One Note is an amazing and underrated tool, majority of developers have it installed with office and never even open it... I can't live without it.

[0] [2008-09-20 04:33:22] Andy Lester

I have a project called "home" that I keep in Subversion and check out to every machine I'm on. In that project is a directory called "lab" and any time I have to work on a scratch program or write a 2-200 line program to do something, I do it in lab, and add it to the repo. The accumulated scraps have saved me more than once, and having it on every machine, always updated via Subversion, means that I never find myself saying "Damn, it's on this machine..."

Also, I have a wiki that I keep notes in if I think the notes are interesting to anyone else. See above.

[0] [2008-09-20 08:33:36] Jamie Eisenhart

I've been using Google Docs for notes so I can have them available on all my machines. Paradoxically though I'm finding that as Google adds more word processor features Docs becomes less useful for me as a note-taking app. For example, there are now red squiggles for misspellings that I can't seem to turn off. I'm thinking about switching to Word or some other file-based solution and syncing with Live Mesh.

For code snippets that I find online I just bookmark them in Delicious. My own code is usually under source control. I've used Live Mesh or Groove to share small demo projects across machines.

[0] [2008-09-20 12:21:33] community_owned

At work I use MS OneNote, as it is extremely easy to use, you don't have to remember strange syntax or shortcuts. Formatting is simple and WYSIWYG.

At home I record everything in, as it is basically the free equivalent to OneNote. But as it stores everything on an external server, I won't use it for my company's material.

[0] [2008-09-19 22:40:21] StuffMaster

Second vote for Keynote here. It works great as a simple, hierarchical text database.

[0] [2008-09-19 22:42:48] ljubomir

Imho, any kind of wiki-based systems will do the job.
Notes and files are fine, but wiki gives you a history - a very powerful feature!

Nice question btw. :)

[0] [2008-09-20 01:44:19] community_owned

I'm a Mac guy, so I use TextMate [1] and TaskPaper [2].


[0] [2008-09-20 02:44:39] Phrodo_00

I don't save snippets, instead I keep all my projects uncompressed and if I need something I will look for it using tracker/google desktop (depending what so I'm using)... for figuring out stuff I use my old nootebooks, they are scribbled al over :P

[0] [2008-09-20 02:50:25] OscarRyz

I have one folder with all the docs in there. This is for personal use so I always know there the info I want is.

Plus I keep almost the same structure within projects.

[0] [2008-09-19 20:35:21] Blinky

Depends on the scope of the note, I suppose. For to-do list type things, I use FogBugz. (It's free for small teams and students)

For random notes, my old usage pattern was to open up a copy of NotePad, type stuff, then lose it because I restart my computer without saving it somewhere. Addressing my issue, I created a note program for my own personal use. Think of it as notepad with tabs and autosave, or alternatively, think of it like OneNote but not bloated. Free at, if desired.

[0] [2008-09-19 21:26:48] Rich Bruchal

I've used a number of methods over the years:

Paper Notebooks

Like most people, I started out keeping notes in a spiral bound notebook. This method has one big, fairly obvious advantage: you can draw what ever you want - text, diagrams pictures, whatever. Notebooks last a long time with proper care. The drawbacks are inability to search and the fact that I have atrocious handwriting. And killing trees, I suppose.

MS OneNote

I have access to this at work and it's one MS product I really like. It has individual files for notebooks. This is great for organizing things at the project level. I can use a notebook for a project and then remove it form OneNote when the project is over. I still have it if I need it, but it's not in the way. It integrates tightly with Outlook - you can create meeting notes for an Outlook event with a single click and create tasks & link them to items in OneNote. It also supports diagrams and highlighting. The main drawback is that it's Windows only and it's not cheap.

Omni Outliner (Mac)

It's a very nice outlining tool and I still use it for lists and things (often in conjunction w/ Curio, below). But it falls short in organizing, traversing and searching large amounts of data. It just seems a bit cumbersome for all that.

Curio (Mac)

My current method of choice. I've tried Evernote, but (unlike a previous author) I can't get past the non hierarchical organization. Curio allows me to have a separate notebook (file) for each project, create simple diagrams, links and other do-dads. You can also create & embed documents on a page. The drawback is that, like OneNote, it's not cheap.

[0] [2008-09-19 21:51:21] user8522

I always dedicate one of my desktops to a fullscreen emacs, so writing notes is only an Alt-Tab away. I store my notes in files called 'notes' in the relevant directory. The notes tend to get monolithic, but are quite useful because I either never read them at all, or I read through the whole thought process again and again.

[0] [2008-09-19 13:37:21] dalelane

I think any personal wiki is good for this sort of thing. Personally I use one that I wrote myself [1] because I wanted one that could sync with my phone, but tbh, any wiki is good if you figure out a nice way to structure the notes that makes sense to you.


[0] [2008-09-19 15:11:03] stephenbayer

I've read through the massive list of comments and there are a lot of good ideas in there. Personally, I've been using more and more of google's tools, such as google notes and google documents. Most of the coding I do is internal and requires me to vpn to work to get at. This can be inaccessible in some situations, I love the way I can always access my stuff on google, which is better than say a desktop application where the documents would be only on a local pc somewhere, or on the company wiki (which requires vpn access), or in source control (same as the wiki). Google tools have really good and quick searching technology built in. Until I find a really good global solution, I'm going to continue using Google.

[0] [2008-09-19 19:11:13] user16563

I wish StackOverflow was up-and-running a few months ago when I scoured the web for the answer to this exact question. I had used Microsoft OneNote at a previous company, but no longer had access to it where I now work. I tried using some of the Wiki-based applications, but quickly got frustrated with it's usage model. I had also looked at some of the mind-mapping products out there, but those didn't fit the bill for me either. I have since settled on EverNote and have been using it for several weeks now.

I had my doubts at first because of its lack of support for organizing notes in a hierarchical fashion, but I've gotten over that. I like the fact that it supports tags and that you can filter your view by multi-selecting various tags.

I also like the fact that it runs locally, but can be synchronized on the Web. I had looked into the Google Notebook application, but didn't like the web-only UI.

[0] [2008-09-17 06:20:24] Christopher Mahan

Plain 4x6 index cards. plain white paper, or quadrille (5mm) from ( on a clipboard. Notebooks.

[0] [2008-09-17 06:29:47] Robert Gould

I'm also one of the old school folk that prefers pen and paper for taking notes. But I must add that when I finish up one notepad, I reread the whole thing and distill the most important ideas and notes and write them into my new notebook. Kinda like refactoring all my legacy ideas :)

[0] [2008-09-17 06:06:29] user15094

Depending on the topics, I use several moleskin notebooks to keep notes. I tried OneNote for awhile but found writing it in a notebook allowed it to be portable for quick notes; e.g., pulling it out of my bag to make a note or reference while walking down the street.

[0] [2008-09-17 04:09:24] Jordan

First, I am on Mac OS X, so I have access to some great tools, which aren't available on other platforms.

For notes, I use Omni Outliner Professional. Great tool for capturing notes. If I need to put in an image, I use Omni Graffle. And finally, for tracking actions in a GTD way, I use Omni Focus.

Together, and they work together well, they provide me with a solid suite which keeps me on top of things.

[0] [2008-09-17 04:57:02] rob_g

I use a combination of a wiki (screwturn) and thorough and usefull source code comments. Nothing beats well commented source code to explain a paticular gnarly algorithm. Wiki entries are more useful for storing high level concepts like architectural decisions and designs, down to passwords to development servers.

I also use lots of post-it notes around my monitors.

[0] [2008-09-17 02:53:39] SemiColon

Microsoft OneNote

[0] [2008-09-17 02:45:02] Chris Pietschmann

I usually take notes during a meeting on plain old Paper and Pen. Then I keep the paper around as long as I need it, usually only a few days. If I need to keep information for longer, I'll type it in and save it in a Word document or something.

I've played around with OneNote, but it doesn't seem to fit the need the best. Maybe I just need to find a good system for using it.

A couple people I've worked with have just used Notepad to type notes in and they save a single text file for each day of work. Then they can use something like Google Desktop Search to search through all their notes.

I've tried TiddlyWiki in the past, but I think I'm going to give it another shot. - Chris Pietschmann
[0] [2008-09-17 03:02:04] Coda

I typically use my blogspot account along with my moleskin notebook and mark different sections like "learning", "projects" with page markers. Even though I like this system many times I find myself having a lot of notepad files named after the subject/project.

Hope this helps.

[0] [2008-09-17 01:48:54] etchasketch

We have a team-wide wiki [1] to record all project details/documentation/design, everything really. Because it is just a wiki though, it requires some guidelines to make sure it remains organised. We are definitely looking out for improvements to the wiki software that allows us to organise the information better.

The important thing is the visibility the wiki provides to the team, and has become invaluable when team members move on from our company. The last thing we want to do is trawl through someones private documents to recover important information.

Make sure you think about this when writing notes: "Is this information going to be useful to anyone else other than me?".


[0] [2008-09-17 01:55:17] Vicent Marti

Every good text editor (and by good I mean Emacs and TextMate) has a mode/bundle for note taking, organization, etc.

Try ORG mode on Emacs, or the notes Bundle in TextMate. I use the latter.

[0] [2008-09-17 02:08:50] Jeff Heigl

I use the Eclipse templates feature to store my code snippets. They are easy to write and parameterize, and can be inserted into your code with an easy ctrl-space. That is, if you use Eclipse of course.

[0] [2008-09-17 14:19:44] Andrew Cowenhoven

Another vote for a plain old (big) text file and TextPad.

[0] [2008-09-17 14:23:54] community_owned

I could write a ton on what I do and why!

Basically, I use standard 3 ring notebooks, with squared paper.

I do this, because I find it is the most flexible method. It is easy to merge existing documentation and my own thoughts. It is easy to re-organize. The use of squared paper allows me to do diagrams and tables either in portrait or in landscape mode.

For small projects, I use a single notebook to hold several projects. For larger projects, I use one to several notebooks.

Random notes are simply kept in a notes section, and reorganized, as the organization becomes obvious.

All notes are dated.

When I convert notes to documents, I use Wordpad for the first draft, because of it's simple word processing capability. (The more complexity you have, the more time you waste on the prettyness.)

I try to keep one small topic per page to simplify reprinting.

Eventualy, documents become formalized, and are converted to Word or PDF files. (When this happens, it is no longer my problem.)

This method stood me well in my career as a programmer and analyst. In fact it got me a years worth of consulting. I got a contract to document the large system I helped to develope. I was the ONLY programmer (of 20) on the project who had bothered to do any documentation at all.

I was able to justify doing documentation (to others), as it kept me sane while doing on-call support and trouble-shooting for the whole system.

The method I used for this was an enhancement to the above notes system, with considerations for the incremental nature of the notes for a whole system.

Perhaps someone will ask a question about this topic.

[0] [2008-09-17 14:26:14] Dan

I usually just open a plain text file and save it to my jump drive; however, I just started looking at InCollector, which provides more structure, directories and tagging, as well as search/filter capability.

[0] [2008-09-17 14:28:29] Jonas

I just started working just a few weeks ago so I don't really have a working proces for this. However I'm trying out Remember the milk [1], which seems to work pretty well. It's just list with some notes added. But this is an interesting issue. I'm definitely going to check through this list of programs posted by people and see if I can find something interesting.


[0] [2008-09-17 14:32:35] bill weaver

I carry around folded sheets of graph paper, pack moleskin or similar notebooks if i'm going somewhere, or use whatever paper is available to scratch notes. On the computer i often just keep a couple ongoing email threads with myself, pasting stuff in as needed. Email info and notes to/from my mobile device that way too.

At home i try to boil, condense, and organize the info into OneNote. (Excellent app.) As for development techniques, code snippets, and programming stuff, use a simple blog or wiki to keep track. I like and use WordPress and TiddlyWiki.

Occasionally, ideas are best expressed as demo or prototype apps, which end up in d:\dev.

[0] [2008-09-17 14:01:07] CodeRot

I like to use project spec sheets. I find that taking notes on them helps me hold on to those specs longer and make them more useful.

[0] [2008-09-17 14:02:53] Ryan Stille

I use MS One Note at work, and it works pretty well. I also write a blog and put a lot of notes on there.

Have also looked at Evernote, but was not very impressed with it. Not very easy to organize things like in OneNote.

One con with OneNote is that is not free. So I have it on my work machine, but not on my other computers, so I can't standardize on it.

[0] [2008-09-17 14:04:52] marc

SharePoint offers a number of flexible tools with its wiki, list, and document libraries. We use it to hold all of our project artifacts, including best practice snippets, how-to's, etc.

[0] [2008-09-17 09:55:22] Jonathan

I wrote a little script which takes a file with the last working day's notes, prepends today's date on it, and writes it to a file with today's date on it, then opens it in TextPad (which loads up on my second monitor).

The means that I always have my notes off to the right, and I jot down what I'm doing every time I do anything significant.

I was actually rather proud of the last working day bit, which even works out Bank Holidays.

[0] [2008-09-17 13:34:20] Bobby Kumar

I use Incollector(both Windows & Ubuntu) and Evernote on windows. Evernote has more features when compared to incollector. You can directly add text from firefox browser using the evernote plugin, drag & drop, mailto, tagging, images.

On Ubuntu, mostly use Basket note pads [1] and Tomboy Notes.


[0] [2008-09-17 13:55:52] Mafti

pen and paper.

easy and simple.

[0] [2008-09-17 13:58:27] community_owned

work: keynote when on windows paper

home: gmail online random bits of paper when offline

[0] [2008-09-17 13:59:28] Thomas Bratt

Google Notebook for code snippets and research.

For projects at work a paper notebook.

[0] [2008-09-17 14:43:10] darron

I used to really like legal pads. I never missed anything, and everyone was quite happy. There's nothing like waving a legal pad around with pages of crossed-out tasks when the more Dilbert-themed managers wander by for showing progress.

That is, of course, until after a couple years the legal pads had accumulated several pages or so of low-importance, high-tediousness tasks.

Obviously, those types of tasks should have expired and disappeared, but I continued to copy them over and over again. I'm not sure what drove me to do so. OCD?

I probably should be all "Yo yo yo... I gots myself a tasks wiki integrated with VS2008 Team Server, and as I enter or complete items my current location is all imported-like from my iPhone and marked up on my Google Earth super-mashup along with the GPS locations of everyone I've done talked to about it... Later, I'll do a GE flyby on my completed tasks... way cool"

Nah. For years now it's all Notepad, KEdit, and post-its.


Of course, I can't read post-its on my monitor from a client's site... so I may be due for a re-think. Webcams, maybe? :)

[0] [2008-09-17 14:47:17] Scott

I use legal pads on hashing out rough ideas. Once I'm actually coding I tend to just write extensive notes to myself in Visual Studio, including liberal use of TODOs. As someone else mentioned OneNote really a great app as well, esp. if you're pulling lots of info from various sources.

[0] [2008-09-17 14:52:04] Will Harris

For quick random ideas, I have a plain text file that I can quickly append to using Quicksilver [1] (ctrl-space . random idea tab a tab n enter). I also keep a physical notebook (nothing fancy) by my bed for emptying my brain if it's keeping me awake.

To-do lists go on Ta-da Lists [2].

To work out anything complex I use an A4 lined notebook or a whiteboard.

If I'm working with a colleague on a design, we use a whiteboard then take photographs, which get emailed around an written up.


[0] [2008-09-17 14:15:32] community_owned

I'd like [1]


[0] [2008-09-17 15:01:11] Katy

I wrote my own very basic one for my personal code snippets but am thinking of moving them over to a blog shortly when I re-do my website.

At work we're investigating using the "Clippings" functionality within BBEdit. Basically the idea is to have a shared library that we all add to then redistribute occasionally but we're not sure how easy it's going to be to maintain.

[0] [2008-09-17 15:26:03] dhiller

I like DokuWiki[1]

From the main page:

DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. It is targeted at developer teams, workgroups and small companies. It has a simple but powerful syntax which makes sure the datafiles remain readable outside the Wiki and eases the creation of structured texts. All data is stored in plain text files – no database is required.

Supports syntax highlighting for different programming languages and more...

[0] [2008-09-17 15:35:33] community_owned

I have a "personal productivity" wiki with Wetpaint.

I've used standard written notebooks in the past, but they have the same recurring problems:

  1. Half of my notes are junk or temporary. So I need to keep re-writing the good ones.
  2. My notes become unsearchable. If you start going through 1-2 notebooks / year, how do I find the "last time I spoke with Client X" or the "date I changed code Y". You end up carrying around 2 notebooks at once.
  3. My notes lack hyperlinking, file storage and images. In other words, the paper notes simply couldn't mimic the mental mappings that I had created.

My new strategy has three parts, but one focus: good data should be digitized in flexible "wiki-style format". This happens in three parts:

  1. Scrap paper / Whiteboard: for "active work items". Contains things like DB IDs, mock-ups and other temporary items.
  2. Portable notebook: for random thoughts or things I need to write down before moving them to the wiki (say I don't have 'Net access). Really more of a creative drop-point than a working book.
  3. The Wiki: everything important should end up in here. I keep a daily "what I did" list and then archive off the weeks and months. This makes my personal activity history searchable. I keep an active "Wish List" so that I don't forget client requests. Having a wiki also means that I can upload files, add hyperlinks and actually organize my data (good old copy-paste).

Some people have mentioned blogs and I think that this is a reasonable starting ground for sharing. But blogs are a weak way to organize evolving data. Things change and wikis are simply the natural home for things that change.

[0] [2008-09-17 16:42:34] Primetime

I normally use notebooks for everything. Since it becomes very cluttered I have started to create text files and carry them on my thumbdrive. I still rather have the notebook in front of me for easy reference but the text file saves me on clutter. Hopefully soon I will figure out if I like the text format better.

[0] [2008-09-17 16:46:02] Niklas Winde

It's gonna sound stupid but a couple of years back I actually backed down a lot on notes trying to keep things in my head instead. If you take it step by step you'll learn to keep more and more stuff in there at the same time. I didn't bother to learn some kind of technique but I guess you should do what you feel fits best.

I do keep track of schedules, bugs and features in a plain text file but that is mostly to have something to cross out when I'm done. I've noticed how much faster I work and how my designs get better the more stuff I keep in my head -highly recommended!

[0] [2008-09-17 16:47:43] Tristan Juricek

Started using Code Collector Pro [1] for random things I find on the intertubes, books, etc. It's not baad.

But for visualizing problems, my trusty Moleskine does wonders.

Oh, and having a blog or other "online collection thingy" is really useful.


[0] [2008-09-17 17:00:53] community_owned

If you take notes and you can't find them later, then they are useless.

I've had good results from gmail for notes that I don't want to make public and a public blog for things that should be public. In gmail, I have a label called "notes" and inside notes emails I include an abstract and a list of keywords that describe the information. This makes the information very searchable and it is easy to update overtime either by saving an open item as a draft or replying to an item with a new email. All emails are addressed to me, unless I am discussing a problem with somebody else.

I think gmail wins for taking personal notes based on convenience, searchability, ubiquitous access, and potential collaboration.

[0] [2008-09-17 17:05:01] Devin Reams

We at Crowd Favorite [1] are developing a custom Wordpress [2] site that acts as a:

...and so on. I think that covers some of the basic reference functions that any developer (firm) should have.


[0] [2008-09-17 17:37:13] alord1689

At work I have an Oxford Composition notebook that I use for meetings. I use Notepad to keep track of things I'm working on, on a daily basis, and these are all stored in one folder, named by date, and indexed with Windows Search 4.0. I also have a whiteboard next to my desk, and I take pictures of it with my iPhone and upload them to Evernote, which translates the text and makes all my whiteboard images searchable. Not very organized yet.

(I have Moleskines as well, but don't use them for programming-related stuff.)

[0] [2008-09-17 17:40:03] akauppi

Dawned to me, isn't Stack Overflow exactly the place to keep them? :)

As of until now, it's been TextEdit (OS X) in RTF mode, and Spotlight for the searching.

Edgies [1] is tremendous for temporary todo-kind of notes. Kudos!


[0] [2008-09-17 17:48:00] Ian Boyd

Action Outline by Green Parrot Software

[0] [2008-09-17 11:37:24] community_owned

I use a combination of Google Notebook [1] and regular good old pen and paper. The tagging capabilities and the possibility to share,and access the notes from everywhere are valuable. I also use the google web history to find reference links I didn't note or tag in the notebook.

Once you've found the right tagging system, it's very powerful.

The thing is, you need a google account. And there are the privacy and confidientiality issues.

Pen (or pencil) and paper still rule when it comes to brainstorming and conceiving. One drawback with my system is that the pen and paper entries must be reported back to the online notebook. I find it tedious sometimes, but it forces me to review and reorganize my thoughts and my todo lists.

Sorry for any grammatical or spelling mistake, English is not my first language.


[0] [2008-09-17 11:52:22] Francis Siefken

Devonthink Pro [1] (only works with OSX), the artificial intelligence feature auto linking related material is pretty neat. In that sense it's better then EverNote, Together etc. It can export to plain text files and someone made a script for markdown. For task and client related document management I switch between combination of Contactizer Pro, Things and Inbox2.


[0] [2008-09-17 11:52:40] xan

Already mentioned, Dokuwiki [1] is where I keep all my computer based nodes. The syntax is really straigtforward and very human readable - I often take notes in notepad++, editing the page source directly, then view it in a browser to see where I'm up to.

I use it particularly for "on the fly" TODO lists so I can have total control over what goes in them. I just put a strikethrough format on any finishted task text.

A really useful addition is DokuWikiStick [2], a dokuwiki and apache distrobution that will run from a memory stick or out of a folder with no installation required. Great for taking notes with you.


[0] [2008-09-17 12:31:58] AndrewB

I built my own in Lotus Notes which has been enhanced over the years, I have what I call 'Tech Notes' that I posted in my original knowledge base eight years ago. At one point I went down the path of having one per topic but later merged them all back together into a single database. My most recent change was to add in lastRead and last edited values on the documents which makes it even easier to find somehting that I looked at/ edited recently.

[0] [2008-09-17 12:57:47] amo-ej1

I put everything in a large LaTeX file, easy presentation, nice rendering, and the source code is extremely gre-able.

[0] [2008-09-17 13:12:05] rkalajian

I use a combination of sources. I keep some notes written down, and some using Google Notebook. I'm giving Evernote a try now. Still haven't found that ONE source that seems to work the best.

A wiki might be a good idea, though it would require a bit more work on your end to keep things organized how you like it.

[0] [2008-09-17 13:15:17] community_owned

I use KeyNote [1]. It's fast, needs no install, saves everything automatically, has tons of shortcuts, and sits quietly in the tray, until you invoke it with Ctrl+Shift+F12.


[0] [2008-09-17 10:30:05] community_owned

For noting and discussing new details, and also for bug fixing, I have found Mantis being an very nice tool, and, using Eurekalog as a bug reporter, it can store the bugs directly in the system, from anywhere. (But I haven't taking this in use still, since my Mantis is mainly to be used with my php-based programs, while my Delphi-things are for other companies, so I have to find a commercial mantis site (I have probably found one, which also support blogs and also commercial components to)

Otherwise I use an old-fashioned flip-over instead of a blackboard for discussing architectual things. When changing to another project, just flip over the paper and continue on a new paper. When going back to the other project, just flip back again :-)

And for formally describing flowcharts etc. to be sent as files to others, I have started to use Microsoft Visio, but, I find documentation on how to use it rather scarce :-(

[0] [2008-09-17 10:38:21] stephbu

Quite like mindmapping tools like MindJet - good for organizing and capturing random thoughts that crop-up during day-to-day work

[0] [2008-09-17 10:54:33] community_owned

I don't use a specific tool to keep notes, but rather prefer to make any remarks in the comments at or near the actual code. Whenever I need something later on, I generally remember where I used it first or I'll just search my code library for it. Even when I just think of something for later use, not as part of a current project, I'll just throw together something that demonstrates the idea and save that for later use.

I find that my source library is the first place I look for old ideas anyway and that's why I started using it this way. An added advantage is that I also have a lot of other people's code sitting in there and sometimes when I look for my own notes, I find the answer in other people's comments and solutions.

[0] [2008-09-17 11:00:24] community_owned

i use DevProject Manager [1] its free, can run of a USB stick, Dosn't require admin rights at all,it has syntax highlighting, does project management and has a code store all in one.


[0] [2008-09-17 11:12:14] Scott and the Dev Team

I carry around a 160 GB Maxtor USB drive. It has all snippets, websites, db's, notes and anything else I think is necessary. It fits in my pocket. If I see something useful on a blog or in a forum, I just save it as an .mht. Snippets of code go in a text file and then are stored there also.

[0] [2008-09-17 11:27:33] boyd4715

I use KeyNote [1] does the trick for me.


[0] [2008-09-17 09:04:44] Codebeef

I find a simple pen and bound notebook serves me well.

I think we often get caught up in using software for the sake of it. A pad of paper and a pen is, I find, the single simplest and most flexible system for taking notes, sketching UI's, planning features, or just working through and noting my ideas.

[0] [2008-09-17 09:06:23] Rippo

I use Memento a little sticky program that can be found at "Guys with Towels" to keep personal notes whilst developing. Eventually notes that are worthy get put into out "ticket manager" system, works well for our team. Rippo

[0] [2008-09-17 09:11:44] micahwittman

For info-scraps I use a single Notes.txt file on WinXP and Notes.rtf on Mac (so far I'm using Google Notebook for links but not for notes in general, as it turns out).

For more organized and edited reference-making, I may write in Markdown and contain it in "Mandown" manual documents.

Mandown is an open source thingy I cooked up (building on the great work of the Markdown [1] and Showdown [2] guys):

BTW, I can't say enough how nice it is to write in Markdown here on SO.


[0] [2008-09-17 06:51:25] Quamis

Math notebooks or white paper , and FreeMind ( , seems is now right now:) ) for bugs and toto lists. That and sometimes text files, but thats basically for temporary notes with extended error descriptions.

[0] [2008-09-17 06:57:16] community_owned

Natara Bonsai is great at creating hierarchical lists. It can be used for TODO lists, note taking such as meeting notes, etc., and to organize data by topic...

[0] [2008-09-17 07:11:41] gyurisc

I use OneNote, the best app ever...

[0] [2008-09-17 07:23:49] seanb

I have been enjoying OneNote lately, esp since I added a pen tablet to the desk. Being able to add quick little drawings makes it almost as cool as pencil and paper.
Bonus being that I dont end up with as much dead tree to sort through at the end of the week/month.
The integration with outlook tasks list also very handy.

[0] [2008-09-17 08:04:54] community_owned

VIM 7 with UTL plugin is awesome. Just type text any way you like and with a simple shortcut macro you can press a key (F5 for me) and it will open a http link, a PDF file, etc. Since this is VIM, that means you can also use this to jump from one file to another and thus have pretty much a Wiki if you like. It can be as simple or as advanced as you like.

[0] [2008-09-17 08:12:14] dlat

I like the wiki way. For my personal stuff I use MoinMoin [1] on my desktop. Python is the only dependency, so it's quite platform independent and the installation is done in seconds. If you have multiple distributed workstations, you could put your wiki in a Dropbox [2] and sync it between the systems or just install it on a remote server and use ACLs to protect confidential pages.


[0] [2008-09-17 08:31:26] Ilya Kochetov

A good Wiki is excellent for a development team (try Redmine [1] or Trac [2]). It helps that you could link the notes directly to your repository source code, tag your entries, use ticketing system and so forth. It's a great and indisposable tool for collaborative development. If you are a lone wolf anything would do but something with good searching capabilities would definitely be more useful. I would suggest MS OneNote because of Live Search integration but that's just my personal preference.


[0] [2008-09-17 08:43:22] Manrico Corazzi

Opening a blog has the many bonuses:

  1. the comments from the other friends developers may help you a great deal
  2. you are going to polish everything (sooner or later) because you know that stuff is public
  3. it may give you more visibility than a resume
  4. can be accessed virtually from anywhere (as many note-taking webapps)

Of course some stuff is not suitable for the masses. In this case I suggest some text files, an USB key and a good editor (Ultraedit, Notepad++). A naming convention and an automatic file catalog may come in handy when the number of files grows.

NOTE: chose to open a programming blog? Have a look at SyntaxHighlighter [1]


[0] [2008-09-17 08:49:51] William

Personally I use OneNote since it is provided by the company and I can have the contents synced to my windows mobile without any problem.

[0] [2008-09-17 08:50:01] Matt

I use a combination of a paper notebook, and TextMate. I use OmniGraffle for drawing diagrams, and I've found that skitch [1] is great for annotations.

I've still not found anything which can replace the feel you get from physically writing on paper, and provide useful cross-references.


[0] [2008-09-17 08:54:18] Yoi-Nami-Ra

I like to make notes by hand. Good fountainpen, good paper and my ideas just pour from my head by them self.

Problems start when you want to copy down some links or longer text from the screen and later use it on the same or other machine. Little by little stack of notebooks is growing and you're starting to wonder what to do with them.

At work I'm using Evernote, at home MS OneNote. Evernote is lighter and free, OneNote has more functionality.

[0] [2009-12-10 02:37:35] stefanB


I keep my notes in a file in home directory called notes.txt. It's easy to update and search, I might start using markup that way I could translate it to web page when needed ...

[0] [2009-12-17 18:39:49] 0A0D

I use PasteBin [1] and it allows me to keep the notes online easily.


[0] [2009-11-30 10:03:51] Brij

diigo [1] to bookmark interesting stuff. docs management using sharepoint(MOSS 2007).


Great service to annotate and organize articles - ppolyzos
[0] [2009-12-01 20:48:07] Yada

I send an email to myself on gmail.

And perform search on mail.

from:me has:attachment blah

[0] [2009-08-21 02:04:19] Lonecat

vimoutliner [1] for hierarchial notes. vim dot [2] for diagrams and graphs.


[0] [2009-07-09 13:11:37] Ed Schembor

I use an outliner application called Bansai from Natara Software [1]. It's a super-simple editor that lets you enter notes in an outline format - I try to keep Bansai open in one monitor when coding, and jot notes on anything from functions I want to re-factor later to reasons I made some design decision. Bansai is not free, but fairly inexpensive.


[0] [2009-07-20 18:37:25] phsr

I've just started using Bespin [1] to keep note across the Web. it seems to have some promise, and in theory, you could create/host a wiki in bespin and access it from anywhere


[0] [2009-07-20 18:39:22] nullArray


Index searches, multiple notebooks, tagging, and available on almost every device imaginable (via native client or web browswer). Omnifocus for everything else.

It would be better to upvote / comment on this… instead of adding duplicate entry... - Jonik
[0] [2009-06-24 17:10:40] CleverCoder

I'm going to have to give another nod to Evernote. For now, it is the solution I use. Just a few reasons I find it useful as a developer:

I have tried a few other tools, and a few GTD apps. This is the one I'm using for now, until something better rears it's head.

Hope this helps!

-- Sean

[0] [2009-07-03 10:42:06] grigy

I use

[0] [2009-06-10 13:45:34] GameFreak

I coded my own php based wiki engine.

[0] [2009-06-11 18:59:37] Boydski


Truly, I've scrapped everything else I used to do. I love it and blogged about it here [1].


[0] [2009-06-18 02:39:05] Mark Hoffman

I've become a big fan of OneNote as well. Non-intrusive, easily searchable and convenient.

[0] [2009-06-19 14:38:06] Ami

anything important goes into google documents, accessible from anywhere. all the rest - drafts, too small/unimportant remains on notebooks that I keep losing monthly and starting a new one...

[0] [2008-11-12 21:28:08] emmy

I use MS OneNote 2007 and achieve the following: 1)collaborative authoring: including restrictions passwords, collaborate via SharePoint or a SharedFolder on my local disk. I dont need to worry about others needing to know any markup text, very straightforward - just like typing in Word- support for tables, colored text etc! 2) real time chat/discussion (sharing session!) 3) whiteboard/drawing 4)search text from pasted images/ great search across notebooks 5) ability to flag items 6)Good integration with MSOutlook: I can send emails/Meeting Items and Contacts directly to OneNOte, (an annotate/add special notes to the content 7) Create PDFs or email One Note pages to people 8) I can send PDF/PPT to one Note: allows further annotation 9) When I view Web content, I can send an entire page or just one line of text directly to OneNote and one note even saves the link for me! 10) I can also have record audio and if i provide keywords during the recording, the play back will begin from the point from where I made the annotated keywords 11) I can even search based on changes made by others or me to the notebook 12) I also use OneNote during meetings: jot down minutes, flag to do items: I create custom flags or use the out of the box tag that read Critical/ TO do...and later I can create a summary of all flagged items across notebooks. 13) I sync OneNOte with my office copy and home copy 14) and When I buy my Windows Mobile I can use the Active Sync Feature of OneNote...!! 15) I also write out my thinkings in OneNOte and send them to Word and take it from there for a professional doc that needs to go out to people. 16) Screen grabs are also reallyyy neat! 17) I also embed files (audio- mp3 of a meeting, a Word doc that I may need to view later etc) 18) I also love the fact that I do not need to keep saving as i type! It autosaves! 19) I used oneNote even as a calculator: if I type 1+ 2= on a OneNote page, and press Enter I get an answer typed out for me! Maybe I will come back and add more later..but I can go on about using OneNote 2007 and how useful it is!

[0] [2008-11-19 20:42:26] Martin C.

I pesonally use WikidPad [1], a desktop Wiki application written in Python. It is really fast and it works pretty well. It is primarily plain-text, but the primary advantage for me ist that it is lightening-fast when switching between pages (if you use SQLite as backend), which is a huge requirement for me.

I once managed to integrate a GettingThingsDone [2] extension into it, don't really remember where I got that one from. It manages my whole TODO list.


[0] [2008-11-20 11:51:17] Stephen

Tiddlymath [1] is good you can include svg - but I keep meaning to extend it for programming diagrams.


[0] [2008-11-20 11:55:13] Stephen

SynchroTron TiddlyWiki [1] is a 'a reusable versioned non-linear shareable web notebook' that used DVCS techniques in its interesting implementation. I've only fiddled with it but is seems like a good choice for a lightweight group project.


[0] [2008-11-23 08:40:58] Morten Bergfall

Opera, the browser, is superb for quick note-taking.
That is, of course, if you have it running most of the time....not much use if you have to fire up Opera just to take a note ;-)

Totally addicted to the mind-numbingly ability to synchronize the notes without any fuzz...just sign in to your account once per computer, and then your notes are always available.....just priceless, especially if you're a tad absent minded, and not always aware of which computer you happen to have in front of you....

[0] [2008-10-22 09:23:13] MysticSlayer

I always have in my solutions a particular file called notes.txt where I write down all my notes. Every project I'm working on has my notes so that everyone can read my notes when they are making changes, or what so ever.

All my code I've written for companies are stored in Source controlled applications, and if they don't have any.

[0] [2008-10-02 19:53:03] Optimal Solutions

Just started to try out EverNote [1] myself. So far, so good.


[0] [2008-10-26 11:26:01] alex

Redmine's wiki.

[0] [2008-10-27 18:28:33] thismat

I keep several moleskin notebooks for my collection buckets.

  1. One to sketch ideas on
  2. One to takes notes in
  3. One to keep track of what needs to be done, I also use this to manage my personal and professional projects.

Then I process things with google calendar and backpack. My google calendar is used to setup extensive reminders, and all the calendars are linked into backpack. I even display project specific calendars on each "page" relative to that project in backpack.

For things that I just need reminders for, I add that to backpack as well. All of these reminders are SMS'd to my phone.

So far so good, though I agree starting a blog is a great way to encourage yourself to keep improving and to track progress.

[0] [2008-10-27 18:51:28] Jon Tackabury

I use Toodledo [1] and a notebook. Toodledo can sync to Outlook and has an iPhone application so I'm always in sync no matter where I am.


[0] [2008-10-30 05:11:38] msutherl

I recently started using Instiki [1] for everything. Give it a try!


[0] [2008-11-03 19:55:34] Bogdan

For work stuff I use a good old paper notebook to jot down ideas, draw diagrams and other stuff during meetings and transfer them later on to a team wiki (an internal DokuWiki instance).

At home I use my wordpress blog. I have a lot of drafts :). If I need something more than once, I reformat and post the blog entry.

[0] [2008-11-03 20:49:52] Xaisoft

I have used google doc.

[0] [2008-11-04 21:26:59] BobC

I'm partial to for doing small notepad keeping in paper. I've fiddled with TiddlyWiki and I like it a lot, but I don't care for being tied to a computer. I carried an iPAQ for a while, but it was a bit too fragile for me. Pen and paper has the right mix of portability, flexibility and economy for my tastes. Now if only I could duplicate and back it up. Version control would be nice too. :-)

[0] [2008-11-04 22:24:27] masukomi

VoodooPad [1] from FlyingMeat software (OS X only)

It's the world's most awesome personal wiki tool, but to associate it with normal wikis is to do it a great disservice. It is totally wysiwyg, has sweet built in search, sketches, html export encrypted pages and more. If you've got a Mac I highly recommend it. The developer's been adding features to it for years now and is very responsive to customer questions.


[0] [2008-11-05 21:14:12] CressNZ

I don't recommend Lotus Notes. Our organisation uses it (for legacy reasons) and the search functionality is very poor, especially as the 'Google Gold Standard' gets better and better.

As with other answers, I use TiddlyWiki, but it's not ideal for storing code snippets.

[0] [2008-11-09 19:20:41] Klathzazt

This is really weak but for projects I am working on I write in notepad (notepad2 to be precise) any notes that I may need and I sketch any diagrams using paint.

When I have a good idea of what I am doing and I wish to share- if it is something for work I write very lengthy emails, refining and rewriting the notes that I have in notepad.

For simple notes + bug/issue tracking I have used a shared google document, highlighting or coloring text depending on who the author of the notes is.

I also write about some of the non-specific aspects of my projects on my blog so I can express my feelings and thoughts on the non-code aspect. It is like talking to a therapist about the issues I go through and is more about letting me reflect on those issues and to understand by expressing them in writing.

[0] [2008-11-10 11:55:15] bendin

I use emacs [1] org-mode [2] both to track my tasks and to maintain a local wiki where I keep my notes. I keep the notes synchronized between computers using git [3].

During meetings, I take notes in Emacs on my MacBook when I have it along or on a Neo [4] I have lying in the drawer for later transfer to a real computer with Emacs. I'm eagerly awaiting delivery of a Mini9 [5] to replace both of these systems in this role.

WorksForMe (TM)


[0] [2008-11-10 16:38:42] kovshenin

Google Docs and Trac with SVN

[0] [2008-11-30 17:08:11] Don Wakefield

I run a full-fledged weblog for my engineering notes on my workplace's internal network. It is indexed by a Google search engine, which usually homes in on what I want to find weeks or months later.

Additionally, we have a wiki which is used both for scrubbed docs and as a scratch pad for ongoing development.

[0] [2008-12-03 13:09:43] Nazgulled

I actually use my own application that I've been doing for the past years... Although the development is really slow.

There's no webpage for the current version but you can check it out here: [1]

Old version: FireNotes v0.5.1 (very old really)
Latest version: FireNotes v0.7.4920 (Developer Preview 1)


[0] [2008-12-04 06:08:32] num1

I use Tomboy Notes

[0] [2008-12-04 07:30:18] noesgard

I use pen and paper (note books and yellow notes) for quickies and in-work notes.

When working on a project or task of some size I use mind mapping ( iMindMap [1] or MindManager) and to some extend word processors for longer lasting notes.

I find the mind mapping a great tool to get an overview of the task at hand as well as keeping track of minor and major tasks in the projects during the whole process. Good for making context dependent notes to refresh your memory when returning to projects for later development and/or bug fixing


[0] [2008-12-04 07:30:39] noesgard

I use pen and paper (note books and yellow notes) for quickies and in-work notes.

When working on a project or task of some size I use mind mapping ( iMindMap [1] or MindManager) and to some extend word processors for longer lasting notes.

I find the mind mapping a great tool to get an overview of the task at hand as well as keeping track of minor and major tasks in the projects during the whole process. Good for making context dependent notes to refresh your memory when returning to projects for later development and/or bug fixing


[0] [2008-12-04 07:55:57] Ronald Conco

I am on open suse(KDE) ,Knotes and basket get the job done for me.

[0] [2008-11-25 11:35:00] Nicolai

I am using "The Journal" [1] by DavidRm Software. It is not particularily developer centric, but I have found that it has really helped me getting my notes organized. It has both a "notebook" and a "daily journal" mode. I used to have lots of handwritten notes lying around, but they are mostly gone now.


[0] [2008-11-27 21:13:39] community_owned

Emacs Org mode

[0] [2008-11-29 22:44:52] Danielb

I use my blog for my thoughts that can be public. For the rest I use either OneNote at work (on PC) or Omni Outliner at home (on Mac). I wrote a post [1] on note taking you may find interesting. I also use notes on my BlackBerry which I sync to Outlook which works for small pieces of information that I use regularly. I used to use a Palm PDA and Palm desktop, which I find superior to Outlook but Outlook is what we use at work..


[0] [2008-12-19 20:16:33] Quamis

plain old paper and Freemind

[0] [2008-12-27 21:11:10] Jeroen Landheer

I use Microsoft OneNote. Easy to use, never have to save anything and you can allways find everything with a simple search.

[0] [2008-12-31 07:54:00] community_owned

Google Docs & MediaWiki for most everything!

[0] [2008-12-10 21:39:18] dr. evil

[0] [2008-12-14 15:02:56] bruceatk

I use a combination of My Life Organized [1] and ScrewTurn Wiki [2]. I run MLO from my usb flash drive.


[0] [2008-12-14 15:14:19] Rolf

My blog, combined with Evernote.

Notes go in Evernote, and can be screenshots, whiteboard photo's, hand written and scanned notes, typed notes and URLs, and code snippets. I can easily tag all this stuff and organize it.

When stuff is non-NDA and public knowledge, I move the notes to my public notebook for everybody to see. If I have the time and I have found something interesting, I post it on my blog.

My blog only contains answers. No questions. It servers as an external memory which I also use to refer to when people ask me questions. It saves me and them a lot of time and makes people happy.

You can get Evernote here:

and here is how a public evernote page looks like:

[0] [2008-12-14 15:19:49] oletk

I usually only use blank A4-sheets of paper and write on them from all angles and sides. It gets a bit messy on my desk sometimes, but i really like the freedom of a large paper without lines.

[0] [2008-12-18 03:47:50] Norman Ramsey

Notes of permanent value live in ~/etc/howto with a find/grep script for recovering information quickly. Ephemera live in ~/todo/next-actions or ~/todo/someday-maybe as espoused by David Allen in Getting Things Done [1].


[0] [2008-12-18 04:05:47] ChrisHDog


Anything I'm taking notes on is for a feature or a bug, so I have a tendancy to use FogBugz as my repository for notes and details and anything relating to those items. That generally covers it for me.

[0] [2009-05-30 13:49:12] KIR

I often use an online outliner/task management system, . It allows to share my notes with other people, simple, and really keyboard friendly.

I was looking for a tool like this some time before, and didn't find one which would meet my expectations regarding user experience.

So CheckVist was written.

[0] [2009-05-26 18:43:18] Andrey

FireFox Scrapbook (to hold pieces of useful info found on the internet), FireFox X-Marks (for synchronized bookmarks between all computers), EverNote and ... MS OneNote which is very good

[0] [2009-05-21 18:33:57] Carlo

For me it's always been easier and more practical to just use the old pen and notepad. I do that for notes and to backup small tasks that otherwise I'd probably forget.

[0] [2009-02-22 14:17:23] SDX2000

I use the now abandoned but still enormously useful application from tranglos software called KeyNote [1]. Its the best hierarchical note taking editor that I have ever come across till date. And IMO it still does it job pretty well.


[0] [2009-05-01 23:56:03] community_owned

An engineering pad (the graph paper kind) alt text

[0] [2009-05-02 19:44:49] community_owned


[0] [2009-05-02 19:47:50] community_owned

A plain notebook...

[0] [2009-05-15 12:43:04] DisgruntledGoat

I love Basecamp [1], we trialled it at work and never looked back. You've got to-dos, messages, writeboards, time tracking and some other stuff.

It's incredibly well-designed too, every part of the interface has been really thought out. It really does make our lives easier.


[0] [2009-05-17 12:13:39] Nadjib

I keep my reference documents for problems I tackled in a private wiki [1]. This gets round issues of confidentiality, as the code I write is not open source.


[0] [2009-04-27 14:02:01] Don Dickinson

i use treepad. i create a tree that looks like this:

- 2009
-- 01
--- 2009-01-01
---- client/project 2009-01-01 a description of what was done
---- client/project 2009-01-01 a description of the 2nd thing
--- 2009-01-02
and so on

i don't think it matters much if you use a wiki or treepad or whatever as long as its searchable. i like to keep things organized by day. at the "day level" of the tree i record and overview of what i did. in the children of that node, i put the details (sql queries, sometimes code snippets, etc). the big thing imo is to make sure it is searchable. treepad has a relatively fast search capability that lets me find when i did what and for whom i did it.

i started doing things this way in 2005. before that i kept a paper diary of sorts. before that (pre 2000) i didn't keep track of anything. i have to say that starting my daily treepad diary is the single most productive thing that i've ever done. i use it religiously and the rewards have been many.


[0] [2009-04-30 06:09:05] Masi

I am surprised that nobody has not mentioned yet Devtodo, which is great app.

Emacs's org mode is also great in note taking and organising.

[0] [2009-04-30 06:19:31] fenec

i use my gmail to keep track of my important files ,so basically and send an eamil to myself with tags in the content so i can perform searching.

[0] [2009-04-30 22:34:15] javaloper


I use Zotero [1] (Firefox extension) to keep web search, script, solutin, document. Also i use Trac to keep my tasks, checklist etc. And i use iPod.

And last one, my friend use iBob (i will explain it in our webpage


[0] [2009-02-17 18:19:45] community_owned

notecase + wordpress

[0] [2009-02-19 07:49:36] Chris B.

I've recently been using the Pulse Smartpen, which is an ink pen on paper solution that also happens to have an infrared camera builtin with audio recording and 2 gig storage: I use this for capturing design ideas and drawings, meeting notes, and pretty much anything I normally write down. It records all your writings and drawings and links them to the audio recordings -- really has to be seen to fully appreciate. The notebooks get synced from your pen to your computer, and can also be uploaded to free cloudspace on their website where your notebooks or sessions can optionally be shared. There is no built in OCR, but there is an optional add-on that integrates with it. And it has built-in text search on your written documents (which must be using some OCR behind the scenes).

[0] [2009-02-20 23:45:55] BillAtHRST

I've tried and liked both ScrapBook and Zotero -- they're both primarily targeted at capturing local copies of stuff from the web, but (I believe) they also include simple note-taking.

[0] [2009-02-20 23:59:15] SkippyFlipjack

I've started using ShoveBox (Wonder Warp Software; OS X only), available for free from Drag files, images, text snippets or URLs to the icon on the taskbar and it stores them all. Searchable, exportable, all that stuff. It's not developer-centric but works for me.

[0] [2009-02-21 10:35:58] user56642

I am developing my own web app to keep my notes, urls, todos and files. It is an open source project :

[0] [2009-02-21 10:45:50] Hollgam

I use Google Notebook [1]. It's gerat and I use it for any type of note not only just programming related. Although I've heard that unfortunately Google stooped their work on it for now...


[0] [2009-02-22 12:57:34] Ali

I sujest using Microsoft Live Thumbtack [1]

Thumbtack is an easy way to save links, photos, and anything else you can find on bunch of different Web sites to a single place. Grab the stuff you want, put it into a Thumbtack collection, then get to it from anywhere you can get online. Share it with your friends, or just keep it for yourself. It’s way easier than sending a bunch of links in an e-mail, and even easier than setting lots of favorites in your browser.


[0] [2009-02-22 13:13:42] SuperRoach

Some excellent notes here already...

Evernote is great because it bridges the analog/digital gap, in a way Google Notebook couldn't. Now that Notebook is leaving google, Ever note will begin to look more impressive. Think of Evernote as a personal butler, that will take scribbles, cameraphone screenshots of basic plans and tie them all together. It still needs effort in tying work to each project you are working on however.

The feel of doing on paper work for creative work cannot be lost neither - scribbling basic web layouts is still (for me) faster on a page, done as crudely as the timeline gives me. Having this is something I can refine latter on if needed - and Evernote will let me scribble on it while retaining the original copy.

[0] [2009-02-22 13:15:12] Data Dave

I use Microsoft OneNote.

When I start talking to someone about a project I start an outline in OneNote. It could start very simple like the results of a first phone call to setup an appointment without much more than a project name and some very basic information.

As I ask questions, talk to other people and do my own investigation I add to and with OneNote can easily modify the outline very quickly.

If possible I'll put the outline up on a screen and develop the design and requirements in collaboration and in real time with the people who know and care about the project.

In all cases I will email, show or print the outline to the stakeholders to see if this is a good representation of what they want.

My next step is to refine the outline now taking into account to how the data will be organized, what type of program (web, windows forms, windows service, etc.) and continue the design so that I have a clear path to start on actual database and software implementation.

As I go along in the project I can further refine particularly complicated parts and be left with some good design documentation.

For a new or prospective client, during the first interview I can capture what they say and provide some detailed feedback via email after the meeting which usually has a very positive effect!

[0] [2009-01-12 22:11:47] Sheehan Alam

GMail Tasks

[0] [2009-03-05 20:09:21] Daniel

I'll echo the general sentiment that a wiki is the best way to go. I am currently using drupal to store all my notes. It has a great taxonomy system. I've walled mine off (https and password) from the rest of the web though so I don't feel so bad about it not being polished. From there, its a quick copy and paste of the terminal, and I've got it...

[0] [2009-03-14 22:35:39] msutherl

I use a combination of:


[0] [2009-03-17 16:55:22] Chathuranga Chandrasekara

I just use google notebook for URLs etc and a physical notebook for others :)

[0] [2009-03-26 13:29:48] Godcode

Eclipse's @TODO feature - I use this for any notes and TODOs related to the Java project I am currently working in.
Physical notebook - For notes and TODOs that does not fall on the above category but is still related to the project I am currently working in.
Email - I use these for sending notes and TODOs from my office email to my personal email. But these are not related to work. These are mostly links, and texts about anything I want to research at home.