Matthew Kay

matthewkay The third Identity Function post departs from the Programming Languages community and enters into the world of Human-Computer Interaction. We hear from Matthew Kay, who just finished his Ph.D. at the University of Washington. Matthew Kay’s research deals with both HCI and information visualization. In the fall, he will be starting as an Assistant Professor at the University of Michigan School of Information.

Tell me about yourself.

I grew up in Southern Ontario, Canada, about an hour and a half outside Toronto. Besides Computer Science, I’ve always been interested in art (I have a minor in studio art) and social sciences (particularly psychology and philosophy). These days my interests in art manifest in reading books on design and typography. I usually relax by watching movies, eating cheese, or replaying old video games.

What are you currently working on?

I have been working on building a modified version of OneBusAway [a local bus tracking app] that communicates probabilistic predictions of real-time bus arrival times (instead of just the best estimate). Some of that involves figuring out how to visualize a probability distribution of the time to arrival for some bus in a way that “normal” people can use and understand.

I’ve developed a discrete depiction of continuous probability distributions that was inspired by work on statistical reasoning that suggests people’s probabilistic inferences are better when predictions are presented as frequencies rather than abstract probabilities. That project is now moving towards a deployment and field testing of a version of OneBusAway with probabilistic prediction.

I think everyone in Seattle can relate to pulling up OneBusAway and seeing a bus that is five minutes away, only for it to be four minutes away five minutes later. How does this version convey the information to the user?

We use what I have dubbed “quantile dotplots” (see Figure 2 of this paper). It is a dotplot of quantiles from the predictive distribution that has the useful property that counting dots corresponds to estimating intervals from the predictive distribution.

For example, if there are 20 dots in the display, and I count up 2 dots from the left and look at the time at that point on the x axis, that point will correspond to a predicted 2/20 chance of me missing my bus (or 18/20 chance of making it). The idea is to help people make judgements like, “oh, I’d be willing to miss this bus one or two times out of twenty” and then decide when to get to the bus stop based on that.

Interesting — I see several rejected designs in that paper. Why did you ultimately go with this design?

Indeed, and there were many more that didn’t make it into discussion in the paper! A lot of HCI lies in generating a lot of ideas and then chucking them.

The design we settled on elicited more precise probability estimates from people. It also fulfills several unaddressed needs that we found people had in a survey of existing users — things like answering the question, “what is the chance my bus has gone by already?” People unfamiliar with OneBusAway might think that’s an easy question to answer for a system designed to track the location of buses, but it turns out there is plenty enough error in the system to make that hard to answer.

In terms of rejected designs, we tried some crazy things, like visualizations of clocks with uncertainty and animations of buses arriving. The use of animation in conveying uncertainty is something Jessica Hullman (one of my collaborators on that paper) has worked on more; I really like that approach in general, but it has some problems in the context of real-time transit prediction: If you’re standing there trying to quickly decide what bus to take, you don’t really have the time to watch several animations.

So we ended up focusing back on static visualizations, and that led back around to the question of how to efficiently and effectively communicate discrete outcomes in a small space that can be read quickly, and that led around to developing quantile dotplots.

On your website, I saw some more work about communicating uncertainty in a bathroom scale application. I’d love to hear about that.

The weight scale work is similar in spirit to the bus arrival time prediction work. Scales tend to throw numbers at people — one data point at a time — and hope that they can make sense of their data. Even the best scales (that upload data to the cloud and provide graphs of trends over time) typically still just show one data point at the moment of weigh-in. On top of that, they provide no sense of the error in the data — how precise the scale is, or how much you can expect your weight to fluctuate.

I’ve analysed online reviews of scales to see how this affects people’s attitudes towards their scale, finding that statistical misconceptions can cause people to think the scale is worse than it is. But the “state of the art” of showing people one data point at a time does nothing to help guide people away from these misconceptions or help them get more value out of their data.

I’ve been looking at ways to improve this situation, partially through modeling a person’s weight (so we can explain some sources of bias and variance to them) and partially through redesigned scale interfaces.

This also sounds like a major win to me. Are you working on anything else?

Another area I am just starting to work in is building usable tools for Bayesian analysis of experiments. In that area I am focusing on researchers that you might call the “t-test” (or “SPSS”) researcher: someone who today probably just runs a t-test or ANOVA to analyse the results of their experiments.

Especially in HCI, these types of researchers could benefit from incorporating prior knowledge into their analyses using Bayesian approaches in order to get better estimates of the effects they are trying to measure (“better” in the sense of “less error”). While Bayesian analysis is becoming more widespread amongst a certain set of applied researchers, those tools aren’t usable for the typical “t-test” researcher (or alternatively, the researcher who throws their data into SPSS or JMP [statistical analysis software] and wanders around until a test result comes out).

The problem is that the existing tools designed for these researchers are not doing an effective job of guiding them to more appropriate techniques. That is, I don’t think the problem is with this user group, but that the tools available to them aren’t doing a good job of catering to their needs. I want to build tools that target that researcher, helping them set informative priors on simple models, and guiding them in the interpretation of their results.

Interesting – In this way your research could increase the effectiveness and quality of other research. How much of the difficulty of using Bayesian approaches do you think is related to tooling rather than it being difficult to build good models? How are these users’ needs different?

Bear in mind I am just starting out this particular research program, so I don’t have a lot of answers yet.

For the groups I am interested in— let’s say HCI researchers, though that is only a subset—  a lot of the research questions they are interested in are something like “is there a difference in [some measure] between [technique A] versus [technique B] on [some task].” The traditional way to answer that question might be a null-hypothesis significance test: Is there statistical evidence to reject the hypothesis that there is no difference?

However, this null hypothesis is often obviously false: If I give people two different interfaces for some task, I would be surprised if there were exactly zero difference in performance between them. What researchers are often really interested in is how big the difference is, or how reliable.

This requires a shift from thinking about looking for differences to thinking about measuring differences. So a lot of what I will be interested in working on will be helping guide researchers through thinking about measurement instead of null-hypothesis significance testing. How that exactly works and what the interfaces might look like is a further-down-the-road set of issues.

Is there anything else that you’re particularly interested in?

I had a side project a while back looking at gender representation in image searches of occupations. That was a fun collaboration with two friends of mine, not core to any of our normal research.

In a research talk, one of my friends had observed a particularly stereotyped use of an image to represent an occupation being discussed in the talk. Presuming the image was pulled from an image search, we decided to get a bunch of Google Image search results and compare them to data from the Bureau of Labor Statistics to see how well gender proportions matched up.

We found that image search results don’t do a completely terrible job of representing real-world gender proportions in occupations, though there is a stereotype exaggeration effect, where (say) a search for CEO, a male-dominated occupation, will tend to have even more males in it than if it strictly reflected reality.

There’s also something we dubbed the “sexy construction worker” effect, where results from an occupation against the gender stereotype (say female construction workers or male nurses) will tend to be rated as less professional. That got us some press, including one article that noted the first image of a woman in the search results for “CEO” is CEO Barbie (unfortunately, that still seems to be the case).

Neat, do you have any of these articles?

There was a nice article on that work in the Washington Post, and another in the Atlantic. Chelsea Clinton also tweeted about it, which was sort of surreal.

Woah, that’s awesome! Moving on — you just finished your Ph.D. at UW. What are your plans now?

I’m very excited to be starting as an Assistant Professor at the University of Michigan School of Information in the Fall! I have actually moved to Ann Arbor already, which was something of a grueling process but is mostly complete now

Congratulations on the faculty position! Were you out during your job search?

Yes, I was. The decision to be out during the search was easy, since I have been out since before the beginning of grad school and would have no intention of going back in to get a job. Put another way, if I had to go into the closet to get a job somewhere, then I wouldn’t want to work there.

Do you think that this impacted your search at all?

It has impacted my search in the sense that there are cities I wouldn’t want to live in because I am gay. On the other hand, places that aren’t friendly to LBGTQ folks tend also not to be places I want to live for other reasons, like not having an art scene or not having much in the way of bars or restaurants. So I don’t know how much that changed the places I wanted to apply.

You’ve probably heard (and experienced) the saying that coming out is a continual process, not a moment in time. Sometimes when meeting someone new I will deliberately drop a mention of my boyfriend in the conversation, if some reason to mention him hasn’t already come up naturally.

But the funny thing about the academic job search is, if you are gay and in a relationship, there is a prescribed moment in the interview process to out yourself. During an interview you will have a meeting with the Dean or Chair of the department. Even though it is technically against the law, they will find some way to ask you whether you have a two-body problem. At that point I can mention my boyfriend, who is an artist, and that consequently I don’t have a two-body problem in the academic sense. And the nice thing about everywhere I interviewed was that that second piece of information —  what he does, and how it might affect my decision to move somewhere —  was the important piece of information to them.

But mostly the fact that I’m gay came up naturally in conversation anyway. A lot of the job search process is a two-way interview where everyone is trying to decide if they might get along as colleagues for years. So you have talk about work and play, and significant others come up naturally.

Are you planning to be out to students?

Definitely. I’m not sure it is possible to even have that choice. After accepting the position at Michigan I was at a party at CHI. A Michigan Ph.D. student who I did not know came up to me and invited me to check out an LGBTQ reading group when I got into town. I was a little surprised he already knew I was gay. Not that I minded! Quite the contrary, it was a nice gesture that made me feel very welcome. But the point is, I don’t think I could be out to professors in the department and not out to students, even if I wanted to.

What are your thoughts on people talking about it? It’s tricky because you never want to accidentally “out” someone, but at the same time, it’s nice for people to know who you are if you are comfortable with it.

Right. Part of really being out of the closet is letting go of control over who knows you are gay. Otherwise — as someone once put it to me — you aren’t out of the closet, you are just pulling other people in with you.

So if I bring up my partner or my sexuality casually in conversation with someone else, I should expect them to mention that fact to another person in any situation they might talk about a straight person’s significant other. It’s equality in gossip: I will hear the odd tidbit about a straight colleague’s husband or wife or children, so I should expect others to hear the equivalent tidbits about me.

I recognize that some people are not comfortable having others out them, and in some cases I might be guarded due to legitimate concerns about safety. But if you are gay and that fact comes up casually, I think it should be fair game for others to talk about it unless you explicitly say not to. You aren’t comfortable with your identity until you are comfortable with other people talking about your identity, and the environment you are in isn’t a totally equal one unless gossip is equal opportunity. The alternative is “don’t ask, don’t tell.”

What was it like for you being out in grad school?

Being out in grad school was great! I was out from the beginning and never had any issues because of it. I have found both Seattle and UW to be a great place to be gay. Within the department, I knew several other grad students who were LGBTQ.

There were some LGBTQ groups on campus as well, though I never got very involved in them. I signed up for the RainbowGrads mailing list, though I never went to any of their meetings — by the time I discovered them, I already had friends and a support network, so I didn’t see the need for myself. I went to an oSTEM meeting, but it was aimed mostly at undergraduates, so I didn’t get much out of it.

I think in general the support systems are there if you want to take advantage of them, but I was already at a good place in my life with respect to being gay so I didn’t really have the need.

I’m glad your experience was great. You say you have a great support network; how did you find such a network?

I found it mostly through other grad students I made friends with. The department is fairly social and has plenty of ways for people to meet each other, especially during your first few years, and I built up my friend group that way.

Did you have any role models who were LGBTQ?

Not in particular. The LGBTQ professors I know are mostly people who I was friends with when they were Ph.D. students, so they weren’t really role models so much as friends and colleagues.

Do you think it would have helped you to have LGBTQ role models? Or do you think it’s enough to know colleagues?

For me it was enough to know colleagues and friends (I would stress the friends part). But this sort of thing varies a lot by individual. It was more important to me to have friends I could talk to about LGBTQ issues.

I think for some people it is more important to them to have role models to aspire to, to be able to see that a person like them in certain ways can do something they want to do. That can be very empowering. It could be my general disposition, or it could be part of my privilege as a white male that I didn’t really feel the need for role models. Different people find support and motivation in different ways.

Different sub-communities of computer science have different cultures. What has your experience been like as an LGBTQ HCI researcher?

It has been completely welcoming! I know several other LGBTQ grad students in HCI (actually, most of them are now faculty or researchers in industy).

At some conferences, people have organized LGBTQ parties (sadly they have always conflicted with other things for me, so I haven’t been to one yet). This year for the first time CHI hosted a huge Diversity Lunch at the conference. I attended that and had a great time. It included small group discussions and a variety of invited speakers, including at least one gay speaker. There is even research into LGBTQ issues conducted within HCI.

That is great to hear! Are orientation and gender identity things that can be freely discussed within HCI, or are they considered private?

Definitely freely discussed! Even outside the lunch that was basically designed as a safe space to discuss such issues.

What sort of HCI research delves into LGBTQ issues?

I’m not intimately familiar with it since it isn’t my sub-area, but I have probably seen a few papers on it each year in the CHI program. There is a lot of work at CHI studying how different groups of people use social media, and I think most of the LGBTQ research I’ve seen has been in that realm. For example, there was a paper this year called “LGBT Parents and Social Media: Advocacy, Privacy, and Disclosure during Shifting Social Movements” that got an honorable mention (oddly enough, a Michigan paper).

Do you have any ideas for why HCI has such an open culture?

The expected response for any question about why HCI is different from other subfields of CS is to point to the fact that HCI is the intersection of CS with fields like psychology, design, and sociology (to name just a few). I think the combination of academic cultures going on there tends to pull HCI culture in a slightly different direction from other areas of CS. I suspect that explanation applies here.

Thanks for your time!


Acknowledgements

Thank you to Pavel Panchekha for consulting on the interview about Bayesian analysis.

Wren Romano

wren

For the second Identity Function post, we feature Wren Romano, a last-year graduate student at Indiana University. Wren Romano’s research applies concepts from type theory and constructive mathematics to both natural and formal language. This summer, she will receive her Ph.D. and begin work with the security infrastructure team for Google Chrome.

Tell me about yourself and your interests.

I’m finishing up my dissertation this semester, and have been in grad school for about a decade, including some time as a research programmer between finishing my M.S.E and starting the Ph.D. My primary research is in linguistics, mathematics, logic, and computer science; with a secondary focus of cognitive science, anthropology, and gender/sexuality studies; as well as an interest in the areas of philosophy behind both.

I’m interested in applying constructive mathematics to “language” in the general sense— comprising both natural and programming languages. In particular, I focus on the interface between morphology and semantics, especially when multiple languages interact.

I think there is a deep connection between natural and programming languages; there’s a reason we call both of them “languages.” There has been a lot of recent PL work on things like gradual typing and typed metaprogramming, and a lot of the issues that come up in that context have been studied at length in the linguistic community. And we get similar trends in the other direction too.

So that’s my main research focus. But tied up in all these questions about language and semantics, there’s also this question about where meaning comes from. Ultimately meaning comes not from words but from the humans who create and use them. So I’m also interested in how it is that society constructs and maintains these meanings.

What are you currently working on? 

My dissertation is on “chiastic lambda-calculus” which provides a more general notion of composition than standard lambda-calculi. Originally it was designed to capture the compositional semantics of languages with free word order, Japanese in particular. Each lambda and each argument to a function is labeled with some “dimension”— if two things are on different dimensions then they can move around independently of one another, whereas if they’re on the same dimension they’re stuck in order.

We can think of the types for functions as trees, where the inputs are the leaves and the outputs are the roots. If we want to compose functions f and g, we’ll graft g onto f in place of one of f‘s leaves; in order to figure out which leaf to graft g onto, we’ll match up the dimensions. The newly created tree will have f‘s output as its own output, and will take as inputs all the inputs of g plus all the inputs of f (minus the one that g filled).

How is this more general? Well, in a language like Haskell we have to distinguish between (f . g) which grafts g onto the first argument of f, and (f .: g) which grafts g onto the second argument of f. The rigid ordering gets in our way. If argument passing is instead based on dimensions, then we only need one composition operator.

What are some of the applications? 

Once I started looking for related work, I just kept finding one thing after another. For example, in standard lambda-calculi there’s an intentional conflation between the ideas of functions-as-procedures and functions-as-values, whereas in category theory, we keep distinct the ideas of morphisms and exponentials.

Since chiastic lambda-calculi have an associative juxtaposition, we also keep the two notions distinct. The way we do this is to explicitly wrap up arguments/values in brackets like ⟪e⟫ᴀ where the subscript specifies the dimension. This bracketing enforces a syntactic distinction between procedures/morphisms like (λᴀ x. e) and values/exponentials like ⟪λᴀ  x. e⟫ʙ.

More generally, anything in brackets counts as a “value”; whereas anything not in brackets is not a value. This is a different idea of “value” than in, say, ML where “value” means normal form. The bracket tells us enough to know how to glue things together, but the expression under the brackets need not be a normal form. Indeed, if we don’t include the rule for evaluating under brackets, then we can freely mix call-by-value and call-by-name. So we have a coherent notion of “value” but it’s not quite the same as other notions we’re already familiar with; hence shedding light on what exactly this pre-theoretical term “values” actually means computationally.

Are you working on anything outside of your dissertation? 

I’ve also been working on a compiler for a probabilistic programming language with Chung-chieh Shan. In a lot of ways it’s like any compiler , but one of the things that makes it interesting is that we have a bunch of program transformations which are not semantically the identity function. So while most compilers try to make sure they don’t change the meaning of your program, ours very intentionally does change things; so there’s this question about how can we be sure we changed it in “the right way.”

As far as new projects go, a couple weeks ago I was appointed to the Haskell Language 2020 committee! I’ve been pretty involved in Haskell for a while now, and subtly or not-so-subtly effecting change from behind the scenes, so it’ll be cool to be working on it officially. My goal is that by 2020 we should have fully specified all the things that people thought of as “standard Haskell” as far back as 2005. Sounds trivial, but even just doing that would be a huge win for the community and would help clean up a lot of code in the wild.

Congratulations! Are you typically involved in the free/open-source software community? 

Most of the work I do is F/OSS. It’s not something I’ve been very vocal about lately (because it’s less contentious now than a decade ago), but it actually means a lot to me.

These days I’ve been focused on projects in Haskell: not just the Haskell 2020 committee, but also Hakaru, a couple currently unreleased projects, and various libraries for data structures, parsing, unification, and so on. Previously I’ve also been a primary contributor to a number of other compiler and NLP projects including Dyna (weighted logic programming language), Joshua (phrase-based statistical machine translation), L3 (constraint-based XDG parser), and BTO-BLAS (linear algebra kernel programming).

What’s next? Tell me about your upcoming work at Google.

I’ll be working on the security infrastructure team for Chrome. It’s not the sort of thing I would’ve guessed I’d be working on, but of all the teams I talked to at Google, they were the only one that didn’t get scared off by the breadth of my background. Even though the name of the team has “security” in it, it’s really more about writing tools to analyze program sources looking for security bugs; so not a whole lot different from my prior work on compilers and semantics.

Have you done any work in security before, or will this be a new adventure?

I’ve worked on languages that use type systems to enforce dataflow policies. And I’ve done a bunch of sysadmin work. So I’ve some experience with the sort of security that deals with designing and enforcing policies/permissions, but that’s a different sort of security than checking for buffer overflows and the like. So far as I know this project is going to be focusing more on the latter, so it’ll be a new adventure!

Going back, what made you pursue your Ph.D. after working as a research programmer? Was that always the plan?

After finishing undergrad I bumbled around with a bunch of awful jobs, nearly homeless and just barely managing to keep myself off the streets. At some point I sat down to figure out what I should to do with my life. After some soul-searching I figured out that what I really wanted was to become a professor. To do that I needed to go to graduate school.

It wasn’t really feasible to get into a decent Ph.D. program, so I applied to the masters program at my local college. After finishing the M.S.E. I applied to Ph.D. programs but didn’t get in anywhere. One of the professors at my school had funding for a research programmer, so I did that for a year until I could apply again. The second time around I got in.

Wow, that’s an amazing story. How did you discover what you wanted to do?

At the time, I was working at a convenience store. It’s a degrading job, no upward mobility, didn’t pay enough to cover living expenses let alone student loans (my parents disowned me halfway through undergrad, so I had to take out loans and work to pay the last two years myself). I was miserable, but had plenty of time to think about the future.

I’ve always loved doing research and figuring things out; I was a very precocious youth. And in my time at Free Geek [a nonprofit for building and refurbishing computers], I started to realize how much I like teaching folks too— that look in people’s eyes when they finally get something, that joy of witnessing their discovery, how excited, how empowered they get.

So I knew this about myself, but didn’t know how someone could make a living from these tiny moments of joy; like who’s going to pay me to be happy?

And how did you figure that out?

I mentioned to my roommates about how I was trying to figure out what to do with life. And one of them went to his room, grabbed this book, and gave it to me.

The book was Getting What You Came For by Robert Peters. The whole first half of the book is about figuring out what it is you really want from life and honestly appraising whether those goals would be better achieved via a higher degree.

Peters deconstructs the ideology we’re taught growing up about how “more formal education is always better.” But also, Peters has a way of questioning what it is the reader wants out of life that cuts through a lot of ways we lie to ourselves. Most other books are just like “search inside yourself” or some equally useless aphorism; but Peters actually made me stop and think.

So, after reading for a while and sitting for a while, it fell into place.

I think many in that situation would not have persevered.

It’s just, all of my life has been that way. I don’t know what it would mean for one to live a life that doesn’t require such strength. I see the outward effects of folks living otherwise, so I can guess, I can try to imagine, but it’s all intellectual, I have nothing to ground what the experience must actually be like.

On the other hand, applications are really hard for me. Any of this sort of selling one’s self, I find that exceptionally difficult. So knowing I’d have to make new applications again next year, that was tough. [My wife] Alicia helped me through a lot of that.

By the time I finished my M.S.E., I knew how finicky the graduate school application process can be. Like applying for tenure track positions, sometimes you just have to wait a year or two until the right positions open up. So waiting and trying again wasn’t too unexpected.

Was it hard to put together an application from the ground up?

It took work, but it wasn’t especially difficult. Because I didn’t have any formal background in CS, PSU made me take a bunch of courses before letting me into the masters program. But those courses were pretty easy since I had a few years of programming experience already (and a knack for discrete mathematics).

Then I had a professor put together a summer course which was basically applying for and completing Google Summer of Code. Plus I started working at the CAT— they run the systems for all the computing departments at PSU, and they have a weekly “braindump” where they teach you all the CS you really need to know but which no class ever teaches.

Halfway through my masters I ended up transferring to a different school because the person who’d agreed to be my advisor turned out not to have enough time to do so. By this point I had my volunteer work at Free Geek, my course work from PSU, the Google Summer of Code, and my sysadmin work at the CAT. A pretty healthy CV for a masters degree. Plus, by that point my involvement with Free Geek had moved from teaching folks how to build computers to being the chair of the board of directors.

Once you were in graduate school, was it easier for you having already gone through so much introspection?

I think it’s been a lot easier for me than most folks. I still have doubts from time to time, but they’re not about whether academia is right for me, nor about what to do with my life; they’re more about how well I’m doing at it.

You’ve mentioned before that you transitioned during grad school. What was this like?

Overall it went surprisingly well. I’d been open about being trans since my first year of undergrad, so I didn’t lose anyone in my support network, unlike a lot of trans folks.

When I sent emails to my departments to let folks know what’s up (to avoid re-explaining things over and over) I got a surprising amount of positive feedback. A lot of students mailed me to let me know how empowered they felt to read my letter, and a few professors came out to me even though they’re not out to their own departments. It was awesome and quite unexpected.

That’s great! Has anyone inspired you similarly?

My advisor for undergrad was gay and open. He just started at Reed about halfway through my time there. I really liked him in general, and he was an exceptional advisor. But also, it was the first time I’d met “an adult” who was out, and a professional who was in my vocation no less! I think it was probably in those classes with him that I first started to imagine being a professor. Like, that job was never a possibility before and then suddenly “oh, people like me can belong here.”

He also really helped inspire me getting started at grad school. Kind of ironically. He wrote me a terrible letter of recommendation to get in at PSU, but I totally deserved it. I was an awful student at Reed. Smart, sure, but awful at committing to do the work. When I asked if he’d write me a letter, he told me up front that it’d be terrible. We sat down and talked for a while about what would be in it and why. And, of course, being told you’re an awful student, that stings; but it’s true, and I knew it was true, so it only hurt so much and that hurt fades quickly.

But his honesty meant so much more to me than anything anyone else had ever told me. When someone calls you smart, they’ve stopped seeing you. They see glinting reflections, not a person. When they call you smart, they stop questioning you, stop challenging you to improve. So to have someone see through that, to see the person beneath the smart and engage with me directly, that meant the world to me.

Were there any challenges to transitioning in graduate school?

The difficult parts came later. Nothing special about being trans, just standard issues about being a woman in a male-dominated field. As people grew accustomed to seeing me as female they started talking over me, ignoring my statements until repeated by a man, and so on. I was quickly taught never to wear anything particularly feminine at work. It’s all standard, but witnessing people’s behavior change so dramatically over the span of a couple years is quite jarring. I’d known about all this beforehand, of course, but knowing something is different from living it.

How pronounced are these issues compared to what you anticipated before transitioning?

It’s hard to say. It’s less about how pronounced they are, and more about the emotional valence of first-hand experience. Overall things are about as good/bad as I expected, I just identify more intimately with the things I knew before.

It’s also hard to say because life is so much better now. There’s just as much sexism in how boys are raised as there is in how girls are. So yeah, I deal with sexism, but I’ve always dealt with it— just from a different angle. The sexism I deal with now makes more sense to me; I know what’s assumed of me, know the rules of engagement, know how to survive within the system while continuing to challenge it. Whereas before I couldn’t even figure out how I was doing things wrong. So yeah the overall injustice is greater than before, but it “fits” who I am so much better that it’s a lot easier to navigate.

It’s interesting to hear your perspective as someone who was probably not socialized to communicate in a traditionally feminine way.

Socialization’s a funny thing. We’re exposed to both gender roles growing up. The nature of that exposure differs based on what gender people assume of you, but we don’t simply internalize the way people treat us, we also internalize the way other people are treated and how we’re expected to treat others. So, yes, people assumed I should communicate in a traditionally masculine way, but I don’t know how well I ever learned that.

Communication isn’t just about our own actions, it’s about how we respond to the other party. Our ways of acting are inextricably intertwined with how those actions are perceived when performed by a body like ours.

Thank you!

Chung-chieh Shan

ifn1

We kick off The Identity Function with Chung-chieh Shan, an assistant professor at Indiana University. Chung-chieh Shan received both his B.A. in mathematics and his Ph.D. in computer science from Harvard. His work lies at the intersection of mathematics, linguistics, and programming languages.

 

Tell me a bit about yourself. 

I grew up in Taipei, Taiwan, in a society and family that privileged academic achievements. I am the youngest of three siblings and my parents worked hard to give me access to computers, telescopes, pianos, and professors. I also enjoyed writing while missing out on video games.

Anyway, I have since forgotten all the physics, chemistry, astronomy, Analects, and piano fingering that I learned. What’s left is intuition and caution in math and programming, and relative pitch, signposting, and apologizing.

It’s great that you had such a supportive environment. What brought you to the US?

College! My high school math teacher suggested it, and my parents went with it. In that era it was kind of rare for people from Taiwan to go abroad for college like I did, but it was very popular to go abroad for grad school.

So speaking of supportive environment, my math teacher had a previous student who went to grad school in the Boston area and stayed, and he and his family supported me in all sorts of ways there: Transportation, dentistry, food, advice…

Wow, that must have been really helpful! Do you think it made a difference for your career path?

Maybe — he was definitely a role model for me, being an immigrant who stayed in academia. And I wouldn’t take for granted the peace of mind that comes from knowing that someone is there to support me if I need it, even if it turns out I don’t.

But academia and STEM were defaults that worked out OK for me, so it’s hard for me to say what I’d be doing instead if not that.

I see that you started in mathematics. How did you get into computer science research?

I was interested in both math and CS in college, and I took a lot of CS courses as a math major. But I didn’t have math research experience and was discouraged by a fruitless mere semester of independent study. Math felt beautiful as a spectator sport to me.

I don’t know why my equal lack of computer science research experience didn’t deter me from applying, but I got in and went!

In the end I found the kind of CS research I’m most interested in is similar to math research in the following way: It is not predictable when you finally discover something very interesting or beautiful, but you can find steady work to do — such as working out special cases, trying out hypotheses, learning background material— and trust that work to contribute to those discoveries eventually.

Tell me more about your research. What are you working on right now?

I’ve been working on probabilistic programming, which generally means making it easier to program with probabilities. I focus on developing languages that make code more reusable and more clearly express human intent. For me this involves figuring out what human expressions mean and how to manipulate them.

What distinguishes the design of probabilistic programming languages from other programming languages?

What’s most important is that the semantics be probabilistic, so if I’m a user who’s interested in a particular probability distribution then I can write a program that denotes it. But we like the syntax and the types of a language to grow in tandem with the semantics, so we end up wanting syntax for composing distributions, types to distinguish distributions from other values, and so on.

The hope is that the programmer can write a program that handles distributions without worrying all the time about how exactly to represent and operate on them, just as programmers today can write a program that handles integers without worrying all the time about binary, adders, and register allocation.

So you’re abstracting the details of distributions? Does this mean that someone with little understanding of probability can write a program in this language, or does this still target domain experts?

The goal is at least that someone with little understanding of probabilistic inference algorithms can write a program in this language and get accurate answers quickly. The user can be an expert in a domain like epidemiology or linguistics and know what distributions are, but shouldn’t need to be an expert on how to compute with them.

Today there is still a tradeoff between getting accurate answers quickly and not needing to know computational details. My group is focused on freeing someone who does know computational details from having to re-implement them from scratch each time.

How does math inform your research?

My current work on probabilistic programming is based on a lot of math. To take one example, to translate a probabilistic program to the measure it denotes, we use induction on its abstract syntax tree; after we simplify the measure mathematically, to translate the result back, we use linear algebra on differential operators.

Formal tools aside, I find math elevates my hope for how small the core of a language can be and how smoothly its parts can fit together to help diverse communities discover common concepts and deepen shared understanding. Because my hopes are higher, I tend to try harder.

That reminds me of the first time I learned about the Curry-Howard Correspondence. It really changed my view of how work from one field can contribute to another.

Indeed —  it won’t surprise you that I’m a big fan of Curry-Howard and of contributions from one field to another!

For these contributions to stick, a computer scientist has to trust that a logician or mathematician who can barely check their email without professional help may nevertheless be willing and able to say something important about programming language design. And the logician or mathematician has to put in the work and vulnerability to subject their idea to foreign scrutiny and testing.

What about linguistics? How does that tie in?

I used to study the semantics of in-situ quantifiers in natural language, and they gave me intuition about how delimited continuations work in programming languages. On one hand, people use in-situ quantifiers in natural language all the time; an example is the word “nobody” in the sentence “I saw nobody yesterday.” On the other hand, although delimited continuations are very useful in programming, most programmers find them kind of weird.

It turns out that in-situ quantifiers and delimited continuations are analogous. For example, the type of “nobody” is (Thing → Prop) → Prop, and doesn’t that look like a continuation-passing type?

This analogy helped me better program with delimited continuations and better analyze in-situ quantifiers.  My dissertation generalized this intuition to one about side effects in natural and programming languages.

How does this relate to side effects?

One view of side effects is that they arise during the execution of a program and contribute indirectly to its result. We could complain that side effects break equational reasoning, but we could also refine our notion of program equivalence to match what reasoning is spared by the effects. In particular, we could apply something like a monad to enrich the denotations we assign to expressions.

Now, linguists also study certain natural-language phenomena, such as quantification, that break equational reasoning. For example, just because nobody is the king of France and I saw nobody yesterday doesn’t mean I saw the king of France yesterday. In response, linguists have applied monads to enrich the denotations they assign to expressions.

Linguists also have the intuition that these phenomena arise during the interpretation of an utterance and contribute indirectly to its result. So it makes sense to call these phenomena too side effects. It turns out that programming language notions such as evaluation order can be transferred to linguistic analyses.

Interesting. I never thought of viewing natural language this way.

I like to think that linguistics helps me bring diverse communities together by making sense when people use different terms for the same meaning or the same term for different meanings. Thus, I’ve been watching people create and analyze and express concepts in context. This has given me a healthy respect for formal methods as well as informal ones.

It has also led me to believe that distinctions that matter tend to have fuzzy edges. When you see that concepts such as games and numbers have fuzzy edges that cannot be formally defined, it’s no surprise that concepts of sexuality and gender do too, and the fuzzy edges of a concept are often revealed when we subject its versions to instances that are often dismissed as corner cases.

On that note, how has being LGBTQ impacted you as a researcher?

I came out to myself and others in college, so I was out in graduate school, and my job searches were two-body problems involving my ex-partner. Still, I didn’t feel that my orientation made much difference at work, whether at a technical discussion, a social occasion, or a hiring decision. I was never involved with campus LGBTQ groups, seldom visited a gay bar, and in more than a decade at work, I did not experience or witness any homophobic incidents.

Though if I could have gained US citizenship by marriage, I would have spent much less time applying for visas to attend international conferences…

I’ve noticed that in our academic culture, orientation is treated as a personal detail, and so it’s taboo to talk about it in the workplace. Has this silence impacted you at all?

There’s an impact like dripping water wears away a stone. The lack of visibility and representation of LGBTQ people in academia has chipped away at my sense of belonging and my hope for role models. And I find myself self-censoring how I describe my family and friends to my colleagues, even when their contributions to my life are relevant to the conversation at hand.

I like to be reminded at work that each of us is a human being, and it’s a lot easier to think that you manage to separate who you are from what you do when who you are happens to fit in better with how society is set up (through no fault or merit of your own) so you don’t have to censor as much the family you keep, the languages you speak, or the clothes you wear. I’d like me and my colleagues to be more conscious of these social expectations.

How have you dealt with this throughout the years?

Instead of separating who I am from what I do, I try to match my colleagues in terms of how much they fail at that separation. I incorporate a bit of my own cultural references into how I speak and dress. I once convened a QUILTBAG lunch table at ICFP and I’ll probably do it again.

What a great idea! How did that work out?

It helped me — I established some friendships and deepened others — and what little feedback I heard was mildly positive. It was just one table at one lunch.

But next time I would advertise my expectations more clearly when I sit down at an empty lunch table, both to QUILTBAG people and to other conference attendees passing by who just want a seat to eat and talk about monads. There was substantial derailing from the latter this time.

Thinking back — if you were to talk to yourself from twenty years ago, would anything about your current life be surprising?

Everything I said so far would have surprised myself twenty years ago, except for my staying in a STEM career in the US. I wasn’t even out to myself twenty years ago. Here’s one more surprise: I regularly travel hundreds of miles to see my friends, and they’re not from work!

Are these friends from the community? One of the things I’ve always loved about being LGBTQ is that it opens up this whole diverse, beautiful, and supportive community.

Yes! Of course every community has its ups and downs, but I’m lucky to be able to access some communities, and they are a big part of what makes Indiana home for me.

If you don’t mind me asking, what was the coming out process like for you? You mention being out to yourself; was there a period of denial?

I probably had a period of denial. But it didn’t make me uncomfortable while I was growing up, because academic performance was so paramount that sexuality of any sort was easy to avoid.

I wonder if, to some degree, this is part of the problem. If we are so focused on academic success that we sometimes forget that who we are is important, too.

I would definitely pay attention to who gets to set the standards as to what counts as academic or professional success and what aspects of who we are are appropriate to bring into a school or workplace.

How do you think we can change this for future researchers?

I hope to be visible, to represent, to step a bit outside my comfort zone, to invite and make space for me and my colleagues to interact as embodied human beings with identities, and finally to recognize others when they do the same.

I’m doing this for other LGBTQ folk. I want us to see each other! (If others see us too, so much the better.)  It takes mutual trust and effort.

Thanks again for doing this! 

Thank you!

What is The Identity Function?

Alan_Turing_Aged_16

We owe this to Alan Turing

The Identity Function is a blog interview series about LGBTQ computer science researchers.The goal is to increase the visibility of LGBTQ computer scientists and make it clear that our field welcomes people of all gender identities and orientations.

Interviews for The Identity Function are multifaceted: They are focused both on academic achievements and on the impact of being LGBTQ in a field that is largely silent.

The lambda is a historical gay rights symbol. The title image is the identity function in the lambda calculus. The lambda calculus is an elegant, simple, and expressive programming language.

Orientation and gender identity are functions of identity. The identity function maps any value to itself.  The title reflects the intersectional nature of this blog.

Why is this necessary?

In an ideal world, it wouldn’t be. But our world is far from ideal.

The default assumption is that everyone is straight and cisgender. The impact of silence on invisible minorities is heavy: If we don’t know that anybody is like us, how do we know that we are welcome?  Who are our role-models?

Imagine that you are going to a party through your department. You bring your spouse. If you are married to someone of the opposite gender, this is probably something you do already. It surprises nobody. If you are married to someone of the same gender, you are inadvertently making a statement. People notice. How do you know if it is OK?

There is no good place to talk about this in our academic culture. And this makes sense. Why would we talk about our dating lives in class or in the lab? But there needs to be a place to talk about it. That’s what this blog is.

What exactly will I learn?

You’ll learn about researchers who are invisible minorities. You’ll learn how this impacts the researchers.  You’ll learn about the researchers. You’ll learn about their research.

Again, this is a function of identity. Orientation is about attraction, partnership, and identity. Gender identity is about identity.

Won’t this alienate people in our field?

The goal is to create an isolated, safe medium in which to discuss orientation and gender identity among computer science researchers, with the goal that any benefits will outweigh the harms. People who are disinterested or uncomfortable can choose whether or not to read this. This will not permeate the classroom. It is what it is: A blog.

All people are free to have the opinions they choose, and these opinions are surely shaped by culture. Computer science should also be a welcoming field across cultures.

But people of different identities should feel comfortable being themselves. This is not currently true. This blog aims to change that.

I’m interested in being interviewed!

Awesome! Reach out to me directly. Check out my website for contact information. Send an email with the title “Identity Function Interview,” or reach out to me through social media.

Thanks for making the world a better place!

About the Author

Talia Ringer is a graduate student at the University of Washington studying programming languages & software engineering. She graduated from Maryland in 2012 with a degree in mathematics and computer science. She then worked at Amazon for three years before returning to research. In her spare time, she enjoys running, triathlon, and writing. She is active in both outreach and mentorship. She has been openly bi for more than ten years.