Friday, November 23, 2007

graphs

Sore and tired, I write this post to mark the addition of dynamic graphs to genetify. It was a lot of work, on the one hand, because graphic device drivers are uncooperative, and on the other hand, because my graphing library of choice, the R statistical programming environment, was new to me and it has been used rarely behind a web server. Graphing in R, as good as it is, was never meant to serve a webpage. If it all sounds like it is another lesson in choosing standard technologies to solve a problem, it's because it is. The payoff, I hope in this case, is the analytical power of the R environment (second to none) and the promise of better web server integration thru FCGI or an apache module, of which there is one I discovered.

Wednesday, November 14, 2007

Friday, November 9, 2007

More data

Other progress that I neglected to write about in the past week:

* Foreign key constraints
* "browscap" recording
* Geo location recording
* Referrer recording
* Switch to InnoDB

All this has to do with getting maximum possible data from a visitor when they record a goal. In the future, genetify may be able to do something intelligent with it!

Back to science

I'm eagerly working my way thru this book . It is opening my eyes to a 25 year-old field of study that is directly applicable to genetify. In fact, genetify may be misnamed! It may be more of a reinforcement learning algorithm than a genetic algorithm.

Thursday, November 1, 2007

Documentation is the final test of a design

Just a small observance: Writing documentation forces you to create a good API to your program. Several times today I was trying to describe in writing how to use genetify and I realized that it was unnecessarily complicated or unclear. It's hard to write good documentation because programs often don't operate the way someone would naturally expect. And that's bad.