Yeah Dude, you did that

<originally published on Medium on 25 Oct. 2017>

I got nothin’ clever to go here

So amidst the allegations, and really, really believable ones, given other witnesses, of sexual harassment against Robert Scoble, he finally released a statement.No, of that I’m innocent.
In the past week several news outlets reported that I had committed numerous sexual indiscretions against numerous…

I’m unsure how I feel. It’s equal parts rage and sadness. Rage, because given his behavior since I first started interacting with him, this kind of self-centered behavior is completely unsurprising. Disappointing, but unsurprising. Sad, because he does have a family, a wife, (who is, at least in my experience, the definition of a delightful human being, and in my wife’s opinion, is a living saint) and friends.

I get that when things are going down, it is easy to get so wrapped up in your own head that you will say things that are just flamingly stupid, that hurt people. I’ve done it, everyone has. But Scoble has done this same thing over and over. He says or does something that causes people pain for no real reason, and then when confronted with it, does the tap-dance that can be summed up as “not my fault.”

Except this time, it’s not about him being an asshole to a coworker or some random person at a company. It’s about literal sexual assault. It’s about him creating an unsafe environment in companies he worked at, and it is about his complete inability to own his actions. He can’t even start honest:

But, for the past 20 years I have made my living shining light on people, products, and issues. I am unwilling to not be that person just because people have made allegations against me. This advice from attorneys is one reason why as a community we can’t properly discuss the issues hitting our industry. When companies and individuals can’t speak out for risk that it opens them to a lawsuit it limits the responsible dialogue we can have.

It’s the lawyer’s fault? No it isn’t. Lawyers didn’t create the problems at Uber or all the other places. Lawyers didn’t create your problems. Nor did lawyers prevent anyone from acting appropriately to stop those situations from getting worse. I am not a lawyer, but I’m pretty sure, based on my experience that they would have said “no, you should fire the hell out of that person who propositioned someone who works under them. Fire them now. Out of a goddamned cannon, because the go away check you’ll have to write them is nothing compared to what it will cost if you don’t fix this problem.”

I’m pretty sure the cost of firing Susan Fowler’s manager and buying her a leather jacket is not even a rounding error compared to what Uber’s corporate behavior has cost them.

The cluelessness that defines Scoble is almost incomprehensible, but he does us all a favor by showing it to us:

I recognize that these two organizations are basically just Gossip Blogs at this point, and that “If it bleeds it leads” is a way to generate click bait, but I expected more of them.

How many times in his career has Scoble’s response to being wrong been “It’ll get fixed in the comments”? How many times has he said his main priority is being first? Every once in a while, I’m worried that maybe he’s changed over the years, it’s been a while since I really talked to, or at him.

Robert Scoble has not changed.

Then there’s this:

Even the most rudimentary fact check by news outlets would have caught a few obvious things. If I were guilty of all the things said about me I would still not be in a position to have sexually harassed anyone. I don’t have employees, I don’t cut checks for investment. None of the women who came forward were ever in a position where I could make or break their careers. Sexual Harassment requires that I have such power. That is not to say that the allegations aren’t serious. I take them very seriously, but it is to say that, TechCrunch, Business Insider and others, in their rush to publish ClickBait were so obviously flawed that it is clear they no longer care about the truth or doing actual journalism.

It’s clear Scoble is not even close to listening to competent legal counsel. Because if he were, they would have told him some of the things on this page: which include:

The conduct unreasonably impacts an individual’s employment or academic performance or creates an intimidating, hostile or offensive environment for that individual’s employment, education, living environment, or participation in a University community.

Or this:

Hostile environment sexual harassment occurs when unwelcome conduct of a sexual nature creates an intimidating, threatening or abusive working or learning environment or is so severe, persistent or pervasive that it affects a person’s ability to participate in or benefit from a University program or activity. While a person engaging in harassing behavior most often has some form of power or authority over the person being harassed, that is not always the caseThe harasser can be a peer of the person being harassed. Sometimes the harasser is harassing a person who has power over them. For example, a supervisee can sexually harass a supervisor or a student can sexually harass a faculty member.

I can’t fathom a way Scoble’s never heard of this. I literally cannot. He’s been employed too long at companies like Microsoft who do things like sexual harassment prevention training to be that preciously ignorant.

Of course, he won’t speculate on their motives even as he spectulates on their motives:

Then there is the actual truth of the allegations. Each of the women who have come forward used grains of truth to sell false narrative. Perhaps because they felt peer pressure to join the #MeToo bandwagon, perhaps because they felt slighted for other reasons. I won’t speculate on their motives.

He’s literally playing the “bitter woman” trope here. Did Scoble join the red pill forums when no one was looking? Seriously, did he?

He literally accuses Sarah Seitz of blackmail and being a bitter vindictive…well, he doesn’t use the word “bitch” but he may as well have. But he’s not speculating on motives.

He’s so…so unaware of everything:

Another of the women who accused me, Sarah Kunst, is an African-American female entrepreneur. Kunst categorized a comment I made as racist at a conference we both attended. She took my asking “Why are you here” to be a question of “why are you deserving of being here.” That was not my intention at all. I tried to talk her down from this, but failed.

Given how he’s speaking here, is anyone suprised at that failure? But his shock and amazement that anyone could possibly misunderstand him is blown to hypocritical dust by this statement:

I appreciate that being an African-American female entrepreneur is hard. I also understand that many in the industry are skeptical or dismissive when they interact with someone who breaks two stereotypes of entrepreneurs [not being white or male]

If you walked up to a black woman at a conference as a white guy and asked her why she was there, (and having actually talked to Scoble in person, I can pretty much hear the tone he used), you cannot, can. not. be “surprised” that she would take great offense to that. How can anyone claim to be aware of the issues women, and especially women of color face as entrepeneurs, especially in tech and then say something as stupid as “Why are you here?” and then be surprised she was offended. What is he, Schrodinger’s Idiot? He is both an authority on “the future” and a blithering nincompoop at the same time and you don’t know which one you’re getting until you collapse the wave function?

Michelle Greer, who I worked with at Rackspace, was never in a reporting structure beneath me, and while we engaged in flirtations, the limits of the impropriety was that I was flirting with someone when I was married.

Again, no, it wasn’t. Have your lawyer explain sexual harassment law until you undertstand it. Maybe via pictures or a rebus of some kind. Oh, and this bit of backhanded victim-blaming:

We never had any interactions in a private situation and while that doesn’t mean that it is impossible for inappropriate behavior to occur, it demonstrates that at the time neither of us was ashamed of our behavior.

Out of the two of you, there’s only one person who should bear an iota of shame and it’s not her. Seriously dude, what kind of brain parasite did you pick up that told you writing that, writing any of this was a good idea. But now the creme de la creme, his version of what Quinn Norton wrote. Not his memories of what happened, but of what she wrote.


Quinn Norton, by her own account, physically accosted me. She didn’t call for conference security, she didn’t know the name of the woman I was making out with to know if we were engaged in a consensual activity. In her account of the night, she took it upon herself to decide in advance that she was going to warn me she was dangerous, and then physically attack me without knowing the story of my earlier makeout.


One of my friends was getting a bit upset, and managed to break things up by starting a conversation with the woman, but before long the pair were back at it. He came back to me, on the verge of panic, and whispered in my ear. The woman was so drunkenly disoriented that she didn’t seem to understand what was happening, and the guy kept pouring drinks for her. It was quite possibly headed towards rape. He asked me what to do, and I realized the man in question was someone powerful. I blanked and said I wasn’t sure what to do, maybe try get them apart? My friend gave me a fantastic no-duh look and went back over to them.

At one point when they were separated the man in question was standing beside me at the camp fire. The person on the other side of me nervously decided to introduce us. It went roughly: “Robert, this is Quinn Norton. Quinn, this is Robert Scoble, he’s dangerous.” Scoble laughed and quickly said he wasn’t dangerous. I looked at him, keeping a blank expression, and said “I am.”

So right there, Scoble has misrepresented what Norton wrote. According to what Quinn Norton wrote, she didn’t just march up to him and cockblock him. In fact, it was another frend of hers that initiated separating them. The “I’m dangerous” line was in response to someone introducing Scoble as dangerous, and you know what? In that situation, I understand her response, because from her POV, he was not safe. So that’s her letting him know that fucking with her is a bad idea. She even acknowledges that her POV in that situation is messed up, but she felt it was necessary.

I had learned this attitude after many years working in tech, that knowing how to deliver pain and putting everyone on notice that you would, was a way to avoid harassment. I knew this was fucked up, but it had been my normal for years.

With regard to Norton physically attacking Scoble:

And then, without any more warning, Scoble was on me. I felt one hand on my breast and his arm reaching around and grabbing my butt. Scoble is considerably bigger than I am, and I realized quickly I wasn’t going to be able to push him away. Meanwhile, the people around just watched, in what I can only imagine was stunned shock. I got a hand free and used a palm strike to the base of his chin to knock him back. It worked, he flew back and struggled to get his feet under him. I watched his feet carefully for that moment. He was unbalanced from the alcohol and I realized if he reached for me again I could pull him forward, bounce his face off my knee, then drive it into the ground. (I knew this move because it had been done to me, then the martial arts expert who did it picked me up and apologetically showed me how to do it.) He laughed and rubbed his chin and said something like “I like this one, she has spirit.” I said this: “If you touch me again I will break your nose.” I could still feel his hands on me, his intentions, all of it. He laughed again, and I repeated, “If you touch me again I will break your nose.” He didn’t grab me again after that.

According to what she wrote, (the thing he is specifically rebutting here) that is self-defense. That is not her abitrarily decking him. That is him putting his hands on another human being and it working out really badly for him. I have zero sympathy for him. As I told my son when he got decked by a girl in his class after he decided that a) he needed to scold her for leaving gum under a desk and b) tugging on her pony tail was the way to get her attention, “Don’t look at me to feel bad for you. You’re lucky she didn’t know how to fight or she’d have laid your ass out.” To his credit, he agreed that she was in the right in terms of her response, and to my knowledge, he’s never pulled a stupid-assed stunt like that again.

When you lay your hands on people without permission, you get the response you get. He’s lucky Norton stopped when she did, I can think of a number of followups that would have put his ass in the hospital and Norton would have been justified in using any of them. He literally committed assault and battery (I think, I’m never clear on battery), and now he’s pissed that she hit him back.

But that’s not enough. Of course, it’s her fault for using…social media…to tell the tale, and of course, of course for waiting <some amount of time>:

Quinn, who is a reporter, didn’t report this story for years, and she didn’t run the story in her capacity as a reporter, she chose social media with no bar for truth, and requirement that her story pass a fact check. Quinn who purports to be a champion against sexism was strangely silent. She sat on her allegations for more than 5 years.

Because Scoble is such a well-known font of fact checking and not using social media to attack people.

I wasn’t going to meme this post, but holy shit, this one is too perfect not to use

It gets worse:

Most telling however is that she makes it clear that her assault of me was premeditated. She planned to separate me from the woman I was making out with, she planned to scare me, and she planned to use her martial arts training to injure me.

In order:

  • No it wasn’t.
  • Yes she did, although not to “preserve the sanctity of marriage” as Scoble said, but to prevent someone unable to give consent from getting raped. Big difference there.
  • She only hit you after you attacked her, you shapeless nincompoop.

I have been trying to internalize that as someone who has been abused that I have behaviors that are part of my survival tactics and I work to change those behaviors. I am attempting to recover from my addictions, but with regard to the immediate allegations from the article the inaccuracies make it hard to be apologetic.

Stop it. Being abused, even sexually as a child doesn’t excuse this. I have any number of friends who were, or abused in other ways, and truth told, so was I. (ain’t going into details, those who need to know do.) But when we’ve been assholes or done fucked-up shit, that was on us. We did that. Not other people. Own. Your. Shit. Same thing with addictions. The eeeeeeevil alcohol did not take an innocent angel and force him to be whatever the hell it is Scoble became when he was drunk. That was already in Scoble, the alcohol, clearly, just gave him an excuse to let it out to play. Denial is no one’s friend here.

And then, in the pinnacle of “it’s all about meee”, what does he do? In this post, what does he do? He. Pimps. His. Ride.

As part of working on myself and repairing the relationships with my family, and unrelated to the recent events, I have been working to launch a new business, and a new career. Social Media has been my life for nearly 20 years, but it encourages a lifestyle that is not healthy for me or my family. I am transitioning into a job where I can work from home much more, and travel much less. This will give me more time to spend with my wife and kids. You can learn a bit about this here:

He just can’t resist it. He cannot stop doing this. Everything he writes is always about him. Which begs the question: was this really an answer to allegations, or just some long-winded stupid way to pimp his next gig?

I honestly don’t know. But I know that reading this, Scoble is still in deep denial, and until he isn’t, nothing will change.

(not) Working in spite (because) of its best efforts

<originally published on Medium on 24 Aug. 2017>

Pokemon Go is just a damned mess, maybe Lord of The Damned Mess

So while I am possessed of a love of hyperbole, I have to say that in many ways, Pokemon Go is one of the worst UI/Accessibility experiences ever. As in barely better than Lotus Notes. (Those of you who know me understand the depths of my hatred for Lotus Notes, an app that once had the copyright symbol in a menu as a command-key equivalent.) (Also, I take that back. This game is far worse than Notes. Notes at least performs its core competency in a reliable fashion that is buggered by an awful UI. Pokemon Go is incapable of reliable operation for more than a few hours at a time.)

In the interests of clarity and transparency, I have no formal training in either UI/UX design, nor accessibility. But I have decades of experience dealing with applications as an IT person, aka helping others use them. I’m also, for the purposes of this post, going to use UI/Accessibility somewhat interchangeably, because if your UI is hard to use for people with no special needs at all, then the chances of it being nice to use for people who need a bit more help are pretty slim.

I just celebrated my 50th birthday, so accessibility issues that weren’t pressing some decades ago now have greater meaning to me.

Also, I play the hell out of Pokemon Go. In spite of its best efforts to make me stop. Aside from the early days of “we don’t know how to size a server farm”, which has by and large been fixed, it is remarkable how relentless this game is in making one hate the physical act of playing it, of interacting with it. Every interaction with Pokemon Go is an example of what I like to call “being nibbled to death by baby ducks”.

In addition, none of this is based on “inside knowledge”. This is just a list of things I see and experience regularly, if not constantly, while playing this game, coupled with a couple decades of knowledge from being a sysadmin. I don’t work on Pokemon Go, but I’m not new to “the biz” as it were.

Finally, I am well aware that Niantic et al have, to their minds, good reasons for every thing I’m about to complain about. But that doesn’t make it okay. That just means there was at least, in theory, some thought behind the decision. The difference is important. Oh, and this is all based on the iOS version of Pokemon Go. No idea about the Android version whatsoever.

Failing Gracefully is for Suckers

One of the most egregious annoyances of Pokemon Go (aka “PokeGo”), is how it is completely and utterly incapable of handling network transitions gracefully. If you are in a situation where you’re walking in and out of WiFi coverage on a regular basis, say a college campus, you’re experiencing the minor hell that is the white spinning pokeball of “you’re not doing anything”.

Venonat Sups On Your Screams

Tap on a pokestop while it’s up? Yeah, right, nothing happening. Try to get into a gym? Right, not happening. Even better, you get “network error” red bars because for some reason, PokeGo just cannot handle the idea that on a mobile device, the network environment is changing constantly. It’s even worse if the WiFi in question is slow or heavily loaded. (Even better? The game queues the “network error” messages, so even when you’re in a stable environment, you’ll get 2–3 more because…reasons. Error messages they can cache. Nothing useful, but that? Sure.)

This is not hard to manage, other apps, even Facebook manage this issue with far more grace than PokeGo. I cannot remember the last time I saw an app so incapable of handling reality in a mobile environment. YouTube handles this better. In fact, PokeGo is literally incapable of functioning sans an active, fairly clean network connection. Don’t believe me? Put your phone in airplane mode. You cannot interact with it at all. You can’t even pivot the screen. Whatever is on the screen stays there, and it gives us a guess as to what is cached. But you can’t tap, touch, drag or do anything. You can’t even pull up your own statistics.

As to why? The only guess I can come up with (after a fascinating Twitter convo about this), is that for as much space as PokeGo takes, it’s basically a very complicated web page. As we can see by PokeGo’s behavior when disconnected and by some other things, this is not the worst theory ever.

PokeGo may be a “fat” app, but it acts like a very rotund web page.

But really, this is one of those “I don’t care why” things. PokeGo runs on a phone. Phones are mobile, the networking environment is dynamic as all get out, heck, there are people living in places where GPRS is luck, much less LTE. Given all the local data Niantic has available to it for almost any player in the US, if not the world, it’s just ridiculous that this game is so dysfunctional when it comes to network issues.

Then there’s the “network error” hell. That’s where you’ll be battling at a gym, or just walking around, good strong connection over WiFi or Cellular and…“Network Error”. As best I can tell, there is no way to recover from this. None. The best you can do is restart the game until the error stops. This may take a few minutes, it may take days. As I write this, I’m in a multi-day version.

For a game so completely dependent on a network connection, I’m agog at how fragile that code seems to be. I’m unsure how Niantic tests any of this, and at this point, I’m 50% certain they never actually test in the real world. They just pass the Agile tests and release. Microsoft Outlook 98 handled network issues better.

Where in the hell am I?

I feel we can’t talk about PokeGo without talking about it’s inspired use of GPS. By which I mean constant, to the point that I wonder if they’re getting paid by the packet. I really wish it was easier to track what apps are doing in iOS, because I’d love to see PokeGo’s network traffic. As near as anyone can tell, and again, this is conjecture, but not completely uninformed conjecture, PokeGo seems to ignore Core Motion and rely exclusively on Core Location and the GPS, and it beats the GPS like it was a lippy British sailor sailing on “The Bounty” right after Capt. Bligh discovered he was out of jam.

People complain about Facebook draining a battery, hah! PokeGo doesn’t just drain a battery, it murders it. Drags it down to the basement, dresses like a clown and murders it. If the great merger between computers and humans ever happens, PokeGo will be the most wanted criminal on 5 continents, and as near as anyone can tell, it’s this constant banging on the GPS that’s doing it. Which means that PokeGo is literally, and deliberately doing this wrong. Because there’s no need.

How do I know this? Because I can sit at my desk, and watch my avatar, at random, suddenly run at high speed across an area that is about 3 miles in diameter. My wife can sit in the theatre she works at and watch her avatar run five miles down the road, hang out long enough for her to hit nearby pokestops before running back. That’s a GPS, because it can’t be anything else. The phone would have to be in motion for it to be anything else.

Let us pretend that PokeGo was not a wrapper around an overcomplicated web page. Here’s how this should work. When the game is launched, or returns to the front after <some time> in the background, PokeGO gets an initial location via GPS to set up the initial map. From there, it stops talking to the GPS and starts using Core Motion. If the various motion sensors don’t indicate any movement, there’s no need to hit the GPS, the device has not moved. Minor movement, say, within a few hundred yards can all be handled via Core Motion.

Basically, this is all inertial navigation, and inertial navigation can be very accurate, ask anyone who flew planes prior to GPS. The best part is, it doesn’t require GPS at all. As long as you know exactly where you’re starting from (which is the initial GPS hit on app launch or coming back to the foreground), inertial nav., (the other INS), will handle your location just fine, and if you’re in a building or there’s really bad weather, it will actually be better than GPS. It will also reduce the “run o’er the land” thing that happens with PokeGo. I’ve gotten, while sitting perfectly still, the “YOU’RE GOING TOO FAST” dialog that one should only get while in the car.

It should, from what I can tell drastically reduce the battery hit. What gets me is that it’s not like PokeGo needs GPS to achieve the desired level of accuracy. Doesn’t need that at all. Maybe someone decided “until all are one, we shall only use the GPS”? Dunno, and at this point, don’t care. It’s something that makes the game less enjoyable than it should be. Case in point. I pick up my phone and move it the 4″ needed to play the game and interact with a gym. PokeGo’s amazing location system decides I have in fact just walked ten yards. Location tracking, UR DOIN IT RONG.

You Get Nothing, Good Day Sir!

The worst part about PokeGo’s dependence on network connections, GPS, and the awful implementations of the same is that at no point does any of that make things better for the player. It actually makes it worse. As I write this, I’m in the second day of nigh-constant network errors that make doing anything other than walking around impossible.

“Oh a Pokestop…network error”
“Oh, a gym…network error”
“Oh, I’m in the middle of a battle…network error”

That last one doesn’t even make sense. Why do I need an active network connection for a gym battle to work at all. At the beginning? Sure. At the end? Okay. You could even make a case for needing one after an individual battle (in a series) is over. But why the hell do I need a network connection to have something throw rocks at something else? Battle information can ALL be cached. It’s just entries in a database, and given the size of PokeGo anyway, the worst that would happen would be that it would needfully bloat the app.

The GPS thing doesn’t make anything more accurate, in fact, it makes it worse. There’s no valid reason that I can even remotely begin to see for any of the behaviors I’ve listed above other than it allows the highest level of codebase reuse. Since Android phones are notoriously unreliable in terms of featureset, by removing as many platform-unique features as possible, you can run on the widest number of devices. But it that’s what you’re going to do, then screw it, make it a web page with minimal local caching and be done with it.

None of the above makes the app better to play. None. of. it.

But wait, there’s more, because now it’s time to dive into the bog of infinite stench that is PokeGo’s interface.

UX and UI are for losers

So yeah. The UI. God, where to begin. Well, lets start with how it actively lies to you. No, really, it shows you things that are not true. For example, according to this, I am standing in a featureless plane with some roads and no pokestops or gyms anywhere:

Hello? Is there anybody in there.

This of course, is a lie. Here’s another view of the same damned area, only after a restart of the game:

I See You Teddiursa

Remember what I said about PokeGo’s misuse of network connections for its functionality doesn’t actually help? Yeah, that’s a prime example. There’s actually a few things in that screenshot, but we’ll get to that later. Here, another example of the Game UI lying to you (apologies for how busy the picture is):


For those of you unversed in PokeGo (and why ARE you reading this if you have never played, it must be dreadful boring), that white circle is critical, as it’s the limits of your “effect” as it were. If a gym or Pokestop is inside that white circle at it’s farthest expanse (it pulses out as you play about once per second, like how people think radar works) you can interact with it, i.e. get stuff, battle, that kind of thing. If it is not, then you can’t.

The Pokestop that has the white circle cutting through its base is in what a player would recognize as “ready” position. The one at the top of the image, that’s about a half-mile away in the real world is not. So, in theory, I tap on the closer Pokestop, the one in “ready” configuration, and I should be able to use it to get stuff, right?

Nope. Here’s what you see when you try:

Your mom wants to use a Pokestop

Nope, you’re not close enough. Why? Because the base of the pokestop is not completely in the white circle of interaction. Here, a closeup:

Well, that’s as clear as mud

See how the circle cuts through the base? No Pokestop for you. In and of itself, that would be fine, but the Pokestop is showing “ready”, not “you’re too far away. If the avatar isn’t close enough, don’t show the Pokestop as ready when it clearly is not.

This kind of thing is astoundingly frustrating, and it’s not just here. Keep in mind, tapping on things is the only way to interact with them. Now, another shot of that same gym and pokestop, but from a different angle:

Oh, this again

(Told you there was more than one thing in that screenshot)

Now, if you want to interact with the gym, you’re going to tap on the center of mass, right, aka the middle of the spinning red thing. That will bring up the gym.


What will actually happen is that because there is something behind it, the game will decide you really wanted to tap on the Pokestop behind it (the light blue bit you can barely see), and that is what you will access. The only reliable way to access the gym in this situation is to tap the base of the gym (aka the tiny red circle). How do you know this? Nothing in the UI tells you, it makes you think that tapping the body of the gym will work, because when there is nothing behind it that you could also be tapping on (i.e. it too is “under” your finger), tapping the body of the gym works.

Again, the UI has lied to you. Oh, good luck tapping on that teddiursa or the spinarak beneath the pokeball. You mightbe able to get to teddi without pivoting your view or moving, but that spinarak? Man, the pokeball intercepts all taps.

Two instances of the same thing (object B “underneath” object A as it were, and they behave in the exact opposite way. Because whomever did the UI coding either didn’t test for consistency of behavior, or just didn’t care. But either way, the UI here is lying to you, twice in one screenshot! I mean, it’s efficient, but it also makes you hate the game, which one would think is not the actual goal here.

Tap detection and discernment are just awful throughout the game, and it’s pretty obvious that z-axis collisions are not even close to a priority for PokeGo. No really, here:

What we got back didn’t live long…fortunately

Were this Star Trek, this would be an example of a transporter accident gone horribly wrong. For the uninitiated, what my avatar is looking on at, in horror just before the non-euclidian horror beast in front of him drives him forever mad, is a teddiursa right next to, (and I mean RIGHT next to) a Sentret and a Spinarak occupying the exact same space. (The Sentret is the flying squirrel looking one. It evolves into a ferret-looking thing. Pokemon is weird AF.) So, what happens if you tap on the beast with two bodies?

Dunno. You may have to try to catch the Sentret, you may have to try to catch the Spinarak, hell, you may think you were tapping on the thing from beyond, but actually, as far as the game is concerned, you were tapping on the teddiursa, or, the game may display the ever popular “error” message, and you discover that one or both of the Dunwich Horrors there weren’t even supposed to be there, but thanks to the game’s amazing use of the internet for literally everything, the game hadn’t gotten around to actually removing them.

I lost track of how many lies in one screenshot. But there’s a few there. However, that screenshot lets me segue nicely into the next complaint: The UI is kind of useless at being a reliable indicator of what’s going on. For example, we don’t actually know what’s going to happen when we tap. There’s too many options, and only one will be “correct” for our needs. Unfortunately, there’s no good way to tell. Here, another example:

Which one will you get? Beats me!

So in this screenshot, there’s only one thing you can tap on with any reliability, the Pidgey kind of standing off by itself. If you tap on the base of the Pokestop and aren’t precise enough, well, you may get the Pokestop, you may get the Natu (the green bird), you may get the Bulbasaur (Frog with very large tumor. There’s a lot of cancer in Pokemon), hell, if you tap high, you may even get the gym, and there’s no reliable way to know without being VERY precise.

Because in a game that lives and dies by the tap, who needs good tap detection!

Oh, wait, this just happened. So just now, I picked up my phone to get another screen shot, and I’d been in the gym feeding my Pokemon (it’s a thing in the game, if you don’t play, that’s not important.) When you do this, you tap on the fruit icon on the left, then on the fruit to feed your Pokemon. So it looks like this:

I’m obviously a Beavis & Butt-head fan

So I leave the gym and come back to keep writing this thing, and I pull up PokeGo for a second and I see this:


This literally should never happen. It’s two completely different modes of the game. The game is now crossing the streams. Why? How? beats me. But then I see a pokemon I want to catch, so I tap on it:

Hey, Skarmory RULES

So this sort of looks like the “feed the pokemon you’re trying to capture a candy to get better results” screen, except in that case, you shouldn’t see the pokeball. Oh, and also at this point, the UI is now completely unresponsive and I have to restart the game.

I caught the Skarmory after the restart, so that’s okay.

If this was the only bug in PokeGo, given it’s the first time I’ve seen it, I’d not care. But it’s not, not even close, so screw it, I’ll sledge the game with this too. It’s not like Niantic seems to care either way.

Okay, so going back to the tap detection bit, this brings up yet another serious issue with PokeGo: It’s pretty much unplayable if you have any problems with precise motor control.

Accessibility? If you’re not perfectly able, we don’t want you playing

Wait, no, not “pretty much”. Completely. It’s an accessibility mess.

Take a look at the tap issues I highlighted earlier. Those are a pain to deal with when you have good motor control, correctable vision, etc. Take away any of those? Good. Luck. It’s even worse catching a pokemon. Hold on, another screen shot:

you wish you could throw this straight

So here’s the basic capture screen with a Rattata (aka “JESUS CHRIST, DID THE RATS EAT ALL THE OTHER POKEMON?”) The ball in the bottom is the thing you’re throwing. The icon on the left is for throwing fruit at the Pokemon to modify their behavior, (make them easier to catch, less twitchy, get more candies. Admittedly, you hit me in the face with a raspberry as big as I am, I’m going to be real easy to catch.) The icon on the right lets me choose different pokeballs to presumably make it easier to catch the Pokemon. Good luck on that, it’s a random dice roll. I miss more, per capita, with higher end balls than I do with the generic Pokeballs. I can’t even rant about that, it’s just too depressing, but the tl;dr is none of this really matters, it’s all luck. The different candies and balls are just a way to get you to give Niantic money.)

Note the red arrow. that’s the only path that will get you a “straight” throw, i.e. one that doesn’t curve off to one side. It’s not a wide path, and I may have actually drawn it wider than it really is. Now, curves are not bad, if you capture a Pokemon with a curve, you get more experience points. The problem is, it’s ridiculously easy to curve. Too easy, especially given the tendency to play PokeGo one handed.

Rattatas are pretty easy even then, because they’re so “close” that curves don’t really affect much. But something like a Zubat that you have to fling a ball into practically the next county to catch? Yeah, then the overly restrictive “straight” is not your friend. Nor is the amount of speed you need to fling a ball at a more distant Pokemon. The faster you drag your finger, the more likely it is to not be a perfectly straight drag.

So again, people with not great vision and especially people who have less than amazing fine motor control? Yeah, good luck on that. And it’s never been fixed or even improved. Niantic may not directly say “we only want perfectly-abled people playing”, but the design of the game; janky tap targets, the UI lying to you, the no margin for error Pokeball throwing all send that message loud and clear.

The worst part is, there’s no reason for the curves to behave that way, there’s a dedicated gesture for curves. Seriously, you put your finger or whatever digit you use on the ball and twirl it. After a few spins, you’re in curve mode, you even get little sparkles to show you that. The really odd thing is that this gesture is actually pretty-well thought out. You don’t have to spin it fast, you can spin in rather wide circles, the curve sets nicely to how much you spin, etc. It’s such a well-though-out option that I’m surprised it made it into the game or hasn’t been brutally nerfed to suck as much as the rest of the UI.

If you need accessibility consideration, this is not the game for you.

What To Do

None of this is unfixable.

  1. Stop machine-gunning the GPS and use Core Motion properly. Battery life will improve as will the playability of the game. Inertial Nav works really well, use it. The number of stupid annoyances this will fix are not small. No game designed around walking needs that many GPS fixes.
  2. Stop making this game completely non-functional without a network connection. It is not unreasonable to say, on game load, to cache everything within say an eighth of a mile of the phone. The game servers have all that data, this is not some impossible task. It won’t make the game usable at full capacity in a non-networked situation, but it will at least be usable. Then just update it periodically if the phone moves. It’s not like this game is small now. At least this way, some of that multi-hundred-megabyte code will make the game nicer to play.
  3. In a mobile environment, network connection transitions are real and common. Being unable to gracefully deal with this common thing is completely inexcusable.
  4. Stop. Lying. To. The. User. If a Pokestop is not usable, don’t make it look like it is. Fix the friggin’ tap interception code. Read up on axis collision avoidance and stop dropping multiple Pokemon in the same place. Don’t show Pokemon that aren’t “really” there.
  5. Make your game playable to more users. There is no reason a game like PokeGo can’t have better usability for all users, regardless of how able they are. Make the game better to play one handed. Accessibility isn’t just the right thing to do, it makes you money. (Estimated numbers. 1.3 million legally blind people. 400,000 with MS. 764,000 folks with Cerebral Palsy. 1 in every 7250 males between 5–24 years of age have some form of Muscular Dystrophy. There’s a lot of people y’all are excluding via bad design and play mechanics.)

Now, before it starts, none of this is “easy” in the “takes ten minutes” sense. It’s not even vaguely impossible, but it’s not easy either. Fortunately, it doesn’t have to be done all at once. The ocean doesn’t need to be boiled here. Fix this issue, then fix that issue and eventually, you’re running low on issues. Isn’t that the idea behind all this Agile joy?

I mean, I’m really sure the people coding PokeGo want people to enjoy playing the game, and more people playing period. Maybe it’s time Niantic actually focused on that.

It Happens Earlier Than you Think

<originally published on Medium on 11 Aug. 2017>

A Tale of Teenaged Boys and the Inculcation of Sexism in Tech

So, as a minor tale on sexism in tech, one I was witness to, I give you the story of the Boy Who Could Not Learn.

I have a good friend, N. N. is ridiculously smart. Multiple degrees, she’s worked on programs that everyone, at least in the macOS universe (and a few in the iOS universe) have used. When she makes a point, she tends to have massiveamounts of data at her disposal. She’s even penetrated my thick skull a few times, not a minor feat, as my family and friends can attest to. She’s a coder, a researcher, she is far, far smarter than I am, and I feel lucky to be her friend.

This was one of the last Macworld Expos in the Moscone West, we were at an IT event that involved food and drink, and a vendor showcase. N’s company had a booth, (yes, I am being deliberately vague here. Those of you who know me know N. and don’t need me to tell you, those who don’t know me probably don’t know N. in which case her identity is unimportant. But I’m not unaware of how women get treated on da internets), and we had stopped by to see how her coworkers were doing.

At some point, as we’re standing there being snarky and smartass-y, two teenaged boys come up and start talking to us. Since I didn’t work for her company, and they had questions about her company, I did the “you really need to talk to her, I’m just here for the free food and comedy” thing. The guys, who we’ll call T(hing)1 and T(hing)2 start talking to N, asking her what she did at her company. She truthfully responds that she’s a software engineer along with her other titles. Now, at this point, I’d known N. for…oh christ…like ten years and across three employers (in my case).

T2’s eyes go a bit wide, since unsurprisingly, he hadn’t encountered many women who were software engineers, but his response, as I recall, was “huh. Cool.” T1 though…T1 just isn’t playing. He knows she must be a designer. He literally says “no way, you’re really a designer, right?” This is the thing about teenaged boys. They’re stupid. Mostly because they’re young, but they will use bluster to an extent that few others even try to. And T1…T1 was all in.

N., a little shocked to be told by someone who was not her, what she really did for a living, patiently explains that no, she’s not, she can’t draw a stick figure, she’s much more likely to be the person coding the app with which other people do graphic design things. Even lists the products she’s worked on. T1 will not believe it. He looks at me (because I’ll agree with him???) and I’m like “Dude, seriously, she’s not lying. She’s a nerd’s nerd. She codes things. I’m just a sysadmin, she knows things.” T2 even tries to throw T1 a lifeline. “Come on man, she told you what she did.”

Lather. Rinse. Repeat.






I don’t think T1 ever believed she was telling the truth about herself. He couldn’t.

The story is funny in a way. I mean, for me, about 15 minutes in and all I can do is laugh, along with T2, because fuck man, it was so over the top stupid. Like, other than just punching the shit out of him, how do you drill a hole through that wall of idiocy. It was absurd in the extreme, and I was laughing at the time, because other than getting physical with the kid…it was just too ridiculous to believe, and I WAS RIGHT THERE.

But it’s very much not funny in too many other ways. I’d guess T1 and T2 were…15–16 or so. Somehow, in a very short time on this planet, post toddler, T1 had been told so many times and so constantly that women couldn’t possibly be technical. The concept was so impossible for him to believe that he would not believe a woman who was literally telling him something that should have been of no controversy at all: what she did for a living. At some point, he, as young as he was, had been taught that women could not be technical.

I’ve another friend, M. I’ve known M. for decades. Like over 20 years. She is also wicked smart. A brilliant data slicer, she’s who I go to when I need Excel help. Databases, statistics, just brilliant. Her resume, her background, they all reflect this. What’s she been doing in her spare time? Teaching herself R.

Yet over and over, she is told “she’s not technical enough” for gigs that are what she is currently doing. Da Fuque? How does that even work? But it happens over and over.

Another friend, I., she’s been a SysAdmin as long as me, she’s brilliant. Literally was asked, at an after hours tech dinner at a tech show why “someone like her” was hanging out with nerds. The other (male) folks at the table had to explain, because the guy saying that wouldn’t believe her when she told him what she did for a living. Once we did it, then she was allowed to be what and who she actually was.

The idea that there isn’t systemic sexism in tech (along with basically everywhere else) is laughable. It’s not funny, but it is laughable, and when you have crap like the Googlag Manifesto, it’s not getting better anytime soon. But it is fucking real and it happens young.

More Workplace Bullshit

<originally published on Medium on 25 July 2017>

Yes, Todd Westby, you can track people with RFID

So this piece in the New York Times, “Microchip Implants for Employees? One Company Says Yes”, about yet another “IMPLANT RFID CHIPS, IT’S TEH FYOOTURE” movement at a company in Wisconsin, we see a rather nicely worded bit from the CEO of an RFID company on privacy (Emphasis added):

Another potential problem, Dr. Acquisti said, is that technology designed for one purpose may later be used for another. A microchip implanted today to allow for easy building access and payments could, in theory, be used later in more invasive ways: to track the length of employees’ bathroom or lunch breaks, for instance, without their consent or even their knowledge.

“Once they are implanted, it’s very hard to predict or stop a future widening of their usage,” Dr. Acquisti said.

Todd Westby, the chief executive of Three Square, emphasized that the chip’s capabilities were limited. “All it is is an RFID chip reader,” he said. “It’s not a GPS tracking device. It’s a passive device and can only give data when data’s requested.”

“Nobody can track you with it,” Mr. Westby added. “Your cellphone does 100 times more reporting of data than does an RFID chip.”

That bolded statement, gentle reader, is bullshit. It’s not a lie, it is carefully worded to not be a falsehood, but it is bullshit. Allow me to elaborate.

Mr. Westby is factually correct about RFID chips on several points:

  1. They are a passive device. On its own, an RFID chip sends no data
  2. No one can track you based solely on posession of an RFID chip, implanted or not. They don’t work that way.
  3. It can in fact, only provide data when interrogated by an RFID chip reader.
  4. Your cellphone, does in fact, on its own, report far more data about you and your movements than any RFID chip ever will

However, this part: “Nobody can track you with it,”? That, gentle reader, that is bullshit. I can track the crap out of you via RFID chip, and you’ll never know I’m doing it. Most people, especially in tech, deal with RFID daily. The ritual of badging into buildings, areas of buildings, even conference rooms, almost all of that is RFID.

It’s actually pretty smooth, takes no time, just proximity. One place I worked, the badges were all at a height to where you could hip-check them if you had your badge at your waistline or in your wallet. I got to where I could go through doors with my badge and never break stride. RFID transactions are fast and require no other interaction save proximity. The only reason for beeps and lights are for the humans, so you know the door is able to be opened, etc.

However, every RFID system I’ve worked with, including ones from companies like Sonitrol, Redwire, etc., are all tied into a central console. There’s good reasons for this, if nothing else, it allows you to quickly enable and disable access to buildings or rooms. This is a Very Good Security Thing.

However, that also means transactions are tracked. There’s not a lot of data, badge number, date and time is the norm for the systems I run, but you know what that data provides over time? A rather nice map of movements. I can tell when anyone on my system has badged through a given sensor. If I know what sides of a door a sensor is on (and I do) and I can sort by time and date (and I can), then it is pretty trivial to tell when someone badged through a door and I can even infer direction of movement.

That, gentle reader, is called “tracking”. You know, that thing Mr. Westby said is “impossible”. Because he was being very Clintonian (Bill) in his statement. What he left off was the part about how the chip in and of itself does nothing until interrogated. That’s important.

So, as a sysadmin, when someone proposes a new system, the first thing I do is think about how it can go wrong. That’s not being a nattering nabob of negativity, that’s a critical part of my job. If I can predict potential problems, I can have processes and procedures in place to manage or even prevent those problems.

Remember how I said that the beeps and lights are only there for the humans? You don’t need them. You can put RFID readers anywhere and all you need are power and a network connection, and with the joyous thing that is power over Ethernet, PoE, that’s one cable. So you can embed RFID readers in door frames at a height you know the reader’s going to be near. Say, the height of the handle/push plate. Or in an office doorway. Or a cubicle doorway. Or, if you’re one of those open office plan dips, in a desk.

So now, I can, in real time if I really wanted, track someone’s movement on a fairly detailed level. I can tell when they entered the bathroom and when they left, when they got to their desk, when they left their area, all kinds of information, and there is no way for Izzy with the Implant to know I’m doing this. Chip doesn’t buzz, and the readers don’t have to light up or beep.

So there are two issues here:

  1. Can this be done? Absolutely, with off the shelf systems, it’s not even an engineering issue, it’s an installation issue at this point. The only “hard” work is mounting the sensors. Because you have to drill things, cut things and run wire.
  2. Will/Should it be done? Well, that’s the important question isn’t it? There are a lot of companies, I’m positive, that have enough of a clue about ethics that this kind of thing would be laughed out of the room at best and the person pursuing it encouraged to work someplace else, as their ethics obviously clash with the company’s. But, there are a lot, a lot of companies that would have zero problem with this, indeed, would view it as their right. And once that RFID tag is in your hand or your arm, you have no way to tell who’s using it for what. None.

So yeah, maybe this seems cool in some kind of hipsterish way, but the idea that you can’t be tracked or monitored with RFID is blatantly bullshit. It also makes me question Mr. Westby and Three Square’s ethics, because years of experience has shown me that just like the biggest homophobes are the ones cruising Grindr the most, the people who say “That’s just impossible” and “no one would ever do that” the loudest are the ones doing it the most.

“Boys will be Boys” is shit

<originally published on Medium on 22 July 2017>

Stop justifying assholes by painting men as uncontrollable shitheads

So, of course with the recent, and well-earned, upheavals in Silicon Valley, i.e. Travis Kalalnick, Dave McClure, et al, the inevitable, and stupid, pushback has started. No really, here, the latest festering shitpool is right here on Medium, (Because of course it is.) I linked to it, but I don’t recommend reading it.

You know, I’ve heard that assholes like that should be fed to sharks or crocodiles. I disagree. Both of those animals have a purpose. They are highly tuned, highly adapted creatures. They are as elegant as they are terrifying. They are not here to take out the fucking garbage. What should happen to assholes like that is that they’re flung off a cliff onto a pile of other assholes, where over time as they slowly die, weather and bad vibes combine to form them into some kind of Sarlacc/Otyugh cross, so that when the next one is flung off the cliff, they’re converted to shit faster, and we at least get fertilizer out of them.

So here’s some pertinent background. I’m a middle-aged straight honkie cis male. Who’s in IT. My joke on that is “Everyone hates me!” You know what? I don’t view every encounter, every meeting with a woman as another chapter in the “Hunt For Poontang”. I’m not alone here, not by a long shot. And us? The guys who don’t do this shit? We’re just as tired of it as anyone, because it poisons shit.

It’s not masculinity either, it’s insecurity. There is nothing about masculinity that requires any man to try to put his dick inside of everyone that even vaguely meets whatever they consider “attractive”. That’s not masculinity. That’s insecurity. That’s being an asshole. Masculinity doesn’t require anyone to get ahead by putting people down, or stepping on people. That’s insecurity, that’s being an asshole.

This idiocy, and it is idiocy, that somehow anytime a man talks to a woman, he should be trying to get inside her pants…that’s not anything part of being male, being a man, being heterosexual. Oh, people will say that, because that way, they have no control over it. It’s genetic, it’s unconscious. We can’t control it. It’s part of what we are.


None of that is true. What is true is that the people spouting that are insecure assholes who don’t want to own their actions. They don’t want to own their shit. So they, like a little kid, come up with reason after reason after reason to justify their actions, hoping that if they spout that bullshit hard and fast enough, you’ll get overwhelmed, and you’ll start to believe it.

I said earlier that this idiocy poisons shit. You don’t have to look far to see it. Every professional encounter, regardless of location, women are like “Oh christ, please, this once, let me not get hit on.”

I want to take a minute to address the location shit. A meeting in a bar is not a date. Talking business at an after-conference party is not a date. Running into someone you work with/do business with is not a date. A date is a date, the rest aren’t. Don’t ask me to explain it, if you’re too fuckin’ stupid to understand the difference, you’re too fuckin’ stupid to understand the explanation. That’s not to say you don’t have relationships come out of working environments. That happens, literally, all the time, and it can be awesome when it works out. But every time a man talks to a woman at work is not the opening scene in a fucking rom-com. Grow up.

It poisons the ability of people to work together, to create the working relationship that helps things get done so well, even if it doesn’t exist three feet outside of work. At my previous gig, at an advertising agency, I was, on average, twenty years older than almost everyone there. Because it was a PR/Advertising/Marketing firm, it was something like half women. I had some amazing relationships with the folks working there, male, female, age didn’t matter, and ten feet outside the door, that all stopped. We didn’t hang out together after work. A few went to the same gym I do, but we didn’t go out after the gym together. Two decades of age difference will do that.

But at work, it was great. We got along swimmingly, had a lot of fun, lots of laughter. So I see this shit going on, and I think about it poisoning that, or the other work relationships I’ve been fortunate enough to have over the years, and it makes me equal parts sad and furious. Because it hurts people who don’t deserve it, and none of that, none of that is excused by “boys will be boys” or “he was a MAN looking for a relationship with a WOMAN.”

Before some monosynaptic idiot brings it up, yes, I have worked with some women who were amazingly attractive. “Heartbreakingly beautiful” would not be out of line. At no point did I not think that. We all have thoughts about the people we find attractive. The difference is, the adults, the grownups acknowledge those thoughts, set them aside, and don’t act on them because we are ADULTS who understand APPROPRIATE BEHAVIOR. The problem isn’t the thoughts. As human beings, we have the right to our thoughts, to our own internal worlds. They help us get through the day, even through life. It is our actions that cause the problems. It is when we allow thoughts like “women can’t be good at tech” or “black people can’t be in charge” to affect our actions that we have problems. I honestly don’t give a fuck what people think, I care what they do. It’s perfectly okay for anyone to find another human being attractive, or not attractive. It is not okay to start randomly yelling that shit at them. Seriously, why does this need stating?

When you have over half the population, or even a significant part of that population forever prepared to fight or flight in every encounter they have with the other half of the population, it’s going to poison everything. It’s going to fuck everything up.

So basically, to the assholes doing this shit: stop. It’s that easy. Just don’t do it. Fix your shit. You’re not just being a healthy, normal man. You’re being an insecure asshole and those of use who are not are righteously sick of your shit.

Setting Lines

<originally published on Medium on 7 July 2017>

Demarc’ing Professional and Personal behavior

As you’ve read over the last…well honestly few years, but moreso recently, part of the issues with startup culture, (including the VCs), has been all too many incidences of “professional” meetings turning into some whackaloon nerd speed-dating setup. Startup culture loves its party-hard rep, and it loves to act like somehow, it’s not a problem. That you can mix personal and professional and it’s a “bonding” experience and that the relentless retelling of all the problems that happen in those situations are somehow outliers. Y’all. One or two incidents? Sure. Those would be outliers. We’re well past that now.

Shit like this does not help the “outlier” theory

So as I see it, there’s two options here, one harsh, one hard. The harsh one is no more meetings in bars, and for god’s sake, no more goddamned strip clubs, regardless of gender/sex of dancer. Meetings happen in the office. The location and the building help remind everyone of why they are there. That would do more than people think. Part of this of course would be no more booze/beer at the office. Honestly, I’ve yet to figure out why this is a problem. I’ve worked in one place where casual drinking was allowed. It caused as many problems as it solved.

But startups, there’s no difference between work and life, because you’re doing what you love, you’re changing the world, the old rules don’t apply…

Damn, almost puked there.

The “old rules” at least some of them do apply.

But, at the same time, there are times when meeting in a restaurant or more casual environment outside of work is a help in doing a deal. Denying that, whether you approve or not, is denying reality.

So then how do you avoid problems? Easy:

Draw The Damned Lines

If you’re going to have a meeting in a restaurant, or a bar, draw the lines. First, if it has to be a bar, (and the sarcasm in “has” is heavy as uranium), then pick a bar that conveys a professional atmosphere as much as possible. No meat markets. Nothing with a DJ. Ideally, a quiet place where one can sit and converse in a normal tone of voice.

Same thing with restaurants. Go more formal. Set the tone. This is a business meeting. We are here to discuss business. What I’m saying is, no hooters. If the wait staff are wearing anything close to booty shorts, no. TGI Friday’s is about as casual as you should get.

When you make the invitation, make it clear: this is a business lunch/dinner/meeting. We will be discussing business.

Set. The. Lines.

Don’t assume. Don’t play “you know what I mean” because as we see from the stories coming out, “you know what I mean” is a failure and a half. Be explicit, and be clear. Let the venue help set the tone. Also, if your normal work environment is somewhat casual in terms of dress, consider going slightly more formal than normal. Again, this is about setting the tone and the lines. A slight bit of formal helps. No shorts. You’re a grown adult, it’s a business meeting. Wear some goddamned pants. You won’t die. No t-shirts. Again, you’re an adult, this is a business meeting.

Finally…about time. A proper business dinner or get together should start early-ish. I say “ish” because that’s a squishy thing. 9pm is probably the late limit. 11pm/midnight are right out and 1am is a booty call from a liar.

Oh, one more thing: for the love of christ, don’t get tanked. I know I shouldn’t have to say that, but…

Yes, I know these are limits. Wah. You want to avoid problems, the best way is to not start them in the first place. It’s like one of my martial arts instructors told me. The best way to block a punch is to make sure the punch never gets thrown. Avoid the situation entirely. Same thing here. If the lines are clear and respected, you know what doesn’t happen? Propositions. “Business” meetings that are secret dates. All kinds of things don’t happen.

It’s not the job of the person getting the meeting request to arrange this. It’s the person making the request’s job.

None of this is hard. It’s just remembering that the professional world isn’t a frat party.

Oh, NOW It’s Time To Change

<originally published on Medium on 30 June 2017>

Timing Is Everything

So if you follow the current wall of fire that is lighting up the asses of VCs in the valley, you’ve seen reference to this “Thunkpiece” by Chris Sacca: “I Have More Work To Do” Go ahead and read it, may as well. It’s standard Woke Honkie Apologia. Actually it’s worse, because a day or so after Sacca writes that thunkery, the New York Times releases this piece: Silicon Valley Women, in Cultural Shift, Frankly Describe Sexual Harassment which contains this bit of news:

Now some of these female entrepreneurs have decided to take that risk. More than two dozen women in the technology start-up industry spoke to The Times in recent days about being sexually harassed. Ten of them named the investors involved, often providing corroborating messages and emails, and pointed to high-profile venture capitalists such as Chris Sacca of Lowercase Capital and Dave McClure of 500 Startups, who did not dispute the accounts.

Oh dear.

And this bit:

At a mostly male tech gathering in Las Vegas in 2009, Susan Wu, an entrepreneur and investor, said that Mr. Sacca, an investor and former Google executive, touched her face without her consent in a way that made her uncomfortable. Ms. Wu said she was also propositioned by Mr. Caldbeck while fund-raising in 2010 and worked hard to avoid him later when they crossed paths.

Oh…oh dear.

And this part:

After being contacted by The Times, Mr. Sacca wrote in a blog post on Thursday: “I now understand I personally contributed to the problem. I am sorry.” In a statement to The Times, he added that he was “grateful to Susan and the other brave women sharing their stories. I’m confident the result of their courage will be long-overdue, lasting change.”

Well whaddya know. What do you fucking know. Sacca finds out he’s about to get fried like a Snickers at the Yeehaw Junction Fair, and suddenly, he’s bursting with enthusiasm and vigor and determination to make things better.

I personally, think he’s full of shit. Oh, not in his newfound intention, I’m quite sure he knows he fucking better start fixing his shit, because this is about to hit him in his funding, and that is the only kind of penalty that Sacca and the other VCs understand at all. (Other) human pain doesn’t mean shit to them, but their pain? Oh yeah.

I think he’s full of shit…okay, so an analogy. You have a job. You’re good at your job. But, every time you ask for a raise, you get pled poor and they just can’t afford it. Well, inflation doesn’t stop just because your bosses are cheap, and so eventually you find another gig. Yay! Being a good sort, you give your current, soon to be former employers a proper two-week notice. Maybe even a month, you’re a good goddamned person.

All of a sudden, ALL of a sudden, they can shit 10K a year, 20K a year, better bennies, a new title, a new position, you name it, please don’t quit. You might be tempted to reconsider leaving. Do not. Because here’s the thing, all of that? They could have done that at any time. They could have given you raises, better bennies, all of it before you were about to quit. But it was way, way more convenient to keep screwing you. After all, you did good work, and you cost them less money every year. There was no downside, until you dropped that vaya con dios notice on them.

That’s what you’re seeing now from Sacca and all the rest. Now that it’s about to hit them in the moneymaker, in the ego, in the public image, now they have suddenly woken to the problem. Sacca et al are woke as fuck, christ, Jonathan Teo is channeling motherfucking Lao Tze in social media. Why? Because now their behavior is inconvenient for them. Now, this same shit they did nothing about for years, now they are going to work day and night, move heaven and earth to fix.

They could have done this at any time. Shit, they could have not started doing it in the first place. This could have, should have never been a problem. But as long as there was no downside, as long as there was no penalty, why care? They were confident, rich motherfuckers, bitches like confident, rich motherfuckers.

I mean, read this shit:

Most recently, the revelations about Mr. Caldbeck of Binary Capital have triggered an outcry. The investor has been accused of sexually harassing entrepreneurs while he worked at three different venture firms in the past seven years, often in meetings in which the women were presenting their companies to him.

THREE DIFFERENT FIRMS in the most incestuous business in the world. Shit, everyone knew about Caldbeck, even The Teo knew about him. His shit was literally an open secret. They still hired himThey still looked the other way.Why? No downside. It wasn’t until there was a downside, until the money flow reversed that anyone suddenly gave a shit.

“Having had several women come out earlier, including Ellen Pao and me, most likely paved the way and primed the industry that these things indeed happen,” said Gesche Haas, an entrepreneur who said she was propositioned for sex by an investor, Pavel Curda, in 2014. Mr. Curda has since apologized.

WHY THE FUCK WOULD YOU EVEN DO THAT? Jesus wept, I worked on B-1B’s, in the cold, outside, at night, we were not nice people, and that actually shocks me. Not because I’d even try to say that never happened in the military, please. But because in the startup world, an investor is in the “chain of command” for the founder, the entrepeneur. You don’t fucking do that for the same reasons Colonels aren’t allowed to proposition airmen. There’s no way the airman feels completely safe in saying “no”.

In 2014, Sarah Kunst, 31, an entrepreneur, said she discussed a potential job at 500 Startups, a start-up incubator in San Francisco. During the recruiting process, Mr. McClure, a founder of 500 Startups and an investor, sent her a Facebook message that read in part, “I was getting confused figuring out whether to hire you or hit on you.”

WHAT? What are you confused about here? Seems simple to me, DON’T HIT ON PEOPLE YOU’RE DOING BUSINESS WITH! ESPECIALLY WHEN YOU’RE THE FUCKING BOSS. SEE HOW SIMPLE IT IS? DON’T DO THAT SHIT. That thing? Don’t do that, it’s fucked up. There, problem solved and it is THAT fucking simple. But it gets better:

Ms. Kunst, who now runs a fitness start-up, said she declined Mr. McClure’s advance. When she later discussed the message with one of Mr. McClure’s colleagues, she said 500 Startups ended its conversations with her.

There are not enough letters in FUUUUUUCK YOUUUUUU to properly describe the “fuck you-ness” of the Fuck You that behavior requires, so I shall say it with a GIF:


Over and over, and these morons can’t even justify better than a really stupid toddler:

Wendy Dent, 43, whose company Cinemmerse makes an app for smart watches, said she was sent increasingly flirtatious messages by a start-up adviser, Marc Canter, as she was trying to start her company in 2014. Mr. Canter, who had founded a software company in the 1980s that became known as Macromedia, initially agreed to help her find a co-founder. But over time, his messages became sexual in nature.

In one message, reviewed by The Times, he wrote that she was a “sorceress casting a spell.” In another, he commented on how she looked in a blue dress and added, “Know what I’m thinking? Why am I sending you this — in private?”

Mr. Canter, in an interview, said that Ms. Dent “came on strong to me, asking for help” and that she had used her sexuality publicly. He said he disliked her ideas so he behaved the way he did to make her go away.


OMFGAAAAAH. Seriously? Because I know that when someone is coming on to me, and I find it inappropriate, or I don’t like someone’s idea for an app, I always use sexual innuendo to make them go away. Does Canter throw rocks at women he likes and call them “poopyheaded girls”?

There is a Rhett Butler line from “Gone With The Wind” that describes this entire thing perfectly:

You are like a thief about to be hung for stealing. You’re not sorry you stole, but you are terribly, terribly sorry you got caught.

All of these assholes, Sacca, Canter, Teo, they’re all “woke” now because they’re getting burned, and hard, in the ego and in the pocketbook, or about to. They could have fixed this, or again, not ever started this shit years ago. This could, and should be a non-problem, a non-issue. But so many people blew so much smoke up their asses that they really did think the rules didn’t apply to them, that karma and payback were things that happened to other (poor) people. Guys like Sacca would rather sell their children than ever be a part of the non-elite class. My god, they might have to sell one of their fucking Teslas if this doesn’t get better! They could have fixed this at any time. They chose not to.

So now, they’re playing a fast and furious game of Cover Your Ass, because they don’t have a choice. They’re not woke, they’re trying to put out the flames.

The only thought I have to offer them is use more gasoline.

The Problem Isn’t Knowing How To Code

<originally published on Medium on 22 June 2017>

It’s Knowing How To Think

Learn to code, you must learn to code, if you don’t learn to code, you can’t function in tech, if you can’t code, you can’t function in the world.

Hear that a lot, don’t we. Now, there are things you can get from learning to code, for whatever value of that you use. Which brings up one of my first objections to this mantra: it has no useful meaning.

If someone learns how to cobble together some Powershell, Bash, or AppleScript to get something done, and they didn’t know how to use those things before, they have learned how to code. I’m not thinking that’s going to have VCs and Facebook at their door on bended knee. It’s a remarkably vague, unactionable, trite phrase that means only what the person using it wants it to mean, and that is probably not what the person hearing it wants it to mean, so it means nothing, and it’s ultimately useless.

Secondly, at this point, it’s a magic spell. For example in this article “Should I code if I want to be a tech entrepreneur?”, Poornima Vijayashanker makes a number of arguments that, according to the first part of her post, learning to code is almost required to do:

  • Vetting talent
  • Calling BS on wasting time and (over)complicated solutions
  • Empathizing when things are going astray
  • Not making people have to explain why doing something is valuable like taking the time to test the an application, paying down tech debt, or setting up an onboarding process for additional hires.
  • Getting more respect when someone realizes she can code

Now, before you start getting too OMG over her article, read the entire thing, because she does a masterful job, after the above bullets, of explaining why no, a tech entrepreneur actually doesn’t need to know how to code, but they do need a certain level of literacy and knowledge. That if you don’t have deep technical knowledge in a needed area, there are these things called “other people” who sometimes know things you do not. She points out that it is perfectly okay, even encouraged to team up with “other people” who know more than you, so that any gaps in your knowledge are filled by their knowledge. Vice-versa is assumed, and correct.

Seriously, Poornima makes some really great points in the post, and does a nice job of playing with the OMG CODING trope, without coming across as anti-coding. That’s some good writing and thinking there.

Which is what, I think her point is more about: thinking. Learning how to code just to fill the latest checkbox for societal success isn’t going to be nearly as useful as many people want you to think. (Fun activity: when you read the articles and posts that hammer on about YOU MUST CODE, see how many of them are written by people running or working for companies that just happen to teach coding.)

Knowing how things work, knowing how to think about systems and bits within those systems, knowing how to think about systems is far, far more useful. Most of the things I’ve gotten out of my career that have been the most useful haven’t been things like knowing how to automate things with scripts or learn enough code to cobble together a program I need. It’s been how to think.

How to, even if I don’t know the deep details of a given product, even if I can’t code in <language> at all, know how things work so that I can spot a fragile process that is guaranteed to break. When I was in the Air Force, I had no clue about any of the coding for the Defensive Avionics Systems I worked on. God only knows what the friggin’ ACUs were programmed in. Given the planes I worked on were built in 1986 and designed in the 1970s, probably some form of assembly. Could be Ada too. No idea.

But, at a non-coding level, I knew how those systems worked really well. Intimately. Which meant I could maintain them, test them, call bullshit on contractors (a necessary skill), etc. I also knew how those systems worked on the actual planes, not in a test jig or a simulator. There’s a bit of a difference. (I also knew what they looked like when run through by a goose at a relative speed of 600mph. Yuck. Stank like hell too.)

I knew how to troubleshoot them, analyze their behavior, all of it, even though I didn’t know line one of the coding behind them, and honestly, knowing that would not have really helped. It was knowing the systems, how they worked together, and how to troubleshoot. That made me good at my job.

As a sysadmin, knowing how to code beyond some basic scripting, while handy, isn’t required. I don’t need to know how to read Exchange’s source code to troubleshoot it. What I need to know is how Exchange works, how it interacts with Windows Server, how email works, etc. How clients connect and interact with Exchange and how all that interacts with Active Directory.

It isn’t necessary. It can help, absolutely. Well, maybe. I’ve always been a fan of going to Apple’s WWDC, regardless of how many “sysadmin” sessions their are, because while I’m never going to code at that level, knowing how the systems within the OS work, how security works within macOS/iOS/etc., that helps me know what’s going on within the platform better, so I can troubleshoot better.

Me knowing how to code in Objective-C(++) or Swift has very little to do with that.

When I’m hiring, what I’m looking at isn’t what the person knows, beyond the very basics for the position. What I’m interested in is how they think. How they approach a problem. How they evaluate the problem. I can teach anyone tech. That’s the easy part. What is hard, what I can’t teach them, even remotely easily, is how to think.

And that is a problem in tech, especially in IT, because so many people confuse troubleshooting and spaghetti testing. You can easily see it at work. Join a sysadmin list and see what happens when someone posts a problem. 99%, if not 100% of the responses will be solutions. “Do this.” “Do that”. It will be vanishingly rare that anyone asks for more information on the problem, or asks the OP to maybe post some log extracts, or asks for more information on the symptoms.

It’ll all be “throw solutions until one sticks”. Which actually does work, eventually. I mean, you’re bound to get lucky sooner or later. But it doesn’t help anyone actually understand the problem. It just helps them stick a bandaid on it and move on to the next one. Which is why, when that problem happens again and the old bandaid doesn’t work, that person’s lost. They don’t understand the problem, which means they cannot understand the solution, so it’s blind bandaids and hoping one or more don’t fall off.

Before you learn how to code, learn how to think. That will serve you better, and longer than memorization of syntax.

Ah Crap

<most recently published on Medium on 7 June 2017>

Filling in a dead link


So, as those of you on various Mac OS X tech lists know, Michael Bartosh, one of a very few people who deserved the name “Mac Genius” died rather suddenly.

This, to put a point on it, sucks. Not just for those who were close to him, but for everyone in the Mac community, whether they knew him or not. He was one of the loudest voices prodding, encouraging, and sometimes just beating Apple to do the right thing. I may not have always agreed with him on everything, but he was always trying to do the right thing as he saw it, and he was pretty damned uncompromising about it. That is worthy of respect and admiration alone.

Even more, he knew his shit especially about Open Directory, Kerberos, Active Directory, and integrating all of it. Totally, he knew it, and he knew it better than damned near anyone else who wasn’t writing the code. At the real-world integration level, he may have understood it better than the people writing the code.

Lemme put it another way. I don’t take anything at face value, not tech — wise. It’s rather hard for me to not be cynical about people’s reasons for saying things. I’m more than a little argumentative. I didn’t argue much with Michael. Over the years, Michael was so constantly right, that I got to the “If Michael said it, it must be so” level, with regard to Open Directory and the like. As I said, he knew his shit, and he was always right. I don’t know how else to put how much I respected his work and knowledge.

I also liked the guy. I didn’t necessarily agree with him on a lot of things, but I liked him, in a kind of paternal way. Then again, Michael was easy to like.

Damn, I hate that I have to refer to him in the past tense.

One other thing.

Because it’s human nature, there will likely be people who will start to talk about him, and even think about him as a saint. That would be wrong, and Michael would have been the first one to say so. I know the impulse, (having outlived both parents, I’ve had to deal with it personally), and I know that people mean well when they do it. But it would still be wrong, and a disservice to him.

There wasn’t a “Saint Bartosh”. Michael was, as we all are, human. He was neither angel, nor devil, as anyone who had dealt with him can tell you. He had a really good side, a really wild side, a really funny side, and a dozen other sides. So when you remember him, and talk about him, give him the respect of remembering all of him. Don’t turn him into a caricature, don’t bury the stories that may not show him in a flattering light. To do that is to minimize him to even trivialize him, and whatever you think or say about Michael, he was never, ever, trivial or minimal.

When I found out he’d died, the following quote from Mel Brooks popped into my head, and it refuses to let me come up with any other way to describe him:

Look, I don’t want to wax philosophic, but I will say that if you’re alive you’ve got to flap your arms and legs, you’ve got to jump around a lot, for life is the very opposite of death, and therefore you must at [the] very least think noisy and colorfully, or you’re not alive.

To my knowledge, Mel Brooks and Michael Bartosh never met. But that quote describes Michael so well. He was a lot of things while he was alive, but he was most definitely alive.

So long Mike.

That Word Has No Meaning

<originally published on Medium on 6 June 2017>

To all the “it’s not pro” whiners

Shut it.

Just shut up already. You’re blathering on and on and on about how the MacBook Pro isn’t “Pro” and the iMac Pro won’t be “Pro” and how the Mac Pro isn’t really “Pro” and at no point do you ever even come close to a stable, objective definition of “Pro” other than WHAT I WANT AND I SHALL THROW MY TOYS OUT OF THE PRAM UNTIL I GET IT.

I shouldn’t be surprised. I mean really, I should not be surprised at all by this idiocy. I’ve seen it all before. In fact, I saw it happen once, in slow motion, across months. Back then, it was called “”, an epic debacle wherein all the kool kids in the Mac universe came together to crowdsource an IMAP email client for “Pros”. Because after all, they were brilliant, wisdom of the crowds, the cathedral vs. the bazaar, all the tropes. There was no way they’d fail.

So those of you who have worked on IMAP clients, I’ll give you a minute to stop laughing. Those of you who have worked on IMAP clients who also didn’t know about, I’ll apologize in case you have liquid coming out of your nose. Sorry about the keyboards.

I could go into some of the epic stupidity of, including:

  • Sending email will happen via a local postfix/sendmail server
  • Said server won’t be a part of the app, everyone can install those
  • We only need server-side rules and all IMAP implementations allow access to those.
  • Plain text emails only
  • Attachments? In a plugin. Later.
  • IMAP can’t be that hard

But those were ultimately just amusing. The core faux pas, the root “fon-don’t” as Kitty Forman would say was the same thing we see anytime the word “Pro” is used: the people using the words all, as in 100% defined it as “me”. Since most of the people behind were all coders, of course, a “pro” user is a coder. They were not happy when I pointed out that an admin assistant for an F-500 CEO probably manages 2–3 times the email load they do and said assistant is not just auto-filing alert messages into folder, but has to actively manage emails for them and their boss.

Yeah. The idea that a “secretary” could be a “pro” user was not taken well. That was part of why I kept pointing it out. But they wouldn’t spine up and say that they were designing an email client for programmers, screw everyone else. That would have been honest, and helped create a manageable scope. So of course, that didn’t happen. Instead, there was a lot of handwaving and nonsense that ended up being “I can’t tell you what a pro user is, but I know one when I see them.” Which really means “Me. Pro users are me, and people with my exact needs.”

Okay, that’s A definition, but it’s not one you can use really well when talking about millions of people. failed, not a surprise. But the problem of “Pro” having no useful meaning whatsoever a meter beyond the person using it is still here, and it still drives some stupid commentary, especially on Apple products. (It may on Windows products, but I don’t really care about them.)

For example, the new MacBook Pros, totally not a “pro” laptop. The Mac Pundits almost choked on their collective whinefest about that laptop. Not enough RAM, the keyboard sucks, Touch Bar is idiocy, etc., yadda, no “pro” could use one even if they wanted to. Totally impossible to be a “pro” machine.

You know, except for the “Pros” using it. It’d fit my needs nicely and as soon as I get a couple things out of the priority list, I’m getting one. I’m a pro, have been for going on 25 years now. 31 if you count the Air Force. My wife is a pro as well, albeit in a different field. She’d love one, it’d work quite well for her.

So does that mean that all the people saying the 2016 MacBook Pros are pants are completely wrong?


But, if you replace “pro” and “pro users” with “me”, their statements make a lot more sense. I have no doubt that for a lot of them, the 2016 MBPs are not a great choice. Their needs don’t fit it well, and they are well within their rights to say so. It’s when they say that no pro users can do well with them, or would want them that I start calling them stupid. Again, that CEO’s admin may be able to get a lot out of the 2016 MBP. That person is a pro just as much as I am, or a coder or a designer or a film editor is.

Same thing with the iMac Pro. Same stupidity. Same “it’s not what I want, so therefore no “pro” user can use it” crapola. Same jejune thinking. It’s funny, because in really every way, the iMac Pro will shit all over the current Mac Pros. Like, every way. I wouldn’t mind one, although I’d rather have a laptop, because I like laptops more. I know my wife wants one, she’s been quite clear about how drool-worthy it is.

So I guess that a lot of “pro” users can use one.

Which then begs the question, what about the Mac Pro? Well, if we set aside the moronic “iMac Pro must mean the death of the Mac Pro, THERE CAN BE ONLY ONE (Pro)” screeching, I think the iMac Pro actually makes an interesting case for the Mac Pro. First, the iMac Pro is a beefy machine. It will handle a wide, wide range of uses, and well. So for a lot of the people who need more than the current iMacs offer, but also want things like Thunberbolt 3 and a newer GPU architecture, the iMac Pro is a great choice that will serve them well.

What it does for Apple is define the potential Mac Pro segment really nicely. They don’t have to worry too much about the lower end of the “Pro” market, because the iMac Pro has that well in hand. So they can do things like target it at the people for whom external graphics aren’t an option, or who need to be able to add waaaay more internal storage than an iMac Pro or the current Mac Pro can handle. The people who actually need and use PCI slots. (Before anyone starts, the number of people fitting that description is more than slightly small. It’s very small.) Who have a need for multiple beefy video cards not made by AMD. The people who need something more than an iMac Pro can provide, and are willing to pay for it and will buy said kit from Apple.

That is a definite market segment. The only question becomes “is that a lucrative enough segment for Apple to devote real resources to?” I want to say yes, but I’m not sure enough to do so definitely, so I’ll waffle a bit and say “it’s not unreasonable to assume “yes” here.”

But stop using the word “Pro” like it has some kind of definite meaning other than “someone who gets paid for their work.” Seriously y’all, it’s dumb.