Wednesday, November 30, 2016

Dear Physicians and other Medical Specialists:

Look, I get that HIPAA is a bitch. But you really shouldn't use it as a fucking excuse for not bringing yourselves into the fucking 21st century. Requiring me to either show up and fill out a form, download and print out a form to bring with me or download, print out and fax a form is just fucking stupid. Really, that you're still fucking doing FAXing rather than secure email is fucking stupid.

There's 19Mn cloud-services out there that allow for the secure sharing of documents - many of them are even certified for HIPAA, SOX and other data compliance legislation. If you can't afford to set up your own, self-hosted system, use one of those many cloud services.

Fuck: if you can't figure out how to accept S/MIME- or PGP-encrypted emails just let me email you a link to a protected document on a cloud service of my choosing.

You might have room to talk to me about data protection policies if I wasn't about 99.999% certain that some hacker hasn't already rifled your databases. Really. There's lots of secure options out there. Don't be such righteous pains in the dick.

Thursday, November 10, 2016

To all the Chicken Littles freaking out about Trump

Remember: the US system of governance is a machine. It's a machine that aspires to be the proverbial "immovable object". When you're the one seeking change, this machine sucks. When you're the one seeking to get things done, this machine sucks. For better or worse, it cuts both ways. When people elect the "burn it all down" candidate, that machine acts to blunt those attempts at change and getting things done.

Obama came in in 2008 promising an agenda that would include all sorts of change and transparency: how'd that work out? Is Gitmo closed? Has mass surveillance been curtailed? Have any of the people that created the banking crisis been meaningfully held to task? Are we no longer fighting endless wars? Has any meaningful change really happened that didn't start from the bottom and work its way up?

And, yeah, you might argue that Obama was fighting the House and Senate most of the way. You might argue that Trump has a Republican House and Senate to work with. Really? What does that even mean when a lot of those Congresspeople and Senators are lifers and Republicans that never really considered Trump to be Republican.

While the whackadoos may feel freer to come out from under their rocks, there's not going to be more of those CHUDs than there were Monday night. Things that happened in spite of the machine aren't going to be suddenly undone.

Am I saying things are gonna be just peachy? Am I saying some things aren't going to get worse? No. Not by a long-mile. Just saying that sometimes, you need to trust others' self-interest to keep the fire from turning into a conflagration.

Your Tits: Calm Them

Monday, October 31, 2016

Programming Style Woes

Woulda put this in my tech-wiki, but it's really just a rant and of no real technical value.

Look, I get that the language you wrote your program in isn't your preferred language - and that when you program in your preferred language you're just fine - but there's no excuse for being internally-inconsistent.
  • I don't care if you want to do indents as tabs, two spaces, three spaces four spaces or multiples of one of the preceding. What I do care about is that you pick one and stick with it.
  • PICK A FUCKING TERM-WIDTH AND STICK WITH IT. I don't want to have to keep widening my xterm each time you write a new, wider line than any line you previously wrote
  • I don't care if you want to use module or path/to/module - just be freaking consistent
  • I don't care whether you pre-declare your variables (so you can set their type - even if the initial value is null) or not - just make sure that if you pre-declare some variables you pre-declare all your variables.
  • There really are better ways to write to a file than "open -> append-write -> close ; open -> append-write -> close": just open the damned file, do all your freaking writes to it, then close it
  • If you're gonna regex something using a function that supports multiple operations, call that function ONCE.
  • If you're going to explicitly declare that your regex is an extended-regex, make sure that you're actually doing extended regex rather than standard-regex.
  • If you're doing the exact same things more than once in the same program, CREATE A FUNCTION AND USE IT. Seeing the same two dozen lines of code scattered multiple times throughout a program is not acceptable.
  • Be consistent with how you declare and structure your functions.
  • Be consistent with deciding to create functions: don't turn some things into functions and leave other things repetatively declared elsewhere
  • Be consistent with how you use logic-branching: don't use nested "else ; if" once place and "elif" in others; don't use case-branching logic one place and ginormous if/elifs elsewhere.
I write in a bunch of different languages. If you're familiar with the various languages, it's easy to tell when I've slipped back into my "mother tongue". That said, I try to at least be consistent with my writing within a given program - even if that means my Python looks very shell-ish (etc.).

I can't figure out how people can debug their own code if they don't at least make it internally-consistent. How the hell do they expect anyone else to work with the code if it's constructed so that even the code-owner is going to struggle with it??

Saturday, October 1, 2016

Poor Choice of Terms

I get that the NCAA is trying to reduce the incidence of head trauma. Fine. Noble goal. If you want to say that _any_ hit to the head is illegal, call it an "illegal hit to the head".

When you call it "targeting", however, the use of such term implies intent on the part of the hitter and that the basis is for the call is that intention. If the initial point of contact isn't the head - that the contact to the head was the result of the initial contact getting deflected/redirected into the head, you can't claim intent. If the hitting player was otherwise not in control of their impact-path (e.g., they got blocked), you can't claim intent. Change the name of the fucking penalty.

And, no, I don't care if saying "targeting" is easier for lazy referees to slobber ito their mics than "illegal hit to the head" is.

Friday, September 30, 2016

Rainy Days and Longevity

So roofer came by to do his inspection. Definitely need new roofing all around.

Now to wait to see what the estimate is and whether it all fits within my rainy-day savings or if I have to finance. If I have to finance, I'll probably look to see how much bigger the loan would have to be to accommodate a solar install.

Was kind of funny - if a bit sobering: the estimator had forgotten to leave us with the swatch-book of shingles. When he came back by to correct that oversight, he was showing me the different categories and says to me, "I personally wouldn't splurge on the 'premium' shingles," to which I replied, "my goal, in all of this, is to not have to worry about putting another roof on this house till I'm eligible to collect full social security: I'll be 47 this January". He responded back that I definitely wouldn't need the premium shingles/roofing materials since everything was guaranteed for well longer than 20 years.

One of the funny things about being in the back half of my 40s: I need to start weighing so many more decisions against actuarial likelihoods:

  • Will this roof repair last me at least as long as I plan to be working
  • Is it likely that this new doctor/dentist/etc.will still be in practice for as long as I need their services
  • Does it make sense to buy this new appliance now, or wait "X" years so that its likely end of life will be sometime after I've retired and moved away
And it all ties back to the realization that, even if I live to be 90, I've got less years ahead of me than I do behind me. Right now, for the more ahead than behind to happen, I'd need to live to be 93 or so. In which case, even if I've planned my savings appropriately for a typical lifespan, I'll likely have outlived those savings-plans.


Wednesday, September 28, 2016

I Didn't Mean It Literally

2" of rain early Monday morning. Another couple inches last night. Forecast is calling for another 2-5" of rain each of the next several days.

Open door, yesterday, and get dripped on as I'm passing through the door frame. Rainwater is dripping from the (rain-swollen) interior-trim around my door frame.

Today, during one of the not-actively-raining periods (and while light enough to still see well), I get out a ladder and try to sort out how the water's getting in. Find that the moisture's coming from the roof-line. Step out into the yard to look at the roof over our foyer. Looks like the roof is ever so slightly sagging in one spot. Roof is 14+ years old (we moved in in 2002). I guess it's not unexpected that it might have age-related sagging. Unfortunately, the slight sagging looks like it might be allowing some capillary action up under the shingles and then between the backing plywood (at least when it's raining so heavily that the rain sheets on the roof).

I have rainy-day savings ...but this is a little too literal requirement for their use.

Friday, September 16, 2016

Dammit, Jerry's

I am not ordering every week - least of all the same thing every week - just so I can shortcut my order by using "recent orders".

Just keep my overall order-history and let me pull from that. If you have to prune, set some kind of multi-month expiry-horizon (or even better: a one-year horizon).

If I'm ordering fast food for delivery, it's because I'm LAZY (and full of self-loathing, but nevermind that): don't make me have to apply effort just to re-order something a couple months later.