An Algorithmic Lucidity

a blog

Category: asides

On Schedule

gonna get ready for my d8

my d9

it feels like you should be able to spell date with a numeral, but

no, wait

I think the first one actually works

A Thanksgiving in June

Sitting on the green couch, eating cheese ravioli and sipping an allegedly peach-tea-flavored energy drink, admiring my brand-new wireless router and fresh installation of Xubuntu 14.04, I make a deliberate decision to drop to my knees in a song of praise which says, "God bless America!"—and if some not-yet-forgotten ghost or subroutine of intellectual integrity has me quickly disclaim that God is but a metaphor and America a metonym for concepts much less familar and perhaps slightly sinister, I don't think it makes the prayer any less heartfelt.

Lexicographic

"Here's a draft of the new sign-up form."

"... I like it. Only one question: I'm just curious, but why did you put the Female radio button first?"

"Alphabetical order."

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!"

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.

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.

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.

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.

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."

Classification

"So, what do you think it—"

"It's a Turing machine."

"You didn't even look at it!"

"I don't need to!"

"&c."

Is it wrong that I feel more positively disposed towards Etsy after figuring out where it must have (must have) gotten its name?

Fortune

"They're going to pay you X dollars a year? But that's fantastic! You're rich!"

"I don't like the way you say that. You make it sound as if I had won the lottery."

"Lottery, new job, what's the difference? Good fortune should be celebrated."

"Not like that. If they're going to pay me X dollars a year, that means I have one year to create X dollars of economic value. It's a serious responsibility."

Highball

"Now remember: when you're negotiating salary and they press you for a number, do not reveal your BATNA. Give them an unrealistically high estimate and make them negotiate down. Now practice on me."

"Ahem. Well, sir or madam, given my demonstrated expertise and the value I could create for this company, I think a fair starting salary would be ... sixty thousand."

"No, no, no! I said—"

"Per day."

"Uh ... that's a little too—"

"In Bitcoin."

Numbers Between 0 and 1 (Non-exhaustive List)

π/4, the Euler–Mascheroni constant, Chaitin's construction, the fraction of my internal narrative which consists of various rephrasings of I've been a contemptible fool; but, that's decision-theoretically irrelevant