AKMA's Random Thoughts

November 27, 2002

Escape!

They news they put out was that a snowfall in Chicago had paralyzed air traffic into and out of O’Hare, but the truth of the matter was that I was whisked from the arms of my beloved Margaret (on the pretense of subjecting me to a “random” search of my bag full of discount books from the Society of Biblical Literature conference), to an unmarked office building in an unnamed locale where they pay no rent nor any utility bills, nor need they meet any auditing requirements (not that that differentiates them from any corporation that makes significant campaign contributions).

It was a close-run thing, but through the determined (and in this case, pacific) intervention of the combined wiles of PorridgeBoy and Mike Golby, I have been released from the clutches of Admiral Poindexter’s Total Information Autocracy headquarters. I was blessed indeed to have such loyal friends to plan and execute this elaborate maneuver, and to infiltrate the series of checkpoints and boobytraps that surrounded my undeclared prison. Eric set his insiders mandarin intellect to devise the successful ploy (professional loyalty is one thing, but friendship trumps all cards). My captors were distracted by a peripheral action on the periphery of the compound; Halley had dressed in nondescript, baggy, grimy attire, was cussing, sweating, and belching at the entrance gate (which threw off my captors’ assumption that she was only a girly-girl). Meanwhile, Denise deluged the Feds with motions, writs, liens, petitions, and motions, and Steve Himmer walked Checkers in the fog, valiantly risking the chance that they would sweep him up for anopther canine interrogation). As puzzled minions of the Naval Intelligence felon gathered at the monitor focused on Halley’s behavior, Shelley’s cat and Dorothea’s goth-kitties hacked the security system (these friends would have done it themselves, but Shelley’s on break, and Dorothea had a gaming obligation; moreover, the security system was constructed to foil human intrusion, and hence was no match for the intricate perverseness of feline minds).

As Halley postured and cats hacked, as Denise habeas corpused and PorridgeBoy and Golby marched directly up to the loading dock of the office complex wearing charcoal flannel suits—a tactic that Poindextrine plotters would never have imagined possible—knocked politely at every door, whispered the pass-phrase “We’re here on behalf of G.,” and eventually obtained custody of me by convincing the last guardians that a Greek text of the Epistle of James was actually an elaborately-encoded custody warrant.

I have seen terrible, terrible things. I have been put through innumerable pharmaceutical experiments (some of which, I must admit, I quite liked) and physical torments, all in a furious effort to break through my Dominican meditative mind-control techniques. None broke my placid recitation of “Hail Mary”s, “Our Father”s, and “Glory Be”s.

They never extracted from me the secrets that my interrogators craved. They couldn’t persuade me to reveal precisely why George W. Bush stood to benefit from Doc Searls’s death. They couldn’t make me divulge RageBoy’s pharmacist. They couldn’t make me betray the title of Margaret’s term paper for her “Does God Suffer” seminar (now that I’m free, I’ll stipulate that it’s “Mission: Impassible”).

They will never, ever make me expose the secret of David Weinberger’s inevitable triumph over the corporate forces bent on controlling the Internet; I refused to answer their fiendish inquiry, “if we’re writing ourselves into existence, how does the story come out?”

Posted by AKMA at November 27, 2002 12:50 PM | TrackBack
Comments

Welcome home, O great sage of the nonsensical! Praise be to Allah!

Posted by: Tripp at November 27, 2002 02:09 PM

*wide-eyed with amazement*

So that's what they do all day! I gotta start shutting the office door. Guess you don't need opposable thumbs to work a laptop.

Posted by: Dorothea Salo at November 27, 2002 07:59 PM

Why do you think they called it a “mouse”? Although if you only have a laptop accessible to them, they may be adept with a trackpad or that little red button doohickey that ThinkPads come with. . . .

Posted by: AKMA at November 28, 2002 09:07 AM

For 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: Jocosa at January 12, 2004 08:33 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: Ralph at January 12, 2004 08:33 PM

But some variables are immortal. These variables are declared outside of blocks, outside of functions. Since they don't have a block to exist in they are called global variables (as opposed to local variables), because they exist in all blocks, everywhere, and they never go out of scope. Although powerful, these kinds of variables are generally frowned upon because they encourage bad program design.

Posted by: Alice at January 12, 2004 08:33 PM

A variable leads a simple life, full of activity but quite short (measured in nanoseconds, usually). It all begins when the program finds a variable declaration, and a variable is born into the world of the executing program. There are two possible places where the variable might live, but we will venture into that a little later.

Posted by: Aaron at January 13, 2004 08:56 AM

To address this issue, we turn to the second place to put variables, which is called the Heap. If you think of the Stack as a high-rise apartment building somewhere, variables as tenets and each level building atop the one before it, then the Heap is the suburban sprawl, every citizen finding a space for herself, each lot a different size and locations that can't be readily predictable. For all the simplicity offered by the Stack, the Heap seems positively chaotic, but the reality is that each just obeys its own rules.

Posted by: Valentine at January 13, 2004 08:57 AM

Seth 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: Rebecca at January 13, 2004 08:57 AM