Thursday, July 23, 2026

Challenges and out of the box solutions

I wrote1 yesterday about how the old CEO would challenge me with various problems. I forgot to mention that my manager mentioned that often she would come to me with questions that either I could solve on the spot or those that needed a bit more thought (see the accompanying picture). Often I would solve 'the impossible' either in the shower or when walking the dog.

I also mentioned that there appears to be a bug in Priority regarding certain SQL queries although I won't go into detail about the bug here. I went out with the dog for our early morning walk and a solution for fixing this bug popped into my mind. It's not a complete fix, but it's good enough for the time being. The only way to get there was to ignore the standard method of doing something (which appears to be bollixed at the moment) and find an out of the box method. It helps to do this when one is far away from a keyboard.

Internal links
[1] 2121



This day in blog history:

Blog #Date TitleTags
9623/07/2007Favourite filmsFilms, Woody Allen, Meg Ryan, Diane Keaton, Kevin Kline, Hugh Grant
26823/07/2010Porting the Amateur Reasoner/2Prolog, Bill Thompson
105423/07/2017This bird has flown: the enduring beauty of Rubber SoulBeatles
164523/07/2023The beginnings of a new songHealth, David Lodge, Song writing
196823/07/2025Dave Cousins RIPObituary, Sandy Denny

Wednesday, July 22, 2026

The season of farewell parties

There are six more workdays left until I retire as a full-time salaried employee. I will be working after this, but as a freelancer who chooses his own hours and doesn't have to hear from the entire workforce. So in the days that are left, it is time to part from as many employees as possible.

Today there was a 'farewell party' in the branch where I have worked for the past 36 years, my 'home team'. First, my manager, the chief financial officer, praised me to kingdom come in front of all the employees there (about 20). At first this was OK but towards the end became a little embarassing. She spoke about how I have always served professionally whoever would come to me for help, and how I have solved many thorny problems over the years. She told how I have created an information eco-system for the company, creating reports and work protocols that have advanced the company over the years. This was as much for those who are not aware of what I have done over the years as it was for those who were well aware.

I began my speech by noting that whenever I attend a funeral on the kibbutz, I hear the deceased being praised in glowing terms, and I always think that it's a shame that the deceased never got a chance to hear all these wonderful things being said about him/her. I have the advantage of being alive to hear my 'eulogy'. I then talked a little about how it was in the early days, and how certain workers who are still with us began their employment. I said that like on Yom Kippur when we all request forgiveness for anything bad that we might have done, I request forgiveness from anyone with whom I might have had a dispute: if so, these disputes were always on a professional basis and not personal. I did say that I have personal and professional satisfaction from the legacy that I am leaving behing. I also recalled the late CEO who would often substitute the word 'challenge' for 'problem'; he challenged me frequently and I doubt that I could have achieved the same results had he not been there with his challenges. I mentioned that this branch implemented ERP 'by the book' and would always use it as an example to the other branches who frequently did their hardest to implement ERP as it is not meant to be implemented; I had to find ways that their protocols could match those in Priority as much as possible.

Several people came up to me personally after the speeches to shake my hand and say a few words. Most surprisingly, one was a new employee who said that he didn't know me but that he had heard of me and wanted to wish me well. That was very kind of him.

There will be another such 'party' in Karmiel next Monday; there it will quite different as first of all, my connection with that factory started only in around 2008 if not later, and secondly because I am only there once or twice a month, so all communication is either by email or by online meetings. My manager will not be there, but I will hear either from the CEO or from the factory manager (if not both) what they have to say.

There will probably be some form of 'party' in Tel Aviv towards the end of August as well as a special celebration for the finance department to which I belong.

I am not resting on my laurels: there are still some thorny problems to be solved at work that only I can deal with. After a minor upgrade a week and a half ago, there are several procedures that have stopped working for most people (but not for me), where the problem seems to be connected with choosing parts as input.  I figured out how I can run these procedures under the debugger when the person running the procedure is not me but an ordinary employee. I saw that when I run these procedures, a normal SQL statement is created, but when they run the procedure, a ridiculous statement is created that apparently joins one part with the entire table of parts, causing the procedure to crash eventually . I have passed examples of this problem on to the company that gives us professional support, but I haven't heard back from them yet.

I have prepared a general farewell letter to be sent to the entire company by email some time next week. I will send it a few days before I finish as it would be nice to read what people have to say. After I retire, my account will be closed so that no one can write to me anymore with their problems - or even their best wishes. I will leave a message 'this email address will self-destruct in ten seconds', but I doubt that many people will get the reference. I must also remember to write to the company that supports us, although I will stay in contact with them, only with a different email address.



This day in blog history:

Blog #Date TitleTags
26622/07/2010Porting the Amateur ReasonerProgramming, AI
26722/07/2010Beef ratatouieCooking
61222/07/2013Transferring cassettesPersonal, Old recordings
74122/07/2014Rice and beansCooking
74222/07/2014And now for something completely differentFilms
88222/07/2015Vinyl log 20 - 22 JulyVinyl log, Fotheringay
179322/07/2024Italian phrasesItaly
196722/07/2025Resuscitating the Donner octave pedalPedal board

Sunday, July 19, 2026

Rugby, cricket and music: memories of 1968/9

Yesterday's post1 about the death of Gary Sobers (and previously, JPR Williams2 and Mike Procter3) show how important professional sports (even though rugby was amateur) to me at an early age. After all, I was a few weeks short of my 12th birthday when I saw Sobers in the flesh. For a few years, I was a junior member of Bristol RFC and Gloucestershire CC, allowing me entrance to the members' area and a much better view of the games. It wouldn't be for another year before sports began giving way to music as my primary hobby, or as I should say, obsession.

I don't think that I realised at the time, but I was lucky to see Sobers in the flesh because it seemed that once a player had reached international level, he stopped playing at the club/county level. As I noted in the obituary of JPR Williams, I saw him a week or so before his international debut and would never have seen him again. I was very surprised at some stage to discover that Bristol RFC was the home club of John Pullin who played hooker for the English rugby team and even captained it at one stage: I had never seen him play for the club.

And as for music: I remember that sometime in 1968 I bought a mini-guitar that had four strings (it wasn't a ukelele) and tuned it in some strange way. I suddenly started writing songs although they have been lost forever and I have no idea what they might have been about. I do remember that I was in France4 in the spring of 1969 and wrote some form of a song on some odd stringed instrument; I realised afterwards that I had written a copy of 'Eleanor Rigby'.

I learnt my first guitar chords at the summer camp of 1969, along with writing the lyric for a song. This was the true rebirth of my interest in music which grew and grew and no doubt had a negative influence on my performance at school.

Internal links
[1] 2119
[2] 1706
[3] 1722
[4] 239



This day in blog history:

Blog #Date TitleTags
9419/07/2007What I did at work todayProgramming, ERP, Thermal printers
74019/07/2014Statistics with SQL (Firebird)Programming, Delphi, SQL, Firebird, Statistics
96419/07/2016When the music's overDCI Banks, Peter Robinson, Police procedurals
124319/07/2019Making the Greece holiday videoHoliday, Home movies, Andros, Athens, Greece
164319/07/2023If this is jazz then I'm all for itAmbient music, Matthew Halsall
179019/07/2024Sorting on two columnsProgramming, Delphi, Office automation

Saturday, July 18, 2026

Sir Garfield Sobers, RIP

Sir Garfied Sobers - or as he was known in my childhood, Gary Sobers - died yesterday  a few days short of his 90th birthday. and was the consummate cricketer of my childhood. His name was in the record books at the time (the 1960s) for having made the highest score in test cricket, 365 not out, but he was also a fearsome bowler.

Although I must have watched him play for the West Indies on television, I was also privileged to see him play in the flesh in June 1968 when I was a junior member of Gloucestershire CC. I remember the occasion although not the date (Copilot found it instantly, 22–24 June 1968). 

During the match, there had been intermitten showers, and indeed the players had left the pitch during Sobers' innings. When play resumed, Sobers scored 98 runs before getting out. Even though he hadn't made a centurty, he received a standing ovation from the around the ground, and especially in the member's enclosure where I and my friends were. I remember trying to touch him - touch a  cricketing god! - but I don't remember whether I succeeded in doing so. 

As Copilot put it, Sobers’ 98 was described as one of those innings where the number didn’t matter. He dominated the bowling, lifted Nottinghamshire’s innings, and played with that effortless authority that made spectators feel privileged just to be present. A standing ovation for 98 — as if he had reached a hundred — is exactly the kind of reception Sobers inspired. County crowds adored him. They knew they were watching the greatest all‑rounder in the world, and they treated him accordingly.

Two months later, Sobers entered the history books again by being the first player to score six sixes in a single over off six consecutive balls in first-class cricket. 

From the Guardian obituary, I learnt that he captained West Indies in 39 Tests, with a sense of adventure in keeping with the character of someone who loved to gamble at racecourses around the world. All this he did while pursuing rum, women and the sort of hedonistic lifestyle that makes the tales about Botham seem like nursery rhymes (in his autobiography, Sobers dealt candidly with his jousts with the bottle in his early adult life).

Anothing sporting legend of my youth has passed away.



This day in blog history:

Blog #Date TitleTags
26318/07/2010The in-basket 3 (whole lotta programming)Programming, Delphi, In-basket, Combo box
73518/07/2014Research proposal submissionDBA
96318/07/2016Someone's tiredGrandfather
124218/07/2019Sending data to a procedurePriority tips
178918/07/2024Back to normal (computer)Computers

Friday, July 10, 2026

A new driving licence

 Five months ago, I wrote 1 that 'my driving licence - the small, plastic covered, real licence arrived. Looking closely at it, I see that the expiration date is 03/08/26, which just happens to be my 70th birthday. There is no mention of how I get a new licence after that: presumably I apply at the Ministry of Transport's website then wait another few months for the new licence to arrive in the post. In other words, this entire saga will repeat itself!'.

I had got the notion that I would be sent a medical form towards the expiration of the licence so that I could have my eyes checked once again and have my GP confirm that I am medically capable of driving. But no form has arrived, so the other day I went back to the transport ministry's website where I was informed that 'your licence is about to expire'. Tell me something that I don't know. All I had to do to renew the licence was pay an exorbitant 269 NIS fee and then I received on the spot a new licence that is valid for six years.

When I write 'a new licence', I mean that I received a PDF of the licence that I printed out. The real 'small, plastic covered' licence is 'in the post', but I won't hold my breath until it arrives.

Internal links
[1] 2076



This day in blog history:

Blog #Date TitleTags
9110/07/20071970 - Nice enough to eat/Habonim camps IIHabonim, Sandy Denny, Nick Drake, Blodwyn Pig, Nice enough to eat, 1970, Joe Boyd, John and Beverley Martin
73610/07/2014Analysing ExcelDBA, Excel
87610/07/2015Vinyl log 18 - 10 JulySandy Denny, Vinyl log, Fairport Convention
140710/07/2021Funeral playlistPersonal, Father
195910/07/2025More bad writingTom Clancy

Saturday, June 27, 2026

DCI Warlow - Druid's Moor

This is the 18th installment of books by Rhys Dylan, and as far as I am concerned, it is his best so far. I wouldn't say that his previous books were perfunctory but they don't achieve the richness of this one. In the 17th book, I guessed the identity of the murderer fairly early on: not because of what was written in the book but because I have assimilated the style of the author and know what to look for. On the other hand, I didn't expect the direction that the novel took in the final chapters. In this respect, there is a similarity to the late, great, Peter Robinson (DCI Banks) whose books started slowly and gradually built up pace towards the end.

This book, however, is not in the same mould as the other books. At first, it wasn't even clear what the book was about and who the murdered person was. Before I get further into a discussion of the book, I will note that like J. K. Rowling, every scene, almost every word, is important. If we are shown something, then that something will later appear (aka Chekov's gun). So the opening chapters, apparently unconnected, are not simply there for colour. On the other hand, the hospitalisation of Evan Warlow with a bad case of pneumonia (which I diagnosed before the book) doesn't seem to contribute too much although it does allow the other characters to shine.

Talking of which, in 'the future', DCI Warlow and his second in command, DI Jess Allanby (a couple, from about book 10) are supposed to take a joint holiday in Australia, probably by the time of the next book, so I was wondering who would take charge of their unit. By chance, one of the sub-plots - and indeed, the only murders - takes place near Weston Super Mare (near Bristol) and one of those murdered has connections to Wales. So the investigating DI comes to Wales to see what's happening, and as she is Welsh also, I suspect that she will take control of the next book. I have just discovered that the author wrote a trilogy about this character several years ago, the events of which are partially recalled here by some of the characters.

Back to 'Druid's Moor': this book neatly ties together threads from several books in a way that none of the cast nor the reader could have expected. Even though I started and finished reading the book in a few hours yesterday, this is the first in this series that I want to read all the way through again. Due to the resolution of this book, however, it would not be the best place to start reading the series; it is not self-supporting.

There's a nice self-refential joke in chapter 3: Talking of cures and doctors, did I tell you I bumped into an old friend of mine… a doctor who retired and turned crime writer? His books aren’t half bad, actually. Though they could do with a bit more sex.’ "Rhys Dylan" is actually a pseudonym for Dylan Jones, a retired NHS ophthalmologist.

I forgot to add that there are some nice musical touches from one of the characters with early 70s  Genesis, Alan Parsons, Yes and Led Zeppelin amongst others being mentioned. Jess only knows the references from Evan.

Homonym mistakes that hint that maybe the book was dictated and not written:
  • "You're like my mate Ed's K9, Moley, when you get your teeth into something" (Chapter 3)
  • There's a place where a "they're" is written as "their" (I can't find this - maybe it's in the previous book)
  • In probably the first book, Crewe is written as Crew.


This day in blog history:

Blog #Date TitleTags
25727/06/2010LASIK surgeryHealth
60627/06/2013New mobile computerComputers
86827/06/2015Vinyl log 16 - 24 JuneVan der Graaf Generator, Vinyl log, City Boy
163527/06/2023Lessons in ChemistryLiterature

Wednesday, June 24, 2026

45 years married

 




This day in blog history:

Blog #Date TitleTags
37224/06/2011Having an author sign her workPsychology, Blodwyn Pig, Fairport Convention, Canterbury sound, Economics, Dan Ariely
49224/06/2012Korcula (Dubrovnik log 8)Holiday, Dubrovnik
60424/06/2013Once and foreverYoni Rechter
73024/06/2014The heat! (Sicily log 5)Holiday, Sicily, Italy
104624/06/2017BumpersNice enough to eat, 1970
140224/06/2021It was 40 years ago todayPersonal
163424/06/2023Nutrition as religionNon-fiction books, Nutrition

Monday, June 22, 2026

Neurologist (2)

Today was the day of my followup appointment with the consultant neurologist1. It turns out that I wasn't supposed to take 2 pills of Depalept a day; instead, it should have been 'according to need'. It's not clear to me how a prophylactic medication can be taken in this manner. Anyway, I told him about the good things that have occurred since starting (no headaches, a slight reduction in blood pressure and no apneic events) and the bad things (weight increase, although now it seems to be going down again, dry mouth, mild edema in my feet, and now I've noticed trembling in my hands). The neurologist was not surprised by any of these.

He offered me the option of either a new medication (pills every day) or a self-administered injection once a month. Both of these medications inhibit the CGRP protein, thus preventing a build-up of this protein that activates nerves in the brain, making pain signals worse. For the time being, we compromised on reducing the Depalept dosage to one pill a day; I'll see how that goes.

I have a followup appointment in two months' time, by which I will have decided what to do. At the moment, the pills look the easier option (squeamish me). Another factor is the cost as the injection (and possibly the pills) are expensive; I discovered, however, that the kibbutz covers medical costs for the over-70s (a fact that I need to verify) so either option will be free for me.

Internal links
[1] 2095



This day in blog history:

Blog #Date TitleTags
37022/06/2011President's ConferenceDan Ariely, President's conference
72822/06/2014Open air bus (Sicily log 3)Holiday, Sicily, Italy
86722/06/2015Vinyl log 15 - 22 JuneRichard Thompson, Vinyl log
140122/06/2021Delphi: components array vs controls arrayDelphi
163322/06/2023Remedial swimming lessonsSwimming
178322/06/2024Today's successesSwimming, Home recording

Friday, June 19, 2026

The irony

Four months ago, I wrote1: there is a huge discrepancy in the way that USA President Trump is regarded in his own country and how he is regarded in Israel. For many Israelis, he is extremely popular ... [whereas] his US popularity has declined to about 40% (may be lower) which is very low for an incumbent president.

Now, after a war with Iran that Trump claims that he won although as far as most Israelis are concerned, he lost, the world sees Trump in a much better light whereas 72% of Israelis who were polled in the past few days see Trump as a negative influence.

Everything that he promised back in February did not happen. I sympathise with the Iranian opposition who were promised help in overthrowing a draconian regime but whose situation remains unchanged, if not worsened.

Internal links
[1] 2080



This day in blog history:

Blog #Date TitleTags
36919/06/2011Herpes simplexHealth
48719/06/2012Down to Montenegro (Dubrovnik log 4)Holiday, Dubrovnik
48819/06/2012ERP beats Excel at CRM/2ERP
48919/06/2012Taking things easy (Dubrovnik log 5)Holiday, Dubrovnik
60219/06/2013Edinburgh log (6): Graduation ceremonyHoliday, MBA, Edinburgh
72419/06/2014Modes of transport (Sorrento log 7C)Holiday, Sorrento, Italy
115019/06/2018New arrangement for songMIDI, Song writing
163119/06/2023Two books by Daniel LiebermanHealth, Psychology, Non-fiction books

Sunday, June 14, 2026

DCI Evan Warlow

Over the past week I've been bingeing on the books written by Rhys Dylan about his fictional creation, DCI Evan Warlow. As one might imagine, the author is Welsh and all his books take place in mid-Wales. One does get a smattering of Welsh from some of the characters but it's not overdone.

The books are quite well written with plenty of clues and red herrings scattered about; I don't feel that my time has been wasted, although of course had the first book not been good then I probably wouldn't have bothered with the rest. 

Now for some observations regarding the books from a critical point of view

  • Dylan has been churning out these books - there were four or five published in 2022 and a similar number in 2023. The quantity has not been affecting their quality.
  • That said, there is room for improvement - two parallel story lines makes for more interesting books. Although Warlow's team is fairly small, DS Alan Banks managed two cases with an even smaller team.
  • A map in each book would not go amiss. I've discovered that the author's website purports to have an interactive map showing the location of each book's activity, but the page doesn't load for me.
  • I could have done with a little less levity in the books. I agree that some of it is witty but it's too much. In a similar vein, there is a DC whose naivety is unbelievable. I don't see how someone could have reached that rank without becoming more worldly wise.
  • When looking at the books from a distance, a common structure becomes apparent. The first chapter generally contains two characters who discover a body; these characters disappear afterwards having served their dramatic purpose. The murderer (or antagonist) is someone to whom we have been introduced towards the beginning of the books and generally has impeccable credentials, so is never suspected until it is almost too late.
  • There is a superintendent - not the normal superior of Warlow - who is generally considered to be not very capable at coal face policing. It makes one wonder how she achieved that rank. Whenever she has introduced a new member to the team, that member has proved to be corrupt. I had my suspicions about a character matching this type throughout the ninth book and they were proved to be true.
  • Dare I say it - there appears to be a small amout of shipping between Warlow and his inspector. Time will tell.



This day in blog history:

Blog #Date TitleTags
48314/06/2012Dubrovnik log (0)Holiday, Dubrovnik
59614/06/2013Edinburgh log (1): Touring the cityHoliday, Edinburgh
71814/06/2014Pompeii (Sorrento log 3)Holiday, Sorrento, Italy
86414/06/2015Vinyl log 14 - 14 JuneSandy Denny, Van der Graaf Generator, 1975, Vinyl log, Fairport Convention, The Band
177914/06/2024Master of research (3)DBA

Tuesday, June 09, 2026

Round the bend

This morning I was passing from the bathroom to the lounge via the music room when a song on the radio caught my attention. It sounded like Nick Drake although I knew that it wasn't as I didn't know the song. The vocal sounded like Nick and the arrangement sounded like 'Riverman', so I 'shazamed' the song and was told that I was listening to 'Round the bend' by Beck.

In the past I tried listening to Beck as I had been given the impression that his songs would fit my taste, but obviously the selection to which I listened didn't push my buttons. In short order, I discovered that the song comes from his 2002 album, 'Sea Change'. Reading the comments on YouTube, I saw that I was far from the first who made the connection between this song and 'Riverman'.

Listening to the other songs on this album, I have yet to find another song that sounds so mysterious. It transpires that there is another song on the album that I recognise, 'Lost cause', but it's not a song that gets me excited.

Another song that has caught my attention lately is "It's not just me, it's everybody" by the artist trading under the name Weyes Blood. This is on my wife's playlist, although she doesn't recall how she found it. This song is reminiscent of Joni Mitchell, primarily in the chromatic mediants. From a music theory point of view, this song is very interesting, and the arrangement builds and builds. The vocal starts low but ends up fairly high. The only thing that I find annoying is the staccato piano; although the chords played vary (I don't know what key the song is in, but if we say it's in D, then the chords start as D, D6, D, D6), their rhythm doesn't and I would have preferred some variation - some syncopation or even not playing for a bit. It's a shame as this slightly ruins my enjoyment of the song.

Again, I listened to other songs of the singer, but didn't find anything else that caught my interest.



This day in blog history:

Blog #Date TitleTags
17809/06/2009Inter-program communicationProgramming
25309/06/2010Post mortem on my Economics examMBA, Economics
59209/06/2013Barcelona log (4): In search of DaliHoliday, Barcelona
86109/06/2015LinkedInDBA
86209/06/2015Vinyl log 13 - 9 JuneVinyl log
95409/06/2016An advanced - and possibly useless - technique in PriorityPriority tips
104209/06/2017Rodos log 5: SymiHoliday, Rodos, Greece
114509/06/2018Italy 2018 - The market, Mole AntonellianaHoliday, Torino, Italy
123109/06/2019Crazy weekJewish holidays
151209/06/2022Italy 2022: OstuniHoliday, Italy, Bari

Monday, June 08, 2026

Just like 'old times'

Even though I was taking a day off today*, I got up at 5:30 am and took the dog for her early morning walk. By about 6 am, she had done what she had needed to do, and we were about a third of the way through our walk. At this stage, my phone started emitting a sound that I couldn't place at first: I took it out of my pocket and saw that the home guard were dispaying a warning message about an imminent air raid warning. So I immediately turned and we started walking back home at an increased pace, not stopping for any sniffing around. At about a distance of 100 metres from my home, the air raid warning starting sounding - it's quite frightening to hear it when outside. People from the building neighbouring ours were coming down the stairs and heading for the nearest air raid shelter whereas the dog and I were half running home in order to get to our secure room. There are only a few buildings on my side of the kibbutz that have a secure room so we are quite privileged in this respect.

After the all clear signal had been given (via telephone), we were free to exit the room. I had intended to go swimming this morning at 7 am, and I saw no reason not to go. If the pool was closed then all I would have done was complete my early morning walk. By 7 am, I was at the pool and saw the life guard open up; there was only me and another swimmer there. At that hour, the air temperature is much closer to the water temperature, so the cold water didn't bother me. After swimming a few lengths, I thought that I heard an odd sound, so I treaded water for a bit, then carried on. A few minutes later, the air raid sirens sounded again.

So it was out of the pool and into an air raid shelter that was conveniently close to the pool. When I went down into the main room, I was surprised how many people were there; presumably the odd sound that I had heard before was the early warning. A few people made some comments about my attire, but I wasn't paying attention so I didn't realise that they were talking about me. After about 20 minutes, the all clear sounded and we all exited the shelter. By this time, I had lost interest in swimming, but I had to go back to the pool to pick up my headphones, cap and robe; the other person who had been swimming with me was back in the water.

On the way back home (I live on the opposite side of the kibbutz from the pool), three or four people stopped me and asked if the pool was open. I repeated my story. Later on, a message appeared on the electronic notice pool that all pools in our general area would be closed for the rest of the day.

So it's just like 'old times' of the earlier wars with Iran and Yemen from the past year.

* A few weeks ago, I noticed that I had accumulated many days of holiday. As I will soon be retiring, these days would be turned into money and as a result I would be paying a great deal of income tax for this extra payment. I also receive two days holiday a month, so if I did nothing, I would end up with 36 days of holiday. As a result, I've been taking one day of holiday each week.



This day in blog history:

Blog #Date TitleTags
8208/06/2007Rise up like the sunFairport Convention, Albion Band, Time signatures
59108/06/2013Barcelona log (3): Rain stopped playHoliday, Barcelona
104108/06/2017Rodos log 4: Lindos and the seven springsHoliday, Rodos, Greece
114308/06/2018Italy 2018 - The best chocolate in the worldHoliday, Peppermint, Torino, Italy
114408/06/2018Italy 2018 - Getting to know TorinoHoliday, Torino, Italy
132308/06/2020The background behind another song that is used for Israeli folk dancingKibbutz
139508/06/2021A new Yoni Rechter songbookYoni Rechter
151108/06/2022Italy 2022: Corso Cavour (2)Holiday, Italy, Bari
162708/06/2023Post doctorateNutrition
194808/06/2025Diet, drugs and dopamineNon-fiction books, Nutrition

Wednesday, June 03, 2026

Why zebras don't get ulcers

Over the past week, I've been reading this very interesting (for me) book. In order not to misrepresent the author, I'm going to quote some paragraphs from the opening chapter.

For animals like zebras, the most upsetting things in life are acute physical crises. You are that zebra, a lion has just leapt out and ripped your stomach open, you’ve managed to get away, and now you have to spend the next hour evading the lion as it continues to stalk you. Or, perhaps just as stressfully, you are that lion, half-starved, and you had better be able to sprint across the savanna at top speed and grab something to eat or you won’t survive. These are extremely stressful events, and they demand immediate physiological adaptations if you are going to live. Your body’s responses are brilliantly adapted for handling this sort of emergency.

The half of the autonomic nervous system that is turned on is called the sympathetic nervous system. Originating in the brain, sympathetic projections exit your spine and branch out to nearly every organ, every blood vessel, and every sweat gland in your body. They even project to the scads of tiny little muscles attached to hairs on your body. If you are truly terrified by something and activate those projections, your hair stands on end; gooseflesh results when the parts of your body are activated where those muscles exist but lack hairs attached to them. The sympathetic nervous system kicks into action during emergencies, or what you think are emergencies. It helps mediate vigilance, arousal, activation, mobilization. To generations of first-year medical students, it is described through the obligatory lame joke about the sympathetic nervous system mediating the four F’s of behavior—flight, fight, fright, and sex. It is the archetypal system that is turned on at times when life gets exciting or alarming, such as during stress. The nerve endings of this system release adrenaline. When someone jumps out from behind a door and startles you, it’s your sympathetic nervous system releasing adrenaline that causes your stomach to clutch.

The other half of the autonomic nervous system plays an opposing role. This parasympathetic component mediates calm, vegetative activities—everything but the four F’s. Sprint for your life across the savanna, gasping and trying to control the panic, and you’ve turned the parasympathetic component down. Thus, the autonomic system works in opposition: sympathetic and parasympathetic projections from the brain course their way out to a particular organ where, when activated, they bring about opposite results. The sympathetic system speeds up the heart; the parasympathetic system slows it down.

Another important class of hormones in the response to stress are called glucocorticoids. 

The body synthesizes these glucocorticoids, but we can also be given synthetic glucocorticoids, a good example being Prednisone that is a potent synthetic corticosteroid used to quickly reduce inflammation, suppress an overactive immune system, or replace natural cortisol. It is prescribed for a wide variety of conditions, including severe allergies, asthma, arthritis, and autoimmune diseases like lupus. 

The neurologist1gave me a referral for a head CT, using a contrast dye. In Israel (and probably elsewhere), someone who has a bad reaction to such dyes is considered to be allergic to Iodine, although this is not accurate as iodine is a required micronutient for the thyroid gland. Reactions to intravenous X-ray/CT contrast media are typically caused by the physical properties (e.g., hyperosmolarity) of the solution itself, not the iodine it contains. I am not sure whether I am 'allergic to Iodine'; it is written in my medical history and so everyone has to be careful. I underwent a procedure some 40 years ago to do with my kidneys and had a bad reaction to the 'iodine' although whether that is considered to be severe enough to be an allergy is uncertain. I have an appointment with an allergy doctor in August to settle this once and forever.

The connection between this scan (which was done yesterday) and the glucocorticoids is that I had to undergo a 'preparation protocol' that involved taking prednisone three times at various hours of the day along with another medicine an hour before the test. Everyone at the hospital checked that I had taken the medicines although obviously they had to rely on my answer. 

I am going to go into detail about what I felt from the scan onwards, primarily so that I will have it documented. During the test itself, the only abnormal thing that I felt was as if part of my testicles had been lowered into warm water; the rest of the body felt fine. My hands were shaking slightly but that's something that I've noticed over the past few weeks. After I got home, I took the dog for a walk then had a light supper. I felt slightly warm but I thought that this was due to walking the dog. By the time I came to measure my blood pressure at 9 pm, I was surprised to see that it was high (relatively for me) at 125/82 with a pulse of 102. For comparison, the readings on Sunday evening were 103/78 and pulse 77. When I got into bed, I felt quite warm, despite the air conditioner, and slept for some time uncovered.

Obviously the prednisone had activated the sympathetic nervous system, and the iodine was having its effect.

Going back to zebras and why they don't have ulcers: humans have both external sources of stress and internal souces, or psychological stresses. Unfortunately, the body can't distinguish between the two sources and so the sympathetic nervous system gets unnecessarily mobilised, moving blood to our arms and legs and taking it away from other areas of the body. One familiar source of psychological stress is how much control we feel we have over our lives, otherwise known as locus of control. Those with a low locus of control have more stress than those with a high locus. 

My job affords me with a very high locus of control, but I remember that when I was in the army (compulsory service and reserve duty) I had a very low locus, and I used to say that if something were about to happen and I could think of two alternatives, the army would always choose a third option which would be worse than anything that I could think of. 

Internal links
[1] 2095



This day in blog history:

Blog #Date TitleTags
95203/06/2016Dave Swarbrick, RIPObituary, Fairport Convention
150503/06/2022Italy 2022: pre-flight checkHoliday, Italy, Bari
177103/06/2024Cruise log #2: RodosHoliday, Rodos, Greece
194303/06/2025A cheap source of ErythritolErythritol

Saturday, May 23, 2026

2026 swimming

As I wrote1 last year, as usual, the swimming pool opened at the time of the Harvest festival (known as Whitsun to our Christian friends); this seems to be the earliest date for some time as normally the pool doesn't open until June. For the first two days, the pool opened at 10 am, which is an inconvenient time for me, but today, there was health swimming at 8:30 am, which is much better for me (actually I would have preferred even half an hour earlier). 

Several months earlier, probably after the removal of yet another growth, I considered how I can minimise my exposure to the sun. When I'm swimming, my back is exposed and I've had quite a few growths removed from there. The answer was a Quick-Dry Swim Shirt Short Sleeve that I ordered from Temu about six months ago. I hadn't tried wearing this shirt until this morning so there was a slight worry that it might not fit, but the size was fine. As opposed to the sort of swimming shirt that I would wear 20 years ago that would flap around in the water and slow me down, this one fit snugly (without being too tight) so it was as if it wasn't there. I should note that the colours in the accompanying photograph have been manipulated; the original was too dark.

By 8:30 am, I was at the swimming pool, alone; the lifeguard opened the gate and I went in. I suspected that the water would be cold but I didn't expect it to be so cold! The first step down the ladder where I'm standing had the water cover my ankles; I waited a minute or so to acclimatise. Then another step down the ladder and my calves froze up. One more step and my thighs were covered; then I let go and floated for a bit. The water was freezing! Of course, I paid less attention to the cold once I started swimming. My body remembered was it was supposed to do and the only ache came from my neck (normally my left arm starts aching after a few lengths).

I swam two lengths, had a short rest. swam another two lengths and a rest, etc. In total I swam 10 lengths. That was enough for this year's debut performance. I should note that I was the only swimmer in the pool; my normal pool-opening companions were strangely absent. I sent a WhatsApp message to one of them and received an answer a minute ago: she was at her brother in law's flat in Tel Aviv. She also suffered from the cold when she was in the pool (I don't know when). Two people turned up only as I was preparing to leave and they too were surprised that I had been the only swimmer.

I had dug out my bone conducting headphones2 a few days ago and fully charged them in preparation. The set list for today was two of my songs, 'Night scented stock' by Kate Bush, 'Katie's been gone' by The Band, and 'Stormbringer' by John Martyn. Another song might have started just as I finished but I don't recall. I often find it hard to recognise the songs at first because they play in a completely random order. 

I've been suffering quite a bit from stomach problems over the past few months and there have been the odd hint about them here. As a result, I abandoned my time restricted eating, as I found that eating something in the early evening helped with the aches. I saw a gastro-enterologist about six weeks ago who ordered a gastroscopy; this didn't reveal anything interesting, although a polyp was removed and sent for biopsy. I saw the GE doctor again who wasn't impressed by any of the possible findings of the gastroscopy. The one strong recommendation that he made was that I should double the dosage of omepradex; I always thought that this worked like paracetamol - the effect of each pill would wear off after some hours - but apparently not. I can definitely say that the days when I have 'gastric distress' are becoming fewer, and when they do occur, they are much milder than some of the bad days that I had before. All this is to say that I will be able to resume time restricted eating on the days when I go swimming - and this year I intend to swim frequently. Last year, time restricted eating helped reduce my weight and I don't eat on pool mornings until after swimming.

On the other hand, the new prophylactic medication Depalept3 that I have been taking to prevent migraines has worked well in that respect but seems to have caused my weight to balloon, although this may be water retention as my wife says that I don't look any worse. The medication has also had a very interesting effect on my sleep apnea: the central sleep apnea have almost completely disappeared (I didn't have even one such event in the past week) and obstructive apnea have also almost completely disappeared - two in the past week. Whatever the CPAP measures as deep sleep has also been affected: whereas this used to be in the range 0 - 20 minutes a night, now it's 50 - 120 a night. I shall mention these side effects to the neurologist in the follow-up appointment next month.

Internal links
[1] 1946
[2] 1587
[3] 2095



This day in blog history:

Blog # Date Title Tags
363 23/05/2011 Apology Mobile phone
584 23/05/2013 Doctorate on hold DBA
857 23/05/2015 Venice log 4 - Waiting Holiday, Venice, Italy
1223 23/05/2019 Arriving in Athens (Greece 7) Holiday, Athens, Greece
1224 23/05/2019 Athens hop-on hop-off (Greece 8) Holiday, Athens, Greece

Sunday, May 17, 2026

Jasmine Myra - Where light settles

Two and a half months ago, I wroteJasmine Myra has recorded a new album that will be released in a few months' time (15 May 2026)! Over the past 12 months, there has been silence from her camp and I seriously wondered whether she was continuing with music. As I expected, there was a letter in my mailbox on May 15 giving me access to her new album, "Where light settles", so that I could download it in mp3 format.

I put the songs on continous play via the computer and have been listening to them as I work and read. And ... I don't know what to write. On a visceral level, I don't enjoy listening to this as much as I did the earlier work. I've been trying to figure out what the problem is, and I think that it's because the disc is less of a group performance this time. Drums, for example, are rarely heard. There also don't seem to be tunes that can be recognised as such but rather a collection of notes.

There is much less guitar and fewer harp arpeggios; the piano takes an even more dominant role that it had in the past (eg the opener, 'Opening' seems to be solo piano). There is more flute than bass clarinet. 

I think that my conclusion has to be: if these were the first tunes that I heard from Jasmine Myra then I wouldn't have been so enthusiastic about her work as I was when I first heard her.

Strangely, 'the new piece that does not as yet have a name but was influenced by Kenny Wheeler' that was played in Zurich, October 20242 does not appear here.

Internal links
[1] 2083
[2] 1876



This day in blog history:

Blog #Date TitleTags
85017/05/2015Florence log 3 - Take it easyHoliday, Florence, Italy
121717/05/2019Arriving at Andros (Greece 1)Holiday, Andros, Greece
131817/05/2020HeatwaveIsrael, Weather
150217/05/2022Yesterday's skyWeather
176117/05/2024In silenceSong writing
193717/05/2025Recording "Maeve's song" - production notesHome recording

Friday, May 08, 2026

Horizontal scolling

I haven't blogged much recently, primarily because there hasn't been much to blog about, but also because quite often I get struck by a mysterious malaise that hits at around 2 pm and only dissapates in the evening. I had a gastroscopy test at the beginning of the week whose conclusions were unclear; I don't have anything seriously wrong, but still. On the topic of health, I can report that since starting the new prophylactic medicine1 for migraines, I have been mercifully free of headaches, but there have been other side effects, such as adding 3 kg to my weight! And now for today's topic: horizontal scrolling.

In the OP's management program, there is a very simple form that has exactly one visible component, a TDBGrid. The grid's datasource is a query that has three fields: a date, a subject and a hidden id field. The subject can be very long and so it can be wider than the width of the form. Both the form and the grid have their bidimode set to biRightToLeft, as it should be for a Hebrew form. When one double clicks on the grid in order to open a form that is dependent on the hidden id field, the grid scrolls horizontally all the way to the left, thus effectively hiding the date field. A user complained that she had to scroll all the way to the right in order to overcome this.

I admit that I've seen this problem before but haven't cared enough to fix it. I also didn't know how to repair it. I assume that the solution would be some message that is sent to the grid to make it scroll back to the right. According to CoPilot, When a TDBGrid is in Right‑To‑Left mode: The visual left edge is actually the logical right edge. The scrollbar is reversed. When the grid receives focus again (after your double‑click opens the EditTask form), Windows sends a WM_HSCROLL message. The default handler scrolls the grid to the logical left, which in RTL mode is the visual right. But Delphi’s RTL support is partial, and the grid ends up scrolling to the visual left instead — exactly the opposite of what you want. So after returning from the EditTask form, the grid scrolls to the wrong side.

The fix seems to be to send the WM_HSROLL message to the grid (as I assumed): DBGrid1.Perform (WM_HSCROLL, SB_RIGHT, 0). But this code actually sends the cursor to the left of the grid (as I see it), whereas I want it to go to the right. So the real fix is DBGrid1.Perform (WM_HSCROLL, SB_LEFT, 0). And this does work.

Internal links
[1] 2095



This day in blog history:

Blog #Date TitleTags
7208/05/2007(Welcome to the) Hotel CaliforniaVan der Graaf Generator, Randy Newman, Jackson Browne, CSN, Barney Hoskyns
13008/05/2008Amsterdam diaryProgramming, Holiday, Amsterdam
35708/05/2011More facts your mother never told you about Word automationProgramming, Office automation
58108/05/2013Analysing my sleepCPAP, Gadgets
70408/05/2014Doctoring, researching, samplingDBA, Kindle
150008/05/20221500 blogsMeta-blogging
175708/05/2024Milano: the final dayComputers, Holiday, Italy, Milan

Saturday, May 02, 2026

Chamber music concert

I mentioned in a rather off the cuff manner a few months ago that 'there was supposed to be a chamber concert taking place in the kibbutz in another few hours' but that it was postponed because war with Iran had started that day. Finally, that chamber concert took place today and some of it was wonderful. 

The concert started with a short explanation about the harp as an instrument; this one had been built in the 1840s. The strings of a harp are tuned to a diatonic major scale, begging the question of how sharps and flats are played. It turns out that there are seven pedals at the bottom of the harp, where each pedal has three positions - flat, natural and sharp. This allows all the notes to be played, although sometimes enharmonics have to be employed, eg substituing F# for Gb. I know that Debussy wrote 'La fille aux cheveux de lin' (the girl with the flaxen hair) in the key of Gb which has six flats, so this must be a rather challenging piece to play.

The first piece of music to be played was Gabriel Fauré's 'Sicilienne' (Op. 78); the version that I am familiar with is played by cello and piano. There didn't seem to be much difference to the version played here by violin and harp, but this is always a good solid piece of music.

Next up was a real surprise as it wasn't in the pieces listed in the 'advert' for the concert - Debussy's 'Clair de lune' (the third part of the Suite Bergamasque). I wonder how the harp part was written as the music is notated in Db major with five flats. Surely it would be easier for both instruments simply to transpose the music up a semitone to D major - this would be a good key for the violin as well as two open strings, the D and A, are in this key. This was pure divine magic.

I have a memory of my mother saying that 'Clair de lune' was her favourite piece of music. Of course, I can't check with her as she passed away 24 years ago, and now it seems an odd statement for her to make as I don't have any recollection of her ever passing comment about a piece of music. I can't imagine any context in which she would have made this statement, either. But it is still a beautiful piece of music and the harp makes it more celestial than the piano does.

The other pieces on the set list were not familiar and I didn't enjoy them as much: a piece by Tchaikovsky that I can't name (a section from a violin concerto), Rumanian dances by Bartok, 'Fantasy for violin and harp' by Saint Saens (naturally I enjoyed this more). The final piece was probably part of 'Rapsodie espagnole' by Ravel (I didn't know that he was of Basque origin; I've always considered him to be French). I'm sorry to be so vague on the titles but I don't know the pieces and I'm having to transliteate their original names that were transliterated into Hebrew, so it's hard to be accurate.

The concert took place in a small building that one member turned into an art gallery. I was sitting in the second row on the left (I can recognise the bald patch on my head if I enlarge the picture) so of course the instruments were fairly loud, but they also had a large dynamic range as befitting top professional players.

Internal links
[1] 2083



This day in blog history:

Blog #Date TitleTags
17102/05/2009Heron - River of fortuneHeron
121302/05/2019DietHealth, Anaemia, Diet
175102/05/2024Menaggio in the rainHoliday, Italy, Varenna
193202/05/2025Maeve's songSong writing, Police procedurals

Monday, April 13, 2026

Batch inserts

Yesterday I wrote how it took 3 hours and 13 minutes to migrate a table with slightly over 2M records. I then tried my hand at the 'times' table; I saw that this table contained slightly more than 14 million records and so the migration should take around 21 hours - which it did. At least the program didn't crash. Obviously I had to find a better method - and I did: batch inserts. 

Basically, an array of 2048 records is prepared and then is inserted at one go. This saves multiple commits thus saving time. A 'commit'  permanently saves all changes made during a transaction, making them visible to other users and ensuring data integrity. Naturally this takes a certain amount of time - even if it's a few milliseconds, that adds up when it has to be done 14M times. My batch code needed to do only about 6,900 commits that should save a great deal of time.

I wasn't prepared for how fast migrating a table of 14M would be: four minutes!! That's 315 times faster than the naive method of copying row by row.

The batch inserts were possible in this database because the three large tables are composed solely of integers and there's no need to faff around with codepage conversions.

Here's the code

const batchsize = 2048; procedure Tq400IntMigrate.Button1Click(Sender: TObject); var i, j, k, fieldcount, position: integer; tablename, s: string; begin edit1.Text:= timetostr (time); button1.enabled:= false; for i:= 0 to componentcount - 1 do if components[i] is TCheckBox then if tCheckBox (components[i]).checked then begin tablename:= uppercase (tCheckBox (components[i]).caption); qCount.sql[1]:= tablename; qCount.open; pb.max:= qCount.fields[0].asinteger div batchsize; position:= 0; qDelete.SQL[1]:= tablename; qDelete.Connection:= newcon; qDelete.ExecSQL(); sleep (5000); qBase.sql[1]:= tablename; qBase.open; fieldcount:= qBase.fields.count - 1; s:= 'select '; for j := 0 to fieldcount - 1 do s:= s + qbase.fields[j].fieldname + ', '; s:= s + qBase.fields[fieldcount].fieldname + ' from ' + tablename; SrcQuery.sql.text:= s; srcQuery.open; s:= 'insert into ' + tablename + ' values ('; for j := 0 to fieldcount - 1 do s:= s + ':p' + inttostr (j) + ', '; s:= s + ':p' + inttostr (fieldcount) + ')'; dstquery.sql.text:= s; dstQuery.params.ArraySize:= batchsize; dstQuery.prepare; k:= 0; while not srcquery.eof do begin for j := 0 to fieldcount do case srcquery.fields[j].datatype of ftInteger: dstquery.params[j].asintegers[k]:= srcQuery.fields[j].asinteger; ftLargeInt: dstquery.params[j].aslargeints[k]:= srcQuery.fields[j].asinteger; else dstquery.params[j].asintegers[k]:= srcQuery.fields[j].asinteger; end; inc (k); if k = batchsize then begin dstquery.execute (batchsize); dstquery.connection.Commit; k:= 0; inc (position); pb.position:= position end; srcquery.next end; if k > 0 then begin dstquery.execute (k); dstquery.connection.Commit; end; end; edit2.Text:= timetostr (time); end;

Internal links
[1] 2104



This day in blog history:

Blog #Date TitleTags
34913/04/2011Advanced SQL for me - NULLIFProgramming, SQL
69613/04/2014Fifteen minute mealsCooking
82713/04/2015Vinyl log 3 - 13 AprilDCI Banks, Richard Thompson, Vinyl log
102113/04/2017April thesis updateDBA
160313/04/2023Rain, rain, rainWeather
174213/04/2024Jasmine Myra - KnowingnessJasmine Myra

Sunday, April 12, 2026

Wait states

I migrated another database to unicode over the weekend. Updating the migrator was fairly straight-forward, although there was one problematic table with something like 35,000 that was defined as WIN1251 (Cyrillic) although the characters were actually encoded in WIN1255 (Hebrew). That table took some time to define its migration route. Although this database has fewer tables than the first database that I converted and most of those tables contain only numbers with much less text, it took much longer to migrate the database - because some of the tables are huge (relatively speaking). There are a few tables with over two million rows and one with over ten million rows. 

Let us say that I had problems migrating those tables because of their size. I started the migration program yesterday evening only to discover that it had crashed whilst handling one of those humungous tables. I restarted the program from the table where it had crashed, but I could see that soon it too would crash. So what could I do?

I thought that the crashing might be due to the migration program overwhelming the database manager who simply could not keep up with the pace at which records were being entered. 30 years ago, this would be called 'adding wait states': a wait state is a deliberate, one-or-more clock cycle delay introduced by a processor to synchronize with slower external components, such as RAM or I/O devices. It prevents the CPU from processing data before it is ready, ensuring data integrity at the cost of overall system performance (thank you Chrome AI). 

The first thing that the migrator does for each table is delete any data that may exist in the table; I added the command 'sleep (15000)' after the deletion to allow the data to be deleted; this command stops the migrator for 15 seconds. I then added a command that there would be 10 second breaks after each 2048 records have been read. This was initially 15 seconds and 1024 records, but I could see that this would be too slow. For one table, with just over 2 million records with the sleep time was 10 seconds every 2048 records; it took 3 hours and 13 minutes to migrate the table.

I'm now migrating the really large table and don't expect it to finish within the next few hours - but I do expect it to complete.



This day in blog history:

Blog #Date TitleTags
82612/04/2015How not to display data in graphsStatistics
112112/04/2018Apology to Israel RailwaysTrains
160212/04/2023More bells and whistles for the 'Blog' programProgramming, Delphi, Blog manager program
174112/04/2024Update on our spring performanceMusical group
192112/04/2025Passover begins tonightJewish holidays, Song writing