MMP 350 Class Work Week 1 – CSS Review

 

Table of Contents

Note on Text Conventions

I display html elements in the text as follows: <div> <span> etc. Note that when talking in the plural I will write something like, the three <divs> have all turned green. HTML elements are never plural. I use this convention because <div>s looks ugly.

Instructions

Over the next 45 minutes please work through the following exercises. Within the exercises are 12 questions followed by the phrase Your Answer. Please fill in your best guess as to what you think the correct answer is. If you cannot figure out an answer to a question please use an internet resource like W3CSchools to figure it out. Feel free to discuss answers with other students or with the instructor.


Exercise 1: Inheritance and Styling Conflicts in CSS

Top | Next Exercise

Purpose

  • To demonstrate how cascading style sheets handle conflicts between elements, classes and element ids.
  • To introduce students to some useful selection tips

Concepts

  • Inheritance / cascading styles
  • Serif and sans serif fonts. Sans-serif fonts are characterized by even line weights. They are typically used for headlines. Examples are Helvetica and Arial. Serif fonts have uneven stroke widths, characterized by serifs (nodes) at the end of strokes. They are typically used for body text because the serifs make the characters easier to read. Common examples are Times Roman and Booker.

Steps

  1. Create a folder called Exercise 1
  2. Open a browser in Private Browsing / Incognito mode. This is done to avoid caching issues by the browser.
  3. Create a file called exercise_cascading_stylesheets.html with the following attributes or use a copy provided by the Professor.
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Simple Cascading Example</title>
  <link href="style_cascading.css" rel="stylesheet">
</head>
<body>
  <div id="main">
    <header class="header">Header</header>
    <section>
      <p class="body-text">Paragraph One</p>
      <p class="">Paragraph Two</p>
      <p class="">Paragraph Three</p>
      <p id="last-paragraph" class=“”>Paragraph Four</p>
      <div id="child-container" class="child-text">
	<p class="">Child paragraph</p>
	<div>
	  <p id="grandchild">Grandchild paragraph</p>
	</div>
      </div>
    </div>
  </section>
  <footer>Footer</footer>
  </div>
</body>
</html>

4. Create a file called style_cascading.css with the following content:

html{margin:10px;}
body {color:red;margin:0;padding:0;font-size:32pt;font-family:sans-serif;}
.child-text{color:black;}

Your document should display as follows:

Q1: Why is some text black and some text red?

5. Add the following to your style sheet.

p{font-family:serif;}

Notice that all of the p elements are now in a serif font.

6. Make the font family for .child-text sans-serif

.child-text{color:black;font-family:sans-serif;}

Q2: Why did the child and grandchild paragraphs not become sans-serif?

7. Now add the child-text class to the Child paragraph and the Grandchild paragraph and refresh your page.

Q3: Why did the child and grandchild paragraphs become sans-serif?

8. Now add the following to the bottom of your css file:

#grandchild{font-family:serif;}

The file should look like the following:

There are now two conflicting styles applied to the grandchild element, one applied via the classname .child-text, the other applied via the style for element id #grandchild

Q4: Why did the grandchild element become serif?

9. Now add a second class called quote to the #grandchild element in the html document. The result should look like the following. The word quote is in red for emphasis. In your html document it will not change color.

<div>
  <p id="grandchild" class="child-text quote">Grandchild</p>
</div>

… and add a class definition for quote to the style sheet:

.quote{margin:20px} 

Note how two different classes can be applied to the same element. But what happens when there is a conflict?

10. Modify the .quote class as follows:

.quote{margin:20px;font-style:italic;color:purple;}

There is now a clash between the two classes. The .child-text class specifies a color of red and the .quote class specifies a color of purple. Which one wins? That depends on the position of the two classes in the file.

11. Change the position of the two classes in your css file, first with .child-text before .quote

.child-text{color:black;font-family:sans-serif;}
.quote{margin:20px;font-style:italic;color:purple;}

… and then with .quote before .child-text

.quote{margin:20px;font-style:italic;color:purple;}
.child-text{color:black;font-family:sans-serif;}

Q5: What happens to an element when it has two styles that are equally specific?

12. Make Grandchild sans-serif.

This is trickier than it sounds because there are now three different stylings applied to the grandchild paragraph font-family, with body, .child-text and #grandchild styles. Deciding which solution to use has consequences.


Exercise 2: Four ways of selecting in CSS

Previous Exercise | Top | Next Exercise

Purpose

CSS has many useful techniques that to allow you to apply styles to objects, based on their position in the DOM object hierarchy. This exercise looks at four techniques.

Concepts

Pseudo Classes

Steps

1. Create a document called style_selection.html with the following content

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Simple Cascading Example</title>
    <link href="style_selection.css" rel="stylesheet">
</head>
<body>
	<div id="main">
		<header class="header">Header</header>
		<section>
			<p class="body-text">Paragraph One</p>
			<p class="">Paragraph Two</p>
			<p class="">Paragraph Three</p>
			<p id="last-paragraph" class="">Paragraph Four</p>
			<div id="child-container" class="child-text">
				<p class="child-text">Child paragraph</p>
				<div>
					<p id="grandchild" class="child-text quote">Grandchild paragraph</p>
				</div>
			</div>
		</section>
		<footer>Footer</footer>
	</div>
</body>
</html>

2. Create a style sheet called style_selection.css in the same folder as your html document and add the following styles:

body {color:red;margin:0;padding:0;font-size:12pt;font-family:sans-serif !important;}
#main{margin:10px;}

Save and view the file. It should look like the following:

3. Add the following to your css file

section p {color: blue;}

Q6: What happened?

4. Change the styling as follows:

section > p {color: blue;}

Q7: What has happened?

5. Add the following to the bottom of your file:

section p:first-child{color: green;}

:first-child is known as a psuedo class. There are a number of pseudo classes including :hover, :before, :after, :first-letter and :first-line

Q8: Why did 3 paragraphs turn green?

6. Change what you just typed by adding a > to the style

section > p:first-child{color: green;}

Q9: Why did only the first paragraph turn green?

7. Add the following to your css file:

section > p:first-child:first-letter{font-weight:bold}

Notice that pseudo classes can be added together.


Exercise 3 – Positioning and flow

Previous Exercise | Top | Next Exercise

Purpose

  • To demonstrate the difference between fixed, absolute, floating and static positioning
  • To demonstrate the difference between inline, block and inline-block styles

Steps

1. Create a document called positioning_exercise.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Positioning Example</title>
    <link href="style_positioning.css" rel="stylesheet">
</head>
<body>
<header class="myheader">This is a header.</header>
<h2>Position Static and Position Relative</h2>
<section id="s1">
	<div>These divs</divs>
	<div>have no positioning information</div>
	<div>so default to position static. This means they render based on their position in the document flow.</div>
</section>

<section id="s2">
	<div class="pr">When these divs</div>
	<div class="pr">are 
		<span class="red">position relative</span>, they align relative to their parent container, in this case section.s2.
	</div>
</section>
<footer class="myfooter">This is a footer.</footer>
</body>
</html>

2. Create a style sheet called style_positioning.css and save it to the same location as positioning_demo.html

body{height:1100px;border: 1px solid red;}

View the results in a browser. They should look like the following. At this point, make your browser window smaller so that it has a vertical scrollbar.

3. Make the header fixed by adding the following class to your style sheet

.myheader{position:fixed;}

Scroll up and down to see the results of your change.

4. Position the footer at the bottom of the screen by adding the following to the css:

.myfooter{position:fixed;bottom:10px;} 

5. Now give the footer an absolute position:

.myfooter{position:absolute;bottom:10px;} 

Q10: The footer, when given an absolute position behaves differently when you scroll than when it has a fixed position. Describe this difference

6. Position static and relative

Add the following class to the style sheet:

.pr{position:relative;}

This styling with be will be applied to the first and second divs of the section#s2:

<section id=”s2”>
	<div class="pr">These divs</div>
	<div class="pr">are 
		<span class="red">position relative</span>, so are aligned relative to the parent container
	</div>
</section>

Refresh your screen. Nothing should happen. Making the above two divs position:relative renders the document no differently than before when they defaulted to position:static.

8. Now add the following to the .pr class

.pr{position:relative;left:100px}

When you refresh notice how the two <divs> with the .pr class are now offset by 100 pixels.

Q11: What are the div.pr elements moving relative to when their left property is set?

8. Now change the .pr class style as follows:

Q12: Why did the two div.pr elements stop indenting?

9. Block, Inline and Inline-Block

Look at the rendered version of the document and then its source, focusing on the two sections. Notice how the document has line breaks where-ever there are <divs> but does not when there are <spans>. That is because <divs> are block elements and <spans> are inline elements. That means that divs have breaks before and after themselves; while spans can be placed within a line of text.

10. The display:inline-block styling merges these two elements. Add the following to your style sheet:

section div {display:inline-block}

Q12: What happens when you refresh your page?

11. Setting height and line height to show the difference between inline-block and inline.

Spans are inline elements. Add the following styling so we can easily see the spans:

.red{color:red}

When you refresh, you will see that span.red has become red. It is an inline element so it flows within the line.

12. Set the line-height of the spans

span {line-height: 68px;}

13. Try to set the height property

Q13: Height is ignored. Why?

14. Make the spans block elements:

span {display:block;height: 68px;}

When the span is made into a block element it gets a height property.

15. What is the difference between height and inline height?

Give your spans a border and then view them first with line-height set and then with height property set (not both at the same time)


span {display:block;line-height: 68px;border:1px solid purple;}

span {display:block;height: 68px;border:1px solid purple;}

Q14: How does the text position change based on height and line-height properties?

16. Bonus

Make the div.pr elements inline-block and play with both their line-height and height properties simultaneously to see what happens.


Exercise 4 – Margins and Padding

Previous Exercise | Top

Purpose

To demonstrate the difference between margins and padding

Steps

1. Create a document called margins_and_padding.html and add the following code to it:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Padding and Margins Example</title>
    <link href="style_margins_and_padding.css" rel="stylesheet">
</head>
<body>
<section>
	<h2>Padding and Margin Example</h2>
	<div id="outer" class="border">Outer
		<div id="middle" class="border">Middle
			<div id="inner" class="border">Inner</div>
		</div>
	</div>
</section>
</body>
</html>

2. In the same folder create a file called margins_and_padding.css and add the following styles:

#outer{border:2px solid blue;}
#middle{border:2px solid red;}
#inner{border:2px solid green;}

The results should look like the following:

3. Add the following style to the #inner element

#inner{border:2px solid green;margin:10px 10px 10px 10px}

4. Add the following style to the #middle element

#middle{border:2px solid red;margin:10px 5px;}

Q14: What happened?

5. Add the following style to the #outer element

#outer{border:2px solid blue;margin:10px;}

Q15: What happened?

6. Change the styling associated the #inner element to the following:

#inner{border:2px solid green;margin:10px 20px 30px 40px;}

Q16: What happened?

7. Change the styling associated the #inner element to the following:

#inner{border:2px solid green;margin:20px;padding:10px}

Q17: What happened?

8. Change the style for #outer as follows:

#outer{border:2px solid blue;margin:-50px 10px 10px 10px;}

Q18: What happened?

9. Make #outer position fixed, relative and absolute

Q19: What happened?

10. Make all three elements position:fixed.

#outer{position:fixed;border:2px solid blue;margin:10px;}
#middle{position:fixed;border:2px solid red;margin:10px;}
#inner{position:fixed;border:2px solid green;margin:10px;}

When you refresh you should see the following:

Q20: What happened?

Answers

Q1. The default color for the text is red, as set in the body tag. This is overridden by the more specific class .child-text., which is applied to the child paragraph and inherited by the grandchild paragraph.

Q2. The styling on the paragraph element is considered more specific than the class styling, so it takes precedence.

Q3. When the child-text class is directly attached to the child and grandchild elements, it becomes the most specific styling and therefore takes precedence.

Q4. The grandchild element became serif because styling assigned to an id (#grandchild) is more specific than class and element styling and therefore takes precedence.

Q5. Two two styles are equally specific, the last style to render will be the one which displays. This is determined by its position within the style sheet itself.

Q6. The paragraphs that are children and grandchildren of <section> become blue.

Q7. Only the immediate children of <section> become blue.

Q8. Paragraph One, Child Paragraph and Grandchild Paragraph are all first children.

Q9. The > operator selects the immediate children of the element or class in the style, in this case the section element.

Q10. Their position is set relative to their parent container.

Q10. The footer, when given an absolute position behaves differently when you scroll than when it has a fixed position. Describe this difference.

Q11. Their position is set relative to their parent container.

Q12. When the elements are styled as position:static then left can no longer be set. Use margins and padding instead.

Q13. The divs with the inline-block setting are displayed inline, instead of having breaks between each element.

Q14. Inline elements do not have a height property, use line-height and font-size instead.

Q15. The inline-block elements now have a height property.

Q16. Space added outside of element

Q17. Padding was added to all elements. 10px 10px format

Q18. Your answer: 10px added to top, right, bottom and left sides of element

Q19. The top of the element got 10 pixels of space added outside, the right of the element got 20px of space added outside the element, the bottom of the element got 30px of space added below it, and 40px of space was added to the left of the element.

Q20. 20px of space was added around the outside of the element (margin), 10px of space added within the element (padding).

Q21. The outer element moved up.

Q22. With position: fixed the width of the element shrunk based on text size, instead of defaulting to screen width. With position: relative the width expanded to the width of the screen. With position: absolute the with of the outer element shrunk based on text size.

Q23. All three elements are no longer in the document flow because they are position:fixed, as a result they are no longer nested. The point of this example is that properties like position and margin interact with each other.

 

Non-Academic Teaching

 

I have taught hundreds of technical classes for a variety of NGOs and corporations, including:

  • BMW
  • Citi Bank
  • Human Rights First
  • The Desktop Publishing Training Centre
  • The Daily Kos
  • The Institute for Computer Studies
  • The Station Art Gallery
  • Weston Bakeries
  • Zipf Davis

 

Innovation Lab Readings

 

RESEARCH
file:///Users/newuser/Downloads/Muldoon_et_al-2012-Political_Psychology.pdf
https://www.readcube.com/downloading

Muldoon, Orla Social Identity, Groups and PTSD
http://ezproxy.library.nyu.edu:2134/doi/10.1111/j.1467-9221.2012.00874.x/epdf
Technology and clinical practice
http://ezproxy.library.nyu.edu:2060/science/journal/13865056

Interference control training for PTSD: A randomized controlled trial of a novel computer-based intervention
A

A confirmatory factor analysis of combined models of the Harvard Trauma Questionnaire and the Inventory of Complicated Grief-Revised: Are we measuring complicated grief or posttraumatic stress?
https://ezproxy.library.nyu.edu:22256/#!/content/playContent/1-s2.0-S0887618510000903

Journal of Immigrant and Minority Health
December 2014, Volume 16, Issue 6, pp 1055-1061
Date: 19 Feb 2014
Specific Trauma Subtypes Improve the Predictive Validity of the Harvard Trauma Questionnaire in Iraqi Refugees
http://ezproxy.library.nyu.edu:2178/article/10.1007/s10903-014-9995-9

Journal of Nervous & Mental Disease:
February 1992
Article: PDF Only
The Harvard Trauma Questionnaire: Validating a Cross-Cultural Instrument for Measuring Torture, Trauma, and Posttraumatic Stress Disorder in Indochinese Refugees.
MOLLICA, RICHARD F. M.D., M.A.R; CASPI-YAVIN, YAEL M.A., M.P.H.; BOLLINI, PAOLA M.D.; TRUONG, TOAN; TOR, SVANG; LAVELLE, JAMES L.I.C.S.W.
http://journals.lww.com/jonmd/Abstract/1992/02000/The_Harvard_Trauma_Questionnaire__Validating_a.8.aspx

Rasmussen: invariance
http://psycnet.apa.org/?&fa=main.doiLanding&doi=10.1037/pas0000115
http://ezproxy.library.nyu.edu:2259/psycarticles/2015-16476-001.pdf

Psychological Assessment
Editor: Cecil Reynolds, PhD, ABPN

A Contemporary Taxometric Analysis of the Latent Structure of Self-Monitoring
Michael P. Wilmot
University of Minnesota
Psychological Assessment © 2015 American Psychological Association
2015, Vol. 27, No. 2, 353–364
http://ezproxy.library.nyu.edu:2259/journals/pas/27/2/353.pdf&productCode=pa

When language breaks down: analysing discourse in clinical contexts
Asp, Elissa D • 2010
Publisher:
Cambridge University Press
ISBN:
9780521889780
http://ezproxy.library.nyu.edu:2054/lib/nyulibrary/reader.action?docID=10385805

 

01 Swimming with the Invertebrates

 

The Bay of Fundy was as clear as a cup of tap water. The water was so pure that when the sun was directly overhead, as it was now, you could see the ocean floor. Chandra floated to the surface and lay on her back staring at the sky through filtered eye-glasses. Even though it was midday, on the horizon she could see the outline of the rising moon. Soon the gravity of the sun and the moon would combine into one of the most powerful forces on Earth.

Chandra dove down into the ocean. Initially all that she could see was a bloom of moon jellies, which after a moment parted to reveal a tube-like creature that glowed with a faint, phosphorescent light. At first she thought that the creature was a typical scyphozoan, perhaps 2 or 3 metres long. The giant jellyfish floated in the perspectiveless sea toward her. Her scanner identified it as Scyphozoan Giganticus, one of the newest and largest inhabitants of the North Atlantic. The creature was shaped like a 30 meter wide diaphanous bell, its tubular body not unlike that of a squid. The cilia which lined its perimeter glowed red, yellow and blue neon. She could see through its translucent body, save for where there were thick, pulsing objects that looked like organs. There was a dark cloud in the middle of the creature, probably a meal of krill or zooplankton.

The jellyfish flailed pathetically. It was surrounded by a halo of detritus including the skeletons of running shoes, plastic toys and fish. As she swam closer, with the intention of freeing it, she noticed that it had been trapped in an ancient drift net. She proceeded carefully. Even though she was protected by a suit that would allow her to walk safely on Jupiter, she knew that the giant invertebrate could nevertheless kill her if she got ensnared in its tentacles. After much careful effort, she cut the jellyfish free. It quickly inspected her with a tentacle and then slipped into the ocean depths.

Chandra breached the surface of the trembling ocean. The sun and the moon were aligned. She gave into the tide’s enormous force, thinking “This is the where natural biology intersects with religion”.

Though mankind had fled from its wounded home planet centuries ago, every culture from the Earth Diaspora had moon, sun and water cults. You could find vestiges of these cults on planets without moons, in deep space orbitals with no oceans and on mining colonies with cold, distant suns. The myths remained strong because their roots were so miraculous.

The roots were here.

For one moment all was still then the tide turned and the ocean raced down the Bay, directly toward the sun and the moon. Chandra gave in to its force, and was propelled along the length of the northern arm of the Bay by a kilometre wide, 17 metre high wave. The cove where she was beached was littered with invertebrates, twigs and kelp.

Chandra had a few minutes to explore before she needed to leave for England, so she decided to walk along the narrow beach. She crawled over a fallen tree and around a bend into an inlet that had a large wide beach. In the middle she saw a giant jellyfish. As she watched, the creature slowly pulled itself into the ocean. Its main weight, its head, was oriented at an angle to the Atlantic Ocean; its tentacles were weak and had difficulty finding purchase. The creature was blasted by a huge wave and then pushed further onto the shore than before. It struggled again and then went flaccid. Chandra was amazed that it had not yet suffocated. After a brief respite the jellyfish pulled itself up. To her surprise it began to move toward her and away from the sea. The jellyfish paused when it got to within a dozen meters of her; it sent several long tentacles in her direction, as if it was inspecting her. The next wave swept the giant creature away.

After a moment’s reflection on her encounter with this new, apparently intelligent species, Chandra reluctantly summoned her aircraft: there was a storm off approaching the English Channel, which she had to hurry to avoid.

To her surprise, it did not appear immediately. But the sky was the same slate-grey color as the aircraft. The craft popped out of the clouds, and like the mirror image of a water bug, scooted along the underside of the clouds. Her suit came with anti-grav. She met her plane 50 metres above the churning Bay.

While she returned to Dover, Chandra wondered what would happen next. Her uncle had secured permission for her to study the King tide in the Bay of Fundy, which she had just done. Would his favor be accompanied by some form of imposition? On this count, his record was mixed. Some of her uncle’s gifts, like his payment of her tuition for post-graduate studies, were deeply appreciated and came with no conditions. But others …

Chandra remembered receiving a lone parakeet from him once. The gift was inappropriate not just because of its obscene cost but also because she was a person opposed to captivity for any animal. The parakeet had vexed her for weeks until finally, at great cost and risk to her reputation, she found a way have it returned to an environment where it could live and breed in freedom.

Worse than his inappropriate gifts, were the ones that had conditions attached to them. Her uncle was rich, so his demands were always for abstract things that he could not directly purchase, like impositions on her time and reputation. She would accede to his inoffensive requests., which for the most part involved little more than time wasted at galas. She did so without complaint, because of her gratitude for his assistance with her education.

As she thought about her uncle’s motivations, she looked out of the window. Her craft was flying over the Grand Banks. To her surprise she saw a vast construction site where she had expected to see nothing but ocean. Her craft was traveling rapidly, so the site disappeared after only a few minutes; she examined it on her scanner for several more. Between the enigmas of her uncle’s motivations and the construction site on the Grand Banks her mind was kept busy while her craft scudded across the north Atlantic. She landed on the Channel side of her uncle’s property, one kilometer from his main residence. Though the epicenter of the storm was on the other side of the Channel the wind was blowing with considerable force. She still wore her diving suit, so was perturbed neither by wind nor water. She made an attendant take her belongings to her uncle’s home and walked toward the cliffs. A second attendant followed her at a respectful distance.

As with Nova Scotia, the Dover landscape was flat and gray. The dominant vegetation was tundra, spotted with low lying ferns and heather. At the edge of the cliffs she encountered a large strip of tape that was placed in a semi circle around the stairway to the beach. On the tape was written the words “Caution: Industrial Zone” in large, iridescent block letters. To Chandra the tape was informational and not a barrier; she ducked under it and walked toward the edge of the cliffs. She knew this section of the property very well; she had played here as a child. Her current path led to a secret stairway which had been carved into the cliffs long ago. She walked to the stairway, with the intention of going down to the beach. When she reached the top of the stairs, she saw that the beach was lined with large machines that had scoops with teeth so sharp that they looked like the mouths of predator dinosaurs. The machines were attended by whisper-thin robots which walked calmly through the raging wind as if it did not blow.

“Mining on Earth!” Chandra thought. She was so amazed that it took her a moment to comprehend the entreaty of the house attendant which had followed her: “Madame, it is far too dangerous to be out here right now.” The machine’s statement was punctuated by a strong gust of wind.

The attendant repeated its point, “Madame, we must hurry! The hurricane is upon us.”

There was no outlasting an insistent machine so she turned her back to the Channel and walked back to her uncle’s home, the robot’s right hand lightly, but firmly placed on her upper back to steady her.

Chandra paused to compose herself when they reached the entrance to the main house. A little brass nameplate graced the door. The words on it read “Satish Dekas, Councillor at Law” Seeing her uncle’s first name, Satish, made her smile; the family’s nickname for him had always been Surya, the sun to Chandra, the moon.

She was asked to wait in the house’s interior courtyard; it was an artificial environment full of trees and flowering plants. Tables were sparsely distributed throughout the courtyard, each situated in the middle of a copse of trees. She could see hummingbirds and bees. What struck her most in the midst of this abundance was the humidity. There was no humidity on the orbital where she lived.

In the middle of the courtyard there was an aquarium which contained a snapshot of what had once been the Carysfort reef off of Florida, including tiny dolphins and tuna. She chose a table on the perimeter of atrium as far away from the aquarium as she could. That her uncle had achieved an amazing feat by miniaturizing an entire eco-system was undeniable. But to her it was a dastardly miracle that mocked one of the greatest tragedies of Earth history, the destruction of the coral reefs.

Chandra had not been sitting for more than three breaths, when her uncle greeted her with a barrage of questions, “How was your trip? Do you have pictures?” He smiled as he spoke. His friendly curiosity was an aspect of him that she loved. As he spoke he gently prodded her from where she sat and escorted her to a table immediately beside the aquarium.

He was an irresistible force, if you were polite.

They spent the next few minutes reviewing the recordings from her trip. To Chandra’s surprise Surya spent most of his time examining her scans; and had more questions about the acidity of the water than about the strange creatures that she had encountered. He did pay close attention to the video of the beached giant jellyfish.

“Earth is so alien”, he said.

“What do you mean?” she asked.

“Chandra, when you see these monstrous invertebrates don’t you feel that this isn’t our planet anymore?”

“Uncle Surya, Earth was never our planet.”

He caught his breath and then changed the subject. “Do you have any other trips planned?”

“I’ve been trying to get permission to visit Shantung. The tides there are almost as powerful as those at the Bay of Fundy.”

“Why don’t you come with me to Florida while you wait? I’m doing some work on the Carysfort reef that you might be interested in.”

“Uncle, there’s no reef there. The Caribbean is just a desert.”

Instead of replying he simply glanced at the aquarium.

“You’re trying to recreate the reef aren’t you?”

Chandra knew she she reflect before reacting but could not contain herself. She was quite angry.

“Why didn’t you tell me?”, she asked coldly.

“Chandra, that is a ridiculous question. I still haven’t told you anything. You know how I operate. When I’m making a deal, even a charitable one like this, no one except those who have a need to know are given details.” He reached out and affectionately clasped her hands in his, “You’re the first person to whom I will tell all once my project goes live.”

For a moment she dared to dream that perhaps her uncle had stumbled upon a miraculous technology that only caused good and not bad. With this technology he would rebuild the desert oceans while leaving the life that had just evolved in them alone. It was an impossible fantasy. She tore her hands out of his and said accusingly, “What you propose will affect every ocean. How do you know that your tinkering won’t kill what little life is left in the Earth’s oceans?”

“Chandra, the specifications for my work have been studied for nearly 100 years. Or a million years if you include the computer models. No whales or tuna are going to be affected. In fact, they will thrive under my plan.”

“Why must you do anything? Why can’t you let the Earth heal itself?”

“Because that could take ten thousand years.” He smiled broadly, but that did not break the ice that had formed in the chilly space that separated them. “Chandra, please humor me. I am a good man. Let me show off my legacy to you before you leave. It would mean so much …”

Surya’s attempt at reconciliation failed, but she was ensnared by her curiosity. She had guessed some of his plan’s key details: the construction site at the Grand Banks was a heat pump to start the Gulf Stream; the mining at Dover was to provide a source of calcium for reefs; the tiny creatures that she saw in his aquarium would doubtless grow to full size when released into the ocean. Perhaps she could find a weak link in this scheme, and in a subtle way sabotage it.

Despite being compelled by her fantasies, Chandra’s answer to her uncle’s offer was non-committal: “I’m really tired. Let’s talk about this after I’ve had some rest.”

“Of course.”

She did not rest.

She spent the evening fantasizing about reprogramming a battalion of slight, industrial robots to dismantle all of her uncle’s mega-projects. She knew that dismantling even one project would be daunting; but she also knew that robots were persistent and if convinced of the morality of a controversial path of action, would follow it to its conclusion. She need only convince one and …

The next morning she agreed to visit her uncle’s triumph in the Caribbean. Surya assumed she would accept his offer, so she did not even need to pack before they left. Everything had been arranged.

As they walked toward the landing field her uncle was in an ebullient mood. They passed the limestone mine by the tape barrier near the top of the cliffs. “Uncle, why are you mining these cliffs? Is it for Carysfort?”

“Sort of.” He smiled sheepishly.

“How are you getting this limestone there?”

He didn’t answer but she already knew the answer to her question. “That’s what the heat pump you are building off of the Grand Banks is for, isn’t it?”

She knew that her guess was correct when he said, “Chandra, I always forget how much smarter you are than me.”

Again she asked, “Uncle, why can’t you leave the Earth alone?”

He did not reply.

Surya chose a seat near the front of their craft, while she settled into a seat near the back. She wanted to be alone with her thoughts: flying made her introspective.

She had always thought that flight and sailing were among mankind’s most significant inventions. Man was a creature of land, and with flight he conquered the air and with sailing, water. Thinking we controlled the elements, we vanquished the Earth she thought.

Her reverie was interrupted by her uncle’s leering smile. “Chandra check out the news. Any channel.” His good humor made her cringe, but she did turn on her monitor. The news commentator startled her out of her chair. “Yellow fin tuna have been discovered just west of Gibraltar, swimming in unusually warm water currents.”

“The heat pump must already be working” she thought. She turned to her uncle and asked, “Is it sustainable?” She expected another one of his businessman dodges in reply.

“What?”

“The pump. Once you’ve got the temperature differentials working will the Gulf Stream propel itself?”

“The heat pump is like a pace maker. Once the Stream is working we expect to need to use it only sometimes.”

The news saddened her because it limited the scope of her activity. Disabling the heat pump off of Newfoundland would, if anything, make the Atlantic more variable, which in turn would threaten more life. She cursed her uncle and all those like him that forced her to act and made it so difficult for her to do so.

Chandra turned her back to her uncle, effectively ending their discussion. There was no point in trying to reason with him. The virtue of leaving things alone was something that he would never understand. For the remainder of the trip she did nothing but watch the sparkling blue ocean pass under the wings of her speeding vehicle.

They landed at Key Largo and then took a boat to the inlet where the ancient Carysfort lighthouse was located. The inlet had become a construction site: its far end was lined with piles of soil. The rest of the beach was covered with metal containers. Here and there she could see robots crouched over, assembling devices that she could not identify. The machines’ activities were overseen by a dozen people.

There was lots of motion. Most activity was focused on the pier, where 2 flat bottom boats were docked. One was covered with metal containers, the other with piles of a gelatinous material that she could not identify.

Out of politeness she asked for permission to go swimming, and it was given, but with carefully prescribed boundaries. Those boundaries were what she wanted to know – she would cross them and find out what they hide.

She entered the Caribbean beside the aged lighthouse. The rocky ocean floor was covered in a faint white shawl, which was a reminder that once this region had been a vast coral reef teeming with more life than had yet been found on any other planet in the galaxy.

Chandra swam further out toward where the reef used to be. Her path was clearly marked by signs of human – and robotic – intervention. The dusty calcium layer on the ocean floor gave way to regularly placed mounds of material that were battened down by baskets made of stones and wire. She swam next to one of the mounds to inspect it more closely. The material was alkaline. The mounds themselves were slightly elevated above the ocean floor. She dove deeper to inspect the gap between the ocean floor and the mounds. The water heated by several degrees as she approached. Periodically jets of water were sprayed out from the bottom of the mounds. She analyzed a sample from the water spray. It was full of protein. Though the protein resembled the organic detritus the regularity of the molecular structure suggested that the material had been manufactured.

While she swam along the proto-reef a jellyfish swam into view. It looked very much like the giant one that she had seen in the Bay, but was about one tenth the mass and glowed faintly red. She swam to within 20 meters of the animal and then held her space. Suddenly the jelly launched in her direction. Startled, she swam backward for several meters. The jelly overtook her in a second. It circled around her twice and then stopped a safe distance away from her. Though there were no eyes in its head, she felt it looking at her. The jellyfish’s inspection ended abruptly when a pod of dolphins crested the limestone mound behind her. The pod swam directly toward the jellyfish. The jellyfish raced away and the dolphins immediately dropped their pursuit. It was obvious that they were not trying to catch the jellyfish; but rather were trying to scare it away from their food source. Suddenly the jelly dashed over the top of the limestone mound and snared a baby dolphin in its tentacles. The jellyfish disappeared with its victim before the pod had time to realize what had happened.

She swam to the ocean floor in order to inspect the hot air vents, with the intention of trying to find a way to disable them. The vent that she chose to inspect was surrounded by a miniature school of sharks that was feeding off of the protein it was expelling.

A long, thin boat stopped in the space above her, its shadow cutting off some, but not all, of the sunlight. Packages were being dumped into the ocean. She caught one in a net and cautiously examined it. It was a sunfish encased in a buoyant, translucent substance that she did not recognize. While she was examining the sunfish several blooms of different types of jellyfish appeared around her. They inspected the packages and then began to tear them open. Some fish swam free. Others were ingested by the jellies. Then the sea darkened again. The ocean above the feeding frenzy turned milky. At the moment the downward falling milky water contacted the jellies they recoiled as if in pain. In an instant all of the jellies were gone. The remaining translucent packages dissolved and a host of creatures from the old Carysfort ecosystem emerged. She swam up to one school of miniature tuna to investigate. They were eating the packages they had been encased in, which seemed to be made of some form of engineered plankton. She looked at her scanner: the water had become significantly more alkaline.

A group of moon jellies hovered at the edge of the milky sea. In the middle of the group Chandra saw a much larger invertebrate. She swam toward the bloom, to investigate. The creature’s movements seemed wrong, somehow. They were more listless than the other invertebrates that she had swum with. She moved still closer and realized why: the jellies were dead. She thought to herself, bitterly, “We are recreating this habitat with the techniques of a god and the sensibility of an animal.”

Chandra swam around the jellyfish corpses taking detailed scans for her records.

Once her scan of the jellyfish corpses was complete she drifted back to the vents on the sea floor. If she wanted to undermine this project this food source was a good place to begin.

As she went to work destroying the vent, a pod of miniature dolphins appeared. They were attracted by curiosity about her. When they noticed the vent they immediately swam down to it and began to feed. The genetically engineered creatures appalled her. These weren’t the creatures that thrived here before the oceans had become acidic. These were constructions. Yet, to her scans the genetically modified dolphins were indistinguishable from those created by nature.

The presence of these dolphins, like the presence of any other life form, challenged her actions. If she destroyed this vent she was threatening these creatures; leaving it alone threatened the jellyfish. Her uncle had forced her to act and made it impossible for her to do so. She put away her tools and left the damaged but still functioning vent to its fate.

She returned to the shore just north of the Carysfort lighthouse in the late afternoon. There was far less activity than when she had left. The industrial robots had packed themselves away and what few humans remained were quietly preparing to leave.

When she emerged from the water she was greeted by three security robots. Her travel visa had been revoked. Though Satish did not say farewell to her in person, he did let her borrow one of his more versatile vehicles for her flight to the Lagrange Spaceport. She wished to inspect the Gulf Stream on her way into space, so her uncle’s parting gift was appreciated. While waiting for her clearance to leave the atmosphere, her vehicle floated over the Atlantic Ocean. She read the news. The top story was about a bloom of giant jellyfish which had washed up onto the Carolinas. Over 100 kilometers of beach were affected. Many scientists insisted that this was a sign that the Atlantic Ocean was returning to health.

As her craft flew east over the Gulf Stream she noticed a huge, brown smear of water that stretched across the horizon, from her uncle’s mine in Dover to the Caribbean. As her vehicle moved over the Azores she noticed another smear moving exactly perpendicular to the calcium laced Gulf Stream: a tremendous bloom of jellies was swimming into the Atlantic Ocean’s acidic depths. She widened the scope of her analysis and saw one more bloom also moving toward the mid-Atlantic. As she watched the blooms merged together. “Perhaps they will survive after all”, she thought. Chandra’s eyes were glued to her monitor as her ship left the atmosphere and entered space; still she could see the bloom of jellies.

 
Post format is:
Template archive.php