The Three Signs - Book 3 - Janelle - Cover

The Three Signs - Book 3 - Janelle

Copyright© 2017 by William Turney Morris

Chapter 9: Engagement and...

Romantic Sex Story: Chapter 9: Engagement and... - Follow along as Will's life continues after University. If you haven't read books 1 and 2, it will be a bit confusing.

Caution: This Romantic Sex Story contains strong sexual content, including Ma/Fa   Consensual   Romantic   BiSexual   Heterosexual   Fiction   Paranormal   Ghost  

Second Semester – Lectures and Networking

July, 1981

After a busy few weeks filled with gigs most nights of the week, it was back at University. The fibre optic installation was proceeding; there had been a few minor issues, but the company supplying and installing the cable had worked around them. The University – mainly through the School of Physics – had a long term relationship with Crown Corning; they had worked together on a number of projects, particularly in developing reliable connectors for their single mode fibre. The first set of cables, from the main computer centre to the computer science data centre, plus links to the Mathews Building, Civil Engineering, Mechanical Engineering, and the Surveying Building would be terminated in a few weeks’ time.

The first task was to have a meeting with the networking people from the computer centre and the various computer administrators from each of the schools to plan how we would connect the existing remote job entry stations to the central mainframe using the new TCP/IP network. Engineers from Control Data and DEC had already done a ‘proof of concept’ up in the main data centre; however that was using the standard RSX-11 operating system. We would have to make sure the software worked under UNIX just as well as it did under the DEC operating systems. Considering that the RJE software running under UNIX outperformed the standard DEC software under RSX-11, we felt that the TCP/IP conversion should work just as well.

We all got together in the main computer centre conference room on the last day of the mid-year break. There were two related aims for the meeting, first was to get agreement on a proposed IP addressing scheme for the Kensington campus, and secondly to get an agreement on a device naming convention. A few of us had kicked around several ideas on how to allocate IP address; we had been allocated the “54.xxx.xxx.xxx” address range, and within that we had over 16 million individual addresses at our disposal – 2 to the 24th power. There is no way that I could ever see us needing that many individual addresses.

The plan was that we allocate the second octet in the address to a ‘location’; either 0 for the computer centre or network devices, like routers and other things; or a number that corresponds to the school that the device is located in. So devices in the School of physics would start with 54.1, Chemistry would be 54.2, Elec Eng and Computer Science would be 54.6, and so on. Within those subnetworks, the third octet would be a location; 0 for routers and similar communications devices, 1 for host computers and RJE stations, and a number from 10 upwards indicating a floor. 10 for the ground floor, 11 for the first floor, and so on. The final octet of the address would be for an individual device on that floor.

There was general agreement that this made sense; we wanted to make sure that whatever we chose now would serve the university well into the future; the time would come when networked computer devices would be as common around the campus as office telephones. Already several areas were replacing their traditional typing pools with what were called “Word Processing Systems”; the University had standardized on the Wang OIS system. While it wasn’t planned to connect these to the main TCP/IP network – in fact, they were not capable of it; sooner or later these, or future word processing systems, would be networked. The time would come where all of the secretaries and administrative assistants no long used typewriters, but some device similar to these Wang units. Already we had a number of networked high-powered graphics work stations in the Computer Science department, and as microprocessor power improved, and the prices inevitably dropped, I could imagine future devices like these replacing the standard VT-100 style computer terminals. These would almost certainly have network connections, mainly to access shared storage on one or more of the PDP-11 computers.

Everyone thought that during the lifetime of this network the number and scope of devices would increase rapidly, hence the importance of proper planning right from the start. Ron, the main network manager from the data centre spoke about how the current naming convention for devices worked, we decided that would be adequate for the current network. No need to change yet another thing; we would stick with the same device and host names across the network for the time being.

One of the system admins asked how the combined network could handle all of the existing devices, let alone future growth.

“I thought the total Ethernet bandwidth was only 10 Mbps,” he said. “If we have all of these devices on at once, how will that work? And isn’t the realistic throughput level closer to 4 Meg, because of packet collisions resulting in retransmissions?”

“Yes, that’s pretty much the limit of data throughput,” I said. “But see here, where we have these network ‘bridges’ between the various segments?”

I pointed to how each section of Ethernet cable would be connected to other sections, pointing out the various Ethernet bridges.

“Just because the different segments are linked though those bridges,” I went on to explain, “doesn’t mean that all packets are automatically transferred from one segment to the other. You can have a repeater; which extend the maximum span of a network by sending all data packets across the link, or a bridge, which looks at the destination address to determine if that packet has to be transferred to the other segment.

“That’s why getting the network addressing structure is critical; since it makes bridging so much more efficient, and will keep packets to only the network segments that are relevant to them. This will reduce the overall traffic load on the network, and cut down on the number of packet collisions.”

We had the overall plan finalized; all I needed was a list of all ‘networkable’ devices from each of the local system administrators. I would finish off the main network map; document all of the segment addresses and bridging rules.


First day of the semester; and it was the beginning lecture of Computing I. There weren’t as many students in the class for this semester as there was at the start of the year. As I looked around the lecture theatre I noticed a number of familiar faces, students who were repeating the subject after failing it in the previous semester. I went through pretty much the same introductory talk as I did for the first semester, but when I got to talking about the First Year Computer Science unit, I stressed how we were there to help them, and that they could always come up and see us about any problems.

“I want to stress that fact to all of you, including those who are back again redoing the subject,” I said. “We aren’t here to fail you and get you to drop out, we leave that to Organic Chemistry, as some of you will discover over the next few months.”

There were a few laughs from the assembled class.

“Organic Chemistry was almost my downfall; then some of the second year physics subjects. And don’t let me get started on second year pure maths...”

More laughs.

“But seriously, our job in the First Year Unit – not just including me, but the other two lecturers you will have, plus the Administrative Manager, Michelle, and all of your tutors – the main reason why the school set up this unit was to make things as easy as possible for you, the students. We are there for you, if you have any problems with anything to do with your studies here. Not just with this subject, but anything here at the University. I want to stress that particularly to those of you who are back doing this subject for the second time.

“If it any time you are having trouble understanding things that we cover in lectures here, or can’t work out the tutorial problems, come and see us. We aren’t going to do your work for you, but if you need extra help, or want something explained in detail, that’s what we are here for.”

I then continued with the rest of the lecture, much as it had gone last semester. I hoped that my talk about taking advantage of the assistance we could offer any students didn’t fall on deaf ears. Few of the students who had failed the subject last semester had come up to speak with any of us about problems they were having with the subject; on the other hand, most of those who earned a distinction or higher had spent at least one session with us, going over the subject material or asking us to explain things in more detail. Only time would tell, I thought.

The next day, after the Computing I tutorial session we had the first gathering of the new programming clinics. I was pleased to see the strong attendance; pretty much every student that had got a distinction or high distinction last semester were in attendance. Both Michael and Sarah were there, sitting next to each other, of course. David and I introduced ourselves to the class; and outlined what the purpose of the programming clinic would be.

We stressed that we would not be covering any new material; but going over what had been taught in Computing I in greater depth; giving out exercises to allow people to continue to practice and develop their programming skills, and to also provide a forum for discussing anything of general interest that related to computer science. There was some general discussion, and David talked about the first voluntary assignment they would have.

This was to be a comparison of various common sorting algorithms; a simple insertion sort, a bubble sort, and Hoare’s quicksort algorithm. He handed out some pages with pseudocode for each algorithm on it, and their task over the next few weeks would be to implement each algorithm and conduct timing tests for a variety of data sets. He showed how sorting algorithms were a perfect case for using recursion and how careful program design was important to prevent running off either end of arrays in an infinite loop.

One of the students started asking about why other programming languages didn’t implement recursion, and then another asked why they had to learn FORTRAN for programming in Maths I.

“FORTRAN, it sucks as a programming language, C is so much better,” he said. “So why did we waste our time learning FORTRAN?”

I was somehow expecting a question like this one sooner or later, and I had come up with some reasonable replies.

“Well, the reason why you were taught FORTRAN is that it’s pretty much the ‘standard’ programming language that mathematicians and other scientists use,” I said. “There are extensive subroutine libraries available that do pretty much lots of mathematical and scientific calculations. Do you need to do Fourier analysis on some data? There’s a subroutine to do that; actually a bunch of libraries for that.

“Let me tell you about some of the people I went through my Bachelor’s degree with. One of them is working for a big bank, writing programs in COBOL that manage loan payments. Another is in Canberra, writing text processing and search systems in FORTRAN. Yet another is also in Canberra, working for one of the government spy agencies, writing programs that analyse intercepted messages and analysing them for any intelligence of military or strategic use. She can’t say what computer systems they use, or even what programming languages she uses, because of national security.

“Then there’s the systems that my recording company uses; they pay my monthly royalty check; that runs on an IBM System/36 computer and the programs are written in RPG-II. Alberts use that programming language because they bought a pre-written software package that does all that for them. I don’t know how many different programming languages are in use in the world today; but maybe close to a hundred.

“What you will learn is that in developing a computer system, the actual implementation of your program design into working code is only a small part of the overall process. The initial analysis – working out what the client actually needs – and the program design; turning that analysis into a well-defined set of steps – that is the most time consuming part of the whole process. And it doesn’t really matter what the actual choice of programming language is; the methods and processes for designing the solution are quite similar.

“That’s what we are trying to teach you in this course; the underlying processes, rules, techniques behind developing programs. I have no idea how computer technology is going to develop over our working lifetimes; but I’m pretty sure that what we are using today will seem just as antiquated in twenty or forty years’ time as the first computers that were developed back in the 1950’s seem today. So the actual programming languages you use, the operating systems they are running on, and the computer architecture will all change as technology progresses. But the basic principles, the underlying methods; they will remain pretty much constant.

“So, in Maths I, you learn FORTRAN, because that’s the language that mathematicians are the most accustomed to. Here, we teach you C, because we believe it’s the ideal language to teach good programming techniques. And come second and third year, you will need to have a good knowledge of it for some of the more advanced subjects. The operating system subject, you need to understand C so you can learn how the UNIX operating system works. And there will be other programming languages you will be taught, too.”

He seemed to be reasonably happy with that answer; I just hope it gave all of the class some insights about what the underlying purpose of the course was. David continued the discussion on different programming languages; talked about the difference between compiled languages and scripting languages.

After the hour finished, David and I held a post-mortem in his office. We felt it got off to a good start; there was plenty of discussion, and most people had a chance to get involved.

“Maybe we need to have a ‘contentious topic of the week’ at each clinic?” he suggested. “Something that will provoke discussion, and make them think about things.”

I thought it was a good suggestion; and we started to make a list of possible discussion topics. I suggested that for Thursday’s clinic, we talk more about sorting and searching; and I prepared a brief outline of what we could cover.


“Well, today we will continue what we were talking about in the last clinic about sorting,” I said, once everyone had arrived in the lecture room. “Sorting an array of numbers is an interesting academic exercise; but so what if the maximum of a list was 42? What does that mean? If it was the highest recorded temperature during October in Sydney, when did it happen? There’s no context to that result.”

“Well, it is the ultimate answer,” someone from the back of the room said.

“Extra points for being a ‘Hitchhiker’s Guide to the Galaxy’ fan,” I replied. “Don’t panic.”

There was scattered laughter around the room; I guess not everyone had read Douglas Adams.

“So, let’s consider a practical example. Assume we are working in the data processing department of one of the major banks, and the marketing manager wants a report identifying account holders with more than, say, a hundred thousand dollars in their savings account, so the account holders can be contacted and asked if they are interested in moving some of that money to an investment account. We have to give him a list of the top value accounts, showing the account holder’s name and contact details, how much is in the account, stuff like that. Seems reasonable?

“Now, first of all, how might all of that data be stored? Assume we have a ‘struct’ that has details of each account. So, what information would be in that struct? Clearly, an account number, which has to be unique, an account type, the branch that the account is held at, the current balance...”

“What about the customer name and address?” one of the students said.

“Well, there has to be something to identify who has the account,” I replied. “But maybe not the actual name and address of the account holder, that would be in a separate data structure. In one of the third year subjects you will get into data bases, and there’s a process called ‘normalization’, where you pull duplicated data elements from one part of the database into its own section. Consider if we kept all of the account holder’s details in the struct with the other account details. What happens if the account holder changes their address, or phone number, and they have multiple accounts? We would have to make sure that EVERY account owned by that holder was updated at the same time.

“So, we give each account holder a unique ‘customer ID’, and we use that as the key to the list of account holders, and in each account record, we have the customer ID of the holder of that account. Does that make sense?”

I could hear murmurs of agreement through the room. On the blackboard I drew up a simple diagram, showing the two distinct records; the customer record and the account record. This was pretty similar to some of the stuff that Dr Darwen had been talking about in his Relational Data Base classes.

“Now, we might implement these structs as a large area of storage, with arrays of pointers to those structs; one array for customers, another array for accounts. You should recall us doing something similar in one of your last projects in the previous semester. Have I lost anyone here?”

Everyone seemed to be following along, so I continued.

“Now, we want to sort our list of accounts by the total balance field, so we can pull out the top value ones. But we don’t want to change the original array of pointers; so when we ‘sort’ the data, we won’t alter that at all. Instead, we will create a new pointer array, with the order of the items in that array descending on account balance. Another way to build what I’m calling this ‘index’ is not to store the pointer to the main account struct, but to have the index to that pointer in the main index array.”

I drew both methods on the board, showing how the new index pointed to the actual account record through the main index array.

“There are advantages and disadvantages with both approach, and you’ll get into data structures and data bases in later units. So for this exercise, we will use an array of pointers to the actual account struct entry for our account value index.”

I then put up some pseudo code showing how the new index would be built, and, in particular, an in-line function that would give the account balance value for an index record entry. I had people contribute to converting the pseudo code into a C program.

“Now, we’ve got that index built,” I said, once we had finished. “But sorting the data is only half the job; what’s the point of doing that if we can’t find what we need? So let’s get into the second part of this topic, searching.”

I pulled up a book from the desk; my copy of the Macquarie Dictionary.

“Does everybody know what this book is?” I asked, and a number of people called out the answer. “Yes, a dictionary; and this has the definition of lots of words, ordered alphabetically. Now, the other day, David, Claude and I were having a talk, and I was called ‘rambunctious’. I wasn’t all that sure if I was being insulted or complimented, so I looked it up in the dictionary. Let’s try that now ... I suppose I could start at the beginning, and search sequentially to find the word I’m looking for. But that would take a while, unless David called me an ‘aardvark’. So, let’s me smarter.

“I guess we should first find where the words starting with ‘R’ are located ... I’ll open the book about halfway... ‘K’, so let me move more towards the back. Okay, ‘T’, we went too far.”

After a minute of searching, I found the entry.

“Hmmm. Rambunctious ... adjective, boisterous; unruly. Thanks David,” I said, and people laughed.

“Now, how did I find that fairly quickly; there are tens of thousands of words there, but I found the one I wanted in a minute or two.”

“You knew the words were in alphabetical order, and searched based on that,” someone said.

“Right. Now we will try to formalize that process, in what we call a binary search algorithm. We split our array in half, and see which half our result lies in. We repeat the splitting in half process with the half that we know contains the result, and so on. At each stage, we have three options – our value equals the value at the middle point, and if so, we’ve found our answer. The middle value may be greater than our target value, and we now want to search between the previous lower limit and this middle point, or the middle value is less than our target value, and we search between the middle and the upper limit.

“We also have to consider situations where the value we are looking for doesn’t exist; one method is before we start the iteration, if our target value is greater than the maximum value, or less than the minimum value, we don’t even have to search the array. But what if it is in between those two values, but there is no exact value in the array?”

“I guess if we get to a point where the upper and lower bounds of the search are the same?” another person said.

“Exactly. Well, if they are adjacent in the array, then there’s no separate ‘middle’ point that we can find.”

I handed out the sheet with the pseudo code on it to the group, and then we discussed ways to improve the algorithm’s performance. As it was getting near the end of the hour, I told them as an exercise to try to implement that as a function; returning either the index value in the array if the target value was found, or -1 if it wasn’t found. David had prepared some test data that was on a directory on the 11/70.

“I think that went well,” David said as we walked back to our offices. “You really go them thinking about things today. I think that’s the way we should go, put up some basic pseudo code; have them turn that in C code, then discuss that code in a group, look for improvements in how it was written...”

“Do you think it will be too much if we start to talk about binary trees, things like that?” I asked him. “But it does tie in with what we’ve been talking about to date.”

“No, I think we could cover it. What if we put together some ideas tomorrow afternoon?”

We thought that was a good idea; it would give me time to look through some of my old notes on data structures, binary trees and tree traversal algorithms. The advantage with that was it showed how pointers could be used effectively. Pointers was one of the more poorly understood aspects of C programming; at least from experience with tutoring previous classes. The main problem with explaining pointers and using them effectively was to have a good, real world example that made sense to people.


On Saturday we had people from Alberts visiting us for our regular rehearsal; Fifa wanted to talk about how record sales were going, and she, George and Harry had some ideas for our next album. Sales were still strong; we hadn’t quite reached the number of ‘gold album’ status, but Fifa felt that we would get there by the end of August. The single seemed to have peaked at number 5 on the top 40; we were all pretty pleased as we were up against some pretty good songs from other major groups.

“We made the right call going with Fiona and Allison as the up-front vocalists on the single,” she said. “We’ve got some market research just in, and female rock singers are starting to gain popularity, not just here but overseas as well. Having a young, attractive woman singing up front is more popular than having a guy up there. Sorry about that, Will, it’s just what the marketing figures show. It attracts two key market segments; teenage and young men, 14 to 30, and teenage girls, too.”

“Really?” Allison said. “But I thought teenage girls would go for a hot, sexy guy? I can remember when I was twelve, all of us girls had a huge crush on David Cassidy.”

“Well, that’s part of it,” Fifa said. “The reason why the young guys like seeing women up front, particularly attractive, sexy girls like all of you, is obvious. They love seeing you up there, moving, looking sexy and attractive; to be blunt, they want to get in your pants. That’s why your hotpants, tight tops, falsies and the ‘take me home’ boots are a great idea.

“But the teenage girls, they see you on the stage, and think ‘I could be like that’; you are an inspiration to them; they all want to be another Allison, or Mandy, or Fiona. And having three aboriginal people in your group, Rachel, Traci, Stewie; that gives you a good reach into that part of the market, too. According to our marketing guru, the secret is having something that appeals to as many of the key market segments as possible.

“What we want to do is get another single out there; again with Fiona and Allison singing. We want to stick with the same style of music; George was thinking of ‘Chain of Fools’ on one side, and ‘Take me to the River’ on the other. They are both songs you’ve done before, we’ll just have to get you into the studio and record it.”

“And we want to get a single out with you as the lead singer, too, Will,” George said. “Lots of teenage girls still have the hots for you, despite what some marketing wanker might say. I’m thinking we hit the shelves with two of your popular blues songs; what was that one you would do the duet with Bon Scott? ‘Nasty Woman Blues’?”

“Mean Woman Blues,” I said. “Yeah, we could do that. What do you see as being on the flip side?”

“Something similar, ‘Treat Her Right’, or ‘Midnight Hour’,” he said. “My choice would be ‘Midnight Hour’, that seems to suit your voice a little better. But it would be good to record both, and see how they sound. When do you all think we could get maybe two or three days in the studio? How are you all placed for some free time? I know Uni is back for you, Will, and Fiona, and others are at work.”

“The week of the 24th is when the mid semester break is,” I said. “How does that work for everyone else? Does it have to be during the daytime, George?”

“We can lay down some tracks in the evenings,” he said. “And we can get some of us to stand in during the day, for people who aren’t there. We should be able to get by.”

“I’m going to be away on my honeymoon that week,” Phil said. “What if we try to do some evening sessions over the next few weeks? Or could you bring a portable recorder here next Saturday?”

“We could do that; the acoustics in here are good enough for what we need. Sounds like a plan, I’ll organize the tape deck and all that for next Saturday. If you and Chris are here, Mary Beth, I won’t need to line up the Applebee twins.”

“Great; that gives us a chance to rehearse those ones each night this week; who are you thinking of for the vocals on the ones the girls do?” Paul asked.

“Fiona for ‘Chain of Fools,” George replied, “and Allison for ‘Take me to the River’. But Mandy and Rachel backing up on both of them.”

With plans for the two new singles worked out, George started talking about another album, similar to the one we had just released. Some of the other guys – Harry, Graeme, Beeb, Jim – had already worked on another six or seven potential tracks for us. In a few weeks, he would get them up here for one Saturday, and we would start working on them.

“Maybe look at adding them to your live sets in September, refine them and look at recording the next album in late November?” he suggested

We seemed to have a plan mapped out for the next few months; so we spent the rest of the afternoon practicing the songs that George wanted for the next singles. I spoke to Janelle that evening about what Fifa had said regarding the market research, and how teen age girls wanted a role model that they could look up to, and emulate.

“That sounds about right,” she said. “I know from when I was maybe ten or twelve, I looked up to my mother, and I wanted to be a nurse, just like her. Saving all those sick people; I would listen to her telling me about what she had done that day at work, and I thought it sounded a wonderful job. And of course there was Nan, as well, I heard stories about what it was like being a nurse in the old days. I imagined what it would be like, in the emergency room, or operating theatre, helping doctors save someone’s life, like my mother and grandmother did.”

“I can remember having a similar conversation, years ago, about how most of us pursued careers similar to what our parents do,” I said. “Not everyone, and the careers they choose aren’t necessarily identical, but still pretty close. I mean, Cathy’s father is a bank manager, and she’s an economic adviser for the government.”

“Now, if you hadn’t had that first break up with Cathy, and Mr. King didn’t ask you to work on the school’s computer all those years ago,” Janelle started say, “That’s what got you started with computers, wasn’t it?”

I nodded.

“What would you have done? Electrical engineering, like your father?”

“Probably, I guess,” I replied. “And I may still have got into computing that way; who knows? But that’s why I don’t like the ‘what if’ speculation games. Maybe had I stayed with Cathy, I wouldn’t have had a reason to remain here in Sydney, and followed her to Canberra.”

The source of this story is Storiesonline

To read the complete story you need to be logged in:
Log In or
Register for a Free account (Why register?)

Get No-Registration Temporary Access*

* Allows you 3 stories to read in 24 hours.

Close
 

WARNING! ADULT CONTENT...

Storiesonline is for adult entertainment only. By accessing this site you declare that you are of legal age and that you agree with our Terms of Service and Privacy Policy.