An Algorithmic Lucidity

a blog

Standard Advice

"So? What do you think I should do?"

"Hm. I think you should start with all computable universes weighted by simplicity, disregard the ones inconsistent with your experiences, and maximize expected utility over the rest."

"That's your answer to everything!"

The Emissary Who Will Bring Disunity

It's like everyone thinks they belong
Like everyone thinks they agree
Like everyone thinks they can strike up a cause
With one half of humanity
But I think I can show that they're wrong
Their consensuses all disagree
I'm as spry as can be
I'm the emissary
Who will bring disunity
I will bring disunity

Lower Decks

Another way you can tell that you're the worst person at your job is when you play the "If This Were a Starfleet Operation, What Rank and Division Would Everyone Have?" game and you're not tempted to make anyone else an ensign.

Behind Schedule

gotta wr8

gotta wr9

it feels like you should be able to spell write with a numeral

but I guess

you can't

A Short Story

"Seriously, what kind of asshole writes the phrase conditional on the hypothesis that when the word if would do?"

"Well ..." I said.

Sub Specie Aeternitatis

Contrary to popular belief, it is not the case that all's well that ends well. But it will seem like it, at the end.

Clarity of Intent

<bob> and here on line 79---
<bob>         else:
<bob>             return None
<bob> you don't need the else
<bob> Python functions will implicitly return None
<alice> $ python -c "import this" | sed -n 4p

Reasons for Seasons

I don't particularly care for Christianity, but my heart went out to the designer of the greeting card with a chocolate cross attached that was on sale at the corner drugstore. May His Light Shine Upon You, it said on the front, and Happy Easter inside, as if some foresight-burdened defender of the faith had reasoned, "We know we're powerless to stop the secular commercialization of our holy day, but maybe we can slow it down, just a bit."

A sentiment to remember for the day when your favorite ideology ends up on the wrong side of history.

Ode to Swift

Our users have a need although
Our budget's rather ...
     Thrifty—
Not just, "I want my data," but
"I want my data
     Swiftly."
But should their need our budget meet
I'd think it not an oddity,
In an age of open source in which
The hardware's a commodity.
The right solution's quick to get,
No need to hunt or forage;
We'll see our users' needs are met
With open object storage.

Defect

My Genotype

I—I'm afraid that examination of my 23andMe raw data has revealed a horrible truth about myself. I mean, I had always suspected, but now there's no room for doubt, no hope for denial. The terrible fact is that—

I am not a geneticist.

Missing Words V

The other week I was reading a book that used the word multimegaline—from multi- and mega- and line, referring to software projects composed of many millions of lines of source code. But I prefer to believe that the last syllable rhymes with keen and that the word is good for anything really big.

Lethal --force

Dear reader, if you're like me—and if you're not, why are you reading this stupid blog about random shit that no one who's anyone could possibly care about?—close the tab and go do something worthwhile instead. No, I mean it. I'll wait ...

Right. Dear remaining readers, since you're like me, you've probably considered force-pushing to a remote Git repository. Do not force-push to a remote Git repository.

I can hear you protest, "But, but—what about when I want branch B to have content from branch A but I don't want to do a merge like any sane person would, because rebasing would make the history more elegant in my completely arbitrary aesthetic opinion and because I'm a reckless degenerate who is too dumb to live?" Do the merge.

Because, commit my words, if you rebase and force-push—well, it's a story nearly as old as history itself (which began on 3 April 2005; so, like, a really long time ago). You might get away with it this time. And the next, and the next. But one day, your project will start failing with mysterious errors, errors ominously reminiscent of those caused by a nasty bug your gracious and talented colleague had fixed the other week. Your feeble attempts at investigation will fail, and you'll entreat your gracious and talented colleague to take a look.

You will never forget the expression of bafflement and horror that you'll infer must have crossed his face when he discovered that his fix for the nasty bug of last week had vanished, as if it had never been written. (Infer because all you'll actually observe is the message "FUCK" over the company IRC channel.)

After the hypothesis occurs to you, you'll have to explain to your gracious and talented coworker what you think could have happened—that you thought you had communicated with him about rebasing branch B eight days ago, but maybe you hadn't been clear, and that it was just barely possible, in theory, that maybe, possibly he had pushed his fix just before you force-pushed your newly-rebased branch ... overwriting your gracious and talented colleague's work on the remote. Not to be noticed for more than a week, long after your colleague had pulled the new version of branch B, overwriting his local copy.

Heed my words, dear reader! Unless you mend your ways, this is your future! I hear you sneer, "But pulling doesn't actually destroy data. It only retrieves the new commit and blob objects and updates the branch pointer; I know because I read it on Hacker News when I should have been working but wasn't because I'm a scoundrel and a thief. The missing commits should still be in the reflog, both in my hypothetical colleague's repository and on the remote."

But suppose the remote is an off-site hosting service that doesn't offer an API to the reflog. What will you do when your gracious, talented, long-suffering (from having to work with the likes of you) colleague fails to find the missing work in his local reflog? "But how could that be?" you ask. Well, I don't know. Maybe the Git garbage-collector ran at an inopportune time? Maybe your understanding of Git's internals gleaned from the tl;dr section of a blog post eight months ago wasn't entirely accurate? Whatever happened, and however it happened, eventually your gracious and talented colleague will give up and spend an hour rewriting his earlier work.

"Oh. Well," you say, "that's a bit unfortunate, but it's far from a disaster. Between the time we spent being confused about the cause of the errors, and looking for the lost commits, and my colleague rewriting his work, that costs the company, what, maybe five developer-hours? That's pocket change," you continue, a slight quaver in your voice betraying your knowledge that you wouldn't speak that way about $250 of your own money being set on fire.

But you're right. It won't be a disaster. You won't get fired or disciplined. Your gracious and talented colleague won't even be angry at you (as far as you can tell), over this one little mistake. You won't do it again.

Except it's never "just one mistake," and you will do it again. "It" maybe not being this specific sin of force-pushing to a shared remote branch (or maybe even that is too optimistic), but something in the equivalence class of "mistakes you could and should have avoided for some reasonable if currently-unknown operationalizations of could and should" ...

"So what?" you ask. "If one stupid mistake is non-disastrous, why not say the same of a lifetime's worth of stupid mistakes?" Because, because—

Because I like living in a technological civilization. I like being cool in the summer and warm in the winter, and having plenty of tasty food to eat, and internet to play in. These things aren't guaranteed to us by nature; they exist only by of the grace of people being sufficiently non-incompetent at their jobs. And we may not know what we're missing by not being even more non-incompetent. Even if any one mistake or triumph doesn't make a perceptible difference on its own—it adds up. So I don't think you should blame me for caring.

Twilight Sparkle Is a Disaster Waiting to Happen

I swear to Celestia, one of these days that mare is going to get somepony killed or worse. I almost suspect it's already happened and Hasbro is just sitting on the footage.

Seriously. Levitation or teleporting is fine, but you do not buck around with mind control or transformation spells unless you are absolutely sure that nothing will go wrong and that you can fix it when it does anyway. You'd think she'd learn after, I don't know, accidentally brainwashing pests into destroying the town, or unleashing a transmissible-by-sight plague of madness that wasn't stopped until Princess Celestia herself intervened, or accidentally swapping parts of her friends' souls, or accidentally transforming her friend into a horrible bat-pony abomination, or transforming herself and her friends into tiny vaguely-insectoid creatures and venturing through a closing portal to another world and only barely making it back in time.

Even plot armor isn't infinitely thick. Someday it's going to break, and I don't want to be watching when it happens.

Motivation

The blog has been silent for two weeks plus and, dear reader—that is, if there are any of you still remaining—dear reader, the thought occurs to me that maybe I should keep my drafts in a Git repository with a remote on GitHub, not because I need the full power of version control (I do not), but because then I would be rewarded for writing with those contemptible green contribution squares.

a GitHub-style contribution graph of green squares from July through February, with longest and current streak stats below

It's an anthropomorphism to think that humans have goals, that we do things because we've computed that they'll increase expected beauty or rightness in the world. We do things for the immediate reinforcement. You eat the candy because it tastes good and you show up to work on time because if you didn't, then your colleagues would notice. Serious long-term risks of diabetes or unemployment are too distant and too abstract to enter in the equation; far more effective is something immediately noticeable, even something as trivial as an integer being incremented or a square turning a darker shade of green. I tell myself that I code because it's fun and useful and lucrative (though I'm never explicit about whether that's descending or ascending order of importance), but would I be quite so diligent without the implicit gamification of my virtue? Would it be enough to have done good work, without wasting a few minutes here and there to gaze admiringly at commit diffs and contribution squares which manifest my moral worth in red and green and green?

Dear reader, I want you to picture yourself reclining at the end of a long day near the end of long career filled with great or terrible deeds. A young minion at the start of their own career will look at you and ask in awe, "O Master, what motivated you, all that time? What drove you on in your hour of deepest exhaustion? Was the it money, the fame, the men or women? Was it your ideological fervor or spirit of generosity?"

"No," you'll reply. "I did it for the green squares. And given the same circumstanstances ... I'd do it all again."

"You mean, you made the right choices? You have no regrets?"

"No, you fool!" you'll shout. "Don't you understand? I said, I'd do it again."

An Education News Bulletin

Apparently a gang of extortionists calling themselves the "California state Bureau for Private Postsecondary Education" are threatening to shut down a number of organizations that provide assistance in learning to program, including App Academy, which I recently benefitted from attending. I could explain why the behavior of the BPPE is an outrage that must be opposed by anyone with a scrap of decency in their heart, but I'm too busy coding and counting my money.

House Style

it's kind of strange that I think the internet is all-lowercase, when I'm so eager to slap Portentous (Pretentious?) Captial Letters on Fuck Near Everything Else

The Chocolate Caramel Sea-Salt Betrayal

"Our civilization," said the engineer, "is decadent." This after visiting the Ghirardelli shop on Market and Montgomery, frowning and, for the first time in his life, doubting very much whether ice-cream was a force for good in the world.

Cute

"... so, what do you think?"

"It was cute, in a meta sort of way."

"Thanks. But there's something a little sad about resorting to meta cuteness so often, like I'm an n-trick pony for undisclosed but probably quite small n."

"Well, you're very good at meta cuteness."

"There is that."