A Quick 5K

My Apple Watch alerted me that if I wanted a fancy sticker for global running day I would need to run five kilometres on June 4th.

It’s been over a decade since my last “run” but yesterday I figured since I didn’t swim that day and I was feeling a bit antsy and out of sorts anyway1 I should go for it.

It took me 37 minutes.

My legs are a bit sore today but it wasn’t as bad as I thought it might be. The award on my watch, however, didn’t show up. And here I’ve gone and done exercise merely for the sake of feeling good and making myself healthier. Maybe it’ll arrive in the next day or two, otherwise, well, I guess I’m still happy I did it but I’d like that award.

Update: It showed up without a notification. I just had to go looking for it:

  1. probably about the job I didn’t get[↩]

Job

I had a job interview last week. I am extremely qualified and was quite looking forward to getting it.

The vice principal called me today and said, “they are ‘going a different way’ from the interview”. Which in my mind translates to, we already had someone picked out for the job and it’s not you.

I’m disappointed but if my hunch is correct there isn’t anything more I could have done.

List of Random Posts Widget

I wanted to create a home for my new Random Posts Widget — and so I guess this post is it. I created it with the help of AI and I’m pleased with the result. There are some other WordPress plugins that do the same thing but this one uses modern code1.

It’s pretty straightforward, it just picks between one and 10 random posts and displays them on your WordPress site. That’s it.

Download the List of Random Posts plugin, unzip it, upload it to your wp-content/plugins/ directory and then activate it from your WordPress admin -> plugins page. After it’s live, you’ll find it in your collection of widgets which can be added on your site anywhere widgets are supported.

See the sidebar for the plugin in action.

PHP code after the jump: Continue reading “List of Random Posts Widget”

  1. At least according to ChatGPT[↩]

Apple Earnings Q2 – 2025

From Apple Newsroom:

Apple today announced financial results for its fiscal 2025 second quarter ended March 29, 2025. The Company posted quarterly revenue of $95.4 billion, up 5 percent year over year, and quarterly diluted earnings per share of $1.65, up 8 percent year over year.

Tim Cook was asked about the high profile court case ruling against Apple’s refusal to follow an injunction over anti-steering provisions against developers selling subscriptions or other services outside of the App Store. Cook echoed Apple’s statement about complying and appealing, and he didn’t add much more beyond saying that the outcome is still unclear:

The case yesterday, we strongly disagree with it. We’ve complied with the court’s order, and we’re going to appeal. In the DoJ case you referenced with Google, that case is ongoing, and I don’t really have anything to add beyond that.

We’re monitoring these closely. But as you point out, there’s risk associated with them. And the outcome is unclear.

iPhone $46,841 million up 2%
Mac $7,949 million up 7%
iPad $6,402 million up 15%
Wearables, Home and Accessories $7,522 million down 5%
Services $26,645 million up 12%
Total Net Sales $95,359 million up 5%

Here are the Six Colors charts and commentary.

Latrodectus

I found this little gal in my backyard just now:

Black widow spider

This is the second black widow I’ve ever come across. I spotted the first one crawling around on the ground near me when I worked on the base in CFB Suffield digging holes1. I left it alone and it left me alone.

With regard to this one in my backyard, however, I didn’t think it would be prudent to just leave it there next to my strawberry garden so I tried to move it and it got away.

I hope you sleep better than I will tonight.

  1. That’s a story for another day[↩]

Liberals Win the Canadian Election

How it started:
338 Simulator projects these results as: CPC 256, LPC 19, NDP 22, BQ 44, GP 2
How it’s going:
LPC 169, CPC 144, BQ 22, NDP 7, GP 1

The loss of >27% lead and failing to win re-election in his own riding has to be a major blow to Pierre Poilievre but in his concession speech last night he declared he’s determined to continue on in his role as leader of the opposition. He even bragged that he prevented the Liberals from achieving a majority government.

Jagmeet Singh, on the other hand, resigned last night after his party’s support imploded in the face of fear over Trump’s sovereignty and tariff threats and the loss of his own seat in parliament. In time Singh will be remembered more for his great contribution to improving Canadian public health care with the NDP’s dental plan than leading his party into non-party status. It should be noted that without Singh’s coalition government support, the Liberals otherwise would have been wiped out in a snap election a long time ago and Poilievre would have been the one negotiating with the US when Trump breached our trade deal.

Which leads me to wonder, if we don’t renegotiate NAFTA1, does that mean we can get rid of the GST?

Back in the 1980’s the Liberal government was pushing for a new trade agreement with the United States. Brian Mulroney opposed it before he was elected:

“Don’t talk to me about free trade…. Free trade is a danger to Canadian sovereignty. You’ll hear no more of it from me…. This country could not survive with a policy of unfettered free trade…. This is a separate country, we’d be swamped. It’s bad enough as it is.”

But after he was elected he turned face and negotiated The Canada–United States Free Trade Agreement (CUSFTA) and with it came the GST.

“Canada’s Goods and Services Tax (GST) came into effect on January 1, 1991. (Mulroney had to stock the Senate with extra Tory appointees to get the tax passed by the Liberal-dominated Upper House.) Set at 7 percent, the GST replaced a federal manufacturer’s tax of 13.5 percent, and in doing so, shifted the burden from private companies to individual consumers. The GST, in turn, was brought in to compensate for import duties and excise taxes that were now being lost under — you guessed it — free trade. Keep that in mind the next time you cough up your share of the national sales tax: Free trade isn’t free.”2

  1. or whatever it’s called these days[↩]
  2. Excerpt From Canadian History for Dummies by Will Ferguson[↩]

The Amazing Invention of the Plastic Bottle

Bill Hammack is a chemical engineer with a YouTube channel (The Engineer Guy). This recent video on the development of plastic bottles is well worth watching.

Bill explains how the two-liter plastic soda bottle begins as a plastic tube, called a preform, which is heated and inflated with air in a bottle-shaped mold. He explains how the stretching of the preform creates a crystalline regions in the bottle’s plastic (polyethylene terephthalate) that create a bottle with great strength, low permeability to carbon dioxide, but which is also lightweight—some 35 times lighter than a glass bottle of the same size. Bill explains key features of the bottles design, including: why the bottle looks like it does, why the neck has gaps in its threads, and how the tamper-proof ring works. He also discusses “hot-fill bottles” used for sports drinks and plastic juice bottles, noting the panels molded into the bottles to accommodate temperature changes. Lastly, he discusses briefly the recycling of PET bottles, although noting that about 75% of the 500 billion PET bottles manufactured annually end up in landfills or are incinerated.

I remember when bottles changed to a shape that no longer required a cap at the bottom as well as the not-so-long ago (to me) change to smaller lids. At the time both changes just seemed like obvious reductions in plastic but learning about the many tests and years of litigation to make them happen is a fascinating look at the rest of the story.

The other thing that struck me about this video was learning about the bottle shapes for products that need to be heated. For a long time I’ve been annoyed at the shape of apple sauce bottles because of how hard the ridges make getting the last scraps out but seeing why they have that shape makes me slightly less annoyed. Now I’ve unlocked a new fear about what super heated apple sauce plastic is doing to our bodies.

(via Dr. Drang)

Solving “FriendFace” – 100 Days of SwiftUI Day 60 Challenge

Last Thursday I officially joined Apple’s App Developer Program so although I’m anxious to start rolling out some of the apps that I’ve started putting together for now I’m still developing my skills.

I’ve been learning iOS app development through Paul Hudson’s wonderful 100 Days of SwiftUI and I just finished the Day 60 Challenge — Friend Face. I’m posting my work here in order to share my process and solidify my thinking.

Continue reading “Solving “FriendFace” – 100 Days of SwiftUI Day 60 Challenge”

Alberta Separation?

My friend Chelsea Matisz was on the panel for the latest episode of West of Centre: The new normal is not normal, but are Albertans ready to separate?

Everything we know about “the West” seems to be shifting this week. On a global scale, the U.S. has upended the post-war international order by slapping tariffs on dozens of countries, effectively shredding free trade. Closer to home, former Reform Party leader Preston Manning warns of a potential “West wants out” scenario if the Liberals form government again. How real are these threats? West of Centre host Kathleen Petty talks with three everyday Albertans about navigating this highly unusual election. Journalists Rob Breakenridge and Lisa Johnson then weigh in on whether these pressures could redefine the upcoming election — and Canada’s political landscape at large.

I just wanted to add that I haven’t heard anyone talking about Alberta separation. In a grade 11 social studies class that I was guest teaching the other day, the students hadn’t even heard the term “Wexit”1. While there are some anti-Canadian idiots making waves on American News, I would say they are only few and far between.

  1. The Maverick party, which pushed for western Canadian autonomy is not even popular enough to put up a single candidate.[↩]