You might give some thought to how this relates to the lack of diversity (esp.) gender diversity in our field. It ought to be the starting point for a great discussion. Perhaps HN is not the ideal venue for such a discussion....
The Gates Foundation work is and will likely continue to be disastrous for public education in the U.S. It is simply an attempt to push education into the private sector.
He's pushing for same review system MS uses to be implemented into public schools in order to increase their school rankings, which is apparently riddled with corruption and ineffective according to ex employees like this guy: http://www.qbrundage.com/michaelb/pubs/essays/working_at_mic...
"Microsoft's review system, in which a mid-level manager has significant control over all the review scores within a 100+ person group (so it's in your best interest to get on his/her good side), and conversely needs only a fraction of that group's total support to succeed as a manager (so it's in his/her best interest to cultivate a loyal fanclub to provide that support). The cult gives the manager the appearance of broad support, and makes the few people who speak out against him/her look like sour grapes unrepresentative of a larger majority. After a string of successes, the manager is nearly invincible."
Basic Web architecture: 1. expose resources, 2. resources have names (URL), 3. allow basic actions on these (GET, DELETE , PUT, POST ) as needed. 4. Include URLs (as links/forms) in representations.
OK, now build your API . Please do NOT start w/the API and work back to basic web architecture. Servers should always provide URLs (url templates are fine), NOT the client (by way of snowflakey construction algorithm).
BMI is not a record company. It is a performance rights organization. Lots of independent label artists have their work registered through BMI (myself included & I get checks quarterly from BMI). This seems crazy/greedy to me, though. How about if I put my work on a website (which I do -- free for listening or downloading)? I would hope that's not considered public performance.
"But the world would be a better place if more engineers, like me, hated technology.
The stuff I design, if I'm successful, nobody will ever notice. Things will just work, and be self-managing. Though, I've learned that some people like to configure things, so I usually design in knobs for them to play with, and perhaps improve things, but any setting of the knobs will still work correctly.
When engineers [who] just love this stuff design something, we wind up with a system that asks an innocent person attempting to install email, "Do you want POP or IMAP?" One common comment engineers make is that we need "more user training". That's just wrong. Instead of expecting humans to adapt to an interface slapped together by engineers, engineers should strive to create a system that is designed for humans in their natural form. "
Her book on networking is the most frank and direct and easy to understand book I've ever read. She cuts straight to the chase, including saying stuff like, (paraphrased) "and after a few rounds of committee meetings, you get a complete incomprehensible mess, but these are the root issues they are talking about and the mess derives from two different views on committees on how to view networks..."
(Saw that you also replied on my blog post, dumping my reply to you here, as well.)
IndexedDB may help a bit in this case. It'll cut down on memory usage (at the cost of additional reads on the disk - which will likely increase battery usage on mobile devices) and <em>may</em> decrease search time. Although easily the biggest benefit of my current technique is that it's capable of easily using <code>localStorage</code> - and that has fantastic cross-browsers support (in contrast with IndexedDB, which doesn't).