The contest is still five hours away from ending, but everybody but me has either had to go home or given up, so I’m going to pack it in in a few moments, too.
We’ve made a fair amount of progress on the Meet and Greet problem, and are close, but not close enough unfortunately, and working alone I just don’t feel up to trying to fix it up. We also apparently have some progress on the math of the Eccentric Meet and Greet, but I don’t know how much of that ever got into the code.
We submitted answers only for the Hohmann Transfer Orbit problem and we’re currently at 261 out of 315 on the scoreboard, which puts us at about the 20th precentile—not a very good showing. What went wrong?
One part of it was needing (or at least, thinking we needed—and we probably did) the ST monad and mutable data structures to get the simulator running with reasonable speed. I had to learn how to use these things, which probably ate several of the half dozen or so hours I spent implementing the VM. And even there I later looked at at again and realized that I should have done a couple of things differently it would probably have run much faster.
Another possible cause that, since I was ignoring (and I think that Byran was, too) the math code while working on the VM and Simulator, we left our most inexperienced Haskell guys to work on the controllers without any help, and the code there got a bit messy. I know I spent a lot of time doing cleanup today, when trying to make improvements to other parts of the structure to do things like help speed up the VM. (I don’t think that we won’t be releasing the code publicly, by the way; I’m not very happy with it.)
A definite issue for me was that I’m not very good with vector math, and I don’t have any intuitive sense of the math needed for orbital problems. I did have a bit of a go at using a more fuel-burning algorithm for Hohmann Transfer Orbit problem, which would have given us more points, but I couldn’t work it out, and really didn’t enjoy it at all.
There were also some issues related to our unfamiliarity with git, and trying out multi-developer git workflow “for real” for the first time during the contest. There were a several occasions we wanted to so something that would have been trivial for us with Subversion, but where we had to go and do reasearch to figure out how to do it in git. (A particularly annoying problem, and one we never solved, was how to merge committed changes into uncommitted code, which is something that we at Starling tend to do frequently.) I don’t know that this contributed too much overall to our going so slowly, though.
I mentioned the dysfunkycom earlier. It turns out that we never really did join efforts, beyond crosschecking a couple of our numbers against theirs to make sure our VMs were working sanely. Part of the issue was probably that they started out ahead of us (they had someone in Canada who started working at the beginning of the contest, which was at 3 a.m. in Japan) and stayed that way.