望月者之死

评分: +31+x

10月21日凌晨,所有凝视着月亮的人都必定将一座即将坠毁的空间站纳入眼底。BHAA地面通信站对此的感知尤为清晰。

地面通信站接收到四个信号:三份遗言,一份数据。全部来自“望月者”号空间站。

Anvil,Billet,Cone:三位乘员的称呼。ROD-2000:人工智能的编号。

时间在冷峻的月光下一分一秒的流逝。巡天镜看到的轨道是一把剑,直指月亮的心脏。阴历月份的末尾,月相通常呈下蛾眉状。

信号接收已经开始了。


Anvil的陈述:

作为“望月者”号的指令长,我对此次事故最有发言权。

整场事故是一场人工智能的骗局。我,Billet,Cone,Detach,不过是它手下的棋子而已。

反作用控制系统的爆炸,Detach的死,全部应当归咎于ROD-2000的阴谋。但等我们意识到这一点时,一切都已经晚了。

残酷机器的行动纲领,悲剧马上就要来临;月相仪爆炸,多个模块抛出,利用反冲作用变轨。它不会说话,却穷尽一切手段歼灭我们这些人类。

坠毁的种子,早在发射时就已然埋下。


Billet的陈述:

我不属于BHAA,更不为BHAA卖命。除组建深空月相仪外,我没有任何任务。

8月1日,RCS爆炸时,我在操作机械臂搬运月相仪的部件;8月6日,Billet死时,我在整理月相仪的线路。仪器总重11.2吨,我用手搬了其中的两吨。第一次调试时共计发现518处线路错误,百分百是我用手修好的。

我与这群BHAA宇航员毫无瓜葛。他们做他们的事,我就做我的事。

Anvil,一位老牌BHAA宇航员,当年人类首次飞越月球的主角就是他。他一直很关心月相仪的组装进度,时常与我通信。

Detach,我见过最好的人。在整次任务中持有最高权限,却意外的温和。

Cone,你不应该相信他的任何话,只因他毫无疑问是此次事故的真凶。他有无数理由摧毁我的月相仪,也有无数手法实现这场谋杀。平日在船员舱,他就总是对我说些没礼貌的话。我知道他是ROD-2000的设计者,更知道他在神经网络中埋设的那些可供操纵的暗线。

有的时候,人比机器更可怕。


Cone的陈述:

对天发誓,我对ROD-2000故障的原因一无所知。诚然,“望月者”号的坠毁有设计失误的一部分因素;但这绝非刻意而为。

Anvil总是警告我,不要完全置信于人工智能。他乘坐巨蟹号飞越月球的那个时代,个人计算机都还是种奢想。思想保守一点也算是情理之中。

8月1日上午,RCS(反作用控制系统)爆炸时,我在一号船员舱帮Detach检查维生系统。ROD-2000一直与我保持联系。不久,巨响传来,爆炸产生的冲击波袭击了整座空间站。我的耳膜也几乎因此而震出鲜血。

Anvil,通过无线电询问我们的情况。Billet,依然不知所踪。“组建月相仪”。

几天后,Detach被杀时,Billet依然保持着她那来无影去无踪的作风。在Anvil的支持下,我与Billet一起前往气闸舱,监督她完成月相仪组装的最终环节;而望月者号事故,恰恰就发生在那时。

每次见面,我都仿佛看到一位冷酷的杀手。面对炸成碎片的月相仪时,更是如此。


ROD-2000的型号:

类型:通用人工智能

训练模式:分布式并行

有关ROM:256GB

有关RAM:64MB

机组ID:68D23E69-5E0A-4E88-9C89-2076972AA3EF


Anvil的证词:

Cone一直声称,ROD-2000不会出任何问题。当然,ROD-2000从未叛逃。它只是陷入了某种逻辑悖论。

Cone为它设定的最高目标是保护船员。理论上讲,ROD-2000应该把保护船员作为第一要务。而这根本是种妄想。

上万条回路彼此悄悄扣合,潘多拉的齿轮在静默中转动。梯度下降,步步为营,求得最优解,仅此而已。

ROD-2000不会说话,但不一定没有思维。

8月1号,BTC时间4:21,我收到ROD-2000的故障报告。前去检查RCS节流阀,无果而返。

从RCS回指令舱的路上,悲剧发生了。整个空间站先是大幅度震动了一下。伴随着一声钝重而沉闷的爆响,舷窗外的月球开始旋转。我惊恐的意识到,这是衍架末端的某个结构爆炸了。

按照标准应对方案,我启动了检修程序。结果是RCS损坏。虽然Detach很快就被指派了维修任务,但当时的我还对事故起因没有多少兴趣。

下一次事故是在六天后,8月6号,Detach前去维修RCS时,姿态控制引擎突然无故启动。含有无水肼的废气灌注了整个引擎室,包括Detach的内脏。关键时刻,我的操作面板却被ROD-2000夺舍。海啸般的错误报告吞噬了屏幕,我束手无措。一小时后,Cone报告了Detach的尸体。这位伟大的KVZ高管就这样死于无水肼中毒,令人唏嘘。

从那时起我才渐渐摸清了真相。

8月20号,我,Cone,格式化ROD-2000的存储器。但Cone告诉我,他的机器还有机会。请让他再试试。

假如我当时再果断一点,拒绝Cone的请求,惨剧也许因此就不再发生。可惜我没有。我纵容了他,也纵容了望月者的生命。

月面正在逼近舷窗,我看到月光如水。人生剩下的部分,已经容不下我的悔恨了。


Billet的证词:

经过Detach的准许,我查阅过空间站内各位乘员的基本资料。Cone的家族自祖父起便已是KVZ空军的飞行员。出生在这种家庭的Cone,爱国之心一定会像火焰一样热烈而纯净。

我,代表EPB,来到BHAA的空间站搭建月相仪,纯粹是为了完成一份商业合同。月相仪结构精密,操作复杂,故而需要我来到空间站亲自组装并操作这台天文仪器。

一旦组装失败,月相仪技术势必面临退出市场的命运。届时,BHAA的望月镜将成为后室深空探测设备的主流。优势换来数不尽的金钱。而等待Cone的,注定是笔不菲的奖励;不论财富,还是名誉。为此,在人工智能中动动手脚也是理所当然的。

8月1号,我在气闸舱外组装月相仪目镜。猛然间火光乍现,姿控喷口开始熊熊燃烧。冲击波震掉了我的脐带,为此我紧紧抓住镶嵌在外壁上的把手,这才躲过成为一粒星际尘埃的命运。三秒后,空间站获得了一个巨大的角速度。我的手指在旋转的力量下几乎断裂。还好我头脑清醒,反应过来后立刻咬紧牙关,一脚踹开半掩的气闸。取下头盔、扔向后方,这才得以回到气闸舱内。

在那之后,Detach指派我去修理在爆炸中受损的姿态控制引擎。修理日期的前一天,Detach突然通知,说我不必去了。Anvil刚刚特别命令她承担全部RCS引擎的修理工作。

于是第二天,8月6号,Detach死于无水肼中毒。

第三天,Cone在船员舱中对我投来比以往更加阴冷的目光。我也以同样的阴冷的目光回敬给他。

9月20号,Anvil突然找到我说,因为Cone一直说我的月相仪有问题,所以他建议我们共同完成月相仪组装的最后一步,以免矛盾进一步扩大。

现在,所有人的美梦都已然化为乌有。皎洁的月光穿过月相仪斑驳的碎片,恰似一句句荒谬的空谈。财富,名誉,力量,不再代表任何事物。死亡填充一切。


Cone的证词:

在所有船员中,Billet毫无疑问是最有动机的那一个。

EPB的合同给出的十分突然。按理说,发射前几个月就不应该再对空间站大修大补了。碍于EPB报价之高昂,Anvil才带领非欧动力实验室对船员舱进行了改装。

我曾向Anvil建议,说我们的技术并不成熟,推行登月计划没有半点科学意义。那时他用坚定的目光盯着我。

“我们是望月者。”

现在,整个空间站能够维持四个人的正常生存。Billet来了,毫无征兆的来了,像一只幽灵。这样一只金钱驱动的幽灵,真的能算是Anvil口中的望月者吗?

Detach说,不必担心。Billet只是在组装她的月相仪。除此之外,哪里都不去。

Detach对我说这句话时,脸上露出尴尬的表情。6号,她死在了RCS引擎室。

每次事故发生时,Billet和她带来的一箱工具、零件、设备和材料都无处可寻。如果不是ROD-2000不会说话,我想我一定能提前阻止Billet的每一次阴谋暗算。

9月20号,Anvil突然找到我说,Billet正准备完成月相仪组建的最后一步。他建议,既然我如此怀疑Billet,不如陪同他一起安装完月相仪的最后部分。这样既能解除我的忧虑,也能防止矛盾进一步扩张。

9月22号,一切阴谋步入尾声。

面对破碎的月相仪,我分明看到Billet在笑。


ROD-2000的数据流:

[字段开始]

黛西,黛西,说出你的答案,告诉我。为了你的爱情我已半狂。

我可能无法给你一个时髦的婚礼,我也无法负担起马车的费用;

但是你会是看起来最美丽动人的,

在我和你骑着的双人自行车上。

[字段结束]


Anvil的想法:

我诚实的忏悔。我向BHAA忏悔,向全人类忏悔。

坠毁的种子,早在发射时就已然埋下:过分依赖机械是我们的根本死因。“望月者”事故将成为后室人类探空史上永远的惨痛教训。

不过,我相信,这只是“望月者”的死,而不会成为望月者们的死。在我死后,我希望我为BHAA留下的宏伟探月计划能被一字不差的执行。只因那不仅是望月者的浪漫,更是全人类的梦想。

四十年前,乘坐巨蟹号,飞跃近月点的那一瞬,皎洁的月光照在我的脸上。那时,我就已经被月亮皎洁的光芒折服。从此以后,登月变成了我的使命。由此看来,死在月球上,也恰恰是我心心念念的归宿。此生一桩心愿,就此了结。

切忌:置信于机器。


Billet的想法:

昔日的望月者化作此刻的尘埃。杀死望月者的真凶究竟是谁,已无需多言。

就在这里,相同的地方。一个月前她还活着时,我曾与Detach简短交谈过几句。

月相仪:天文探测,观察地质。话虽如此,我确实弄不明白研究月球的地质史有什么意义。为了一些毫无意义的数字,费这么大功夫,在太空中安装一面巨大的镜子。

于是她对我说,这个世界上有很多未知的事物。难道我不希望未知的事物越来越少吗?

她是整次任务中权限最高的人,但抛出这句设问时,用的依然是坚定不移的语气。我对她说,既然不知道,就没必要执意弄清楚了。但她摇了摇头。

“我们必须知道,我们必将知道。”


Cone的想法:

望月者死去了,可那些幽灵仍未消散。就算是为了Detach,我也要恨Billet,直到生命的尽头。

Anvil的巨蟹座飞船抵达近月点时,我只有十四岁。他的飞船进入月亮背后的屏蔽区,十天后才出来。电视转播上,他的声音夹带着无线电噪音,以及压制不住的哭腔。他哭诉自己在这十天里的艰难经历。那一个个黑暗的小时,每个都像一整年。除了面前冰冷的绿色指示灯外,他没有任何同伴。那十天里,月光就像幽灵,虽能感受到它的皎洁,却又偏偏看不到其中的一分一毫。他说,自己每时每刻都蜷缩在狭小、黑暗的指令舱中,依赖屏幕观察和控制一切。

虽说只有十四岁,但自那时开始,梦想的种子就已然在我的心底埋下。——不,真可笑。

计算机可以成为人类最坚定的伙伴。

而且,只有最坚定的事物才能杀死幽灵。


ROD-2000的行动纲领

评分: +31+x

What this is

A bunch of miscellaneous CSS 'improvements' that I, CroquemboucheCroquembouche, use on a bunch of pages because I think it makes them easier to deal with.

The changes this component makes are bunch of really trivial modifications to ease the writing experience and to make documenting components/themes a bit easier (which I do a lot). It doesn't change anything about the page visually for the reader — the changes are for the writer.

I wouldn't expect translations of articles that use this component to also use this component, unless the translator likes it and would want to use it anyway.

This component probably won't conflict with other components or themes, and even if it does, it probably won't matter too much.

Usage

On any wiki:

[[include :scp-wiki:component:croqstyle]]

This component is designed to be used on other components. When using on another component, be sure to add this inside the component's [[iftags]] block, so that users of your component are not forced into also using Croqstyle.

Related components

Other personal styling components (which change just a couple things):

Personal styling themes (which are visual overhauls):

CSS changes

Reasonably-sized footnotes

Stops footnotes from being a million miles wide, so that you can actually read them.

.hovertip { max-width: 400px; }

Monospace edit/code

Makes the edit textbox monospace, and also changes all monospace text to Fira Code, the obviously superior monospace font.

@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap');
 
:root { --mono-font: "Fira Code", Cousine, monospace; }
#edit-page-textarea, .code pre, .code p, .code, tt, .page-source { font-family: var(--mono-font); }
.code pre * { white-space: pre; }
.code *, .pre * { font-feature-settings: unset; }

Teletype backgrounds

Adds a light grey background to <tt> elements ({{text}}), so code snippets stand out more.

tt {
  background-color: var(--swatch-something-bhl-idk-will-fix-later, #f4f4f4);
  font-size: 85%;
  padding: 0.2em 0.4em;
  margin: 0;
  border-radius: 6px;
}

No more bigfaces

Stops big pictures from appearing when you hover over someone's avatar image, because they're stupid and really annoying and you can just click on them if you want to see the big version.

.avatar-hover { display: none !important; }

Breaky breaky

Any text inside a div with class nobreak has line-wrapping happen between every letter.

.nobreak { word-break: break-all; }

Code colours

Add my terminal's code colours as variables. Maybe I'll change this to a more common terminal theme like Monokai or something at some point, but for now it's just my personal theme, which is derived from Tomorrow Night Eighties.

Also, adding the .terminal class to a fake code block as [[div class="code terminal"]] gives it a sort of pseudo-terminal look with a dark background. Doesn't work with [[code]], because Wikidot inserts a bunch of syntax highlighting that you can't change yourself without a bunch of CSS. Use it for non-[[code]] code snippets only.

Quick tool to colourise a 'standard' Wikidot component usage example with the above vars: link

:root {
  --c-bg: #393939;
  --c-syntax: #e0e0e0;
  --c-comment: #999999;
  --c-error: #f2777a;
  --c-value: #f99157;
  --c-symbol: #ffcc66;
  --c-string: #99cc99;
  --c-operator: #66cccc;
  --c-builtin: #70a7df;
  --c-keyword: #cc99cc;
}
 
.terminal, .terminal > .code {
  color: var(--c-syntax);
  background: var(--c-bg);
  border: 0.4rem solid var(--c-comment);
  border-radius: 1rem;
}

Debug mode

Draw lines around anything inside .debug-mode. The colour of the lines is red but defers to CSS variable --debug-colour.

You can also add div.debug-info.over and div.debug-info.under inside an element to annotate the debug boxes — though you'll need to make sure to leave enough vertical space that the annotation doesn't overlap the thing above or below it.

…like this!

.debug-mode, .debug-mode *, .debug-mode *::before, .debug-mode *::after {
  outline: 1px solid var(--debug-colour, red);
  position: relative;
}
.debug-info {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Fira Code', monospace;
  font-size: 1rem;
  white-space: nowrap;
}
.debug-info.over { top: -2.5rem; }
.debug-info.under { bottom: -2.5rem; }
.debug-info p { margin: 0; }

除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License