Tuesday, March 31, 2009

Zero Hour


I turned my 89 page thesis document in to my thesis adviser and thesis director at 11:15pm March 31st 2009. 45 minutes before it was due.

I expect them to send back comments and change requests. There will probably be a few more revisions before the thesis is accepted.

There is one outstanding task: The code needs to be included in the final doc, so I need to write a script to read through the rails code and convert it into the format they expect in the doc.

I should be bouncing off the walls, but at the moment I'm too tired to be excited. Allison seems to have a horrible stomach bug, so I'm off be be Dad an check on her before I pass out.

Friday, March 20, 2009

Thesis Document First Draft

The first draft of the thesis document is complete! It came in at a paltry 50 pages.

Fortunately I'll be able to pad the page count with all the code I'm required to put in the appendix. Rendered as a PDF it only takes up 1.4mb of space. It's almost as if I didn't have anything to say.

Since the chances of my getting it just right the first time are next to nill, I'm expecting a pile of comments and recommendations from my thesis adviser. I'll have to act quickly to make any changes he requests before I turn it in on April 1st.


In the mean time, this is what Google Docs thinks of the thesis document.

Saturday, March 7, 2009

A Very Beautiful Graph

Of all the parts of my project, graphing has the most moving parts. It requires the generators to work, the controller to respond quickly and for a bunch of JavaScript to combine lots of data from both the generator and the controller and format that data into a Google chart URL.



This is an actual graph, of actual projections, and actual bug counts. It was served up by the controller after I clicked on a graph link from a generated project summary page. It's using completely real data from the controller DB and the generators history.js files generated at the same time as the enotify project page.


In other words. It works!

More importantly, there are NO caveats!

This is production data.  I didn't hold it's hand or even watch.  I just came back after it the generator did it's thing, went to the web page and TA-DAAAAA!

Running the Real Thing

I just launched a longevity test of the system using current production data. To this point all of the runs used data that was over 6 months old. While that data is valid, there are features of the graphing system that don't get exercised.

In order to get a full real life view of the graph functionality you need projections that span at least 1 week before and after the current date. While the graphs were tested with test projections that met that requirement, the 6 month old data didn't provide a real life view of a fully exercised graph.

So basically, I've tested this thing every way I can, and the only thing left to do is to import production data into the controller and let the generators do their thing.

If all goes as expected I'll be able to demo the running system with production data and extremely cool, live updating graphs.

Late night thoughts and Connecting to MySql on a Remote Machine

I'm sitting here in the dark loading lots of production data into the project so I can get some realistic looking graphs for the demo of the project.

Two things occur to me at this late hour:

  1. This project while ridiculously large in scope, was a good idea. Even as I run the import script data on different sites, I'm discovering that as structured as the data is, there are still differences between the data formats and types on the legacy server. A central db and controller is long overdue.
  2. I should have written down the instructions for enabling a remote mysql client/user to connect to a mysql instance. Here they are for the next time:


Users need permission to connect to mysql on a remote linux machine. If they don't have it, trying to log in with MYSQL Admin or MYSQL Query Analyzer will fail with a 1045 error.

To fix this log into the shell on the mysql server and type this:

make sure you have granted access to your user: (run command line)
mysql> GRANT ALL ON databaseName.* TO 'your_mysql_name'@'your_client_host_or_ip';
I found these instructions @ http://forums.mysql.com/read.php?35,9919,12139#msg-12139

Wednesday, March 4, 2009

Starting the Thesis Document

My intention is to reuse  most of my thesis proposal document in my final thesis document. It is yet unclear if that is an option and I'm not totally clear on the best way to frame this project for the thesis document. 

My understanding to date is that this document is intended to describe the problem, the solution, the value of the solution and any inovative and/or cool thinkgs I came up with or learned during the project.

My first step is to create a thesis outline and my thesis advisor has suggested writing 3documents to help me frame what I'm talking about.
  1. The top 5 benefits to the student - inovations or challenges overcome in the project
  2. The top 5 benefits to the end users
  3. A new 1 page summary of the project.
The first two documents are completed.  I started with them because they were the most straight forward and I'm struggling to find a way to describe this project that differs from my original thesis proposal.

My goal is to have the outline and 1 page summary completed by tomorrow.

Development Complete!

Thesis Development completed last night at ~10:30pm. I was too tired and relieved to write about it at the time. The code has been deployed on VMs and is currenly running with copies of production projects (a.k.a sites).

I except to make some minimal changes as I test the project over the next two weeks. Most of them will be CSS related.

The focus of the thesis project now shifts to writing the thesis document. The entire project and thesis document is due April 1st. That is not a joke.