language – the evolving ultrasaurus Sarah Allen's reflections on internet software and other topics Fri, 26 Dec 2008 15:31:25 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.1 situated learning through open source /2008/12/situated-learning-through-open-source/ /2008/12/situated-learning-through-open-source/#comments Fri, 26 Dec 2008 15:31:25 +0000 /wordpress/?p=467 Continue reading Continue reading ]]> I just read Situated Learning: Legitimate Peripheral Participation by Jean Lave and Etienne Wenger, which I put on my wish list since I am a total geek about theories of how people learn, particularly with regard to social learning. It’s a challenging read with lots of big words, but it short, fun and well-worth it. The approach to thinking about learning resonated with me. Naturally, I saw applications for human interface design (perhaps a subject for another post), but unexpectedly, I found that I recognized this concept of learning in my own experiences of open source development.

The stereotype of software engineering is that it is a solitary profession. The alpha geek hovers over his keyboard mind-melded to the machine applying his gifts for computation unhindered by his near autistic lack of social skills. While I’ve heard that such lone coders do exist, I more often see programmers interact in the virtual social setting of mailing list, forum or blog where the masters and the newbies interact with mutual respect and shared enthusiasm. It strikes me that open source projects provide a mechanism for what Lave and Wenger call “legitimate peripheral participation” which describes a specific and effective learning style.

Legitimate peripheral participation is a mouthful, but the authors make a good case for that as an effective description. They argue that teaching is not central to learning, but that we learn when we effectively (“legitimately”) participate. As a novice, peripheral participation is a way to participate before gaining complete skills and confidence, and sometimes the recognition of the community which is required for full participation. This learning is the journey from novice to master; however, they argue that “mastery resides not in the master but in the organization of the community of practice of which the master is part.” (p.94)

The book looks at five different systems of apprenticeship, including one that is ineffective, and reflects on successful learning techniques which do not always include teaching or even the intent of the apprentice to learn a specific curriculum:

… apprentices gradually assemble a general idea of what constitutes the practice of the community. This uneven sketch of the enterprise … might include who is involved; what they do; what everyday life is like; how masters talk, walk, work, and generally conduct their lives; how people who are not part of the community of practice interact with it; what other learners are doing; and what learners need to learn to become full practitioners. It includes an increasing understanding of how, when, and about what old-timers collaborate, collude, and collide, and what they enjoy, dislike, respect, and admire. (p. 95)

I have been experiencing this kind of legitimate peripheral participation lately on the RSpec mailing list. The specific content is less significant than the pattern of interaction that I have seen repeatedly in open source projects. In this case, I set out to learn Ruby on Rails, and decided to start using the cucumber behavior-driven development framework, which is an offshoot of RSpec. There on the RSpec list, live both Ruby novices and masters. One such master, Aslak Hellesøy, has created the cucumber framework. As a novice Ruby developer, I can see how he interacts with the other masters and with their work (incorporating other open source projects). Also, through my postings, I interact with other novices and we learn both from each others and from the very experienced members of the community.

It seems like the Lave and Wenger could be talking specifically about open source software projects when they say that “communities of practice are engaged in the generative process of producing their own future.” (p.57-58) Of particular note is the observation that “learning involves the construction of identities.” (p. 53) When we learn something new, particularly a new skill that enables us to act masterfully as a member of a community, part of our identity is defined by that skill. It reminds me of Derek Sivers who said that programming languages are like girlfriends: the new one is better because *you* are better. He observes that when you learn a new language, you learn a new way of thinking and new methodologies that then can be applied to any programming language. The community of practice stretches beyond the Rails community.

The book introduces the radical notion that little or no formal teaching needs to take place for learning to happen. In this kind of community, the typical teaching moment emerges from a specific challenge that a newbie encounters and in the telling of stories.

…researchers insist that there is very little observable teaching; the more basic phenomenon is learning. The practice of the community creates the potential “curriculum” in the broadest sense — that which may be learned by newcomers with legitimate peripheral access. Learning activity appears to have a characteristic pattern. There are strong goals for learning because learners, as peripheral participants, can develop a view of what the whole enterprise is about, and what there is to be learned. Learning itself is an improvised practice: A learning curriculum unfolds in opportunities for engagement in practice. (p.92-93)

When I set out to learn by developing my own tutorial, I was repeating a common practice in an open source programming community. Lave and Wegner describe the notion of a “constructively naive” perspective where “inexperience is an asset to be exploited… in the context of participation, when supported by experienced practitioners who both understand its limitations and value its role” (p. 117) The development of a tutorial is a recognized form of contribution in the open source world. It’s accurately described as peripheral participation because you are generally developing something very basic, which has little or no purpose other than to explore the language or framework; however, that participation is legitimized by comments from more experienced engineers, and, in this case, the author of the framework itself. Discussion on the list provides an opportunity for learning beyond the initial context of the tutorial and inspires story telling from from which novices learn coding patterns and methodologies, rather than merely syntax.

An interesting aspect of open source is that it creates natural communities of practice, enabling practitioners to easily immerse themselves in an effective learning environment. Software is a field which requires almost constant learning of new skills — the specific skills of new language syntax, installing and executing new tools along with new methodologies and programming “patterns.” I may be a novice at developing Ruby on Rails applications or drafting Cucumber “features”; however, I’m an experienced C and Javascript programmer. Spending time in a specific community and assigning myself an introductory project creates an effective apprenticeship, then later as a full participant, I continue to learn about that specific technology and be introduced to new tools and techniques merely by continuing to participate in the community.

]]>
/2008/12/situated-learning-through-open-source/feed/ 4
language changes the way you think /2008/12/language-changes-the-way-you-think/ /2008/12/language-changes-the-way-you-think/#comments Sat, 20 Dec 2008 18:23:16 +0000 /wordpress/?p=463 Continue reading ]]>

“A language that doesn’t affect the way you think about programming is not worth knowing.”  — A. Perlis

Sapir-Whorf hypothesis (aka linguistic relativity hypothesis) asserts lanugage influences how you think, that “different language patterns yield different patterns of thought.” It seems like the Heisenberg uncertainty principal, where measuring a particle also affects it. Dave Astels refers to the Sapir-Whorf theory in his talk on behavior driven development. He describes that Sapir-Whorf “challenges the possibility of perfectly representing the world with language, because it implies that the mechanisms of any language condition the thoughts of its speaker community.” Dave argues that the use of the word “test” in test-driven development (TDD) causes programmers to focus on validating the inner state of their code rather than in verifying the expected result, as in behavior-driven development (BDD). In large part changing the language we use to describe how we validate out code leads us to develop a more effective and resilient form of code validation.

While wikipedia cites some arguments against this theory, it seems intuitive to me. In fact whether learning a spoken language or a programming language I have found that the language I am thinking in does in fact change how I think. For a spoken language, specific words will have different connotations. In a different language, I’ll use different idioms and patterns of words that lead me to express a subtly different meaning, to focus on a specific aspect of what I am seeking to communicate. For programming, the choice of language will influence how I solve a specific problem. It makes sense to pick a specific language for a task in order to influence the flavor of solution that results.

]]>
/2008/12/language-changes-the-way-you-think/feed/ 1
dotsub translates obama video into 19 languages /2008/10/dotsub-translates-obama-video-into-19-languages/ /2008/10/dotsub-translates-obama-video-into-19-languages/#respond Thu, 30 Oct 2008 15:52:35 +0000 /wordpress/?p=432 Continue reading Continue reading ]]> It is inspiring to see an American presidential candidate demonstrate fluency in a foreign language. I don’t know how well Obama can converse in Spanish, but this message comes across as conversational and that he has a grasp of the language rather than just parroting foreign sounds. We have come a long way since JFK said “Ich bin ein Berliner” (which translates to “I am a jelly-filled doughnut,” rather than the identification with the city residents as he intended). Despite the humorous translation, the gesture was appreciated by Germans who heard the speech, as well as those from a later generation who told me the story. In general, Americans have a poor reputation for understanding other cultures and reaching across boundaries.

I think every American child should learn a foreign language in elementary school for the same reason that I believe that all children should learn how to program a computer, solve trigonometric equations, and understand latin and greek word roots. While later skills can be learned well later, language is best learned at a very early age. They may never use these skills in their lives and quite possibly forget them by the time they have children of their own. The reason to learn these things is that your mind grows when you learn, you understand a different perspective, a different way of thinking. Facts that kids learn in school are incidental; they need to be learning how to think.

Learning a foreign language is particularly important because it teaches about people. It allows you to personally reach across barriers and communicate. There’s nothing like the connection you achieve when you speak to someone in their native tongue.

The website dotsub offers the ability for any member to translate captions for any video. This message from Obama where he speaks to the audience in Spanish has been translated into 19 languages.

]]>
/2008/10/dotsub-translates-obama-video-into-19-languages/feed/ 0
tagging brand associations /2008/09/tagging-brand-associations/ /2008/09/tagging-brand-associations/#respond Tue, 02 Sep 2008 20:03:27 +0000 /wordpress/?p=411 Continue reading Continue reading ]]> Jon Udell writes about brandtags.net, an experiment in identifying brand associations. As much as marketing folks work hard to create a brand, at the end of the day, the brand is defined by your associations. This site attempts to capture those from its audience.

Most often a brand is defined by its flagship product. Campbells is soup. Google and Yahoo are search. Adobe is photoshop. However, Microsoft is evil.

The cloud tag visualization is nice, but the top words are way too large when displayed in “orderly view.” They should lose the word scaling if ordering by popularity, I think… or else figure out how to adjust the scale so the biggest font is not quite so big.

]]>
/2008/09/tagging-brand-associations/feed/ 0
words, bullet points, semantic capitalism /2004/09/words-bullet-points-semantic-capitalism/ /2004/09/words-bullet-points-semantic-capitalism/#respond Thu, 02 Sep 2004 15:30:01 +0000 /wordpress/?p=137 Continue reading Continue reading ]]> I recently discovered that the infamous The Gettysburg Powerpoint Presentation was created by Peter Norvig and enjoyed reading the story of its making.

On the other side of the spectrum, Cliff Atkinson explores using this medium effectively. He recently interviewed Dale Cyphert who suggests that perhaps PowerPoint is a symptom of a cultural transition period from traditional Western “oratory” and a new global “media-age.” I would like to believe that we can blend the old and the new in effective ways, but I question whether PowerPoint will get us there. Nevertheless, I haven’t read Cliff’s book and I have been known to use PowerPoint for presentations myself.

Dale Cyphert notes that corporations “have now discovered ‘stakeholder relationships’ and ‘tacit knowledge’ and ‘narratives to communicate a vision’ and are finding that these rhetorical methods are far more effective in creating viable decision-making communities, or as they like to call them, ‘learning organizations.'” I’m not sure what all this words mean, but its interesting to think that our corporate communications have some cultural significance.

Christophe Bruno brings a different form of narrative, poetry, to a new medium with his Google Ad Words Happening. He has discovered that the “word ‘sex’ is worth $3,837, the word ‘art’ $410, ‘net art’ is only $0.05 (prices on the 11 of April 2002). And the most expensive word is ‘free’!” It seems to me that the notion of “semantic capitalism” could also apply to PowerPoint.

]]>
/2004/09/words-bullet-points-semantic-capitalism/feed/ 0
language transformation /2004/06/language-transformation/ /2004/06/language-transformation/#comments Tue, 15 Jun 2004 07:07:46 +0000 /wordpress/?p=124 Continue reading Continue reading ]]> I wonder how you say ‘jet lag’ in Italian. There should be a more beautiful word to describe why I am awake at this hour of glittering sunlight in a quiet city of red tile roofs and wrought iron balconies. I listen to conversations that sound foreign, yet familar, filtered through my understanding of Spanish, rather than any true grasp of Italian. It seems an odd translation. Not one of language, but it feels instead like a shift through a spatial transformation matrix, as if all languages could be visualized as surfaces in some n-dimensional space.

]]>
/2004/06/language-transformation/feed/ 2
John Perry Barlow /2004/01/john-perry-barlow/ /2004/01/john-perry-barlow/#respond Mon, 26 Jan 2004 07:44:02 +0000 /wordpress/?p=90 Continue reading Continue reading ]]> Barlow’s new blog is celebrated in song. In the gutter of his blog, in his “related stuff” playlist, you can hear Haley Suitt introducing this wonderful new addition to the blogosphere.

“John Perry Barlow is a retired Wyoming cattle rancher, a former lyricist for the Grateful Dead, and co-founder of the Electronic Frontier Foundation.” (this and more on his EFF home page)

I enjoyed listening to “Reimagining the Public Domain” from his “Appearances” playlist. He talks about ideas as a lifeform, the importance of language and metaphor, and his opposition to the use of the word “content.” Content requires a container. Thought has no container. Since I’ve personally been involved in the creation of various software containers, I’ve often felt uneasy with the prevailing terminology. Barlow describes the naming of content as “taking that which is immaterial, namely expression and thought, and turning it into a commercial product like a toaster.”

“Information and expression is a verb and not a noun.”

“The internet is not a medium it is an environment”

… the right to know is a corollary of freedom of speech …

“we need to preserve the right to be known, the ability of the idea to circulate.”

If you want to express yourself via MP3 in cyberspace, you can set up your own SoundBlox (free for non-commercial use).

]]>
/2004/01/john-perry-barlow/feed/ 0
Language for Math /2004/01/language-for-math/ /2004/01/language-for-math/#respond Sun, 18 Jan 2004 21:54:50 +0000 /wordpress/?p=89 Continue reading Continue reading ]]> “The language most bilingual people use to mentally solve math problems isn’t necessarily their native language or even the language that is most prevalent in their environment. Psychological research shows it’s the language in which they were first taught math” — Mental Math Dependant On Language, Researchers Find

This interesting article discusses implications for bilingual instruction. Its been a while since I spoke a foreign language. I don’t remember translating simple Math problems into English in my head, but maybe I did. Lately I’ve been playing a kids game that requires me to do a lot of addition and subtraction like 2400 + 2500 – 1450. Since my opponent (who has trouble with such large numbers) often dictates these math problems to me, I have become acutely aware of how I often translate into numeric digits arranged in collumns or scattered patterns in coming up with the answer. I’m not sure I do math in English at all, but rather in diagrams, pictures, digits and symbols.

]]>
/2004/01/language-for-math/feed/ 0
anonymous programming /2003/11/anonymous-programming/ /2003/11/anonymous-programming/#respond Mon, 17 Nov 2003 06:45:23 +0000 /wordpress/?p=77 Continue reading Continue reading ]]> I often think about programming as an exercise in naming. By naming functions and objects we can use them elsewhere. Defining a term gives you the power to create other more interesting verbs and nouns. Eventually we provide an end-user with a complex or simple vocabulary composed of mouse gestures or type-written characters.

I’m used to object-oriented programming in C++ or Java. Both languages are driven by procedural code. Objects are created in a series of statements. Everything has a name, even temporary variables, loop iterators, and transient objects that are created to support other objects. I generally have a hatful of conventions which spares me from having to think too much about unimportant names.

Lately I’ve been working with a declarative object-oriented language (LZX from Laszlo Systems). Objects are created within an XML hierarchy. Many objects that appear on the screen or control other objects are anonymous. I only create names for objects when I need to reference them. It turns out that most objects don’t need names.

Since I have gotten used to this unusual declarative style of programming I have found it refreshingly easy to whip up a graphical user interface. Its not that I ever thought that Javascript or even C++ was that hard, despite some cumbersome or awkward aspects of each language. Sometimes, it can be challenging to create software. I didn’t ascribe that difficulty to the language itself, but rather to the solving of a particular problem.

LZX allows you to mix in Javascript. Where it is more appropriate to solve a problem with procedural code, you can define methods or include a snippet of Javascript to handle an event. Recently I solved a few problems by writing quite a bit of Javascript. I reflected on why it feels so much easier to declare a program with XML tags, depite the seemingly verbose syntax. Part of the ease of declarative XML is that common patterns are encapsulated in tags, but I think there is more to it than that. It seems that there is a certain intellectual overhead in creating even boilerplate names for transient variables. For me this was an unexpected observation.

]]>
/2003/11/anonymous-programming/feed/ 0
parrots and abstract thought /2003/10/parrots-and-abstract-thought/ /2003/10/parrots-and-abstract-thought/#respond Tue, 28 Oct 2003 03:52:45 +0000 /wordpress/?p=74 Continue reading Continue reading ]]> Irene Pepperberg challenges the idea that the capacity for language and abstract thought is unique to primates. “If one starts with a brain of a certain complexity and gives it enough social and ecological support, that brain will develop at least the building blocks of a complex communication system.”

THAT DAMN BIRD: A Talk with Irene Pepperberg provides an entertaining and thought-provoking review of her grey parrot studies and related research. I found particularly interesting a discussion of how playing with toys in physical space relates to the development of language. This has been studied in human children, chimpanzees, and grey parrots.

In the 1970s, [Patricia] Greenfield looked at young children and found that at the time they start serially and hierarchically stacking toys like cups and rings in perfect order, they also start combining their labels in somewhat regular syntactic patterns; that is, they begin to produce phrases like “Want cookie,” or “Want more milk.”

Greenfield argued at the time that these capabilities were unique to humans. Since then similar behavior has been observed in other primates and in grey parrots. It struck me as surprising, yet obvious, that both words and actions are reflective of abstract thought. Play is gestural language.

]]>
/2003/10/parrots-and-abstract-thought/feed/ 0