numenta/nupic — pull request #955 by moorejpdx (2014-05-23 06:00:35+00:00)
Title: Grok cleanup for issue #927

The scope of this grew pretty large. The problem was mainting backwards compatibility with the existing grok environments. Essentially, I cloned off the existing opf framework named grok environment, and named it nupicExperiment (based off the other opfExperiment environment). Then, I moved all the code in unit tests referring to the original grok environment, placed them all in folders named backwards_compatibility, and cloned unit tests that originally dealt with them to point to the backwards_compatibility folders. Finally, i renamed all the grok references to nupicExperiment. This should preserve existing experiments currently using the grok environments, while allowing all new experiments to have the new default nupicExperiment name. In short, any future changes to the environments and the code in the frameworks can now be done to the newly created nupicExperiment without affecting grok. In the future it should be relatively easy to make grok an invalid choice and remove the backwards_compatibility tests and the grok references in the opf framework. That might be worth doing once we setup pip (or a better installation/experimentation setup). Finally, just to throw an idea out there, but could swarming not be done as its own project, separate from the nupic project? It seems more a preparation step that builds configs for nupic (of course leveraging nupic to do so), rather than a core part of the nupic functionality. If there's interest, I can pose this question to the mailing list as well. Anyway, ideas and/or feedback is appreciated. If anyone can think of a more preferred method of accomplishing this change, I'm happy to implement!

-James