Monthly Archives: November 2013

Recently Facebook, along with several other organisation were nominated for the Noble Prize for peace on the count of they role in the falling of corrupted regimes such as Libya and Egypt. As of now, These countries still haven’t their desired peace-and-prosperity, but peace and democracy were never easy to achieve. It’s worth mentioning that while most people presume that the french revolution sums to the conquering the Bastille, it actually took decades and many lives lost on all sides.

Read More


You keep going on an on about “full-concept-separation” but it’s not really clear how can you have a dynamic HTML without having any code in it

You’re right, I’m not sure how you can generate HTML without any code, but let me suggest you XSLT (eXtensible StyLesheets Transformation) as a way to take XML-based data and transform it to HTML. You know, forget XML let’s take JSON (Javascript Object Native). how, you ask? very simple – just add json2xml() function at the entrance of your xml2html() function and your set

function json2html (jsObject) {
    return xml2html(json2xml(jsObject));

how will the xml2html() function looks like? oh, it’s very simple: you simply take the XML object and the XSLT template, throw them both together into a XSLT-processor and return the resulted HTML

xslt = new XSLTProcessor();

xsltDocument = xslt.readXsltFile(__dirname + “/themes/"+config.theme+"/xslt/default.xsl")

function xml2html() {
    var xmlDocument = xslt.readXmlString("<xml>"+ self.json2xml (content) +"</xml>");
    return xslt.transform( xsltDocument,xmlDocument, []);

you may also notice I pulled another trick here, choosing my theme by selecting the proper xslt (and therefore resulting HTML) at this form.

Read More

Is there any law enforcement in Theodorus? How can you make sure I don’t spam and write irrelevant stuff?

You’ve probably noticed you have a score of credit-points that as it increases it allows you to do more and more things (like commenting, or suggesting ideas, or adding law-alternatives). Your score increases when you use the system properly and when other people approve of your actions (by endorsing your ideas, for example). However, if you do something inappropriate you’ll get penalty points which you’ll need to get rid of (same way you added points to your score) before your score could advance. Not only that, but some actions are actually disabled when you penalty points, and lastly – for every time you sanctioned on the same accusation, the number of penalty – points you receive will increase.

Read More

Do you use MVC for Theodorus?

You know, I really dislike the term “MVC” (model-view-controller, explained shortly). I was first introduced to it after working full-stack (i.e. a one-man-show, from design to implementation) on several projects, I join a company and the R&D manager asked me if I do MVC, which I didn’t know what it means, so he sent me to RTFM (Read-the-f***ing-manual. On side note, a manager that send his workers to RTFM should be ran over by a wall-mart’s cart).

User sees the View and uses the controller to manipulate the model to update the view

Model-View-Controller Diagram

Read More

what this blog is all about; what are the goals and why am I doing this

 So what is Theodorus anyhow?

Hm. To be honest, although I’m playing with this idea for several months now I still haven’t formalised the exact definition. But let me tell you the core principle: Theodorus is community-driven decision-maker. Does this makes sense? I’ll break it down a bit, starting from the end – or the output. “Decision-maker” means that the “system”’s output will be a decision. That’s sound simple enough; it will gather all sorts of input which will ultimately resolve to a decision, or a call-to-action, or an instruction for an action to be made by someone in the real-world. “Community-driven” is the second under-lying keystone and it means that the decision came with the cooperation and agreement of all community members authorised in the “system”.

Read More