Author: way0utwest

  • The Challenge of Early Tech Decisions

    When we design software or databases, we have to make decisions right now. If you work in as many environments as I have, this means I’m often picking a tool, platform, version, technology, or something else without a complete set of information. In some cases, I’m actually writing code (SQL or C#/Java/etc.) without completely knowing the business problem I’m solving. I do know what someone described, but as many of us find out, those descriptions often prove to be lacking.

    Over time, we refine the code with feedback from users, which is why DevOps has become so popular. We write the best code we can and then quickly alter code if we haven’t hit the mark. We constantly adjust by making small changes and improvements.

    However, changing the code is one thing. Changing more fundamental technology choices is harder. There is an interesting post on the disproportionate impact of your early tech decisions from one of the developers at Stripe. One of the examples given is for the database platform, which was Mongo. The piece notes that once the database platform is chosen, most groups never switch platforms. I think that’s been true in many places I’ve worked. The same thing for languages and cloud providers as well, as once a choice is made, rarely does a team, much less an organization, switch.

    Why is this? Is the cost of switching that high? I think it is. I’ve seen a few organizations want to migrate from a licensed relational platform to one that is free and OSS. However, the time it takes to rewrite code, the time to build new expertise, learn the tips and tricks for a new database (or other platform technology) is significant. A team can make no shortage of mistakes during this process. Is that worth the cost of licensing?  Perhaps. Perhaps not. It’s a hard thing to decide. With the high cost of labor, I think it’s hard to make a good argument to rewrite.

    In many cases, I’d argue that core changes to your technology stack ought to be considered, but understanding that no tech will solve all your problems and you will make lots of mistakes in the process of changing. Does this mean you need to make a great decision when you start working on a project? In my mind, no. Make the decision to use what your team is most familiar with and then live with it.

    And be open to using targeted technology for specific needs. Lots of transient data in a busy workload? Add Redis to your database stack. If you need full-text search, consider ElasticSearch. Maybe add a graph database (not SQL Server) if you need queries in this problem domain. Use what works, and learn to use it well.

    That last sentence might be the most important. Any technology can likely support most workloads, but you need to write good code and learn to use the platform well.

    Steve Jones

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

  • Daily Coping 12 Sep 2022

    Today’s coping tip is to forgive yourself when things go wrong.

    A theme of being better to myself, starting with last Thur and Fri.

    What’s gone wrong for me? I was working on some ranch chores, setting up a new gate opener. Some hard, physical digging, but also some planning and preparation. I also had to buy a few things, and in the process of the work, I mis-aligned one set of brackets and had to replace them. I had trouble with the digging and had to change tactics and re-do some work. I also chopped an underground wire, which I had to replace.

    All of this made the process take longer, and also meant we manually opened and closed the gate for awhile. Getting out of a car in bad weather to do so is really annoying. I was annoyed with myself for inconveniencing myself and others, and making simple mistakes.

    However, I’ve learned that this isn’t my full time job. I will make mistakes. I need to be ready to deal with them without getting upset or beating myself up. I tried to forgive myself and overall that helped, but not completely.

    Something I need to work on more.

    I started to add a daily coping tip to the SQL Server Central 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.

  • The Redgate 100

    The Redgate 100 is a list of 100 people that are influential in the database world in a number of categories.I made the list in a few places, which is pretty cool.

    Redgate 100 Social individual influencers (35)

    Disclosure: I do work for Redgate as an advocate, and I helped with some discussion of the list and nominations. I didn’t pick the list, vote, or make decisions.

    This is a marketing effort, as are many of the “best of” awards and notices you see out there. In many case, those are often paid placement, as I’ve been offered the chance to be on those lists if I paid a fee. I always decline, or at least to date I have.

    In this case, Redgate are in the business of database software and tools. We sell them, but we also support a lot of community efforts as well as are constantly researching to better understand what people need and want. Sometimes we build products in those areas, sometimes we just publish research results.

    In any case, I thought this was a pretty neat idea and a great list. You can read about the selection process, which doesn’t tell a lot, other than they took some nominations, calculated some score based on what people do in the community.

    While Kathi, Grant, and I work for Redgate and are on the list, part of the reason why we work for Redgate is that we do a lot in and for the community. I could say the same for Kendra who used to work for us, and if we’d have done this list before we were hired, I think we’d have been on it anyway.

    This doesn’t imply that everyone who is an influential database professional is on the list. With 100 slots, there were decisions and choices, and there are some experts and incredibly valuable community people who didn’t make the list.

    Thanks to all of the people who blog, speak, volunteer, and otherwise help drive the database professional industry forward.

    It’s an honor, and I hope Redgate continues to do this in the future.

  • Summon in the Tesla FSD

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

    One of the features that came with my FSD subscription was Summon. This allows you to move the car from the mobile app without being in the car. I decided to test this a few times and see what happens. I ran these tests:

    • Coming out of the garage – failure
    • Backing out of a parking space at the gym – failure
    • Crossing the parking lot at the doctor – mostly OK
    • Summon to target in the gym parking lot – mixed
    • Summon to me in the gym parking lot – works

    I’ve described the experiences below.

    Garage

    When I first subscribed, I drove home and parked the car short of coming into the garage. I walked into the garage and selected the forward arrow. The car drove very slowly into the garage, with lots of minor adjustments left and right. Not sure I loved that.

    In the video of my testing, I tried to get the car to come out of the garage. It would wake up and start for an inch, and then stop. I think the right corner of the garage made the car nervous, and it didn’t quite believe it could back straight up. I didn’t test the come to me or come to target.

    In a Parking Lot

    I had tried this at a doctor’s office once, and stood in the middle of a parking lot, away from other cars. When I pressed come to target, the car backed up, turning out of a parking spot and then drove forward to me, though past me to a spot marked on the map. I’m not quite sure how a “target” is picked, but since I could have stopped the car near me, I wasn’t too worried.

    Later I went to the large, mostly empty parking lot at my gym and did some other testing. Two tests couldn’t get the car to back out of the parking space, and I’m not sure why. No other cars around, so it was strange.

    When I backed in, I could get the car to drive to me, though only with selecting “Come to Me”. The “Come to target” again picked a weird spot. Actually across a couple parking spots.

    Summary

    During a month of having FSD, I never really had a time when I wanted to summon the car. Of course, in Colorado in the summer, it rains rarely, and I’m not one to be worried about a little rain on the few days we have some. I also don’t quite know when I find it useful. Maybe if someone parks too close to let me get in or park.

    The feature worked OK, though not great. Certainly not enough, or not consistently enough, for me to want to pay for this.

    I made a video of my tests that you can check out.