The Charlottetown Guardian released a new design for its website today. Here’s what it looked like before:

The Guardian: Before Redesign

And here’s the new version:

The Guardian: After Redesign

Two new businesses have sprouted in Charlottetown this spring that might have escaped your notice.

Of course everyone already knows about Zen Sushi on Queen Street, in the former Just Juicin’ space. What you might not know is that, as of yesterday, they have a Zen Sushi Express cousin on Kent Street, between Piazza Joe’s and City Cab.

Zen Sushi Express is open daily from 10:00 a.m. to 6:00 p.m. and you can sit inside, take out, or call for delivery (892-4523). Here’s their menu:

Zen Sushi Express Menu

And here’s my lunch:

Zen Sushi Lunch

Oliver, Catherine and I ate lunch their yesterday: Catherine and I each had the Sushi Combo A and Oliver had the Sushi Combo B. All of these were well-prepared and tasty, and the service was fine. As there’s only two intersections between our house and the new place, we’re considering beta-testing an “Oliver goes to pick up sushi for supper” program this summer.

The other business you might not have noticed, mostly because it’s outside of the normal traffic patterns of your everyday Charlottetowner, is Cottage Industry, on Grafton Street across from The Pilot House where Island Furriers used to be.

Cottage Industry sells furniture and related decor the likes of which (save for a brief shining moment when the Tim Banks-controlled Home Hardware first opened) Charlottetown has never seen before.

Which is to say, things like this:

Cottage Industry Chair

Cottage Industry Lower Floor

In other words, more than just the usual La-Z-Boy and frumpy-gingham colonial-style furniture you find elsewhere. It’s not cheap, but it’s all solidly built and very comfortable. Think “IKEA sensibility, but built to last forever.” And somewhat less “1,000 year-old tree trunk crafted into a chaise lounge” than the (still wonderful nonetheless) furniture at The Dunes.

Both are welcome additions to the downtown community.

Back in the mists of time when Oliver was wee, we had an excellent run of babysitters. One of these was Emily Hanlin, an American expat who’d fallen for Prince Edward Island. Oliver met her for the first time at Kinder Music, and sometime thereafter we managed to become one of her babysitting clients.

Emily is the only babysitter to have arrived at the door with a full range of child enrichment materials, all wrapped up in a very Mary Poppins-like bag to boot, if memory serves. Oliver loved her, and she loved Oliver, and it was a very sad day when we learned that she was up and moving on (to Chicago, where I think she met Arthur Miller).

In the intervening years Emily’s moved about some more, and last summer she was married and settled down, as Emily describes it, in “Westford, Massachusetts on a 250 year-old farm with her husband, Eric, their dog, three cats and a flock of hens.”

This summer Emily’s returning to Prince Edward Island, to host a one week theatre camp for kids in Charlottetown. Here’s how she describes it:

I am so pleased to announce a project I have wanted to commit to since leaving PEI in 2004 is finally coming to fruition! I am excited to announce a partnership with Beaconsfield Historic House, one of my favorite spots on the Island. With BHH, I am presenting a summer theatre camp for kids, Monday-Friday, July 19-23, in Beaconsfield’s Carriage House. The camp is an afternoon camp from 1pm until 5pm and is for ages 8-12. The fee is $150 CDN with sibling discounts available.

For our first summer, I decided it would be fun to connect the theatre camp to the history of the house. I am currently working on an original comedy, Princess Louise Comes to Call, which draws upon the real-life visit of Princess Louise, Queen Victoria’s daughter, to the historic PEI home. The play includes a bit of time travel for two young volunteers at the museum. Not only do they get to meet Princess Louise, but also a host of other Island historic figures who join her as guests to a “fine” dinner party. Young thespians will learn about proper table manners and the etiquette of the 19th century – as well as learn about comedic timing and diction.

You can register for the camp online (there are still spaces available). I can’t imagine a better way to spend a week for a theatrical kid.

A few months ago Gordie and Janet phoned me up and invited me out to lunch: they were planning an extended trip to Europe with their two daughters, and wanted to poke me for advice on travel with kids. We had a nice chat, talking about everything from school work to SIM cards, and the more they talked, the more jealous I became. We’ve traveled, but never for such a long and indefinite period as they were planning.

And now they’re there. And, what’s more, all four of them are writing posts on a family travel blog. Not only can you learn lots of interesting things about Europe and families and travel in their blog, but you often get two or three perspectives on the same event from different members of the family.

So here’s Robin on their new Paris apartment:

The bed that Sarah and I got given is not a bed at all. It is a couch, a very small couch. It is supposed to pull out but this one; you just unfold the cushions and sleep on those. It is too small for two girls so I pulled the blanket off of Sarah and put it on the floor with a pillow.

Sarah did not wake up at all when I took her blanket so I got away with sleeping on a nice soft blanket. The blanket pattern is a tiger. It has orange and black stripes. The bed inside my parents’ room is, in fact, a bed—a reasonably hard bed, but a bed.

And here’s Gordie:

Here we sit in our Paris apartment. The apartment is quite small. There are three rooms: a bathroom, a bedroom, and (for lack of a better description) a multi-purpose room. The multi-purposes for the room include entrance, kitchen, dining room, and spare bedroom. The room is about 50 square feet. The bedroom is about the same size and the bathroom is about 12 square feet. Including the hallway, the apartment might be 150 square feet.

Gordie’s got the important stats, but, I gotta say, Robin does a better job at capturing the essence of the place.

I look forward to more tales of their adventures.

Those of you who have been reading since the Working for Free days will recall that presentation was anchored in this project for Casa Mia Café, an altruistically selfish attempt to ensure the success of the place that fed me coffee every morning.

Well, two years on and Casa Mia is still my coffee supplier, and I continue to use it as a playground for digital experiments.

My latest experiment started out with a strong aversion to Jesse Cook, an artist whose music, it seemed for awhile, was the only music Casa Mia ever played. I’m as much a lover of rhapsodic Canadian guitar as the next guy, but after 1,600 plays (there’s now evidence of this) I was ready to scream.

Which got me thinking: how could we make the café react automatically to the customers inside it at any point in time, and adjust the music playlist accordingly.

This week I’ve been working on an answer to this question. Here’s the working theory:

  1. Customer enters the café with a Bluetooth device in their pocket.
  2. The café’s music server, which is running a Bluetooth scanner, detects the presence of the device.
  3. If it’s a new device, never seen in the café before, a message is sent to it (at least for devices that have message-receiving capabilities) inviting the customer to register and associate their Last.fm account with their device’s address.
  4. If it’s a previously-seen device of someone who has registered, then the server finds their Last.fm address, and adds their musical tastes to the café’s playlist until they leave.

There are some technical bits that make this challenging.

The Bluetooth Bits

There’s not really such a thing as a “Bluetooth scanner,” at least not a friendly off-the-shelf application that you just install on a Mac. To the rescue comes LightBlue, a Python Bluetooth toolkit that lets me do neat stuff like:

# /usr/bin/python -Wignore
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import lightblue
>>> lightblue.finddevices()
[('00:1F:5D:39:75:16', u'ruk', 5898764)]

Which tells me “somewhere near this computer is a Bluetooth device with a device address of 00:1F:5D:39:75:16 that calls itself ruk. This happens to be my [[Nokia N95]] mobile phone, which is sitting beside me as I type.

It’s not hard to imagine, with LightBlue in hand, how the “detects the presence of the device” part of this system works, then: just set up a Python script to run in the background and to report new Bluetooth devices as they appear.

The other Bluetooth challenge is in the sending of a message of invitation to newly-detected devices. There are lots of devices that support this, but also lots that don’t. For example, there’s no way, as near as I can tell, to push a Bluetooth message to an Apple iPhone or iPod Touch. Of course for any device there’s the issue of Bluetooth being set off, or set to non-discoverable; can’t work around that, other than by letting customers who want to play know what they need to do.

The Music Bits

The music part of the system is a little more challenging: Last.fm isn’t really built for this sort of thing. Indeed once you start scratching into the Last.fm API, you realize that at every corner there’s another roadblock, part of Last.fm’s “we can’t actually let people listen to the exact track they want to listen to” licensing model.

For example, you might think a simple call to user.GetTopTracks for someone who’s just walked into the door would be a good place to start: just grab their favourite songs and add them to the café’s playlist using playlist.addTrack and then remove the tracks once they leave the café. Except that, alas, there’s no playlist.removeTrack method to allow the removal to happen. And the radio.tune method doesn’t actually support streaming playlists at all, only artists, users, and tags.

So, what to do? Well, my working model at this point is to variously dip into each present-user’s music by simply directly the Last.fm scrobbler to play Last.fm-style URLs like lastfm://user/reinvented/library (which, if you’re a Last.fm subscriber and have the scrobbler installed, should play my library for you if you click on it).

So, from a PHP script, I fade down the music server’s volume (it happens to be a Mac Mini, so I can do this using AppleScript):

function volumeFadeDown() {
      for ($volume = 7 ; $volume >= 0 ; $volume = $volume - 0.5) {
              system("osascript -e 'set volume $volume'");
       }
}

Then I “tune in” a given customer’s playlist:

system("osascript -e \"open location 
     \\\"lastfm://user/$username/library/\\\"\"");

Now that music is streaming, I wait some amount of time, likely sensitive to the number of playlists I’m juggling, and then segue to the next playlist.

Because it’s a stream, not tracks that I’m playing, the downside of this approach is that I’ll cut track off in mid-stream; I might be able to mitigate this somewhat by making calls to track.getInfo to get duration information for each currently-playing track, and then do the volume fade only once the end of the track was nearing.

None of this is particularly elegant, and it would be nice to have a more flexible track streaming service available, at cost, to allow to to either stream specific tracks or at least to add to and subtract from aggregate playlists.

I welcome any guidance on other approaches to this with Last.fm (or with alternatives to Last.fm).

Where I’m At

I’ve made good progress over the last few days with putting the pieces of this system together.

Casa Mia now has a Last.fm account, back-filled with 30,000 tracks worth of play data from iTunes. And because the Windows machine that’s playing music in the café is scrobbling everything it plays, we can now publish this information using the Last.fm API. So if you visit casamiacafe.ca, you’ll see the playlist in the right sidebar, and if you visit music.casamiacafe.ca, you’ll get a mobile-optimized version of the same.

There’s a headless Mac Mini sitting in Casa Mia running a modified version of haraldscan (a Pyhton script that’s built on LightBlue); it’s logging every Bluetooth device it sees, and we’ll let it run for a few days to get a sense of what sort of devices are walking into the café and what their capabilities are.

On the music side, I’ve cobbled together the PHP script outlined above, and have been running it here in the office with some dummy presence data fed into it to rotate through various playlists. The only dealbreaker I’ve encountered so far is the tendency of the Last.fm Mac scrobbler to stop working from time to time, reporting in a dialog box that it can’t stream; that’s difficult to deal with on a headless Mac where the dialog can’t be seen. So I’m looking at alternatives like lastfm-cli, a command-line client for Last.fm, that might allow me to stop using the GUI client altogether.

More than music…

There’s more to this than music, of course. I’ve already got the Bluetooth scanner set up to automatically check me in to Foursquare every time I stop by the café; there’s no reason why I couldn’t extend this to anyone who wanted to supply their Foursquare credentials.

Further on down the line, there’s all sorts of “automatically bring me a macchiato whenever I walk in the door” magic brewing around my head too.

As always, thoughts welcome.

Students of Canadian history will recall two men named John Hamilton Gray being Fathers of Confederation, one from Prince Edward Island and the other from New Brunswick.

So, a simple style question: when referring to both in a sentence, would you write “Johns Hamilton Gray” or “John Hamilton Grays”? Like:

On Monday night we had the Sir John A. Macdonald and the Johns Hamilton Gray over for supper.

Please advise.

Once again this year I’ve taken the official Eastern School District School Calendar and created a set of public calendar files. This is a little early to be doing “back to school” things, I admit, but I figure it’s better to get them out of the way now.  Here you go:

I’ve been keeping two Altoids tins around on my desk for over two years “in case I need them for something.” I think I envisioned some sort of Arduino-based Altoid-housed mobile telephone.

I realized today that these two tins were interfering with my ability to properly and thoroughly clean my office desk so, though it pained me greatly, I threw them away.

With the new bed we bought last month, this places me even closer to the Bruce Sterling image of nirvana.

[[Oliver]] and I drove up to Rollo Bay yesterday for the PEI Bluegrass and Old Time Music Festival.

It had been more than 30 years since I’d been at a bluegrass event: the last time was in Carlisle, my hometown, where I used to sell The Hamilton Spectator tent-to-tent. Oddly, I don’t remember much about the music, and I certainly don’t recall enjoying any of the music that I heard.

But somewhere in the last 5 years the bluegrass-enjoyment-switch got turned on in my head, and these days it’s some of my favourite music. So the opportunity for some full-on bluegrass action so close to home was irresistible.

Bluegrass festivals are a world unto themselves, and that world is very recreational-vehicle intensive. Here’s what the festival site looked like:

PEI Bluegrass and Old Time Music Festival Grounds

RVs stretch for as far as the eye can see. And these are not modest RVs: they’re set up with awnings, outdoor patios, satellite television dishes. And you get the sense that there’s a traveling convoy of bluegrass aficionados that roam the continent every summer, festival to festival, as there’s a lot of socializing and camaraderie happening out of the stage area proper.

My favourite part of the day was the workshops, held inside in Ceilidh Hall (it’s the large building on the left in the photo above). We saw parts of the banjo and harmony workshops, and I think I learned more about music in that 60 minutes than I’ve learned anywhere else. Here’s a snippet of the harmony workshop offered by Barry Scott & Second Wind:

We also got to see some main stage acts: when we first arrived PEI’s Bluegrass Revival had just gone on stage, and we watched their entire set, and then saw parts of Country Grass Band, Norman Bowser & John Jeffreys, The Spinney Brothers and Simply Blue.

To Oliver’s great dismay we had to head back to town before Grass Mountain Hobos went on stage (they’re his favourite bluegrass band; perhaps his favourite band of any sort). I had to promise him that we’d track them down again before the summer’s out, which might prove challenging as they’re off to the United Kingdom for the rest of July. We’ll have to work hard to find them somewhere in August.

All in all a great way to spend the day; we’ll be back next year.

Every weekend I continue to bluster away on my Adana Eight Five letterpress, each time learning, by trial and error, a little more about how paper and ink and type and pressure relate. And each time I learn how much I don’t know, and how much I need to learn simply by rinsing and repeating, over and over and over.

The hard part of letterpress, I’ve learned, is what’s called the makeready. This is the time after you’ve set the type, but before you start running off “good copies.” In computer programming it would be called the “debugging.” And as with debugging, it can consume a lot of time.

British Letterpress has a good introduction to the term; they write, in part:

[M]akeready is the process of ensuring that each part of the forme receives sufficient ink and pressure to satisfy its individual requirement. Bold, solid areas of type or blocks need more ink-and more pressure-than do light, delicate areas.

Simple enough. But achieving this, especially when, like me, you’ve both a limited array of equipment and supplies and a limited amount of knowledge, is a slow slog.

Mostly this is because the materials of letterpress – type, leading, furniture, chase – are all subject to wear and tear and thus amounts of “inexactness” that need compensating for.

Take a look at this type sample I printed tonight, for example:

Type Sample (Card Stock)

This proof is one I printed after perhaps 30 minutes of fussing about, and it’s still far for perfect.

Look at the upper case P in the top line of the Dorchester section, for example: in this typeface the upper case P has a slight overhang that extends over the right edge of the body and, in this case, overlays the body of the lower case P. The effect of this – likely because of wear and tear and accumulated cruft – is to push the P up slightly resulting in a different amount of ink and pressure than the letters before and after. And so, as you can clearly see, it’s too dark. As this is my only upper case P in this font, I’m kind at a loss as to what to do, other than too (somehow) bring its sister letters up to meet it.

Another issue on this same sample is on the top line of the Times Roman section: notice the incomplete printing of the “NnOoPp” letters. This case is a little easier to handle: it seems easier to add pressure than it is to take it away, and one quick hack I’ve found for this is to stick a layer of sticky tape on the tympan (the layer of oiled paper onto which the paper to be printed is set). Many times this seems to be just enough to add the right amount of pressure; in this case I’ve still a way to go in this regard, but it’s a lot better than when I started.

As another experiment – I’d seen it suggested on places like Briar Press – I tried moistening the paper I was to print on before putting it on the press. To do this I consolidated a collection of Windex bottles to free one up, and then lightly spritzed some water on the paper; for this test I used some straw paper I bought at HazelTree this morning. Here’s what resulted:

Type Sample (Straw Paper)

I seem to have used a little too much water for my own good but, that said, the effect was rather dramatic: the water loosened up the paper such that the type could “bite in” much more effectively. Because of the different faces in the sample, the effect of this was alternatively good and bad: the Dorchester suffered for it, the Temple looks slightly better, and the Times Roman (truth be told it’s Times Roman Bold) was much improved. Some further experimenting with this technique is in order; I may need a more effective (i.e. less rain-like) way of moistening.

I ended up printing about 2 dozen versions of the type sampler on various weights and types of paper. Here are seven of the most interesting examples:

Type Samples, Various Papers

My favourite, if only because it’s the least likely, was the pink card stock (it’s shiny and has a styrofoam-like quality): it took the ink quite well, especially for the Times Roman.

Learning letterpress is very reminiscent of learning computer programming, another trade in which I’ve no formal education: it’s all about test and iterate, test and iterate. See what works and what doesn’t, and evolve.

Fortunately, like with programming, there’s a good body of guidance on letterpress, both historic and contemporary. There is, however, no substitute for the slog. Which is why if you look in the window at Reinvented HQ on the weekends you’ll likely see my hunched over a case of type or up to my elbows in Varsol.

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, listen to audio I’ve posted, read presentations and speeches I’ve written, or get in touch (peter@rukavina.net is the quickest way). 

I have been writing here since May 1999: you can explore the 25+ years of blog posts in the archive.

You can subscribe to an RSS feed of posts, an RSS feed of comments, or a podcast RSS feed that just contains audio posts. You can also receive a daily digests of posts by email.

Search