Author: way0utwest

  • Tesla Charge Loss While Sitting

    This is part of a series that covers my experience with a Tesla Model Y.

    We left the car at the airport recently for the first time. We had a long weekend trip and dropped the car off Friday afternoon and picked it up late Monday night. Over the weekend, we lost 72 miles of range (estimated) from the car sitting outside in the parking lot.

    2022-04-09 09_02_38-Vampire Drain - Grafana — Mozilla Firefox

    That felt a little disconcerting, and I was glad that we’d charged the car up to 80+% before the drive to the airport. The car was parked at 80% and on our return it was at 57%. Not alarming, but this certainly makes me cognizant of charging loss.

    It was a cold time in Denver, with overnight temps getting down to the 30F/0C range, but that’s not too cold. There is cabin protection on, so possibly the car kept itself cool or warm, but I would be wary of leaving the car parked there for longer trips.

    There is a lot of discussion on how the car loses range while sitting, and across a little over 3 days, having the car drop 20% feels like a lot.

    We have a few trips to Europe coming up that will be about a week long, but I think we’ll either get a ride, or I’ll think about a different parking option. There is an offsite lot that does offer EV charging, and it’s not much more expensive to park there ($18/day v $14). Might be worth it for a longer trip to ensure the car is ready to go when I return.

    Update: a second trip, about a 1/2 day longer resulted in a 25% loss across 3.5 days. Definitely can’t leave the car for 10 days.

  • Scripting Makes Mistakes Easier Than Ever

    A number of you likely use Atlassian products like Jira, Confluence, Opsgenie, or something else. You might have been affected by a large outage they had (post incident blog, Company Q&A, TechRepublic report) recently which lasted at least 9 days. I don’t know if all customers have their data back and are working, but this was a surprisingly poorly handled incident according to a number of reports from customers. There’s a great write-up from the outside that you might want to read.

    The bottom line in this issue is that Atlassian looked to deactivate a legacy product with a script, but they apparently didn’t communicate well among their teams. The script ended up using the wrong customer IDs and also marked the sites for permanent removal, not temporary removal (soft delete). While they supposedly test their restore capabilities, they weren’t prepared for partial restores of subsites. I’m guessing this is likely a partial database restore, which many of us know is way more complex than a full database restore.

    Leave aside the issue of a software-as-a-service (SaaS) company failing their customers, and the lack of communication with customers. The more interesting thing for me is the challenge of poor coding and communication internally. Clearly, the project to deactivate their legacy app wasn’t well planned or tested and the code used was probably executed at too wide a scale initially.

    When we deploy code changes to a large number of items, we want to test them at a small number first. Whether we are deploying to multiple databases, against many customers, or different systems, a standard method of making changes at scale involves working in rings. Azure DevOps describes this in docs, and they actually use rings to change the platform. We used the same pattern 20 years ago for software and database updates to many systems. We would internally deploy to a few users to look for issues. Then a week later we would deploy to a small number of systems to check for unexpected issues. Then typically to most systems in the third ring with a fourth ring a week later to catch up stragglers that needed more time to prepare.

    I find many customers, especially those with sharded/federated databases or many systems unwilling to spread out deployments in this manner. Often they yield to pressure from business users to ensure everyone gets the same update at the same time. I would never recommend this approach as we need to ensure we are looking at scripts in a controlled environment, or even two, before we deploy things widely. I’d be even more cautious about one-off administrative scripts that might make a change similar to the one Atlassian attempted. Those are often not seriously tested enough.

    At the very least, any of us working with multiple customers in a single database or in multiple databases ought to ensure we can backup and restore a single customer, but more importantly, can you restore a group of customers. If you make a mistake like Atlassian, which scripting allows us to do extremely rapidly, can you recover a partial set of data? Many of us don’t test this, but that’s likely something we ought to consider when we work with scripts that are designed to only change some data. Most of us don’t experience complete failures, but partial ones, usually because of human error. We ought to know how to deal with these situations.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Daily Coping 22 Apr 2022

    I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.

    Today’s tip is to try a new online exercise, activity, or dance class.

    I like going to the gym for Yoga 2-3 times a week. However, sometimes my schedule is a bit busy and I can’t find the time to go. I’ve written about using Yoga with Tim or Yoga with Adriene on YouTube to fill in those busy days.

    I also have a Lifetime membership that includes some livestreamed and on-demand classes. I’ve never used those, but I decided to give one a try for this tip and see how it might help me cope with a busy schedule.

    My wife and I had done a kickboxing class a few weeks back, and there is a similar on-demand class called Strike. I have some travel this week and my plan is this morning, Friday, to try this class early in the morning before I have to go to work. Rather than sit on a bike, this will my coping activity today.

    Update: I did the Strike class and it was an OK workout this morning. 30 minutes and an average heart rate of 122bpm for the session.

  • Daily Coping 21 Apr 2022

    I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.

    Today’s tip is to go exploring around your local area and notice a few things.

    I tend to drive the same routes all the time as live is busy. I am often focused on just getting from point A to point B rather than the journey on a regular basis.

    I was in Chicago last weekend and we had the chance to ride the train from our hotel to the convention center. Part of the route is above ground, leaving the Loop, and I took time with my wife to look at the wonderful architecture and beautiful buildings of Chicago. It really is a neat city, visually. We pointed out interesting features as we went by, and loved the Roosevelt University building, where my daughter was recruited and considered attending.

    One day we took a taxi and this drive too a route that cut through some neighborhoods, and I noticed how any balconies exist on buildings. Even high rises. For a city with cloudy, windy, and rainy weather, they really do take every opportunity to get outside.