Wednesday, January 26, 2022

Janis Ian is retiring from recording

The Guardian posted a long article about Janis Ian today.

Tuesday, January 25, 2022

Demoing a new song

About this time last month, I had finished working on and recording a new song. I felt that I was out of ideas and that I'd never write another song (this happens quite frequently). After a few days of nothing, I remember sitting down one evening at the end of December with a guitar and absent-mindedly fingering chords, until something began to crystallise. I took this snippet and made a brief sequence - just the chords and a tune. A few days later the chords to a complete verse emerged; don't ask me what key this is in because the key changes every four bars (G Dm G Dm E Bm E Bm C BbM7 C BbM7 Em A Em A).

So: at the beginning of January I had the semblance of a new song. Every few days I would sit down and add another bit to the sequence, be it a second verse, an instrumental link, a third verse, another link, a solo, a bridge and a coda. Of course, at the same time as I was adding sections, I was also working on the instrumentation, for example beefing up the bass part in the second verse, etc. I spent a few interesting hours trying to figure out how I could return from the instrumental to the verse; this was because the bridge started in C# after a link in Dm; the instrumental was alternating four bar phrases of C#m and Bm. In the end, I realised that I could turn a Bm into a B diminished (by changing one note) and thence to A that would lead cleanly to Dm, the instrumental link prior to the final verse.

By Saturday morning, I had a version that was complete (or almost so: there were still a few tweaks to be made in the evening); during the day I eked out the words (these had eluded me during the month). On Sunday I thought that I would add a petite reprise to the final verse, so I inserted an extra four bars with changing instrumentation.

Yesterday evening I decided to make a demo of the song: this was primarily intended to check that the song was singable. I didn't mention this in the previous paragraph, but the tune changed about three times during the month and I wanted a vocal version that I could 'fix' in my mind. Singing the song aloud for a recording for the first time went very well: I remembered the tune (with all its variations) and sang it in tune without stumbling anywhere. I should confess that I made two musical versions of the song: one complete arrangement without tune, and one with tune but without certain instrumentation. I sang along to the version with the tune which might explain why there were no mistakes.

I view this version as a pilot test: to find where the problems are. I intend to lower the song by a tone to make it slightly easier to sing. I intend to remove the petite reprise and revert to the original instrumentation for this part. I intend to change some instrumental fills in the second verse so that they don't clash with the singing. 

Friday, January 21, 2022

The Auditorium

This was a moribund site whose mission is A place to share music as you write it and other stuff like that. Someone asked for criticism of their music on the Music: Practice and Theory site on Stack Exchange, and someone mentioned (and reactivated) the Auditorium. Intrigued, I uploaded a link to the YouTube version of "My father's eyes". So far, there seems to be only three other people active, all names known to me from MPT.

Following is their criticism (names omitted; each person has their own paragraph):

  • I listened to your song and I think it has great "bones". The song structure is good, the lyrics are clearly heartfelt. I think the performance and production are holding it back. For my tastes, the drums are mechanical and the high hat in particular is insistent and not exactly a good fit for the theme of the song. I might replace it with lazy, quiet, ride cymbal. The best thing would be to find or hire some great musicians to handle the most important parts and re-record it. I think the melody could really soar with a great singer (no offense), and having at least a human drummer lay the foundation would improve it a lot. A soloist might be nice, also. Not to play an actual solo, but to fill in the sound, play counterpoint with the vocals, and "humanize" the whole thing.
  • I think your recording as is makes a descent [sic] demo. Song structure, melody, etc. are solid. There are so many ways you could work the demo to a final performance. A general idea: think dynamics and expression rather than singer with a rhythm section. The lyrics express some heavy feeling, disappointment, frustration, even some bitterness. A singer could go from nearly speaking the lyrics to singing to howling and really let their feelings out.
  • I listened to your other YouTube songs. Your style is consistent, good stuff. I'm reminded of some songs by Elvis Costello like Almost Blue and Kid About It. There is some similarities with the basic song material, but his recordings show how it can be presented more dynamically.

My reaction: Thanks for the feedback. I'm well aware of my (lacking) abilities as a singer and also the lack of dynamics. I do try to introduce dynamics into the music but as a singer I try to model myself on Nick Drake or Randy Newman: they don't have dynamics and Randy isn't exactly a singer! If I were to describe my recordings in one word, they're too "polite".

Thursday, January 20, 2022

Accountant's gloves

As the weather has continued to be extremely cold in the mornings, I asked my wife to buy a pair of what I call "accountant's gloves" - gloves leaving the final joint of each finger uncovered so that one can write with a pencil or type/enter data into a computer with ease, whilst keeping the hands warm. I used to have a pair of gloves like these maybe 40 years ago, although I don't remember where I got them from.

Apparently my wife snapped up the last pair of gloves for sale from the shop - other people reached the same conclusion as I and bought gloves so that they can work with their computers.  


Wednesday, January 19, 2022

Late afternoon walking

Over the past few days, we've had rather extreme weather, at least by our standards. On Friday morning, it started raining and didn't stop until Sunday afternoon. About 145 mm rain fell (about 6 inches) during this period; we're in what might be called a dry patch in Israel. Elsewhere the rainfall reached twice this level. Then on Monday, "the mercury fell out of the thermometer": when I got up at 5:30 am, the temperature outside was 2.8°C, very low for us. During the day, the temperature rose to maybe 10°C. Working from home, I turned the air conditioner on at about 6 am, so at least inside was fairly normal.

Tuesday was like Monday, albeit slightly warmer early in the morning, "only" 4.5°C. Again, during the day the temperature rose, reaching a peak of about 15°C by 3 pm, before a quick descent. Taking the dog for a walk was a fairly painful process at first as my legs didn't adjust to the cold very well. Despite this, we got in a few circuits of the area where we walk before night descended. There was a full moon that rose fairly early, as can be seen in the accompanying picture (somehow the picture has been reversed left to right, not that it matters very much; we don't normally walk down the road).

Today was "warm": 9.5°C at 5:30 am. But there was a little rain overnight, and it's raining now, not too heavily. Tonight there may be snow in Jerusalem. We are promised more rain next week. Walking the dog in the evening may be problematic.


There was a brief on-off-on power cut on Sunday night (what is termed a "brown-out"); this is the worst kind of power cut as it has the potential to cause more problems with electrical equipment than a regular power cut. When I came to measure my blood pressure and record it early on Monday morning, I saw that the screen of my music/programming computer (that runs XP) was displaying the 'blue screen of death', with a message that strikes terror into the heart of any computer person: "Unmountable boot volume". In other words, something happened to the hard disk to make it unreadable.

In the evening, I took the computer to my repairman: he saw that capacitors on the motherboard had blown, probably as a result of old-age and the brown-out. By yesterday evening, he had the computer fixed; I brought it home in the cold and set it up. After waiting some time for the computer to boot, I discovered that the external soundcard wasn't working, but this was easy to fix. Now the computer is back on line.

Sunday, January 16, 2022

Turning the DBA research around: the research journal

After completing the pilot study chapter with some good material comparing the apparent development and deployment process with the various engineering change models (my supervisor writes I read through the pilot study section and I think you've done enough with that section now. I like the way you identified the different changes that emerged from the conclusions drawn from the study), I began contemplating which enhancements I would be covering in the major case studies. At the same time, I had written and extending a chapter about part of my company, showing major enhancements that had been enacted in the past two years. I wasn't too enthusiastic about researching these enhancements as some parts of them had taken place two years ago and so people's memories might not be too accurate. Also, these aren't 'classical' enhancements as I had defined them with one group of stakeholders entering information and another group utilising this information. If one takes a long view, then this is what's happening, but it's not initially apparent.

During a management meeting this week, part of which was devoted to plans for the coming year, I suddenly realised that I had a huge enhancement taking place underneath my nose. We intend to modernise and computerise the finished goods warehouse; as it is expected that the warehouse workers will be mobile within the warehouse (as opposed to workers on the factory floor who are in fixed positions), one of the requirements of the warehouse management system (WMS) is that it handle wireless communications via hand-held terminals. This is beyond my capabilities and so the enhancement will be delivered and developed by an outside vendor. There is a WMS module that exists within Priority although we don't have a license for it yet. Using a WMS that is an integral part of Priority is preferable than using an external program.

With this realisation, I quickly changed the order of presentation of enhancements and case studies, making the WMS the primary case study. The main advantage of researching an enhancement in real time is that I can maintain a research journal; I went over emails from the past four months and found a wealth of material for my journal. I also added some 'editorial comments' to this journal; these are also part of the research.

There are a few differences between this enhancement and others that I have discussed on a procedural level; as I wrote in the thesis, it will be beneficial for this research to see what changes in the development and deployment process arise through the choice of an external vendor (the choice itself is a step in the process that does not exist with an internal implementer). I am going to add some thoughts about that to the research journal.

We can also take advantage of some of the tentative conclusions from the pilot study, namely that the specification can include the definition of clear goals for the enhancement along with criteria for judging the success of the enhancement, thus improving the chances of the enhancement being successful. This is also an important part of the research: showing how steps that we might not have taken had it not been for my research do make a contribution. There are a few paragraphs devoted to the topic of validation in the version of the thesis that was presented last year; I'll have to dig them out.

In a sense, this blog too is part of my research journal!

Saturday, January 15, 2022

Another Ninja experiment

I know that the impression given by this blog over the past week or so is that all I do is experiment with the Ninja grill; this is far from true, but most of my activities aren't suitable for writing about (or they haven't yet reach fruition) whereas the cooking experiments are almost instantaneous and easy to write about.

As yesterday's Friday night supper was just my wife and I, I thought that we could experiment a little. I asked my wife to buy some shishlik sticks, i.e. cubes of chicken thigh threaded onto a stick, ready for easy grilling. The Greeks call this souvlaki; apart from the fact that they might use lamb instead of chicken, they also tend to thread cheese chunks (haloumi) and use a yoghurt dressing, which of course is a no-no for us. I've just discovered that shishlik basically means 'skewers'; these are also known in Israel as sichim, which apparently means 'skewers' in Arabic. The common Hebrew name is shipudim, which again means 'skewers'. Another common name is pargiot, which technically means young chickens but commonly means young chicken thighs. So how does one differentiate between deboned thighs that I cook in the slow cooker and chunks that are grilled? Presumably by shipudei pargiot.

So: she bought eight sticks, of which four I froze for later use and four I kept for dinner. Instead of placing them in a marinade as some recipes would have, I spread a little olive oil on them then sprinkled oregano. I then turned them over and sprinkled some more oregano. The olive oil was a mistake: the grilling takes place at a temperature well over the smoke point of olive oil. I should have used canola oil instead, although to be honest, I couldn't detect any detrimental taste or smoke from the olive oil.

The sticks were cooked by grilling them for seven minutes at 265°C, turned over and then another seven minutes grilling. The outside was pleasantly charred but inside something was slightly missing. It might be better to grill at a slightly lower temperature for longer, so that the inside cooks more. The sticks were accompanied by a simple cucumber/red bell pepper/yellow bell pepper/onion salad (plenty of vitamin C to help the body absorb the iron in the chicken); my wife had mashed potatoes whereas I had rice with onion and courgettes (no potatoes for me as they have high potassium).

It is becoming clearer that the Ninja is intended for couples, as mostly one can only cook two portions of whatever at a time. I have seen recipes for roast beef that obviously would feed more than a couple, but other dishes that I have cooked have only been two portions.

Thursday, January 13, 2022

Desiccated apple slices

As I mentioned about a week ago, our Ninja grill has five functions: grill, roast, air-fry, bake and dehydrate. I've already grilled and air fried; maybe one day I'll roast some beef in the machine but I can't see myself baking anything. This leaves the 'dehydrate' function. I made a quick search looking for recipes and found three variations on the same thing: desiccated apple slices. 

One slices an apple into thin slices (I found that the slices that I cut from the apple weren't particularly thin, but that I was able to slice them in two once they had already been cut from the apple) and places the pieces in the Ninja vegetable dish, adding a little lemon juice (to prevent browning) and cinnamon. One then chooses the 'dehydrate' function whose default temperature is 60°C and default time 6 hours (!). I was tempted to turn the Ninja on at 9 pm before going to bed; true, it would finish cooking at 3 am whereas I get up at 5:30 am, but in that extra time the heating would be turned off and anyway the extra time would serve to further desiccate the slices. But my wife demurred....

So I left the slices in the basket, and turned the Ninja on when I got up in the morning. After three hours, I opened the lid and tasted a slice - chewy and not dry. An hour later, the slices had improved but still not there yet. After five hours, I tasted a slice and decided that the slices had been dehydrated sufficiently.

I am now eating those slices; they're ok, although I just ate a slightly thicker slice and can tell that this one was not totally dehydrated. Whilst it might be cheaper to make one's own apple slices, I don't think that I'll repeat this. Maybe it would work better with banana slices, but I'm not allowed to eat bananas any more - too much potassium, and of course, the dehydration has no effect on the potassium level.

Tuesday, January 11, 2022

Ninja chicken (2)

Today was the turn of chicken drumsticks to be cooked in the Ninja grill. The recipe (if it can be called that as it's so simple) requires that the air fry option be chosen, as for a whole chicken. After drying the drumsticks, brushing on them a thin layer of canola oil and sprinkling on them some oregano, the drumsticks were cooked for 10 minutes at 200°C, turned over then cooked for another 10 minutes.

It is recommended not to cook more than six drumsticks at one time; I cooked three, more as a test than as a complete meal. Canola oil is used because the smoke point of olive oil is 180°C and is liable to break down and cause smelly by-products at this higher temperature.

Again, the primary saving is in cooking time; I would often cook the drumsticks for an hour and a half (albeit at 180°C) although this is probably too long. I would also cook potatoes with the drumsticks - something that is missing here. I meant to put a halved potato in with the drumsticks but I forgot.

Monday, January 10, 2022

Displaying hints (2)

Continuing from yesterday's presentation about hints in a non-modal form, a more modern way of writing the code that I showed yesterday for hooking the application.onhint method would be

procedure TMyForm.ApplicationEvents1Hint(Sender: TObject); begin StatusBar1.SimpleText := Application.Hint; end;

This achieves the same result as my naive code but is much simpler. Unfortunately, it is also wrong as it again causes the active form to display hints that arise from other forms. Somehow there should be a way of checking from where the hint arises. Apparently the ApplicationEvents.OnShowHint event exposes the HintInfo object that includes a pointer to the control that created the hint, but I haven't seen an example of this, and the structure that I described yesterday (a grid on a tabsheet on a page control on a form) is liable to confuse this event.

The given solution is actually quite simple and depends on a function that tests whether the control creating the hint resides upon the current form.

function IsHintFor(AForm: TCustomForm): Boolean; var local: TControl; begin Result:= False; local:= FindDragTarget (Mouse.CursorPos, True); if Assigned (local) then Result:= GetParentForm (local) = AForm; end;

One places on every form that requires the hint handling a TApplicationEvents component, whose OnHint event is as follows

procedure TMyForm.ApplicationEvents1Hint(Sender: TObject); begin StatusBar1.SimpleText := Application.Hint;
end;

Easy peasy. So yesterday evening I went through the 'ERP' application and changed the hint-handling code in about 30 forms. I also added the above to a form template, meaning that I won't have to define this manually in the future.

Sunday, January 09, 2022

Displaying hints

In the OP's "ERP" program, recently I have been adding screens that display a list of items, normally dockets, where an action can be applied to the list, such as sending emails to all the people connected to the dockets, or changing the status of all the dockets retrieved. It is prudent to allow the possibility of removing a docket from the list (displayed in a grid) prior to executing the action, so I implemented a very simple 'remove' action that deletes the current item from the clientdataset that is in the background. This deletion does not delete the record from the database, of course.

Then it occurred to me that it might be beneficial to allow marking several items then deleting these in one go. At work, I jest that I am paid a bonus for every key press that I save workers; in this case, n + 1 key presses are required to delete several consecutive items as opposed to 2n key presses for single choices. So far, so good.

I then wanted a way to signal to the user that the grid accepts multiple choices. After turning this over in my head for a little while, I realised that the way to signal to the user is via a hint. There's nothing dramatic about this: the speedbuttons used in saved queries (see here) have hints defined. The standard mechanism for displaying a hint is a small window that opens near the control, displaying the help text, whenever the mouse hovers over the control. I can't explain exactly why, but this mechanism seems out of place; seemingly a better technique is to display the hint in a status bar at the bottom of the form.

The canonical method of displaying hints in a status bar is via the following code:

Constructor TMyForm.Create; begin inherited create (nil); ... Application.OnHint:= MyHint; ... end; procedure TMyForm.MyHint (Sender: TObject); begin sb.simpletext:= Application.Hint; end; procedure TMyForm.FormClose(Sender: TObject; var Action: TCloseAction); begin Application.OnHint:= nil; ... end;

I've used such code in several forms without any problem, but this time around, a warning light went on in my head: I keep on assigning application.onhint to a procedure local to a given form, but application is a global object! In other words, all hints will be displayed in the status bar of the last form to be created.  ☹️ I checked this out by creating two instances of the same form; one is active and one is inactive. When I moved the mouse over the inactive form, the hints appeared in the status bar of the active form. This approach is clearly wrong.

So how does one cause that each form displays only hints emanating from its own controls and not from other forms? After a great deal of spelunking, I found a partial solution that uses the undocumented messages CM_MouseEnter and CM_MouseLeave, that are sent whenever a mouse begins or stops hovering over a control. The form can trap these messages and display the appropriate hint.

This solution worked on one form but not on another; the first form had a grid placed directly to the form, whereas in the second form, the grid was placed on a tabsheet that is placed on a page control that is placed on the form. There was no way that my mouse messages approach would work here. It's time to escalate the problem to Stack Exchange.

... to be continued.

Saturday, January 08, 2022

Ninja chicken

The importers/distributors of the Ninja grills made an astute marketing decision when they managed to get one of their products placed in the Israeli 'Big brother' tv series. I don't watch such programmes but my wife does as do many other Israelis, and the demand for the grills was such that there was a three week month waiting period for them.

We purchased our grill (that has five functions: grill, air fry, bake, roast and dehydrate) a few weeks ago. We haven't done much with it so far: we grilled a few experimental steaks (that I don't eat) and I grilled some chicken breast with honey. Until now, I haven't been too impressed with the machine as it is recommended to grill only two portions at once. Today was a test of a different function: air frying. The test subject was a chicken.

The butcher was somewhat dubious that one could roast a chicken in the ninja (as the chicken would be too large), so we bought a small one. I found a recipe on the Internet that uses the air fry function - I wonder now why not use the roast function as that would seem to be more suitable.


The picture on the left above shows the closed ninja grill; the picture on the right above shows the uncooked chicken placed in the basket. There's plenty of room for some potatoes, had I decided to cook them as well. The recipe says to air fry for 30 minutes, after warming the ninja. The preparatory stage had finished when I took the second picture: the display is showing '[Add] food', so I added the food.

After 30 minutes, I opened the top and turned the chicken over, before air frying it for a further 30 minutes. On the chicken was olive oil and oregano.

The pictue on the above left shows the chicken at 'half time' and the one on the right shows it at 'full time'. The chicken tasted fine although it was somewhat bland (not necessarily a problem; I eat the breast which is always bland). We haven't had roast chicken for quite some time so I don't remember how roasting the chicken in the oven affects the taste.

Conclusions: cooking with the ninja required only 60 minutes as opposed to 90 minutes in the oven. I use the same temperatures (180°C) but the ninja has a smaller volume to heat and so should use less electricity (and of course, the cooking time is much reduced). On the other hand, one does have to clean the baskets in the ninja.

This experiment shows that one can easily roast a chicken in a ninja grill.

Note that I've learnt how to place two pictures side by side in the blog, although I would prefer a little space between them.

Friday, January 07, 2022

Fourth time around

Today was a crisp winter day: at 6 am, the skies were clear (although the sun wasn't up) and the temperature was a sprightly 11°C. By lunchtime the temperature had reached 22°C, making our afternoon walk very comfortable. Now (4 pm), we're starting the descent into darkness and lower temperatures. If only every winter day were like today.

But I'm not here to write about the weather: today I had my fourth Covid-19 vaccination, or my second booster, if you prefer. The announcement was made at the beginning of the week that over-60s would have the vaccination; via our health fund's website, I made an appointment for the next available slot, which was Friday morning. A minute later I logged on again to make an appointment for my wife - next Friday! Needless to say, I didn't make an appointment for her.

As I have probably written before, the vaccinations are done at the health centre in Bet Shemesh, which is sited at the end of a one way street with little parking. As a result, the road was almost impossible to traverse or park; as my wife still has an invalid badge on it, she felt entitled to take the vacant invalid parking spot in front of the building (if it had been me on my own, I would have parked a distance from the centre and walked).

Inside we saw about ten kibbutz members along with a similar number of town residents. I went to the ticket machine to get my reservation - R6 was my number. My wife received A35 - different queues. I was one of the few kibbutz members who bothered to book an appointment so I entered well before most of the others. Afterwards I had to wait about twenty minutes for my wife to come out.

So: yet another vaccination. A quick wipe of the shoulder, a prick, the muscle tightening, and then it's over. 10 seconds of exceedingly mild discomfort (and so hardly a discomfort: a light punch to the shoulder would have hurt more). Out of the three previous vaccinations, the only side effect that I had (twice) was a sore shoulder for maybe 12 hours, starting in the evening of the vaccination, so I'm not expecting anything more.

Of course, I'm hardly a person at risk of catching the omicron variant of Covid, as I stay at home most of the time, but one can never be sure. I do go out of the kibbutz every now and then, mainly for medical appointments (new sleep doctor next Tuesday!), so there does exist the small possibility of being infected. I believe that we'll all get infected at some stage, but that it will be a virus that causes almost no symptoms.

Wednesday, January 05, 2022

Sandy Denny would have been 75 years old today

One of the radio stations here in Israel just announced that had she lived, Sandy would have been 75 years old today. In her honour, they played "It'll take a long time", the opening track from her second solo album, "Sandy", from 1972. Tomorrow they promise to play many of her songs.

This isn't the first time they have played Sandy: quite often, the 'Unhalfbricking' version of "Who knows where the time goes" gets played, which is always a pleasure to hear.

I admit that apart from the songs that I have programmed onto my mp3 players (37 songs at various stages in her career: Fairport, Fotheringay, solo, Fairport, solo and a few demos), I don't hear that many outside of this group. I do have 'What we did on our holidays' and 'Unhalfbricking' ripped in their entirety on this computer to which I occasionally listen, but the unripped songs from 'Fotheringay', 'Fotheringay 2' and her solo albums remain a treasure that I am occasionally reminded of.

I find it hard now to listen to the early recordings, with all the beauty that they promised, and then remember her final recordings and what could be seen as a loss of talent and a tremendous waste. Who knows what would have happened had she lived; her early bandmates Richard, Simon and Ashley are still going strong whereas others have fallen by the way (Martin, Swarb, Trevor). Maybe at some time she would have regained her confidence and made good music?

Tuesday, December 28, 2021

Memory upgrade

Five and a half years ago, I wrote about purchasing a mobile computer; I'm surprised that it's so long ago (in computer terms). Since I started working at home, I've been using this computer as opposed to the mobile that I have from work, as mine has a bigger screen. I keep the other mobile ready in case I have problems; at one stage I used to keep one computer connected to work and use the other for Teams conversations.

I've noticed in the past few days that it's becoming more and more difficult to work with my home computer: it's slow in switching from one program to another. I use Remote Desktop Manager and Teams and Whatsapp and Chrome ... and there isn't enough memory for all of them. So Windows swaps out memory to disk, and it transpires that the disk is considered slow (at least, when compared to SSD). So these memory swaps make the computer seem even slower.

I got fed up with this. The original configuration had 6 GB memory installed - I went to my local computer hardware man and asked him to enlarge the memory as much as possible. The computer has 4 GB on board and another slot in which the extra 2 GB was installed, so the maximum that he could add was 2 GB (replacing the 2 GB memory chip with a 4 GB chip). So now the computer has 8 GB.

And it flies! Today was a real pleasure working with the computer. It seems that I was using the maximum possible, and a small increase in memory size brought a huge improvement in performance. A worthwhile enhancement. 

8 GB memory! I remember enlarging the memory of my first clone computer from 512 KB to 640 KB and feeling pleased. According to my calculations, 8 GB is more than 16,000 times larger that the memory in that first computer. 

Friday, December 24, 2021

Joan Didion, RIP

A formal obituary can be found here.

I first became aware of Joan Didion in the mid-70s: she was another author who appeared in Tom Wolfe's "New Journalism" anthology. I'm not sure that the word "enjoyed" can be applied to her chapter in the book about San Francisco in early 1967, but I found it very enlightening in historical terms, having been slightly too young to have read about that period when it occurred in real time.

Shortly after, I found her collection of articles, "Slouching towards Jerusalem": this definitely was enlightening. Of all the articles, the most interesting was "On keeping a notebook", written in 1966 but referring to events that happened a few years earlier. This was a most personal article and at the time this was exactly the sort of material that I was looking for. 

We forget all too soon the things we thought we could never forget. We forget the loves and the betrayals alike, forget what we whispered and what we screamed, forget who we were. I have already lost touch with a couple of people I used to be; one of them, a seventeen-year-old, presents little threat, although it would be of some interest to me to know again what it feels like to sit on a river levee drinking vodka-and-orange-juice and listening to Les Paul and Mary Ford and their echoes sing “How High the Moon” on the car radio. (You see I still have the scenes, but I no longer perceive myself among those present, no longer could even improvise the dialogue.) The other one, a twenty-three-year-old, bothers me more. She was always a good deal of trouble, and I suspect she will reappear when I least want to see her, skirts too long, shy to the point of aggravation, always the injured party, full of recriminations and little hurts and stories I do not want to hear again, at once saddening me and angering me with her vulnerability and ignorance, an apparition all the more insistent for being so long banished.

Whilst I did not sit on a river levee drinking vodka-and-orange-juice at the age of seventeen, I can very much appreciate the sentiment, especially about the twenty-three-year-old me. Whilst I never kept a notebook or a journal, I used to be a copious letter writer. Unfortunately, what I remember as hundreds of letters that I wrote before about 1985 are lost; sometime in the mid-80s, I started writing letters via a computer and so I have copies of all those letters. Then I moved on to blogging, which in many ways is simply the modern variant of a journal, except that here, blogs have a start, a middle and an end. They are not random jottings but are about something.

In the early 80s, I bought a copy of her latest book (as it was then), "The white album". This collection piqued my interest less: there was a chapter about Jim Morrison and the Doors and there was another chapter containing some information about amitryptiline, but otherwise I was left untouched. I bought a copy of one of her novels (I think this was "River Run") in the second-hand bookshop in Rehovot that I used to frequent, but I found this opaque.

Still, I found Joan to be a very intriguing person. I never had a clear mental picture of what she looked like so here is one from 1972.


Joan Didion in Vogue in 1972. Photograph: Henry Clarke/Condé Nast/Shutterstock


 

Wednesday, December 22, 2021

Janis Ian

When I emigrated, one of our group had the LP "Between the lines" by Janis Ian. In those days I was quite the magpie regarding music (as if I'm not, now) and so I taped the record. Over the years I came to love most of the songs on the album, and some time in the 1990s I bought the cd.

"At seventeen" was a very good song then, and even now, I greatly appreciate its lyrics. Janis writes in her autobiography: I was alone in the apartment, absentmindedly playing a little samba part on the guitar while I read an article about debutantes. The woman who’d written it was talking about her coming-out party, how excited she’d been before it, how flat she’d felt in the aftermath. The opening line was “I learned the truth at eighteen.” Interesting line, I thought. Might be a song in there somewhere. I hunted around for a melody to go with my samba lick, and tried the line. Nope, it didn’t scan. I needed another syllable. I learned the truth at seventeen, I sang to myself.... I stared at the paper. How could I write about high school girls, or prom night and homecoming queens? I hadn’t had any of those experiences. I thought about that for a while. There were plenty of other school things I had experienced. I knew what it was like to never be asked out on a date. I knew the sinking feeling when everyone else in class came in to find a valentine on their desk, and yours was empty. And I sure as heck knew what it was to feel clumsy and ugly. I could write this song, I was sure of it.

But to be honest, I love the opening two songs (including "At seventeen") and I love the last two songs, especially the closing song ("Lover's lullaby") but not so much the songs inbetween. The music theorist inside of me has to point out that the first two verses of "Lover's lullaby" are in 4/4 time but the rest is in 3/4.

At some stage I had on cassette a few more songs ("Jesse", "Stars") along with another album that included "Hopper painting" (that's the only name that I remember; maybe I only had this one song). Scouring YouTube didn't bring up many other songs, if at all. About a month ago, I went on a Janis Ian kick and discovered most, if not all, of her discography; certainly all of the pre-1990 records. I listened to most but didn't connect with them, especially her early   albums (with her breakthrough hit, "Society's child").

On the other hand, a record that might be called "Janis Ian II" captured me: this is the album that contained the aforementioned "Hopper painting", as well as several more songs that seemed extremely familiar. I find now that I am preferring this record to "Between the lines", although of course there has to be one song that I don't particularly like ("Hotels and one night stands"). Janis herself doesn't care for this album, writing It was painful, hearing songs that had seemed vibrant when I’d demo’d them reduced to flat, uninteresting recordings. Joe [the producer] was from Los Angeles, and my album ended up reflecting the current L.A. sound, over-smooth and dulled around the edges. I hated it. When I heard the mastered record Janis Ian II, I wanted to throw it out and start over again.

I beg to disagree. I very much like the piano based songs.

Below appears Janis as she looks today (or, at least recently).


Saturday, December 18, 2021

Further thoughts on running Excel from a background thread

As I'm on a thinking roll this morning, I thought that I would document some thoughts that I have about code that I wrote just under a month ago that runs Excel in a background thread. Specifically, I want to address the problem of passing two discrete ranges to Excel, where each range has to have a different format (for example, E:F should be integers and G:H should be floats). At the moment I can pass E:F,G:H (i.e. two ranges) but they will both receive the same format.

It seems that what is needed is to pass a stringlist, where the first string would be something like E:F,i and the second would be G:H,f. In other words, each string would be composed of two parts separated by a comma: first a range then a character indicating what the format should be (i=integer, f=float, of course).

That's a good idea.

A fruitful day, part three: continuing work on PrioXRef

I devoted about an hour and a half in the evening working on my Priority Cross-referencer and syntax checker. The details can be found on the other blog so I'm not going to write about them here. I just wanted to say that these hours were a bonus on top of what had turned out to be a very successful and fruitful day.

There are innumerous blues songs that start off with the words "I woke up this morning"; a quick search revealed "I woke up this morning/The blues all around my bed" (link); "I woke up this morning, feeling round for my shoes" (link); and "I woke up this morning with a awful aching head" (link). On the other hand, there's the perky song "You were on my mind" that also starts with "Well I woke up this morning and you were on my mind".

If I were writing such a song, it would start "I woke up this morning with ideas in my head"; it seems that the intellectual aspects of yesterday had passed from my left brain to the right, that started  ruminating on them, a process that lasted all night. As a result, my walk with the dog (and prior to that) had me thinking of

  • A replacement line for the new song "Building the life"
  • What to write in the latest draft thesis version
  • That I hadn't considered all the possible cases of 'LOOP' appearing in a Priority procedure. 
And now that I write that line about LOOP, I realise that there is also a case where RETVAL can occur outside of a cursor (after a 'select ... into' statement). Oops.

A fruitful day, part two: A conversation with my doctoral supervisor

As I noted about a week ago, my DBA supervisor had been ill with Covid-19 and then an ear infection took advantage of his weakened immune system, so it was a few weeks before we could talk about my last draft thesis version. He sent me some comments about a week ago that were easy to incorporate and  suggested that we talk on Friday about the problems that I saw with analysing the data from the pilot study.

As I told him, these conversations are always very valuable as they include a certain amount of brain-storming as well as giving me a push to continue work on this seemingly never-ending work (at this point I should state that I have exactly one more year to go - if I don't finish by December 2022 then that's that. I also paid tuition for this final year, a process that I don't want to go through again). The conversation brought up two new topics to be looked at - more material for the literature review - but more importantly shone a light on the direction of the research. It is so easy to concentrate on discovering whether and why the enhancements being studied succeeded, but that's not the real question, which is ...

How does the process of developing the enhancement affect the degree of success? Or in other words, would a failed enhancement have succeeded had the process been different/better? What could be done to improve the process in order to improve the probability of creating a successful enhancement?

The above three questions are really one; they're just phrased differently. And anyway, I'll have to translate them into Hebrew before asking them, so the subtleties may get lost (the subjunctive mood barely exists in Hebrew).

This morning, whilst walking the dog, I considered yesterday's conversation. At one stage I was tempted to run another pilot study that would include the above questions, but by our walk's end, I realised that the pilot did what it was supposed to do: check the methodology and suggest questions that weren't asked. The new questions can be asked in the 'real' research.

I'll probably work a few hours today and in the following days incorporating this new material and direction into the thesis. There will also be the new topics to research and possibly write about.