Where should I keep notes?

I’ve been banging my head against a problem for a while and it is wearing me out, so I am gonna kick it out to you fine folks for advice.

My problem is that I want to keep notes in a searchable (digital) format, but I can’t figure out where or how. I’ve considered keeping notes here in WordPress, running MediaWiki or DokuWiki, just a bunch text files in git, a git-backed wiki, a wiki attached to a git repo, in one of a dozen Markdown enabled quasi-wikae, and so forth.

My past was my future

I learn by doing, and I remember through repetition. I have difficulty listening to what others say, so I take notes. I can hardly transcribe someone spelling a word or a phone number, because I just can’t keep all the immediate information in mind.

In the past I’ve been embarrassed about that, but I know there are both learning methods at work as well as my personal trauma that lends itself to my inability to listen to a person dumping information. I don’t judge myself so hard because I am an attentive listener to people sharing and emoting with me, and in an emergency I keep a cool head and can process information very quickly. It is that last fact that causes me trouble; I idle in emergency mode, hence my need to take notes when there isn’t danger.

Another thing about me that makes note-taking so valuable is that I attended 22 educational institutions before being kicked out of high school and passing the California High School Proficiency Exam. Between leaving school and taking the exam I worked in the IT department of a city government. In other words, despite the years of self-doubt and fear that I was a fool, I survived by becoming an autodidact early in life, and was more than prepared for the wellspring of knowledge that accompanied the ubiquity of the open web starting in the late 90s.

In other words, I learn by taking notes, and find inspiration in sharing with others.

Buckets and scaffolding

Recently I’ve taken the craft of note-taking and self-learning to new personal highs, and that means plunging into what I refer to as brain stuff. Everywhere I look there are explanations for why humans act as they do (that includes me), and it is a great body of knowledge that isn’t fitting into my existing framework of collecting information in deep buckets, and then mixing it across broad subjects or themes. And then of course repeating this over and over as I get more information, building the scaffolding of my knowledge until it becomes applicable.

Practically that means I am filling up notebooks and storing them, not fully processing the contents, and therefore capturing but not digesting. And it is wearing me down.

So I am looking for something, some system, that can relieve the pressure of my mind, a release valve to dump information somewhere I know I can find it later and move it around and draw conclusions and build into new self-discoveries, etc.


This isn’t the first time I’ve been thinking in wiki, and a lot of what I thought then still applies, except I don’t think the age of my tools (WordPress for example) are holding them back; indeed free software that is useful, and therefore used, seems to adjust and grow in the ways it needs to survive.

And if I am allowed a moment of romantic thinking, that method of survival appeals to me. ^_^

But that doesn’t solve my problem. Where should I keep my notes?

Words words words

Here are some things I would like, for sure:

  • Easy to write, which probably means Markdown for me, because I hardly use any formatting except for the very simple rules that are in all Markdown flavors (rarely headings, unordered lists a lot, and links are slightly easier than a hrefs).
  • Easy tagging, because I want to create ad-hoc collections of knowledge unintentionally
  • Easy referencing: double square brackets in wikicode is one of the most addictive properties I’ve ever encountered on the open web, it is my personal Xanadu.
  • Easy to search (not a huge problem, since my notes are just a complex index for my brain)

There is another category with one item in it, and I will call this “the thing I don’t understand about myself”: I want it to be publicly available. I am straddling a fence with this, because I don’t know what drives me to make everything that I produce public and open. I sometimes wonder if I deny myself a safe and private space to make mistakes and test assumptions without it being captured and used against me, but I feel I get enough of that from my family and friends, and that I can’t self-correct without the input and visibility gained from sharing publicly. Even if I decide on text files in a local folder, it will be synced somewhere public.

Okay, so those are my desires and a big question. Now consider the systems and tools I know.


Let’s start with the obvious, since this dance I have with MediaWiki is constant. A lot of the issues I have with MediaWiki, such as user accounts and spam won’t be a problem for my single user requirement.

There is so much going for MediaWiki.

  • Easy referencing, with reporting tools that assist in deepening buckets of knowledge (show me most referred to non-existent pages from a given category, please!)
  • Robust taxonomies and semantic tools for structuring data in personally meaningful ways, but still easy to tweak as needed
  • Decent search with additional options
  • PHP app, easy to use with my most familiar software stacks
  • Transclusion. Makes templating amazingly straightforward, and cross-referencing can be wondrous.

But there is still a lot about MediaWiki I can’t stand.

  • Installation really sucks for anything besides a vanilla install, dependency gets weird for something like the semantic modules.
  • URLs make me so irritated. MediaWiki is the only software I’ve come across that don’t form lowercase, dashed words in URLs. My name doesn’t start with M, and it visually distracts me when I view an article on a MediaWiki site. Workarounds break some linking functionality.
  • Themes in MediaWiki suck. There is a design aesthetic to wikae dictated by Wikipedia, and we might just be stuck with it. Alternatives ask that content be changed in such a way that one can’t easily switch between skins, and that is even worst.
  • MediaWiki markup is way more complicated than Markdown to do normal things, and alternatives require additional server resources I don’t want to give. So Parsoid is out for me.
  • Portability is an issue. I can’t copy and paste into a blog post, which is how it should work.
  • It seems kinda overkill to run such a robust framework for a single person to take notes.


Now here is a fun little project that hits a lot of my points.

  • New(ish) Markdown plugin that doesn’t require special tags to use.
  • Content is just text files with some extras around it.
  • URLs are sane, a direct comparison to MediaWiki.
  • Can do fun things with git, some potential for hacking there.
  • Very little hosting requirements.

Not many things I dislike.

  • Themes are kinda ugly, would need to fix that.
  • Searching is somewhat limited, and not many options to change, but could be a non-point with a decent taxonomy.
  • Taxonomies aren’t as easy to use.

Gollum (or any git-based file system)

Gollum is the wiki engine that powers GitHub, but more importantly to me, it is also used in GitLab. I am jumping straight to it, because it encompasses all the features of a regular directory of text files, but does a better job on various points.

  • Git-based, text files, very simple and efficient.
  • Easy to use with other workflows.
  • Markdown with smart extras.
  • Can be edited via web or text file.

But some features completely missing.

  • No taxonomies outside of folder structures, goes against emergence of patterns and cross-referencing I enjoy.
  • Links are not as easy to pull off.
  • Search is kinda dependent on larger system, which is iffy at best.

There is one thing that using a self-hosted git repo has that is very interesting: task management. The ability to track some thoughts as tasks that can be sorted, labeled, commented on and closed is very appealing, and will probably be used in note-taking regardless; closeness of tools in that capacity are a benefit.


Finally, WordPress. My career is more or less based on WordPress, so here are the advantages of using it for note-taking and sharing.

  • I’ve got Markdown (this very post is written in it).
  • I love the way taxonomies work in WordPress.
  • I’ve got a lot of options for search, due to my work providing hosting for very large WordPress sites.
  • I theme in my sleep (it’s a problem), so I can make the content look however I want, no lock-in.
  • It is very public, and I already plan on publishing updates in blog posts for insights I come upon, so it is already part of the process.
  • URLs are robust and sane.

On the other hand…

WordPress feels like publishing to me. This is silly, I know, so please comment on this: I want my notes to be found and feedback submitted, but I don’t want to present my unfinished thoughts as something worthy of being in my primary publishing pipeline (or 3P as I am calling it starting now).

I am already coming up with reasons that I shouldn’t care about this. Am I so concerned with SEO that I would go against my authentic self and try to separate a half-formed idea or preliminary research from how folks perceive me on the web?

What if I am walling myself into this single project, and everything looks like a nail to my WordPress hammer? Is the novelty of WordPress gone for me? Am I searching for a reason to use a different tool because I don’t think WordPress can handle it, or because I just want to try something else?

At the end of the day people work with me because they know me, or know someone else that knows me. I benefit greatly from presenting who I am upfront, so any fear I have around showing these other parts of myself doesn’t appear justified.

Wrapping it up

Okay, so I feel a bit better. Despite kinda processing that and realizing I am compounding my distraction by avoiding the tool I am most comfortable with, I’d still like to here your thoughts on this. Did I miss anything, or misunderstand how something works? Because I would love to know there is a specialized tool out there to do this thing for me.

And finally, what is a blog? It isn’t like I would type up shorthand notes, so anything I write will be legible to at least myself for future reference. Should I just blog my notes and categorize them as such? If I typed up fifty pages in one day, would that seem like spam, or is there an argument that such diligence in record-keeping is beneficial in this era of 140 character half-thoughts? Can a blog serve as externalized memory, while still providing useful information to others?

If you have answers, let me know. ^_^

One wiki

I like running my own web software. Sometimes that is a problem, because if I have a bunch of ideas for a particular software project, I can obsess over the details of setting up farm instances, with robust backups and turn-key deployment. When I figure all that stuff out, it is very helpful for my work. It is how I go into this, actually. WordPress, Drupal, and a whole bunch of other things.

Being paid is helpful, because it tends to give me focus. An example is that back in 2005, I had more blogs than blog posts. Fortunately, after the “maiki blog bubble” popped, I was able to get some writing done. People exchanging cash for development tends to make me more productive. However, after a while, I feel like this is a job, instead of my paid hobby.

I am fairly certain I am obsessed with wikae, Wikipedia in particular, but the idea of wiki in general. At least once a day I wish the internet was just a big wiki. I don’t think that is a good idea, but it is actually a pretty cool way of thinking about the net, and how we use it. Anyhow, the point is that I am really into these tools.

It was a problem. My ratio of wiki articles to wiki instances was closer to 1:1 than care to admit. There was my personal public wiki, then my personal private wiki, then the ones for recipes, character sheets, tech stuff, fiction bible, and then just a whole bunch more for anything I could think of.

MediaWiki is cool software, but it doesn’t come installed in a form that is easy to use. There are literally a bunch of dead links, right out of the box. And it uses a database, which practically doubles the requirements for installing it (in the context of someone using a hosted web service). Also, there are annoying things, like how URLs are created (maiki doesn’t have capital letters in it). Since I was deploying so many wikae (which really should be the plural of wiki), I turned to DokuWiki, which I still think is much better for what I was trying to accomplish. In fact, I still recommend folks look at DokuWiki before MediaWiki, if they need something that just works.

This all changed recently. The first reason is that I am starting to actually collaborate with others a lot more, in a way that makes using a wiki helpful. Much like git, the network effect increases the value of wikae by a lot. This lead to the catalyst, which was in trying to create workflows that I knew to be possible, I was essentially recreating MediaWiki’s core functions in DokuWiki (which is part of the reason I am not as enthusiastic about Drupal anymore). And then there is Semantic MediaWiki

Since looking at alternatives for Drupal, I’ve been looking at the Semantic MediaWiki extensions. Well, I’ve been playing with them for a while, but it didn’t click until just recently. When you get to add structure to a wiki using form validation, it just adds this layer of abstraction that feels like a giant sandbox of awesome to me!

So, I gotta get into this, ne? But what about the initial issues? What about maintaining a bunch of instances of MediaWiki, isn’t that a pain?

Well, it totally is, but I was fortunate enough to get a fresh perspective on it. Over a series of discussions with Kevin, I was able to express my concerns, and answer to them. I really just needed a soundboard, but it had to be someone who was directly affected by my decisions, so they could provide feedback. Kevin and I are writing a lot of fiction these days, as well as all the other projects I have going on. Once the choice to be transparent with our process, to the point of working in public, we opened up the path I’ve decided to take.

One wiki (to rule them all [except *.Wikipedia {of course}]).

Let me point out the sandbox thing again… w00t!

Having decided that, I’ve been spending time pruning and moving over content from a variety of wikae to a single MediaWiki instance. It is a great relief, because I feel like I can actively fill in a wiki now, instead of spending time maintaining the software for all of them. We still have some meta-pages to set up before I unveil it, and I would like to do more research into account verification extensions (hesitant to use reCAPTCHA, but I know I need something). I will also be writing about how I am using git submodules and symlinks to keep the extensions set up.

If I am not blogging as much, you know where I am. ^_^

Also, I use マイキ as my login. So there is that.

Theming licenses

I am in a kind of odd spot with a project I want to do. The idea is to create a unified theming system for the different software that my site is composed of. I say system, because some of the software is more complex than the others, but really I just want to output the same HTML (as much as possible) using each template engine, and then apply the style-sheets and whatever other enhancements I can figure out.

The first wall I come to is how I would license it, because I do plan to distribute it. My difficulty comes because I want it to be consistent, but each of the software projects involved are released under different licenses: DokuWiki (GPLv2; license FAQ), Drupal (GPLv2 or later, license FAQ), StatusNet (AGPLv3) and WordPress (GPLv2 or later, clarification in licensing language).

Huh, I hadn’t caught the change in WordPress going from GPL to GPLv2 or later at the time.

I want to figure this out for myself, but also to clarify how “GPLv2 or later” works.

First scenario, if DokuWiki (or rather, GPLv2) were excluded, I could release a theme under the AGPLv3 and it would be compatible with Drupal and WordPress because it is compatible with GPLv3 (and obviously it is compatible with itself, in StatusNet’s case).

Second scenario, including GPLv2, I can release it under a dual-license of GPLv2/AGPLv3, which while kinda defeats the purpose of the AGPL, allows the theme to be licensed depending on the software that it is for. Hmmm, this made more sense in my head, but now it is just a pain in the ass.

Okay, smart people who I know are not lawyers providing me with legal advice, can you give me some feedback on how to best do this? I personally don’t think that having the theme as AGPL is essential, since I don’t plan on doing anything interesting with the code that is not related to styling, and I don’t think that styling has to be shared with visitors to a site. However, I like the AGPL, and start there when choosing a license. My point is, I am open to discussion, and would like to know what options there are.

Please reply in the comments here, or ping me on my slice of the social web.

Post script: I should note that I left out the non-code license issue aside, in hopes that it would simplify this. I will likely license the rest of it as CC-BY or CC-BY-SA, if that means anything to this discussion.