Category: Miscellaneous

Facebook’s Offensive Advertising Profiles

As a programmer, I assumed Facebook used some sort of statistical analysis to generate advertising categories based on user input rather than employing a marketing group. A statistical analysis of the phrases being typed is *generally* an accurate reflection of what people type, although I’ve encountered situations where their code does not appropriately weight adjectives (FB thought I was a Trump supporter because incompetent, misogynist, unqualified, etc didn’t clue them into my real beliefs). But I don’t think the listings causing an uproar this week were factually wrong.
Sure, the market segment name is offensive; but computers don’t natively identify human offense. I used to manage the spam filtering platform for a large company (back before hourly anti-spam definition updates were a thing). It is impossible to write every iteration of every potentially offensive string out there. We would get e-mails for \/|@GR@! As such, there isn’t a simple list of word combinations that shouldn’t appear in your marketing profiles. It would be quite limiting to avoid ‘kill’ or ‘hate’ in profiles too — a group of people who hate vegetables is a viable target market. Or those who make killer mods to their car.
FB’s failing, from a development standpoint, is not having a sufficiently robust set of heuristic principals against which target demo’s are analysed for non-publication. They may have considered the list would be self-pruning: no company is going to buy ads to target “kill all women”. Any advertising string that receives under some threshold of buys in a delta-time gets dropped. Lazy, but I’m a lazy programmer and could *totally* see myself going down that path. And spinning it as the most efficient mechanism at that. To me, this is the difference between a computer science major and an information sciences major. Computer science is about perfecting the algorithm to build categories from user input and optimizing the results by mining purchase data to determine which categories are worth retaining. Information science teaches you to consider the business impact of customers seeing the categories which emerge from user input. 
There are ad demo’s for all sorts of other offensive groups, so it isn’t like the algorithm unfairly targeted a specific group. Facebook makes money from selling advertisements to companies based on what FB users talk about. It isn’t a specific attempt to profit by advertising to hate groups; it’s an attempt to profit by dynamically creating marketing demographic categories and sorting people into their bins.
The only thing that really offends me about this story is that unpleasant people are partaking in unpleasant conversations. Which isn’t news, nor is it really FB’s fault beyond creating a platform to facilitate the discussion. Possibly some unpleasant companies are targeting their ads to these individuals … although that’s not entirely FB’s fault either. Buy an ad in Breitbart and you can target a bunch of white supremacists.

Eclipse Viewing

The initial forecasts this morning called for clouds and thunderstorms during the eclipse, but the clouds moved off in time and we had great visibility. Glad I picked up some of the solar filter lens things – people I knew who were using their cell phones were disappointed. Don’t know if my phone camera is particularly good or particularly bad, but I was able to catch the moon’s shadow as it moved across the sun. Kind of cool, but it is nothing compared to the guy who got the ISS in front of the sun.

Robo-Anya in Eclipse Viewing Mode

And I managed to get a few shots of the moon shadowing the sun

It’s chess *for girls*!

Sometime in the late 80’s, I saw a “Chess … For Girls!” game. It was exactly like every other chess set in the world, except it was pink and sparkly. I remember wondering how exactly that product development meeting went down. “Well, we don’t want too many people to want our product … so how can we alienate a good chunk of customers?”. No boy is going to want “Chess … For Girls!” even if they’d like a sparkly pink chess set. Some subset of parents will refuse to purchase it because it’s offensive targeting. It isn’t like derivatives of traditional chess are unique – they could have done anything with the marketing. Sets featuring Stan Lee’s superheros aren’t marketed as “Chess … For Boys!”. They could have just called it Chess. They could have made a few different versions featuring glow in the dark pieces, sparkles, and furry animals. But, no … they first imply that other chess sets aren’t for girls. And that the way you can identify a product as being “for girls” is to look for pink sparkles.

I thought we’d moved on from such marketing fails – hell, SNL made a spoof commercial with the exact premise. But today we saw … so you can “code like a girl”. Umm, hi! I code just like most other programmers – with a keyboard and using a syntax appropriate for the language of choice. Like girl chess or that Google engineer’s terribly presented suggestion for diversity programs, the sexism isn’t even needed. The product is billed as 21st century friendship bracelets. Bands with what I assume are little Arduino computers in a round plastic thing that makes the whole unit look a little bit like a watch. The plastic housing has a flower design on it. Make an array of inter-changeable band options, a bunch of different plastic cases … and just call them 21st century friendship bracelets. You assign colours to registered friends, and the bracelet glows that colour when your friend is nearby. Use Bluetooth to send secret messages to friends. It’s a cool product  for either gender. And, hey parents … your kids are learning valuable programming skills too.

Women In STEM

Some Google engineer failed to heed the parable of Harvard President Larry Summers – suggest in any way that women and men are different, and there will be an uproar. What’s ironic is that the main jist of the guy’s monologue (available online) is that not discussing differences between men and women because doing so is insensitive yields diversity programs that are ill suited for their goal. And that companies make business decisions on how close to a 50/50 split they want to get. (If having parity in gender representation was the highest priority in hiring decisions, then a company would only interview female candidates until parity was reached.). And the general reaction online has essentially proved the guy’s point. A reasonable argument would have been challenging the research he cited. Doing so is a fairly easy task. Baron-Cohen, for instance, couldn’t even reproduce his own results. In other cases, the Google engineer conflates correlation and causation. Men don’t take paternity leave because of retribution — my husband was terminated after taking this two weeks of vacation after our daughter’s birth. That’s not even asking for paternity leave — that’s attempting to use vacation time as paternity leave. I experienced more stress as a woman entering an IT support department not because I have a female brain but because my capabilities were questioned (you’re going to fix my computer!?) and some coworkers felt entitled to make sexual advances towards me (I doubt any new male employee was asked to provide his measurements and describe his genitalia to provide a picture to accompany his coworker’s pleasuring himself to the individual’s voice on conference calls).

The mistakes people make, both in the case of Summers and this engineer, is mistaking population-wide averages for attributes of an individual and conflating ‘different’ for ‘inferior’. The engineer wasn’t wrong in one way – it is difficult to discuss gender norms and studies. Trying to divorce emotion from discussion of gender-specific behaviours and preferences isn’t a battle worth fighting. There have been too many badly formed studies designed to prove the superiority of some majority group for any new study to be approached seriously. But he could have made the same suggestions without the contentious topic of gender norms and diversity programs.

Gender aside, different people think differently and have different preferences. I don’t believe this is a contentious declaration. I have artistic friends, I have detail oriented friends, I have creative friends who are not artistic. I know people who love cats and people who love jumping out of perfectly functional aircraft. Introverts and extroverts.

Historically, computer software was not used by people. Programmers hired back in the 60’s and 70’s were not brought in as user experience designers. Text interfaces with obscure abbreviations and command line switches were perfectly acceptable code. They progressed in the field, moved up, and then hired more people like themselves. As computers were adopted, both in business and personally, computer software was slow to adopt ‘usability’ as a goal. Consider the old blue screen word processor. When I left University in 1996, I went to a temp agency in the hope of getting a paycheque that week. They had a computer competency test — figured I would ace it, I’d been running student IT support at the Uni for about eighteen months. I installed Windows 95, IRIX, and AIX and was fairly proficient using any of them. I served as a TA for intro to word processing an excel classes – knew Office 95 better than most of the instructors by year end. Then the temp agency sat me down in front of a computer with an ugly blue screen. What the hell?? I later discovered this old word processing package was common throughout businesses (Universities get grants and buy the latest cool ‘stuff’. Businesses reluctantly forked over a couple hundred grand ten years ago and are going to use that stuff until it decomposes into its component molecules.). People start out with a strip of paper over their function keys so they have a clue how to do anything beyond type on the ugly blue screen. Of course the temp agency was looking for competent computer users so didn’t have the quick ref strip. I couldn’t even start the test (open the file whatever.xtn).

Look at sendmail’s cf configuration file, or search for vim quick ref guides. Even git – sure there are GUI integrations, but the base of git is cryptic command line stuff that you commit to memory. This is not software developed by people who are people focused. Initially with the personal computer in the 80’s, usability was not a concern – “computer users” were in some way skilled and learned to work around the software. With public adoption of the Internet in the 90’s, and dramatically accelerating in the 2000’s and 2010’s — people began to use software. In mass. And new users demanded ‘easy’ to use, intuitive software. User experience engineering became a thing. Software was released to ‘regular’ users to obtain usability feedback.

But the developers behind the software are still, predominantly, the same personality types who developed code for ENIAC. This dichotomy creates an opportunity for the company’s recruitment and hiring teams to give our software an edge. As a company writing software that will be used by people, we think developers who lean toward people on the Things — People dimension, or who score as Social or Artistic on Holland’s personality types, etc provide value to the company. Since we have a lot of things / realistic or investigative types here already, we want our recruiting and hiring practices to create a balance with the other personality types. And we should look at ways to change our processes and make engineering work better align with the interests of people who are more people / cooperative and social or artistic.

Even if the argument was considered flawed, I don’t believe it would receive the widespread distribution and uproar the “it’s all about gender” version encountered. Someone could say “we’d rather make our current staff better at UX” or “we don’t think we need to change our practices to appeal to these other personality types”. Whatever. Even if he still offended his coworkers (I can too do artistic stuff!) or still managed to come off as entitled and whiny, I doubt the guy would have been fired.

Why risk management is so hard

I finally found someone who perfectly summarizes my awful experiences in risk management. Michael Lewis, in an article in Vanity Fair magazine, says “People are really good at responding to the crisis that just happened, as they naturally imagine that whatever just happened is most likely to happen again. They are less good at imagining a crisis before it happens—and taking action to prevent it”.

My experience goes farther — undertaking the academic exercise of imagining different variants of previous crises and hypothesizing unique scenarios … you get told you’re going down a rabbit hole. Wasting time. Talking about such an unlikely set of circumstances.

That’s the point! If it were a likely set of circumstances, then it would have happened already. Or there’d be mitigation in place already to prevent it. Shoving a bunch of explosives up your bum and greeting some head of state was absolutely crazy … until someone tried to do it.

Pressure Washer

We got a pressure washer a few days ago. I don’t like using herbicides on the patio (well, I don’t like using them in general), but keeping the brick free of weeds is an inundating task. We’ve got some vinyl that needs to be cleaned anyway, and found a really good deal on a 2000 psi Ryobi pressure washer.

Tested it out to see if it works well and to see how clean ‘stuff’ gets with just water. Wow! I don’t know if the patio bricks have ever been cleaned. I thought they were a darker colour, but it turns out they were just REALLY grubby. It’s a messy and time consuming process – I’m planning to wear my safety glasses when I finish it up because even low velocity sand in the eyeball … not fun. But it’s a lot of fun too (tiring and ironically dehydrating, but fun). Especially when Anya wants to play in the ricocheting water like it is a sprinkler.

Here’s the difference between clean and uncleaned brick — weeds get blasted right out, dirt is cleared off the stones and from between the bricks (certainly need to get sand, between the bricks is washed clean), and nothing was used but water. We were worried about damaging the stones, but 2000 psi didn’t break anything. There was lot of mud piling up as I moved across the patio. I ended up taking a snow shovel and moving the mud off of the patio – otherwise I’d get to a point where the splash-back was making the already cleaned bits filthy again.

Once the patio is cleaned, I want to try it out on the siding and railing vinyl. Hopefully we can clean off the green stuff without detergent too.


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.

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.