Thursday, 28 February 2013

A Couple More Problems in Military Procurement

By coincidence, the CBC News site today has two articles on problems in military procurement in Canada. The first is "Boeing touts fighter jet to rival F-35." It rounds up Boeing's attempt to sell F-18 "Super Hornets" to nations, including Canada, that had initially ordered F-35's. Despite its name, the Super Hornet is a substantially different plane than the original Hornet that serves Canada now: larger, with more range, slower landing speed, bigger wings...and the list goes on. According to the article, Boeing is arguing that the Super Hornet is better suited to Northern conditions, half the purchase price of an F-35, half the operating price, and available now. The article adds
CBC News contacted the European manufacturers of the Typhoon — also known as the Eurofighter — as well as Dassault, the French maker of the Rafale, and Sweden's Saab, which makes the Gripen. All said they've been contacted by the Canadian government and were ready to make their pitches.

But it's Boeing's entry that will grab most attention. It's the only American competitor for the F-35, and being "interoperable" with the U.S. is a big deal for Canada. Boeing is also offering to meet or beat the amount of contracts — known as "industrial benefits" — that Lockheed Martin would steer to Canadian companies.

With billions at stake, this battle of the giants will be worth watching.
The other article is "Military supply ships $1.5B over budget, watchdog says." The "watchdog" is the parliamentary budget officer, Kevin Page, who reports that the two replenishment ships the government wants will cost $4.13 billion, not the $2.6 billion that was budgeted. The revised number includes a probable cost of $3.2 billion and almost $900 million for contingencies, given that Canadian shipyards have not built such ships in the last 45 years. The ships will be more expensive and less capable than they would have been if the government had not scrapped the plans that were in place and started over.

Wednesday, 27 February 2013

More on the LiveCode Campaign

Kickstarter is certainly used to fund the creation of commercial products. Donations processed by that site have enabled the creation of, for example, a new game console called Ouya, new versions of classic programs such as Shadowgate, and have funded CDs, Books, and more. However, to my mind, the site comes into its own when it funds free culture of one sort or another. For example, I followed MusOpen's campaign to raise the funds to hire a symphony orchestra, record numerous symphonies, and release the recordings to the public. I was also excited when a Kickstarter campaign funded Kimiko Ishizaka's tour of Bach's Well-Tempered Clavier, since it would hone the performance that she intended to record and release. (I just checked the status of that project: "In September we plan on beginning fundraising for a studio recording of the Well-Tempered Clavier Book 1. The model will be nearly the same as the recently completed Open Goldberg Variations project, with the intention being to place the works into the public domain.")

Both of those examples are musical, but the modern Free Culture movement began with computer software. Kickstarter is now in the last hours of a campaign to raise money for major enhancements to a programming environment called LiveCode. The enhancements would allow programmers outside of the company that owns LiveCode to more easily contribute to its development.

Why would they? Because LiveCode is being released under a Free and Open Source Software (FOSS) license for the first time. Specifically, it will be released under the terms of the General Public License (GPL) that requires that programs created with this software must have their own code released under the GPL. Those who wish to keep the code confidential will have to pay for a commercial license instead of using the free one.

As the license itself says:
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
The LiveCode campaign set high goals for itself. It wanted £350,000 (about a half-million dollars) to polish the program's code and ready it for release. I wondered if they could get it. As I write this, though, it has raised £425,000 (about $661,000), and there are still ten hours left in the campaign! The community has not only funded the preparation of LiveCode for public release, it has funded a whole series of "stretch goals" that will substantially improve it. So far, these include:
  1. Resolution Independence: LiveCode already runs on just about every operating system (Windows, Linux, Mac, Android, iPad...) but it takes a bit of work to make your program look good on a 5" phone, a 7" tablet, and a 15" laptop. Much of that extra work will come "out of the box" with this goal.
  2. Plug-in Themes: to make your program's appearance match whatever system it is running on. Custom themes will be supported.
  3. Cocoa: This refers to Apple's preferred "toolkit" for programs running on OS X.  The previous toolkit provides a degree of backwards compatibility for old code, but does not look quite consistent with new programs and does not include some new functions that Apple offers to newer programs.
When those three goals were funded, new stretch goals were proposed:
  1. A "Physics Engine": for those who want to bounce or throw Angry Birds or other objects around the screen.
  2. Support for the new Windows 8 interface, whether on desktops, laptops, tablets, or phones.
  3. Vector Shape Objects: I am told this will look better than what now exists.
  4. Reworked Multimedia Support, and
  5. A new "Web Browser" component, so that web sites will look identical on any combination of computing device and operating system.
Everything up to and including the Windows 8 support is now funded, and there are ten more hours of fundraising to go. (Update: every stretch goal has been funded). (Further update: a blog posting by Kevin Miller of RunRev, the makers of LiveCode, states that passing the amount of money they wanted for all the posted goals means that they will add two new goals to their work, even though the fundraising campaign is over: "I can confirm that subject to all your pledges properly coming in we'll be able to add a reworked networking layer and new SQL database connectivity layer as new stretch goals. Yes they both those features do work already, but they are aging and could be so much better.")

As I wrote before, LiveCode is similar to the old HyperCard program that Apple offered for free on Macs for a number of years. HyperCard was a programming environment that didn't look like a programming environment. It made computer users out of many computer consumers. LiveCode has the potential to revive that tradition of universal access to easy programming, but only if it is freely available. Although there's no guarantee that every high school Computing Science class will standardize on LiveCode in the future, it will now have that opportunity. Combined with Raspberry Pi computers (available for $25 each, or $35 for a more capable version), LiveCode will enable computer classes and individual computer users to do more for less.

My understanding is that the current version of the program will be put up for free downloading next month. The new and extended version will probably be ready this autumn.

Saturday, 23 February 2013

The Complication Stage

One of the short stories that serve as chapters in Zenna Henderson's book No Different Flesh contains a comment on the stages of knowledge. I've adopted it as part of my worldview.
“See that tree up there? Simplicity says--a tree. Then wonder sets in and you begin to analyze it--cells, growth, structure, leaves, photosynthesis, roots, bark, rings--on and on until the tree is a mass of complications. Then finally, with reservations not quite to be removed, you can put it back together again and sigh in simplicity one more--a tree. You’re in the complication period in the world now.”
A small example of the three stages.
  1. A child learns about a poet named E.E. Cummings, and spells his name in the normal manner. (Simplicity)
  2. The child learns that the poet often omitted capitalization and sees his name spelled without capitals. For this one poet, the child makes an exception to the rule. (Complication).
  3. The child learns that E.E. Cummings usually wrote his names with capital letters in the usual place and disliked the lower-case spelling. The child reverts to normal practice. (Simplicity).
A better example of hard-won simplicity comes as the dedication to Theodore Sturgeon's collection of short stories, Sturgeon is Alive and Well:
" . . . Only the simplest go beyond
lucidities in season,
When hungry, eat, when tired, sleep,
and love for no reason."
I should explain how I understand this little poem. It says that paying attention to the simple necessities at their proper times is wisdom. Those who neglect them by going "beyond" them for satisfaction are "simple" in the sense of "unwise."

Friday, 22 February 2013

Poem: "I Have Seen, Can You Believe"

I'm in a poetic mood today. Here's one that I did about a year ago, one of the few I've done in free verse. Subject: Ancient Babylon. Why? I felt like it. :-)


I have seen, can you believe--
waters lapping out to drip
on moss and ferns below
that grow from flower-scented steps,
kept dim by captive trees
dragged from mountain earth and rock
to recreate for kings
a foreign glade.

Not far, a man-built mountain's dressed
in lines of pitch and outstretched
triangles of shade
that almost touch the royal home
that bears the multi-coloured crest
that's borne by Su-Abu himself.

All other colour's leached from living land
and structures' bricks are baked to pale tan
by the god we cannot bear to look upon,
the cause of light and heat and drought
and death and life to men within these lands.

In twisted streets below the business folk
court custom, deal in goods and trust,
hawk phlegm and wares in rising dust
and hope for coin. Clasp hands and bow
the litter lingers now, an eye appears
the curtains shut, the lady passes by
pomegranates, figs, mounds of barley, rye,
tuns of beer, and gold, and lapis lazuli.

Distant walls in triple safety keep
this nest of men, so fears of slaughter sleep
in mighty Babylon.

"Eros Turannos" by Edwin Arlington Robinson

I can only think of two poems that I've encountered in the last five years or so have made my jaw drop with awe and, it must be said, certain other emotions. One of them is "Limbo" by Seamus Heaney. The other is this. It was written in 1914. The title means "Eros (Love) the Tyrant." It is not a happy poem.


Eros Turannos

by Edwin Arlington Robinson

She fears him, and will always ask
   What fated her to choose him;
She meets in his engaging mask                  
   All reasons to refuse him;
But what she meets and what she fears
Are less than are the downward years,
Drawn slowly to the foamless weirs
   Of age, were she to lose him.

Between a blurred sagacity
   That once had power to sound him,
And Love, that will not let him be
   The seeker that she found him,
Her pride assuages her, almost,
As if it were alone the cost.
He sees that he will not be lost,
   And waits, and looks around him.

A sense of ocean and old trees
   Envelops and allures him;
Tradition, touching all he sees
   Beguiles and reassures him;
And all her doubts of what he says
Are dimmed with what she knows of days,
Till even prejudice delays,
   And fades—and she secures him.

The falling leaf inaugurates
   The reign of her confusion;
The pounding wave reverberates
   The crash of her illusion;
And home, where passion lived and died,
Becomes a place where she can hide,—
While all the town and harbor side
   Vibrate with her seclusion.

We tell you, tapping on our brows,
   The story as it should be,—
As if the story of a house
   Were told, or ever could be;
We’ll have no kindly veil between
Her visions and those we have seen,—
As if we guessed what hers have been
   Or what they are, or would be.

Meanwhile, we do no harm; for they
   That with a god have striven,
Not hearing much of what we say,
   Take what the god has given;
Though like waves breaking it may be,
Or like a changed familiar tree,
Or like a stairway to the sea,
   Where down the blind are driven.

Monday, 11 February 2013

Coping with a Carrington Event

A BBC article states that Britain would be able "to cope" with a major solar storm on the order of the Carrington Event. An expert report on Space Weather produced by the Royal Academy of Engineering states that, for example, its power grid is designed as a lattice, so could adjust. GPS might be out for three days. One in ten satellites might be knocked offline, temporarily or permanently. The 4G cell phone service is a concern, as it is not as robust as the 3G or land line systems. It specifically contrasts that with the long lines of the Canadian power system, so there's no comfort there.

All in all, a much more optimistic result than I would have expected, but other countries might be more affected than Britain.

First Principles of Political Economy

I recently exchanged a series of e-mails with someone who holds very conservative economic views. I wanted to explore our differences a bit and try to discover the most basic point at which we differ. I want to give him some privacy, though, so I won't post his name.

A point at which he became upset, and considered me an out-and-out communist, was when I suggested that businesses desired a degree of unemployment in the working population. A degree of unemployment has the following benefits, I said: it made it easier and cheaper to start new businesses; it reduced the wage demands of employees (since there were many who would work for less); and (here we step into psychology) it increased the gap between the wealth of the owners and the wealth of the workers. I rely here on an article on the BBC which states that people perceive themselves as well-off or not because of their wealth relative to others. The point was, in order to do well, people feel that others must do less well. A related point is that wealth reduces compassion.

Those are the reasons I gave, and I also mentioned an article that I read (years ago) about business owners in Southern Alberta complaining about the difficulties that low unemployment caused them. Jobs were left empty, especially if they paid little! Employees would leave if they were not treated well! Obviously this is terrible for the economy. (Please note the irony).

If a degree of unemployment is good for the economy, we can expect that the amount of unemployment would be standardized as an ideal unemployment rate. Thus, economists have determined an ideal unemployment rate range of 4 to 5.6 percent (BLS, 2003). This is not so far from the 7% unemployment rate in Canada in January 2012.

The gentleman's problem with these statements is that Marx had made very similar ones. Marx called the unemployed people the Reserve Army of Labour which, frankly, is a very good metaphor.

I found out about Marx's concept only after I had developed it independently. I explained to the gentleman that I had worked it out from my own first principles of political economy, which are these:
The very first principle: The world isn't fair.

Restatement of the first principle: Those who are poor and powerless are likely to get screwed over.

Corollary of the first principle: As my dad put it, "Those as has, gets." Or, as Matthew puts it, "Whoever has will be given more, and he will have an abundance. Whoever does not have, even what he has will be taken from him."

Second principle: Those who have much are likely to collude to safeguard and increase their wealth and power. This can take place through cartels or through influence on lawmakers, or by being lawmakers.

Restatement of the second principle: House rules means the House always wins.

To take an American example, the dispossession of the Cherokee for the economic benefit of those who had better access to the American Executive and Legislative branches, despite the opposition of the Judicial branch. To take a Canadian one, a small group of families, called the "Family Compact" would buy up government lands for low prices as they became available for development. They had the money to buy it as a block and the inside knowledge, since the legislative and executive branches of government were comprised of members of those families. Then they sold small parcels to the immigrant farmers at inflated prices.

Government still sets the rules for private enterprise, does it not? It also sets the boundaries for what is an "externality" in terms of business accounting, which lets legal economic activity damage others without paying for it.

Corollary to the second principle: The power of the rich and well-connected can only be balanced by the poor through collective action of some sort. In its most direct form, this collective action is protest (with its implicit threat of revolution), unionization, or revolution itself, as in France. ("The sans culottes" of that revolution were the poor).

The poor can act collectively through the vote, if they have it, to create rules and programs that help to expand the middle class. For example, universal education from grades 1 to 12, funded through taxes, is now a good that is beyond pubic debate. Everyone in public life, almost everyone not in public life, supports it. But this would not have been possible if the mass of its beneficiaries, those who could not afford a private education for their children, had not had access to the vote. Do we agree here?

When the poor could not vote, they could not influence the rules of the game, so they were, at various times, put in prison, or workhouses, or indentured, or  shipped to Australia, or killed by man-traps set for poachers, or were set on by the army when they protested.
As for my correspondent's assertion that socialism causes higher unemployment, that certainly doesn't always seem to be the case. That's why the UK is looking to Sweden as an economic model. However, it may not be importable, since Sweden's success is at least partially based on the fact that Swedes trust each other. From the same article:
The fact is there is mutual trust between Swedish unions and employers and Scandinavian countries rank highest in the world when it comes to social trust - 70% of Swedes say they trust one another; just 35% of Brits feel the same way.

The trust between Swedish citizens ranks among the highest in the world.
That trust allows Swedish governments to make bold decisions that would be met with apprehension or cynicism in Britain.
It stems from a unique relationship between the individual and the state established back when most of Europe was operating a feudal system.

Swedish peasants were unusual in owning their land says Lars Tragardh, professor of history at Ersta Skondal University College in Stockholm.

When the nobles wanted to subjugate them, the peasants united with the king to defend their freedom.

"So, there has been this long-standing positive view of the state as the vehicle for liberating individuals from these ties of dependency," says Prof Tragardh, "this has been the critical dynamic in the building of the welfare state."
If a woman depends on a man for income and wealth, how does either party really know that they are together because they love each other rather than that they need each other?"”
Prof Lars Tragardh Ersta Skondal University College
The welfare state was designed to do away with dependency of all kinds: whether on charity - or even on family members.

Professor Tragardh calls it a "Swedish theory of love". It says that love can exist only when neither party is dependent on the other.
 Another article with approximately the same idea.

Sunday, 10 February 2013

Introductory Paragraphs

When I teach writing, which I often have to, I like to teach several simple rhetorical tricks which, together, can raise the quality of what is written. One is anaphora, in which one phrase is repeated to begin several sentences. Another is the list of three. For some reason, three items sound particularly complete and convincing, compared to either two or four. The third is parallel structure. Words may not be repeated, but the form of a clause or phrase may be.

A student had the essay topic, "Is it important that the buildings of downtown Vancouver be beautiful?" We each worked on an introduction to this essay. I tried to use the rhetorical devices listed above plus an opening analogy. The result was this.
A home is a home, even if it is a poor one, but we take pride in it, express joy in it, and share our view of its virtues by making it as clean, beautiful, and welcoming as possible. The same is true of those buildings that stand in and for our cities: the banks and malls and office buildings that are our common space and our collective face. We owe it to ourselves and our guests to design these buildings with a certain beauty.
The first sentence uses the "list of three" trick twice, along with parallel structure among the items of these lists. The "stand in and for" phrase in the second sentence takes advantage of parallel structure. The list of types of buildings stands for all buildings, but suggests that there is a variety among them. The phrase "common space and collective face" uses alliteration and rhyme for emphasis. The paragraph ends with a straightforward thesis statement for the essay.

My style may not be yours, but these tricks are universally helpful.

Thursday, 7 February 2013

Open Source LiveCode: Believe it or not, a worthy cause!

I want to point out to anyone who comes here--quickly, while it is still early enough to do some good--that there is a worthy project on Kickstarter that needs a little financial support. A Scottish company called Runtime Revolution, or RunRev for short, wants to clean up the source code for its main product and release it to the world under an Open Source license. The product is a programming environment called LiveCode. All told, it will cost about a half-million dollars to get the thing done. (More exactly, they're asking for £350,000). Go here to pledge.

Of course, you want to know why you should pledge before you start reaching for your wallet. The Kickstarter page has some videos to give an idea of what LiveCode is like. However, to give some idea of the potential of LiveCode made free, I have to tell you a true story.

Back in 1987, Apple Computer released a program called HyperCard. This was the brainchild of Bill Atkinson and Dan Winkler. Atkinson had written the very first Mac application, a paint program called MacPaint. He wanted to enhance it so that people could click on parts of a picture to see details or text descriptions. Dan Winkler created an English-like programming language called Hypertalk so that objects placed on the picture (such as buttons or text fields or backgrounds) could each contain a program. Click the button, and its program would execute. Click the text field, and start typing in it. Have the button's program alter the text in the text field. There were possibilities here.

The pair got the bit between their teeth and added more ideas. Why have only one picture in a file when you could have any number of them, and flip between them like cards in a rolodex? What if each of these cards had two layers, a foreground layer specific to one card and a background layer that can be shared between cards? What if both layers, and the stack of cards itself, were objects that could hold bits of programming?

Finally, what if the HyperCard program were free? What would people do with it?

Well, the pair, somehow, were able to demand that HyperCard be released for free, and the odd program found its audience. At the lowest level, people approached it as a paint program, a slightly advanced MacPaint. Later, they might add text fields to label or describe the painting, or add in an essay or poem or short story. Sound effects and music might come into it. This could involve placing buttons with very simple scripts such as

on mouseup
   play "cat's miaow"
end mouseup

Alternatively, the button might have an arrow icon and, when clicked, take the user to the next card in the stack. This script would do the trick:

on mouseup
  go to next card
end mouseup

The user would naturally, with increasing confidence, try more and more complicated scripts, or study the scripts of other users, copy and paste buttons from one stack to another, and gradually become expert.

Kids loved to make games with it. Teachers made self-grading tests (I did that), chat programs for the local network, presentation programs (where did the idea for PowerPoint come from, do you think?), and study units. Businesses made information kiosk programs. I did a company handbook, an e-book maker, a multi-file search-and-replace program, a recipe book, and many other programs. In short, I used to say that HyperCard was the only program I needed. These days, with the internet being a big part of everyone's computing life, I'd say that HyperCard and a Web Browser were the only programs I need.

That is, I'd say that if I could still get and run HyperCard. I don't think that Steve Jobs ever really "got" HyperCard, and he axed it in March 2004, when he returned to Apple. I never really forgave him for that. Quite a few others went through the grieving process. Some tried, with mixed success, to recreate the old mixture of paint tools, text tools, stack of cards, and programming language. The most successful of these attempts eventually became LiveCode.

LiveCode's programming language is basically HyperTalk, but with a much larger vocabulary. Many old HyperCard stacks can be imported into LiveCode and simply work; others can be tinkered with until they work again. The paint tools are there, but are in full colour instead of black and white. The programs can be made to work in Windows, Mac, Linux, or on a cell phone or iPad. In other words, LiveCode is, to a great degree, a modern version of HyperCard.

What it lacks, that HyperCard had, is free access to an audience of curious and uncommitted users: children, businessmen, parents, teachers, and other amateurs of every stripe. If LiveCode becomes Open Source, it may get that aspect of HyperCard going, too.

As a person who used computers back in the 80's, I am frustrated that most users do not know how to "talk" to their computers. Every need is solved by getting a pre-made program instead of giving the computer a direct instruction to do the job. I'm as guilty as the rest in this: I learned BASIC to talk to my Apple II; I learned HyperTalk to talk to my Mac; I have not learned C or C+ or Python, Perl, BASH, JavaScript, or Ruby to talk to my current computer. Not only are the choices too many, I find many of them just too hard for an occasional user like me. LiveCode could change this sad situation for many people, if they could get it without a second thought and without a hundred dollar charge on their credit cards. As I said, it's a worthy cause.

Wednesday, 6 February 2013


I am frustrated by the absence of any action or communication from Elections Canada as they investigate the automated phone calls that, in the last election, directed voters to the wrong address. The evidence to date points to someone or some persons within the Conservative Party.

Robocalls were recently used to find critics of a redistricting plan in Saskatchewan. The Conservative Party denied any responsibility for the calls, then admitted responsibility.

What to say about these two incidents? Ian Fleming said it best in his novel Goldfinger: "Once is happenstance. Twice is coincidence. Three times, it's enemy action."