Wednesday, July 12, 2017

Why my blog posts are disappearing!

I am “archiving” (effectively deleting) all posts on this blog before some arbitrary time, maybe 2014 or so, except ones I happen to know are linked from other places. If there's something you're looking for (there probably isn't, none of this is exactly noteworthy) ask me and I'll make it visible (if I like you).

Monday, July 3, 2017

Europe Retrospective: Luxembourg

I have flown across the Atlantic six times (three times each way). Five of the six have been on the Delta flight between Seattle and Amsterdam. As of the start of this trip I had never been in Amsterdam outside the airport, which put Amsterdam, for me, in a category with Las Vegas, Phoenix, Salt Lake City, and Dallas. I would get a little time in Amsterdam later, but on the way in I was just connecting through to Luxembourg.

In Luxembourg my main purpose was visiting John and Victoria, and resting up for the marathon. I had a fun visit with them, shopping around for grills and outdoor furniture, cooking and eating, hanging out and reading in parks, etc. I didn't do as much sightseeing as I hoped due to catching a cold, but did make it out to Trier, which is just spectacular for having such a collection of historic buildings in such a compact area.

A model of the remnants of Trier's fortifications, in front of the fortifications.

The fortifications from the other side.

Various angles of the stunning main square of Trier.

A baroque palace joined to an older church — certainly a political statement, perhaps not so different from some of today's regarding the provenance and justification of great accumulated wealth. Not the sort I'm inclined to agree with.

Ruins of Trier's Roman baths.

Trier's Roman amphitheatre.

This would have to be a Gothic church, but I don't recall which exactly.

The marathon was a bust; between a fever I was still fighting off, very hot temperatures persisting through the race start, and being stuck out in the sun with no water for almost two hours before the start, I really had no chance to make the whole distance. I dropped off my goal pace about 10 kilometers in and dropped out completely before the halfway mark. At least I got to run some later parts of the course on easy runs other days. I felt like a cheater going in for the massage and spa treatment in Mondorf the day after not running a marathon (thanks, Dad!), but experiencing a sauna for the first time was worth the guilt. John ran as part of a marathon relay team, and he finished his leg, so he earned his massage and saunas properly. On the way we passed by Schengen, where the famous European open-borders agreement was worked out!

On my last day in Luxembourg John took me on a tour of Luxembourg's “Valley of the Seven Castles”. This is one of these Seattle-Luxembourg connections. People sometimes say Seattle was built on seven hills (an analogy to Rome), but however you count the hills you always wind up with more or less than seven, never seven exactly. I think the Valley of the Seven Castles is similar, though I could be wrong (I don't know Luxembourgish castles nearly as well as Seattle hills).

These are from a little old ruin near Käerch.

This one, near Septfontaines, was a little tricky to get to. It looks like it's been inhabited recently, with what appears to be a modern driveway on part of the grounds!

The castle at Ansembourg features an impressive garden.

Hollenfels' castle has a hostel next to it!

This castle in Vianden can be visited, but was closed when we showed up.

In addition to all these castles we got a peek at the current Grand-Ducal palace. John knew we were in the area and managed to find the closest accessible vantage by driving around. As when I first moved to Seattle and spent several weeks going on runs trying to find Kerry Park, looking at a map would have been cheating. The Dimonds take fair-play seriously... I think we were raised to appreciate a good challenge. Anyhow, Luxembourg is a nice place to visit if you have good hosts, and I had the best! Next stop, Prague!

Tuesday, June 20, 2017

The bottle says, “SPF 50,” but we have to take into account that France is a Metric country. SPF, of course, is a unit-less number. Metric unit-less scalar numbers are worth roughly 1.4 times their Imperial counterparts. Now you might be tempted to cube this number to get the conversion factor because sunscreen is a liquid, three-dimensional. But, in fact, the number refers to the light absorption properties of the skin. The skin's surface-area is a two-dimensional quantity (measured in square-meters or square-feet), but its exposure of light is measured per-unit of area, so the conversion factor is the inverse-square of 1.4, which is a little more than a half. So this sunscreen is about SPF 25, by American standards.

If you think that's bad, it gets much more confusing in Britain, which is mostly on the Metric system except for grumpy old people and in matters of alcohol. Grumpy old people don't buy a lot of sunscreen, but if you've had a couple pints (which are of course different from American pints), you might have to take this into consideration. In this case there may be a distinction based on the length of the foot of the reigning monarch. In the 19th Century, as Dickens writes in A Tale of Two Cities, the King of England had a square jaw, so the ratio of his foot size to the standard foot was introduced squared. This was a serious inconvenience when buying sunscreen in these days, when people really had a whole lot else to worry about. The resulting epidemic of sunburn precipitated the tragic plot of Dickens' great novel, which is remembered as a rallying cry in the movement to adopt the Metric system in Britain. Ironically, when this finally happened, sunscreen applied while drunk retained this annoying conversion. Fortunately the monarch from then through today, Elizabeth II, has more of a round jaw, so though her feet are shorter than a foot, they just round up to a foot and the conversion is moot. So Americans and Europeans alike can consider SPF numbers in Britain exactly as they're accustomed to in their own countries.

But if you're from Australia you have to turn the bottle upside-down before reading.

Monday, June 5, 2017

The Thing(s) with Bitcoin

Alright, The Guardian! Y'all were just at Paralelní Polis in Prague! I was, too! They really will sell you coffee for Bitcoins, and only for Bitcoins!

And you got a Bitcoin wallet on a card and started scanning a QR code, printed therein, on machines in order to buy stuff! In the same room as people that walk around in facemasks in response to the combination of ubiquitous surveillance and various improvements in computing bandwidth (including, but not limited to, facial-recognition), which could otherwise allow them to be tracked literally everywhere! That's a bit ironic: ubiquitous surveillance is related to one of the reasons a Bitcoin wallet-card is not such a great idea. So here's a counterpoint to the Guardian piece: why Bitcoin isn't going to directly replace the Koruna (or Euro, or any of the various Dollars)... ever.

Bitcoin's security is rather unforgiving as regards personal security. A Bitcoin wallet-card has two QR codes (in case you don't know, a QR code is essentially a 2-D barcode) on it, each of which is used to access your wallet. One gives the necessary information for anyone (with the right software and an Internet connection) to give you Bitcoins. The other gives the necessary information for anyone to take your Bitcoins. Obviously, to buy a coffee you need to show the side that lets anyone take your Bitcoins. So you'd better trust your café! On the surface this is no worse than swiping a debit card. But there's a key difference: the ability to charge people's debit (and credit) cards is gated by payment networks that can revoke the access of scammers. Not so much with Bitcoin: the software is open-source. In order to counter fraud, institutions basically similar to the credit-card payment networks would have to form within the Bitcoin ecosystem. Anyway, once the Bitcoins are taken there's probably no way to get them back... except possibly by involving the old fuddy-duddy legal system (i.e. by convincing the state to pursue a case against your adversary, backed by the physical force of the police), in which case you're not much of a crypto-anarchist, are you? Also, the state, knowing that one of the major reasons to use crypto-currency over state-backed currency is avoiding regulations and taxes, may not be so eager to help you out.

Of course, in the age of ubiquitous surveillance, anyone operating a camera that sees your QR code could instantly empty your account! This is the ironic part of the juxtaposition of wallet-cards and facemasks; people are worried about tracking via facial recognition — QR codes are much easier to recognize and read than faces! They were literally designed to be easy for computers to recognize and read! I severely doubt that the people wearing facemasks walk around with wallet-cards, at least not ones representing wallets with any real value in them.

One apparent way around this (I just thought of this off the top of my head, so either people are already doing it or it's wrong) is to keep your savings in one wallet, with no associated card, and transfer small amounts of money to a “holding” wallet to make routine transactions. All the modes of operation I can think of would require consumers to have mobile phones with good Internet connections in order to buy anything. But then... you'd better trust the people writing these apps! Generally I don't think people are very good at figuring out what or whom to trust, and with scams being very simple to do and hard to protect against, scammers will absolutely savage the less techno-literate for years.

The next big thing I have against Bitcoin is that crypto-currency is, economically, a new form of precious-metal-based currency, and hardly anyone thinks that's a good idea anymore. There is a finite amount of Bitcoins, which is determined by hard math. Well, there's also a (practically) finite amount of gold (on Earth, in the short-term), which is determined by hard geology. The gold standard, as a basis for practical currency, was terrible. When gold appears set to appreciate in value, as when there isn't much new gold being mined but the economy is growing, people hoard it instead of investing or loaning it out. An economy where there's no better investment than holding cash is an economy in trouble. Well, Bitcoin has certainly appreciated (exemplified by the article's cited prices for coffee), and if it has any prospects as a real currency it will only appreciate more!

Of course, humanity has plenty of experience with currencies backed by geology, so we've been there before. And there's a response: try a different metal. The Free Silver movement wasn't successful, but other currency changes have been. The institutions you'd need to convince to switch to a different crypto-currency are more diffuse than governments and have different interests. And, of course, people have traded different metals, pressed directly into coins, before (names like “dollar”, “dime”, and “pound” originated with silver coins; “crown”, like the Czech Koruna, originated with gold coins). But then people ended up relying on governments to set standards. Of course, people didn't want to have to figure out which shops accepted gold, silver, or copper, but they were also bad at detecting counterfeit money, and governments were in the position to scare counterfeiters with threats of heavy punishment.

And this places a lot of power in the hands of governments, which can use it for bad things. Today some people claim that the Czech government is, under the influence of big business (and politicians with direct big-business interests), implementing regulations aimed at excessively burdening small businesses to benefit larger ones. I don't know enough to evaluate the claim, but if these regulations are onerous enough, they may exceed the difficulties of stepping outside mainstream payment systems. Therefore the possibility of everyday Bitcoin use, even if only by knowledgeable and motivated people, could act as a check on certain kinds of government overreach.

The other opportunity for Bitcoin, in some sense, is by analogy the Linux story. I didn't come up with this, I heard it on the radio somewhere. The “year of Linux on the Desktop” never really came, not as its advocates envisioned, but as the importance of “The Desktop” has receded, Linux has taken over servers and mobile devices. Similarly, Bitcoin is backed by some cool software that might be very important, in finance and elsewhere, in the near future, even if everyday Bitcoin use never takes off much. But, as with the rise of Linux, it may largely occur under the control of big businesses (including startups that become behemoths) and governments, not anarchist hackers. If this happens, it may bring about some changes to the cultures of these institutions, but I'd guess only minor, adaptive changes, not fundamental ones. That is, I don't think we're headed for the freewheeling world of Snow Crash.

Friday, May 19, 2017

Slytherin Software Engineering: Checked Exceptions, Java 8 Streams, and you!

There's nothing quite so Slytherin in software as functional programming. A functional program is not a heroic quest to impose order on the chaos of memory, but the evaluation of elegant mathematical and logical expressions, over data structures that can never change, with no side-effects. Is all as it ever was? Yes. Our machines are not as perfect as our ideas, but we use compilers to keep the (vaguely dirty) world of processors, instructions, and memory separate from our timeless forms. Additionally there's a bit of the esoteric: pure functional programming disallows the most basic elements of the imperative style that most people learn first, data structures like arrays and control-flow ideas like iteration. This lends itself to uniform syntax with meaning differentiated by position and hierarchy, not ugly flat structures with wide varieties of (plucky?) characters. This is serious Slytherin stuff, right here.

Alas, sometimes even a Slytherin must code in Java. Java's endemic flaw is that it never has enough features; in this it is infinitely preferable to, say, C++, which always has too many! The consequence of this flaw is that we must write lots of redundancies. A redundancy is a statement that offers no possibility for expression, but that we must write anyway. This is drudgery, mere toil, not befitting our high nature! Java has long supported some functional idioms and even anonymous classes, but using them was an exercise in managing redundant boilerplate. Java 7 helped clear some Generics-related boilerplate, but Java 8's compact lambda expressions and Streams API finally made functional expressions look good on the page.

There's just one problem: what if your lambda expression calls some function that throws a checked exception? Streams methods won't accept such a lambda! This sort of problem predates Java's lambdas and Streams, but now that functional idioms are good-looking enough to use it's a problem worth re-examining. So let's consider the possibilities.

You could handle the exception. Yeah, right. In your nice, pithy lambda? What are you, a Hufflepuff? You didn't throw that exception, it's not your responsibility. Let someone else handle it.

You could catch it, wrap it in RuntimeException, and throw that. You'd do that with a higher-order function, obviously. The downside to this is that by wrapping the checked exception you obscure its true nature to callers. That's a red flag right there (we obviously prefer green ones). Another core Slytherin value this violates is reciprocity. You had to deal with the annoyance of a checked exception and it's your right to propagate this annoyance up the call stack. But to force the caller to check arbitrary levels of getCause() and try to guess the intentions of the various wrapping layers? I'm not going to lecture you about fairness or the social contract, but think of the possible consequences: your caller could denounce your method for being imprecise. You don't want that reputation. It's just this fear that makes us civilized; do heed it.

You could wrap the exception to get it through the Streams expression, then catch it outside and unwrap it for the caller. For this you need a more specific type than RuntimeException, one that is only used for this purpose — if you wouldn't make your caller guess at the meaning of a caught RuntimeException you certainly shouldn't have to do it. This is the Golden Rule of Entitlement shared by all Slytherins, in case you were already developing a habit of skipping class by Kindergarten. So you declare such a type along with your function-wrapper and take care to use it consistently. But now your aesthetic is starting to slip. I once had such code reviewed by a Ravenclaw that commented, “That's an awful lot of control-flow just to avoid a for loop.” I could only sulk, “And an awful lot of type-names just to avoid a builder,” and take my laptop and cognac into the stairwell to rewrite the whole module, newly enlightened to the futility of striving for beauty, for unity of expression and purpose. Never have your code reviewed by a Ravenclaw.

It turns out that the best way, for a Slytherin, was invented in 2009. Do the sneakyThrow. Like it just by the sound of the name? I thought you might. You still have to wrap your lambda expression, but you don't need an extra try-catch block around the Streams expression, and the exception that comes out is exactly the type that was thrown. All you did was abuse Generics so you could make an unchecked cast and deliberately make that cast incorrectly to an unchecked type1 to fool the complier's static exception-type checks — the ends justify the means. Now you can put a (correct) throws declaration on your method, tie it up in a nice little bow, and laugh as the compiler warns you about it: how naïve it is, how little it knows of the dark arts.

You could also leave the throws declaration off and lift the burden of checked-exception handling from your caller. This could have real consequences: there are exception-handling schemes out there that rely on the methods they invoke to honor their declarations. Some Slytherins would say that the weakness of those that trust in the honor of others is their own fault, that we should not be blamed for doing what we must. I mean, it's just code, so do whatever, but don't be a douchebag about stuff that really matters, OK?

1 Two different meanings of “unchecked” in one sentence... oh, dear...

Saturday, May 6, 2017

Should a word have two meanings? What the fuck for?

When first I sat at the table I took all the cards at face value. It was bad enough when they gave me directions according to where the old post office used to be. Worse when I arrived there with a package to mail. “And where should I take this, the hospital?”
“Only if it's for a patient, dear.” She took a drag, stamped out her cigarette on the curb, and walked back into the bookstore.

In the town square stood a statue of a man in a military coat and cap, striding forward with anger in his face. “A civic or national hero?”
“Why, no. He led a revolution for a country that no longer exists in a land that, though it's a lot like ours, still seems a world away.”
“Then, what, he was an exponent of our ideals?”
“Well, I can't speak for everyone, but not mine. His professed ideology ridiculed political and personal freedoms from the first. When he held power he indeed suppressed these and others besides, and used racist oppression as a tool to consolidate political support. This came to be a hallmark of his country and its successors, though of course this is hardly unique in the world.”
“Then why should we keep his statue here?” The plaque below mentioned something about its artistic significance. It had been pulled from a scrap heap after the war.

A bar off the square had its own statue outside. A person holding a glass, with a motorized arm lifting the glass to drink and lowering it back down, over and over again, forever. A sticker on the door read, “Register to vote here.” Inside a drinker slapped his arm around me. He was, it turned out, in this strange city, from my home town, and that's one of our local pastimes: getting black-out drunk and hugging eachother. That's one of the reasons I left. He raised his glass and toasted a candidate for local office whose speeches were false fiction (fiction is no different from fact or prophecy, it can be false but it isn't always). I wasn't going to change his mind.

He had a landscaping practice. His best customer was always traveling for business but kept a house in a post-bohemian neighborhood up the hill from the square. He was taking classes for an Associate's Degree but was struggling with math requirements. I met an accountant once that said she never liked math, and was never good at it. Then she wondered aloud why she'd gone into accountancy! Anyway, eventually he asked me what I did for work and I didn't have a quick deflecting lie ready and it was like he knew. I have lots of quick lies ready for when my colleagues ask me about my personal life, but not for that, because they all know what I do for work! He said he'd never been so close to someone he wanted to punch in the face.

He lived a couple dozen miles south of town. Past the shipping port and the huge railyard that spreads out from a massive freight beltway, hidden to highway maps but imposing on the ground, in a glacial valley among factories and warehouses. He'd parked blocks away on a side street to avoid the specter of crime on the main drag. He was frighteningly drunk. Before my work came up and before punching-in-the-face came up he'd been laughing at my expense, or at the expense of the act I put on. Many of my lies and embellishments are self-deprecating, and I was dressed ridiculously; punch up or punch in, that's comedy. Now his sarcastic disgust was getting angrier. “I bet you take public transportation!” he sputtered. I didn't mention my bike locked up outside. I guessed at the sort of route he might take out to the freeway and made a mental note of streets to avoid on my way home.

Saturday, April 29, 2017

Current mood: 2001

It is 2001 again (or maybe 2003):

  • Mass protests have returned to mainstream consciousness
  • I am extremely “single”
  • I've messed up my body by running too fast
  • Irony's dead now, for real this time

Because it is 2001 again, I am learning to play every song on (Radiohead's classic electronic album) Kid A as an acoustic-guitar strum-along. Back then I worked out several of them on piano, and some of them really are a lot easier on piano, but I'm being stubborn and sticking to guitar. Also I didn't really know how to play piano back then and I really don't know how to play piano now.

Sunday, April 23, 2017

Why am I writing about Juicero?

There are just so many angles to this perfect exemplar of human silliness ca. 2017 (this is where I'd find a way to insert the phrase “late capitalism” if I was1 a Marxist but I'm not a Marxist; adjust per your politics).
  • Juicero is an Internet-connected “juicer” that squeezes bags of pre-chopped ingredients (sold separately) until juice comes out. You might ask what you need the Internet connectivity for, and the answer is, “Nothing.” Yet Juicero needs Internet connectivity. Not the juicer itself but the concept of such a juicer. Juicing is a dumb, overblown fad. The health benefits are dubious, and juice you buy in bottles or frozen cans is perfectly adequate — good enough to tide you over between monthly trips to that swanky juice bar in your town, if you're into that sort of thing. Only by the power of rapid, global, peer-to-peer human connection, only by the Internet, can a bunch of sparsely-distributed juice fanatics congeal into a “community”, with fresh-pressed juice becoming such a large part of their identity that they can be convinced they need this.

    Juicero the venture-capital pitch also needs Internet connectivity for a couple reasons, which only matter to a user in that they allow Juicero to exist:

    • DRM2: ensuring that only authorized Juicero juice may be juiced by a Juicero juicer3. In order to get/stay rich Juicero's founders need to be able to profit on initial sales of the machine and on continued sales of bags of chopped fruit.
      • The DRM angle includes a thin pretense of user benefit: that the machine could warn users of expired or recalled packets. I don't know, maybe you could have an online profile where you collected badges for your impressive juicing accomplishments. Whether or not you'd actually use any of that, none of it is a feature for the user — it's all there to make the company's life better, not yours.
    • Internet connectivity makes it a “tech” product, suitable to be pitched to “tech” investors. “Tech”, economically, means that you're using technological novelty to stay ahead of competition, thereby keeping profit margins high4. So there's more silly money in “tech” than in the food and beverage sector, and it's silly-arrogant money that believes it can understand all the other sectors better than the established money already in them.

  • As much as Juicero is riffing on a dumb, overblown fad to try to become a dumb, overblown fad in its own right, hating on Juicero is also a dumb, overblown fad. There's actually a product here. It's similar to the whole Keurig coffee maker thing, which has certainly taken off. Coffee from a Keurig tastes better than instant coffee from powder or crystals; the prep and clean-up is much easier than other home-brewing methods where you have to deal with grounds. On a per-serving basis it's more expensive than other home-brewing methods but cheaper than going to a cafe. On the Juicero side there's something about some frazzled dad, you get the point.

    • So about Keurig, I guess they're having trouble dealing with competitors making “cups” compatible with their machines, undercutting them on price, and killing their profit margins. Hence Juicero's need for DRM from the outset, hence their Internet-connected concept.
    • The “easy” clean-up associated with Keurig machines has an associated environmental cost. A discarded, used Keurig cup contains plastic, aluminum, and organic matter all in a tight package, making it hard to recycle or compost, even though the materials in isolation are pretty well suited to recycling or compost. A Juicero bag must be quite similar. There's the outer material of the bag, strong enough to hold under the pressure of the machine. There's some kind of filter at the bottom of the bag, where the juice comes out — if that was built into the machine it would require regular cleaning, so it must be built into the bag. And there's the organic matter, the fibrous remains of the squeezed-out fruit.
      • When I make coffee at home I use a French press, and I can attest that coffee grounds are annoying, like any other damp organic kitchen waste. When I was renting the first floor of a house with a yard I could just walk out in my PJs and sandals and dump the grounds under some plants that the Internet said would appreciate having coffee grounds dumped on them. Now I toss them in a moldy compost bin for a couple days until the stink becomes unbearable, then take that bin down three flights of stairs to the bigger, moldier compost bin on the parking level of my building. Then I have to take a shower to wash the fruit flies out of my hair.
        • Point is, the inability to compost the coffee grounds and juice waste is, perversely, a feature.
        • “Why don't you just shave your head, Al?” I did that, once, because all my cross-country teammates did it for the state meet my senior year. My head is not shaped right. It looked ridiculous, even more ridiculous than shaved heads usually look.
    • So you can squeeze a Juicero bag with your hands. So, what? I'm sure you can strategically poke holes in a K-cup and pour hot water over it just the right way and end up with coffee. Who would actually do that? Not the “frazzled dad” on his way out to dad it up at some dad thing. Not the customers in the waiting room at the vet's office5. Not the waiter, hurrying-up-and-waiting like 10 tables, and this guy is going to regret that 3:00 PM coffee order at 3:00 AM, but the customer is always right...
      • The workout you get from squeezing the Juicero bag with your hands probably has more health benefits than the juice. The problem is that as you develop strength you can only do more reps by drinking more and more juice, confusing the question of what's really responsible for your newly buff forearms...

1 This is where I'd use the subjunctive voice if I was the sort of person that used the subjunctive voice in English...

2 DRM stands for Digital Rights Management. Like many software dorks of my age, when I was younger I ranted a lot about DRM in software because it represented extra complexity toward the end of making products less useful for users. Like many software dorks of my age I've mellowed on this subject. Anyway, computing models have shifted and more important work is done server-side (“in the cloud”), where big companies naturally have control of the data and the rights. Instead of seeing further erosion in users' rights to use data they possess, we've seen the erosion of users' possession of that data, often even what they'd call “their own” data. However the legal arrangements have or haven't changed, “Possession is nine-tenths of the law,” and it's also nine-tenths of practical power, power that the big companies in charge of the cloud wield mostly for their own benefit. Oh, right, the point that I should be getting to. Now there's DRM in a juicer that I'd never own, and I'm distinctly un-mellowed about it. I guess the mellowing wasn't about age, but just about what I was accustomed to. Humans are pretty good at adjusting themselves to their conditions.

3 It's really hard for me to keep typing, “Juice,” instead of, “Guice.” Just thought you should know.

4 Remember when I said I wasn't a Marxist? Well I have a very thin understanding of competition and profit margins that mostly comes from my observations of the tech industry and what I remember from the chapters of Das Kapital I managed to get through.

5 My vet's office does have a Keurig machine in the waiting area.

Saturday, April 22, 2017

Humility / Audacity

I thought about making a poster for the Seattle March for Science today, then didn't, because I figured there would be lots of posters, and I'm not that good at slogans or visual art, better at long-winded explanations of stuff, so probably other posters would be more worthy of people's attention. Indeed, there were lots of clever posters there and I didn't take any pictures of them because I'm not good at remembering to take pictures. So instead I'm writing a blog post about the poster I maybe should have made. It would have had just two words: “HUMILITY” across the top and “AUDACITY” across the bottom.

I'm probably missing a lot of the words for this, having not studied history nor philosophy of science in any depth, being just some guy that does software and reads stuff... so this is going to be a pretty square and incomplete account of things... so maybe you think about science as an institution, or as a practice. It's an institution made of people, a practice performed by people. We often fail to live up to our best ideals, but they're still our ideals (cf. the USA). Humility in particular would be good to highlight at this sort of event, both to and from the crowd.

I didn't see either of my words anywhere. That's fine. I did see a “Make America Care Again” sign, which was the first MAGA riff I've ever liked.

Tuesday, April 18, 2017

Cold Take: Serial

I finally listened to Serial, a few years late now. One of the big things I got out of it is that I don't want to talk about “reasonable doubt” in a case where I'm not on the jury.

To talk about reasonable doubt is to implicitly question the jury's decision. It seems unfair to do that after listening to a podcast about a trial. I didn't see the whole trial! And I saw a lot of things that weren't in the trial, which were presented because they might indicate the wrong verdict was reached.

But even if I had watched a video of the whole trial and nothing else... both sides in any jury trial prepare arguments to convince the particular jury in the courtroom. In this case that meant a majority-black jury from Baltimore; the podcast audience is a global audience of NPR listeners. There's a whole episode of the podcast called The Deal with Jay, Jay being the prosecution's star witness, where host Sarah Koenig asks, “What's the deal with Jay?” She was never quite sure what to make of him, the inconsistencies in his story, or the lies and evasions he gave before admitting his role in the crime and testifying for the prosecution. So in this episode she talked with a juror, Stella Armstrong, about how she understood Jay. Stella explained, “We all have somebody in our life like that, you know, that you may know, a cousin or a relative, who, if something goes wrong, you think you can call to help you.“ The implication was that “something” was something outside the law. In this case Jay testified that Adnan, the defendant, asked him to help him cover up a murder he committed. Sarah replied that she didn't know anyone like that.

OK, I don't think I know someone like that either. Forget covering up a murder — if I commit a murder (I will try very hard not to commit a murder!) and ask you to help cover it up, don't mess around with that, slap me in the face and drag me out to face justice! But for stuff that isn't so grave... I don't really know who I'd call off the top of my head. Most of the people I'd call for advice would probably say stuff like, “Don't do anything stupid.” Some of that is a mark of privilege, that the law generally works for people like me (I've jaywalked as much as anyone...). But this trial wasn't put on for myself, Sarah Koenig, and a jury of NPR listeners. If it had been, both the prosecution and defense would have had to present somewhat different cases!

So for me, in no way am I in the position of someone asked to do what the jury is doing. I'm listening to a podcast. I just speculate about stuff.

Tuesday, March 14, 2017

Just because I'm tired of arguing with people about dumb things...

... I guess I have to state a moral philosophy of bad form and annoyance.

1. There are individual actions and there are collective actions. They are different.

2. Some individual actions have terrible results when performed often by many people. Often, here, these actions are the result of many individual decisions made in self-interest, and the result does not resemble what we'd choose collectively. Often the harm can be significantly reduced if those individual actions are simply done less often, by fewer people. Sometimes, here, we luck out of disaster because of physical or economic constraints. Other times we need to act collectively to avert disaster. Acting individually in self-interest is human. Acting collectively toward our collective best interest is a really good idea. Acting individually toward a collective best interest is usually futile. Acting individually in self-interest while hoping that others' individual actions toward a collective best interest will solve our collective problems is stupid and annoying.

3. Sometimes the demands of our world are such that we have to do things that wouldn't be good for everyone to do all the time (cf. Kant). Sometimes when we do we run up against constraints imposed on us by necessary collective actions taken to limit the harms caused by such behaviors. It is bad form, in this scenario, to complain about it.

4. We are all responsible for the consequences of our actions to some degree, in proportion to how much of a choice we really have (cf, I dunno, Camus?). Sometimes people with lots of reasonable choices choose to do things that cause a lot of harm relative to the alternatives, simply because these things benefit them. It is bad form, in this scenario, to disclaim responsibility. It is particularly annoying to disclaim responsibility on the basis that these actions or choices are popular.

OK. That's not comprehensive or absolute, but I think it's reasonable. Good enough to stand around as proof of my logical and moral consistency, in order to annoy the bejesus out of people. BE IT PROCLAIMED.

Thursday, March 2, 2017

Apparently the OJ documentary won an Oscar?

I haven't seen the whole thing, only bits and pieces of it, and it was a while ago, and I didn't write about it then. Maybe there's some part of it that examines this and ties it in to the thesis that its title (OJ: Made in America) implies. Anyway, there's a part of it that really stuck with me. They were talking about OJ's mixture of success and struggle fitting in with the rich and mostly white world he inhabited after retirement. There was this idea that there was something off with his constant desire to charm people and present a successful image of himself. So they interviewed a bunch of his rich and mostly white friends, and one of them talked about how he was bad at golf, and how he laughingly cheated at it, and how his golf buddies just couldn't get through to him the importance of honor and sportsmanship on the golf course.

Honestly, if I had to play golf to get through my social interactions I would cheat my ass off (while laughing about it). Because, like OJ, I'm terrible at golf, and I'd just be trying to get on to the next hole and not hold up the group. Sportsmanship? This dude is here because he was a professional sportsman! A typical round of golf is just something to do to pass the time with friends. When these things involve sports or games, and one person isn't very good, you give that person a leg up or take it easy on them, if you're decent. Apparently OJ's rich friends cared more about some mythical honor code of golf than being a good friend, which probably reflects more on them than on him. If he was displaying some kind of character flaw by trying to charm his way through stuff he wasn't great at, this would be a common character flaw that doesn't hold the secret key to his becoming abusive, and then a murderer.

The “secret” key to OJ becoming abusive, and then a murderer, is that he always regarded Nicole more as property (as a symbol of his success and status) than as an actual person. This attitude was obvious from direct quotes that the documentary showed, but did not (in the parts I saw) connect to an assessment of his attitudes or character. He abused her for years, covering it up through connections to police and media, before murdering her. The documentary did cover this, but didn't (as far as I saw) connect it to familiar patterns of domestic abuse or the tacit agreements that keep abuse covered up. If there's one thing that's directly tied to his crimes, and also reflects back on American culture, it's these things.

Monday, February 20, 2017

This isn't the most important thing you'll read about sexism in tech today.

If it has been so far, try this and this maybe? Anyway, it's important for guys to speak up about this stuff, and I am (as you all know) just some guy, so...

This story, in particular

Those articles linked above were the ones that prompted me to write this, covering Susan Fowler's account of working at Uber for a year, detailing specific incidents of sexual harassment, wider failures of culture and inclusiveness, and poor HR responses to them. I work for Google. Google shares, at least, a lot of jargon with Uber, so when I read Fowler's account I had a couple double-takes, before remembering I wasn't reading something written by one of my colleagues. While accounts of both specific harassment from superiors and general sexism in the culture aren't unheard of at Google, I think our HR and leadership response has generally been better. But then there's a lot that I see from the inside here that I don't see there. When Uber's CEO responds that this sort of thing is against what Uber “stands for”, it's hard to see what Uber does stand for if it only reacts to public allegations — if it has not taken proactive steps to make sure HR and other leadership are prepared when they come up internally. Every organization needs to be ready for these sorts of things to come up internally, because they will. They always do.

Everyone, every man working in tech needs to be ready for these sorts of things to come up, with themselves personally. We will make mistakes. Even if we don't do anything that's specifically worthy of getting called out, we'll do things that contribute to a culture that's really hard on women. So we all need to be ready to respond first with humility, not defensiveness.

Our whole selves, and nothing but our selves

Again, my perspective is not the critical one here, but ya gotta write what ya know, 'eh?

Google tries to take more responsibility for its employees' well-being and happiness than other companies I've worked for. When I started there, five years ago, there was a lot of discussion about work-life balance and employee surveys asked about our ability to detach from work in off-time. With answers looking alarming, people looked into the question and found that there appeared to be a spectrum of work-life styles. Some people are “balancers”, who separate their work and personal lives, while other people are “integrators”, who choose to blur the lines, sometimes socializing and taking down-time during the work day, sometimes getting good work done at home. We have a lot of “integrators” at Google, with a lot of official support, and it didn't just start five years ago. This was, perhaps, adaptive to Silicon Valley, where tech campuses are sprawling and isolated. It made sense to eat at work because there weren't restaurants around; it made sense to go running from work, because it would be dark by the time you got home. And it made sense for companies to provide employees, especially younger ones, some built-in, almost college-like social opportunities. I moved to the South Bay just after college to work for Nvidia, hardly knowing anyone on the west coast at the time, and the difficulty I had building a social life there is the main reason why I left after a year. In any case, now the surveys explicitly emphasize “bringing your whole self to work”, more than work-life balance.

When the idea of balancers and integrators came up at Google, I was sure I was a balancer. I truly value my independence, having an identity and a life that's set apart a bit from my career — these opinions are not the opinions of my employer, that goes without saying. But I've found over the last few years that, at least at Google (where there are some really strong “integrator” draws) I'm more of an integrator that I thought. This isn't always to my great credit, but I won't get into that here; doing stuff with colleagues has rekindled my interest in competitive running and cycling, allowed me to share knowledge and learn stuff about tea, and helped me develop a personal sense of style. If that's not the most world-changing stuff, well, working with people that care about my life a bit has made work a place I look forward to going when things are tough in my personal life.

This is much, much easier for me than it is for most people. I'm a skinny white dude with middle-of-the-road interests, tastes, and politics (by tech-industry standards). I almost never have to worry about not being accepted. I don't have kids, so I have the schedule flexibility to hang out after work. I don't drive to work, so I can drink if that's going on (surprisingly often at Google, and I'm not sure it's for the best, but that's another story). Introversion makes the volume of loud social events and conversations draining sometimes, but introverts in tech are common and fairly well understood. Would it be more equal if we brought less of ourselves to work, just the “professional” parts? My current thinking: what we call “professional” is full of exclusion, conflict, and discomfort, we just don't talk about it (it wouldn't be professional). The freedom to bring one's full self seems more critical to people that aren't so privileged in the status quo. Being able to openly discuss effectiveness of various bike tires at work is cool; being able to openly discuss the challenges you have being taken seriously at work, at work, seems a little bigger.

That means when we bring our whole selves we can't be selfish about it. If we're bringing our whole selves we have a responsibility to make sure that's meaningful, and not just a new veneer over the old exclusive professionalism (bikes are the new golf, IPAs are the new scotch, etc.). It means that we have to look out for our colleagues and make a point of being welcoming.


The leather jacket thing. Considering how much discussion there has been over how thoughtful you ought to be when giving clothes as swag, and how often women are left out or made uncomfortable when that thought is lacking, this should have been avoidable! When the status quo is so male-dominated, not every avoidable thing will be avoided. That's when the response matters, a lot. The ham-handed, defensive response suggests a culture problem — it's one of the things that suggests Uber hasn't actually stood for anything.

The performance review and transfer games. Again, these seem to show an organization that is desperate to retain women and is willing to try anything except admitting it has problems and working on them.

“The HR rep began the meeting by asking me if I had noticed that *I* was the common theme in all of the reports I had been making”. Keeping in mind that what's judged reasonable is usually a matter of the status quo, all progress depends on those unreasonable people that don't accept it.

I was trying to find a few more things to link in here, and couldn't find them. There was an article that went around maybe a year ago about some true excesses in culture-fit hiring among tech startups, which ties in with the idea of a new veneer over old exclusive professionalism, but I couldn't find it.

Friday, January 27, 2017

In One

After I said I'd heard Port Townsend was “a charming town or some shit” Wes said a blog would be a good format for my ranting and that I should write a sarcastic travelogue, or rant while traveling into a blog(ue), but o, ho, Wes, I was several steps ahead of you there.

In a café in the off-hours in a tourist town in the off-season one man said that another man had called him a fascist and he wasn't the one wearing the fashy.

There's probably some tough-guy nonsense expression that you don't find out what you're about until you get punched — this whole trip happened before Richard Spencer got punched, and I'd been thinking back then that he didn't know what he was about, but then I've also been reading a couple biographies of Emil Zátopek, who repeatedly found out what he was about, and I really love self-knowledge, but even Zátopek found a lot that drove him to drink, and most of us are neither as great nor as good as he was, so maybe I should learn to smile at lack of self-knowledge.

My brother and his wife keep a non-sarcastic travelogue, which I think requires pictures, as sometimes things aren't quite what they seem in these places; particularly in the off-season you have to plan a little but not too much, you have to be open to experience, sometimes experience is learning nothing.