Wednesday, June 6, 2018

It's All So Simple (or YAFDSL/YAFSML)

I think that part of my problem with "modern IT" is the proliferation of "simplifying" technologies. Yeah, by itself, any given simplifying technology can be a boon. However, when you're in a position where you work with multiple, not highly-related tools, instead of having to learn one, complicated technology, you wind up having to learn multiple simplified technologies. So, now, you have to keep straight all these freaking "dialects" of simplified technologies. You have to  remember where they overlap with each other (and the parent technology they're simplifying), where they differ, their individual shortcomings — both in general and in relative to the technologies they're simplifying — and idiosyncrasies. Further complicating things is that all of these simplifying technologies tend to be rapidly evolving ...often so that they're essentially re-implementing the things they were designed to simplify away. It all becomes especially problematic when your position requires you to rapidly switch from one such simplifying technology to another.

Seriously: how many simplified markup languages do I need to know. How many flavors/reimplementations of those SMLs do I need to know. And it's not just text-formatting implementations, it's all the goddamned domain-specific languages (great, you're both pythonic and you both offer escapes to the underlying python, but you both use slightly different syntaxes and escaping to get to the underlying python).

When I came back from PTO, I found in my task list "re-do this automation in the automation framework's (Jenkins) native job-control language." All I could think was, "great, yet another fucking DSL to learn and keep straight from all the others."

Even that last thought reminds me of the first time I encountered YACC: "what's that," I asked. "Yet another compiler-compiler".

It's not even all that new a problem. When I first started dealing with text-formatting tools, SGML was the big thing. HTML was designed to provide a simpler method that was sorta inspired by SGML. And, over time, as each revision came out, we got things like CSS and XHTML which, essentially, bolted a lot of SGML's complexities and learning-curves back onto HTML. There was also the fun of learning TeX and then LaTeX (both really great when you wanted to create device-independent — "write it once" — document-rendering ...something that the proliferation of markup and simplified markup languages isn't helping).

Bah!

Monday, June 4, 2018

Always Check Your Work (Order)

In news of "this is why you always read the estimate before authorizing the work"...

During the middle of May, we went to Vegas for a ten-day trip to take in a three-day EDM festival plus related shows before and after the festival. While we were gone, the DC area got stupid amounts of rain. In one 24-hour period we got 7" of rain and in a further 48 hours, the three-day rain total went up to 11". So, when I came home and my wife's car was poppping alerts, I wasn't super surprised. Even though the car was street-parked on a hill — such that there was no possibility of it actually getting flooded — it was still a lot of rain. That volume of rain often finds ways to get into vehicles that are parked for the duration.

What I was surprised by was when, on our way to replenish our vacation-bare refrigerator, the car completely quit. First the A/C fan cut out. Then alerts for the power steering, brake-assist, AWD, throttle, etc. all popped. As I limped the car to a safe pull-off — a semi-vacant strip-mall — the alerts went away ...because the electrics completely quit, taking the instrument panel with them.

I called the dealership where we got the car. When I'd bought the car, I'd paid the extra $3K for the extended warranty. They gave me the number for a towing-company they work with. I called the towing-company. When the dispatched driver called to say he was five minutes out, I called Uber. While the tow-man rigged our car up onto the flat-bed, we caught the Uber over to the dealership. This was two Saturdays ago, now.

Dealership gave us a loaner and, because it was a holiday weekend, told us it would probably be Tuesday before they'd have a chance to look at it. Tuesday came and went and no call from the dealership's service department. First thing Wednesday, I called to find out where the fuck the estimate for my car was. Around lunchtime, they mailed me the estimate. The total expected repairs were expected to come to a little over $4,000: alternator, serpentine belt, front-struts, alignment and battery ...nearly 75% of that total was the estimated labor cost.

I replied back to the email with commentary:

  • "That's a brand new battery: it shoul accept a charge just fine. If it needs to be replaced already, I'll need to smack another garage around for this part of the repair costs."
  • "I bought the warranty-extension to cover the mechanicals through 6yr/60,000. The car is less than six years old and has less than 45,000 miles on it. Losing an alternator at this point in time seems really premature - almost as premature as the warranty-covered loss of the clutch at 33,000 miles. Are you telling me that none of this is covered?"
So, the service representative said he'd check on the warranty-coverage. Meanwhile I'm thinking, "you presented me an estimate for $4,000 and you didn't even bother to see if the warranty I bought through you guys covered anything??"

Two days pass and I don't hear anything further from the dealership. I decide, "fuck this waiting," and call back to ask the status. "My" service-lead had apparently gone on vacation and hadn't passed the ticket down. They assigned me a new lead. We went over the estimate on the phone, and, again, I had to bring up the warranty. Again I was informed that they needed to contact the warranty guarantor.

Another couple days pass and it's now Friday with no word back. So, I call for another status check. I'm told they're still waiting on the guarantor. I note that I'll call again, Monday afternoon, if I don't hear back from them. I didn't hear back from them by lunchtime, so I called (at 13:30 - no point calling during lunch-hour). This time I'm told that the guarantor's adjuster is due to arrive any time, now, to check/ok the work. They'll get me an updated estimate depending on the adjuster's findings.

They actually did call me a little before 16:00. Even better, not only was the $1000 associated with the alternator parts-and-labor covered, so to was all the other stuff (with the exception of the warranty deductible and the cost of the wheel alignment). In short, my $4,000+ initial estimate drops to a little less than a $300 outlay. And, about that I'm happy.

The thing that gets me is, had I not pushed back, I'd have been on the hook for $4,000+ worth of repairs. Why the hell wouldn't they just automatically do right by me? Why the hell did I have to push to get what was due me from the warranty? I mean, had I not pushed for them to verify the coverage, I'd have essentially paid for the repairs twice: once for the unused warranty and once for the repairs themselves. 

Further aggravating is that it's been nearly ten days to get to this point. Granted, they'd given me a loaner, so I didn't have to rent a car during the period nor strand my wife while I worked had I not been able to afford to rent one. But it's still annoying to be stuck in a loaner for that long. Don't get me wrong, the loaner isn't shitty, but it's definitely the base-model ...and our car very much is not.