D'Arcy Norman dot net

I was a hardcore Star Trek geek as a kid. Who wasn’t, really? Captain Kirk going all maverick on the galaxy, finding cool new planets, and nailing hot alien babes. Space is cool! I think I watched every episode at least a couple dozen times - yay syndicated reruns - but for some reason it’s the first motion picture version of the franchise (released in 1979) that really affected me.

V’Ger.

Holy crap. The Voyager space probe, damaged and worn. And pissed off, looking for its creator.

So, we fire off some probes into space. We don’t have the technology to really track them, or communicate with them. 300 years later, one is found by a mechanical civilization, and taken in as an injured entity. Repaired, as well as it could be, then sent home. Hindsight makes it pretty clear that this is at least the precursor to the Borg storylines - mechanical civilizations, attempts to communicate with them, etc…

It brought up all kinds of issues that have nothing to do with science fiction - do we have a responsibility to the things we create? What does it mean to be “the creator”? What does this mean with respect to religion, theology and belief in general?

The effects in the movie are completely laughable - the psychedelic optical effects are stunningly lame compared to the film resolution digital effects of today - but the premise of the movie struck me as profound. Our actions have consequences - they may be far in the future, far away, in ways unimaginable to us now, but our actions have consequences.


Of course, the movie franchise has been mind-blowingly inconsistent. Basically, the even-numbered movies were pretty good (KHANNNNNNN!!!!! KHAAAAAAANNNNNNN!!!!!!!), the odd-numbered movies pretty much sucked, but they all feel like bubblegum pop filler. V’Ger was a game changer though.

After thinking about Quest for Fire, I realize that another of the most formative movies for me was 1984’s The Iceman. The body of a prehistoric man was found frozen in ice, but still alive. He’s placed in a zoo-like containment room at an arctic research facility (filmed in Churchill Manitoba, no less) where he can be studied. Another fascinating movie, not because of special effects or high budget, but because of story. Any movie involving a prehistoric man singing along to Neil Young has to be OK…

The movie was about alienation. About belonging. About finding out who you are, and where you need to be. It was about human nature. It was about fear. And mythology. It was about standing up for what you believe in. And also a little about anthropology.

I remember watching and rewatching this movie several times, mesmerized by the details. And knowing that a high budget version of the movie would have lost almost everything that made this movie great.


Inspired by Jim’s description of one of his 10 formative movies, I realized that one of the movies that’s had the most impact on me is Quest for Fire. The 1981 Canadian anthropological movie about 4 separate tribes of homo erectus, neanderthal and homo sapiens, and their interactions.

I remember being absolutely fascinated by the movie, watching it dozens of times (it was one of the early movies offered on our fancy new SuperChannel Cable Movie Channel when I was a kid). I haven’t thought explicitly about the movie in years, but have realized that it’s really affected me by helping to viscerally see and empathize with the various cultures depicted.

Quest for Fire was so powerful to me, because it was so real. It didn’t feel like fiction. It felt like what we would now call embedded reportage. Following the story, without shaping it. (of course the story was shaped - it’s a work of fiction - but it doesn’t FEEL like a work of fiction) It made anthropology, evolution, natural selection, adaptation, and so many other concepts clear and alive.

It showed how science isn’t a separate thing - it is the world around us. It is us.


I just bought the movie, and have been waiting for it to finish downloading from iTunes so I can rewatch it. Looking forward to it!

I’ve been feeling in a photographic rut lately. It seems like all of my photos look the same. They’re of the same thing. They’re all of things I’ve photographed before. Same. Similar. Again. Repeat. Done it. been there. Oh, that again. Gottit…

I just popped onto the Photography tab of my blog, and it hit me - although things feel strongly similar, there is variation and diversity. And sometimes repetition of similar photographs and subjects tells a story in and of itself.

the last 12 photos

the last 12 photos

I’ve disabled WP-Super-Cache on UCalgaryBlogs.ca because it was doing quirky things like showing the anonymous front page after someone logged in, etc… And, with our low load and mostly logged in users, it really wasn’t necessary.

Except for the RSS feeds used to generate the Recent Posts and Recent Comments sections on the front page of the site. Without WP-Super-Cache enabled, the front page (and ONLY the front page) took glacial epochs to load, as the RSS feeds were generated, parsed, and embedded. I wanted to be able to cache the feeds, without having to throw the switch on caching the entire site.

Then it hit me - it’s trivial to set up a cron job to curl the feeds to static files periodically, and then I could just use those static files to generate the Recent blocks on the front page. Duh…

So, I modified the crontab on the server to add these two lines:


*/15 * * * * /usr/bin/curl "http://ucalgaryblogs.ca/wpmu-feed/" > /home/commons/webdata/ucalgaryblogs.ca/postsfeed.xml
*/15 * * * * /usr/bin/curl "http://ucalgaryblogs.ca/wpmu-feed/comments/" > /home/commons/webdata/ucalgaryblogs.ca/commentsfeed.xml

So, every 15 minutes, the sitewide Recent Posts and Recent Comments feeds are updated. I use the static files to generate the display on the front page, using the web-visible URLs for the files at http://ucalgaryblogs.ca/postsfeed.xml and http://ucalgaryblogs.ca/commentsfeed.xml respectively.

Sometimes, it’s easier to just pull out another tool from the server toolbox, rather than trying to find a way to do it within WordPress all the time…

I’ve got a prof using a WordPress site to manage some really active discussions in his course. He’d really like to be able to list all comments posted by each user, as part of the assessment rubric for the course.

I’ve found LOTS of “recent comments” and “popular posts” plugins, and some requests for similar “list all comments for a given user” functionality, but haven’t been able to find anything that fits the bill.

Ideally, the solution would list all contributors to a blog (everyone with accounts), with links to a page (or pages) that lists all of their posts, their pages, and comments.

Any suggestions? Do I get to write another plugin?

I had a discussion with King Chung Huang and Paul Pival this morning, about one of King’s current research projects. He’s working on the topic of context and identity - what it would mean from both institutional and individual perspectives, if our digital identities and contexts were pulled out of the silos of Blackboard, email, and other isolated and closed systems. What would it mean if every person, group, and place has a URL, which is aware of contexts (institutional, academic, geographical, temporal, etc…) and is also able to gather and provide lists of relevant resources.

A Person would have what is essentially a profile (name, role, contact info, interests, courses, websites, etc…), a Group would describe its type (department, faculty, course, session, club, etc…) as well as lists of relevant bits of info (uses a wiki, has a Blackboard course, meets at this location at this time, has these members, etc…). And Places would describe physical locations, knowing which resources are available, where they are, which Persons and Groups are interested in the Place, as well as scheduling information, etc… (hmm… do we need a fourth primitive type of Time?)

At first blush, it felt like a “portal” problem. Set up a personal Pageflakes or Netvibes page, dropping in some relevant widgets and links. Everyone can customize their own page, and a directory could be created to help discover people, groups, and places.

But that approach loses any real meaning of the contexts. It’s just a dumb content display utility, without being aware of the meaning of the contexts of the content, or of the relationships between people, groups and places.

We talked for awhile, and came to the realization that there is a missing fundamental concept. One that describes the identity and context, and ties the relevant bits of salient info together in a way that can then be used to build novel applications.

Currently, a prof sets up a Blackboard course. They add content to the course. They add Links to various bits. But none of this stuff really knows the context - just that it’s some text that’s been pasted into a container within Blackboard. A prof could spend a lot of time and effort building up a course site in Blackboard, only to kill it at the end of the semester. (sure, it could be cloned, but again that’s context-unaware).

What if the course was just a Group, set up with its own identity and context, and aware of various bits of information. Is Called Mythical Course 301. Has Course ID of MYTHCRSE301. Has Professor… Has TAs… Has Blackboard Course… Uses Wiki at… Podcasts available at… Meets MWF 1000-1050 at ST148…

The idea that Paul came up with is that this is related to the mythical EduGlu concept, but as a necessary first step that is currently missing. Right now, there would be much manual labour to set up an EduGlu service to aggregate activity that happens as part of the practice of teaching and learning. What if we could take advantage of the contexts of Person, Group, and Place to automate that process? We could pull sets of RSS feeds into the aggregator, apply some processing, and export different formats for use in different contexts. Map views. Calendar views. Timeline views. Analysis of individual and group contributions. Interaction analysis. etc…

But, is there some tool, application or platform that is currently able to handle this abstracted concept of context - of Person, Group and Place - that can be used to create a flexible *cough*portal*ahem* to manage and display the torrents of centralized and decentralized information?

Michael Wesch just posted an amazing reflection on his experience in the classroom. He’s frustrated by the lack of engagement, the scattered engagement. The education through “soul murder.”

My teaching assistants consoled me by noting that students have learned that they can “get by” without paying attention in their classes. Perhaps feeling a bit encouraged by my look of incredulity, my TA’s continued with a long list of other activities students have learned that they can “get by” without doing. Studying, taking notes, reading the textbook, and coming to class topped the list. It wasn’t the list that impressed me. It was the unquestioned assumption that “getting by” is the name of the game. Our students are so alienated by education that they are trying to sneak right past it.

and, BINGO!

They tell us, first of all, that despite appearances, our classrooms have been fundamentally changed. There is literally something in the air, and it is nothing less than the digital artifacts of over one billion people and computers networked together collectively producing over 2,000 gigabytes of new information per second. While most of our classrooms were built under the assumption that information is scarce and hard to find, nearly the entire body of human knowledge now flows through and around these rooms in one form or another, ready to be accessed by laptops, cellphones, and iPods. Classrooms built to re-enforce the top-down authoritative knowledge of the teacher are now enveloped by a cloud of ubiquitous digital information where knowledge is made, not found, and authority is continuously negotiated through discussion and participation. In short, they tell us that our walls no longer mark the boundaries of our classrooms.

I’d missed the news, but the latest version of the Akismet plugin for WordPress includes some tasty stats. As with all things statistical, there’s a few ways to read the numbers, and there are some anomalies (ferinstance, it claims I had a few days of over 1000 ham i.e., valid comments per day and that’s just plain wrong) but the spam stats feel roughly right. They’re not dramatically different from what I was seeing under Mollom, except nobody gets inflicted with Captcha using Akismet.

Akismet history graph

Akismet history graph

Thanksgiving is here. And I have lots to be thankful for, including (but not limited to):

  1. I’ve got an awesome family, full of love and happiness.
  2. Evan is growing up to be an amazing, inspiring young man.
  3. Dad laughed at the doctors that gave him 6 months to live. Over a decade ago. He’s still going strong, for 73.
  4. I have friends that I admire, respect, and look up to, and who know this.
  5. As I hit 39, I’m in the best physical, mental and emotional shape of my entire life, and it feels great.

I’d experimented with the Structured Blogging plugin for WordPress almost 3 years ago. It’s a way to add structured, complex data to regular blog posts, and provides both human- and machine-readable versions of the content in order to support aggregation and syndication of the data by any service that supports it. The plugin adds a bunch of extra types of posts, from generic reviews and events, to more specific formats such as Journal Article and Book. Those two formats would be extremely useful to any student (or faculty member) who is collecting notes on academic research for use in their studies.

The Journal Article and Book formats also integrate with services to automatically look up reference data. For example, while writing a review of an article in Nature, all I would have to do is enter the article title and click “Lookup: PubMed” - and the rest of the data was automatically queried and entered into the article review.

Similar features are available for books (via Amazon.com). And some formats also provide star ratings as additional fields, making ranking and reviewing items very simple.

Sure, it could be argued that the implementation is somewhat hackish - it replaces the rich text editor, and stores XML in the post content - but it works. That’s really all that matters.

Unfortunately, the Structured Blogging project appears to be defunct. The website has been abandoned, and the WordPress plugin hasn’t been updated since March 2007. The WordPress plugin still works, though, but for how long?

Hopefully, the promise of structured blogging and microformats won’t be abandoned outright. The decentralized, flexible nature of these complex content types has some really interesting implications on distributed publishing and recontextualization of information. It would be a shame to have that completely disappear.

One of the profs using UCalgaryBlogs.ca was asking if there was a way to show the “audit trail” for a blog posts. If she’s having students write stuff, and needs it in by a given date (say, an assignment deadline), she’d like a way to know if a post was saved before the deadline, or updated after it. It’s easy for people to futz around with the “published on” date for a post…

So, I did some poking around, looking for plugins or tricks to expose the revision display list without having to send the prof to the blog’s admin UI every time she wanted to look at the info.

I couldn’t find anything, so I asked a question on the WordPress support forum. On a tip from Otto42, I poked around with the wp_list_post_revisions() function. Looks exactly like what I need. So it was pretty simple to write a basic plugin that adds a Filter such that the list gets generated and appended to every post displayed on a blog that uses the plugin. If you’re logged in, and have proper privileges, you’ll also get a link to view the revisions directly. If not, you just get to see that the revisions exist.

I had to copy the wp_list_post_revisions() function and modify it a bit in the plugin, so it behaved as needed. Nothing too major, but the WordPress function relies on echo to dump the list directly, and I needed to modify it to return a string to append to the blog post. Easy peasy.

And so, post-revision-display is born. Install and activate it on your blog, and your posts will automagically generate and display the list of revisions as an audit trail, with no futzing about with themes and hardcoding stuff. Here’s what the audit trail looks like:

Download the plugin here (for now - I’m trying to get it added to WordPress.org/extend/plugins…)

Evan got a remote controlled monster pickup truck for his birthday. The first thing we did with it was strap on the Flip Ultra video camera and take it for a drive (bungee corded onto the bed of the pickup - after removing the plastic “roll cage” it ships with). Having no compulsions about high quality video production, or high definition video quality, is a very liberating and fun place to be :-)


With my recent thinking about openness, I’ve found myself starting to channel an internal devil’s advocate voice… This post does not represent my personal beliefs, but if we’re going to talk about open education, we need to explore all sides of it…

Is truly open education a desirable goal? Is the eradication of all barriers to access something that would have positive outcomes? If we follow open education in one logical direction - where every individual is able to tailor their own educational experience in breadth, depth, and scope, will we be able to make sense of the products of such experiences? Degrees and diplomas, at least in the conventional sense, would become diluted to the point of being essentially meaningless. If each individual can for all intents and purposes be their own university, how do we properly value this? Can everyone claim to have an open PhD from MeU?

One way to value and make sense of such a truly open education would be to shift from institution-based credentials (degrees, diplomas, certificates) to performance-based credentials (portfolios, professional boards, guilds). That’s not a simple shift, but there are precedents - medicine and law operate in similar ways now.

Then there are the arguments against educational and cultural imperialism. If the primary producers and arbiters of open education are in the West, then promotion of these resources into other contexts is tantamount to (gently) forcing Western philosophy and ideology on other cultures. Those who refuse to adopt the resources are branded as backward, and those who do adopt them are assimilated.

The UCalgaryBlogs.ca publishing platform has really only been active for the last month, with real faculty and students using it. In that month, it’s already seen more activity, in terms of blog posts written, than weblogs.ucalgary.ca has seen in over 3.5 years of activity.

1600 posts.

In one month.

30 days.

And it really hasn’t been launched very publicly on campus yet. I can’t wait to see what people do with this stuff…

I’ve got a pretty strong feeling that people are taking to the WordPress Multiuser platform in ways that they never did with Drupal. That’s definitely not a shot at Drupal - just a statement of how the power of an individual-focused publishing platform resonates with individuals.

Some off the cuff (on the bike) rambling about some thoughts about what open education is - open content, open access and open accreditation. This is hopefully rock bottom with respect to video production quality - but at least you get to come along for some of my ride home…


A follow-up on my last rant on openness in universities, wherin I improperly aim the camera and showcase my multitude of chin-related tissue.


I’ve always loved Heritage Park. I worked there for a few summers in the early 90’s, and met my wife on the job. The Park always has a magical timeless quality that seems so comfortable to me. I took Evan there for a couple of hours this afternoon, and he really enjoyed seeing (and doing) how things were done a century ago.


(slideshow not visible in RSS readers)

I stopped to record a quick stream-of-thought rant about openness and the institution. My opinions are my own, not my employers, etc… Please don’t fire me.


And, yes, I know that I said “thousands of years” - I meant “hundreds…” or “a long time”. Whatever.

One of the use-cases for UCalgaryBlogs.ca is for a class to integrate external resources such as OpenLearn courses, or potentially anything that has an RSS feed, to be ingested into the class blogsite. Currently, there are 2 scenarios possible for doing this, each with their own specific benefits, but neither quite matching what I think would make for a more powerful way to contextualize these external resources within the activities of a course.

With the VERY sweet OpenLearn Republisher plugin, you can set up a set of Sources (courses on OpenLearn, etc…) to be pulled into an installation of WordPress Multiuser. The OpenLearn plugin creates a new blog for each Source, and sucks down all items in the provided RSS feed into that blog, and creates blog Posts for each item.

OpenLearn Course Importing Plugin Workflow

OpenLearn Course Importing Plugin Workflow

The benefit of this is a set of centralized blog sites for each course, which could be shared across multiple courses. But that’s also the big downside of this model - what if you want to contextualize the content differently for each course that’s using it? If you didn’t want to do that, why not just use the online OpenLearn hosted version of the course?

With FeedWordPress (or wp-o-matic) you can pull RSS feeds into a single course blogsite, and all items will be published as blog Posts within that site. Categories can be set up and inherited to help organize the imported content.

FeedWordPress RSS Importing Workflow

FeedWordPress RSS Importing Workflow

But, if the activity of the course takes place as blog Posts, it becomes mixed in with any content imported from the external resources. Conversation and content become merged.

Ideally, a course blogsite would use the Pages feature to manage “content” - the stuff the conversations refer to - and use the blog Posts for the activity and conversation of the course. As such, I think it would be more effective to have the content from external resources be ingested into a blogsite as Pages, created within the hierarchy of pages (select a parent page, and a full table of contents structure is generated as needed).

Ideal open content ingestor workflow

Ideal open content ingestor workflow

I’m not sure if that’s possible now with the available tools, but I think we’re getting REALLY close to a powerful open content contextualization platform - ingesting prepared resources for use within the spatial and temporal contexts of a course.

Ideally, the power and features of OpenLearn Republisher, with the ability to designate the “host” blog for the ingested content (or have it create new blogsites as needed), and to create Pages rather than Posts. It’s VERY close, and it’s got the potential to change how people interact with (open) content.