Wednesday, October 07, 2020

The Paradox of Intolerance

I had to chuckle at this study by Skeptic Research Center. They call it "The Paradox of Intolerance". They're puzzled that people they deem "intolerant" are significantly more likely than people they deem "tolerant" to agree with the following four statements:

1. "The United States government should provide financial support to people in other countries who are in need"

2. "The United States government should do more to provide opportunities for American citizens that are women and ethnic minorities"

3. "The United States government should open its borders to all immigrants in need"

4. "Political conflict between liberals and conservatives is a major threat to society"

They do not stop to consider whether it's their definition of "tolerance" that is the source of this supposed paradox. According to "Dave's Dictionary", tolerance has nothing to do with agreement with particular views; rather, it's about TOLERATING views you disagree with. It's right there in the name.

They also don't consider the fact that tolerance is actual work. It requires rest and recuperation. Thus, while you may tolerate other's right to have their opinions even when you know that they're completely misguided, you don't want to have to work at it 24/7. This requires a place of retreat and relaxation. You should be able to create that space by exercising maximum control over your own personal environment: your home life, where you choose to work, which friends you hang out with. However, it's exactly this desire for such a retreat that they have defined as intolerance.

It's no puzzle to me why the "intolerant" people are generally NOT out looting, rioting, shooting up the place and otherwise engaging in socially destructive behavior; and why it's the people who think they are "tolerant" ARE.

TimeTool Update

 After a very long time, I've updated TimeTool.

To be sure, for the longest time I didn't update it because it simply did what I wanted. However, it was looking pretty dated on new platforms and was no longer being rendered properly. So... update.


A quick description for those who haven't seen or used the tool:

Basically, TimeTool allows you to list a number of tasks or projects that you're working on and simply accrue time to one of them at a time by pointing at it.  People simply think they can multitask. In fact, they task-switch; and that's what TimeTool keeps track of: where your is attention focused. If, like me, you work in an environment where you have to bill time to multiple tasks, that's exactly what you need.


The new version has moved from Delphi to Lazarus, and adds just a few features:
  • The controls are all rendered properly on modern platforms.
  • Only one instance can run at a time. This prevents you from accidentally trashing a data file.
  • There is now a time calculator. I have a rather good physical calculator that does that, but the thing is over 40 years old, and I wanted the convenience of having it right there on the tool where I'll be recording the results. TimeTool's calculator is actually three in one:
    • Durations: Put two durations in (Days, Hours, Minutes, Seconds), and the calculator will add or subtract them. Or put in a single duration (Time1) and it will multiply or divide it as you direct.
    • Time and Date: You can add or subtract a duration to/from a calendar date and see where it winds up on the calendar.
    • Time Between Dates: Put in two calendar datetimes and it will calculate the difference.
  • Calculator results can be copy-and-pasted.
As before, 
  • There is no setup. Just extract the zip and run the appropriate executable.
  • There's none of this "clocking in" and "clocking out" nonsense. The clock is running, or it isn't. If it's running, just point to the task you're working on and it will start accruing time there. Doing something else...? Point to the new task. That's all. It's also handy for keeping track of overhead: just make a task for it.
  • Data is automatically saved when the program is closed. 
  • The tool will accrue time even if the computer is turned off. The saved data file records whether it was accruing time when you closed the program, and will calculate the time elapsed until you start it again. You can start a task and shut down, reboot... whatever. It will still keep accurate time.
  • You can save your data to CSV for use in your favorite spreadsheet. This makes it pretty easy to keep up with your work when you prepare timesheets for submission or prepare invoices.
  • It's a tool, not your boss. You can edit times freely.
  • Help is included.


Main Screen

Duration Calculator

Time and Date Calculator

Time Between Dates Calculator


For now, just get it from my Dropbox. I'll prepare a permanent home for it shortly.

Executable. This zip archive contains binaries for both Windows (64-bit) and Linux:

Source code (Lazarus - Free Pascal):

And of course, this is free software licensed under the GNU General Public License.


Thursday, June 18, 2020

Solaris, Solaris, Solaris, Solaris

I've watched three (count 'em, three) versions of Solaris now. If you're unaware (and if you've read movie reviews, you may well be), Solaris began as a highly acclaimed novel by Polish author Stanislaw Lem. Having read the book, the only film I can recommend is the 1968 TV movie. Of course, the production values are lower, but this isn't a special-effects story (something forgotten by both Tarkovsky and Soderbergh). 

Something that absolutely pisses me off about the later two adaptations (and book-to-film adaptations in general) is the degree to which the director is willing to change the author's message into something else.  Stanislaw Lem himself complained about this with regard to the feature films. Tarkovsky's indignant response was proclaim that his "artistic vision" should not be constrained.

People watch movies based on books because they either liked what the author had to say or they haven't read the story and want to find out what it's all about. Of course, they're not going to find out from most movie adaptations. You'll find very few cases where someone has read a book and said that the movie is better. Very few. And in almost all of those, the author had a hand in the production of the movie.

If you've got your own message to tell, then the simple fact is that you can create your own story to tell it.  Of course this is harder. You don't get to ride the author's coat-tails that way. You don't get instant name-recognition and fame. But at least you get to present your vision without stepping on someone else's.

So why do they do it? Well, for one thing, they've been trained to. They have to film something that's film-able, and since millions of dollars are at stake, they have to maximize their chances of it being a commercial success. It's risky to put a lot of investment in something that no one's ever heard of. So they pay off authors to buy the name recognition. The culture among filmmakers normalizes the behavior. It's not just 'Hollywood', either. Tarkovsky was a Soviet. The rationalization is that the author was paid and now the screenwriter and director can have their own way with the story unimpeded.

I've heard the same arguments before. It's the sort of thing a misogynist says when he misuses a prostitute. "She's been paid" makes whatever they do alright and not at all demeaning. Why should they invest a loving relationship when it's so much easier to spend a few bucks and rape a hooker? To too many film directors, authors are merely hookers. Even when they pay lip service to being "faithful to the source material", they're not. They don't even know what "faithful" means. Some of the worst cases are when a dead author's name is plastered over the title as if you're about to see the real, original vision. News flash: you're not.

So I won't join with the teeming crowds that proclaim Tarkovsky a visionary genius. I'm not going to praise his disjointed use of color, or his slow, plodding style as artistic wonderment. It remains slow, plodding, and disjointed. I've read plenty of analyses of the film, and every one comes across as rationalization. If there's genius here, it's Lem's, and it's a poor, distorted shadow of what you get from the book. Lem engaged in a loving act of creation. Tarkovsky raped a hooker.

I won't praise Soderbergh's 2002 vision either. He copped out. He said he wanted to be closer to Lem's story than Tarkovsky; then having said it, directly proceeded to chuck that out and do whatever the hell he wanted to instead. Might as well depict Solaris as a magical fuzzball instead of an oceanic world. Might as well cap it off by having George Clooney live in an idyllic fantasy world where "everything we've ever done is forgiven". Bend over, Lem.

Lem's Solaris is not a love story. There is no happy ending. This is a story about what happens when humans encounter a truly alien entity. As Lem himself pointed out, the title of the book is not Love in Space; it's Solaris. That's what the story is about. It's not about people finding absolution, love, forgiveness, or the illusion of the same. I won't detail the story since you can just read the book. I will tell you that the book ends on a cliffhanger, and a good part of Lem's message is summarized on the last couple of pages. Chris Kelvin doesn't know what's going to happen next. Although he clings to hope, it's a desperate hope, with no guarantees. Only the 1968 TV movie had the balls to show it.

Sunday, June 14, 2020

Lyra (Revised Rules)

Let me tell you about Martian Cake: Through his telescope, a Martian sees an Earthman approaching in a rocket, and wants to make him feel at home. So he bakes a cake. Unfortunately, all he knows about cake is what he's seen through his telescope, so he substitutes local ingredients. It looks beautiful, but the Earthman is immediately poisoned upon eating it.

That's the design conceit of the game of Lyra. What might Chess look like if it were "re-created" by someone who's had glance at the game, but never learned the rules and doesn't even quite remember what the pieces look like, or even what size the board is? He knows that the pieces move differently from one another, and one piece is more important, but that's about it. As a result, this game is played on a 6x6 board and the movement of every piece has changed (other than the General, which moves as a King).

As might be expected, this isn't "Earth cake" (Chess). However, I'm tweaking the rules as gameplay, and may introduce variants. At the end of the rules pdf I've noted a few that I've tried in playtesting.

UPDATE: In extensive play-testing, the game wound up being too cautious. To fix this, I've added an element of chance using dice. The conceit here is that the game is 'properly' played with actual people who duel on the playing field. While in Chess, the only difference in the strength of the pieces are in their movement, in Lyra, the pieces also differ in their attack strength. Each piece attacks and defends using dice to simulate the uncertainties of hand-to-hand combat. Chess purists probably won't like this borrowing from a Jetan variant, but it honestly makes for a much better game. And if you'd rather play Chess, well... you know where the board is.


Lyra game in progress
"Design conceit" aside, I wrote the game purely because I had built a very beautiful 6x6 physical board and pieces, and just wanted something different to play on it. I made the pieces visually unique because playing it with Chess pieces is mildly confusing (though it can be done).

It's named Lyra merely because I like the name.


You can download the rules here: Lyra-rules.pdf

Each army consists of the following:

  • General. The general moves like a Chess King (one square in any direction). It attacks with a d12 and defends with a d10. It is not obliged to avoid check.
  • Assassin. This moves one square diagonally or horizontally (not forward or back. It attacks with a d10 and defends with a d8. When the Assassin captures another piece, it takes on that piece's movement in addition to its own. A promoted Assassin can jump enemy pieces.
  • Captains.  The Captain moves 1 or 2 squares orthogonally, or 1 square diagonally forward. It may jump friendly pieces (but not enemy pieces). The Captain attacks with a d8 and defends with a d6. A Captain cannot be promoted.
  • Lieutenants. The Lieutenant moves 1 or 2 squares diagonally, or 1 square orthogonally forward or back (not side-to-side). As with the Captain, it may jump friendly pieces (but not enemy pieces). The Lieutenant attacks with a d6 and defends with a d4.
  • Soldiers. The Soldier moves 1 square forward or sideways, and captures the same way. It attacks and defends with a d4. Upon reaching the back rank, the Soldier is promoted to Lieutenant.
To deal with attack and defense, each player should have one each of the following dice: d4, d6, d8, d10, and d12. It's best if these are colored dark and light, similar to the playing pieces. Combat is as follows:
  1. The attacking player threatens an opposing piece.
  2. The players choose the appropriate dice as described above and roll simultaneously.
  3. If the attacker's roll is higher, the defending piece is removed. Otherwise, it's a 'push', no one wins, the pieces stay where they are, and the attacker's turn is over. (You may think that the attacker's piece should be removed if the defender's roll is higher, but playtesting shows that it's enough of a penalty that the attacker has effectively wasted a turn on the attack. I've seen the defender ignore several failed attacks in order to strengthen his position. It's a big advantage.)


The game itself has some interesting features:
  • The Assassin piece takes on the movement of the last piece it captured in addition to its own. It's helpful to place the captured piece at the side of the board to remember this.
  • Soldiers do not move or capture like pawns. There is no choice in promotion... Soldiers always promote to Lieutenant. It's helpful to make a couple of extra Lieutenants when building a set to allow for this.
  • Officers (Lieutenants and Captains -- and Assassins who have captured either of them) can step over friendly pieces. 
  • The pieces are designed to have weak spots. Proper play should find and exploit them.
The most important thing to remember is that this is not Chess. Very little of what you know about Chess is going to help you here, beyond some very general rules of thumb such as maximizing your mobility and keeping pieces defended. In particular, there is no onus whatsoever for a player to announce check.  There is no checkmate here, as a General can fight himself out of a trap that in Chess would be absolutely hopeless. It's a fight to the death, and in combat the General is the strongest man on the board.

There are two basic strategies that can prove effective. The first is to take advantage of the leaping ability of your officers to get them onto the field quickly. This allows you to clear some room to allow Soldiers to promote to Lieutenants in the endgame. The second is to use your Soldier early, holding back higher ranking officers for the endgame. Even though a Soldier is relatively weak in battle, it does stand a good chance against a Lieutenant, and has a better-than-nothing chance against any other piece. In either strategy, you'll probably find your Lyran General much more active than a Chess King would be. Because of his combat strength, you may find it advantageous to get him into striking distance when threatened by an officer.

With Lyra's smaller board, the pieces engage much more quickly than in Chess, so there is no en-passant. Also, since officers can step over friendly pieces at any time, there is no castling, and nothing like a Knight. And since movement is generally limited to a maximum of two steps, you won't generally find a lot of back-field infiltration in this game. It's very much a field of battle with a definite front. When played without dice, since the pieces are more similar in strength than in Chess, a game tends to be either cautious dancing or a bloodbath. In other words, without the dice it's a fairly boring game and draws are common. With dice, it's a nail-biter.

When playing with dice, you'll find aggressive play is rewarded. Your pieces are stronger when attacking. Although a General greatly outmatches a Soldier (d10 to d4), it's possible for the Soldier to prevail. An attacking Assassin is on equal footing with a General (d10 to d10). Nevertheless, it's possible to lose the game due to chance, even if your strategy is perfect. Stuff like that happens in war. For best results, you'll want to cherish your high-ranking officers to give yourself the best chance of delivering a finishing stroke.


As for equipment, you can play it just fine on a chessboard. Just set the knights aside and ignore the outer ranks and files of the board. But if you'd like to make a set like mine for yourself, I'm not going to pretend this was difficult. I cut a 12 x 12" inch sheet of plywood, glued some 2" tiles (from Home Depot) onto it, and then grouted it as you would a floor. I affixed it to a 12 x 12" picture frame in place of the glass and backing. The pieces are made from bits of craft wood that I got from Hobby Lobby: balls, eggs, doll pin stands, and screw-hole caps. The dice can be gotten from any gaming or hobby store or online.

Or, you could play against a computer using Zillions of Games. Here's the file containing the game: []. Keep in mind that you'll need a copy of Zillions of Games to run it. Registration is only about 25 bucks and for that you get, as the name implies, a potentially unlimited supply of boardgames, card games, and puzzles.

When I first conceived of the game, I created the ruleset for Zillions. It actually plays a decent game, albeit without dice, and follows all the basic rules, including the wonky captures of the Assassin piece, and the fact that officers can jump over friendly pieces. I'm currently working on a version that includes the new combat rules with dice. This is a little tricky in Zillions, as it doesn't natively implement dice or math, so I may do it in Ludii instead (or as well). In addition to handling a more robust set of ludemes than Zillions, Ludii is free. And being Java-based, it can run on any platform.

A nice box (and dice!) completes the set!
These are the dice you'll need.


If you have Zillions of Games, you might try my other games for it:
  • Jedi Chess pits a powerful Sith Lord and his apprentice against the Jedi Order. The Apprentice moves like a Chess Queen; the Sith Lord combines the moves of the Chess Queen and the Knight.
Jedi Chess
  • A variant of Jedi Chess (found in the same file) called Rebel Chess pits the Emperor and his new apprentice, Darth Vader, against an army of familiar freedom fighters. Vader moves as a Queen. The Emperor's power is waning: here he combines the moves of the Chess King and Knight.
Rebel Chess variant
  • Qui-Vive challenges you to place five pieces in any of the following arrangements: V, +, X, /, \, ̶, or |. It's harder than it sounds, because the computer is doing the same thing, and it's very good at setting two different patterns at the same time. I would say Zillions plays this at expert level. Of course, you can choose to dumb it down.
Qui Vive

Thursday, June 11, 2020

IBM Opts Out of Facial Recognition

The Verge reports that IBM has ceased offering, developing, or researching facial recognition or analysis software.

Some notes about the article and what I see as politically motivated statements.
"Facial recognition software has improved greatly over the last decade thanks to advances in artificial intelligence. At the same time, the technology — because it is often provided by private companies with little regulation or federal oversight — has been shown to suffer from bias along lines of age, race, and ethnicity, which can make the tools unreliable for law enforcement and security and ripe for potential civil rights abuses."
This isn't accurate. The reason that the tools show bias has nothing to do with lack of regulation or federal oversight. It's because some ethnic groups show a lesser degree of facial morphism than others. If you have ever taken part in a study to check a computer's findings against that of a human evaluator -- and I have -- you have seen that for yourself. Human evaluators do not get it right 100% of the time either. And the bias among humans is similar to that of computers, no matter who is doing the evaluating. Some subjects are just harder to tell apart. That's a fact that no amount of oversight, regulation, wishful thinking, or outrage can eliminate.

Facial recognition software doesn't correctly identify members of any group 100% of the time; but that shouldn't be its purpose. Rather, when properly employed it would be used to narrow down a search so that human evaluators are not flooded with obvious mismatches. The problem isn't the technology. It's the use to which it's put. In not making this distinction clear, the article is misinformative.

More properly stated, the tools are unreliable for law enforcement and security because they are being improperly employed. That's where oversight is necessary.
"In 2018, research by Joy Buolamwini and Timnit Gebru revealed for the first time the extent to which many commercial facial recognition systems (including IBM’s) were biased. This work and the pair’s subsequent studies led to mainstream criticism of these algorithms and ongoing attempts to rectify bias."
They are referring to results posted at, and I invite you to follow the link to see them. All products exhibit similar bias, which is exactly what you would expect to see if what I stated above is accurate. Some groups are simply more difficult to classify by gender than others, even for neural networks. This alone is not an indication of either sexism or racism. makes this insightful comment: "However, accuracy is not the only issue. Flawless facial analysis technology can be abused in the hands of authoritarian governments, personal adversaries, and predatory companies." Again, it is the use to which the products are put that are primary concern. 

The Verge continues:
"IBM has tried to help with the issue of bias in facial recognition, releasing a public data set in 2018 designed to help reduce bias as part of the training data for a facial recognition model. But IBM was also found to be sharing a separate training data set of nearly one million photos in January 2019 taken from Flickr without the consent of the subjects — though the photos were shared under a Creative Commons license."
In other words, they did have the consent of the subjects. The statement strongly suggests that author of the Verge article is unclear on what "Creative Commons" means. It is a license to use the material without having to bother the copyright holder for permission. An appropriate Creative Commons license is permission. The article is again inaccurate in phrasing this as if it were an object of concern.

In IBM's letter to Congress [PDF], Arvind Krishna (CEO of IBM) makes it clear why IBM is withdrawing the products: "IBM firmly opposes and will not condone uses of any technology, including facial recognition technology offered by other vendors, for mass surveillance, racial profiling, violations of basic human rights and freedoms, or any purpose which is not consistent with our values and Principles of Trust and Transparency. We believe now is the time to begin a national dialogue on whether and how facial recognition technology should be employed by domestic law enforcement agencies." It's being misused. 

"Bias" in the products is inherent. You can't make it perfect. People can't do it perfectly. So to use it properly, you have to know where the weaknesses are and allow for them. Used properly, it could be a valuable tool. Unfortunately, we have people in positions of authority who don't know how to use their tools properly.

And that, folks, is why you can't have nice things.


Aside: The difficulties inherent in using facial recognition software remind me of a business rules engine I designed for a major mortgage insurance company. At the turn of the century, lenders were pressed by the Federal government to increase lending to groups that wouldn't typically be regarded as strong financial risks. This increased the number of questionable applications that the underwriters had to evaluate. To an extent, we had to introduce bias in order to deal with this, as purely objective financial information alone was the cause of the perceived bias Congress was legislating against. The purpose of the rules engine was not to do the job of underwriters. However, some decisions are slam-dunks... either an easy "yes" or "no". This leaves a grey area of uncertainty where human evaluation is required. So the engine gave trinary results. The easy yes/no decisions were automatically processed, and difficult decisions were left to humans who were qualified to deal with uncertain judgment calls. This didn't absolve humans for responsibilities for the slam-dunk yes/no decisions. Humans still wrote the rules. But once the rules were written and approved, the software allowed for thousands more transactions to be processed in a day than would be otherwise possible if human underwriters were bogged down mechanically responding to loan applications that didn't require their talents. Software exists to make people more efficient, not replace them.

Thursday, May 21, 2020

No, they didn't (part 3)

It was about time for more bullshit sensationalist "science" headlines. This time people are geeking out over the possibility that a science experiment in Antarctica detected "evidence" of a parallel universe where time runs backward.

Of course they didn't.

The latest Internet frenzy comes to you via this article from with the headline, "We may have spotted a parallel universe going backwards in time". Other news outlets dropped the "may" from their headlines and simply reported it as "fact". You can thank sloppy headline writers for the hype... again. Which gives me the opportunity to pull out this graphic one more time, and award it to all the media outlets that have copied it from one another without the slightest effort toward critical analysis.

The source of the data is the Antarctic Impulsive
Transient Antenna (ANITA), a NASA-sponsored balloon experiment. You can read the report here [PDF]. The report details four anomalous particle detections over the years, the results of supposed neutrino collisions. A problem with these detections is that they appear to have originated from the direction of the Earth, which would be unlikely given the way these are known to originate. Note, please, the word unlikely. Note that it does not mean "impossible". Rather, it hints at a possibility. It is possible, for example, that the readings were erroneous. It is possible that the current models are not accurate. It is possible that some other factors, as yet unknown, were involved. For instance, while the polarity is inconsistent with a reflection, multiple reflections, as unlikely as they may be, may account for it. It is possible that, as unlikely as it may be, the detected neutrinos made it through the Earth. It is also possible that a very unlikely hitherto unobserved event did in fact occur.

What is less likely than any of those possibilities is that the readings have revealed a hitherto-unknown entire universe, along with evidence of how the laws of nature operate in same. There is no evidence that there is a universe where left is right, up is down, and time is reversed. While in the right hands these may become hypotheses, as reported they are speculations and fantasies. Not evidence. At the moment what we have is four readings in need of explanation.

Let me be clear, though... the NASA report is not at fault. The authors are exceedingly clear about what they discovered. They don't say what it is; rather, they say what it's unlikely to be, and why they think that. And as they state in the report, "Current or future data may be able to confirm or falsify whether neutrino interactions are the origin of this event." These are scientists, not click-mongers and sensationalists.

In case you've forgotten previous hype, the following once-major headlines are also bullshit:
  • Scientists have discovered cold fusion
  • Study finds scientific reproducibility does not equate to scientific truth
  • Bristol academic cracks Voynich code
  • Satnavs ‘switch off’ part of the brain we use for navigation
However, one headline that is decidedly not bullshit is this:

Keep calm and carry on. Your life hasn't changed after all.

Wednesday, May 20, 2020

Critical Thinking Skills are Harder to Find than Toilet Paper

This bit of faulty logic was seen on Twitter:

Yes, we all know that the President of the United States has had his eye on you for some time. His cup of hate runneth over for you and your family. The logical fallacy here really shouldn't have to be explained. If you can't see it, it's because you're not thinking very well. And unlike the President, I'm directing that comment directly at those who re-tweet this nonsense. If that's you, then I'm talking to you. The one who doesn't see the fallacy. It's certainly possible that at one time you exhibited a fine measure of intelligence, but you have chosen to set it aside. Your thinking skills have been quarantined with the rest of you, and you're not letting them loose on the world.

Let's see if some other examples of the same fallacy might make it clear.
  • 1.25 million people die in road crashes every year. When the government granted you a license to drive, it's because whoever was President at the time personally wanted you... yes, you... and everyone in the car with you to die. Not some abstract percentage. You.
  • 320,000 people die annually from accidental drowning. When your parents took you to the beach or lake, it's because they wanted you to die. Not some abstract percentage. You... their own child. Your parents want you to die.
  • All retirement plans are invested in the stock market. When clueless idiots like the one who posted that faulty tweet wish to trash the market, it's because they personally want you... yes, you... to spend your retirement in dependence and poverty. Not some abstract percentage. You. They mean your mom and your grandparents should suffer simply to lift their image as "social influencers". This poster wants you to starve.
I could go through a long list of these things, in each case citing WHO fact sheets and other objectively verifiable sources, but it should be unnecessary. Of course none of those people want these horrible consequences to fall on you personally any more (or less) than the President does, but they are the inevitable result of freedom of action. Some people hate this simple truth: then again, simple truth isn't very popular in this age of wishful thinking and magical ideals.

As noted above, all pension and retirement plans are kept solvent through investments. Sheer ignorance results in the mistaken impression that it's the "rich" and "one-percenters" who unfairly take advantage. There are people who do get rich off of the stock market. They're doing what the socialist mouthpieces are not, but could. But millions of blue collar people depend on that same stock market, and they're foolish desire to 'stick it' to the few rich adversely affects those millions proportionally more.

Just. Because. Of. Jealousy.

At least, that's the way it is among the rank and file. Socialist leadership is another story. Their attempt to keep you distracted with misinformation and feed your envy is calculated to gain power. To make socialism look good, they have to make capitalism look bad, and that requires that they frighten you into acting against society's best interest, and your own.