Finally, after being euphemistically known as an “entertainment centre,” and unofficially referred to as a “racino,” the casino in Charlottetown is being renamed to what it is: a casino.

HOMBURG

There have been rumblings of discontent within the cultural intelligentsia of Charlottetown for the past few months about the donation, that last night became public, by developer Richard Homburg of $2 million to the Confederation Centre of the Arts, and the resulting renaming of the Centre’s Main Stage to Homburg Theatre.

While their are myriad reasons to call this donation into question, the foremost, to my mind, is the simple vanity of it all.

Selling off naming rights is a well-established institutional practise, and one the Centre has used before in smaller ways without outcry.  But Prince Edward Island is a special place, a place that treats vanity as a serious sin, punishable by suspicion and long term just-out-of-earshot scorn. 

On the Island, it’s fine to be successful, you’re just not supposed to show it off.

That Homburg appears to have ridden into Charlottetown, decided to remake the city in his image (complete with large HOMBURG signs slapped on everything that doesn’t move), and then, in a vainglorious coup de grace, paid to have the cultural heart of the city renamed after him, is vanity the likes of which we’ve never seen before.

While it’s hard to argue with Homburg’s generousity, to my eyes the impulse is tarnished by this self-idolatry.

My old homebrew blogging system used a hierarchical set of categories to tag posts.  It looked something like this:

  • Technology
    • Apple
      • Steve Wozniak
    • Backup
    • Barcodes
      • UPC

And so on.  When I migrated the blog to Drupal, I needed a way of getting this set of categories out of the old system and into Drupal. Here’s how I did it.

First I created a new Drupal Vocabulary (Drupal-speak for “set of categories”) called “Topics” and then I looked in the drupal.vocabulary table to find that the vocabulary had a record number – or vid – of 5.  I noted this for later.

The old system’s categories were stored in a MySQL table that looked like this:

CREATE TABLE `categories` (
  `number` int(11) default NULL,
  `name` char(75) default NULL,
  `parent` int(11) default NULL,
)

For each category there was a number, a name (like “Apple”) and the number of the parent category, if any.  While there are various ways of importing categories into a Drupal “taxonomy”, none of them exactly fit the bill for me, so I decided to go the “write a PHP script to do it” route.

First I selected all of the categories, in numerical order (because I wanted to make sure that parents appeared before their children):

SELECT number,name,parent from categories order by number

For each of the categories I inserted a record into the Drupal term_data table:

INSERT into drupal.term_data (vid,name) values (5,'" . addslashes($name) . "')"

In then retrieved the tid (or “term ID”) value:

select LAST_INSERT_ID() as tid

and noted this for later use should I need to identify the ID of this category should it be a parent to a child encountered later.  I then also inserted a record into the term_hierarchy table, using a value of either 0 (zero) for categories with no parent, or the tid value for the parent, noted earlier, for this with a parent:

INSERT into drupal.term_hierarchy (tid,parent) values ($tid,$parent)

Put it all together and the code looks something like this:

$query = "SELECT number,name,parent from categories order by number";
$result = MYSQL_QUERY($query);
$howmanyrecords = MYSQL_NUMROWS($result);

$currentrecord = 0 ;

while ($currentrecord < $howmanyrecords) {
    $number = mysql_result($result,$currentrecord,"number");
    $name = mysql_result($result,$currentrecord,"name");
    $parent = mysql_result($result,$currentrecord,"parent");

    $query2 = "INSERT into drupal.term_data (vid,name) values (5,'" . addslashes($name) . "')";
    $result2 = MYSQL_QUERY($query2);

    $query2 = "select LAST_INSERT_ID() as tid";
    $result2 = MYSQL_QUERY($query2);
    $tid = trim(MYSQL_RESULT($result2,$currentrecord2,"tid"));

    $tids[$number] = $tid;

    if ($parent <> '') {
        $parent = $tids[$parent];
    }
    else {
        $parent = 0;
    }

    $query2 = "INSERT into drupal.term_hierarchy (tid,parent) values ($tid,$parent)";
    $result2 = MYSQL_QUERY($query2);
   
    $currentrecord++;
}

The end result was a 788-term vocabulary, with hierarchy preserved, in Drupal, ready to attach to the posts I would import next.

I’ve mentioned this before, but if you’re looking for an easy way to buy locally-produced organic vegetables on Prince Edward Island, you should give Aaron Koleszar’s Organic Veggie Delivery service a try.

The produce is local, the schedule and mechanism for delivery and payment is easy to manage, the delivery car is powered by biodiesel, and you’ll not meet a nicer veggie delivery person than Aaron.

Here’s a snippet from Aaron’s email today, announcing his return to the fold:

I’m pleased to announce that after 6 weeks recovering from hernia surgery, I plan to resume deliveries on Thursday/Friday of next week (July 23-24). Orders will be due by the night of Monday, July 20. Later today (or on Friday) I will send out an update detailing what’s available and what’s in the veggie boxes.

I’d like to thank everyone for your patience and for all of your kind words, thoughts, and wishes of a full and speedy recovery. The surgery and recovery went well and I’m mostly healed. I’m feeling quite well, but I still need to be careful with lifting for a while.

For the time being, I will only be delivering every 2 weeks, so the next delivery will be scheduled for August 6-7. I expect weekly deliveries to begin late August or early September.

Also, you should know that my partner Jodie and I are joyfully anticipating the arrival of our first baby. The forecasted due date is August 13. However, if the actual baby delivery date happens to coincide with vegetable delivery dates, then I might have to delay the veggie delivery a bit. In such an event, I would of course be in touch to inform you.

Okay, I’ve figured out the key combination in FCKeditor that’s causing me grief: I’m used to typing Command + Left Arrow to go to the start of the current line in an editor.  While this works as expected in a normal input field, if I do this in FCKEditor it’s interpreted as “back” by the Firefox and takes me back to the previous page, therein losing everything I’ve typed into the editor.

Apparently this is a Mac Firefox-only issue, and is discussed in this blog post and this Firefox bug report.

While some recommend Keyfixer as a Firefox add-on that fixes this issue, I couldn’t get it to work, and opted, instead, for keyconfig.

Keyconfig Setting in FirefoxTo install keyconfig, just visit this page, click on the link to the latest keyconfig.xpi file, and install the add-on.  Once it’s installed and Firefox has restarted, select Tools > Keyconfig in Firefox, select the row named goBackKb that’s set to ⌘Left Arrow and click Disable.

Once I did this, using FCKeditor in Firefox on my Mac became a much more pleasurable experience, what with the whole “you could lost everything with one careless keystroke” somewhat removed.

The barricades went up on Monday morning around the parking spots in front of our house, and there were tree surgeon types scouting around, so we knew something was up.  We feared the worst, but it turns out that the giant tree (and it is giant) in front of our house was simply due for a trim.

Tree at 100 Prince Street

There’s nothing like a meeting of the Charlottetown Downtown Residents Association to make you feel like gathering a bunch of your drunken  motorcycle-racing friends, finding the highest, ugliest, most architecturally unsympathetic building in the city, climbing to the top and making mad passionate love to Tim Banks while the hooligans pee in the bushes and pull wheelies on their muffler-less dirt-bikes.

Being trapped in a room with that bunch of frightened curmudgeons makes me want to renounce every curmudgeonly thing I’ve ever written in this space in favour of an endless, lawless bacchanal: bring on the crows, the miscreants, the graffiti-writers and heck, even the developers of obscene buildings. It’s better that we have a downtown that’s chaotic and vital than the sedate 1950s utopia envisioned by the downtown livers.

That is all.

Slovak Train Washroom Signage

You’ll notice some drywall dust around this blog today, all part of a renovation project that I’m just tentatively taking the wraps off now.  After 10 years of maintaining this blog in a masking-tape and baling-wire codebase that started life as something called “the Catherine Hennessey engine,” I’m migrating everything to use the open source Drupal system,

To longtime readers this may come as a surprise.  Certainly it’s surprising to me.  Or at least to 1999 me.  I’m a coder at heart, and the notion of using someone else’s code to maintain as something as intimately connected to me as my words was, for the longest time, anathema.

But for the last six months I’ve been knee-deep in Drupal, part of a large website migration project for one of our clients.  I’ve been churning out custom Drupal modules, learning the ins and outs of “the Drupal way,” slurping content out of myriad ye olde CMS into Drupal and helping a team of editors and designers make Drupal their home.

Along the way I started to love Drupal.  To love its quirky yet powerful undercarriage, its rich collection of modules, its open community of developers.

And in the end I realized that if I was going to be writing code, I might as well be writing code that could help more than just, well, me.  There’s a lot to be said for drawing from and contributing to the open source well, and that well seems enough like home now that I’m comfortable with it as a place for my words.

In this spirit I’m migrating somewhat before the “okay, everything’s done” stage has been reached.  You’ll see evidence of this from the very basic design of the site (I started with the very nice Basic theme and am working along from there; I’ll keep working), from some broken links here and there (although I’ve spent a lot of time trying to ensure that nothing breaks), and from some missing content (I haven’t yet brought over the 17,000 comments that have been written readers – coming soon).

Also in this spirit I’ll be writing a lot about some of the challenges I faced in migrating from the old homebrew system into Drupal.

In the meantime, some technical notes:

  • the URL for the site’s RSS feed is now ruk.ca/rss.xml – but the old URL should automatically redirect.
  • the rukapedia is, at least for the time being, over at wiki.ruk.ca – the content there might end up here eventually; still thinking about that.
  • things like my Twitter feed in the sidebar wil return soon.

Lots more to come.

Regular comment-leavers in this space will recall that, for many years, I’ve employed a simple, easy-to-read mechanism as an “are you human?” test to help cut down on spam. A recent uptick in the amount of comment spam — and weird comment spam it was — has prompted me to switch to using reCAPTCHA, a similar mechanism that has three distinct advantages over the old system:

  1. It’s harder to design automated attacks for.
  2. It has an listen-to-audio-option, make it more accessible.
  3. When you use it, you’re helping to digitize books.

I’m particular fond of point number three. Apologies to those that find this new mechanism a barrier to commenting.

Why Buy PEI Grown Food?There’s an interesting conversation playing out among Dave Cormier, Rob Paterson and me over on Twitter about buying local food, and how easy it should be. Dave started things off with an insightful blog post about how difficult he found it to find local farm sources of food, something that later led him to create a website designed to help solve this problem.

A slice of the conversation today surrounded whether it should, in fact, be easier to find local food. Dave and Rob are of the “we need a website that makes it easy for farmers to communicate to customers when the food is ready” opinion, and I, in short, am not.

Here’s why.

Every Saturday for almost as long as [[Oliver]] has been alive we’ve been going to the [[Charlottetown Farmer’s Market]]. One of our mainstays at the market is Kim Dormaar’s smoked salmon. And in the winter and spring the stand beside Kim’s is Taylor’s Taters, selling potatoes, carrots and other root vegetables.

When we first started stopping by Kim’s for salmon Oliver was small enough that he was in a stroller or in my arms. Eventually he grew tall enough to stand on his own and one day Garth at Taylor’s Taters, seeing that Oliver wanted to be closer to the action, came over and cleared away a spot on his stand where Oliver could climb up and get eye-to-eye with Kim and the salmon.

That space has been there for Oliver ever since, and when it’s not you can rely on Garth to hurry around and clear away the potatoes or the carrots for Oliver. And when Garth and Peggy take the summer away from the market (to grow potatoes), the organic greens operation that takes their place has helpfully carried on the tradition.

Over the years, as this tradition cemented itself, and we’ve gotten to know Garth and Peggy a little more, we’ve started to buy potatoes and carrots and the occasional turnip from them (Garth, bless his heart, is prone to sticking a free bag of carrots in Oliver’s hands when I’m not looking). A few years ago Oliver started bringing them a Christmas card, and they returned the favour by always making sure he had a candy cane before leaving.

Earlier this year Garth told me that this would likely be his last year at the market, as he was putting the farm up for sale and not sowing a crop this season; later in the spring he told me, with a smile, that he’d decided to continue on for at least another year. And when I blogged that there was only a week left to get their potatoes before they left for the summer, Garth told me there was a minor rush of customers that week who told him they’re heard the word through that blog post.

Now I couldn’t tell you Garth’s birthday, or even, for that matter, where his farm is. I don’t know anything about his family, or how he got into farming, or how he grows potatoes. Island friendships take a long time to forge, and me and Garth are still in the early stages. But I can tell you that I unreservedly trust Garth and the food he produces. I know that when Garth is harvesting his crop this fall, somewhere in the back of his mind will be the thought that, among the thousands of other people, Oliver will be eating those potatoes for supper this winter.

It’s taken more than 5 years for us to get to that point, and I don’t think there’s anything we could have done to get to the place we are now any quicker: trust takes time.

I could tell you similar stories about Kim and his smoked salmon, about Brett and his coffee, about the smoothie guys, about Karin La Ronde and her iced tea, about Lori and John and their perogies: they are all an important and trusted part of our lives, and our relationships with them have taken time.

Surely this is exactly what’s at the heart of “eating locally,” isn’t it? Yes it’s partly about “food miles” and “carbon footprint” and bioregionalism, but at the heart of the matter is trust and trust isn’t something you can get from a website or a directory or a toll-free “where can I get local potatoes today” hotline. Trust takes a long time to simmer, needs to be fed from both sides, and is, in essence, the “product” that local farmers are selling.

I’m not saying a “who’s got the rutabagas this week?” directory wouldn’t be a useful, practical tool when you’re jonesin’ for a local rutabaga. But if we really want to live out the dream of buying locally, then it’s going to take a lot more than that, and a lot of what it’s going to take comes to simple analog friendships built out over many years. That’s hard, sometimes frustrating (especially when you’re newly arrived in the community and it seems like a private club of insiders), but ultimately it’s the one thing that the food-as-cheap-commodity folks can never compete with.

About This Blog

Photo of Peter RukavinaI am . I am a writer, letterpress printer, and a curious person.

To learn more about me, read my /nowlook at my bio, read presentations and speeches I’ve written, or get in touch (peter@rukavina.net is the quickest way). You can subscribe to an RSS feed of posts, an RSS feed of comments, or receive a daily digests of posts by email.

Search