Showing posts sorted by relevance for query 33209. Sort by date Show all posts
Showing posts sorted by relevance for query 33209. Sort by date Show all posts

Monday, January 13, 2020

33209: School -- First Recital

Chapter 3.0: School -- Classes

Chapter 3.1: School -- First Recital

The door at the back of the auditorium opened and I looked around from my seat near the stage. Two people entered, and one of them raised a hand in a wave. As they moved beyond the bright outside light flowing in the door, I was able to recognize Atsuko, and I raised a hand in response. She was with a guy that I guessed was her boyfriend, who looked like a typical West Texan -- lank, cowboy hat, naturally faded jeans, boots, cotton tee screen-printed with some graphics from a local band.

As they approached the front row, I stood to meet them.

"Nobody here yet?" Atsuko asked.

I smiled lopsidedly and indicated the row behind where I was standing, which was sparsely filled. "It's the middle of the morning, and it's just the first recital of the semester, just for us beginners. We're doing good to get a few family and friends."

"Oh. So, uhm, Joe, this is Tim." 

"Nice ta meecha, Tim," I nodded and extended a hand.

"Yeah." He reached out and slapped his palm against mine and gripped, testing my strength.

I grinned and returned the grip, just enough to let him know we didn't need to put each other in pain, and he grinned back.

 A door at the side of the auditorium opened, and my mother came in. Julia followed her. I released Tim's hand and waved them over.

"Your mom?" Atsuko asked.

"Yeah."

"Is that your girlfriend?" Tim's voice had an edge of something a little sharper than curiosity.

「きれいだわ。」 (Kirei da wa.  -- She's pretty.) Atsuko's words were sub-voiced, and I barely heard them. I looked over at Tim, and I couldn't tell whether he had noticed that she had spoken, much less understood the Japanese.

"A friend of the family," I explained as they joined us. "Atsuko, Tim, this is my mom, and our friend Julia. Atsuko is a friend from the English lab, and Tim," I glanced back at Tim and Atsuko without pausing, "is her boyfriend." Neither of them contradicted me.

We made small talk for a minute, then the bell rang and we sat down.

I was the last to sing. A piano students named Becky had volunteered to be my accompanist for the recitation, and I had spent some time with her transposing the tune to fit my range and working out an arrangement within her playing abilities, so neither of us were pushing our envelopes too far. She played the intro, and I began:

枯れ葉散る夕暮れは来る日の寒さを物語り… 
(Kare ha chiru yū-kure wa kuru hi no samusa wo monogatari ... --
A leaf-blown evening tells of chilly days to come ...)

When we finished, I took my bow and signaled to Becky, and she stood and took hers. There was the obligatory applause from the small audience, and that was that. We descended from the stage and sat down, and our teachers debriefed and dismissed our group. 

After thanking Becky, I rejoined my personal audience.

"Thanks for coming Mom." I exchanged smiles with Mom and grinned at Julia. "You, too, Julia. It was a nice surprise."

She smiled back. "Your dad said it wouldn't hurt me to skip the first part of his class today. Nice singing. I wish I could understand it."

Atsuko laughed. "Yes, nice singing. But it's a woman's song. Next time you perform it, rearrange the lyrics, too."

"You're the only one besides me who knows." I raised my eyebrows at her and grinned. Then I shrugged. "And I'm not sure my Japanese would be up to the necessary changes."

 Atsuko and I both laughed.

Julia touched my arm. "Teach me what the lyrics mean sometime."

"Sure."

Tim looked at me doubtfully. "Is Japanese hard?"

I gave him a sharp look. "Hard, but it's much harder if you don't learn it. Cross-cultural relationships need every advantage you can give them. Let Atsuko coach you."

He gave me a surprised look.

"Seriously, it'll be way more fun than watching MASH reruns together."

Atsuko looked sideways at Tim, and Tim and she both laughed.

Mom nodded. Julia looked a little puzzled, but didn't say anything.

Atsuko took Tim's hand and looked him in the eyes. "We can't give up. I'll give up some of my English study to help you."

Tim ducked his head. "Okay. I ... I'll ... we'll keep trying." He turned towards me. "Thanks for letting us come listen, Joe."

"Thanks for coming."

(I can only wish the real me could have been this with-it at twenty-one.)

"I'd better get back to class," Julia said with a bit of something I couldn't decipher in her voice, and she and my mom left. 

"Not your girlfriend?" Tim repeated as the door closed behind them.

"No," I shook my head. "We aren't even talking about dating. Just a friend of the family."

「もしかして?」 Atsuko tilted her head slightly.

Tim gave us both a questioning look.

"Moshi ka shite," I repeated for him. "Meaning, maybe, as a question. I think Atsuko thinks I should pay Julia more attention."

Atsuko opened her mouth slightly and let out a breath of patient tolerance. "I really think you should."

I smiled wryly and raised my eyebrows, half shaking my head. "Who knows? Maybe so."

TOC

[Current backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school-first-recital.html.
Developed January and February 2021, notes at https://joel-rees-economics.blogspot.com/2020/01/notes-33209-school-basic-vs-pascal-vs.html.
Extracted and expanded from https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-school.html.
Earlier backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school.html.]

33209: School -- Shoe Sizes, Flowcharting, and Pseudo-code

Chapter 3.3: School -- Shoe Sizes and Pascal

Chapter 3.4: School -- Shoe Sizes, Flowcharting, and Psuedo-code

Back in the classroom, Professor Crane passed out copies of the simple version of the BASIC program.

"Mmm. Fresh Ditto. Smells good!" Dirk sniffed the paper.

"Is ditto fluid addicting?" Lisa asked no one in particular.

"Spirit duplicator fluid could be addictive and intoxicating if you do too much copying in a closed space, but I don't think there's enough left on these pages to do any real damage." I picked my page up and sniffed.

"Thank you for your analysis, Mr. Genius." Lisa grinned to show she was just teasing.

I ducked my head and grinned back.

"Okay, let's look at this and turn it into a flowchart." Professor Crane picked up a marker from the whiteboard tray. "Becky, you wanna do the artwork today?" 

(This was a different Becky from the student who had accompanied me on the piano at the first recital.)

"Uhm, okay." Becky stood up hesitatingly and went to the front of the room. 

Professor Crane handed her the marker, and she stood, waiting.

"What's the first thing we do here?" Professor Crane looked around at the students. "Theo?"

"Print the program title?" Theo responded.

"Okay."

Becky turned to the board and started drawing.

After about five minutes, we had produced the following flowchart as a class:

"What do we have to change on this flowchart if we use the second program?" Professor Crane asked.

George raised his hand. "Print converted size becomes a subroutine call, is all, isn't it?"

"Becky? What do ya think?"

Becky nodded. "So I add double side lines to the print converted size box like this?" She added the lines in the way our classes were being instructed to indicate subroutine calls.

"And then we add a short flowchart to show what that does," Mike pointed out.

It took another five minutes of discussion to produce the following flowchart of the subroutine:

"Is everyone pretty comfortable with these flowcharts?" Professor Crane looked around the class again.

Alex raised her hand. "Should we expand other parts?"

I responded, "Depends on how much detail you want in the flowchart, right?"

Professor Crane nodded. "That brings up something I need to explain. I mentioned before, I think, that different people use different symbols in flowcharts."

We all agreed.

"Some people use the parallel lines to merely mean that there is a logical module there. It might be a subroutine call or it might be something called a macro, which I'll have to explain sometime, or it might be many lines of code that they want to describe as a single functional block."

Mike responded, "You said that before."

"I did. Well, there is a symbol you might want to use to show this is really a subroutine call. Becky, may I?" He held out his hand, and Becky gave him the marker. 

"Thank you. You can take a break now."

Becky grinned a "Yay!" and sat down.

"It looks sort of like a punched card." He drew the following on an empty spot on the board:

I think most of us took that down in our notes somewhere. I just adjusted my flowchart.

Pat asked, "I've been using macros at work. I'm not really sure what they are."

"Mmm," Professor Crane looked at the clock. "I want to talk about pseudo-code before we break up for today. Can we do that tomorrow?"

"Yeah, I guess."

Professor Crane turned on the overhead projector, directed the projected image to the side of the flowchart, and took out a slide and a marker. "Pseudo-code is something like a programming language and something like natural language." He looked around at us. "Like English." He wrote: 

Shoe Size Conversion Table 

Show title.

Get conversion direction.

Get start and end. 

For shoe sizes from start to end,

print conversion line,

George  commented, "You're almost just copying the contents of the flowchart and making it more like English." 

"Pretty much. As you see, it uses indentation something like the Pascal source code we just saw a little bit ago, but it's a bit freer in form and allows more descriptive. It's often fairly easy to convert a clean flowchart to pseudo-code, or back-and-forth between pseudo-code and a language like Pascal. Some people find pseudo-code easier to use than flowcharts."

"Are you going to expand every line of that?" I asked.

"That depends on you, and on the group you're working for. For some groups, any further conversion of the above should be directly to code. For others, more detail is wanted."

Mike asked, "If 'print-conversion-line' is the name of the subroutine, you could pseudo-code the subroutine, right?"

"You and Joe," Professor Crane grumbled jokingly. "Exactly right." And he proceeded to do so:

Print conversion line

Take integer part of converted size.

Take fractional part.

If fractional part is 3/4 or more, 

increment integer part and clear fractional part;

else if fractional part is less than 1/4,

clear fractional part.

Print integer part.

If fractional part is non-zero, 

print "1/2".

He handed out ditto copies of the Pascal source code for us to compare.

I looked over at Pat, and she looked up at me. 

"Maybe macros are just some way to pull the actual source code in-line into the program instead of calling it like a subroutine?" I suggested. 

She looked puzzled.

"I've seen them mentioned in the microprocessor documentation my brother gave me, and the assembly listings actually show the macro lines as if they were part of the source."

"That might make sense."

I looked up and noticed Professor Crane standing beside my desk. 

He was shaking his head. "Maybe I should just let you and Mike take over for me, and I'll just kick back and put my feet up in the back of the room."

"Sorry."

"No problem." He grinned broadly. "You really don't need a copy of the Pascal, do you?"

He handed me my copy.

"Yeah, thanks. I think I need it." I grinned back.

The bell rang.

He announced from where he was, "We'll talk more about pseudo-code, Pascal, and macros next time. In the meantime, I want to see the flowcharts you've each drawn up, and I want you to try writing a quick program in BASIC to let the user type in a conversion direction and a shoe size, and print out the conversion. It should be easy, and it'll let me see whether you were listening today. Turn your listings and flowcharts in at my office."

The class broke up with the usual grumbling and jesting.

TOC

[Current backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school-shoe-sizes-flowcharting-and-pseudo-code.html.
Developed February and March 2021, notes at https://joel-rees-economics.blogspot.com/2020/01/notes-33209-school-basic-vs-pascal-vs.html.
Extracted and expanded from https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-school.html.
Earlier backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school.html.]

Saturday, January 4, 2020

33209: Homecoming Dance -- Work

Chapter 1.1 -- Homecoming Dance -- Dancing at Church

Chapter 1.2 -- Homecoming Dance -- Work

Mom suggested I take the newspaper route back over for school books and dating money. 

While I was in Japan, one of my old managers at the Odessa American circulation department had asked if I was available, and she had taken on one of my old routes in my stead while I was on my mission -- mostly for exercise and for talking to the neighbors. She said she was now ready to start just walking without the newspapers for exercise.

Dad was not enthusiastic. "You're not going to save up enough money for school with a paper route."

"It's enough to go to OC, if you'll let me stay at home. With an associate's degree, I should have better leverage for part-time work while I go to a four-year school."

"I don't think that's the way it works. Why don't you go see if Texas Instruments will hire you back on?"

I had worked for TI as an assembly line test and repair technician, at the plant near the airport, for about six months before my mission.

"Dad, I never really came up to speed when I was working for them."

"Then why did they put you on the startup Speak-n-Spell line?"

"'Cause I wasn't productive anywhere else."

I now realize that probably was not true.

"What was it you designed for them? You said you did something the engineers were too busy to do."

"Power supply regulator circuit for the test station power supplies. But it was just a hack, a stop-gap until they could get an engineer to do the real job."

"Didn't they say something about talking with them again after your mission was done?"

"No. I got the impression they were disappointed that I was dropping out, but not that unhappy."

There, too, I now think I may have misinterpreted their efforts to understand my need to go serve my God. Or may memory might even be faulty. I have vague memories both ways about whether management encouraged me to return.

"You won't know for sure unless you go back and apply again."

I didn't have a good answer for that, but I never went back to TI to find out.

Chika once said, when I mentioned I had worked for TI before my mission, that I should have gone back to TI. I could have taken classes at OC and UTBP in the evenings. With my broken Japanese being better than the nothing that was the general option then, TI would have sent me to TI Japan after I was up to speed, and then Chika and I would have met when I went down to the Kansai area for some single's activity with the Church. And I would have had a stable job and money when we got married.

You can hypothesize anything when you start with a known false premise, and no one can prove you wrong. Can't prove you right, either, but that's apparently beside the point.

On the other hand, if it was right to marry Chika, if the Lord had led us in spite of the mistakes we made on the way, perhaps He would have led us to each other even if I had followed the better road. Still hypothesis contrary to fact, but God does love his children.

So Mom and I went to the Odessa American offices and made the necessary arrangements, and I started delivering newspapers in the afternoons and weekend mornings in December. That gave me a small, consistent framework within which to start reaching back out to the money-making world, and time to think.

And time to try to read that Japanese novel, practically one character at a time.

During the weeks that followed, I applied for readmission to Odessa College, went to talk with the stake leaders, and did a few other things I needed to do to try to figure my life out.

"Hello?"

I thought I almost recognized the voice, but I was pretty sure it was not her.

"Uhm, hi. My name's Joe Reeves, and I'm an old friend of Beryl's and I'm wondering if you could put me in touch with her."

"Oh?" The woman on the other end of the line let suspicion show in her voice. "Where from?" 

"Junior high and high school."

"What did you say your name was again?"

"Joe Reeves. Marion Joe Reeves."

"Hmm. Okay, give me your phone number and next time I talk to her I'll see if she wants to call you."

"Should I call back in a week?"

"Or a month. Or not."

"Thanks."

"Goodbye." 

A couple of days later, the phone rang.

"Joe?"

"Beryl." I swallowed. No time for sweat to break out. "Hi. How's it going?"

"Uhm, it's okay. You're back from Japan?"

"Yeah. I was wondering if we could get together and talk. Maybe see if we want to go out."

"Well, I'm in town today, but I don't have any time. And I won't be back for a few weeks. School, you know."

"Getting ready for finals, huh?"

"Yeah. Lots to study. Are you planning to go back to school?"

"Looking at my options now."

"Are you looking at Tech?" Her voice was not offering clues, but her words did offer openings.

"Well, it's one of the options. I need to go talk to their counselors and see what's available, I think."

"Will you be coming up soon?"

"I think so. We could meet there for lunch or something?"

"Sure."

"Can I get your number there, and give you a call when I know when the appointment is?"

She gave me her number and we agreed I'd call the next evening.

And I immediately rode my bike to OC campus to look at a Texas Tech catalog, to get phone numbers and other information. I made one short call on the expensive daytime rates to make an appointment with the admissions counselors, and the next evening called Beryl in Lubbock to make arrangements to meet her on the next Thursday, I think it was.

And then I had two problems. Or three: Dad said he'd loan me the money for gas, but I'd have to figure out where I'd stay the night before myself. Or get up at six to drive up. 

Mom said she'd take the route back for a day while I went, if I couldn't get back home in time.


[Latest backup at https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-homecoming-dance-work.html.
First backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-homecoming-dance-work.html.
Originally part of https://joelrees-novels.blogspot.com/2020/01/33209-homecoming-dance.html
.]

Monday, January 13, 2020

33209: School -- Shoe Sizes and Pascal

Chapter 3.2: School -- Shoe Sizes and BASIC

Chapter 3.3: School -- Shoe Sizes and Pascal

Professor Bright said, "We've been able to get a Pascal compiler from Berkeley, and we rewrote this program in Pascal to test it."

"Professor Bright did the Pascal, not me."

Professor Bright tilted his head. "We worked together to get the compiler running and tested, and I was at the keyboard when we wrote the code, but I think we did the Pascal rewrite together."

Professor Crane sighed. "Maybe. Whatever. Anyway, we wanted to give y'all a little advance notice of of the Pascal class we plan to offer next fall, and invite you all to enroll. We'll be teaching it together the first time through, so we don't miss anything." 

"We'll tell you more about Pascal and the course later," Professor Bright added.

Professor Bright told Pat how to load and list the Pascal program on the Univac operating system. Here's what the program looked like:

program shoesz;

{ Print shoe size table by Thomas Bright }

var conv: Char;
  st_sz, end_sz, sz: Real;
  dbl_sz: Integer;

const cm_in = 2.54;

begin
  conv := ' ';
  while (conv<>'E') AND (conv<>'M') do
  begin
    writeln ('Shoe Sizes');
    writeln ('Type E for English to Metric.');
    writeln ('Type M for Metric to English: ');
    readln (conv)
  end;

  writeln ('Start: ');
  readln (st_sz);
  writeln ('End: ');
  readln (end_sz);

  if conv = 'E' then
    writeln ('English => Metric')
  else
    writeln ('Metric => English');

  { Step by halves. }
  for dbl_sz := round(st_sz)*2 to round(end_sz)*2 do 
  begin
    sz := dbl_sz/2.0;
    write (sz, chr(9), '=>');
    if conv = 'E' then
      writeln (sz*cm_in)
    else
      writeln (sz/cm_in)
  end
end.

(I used Free Pascal on a Linux OS to check this code, and it compiles and runs. Most Pascal compilers should compile a runnable object from it okay.)

 "So, what do you think?" Professor Crane asked. "Isn't this easier to read?"

"I'm still not sure I know what it means," Andrea complained.

"There's no line numbers. How does the computer know what to do next?" Theo mused.

"I think the computer follows it in the sequence it's written in," Daren posited.

"Does the indenting mean anything?" I might have been the one that asked that.

"No, the indenting is just to make it easier to read," answered Professor Bright. "The begin and end keywords show where the blocks begin and end. Otherwise, the control keywords and the punctuation mark the flow."

"I'll show you on the whiteboard, later," Professor Crane added.

"Do you have to say what the variables are up there at the top?" Mike asked.

"Good question, and yes," Professor Bright answered. "Variables and constants are declared before the procedure or function block begins."

Pat was silent, examining the code on the screen in front of her. Then she looked up and asked, "Can we run this? Do we have to compile it first?"

The professors looked at each other. 

Professor Bright tilted his head and raised his eyebrows. "Let's have Pat walk through the compile step, so everyone can watch. Then she can run it."

Professor Crane nodded in agreement, and Professor Bright told Pat what to type while we watched. It compiled quickly, and she linked the compiled object code, loaded it, and ran it:

Shoe Sizes
Type E for English to Metric.
Type M for Metric to English: 
M
Start: 
13
End: 
33
Metric => English
 1.3000000000000000E+001	=> 5.11811023622047244104E+0000
 1.3500000000000000E+001	=> 5.31496062992125984249E+0000
 1.4000000000000000E+001	=> 5.51181102362204724436E+0000
 1.4500000000000000E+001	=> 5.70866141732283464581E+0000
 1.5000000000000000E+001	=> 5.90551181102362204725E+0000
 1.5500000000000000E+001	=> 6.10236220472440944870E+0000
 1.6000000000000000E+001	=> 6.29921259842519685058E+0000
 1.6500000000000000E+001	=> 6.49606299212598425202E+0000
 1.7000000000000000E+001	=> 6.69291338582677165347E+0000
 1.7500000000000000E+001	=> 6.88976377952755905535E+0000
 1.8000000000000000E+001	=> 7.08661417322834645679E+0000
 1.8500000000000000E+001	=> 7.28346456692913385824E+0000
 1.9000000000000000E+001	=> 7.48031496062992126012E+0000
 1.9500000000000000E+001	=> 7.67716535433070866156E+0000
 2.0000000000000000E+001	=> 7.87401574803149606301E+0000
 2.0500000000000000E+001	=> 8.07086614173228346445E+0000
 2.1000000000000000E+001	=> 8.26771653543307086590E+0000
 2.1500000000000000E+001	=> 8.46456692913385826821E+0000
 2.2000000000000000E+001	=> 8.66141732283464566965E+0000
 2.2500000000000000E+001	=> 8.85826771653543307110E+0000
 2.3000000000000000E+001	=> 9.05511811023622047254E+0000
 2.3500000000000000E+001	=> 9.25196850393700787399E+0000
 2.4000000000000000E+001	=> 9.44881889763779527543E+0000
 2.4500000000000000E+001	=> 9.64566929133858267688E+0000
 2.5000000000000000E+001	=> 9.84251968503937007919E+0000
 2.5500000000000000E+001	=> 1.00393700787401574806E+0001
 2.6000000000000000E+001	=> 1.02362204724409448821E+0001
 2.6500000000000000E+001	=> 1.04330708661417322835E+0001
 2.7000000000000000E+001	=> 1.06299212598425196850E+0001
 2.7500000000000000E+001	=> 1.08267716535433070864E+0001
 2.8000000000000000E+001	=> 1.10236220472440944887E+0001
 2.8500000000000000E+001	=> 1.12204724409448818902E+0001
 2.9000000000000000E+001	=> 1.14173228346456692916E+0001
 2.9500000000000000E+001	=> 1.16141732283464566931E+0001
 3.0000000000000000E+001	=> 1.18110236220472440945E+0001
 3.0500000000000000E+001	=> 1.20078740157480314960E+0001
 3.1000000000000000E+001	=> 1.22047244094488188974E+0001
 3.1500000000000000E+001	=> 1.24015748031496062997E+0001
 3.2000000000000000E+001	=> 1.25984251968503937012E+0001
 3.2500000000000000E+001	=> 1.27952755905511811026E+0001
 3.3000000000000000E+001	=> 1.29921259842519685040E+0001

"Huh? One point three what?" Theo complained.

"Scientific notation," I ventured.

"Sales isn't going to like that," George frowned and shook his head.

"Maybe use a subroutine like the second BASIC program," Mike suggested.

"And I happen to have just that," replied Professor Bright. He had Pat load and list another Pascal program.

program shoesz;

{ Print shoe size table with halves, by Thomas Bright and Rusty Crane }

procedure wrhalf( size: Real );
var
  ipart, numer: Integer;
begin
  ipart := trunc(size);
  numer := trunc((size-ipart+0.25)*2);
  if numer > 1 then
    begin
      numer := 0;
      ipart := ipart+1;
    end;
  write (ipart);
  if numer > 0 then 
    write (' 1/2')
end;

var conv: Char;
  st_sz, end_sz, sz, conv_sz: Real;
  dbl_sz: Integer;

const cm_in = 2.54;

begin
  conv := ' ';
  while (conv<>'E') AND (conv<>'M') do
  begin
    writeln ('Shoe Sizes');
    writeln ('Type E for English to Metric.');
    writeln ('Type M for Metric to English: ');
    readln (conv)
  end;

  writeln ('Start: ');
  readln (st_sz);
  writeln ('End: ');
  readln (end_sz);

  if conv = 'E' then
    writeln ('English => Metric')
  else
    writeln ('Metric => English');

  { Step by halves. }
  for dbl_sz := round(st_sz)*2 to round(end_sz)*2 do 
  begin
    sz := dbl_sz/2.0;
    if conv = 'E' then
      conv_sz := sz*cm_in
    else
      conv_sz := sz/cm_in;
    wrhalf(sz);
    write (chr(9), '=> ');
    wrhalf(conv_sz);
    writeln (chr(9), '(', sz , '=> ', conv_sz, ')')
  end
end.

"Procedure means subroutine?" Pat asked.

"One kind," replied Professor Bright. "There are functions, as well, which return a value. Procedures do not return values in Pascal."

Mike said, "That procedure is a lot easier to see where it starts and ends than the BASIC subroutine. "

"Precisely the point," Professor Bright responded.

Without being instructed, Pat proceeded to compile, link, load, and run the program:

Shoe Sizes
Type E for English to Metric.
Type M for Metric to English: 
M
Start: 
13
End: 
33
Metric => English
13	=> 5	( 1.3000000000000000E+001=>  5.1181102362204722E+000)
13 1/2	=> 5 1/2	( 1.3500000000000000E+001=>  5.3149606299212602E+000)
14	=> 5 1/2	( 1.4000000000000000E+001=>  5.5118110236220472E+000)
14 1/2	=> 5 1/2	( 1.4500000000000000E+001=>  5.7086614173228343E+000)
15	=> 6	( 1.5000000000000000E+001=>  5.9055118110236222E+000)
15 1/2	=> 6	( 1.5500000000000000E+001=>  6.1023622047244093E+000)
16	=> 6 1/2	( 1.6000000000000000E+001=>  6.2992125984251972E+000)
16 1/2	=> 6 1/2	( 1.6500000000000000E+001=>  6.4960629921259843E+000)
17	=> 6 1/2	( 1.7000000000000000E+001=>  6.6929133858267713E+000)
17 1/2	=> 7	( 1.7500000000000000E+001=>  6.8897637795275593E+000)
18	=> 7	( 1.8000000000000000E+001=>  7.0866141732283463E+000)
18 1/2	=> 7 1/2	( 1.8500000000000000E+001=>  7.2834645669291342E+000)
19	=> 7 1/2	( 1.9000000000000000E+001=>  7.4803149606299213E+000)
19 1/2	=> 7 1/2	( 1.9500000000000000E+001=>  7.6771653543307083E+000)
20	=> 8	( 2.0000000000000000E+001=>  7.8740157480314963E+000)
20 1/2	=> 8	( 2.0500000000000000E+001=>  8.0708661417322833E+000)
21	=> 8 1/2	( 2.1000000000000000E+001=>  8.2677165354330704E+000)
21 1/2	=> 8 1/2	( 2.1500000000000000E+001=>  8.4645669291338574E+000)
22	=> 8 1/2	( 2.2000000000000000E+001=>  8.6614173228346463E+000)
22 1/2	=> 9	( 2.2500000000000000E+001=>  8.8582677165354333E+000)
23	=> 9	( 2.3000000000000000E+001=>  9.0551181102362204E+000)
23 1/2	=> 9 1/2	( 2.3500000000000000E+001=>  9.2519685039370074E+000)
24	=> 9 1/2	( 2.4000000000000000E+001=>  9.4488188976377945E+000)
24 1/2	=> 9 1/2	( 2.4500000000000000E+001=>  9.6456692913385833E+000)
25	=> 10	( 2.5000000000000000E+001=>  9.8425196850393704E+000)
25 1/2	=> 10	( 2.5500000000000000E+001=>  1.0039370078740157E+001)
26	=> 10	( 2.6000000000000000E+001=>  1.0236220472440944E+001)
26 1/2	=> 10 1/2	( 2.6500000000000000E+001=>  1.0433070866141732E+001)
27	=> 10 1/2	( 2.7000000000000000E+001=>  1.0629921259842520E+001)
27 1/2	=> 11	( 2.7500000000000000E+001=>  1.0826771653543307E+001)
28	=> 11	( 2.8000000000000000E+001=>  1.1023622047244094E+001)
28 1/2	=> 11	( 2.8500000000000000E+001=>  1.1220472440944881E+001)
29	=> 11 1/2	( 2.9000000000000000E+001=>  1.1417322834645669E+001)
29 1/2	=> 11 1/2	( 2.9500000000000000E+001=>  1.1614173228346457E+001)
30	=> 12	( 3.0000000000000000E+001=>  1.1811023622047244E+001)
30 1/2	=> 12	( 3.0500000000000000E+001=>  1.2007874015748031E+001)
31	=> 12	( 3.1000000000000000E+001=>  1.2204724409448819E+001)
31 1/2	=> 12 1/2	( 3.1500000000000000E+001=>  1.2401574803149606E+001)
32	=> 12 1/2	( 3.2000000000000000E+001=>  1.2598425196850394E+001)
32 1/2	=> 13	( 3.2500000000000000E+001=>  1.2795275590551181E+001)
33	=> 13	( 3.3000000000000000E+001=>  1.2992125984251969E+001)

George nodded approvingly. "I think the sales department will find that easier to read."

"Especially if we remove the scientific notation stuff on the end of each line," added Alex. 

Mike commented, "We could put that last write-line in a comment and put an empty write-line in its place, and the scientific notation output would be gone, but easy to bring back."

"Having the output in its own procedure makes it easier to modify, doesn't it?" Professor Bright pointed out. "Much easier to see what to remove and what to change."

Professor Crane said, "Okay, now we've had an advance look at how to use the terminals, and at Pascal. Let's go back to the classroom and use the whiteboard and the overhead projector to get a better look at this."

Again, there were complaints and jests from the students as we filed out and returned to the classroom. 

TOC

[Current backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school-shoe-sizes-and-pascal.html.
Developed January through March 2021, notes at https://joel-rees-economics.blogspot.com/2020/01/notes-33209-school-basic-vs-pascal-vs.html.
Extracted and expanded from
https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-school.html.
Earlier backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school.html.]

Saturday, January 4, 2020

33209: Homecoming Dance -- Midland Airfield

Chapter 1.0 -- Homecoming Dance -- Midland Airfield

My flight to Japan from the Missionary Training Center had gone through Seattle to the old Tokyo Haneda Airport. The flight back home had started at Narita Airport and connected at San Francisco and Dallas before coming back to end at Midland Air Field. MAF was an international airport because of the oil industry, but I had already gone through customs at San Francisco, where I and my three companions had said goodbye and gone our separate ways. 

They rebuilt MAF around 1999, but partially kept the flavor of the main building.

Mom waved when she saw me coming out of the passenger cabin door, and I waved back. Boarding tunnel bridges were a new thing and weren't in use at MAF yet, they would just roll boarding stairs up to the plane. Mom waited a little ways away from the small crowd at the foot of the stairs, and, when my feet hit the tarmac, she held up keys.

I grinned and made my through the crowd to where she waited.

"Dad's teaching in Pecos. He has the Colt, so you get to drive the truck. You do want to drive, don't you?"

"The truck, huh? Yep, I can do that."

"Oh, give me a hug. You aren't too big to kiss your Ma now, are you?"

In spite of all the uncertainties, it was good to be back home in west Texas after all.

At the luggage carousel, I pulled off my suitcase.

"Just one?"

"The smaller one is inside the big one. Now we're waiting for my tea box." Those big wooden tea boxes lined with sheet metal are not nearly as cheap and available now as they were then. Back then they could be shipped within Japan by Yamato or Sagawa for fairly cheap. They made sense for transfers. They don't any more. Things have changed.

"Tea box?" 

The tea box came up the chute.

"That?" she asked as it came into sight.

"Yep. Sherise felt inspired to send me just enough money to ship the souvenirs home in it, packed in the rest of my clothes."

"It's big. The truck is in the parking lot. I could watch your luggage while you try to find it, or we could splurge and borrow a cart."

"What section did you park in?"

"Get a cart." Moms didn't roll her eyes, now, did she?

The tea box and the suitcase fit under the camper shell on the bed of the F-100 with lots of room to spare. With the luggage loaded and the cart returned, I walked around the truck, checking the vehicle and the parking lot, then got behind the wheel. It had been two years, but it felt just as natural as if it had been only a day.

"You fixed most of the dents," I observed.

We considered ourselves conscientious about others' property. Family property, maybe not so much. Both the truck and the Colt station wagon had dings and dents from getting them in and out of the spacious parking in front of our house, and also from the doors being blown too far open in sudden west Texas gusts. Too much space, and I guess we forgot to be careful when  it was just our cars and we were running late or it was really windy. 

We really were careful about other cars, though, especially when we had large groups over for meetings and such. Just not our own.

"Dad's students." Many of the students in Dad's Spanish classes were taking vocational education courses, and, like most of the professors there, Dad would sometimes let them work on our cars and appliances for projects in their coursework.

I took extra care getting out of the parking lot, running through the H shift pattern with the shifter on the steering column twice before I put it into reverse, checked the mirrors, and eased off the clutch pedal, watching over my shoulder through the back window and in the mirrors as I backed the truck out of the parking space into the access lane.

It is one of the ironies of interface, that standard automobile driver jargon speaks of the clutch in opposition to the clutch's actual function.

You know, pushing the pedal down actually releases the clutch mechanism so you can shift, and letting the pedal up engages it so you can move the car. So clutching in a car means to engage the clutch release mechanism, releasing the actual clutch. And easing off the clutch pedal engages the clutch by releasing the clutch release mechanism.

When you clutch your wallet, you hold it tight.

But when you clutch in the car, the clutch mechanism lets go, so you can start the engine, shift gears, etc. In the idiom for manual transmissions, the meaning of the word is inverted.

I often think about things like that, and I may have been thinking about it then.

"There's a new highway," Mom broke into my thoughts. "Do you want to take it?"

"Sure." I clutched and braked, shifted to first when the truck stopped, and headed forward for the airport exit.

"Turn right as you leave the airport instead of left."

I followed the signs from the airport and put the truck on the new local highway to Odessa. Of course I didn't recognize the road, but I recognized the general featureless expanse of west Texas and I knew which direction I was headed by the reds on the twilit horizon where the sun had set. No getting lost on this new highway.

"Thanksgiving dance tonight at church. Are you up to it?"

"Oh? Mission president said it would be okay, so, yeah."

In the past, missionaries would wait to be interviewed by their home stake presidents before they would consider themselves released from the more strict rules of social conduct that full-time missionaries obliged themselves to follow.

My mission president, in my final interview, gave me to understand that I would never be released from being a missionary, in other words, from my obligation to continue preaching the gospel. But he also told me that my new assignment required social interaction of various sorts, and most of the special restrictions for full-time missionaries no longer applied once the big transfer was over and I was in the care of my family.

He was specific about it. Taking a detour for a date on the flight home would be discouraged, but once my family picked me up at the airport, anything I would normally do as a member of my family and a member of the Church would be okay.

"Wouldn't miss it."

Of course I would meet with the stake president, President Price, within a week or two, and after that with the stake high council to give my final official report of my full-time mission. But I would not need to feel restricted until those meetings by anything but my conscience about things like dances, and even dates, if the leaders could not fit me into their schedules soon enough.

I understand the policy of the Church on things like this changes from time to time, or it may be that specific instructions for specific cases are sometimes given, and later mistaken for policy. Or both. 

Letter-of-the-law is for other religions, or, should be, anyway.

Sunset in west Texas lasts a while. We were home before the last pinks left the sky. 

Mom watched, bemused, as I carried the tea box and then the suitcase into my room. I left my stuff on the floor and headed for the shower. 

"There's a student Dad wanted you to invite, but she said she was busy."

"Huh?"

Mom didn't explain, and I immediately forgot while I cleaned up and dug dancing clothes out of my closet.

Yeah. My closet. When Denny was still home, at his suggestion, we'd knocked the closet wall out. So it was an open closet, with just the support beams separating it from the rest of the room. And we'd carpeted the whole floor in sapphire blue. Loft beds and a chalkboard covering one wall. Great room for a single geek.


Monday, January 13, 2020

33209: School -- Shoe Sizes and BASIC

Chapter 3.1: School -- First Recital

Chapter 3.2: School -- Shoe Sizes and BASIC

Professor Crane walked in the door and the pre-class chatter dropped slightly in volume.

"Good morning guys. I've got a question for all y'all."

He had all our attention for a moment.

"Using BASIC as a calculator, how'd ya  convert an American shoe size of eight and a half to a metric shoe size?"

"Oh, is that all?" Lisa turned back to continue talking to Dirk, and about half of the class followed her example.

Professor Crane gave her a wry grin. "This is a serious question."

Lisa shook her head. "Dead simple." She stood up, went to the whiteboard, and picked up a marker.

PRINT 8.5 * 2.54

"Done!" She put the marker down and turned to sit down. 

"But who's gonna go to the trouble of typing that on a punched card?" Don asked.

Lisa rolled her eyes.

"Or," Dirk raised his eyebrows meaningfully at Lisa, "who's going to bother plugging in her Apple just to type that in?"

Lisa had an Apple II at home, and was using it for some of her homework.

"How about listing the conversions from size five to thirteen?" I asked. "I could maybe see plugging in a microcomputer for that."

Lisa grumbled and turned back to the whiteboard.

10 FOR I = 5 TO 13
20 PRINT I*2.54
30 NEXT I

Professor Crane chuckled. "Sometimes I think Joe sneaks peeks at my lesson plans. So, let's say we want to provide the sales guys with something they can plug a range into. And they want half sizes, going both directions. And they don't want to learn BASIC."

Mike leaned back. "I think our professor just gave us our next assignment."

Professor Crane shook his head. "Not yet. This is just background. And we need to watch this in action. Since Joe and Lisa didn't bring their computers to class today, let's all go to Professor Bright's office." 

"There's action in the prof's office?" 

"If we're going to play computer, we can do that here." 

Playing computer is a technique for working through what a computer when executing program steps. We had done that as a class when Professor Crane introduced program loops.

There was a bit of jesting and complaint, but the fourteen of us followed Professor Crane out the door and down the hall to Professor Bright's office. 

Theo was first through the door. "There's a computer on  your desk, Professor Bright," he announced.

Professor Bright was seated at his desk, hands on the keyboard, waiting for us. He opened his mouth to answer.

"Computer terminal, I think," George commented as he filed in.

Professor Bright closed his mouth with a patient smile.

Pat nodded in agreement as she followed George. "Dumb terminal for the Univac."

Lisa and I were last, hanging behind in the doorway behind Dirk and Andrea, giving the other students room. 

"RS-232 cables," I observed. "One goes to the printer --"

"That's a printer?" Daren asked. "It looks like a typewriter without a keyboard."

"Yeah, it's a printer," Professor Crane said. "Although typewriter without keyboard is also a good description. And?"

Daren remained bemused.

"And," I continued, "the other cable goes to the wall, where the Univac is on the other side. So I think it's a good bet it's hooked to the Univac. But I think it's an intelligent terminal, judging from what's on the screen." 

The screen showed tags for the keyboard function keys along the bottom, showing several data I/O frames of the sort we now call windows, according to the Xerox PARC (and, later, Apple Macintosh) terminology.

Professor Bright nodded. "That's right, the brains are in the computer room on the other side of that wall. This is just a terminal -- although actually a terminal with intelligent functionality, as Joe has surmised." He pressed a key, and the screen blanked, to change to a login screen.

Professor Crane explained from behind most of us, "We have been able to obtain several of these terminals on the cheap from the same company that gave us the good price on the used Univac. There won't be enough terminals for everyone to have their own, so we'll have to schedule use, but I think we'll find them more convenient than punched cards. BASIC, in particular, has a different feel when used interactively. But, of course, those who prefer punched cards ..."

"I don't think I prefer punched cards."

"I'll be happy to give up my time on the card punch!"

"I think I can live without punched.cards."

"Hey, consider the poor card punch's feelings!"

"And the cards'!"

"Consider my feelings!"

"Card punches don't have feelings." 

"How do you know? Have you ever asked one?"

Both professors were chuckling well before this point.

"You haven't even tried these terminals yet," Professor Crane cautioned. "For all you know, they may be too arcane."

"No way!"

"We can handle some arcane!"

"Arcade? These things play Invaders?" Lisa laughed at her own joke.

Both professors groaned as most of the students again erupted in jokes and conjecture.

"Actually, I'll bet they could be programmed to play a game like Pac Man."

All the students turned towards me.

"Not that I would try it," I continued, glancing back at Professor Crane, "without permission."

"Enough of that. Time's a-wasting." Professor Bright called our attention back to the terminal screen. "Pat, since you work as a night operator at your dad's company, how about if you take the driver's seat?"

Professor Bright stood up and other students complained teasingly as they made way for Pat to move to the desk and sit down.

Professor Bright explained how to use the temporary passwords to log in to the interactive accounts that had been activated for us, and Pat followed his instructions while we watched. She loaded the BASIC interpreter and started it in interactive mode, then, without instruction, typed in the formula line that Lisa had written on the whiteboard and hit the RETURN key.

PRINT 8.5 * 2.54
21.59 
OK
_

The underscore cursor blinked on the line beneath.

Professor Crane nodded his approval. "Any questions so far?"

There were none, and Pat proceeded to type in Lisa's three-liner, again, without waiting for instructions:

10 FOR I = 8 TO 13
20 PRINT I*2.54
30 NEXT I
RUN
 20.32
 22.86
 25.4
 27.94
 30.48
 33.02
OK
_

"Skipped 8.5," Dirk pointed out. 

”BASIC can't do fractional steps in a FOR loop," Mike commented. "Have to use GOTO, or maybe double the steps and divide by two?"

"Very good, Mike." Professor Bright put a memo slip in front of Pat. "We have a short program to do exactly according to your second suggestion. Can you load that for us, Pat?"

Pat read the filespec on the memo and typed in the commands to load the program and list it on the screen:

10 PRINT "Shoe Sizes"
20 PRINT "Type E for English to Metric."
30 INPUT "Type M for Metric to English: ", C$
40 IF C$ <> "E" AND C$ <> "M" THEN GOTO 10
90 REM
100 INPUT "Start: ", B
110 INPUT "End: ", E
120 IF C$ = "E" THEN PRINT "ENGLISH => METRIC"
130 IF C$ = "M" THEN PRINT "METRIC => ENGLISH"
180 REM
190 REM STEP BY HALVES
200 FOR I = B*2 to E*2
210 PRINT I/2, "=>";
220 IF C$ = "E" THEN T=I*2.54
230 IF C$ = "M" THEN T=I/2.54
240 S=T/2
250 PRINT S
400 NEXT I
500 END

(This program can be run in many BASIC dialects, including, for example, the bwbasic available in many Linux OS distributions.)

Then she issued the run command with the following results (including her keyboard input where the computer prompted for the direction to convert and for the start and end values):

Shoe Sizes
Type E for English to Metric.
Type M for Metric to English: M
Start: 13
End: 35
METRIC => ENGLISH
 13          => 5.1181102
 13.5        => 5.3149606
 14          => 5.511811
 14.5        => 5.7086614
 15          => 5.9055118
 15.5        => 6.1023622
 16          => 6.2992126
 16.5        => 6.4960630
 17          => 6.6929134
 17.5        => 6.8897638
 18          => 7.0866142
 18.5        => 7.2834646
 19          => 7.4803150
 19.5        => 7.6771654
 20          => 7.8740157
 20.5        => 8.0708661
 21          => 8.2677165
 21.5        => 8.4645669
 22          => 8.6614173
 22.5        => 8.8582677
 23          => 9.0551181
 23.5        => 9.2519685
 24          => 9.4488189
 24.5        => 9.6456693
 25          => 9.8425197
 25.5        => 10.03937
 26          => 10.2362205
 26.5        => 10.4330709
 27          => 10.6299213
 27.5        => 10.8267717
 28          => 11.023622
 28.5        => 11.2204724
 29          => 11.4173228
 29.5        => 11.6141732
 30          => 11.8110236
 30.5        => 12.007874
 31          => 12.2047244
 31.5        => 12.4015748
 32          => 12.5984252
 32.5        => 12.7952756
 33          => 12.9921260
 33.5        => 13.1889764
 34          => 13.3858268
 34.5        => 13.5826772
 35          => 13.7795276

"That's a lot of decimal points," Alex muttered.

Most of the students nodded in agreement.

"We're glad you noticed. We have a way to fix that." Professor Bright put another slip of paper in front of Pat, and she ended the session she was working in, started a new session, and loaded the program from the filespec shown on the new memo:

5 REM PRINT SHOE SIZE TABLE WITH HALVES BY RUSTY CRANE
10 PRINT "Shoe Sizes"
20 PRINT "Type E for English to Metric."
30 INPUT "Type M for Metric to English: ", C$
40 IF C$ <> "E" AND C$ <> "M" THEN GOTO 10
90 REM
100 INPUT "Start: ", B
110 INPUT "End: ", E
120 IF C$ = "E" THEN PRINT "ENGLISH => METRIC"
130 IF C$ = "M" THEN PRINT "METRIC => ENGLISH"
180 REM
190 REM STEP BY HALVES
200 FOR I = B*2 to E*2
210 PRINT I/2; CHR$(9); "=>";
220 IF C$ = "E" THEN T=I*2.54 
230 IF C$ = "M" THEN T=I/2.54
240 S=T/2
250 PRINT S; ":"; CHR$(9);
260 GOSUB 1100
400 NEXT I
500 END
1100 REM PRINT HALVES
1110 T=INT(S)
1120 H=INT((S-T+.25)*2)
1130 IF H<2 THEN GOTO 1160
1140 H=0
1150 T=T+1
1160 PRINT T;
1170 IF H > 0 THEN PRINT " "; H; "/2";
1180 PRINT
1190 RETURN

Running this one produced the following:

Shoe Sizes
Type E for English to Metric.
Type M for Metric to English: M
Start: 13
End: 35
METRIC => ENGLISH
 13          => 5.1181102:  5
 13.5        => 5.3149606:  5  1/2
 14          => 5.511811:   5  1/2
 14.5        => 5.7086614:  5  1/2
 15          => 5.9055118:  6
 15.5        => 6.1023622:  6
 16          => 6.2992126:  6  1/2
 16.5        => 6.4960630:  6  1/2
 17          => 6.6929134:  6  1/2
 17.5        => 6.8897638:  7
 18          => 7.0866142:  7
 18.5        => 7.2834646:  7  1/2
 19          => 7.4803150:  7  1/2
 19.5        => 7.6771654:  7  1/2
 20          => 7.8740157:  8
 20.5        => 8.0708661:  8
 21          => 8.2677165:  8  1/2
 21.5        => 8.4645669:  8  1/2
 22          => 8.6614173:  8  1/2
 22.5        => 8.8582677:  9
 23          => 9.0551181:  9
 23.5        => 9.2519685:  9  1/2
 24          => 9.4488189:  9  1/2
 24.5        => 9.6456693:  9  1/2
 25          => 9.8425197:  10
 25.5        => 10.03937:   10
 26          => 10.2362205: 10
 26.5        => 10.4330709: 10  1/2
 27          => 10.6299213: 10  1/2
 27.5        => 10.8267717: 11
 28          => 11.023622:  11
 28.5        => 11.2204724: 11
 29          => 11.4173228: 11  1/2
 29.5        => 11.6141732: 11  1/2
 30          => 11.8110236: 12
 30.5        => 12.007874:  12
 31          => 12.2047244: 12
 31.5        => 12.4015748: 12  1/2
 32          => 12.5984252: 12  1/2
 32.5        => 12.7952756: 13
 33          => 12.9921260: 13
 33.5        => 13.1889764: 13
 34          => 13.3858268: 13  1/2
 34.5        => 13.5826772: 13  1/2
 35          => 13.7795276: 14

"What's different about this program?" Professor Crane asked.

Nobody was brave enough to state the obvious but me, so, after a bit of waiting I said, "You've put the output in a subroutine, so that you can focus on more complicated output that includes the approximation to halves."

Professor Bright frowned and tilted his head. 

Professor Crane scratched the back of his neck. "Everybody see what Joe says about approximations?"

General nods and murmurs of agreement.

"And do you see where the subroutine is?"

"I see a GOSUB," volunteered Daren. "Is the subroutine from line 1110 to the end?"  

"Or 1100 to the end?" asked Alex.

"That's it," replied Professor Crane.

For a minute or so, we discussed where the subroutine actually started, how the semicolon in the PRINT statement held output on the same line, how the decision was made to print the half or not, and other details of the program.

TOC

[Current backup at https://joel-rees-economics.blogspot.com/2021/04/bk-33209-school-shoe-sizes-and-basic.html.
Developed January and February 2021, notes at https://joel-rees-economics.blogspot.com/2020/01/notes-33209-school-basic-vs-pascal-vs.html.
Extracted and expanded from
https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-school.html.
Earlier backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school.html.]

33209: School -- BASIC vs. Pascal vs. Assembler

Chapter 3.4: School -- Shoe Sizes, Flowcharting, and Pseudo-code

Chapter 3.5: School -- BASIC vs. Pascal vs. Assembler

Professor Crane set aside the slides he had been using to explain the simple address book program that would be our next assignment and picked up another set. 

"I'm sure y'all all want to talk about Pascal some more."

Scattered chuckles and groans greeted the pronouncement.

"Well, we're going to talk a little more about Pascal today so we can talk about something Professor Bright and I are studying, called structured programming." He paused.

"There are dialects of BASIC in existence which don't use line numbers. And you can write programs in those without using a GOTO."

"Cool."

"Wow!"

"Help?"

"Why not just move to Pascal instead of ruining BASIC?"

I was not one who said any of the above. I think my response was, "So, these versions of BASIC look kind of like Pascal?"

"Kind of."

"How does that even work?" asked Becky.

"Well, let's talk about structured programming." He waited for the chatter to stop. "In BASIC, you can write code that looks like a plate of logical spaghetti with strands of program flow going all over the place and getting all tangled up in a mess. In Pascal, it's a lot harder to write spaghetti code. But even in BASIC, you can usually untangle that spaghetti into more understandable sequences of just a few kinds of fundamental elements." He put a slide on the overhead projector.


"This is one fundamental element, the block. And on the right is a sequence of blocks."

Lisa asked, "Is a block like a line of BASIC?"

"Or of Pascal. A line or a group or lines can be a block. The idea is that together they perform a single function. And you can treat them like a single block. Ideally, you start in at the top of the block and end at the bottom. Pascal also allows you to explicitly declare a block using the BEGIN and END statements."

He waited for a moment so we could copy the slide into our notes. Then he traded the slide for another.

"This is the decision, conditional, or branch."

"It's the BASIC IF statement," asserted Daren.

"Very good. It gets constructed with the IF statement, and often requires GOTOs in the usual dialects of BASIC. The GOTO will jump around the false and true blocks for he the condition George, can you write us an example on the board?"

George went to the board and wrote:

1000 REM TWO-WAY DECISION
1010 IF V1 = V2 THEN GOTO 1100
1020 REM FALSE BRANCH
1030 A1=B1
1040 REM ETC.
1090 GOTO 1200
1100 REM TRUE BRANCH
1110 B1=A1
1120 REM ETC.
1190 REM END OF BLOCK
1200 REM SOMETHING ELSE CONTINUES FROM HERE.

Instead of copying what he wrote, I doodled on the back of a program listing:

* 2-way decision/branch (conditional)
* IF V1 = V2, 32-bit integer V1 and V2
	MOVE.L vV1,D0
 	SUB.L  vV2,D0
 	BNE IFNEV1V2  ; Inverted test.
* LET A1 = B1
MOVE.L vA1,vB1 ; true branch * etc. BRA IFDONEV1V2 IFNEV1V2 ; false branch * LET B1 = A1 MOVE.L vB1,vA1 * etc. * end of block IFDONEV1V2 * continues from here

Several of the students were still busily taking notes when George sat down. 

Professor Crane asked for questions, but the students who were lost just gave him blank looks. So he continued, "In Pascal, that would look like this." He took out a clean slide and put it on the projector, and wrote:

{ Two-way decision }
  IF V1 = V2 THEN 
  BEGIN
    { True branch! }
    B1 := A1
    { Etc. }
  END
  ELSE
  BEGIN
    { False branch. }
    A1 := B1
    { Etc. }
  END
  { Something else continues from here. }

"Why do I have the false and true branches reversed here from the BASIC code?"

Lisa suggested, "Because the test will make a jump, and you jump to the true branch, but, uhmm," she thought, then continued slowly, "... just let the program flow into the false branch?"

Becky exclaimed, "Oh, I get it." She hesitated. "I think."

"Good. Anyone not getting it?"

No response.

Professor Crane stood up and walked around the room, checking students' notes. He stopped at my desk. "May I?"

I looked up at him questioningly. 

"Take a look at your assembler notes. Is this 68000 assembler?"

"Yeah. I didn't want to think too hard about integer size." I held the page up, and he accepted it.

"Mind putting this up on the board to show the class?"

"Sure. I mean, no. No problem." I stood and went to the board, repeating the doodled code from memory.

Professor Crane pointed to the first line. "Is this a comment?"

"Yeah. Comment lines start with asterisk in Motorola assemblers."

"Interesting." He pointed to the third line. "Move dot 'L'?"

"Long is 32 bits. Dot 'W' would be word, or sixteen bits. Dot 'B' would be byte, or eight bits."

"So that's a 32-bit integer move. 8086 only does 16-bit. You put 'v' in front of the variable names?"

"Otherwise, A1 would, uhm, the name of variable A1 would conflict with the name of address register A1."

"I see. Okay, Intel syntax has the target first, as move to target from source. I guess Motorola syntax is more English-like, move from source to target?"

"Yeah. Data register zero is the target of the first move. I'm using subtract for the compare in the next line because," I hesitated here, "the compare is just a subtract that doesn't store it's result, and I'm pretty sure it's the same order as subtract, but I didn't want to think about it. Not that it matters here, since we're only testing equality."

Professor Crane snorted a chuckle and shook his head. "How many registers does the 68000 have?"

"Eight data registers, D0 through D7, and eight address registers, A0 through A7. Ehh, plus a second A7. A7 is the stack pointer for subroutine calls, and there's a user A7 and a system A7." 

"That's a lot of registers. Does it have an accumulator?"

"Any data register can be an accumulator."

He raised his eyebrows and turned back to the listing. "Okay, 'BNE' is?"

"Branch if not equal. Not equal to zero. Inverted condition so I could write the true branch first. Branch to," I spelled it out: "'I-F-N-E-V-1-V-2'. That label is supposed to mean 'If not equal V1 and V2'."

"You made the label up."

"Yep." 

"And labels are?"

"Machine language has addresses instead of line numbers, but when you edit code, the code moves around, so the addresses change. So the assembler lets you give a location a name, and then the assembler figures out the address for you."

"So it's like a line number, but different."

"Right."

"Okay. Is that a memory-to-memory move in the next instruction, direct, without using a register?"

"Yeah. Target is the second argument."

"Again, opposite Intel assembler order. And that is not a reference to women's underwear in the next instruction?"

There was a wave of snickers and titters.

"Branch always," I answered apologetically. "I think I would have just used 'BR' or written it out 'BRANCH', but I'm not the one who made up the mnemonics."

Professor Crane nodded. "I hope none of the women in the class are offended. Macros would allow that instruction to be renamed, by the way."

Lisa cleared her throat. "How nice of them." She and Pat exchanged looks.

Pat shrugged. "I wish we didn't have to put up with immature male engineers. It sure isn't an ideal world."

Dirk let out a horse laugh. "Yer im-mah-choor, Joe."

Lisa gave him a glare. 

"Okay, okay, maybe I'm a little immature, too, sometimes." Dirk was still laughing, but not out loud. "How about you, Joe?"

I rolled my eyes and shrugged. "Probably not as mature as I ought to be all the time."

"So we'll both try to grow up?" He grinned at me.

"Yeah."

Lisa sniffed and turned away. Since she was between Dirk and me, she was now looking at me. She tried to keep a straight face, then broke out laughing when I shrugged apologetically again. She looked back to Pat and said, "We're holding these guys to their promise, right?" 

Pat nodded, her face showing mixed feelings.

"We'll work on it." I reached over and bumped fists with Dirk.

"Is one- or two-way branching all there is in structured programming?" Mike asked.

Professor took the cue. "There is also a case construct, but it can be built from these two. We can look at it later. I want us to look at loops now." 

"Wait," Becky hold up her hand. "Don't you need more branches to surround the false and true blocks?"

I turned back to the whiteboard and pointed to the code between the branch not equal and the branch always. "Since the test is inverted, the false case branches over the true case block." I pointed to the branch always. "The true case ends by branching over the false case block to the label 'IFDONEV1V2'. But, since that label is just the address of the instruction after the false case block, the program flow naturally joins back together there without a branch."

Becky still looked a little puzzled, but she nodded.

I sat down.

Professor Crane had swapped slides while we were discussing the program flow.

"Here we are. These are the two loops generally discussed in structured programing."

Mike asked, "Is there a mid-test loop?"

Professor Crane pulled his mouth to the side.

I looked up and added, "As in a general loop with a block before and after the test?"

Mike glanced at me and nodded. 

Professor Crane still hesitated.

Mike stood. "Can I draw out what I mean?"

"Go for it." Professor Crane held out a marker.

Mike took it and drew this:

Professor Crane nodded thoughtfully. "That's a general loop. There are languages that have such loops built-in, but most structured programming practice suggests against it, from what I understand. Pascal doesn't have one."

Mike turned back to the board and wrote out example BASIC code for the loop to the side:

2000 REM LOOP STARTS HERE
2010 REM PRE-TEST BLOCK
2020 A=B+C
2030 REM ETC.
2100 IF A=E THEN GOTO 2200
2110 REM POST-TEST BLOCK
2120 A=-B-C
2130 REM ETC.
2190 GOTO 2000
2200 REM PROGRAM CONTINUES FROM HERE

"And the pre-test and post-test loops would just have one of those blocks empty," he commented as he put the marker back in the tray.

Alex complained, "What does that code even do?"

Mike frowned and cocked his head. "It's just example code."

"Just enough," I looked up from my assembly language doodling, "to see the connection between the BASIC and the flowchart." 

I had this scribbled down at this point:

LOOPSTART
* Pre-test block
* A=B+C
MOVE.L vB,D0
ADD.L vC,D0
MOVE.L D0,vA
* Etc.
* IF A=E THEN GOTO exit
CMP.L vE,D0 ; D0 - vE
BEQ LOOPEND
* Post-test block
* A=-B-C
CLR.L D0
SUB.L vB,D0
SUB.L vC,D0
MOVE.L D0,vA
* Etc.
LOOPEND 

Mike frowned and turned back to the whiteboard. He picked up the eraser, but Professor Crane said, "We have lots of whiteboard space."

So he put the eraser down and started writing more code in an open spot:

2000 REM GET NEXT SHOE SIZE
2010 INPUT "SHOE SIZE ('Q' FOR QUIT):"; R$
2020 IF LEFT$(1) = "Q" THEN GOTO 2200
2030 R = VAL( R$)
2040 REM ...
2200 GOTO 2000

"How's that?"

Professor Crane nodded and said, "Looks more like real-world code."

Alex was still puzzled. "Isn't that just testing at the top?"

Professor Crane cocked his head. "Is the input statement part of the test?"

Alex shook her head. "I guess not?"

I interjected, "Depends on how you look at, right, Professor Crane?"

He chuckled without much mirth before responding. "And on how you write the program. It is possible to have an input procedure that returns a boolean yes or no."

Alex raised her hands in despair. "Please don't put this on the test."

Professor Crane grinned. "You know I like to make y'all think."

The whole class groaned.

"But I'll make sure there's enough information to answer it, if I do." 

He pulled another slide out. "Anyway, after we talk a bit more about the basics, I can show you all how to do Mike's example with a conditional inside a pre-test or post-test loop." 

With that, he proceeded to use the remainder of the period to lead the class through comparing the structured flow elements in Pascal and BASIC, and, borrowing more of my doodling, assembly language. Our assignment was a simple address book program using BASIC DATA statements to build separate arrays of names, addresses, and phone numbers.

(Maybe I don't need to say this again, but I will. The Joe of this novel is way ahead of the Joe of the real world. I had only begun to pick up the rudiments of 6800 assembler during the first semester back from my mission. Translating BASIC or Pascal to 68000 assembler during a lecture would have been me at least a year later, probably two. 

And I wasn't that good with banter. Still not, really.)

TOC

[Current backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school-basic-vs-pascal-vs-assembler.html.
Developed February and March 2021, notes at https://joel-rees-economics.blogspot.com/2020/01/notes-33209-school-basic-vs-pascal-vs.html.
Extracted and expanded from https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-school.html.
Earlier backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-school.html.]

Saturday, January 4, 2020

33209: Homecoming Dance -- Crushes

Not the latest version.

Chapter 1.2 -- Homecoming Dance -- Work

Chapter 1.3 -- Homecoming Dance --Crushes

[Latest version of this part at https://joelrees-novels.blogspot.com/2020/01/33209-homecoming-dance-crushes-julia.html.]

I opened the door to my dad's office at the college. "Dad, Mom said you needed ..."

Dad was not in his office. A very striking woman my age was, however, seated at his desk, working on something that looked like Dad's tests.

"Uh, hi."

"Hello." She turned to greet me, and stood up. "You must be Professor Reeves's son, Joe."

She was even more striking when she stood up. Slender, and about as tall as I, she was dressed in a sheer but demur two-layer dress of blues and deep reds which revealed the facts of her curves while keeping the details hidden. And brought out the blonde of her hair and the blue of her eyes. Beauty pageant natural good-looks. Just as attractive as Lizzie Ann.

Some of the women at church dressed similarly for Sunday meetings.

When I was twelve, I'd find myself distracted, trying to discreetly observe the curves. And then I'd have to correct both my thoughts and behavior. Or not correct, depending on my mood, but I was self-aware enough to understand that looking made it even harder to talk with them, and  I knew inability to talk with them was not what I wanted.

I didn't know the phrase "objectifying women", but I understood parts of the problem from a practical side.

Somewhere along that time, Elder Packer gave his talk, "To Young Men Only", and I took the counsel about controlling thoughts to heart. It took a few years, and I was never perfectly able to exercise self-control. (Is anyone?) But the efforts at self-control made it much less awkward to be try to be sociable.

When I was sixteen, I tried to refrain from judging ill of the women who dressed in ways to emphasize their curves, for their willingness to cater to fashion more than to sense. Somewhere along the line, with help from my sisters' friends who chastised me for my Pharisaical attitude, I figured out that judging them was another thing that made it hard to talk with them -- and another way I had to learn to control my thoughts.

Objectification does seem to be a double trap. As I say, I sort of understood the concept, even if I hadn't yet heard the term, but, even at twenty-one, I still wasn't quite getting beyond the boundaries of the juvenile interpretation of René Descartes's tautology, "I think, therefore I Am."

It takes practice to communicate with a person, instead of with your internal concept of the person, and I had spent most of my practice time through high school immersed in science fiction and fantasy novels. Good novels, but my mom was probably right. Averaging a hundred a year was probably too much, and, while I was exposed to good ideas through such greats as Bradbury, there was too much Heinlein, Clarke, et. al., and way too much of the likes of the Victor Appleton syndicate. Maybe not enough E. R. Burroughs and HG Wells.

George Orwell gave me a headache. Too much of a kind of truth I was unprepared to deal with until sometime after my mission. But his stuff really wasn't science fiction. Speculative fiction in the case of 1984, and allegorical fantasy in the case of Animal Farm, but not science fiction.

During my mission, I was able to come to somewhat of an ability to ignore the clothes and the makeup and see through the socially enforced elements of presentation to focus on the person. Somewhat, if I were not taken too much be surprise.(And 1984 might have part of what helped me with that.)

Anyway, for ten seconds or so I was struggling to keep my eyes from straying. I think I succeeded, but I'm not sure. Only she would know whether where my eyes first went made her uncomfortable, and she never mentioned it.

"Uhm, yeah. That's me."

I thought about asking who she was and what she was doing there. Dad hadn't mentioned hiring anyone, and the students he hired never dressed like this to work for him, that I knew of. Jeans and a tee were the usual.

She didn't make me ask. "I'm Julia. I'm doing some work for your father. He just stepped out."

Right. Sure. No. Something didn't add up.

"Oh. Well, my mom asked me to drop this off for him." I put whatever it was on his desk, in a place where it wouldn't be in her way and tried to make my escape.

"I hear you've just returned from serving a mission in Japan."

"Maa, sore wa sō desu ga."

"That's Japanese?"

"Oh, sorry. Yeah. It means something like 'Well, that's true.'"

"Sounds cool."

Somehow I stumbled through introducing myself and learning a little about her. She was from a good Baptist family, considered herself to have a witness of Christ. And she was getting ready to transfer to Texas Christian University for her third and fourth years of college.

(I forget now which school the real Julia transferred to, but Julia in this novel isn't the real Julia.)

****

"So what do you think of Julia?"

"You could have warned me. Really, Dad, next time you want to set me up, warn me. I'm not offended, but is she?"

"She saw your picture and I told her a little about you and she seemed interested."

"If I'd known even that much, I'd have been better prepared to make intelligent conversation."

"You won't hold it against her?"

"No. But we sure struggled to find something to talk about. She's a Baptist, Dad."

"You're not prejudiced." This was both an assertion and a command.

"We can share about Jesus. We can share scriptures from the Bible. How am I going to talk with her about Abinidi or Mosiah in the Book of Mormon? Or about the temple? I'm not as shy as I used to be, but I need more common ground."

"How are you going to know if you don't give it a try? Give her a chance, man."

"When? It's not like we're going to have reasons to spend time together."

We did end up bumping into each other in Dad's office and talking several times after that during the next couple of months. Talked about religion and plans for the future, talked about some of my mission experiences, talked about her interest in serving in an international interdenominational youth mission.

(In the real world, if my memory serves me, I even went to visit her congregation once during the winter semester, and met her folks. But she wasn't interested in talking about certain things that were important to me, and we just mutually didn't decide to pursue things as she prepared to transfer schools. That is to say, the real me never really knew what she made of him, and already had other women that he was struggling with his feelings for.)

*****

[Latest version of this part at https://joelrees-novels.blogspot.com/2020/01/33209-homecoming-dance-crushes-beryl.html.]

 Beryl, the girl I had nursed a terrible crush on since middle school, whom I had written to during the first year of my mission, and who had replied maybe twice, was in Lubbock attending Texas Technical University. My best friend outside of church, Rodrick, was there, too. And Texas Tech was a pretty decent technical school, even had a good school of medicine, the one Lute would be attending when he got back from his mission.

I called Beryl and she said she could talk with me before lunch, on, I think it was, the next Thursday.

So I called Rodrick up and he said I could roll out a sleeping bag on his floor so I could check the school out and talk to Beryl in the morning. He indicated he questioned my motivations, my rationality, and my sanity, but other than that did not offer advice. He knew most of my history with Beryl.

After delivering papers Wednesday afternoon, I drove the three hours to Lubbock. Rodrick was studying, so we didn't spend more than a half hour talking about the last two years and our plans for the future. He didn't seem much interested in microprocessors, either, preferring analog circuits. 8080 vs. 6800 was a non-question to him.

In the morning, I went to the school offices and got a course catalog and other information. Then I went to meet Beryl in the school cafeteria.

For what it might mean, she was nicely dressed, in something of the same sort of fashion as Julia had been wearing when we first met. Maybe it was the "in" fashion that fall.

I really don't remember our conversation, except that it was strained. I was realizing that I had spent eight years of my life idealizing a young woman when I did not even know enough about her to ask intelligent questions about her life and her plans. Even though (as I say) I did not yet know the word "objectify", I realized I had given my heart to an idea, a dream, not a real person.

As beautiful as she was, her physical beauty no longer gave me the kind of motivation that had once pushed me out of my comfort zone to talk to her in middle school, that had in times past sent me out now and then just to ride my bike past her house and wonder what she was doing.

I vaguely recall that I mentioned I might be returning to Japan in the future, and that I was studying electronics and planning to study physics, and she didn't seem especially impressed. Japan, especially, didn't seem to interest her. She was proceeding in her study of childhood education, and, ironic as it now seems, that held no interest for me at the time.

Church never came up, but while we talked I became sure our differences in religion and culture were as much a barrier to her then as they had been in high school, and as they were beginning to feel to me there in the cafeteria.

I'm not sure what I expected, but there was no chemistry, and no voices of angels telling me to fly in the face of logic and continue my pursuit of her. All I could see was evidence that we had never had much in common and were apparently headed in different directions.

We didn't even talk about having lunch together, just said our goodbyes after about a half an hour.

I went back to get my stuff and talk a bit more with Rodrick between his classes.

"How'd it go?"

"We talked."

"And?"

"I guess we really don't have much in common, and we seem to be heading different directions."

He grinned. "I figured you'd figure it out pretty soon."

"Had to try."

"Braver than me."

"Still not dating?"

"Marriage scares me."

We talked a bit more and I headed home. Arrived in time to get the afternoon's load of newspapers delivered.

I still, every now and then, wonder whether I made a mistake in letting the differences be too much of a barrier. There must have been some reason for the terrible crush, for the torch I had born for eight years, other than her physical beauty and the fact that she had taken the trouble to ask me in 7th grade algebra class why I didn't do homework when it was clear I could make better grades.

On the other hand, making my choices clear concerning Beryl allowed me to pursue a different path.

Crushes.

My sister Louise had explained her philosophy about crushes to me when I was about twelve. Crushes were one kind of love, an appreciation of the good qualities in people. She had crushes on many people, both male and female. None of them were people she was interested in marrying. It was one kind of love, but not the kind of love you give to your marriage partner.

Being in love was different. There were things you only did in marriage, and having crushes, being willing to appreciate the good in others, was not engaging in infidelity to Howard, the guy she was dating and considering marrying at the time.

She was seventeen or eighteen at the time, and I figured she knew what she was talking about.

It made sense. Not just to my mind, but in my heart, it felt right to be able to love people that I wasn't planning on marrying -- not to want to make love to them, but to appreciate them and their good qualities, to have tender feelings towards them, and to want them to be happy. And even to reach out to help them be happy when I had legitimate opportunity.

And that helped me recognize that I wasn't falling in love with about every girl I ever met. I just developed crushes easily. And I should not be worried about it.

It was a great burden off a twelve year-old's shoulders. If fidelity to the feelings of my heart did not require me to learn to be a Don Juan, neither did fidelity to the people I loved require me to become a King David. (Or a Brigham Young.)

There are things you only do for love in marriage, and if you keep those separate from the other things you do for love, love can be shared with everyone.

So my sister Louise helped me untangle the wisdom of God which I was learning by means of the Spirit of God in my heart, through prayer and studying the scriptures, and separate it from the human wisdom which I was learning from the world around me, from the radio and newspapers, in stores, at school, and even through the outward church -- and also even from ideas I had brought with me from before birth. She helped me see that there would be a way for me to learn the laws of man but follow the laws of God.

I had a crush on Louise, too, of course, but I had crushes on all four of my big sisters.

*****

[Latest version of this part at https://joelrees-novels.blogspot.com/2020/01/33209-homecoming-dance-crushes-satomi.html.]

 Crushes. Satomi Mihara.

Sister Mihara was a fireball of a missionary. As a fellow young missionary in my first area, Tokorozawa, she had lead out in ways that both helped the Elders and threatened their sense of authority. I think I was not the only one who developed a crush on her. Some resented their feelings toward her, but she seemed able to catch them off their guard and put them at ease.

About half-way through my mission, I had been assigned to Nakano Ward in Tokyo when Sister Mihara was there, and she had encouraged me not to give up trying to learn the lessons we were supposed to teach from. Having her encouragement, I asked the mission president to allow me to study the lesson plans using the Kanji (the Japanese/Chinese logograms commonly used in Japan) instead of the Rōmaji (Japanese written using the letters of the Latin script which we use in English and many other European languages).

("Rōmaji" and "Kanji" are examples of the use of the Rōmaji script.「ローマ字」 is "Rōmaji" written in Japanese script (katakana and Kanji), and 「漢字」 is "Kanji" written in Kanji. I'm sure you really wanted to know.)

I couldn't see the meaning in the words of the Romaji version of the lesson plans that most foreign missionaries studied from. Too many homonyms and near-homonyms with no familiar roots. The Kanji are the roots. Without the Kanji, I couldn't see the meaning, and without the meaning, the words and the ideas would not stick in my mind. But Kanji study had sometimes become a temptation that some of the missionaries in the past had needed to overcome, and most of the Church mission organizations in Japan strongly recommended against it, to the point of making it rule in those missions.

So I promised the mission president not to study the Kanji themselves too much, and he gave me special permission to study the lessons from the Kanji version. And I finished learning them in a month.

Somehow, I developed a crush on Sister Mihara's companion, Sister Hummer, too. As I say, it was too easy for me to develop crushes.

While I was in Nakano, I had a dream in which I went in to the mission home for my monthly interview with the mission president, and Sister Mihara and Sister Hummer were waiting outside the mission president's office. At least, I thought it was them when I woke up. I talked with them in my dream, then went in to talk with the mission president, and he told me that I would next be assigned to a female companion. I asked who, and he asked me whether I had considered the two sisters I had met coming in. And I acknowledged that I had.

In the light of my experiences since then, I can see that this dream was at least partly influenced by the Holy Spirit, to help me foresee and work out essential parts of my path ahead, and that the particulars of the dream were not important. It was something of a dramatic demonstration of what my mission president would tell me at the end of my two years, that I would still be on a mission, so to speak, receiving my new mission assignments more directly from God, and that I would be required to choose for myself, to a certain extent, both my assignments and my companions in those assignments.

At the time, I found myself wondering whether I might find myself being called to get married before my two year assignment as a missionary in Japan was finished. The adversary of our souls has various ways to confuse us, including trying to get us to pervert our revelations of truth.

I talked with the mission president about that dream, and he acknowledged that the might be some meaning in it, maybe literal meaning, maybe not. On the next transfer, I was assigned to Edogawa Ward.

One transfer later, Sister Mihara was assigned to Edogawa, as well. There, during our branch study sessions, she coached me about my shyness, and, in the process, told me she loved me. I understood her to mean it as a fellow missionary, and responded by trying to get out of my shell a bit more. Not that she wasn't cute enough, just that both of us were following the rules and focusing on the work.

And I was transferred to Kumagaya, the next transfer.

Sister missionaries were called for a year and a half at the time, and Sister Mihara finished her mission a few months later, while I was in Kumagaya. Missionaries were not allowed to write each other during their missions, but after the missions were done, there were no such restrictions. She wrote me a postcard while I was in Kumagaya, and I wrote back. Both of us kept focused on the work in our letters.

Now I was home. And, after that conversation on the Texas Tech campus, my mind was clear of concerns about Beryl. I wrote Satomi Mihara a letter asking whether she would consider dating me, if I visited Osaka. That was my awkward way of asking permission to court her. It felt awkward asking, anyway. I don't think there is a way to ask that question that doesn't feel awkward.

*****

[Latest version of this part at https://joelrees-novels.blogspot.com/2020/01/33209-homecoming-dance-crushes-john-yoko.html.]

 The lack of Japanese courses at Texas Tech pretty much decided me against applying to attend there after Odessa College. Well, that, and the clarification about where things would not head with Beryl.

When the late pre-registration system became available for classes at OC, I chose my classes and bought books -- general education and electronics classes.

At the college bookstore, I found a book on non-verbal communication. It was written from the assumption that all relationships are founded in a sex-driven power competition dynamic, and it gave me a headache to read, but I learned some useful things that I had not known about what people are saying with their bodies.

I was aiming, in the courses I chose, for an Associate's degree in electronics to help get work to support my college studies, and on being able to transfer some of the course credits to the four-year school. I didn't want to repeat things I'd learned in high school, and I didn't want to repeat things in the four-year school, either.

OC let me skip the classes I thought I was good on, if the teachers agreed. Jackson Brown, the electronics technology teacher, was a friend of my dad's. With his permission, I skipped the introduction to electricity and the basic Direct Current (DC) circuits classes.

I wanted to skip the Alternating Current (AC) circuits class and go straight to the class in amplifiers and the microprocessors class, but when I was talking with my brother Denny on the phone, he suggested I take some easy classes to give myself a little time for doing other things.

Even though I wanted to finish in a year, if I could, I allowed him to persuade me. So I signed up for the AC circuits class instead of skipping it.

(FWIW, the real me skipped as many classes as he could, and that caused me trouble in the real world. The version of me in this story may be a little smarter.

The counselors did warn me I might run out of classes for the Associate's degree in electronics if I skipped too many, but we discussed substitutions, and I thought I could work it out.

The introduction to microprocessors class would use Intel's 8080, which was disappointing. But Doctor Brown was a friend of my dad's, and he agreed that he would let me use Motorola's 6800, if I could get the necessary hardware by the time I took the class.

My parents listened while I talked about what I wanted to do, but refrained (mostly) from giving advice.

Well, Dad was insistent that I would earn the money for school myself. They would be willing to give me free room and board if I studied at Odessa College or at the University of Texas at the Permian Basin, but I would pay for my classes and materials myself.

*****

By the Christmas dance, Neil, the young man who had been doing the music while I was gone, had left on his mission. So I got to provide the sound system and some of the music one more time.

"Well, Mary, I must say your taste in music is good. We brought you something from the refreshment table, since you're so busy." Sister Patton and Sister Bell stood by the turntable with cookies on a paper napkin and a cup of punch.

"Thank you, Sister Patton. Of course, this is not nearly all mine. Brother Orange brought all of the recent stuff." I accepted the refreshments and found a place to set them down.

Brother Orange, who was the young men's advisor, worked for one of the local radio stations. He was the one who helped the young men plan the dance, including dance contests and other ice-breaker activities. When I had pointed out that all my music was at least two years old, he had volunteered to bring more recent music.

I helped with the turntable and with the activities during the dance.

"Well, Josephine, can I ask a question?"

"What's that, Sister Bell?"

"You dance with all the girls, why don't you ever ask them out?"

"Good question." I looked around. Only Brother Orange was close enough to hear over the music, and he wasn't listening. "I guess figuring out why all the girls ran away when I tried to ask them out is something I'll be working on now."

I'm not sure why they asked. Both of them had daughters my age, both daughters were now safely married.

When the dance was over, as a reward for my work, Brother Orange let me choose one of the albums he had brought for prizes, and I took home John Lennon and Yoko Ono's Double Fantasy.

I'll admit to mixed feelings when I selected it. I really liked three of the tracks that were getting airplay -- "Starting Over", "Woman", and "Wheels". But I hesitated because I've never been one to follow fads -- especially fads that involve famous people who have been recently murdered.

I set the sound system back up in my room when I got home, listening to the album on my headphones and reflecting on what I knew of Lennon and Ono while I set the speakers back up, continuing to listen while I checked details of my schedule for the coming semester.

Suddenly, I was hearing the Japanese in the background of "Kiss Kiss Kiss":

Daitero Anata ... (Hug me, my love ...)
Daite ... (Hold me ...)
Motto daite ... (Hold me more ...)
Daite! (Keep holding me!)

"Daitero" is a familiar command form of the verb "daku/idaku" (「抱く」、 approximately, "embrace"). In this context, either "hug me" or "hold me" works as a translation, although, in the first three instances, a bit of a scrubbed translation. The use of "Anata" here, by a woman for her lover, is an intimate form of "You", and makes the context rather clear -- even if the sound effects don't.

(Japanese is interesting in this. Anata is one of the formal second person personal pronouns. Kimi is one of the informal second person personal pronouns. But Kimi also means "prince". And anata also is a very intimate form when used by a woman for a man in certain contexts. One could guess that there has been some inversion in use over the centuries, perhaps something like "thee" and "thou" in English.)

I understood her to be saying that climax was not her goal. Maybe it was important, but the pillow talk, the deep and intimate conversation concurrent with the act, and the prolonged physical comfort of embrace after, were at least as important, and maybe more.

The album reads to me, not as a glorification of objectified sex, but as saying that sex is supposed to be one small part of the processes of negotiating the wilderness of a marriage/love relationship. Yoko is on record as saying that is what both she and John intended.

I generally skipped that song when I played the album after that. I didn't think I really needed to be encouraged to repeat that part of the lessons they were trying to teach. Not until I was married, and probably not after.


3809 -- A Tale of MCUs and Time, Part 1, 2801

The bell rang the end of the last period, and I pulled the practice sheet from the platen of the Selectric typewriter in front of me, slippe...