the homepage of

Justin Lubin

Hi there! My name is Justin Lubin. I’m quite excited by programming languages, human-computer interaction, social justice, music, mathematics, and vegan cooking.

I am currently pursuing a PhD in computer science advised by Professor Sarah E. Chasins at UC Berkeley in the Programming Systems Research Group. Previously, during my time as an undergraduate at the University of Chicago, I worked extensively with Professor Ravi Chugh. These folks have been (and continue to be) absolutely fantastic mentors!

Research

I am interested in leveraging and designing type systems to make programming languages, environments, and tools more accessible, intuitive, and powerful.

By accessible, I mean usable by and inclusive of a wide variety of people, especially including people underrepresented in the field of computer science, people with disabilities, novices, and non-CS professionals such as doctors, business owners, engineers, and scientists. By intuitive, I mean intimately connected with human cognition, relying in an essential way on tools and research from the field of human-computer interaction. And finally, by powerful, I mean scalable as users gain experience, accommodating everyone from beginners to experts.

I believe that computation is empowering. But it is not computation alone that empowers: it is accessible, intuitive, and powerful computation that does so.

Publications

Presentations

Theses

Student Research Competitions

News

I’ve been hard at work helping organize #ShutdownPL @ ICFP 2020, an anti-racism event happening from 2–6 PM (ET) on August 27. I hope to see you there!
My first full, first-author paper to a major conference venue has been unconditionally accepted for publication! Look out for Program Sketching with Live Bidirectional Evaluation at ICFP 2020!
I graduated from the University of Chicago! Now I have an honors BS in Computer Science, a BS in Mathematics, and a minor in Music!
I’m excited to announce that this fall I will start a PhD in computer science advised by Professor Sarah Chasins at the University of California, Berkeley in the Programming Systems Research group!
I presented Type-Directed Program Transformations for the Working Functional Programmer at PLATEAU 2019 and had a great time meeting people at this lovely conference!
I had a great time meeting people and presenting Program Synthesis with Live Bidirectional Evaluation at MWPLS 2019/PurPL Fest!
I’m very excited to be attending the Oregon Programming Languages Summer School this year!
I won first place in the SPLASH 2018 Student Research Competition for Approximating Polymorphic Effects with Capabilities!
I am excited to present a poster for Approximating Polymorphic Effects with Capabilities at the Midwest Programming Languages Summit 2018.
I am honored to be accepted to Carnegie Mellon’s Research Experiences for Undergraduates in Software Engineering (REUSE) program. Catch me in Pittsburgh this summer!

Fun

Compositions

In my free time, I like to compose music. Here are some of the pieces that I’ve composed! All my pieces are composed in the wonderful, open-source music notation software MuseScore. Stars () denote my current favorites; Morrow Town (Felix) is my all-time favorite!

Longer pieces

  • An Impossibility (mp3 | pdf). Cello & Piano, January 2020.
  • Florescence (mp3 | pdf). Orchestra, September 2019.
  • Sonata in G Minor (mp3 | pdf). String Quartet, April 2019.
  • Invention in D Minor (mp3 | pdf). Keyboard, January 2019.
  • Lofty Stars (mp3 | pdf). Wind Quartet, December 2018.
  • Wind Quintet in C (mp3 | pdf). Wind Quintet, November 2018.
  • Reflections (mp3 | pdf). String Quartet, October 2018.
  • Dive (mp3 | pdf). Orchestra, August 2018.
  • Travels (mp3 | pdf). Synthesizer, August 2018.
  • Outset (mp3 | pdf). Synthesizer, June 2018.

Shorter pieces

  • Ring (mp3 | pdf). SBB, November 2019.
  • Jam (mp3 | pdf). Game Boy Synthesizer, April 2019.
  • Realizations (mp3 | pdf). Synthesizer, July 2018.
  • Lessons (mp3 | pdf). Synthesizer, August 2018.

Classwork

  • Warm Encounter (recording | pdf). Variation on “Londonderry Air.” Solo Piano (recorded by Anthony Cheung), June 2020.
  • Looking Glass (mp3 | pdf). Solo Flute, May 2020.
  • Reminiscences (mp3 | pdf). String Quartet, May 2020.
  • Adventure (mp3 | pdf). Solo Piano, May 2020.
  • Focus (mp3 | pdf). Solo Piano, April 2020.
  • Revitalization (mp3 | pdf). Solo Viola, April 2020.
  • Slumber (mp3 | pdf). Solo Violin, April 2020.
  • Morrow & Deseora Town (info) June 2019.
    • Marielle (mp3 | pdf). Morrow Town
    • Felix (mp3 | pdf). Morrow Town
    • Cordelia (mp3 | pdf). Morrow Town
    • Reduction (mp3 | pdf). Morrow Town
    • Marielle (mp3 | pdf). Deseora Town
    • Felix (mp3 | pdf). Deseora Town
    • Cordelia (mp3 | pdf). Deseora Town
    • Reduction (mp3 | pdf). Deseora Town
  • Lucas (info) April 2019.
  • Minuet and Trio in A (mp3 | pdf). Keyboard, May 2018.
  • Caged Bird (mp3 | pdf | annotated). Chorale, April 2018.

The Shards of Mt. Lampora Play! ▸

As my final project for the functional programming class that I took at the University of Chicago, I created The Shards of Mt. Lampora, a 2D platformer written using the Elm programming language featuring modular music that I composed myself.

As the player moves throughout the world and collects the shards it contains, the music responds dynamically. These musical details (along with some other information about the creation of the game) are further described in the brief presentation that I gave before demoing my game.

If you’d like, you can click here to play The Shards of Mt. Lampora! You can also view the source code for the game here and its sheet music here.

My Bookshelf

In an increasingly paperless world, where should we display the books that are most important to us? Here is as good a place as any other for me! Inclusion in my bookshelf does not necessarily indicate full agreement.

Computer Science

  • Purely Functional Data Structures Chris Okasaki

Literature

  • Frankenstein Mary Shelley
  • One Hundred Years of Solitude Gabriel García Márquez
  • The Aleph and Other Stories Jorge Luis Borges
  • The Little Prince Antoine de Saint-Exupéry
  • The Sound and the Fury William Faulkner

Mathematics

  • Algebra: Chapter 0 Paolo Aluffi
  • Linear Algebra Done Right Sheldon Axler
  • Principles of Mathematical Analysis Walter Rudin

Music Theory & Composition

  • Concise Introduction to Tonal Harmony L. Poundie Burstein and Joseph Straus
  • Classical Form William Caplin
  • Gradus ad Parnassum Johann Joseph Fux

Musicology

  • Ludomusicology: Approaches to Video Game Music Edited by Michiel Kamp, Tim Summers, and Mark Sweeney
  • Sound Play: Video Games and the Musical Imagination William Cheng

Sociology

  • The History of Sexuality Michel Foucault
  • The Marx–Engels Reader Edited by Robert C. Tucker
  • The Structure of Scientific Revolutions Thomas Kuhn
  • The Souls of Black Folk W. E. B. Du Bois

Visual Arts

  • Drawing on the Right Side of the Brain Betty Edwards