What the hell is this, anyway?

Jester and BMD are kind of separate programs, but they work together and were meant for the same goals. BMD stands for BookMark Database. It serves as a platform for bookmark sharing over the internet. You know what bookmarks are, right. They're those website shortcuts that your browser makes so you don't have to retype web site names all the time (Favorites pull-down menu). Every browser I know can make bookmarks, but I haven't seen too many efforts to make a bookmark sharing system. So here goes my attempt.

You probably have your favorite websites bookmarked in your browser as do many other people, but your friends almost certainly have one or two bookmarks that you don't, right. You could always find out by asking them about it one day. But what about that new website your friends find tomorrow? You'll probably have to ask again to get that. You and your friends could arrange some kind of pact to keep spreading the good news whenever one of you finds something cool. To be efficient, you could do it by email, instant messaging, irc channel, or even a news group, but I propose a more elegent system from this situation. Jester/BMD is a shared bookmark database that can automatically spread new discoveries from you to your friends and to countless thousands of other people none of you have ever met (or ever will). In theory, if enough people contribute to a database of music web sites (or any other topic), then that database could serve as a specialized search engine.

Anyway, BMD arranges collections of bookmarks in the form of a relational database. This is unlike search engines which list them hierarchically or just as a huge list. I think the non-hierarchial database arrangement style will be much more useful. I'm through trying to write my own RDBMS, so I've started using PostgreSQL as the backend for Bmd. I suppose I'll put in MySQL support later. When you install the software it will setup a Postgres instance with its own cluster and port number for all your bookmark sharing purposes.

Most of all, it will setup the hostsurvey tool for you. The hostsurvey automatically gathers updates for your bmd databases according to changes in other people's databases (your hosts). It compares your database to similar versions stored on other people's computers and copies the differences to your database. This is BMD's most important ability. With all the databases shared on the internet, they are effectively connected so that any changes made to one will be copied to the others (eventually). BMD is meant to be a collaborative database platform that we all maintain. Collaborative database is the name of the game. Every user joins a maintainer network for his topics of interest, and my software just manages the changes among them.

Jester is the GUI interface to BMD. It allows you to read the database as separate tables with their records and fields arranged in rows and columns. It provides an interface for changing the database, and will eventually help you search it. Finally, it helps you manage all those incoming changes from other peoples databases.

In the future, I'm just going to call these databases bmds. The software is BMD or Jester or Jester/BMD or I could just get lazy and call everthing Bmd. So use Bmd, and build great databases.