Tuesday, October 21, 2008

Recent thoughts

  1. Some browser grouching: The idea of a BOM, or browser-object-model, is one of the coolest things about modern client-side web programming. Further focus on this would be awesome. More importantly, updating DOM (and BOM) APIs for more introspective, reactive, and/or cross-frame/tab interfaces is increasingly important. Finally, I'd like a prospector-like tool for it all. For example, it took me a couple of hours to figure out "window.frames[i].frameElement == someFrame, someFrame.ownerDocument.defaultView.frames[i].frameElement == someFrame," and many more to correlate clicks between tabs and frames.
  2. 2 submitted... 2-3 to go! hurrah!
  3. Concurrency != parallelism is drilled into us early on, but what does that mean about intent when developing programs and building systems (or languages) to support them? For example, I'd say most efforts in virtualization actually only target the former: parallelism is a stronger concern than concurrency, adding machine or performance model constraints. More concretely, a parallel web app running on a VM that shares a machine with another similar web app would likely benefit from a policy on how to deal with this situation.
  4. Ben and I had an interesting short discussion with one of the Fortress designers yesterday. Lightly paraphrasing:
  • Leo: What's the story on correctness?
  • Anon: We added contracts.
  • Leo: But Fortress is parallel...
  • Anon: Ah.
  • [Discussion about pre/post contracts providing an invariant on entry a developer may assume and then another he/she must satisfy on exist going to hell in parallel languages that allow arbitrary code to yield or be preempted]
  • Anon: We added atomic sections.
  • [Discussion on how the two fit together]

No comments: