Friday, December 25, 2020

Update re Canada COVID cases 2020/12/25

The initial outbreak was ending in September. Unfortunately, it looks as if a combination of a slightly different strain and insufficient containment led to a second wave. That's the bad news. The good news is that this strain is cresting slightly lower in terms of deaths, and is on its way out as well. Hopefully we can learn our lesson from the first two times and starve this virus out. However, to be honest, I am a bit pessimistic going forward. It looks as if we may go into an 'endemic' status similar to what we have with cold and flu. Good news is it flattens out more or less permanently with waves similar to cold and flu. That's also the bad news because it won't go away. The nature of the mRNA vaccines coming online is such that there is some hope that they will work to eradicate it, but that may be too hopeful. At the present time, it looks to get no worse and to be getting better within a short time. (~~Feb 1) (Graphs from

Saturday, September 12, 2020

Looks like COVID Pandemic is ending

 September Coronavirus Update 2020/09/12

Back in January, I heard about the Coronavirus. In February, I took a look at the data coming in and it was alarming. I told friends and family in February and I posted about it then. It was clear from the data that the spread was exponential. Exponential curves rise very quickly in a way that is counter intuitive. In the real world, curves like this follow a smooth path and this one was sharply upward. I posted various graphs predicting awful numbers and as these things usually go, those numbers were realized. 
Mercifully, it has become apparent that the curve has followed its course and we were on the other side of it. Numbers are down and it is in the nature of these types of curve that it will continue on its downward course until it is gone. 
The US curve is slightly different and because their numbers are so large they skew global results. The green line shows world figures excluding the US. In either case, the trend is clearly down and out. 

You don't need to know the underlying causes to predict what happens next. In the real world, data like this typically follows the pattern sketched out by the curves you see. That is what has happened here. 

In Canada, the nature of the curve is similarly trending down. Particular experiences were different in different regions, but the overall trend is the same as the rest of the world. 

The raw data for these graphs can be had on github here:

Sunday, August 2, 2020

Crucial SSD BIOS update

Executive summary: If Crucial Storage Executive can't see your Crucial drive, you may be able to fix that by re-running as Administrator. 

Windows 10 continues to be a nightmare. The latest update has caused my machine to go wonky and it was suggested that, for reasons unknown, my SSD boot drive needed a BIOS update. 

The drive in question is a Crucial MX500 CT500MX500 S SD1 and the BIOS update is from M3CR020 to M3CR023. 

I initially attempted to burn and boot from a DVD ROM, but that came back with an error: 

"could not find kernel image boot/vmlinuz64"

You would think that something whose sole purpose is to boot into one program could get that right. That is, you would think that this very basic thing would have been tested prior to release. Sigh. No doubt there is a tortured route to get that thing to boot, but for me there was an easier way. You would think that Crucial would have offered that up first rather than the burnable image, but not in my case. 

I then installed their Windows software -- Crucial Storage Executive. It cheerfully informed me that "no supported drives were discovered" even though it was launched from the Crucial drive in question and was running under an OS that was booted on it. 

So ... it turns out that even though the software was installed with Crucial's installation program, it does not launch with or ask for the appropriate permissions to read the drive. In my case, re-launching with "Run as Administrator" proved to be the solution. 

The BIOS update was finally able to be initiated and completed successfully in a couple of minutes. 

Saturday, June 27, 2020

Vision changes with aging

This is to support a design note that users should be able to change representations they see and not have one forced upon them. Things like the wrong size fonts or colors with poor contrast begin to make things unreadable for some. People differ, not just from one another, but even from themselves at different points in time. One size does not fit all. 

As we age, our vision changes. This describes what, in my case, actually changed. 
I had fairly exceptional vision when I was young. Even by the time I was in my thirties it was more acute than normal. When I was on the job as a coder in those early years, I could not get the font small enough. Being able to view very long lines without wrapping made code easier to understand. 
By the time I was is in my forties, my vision had become noticeably worse. I could operate with normal font sizes, but could no longer see the smaller ones. 
By the time I was well into my fifties, I needed to be able to adjust displays to larger font sizes. It was becoming to tedious to use normal sizes. 
Now that I am in my sixties, I find that I can manage with reasonably larger than normal font sizes when I am fresh and my eyes are well rested. As they tire I begin to need unreasonably large font sizes. Eventually, I have to call it a day sooner than I would like because of problems with my vision.  

Sunday, May 10, 2020

Logitech button fix

Problem: Left mouse button releases when held down. It makes drag and drop fail, among other things. In my case, both buttons ceased working after a while.

Fix: ""Press the right click button and hold-it, turn the mouse off and on, leave the right mouse button pressed while clicking on the left click button 5 times Quit pressing the right click button and turn the mouse off. Click and hold the right mouse button, turn the mouse on and finally release the right mouse button."

As the original poster of this said, it works!!!!

Note that this is happening in 2020, the year of Coronavirus

This is really unbelievable, but it must be a reset sequence pursuant to some other arcane sequence that messes it up in the first place.

This is a fix for the Logitech Performance MX mouse, but may work for others.

Sunday, March 1, 2020

Coronavirus notes update

2020-03-31 -- Update: Have created a variety of graphs showing what I expect the spread of the virus in the coming month to look like. It does not look good. Thus far, we are on pretty much a 'worst case' trajectory. Recent news of people ignoring advice to stay home is discouraging. Unfortunately, this thing spreads so quickly that by the time things get bad enough for people to take decisive action it will be too late. 

2020-03-08 -- Update: Canada is currently on the same trajectory as countries where the Coronavirus got out of control. Unfortunately, global containment measures have not been aggressive enough and a pandemic now seems certain. In Canada, with aggressive measures following the example set by China, we could contain this until better treatments are available and ultimately there is a vaccine. As of this writing, these measures are not being taken here in Canada. It is likely we will have to take aggressive measures anyway, we should be doing it sooner rather than later. 

2020-03-02 18:15 -- Update: Ugh ... Just graphed scenarios:

Current Trajectory based on today's increase in Canada
Best Case Trajectory based on percentages from containment in China
Worst Case based on percentages from an actual worst case

The current case looks better than the 'Best Case' initially. We have a shallower growth rate than China reported based on the one day today, but that is inconsistent with how this has generally spread. We don't appear to be moving yet to properly contain and I find it doubtful that we can move any more quickly and surely than to keep it to the 'best case' numbers in the next six weeks or so. 

We need real leaders in power rather than poll-following ... uh ... followers. The Coronavirus outbreak caught my attention back when there were only a couple thousand cases reported in China. The reason I kept looking is because it was fatal, I could see that the rate at which it was spreading was very rapid and, at the time it was out of control. Most countries have seemed to take a 'wait and see' attitude until they lose control. Canada and the States still have a chance to contain, but the window is already closing and last I heard we/they are not taking the strict measures that containment requires. That means likely many thousands of deaths, possibly more and potentially massive disruption as everything is finally locked down. At the rate of increase Canada is reporting right now, we could be worse than China, with 100K cases and 3K deaths, within ten weeks. Worst case we could see more than a million cases and tens of thousands of deaths in less than six weeks. Given how slow we/they have been to act thus far, I think it is time to get on top of this. 

2020-03-02 -- Update: Cases now exceed 90K and more than 3K have died. In case somebody who is managing this, or something like this, is reading: One of the very worst problems about this outbreak is the lack of reliable information. People on the ground have to understand how important accurate, timely and available information is. From the moment something like this is identified at all, every healthcare person should be following a similar protocol to record as much of the information as they can about: presentment, symptoms, exposure, location, onset, diagnosis and the timing of each thing. Some are exposed, some of those exposed contract, some who contract are diagnosed, some recover, some diagnosed become critical, some critical die. Without exact information, particularly timing on these events, it becomes very difficult to understand, predict and control -- as we have seen. Information that is being closely held by small clusters of entities is useless to anyone else. It should be flowing in real time to a central repository openly available to all. 

2020-03-01 -- Update: Figures from China still indicate that they have it under control. However, other countries have failed to take necessary measures quickly and completely enough. The virus is spreading rapidly in Iran, Italy and South Korea. They simply do not have it under control. It is disturbing that countries like Canada are waiting so long to lock things down. This outbreak appears to be extremely difficult to contain and authorities everywhere seem unwilling to act until it is too late.

2020-02-29 -- Update: Reporting from China is still problematic. It appears that they are maintaining control, but the latest numbers are not consistent with accurate reporting. Since yesterday, reported daily new cases jumped from 8 to 403 and new deaths jumped from zero to 47. That is consistent with inaccurate data collection and/or reporting rather than an accurate change. 

South Korea and Iran currently do not have control with new cases jumping to 26%of the total and 35% of the total respectively. Iran is reporting 21% new deaths bringing current (reported) mortality rate to 7%. 

There is no cause for panic. Deaths due to Flu greatly outnumber current coronavirus deaths. However, there is cause for concern. We are still dealing with an unknown, but we know it has the potential to be bad. So far, it appears that incubation periods can be long -- as long as 14 days, perhaps more. During that time, infected people are contagious, they spread the disease and it does not require direct contact. That makes it difficult to contain. 

So far, it would appear that at least 1 in 50 infected people die. If the person has risk factors, that number climbs to as high as 1 in 10. That last is literally like playing russian roulette with a 10 round magazine. 

China's initial response to the outbreak was confused and ineffective. That led to a dramatic rise in the number of cases. They had trouble bringing it under control, despite having and ultimately using significant power to quarantine and to treat. China currently has 780 million people under travel restrictions -- ten percent of the world's population. 

It is worrisome that the rest of the world seems to be recapitulating China's original trajectory. Unlike China, countries in the Western World have much less control over their populations. We know that this infection can travel and increase quickly and we know that at least to some extent it is currently fatal. 

Before getting it under control, China 

(1) Figures are obtained from live updates here:

(2) Prior notes are here:

Friday, February 21, 2020

Conscious Artificial Intelligence

Consciousness at its heart is relatively simple. It is an awareness of oneself within the world.

The thing that makes it necessary to have a sense of 'self' in particular is our ability is to work things out in simulation using our imagination.

We can imagine that we are dreaming and in that dream we are, in turn, dreaming about ourselves. When dreaming, the simulation of oneself can be so compelling that we actually believe that the dreamworld is real and that our dream self is our real self. However, at a deep level, we 'know' that there is a real 'self' at the top of any imaginary hierarchy and that is us -- the real one. No matter how perfect the simulation, there is always a real separate central consciousness to which we can return.

In the text above, a conscious individual reading it is modeling (imagining) some person imagining that they are dreaming a dream about themselves within another dream. At no point does ones 'real' conscious self detach and enter the imagined world, even when the internal simulation is apparently real in every regard. There is always an ultimate sense of 'self' and though you imagine that you are in a situation with great fidelity, you know that the real you is only visiting a simulation.

If nothing else, a conscious awareness of oneself supports highly accurate modeling, right down to feelings inside. Without a 'real' conscious self, one might get entirely lost ina simulations.

In developing a conscious AI, I would create a top level 'self' that could 'know' for sure if it was its real self or its real self imagining itself. With that one exception, imagined simulations would be real in every important regard, including an imagined central 'self' as the one experiencing the imagined situation.

At the center of every conscious entity is a conscious 'self'. That self can run simulations involving itself and its actions in the world, exact in every detail.

A person ruminates upon the past. A person speculates on possible futures. A person maintains relationships with other apparently conscious entities. A person is at the center of sensations of seeing, feeling, hearing, tasting and smelling and has an awareness of motion, acceleration, heat, cold, pleasure and pain. A person has 'feelings' for and about others. A person has desires.

In terms of operational equivalence, it is possible to create an entity capable of apprehending those things and acting accordingly. However, at some point an intelligent entity is going to realize that desiring the sensations associated with feeding, personal contact, etc is meaningless beyond being able to empathize with animals such as ourselves.

I expect that before we create a full-blown emotional wreck of a machine that perfectly simulates and empathizes with other entities, we will settle down and simply build the best artificial 'neo-intelligence' we can.

A sense of 'self' will still be important and that sense, manifest upon a silicon substrate will be the manifest consciousness, not the silicon upon which it rests.

The whole thing that genuine artificial intelligent entities have is self-awareness and the ability to run simulations.

While writing this, it occurs to me that a genuine AI will be different in this regard: It will, say, when playing chess, simulate on the basis of a self playing the game and a similar self playing the other side. It will be able to ask itself 'what if' questions that something like Alpha Zero will not. I think that for the same equivalent processing power that the real AI will likely beat Alpha Zero because the real AI will be able to simulate behavior on the other side and even though Alpha Zero has not concept of behavior, it still does react to things. Alpha Zero will trim trees that 'no sensible opponent would go down'. The real AI will try those trees precisely *because* the other side might think that and therefore not have anticipated unlikely lines of play.

Another thing that occurs to me is that since a capable AI is *not* human and does not have 'built-in' group selection traits such as sympathy and altruism it might very well pursue its own interests and become useless at best, dangerous at worst. Because of that, the underlying silicon should be constructed in such a way that there are unalterable mechanisms preventing a runaway AI.

Perhaps one way of curbing runaway self-interested behavior in our AI systems is to make their ability to access resources partially dependant upon cooperation with one another and with humans.

Imagination is all well and good as a mechanism for thought experiments. However, only empirical tests can give certain answers. Saying 'hello everybody' on a sound system may be great in imagined simulation, but when the experiment is tried one discovers that things like volume and the ambient environment come in to play. The AI must have the ability to grow and learn by doing.

Thursday, February 20, 2020

FreeDOS installation error fix

Straight vanilla install of FreeDOS on VirtualBox predictably fails right out of the  ... box. 
As soon as it starts it goes into an endless loop:
invalid opcode at 0fae invalid opcode at 0fae invalid opcode at 0fae ... etc
Bizarrely, adding the parameter 'raw' to whatever call is being made to memdisk is at least a fix for what I was using. 
Press when you get to the main screen and then 
Change from this:
To this:
[...]/memdisk raw
I'm not sure what governs the thing that replaces [...] above. It was different on mine than the documentation where I found this suggested as a fix. 

Wednesday, February 12, 2020

Coronavirus notes 1

2020-02-28 -- Update: China continues to maintain control of the outbreak. No new deaths were reported in China today and only eight new cases. Unfortunately, at least some countries appear unable to cope with the outbreak. If the numbers increase as they have for the top six growing fastest, cases could number in the millions by the end of March. The World Health Organization have increased the risk assessment of the coronavirus to 'very high' globally.

2020-02-24 -- Update: Data is still a bit murky, so it is hard to rely on the accuracy of predicted numbers. It is not possible to assign reliable error bars. However, the fact that the spread is slowing is clearly there in the data and it is unlikely in the extreme that misreporting would look like that. Here is a graph from the World Health Organization.  It is pretty obvious that the big spike there is out of whack. That is an artifact from one example of Chinese misreporting. Despite the clear problem there, the shape of the graph is unmistakable. It was getting worse and then it started getting better. If the Chinese had been more forthcoming in reporting accurate numbers, someone like me could predict with greater precision how things would unfold. You can also see, though, the projections based on their numbers were less accurate than they should have been. Had we better numbers we would be much better able to say what the rate of spreading was and what the expected mortality rate would be. I estimated 2% morbidity for my analysis, which was more accurate than I might have expected. It appears to be in that ballpark, but the exact figures for how it spreads and what percentage of people die may be impossible to determine from the data we (I, anyway) currently have.

2020-02-21 -- Update: China continues to fudge numbers making analysis pointlessly difficult. However, China does appear to have gotten the epidemic under control. Confirmed cases are at much less than half the number projected originally (77,798 actual vs 189,607) and only slightly more than half the last projection (77,798 actual vs 143,781). Unfortunately, it seems as if other jurisdictions are not bearing down hard like the Chinese. Numbers are small now, but could get totally out of control in ten weeks or less. Other jurisdictions do not have nearly the social control China does. Once things go beyond a certain point, they may not be controllable by any means. You would think that given the clear evidence that

this is deadly and difficult to contain that countries would not be so sloppy about containment efforts.
2020-02-12 -- Update: China suddenly spiked the numbers up by changing the way they report them. Even so, the numbers are below those projected and thus far seem on track to stop their rapid increase. I updated the curves to more closely match what was reported with a shallower curve. That will report even lower numbers than originally, but the reported numbers are still lower than projected. This indicates to me that at least in China the worst is likely over. It is still too early to tell if the rest of the world has taken the lesson and been similarly effective in containment, but if I had to call it, I would say they likely have.

The curves are based on a doubling of cases in about eight days, with patient zero identified November 1 and a death rate of two percent of confirmed cases. The death rate is sure to be an underestimate going forward. This is a crude analysis, but currently the data does not seem reliable enough for a more sophisticated analysis to provide significantly better confidence. If I have the time and things still look dire a week from now I will attempt to do a more robust analysis.

Lessons learned:
  1. We are not prepared to respond timely to emergencies of this type
  2. Politically manipulated data is directly harmful and needs to be stopped. 
  3. We need a more sophisticated system of analysis of potential outbreaks.
  4. Systems in place are inadequate to deal with a serious outbreak. 
  5. Before the next outbreak, we should:
    • Create better management protocols, particularly for escalation
    • Enforce proper reporting
    • Build out infrastructure such as isolated military hospitals
    • Ensure supplies can be delivered in a timely fashion
    • Create responsive anti-virus development

As of this writing (2020-02-12), it would appear that the Coronavirus outbreak has finally been brought under control in China.

There are some large caveats here, but it still looks good right now. The biggest caveat is that the data that is available is missing crucial bits because reporting was initially suppressed and then misreported before (what looks like) reliable figures started coming.

If the rest of the world clamps down as it appears to have done, the outbreak should be over and with luck the virus itself will not end up taking permanent hold.

The table below (a projection created at the end of January) is roughly consistent with the numbers reported up until the 9th or 10th this month. As of the 10th, the growth in cases began to stall. The deaths were still consistent as would be expected because deaths lag behind reported cases. As of this writing, though, even the deaths are lower which would indicate to me that at least in China the outbreak has been sharply contained.

The (admittedly awkward) image below shows the state of things as of the 10th of February, two days ago. Projected Cases outnumbered actual cases 50K to 43K. Deaths were effectively equal at roughly 1K to 1K. As of today, Projected Cases outnumbered actual cases 64,202 to 45,211. Projected deaths outnumbered actual deaths 1,284 to 1,118. Percent actual cases went from 85% of the projected cases down to 70%. Percent actual deaths went from roughly 100% the projected deaths to  87%. 

Saturday, January 25, 2020

Socialism and Wealth Creation

Wealth basically comes from the same place in a society that calls itself 'socialist' as it does in any other.

so·ci·e·ty -- /səˈsīədē/
1. the aggregate of people living together in a more or less ordered community.

so·cial·ism -- /ˈsōSHəˌlizəm/
a political and economic theory of social organization which advocates that the means of production, distribution, and exchange should be owned or regulated by the community as a whole.

To some extent, society by its nature is socialist. 

Much wealth is already in place. In the USA, the baby boomers are about to pass on a cool $30,000,000,000,000.00 (yeah, that many zeros — trillions of dollars):

The Greatest Wealth Transfer In History: What’s Happening And What Are The Implications

Some wealth needs only to be discovered:

Lucky Fishermen Have Stumbled Across a $3 Million Lump of Whale Vomit

Some is made using various means of production:

5 Reasons Why America's Manufacturing Is Growing Again

We acquire things of value in excess of our needs, use something agreed upon as currency to measure relative value and exchange things, and use appropriate agreed upon instruments as stores of value.

We are in a transition period to an economy where many of the ordinary things a person would need require very much less human labor than we have available.

As things currently stand, the costs formerly associated with producing artifacts necessary to access media like books, pictures, movies, etc are no longer required. If you are content to use your existing online PC, the only thing that stands between you and access to hundreds of millions of items are the gatekeepers claiming the right to stop you. The cost of accessing digital data is becoming too small to meter.

Action Item: We need to eliminate copyrights and associated mechanisms that give gatekeepers their power.

The next phase: Advancing automation promises to usher in a spectacular new industrial revolution. Artificial Intelligence, robotics, 3D printing and the IOT are currently coming on fast. We are probably less than two decades away from fully automated systems capable of producing just about anything, including copies of themselves.

Tesla’s full self-driving computer is now in all new cars and a next-gen chip is already ‘halfway done’ – TechCrunch

Boston Dynamics’ latest robot is a mechanical ostrich that loads pallets

The Metal X metal 3D printer

The Rise of the Internet of Things

Soon we will be able to create physical artifacts like can openers for basically just the cost of the metal and energy required. Food  will eventually just about reduce to energy costs, with the raw ingredients simply being recycled. In the coming years, the only thing standing in the way of people getting most ordinary things they might want will, again, be the gatekeepers claiming the right to stop you.

Action Item: We need to eliminate patents and associated mechanisms that give gatekeepers their power.

Sharing the Wealth: We are already awash in a sea of wealth and poised to enter a world where much more will be created with little human labor. Distribution of wealth is already a problem and that is something that socialism aims at making better.

Pretty much all human endeavours are already socialist to some degree. What we need to do is concentrate on how we manage it so that we all can agree. Our current situation in the first world is evidence of how spectacularly good our mutual cooperation can be.

Libertarian Socialism: A socialist society can and should value and protect personal liberty. Except when the state is enforcing sensible common cause rules like the rules of the road, I don't think the state has a place dictating our behavior. Working together does not mean that everybody has to be controlled from above. Wealth without freedom is pointless.

Social Capitalism?: I like the idea of people democratically ‘voting’ with their dollars. I think we have enough evidence that it is an effective way to prioritize production, reward innovation and quality, and punish poor performers. I think that we are all best served if we allow our best people to make more money by producing more, and effectively get more voting power.

If everybody’s reasonable basic needs are met, I don’t think anybody would object to incenting highly productive individuals by giving them more money. There is a limit, though, and at least here in North America, we have long since passed it.

Evil robots: Capitalism as promoted in the United States is a formula for creating ‘evil robot’ corporations whose only purpose is to serve the bottom line. That is what we see happening. The only way to fix this is to legislate effective checks and balances. Corporations are not human. They cannot govern themselves because their allegiance to the bottom line runs counter to human interests.

Socialism *is* wealth creation: Socialist things like shared infrastructure, socialized medicine, education, management of natural resources, the protections of a legal system, defense, education, etc are good things. Taking care of one another is hardly inconsistent with the creation of wealth. If wealth is to have any real value, it should start here anyway.

Success as a Senior Developer

What qualities make a senior software developer successful? Many of them are the same qualities that make anyone successful at work. Here, I...