Saturday, February 08, 2020

The little drummer girl (TV)

A few days ago, whilst looking at the list of TV programmes to be broadcast, I noticed on a little watched channel the series "The little drummer girl" which is, of course, based on the book by John Le Carré. This is one of my favourite JlC books, and part of our itinerary last year in Greece was not completely by chance. 

Unfortunately, I had missed the first four parts of this six part series, but I managed to catch the last two parts. Maybe they'll show this again after a while - one of our satellite channels rebroadcasts series after six months or a year after the initial screening. I've set the series to be recorded, so if it does return, it will be recorded automatically.

There was a film made of this book which was a complete travesty. It starred Diane Keaton of all people as the eponymous girl, which is wrong on so many levels. I have a video of this somewhere but as it was such a poor rendition of the book, I haven't seen it for a long time. I don't know how someone who had not read the book would take the film.

The tv series was much more on the ball. The fifth episode was very close to the book, but the sixth and final episode took several liberties with the source material. It didn't ruin the story but took it in a slightly different direction. 

As is common with dramatisations of favourite books, the characters didn't look very much as I imagined them, although Charlie, the heroine, was a much better match for her character than most of the other actors. At least there weren't unexplicable name changes although there were location changes: the final scenes play out in London and Britain instead of Germany.

I thought that the two episodes that I saw were of high standard and I hope that some day I'll be able to see the previous episodes.

Saturday, February 01, 2020

Thesis update

I see that I haven't written on this topic for over two months: this is not to say that nothing has been happening, just that I haven't written about it.

During November and part of December, I carried on working on the thesis, trying to implement the changes which had been suggested by the external reviewer. Like previous occasions, I felt at times that I was working in the dark and that I needed supervision. Unfortunately, once again my supervisor had disappeared - it turns out that his mother had died.

Eventually I received feedback on what I had written and as a result, we had a good discussion in mid-January. I was heading in the correct direction but there was still plenty to be done: mainly (once again) explaining the importance of the topic and explaining my choices. I worked solidly on the first four chapters for just over a week then submitted yet another version.

I received feedback on this late Thursday evening (I only saw it on Friday morning) in preparation for another discussion scheduled for Friday morning. This version was considered to be much better and is nearly complete. We talked quite a bit about managing engineering change as opposed to managing enhancements, which is a central point. I am not differentiating sufficiently between the two.

My supervisor said that he will send me references to some relevant literature; it will be up to me to read then decide what I am taking from this material in order to improve the thesis. It might even come down to me changing the thesis title to something like 'Applying ... change techniques to ERP enhancement management', which will require some restructuring but will be interesting. I don't know at the moment because I haven't seen the material yet - I tried finding some on the basis of our discussion but couldn't find anything relevant.

My supervisor has realised that I want to up the pace as much as possible; I would really like to have a new complete thesis by the end of February which allows sufficient time for another external review before the final viva and the graduation ceremony in June. But quality should not be sacrificed for speed, and if this means graduating at the end of the year, then so be it.

Strangely enough, the end of the session was devoted to talking about the research process: while it is important to have initial ideas, these should be influenced by other people's ideas so that in the end, the final product has been improved. This is remarkably like some of the things which have been happening at work: there is a problem, I might suggest a partial solution which then gets worked on by other people in order to reach a much better solution.

Wednesday, January 29, 2020

XML files in Priority

Two new programming projects landed on my desk today. That's not to say that they were completely new, but rather they had progressed from the conceptual stage to the prototype stage. Each one will require further development but I'm very satisfied with my progress today.

The first was reading barcodes with a mobile barcode scanner; the idea is that we will issue each worker in one department with a personalised scanner, each one with the worker's id. Every day the workers will be issued with a page listing all the tasks which they have to perform, where each task has its own barcode. The barcodes are read on the factory floor and are broadcast to a docking station which is connected to a computer running a specific screen in Priority. As a result, we can know on-line what has been produced and who produced it. This has been forced upon us because according to the standard times in each work order and the number of work orders completed, we seem to be overstaffed by nearly a factor of two in this department.

The second project is more complicated: this involves reading an XML file which is created by a computerised design program which is supposed to contain sufficient information for me (or rather, the program that I am writing) to create parts within Priority and to create a bill of materials. I've done similar projects in the past for two other design programs, but the incoming data was somewhat lacking. It looks like we are going to make a large investment in this program (both money and time) and finally we have the possibility of tailoring the interface to our requirements.

I sent the representatives a sample XML file which contained some of the data that I require, and they sent me back a full XML file which contains much more information than I require at the moment. I knew that I had once written some form of procedure in Priority for reading XML files but I couldn't find it. Then I remembered that I had previously written a blog entry on reading XML files, and once I found this, by the date I could find what I had previously written.

I tried to use what I had previously written, but this didn't work for unknown reasons. As I wrote then, although there is some mention of XML files in the documentation, as usual this is so opaque as to be useless.  Maybe I now have a newer version of the documentation, for this time it made a bit more sense (even though there is a mistake in the code); instead of writing an interface, I could use an external program which deals with all the XML parsing, presenting me with a table where each tuple has a row number (not important for me), a tag (i.e. the XML tag) and the value of the tag.

It didn't take me long to adapt the example to what I needed; one line per tag is somewhat awkward when I want to create a tuple consisting of several tags, but this was easily overcome. So quite quickly I had a program which read the XML file and saved the parsed version in an existing table (or work area, as Priority terms it). The next stage was to take the information in this table and turn it into the format required for creating parts and a BOM; this is somewhat tedious and finicky, but I've done it before so I copied almost word for word my original code into this new program, and soon I had a program which achieved this second stage.

There is one more stage which needs to be done in the program (GLOB_TOPSOLID.XML) but this will require the representatives and our engineering people to define exactly the required data. 

The lesson learned today is to use the XMLParse program instead of mucking around with a complicated interface.


Monday, January 27, 2020

The third way, continued

I had another example of finding a third way solution today, although this one is more convoluted and it would be hard to explain. Again there was a situation where one 'side' wanted something whereas the other 'side' wanted something which was mutually incompatible. 

But I found a solution. This 'third way' stuff seems to be good. 

Sunday, January 26, 2020

Thinking outside of the box: the third way

I want to document something which happened to me last week, not in order to show how wonderful I am or to pat myself on the back, but in an attempt to learn something and internalise a way of thinking, a way to solve one type of problem.

First of all, the background. Priority has a type of data known as 'business opportunities', otherwise known as presales. The salespeople open these opportunities, recording the customer and the approximate value of the opportunity. When the opportunity reaches the status where the customer sends in his order, automatically a project is opened from the opportunity [this is a non-standard enhancement that I added] and the scope of management changes. After all, a customer order is a 100% promise of further work and so we should know how much work is going on the books and when it is going to be produced.

Priority has two kinds of customers: temporary and permanent. A permanent customer is what we normally think of as a customer: there are orders, delivery notes, invoices and receipts. Naturally a permanent customer has an account in the financial 'books'. A temporary customer, on the other hand, is the complete opposite: no orders and no financial record. About the only data types that are suitable for temporary customers are business opportunities and price quotations; we can hand out price quotations like chocolates, but only a certain percentage will turn into orders and so we don't want to open permanent customers for those that don't. A temporary customer still has all the contact details so in a sense, we're not losing anything.

This is where we have the conflict: what happens when a business opportunity for a temporary customer reaches the status which causes a project to be opened automatically? It's not possible to open a project for a temporary customer, and so when this happens, I get a phone call from a salesperson saying that no project has been opened - or worse, the salesperson opens the project manually (after the customer has been converted from temporary to permanent) and doesn't fill in key fields correctly.

My knee-jerk reaction when I heard about this was to prevent opportunities for temporary customers reaching the critical status. The sales people were up in arms, for apart from anything else, they had no way of signalling to the accounts department that the customer status needed to be changed - this was done by a message being sent when the opportunity reached the critical status. 

So we had a situation with two mutually opposite requirements, with no real way of solving the problem. A third option is required. My usual technique at times like these is to go for a walk; getting away from the computer generally allows a solution to pop up. It's also good to get some exercise, especially in these cold and rainy days.  

After walking up and down the warehouse aisles a few times, a solution did appear. Somehow it must be signalled that the automatic opening of the project must be delayed until the customer becomes permanent. My first instinct was to save the opportunity number in a table and then have a program traverse this table periodically. A few more aisles gave me a better solution: there is no need for a table; instead a flag can be set in the opportunity. Once I had this idea, it wasn't difficult to write the program that opens the project; most of the code was based on the original code that executes when the opportunity changes status.

I was disappointed in that none of the sales staff appreciated - or even understood - the solution. On two successive days, different sales staff contacted me to say that no project had been opened; I told them to wait a little and that soon they would receive an email saying that a project had been opened for a given opportunity. As I had written this in an explanatory email, I can conclude that either people don't read my emails (quite probably) or that they don't understand them. After all, sales people have to sell (they have skills that I certainly don't), and in the same way that I don't understand the ins and outs of selling and of the finer points of our products, they don't understand anything of my world and the constraints under which I have to work. 

But we're not here to talk about how the idea was executed in Priority, but rather how to find a solution when there seem to be two mutually opposite requirements. Step back from the problem and try to find a third way! Don't fixate on those requirements; almost certainly there will be a way of getting around them.

Saturday, January 25, 2020

Another record @ 50 - Hot Rats

When writing about four records which were made in 1969, which I heard in 1969-70 and still listen to today with enjoyment, Frank Zappa's 'Hot Rats' was inexplicably left out. Thinking about it today, there are three reasons why I didn't think about this record: it's by an American and is almost completely instrumental, but the crowning reason is that there was no continuation. I have purchased uncountable albums by Fairport, Van der Graaf, 'Crimso' and the Beatles, but this is the only record by Frank Zappa that I ever purchased and the only one which I enjoyed. I did listen to other records that he made, but the 'satirical' (or scatalogical) lyrics and general style turned me off. This record really is unique in his catalogue.

I think that it's also relevant to state that it was the only one of the five which was made with a 16 track tape recorder (although VdGG's 'After the flood' was also recorded on 16 track). All the others were recorded with 8 track machines, which whilst allowing greater freedom that the previous 4 track machines ('Sgt Pepper' not withstanding), were still somewhat restricting (although not necessarily so for Fairport, who didn't indulge/require multiple overdubs). The wiki article explains how the 16 tracks allowed multiple instrumental overdubs by Ian Underwood, resulting in a very rich sound.

'Peaches en regalia' of course is an excellent overture, but I enjoy the closing track, 'It must be a camel' even more; there's something wonderful about those piano chords. Zappa's son, Dweezil, has been touring the 'Hot Rats' album, and somewhere he wonders how on Earth papa Zappa come up with that music.

The only thing that I dislike about the digital version is that there are several versions of it! Zappa felt free to edit his performances after the original record was released and as a result the version that I have is slightly different to the one that I remember (bought in April 1970). Apart from a few extra minutes added to 'The gumbo variations' (I would have preferred that several minutes be removed from this track), there is a very noticeable edit (to me) in 'Willie the pimp', and I'm fairly certain that bits of 'Son of Mr Green Genes' have been remixed, as I don't remember the horns being so prominent at the end.

Monday, January 20, 2020

Granddaughter #2 standing

Granddaughter #2, aged 13 months, is now standing, but she is not yet walking unaided. For some reason, she always seems pleased to see me, and was very upset one evening after I brought her sister home and turned to leave.

Wednesday, January 08, 2020

Priority tips: clever report hack

Today someone asked for a report which shows per part how many have been sold in a given time period and for how much money. That's fairly simple. The request, though, had a twist: there should be the possibility of showing how much per week or how much per month. Does this mean that I have to write two very similar reports which differ only in how they are aggregated?

A clever hack occurred to me which allows me to write only one report which will dynamically display data either by week or by month. Normally I would write a procedure which consists of the following steps (in reality, each number is multiplied by 10, so step 1 is actually step 10):

  1. Collect detailed data and save in a temporary table
  2. Ask the user to choose an option
  3. Go to that option
  4. Report for detailed data
  5. Go back to stage 2
  6. Report for aggregated data per week
  7. Go back to stage 2
  8. Report for aggregated data per month
  9. Go back to stage 2
My idea was that stages 6 and 8 could be one stage with one shared report. But how to do this in practice?

The first problem was the 'choose' step, step 2 above. Both the weekly and monthly options should have the value 6 (or rather, 60) so that the 'goto' step could jump to the correct report. But then how can the report know how to aggregate? My solution was to use the value 61 for the weekly report and 62 for the monthly report, then insert a code step between the 'choose' step and the 'goto' step as follows
:$.C9 = 10 * (:$.C0 / 10);
:$.C0 is the value returned from the 'choose' step; it will be either 40, 61 or 62. The simple code above stores a truncated version of this number in :$.C9, which will be either 40 or 60. This number is used as the parameter for the 'goto' step and not :$.C0, as I normally would write.

The next stage in the hack is to turn stage 60 into a code step and stage 70 into the report step. In the code step, I assign a dynamic name to the report and a dynamic name to a field in the report (this has been documented since Feb 2018).
 
/* dynamic report and column titles! */ :COLTITLES = 1; SELECT ENTMESSAGE ('$', 'P', :$.C0) INTO :TITLE FROM DUMMY; :REPCOLTITLE.100 = :TITLE; SELECT ENTMESSAGE ('$', 'P', 10) INTO :RTITLE FROM DUMMY; :HTMLFNCTITLE = STRCAT (:TITLE, ' ', :RTITLE);
This piece of gobbledegook means the following:
  1. Use dynamic column titles
  2. Read what would be called a 'resource string' in Delphi number :$.C0 into the variable 'title'. As :$.C0 holds the value returned from the 'choose' step; it will be either 61 or 62, so resource string 61 is 'week' and resource string 62 is 'month'. 
  3. Set the title of column 100 in the following report to be the value of 'title'.
  4. Set the variable 'rtitle' to be the value of resource string 10 ('sales by part by ').
  5. Set the report title to be rtitle + title, i.e. 'sales by part by month' or 'sales by part by week' (the variables are in reverse order because this is done in Hebrew).
Finally we get to the report itself. There are two important columns here, the first naturally being number 100 whose title has been set dynamically. This should hold either the week number or the month name; this is complicated slightly because the week number is an integer whereas the month name is a string. This does not faze us: turn the integer into a string then select according to the value of :$.C0 which is passed as a parameter to the report.
(:C0 = 61 ? ITOA (WEEK (INVOICES.IVDATE)) : DTOA (INVOICES.IVDATE, 'MM/YY'))
Very easy. Normally this would be a sorting key in the report, but that's not a good idea as 1/19 would be followed by 10/19, then 11/19, then 12/19 then finally 2/19 - the date is a string, not a number. So the sorting key has to be a numerical representation: not a problem for the week as this is already an integer. The month/year combination is turned into a sortable integer by extracting the year and multiplying by 12, then adding the month. This is written as follows
((:C0 = 61 ? WEEK (INVOICES.IVDATE) : : YEAR (INVOICES.IVDATE) * 12 + MONTH (INVOICES.IVDATE))
This is quite a good hack and I should add it to the syllabus of my 'developing for Priority' course. As it happens, I have a teaching appointment for this evening when I intended to talk about complicated reports, so this is ideal timing.

Tuesday, December 24, 2019

4 records @ 50

As the year 2019 draws to a close, I celebrate four records which were recorded in 1969 and still sound as fresh as they did then. In order of recording ....

The Beatles - Abbey Road. I don't have any recollection of ever sitting down and listening to this record at the time although it must have been played frequently in the background. The only real memory that I have is of someone on the kibbutz where I was in 1973 who used to play 'I want you (she's so heavy)' constantly. As I have written before about the Beatles, their songs used to creep in by osmosis. But when compared to the other records in this small list, they were no longer the kings of music in 1969.

King Crimson - In the court of the crimson king. I wasn't aware of this record until about February 1970 but it had an extreme effect on me - at least, side one did. Now more than then I appreciate the woodwind arrangement of 'I talk to the wind'; this is excellent as it stands, but is light years better than the early versions of this song which exist.

Fairport Convention - Liege and Lief. Talk about extremes: this record is at a completely different place in the music universe compared to the previous record, yet they were recorded within two months of each other. I don't listen to this enough these days. I saw on YouTube a few weeks ago a documentary about Fairport - or more specifically, about Liege and Lief, which reawakened my interest in it.

Van der Graaf Generator - The least we can do. This was recorded in four days at the end of 1969 and is a companion piece to King Crimson, as I've written before. I heard this in its entirety a few days ago; the first two tracks are still as powerful as they ever were, whereas the other four songs pale in comparison to VdGG's later work (especially 'Godbluff' or 'Pawn Hearts') - but they're still better than the crimson king!

But in 1969, I had yet to hear any of these records (except for maybe 'Abbey Road'). I had my first guitar and was beginning to learn how to play it. I took it with me to the five day winter camp which would have started just before the new year. One of the leaders had brought an Israeli record which they played quite frequently, from which we learnt two songs. The first was about Russian Jewry, which was starting to become an issue at this time. The second was a song about peace, but what was striking about it was the excellent arrangement - already it seems that I had an ear for this. I worked out the chords (they weren't too difficult) but for some reason was relegated to playing 'bass guitar' when some of us performed the song at the closing party. We weren't to know at the time but the instrumentalists were to metamorphosise into the excellent Israeli group, Kaveret. When my parents went to Israel for the first time in April 1970, I asked them to buy this record for me (somehow I knew what it was called and who it was by).

Years later, I realise that the best song on the record is neither of the two that we played all the time, but rather the title song of the album - בהיאחזות הנח"ל בסיני. Over the past few months I've been working now and then on an arrangement of this song which I intend to present at next year's Yom Kippur evening. I've been working mainly from my memory of the song, which makes it slightly different to the YouTube version. I also found what seems to be a demonstration version by the song's author which is far worse than the YouTube version. 

This song is very interesting, both lyrically and musically. Each verse starts off with the author 'seeing' something, except that every verse uses a different verb. The song mentions 'Good old Israel' which I don't remember being a concept in 1969, although of course, I'm not an expert on this. Musically, each verse has a slightly different structure, which maintains interest. Even more interesting is that the most dominant chord in the song (which is played for maybe a third of the song) is a minor 6th chord, which is normally very sad and somewhat dissonant.

Friday, December 20, 2019

Another black Friday

As I was returning from my early morning walk with the dog, I met a fellow kibbutz member who told me of the death of one of our neighbours, Etti Kormes. I knew that she had been very ill and hospitalised, but I had been given to understand that her situation had improved as she had returned home from hospital. "So young", said the member, "only 71". Her funeral will be on Monday afternoon.

After telling my wife about Etti, a message came through on the kibbutz WhatsApp group: another member (Teo) had died. He was much older, whose eldest child is in her fifties; I accompany her singing at Pesach. As it happens, I referred obliquely to this member while writing about the funeral of another member: he is the "elderly kibbutz member who rambled". His funeral will be on Sunday afternoon, which is also the first candle of the Chanuka festival. It won't be a very festive festival.

Such is life.

Saturday, December 14, 2019

Sour grapes (Song festival 2019)

Let's say that you're sixteen years old and a member of the closely knit and highly supportive youth population of the kibbutz. There are two songs presented by members of this population in the song festival and you are allowed to vote for two songs. Who do you vote for?

Thus it was no surprise that with approximately 75% of the voting audience being under the age of 18, the two teenager songs came first and second (out of eleven). There were many older people in the audience but I suspect that many either didn't want to vote or couldn't understand how to vote (via a mobile phone application).

My song came last with hardly any votes. It's not surprising that I am bitter about the entire experience.

There was one other song which had a good chorus, but the ratio between verse and chorus was far too high which lessened the impact of the choruses. The other songs tended to wander around and were far too long. My song was concise and to the point.

I think that I proved my point about not wanting to sing my song; as I wrote six years ago: I don't like the competition aspect for two reasons: first, a kibbutz is supposed to be an egalitarian society and the idea of competition is supposed to be eschewed; secondly, people vote not necessarily on the merits of the song that they have just heard for the first time but more probably on the merits of the performance and also possibly according to family affiliations. The identities of the lyricists and composers were not disclosed till the end of the evening, but one could see who was singing; in certain cases, this could lead one to make an informed guess as to the identities of the writers. It's fairly clear that if I'm singing anything, it's going to be a song that I wrote.

I don't know how true the organiser's statement about having difficulties in finding singers (which forced me to sing) is true. On the one hand, one song was sung by someone who might still be in the army and learnt the song very quickly, giving credence to the organiser's statement. On the other hand, two songs were sung by trios (one person singing in both), several were sung by duos and only a few were solos. So someone could have been extracted from one of those trios or persuaded to sing two songs.

I'm fairly certain that someone called the evening a celebration; I call it a degredation. I feel much worse about yesterday than I did six years ago, because I felt that my song was very catchy and would have a good chance of winning had there been a level playing field.

The only consolations that I can take are
  • two performers told me on Friday morning that they couldn't get my song out of their heads after hearing it in rehearsal the previous evening. 
  • I sent the song to a few friends via mobile phone two weeks ago and they were very complimentary
  • while making a condolence visit a few weeks ago to someone whose mother had just died, this person surprised me by saying how much he appreciates the amount of time and attention that I invest in preparing songs for the Yom Kippur evening.

Tuesday, December 10, 2019

Business rules in a BPM screen

One can define rules in a BPM screen (the Priority documentation does not explain this acronym which I assume means Business Process Management) in the same way that one defines rules in screens. These rules generally allow users (or groups of users) to change the status of a document according to the value of named fields within the document; these rules can also prevent users from changing status.

I came across an interesting example this morning: in the Customer Orders BPM, there is a rule which allows members of a certain group to change the status of an order from 20 to 60 (the statuses themselves are not relevant here) as long as the 'product bundle' field is not CAD. I had to update this rule to prevent them also from changing the status if the 'product bundle' field is not GLASS. Although one can write a rule with three conditions, this can't be done if there are two 'not equal' conditions.

A translation of the rule into simple English would be: allow users of the group 'Engineering' to change the status of the order from 20 to 60 provided that the product bundle is not CAD and the product bundle is not GLASS. Let's test this rule in our mind: if the value of product bundle is 'Jim', then both conditions are true and so the user can change the status. If the value of product bundle is 'CAD', then one condition will be false, meaning that the rule fails and the user cannot change the status. The same thing happens if the product bundle is 'GLASS'. In other words, one can define this kind of rule as long as there are available conditions - unfortunately, versions of Priority below 19 provide exactly three conditions (I saw a demonstration of Priority v19 a year ago and I think that it allowed more than three conditions).

As it happens, the rule had a spare condition so I could have written the rule with two conditions checking the value of 'product bundle'. For didactic reasons, I am going to assume that there is only one condition available that checks the product bundle. In this case, a function has to be written, but it is somewhat counter intuitive. Here is the condition in simple English: check for equality between the order's product bundle and the value which gets returned from the following condition 'if the product bundle is GLASS or CAD then return ! else return the order's product bundle'. So, if the product bundle is GLASS, the condition checks the value ! against the order's product bundle, which fails, as would a product bundle CAD. 'Jim', on the other hand, passes.

In Priority-speak, the rule is
(:$.MODELNAME IN ('GLASS', 'CAD') ? '!' : :$.MODELNAME)
which is more concise than the explanation in English. 

Sunday, December 08, 2019

The new DVD: what I have learned in a week

First of all, the DVD is a Samsung SH895M model which is a pretty good machine. It comes with an internal hard disk with 250 GB capacity which can "record approximately 421 hours of video when in EP 8 hour mode". I don't need this capability as the Yes Max machine has the hard disk and can record two programmes at once.

The machine accepts both DVD+R and DVD-R disks, which is good as I have nearly 50 blank -R disks which were previously useless. Inserting a +R disk will cause the machine to format it whereas no formatting is required for a -R disk. At the other end of the recording process, finalising a -R disk will create a menu on the disk whereas a +R disk has no menu. I'm going to record the various tv shows which I have saved on the Yes Max (The Newsroom, Madam Secretary, etc) onto -R disks and record films onto +R disks.

I did succeed in connecting the DVD to the television screen via HDMI; I had to change the HDMI resolution to 1080i first. Unfortunately, the screen is displaying a message about problems with the HDMI cable which is annoying; I haven't found a way to solve this yet. I may try a different resolution and I may try replacing the cable (the current cable is very long, so a shorter one might be more successful. Also the socket on the television is problematic). At worst, this means disconnecting the HDMI and going back to a lower quality picture.

Today we had a short power cut which taught me several things. First of all, the DVD's clock had to be reset - not important and not a problem. The major problem was that the DVD had to have its input redefined to use the AV2 socket; theoretically this should be simple, but as both the DVD and the screen are made by Samsung, the DVD remote affects them both! This can make certain actions easier, but setting the input is not one of them. Every time I pressed the 'source' button, the source on the screen would change, not the source to the DVD. In the end, I turned off the television screen and pressed 'source' a few times until AV2 appeared on the tiny DVD screen. Then I turned the television back on.

One thing which I haven't discovered how to do yet is give each recording a separate title (e.g. S3E1). This isn't too important as I can title the entire disk, but it would be nice to know. It seems that there are certain functions (such as this or setting the recording format) which can only be accessed via the remote control. I think that this is a bad design and it would have been better to put these definitions in the control program of the DVD.

Friday, November 29, 2019

A 'new' DVD recorder

At the beginning of 2019, we got a new Yes Max receiver which connects to the television via an HDMI cable, giving us a good quality picture. Once this was connected up, the television would display a strange message about HDMI when the DVD recorder was the input source. As the receiver was connected to the recorder and the recorder to the television, I assumed that the message meant that it was no longer possible to record from the Yes receiver to the DVD recorder. As a result, the DVD recorder lay dormant for a long time.

About two months ago, I decided to buy a small DVD player so that we could show our grand-daughter animated films when she comes to visit on Saturdays. The player came with an HDMI cable, and though at first I had problems getting a signal on the television screen from the DVD, eventually I succeeded. The screen would display a message about problems with the HDMI cable, but the impression that I got was that there are problems with the screen. 

It then struck me that this was the same message that I was getting at the beginning of the year when I tried connecting the DVD recorder to the screen. As the DVD recorder doesn't have HDMI output, I ordered a converter from RCA to HDMI which should allow the recorder to connect. When the converter arrived, I had no luck with it, but I was able to connect the DVD to the screen via the old RCA cable. 

Then I discovered that in the months of misuse, the disk drive had stopped working. It was unable to format new disks and was unable to play prerecorded disks. One should remember that the disk drive within the recorder has already been replaced once, and so it was likely to fail again. I didn't fancy dealing again with all the problems that I had and so gave up the idea of getting the DVD working again.

After vainly looking for DVD recorders on the Internet, it struck me that I might be able to find one via Ebay. I ran a quick search and discovered that there were several used machines available via auction, so I participated in one and won! The cost was about £30, but postage was about £40! Even so, it would be well worth the money. The seller was a hospital charity shop who probably deserve every penny. I wonder how long this machine is going to last.

The machine arrived the other day but only today did I have the opportunity to collect it from our local post office. After opening the extensive packing, I discovered to my dismay that there were several output sockets but no real inputs; the only input in was via a SCART socket. Fortunately I still have a few SCART cables, so I connected on end to the DVD and the RCA sockets to what I assumed were the output sockets on the Yes Max. I then connected an HDMI cable from the DVD to the screen.

To my surprise, I had chosen the correct sockets on the Yes Max, but the screen was showing the usual message about problems with the HDMI cable. This is when I finally realised that the problem must lay with the screen and not with the machines or the HDMI cables. Eventually I took another SCART to RCA cable, connected the SCART end to the DVD and the RCA to the screen. Now the Yes Max is connected both directly to the screen and to the DVD which then connects to the screen.

I put a new disk into the DVD player which automatically formatted it! Then I started recording the first of several films and television programmes which have backed up over the year. We're back in business! 

Wednesday, November 27, 2019

Song festival 2019 - 2

I conducted a series of WhatsApp messages with the festival organiser the other day. Apparently he is having difficulty in finding enough singers for all the songs and so asked me whether I would be prepared to sing the song that I wrote. I told him that I preferred not to, so that the song would not be identified as by me - if there's going to be voting then I would prefer that the song be anonymous. In the end I acquiesced and agreed to sing the song.

Or rather, 'sing' the song. There aren't going to be any live musicians - everything will be sung to prerecorded accompaniment. This allows me to do what I did several years ago - record the vocals in advance and mime on the night. If I am going to sing, then I want that the song be slower (it was recorded at 110 bpm) and in a slightly lower key. The slower pace allows me to change the phrasing of the tune slightly, for the better.

Yesterday I started on a new arrangement for the song, where about 50% of the original notes played remain. The new arrangement is simpler and I've removed a few instruments. I thought that I would start with just half a chorus (the chorus is a four bar phrase played twice), but then I remembered that I wanted to force the chorus on the audience which is why it was played twice. Thinking about this on the way home, I decided to remove the four bar introduction and replace it with one bar from the coda.

My headphones are currently playing early Beatles songs that I hear when walking the dog; it struck me that I could paste in the final five chords from 'Please please me'  as the coda - no one would know any different and it sounds different. It took a bit of work to find the harmony parts for the two flutes, but that's all done now. This sequence (C Eb Ab G C) doesn't sound as strange in my song as it does in 'Please please me', because the last two chords of the verse and the first chord of the chorus are also Ab G C (or at least they would be if the song were in C; it's now in Bb).

I'll probably record the vocals on Friday or Saturday; in fact, I'll have to as the festival is probably next Friday night.

Thursday, November 21, 2019

Thesis update

I last wrote on this topic just over two weeks ago. It took me more than a few days to start work on revising the thesis following the review, as the mild viral infection was replaced by several migraines. The last ten days have been very windy and very dry and these seem to be ideal conditions for migraines. I made a doctor's appointment for last Sunday: she checked me out, but everything seemed to be ok. The only way to get through the migraines is to take the pain killing pills as soon as possible and to grin and bear it. Today has been fine.

I had a chat with my supervisor on Monday when we went over the review. The most important thing for me to find out was the degree to which I have to follow the reviewer's comments. I quite agree with some of his comments but strongly disagree with other comments. "That's fine", says my supervisor, "as long as you explain why you have chosen to present the material in its current format".

Last weekend I spent some time on the first chapter, moving certain topics out into the literature review, throwing out one section which seemed unnecessary, and moving other sections around in the chapter. To continue my music analogy, I was 'playing with the arrangement' in order to achieve a better flow.

This was emphasized by the supervisor: structure the material as if you are telling a story - and not in the post-modernist style of having flashbacks and flash-forwards in order to complicate matters for the reader. The goal is simplicity combined with explanations.

Part of my problem is that the introductory chapter was based on my original research proposal, which is supposed to be based on literature references with little personal input. If the main question of the reader now is "why (are you telling me this)?", then the original question was "who says?". But now I can write unfettered from these demands. So I added at least another page if not more to the introduction, explaining why the research is important; also, what is novel and what is original.

An idea crept into my mind whilst walking the dog at 4:40 am the other morning; this material found its way into the introduction, contributing almost another page. Then I had an idea for the introduction to the literature review.

This section began with a perfunctory paragraph stating which topics would be covered along with the vanilla statement that these topics were chosen as they are relevant both to the use of ERP in SMEs, and to the management of ERP enhancements. My idea was to replace this with a paragraph on each topic in the literature review, explaining at length why each one was included. Some were marked as being background material and one was took a leaf out of textbooks by being marked as 'one can skip this material on first reading'. Two simple paragraphs were replaced by two pages of meaningful material.

This is what I want to continue doing throughout the rest of the thesis.

Tuesday, November 19, 2019

The luxury of digital recording

Following on from what I wrote the other day about a song I wrote in Hebrew for the kibbutz song festival: I rewrote a few lines and in doing so, I removed the infelicities from the words and from one line where the words didn't really fit the tune (too many syllables). 

I then had to rerecord the vocals; at first I thought that I could keep the final verse, but it turned out that there had been changes in every verse and so I had to sing the whole thing though again (it's only a short song but a bit too fast for me to sing comfortably). Fortunately I had fewer problems this time and was able to mix a revised version of the song reasonably quickly.

Whilst walking the dog, I had been thinking of including a modulation, although I wasn't too sure of its position within the song. As I wrote yesterday, the verse finishes with the deceptive cadence Ab -> G, which also returns the song to the key of C, after a mild flirtation in Eb. All I had to do was add a bar between the end of the third verse and the beginning of the final choruses; the instruments play an A chord in this bar. This required me to transpose all the notes in the final choruses by a whole note (for now the song is in D and not C), a task which I accomplished in a matter of seconds.

I then imported the new MIDI file into Reason and exported a new wave file. With regard to the vocals, I calculated how much time the extra bar would require then inserted silence lasting for this interval (just under two seconds) into the vocal track. Using pitch correction software, I then transposed the vocals of the final choruses again by a whole note, imported the edited track into the multi-track recording program then mixed the whole thing again.

Total time required: less than five minutes. This is the luxury of working with digital recording tools. If I were working in an analog situation, I would have to get the musicians back to the studio in order to record the final section again in the new key. The singer would also have to sing the choruses in the new key (I could splice in some new tape for the silence). Total time required: at least an hour, once the people were in the studio. It might well take longer to bring them together, although if we were in the middle of recording an album, the musicians and singer would presumably be present all the time.

My wife thinks that the song is 'charming' although she doesn't want to sing it live.

Sunday, November 17, 2019

Song festival 2019

The last week has been very painful: hot weather (32ºC) with strong winds; this is exactly the kind of weather that triggers migraines. It's been so long since I last suffered from a migraine that I didn't recognise the feelings at first, and it was too late by the time I realised what was happening. Thankfully Friday and Saturday were migraine free, but this morning the pains started again. I checked that I had enough pills and that their 'use by' date has not passed (I've forgotten the English term).

It looks like we're going to have another song festival this December. I normally write tunes for other people, but the one set of lyrics which I was sent would have been very difficult to set to music; so I would write my own song, music and lyrics. I had decided in advance that the music would be in a major key and would start with a catchy chorus, not my usual cup of tea. A tune suggested itself for the chorus, and the verse tune followed on quite easily. I set the song in the key of C, not because it's particularly easy to play, but rather because it fits my vocal range. 

I decided also to cut down on the harmonic tricks of which I am fond; this one has only one mild trick. The verse begins F G Am (so far, no surprises) then Fm which is the critical chord, allowing the tune to modulate from C to Eb. The second half of the verse has the chords Eb Fm Ab and then modulates back to C with a G chord. There isn't much melody: every bar of the verse generally contains several syllables set to the same note. I did want something which is easy to hear and sing along with.

After a long time with no words, except for the chorus, couplets have been entering my head over the past few days. I 'wrote' several while walking around the kibbutz and used my mobile phone as a notebook in which to note these couplets. When I sat down to put the words together, some of these couplets stayed and some were replaced. It was very interesting to note that there are no verbs in the lyrics (apart from the final two lines): the lyrics are basically a series of slogans strung together which describe our kibbutz. It's easier to do this in Hebrew than in English, although it was very hard technically with the stresses, emphases and grammar. There are still one or two lines which need improvement.

Once I had a complete set of lyrics, I thought it time to record a demo. Originally the song had only two verses but that made it very short, so while working on the arrangement I added another verse - for which I had to strain in order to write the words.

I then recorded a few vocal takes. This proved more problematic than usual as my computer seems to be suffering from old age and slows down every now and then. This caused the vocal to be out of time with the music. In the end, I had to resort to singing one verse at a time then stitching the whole thing together.

I have absolutely no intention of singing this one live! Apparently this year all the songs are going to be sung with playback with no live musicians, so I'll work a bit more on the arrangement. But I must remember that people are going to hear the song once and once only so subtlety is not called for. This isn't a song which requires a great deal of love or even attention.




After having written the above, I took another look at the lyrics and the lines which require improvement. Fortunately the order of the lines doesn't make much difference (apart from the final verse), so I switched a few lines around with slightly changed lyrics in order to fix the song. Now I'll have to rerecord parts of the song.

Tuesday, November 05, 2019

Draft thesis review

I have finally received the draft thesis review of the work which I submitted at the end of September. This process took much longer than I had expected; inexplicably the review is dated 28 October, but I received it on 4 November, a week later.

The review is detailed, fair and easy to understand - there are no remarks which are wrong or incomprehensible. Unfortunately, it looks like a great deal of work will be required to bring the thesis up to standard. Some of this is due to the fact that portions were written in advance -  parts referring to the actual research were written for the intermediate submission, at which stage the research had yet to take place and so was written in the future tense. This now has to be recast in the past.

Another point mentioned is the the abstract, which was written well before the initial research proposal was written and has remained almost without change. This important part of the thesis does not provide an insights [sic] into what the findings indicate, why these findings are important, and the overall contribution of the research to both academia and practice.

My idea of presenting the data in a 'horizontal' manner (answers from all companies for each question presented together) did not find favour with the reviewer, who wrote it might be more appropriate to present each company separately. I beg to differ; I don't know whether I have to accept everything that the reviewer writes.

I can make an analogy between writing a thesis and making a record. The thesis supervisor is the record producer, who suggests what material should be included and how it should be presented, trying to make it as good as possible. The research committee is comparable to the record company's A&R men (this may be a dying function) who lend what should be an unbiased ear to the product (thesis/record) and make further recommendations. The external examiner is the general public, who decide whether the record sells. According to this analogy, the draft thesis reviewer is equivalent to a music critic, and this is where the analogy breaks down. Musicians rarely listen to critics, but I have to.

Obviously I would like to start work on updating the thesis as soon as possible, but I think that this process is going to have to wait a few days as at the moment I am suffering from a mild viral illness whose major effect is slowing me down to about 50% of my usual pace, making me very weak (and affecting my concentration and spelling as I had written 'weak' as 'week'). It has also given me a tongue canker which mainly makes itself felt when I swallow (because the tongue is pressed to the palate, thus putting pressure on the canker and causing pain). I imagine that this will blow over in a few days; in fact, today already seems better than yesterday: let's say I'm working at 60% capacity.


Saturday, November 02, 2019

CPAP readings

Today I uploaded data from my CPAP machine to my database; it was very interesting to compare the readings from the past ten days (when I have been at work) to the ten days preceding (when I was on holiday). I walked about the same distance over both periods, probably slightly more during the holiday period as I didn't have 'Karmiel days' (even though I managed slightly over 10,000 steps when I was last in Karmiel).

I slept slightly more when I was on holiday then when I have been at work, which is not too surprising as I get up early (normally 5:30 am, 4:30 am when I'm travelling) when I'm working. What is interesting is that the number of apneic events per hours was in single figures since returning to work, whereas the number varied from 11-20 per hour when on holiday. Obviously I'm more tired when at work (not surprising) and so I sleep better with fewer apneic events.

Thursday, October 31, 2019

Coincidence or deliberate reference?

The protagonist of John Le Carré's new novel "Agent running in the field" is a confirmed player of badminton (club champion), and as such makes his introduction in the book.

Rereading the fascinating "The spy and the traitor" by Ben Macintyre, I am struck by the fact that Oleg Gordievsky, the eponymous spy and traitor, was a badminton player. There was an attempt to recruit him to MI6 with a female badminton player but this approach failed.

I wonder whether this was a coincidence or a deliberate reference in JlC's book to real life events.

Macintyre's book is, of course, essential reading for all fans of JlC, to read how things are done in the real world.

Sunday, October 27, 2019

Agent running in the field

This is a new John le Carré novel which I pre-ordered and so was able to download it onto my Kindle on the day of its publication last week. As this day was a Wednesday, I was able to read it on the way to Karmiel and on the way back. I finished it before I arrived home, so it required about three hours reading.

Unlike some of JlC's novels from the 90s, it was an easy and entertaining read - but not particularly deep. To those who think that all JlC's novels are like Russian matryoshka dolls, full of deception and conspiracy, where nothing is what it appears to be: this is not one of those novels. In fact, this one was fairly straight-forward, with only a few twists in the tale (one I guessed in advance, another took me by surprise, although it didn't seem to be particularly important).

It was an interesting read, but no more than that. Certainly not classic JlC. The writing, of course, is a pleasure to read, but that doesn't compensate for the relatively slight plot.

Sunday, October 20, 2019

This must be the place (2)

I've just come across one of the funniest versions of this Talking Heads song which I wrote about last year. Highly recommended to break the ice!


Saturday, October 19, 2019

Juliet (naked) - the film

I was mildly surprised a few days ago when I saw that our local television film channel would be showing the film adaptation of Nick Hornby's "Juliet (naked)" book, to which I have referred several times on this blog. I didn't even know that the book had been filmed. My first thought was that Hornby has a very high ratio of films to books - "Fever pitch" (twice), "High fidelity", "About a boy", "A long way down" and now "Juliet (naked)". The unfilmed (as yet) books are "How to be good", "Slam" and "Funny girl"; the last book would make a good film.

As I have probably written ad nauseam, I dislike films (or television series) based on books that change things for no apparent reason. This film was no different: whilst there were changes which made sense, others were annoying. The lamest change of all was giving protagonist Tucker Crowe the email address 'tucker.crowe@aol.com'! Really! Surely the obsessive fans would have tried this in their attempt to contact their hero. In the book, Crowe chooses for his email address the name of a minor character from one of Charles Dickens' books (I don't remember it off-hand) from which no one would have made the connection to Crowe. On the basis of this moniker, Annie brings Crowe some Dickens' novels when she visits him in hospital.

The main characters didn't match up physically to how I envisaged them: Duncan should have been shorter, pudgier and less self-confident whereas Annie should have been taller (I have to admit that I was very taken with the actress who played Annie - Rose Byrne - who is Australian, which explains her varying accent). The look I envisaged for Tucker Crowe was as a younger version of Richard Dreyfuss in "My life in ruins"; I'm fairly sure that the book describes him as having short cropped hair. On the other hand, the town councillor was pretty much as I expected him.

So: I was underwhelmed. The parts of the book which spoke to me did not come over in the film and so we were left with a fairly lame and unlikely tale. It will be interesting to see what my wife thinks of the film.

Monday, October 14, 2019

Priority: LIKE cannot accept a variable

I wanted to write a form trigger which is dependent on the value of a certain field (the number of a previous order). Unfortunately, this field is not bound but rather a simple text field, which means that instead of it holding values like KL191234 (this would be the previous order number), it holds values like 1234, 191234 or even 1234/5. This is problematic, but one evening the answer came to me: use the standard SQL keyword LIKE, where the order number is preceded by *. Thus KL191234 will be matched by *1234 or *191234 (but not *1234/5). On this basis I wrote the following code, where TEST_PREVORDER holds the value of the previous order
:PREVORD = 0; SELECT ORD INTO :PREVORD FROM ORDERS WHERE ORDNAME LIKE STRCAT ('*', :$.TEST_PREVORDER) AND CUST = :$.CUST; GOTO 99 WHERE :RETVAL <= 0;
The syntax checker told me that there was an error with STRCAT. In order to combat this, I placed the STRCAT function before the query, assigning its value to a variable, then used this variable in the query. This did not help matters.

Eventually I realised what the problem was - LIKE (at least, in its Priority definition) cannot accept a variable as its parameter; it has to be a 'naked' string like '*T' or 'T*'. As usual, this doesn't seem to be defined anywhere, but I discovered that I had commented on this a few years ago (not on this blog).

So add this to the growing list of improvements for Priority SQL. The syntax checker
  1. should check that every cursor which is opened is also closed.
  2. should check that every LINK has a matched UNLINK (this is probably very difficult)
  3. should allow LIKE to take a variable as its parameter
The final code became
/* Stupid code required because LIKE cannot accept a variable as a parameter */ :TPO = :$.TEST_PREVORDER; :TLEN = STRLEN (:TPO); GOTO 4 WHERE :TLEN = 4; GOTO 6 WHERE :TLEN = 6; GOTO 8 WHERE :TLEN = 8; GOTO 99; LABEL 4; :TPO = STRCAT (ITOA (YEAR (SQL.DATE8) MOD 100), :TPO); LABEL 6; :TPO = STRCAT ('KL', :TPO); LABEL 8; :PREVORD = 0; SELECT ORD INTO :PREVORD FROM ORDERS WHERE ORDNAME = :TPO AND CUST = :$.CUST; GOTO 99 WHERE :RETVAL <= 0;
Note that the code 'falls through' the labels: if TPO is '1234', then the code will jump to label 4, where TPO becomes '191234'. Then the code for length 6 executes: TPO becomes KL191234. Then the code for length 8 executes - which is the real code. In other cases, there would be another GOTO on the line before 'LABEL 6' but here it is not required.

Sunday, October 13, 2019

Acting like an MBA (a 'suit')

I wrote a few months ago about 10 years of post-graduate study, mentioning that I have learnt a great deal throughout these years although to be honest, I haven't seen myself applying much of the material. Thinking about this the other day, I realised that this statement isn't quite true.

Over the past few months, the CEO set up a series of weekly meetings at Karmiel, discussing various aspects of the work there. These meetings are one after the other, so I arrive at about 8:45 am, immediately join one meeting, then return home several hours later after participating in six or seven consecutive meetings. I make contributions to these meetings, but sometimes it's very difficult to get a word in when the CEO is talking strategy. The CEO has withdrawn himself from these meetings from the beginning of September, passing the chairmanship to a vice president so I have found myself making more and more contributions, finally acting like an MBA. 

Also, the new manager of the furniture factory (appointed after the sudden death of my friend Ya'ir) came without a business background (one wonders why he got the appointment), so I have been working with him on a weekly or fortnightly basis, bringing him up to speed and explaining all kinds of things; basically being an MBA. The other day, he once again expressed his thanks for the time that I have devoted to him; I told him that, apart from this being part of my job, it has also been instructive and enjoyable for me as well. This allows me to come out of the shade of the CEO and to apply material which I learnt during the MBA studies.

I think that there should be a raise in my salary, but I have my doubts whether this will happen (although nothing will happen if I don't ask). As I remarked to the furniture manager, when things go well, one doesn't investigate problems too deeply, but when business results are poor (and they have been recently), one investigates thoroughly. How can one justify a salary increase when results are poor? 

There are two other aspects of salary which ought to be taken into account. One is scarcity: how scarce is the ability that one brings to a job? This assumes that everyone can perform manual labour, so this is not scarce and results in a low wage. Few people can successfully manage a company, so this ability is scarce and should be awarded proportionally. I think that even fewer people can combine between business knowledge and the ability to enhance an ERP system: I provide a various scarce ability and so should be suitably rewarded.

The other aspect is responsibility: again, manual workers have little or no responsibility for the final product or how well a company performs, whereas responsibility increases as one ascends the management chain. I advise but do not take business decisions; my responsibility is lower than one might think. My work has little effect on the bottom line. I can make people more efficient but I can't make the company more successful.

Saturday, October 12, 2019

Two (historical) events which I wish had never happened

My friend the rhinovirus came to visit two days ago, so since then I've been displaying all the usual symptoms: blocked nose, disappearing voice and especially general weakness. Fortunately it is holiday time here so I don't have any commitments in the next few days, thus allowing me to recover without causing any complications.

I found it very difficult to get to sleep last night; as a side effect of the virus, I'm not walking 5 km in the evenings and so my body is not physically tired. To add to my problems, I had an over-active brain last night and all I could think about was two events which happened to me in 1974. One has to suspend one's belief that these events really happened.

As one might recall, I was in Israel for the first half of 1974. The first event happened when the group was in Jerusalem, so it was presumably in January 1974. I had travelled from Jerusalem to spend a weekend with a family in Netanya; I would return by train.  It's hard to accept this now but there were trains from Nahariya to Tel Aviv and from Netanya to Jerusalem 40+ years ago; the 80s were a bad decade for Israeli trains.

Somehow, we knew that there was a train leaving at about 5 pm (how we knew this is interesting as there wasn't an Internet which would show times) for Jerusalem and one about 10 minutes earlier for Tel Aviv. I was driven to the train station where there was a train waiting; without checking, I went to alight this train, whereupon it started moving. Without thinking, I stood on the step, holding on to the handles of the carriage, like in Wild West films. The train picked up speed, and I'm still holding on - from the outside. After about ten/fifteen minutes, someone must have noticed me, for the train stopped. I was able to open the door and enter the train. Of course, I was shaking like a leaf.

In the train, I came across a member of Kibbutz Bet Ha'emek (where we were based). Whilst talking to him, I discovered that of course, I had alighted the train to Tel Aviv, which was a few minutes late as opposed to alighting the train to Jerusalem. I don't remember talking to the train conductor, but soon the train stopped at a station (I remember it being Bnei Barak, which doesn't make sense for a train from Netanya to Tel Aviv) where I disembarked. Shortly afterwards came the Jerusalem train and off I went. The old train station in Jerusalem was at the beginning of the Hebron Road, which was a kilometre or so from the seminar centre.

The second event happened a few months later when we were solidly in the midst of the 'work period'. I had decided to spend a weekend at Kibbutz Mevo Chama in the southern part of the Golan heights; this was the kibbutz where the most recent emigrants from British Habonim had settled, and it was assumed that the next group - to which I would belong - would also settle there. Despite having been there for two one week periods, I hadn't developed any real feel or liking for the kibbutz, so presumably I thought that going there for a weekend would be an attempt to improve my liking.

Reconstructing from memory, I must have left Bet Ha'emek on a Thursday afternoon, travelling by bus to Tiberias, from where would leave another bus to Mevo Chama at 8 pm. Unfortunately, I arrived a few minutes after this bus departed, so I was stuck in Tiberias. In retrospect, it might have been more prudent to return home (if this were possible), but instead I decided to spend the night there. Having very little money (I only needed to pay bus fares), a hotel or hostel was out of the picture. With little choice, I decided to sleep on a park bench near the police station; I think that I had explained to them my position and they suggested that I spend the night in the park. One must remember that this was shortly after the war and everyone was suspicious of strangers.

Although it was warm, it was very uncomfortable sleeping on a bench which I suspect was not long enough (and I'm not exactly tall). I woke in the early morning and made my way to the bus station; presumably it being Friday, there wouldn't be a bus at 8 pm but rather at 2 pm. Unwilling to wait another eight hours or so, I decided to take a bus to kibbutz Ein Gev, which whilst being on the right sight of the Sea of Galilee, was also next to the sea, whereas Mevo Chama was at the top of a high cliff, overlooking the sea.

I don't remember now how I got from one kibbutz to the other; presumably I must have hitched a lift for some of the way (north to Samech Junction, which is just above the '92' mark on the map, then east and up, finally south on '98'), but I do remember walking part of the way, with blackened vehicle wrecks by the sides of the road - don't forget, this was a few months after the war.

Eventually I arrived at the kibbutz and had yet another dismal time there, which near enough sealed the fate of this kibbutz for me - NO! I must have returned 'home' safely with no memorable incidents.

While writing this memoir, I first thought that I never returned to Mevo Chama, but that isn't so. In 1999 (?) we rented a small holiday home near the sea of Galilee (it would be in the top left hand corner of the map), and one day we took the children to the Golan and to Mevo Chama. We walked to the club house where I had celebrated my 16th birthday, admired the views, then drove on. Also at some stage we had visited the hot springs at Hamat Gader, which is a few kilometres south and east of Mevo Chama; I had been there in 1974 before the site had been developed in a tourist attraction.

There used to be a parlour game which we used to play where one would describe two incidents, one which happened and one which was imagined. The other players would have to guess which incident was true and which was not. I always used the railway story along with some invented story which would sound reasonable for me - and no one ever guessed that the railway story really happened to me.