On the way to the Numenta HTM Challenge…
Greetings Earthlings (and otherwise affiliated)…
While the general point of this blog is to share observations, insights and musings during my investigation into HTM (Hierarchical Temporal Memory) technology – to chronicle my learning process and help others who are struggling to understand HTM technology along with me, the first few posts will be dominated by talk surrounding the Numenta HTM Challenge.
In the past, Numenta has held 48 hour Hackathons in various locations around the U.S. which are really great gatherings and produce very interesting hacks which demonstrate the power of HTM technology – but are somewhat limited due to the brief amount of time available to develop them.
The current hackathon is arranged a bit differently. This time hackers will have approximately 48 days (Sep 18 – Nov 6, 2015) to develop their hacks, which should make for more elaborate application submissions and some interesting hacks to be sure!
So I talked to Matt Taylor (the Numenta flag-bearer/Developer liaison for the Numenta Community) about wanting to create a Java version of Numenta’s GEO Tracking application, but make it a touch more useable by making it standalone (no web server required) with no pre-processing of data. My hope is to be able to add more features to make it easier to use and a bit more enhanced (it will be already able to run on just about any environment by virtue of its Java heritage anyway). Matt thought it would make a great HTM Challenge submission and encouraged me to enter it in the challenge. So here we are…
Down to the nitty-gritty… enter Nostromo
So I spent some time looking around for Java libraries I could use to implement a GEO Tracking application in Java, and I found two very useful APIs. These were the Google Maps API which responds with textual information but no JavaFX UI handling, and the GMapsFX API which has a JavaFX UI API but not all the functionality I needed. So what I am ending up with is the opportunity to develop an API which is essentially a wrapper around the aforementioned but with a unified object model that abstracts the two (along with some additional functionality of course).
Basically I have to first create FXMaps, a JavaFX mapping API first – before even getting to Nostromo… Huh boy…
So far FXMaps has much of its object model built out and has a reference implementation that can be used to display a map, enter in waypoints by clicking on the map (in Simulation Mode) and saving the “map” to disk so that it can be reloaded when restarting the app. I will continue updating the reference implementation as the API gets flushed out, so anybody who’s interested can play with it and monitor its development. (just run ai.cogmission.fxmaps.demo.RefImpl.java).
Anyway, so yesterday I added the ability to load GPX files directly from the example app! GPX (GPS exchange format) is a GPS format which is outputted by mapping applications you can run on your smart phone! You can record a route; save it and then point to it from within the FXMaps demo app and eventually Nostromo.
Anyway, I hope you find this site both interesting and useful – and I hope you enjoy the process of learning about HTMs with me – it will be nice to have company during what I expect to be a long and very interesting journey!
Please feel free to leave comments, criticisms, hissings and guffaws below… 😉
Nice first post! Can’t wait to see Nostromo evolve.
Thanks Richard! I can’t wait to see it also… lol!
@Richard Do you have any links you consider essential? Like on audition or any of your other interests?
I read On Intelligence a while back and played around with an early version of nupic, I decided to take a look again now that I have more free time and saw your blog on the mailing lists. I look forward to following your posts!
Daniel,
Thank you! It’s great to have you back! Please feel free to look at the links under “ESSENTIAL LINKS” for great resources and starting points in your study of HTMs. Also, please feel free to join the NuPIC mailing lists: http://numenta.org/lists/ and the Gitter live chat: https://gitter.im/numenta/public and https://gitter.im/numenta/htm.java
Cheers!
David
Thanks David, I’ll definitely check it out!
Hi David! Thanks for starting a blog about HTM. I am planning on putting together some type of HTM blog aggregator at numenta.org, but haven’t gotten around to it yet. But your first post has inspired me to at least put this list together: https://github.com/numenta/nupic/wiki/HTM-Blogs
Hi Matt,
Thanks! Cool list, I didn’t even know some of those blogs existed. The “aggregator” page looks like it could be very useful.
David – I am looking forward to following your progress. Is there a way to subscribe, so I can be notified when you make a new post?
@Jeff Fohl – I’m not sure really. I’m kinda just getting started with this Wordpress software. I’ll let you know once I figure it out, ok?
Jeff, and Anyone Else who is interested…
I have added the ability to subscribe to posts on the site. See the right side-bar menus –> SUBSCRIBE: “COGMISSION BRIEFING”
Cheers,
David
Great! Subscribed.
Awesomness….
Thanks Chris