2025-06-04 02:29:55
Common sense. Whatever you do, don’t just go with the flow. Go deep. Smell right. Never go solo if you can be part of the crowd. If you’ve got a treff in Warsaw and there’s a faculty bus going, take it.
Infested with interminable, impenetrable prose, such as the above, Le Carré's final_finalv2 (posthumous) novel bears all the hallmarks of man who knows his craft too well.
I have read a grand total of two Le Carré novels; the other being (naturally) his breakthrough, "The Spy Who Came In From The Cold". While I appreciate the detail, it can be overbearing and come across a little "clever".
Perhaps the feelings of bewilderment come from having taken a two decade break from Cold War spy novels, the inherent esotericism of the genre acting as a natural barrier.
Perhaps when I've re-read a handful of Deighton novels, it'll all come flooding back!
2025-06-03 13:24:58
Inspired, as so many are, by Robert, I'm going to attempt #Junited2025 — sharing one link to another blogger every day to celebrate some of the excellent writing out there.
I may not make it but we can but try.
Of course, I still made mistakes. I picked the wrong films for the light, and I made mistakes loading film. Still, I felt that these mistakes were helping me learn.
Analog.Café, How Photography Helped My Mental Health: Especially Analogue
Unfortunately, poor Google are strapped for cash and can’t afford to pay developers. Desperate times calls for desperate measures.
David Bushell, "Baseless"
Rather than address the causes of migration, poverty, exploitation, collapsing ecosystems, or conflict (frequently made worse by powerful nations themselves), the response is to build walls, fund patrols, and criminalise movement.
Adële's smolweb site, So much money to protect nations… from the people who need help
2025-06-02 16:13:57
There are a few places on this website where I say how long it has been since something happened. One example is on the homepage — "I have been making things for the web for more than ₓ years."
Up until today I was importing date-diff which is a lovely package and Just Works™ but probably overkill for a "years since" functionality.
Marc Amos shared his Years Since shortcode for use in Eleventy sites using Nunjucks. I also run Nunjucks in Eleventy so this was of interest. I also bloody love deleting dependencies!
I had to modify the code a little because I use a specific date format and, for some reason, I couldn't get it to work as a shortcode so I changed it to a filter.
Here is the full, modified, code.
/**
* Years difference
* Courtesy of Marc Amos
* https://marcamos.com/journal/years-since/
*/
const yearsSince = (dateString) => {
const isoString = dateString;
const date = new Date(isoString);
// Get components and pad with leading zero if necessary
const year = date.getUTCFullYear();
const month = String(date.getUTCMonth() + 1).padStart(2, '0'); // Months are 0-indexed
const day = String(date.getUTCDate()).padStart(2, '0');
const formatted = `${year}-${month}-${day}`;
console.log(formatted); // Output: 2025-03-11
// Is the passed-in value (dateString) really a string? Is it formatted as required?
if (typeof formatted !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(formatted)) {
throw new Error('The `yearsSince` function requires a valid date string in the format "YYYY-MM-DD".');
}
// Convert dateString into a Date object.
const startDate = new Date(formatted);
// Is the new Date object (startDate) a valid, parsable date?
if (isNaN(startDate.getTime())) {
throw new Error(`Invalid date string passed to "yearsSince": ${formatted}`);
}
// Extract the year from startDate.
const startYear = startDate.getFullYear();
// Get the current date.
const now = new Date();
// Extract the year from the current date.
const currentYear = now.getFullYear();
// Calculate the difference between the current year and the start year.
let years = currentYear - startYear;
// Determine if the anniversary of the passed-in date has already occurred this year.
const hasCompletedThisYear =
now.getMonth() > startDate.getMonth() ||
(now.getMonth() === startDate.getMonth() && now.getDate() >= startDate.getDate());
// If the anniversary has already occurred this year, return the full number of years,
// otherwise subtract 1 since the current year’s anniversary hasn’t been reached yet.
return hasCompletedThisYear ? years : years - 1;
}
With this saved in my utils.js
file, I can register it in my .eleventy.js
config file and use it as a filter in my markdown and Nunjucks files.
const { yearsSince } = require('/utils.js');
eleventyConfig.addNunjucksFilter('yearsSince', yearsSince)
I have been making things for the web for more than {{ "2012-01-01" | yearsSince }} years.
After that, I had to have a little putter around the code base to replace any dateDiff()
with yearsSince()
but that didn't take long.
Finally, npm uninstall date-diff
and publish the site.
This is working really well for me. Maybe it can help you too 😎
2025-06-02 12:25:08
Spoilers
I have completed the latest instalment of #MAFSAU (the best in the franchise) and, wow!
A few points;
This year felt so long that I was shocked that some of the returning participants in the Final Dinner Party weren't from previous years.
All-in-all though, a good effort from everyone involved. Plenty of drama but nothing felt "fake", plenty of heartbreak and love, and enough human interest to keep this human interested.
2025-06-01 23:49:51
Absolutely howling a gale, throwing rain against the bedroom window all night. Felt like being at sea. Left the window open when it was sunny, went to bed in an ice box. It was actually kind of nice, sliding between cold sheets.
The church has finally saved up enough money to have the bells repaired. They clearly spent some time and effort into selected the right volume for the chimes to carry but not be overwhelming.
Having spent a good chunk of time in the garden recently, it's actually been lovely hearing the hourly count drifting over the village on the warm, fragrant, Spring breeze.
This time last year I was pleased with myself for having made it half way to my Reading Goal. This year, I am on book fifteen of twelve 😳
You can, if you are so inclined, follow my 2025 Reading Progress on Bookwyrm. I should have figured I'd get through more books; I finished 2024 at double my goal!
An increase in my commute coupled with a few books so good they kept me up past bedtime are to blame.
The Cabbage Tree has started to flower. All of the weird spikes are covered in little bobbles that pop open into tiny white flowers. They're attracting honey bees, which is lovely, and snell of cat urine, which isn't.
Morning jogs are for the body, evening walks for the soul.
John Le Carré, Silverview