

Distributed Personal Wiki - zrail
http://bugsplat.info/2013-05-10-git-backed-personal-markdown-wiki.html

======
spindritf
I use Tomboy[1] (once very popular note-taking software for Linux) with
Tomdroid[2] (a client for Android) and Rainy[3] to sync them. There are a few
bugs, it requires mono, doesn't support file attachments, and you need to set
everything up yourself but for actual notes/recipes/ideas/quotes it works very
well.

And you own it, end to end. No one can close the service down, no one can take
it away, no one snoops through your stuff.

[1] <http://projects.gnome.org/tomboy/>

[2] <https://launchpad.net/tomdroid> {the newer .apk, not the Google Play
version)

[3] <http://www.notesync.org/>

~~~
SkyMarshal
Nice, I use Tomboy too and just sync the data directory to SpiderOak, but that
doesn't help with Android. Will check this out, thanks.

------
joallard
There's also Gitit (<https://github.com/jgm/gitit>), backed by Pandoc and Git,
supports Markdown and anything you can throw at Pandoc.

~~~
gwern
I think he's rejecting DVCSes in general; note that he said he tried git and
has rejected it for bad merging:

> so I naturally stuck them in a git repository and pushed to my personal git
> server. But then, how do I deal with synching my work and home machines? I
> guess I'll manually merge changes... Yeah, that lasted about 10 minutes.

(Now me personally, I read that and go 'how is git unable to handle the
merges, isn't that the point of git', but presumably he has a good reason to
waste all this time looking at alternatives.)

~~~
zrail
I love Git, use it every day. In fact, SparkleShare uses git as it's transport
mechanism. The thing that I wanted was _fully automatic merging_. I'm the only
one modifying these files, always on one machine at a time. I don't want to
have to manage push/pull/merge every time I make a change, I just want my
changes to propagate everywhere automatically.

------
grakic
I am using Zim Wiki (<http://zim-wiki.org>) where the notebook directory is
shared with Dropbox. It has nice features and is cross platform. There is also
a Git-backend plugin that should me more robust from what I use.

~~~
fosap
I tried out exactly this one and I considered the git (or hg?) plugin to be
bad. I don't know if it's better, now, but when I used it the workflow was
worse than just a text editor and git. That's what I'm using now. I'm still
looking for something that is usable from a my android phone. I guess there is
git from android but i haven't investigated yet. The plugin did nothing
automatically.

Want to edit your notes? Better make sure to pull. Edit. Save. (I guess adding
was automatically) Commit. Push. Have conflicts (for no real reason). Resolve
them. Push again. I didn't like it. The best par was that some functions (I
guess merging) where not available from the gui. You had to open a terminal,
go to .zim and use git or hg by hand. And yeah, specify commit messages. This
is not a software project. It's very unlikly I'm going to revert something.
Adding a commit message is just dublicating my text, because my note was 4
words long.

------
demetrius
I’ve tried different things but ended up using snotes[1]. It is a simple bash
script (depends on git and dmenu [2]). Small is beautiful, after all.

[1] <https://github.com/v4hn/snotes> [2] <http://tools.suckless.org/dmenu/>

------
ahoge
Bitbucket works fine for this. Its wikis are just markdown/git. You can add
stuff offline or you can use the web interface.

------
jareds
I'm a big fan of Fossil. It's dead simple to set up if your already running
your own server and has an integrated wiki. Depending on your needs this could
be a good option. [http://www.fossil-
scm.org/index.html/doc/trunk/www/index.wik...](http://www.fossil-
scm.org/index.html/doc/trunk/www/index.wiki)

------
unicornporn
I've tried most of the alternatives mentioned (TiddlyWiki for the longest time
I believe), but I find it's easy to just make things terribly complicated and
I end up coming back to plain text files. I use this filenaming scheme
[year][month][day]-adescription.txt (130512-just a test.txt) for the files and
use [http://brettterpstra.com/2013/01/14/the-next-
nvalt-2-dot-2-b...](http://brettterpstra.com/2013/01/14/the-next-
nvalt-2-dot-2-beta-is-here/) to search, access and add notes.

As a mobile interface, I use a pencil and a notebook. I add the data from the
notebook to my text files.

I currently sync the notes with Dropbox, but I will soon move towards using a
USB memory stick. These notes tell just about everything about me, I want them
to be in my own hands only.

------
sophacles
I've been looking into gollum for this. Backed by git, but the format works
pretty well with various vim tools.

Also it's great for developer heavy organizations, like my local makerspace.
It provides a fancy frontend for those who need, but doesn't really hinder us
text based warriors.

------
gbvb
I have been using vimwiki[1] with vim + Dropbox. It has been fantastic. That
might convince you to move from emacs :)

<http://www.vim.org/scripts/script.php?script_id=2226>

------
caludio
If you think Gollum is good, then take a look at Jingo ("Jingo is not
Gollum"). <http://github.com/claudioc/jingo> (Node.js based, with its own Git
wrapper) (disclaimer: I'm the author)

------
derefr
Hmm... I've been trying to keep a published "world bible" for a story setting
I've been developing. This basically presents the same problem in the article,
but with the added need to have a read-only version of the wiki available for
access online. Anyone have a suggestion for managing something like that?

The default solution--running a whole public-facing wiki, with access-
protection layered on top--seems a bit much; I'll be the only person editing
it, so it'll be useless for anyone else to see anything about "revisions" or
"markup." It should just appear to be (and can be) a static website.

~~~
zrail
Since its just static markdown files and got you could set up a post-receive
hook on your public facing server that renders the markdown to a www
directory.

------
C0d3r
I use Pendium ( <https://github.com/LuRsT/Pendium> ) it has everything that
the OP has stated but it's more developer oriented.

------
sciurus
I'm surprised no one mentioned Joey Hess's ikiwiki yet.

"Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable
for publishing on a website. Ikiwiki stores pages and history in a revision
control system such as Subversion or Git. There are many other features,
including support for blogging, as well as a large array of plugins."

<http://ikiwiki.info/>

------
zerovox
I've tried a dozen different note taking tools, the only one I've stuck with
is Workflowy[1]. I think it just suited my style of note taking/todo list
making/hierarchical lifestyle right from the start. I would like to see better
Android app support(3rd Part/Web only atm), but apart from that it's perfect
for me.

[1] <https://workflowy.com/>

~~~
tommi
Self hosted workflowy would be something I'd pay for.

------
snaky
OneNote + SkyDrive

~~~
zrail
A perfectly valid alternative, sure. I happen to like emacs and self-hosting.

~~~
phaer
git-annex + OrgMode + mobile-org? Works for me :)

~~~
zrail
I've never taken the time to really get into org-mode but from everything I've
read it sounds great.

~~~
phaer
git-annex[1] might be able to solve the sync problem, no matter which file-
based wiki software you are using, especially with its assistant[2]

[1] <http://git-annex.branchable.com> [2]: <http://git-
annex.branchable.com/assistant/>

------
autodidakto
I've been looking for a "Personal Knowledge Base" for a while. There are
plenty of "Personal Information Managers" like evernote or devonthink; places
where you can dump and tag your files. But it seems that not many have tried
to create a piece of software that can act as your own davinci notebook.

------
zokier
From the title I was imaging a system that uses something akin to FreeNet for
datastore, making it truly distributed. While not exactly practical, it would
have been neat.

But this is cool too.

~~~
zrail
You should look into the Smallest Federated Wiki[1]. It's not quite FreeNet-
style-distributed but it's interesting none-the-less.

[1]: <http://fed.wiki.org/view/welcome-visitors>

[2]: <https://github.com/WardCunningham/Smallest-Federated-Wiki>

------
aufreak3
fossil (<http://www.fossil-scm.org>) together with pagedown
(<https://chiselapp.com/user/zot/repository/fossil-pagedown>) would seem to
fit this use case rather well. You can manage wiki data either in .wiki files
or using the browser-based bare bones editor.

------
pixelcort
See also Notational Velocity in plain text file mode pointing to Dropbox.

When on mobile, sort the folder of text files by date modified.

------
brianjolney
This is exactly why I love evernote. You can still set links between notes,
and the search index across documents is amazing

~~~
guiambros
If Evernote had markdown support, it'd become an interesting contender for
code snippets and personal note taking. But I can't understand why they insist
in yet-another rich text format.

~~~
markbao
Because 99% of their users want something like Word as their editor. Try as
you might, but you can't get all of them—not even close—to use Markdown to
format documents when they're used to highlight, Bold button, voila, it's
bold. Evernote is designed for normals, and rightfully so.

~~~
blaabjerg
How does markdown preclude WYSIWYG editing?

------
dbrian
I just keep a folder of markdown files in Dropbox. It syncs to all my devices
and I can use any text editor.

------
johnchristopher
Wouldn't the new bittorrent sync software be useful too in that case ?

~~~
ketralnis
Depends on how "distributed" it needs to be. If one node is offline and you
edit on both, when it comes back online the one with the newest timestamp wins

------
fosap
Could please explain the difference between Sparkleshare and unison to me?
They seem to be pretty similar.

~~~
zrail
As far as I can tell Unison doesn't provide history and is intended to sync
two directories. SparkleShare uses git so it provides history. Also, it
provides more of a hub-and-spoke model, where many computers can sync to one
hub.

