Connecting some Dots

I'm about halfway through my current development phase of my larval Connect the Dots database and Wiki environment.


This is a project with three parts (two of which contain things the user cares about, and the third is stuff that only a developer can love).


First is the CtD database and API, which provides a way to tag web pages (yes, yes, that has been done to death) as well as link them together (the new part; Dots are easy; it's the Connections that are exciting). It can also host simple content, so that you can create comments and attach them to an URL, like a virtual sticky note.  The purpose of Ctd is to allow anyone to re-connect the bits of the internet that they care about, and provide commentary on and assign value to those bits.  Of course, sharing this view is another important aspect.


Second is the DotWiki environment, which will both integrate seamlessly (with any luck) with the CtD back end, and will provide a (one more among hundreds) wiki environment for creating and storing content.  The parts of this Wiki that are different from the wiki's I've used before (including TWiki, MediaWiki, and pbwiki) are the focus on easy content mashup with attributions (credit where credit is due), integration with CtD, and easy customization.  All of the markup filters, page layouts and view, stylesheets, as well as the content itself, are stored in the database, simplifying customization and management.  You don't need to drop down to the server to change the look and behavior!  The markup itself is essentially CreoleWiki, which is trying to become a standard.


Third, and perhaps most important, is a rich User authority and persona model. While not core to the DotWiki functionality, the user model is a test bed for some new ideas I wanted to play with.  One is that the public face of a user (their Persona) is what is associated with all content they create, has the public Wiki page for information, and so on.  A given user may have several personas, and Karma incurred by those personas is carried down to the user.  Karma the user has can also be reflected in the persona.  So, an "anonymous" persona could have a voice that carries weight, due to the karma link of the login user.  Users and personas are loosely coupled, and this coupling is encrypted, so it becomes very difficult to backtrack from Persona to User, even if the database is compromised.  In fact, all private and/or personal data of the User is encryped on the client browser and the clear version never sees the light of network traffic or my database.


First release should be early March, with graphical Dot Connection browsing in April.  The system will be documented and released into the wild via the,, and domains at that time.  I will also be using the system for my new website which will be at


It's all written in Ruby using Rails (for the most part) with some heavy data-driven customization by myself.  Half of the effort so far was just learning to use the tools and environment!  I'm new to web programming, and the "convention versus configuration" policy of RoR makes it doubly hard to do unusual things in that environment.  However, I enjoy Ruby and find it generally a pleasing and powerful environment.


More as I come up for air again, hopefully with a working online demo.  Wish me luck!



Thanks so much for posting this Edwin.  I know how difficult it can be to tear oneself away from the code to tell the rest of the world what you are working on! I'm so glad you are getting so much done in regards to it! Cheers,Silona