I like to go back and re-read my old blog entries. It’s not really narcissism (at least I hope not), it is more like a trip down the memory lane. It gives me a glimpse of what I was into at a given point in time, what was on my mind and what I chose to share with the world. More than that, these posts can be used as recall devices that let me access memories that over the years got burred. I can for example stumble on an old video game review and remember other details – like where I was at that time, or maybe the girl I had a crush on back then. It’s kinda like the journals from Butterfly Effect. Only I can’t go changing things.
Unfortunately the problem with a public blog is that there is only so much that I’m willing to share with the entire internet. A lot of the stuff that is on my mind gets converted into blog posts, but a large percentage of my musings and reflections simply get discarded into the void. Mostly because they are irrelevant, or silly to everyone else. Recording them could only be potentially beneficial for one person: me. So I figured, why not start a private journal of sorts. Something to capture the spillover intellectual output that does not on this blog. It couldn’t hurt, and it would be a great mnemonic reasoned down the road.
Alas, I have hit a roadblock right out of the gate: how. How do I set this up? How do I update it? How do I keep it secure?
I figured these are my requirements:
- I would like this journal to be hassle free, and easy to update and search through. Ideally I would like to leave stuff like dating entries, and sorting them to software.
- Since this would be a private journal, I would like it to be secure. Best if it’s encrypted, or at the very least password protected. I don’t necessarily want it to be web accessible.
- This is a long view project – something that only becomes a valuable resource if I keep at it for many years. Therefore I don’t want to trust it to some kind of an online service that may disappear in a few years. If I use a web based solution, I want to run it on my server, and save data to my database.
- I need to be able to get to the data, even if the client is not available for purpose of backup or migration. Ideally I would prefer it to be saved in a DB, as plain text, or in some open format.
- I should be able to update it from anywhere – from home, from work, from my phone. The ideal solution would have clients for Windows, Linux, OSX and iOS. Which means I am pretty much looking for something web based, but as mentioned – I don’t want it to be easily accessible to the outside world.
Surprisingly enough, I found noting out there that would cater to the particular set of requirements. Right now I’m looking at three potential courses of action:
The Low Tech Solution
My initial idea for this was to just use plain text files. Vim has a built in encryption tool (you can use it by typing in :X) and it runs on just about every platform (except iOS). I could keep the file in the Dropbox and access them from any machine capable running Vim. This is a very robust solution, and one that will last. Even if Dropbox goes away, the encrypted text files can be easily moved somewhere else.
On the other hand, this won’t let me to add entries from my phone. It also will force me to date my entries myself, and won’t provide built in search and navigation tools. So while this is something that will definitely work, and will definitely last, I could clearly do much better.
The Online Solution
I could potentially set up a private blog for myself. WordPress seems like an overkill for this, but I know my way around it pretty well so it is something that could work. Ideally I’d prefer something lighter. I will only be contributing text entries, and I don’t necessarily need all the features of a full blown blog. I could use something lighter like… Actually, I don’t know. What are some good, stable lightweight blogging platforms?
I could require authentication via .htaccess file and use the blog’s internal security tools to make everything private and only visible to me – both at the same time. This should keep it moderately private.
That said, this solution still faces the internet directly, and provides no encryption.
The Creative Solution
Since I can’t seem to find the right solution, I could write one myself. Data would be stored in flat files on local file system taking advantage of Dropbox or similar remote file syncing tool. The files would be encrypted for security and the GUI would do the decryption on the fly. The interface would most likely be written in Java to be platform independent. I could later create a iOS client, if I wanted to.
So those are the options so far. What do you think? Any suggestions on how to implement a private journal? Do any of you keep one? How do you do it? How do you keep it secure? Let me know. I would love to hear some alternative solutions to this problem.