April 17, 2019

Why Don’t You Just

Filed under: documentation,interfaces,life,vendetta — mhoye @ 12:12 pm

This is a rough transcript of short talk I gave at a meeting I was in a few years ago. Enough time has passed that I don’t feel like I’m airing out any dirty laundry, and nothing’s brought this on but the periodic requests I get to publish it. No, I won’t be taking questions. I hope it’s useful to someone.

Can I get a show of hands here? Raise your hands if your job is hard. Raise your hand if there are a lot of difficult trade-offs, weird constraints and complicated edge-cases in it, that aren’t intuitively obvious until you’ve spent a lot of time deep in the guts of the problems you’re working on.

[everyone raises hands]

OK, now keep your hand up if you’re only here for the paycheck and the stickers.

[everyone lowers hands]

I’d like to try to convince you that there’s a negative space around every conversation we have that’s made up of all the assumptions we’ve made, of all the opinions we hold that led us to make whatever claim we’re making. Of all the things that we don’t say out loud that are just as much a part of that conversation as the things we do.

Whenever you look at a problem somebody’s been working on for a week or a month or maybe years and propose a simple, obvious solution that just happens to be the first thing that comes into your head, then you’re also making it crystal clear to people what you think of them and their work.

“I assume your job is simple and obvious.”

“Maybe if you’ve been working on a problem this simple for this long, you’re not that smart.”

“Maybe if it’s taken you this long to solve this simple, obvious problem, maybe the team you’re working with is incompetent?”

“Why has your manager, why has your whole management chain had you working on this problem for so long, when the answer is so simple and obvious?”

“And even if I’m wrong about that, your job doesn’t matter enough for me to be the least bit curious about it.”

There’s not a single person in this room who’d ever say something like this to one of their colleagues’ faces, I hope. But somehow we have a lot of conversations here that involve the phrase “why don’t you just”.

One of the great burdens on us as leaders is that humans have feelings and words mean things. Our effectiveness rests on our ability and willingness to collaborate, and the easiest way to convey that you respect somebody’s work is to have enough curiosity and humility to open conversations with the assumption that maybe the other person’s job is just as challenging and complicated and important as yours.

This “why don’t you just” thing is bullshit. Our people deserve better and I want it to stop.

Thank you.

April 11, 2019

An Old School Shoutout

Filed under: awesome,beauty,doom,future,microfiction — mhoye @ 8:58 am


It’s good to revisit the classics now and then.

April 10, 2019

Modern Problems, Etc.

Filed under: analog,awesome,future,interfaces,life,lunacy,weird — mhoye @ 10:51 am


April 9, 2019


Filed under: a/b,arcade,digital,documentation,interfaces,vendetta — mhoye @ 8:57 am

Tevis Thompson, games critic and author of the excellent Second Quest has posted a new article on the best and worst games of 2018, and as always his work is worth your time.

So the question is not: what is it? Or: is it good? The question is: why are you still playing? Why do you need another chaos box? Was the tropical island version not enough in 2012? Nor the Himalayan one in 2014? Did you really need the rural American flavor too? I know this isn’t your first rodeo. Chaos boxes were kinda novel and fun in the 2000s, but there’s nothing wild or crazy about them now, no matter how many grizzly bears named Cheeseburger you stuff in. Surely you have a higher standard for dipshittery in 2018. Besides, there are so many virtual ways to unwind and let off steam these days. So why are you still playing this?

I’ll tell you why: because you like high definition murder. You like it. It’s not an accident that the most violent shooters are always on the cutting edge of graphical fidelity. They know what you want. And as your stunted adult imagination knows, mouth gun sounds just won’t cut it anymore. You need 4K fire and blood, bodies twisting and breaking at 60 frames per second. You need local color to give just enough specificity and grit to make each shot really land, to make sure your deadened senses feel anything at all. You especially need a charismatic villain to see you, recognize your violence, say you’re just like him. And then, absolve you. Because both of you poor souls have no other way to be in this fallen world. Except that he’s a videogame character and you’re a person.

That’s part of his review of Far Cry 5, a game that only took second place on his list of the worst games of the year. He digs into the first, Red Dead Redemption 2, at much greater length.

Read the whole thing.

April 2, 2019

Occasionally Useful

A bit of self-promotion: the UsesThis site asked me their four questions a little while ago; it went up today.

A colleague once described me as “occasionally useful, in the same way that an occasional table is a table.” Which I thought was oddly nice of them.

March 27, 2019

Defined By Prosodic And Morphological Properties

Filed under: academia,academic,awesome,interfaces,lunacy,science — mhoye @ 5:09 pm


I am fully invested in these critical advances in memetic linguistics research:

[…] In this paper, we go beyond the aforementioned prosodic restrictions on novel morphology, and discuss gradient segmental preferences. We use morphological compounding to probe English speakers’ intuitions about the phonological goodness of long-distance vowel and consonant identity, or complete harmony. While compounding is a central mechanism for word-building in English, its phonology does not impose categorical vowel or consonant agreement patterns, even though such patterns are attested cross-linguistically. The compound type under investigation is a class of insult we refer to as shitgibbons, taking their name from the most prominent such insult which recently appeared in popular online media (§2). We report the results of three online surveys in which speakers rated novel shitgibbons, which did or did not instantiate long-distance harmonies (§3). With the ratings data established, we follow two lines of inquiry to consider their source: first, we compare shitgibbon harmony preferences with the frequency of segmental harmony in English compounds more generally, and conclude that the lexicon displays both vowel and consonant harmony (§4); second, we attribute the lack of productive consonant harmony in shitgibbons to the attested cross-linguistic harmonies, which we implement as a locality bias in MaxEnt grammar (§5).

You had me at “diddly-infixation”.

January 20, 2019

Super Mario Telemachy

Filed under: a/b,arcade,awesome,beauty,digital,documentation,future,interfaces — mhoye @ 10:29 pm
This way to art.

One thing I love about the Hyrule of Breath of the Wild is how totally unbothered it is by our hero’s presence in it. Cliffs you can’t climb, monsters you have no real shot at beating, characters wandering about who aren’t there as side-quest farmers or undifferentiated foils for your inevitable progress. Even the weather will inconvenience, injure or outright murder you if you walk out into it dressed wrong, and in large ways and small this mattered. I’d seen lighting strikes in the game before – and getting one-shotted by the rain after I missed the memo about not wearing metal out in a storm was startling enough, lemme tell you – but the first time I saw one hit water, saw a handful of stunned fish floating to the surface, that put my jaw on the floor. The rain that made this hill too slippery to climb gave that world the sense of a being a world, one that for all your power and fate and destiny just didn’t revolve around you.

Super Mario Odyssey is the precise, exact opposite of that, and at first I really didn’t get it. I couldn’t get into it.

It’s surprisingly hard to enjoy an entire world carefully and forgivingly tuned to precisely fit your exact capacities at all times, to the point that if you’ve done much platforming in your life there’s no real challenge to navigating Odyssey, much less risk. A “death” that costs you about six of the abundant, constantly replenished gold coins that litter the landscape hardly even counts as a setback – you’re likely to restart next to eight or ten of them! – so my first impressions were that it amounted to a hoarder’s brightly coloured to-do list. I decided to grind through it to see the New Donk City I’d been studiously avoiding spoilers for, hearing only that it was the best and weirdest part of the game, but it was definitely a grind.

But after watching my kids play it, and helping them through the parts they’ve been hung up on, I realized something: Odyssey is a bad single-player game because it’s not a single-player game, at least not a single adult player. It’s a children’s book, a children’s experience; it’s Mario Disneyland. And once I discovered the game I was actually supposed to be playing, the whole experience changed.

With fresh eyes and unskilled hands involved, this sprawling, tedious fan-service buffet becomes an entirely different thing, a chance to show my kids around a game world I grew up with. Even the 2D sidescroller diversions, eye-rollingly retro on their own, become a conversation. Most amazingly, to me at least, the two-player option – one player driving Mario, the other driving his ghost hat companion Cappy – stops looking like a silly gimmick and starts looking like a surprisingly good execution of a difficult idea I’ve wanted for a long time. Odyssey is the only game I’ve ever seen that has cooperative, same-couch multiplayer that’s accessible to people of wildly different skill levels. Another way to say that is, it’s a game I can play with my kids; not versus, not taking turns, but “with” for real, and it’s kind of great.

So, playing Odyssey alone by myself? Sure: unchallenging, rote and if we’re honest enough to admit it, a little sad. But with my kids’ playing it, playing along together? Definitely. Not only good but good fun, maybe even a meaningful experience. Sign me up.

January 8, 2019

Feature Request

Filed under: digital,documentation,fail,interfaces,linux,toys,vendetta,want — mhoye @ 9:50 am

If I’m already in a Linux, ideally a Debian-esque Linux, is there a way for me to say “turn this new external hard drive into a bootable Linux that’s functionally identical to this current machine”? One that doesn’t involve any of dd, downloading an ISO or rebooting? It’s hard to believe this is as difficult as it seems, or that this isn’t a standard tool yet, but if it is I sure can’t find it.

Every installer I’ve seen since the first time I tried the once-magical Knoppix has let you boot into a workable Linux on its own and install that Linux to the hard drive if you like, but I can’t a standalone tool that does the same from a running system.

What I’m after is a tool (I briefly wrote “ideally graphical”, but yeah. Let’s be real here.) that you point at a hard drive, that:

  • Formats this new hard drive in some rough approximation of what you’ve already got and making it bootable. (grub-whatever?)
  • Installs the same packages onto that drive as are on the host system, and
  • Optionally copies over account information required, /home/*, passwords, whatever else is in /etc or /opt; skip (or be smart about?) stuff like the hostname or iptables, maybe.

…and ends with a hard drive I can plug into another system, boot and log into as comfortably-preconfigured me.

debootstrap almost gets part of the way there, and you can sort of convince that or multistrap to do the job if you scrape out your current config, pour it into a config file and rsync over a bunch of other stuff. But then I’m back in roll-it-yourself-land where I started.

Ideally this apparently-hypothetical magic clone tool would be able to do this with minimal network traffic, too – it’s likely I’ve already got many or most of those packages cached, no? And alternatively, it’d also be nice to able to keep my setup largely intact while migrating across architectures.

I go looking for this every few years, even though it puts me briefly back on the “why would you ever do it like that? You should switch distros!” You Asked A Linux Question On The Internet Treadmill. But I haven’t found a decent answer yet beyond rolling my own.


(Comments are off permanently. You’re welcome to mail me, though?)

December 16, 2018

Control Keys

Filed under: a/b,digital,documentation,fail,future,hate,interfaces,linux — mhoye @ 10:36 pm

I spend a lot of time thinking about keyboards, and I wish more people did.

I’ve got more than my share of computational idiosyncrasies, but the first thing I do with any computer I’m going to be using for any length of time is remap the capslock key to control (or command, if I find myself in the increasingly “what if Tattoine, but Candy Crush” OSX-land). I’ve made a number of arguments about why I do this over the years, but I think they’re mostly post-facto justifications. The real reason, if there is such a thing, is likely that the first computer I ever put my hands on was an Apple ][c. On the ][c keyboard “control” is left of “A” and capslock is off in a corner. I suspect that whatever arguments I’ve made since, the fact of it is that my muscle memory has been comfortably stuck in that groove ever since.

It’s more than just bizarre how difficult it is to reassign any key to anything these days; it’s weird and saddening, especially given how awful the standard keyboard layout is in almost every respect. Particularly if you want to carry your idiosyncrasies across operating systems, and if I’m anything about anything these days, it’s particular.

I’m not even mad about the letter layout – you do you, Dvorak weirdos – but that we give precious keycap real estate to antiquated arcana and pedestrian novelty at the expense of dozens of everyday interactions, and as far as I can tell we mostly don’t even notice it.

  • This laptop has dedicated keys to let me select, from levels zero to three, how brightly my keyboard is backlit. If I haven’t remapped control to caps I need to twist my wrist awkwardly to cut, copy or paste anything.
  • I’ve got two alt keys, but undo and redo are chords each half a keyboard away from each other. Redo might not exist, or the key sequence could be just about anything depending on the program; sometimes all you can do is either undo, or undo the undo?
  • On typical PC keyboards Pause/Break and Scroll Lock, vestigial remnants a serial protocol of ages past, both have premium real estate all to themselves. “Find” is a chord. Search-backwards may or may not be a thing that exists depending on the program, but getting there is an exercise. Scroll lock even gets a capslock-like LED some of the time; it’s that important!
  • The PrtScn key that once upon a time would dump the contents of your terminal to a line printer – and who doesn’t want that? – is now given over to screencaps, which… I guess? I’m kind of sympathetic to this one, I have to admit. Social network interoperability is such a laughable catastrophe that sharing pictures of text is basically the only thing that works, which should be one of this industry’s most shameful embarrassments but here we are. I guess this can stay.
  • My preferred tenkeyless keyboards have thankfully shed the NumLock key I can’t remember ever hitting on purpose, but it’s still a stock feature of OEM keyboards, and it might be the most baffling of the bunch. If I toggle NumLock I can… have the keys immediately to the left of the number pad, again? Sure, why not.
  • “Ins” –  insert – is a dedicated key for the “what if delete, but backwards and slowly” option that only exists at all because mainframes are the worst. Are there people who toggle this on purpose? Has anyone asked them if they’re OK? I can’t select a word, sentence or paragraph with a keystroke; control-A lets me either select everything or nothing.
  • Finally, SysRq – short for “System Request” – gets its own button too, and it almost always does nothing because the one thing it does when it works – “press here to talk directly to the hardware” – is a security disaster only slightly obscured by a usability disaster.

It’s sad and embarrassing how awkwardly inconsiderate and anti-human these things are, and the fact that a proper fix – a human-hand-shaped keyboard whose outputs you get to choose for yourself – costs about as much as a passable computer is appalling.

Anyway, here’s a list of how you remaps capslock to control on various popular OSes, in a roughly increasing order of lunacy:

  • OSX: Open keyboard settings and click a menu.
  • Linux: setxkboptions, I think. Maybe xmodmap? Def. something in an .*rc file somewhere though. Or maybe .profile? Does gnome-tweak-tool still work, or is it called ubuntu-tweak-tool or just tweak-tool now? This seriously used to be a checkbox, not some 22nd-century CS-archaeology doctoral thesis. What an embarrassment.
  • Windows: Make a .reg file full of magic hexadecimal numbers. You’ll have to figure out how on your own, because exactly none of that documentation is trustworthy. Import it as admin with regedit. Reboot probably? This is ok. This is fine.
  • iOS: Ive says that’s where the keys go so that’s where the keys go. Think of it as minimalism except for the number of choices you’re allowed to make. Learn to like it or get bent, pleb.
  • Android: Buy an app. Give it permission to access all your keystrokes, your location, your camera and maybe your heart rate. The world’s most profitable advertising company says that’s fine.

December 13, 2018

Looking Skyward

Filed under: awesome,beauty,documentation,flickr,future,life,science — mhoye @ 12:43 pm




Older Posts »

Powered by WordPress