Project Plans

Finish HTTP Library

I've been putting this off since the last weekend for catching up on TV and movies, plus working late. Given my plans for my week vacation, I need to have the majority of the code completed by Friday and off course, I haven't worked on it this weekend either. Given that this week is the deadline for the current project for work. I'll probably have another few nights of working late or arriving early and leaving normally. I prefer the latter. I might take Friday off, given the extra time I've been putting in to the project.

Regardless, I'm thinking that this week should give me enough time to at least estimate how much more time is needed to complete the project. If it looks like I can complete the project over next weekend, I'll attempt to do it. I hope to at least put two hours a day into it this week and attempt up to 5 hours a night if I don't work late. I believe if I were to do that, the project should be finished this week. Or at least I'll know how much longer it will take.

Projile

I want to start the Projile project and devote the 8 hours I would be working at work on the project. The rest of the day, if the HTTP project is not finished, could be devoted to the HTTP library. I think given that I'll both be learning Python, doing research, and testing as I develop that the time will allow me to have the motivation to start and hope get to a point where I'll continue.

Also I'm back to using Trac as a foundation, but I decided I don't have to refactor everything and I can work on the controller and model parts separately from the core Trac until I'm ready to convert the rest of the application. Well, basically, it is the same as if I'm creating a new project management application from the ground-up, but it will be less demotivating since I'll be using Trac as a base.

I'm not sure how far I'll be able to get given that I'll be attempting something new with Python development. I've mostly written scripts for simple tasks and nothing this big. I'll probably work on what I wanted to work on last month, which is the installer and plugin model. If I can do both of those, then I'll be really excited to continue.

Oh, I'm unsure how far I'll get during the vacation time. Probably not too far, but I plan on putting the project on hold after the vacation or maybe working on it for another week or two depending on how much motivation I have.

Also, both the "Alloy of Law" Mistborn Novel and another book is coming out the 8th of November. I'll probably spend a day or two reading those as well.

Fuzzy Logic Library

I've been wanting to write this library for a long, long time. Almost 3 or 4 years now. I think I'm finally ready to start the throwaway prototype version. It should be near what I've been wanting. The goal of which is to make it easy to use and prevent a lot of setup and have some database adapters as well.

I'll probably attempt Test-Driven Development for the prototype to work out the API and math. The difficult part is really just defuzzifying the results. I had wanted to include debugging, which is simply displaying a graph of how the Fuzzy Logic data and results would look like. I'm unsure if I'll be able to get to that with my time I'm going to allocate to the project.

I'm allocating 2 weeks to the prototype. I think that will give me enough time to see if the API works with ease of use and if it is usable for defuzzifying the results. I'll skip inline documentation or at least the phpdoc kind and simply work on the unit tests and code. I figure I'll be throwing away most of the code anyway, so there isn't a point writing documentation. Also, if I can get the code running, I can see how well it performs with fuzzy logic results.

Timeline

HTTP Library - October 31 to November 5-6. Projile - November 6-7 to November 20. Reading Fantasy Books - November 8 to November 12-14 (Probably 5 to 6 hours a day. Alloy of Law probably will be finished the 8th and will take the entire day.) Fuzzy Logic Library - November 21 to December 5. Projile - December 5 to May 2012.

Other Projects

Quickbooks Connect Library

I'll probably hack this shit together within 3 to 4 weeks and see who wants to test it. I have plans to port the PHP to Python. Actually, it is completely possible this could take 2 weeks.

PHP Database ORM Library

Basically take the CodeIgniter ActiveRecord Library and the DataMapper library extension to CodeIgniter and package it in a standalone library. None of the code from CodeIgniter or DataMapper will be used, but it should be mostly API compatible. Again, probably hack a version together in 2 or 3 weeks, writing tests matching the API of CI and DataMapper, then fill in implementation details. If it functions well, I'll probably simply package it as version 1 after writing inline documentation and user guide.

Search Engine

Port Nutch to D and, or Python and interface with both Sphinx Search and Lucene Solr. Really, simply just a spider that implements a dumb version and a Nutch clone. Shouldn't take very long and might be something I attempt during my vacation time. Well, the dumb spider and interface with Sphinx and Solr at least; the Nutch port would take considerable more amount of time.

PHP and Python Game / AI Library

Something I'll probably attempt during the second half of 2012 before I start working on the browser game engine. Might also implement several easier algorithms or at least prototype different Game and AI APIs. Might also take a few breaks from Projile during 2012 to work on Neural Networks and Genetic Algorithms. Graph APIs, Pathfinding and random terrain generation might also be fun.

I'm guessing that some open source browser game engines will exist by 2012 as well. It is possible IE 10 will support WebGL as well. It should be interesting to develop a HTML5 JavaScript library that doesn't require backwards compatible code and simply implements workarounds for missing HTML5 technologies. Several of which already exist anyway. I can't wait to start developing something that I've been wanting to do since 2003 and 2004.