Catenary

Second Workshop on Software Research and Climate Change

November 26, 2009 · Leave a Comment

Here is another ICSE 2010 workshop you should be interested in: the Second Workshop on Software Research and Climate Change.

The call for papers is just out –you might find it a bit unusual that there will not be a formal publication of the proceedings but the intent of the workshop is to create a lively discussion on the topic and to build a community of researchers interested in tackling it. Here is the challenge for participants:

How can we, as experts in software technology, and as the creators of future software tools and techniques, apply our particular knowledge and experience to the challenge of climate change? How can we understand and exploit the particular intellectual assets of our community — our ability to:

  • think computationally;
  • understand and model complex inter-related systems;
  • build useful abstractions and problem decompositions;
  • manage and evolve large-scale socio-technical design efforts;
  • build the information systems and knowledge management tools that empower effective decision-making;
  • develop and verify complex control systems on which we now depend;
  • create user-friendly and task-appropriate interfaces to complex information and communication infrastructures.

In short, how can we apply our research strengths to make significant contributions to the problems of mitigation and adaptation of climate change?

I should mention I am also in the Program Committee for this workshop — if you have anything to say on the subject I’d love to hear from you!

 

→ Leave a CommentCategories: Academia · Activism · Software development

Web 2.0 for Software Engineering

November 25, 2009 · Leave a Comment

The list of workshops for ICSE 2010 is out, and though many of them look very interesting I’d like to point your attention towards the workshop on Web 2.0 for Software Engineering. Here’s the abstract:

Social software is built around an “architecture of participation” where user data is aggregated as a side-effect of using Web 2.0 applications. Web 2.0 implies that processes and tools are socially open, and that content can be used in several different contexts. Web 2.0 tools and technologies support interactive information sharing, data interoperability and user centered design. For instance, wikis, blogs, tags and feeds help us organize, manage and categorize content in an informal and collaborative way. One goal of this workshop is to investigate how these technologies can improve software development practices. Some of these technologies have made their way into collaborative software development processes such as Agile and Scrum, and in development platforms such as Rational Team Concert which draw their inspiration from Web 2.0. These processes and environments are just scratching the surface of what can be done by incorporating Web 2.0 approaches and technologies into collaborative software development. This workshop aims to improve our understanding of how Web 2.0, manifested in technologies such as mashups or dashboards, can change the culture of collaborative software development.

I’m in the Program Committee and I’d love to read your work on the topic, so start writing!

→ Leave a CommentCategories: Academia · Software development

Bad surveys

November 15, 2009 · 6 Comments

Yesterday, a grad student asked me whether I could answer a survey he was doing for his research. I’ve struggled getting participants in the past, and seeing that the survey would only take a couple of minutes, I accepted.

It was a survey about the urban design of a particular place at the University of Toronto, which was fine with me. Halfway through the survey, though, I realized he was trying to put some answers in my mouth. He asked me whether I liked that place, and when I said I did he replied: “Really? There’s nothing to like there.” I insisted that I liked the landscape around it; he objected, pointing out that it was just a grass field. I kept insisting, and he grudgingly wrote down my answer.

We went through this process several times. The last straw fell when I said the lighting at that place was good and he responded that “it’s pretty dark there right now,” circling the “bad lighting” answer. He only erased that answer after I lost my patience and told him that these were my answers and if he wanted others he should ask someone else.

I know how this survey’s results will look like. Some large percentage of users of this space, it will say, are terribly dissatisfied with it –hence providing support for whatever project this student is designing. What gets me is that results from a survey as poorly and dishonestly executed as this one will carry greater weight than any non-quantitative arguments simply because they produce a percentage number in the end. We’re in love with quantitative evidence, no matter how poorly it is constructed.

As I left the place that evening I looked around with a critical eye. There were definitely some areas that could be improved. Come to think about it, I thought, it was plain to see that lighting was actually pretty bad — and no survey results will convince me otherwise.

 

→ 6 CommentsCategories: Academia

Global warming scepticism and academic intolerance

October 28, 2009 · 1 Comment

Someone very dear to me told me, a few weeks ago, that he had noticed I was becoming more and more intolerant with several positions and people —among them, climate change deniers. He felt it wasn’t fitting for a scientist, a person supposed to examine the facts objectively and to be a professional doubter, to reject challenges to the scientific consensus as a matter of principle.

So I started thinking whether I was indeed failing to uphold the values of my profession; whether I was becoming intransigent on scientific matters. I concluded that, at least for software research, I wasn’t at fault: several of my papers are challenges to popular notions in my field. Among other things, my coauthors and I have argued that mining software repositories is plagued with dangers, that software processes may be irrelevant or, at least, of very limited applicability, that literally replicating experiments of software developers may not be an appropriate strategy under some conditions, and that software estimation is extremely sensitive to judgmental biases. In fact, the theoretical foundations of my field are so weak that I think professional sceptics could build a good and productive academic career mainly by poking holes in them. (They would build an even better academic career by developing better theoretical foundations, though.)

What about scepticism towards climate change? Well, first of all, I am not a climate scientist. Though the theoretical foundations of climatology are relatively simple, there are far too many details I do not know, and if I wanted to know them I’d need to spend another decade at school. As a scientist, I must defer to the conclusions climatologists reach —with caution, of course, especially if their field is as immature as mine.

But it turns out to be quite mature, and for several years now climate science has reached a consensus as strong as that on evolution or the germ theory of disease. You wouldn’t know that by just tuning in to the news: in the interest of “balance,” journalists often look for someone -anyone- to counter the very grave conclusions reached by climate scientists. But if you talk to climatologists or read their work you’ll discover that the debate is artificial, that it happens almost exclusively in the media, and that denialism is entirely disconnected from scientific practice.

So the science is clear — we’re essentially burning our planet. There is simply no credible scientific opposition to this consensus. Since the consequences are so catastrophic, it is everyone’s moral duty to fight them, and at the very least to stop the misinformation in the public sphere — even if we sometimes, sadly, appear to be intolerant.

This is why I love John Cook’s Skeptical Science website (found via Steve’s blog). It’s a sort of Snopes.com for climate science: it lists all the popular arguments against the scientific consensus and it explains how they have been debunked. The site also sorts denialist arguments under a useful taxonomy, in case that works better for you. So just like you’d refer your uncle to Snopes whenever he sends you a chain letter telling you that next month Mars is going to look as big as the moon or some other nonsense, you can use Skeptical Science as a handy reference to fight his fabricated doubt on climate change.

 

→ 1 CommentCategories: Academia · Activism

Workshop on Software Research on Climate Change

October 26, 2009 · 1 Comment

Today was (still is, at the time of writing) the 1st Workshop on Software Research on Climate Change, down in Florida. Jon Pipitone and I planned to attend remotely, skype-ing in, but never got around to make it work satisfactorily: our connection kept getting dropped, perhaps due to bad connectivity at the conference centre.

In any case, Jon and I decided to have our own mini-workshop in Toronto, and to share our conclusions with the Florida group. Jon posted our thoughts on his blog; if you’re interested in these things we’d love to hear what you think about it.

→ 1 CommentCategories: Academia · Activism · Software development

This is an advertisement

October 22, 2009 · Leave a Comment

The company my brother works for has just released a website called This is an Advertisement:

This is an Advertisement is a site where the ads are the content. It’s as simple (and counterintuitive) as that. We believe ads are useful and even entertaining — valuable information that should be available when we want and need it.

As it begins to fill up with content, and as you tell it what kinds of ads you like, the site will try and satisfy your preferences.

Posting ads on the site is completely free, so you have literally nothing to lose by posting yours. Check it out!

→ Leave a CommentCategories: Off Topic

The Size of a Software Organization

September 15, 2009 · 5 Comments

Measuring something as simple as the size of a software organization turns out to be a tricky problem. It’s clear to see that while IBM, Microsoft, and Google are “large”, the company my friends and I started when we finished our undergrads was “small”. But as I will show, beyond these basic comparisons it’s hard to come up with a satisfactory metric. Consider:

First, there’s the number of members of the organization. This is perhaps the most intuitive metric we can come up with, as knowing the number of people in a group immediately tells us much about the group’s characteristics. It also tends to be a very accessible metric: get the headcount and you’re done. I’ve actually used it in the past, precisely for its intuitiveness and its accessibility. But it’s not as simple as it looks:

  • Do we count all members, or just developers? If we count all members we might get in trouble. Let’s say that Beehive Inc. has 99 developers and one boss in charge of everything else, while Peacock Inc. has one developer and 99 people in charge of advertising, selling, schmoozing, and charming customers. Although both have the same number of members, in terms of software productivity they are probably quite different: perhaps Beehive produces software like mad, so it needs lots of developers, and Peacock has a single product that it just fine-tunes for its high-rolling clients, so it needs only one. And if we count only developers, what do we do with all the borderline roles, such as testers, maintainers, user interface designers, and hybrid positions?
  • What counts as a member? For instance, who counts as a member of Mozilla? If we only count people that have contributed with code, we may exclude a significant fraction of the community, such as everybody that has tested and reported issues with the software but that has not submitted a patch. And if we count all bug reporters we may be stretching the meaning of the term “organization”.
  • And on a related note, what counts as an organization? Should the people in the XBOX and Office divisions of Microsoft really be considered as part of the same organization? They get a paycheck from the same company, and they may be working across the street from each other, but if there’s little-to-none interaction between the groups, should we still consider them as subsets of a larger group?

So the number of members is a troubling metric. Unfortunately, the alternatives look just as bad, or worse. Let’s switch to financial metrics and say that an organization is large in proportion to its revenue. This is an acceptable metric for many sociologists, but it’s questionable for software organizations for several reasons –most notably the open source movement. And profit is not better: mammoths often sustain heavy losses for significant periods and we’d still like to classify them as large. (What would we do with organizations with gigantic financial losses if we used profit as our metric? Treat them as negatively huge?)

Perhaps an important component of what we mean when we talk about size is power. “Large” organizations exert plenty of influence and we cannot dismiss them as easily as “small” organizations. But trying to measure power is even more difficult than trying to measure size: it’s not even clear how to get started. Are we talking about power over the public sector? Over the company’s customers? Over its own employees? What happens to our metric when small companies associate and increase their power? And how do we account for the mixture of individual and organizational power? All else being equal, any “small” organization that Steve Jobs joins will become significantly more powerful (“larger?”) than if I were to join it. I can’t see how we can emerge from a discussion on power with a clearer mind than if we use other approaches to measuring size.

Some sociologists refer to size in terms of the outputs of the production process. For instance, a brickworks plant is larger if it produces more bricks. But this works much better with the manufacturing sector than with the service sector, and for software most inputs and outputs don’t make much sense. Let’s look at outputs. First, lines of code are an infamously bad metric. Function points are better, but the metric is very inaccessible: unless the organization itself is keeping track of the number of function points it produces, one can spend an extraordinary amount of time deriving the metric when all one wanted was a simple way to place the organization on a size continuum. The number of modules and number of products the organization releases are too vague to be satisfactory. And as for inputs, besides human effort (which gets us into the problems I went through a few paragraphs above when I discussed number of members), what could we use? Electricity, paper? Coffee?

We’re running out of options here, but we’re not through yet. Going back to easily accessible numbers, perhaps we could look at size in geographical terms, and claim that a software organization is large to the extent of its physical area. As most of the previous metrics, physical area makes some intuitive sense. Google’s area, including server farms and cafeterias and plastic ball pools, is quite large, whereas a basement start-up is tiny. Could we claim that a simple square feet count is an appropriate measure of an organization’s size? I don’t think so, since we run into problems we’ve struggled with before: open source projects, home offices, and the fact that a firm can cram lots of people in a space, increasing its totals on every other metric we’ve gone through, while still remaining just as large from a physical area point of view.

Nevertheless, physical area is still important, as is physical proximity. The number of sites an organization uses, as well as some calculation of their geographic distance, could give a good indication of some of the pathological consequences of size: cumbersome coordination, loss of cohesion, formalization of structure. But as our foremost size metrics they’d be very flawed.

Two more possibilities and I’m done. One has to do with the degree to which an organization has enough intellectual capital, perhaps represented as the number of specializations it masters through one or more of its members. I frankly don’t like this metric at all: it is, again, too ambiguous, and too inaccessible. But it seems to me that there is something to the insight that “larger” organizations have a greater number of experts in a variety of fields. The basement start-up may have little more than a couple of software-oriented generalists, while Microsoft has experts in internationalization, compilers, user interface, databases, security, performance, and many other domains, not to mention non-software expertise such as in law, marketing, human resources, public relations, and more. So the number of specializations metric shouldn’t be dismissed completely.

Finally, we can try to assess size through the number and kinds of external agents that an organization has to deal with. By “external agents” I mean mostly users and paying customers, but also policy makers, advocates, community members, and so on. According to this metric, an organization that only produces software to be used by itself is far smaller than one that produces software that is highly (un)popular for wide sectors of the population. If you are your only customer, your software will probably not be as complex as it would be if people from all over the world needed to use it, and this complexity in the software and its requirements would translate into a complexity of the structure of the organization that produced it.

This, like the others, is a deficient metric. Though it is somewhat accessible, it doesn’t fully match the intuition we want to capture. It would claim that a massive and massively inefficient organization would be equivalent, size-wise, with a lean, brash, innovative start-up, which may not be what we want.

So. I’ve gone through a lot of possible metrics, and I’ve listed the reasons why they’re imperfect. I suspect the reason why it’s so hard to pin down organizational size, which sounds simple in principle, is that there’s a lot of confusion about what it means to organize in the first place—I mentioned this above, and will expand on it later.

I don’t think this means that we shouldn’t use size metrics at all. John Kimberly, an organizational scientist, explored a similar thorny issue, for a more general case, and argued, back in 1976, that:

“It is perfectly possible that the important variable is not really size at all, and that this has simply been a heading under which researchers lacking any sharper theoretical perspective have lumped many variables together. Even if it is felt that jettisoning the concept would be premature, at the very least a more differentiated approach would lead to the identification of several aspects of the global construct. Researchers would be constrained to think less about the question of how big a given organization is and how this bigness might be the cause or consequence of other organizational characteristics, and more precisely about under what conditions particular aspects of size are important for what other organizational characteristics.”

Each of the aspects of size I discussed is useful for some purposes, but we need to be careful to select the one(s) that would work better for our problems, and be aware that each carries with it some flaws that may bias our results.

→ 5 CommentsCategories: Academia · Software development

The Hot Yam! at NOW magazine

August 27, 2009 · 1 Comment

More on good food: NOW magazine has just reviewed the Hot Yam!, an amazing one-day-a-week eatery at the University of Toronto that’s very close to my heart. It’s an extremely positive and well deserved review. Congratulations everyone, and if you haven’t tried it yet you must! Thursdays, noon to 2pm.

→ 1 CommentCategories: Community · Toronto

Good Food Box

August 27, 2009 · 7 Comments

Val and I are now volunteering to distribute Good Food Boxes in our neighbourhood (we’re at Charles and Balmuto St). We got our first order today, and the veggies are fantastic—I thought I’d share the contents of a large box in case you’re interested:

LargeGoodFoodBox

(cat not included!)

Contents:

  • 4 corn (peaches & cream)
  • 1 cucumber
  • 1 pint of blueberries
  • 1 celery
  • 3 lb of potatoes
  • 1 2L basket of peaches
  • 2 zucchini
  • 2 tomatoes
  • 1 bunch of bananas
  • 1 watermelon
  • 1 bunch of broccoli
  • 1 romaine lettuce
  • 1 bunch of spinach

The contents change with each delivery, depending mostly on what is in season. Most of the veggies are local, and they can be organic if you wish. The large regular box (above) costs $17; there are boxes from $12 (small) to $32 (large organic).

If you live in the area and would like a box send me an email! The next order arrives in two weeks.

→ 7 CommentsCategories: Community · Toronto

Watercolor

August 13, 2009 · 3 Comments

Val and I recently celebrated our sixth year in Canada. We felt nostalgic, so we went to walk around our old neighbourhood, the Annex, along with my sister, who was visiting from Mexico. While there we decided to get some drinks at Future Bakery —it was a nice evening but the patio was full, so we went inside. We were chatting about these six years, about our initial difficulties, and about how it feels that we’re now close to finishing another stage in our lives, when I noticed a man looking at us and scribbling in a notebook I couldn’t see. Later on he moved to another seat, and I could see he was doing a drawing of somebody.

When we left I couldn’t resist the urge to ask him whether he had done any of us, and if so could I see. It turns out he had: he’d painted a watercolor of the three of us. He told me his name is Paul, and that he’s usually at the Future Bakery on Saturday nights to practice. Upon my request he sold me our picture (click the image for a larger version):

He gave me permission to copy and photograph it. Unfortunately I can’t make out his last name from his autograph.

Of course he couldn’t have known, but that was an important conversation for us. It’s wonderful to have a memento of that evening.

→ 3 CommentsCategories: Off Topic