Race Relations Have Gotten Worse under Obama?

Published at 08:16 on 11 July 2016

The claim that they have is in fact predicated upon some very racist hidden assumptions, as I shall now explain.

Police have been shooting unarmed Black men for decades and getting away with it. Until the era of social media and smartphones, such killings were inadequately documented and typically didn’t receive coverage outside of the local media.

Now that technological progress has changed both of those facts, the killings are getting nationwide attention and sparking well-deserved outrage. And it is those reactions that inspire the claim that race relations have gotten worse under the Obama presidency.

Race relations, in other words, are being judged to be more acceptable when suspicious killings result in passivity and widespread social acceptance than when they provoke outrage. Society is judged to be running off the rails not because racially-correlated killings are happening (again, they are nothing new), but because those being killed are no longer passively accepting this, as is apparently their duty.

In turn what does this imply? Obviously that Black people must be inferior. Such a belief only makes logical sense if Black lives aren’t as worthy of news coverage or outrage, much like the lost life of a young raccoon or opossum who dies as a result of a car running over it doesn’t warrant the news coverage that a human child suffering the same fate should.

And if it’s not racism to assert that it is the duty of some races to realize they are inferior and to passively acquiesce in this inferiority, then I don’t know what is.

Right-Wing Hypocrisy on Display

Published at 08:57 on 10 July 2016

After exhibiting curious silence about a police shooting of a Black gun owner who was dutifly complying with police orders while legally carrying a concealed weapon, the NRA rushes to vociferously condemn the murder of the police officers in Dallas.

Link here.

Because, of course, the Right is (contrary to its professed aims) neither pro-individual-liberty nor anti-big-government. They have no problems with big government when big government is doing things they personally like, and are frightened of individual liberty when it applies to people doing things they personally dislike.

Can Honey Cure Canker Sores?

Published at 16:23 on 9 July 2016

Recently, it happened yet again. One of my old banes, canker sores, materialized.

Those who don’t suffer them don’t understand how bad they can be. The weeks of lost sleep due to the pain is probably the worst of it. Over the years, I’ve discovered various ways of both minimizing the chances of their happening* and the pain once they do.

But that’s not a complete solution. Recently I heard about honey showing promise as a treatment, so I decided to give that a try. I was a bit skeptical: wipe the sore clean and dry, then briefly apply honey after each meal, that’s it? The exposure to honey for a under a minute several times a day can do that much?

But darned if it didn’t seem to actually work. Of course, it’s only one trial, so it could all be nothing but coincidence. Time will tell, but as of this stage it seems promising enough to be worth reporting about.

* Which means finding out which sorts of foods cause allergies to trigger the sores, then avoiding them. Plus, avoiding toothpaste that contains sodium laurel suplhate has helped.

Chickens Came Home to Roost in Dallas

Published at 08:07 on 8 July 2016

It really should not come as a big surprise that something like this would eventually happen in a society as racist, militarist, and armed as the USA. It was inevitable.

The question now is: will it work? It’s an unpleasant fact that sometimes violent tactics work when non-violent ones don’t. The system values some lives more than others, so the loss of some more-valued lives might end up prompting the sort of action that the loss of less-valued ones failed to do.

Or it might just as easily provoke some sort of backlash. Most likely, it will do bits of both, much as the “propaganda of the deed” era circa 1900 did. History is a messy process that doesn’t precisely correspond to anyone’s pet theories or values.

Why Marx Was Wrong

Published at 08:06 on 7 July 2016

It’s something most people, even Marx’s biggest ideological enemies, don’t get: ideological flexibility (and the lack thereof).

Marx theorized that the proletariat, who had everything to lose under capitalism, would therefore be motivated to be the most open to alternatives such as socialism and communism. Conversely, those who gained the most from laissez-faire capitalism would be motivated to be its most rigid and staunch defenders, and prevent any reform from being possible.

Intrinsically unstable, capitalism would proceed to tear itself apart as the swings of the business cycle inevitably got more and more dramatic and the great masses of the proletariat became increasingly immiserated. When Marxian socialism would finally be tried, it would almost immediately outperform capitalism; even though central planning might have its inefficiencies, those would prove far less destructive than capitalism’s wild swings. Socialism would prosper while the capitalist world crumbled and ended up in history’s dustbin.

But it didn’t work out that way. Huge chunks of the proletariat clung to traditional social structures and refused to even entertain the idea that something different might be to their benefit. At the same time, the bourgeoisie proved to be something less than totally rejecting of the idea of making changes to the laissez-faire formula. Some were worried about the consequences of unrest (which was building, despite falling short of revolution) harming them. Some thought they could profit from regulation by influencing it. Many thought both.

In short, the proletariat was not so ideologically flexible and the bourgeoisie so ideologically rigid. Both sides had (and basically still have) an intermediate (and approximately equal) level of flexibility.

It’s something that this story brought to my mind this morning.

Well… That Was Fun

Published at 23:07 on 30 June 2016

Not really.

I’ve been working on a set of command-line utilities to let me post here without using an interactive browser. Reason is that WordPress is infected with excessive amounts of crap Javascript, to the point that its editor window is nearly useless if one doesn’t have a solid high-speed connection. Which I often don’t while commuting on the ferry.

Anyhow, two idiots have conspired to make my life more difficult than it needs to be. Both have used an object containing actual or implied time zone information to represent an XML-RPC date/time stamp (which doesn’t contain any time zone information).

Idiot No. 1 wrote the WordPress XML-RPC code (or the PHP library that uses same), and Idiot No. 2 wrote the Apache ws-xmlrpc code. Both idiots made feeble and ultimately failing attempts to defeat the lossage their idiocy begat, and I’ve spent most of the evening puzzling out the gyrations necessary to reverse engineer then counteract the lossage caused by both the base design flaw and the ineffectual original countermeasures… on both the client and server ends.

Yes, I’m being uncharitable and abrasive by calling those programmers “idiots”. You would too if your temper had just been worn thin by dealing with bizarre behavior caused by a stupid design decision.

Brexit Frankly Surprised Me

Published at 17:37 on 29 June 2016

It does go to show that the sentiment which gave birth to the Trump phenomenon is not unique to the USA. As if there was ever any doubt. Italy had Berlusconi (and before that, Mussolini), France has the LePen family, Austria has a popular right-wing nationalist party, and so on. Smug Europeans have nothing to be smug about.

It’s a problems that has its roots in hierarchical class society. It doesn’t benefit the majority who live in it. The only way electoral democracy (or any open society) can be maintained under such a system is to have a powerful system of propaganda to keep the masses convinced to act counter to their best interests. And it has been shown, repeatedly, that the level of propaganda needed to do that, and the level of propaganda needed to sell fascism are dangerously close to each other

Reality-based politics is the only practical antidote to fascist myths, and that same reality is fatally toxic to class society, so absent revolutionary change it won’t happen and fascism will be an ever-present risk.

Beware Replacing os.spawn with subprocess.Popen in Python

Published at 14:30 on 17 June 2016

This is going to be a very geeky post, but the bug in question just bit me and I am not aware of anyone else having written about it. Worse, the buggy code is actually recommended in the official Python documentation, which claims that the library call:

pid = os.spawnlp(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg")

Can be replaced with:

pid = subprocess.Popen(["/bin/mycmd", "myarg"]).pid

It can’t. Not unless you want your child processes to mysteriously disappear on you without calls to os.wait() reflecting they’ve completed, that is.

The problem is that the suggested code immediately creates an unreferenced subprocess.Popen object, and this class declares a destructor (i.e. a __del__ method) which automatically reaps exited child processes at GC time. So the code in question creates a race condition as to which code will call os.wait() first: yours, or the destructor.

Arguably, subprocess.Popen should have an option to disable this feature (which is actually the correct behavior if you’re going to hang on to the Popen object and use it to manage the child process). Until such a time the workaround is to do something like:

class PopenNoDel(subprocess.Popen):
  """
  A Popen object that never gratuitously reaps dead children.
  """
  def __del__(self, **kwargs):
    pass

pid = PopenNoDel(["/bin/mycmd", "myarg"]).pid

Thankfully, it didn’t cause me much lost time. I had thought of the recommended code myself, then rejected the idea because of worries about gratuitous process reaping at GC time, and only changed my mind about the idea when the Python manual itself endorsed it. So the cause was fresh in my mind when my child processes started mysteriously vanishing.

Keywords: os.spawn, subprocess.Popen, wait, reap, garbage collector, subprocess, disappear, bug.

Zfacts Really Doesn’t Like Bernie

Published at 07:56 on 17 June 2016

Partly it’s a misunderstanding of his democratic socialist politics. Partly it’s an understanding but a personal disagreement with them. It’s lead to several smear pieces about him on their site, some of which come across as downright conspiracist, predicting he will do his darndest to defeat Hillary even if that means helping Trump.

It seems the latter have just been proven wrong. It’s a cautionary tale about not letting your personal emotions about something get in the way of being able to perceive and interpret facts.