Sep 052023

It is unfair! How dare social media companies and search engines profit from taking Canadian news content!

Fear no more: Bill C-18 is enacted and from now on, these evildoers will be mandated to pay for any news content they republish.

Oops, but there’s a fly in the proverbial ointment. It appears nobody asked the simplest of questions: What if they don’t?

Not “what if they don’t pay” but rather, “what if they don’t republish?”

This is capitalism after all. These companies are free to choose what purchases they make, what services they buy. Or, as the case might be, what services they opt not to buy.

“Unfair!” came the outcry. “A disaster for Canadian news providers!” Or even, “Irresponsible!” during some natural disaster or other emergency.

Wait. I thought what social media companies were doing was, ahem, bad for you? So you wanted them to either cease and desist or pay up?

Now you are telling me that all along, you were benefiting from social media and the traffic they directed to your content sites, and you don’t want to lose this?

Oh, but you also wanted some extra dough. Well, guess what. As the old proverb goes, he who chases two rabbits catches none.

To be clear, I don’t like Facebook/Meta. I am only marginally more fond of Google. But stupid is stupid, and Bill C-18 is the perfect legislative example of shooting oneself in the foot.

I find it mildly annoying that Facebook rejects posts that contain direct news media links but it doesn’t bother me much. And if Canadian news organizations want a better deal, perhaps they can ask the government to get rid of this stupid legislation first instead of doubling down, compounding stupidity with more stupidity.

 Posted by at 12:21 pm
Aug 082023

For the longest time as developers, we were taught not to reinvent the wheel. “There is a library for that,” we were told, so instead of implementing our own solutions for common, recurring tasks, we just imported and linked the library in question.

And sure, it made a lot of sense. Countless hours of development time were saved. Projects were completed on time, within budget. And once the system worked, it, well, worked. So long as there was a need to maintain the software, we just kept the old development tools around for the occasional bug fix and recompile. I remember keeping a Visual Studio 6.0 configuration alive well into the 2010s, to make sure that I could offer support to a long-time customer.

But then… then came the Internet. Which implied several monumental paradigm shifts. One of the most fundamental among them is that a lot of software development no longer targeted cooperating users in a closed environment. Rather, the software was exposed to the public and, well, let’s face it, not all members of the public have the best intentions in mind when they interact with our systems.

Which means that third-party code turned from an asset into a substantial liability. Why? Because of potential security issues. Using old versions of third-party libraries in public-facing systems is an invitation for disaster. Those third-party components must be kept up-to-date. Except…

  • Updating a component may break other things. There is a need for extensive regression testing, especially in complex systems, to ensure that an upgrade does not result in unintended consequences.
  • Updates are not always available. The third-party code may no longer be supported. Source code availability can mitigate this to some extent, but it can still result in a disproportionate level of effort to keep the code secure and functional.
  • Long-term reliance on third-party code implies long-term reliance on the integrity and reliability of the vendor. Code ownership can change, and the new owners may have different objectives. In extreme cases, once reliable third-party code can end up being used as Trojan code in planned cyberattacks.

For a while, there was a great need for third-party code in Web development. HTML4 had limitations, and browser implementations varied wildly. Widely used third-party libraries like jQuery made it possible to prepare code that ran well on all major platforms. But this really is not the case anymore. “Out of the box” HTML5, CSS3 and modern JavaScript are tremendously capable tools and the implementation across major browsers is quite consistent these days, with only minor idiosyncrasies that can be easily dealt with after a modest amount of testing.

So really, my advice these days to anyone developing a new Web application is to avoid third-party libraries when possible. Especially if the application is intended to have a long life-cycle. Third-party code may cut down development time slightly, but the long-term costs may far exceed those savings. And there will still be more than enough to do just to keep up with other changes: witness the changes over time that occurred in browser security models, breaking once functioning Web applications, or the changes between, say, PHP5 and PHP7.

And of course there are still valid, legitimate use cases for specialized third-party libraries. For instance, in a recent project I used both MathJax (for rendering mathematical formulas) and markdown (for rendering displayed code). Developing something like that from scratch is just not an option.

Why am I harping on all this? I am currently facing a minor crisis of sorts (OK, that may be too strong a word) as I am trying to upgrade my Web sites from Joomla 3 to Joomla 4. Serves me right, using a third-party content management system instead of writing my own HTML! Worse yet, I used some once popular extensions with Joomla, extensions that are no longer supported, and which are wholly incompatible with Joomla 4. Dealing with this is difficult and time-consuming.

It would be a lot more time-consuming were it not for the help I get from our LLM AI friends. Thankfully, these tools, GPT-4 in particular, are immensely helpful. E.g., one third-party Joomla extension I used offered a nice way to present images as clickable thumbnails. This extension is now badly broken. However, GPT-4 already helped me write a clean, functional alterative that I’ll be able to use, and thus avoid having to redesign some important pages on my site.

 Posted by at 2:16 am
Apr 202023

I just asked GPT-4 using my freshly developed UI about Starship.

In the background, GPT-4 correctly utilized a facility to perform Google searches and make use of the resulting snippets (I’m sure I’ll find a way to prevent it from referencing those snippets, which are not visible to the user, in the actual answer). Here is the critical part of the conversation that took place in the background:

User: What happened to Starship this morning?

GPT: SEARCH(Starship event on 2023/04/20)

System: Snippet 1: 3 hours ago … The rocket got off the launchpad before exploding above the Gulf of Mexico. This segment airs on April 20, 2023. Audio will be available after …
Snippet 2: UPCOMING. April 19, 2023. STARLINK MISSION · April 20, 2023. Starship Flight Test.
Snippet 3: 6 hours ago … April 20, 2023 … SpaceX launches the inaugural test flight of the integrated Starship and Super Heavy rocket from the company’s Starbase …
Snippet 4: 5 hours ago … April 20, 2023. Elon Musk has called it the “holy grail” for space technology. Starship, a new SpaceX rocket system that launched for the …

GPT: This morning, SpaceX launched the inaugural test flight of the integrated Starship and Super Heavy rocket from the company’s Starbase. Unfortunately, the rocket got off the launchpad but exploded above the Gulf of Mexico during the flight test (Snippet 1, Snippet 3).

In case you are wondering, yes, it knows the current date, too, thanks to the way my UI sets it up.

And yes, Starship blew up. But it blew up after the job of the first stage was nearly complete, at separation, at an altitude of some 40 km. Which means that despite the spectacular RUD (rapid unscheduled disassembly) event, this launch is still a huge success.

Now if we could only convince Elon to spend more time building rockets and less time honing his skills at corporate value destruction at Twitter, pardon me, X Corp…

 Posted by at 3:22 pm
Apr 172023

Here’s something that I’ve been putting off (literally) for years: Upgrading PHP.

Until today, that is.

My server used to run a seriously outdated version of PHP, 5.6. OK, it was still supported (kind of) under CentOS 7 but the writing was on the wall. In particular, the content management systems I use (WordPress, Joomla) were also grumbling.

Why didn’t I upgrade until now? Because I have Web content dating all the way back to the 1990s. Though the issues were trivial, such as using mysql_ instead of mysqli_ for database access, or using ASP-style tags, <%...%> instead of <?php...?> for PHP code, trivial issues still need fixing, and the fixes still need testing.

I finally bit the bullet. I was like this busy robot, assisted with kittycats, but it appears that I managed to pull it off: having done reasonably rigorous testing on backup/secondary servers, I was able to upgrade my main server without much drama so far.

Of course I still worry about the bugs and issues that I have not yet seen, but I am optimistic.

 Posted by at 8:31 pm
Apr 172023

This really is just a quick test post to see what’s going on. When I check the Twitter developer portal, my app (which connects this blog to Twitter) no longer shows as “suspended”. What does it mean, I wonder?

So let’s give it a try. Just to give this post some meaningful content, though, here’s a beautiful image generated by MidJourney in response to my request to depict a stray cat with its little robot friend.

If it shows up on Twitter, good. If not… well, frankly, I don’t much care anymore.

 Posted by at 3:40 pm
Apr 142023

Your service has violated Viktor’s rules and policies. As a result, it can no longer serve as a destination for my blog entries. For assistance, please just bugger off, along with your thin-skinned “free speech champion” ruler.

To my friends: This is likely my last ever blog entry to be posted to Twitter. In fact, the only reason I am not closing my Twitter account just yet is because there are still a few important information sources there that I follow, which have not yet migrated to Places That Shall Not Be Named like the place whose name begins with Mast and ends with odon, or the Sub place that is also a Stack and now has Notes.

 Posted by at 5:07 pm
Apr 112023

So I am playing this iconic computer game, Bioshock, and its sequel Bioshock 2. The games are set in a magnificent underwater city that is in an advanced state of decay and societal collapse: a consequence of unconstrained, unregulated capitalism, Ayn Rand style. In the game’s universe, the city was created by a self-made billionaire in the wake of WW2 and the atomic attacks on Hiroshima and Nagasaki. A way for the talented, the willing to escape from a world in which their wealth, the fruits of their labor were taken in the name of government, in the name of a deity, or in the name of the people. The founder’s name, not coincidentally, is a near anagram, a play on Ayn Rand’s name: Andrew Ryan.

As I watch the Twitter saga unfold, increasingly Andrew Ryan’s tragic (for that’s what it is, even if it is self-inflicted) fate reminds me of Elon Musk and his ever wilder shenanigans. And Twitter is beginning to feel like a digital equivalent of Ryan’s once striving city of Rapture: many of its corridors are now flooded, increasingly abandoned except for the remaining gene-altered freak show who still call Rapture home.

As of today, there’s a new alternative in addition to the decentralized world of Mastodon: Substack Notes. Will it be able to pick up the tab as Musk’s Twitter self-destructs? We shall see. Ironically, I would not even know about Substack Notes were it not for Musk’s tirade against it on, well, Twitter…

 Posted by at 10:39 pm
Aug 302022

In the early days of Internet e-mail and Usenet, responding to messages one paragraph, one sentence at a time has become fashionable. For instance, if King Arthur were to have received an e-mail from the silly Frenchmen occupying a castle, accusing the good King of being the son of a hamster mother and a father who smelled of elderberries, he might have responded thusly:

> your mother was a hamster
Are you accusing my Mother of sexual infidelity?
> your father smelled of elderberries
Who're you calling a drunkard, you hopeless retards?

In my experience, electronic conversations using this format often very quickly deteriorated into name-calling, or worse. And I think I can even tell why. Picking and choosing which words to quote and them quoting them out of context is a perfect method to manufacture outrage. So in my personal conversations, with very rare exceptions, I now avoid the quote-reply format altogether. Isn’t it much more pleasant to read a polite, fully formed message?

Thank you for your concerns regarding my parents. I assure you, good Sirs, that my mother was not a member of the rodent family. She bore no resemblance whatsoever to the rodents you mention, either in appearance or behavior. Concerning my father, I clearly recall that he never enjoyed elderberry-flavored beverages. He preferred to enjoy tea, mildly flavored with honey.

The quote-reply format is still okay when it comes to technical discussions, which may readily lend themselves to being presented in the form of individual points, each of which may have a specific technical solution. But in a personal conversation, I think that a fully formed response shows a degree of respect towards the other party and also helps avoid letting the discussion deteriorate into a string of accusations, a bitter argument with ad hominem insults.

 Posted by at 7:08 pm
Aug 192022

In 1996, my wife and I went on a cross-country trip, driving to New Orleans and then all the way to California, before we returned to Ottawa.

One novelty during this trip was that we had a cell phone. That was a brand new experience.

Not only that, I had an analog cell phone modem. With that modem, I was able to connect to my server here in Ottawa and even get my e-mail!

Of course, cellular reception was patchy. Once we reached less populated parts of the United States in the west, there was cell phone coverage near population centers but not elsewhere. Still… being connected was an experience. And it was during this trip that we briefly stopped at a parking lot near a secondary highway, and noticed a small sign at the edge of the lot: AT&T was warning contractors to call before digging, marking an optical cable underground. Data! The Internet! That was a serious wow moment.

But all that was 26 years ago. Today I am reading something else: Tanzania is installing Internet service on Mount Kilimanjaro. I wonder if that involves both peaks:

Incidentally, the same Guardian article also tells me that China may have had cellular service on Mount Everest as early as 2007. Wow.

 Posted by at 1:53 am
Jul 092022

When the Rogers outage hit us, especially seeing that equipment remained physically connected but became unreachable for the outside world, I was immediately drawn to the conclusion that this was a cascading configuration error, invalid routes advertised through BGP, not some physical equipment problem or a cyberattack.

I guess I was not wrong (though I should stress that making such a general assessment after the fact from the comfort of my own chair is easy; finding the specific causes and resolving the problem, now that’s the hard part and I’m sure there are more than a few Rogers network engineers whose hair got a bit grayer in the past 48 hours). Cloudflare offered their own analysis, in which they pointed out that indeed, the outage was preceded by a sudden, unexpected burst of BGP advertisements. Here are two plots from Cloudflare’s blog post, montaged together so that the timestamps match:

Whatever the specific action was that resulted in this, it is truly spectacular how it killed all of Rogers’s network traffic at around 4:45 AM Friday morning.

Today, things were slowly coming back to normal. But just to add to the fun, earlier this afternoon first my workstation and later, two other pieces of hardware lost all connectivity here on my home office network. What the… Well, it turned out that the router responsible for providing DHCP services needed a kick in the proverbial hind part, in the form of a reboot. Still… Grumble.

 Posted by at 10:32 pm
Jul 082022

Well, someone broke the Internet this morning.

To be more precise, someone broke a large part of the Internet in Canada. The network of Rogers has been down since about 4:30 this morning. When I woke up, I saw several e-mails from my own server complaining about its failure to connect to remote hosts; I also saw an e-mail from our family doctor’s office informing us that their phone lines are down and what to do in case of a medical emergency.

The fact that a major provider can have such a nationwide outage in 2022 is clearly unacceptable. Many are calling for the appropriate regulatory agencies to take action, and I fully approve.

In my case, there are backups and backups of backups. I am affected (we have no mobile data, and my highest-bandwidth network connection is down) but the outage also offered an opportunity to sort out an issue with network failover.

But I find it mind-boggling that more than 9 hours into the outage, Rogers still has no explanation and no ETA.

And now I accidentally hit Ctrl-Alt-Del while the KVM was connected to my main server instead of the device that I was trying to reboot. Oh well, no real harm down, the server rebooted cleanly, I just feel stupid.

All in all, this Friday is shaping up to be a rather unpleasant one. And here I thought I was looking forward to a nice, quiet, productive day.

 Posted by at 2:02 pm
May 092022

It’s now Monday, May 9, 2022. And it is an anniversary of sorts.

No I am not talking about Putin and his planned “victory” parade, as he is busy desecrating the legacy of the Soviet Union’s heroic fight in the Great Patriotic War against a genocidal enemy.

I am referring to something much more personal. This sentence:

I watched The Matrix, for the first time. I’ve seen Dark City, and I loved it. I have heard all sorts of bad things about The Matrix, so I had low expectations. I was pleasantly surprised. Maybe not as well done as Dark City, it was nevertheless a surprisingly intelligent movie for a blockbuster.

Not very profound or insightful, is it.

But it happens to be my first ever blog entry, written when I still refused to call a blog a “blog”, calling it instead my “Day Book”, in the tradition of the late Jerry Pournelle.

So there. Will I be around twenty years from now? Perhaps more pertinently, will the world as we know it still be around?

What can I say? I am looking forward to marking the 40th anniversary of my blog on May 9, 2042, with another blog entry, hopefully celebrating a decent, prosperous, safe, mostly peaceful world.

 Posted by at 3:01 am
Mar 162022

Time for me to rant a little.

Agile software development. Artificial intelligence. SCRUM. Machine learning. Not a day goes by in our profession without the cognoscenti dropping these and similar buzzwords, hoping to dazzle their audience.

Give me a break, please. You think you are dazzling me but all I see is someone who just rediscovered the wheel.

Let me present two books from my bookshelf. Both were published in Hungary, long before the Iron Curtain came down, back when the country was still part of the technologically backward, relatively underdeveloped “second world” of the socialist bloc.

First, Systems Analysis and Operations Research, by Géza Jándy, published in 1980.

In this book, among other things, Jándy writes (emphasis mine): “Both in systems analysis and in design the […] steps are of an iterative nature […]. Several steps can be done contemporaneously, and if we recognize opportunities for improvement in implementing the plan, some steps may be retraced.”

Sounds familiar, Agile folks?

And then, here’s a 1973 (!!!) Hungarian translation of East German author Manfred Peschel’s book, Cybernetic Systems.

A small, unassuming paperback. But right there, the subtitles tell the story: “Automata, optimization, learning and thinking.”

Yes, it’s all there. Machine learning, neural networks, the whole nine yards. What wasn’t available in 1973 of course was Big Data, the vast repositories of human knowledge that is now present on the Internet, and which machine learning algorithms can rely on for training. And of course hardware is a lot faster, a lot more capable than half a century ago. Nor am I suggesting that we haven’t learned anything in the intervening decades, or that we cannot do things better today than back in the 1970s or 1980s.

But please, try not to sell these ideas as new. Iterative project management has been around long before computers. The conceptual foundations of machine learning date back to the 1950s. Just because it’s not on the Interwebs doesn’t mean the knowledge doesn’t exist. Go visit a library before you reinvent the wheel.

 Posted by at 1:54 pm
Feb 202022

Engineers sometimes have to deal with unexpected challenges. This is especially true for systems that have to operate in a natural environment, subject to the elements, unpredictable weather, and, well, wildlife.

Take these beautiful Starlink satellite dishes. Little technological marvels that bring Internet service to rural users through Musk’s Starlink satellite constellation. Key to the system is a steerable small satellite dish that can be set up, e.g., in the backyard of the Starlink customer.

Unfortunately electronics ultimately converts electrical energy into waste heat, and the Starlink dish is no exception. The dish actually has a “snow melt” mode that is supposed to keep it free of snow and ice for uninterrupted operation. And it certainly has a comfy shape… especially when you are a feral cat in the middle of winter.

I doubt this issue was ever considered by Starlink engineers who designed the customer equipment. On the other hand, I would not be surprised if, in the future, engineering courses end up using this as an example of the unexpected, facing engineers.

 Posted by at 5:31 pm
Dec 242021

For the record: The Viktor Toth who has recently become quite popular on YouTube by placing his pet rat into a virtual reality harness and letting him play Doom is not me.

Even if I were inclined to do such an experiment with a live animal (I am not) it would be one of my cats, and the retro game of choice would be Duke Nukem.

You see, I was never really a fan of Doom.

 Posted by at 1:44 am
Oct 012021

One of the issues that plagues our present-day world is distrust in the media, distrust in particular in American media.

There are many reasons for this distrust. There is all the “fake news” spread by social media. The source, in a fair number of cases I guess, is agencies ran by hostile foreign governments, like Putin’s infamous Internet Research Agency or his cable news channel RT, whose purpose often seems to be precisely this, undermine trust by spreading disinformation. At other times, it is domestic politicians, including a certain former US president who spent his four years in office denouncing anything he didn’t like as fake news, thus blurring the line between bona fide fake news, political bias, and straightforward reporting of facts that he just plain didn’t like.

The flip side of the coin is that unfounded accusations and bona fide fake news from foreign sources do not automatically guarantee that the actual “mainstream media” is truthful. And every so often, I feel compelled to question the prevailing narrative. This is especially true when it comes to American news television, which over the years has become exceedingly partisan. (I pretty much stopped watching US news networks for this reason, except in case of major breaking news events.)

Just over a month ago, America’s war in Afghanistan came to an ignominious end. Much of the news media denounced the chaotic withdrawal, presenting it as both unexpected and avoidable. In reality, if you spent any time watching the efforts in Afghanistan, it was neither. The military presence in Afghanistan never had a well-defined, achievable military goal. And the withdrawal inevitably meant a collapse of institutions that had no legitimacy in the country other than the Western military support on which they relied for their very existence. So while the actual details can always be surprising, the collapse was both predictable and unavoidable.

But then comes the second part of the narrative, about the nature of the Taliban’s rule. No, I have no delusions about them. If you are a young woman in the Taliban’s Afghanistan, your future just became a lot darker. And if, heaven forbid, you are a member of the LGBTQ community, flee while you still can. But… Western media narratives notwithstanding, the Taliban seem genuinely interested in restoring law and order. Yes, it will be their version of law and order (but then, how exactly does it differ from the Islamist law and order in our friend and ally, Saudi Arabia?) but law and order nonetheless. Case in question? The Globe and Mail just published this view of Canada’s shuttered embassy in Kabul, guarded by Taliban security, who claim that they’ll guard the building until Canadian diplomats return. How do we know? Because the Globe and Mail’s international correspondent, a Western journalist, was able to visit the place. Harsh Islamist regime? I am sure. A terror regime that beheads stray Westerners? Doesn’t look like it.

And then there was something else today, completely unrelated to the above: the shutdown of a news media startup in the US, Ozy. Now I don’t know much about Ozy, except that a few months ago, they started spamming me. I say spamming because I never signed up for their daily news briefs, but I ended up receiving them anyway. Having said that, the briefs seemed sufficiently interesting and original so I decided not to block them. But now Ozy is shut down, in response to an investigative report by The New York Times that claimed serious (possibly even criminal) behavior by Ozy’s leadership. Earlier, there were also claims that Ozy had inflated audience numbers and little original content. I obviously cannot comment on the first two points, but the content? The only reason I allowed the Ozy newsletter to continue arriving in my Inbox was that it did have original content that I found mildly interesting.

So now I am torn. Can I take the allegations at face value? Or was it simply a successful attempt to fatally wound and destroy a competitor in the cutthroat world of news media? Perhaps something in between, a more nuanced picture?

Groan. Have I also been infected by this insidious distrust-all-media pathogen?

 Posted by at 10:19 pm
Sep 282021

I began to see this recently. Web sites of dubious lineage, making you wait a few seconds before popping up a request to confirm that you are not a robot, by clicking “Allow”:

Please don’t.

By clicking “allow”, you are simply confirming that you are a gullible, innocent victim who just allowed a scamster to spam you with bogus notifications (and I wouldn’t be surprised if at least some of those notifications were designed to entice you to install software you shouldn’t have or otherwise do something to get yourself scammed.)

Bloody crooks. Yes, I stand by my observation that the overwhelming majority of human beings are decent. But those who aren’t are no longer separated from the rest of us by physical distance. Thanks to the Internet, all the world’s crooks are at your virtual doorstep, aided by their tireless ‘bots.

 Posted by at 2:59 pm
Aug 242021

I value StackExchange. I often come across technical answers that I could not find elsewhere. Yet I contribute only rarely, and I am always hesitant. StackExchange’s quick-to-punish culture does not encourage contributions.

Case in question: I recently searched for a particular solution in SQL. A Google search led me to a StackExchange page with a closely related question and some good answers. Also a bad one.

Except that this bad answer was nonetheless marked as the “accepted” answer by the question author.

And as a result, it garnered as many as 41 (!!!) downvotes. I’m sure there are some, but I’ve never before seen a StackExchange answer with this many downvotes.

Of course there are bad answers, which sometimes end up in negative territory (that alone is a huge turnoff for many potential contributors.) Usually they end up at the bottom of the page, often not even shown.

Not in this case. Because the answer was marked as “accepted”, it remains on top and continues to garner downvotes. Presumably, folks react to it being the accepted answer, but the one they’re punishing is the person who offered the answer in the first place.

It’s sad, really. The answer is technically incorrect but it is not nonsense, and was obviously offered in good faith. To no avail; when StackExchange punishes you, your intentions matter little.

Oh, but you can vote for moderators…

 Posted by at 8:23 pm
Apr 282021

So the other day, I made a foolish decision: I objected to a self-described progressive activist’s recurring, disparaging use of the expression, “white people”, on Twitter.

In response, I learned the following, thanks to helpful strangers:

  1. I am suffering from white fragility;
  2. As I am a man, I am suffering from male fragility;
  3. I am wallowing in prejudices;
  4. Even if I am not from the US, there are issues in Canada, too, so…
  5. I am a racist;
  6. I am afraid of being called a racist;
  7. I benefit from systemic racism and need to be educated about it;
  8. And finally, this gem: I should shut up and listen.

OK, just to be clear, I am no more concerned about being called a racist than I am about being called a bicycle, on account of being neither. However, this reaction speaks volumes. In this new, progressive world, virtue signaling is key if you want progressives to like you. Saying disparaging things about white people gets you credit. Extra credit if you yourself happen to be white and practice a little self-loathing in public.

I used to have zero patience for my conservative-leaning white friends and acquaintances who were complaining about “anti-white racism” as they marched off to vote, or otherwise express support, for that stable genius, the Orange Person. But in light of this little Twitter exchange, I am somewhat less incredulous and more sympathetic.

No, I am still not rooting for Trumpists and their fellow travelers in other countries. But I do have a point to make, not that I expect the most vocally self-righteous progressives to listen: If you manage to turn someone like me (I am not exactly a stereotypical raging white supremacist) into a skeptic, do not be surprised if you lose by a landslide in future election cycles. Tone it down please. There is no need to turn into enemies people who dare to criticize excessive rhetoric, who see nuances where you only see black-and-white, who present inconvenient facts even when those being inconvenienced by them are not from the conservative camp. Listen to their criticism, don’t automatically reject their thoughtful objections in self-righteous indignation, in the name of ideological purity.

As for the Twitter exchange, I ended up doing something I do extremely rarely, unfollowing, even blocking some people when the conversation began to veer towards personal insults. (Because, you know, if you run out of thoughtful arguments, name-calling always works. Right.)

 Posted by at 10:58 am
Apr 172021

Yesterday it was hardware, today it was software.

An e-mail that I sent to a address was rejected.

Perhaps I am mistaken but I believe that these Bell/Sympatico mailboxes are managed, handled by Yahoo!. And Yahoo! occasionally made my life difficult by either rejecting mail from my server or dropping it in the recipient’s spam folder. I tried to contact them once, but it was hopeless. Never mind that my domain,, is actually a few months older (July 1, 1994 as opposed to January 18, 1995) than Yahoo!’s and has been continuously owned by a single owner. Never mind that my domain was never used to send spam. Never mind that I get plenty of spam from Yahoo! accounts.

Of course you can’t fight city hall. One thing I can do, instead, is to implement one of the protocols Yahoo wants, the DKIM protocol, to authenticate outgoing e-mail, improving its chances of getting accepted.

But setting it up was a bloody nuisance. So many little traps! In the end, I succeeded, but not before resorting to some rather colorful language.

This little tutorial proved immensely helpful, so helpful in fact that I am going to save its contents, just in case:

Very well. It is time to return to more glamorous activities. It’s not like I don’t have things to do.

 Posted by at 2:57 pm