Month: June 2017

Amazon Acquisition Of Whole Foods

I don’t know why everyone is talking about Amazon Fresh expanding to a radius around every Whole Foods store. There’s not a lot of cost savings or synergy there. Amazon will use their own logistics solution to move thousands of orders to a Whole Foods distribution center and those orders ride on trucks already headed out to the Whole Foods stores. You will stop in after work / on the weekend and pick them up. Saves the expensive last-mile shipping bit (where Amazon currently has to pay money to Fedex or UPS to get a package from their distribution centre to your doorstep). And may increase Whole Foods grocery market share … if you are going there anyway to pick up your stuff, saves time getting your groceries too.

Apache Airflow — No Backfill

A lot of software seems to be designed to save the user from themselves. This is great 90% of the time when you mess up and really want their help (or when the software’s help is cosmetic … my gripe against auto-correcting smart quotes, as an example). But I seem to fall into the other 10% a lot. And I mean a LOT. Apache Airflow jobs try to grab new information all.of.the.time. It’s a feature called “backfill”, and I’m sure it helps all sorts of people do exactly what they really wanted done. Not me 🙁

Having updated to 1.8, though, I now see a configuration parameter to instruct a DAG not to do me any favors. Just do what you’re asked when you’re asked to do it: catchup = False

DAG('testjob', default_args=default_args, schedule_interval='0 * * * *', catchup=False)

The Only

It helps me to remember that my kid has never once asked for a *real* sibling. She is asking for a fantasy sibling — someone who always wants to play the game she want to play, never asks to share anything, takes absolutely none of my time, doesn’t make noise while she is reading but doesn’t complain when she is running around screaming, never gets the bigger bowl of ice cream, never blames her for anything, and promptly disappears when she is bored of having a sibling.

There’s no such thing. I don’t feel bad about not getting my kid a unicorn or a trip to Jupiter to harvest diamonds … I don’t feel bad about not “giving” her a sibling either.

Witch hunts and reasonable enquiries

This morning Donald Trump twitted “I am being investigated for firing the FBI Director by the man who told me to fire the FBI Director! Witch Hunt”. The thing he’s neglecting to consider is that motivation matters in employment cases. I used to work with corporate HR, gathering data when employees were being investigated for breach of company policy. Thing is, the breach was rarely the impetus for firing the individual. It was just the easiest and most defensible reason for firing an individual. Even in an at-will work state, a company is still open to charges of discrimination when terminating an individual.

An example was a call centre rep who had no interest in being polite to customers. He was rude, sometimes vulgar, and happy to convey how little he cared about the callers problem beyond “dad made me get a job, so I’m stuck here talking to people like you for three more hours”. Sure, he could have been reviewed poorly on each quarterly cycle, placed in the performance improvement program designed to assist employees become at least average contributing members of the company, reviewed poorly another time or two, and then fired for poor performance. That’s 18 months of bad customer service to provide overly-cautious legal coverage for a possible wrongful termination suit.

Or we find some policy that he has violated — there are a lot of laws, there are a lot of company policies. Look hard enough and you can find a violation for just about anyone. Held the door for the person walking behind you? That violates security protocols. Printed a pass for a concert you’re heading to after work – misuse of corporate resources. Forwarding jokes via e-mail to coworkers, using company computer resources to surf the Internet … in this particular chap’s case, it was consistently signing back in after his break a few minutes late. I wrote a job that compared his sign-on time for the phone system with his break times and automatically alerted supervisor and HR when sign-on was late. The first day, he was verbally warned about signing in late. The next day he was written up. Day three was another write-up with a warning that the next infraction would result in termination. And the next day, he was terminated. Now this is an extreme example because the employee did absolutely nothing to change his the proximal cause of his firing (i.e. had he started signing into the phone when his break ended, they would have needed to come up with something else). But the fact remains, he violated a company policy. Termination was recommended to redress his repeatedly late return from break.

Equally possible that the call center manager could have a old dude that they want to fire because they are old. It isn’t like I was told of the guy’s failings that led to the investigation. Found that out later from office chatter. Sign into the system late, get fired … and still have a perfectly valid wrongful termination suit for age discrimination.

What does all this have to do with Trump? Well, he decides he doesn’t like Comey because the guy isn’t finding a convenient scapegoat and ending the Russia investigation. Trump asks some of his administration for their opinion of Comey’s actions regarding the Clinton investigation last year and gets honest feedback (the call center dude DID sign in late from his break). The distal cause for termination can still constitute obstruction of justice. And, yes, the very people who recommended the termination when provided the proximal cause may well consider the distal cause distressing.

Alternative Fact: Witch Hunts

Alternative Fact: “You are witnessing the single greatest WITCH HUNT in American political history” — Donald Trump, on Twitter (where else).

Real Fact: Donald Trump may have been a little young at the time, but hello: Joseph McCarthy’s hunt for Communists in America!?! Now if “great” doesn’t mean widespread or terrible but rather goofy, I have to go with Christine O’Donnell.

Bonus real fact: Hyperbolic untruth is still lying.

Bad Sales Strategy

Shortly after exacerbating tensions between Qatar and its neighboring countries, the US is selling twelve billion dollars worth of F15’s to Qatar and a hundred ten billion dollars in weapons to Saudi Arabia?!? Please tell me that provoking tense geopolitical relationships is not going to be a sales strategy. Great, you keep Boeing’s assembly line open … but this is too much like privatized prisons needing a constant increase in incarcerations to increase their profits.

Privatization Of Government Services

When government services are privatized, why are the functions not turned over to a not-for-profit company? The government provides services that shouldn’t be run for profit. Services that create a conflict of interest when profit is involved (the major component of my argument for single payer health care). The ideal scenario for the prison system is no “customers” — no one is breaking the law. That’s terrible for a company’s bottom line. To sustain profits, prisons need more prisoners … and retention, they need those prisoners to stay longer. There’s a civic disinterest in the conditions that lead to increased profits.

Hell, cut taxes in half and spin half the government into non-profits charities. Private contributions are tax deductible, and you just saved 5k on taxes … donate some of that to NASA, NEA, etc.

The Great Negotiator

Hopefully the mythos of Trump as some superior negotiator will be dispelled by, well … let’s just say he reminds me of an employee with a grotesquely inflated resume. Sure, they get the job. At some point they show up for work and display their real qualifications.

A halfway decent negotiator understands the other party’s motivations – that would take some study and some awareness of something outside of yourself. More importantly, though, a good negotiator understands the strengths and weaknesses of their position. Knows what leverage they have – which isn’t to say you cannot negotiate a good deal when you lack leverage. That’s the point of bluffing. But if you are completely unaware of your standing, you don’t have the good sense to bluff.

Let’s be honest here — someone who didn’t think health care would be so complicated, who didn’t realize China didn’t have a whole bunch of sway over North Korea (nor the impetus to use their influence to benefit the US) certainly doesn’t understand what leverage he’s got in negotiating either. And someone whose big experience with taxes is managing to lose an incredible amount of money (probably park the debt somewhere that it won’t be collected) and turn that into a tax-free decade probably isn’t going to enter into the tax reform negotiating with a whole heap of power either.

Alternative Fact: Ignorance of the Law

Alternative Fact: According to Paul Ryan (R-WI), it’s OK if Trump asked the FBI Director to end the investigation of Michael Flynn and then fired the Director in an attempt to change the direction of the FBI’s investigation of Russian interference in the 2016 election.

Real Fact: Ignorance of the law does not exonerate a person. “I’m new here” might work when you violate a corporate norm in your first week at work — I didn’t know we didn’t brew a new pot of coffee after 4PM. I didn’t know the boss sits in the middle seat along the window wall at meetings. Yeah, someone will notice your transgression and let you know. I didn’t know that we don’t embezzle money … that’s on you to know, and you are fired. Possibly facing criminal charges too.

Possible bonus real fact: Trump did not realize that some branches of the government are actually meant to be independent of the White House. Seriously – that’s the implication behind Ryan’s “he is new at this” defence.