Information Transfer

I have some information in my mind.  I want to transfer it to another person’s mind.  This is a surprisingly subtle problem.

Obviously I can walk over to them and start taking to them.  Chances are good that I’ll be able to get a pretty respectable information transfer, especially if we both are competent users of the same spoken language.  But what if we’re not?

If it’s information about the physical world, I can probably gesture with my hands, or maybe even point at stuff if it has to do with things that are close by.  If not, maybe a picture is a better choice, especially if I can use color and/or rudimentary animation (a la comic book panels).  Or perhaps non-language sounds will fit the bill.

If my information is anything more interesting than whether I use 1% or 2% milk on my cereal, chances are good that this will evolve into a conversation, where we are both communicating information with each other (and requesting specific information from each other).  We might even move through different media as we go, adapting to the specific information being transferred at any given time..  But what happens when I only want to share part of the information in my mind?

Now we have something interesting.

Any given piece of information can be communicated in a huge number of ways.  For example, I don’t like dill pickles.  If you asked me, I’d tell you.  But let’s say we go have lunch together, and I leave my pickle spear behind.  The same information was transferred, though certainly with less clarity.  If I have lunch at the same place and I always leave my pickle spear behind, should an attentive server who waits on me numerous times stop bringing me a pickle spear?  Hmmm.  If I go in one day and get served without a spear, is the right thought “the server is stalking me” or just “oh, they must have forgotten”.  Perhaps the right thought is “they’re having supply chain problems, and are out of pickles”.  Hmmm.

Once I got asked “Do you eat ice cream?”  I answered like a smart ass, because a) I’m a smart ass, and b) everyone likes ice cream.  A split second later, my brain actually decoded the information being transferred in that question: “I don’t like ice cream, but I don’t know if you do, so I’m offering to get you some even though I don’t want any.”  Hmmm.

Somewhere in there is a line which delineates what is an appropriate use of transferred information, because we all transfer far more information out of our minds than we think it is acceptable for those around us to use.  Obviously the line is contextual: you would probably expect your spouse to react to the tone of “I’m good, how are you?”, but you would be appalled at the new supermarket checker who took it anything other than literal face value, regardless of inflection, tone, or body language.

To say that another way, it is shared context which determines the meaning of any communication.  Yet another way, language only governs a tiny part of the information transferred through the use of the language.  Let alone the information transferred through other media, like action.  Or through lack of action.  “Implicit consent” is the term for that one: they didn’t object, so it must be okay.

Our society runs on an economic basis.  Those with the money make the rules, those without the money can either accept it or get some money so they can help make rules. But in reality, money is a highly non-interesting economy.  The real economy is based on information.  The relative value is far less tangible, and it inherently has huge differences between different entities.  Having a currency just means you can interact indirectly – the lack of a currency means everyone is directly involved with everyone else.

If I know fact X about person Y, I can barter that information for information about other people.  This is called “gossiping.”  We all do it.  If you listen well, you get a double deal, because not only do you learn about the other people, but you also learn about the person you’re trading with.  What do they consider important?  What information do they value?

Police informants are good at this game, but they have a high-risk job with poor pay.  Which is, in itself, and interesting bit of information to internalize.  What it means is money is not the currency of the information economy, even by proxy.  The currency of the information economy is power, whether you’re in the board room, on the playground at a preschool, or running a siege of an enemy in war.  If you have power, you can buy information.  If you have information, you can trade for power, but the exchange rate is horrible.

What is truly amazing about all of this, is that every two-year-old grasps this concept.  “If you don’t give me the ball, I’ll tell mom you stole candy.”  Knowledge is power, and so it is reasonable to expect those with the most knowledge will have the most power.  But it’s not that way at all.  Usually the opposite.  The people with the least hesitation to use their knowledge to grab power will have the most power as long as the economy is stable.  If the economy is unstable, things are different; knowledge is power at the edges of the stability envelope.  When things are unstable people’s inhibitions fade, and they act more aggression and less restraint.

Between a constantly shifting set of shared contexts with other people (and other entities) and just their sheer number, it is effectively impossible for an individual to do the calculus of information transfer in real time.  Fortunately, the past few years have provided us with a wealth of tools (Facebook, Twitter, etc.) that can not only increase the number of people we’re frequently interacting with, but also increase the shiftiness of those shared contexts.

I will leave as an exercise to the reader what three conclusion paragraphs contain.  : )

I am a Programmer Luddite

Several years ago I decided that I didn’t want to use the ‘barneyb.com‘ domain for my personal blog anymore.  I’m not sure what the catalyst was, or even whether there was a catalyst, but I do know that there were two primary factors at play.  Those factors have remained constant (if not increasing in relevance) over the intervening years, and I am now happy to say I have a new blog here at programmerluddite.com.  And yes, ludditeprogrammer.com will also work for those of you who, like me, can never get the words in the right order.

The first factor was the morass that barneyb.com had become.  It has housed between seven and twelve WordPress blogs, several large-scape web apps, a pile of little utilities and demo apps for various purposes, all of my self-contained open source projects, and eight years worth of blog posts.  The domain has lived on an old Dell laptop, an old workstation in my basement, a massively shared PHP host, a dedicated server, and now on EC2.  This has yielded a URL structure which is somewhat convoluted and an Apache HTTPD configuration which was even more insane.

The second factor was that the history of BarneyBlog (my blog at barneyb.com) indicated a trajectory which didn’t really match real life.  I don’t think it accurately reflects the developer that I am, let alone the person I am.  Which isn’t to say that it doesn’t represent reality, of course.  At the micro level, each individual post is a valid glimpse into my world, but the whole doesn’t seem to match up at the macro level.

The net of it was that I wanted a new projection of myself onto the web.

About the same time I realized just how little affinity I have for technology in general.  Technology is a tool, and while it can be a useful tool, no tool can hope to exist for it’s own sake.  Tools “buy” their existence through utility; non-useful tools aren’t tools, they’re just stuff.  A huge swath of technology falls into this latter category, and I seem to be fairly unique amongst my peers in judging such tech purely on utility.  The “luddite” moniker is not a perfect fit, but it certainly conjures up the appropriate imagery.

The other half of the name was somewhat more difficult to pin down.  I’ve spent a lot of time over the past five or seven years thinking about what label best describes what I do in my chosen career.  None of them seem to match up perfectly.  I’ve adopted the term “software craftsman”, but calling this site “software craftsman luddite” seemed rather pretentious.  “Programmer”, I think, indicates a similar love of the act of programming.  I.e., the love of programming itself, not the creation of software (which necessarily has an external purpose).  Yes, I appreciate the irony.

I write code to fulfill needs.  I create tools, some for me and some for others.  But my love of software development is selfish.  Meeting people’s needs with software is pleasing; crafting beautiful software is satisfying.  I solve problems with technology.  I eschew technology for it’s own sake.  I am a programmer luddite.