Social Events

I arrived in Portland for PyCascades 2025 earlier today. There was a pre conference social at Hawthorne Asylum Food Cart Pod where we could pick up our badges and register and just get to meet some of the other attendees. There was exactly one person I knew for sure that I would know at the conference (Hi Velda!) and I was hoping that I'd run into her so I would have someone I knew. I'm terrible at social events where I don't know anyone.

I got to the venue a few minutes before the start time (because if you're not early you're late!) and I didn't really see anything that appeared to be related to the conference. I checked the site a few more times to make sure I was in the right place, and then resigned myself to just sit on a bench and play on my phone for a while.

And then, after about 10 minutes, I heard Velda call my name out. I saw her smiling with her contagious smile and knew that my night was going to be alright.

It was a good time, and I got to meet a few people.

It's funny ... sometimes you just need 1 person that you know at a social event to immediately make you feel a little more at home.

Shoresy

Just a few days ago I finished up watching Shoresy for the second time. This is one of my all time favorite, gut busting shows. I love how honest, and earnest, the main character Shoresy is. The show is well acted, well written, and an all around good time.

Honestly, there are scenes that I've seen several times on YouTube clips, and in the show, that make me almost fall over laughing.

And I want to be clear. When I say watching Shoresy for the second time, I mean all three seasons of Shoresy for the second time.

Now, why would I do this?

Honestly, with all of the awful things going on right now, I need a respite. I need to be able to crawl into a place where hockey is a central character, where multilingualism is encouraged, and where there's a character that will just tell you how it is.

Shoresy isn't for everyone. Some will find it offensive for the same reasons I find it endearing. And I think that's OK.

But if you're finding yourself in a need to retreat from the world, for just a little while, Shoresy can give that to you. At least it did for me.

Can't wait for Season 4 to come out.

Technical Solutions to People Problems

"If you think technology will solve your problems, you don't understand technology and you don't understand your problems"

~ attrib. Laurie Anderson

From a Toot by Jake Rayson

In a previous post, I wrote about how to ask why without sounding like a jerk. This is a slightly related concept (at least in my head).

Sometimes, as technical people, we are asked to solve problems. The more we dig into them, the more we discover that the problem that needs to be solved isn't a technical one but a people one. In many cases, it's just getting two groups to actually talk to one another.

This can be hard and awkward, so people may want to avoid it. Creating a report telling someone they're doing something wrong is way easier. No hurt feelings! However, I've found that the approach tends to create more problems than it solves.

The situation

The situation is a real one, and I'm obfuscating details to help 'protect the innocent'.

At the start of each year, large amounts of new data are needed to be added to a system. The additions are, by their nature, very manual1 and so the team responsible for them spends much of their time trying to get the data added.

Another team is highly dependent on this new data being added in order to process their widgets2. The widgets get loaded into the system and checked to see if the data from team A is complete. If it isn't, then the widget gets flagged. This flag directs the members of Team B to reach out to Team A to get clarification on the state of the data needed to process the widget.

Only, that's not how Team A understands it. While they are furiously trying to update data, there is some basic data that covers roughly 80% of the widget processing data needs that are already available. So, the vast majority of the time, there is no need for Team B to reach out to Team A because the information they need is available in the system to process the widget.

This understanding was either lost or never communicated effectively so Team B would just email Team A with questions about the widget data and then get their answer and move on. This is despite the fact that the information is available in the system for the members of Team B to review!

The leader of Team A asked me if I could 'update a report' to 'remove some of these widgets so Team A could better focus on the work of adding the data'.

I thought that seemed reasonable, so I asked Team B a few questions and then made a bit more discoveries and found out the actual problem, which was that the information needed by Team B was in the system. Team A just needed Team B to do a better job of looking for it and asking questions about the things that were needed instead of everything.

The Solution

I proposed that the leaders from Team A and Team B get together to talk about the issue.

At the meeting, the leader of Team B was horrified to hear what was happening. They had no idea that many emails were going to Team A about questions that the members of Team B should be able to answer on their own.

This is all well and good, but why did it take a tech person to spot this and get the team leadership together to figure it out?

I wish I knew the answer. I think part of the insight I had was the current pipeline of work, how long it was going to create a report, and the need to have the problem solved sooner rather than later didn't line up. At all.

I needed to look for a potential non-technical solution. The other thing that I think happened here is that I wasn't weighed down by any history of interactions between the Teams. I was just trying to gather information. In gathering information I was able to see what the real problem was and that the only solution that made sense was for the two teams to just talk to each other.

The Outcome

During the meeting, Team B committed to retraining staff and helping to make sure that they only reached out when there was an actual question about the data for the widget production. Team A was thrilled with this solution, and now they can focus on getting the data into the system more efficiently and with fewer interruptions. A win-win, all because a tech guy got some non-tech people to talk to one another.

  1. yes I would like to automate this, but one step at a time! ↩︎
  2. Not actually widgets ↩︎

Swimming as a means of Meditating

Last July I started swimming as a way to help relieve some stress related to some work stuff. I've spent the last 7ish months swimming 3 times a week and something weird happened on the way to getting into better shape.

I discovered that, for me, swimming is one of the most medatative experiences I can have. I used to run, like a lot, but when I ran I spent most of my time listening to music, or podcasts, but never running silently. With just my thoughts.

I know that there are airpods, or airpod like things, that are water proof, but when I first started swimming I didn't want to invest in them as I wasn't sure if I would keep up with the swimming. So I just swam. Three days a week. All summer.

And it turned out that as I am swimming, either Breast Stroke, or Free Style, I'm just focusing on this stroke ... this breath ... this lap. For the first time in my life while being physically active, I was totally, 100% present with my situation.

This total presence allowed me to calm down, My thoughts would drift towards this, or that, but they always come back to her. Now. This stroke. This breath. This lap.

And as I've spent more time swimming I'm not really getting much faster, but I am getting into a better state of mental preparredness. A better state of mental health.

Now, don't get me wrong. I'm not suddenly like the most Zen person you're ever going to meet1. But, I am just a little more present. A little more here. A little more ... me.

  1. I am a hockey fan after all! ↩︎

Prepping for PyCascades

I'm heading to Portland this weekend to give a talk at PyCascades. I've given the talk before (last September in Durham, North Carolina at Django Con US) and I'm still excited to give it.

Since I gave the talk I've been able to implement many of the things that I was promoting in my talk. Truth be told, I felt a bit like a fraud when I gave the talk at DCUS since I was still working on getting to where I wanted to be!

That being said, the talk has helped me, and hopefully, others, as they make their way through the journey of trying to get more meaningful information related to alerts and how to deal with them.

Even though I've already gaving the talk at another conference, I've been practicing every few days to make sure my timing is down, and that I feel prepared. This has been a much different experience than last time when I would record myself giving the talk, watch the talk and make notes, update the talk. Repeat that process 7 or 8 times and I got a talk that I was proud of.

It was exhausting but worth it!

Since I've already given the talk I'm mostly just making sure that my timing is down and I'm good with the slides. I've made a few adjustments, mostly related to my introduction and not much else.

I'm still nervous about giving the talk, but I'm pretty sure that's just the public speaking nerves!

Looking forward to being in Portland in just a few days!

AHL All Star Challenge

The AHL All Star Challenge was tonight and it was some of the most fun I've had at Acrisure since it opened in late 2022. Most All Star style competitions are pretty unserious, and can be, in my opinion, kind of boring as well. I mean, I LOVE baseball, but watching the All Star game is not for me. And don't get me started on the Home Run Derby. Snooze fest for me.

The AHL All Star completion though was something else! A Skills day yesterday, but then the actual challenge today. Representatives from each division play in a 3-on-3 style, in 2 5-minute periods. If tied at the end, the tie is broken with a shootout. The top two teams with the most wins face each other in the Championship game.

The Championship game is a little different in that it's a 6 minute single period game. Again, if there is a tie at the end you have a shootout.

This means that you get to watch 7 'mini' games in about 2 1/2 hours. It's pretty intense.

The Firebirds were the host team this year, but we only had one All Star, Cale Fleury. He was called up to the Kraken, so a replacement, Jani Nyman was made. Even though the Firebirds have a really good record (24-15-1-5), they only had 1 player on the All Star Game because the Pacific Division has 10 teams (read my thoughts on that here).

Anyway, the competition was pretty amazing tonight, and I'm really glad I got to go. I'm kind of hoping to be able to go next year when it's in Rockford.

How to Watch a Hockey Game - Reading the Standings

This is the fourth part of my How to Watch a Hockey Game Series. You can catch up on previous articles here

Game Outcomes

In many North American sports when reading the standings there are typically just Wins (W), and Losses (L).1

Hockey is a bit different. When you look at the standings for Hockey you'll see 4 headers:

  • W: Wins
  • L: Losses
  • OTL: Overtime Losses
  • SOL: Shootout Losses

As discussed earlier in this series, if a game is tied at the end of regulation, a five-minute overtime period is played. If either team scores during this Overtime period then the winning team gets a Win, while the losing team gets an Overtime Loss (OTL).

If they're still tied then a Shootout is played. Once a winner is declared in the Shootout they get the Win, while the losing team gets a Shootout Loss.

Because of this, values are assigned to each type of outcome:

Outcome Points
Win 2
Loss 0
OTL 1
SOL 1

This might best be shown with a concrete example.

A Concrete Example

Let's say that the Coachella Valley Firebirds have played 39 games so far. They have won 21 games and lost 13 games. They've also played in 5 games that went into overtime and lost. Their overtime losses are one (1) in the Overtime period and 4 in Shootouts. Their record would look like this:

Coachella Valley Firebirds: 21-13-1-4

Points Calculation:

  • Wins: 21 × 2 = 42 points
  • OTL: 1 × 1 = 1 point
  • SOL: 4 × 1 = 4 points

Total: 42 + 1 + 4 = 47 points

The Firebirds play in the Pacific Division of the Western Conference, and the standings might look like this:

Team GP W L OTL SOL PTS PCT
Calgary 41 27 13 1 0 55 0.671
Coachella Valley 39 21 13 1 4 47 0.603
Colorado 36 21 11 2 2 46 0.639
Ontario 37 22 13 1 1 46 0.622
San Jose 36 20 13 1 2 43 0.597
Abbotsford 37 20 15 1 1 42 0.568
Tucson 37 19 16 2 0 40 0.541
Bakersfield 35 16 14 4 1 37 0.529
San Diego 37 11 20 4 2 28 0.378
Henderson 39 12 25 2 0 26 0.333

Legend: - GP: Games Played - W: Wins - L: Losses - OTL: Overtime Losses - SOL: Shootout Losses - PTS: Points - PCT: Points Percentage

Winning Percent

There are 2 things to look at in the standings: (1) Total Points, and (2) Winning Percent.

The Total Points we've already spoken about so let's review winning percent.

The winning percent is calculated as the Total Points the team has divided by the total possible points that they could have gotten. The total possible points are calculated as the Games Played x 2 (that is, what are the total number of points that they would have if they won every game they played).

That is

    Winning Percent = Total Points ÷ (Games Played × 2)

For example in the table above, we see that the PCT column for the Firebirds is 0.603. This is calculated by the Points (47) divided by GP x 2 (39 x 2 = 78), that is 47 / 78 = 0.603.

The winning percent allows ranking intra-season when teams haven't played the same number of games. After all games have been played, the rankings are determined by the total number of points a team has.2

Conclusion

You should now be able to parse the standings in a Hockey League and be able to tell how well (or poorly) your team is doing.

This is the end of my series (for now). If there are any other burning questions you have about hockey, reach out to me on Mastodon.

  1. Football also has Ties (T) but they are exceedingly rare and are only ever displayed when the first Tie of the season occurs ↩︎
  2. Depending on the league there are tiebreakers, but that's outside the scope of this article ↩︎

Moving Away from Big Tech

I'm trying to get off of Google and other large Tech company platforms this year. It's going to be a year(s) long journey i'm pretty sure, but today I was able to at least get the list of my accounts that use gmail as the email address. It was relatively straight forward, with a little help from Claude, to get me what I wanted.

I use 1Password as my password manager, and while it's search feature is robust, I just really wanted a table of accounts. That is, I wanted to have the name, URL, Vault, and any Tags associated with the account

I used this to get what I was after

op item list --categories Login --format=json | jq -r '(["Title", "Email", "Vault", "URL", "Tags"] | @csv), (.[] | select(.additional_information == "myemail@gmail.com") | [.title, .additional_information, .vault.name, .urls[0].href, .tags] | @csv)' > accounts.csv

Now I have a list of the accounts that use my gmail account and I can start working my way through them. My plan is to start with the non-essential accounts. That is, the ones that I haven't used, am not sure what they are, aren't important anymore kinds of things. Once i have that done I'll start getting into the scary ones ... like my financial accounts.

There are many things in life I'm glad to have done, but was not glad to be doing them at the time. This is going to be one of those things i'm pretty sure

As a quick aside, yesterday I de-Meta-fied my life by deleting my Facebook, Instagram, and What's App accounts.

California Winter League

One of the great things about living in the desert of Southern california is that during the winter time the day time temps are typically in the high 60s or low 70s. This makes outdoor activities amazing experiences. What's even better is that every January / February the California Winter League gears up and my wife and will spend Saturday mornings (and sometimes afternoons) watching baseball under the gloriously beautiful sky.

The best part is that the teams are filled with high school, and college hopefuls, so it's baseball in kind of its rawest form. better than little league, but not quite as good as Pro ball. And since it's a winter league with essentially made up teams, my wife and I will pick a team to root for and then spend the ensuing 7 innings trash talking each other as 'our' team is winning.

Another great part is that it's a relatively inexpensive outing. Each Saturday two games are played, and for $10 for each adult you get access to both games. The games are only 7 innings long but they use wooden bats instead of aluminum bats so it feels more like pro ball than college or high school ball.

And just because it's an instructional league doesn't mean there aren't some great plays made. Just today I saw a hit stealing diving catch made by a shortstop, and a diving catch into foul territory made by a right fielder that ran faster than I really thought was possible.

How to Watch a Hockey Game - What to Watch

In a previous post of this series I laid out some basic rules of hockey. In this post I'll hopefully provide some tips on what to watch during your first few hockey games.

What should I 'watch' though?

This is a tough question and depends on if you're watching on TV or in person.

On TV

If you're watching on TV you're limited by whatever the camera and director are showing you. Hopefully they're pretty good at what they do and they'll help to show you what is interesting. You'll also have the benefit of replays. 1

Watching the action on TV will be your best bet. The commentators will do a reasonable job of explaining the play. For some of the best NHL broadcasts you'll want to watch a Canadian feed. This might not be an option depending on where you live, but in general, watching a Canadian feed of a Canadian team will be really helpful.

If, for whatever reason, you're watching an AHL game2 the best broadcasts to watch, in my opinion, are the Lehigh Valley Phantoms called by Bob Rotruck and Cleveland Monsters called by Tony Brown. Each of these is a single broadcaster doing both the color commentary and the play-by-play ... and they honestly get so excited it's hard to NOT get excited with them.

In Person

For your first in person game, just try and follow the puck as best you can. If for whatever reason you can't do that, pick a spot on the ice to concentrate on, preferably near one of the goalies. Which one? The goalie of the team you're not rooting for is a good choice! Then you can just kind of watch the action there.

Keeping in mind the rules start by focusing on just one rule - either icing or offside - for an entire period. Once you feel comfortable recognizing that rule during gameplay, switch your attention to watching for the other rule in the next period. For example, if you spent the first period watching for icing, spend the next period looking for offside plays.

Hopefully after a full game you're able to see them when icing or offside happen. If not, it just means you'll need to come back and try again 😁.

What not to worry about

Hockey is a fast paced game. No, like really fast. Don't worry too much about anything other than watching for the puck, if you can, and trying to pick up icing and offside. You'll see other stoppages in play when a penalty is called. The refs will make hand gestures to indicate the call on the ice and someone will be sent to the box.

Don't worry about whether or not a fight will break out. They don't always, and if they do, each player will be assessed a major penalty and will spend 5+ minutes in the penalty box.

Don't worry too much about learning the positions. The goalie is an obvious one (that's the person with all of the pads, the bigger stick, and the giant, well painted mask in front of the net), but trying to distinguish between a defender and a center ... like just don't worry about it!

Conclusion

Hockey is an amazing sport to watch, whether in person or on TV. It can take a little bit of time to get used to the fast pace, but hopefully this series has given you some tips to enjoy it and understand what's going on.

  1. and refreshments that are much less expensive! ↩︎
  2. home of my beloved Coachella Valley Firebirds ↩︎

Page 4 / 24