Why every programmer should have a Tiddlywiki
A year ago, my good friend Casey Watson suggested that I try using a personal wiki to keep track of my programming knowledge. This turned out to be great advice, so I’ll be sharing how I use one and how to start your own.
Why would a personal wiki make you productive?
In a phrase: to keep a your web of knowledge accessible from one place. You need a place to put your meeting agenda, important project/server links, and even a to-do or waiting-for list. Not only can you store a lot, you can tag it, search it and otherwise customize the crap out of Tiddlywiki.
You are not going to be able to remember everything you need, keeping links and information in email folders just doesn’t cut it. You can easily keep track of your meeting notes, DB schema diagrams, bug lists, blah blah blah…
In other news, great programmers Venkat Subramaniam and Mark Richards called Tiddlywiki their favorite technical tool. Favorite. As in more valuable than their IDE.
Roll your own… now!
It’s really stinkin’ easy! Just grab my favorite flavor of Tiddlywiki, d-cubed, and save it somewhere you can access easily. The first time you use it your browser will ask you to confirm that you can edit your HTML file through it (standard security check).
You will probably want to theme it so it fits you, and I found a bunch of nice themes at TiddlyThemes. It’s just CSS and JavaScript anyway, dowhatyouwant! whatyouwant!!
Once you have customized your wiki’s look-and-feel etc., it’s time to grab some slick plugins. Here are a few I use and recommend:
- Checkbox plugin – So you can manage your tasks with checkbox style
- Calendar plugin and Date plugin – Manage your calendar in your wiki!
- Your Search plugin – Really, really sweet search upgrade. A must-grab!
To install a plugin, just make a new Tiddler (wiki page) with the same title, content, and tags. So easy!
Next steps
I recommend starting by creating tiddlers for all your projects and just putting links to other resources in there. After awhile, copy bits of emails you need to remember to relevant places so you can search it anytime. Baby steps, but stick to it. The setup cost will be returned in cases (as in the beer others will buy you for rocking)!
You’re now well on your way to wiki-fying yourself. Share your experiences and have fun!
Eric,
I have been doing this for quite some time, and it works great! The other great thing is that you can “separate your concerns” as it were, by placing different topics in different directories/wiki’s and then you can link related topics together by placing links between individual wiki’s when topics overlap.
Usually when I mention this to my co-workers, they just don’t get it…I wish I could explain it to them better. Any suggestions?
- Andy
I like “Wikis In Plain English” on Youtube for explaining the wiki concept. http://www.youtube.com/watch?v=-dnL00TdmLY
Could they make the leap from this to your work example? Or is it the personal note taking part they don’t get?
That video is hilarious! Definitely a good thing to forward on to co-workers.
@Andy:
First things first – does your work group have a wiki setup? If so, they should be able to see the benefit of sharing information on a wiki. If not, consider setting up a wiki for your group just to share status or something. Build from there.
One way that I advocate the use of my wiki is by using it in front of my co-workers. Many of them will mention how cool it is that I 1)Had the info they needed etc. and 2)How quickly I got to it.
If they don’t get the whole wiki linking thing, tell them a wiki is like your own personal website, just for you. You can put whatever you want on it easily.
Hope that helps.
@Eric Where I work we have sort of an anti-wiki. It keeps track of our history for each of our clients, and although it does work over the network, it is not web-based.
I did however seem to peek the interest of one of my co-workers with my wiki (off-line tiddlywiki) and he said he would maybe like to use one to keep track of client website updates.
(I’m in PA, we’re probably about 10 years behind you guys in CO…depending on where you work around here) :-)
@Andy:
Hmmm. I can see how it would be tough to get a real wiki going at work.
There must hopefully be other bits of information you can share with co-workers. We love sharing links to development tools, code snippets, class diagrams, and programming practices with ours.
To your manager it sounds like duplicated effort, so I encourage you to start your own wiki that’s accessible on the intranet (or internet) for yourself and point your co-workers to it. This is actually how I started the wiki system for my last job.
Good luck!
Doesn’t work at all for me on OS X 10.5.5 Firefox or safari and it doesn’t seem compelling enough to work out why, have fun with it if you can.
@Justin:
Interesting. So it doesn’t work on a Mac? I don’t own one so I can’t find out.
@Everyone:
Have you guys had trouble with this on OS X? If so, how did you fix it?
I think for it to work on a mac you need Java or something…
http://www.tiddlywiki.com/#Installation%20guidelines%3A%20Safari%20on%20Mac%20OS%20X%20Safari
Great advice, but did you know that there is a free hosting service for your own tiddlywiki called http://tiddlyspot.com/ It’s pretty cool b/c you don’t have to carry it around on a USB stick and can access from everyones PC. Check it out!
Nice to see TiddlyWiki getting noticed, it’s a truly great tool! Used to document solutions and such in word documents but switched to tiddlywiki about a year ago and just keep finding new usefull ways of using it. One of the biggest pros is the searchability + the simplicity.
I have also managed to get a whole bunch of ppl at work using it, and they keep coming back telling me how much they love it! Started by printing pdf’s (containing the wiki header) directly from my tiddlers which I sent out when ppl asked for information that I had already documented for personal use. This got people interested, wanting to know more.
My favorite plugins are: IntelliTagger, YourSearch, and SyntaxHighlighter.
I am a Project Manager.
On my past projects I have been keeping one huge Word document as a project journal. It grew in form and function to the degree I had buttons and even links to MS-Project report fields to track progress.
The I found TiddlyWiki and now I keep all my Project Knowledge in that.
Another alternative is Wiki on A Stick. See this Wiki on a stick tutorial.
I’ve been using it at work for over a year and have built up 250 pages of work notes.
nice to have a wikki like this.great yaar
I use Tiddly Backpack which is a fusion of tiddly wiki and backpack. It’s a bit less garish looking and I’ve store pretty much everything I do in terms of programming on there.
I didn’t really like the quirkyness of TiddlyWiki myself – in fact, i pretty much preferred something like Backpack, i.e. hosted on a server. However, Backpack costs money and i tend not to entrust my data to third parties.
So i made my own. ala RuckSack
[...] Why every programmer should have a Tiddlywiki Eric Wendelin’s Blog (tags: programming) [...]
@fs111:
I found out this morning from Andrew. Great tip!
@Kristofer:
I’ll give those plugins a shot. Thanks!
Programmer wikis are a great idea at work although letting your colleagues see your wiki can put you at a disadvantage and reduce your job security. As for TiddlyWiki, it’s a little too fiddly. A much more user-friendly wiki is Jotspot – recently updated to Google Sites – which has the advantage of being accessible via your gmail account.
@Wilcox:
It is an evil notion to keep information only to yourself for job security. I like Jotspot too, but I think Sun would rather I keep these things totally under my control. It works for some, but not others I guess.
I use asciidoc. The input’s a plain text file, and the output can be html, pdf, docbook. It supports syntax highlighting and for math, asciimath and latexmath. So it works for general knowledge, as well as disaster recovery doc where all you may have is nano, vi, or cat.
please send me jsp and servlet materials to study in this mail………pls help me
I’ve used TiddlyWiki a few years back, but I agree with some previous comments that it is a bit quirky at times.
I’ve been using WikidPad ever since. Python-based, easily customizable, actively developed, maybe a bit technical to set up sometimes but that’s just the way I like it.
There is obviously a lot to know about this. I think you made some good points in Features also.
This is the first time I commented here and I should say that you share genuine, and quality information for bloggers! Great job.
p.s. You have a very good template for your blog. Where did you find it?
I made it myself :)
Eric, great site and good article. It partially answered some questions I had, but not enough to get me started. Maybe you can clarify some things?
1. Do you post your tiddly wiki online? Would love to see how it’s implemented.
2. I’m trying to find a location to post various bits of information such as a recipe database and reviews of restaurants that I go to. I don’t really plan on posting these publicly, just want something that I can use tags with and easily search. I’m currently using a blog, but I’m trying to figure out if a wiki would suit me better.
Thanks!
I don’t post my tiddlywiki online, since it might contain work-related stuff and Sun wouldn’t very much like that. ;)
Basically I use d-cubed referenced in my post, creating a Project for each code project and reference tiddlers tagged with searchable bits. Each project has an associated TODO list, that is easily added to.
A wiki would definitely serve the purpose of recipe DB or to keep restaurant reviews. The 4 best benefits of a wiki here would be:
- Ease of editing and backup (it’s just one file)
- Search is quicker, you don’t have to Ajax anything up, it’s all local so you can get to things faster.
- Just like a blog, you can tag things and then search on a tag, or open up all “tiddlers” for a tag.
- TiddlyWiki has a Journal feature that you could use in addition to just tagging and tiddlers.
I hope that answers your questions. My best advice is to give it a shot for a few hours and decide you like it.
Thanks Eric. I can definitely see the potential and your website inspired me to learn more about it. I think it’s a matter of finding the right template to use at this point. I do like D3 for task related stuff though.