Friday, February 28, 2025

Emergency room blues

A week and a half ago (Tuesday), I started developing a sore throat. Unfortunately this was a day when I travelled to Tel Aviv in order to train a new worker, so this was quite awkward. By lunchtime, I was feeling very worn-out; I asked someone if they had any paracetamol. She answered that she has in the same container paracetamol, Advil (ibuprofen) and optalgin; I told her that as a retired pharmacist, all three come from different families of drugs and shouldn't be mixed up that way. I took two paracetamol. As it happens (partially by design), a few senior managers were in the same room, so they could see and hear that I wasn't feeling well.

I worked at home for the next two days; it was very painful to swallow but otherwise I was feeling almost normal. By Thursday lunchtime, though, I started feeling very weak and took to my bed. The weekend passed without any change, for better or worse. I had started coughing, a very 'dry' and unproductive cough; I joked that it was like someone who has smoked for thirty years. On Sunday I managed to see a doctor in the kibbutz clinic; she said that it was almost certainly a viral infection of the upper respiratory tract and that there was very little that could be done. Apparently this year there are some nasty variations of the normal virus that is causing the infection. She prescribed a medicine that dissolves solidified phlegm and makes it easier to express (via the coughing).

On Tuesday I felt a bit better and managed to work for a few hours, if only to clear the backlog of about 300 letters that had been sent - most of these automatic letters that didn't require too much attention. But there were also at least three letters from fellow workers that really annoyed me: instead of thinking a little and trying to solve their own problems in Priority, they felt no compunction in transferring them to me. I know that I lose patience when I am unwell, but I do think that these people could try a little harder. It must be very tempting not to bother when they know that there is someone (i.e. me) who can solve their problems, be them trivial or complex. 

When I was in Tel Aviv,  my manager wanted to discuss the possibility of my retiring; for some reason she thought that I was only 63 years old when in fact I am 68½. She told me that she wanted that I should give two years notice! I said that until now we had talked on the basis of one year's notice. The following day I prepared a list of all the activities that I execute, divided into sections such as development, high level Priority maintanence, inventory management and solving problems for other people that they could solve had they wanted to. So this list was very much in my mind when I connected to work.

The following day passed without much change, but on Thursday (yesterday), I began to feel worse again. There were many discharges from my eyes and my wife said that my left eye was somewhat red. The hearing in my right ear seemed compromised. So I went again to the clinic; a power cut and no doctor available that day sent me to the regional clinic in Bet Shemesh (near the train station). I repeated everything to a nurse there and waited a while before seeing a doctor.

This one noticed that the oxygen saturation level of my blood was on the low side - around 90% - and that when taking into account my slightly reduced kidney function (and age), he thought it best that I be checked out in a hospital emergency room where they can do blood tests, X-rays and consultations all in one place. So this doctor ordered for me there and then an ambulance that turned up after about 20 minutes. They put me on a mobile chair that turns into a bed then took me to the ambulance. We sped towards Jerusalem. 

Although I've accompanied people (mainly my father) in this situation, it's the first time that it's ever happened to me. As it was the clinic that was sending me to the hospital, I wouldn't have to pay for the ambulance, although getting home would almost certainly involve a taxi ride at some stage. The ambulance driver also handled some of the red tape in the hospital.

I then sat around for a while before a triage nurse heard my story yet again and probably took some measurements (I don't recall this but they are mentioned in my discharge sheet). Another short wait and then bloods were taken. And ... a ... very ... long ... wait before I actually saw a doctor. Once again I explained my symptoms; she said that the saturation had improved slightly when measured in the hospital so she was less worried that there might be pneumonia or similar. She sent me for an X-ray, and then shortly after saw me again, prescribing antibiotics and more rest.

So that was an exciting Thursday! It wasn't exactly what I had intended to do that day but it's not as if I had anything better to do. So far I've taken the antibiotics twice: I can't say that there's much of an improvement yet. I'm still coughing away merrily but at least I don't feel as weak as I have felt.



This day in history:

Blog #Date TitleTags
23528/02/2010Still working even when feeling lousyProgramming, Organisation behaviour, Blood pressure
45728/02/2012Sequencing "Lost"MIDI, Van der Graaf Generator, Peter Hammill, Reason
55228/02/2013Sansa clip+ mp3 playerMP3
172628/02/2024The Dublin Murder Squad, continuedLiterature, Song writing

Monday, February 17, 2025

The trials and tribulations of the new phone

As Jean-Luc Picard would say, "Captain's log, supplemental".

As I wrote yesterday1, my major problem with the new phone was transferring all the messages from WhatsApp. Theoretically it is possible to do this via WhatsApp, but as I wrote, when I tried this, the old phone got to 100%, the transfer crashed and the new phone was bereft of data. Copying the whatsapp directory from the old phone to the computer and thence to the new phone did not solve anything.

Eventually ... the information on this page helped. First, I verified that I did have a backup in Google Drive, the backup that I made yesterday morning. Then I uninstalled WhatsApp after which I  reinstalled it; after skipping the screens that would have allowed me to transfer data from my old phone, I eventually reached a screen that asked whether I wanted to restore a backup. Naturally I said yes, and this time the restore succeeded. There were something like 51,000 messages stored, but retrieving them was fast.

One thing that I have learnt: I frequently send mp3 files to my wife via WhatsApp; after sending them, I delete the message on my phone. What I did not know is that the file is still stored in the phone's memory, in a directory called media\whatsapp documents\sent. There were plenty of files in this directory that I deleted, fortunately before having created the backup.

Copying the ringtones via the computer worked properly, so this morning I woke to my normal morning tune instead of the one that the phone chose. I also went through contact groups and assigned them their distinctive ringtones. At least something worked easily.

The fact that the last picture in the DCIM directory was from 26 January ... is because the last picture that I took with the phone was from that date. Now the gallery has refilled with pictures that were sent by WhatsApp, but because of my manipulations, I have two if not three copies of some pictures. I suppose that I'll have to clear that up at some stage.

Internal links
[1] 1904



This day in history:

Blog #Date TitleTags
33417/02/2011More Blodwyn PigBlodwyn Pig
55017/02/2013Pictures from a balcony (2)Personal
67517/02/2014DBA: On to the next stageDBA
100917/02/2017My research is effectively deadDBA

Sunday, February 16, 2025

New mobile phone - Galaxy S25+

My current mobile phone is a Galaxy A9 that I received1 on 30 May 2019; that's nearly six years ago. I was satisfied with my phone, primarily because I don't do much with it apart from using it as a telephone and as a camera. At work, we are about to embark upon the use of Priority Mobile, initially for something small but I have no doubt that once word gets out that we have this capability, there will be requests for more uses. The minimum configuration requires Android 11 - and of course, the version of Android on my phone is 10, and the A9 cannot support more modern versions.

So I had to ask for a new phone, and to my surprise, there were no problems in its authorisation, or in receiving it. Once I had the phone turned on, an application started that offered to copy all the data from my old phone to the new one. Of course, I accepted, and after about ten minutes all the photos, songs and apps had been copied over. The only problematic app is WhatsApp: I backed up all the data to my Google cloud account, and I'll restore it onto the new phone when I get the SIM transferred.

Gripe: the phone comes with a type C to type C cable; obviously one plug fits into the phone, but I don't have (at the moment) a charger with a type C socket. Fortunately I was able to use the power cable of the Kobo that will have to suffice until Temu deliver a new charger, along with a type C headset and some replacement cases.

Since having written the above, I made a quick journey to Bet Shemesh, to one of the mobile phone shops. They transferred the SIM from the old to the new phone and sold me a case - a snip at only 80 NIS 😏. As noted in the previous paragraph, I ordered two replacement cases, each costing about 18 NIS - quite a difference.

It transpires that one doesn't need to back up WhatsApp data to the cloud: the app can do a phone to phone transfer; well, that's the theory. In practice, it didn't seem to work. The transfer started ok, but at some stage the connection was dropped, and since then I haven't managed to get any data transferred. The old phone can't find the new phone. It then occurred to me that maybe a reset would help. So I turned both phones off and then on again. The transfer started and even got to 100% on the old phone and about 98% on the new phone, but then the new phone said that there had been a problem and the transfer would have to be restarted. The old phone thinks (excuse the anthropomophism) that the transfer succeeded and cannot be persuaded to restart. No chats have been transferred and only pictures until 26 January are on the new phone (the pictures are not the fault of WhatsApp).

So I decided to take a computer-centric option: at the moment, I'm copying the entire android\media\com.whatsapp\whatsapp directory to my computer's hard drive and then I'll copy that directory to the new phone. I'll probably do the same with the DCIM directory, at least from 26 January. My private ringtones also have not been copied.

Enough moaning.

Internal links
[1] 1228



This day in history:

Blog #Date TitleTags
6416/02/2007Working hard (but seeing the light at the end of the tunnel)Programming, ERP, Cooking, Soundclick
45416/02/2012Solving the unflushed inventory problemERP
100816/02/2017Reviewing someone else's academic workERP
120116/02/2019I can't sleep without CPAPCPAP
158516/02/2023Transferring another interviewDBA, Mobile phone
172116/02/2024The multifunctional guitar effects pedalGuitars

Thursday, February 13, 2025

Bug in PrioXRef

I haven't had the need to touch the source files of this program1 since 12/21, although I have to admit that I haven't been using it very much lately. Actually, that's not true: I used it to find bugs in a very convoluted procedure that someone else had written years ago: it turns out that the value of RETVAL was never checked after opening about ten cursors. The bugs disappeared once the value of RETVAL was checked.

The other day I wanted to run the program on a procedure that was causing me problems; was the variable that I needed called :$.M0, :$.N0 or even :$.P0? PrioXRef got stuck in an infinite loop when checking the procedure, so even this tool couldn't help. Eventually I realised what the problem was: those three variables come from three different CHOOSE stages, but only one of them will actually be chosen. In the end, I added a line in three different stages to save the value of whichever variable was current into a fourth global variable. But that's not the point.

The procedure was about 190 lines long, but the error seemed to occur in one of the final lines. Eventually I saw what construct was causing the infinite loop: a line that had two comments on it. Why two? Because I had commented out the first part, but the original comment was still extant. 

/* EXECUTE SENDMAIL :$.MBX, :XMSG; */ /* send the letter! */

Finding the offending construct was half of the problem, but I also had to discover why PrioXRef was entering an infinite loop. First, I created a simple three line text file, where the second line had the double comment. Then I single stepped through the program code a few times until the penny dropped and I saw where the bug in my code was.

if (token = '/') and (ch = '*') then begin // comment repeat n:= pos ('*/', buffer); if n = 0 then begin bufptr:= buflen + 1; getchar; end until n > 0;

The problem is with the call to the function pos; this always starts at the beginning of the string (named buffer) and so the procedure kept on finding the closure of the first comment. The simplest way to handle this was to delete everything from the beginning of buffer until the closing backslash; I also had to reset the variable that contains the length of buffer (so that the program will know that it has reached the end of a line and has to start operating on a new line). The reason for the repeat/until loop is that the comment may continue on a second line and so the terminator won't be found; setting bufptr (the index into the buffer) to the length of the buffer plus one will ensure that the getchar procedure will read a new line.

Once I had this fixed, I could now run PrioXRef on the procedure that I wanted to check.

Internal links
[1] 1338



This day in history:

Blog #Date TitleTags
45213/02/2012GatewayGateway
67313/02/2014A flaw with spreadsheetsERP, DBA, Excel
92613/02/2016ERP thoughtsDBA
158313/02/2023Putting words into actionIsrael

Wednesday, February 12, 2025

Mike Ratledge, RIP

Mike Ratledge, the original organist in Soft Machine, has died aged 81. I can't write very much about him because I was never able to find out very much about his life.

He played on the only SM album that I own, 'Fourth', and had one composition on it, the opening 'Teeth'. I bought this in 1971 when I saw SM twice. Looking back, I don't know how I latched onto this album, as I didn't like any other work of theirs enough to purchase. I probably heard 'Teeth' on the radio and was suitably impressed; I very much like the second side of the album (composed by Hugh Hopper) and often have tried in vain to find something similar to this.

I remember seeing Ratledge on a television programme - possibly 'The South Bank Show' if it was running in 1971/2 - where Ratledge explained that there weren't many effects available for the organ, or at least, for his organ. He displayed the use of the fuzz box along with some other device that could lower all the notes played by one semitone.



This day in history:

Blog #Date TitleTags
80912/02/2015FrankieTV series, William and Mary
147012/02/2022You hold me (yet another new song)TV series, Song writing, Home recording
158212/02/2023MemoriesPsychology, Non-fiction books
172012/02/2024Red bell pepperNutrition

Tuesday, February 11, 2025

Weary Cutters

At the moment my computer is playing 'Steeleye Span - The Crysalis years' - a triple cd set that I bought many years ago and ripped several years ago. I'm very familar with the first two albums, "Below the salt" and 'A parcel of rogues'1 as these were compulsory listening in the years 1971-3. I'm also familiar with their third album with Bob Johnson2, 'Now we are six' (see the Tim Hart obituary linked previously) but the final two albums in this set, 'Commoners Crown' and 'All around my hat' are not familiar at all.

I have to admit that listening to the set all the way through leads to auditory fatigue, so I don't/can't normally listen closely to those last two. But this morning, by the time I came to sit at the computer, it was playing 'Commons Crown' and I was able to listen properly to this.

The first thing that my ears picked up was the following lyric

O the weary cutters and O the weary sea O the weary cutters have taken my laddie from me They've pressed him far away foreign With Nelson beyond the salt sea O the lousy cutters and O the weary sea O the lousy cutters have stolen my laddie from me They always come in the night They never come in the day They come at night and steal the laddies away

Those words seem very familiar to me, but the melody was hard to catch, with Maddy Prior singing harmony with herself. Then it struck me: this song, 'Weary Cutters', is sung at the beginning of 'Blue's Gaen Oot O' the Fashion' by Rachel Unthank and the Winterset (as it was then) on 'The Bairns3'!

Three cheers for the folk tradition that allows modern musicians to take old songs and bend them to their will.

Internal links
[1] 220
[2] 1695
[3] 353



This day in history:

Blog #Date TitleTags
2411/02/2006One small stepProgramming, Psychology, Kaizen, The brain
45111/02/2012A change is gonna comeFilms
158011/02/2023This week's rantIsrael
158111/02/2023Hot filling soupCooking, Weather
171911/02/2024The good, the bad and the self-delusionGuitars, Pedal board

Monday, February 10, 2025

1900 blogs

This milestone crept up on me without drawing undue attention, but now we're here, let's look at the past 100 blogs. Blog #1801 was written on 12/08/24 so that's just under six months, or put another way, about 17 blogs per month. That's even faster than the blogs from 1701-18001 that took seven and a half months. What are the topics that interested me?


Or in tabular form

PositionTagCountPrevious positionAll time position
1Programming20171
2Blog manager program14-37
3Delphi12126
4Personal1073
5Israel9-7
6Health5225
7John Le Carre5-43
8Jasmine Myra414103
9Literature41521
10Obituary438
11Song writing41112
12CPAP3-24
13Italy329
14Mobile phone3-35
15Musical group31046
16Non-fiction books3-41
17Richard Thompson3-48
18Swimming3-36
19Temu3--
20Threads3-76
21Time signatures3-95

It's very interesting that there's little correlation between the previous set of 100 blogs and this set. There are clearly summer topics, such as holiday, Italy and swimming that didn't get much of a mention this time around, but other than that, there's not much to conclude. It's interesting that there are 20 programming blogs, of which 14 are about the blog manager program and 12 are about Delphi (actually, there are 11 blogs marked as both programming and BPM, along with 11 marked as programming and Delphi - this means that not all of the BPM and Delphi blogs are paired with programming). I don't have - at the moment - any way of further analysing this. Here's a new topic for the blog manager program!

Actually, the BPM  is capable of finding which of the Delphi blogs are not also tagged as programming. The query pictured on the left says "find any blog from 1801 onwards that is tagged as Delphi but is not tagged as programming". As the opening quote suggests, there is one such blog - 'Something that I should have learnt a long time ago in Delphi' that I wrote2 a few days ago. I imagine that I didn't tag this as programming because it discussed a simple visual form definition. In a similar manner, I found three blogs3,4,5 about the BPM that are not tagged as programming, because they are discussing the BPM in a general manner without showing any code.

Internal links
[1] 1800
[2] 1898
[3] 1816
[4] 1829
[5] 1874



This day in history:

Blog #Date TitleTags
23310/02/2010Licensing a song/2Randy Newman, Song licences
54810/02/2013Pictures from a balconyPersonal
80810/02/2015The Beatles, Apple and meBeatles
111010/02/2018Yoni Rechter and the PhilharmonicYoni Rechter

Sunday, February 09, 2025

Grandfather picture

I was very busy last week with matters concerned with Priority and so don't have anything particular to write about. It's very cold at the moment - at least, in Israeli terms. But as I always write, our houses aren't built for winter.

Here's a picture of me and grand-daughter #3 from Friday night. She is investigating the back of my hand.




This day in history:

Blog #Date TitleTags
45009/02/2012House with no doorPeter Hammill
120009/02/20191,200 blogsMeta-blogging

Sunday, February 02, 2025

Something that I should have learnt a long time ago in Delphi

I've shown the 'retrieve entry' form for the Blog Manager Program before; similar dialogs appear in other of my programs. In all of them, there is a short cut: should I enter an ID number or a date then pressing 'enter' is equivalent to pressing the 'show' button that retrieves the appropriate entries. This action has always been accompanied by a 'ding' and it seems that I've never been sufficiently motivated to discover why this 'ding' is sounded (I sort of know where it comes from).

Today obviously this did offend/annoy me so I went looking for the cause. The form's 'keypreview' property is set and the 'enter' is handled in the FormKeyDown method. This works but causes the ding. The solution is simple and I should have learnt this a long time ago: instead of using FormKeyDown, I should have been using FormKeyPress, as follows

procedure TChooseEntries.FormKeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin key:= #0; // prevent the 'ding' showbtnclick (nil); end end;

So simple. Now I suppose I'll have to change 40 forms in the OP's management program to stop it dinging all the time!



This day in history:

Blog #Date TitleTags
33202/02/2011A moment's hesitationMIDI, Robert Silverberg, Song writing, Soundclick, Hugh Grant

Saturday, February 01, 2025

Rebus III on TV

I've just finished watching the six episode series of 'Rebus' - this is the third television reincarnation of Rebus. First time around, he was played by the totally miscast John Hannah ('Four weddings and a funeral') and the second time by a more reasonably matched but still miscast Ken Stott. The third Rebus is played by Richard Rankin, presumably no relation to author Ian Rankin. Indeed, Rankin is a very common Scottish surname.

The cast is a complete mélange of all the books: Rebus here is a sergeant (only in the first book prior to being promoted to Inspector), Gill Templar is his DI, Siobhan Clarke is his DC (she only entered the cast in the seventh or eighth book), Malcolm Fox is present (a much later addition to the books), and the villains are Michael Rebus, Ger Cafferty and Daryl Christie. Rebus' ex-wife and daughter, Shona and Sammy, are also present.

The story is not based on any book and is reasonable, if not particularly compelling. Many people get shot. I wouldn't particularly recommend this to anyone.

On the other hand ... prior to the final episode being broadcast, there were promos for other series to be broadcast, and one of those is the fourth (?) series of 'Strike' - 'The ink blood heart'1! Not only that, it appears that its first broadcast was a few days ago but it's being repeated at 5 pm this afternoon. Not bad, considering that it was shown in Britain only a month ago.

It will be interesting to see how the book is turned into a television show, as much of the book is devoted to online chatter. Not the best detective story in the book series, but very important in the slow development of what is termed on-line as 'Strellacott' - the relationship between the two protagonists.

Internal links
[1] 1526



This day in history:

Blog #Date TitleTags
33101/02/2011Project management exam - resultsMBA, Project management, Marketing
100401/02/2017John Wetton, RIPObituary, King Crimson
110901/02/2018Travelling to Karmiel with my new headphonesTom Clancy, Headphones
128901/02/2020Thesis updateDBA