DCCC Doubles Down, Digs Hole Deeper

Published at 09:07 on 6 May 2018

They’re still pushing candidates from the right wing of the Democratic Party, still using the lame pretext that they care about “electability.”

Towards the end of the segment linked above, they bring up how the Democrats did that to Hillary, and it didn’t turn out so well for them (or for the nation).

That’s quite true, but it goes beyond that. The right wing of the Democratic Party was all about Hillary in 2008, too. I remember running into obvious paid online trolls (they mysteriously vanished after Obama won the primary) peddling the now-old line about Hillary being the only realistic, electable candidate, and about how Obama had one of the most liberal records in the Senate and was therefore unelectable.

The problem is that the Democratic party elite and the Establishment pundits who rationalize them are living in a reality-distortion bubble.

First, they are disconnected from what common voters actually think. Pundits, politicians in high office, and top party officials are virtually always rich elitists. They have little or no idea of the struggles most common people must go through.

Second, it goes beyond class. They assume that since they are strongly ideological people themselves (centrism is an ideology as much as any other), everyone else must be, too. Not so; most people pay little attention to ideology most of the time. A huge chunk of the masses may be best described as “nonideological pragmatists,” who value individual candidates and their messages much more than any set of overarching political principles.

Give those masses someone who can appeal to them with a set of ideas, be they left-wing ideas or right-wing ones, and that candidate can appeal to those nonideological pragmatists. It’s how Trump and Reagan won and it’s how Obama won. It’s also how Sanders has won statewide office in Vermont (which has a Republican governor, how ideologically socialist is that?), time after time after time.

At this political moment, the facts on the ground tilt the playing field in the favor of the leftists: we’ve had over three decades of a centrist-dominated Democratic Party, whose policies like NAFTA and TPP have helped widen inequality and create growing despair. And there’s no shortage of voters who realize that the Democratic Party establishment and its centrist politics have played a key role in screwing them over (as have the GOP’s policies of capitalism über alles). This is, of course, yet another part of the picture of why Trump won: he was able to successfully market himself as an outsider.

Get it straight: it’s not the party’s left that is most hurting the Democrats’ electability, it’s the party’s right. (And yes, Bernie could have won.)

The End Will Probably Come Fast

Published at 06:17 on 5 May 2018

What this means—assuming it’s accurate, and it probably is—is that the end for Trump will most likely come fast, as some sort of tipping point causes his support on the GOP side of the aisle to largely and suddenly melt away. It’s an unstable equilibrium for Trump: even many in his own party hate him, but are afraid to say so.

In effect, their fear is self-justifying; a given Republican congressman is afraid of Trump because they all basically are, and if just one or a few defect, the defectors will be punished. However, once something prompts a critical mass to stop being afraid, suddenly the whole reason for the fear in the first place will evaporate․

Unstable equilibria tend to suddenly collapse; it’s in their nature. In a social system (as opposed to a physical one), the collapse tends to be particularly hard to foresee in advance; the status quo keeps lasting until one day it is insecure and the next it is gone.

Pacific Dogwood

Published at 23:34 on 3 May 2018

On the UW Campus in Seattle last month.
In Winslow this month.

I’m late writing this post; I should have written it a week or two ago. Our native dogwoods (Cornus nuttallii) are just about finished with their spring bloom, so be sure and enjoy it while it lasts.

It might surprise many to learn that the flowers of this tree are tiny, greenish, and inconspicuous. “But they are obviously large and white!” one may be tempted to object. What appears at first glance to be a single flower with four to six large petals is in fact a cluster of tiny, greenish flowers surrounded by white bracts (modified leaves).

For much of the year, the Pacific Dogwood is an easy-to-overlook understory tree in our forests, but when in bloom they can be spectacular. This species is similar to the eastern Flowering Dogwood (Cornus florida), but in all respects (leaves, flowers, overall size) is larger. The flowers ripen into tightly-packed clusters of red to orange berries by autumn.

The main blooming season is in April, sometimes with a secondary lesser blooming in August or September. As if the flowers and colorful fruit weren’t enough, this tree ends the growing season with beautiful display of pink to red foliage.

All the above characteristics might have one thinking this would be a popular and prized ornamental, but the Pacific Dogwood does not transplant well and tends to be fussy about growing conditions. If you are lucky enough to have one on your lot, leave it alone and treasure it!

There are now fewer Pacific Dogwoods than there used to be, due to dogwood anthracnose, an introduced fungal parasite, having reduced this tree’s numbers. The same disease attacks the more commonly cultivated Flowering Dogwood, and to a lesser degree the also-cultivated Kousa Dogwood (Cornus kousa). The latter two species bloom later in the spring than our Pacific Dogwood.

Kanye West is Best Ignored

Published at 08:36 on 2 May 2018

Really, that’s what his latest idiocy about slavery proves: that his judgement is so poor that he is capable of making such a statement. Either that, or he’s such a shameless publicity hound that he just spouts things without caring about their truth value.

West has just demonstrated that his opinions about anything should be dismissed as largely irrelevant.

Adding Fonts to Groff

Published at 08:28 on 2 May 2018

Because I’ve had a strange fixation on how to do it (it’s not really practical, given the many limitations and deficiencies of the program), here’s how to add fonts to Groff. Note that when I write “Groff” here, I mean Groff with the PostScript output option.

  1. Obtain Ghostscript and Fontforge. You will need both in order to add fonts (and if you don’t have Ghostscript, Groff’s usefulness is severely compromised, as per the first link in this article).
  2. Determine the location of your installation of Groff’s textmap file. Typically this will be in a location like /usr/share/groff/version/font/devps/generate/textmap.
  3. Create a directory to hold the Groff fonts and font metrics files you will be generating.
  4. Create a devps subdirectory to this directory. All the files you create should be in this subdirectory.
  5. Open each font in Fontforge. Note that a typical font family contains four fonts: a normal font, an italic font, a bold font, and a bold italic font. You will have to do the steps below for each of the four fonts in each font family you wish to use.
  6. Perform the editing steps in the list immediately below on each font.
  7. Close Fontforge, if desired.
  8. For each type 42 font you generated, extract an AFM file:
    printafm name.t42 > name.afm
  9. Think of a name you wish to call the font on the Groff side. The Groff convention is to have families of fonts that end in “R,” “I,” “B,” and “BI” (for roman, italic, bold, and bold italic variants). E.g. “BaskervilleR,” “BaskervilleI,” “BaskervilleB,” and “BaskervilleBI.”
  10. For each AFM file, generate a Groff font metrics file (replace textmap-path with the location of the textmap file you determined in step 2 and groff-font-name with the name you came up with in the previous step). If the font is not italic, type:
    afmtodit -i0 -m name.afm textmap-path groff-font-name
    If it is italic, type:
    afmtodit -i50 name.afm textmap-path groff-font-name
  11. If your font contained ligatures, verify the ligatures line in your Groff metrics file is present and contains all ligatures.
  12. Create a download file in the font directory by following the final list of instructions below.

Editing steps in Fontforge:

  1. Disable all Apple Mac features, as they are broken in Fontforge: Go to File > Preferences > Mac, delete all entries in the Features tab, then verify the list in the Mapping tab is empty as well. You should only have to do this once for each editing session.
  2. Open the font file you wish to add to Groff. You will typically have to know where your system keeps fonts in order to do this. This of course varies from system to system.
  3. Clean up the ligature substitution tables. Modern font files can have complex ligature substitution rules, which tend to confuse Groff. The only thing Groff can support is a single liga table. Select Element > Font Info > Lookups and examine the GSUB tab. If there’s any more than one liga entry, you will have to delete the all but one. If there’s any clig, alig, or dlig entries, they will have to be deleted. Then edit the single remaining liga table and make sure it does what you want. Note that since Groff only supports the fi, ff, fl, ffi, and ffl ligatures, these should be the only ones listed in your table.
  4. Correct the names of your ligature glyphs. Some fonts use ligature names like “f_i,” “f_l,” “f_f_i,” etc. These will confuse Groff. Only names that exactly mirror the character sequence to be replaced by the ligatures (e.g “fi,” “fl,” “ffi,” etc.) are supported. To do this you must locate the ligatures in the glyphs list (they start at Unicode codepoint FB00), click on the glyph of the appropriate ligature, then use the dialog in Element > Glyph Info to set the name of the glyph.
  5. Save the font (using File > Save) as a .sfd file. This step is optional, but can be useful if you forget or botch one of the editing steps listed above.
  6. Generate a type 42 font using File > Generate Fonts. Click on the “Options” button and make sure “TrueType Hints,” “PS Glyph Names,” “OpenType,” “Dummy DSIG,” and “Lookup Names” are checked. No other boxes should be checked. Fontforge may complain about some things being slightly amiss when you try to generate the font. In my experience it has usually been safe to ignore the warnings and just generate the font file.

Steps to create the download file:

  1. Start by copying the download file from the existing fonts storage area to the Groff font directory you have created (it will typically be in a file like /usr/share/groff/version/font/devps/download).
  2. For each font file you added, you will have to add a line to the download file. Each line in the file contains the “internalname” value from the Groff font metrics file and the name of the type 42 font file, separated by one or more tab characters.

And that’s “all” you need to do. If you set the GROFF_FONT_PATH environment variable to point to the font directory you created, you should now be able to use those fonts in Groff. The font names you use in Groff will match the names of the Groff font metrics files.

(Updated 16 May 2016 with corrected instructions for running afmtodit.)

Well, That Sure Was No Surprise

Published at 14:52 on 1 May 2018

The culprit for the failing aftermarket back-up camera in my truck was the solderless quick-connectors I used (per the recommendation of the camera manufacturer) to wire the camera to power.

This was so much not a surprise that I didn’t even bother to do any troubleshooting to pinpoint the culprit. I simply removed the solderless connectors, cut and stripped the wires in question, twisted them together, soldered them, and taped them.

Then I started my truck and put it into reverse. Bam! Fixed.

This has been consistent with the (crap) performance of virtually every solderless quick-connector I have tried in the past forty years, which is why I felt so confident attempting this repair without further troubleshooting. For some reason, I was willing to give them a try again when I installed that camera. Lesson learned: never again.

A soldered connection firmly and securely bonds two connectors together at the atomic level. Assuming copper wires, the molten solder actually partially dissolves the surface of the copper conductors before it solidifies, resulting in one seamless conductor (transitioning from copper to solder back to copper) that is virtually immune from oxidation or vibration induced failure. Nothing else even remotely comes close to this reliability, except a seamless connector with no splices whatsoever.

I am convinced that the only reason quick-connectors exist is: a) manufacturers who want to cut corners on their assembly lines in order to pad their profits, or b) people, usually do-it-yourselfers, who don’t know how do solder and who are unwilling to learn how.

Liberals and the Center Preach False Equivalence, Too

Published at 08:54 on 1 May 2018

Remember all the heat that Trump caught (and rightly so) for proclaiming there were “some very fine people on both sides” of a fascist rally and the associated counterprotest?

Well, it turns out that liberals and centrists are guilty of false equivalence, too, and when referring to the very same event. There’s been a lawsuit filed in Charlottesville that makes no distinction between fascists and those who showed up solely to oppose fascists.

With “friends” like this, who needs enemies?

Roses Are Red, Violets Are… Yellow?

Published at 07:51 on 29 April 2018

It doesn’t jibe with the traditional poem, but in this part of the world, violets are commonly neither blue nor violet in color. Our two most common species have yellow flowers.

Evergreen Violet, Viola sempervirens

The Evergreen Violet, Viola sempervirens, lives up to its name by having evergreen foliage; its rounded leaves persist through the winter months. It is a short plant, seldom more than 10 cm (4″) tall. All of its leaves and flowers are borne singly on stems arising from underground rhizomes; it has no above-ground stems that bear both leaves and flowers. It is commonly found on the floor of coniferous forests.

Stream Violet, Viola glabella

The Stream Violet, Viola glabella, is often found along streams and in other areas wetter than the Evergreen Violet prefers. It is usually more than 20 cm (8″) tall, bearing both flowers and leaves from above-ground stems. All above-ground parts of this violet die back in winter. This violet’s leaves are thinner and brighter green than the Evergreen Violet’s, and they come to a point at the end. The Stream Violet is most common in deciduous forests.

Like all violets, both of the above have edible flowers and young leaves. Of the two, I prefer the Evergreen Violet, because its flowers often taste delightfully of wintergreen.

The flowers being the reproductive part of a plant, one should not attempt to make a harvest of edible flowers of any sort unless a) the flowers are numerous, and b) the area they are being harvested from is lightly-used. Item (b) means that I do not snack on violets here on the Island much, because most of our wild areas simply get too many visitors to support the ethical harvesting of flowers. I concentrate my snacking on violet blossoms to the times when I take hikes in less used areas on the Olympic Peninsula.

Garden pansies and Johnny-jump-ups are also in genus Viola and are also edible.

Saudi Reforms: A House Built on Sand

Published at 20:14 on 28 April 2018

The recent reforms in Saudi Arabia are like a house built on sand; they are fated not to last.

That’s because of all reformist measures enacted by governments, the recent ones in Saudi Arabia are some of the closest to pure reformism and the furthest from revolutionary change, and ultimately only revolution is capable of effecting lasting change. Absent enough popular passion to inspire at least some faint thoughts of revolt, a reform is nothing but a dictate from above that can be easily undone by an opposing and contrary dictate from above.

Lasting reforms in open societies are indeed a real thing, but they are almost never pure reformism. They are driven by popular demand and backed by an implicit, though often unstated, threat of at least widespread disruption and at worst (in the eyes of the ruling elite) outright revolution if not granted. The reforms are granted by the elite under popular pressure not to erode elite rule, but to preserve it, and the implicit threat from below serves to keep the reforms in place.

In contrast, what’s happening in Saudi Arabia seems to be coming almost entirely as a result of the dictates of a reform-minded king. They could be easily undone the next time a more conservative king ascends to the throne, and in all likelihood will be.

Now, if when that hypothetical king undoes the reforms there is unrest, and then the reforms are reinstated, then they will cease to be a house built upon sand. But only then.