An Argument to Realign the AHL

What is the AHL

The AHL, or American Hockey League, is a hockey minor league based in the US and Canada. It's widely considered to be the step right below the NHL which is the top Hockey League in North America.

There are 32 teams in the AHL, and 23 of them make the playoffs. The teams play for the Calder Cup.

What are the Calder Cup Playoffs?

The Calder Cup Playoffs are the name given to the AHL team vying for the Championship Calder Cup. The 2023 Calder Cup Playoffs started on April, 18 2023 with 14 teams playing in 7 different series while the other 9 all had byes, that is, they did NOT play in the first round.

One thing to note is that the first round is essentially a play in1 round of the playoffs, but it's not an evenly divided play-in.

The current format has round 1 with a best of Three Games, rounds 2 and 3 with a best of Five Games, and both the Conference Finals and Calder Cup Finals with a best of Seven Games.

Why Realign?

The ultimate goal is to enhance competitive balance and foster new rivalries, making the playoff race and outcomes more reflective of team performance throughout the season.

The current structure of the AHL divides the entire league into 2 conferences, and each conference has 2 divisions.

In the Eastern Conference, you have the Atlantic and North divisions. The Atlantic has 8 teams, while the North has 7.

Out in the Western Conference, you have the Pacific and Central division. The Pacific has 10 teams, while the Central has 7 teams.

Now an interesting thing about the playoffs is that the top 7 (of 10) teams from the Pacific make the playoffs, while the top 5 (of 7) teams from the North and Central make it. The Atlantic sends its top 6 (of 8) teams to the playoffs.

Each division will have a certain number of teams with a bye-round, that is they don't have the play in the first round.

In the North and Central three teams get a first-round bye, with only 2 teams playing in round 1. In the Atlantic three teams get a first-round bye with 4 teams playing in the first round.

And in the Pacific division, you have 6 teams playing in the first round with only ONE team getting a first-round bye.

So of the 23 teams that make the playoffs, 14 of them play in the first round, and of that 14, 6 come from the Pacific division.

Seems a bit off to me.

This also had the slightly embarrassing (for the AHL at least) aspect of seeing the second-best team in the entire league in the 2022-23 season (the Coachella Valley Firebirds) needing to win a Play-in round to make it into what might be considered the playoffs.

By the time the Calder Cup Playoffs had concluded last year, the Firebirds lost to the Hershey Bears in 7 games. It was the MOST exciting series that I will ever get to see in person, or on TV.

That being said, the Firebirds played 26 out of a possible 27 games during the playoffs last year. The Bears played in 20 out of a possible 24.

If the Firebirds would have had a first-round bye, like the Bears, they would have most likely still played in 23 out of 24 games (3 fewer games than what they actually played) BUT three games can make a huge difference!

I would like to make the case that realignment of the AHL, to a balanced set of divisions, and conferences is not only feasible, and easy, but in the best interests of the AHL.

Before exploring the realignment scenario, I'll outline the proposed changes. The realignment aims to balance the divisions and conferences, ensuring an equal number of teams in each division and a fairer playoff qualification process.

Additionally, if this realignment had happened last year, I believe that the outcomes could have been different (especially given the Firebird Colored Glasses I might be wearing).

There is a post on the AHL Site about realignment. Quoting the League President Scott Howson:

There’s no easy solution. I’m not saying it’ll never happen, but it’s not in the cards right now.

One item stated for a lack of realignment is, "Realignment would break up the Pacific cohort and likely force teams into the Central, and Howson does not see that as likely, given the additional travel burden that it could put on the division’s members."

I'm going to assume this is NOT the case. What I have below is from a "Does this seem like it might work?" perspective. 2

Realignment

With my rationale for the need for realignment of the way, let's get into the actual implementation of the realignment.

I built a Streamlit app to see what a potential realignment would look like that can be found here.

The idea would be:

  1. Move both Tucson and Colorado to the Central Divsiion to get the Pacific Division down to 8 team
  2. Move Grand Rapids from the Central Division (in Western Conference) to the Atlantic Division (in the Eastern Conference) to get the Central and Atlantic to 8

Impact of Realignment on the 2023 Calder Cup Finals

In the NHL there are 2 conferences with 2 divisions of 8 teams each. The playoffs get a total of 16 teams. The three top teams from each division, and then the top two teams from the Conference.

This means that round 1 has 16 teams playing in 8 different series and NO ONE gets a bye.

Let's imagine the 2023 Calder Cup Playoffs with realignment AND a similar style of playoff admission. One difference between the AHL and NHL I'd keep would be to have 5 games in round 1 and 2, and increase to 7 games in the Championship, versus the NHL which has 7 games in every round.

I list the teams below in their proposed (potentially new) division. The number next to the team is the total points each team had at the end of the 2022-23 regular season.

The Eastern Conference would have had the following seeding:

Atlantic Division

  • Providence (98)
  • Hershey (97)
  • Charlotte (86)

North Division

  • Toronto (90)
  • Syracuse (81)
  • Rochester (81)

Wild Card

  • Springfield (84)
  • Hartford (81)

The Western Conference would have had the following seeding:

Central Division

  • Texas (92)
  • Colorado (90)
  • Milwaukee (89)

Pacific Division

  • Calgary (106)
  • Coachella Valley (103)
  • Abbotsford (87)

Wild Card

  • Manitoba (84)
  • Iowa (79)

Eastern Conference Playoffs

Round 1 Best of Five games

In this section, we'll explore the first-round matchups, highlighting the top contenders and their paths to victory based on past performances and current strengths.

Starting in the Eastern Conference we would have the following round 1 matchups:

  • Providence (98) vs Hartford (81)
  • Toronto (90) vs Springfield (84)
  • Hershey (97) vs Charlotte (86)
  • Syracuse (81) vs Rochester (81)

To determine the winners I'm going to look at the playoffs last year and then make an educated best guess as to the winners of each series

Providence vs Hartford

Providence lost to Hartford in the Atlantic division semi-finals last year, 1-3 and I see no reason for that to change ... other than maybe Hartford wins in 3 instead of 4. But I'm going to keep it at Hartford wins 3-1

Toronto vs Springfield

Toronto and Springfield didn't play each other in the playoffs last year or in the regular season. Springfield lost to Hartford 2-0 in round 1 while Toronto had a first-round bye and defeated Utica 3-1 in the North division semi-finals. My guess is that Toronto would have won this series 3-1

Hershey vs Charlotte

Hershey defeated Charlotte in the Atlantic division semi-finals last year 3-1. Granted Charlotte had just played 3 games against Lehigh Valley and won that series 2-1, I still think that Hershey defeats Charlotte, only it takes all 5 games. Hershey wins 3-2

Syracuse vs Rochester

Syracuse lost 3-2 to Rochester. Same result this time around I would think

Round 2 Best of Five games

Based on the seedings for the first round, I believe that Hartford would hold a higher position than Rochester

  • Hershey (97) vs Rochester (81)
  • Toronto (90) vs Hartford (81)
Hershey vs Rochester

Hershey defeated Rochester 3-2 last year. I believe the outcome would be the same here (although this was in the Eastern Conference finals)

Toronto vs Hartford

Toronto and Hartford didn't play each other last year, though each team did get swept in the division finals. They played each other in the regular season only 2 times, each with the home team winning in OT. With Toronto getting the home nod, I'll extrapolate to say that Toronto wins in 5 games, 3-2

Round 3 (Eastern Conference Finals) Best of Seven

Toronto vs Hershey

Toronto played Hershey 2 times and lost both times. I think that a series like this would be closer, but Hershey comes out on top 4-2

Eastern Conference Champion Review

In this realigned AHL for the Calder Cup finals, Hershey has played 16 out of 17 games, going 10-6 to reach the Calder Cup Finals. When they actually reached the Calder Cup finals last year, they played only 13 games going 10-3 (playing an extra 3 games)

Providence (98)----|
                   |--Hartford (81)----|
Hartford (81)------|                   |
                                       |--Toronto (90)-----|
Toronto (90)-------|                   |                   |
                   |--Toronto (90)-----|                   |
Springfield (84)---|                                       |
                                                           |--Hershey (87)
Hershey (87)-------|                                       |
                   |--Hershey (87)-----|                   |
Charlotte (86)-----|                   |                   |
                                       |--Hershey (87)-----|
Syracuse (81)------|                   |
                   |--Rochester (81)---|
Rochester (81)-----|

Let's take a look out West next

Western Conference Playoffs

Round 1 Best of Five games

In the Western conference we would have had the following round 1 matchups:

  • Calgary (106) vs Iowa (79)
  • Texas (92) vs Manitoba (84)
  • Coachella Valley3 (103) vs Abbotsford (87)
  • Colorado (90) vs Milwaukee (89)

As with the Eastern Conference bracket to determine the winners I'm going to look at the playoffs last year and then make an educated best guess as to the winners of each series.

Calgary vs Iowa

Calgary didn't play Iowa at all in either the regular season or the postseason last year. Based on the final records, I think it's safe to say that Calgary wins this series, but I believe it's 3-1

Texas vs Manitoba

Texas played Manitoba 8 times in the regular season last year with Manitoba winning 6 of these games. There were several that went into OT which Manitoba won more often than not. I think this goes to 5 games, but Manitoba wins 3-2.

Coachella Valley vs Abbotsford

Coachella Valley and Abbotsford played 4 times, each winning two games. Given the disparity in total points at the end of the year, I think that Coachella Valley wins in five 3-2.

Colorado vs Milwaukee

Colorado and Milwaukee didn't play each other at all in the regular season. I think that this is an even match-up, but I give the edge to Colorado since they're the home team, winning 3-2.

Round 2 Best of Five games

  • Calgary (106) vs Manitoba (84)
  • Coachella Valley (103) vs Colorado (90)
Calgary vs Manitoba

Calgary wins this in 5, 3-2. They didn't play each other at all during the regular season, but I think that provincial pride forces the series to 5 games

Coachella Valley vs Colorado

Coachella Valley wins this in 5, 3-2. This is a repeat of the series last year. I believe that it goes the distance again.

Round 3 (Western Conference Finals) Best of Seven

Calgary vs Coachella Valley

Coachella Valley defeats Calgary 4-3

Coachella Valley and Calgary played each other in the Pacific Division Finals last year. It was a brutal series with Coachella Valley winning in game 5 in Overtime. I think that the same result comes out here going the distance.

Calgary (106)------|
                   |--Calgary (106)------|
Iowa (79)----------|                     |
                                         |--Calgary (106)----|
Texas (92)---------|                     |                   |
                   |--Manitoba (84) -----|                   |
Manitoba (84)------|                                         |
                                                             |--CV (103)
CV (103)-----------|                                         |
                   |--CV (103)-----------|                   |
Abbotsford (87)----|                     |                   |
                                         |--CV (103)---------|
Colorado (90)------|                     |
                   |--Colorado (90)------|
Milwaukee (89)-----|

Western Conference Champion Review

At the Calder Cup finals, Coachella Valley has played 17 out of 17 games, going 10-7. When they actually reached the Calder Cup finals last year, they played 19 games going 12-7. Two fewer games to get here.

Calder Cup Finals

In this matchup, Coachella Valley will have up to 4 home games, while Hershey will have up to 3.

Coachella Valley played in 2 fewer games in this scenario, while Hershey played in 3 more games, for a net difference of 5 games.

I think the first two games go as they did last year. Epic drubbings at Acrisure Arena by Coachella Valley over Hershey. I think that the 3 games4 in Hershey go 2-1 in favor of Hershey giving the Firebirds a chance to clinch on home ice in game 6 which they do.

Evaluating the Impact of Realignment: A Reflection on Competitive Balance and Missed Opportunities

Going through this exercise doesn't change the outcome of the 2023 Calder Cup Finals. And I don't want this to seem like a sour grapes sort of thing. The Hershey Bears won the Final game last year within the confines of the structure that was set up by the AHL. In that sense, they won it fair and square.

Also, I'm not sure if this realignment had been in place my predictions would have been correct necessarily.

What I think it does point out is an extreme disadvantage that the Pacific division faces in the playoffs. Last year the Coachella Valley Firebirds were the FIRST team west of Austin to make the Finals. They were also the first team to EVER play a playoff game in EVERY timezone that the AHL operates a team in.

Coda

I was bummed that the Firebirds lost in Game 7 last year. I wrote about it just a few days after it happened.

It was the most exciting sporting event I've ever seen, either in person or on TV. I'm not sure anything will ever be that intense and exciting.

I really wish they would have won, and this shows that they just might have been able to if the conference, divisions, and playoff seedings were a bit more balanced.

  1. preliminary round that occurs before the start of the official playoffs. It is typically used to determine who gets the last spots in the playoff ↩︎
  2. A full analysis is something I'll be looking at for another post in the future. There are lots of other items to look at like (1) Schedules, (2) Travel, and (3) Rivalries ↩︎
  3. Coachella Valley is abbreviated CV in some cases below to save space ↩︎
  4. In all honesty the 3 games in Hershey last year were games where the Firebirds seemed a bit tired. There was also some officiating that seemed a bit dubious (an offside that didn't get called that led to a goal that, IMO, shouldn't have counted) ↩︎

Year in Review 2023

I've never done a year in review, but this seems like a good a time as any, right? I had a rough outline, but after reading the great Year in Review from Tim Schilliing, Paolo Melichore, and Velda Kiara, I was inspired to actually finish mine.

Professional

In the moment it can feel like I don't really get anything done at work. Looking at my time tracking stats, I do spend A LOT of my time in meetings (nearly 40%) and administration (almost 45%) which is expected for someone in management I suppose, but I really do miss getting to write code more often.

That being said I was able to complete some pretty significant projects at work with the help of my team that I'm really proud of.

Migrations

Change is hard, and we underwent a few BIG technology changes that have gone really well.

The first big change implemented was to migrate from a few Atlassian products (JIRA and Confluence) to YouTrack. I know there are lots of people out there that HATE JIRA, but I loved it and my team liked it. I think that a big reason for that is when JIRA wasn't doing what we needed it to do, I was able to make changes to it. We didn't have to pass it through some change control committee, or get buy in from some high level manager. We just made it work for us ... and it really did work well for us.

The reason we had to migrate from these products was that Atlassian announced in February of 2021 that they would end-of-life the server versions at the end of February 2024. I looked to see if we could migrate to one of their data center versions, but because I'm in Health Care any solution 'in the cloud' needs to be HIPAA compliant. While Atlassian does offer HIPAA compliant versions, you need to have 500+ users for that solution. My organization has 50.

I spent two years trying to figure out how we could keep JRIA and/or to find something that could replace what we had in JIRA and the best solution I could find was JetBrains' YouTrack.

We've been on YouTrack since the end of May and while there are still some features that I miss (support for Mermaid Diagrams, ability to embed the content of one Confluence Article into another Article, automatic linking between JIRA issues and Confluence Articles) overall the workflow parts of YouTrack for issue tracking are much better than JIRA. Easier to set up, easier to maintain.

Another change that we made was changing our Version Control System from Subversion to git, hosted on Azure DevOps. This involved all three of the teams in my department and proceeded in a staged approach over the course of about 3 months. I also helped another department migrate from Subversion to git.

The biggest challenge was the SSIS packages used in our ETL processes, and the database objects.

The SSIS packages took 3 attempts before it stuck, but the ETL devs were positive with each unsuccessful attempt and we finally got over the hump in early December.

The Database objects are unfortunately still in Subversion. This is a limitation of our current tech stack. Migrating to git requires that each developer have their own version of the database but we don't. Honestly the way we have it set up now is something I'd really like to change, but that's a story for a different time.

In all we migrated 25 repositories from Subversion. There is still more work to do with the Web Developers to update our CICD process to fully leverage Azure DevOps, but small steps can make for big changes over time. No need to rush if we have a working CICD system (even if it's kind of Frankensteined together at this point).1

With this migration to git we were also able to integrate our issue tracking system (YouTrack) with our VCS. It's nice to see commits automatically 'connected' to the issues in YouTrack.

Another thing that I've been able to work on is getting more and more Python enabled for various projects. We have a Django App that we use to manage 'administrative' tables in our MS SQL database, and we've been able to integrate Python in some of our SSIS packages for ETL.

Speaking

One of the goals that I had from my last annual review was to engage in two public speaking activities. While I give lots of presentations at work, they're all via Zoom so the idea of getting up in a room full of strangers and talking was both exciting and terrifying.

The first conference I spoke at was the KLAS Points of Light conference in May in Salt Lake City (only about a week after PyCon US). The talk was limited to 10 minutes and I had 2 co-speakers so I was limited to about 3 minutes of talking time (and if I said I spoke for 90 seconds that would be pretty generous). That being said, I did get up on stage and spoke to a room full of about 200 strangers (and nearly threw up!)

The absolute highlight of my speaking engagements this year was speaking at Django Con (which I wrote about here and here). I won't write more about it, but I had such a great time giving that talk!

Certifications

I was able to achieve a couple of certifications this year. The first was the Google Cloud Platform Cloud Architect Certificate. I wrote about the experience here.

Another certification I achieved was the Certified EDI Academy Professional. Initially I did this mostly because the cost of the classes to work on the certificate for 2 participants versus 3 participants was only $100 extra and there were 2 people in my department that had asked about working on the certification. Since my department is in charge of EDI 'stuff' and I'm in charge of the department it kind of made sense that I should get it too.

While I didn't think it would be super beneficial and did it mostly just because I have been surprised at how useful it's ended up being. Seeing what's possible with EDI in Healthcare has allowed me to work with the EDI Analysts in my department more effectively AND has helped us all to better identify opportunities for automation

Misc

Above I lamented the lack of time to program above, but one thing I was able to work on was a refactor of an Airflow DAG from 2000+ lines down to 150 lines. This was thanks to the DjangoCon Tutorial Django ❤️ Airflow lead by Sheena O'Connell.

This is also the first year since the start of the pandemic that I've gone into the office on a (mostly) regular basis. While it's mostly like working from my home office (lots of Zoom meetings) it is nice to have a different bit of scenery (the new arena where hockey is played is visible from my desk when I look out the window).

In November I also got my first promotion in 7 years which was nice. I went from being the Regional Director to Senior Regional Director.

Finally something I was really excited and proud about was the rating my management team and I got for Employee Satisfaction. This was the first full year that I had two people other than me in the management team and I think that really helped. The satisfaction rating came back at 95%, the highest my department has ever gotten.

Personal

Health

At the end of last year I completed the Running Challenge which lead to me participating in my first organized run (the Panther 5K) since 20182. I had hoped that this would get me back into running and that by the end of 2023 I would have been able to run a half marathon.

These hopes were dashed in April when I contracted COVID (for the second time since the start of the pandemic) and I wasn't back to feeling like myself until late May. Now, in most places of the country late May might be a swell time to start running, but in the Coachella Valley it's already push triple digit highs so I had a hard time getting motivated to start running again when it was that hot.

I started the Running Challenge again this year, but 24 days into it I got a really bad cold that basically is only now (nearly 2 weeks later) truly disappearing. I haven't run in those 2 weeks, but am looking forward to starting rucking and then running again in 2024.

Django

I mentioned above that I spoke at DjangoCon US this year in Durham, but before the conference started I got to see my youngest step brother and his wife at their (new to me) house3. It was a great way to start an amazing week in Durham which is one of the more walkable cities I've been to.

Another bonus was a chance encounter with Ronard Luna (whom I met at DCUS 2022 in San Diego) and some of his Caktus colleagues after day one of the conference. We went and got (really good) Thai that night, had some great conversations and I got to meet some more amazing Django people.

Towards the end of the conference Jay Miller interviewed me about my talk and that was super awesome. I was nervous at first, but Jay (and Dawn) did a great job of making me feel at ease 😁

I also spent time working with Jeff Triplett and Maksudul Haque on DjangoPackages which has been fun and a great learning experience. I'm looking forward to continuing that work next year!

Finally, towards the end of the year I interviewed and was accepted to be one of the Djangonaut.Space Navigators. I'm really looking forward to working with the Djangonauts on my team, as well as my Captain Nishant Aggarwal.

Reading

I had a goal of increasing the diversity (both in style and authors) that I was going to read this year4. To this end my daughter Abby helped me by putting together a list of books by Author's to get me out of my reading rut.

I kind of fell off the reading wagon in the last quarter of the year, but I was able to read some really good books that I wouldn't have found otherwise:

  • American Gods: Neil Gaiman
  • Scythe: Neal Shusterman
  • Renegads: Marissa Meyer
  • Don't Read the Comments: Eric Smith
  • An Absolutely Remarkable Thing: Hank Green
  • The Thousandth Floor: Katherine McGee
  • Legendborn: Tracy Deonn
  • Mistborn: Brandon Sanderson
  • War Girls: Tochi Onyebuchi
  • The Poppy War: RF Kuang

I also read a few books in the Rise of Mankind Series by John Walker5

  • Raid
  • Conflict

Writing

I only wrote nine articles this year (including this one). It sure feels like more, but in looking back I didn't write my first post until April, and then not again until July. It was really in the last 3 months (since DjangoCon) that I really started to write more with 2 in October and November and three in December.

I'm looking forward to writing more in 2024 with the goal of one article per month. I've started already with trying to write up one TIL a day. This is part of a large theme6

Hockey

On December 18, 2022 AHL Hockey made its way to my home town. The best part is that the arena they play in is only 10 minutes from my house so I went to a lot of hockey games.

So far this season isn't going like I had hoped, but a few highlights from last season were:

  • Getting to see a triple overtime game against the Calgary Wranglers that ended with the Firebirds winning
  • A game 7 of the Calder Cup finals going to over time

While the 3OT game ended with the good guys winning, the game 7 OT ended with them losing. It was heart breaking, and I wrote about it here, so I won't go over it again. That being said, even though they lost, the fact that I got to go to a Game 7 for a championship was already mind blowing. The fact that it went into overtime was more so. I did a bit a research and it was the first Game 7 OT championship game in either the AHL or NHL since the early 50s, so it was kind of neat to be a part of history.

I've gotten so into the AHL that I've written a silly scraper that dumps data into a datasette instance on vercel.

At the time of this writing the Firebirds are 9 points behind the pace they had last year.

With that, it's still pretty awesome that I get to watch hockey live a couple of times a week and don't have to travel hours to do it.

House

When my wife Emily and I bought our house in 2009 we were surprised that it was on septic and not connected to the sewer. But then we learned that the unincorporated part of the county we live in that's not unusual. Every few years I call one of the local plumbing companies that is highly regarded to empty my septic tank.

This was the year to have the tank emptied and when they came out to empty it, we discovered that the tank was collapsing on itself and would need to be replaced.

Now, this is not an inexpensive expense7 but also not totally unexpected. What was unexpected was to find out that because our house was within 200 feet of the sewer line we were REQUIRED to connect to the sewer.

After contacting 12 approved contractors we were able to get one under contract and they got us connected to the sewer. It cost WAAAAAY more than I think anything should8, but it's done now so one less thing to worry about going forward

But the silver lining in that is I finally felt comfortable getting a lemon tree in my front yard and it brings me lots of joy. 9

Family

This fall my daughter Abby started her Senior year in High School. This is a mind blowing stage in life. It means that this time next year Emily and I will officially be empty nesters.

In preparation for the transition to College we have done a lot of College tours. These have mostly been short weekend trips, but it's been nice to get out there and visit new / different places.

Before the pandemic my family and I would take a stereotypical American style family road trip. We haven't done it since, but we were hoping to do something big this summer.

Those plans were derailed when the sewer bill came in, but the college tours, and a nice long weekend trip to Julian made up for the lack of a BIG trip.

I mentioned above the Hockey games I've been able to see at Acrisure Arena, but one of the extra benefits of having an arena where they play hockey is that they will also play music. I was only able to go to one concert (Paramore with Abby), but Emily and Abby were able to see several shows including Shania Twain, Lizzo, and Pentatonix.

We also live relatively close to LA so we were able to see a couple of events at the Staples Center (I refuse to call it by it's new name) including SZA (all three of us plus a friend of Abby's) and a Kings game (just Emily and me).

Abby was also able to see the last show of Taylor Swift's Eras tour at SoFi Stadium which was a bit stressful as she did it with a group of friends and an adult cousin of one of those friends (that we didn't know) but she had a great time and had a smile as big as any I've seen on her in a while for a few days after.

Emily and I also went down to the Palm Springs Pride parade and got to see 10,000 Maniacs with their new lead singer (Leigh Nash from Six Pence None the Richer)

We have also really started to take advantage of the space in our back yard as a family. As a 15 year work anniversary gift I received a projector TV that we've set up outside. We also got a fire pit to keep us warm in the frigid Desert Winter Nights (I mean, it gets down to a low of like 50 by the time I go back inside 🥶) and reminds me of this meme.

Tropical Storm Hillary

I grew up in the Coachella Valley, and except for a 10 year period (mostly in my 20s) I've lived here my entire life. I've seen Haboobs, felt Earthquakes, seen smoke from nearby Wild Fires, and a couple of pretty bad rain storms (like the Valentine's Day massacre, and the Storm Cell that wouldn't move) ... but I NEVER thought I'd experience a Tropical Storm (which was very nearly a Hurricane) but this year we did.

It was a stressful day but at the end of it we can out unscathed. We were fortunate that we didn't have any property damage, but others weren't. There are still areas of the Valley that are trying to rebuild after the flooding that the storm brought.

Conclusion

When I started writing this I didn't think i I'd have that much to write, but looking back I see that I did!

I'm glad I did this and hope that future me will find some benefit from it. Hopefully 2024 me won't procrastinate writing this until the very last day ... but he probably will.

That's just the nature of these things, right?

  1. Our current stack involves commits to Azure DevOps which is picked up by TeamCity and then deployed using Octopus Deploy ↩︎
  2. That year I ran the LA Marathon in March, and in July I tore a muscle in my left hamstring ↩︎
  3. They've been in the house for almost 9 years! ↩︎
  4. I read mostly Sci Fi written by people that mostly look like me ↩︎
  5. These aren't particular good or well written, but I was in between books and they were on my kindle so 🤷🏼‍♂️ ↩︎
  6. more on that in the next article 😁 ↩︎
  7. Average costs is about $15,000 ↩︎
  8. Close to $30,000 ↩︎
  9. When Emily and I were looking to buy a house we only had three requirements: (1) It couldn't be behind a gate; (2) it couldn't have a pool; (3) it had to have a citrus tree, preferably lemon. We were able to get 2 of the three when we bought the house and it only took 13 years to get the citrus tree! ↩︎

Error Culture Part III

How can I tell if I'm in an error culture?

In part 1 I spoke about the idea of Error Culture. In that post I define what error culture.

In part 2 I spoke when Error Culture starts. This time I'll talk about how you can tell if you're living in an Error Culture, and what you can do about it.

Below are a couple of tell-tale signs I've found to determine if you're living in an error culture.

Email Rules

You start your day and fire up your email client. As the application opens up you see the number of unread message go from 500 down to 20. You think back to a time when you would open your email client and have to trod through ALL 500 of those emails. Now though ... now you've outsmarted the email system by implementing several rules to ignore or hide those pesky emails that don't seem to mean anything.

Instinct to just delete emails

Maybe you don't know about the amazing opportunities that email client rules offer, so you start going through your emails. You delete the ones you know aren't useful or don't mean anything.

Or maybe you do know about rules and of the remaining 20 you notice a few new emails that you don't need to act on. Your first instinct is to delete them, but you remember you are a smart email user and create a new rule to get rid of those emails as well.

Why do I get this email anyway?

If you use rules, you recall a time before you had them. A time when you would methodically read each email and write down a quick note to ask a co-worker, or your boss at your next one on one. But when you brought up the alerts you had one of two reactions:

  • Oh those ... yeah, you can just delete them. They don't mean anything
  • Ugh ... how do you not know what that is for? Fine, let me explain it to you ... again

The first item is definitely error culture. The second response could be error culture if the person you've asked is just so overwhelmed with all of the alerts ... OR it could just be a toxic culture. If it's a toxic culture, I'm sorry, but this post might not be helpful in solving that problem.

If you're not in the second situation you may (rightfully) ask

why do we get it if we can just delete it?

And if the answer is 🤷‍♂️ then you might be in an error culture.

In general, if no one knows WHY we're getting an email and there is no actionable direction, you might be in an error culture.

Email Alerts

Ask yourself, your peers, and your boss this question

Is this alert we are getting actually important?

If the answer is No, then delete the mechanism that generates the error. Don't just create a rule to delete the alert.

If the answer is Yes, then ask

Is the alert you are getting actionable?

If the answer is No then update the alert to be actionable. This can be done by

  1. Including steps to resolution or documentation link for resolving the error
  2. Update the alert to indicate it’s importance
  3. Update the alert to go to the correct people

If the answer is Yes then

  1. Make sure the error indicates what the fix needs to be
  2. Make sure the error indicates why it’s important, or a link to documentation that explains it
  3. Make sure the right people are being notified

Point three here is really important. To determine if the correct people are being notified ask this questions of EVERYONE that receives the alert:

Are you the correct person to do something to fix the error

If the answer is No then getting removed from the email is the best course of action.

Of course, it could be that no one ever told you why you were getting the alert so the decision to remove people from alerts may need to be a management level decision, but it can at least start the conversation.

If the answer is Yes then do you (i.e. the person being asked) know what to do to fix the error

Again, with a simple yes or no response, you have two options:

Yes: Does the error indicate what the fix needs to be or where to go to find out? No: Work to update the error to make it actionable

This can help to get the right people getting the alerts.

Below is a flow chart to help make alerts better

Diagram of how to make alerts better

None of this is easy to change. You may have managers that don't answer your questions when asking about if someone should receive an alert.

You may not get feedback from your peers, or manager about cleaning up the alert system. But if you can become a champion for the effort it will be very helpful for everyone involved.

If you implement something like this you can increase the signal to noise ratio for you and your team. That seems like a big win for everyone.

Error Culture Part II

In my last post I spoke about the idea of Error Culture. In that post I define what error culture. This time I'll talk about when it starts to happen. For a recap go back and read that before diving in here.

When does error culture start?

Error culture can start because of internal reason, external reason, or both and are almost always driven by the best of intentions. Error culture starts to happen because we don't finish the alert process. That is, we set up the alerts, but we don't indicate why they are important or what to do about them when we're notified.

Internal

Internal pressures driving error culture can usually be traced back to someone (usually someone important 1) declaring that ‘we’ need to be notified of when ‘this’ happens again. In and of itself self, this is actually a really good idea.

But if the important person doesn't identify why we need to be notified all that happens is that an alert is set up and NO ONE knows what to do when it fires off.

The opposite side of the coin here is being proactive in wanting to be notified when a bad thing might happen and being notified might be useful. Again, if there is no definition for why the alert might be useful, you're simply creating noise and encouraging alerts to be ignored.

External

External pressures that can drive error culture are similar to internal ones. There are some slight differences though.

For example, a consultant might indicate that it is best practice TM to be notified of an alert. However, they don't provide more context for why it's best practice. It could very well be that the recommendation IS best practice, but for a user base that is 100x your user base, or for an organization that is 1/10th your size. Context matters and while best practices should scale, they don't always.

Another example of external drivers are software applications provided by third party vendors with default alerts enabled but no context or steps for resolution. Sometimes there will be documentation describing the alert process, but without the context for why the alert is important it's just as likely to be ignored.

So far in this series we've seen what error culture is,and when it starts to happen. In the next post I'll talk about how to identify if you're in an error culture.

  1. important here just means someone with influence ↩︎

Error Culture

What is Error Culture?

It's inevitable that at some point a service 1 will fail. When that service fails you can either choose to be alerted, or not. Because technology is so important to so many aspects of work, not getting an alert for a failing service isn't really an option. So we enable alerts ... for EVERYTHING.

This is good in that we know when things have gone bad ... but it's bad in that we can start to ignore these alerts because we get false positives. If you hear comments like,

Oh yeah, that error always comes up, but we just ignore it because it doesn't mean anything

or

We don't really know why that error occurs, but it doesn't seem to impact anything, so we just ignore it

This is what I am calling, "Error Culture".

OK, but why is that bad?

Initially, it might not feel bad.

EVERYONE knows that you can ignore that error because it doesn't mean anything. Of course, this knowledge tends to NOT be documented anywhere, so when you onboard new team members they don't know what EVERYONE knows ... because they weren't part of the EVERYONE that learned the lesson.

Additionally, if you're getting error messages and nothing truly bad every happens, then a few things can happen:

  1. People start to question ALL of the alerts. I mean, if this one isn't valid, why is this OTHER one valid? Maybe I can ignore both 🤷‍♂️
  2. You may be getting an alert about a small thing that can be ignored until it's a BIG thing. I think this image does good job of illustrating the point (found here)

We have a Problem Here!

Why does it happen?

In general, I've found that error culture can happen for a few reason

Error Fatigue

If you get 1000 alerts every day, you're not going to be able to do anything about anything. This is similar phenomenon to 'Alert Fatgiue' which can happen in software applications (my experience is in Electronic Health Record systems) where users can just click OK or Cancel when an alert shows up and users may not actually see that there is a problem

Lack of understanding of what the error is

It's surprising to find that people that receive alerts and they just delete them. They do this not out malice, but because they honeslty do not know what the alert is for. They were maybe opted into the alert (with no way to opt out) and therefore have no idea why they get it or what they are supposed to do with it. They may also be in an organization where asking questions to learn isn't encouraged and will therefore not ask why they are getting the alert.

Lack of understanding of why the error is important

Related to the item above, but different, a person can receive an alert, but they don't understand why it's important. This is usually manifested in some of the things mentioned before. Ideas like,

well, I've ignored this alert every day for 6 months, I don't know why I need to do anything about it now!

Lack of understand of who the error will impact

I'm reminded of the Episode of Friends where there is a light switch in Chandler and Joey's apartment and they don't know what it's for. At the end of the episide Monica is idly flipping the switch off and on and the camera pans to a Monica and Rachel's apartment where their TV keeps turning off and on.

Error culture can have a similar feeling. If I get an error every few days, but it doesn't impact me or my work I am likely to ignore it. It could be that the error is unimporatnt for me, but HUGELY important for you. This is a case where the error is being directled incorrectly. If we both got the error you could see that I got the email and then ask, hey, are you going to do anything about this?

Emphasis on Hero Culture

This is probably the worst of all possibilities. Some cultures tend to emphasize Heroes or White Knights. They appreciate when someone comes in and 'Saves the Day'. Sometimes people get promoted because of this.

This tends to disincentivize the idea of fixing small problems before they become BIG problems. I might be getting an alert about an issue, but it's not a BIG deal and won't be for some time. Once it becomes a big deal I'll know how to fix it quickly, and I will. When I do, I'll be celebrated. Who wouldn't want that?

In this post I've identified some of the characteristics of Error Culture.

In the next post I'll talk about how to tell if you're in an Error Culture.

In the final post I'll write about what you might be able to do to mitigate, and maybe even eliminate, Error Culture where you are.

  1. When I say service here I mean very loosely anything from a micro service up to a physical server. ↩︎

Firebirds Inaugural Season

On Wednesday June 21, 2023 the local sports puck team (i.e. Hockey), the Coachella Valley Firebirds hosted Game 7 of the Calder Cup Finals against the Hershey Bears.

There are sports writers that can write on how the series went, better than I can so I'll leave that to the pros. What I will talk about is why watching that game and seeing the Firebirds lose in Overtime hit me so hard.

I'm generally an introverted person. Even before the pandemic, I wasn't particularly fond of attending crowded events. The pandemic only intensified my preference for solitude. Suddenly, I found myself being advised to avoid social interactions altogether. As an introvert, the circumstances necessitating isolation weren't exactly ideal for me, but I did appreciate the fact that my family and I had to isolate.

However, after 2+ years of isolating from most everyone, being in large groups would bring out anxiety. And when I say large groups I mean like 10, maybe 15 people. On December 18th there was work holiday get together, the first one since the pandemic started. There were about 100 people in a mostly enclosed space and I did not do well with it. Super anxious, wore a mask the entire time, and generally ducked into the closet that also serves as my office more than once just to get away from people.

That same night was the home opener for the Firebirds at Acrisure Arena (due to construction delays their home arena opened 2 1/2 months after the start of the season). I didn't know it at the time, but it was a sell out (attendance of 10,087). This meant that I was going to a sporting event, in an enclosed arena with 10,000+ people. To say that I nearly lost my shit would be an understatement. The only thing that really got me to go was that the tickets I had purchased weren't cheap, and my wife and I were going with another couple friend.

That first home game was amazing. The Firebirds won 4-3 over the Tucson Roadrunners. The energy was amazing and I decided that I had to go to another game. And so I kept going. Again and again and again. I saw 34 games in person with an average attendance of 7,500.

I'd like to say that "just like that" my anxiety surrounding large indoor gatherings was gone, but it wasn't. It took me going to lots of hockey games to get through it.

So coming back to game 7 on Wednesday night. With less than 1 minute into the second period the Firebirds scored their second goal to go up 2-0. The crowd was the loudest I'd ever heard at Acrisure. Chants of "we want the cup" roared through the arena. It was unreal. And I sat there and realized that if it hadn't been for this team my anxiety surrounding large gatherings wouldn't have gone away for probably a very long time. And other than being a HUGE fan, I wanted the players, coaches, and team to win because they had helped me deal with something so personal. I won't ever be able to repay them for that, but my cheering them on to try and win the cup could maybe start.

And then the unthinkable happened. A penalty was called on the Firebirds and a Power Play goal was scored. Then less than 4 minutes later an even strength goal was scored and we were tied at 2 a piece.

The third period ended without any scorning by either team, and for only the second time in Calder Cup finals history, the first time since 1953, we were going to Overtime in a Game 7.

As we entered Overtime everyone in my section (107) was on their feet. We stood for the entire overtime period. Cheering, and screaming (honestly, I was still exhausted from the experience as I wrote this 2 days later).

About 2 minutes into the Overtime period Ryker Evan sent a shot on goal. From where I was sitting I could see the flight of the puck and my heart leapt as I thought it would find the back of the net ... but sadly it didn't. Within the first five minutes of overtime the Firebirds had outshot the Bears 5-0. It seemed like we were in control.

The next 10 minutes was some of the most intense back and forth hockey I'd ever seen.

With less than 4 minutes on the clock I thought, this might go into double overtime ... and then the unthinkable happened. The Firebirds defense was unable to clear a puck in their end, lots of players in front of the net, and just like that I see a puck flying over Joey's shoulder and past the cross bar, hitting the back of the net. The Bears player and their fans roared with joy, and suddenly a once deafening Acrisure was stunned into silence.

We lost. They won. The inaugural season was over. I stood in disbelief for a minute and then just sat down and stared across the arena at the Bears fans I could see that were losing their minds with joy. I wanted to cry. Some people around me did.

I stood up and looked over at our defensive end. The Firebirds players on the ice had taken a knee as they watched the Bears players celebrate. They don't show that part on TV. The defeated team looking sadly on as the victors celebrate. It was heartbreaking.

And then, in the middle of the celebration, the chants of "Let's go Firebirds" started. In short order, the fans were all saying it as loud as they could. An amazing season that didn't end the way we wanted it to, but we did our best to let the team know what they meant to us.

When I started writing this I thought maybe it was just me that needed something like this to get over some of the anxiety of large indoor gatherings, but maybe it was others. And those others at that game let the team know how much we appreciated them and what they did. This team will always hold a special place in the hearts of it's fans.

We didn't win it all this year, but there's always next year. Always.

Postlude

A friend of a friend of a friend works at a golf course called the 'Classic Club'. There were 3 players that were golfing the next day and they told this friend of a friend of a friend that the chants of "Let's go Firebirds" even after the loss meant so much to them.

A Goodbye to Vin

One of the earliest memories of my grandmother is visiting her in 29 Palms 1 2 in her permanent mobile home. I remember sitting on the davenport watching the Dodgers on a small 13" COLOR CRT TV. I remember that the game was broadcast on KTLA5. But what I remember the most is the voice of Vin Scully.

I don't know what who the Dodgers were playing, but I remember how much my grandmother LOVED to listen to Vin call the game. And it stuck with me. I was probably about 7 or 8 and I thought baseball was "boring". To be fair, I thought most sports were boring, but especially baseball. Nothing ever happens! But, I loved my grandmother, and I loved hanging out with her 3 and so I watched the game with her.

Years later I discovered that yes, I did like baseball, and no, it was not boring. And since my grandmother was a Dodgers fan, then I would be too. It was something that connected us. it didn't matter where I lived, or how old I was, we both loved baseball. We both loved the Dodgers. We both loved to hear Vin call the game.

My grandmother died in 2007, but something that helped to connect me to her in the years since was watching the Dodgers. Listening to Vin.

As Vin got older, he still called the home games, but he handed most of the road games to a new crew. I still loved to Watch Dodgers games, but I loved watching the games he called a little bit more. At the start of each season I always kind of wondered, "is this the last year for Vin?". And in 2016 the answer was yes.

I still remember the last game he called in Dodgers Stadium. I remember the back and forth. I remember the Rockies going up 1 run in the top of the 9th. And the Dodgers tying it back up in the bottom of the 9th. And I remember when Charlie Culberson hit the game winning home run in the bottom of the 10th.

I remember the last game Vin called in San Francisco. I remember the Dodgers lost ... but it was Vin's last game, so I still loved getting the chance to watch it. And to listen to him call the game.

Vin passed at the age of 94 on Aug 2, 2022. Just as I knew that there would be a day when Vin retired from calling games, I knew there would be a day when he wouldn't be with us anymore.

I've been trying process this and figure out why this is hitting me as hard as it is.

It all comes back to my grandmother. They never met each other (at least I don't think they did), but in my head they were inextricably connected. Vin was a connection to my grandmother that I didn't fully realize I had, and with his passing that connection isn't there anymore. He hasn't called a game in more than 5 years, but still, knowing that he NEVER will again is hitting a bit hard for me. And I think it's because it reminds me that my grandma isn't here to watch the games with me anymore, and that bums me out. She was a cool lady who always loved the Dodgers ... and Vin.

WinForVin

  1. Yes that 29 Palms, right next to the LARGEST Marine Corp Base in the WORLD ↩︎
  2. also the 29 Palms that is right next to Joshua Tree home to the National Park that is the current catnip of Hipsters ↩︎
  3. she always had the butter scotch hard candies that were my favorite ↩︎

New Theme, who dis?

Because I have a couple of posts that I need/want to work on, and I have the time to work on them, I have of course decided to instead to update the theme on my blog because that was a way better use of my time 😂

Also, because the day is just too nice to not be sitting outside watching baseball (even if it's on TV ... and even if it's the ping of the bat and not the crack of the bat1)

  1. Since the MLB Lockout is still going on and there's no end in sight, I've resorted to watching NCAA Baseball. I have to say, it's really entertaining AND it seems like there's 100 games on each day! ↩︎

Getting asked for Advice on being a Data Analyst

I got a message on LinkedIn from a former colleague of my from Arizona Priority Care asking me:

Wanted to pick your brain on something. what do you think the outlook is for a data analyst? Debating a masters program in that and covers a few things but also includes certifications in SAS. Trying to decide if that will “pay off” in the long run or if I should explore different disciplines.

This was a really good question and I thought about it a bit. My response was:

I think Data Analysis (or Data Science, or Analytics) are all going to play a huge role in business going forward and that it would be a smart move to get a masters degree in one of those. I would avoid any certification programs though, just because they can be less rigorous and don’t seem to have the same weight as a full degree.

SAS is an interesting language, but I’d investigate what companies use SAS and make sure that you’d like to work for them (or in the industry). Many companies are turning towards open source Data Analytics tools (like R and Python). But in general, don’t get too hung up on the tool (SAS, Python, R) but really understand what you’re doing with them. Why would I choose this Standard Regression over Two Stage Least Squares. When do I wan to use a Logistics regression model and why. What does the output tell me, and what is it missing.

Developing that understanding will allow you to really standout.

Good luck with your decision. Let me know which direction you decide to go in,

Best,

Ryan

I hope that I was able to help my former colleague and was super happy that he reached out to me.

I wanted to write this into a more public form just in case in helps someone, or just in case I look back on it at some point and it helps me.

A beginners guide to Tableau Conference - 2019 edition

The Tableau Conference was held at the Mandalay Bay Convention Center this year (and will be again next year in 2020). I had the opportunity to attend (several weeks ago) and decided to write up my thoughts about it.

This is an introverted newbie’s guide navigating the conference.

The conference started on Tuesday with pre-conference sessions that you had to register (and pay for). I did not attend those.

Tuesday night there was a big welcome reception that I very nearly bailed on because of how many people there were, but I decided to give it a shot anyway. I’m glad I did.

The welcome reception (as well as all of the meals) were held in the data village (basically the convention show floor) which was a little weird but it worked.

In the reception they had industry specific areas (healthcare being one of them). I didn’t know this going in ... I just kind of stumbled into it.

This was the luckiest break I could have had as I sat there there entire night and met about 10 people. Three of them (Josh, Kerry, and Molly) I spoke to the most, so much so that we decided that we’d go to the ' Data Night Out’ (the client party) together.

Being super introverted this was not my jam, but I’m glad I went, and I will go again next year.

Each day is jam packed full of sessions. I didn’t come across any sessions that were not worthwhile, although some were better than others.

You do have to register for the session in order to gain admittance to the room (they scan your badge to make sure you belong) but there seemed to be stand by room in most of the sessions I attended.

Keynote events

There are ‘Key Note’ events to kick off each day. They happen in the Mandalay Bay events center, but there is also an overflow room you can watch them from.

I would recommend going to at least one event in the events center, but as an introvert the overflow was really more my speed. A room that could sit 500 people with only 50 in it ... yes please!

Iron Viz

A take on Iron Chef, Iron Viz was a chance for 3 Tableau wizards to showcase their skills with Tableau and a shared data set. It was really interesting to see the different ways that the data could be presented and the different stories that each competitor told for their visualizations.

Data Night Out

I didn’t do this, mostly because by Thursday I was pretty overwhelmed and just needed a quite night in. I don’t regret not going, but I think I will make myself go next year

Data Culture

I’m going to write more on this once I get my head really wrapped around it, but suffice it to say, this is something that I think is going to be very important going forward for the organization I work for.


Page 3 / 7