Nov 192020
 

In recent years, I saw myself mostly as a “centrist liberal”: one who may lean conservative on matters of the economy and state power, but who firmly (very firmly) believes in basic human rights and basic human decency. One who wishes to live in a post-racial society in which your ethnicity or the color of your skin matter no more than the color of your eyes or your hairstyle. A society in which you are judged by the strength of your character. A society in which consenting, loving adults can form families regardless of their gender or sexual orientation. A society that treats heterosexuals and non-heterosexuals alike, without prejudice, without shaming, without rejection. A society in which covert racism no longer affords me “white privilege” while creating invisible barriers to those who come from a different ethnic background.

But then, I read that one of the pressing issues of the day is… the elimination of terms such as “master/slave” or “blacklist/whitelist” from the technical literature and from millions upon millions of lines of software code.

Say what again?

I mean… not too long ago, this was satire. Not too long ago, we laughed when overzealous censors (or was it misguided software?) changed “black-and-white” into “African-American-and-white”. Never did I think that one day, reality catches up with this Monty Pythonesque insanity.

It is one thing to fight for a post-racial society with gender equality. For a society in which homosexuals, transsexuals and others feel fully appreciated as human beings, just like their conventionally heterosexual neighbors. For a society free of overt or covert discrimination.

It is another thing to seek offense where none was intended. To misappropriate terms that, in the technical literature, NEVER MEANT what you suggest they mean. And then, to top it all off, to intimidate people who do not sing exactly the same song as the politically correct choir.

No, I do not claim the right, the privilege, to tell you what terms you should or should not find offensive. I am simply calling you out on this BS. You know that there is/was nothing racist about blacklisting a spammer’s e-mail address or arranging a pair of flip-flops (the electronic components, not the footwear) in a master/slave circuit. But you are purposefully searching for the use of words like “black” or “slave”, in any context, just to fuel this phony outrage. Enough already!

Do you truly want to fight real racism? Racism that harms people every day, that prevents talented young people from reaching their full potential, racism that still shortens lives and makes lives unduly miserable? Racial discrimination remains real in many parts of the world, including North America. Look no further than indigenous communities here in Canada, or urban ghettos or Native American villages in the United States. And elsewhere in the world? The treatment of the Uyghurs in China, the treatment of many ethnic minorities in Russia, human rights abuses throughout Africa and Asia, rising nationalism and xenophobia in Europe.

But instead of fighting to make the world a better place for those who really are in need, you occupy yourselves with this made-up nonsense. And as a result, you achieve the exact opposite of what you purportedly intend. Do you know why? Well, part of the reason is that decent, well-meaning people in democratic countries now vote against “progressives” because they are fed up with your thought police.

No, I do not wish to offer excuses for the real racists, the bona fide xenophobes, the closet nazis and others who enthusiastically support Trump or other wannabe autocrats elsewhere in the world. But surely, you don’t believe that over 70 million Americans who voted for Donald J. Trump 17 days ago are racist, xenophobic closet nazis?

Because if that’s what you believe, you are no better than the real racists, real xenophobes and real closet nazis. Your view of your fellow citizens is a distorted caricature, a hateful stereotype.

No, many of those who voted for Trump; many of those who voted for Biden but denied Democrats their Senate majority; many of those who voted for Biden but voted Democratic congresspeople out of the US Congress: They did so, in part, because you went too far. You are no longer solving problems. You are creating problems where none exist. Worse yet, through “cancel culture” you are trying to silence your critics.

But perhaps this is exactly what you want. Perpetuate the problem instead of solving it. For what would happen to you in a post-racial society with gender equality and full (and fully respected) LGBTQ rights? You would fade back into obscurity. You’d have to find a real job somewhere. You would no longer be able to present yourself as a respected, progressive “community leader”.

Oh, no, we can’t have that! You are a champion of human rights! You are fighting a neverending fight against white supremacism, white privilege, racism and all that! How dare I question the purity of your heart, your intent?

So you do your darnedest best to create conflict where none exists. There is no better example of this than the emergence of the word “cis” as a pejorative term describing… me, among other people, a heterosexual, white, middle-class male, especially one who happens to have an opinion and is unwilling to hide it. Exactly how you are making the world a better place by “repurposing” a word in this manner even as you fight against long-established terminology in the technical literature that you perceive as racist is beyond me. But I have had enough of this nonsense.

 Posted by at 10:46 pm
Nov 112020
 

Did Microsoft just offer me a 14-year old driver as a new update for Windows 10? Oh yes, they did!

But that’s okay… why fix something if it is not broken? Though I do wonder, if it is indeed a 14-year old driver, why was it not part of Windows 10 already? But never mind.

On the plus side, last night Windows 10 performed a feature upgrade along with security updates, and the whole upgrade process finished in well under half an hour; the reboot and installation phase only took a few minutes and so far, as far as I can tell, nothing is broken. Nice.

 Posted by at 12:36 pm
Oct 092020
 

So I try to start a piece of software that accesses a classic serial port.

The software locks up. The process becomes unkillable. Because, you know… because. Microsoft has not yet discovered kill -9 I guess.

(Yes, I know that unkillable zombie processes exist under Linux/UNIX, too. But in the past 25 years, I remember exactly one (1) occasion when a Linux process was truly unkillable, hung in a privileged kernel call, and actually required a reboot with no workaround. On Linux, this is considered a bug, not a feature. In contrast, on Windows this is a regular occurrence. Then again, on Linux I have fine-grained control and I can update pretty much everything other than the kernel binary, without ever having to reboot.)

Ok-kay… this means Windows has to be restarted. Fine. At least let me check if there are any Windows updates. Oops… error, because an “update service is shutting down” or whatever.

Oh well, let’s restart. The browser (Edge) will remember my previously opened tabs, right?

After restart, another program tells me that it has an update. Clicking on the update button opens the browser with the download link. Fine. Just checking, in the browser history all my previously opened tabs (lots of them) are still there. Good.

Meanwhile, Windows Update does come to life and tells me that I need to restart my system. Couldn’t you freaking tell me this BEFORE I restarted?

Oh well, might as well… restart #2.

After restart, let’s open the browser. History… and all my previously opened tabs are gone. The only thing the bloody browser remembers is the single tab that contained the download link for that application.

@!##%@#!@. And @#$$!@#$@!$. And all their relatives, too. Live or deceased. And any related deities.

Oh well, let’s restore the bleeping tabs manually; fortunately, I also had most of them opened in Chrome, so I could reopen them, one by one, in Edge. (Maybe there’s a more efficient way of doing this, but I wasn’t going to research that.)

Meanwhile, I also restarted Visual Studio 2019. It told me that it had an update. Having learned from previous experience, I shut down a specific service that was known to interfere with the update. It proved insufficient. When Visual Studio was done updating, it told me that “only one thing” remains: a teeny weeny inconsequential thing, ANOTHER BLOODY RESTART.

Because, ladies and gentlemen, in the fine year of 2020, the great software company Microsoft has not yet found a way to UPDATE A BLEEPING APPLICATION without restarting the WHOLE BLEEPING WORLD. Or at the very least do me a bleeping failure and warn IN ADVANCE that the update may require a restart.

My favorite coffee mug survived, but only just barely. I almost smashed it against the wall.

So here we go… restart #3.

It was nearly two hours ago that I innocently tried to turn on that program that required access to the serial port. Since then, I probably aged a few years, increased my chances of a stroke and other illnesses related to high pressure, barked at my beautiful wife and my cats, almost smashed my favorite mug, lost several browser tabs but also my history in some xterm windows, and other than that, accomplished ABSOLUTELY NOTHING.

Thanks for nothing, Microsoft.

And I actually like Microsoft. Imagine what I’d be saying if I hated them.

 Posted by at 1:18 pm
Aug 162020
 

Moments ago, as I was about to close Microsoft Visio after editing a drawing, I was confronted with the following question:

Do you want to save earth?

Needless to say, I felt morally obliged to click Save.

In case you are wondering, yes, the file was indeed named earth.vsdx.

 Posted by at 10:32 pm
Aug 022020
 

For years now, Microsoft’s support site, answers.microsoft.com, has been annoying the hell out of me.

It’s not that they aren’t trying. Their intentions are, well… how does the saying go about the road to hell?

Take today, for instance, when Windows Update gave me an error message that I have never seen before: “We could not complete the install because an update service was shutting down”. What the bleep? Why causes this? How do I fix it?

A quick Google search led me to the aforementioned Microsoft support site. I was, of course, hoping to see a solution there.

A volunteer moderator offers a marginally useful reply: Check if the Windows Update service is set to automatic, and/or try to manually install the update in question.

An independent advisor asks what version of Windows caused the issue.

Another independent advisor, who sounds like a bot, advises several methods: 1) run the Windows Update troubleshooter, 2) download the latest service pack manually, 3) download the latest updates manually, 4) fix file corruption, or 5) in-place upgrade Windows from a DVD.

Needless to say, I wasn’t planning to run manual updates or reinstall Windows. I was simply hoping to see if perhaps there was an explanation of what might have caused this error and any specific recommendations, before taking the one obvious step that was not mentioned by any of the responders: open the Task Manager, click the Services tab, right-click the Windows Update service (wuauserv) and click Restart.

Why is it so hard to, you know, refrain from answering a question unless you actually know the bleeping answer?

Reminds me of why I never really liked unmoderated Usenet newsgroups. At least on answers.microsoft.com, you don’t get answers like “what kind of an idiot still uses Windows” or “you must be a fool, installing updates”.

 Posted by at 7:21 pm
Jul 162020
 

I met Gabor David back in 1982 when I became a member of the team we informally named F451 (inspired by Ray Bradbury of course.) Gabor was a close friend of Ferenc Szatmari. Together, they played an instrumental role in establishing a business relationship between the Hungarian firm Novotrade and its British partner, Andromeda, developing game programs for the Commodore 64.

In the months and years that followed, we spent a lot of time working together. I was proud to enjoy Gabor’s friendship. He was very knowledgeable, and also very committed to our success. We had some stressful times, to be sure, but also a lot of fun, frantic days (and many nights!) spent working together.

I remember Gabor’s deep, loud voice, with a slight speech impediment, a mild case of rhotacism. His face, too, I can recall with almost movie like quality.

He loved coffee more than I thought possible. He once dropped by at my place, not long after I managed to destroy my coffee maker, a stovetop espresso that I accidentally left on the stove for a good half hour. Gabor entered with the words, “Kids, do you have any coffee?” I tried to explain to him that the devil’s brew in that carafe was a bitter, undrinkable (and likely unhealthy) blend of burnt coffee and burnt rubber, but to no avail: he gulped it down like it was nectar.

After I left Hungary in 1986, we remained in sporadic contact. In fact, Gabor helped me with a small loan during my initial few weeks on Austria; for this, I was very grateful.

When I first visited Hungary as a newly minted Canadian citizen, after the collapse of communism there, Gabor was one of the few close friends that I sought out. I was hugely impressed. Gabor was now heading a company called Banknet, an international joint venture bringing business grade satellite-based Internet service to the country.

When our friend Ferenc was diagnosed with lung cancer, Gabor was distraught. He tried to help Feri with financing an unconventional treatment not covered by insurance. I pitched in, too. It was not enough to save Feri’s life: he passed away shortly thereafter, a loss I still feel more than two decades later.

My last conversation with Gabor was distressing. I don’t really remember the details, but I did learn that he suffered a stroke, and that he was worried that he would be placed under some form of guardianship. Soon thereafter, I lost touch; his phone number, as I recall, was disconnected and Gabor vanished.

Every so often, I looked for him on the Internet, on social media, but to no avail. His name is not uncommon, and moreover, as his last name also doubles as a first name for many, searches bring up far too many false positives. But last night, it occurred to me to search for his name and his original profession: “Dávid Gábor” “matematikus” (mathematician).

Jackpot, if it can be called that. One of the first hits that came up was a page from Hungary’s John von Neumann Computer Society, their information technology history forum, to be specific: a short biography of Gabor, together with his picture.

And from this page I learned that Gabor passed away almost six years ago, on November 10, 2014, at the age of 72.

Well… at least I now know. It has been a privilege knowing you, Gabor, and being able to count you among my friends. I learned a lot from you, and I cherish all those times that we spent working together.

 Posted by at 2:04 pm
Jul 052020
 

A few hours ago, my phone rang and my friend David told me the sad news: His father, Peter Ada-Winter passed away*.

I’ve known Peter since the late 1970s. He was an educator who played a pioneering role in the introduction of computer programming and computer science into the Hungarian school curriculum.

Peter was a true scholar. His home, a cramped apartment in Budapest’s historic Castle District, was full of books. The walls were lined with tall bookshelves. His large desk was also covered with teetering piles of textbooks, newspapers, and computer printouts.

Peter was the son of Ernő Winter, engineer, physicist and inventor, a towering figure in the early development of vacuum tube technology in the 1920s.

Born in 1923, Peter survived the Holocaust that wiped much of his extended family off the face of the Earth.

He was in his mid-40s when, in 1968, he was asked to organize a regular computer programming course for high school students in the same high school where I studied a decade later.

I met Peter when I became friends with his son David in high school. I always looked up to him. I learned quite a few things from him. Not just technical matters, basic human values as well.

Peter’s interest in information technology never diminished. In the mid-1980s, together with his son David they published a book on the 8-bit ZX Spectrum microcomputer. In the 1990s and early 2000s, despite his advancing age, Peter became well acquainted with the Internet; surfing the Web for news became part of his daily life.

Even after he passed 90, Peter remained in good health and mentally active. Only in the last few years did his health begin to gradually decline. Nonetheless, David remained hopeful that they would be able to celebrate Peter’s 100th birthday in 2023 with a ginormous birthday cake. These hopes were squashed by the news David received today.

Though I share David’s sense of grief, I reminded him that instead of grieving, we should remember the long, productive life of a very good man. Someone that I feel privileged to have known.


*No, not a COVID-19 statistic. Simply old age.

 Posted by at 10:04 pm
Feb 262020
 

The United States had Grace Hopper: A diminutive, elderly lady with a stern look on her face, uncannily wearing a rear admiral’s dress uniform as the oldest active-duty commissioned officer in the United States Navy, even as she earned the nickname Grandma COBOL, for her role in the development of one of the oldest computer programming languages still in use today.

But there was another female computer scientist with a career just as defining and just as fascinating as that of Rear Admiral Hopper: Xia Peisu, sometimes known as China’s mother of computer science.

Xia Peisu in 1946

Xia Peisu in 1946

I learned about Xia Peisu just now, from a BBC News online article. What an amazing life! I am especially fascinated by Chinese scientists and engineers who never gave up, who continued to work for the benefit of their country even through the indignities of the Cultural Revolution and other political upheavals.

Dr. Xia lived a long life: she passed away in 2014, at the age of 91. She lived to see the modern, interconnected world with computers everywhere. She also lived to see computers as means of oppression and surveillance in the hands of police and totalitarian regimes, China among them. I would have loved to know what she thought of it all.

 Posted by at 11:26 pm
Sep 162019
 

Very well, I’ve been had. I lost all my bitcoin savings.

Don’t worry, it was not much. Approximately 0.0113 bitcoins. Just over a hundred US dollars at current exchange rates. And it’s not like I didn’t know from the onset that something fishy was going on. Of course I was not planning to hand over my hundred bucks to a scam artist, but I figured the learning experience was worth the risk. I had no idea how things would play out, except for one thing: I knew I was not going to get richer, but my risk was limited to my meager bitcoin holdings.

Here is how it began. I became acquainted with an Neale H. Spark* on Quora. At first, we exchanged some private messages, in part about some of the answers I wrote. But soon, he started talking about the business he is in, cryptocurrency. He seemed legit: I looked him up. A cryptocurrency expert, member of a listed cryptocurrency company’s advisory board. He asked if I wanted to invest some bitcoins into cloud mining, because supposedly, I can make “8% a day”.

OK, red flags are up. Nobody, and I mean nobody, is paying you 8% daily interest. That this was a scam, of that I had no doubt, but I just couldn’t resist: I had to understand how the scheme worked.

It so happened that I actually had some bitcoins, those 0.0113 BTC, in a bitcoin wallet. So what the heck… let’s play along.

As soon as I agreed to become his victim (not that he called me that, mind you), this Mr. Spark kindly set up a “mining enabled” bitcoin account for me at blockchain.com. He provided me with all necessary details and soon enough, I was able to manage the account. I then transferred my bitcoin holdings from my other wallet to this one.

And within 24 hours, I received about 0.0008 bitcoins. And again, 24, 48, 72 hours later. I was told by Mr. Spark that this money is not completely free money: that there will be a “mining fee”, which sounded odd because how can they charge any fee to my bitcoin account? But you know what, let’s see what happens. Indeed, after about a week of regular, daily payments, four days ago I actually got charged about 0.0008 bitcoins. But the payments continued: after two more payments, my bitcoin holdings were getting close to double my initial investment.

Meanwhile, Mr. Spark called me several times on the phone. It was always a bad connection, suggesting to me that he was using a VoIP phone, but for what it’s worth, his calls came from a California number consistent with his place of residence. He was advising me that I should invest a lot more; that investors who put in a full bitcoin or more (that would be $10,000 US) are doing much better. I told him that I’d think about it. He asked when I might make my decision. I said he’d be the first to know. He did not sound happy.

Indeed, the phone calls stopped and for the past two days, I received no e-mail notification of payments in my bitcoin wallet either. So earlier today, I went to check the wallet, and whoops: all my bitcoins are gone. The wallet has been zeroed out two days ago.

I sent this Mr. Spark a Quora message but I am not expecting a reply. On the other hand, I think I can reconstruct what actually happened, so my bitcoins were, after all, well spent: I did learn some intriguing details.

For starters, I am pretty certain that the Quora account doesn’t actually belong to the real Neale H. Spark. I tried to find information online about Mr. Spark but I was unable to locate a valid e-mail address or social media account. The person is undoubtedly real, mentioned in a 201█ press release by G█████ T███████████ as a newly minted member of their advisory board. But Mr. Spark seems like a rather private person with little visible online presence.

The Quora account was only created about a month ago. It has very low activity.

The aggressive sales tactics seemed odd from a noted expert, and represented another indication of fraud. But how exactly was the fraud committed?

Here is how. It all started when “Mr. Spark” kindly set up that “mining-enabled” Bitcoin wallet for me on blockchain.com. I knew something was not kosher (what exactly is a “mining enabled” account, pray tell?) but in my ignorance of the technical details of cryptocurrency wallets, I could not quite put my finger on it. When I received the account info, everything checked out and I was able to secure the account, restricting transactions with two-factor authentication and even by IP address.

However, unbeknownst to me, “Mr. Spark” must have copied down the blockchain.com wallet backup phrase: twelve words. The company warns me: Anyone with access to my backup phrase can access my funds. What I didn’t know is that the backup phrase can be used anywhere. They need not access the wallet through blockchain.com; with the appropriate cryptocurrency software, they can recreate the wallet and empty it.

Which means that my entire blockchain.com wallet was compromised from the onset. Never mind the steps that I took, setting up two-factor authentication and all… It was never really my wallet to begin with.

The big warning sign was when the crook first processed a “mining fee”. I did not understand the details, but I knew that something was wrong. No third party can take money from your bitcoin wallet, “mining enabled” or otherwise. Yet at the same time, I continued to receive small payments, so I was still waiting for the other shoe to drop.

I guess eventually “Mr. Spark” decided that I am unlikely to invest more into his scheme, but more likely, I was not his only or biggest victim. You don’t set up an elaborate scam like this, with a fake social media account, fake phone number and all to just steal a hundred bucks from someone. (That would be a less effective, and certainly more risky, way of making money than working at minimum wage.)

There is the usual, “if it’s too good to be true” lesson here: Nobody is going to pay you 8% interest a day. OK, I knew that. I also knew that cloud mining is a very risky proposition, the returns are not spectacular and fraud is rampant. I didn’t have to spend a hundred bucks to learn this.

But there is also a valuable technical lesson. I had zero experience with cryptocurrency wallets in the past, and thus I did not realize that anyone setting up the wallet basically has a permanent, irrevocable key to that wallet. And when a sum, however small, goes missing from your bitcoin wallet, it is a guaranteed indicator that the wallet is compromised.

There is also another other thing that I did not realize until today. Namely that the Spark account on Quora is almost certainly a fake, an impersonation. In fact, it was not until I actually asked myself, “how can this chap commit such fraud under his own name?” that I came up instantly with the obvious answer: he didn’t. Rather, a scamster used the name and credentials of a respectable but social media shy expert to set up shop and rip off his victims. That I did not think of this possibility earlier is a consequence of my prejudice. I had very low expectations to begin with, when it comes to people in the speculative cryptocurrency business. So neither the cheap VoIP line nor the pushy behavior raised additional red flags: I was wondering what scam the real Neale Spark was dragging me into, I did not expect to be dealing with an impostor.


*Name altered to protect the privacy and reputation of the person who was impersonated.

 Posted by at 7:49 pm
Sep 132019
 

My favorite cartoons are Kliban’s cats, but the Dilbert comic strips represent a close second.

Today’s Dilbert offers a perfect demonstration why.

I could actually be the consultant that Dilbert’s pointy-haired boss is looking for. Over the years, I learned one very important thing about this business: As a consultant, my job is to offer my best advice to my customer, but then whatever decision they make, it’s theirs to make, not mine. My job is to continue supporting them to the best of my abilities.

In my career, I have seen customers make bad decisions that destroyed their projects. I offered my advice. When it was ignored, I did not take it personally. Neither that nor judging the customer are part of my job description. That is not to say that I do not feel regret, or that I did not often second-guess myself: Could I have offered better advice? Could I have been more convincing? Why was my advice not accepted?

But judging? Nope. That would be rather unprofessional.

 Posted by at 12:02 am
Aug 212019
 

I am reading an article in The Register about a major Internet outage that occurred last December, when a handful of rogue packets managed to clog up a backbone network for more than a day and a half, blocking even VoIP 911 calls.

There are two rather frightening aspects of this fiasco. Both rather horrifying, as a matter of fact.

First, that in this day and age, in late 2018, a backbone service provider can still be brought to its knees by something as simple as a malformed packet. What on Earth are you doing, people? Have you heard of penetration testing? Fault tree analysis? Auditing your equipment and system software? Or have these essential steps been dropped just so that you can report some cost savings to your shareholders?

But it really is the second point that I find particularly upsetting. To quote, “the nodes along the fiber network were so flooded, they could not be reached by their administrators”.

Say what? Are you telling me that you had no alternate means to access your nodes? Like, you know, something as crude and simple as a dial-up port with a command-line based management interface? I mean, this is something even my little home office network used to have, and when I dropped it last year, reacting to rising landline costs and the fact that I no longer used that data/Fax phone line at all, I did so because I have dual network connections. To learn that a major backbone provider doesn’t have the kind of redundancy that I take for granted for my own little network is disconcerting, to say the least.

I suppose I should stop rambling now, though. Truth to tell, I am ignorant as to how CenturyLink’s actual network is configured, and I certainly never managed a fiber optic backbone network. I am simply reacting to the main points of The Register‘s article even though I cannot independently confirm its veracity. In my defense, The Register‘s articles tend to be well written and accurate. Even so, criticizing from a position of ignorance is never a smart thing to do.

Nonetheless, if The Register is correct, this really is not how a transcontinental data network should be configured and managed. This also seems to be the FCC’s conclusion.

 Posted by at 5:04 pm
Jun 132019
 

The news this morning is that former PM Jean Chrétien suggested that Canada should stop the extradition proceedings against Huawei CFO Meng Wanzhou, as a means to win back the freedom of the two Canadian hostages in China, Michael Kovrig and Michael Spavor. (Yes, I called them hostages.)

The case against Huawei runs a lot deeper, however, than the financial fraud Ms. Meng is alleged by US authorities to have committed.

There is also the question of espionage, including the possibility that Huawei’s 5G equipment cannot be trusted because of firmware or hardware level backdoors.

I repeatedly encountered the suggestion that this issue can be trivially remedied by using end-to-end encryption. Unfortunately, end-to-end encryption, even if properly implemented (ignoring for the moment our own Western governments’ recurrent pleas to have built-in backdoors in any such encryption algorithms), solves only part of the problem.

It still allows Huawei to steal metadata, such as where calls are routed or the amount and nature of data traffic between specific endpoints. Worse yet, no encryption prevents Huawei from potentially sabotaging the network when called upon to do so by the Chinese government.

For this reason, I reluctantly came to the conclusion that the US ban against Huawei is justified and appropriate. It must, of course, be accompanied by a suitable increase in spending on researching 5G communications technologies, because otherwise, we risk shooting ourselves in the foot by banning the use of equipment that is technologically superior to the available alternatives. This is a new situation for the West: The last time the West faced a great power adversary that matched Western scientific and technological capabilities was in the 1930s, with Nazi Germany.

As for Ms. Meng, I think the suggestion to suspend the extradition process is wholly inappropriate. It would signal to the world that Canada is willing to suspend the rule of law for the sake of hostages. However strongly I feel about Messrs. Kovrig and Spavor, however strongly I desire to see them released, this is not a price Canada should be willing to pay.

 Posted by at 5:56 pm
Mar 302019
 

Content management software that I use, Joomla! and WordPress in particular, have been complaining for a while now that the PHP version that runs on my servers is outdated and potentially unsecure. Not exactly true, as PHP 5.4 remains part of the official Red Hat/CentOS release, but it would certainly be prudent for me to attempt an upgrade.

I tried to do just that last night, on a test server. And it was a miserable failure, a waste of many hours that I will never get back, to make no mention of the heightened risk of cardiovascular disease due to my elevated blood pressure caused by all that frustration.

The relatively easy part? PHP 7 complaining that its just-in-time compilation feature ran out of memory. Easy-peasy, I can disable JIT. Check.

But then: several of my Joomla! sites refused to run, with a cryptic and ultimately meaningless error message and nothing in the logs. And at least one Joomla! site just got itself into an infinite redirect loop. But why?

I tried many things. I kept looking for answers on Google. Nothing worked. Eventually I took two of my Joomla! sites that are very similar in nature, and began comparing their settings, side-by-side. One worked, the other didn’t. Why?

I then stumbled upon a custom Joomla! module, one that I wrote to support some ads that appear on my sites. This module was installed on the site that failed, but not used on the other. I disabled the module and, presto, the site was working with PHP 7. I re-enabled the module and the site was dead again. So… why?

Well, the module contains some PHP code. Which, after some preamble that allows it to connect to the internal data structures of Joomla!, begins the real work by accessing the MySQL database that contains the actual ads:

$conn = mysql_connect("localhost");
mysql_select_db("www");
$res = mysql_query("SELECT PAGEID,ADTEXT FROM ...

Oops.

You see, mysql_ calls have been deprecated and REMOVED from PHP starting with version 7.

And I have hundreds, if not thousands of lines of legacy code* (including, e.g., my calculator museum at rskey.org) that rely on this old library.

So I guess that PHP 7 upgrade will have to wait a while longer. Looks like I have no choice but to rewrite the affected pieces of code everywhere, as there is no other long-term solution. (Even if I find a third-party PHP plugin that re-enables mysql_ codes, how long will that continue to work? How reliable will it be?)

What a muckup. Grumble. And I do have other work to do.

 Posted by at 10:40 am
Mar 282019
 

Even as Facebook is battling white supremacism and fighting accusations of racial profiling, there is more nonsense going on.

In the past few days, I received several Facebook requests from accounts purportedly owned by young women, whose profiles contain sexually explicit, rather pornographic images and videos.

Here is one of the mildest ones (the majority of the images in this and other accounts from which I received friend requests were far, far more explicit in nature, including images depicting intercourse):

I do not wish to be a prude here; I am, after all, a middle aged male in relatively good health, and certainly not immune to, ahem, shall we say, visually stimulating images (though I admit I was never a fan of hard-core pornography. Not my cup of tea.)

But these Facebook accounts are obviously not accounts owned by bona fide young women trying to seduce older, happily married males like myself. They are probably overweight middle-aged male scam artists doing their shady business from their parents’ basements. Or worse yet, organized crime operating out of shady boiler rooms somewhere in Eastern Europe or Asia.

Thanks but no thanks. I have presently no desire to break my marital vow, but even if I did, there are better, safer ways.

As for these friend requests, I just block them and report the accounts to Facebook.

 Posted by at 2:08 pm
Mar 252019
 

The other day, I started listening to Google Music’s personalized music stream.

I am suitably impressed. The AI is… uncanny.

Sure, it picked songs that I expressed a preference for, such as songs from the golden age of radio that I happen to enjoy. But as I continue listening, it is presenting an increasingly eclectic, enjoyable selection. Some of it is quite new, from artists I never heard about, yet… it’s music I like. For some reason (maybe because I am in Canada? Or because it knows that I am trying to improve my French? Or was it a preference I once expressed for Édith Piaf?) it started presenting a whole bunch of French music, and again… some of it is quite likable. And now that I purposefully sought out a few classical composers, the AI realized that it can throw classical pieces at me as well, which is how I am suddenly listening to Schubert’s Ave Maria.

As a matter of fact, the eclectic choices made by Google’s AI remind me of two radio programs from the CBC’s past, long gone, long forgotten by most: Juergen Goth’s Disc Drive and Laurie Brown’s The Signal. Both these shows introduced me to music from excellent artists that I would otherwise never have heard about.

And now Google’s AI is doing the same thing.

I am also getting the sense that the more I listen, the bolder the AI becomes as it makes its choices. Instead of confining me to a bubble of musical genres of my own making, it is venturing farther and farther away from my presumed comfort zone.

Which is quite impressive. But also leaves me wondering how long before our machine overlords finally decide to take over.

 Posted by at 7:27 pm
Jan 092019
 

So I figured I’d try Office 2019. It came out a few months ago, and I have the MSDN license and everything, so why not give it a test drive. I downloaded the DVD installation image, and ran setup.

Immediately, I was presented with a cryptic error message:

What the devil does this mean? I am installing from a Microsoft-provided DVD image. Surely, it has all the required files?

The “Go online…” link was of no use. Just some generic stuff about installation failures.

A quick online search, however, revealed the culprit: Office 2019 won’t install unless Office 2016 is removed first.

Not something I am inclined to do at this time, not without thoroughly testing Office 2019 first to make sure that it behaves the way I like it (I am especially worried about Outlook and my encrypted imap connection, which can be a bitch to set up.)

In any case… in the software industry, 30 years ago already we had installers that gracefully recognized an existing installation of the same package, and offered either an upgrade or a side-by-side install. Or, worst case, they offered a meaningful error message, informing the hapless user that the prior version must be uninstalled first. Because, you know, chances are anyone installing Office 2019 might already have a copy of Office 2016 installed on their system?

I guess none of that is needed in 2019. After all, what kind of a dumb user am I if I don’t immediately understand Error code 30182-1 (2)?

 Posted by at 9:25 pm
Nov 072018
 

A little over two years ago, I made a decision to stick with Google-branded smartphones running unmodified versions of the Android operating system. I got fed up with brand-name phones that rarely, if ever, received even important security updates and were often hopelessly behind Google releases even when they were brand new on the market.

Our Nexus 6P phones served us well, but recently, first in mine then in my wife’s phone, the battery started to lose charge much too rapidly. This, apparently, is a known and common problem with these Huawei-made phones. Given that Google’s support for the Nexus 6P was coming to an end this month anyway, I decided to look for new phones. I was hoping to get another zero-dollar deal from Rogers, which is how we got those two 6P’s in the first place.

What a disappointment. Sure, the Rogers Web site does show certain phones available at a deep discount, even at $0. But they are available only with certain plans. And the cheapest such plan that I could find would increase our combined phone bill by a whopping $35 (plus tax) per month. No matter how I look at it it seems like a ripoff. Thanks but no thanks. I might as well just go out and buy a pair of unlocked phones, I figured, instead of signing up for these ridiculously expensive plans.

So I started looking, and soon enough my attention was focused on phones produced under Google’s Android One program. This program makes it possible for manufacturers to produce phones that run unmodified (or minimally modified) versions of Android, with the same monthly security updates and same system update schedule that Google-branded phones enjoy.

And that’s when I stumbled upon the Nokia 6.1, also known as Nokia 6 (2018), a supposedly entry-level phone at the ridiculously low price of 320 Canadian dollars.

Nokia, you ask? Indeed, the Nokia brand is still alive, or perhaps coming back to life is a better way to describe it. Microsoft purchased Nokia’s devices business years ago, but in 2016, it sold the Nokia-branded feature phone business back to a newly formed Finnish company founded by former Nokia folks. It is this company that has since created a range of beautiful, low-cost, entry-level smartphones.

Well, the phone may be entry level, but this particular model (TA-1068) still has an octacore processor, 4 GB of RAM, 64 GB of storage, not to mention that it’s an unlocked, dual-SIM phone (or alternatively, I can have an SD card in the second SIM slot.) And it still has features like a fingerprint reader and NFC, not to mention an FM radio. Solidly built, with an elegant design, it does not feel like a cheap phone at all, quite the contrary.

And so far, its battery life proved spectacular. Here is what it showed moments ago:

OK, it was a few hours less than 3 days, and spent mostly at home. But I use this phone a lot!

My only worry was that after a reliable series of monthly updates (which the phone dutifully downloaded after initial setup, necessitating several reboots) there was no October security update and October came to an end. I was guessing that it was because we were waiting for the Android 9 Pie update instead. My suspicion proved correct; the phone is downloading Android 9 right now.

This phone reminds me of my current travel laptop, which I purchased over three years ago I think. It was a kind of emergency purchase; my old laptop was “on the fritz”, and I did not want to spend a lot of money, so I ended up buying this lightweight ASUS laptop for just over 400 dollars. Best purchase ever! My previous laptops, always in the $2000+ price range, consistently proved disappointing. Not this one. Even three and a half years later, it remains snappy, eminently useful, capable of running even decent games on its dual core (four virtual cores) i3 CPU. It also has a touchscreen, handy at times, and something else that’s increasingly rare: plain VGA video output, which makes it much easier to use when I give a talk using older projection equipment. Once I realized how much better this laptop was compared to my expectations, I swapped out its 500 GB hard drive in favor of an SSD and that, of course, also significantly improved its performance. All in all, it does not feel “old” at all, quite the contrary, it is a decent, capable machine that is still a joy to use when I travel.

Of course in the smartphone era, we rely on our laptops less and less. With the ability to check my e-mail and social media accounts on the phone, I found that sometimes I would not even turn on my laptop for days while I am traveling, especially if I am not traveling on business.

 Posted by at 3:47 pm
Aug 282018
 

If you are still running the desktop version of Skype on a Windows 10 computer, be careful before you click “Install now” when the Skype Update dialog appears on your screen.

You see, “the latest version of Skype” that is ready to install is the crappy, worthless, dysfunctional “Metro” version of Skype, which now Microsoft is keen on pushing out to unsuspecting customers, who may naively think that this update, like so many updates before it, is merely another security and functionality fix.

Why am I so hostile to Metro Skype (aka. Skype 8)? I tried using it in the last few weeks. I really did. Here are just a few of my issues with it:

  1. It is not possible to change incoming call notifications, which currently interrupt whatever the hell you might have been doing, stealing focus.
  2. It is not possible to tell Skype 8 to use your desktop speaker for incoming call rings, when you are using an earpiece for the actual call.
  3. The “Metro” UI is buggy. By way of a rather blatant example, when I call a landline contact in Hungary (+36 country code, 1 for Budapest), once the call connects, it shows up in the UI as a call to +1 361 … Needless to say, any attempt to redial fails.
  4. Other “by design” annoyances in the UI, for instance, when there is an incoming message or call that I do not answer, I get a notification in the Chat tab, but the contact is not brought to the top of the list; I have to scroll down manually, hoping that I do not accidentally skip over the contact that appears in boldface.
  5. Though I do not use it, many do: apparently Skype 8 is not integrated with callto: links on Web pages.

In short, the new UI offers a much poorer user experience, it has serious functional deficiencies, and it is buggy.

What I would like to know is what on Earth is going on in the heads of those at Microsoft who are pushing this “upgrade”. And who is going to give me back the hours that I wasted on this boneheaded nonsense.

At least for now, it is still possible to reinstall Desktop Skype by following the direct download link. Just be sure not to “upgrade” by accident afterwards.

 Posted by at 1:31 pm
Aug 212018
 

I often advise my clients that although automation is great, it must be accompanied by well-tested fallback procedures and training, to ensure that they can continue operations even when systems fail. This is especially important in the case of life-critical applications or, for that matter, in applications related to major centers transportation and infrastructure centers.

Today, there was a perfect example that took place at Gatwick Airport in London. Due to a problem with an underground cable, their flight information system failed. That meant no more functioning displays showing departure times and gate numbers. Yet the airport was able to continue operations with no cancellations or delays, and with very few passengers missing connecting flights.

How? Why, they used whiteboards.

Yes. Whiteboards, maintained by officials carrying walkie-talkies.

Now here is the thing. Although the scenes were described as “chaotic” by some, reality was the exact opposite. To quote a spokesperson: “The airport’s manual contingency plan – which included displaying information manually in the terminals and having extra staff on hand to help direct passengers – worked well and tens of thousands of passengers departed on time and no flights were cancelled.”

This is exactly what “business continuity” means. I hope that the person at Gatwick who insisted that such plans must be in place and ensured that not just whiteboards, walkie-talkies and markers but also adequately trained personnel were available when needed, will get not just a commendation but a nice raise.

 Posted by at 6:57 pm