Day 261, dumping the Y, drawers, docent, dinner, laundry

Tuesday, 8/20/2019

First thing, I drove to the YMCA and did my few exercises. But while doing them, something crystallized in my mind: surely I can achieve these same effects one way or another with simpler exercises. I’d been putting off doing anything until C.H. gets a new fitness director but that’s dumb. I’m done with this place. So on the way out I filled out a cancellation form to terminate my Y membership.

Back home I took out the three drawers from the kitchen area, which have a particularly strong fusty odor, and took them down to the shop. I sanded them and put on a coat of Varathane. That took less than two hours all told. I left them to dry. I changed into docent clothes, my red Computer History docent shirt and slacks, and after lunch I went to the museum to do the 2pm tour. Mike, who had answered the last-minute appeal for a docent to cover the noon tour, said his group was over 20 people. My group was only five, and only two of those stayed close to hear my golden prose. The other three orbited at various distances. Whatever.

Back home I changed back to regular clothes and had supper, along with Craig, Diane, Sue and Kent. I ran my other (non-bleach) load of laundry after supper.

Day 260, cardiologist, FOPAL, realty, singing, Lisp (sucks)

Monday 8/19/2019

Began the day with a run, which felt fine. Paid a bill or two. At 10:30 left in the car for PAMF for my routine checkup by my cardiologist, Dr. DiBiase. She thinks I’m ok but wants me to do a “stress echo” where you do the echocardiogram while exercising to various levels. Ok. Scheduled that on the way out. She also gave me the name and number of a trainer she recommends. Not sure I want to follow up on that.

DiBiase “challenged” me to do more cardio exercise than 3x morning runs. But she doesn’t know about FOPAL. At the start of my stint there I checked the Health app, and when I was leaving after three hours of toting books and boxes, I checked again. Just over 4,000 steps. I do that twice a week. I think that qualifies.

From FOPAL I went to Chuck’s office. He’d texted me there were a few more forms to sign. Plus, I had prepared a nice letter to the buyers. I included a printed copy of the Tasso street neighborhood directory that Leslie Mahoney prepares each year. That gives them the name, number and email of every resident on that two-block stretch. I recommended that they continue with Richard as gardener. I gave a link to a gallery of pictures of the house at various times. And noted the late news that the Tasso block party will be on 9/28. I gave this document to Chuck, to pass on to their agent. He noted that I’d included my email, and hoped they wouldn’t bug me with a lot of questions. I figure they won’t, but if they do, I can set boundaries.

I am to meet Chuck at the Escrow company office on Wednesday to sign the Grant Deed transfer. That will be my last signing. Not too many days after that the buyers should put their money in, and the transfer will be complete. Can’t wait!

Going in to dinner I was asked to join Marcia and Kent. They own an Adventurewagen like the one we used to own. We were joined by Kathleen and Marianne. After dinner there was an informal sing-along in the lobby. I joined it for about 25 minutes as we worked through a lot of standards on a 12-page booklet of lyrics. It was getting into a lot of songs I didn’t know so I left. In the elevator Bert put the arm on me to join the choir when it starts rehearsing. Yeah, maybe.

I had planned to do laundry tomorrow but checking the sign-up sheet there were no openings. Plus, there was an email asking please please please, will some docents sign up for the Tuesday tours? Oh, well. I signed up for the 2pm one. I want to do more drawer sanding and varnishing. So I did the first of my laundry loads, the bleach load, after supper. I’ll do the second load after supper tomorrow.

While the laundry was running I explored another angle on learning Lisp, based on this blog post, A Road to Common Lisp. I already have two Lisp implementations installed and they work in their ungainly, beginner-hostile way. But he recommends a third, ClozureCL. So why not, it claims to be good for Mac OS. I downloaded it. And it exemplifies everything that is amateurish, clumsy, and annoying about Lisp implementations. It’s like going back to the 1990s, a time when I had to use a lot of UNIX apps that were minimally documented and had to be compiled from source and tinkered with. And the complete opposite of what you expect from today’s slick, well-packaged development environments.

Just an example or two. (Perhaps I should spin this adventure off to its own blog, like my dormant This Page Intentionally blog.) You download the package, a zip file, and you unzip it and you have a directory. In the Terminal app you move into that directory and list files. First problem: there’s no README. Every Unix/Linux app has a README. Oh wait, there’s a folder named doc. List that; aha: doc/README exists. All it contains is the URL of the online manual. About 3,000 words into the manual it actually tells you how to start Lisp. I do, and try a couple of expressions. It’s working so I try to terminate it the way you terminate every damn Unix program on the planet by entering ^d, EOF. Which it ignores. (About 20,000 words further in the manual one finds that there is a Lisp expression you can enter which tells it to “quit on EOF” but that behavior is not the default. Why not?) Well, I want this thing to shut down, what do I tell it? Entering “quit” just produces a syntax error. I try ^C, which throws it into some kind of debugger mode…

[21:56:20 ccl] scripts/ccl64      <--- I launch Lisp
Clozure Common Lisp Version 1.11.5/v1.11.5 (DarwinX8664)
? ^D         <--- it prompts with "?", I hit ^D
? ^D         <--- which it ignores, I hit it again
? ^Csigreturn returned   <--- now I hit ^C and get this
? for help
   (at this point I am in a "kernel debugger")
   (I've no idea why it prompts with [24279], or what
    commands it accepts. So I try ^C again)
[24279] Clozure CL kernel debugger: ^Csigreturn returned
? for help
[24279] Clozure CL kernel debugger: help
[24279] Clozure CL kernel debugger: [24279] Clozure CL kernel debugger: %rsi (arg_z) = 3145728
%rdi (arg_y) = 0
%r8 (arg_x) = 0.000000
------
%r13 (fn) = 34222
------
%r15 (save0) = 17591952791858
%r14 (save1) = 125
Unhandled exception 10 at 0x38b7b, context->regs at #x7ffeefbfd540
Exception occurred while executing foreign code
at sprint_function + 27
received signal 10; faulting address: 0xfffffff0
? for help
[24279] Clozure CL kernel debugger: Segmentation fault: 11

Entering the word “help” instead of the “?” it wanted, caused it to display some machine registers (%r8, etc) and then report an “Unhandled exception” and then a Seg fault (invalid memory access) at location negative 16 (0xfffffff0). In other words, the debugger, when given a command it doesn’t understand, crashes. Well, isn’t that special.

Hey, at least I know how to kill it: ^C followed by “help”.

Much further along in the manual is directions on preparing the Mac OS IDE (interactive development environment, some kind of helpful source editor). In fact, “Building the Clozure CL IDE is now a very simple process” it assures me. All I have to do is start Lisp and enter one expression, and it will do a bunch of compiling and produce an IDE that I can run. Let’s try it!

[22:08:29 ccl] scripts/ccl64
Clozure Common Lisp Version 1.11.5/v1.11.5 (DarwinX8664)

? (require :cocoa-application)
sigreturn returned
? for help
[24289] Clozure CL kernel debugger:

When it evaluated that “require” expression, all that happened was — the same as when I entered ^C earlier, “sigreturn” and entry to the “kernel debugger”.

This is the kind of sloppy, amateurish shit that I battled with back in the 80s and 90s. I don’t need it any more, thanks.

 

 

 

 

 

 

 

 

Day 259, visitors, house concert

Sunday, 8/18/2019

Coffee this Sunday was back at the café in Midtown. Part of cleaning up for the visitors coming, I needed to take some stuff down to the garage, so for fun took the car out to the old coffee place.

Back at home I fiddled around until finally Joanne texted they were ten minutes out, and went down to the lobby to meet them. Joanne and Brad and their daughter Sierra had visited me in January, Day 26, when I gave them some of Marian’s clothes. Now they are passing through on a vacation trip, in a rental Mustang convertible, nice choice guys.

Joanne is a sweetheart, great fun to talk to. We toured Channing House, sat for a few minutes in my unit deciding where to lunch, then went out and had lunch. They proceeded on toward Santa Cruz with the top down.

I had a couple of hours to pass then before I drove to Berkeley for a house concert. This one featured The Quitters, two musicians I’ve heard in several house concerts over the years. Glenn Houston is a wonderful guitarist, and sat almost knee to knee with him.

IMG_3889That was my chair, bottom center in the picture. House concerts are great.

I had actually signed up for a house concert on last Friday night and only remembered that when it was too late to start for it. It was in Oakland and on a Friday night one really should start about 2 or 3pm to have time for a restaurant meal before a 7:30pm concert. So I gave that one a miss.

From this one, a Sunday afternoon, there were only a few slow-downs going up 880 and the trip took less than an hour. Starting home at 9:30pm, however, I unwisely opted to keep right as I came out of Berkeley, over the Bay Bridge and down 101. That was 10mph from the middle of the bridge to the south City limit — on Sunday, at 10pm, is it ever clear? — and then around Whipple Ave CalTrans had decided to close the center lanes of 101 for construction, so it was 10-20mph for several miles more. I got in about 11:15.

Day 258, Docent, house concert

Saturday, 8/17/2019

In the morning I spritzed some more stain remover on the carpet. It will pass. My guests probably won’t be in the room very long anyway.

Speaking of the guests, I texted Joanne about 10 to check in. They’ll arrive sometime around noon. I told them not to stress about making it here in time to eat in the dining room; we can have lunch anywhere outside.

Then I left for the museum to lead a tour. Afterward I chilled in the room for a couple of hours before going out to Suzanne and Chuck’s place, where they hosted a recital by one of Chuck’s piano students. Hanna is just out of high school and will be going to UC Berkeley to study computer science this fall. She performed pieces by Chopin, Liszt, and the first movement of a Brahms concerto for piano and orchestra. Chuck played the orchestral part on a second piano (they have three grand pianos in their music room) and Hanna played the solo parts. It was rather awesome to hear these very complex pieces played with power and accuracy by a slip of a girl, but she did it.

I noshed on cheese and crackers afterward while  talking with Suzanne and with Hanna’s parents. That was almost enough food so it didn’t matter that I wasn’t back in time for supper here. I had a PBJ in my room.

While watching some old Naked and Afraids with one eye, I spent a little time on Lisp. Strange language. Old, as I’ve said, and it kind of has the same relation to computer science that Latin had to the Catholic Church. And the 1989 standard for Common Lisp was presumably thought through and argued out by big brains. So, how did they manage to leave blatant inconsistencies in the design?

Case in point, the whole damn language revolves around lists; the list is a basic data type and there’s a bunch of operators for manipulating lists. Dandy. But there is a set of related standard functions, floor, truncate, ceiling etc., all of which can return two values. For example, (floor 25 4) evaluates to two numbers, 6 and 1, respectively the quotient and remainder of dividing 25 by 4. This is very useful. The comparable function in Python is called divmod, and divmod(25, 4) returns a tuple, (6, 1), a tuple being a standard data type in Python.

Does the Lisp function (floor 25 4) return a list of two items, (25 4)? It bloody well does not! At this point all I know is the documentation says it returns the “multiple values” of 25 and 4. You can’t access the second of the values (the remainder) in any normal way. The only way to get at it — and of course finding this out involved an internet search leading to an answer on Stack Overflow; it was of course not to be found in the index of any damn tutorial — is to use the multiple-value-bind function. This special function has the magic to trap the multiple values returned by floor and related functions and assign them to names you supply. So this old well-thought-out language, used in much AI and other cutting-edge research, ignores its own basic data types and has a magic special extension to handle the special magic values returned by several fundamental arithmetic functions. Great.

Day 257, drawers, lisp

Friday, 8/16/2019

Started again with an early run. Then I went out in the car to the hardware store. I wanted supplies for two projects.

The first is cleaning my carpet. I had a little coffee disaster Thursday morning: set a fresh cup down without looking, and it caught the edge of the table and tilted onto the floor. I wiped and sponged it up with many paper towels but it left a pale brown mark in the carpet.

This is not a major issue because I move out in two weeks, and when I come back in January, the floor in the living room will be wood-grain vinyl laminate, not carpet (and the carpet in the bedroom will be new). It’s a minor issue because I’ve got visitors coming Sunday and would like to not be embarrassed by a coffee stain on my carpet.

Thursday is cleaning day and Wanda, my housekeeper, worked on it and improved it some. But today I wanted to get some stain-removing carpet product and do some more cleaning. The reason I took the car is that I didn’t think the hardware store would have that, and wanted the option of going on to another store. In fact they had a spray that promises to remove “…coffee…” and many other stains. On return I applied it and it had some effect. I’ll do some more tomorrow.

The other project is the drawer project. I bought some 220 sandpaper, a couple of cheap sponge brushes, and a can of clear satin finish Varathane. I took two drawers, one shallow and one deep, down to the residents’ workshop. I dug around and found a nice little orbital sander and it took half an hour to sand the insides of the two drawers and vacuum up the sawdust neatly. Then I applied one coat of Varathane to the insides. This was the first time I’ve used the type of disposable brush that is basically a gray sponge on a stick. It works pretty well. It holds and releases paint differently from a hair brush but it did the job.

Later in the day I went back and brought the two drawers up. The varnish is hard to the touch but a little soft to a fingernail, so I don’t dare put anything in the drawer until it has dried further. But they look better and smell better than before for sure.

In the afternoon I spent two hours working through a couple of chapters of the Lisp tutorial. The basics of Lisp are radically simple; it is famous for having brutally simple syntax. But there are many subtle surprises and the tutorial I’m using (as I said, the least bad of the ones I’ve sampled) does nothing to help the beginner. It’s quite annoying, to a person who has written tutorials, to be the victim of these pedagogical oversights. They’ll drop in some item that they haven’t defined and don’t explain, and I’m saying, “Wait, what? Where did that come from?” and then I go and google around and check the couple of other references I have open in browser tabs, and work out what is going on. And say, “Why did you drop that on me now, and why didn’t you explain it when you did?” OK, example. Lisp syntax is simple and regular. Everything is expressed as open-paren, function, arguments, close-paren. Add: (+ 3 5) evaluates to 8. Compare: (> 9 1) evaluates to T. Divide: (/ 5.5 2) evaluates to 2.75.  There is no expression syntax like in other languages — I thought. Then I meet this in the section on comparisons, where they tell me to try

(= 3/1 6/2)
T

Wait, what? What the hell is that? Lisp doesn’t do expressions with infix operators! It took me 45 minutes of searching different sources to work out that an “atom” of the form two integers with a slash (no spaces) is a special class of number called a “ratio”. It makes excellent sense once you understand it; it allows Lisp to retain values like 10/3 with full accuracy, where in other languages it would be evaluated to a floating point 3.33333… with the inevitable loss of accuracy that entails.

But the tutorial just started using these ratio numbers without introducing them, with no discussion or explanation. They had talked about “basic data types” early on and never even hinted there was anything beyond numbers, strings, and lists of those. Just terrible pedagogy.

Day 256, docent, Yosemite, supper

Thursday, 8/15/2019

Starting a long busy day I didn’t exercise, but had breakfast in the dining room. On Monday I had seen an email from the museum about a private tour Thursday morning that needed covering. On Tuesday I had checked and it still wasn’t covered, so I reluctantly decided to do that tour and join the archival crew after lunch. So I left at quarter to ten for the museum where I met with a nice group of a dozen high school students in some kind of Stanford summer program. They paid attention pretty well, and Pat came in entirely of his own volition and gave them a 1401 demo, which they loved, as everyone does.

Drove to Yosemite where Aurora was trying to get people trained in her grand plan (see Day 242). Unfortunately there were not enough laptops to get everyone working, and I and Toni ended up sitting around at loose ends. So I left early.

In today’s mail: the replacement checks from Schwab, that I only ordered two days ago. Way to go, Schwab!

I had been invited to supper by a couple, Mary and Andrew. Turned out they had also invited Lily and her sister (name forgotten), both residents but living on different floors, and Michael, the “newer new guy” who came in last month. Lily is vivacious and talkative, and promoting her harmonica playing group and wants me to help her get her book of daily meditations online as an ebook. She’ll be my neighbor when I move to the 4th floor. There was some talk also of my book, in which people expressed interest.

Michael indicated although not in any detail that he was a recent widower; some remark about “this last year has been such turmoil” or such words. And there was some talk about how hard it is for everyone when they are trying to downsize. I didn’t contribute to that although I certainly agree.

In the evening I joined an audience of 50 or so in the auditorium to view a documentary on the life of Judy Garland.

 

Day 255, lost to posterity almost

Wednesday, 8/14/2019

This was the first day so far where I completely failed to do a blog post. Not even remembering to do one in the morning of the next day, as I’ve sometimes done. Well, now it was 30. hours ago, what did I do?

Went for a run, I remember that, starting early, around 7:30, because the forecast was for heat and indeed it was already warm by the time I returned. About 10am I left for my haircut, the appointment I had flaked out on last Wednesday. From there to FOPAL to cull and price and shelve computer books, and then to sort for three hours.

At some point along there, I got a text from Chuck saying the buyers had indeed opened an escrow with that $81K nonrefundable deposit. Back home I found my new key to the workshop in my mailbox. I’ll put that to use on Friday, I think.

I believe I ate supper at Rosina’s table. There we go, timeline patched up.

Day 254, quiet day

Tuesday, 8/13/2019

Started by driving to the Y for a little exercise. On the way back I stopped at Tasso street, where I found the cleaning crew at work. My only reason was to check on the oval mirrors. Back when we remodeled the bathroom in 1974, the wash basin was built into a custom triangular vanity in the corner. Rather that putting up conventional sheet mirrors making a right-angled box of mirrored wall, we (with some trouble) managed to find large oval mirrors for the two walls above the basin.g901p20220marian201989-m

Here’s a picture from 1989, showing the mirror on the right. There’s a matching one on the left. So during the current work the painters had taken the mirrors down, and I wanted to reassure myself they were still around. They are, stored in the walk-in closet in the back. However the painters removed the hooks they were hung on, and patched the wall. So new hooks have to be put up to re-hang them.

I let Chuck know about this, in case the buyers asked, how are we supposed to comb our hair, then?

The rest of the day was pretty quiet. I spent about three hours collecting links to a variety of online Lisp based ebooks. I sat down with my Lisp IDE and worked through the first chapter of one tutorial, and then of another, trying to judge which was the better. Neither is good, but the worse one, unfortunately, is by a fellow author on the Leanpub platform. Ya know, I’ve written a few user manuals, including tutorials, plus done a little bit of programming, so I can tell when I’m in the hands of somebody who understands the material and knows how to present it. I haven’t found a really good Lisp intro book yet, but so far the Lisp Primer by Colin Allen and Maneesh Dhagat is the least bad one I’ve found.

I also ordered replacement checks from Schwab; their reorder function was back and worked smoothly. And paid a bill and watched some TV. For supper I looked at the offerings in the dining room and decided they were boring, so had a meal replacement shake in my room, capping off a quite hermit-like day.

Day 253, FOPAL, drawer, finance, HOUSE SOLD

Monday, 8/12/2019

Started the day with a run. Then by 9:30 I was at FOPAL to do the post-sale cleanup of my Computer section. This involves looking at every book in the section. If it has been up for three or more sale days, and its last price was $2 or $3, I give up on it and send it to the bargain room. Otherwise I consider reducing the price, pencil in the new price, and reshelve it back to its proper section. I sent three boxes of books away. This took a couple of hours.

I headed back and actually parked in the garage when I remembered that I had meant to go to the house and mark some things so when the guy came to haul the trash away, they wouldn’t go. Oh sigh. Back into the car and started back for Tasso street, when I got a call from Chuck. We talked about the details of prepping for the open house. Everything was going well. I told him about wanting to save a few items and how I would put them in the back of the garage. He said, maybe save the valances, too. All the windows had somewhat old-fashioned wooden valances. The painters had taken them down and tossed them, with the drapes still attached, in the garage. OK.

So I went to the house and moved the valances (but not the drapes; the fabric is old and not worth saving) plus a few other things a new owner might find useful, back of the green tape line in the garage that I had put down to protect stuff I didn’t want sold, a few weeks ago. Eric the painter was just finishing up the job of power-washing the brick walkway.

Back home I had lunch and killed a little time, and then met with Bert to be initiated into the ways of the

Residents’ Shop.

There are actually two shop rooms. One is very well equipped with a band saw, table saw, planer, and lots of other tools. The second, used for messier work, also has tools and a large bench. I had to sign a couple of waivers, so if I cut off a finger, it’s on me not Channing House. The point of all this was so that I can begin the process of refinishing those drawers. Bert has to have a copy of the shop key made for me. When I get it, I will start on that, probably Friday.

Next was to sit down with Terri in

Accounting.

We went over the rather puzzling and confusing sequence of payments from me to Channing House over the prior four months. At times they had drawn money by electronic funds transfer (EFT) from the Schwab account from which they’d drawn my initial buy-in. Other times, I had sent them checks via the SFCU bill-pay mechanism. With the result that we were both out of sync, and sometimes I was ahead by a credit and sometimes behind.

We agreed that in future, they would always draw the full monthly bill by EFT, and I would ensure that there were funds in the Schwab account to cover that. They do the EFT draw on the 10th of the month, and I will plan on that going forward.

In prior days I’d been noticing my

front door

was binding, and not wanting to close. I thought casually that it was just the frame warping or a hinge loose, but today it wouldn’t close at all and I realized the cause was the the hasp (or whatever you call the sticky-outy part of the lock that engages the frame) was jammed half-way and wouldn’t retract. And the knob wouldn’t turn either way. So I notified Facilities and a guy came up around 3 to work on it. He replaced the mechanism so it works, but he also noticed that the hasp didn’t properly engage the striker plate. It was a little too high, and you could see where some prior facilities guy had cut away metal to make the hole taller. He just removed the striker plate. The hasp now engages with the square hole in the metal door frame.

The door will be completely replaced as part of the upgrade, so that temporary fix is good enough.

About 5pm I got a call from Chuck. The agent who had been bugging him to say what our asking price was, wanted to present

a firm offer,

that is, one with no contingencies. Chuck said it was odd that there would be no contingencies since, a, they hadn’t seen the house, and b, they hadn’t received all the 50 pages of disclosure documents (inspections, termite report, seller’s declarations). We discussed the options. I could decline to look at it, saying just come on Friday and present it then. Ended up, Chuck called her back and insisted that he would send her the disclosures and she would return the standard form saying her client had indeed seen them all.

He called back a bit later to say, the buyer (a couple, the husband works at Facebook) had indeed seen the house: they had come to the estate sale last month, and looked it over very carefully then! (Later I texted Deborah about it, and she said, oh yes, I remember, I gave them Chuck’s number.) And now they have seen all the disclosures, they still want to go ahead with no contingencies, they are pre-approved for financing, and they want to close escrow in 15 days (unusually short). And the offer is $2.7M, which is $0.2M above the asking and just about enough that I will come out of escrow with my target net proceeds, or nearly.

Let’s do it! This was 5:30pm. We agreed I’d come to Chuck’s office at 6:15, which I did. We sat around waiting for papers to arrive by email and be printed. The offer had a clerical error and he had to call the other agent and have her send a corrected page. Then I initialed all the pages of the offer (it’s a very lengthy document) and sign it, and that got sent back to the other agent. When she texted that she had received it, we had a contract.

The buyer is obligated to purchase with no contingencies (no additional inspections, no hold-backs for work to be done), and if for any reason they don’t close escrow in the promised 15 days, their initial $81,000 deposit is mine to keep. So that’s a serious deal.

We’re going to go ahead with the cleaning (Chuck has a cleaning company already scheduled for tomorrow) and with the garbage-hauling; and I will let Richard come as scheduled to finish the mulch and tidy the plants on Thursday. But Chuck texted Amy to let her know, do NOT load up your truck with furniture tomorrow as scheduled, the staging is off!

I’d already paid Amy’s company in advance for the staging. Presumably I’ll get that money back, or at least most of it. I can imagine them wanting to keep some for their trouble and time spent planning.

But wow. House is sold! Probably. I won’t actually celebrate until the escrow actually closes. That would be on or before the 28th of this month.

Day 252, desk work, Lamplighters, Lisp

Sunday, 8/11/2019

Walked up to Verve for coffee. On return, I made a list of things that had been kicking around in the back of my mind as needing-to-do. Note this is something of a change from the first few months. From Day 1 to around Day 200, I was making detailed to-do lists almost compulsively. I knew I was being a little bit compulsive about them; see remarks earlier, on anxiety owing to not having Marian as my co-pilot. On the other hand, there was actually a metric shit-ton of stuff that I needed to do back then. For the last month-plus, I’ve been able to rely on the Google calendar to keep track of where I need to be and when; and I’ve been able to handle the routine busy-work of life pretty much ad-hoc.

But things had stacked up a bit and would come to mind when I awoke at 3am or 4am, and make it hard to go back to sleep. So I made the list and tackled it.

One item, which I should have thought of much, much earlier, was to order new checks. The current checkbooks, one from the credit union and for Schwab, have Marian’s name and the Tasso address. In the “stationery and postage” drawer I found boxes with about ten books of checks for each account. I got online with SFCU; their site makes it easy, even pleasant, to order new checks, customizing the names and addresses simply. Schwab should have been as easy, and may actually be, however it was a “service temporarily unavailable, try again” from them. C.H. very conveniently provides a box for documents to be shredded on each floor, so I put the extra checkbooks in there.

Another was to follow up on the travel insurance for the canceled Road Scholar trip. Remember how I realized too late that I wanted to reschedule that trip, so it had to be treated as a cancellation and a rebooking, and RoadScholar kept half the fee as a penalty. I’d bought travel insurance, and submitted a claim to get that $3500 back, weeks ago. What has happened? I didn’t know, and this would inevitably pop up in my mind at the afore-mentioned 3am awakenings. So. Follow the link from the email, and… my claim is “being processed”. At least it hasn’t been rejected.

I paid a couple of bills. Later, in the afternoon, I made a small spreadsheet listing all the charges shown on the Channing House invoices I’ve received so far, and all the payments I’ve made. I’m scheduled to talk to Terri in accounting about this tomorrow, and now I have my numbers all lined up so I can explain what bothers me. More on that after I see her.

Another item is my drawers. No, not my drawers, my closets’ drawers. They are old, they are of wood which is unlined, unsealed, and unfinished, and they have a persistent musty odor of oldness. I’ve been pondering what to do about this, and I finally figured out that what I might do is to access the C.H. Resident’s workshop, and use a power sander to sand the interiors (hopefully removing the odor) and spray them with either a sealer or a varnish. To get access, one calls Bert, the guy who seems to be in charge of everything technical around here. So I did and we have a date to meet Monday. I guess he’ll evaluate whether I’m safe with power tools?

At 12:30 I headed out. I stopped first at the FOPAL sale for five minutes, just to make sure my section was still in order, and it was. Then I continued down to the Mountain View Center for the Performing Arts to see the Lamplighters’ production of

HMS Pinafore.

I had bought two tickets for this a week ago, and invited Dennis to join me, but he wasn’t free. So then I asked sister-in-law Jean to join me and she was happy to.

Must say, HMS Pinafore is a very very silly play. I mean seriously. The resolution at the end, which gets everybody married happily, also implies that all three of the happy couples have an age difference of at least 18 years, more like 20. But the production was smooth and the soprano playing Josephine was especially good. The MVCPA auditorium is a handsome place but I didn’t think the acoustics were good, at least, not at the back of the balcony where we were. The orchestra seemed thin and distant. It was a very good thing that they projected the song lyrics above the stage. When you knew what the singers were saying, it was perfectly clear, but a couple of times I deliberately did not read the lyrics ahead and I could not follow all the words. (Worth noting that the Lamplighters are old-school, they don’t use mics or amplification for voices.)

Jean then was pleased to treat me to pizza at a local restaurant; we exchanged stories of our aches and pains, and that was the afternoon.

Yesterday and today I worked at getting set up to learn me some

Lisp.

It’s a different programming language, second oldest only to Fortran, and a different paradigm from the procedural languages in which I’ve written so many KLoC (thousand lines of code). What started this was linking to a list of influential books for programmers by the great Alan Kay. The first book he praised was the Lisp 1.5 Programmer’s Guide, which was formative in his education. That book, although still in print from MIT Press, is out of date for the current form of the language, but I thought, ok, how about I get into this a little bit, read an online tutorial, do a little fun programming.

Which of course, was the opening of a deep, dark internet rabbit-hole. Over several hours of browsing I’ve located some good resources, skimmed some tutorials, and installed three different Lisp implementations. One thing I can conclude is that, unlike Python, Ruby, C or practically any other modern language, the available Lisp implementations are absolutely shit-awful as learning environments. Gracious, but they are beginner-hostile. I’ve used many interpreters (helped write one), and never saw such an impenetrable thicket for the starting user. I have now found a just-tolerable interactive development environment (the free version of LispWorks), but its Mac OS version is so out of date, it makes Mac OS pop up that dialog about “won’t work with future versions, contact the developer” — which tells you they haven’t built a new version in over five years.

Anyway, after several hours of very testy and frustrating hours of exploring I believe I am set up to start walking through a tutorial (of which I’ve found several decent ones) and executing code.