@LMeyerov: Scientist-at-large launching a big data visualization startup.
Previous life in hacking new languages: Superconductor for hardware accelerated data visualization, Ph.D. at Berkeley on multicore web browsers, Flapjax for reactive JavaScript (FRP), and ConScript+Margrave for secure scripting.
Tuesday, March 31, 2009
It's over
Overall, I left further convinced that I don't want to think about exposing web programmers to STM until the community performs a lot more semantics work and field studies (though there are a couple of places where I'm thinking of transactional implementations, but that's different from what you suggest end-user code should use). Finally, I want to take a stab at writing barrier-style code instead of task-parallel as I'm hitting a 24ms wall with TBB and Cilk++, which translates to a quarter second on a handheld.
(and Tim Harris is awesome.)
Tuesday, March 24, 2009
Laws and Rules
Zero, one, infinity rule [on going beyond public/private/protected/published/...]
This seems to be about change control boundaries. You start at level zero with a language that has no inner boundaries. Then you say: we need one change control boundary. You add the public/private distinction.
That is OK for a while, then you start thinking: I wish we had two levels of change control. Private, public, published. How plausible is it that two will be enough? Surely this is the point to move to a more general structure. - Alan Crowe
Recently, I've been starting talks with Amdahl's law (when you go parallel, you need to go all the way), Bell's law (laptops are being replaced by handhelds), or the Birthday Paradox (in a room of 23 people, there's a 50+% chance some folks share the same birthday).
I think the coolest one that I've picked up recently is about the difficulty of jumping from 2 to 3. Solving 2-SAT and 2-coloring is easy -- they're even the same problem -- but going to 3-SAT and 3-coloring is prize-money hard.
Monday, March 23, 2009
Last one
This paper presents Flapjax, a language designed for contemporary Web applications. These applications communicate with servers and have rich, interactive interfaces. Flapjax provides two key features that simplify writing these applications. First, it provides event streams, a uniform abstraction for communication within a program as well as with external Web services. Second, the language itself is reactive: it automatically tracks data dependencies and propagates updates along those dataflows. This allows developers to write reactive interfaces in a declarative and compositional style.
I need to finish putting together a couple of talks, but then back to working my parallel browser stuff full time (modulo writing proofs about parallel algorithms..).
In other news:
- We had an Iron Chef cook-off last night, with the secret ingredient being tofu. Team Awesome (me, Fabian, & Kaitlyn) prepared tofu popovers as an appetizer and then a full meal of: spicy tofu (my favorite) as the main, and pan-fried asparagus and friend potatos, both mixed with both caramelized tofu and caramelized onions. Fabian finished with a strawberry parfait, making a ricotta out of pine nuts and tofu, and I topped it with some dulce de leche. I think everything except the potatos were spectacular -- amazing, considering I never eat tofu.
- Road trip to San Diego!
Friday, March 20, 2009
Yaggle
M: "Uh...what does it do? I just see a map. Running Firefox 3.0.7."
A: "Over the course of a minute, ~20 points will appear on the map. Click on the map to read a Tweet."
M: "I think this application is great: it's a real-time map of twits! Now I know where to avoid."
A: "get the hell off of the east coast. that's what my map suggests."
Ah, PLT-localcore.
Tuesday, March 17, 2009
Freedom...?
We present a dynamic control-flow analysis and state classifier for graphical user interfaces. Search engines, end-user programming interfaces, and automated testers exploit such information, but are challenged by clientside and serverside scripts obscuring it: our analysis succeeds on popular web applications that contain both. We further motivate such analyses. First, we introduce a new type of browser extension: a natural-language interface to third-party applications. Second, we begin to address the problem of updates to a website changing how a third-party application must use it: by extending our analysis to yield change-impact information, meta-applications can automatically repair their broken interactions.
Just as I thought the storm passed, I found out there's another one Friday =/
Sunday, March 15, 2009
2 more days
In other news, I rediscovered my old Flickr photos. I wonder if there's a good way to connect this with my Facebook photo albums. I really wish I had time to implement my generic data-liberation Firefox extension idea to disconnect data from applications -- not only is language lifting fun, it'd also help solve this problem in a principled way.
Wednesday, March 4, 2009
The joy of related work
Invariably, some of it is very similar to our own work, which is Scary. However, the darker the fear, the higher the joy:
Hey, I almost finished watching the ZZZ 2008 presentation on ZZZ, but I decided to write you when the guy opened Google Maps and said "for which I don't even know how a state machine can be created" :)
Their example was a login page with username/password and submit...
Back to work,
Raluca
Almost done with the camera-ready version for Hot Par, and then back to writing for FSE and running experiments..