I am a PhD student at MIT CSAIL, advised by Jonathan Ragan-Kelley and Josh Tenenbaum. Previously, I was an undergraduate at Stanford University, where I studied computer science, physics, and English literature — islands I hold to be the lost children of one great continent.
I study the computational basis of how our minds understand other minds, what we sometimes call our “theory of mind.” My research endeavors to reverse-engineer the metacognitive concepts that compose our theories of mind: fundamental ones, like knowledge and belief, and sophisticated ones, like understanding, satisfaction, respect, and grief. To be human is to apply such concepts: in everyday acts of cooperation and communication, and in extraordinary acts of leadership and education, artistry and expression, caregiving and compassion. But where do these concepts come from? What are they, really? How do we learn them, so quickly and so robustly? Can we endow computers with them, from first principles of human cognition? What would it take to build an intelligent machine that thinks—not just like us or for us—but with us?
To approach these questions, I work with colleagues in cognitive science, social psychology, philosophy-of-mind, linguistics, programming language theory, computer graphics, artificial intelligence, psychiatry, art history, and magic. (It's the islands and the continent, again.)
My research is generously supported by the Hertz Fellowship, the Paul & Daisy Soros Fellowship for New Americans, and the National Science Foundation’s Graduate Research Fellowship Program [press]. If you are currently applying to graduate school, I encourage you to consider these wonderful programs. See also the MIT EECS Graduate Application Assistance Program, which I led from 2022-24.
Outside of work, I play in a Cambridge-based jazz band. Some memorable performances include: Somerville Porchfest (twice); the Lilypad; department events at MIT BCS, including one in Timothy J. Toomey, Jr. Park; the American Academy for Arts and Sciences (opening for Stephen Wolfram); the inaugural MIT Afro-Latin Jazz Ensemble's winter concert; and a celebration of "In C" on Terry Riley's 90th birthday. Ask me about my hit singles "Inner Peace," "Burlap Sack," "Piaget Man," and "Temporal Anomaly / Parietal Catastrophe." I like exploring cities. In recent memory, I have spent time in Amsterdam, Ashland, Baltimore, Bangalore, Berkeley, Boston, Cairns, Cambridge, Chapel Hill, Chicago, Cincinatti, Colorado Springs, Denver, Dublin, Fujikawaguchiko, The Hague, Hanover, Istanbul, Ithaca, Jaipur, Kanpur, Kuala Lumpur, Las Vegas, Los Angeles, Marin, Moab, Montreal, Mumbai, New Delhi, New Orleans, New York, Palo Alto, Paris, Pittsburgh, Portland, Providence, Rotterdam, San Diego, San Francisco, Seattle, Singapore, Sydney, Tokyo, Truckee, Vancouver, Washington, D.C., and West Lafayette. In addition to English, मैं थोड़ा-बहुत हिन्दी बोल लेता हूँ (Hindi), je parle français, un peu (French), и я тоже говорю чуть-чуть по-русски (Russian). I like juggling, swing dancing, kite-flying, bicycle-riding, writing, wondering why things look the way they do, and cooking for my dear friends in Cambridge.
As a scientist, I think I have the best job in the world. I spend my days asking questions about what it means to be human, and thinking deeply about how we could possibly answer them. The issues at stake are in some ways ancient and timeless, and in other ways the most urgent and pressing of our moment. To make progress on them, I read what others have argued in the past, I workshop new theories with my colleagues, I design and run experiments to test those theories, and I try to make sense of the empirical evidence that nature hands back. When I think I am onto something important, I write down my thoughts and share them with the scientific community. I travel the world to exchange ideas with thinkers from all walks of life, who challenge me to refine and sharpen my perspective. Finally, I have the privilege of teaching and mentoring brilliant students, helping them grow into independent thinkers of their own. (If you would like to work with me, please reach out by sending me an email and introducing yourself. I would appreciate if you included ① a project idea you would be excited to work on, the more specific the better; ② your relevant background knowledge and skills, which you can demonstrate by listing coursework or links to independent projects; ③ an honest assessment of how much time you expect to spend on research if I took you on; and ④ a writing sample—an essay, a poem, a piece of technical documentation, a recipe, a blog, an op-ed, etc. Note that you do not need prior research experience to experience research—it's my job to get you started!)
Currently on my mind:
Previously on my mind:
(The links below are to original pieces, none of which were produced by generative AI.)
How can one sun cast two colors of shadow? What does it mean to have a tongue, anyway? Is the mind composed of innate, domain-specific modules? Does the sun sit on the crosswalk on Vassar St? How would you play Jenga by mail? How can we build Python-embedded DSLs that manipulate control flow and scope? Is there an alternative to operator-overloading? Can you see without looking? Between lookings? What do the tides sound like? Can you hear the sun and the moon? Why do you go wrbwrbwrb instead of shshshsh when imitating a motorboat? How would you automatically design 7-segment display "fonts"? What about for scripts of languages besides English? Why do I sometimes see faces only when I don't look? What is it about Escher that so captivates people across time and space? What makes a good explanation? Why does building online studies require scientists to become full-stack web developers? How can we train a Transformer "Quine" that autoregressively generates a (potentially lossy) copy of its own weights? Can two people successfully pretend to have a biased coin, without actually having such a coin? Why do you see haloes in trees in the winter? When is a jar of honey most stable? How is a story different from everyday life? And what does it mean to tell a story? How do we infer stories from snapshots? How much should you stir your tofu? But what are the limits of data—statistics—memory—when modeling the human expression of human experience? What drew you to this artwork? How can literature help us navigate graduate school in AI? What can you see through an empty tissue box? Who optimizes a hyperparameter optimizer's hyper-hyperparameters? What color is a shadow? How would Wordle work in languages with different kinds of scripts? [press] Are there other illusions like "The Dress" out there? If neuron activations are indeed like toilet flushes (a common analogy), can we implement deep neural networks using plumbing components? [SIGTBD ’22] What is it about birds (that drives us to contemplate representation)? Where does the factor of "2" in the stochastic coefficient of Langevin sampling come from? Can we get better semantic HTML and CSS by using Generative Adversarial Web Development? What shape is a snowflake? Is it possible to find iterated function systems that produce fractals that look the way we want? How can we prevent vector coordinate-system-mismatch bugs in 3D graphics code? Can literature save the American tech industry? Why won't my tensors flow? Can you tune a guitar just by watching the strings vibrate? Can one hear the fate of a coin? What happens if we throw Sol LeWitt's sculptures into a tank of soapy water? How can we build programs that require both forward- and reverse-mode automatic differentiation? How can we make PyTorch tensors easier to use? What does GPT-3 tell us about the nature of literature from a statistical or information-theoretic perspective? Following a Russian literary theory, can we use Shannon entropy to think about this quantitatively? Can we create controlled moiré patterns by carefully perturbing misaligned grids? Do many hands make light work? Can we atavise Game-of-Life configurations by gradient descent? What's the connection to pufferfish? What can we do with the hundreds of images of Hoover Tower you can find online? Why are PCA-projections of trajectories loopy? Can we optimize axis-aligned kD-trees by gradient descent? Do eucalyptus trees have a “handedness”? If so, why? How much should you wager in a Jeopardy! Daily Double? Does AD-powered gradient descent on Lagrangian action create energy-conserving physics engines? Does gradient descent eliminate the need for solvers in bidirectional programming environments? What is the pattern behind the irregularly-spaced vanishing points of rows of trees in orchards? What does “un-unravelable” really mean, and how? Can we dream ambigrams by gradient descent? Can we learn to walk by gradient descent? What causes the 22° halo around the sun, and how can we efficiently render physically-accurate images of it? Are there more "Laurel/Yanny" illusions out there? How big a buffer do we need to be able to pair up an infinite number of socks coming in over a stream? By how much do windmills slow down the wind? What shapes emerge if we insist that a certain casino is the nearest to everyone in Los Angeles? What is the optimal alphabet layout for the historic 1888 Crown Typewriter? Which directed acyclic graphs can be represented by towers of stacked blocks? Would triangular tesselations make better jigsaw puzzles? Where are the best bathrooms at Stanford? What is the analogue of the Curry-Howard correspondence for narrative theory? What would it mean for a computer to synthesize a story? What is the relationship between monadic I/O and the dataflow/patch programming paradigm? Can we approximate Euler's constant using historic earthquake data? How well do SAT solvers handle the constraints of Western classical music theory? Is there a symmetric cryptographic algorithm for collusion with plausible deniability? Can JavaScript be dynamically scoped... from within JavaScript? How few words do you really need to communicate — and what's the minimal set? Why are there 12 notes in a musical octave, and not, say, 19? Are epicycles just Fourier transforms? How well do voxel approximations to complex surfaces raytrace? Which dimensional analysis problems are solvable? Can poetry be a subtractive, rather than an additive, act? Why is 2^10=1024 so near 10^3=1000, and are there better approximations? How do automated theorem provers work, and what can they prove? Can some sort of temporal RSS proxy help you catch up on old webcomics? How fast can Arthur C. Clarke's famous spacecraft "Rama" accelerate? Why are bubble tea straws pointy, and why is this absolutely fascinating? If you played Scrabble with periodic table element tiles, what's the longest word you could make? Is xkcd's random number generator actually random? Could you play Tetris with true rigid-body physics? Why do Scratch lists have odd performance behavior? What shape is the shadow of a lampshade?