Wednesday, April 17, 2024

Tricks

 Tricks
   and other non-germane
   prestidigatory legerdemain

I am a clown.
I am a fool.

But I can juggle elephants.

Someday

What I cannot bring myself to say
   I think so loudly to myself.
Someday I will speak
   not soft enough
   nor loud enough,
But spoken once
   the words will
   quiet down and settle in.

Someday.

Sonnet #2

Though often I reflect upon my state
My state reflects less often truth like this
I see today so brilliantly displayed.
Here, truth lies breathless in the scented leaves.

The color slowly changes in a leaf
Which, in that month when breezes make leaves drop
And men at last see glory and believe,
Then shakes until by falling shaking stops.

And so, I also slowly understand,
So stand here shaking while the color comes.
The season of the Lord God is at hand
And season to a Truer Breath succumbs.

Now with the secret glory understood
Then this annointment of the leaves is good.


Tuesday, April 16, 2024

Sonnet #1

The bird is black against the reddened sky
And hangs there, nearer than the just lost light,
Then fast wings home before the red does die
Accustomed to a less empurpled flight.

Thus light takes depth away when it's undone.
Bright color, for an outline, fades like dust.
The evening star, like hope, follows the sun.
And colder stars in darkness yield mistrust.

But darker still the stillness that I feel
Now that my thoughts to darkness have returned.
Though colorless, the world is just as real
When subtle colors cannot be discerned.

This my day became when light was gone
And darkness' colder furnishing put on.

The Fairgrounds

Early the motors cry sound of their smoke
Already hot from the heat felt at noon,
By children whose passions the summer evokes
And carnival workers beginning their day.

The children amused by the lights and machines
Will suffer the heat and the dryness of tongue.
Their parents will visit and survey the scene
Amused by the children they think they still are.

As I walk among them I'm not even there.
Their eyes do not see my face painted clown white
Or the stars in my eyes that make them disappear
While the air is so wet it would cry if it could.

And then I sit down at the edge of the crowd
Rubbing the denim in brown August dust.
I feel my heart hardly pushing my blood
It hangs there so heavy I tear at the eye.

Some faces appear that before were distracted.
With cautious concern they examine my clothes
As if that had caused me to feel so dejected
And not that you asked me to leave you alone.

Nearby a man with disdainful expression
Waters his grass with his hose in his hand
And his contribution is somehow to lessen
The burden that people have put on his back.

St. Louis County Public Library

I walked into the building
built three years after I was
and found it hadn't changed
from the place of clean smells
The yellowing paper and book glue

Only perhaps sunken into the marshy
Land they built it on.
But no, I know I grew
And it stayed level
because I saw a boy walk up to me
when we mixed our strides
Both pulled from different thoughts

And something mixed besides
As I stopped to let him
run around me

I watched him stumble-run
into an alcove and kneel upon a chair
to watch the glass
Behind the glass were fishes
They floated through the water
Like a bird does in the air
Or a man does when he's free
Or thinks he is

I watched him stare and
We lost track of
Where and who he was
I know he only saw the fishes
Swimming noiselessly through water
Making bubbles

And I know I felt appropriately warm
As in some Winter when
I came inside this building
Stumble-tracking snow
And stared into a glass in
Front of fishes

As incandescent yellow lights burn
And I could only see a boy
And he can only watch a box of water
He dreamed himself inside and I in him.

Thursday, January 12, 2023

Populism vs Elitism

Last month, I re-read Loose Lips, a novel whose central character is going through the first year of CIA training. When I first read it, I was mostly sympathetic to the main character and to the CIA and their secrecy. In fact, I cringed when she divulged information to a trusted source (who probably she should not have trusted).

I re-read it though last month after hearing Tucker Carlson's credible report that the CIA had a hand in the assassination of JFK. On second reading, the opaqueness and secrecy made me feel queasy (not to mention feeling dismay at the way that the institution is portrayed as sometimes using its assets with obvious disregard for their well-being).

What prompted me to re-read the novel was a brief Twitter exchange I had with the author, Claire Berlinski, regarding the safety and efficacy of the Covid vaccine. She did not share my skepticism of the vaccine (which is fine) but I was left thinking that her trust in the vaccine parallels her trust of elite institutions such as the so-called medical experts (and, I presume, the CIA, as well).

I suspect that she rejects Trump and the populist movement, as I did when Trump was running in 2016. But I was converted to the populist way of thinking after seeing how Trump as President strove to keep his promises, accomplishing things that recent past Presidents of both parties claimed to want but somehow never actually bothered to implement (e.g. moving US embassy to Jerusalem; brokering peace treaties between Israel and Arab countries; reining in excesses of the EPA; cutting regulation).

Yet Trump is despised or simply not respected by the elite and those loyal to them. He is considered crass and his simple use of language is often incorrectly seen as a sign of his stupidity. They do not credit him with purposely speaking that way, putting things bluntly and simply, in order to better communicate to his likely voters.

There's a reason that Trump puts things bluntly in simplified language. It's related to the reason he uses coarse language. It's also related to why the phrase "Fuck Joe Biden" and the bowdlerized "Let's Go Brandon" are popular. The people he wants to reach take the blunt and profane as a sign that he is not playing the nicey-nice game that the decorous elite insist on, giving him an air of authenticity among his supporters.

In the introduction to the book The New Class War, author Michael Lind posits that the pluralism of the postwar era (during which various groups shared power and negotiated with each other) has been replaced with a neoliberal managerial elite (neoliberalism calling for free markets and global trade; managers being corporate, academic and government bureaucrats). The managerial elite run things, intentionally or not, to the detriment of masses of disempowered people, spawning resentment among the majority.

And given recent revelations about how the Federal government has been surreptitiously suppressing free speech, censoring voices that diverged from their chosen narrative regardless of whether it was true, one begins to wonder whether the elite is intentionally disempowering the masses as the result of explicit disdain for those they seek to control.

Certainly, the way the FBI, DOJ and other agencies abused their power by making unconstitutional attacks on President Trump, starting in 2015 when he was merely a candidate for the office. None of it was justified. They knew as they were doing it it was unjustified. And after he became President, they had to work furiously to cover up their abuse. They have yet to fully come clean.

Trump in the US, and others in Europe, capitalize on this resentment of the elite manipulators. In order to communicate effectively with these millions of disaffected, less-educated voters, he speaks bluntly and avoids "politically correct" phrases (the very phrases that made the Clintons, Bush and Obama appeal to the managerial elite). By saying, "That's bullshit", he, in effect, demonstrates to the masses that he's not bullshitting them. He's not dressing up his thoughts.

By saying FJB, we're saying "Guys, we outnumber these bastards. Why are we letting them ruin our lives and run our country into the ground?"

We're saying that we don't buy into the charade anymore. A leader can't mouth a meaningless phrase like "compassionate conservative" and then foist uncompassionate results on the people. Or "Yes, we can" and then for 8 years tell us incessantly what we cannot do. Quoting Lind:

Populist demagogues have launched similar counterattacks on dominant neoliberal establishments in all three realms of social power. In the realm of the economy, populists favor national restrictions on trade and immigration to shield workers from competing with imports and immigrants. In the realm of politics, populists denounce neoliberal parties and factions as corrupt and elitist. And in the realm of culture, populists denounce elite-promulgated multiculturalism and globalism, while deliberately flouting the norms of the "politically correct" etiquette that marks membership in the university-educated managerial elite.

Lind goes on to predict that populists will almost certainly lose the battle with the establishment. "History suggests that populist movements are likely to fail when confronting well-entrenched ruling classes whose members enjoy near-monopolies of expertise, wealth, and cultural influence".

Sad, but probably true. It's a hill worth (metaphorically) dying on, though. And if this be insurrection, so be it.

No theory, no promises, no morality, no amount of good will, no religion will restrain power. . . . Only power restrains power.

-- James Burnham (1943)

 

Thursday, January 25, 2018

What turns Leftist Tears into Rightie Tears?

What turns Leftist Tears into Rightie Tears?

Finding your daughter has put your mug in the dishwasher.


DOJ official to Nunes "Please don't release the [FISA] memo"

The link to this story was blocked by facebook, so I'm publishing it here.

Asyndeton vs Polysyndeton

Use asyndeton:
Smart. Terse. Effective.

Use polysyndeton: To add description, to bring clarity, to create drama, to inspire poetry, to artfully elevate one's writing.
And Use polysyndeton: For the structure, for the thoroughness, for the liveliness, for the children, for all that is good and holy.
And Use polysyndeton: When nothing else will do, when the mood strikes, when bad turns to worse, when making a long speech, when you get paid by the word, when you never get tired of your own writing.

Wednesday, June 15, 2016

Handshake failure trying to make SSL connection to MS SQL Server using Java JRE 1.6

I had a very strange Java problem today. I am posting the description of the problem and solution here in hopes that it might help out someone else in the same arcane pickle.

This morning, Windows installed two updates on my development laptop at around 5:00 am. The next time I restarted the laptop after these updates were installed, the program I work with (Oracle Xstore) stopped working. I know that it was working at 4:30 am, because I made screen shots of my latest fix to show the client. Imagine my dismay when it failed when I tried running it again at 10 am. [See actual exception text and the Windows update ids at the bottom of the post.]


Xstore would fail within 5 seconds of starting. It quit with a fatal error because it could not open any data sources. This is the kind of thing that might happen if the SQL Server service is not running. But in this case, the service was running and none of the Xstore files had been changed since before the update was installed.

My guess is that one of the updates is forcing MS SQL Server to be more cryptographically demanding when a client makes an SSL connection.

Boring details
In the case of Xstore, that client is the Microsoft JDBC driver. The failure is not the fault of the database driver, however, because Java programs rely on the Java Runtime Environment (JRE) to provide cryptographic services. No sense making everybody implement cryptography on their own.

In fact, Java allows for multiple implementations of the Java cryptography environment (JCE) API. There is a list of 9 of them that come with the JRE in the /lib/security/java.security file.

It turns out that the latest Java JRE (Java 1.8.x) can handle the higher demands of SQL Server. I tried running Xstore under the 1.8 JRE and it had no problem handshaking with MS SQL Server and opening the data sources. So why was it failing for me?

Unfortunately, our client uses an old version of Xstore (4.5.1) that requires an old version of the JRE (1.6.x). The default Sun implementations that come with the old JRE were just not up to the job. Sun made a trade-off of speed vs cryptographic strength that was not good enough anymore after Microsoft decided to strengthen the security around SSL handshaking.

[Specifically, the old Sun JCE providers limit the maximum acceptable prime size for Diffie-Hellman primes to 1024 bits - whatever that means. See http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495]

How to fix
The solution was to add another implementation of JCE from bouncycastle.org (a non-profit organization headquartered in Australia chock full of people who actually understand what a Diffie-Hellman prime is). I had to download their library to
/lib/ext folder (i.e. c:\xstore\windows\jre\lib\ext in my case). Then I added a line to the java.security file (which is just a text file) to add the bouncy castle library to the list of acceptable JCE providers.


  1. Copy bcprov-debug-jdk15on-154.jar to /lib/ext  
  2. Add a line to /lib/security/java.security as shown below.

Really boring details
Below is the list of JCE provider libraries that came with JRE 1.6 (found in /jre/lib/security/java.security). I commented out the original list. This is followed by the new list with BouncyCastleProvider included. Bouncy Castle was added as provider #2, and pushed the others down numerically on the list. It is advised to leave the Sun provider at the top where the JRE expects it.

# List of providers and their preference orders (see above):
#
#security.provider.1=sun.security.provider.Sun
#security.provider.2=sun.security.rsa.SunRsaSign
#security.provider.3=com.sun.net.ssl.internal.ssl.Provider
#security.provider.4=com.sun.crypto.provider.SunJCE
#security.provider.5=sun.security.jgss.SunProvider
#security.provider.6=com.sun.security.sasl.Provider
#security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
#security.provider.8=sun.security.smartcardio.SunPCSC
#security.provider.9=sun.security.mscapi.SunMSCAPI

security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=sun.security.rsa.SunRsaSign
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=sun.security.mscapi.SunMSCAPI

Specific details
[The Windows updates were: KB 3163018, KB 3149135; for 64-bit Windows 10]

The root cause exception that I was seeing was:
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive)
at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..)
at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627)
at com.sun.net.ssl.internal.ssl.DHCrypt.(DHCrypt.java:100)
... 42 more

Wednesday, April 17, 2013

Panic Over Common Core Conspiracy

After listening to various speakers last night at a 9-12 meeting, I was not at all convinced that Common Core Standard (CCS) is the bugaboo it is being portrayed as. Unless one is willing to look a fool (and discredit an entire movement that might actually accomplish some good), it pays to investigate the claims made by speakers such as those we heard last night. I will focus on just one of their claims.

400 data points
The speakers were highly critical of the fact that CCS contains a data model with over 400 data points. I think most people do not even know what a data model is. Most do not work in IT and don't know what data points are. Complaining about "400 data points" (oh my!) sounds pretty ignorant to someone who works with data. Here is why:

A data point is just a fact. Your first name is a data point. Your middle name is another. Your last name is a third. Do you go by Mr. or Mrs or Ms.? Now we're up to four. Are you junior or senior or III or none of those. There are 5 data points just in your name.

Then we come to your address -- there goes another 6 "data points". Add in phone number(s) and email address(es) and you get even more. The number of data points is nothing to be scared about.

If you weigh yourself every day for 365 days, you will end up with 365 data points, but only one type of fact (your weight) is being collected. So it is wrong to use the term "data point"

To be precise, what people are really worried about are the attributes of each student that will be tracked in the database. The key word is attribute, not data point. Here is an example. My name is Robert Lawrence White. That is three data points. It's public information now. The attributes are (1) First_name (2) Middle_name and (3) Last_name.

When we complain about voting_status, we are not complaining about the data point, we are complaining about the attribute. Why is this important? Because if you don't want to look foolish, you will want to use the right terminology (saying "data point" when you mean "attribute" is like saying "doohickey" when you mean "rotator cuff").

Also, if you want to look up the actual information that is proposed to be gathered, you will want to know what to look for. If you look for "400 data points", you will most likely only find more rumors being spread about CCS and not the original source material.


The Data Model
The source material, by the way, is here:
http://nces.sifinfo.org/datamodel/eiebrowser/techview.aspx?instance=studentElementarySecondary

That shows the attributes (and relationships) that are proposed to be kept on elementary and secondary students. There are 416 attributes listed there. That is probably where the "400 data points" claim arises from. But there are a number of reasons not to panic about this number of attributes:

  • They are redundant. Social_security_number is listed twice. Middle_name and middle_initial are both listed.
  • It is non-normalized (a technical term meaning that a single piece of information is listed in more than one way). For example, race is one coded attribute (with 5 possible codes: white, black, asian, etc). But it is also listed as: White (true/false) and Black (true/false) and Asian (true/false) etc., because a person can be both white and black (e.g. Obama) or black and Asian (e.g. Tiger Woods).
  • It is comprehensive. All the attributes do not apply to every student. It is very unlikely that a student would have an accurate, up to date, non-null answer for every single attribute -- extremely unlikely.

This last point is the main reason people should calm down about this data model. This point is critical.

Yes, the data model asks what the student's voting_status is. This is defined as: An indication as to whether an individual is registered to vote in public elections. The possible answers are Registered, Not Registered and Not Eligible. Almost every elementary and secondary student will be listed as Not Eligible. How this information could possibly be kept up to date is beyond me. You may recall that the gov't Voter Registration bureaus do not keep this info up to date, how the hell is the school going to do it? The answer is, they simply are not. This data is never going to be anywhere close to accurate.

So why put it in the data model? Think of it this way: A data model is just a proposal for how to organize data. It is not a law that says all information in the model must be completed. It is only a proposed standard way of expressing data and its relationships in a way that can capture the closest depiction of reality its authors could imagine.

I have worked with two very large data model standards. One for the hotel/travel/leisure industry. As you can imagine, hotel companies do not have much need for the portion of the data model that deals with cruise ships, and vice versa. But the data model describes a lot of details about both.

I have also worked with retail point of sales data model. I can vouch that the data modeled by a ladies apparel store is not the same as for an auto parts store. But there is a single POS data model that purports to cover most of the data that either type of store would need to keep. By the way, there is a good chance that Wal-Mart is keeping more than 400 attributes on you -- and way more than 400 data points if you shop there a lot and use a credit card or checking account that identifies you personally.

Nothing to do with parent's politics
So think about voting_status for a second. At last night's meeting, we were told that this was to keep track of the parent's party affiliation: Whose kids are Republicans? Whose kids are Democrats? Whose kids listen to Glenn Beck? This turns out to be inaccurate. The data model tracks whether the student is registered -- not the parent -- and not any political affiliation.

Bill Bennett was right when he said that the opposition to Common Core Standards is like the tin foil hat people. What typifies the so-called "tin foil hat" people is that they believe something weird without evidence of it and try to scare others into believing their ignorant and conspiratorial misunderstanding. That is what is happening when people make up stuff about the gov't tracking the political affiliations of the student's parents.

Wednesday, February 06, 2013

A general dissolution of principles and manners will more surely overthrow the liberties of America than the whole force of the common enemy. While the people are virtuous they cannot be subdued; but when once they lose their virtue then will be ready to surrender their liberties to the first external or internal invader.
Samuel Adams, letter to James Warren, February 12, 1779
This strikes me as the #1 problem in today's society. The people who vote today do not recognize the principle that the constitution limits what the federal gov't can do. It is only by that constitution that they are morally empowered to act. The alternative is to be governed by kings and princes, earls and barons. It seems there is something in man that desires to be ruled by royalty.

We face many problems today, but none so severe as the ignorance of the foundation of our law and government.