There is a hunger for meaning in people. Our lives are so small that to feel big and important, we sometimes try to describe our small lives and actions with grand words. But by using those big words for small purposes, we take away their mystique and their power.

Examples are numerous. Every social cause fundraiser is a "hero". Everyone who heals the sick or goes on a simple march is a "warrior". Search your favourite news site for their dispensing of these terms to normal everyday people who do something slightly out of the ordinary. NO. A hero is truly exceptional, courageous, noble. A warrior takes extreme personal risk for his nation, to kill an enemy. People who do not take grand risks do not deserve such grand terms. Let people starve for grandness. Let them stay hungry.

Opposite direction examples are also numerous, where to slam a person or an idea, a commonly hated person or idea is cited. Labelling people as Nazi or racist or commie or hater or misogynist or whatever ... is now so low-effort and cliché as to be laughable. But that took a long time. Until then, the guilt-by-mental-association was a murder weapon.

In both these cases, the misused words and the language are figurative victims. But real victims exist too: the person in the audience, the person who reads that someone is a nazi or a hero or a thought-leader, when they are clearly not. It shakes their confidence, muddles their thinking. It lowers their defences toward further abuses of persuasion. It literally dumbs them, and is intended to.

We need a word warrior hero to protect the language from nazi thoughtwreckers! Until one shows up, please speak up for precise use of language.

Posted Sun Jun 4 17:37:51 2017 Tags:

The title is a military term, relating to shaping the physical and metal environment of conflict, before actual fighting breaks out. Getting supplies ready, men trained is only one part -- propaganda toward your opponent is also key. After all, if you can make him lose faith, he will lose faster.

Bonus points to those who recognize this recent news photo without googling. But I'm not here to talk about terror today. My interest was piqued by the boys returning form a coin show, with the Royal Canadian Mint's Canada 150 collection in hand. What could such patriotic paraphernalia possibly have to do with future battle?

Well, I made the mistake of looking closer at the coin designs. Not fewer than six of the twelve coins feature distinctly native style/theme art. So what? Well, not much, except if you recall that the more outspoken natives consider colonization of North America by whites about as horrible a catastrophe as the Palestinians consider Nakba. They describe themselves as a distinct society - at least as much as Quebec. Some of them describe themselves as non-Canadian. So ... why on earth would native art be on the very coins that commemorate the founding of their "oppressor" nation?

Another bit of the puzzle is the recent constant harping on "cultural appropriation" in various organs of the government. The CBC is getting up to article number 59,000 on the topic and the main "protected class" there is the indigenous. "Thou shalt not make native style art." Oh, it's more than just the CBC. Government-funded universities - and elementary schools - teaching how much we owe to ancient indigenous culture & knowledge, when it is in practice quite small. Come on, name a native invention or idea that we rely on in our daily lives. Name a few more. (No, working as a tenured native studies prof doesn't count.)

Another piece is the regular news, again from government organs, about how natives are in dire straits. No clean water. Huge gap in quality of life. Annual flooding. Many missing & murdered women (what about men?!). All of which require $, ever more $, but no strings attached please! Don't judge, don't ask for an accounting, don't tell them how/where to live, just feel bad and pay. There were times when we'd hear about these things mostly around federal budget time. Now it's year-round.

My spidey-senses are tingling. We are to believe both that natives are as Canadian as anyone else - and at the same time a separate nation; that they are strong - and yet require constant rescue. This is deliberately induced confusion, with a sublayer of guilt. I think the Canadian governments are preparing the mental battlespace - that is us, voters/taxpayers - for a massive round of reparations.

Posted Sun Jun 11 11:41:34 2017 Tags:

Imagine you are someone who has played with performance co-pilot and its web applications. You've grown beyond the default dashboards, and want something more.

You've come to the right place: the Custom Metrics Web Emporium!

step 0: log the metrics

Let's presume you already have basic PCP up and running on a Fedora/RHEL-like system. If you need a non-default PMDA, you may need to:

# yum install pcp-pmda-FOOBAR
# cd /var/lib/pcp/pmdas/FOOBAR
# ./Install < /dev/null

If the PMDA is self-configuring, that's enough to fetch live data from it. If you also want the data archived, which you do, you may need to edit the appropriate pmlogger configuration. You could run pmlogconf against a config.pmlogger file you're already using, or edit it, assuming you know where to find it. If you're avant-garde enough to let pmmgr run your logging, and you want it to simply work for your whole network dammit,

# cd /var/lib/pcp/config/pmlogconf
# cat > MY_FAIR_METRICS.conf
probe FOOBAR.ONE exists ? include : exclude
# /sbin/service pmmgr restart

The FOOBAR.ONE metric is any metric you know is contained in the PMDA, if it's working correctly; the other FOOBAR.* ones are metrics or whole hierarchy prefixes of metrics that you want future pmloggers to archive. You can confirm that any new archives get the FOOBAR metrics stored in them via pmdumplog /var/log/pcp/.../archive*.meta, or by looking at the pmlogger.log files.

If you agree that this is rather too many steps, consider adding your voice to this enhancement request.

step 2: find the metrics in graphite

Once your fancy new metrics start being logged to a file, it's time to check them out on the web. You'll need to run a pmwebd server and have its pcp-webapps package(s) installed, so that its web page http://localhost:44323/ pops up.

Then comes finding the metrics. Since there are approximately one gazillion of them, and possibly stored over one mazillion separate pcp archive files, pmwebd needs a notation to identify the one(s) of interest. It does this via the graphite webapi subset it implements. The gist of it is that metrics get named something like archive.met.ric, where the first component identifies the archive file or host name, the middle components identify the pcp metric names, and the optional last component identifies the instance within that metric.

It's harder to explain than to show, so go and hit the graphite top level link.

Hit the little plus sign beside the "Graphite" folder, wait for the first level (archive-file/host-name) of the metric hierarchy to be populated. Find the most recent archive for your host, and keep clickin on the little pluses until you get to a real live FOOBAR metric.

If you click on the "Graph Data" button in the little composer/graph subwindow, you will see the full graphite name for your FOOBAR metric. Note it down. The you will probably want to replace the first component with one with a wildcard such as *HOSTNAME*, in order to let pmwebd search for all archives for the same host. You may want to replace the last component with * too, if it's a metric with an instance domain, in order to draw all instances.

If you click on the graph image itself, and get your web browser to spit out its URL, you will see something like


If you play around with the time interval buttons at the top of the subwindow, extra fields will appear in the URL querystring:


to specify the time interval. In this example, these are UNIX-style epoch-seconds, but other syntaxes such as -2day for "two days ago" or now for now, or HH:MM_YYYYMMDD for, well, it's obvious. All times/dates are interpreted in UTC.

Other parameters are available to specify rendering parameters like colors, to add or subtract a legend, add other metrics. Experiment with the graphite compose window's interactive options to see their behaviour.

step 3: construct dashboard

OK, now that you have a URL for an image, you can keep it, pass it around. But that's not good enough, is it? Otherwise you wouldn't still be reading this.

But you are. So let's get to making a dashboard. There are at least two basic approaches: roll-your-own HTML, or grafana. In the roll-your-own HTML case, you already have everything you need: make an HTML file with a set of IMG tags, with each SRC pointing to one of the above graphite image URLs. Format it as you like, publish it, done!

Grafana is another way. This is another webapp we bundle with pcp, and it is oriented toward building sets of related graphs. Normal grafana includes a dashboard storage/management server, which pcp's version doesn't, so we have to work a little harder. See this blog post for details about how the grafana dashboards may be constructed as explicit JSON files, or synthesized on the fly from a URL that includes metric/host names as querystring elements. Just use the compound graphite metric names you found for your FOOBAR metrics. Add any others of interest. Use wildcards liberally.

step 4: profit!

(warning - results not guaranteed)

Posted Thu Jun 15 18:08:26 2017 Tags:

It was chemistry day at our homeschool yesterday with this awesome kit, and Frank making dinner day today. No particular relationship except for cedar vinegar. It was needed in both, and used in only one.

Why? 10-year-old Stuart explained:

It may be contaminated with copper sulfate. That's poisonous, you know.

I rolled my eyes and went digging for non-cedar vinegar. The wife overheard the discussion and comforted me:

At least there's no brain in the fridge.

This time.

Yup, just another day at the household.

Posted Thu Jun 15 22:17:36 2017 Tags:

Public Service Announcement:

I've found that, in 90% of the cases I've seen the Dunning-Kruger effect mentioned as a way to put down a debating partner, the speaker considers her own cognitive ability beyond the ken of her target, mistaken in much the same way as the target supposedly misoverestimates his own. I hereby christen this phenomenon, a relative of simple "projection", as the Meta-Dunning-Krueger Effect. © ® ™ &c.

See also. See also.

Posted Tue Jun 27 17:10:51 2017

A brief update on proof of parental success: while on a nearby trail during the family's morning warmup ride, we saw a green/brown toad. It was hopping comfortably across the path. Why? To get to the other side, of course.

Without missing a beat, Stuart yelled out "PEPE!".

My work here is done.

Posted Wed Jun 28 10:15:59 2017 Tags: