Author Archives: pirateguillermo

Cranky Old Guy

Yeah, so I’m listening to Surveillance Valley (see previous post) and it’s got me thinking all paranoid and crotchety, as one might expect. So now I’m reminiscing fondly about UUCP, UseNet, FidoNet, and RumorMonger/LACS. Thinking about how, if I were going to try to come up with some sort of communication network that was hard to spy on, I’d have to start with the idea that any participant can show up anywhere at any time.

This is sort of like when engineering management got all us developers in a room at Netflix after we had yet another database outage that cost the company gobs of money and cause much customer unhappiness. They told us, “Look, we can’t stand having our business vulnerable to single points of failure. We’ve gotta be redundant. So we’re going to the cloud. Amazon’s cloud. And you’re going to make it happen. How you do it is up to you, but that’s the fundamental truth. You also need to be aware that your head is on the block if your system fails. And here’s another truth: any single server in ‘the cloud’ can die, at any time, for, like, no reason. Get happy about that.”

Okay. So, what does that kind of network look like? Any message sender/consumer can appear at any time, at any place. Imagine a world where that is the thing that got built, instead of the Internet. Is that better?

Book Recommendations

My friend Matt Maxwell wrote The Queen of No Tomorrows and it got published by Broken Eye Books. It is totally worth buying and installing on your phone so you can read it in line at the grocery store, while you’re waiting at the doctor’s office, and any other time you have five seconds to spare. I did and my only regret is that I didn’t have more seconds in a row to slurp that creepy goodness in.

Ben Aaronovitch recently tweeted his approval of a book by Aliette de Bodard, so I ran off like a good fanboi and bought The House of Shattered Wings. Yup, I liked the book, despite really, really being irritated by the way the fallen monk behaves. So, yeah, check that one out.

Now I’m listening to Surveillance Valley on the recommendation of Patrick Reilly, and it’s got me thinking about network externalities, privacy, store-and-forward, dead letter drops, and other groovy communication behaviors. Totally interesting read.

Nonrandom Thoughts on a Holiday Afternoon

Oh, lots of things going through my head. No real coherence to speak of, though.

Let’s see,

Victor / Victoria

Before I ever moved out of my parents’ house, I saw the movie, “Victor / Victoria” and took to heart an exchange that doesn’t even make it to the quotes section on IMDB. There’s this bit early on where Robert Preston challenges Julie Andrews with, “Name me one thing a man can do that a woman can’t,” and she responds, “Peeing standing up,” but he’s not flustered; he says there’s no reason a man can’t pee sitting down.

And you know what? If you pee sitting down, there’s no splashing that spatters all over the rim of the toilet bowl and when it’s time to clean the bathroom, it’s an easier job. If the mark of genius is laziness, I’m fucking brilliant. You know what else? My wife loves that our bathroom isn’t spattered with urine. She’s called this out, specifically, contrasting me with other men of her acquaintance.

Lesson for so-called incels: if you were less objectionable, people wouldn’t mind hanging out with you. It’s not them, it’s you.

Also: solve the whole seat up / seat down debate: lid down. Dunked by Miss Manners, y’all! I’m telling you, other people matter.

Slack Integrations

I’ve been keeping my bagpipe music as ABC files for years. Because I’m a curmudgeon and I hate all the WYSIWYG score editing software in the world, but still. Anyway, when I joined a band, I started transcribing that music to ABC, too, and now I’ve got the job of being the music librarian. It turns out that there are several good reasons to use ABC instead of CelticPipes or whatever, not least of which is that a text file is an excellent candidate for inclusion in a git repository.

Anyway, I’ve been asked by several people if I could email them or otherwise let them know when the music has been updated in our band folder on Box. Sure, I can. Get on our Slack group and join the music channel and you’ll see a notice every time someone commits a change to the tunes, and every time the PDF files get rebuilt.

80s Nostalgia

I don’t care what Ernest Cline says, the 80s sucked. For the most part, those of us who remember them fondly at all do so because the 70s sucked even more. Even so, not everything was horrible. Amidst the shitshow that is late December 2018, there are a few bright lights from the 80s that still make me happy. Among these is X.

Something They Leave Out

Here’s something the tutorials don’t tell you, but that is kind of important: Flutter plugins add their own CocoaPod dependencies to the iOS project. This is why the installation instructions for Firebase tell you to skip through everything in the iOS installation after you install the GoogleService-Info.plist file. The rest of the installation gets handled by the Flutter plugins for Firebase.

True But Misleading

Oh, BBC, never change. Here’s a quote from an article on the latest recommendations from the IPCC:

If you fly regularly, replacing flying with other forms of transport may have a bigger impact on your carbon footprint than changing your diet. A passenger’s carbon footprint from a one-way flight from London to New York is just under half a tonne of greenhouse gases. Switching from a regular petrol vehicle to an electric car could save more than double that over a year.

Right. If I drive an electric car from London to New York instead of flying, I could save a bunch of carbon emissions?

Team of One

I have been writing programs of varying complexity since I was in the 6th grade, so, call it 39 years. For a portion of that time, call it 14 years, I worked on code that had other people contributing to it. During that, what, 36% percent of my programming life, I learned many lessons that I’ve carried into my solo programming.

Tools, best practices, all kinds of work patterns and code idioms show up in my personal projects not because they’re the most efficient way to get the project done, but because I’ve learned that if I ever do want to collaborate with someone, then that’s made a heck of a lot easier if I do some planning in the beginning. Also, because I love future me, I don’t want to give future me some big pile of spaghetti code with all kinds of undocumented special cases just built in.

Continue reading

I Hate Your Bot

I dunno, something like a year ago, a guy I know started retweeting a client of his who was working on building a chatbot platform. Now, let’s be honest: in customer facing positions, a lot of interactions are going to be the same. People are way more similar than they are different, and so if one person has a problem, it’s probably true that lots of people have the same problem. So, as a customer service operator, you’re going to spend a lot of your day saying the same things over and over. It’s understandable, then, that companies want to use automated systems to handle customer requests. Why pay a human to tell customers the same thing over and over when you can pay a human to type it once and have a computer send the text a zillion times?

I get irritated by this, though. Given that I understand the motivation and the logic, why do I get cranky? Because although I am far from unique, I am still far from the 80% case and there’s never a clear path past all the B.S. to get to a real, problem-solving human being. (And even when I get to a human, empirical evidence suggests that the human in question is more likely to hit a hotkey response than to actually answer my question.)

Chatbots, artificial voice systems, call center scripts, they all bug me a LOT. Why? Because they all are trying to send the signal, “I am a human being who deserves compassion and respect and engagement,” all simultaneously with sending the signal, “I do not respect you, I do not actually care about you, I am not going to listen to you, and I am going to consume your time and energy.”

If you’re going to build a system that pretends to be human, you need to build it to feel and to empathize.