User Name
Password
AppleNova Forums » Programmer's Nook »

Personal journal on steroids - how to?


Register Members List Calendar Search FAQ Posting Guidelines
Personal journal on steroids - how to?
Thread Tools
Koodari
Veteran Member
 
Join Date: Jun 2004
 
2006-12-10, 07:53

Hay guys!

I have been making "mini-journals" of what I learn in specific fields. For instance, my ideas and notes about one school project are in one document, my ideas and notes about martial arts in another. As I want to track more things, the amount of documents grows. Lately, I have been wanting to write a general personal journal, which would be one more document. I have no way to arrange the notes in their totality (across different documents) according to their subjects or time. I also have no way of writing notes which span different subjects because I can't put them in both files.

What I'm interested in now is finding/putting together a system that would unify this mess and do quite a bit of related automated tasks. Let's go through the requirements:
  • Must be able to add a note simply. (I'll make scripts to add a note straight from Quicksilver, Vim, TextMate etc.)
  • Must be able to tag a specific note with multiple context tags such as "Game Design", "Religion", etc.
  • Must be able to boolean search tags, content, etc.
  • Must not be tied to OS X except for individual output/input modules and scripts. Only open source, multiplatform tools for the core system.
  • Must not push anything into GUI unless I want it to. No scripts hopping in and out of Dock.
  • Must not mangle Unicode when saving or retrieving data.
  • Must be flexible on the output side. I want to be able to read this stuff as text through SSH connection, generate a web page, etc.
  • Must be easy to hook scripts, etc. to. One thing I would like to do is that whenever I submit a note and tag it with "Study", the system automatically spits out reminders (say, using the Unix calendar app "remind") that remind me to review it in one day, one week and in one month. Another periodical script could check for reviewables that are overdue and bug me until I put in a new note or tag that confirms the review done.
  • (Optional but very desirable) Must be able to store binary files such as images also.
  • (Optional) Invidual notes stored under version control so I can add information to them and fix mistakes in data, yet be able to go back and see the original.
  • (Optional) Must have a reasonably easy way to link notes with each other.

I don't expect this to drop in my lap. I'm ready to do a bit of work to get there. Where would you start with this? Some database? XML? One text file per note, parsed with scripts? I have just a little familiarity with all of these, I'll learn more as necessary.
  quote
Koodari
Veteran Member
 
Join Date: Jun 2004
 
2006-12-11, 11:28

Hmm.. maybe at this stage things are too fuzzy for comments.

I did some talking with friends about the project. Obviously I need to have a common interface for the traffic of different input/output modules to go through, and what exactly takes care of the storage should be transparent.

The storage component: given that the data we're working with here is something I want to keep for indefinite time, it would be nice for it to be available in a human readable / machine parseable form instead of a binary file readable by a certain version of certain database. This calls for XML. The data can either be stored as such or be extracted from a database as XML periodically for backups. I think I'll go with a single XML file to start with, then move things on a database if it grows big enough to cause slowdown.

What to use for the interface? I can do it in Java, which I am familiar with (other languages I know aren't good for this job). or I could learn Python, which is something I have planned on doing in the next year or two anyway. I hear good things about Python, the XML support and interoperability with other languages, but haven't done any coding with it.

Last edited by Koodari : 2006-12-11 at 11:39.
  quote
Banana
is the next Chiquita
 
Join Date: Feb 2005
 
2006-12-11, 12:09

Just a suggestion- What you described here, sounds like it can be easily and rapidly built with an database application, like FileMaker Pro.

I should note that I've never actually used FileMaker; it just sounds like a database that can be customized to your needs will give you what you need without too much efforts, and shouldn't be too hard to interface with your web pages, if you want.
  quote
Posting Rules Navigation
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Post Reply

Forum Jump
Thread Tools
Similar Threads
Thread Thread Starter Forum Replies Last Post
Credit and personal finance hiltond AppleOutsider 6 2006-12-07 14:25
.mac and personal domain names. oldmacfan Genius Bar 1 2006-05-10 15:55
Personal Web Sharing SQUIRRI Genius Bar 7 2006-02-13 13:40
Personal Habits vol. 2 Windswept AppleOutsider 43 2005-11-25 01:29
Norton Personal Firewall -- Worth it? joel604 Third-Party Products 13 2005-07-20 00:13


« Previous Thread | Next Thread »

All times are GMT -5. The time now is 05:08.


Powered by vBulletin®
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Copyright ©2004 - 2021, AppleNova