Sunday, March 01, 2026

The war stopped being remote and impersonal today

At about 2pm today, with no prior warning*, the air raid siren went off. My wife and I were in our security room within a minute; I had just shut the door when there was a terrific boom and a shock wave that seemed to shake the entire building.

Shortly after, we were informed that a ballistic missile had landed in Bet Shemesh and killed 9 people: a direct hit on a synagogue with an air raid shelter below. Nothing can withstand a missile coming from the upper atmosphere with a 500 kg warhead. 

Even though that missile landed 4-5 kilometres away from where we are, we felt it as if it were next door. Unsurprisingly, many houses in the vicinity of where the missile fell have been damaged from the shock waves. 

Bet Shemesh can hardly be considered a strategic target, although it is quite possible that the missile was aimed at an air force base maybe 10 km from where the missile fell, but because of poor guidance (or poor intelligence) the missile missed its target.

Until now, this operation and the 12 day war that preceeded it had seemed remote, impersonal and detached from our day to day existance. It's even been a little fun, having days off from work and social encounters that don't happen too often. But today has changed all that: it has brought the war almost to my doorstep.

* Normally a warning is sent out about ten minutes in advance that a missile launch has been detected, but I don't recall receiving such a warning before this event. Often there's a warning with no siren afterwards because the missile's trajectory has been computed more accurately and it's more clear when the missile is not going to land.

Internal links
[1]  1950

Bringing the Management ERP program to life

Yesterday was a very strange and frustrating day. Inbetween the many times that I spent in our security room, I continued to work on migrating the management ERP program to Delphi 12/Unicode/Win11. I continued in the same vein as Friday, migrating the forms needed to create a minimal version of the program that actually does something. 

By about lunchtime, I had a clean compilation with maybe 30 different units (I haven't counted them) but when I came to run the program, it didn't progress after the splash screen, displaying the error 'Class FMTBCD not known'. I recognised this name as it is one of three units (the others being SqlExpr and Provider) that dbExpress adds to units that use that kind of database component. I hadn't been diligent in deleting these units from the source files, so first I had to do a global search then removed them from about 15 different units. 

After recompiling, I still had this error, so the next step was to look for persistent field variables defined as TFMTBcdField (or similar). There were a small number of such variables, but replacing them was problematic as that definition came from the DFM files. So I added some more replacement rules to the DFM migrator to handle this case. I should point out that sometimes adding what seems to be a simple change to the migrator is actually quite complicated. For example, I had some such fields that had to be redefined as TFloatField, but as the fields in the original DFMs had properties such as 'precision' and 'size' that TFloatField does not have, these lines have to be excluded from the transfer - not so easy. These changes are required because Delphi 12 Community Edition deliberately excludes certain types.

Even after changing the type of these variables, I was still getting the error message. Eventually I tracked it down to one specific query in the data module, an 'invisible' query that has several fields defined as BCDs. Changing these was very difficult but eventually I succeeded. But was that the end of my problems? No - first there was TMemoField then TSmallintField. Fortunately it was easy to overcome these problems by directly editing the appropriate DFM file.

Then when I thought that I had a clean compilation and no run time errors, Windows' Access Control had to stick his ugly head into the process, so I had to spend a frustrating hour or so getting a certificate, saving it into the certificate manager and thence into the Delphi compiler. Fortunately I won't have to do this again, although I may have to copy what is equivalent to a small batch file when I work on another program.

Finally at about 7 pm, after a very long and stressful day, the program compiled and actually ran. I could bring up the list of customers! This may not seem much, but to get this far required fixing and compiling many units and overcoming what can only be described as overhead. Of course, very little on this form works at the moment, but the remaining problems here are relatively easy to fix. 

And once that's done, then I'll have to start the process over again, finding important forms that need to be compiled and then the units that support those forms. The 'DoCustomers' form is used for three different tables and requires 18 different user forms in its 'uses' statement, so completing this form will be an important milestone. Then there is the 'DoDockets' form with about 20 different supporting forms, and the 'DoTables' form with maybe 30 forms. Once these are completed, then 'there only remains' about 40 report forms, but these should be relatively simple to migrate as they are all based on the same template.



This day in blog history:

Blog #Date TitleTags
6701/03/2007Donating bloodHealth, Donating blood, BCC
23601/03/2010More MBAMBA, Economics
33801/03/2011Pre-exam nervesMBA, Randy Newman, Marketing
81501/03/2015Last of the luddites (2)Computers

Saturday, February 28, 2026

How things can change in a minute

Whilst I was walking the dog early this morning, I was planning in my mind what today's blog would be about. After I came home and read my email, my plan was thrown out of the window (or more accurately, out of my mind) as I received an email (actually three, but they were all basically the same) informing me of something. But after breakfast and before I could brush my teeth, I heard a familiar sound. The dog heard this slightly before me because she entered our bedroom - also our security room - before I was totally conscious of what the sound was, as it was competing with a song on the radio and some noise from my phone.

At about 8:15 am, alarms were sounded throughout Israel, to inform us that the long-awaited war1with Iran had begun. The dog was already in place, I closed the door to the security room then closed the secure windows; my wife turned on the TV so that we could hear what was going on. I also turned off the alarm that had been sent to my phone.

So we're back to the situation that we were in eight months' ago2. As I wrote then, At the moment, life is like a hybrid of the early Covid days and the days following October 7: everywhere is quiet, people are mainly at home and only essential services are open (e.g. the supermarkets are open but the train station and post office are not). Of course, today is Shabbat, so most services are closed anyway. There was supposed to be a chamber concert taking place in the kibbutz in another few hours, but I assume that this will be cancelled. And indeed it is: checking the electronic kibbutz noticeboard, I see that a message to this effect was posted ten minutes ago.


What I was going to write about after reading my email is this: Jasmine 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. Letters to her website and to her record company's site were not replied.

Quoting from BandCamp, where the album is available for pre-order: Saxophonist and composer Jasmine Myra presents nine beautiful and powerfully grounded compositions that express her ruminations on life, growth, and progression, powered by the artist’s vision of duality. “It’s those bittersweet moments which are heart-breaking but so important. Looking forward and trying to make sense of life,” she says. “Pain is unavoidable, and you’ll have hardship no matter what, but you don’t grow or learn about yourself or the world around you without it. The duality is the growth and coming out the other side. I had the concept from the start.”

Jasmine Myra’s verdant musical vision and talent for instrumental storytelling came to life over five days, with her long-standing ensemble gathering in one room at The Nave studios in Leeds with the addition of a string section – all recorded live.

Myra had crossed paths with Ancient Infinity Orchestra bandleader Ozzy Moysey before she moved from Leeds to London, often attending and playing at the same jam sessions. This made him the perfect choice to conduct the 13-piece band, freeing her up to bring maximum tenderness and elegiac tones to the alto sax lines she’d written. Her own playing sits deliberately within each track, never flying above. Instead, it wraps gently around precision melodies she wrote for strings, piano, flute, guitar, vibraphone, and harp which themselves furl and unfurl gorgeously around tenor sax, double bass, drums, and percussion. Melodies that sparkle like sunlight on water.

The one track that is available for streaming, "Where light settles", is not particularly impressive on first listen, but that's not too surprising. Most of her music is quiet and reflective, responding well to repeated listens. I assume that the album will be available for digital download at some stage, meaning that I will be able to hear it before I receive the physical cd.

Today's original topic will wait till tomorrow (it's not topical so delaying it won't blunt its impact) and what might have been tomorrow's blog will wait until ... whenever.

Internal links
[1] 2080
[2] 1950



This day in blog 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, continuedSong writing, Police procedurals
190628/02/2025Emergency room bluesHealth