Today was Hack Day at dotastronomy. The hack day started with a session in which various people proposed hacks, in part to advertise and in part to entice people in the audience with coding (or other) skills to participate. I proposed making a bot to interact with the users on the Planet Hunters forums, helping them to discuss and analyze the variable stars and transits they are finding. Foreman-Mackey proposed writing a javascript numerical optimization library for inference in the browser. Marshall proposed making quantitative measurements of images (that is, modeling) in the browser. These three hacks are related, of course, because we are thinking about very capable bots!
When we got started, I found that many people were interested in the bot concept, especially Price-Whelan, Beaumont, Lintott, and Schwamb. They got started exercising the just-started (by Lintott and Simpson) Planet Hunters API, with help from people at Adler (in real time), sending and receiving JSON. I very quietly backed away from the table, and they executed my hack with absolutely no involvement from me whatsoever [added later: I got a prize in the hack prizes for this life hack
: Getting others to hack on my behalf!]. While they made a bot, I went to help out
with (read: gaze in awe at) Foreman-Mackey's hack.
Great success all around: Marshall and Kapadia got image fitting working in the browser (and now Kapadia is contemplating porting simplexy to javascript). Foreman-Mackey made this demo, which does all its fitting in the browser; click through to the code if you need a javascript numerical optimizer. The bot, called ZooniBot, started commenting on the forums and by the end of the day had three logos (one drawn, unsolicited, by the child of a Planet Hunters user) and a bunch of online followers and direct messages!
I love Hack Day.
If you could get something Tractor-ish going in the browser that would be impressive. It's one problem where the user can identify candidate sources pretty quickly which would be a good starting point for MCMC or optimization.
ReplyDelete