
Why every programmer should have a Tiddlywiki - caustic
http://eriwen.com/tools/wikify-yourself/
======
kabdib
Another vote for .txt files.

Easy to source-control and merge, easy to find stuff.

I can't help but think that someone, somewhere has a bloated XML-based API for
doing this, probably requiring a server running a couple hundred megabytes
worth of Java-based back-end. I'm old fashioned.

I don't anticipate a vanilla text file going out of fashion any time in the
next hundred years or so.

~~~
agentultra
Another vote for _.org_ files.

<http://orgmode.org/>

Of course not being an emacs user may make editing org mode files a little
difficult. However, any system will do as long as its consistent. If not org-
mode; txt2tags, markdown, etc can also serve in a pinch.

I think plain text is the de-facto universal format. There's also no
restriction on presentation and interface. Your choice of tools are pretty
wide open with plain text.

~~~
cksk
org-mode alone makes it worth dropping any other text editor in favor of
Emacs. It's that good. It's that impressive. Really.

~~~
eropple
Vimwiki does an essentially equivalent thing, and there are numerous other
tools for other environments. Your favored tool is really not that special.
Sorry. =)

(Me, I just use Dropbox and vimwiki, and occasionally push it to a private Hg
repo on BitBucket.)

~~~
subsection1h

      Your favored tool is really not that special. Sorry. =)
    

Vimwiki isn't in the same league as Org mode. Sorry. For example, how can I
create and edit spreadsheets using Vimwiki?

Read the entire manual to understand Org mode's power. It has no equivalent
that I know of, and I searched thoroughly before giving up and learning Emacs.

<http://orgmode.org/manual/>

~~~
eropple
I've read it. Hell, I've used it, before I discarded emacs. Perhaps I should
amend it with "unless you want to bend one tool to do the job of the others".
Which I guess is half the point of emacs in general, so I apologize and
retract my statement--it's quite special.

------
bengillies
Hi, I'm a developer on TiddlyWiki.

I'm not sure if this is the done thing or not (I'm relatively new to posting
on Hacker News so apologies if not) but if anyone wants an online version of
TiddlyWiki (that handles revisions, multiple users, has a RESTful API, etc),
then we're currently working on a service called TiddlySpace
(<http://tiddlyspace.com>), which is basically an extensible online note
taking app based on TiddlyWiki. It's on GitHub too.

~~~
wingerlang
Will there ever be chrome-support without the java file? It never worked for
me, wich is sad because it looks great.

~~~
bengillies
Not in the near future no. In the far future, it depends on how the new
filesystem api turns out. There are some thoughts going on about using node
for such things, though they are only that (thoughts) at the moment.

~~~
wingerlang
Sad to hear, i was really excited when i found tiddlywiki. But i can not move
from chrome.

------
mgualt
These periodically recurring organization threads always motivate me to take
another stab at adopting some kind of coherent approach to organizing my
ideas.

Then I get depressed at how poorly thought out almost all the options are. I
then become convinced that the only system that has been fairly well thought
out is org-mode.

Then I fire up my emacs and the incredible frustrations and overwhelming
disgust start to rise like a slow flood.

I load up my .org file and it's not wrapped. I can't read it. So I try to
change the options. There are 5 incomprehensible word wrap options and none of
them work. Then when I re-load my .org file, it hasn't saved the word wrapping
setting.

I can't remember if it's shift-tab, alt-tab, command-shift.... one of them
puts a TODO, another puts a new star, now suddenly I've reordered half of my
lists...

Meanwhile, once I move a paragraph, emacs displays some kind of fragments of
the characters in the previous location... what the hell is this?

I decide that I'd like to collaborate on a project -- org-mode seems like a
great tool. But wait, I forgot that my collaborator is actually a NORMAL
person. What is the chance that they will read the org-mode manual? Oh that's
right, I'll just send them to the IRC channel.

Where was the calendar again?

I am literally in tears now. tears. This is the best personal organization
software we have. It's 2011. Orgmode looks like my father's 1985 IBM terminal.
Why do we always have to wait for Apple to inject a miniscule amount of actual
DESIGN into software?

Please help me...

~~~
MortenK
Try Evernote, OneNote or wikidPad instead :-)

------
shaggyfrog
Used to use a wiki (MediaWiki) to track source material for a book with
another collaborator. Worked mostly fine, except for when the DB crashed. I
remember that it was hard to extract data out of it.

Mainly I've kept most of my programming notes, records, todos, research and so
on in flat text files. They are easy to view, edit, backup, exchange, copy
from, and version. For my use cases, I find it a more appealing technical
solution to a wiki, which requires infrastructure to back it.

If someone could come up with a git/wiki hybrid, that would be interesting.

~~~
pessimizer
Just to recommend something that people swear by, but I'm just getting around
to trying out - orgmode on emacs (orgmode.org). Super-sophisticated organizer
using text files. Source control can be used so you can get to the current
version of the files wherever you are, and it has HTML export.

~~~
eru
It also has LaTeX export, and spreadsheets, and lots of other stuff.

------
kalid
For personal notes I like Notational Velocity (<http://notational.net/>),
saved as plain text files in my DropBox, and linked with SimpleNote
(<http://simplenoteapp.com/>) for iPhone syncing.

~~~
andypants
Notational Velocity looks pretty cool, but is there an similar alternative for
Windows?

~~~
andos
Yes, ResophNotes. It's not just similar, it's a clone:
<http://www.resoph.com/ResophNotes>

------
follower
For a number of years I used the single file Python wiki pwyky
(<http://infomesh.net/pwyky/>) running on a server to serve as a personal lab
notebook.

I added general project notes, links to relevant resources and a chronological
log of projects.

The biggest benefits for me were:

    
    
      * keep track of multiple projects;
      * reduce overhead of switching between projects.
    

There was, however, also a benefit for the wider community as well, because
all of the pages were public--even the in-progress projects--people could make
use of the knowledge I'd found so far, even if the project itself wasn't (ever
:)) entirely documented.

When the server hosting my wiki, err, disappeared, I decided to create a
service that would provide me the benefits I'd found and also make them
available to other developers.

Labradoc is the result:

    
    
      * http://www.labradoc.com/
    

With Labradoc you can:

    
    
      * make general project notes with Markdown formatting;
      * keep a chronological log of project progress.
    

I posted a Show HN a couple of months ago:
<http://news.ycombinator.com/item?id=2669425>

Here's my own project list:

    
    
      * http://www.labradoc.com/i/follower
    

If you don't already keep a project log I encourage you to do so.

If you already keep a project log I encourage you to make more of it public
(it's okay, the people that judge you badly for in-progress hacks you don't
want to work with anyway :) ).

In either case, try out Labradoc and see how it suits your workflow.

------
aashay
I find Evernote/Simplenote more effective for brain dumps. Evernote is
especially useful for storing diagrams and photos of whiteboard diagrams.

~~~
jrmoran
While I prefer plain text in markdown, sometimes I store screenshots of code
in Evernote to keep as as a reference about how I solved a problem. Its image
indexing capabilities and mobile apps allow me to quickly search for something
ubiquitously.

<http://i.imgur.com/gporh.png>

------
xbryanx
I'm a big fan of using Notational Velocity for just these same reasons -
<http://notational.net/>

~~~
jsulak
Notational Velocity is great. Just point it to a dropbox folder and set it to
use plain text files and you're set with syncing. There's even an equivalent
program for Windows - ResophNotes
<http://www.resoph.com/ResophNotes/Welcome.html>.

~~~
tron_carter
Right, plaintext in dropbox? <tinfoil_hat> what about local encryption? saving
personal notes in plaintext files...</tinfoil_hat>

~~~
simplify
It does in fact support encryption. I sync my data across dropbox as well.

<https://github.com/scrod/nv/wiki/Database-Security>

------
endlessvoid94
I'm hoping Asana largely solves these problems. I've been using it for about a
week, just for personal projects and my work tasks, and it works wonderfully.

I can put links in comments and descriptions and easily reference them later,
in a really usable way.

------
_corbett
I worked for a year at a company and training two people to do my job from a
stack of my personal notebooks and insider knowledge was a nightmare. After
that I decided to keep a personal wiki which was easily searchable. Having
gone the .txt route in the past and found it wanting, I decided on the next
best thing and went with a Tiddlywiki.

I document all processes I develop and additionally keep a journal every day,
and one at a project level. It has more than once saved my butt working on
multiple projects and has made me a better manager. I finally graduated from a
Tiddlywiki as I ended up wanting to collaborate on entries far too often. A
year into my wiki experiment I switched to MediaWiki and haven't looked back
as I can simply add collaborators and more transparently keep track of
contributions.

For others wanting to transition I made a little conversion script here:
[http://www.itp.uzh.ch/~corbett/projects/code/tiddlywiki_to_m...](http://www.itp.uzh.ch/~corbett/projects/code/tiddlywiki_to_mediawiki.py)

Tl;dr Keeping a wiki as a developer: ~best decision ever.

------
gurraman
I write my notes in markdown and keep them in a git repository. A simple hook
generates a collection of html documents that I host on my private server for
reading while commuting.

~~~
soult
It this a custom-made hook or are you using ikiwki? I use exactly the same
setup with ikiwiki and yours sounds so familiar.

~~~
gurraman
A custom hook.

------
barrkel
I spent a day a couple of years ago writing an app to solve this kind of
problem, and more. File format is plain text files stored in directories.
Every directory becomes a tab; every file becomes an entry, with the first
line in every file being its title. Along with plain text files, .log files
are kept; these keep a log of every edit to the .txt file.

Nothing is ever deleted. No edits are ever lost; the whole undo stack is
always there, and if you undo to a particular point and edit it, it just
becomes a new revision on top of the old undo stack. There is no save / load -
the app uses the directory it was started from, and saves when no edits have
occurred for 5 seconds.

It's a combination of notepad, brainstorming log, todo list, and general
notes. I keep it in sync across multiple machines with dropbox.

~~~
fernandotakai
And you could share this with everyone!

~~~
barrkel
Downsides to sharing: it's written in Winforms on .NET (though I expect it
would work with Mono just fine); the UI is minimal to reduce clutter, and
relies primarily on shortcuts: Alt+Left/Right to select "page" (= text file in
directory) - pages are sorted in order of last edit; Alt+Up/Down to select
revision (aka undo / redo / playback); middle-click mouse to paste if nothing
is selected, or to copy if something is; and some searching etc.

Wrapping it all up nicely to share it, document it etc. would take at least
another day, but I have many other things on my plate at the moment...

------
invaders
I would like to recommend this freeware lightweight structured text file
editor. Definite upgrade over plain .txt files yet still extremely simple in
every way. No browser/3rd party tool involvement needed. Its file format is
human readable for the most part.

It supports all kinds of links in text: local, network files, internal pages
(for wiki emulation). You can drag and drop links from web browser too.

<http://www.horstmuc.de/wmem.htm>

I never stopped using this program since I found it several years ago.

~~~
andos
For years I used a similar program called KeyNote. It had an absurd amount of
text tricks up its sleeve and everything was accessible via keyboard
shortcuts. Most people would cringe at its late 90s GUI (it's Borland
Delphi!), but after hiding a couple toolbars and palettes, it became quite the
handsome app.

<http://tranglos.com/free/keynote.html>

Unfortunately it's Windows-only. Now I only work on Linux and Mac and the only
software that approaches it's level of usability is Notational Velocity.

------
enjalot
I've been using google docs for these kinds of notes, searchable, shareable
and accessible anywhere I can get to gmail.

I may consider dropbox + txt files, but gdocs is working fine so far.

------
jarin
I use Soywiki: <http://danielchoi.com/software/soywiki.html>

Toss something like this in your .bashrc or .zshrc to run it in MacVim and
have an easy command:

    
    
      export SOYWIKI_VIM=mvim
      alias wiki='cd ~/wiki; soywiki'
    

Then just git init and push it up to a private GitHub repo, and you can check
it and edit it on the go through the GitHub site.

------
runjake
I find Tiddlywiki extremely cumbersome and awkward.

Instead, I use Simplenote; Flick Note on my Android device, Resophnotes and
SyncPad for Chrome on my PC.

------
hboon
I've since moved on to plain text files, but at my last job, when I left, I
just had to delete a few more sensitive notes before passing my TiddyWiki file
to my replacement and he had all my notes for the job. It was a technical
sales role. I'd argue that a personal wiki is even more important for many
other vocations than for programmers.

------
jianshen
My favorite use of TiddlyWiki was making it the index.html in my
home/public_html directory on our internal company server.

I had network write access via network mount on my laptop and whoever else who
just wanted to browse my notes could goto
<http://internalcompanyserver/~myname/>

------
gaving
Personally use github's gollum: <https://github.com/github/gollum> which is
pretty awesome and git-backed.

Allows you to do all your wiki pages in markdown and a sleugh of other markup
formats. Plus, did I mention git backed?!

------
flarg
I use Zim Desktop Wiki - more reliable than Tiddlywiki, no need for a browser,
version control

~~~
nikhilgk
Another user of Zim Desktop Wiki. Almost as simple as notepad, stores as txt
files, built in todos and calendars and plugin support. I just store the files
in my Dropbox folder, that way I can get to the files even when I do not have
zim installed.

------
steve-howard
OneNote (part of Office since, I think, 2007) is actually great for keeping
structured notes on meetings, projects, etc. I know a lot of programmers don't
run Windows, but if you're not fazed by letting Microsoft handle the details
(i.e. your stuff gets put on SkyDrive under a Live account), it's not a bad
way to go. I set it up on my work machine after I'd been running it on my home
computer for a while, and I was pleasantly surprised at how easily it loaded
the notes I've had from past projects.

Disclosure: Microsoft intern (in a completely different division, and I've
been using it for longer than I've been here). My opinions are mine. :)

------
orph
I wrote a personal wiki for Linux called Tomboy.

I've been working on Hackpad.com lately. It's a realtime wiki based on
Etherpad. Pads are private by default, and you can invite people to edit them
later.

I think it's better than tiddlywiki. Why not try it out?

~~~
jameyc
Tomboy is one of my favorite apps of all time (even kept up a Snowy for a
while to sync.) Of all the alternatives mentioned here (which I've tried time
and time again) it's the only one with such a slick workflow. Popping multiple
pages open like sticky notes, or one big page for reference was a killer
feature for me.

I've been waffling between txt or Google Docs for a while now, mostly just for
need of a strong mobile client, but miss my Tomboy littered desktops...

------
ja27
Yesterday I started a comment asking if I'm the only programmer that doesn't
keep many notes. I actually don't keep that many, relying on my memory and
falling back to code comments, revision history, and email when that fails.

But then as I read through more comments, I realized that I've tried almost
every one of these note systems - Tiddlywiki, TODO.txt, Evernote, Springpad,
OneNote, Moleskine notebooks and others - but have never stuck with any of
them. The only system that's ever stuck for me is email. I keep trying to get
better at recapping meetings and decisions in email so I can find them later.

------
mkramlich
I have a collection of scripts, dotfiles, text note files, flat text data
files, and ad hoc lightweight textual databases already to do this sort of
thing. Doesn't require any special software, doesn't require a hosting server
or active network connection, and yet I can edit, search, compress, refactor,
version, backup and synch this data anyhow I want, anytime, essentially for
free, and with an absolute minimum of moving parts. And using the same set of
CLI tools I already must or at least should know anyway for my profession.

------
katieben
I use MediaWiki now, I love it. It's free, and has really helped my
organization. I use it for everything - passwords, API keys, links, random
code snippets, etc. It's better than a text file to me, because both the
structure and formatting ability encourages properly organizing data.

Though, it's most important to just have SOME well-greased system, no matter
what the platform. If it's a text file that does it for you, great. If you
spend 10 minutes trying to find a password - time to get a system.

------
aufreak3
I use fossil (fossil-scm.org) for the same purpose. It is super nice that the
wiki is integrated with the source code I'm working on _and_ the bug tracker.

------
mhb
Garrett Lisi's An Exceptionally Simple Theory of Everything TiddlyWiki:

<http://deferentialgeometry.org/>

------
mhd
Personally I'm using Dropbox for stuff like this, using PlainText on iOS
devices, Notational Velocity (well, NvAlt) on my Mac and increasingly
[Deft](<http://jblevins.org/projects/deft/>) from within Emacs.

I know, there's Org Mode, but I'm more a free-form guy, same reason why I
never used one of those monstrously popular GTD applications…

------
zachsnow
Here's a vote for Instiki (<http://instiki.org>), a super simple wiki clone
written in Ruby (that's pretty straightforward to hack on, which is a pretty
important consideration when using wikis for 'non-traditional' purposes).

~~~
rwl4
That site has been spammed to hell. ;-)

------
melling
I mainly use org-mode for detailed notes. Github (kind of) understands them so
I now include README.org files.

I also recommend <http://workflowy.com> for capturing information. I'd pay for
an iPad app that would sync with it.

------
hsmyers
Took a nibble sometime back and was surprised by how well it did what it
promised---that however was the problem. Hard to adapt to someone else's idea
of a good time. I found it easier to revert to previous home grown methods and
madness...

------
detour
I use Workflowy to do this stuff.

~~~
mindstab
mmm workflowy I use for lists of tasks, but for notes I use tomboy (a gnome
desktop wikilike program). They both have different uses and are suited to
storing slightly different information lists != notes

------
eridius
Any Mac users who are interested in having a personal wiki should take a hard
look at VoodooPad (<http://flyingmeat.com/voodoopad/>).

------
lobo_tuerto
Can't save on latest dev chrome (15.0.854.0 dev), getting this error:

The original file '/home/yop/Documentos/wiki2/empty.html' does not appear to
be a valid TiddlyWiki

------
rshm
i use .txt

------
cabalamat
I use MediaWiki myself.

------
baghali
+1 Evernote

------
maeon3
I've been keeping a wikipedia on myself, _everything_ about me and who I am,
what I've done and who I want to be in a wiki for the last 4 years. It has
been the most illuminating thing I've ever done, and I'm so happy I took the
plunge that first day. Everything is in it, taxes, dental, computers,
girlfriends, projects, outcomes, desires, todo, and thousands of other
categories.

Looking back on my life through the wikipedia, I see a very different person
than my own memory remembers. You'd be astonished how much stuff your brain
removes for lack of use. I just use bluefish editor with basic html files.
I've got hotkeys to make templates and. The root node is my full name, even
the universe itself falls under that category, because the only way I know the
universe exists is through my observations. The most gratifying part is the
page outlining my geneology, I have information documented about my DNA line
going up 3 levels, and if you make a point to get really detailed information
on your parents, grand parents and great grand parents (biological) You'll see
health problems and DNA related hardware issues. I discovered programmers and
a certain abilities/disabilities run in my mother's side, I'm a programmer.
With enough analysis I could probably identify the gene sequences, and thus
help my offspring by telling them what their problems are going to be before
they experience them, by looking at dominant and recessive traits.

~~~
bokonon
I really like this idea. What do you use to do this? Or what do you think
would work best? I can't tell if Tiddlywiki would be good for this sort of
thing.

~~~
isTravis
Agreed! I too would like to know what you use to do this, and what type of
encryption you're able to use.

~~~
maeon3
My encryption is to keep everything on a hard drive that isn't connected to
the internet. The insurance companies would no doubt like to see my timeline
on my health category with a timeline on dates of every issue I have ever had
with the hundreds of sub components of my body with everything from acne to
heart trouble to ringing in ears to joint pain.

I have a category with everything I intend to do to the child if I have kids.
I have a category with pictures of me every year from 3 days old to today. I
do the same with my parents and grandparents (which is more spotty).

I have a category on all the friends I've ever had, what they liked, why they
liked me, what I did to become aquainted, birthdays, their parents, all the
information about them you would expect a close friend to have.

I've got all my tax returns back to 2005 (I started the wiki somewhere in
2007). My current net worth plotted on a chart, documented by what I did which
caused certain plunges and rises in that graph.

A big category on girlfriends, kinds of women and what works with some. I can
give you a cruise through every significant romantic event in my life from my
first kiss back in college to sexual encounters. With photos of each girl.
Each girl I dated given a full psycho analysis, funny how I searched out each
edge of the (Smart, Sane, Pretty pick any two) triangle. I even dated a few (1
of 3) and (0 of 3). Big mistakes that haunt you.

I have a category of books I've read, and plotted those against my life
timeline. What I've thought of them, how they changed me.

Anyone who got ahold of this wikipedia and had 20 hours to read it all would
know as much about me as I know about me.

This wikipedia is what I want to see on dating websites, If I could include
this on a dating website, and have all the girls do the same, it would make
dating a lot easier. I imagine a post with dental records, tax returns,
employment, income histories, aspirations, books read, history of
diseases/conditions, family genetic lines, computers owned, friend structures,
self psychoanalysis, and hundreds of other subjects which makes us unique from
other humans.

A big worry is that the hard drive bricks iself or gets stolen, this wikipedia
is worth tens of thousands of dollars to me. My backup strategy is to make a
hard drive cloned image every 3 months with clonezilla, with the hd stored in
a physically different location. so my wiki would even survive an fbi takedown
where they steal all your stuff.

I've got all the programs I've ever written saved, so I can go back in time 4
years and see programs I wrote in C++, Visual Basic. It's like reviewing your
essays from first grade, I can't bear to see them, my programming skill has
gone up slowly but surly over time.

~~~
bokonon
Wow, that's really amazing. I think I'd like to start doing the same kind of
thing. What exactly to you use to accomplish all of this? What wiki? Plugins?
Anything else? Do you have any other advice for someone wanting to get into
this? Or something you would have liked to do differently from the start? Any
advice you have would be wonderful.

~~~
maeon3
"bluefish editor" freeware on top of a linux operating system (Fedora core). I
suggest a more user friendly version of linux for non programmers. I've made
short shell scripts which copy templates to different keyboard combinations. I
have scripts which validate the html I've written. One of the things that bogs
you down is getting image link text from camera/scanner into the html file, so
I automated that as much as possible so It is just a matter of opening the
scanner and hitting one hotkey which kicks off a script, and scans the image,
puts in in the images folder (prompting me for a filename) saves it and
injects the html into my bluefish editor. Same thing for photographs and
videos on my camera. It's all gotta be (One click-add) or it will take hours
each session just fiddling around with documents.

The real secret is adhering to the rules of a wikipedia. Nothing may be added
without establishing its link and relevancy to another page. Also, Here is the
secret sauce, a tough rule is that when you introduce a new page that links to
an old subject, which introduces new information, or new evidence which
contradicts old pages, you have to spend time and re-build the pages being
linked to. I have a system where editing one significant page has the
possibility of having me go back and change previous observations, the benefit
is that it automates your thinking process. If you keep all your thoughts you
ever have into a tight tree form, you can find that your human memory is
upgraded a hundred times over. I was able to use process of elimination to
determine which foods were causing my acne, and through continued graphing and
elimination, was able to find what elements in which foods were causing it.
Something many doctors would probably like to see. When I go to a new dentist,
I sometimes bring along my entire history of each tooth, each operation i've
had, i can see where that time I kissed the wrong girl caused a microbe party
in my mouth which caused cavities. Though the dentists have no idea what
microbes are in my mouth, through my wiki. I have a good idea. In some ways
the wiki makes me a better dentist (to myself) than the professionals.

It's a wikipedia that treats myself like scientists would treat a newly
discovered intelligent alien craft. Everything about it is described, graphed,
analyzed, compared, and charted. Nothing about it is taken as a given. The
part that keeps me coming back to it is my thirst for knowledge. When I browse
hacker news, stackoverflow, and (years ago, digg), anything that struck me as
useful for growing myself or growing knowledge was included. So now I have
like 800 items in a list organized by category and awesomeness, that to this
day when I look at it, I still see the importance. I have a category of guitar
songs I can play, piano tunes, how I learned. etc.

Whenever I hear a song that provides a certain response, sadness, happiness,
euphoria, depression. I write it down on a receipt, then when I get home I log
it. So I have a series of songs I can play which seriously induce all these
emotions. I try to stick to the happiness songs. there is a boat load of ones
that cause the other emotions. As a result I have 30 songs that when I play,
suddenly make me happier. Sometimes when I'm depressed I play the depression
inducing songs and it makes me extremely depressed, and I can look at myself
like a computer, an input output device, and I see that depression is only a
response to external stimuli, if you can take control of your external
environment, you can custom make your emotion for that hour/day.

------
SalmanPK
blah. Blogging FTW :)

