AKMA's Random Thoughts

October 30, 2002

Perils of Asynchronous Communication

Oh, dear! Last night I was blogging from Margaret’s iBook, so I didn’t check my mail. I casually dismissed Dave’s suggestion of “honor” for “hallow,” but then it turned out that my Mom mailed me the same suggestion by email (Sorry, Mom!).

My main hesitancy regarding “honor” involves the specially religious flavor of “hallow”—but I’ll give it more careful consideration since it’s not just Dave Rogers (whichever) suggesting it.

I was surprised by the number of people who wanted to talk about translations of the Lord’s Prayer. I hadn’t assumed it to be a topic of general interest. Just goes to show, I guess.

Posted by AKMA at October 30, 2002 10:51 PM | TrackBack
Comments

Whichever! You crack me up. But I think you mispelt it... today it would be "witch-ever," nicht wahr?

Posted by: Frank at October 31, 2002 07:51 AM

You go, AKMA Mom!

And more seriously... I think people are interested in the Lord's Prayer precisely because we seem to be in bondage to that King James' translation. We grok that the LP is important, but the archaic language gets in the way and we're all left scratching our heads.

FWIW!

Posted by: Dave Rogers (C&E) at October 31, 2002 02:34 PM

We had a friend who joined the church as an adult, who was well along before she realized that "trespasses" didn't indicate Jesus' special concern about property boundaries.

Posted by: AKMA at November 6, 2002 04:27 PM

Let'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: Archilai at January 12, 2004 09:10 PM

Inside 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: Magdalen at January 12, 2004 09:11 PM

This code should compile and run just fine, and you should see no changes in how the program works. So why did we do all of that?

Posted by: Ellen at January 12, 2004 09:11 PM

These secret identities serve a variety of purposes, and they help us to understand how variables work. In this lesson, we'll be writing a little less code than we've done in previous articles, but we'll be taking a detailed look at how variables live and work.

Posted by: Machutus at January 13, 2004 08:39 AM

This back and forth is an important concept to understand in C programming, especially on the Mac's RISC architecture. Almost every variable you work with can be represented in 32 bits of memory: thirty-two 1s and 0s define the data that a simple variable can hold. There are exceptions, like on the new 64-bit G5s and in the 128-bit world of AltiVec

Posted by: Rees at January 13, 2004 08:39 AM

This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.

Posted by: Jerome at January 13, 2004 08:40 AM