Sensual Experience
Modern day gamemakers are constantly working on higher-resolution, more realistic graphics; more immersive sounds—but they’re a long long way off real life.
Pressing the “W” key to run forward as a graphic of a hungry tiger bounds behind you, just doesn’t seem quite as sensual as running frantically across the savanna with your own legs, breathing in huge gasps and pumping your arms as the sun beats down on your shoulders, the grass brushes your shins, and the air whips around you with the wind of your passage.
Don’t mistake me for a luddite; I’m not saying the technology can’t get that good. I’m saying it hasn’t gotten that good yet.
Failing to escape the computer tiger would also have fewer long-term consequences than failing to escape a biological tiger—it would be less a part of the total story of your life—meaning you’re also likely to be less emotionally involved. But that’s a topic for another post. Today’s post is just about the sensual quality of the experience.
Sensual experience isn’t a question of some mysterious quality that only the “real world” possesses. A computer screen is as real as a tiger, after all. Whatever is, is real.
But the pattern of the pseudo-tiger, inside the computer chip, is nowhere near as complex as a biological tiger; it offers far fewer modes in which to interact. And the sensory bandwidth between you and the computer’s pseudo-world is relatively low; and the information passing along it isn’t in quite the right format.
It’s not a question of computer tigers being “virtual” or “simulated”, and therefore somehow a separate magisterium. But with present technology, and the way your brain is presently set up, you’d have a lot more neurons involved in running away from a biological tiger.
Running would fill your whole vision with motion, not just a flat rectangular screen—which translates into more square centimeters of visual cortex getting actively engaged.
The graphics on a computer monitor try to trigger your sense of spatial motion (residing in the parietal cortex, btw). But they’re presenting the information differently from its native format —without binocular vision, for example, and without your vestibular senses indicating true motion. So the sense of motion isn’t likely to be quite the same, what it would be if you were running.
And there’s the sense of touch that indicates the wind on your skin; and the proprioceptive sensors that respond to the position of your limbs; and the nerves that record the strain on your muscles. There’s a whole strip of sensorimotor cortex running along the top of your brain, that would be much more intensely involved in “real” running.
It’s a very old observation, that Homo sapiens was made to hunt and gather on the savanna, rather than work in an office. Civilization and its discontents… But alienation needs a causal mechanism; it doesn’t just happen by magic. Physics is physics, so it’s not that one environment is less real than another. But our brains are more adapted to interfacing with jungles than computer code.
Writing a complicated computer program carries its own triumphs and failures, heights of exultation and pits of despair. But is it the same sort of sensual experience as, say, riding a motorcycle? I’ve never actually ridden a motorcycle, but I expect not.
I’ve experienced the exhilaration of getting a program right on the dozenth try after finally spotting the problem. I doubt a random moment of a motorcycle ride actually feels better than that. But still, my hunter-gatherer ancestors never wrote computer programs. And so my mind’s grasp on code is maintained using more rarefied, more abstract, more general capabilities—which means less sensual involvement.
Doesn’t computer programming deserve to be as much of a sensual experience as motorcycle riding? Some time ago, a relative once asked me if I thought that computer programming could use all my talents; I at once replied, “There is no limit to the talent you can use in computer programming.” It’s as close as human beings have ever come to playing with the raw stuff of creation—but our grasp on it is too distant from the jungle. All our involvement is through letters on a computer screen. I win, and I’m happy, but there’s no wind on my face.
If only my ancestors back to the level of my last common ancestor with a mouse, had constantly faced the challenge of writing computer programs! Then I would have brain areas suited to the task, and programming computers would be more of a sensual experience...
Perhaps it’s not too late to fix the mistake?
If there were something around that was smart enough to rewrite human brains without breaking them—not a trivial amount of smartness—then it would be possible to expand the range of things that are sensually fun.
Not just novel challenges, but novel high-bandwidth senses and corresponding new brain areas. Widening the sensorium to include new vivid, detailed experiences. And not neglecting the other half of the equation, high-bandwidth motor connections—new motor brain areas, to control with subtlety our new limbs (the parts of the process that we control as our direct handles on it).
There’s a story—old now, but I remember how exciting it was when the news first came out—about a brain-computer interface for a “locked-in” patient (who could previously only move his eyes), connecting control of a computer cursor directly to neurons in his visual cortex. It took some training at first for him to use the cursor—he started out by trying to move his paralyzed arm, which was the part of the motor cortex they were interfacing, and watched as the cursor jerked around on the screen. But after a while, they asked the patient, “What does it feel like?” and the patient replied, “It doesn’t feel like anything.” He just controlled the cursor the same sort of way he would have controlled a finger, except that it wasn’t a finger, it was a cursor.
Like most brain modifications, adding new senses is not something to be done lightly. Sensual experience too easily renders a task involving.
Consider taste buds. Recognizing the taste of the same food on different occasions was very important to our ancestors—it was how they learned what to eat, that extracted regularity. And our ancestors also got helpful reinforcement from their taste buds about what to eat—reinforcement which is now worse than useless, because of the marketing incentive to reverse-engineer tastiness using artificial substances. By now, it’s probably true that at least some people have eaten 162,329 potato chips in their lifetimes. That’s even less novelty and challenge than carving 162,329 table legs.
I’m not saying we should try to eliminate our senses of taste. There’s a lot to be said for grandfathering in the senses we started with—it preserves our existing life memories, for example. Once you realize how easy it would be for a mind to collapse into a pleasure center, you start to respect the “complications” of your goal system a lot more, and be more wary around “simplifications”.
But I do want to nudge people into adopting something of a questioning attitude toward the senses we have now, rather than assuming that the existing senses are The Way Things Have Been And Will Always Be. A sex organ bears thousands of densely packed nerves for signal strength, but that signal—however strong—isn’t as complicated as the sensations sent out by taste buds. Is that really appropriate for one of the most interesting parts of human existence? That even a novice chef can create a wider variety of taste sensations for your tongue, than—well, I’d better stop there. But from a fun-theoretic standpoint, the existing setup is wildly unbalanced in a lot of ways. It wasn’t designed for the sake of eudaimonia.
I conclude with the following cautionary quote from an old IRC conversation, as a reminder that maybe not everything should be a sensual experience:
<MRAmes> I want a sensory modality for regular expressions.
- Serious Stories by 8 Jan 2009 23:49 UTC; 126 points) (
- 31 Laws of Fun by 26 Jan 2009 10:13 UTC; 100 points) (
- The Fun Theory Sequence by 25 Jan 2009 11:18 UTC; 95 points) (
- The Steampunk Aesthetic by 8 Mar 2018 9:06 UTC; 73 points) (
- Fun Theory in EverQuest by 5 Feb 2018 20:26 UTC; 33 points) (
- Emotional Involvement by 6 Jan 2009 22:23 UTC; 26 points) (
- Visions of Summer Solstice by 21 May 2018 5:50 UTC; 23 points) (
- 18 Jun 2012 11:38 UTC; 18 points) 's comment on Local Ordinances of Fun by (
- [SEQ RERUN] Sensual Experience by 8 Jan 2013 6:30 UTC; 6 points) (
- 16 Nov 2021 1:00 UTC; 4 points) 's comment on A Defense of Functional Decision Theory by (
Writing a complicated computer program carries its own triumphs and failures, heights of exultation and pits of despair. But is it the same sort of sensual experience as, say, riding a motorcycle? I’ve never actually ridden a motorcycle, but I expect not.
It’s interesting, I’d say that programming, while perhaps not a sensual experience, is engaging in a way that many other intellectual activities are not. Compare writing code to working out a math problem. They are both complex logical activities but there is a critical difference: programming has a strong element of interaction. You write a subroutine, run it, look at the results, repeat. If you made a mistake the machine will tell you.
I’ve spent about equal amounts of time on programming and mathematics, but I consider myself far more proficient at programming. I’m confident that I can solve most typical programming problems, while even basic math problems are far more intimidating and error-prone (how do you calculate the integral of 1/(x^2+c^2) again...? something about the residue theorem?). I believe this asymmetry is due to the fact that one can “interact” with computer programs.
Nitpick:
Isn’t it the nose, rather than the tongue, that’s responsible for much of the sensory variety in food? (Stuff doesn’t taste the same when you have a stuffed nose, for example.)
Some people with synesthaesia can “feel” numbers and thus perform amazing calculations. It would only make sense to have something similar for other tasks, like computer programming?
I feel like practice has allowed me to develop a modality for code (really, for informational relationships, control flow, and the like, which includes other things like Bayes-structure) which allows programming to be mildly sensual, and the richness of the aesthetic terms used by hackers makes me think this must be fairly common. Still, of course, not only is the sensation much weaker than anything I have natural wetware for, but the lack of a direct interface between the modality and the actual code makes the experience more like reading a good description of driving a motorcycle than driving a motorcycle.
Speculatively, maybe nerdiness involves a high ability to turn new things into sensual experiences. Jumping off from the point about sex, this could help explain the apparent higher frequency of kinkiness among nerds.
[Citation needed]
please :)
Anonymous, that reminds me of some anecdote by Feynman where he has complex mathematical ideas described to him by young students. He wouldn’t fully understand them, but he would imagine a shape, and for each new concept he’d add an extra bit, like a squiggly tail or other appendage. When something didn’t fit in right, it would be instantly obvious to him, even if he couldn’t explain exactly why.
Improvised sensory modality for maths?
Not just novel challenges, but novel high-bandwidth senses and corresponding new brain areas. Widening the sensorium to include new vivid, detailed experiences. And not neglecting the other half of the equation, high-bandwidth motor connections—new motor brain areas, to control with subtlety our new limbs
While I do feel a bit embarassed to do so, I still feel that I should plug my short story “In a Billion Years”, as it seems to be a kind of an example of the thing Eli is talking about. (Apologies if this isn’t considered appropriate.)
I’ve spent about equal amounts of time on programming and mathematics, but … I’m confident that I can solve most typical programming problems, while even basic math problems are far more intimidating and error-prone … I believe this asymmetry is due to the fact that one can “interact” with computer programs.
Quite true. This is one of the reasons there’s so much interest in developing interactive proof assistants (HOL, Coq, Isabelle/Isar...) so that they can be used for “ordinary” mathematics. Not everyone likes both programming and math but for those who do, developing formalized mathematics on a proof assistant is a very engaging and even addictive experience.
“By now, it’s probably true that at least some people have eaten 162,329 potato chips in their lifetimes. That’s even less novelty and challenge than carving 162,329 table legs.”
Nitpick: it takes much less time and mental energy to eat a potato chip than to carve a table leg, so the total quantity of sphexishness is much smaller.
While I do feel a bit embarassed to do so, I still feel that I should plug my short story “In a Billion Years”, as it seems to be a kind of an example of the thing Eli is talking about. (Apologies if this isn’t considered appropriate.) When you write like that, plug away!
Ettinger’s “Man into Superman” spent a great deal of time on this, though most of the book, if I remember correctly (I read it once, 25 years ago), was about cryogenics. He spent a whole chapter talking about changes in sexual modes, not just rewiring the brain but adding new organs, too.
Oops, I meant cryonics, not cryogenics.
Laugh. Your whole body’s sense of touch, taste, smell, sight and hearing are part of sexual experience, at least good sex. . .
I’d like to interrupt this discussion to ask a question.
A typical “silly question” to ask a theist is, “If heaven is so great, why not kill yourself right now, so you can get there immediately?” The usual answers involve things like “suicide is a sin” and such. (Incidentally, many Islamic suicide bombers use exactly that reasoning to justify their participation in such activities.)
I have a similar question. If you are sufficiently dissatisfied with life in the world as it is, does it make sense to sign up for cryonics and then kill yourself, hoping to “wake up” in a better future, rather than continuing to live in the present until some thing else causes your death?
I think it depends on whether you think another 60 or 20 (or whatever) years of dissatisfying existence is better than dying now with a 95% (or whatever your estimate is) of never being revivified.
Or the other question of “why don’t you kill babies while they’re still innocent and guaranteed to go to heaven?”...
Reading that, I thought: “I bet people asking questions like that is why ‘Original Sin’ got invented”.
Of course, the next step is to ask: “Why doesn’t the priest drown the baby in the baptismal font, now that its Original Sin is forgiven?”
…
My first thought on reading that was “murder is a sin”, which makes the priest seem unwilling to risk hell to save the children.
(Incidentally, I have seen actual attempts at answering that question, mostly revolving around theories as to why God didn’t simply have us be born directly into heaven.)
Yes—to which I’d say “aren’t christians supposed to sacrifice themselves for others? what—you wouldn’t even sacrifice yourself (a known sinner) to guarantee that these babies go to heaven? What if your one life could save ten babies? twenty?...”
Indeed, hence my noting it “makes the priest seem unwilling to risk hell to save the children” in my comment.
However, if we’re going to actually discuss the problem, I’m going to point out that this whole system was supposedly set up by a benevolent superintelligence. Attempting to subvert it is, presumably, contrary to your own value system, even if no-one can quite articulate why.
In other words: if it sends you to Hell, God wants to discourage it. God is all-knowing, all-powerful and Friendly; do you really want to fight him on this?
Please don’t train the Christians to shut up and multiply. The holy war that inevitably followed would destroy us all.
I was wondering who would be the first to say that. That’s why I specifically talked about the signal sent out from the sex organs and contrasted it to the signal from the tongue.
Yes, if you count the whole sexual experience, it can be more complicated. But the sad fact of the matter is that Cosmopolitan has to offer 73 different bits of sex advice every month, and long-term couples have to go to such lengths to prevent sexual boredom, just because creating sexual variety is so much more difficult than sprinkling cinnamon on an apple. If our taste buds were as complexity-impoverished as our sex organs, restaurants would also have to drip hot wax on your tongue just to keep you interested.
Eliezer is wrong about sexual boredom here.
It is not that couples get bored with their sexual activities because there is no variety in terms of positions, speeds, gadgets etc.....
People obviously get bored when they are long term couples because evolution has created us so that we change partners somewhat often. (Buss 2004)
The very same sex position, with the same general movements feels fantastically better when partner varies than any position would by keeping the same partner for very long.
Our minds are tuned to enjoy most something near serial monogamy with betrayal.
With all this, my point is that the complexity of an action is not what determines the size of the fun space for it. A point I think I share with David Pearce, for instance.
Let me be clear about sex.
I don’t think our minds were engineered to have fun with a tessarect or a rubik’s cube because it is complex. I think the amount of fun we have is proportional to the likelihood that an analogous problem would get us higher up in the status hierarchy in the savannah, say, a problem about how to hunt something.
This is backed up by experiments in which we find it easier and funnier to detect cheaters drinking while underage, as opposed to problems which are exactly as complex, but use only abstract symbols. (Tooby and Cosmides, 19XX)
So the fun triggers in my brain do not care if my sex life is complex, varied, subtle, within a specific human pair. My happiness is proportional (since I am a male) to how many girls, times 1⁄2 their social status, times 1⁄2 how much they love me, and so on and so forth.
Thus I’m prone to believe that fun space is, to a great extend, independent of complexity space, which is awesome news, because it would take less bits to have the same amount of fun.
And there’s endless variation. An enthusiast might look up their favourite sex position on Wikipedia and try out different variations for the most fun for them and whoever decides to be their partner!
One needs not have gadgets, it could be as sample as making use of ones environment or repurposing ‘tech’
@Doug: By the logic of shutting up and multiplying, it does make moral sense if your life is that awful, you’ve got strong enough confidence in both the preservation process and that someone will create a Friendly AI to revive you, and there isn’t anything left you can do for other people.
I mean, if I was wrinkling up like a prune from old age and my brain was rotting to the point where I had nothing special left to contribute, I’d prefer to be cryonically suspended immediately rather than wait another 10 years to die of Alzheimer’s.
However, under the present legal system, all suicides get autopsied which is incompatible with cryosuspension, not to mention many life insurance policies. So no, you can’t actually do this.
Though if the world manages to continue that long, it’s a law that I hope will change before I get an opportunity to die of Alzheimer’s. They might be able to retrieve lost memories after bringing me back, but the dying process doesn’t sound like fun. Regardless of the morality, it’s a fact that death doesn’t scare me nearly as much as old age.
O_O
This closely pattern-matches ableist attitudes like “$disability is worse than death!”, where people with $disability shrug and say “Enh, we’re good. We can’t do $thing, but we can’t be knitting prodigies either—and neither can you, and you’re not whining about it all that much.”
Admittedly, losing abilities is no fun, and mental abilities are genuinely good and important (though how much is not that clear—people with Down’s are happier), and aging then dying is strictly worse than just dying… but still, scarier than death?
I’d interpret “old age” as “(neurological [and therefore identity] breakdown as a result of common diseases from) old age”.
Certain forms of disability scare me more than death does. They might or might not turn out, after the fact (heaven forfend), to be so awful that I would rather die than continue living with them; but scariness-wise? Oh yes. A smaller set of disabilities, mostly mental ones, seem to me to be so horrendous relative to my values that even if I think about them in a way that renders fear per se moot, I think I’d rather die than suffer them.
I would emphasize here the “There isn’t anything you can do for other people aspect”.
If your life is awful, and you can exchange it for a life working towards whichever transhuman goal suits you best: “FAI” “Cognitive Enhancing” “Avoiding Catastrophic Risk” “Biological Immortality”, then you may have a reason not to be packed no ice yet.
Even if you think your skills are not suited to helping these areas, you could become the assistant of someone whom you think does, rendering their time more productive towards your goals.
...perhaps in the country in which you are currently living. There are other countries, with other laws… if this is a choice that actually matters enough to you.
...alternatively, you can take some time to make it not look like a suicide.
“long-term couples have to go to such lengths to prevent sexual boredom”
On this subject I generally remark that if you are so bored, then you are 1 - living and sleeping with the wrong person and/or 2 - not communicating your sexual and emotional needs well. That you might communicate them well but they are not heard or acted upon takes you back to 1. If you are communicating well, and with the right person: wow. It can be wow all the time.
Too few parameters, too few dimensions, just amplitude/quality and duration. If there were more you’d have to be smart to find it interesting. Why is thinking so complex and multi-dimensional? You actually have to be smart to find it interesting. Does evolution select for people who find thinking difficult? It kind of seems so. Is there a benefit to that? Or is the difficulty inevitable, like lifting something heavy has to be difficult, require more effort by design (of the universe). Surely even a semi-smart AI from the lowest rungs of mind-design space would be bored to tears by our, er, “thought” processes...
because creating sexual variety is so much more difficult than sprinkling cinnamon on an apple.
A friend of mine, who shall rename nameless, likened monogamy to eating chocolate cake and nothing else for the rest of your life. . .
frelkins: in that vein what if we could flip the switch in the brain that usually only flips when you are sleeping with a new partner? isn’t this half of humanties sex problems gone in one shot? it seems to me that the realm of sex is the one in which it is most obvious that desires shaped by natural selection are not in line with actual happiness and fulfillment.
What’s a tiger, real or virtual, doing on the savannah?
Eating penguins.
@nazgulnarsil
“flip the switch in the brain”
I guess you mean undo the oxytocin & vasopressin effects that caused pair bonding? Get that old dopamine, adrenaline & serotonin flowing wild & free, or whatever the ultimate mechanism is proven to be? I suppose we could give men little vials of vasopressin suppressors to inject themselves with so that it would “feel new” each time?
Evolution appears to totally suck. As a man, you want it somewhat new (vasopressin suppression) but as a woman, I actually like it better when it’s not new—I like to feed that oxytocin pathway! I wanna get attached to you! Attached sex is better for me!
At first that seems like a disconnect, but actually men want the relationship too, just as much as women: you want me attached to you—because you wanna know that you’re the one who knocked me up, nobody else. And you want me to feed the oxytocin pathway, ’cuz you want me to have as much sex with you as possible, so as to knock me up. Which is fine with me, as my ultimate goal is to get knocked up, right?
“desires shaped by natural selection”
Modern life and contraceptives aside, that monkey brain is strong, sure. The question is of course which monkey? Socially we seem sometimes very chimp, all promiscuity whenever we can sneak outta the watchful eyes of the social order.
Intellectually however we sometimes seem more orangutan, which is interesting, as boy orangutans seem to have 2 techniques depending on life-stage. In one, they call-n-wait for chicks to come; win the other, they’re happy to sneak-n-rape.
Gorillas of course are all-harem all-the-time with the dominant male guarding his females. Before the arrival of Christianity, doesn’t it seem that most human societies were frankly more gorilla? Even Islam, ancient Judaism, ancient Hinduism, ancient Confucianism, and Yoruba make clear polygyny’s cool, wives or concubines—whatever.
The issue is reconciling that with our current lifestyle—as Robin says, being the best humans we can be.
frelkins, have you read “Demonic Males: Apes and the Origins of Human Violence”? I have a big review with perhaps too much summary here. I’m certainly not an authority, so I encourage you to read it yourself.
I’m not sure if my lack of similar experiences when programming is due to my low programming talent or is linked to my poor sense of taste and smell. Though I suppose there could be a common cause for all of them.
Technically, most life insurance policies do pay out in the event of suicide, as long as the policy is at least two years old.
Say what?
I would love a sensory modality for code.
@TGGP
Oh no. Males aren’t “demonic;” men are great. Yay, men. I find that whole thing quite overstated, frankly.
Sir Isaiah Berlin is so eloquent when he discusses the space of human action in his essay on Historical Inevitability. The space for human action may be more limited than we at first think; but it is not entirely removed. Value pluralism exists, but that doesn’t mean we can’t move forward once we have acknowledged and analyzed that, as Charles Blattberg argues.
Because we share the common ancestor and are probably stuck with monkey brains doesn’t mean we cannot be better people. It just means that we have to devote ourselves to working harder to end self-deception, to devise institutions that work with what inherent structural incentives we may have, to reconcile and communicate. You know, overcome bias.
Elkins, the authors make a similar point in the book. I think you might like it.
You want to… what? Change your brain so that you like programming more? Huh?
Riddle me this, sensei:
What type of video game would a computer programmer whose most sensual experience was programming computers?
That’s right, he’d program computer games about programming computer games.
In the words of /b/:
FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
Why on earth was this downvoted?
The 4Chan meme may have something to do with it.
Hmm. Is there some unspoken community norm against using internet memes? I found it quite effective, personally.
Well, I still think it made a valid point about being careful about engineering humans and other optimizing.
What I said could be easily boiled down to “What’s so great about programming?” To which one could easily reply, “What’s so great about running from tigers?”
The point is that programming really is an awesome intellectual activity that could help the human race survive so we might want to maximize the sensuousness of that, but if someone just wants to code that’s just as useless as wanting to run from tigers (If that, say lead you to find and taunt tigers.) or having a huge amount of sensuousness involved in running (If running doesn’t help survival much.). Ideally, you want to engineer human minds so that they can focus with their full minds on their own terminal goals, which is a super hard problem.
But no one here seems to like it when I put things the way I did in the post. It may be a mental hygiene thing, trying to avoid the illusion of transparency. It may be that the tone is slightly antagonistic, although only in good fun. And it might be a dislike some members have for memes.
I stand by the post, but there’s also some fuzzy thinking/ logical rudeness going on as sensuousness isn’t the same thing as enjoyment.
(Why on earth would you ask that about a 2.5 year old comment (as opposed to, say, upvoting, if you like the comment)? Downvoted for introducing noise.)
To me this points to the fact that sensual experience is overrated. Not that is useless, of course. I like eating chocolate, and many other “sensual experiences”, and I wouldn’t want to lose them. But looking at games—well, I tend to find modern games more boring and less pleasant to play than good-old games of before, because they focus so much on making realistic graphics and thrilling music, and much less on making a game which is actually fun to play. Comparing comparable games, I enjoyed Planescape: Torment much more than any more modern computer role-playing game that has much better graphics than 640x480 2d tiles.
But well… that could also be a case of preferring the games I played as a child/teenager to the ones I play now, which is quite a general bias.
But there is another more dramatic view of this : the kind of games I enjoy the most are roleplaying game (the pen and paper version), in which sensory input is very low. We do add a bit of music sometimes (but not that often), and having a nice rulebook with pretty (or scary) pictures does add to the game, sure. Sensory input is not meaningless. But it’s not, at least to me, the most important part of a game—or even one of the most important part.
I’m also wondering how much I’m “abnormal” in this respect. I prefer books over movies, by far. I prefer pen&paper role-playing to graphically heavy game. Many people have the opposite preferences…
I’m wondering if you don’t necessarily need to modify the human brain in order to make this problem at least a bit better. There are already some jobs that are much closer to “savanna” than “office.” I chose to go into nursing because, among other things, I knew about my father’s experience working in a cubicle and I never wanted that. Nursing is both intellectually stimulating (very much so in critical care/ICU, which is where I’m currently doing my final clinical rotation), and also “sensual” in the way you describe. I get a huge amount of satisfaction from manipulation physical materials and supplies–mixing drugs, priming IV tubing, changing dressings, etc. It’s fun. And then there’s the direct human contact, which is kind of exhausting for an introvert like me, but also really, really rewarding.
I’m guessing that jobs like electrician, plumber, etc, are probably similar in having both intellectually and sensorially stimulating aspects. Manual labor or construction leans more towards the sensory, engineering/science towards the intellectual (although some scientists get to play with cool equipment, samples, etc), math and programming are almost solely intellectual, and a great deal of office work seems to be neither.
There are a couple of questions this brings up for me. 1) Can “boring” jobs be made more sensual? I wonder how much of a difference it would make if offices were more colourful, contained obstacle courses, involved walking around more, etc? It sounds silly and even like a waste of time, but if it keeps employees engaged, it might save time. 2) Do boring jobs really need to be done by humans? I’m not talking about jobs like math and programming, which aren’t ‘boring’, just unilaterally intellectual. 3) Can strongly intellectual jobs be reformatted in a more physical way? For example, in the future, could programmers and mathematicians manipulate symbols in the air, like Tony Stark does in Iron Man? This would at least activate significantly more visual cortex than symbols on a screen. And all of these options seem significantly more achievable, with current technology, than trying to change the human brain.
I thought Shop Class as Soulcraft by Matthew B. Crawford was a pretty good book on pretty much this topic.
There is this aspect of coding (and I write code for a living), the very act of it, that I do find sensual, (I don’t know if others perceive this in the same way or my calling it sensual is just a convenient metaphor for my experience) but as my fingers dance across the keyboard and I see my thoughts take shape on screen, there is a certain poetry there in the form of the combined sounds of my typing, the tactile feedback of the keys themselves and a well executed subroutine staring back at you. Writing that routine was not just a purely mental activity, it involved fine-motor skills, long hours of tapping away to get to stage where you don’t even have to look down at the keys, you think the words and your fingers move, of their own accord, to put those words on screen! (This is even better if you use a good tool, such as Vim, to maximize the efficiency of your keystrokes. It’s also the reason why I find it supremely satisfying to use mechanical keyboards.)
I was going to make just such a point about programming. If one were to look at coding as a means of controlling data flow, or controlling state machines or decision paths, then ‘coding’ by means of drawing up an active flow chart and manipulating this spatially, much like what Stark did, would be awesome fun. This lets me visually and in space stack the scaffolding of ideas, blocks, functions and subroutines, ‘see’ the connections between blocks and watch the—the flow of control and data, yank things around ‘literally’, and so on and so forth.
It was tried countless times: Visual programming languages. It never worked outside some specific application domains.
Keep in mind that text is a visual representation. It is a visual representation optimized to express our thoughts, trivial or complex, in a precise, efficient, and succint way. We went from making artistic cave paintings and wood carvings to writing simple, standardized characters.
Programming is about expressing how to do something in an extremely precise way, so precise that it can be understood by a machine with little or no intelligence.
Non-textual media might provide an aid when communicating between intelligent humans, and even there it is often used for superficial communication (e.g. advertising). When you need precision, text is probably the most effective choice.
I agree with you in that text is a visual representation of ‘units’ of ideas, if I were to be not very precise about this, that we string together to convey more complex ideas. And I agree with you that in the kind of complex scaffolding of little ideas into big ones ad. infinitum, that happens in computer science, that the kind of ‘coding’ medium I was suggesting, would be inefficient. But still the idea has a novelty for us humans who are more at home with spatially manipulating objects and stringing them together as opposed to doing all of this in abstract space.
OTOH, flowcharts and such are still in widespread use. And that a graph (mathematical sense) can be as precise as you like.
Flowcharts and other types of diagrams are indeed in widespread use, but as design documents to be understood by humans, not as executable specifications. Being made to describe the high-level design of a system to humans, these diagrams are highly abstract and omit most of the details that would be required for an executable specification.
You can define executable graphical languages, as listed in the link I provided, but once you try to use them for anything but a toy example, your diagrams become excedingly large and complicated, essentially unusable.
Irrelevant.
There are entire management chains of my acquaintance on whose eyelids I could wish that sentence engraved.
There is research being done in improving abstractions for graphical languages. For instance, this applies to graphical representations of monoidal categories (so-called “string diagrams”), which can be used to represent functional programming, monad-based programs (at least to some extent), data-flow, control flow and the like.
It is still the case that textual syntax has a higher information density, though.
By the way, natural language generation could also be used to make programming closer to the cognitive style of humans, and thus more stimulating. I’m not talking about primitive efforts like COBOL here: we could take inspiration from linguistically-inspired formalisms such as Montague grammar to map commonly used calculi and programming languages to natural language in a fairly straightforward way.
This is exactly what I was imagining!
Visual real estate is more limited than cognitive real estate.
No. Is it not more like that there is our cognitive landscape/real estate and on this (amongst others) are visual representations of objects/ideas/whatevers? And so all I was saying was that if you were to look at the space within which we code, then a visual representation of objects, the functions that operate on them and the state/data flows between them might be a more compelling medium of work.
A visual representation of objects in a programming language context must necessarily be complete descriptions of those objects; either you’re switching rapidly between multiple levels of abstraction in order to perform your work, or the sheer volume of screenspace necessary to encapsulate even relatively simple programming instructions results in difficulty comprehending program flow as a singular process.
Or, to put it another way—open up a simple paint program, and try drawing out a visual-programming approach to a very simple programming problem—say, reading the first twenty entries from a database and selecting a tuple based on the highest-valued column. Make the fake program logically complete; it should encapsulate every operation and data structure necessary (although you can presuppose libraries to interact with, it should represent those libraries, as well).
This is actually a problem I’ve been working on on-and-off for my company; we’re trying to implement a comprehensive visual editor for our program, instead of the multiple-layers-of-abstraction visual editor that exists today. As it transpires, given the vast amount of information that needs to be available, symbol encoding—memorizing the meanings of large numbers of symbols in the context of the UI—is the only effective means we’ve found. And at that point you’re just writing a scripting language using different letters than the English ones, and what’s the point?
We could definitely do better than a one dimensional string of ASCII characters for programming. See, for example, the following glorious mutant: http://en.wikipedia.org/wiki/APL_(programming_language%29 Check out Conway’s game of life implementation further down on that page.
My pet issue is how difficult it is to have native support (both UI and data structure wise) for graphs in a programming language, given how ubiquitous graphs are in mathematics and computer science.
Your link is broken.
Thanks. Markdown is silly.
Conway’s Life in Matlab:
function L = life(L)
L1 = imfilter( L, [1 1 1;1 0 1;1 1 1], ‘circular’ );
L = int32( (L1==3) | ((L1==2) & L) );
end
That’s about 50 lexical tokens against APL’s 30, but does not require advanced knowledge of Matlab to understand. Not that I want to get into a language war here, there are any number of things I dislike about Matlab.
Here’s the equivalent of the primes program from the APL Wiki page:
function P = prms( R )
P = 2:R; % Make an array of the numbers from 2 to R.
PP = P’ * P; % Make a 2D array of all pairwise products.
PP = PP(PP<=R); % Make a 1D array of the products no more than R.
P(PP-1) = [ ]; % Remove those products from P.
end
Language support for array operations is the major advantage of APL, Matlab, Q, and K, and I wish every language had it.
My point wasn’t actually that it’s a useful thing to pursue shortest ways of writing a given algorithm. In fact I am not an APL expert, and find it hard to read. My point is that there is no particular reason other than inertia that we happen to formalize mathematical/algorithmic ideas via a linear string of ascii characters. In fact, this representation makes it unnatural to {reason about|write algorithms on} many common types of structures. The fact that many attempts to do something better do poorly (as the great-grand-parent poster experienced) does not mean improvements do not exist—the space is very large.
For example, a regular expression is a graph. Why on earth do we insist on encoding it as a very hard to read string of ASCII? (I am sure one could be a very efficient regexp jockey with practice, but in some sense the representation is working against us and our powerful vision subsystem). There are all these theorems in graphical models that have proofs much easier for humans to follow because they use graph theory and not algebra, etc.
I had an student doing an M.Sc. thesis (recently passed the viva, with a paper in press and an invitation from the external examiner to give a presentation) on a system he built for combining visual and textual programming. For example, if a variable happens to be holding an image, in a debugger you see a thumbnail of the image instead of a piece of textual information like . One of the examples he used was a visual display of regular expressions.
But there are several standard problems that come up with every attempt to improve on plain text.
Text is universal—to improve on it is a high bar to pass.
A lot of work has been done on visual programming, but a problem that crops up over and over is that every idea of how to do it will work for toy examples, but most of them won’t scale. You just get a huge, tangled mess on your screen. Thinking up visual representations is the easy part, scaling is the real problem.
What makes intuitive visual sense to a human is not necessarily easily made sense of by the software that is supposed to handle it. Even plain text can be opaque if it wasn’t designed with computer parsing in mind. I speak here from experience of implementing a pre-existing notation for recording sign languages. The first thing we did was convert it from its own custom font into ASCII, and the second was to write a horribly complicated parser to transform it into more sensible syntax trees—which were then represented as XML text. Only then was it possible to do the real work, that of generating animation data. And even then, I kept coming across cases where it was obvious to a human being (me) what the original notation meant, but not obvious to the implementer (me) how to express that understanding in program code.
I am not a programming language expert, but hobbyist/amateur, so generally I defer to people who do this stuff for a living. My only points are:
(a) The space of possible languages is large.
(b) It would be curious indeed if ASCII lines was the optimum for a species with such a strong visual subsystem.
(c) Computer science community has a terrible institutional memory for its own advances (e.g. LISP code is its own syntax tree with hardly any parsing, Perl’s garbage collector for the longest time failed on circular references, etc.) So progress is slow.
These I take as evidence that there is much more progress to be made just on notation and representation.
If you don’t already know about it, you’ll enjoy reading about Olin Shivers’s SRE regex notation.
Yes, I am aware of this (and lispy things in general), but thanks! s-expressions are great if you like metaprogramming, but they share the same fundamental problem as ordinary regular expressions—they encode non-linear structures as a line of ASCII.
Actually, there is no reason macro-based metaprogramming couldn’t work in a language that uses graphs as a priimitive UI element, rather than a list like LISP does. “Graph rewriting” is practically a cottage industry.
Where you wrote “UI element”, did you mean “data structure”? I don’t know what it would mean to talk about graphs as a primitive user interface element.
With a language with sufficiently expressive metaprogramming facilities (LISP enthusiasts will recommend LISP for this role) you can extend it with whatever data structures you want.
I guess I meant both a data structure and a visual representation of a data structure (in LISP they are almost the same, which is what makes metaprogramming in LISP so natural).
Makes sense, thank you for the elaboration.
At this point I would like to make the comparison to flow charts and their interpreters (us), but even in this case, when we look at a flowchart (with the purpose of implementing something) we mentally substitute the boxes and flows with the code/libraries/interfaces for them. Then following this thought, if we had a compiler that could do the same when fed a diagram ie. parse it to generate the appropriate code, we’d be getting somewhere, I suppose. But as it stands I see why a diagram might not be enough to formally encapsulate all the data and state needed for execution.
In case of a down vote on something that seems reasonable and/or is non-inflammatory, it’d be informative if someone left a note as to why it was being down voted.
Perhaps it merely indicates that the voter doesn’t agree about the reasonableness. I neither voted on nor—until now—read your comment but I do note that in general many people write things that they (evidently) consider reasonable but which I consider utter nonsense and other have vehemently disagreed with (what seem to me) to be reasonable statements by myself and others. Neither objective reasonableness (to the extent that such a thing exists) nor the belief of the author will force another to perceive it as reasonable.
Not especially inflammatory, true. I note however that you opened with a contradiction, “No.”. That has a clear meaning of asserting the falsity of its parent. If the parent is (perceived to be) correct then a negation may be considered sufficient to downvote the comment with or without reading the remainder.
This is a true statement. Another true statement is “Writing declarations of downvotes can be perceived as a nuisance by third parties and promote emnity or at very least dowvnoting by the downvoted author. This is a negative consequence for the downvoter, who is not obliged to abandon his or her anonymity if they don’t chose to.”
Fair enough.
(I downoted both comments. OrphanWilde’s assertion was mostly meaningless and given without substantiation/clarification, and your reply engaged it on object level instead of pointing that out (or silently downvoting), sustaining a flawed mode of discussion. Being “non-inflammatory” is an insufficiently strict standard, a conversation should be sane.)
I agree.
Can you elaborate what you mean by ‘object level’?
Also, I am kind of perplexed here—you don’t approve of my deciding to react to a seemingly vague statement, which was made with the intent of getting OrphanWilde to perhaps clarify himself? I realize that I phrased my reply badly, starting with a negation was counter productive, but still.
Let me clarify here, I do not care so much about the down vote, as much as I do about being engaged in a conversation.
Someone asserts a confused statement whose meaning is unclear. An example of an “object level” response it to make up an interpretation for that statement with a particular meaning, and immediately engage that interpretation (for example, by giving an argument for modifying some of its details).
This has two immediate problems. First, the interpretation that you’ve made up isn’t necessarily the intended one, and in fact no clear intended interpretation may exist, in the sense that the original statement wasn’t constructed to communicate a clear idea, but was to a significant extent a confabulation. This may result in talking past each other, thinking of different things, and in simple cases may lead to an argument about definitions. Second, the fact that the original statement was confusing is itself significant and worthy of attention. It may mean that you lack knowledge of context or training necessary to interpret it, or that the person making the statement needs to improve their communication effort or skills, or that they need to think more carefully to make sure that there is an actual idea that is being described. These problems have little to do with the topic of discussion, hence “not object level”.
(Even worse, an “object level response” may itself fail to reflect on any particular idea.)
On the other hand, asking for clarification or accusing the other party of talking confused nonsense bring their own problems.
I generally reply on the object level, but note that I’m unsure if I parsed their statement correctly, so they can clarify in their next comment if I misinterpreted.
Well, doing it in the air probably isn’t going to happen until we have augmented reality systems that go far beyond Google Goggles, but I’ve been hearing speculation about more visually oriented symbol-based programming since at least 1995 or thereabouts: basically, compilable versions of the block diagrams programmers already use for design work. It seems to be one of those technologies that’s always ten years off, though.
It’s already common for hardware engineers to directly manipulate chip layout through a visual interface, though for all but the simplest circuits there’s also a syntactic element in the form of Verilog or VHDL code.
I approve.
I both ride motorcycles and program computers. Can confirm, finally getting the program to run is an order of magnitude more thrilling than any particular moment on the motorcycle, but the motorcycle offers a little bit more consistency over total time spent.