Categories
society

Political Distance

With the election’s temporal location quickly converging with our own, this post examines the political proximity of the two major candidates.

One way of picturing the difference is conceiving of a Cartesian plane, one which a society moves around in. It may be roughly similar to the so-called political spectrum (Wikipedia: Political Spectrum), or maybe not. Maybe instead of a plane, it’s a linear space, a motion picture, showing society’s position at each frame, which is animated over time.

In reality, that space is simply a set of nodes representing the various states of society. We have a graph. The graph interacts both with our actions and the natural world, constantly producing new states of reality. There are small decisions, like sipping water, or one human’s life (compared to the scale of society). Big decisions, like spending whatever portion of our resources on devices of war compared to devices of exploration.

In any case, what direction and distance each candidate wants society to walk in, and where they would like us to end up, is one measure of their political distance. Not that they could agree about where we are in the first place.

In wilderness survival, a lost person is meant to seek out running water. A stream flows to a river. A river flows to a larger river, and eventually to an ocean. Society tends to build up around water. Follow the water down, and you’ll find your salvation. Not to mention people need water anyway, and running water tends to be the best place and form to get it as clean as possible in the wild.

Maybe there is a political equivalent to streams and rivers? Maybe we could tell our leaders to follow them down? That’s maybe a topic for another day.

Today I find interest in the unexplored terrain. The fact that both major candidates agree that so much of the land is not worth visiting. And that we must stick close to familiar ridge lines.

For example, the mass incarceration of humans. For example, the laws governing copyrights and patents. Military budget. Energy production. Transportation and population densities.

So there are some differences. Or, take one where the gap is wider, the laws governing immigration. Even for the more sensible candidate on that issue, it is not a coherent idea of where we are or can go.

Economies are the aforementioned streams and rivers of this landscape. People emigrate for economic reasons. They already follow the flow. Without ending the flow caused by poor conditions at the source, and the desire for cheap labor and contraband at the destination, the dams will not hold. Improving the aqueducts will only reduce the flow so slightly.

Neither candidate will stand to eliminate the war on drugs, which is akin to using forced human labor to carry the water, at gunpoint. Increasing the contraband production locally would reduce that economic stream, but at the price of increased pollution in the local economic water supply. Reducing the vigor of the local economic waters, too, would make them less appealing to the laborers that immigrate unlawfully. But it again harms the lands here.

So, even though one candidate is quite ahead on the issue, he is equally unwilling to take the real, full path to the destination.

At best, he calls for better aqueducts, will will prove inadequate.

Still, slight progress is plausibly better than regress or stagnation. The closer we approach real solutions to our problems, the more likely we will gain a vantage of the true destination.

Categories
society

Getting Past the Reflexive Response

One of the phenomena we see in discussions of changes to society is a purely reflexive response. We see this both affirmatively and negatively, depending on the way the issue is couched. A guess is that the responses tend to be more negative, that reflexive responses in general tend to be “no.”

New York City, a city in the US state of New York, recently enacted a law against certain food establishments selling soft drinks containing more than 16 fl. ounces (approx. 0.5 liters). Many people had a reflexive response against that move. The belief that both individuals and businesses should have the right to make that sort of decision, rather than government, fired rapidly in the mind. This was followed by the section of the brain containing the term, “nanny state,” jumping up and down, yelling, “me! me! me!”

While I think a reasonable person can disagree with the implementation of the ban, it’s harder to make a case against the idea that people should drink less fizzy sugar water. But let’s set that case aside, and just focus on the reflex.

It seems like the reflex is a combination of the brain having existing wiring for the type of argument and a tendency to take a defensive posture against change. We see the same disposition in many subcultures, including political and religious ones.

In the case of soft drinks, people have encountered dietary arguments for years from vegetarian, vegan, and similar dietary movements. The anti-smoking arguments also follow similar lines. With recent studies showing correlation between social connections and things like weight gain and diet, even the second-hand smoke arguments have a home here.

People also have received reinforcement from something like sipping on a soft drink while having positive social interactions, so much that some may be able to tell you that they enjoyed a particular flavor of drink during a particular interaction (not unlike people remembering specific times with specific types of alcohol).

The notion of giving up something that seemed to add to an experience is threatening. It usually takes several nearby nodes in the network making a change in order to encourage more nodes to change.

Not In My Back Yard, or NIMBY, is another example of a mantric argument that is conjured when a reflexive response occurs. Windmills are often opposed as a reflex.

The notion of job security has paralyzed whole sectors of the economy, as we become afraid to modernize and shift economic focuses because of large blocks of employment. That is, we place employment as a higher importance than the economic functionality that would ensure it.

There are reflexive responses when someone denigrates a prophet, or when a community perceives a travesty of justice, and so on.

How do we get past these reflexes? How do we get sane arguments that don’t run into walls of no-from-the-hip?

My hunch on this is that society, or whatever group seeks to have good arguments, assigns advocates regardless of belief. Just like high school debaters, people can advocate for causes they don’t necessarily believe in. It gives an opportunity for new ideas to prosper in a way that doesn’t stigmatize initial advocates too severely (which risks blanching future dissent, leading to further totalitarianization of a group).

Likewise, increasing opportunities for interaction and shifting of social links would enable more nodes to recognize opportunities for different behaviors. Although anecdotal (in that I haven’t looked for any research that backs this up), I find it likely that part of the positive impact of World War II on the US economy stemmed from the mixing of all those young people, along with their exposure to diverse social orders across the globe.

At any rate, reflexive responses should be seen for what they are. We shouldn’t let them kill good ideas, but should allow ourselves to entertain the idea without fear that it will consume us. Society needs to learn how to do that.

Categories
society

Hegemony in the (Tech) World

This is another discussion about culture stemming from the ongoing dissatisfaction in the open source community at large over the bad culture that exists in the computer industry (and far beyond it).

I’ve been lucky enough to more-or-less avoid direct contact with the dominant culture in Western technology. But I can understand that culture’s existence in the wider culture. It’s not about women, but about dominance. And it will continue until an alternative culture supplants it. Outlawing it, banning it, these do not suffocate it.

Cultures develop very rapidly. Culture is basically an instantiation of an expectation. If you visit your grandmother, and she answers the door wearing a leather jacket, jeans, and combat boots, then that particular instantiation of the grandmother-grandchild culture probably just took a weird turn. But it could be that your grandmother is a biker, in which case her answering the door in slacks and a blouse would get you diving in the hedges and calling the invasion of the body snatchers hotline.

One of the key problems in changing the culture is that many members of the dominant culture that you interact with aren’t alone in their daily lives. So even if you get them to see the light, by sheer inertia of returning to their regularly scheduled programming, they will readopt the bad culture.

Indeed, many will have initially adopted the persona of a member of that group in the presence of others of that group, in order to fit in. But once you’re expected to think of jokes of a certain type, your brain rewires itself a bit. And you’re supposed to get them out there fast, before the other guy, to show your own dominance within the group. So now you’re losing your natural tendency to analyze your speech before expressing it.

The company you keep ends up keeping you. Everyone becomes a copy of a copy of a copy. The first rule about the culture is that you do not talk about the culture.

The code of silence in the book Fight Club by Chuck Palahniuk isn’t to prevent the spread of the fight clubs. It’s to prevent the members from openly discussing what they are engaged in. They can tell non-members about it in the sense of spreading the culture, but never have a metatalk about it.

And I think that’s key. If an infection is deep enough, the best that the body can do is to build around it, wall it in. To truly remove it requires opening it to the air and light and pulling it out completely.

So talking about it from the outside helps a bit. But ultimately the discussions have to happen on the inside. The purveyors the various cultures must themselves come to understand their own culture, instead of ignoring that it is controlling them without them having any real say in it.

It’s a difficult thing to do. If you try to raise the issue from within the culture, the same defense mechanisms that are harmful to outsiders will be turned on the rule breaker. It will be a light attack at first, and persisting will only make the threat more real.

It’s probably best to go for one-on-one discussions of the culture with the purveyors for that reason. Less feeling that they have to enforce the culture in that setting, and one-on-one cultures of their own develop rapidly.

Categories
society

Identity and Group Conflict

First a note on the progress of my browser problems. The first problem was solved by a sweep through my profile directory, cleaning out the cruft that had accumulated over the years. The second problem, of Firebug not working, turned out to be due to a problem with the way the package was being built (an untracked upstream build change that needed to be accounted for in the package). The maintainer is aware of that now, so it should be fixed in future builds.

Today’s post is about what I consider a major problem for mankind. Who are you? Occasionally a stranger will ask you that, and it’s not like there’s a good answer. You can give your name, but that hardly gets to the heart of the matter.

Humans have a tendency to want to know who they are, mainly because it makes the whole thought process easier. In some things it is essential: it is not recommended to try to play chess if you do not know which side you are playing. Your opponent may get angry if you move her pieces.

People like having identities. They adopt a role. If you are the bully, you know how to behave. You know how people will react. You remove uncertainty.

There are group identities, which are common. People see themselves as soldiers in the fight for their group. People can do all sorts of bad and good things just because they see themselves as aiding their team.

People can commit bank fraud, taking a false loan, because they see themselves as saving their company that’s underwater. They don’t see it as fraud, because that’s not the identity they hold.

Group identities are especially problematic. In interactions with other groups result in anxiety, and adopting a harmful situational role is possible:

In the case of stereotype threat, the individual may adopt a very restricted behavior, trying to avoid confirming group stereotypes. Or they may, in the face of such stress, adopt a facade of apparent strength (eg, bullying) in order to protect their true identity. In the latter case, they need not worry about reputation or identity damage, because they can write off any bad reactions to the fact they were adopting a role, playing a part.

Stereotype threat is a factor of intergroup anxiety. One can see some of the difficulties in group interactions in situations where a lone member of one group interacts with a second, only later to be joined by more members of their group of origin. Their demeanor changes when comrades arrive. If conflict had already been suggested, it may be escalated.

One large problem, setting aside the direct conflicts and harms caused by the adopted identities, is that the adoption becomes ingrained by conflict. It’s the age-old investment trap. If you’ve taken blows for being of some identity, you have all the more reason to hold to it; you’ve paid for it, might as well wear it.

But the larger problem is the inability for people to cooperate in the face of these identities. They are overly focused on preexisting identities, unable to make decisions that benefit themselves the most because they are too worried over group dynamics. If your team is winning, it’s less likely you’ll agree to postpone or cancel the game due to inclement weather.

You often see splintered groups insulate themselves in various ways, including jargon/accent/language changes. These changes are natural reactions to the separation from a larger group: let’s stop using the inherited terminology and adopt our own as part of our group identity. You also see this in couples showing affection for one another, people showing affection for their children, and even showing affection for their pets.

More importantly, the splinter group often adopts the same kinds of tactics they splintered away from, such as stereotypes and epithets for the other group’s membership.

The worst case is where we as society have created group identities of whole cloth and then are unhappy with the results. The major examples of this are the so-called ruling class of politicians, the identity of police and prison guards, the other side of that coin in the prison populations, and other similar groups with authority or power.

When we go out of our way to create these groups of people, we mustn’t be surprised at the results. They are indeed a detriment.

Solving these issues is a different matter entirely, and it remains an open problem for further thought.

Categories
society

Learning to Compute

Some well-known person in the software community wrote about why, I don’t know, mere mortals?, shouldn’t learn to write software.

To be honest I didn’t read it. Any time someone says that I shouldn’t do something for any non-scientific or non-moral reason, I add another check to the column for “this maybe should be done.”

I skimmed several of the thoughtful rebuttals on other blogs, and think their general consensus is valuable, which is basically, “yes, you should learn to write software, because it’s awesome.”

Anyway, this isn’t about whether you should or shouldn’t, can or can’t, will or won’t. This is about doing the actual bit that’s being discussed abstractly.

Let’s assume for the sake of argument that you are using Firefox and viewing this site in the browser. Let’s assume it’s on a non-mobile Operating System with a keyboard and other fancy stuff like a screen.

Let’s assume you were to press the key combination Ctrl+Shift+K (Hey! Wait a damn minute there. Don’t press stuff without finding out what it does!) or go to the Firefox menu, to Web Developer and then to Web Console (which is what the key command before does).

You should now see some slick little bit of chrome fall out of the sky above the website.

You should see that it has a text input area at the bottom. Click there. Type something like, alert("Boo!"); and press Enter. Stop! Why are you typing stuff in before you know what it does?

Okay, to be fair, I type stuff in without knowing exactly what it will do, and aside from some wizards, most people who write software do this. But we know almost exactly, and we’ve got experience: think of it like cooking. A master chef can imagine how a recipe will taste just by reading it. Experience works like that, though even the experienced can be mistaken.

So before you type something, you should stop and think about what it might do, and what you want it to do. alert, that might make lights flash and buzzers sound. But it has those parentheses around the quoted bit.

Maybe it creates some kind of alert using that quoted part.

Go ahead and try it.

Right! A happy little alert box pops up with the text Boo!.

So why does that work? Think of it like cooking, again. The baker doesn’t just reach into the oven and pull out a pie. Each piece had to be made, including the pie tin (which was beyond the scope of the baker’s activity). In this case, think of the alert() bit as the pie tin. The makers of the browser gave you the pie tin and said, “fill it with what you need to fill it.”

If you think about it, the parentheses almost look like a pie tin. Are you hungry yet?

So let’s do something a bit simpler this time. Just type 1 + 1 and press Enter. Right, good thought, we have to ask what it might do. Well, if I wrote it down on paper and handed it to you, what would you probably say? Yes, you would say, “two.” That’s what the console will say back to you:

[13:25:34.419] 1 + 1
[13:25:34.423] 2

That bit there is taken directly from the console. If you select lines in it and then copy them, it puts the fancy timestamps in front. Those help you understand the behavior of more complex programs by letting you know what times the output corresponded to, how long things took (by seeing the difference in the times), etc.

Okay, one more thing to try for today. Start typing document, but just the d at first. Notice it gives you a handy drop-down of possible matches. You can use the up and down cursor keys to go through that list, or click on one with the mouse. If you keep typing, once it has a plausible match it will ghost-in the rest of the word for you. Once that happens, you can press the Tab button to complete the word.

Once you have document, put a . after it, and then type getElementById. You may have noticed that there were other getElement* bits, and some other things too. I hope you noticed, that’s the main skill to work on as a programmer: seeing all the details and wondering why.

Later on, if you want to keep learning about programming, you might go back to the web console (Ctrl+Shift+K) and just start typing things (don’t press Enter, just type say, c and see what pops up in the list). Ask yourself what they might do, and then use a search engine to ask the web what they actually do.

Okay, back on track: document.getElementById(???) What do we need to replace the ??? with? You’ll see the so-called “CamelCase” names in software a bit, so get used to mentally putting spaces in: get Element By Id. Right, if we hand it the Id, it will hand us the Element.

Let’s use one I know: site-title. That’s the id for the HTML element containing the blog title up top. So let’s do something with that.

We can do this two different ways. One way is to store the element we get back, and then speak about that, the other way is to do it directly.

The first way is to give the Element a name. To do this we can type var titleElement = document.getElementById('site-title'); and press Enter. We type var first, because we want it to be a regular variable. This has to do with scoping rules, which I won’t discuss here, but you will learn about if you keep growing your skill.

Once we have it as a variable named titleElement (you could name it something else if you prefer), we can use the name to reference that Element.

Now we can type titleElement.style.backgroundColor = "black"; and press Enter. The style part means that you want to access the Element‘s style properties. The style.backgroundColor means you want to access the background color of the Element. And we’re setting it to the named color black.

Scroll up to the top and look at the result. The background around the blog title is now black!

It doesn’t look right, of course. The background was more of a white, so let’s try changing it back.

Press the up arrow, and it will show you the last thing you typed. You can navigate the input history in the console using the up and down keys.

Change black to white and press enter again. Oops, it’s not quite white, either. What do we type to get it back the way it was?!

Let’s set it back the way it was, but let’s do it the other way I mentioned before: type document.getElementById('site-title').style.backgroundColor = "inherit"; and press Enter. Here we aren’t bothering to store the Element in a variable. We’re using it directly from the return of getElementById(). And we’re setting the color to inherit, which means “whatever the parent value is.”

The rules for Cascading Style Sheets are something you can learn about later, but you can think of it like cooking again. By default, a BLT sandwich has bacon, lettuce, and tomato. If someone wants a special one, then maybe its bltSandwich.style.bread = "pita", but normally it’s just whole-wheat. inherit just means, “whatever it would be for the environment it’s in.” (It means inherit the value from the parent, because elements in HTML are in a tree structure).

The main thing is that the color is back to normal!

That’s enough for now. You can close the console by clicking the x in the corner of it, or by pressing Ctrl+Shift+K again. If you make a live change while learning (live changes are those that you make to a webpage directly, such as by the Web Console), and you don’t know how to undo it, simply reloading the page should get you back to the default state.