Compare commits
3 Commits
9c5e120c75
...
bbb56fc4e5
Author | SHA1 | Date |
---|---|---|
BodgeMaster | bbb56fc4e5 | |
BodgeMaster | 196849620b | |
BodgeMaster | b9d026ce0c |
|
@ -0,0 +1,78 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import sys, random
|
||||||
|
|
||||||
|
def bitflip(byte, bit):
|
||||||
|
bits = [
|
||||||
|
0b00000001,
|
||||||
|
0b00000010,
|
||||||
|
0b00000100,
|
||||||
|
0b00001000,
|
||||||
|
0b00010000,
|
||||||
|
0b00100000,
|
||||||
|
0b01000000,
|
||||||
|
0b10000000
|
||||||
|
]
|
||||||
|
negbits = [
|
||||||
|
0b11111110,
|
||||||
|
0b11111101,
|
||||||
|
0b11111011,
|
||||||
|
0b11110111,
|
||||||
|
0b11101111,
|
||||||
|
0b11011111,
|
||||||
|
0b10111111,
|
||||||
|
0b01111111
|
||||||
|
]
|
||||||
|
if byte | bits[bit] == byte:
|
||||||
|
return byte & bits[bit]
|
||||||
|
return byte | bits[bit]
|
||||||
|
|
||||||
|
def n_bits_off(byte, n):
|
||||||
|
if n>8:
|
||||||
|
raise Error
|
||||||
|
|
||||||
|
bits = []
|
||||||
|
|
||||||
|
while len(bits) < n:
|
||||||
|
bit = random.randint(0,7)
|
||||||
|
if bit in bits:
|
||||||
|
continue
|
||||||
|
bits.append(bit)
|
||||||
|
|
||||||
|
for bit in bits:
|
||||||
|
byte = bitflip(byte, bit)
|
||||||
|
|
||||||
|
return byte
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if not len(sys.argv) == 2:
|
||||||
|
print("This program takes exactly one argument: the string to scramble.")
|
||||||
|
|
||||||
|
output = []
|
||||||
|
for character in list(sys.argv[1]):
|
||||||
|
a = random.randint(0, 36)
|
||||||
|
if ord(character)<33 or ord(character) > 126:
|
||||||
|
output.append(character)
|
||||||
|
elif a%18==0:
|
||||||
|
byte = n_bits_off(ord(character), 3)
|
||||||
|
if byte > 32 and byte < 127:
|
||||||
|
output.append(chr(byte))
|
||||||
|
else:
|
||||||
|
output.append(character)
|
||||||
|
elif a%12==0:
|
||||||
|
byte = n_bits_off(ord(character), 2)
|
||||||
|
if byte > 32 and byte < 127:
|
||||||
|
output.append(chr(byte))
|
||||||
|
else:
|
||||||
|
output.append(character)
|
||||||
|
elif a%9==0:
|
||||||
|
byte = n_bits_off(ord(character), 1)
|
||||||
|
if byte > 32 and byte < 127:
|
||||||
|
output.append(chr(byte))
|
||||||
|
else:
|
||||||
|
output.append(character)
|
||||||
|
else:
|
||||||
|
output.append(character)
|
||||||
|
|
||||||
|
print("".join(output))
|
|
@ -15,13 +15,12 @@
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="comment">
|
<li class="comment">
|
||||||
Emily and Lena sit down at a desk with a view of the biotope and have
|
Emily and Lena sit down at a table with a view of the biotope and have
|
||||||
a meal
|
a meal
|
||||||
<ul>
|
<ul>
|
||||||
<li class="comment">
|
<li class="comment">
|
||||||
the meal gets interrupted by the equipment in the control center
|
the meal gets interrupted by the equipment in the control center
|
||||||
coming to life (fans coming on, some control panels lighting up,
|
coming to life
|
||||||
boot-up/status/ready beeps)
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="comment">
|
<li class="comment">
|
||||||
a status light on the wall, that Emily had never seen on,
|
a status light on the wall, that Emily had never seen on,
|
||||||
|
@ -74,9 +73,6 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
<span class="comment">note: need to check mice eating behavior when fed,
|
|
||||||
might want to add a section where she actually handles and feeds them
|
|
||||||
</span><br />
|
|
||||||
Emily closes the cage and puts the <whatever they feed the mice>
|
Emily closes the cage and puts the <whatever they feed the mice>
|
||||||
back into the cupboard. She <span class="comment">does something related
|
back into the cupboard. She <span class="comment">does something related
|
||||||
to taking care of the mice</span>, steps out into the hallway, and
|
to taking care of the mice</span>, steps out into the hallway, and
|
||||||
|
@ -87,24 +83,23 @@
|
||||||
<p>
|
<p>
|
||||||
3 – 5 – 2 – 1 – Enter. The keypad beeps with
|
3 – 5 – 2 – 1 – Enter. The keypad beeps with
|
||||||
every button press. A computer voice announces
|
every button press. A computer voice announces
|
||||||
<span class="quote speech">Access authorized</span>. The door to the main
|
<span class="quote speech">Access authorized</span> and the door slides
|
||||||
control center module slides up and she steps through. The module
|
up. She steps through into the main control center. The module contains
|
||||||
contains one large room with rows of integrated computer equipment desks
|
one large room with rows of integrated computer equipment desks arranged
|
||||||
arranged <span class="comment">need a fitting description of what a
|
<span class="comment">need a fitting description of what a mission
|
||||||
mission control rom looks like</span>. The wall to the left that most of
|
control rom looks like</span>. The wall to the left that most of the
|
||||||
the seats are facing is completely taken up by a panorama window into
|
seats are facing is completely taken up by a panorama window into the
|
||||||
the biosphere, an even larger module with a ceiling of glass and support
|
biotope, an even larger module with a ceiling of glass and support beams,
|
||||||
beams completely taken up by plant life, trees, small animals, and a big
|
completely filled with plant life, trees, small animals, and a big pond.
|
||||||
pond. The wall to the right holds a large status panel with some
|
The wall to the right holds a large status panel with some seven-segment
|
||||||
seven-segment displays for information and lots of big status indicator
|
displays for information and lots of big status indicator symbols.
|
||||||
symbols.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Emily walks down the shallow stairs towards the panorama window. In
|
Emily walks down the shallow stairs towards the panorama window. In
|
||||||
front of the window are tables and chairs that were moved there recently
|
front of the window are tables and chairs that were moved there recently
|
||||||
as the room had become more of a general hangout spot for the remaining
|
as the room had become more of a general hangout spot for the remaining
|
||||||
people when they were still around. Lena sits at one of them,
|
people when there still more than just Lena and her. Lena sits at one of
|
||||||
<span class="comment">preparing something</span> while waiting for her.
|
them, cutting a bread into slices while waiting for her.
|
||||||
</p>
|
</p>
|
||||||
<p class="comment">
|
<p class="comment">
|
||||||
missing dialog about food and starting to eat
|
missing dialog about food and starting to eat
|
||||||
|
@ -115,64 +110,18 @@
|
||||||
turn on. Some of the status indicators on the back wall start blinking.
|
turn on. Some of the status indicators on the back wall start blinking.
|
||||||
A large, green triangle with the letters LINK next to it flickers and
|
A large, green triangle with the letters LINK next to it flickers and
|
||||||
then lights up. Emily looks at it in confusion.<br />
|
then lights up. Emily looks at it in confusion.<br />
|
||||||
<span class="quote speech">What does that light mean?</span> She gestures
|
<span class="quote speech">What's going on?</span><br />
|
||||||
towards it.<br />
|
|
||||||
<span class="quote speech">That's them.</span><br />
|
<span class="quote speech">That's them.</span><br />
|
||||||
<span class="quote speech">Earth people?</span><br />
|
<span class="quote speech">Earth people?</span><br />
|
||||||
<span class="quote speech">Yes</span>, Lena replies while quickly
|
<span class="quote speech">Yes</span>, Lena replies while quickly
|
||||||
finishing her meal, <span class="quote speech">they said they'd try
|
finishing her meal, <span class="quote speech">They have some abilities
|
||||||
to get a phone connection going.</span><br />
|
to remotely control things – including turning on the main radio
|
||||||
As if on cue, the phone on the large center console begins to ring. Lena
|
transmitter.</span><br />
|
||||||
gets up and walks over, Emily follows her. <span class="comment">note:
|
She gets up and asks Emily to follow her to one of the consoles with a
|
||||||
might need to imply that Lena is very sick</span> Lena sits down in
|
terminal. She sits down in front of it, logs on and enters a few
|
||||||
front of it, picks up the receiver, and presses a few buttons.
|
commands.
|
||||||
The speaker on the console starts crackling and hissing. Through the
|
|
||||||
noise, they hear a faint voice. Lena leans over to a microphone and
|
|
||||||
talks into it:<br />
|
|
||||||
<span class="quote speech">We can't hear you, one moment.</span>
|
|
||||||
<br />
|
|
||||||
She flips some switches on the console. The speaker cracles some more,
|
|
||||||
then a loud pop, then silence. The smell of magic smoke is in the air.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Lena turns to a terminal and starts typing.<br />
|
|
||||||
<span class="comment">note to self: missing establishing connection<br />
|
|
||||||
note to self: add some data corruption</span>
|
|
||||||
</p>
|
|
||||||
<pre class="terminal">
|
|
||||||
MOON-01 > This hasn't been maintained in forever. I think the
|
|
||||||
phone just went.
|
|
||||||
EARTH-53> You may wanna check the modules under P2 for burnt components.
|
|
||||||
MOON-01 > I know.
|
|
||||||
MOON-01 > We have another problem somewhere along the line. There's
|
|
||||||
apparently more noise than signal.
|
|
||||||
</pre>
|
|
||||||
<p>
|
|
||||||
Lena opens a cover with a small label "P2", pulls two cards
|
|
||||||
out of their sockets, and inspects them. One has a big black burn mark
|
|
||||||
right in the center. She turns to Emily:<br />
|
|
||||||
<span class="quote speech">Can you fetch me this module from another
|
|
||||||
phone?</span>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span class="quote speech">And?</span> Michelle asks Jack as he looks up
|
|
||||||
from the terminal.<br />
|
|
||||||
<span class="quote speech">Weak signal - and they need to fix their
|
|
||||||
phone.</span><br />
|
|
||||||
James asks <span class="quote speech">What about that plan B of
|
|
||||||
increasing the transmit power?</span><br />
|
|
||||||
<span class="quote speech">Meh.</span> Jack doesn't seem too
|
|
||||||
enthusiastic about it.<br />
|
|
||||||
<span class="comment">TODO: Dialog. They decide not to increase the
|
|
||||||
power before double-checking that everything is aligned properly. Sure
|
|
||||||
enough, they're off by a bit.<br />
|
|
||||||
Request for comment: Does this make the story more interesting or is it
|
|
||||||
confusing? I originally didn't want to do perspective changes
|
|
||||||
within chapters, and I still might not, but this was too good of an idea
|
|
||||||
not to write it down.</span>
|
|
||||||
</p>
|
</p>
|
||||||
<p class="comment">
|
<p class="comment">
|
||||||
note to self: After fixing the alignment, pick up on the moon and
|
corrupted chat, the connection has deteriorated in comparison to before
|
||||||
continue.
|
|
||||||
</p>
|
</p>
|
||||||
<p class="copyright">Copyright © 2023 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
<p class="copyright">Copyright © 2023 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
Lena dies
|
Lena dies
|
||||||
</li>
|
</li>
|
||||||
<li class="comment">
|
<li class="comment">
|
||||||
Emily returns inside and goes to the control center
|
Emily returns inside and goes to a room with a view of the sky
|
||||||
<ul>
|
<ul>
|
||||||
<li class="comment">
|
<li class="comment">
|
||||||
following any procedures such as operating the air lock as
|
following any procedures such as operating the air lock as
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
Emily takes their helmets and brings them into the airlock. She returns
|
Emily takes their helmets and brings them into the airlock. She returns
|
||||||
for a life support unit, pulls it out of the rack in the wall, and sets
|
for a life support unit, pulls it out of the rack in the wall, and sets
|
||||||
it down on the floor. Following a mental checklist, she makes sure that
|
it down on the floor. Following a mental checklist, she makes sure that
|
||||||
the air tank is connected properly and the status display reads what it
|
the air bottle is connected properly and the gauges read what they
|
||||||
should. Everything okay... or is it? She double-checks with the check
|
should. Everything okay... or is it? She double-checks with the check
|
||||||
list on the wall. Yes, this unit is ready. She triple-checks everything
|
list on the wall. Yes, this unit is ready. She triple-checks everything
|
||||||
– first time it actually matters. Reasonably satisfied with her
|
– first time it actually matters. Reasonably satisfied with her
|
||||||
|
@ -96,8 +96,8 @@
|
||||||
The pumps are getting quieter and quieter. Lena kneels on the floor
|
The pumps are getting quieter and quieter. Lena kneels on the floor
|
||||||
holding a bunch of flowers from the biotope module, her life support
|
holding a bunch of flowers from the biotope module, her life support
|
||||||
unit next to her on a short tether. Emily puts it on her back and and
|
unit next to her on a short tether. Emily puts it on her back and and
|
||||||
helps her up. The outer door of the airlock swings aside and they start
|
helps her up. The outer door of the airlock silently swings aside and
|
||||||
walking, Lena leaning on Emily.
|
they start walking, Lena leaning on Emily.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
They reach the graveyard and walk over to the recent graves. The entire
|
They reach the graveyard and walk over to the recent graves. The entire
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
buried. Some have signs with names, some have painted pieces of regalith
|
buried. Some have signs with names, some have painted pieces of regalith
|
||||||
as gravestones, some have <span class="comment"><the crumpled remains
|
as gravestones, some have <span class="comment"><the crumpled remains
|
||||||
of>? What happens to flowers when exposed to vacuum for a prolonged
|
of>? What happens to flowers when exposed to vacuum for a prolonged
|
||||||
amount of time?</span> flowers next to them, some are entirely
|
amount of time?</span> flowers next to them, a few are entirely
|
||||||
undecorated.
|
undecorated.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -140,14 +140,13 @@
|
||||||
Emily starting to reconsider her choice not to leave the moon
|
Emily starting to reconsider her choice not to leave the moon
|
||||||
</lI>
|
</lI>
|
||||||
<li class="comment">
|
<li class="comment">
|
||||||
brief mention that the conversation changes to a more pleasant topic
|
The conversation topic changes to Earth in general
|
||||||
and continues for a while
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
The conversation is interrupted by the beeping of Lena's low oxygen
|
The conversation is interrupted by the beeping of Lena's low oxygen
|
||||||
alarm going off. Emily gets up and walks back to the habitat. She enters
|
alarm going off. Emily gets up and walks back to the habitat. She enters
|
||||||
through the airlock and looks for a full oxygen bottle. She lifts one
|
through the airlock and looks for a full air bottle. She lifts one
|
||||||
out of its rack and carries it back to Lena. She opens the life support
|
out of its rack and carries it back to Lena. She opens the life support
|
||||||
unit and closes the valves on it and the empty bottle, then she replaces
|
unit and closes the valves on it and the empty bottle, then she replaces
|
||||||
it and opens the valves again. Just as she is done with that, her own
|
it and opens the valves again. Just as she is done with that, her own
|
||||||
|
|
Loading…
Reference in New Issue