2024 Charlottetown 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.

Creating a custom GPT to learn about my blog (and about myself)

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?

GPT: Peter’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.

GPT: Thank 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.

Goodbye my Dolphin Series Tilter

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.

Spoon River Anthology

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.

What is grief?

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. 

The one where I am unable to withstand the flaky numeros…

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.

Pages