Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Do any programmers out there keep a personal wiki? Either locally or online.

What do you use your wiki for? or what might you use one for?

I was thinking of starting a personal wiki as a place to record documentation and and other documents for my personal projects, and various notes etc, but how else is a personal (maybe private) Wiki useful to a programmer/developer? What type of things would you put in a personal Wiki?

share|improve this question

closed as primarily opinion-based by Jim G., GlenH7, Kilian Foth, MichaelT, Jimmy Hoffa Jul 17 '13 at 18:04

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

A wiki seems really complex. I've always used a text document –  TheLQ Mar 8 '11 at 0:04
@TheLQ not with something like TiddlyWiki which was suggested below. Not compared to say a dozen or two text files when your notes start getting too large. –  Matthew Scharley Mar 8 '11 at 2:17
I use [Wikidpad ]( with an addin todo Extension to keep track of stuff to do, a whole load of unstructured reference information and just about anything that doesn't have any other obvious place to put it. I'd be lost without it. –  Andy Morris Feb 10 '12 at 13:49
@TheLQ Oh yes the .txt. I usually leave mine in little commented out segments of my code... –  Gabe Feb 10 '12 at 14:02
I use evernote, while not a wiki, it does everything i need with mobile access. Although I hate having all my "stuff" tied to something like evernote. Anyone know of any open source alternatives? Something i could host on my own servers? –  Ominus Feb 10 '12 at 15:16

10 Answers 10

up vote 10 down vote accepted

I use TiddlyWiki a single html file wiki with lots of plugin possibilities, it combines great with dropbox.

The getting things plugin makes it into a great tool for managing personal projects..

And as such i use it for

  • current projects, little things I need to remember
  • server names
  • who knows what
  • internal sites
  • hour codes to book hours.
  • brainstorming/research
  • ToDO lists
  • Idea's for pet projects I might want to do sometime.

What I don't use it for any more :

share|improve this answer
+1. This provides the best balance between the complexity of a wiki and the simplicity of a text tile. You don't have to bother with managing a server and all the security nonsense that goes with it, and with TiddlyWiki you can more easily search your document and link the various concepts within the document together via hyperlinks. –  S.Robins Feb 10 '12 at 23:19

When I join a new company, it usually fills up with:

  • Remote desktop / VM names.
  • Folder paths for project documentation.
  • SQL scripts for common fixes/cleanups in data.
  • Common web-service end points / WSDL locations (I know you SOA guys...UDDI ;))
  • URL's to time sheet systems, bug tracking systems etc.
share|improve this answer
+1 That's a good list, but I would assume most of that would be useful to other devs, and should be in a company-wide wiki, not a personal one. –  FrustratedWithFormsDesigner Mar 7 '11 at 21:37
You'd hope companies would be smart enough to support a global Wiki...sadly most I've been with don't. –  Martin Blore Mar 7 '11 at 21:41
Oh yeah, ideally, those SQL scripts you're talking about are best put into source control (if they live long enough, they start to mutate over time, version control could be more important than you think). an ideal world... ;) –  FrustratedWithFormsDesigner Mar 7 '11 at 21:53

Typical scenario: customer says "Hey, this doesn't work anymore". I spend half a day finding a solution, and tell the customer what to do. One year later, another customer (or possibly the same one, of course) asks the exact same question. No way I can remember the complete solution after a year, so I effectively lose half a day looking for the exact same thing.

Enter the personal wiki: I use it mainly to assure the above scenario never ever happens again. Not only for customer solutions, but also for programming related solutions (e.g. small samples of difficult-to-understand patterns, quick hacks, ...)

share|improve this answer
Ultimately, that sort of thing (solution to weird problem) should go into a team wiki so other team members can fill in and resovle the problem if you're away. –  FrustratedWithFormsDesigner Mar 7 '11 at 21:38
should there be other team members, they could just as easily enter the adress into their browser as I can. The only reason I call it 'personal' wiki is because for a large part I work alone. It's confluence btw. –  stijn Mar 8 '11 at 7:37
And a year after you put it on your wiki you spend half a day finding the solution on the wiki, then another half a day trying to figure out what made you think that solution was a good idea in the first place. –  Joel Etherton Feb 10 '12 at 14:34
@JoelEtherton first part I disagree: a decent wiki has good search functionality that lets you find stuff in no time. Never had problems with that. Second part, depends. I noticed that by entering things in a wiki I'm forcing myself to double check the solution and description. But indeed, from time to time mayhem slips through and when reading it again I'm all like "what did I just read, did I even write this?" –  stijn Feb 10 '12 at 15:19
@FrustratedWithFormsDesigner I've done something similar to what stijn has said, but I used a personal wiki (tiddlywiki) for quick jotting down of notes, and then if it is a situation I felt like could benefit co-workers, I would clean it up and add it to the company wiki –  GSto Feb 10 '12 at 16:08

I use Evernote for my personal wiki. I keep code snippets in there, along with code I've used for workarounds, and random article snippets.

I like Evernote because it's available online, on my smartphone, and has a desktop app. It also has a clever plugin for Chrome that allows me to just select some text on a page and add a note to my Notebooks. Its use of tagging and it's searchability is also really great.

Finally, it's nice because I can snap a picture of anything with my smartphone and add it as a note to Evernote. So I can keep pictures of whiteboards and things.

The only "wiki-esque" feature it lacks seems to be the ability to link to other notes, but I haven't found that to be a big deal.

share|improve this answer
+1, evernote is such the way to fly here. The real added bonus is you can integrate it into your chrome or smartphone searches. Also, you can link to notes -- right click on note and choose copy note link. –  Wyatt Barnett Feb 10 '12 at 15:12

I use a personal wiki to store most of my "personal" information such as:

  • Software plans/ideas
  • Notes
  • Book/reading list
  • References of things I seem to regualrly forget
  • Links to webpages
  • Todo lists
  • etc.

I use MediaWiki on a (seperate, dedicated) home server.

share|improve this answer
Doing the exact same thing could be against a company policy in some places ... –  Job Mar 7 '11 at 21:43
@Job: Well, I'm just programming as a hobby so I have little idea of this (15 year old middle school student). I didn't mean to keep company data on a home server. –  Anto Mar 7 '11 at 21:45
Personally, I would/do use Dropbox & Instapaper for that, with the added benefit I can easily copy/paste the folder(s) to a USB key (or my mobile) for offline reading (as my flat is in a black hole where no phone, wifi or lan connection survives for some reason). –  wildpeaks Mar 7 '11 at 22:15

I use it for keeping personal notes about what I'm doing, changelogs for updates, notes from meetings / emails / conversations and stuff of that nature. Some of this information gets moved over to a company wiki eventually, but I like to jot my own notes down so that I can write in my own style, and not worry about formatting/clarity/completeness etc. Some of things I write I do move to a company wiki eventually though.

share|improve this answer

I use vimwiki to do most of the things other people have answered with: notes, todo's, code snippets, etc.

But mostly I find it a convenient place to keep a sort of log -- I jot down notes about calls I get, problems I solve, and generally what I accomplish throughout the day.

It makes a great set of documentation to refer back to, and helps me keep on task. It also helps me get back on task when I'm interrupted.

I use vimwiki because everything is stored as plain text, it has a nice 'diary' feature which, basically, auto creates a file I can write my log in each day, and it's integrated with the editor I use most often.

share|improve this answer

Ever since my first day as a professional programmer I keep notebooks on paper, on which I write down every day what I'm busy with, how much time I've spent on which task, important commands, server names, notes from meetings, who I spoke with about what subject etc.

These notebooks are incredibly useful, for example for filling in my timesheet (where I need to know how many hours I've spent on what task).

It's a personal choice of course, but I like it much better on paper than in an electronic file. I don't need a computer or even electricity for my paper notebook. The only downside is that searching in the notebook is a little harder than it would be if it were on the computer.

share|improve this answer

I use Bitbucket quite a lot, and I almost always enable the wiki. The nice thing about Bitbucket wikis is that they're actually just repositories of Markdown text files, so you can include the wiki documentation for a new function in the same commit as the function itself, and you can use the issue tracker to keep track of wiki errors or new articles in the same way you'd track bugs and features.

My wiki pages end up as one of the following:

  • User documentation: one "article" per class, explaining what it is and what the methods do. This is usage documentation, like you'd find on MSDN. I do this even if it's just me on the project; my memory isn't perfect and sometimes I forget exactly how I implemented something (especially when I was doing a Clever Thing that I found online or dreamed up in one of my occasional 3am flashes of inspiration). Also, when I give someone else the compiled result, either by officially releasing the software or just handing a friend a copy, I can run a quick find&replace on these files to swap the repository URL for a filepath or a page reference, and they'll work as offline documentation. In fact, you can even use (free) ebook publishing tools to turn the markdown files into compiled HTML help files that can be read with the MS Help Browser, or from a browser using a local filepath as the URL.
  • Developer documentation: again, one article per class, explaining how everything works, and why it was done that way and not some other way. I tend to do this even when it's just me working on the project; I'll sometimes forget my reasoning so it can save a lot of time. There have been occasions when I've come back and thought "hey, why aren't I doing X?" only to discover a very good reason not to do X when I'm a week into the refactoring, so it's useful to make a note of things like that.
  • Tutorials and walkthroughs: explanations of how to do a particular task, such as adding a page to the website in a web project, or adding a new enemy type in a game project. I'll often neglect this one if it's a solo project, but if it's a complicated task I find that writing a walkthrough on it while it's fresh in my mind is a great way to fix it in my memory and make sure I understand it - and if that doesn't work, then at least I have a document I can come back and read later.
  • Notes: musings and discussion on what to do and how to do it; bits of research, quotes from StackOverflow questions, snippets of example code, URLs of blog posts or tutorial pages with notes and comments on them... anything I need to remember. This is actually the one I'm more likely to do on solo projects than team projects; if I'm working with a team then this sort of stuff tends to end up in Skype conversations, or sometimes Google Docs. Stuff from this document gradually gets filtered out as I get around to taking action on it; chunks of it often end up being moved directly into the documentation pages (occasionally with a rewrite for clarity or grammar along the way).

In general, I haven't found too much of a difference between working solo and working in a team; the main difference is that when you're working by yourself you have a little longer to write the documentation. As a rule, if a programmer doesn't know something and the docs aren't there for them to look it up, then the documentation is late. In a team, it can be mere minutes after a commit when someone pulls your code and wants to look something up; when you're working solo you have a little leeway in that bit of time after you've written the code but before you forget the details. Either way, there will come a time when someone wants to go and look something up - nobody has a perfect memory, so even code you wrote yourself may be unfamiliar and even confusing when you come back to it.

share|improve this answer

is a personal wiki any use? You only store stuff relevant to you as opposed to the team (which is much more useful).

So, for a personal wiki, I would use it for bits n pieces: usually hints and code snippets (ie how-to type stuff). That's about all I think. I might keep it updated with a list of all the projects I've worked on just so I can remember them when they re-appear for maintenance.

share|improve this answer

protected by ChrisF Feb 10 '12 at 15:20

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.