I switched jobs on H1B recently and I don't see what you think the leash is. The process takes about two weeks and as far as I can tell there is no realistic risk of losing the H1B even if your (about to be) former employer fires you and the new company butchers the transfer [1].
As a side-note, me changing jobs fairly dramatically increased my salary. I could presumably (I did not negotiate with old employer but a colleague did when he was about to leave) have gotten the same salary at my old place just by showing the new offer. I don't really see where the difference to a citizen is in this whole exercise.
([1] this is so because even if in the worst case you were kicked out of the country you could still reclaim the remaining time on the H1B so the worst case is still limited and I know of zero such cases.)
Valgrind is nice, however, especially with multi-threaded programs the virtualized execution diverges from a non-valgrind-VM run quite a bit so I am not a huge fan.
I actually think there is a middle ground; just bump the deadline, allow people to still solve it and get a T-shirt but freeze the scores and everybody's happy.
Btw, I agree that the scoring needs to be consistent or less coarse grained (percentiles) so that people don't submit thousands of attempts to get the max out of their solution...
Thank you. What you have to keep in mind is that I do databases research for a living so many of the problems involved in each challenge are very familiar to me. My suggestion to you is to get a stronger systems programming background, I figure that's what helped me the most.
Op here, just wanted to say thanks. Of course it is not cheating in the sense that I tricked the system to give me a better score than warranted but my solution only works for this ONE dictionary so.. maybe it is not cheating but using tighter assumptions than those which were provided by the original task description :-)
Op here. I have done a lot of work involving hash tables in main-memory database research and therefore really like applying those optimizations. You are right though that it might be overkill :-)