Margaret and I were talking yesterday, as we drove to the Department of Motor Vehicles Office that turned out to be closed to honor State Rutabaga Day, about the metaphor of sounding “like a scratched record” (Margaret reminds me that the metaphor runs, “like a broken record, not a “scratched record”). There’s nothing else that exhibits the same behavior as a scratched record; a scratched or dirty DVD just freezes and staggers, at least in our DVD player. A scratchy CD won’t play, or stutters or hops around. But nothing else repeats the way a scratched record does. Generations to come won’t have an experiential basis for understanding that metaphor (as they may never have heard a phone ring, as opposed to buzzing or chirping or playing the first eight bars from “Oops I Did It Again”).
What brought this to mind was listening to “Eclipse,” the last cut on Dark Side of the Moon (Euan’s listening to it, too). On the copy we heard most often in college — John Markert’s copy — there was a scratch right at the climactic closing bars of the song:
All that is now
All that is gone
All that's to come
and everything under the su-
<scratch!> under the su-
<scratch!> under the su-
<scratch!> under the su-
and so on.
That reminded us that we knew of one other canonical record to which we listened regularly, that had a similar scratch at the end. We were sure it was by the Who, but we couldn’t remember just which song. Today, in the middle of a conversation about something else altogether, I interrupted Margaret to sing,
When I walked in through the door
Thought it was me I was looking for
She was the first song I ever sang
But it stopped as soon as it bega-
<scratch!>bega-
<scratch!>bega-
(That record belonged to John, too.)
And our children will never have that experience, although they’ll probably get sick of hearing us reminisce about it.
Anyone notice that I blog more now that I’m using NetNewsWire?
DRMA: "Pure And Easy" by Pete Townshend; "Oh Happy Day" by the Edwin Hawkins Singers; "Walk on By" by the Stranglers (oh, that’s so good!); "Dixie Chicken" by Little Feat; "God Moving Over the Face of the Waters" by Moby.
I remember...there was always that little moment of anticipation right when you set the needle down, and you would get those first few deeply rich clicks before Paul Weller's guitar screamed the fist few notes of "In the City." And then a few minutes into the song, I would be yelling at my sister because inevitably her dancing would make my turntable skip.
Posted by: Frank at March 27, 2003 09:14 PMWe still get skipping CDs! Not quite the same I realize (this young'un did have a record player growing up) but still something...
Posted by: susie at March 27, 2003 10:33 PMAKMA, you nailed it. There is NOTHING like the scratched LP experience....
although....
remember 8 tracks? How many of you had songs memorized on 8 tracks, including when the track had to change mid-song...the sound fades, you hear the KA-CHUNK of the player changing the track, then the music slowly builds back up to where it left off. Now THERE is a musical experience.
I had an abbreviated 8-track period, because by the time I could afford an 8-track, they were already on the way out. I had Quadrophenia and one album that pride won’t permit me to name — I can’t remember any others. . . .
Posted by: AKMA at March 28, 2003 11:09 AMLet's take a moment to reexamine that. What we've done here is create two variables. The first variable is in the Heap, and we're storing data in it. That's the obvious one. But the second variable is a pointer to the first one, and it exists on the Stack. This variable is the one that's really called favoriteNumber, and it's the one we're working with. It is important to remember that there are now two parts to our simple variable, one of which exists in each world. This kind of division is common is C, but omnipresent in Cocoa. When you start making objects, Cocoa makes them all in the Heap because the Stack isn't big enough to hold them. In Cocoa, you deal with objects through pointers everywhere and are actually forbidden from dealing with them directly.
Posted by: Marmaduke at January 13, 2004 02:35 AMFor this program, it was a bit of overkill. It's a lot of overkill, actually. There's usually no need to store integers in the Heap, unless you're making a whole lot of them. But even in this simpler form, it gives us a little bit more flexibility than we had before, in that we can create and destroy variables as we need, without having to worry about the Stack. It also demonstrates a new variable type, the pointer, which you will use extensively throughout your programming. And it is a pattern that is ubiquitous in Cocoa, so it is a pattern you will need to understand, even though Cocoa makes it much more transparent than it is here.
Posted by: Francis at January 13, 2004 02:35 AMInside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Adrian at January 13, 2004 02:36 AMThe Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.
Posted by: Gerrard at January 13, 2004 10:29 AMSeth Roby graduated in May of 2003 with a double major in English and Computer Science, the Macintosh part of a three-person Macintosh, Linux, and Windows graduating triumvirate.
Posted by: Salamon at January 13, 2004 10:30 AMThe Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.
Posted by: Samuel at January 13, 2004 10:30 AM