Giving up on wikis

by Shane

Why bother with wikis

MySQL - Tech Wiki

For a while now I’ve been using wikis to store all my quick/slow solutions to problems I’d come across throughout my day. This would range from say ‘What’s the syntax to create and grant a user all access to a specific table in mysql?” to “How can I svn add all unversioned files in a directory?”.

Wikis have served me reasonably well over the last few years. Originally I started with mediawiki, which was horrendously slow on my dreamhost server, I switched to wikkawiki as it was lighter and had in-build code highlighting(which lead me to believe it was more developer-oriented). It took me a while to convert from mediawiki formatting to wikka but I persevered. Soon after I realised that wikka didn’t support tables of contents(which drove me insane!) and lead me on a search for an alternative.

wikka-screenshotIt could have been the lack of a table of contents in wikka but I think in general wikis aren’t structure well for the sort of information I store and retrieve. Typically my day involves a lot of problems and solutions, the end goal of the wiki was to ensure that the next time I was faced with the same(or similar) problem I could retrieve my prior knowledge on my wiki. This was instead of searching the web for that random one line of text from that forum I read 4 years ago that is the silver bullet for my immediate problem. Towards the end of using wikis, searching for that random line of text proved easier than traversing wikis.

Why wiki’s suck

I realised the reason I hated using the wiki was:
a) The wiki was storing the solution only
and
b) structure that I thought was holding everything together just sucked.

To explain both a and b lets take one of my original example questions.

‘What’s the syntax to create and grant a user all access to a specific table in mysql?’
Let’s start with how I would likely retrieve this.

I start searching for ‘mysql create user’ and fail to find anything, because (a) I wasn’t storing anything that related to my problem, just the solution.

Then I would start browsing through my mysql page on wikka desperately looking for something that would relate to my problem. The page is massive and I’d get a ton of crap I didn’t want, which is where (b) comes in. I’d then give up and google a solution.

The answer is in fact “GRANT all PRIVILEGES on table.* to user@'localhost' identified BY 'PASSWORD';“, hence why my search failed, there was no create in the command.

The solution

So I started looking for a solution, basically a question and answer type site that would suit my information storage/retrieval. I really didn’t want a forum(ugh phpbb). I had something similar to stackoverflow in my head but I didn’t have/want to splash the cash for a stack-exchange site just for my own private data. I eventually came across osqa, which is a clone of stack overflow built using python. It’s turned out to be the perfect solution. There was an incredibly handy guide for installing it on dreamhost. Soon after I started using it full-time for work/personal use. When I’d solve a problem, I fully formulate a question then paste/fill in the solution I’ve come across. If I come across a better solution it’s added as another problem to the original answer. I vote up any answers I use so the most frequently used/best solutions are ranked higher. Data is organised using tags and that’s it really.
osqa-homeIt’s certainly changed how I work, it’s become addictive adding my q & a’s. As opposed to the wiki it really feels like I’m filling in a personal knowledge repository. On top of that it’s added a sort of period of reflection after every new problem I solve. As I’m filling out my problem/solution I start thinking more about what I’ve just solved, is there better solutions, can I use this solution anywhere else? I’m also reminded more of what I do everyday, in a sense it’s become like a journal.

Sure I could store my problems and solutions in mediawiki, but on those busy days I might just slip up and not bother putting in a question or just paste in the solution(without any explanation) as I was doing before and I’d rather not store a solution at all if it doesn’t come with the problem. A better structured wiki might also solve the problem, but the question arises ‘Why bother with maintaining unstructured data when you don’t need it’s flexibility?’.