Document why there's a symlink here.
Use the pygdal namespace ("Explicit is better than implicit")

I decided that "Feature" was too generic to remember.
Brainstorming how to map Eutopia into SQL.
[BROKEN] checkpoint the first round of fudging eutopia into a database.

Features:
- can be given a db to log to (still); if not, autocreates an in-memory, temporary DB
- records the same state as before, but to a table
- extracts the state at the end

Bugs:
- dataset fills in an unecessary gunk "id" column needlessly (maybe we should just use SQLAlchemy directly; this requires being more careful with our schemas, though)
- the plotting code hasn't been updated
- anything that depends on eutopia is now, suddenly, very, very broken (maybe .log should become a @property which does the ugly backwards compat stuff?)

TODO:
- explore letting Dataset flop the activities across columns instead of down rows
[BROKEN] tweak previous commit: allow databases to be specified by *connection string*
[FIXED] Repair eutopia to the same outputs as before

I switched to using what I'm calling my "version 1" database schema:
runID | time | duramWheat | duramWheatGreen | ....
which simplifies a lot of things, but seems unSQLish.

Though I think simulation.py is still broken.
and server.py is definitely going to need a fix.

Also chmod +x ./eutopia.py, for convenience and to point
out to the unixheads that *it is itself a program*
[FIXED] Repair server.py to use the database API

Frontend is still b0rk because I b0rked it before I did any of these backend changes.
That will be next.

Actually, immediately next will be hiding the 'id' column that dataset imposes for no reason.
I was wrong about the symlink. Corrected.
When run under server.py, log `eutopia.sqlite`, instead of just to memory

(note that this will log to your working directory)
The graph is back.

This code is soooo dodgy. I am already imaginging it being gone.
apparently 'trunc' is firefox-only
Bam: Update the time slider as new data comes in.