Monday, July 8, 2019

Stating the Blindingly-Obvious

I was gonna title this "cancer sucks", but changed my mind for two reasons:

  1. This is may not be the only post in the coming weeks/months that would want that title.
  2. It's a statement of the blindingly-obvious (and, thusly, not terribly original)
Vet contacted me, today, about Lady. The initial test-results were not confirmative of insulinoma. He said this wasn't surprising because, while her blood sugar levels were quite low, they weren't in the range typically necessary for a blood-draw to be definitive for insulinoma. Worse, just because the sonogram showed a obvious, consolidated tumor in her liver, that no tumors were visible in her pancreas isn't definitive of primary hepatic cancer. It's notionally possible that she could have pancreatic tumors that are too small to see on sonogram - even if they were the primary source of the cancer in her liver. It's a concern because primary hepatic cancer is rare in dogs. So, while she could be lucky - inasmuch as having life-threatening cancer in the liver can be - and have primary cancer of the liver, the odds are against that.

This left me with a couple options:
  • Do the oncology consult (scheduled for the morning of July 15th) without doing more to eliminate the likelihood of insulinoma
  • Drop her off at the vet, tomorrow, for some additional testing
Since it would be horrible to subject her to liver surgery if one could know that it was both unnecessary and make her spend her remaining weeks recovering from major abdominal surgery, I'm opting for the additional testing. Unfortunately, those tests can still produce a non-definitive diagnosis: like many tests, they're ok for confirming a positive diagnosis (that she has insulinoma) but not for confirming a negative diagnosis (that she absolutely doesn't have insulinoma). For potential longevity sake, I obviously hope for lack of a positive diagnosis from the tests. 

Unfortunately, the tests aren't without risk. They have to fast her to see if her blood sugar drops enough to get a definitive positive test result. Fasting her to that point puts her at risk for seizures and worse. Primary thing going for her is that she'll notionally be being closely-enough observed during the fasting that (if she does have insulinoma) that she would be caught low enough to test yet not so low that she suffers neurological impairment (that would necessitate an even earlier departure than pancreatic cancer, by itself, would have caused).

Still even if the fasting-blood-tests don't prove confirmative of pancreatic cancer, proceeding with surgery isn't a slam-dunk. They could open her up, do the liver resection, send off the excised tissue for biopsy and still find that it wasn't primary hepatic cancer. Meaning, that I potentially put her through abdominal surgery for nothing and put her in pain for a non-trivial chunk of her remaining time with us.

I imagine, if tomorrow's tests are non-confirmative, one of the things that we'll discuss at the oncology consultation is further pre-surgical testing. And whether they could be conducted as part of a larger, contingent procedure. That might be something like, "do an MRI (or something) and, if that comes back clean, only then move on to the resection."

Problem is, dogs, unlike humans, can't really be given an MRI without general anaesthetic. That means either doing one, long sedation for the MRI and then surgery (if the MRI were clean). The longer anything is under general anaesthetic, the riskier things become. Notionally, could do separate procedures, but that has its own risks: 1) two applications of anaesthetic in a short period of time is risky; 2) liver cancer is aggressive enough that the delay between discreet procedures likely results in the growth of the existing tumor and/or possibly allow time for it to metastasize even if it has yet to do so. And, risks to Lady aside, there's also the financial impact: doing the additional testing also markedly increases the costs of an already expensive procedure.

My primary concern is that I do the most good for the least amount of harm. And, if I can't do her any good, I'd like to at least not do her any further harm than whatever bomb ticking in her abdomen is want to do.

There's just not a lot of good choices, here. 

Wednesday, July 3, 2019

Unwanted Curveballs

To open, I'm not going to say anything like "God is a bastard". I'm, at best, agnostic. Which is to say, while I suspect that the life we have is all there is and that there's no father-like figure out there overseeing my existence, I don't have what I'd consider sufficient proof to make the leap to full-on atheism. Atheism requires a degree of certitude I don't possess. Not really sure how anyone has that much. …But I digress: it's the long-winded way of saying "I don't think there's anyone to call a bastard" and I doubt that, if there is, I don't think he's out there trying to make my life hard. If there's a God, he's got far bigger fish to fry than singling me out for torment. And, really, my torment is small potatoes compared to millions – maybe billions – of others'.

What I do know is that, no matter how Right™ you try to live, no matter how hard you try to properly see to those in your care, no matter how much control you try to exert on existence, it doesn't seem to matter. Sometimes, it feels like the more you try, the more it blows back on you.

I'm one of those people that ascribes to the whole "live within your means" thing and "save for a rainy day" and "save for retirement" ethos. For the most part, I've been able to meet those aspirations. That said, watching how others live frequently makes me feel like people who don't are often rewarded for flauting the fable of the ant and the grasshopper …or, at least, aren't as penalized for spendthrift behavior in a way that's adequately proportionate (which can feel the same as being rewarded).

At any rate, while I don't lack for things I truly need – and it viscerally rankles me when people ascribe the term "need" to things that are, at best, "wants" – and I do indulge in occasional luxuries or self-pampering, I don't do so with the frequency that it seems many people I know do. I shepherd my money.

What I do tend to spend on are things like healthy diet for myself, my wife and my pets. Similarly, I spend for regular/prophylactic medical care for myself , my wife and my pets. Unfortunately, there's years like this one – and felt most acutely on days like today – where it all feels like wasted effort. It's like tilting at windmills. My autoimmune arthritis continues to progress – if more slowly than it otherwise might. My wife's been in the middle of a months-long Chron's flare that looks to have her on a trajectory to another hospitalization. And today?

Today I found out that my dog (we have two – one that's notionally my wife's and one that's notionally mine), Lady, has a large tumor in her liver. I found this out because, as I was working from home, writing automation for a customer's cloud environment, Lady started an episode of repeated pancaking.

In the span of a little less than 30 minutes (from a hair before 11:00 to around 11:25 or so), she was falling flat for no apparent reason. First, I'd seen her get up from her one pillow to go get a drink. On the way, I saw her pancake out of the corner of my eye. It didn't look normal, but, I told myself, "maybe she just stumbled and it looked wrong because you saw it from the corner of your eye. Best to keep an eye on her." Self-delusion is grand. Unfortunately, as I feared, it wasn't normal. After getting her drink and starting to walk back from the dish, she shuddered, briefly, then pancaked again. She got right back up, though, so I didn't immediately panic. But then she went to go lay with our other dog, and pancaked again while taking a step up onto the main stairs. At this point, the sinking feeling really set in: barely controlled panic. I SMSed my wife to tell her to hurry home with the car before calling the vet to arrange an emergency visit.  Between the SMS and call to the vet, Lady pancaked one more time before I brought her up on the couch. She had a worried look and I wanted to be able to soothe her. Donna eventually got home and sat on the arm of the couch next to Lady. Lady sat up to say hello ...then toppled back over against me.

Wife home, I went upstairs to get dressed so we could gather up the dog and head to the vet. The on-couch toppling was the last such event before heading to the vet.

We were able to run Lady and Kaiya (our other dog) outside to go to the bathroom without further pancaking from Lady. We were able to get them leashed and harnessed up for the trip (they actually had a scheduled appointment for booster shots, this afternoon) with no pancaking. Lady strode enthusiastically out to the car and hopped up into the back seat without any sign of lack of sure-footedness. Similarly, when we got to the vet, she hopped right down out of the car and did her boxery walk into the vet's office – all with no sign of problems.

The vet-tech took care of Kaiya's booster shot while we waited with Lady for the vet. Kaiya was in an irritable mood – she tends to be leash-reactive, especially at the vet's – so I had Donna run her home while I stayed with Lady. The office staff took us to a room to wait for an available vet.

Eventually he came into the examining room. We discussed what had prompted the change in plans for the day. He decided that some initial diagnostics were in order, but that it would take an hour or so to do them. So he offered the opportunity for us to leave rather than wait in the veterinary facility. Given that the pancaking happened a skosh before lunchtime and it was now 12:45 (and some of my panic had either semi-subsided or I'd been able to compartment it off), I was beginning to feel hangry. So, we took the opportunity to go home so I could get lunch.

Vet called a hair before 15:00 to come talk about Lady. We rushed back down. He indicated that there were some troubling indications in her initial bloodwork. Specifically, here blood sugar levels were critically low – and they'd tested twice to verify that there wasn't a labwork error. That had caused him to do some preliminary imaging. He indicated he wasn't an imaging specialist, but that it had looked like there might be a mass near her liver.

We discussed what this could mean – especially combined with the pancaking and blood sugar levels – and appropriate next steps. We opted to have their sonographer do a more-detailed imaging and analysis. This would take about an hour. Eventually, the results came back: a large, consolidated mass in her liver.

Obviously, my heart sunk through the floor and my voice wanted to betray me. But, I gritted through discussing prognosis and next steps. Because the mass seems to be consolidate/confined, he recommended an oncology consult and offered a referral. There's a chance that, given early enough surgery and that the tumor is as confined as it looks, she could potentially recover in a way where she'd have decent quality of life and not suffer from a premature-for-her-breed death ...but that the oncologist would likely be able to give a better idea.

We started talking numbers, both for today's vet visit, plus likely fees for consult, surgery, etc. Nice thing about numbers is it gives me something non-emotional to focus on. I was doing a running-tally of the current and projected numbers in my head versus how much I knew to be in our "rainy day"/vacation fund. The numbers were close but notionally wouldn't require making a life/death decision based solely on financial capability, and might not even require having to resort to credit cards or tapping into the investment-account (or, as I sometimes refer to it, "the really rainy-day account"). We agreed to a plan of action: he'd provide an oncology referral and steroids to help encourage her liver to release more sugar into her blood; we'd alter her diet to reduce simple carbs  and increase protein and fibre intake (irony is that, with a hypoglycemia-inducing liver tumor, the diet change isn't "give her more sweets" but "feed her like she has diabetes") while simultaneously changing from twice-a-day feeding to an every-four-hours schedule (though same basic daily caloric intake) to help smooth out the glycemic peaks-and-valleys; we'd schedule an appointment with a canine oncologist and proceed based on the outcome of that meeting.

Given that we didn't get home till after 17:30 and tomorrow being a national holiday, won't even be able to call to schedule the consult till Friday. I've asked for multiple referrals so that I can take her to whoever's able to see her first. Fortunately, there's enough in the "rainy day"/vacation fund that I'm able to accommodate a "speed trump costs" strategy. In the face of (personal) tragedy, it's always good to look for things to be thankful for where you can find them.

Obviously, as of this writing, haven't had the oncology consult: everything could turn out to be moot.

Regardless of this particular incident, this will make three dogs to have been afflicted with cancer:

  • Our first rescue-bullie, Lana, contracted a treatable cancer, but, it was discovered coincident to discovering she had advanced stenosis. Given her age, the stenosis and the toll treatment would take on her absent those other considerations, we opted to schedule a euthanization (so we could take her home for a few weeks of pampering).
  • A month later, our second rescue-bullie, Puckett, had manifested skin lesions. A vet visit revealed them to be from cutaneous lymphoma: an aggressive, untreatable (in dogs, at least) form of cancer. Vet predicted a possible remaining lifespan of six months. We got half that when the cancer spread to his lungs.
  • With Lady, our fourth rescue-bullie, I don't yet know the outcome. I suspect the worst, however. That seems to be the way of things.
By a small miracle (at least, it seems that way, at this point) our third rescue-bullie, Cira, was not afflicted with cancer. No... At just shy of nine years old (a skosh longer than six years after joining our household), she died of a sudden-onset, complete renal failure.

So, yeah, our pup-luck has been "not great". I mean, to date, we've been blessed with five really wonderful dogs, but three – and likely a fourth – we'll have only been able to share our home with for far shorter times than is normal for their main breeds' life-expectancies. And that's in spite of the previously mentioned attentive care.


In short, dog-owning life has had a way of really making us feel like the Universe is, at best, indifferent, many times cruelly-so.

Thursday, February 7, 2019

News flash: Virginia is an "Old South" state.

It's nickname is "Old Dominion" for a reason. Several of its most famous historical figures owned slaves and led Confederate forces. Hell, it was the seat of the Confederacy for a while.

I've lived here for a quarter century, now. "Northern Virginia" was a near pejorative for "real" Virginians when I first moved here.

I still remember how stark the difference between the 703 area code was from the rest of the state. It defined not just your dialing rates/locality but a noticable mind-set difference. Just beyond the 703, where you now find tech companies and  huge tractsA-friendly neighborhoods McMansions, you used to see farms and rustic stores Hawking souvenirs from "the War of Northern Aggression".

My point is, discovering that a politician that was born, raised and attended college in "Old South" Virginia before the 90s ever participated in black-face is utterly unsurprising. Not excusing it. Just pointing out some unfortunate reality. There's likely a lot of skeletons in the closets of a significant chunk of the Virginia state government's office-holders. It's likely to be another 15-20 years before that's no longer the case.

It's not just a Virginia thing, either. Hell, it's not even just a "South" problem. I grew up in what, as an adult, I refer to as Pennsyltucky. The vast majority of the state is/was rural ...and its main cities were never (on average) something you'd have confused for "cosmopolitan", "sophisticated" or particularly "progressive". I knew plenty of people my age that, even 20 years ago, would say things that might leave you gawping or scratching your head and wondering, "did you really just say that?" And if you were talking people a generation or two older than me? Fuuuuuck. I loved my grandmother dearly, but I don't have enough fingers to count the number of times she would use "the coloreds" or similar terminology in her speech. It wasn't meant in a particularly-racist way - it was normal for her generation and class - but would still leave me sometimes speechless.

I used to travel extensively, for work. I can tell you that Pennsylvania is not alone in this respect among Northern states.

So, yeah, the current news cycle about what's going on in Richmond is pretty fucking gross. However, as alluded to above, given the current composition of the elected body, summarily cashiering people who've had skeletons might not be the smartest thing. The replacements could easily be worse people. It's even likely that the people that dug those skeletons up have the same damned skeletons (that they think are burried a bit better than those of the recently-exposed) but also have something to gain by digging others' up.

I dunno. It sucks. Doesn't feel like there's a lot of good options inside the next decade or so. That said, I'd still probably prefer someone that claims repentance over someone still wearing a MAGA hat.

Friday, November 9, 2018

Going Nowhere

It's funny, I've spent a decent chunk of my working-life traveling:
  • 22 straight months for SGI
  • 6 straight months for NetApp
  • sporadically for Digex/WorldComm/MCI
  • 5 straight years for Wells Landers (on behalf of Veritas, Sun and VMware)
Given that the above accounts for all but the most-recent nine years of my career, that I have managed to completely duck traveling for both my current company or my prior company is kind of an aberration. That said, that desire to avoid traveling isn't without reason...

Having had to deal with the expensing systems for small items like tolls and similar costs for attending local event, certification exam costs and the like, I've felt compelled to avoid incurring any work-related expenses that I couldn't afford to not get reimbursed for. Worse, because said expenses are employee-fronted and their systems are/were such fucking disasters, there is/was the likelihood of incurring interest charges while waiting for the expense-processes to get worked out. I can cover a few $100s to pay off a credit card and avoid interest when the expensing-process is horribly broken and slow. Paying off airfare, hotel and meals for a week-long conference or training course (and the fees for attending the conference or course)? Not so much ...and I for damned sure ain't paying interest on that waiting for an expense check to get cut (or try to recover interest accrued due to said waiting).

So, over the last nine years, my travel has been limited to pleasure trips. Which is to say, travel that doesn't force me to have to deal with an expensing-nightmare. The only travel nightmares have been the horror-show that is the fucking TSA. With "TSA" accounting for why most of our vacations are "mini" vacations that are done either by car or train. Because of the TSA, a pleasure trip has to be really worth the hassle.

Thursday, November 8, 2018

Thanks For Nothing, Fuckers

Was kind of annoyed when I went to use my Hue app. Opened the app to control my lights, and the app announced to me, "you need to use the Bridge v1 application, now".

So, yeah, confirmation of why I'll never spend a huge amount on any given IoT device: deprecation. LED lightbulbs typically advertise lifetimes in excess of two decades. So, notionally, once you've paid the premium for Hue bulbs, you're done paying for bulbs for twenty or so years. EXCEPT! ...if you wish to continue being able to actually control those long-lived devices, Philips apparently wants you spend $100+, every few years, to buy a new damned bridge?

Fuck.

That.

Noise.

And, the thing is, you know that Philips won't be alone in that nonsense. So, sorry Samsung (et. al.): while I could maybe see my way to laying out $10K for a "smart" refrigerator that will last me a couple decades, I'm certainly not dropping that much, every few years, just so I can keep using all of those "smart" features.

Somehow, it feels like "IoT" is destined to become a further driver of burgeoning landfills.

Thursday, September 27, 2018

We're Going to Vegas, Baby!

Why it's sometimes worth making a polite call to an airline:

This past year, we went to the Las Vegas edition of the Electric Daisy Carnival. We had a fucking blast and wanted to do it again this coming year. However, for any such event, there's the problem of airfare expenses from the East Coast. This past year, we'd flown free by using a goodly chunk of the frequent flyer miles I'd banked from my days as a traveling professional services consultant. That chunk, however, left me a fair amount short for being able to do the same for 2019's EDC.

So, I signed up for an American Airlines rewards card so that I could pocket 60,000 frequent flyer miles. The cost of getting that bonus was spending across three months less than what I normally push through one of my cards in a few weeks' time. At any rate, those points finally posted a few weeks ago. So, I went to book the free trip for my wife and myself using those points. Unfortunately, by the time the points had posted to my account, the itinerary's cost in points had gone up (naturally) such that I was short, again.

One of my other credit cards is a hotel card. The chain has a transfer agreement with American that let me convert points. When I'd looked to see how many points I'd need to convert, I found a page that said "transfer before December 21st and get a 30% bonus." Score. That would let me book the trip with points to spare. So, I went to my hotel's site to initiate the conversion. The points showed up today. However, there was no 30% bonus present and I was still 500 points shy of the free itinerary. So, I called American.

The CSR was very helpful. She pulled up the page showing the bonus-offer and contacted her help desk. Since I was very close to my points needed and the help desk was potentially going to take a while, she comped me the necessary points to get me to my free trip. In the mean time, her help desk informed her that the bonus-offer web page we were both viewing was a 2017 offer that their web maintainers hadn't taken offline. However, since I'd acted in good faith (and have done a few hundred thousand miles of travel on the airlines that became the current incarnation of American), they comped me the bonus. Presumably, they'll be trying to figure out how to offline that stale page (since the page's terms only mentioned a month/day and not a year).

Now, to sort out hotel...

Thursday, September 13, 2018

Rich Man; Poor Man

Direct-deposit on the pay-period where I make mortgage payments is particularly brutal from the "I'm rich! I'm poor!" standpoint.

With DD, your money-sender "notifies" the receiving bank anywhere from a few hours to an entire business-day before the money is actually going to post to the account. My bank notifies me of my DD as soon as they receive the intent-notice from my employer's payroll processor. That means that I "see" the incoming money even before it's technically available.

That said, my bank treats that money as though it actually has been deposited. That means that I can start writing debits against that credit even before it's technically been credited ...which I generally do.

When it's mortgage-paying time, I log into my loan-servicer's portal and arrange for the payment. Even if I tell them "pay the bill, today," the debit generally doesn't show up in my paying account (the one I receive the pending-DD notification from) till the next day. Still, sometimes the mortgage debit hits before the actual DD credit posts. Thus, some months, there's truly times where there's zero time between the rich/poor events (vice the more-normal "at least I was rich for a few hours!" scenario).

Saturday, September 1, 2018

"Travel" and Perception

It is kind of interesting how two people can see the same artist put on a set at a club or festival and come away with completely different impressions of the show. It's almost like, "were we both at the same show??"

It seems to be kind of like life in a microcosm, though. If you don't "travel" (in the case of a show or festival, either move around the room or, when at the edge of the room while going to from the bar or restroom, observing the entire room rather than just the one pocket you and your group are in, that night), you don't really take in that there's a difference between the broader-scope and your particular part of it.

Last night's Alison Wonderland show was a good case in point. I'd say that her set left me cold, but anger-inducing disappointment doesn't feel "cold" to me. SongKick sent me a "how was last night's show" link to leave a review. I left my honest opinion of the show. Afterwards, I looked at others' review of the show. To say that differences of opinion were "stark" is an understatement.

By the reviews, there were clearly a lot of people that enjoyed themselves. And, on my trips to the bar and bathroom, it was clear to my eyes that there were, indeed, pockets of people that clearly liked the show.

...Just as there were clearly pockets of people that were pretty much completely disengaged. To the people that were in those "happy with it" pockets that never really left those pockets (when you're rolling, I guess you don't really need to worry about hitting the bar) or never bothered to look beyond their pocket, it would be easy to think that, like at better shows, "the entire room" was into it. Basically, lack of perspective from lack of "travel" or desire to observe other than what's immediately in around them (or the act on stage). ...Or, other impairment effectively creates tunnel-vision (see prior aside about "rolling").

Life — on any given scale — is probably a lot easier that way. It means that only your little cocoon really matters.

/shrug

Thursday, August 30, 2018

GREAT Customer Service

Work/tech-related, so, almost worth putting in my tech-oriented blog. However, while I'm frequently cranky in that blog, I do try to reserve it for posts about how I solved a given problem.

Any way...

So, a couple weeks ago, I open a ticket for some software that purports to be "Red Hat 7 compatible" pointing out "you guys don't ship systemd unit files with your stuff; the manner in which your legacy-init files are installed makes them incompatible for use with a partitioned disk or a system with data-specific drives; and your legacy-init files invocation is so convoluted and dicked up that trying to create proper unit files is basically a non-starter". The CSR that responded to the ticket replies back, "you should open a feature request asking for unit files: use this URL".

Of course, I'm pissed that, what should just be a fucking given — shipping of unit files for an application that claims to be "Red Hat 7 compatible" — is apparently something that I need to request as a feature/extension. Take that already pissed-off state and then refer me to a URL that doesn't fucking work and you take that rage-state and dial it up.

I reply back to the ticket, "I can't get to that URL". The CSR eventually replies back, saying, "I'll have to look into the problem" ...then fucking ghosts, but not before marking the case as solved/pending-close.

Having marked it pending-close, their system kicks out a satisfaction survey. Of course, I give the CSR all zeros and fill out the "why'd you give these scores" box with polite-bile and asking, "do you really think you ought to be closing this ticket given the open-ended manner in which your CSR left it". Somehow, none of this results in an escalation or even a different CSR picking up the ticket.

Today, I get an auto-generate email saying "you haven't replied to the case in 10 days, so we're closing it."

So, if any of y'all are curious who this oh so helpful software's vendor is (hopefully you so you can steer-the-fuck-clear), it's Collibra. When you see their name on a product, run. Screaming. Far, far away.


Thursday, June 28, 2018

Joys of New DSLs

Note: this document is very much a "for my own knowledge"/rant post. Don't try to use it as a reference unless you're really freaking desperate. Terms are likely wrong or inaccurate. However, I needed to capture the gist for posterity. I lost two days of my life teasing this shit out of Google (and across a few dozen only very obliquely-related search-hits) — particularly the last paragraph's contents — and don't wish to do so ever again .


One of the projects I'm working on, they requested that I take all of the previously-delivered CloudFormation templates and wrap them in Jenkins pipeline jobs. They wanted to be able to reliably an easily re-deploy things, have the deployment-options saved as code, and they wanted to be able to easily check whether a given deployment had errors or not. All are good, valid goals.

That said, the manner in which I'd constructed the CFn templates, I included a lot of built-in break-points and error-reporting. As far as easily redeploying, when you use the AWS CLI, one need only pass the --parameters flag to be able to feed a file of parameter values and settings to the command. Place those parm-files under revision control and all of their stated goals are satisfied. But, "whatever".

Main problem for me is/was, "I'm not a Jenkins guy." While it was easy enough how to deploy Jenkins via CloudFormation, doing so via Jenkins meant (at least partially) learning the Jenkins equivalent methods to using a parameters-file. When first assigned the task, I'd indicated, "I don't know Jenkins: got any examples you can point me to?" All of the examples they had were GUI-authored "Freestyle" Jenkins jobs. Not a GUI-jock, but figured, "if this is what they want, I can probably ape their current job definitions to create ones for these templates."

In a matter of a few days, I'd banged out the requisite Freestyle jobs. Pointed my customer's technical PoC at them to review. He gives me an incredulous, "what are these??" I stated that they were the Jenkins jobs. He stated that he'd wanted them as pipeline jobs. To which I asked, "then why did you point me at Freestyle jobs as examples to follow?" We discussed things a bit further so I was better assured that what I was understanding as the desired outcome was the actual desired outcome.

So, I set to the task of learning how to author jobs using the pipeline DSL. It's been... "unfun". Jenkins is composed of a lot of "contributed" parts. While the core of Jenkins has something in the neighborhood of "ok" documentation, many of the contributed parts' documentation varies from "slightly better than ok" (rare), down through "awful" (common) and, in some cases utterly lacking to the point that you have to read the components' code to see how to make it go (annoyingly far from uncommon). Worse, because so much is "contributed" and the contribution-sources so varied, what works in one context may or may not work (or at least not work the same way) in other contributed contexts.

Further exacerbating things is that there are also multiple methods for denoting action-blocks. And, depending on which method you usde for denoting an action-block, variable interpretation and interpolation is processed differently. This totally glosses over the fact that one can reference a variable in multiple ways: naked "VARNAME"; shell-ish "$VARNAME" or "${VARNAME}"; and, when embedded in a shell-block, "\$VARNAME" or "\${VARNAME}". For those still following along but not aware of the plain "$" and "\$" methods, the former is for Jenkins environmental variables and the latter is for standard shell variables.

Further, if one wants to fetch the value of a parameter, one can use "${PARAMNAME}",  "params.PARAMNAME" or even  "env.PARAMNAME" (or, within the context of a script-block, the latter two become  "${env.PARAMNAME}" or  "${params.PARAMNAME}"). Use of straight-up  "${PARAMNAME}" is frequently fine. When it becomes not fine is if you want to allow PARAMNAME to have a value or be null. If it has a value, all is golden. If you try to pass a null value, it blows the hell up. Instead, you need to use the "env.PARAMNAME"/"${env.PARAMNAME}" to refer to it. Using that method, Jenkins understands, "oh, you wanted to process this as an empty value, not as an undefined parameter".


Saturday, June 23, 2018

"Shop Local" Only Goes So Far

For a decade-plus, now, we've bought wines from Northgate Vineyard. Today, I'm reasonably certain that I bought my last bottle of wine from them. It's a shame, really, because I really liked doing business with them. Unfortunately, times change and, too frequently, the things that make you want to do business with people go away as part of that change. 

Such has happened with Northgate. Earlier this year they were sold. Apparently, the buyer is someone that's buying up Virginia vineyards, presumably hoping to cash in on a stong "buy local" ethos that has powered the growth of the farmers markets, distilleries and the Virginia wine industry as a whole. Unfortunately, this buyer seems to want to recover his acquisition costs inside of the first 12-24 months of assuming ownership.

While I'm a proponent of "buy local", that desire has its limits. Admittedly, when we first started buying their wines a decade ago, they were a relative bargain: you could get a really decent wine from really nice people and spend well less than $20 to do so. Even over time, as their prices trended upward, the value proposition still made their wine an "ok" buy. Unfortunately, a wine that was a bargain at $16 and an ok value at $21 falls out of the "every-day drinking" price-range when it hits $30+. And, when the retail price goes up by more than 60% in the space of three months and you no longer cut frequent-buyers the same discount you cut for occasional case-buyers, you're really asking a lot of your existing customers. I'm concerned with value. If you're wanting to charge me better than 60% more for something I've been buying for years, you need to deliver a product that has a concordant improvement in value.

Funny thing with a better-than-$30 bottle of wine: you put it into the same price-class as some really decent "continental" or California wines. Yeah, you're still nowhere near the really superior wines that come from vineyards that have been making wine since before this country even existed, but you're definitely out of the "table wine" price category and into "special occasion" territory. You're no longer a wine that I'm just going to give to a newly moved-in neighbor as a housewarming gift. You're no longer a wine that I'm going to share with friends who are just as happy drinking a bottle of Barefoot from the local 7Eleven. And, hey: if you're able to make more money chasing the "occasional wines" market than the "every day wines" market, then "good on you" ...but I can't come along for that ride. And, like I say, if you're going to price yourself as an occasional wine, you need to taste like one. Sadly, I can't say that Northgate's wines fall into that category.

What's really sad is that they aren't the local wine-producer that's going down this path. Yes, Northern Virginia (DC Metro as a whole) has a lot of six-figure earning residents. And, of those, there's a non-trivial number — particularly the younger, less life-encumbered ones — who tend to have a "more dollars than sense" outlook on buying-decisions. But, that's a group that tends to shrink over time as they discover that there's plenty of things that are "just as good or better for less" and that spending money for the sake of spending money isn't really a sustainable path, no matter what your income is.

Point of fact, my income doesn't exactly put me in the "struggling" range, even given this area's cost of living. That said, I still measure everything I buy — no matter the price — on whether the reward was worth the cost. My spending habits are more about value than raw price. I've had "special occasion" meals that, at nearly $1000, were far better values than meals that were well less than 1/3 that price.

And that's the rub. "Shop local" is really only one point of consideration in the "value" equation. There's not many people I know that are going to completely ignore the rest of the value equation just to shop local. If people are going to ignore other aspects of a value equation, they're going to do it for a status-y "name", not "it's local". To be brutally honest, I don't know that there's a single Virginia winery that has a status-y enough name to overcome normal value equations.

It really makes me wonder how successful this vineyard-buyer is going to end up being. His practices, to date, have been pretty alienating. I've even spoken to a wine-buyer for a local wine outlet that has previously carried the labels effected by this vinyard-buyer's actions. And the opinion is basically the same as mine: "nice when it was at last year's price; completely not worth it at the current price."  Worse, that buyer has to factor in seller-behaviors into the bulk-buying decisions and the seller's delivery-behavior has apparently suffered even as the asking-prices have soared.

So, "good-bye, Northgate." It was nice when it was Mark selling me wine. This new guy can go screw himself ...because that's exactly what he's trying to do to the people that helped make Northgate an attractive acquisition-target.

Friday, June 22, 2018

Do People Just Look Younger, Now?

So... Facebook popped up a picture of me from my college days. While the specific picture was of me heading out to a Halloween party (probably the Friday before Halloween, 1989), there's nothing I'm wearing in the picture (aside from the small bit of makeup and the bleach-blotted, semi-shredded jeans) that weren't part of my regular look.



At any rate, couldn't remember if I still had the original photo anywhere. It's possible that I do, just have no freaking clue where. But, it did exist in a "Photos from College" folder on one of my cloud accounts. It was actually one of only three photos of me from the entire time I was in college. There's probably  more, but none that were ever in my possession. Basic fact is that there's just not a lot of pictures of me from any point in time as I generally eschew picture-taking.

At any rate, of those photos of my college friends, while everyone pictured looks noticeably younger, none seem to look as young as the college-aged faces I tend to see walking around, today. I dunno whether it's just that I tended to hang out with people that looked older than typical or if my brain is still applying the same filters to those pictures as it formed when I was seeing those faces with regularity (but doesn't to people who are actually 18-22 years old). Could be just a weird perceptual trick ...much like how pictures of former SOs no longer look as beautiful as you remembered them looking when you were still in the good part of when you were dating them.

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.

Saturday, May 26, 2018

Monsoons an Christmas Lights

It appears that neither of our cars much cared for the 7" of rain in 24 hours and 11" of rain over a three-day period during our ten-day trip to Vegas.

As expected with my sixteen and a half year old convertible, I found water in the spare-well under the cargo-deck of my trunk. Fact of convertible-owning life is that, as they age, they start to leak. Still the amount I found pooled under the spare tire was far less than I'd feared. There was less than half an inch of standing-water at the deepest part of the puddle as my car sat parked on our moderately up-sloped driveway. Only really concerning thing is that, when I put the key in the ignition, the ABS and DSC warning lights were both lit. Drove the car around the block to make sure that the brakes were actually working. So, it seems either the sensors are moisture-damaged or just still wet.

The bigger surprise was my wife's Mini. It will be six years old this coming December. When we started it up, yesterday, it was complaining that it was unable to charge the battery. At the time this error came up, the local service-facility we use was closed for the day (well, their electrical tech was gone for the day).We were going to drive it to the shop, today, if the indicator stayed on. Came out after returning from morning errands to find that the alert was no longer showing. So, we opted to drive it to the grocery store on a route that would take us closish to where we get it service figuring "if the alert returns, we'll just head to the service facility". As we left the neighborhood, the first sign of trouble popped up: A/C fan decided "I'm not actually going to stay running at 'high'; I'll run at 'low' and indicate that I'm running at 'high'." Not a fatal issue, and far less worrying than the "not able to charge" alert of the previous day. Drove onwards to see if the problem would clear itself. As we approached the end of a lengthy downhill stretch of road, first one error cropped up, then another. Lost the power-assist on the steering. Then the ABS indicator lit. Then the AWD indicator lit. Then the DSC indicator lit. Then the throttle stopped responding. Was able to get the car off the road using the engine's idle-throttle power. Got it up a very slight grade and into a little shopping plaza's parking lot. As we were rolling to a stop, the instrument cluster winked out.


Once parked, I got out my phone to call the service-facility. They gave us the number of a towing-company to call. Called the tow-company and they estimated a 60-90 minute response. The car was becoming quite warm and stuffy as it sat A/C-less on the open parking lot in the 90° heat and 78% humidity. I decided to see if the windows were at least working. Naturally, they were also stricken. So, we opened all the doors to get some airflow. Noticed there was a McD's in the plaza and opted to seek shelter from the heat in there while we waited for the tow to arrive.


A couple minutes after placing our order for drinks and sitting down, the driver of the tow-truck called to verify our location and let us know he was about five minutes out. Not bad: maybe fifteen minutes from call to arrival when we were originally told 60-90. As he was prepping the Mini to go up on the flat-bed, I called Uber. The driver arrived just as the driver was readying to put the flatbed into its "ready to drive" position. We got to the service-center about ten minutes before our Mini did. By the time the tow-truck driver had offloaded it and turned it over to the service-center, we had the paperwork for our loaner-car in hand. Presumably, we'll know around lunchtime Tuesday what's up with the car. Really hoping it's just a "needs to dry out" situation and not a "need to completely overhaul the primary electrical bus" kind of situation.

C'mon to the 21st Century, Citi

So, recently, I opted to apply for an airline rewards card issued through Citibank. It's been... "interesting," thus far.

For starters, when I followed the application-link that came from my preferred airline, it took me to a Citi-hosted web page. The page itself wouldn't render in any of my normal browsers. I had to switch to a browser with all privacy-plugins deactivated and with most in-built security-settings disabled. Yeah. Good start.

Once I was able to actually login and fill out the form, I received a "thanks: we'll have our decision to you within 7-10 business days" exit-page. Seven to ten days??? For the past several years would-be providers of revolving-credit services have typically been able to make their decisions in less than 7-10 munutes. Why the fuck does Citi take days to do things everyone else takes minutes to do. I mean, that's several orders of magnitude to make the same kind of decision. It's not like they were offering me an outsized line of credit, either. Hell... the companies that provided my my solar loans only took a few minutes to generate their approvals. So, again, "WTF, Citi?"

When I'd applied for the card, I'd assumed I'd have it in hand for my trip to Vegas. Between the protracted decision-making time and the fact that they USPSed the card to me (again, Citi, "WTF: everyone else does this shit via FedEx or 2nd-day USPS because they want to start earning money off me - why you delivering the card via standard ground mail??"), I did not have the card in hand for that trip. Citi coulda made fees on ten days worth of hotel accommodations, several very nice restaurant tabs, quite a few bar tabs not to mention all the Uber rides and concert merchandise. But, nope, they had to be slow.

At any rate, we got home from Vegas and found the new card waiting in the stack of mail our pet-sitter had brought inside for us. I got the new card out of its envelope and activated it via Citi's card-activation portal. I set up all my profile information. I set up my security-verification questions and answers, various pins and other secondary authenticators. And, because I prefer to use my phone - rather than physical cards - I installed their e-wallet. I'd have just used my regular e-wallet, but Citi apparently thinks that only their e-wallet will do (presumably, they don't want to split fee-making opportunities with other e-wallet services), so, "whatever".

Once I'm outside the card's trial period (during which I earn the airline's mileage bonus), I'll probably revert to using my regular card(s). Those cards work with my preferred e-wallet and are just generally better service providers.

At any rate, today was the first farmers market we could hit since getting back from Vegas. It was a "refill the pantry" kind of trip. I figured, "use the new card and start knocking out my obligation towards getting the airline reward." Used the card with eight different vendors with no problems. Got to the last vendor we were going to hit, and my card was declined. Pop open Citi's e-wallet and it tells me "security-hold placed on card: please contact this number."

With much annoyance, I hit the number in the app. It rings through and puts me into their customer service call-tree. First thing it asks for, before routing me, is my credit card number. All I can think is, "seriously? I called from your fucking app and it couldn't have put me into your routing system with that information already populated?" So, I punch in my card number. I then answer the first security question (c'mon, guys, I've got an authenticated device on my person - why aren't you leveraging that capability). I'm then placed on hold while a represetative becomes available. Five minutes pass and eventually a CSR picks up the line.

First thing they ask for is my card number. I point out to them that me reading my card and CCV number out in a public place kind of defeats the purpose of calling in to verify my card's security. They audibly shrug and ask for both bits of info. I supply them. They then ask for further authenticators. I again preface my reply with commentary about the wisdom of being asked for this while I'm in a public place surrounded by randos. Now that I'm sufficiently authenticated, the CSR says that he has to forward me to the correct department.


Mmmmmkay... So, your app had me dial a number that wasn't even the correct department and before you could decide I needed to be routed to a different department, you had to authenticate me?

First CSR does a warm hand-off to the next CSR. Next CSR is apparently wrapped in cotton batting because I could barely fucking hear her. I ask her adjust her volume since my phone's maxed, I'm in a noisy place and she's barely audible. She does so. Once we're able to hear each other ...she asks for my account and CCV numbers. I don't bother to point out the stupidity of having to do so since she was getting me via a warm-handoff from someone that had already collected that information. I don't bother to point out the stupidity of having to audibly dictate that information (again) in a public place. She brings up my information an realizes that she needs to hand me off to yet a third representative.

Second CSR does a warm hand-off to third CSR. If you guessed that the third CSR needed me to dictate my card and CCV numbers, you'd be correct. Further, this CSR needed to send me an SMS to further verify me. Unfortunately, apparently Citi's SMS system doesn't think that my phone number is a valid phone number. So, she can't adequately authenticate me (???) via that method. Fortunately, since I'd set up a bunch of secondary authentication methods when I activated my account, she was able to verify me using one of the yet-to-be-used ones. She then informs me that they need to ground-mail me a paper form that I need to fill out and ground-mail back to them before they can unlock my card. Incredulous, I ask, "why did you issue me a card and provide an online activation mechanism if that wasn't going to be sufficient to actually use my card ...and why did you let me make eight charges before deciding 'whoa, that's enough, there, buddy!'?" She says she's sorry for the situation but she's bound by policy. I note to her that I will be contacting my airline and probably canceling the card once I've claimed my reward. She again states she's sorry that I feel the service has been inadequate and to look for the form in the mail.

Hoorary for quality customer service. Hooray for great security procedures.

Eventually, we complete our errands — doing the remaining transactions with one of my less asstacular credit cards — and return home. After unpacking everything and settling in, I get out my laptop an visit Citi's website. After logging in, it tells me "card is on security-hold, pleas call...". I figure, "worth a shot: maybe they can at least explain this morning's debacle." So, I pick up my VOIP phone and dial the number.

This time, no call-tree an no waiting on hold. Explain basic situation to CSR. He asks for my secondary authenticators so he can open my record. He then asks for my cell number so he can send me a one-time authenticator-number ...their system still thinks my number is invalid. So, he calls me on my number. He rings through, verifying that the number on my account is valid. He updates the information in my account to that effect. Now able to get into the particulars of why my account got put on hold, he notes that they were supposedly not able to validate my SSN. I can only express minor incredulity — "why would you issue a card if there was a problem with my SSN that wouldn't allow me to use my card." He reads to me what they have on file and I validate that the information is correct. This time, his system is able to validate my SSN (where it couldn't previously for whatever fucking reason). He indicates that with things validated, he can remove the hold and that there's no further need for an exchange of ground-service paper-based mails.

While I'm thankful that things are resolved, I ask him why there was so much of a runaround, previously. Obviously, he couldn't really provide an answer to that beyond, "I honestly don't know." I think him for his assistance and we conclude the call. Regardless, I'm obviously sub-impressed with Citi's policies, procedures and IT back-end.

Seriously: if this were 1998 or maybe even 2008, this might have made some kind of sense. As it is, though...

Tuesday, April 17, 2018

I've Married a Toddler

It's with distressing regularity that my wife reminds me that I have married a toddler. She's excitable. She has a very low tolerance for delayed gratification. She has a strong tendency to "mine?" everything. She has a tendency to break and/or lose things in her zeal to explore newly-arrived packages ...whether hers, someone else's or something that's supposed to be a shared possession. All of this was on display, today.

We bought "tickets" to a music festival that's happening near the end of spring. I place "tickets" in quotes because this festival doesn't issue traditional tickets. Instead, they issue bracelets with embedded RFIDs. The festival is multi-day and the RFID-enabled bracelets are your only means of gaining entry to the festival grounds. The festival's ticket FAQs — and the Ts&Cs on your ticket purchase-page — inform you that if you lose the bracelets, damage them in a way that renders the RFID unreadable or render the bracelet unwearable, you're fucked (my words, not theirs). While I imagine you're not actually 100% fucked, it's clear from their wordings that they'll make fixing the warned-against actions a pain in the ass.

At any rate, the parcel containing our "tickets", festival guide and assorted schwag arrived, today. Donna, being her usual, excitable self was wanting to immediately tear into it. I, however, was still in the middle of finishing my day's work. She asked if she could open it while I worked.

Given the amount I've paid for the festival "tickets", hotel, airfare, etc. plus the above caveats around the "tickets" dispositions, the prospect of letting her open the package without me was a "not gonna fucking happen" proposition. After scolding her to stop taking the package apart and to put it down and leave me to finish what I was working on (how this festival is being paid for, neh?), she opted to head over to the neighbor's house for a couple hours.

She came back a few hours later, as I was starting to do my "end of work-session" closing-tasks. She was still antsy and giving me a rushed feeling. Not something I tolerate well at any time, least of all when I'm trying to exit a work-session cleanly. So, as she started to hover, it aggravated me to the point of barking at her to wait while I closed out. She sat down on the couch, package on her lap, fidgeting ...which, since she was still in my eye-line, was continuing to aggravate me.

What she never quite seems to get is that aggravation equals distraction. Said distraction slows the speed with which I am able to do things that require concentration (like closing-out my work-session).

Finally done, I started to get up. Seeing me begin to move, she, of course, interjects with "can I open it, now?" I replied, "not yet," and stalked off to sort out the lights and get my phone's camera ready. I'm not really an "unboxing" kind of person, but I have friends that I know were wanting to see the package since they're unable to go. I also wanted picture-evidence in case anything was damaged or missing.

I started disassembling the package, taking pictures as I went. Interjections of "ooh, what's that," and "can I see that" ...and grabbing at things and throwing "metal hands" while I'm trying to take pictures ensued. While it's great that she's happy about the festival and excited, her expression of it was a bit grating while I was trying to sort out "what's what" in the packaging. Really didn't want to accidentally discard or damage anything important, so I wasn't exactly appreciating the distracting antics.

After I identified what of the now splayed-out contents were tickets and what were other things, she immediately grabbed one of the RFID bracelets. She wanted to try it on to make sure it fit. ...And for some completely unknowable reason, decided it would be a good idea to test out the cinching of one of the bracelets. FUCK!

Fortunately, she hadn't cinched it to the point that it needed to be cut off. She hadn't cinched it to the point that she couldn't get it back on once slid off. When I incredulously asked what the hell she thought she was doing fucking with the cincher, she tells me, "I wanted to make sure it would fit on my wrist".

Yeah, that was not exactly the response that I was expecting. I was a bit dumbfounded by the response, actually. Mustering what credulity I could, I replied, "you were concerned the bracelet might not fit" — presumably by being too small —, "so you tightened it??" Sheepish expression on her face was really all she had left. She babbled some further explanations, but they all made less sense than her immediately prior statements, so I couldn't quite "process" them.

At any rate, everything verified to be present (and now someowhat fucked with) and "documented" I packed the festival kit back up and stuffed it into the case I'll be packing my laptop and other critical items into. I'll have to look at it a bit later to make sure I didn't miss anything in all of the festival's documentation or the welcome material in the kit-box.

Saturday, February 17, 2018

No Color, No Car

It occurs to me, I've never bought a new car that wasn't a color.


My first car was a hand-me-down. It was a grey Chevy Citation.


My second car was the the first new car that I paid for. It was a Regatta Red Nissan Pulsar NX.


My third car was a used car. I had to buy it because my, then 8 year old Nissan had suffered a financially untenable mechanical failure. I needed a car ASAP and needed it for less than the repair-costs of the Nissan. I ended up with a Charcoal Honda Civic.


My next car was a "by choice" purchase. Another Honda Civic, I selected a pearlescent Aztec Green for its color.


Thanksgiving of 1997, I was visiting family in Pennsylvania. At the time, my father was looking to get himself a new car. We stopped by a VW dealership ...that shared space with a BMW dealership. I happened to notice a Z3 in the show room. Hadn't been intending to buy a car - wasn't really even looking for one, but the color caught me. Asked to take it for a test drive. Ended up returning to DC with a (limited edition - one of 300 made globally) Dakar Yellow Z3.


When time came to replace the Z3, I decided I needed something notionally more practical. Of the many cars I tried, none really felt right ...until I took a ride in a co-worker's brand new e46 (2000 model year). He let me take it for a drive and I really liked it. I still wanted a convertible, though, but orders for such were no longer available on the 2000 model year. Put deposit down and ordered a 2001 convertible in "Techno Violet Metallic". Nine months later, it showed up and I traded in the Z3.

Six months later (and just two weeks after 9/11), it was stolen. Was able to order a replacement, but it was a 2002 model year. It arrived in late December of 2001. That's the car I'm still driving, today.


While I've purchased two other vehicles, since then - both for my wife - only one has been a non-color. She insisted on black (she's a goth and generally color-shy) for the first vehicle that we'd hoped would end up being a sprogling-hauler. At least it had (aftermarket) purple and black seats.

When it started to die in 2012, we bought a Mini. Wife, again, wanted a non-color vehicle, but I vetoed. We ended up with Chili Red (but with black "rally" stripes).







Thursday, February 15, 2018

Gotta Wonder...

Ever since the shooting in Vegas, last year, any time a mass-shooting makes the news and I see various people screaming "something needs to be done", I can't help but wonder, "was the shooter's the real intent to prove that there's really nothing you can do to prevent mass shootings":
  • Background investigations? Passed them.
  • Use of aftermarket stuff to increase rate of fire on otherwise non-cyclic weapons? Yup.
  • Using a cache of pre-loaded weapons to obviate the question of limiting magazine-sizes? Yup
  • Using a cache of pre-loaded weapons to overcome the types of heating problems you encounter when you make a civilian-grade weapon operate at near-
  • military fire-rates? Yup.
  • Inclusion of weapons in the cache that wouldn't have been covered by a ban of weapons that *resemble* military-grade weapons? Yup.

The only real thing he "missed" - at least as far as what's made it to news outlets - was including 3D printed weapons, magazines or bump-stocks. ...He also missed out on using homemade bullets. Basically, stuff that's fairly trivially done and no amount of regulation is *ever* going to prevent (at least, not in the case of an adequately-determined malefactors). Stuff that's really only going to get easier to do as technology advances.

I mean, sure, you could try to wholly ban guns, but how well have bans on alcohol and drugs worked out over the years. And, really, that's part of the irony of the "do something" crowd: many of the same people that say "legalize drugs because prohibition just doesn't work" are among the throngs that think that either outright banning all guns or just the "particularly awful" ones will somehow magically work where previous prohibitions have failed.

Am I saying it won't cut down on the number of incidents? No. It would probably greatly cut down on the number of newsworthy incidents. Problem is, it would probably also make it so that when incidents do happen, they're far more likely to be Vegas-style ...or, come by other forms of mayhem (Boston 2013, anyone?).

Saturday, November 25, 2017

The Cycle of Holiday Shopping

I like shopping from home. In looking back at the holiday shopping seasons throughout my life, I find that my 20s and early 30s were probably the real aberration in my shopping behaviors.

As a kid, I grew up in a borderline rural area. I say "borderline", because the town I grew up in was about 35,000 people ...but it was the single largest town in the county. The closest "city" was the next county over - separated from my town by a river and 30 miles of very busy interstate highway. I put quotes around city because by the time of my teen years, changing economic conditions meant that said city had shrunk below to 60,000 residents. To truly be a city, my recollection was that there needs to be 100,000 residents within an incorporated entity. Not really sure, at this point, though. I think the reason that said "city" was referred to as a city was because it happened to be the state capital. Can't have your capital not be a city!



I guess I try to say I grew up in a "borderline" rural area because I don't like to admit I grew up in BFE. However, the prevalence of Trump placards and bumper-stickers the past two Thanksgivings means that I really can't hide where I'm from. Also probably counts, in large part, why I never felt at "home" where I grew up. Mom says I chafed to get away from there from well before my teen years. I know I always felt out of place there.



Digression aside... Being in that type of area meant that, until the mall and big-box retail explosion of the 90s and early 2000s (after I'd graduated college and moved away from the region), there just wasn't a huge amount concentrated shopping. There were plenty of mom-and-pops and other little stores in each town's "down town" areas, just not the kinds of concentrated-retail that typifies the Black Friday meltdowns that seemed to become the norm in the 2000s. As a kid, Christmas season meant waiting for the Christmas catalogues to show up from Sears, JC Penny's and a couple of other, lesser outlets. When the catalogs showed up, it was always "ignore all the grown-up/practical stuff" and seek out the colorful toy-sections of the catalogues. Then dog-ear the pages containing the stuff I wanted (to make it easier for mom and dad to find) and very carefully circle the specific items desired. I place that emphasis there because there were some Christmas snafus that resulted from failure to be precise enough in marking desired items. Was mostly a grandparent problem. They meant well ...and, unlike a pair particularly harried parents, one season, never resulted in a complete "I thought you were buying the presents this year" gaff.



After college, I moved away from home to find work and, frankly, to finally escape the chafing confines of where I grew up. This seemed to coincide with the major rise in destination shopping (90s was when Mall of America became famous, after all). It meant slogging through traffic to get to malls whose parking lots were designed for the rest of the year. It meant dealing with crowds of people who didn't really seem to have any particular place to be, just "out". Lastly, it also meant waiting in line for registers that, like the parking structures, were mostly designed for the rest of the year.


I've been working in IT, to one degree or another, pretty much my entire adult life. I've worked for a couple of ISPs (one that was an early hosting-services provider for e-commerce) and companies that provided support services for them ...and for online retail companies. So, early on, I was aware of possibilities for avoiding malls. And, as they came more into my price-range and stocked more of the stuff I was interested in, I switched to shopping almost exclusively through them. I wasn't really concerned about contributing to the death of small businesses - as, by that time, Walmart and the big-box stores had already put most of them on the endangered species list, any way. I was mostly concerned about avoiding the cranky throngs ("merry fucking Christmas!"), the traffic and everything that makes the holiday run-up unpleasant.

With the backlash against Black Friday nonsense - and the realization that it's kind of silly to try to force shoppers into doing a year's worth of business in the waning hours of the Thanksgiving holiday - it's managing to become even less onerous. And, while I've usually waited until the "hmm... If I do the overnight option, will it still get here in time" or the "if I ship ahead, will it be there when we get there" was a real concern, this year I actually dispensed with things early. Everything I'm buying is bought, already, as of this writing (and, I have enough time that I may have actually paid it all off before 2017 turns to 2018).