A Note about the New Mozilla CEO

There’s been a lot of discussion recently about Mozilla’s appointment of Brendan Eich as CEO. In the beginning, everybody reacted quite reasonably, but now things are getting interesting, so I thought it was time to contribute to the conversation.

The Issue

There appear to be two issues with Brendan’s appointment. First, much of Mozilla’s Board of Directors was hoping their new CEO would have a lot of experience with “mobile.” This isn’t interesting to me, but I can see how the Board of Directors might be discouraged in this case. Second, more importantly, is the issue of “equity,” which is something I’m very passionate about. It’s the focus of the rest of this post.

Here’s the equity issue: in 2008, Brendan made a USD$1,000 donation to support making a law that would ban gay marriage in California. Some Mozillians feel Brendan’s appointment as CEO endangers the inclusive nature of the Mozilla community. I believe that Mozillians (and all contributors to free software communities) are right to be worried, but that we should remain optimistic.

What Is Social Equity?

For me, social equity means we judge others by their own thoughts and actions, and avoid judging them based on irrelevant personal characteristics. This is my everyday definition—it’s how I try to live. It works in combination with my idea that people should be allowed to do things by default, and prevented only when necessary (only very rarely).

Easy example: at Mozilla, it is reasonable not to hire someone for a job if they are less qualified than another applicant; it is unreasonable not to hire someone because they are a woman—that’s not relevant to their ability to do a job at Mozilla. Yet, if I were to hire someone as a fashion model, I can imagine a candidate’s gender and gender identity may become relevant. Similarly, while a candidate’s views on free-and-open-source software are relevant to a job application for Mozilla, they are not relevant to an application for a modelling company.

Is This an Equity Issue?

Yes. The difficulty here is that it’s not clear whether Brendan’s 2008 views on homosexuality are relevant. On the one hand, they’re not, because this job is about administering a technology company. After inventing JavaScript in the 1990s, Brendan has had a distinguished career at Netscape, then at Mozilla, so his qualifications for CEO are excellent. On the other hand, being CEO at Mozilla is about leading a free software community, and even more than usual technology companies, free software companies must provide a welcoming environment for all contributors, without compromise. But this doesn’t settle the issue completely.

I trust Mozilla to choose a CEO who believes in the organization’s Manifesto (have you read it?) and who will work to promote their Community Participation Guidelines (available here). At this point I still don’t see an issue, but I usually present as a straight, white, anglophone, North American male. Did you see the “straight” part? That means I can’t judge the situation by myself, and as it turns out, a gay Mozilla community member does feel threatened (blog post here).

So yes, this is an equity issue.


However, Hampton’s isn’t the only reaction, and he only works with, not at Mozilla. Here are three mixed reactions from Mozilla employees.

A queer Mozilla employee writes about their support of Brendan as CEO here.

A gay Mozilla employee writes about their support, with reservations, here.

This Mozilla employee (orientation unknown to me) writes about their request for Brendan to step down here.

Further Thoughts

I’d like to draw special attention to the Chris McAvoy’s post, the last cited above. His justification for asking Brendan to step down is not related to Brendan’s qualifications to be the CEO of a technology company; it’s not related to a fear that Brendan will continue to work against LGBTQ rights; it’s because he believes Mozilla should actively advocate for LGBTQ rights, and that Brendan will not.

Think about this for a second! He’s asking a technology company to do social activism. For any other company, even other free-and-open-source software companies like Ubuntu and Red Hat, this wouldn’t even enter the equation. But the thing is, he’s right to raise this issue. When it comes to browser vendors (including Apple, Google, Microsoft, Mozilla, and Opera) Mozilla is the only one whose express purpose for existence is very much related to various forms of activism for social equity issues.

So when I see articles pointing to actions such as this, it makes me pretty upset. Though of course any web company can do whatever they want with their website, I think what OkCupid has done is to simplify the issue to the point that they miss what’s actually going on here. As a result, they are advocating for companies whose primary purpose is to be profitable, and against the only major browser vendor whose express purpose is advocating for openness and freedom, and that has an established history of “leading the way” in advocating for social equity.

As a friend of mine wrote on Facebook,

[T]he CEO/Mozilla may have “evolved” on the issue since 2008. Does that not count for something? Also, OKC should say what the desired outcome is, like they’ll display the message until the CEO apologizes maybe? And boycotting the browser affects a lot more people than just the CEO… why not encourage people to send letters to Mozilla management showing them that they don’t approve? Isn’t that the most effective way to change things in business, vocal customer dissatisfaction?

Why yes, that would be “the most effective way to change things.” Instead, OkCupid is encouraging people to do something that won’t even have a measurable effect on the Web for months, and that may result in measurably negative effects several years from now.


In the end, I believe Mozilla made a mistake to appoint Brendan Eich as CEO. However, I believe in the Mozilla community as a whole, and its ability to work through this issue. If, at any point, Brendan becomes an obstacle to realizing the Manifesto or Community Participation Guidelines, the Mozilla community will deal with him as appropriate.

If you want to start choosing your software to match your politics, I support and welcome you whole-heartedly. It’s because I do this, and in light of Mozilla’s more-than-a-decade of web-based social activism, that Mozilla Firefox is the only web browser I can seriously consider using as my default, as it has been since 2002, when it was called “Phoenix.”

If you ask me, this is an exciting time for Mozilla. It’s a real test for them, and no matter what happens, I’m hopeful they will emerge as a stronger community than ever.


Here’s a secret.

Almost every time I hear a clarinet, I think of you.

It’s more than a little ridiculous. You never even heard my voice.

Delightful Questionnaire for Valentine’s Day

I think I haven’t done one of these since high school.

1: Do you have a crush at the moment?
2: Have you ever been deeply in love?
3: Longest relationship you’ve ever been in?
    Five years.
4: Have you ever changed for someone?
5: How is your relationship with your ex?
    Doesn’t exist.
6: Have you ever been cheated on?
    Don’t think so.
7: Have you ever cheated?
8: Would you date someone who’s well known for cheating?
    Depends how much I liked them.
9: What’s the most important part of a relationship?
    What distinguishes it from a friendship, so probably some form of touching.
10: Do you like to be in serious relationships or just flings?
11: When you are dating someone do you believe in going on “breaks”?
    Not really.
12: How many people have you ever hooked up with?
13: What’s one thing you regret saying/doing in a previous relationship?
    Not breaking up sooner.
14: What age do you think is appropriate for kids to start having sex?
    Depends who they are.
15: Do you believe in the phrase “age is just a number”?
16: Do you believe in “love at first sight”?
17: Do you believe it’s possible to fall in love on the internet?
18: What do you consider a deal breaker?
    If they don’t want to listen to my anti-oppression rants. (There are many others).
19: How do you know it’s time to end a relationship?
    The participants have very different expectations/goals, and insufficient effort to resolve them.
20: Are you currently in a relationship?
21: Do you think people who have dated can stay friends?
22: Do you think people should date their friends?
23: How many relationships have you had?
24: Do you think love can last forever?
25: Do you believe love can conquer all things?
26: Would you break up with someone your parents didn’t approve of?
    Depends why, but probably not.
27: If you could go back in time and give yourself one piece of advice about dating what would it be?
    Be more willing to take the risk with people who aren’t “perfect.”
28: Do you think long distance relationships can work?
29: What do you notice first about another person?
    Probably eyes.
30: Are you straight, bi, gay or pansexual?
    What about a- or trans*?
31: Would it bother you if your partner suffered from any mental illness?
    If they act in a bothersome way.
32: Have you ever been in an abusive relationship?
    I’ve been in a relationship that became abusive.
33: Do you want to get married one day?
    Don’t know.
34: What do you think about getting your partner’s name tattooed?
35: Could you be in a relationship without sex?
36: Are you still a virgin?
37: What’s more important: Looks or personality?
38: Do you enjoy love films?
39: Have you ever given anyone/received roses?
40: Have you ever had a valentine?
    I don’t really know what that means.
41: What’s your imagination of a “perfect date”?
    I don’t know that either.
42: Have you ever read “Romeo & Juliet”?
    Yes—I have, in fact!
43: What’s more important: Your partner or your friends?
    Depends which partner and which friends.
44: Would you consider yourself “romantic”?
45: Could you imagine to date one of your current friends?
46: Have you ever been “friendzoned”?
    I object to the term.
47: Which “famous couple” is your favorite?
    I don’t follow famous couples.
48: What’s your favorite love song?
    Love songs are usually weird.
49: Have you ever broken someone’s heart?
    I think so.
50: If you’re single, why do you think you are?
    I’m having problems finding new people.
51: Would you rather date someone who’s rich but a douchebag or someone who’s poor but a nice guy?
    Nice guy.
52: Are you good at giving other people advices regarding dating/relationships?
    “Advices”… what are you, a franco? I don’t think so, but people keep asking.
53: Are you jealous of couples when you’re single?
54: How important is it to make a relationship official (p.e. on facebook)?
    Wait! “p.e.” as in “par exemple?!” You totally are a franco! Not very.
55: Would you consider yourself “clingy”, “overly attached” or “jealous”?
    Yes, clingy.
56: Have you ever “destroyed” a relationship?
    Yes, but I wan’t the only one.
57: Do you think it’s silly to consider suicide because of a broken heart?
    I object to “silly” because it trivializes a serious mental health issue.
58: Are you the “dominant” or the “submissive” part in a relationship?
    Usually submissive, but I don’t prefer a hierarchized relationship.
59: Have you ever forgotten important dates like your partner’s birthday or your anniversary?
60: What’s your opinion on open relationships?
    Good idea, but not for me at this time.
61: Who’s more important: Your partner or your family?
    Now you say “partner,” so it seems like they are family, so “no.”
62: How do you define “cheating”?
    When you do that thing that distinguishes relationships and friendships with a person who isn’t your partner, and without the enthusiastic consent of your partner. What distinguishes friendships and relationships? For me, sex.
63: Is watching porn while being in a relationship inappropriate?
64: Do you think Valentine’s Day is overrated?
65: Would you consider yourself a “cuddler”?

So it was a little longer than I expected, but that’s okay (twss).

Have you ever left somewhere, gone somewhere else, and forgotten why you went?

For example: leave your living room, go to the kitchen. But why? I’m holding a cup… did I just want to wash it, or was I going to refill it?

I just realized I have an equivalent computer-based behaviour: leave an application, start another, and forget why I opened it. It’s especially problematic with a Web browser, because I could have been going to do almost anything! Might as well check that social network.

The Thing about Bruckner

People disparage Anton Bruckner all the time. He’s too repetitive and not very original, and so on—there are lots of (well-documented) clichés. I think it’s because they don’t really understand what he’s about. This isn’t a blindly pro-Bruckner rant either. Hear me out!

The thing is, Bruckner wasn’t a composer. Well, he wasn’t only a composer: he was indeed a composer, but also a scholar and an organist. I have no means with which to judge his organ playing, but from what I read, he was among the best of his time. As a composer and a scholar, however, Bruckner was always overshadowed by what amounts to his unfortunate historical position: there were a lot of really important developments just before him, and a lot of really important developments just after him. When you consider this alongside his well-known tendency to revise his own work, and the fact he wasn’t a first-rate composer or scholar, it’s no wonder he isn’t remembered as a first-rate composer or scholar.

Thus I claim that we should listen to Bruckner’s music as he might have.

Consider that Bruckner is a scholar-composer. Though it’s not widespread knowledge among music theorists, it is well documented that Bruckner used, extended, and taught the formal theory of his teacher, Simon Sechter. In writing, this theory was picked up by Arnold Schönberg, Erwin Ratz, and then William Caplin, thanks to whom it is well-known and widely taught today as “form-functional theory.” Because we also know Bruckner analyzed his own music using concepts from that theory (sentence, period, compound sentences and periods, along with basic and contrasting ideas), it seems reasonable to me that we should use form-functional theory to help understand Bruckner’s symphonies. (We don’t need such a historical endorsement, but the endorsement makes the current absence of such analyses all the more intriguing).

I was recently prompted to listen to the second symphony, which I don’t really like, and the eighth, which I do. I discovered something I confirmed with further listening: as a unit, Bruckner’s symphonies evolve from over-grown Classical-style monstrosities into elegant and sneaky predecessors of 20th century styles. What most impressed me this time is a situation I’ve yet to find or create a term for, where musical elements articulate different formal units, or where they articulate the same formal unit but with different start and end points.

The most striking example (from the top of my head) is a passage in the third (slow) movement of the eighth symphony. It’s both a tight-knit sentence and a transition between large formal sections. The first phrase is loud with brass-heavy orchestration, and it seems like the psycho-energetic conclusion to the large formal unit, even though the harmony and melody together articulate a presentation phrase, which is the *start* of a small formal unit. The second phrase is quiet, emphasizes the strings, and seems like the psycho-energetic transition between formal units, even though it uses model-sequence technique and ends with a half-cadence, like the continuation phrase we expect to follow a presentation phrase.

Described as I did, this isn’t record-breaking, and it isn’t even that we couldn’t possibly find an example of Haydn, Mozart, or Beethoven doing something similar. What is new is that no analyst in their right minds would call this “a sentence,” because sentences simply don’t “belong” where this one is. “Okay then,” somebody’s thinking, “if a sentence doesn’t belong there, then it isn’t functioning like one, so it isn’t a sentence, right?” Right, but on the one hand, the end of a large formal unit almost never resembles a tight-knit theme, and on the other hand, the reason this passage works as it does because of the mismatch between different musical elements, which is what I was talking about two paragraphs ago.

When we listen like this—with the theory Bruckner helped develop—we have a very different perspective of a musical moment that at first seemed to be completely straight-forward. The fact most musicians’ (self-professed!) knowledge of Bruckner’s symphonies seems to start with the fourth and end with the seventh is unfortunate at best. If everybody had a chance to experience the growth of this admittedly ho-hum composer, we would share a much subtler understanding of the development of this undeniably important genre. It wasn’t Brahms who saved the symphony from Beethoven, it was both Brahms and Bruckner together. In fact, Bruckner’s role as an educator means he may have had an even greater influence than Brahms.

Introducing ELVIS, the Computer-Driven Music Analysis Research Project

Summary: I discuss the basic implementation details of a music-analysis computer program I’m helping to write. Our goal is to find musical patterns that will help us describe musical style more precisely. You can visit our temporary website at http://elvis.music.mcgill.ca (not much to see) or if you’re reading this in the future and that doesn’t work, you can view our new website at http://elvisproject.ca, where there will be lots to see. You can view our code (AGPLv3+) on GitHub here: https://github.com/ELVIS-project

One of the most useful things I’ve done over the past couple of years, at least in terms of learning about computers and programming, is to read the blog posts written by members of various free software communities. Is it about software I don’t use? Is it too technical for me? Is it not even about software, but the larger ideas of the community? Is it written in barely-comprehensible English? Doesn’t matter—everything is useful and interesting, and I’m thankful for the opportunity to learn from other people who are willing to share. Now it’s my turn to share. This post is the first in what I hope will be a set of posts about the “ELVIS” research project I’ve been working on.

First, if you didn’t know, I spend my academic life as a musician. Actually, I’m a music theorist, which is a music research discipline that tends to focus on the aspects of musical works that can be observed in a score. Few scholars stay strictly within the confines of a single discipline, and the same is true for me: I’m often also a philosopher, computer scientist, historian, ethnographer, and other things. Not everybody agrees, but I think this kind of mixing is crucial to the formation of new knowledge (or “knew nowledge”) for reasons that I hope to discuss in a future post that’s not about ELVIS. Oh right—this is a post about ELVIS.

Now you know it’s about music, nobody should be surprised that ELVIS is actually a backronym. It stands for “Electronic Locator of Vertical Interval Successions,” which nobody understands without explanation, but it’s pretty easy. “Electronic locator” just refers to the fact we’re using a computer program, and “Vertical Interval Succession” just means we’re… well that’s a little harder. In music, and “interval” is the pitch distance between two notes (or frequency difference between two pitches—same thing). “Vertical” means both notes are happening at the same time rather than one after another. “Succession” means we’re looking for the orders in which one vertical interval follows another. Totally straight-forward, right? Here’s an example, just in case.

Imagine it’s the year 1175 or so, and you’re a monk. The lead monk is going to sing a prayer with a well-known tune. You have to improvise a second part to go with it, and becuase you’re not an idiot, you want to make sure it sounds good. How do you know which notes to sing? As far as we know, monks around that time period would have improvised the second part by knowing the order of the intervals formed between the well-known tune and the newly-improvised accompaniment. Only certain successions of intervals would sound appropriate, and it depends on what the prayer is about, where you are in the tune (beginning, middle, end), and many other things. As more and more singers were added, as instruments were added, as notation was invented, these interval successions remained important. Today we call it “counterpoint,” and whether or not listeners or singers or composer or songwriters pay attention to it, it’s present in virtually all Western music. Yes, even “Call Me Maybe.”

Last paragraph about music! We’re using a computer to analyze countrapuntal patterns (i.e., patterns of counterpoint). We hope to find patterns we can use to distinguish or unite periods of musical style. If you’re like a lot of music scholars, you’re probably thinking something like “but what about rhythm?” or “but what about chords?” or “but what about melody, form, timbre, metre, tuning/temperament, social situation, and other factors?” Yes, they’re all important, but we’re just starting out! There have been many smaller studies focussed on melody, but for various reasons, they haven’t lived up to their promise of finding patterns that distinguish musical styles from each other. That’s why the ELVIS project is trying counterpoint. We hope contrapuntal patterns will help us find some basic statistical methods and analytic strategies that are effective when talking about musical style. Later, we can supplement or start over with other musical elements, and we’ll have a good idea of where to begin.

For those of you who are computer-minded, here’s the interesting bit. In the two years of the grant, we’ve rewritten our analysis program (called “vis”) from scratch four times. Each time, we used a different strategy when designing the back-end. The first iteration was a very limited commandline program that only analyzed two-voice contrapuntal patterns, and provided output in the form of lists. The second iteration added a GUI and graphs—both certainly required for music researchers—and we started to modularize the back-end by actions the program needed to perform. In the third iteration, we tried an MVC (model-view-controller) approach with the same GUI. This was driven by four controllers that each corresponded to a stage in the analysis process: Importer, Analyzer (find stuff in scores), Experimenter (statistics), and Visualizer. We also started to envision a Web-based interface, and use cases other that two-part contrapuntal patterns (the only other one implemented was for chords). Our fourth iteration was designed from the start to be a modular framework, separated from any interface, extensible for any use case. Although we’re focussing on the modules to analyze contrapuntal patterns, we’ve put considerable effort into making it easy to write additional modules that could potentially analyze anything. As long as it starts with a score and ends with statistics, we hope you can use our software!

I’ll briefly describe the architecture of our back-end. We have three types of components: analyzers, controllers, and models. So far we plan for only one controller, called WorkflowController, which more or less coordinates running through the four stages of our previous architecture: import some scores, analyze them for patterns, calculate some statistic, and output the data. Using the WorkflowController is optional; it’s a tool we’re using to make our often-run queries easier to run. If you don’t use the WorkflowController, you’ll primarily be interacting with our models, IndexedPiece and AggregatedPieces. They manage all the data of a single piece and a collection of pieces, respectively. We have many analyzers, since it’s the core of analysis activities, and since we envision most future expansion will happen in this module. Each analyzer does only a single action, and you can run them in any order that produces valid output. But users won’t interact with analyzers directly. Rather, they use the get_data() method of a model to run analyzers in a specific order, with certain settings, and the model will ensure everything gets done properly. This level of separation is important, since it will allow our models to do results caching and other interesting things—heck, there’s no reason to even stay in the same programming language, as long as the right data comes out in the end!

The last topic for this post is to describe the core software we’re using to help build our framework. We’re grateful that Myke Cuthbert, developer of the music21 library, is working with us on the ELVIS team (see http://http://mit.edu/music21/). music21 basically provides a way to import and represent a wide variety of file formats with a relatively consistent set of Python objects, plus a sizeable collection of analysis tools. Once we’ve used music21 to index our scores, we use the pandas data analysis library (see http://pandas.pydata.org/) to organize our data and help us perform fast analysis activities with vectorized NumPy operations. pandas will also let us store analysis results as pickled objects, export for use by other programs, and a whole host of other things we haven’t thought of yet. For the desktop versions of our applications, we’re using the PyQt library (see http://www.riverbankcomputing.com/software/pyqt/intro), which I’ve really grown to appreciate. The signals-and-slots mechanism, even without a GUI, is a really great idea, and I can see why many of the other features are immensely useful for C++ developers even though they sometimes cause headaches for Python programmers. Finally, for the new Web interface, we’re using django (see https://www.djangoproject.com/) and Knockout.js (see http://knockoutjs.com/).

In the future, I’ll write about some of the research we’ve already done with vis, about how the program’s architecture works, the other software we’re using (including LilyPond and ggplot2 in R) and many of the other lessons we’ve learned along the way. In case you’re wondering, I do all my development on Fedora. Through the life of the project, I’ve moved through Fedora 16 through 19.

A Thought about How Power Works in Society

Like Martin Gräßlin (see here), I have a lot to hide. I’m not a particularly secretive person, I never consciously do anything for the negative or destructive consequences, and I have no reason to hide anything in particular, yet I still have a lot to hide. There are lots of reasons for this, but here are two obvious ones: (1) I know I sometimes do, say, and think stupid things that I later wish I hadn’t done, said, or thought; and (2) that saying things for an unknown audience requires much more thought than saying things to a specific person or group of people.

Imagine this situation. One day, in person, I discuss a social issue with a friend. The next day, I see a related article on a website, and decide to send a link to my friend, along with a sarcastic message that appears to mean the opposite of what I actually think. I can rely on my friend correctly interpreting my sarcastic message, because we know the context of the email. If some entity (say, “The Government”) saves my email for 20 years, then wishes to imprison everybody who thought a certain way about this social issue, can I rely on by email being interpreted in the right context? Not likely. In fact, 20 years later, perhaps neither my friend nor I will remember the email was sarcastic. As an especially sarcastic person, I’m a little worried about this possible future situation.

So I’m encouraged by the Electronic Frontier Foundation’s (EFF’s) push for more transparent surveillance. If “they” are watching “us,” then “we” should be watching “them.” But I have my reservations too.

You see, I’ve been reading a lot of Foucault work recently, which is about how power works in society. One of the most striking things is the extent to which you can encourage people to do what you want by creating the right sort of hierarchic supervision. The thing about hierarchies is that there are always more people at lower levels, so they could potentially organize themselves out of the hierarchy (this is part of how labour unions work, for example). But the hierarchy only works if people at lower levels know they’re being supervised.

This raises some interesting questions. For the supervisors we’ve been hearing about recently, are they actually so stupid that they forgot to tell us we were being supervised? I don’t think so, and I think the EFF and others are helping the supervisors do their job. The EFF will spend a lot of time and effort trying to fight for transparency, when ultimately “telling people how they’re being surveilled” is exactly what the supervisors need.

I don’t expect you will accept this at face value, since they’re not necessarily obvious. I also don’t know what this means about “what we should do.” As the title of this post says, it’s just a thought.

About a Boring Feature of KWin

I spend a lot of time with my face directed at my computer screen. Most of the time, I’m even looking at the screen and actively typing or reading. To help me stay focussed, I took a lesson from GNOME 3 book, then turbocharged it for own KDE setup: there is nothing on my desktop, my panel hides itself automatically, and I use the dashboard extensively. This way, most things won’t distract me unless I was already thinking about them.

Sometimes, when I’m really trying to concentrate on something (which happens quite often recently), I just sit and stare for minutes on end. When I do this, I get to use one of KWin’s least exciting features: the panel eventually pops up, as if to mock me for taking such a long time to think. It doesn’t really bother me, but I had a hard time thinking why anybody would need this feature, since “auto-hide the panel” is not enabled by default. Then it hit me.

Months ago, a friend of mine wanted to use my computer for something trivial. I logged in, then walked away. A short while later, she said something like “what’s wrong with this thing? Why is it taking so long?” As a Windows user, she’s been trained to wait for some icons on the desktop or the panel with the “Start menu” on it, so when my computer just showed the desktop background, she continued to sit and wait for it to finish loading. She called me over before the auto-un-hide feature had a chance to prove its worth, but now I know, it’s in there for her.


I’m thinking about harmonic function in music.

If ^7 is the leading tone of the tonic, and #^4 “tonicizes” the dominant key, then #^4 is not the leading tone of the dominant key, it is the leading tone of the dominant-being-tonicized, and therefore only the leading tone of a tonic.

Does the dominant have a leading tone? Yes, as per Harrison and others, flat-^6 must be the leading tone to the dominant, which means flat-^2 is the leading tone of the tonic-being-dominantized, and therefore the “Neapolitan Sixth” chord is… dominantizing both the dominant and the tonic? Then what is the most straight-forward dominantizing chord? ^4–b^6–^1. It’s the Subdominant triad.

Then how does one Subdominantize? Is this what Tonic function does?