Monday, May 28, 2012

Stories Worth Pondering on a Sunny Memorial Day

Today was a holiday here in the US. A friend in New York City and I commiserated over email about the fact that we were both inside plugging away - he in New York City and I here in San Diego. In both places the weather was about as perfect as one could ask. Well, my Boogie Board will come out another day and his...I'm not sure what the NYC equivalent of a Boogie Board is.

In today's virtual travels, which included a meeting with someone in Canada (he also was stuck indoors because it isn't a holiday in Canada), there was opportunity for roaming. In case you too were inside today (or even if not) I share some fun and thought provoking stories I stumbled upon.

First of all, in case you haven't heard enough about Facebook, the hot off the press rumor is that they are developing a smart phone. What a coincidence - just recently I pondered about the relationship between people's politics and their phones. What ilk of voter do you think would flock to a Facebook phone?

Next, in case you thought you had a breather from hearing about Apple Computer, somewhat less hot news, but noteworthy for its implications nonetheless, is that the company is going political. Steve Jobs might be rolling over in his grave, but Tim Cook headed for Congress recently. One can only wonder what Cook and John Boehner spoke about. Does Beohner use an iPhone? I haven't written much about politics in this blog, but that may change if things stay this interesting.

Apropos of today's indoor activities, I must ask: do you have "mouse finger"? That annoying pain in the middle joint of the right index finger experienced by heavy computer users (like moi). It comes from hitting the left mouse button all day long. Here is a nifty video about a new motion controlled technology that may eventually give us all happy fingers.

Now this financial technology idea has huge potential for someone with the right combination of skills. Harness supercomputers to monitor the stock market and trades in real time, in such as way as to provide opportunities to prevent financial crash and burn. With which we are all too familiar. What a great idea. I hope someone gets right on this.

Finally, a Memorial Day story. A cool technology (that is a pun, trust me) that will be very good for helping military personnel. I am at odds with myself to decide if civilian populations ought to be allowed to get their hands on this - or rather in this. These. In These. Special texting gloves. Unless you are a firefighter (do firefighters text?)

I hope you all had a great day, whether you were indoors or outdoors.

Wednesday, May 23, 2012

Source Code Commenting is Writing

An Example of Poor Commenting Practice
As part of a research project I am involved with* I have been pondering the problem of computing students not liking to include comments within their source code. This is an old problem, well known within the computing education community. I suspect that over the years there has been much head banging on the part of faculty who despair of getting their students to take source code comments seriously, and much head banging on the part of students who just don't see the point. At times the problem appears intractable.

Why do so many people dislike writing? Because we are talking about writing and it isn't just source code comments. Many people (not only students!) will go out of their way to avoid natural language** writing, or will throw something together and spend minimal time making it comprehensible to others. If writing was taken more seriously, then perhaps articles, white papers, grant applications, reports, presentations wouldn't be procrastinated to the last moment such that "there wasn't time" to create kick-butt effective prose. If you have ever served as an NSF panel reviewer or for that matter a peer reviewer for ... well, anything... we feel each others pain.

**Natural language refers to languages such as English, French, Arabic, etc.

The idea that writing code and writing natural language have parallels is not new, but there has not been significant pedagogical research delving into the comparisons. There is much literature on teaching writing which is read by those who teach in departments such as English or Literature. There is a somewhat sparse literature in the computing education community about parallels between developing source code and natural language prose.  

Good source code comments take thought and consideration just as good articles and reports do.

As far as I know there is no literature evaluating the similarities and differences between code commenting and natural language writing*** There are many possible reasons, such as the possibility that there aren't that many people who are pedagogical experts in both coding and natural language writing.

***If you know of any literature on the topic, if you have written any, please let us all know! 

Meanwhile, let's toss out some thoughts to grease the cognitive wheels, shall we?

Natural language involves using words from a spoken language. Source code comments involve use of words from a spoken language. What are the similarities between a well constructed natural language sentence and a well constructed source code comment?

Natural language writing involves developing a logical narrative (in most cases). Source code comments  clarify a logical narrative derived from the source code. What procedural lessons can be gleaned from the extensive literature on structuring logical essays and applied to source code comment development?

Students who like to write code often go out of their way to shortcut or altogether avoid writing comments. Students who like to write code often go out of their way to shortcut or altogether avoid writing papers, essays, etc. Students who have never seen a line of code often go out of their way to shortcut or altogether avoid writing papers, essays, etc. Motivation motivation - what leads to someone developing a healthy respect for a well written article and how can we apply the same psychological principles to source code commenting?

While I was teaching a computer science course at UT Austin I took advantage of a grant funded initiative, provided by the university writing center, to spread pedagogical best practices in integrating writing across the curriculum.  I learned there is an enormous body of literature detailing effective strategies for teaching and learning writing. Equally important, it became clear to me that Coding is a lot like, Coding is Writing.

Now I would add: Source Code Commenting is Writing.

After you get over the blindingly simple obviousness of that statement, think about the potential implications for the challenging task of encouraging programming language learners to produce more and higher quality source code comments.

I'm wondering how often pedagogical writing professionals hang out with pedagogical computing professionals. If they do, do they talk shop? What about comparing notes on pedagogical writing strategy? They ("They" being the non-computing members of the conversation) have many decades (centuries!) of experience to draw upon and share. I suspect there is an opportunity as well for knowledge transfer from computing to natural language writing. We share many of the same challenges (improving: motivation, quality, quantity, process, evaluation techniques, perceived value).

It might take some time to become comfortable with the different cultures and to develop common communication. That's nothing new for interdisciplinary computing buffs. Let's start the conversation.

*Comments in this post are my own creations and do not represent the official views of the COMTOR project or its team members!

Friday, May 18, 2012

Internet Polling Coming to a District Near You

In my radio interview Monday, the moderator Flora Brown and I had an enthusiastic conversation about the controversies that surround Internet voting. One of the chapters in my book is about Internet voting, and I spoke with Flora about the unexpected controversies I encountered while conducting my research. Who would have known there were such passions surrounding the future of Internet voting?  Indeed, deep seated philosophical differences exist about using the Internet to vote. Highly accomplished computing professionals fall on both sides of the issue - should we, shouldn't we, can we, can't we employ the Internet as another method to cast ballots?

A few hours after the interview ended I learned about an interesting experiment underway in some parts of the country. Independent voters in certain districts (with tight races perhaps?) have the opportunity to take part in an "Online Voter Preference Survey", organized by a group called the Independent Voter Network, (IVN) and  implemented by a group called "Everyone Counts".

Not actually casting a ballot online, this survey is however asking voters to indicate how they intend to vote in the upcoming June primary (for California). It feels like voting and the ballot is said to be secret, even from the IVN.

What is the purpose? Interesting, actually. I looked at the paperwork sent to selected voters (apparently the list is drawn from people registered as Independents) and there aren't a lot of details. However, they provide the URL for their website (see above) which is full of information.

The voter preference survey is a form of modernized polling. By asking people how they intend to vote, and then shipping the aggregate results off to candidates, those candidates will presumably get a feeling for how Independents are leaning. In time what?

Several interesting issues here. As essentially an online voting opportunity (albeit non binding) there are all the issues of security and privacy that cause Internet voting proponents and detractors to debate. In addition, there is a fascinating issue here about how a centuries old process of testing the winds of voter minds is changing.

Will Internet based vote polling be any more or less accurate than data gathered through phone call surveys and other traditional (labor intensive) mechanisms?

Will politicians react any differently to receiving this data? In a positive way? In a negative way? The same as always?

Perhaps someday there will be fewer robo-calls during dinner? One can only hope.

Monday, May 14, 2012

Radio Interview about Computing For Good

Of all places not to have mentioned this - I am going to be interviewed this morning (11am Pacific Time) on Internet radio (link below) about my book, and socially beneficial computing in general.

If you miss it live, the broadcast will be posted online.

Here you go:

"What Happens When Computing Puts Humans First?"

No photo for this post, in recognition of the audio nature of radio.

Happy Monday.

**Updated "later that day":

Interview is now available online.

Thursday, May 10, 2012

Do You Resemble Your Phone?

(Apologies in advance to those of you outside the US who have no idea what is going on here. 
And to those of you inside the US who have no idea what is going on here.
And to my late, politically savvy father, whose photo I'm taking liberties with. 
I miss you Dad)

Is there a relationship between your choice of cell phone and your voting demographic? I found myself in a spirited discussion last night about analogies between cell phones and the voting public. It all started when I asked a group of User Experience folks I was hanging out with what their latest thoughts were on Android vs. iPhone.

Phil Ohme, who says he likes to be edgy (what is your blog URL Phil?), started it all with a provocative quip. I wish I could remember his exact words, but what I do remember is that within a few moments a group of people were chiming in:

"Voters are like Mobile Phones"
"Mobile Phones are like Voters"
"The choice of phone is closely aligned with your political demographic"
"iPhones are for intelligent people"
"iPhones are for lemmings"
"Androids are for the masses"
"Androids are for middle America"
"Androids are for people who like to hack on their phones"
"iPhones are like the political elite" 
"Both iPhone owners and Android owners vote" 
"iPhones are for people who like to make phone calls " (you figure that one out)

Does this conversation begin to sound like those stories about people who resemble their pets or what?

And lest we forget the rest:

"Windows Phone is like the Whig Party" (remember our Founding Fathers?)

"Windows Phone is like the Bull Moose Party" (remember Teddy Roosevelt?)

"Blackberry is for Zombies" (the living dead)

Someone interjected: "Now that Blackberry has gotten rid of its keyboard, the Zombies will fall over"

"Palm is for Libertarians" 

"Symbion  is the Green Party"

"If you use a Feature Phone (i.e. you don't use a Smart Phone at all) you must be a Libertarian"

Finally, one of Phil's good friends closed the conversation (phew) by suggesting that Phil could be trusted as far as one could throw him. But then, like a true friend, he added that he is sure he could throw Phil pretty far.