Day 267, run, relief, bridge, shot, FOPAL, realty, dinner, outage

Monday, 8/26/2019

First thing in the day I went for a run. A bit over 30 minutes of jogging, and it felt good. Not just ok, actually good.

I was scheduled to play bridge starting at 10. I was showered and dressed by 9am so I sat down to face my fears, or at least, my discomfort: dealing with the rejection of that

Road Scholar (RS) insurance claim.

To recap, I had scheduled a tour starting September 6. Later I realized that was the day I had to transition to my temporary apartment for the upgrade, and also that the house sale might push toward that date. So I re-booked the tour for 9/28, but unfortunately did this just too late for it to be free. Instead, RS gave me half credit for the later tour and I had to pay the additional half, about $3200. So I filed a claim with the trip insurance I’d bought, and a couple days ago, got the rejection of that claim — even though I thought I had been covered by the RS “for any reason” cancellation policy.

Now I went deeper into the RS website and found that the “for any reason” clause is not part of the insurance policy, so the insurer is not required to approve the claim on that basis, only on the allowed reasons in the policy. The clause is a Road Scholar policy that applies to clients when they have bought a trip insurance policy at the time of booking the trip. The policy is, if you cancel a trip “for any reason” and the insurance doesn’t apply, they give you the value of the unpaid claim as a credit, under the small restriction it can only be used to book a different trip.

When I understood this, I called RS and a cheerful customer service rep looked up my account and confirmed that, yes, they did show a $3200 credit that I could use against any other RS trip in the next 15 months. OK. Done. I’m pretty sure I will want another RS trip sometime in 2020, so… ok.

This was a big emotional relief for me. I had been dreading trying to protest the insurance claim via email, finding documents to bolster my case, etc. That’s all off the table, I won’t lose the money and I don’t have to do any more to save it. So I went off

to play Bridge

with a light heart. Craig is a serious bridge player and, since we were bottom pair last time I partnered him, he wanted to meet before the scheduled 10:30 start so we could go over our convention card. There have been a number of small changes and tweaks since Marian and I studied bridge techniques.

Craig’s group plays tournament style bridge, with pre-made hands in “boards” that are played by all tables, with your standing at the end depending on whether on at least a few hands you did better (e.g. an overtrick) or worse (e.g. going down on a game contract) than the people at the other table. Table singular since we only had eight players, two tables.

Almost to lunch time one of the other players announced he didn’t feel well, and went off to the Wellness Wing to get looked at. So we went early to lunch and Craig scared up another player, Ruth. She was glad to join us because it was her move-out day, and she had been looking at a boring day sitting in a guest unit while the contents of her unit were moved.

We finished the last board about 2:40. (That evening I got Craig’s results email; he and I were once again bottom pair of the four. I am just not that good a bridge player to do the tournament game. I wouldn’t mind playing casual bridge, but there are currently no casual games being organized, although I understand there are couples who meet to play regularly in their private units. I can do one of two things: play a lot in some of the many online bridge games and try to get better; or perhaps organize my own casual game. Or forget bridge. TBS.) So now off to

my Shingles shot.

Multiple people have independently recommended that I get a Shingles booster. The previous Herpes Zoster vaccine has proved ineffective, and there’s a new one. I got an email from PAMF telling me that a limited supply of the new vaccine was available and recommending I book for one, which I did last weekend, for 3:15pm today. Then Craig asked me to play bridge; but I was pretty sure I could get to the Los Altos location by 3:15 after bridge, and so it turned out.

The list of possible side-effects for the new vaccine that I had to sign is pretty long and has some really dire symptoms. Most common is arm pain and possibly a slight fever.

From there I went to FOPAL to clean up the Computer section. It was a typical haul, four boxes sent to the bargain room, about 30 books priced and shelved. While I was there I got a call from Chuck. The escrow will pretty surely be closing tomorrow, and he wanted to request a favor. He’s had a good year, and would like to defer the receipt of his commission on my sale to 2020, when possibly conditions won’t be as good and his taxes would be lower.

I guess this is OK, although it does mean that I would receive the amount of his commission as part of my receipts out of escrow, and would sign a no-interest promissory note to him — I think? It’s a tax dodge, but as long as my hands will be clean, I don’t mind doing him this favor. I called my financial people, and everybody was in meetings or out of the office, so I left a voice mail for Howard. Who unfortunately didn’t call me back. So I headed back to CH for

Patti’s Farewell Dinner

Patti had invited me, Craig and Diane, Jerry and Betty, and Gwen, to join her to celebrate the eve of her move-out to a different floor. People have various reactions to moving. Me, I’ve only been here 2 months. I don’t mind the move. I really like my unit with its Eastern view and floods of light all day, and will be very happy to get back to it next January. But I’ve got no big emotional investment in it. Others, like Patti, feel like it’s an exile; she’s concerned about her plants and other items, and feels like she’s being separated from her friends.

So after I’d returned to my room and was browsing Reddit about 8pm, a goose (as I learned next morning) flew into some power lines nearby and blacked out the middle of downtown Palo Alto. People took this pretty easily. No running and shouting. There was, I think, someone trapped in an elevator; at least, I heard the elevator alarm bell being rung. Don’t know how that was resolved.

I went to bed at 8:30, and woke up at 9:30 when the lights came on again. Turned them off, went back to bed.

Day 266, coffee, art fest, supper

Sunday, 8/25/2019

Coffee this morning at Mlle. Collette, who definitely have the best pastries. Walking across to there I was reminded that University avenue is closed off for the Palo Alto arts and crafts fair. I returned to that about 11am and walked the whole thing.

The first couple of blocks of this were somewhat emotional. Practically the only other times I’ve walked an arts festival I’d done it with Marian. And this time, of course, I was seeing things that she would have stopped for. A purple blouse, she’d have checked that out; every jewelry stand she’d have stopped to look over the earrings. So it was a bit sniffly walking along. But in a nice way, I guess.

I was taken with some hand-woven wool blankets. My one and only blanket is very utilitarian. I bought it at Bed Bath and Beyond and basically picked one that was the right size and not ugly; but it’s plain and the fabric isn’t friendly to the hand. So at the end of my circuit I looped back to that stall and bought one. Back home I remade the bed with it and it looks very nice.

I also found a cheap broom and dustpan combo at Walgreen’s. I needed that mostly to sweep up the debris from repotting the wax plant yesterday, and in general to keep the balcony tidy.

I’ve been thinking about the tour I’m going on in just a month from now, and thinking how and what to pack. I think it is likely I can get everything I need into a single carry-on bag, not even my roller bag but a smaller one that fits under the seat. I also thought about what I wanted in my pockets, and the answer was: nothing. I don’t want to lose my phone, passport, and/or credit card to a pickpocket. Then I remembered that I still own a “man purse”, a nice leather cross-body bag about 6×9. I will carry passport, credit card and phone in that, clamped under my elbow; nothing in my pockets.

But what about clothes? The Road Scholar pamphlet actually advises having a few quick-dry garments and hand-washing them in hotel sinks. If I do that, I only need, besides what’s on my body, maybe three pairs of shorts, three of socks, two shirts, and a second pair of pants. Plus a jacket. Which all fits in that small bag.

But I don’t have any quick-dry pants. Mostly I have jeans. I don’t want to put my new slacks to this kind of rough treatment. So I sat down and poked around internet retailers and ordered a couple of easy-care chinos from Eddie Bauer.

About 4pm I drove to San Jose to meet with Dennis and Toni for supper at their favorite weekend restaurant, the Black Sheep in the Willow Glen area. Nice supper and conversation. Dennis is a great fan of the Celtic Games which are next weekend, and I’ll probably join him there on the Sunday.

They also reminded me of the upcoming wedding of daughter Denise, which reminded me I need to make some kind of wedding gift. So when I got home I looked up their registry; a very practical couple, they are registered with Crate and Barrel and Target. I bought one item off their list, a camping tent.

So between the packing and the pants and the wedding gift that was a bunch of niggling frets off my mind, with not even the satisfaction of a to-do list to check off.

Day 265, Docent, Lisp

Saturday, 8/24/2019

I was chillin’ and killin’ time before my 11am departure for the museum when I remembered, oh, I should check the plants, maybe they need water. Stepped out on the deck and discovered that the plant stand holding the hanging pot for one of the wax plants had at some time fallen over, the pot shattered, and the plant, now a naked root ball, was looking water-stressed, not surprisingly.

Fortunately I had a spare pot and a bag of soil, so in a rather frantic ten minutes I got the plant re-established in a pot with dirt and water. All this while successfully keeping my white slacks clean. (This morning I noticed the plant was looking ok, and also that both the wax plants were putting out buds, they’re going to bloom again. They already bloomed prolifically back in — May? I remember they had just finished blooming before I moved to Channing House in June.)

Anyway I arrived at the Museum in plenty of time for my docent tour. I had a good sized group, 25 or so at the start, at least 15 still with me at the end.

There was an annoyance: I don’t recall if I mentioned about this dude who runs private tours. He’s big, looks Irish (sparse reddish hair, florid complexion), and appears to do a decent job of guiding small parties of 2-4 people through the museum. Unfortunately he seems to always be starting his tours just before 12 when I start my Saturday tour. So I catch up with him, lead my group through his, then he catches up and is there talking to his group on the fringes of my group. Today I twice turned up my little amp and deliberately talked over him. I’ve previously complained to Jesse, the floor manager, who said he would speak to the guy. We have no problem with people leading private tours. But it’s no bleepin’ secret that the official tours start at 12 and 2. If he’d just schedule for half an hour before or after, there’d be no problem. I sent an email to Jesse complaining. We’ll see.

Back home I spent some time with Lisp. I have finally found a decent tutorial book! It is Common Lisp: A gentle introduction to symbolic computation by David Touretzky. I’m using the free online version; an updated version is available on Amazon. This guy knows how to introduce a complex subject! He takes it from the most basic fundamentals and builds concepts step by logical step, at every step showing the why of each idea, not just the what. It’s a model of good pedagogy, and I say that as a professional writer of manuals.

Part of the fun of Lisp is seeing the ancient roots of the language. It was first implemented on an IBM 704, a vacuum-tube computer, and features of that first implementation are still fundamental to the semantics of the language. Touretzky makes that clear, where none of the other tutorials I’ve seen did. None of the others made the very important connection between the way lists are laid out in memory and the way the language primitives work, and so forth.

Day 264, FOPAL, Road Scholar

Friday, 8/23/2019

Wasn’t feeling totally pip-pip in the morning, even a little diarrhea (so–what was in that fancy meal last night?) so while I started out for a run, I turned it into a brisk walk for the latter half.

I had to skip my usual Wednesday stint at FOPAL this week, so instead I went there today, working from 10 to 2pm. Quite a few nice new books in the Computer donations, for a change; ones I could price at $10 and above. Then I sorted like a champ for three hours.

Back home, I made new shelf labels for the Computer section. When I took it over, I arranged it into interest groups, and made labels for the edges of the shelves. The hope is that somebody scanning the shelves will see “A.I. and Machine Learning” and think, oh, right, I’m interested in that, and browse the 20 or so books in that group. Where if books were sorted by author, or just unsorted as before, they might never find the book they are willing to buy.

The shelf labels I made two months ago are looking a little tatty, and also I thought they could be bolder, so I made new ones, scaled up a couple of points and in bold italic. When next I go down there (Monday?) I will put them up.

Before going in to supper, I checked my mailbox and found an envelope from Aon, the trip insurance provider for Road Scholar. In it, a denial of my claim for that rescheduled trip. I think they’re wrong, and I will try one time to get it reversed. Betty and Jerry invited me to sit with them, and we had a nice chat. I’m not happy with the old closets in my unit, even after sanding and sealing the drawers. So I asked about what they’d done. They told me a lot, and then we went up and they showed me what they’d done. Basically they had the old drawer and clothes rod structures completely gutted, and replaced them with a system of suspended hangars and drawers they’d bought through The Container Store. It isn’t quite what I would want, but I get the deal now. However, chances are this can’t be done during the coming upgrade. Next January I will probably pay for a remodel of my closets.

 

Day 263, Shustek, dinner

Thursday, 8/22/2019

In the morning I did a fifteen-minute workout based on a couple of online tutorials. It was enough to bring up a sweat and addresses my main concerns about core strength. I’ll keep adding to it over time.

Then I brought up the three drawers from the woodshop and put them back. Five of nine drawers refinished inside, and I’m not sure if I’ll bother with the remaining four, as I don’t use them much.

Off to a day at Shustek. Toni and I worked all day cataloging more of the collected donation of the Mother of Multimedia at Apple (Day 235).

Back to C.H. at 4:30, just time to change into my new blazer to attend the Sodexo Stop Hunger Dinner. This was a special annual event; I had to sign up and pay $80 in advance. Sodexo (our food contractor) donates the meal, all the money goes to local charities that feed the poor one way or another. The menu was elaborate, five separate courses, all very well presented and attractive to the eye. Flavors, not so great. But pretty to look at.

  • Clear Bloody Mary Consommé (juice of cherry tomatoes with tiny chives and vodka)
  • Ahi Crudo: small slices of almost-raw Ahi with chopped hazelnuts. I really don’t like raw fish so this pretty dish was wasted on me.
  • Arroz Caldo: basically a nice risotto decorated with chives and bits of pork belly
  • Adobo & Gnocchi: five-hour ox-tail braised in ginger and vinegar, with gnocchi made of sweet potatoes. The orange gnocchi were pretty but just a touch leathery; the meat was good.
  • Coconut Lychee Aspic Cake with passion fruit.

So they were really trying. I give them a 9 for imagination and for presentation, and about a 7 for flavor.

Anyway I was invited by Craig to join his table, which included his wife Diane, Kathleen (a different Kathleen from Day 260), Joanne, Connie, the other David, and a guy whose name I didn’t get although I’ve met him once before. Lot of pleasant conversation for about 2 hours, and now I’ve had my quota of socializing for a while.

Day 262, escrow, focus group

Wednesday, 8/21/2019

Started the day with a run; routine. At 10am the Drapery Lady came, as planned, to offer me a choice of materials. I don’t know her name; but she’s the contractor for all the drapery replacements that happen during the upgrade (which must be a fairly juicy contract for her). The point of discussion was my side window, which currently has a rather tatty and partly broken venetian blind and also drapes. She suggested, and I agreed, that both be done away with, and instead I will have a pull-down roller blind made of a beige fabric that allows 10% light penetration. It’s a modern version of the old roller blind. The works are in a neat case at the top of the window, and I think there’s a track down the sides.

I went down to the shop to collect the three drawers I’d varnished, but I decided that the inside bottom surfaces needed one more coat, which I applied, and then left them there.

At 12 I went down and ate a quick lunch, then drove to the Chicago Title office, on El Camino in San Carlos. There I met with Chuck and Andrew, and a very pleasant lady named Victoria walked me through signing about 15 different documents, the key one being my authorizing a transfer of the property deed. Well, the most interesting one was a detailed breakdown of the costs in escrow, with the bottom line of how much will be transferred into my Schwab account on, probably, the 27th.

Back at C.H. I participated in a Fitness Focus Group, a group of residents who’d volunteered to help the staff decide what to do about the gym and the various exercise programs. There was a lot of discussion and the staff people got some useful and constructive ideas. One from me, but I mostly kept quiet. There will be upgrades to the gym and some new equipment purchased. What, exactly, remains to be seen.

A lot of the cost of these things comes from the Heritage Circle, which is a voluntary fund raised and managed by residents. Building improvements, like better windows, new flooring, lighting, cabinets, etc., are paid by Channing House. But apparently things like a new stationary bike are bought with Heritage Circle funds. I haven’t been asked to donate into the Heritage fund but I imagine I will have that opportunity.

Ate supper alone. Back upstairs to research workout tutorials. I am going to begin developing a morning strength routine on my own.

 

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.