Benjamin Esham

I got an email from eBay this morning—September 15, 2019—telling me that their “updated User Agreement will take effect on August 30, 2019 for all users.” How on earth can it be legal for them to make a change like this without at least 30 days’ notice beforehand?

Shutterfly tried the same thing a couple weeks ago (new terms effective September 3rd; notification sent on September 7th) with the added shit-covered cherry on top of a new mandatory arbitration clause. I closed my Shutterfly account.

Sometimes I find it disconcerting that I can’t run df -h on my brain and find out how much space is left in there.

The medium is the message, and when the medium is ads sent through the mail, the message is “we don’t give a shit about the environment.”

Haskell salesman: *slaps roof of Traversable t => t a* the typeclass doesn’t give you any a priori guarantees of how many a you can fit in this bad boy

The thing I like least about doing Python code reviews is feeling like I’m the static analyzer. Like, I have to make sure that variables aren’t used before they’re defined, because otherwise the code will be merged, deployed, and run before Python itself will complain.

Cory Doctorow:

The adoption curve for oppressive technology goes: refugee, immigrant, prisoner, mental patient, children, welfare recipient, blue collar worker, white collar worker (think, for example, of video surveillance cameras).

(Via Bruce Schneier, who says, “I don’t agree with the ordering, but the sentiment is correct.”)

I don’t have anything insightful to say about the children (and adults) we’ve locked in cages. I’ll just say this: it’s cruelty, plain and simple. It’s sadism without any possible justification or excuse. America is big enough for everyone who wants to be here.

Good thing I’ve been brushing up on my French so I kn—wait

A screenshot of the Duolingo app. The question at the top reads, “Which of these is ‘the box’?” Four French words are offered as choices, but each includes a picture that makes it clear what that word means.

The University Avenue entrance to the garden of the George Eastman Museum. Shot with a Canon EOS M5 and filtered all to hell with VSCO.

“Circa 2016” is Latin for “I don’t actually know what ‘circa’ means.”

In his book The Shah, Abbas Milani writes about a lavish gala held in 1971 to celebrate the 2,500th anniversary of the Persian Empire:

Dinner was a six-course, five-hour extravaganza, created by the famed Max Blouet; much of it flown in from Maxim’s of Paris. It included fifty roast peacocks, “quail’s eggs stuffed with golden caviar, crayfish mousse, saddles of lamb.” The only thing Persian on the menu was the caviar. The Shah, allergic to caviar, was served a vegetable instead.

Imagine even knowing whether you’re allergic to caviar.

The two approaches to pet ownership in Game of Thrones:

  1. Utter apathy

  2. “They are literally my children.”

I’ve been using Nix on my Linux machines for a few days now. One of the things I appreciate already is that it keeps dependencies “hidden” (i.e., not on your PATH).

I had a problem at work one time because the company infrastructure was calling getent and it turned out that some package I’d installed with Linuxbrew depended on some other package that provided getent. Linuxbrew’s version was incompatible somehow, but it came first in my PATH so the company thing was failing. What is getent? I don’t know. I didn’t ask for it to be installed; one of my packages did. I like how Nix lets you pretend that the only packages present are the ones you explicitly asked for.

How many times have you overheard this conversation?

“Well, static types are all well and good, but we use tests to get those kinds of guarantees.”

“I see. What’s your test coverage like?”

“Oh, I don’t know, sixty percent?”

Oh my God, Kubla, you can’t just decree a stately pleasure-dome.

Flower palace

Always the bridesmaid, never the APT with Super Cow Powers


I’m writing a Haskell program. I am the only person who will ever use this and yet I’m spending 60% of my time wringing my hands about when I should be permitted to do IO.

I know that using ExceptT over IO is considered harmful by some, and I know that using strings as your error type is also considered harmful… but it does allow me to use the extremely cute

Will I regret this later? Maybe.

Older microblog posts