Archive for September, 2008

Notes on “Hearing Silence: non-neutral evolution at synonymous sites in mammals”

September 30, 2008

Hearing Silence: non-neutral evolution at synonymous sites in mammals: J. V. Chamary, Joanna L. Parmley and Laurence D. Hurst.

The Gist:

We know that synonymous codons are under heavy selection pressure in bacteria and other organisms with very large populations. In such large populations, even slightly negative mutations are quickly weeded out.

It isn’t clear that this process occurs in mammals. Mammal species have relatively small populations. A small mutation with only slightly negative effects is more likely to survive through generations. 

Codon bias exists in mammals, but non-selection effects explain much of it. One example: DNA repair mechanisms probably favour G and C over A and T when ambiguities are discovered, resulting in long stretches of GC-rich DNA.

There is some evidence that this explanation isn’t sufficient, however. For example, pseudogenes exhibit less codon bias than genes, and rare codons are more common at sites corresponding to protein turns, loops and kinks. 

Some potential selection-based mechanisms for the codon bias in mammals include translational efficiency (matching tRNA levels in order to produce more protein), mRNA stability (producing mRNA with stable structure), and efficient splicing control (making it “easy” to splice out introns).

If it is the case that codon bias is under heavy selection pressure even in mammals, we cannot use it to estimate mutation rates accurately.


Notes on “Optimal encoding rules for synthetic genes: the need for a community effort”

September 30, 2008

Optimal encoding rules for synthetic genes: the need for a community effort: Gang Wu, Laura Dress and Steven J Freeland.

The gist: Many researchers try to make artificial genes. Most human-made mutations to genes lead nowhere, and most of the time, we don’t know why. Many researchers have made software to assist in this research, but there is little cooperation between competing groups. Researchers should cooperate on standards and technologies, making their work available via web services.

The opinion: It isn’t clear that this is a feasible request. If indeed there is room to share code and standards, the authors would do well to ship code instead of talking about how others should cooperate.

Notes on “Synonymous codon substitutions affect ribosome traffic and protein folding during in vitro translation”

September 30, 2008

Synonymous codon substitutions affect ribosome traffic and protein folding during in vitro translation: Anton A. Komar, Thierry Lesnik and Claude Reiss.

The gist: The authors performed an experiment which demonstrated the effect of synonymous codon substitutions. They replaced some codons in e. coli with a “more optimal” synonym. The result was increased protein levels due to higher speed of translation, but lower activity, probably due to protein misfolding.

Notes on “The Codon Adaptation Index”

September 30, 2008

The Codon Adaptation Index – a measure of directional synonymous codon usage bias, and its potential applications: Paul M. Sharp and Wen-Hsiung Li.

The gist: The authors developed a way to assign numbers to synonymous codon usage bias that is superior to existing metrics. This new metric, the CAI, can be used to predict other biological effects that are correlated with synonymous codon usage bias.

The index uses a reference set of highly expressed genes from a species to assess the relative merits of each codon, and a score for a gene is calculated from the frequency of use of all codons in that gene.

The CAI has an advantage in that it is comparable between genes in a species.

Location-Aware De Facto Calendaring

September 28, 2008

CSC 2526 Project Proposal

Aran Donohue

Sunday, September 28, 2008

Location-Aware De Facto Calendaring


On a sunny Monday afternoon, Mark walks west along College Street toward University Avenue. His Apple iPhone 4G buzzes on the lanyard hung around his neck. He looks at the screen. A map is displayed, with an icon at the centre that indicates his location. Another highlighted icon represents an acquaintance who is 120 metres away and walking east toward the same intersection. 

He wouldn’t have remembered her name, but a label next to the icon informs him that her name is Sal. He taps the icon. The phone displays a dashboard about Sal. A photograph of her at the top would take him to her Facebook profile if he had access. A snippet from his Calendar Application shows that he last met Sal before a class two weeks ago for ten minutes, and they had no prior meetings. Tapping it would take him to the minutes of that meeting. A snippet from his To-Do Application shows that he has no outstanding tasks that involve her. Tapping it would bring up a listing of previous tasks that involve her—in this case, none. Finally, another snippet from a Relationship Management Application shows just the text “loves jazz.” He suddenly remembers discussing jazz briefly when they met. Tapping it would bring him to a more extensive person-oriented note-keeping application. 

Mark quickly switches to an Events Application, and searches for “jazz.” It knows his location, so it returns a result for an upcoming show at a nearby jazz bar. He drops the phone back to his chest. The entire process took about fifteen seconds. 

Mark looks up, smiles, and says hi as Sal approaches. She pauses at the corner and they chat for a few minutes. He casually mentions that he heard about an upcoming jazz show, and she indicates her interest in attending. They part ways.

In class, Mark opens his Calendar Application. Under the “De Facto” category, a new event appeared, with a six-minute duration and tagged with the location of the College & University intersection. Its attendees list includes Sal. The “Additional Links” section includes photos taken every sixty seconds during the conversation and an audio recording of the meeting. He hits the “New Event” button. A template comes up. Under the “Attendees” section, Sal’s name shows up as one of the “Suggested Attendees” due to the recent meeting. Under the “External Events” meeting, the upcoming Jazz show appears due the recent search. He chooses both, types a quick message, and invites her to the show. By the time Mark’s class ends, Sal has accepted the invitation.

Story Review

The preceding story suggests several applications:

  • Push-notification location-based social networking
  • Contact dashboard
  • Tagging Calendar events with Contacts
  • Tagging To-dos with Contacts
  • Personal Relationship Manager. Like a Customer Relationship Management tool, but for personal, casual use.
  • Location-aware semantic web search, in this case for events
  • De facto Calendaring: Location- & social network-aware capture & access for Calendar
  • SenseCam-like capture & access for standard mobile devices
  • Intelligent Calendar suggestions


I propose a project to research the utility of a De Facto Calendar.

Needs Met/Problem Solved

We constantly lose records of many short, casual and important meetings. For example, Software Engineering researcher Jorge Aranda has discovered that most discussion about software bugs happens off of online bug trackers. A de facto Calendar would permit easier record-keeping of these discussions.


Users: Wealthy, educated individuals who already use electronic calendars.

Tasks: Recall and publication of notes about meetings.

Situations: Short, uncalendared meetings.

Novelty & Value

Many important information exchanges happen during short, unscheduled meetings. Consider discussions with a professor after a class, informal meetings at work around the coffee-maker, or an impromptu chat while walking to class. Capture of relevant information from these meetings might be valuable.

Notes on “Designing Capture Applications to Support the Education of Children with Autism”

September 28, 2008

Designing Capture Applications to Support the Education of Children with Autism: Gillian Hayes, Julie A. Kientz, Khai N. Truong, David R. White, Gregory D. Abowd & Trevor Pering

The authors visited a school for autistic children and developed three technology applications. The first is a computerization of existing paper-based recording processes. The second is an application that allows therapists to tag videos of sessions with data. The third allows adults near a child to record observations onto a server carried by the child, using any available computer.

The authors discovered the importance of tailoring these applications to the needs of the target users, incorporating privacy and financial considerations.

This paper is hard to read. The authors use long sentences with complex words and unnecessary jargon. I suspect two causes. First, I believe the authors were trying to be politically correct. For example, they use words like “neurotypical” instead of “healthy” or “normal.” Second, I think their fundamental contributions are simple and thus they were trying to expand into an important-sounding paper.

The first section of the paper described their research techniques. “…ethnomethodological studies…”, “…stakeholder interviews at a specialized school…”,  “The data consisted of audio and video recordings and observer notes.” Read: They watched autistic kids, spoke with their teachers and therapists, and took notes.

The second section describes the prototypes they built. Unfortunately, none of the applications are cost-effective. Also, all have significant privacy or financial concerns.

Notes on “SenseCam: A Retrospective Memory Aid”

September 28, 2008

SenseCam: A Retrospective Memory Aid: Steve Hodges, Lyndsay Williams, Emma Berry, Shahram Izadi, James Srinivasan, Alex Butler, Gavin Smyth, Narinder Kapur and Ken Wood.

A SenseCam is a digital camera, usually worn around the neck, that automatically takes photographs. It records important events to aid memory of those events. A study on memory-impaired users showed the SenseCam’s value.

This paper included several insights and information about researcher contributions. The first major contribution was the development of the SenseCam hardware and PC software. It is clear the authors iterated on the design in response to real-world issues. From their testing, they learned about new power and speed requirements. The second major contribution was the extensive testing of the SenseCam as a memory aid for memory-impaired users. They compared it with other memory aids such as note-taking. They determined that it was extremely useful and well-loved.

The researchers plan to test the SenseCam with more types of memory-impairment, such as Alzheimer’s. I would also like to see the opposite approach: Can the SenseCam be made useful and socially acceptable to healthy individuals?

The preliminary study they conducted was excellent as a first study. Further studies should increase the rigour and delve into details to determine what features of the SenseCam are essential. For example, how much is gained by having “intelligent” photo-taking algorithms, as compared with 30-second snapshots?

Usable Web Development is Not as Platform-Independent As You Want

September 28, 2008

The development of usable web applications still requires some platform-specific customization.

Software developers know that they can save work by making web applications instead of desktop applications. People use computers with Linux, Mac OS X, or Windows. The same web application automatically works on all three operating systems, but a desktop application needs special attention.

Some people think that web applications don’t need any customization for different operating systems. They feel that following Web-specific conventions is enough. I disagree. Here is an example of a situation that requires customization.

There is a recent trend in web applications to enable keyboard shortcuts. For example, pressing Control-B in GMail makes text bold and Control-I makes text italic.

Individual operating systems also have keyboard shortcuts. For example, on most Windows applications that edit text, Control-B makes text bold and Control-I makes text italic. 

This is a problem because these keyboard shortcuts aren’t consistent across operating systems. For example, on Mac OS X, pressing Control-B moves the caret back a character, Command-B makes text bold and Command-I makes text italic.

Web applications need to respect these differences to be usable. I use Mac OS X, so I expect Mac OS X keyboard shortcuts to work even in web applications. Usable web applications need platform-specific customization.

(Specific problems: When I use Mac OS X, in GMail, Control-B should move the caret back a character, Command-B should make text bold and Command-I should make text italic. In WordPress, when the Post Title edit box has the focus, Control-A should move the caret to the beginning of the line and Control-E should move it to the end.)

Notes on “Context-Aware Computing Applications”

September 27, 2008

The authors explored a simple framework for classifying context-aware computing applications and placed several applications into the framework. The framework suggests we should classify context-aware applications by whether the application is automatic or manual and whether it gets information or performs a command. The four applications are selecting resources by location (manual-information), contextual reconfiguration (automatic-information), contextual commands (manual-command) and automatic context-triggered actions (automatic-command).

The key insight of the paper is the framework. In my opinion, by placing applications into the framework we move toward understanding the similarities between applications. This could in the future result in the construction of a platform to support context-aware computing by creating common components which can be reused in different systems.

One limitation in the paper is that they don’t present value-judgements about the designs. They should have tested the applications to show what works in the real world. For example, they showed several possible UIs for selecting a nearby printer, but did not tell which worked best in practice.

Notes on “Context-Aware Communication”

September 27, 2008

Context-aware communication is the subfield of context-aware applications dedicated to using context to facilitate human communication. This can include routing messages through different media or even selecting recipients for a message based on context.

The paper had a couple of key insights. One was that the categorization of manual-automatic is not binary, and that in fact we may not even want highly automatic systems since human common sense is likely to be better.  The other key contribution is a summary of a large number of fascinating context-aware communication applications.

I find it difficult to present limitations of this paper. It doesn’t present new science or new work but the summaries are concise and help generate ideas. Furthermore, it is an important reality check for overambitious researchers who believe that an Ubicomp utopia involves automation everywhere.

Notes on “Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications (Sections 1 & 2)”

September 27, 2008

This paper presents a framework for thinking about context-aware applications. The authors point out some flaws in previously presented conceptual frameworks and reiterate a definition of context they had already presented. They then place some previously published applications of context into the framework.

The key insight of the paper is the definition of context:

Any information that can be used to characterize the situation of entities (i.e. whether a person, place or object) that are considered relevant to the interaction between a user and an application, including the user and the application themselves. Context is typically the location, identity, and state of people, groups and computational and physical objects. 

This definition is broad enough to encompass all intuitive notions of context yet narrow enough to help us determine whether or not something ought to be considered a context-aware application.

This (part of the) paper is limited in that it does not introduce new work and it isn’t clear that a definition like the one presented adds any value to the world of ubiquitous computing. The overview of the paper suggests that the authors also provide tools to support rapid prototyping of context-aware applications in other sections. These might be more useful.

Notes on “Towards Applying Complexity Metrics to Measure Programmer Productivity in High-Performance Computing”

September 27, 2008

Key Points:

  • New complexity metric for programming tasks


  • ?


  • Ignore Hick’s Law, Fitt’s Law, KLMs, etc.
  • Wordy
  • Contribution to knowledge?
  • Not sure about complexity/productivity tradeoff

Notes on “In Praise of Tweaking”

September 27, 2008

Key Points

  • Open-source MATLAB coding contest
  • Immediate evaluation of correctness


  • Cool idea


  • Low generalizability
  • Significant contribution to knowledge?

Notes on “Agile Software Testing in a Large-Scale Project”

September 27, 2008

Key Points:

  • There are few substantial publications about real agile implementations
  • Agile really works


  •  Easy to follow
  •  Persuasive


  • Unscientific conclusions, qualitative stories (e.g. p. 31, second column, ending of the second paragraph)
  • Hard to tell what is new from the paper

September 25 Meeting of the Functional Programming Reading Group

September 26, 2008

We went over McCarthy’s Recursive Functions of Symbolic Expressions, discussed the paper and cleared up some confusion.

We’re going to try to meet at 5pm on Thursday October 9th, to allow for the people who have Algorithmic Software Verification at noon.

The paper to be discussed is “Why Functional Programming Matters,” by John Hughes. PDF Link.