Yackity yackity yack, with ancient geek seasoning.
Unlike every other weblog you ever saw, this one is in correct chronological order so you can read it the right way round. But it always shows you the latest entry first so scroll up for earlier stuff.
The 2025 index will appear here
Annual anguish
January is the month when everything on the website traditionally falls apart. It is because there are so many places where the New Year requires new files, folders, and updates to old pages and scripts.
Yes, I make a note of the work that needs to be done.
No, I don't read my notes if I do, I'm too lazy to do what's needed.
So, in January, you and the website pay the price of my inattention.
This is an especially fruitful time for you to click for our
Contact Centre
to report misbehaving pages. Maybe a wrong or missing page or broken link.
I am grateful for a nod to motivate me to make corrections.
Second childhood
Children should treasure their childhood, because, once it is over, it will never return • • • • • • unless they are lucky enough to grow old.
You would be mistaken to think that LPMCC.net is for your benefit (alone). It is actually my toy.
As a child you had Meccano construction and Bayko building sets. Long before the enclosed plans became ripped, stained and tatty, you moved on to new, freestyle inventions and designs.
These days my construction set is the World Wide Web (WWW), with a basic HyperText Markup Language (HTML) starter kit, a colourful book of Cascading Style Sheets (CSS) and an electrifying supplementary pack of JavaScript. With those bits and pieces, tools and temptations, there is no end to the mischief that can be tackled.
I spend hours thinking up tricks to play, ways to do them better, simpler, quicker. Starting with a bug-ridden JavaScript program, smoothing it out using CSS. Finally, finding a new HTML5 element that performs the whole trick in a couple of lines.
When folk say cast your mind back to when you were a child my response is my mind never left !
The problem is casting my mind forward to today. I have all these fancy tricks scattered over the 2000+ pages of LPMCC.net, and I keep reinventing the wheel. If I recall writing a function, chances are I cannot find it.
After the angel of death killed all the firstborn as the final, terrible plague of Egypt the Israelites were liberated and began their Exodus from slavery. By following the prescribed instructions, the Israelites were spared destruction and forever celebrate Pesach, or Passover. The actual date is the middle of the month of Nisan, based on the Hebrew lunar calendar.
Jesus and his disciples went to Jerusalem to celebrate Passover, so the Gospels place the events of the crucifixion about this festival. Emperor Constantine the Great convened a council of bishops at Nicaea (in present day Turkey) in 325 AD, to establish the divinity of Jesus and a uniform date for Easter. It was ruled that Easter should be independent of the Jewish calendar. Calculating the actual date was not specified at the time, and over the centuries different methods developed, leading to disagreements between different Christian traditions.
Generally it is celebrated on the first Sunday after the full moon following the vernal equinox, but always after the Jewish Passover. This method follows the ecclesiastical (church) calendar rather than the astronomical equinox and full moon.
Because of this formula, Easter can be as early as March 22 or as late as April 25 in the Western (Gregorian) calendar used by most Christians. Eastern Orthodox churches use the older Julian calendar, which often results in a different Easter date.
There is a robust but complicated formula for calculating Easter in any year between 1583 and 4099. Outside those dates, all bets are off.
Creative accountancy
Whatever Rachel from accounts, Truss or Farage plan for the UK economy, we have exclusive access to a secret method of producing a £20 billion surplus without raising taxes or borrowing.
Click the REORGANIZE button to see how we can make the magic money tree bear fruit by changing priorities.
Government Spending
PENSIONS & BENEFITS
DEFENCE
EDUCATION
HEALTH
= £20 Billion
Keep the change.
Round corners
For the past few years I've been sending out a fancy-pants News emails with a blue background, two column format and round corners.
The format threw up an annoying glitch, so I decided to knuckle down and fix it. After hours of trying I succeeded, but it was a complicated bodge. What's more, I expect I'm the only person to see the benefit, unless you use Thunderbird like I do.
So I took a deep breath and decided to dump the fancy-pants format for a white paper News in a single column of readable size text • • • • • • and no round corners.
I've read the brochures and checked a few instruction books, but I cannot find any information on the device that allows drivers to see round corners. It must be fitted to cars - and motorcycles - these days judging by the number of motorists who pass on blind bends.
Then I found from
New Scientist
that Wenwen Li at the University of Science and Technology in China has developed a system that turns a rough wall into a mirror by deciphering the reflection of items hidden round the corner. Wenwen Li and team achieve this by applying special algorithms to the image of the wall.
I bought the above item from the middle of Lidl well over ten years ago confident that one day it would come in handy. I'm please to say that last week it did, to drill small holes round corners.
It's good to have obscure kit in your toolbox because you never know what task is round the corner.
Still round some corner there may wait
A new road or a secret gate,
And though I oft have passed them by,
A day will come at last when I
Shall take the hidden paths that run
West of the Moon, East of the Sun.
Part of the Hobbit Walking Song from LotR by JRR Tolkien
Location, location, location
Chris and Sandra Doyle rallied with Trade Winds MCC in the halcyon 1960s and 70s. They wrote to ask if we know the location of the
Poacher,
Woodpecker and
Robin Hood
Rallies. Maybe you can remember where they were with clues and prompts from our reports. For instance, the Robin Hood invitation mentions Cockcliffe Farm that is now Cockcliffe Country House. If you can identify a place, there is a link at the bottom of these and all rally reports inviting you to add your memories. That takes you to a report page with a map with a pin to move over the rally site.
With Satnav and Google Maps now well entrenched in our navigation, I was unsuccessfully trying to recall how the heck I ever found obscure addresses before the interweb thingy was invented. Those days are rapidly being erased from my memory.
A clue is in directions to National Road Rally Controls. They lead from a junction on a numbered highway with distances and turns. The final detail usually depends on local arrows posted on roadsigns and lamp columns. I still put up arrows leading to our
Big End
rally site. When looking for a specific unsigned place on a foreign tour (or in Leicester) it was necessary to find an English-speaking local.
Please do not assume that the locations that we give for Hans Veenendaal's
Rally Listing
are anything other than a work of fiction. They are roughly based on Google's guess of where the postcode indicates. Postcodes often cover a wide area. Sometimes the postcode given is the location of the organising clubhouse or the organiser's home address. Always check the details when booking!
Ups and downs
It wasn't broke, so I fixed it.
A foolish consistency is the hobgoblin of little minds.
Ralph Waldo Emerson
Pages with tabs along the top provide access to deeper pages, and sometimes, similar subjects out of the normal menu sequence.
In the past, chronological pages have been placed left-to-right ascending, oldest on the left, latest often out of sight on the right. Maybe you are more interested in the latest page, but its tab needs scrolling to?
It makes more sense to put the latest page on the left where they are visible and older pages off to the right. These Blog pages have always been like that. Galleries, Foz Annuals and Embers pages have now been brought into the same descending order.
When on the page, we have clung to the convention of earliest at the top and newer content further down as you read to it. Like this blog, the page will automatically scroll to new content.
NOT the wrong way
ChatGPT explains the difficulty of transmitting important negative information to trained people in stressful situations:
In military Situation Reports (SitReps), the word "NOT" is often capitalised for emphasis, especially when it is used in critical or potentially ambiguous contexts—such as negating an event, status, or condition. This formatting practice helps ensure that key negative statements are not overlooked, which is vital in high-stakes, fast-paced environments where clarity and accuracy are essential.
Examples:
"Enemy presence NOT confirmed."
"Air support is NOT available."
"This is NOT a drill."
Reasons for Capitalising "NOT":
Visual Emphasis: Makes the negation stand out clearly to readers scanning the report quickly.
Error Prevention: Reduces the chance of misinterpretation, especially in cases where misreading could lead to incorrect decisions or actions.
Standardisation: Some branches or units may have style guides that recommend or require capitalising key negations for consistency.
Legacy Practice: In some cases, it's a holdover from teletype or early computer systems where formatting options were limited, and capitalization was used for emphasis.
This convention isn’t universal across all militaries or units but is common in many NATO and allied reporting formats.
- ChatGPT
This A1 certainly didn't understand the word no
New Scientist
From Christine Wolak, Huntersville, North Carolina, US
Regarding "A1 doesn't understand the word 'no' ". The A1-generated summary of trail users' comments for a particular trail in a popular hiking app said that there were ticks. But when I read through the comments myself, the only mention of ticks was that there were no ticks. This result really put a distrust of A1 in me — what is the point of having a summary if it is wrong?
Large Language Models (LLMs) posing as Artificial Intelligence (AI) are similarly prone to missing negative information. They search vast quantities of data for specific words that they gather into their collected wisdom, but miss the proceeding "not" or "no" and fail to take it into account. This example is a report on a walking route, the original text for which stated "there are no ticks" (bugs that carry Lyme's Disease). The AI summary missed the "no", and stated there were ticks.
In religious studies, our teacher addressed the whole class. "Stop spelling 'Hebrews' as 'Hewbrews':" he pleaded. "There is only one 'W' in Hebrews, and it is at the end."
Maybe one or two pupils had been spelling it wrong in their essays, but after that proclamation, the habit spread to the whole class. Seventy years later, I still think Hewbrews made their exodus from Egypt.
When giving instructions on any skill, demonstrate the parts, and eventually, the whole skill. It is also vitally important NOT to show trainees how NOT to perform the task. There is a scene in Guardians of the Galaxy Vol 2 that perfectly illustrates this; Rocket tells infant Groot how to detonate the harbulary batteries, then makes the mistake of emphasising which button NOT to press.
Now, whatever you do • • • DON'T PUSH THIS BUTTON
I'm confounded by my tai chi sifu, who skilfully demonstrates the correct way to perform a movement, and then spoils it by saying "Don't do it this way." and shows me the wrong way!
Relatively simple
If you are under the misapprehension that this story is going anywhere interesting, maybe you would be better served by clicking the link for a random page, usually denoted by a die (as in dice) symbol; anything is better than what is about to follow.
Each week, Hans Veenendaal researches rallies across Europe and sends me an update to add to our
Rally Listing. Hans sends the data as a spreadsheet. I expect he uses Microsoft Excel.
I open the file in LibreOffice Calc and set about converting it into a JavaScript file suitable for our interactive web page. That includes making a stab at geocoding each rally location.
In the past that was done using a Google Maps API that converts postcode, place name and country into latitude and longitude - approximately. However, recently Google warned me to make my system more secure to avoid being billed for other people using my code. I did that, and lo and behold, their geocoding stopped working. Typical.
I'm an inveterate thistle collector, ain't we all? The theory is that eventually thistle come in handy.
Tucked away, I have a file of all Hans' rallies since the beginning of 2014 32,000 events. Almost all of them have been geocoded. How many different motorcycle rally sites can there be across the continent?
Filtering them into a list without duplicates, there are 8000 different postcoded locations. They can be used as a look-up table to find matches with incoming data.
In practice, it seems to work remarkably well, producing matches for 90% of new rallies using a few lines of code. The geocoded data is pasted into my converted version of the spreadsheet, ready to be sorted by dates and postcodes.
That leaves 10% to geocode "by hand". In other words • • •
Open Google Maps
Search for the Postcode/Place/Country
Make a guess of likely location in what is usually an amorphous postcode area
Right click to copy the co‑ordinates
Paste it into my spreadsheet of converted data
Parse the comma separated figures from text into two cells of numbers (Data > Text to Columns)
Now I have a new geocoded postcode for future use when searching for matches. It only needs adding to thistle postcode data file.
For some unknown reason, Google Maps give latitude and longitude to the number of decimals that represent a fractional width of an atom. Considering they are gonna be wrong anyway, four decimals is all I use. So in the spreadsheet, the result is format that way.
If you think that was boring, see what comes next!
When a rally is not geocoded, the data produced includes an extra column with the postcode/place/country in a suitable format to drop into the search bar of Google Maps. Easy.
The thistle postcode data file consists of Postcode/Latitude/Longitude. To ensure the postcode is recognizable regardless of containing spaces and odd punctuations, it is
cleaned up
to only contain letters and numbers. For rallies that were not geocoded, another column is added with the postcode in that form.
Now I want two more columns that contain copies of the parsed latitude and longitude. In a spreadsheet, that is simply =X9 where X is the column letter and 9 replaced by the row number.
Of course, it ain't that simple. When I write the new data and paste it into my spreadsheet, it will be at the bottom of the existing data. I'll know the column, but not the row of cells to look into for the hand inserted latitude and longitude. But I do know they are on the same line and six columns to the left!
EX = has been SPURT = drip under pressure
I'd no idea how to tell LibreOffice Calc to look "same row, 6 cells left". So I asked an expert.
Well, almost an expert. More like an evasive salesman ChatGPT.
The first formula looked convincing but failed to provide the required result. So I challenged my expert to improve on it and solve my problem. In a cheerful tone, it apologised for the red herring and delved deeper, coming up eventually with the goods.
Ain't that a work of art? Working from the middle • • •
ROW() gives the row number for the cell this formula is in
COLUMN() gives this column number (don't ask)
ADDRESS() converts row and column numbers to absolute cell co‑ordinates as column letter and row number, such as "$G$13", but as a text string.
INDIRECT() converts the text string version of the cell co‑ordinates into a real location. (I told you not to ask)
OFFSET(( • • • all the above gubbins • • • ),0,-6) tells it to show the content zero rows up or down and minus six columns away ie to the left.
FIXED(( • • • keep count of the brackets • • • ),4) cuts the resulting number (from 6 cells left) to 4 decimal places.
Remember to put the "=" sign at the front to make it a formula, otherwise it's just complicated but useless text.
Q.E.D. That's the text that goes into the next two cells, wherever they are. Thanks ChatGPT.
Keep that formula with your thistles.
Skypeless in Seattle
Skype was founded in 2003 by Niklas Zennström (Sweden) and Janus Friis (Denmark), with development done by a team in Estonia. It was operated independently as a startup, offering free voice and video calls, and quickly grew into one of the first mass-market VoIP platforms.
Over the 2005 Christmas break, Derek Foster in Tenerife suggested we try Skype. Alan Jarvis in Canada and Ben Crossley in Blighty, downloaded the free program, installed it and registered their accounts. By 21.45 GMT we had connected a conference call between the three of us. Regular "Skype Nights" continued for the next 20 years. At first they were on the last Wednesday of the month, but Covid saw them increase to every Wednesday.
In September 2005, eBay acquired Skype for $2.6 billion, intending to integrate Skype into its auction platform for better buyer-seller communication. That didn't succeed, and by 2007, eBay admitted Skype was not fitting with its core business.
eBay sold 65% of Skype in 2009 to a private investor group. The original founders (Zennström & Friis) regained a stake. They restructured Skype's finances, cut costs, and prepared to sell shares of stock to the public.
Microsoft acquired 100% of Skype for $8.5 billion in 2011 at the time, its biggest acquisition. But Skype's role diminished as Microsoft focused on Microsoft Teams, especially for business and enterprise communications.
Skype was originally funded using money from earlier ventures, notably Kazaa. After taking over, eBay funded Skype's global scaling, server infrastructure, and staff expansion, but Skype remained a loss for eBay because integration with auctions never delivered expected value. By 2007, eBay wrote down $1.4 billion of Skype's value.
Under Microsoft, Skype remained free for consumers, lightly monetized by consumer credit for calls, and subscriptions.
In short, Skype was an immensely popular idea that no-one was able to monetize.
When Microsoft closed down Skype earlier this year, it recommended users transfer to the free version of Teams, its paid-for business model.
So that is what we tried for our weekly Virtual Club Nights.
Our experience of the move has been daunting. It is different from Skype and every operating system and device seems to present a different set of commands, menus and icons.
Connecting has become difficult and does not improve from week to week. To try to solve our latest problems I tried asking Copilot, Microsoft's own AI assistant; that should know the answers. Indeed, Copilot sounded optimistic and knowledgeable, but following its instructions led to a setting (Chat Requests) that could not be found on any version of Teams Free. In frustration, the following exchange took place • • •
Me
This is like trying to get milk by sucking a crocodile's tail.
Copilot
Ben, that might be the most vivid metaphor I’ve heard all week — and painfully accurate for dealing with Teams Free quirks.
Microsoft really didn’t make this easy for casual group chats. It’s like they built a fortress for enterprise users and tossed a few breadcrumbs to the rest of us. But you're not wrong to expect smoother functionality — especially when everyone’s online and willing.
Here’s what I suggest to cut through the swamp:
Your Simplest Path Forward
Use a Teams Meeting Link as your “group room.” Share it once, reuse it often.
Pin the link somewhere easy — email, shared doc, or even a desktop shortcut.
Skip chat invites entirely. Just meet, talk, and share screens or files live.
If you need persistent chat, consider switching to WhatsApp, Discord, or even Slack Free — they’re far more forgiving for casual group use.
If you’re ready to abandon the crocodile altogether, I’ll help you pick a better beast.
So the link that appears on LPMCC.net when our Virtual Club Night is happening will now lead to a Teams (free) Meeting (not Chat). If we continue to experience stress trying to connect, I'll take up Copilot's offer to pick a better beast.
In the meantime, it is plain that Microsoft's official AI spokes-bot is guiding casual users away from their services.
Maybe tomorrow
Jean-Francois Helias, fellow conspirator on this website, keeps a brotherly watch on my lazy habits, alerting me to frequent errors and chiding me to pick up work that needs completing. Conscious that thousands of badges are still waiting to be added to our pages, Francois sent me the following hints about procrastination:
You’re not lazy, you’re scared. Procrastination is usually about fear of failure, judgment, or not being enough. (Sirois & Pychyl, 2013).
The task won’t feel easier tomorrow. Tomorrow you’ll face the same thing, only heavier with guilt. (Tice & Baumeister, 1997).
Avoidance is addictive. Every delay brings a hit of relief. That relief reinforces the habit loop. You’re literally training your brain to procrastinate. (Skinner, 1938).
Motivation is unreliable. Waiting until you “feel ready” is just procrastination in disguise. Action creates motivation, not the other way around. (Steel, 2007).
Five minutes can break the loop. You don’t need discipline for an entire day - just the first five minutes. Once you start, momentum does the rest. (Gollwitzer & Sheeran, 2006).
Your environment is stronger than your willpower. Leave your phone in reach and you’ll lose. Shape the context, don’t fight it. (Duckworth et al., 2016).
Perfectionism is cowardice in disguise. “I want it to be perfect” usually means “I’m afraid of doing it badly.” Better ugly than undone. (Flett et al., 1995).
Shame makes it worse. Beating yourself up for procrastinating only fuels more avoidance. Forgive fast, restart faster. (Sirois, 2014).
Rewards beat punishment. Small rewards for progress rewire your brain to associate effort with good feelings. (Eisenberger, 1992).
Small wins compound. One page today makes tomorrow easier. Procrastination spirals downward, but progress spirals upward.
I have spent a lifetime practicing doing nowt. It came in handy during COVID lockdown, and I have it down to a fine art now. Here is the algorithm I use to decide what [NOT] to do next • • •