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.









Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s