Friendly-Source

16Apr09

An important property of various “stuff” I have recently been using is “open-sourceness.” Usually open-source refers to code, and indeed that’s one of the “stuff”s I mean.

I have been co-developing the UWaterloo Grad Student Association website which uses WordPress. If you visit their website, as of about a week ago, the banner shows a random picture from a GSA event. I wanted to develop this feature into the website without hassling future web admins — basically everything should be automatic. Some kind programmer named Michael Toppa made a handy open-source WordPress plugin that allows you to create random albums. Although he couldn’t have known that I wanted to stick photos right in the middle of a banner page, it was possible to look at his code and rewrite some bits of it to accomplish this exact purpose. This was possible because the source code was not only “open” (I could see it all) but “friendly” (easy to understand with English comments, having good use of abstraction, sensible procedures and classes, not an overly-feature-rich and complicated source, but also not too simple).

A similar phenomenon exists for mathematical proofs, where I think not only “openness” but also “friendliness” is important. When you publish a new mathematical theorem you generally include a full proof, so that any future readers can verify your correctness. In a sense, the theorem is required to be open for you to get credit for it. However, I think it’s also of huge practical importance that math papers should be “friendly.” For example, it should contain enough explanatory comments for people to quickly see what techniques you are using; and as the Kaplans say in their book, it should separate the strategic steps from the tactical steps. I mean to say that it is wonderful to read a math paper, and shortly thereafter fully understand “why” the paper works, and how you could use the same tools in different settings. Occasionally in my research I find papers not written in a “friendly” way, which are annoying because they take much longer to digest. There is a recent blog by a professor that gets into not only math but also the history and motivation of many neat results – I would say it is a good example of what I mean by “friendly.”

I would stretch this analogy from source code and proofs to even recipes: an “open-source” recipe is one that’s publicly available and includes enough steps that if you follow them all exactly, you’ll get a good result. But a “friendly-source” recipe would also tell you about the soul of the meal, what makes it tick, and because of this, it would also be easy to know what sort of substitutions/adaptations would work. “Chef At Home” on the Food Network gives me this sort of vibe: the chef doesn’t give a long list of measurements and procedures, but just the essential “heart” of the recipe.



No Responses Yet to “Friendly-Source”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: