Daily Coping 15 Nov 2021

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 build on new ideas by thinking “Yes, and what if …”

New ideas. Embracing new ideas is easy when they are your own. When someone else has an idea, sometimes I struggle to not nitpick or find the potential issues. I’m working to be more positive and think, sure, how can we make this happen and make it better.

We were working on a project at work, and I was asked to help. This was a new way of doing a presentation, and I wasn’t sure I was comfortable. I was initially thinking this might not work well and it’s be a hassle. Fortunately, I decided to keep my mouth shut and instead embrace the idea.

I agreed to help, asked about what I could do to help. Then I added a few thoughts that might have improved things. Some people liked and adopted, some they didn’t. Both were fine, and I’m glad that I helped build on their idea lightly.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 15 Nov 2021

The Two Month Tesla Model Y Review

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

It’s been just over two months since I’ve owned my Tesla Model Y. I took delivery on Sept 7, 2021. As of Nov 6th, I had xx miles on the car.

We Love the Car

My wife loves it, and tells everyone new she talks to. I tend to feel the same way. This is my favorite car of all that I’ve owned. We’ve owned a lot of cars, and while I really enjoyed driving my X5 and the 911, this car beats them all in my mind.

Here are a few things.

The Fun Parts

Anytime you want, you can pass a car or get ahead of someone at an intersection. It’s so fast and exhilarating to press hard on the accelerator and get pressed back into your seat.

It’s also fun to realize that I never need to pop by the gas station and spend $50 to fill up. Actually $50 didn’t fill the X5. It was usually closer to 70 if I bothered.

I love that the car automatically remembers where and what media I was listening to and starts it when I get back into the car. I tend to drive the most, and I love this. It’s also easy to start and stop things, even on screen.

The voice control, especially for nav and reading/responding to messages from family is better than any other car.

Autopilot is nice as well. I’ve used in on the highway, and it’s neat to sit there, be able to talk to someone and not worry about drifting into another lane if I change the music or look at my wife. I definitely feel this is a nice assist for me.

I also am enjoying the Energy view that shows me the usage and predicted range. As I go about my day, this becomes a bit of a game to try and be efficient (when I’m not pressing too hard on the accelerator).

I also love not having keys. I go into the gym with my phone and come out and don’t have one more thing to tote around.

The Practical Parts

I was at SQL Saturday Orlando 2021 and was talking with someone about the car. As we chatted, I realized that I was going to put gas in the rental car the next day, and I hadn’t been to a gas station for fuel in a couple months. A fun realization.

I charge the car most nights, and this is usually just a few dollars. Here’s a sample of charges across a week:

  • 46.4 kWh – $5.71
  • 11 kWh – $1.38
  • 37.1 kWh – $4.65
  • 24.8 kWh – $3.01
  • 31.3  kWh – $3.80
  • 5.9 kWh – $0.83
  • 9.8kWh – $1.24

That’s a bunch of electrical numbers, but what does that mean for driving? The total here is $20.62 worth of electricity. Not a big cost, but this is the charging cost at home for 606 miles. In most of my cars, this would be a fill up and a half. For my BMW X5, this would have cost about US$100. Even in our old Prius, we’d be looking at US$40-45.

I also don’t need to every stop along the way for gas. I have a full tank every time I leave the house, or at least I could. That’s a really practical feature.

It’s getting cold in Colorado, and I’ve started to need the heater and seat heaters a bit. One really practical thing is that the heat starts coming out right away. Even better, I can turn on the heat before we walk outside, which gets the battery going and makes it pleasant when we get in. I’m looking forward to this in really cold temperatures.

I haven’t used it much, but one really great feature is the ability to lower the rear seats from the trunk (or hatchback for me). I was at the hardware store, was getting ready to load things, and could reach over and lower the seats from the rear. In most other cars, I’d have to walk to both sides of the car, opening both rear doors and lower the seats.

The Bluetooth connectivity has been rock solid, allowing me to get media from my phone or make calls easily. Mapping is fantastic, and I’ve used voice to set up routes much easier than I have with any other car. I haven’t tried sending from my phone, but I need to.

The profiles are also great. When I get in the car, it connects my phone as the priority device, sets the seat, and remembers my settings. While lots of cars change the seat, this changes everything to my settings.

The Downers

This isn’t a perfect car. In fact, I think sometimes the aim of making this car “smart” has backfired.

First, cruise control. There is no radar, or supposedly not, so this should be maintaining a speed, unless there is something in the way. This mostly works, but not like other cars. The cruise sometimes slows too much, especially as a car is turning ahead of me, but is very slow to start adding speed after someone completes their turn.

Next, some phantom braking. I get the cruise changing with cars reacting, but it also slows a bit on hills. We have plenty in Colorado, and some are a little steep. The car will slow a little at times, maybe going from 45 to 42, but other times is dramatically brakes. Not emergency braking, but it will drop from 45 to 38, which is dramatic in under a second. It’s like a kid panicking slightly because they can’t see what’s over the hill.

This also happens on curves. There are a few semi-sharp curves, but something that most people wouldn’t slow for. Even if you were more careful, you’d likely go from 45 to 41 or 40, but not below that. The Tesla will sometimes slow even more, especially if another car is in the curve. If they were in my lane, I’d understand, but if they are in an adjacent late, either traveling with me or against me, the car reacts in a strange way.

I’ve gotten used to this, and am more careful, but this is a strange reaction for other cars. To me, this is asking for a safety issue in traffic as other cars would not expect braking.

I’ve had braking a couple times on the highway, as someone merges out of my lane to get off and slows, but I’m continuing on. The car will think there is an obstruction and slows. These issues are why I rarely use Autopilot. I’m not confident I can trust it, even while I’m focused on the road.

The other item that I don’t like is the auto high beam headlights. It works OK in city traffic, but it thinks my gravel road is too reflective and won’t put on the high beams. Not so good in the country with wildlife around.

This also has happened a few times where the lights stopped switching. I couldn’t seem to get them to respond until I stopped, moved into Park, and then started driving again. It’s happened a few times and I’ve turned off the auto feature for my profile. I’ll manually handle the lights.

The other thing that I noticed is that sometimes the safety features get turned off. I get turning off Autopilot for someone not paying attention. However, I was avoiding a deer and crept along the side of a road, on the line. The car gave me some correction on the wheel and beeped at me a bunch. Since this took me a bit of time to get back on the road, the car decided it was turning off the lane departure avoidance feature.

That seems like the opposite of what we want. If someone might struggle to stay on the road, don’t stop trying to help them.

I have started reporting these situations as bugs, so we’ll see what happens in the future.

Costs

I talked about charging above. While the car is relatively expensive ($52k v the $40k average new car), the “fuel” cost is about 20% of what I used to spend.

I’ve purchased a few accessories, and I’ll detail those in another post. I think about $250 or so in “stuff”, which helps customize the car. A lot of that would be spent in any car.

No other expenses in the first 2900 miles, though I will need some winter tires to be safe in the snow. I’m looking to use the existing wheels and just flip tires, but I’m guessing this will be about $1200 for tires. We’ll see.

Summary

It’s still an exciting car. I enjoy every time I get in and that car is “running”. I enjoy (and am getting used to ) just leaving the car when I’m done without needing to turn something off.

It brings a smile to my face.

I do think it’s the best car I’ve owned. It is the newest, and one of the few “brand new” cars I’ve owned, but still, it’s great. I haven’t been in the BMW since I got it in September. I keep thinking I should take that car out for a spin, but really, why?

I love the one foot driving, being able to cruise or blow past people is great. It feels like a luxury car, with Porsche performance.

And I get lots of data. Not even sure what to do with it, but that’s for another post.

Posted in Blog | Tagged , | Comments Off on The Two Month Tesla Model Y Review

Is the Database a Series of Microservices?

Not too long ago I was explaining to a group of developers a few reasons why database development and deployment is more challenging than application work. As I was talking about the different objects and the dependencies between them, an analogy occurred to me.

The database is like a series of micro-services.

We have these objects that are compiled and built separately, but with dependencies between them. A view depends on tables. Stored procedures and functions might depend on tables or the reverse might be true. Each object essentially has an API, which is the structure of the table or other object. Each could be developed and deployed independently, and there could be conflicts that might be noticed at run time due to deferred name resolution.

Just like micro-services. In the case of application micro-services, each has an API and exists independently of others. They can be deployed, upgraded, and altered separately. If there isn’t coordination with other micro-services, there could be problems with how the entire application works.

Relational database development in teams is always challenging, precisely because each item can be independently build and compiled. Unlike a C# or Java compiler, all of your code isn’t evaluated at once. While you can use a technique such as schema binding to enforce some checks across objects, these are crude mechanisms that interfere with a lot of development changes, especially those where we are trying to approach zero downtime deployments.

There is also power in this independence, allowing us to make small changes over time. If we structure a series of deployments well, we can achieve very close to zero downtime changes, though usually at the expense of extra space and processing for a period of time.

As I think about each table, view, procedure, and function being a separate service, I can more easily understand the dependencies that exist between them. I realize there is a need for close communication with other teams. Developers know that they need to coordinate changes across teams when their service API changes, and they can apply the same idea to the database. They can also make some changes without worry, as we can ensure backwards compatibility in many cases.

A lot of the challenges in database development feel less daunting when we re-frame them. Once we stop viewing the database as a single thing and realize that each object is independent and has a contract, implicit or explicit, with other objects, we can more easily plan on how to make changes in a way that minimizes the impact on other teams.

Steve Jones

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

Posted in Blog | Tagged | Comments Off on Is the Database a Series of Microservices?

Daily Coping 12 Nov 2021

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 be creative – cook, draw, write, paint, make, or inspire.

I am often creative at work, with writing and working through solutions to fit client’s needs. That sometimes spends my energy and I struggle to get creative outside of work.

Plus, I have no shortage of things that just need to be done, like rebuilding a generator shed or painting the bathroom (both current projects).

However, I’m going to try and be creative today. I made a small desk stand for my phone a few years ago. My Mom was looking for one recently, and I just sent one from Amazon due to time, but I’ve been wanting to be better.

I found a basic one that is a good design inspiration for me. It’s a simple wooden stand, with a few cuts in it. I’m going to try and cut the wood out and sand it down tonight. Then I’m going to route out a circle in the back and embed a wireless charger inside. This will be a fun project, and likely a gift for someone in my life.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 12 Nov 2021