Cocoa Diversions; More on Views
Subject:   no Carolyn Rose with her global and local
Date:   2002-02-20 09:18:43
From:   psheldon
Response to: preliminary comments on 2 origin lines

Agenda :
***** 1. -----Some stories----- to smooth the notion of students writing comment statements in general (off the syllabus); why this homework should be respected by all as work and how noone can do your homework for you with same effect. I tried to muster up my courage for this stage with a phone call to my relativity professor and formal thesis advisor. He was busy preparing his comments or notes for a class...
***** 2. What might still be, after this introduction, the -----sordid details----- behind two lines of origin code. I hope they would not be considered sordid details and I hope that none might feel humiliated that they hadn't done it themselves, because that shouldn't be the purpose of teaching, to humiliate. The general association of humiliation by a brilliant teacher stuck up on himself made Wheeler not choose Oppenheimer for a mentor...

1. Some stories:

***** A programmer has an intuition from a lot of trial and error that can get him things that work. Once things work, he might take the whole history of his experience (including windows flying). He may merely note that once he was blind and now he has vision, as did Mike.
***** It is hard to revisit that history (of trauma), but that is where "the fundamental" lies; that is what must constantly be revisited to do great stuff. We do that everytime we read a column and get through some confusion in it.
***** I find great difficulty in composing the beginnings of algebraic statements that solve problems. After much time, everything is simple in hindsight, embarrassingly so. But, the trick was that it was me that made it embarrassingly simple, so I can't blame myself.
***** Many people probably get blocked going through the confusion stage of creativity because someone who knows the answer undercuts them. They associate their confusion, not with personal victory (as they should) but with extrapersonal humiliation. For example, many of us might be forced to write comment statements explaining our code to bosses who think they can purchase organization with money rather than blood sweat and tears. Their higher salary ceiling seems to support this hypothesis of theirs. They haven't read Starship Troopers course in moral philosophy, nor have their girlfriends. Oh well.

***** I had a professor, Elliezer Dekel, who, in a Yiddish accent, would read us computer listings. I'd be dying to break in with a comment or question, but somehow that was perceived as wasting everyone's time or flowing against the syllabus.
***** The textbook on data structures would also have computer listings. The publishers would invariable paginate in a most irritating manner. They would have the explanation always on the next page. I'd feel guilty turning a page before understanding what was on that page. Finally, when I couldn't stand trying to understand the listing anymore, I'd turn the page.

***** So, here is a staged introduction to writing comments to two lines of code. It felt a bit like pulling my own teeth, but I know comment statements amplify my power to think later faster. It is the way to keep or own my vision that transcends the blindness. It is the notes written upon the notes from the teacher.

2. The sordid details :

***** The window origin in a next step os x machine is, not upper left (as in an os 9.x), but rather lower left. This is the origin that is fixed in an os x window size change.
***** We wish, instead, to fix the upper left origin to make behaviors look familiar.
***** We could say, give this upper left corner a name, "os 9.x origin" or better os9xo.
***** Now, we also have an os x origin, osxo = aframe.origin, the one that would be fixed if we didn't add the two lines of origin code.
***** Let's write two equations for the two origins at two different times before and after the window size change. Only the y coordinates are different, so that means we, in effect, have, not two systems of equations of two, two equations. Surpress the y for momentary economy of writing.
***** Call the times before and after, tb4 and ta.
***** 1. os9xo(tb4)=osxo(tb4)+height(tb4)
***** 2. os9xo(ta)=osxo(ta)+height(ta)
***** Now, how must the os x origin move to keep the other origin fixed?
***** 3. os9xo(tb4)=os9xo(ta)
***** Eliminate left and right hand sides with 1 and 2 :
***** osxo(tb4)+height(tb4)=osxo(ta)+height(ta)
***** Solve for the new os x origin :
***** osxo(ta)=osxo(tb4)+height(tb4)-height(ta)
***** We have finished generating the commentary once external reference is made to c's syntax abbreviating change to a variable.