2021.org (30238B)
1 #+HUGO_BASE_DIR: ../ 2 #+HUGO_SECTION: posts 3 #+OPTIONS: author:nil 4 #+STARTUP: fninline logdone 5 6 * DONE 2020 in Review 7 :PROPERTIES: 8 :EXPORT_DATE: 2021-01-01 9 :EXPORT_HUGO_CUSTOM_FRONT_MATTER: :slug 2020-in-review 10 :END: 11 12 ** DONE en 13 CLOSED: [2021-01-01 Fri 10:07] 14 :PROPERTIES: 15 :EXPORT_TITLE: 2020 in Review 16 :EXPORT_FILE_NAME: 2021-01-01-2020-in-review.en.md 17 :END: 18 19 Rooftops are covered in patches of white this morning. All the billboards have lost their typical splendor to the gloomy sky. Even the street lamps' orange glow failed to add any warmth to the car-free roads. Spots of light from a handful of building windows, however, do appear extra dazzling. 20 21 What a year. It feels like space-time has a higher viscosity than usual—dense enough to reduce sunlight to just an ivory ambiance—given how eventful the past 300-or-so days have been. 22 23 I'm actually glad that the first day of 2021 still feels like any day in 2020. Not very much should physically change simply because of a number flip, not to mention a rather arbitrary one, but perhaps it's exactly for the lack of change that we need to forge something new, something that gives an adrenaline kick, no matter how small. 24 25 Ugh, fine. I see no harm in giving in to this cheap psychological trick every once in a while. 26 27 Happy New Year, we made it. 28 29 *** 2020: Apocalypse 30 I'm not cutting myself any more slacks this time around. 31 32 - ☑ +Run 550 miles.+ Run 205 miles and cycle 865 miles (2.5x). [205/205][872/865] 33 - ☑ Write 14 blog posts. [16/14] 34 - ☑ No donuts. 35 - ☐ Dive into Go and C++20. [1/2] 36 - ☐ Set up proper backup workflow. 37 - ☐ Read non-technical books. 38 39 Because of COVID-19, I have stopped running outdoors since early March. After a few months of hiatus, I got a bike and a trainer in June and started cycling indoors instead. The 2.5x scaling factor is based on the speed differences between cycling and running. Working out in a more controlled environment is very enjoyable. Aside from easy access to fueling and shielding from the weather, being able to watch anime/listen to seiyuu radio while riding is a game changer. Behold, technology! 40 41 Blogging about the blog itself still takes up a sizable portion of my posts (and is a frustratingly self-defeating practice), but I did at least accumulated quite the amount of hoots: these fleeting thoughts aren't organized enough to be its own post, but still interesting enough that I want to write it down. I also use hoots to house my replies to other blogs and the rather cumbersome process of which makes me realize how little I really have to say most of the time. Not to color my still largely manual approach superior, but I do think there is some merit in eliminating low-effort-high-noise contents, both for myself and others. 42 43 Ah, donuts, the honey glazed shackles of guilt, the deep-fried cuffs of indulgence. While I would like to attribute this to my will of steel, it is COVID-19 that got the better of such temptations. My laziness and excitement for bunker life eliminated any chances of late night Dunkin' visits. Guess it's time to turn up the dial. 44 45 Writing Go was quite the mindless fun exercise. Finding an effective way to learn the C++20 features proved to be harder. =<format>= is the straightforward one and pretty much works as you'd expect (no compiler supports the standard version yet, so checkout [[https://fmt.dev][the original]]). =<ranges>= is similar to Rust's iterator methods and allows chaining, too. Maybe I should update my [[/en/posts/2019-04-27-enumerate-with-c-plus-plus/][enumerate() with C++ post]]. =<concepts>= seems like the logical solution to the problems SFINAE tried to solve, but I don't have a good context to test out its prowess yet. On a related note, Zig's compile-time function approach to generics is also intriguing. 46 47 3 copies, check. 2 different media, check. 1 offsite backup, not yet. I'm also counting Syncthing copies here, and whether they can be relied upon as full fledged backups is debatable. Still some way to go here. 48 49 Technically, I did /read/ non-technical books; I didn't /finish/ any (not counting manga at least). The truth is, aside from those I read purely for entertainment, I am not so sure about what to read. Most non-fiction books look like success stories marinated in flattery and survivor-ship bias. Fictions, on the other hand, just don't attract me that much: knowing another story to tell isn't as exciting as learning a new algorithm for me. Gee that sounded harsh. Do I really think my blog posts fare any better? Anyways, before admitting defeat, I will give this a more serious attempt this year. 50 51 *** 2021: Days of Future Past 52 The ongoing pandemic sparkled nostalgia like never before. People look back at the "normal days" with fondness that I find repulsive. Not that I'm completely immune to the atmosphere though, just that it rubs me in the opposite way: I find myself grew more assertive than before. After all, doesn't everyone secretly think they are above average and thus know better, especially after reading the news? At the same time, the voice of reason tells me to suppress this urge before it turns into arrogance, or even worse, ignorance. Perhaps I should learn to let these out in the form of blog posts, like [[https://www.cs.utexas.edu/users/EWD/][EWDs]], except non-technical. 53 54 On a positive note, my transition to wake-up-at-5-sleep-before-10 schedule is a resounding success. The lockdown WFH actually helped in that I have more leeway to adjust my sleep schedule. Now I have plenty of time for exercise every morning or even the option of another two—or three if I'm really pushing it—hours of sleep. Given how I was able to clock in the last 100 miles of rides within the winter holidays, I'll bump the target mileage up a bit this year. 55 56 The schedule change also made me realize how unproductive the few hours before bed really is for me: after a day of work and much needed dinner, I don't feel motivated enough to exercise or focus on anything for an extended period of time. Since I started [[https://beancount.github.io/][beancount]]-ing in 2020, I'm now looking to apply a similar methodology to my time. I've been testing out [[https://www.toggl.com/track/][Toggl Track]] to log how I spend the larger chunks of my day and how many minutes in between slipped away with me blanking out watching YouTube. In particular, I figured having a crude "Strava for reading" system would also make my reading goals easier to achieve. As for which books to read, I'm thinking classic fictions. 57 58 After donuts, my challenge this year is to abstain from cookies, which can frequently be found in my work place lunch bags. It's strange how exponentially more attractive cookies are to their ingredients, i.e. sticks of butter and bags of sugar, the latter of which would have been sickening to consume directly. 59 60 I wonder if this is an age thing: at some point, human's auditory perception would just click with the sound of electric guitars, making it impossible to resist. I'm looking to sink more time into learning the instrument and be good enough to play a song or two by end of 2021. 61 62 The generation after Z is named [[https://en.wikipedia.org/wiki/Generation_Alpha][Alpha]], which makes no sense at all. To hell with inconsistent naming. To hell with COVID-19 (for other reasons, of course). 63 64 #+begin_quote 65 Un de ces matins disparaissent<br/> 66 Le soleil brillera toujours. 67 #+end_quote 68 69 ** DONE zh 70 CLOSED: [2021-01-01 Fri 10:07] 71 :PROPERTIES: 72 :EXPORT_TITLE: 回顾2020 73 :EXPORT_FILE_NAME: 2021-01-01-2020-in-review.zh.md 74 :END: 75 76 今早,窗外的屋顶上都是白色一片。那些广告牌在阴沉的天空下失去了平时的光辉。就连橙色的路灯也没法让一辆车都没有的道路显得温暖。不过,来自少数建筑物窗户的光点却比平时更加耀眼。 77 78 真是不寻常的一年。时空密度比平常高出不少——能将阳光削弱成象牙白的微弱光晕的程度——看看过去这多事的三百多天。 79 80 我其实挺高兴看到2021年的第一天感觉就和2020年中的任何一天一样。给这么一个随意选定的数字+1不应该对现实产生任何实际变化。不过也许正是因为缺少变化,我们才需要时不时地看到一些新的、能让人眼前一亮的东西,不论多么微不足道。 81 82 话说回来,偶尔享受下这种廉价的心理学把戏大概也不会有什么坏处。 83 84 新年快乐,我们终于等到了。 85 86 *** 2020: 天启 87 这次我可不会在进度上再打马虎眼了。 88 89 - ☑ +跑550英里。+ 跑205英里并骑车865英里(2.5倍)。[205/205][872/865] 90 - ☑ 写14篇日志。[16/14] 91 - ☑ 不吃甜面包圈。 92 - ☐ 了解Go和C++20。[1/2] 93 - ☐ 建立正式的数据备份流程。 94 - ☐ 阅读非技术类书籍。 95 96 由于COVID-19,我从3月初开始就停止了在户外跑步。在偷懒了几个月后,我在6月份买了一台自行车和训练器,改为在室内骑行。2.5倍的换算比例是基于我骑车和跑步的速度差异而定的。在一个更可控的环境里锻炼非常让人享受。除了能方便地补充能量和不受天气影响外,能够在骑行的同时看动画/听声优广播真是太赞了。果然科技是第一生产力! 97 98 写关于博客本身的博文仍然占据了我的日志中相当大的一部分(这真是种令人沮丧的自欺欺人的行为),不过至少我积累了相当数量的鸮文:这些转瞬即逝的想法流对于日志来说太过松散,但仍然有趣到我想把它们记录下来。我同时也用鸮文来存放我对其他博客的回复。略显繁琐的回复流程让我意识到,大部分时候我似乎并没有什么真正想说的内容。别误会,这并不意味着这种麻烦的半手动回复系统有多么优越,但我觉得能够提高所写内容的信噪比是有实在的好处的,不论对我还是对其他人来说。 99 100 啊,甜甜圈,这刷满蜜糖的罪恶之枷锁,这油炸的放纵之镣铐。虽然我很想把成功抵御诱惑归功于我的钢铁意志,但COVID-19才是根本原因。我的懒惰和对隔离生活的兴奋劲消除了任何深夜造访Dunkin'的机会。大概是时候把挑战升级了。 101 102 Go写起来相当无脑而有趣。找到一个有效的掌握C++20特性的方法则要难得多。=<format>=是新特性中最直截了当的一个,基本用法、功能和你能想象出来的基本一致(还没有编译器支持新标准的版本,尝鲜的话可以用[[https://fmt.dev][原版]])。=<ranges>=类似于Rust的迭代器方法,而且允许串联。也许是时候更新那篇[[/zh/posts/2019-04-27-enumerate-with-c-plus-plus/][用 C++ 来 enumerate() 的日志]]了。=<concepts>=应该是SFINAE所试图解决问题的真正答案,但我还没有一个好的实际运用环境来测试它的威力。顺便一提,Zig用编译时间函数来实现泛型的方法也很让我感兴趣。 103 104 3份副本,有了。2种不同的储存介质,有了。1个非本地备份,还没有。这还是已经算上Syncthing副本(这能不能当作一份完整的备份还有待商酌)的进度,看来我离完成正式的备份流程还是有不少距离。 105 106 严格地说,我确实 /阅读/ 了非技术类的书籍;只不过我没有 /读完/ 任何一本(不算漫画的话)。事实上,除了那些我纯粹为了娱乐而读的,我并没有什么想读的非技术类的书。大多数非虚构类的书看起来像是被阿谀奉承和幸存者偏见腌制过的成功者故事。而我又不怎么提得起兴致阅读小说:和获得一个能够复述给他人听的故事相比,我更愿意了解一种新的算法。啧,这听起来真刻薄。难道我觉得我的日志能赢过所有的小说?总之,在认输之前,今年我会给出更加认真的一次尝试。 107 108 *** 2021: 未来昔日 109 疫情引发了前所未有的怀旧情绪。人们表现出来的对“正常日子”的眷恋,却让我莫名地反感。并不是说我对这种异样的气氛完全免疫,只不过它对我的效果似乎正好相反:我发现自己变得比以前更加坚持己见了。说到底,人们不都暗自认为自己的水平在平均之上、能够作出更加合理的判断吗(尤其是在看完新闻之后)?同时,我的理性则告诉我要在这种冲动变成傲慢,或更糟糕的无知,之前将其抑制住。也许我应该学会把这些想法以日志的形式释放出来,比如写成非技术版本的[[https://www.cs.utexas.edu/users/EWD/][EWD]]。 110 111 换个积极一些的话题吧,我向朝5晚10生活习惯的过渡非常成功。封城居家办公对这一过渡有着很大帮助:我能够更加从容地调整睡眠时间了。现在每天早上我都有充足的时间用于锻炼,甚至还可以选择睡上两个小时(三个小时也不是不可以!)的回笼觉。考虑我在年末假期的短短几天里就完成了最后100英里的骑行,今年我会把目标里程数提高一些。 112 113 生活习惯的改变也让我意识到我睡前的几个小时大多在碌碌无为中度过:在一天的工作和急需的晚餐后,我不大有动力进行锻炼或长时间集中注意力于任何事情。同时,受到用[[https://beancount.github.io/][beanancount]]记账的影响,我有了将类似的方法应用于时间管理的想法。我正在在测试用[[https://www.toggl.com/track/][Toggl Track]]记录我是如何度过一天中的大块时间的,以及中间有多少分钟随着我在大脑空白状态下刷YouTube而溜走。对了,有这么一个可以勉强当作读书版Strava的系统应该能让我的阅读目标更容易实现。至于要读哪些书,我觉得经典小说是个不错的开始。 114 115 继甜甜圈之后,我今年的挑战是戒掉曲奇饼干,我工作场所的午餐时常提供它们。直接吃曲奇饼干的原料(例如成条的黄油和大堆的砂糖)只是想想都觉得恶心,但烤成饼干后吸引力却能指数性增长,真是奇怪。 116 117 我怀疑这个现象到了一定年龄才会出现:人类成长到一定程度时,听觉会和电吉他的声音一拍即合,使其变得无法抗拒。我想多花一些的时间来学这一乐器、在2021年底时能弹好一两首歌。 118 119 Z之后的世代居然叫[[https://en.wikipedia.org/wiki/Generation_Alpha][Alpha]],真是完全不讲道理。吔屎啦,这毫无逻辑的命名方式。吔屎啦,COVID-19(当然是因为命名方式以外的理由)。 120 121 #+begin_quote 122 Un de ces matins disparaissent<br/> 123 Le soleil brillera toujours. 124 #+end_quote 125 126 * DONE Bio Pages, Multiscale Writing, and XPA 127 ** DONE en 128 CLOSED: [2021-04-24 Sat 21:44] 129 :PROPERTIES: 130 :EXPORT_FILE_NAME: 2021-04-24-bio-pages-multiscale-writing-and-xpa.en.md 131 :EXPORT_TITLE: Bio Pages, Multiscale Writing, and XPA 132 :END: 133 134 Or, a roundabout way of explaining why I don't have an dedicated "About" page. 135 136 *** Bio Pages 137 I find bio pages hard to write. 138 139 I've always despised bio pages that sound like: 140 #+begin_quote 141 Scott Danger Solo, MIB, is a WHSA certified Sigma-level worm-hole surfing professional that shoots first, crosses the streams, and thinks 4th-dimensionally. 142 #+end_quote 143 It grosses me out the same way that ego-flavored bubble gums would. I can't help but take these statements as a desperate attempt at smearing online contents with every last drop of legitimacy squeezed out of grand-yet-insincere-sounding words. 144 145 Most of the time, I opt to not include a bio on my online presences. Among the few exceptions is my old WordPress blog where I put: 146 #+begin_quote 147 EE major; new to WP and not very good at it; weeb; disproportional appetite for new hardware compared to my wallet size; may appear on social networks as =shimmy1996=; let's be friends XDD. 148 #+end_quote 149 Even that felt too revealing for me. In other cases, I just use random made up sci-fi one-liners, for instance: 150 #+begin_quote 151 University of Trantor, Extraterrestrial Lifeform Breeding and Culinary Arts Major 152 #+end_quote 153 Coming up with imaginary professions is actually a lot of fun and I can do this all day long. Just to give you a sneak peek at my stockpile: 154 - Supervillain mechanic (the kind that engages in their repair and restoration, not actually in taking over the world); 155 - Saturnian folklore and Demonology enthusiast; 156 - Native speaker of Fishish (a dialect of Atlantish, used by most crustaceans and aquatic mammals in the North Atlantic Ocean; confusing name, I know); 157 - Genff panel (chorono-voltaic modules, think about it as a reversed flux capacitor) technician; 158 - Collector of ultrasonic music (no, that does not include Snake Jazz, they are inferior to Whale Blues or Bat Rock); 159 - Star magnitude calibration specialist; 160 - Dream composition and cinematography expert. 161 The list would have been longer if full-spectrum photography is not actually a thing. 162 163 Ah, see how easily I get distracted by these? Back to bio pages on a version of Earth where birds (or Biofueled InspectoR Drones if you prefer) are real and tree octopus aren't, unfortunately. 164 165 Why do I always read bio pages under the assumption that they are written with the purpose of exerting authority or "crafting your personal brand"? Wouldn't that make me, who is showing contempt and animosity towards others' qualifications, the one actually displaying syndromes bordering superiority complex? Is it being brought up hearing "modesty is the best policy" all the time finally backfiring? What should the bio page contain anyways? If the purpose is to sprinkle a few hashtags for others to shoehorn my personality into, I would rather not provide such a distraction from contents of the site. Then again, one can argue that if my personality as manifested through the site is easily swayed by the bio page, perhaps the contents aren't really speaking much for themselves after all. 166 167 *** Multiscale Writing 168 I currently classify contents on this site loosely into three categories: 169 - Posts: anything with a publish time and a title; 170 - Hoots: anything with a publish time but without a title; 171 - Fixed: anything without a publish time. 172 Up till now, I have always put bio pages under the "fixed" category. However, I have come to realize this have more subtle implications. 173 174 This first came struck me as I was casually browsing my RSS reader and landed on a blog post without any indication of publish time. Since I vaguely recognize the page title from memory, I instinctively scanned through the page, searching for a timestamp of any kind. After some detective work, I was able to date the post by checking the HTML source. Realizing that this page was published long ago and only showed up in my RSS reader again due to updated feeds, I promptly left the page. Could there have been subtle wording changes? Maybe, but I didn't remember my first read well enough to recognize them. Could there have been substantial additions? Equally likely, but unless there's a FOMO-inducing "updated XXXX-XX-XX" in huge red fonts, I doubt I would have scrolled down. On a related note, I also see blogs displaying not only publish time, but also a glaring banner warning the readers that the contents may be out of date and the author's opinions may have changed since. Funny how the latter is apparently no longer obvious short of an explicit no-responsibility clause now, but it does illustrate the point: I treat pages without any indication of publish time as ones set in stone, completed works, and ultimate truths of the universe (from the author's view). 175 176 There's a mismatch between what I hoped to express through bio pages and the typical fixed page format itself. Well, what are the alternatives? I don't want an [[https://sawv.org/en.html][E/N site]], as I value the process of organizing my fragments of thoughts as much as, if not more than, the process of collecting them. I've played around with the idea of a [[https://alexschroeder.ch/][personal wiki]], but I would like to have separate pages for "major versions", instead of cramming all edits, regardless of importance, into editing history. While for technical contents, latest edition with all the errata incorporated is naturally the most desirable, I don't view my former self necessarily as obsolete or wrong, yet I also don't want to mix past and present on the same page "[[https://www.gwern.net/About#long-content][long content]]" style. 177 178 I want bio pages to be condensed me-flavored words, which would be a moving target that a fixed page will forever be playing catching up with as my thoughts evolve over time. Between fixed pages and posts, there is a missing time scale: I need something that manifests change faster than a fixed page, but more long-lasting than regular dated post. 179 180 *** XPA (eXtensible Personality Archive) 181 Cool name, right? It's a happy accident that XPA is also the name of a protein (and the corresponding gene) [[https://en.wikipedia.org/wiki/XPA#Function][responsible for repairing DNA damage]]. 182 183 Now, now, before discounting this as unnecessary formality, hear me out. Instead of a single fixed bio page, I think the most fitting substitute is a collection of gradually updated documents, not dissimilar to chapters of a book. While some books, like manga or web novels, are normally published chapter after chapter non-stop Markov-process-style, I'm thinking more of a non-linear progression where rewrites and revisions can happen more frequently. 184 185 Some blogs I visit feature sections named "articles" or "opinions" that are distinct from "posts" and serve similar purposes. The format I have in mind though is closer to [[https://www.ietf.org/standards/rfcs/][RFCs]], [[https://www.python.org/dev/peps/][PEPs]], etc. XPAs would be numbered, each XPA would be a dump of my current thoughts and personality pertaining to a specific topic, and they can be superseded by a later one with similar coverage. Meanwhile, posts are reserved for concrete things I did or experienced. In other words, XPAs contains literal states of my mind and posts/hoots serve to document some of the incremental changes between those states. 186 187 Following its definition strictly, XPA is actually a much more flexible format than I originally thought: reviews could also fall under its umbrella, for instance. Great Scott, just think about all the possibilities! Now the only remaining bike-shedding to be done before I can get started is to determine how XPAs should be presented on the site, whether I count from 0, which numerical system to use, how should we format the identifiers... 188 189 Hmm, naming really is hard isn't it. 190 191 ** DONE zh 192 CLOSED: [2021-04-24 Sat 21:44] 193 :PROPERTIES: 194 :EXPORT_FILE_NAME: 2021-04-24-bio-pages-multiscale-writing-and-xpa.zh.md 195 :EXPORT_TITLE: 个人介绍与多尺度写作与可扩展人格档案 196 :END: 197 198 换句话说,这是为什么我没有在站点上设置“关于”页面。 199 200 *** 个人介绍 201 我一直觉得个人介绍很难写。 202 203 我不怎么待见这样的个人介绍: 204 #+begin_quote 205 史科特・危险・索罗,MIB,是WHSA认证的西格玛级虫洞冲浪专业人士。他敢于开第一枪,会毫不犹豫地交叉粒子流,善于进行第四维度的思考。 206 #+end_quote 207 这读起来就像嚼他人自我风味的泡泡糖一样让我感到恶心。我总忍不住把这些听起来冠冕堂皇实则空虚异常的表述当作是试图给在线内容增加可信度的绝望尝试。 208 209 大多数时候,我选择不在网上写个人介绍。我的旧WordPress博客上的关于页面是少数例外之一: 210 #+begin_quote 211 EE狗;技术渣,WP新手;ACG相关;喜欢硬件但是没有小钱钱;足迹可能遍布各大社交网站,通常名字为=shimmy1996=;求友链XDD。 212 #+end_quote 213 即使是这种简单的介绍,对我来说也有种过于露骨的感觉。在其他情况下,我会使用随口编出的科幻风无稽之谈,例如: 214 #+begin_quote 215 川陀大学地外生命饲养与烹饪技术系 216 #+end_quote 217 编造这些空想职业其实非常有趣,我几乎可以整天沉迷其中而不感到厌倦。这只是我库存中的一小部分: 218 - 超级坏蛋技工(从事他们的修理和维护工作,而不是帮他们统治世界); 219 - 土星民俗学和恶魔学爱好者; 220 - 鱼语(亚特兰蒂斯语的一种方言,为北太平洋的甲壳类和海洋哺乳动物所使用;我知道,这名字非常容易让人混淆)母语使用者; 221 - 根沸能板(时伏电池模组,你可以理解为一个反向通量电容器)工程师; 222 - 超声音乐(不,这不包括蛇爵士乐,因为它们远比不上鲸布鲁斯或者蝙蝠摇滚)收藏家; 223 - 星等调节专员; 224 - 梦境摄影与作梦专家。 225 如果不是因为全光谱摄影真实存在,这个列表还会再长一些。 226 227 啊,不难看到我很容易就会被这有趣的活动分心。让我们回到如何在这个有着鸟类(或者说是生物燃料侦查用无人机)却没有树章鱼的地球上写个人介绍的话题上吧。 228 229 为何我在读个人介绍时总下意识地觉得它们是以树立权威或者“建立个人品牌”为目的而写的呢?这不意味着对别人的资历表现出敌意和轻视的我才是表现出近似优势情结现象的一方吗?还是说从小听到大的“谦虚是最好的美德”终于开始产生反效果了?如果个人介绍的目的是便于他人将我的个性轻易地、削足适履一般塞进寥寥数个标签定义的边框里的话,那我宁可不提供这一可能会从网站内容分散注意力的目标。话又说回来,如果我经由站点所展现出来的个性能够被区区个人介绍页所扭曲,那也许站点内容也不具有多少代表性。 230 231 *** 多尺度写作 232 我目前将站点上的内容大致分为三类: 233 - 日志:任何带有发布时间和标题的内容; 234 - 鸮文:任何具有发布时间但没有标题的内容; 235 - 固定:任何没有发布时间的内容。 236 目前为止,我一直将个人简介页放在“固定”类别下。 但是,我开始逐渐意识到显示发布时间与否有着更微妙的含义。 237 238 最早让我意识到这一点的是一次经由RSS阅读器点进一篇没有标明发布时间的日志的经历。由于我对日志标题有点印象,我本能地开始在寻找任何类型的时间戳。一番侦查工作后,我在HTML源码里找到了发布日期的蛛丝马迹。在意识到这一页面早已发布、只不过是因为网站源的格式更新才在RSS阅读器中重新出现后,我很快关闭了那一标签页。和上一次读到时相比,这篇日志会不会有些地方措辞发生了变化?有这个可能,但我的记性没有好到能察觉这些的程度。有没有可能这篇日志其实经过了大幅修改?的确也不能排除这种情况,不过要是页面上没有会让人因为担心错过而焦虑异常、大红色字体的“更新于XXXX-XX-XX”,我大概还是不会看下去的。顺便一提,我造访的另外一些博客除了标注发表日期之外,还会放上一条非常显眼的横幅来警告读者页面内容可能已经过时、作者的观点也可能已经改变。这显而易见的常识居然需要免责条款一样的声明让我觉得有点滑稽,不过这倒是很好地引出了我的观察:我在读到没有发布时间的页面时会将其视为不需改动的成品、已完成的杰作、(作者眼中)宇宙的真理。 239 240 我想要通过个人介绍来表达的内容不兼容一般的固定页面格式。那有什么其他的选择呢?我并不想要一个[[https://sawv.org/en.html][E/N站点]],因为我觉得整理思想碎片这一过程的价值至少等同于、甚至超过收集这些碎片本身。我有考虑过设立[[https://alexschroeder.ch/][个人维基]],但我想让页面的每个“主要版本”分别存在,而不是把所有改动不论大小全部扫进编辑历史里。虽然对于技术性内容而言,包含了所有勘误的最新修订版自然是最佳选择,但我并不认为过去自己的想法全是过时或错误的,可我也不喜欢将过去和现在混在同一“[[https://www.gwern.net/About#long-content][长内容]]”页面上。 241 242 我想让个人介绍成为脱去水分后文字版的自我,而这是一个固定页面只能永远追赶而不可到达的、不断随着时间的推移而变化的移动目标。在固定页面和日志之间,有个空缺的时间尺度:我需要一种能够比固定页面更快展现变化、但又比注明发布时间的日志更加持久的格式。 243 244 *** 可扩展人格档案(XPA,eXtensible Personality Archive) 245 不觉得这名字超赞的吗?XPA还恰好是[[https://en.wikipedia.org/wiki/XPA#Function][负责修复DNA损伤]]的一种蛋白质及其对应基因的名字。 246 247 好啦好啦,在把这一切贬低为不必要的折腾之前,给我个解释的机会。比起一个固定的个人介绍页,我觉得最合适的替代品是一系列逐渐被更新的记录,像一本书的不同章节一样。有些书籍,例如漫画或连载小说,通常是马尔可夫过程般一章接着一章地不停发布的;我设想的则是一种修订与更新更频繁发生的非线性增长。 248 249 我访问的部分博客有着与“日志”独立开的、目的类似的“文章”或“观点”分区。比起这些,我所想的格式更接近[[https://www.ietf.org/standards/rfcs/][RFC]]、[[https://www.python.org/dev/peps/][PEP]]这类文件。XPA会被编号,而每个XPA的内容会是我对某个主题相关的当前一切想法,并可以被新的包含类似内容的XPA所取代。同时,日志则保留给我做过或经历的具体事情。换句话说,XPA包含我字面意义上的思想状态,日志和鸮文则用来记录这些状态之间的一些增量变化。 250 251 严格按照定义,XPA实际上是一种比我最初所想要灵活得多的格式:对影视作品的评论也可以归入它的范围。想想那无数的可能性!现在我只要把剩下这点微小的工作做完就可以开始了:确定怎么在站点上显示XPA,是否从0开始计算编号,想好应该使用那种进制,决定编号的具体格式…… 252 253 啧,命名真不是件容易的事。