A few days ago, Samsung sent out the September 1 security patch for the Galaxy Note 10+. Just a quick installation; I did not find any details on the exact content.

The N975FXXS7FUI1 update as shown on the device

Dune On Screen

I have read (almost? it’s hard to keep tabs) all the books in Frank Herberts Dune universe. Now there is a new movie based on the original book: “Dune: Part One“. The book is better, because it is more extended, and because it paints the Dune universe and events in more detail. But the movie succeeds in showing the major storyline as I remember it (unlike certain other book-based films!).

The release poster by HBO Max

My wife, who has not read the book, confirmed: it’s a good film. Recommended.

Two days ago, late in the evening, I wanted to clean up my list of “favourite” sites in the right column on this site. Since I couldn’t remember how things were handled, I went to the appearance section in the settings. What I saw, was an announcement the the widget section would now be handled with the block editor. OK. But…

The old widgets were supposed to remain available, unless I misread the announcement, no? There were pencil icons next to them, but clicking on them resulted in nothing – or so I thought. But when I reloaded the home page in another browser windows, I was shocked to see that the nice calendar had changed into a long, long list of dates! After all, there are more than 3000 posts on this site. Same for the tag cloud: it had turned into a list of categories. No, I was not amused when I saw that – and I’m doing my best to stay polite here.

Yesterday I had a bit of time to investigate. Since I’m using the free hosted WordPress service, I am not able to install the required plugin to continue editing the old widgets. The new editor showed no widgets (although the site still displayed those long lists), so I added the (new) Calendar widget… and sanity returned, more or less: the lists were replaced by a calendar, like I wanted to. The tag cloud was bit harder; the new one isn’t as nice as the old one. Even when I diminish the number of words shown, the display isn’t as readable as before, as you can see :-(

As for my links list: when I try to add the “Links” widget all I get is an unspecified error message. That’s not what I wanted in terms of “cleanup”.

It’s good that WordPress continues to evolve – yes, it’s gotten better over the years, and I’m confident that it will continue to do so. But in an evolving product it pays to take care of the old features until there is a reliable way to transform the old into the new. What I went through is no fun, and as a developer you should not force your users to go undergo such a process. Really.

You have had to wait until after our summer holiday, but here they are: the solar electricity production numbers for August 2021. As you can see from the numbers, both July and August were pretty clouded and grey, each delivering just over 80% of the average production of our installation. In the end (which you can see at the bottom of the overview page) that makes the past meteorological summer the least productive of all…

At least we had two weeks of fine weather in the South of France ;-)

When we returned home from our holiday I noticed that my Samsung Galaxy Note 10+ was ready to install another software update. Version N975FXXU7FUH3 is nothing special, I think – basically (!) just an alignment with the August 1, 2021 security patch level.

I don’t know the author of the essay entitled “You Really Need to Quit Twitter“, but I like what she wrote in it. How about this?

Patrick disappeared and came back with a collection of Simone Weil essays. He said I should read “On the Abolition of All Political Parties,” but every time I saw the word parties, I should replace it with Twitter. He demonstrated, reading a paragraph aloud:

The mere fact that Twitter exists today is not in itself sufficient a reason for us to preserve it. The only legitimate reason for preserving anything is its goodness. The evils of Twitter are all too evident; therefore, the problem that should be examined is this: Does it contain enough good to compensate for its evils and make its preservation desirable?

I also immediately replaced “Twitter” with “Facebook” – but since I’m not really involved with either “social medium” I may not be the right person to provide answers to that question. On the other hand: is it really a coincidence that “social media” and “sado-masochism” share the same abbreviation?


The old-timer transformed into a completely new bike: that’s what they did to a BMW R1100S. Just look at the result:

A fully modified BMW R1100S motorcycle with metal parts. Credit: Officine Mermaid

As explained on the InceptiveMind report on the subject:

Radikal Chopper and Officine Mermaid. Specializing in the modification of two-wheelers, the two companies have changed a BMW R1100S to such an extent that only the 1085 cc boxer engine delivers something of its origin.

Nevertheless: looks great!

I was pretty surprised when I read this – in fact, I had to read it a couple of times to make sure I read it right!

Following the intense scrutiny generated by the Colonial Pipeline hack, DarkSide appeared to be reconsidering this model. On Monday, a statement purportedly from the DarkSide hackers announced the group’s intention to closely scrutinize its partners’ planned attacks in the future to “avoid social consequences.” “Our goal is to make money,” the statement said, “and not creating problems for society.”

Source: “What you need to know about the Colonial Pipeline hack” (Politico)

As Frank Zappa said a long time ago: “We’re only in it for the Money“…

BoingBoing rightly mentions the testimony of Washington DC police officer Daniel Hodges. Clearly, this officer was well prepared:

The term “domestic terrorism” means activities that “involve acts dangerous a human life that are a violation of the criminal laws of the United States or of any state and B, appear to be intended to intimidate or coerce a civilian population or to influence the policy of a government by intimidation or coercion, or to affect the conduct of a government by mass destruction, assassination, or kidnapping, and occur primarily within the territorial jurisdiction of the United States.


Simple. To the point. Now all that’s needed is the correct application of this term to all (!) involved – inciting others to commit such acts cannot be condoned either, can it?…

Aaah, Freedom!

I can’t remember where I found this image. But I simply had to share it – even after almost two years of a world-wide pandemic it is still relevant.

Well said, Kathony Jerauld !

There is a new markup language on the market. As a Wikificionado I like markup languages better than using any wordprocessor – for my own writing I haven’t used a wordprocessor in many, many years. Even at work I only use Word when I have to, and that has been a while ago (that probably means all I write are emails and code). And bug reports and documentation get dropped into JSPWiki and Trac and Joplin – all I need is simple markup.

I like markup for regular writing, and I use it daily in tools like Trac and JSPWiki. The trouble, of course, is that each of those tools (and many others!) uses a slightly different markup scheme.

And now there is a new contender on offer: Mau.

Click the image to go to the source code on Github

I can see where it comes from: the author needed more than what any simple markup could offer. I too have at times been frustrated by the lack of feature X or Y in any markup scheme. It surprised me to see that he did not check out LaTeX, which as far as I know should have covered his requirements. But it would probably have been too steep a learning curve.

Back to Mau: I haven’t yet tried it, but I can see that it would be a very nice tool for writing documentation. However, for me the system should be an extension of Markdown, let’s say a SuperMarkdown or MarkdownPlusPlus, rather than another variant markup scheme with subtle differences from what I know.

I guess I am not the only one to dislike “yet another divergent markup scheme”. So far I haven’t seen much traction for Mau… although it is, in a way, a very cool project. I applaud Mau’s author for making the effort – he clearly thought this through. And who knows: perhaps Mau becomes wildly successful in the future?

By now everybody knows about the severe floods that struck large parts of Germany, the Netherlands and Belgium the pas few weeks.

That much rain coming down in such a short period is (sorry: was!) very exceptional, and it illustrates the Belgian weather of July 2021: lots of clouds, lots of rain, and little sunshine. The resulting misery will take years to fade away, and those who lost family members or friends will never forget that month.

The solar energy production numbers from our solar panels has never been this low in the months of July from the past decade – no wonder given the weather situation. Luckily for us, those numbers are the only consequence of what happened. So we’re not complaining! And we hope that solutions can be found to avoid the drama we’ve seen in the future: given what is known about the changing climate, “rain bombs” are bound to happen again…

I like CFLint for its ability to assist me in writing better code. But some of the rules implemented in the “standard” version strike me as arbitrary (“standard” meaning the version without any additions). If there is some kind of master rulebook for writing CFML or CFScript, then there is no reference to that in the CFLint source code, nor on its website.

I find that CFLint conflicts with some of the code style rules that I have been applying for over a decade. Code styles are always somewhat arbitrary, of course. They depend on the experience and knowledge of its author(s), on the frameworks and code libraries used, on the styles used in other programming languages at the same company, on the quality assurance rules applied, and more.

That is why I struggle with some of the rules currently fixed in CFLint. Here’s an example. When I write scope names like “APPLICATION” and “ARGUMENTS” the “VariableNameChecker” rule in CFLint complains, telling me that scope names should never be written in capital letters. My reasoning for doing that nevertheless is simple: the names of these scopes have been reserved and fixed by Adobe, so you cannot use them for anything else. So going “allcaps” on them neatly sets them apart from variable and function names. With the current situation I have to disable the rule completely.

I would like to see this checker adapted so that I can specify whether I want scope names “allcaps” or “nocaps” (or even “camelCase” of “PascalCase”) in the CFLint configuration file. That way I could easily check whether I applied my own rule correctly, by adapting the config as needed, regardless of the default set by the CFLint developers. The same approach could be worthwhile for variable names, component names, and function names, of course.

There are probably a few more situations like that in CFLint. If I find the time I may have a look at the Java code, to see how this might be implemented (don’t hold your breath, though).



I am getting used to working with VSCodium for my development work (VSCodium is essentially the same tool as Visual Studio Code). I chose VSCodium because it is a multiplatform tool, it is very flexible and extendable, and thus it has good support for many programming languages. What’s not to like?

One of the VSCodium extensions I’m trying out is CFLint. My ColdFusion development career is still stuck at CF11, and the tools I use to help me validate my code are indeed… a bit dated: I use a slightly adapted version of ‘VarScoper‘ (see my earlier comments on this) and the ‘CFML Complexity Metric Tool‘ (see https://github.com/NathanStrutz/CFML-Complexity-Metric-Tool), as well as an extensive series of unit test running in ‘cfcUnit‘ (sorry, its homepage no longer exists). Say what you want: any helper tool, even if it’s dated, is better than no tool.

CFLint is much more recent, and it handles CFScript as well as my trusty tag-based code. It’s caught a number of inconsistencies in my code, like unused variables, which is very good – less code equals less opportunities for errors. Using CFLint also removes an obstacle to my moving to CFScript, so yes I am progressing – even if it’s just at a slow pace ;-)

But I have a few niggles with CFLint; I guess I will have to create a few tickets in the project site on Github, and/or come up with a solution that’s acceptable to all other users of the tool as well. CFLint assumes that everyone codes in the same manner, according to the same rules. That is a bit assumption, and it clashes with some of the rules that I applied to my code. Not all of the situations are easily reconfigured with the options that CFLint (currently) allows. Here are a few of things I found… disturbing, at least for my use case.

  • I can agree with the rule that .cfm/.cfml file names should not start with a capital letter. But for old-school ColdFusion developers like me there is no way to escape Adobe: ‘Application.cfm‘ absolutely has to start with a capital!
  • Worse: the file starts with three comment lines, and CFLint seems to use that fact as a reason to repeat the message “The file Application.cfm should not start with a capital letter” three times…
  • In general, I agree with the rule that variable names should be written in ‘camelCase‘ (or ‘PascalCase‘). But it would be nice to have the opportunity to list a few exceptions to that rule.
  • So far, I haven’t seen a check for double variable declarations – my bad, or is it really missing?

All in all, after a bit of tweaking I now have a fairly usable CFLint setting in my ‘.cflintrc‘ file – it’s good to have a tool looking over my shoulder to catch inconsistencies, mistakes, typos and more.

The last two years, and 2020 in particular, have seen much writing and talking about “digitalisation” and “digital maturity”. A quick search on the Internet makes it clear: the big consulting firms have lots of advice on the subject, magazines and blogs write about it, and there is even a five-stage “Digital Maturity Model” – how could we discuss the subject without an appropriate model ? Sarcasm aside:  there doesn’t seem to be a clear and concise definition of “digital maturity”.

Don’t expect me to deliver that definition; I’m not even convinced it is necessary. It’s a bit like “digitalisation”: the term became ‘en vogue’ the last few years, and was used in politics to defend all kinds of measures that were supposedly “transforming” enterprises and societies into something better, more future-proof, more productive, more…

I don’t know about you, but when I started my professional career in IT more than 35 years ago, we called it “automation”. I was not even part of the first wave of automation; I was among those who were going to replace the mini-computers in the sales part of the company I work(ed) for, and introduce PC’s. We were laying foundations for a lot of digital work in the enterprise, so in my view “digitalisation” started already in the 1980’s.

Anyway, here’s what CMSWire has to say about how to become digitally mature:

But it isn’t enough to throw money at a problem and buy the latest digital tools. Instead, CEOs should be focused on solving problems. The objective of digital transformation isn’t just transferring data from paper to digital, or being able to run a business off of a computer. It’s about identifying what problems and inefficiencies employees are experiencing and implementing technology solutions that will solve those problems. It’s also about empowering employees with tools to make their lives easier.

Identifying problems; finding and designing solutions; solving problems: it takes collaboration between all parties concerned to do that right. That’s easier said than done, as evidenced by the fact that an extensive industry was built around collaboration! There are many considerations to be taken into account when you’re taking the CMSWire way to improve the digital maturity of your company. Let me just list three of them.

  • There should be only one content management system in your company“. If you’re going to diverge from that rule, at least make sure that you have very good and explicit rules for doing so – there are indeed situations where you need more than one. If you don’t follow the guideline, you’ll end up with data and documents in different systems within a company, and then the question becomes: where do I store this document? Will all documents of the same type end up in a single location? That is very unlikely – and it will become problem in the (near) future: where will you find the documents you’re looking for?

  • Invest in a good enterprise-wide search engine“. “Enterprise-wide” means that ideally it should cover all data and documents that circulate within the company – if you have multiple content stores, the search engine should be able to index them all. The investment needed does not just cover the installation and runtime cost of the search, but should include the daily management of the data and metadata needed to make the search work for everyone. For example, it may seem like a little thing, but making sure that data and documents can be found using the vocabulary of the people in the company is harder than you think. Is project X called “X” when people talk about it, or do Marketing and IT use different abbreviations? If there are multiple names, how will they find documents related to the project? A bit of AI may help, but even then it may well take a full-time job (or more!) to keep your search engine running perfectly.
  • Establish clear governance rules for collaboration tools“. The pandemic of 2020 and 2021 has fueled the rapid growth of video meeting and chat tools. The problem, of course, is that there are many choices. Most of those tools are an island upon themselves, incompatible with others that do the same thing from and end user point of view. It may seem simple to pick one of them and use that for all and any communication within and outside your company – but depending on circumstances that may not be the best choice. Perhaps you want to install one on your own infrastructure, to serve all internal meetings, and use an internet-based tool for contacts with your clients or partners? There may be financial, legal, or other reasons to take or avoid that road. Regardless of the solution chosen for any type of collaboration tool, you will need to establish clear governance rules: when to use the tool; how to use it; what precautions to take when interacting with external parties; what and how to archive; etc. Those rules should just be added to an existing body of governance for other tools like paper, email, etc. – I’m assuming any organisation worth calling an ‘enterprise’ already has such rules.

I did encounter the negative consequences of not following those guidelines at least once in my career so far, and certainly in big companies it’s very difficult to get everyone aligned on a single, enterprise-wide approach. But when every division or team starts its own collaboration project and chooses its own tools it becomes very hard to collaborate on anything. Good collaboration throughout the entire company: that is a cornerstone of an effective and productive digitalisation process.

Making hard choices on an enterprise level is necessary to reach a higher “digital maturity” level; when it comes to internal tools for content management and collaboration those choices can make or break your strategy. Choose wisely!