FI Learning

For learning with practice. Posts are not private and could end up on Bing.

😊 The Little Schemer

The Little Schemer
by Daniel P. Friedman and Matthias Felleisen

Thank you, Justin, for telling me about this book. I read Chapter 1 and I like it. It was good practice to go through the chapter.

Two comments:

1. From the Preface:

We do not give any formal definitions in this book. We believe that you can form your own definitions and will thus remember them and understand them better than if we had written each one for you.

After going through Chapter 1, I wrote out my own definitions of the terms in the chapter, based on what they said. I found that a good exercise.

2. The book wrote:

How many S-expressions are in the list
(how are you doing so far)
and what are they?

Justin wrote:

I thought maybe six but considered that it might be a bit of a trick and they might count the list itself as a seventh S-expression, so i was unsure.

I wondered about that also. I think the key is the “in the list” part. The same thing applies to this later question:

How many S-expressions are in the list
(((how) are) ((you) (doing so)) far)
and what are they?

They don’t want you to count the whole list and they don’t want you to count sub-lists. They want to know how many elements the given list has. (3)
Justin Mallone 🙂

Comments & Events

Anne B


Hey this is kinda like mutual recursion.

That part confused me. They don't mean that you could use both those definitions at once, do they?
Justin Mallone
Hmm looking back I'm not sure I have a clear idea of the connection to mutual recursion that I had in mind. I'll strike that text out and put up a note or something.
Anne B
Oh. I see my wording was ambiguous. The part that confused me was how the book wanted us to write each definition using the other. I was not confused by what you wrote.
Justin Mallone
oh. to be clear, the mutual recursion think was my mental connection, not the book's
Justin Mallone
btw let me know what you think about the videos i am making if u watch them
Anne B
I just finished Chapter 5, so I haven't watched them yet. I'll let you know what I think when I get to them.
Justin Mallone
k cool. I'm working on Chapter 8. the video for that one will be way longer than the others.
Anne B
I finished Chapter 7 of The Little Schemer. 

I’m starting to like how they have us do a whole lot of short, similar programs. There’s some small change in each one from what we’ve done before.

They have us use `cond` each time, even when it’s not needed, which is strange, but I think they do it to keep the programs more the same as each other. They don’t want us to think about too many new things at once.
Anne B

I don’t have any comments about the content.

But it got me thinking that I might want to make a video of myself doing a problem. I went through some of the same thoughts that Justin said in the video, but I didn’t say them or write them down. It might help me to do that. It would be good practice in saying things out loud.

Making a video would make it harder for me to lie to myself about how well I understand things.

Making a video might help me analyze my learning process. I think I’d see some things I could improve.

I’ll probably be extra worried about saying something stupid, so I might plan not to share my videos with anyone at first, to get used to the process and see how it goes.

I downloaded OBS Studio, which is for making screencasts. I started to get it set up. I’ve never used this kind of program before.
Justin Mallone
FYI AnneB you may want to check out this app as well. https://getrecut.com/
Anne B 👍
Anne B
I made a video of myself doing the beginning of Chapter 8.

Technical thoughts:
  • The first part of the video came out fine. I was able to get the stuff I wanted to show up on the screen. The sound was clear. But in the middle of the video the sound starting cutting in and out and eventually just stayed out. I will try to figure out why it did that.
  • I wondered if there was a way to pause in the middle of making a video. I figured it out after I had made my video. I want to try doing that sometime.


Content thoughts:
  • I wasn’t sure how much to talk and how much to stay silent while I was thinking about something. I didn’t want to talk just for the sake of filling the space, but I also wanted to show my thinking process. 
  • I had forgotten that their “rember” procedure removed only the first instance of something and I assumed it removed all instances. I should have thought that it could be done either way and then looked it up when I wasn’t sure which it was.
  • I got mixed up about what they meant by “function”. All along, they’ve been using “function” to refer to the procedures that we’re writing that do things. Then, in Chapter 7, they used it that way and also talked about a function being a list of pairs. We wrote a function called “fun?”, which says whether a list of pairs is a function. In this chapter (8), I remembered the stuff about a function being a list of pairs and thought that’s what they meant when really they meant a procedure. When I did Chapter 7, I should have noticed that they were using the word “function” in two different ways and gotten it clear in my mind then.
  • The two previous points are both cases where something could have been interpreted more than one way and I only thought of one of the ways and didn’t think further.

I plan to make another video sometime.
Justin Mallone

  • I wondered if there was a way to pause in the middle of making a video. I figured it out after I had made my video. I want to try doing that sometime.

I wound up looking this up for OBS after reading this.

It was pretty non-obvious to me that the solution would be

1) switch to advanced mode under Settings/Output
2) go to the Recording tab under Settings/Output and switch Encoder to anything other than "(Use stream encoder)"
3) pause button will magically appear next to Stop Recording button when you're recording



Oh and you can set up a hotkey for it in the Hotkeys tab

Justin Mallone

  • I wasn’t sure how much to talk and how much to stay silent while I was thinking about something. I didn’t want to talk just for the sake of filling the space, but I also wanted to show my thinking process.

If you decide you want to publish your vids, I'd recommend learning how to use some kinda tool that does automatic silence removal from videos, like Recut, Descript, or Reaper, so that you don't have to worry about having a bunch of dead air and can just talk how much you want.

BTW Recut has its own screen recorder. So does Descript, but because of their billing structure it's not suitable for removing a bunch of silence from really long, mostly quiet videos.
Justin Mallone
Another solution to dead air for videos you wanna publish btw, and what i've used before, is doing a bunch of pausing and unpausing of the recording. That requires more manual attention, though, and you definitely wanna set up shortcut keys for that approach!
Justin Mallone
You also want to make sure there is some clear indicator on screen if the recording is live if you're going to do the pause/unpause a bunch approach. Easy to lose track of that and lose content
Anne B

Justin wrote:
I wound up looking this up for OBS after reading this. 

It was pretty non-obvious to me that the solution would be 

1) switch to advanced mode under Settings/Output 
2) go to the Recording tab under Settings/Output and switch Encoder to anything other than "(Use stream encoder)" 
3) pause button will magically appear next to Stop Recording button when you're recording 

That's interesting because I didn't do any of that stuff and my Pause button was there anyway, next to the Stop Recording button. I just hadn't realized where it was when I did the first video.

When you click the Pause button, it doesn't change. But the red circle at the bottom of that section that indicates you are recording changes to a pause symbol. Now that I see that, I know how to tell if I'm paused or not.

I just did a very short test video and the pausing worked fine and the sound was fine. Maybe the sound problem last time was due to my ear piece needing to be charged? I'll see if that problem happens again.

And thanks for the other tips.

[edit was to adjust formatting]
Anne B

I wrote:
The two previous points are both cases where something could have been interpreted more than one way and I only thought of one of the ways and didn’t think further.

I did not see this until after I’d written up my thoughts and then left my draft for a few hours. So there was value for me in thinking about how I had done in the session and writing it up and thinking about it some more.
Anne B
I made a few more videos, 6 in total.

I couldn't get the sound to work right with that earpiece/mic thing, so I ended up using the computer's mic for sound. A drawback to that is that I had to speak at a conversational volume to get my voice to come through clearly. With the earpiece, I could talk as if talking to myself and it was clear on the video.

I'm going to stop making videos for now. However, I will use something I did as a result of making the videos, which was to go back over each learning session and think about things like what I did in that session, what problems I ran into, how I could have done better, if there are patterns in my mistakes, what questions I still have. I might sometimes talk to myself as I do the learning--maybe that helped me do things more deliberately or consciously.
Anne B
I also noticed that I was more focused on The Little Schemer work while making a video. It gave me a reason not to interrupt to do something else.