<?xml version="1.0" encoding="utf8"?>
<rss version="0.91"><channel><title>Aeracode: Micronatia</title><link>http://aeracode.org/category/micronatia/</link><description>Posts from Aeracode, in the Micronatia category</description><lastBuildDate>Sun, 19 Nov 2006 15:24:40 -0000</lastBuildDate><item><title>Abstraction... it's so much fun.</title><link>http://aeracode.org/2006/11/19/abstraction-its-so-much-fun/</link><description>It's time I shared my experience of writing Micronatia's data model (well, this blog has got to have something in it).
The challenge I am presented with is trying to create some sort of simple, object-based, relational way of representing goverments that can allow any system imaginable, while still keeping some sense of database sanity.

I've made many simplifications, so that my current model is a lot less generic than my ideal, conceptual model was, but then A4 paper is a lot more forgiving and flexible than MySQL, if not as easy to get data off of. But, even then, it's still really hard.

I gradually sort it out over time; I'm beginning to suspect I'm dreaming about it (I can't remember my dreams too well, but occasionally I get bits) and occasionally I'll get a brainwave while I'm doing something else (like now; I've just thought of a great way to do Laws so we can have the dual-house system sort of like the US and UK).

It just leads me to say that you should always design things before you do them, but often good design needs some experience of implementation first. Now excuse me while I go and push my models linecount into the thousands.</description></item><item><title>I hate BBCode.</title><link>http://aeracode.org/2006/11/15/i-hate-bbcode/</link><description>It's horrible. Not because of the way it's not really a complete standard, but more because of the fact users get so much input into it and can screw things up so well. Trying to generate valid XML out of it isn't at all easy. Thankfully, Beautiful Soup, a wondrously lax HTML parser, came in and saved most of the day.
Don't get me started on Wikitext. What's that you say? Start and end tags the same? Tags with multiple meanings? Aaarrrgh.

At least Micronatia is progressing at a very good speed, and teaching me even more lessons about designing massive bespoke web applications, one of which is probably "don't do it by yourself".

In case you didn't realise, ByteHoard3 is on temporary hold until I finish the inital Micronatia coding marathon. Sorry 'bout that, but I can't program two things at once. (Yet.)</description></item><item><title>Introducing... Micronatia</title><link>http://aeracode.org/2006/11/9/introducing-micronatia/</link><description>I both love and hate politics. It's humanity distilled right down to its core; power, tactics and feuds.
However, real-life politics can be a bit of a drag sometimes, and it has too many repercussions. Thus, me and Martin Smith (of &lt;a href='http://www.maniacmartin.com'&gt;maniacmartin.com&lt;/a&gt;) have teamed up to create &lt;a href='http://www.micronatia.com'&gt;Micronatia&lt;/a&gt;.

You can read more about it at the site, but it's essentially an online political simulation, with all the red tape removed, and an open-ended government simulation system, where you can form governments of pretty much every description (and more).

We're currently in private alpha, because the site is only seven days young; we have a user system and forums implemented, and are working on the government simulation (which is naturally the hardest part to implement, especially when my notes take up several hundred lines). The whole thing is implemented from scratch in Python (we're basing it on &lt;a href='http://turbogears.org'&gt;TurboGears&lt;/a&gt;), and is very well designed if I may say so myself. SQL injection is really hard, if not impossible, I've learnt far too much about bad BBCode already, clean URLs abound, and it's got really far along for seven days' work. All we need to do is add 'beta' under the logo to become fully Web 2.0...</description></item></channel></rss>