<h2>Live for knowledge. Everything else is maintenance.</h2>
<hr>
It's 1:44 am, UTC, and I'm a geologist and the entire lunar colony is depending on me. I was on a week-long camp near Reiner Gamma, mapping minute mineral concentration changes. The magnetic field... I'm boring you. I got a message that the new comms officer brought a case of measles to the station, but not to worry, it was contained. Then another message reminding everyone to use sanitizer on their hands. Then another saying stay in your rooms. And then the message telling me not to come back.
And then the message that, with everyone else in quarantine, I'm the only one who can perform necessary maintenance on the station. They're all counting on me.
I've packed up my equipment and driven back to the colony dome. The maintenance chief has sent me a list of what needs to be done. The first task is to check the air circulation filters.
[[Why can't I start?]]
My father would be better at this. He's a facilities manager. Once, I was my father's favorite. I knew this without any words, in the way he cradled me in his arms and hovered near me when I dug for fossils in a sandbox. In the jealousy in my sibling's eyes. But then I moved away, and away again, and we had less and less to say to each other.
<hr />
I have <a id="word1" onclick="count(1)">no</a> training. A gelogist can<a id="word2" onclick="count(2)">'t_ </a> fix air filters. What am I? A <a id="word3" onclick="count(3)">useless</a> theorist<a id="word4" onclick="count(4)"> who counts pebbles</a>. Of <a id="word5" onclick="count(5)">no</a> use to Luna Station. <a id="word6" onclick="count(6)">If I were a</a> <span id="A" style="display:none"> A</span> good person, I <a id="word7" onclick="count(7)">would have</a> studied hard<a id="word8" onclick="count(8)">er</a>.
<hr />
These negative thoughts are holding me back. I need to cut them out of my mind.
<div id="second" style="display:none">
That's better. [[I go forward]]
<hr />
</div>
<% total = 0 %>
<script>
function count(i){
total++;
document.getElementById('word'+i).style.display='none';
if (i==6) {
document.getElementById('A').style.display='inline';
}
checkCount();
}
function checkCount() {
if (total==8) {
document.getElementById('second').style.display='block';
}
}
</script>
<h2>Chores are not fifteen minutes. <br />
Chores are what you do all your life.</h2>
<hr />
My father had these phrases, little pronouncements he would declare like it was the end of a long speech. Like the right combination of motivational sentences would make his children good people.
I approach the air filter, thinking about the one about chores. I just need to start. Where to start?
I look at <select onchange="show(this.value)">
<option> </option>
<option value="reflection">my reflection.</option>
<option value="filter">the filter.</option>
<option value="feet">my feet.</option>
<option value="instructions">my messages.</option>
</select>
<div id="reflection" style="display:none">The environment suit anonymizes my reflection. I could be anyone. Head of research, governor of the colony, or the person who knows everything about air filters.
<hr /></div>
<div id="filter" style="display:none">The filter is definitely dirty. The indicator lights are flashing red. There is a cover over the controls.
<hr /></div>
<div id="feet" style="display:none">Thick suit boots covered in the fine particulate dust of the moon. Sometimes I need to remind myself I'm really here.
<hr /></div>
<div id="instructions" style="display:none">Maintenance Chief Avery wrote down exactly what to do. I unlock the housing and pull the lever that clears the filter. The light turns green. I return the lever and the housing to their starting state. [[On to the next task]]</div>
<script>
function show(opt) {
document.getElementById(opt).style.display='block';
}
</script>
I walk the perimeter, checking for visual problems. Each section has an air pressure gauge, a radiation gauge. Avery has given me a list to make sure I check each one.
<a id="word1" onclick="toggle(1)">Everything</a><a id="swap1" onclick="untoggle(1)" style="display:none">The colony</a> depends on <a id="word2" onclick="toggle(2)">me</a><a id="swap2" onclick="untoggle(2)" style="display:none">regular maintenance</a>.
Am I missing something? Didn't I already check that? "Avery, are you there?" No answer. Asleep, probably. I should be asleep.
Enough circular thoughts. My father would want me to focus on what I can change:
Avery <a id="phrase1" onclick="puzz(1)">is a better person</a><span id="rep1" style="display:none">knows more about station maintenance</span> than me.
I <a id="phrase3" onclick="boo(3)">can</a><span id="rep3" style="display:none">can't</span> trust myself.
I am just going to <a id="phrase2" onclick="puzz(2)">screw everyting up</a><span id="rep2" style="display:none">do my best</span>.
<button id="check" onclick="check()">Focus.</button>
<div id="reset" style="display:none">Something's not right, I need to <button id="resBut" onclick="reset()">try again.</button></div>
<div id="done" style="display:none">Yes, that's it. I can move on to check the other side. Of course, no matter what you do, sometimes the result is [[disaster]]</div>
<% good = 0 %>
<script>
function toggle(i){
document.getElementById('word'+i).style.display='none';
document.getElementById('swap'+i).style.display='inline';
}
function untoggle(i){
document.getElementById('word'+i).style.display='inline';
document.getElementById('swap'+i).style.display='none';
}
function puzz(a){
document.getElementById('phrase'+a).style.display='none';
document.getElementById('rep'+a).style.display='inline';
good++;
}
function boo(a){
document.getElementById('phrase'+a).style.display='none';
document.getElementById('rep'+a).style.display='inline';
good--;
}
function check(){
if (good==2) {
document.getElementById('done').style.display='block';
document.getElementById('check').style.display='none';
}
else {
document.getElementById('reset').style.display='block';
document.getElementById('check').style.display='none';
}
}
function reset() {
good = 0;
document.getElementById('check').style.display='block';
document.getElementById('reset').style.display='none';
document.getElementById('phrase1').style.display='inline';
document.getElementById('rep1').style.display='none';
document.getElementById('phrase2').style.display='inline';
document.getElementById('rep2').style.display='none';
document.getElementById('phrase3').style.display='inline';
document.getElementById('rep3').style.display='none';
}
</script>
<h2>You can never be perfect. You can be enough. </h2>
<hr />
<div id="panic">A series of tiny air leaks are lowering air pressure inside the dome in this section.
There are too many!
I can't catch them all!
<br />
<br />
<button id="change" onclick="perspective()">Change my perspective.</button>
</div>
<div id="leaks" style="display:none">
With the spectrometer filter I use to study regolith composition, the air leaks turn from hard-to-see plumes to bright, easy targets. The repair kit has spray sealent. I can plug each leak.
<hr />
I was <a id="blank1" onclick="plug(1)"> - - - </a> <span id="fill1" style="display:none">trusted to be</span> off on my own. It's <a id="blank2" onclick="plug(2)"> - </a> <span id="fill2" style="display:none">not</span> my fault I wasn't here. The outbreak <a id="blank3" onclick="plug(3)"> - - </a><span id="fill3" style="display:none">won't be </span>spreading forever. Dr. Haung knows<a id="blank4" onclick="plug(4)">. - -</a><span id="fill4" style="display:none"> her stuff.</span> I'm to blame<a id="blank5" onclick="plug(5)">. - - - </a><span id="fill5" style="display:none"> only in my mind.</span> Avery would<a id="blank6" onclick="plug(6)"> - </a><span id="fill6" style="display:none">n't</span> be able to do more. I wish my father were <a id="blank7" onclick="plug(7)"> - - </a><span id="fill7" style="display:none">here. His </span>competent<a id="blank8" onclick="plug(8)">, - - </a><span id="fill8" style="display:none"> hands. He</span> had taught me<a id="blank9" onclick="plug(9)"> - - - </a><span id="fill9" style="display:none"> that to study</span> something <a id="blank10" onclick="plug(10)"> - </a><span id="fill10" style="display:none">is </span>useful.
</div>
<div id="repaired" style="display:none">
<hr />
I scan the area once more. [[All clear.]] </div>
<% leakFilled = 0 %>
<script>
function perspective() {
document.getElementById('leaks').style.display='block';
document.getElementById('panic').style.display='none';
}
function plug(b) {
document.getElementById('blank'+b).style.display='none';
document.getElementById('fill'+b).style.display='inline';
leakFilled++;
if (leakFilled==10){
document.getElementById('repaired').style.display='block';
}
}
</script>I've made a complete circuit. The electrical system is fine. Radiation levels are all fine. All that's left is the plumbing system, which has its own set of meters near the rear airlock.
A water tank is leaking. There is no sign on the outside. Leaking water would freeze and effervesce. The leak is inside the station.
I know I have to go inside, eventually. Avery said to hold off until the all clear was given. "Avery, are you there? Doctor Huang, are you there?"
I watch the water pressure gauge slowly decrement.
I need to be brave. What would dad do?
[[Go inside.]] | [[Wait.]] | [[Improvise]]
<h2>Courage is not the absence of fear. <br />
It is acting despite it. </h2>
<hr />
I am in an environment suit, after all, and most everyone has been moved into a quarantine area in the main barracks.
My resolve is firm. The airlock, however, has been locked by quarantine.
Dad didn't want me to study pure science. His bewildered expression. "How are you going to earn a living with geology?"
How am I going to open a door with geology?
My father did <a onclick="tryIt(1)" id="cut1">not </a>teach me<a onclick="tryIt(2)" id="cut2"> - - </a><span id="paste" style="display:none"> patience</span>. <a onclick="tryIt(3)" id="cut3">The door is</a><span id="paste2" style="display:none">I am</span> as persistent as <a onclick="tryIt(4)" id="cut4"> - </a><span id="paste3" style="display:none">time</span>.
<div id="unlock" style="display:none">I find an emergency override lever. I knew there had to be one. It's there because locked doors can be death in a vacuum. Now I can go [[through the airlock]]. </div>
<script>
var ok = 0;
function tryIt(m) {
if (m==1) {
document.getElementById('cut1').style.display='none';
ok++;
}
if (m==2) {
document.getElementById('cut2').style.display='none';
document.getElementById('paste').style.display='inline';
ok++;
}
if (m==3) {
document.getElementById('cut3').style.display='none';
document.getElementById('paste2').style.display='inline';
ok++;
}
if (m==4) {
document.getElementById('cut4').style.display='none';
document.getElementById('paste3').style.display='inline';
ok++;
}
if (ok==4) {
document.getElementById('unlock').style.display='block';
}
}
</script>
<h2>No one does everything all on their own.</h2>
<hr />
The water leak is problematic, but it isn't a disaster. Yet. The tank provides radiation shielding but it's still mostly full. I settle down by the airlock. I eat half of a protein bar while I check all the messages and ping all personnel.
As time passes, and the water level goes down, the radiation reading in the compartment rises. It's inching toward the unsafe line. I won't be able to wait much longer. I try all channels again.
To my surprise, a response comes in. "What?"
I don't recognize the sleep-roughened voice. "Avery?"
"Nah. This is Chef Paul." He's normally officious, a feared presence in the galley where he turns freeze dried rations into delicious meals. He sounds weary. He coughs. "Ma fever broke. I was one of the first down. Makes sense I'm first up. I'ma put some broth together. Come down to the mess if you can help."
He wouldn't know how to help. But neither would I, without Avery's notes. "I'll come, but first I need your help. There's a leak in one of the main water tanks. It's flooding corridor B. [[Can you let me walk you through fixing it?]]"
<h2>The best thing to do is the right thing. <br />
The second best thing is the wrong thing <br />
The worst thing to do is nothing.</h2>
<hr />
The water leak itself isn't an urgent problem. The floor is designed to survive liquid spills, nothing underneath will be damaged by water or ice, and we have other tanks for drinking. But the tank is a radiation shield. As time passes, and the water level goes down, the radiation reading in the compartment rises. It's inching toward the unsafe line.
I have equipment to move stone and dust, to dig samples for my research. I move all the large loose stones in the area against the wall and then I use my shovel to pile lunar regolith, building a radiation shield.
It's hard work, and slow work. I have to take a few breaks and I eat my protein bar even though I should probably save it for later. It doesn't make me feel less hungry.
[[this takes a while]]
My father still sends me little aphorisms. One or two sentences of encouragement or reminder. He doesn't send the thoughts other parents might. He doesn't tell me how he's doing or ask how I'm doing. He was never comfortable with emotion. But I know he cares. "Work hard and your work will make you proud" is how he says "I love you."
I wonder if he knows what is happening. Are these messages trickling in backlogged, or are they to help me through this tough time? Maybe they are his way of saying he is afraid for me.
I <%= verb %> [[laying out tools]] to repair the leak.I sleep like the dead and awaken refreshed.
Poor Avery is still in quarantine, but the sickness has run its course in the first victims.
I help Chef Paul distribute hot, salty broth to everyone.
The message from Earth informing the doctor I was safe was from my father, of course. It ends:
<h2>I know you've got this. Daddy loves you.</h2>
<br />
<hr />
This is the end, but Dad would say that there are many paths to success in life. Though in this game there are only three, you may want to <a onclick="location.reload()" class="internalLink">start again</a>. Dad would recognize these:
<a onclick="pickUp('tape')">Duct tape</a> to seal holes.
<a onclick="pickUp('screwdriver')">A flat head screwdriver</a> to pry things apart.
<a onclick="pickUp('oil')">WD-40</a> to lubricate.
<hr />
I <%= verb %> applying the tools to the problems:
I am holding the <span id="held">toolbox</span>.
I can use it to:
<b>Adjust this pipe.</b> |
The <a onclick="use(1)" id="squeaky">failure</a><span id="oiled" style="display:none">effort</span> is mine.
<b>Patch this hole.</b> |
I am <a onclick="use(2)" id="hole"> - - </a><span id="taped" style="display:none">not</span> alone.
<b>Remove a pebble from this seal.</b> |
These mundane tasks do<a onclick="use(3)" id="chunk">n't </a> matter.
<div id="buzzer" style="display:none;font-weight:bold;">That <span id="held2"></span> sure didn't work there. Try, try again.</div>
<div id="win" style="display:none">The leaks are all closed! <%= hero %> did it! I check the list to [[see if anything is left to do.]]</div>
<script>
var tool = "nothing";
var sucess = 0;
function pickUp(argtool){
document.getElementById('held').innerHTML = argtool;
tool = argtool;
}
function use(n){
document.getElementById('held').innerHTML = tool;
if (n==1) {
if (tool=="oil") {
document.getElementById('squeaky').style.display='none';
document.getElementById('oiled').style.display='inline';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
else if (n==2) {
if (tool=="tape") {
document.getElementById('hole').style.display='none';
document.getElementById('taped').style.display='inline';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
else if (n==3) {
if (tool=="screwdriver"){
document.getElementById('chunk').style.display='none';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
if (sucess==3) {
document.getElementById('buzzer').style.display='none';
document.getElementById('win').style.display='block';
}
}
</script>
It feels odd to enter the inner door with my suit still on. The clumsy fingers feel larger here, where I have held pens and coffee mugs. The corridor is not wide. I'm breaking protocol by spreading regolith indoors. The fine dust gets on everything and has sharp edges. The floor is wet. The suit prevents me from hearing my heavy boots shuffling in the inch of water. I imagine, though, that it splashes.
<% verb = "get to work" %> <% hero = "I" %> <% inside = " " %>
I find the leak. I can [[start the repair]].
The pause is long enough to make me worry I've asked for too much. Is the leak really more important than feeding the sick? I bite my lip.
"Yeah, I can do that. No one's gonna be awake to drink my soup for a while."
<% verb = "talk Chef Paul through" %> <% hero = "Chef Paul" %> <% inside = "I can come inside. " %>
As Chef Paul describes the scene inside, we [[start the repair]].
The improvised wall is looking impressive. The radiation reading hasn't moved in a long time. My radio crackles to life.
"This is Dr. Huang. I thought you were doing the maintenance rounds for Avery?"
I'm so relieved to hear another voice. "I am."
"Well, it's flooding all over Corridor B!"
I laugh, smart enough to do that with the radio muted. When my voice is under control, I un-mute. "Dr. Huang, I can't reach the leak from here. Would you be my hands and let me walk you through this?"
"Of course," she says.
<% verb = "talk Dr. Huang through" %> <% hero = "Dr. Huang" %> <% inside = "I can come inside. " %>
We can [[start the repair]]. <div id="Idiv" style="display:none">As I awkwardly angle the screen in front of my faceplate, fighting the reflections of all the indoor lights, Dr. Huang comes around the corner. She looks haggard. She squints at me. "Oh, it's you! You can take that suit off. A message came from Earth. You, lucky thing, had the measles already! I guess becaues you're from the United States. It's the last place ever to have major outbreaks of it."</div>
<div id="Pauldiv" style="display:none">Chef Paul congratulates himself elaborately on his skill, and I don't mind listening. "Who else could have pulled this off but me! And you, also, of course. Ah... one moment. It's Dr. Huang. I didn't know she was up and about." That seems a good sign. I rest my eyes. I could sleep right here against my pile of rocks and dust. Then Chef Paul comes on the radio again. "Come inside! A message came from Earth. You had the measles as a child! Dr. Huang confirms it. Ah, I wish I were you. I'd have had a much better week."</div>
<div id="Huangdiv" style="display:none">Dr. Huang sighs heavily. "I'd better get back to the infirmary. Oh! I just checked my messages. Come inside! A message came from Earth. You, lucky thing, had the measles already! I guess becaues you're from the United States. It's the last place ever to have major outbreaks of it." </div>
<div> <%= inside %> I'm so relieved. And the tasks left on the list are [[simple to do.]]
<script>
if (hero=="Dr. Huang") {
document.getElementById('Huangdiv').style.display='block';
}
if (hero=="Chef Paul") {
document.getElementById('Pauldiv').style.display='block';
}
if (hero=="I") {
document.getElementById('Idiv').style.display='block';
}
</script>The safety lights need to all be checked, and the monitors confirmed working. I'm exhausted, but comfortable now I'm out of that environment suit. I know what I'm doing.
I have confidence <a onclick="pickUp('tape')">(and tape)</a> to fill in blanks. <br />
I have awareness <a onclick="pickUp('screwdriver')">(and a screwdriver)</a> to pop things out that shouldn't be there.<br />
I have insight <a onclick="pickUp('oil')">(and WD-40)</a> to change things for the better.<br />
<hr />
I am holding the <span id="held">toolbox</span>.
<a onclick="use(2)" id="hole1"> - - </a><span id="taped1" style="display:none">I don't know my</span><span id="my" style="display:inline">My</span> father resents the distance between us. His texts take a lot of work. <a onclick="use(1)" id="squeaky">He must hate having to</a><span id="oiled" style="display:none">He chooses to</span> route them through a special system. He's not here<a onclick="use(4)" id="hole2"> - - </a><span id="taped2" style="display:none"> but his memory is</span>. I <a onclick="use(3)" id="chunk">can't</a> trust myself, and him.
<div id="buzzer" style="display:none;font-weight:bold;">That <span id="held2"></span> sure didn't work there. Try, try again.</div>
<hr />
<div id="final" style="display:none">I mark Avery's [[task list completed]]!</div>
<script>
var tool = "nothing";
var sucess = 0;
function pickUp(argtool){
document.getElementById('held').innerHTML = argtool;
tool = argtool;
}
function use(n){
document.getElementById('held').innerHTML = tool;
if (n==1) {
if (tool=="oil") {
document.getElementById('squeaky').style.display='none';
document.getElementById('oiled').style.display='inline';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
else if (n==2) {
if (tool=="tape") {
document.getElementById('hole1').style.display='none';
document.getElementById('my').style.display='none';
document.getElementById('taped1').style.display='inline';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
else if (n==3) {
if (tool=="screwdriver"){
document.getElementById('chunk').style.display='none';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
else if (n==4) {
if (tool=="tape") {
document.getElementById('hole2').style.display='none';
document.getElementById('taped2').style.display='inline';
document.getElementById('buzzer').style.display='none';
sucess++
}
else {
document.getElementById('held2').innerHTML = tool;
document.getElementById('buzzer').style.display='block';
}
}
if (sucess==4) {
document.getElementById('buzzer').style.display='none';
document.getElementById('final').style.display='block';
}
}
</script>