Tag: car update

  • Auto DevOps

    As much as I like DevOps, this scares me. There are a lot of employees (20%) at BMW that are software engineers. They want to increase that to a larger percentage, which I assume means that we’ll have more and more code in our automobiles, with more systems tightly integrated. We’re even gathering more and more data in modern vehicles. Maybe there are good database job opportunities for some of you with automakers.

    If there’s one thing we’ve learned in a few decades of writing software, it’s that large monolithic systems are a mess. They contain vulnerabilities, and more importantly, they are very difficult to patch and change. All of the DevOps success stories I’ve seen from large systems have either been a complete rewrite, or a long term refactoring that removes dependencies and tight couplings between modules.

    In cars, we’ve seen all sorts of hacking issues. Hackers can attack a vehicle remotely and a faulty (or hacked) update might leave you in trouble. Granted these things aren’t that likely, yet, though I think this piece understates the potential problems. I think that because once a hack is discovered, how sure are we that a) it will be reported to vendors (hackers might just exploit it), or b) that a fix will certainly be developed that works well and doesn’t cause any issues (remember 10s of millions of lines of code current year cars), and c) consumers will apply the patch. That last item worries me, especially if cars become more connected and share data about operation or as we move to autonomous (semi- or total) vehicles.

    Personally I’m not against code in vehicles. I’m not even against some connected systems. What I am against is a monolithic, tightly coupled system. I don’t want engine control or drive by wire sharing a network or code with a CD player or navigation system. I don’t want one computer controlling vehicular functions, entertainment, and climate control. I also want to be sure that there is some protection for all this data, to be sure it doesn’t overwhelm any system. I’ll also admit I like idea of upgrading or replacing parts from different vendors, some of whom might do a much better job of building systems.

    We’ve learned a lot about software and complex systems. While I don’t want all manufacturers to use one system or have tight regulations, I would like to see some mandates that separate critical systems from each other. Both in code, and physically. We don’t need to specify code standards, or encryption, or any details, but let’s ensure that a base bar of building software is being used in any of the mass produced vehicles, planes, trains,  automobiles, or anything else of substantial size that is operated by the general public.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 4.7MB) podcast or subscribe to the feed at iTunes and Libsyn.

  • The Bad Data Shutdown

    I’m a car guy. I like cars, I like driving, and I’ve spent a lot of time and money over the years on vehicles. I’ve swapped and enjoyed a few dozen automobiles as part of my life. If you are on Twitter, you might occasionally see @BrentO and myself go back and forth on some car topic, usually Porsche related. This usually results in an hour or so of life wasted on dreaming of a new car (including getting distracted while writing this piece and pasting that last link in, where I spent quite some time drooling over the Macan).

    Recently there was an issue with the navigation system in Lexus vehicles. Apparently bad data was sent during a software update, which is not exactly what you want to happen in a car. I’ve had a few modern vehicles, some of which would be quite handicapped if they onboard computer were frozen or rebooting. In my current vehicle, this would cause issues with climate, navigation, entertainment, and potentially other systems. After all, I suspect many things from door locks to speed control are all integrated together. Certainly the drivetrain is as an open door will automatically shift my car from drive to park, at least at low speeds.

    As we move to more drive by wire, bad data or bad software that disrupts the computer systems could be very dangerous. It’s not just updates, but this could even be some internal Denial of Service issue from a USB device or bluetooth connection. In this case,  Lexus acknowledged the problem, which I’m glad to see. The Internet ensures that problems can be reported from many users quickly and very publicly. That makes it hard to deny a widespread problem.

    Delivering updates across wireless links is great. It’s cheaper for everyone, saves time, and owners appreciate convenience. However, moving to this model often requires some sort of continuous delivery (CD) process, which should also allow for rolling forward, and releasing fixes for problems. However, if the updates you deliver cause the system to cease functioning, then this doesn’t help. At the last, your QA system needs work and you don’t have a well designed software delivery process.

    Various companies are getting better at delivering updates to our systems without downtime, but there’s still work to be done. The smaller your domain of clients, the easier this is. For many of us that work on small systems, an application server or two and a database, we can certainly get much better at ensuring our updates are tested, and more importantly, that we can quickly deploy a second patch if we find an issue. That requires engineering a process that is known and stable, with the ability to respond quickly. For larger systems, with many clients, you need a really solid engineering and deployment process.

    Above all, however, no matter what your deployment mechanism for updates, you need to be sure that any data you include is at the quality level you’d expect would be delivered to you.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 4.7MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • First Look at Apple Car Play

    I rented a Buick recently, and when I plugged my phone into the USB port to charge, I was surprised to see the CarPlay icon come on. At first I was a little confused, using my phone to navigate to a hotel, but when I could only see written directions, and not a map, I suspected the CarPlay integration had taken over.

    At first I was a bit annoyed, after all, I could see the radio on the car screen, but no map on my phone and navigating was tricky. However once I realized how to change to CarPlay on the car screen, I could access the map there, which was much easier to see than my phone.

    Over a couple days, I experimented with CarPlay, getting and sending texts in the car with Siri, which was much easier than accessing it on my phone, especially for having messages read. Accessing music (native or Spotify) worked well, though there were some limitations with Spotify, such as not being able to easily pick a particular song in a playlist.

    Very few apps were integrated, mostly the native ones with Spotify and Pandora for me. I wish Google Maps were integrated as I like that one better than Apple Maps, but it wasn’t a big issue for me. I suspect that will change over time, especially as more companies put CarPlay in vehicles and developers incorporate the APIs.

    The ergonomics are good, overall, however having to reach and access a touch screen on the dash is a bit cumbersome when you’re driving. Especially when there isn’t tactile feedback. It’s too easy on a touch screen to hit the wrong icon and then have your attention leave the road. I really think that CarPlay will need some hard button integration to really be useful for drivers. The voice access is OK, but I’ve found with road noise and sometimes needing a stiff pronunciation from me, it’s not a great system.

    Overall I’m impressed. I didn’t think much of the idea when it was announced, but having used it, I like what I see. There’s work to be done, but this is one of the best car/phone integrations I’ve seen in terms of working well and also removing temptations for the driver to focus on their phone. I’m hoping that Android Auto works just as well and we find ways to remove some phone distractions in the car.

  • The 2015 Car Update

    I love cars. I don’t love commuting, but I enjoy driving. A little over a year ago, I left the Albuquerque SQL Saturday with a few fellow SQL Server pros at 8pm. I drove the 6+ hours home to arrive at 2:30am in time to get some sleep and then be up early for a family event.

    It was hard, but I enjoyed the drive. I like the road trips.

    I used to include some thoughts on cars and technology as an editorial piece every few months. Some people like it, some didn’t, some hated it, so I stopped. However I’ve been meaning to include a few notes here, so if you don’t like cars, stop reading.

    The End of an Era

    At the end of last year, I sold my 911. That was the dream car I wanted since I was 11 or 12 and finally bought. It was the second Porsche I owned (I had a 914) and it was a little sad to let it go.

    However it stayed in the SQL Family, going to Merrill Aldrich. Here we were one morning in December before he drove away.

    Photo Dec 19, 7 26 20 AM

    This was the first time I hadn’t had a Porsche in over a decade, and I thought I might get another one soon. However I was looking for something that was larger and more comfortable to me.

    Looking Forward

    As I’ve aged, and since I’ve been driving my 2001 Suburban for a few years, I’ve wanted to have a bit more room in the car. With a bad knee (surgery last year) and again joints, I dislike getting down into cars these days. I don’t like driving our Prius and I try to rent SUVs when I’m traveling.

    As a result, I’m looking for a mid-sized SUV. The Suburban has been great, but it has 180k miles on it, things are breaking, and I’d like to have a slightly smaller SUV with better gas mileage. I am looking for a truck that would easily get 3 of us skiing with gear. I’ll still have the Suburban for a bit of time, so if we need to take 5 people, we can. I considered (briefly) some of the AWD cars, but at the ranch we have snow drifts at times and the low clearance of cars becomes an issue.

    I also want to be pampered. Things I think are important:

    • heated seats (must)
    • heated steering wheel (nice)
    • sunroof
    • smooth drive
    • leg room in the rear (I have kids starting to drive, who are large and sometimes put me in the back seat)

    That’s about it. Navigation, cruise control, most of the other items are optional for me. I was looking for a 2012-ish used truck, maybe newer, depending on model. With this in mind, I started a search with these cars:

    • Chevy/GMC Tahoe/Yukon
    • Porsche Cayenne
    • VW Toureg
    • Audi Q7
    • Lexus RX350/450h
    • Hyundai Santa Fe
    • BMW X5
    • Volvo XC90
    • Lincoln MKX
    • Toyota Highlander
    • Acura MDX
    • Mazda CX-9

    I drove quite a few of these, but not all. However they seemed to fall into a few classes and I could relate some to others. For example, the Cayenne, Q7 and Toureg all fall on the same frame. The Porsche is the smallest inside, and was underwhelming in terms of power. The Toureg was really nice, but it didn’t have any advantages over the X5, so I discarded it. I didn’t drive the Q7, but it’s a more expensive car, with no real advantages. To some extent, the Lincoln and Chevy fall into the same class. Expensive with no advantages.

    The Highlander, CX-9, and Santa Fe don’t feel as polished or comfortable. Thinner seats, not as enjoyable, just not luxurious. The Lincoln was a bit underpowered, and also smaller.

    I settled on the X5 and the RX350 pretty quickly. The Acura was essentially the RX350, but since there are fewer of them, why go that way? The Lexus is amazingly built, with so many older models with high mileage for sale. I even drove one with 325k miles and was tempted to get it for my son.

    Ultimately the large sunroof and my wife’s affinity for Beemers have me choosing the X5 as the truck. It has rear seat heaters, which the kids like. A third row, which is really unusable for my family (everyone is 5′ 9" or taller) but it’s there in a pinch. The sunroof is huge, which I love. It’s comfortable and luxurious, and while it’s a touch heavy, the diesel has decent gas mileage.

    All that’s left to do is find one. I’m on the search now, and we’ll see what I find in the next month.