The Yonderist

All those who wander are not lost.

Updating Gems

I wasn’t sure if I had ever updated Rails on my MBP, and so, as I begin developing my first real project, I thought it was time. A regular gem update didn’t work. I had to use sudo:

sudo gem update rails --include-dependencies 

The same applied for gem cleanup, which deleted the following items — after asking me for confirmation:

Successfully uninstalled rails-1.2.6  
Successfully uninstalled rake-0.7.3  
Successfully uninstalled actionwebservice-1.2.3 
Successfully uninstalled activerecord-1.15.3  
Successfully uninstalled actionmailer-1.3.3  
Successfully uninstalled actionpack-1.13.3  
Successfully uninstalled activesupport-1.4.2 

I now have to do the same on the iMac.

Problem Space

In problem solving, the problem space is the set of all possible operations that can be performed in an attempt to reach a solution. The idea is credited, at least in one place, to A. Newell, who defined the problem space principle as “The rational activity in which people engage to solve a problem can be described in terms of (1) a set of states of knowledge, (2) operators for changing one state into another, (3) constraints on applying operators and (4) control knowledge for deciding which operator to apply next.”

Ontology

From Tom Gruber’s web page:

Short answer: an ontology is a specification of a conceptualization.

The word “ontology” seems to generate a lot of controversy in discussions about AI. It has a long history in philosophy, in which it refers to the subject of existence. It is also often confused with epistemology, which is about knowledge and knowing.

In the context of knowledge sharing, I use the term ontology to mean a specification of a conceptualization. That is, an ontology is a description (like a formal specification of a program) of the concepts and relationships that can exist for an agent or a community of agents. This definition is consistent with the usage of ontology as set-of-concept-definitions, but more general. And it is certainly a different sense of the word than its use in philosophy.

What is important is what an ontology is for. My colleagues and I have been designing ontologies for the purpose of enabling knowledge sharing and reuse. In that context, an ontology is a specification used for making ontological commitments. The formal definition of ontological commitment is given below. For pragmetic reasons, we choose to write an ontology as a set of definitions of formal vocabulary. Although this isn’t the only way to specify a conceptualization, it has some nice properties for knowledge sharing among AI software (e.g., semantics independent of reader and context). Practically, an ontological commitment is an agreement to use a vocabulary (i.e., ask queries and make assertions) in a way that is consistent (but not complete) with respect to the theory specified by an ontology. We build agents that commit to ontologies. We design ontologies so we can share knowledge with and among these agents.

This definition is given in the article: > T. R. Gruber. A translation approach to portable ontologies. Knowledge Acquisition 5(2):199-220, 1993. Available [on line][http://tomgruber.org/writing/ontolingua-kaj-1993.htm]. A more detailed description is given in T. R. Gruber. 1995. Toward principles for the design of ontologies used for knowledge sharing. Presented at the Padua workshop on Formal Ontology, March 1993, later published in International Journal of Human-Computer Studies 43(4-5): 907-928. Available [online][http://tomgruber.org/writing/onto-design.htm].

Ontologies as a specification mechanism

A body of formally represented knowledge is based on a conceptualization: the objects, concepts, and other entities that are assumed to exist in some area of interest and the relationships that hold among them (Genesereth & Nilsson, 1987) . A conceptualization is an abstract, simplified view of the world that we wish to represent for some purpose. Every knowledge base, knowledge-based system, or knowledge-level agent is committed to some conceptualization, explicitly or implicitly. An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where an Ontology is a systematic account of Existence. For AI systems, what “exists” is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. Formally, an ontology is the statement of a logical theory.1 We use common ontologies to describe ontological commitments for a set of agents so that they can communicate about a domain of discourse without necessarily operating on a globally shared theory. We say that an agent commits to an ontology if its observable actions are consistent with the definitions in the ontology. The idea of ontological commitments is based on the Knowledge-Level perspective (Newell, 1982) . The Knowledge Level is a level of description of the knowledge of an agent that is independent of the symbol-level representation used internally by the agent. Knowledge is attributed to agents by observing their actions; an agent “knows” something if it acts as if it had the information and is acting rationally to achieve its goals. The “actions” of agents—including knowledge base servers and knowledge-based systems— can be seen through a tell and ask functional interface (Levesque, 1984) , where a client interacts with an agent by making logical assertions (tell), and posing queries (ask). Pragmatically, a common ontology defines the vocabulary with which queries and assertions are exchanged among agents. Ontological commitments are agreements to use the shared vocabulary in a coherent and consistent manner. The agents sharing a vocabulary need not share a knowledge base; each knows things the other does not, and an agent that commits to an ontology is not required to answer all queries that can be formulated in the shared vocabulary. In short, a commitment to a common ontology is a guarantee of consistency, but not completeness, with respect to queries and assertions using the vocabulary defined in the ontology.


  1. Ontologies are often equated with taxonomic hierarchies of classes, but class definitions, and the subsumption relation, but ontologies need not be limited to these forms. Ontologies are also not limited to conservative definitions, that is, definitions in the traditional logic sense that only introduce terminology and do not add any knowledge about the world (Enderton, 1972) . To specify a conceptualization one needs to state axioms that do constrain the possible interpretations for the defined terms. 

My Scholarly Practices

This Project Bamboo workshop is certainly emphasizing the first word in “workshop”: we have several homework assignments to complete before we get to Chicago. The first is, obviously, to read through the proposal. The second is to read some items out of the working bibliography. The third is to “identify [our] scholarly practices.”

The proposal is an interesting document. It weighs in at 39 pages, from the front page listing quite a collection of individuals to the final page which lists a budget of $2,431,000. The meat of the document is really in the third section, focused on the “perspectives of the five communities.” Those communities are:

  1. Arts and Humanities Scholars
  2. Computer Science
  3. Information Science
  4. Library and Scholarly Communications
  5. Central Information Technology Organizations

That particular listing is interesting in itself, no? The first thing I noticed was that the parallelism is off: only the arts and humanities are embodied. The next two are disciplines. The fourth is a process. And the fifth? Well, it’s an abstraction of an abstraction. If you dig into the sections themselves, the one focusing on humanities scholars is the longest and most … the word I want to use is “splintered” or “fractured.” There are just so many impulses and directions. It feels like someone tried to tame either a wide-ranging discussion or an argument into something with a bit more cohesion. Bakhtin would have called this “multivocal.” The remaining four sections are much more cohesive and concise. (Compare this first section with the one on “Information Science.”)

My initial conclusion is that humanities scholars were (1) the hardest to get focused and/or (2) perhaps the farthest from the authors’ own perspective. The latter case seems like a fair way to account for the diversity of that section: perhaps they simply didn’t feel comfortable synthesizing what they were getting. (But I won’t leave out the fact that humanities scholars can be a fractious bunch who are difficult to keep on task. Heck, I can be just as bad — if not worse — as anyone else when it comes to behaving badly. [Dreadful having to admit that.]) Reading the proposal closely is perhaps better left for another time.

More importantly is my other bit of homework: defining a scholarly practice. This was a really interesting activity and one I think I will take into the classroom with me. That is probably because I have already begun making it a part of my own life and making it, in some way, part of my pedagogy. My interest in breaking practices into tasks is based on my having climbed upon the Geek Express where they serve mighty helpings of [GTD][gtd].

GTD, for those who have not already been so inundated by references to it that your eyes have already rolled into the back of your head, is short for “Getting Things Done.” It is a time/life management system developed by David Allen and packaged into a reasonably easily digested book titled, surprise, [Getting Things Done: The Art of Stress-Free Productivity][gtdb]. In the book, Allen argues for what he calls the “natural planning” process where we all break complex tasks down into more manageable chunks. So, to use a version of one of his favorite examples, if you want to go out to dinner, then you have to: decide on a restaurant call to make reservations get ready to go drive there etc.* … Porject Bamboo is asking workshop participants to do much the same thing, but instead of looking at a particular project, they are asking us to imagine a particular practice that is, itself, part of a compound practice. (More on this later.)

Here is there definition of practices versus tasks:

A scholarly practice can be defined as a set of tasks that accomplishes a scholarly goal or objective. A practice is typically a collection of tasks AND, most significantly, has a scholarly purpose that can be broadly understood by other scholars.

For our purpose, a task can be defined as a unit of work often completed in a set period of time. It typically does not have a scholarly purpose in and of itself. Their examples are: Booking travel is a task / Attending a conference is a practice Finding a book is a task / Locating source materials is a practice I like to play with the edges of things and some part of me must have picked up on the repetition of book in their examples, and so I decided that the practice I would break down would be fieldwork, and that, for the sake of the assignment, it consisted of the following tasks:

  • checking equipment and supplies (charging equipment, clearing cards)
  • calling individuals to set up interviews
  • traveling to site
  • interviewing individuals / documenting an event
  • making notes
  • making drawings
  • taking photographs
  • returning from site
  • logging miles, notes, images
  • uploading images
  • making summaries of day

There’s more to say about so much of this — like how “artists” keep dropping out of the proposal, which really wants to focus on the humanities (and that might be a good thing because the humanities themselves are already so diverse).

Notes for Project Bamboo Workshop 1

Clai and I sat down to talk a bit more about what we are already thinking about as a way to start clearing ground for building something new in dialogue with Project Bamboo:

Modularity and the Mature Platform. One of the things we worry about is the problem that mature platforms which is sometimes known as “software bloat” or “feature creep.” That is, the humanities, let alone the arts and humanities, represent, as some of the sources in the bibliography make clear, a very diverse audience. That diversity is not only in terms of needs/wants but also in terms of interests and abilities. Given such diversity, how does one develop a program or platform which affords the majority of users what they consider to be essential functionality and not, in the process, have it so full/cluttered that it is unusable?

Granularity is multi-dimensional. Another thing we discussed was the fact that the fine-grained analysis that the digital era promises also means different things to different people. To highlight one dimension of what we mean by the multi-dimensionality of granularity, we would point only to the current discussions about meta-data. For some users, meta-data are the tags, or descriptors, associated with an item. E.g., the Dublin Core’s suggestive list of tags/meta-data. On the one hand, this notion of meta-data is foundational. On another, this implementation does not go far enough: they would like to be able to tag content within digital artifacts — texts, images, audio, video. For a linguist interested in pronoun usage from a previous era, being able to distinguish between “the” as an article and alternate spellings of “thee” as “the” as a pronoun is crucial. Perhaps another way to say this is that one person’s beach is another person’s coastline. We think it is ineluctable that data will get described in more sophisticated, “fine-grained” if you like, ways as we move forward and that the important thing is establish a base-line from which everyone starts and upon which everyone can depend.

Achieving platform sophistication means going both ways. One way around, perhaps only current, potential limitations of being able to carry content with tags both attached to it and attached to parts within it would be to make users more capable. In the example above, the number of “thes” that would amount to false positives could be significantly reduced by better searching, e.g., use of regular expressions. Regular expressions, while somewhat different across various scripting and programming languages, are fairly consistent and not that difficult to use. They are not, however, part of any humanities computing course of which we are aware.

Some Ideas I’m Taking with Me to Chicago

I’m not quite sure what I am going to encounter in Chicago, but if I were to dream up a digital infrastructure right now I think I would build my dreams on the following:

  • A more fully realized version of the Louisiana Survey not only in terms of its current contents and scope but expanding that scope to a national level. What the Louisiana Survey does, in its current form, is harness the wiki methodology to allow individuals to contribute to the project’s attempt to document Louisiana’s contemporary folk cultures. I think the kind of indexing and cross-indexing that we’re doing is a somewhat unusual harnessing of the wiki engine/methodology. See: http://code.google.com/p/louisianasurvey.

  • A step toward realizing the full potential of the Archives of Cajun and Creole Folklore in terms of delivering its contents — text, audio, images, and video — on-line and at the same time, like the Louisiana Survey, making it possible to contribute to the Archives.

I see both these projects as a chance to engage an audience which would otherwise not have access to or interest in an university campus and which would, I hope, widen our own disciplinary conventions, perspectives, and assumptions. A very distinct use of interdisciplinary work that would also call upon a fair amount of computing power would be:

  • An architectural survey that, a la the Historic American building Survey (HABS), would document extant structures but would expand the range of the “historical” to be all of history. Currently, HABS’ notion of “historical” means “homes of the wealthy,” which means the HABS survey of the south focuses on the plantation landscape. That has changed in the last decade or so, but there is still so much we don’t know about most architectural forms. Louisiana has some particularly interesting forms because of the shotgun house. The shotgun’s transformation into the Louisiana bungalow has been given some attention, but nothing has been done on the Louisiana ranch that followed — it’s something I have only sketched out in my own notes — and the forms that followed in the rest of the twentieth century. What I would like to do, one day, is harness the power of architectural students to take accurate measurements and then make accurate 3D CAD renderings with the documentary capabilities of humanities students to not only produce amazing 3D virtual models — potentially walkable a la LITE — but models that are not empty structures but filled with objects and individuals and their descriptions and narratives.

My Bio for Humanities Computing

In order to join the Humanities Computing mailing list, you have to apply. One part of the application requires that you compose a short biography about yourself with your interest in humanities computing as the focus. Here’s what I wrote:

I am a folklorist whose primary field of interest is human ingenuity. While I have published on linguistic/literary topics, my primary interest is in material culture. My interest in computing has two dimensions: I am interested in technology itself as a manifestation of techné and because it helps me solve problems, both through its application as well as in grappling with it as a craft in and of itself. (I should also admit that I am the son of a mother and father who were themselves gadget freaks and firmly believed that technology, as the manifestation of progress itself, was capable of solving almost any problem. I inherited, I confess, some of their optimism.)

I am currently at work on a book about boats that go on land and water here in south Louisiana. These are clearly technological creations, and computing offers me two things: (1) a better way to describe the archeological record I am creating — through the use of CAD and 3D modeling software — and (2) it gives me some opportunity to make machines of my own — I am currently teaching myself how to script in Ruby and I run my personal website on Rails. I had no formal education in computer science or in programming, and so this is a logic that is fairly foreign to me. Frankly, it makes my head hurt on a regular basis. But in making my head hurt, I am — I hope — training myself to think in new ways, to see new things in what I already know, and learning to communicate complex relationships in another language, in much the same way that I am trying to convert the complex relationships contained within these metal machines into words.

I have for some time been thinking about computers and networks as the new platform not only for study but also for communication, and I have done a fair amount of experimentation in that direction. (There will be more on my website, http://johnlaudun.org/, shortly, but I am slowly rebuilding it and that rebuilding will be delayed by the Project Bamboo meeting later this week.)

I have experimented with using computing as a platform for teaching. Please see the current version of the Louisiana Survey of Folk Culture at http://code.google.com/p/louisianasurvey for the first survey. My idea there — I’m not claiming it was that grand or that well done — was that having students who were taking their first, and typically their only, folklore class write long, synthetic essays was an exercise frustration for both them and me. Better to involve them in some larger project where their steps were straightforward but the edifice within which they worked provided a path toward synthesis. Out of that, we began a wiki that allowed students to index discrete items — like jokes, anecdotes, dites — by genre, teller, location, use, etc. … goodness, this got long. Sorry.

Audiobooks in iTunes

Well, first you’ll need to convert the mp3s to AAC (M4A) – yes I know transcoding between lossy formats is bad but I recently converted from MP3 to M4A for just this purpose (using the Spoken Podcast option in iTunes > Preferences > Advanced > Importing) and was impressed with the quality. Once you’ve put it onto that setting I just mentioned, select and then Control-Click the mp3s in your iTunes library and then Convert to AAC.

Once that’s finished (it may take some time) you need to do a few more things to make iTunes recognise the files as audio book content. First, select the newly-converted AAC (M4A) files and Get Info. Under Options, select ‘Remember playback position’ and ‘Skip when Shuffling’. Then use the Reveal in Finder command after ok’ing the Get Info dialog and – here’s the crappy part – manually rename all the extensions of the .m4a files to .m4b. No, there’s no quick way to do it, each one, manually. Makes you sick doesn’t it. Once that’s done, delete the old AAC (M4A) converts from your iTunes library and then add the .m4b files you just renamed to the library and voila.

Apple sure make things easy. Of course you could just use the ‘Skip when shuffling’ option but then it wouldn’t be in the Audiobooks menu, and if you’re like me you want Audiobooks to be in the goddamn Audiobooks menu!

Convert HTML to text

I forgot from where I copied this script:

#!/bin/bash
# Usage: convert-html-to-md <path-to-html2text.py> <file>[...]
# Convert the specified HTML files into Markdown text-format equivalents
# in the current working directory. The file extension will be .md.txt.
# Requires the html2text.py Python script by Aaron Swartz to convert
# from HTML to Markdown text [www.aaronsw.com/2002/html2text/].
# html2text="${1}"shift

[while [ -n “${1}” ] ; do

Use the contents of the title element for the filename. In case

 # the title element spans multiple lines, the entire file is first
 # converted to a single line before the sed pattern is applied. Any
 # "unsafe" characters are then replaced with hyphens to produce a
 # valid filename.
 title=$(cat "${1}" | \
        tr -d '\n\r' | \
        sed -nre 's/^.*
(.*?).*$/\1\n/ip’ | \ tr “\`~\!@#$%^&*()+={}|[]\\:;\”\’?,/ \t” ‘[-*]’) # If there’s no title, then just use the original filename. if [ -z “${title}” ] ; then title=$(basename “${1}” .html) fi # Convert the HTML to Markdown. cat “${1}” | python “${html2text}” > “${title}.md.txt” shift done]

Of Heraclitus and Wet Pants

My daughter can do many things, a number of them are pretty amazing for a three year old, but one thing that she is seemingly indifferent to being able to do is to break away from playing in order to use the bathroom. We have reached something of an impasse. She appears to have mastered the art of staying dry at school, where the social stigma — which children only reinforce for each other — appears to have some sway. At home, however, it’s another story. It’s not consistent behavior, and it’s not every weekend that it happens.

This past weekend, however, it happened several times. It was a particularly brilliant weekend here in south Louisiana. A cool front swept in at the end of last week and gave us two amazing days of perfect weather: warm in the sun, cool in the shade, with a light breeze that could leave you with goosebumps. Lily and I pretty much spent almost all of Sunday outside. I mowed the yard while she picked flowers in the front yard and then played in her playhouse-castle in the backyard. Then I fired up the grill and cooked hamburgers and some of those amazing Comeaux’s chicken and green onion fresh sausages. After eating lunch inside and having some quiet time, we were all back out in the yard. Yung-Hsing and I read on the patio while Lily played with her water table. And then, later, we all spend some time dashing through a sprinkler.

During the course of the day, Lily ended up with wet pants twice. She just can’t break away from playing. I had lunch with our friend with Leslie Schilling yesterday, who feels a strong connection to Lily, and she offered a really nice insight into the difficulty of breaking away from play. Or, as she termed it, breaking up play. She quoted Heraclitus:

“You could not step twice into the same river; for other waters are ever flowing on to you.” (Fragment 41, for those who care.)

The problem, she said, is that when you are deep in play, deep into really good play, you are deeply immersed into a magical world, in magic itself. To imagine leaving it is to imagine breaking the spell, and who really wants to do that?

For those familiar with Mihaly Csikszentmihalyi’s work will recognize that this is, in some small way, a reasonably good description of flow. In Csi­kszentmihalyi’s work, flow is something to be admired, studied, and, perhaps most of all, cultivated. It might be a reasonable stretch of the imagination to suggest that perhaps some have a chemical propensity to it, if you follow some of the recent studies of ADD, in which some researchers and writers suggest that deficit attentions have a flip side in hyper attention or, sometimes, simply socially inappropriate and/or inconvenient attention. That is, sometimes individuals, especially children and adolescents within educational institution contexts, are considered ADD because they are not attending to what they are supposed to be attending. (In my day — and I am not that old except to be older than the current era of ADD — some of those individuals wouldn’t simply have been chided for being “day dreamers.”

Of course the flip side is that some kids were simply considered to be “handfuls” or “misfits” which is why I largely view the ADD era in a positive light. I was one of those kids who, in primary school, flirted with the boundary between “dreamer” and “handful.”) So here we are, blessed with a child who possesses a full capacity for flow. Left to her own devices, the girl sings, dances, voices miniature social scenes, and otherwise peoples her world or sets it into motion like Copernicus’ model of the heliocentric solar system. We fuss over wet pants. I feel, now, like one of the robbers of creativity that Ken Robinson laments in his TED talk about what we do to children. Our mission is to find a way to keep both the river flowing and the pants not.

Page 19 of 25

© John Laudun