English Has No Word For

The kind of detritus—rubber bands, thumbtacks, orphaned fasteners, possibly dead batteries—that collects in drawers.

A rock or brick left next to a locked door of a common area (the rear entrance of an apartment building, say, or a laundry room) so that people can prop the door open when their hands are full.

The unspoken agreement to leave a rock or a brick next to a locked door to a common area by all the people who use it.

The colors yellow or orange perceived as a single thing. (Perhaps “yorange”. If necessary we could call yellow “light yorange” and orange “dark yorange”.)

A concept that cannot be expressed because there is no language for it. Oops, sorry. “Ineffable”. Never mind.

Musical genres that haven’t been invented yet.

Relating to the bank of a creek. Specifically a creek and not a river.

Absent-mindedly scraping off the label of a beer bottle with your fingernail.

An insufficient amount of sand.

The quality of being small and requiring delicate manipulation—characteristic of earrings, watch knobs, pretty much all surgery.

Having a useless skill.

The opposite of photogenic.

The time between when your fuel gauge reads empty and when you actually run out of gas. This one in particular lends itself to metaphor.

The property of lending oneself to metaphor.

What sawdust feels like when rubbed between your fingers.

A song with only two chords.

Being just beyond the cusp of something.

Strikingly angular or strikingly rounded but definitely not in between.

Something that is not optional that really should be optional.

Something you have momentarily forgotten.

Tossing a ball in the air and catching it 99 times, then missing it on the 100th toss. Again, lending itself to metaphor.

Abandoning a train of thought.

Nostalgia for things you did not actually experience.

The fleeting realization that you too will someday die.

Posted in Mermaids | 3 Comments

For the Sake of the King

Write a computer program to play chess. It doesn’t have to play particularly well, just display an ability comparable to the average human being who has some aptitude for the game.

What is the point of that? Computers have been playing passable games of chess for almost as long as there have been computers. In 1996 IBM’s Deep Blue defeated the human grandmaster Gary Kasparov, surely moving chess-playing into the “solved” column of computer science. In hindsight, making chess a benchmark of artificial intelligence seems like a mistake. To play well one must be able to quickly enumerate a large but nevertheless finite and well-defined search space, something that computers are better at than human beings. Suggest something harder.

People playing chess in a park

But wait, I was serious about that “average human being” part. For example, a human being can play on all sorts of sets. The board can be a piece of black-and-white cardboard with a fold down the middle, an unrolled green-and-tan square of felt, or rigid expensive carpentry with mother-of-pearl squares. There can be wood pieces, plastic pieces. Novelty sets with chessmen in the shape of Civil War soldiers or J.R.R. Tolkien characters. Stylized two-dimensional shapes from a newspaper column, or those same shapes projected on the screen of a different chess-playing computer program. Make your program handle that.

That’s probably doable. Distilling the common essence of these various situations (thirty-two identifiable things, grouped into various equivalence classes, arranged on an 8×8 grid) is about state of the art for computer vision. It is straightforward to formulate a machine learning approach to a chessboard/not-chessboard classification. To identify individual pieces and their relevant spatial relationships to each other is harder, but let’s say it too is doable. “Merely” an engineering task. You may elect to put an image processing layer of sufficient accuracy in front of your traditional chess-playing program, in whose source code I could no doubt find strings like “bishop”, “board_position”, and “legal_to_castle”.

But the average person isn’t born knowing anything about bishops or board positions or castling. We don’t have the capacity for identifying knights (paradigmatically horses, but in failing that the most contextually horse-like things in a set of fourteen other things) hard-wired into our brains. So it is cheating to hard-code a concept of knight into your program, or even to have amassed pictures of knights as part of the training process for a computer vision system. (And what does “contextually” mean anyway?) No, you must write a program that when presented with a series of chess-like situations is somehow able to discern their significance.

(You are allowed to write a program learn to play chess by having the game explained to it. That is how most people learn. In this case, though, your program would have to understand human language.)

What is a chess-like situation? How do you steer your program’s attention towards those things in particular? Why does a person play chess? For enjoyment, intellectual challenge? To be sociable, or to satisfy a competitive urge? The earn masters’ points, to win, to prove yourself, to hustle money in Washington Square Park? How do you incline a machine to arrange these disparate concepts around a hub of black-and-white and thirty-two pieces? (And it must be thirty-two. If someone presents your program with a setup missing a queen, or with the pieces lying in a jumble in the middle of the board, it must be able to identify this as “not-chess” and fail to play in an appropriate manner.) I haven’t even asked you to build a robot to pick up chessmen and physically move them, even though that is what people do too, and also aren’t born knowing how to do it. How do you pick chess out from the general flow of life?

Posted in Those that have just broken the flower vase | Leave a comment

Whorf and Whoop

As a member of Generation X, I can’t stand Millennials. Their sense of entitlement, their social-media driven narcissism, their inability to put their smart phones down for one moment and have a conversation like normal human beings. But mostly what I mind is their having stolen the media attention that was once lavished on my cohort. Lifestyle puff pieces used to read deep cultural significance into our musical and sartorial tastes. The details are fuzzy now—something about latchkey children and flannel shirts—but there was a clear consensus that something was afoot. I’d say the peak of this attention came when I was in my early twenties, which honestly doesn’t seem that long ago. Then sometime in the interim attention shifted to these Millennials. I wonder what could have changed?

Pity the poor lifestyle section writer. You are charged with chronicling the minute tics of whatever demographic is currently comfortable with the latest technology and in reasonable physical shape. The photographer sent to accompany you has it easy (“Make sure to get some pictures of pretty girls.” “No problem, boss!”), while you are charged with conveying the meaning of it all. What to do? You can latch onto some other current element in the public consciousness—divorce, Vietnam, the internet—and assert a connection. If you are in America, you can take the name of the last President, append “-era”, and pretend your subjects are representative of whatever that was. Sometimes, exhausted, you draw attention to an arbitrary detail and hope it just kinda reifies itself.

The greatest example of this is is a 2009 New York Times lifestyle piece in which a writer clearly desperate for an angle took a stroll around Williamsburg, noticed that a number of the men had pot bellies, and tried to spin it into a tale of the evolving Millennial physique. The headline he came up with was “It’s Hip to be Round”, but a more honest one would have been “Young Men in Brooklyn Have Normal Human Bodies”.

The latest bit of arbitrary generational signification to make the rounds is the “Millennial Whoop”. This is the “Wa-oh-wa-oh” backup singer riff that has shown up in a lot of pop songs in the past decade or so. The clearest example may be Katy Perry’s “California Gurls”, but it’s not hard to hear once you’re cued in to it.

Given that this is just movement between a perfect 5th and a major 3rd, it’s surprising that it’s distinctive enough to register, but it does. After listening to a few of the clips linked in the article above, I am convinced that the Millennial Whoop is indeed a thing, and what’s more, it actually deserves a demographic moniker. Musical forms really are generational characteristics. Musicians naturally copy other similar musicians, who tend to be about the same age. Style is consensus and stylistic adjacency lines up with adjacency in time. Slang works the same way. In this manner, kids today really are different.

As a structural observation about music this is interesting if not terribly surprising. (Imagine the alternative: nothing ever changes.) The trick is that once you’re aware of it, it is difficult not to read some significance into it, just as it’s difficult not to read significance into phenomena less obviously characteristic of a generation. To its credit, the linked article mostly avoids delving into these particular tea leaves, but in its final paragraph even it feels compelled to name check climate change, economic injustice, and racial violence as things from which the diatonic scale can provide refuge. And of course in the comments section, anyone who tries to judge this innovation inevitably sees it as a bad thing, a fall from that Edenic past when girl groups sang “Sha-la-la” instead of “Wa-oh-wa-oh”. This is a ratchet effect familiar to anyone foolish enough to wade into the comments section on YouTube.

Reading unwarranted cultural meaning into arbitrary schemes of signification in language is the apophenic sin linguists call Whorfianism, and we never tire of beating up on people who fall for it. Reading significance into a purely structural move such as this is a kind of musical Whorfianism, but the concluding paragraph of the Millennial Whoop article gives a hint as to why this temptation is so hard to resist. You’ve just written a short essay identifying a certain musical pattern, and now you want to end on a punchy note.

So it is that the Millennial Whoop evokes a kind of primordial sense that everything will be alright. You know these notes. You’ve heard this before. There’s nothing out of the ordinary or scary here. You don’t need to learn the words or know a particular language or think deeply about meaning. You’re safe. In the age of climate change and economic injustice and racial violence, you can take a few moments to forget everything and shout with exuberance at the top of your lungs. Just dance and feel how awesome it is to be alive right now. Wa-oh-wa-oh.

This is well-written. But it is well-written because it doesn’t come to the more accurate if anti-climactic conclusion of “so that exists”. It pulls back to put things in a broader human context. As humans, we may construct our story-telling tools out of systems of arbitrary signification, but to be compelling the stories we tell cannot themselves be arbitrary. They have to be about us.

Posted in Mermaids, Those drawn with a very fine camel’s-hair brush | Leave a comment

Everyday Heroes’ Lives Matter

If an adult man with diminished mental capacity sits down in the middle of the street, acting confused and belligerent, it might be necessary to call the police. Ideally, the police would calm the person and get him out of harm’s way. That they manage to perform this kind of task day in and out without anyone getting hurt is one of the reasons we are grateful for their service.

Law enforcement’s job is done once they’ve gotten the guy out of the street, but that isn’t where the story ends. Ideally they would then turn the man over to a facility where he could be looked after by level-headed compassionate people who made his well-being their concern. People like Charles Kinsey.

Once again we have video of an unarmed black man being shot by police. As with Philando Castile, the motorist recently killed in Minnesota, Kinsey complied with police orders. It is difficult to imagine what he could have done differently in that situation in order not to get shot. As we’ve come to say, he “did everything right.” But in this case that doesn’t just mean he refrained from any sudden movements.

Watching this video, I don’t just feel sorry for Kinsey, I admire him. He didn’t have to go out into that street. He could have hung back and waited for the cops. When things spiraled out of control, he kept his head, communicated clearly, and did everything he could to deescalate the situation, all while still trying to protect a confused and vulnerable man. We should all be as able to handle ourselves in a crisis as well. Charles Kinsey showed exactly the kind of courage, professionalism, and everyday heroism we expect from a police officer.

I have also been in situations where I had to care for someone who was confused, belligerent, and a possible danger to himself and others. A couple of times I had to call the police, who helped me to the best of their ability. And while I was grateful for their assistance, in the end there was little they could do. We’re law enforcement, they told me flat out. We’re not nurses or social workers. If we tried to be we couldn’t do our job. In the end the people I needed the most weren’t cops, but nursing home attendants. On a day-to-day basis these are the people who make a difference for me and the people I’m responsible for, and they appear to do basically the same work as Charles Kinsey.

Cops have a job that most of us don’t want to do. In part because they subject themselves to possible violence, even risk getting killed. But they do a lot more than that. They handle drunks, domestic arguments, and schizophrenics who shouldn’t be living on the street, but there they are so somebody has to step in when they start yelling at passersby. Police handle situations that never rise anywhere near the level of violence, but still lie at the unpleasant edges of society where the social norms that get the rest of us through the day have broken down. There are a few other professions in this space. EMTs and social workers come to mind—and also behavioral therapists at halfway houses for mentally impaired adults. It’s not a stretch to say that Charles Kinsey and the North Miami police department are doing different aspects of the same job. (Considering how full our jails are of the mentally ill, not much of a stretch at all.) This week Kinsey got shot while doing his job better.

Posted in Belonging to the emperor | Leave a comment

IDEs are Code Smell

A pile of various hand toolsPretty much every computer programmer uses an Integrated Development Environment. Pretty much everyone has their favorite: Eclipse, IntelliJ, Sublime Text, Emacs, Vim. There will never be consensus on which is best. Fortunately there doesn’t have to be. The wide variety of work environments in use in the open source world has forced language designers to invent standard, robust, IDE-agnostic build environments. Java has Maven and Maven archetypes. Javascript has npm and Yeoman. Scala has sbt. These tools allow you create, build, and manage the dependencies of your project without ever touching an IDE.

IDE-independence has a lot of advantages. Command-line only environments play nice with continuous build systems. They make it easier to on-board new developers by removing IDE-specific tweaks that often take root as undocumented lore. They tend to be more stable, more future-proof, and more popular than IDE-specific build techniques. (Which makes a big difference when you have to go ask a question on StackOverflow.) Also, developers have their favorite tools for a reason, and when you force them to use something else it hurts their productivity.

When starting a new software project you should adopt a strict IDE-agnostic policy. The rule is “I shouldn’t be able to tell from anything you check in to source control which IDE (if any) you are using”. Putting this policy into place isn’t hard–it’s just a matter of using the right tools to create a fresh project. After that, things pretty much take care of themselves. A little up-front standardization wards off a lot of build environment technical debt down the line.

Posted in Those that have just broken the flower vase | 3 Comments

I Dream of Digits

Boltz the robot can read digits. If you hold up a handwritten digit in front of him, Boltz will say it aloud. “Two. Five. Two. Seven. Zero.” He is as good at this as a person is. The only digits he gets wrong are ones that are so sloppily written that human beings also find them hard to decipher.

Blue and white NAO robot

Boltz’s “eyes” are cameras that transform handwritten digits into 28×28 grayscale bitmaps. These bitmaps are then sent to a neural network model that has previously been trained on a large set of bitmap/digit-name pairs. In the course of training, the model sets an array of numerical weights which define a function that maps a 28×28 bitmap to one of the categories 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9. This is explained in more detail in the video below by Geoffrey Hinton, the computer scientist who pioneered this particular model.

Sometimes Boltz goes to sleep. His head droops and his camera eyes shut off. Occasionally you’ll hear him quietly name a digit while in this state—“Three…Five…Eight…Two…Three…”—even though he is clearly not looking at anything. In these cases we say that Boltz is dreaming about the digits he saw during his waking hours.

Now “dreaming” is just a fanciful turn of phrase. In reality we don’t know what Boltz is doing. Maybe he stores bitmaps that he has previously seen and later sends them to his digit recognition software, evoking a vocalization just as when the actual picture was in front of him. Or perhaps instead of memorizing exact bitmaps (verbatim, as it were), Boltz is generating an image of a digit. One of the features of Hinton’s model is that it can be run “backwards”: instead of taking a bitmap as input and producing the name of a digit as output, you can start with a digit and produce a bitmap. The fine details of the image are determined randomly, but the array of weights used in recognition guides the random selection so that the end product looks like the digit in question. So Boltz might feed 5 into the back-end of the model, and it would generate an image that—even though nothing exactly like it had ever been produced before—would nevertheless be recognizable to both human and robot as a “5”. Perhaps it is this novel image the sleeping Boltz is then recognizing and saying aloud.

So far we’ve considered that when Boltz dreams his “mind’s eye” either resees an old image or generates a new one. But there is a third possibility. Perhaps, just as in the Hinton-style dream scenario, Boltz starts off by randomly selecting a digit, except then instead of generating an image, he simply says the digit aloud. The output of the random digit generator is sent directly to his speech unit. Boltz is just dreaming the idea of a digit. At no point is there a corresponding image.

If all we had to go on was Boltz talking in his sleep, we’d have no way to distinguish these three processes. A “five” sounds like a “five” sounds like a “five”. So maybe we teach Boltz to draw. We enable him to pick up a pencil and make shadings on a 28×28 grid that correspond exactly to the bitmaps. We then might ask Boltz to draw what he “saw” when he said a certain number while sleeping. We could use these drawings to distinguish between memorized and imagined digits because only the former would exactly match images we had originally presented. But if the drawn digits were novel that would only tell us that they were created by running the recognition model backwards—it wouldn’t tell us when this occurred. Maybe it happened when he was asleep, and Boltz is recalling the generated bitmap from memory. Maybe nothing was generated when Boltz was asleep and he ran his model backwards only after we asked him to draw what he saw. Or maybe Boltz generated a novel image when he was asleep, but only remembered the output of his recognition unit in response to it, so when we ask him to draw what he saw, he generates a different image.

Finally, in a last-ditch attempt to determine what is going on here, we endow Boltz with full powers of comprehension, introspection, and reason. We ask him to draw one of the digits he mentioned in his sleep and then ask him “The digit you just drew—is that what you actually saw, or is it something you’re inventing on the spot right now?” Boltz considers this question for a minute, and then we hear his servo motors whir as he arranges his shoulders and arms into a shrug. It’s adorable.

Posted in Mermaids, Those that have just broken the flower vase | 2 Comments

I Dream of Motorcycles

“Initially” we never hear noises and complexes of sound, but the creaking wagon, the motorcycle. We hear the column on the march, the north wind, the woodpecker tapping, the crackling fire.

It requires a very artificial and complicated attitude in order to “hear” a “pure noise”.

—Martin Heidegger, Being and Time

If you were building a machine to recognize different sounds you would start by setting up a microphone in a field. The audio signal would be digitized, deflections of a membrane translated into voltage levels, and those translated into numbers as a function of time. A computer could then process the numbers. The computer would of course have no concept of what the numbers meant. If a tree fell in the forest next to the field with no one to hear it, it would generate a string of numbers like anything else. This is a “pure noise”.

A microphone framed against a sky with clouds.

For your computer to be useful, you’d have to train it to make distinctions, to categorize the various strings of numbers. Current state of the art would have you collect many thousands of audio samples labeled “north wind”, “woodpecker tapping”, “crackling fire”, and “motorcycle”. Given sufficient examples, you could build a statistical model that mapped a given sequence of numbers to one of these categories. The mapping would be inexact—the statistics would embody a fair amount of guesswork—but that’s fine. That’s life.

There is a notion of sequence here. First there is the raw microphone signal, then there is the sorting into categories. Heidegger also proposes an ordering. (The tipoff: “‘Initially’” gets shudder-quoted.) But he orders things the other way: first there is the motorcycle etc., and then only later—at the cost of a “complicated attitude”—do we have access to the raw signal.

This squares with my experience. Where I sit right now, out in public, carrying on side conversations as I write this, I hear people I know talking first. Only with some effort could I mentally transform that into pure sound that happens to be meaningful. I look around the room and there are people I know, there is the TV, there is the chair, and so on. To see these familiar things as patches of color and spatial relationships from which I could infer daily life—that’s weird. It is an artificial and complicated attitude that I can’t pull off. But then I am a human being, not an instrumented microphone.

There are two options:

  1. Machines are like humans. Raw input precedes meaningful input in some temporal or logical fashion. If I don’t hear the the pure noise, that is only because “hearing” is something that occurs after a fair amount of non-conscious processing has occurred.
  2. Machines are not like humans. Humans can start with a semantic whole—creaking wagon, woodpecker, motorcycle—and work backwards to raw input as needed. Or at least convince themselves that they have done so.

Option (1) appeals to me. My paid job is to make machines appear convincingly human-like, so any congruence works to my advantage. Option (2) seems like a delusion of philosophical idealism. The way to emulate human hearing is to start with a microphone in a field and work from there.

And yet, and yet. Here’s the counterexample. I am dreaming. I am dreaming that I hear a motorcycle. There is no raw external signal: it’s all in my head. Where did it come from? Did my subconscious create the appropriate set of air molecule vibrations to correspond to the sound of a motorcycle engine? If I dream that I see a motorcycle, do I first (“initially”) mentally compose patches of color that correspond to what would occur if a motorcycle were to roll into my visual field? I doubt my ability to do that. Instead, I imagine I dreamed “motorcycle” then filled in the details later, probably after I woke up.

Machines today are not like humans. We dream in concepts.

Posted in Fabulous ones | 4 Comments