Aug 262023

Welcome to Ottawa, Canada’s beautiful capital, home of…

… the homeless? Drug addicts? Record numbers of overdose victims? A rising threat of violence?

I should be grateful to Radio Canada for this almost 12-minute report, and I am. But the situation they depict (right on our doorstep, I should add, as we live right here in Ottawa Lowertown, thankfully to the east of King Edward Avenue, so we are not quite that badly affected, but still) makes me boil with anger.

Why? Because it is in large part a solvable problem.

Homelessness is manifestly solvable. Yes, it’d cost money, but how can I put it? A permanent solution would cost only a fraction of our botched LRT. Make affordable housing available to anyone for the asking. It need not be great accommodations, but functional and of acceptable quality. To follow the example set by Vienna a century ago, the accommodations should be good enough for many to decide to stay there for good, and nobody should be kicked out either.

Drug use and mental health problems require another old-fashioned solution: institutionalization. No, I don’t mean Dickensian insane asylums. We’re better than that. But we must recognize that there exists a small percentage among the homeless whose mental health is such that they are incapable of independent living. Institutionalizing such people is not a crime; rather, it’s the failure to provide the support and care they require that is criminal.

Unfortunately, I see no real desire to address these problems. Instead, we have this situation, getting worse with each and every passing day, within a stone’s throw of Canada’s Parliament, within a stone’s throw of venerable institutions like the Chateau Laurier… And we’re letting it happen. I find this incomprehensible.

But don’t you worry, the city has money to spend on messing up yet another street (this time, it’s Bank Street) with bike lanes that almost nobody uses, suffocating the remaining local brick-and-mortar businesses by eliminating the few on-street parking spots on which they rely for their clientele…

 Posted by at 12:36 am
Aug 252023

Susie King Taylor, née Baker, was a black teacher and nurse, literate, famous among other things for teaching former slaves to read and write. And now a square is named after her in Savannah, Georgia.

I know about Susie King Taylor from this evening’s AP newsletter. However, without clicking on the link to read the full release, I would not have learned her name.

And this, frankly, ticks me off. This is how progressivism works nowadays. Her identity is secondary to her race. Oh, but we are ever so careful to defy commonsense rules of grammar and capitalize the word “Black”!

When virtue signaling becomes more important than respect, when emphasizing race becomes more important than working towards a post-racial society in which we are judged not by the color of our skin but by the content of our character… How would I even know the content of Susie King Taylor’s character if her name is actually omitted from the shortened press release that appeared in the newsletter?

The elegant lady in this picture is not “a Black woman”. She has a name. Her name is Susie King Taylor, née Baker. Her identity is not defined by the pigmentation of her skin anymore than by the color of her hair or her eyes. It is defined by what she did. That is, if we respect her as a person, as a human being, as opposed to using her memory as a mere prop in the culture wars.

 Posted by at 6:18 pm
Aug 252023

Last night, much of the world even outside the great United States was consumed by a mugshot of an angry, defiant, entitled man, in his seventies, elegantly dressed with his thinning blond hair in a combover.

Meh. You call that a mugshot?

[In my best Crocodile Dundee impersonation] THIS is a mugshot!

A lot more pleasant to look at, too, if you ask me.

 Posted by at 4:49 pm
Aug 242023

This is OC Transpo’s soon-to-expire summer schedule brochure for 2023. It has a graphic that I find… puzzling?

What is it supposed to represent? Let’s start from the top, clockwise: A firetruck, a walker, a life preserver, an app screenshot with a Pause button, a reindeer and a roll of toilet paper.

What is it supposed to mean? That if you ride OC Transpo, you may end up in an accident, spend the rest of your life depending on a walker, may need a life preserver to survive, even as the service is paused for yet another technical glitch with the LRT, so you end up riding a reindeer instead, and if you don’t like it, you can go shit yourself?

Fitting, I’d say.

PS: For the pedants out there, yes, I do recognize that the “firetruck” is supposed to be a bus and the “life preserver” is just the O-train emblem. Not sure about the rest of the symbols, though.

 Posted by at 4:57 pm
Aug 242023

Whatever you think of The Rolling Stones, announcing their new album this way is… classy.

What is less classy is that I could not share the original link on Facebook because “news” cannot be shared on Facebook in Canada anymore. What can I say? Idiotic laws deserve idiotic reactions. And I say this despite the fact that I am not particularly fond of Meta/Facebook these days (to say the least) and I am not particularly antagonistic towards Trudeau’s Liberals either. Still, stupid breeds stupid.

 Posted by at 1:47 am
Aug 232023

Chandrayaan-3 landed safely on the Moon, cementing India’s position as a space superpower.

What can I say? Congratulations! Not sure who the gentleman is in this image that I saw on Twitter, but he certainly looks happy.

 Posted by at 12:48 pm
Aug 212023

Russia’s first probe to the Moon in nearly half a century, Luna-25, has crashed.

It would be easy to react to the news with glee, with schadenfreude. We are, after all, talking about a crash that denied a propaganda opportunity to Putin’s Evil Empire (maybe not quite as evil as Stalin’s regime but more evil, to be sure, than the USSR ever was in my lifetime).

But space exploration transcends, always transcended, national boundaries. Our petty squabbles look pretty… well, petty from the Moon. Chances are, if human beings are still around with an advanced technical civilization a millennium from now (or, if our machine descendants are still around) they’re far more likely to remember Armstrong’s first step on the Moon than Russia’s attack on Ukraine, the Cold War, or even WW2.

So this crash is sad news, Putin or no Putin. I hope India’s probe, Chandrayaan-3, is more successful. Fingers crossed. Things are looking good for now but it has yet to accomplish a tricky landing.

 Posted by at 11:57 pm
Aug 202023

Even before I began watching the penultimate episode of the current season of Star Trek: Strange New Worlds, I already considered this series, more than any other “Trek”, a true successor of TOS, The Original Series (or Those Old Scientists, the in-universe meaning of the acronym as revealed in the Lower Decks crossover episode.)

Then came this. A musical.

A bleeping musical! That they had the guts!

And they pulled it off. They actually pulled it off, without turning it into a farce, a ridiculous caricature.

In fact, the episode was actually… good.

Yes, perhaps it was unnecessary. One critic even called it “vapid” I think, though I certainly don’t think that’s accurate. Silly? Yes, but think The Trouble with Tribbles. Or even The Squire of Gothos. Silly is permissible in Star Trek. It doesn’t have to be all-serious, all the time. Not everything that happens in space on a 23rd century starship is about the future of humanity if not all life in the galaxy. Sometimes it’s about just… singing. (Or saving the galaxy from a subspace improbability quantum whatever event that all this singing was about.)

Sure, Subspace Rhapsody is by no means the best of Strange New Worlds. But the fact that they had the guts to make this episode and the talent to pull it off… I think that cements SNW as perhaps the best Star Trek series ever (at least to date), certainly the best since TOS.

 Posted by at 10:17 pm
Aug 182023

And then there is this. The rate of increase in atmospheric methane has been rising since the mid-2000s. The curve is becoming ever steeper.

Surprisingly perhaps, it’s not from natural gas producers, industry, or vehicles. Not even cow farts.

It’s apparently in large part coming from tropical wetlands. Climate change is still indirectly responsible as it is the changing climate that changes the vegetation that, in turn, results in more methane production. But the consequences of this rise in methane levels can dwarf anything CO2 will do. A “termination-level” event, they call it, which sounds alarming and it should be: even though it does not mean our immediate termination, it may mark the termination of an epoch, just as in the past, when similar rises in methane events marked the end of the ice ages. Except that there’s no ice age at present.

 Posted by at 5:47 pm
Aug 182023

Yellowknife is not a large city by Ontario standards, but it is the capital city and the largest community in the Northwest Territories of Canada, with over 20,000 inhabitants.

And it is about to be evacuated entirely today, because of the imminent wildfire threat.

Yes, it’s a faraway place but it is still incredibly scary that tens of thousands of Canadians are uprooted, some taking their cars, some boarding evacuation buses or flights, fleeing their homes, traveling through landscapes that are like warzones, with burned buildings and burnt-out vehicles often in sight.

No, I won’t rant about climate change. There can be other contributing reasons behind this unprecedented wildfire season, though I bet climate change is by far the most significant contributor.

I wonder what prompted N.W.T. authorities to take this drastic step. I may be wrong but I have a feeling that the devastation in Maui was a wake-up call, and they wanted to avoid a similar disaster. Having said that, I sincerely hope that Yellowknife will be spared and its inhabitants can return in a few days.

 Posted by at 2:43 am
Aug 162023

In case there is any doubt, Putin’s Russia is doing its darnedest best to prove that they are a bona fide menace to the world.

There are people in the world who are hungry today. Food prices are rising again worldwide. In a leading industrialized country, it’s a mere inconvenience to most people. Elsewhere, it’s a disaster.

Russia, meanwhile, bombs… no, not military installations, not strategically important infrastructure, not even elements of Ukraine’s defense industry…

… but grain warehouses.

Seriously, forgive me for not mincing words but what the fuck is wrong with these people? I mean Putin and his followers and their almost textbook case of villainy.

 Posted by at 7:12 pm
Aug 122023

Here’s a Hungarian-language letter, an official note from 120 years ago that has been making the rounds on the Hungarian Interwebs for many years already. As far as I know, the letter is real, penned by a well-known Hungarian scholar, also known for his poetry. Below is my translation: watch it, the language is more than a little, hmmm, rough.


To the esteemed Public Works Office
in the town of Pecs

Concerning your official transcript 1090/1903 that arrived with yesterday’s mail, in which you ask what needs to be done with the old spurs that were found in the outskirts of the village Magyarbeki? With official respect, my answer is that you gentlemen should fuck your spurs, because in this heat of 35° Reaumur, we cannot deal with such shit.

Aug 18, 1903, Budapest.

With all due respect,
Horsedick up your ass
Dr. Laszlo Rethy
Deputy Director, Hungarian National Museum, Department of Coins and Antiquities

To the Hungarian Royal Public Works Office of District XIV, Pecs

Ahem. For what it’s worth, 35°R is 44°C or about 111°F.

In other words: damn hot.

 Posted by at 4:51 pm
Aug 122023

One of the many unfulfilled, dare I say unfulfillable promises of the tech world (or at least, some of the tech world’s promoters) is “low code”. The idea that with the advent of AI and visual programming tools, anyone can write code.

Recall how medieval scribes prepared those beautiful codices, illuminated manuscripts. Eventually, that profession vanished, replaced by the printing press and, eventually, the typewriter. But what if someone suggested that with the advent of the typewriter, anyone can now write high literature? Laughable, isn’t it. There is so much more to writing than the act of making nicely formed letters appear on a sheet of paper.

Software development is just like that. It is about so much more than the syntax of a programming language. Just think of the complete life cycle of a software development project. Even small, informal in-house projects follow this model: A requirement is identified, a conceptual solution is formulated (dare I say, designed), the technology is selected, problems are worked out either in advance or as they are encountered during testing. The code is implemented and tested, bugs are fixed, functionality is evaluated. The code, if it works, is put into production, but it still needs to be supported, bugs need to be fixed, compatibility with other systems (including the operating system on which it runs) must be maintained, if it is a public-facing app, its security must be monitored, business continuity must be maintained even if the software fails or there are unexpected downtimes… These are all important aspects of software development, and they have very little to do with the act of coding.

In recent months, I benefited a great deal from AI. Claude and, especially perhaps, GPT-4, proved to be tremendous productivity tools of almost unbelievable efficiency. Instead of spending hours on Google searches or wading through StackExchange posts, I could just consult Claude and get an instant answer clarifying, e.g., the calling conventions of a system function. When I was struggling to come up with a sensible way to solve a problem, I could just ask GPT-4 for suggestions. Not only did GPT-4 tell me how to address the problem at hand, often with helpful code snippets illustrating the answer, it even had the audacity to tell me when my approach was suboptimal and recommended a better solution.

And yes, I could ask these little robot friends of ours to write code for me, which they did.

But this was when things took a really surprising turn. On several occasions, Claude or GPT not only offered solutions but offered inspired solutions. Elegant solutions. Except that the code they wrote had bugs. Sometimes trivial bugs like failure to initialize a variable or assigning a variable that was declared a constant. The kind of routine mistakes experienced programmers make, which are easily fixable: As the first, draft version of the code is run through the compiler or interpreter, these simple buglets are readily identified and corrected.

But this is the exact opposite of the “low code” promise. Low code was supposed to mean a world in which anyone can write software using AI-assisted visual tools. In reality, those tools do replace armies of inexperienced, entry-level programmers but experience is still required to design systems, break them down into sensible functional components, create specifications (even if it is in the form of a well-crafted prompt sent to GPT-4), evaluate solutions, perform integration and testing, and last but not least, fix the bugs.

What worries me is the fact that tomorrow’s experienced software architects will have to come from the pool of today’s inexperienced entry-level programmers. If we eliminate the market for entry-level programmers, who will serve as software architects 20, 30 years down the line?

Never mind. By then, chances are, AI will be doing it all. Where that leaves us humans, I don’t know, but we’re definitely witnessing the birth of a brand new era, and not just in software development.

 Posted by at 12:23 pm
Aug 112023

One of the things I asked Midjourney to do was to reimagine Grant Wood’s famous 1930 painting with a gentlecat and a ladycat.

Not all of Midjourney’s attempts were great, but I think this one captures the atmosphere of the original per… I mean, how could I possibly resist writing purr-fectly?

Well, almost perfectly. The pitchfork is a bit odd and it lacks a handle. Oh well. No AI is, ahem, purr-fect.

 Posted by at 7:21 pm
Aug 112023

Here’s a sunflower, which grew in a large planter right here on our driveway, as photographed by my beautiful wife just the other day (before Ottawa got an incredible deluge of rain):

If you look closely, there’s a bumblebee in the flower. May there be more! I keep reading about the crisis pollinating insects face worldwide, sometimes accompanied by tragic images of entire beehives, dead. Pollinating insects play an essential role in nature, including our food supply. And they seem to be in serious trouble. Climate change, habitat loss, reckless use of insecticides, whatever the reason, it might be a good idea to take this problem seriously before it is too late. (Just don’t turn it into politics please. It’s a real crisis, not fodder for virtue-signaling by wannabe liberals or progressive-bashing by wannabe conservatives.)

 Posted by at 5:38 pm
Aug 112023

Howard Hughes was a great example. A captain of industry, a tycoon, whose life ended in mysery, ruined by mental illness no doubt, but wealth and success must have played their part, along with nearly limitless hubris.

There are others, both real-life folks and characters in fiction who fell into this trap. The tycoon Andrew Ryan of the Bioshock computer game franchise. Elon Musk with his increasingly erratic decisions that led, among other things, to the on-going corporate value destruction at Twitter.

We all know the expression, tragedy of the commons. But what to call it when wealth and power destroys a person, one who gave so much real value to the world, one who started off as a visionary, a revolutionary “captain of industry”? I asked our AI friend Claude and Claude offered a perfect answer: call it the tragedy of the tycoons.

I even have the perfect illustration, courtesy of our other AI friend, Midjourney.

 Posted by at 4:03 pm
Aug 082023

Sticking to the cat theme (in case anyone has any doubt, yes, I am quite fond of cats) here’s Midjourney’s take on some gentlecats and ladycats celebrating this momentous occasion.

 Posted by at 3:24 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
Aug 072023

The game’s Web site may be dated (hey, it’s a nearly 20 year old template… yes, we’ve been around that long, a lot longer in fact) but it now has a new feature: it is again possible to play MUD1/British Legends from the browser.

The feature is experimental and may still need to be disabled if it glitches but here’s to hoping that it doesn’t.

 Posted by at 2:57 pm