New Old Architectures

Many years ago I was starting in a software development role using dBase and Clipper. I needed to upgrade a DOS based dBase program to Clipper to take advantage of some graphical libraries. Around this time, we were also moving many clients machines from DOS to Windows 3.1, giving them a GUI experience. Also, to the dismay of the management, access to Solitaire. One of our early jobs was to remove that game and Minesweeper from installs.

In any case, I started to experiment with compilers that would allow Clipper programs to run in Windows as native apps. This meant moving to a more event-driven style of programming instead of the procedural way that DOS programs worked. This change was a paradigm shift for me and I spent many hours at home experimenting and trying to understand event-driven programming.

It’s much easier to build a Windows app now, with many frameworks and libraries that handle the low-level events. However, the idea of using event-driven programming can be important in many distributed applications. When we work on the request-response model, it’s easy for a failure or problem to create a poor experience for the user, especially if there’s an intermediate layer between the client and the data. Certainly, there are retry and error handling techniques, but far too few developers implement them in a comprehensive way.

I saw an article that introduces the idea of event-driven architectures as something you would want for microservices applications. It’s a good read that helps you gain an understanding of how this architecture would work. I’d recommend this to data professionals, as I expect more of us will encounter developers wanting to implement microservices as a way of magically making your software better. They might even want to implement a broker and queue system in SQL Server.

There are many ways in which you might implement this type of system, and many technology choices, but an understanding of the overall concepts might help you guide developers to choosing an architecture that makes your life easier rather than harder. Event-driven architecture and microservices aren’t magically going to make your application run better. They could easily create bottlenecks that cause your phone to ring and ticket queue to grow.

It’s helpful to learn about the things developers want to try and build. They get enamored by new technologies, some of which are amazing. Some aren’t, however, and some knowledge can help you point out potential problems and influence decisions. We all want better software, and as data professionals, we want to have intelligent conversations about how to get better software built.

Steve Jones

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

Posted in Editorial | Tagged , | Comments Off on New Old Architectures

Picking Up the Tesla

This is part of a series that covers my experience with a Tesla Model Y. If you are thinking of ordering one, I’ve got a referral code. You get 1,000 free Supercharger miles and so do I. Use: http://ts.la/john92950

This week I got my car. Actually our car, and I’m not sure if my wife or I is more excited.

We started Monday, with finalizing paperwork. I got my insurance card uploaded over the weekend, but didn’t realize I needed to add in the policy number and expiration manually. I did that, and then we made the final payment for the pickup. I’ll write about that as well, since that was an interesting experience.

The Plan

In any case, we had scheduled the pickup for 4pm. I had tentatively planned to be out of town part of this week, so I asked to get it early. The agreed to try, but said to give it to the end of the day, just in case.

Our plan (my wife, two boys, and me) was to go hiking and then pick it up later. As we got ready in the am, one of our party wasn’t feeling well and we decided to scrap the hike. We still wanted to get together, so we met in town.

About the time we got together, I got an email from Tesla that the car was ready. Since I wasn’t sure what this meant, I emailed the delivery center. Within a minute they sent a reply that we could come over.

The Pickup

This wasn’t the completely smooth process I’ve heard about from a few people online, but it wasn’t bad. We arrived at a quiet delivery center. There was one customer inside and one employee. The employee took my name and went to fine paperwork. Meanwhile, my wife and I showed our boys the Model 3 and Y in the showroom. They hadn’t been with us when we test drove the car, so this was their first experience.

After about 10 minutes, the rep came back with paperwork and asked me to accept delivery in my account to get started. I said we wanted to check out the car, and he was happy to oblige. He told us the car was on the supercharger and took us out to see it.

firstview

The Inspection

He showed us how to get in with the key card and then said to take our time and come find him. We then commenced our inspection. I had a [paper checklist]() and my son was using the mobile app companion, and we walked around.

The first thing my middle son found was the front hood appeared slightly off center. The gap on the lower right was more than the lower left. You can look at the video, and you can see it, but it doesn’t appear to be a big deal. At least not to me.

The body looked fine otherwise, the wheels were good, no droopy doors, no chips or marks in the glass. The interior looked good to us, clean and unused. I think the car had 15mi on it when we got in, which was fine. Probably some light testing.

We checked all the features and switches, of which there are few. Lights worked, windows, everything seemed fine. A license plate bracket was in the car, as was the mobile connector and tow hook. We adjusted seats, folder them, and spent about 30 minutes going through a nitpicky look at the car.

It was a better inspection then I’d done on most other cars I’d bought.

While all of us were in the car, my oldest son noticed the coat hook on the driver side wasn’t closing. It wouldn’t latch. He pressed it a dozen times and it finally stayed closed. Then we tried it again and it took 48 presses to get it to stick. Yes, we counted.

Closing the Sale

As we were finishing, the car got to 90% and stopped charging. I walked in and got a rep, who came out with the paperwork. She also brought a service tech, who looked at the hook. He wasn’t sure what was wrong, but said to just book an appointment if we wanted to leave soon.

The rep opened paperwork and I accepted delivery in my account and then signed my name about 6 times. It was the easiest sale I’ve ever completed outside of private party sales. Then I logged into the app and the car recognized my phone.

The rep then helped me get other drivers added, and gave us 2 extra key cards. One for my son and a spare since they come in 2 packs. We spent about 10 minutes programming drivers and getting accounts set up. Then he showed me a couple controls and said to enjoy it.

Overall, the process was about 45 minutes for us. Some of that I attribute to us coming early, but I appreciated them accommodating us. The process was very smooth, I’m pleased with the quality of the car, and I think Tesla did a nice job here.

A few things were last minute, and they could improve some of that communication to warn consumers of what is coming when, but overall, this is better than any other dealer. I assume as they stabilize manufacturing, their other IT systems will get better. Their car software certainly has.

No regrets so far. I’ll do a combined post on the first drive and charging next week.

There is a video version of this post on My Colorado Tesla Experience Channel. You can see all of these posts by following the Tesla tag.

Posted in Blog | Tagged , | Comments Off on Picking Up the Tesla

Daily Coping 10 Sep 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 plan a fun or relaxing activity and make time for it.

This was something I did this week, and it was a nice break. Typically I work hard on the weekends, tackling lots of chores. This past weekend I had to dissemble a winch to get it working again, cut grass, measure some things, clean manure out of sheds, and more. I was way more tired going into Sunday night than I was on Friday night as work ended.

Monday was a holiday, though my wife had things scheduled, as did a kid and his partner. However, they could all get Tuesday off. Since I tend to work semi-disconnected often, I traded Tuesday for Monday, worked during Labor Day, and then had plans Tuesday.

Our plans were a hike up the Manitou Springs Incline, which I’ve done before. I didn’t expect to get up this time, at least not anywhere near as quickly as the others. My plan was to enjoy the drive down, start up with them, and likely about halfway duck into the down trail and meet them at the bottom. These old knees don’t like stairs as much anymore.

Things worked out well, I enjoyed time with them, got some alone time when they kept going, and then we had a nice fun meal afterwards, which doesn’t happen often enough.

Glad we made the time for this.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 10 Sep 2021

Daily Coping 9 Sep 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 forgive yourself when things go wrong. Everyone makes mistakes.

This week has been a number of tips related to emotional growth, and this is one of them. It’s especially close to my heart right now.

Recently I got annoyed with my wife and snapped at her a bit. I played the childish “you do this, too” when she complained. We were mad for day or two, and then made up, but really, I was wrong. I let myself get upset over nothing, and then continued to let things grow, when I didn’t contain my emotions.

Perhaps worse, once we’d decided to talk again, I was beating myself up a bit for a couple days, which isn’t something I should do. That continues to make the issue about myself, and it isn’t helpful for me growing and learning how to better be in a relationship.

I thought about things a bit, I read a bit, and I’m working to let my mistakes go here, and at the same time try to avoid repeating them again.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 9 Sep 2021