lmeyerov at cs dot berkeley
Par Lab | Soda Hall

Bio

I am a first second year graduate student at Berkeley studying programming systems. I have been working with Ras Bodik as a member of the Par Lab, with secondary projects with Raluca Sauciuc, and, more recently, Adrienne Felt. Previously, I was a member of Brown PLT, participating in several language design, verification, and security projects with Shriram Krishnamurthi. I have also worked at a startup, Macromedia, Adobe's Advanced Technology Labs, and a commercial radio station.

I'm researching how to improve clientside web programs. Programmer productivity, security, performance, and correctness all need help. Recently, I've been working on a parallel CSS implementation, getting over the data wall, and exposing applications to search engines. Around February, the CSS should be done, and I'll get back to parallel scripting :)

Current (Web) Projects

Recent Projects

Older Projects

External Publications

External Presentations

External Presentations by Better Presenters

Technical Reports

(citations coming...)

Subreviewer

APLAS 2008, ASPLOS 2008, PPDP 2007

Teaching

I was the teaching assistant for CS164, the undergrad compilers course at Berkeley. Overall class ratings were on teaching effectiveness and worth of the course; Prof. Bodik and I broke course records in both leading back 15 years. Considering it was on the joyous topic of languages and compilers, I must thank the recognized monstrousity that is modern web programming -- gracias, internets.

At Brown, I was the head teaching assistant for intro. to models of computation (cs51) and intro. programming language theory (cs173), was a regular TA for discrete math (cs22), and wrote lectures and projects for the new systems security course (cs166).

Languages

I always find it interesting to know what languages language designers actually use. Over the past year, I rather equivalently wrote in JavaScript 1.5, ActionScript 3, Bash + sed, OCaml, R, Python, and Java 1.5. The ActionScript and JavaScript projects often included snippets in the functional reactive style. Contrast this against what I don't use. Even considering my time in commerical development, the only times I used C or C++ were to interface to existing code bases, complete Operating Systems projects, or whatever misguided things one does while in high school. I found lazy languages (Haskell), logic and specification languages (Prolog, Alloy), data flow languages (Max/MSP, shell), and metaprogramming rich languages (Scheme) formative, and writing Flapjax made me often appreciate many of their features that JavaScript did not have (particuarly statically typed parametric polymorphism, delimited continuations, minimalistic syntax, and hygienic macros), but, as implied above, find that I generally only turn to them out of curiosity. If the CLR lost a lot of proprietary restrictions, and otherwise gained the universality of the JVM, I would probably switch from Java to the F#/C# family. Laziness is probably what's keeping me from Scala (of my own, not to imply the language isn't eager...). Ultimately, I believe Iota is the most clean and unambigious language.

Update: As I've been mostly reading this semester, my code writing has been equally distributed between C, MPI for C, SK combinators, R (the Lisp of the Matlab universe), untyped lambdas, LaTeX, and, nominally, UPC and OpenMP. To a lesser extent, I converted some Flapjax examples to FIRE, my reactivity extension for ECMAScript 3.5 (including side effects).

Update 2: The semester is drawing to a close, and now I am writing in a mix of ANTLR 3, Python, Java, Bash, and JavaScript. This will likely be mixed in with MPI over either C or O'CAML. Inbetween the updates, I wrote way too much LaTeX.

Update 3: LaTeX, HTML/CSS, JavaScript/XUL/SQL, O'CAML, Manticore, and attribute grammars.

Cool Papers

I am currently not including papers I read before starting this list. List started 11/12/08. Related works sections of my papers provide some hints for those :) These papers changed my perspective in a non-trivial way.

Graduate Coursework

Berkeley: Statistical Learning Theory, Current Berkeley Research in Programming Systems, Design and Analysis of Programming Languages, Applications of Parallel Computers, Advanced Systems and DBs, Web Security.
Brown: Programming Language Semantics, Access Control Models, Statistical Natural Language Processing, Verification of Dynamic Access Control Policies.
My undergraduate coursework was mostly in computer science, math, and neuro+cogsci, in that order of likeliness.

Paper Pals

(chronological)

Further Meyerovichs