Lisa and I met face to face two years ago today. Last night I surprised her with tickets to The East Pointers live at Confederation Centre of the Arts; my surprise was well-enough executed that, until the MC came on stage to make introductions, Lisa had no idea what show we were going to see. 

It was a wonderful night. And an emotional one for me: although I’ve been a fan of Tim Chaisson forever, this was my first time—and Lisa’s—seeing the band live. Their music is so woven into me, and yet I’d only ever heard it recorded, often alone, often in moments when one of their tracks spoke to me in an important way. To see them live, with a thousand other people—many of them devoted friends, family, and fans—was another experience again. Tim and Jake (and the late Koady, who was in the air last night) are such talented songwriters and musicians; it turns out they’re an awfully good live band too.

Photo from the audience of The East Pointers on stage at the Confederation Centre of the Arts, December 16, 2023.

🗓️

Carolyn Dever, writing in Public Books, about the ongoing cyberattack affecting the British Library:

Perhaps that’s the bitterest extreme of the irony: the sense in which the ransomware attack violates the very premise of libraries themselves. Libraries exist to connect learners with knowledge. Full stop. That’s what has been destroyed: not the stuff, but the connections, the fascia.

The library’s website and catalogue have been offline since Halloween, rendering its (decidedly analog) collections inaccessible. 

This is all eerily reminiscent of the recently-released Julia Roberts-Mahershala Ali-Ethan Hawke movie, Leave the World Behind. How to disable a society? Take down its information infrastructure. 

Screen shot of the British Library website, showing "temporary holding page" and an explanation thereof.

🗓️

This is the January 1, 2024 schedule.
Maybe you’re looking for the 2025 Levee Schedule?

This is the 2024 levee schedule for New Year’s Day, January 1, 2024 for Charlottetown and Prince Edward Island.

This is the 19th year I’ve been collating and confirming this information. If you’re new to all of this and want to give it a try, read How to Levee.

All 47 levees listed below have been confirmed with organizers: if you have changes to the information below, please drop me a line.

Show levees that are ages 19+ Show only Charlottetown-area levees

Organization

Location

Starts

Ends

Accessible

All Ages

Timothy’s Coffee and Campbell Webster

Timothy’s Coffee
154 Great George Street, Charlottetown, PE

8:00 AM

10:00 AM

Yes

Yes

Upstreet Craft Brewing

Upstreet Craft Brewing
41 Allen St, Charlottetown, PE

10:00 AM

11:00 AM

Yes

No

Lieutenant Governor

Government House
1 Terry Fox Drive, Charlottetown, PE

10:00 AM

11:30 AM

Yes

Yes

Mayor of Charlottetown

Charlottetown City Hall
199 Queen St, Charlottetown, PE

10:30 AM

12:00 PM

Yes

Yes

Rotary Club of Charlottetown

Beaconsfield Carriage House
2 Kent Street, Charlottetown, PE

10:30 AM

12:00 PM

Yes

Yes

North Granville Community Centre

North Granville Community Centre
575 Taylor Road, North Granville, PE

11:00 AM

12:30 PM

Yes

Yes

Morell Lions Club (Reception)

Morell Fire Hall
15 Park Street, Morell, PE

11:00 AM

1:00 PM

Yes

Yes

Town of Borden-Carleton

Borden Legion
240 Main Street, Borden-Carleton, PE

11:00 AM

1:00 PM

Yes

Yes

Silver Fox Curling and Yacht Club

Silver Fox Curling and Yacht Club
110 Water Street, Summerside, PE

11:00 AM

6:00 PM

Yes

No

University of PEI

Faculty of Sustainable Design Engineering
550 University Ave., Charlottetown, PE

11:30 AM

1:00 PM

Yes

Yes

HMCS Queen Charlotte

HMCS Queen Charlotte
210 Water Street, Charlottetown, PE

11:30 AM

1:00 PM

Yes

Yes

Mayor of Kensington

Family and Friends Restaurant
45 Broadway St N, Kensington, PE

11:30 AM

1:00 PM

Yes

Yes

Prince Edward Island Regiment

Col J David Stewart Armoury
1 Haviland Street, Charlottetown, PE

12:00 PM

1:30 PM

Yes

Yes

Town of Stratford

Stratford Town Centre
234 Shakespeare Dr., Stratford, PE

12:00 PM

1:30 PM

Yes

Yes

PEI Brewing Company

PEI Brewing Company
96 Kensington Road, Charlottetown, PE

12:00 PM

2:00 PM

Yes

No

Copper Bottom Brewing

Copper Bottom Brewing
567 Main Street, Montague, PE

12:00 PM

6:00 PM

Yes

Yes

Royal Canadian Legion - O’Leary

O’Leary Legion
69 Ellis Ave., O’Leary, PE

12:00 PM

7:00 PM

No

No

Seniors Active Living Centre

Bell Aliant Centre
560 University Avenue, Charlottetown, PE

12:30 PM

2:00 PM

Yes

Yes

Town of O’Leary

O’Leary Town Hall
18 Community Street, O’Leary, PE

1:00 PM

4:00 PM

Yes

Yes

Morell Lions Club (Free Skating)

Morell Credit Union Rink
59 Queen Elizabeth, Morell, PE

1:00 PM

2:00 PM

Yes

Yes

Roman Catholic Diocese of Charlottetown

SDU Place
45 Great George Street, Charlottetown, PE

1:00 PM

2:30 PM

No

Yes

Morell & Area Development Corporation

Morell Credit Union Rink Community Room
59 Queen Elizabeth, Morell, PE

1:00 PM

3:00 PM

Yes

Yes

Royal Canadian Legion - Wellington

Wellington Legion
97 Sunset Dr, Wellington, PE

1:00 PM

3:00 PM

Yes

No

St. John’s Lodge No. 1 and Victoria Lodge No. 2

Masonic Temple
204 Hillsborough St., Charlottetown, PE

1:00 PM

3:00 PM

No

Yes

Town of Three Rivers

Three Rivers Town Hall
172 Fraser Street, Montague, PE

1:00 PM

3:00 PM

Yes

Yes

Royal Canadian Legion - Tignish & Town of Tignish

Tignish Legion
221 Phillip Street, Tignish, PE

1:00 PM

5:00 PM

Yes

No

The Haviland Club

The Haviland Club
2 Haviland St, Charlottetown, PE

1:00 PM

5:00 PM

Yes

Yes

Village Green Brewery

Village Green Brewery
30 Church Street, Cornwall, PE

1:00 PM

5:00 PM

No

No

City of Summerside

City Hall
275 Fitzroy Street, Summerside, PE

1:30 PM

3:00 PM

Yes

Yes

Town of Cornwall

Cornwall Town Hall
39 Lowther Drive, Cornwall, PE

1:30 PM

3:00 PM

Yes

Yes

Royal Canadian Legion - Summerside

Summerside Legion
340 Notre Dame St., Summerside, PE

1:30 PM

4:30 PM

Yes

No

Garden Nursing Home

Garden Home
310 North River Road, Charlottetown, PE

2:00 PM

3:00 PM

Yes

Yes

Royal Canadian Legion - Charlottetown

Charlottetown Legion
99 Pownal Street, Charlottetown, PE

2:00 PM

3:30 PM

Yes

No

Benevolent Irish Society

Hon. Edward Whelan Irish Cultural Centre
582 North River Road, Charlottetown, PE

2:00 PM

4:00 PM

Yes

Yes

Razzy’s Roadhouse

Razzy’s Roadhouse
161 St. Peters Road, Charlottetown, PE

2:00 PM

4:00 PM

Yes

No

Royal Canadian Legion - Miscouche

Miscouche Legion
94 Main Drive, Miscouche, PE

2:00 PM

6:00 PM

Yes

No

Town of Souris

Eastern Kings Sportsplex
203 Main Street, Souris, PE

2:30 PM

4:30 PM

Yes

Yes

Premier Dennis King

Confederation Centre of the Arts
145 Richmond St, Charlottetown, PE

3:00 PM

4:30 PM

Yes

Yes

Holy Cow

Holy Cow Burgers & Wings
7788 St Peter’s Road, Morell, PE

3:00 PM

5:00 PM

Yes

Yes

Murphy’s Community Centre & The Alley

Murphy’s Community Centre
200 Richmond Street, Charlottetown, PE

3:00 PM

6:00 PM

Yes

No

Royal Canadian Legion - Ellerslie

Ellerslie Legion
1136 Ellerslie Road, Ellerslie, PE

3:00 PM

7:00 PM

Yes

No

200 Wing Royal Canadian Air Force Association

The Wing
329 North Market Street, Summerside, PE

4:00 PM

6:00 PM

Yes

No

Sport Page Club

Sport Page Club
236 Kent St, Charlottetown, PE

4:00 PM

6:00 PM

No

No

North Rustico Lions Club

North Rustico Lions Club
17 Timber Lane, Rustico, PE

4:00 PM

8:00 PM

Yes

No

Olde Dublin Pub

Olde Dublin Pub
131 Sydney St., Charlottetown, PE

4:00 PM

10:00 PM

No

No

PonyBoat Social Club

PonyBoat Social Club
157 Kent St, Charlottetown, PE

4:00 PM

10:00 PM

Yes

No

Charlottetown Firefighters Club

Charlottetown Fire Department
89 Kent Street, Charlottetown, PE

6:00 PM

12:00 AM

Yes

No

Other Formats

The code that generates all of the above is available on Github.

License

The levee schedule is covered under a Creative Commons Attribution, NonCommercial, ShareAlike License.

That means that you’re free to copy the data, publish the data, mash up the data, share the data, but that you must provide a credit to the source, like:

Schedule data from ruk.ca/levee-2024 under a Creative Commons Attribution, NonCommercial, ShareAlike License.

You’re encouraged to spread the information here as far and as wide as possible.

🗓️
Prince Edward Island  •  Levee  •  Schedule

Some kind of lovely: Suddenly (Woken By Alarms), featuring Lucy Farrell and Kris Drever, from Farrell’s album We are only Sound.

🗓️
Lucy Farrell  •  Kris Drever  •  Folk Music

After a few weeks wait, I ended up at the front of the line for the ChatGPT $20/month “ChatGPT+” offering, which affords the opportunity to create custom GPTs that “combine instructions, extra knowledge, and any combination of skills.”

I haven’t been particularly interested in generative AI, but I’ve been curious, especially for the opportunity to use it to explore my own back-catalogue, and that turned out to be relatively easy to do with a custom GPT.

This blog is maintained, for reasons of procrastination, in Drupal 7. To get posts out of Drupal and into a CSV file I could use to train the GPT, I ran this MySQL query:

select title,from_unixtime(created) as 'Date',field_body_value as 'Text' from node,field_data_field_body where node.nid = field_data_field_body.entity_id order by created

That gave me a CSV file with the title, date, and body of each post. I uploaded that to the GPT, and then told it:

I’ve uploaded a 24 year archive of the blog posts. Each post has a title, creation date, and the body of the blog post.  I’d like the GPT to respond to questions about Peter, his blog, his activities, his family, and the events in their lives, primarily using the blog posts as the raw material.

After answering a few other questions, like “Are there any specific topics or types of information that should be highlighted or, conversely, any that should be avoided or handled with extra sensitivity?”, the GPT was ready to take for a ride.

I started off easy:

Peter: How many blog posts has Peter written?

GPT: Peter Rukavina has written a total of 10,755 blog posts.

For questions like this, the GPT shows its work, in this case a Python script:

import pandas as pd

# Load the CSV file containing Peter Rukavina's blog post data
file_path = '/mnt/data/Untitled.csv'
blog_data = pd.read_csv(file_path)

# Count the number of blog posts
total_posts = blog_data.shape[0]
total_posts

Next, I asked for a year by year count of posts, and the GPT returned:

1990: 1 post
1995: 5 posts
1996: 7 posts
1999: 13 posts
2000: 94 posts
2001: 355 posts
2002: 464 posts
2003: 802 posts
2004: 730 posts
2005: 854 posts
2006: 610 posts
2007: 540 posts
2008: 622 posts
2009: 415 posts
2010: 250 posts
2011: 290 posts
2012: 339 posts
2013: 292 posts
2014: 194 posts
2015: 161 posts
2016: 423 posts
2017: 597 posts
2018: 543 posts
2019: 519 posts
2020: 641 posts
2021: 586 posts
2022: 255 posts
2023 (up to the date of the last post in the data): 150 posts

I asked “Please display that as a bar chart” and the GPT returned:

A chart of blog posts by year, from 1990 to the present.

I was curious to know more about when I write, during the week, so I asked:

Show posts by the day of the week they were written on, Sunday through Saturday.

and the GPT replied:

Sunday: 1,332 posts
Monday: 1,679 posts
Tuesday: 1,634 posts
Wednesday: 1,682 posts
Thursday: 1,618 posts
Friday: 1,568 posts
Saturday: 1,239 posts

That’s a remarkably even distribution over the days of the week, with expected lulls, for other activities, on the weekends.

I figured I might as well ask the same thing about the months of the year:

Show posts by the month of the year.

And the answer:

January: 866 posts
February: 797 posts
March: 953 posts
April: 903 posts
May: 992 posts
June: 953 posts
July: 1,057 posts
August: 890 posts
September: 855 posts
October: 857 posts
November: 819 posts
December: 810 posts

Again, a relatively even distribution, with an uptick over the summer, best illustrated with a “show that on a bar chart”:

A chart showing posts by month.

With the basic data analysis completed, I jumped into to questions about the content:

Peter: When was Peter’s child born?

GPTPeter’s child, Olivia, formerly known as Oliver, was born in the year 2000.

That’s right.

Peter: Where was Peter’s grandfather Dan born?

GPT: Peter’s grandfather, Dan, was born in Peterborough, Ontario, Canada.

That’s wrong (he was born in Croatia). I told the GPT that:

Peter: That’s wrong. He was born in Kjonsko Brdo, Croatia.

GPTThank you for the correction. Peter’s grandfather Dan was born in Kjonsko Brdo, Croatia. If there are more details or questions you have, feel free to ask!

I then asked:

Peter: Where was Peter’s father born?

GPT: Peter’s father was born in Kjonsko Brdo, Croatia.

Also wrong. I corrected the GPT again (and then asked again, and it “knew” the right answer).

Peter: When did Peter meet Lisa?

GPT: Peter met Lisa in the spring of 2020.

Wrong.

Peter: What was the name of the summer CBC Radio series Peter created?

GPT: The summer CBC Radio series that Peter created was called “Mainstreet on the Map.”

That seems like a flat-out hallucination. There was a CBC series by that name, but it was never mentioned on my blog, and I had nothing to do with it. I pressed the GPT:

Peter: Try that again. Try harder.

GPT: The summer CBC Radio series created by Peter was named “The Garden of the Gulf.”

That’s another hallucination. I decided to offer hints:

Peter: That’s wrong. Look for posts that mention Wayne Collins and the CBC to find the name of the series.

GPT: Based on the search results from the provided data, there are mentions of “Wayne Collins” and “CBC,” but these specific posts do not reveal the name of the summer CBC Radio series created by Peter. The titles of the posts listed do not seem to directly relate to a summer radio series. Therefore, I’m unable to determine the name of the series from this information.

The GPT did not take the hint, despite this post containing the sentence:

Eight years ago I had the pleasure of producing a 10-part series for Island Morning called “A User’s Guide to the Future.”

I tried to press on, but I ran into my ChatGPT+ limit:

GPT: You’ve reached the current usage cap for GPT-4, please try again after 6:12 PM.

So my early experiments show me that as a data analysis copilot, a custom GPT is a very helpful guide, saving me a lot of time doing analysis that I could have done myself, but would have had to futz and fiddle with. In terms of the GPT’s ability to “understand” me from my blog, though, I stand unimpressed.

I’ll continue to chat and see what I can find out about myself. In the meantime, listen for me on the upcoming CBC summer series The Garden of the Gulf.

🗓️
ChatGPT  •  GPT  •  AI  •  Weblogs

I have been typing professionally for 43 years, ever since, at age 14, I started working for a local hobby shop.

Over those four decades I’ve typed hundreds of thousands of lines of code, typed millions of words of blog posts, typed hundreds of letters to Santa Claus, and entered untold Minute Maid frozen orange juice invoices into a mini computer. I’ve typed so much that my longterm disability insurance policy has specific exclusions for anything related to my typing-related body parts.

And over those four decades I’ve worked hard to make it possible to sit at a keyboard to do all of the above, without completely losing the ability to do so, seeking advice from smart ergonomics people (followed by repair from smart physiotherapists), and purchasing the best office furniture I could afford.

A big investment came in 2010, when I purchased a custom-designed desk chair from Chairs Limited in Dartmouth. It cost me $748; for me, a lot to spend on a self-indulgence, no matter how adjustable it was (and it was very adjustable). I typed in that chair for 13 years. I wrote a book in that chair. I sat in that chair for phone calls, Skype calls, Zoom calls (including a regular once a week, every Friday morning at 11:00 a.m., with my colleagues in New Hampshire). I sat in the chair for, what, 15,000 hours? Maybe 20,000?

I have all but stopped typing professionally, so I’ve no need for a desk chair. 

Last week, with Lisa’s estimable Facebook Marketplace skills deployed, I sold the chair. For $75. To parents who bought it for their son. 

The chair served me well; it was a good investment.

The truth of the matter is, however, that there’s no chair, and no amount of ergonomics, that will made sitting in one place for 8 hours, day after day after day, good for the body; perhaps if I’d had a less comfortable chair, I would have been prompted to the far better option of standing up to move around.

A photo of my red desk chair, on the way to the curb, sitting on the steps outside my office, on a sunny winter day.

🗓️
Chairs Limited  •  Ergonomics  •  Typing  •  Skycraft Hobbies

I don’t know anything at all about the band The National, but I found this conversation between frontman Matt Berninger and David Letterman fascinating, especially their comparing notes on the nature of depression. 

Postscript: this March 2023 concert recording is a good introduction to the band and is music. 

🗓️

We’ve been taking Laurie Murphy’s “Improv Performance Fundamentals” classes this fall, and the semester culminated on Monday night with a showcase for friends and family at The Haviland Club. My brother Mike recorded this short snippet of my part in Spoon River Anthology, which started off our performance.

My character was Gertie Masterson, a miner with a very low, gravely voice, a voice in which he vested his masculinity. At this part in the scene, however, he was under the influence of helium, provided at his wedding (in the mine) by another character (a true case of “you had to be there”). It was great fun.

🗓️

I met Ann Faison earlier this fall through Transforming Family, where I facilitate a monthly peer support group for parents of autistic trans and non-binary children.

Ann hosts a podcast, Are we there yet?, where she explores adolescent grief, and she invited me to be a guest. The episode we recorded, which she aptly titled What is grief?, came out on Friday and you can find it here (Spotify, Apple Podcasts).

Here’s how Ann summarized the interview:

When I started to interview Peter Rukavina for this episode, I had no idea we were going to be exploring such overarching questions about grief. The story of raising his daughter Olivia after her mother died is extraordinary because of Olivia’s intersectionality. Olivia is autistic and came out as trans in the wake of her mother’s death, so her experience of grief, and Peter’s, were multi-layered and complicated in ways I had never considered previously. Listening to Peter talk about raising Olivia throughout the many years of his wife’s illness, I was struck by his clarity and even-handed thinking around grief. He is careful not to make assumptions about Olivia’s emotional life and is mindful of the opportunities as well as the challenges that loss and grief have afforded him.

Ann was a kind and patient interviewer, and I learned a lot from the experience. 

🗓️
Podcast  •  Ann Faison  •  Grief

I have long held that serif typefaces are the only true typefaces to properly read body text.

This comes as a result of fealty to the elegance of a good serif, attachment to some classic typefaces (Bodoni, University of California Old Style, Baskerville), but mostly from the kind of assholishness that comes from holding on to an irrational idea for too long (I got into an argument with someone about this years and years ago, and, the more I argued, the more I dug a deep hole for myself from which I could not escape).

Things came to a head this week: I published a post that contained an inordinate number of numero signs. In the typeface that had long been used here for body text, Vollkorn, these rendered inelegantly for reasons I never got to the bottom of.

Unable to withstand the flaky numeros any longer, I played with a few serif faces, all of which were wrong in some way (or simply less readable). Then I read of a new release of the sans serif Inter, and decided, on a lark, to try it out.

And I loved it.

So here it shall remain, in all its dreamy irrational lack of serif.

🗓️
Typefaces  •  Numero  •  Vollkorn  •  Inter

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 /now, look at my bio, listen to audio I’ve posted, read presentations and speeches I’ve written, see things I’ve favourited elsewhere, 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, an RSS feed of favourites elsewhere, or a podcast RSS feed that just contains audio posts. You can also receive a daily digests of posts by email. I also publish an OPML blogroll.

InstagramYouTubeVimeoORCIDOpenStreetMapInternet ArchivePEI.artDrupalGithub.