Fediverse: 是否要自建实例?

之前和人聊到,自建 fediverse 实例时,和在其它实例做注册用户相比,一些不同的体验。然后发现,谈到的许多东西,对于没有自建经历的网友,还是很新鲜的。所以索性在这里列出来,让大家了解一下。

  • 本文是在「技术能力并不是障碍」的前提下,比较(自建实例 vs 注册现有实例)的利弊。所以,「技术门槛很高」这件事本身,并不能成为建站的缺点……
  • 本文主要讨论「建实例自己用」的情况,最多和一两个亲密好友共享;而不是「当站长,开放给大家注册」。

自建实例的优点

1. (可能)更好的稳定性

是的,自建并不是「不稳定」的代名词;恰恰相反,如果技术能力达标,个人实例因为开销相对较少,稳定性反而比很多中小型实例要高。即使我完全有能力,担任几百名用户的实例管理员;和维护一个我自己用的实例相比,我也是对后者的稳定性更有信心的。

而另一方面,现有实例的站长们,也未必都是很靠谱的。他们会因为各种技术、非技术、甚至搞笑的原因,导致站点无法访问。常见例子包括:

  • 媒体文件占满存储空间
  • 域名或服务器忘记续费
  • 站长被喝茶
  • 站长不开心了,突然关站

目前 fediverse 更换一次账号,还是满麻烦的;也并没有旧帐号数据的导入功能。所以,如果想要让自己的账号,长久地存在下去,自建可能是更好的选择。

以及,自建实例有更好的安全性。——像 fediverse 这类的程序,暴露出的系统漏洞,其中相当大一部分,都是通过「站内用户的恶意攻击」来触发的(譬如上传会包含代码的媒体文件)。如果这个站点只有你自己在使用,那么,这类漏洞,对你来说是无关紧要的。

2. 更好的隐私控制

之前写过一篇《Fediverse 站长都能看到什么?》。普通用户的很多未公开信息,对于所在实例的站长,技术上都是可见的。如果你在这些隐私方面有所顾虑,或者打算把 fediverse 账号当成私密日记来用,那么,自己建站,信息被不相干的人看到的可能性,会更少一些。

3. 管理自己的全部数据

现有的 fediverse 服务程序,为普通用户提供了数据导出功能,但导出的数据内容很有限。譬如 mastodon 导出的数据中,包括:

  • 你发出的内容
  • 你的 following / mute / block 列表
  • 你保存(bookmark)的嘟文的链接(而不是内容)

但并不包括:

  • 别人回复给你的内容,——当然,「别人的作品」你是否有权保存,就见仁见智了
  • 别人对你的点赞(favourates)
  • 你转发的消息
  • 你点赞的消息

其它程序的数据导出,也都大同小异(twitter 也差不多);有的甚至会更少,譬如支持和 fedi 账号互 fo 的,图书管理程序 bookwyrm,用户能导出的,只能用惨烈来形容(只有书的链接;没有书的标题和简介!没有你的书评!)。如果你希望未来也能够看到这些自己交互过的信息,而不是随着网站的消失而听天由命,那么,可能一开始就选择自建比较好。

另外,mastodon 的搜索功能,做的很差劲的(尤其是中文)。elastic search 的开销极其巨大,效果也不好。虽然我也很少用搜索功能,但一旦真的有什么信息,需要精确查找,直接在自己建的站里用 SQL 搜索数据库,要舒适很多。

4. 更少的站内约束

很多 fediverse 实例,是有其内部的聊天「氛围」的。一些和氛围不合拍的发言,可能会遭到实例其它用户的抵制,甚至举报。很多时候,这样的分歧可能无关对错,但多少会对发言者产生困扰和拘束。又或者,站长决定,或者通过「民主表决」的方式,让全站屏蔽了某个实例,而你可能并不希望这样。如果是自建的话,做自己的站长,这样的约束可能会少一些。——虽然偶尔还是会看到一些来自外站的举报,但跨站举报本来就没有相应的处理和交互机制,无视就可以了。以及,我并不是指,自建站就可以肆无忌惮地发色情或者仇恨言论,那可能会让你的整个站点,被其它实例屏蔽的。

5. 使用自己的个性域名作为账号

这样看起来比较酷。但也仅仅是比较酷而已。

6. 免翻墙

随着 fediverse 逐渐进入某国审查机构的视野,那些几百甚至几十人的实例,未来被封杀的可能性也会急剧增加。相对来说,用个人域名在海外服务器搭建的,个人使用的实例,短期内被封的可能性,还不是很大。自建站的用户不必翻墙,就可以直接通过自己的实例,访问到其它被封实例的内容。——当然,翻墙属于必备技能,所以这也算不上是多大的优点。


自建实例的缺点

1. 没有了实例内部的聊天氛围

相当大比例的用户,被 fediverse 吸引的主要原因,是在实例内部的聊天氛围。他们精心挑选舒适的实例,在有着相同喜好的人群中交流,甚至把本地时间轴当作了聊天室。对他们而言,在一个人的实例里唱独角戏,大概是不能接受的吧。

2. 别人看不见你 / 你看不见别人

现有 fediverse 体系,最不方便的一点是:如果账号 a 和 b 是在不同的实例 A 和 B,那么,只有当 B 实例里有人 follow a 之后,a 发的内容,才会出现在实例 B,从而有更多的机会,被 B 里面的其它用户看到。

这样的状况,对于实例之间的互相探索,构成了很大障碍。也使得这种去中心化模式的用户关系网,展现出了与 twitter 不同的结构(我之前写过这方面的介绍)。——其实这样的障碍,对于非自建的用户,同样存在;只是对于个人实例,会更严重一些。

可以通过加入 relay 来改善这种状况;但这样需要占用更多服务器性能,以及很大一笔额外的媒体文件流量,需要谨慎使用。

另外,你使用 fediverse 一段时间后,渐渐地在不同的实例里都有 followers,你的文章也会渐渐被镜像到这些实例里,「别人看不见你」的情况会得以改善。但「你看不见别人」的情况会始终存在。尤其是对方账号不公开,同时它所在的实例,不允许从浏览器直接访问个人页面,那么,你几乎没有途径,可以发现对方的文字。

3. 成本:时间、金钱、服务器开销

即使不考虑技术门槛,和架设、维护站点所花费的时间成本,单纯只是花在域名和服务器上的费用,每年大概在人民币 ¥600 元左右。当然,在这样一台服务器上,除了自建 fediverse 实例外,同时还能做很多其它事情。

4. 额外的身份泄露

在其它实例注册时,虽然你的所有文章和信息,对站长都是技术可见的;但除此之外,站长(以及可能存在的审查人员)能够得知的,也只有你注册时的 email、和访问实例的 ip 地址。如果个人隐私保护的比较妥善,从这些信息,并不会泄露你的真实身份。

而自建服务器,是会泄露更多信息的。包括你注册域名、购买服务器时,所填写的信息(这个可以作假),和信用卡等支付方式。虽然域名可以隐藏在 cloudflare 后面,但你和其它实例交互时,你的实例的 ip 地址,其实是技术可见的。虽然普通网民可能无法继续追查下去;然而,对国家机器(不止是中国)而言,你的个人身份很难被隐藏。所以,如果你需要在 FBI 的层面上也保持匿名,自建并不是好的选择。

5. 你的高权限可能对别人造成困扰

隐私是把双刃剑。有时,做自己的站长,随之拥有的那些更高的权限,可能并不是其它用户希望你拥有的。譬如,你开设了一条投票,你所在实例的站长(也就是你自己),是有能力从数据库里看到,每个人都投了哪个选项的。这样,投票的匿名性,也就无从谈起。有时连开设投票的人也忘了这一点,如果投票的内容敏感一些,就会被怀疑,是不是在猥琐地窥私……这其实很无解。要在什么样的实例上投票,大家才会无视「站长能看到每一票」这种事呢?

6. 对 fediverse 世界造成更多负担

这不是个人选择是否自建时,需要考虑的因素。但我们至少要了解:现有 fediverse 世界的架构,随着实例数量的增加,实例之间通信的开销,会急剧上升。自建个人实例,会增大这种开销。如果 fediverse 的几百万用户,每个人都自建,是现有的结构无法承受的。这也是每个去中心化的网络体系,未来需要面对的问题。


P.S.

  1. 我不鼓励任何,对 Linux 系统管理没有足够了解的人,去自建 fediverse 实例。这件事的复杂度,已经超过了小白按照攻略 copy 命令的范围。即使按照攻略,成功把实例运行起来了,也有很大可能,在后期的系统维护、数据备份等方面,出现难以预料的状况;甚至影响自己的日常使用和表达。所以,虽然我也见过很多例外,一些技术新人把站点搭建的很好,甚至还写出了很棒的攻略;但总体来说,仍然不鼓励新人贸然尝试。
  2. 上面提到的每一项,对于不同人的权重是不同的。有的人可能很在意其中的某一点,而完全不介意另一点;甚至会认为我列出的「优点」其实是「缺点」。这些都很正常,所以每个人做的选择都会不同。当然,还是要自我分析一下,为什么每个因素在自己这里的权重是这样的?那些自己看重的,是否包含着「我技术上能做到」而导致的傲慢?而那些不看重的因素,又是否是因为长期「无法做到」,而对自己的妥协?
  3. 除了自建和注册现有实例外,还存在着其它方式。譬如 masto.host 提供代建实例服务,付费后可以使用自己域名作为账号。所以也会有一些类似于自建实例的特征吧。但具体怎么运作,譬如数据的备份格式和数据库访问权限,我就不清楚了。

Fediverse: 你的站长都能看到什么?

当你注册成为某个 fediverse 实例(mastodon pleroma misskey …)的用户时,你所在的实例,可能是几十万用户的大站,站长离你遥不可及;也可能是几十个甚至几个用户的小站,站长和你关系密切,每天一起聊天玩耍。但无论是哪种,你的站长,都能看到和你有关的哪些内容呢?我觉得这是你应该知道的。

首先,所有人都能看到的:

  • 你的个人介绍、和所有的公开文章
  • 你的文章被哪些人转发、点赞
  • 你收到的公开回复
  • 你的 following 和 followers,——在一些实例里可以设置,把你的 follow 列表对其它用户隐藏,但无论是否隐藏,你的站长终归能看到

然后,是你能看到,其它用户看不到,而且你可能也不希望别人看到的:

  • 你的所有非公开文章
  • 你的私信,——不光你的站长能看到,收信方的实例站长也能看到
  • 你的转发、点赞、书签,——和 twitter 不同,在 mastodon 里,你的点赞列表,其它人是看不到的
  • 你的注册邮箱,——再次建议,注册时不要使用公司学校邮箱、或 id 有明显个人信息的邮箱
  • 你每次访问实例的 ip 地址,——用户可以通过使用 vpn 来隐藏
  • 你 block / mute 了哪些人
  • 你给其它用户添加的个人备注
  • 你 follow 的人的文章,——即使对方设置了 follow request,文章默认对其它用户不可见,从你 follow 他的那一刻开始,所有你能够看到的他的文章,你的站长同样能看到

最后,是你作为普通用户也看不到,但你的站长能看到的:

  • 你开设的投票,参与的每一个人,都选了哪个选项
  • 哪些人 block 了你,——你只能一个个地猜测并确认,但站长能直接得到全部名单

还有哪些?欢迎大家补充~


P.S.

  1. 所有这些 fediverse 站长能看到的东西,当你用 twitter、facebook、或者新浪微博的时候,它们的管理员,当然也能看到。
  2. 当我说「站长能看到」的时候,我的意思是「站长有权限做到」。——大多数隐私内容,并没有一个管理界面,让站长简单地点击鼠标就能看见;而是需要在后台数据库里搜索,稍微有一点技术含量(不会比建站本身更难)。所以,有的站长可能根本不知道这些东西;更多的站长,我相信他们即使知道也不会去看这些东西。但他们终归有这样的权限。
  3. 我列出这些,并不是在论证,什么样的站长可以信任、什么样的站长需要警惕。——这是你自己要去判断、去抉择的事。我只是在告诉你,判断时需要知道哪些事。
  4. 一些其它的社交网络,是可以通过加密,让站长看不到这些信息的,譬如 nostr,但目前还没有广泛流行。——而且,「站长看不到」,并不意味着这个工具「更好」。整个 twitter 类型网站的结构,是建立在所有人所有文字都公开的基础上的。所有这些隐私设置,可以说,都是后来添加的功能补丁,不可能满足所有人不同的期待。所以,我只是在让你,更清楚「它能做到什么」,在此基础上,去思考怎样使用它。
  5. 列出来的这些隐私项目,其中相当一部分,是可以通过自建实例来避免的。但是一方面,自建的技术门槛比较高;另一方面,自己做自己的站长后,拥有的那些更高的权限,或许并不是其它用户愿意让你拥有的。更多这方面的讨论,可以看另一篇《Fediverse: 是否要自建实例

status quo

m:你什么时候把白纸的头像换了?朋友圈只有你还没换回去了。

f:不急啊。我也正在体会,不同的人(包括我自己)把头像换回去的过程和心态。

f:因为 “换回去” 也是一个主动发生的行为。如果有了新的想法、或者看到感兴趣的图片,我会相应地换个新头像;但如果没有的话,难道不是一直就这个头像持续下去了吗?

m:换头像是因为有个冲击。冲击结束了,难道不该回到 status quo 吗?

f:不存在一个,让我觉得应该回去的 status quo 啊。每一个冲击,都带来了改变。

m:…………

f:你的这些话,开始让我想:你们的生活方式里,预设了要有一个 status quo?以及,究竟是什么样的一种状态,被认为是 status quo?

锁嘟机制

  1. 就像 twitter 的文章被称为「tweet」,mastodon 的文章被称为「嘟文 toot」。
  2. 虽然这篇在说 fediverse / mastodon,但目前的 twitter、sina……各种社交网络混乱的隐私设置,其实是一样的。

作为自建实例用户,每次我好奇点开一个,我还没有 follow 的用户时:

  • 在我的界面里,看不到他的历史嘟文;
  • 偶尔能看到几条,以前被我 fo 的人转发过的他的嘟文,才会被存储在我的服务器上;
  • 他可能锁嘟;
  • 他的个人页面(以及整个他的实例)可能只显示 10 条;
  • 他的个人页面(以及整个他的实例)可能根本不许访问;
  • 少数情况下,我已经被对方 block 了,但只有当我想 fo 他时,我才会从灰色的 follow 按钮上注意到这一点……

我不知道,有什么便利的流程,来判断对方属于上述哪一种/几种情况;也不知道,面对每一种情况,我

  1. 是否被允许
  2. 如何去

了解一个人。我也不知道,采取了上述每一种措施的人,是否清楚,他在

  1. 和他相同的实例
  2. 和他不同的大实例
  3. 彼此 follow,有着模糊边界的共同好友圈
  4. 其它小实例

的人的眼里,有着怎样的可访问性。他希望打造一个什么样的社交网络架构,以及他的这些选择,最终是否能够如他所愿。

这不是在指责具体的人。我知道,有很多人,对这套复杂的体系,比我更熟悉,更习惯去应对。也知道,如果我往这个方向努力,也会应对的更自如一些(但不知道会进步到什么程度)。但现实中的结局是,fediverse,就像没什么人来看的 blog 一样,渐渐被我当作一个,纯表述的平台。别人如何看到我,如何来交互,对我而言,变成了一个不清楚机制、雾里看花的过程。对这方面的期待,也就渐渐减弱了。

于是,虽然我也会去 follow 别人,去 re 去聊天去点赞。但这些行为对我都是不成体系的。很多人我不知道要不要去 follow,聊天时也不知道什么时候要用一个点赞,或者什么都不用,就可以突兀地结束话题。更不用说,在预设别人掌握了这套体系,以及预设别人预设我掌握了这套体系,的基础上,通过彼此的操作方式而不是内容,来判定对方的态度。——扯远了,这些已经和 fediverse 机制关系不大了,我在实体社交中也不会去折腾这些(而且我对实体社交的潜规则也是雾里看花,不去弄明白)。这篇只是例行吐槽网站隐私机制而已。

女司机

拖了好几年,冒着各种被骂的风险,终于写了这一篇。

首先,本人旗帜鲜明地反对嘲讽女司机的行为,认为这种行为非常土鳖,非常歧视,并为自己几十年前无知时也偶尔做过的嘲讽行为表示忏悔。无论是嘲讽女司机的行为,还是「女司机不行」这件事本身(我不认识这是生物上的事实,但在某些文化区域,可能确实存在这种现象),都是长期性别权力不平等造成的后果。我认识很多乐于也擅于飙车的女性朋友,并且真心希望这样的妹子越多越好。

然而,我并不认可,很多人为女司机辩护的方式。他们并不是诉说「嘲讽是不对的」;而是试图证明「男司机更不行」。可能男司机确实更差劲,但是

  • 因为男司机更差,所以不应该嘲讽女司机。这并不是很恰当的思路。
  • 大多数关于「男司机更不行」的阐述,并没有说到点子上。

于是,总给人一种「为了反对而硬找理由」的感觉。


关于「男司机更不行」的阐述,大概有两种方式

  1. 列举统计数据,说明男司机的事故率高于女司机;
  2. 转发男司机肇事的报道和视频,像嘲讽女司机那样嘲讽男司机。

关于第一种方式,用交通局的官方统计数据,说明:

女司机造成的事故数量 < 男司机造成的事故数量

或者,更「科学」一点:

(女司机事故数量 ÷ 女司机数量) < (男司机事故数量 ÷ 男司机数量)

这个数据在绝大多数地区,应该都是正确的。然而,有一个很明显的问题:持有合法驾照的人数性别比例,并不等同于经常开车的人数性别比例,更不等同于总的驾驶时间的性别比例。有多少人拿了驾照但很少开车?这个数据很难准确统计出。但根据(不靠谱的)猜测,男性的人均实际开车时间,应该会更高一些。如果比较

(女司机事故数量 ÷ 女司机总驾驶时长) vs (男司机事故数量 ÷ 男司机总驾驶时长)

那么结果很可能会不一样。

关于第二种方式,转发男司机的事故视频。——其实我很爱看的,任何愚蠢导致的事故,不论性别,我都很爱看的。尤其是现在的新闻报道,确实在性别上有严重歧视:报道经常说,出事的是「一名女司机」,而对于男司机发生的事故,则只是说「一名司机」。大家多 po 一些男司机的事故,指明是「男司机」并加以嘲讽,确实是很公平的事。

问题在于,这些用来嘲讽男司机的事故案例,和嘲讽女司机时的例子,并不是同样的类型。

转发的男司机事故,大多是超速、酒驾、疲劳、玩手机……而造成的惨痛事故。这些司机本来有能力把车开好(——技术上「有能力」;当然了,安全驾驶才叫做真的「有能力」啊),却各种无视规则而作死,最终对社会和他人造成危险。

而嘲讽女司机的视频,更偏向于:在路边很久停不进车位、撞翻停车场的收费杆、前进后退分不清撞进路边店里……她们在那一刻是清醒的,没有任何触犯交规的意图,努力要把车开好,却最终失败。

无疑前者才是真的更危险,也是各种事故的绝对主要原因。然而,惯例上对女性司机的嘲讽,并不是指她们无视规则而造成危险,而是她们操纵机械时努力却显得笨拙。所以,人们列举出来的,男司机危险驾驶的事故,并不能够很好地反驳那些对女司机的嘲笑。


难道不是违规作死才更危险,更应该被谴责吗?

是的,没问题。这句话你指着任何一个男的鼻子质问,他都无法反驳。然而,这更像是一种政治正确意义上的认同,而不一定是每个人都必须放在心中最高优先级的行事准则。人可能因为侥幸心理而违规;可能因为挑战规则而获得心理以及群体中的荣耀;甚至,从人类学意义上讲,人类有没有一个普世准则?人是否应该以维护自己、他人、全人类……的生命为最高目标?都不一定啊。

虽然我并不会做出酒驾超速之类的愚蠢行为,但必须承认,我在日常生活中,会主动警省自己,不应该让「惜命」过于影响自己的行为选择。所以,当女权主义者指责男司机更危险时,我第一时间意识到,大家戳的点,好像并不一致。我开始有意识地,开车时观察周围的车辆。一些车本身并没有违反任何规则,却因为种种「笨拙」行为:绿灯后启动不及时、变线时不果断、驾驶速度过慢……总之,影响了我预想中,大家都「正常」驾驶时的那种流畅度。这样的车主,确实明显超过半数是女性。(——我知道这种观察存在主观误差:抱着偏见去观察时,那些女性车主因为符合了观察者的性别期望,从而印象更深。我努力地让自己不受这种误差影响。)当然了,那些变道过于频繁撒欢,超速甚至从逆行道超车,一看就是作死的,几乎100%是男性。


然而,女性真的操纵机械更笨拙么?

当然不。这一点我绝对不同意。哪怕男女有什么生理上的差别,也完全不至于在开车这种破事儿上显现出来。如果在某些地域,能够统计出,女性确实普遍开车更笨,那也是长期文化上的性别压迫所导致:更少的练习机会、文化语境下的不自信、把不擅机械的刻板印象扭曲为自我认同……

那些嘲笑女司机的习俗,和相关的视频,往往来自于性别权利较差的地区:东亚、南亚、中亚、西亚……而在发达国家,虽然可能同样存在,女司机相对更笨,男司机更彪(我前面说的个人驾驶印象,就是在发达国家得出的),但这种歧视要少很多。也许确实和人数比例有关,这边开车很飒的女性大有人在。然而,女性通过表现得很 man,来获得平等和尊重,这仍然是一种性别压迫。

  • 人类应该更崇尚稳定和安全,还是更崇尚那种无所谓冒险的「男性气质 masculinity」?
  • 或者说,为什么要把冒险定义成「男性」气质?
  • 人们在嘲笑女司机笨拙时,是否在用「男性气质」来压迫女性?当然是。

这些都是未必有结论,但值得深入思考的。我写这些,也是希望大家能跳出那些,为女司机辩护时,过于粗糙的逻辑,多想一些。

Mastodon 的「去中心化」所导致的……?

看到 @[email protected] 写的论文导读。在 Mastodon 的去中心化网络里,用户之间的关联状况,其实比 twitter 更加高度集中。

Raman, Aravindh, Sagar Joglekar, Emiliano De Cristofaro, Nishanth Sastry, and Gareth Tyson. 2019. “Challenges in the Decentralised Web: The Mastodon Case.” Pp. 217–229 in Proceedings of the Internet Measurement Conference, IMC ’19. New York, NY, USA: Association for Computing Machinery. download
研究人员爬取了在2017年4月到2018年7月期间的1750个实例,涵盖了23.9万用户和六千七百万条嘟嘟。基于这些数据,构建了用户相互关注的网络,以及实例之间的连接网络。

通过分析这些网络,论文发现了长毛象的中心化趋势。以下结果是基于搜集到的样本,不是全长毛象数据。

1. 用户方面,大约50%的用户都集中在10%的实例里面,因此少数的管理员在长毛象联邦中拥有过量的影响力。开放注册的实例拥有的用户比邀请注册实例里的更多,但是,邀请注册实例的用户平均嘟嘟数量差不多是开放实例用户嘟嘟数量的两倍(187嘟/人 vs. 95嘟/人)。不管哪种实例,都有中心化趋势,服从幂律(power law),前5%的实例容纳了约95%的嘟嘟;

2. 内容方面,只要关掉最大的10个实例,跨站时间轴上62.69%的嘟嘟都会消失。有些实例带有话题标签,研究发现,科技相关实例占据了55.2%的实例,却只容纳20.8%的用户和24.5%的嘟嘟。相比之下,虽然只有12.3%的实例是跟色情相关,但是却吸引了61%的全网用户;

3. 服务器方面,大部分实例都集中在少数的自治系统(Autonomous System, AS)上,主要在日美法德四国。最大的三个AS就有62%的实例。比如亚马逊AS上集中了62%的用户,尽管上面只有6%的实例。关注网络上,92%的用户是连接在一起的,但在极端情况下,只要五个AS崩坏,就会把相互连接的用户数量减到46%。

作者还分析了网络结构的强度。虽然长毛象分成了很多独立的实例,但是用户之间是高度连接的,跟推特相比,长毛象的连接更加脆弱,只要破坏少量的重要节点(高关注用户)就能够极大破坏原本的连接,相比之下,推特的关注网络就比较稳健。

伦理声明:研究通过了大学伦理审查,只收集了公共嘟嘟,并进行了匿名处理,论文结果不包括任何的嘟文内容分析。

实际使用中,也有类似的感觉,Mastodon 用户互相 follow 所形成的网络,比 twiiter 更加纵向化。大家相对更集中关注一些较活跃的用户,而在用户网络的末梢,横向的互相关注相对较少,尤其是不同实例之间的关注,更是如此。

但我觉得这种状况,是和 Mastodon(以及整个 ActivityPub)目前的设计机制有关。最近自己架设实例时,看了一下 Mastodon 和 Pleroma 的后台数据库,架构上有一些莫名其妙的地方:

( btw,我的新帐号: @[email protected]

在当前实例里访问其它实例的文章时,系统要先把其它实例的文章(以及图片附件)复制到当前实例的服务器(而且是和本地用户的文章放在同一个数据表里……),才能被本地用户读取。本地用户所看到的,并不是其它实例的原始数据,而是被保存在本地实例的镜像。

当一个实例的用户 follow 其它实例的用户时,两个实例的数据库把外来实例用户的信息和 public key,保存在各自的数据库里(也是本地用户和外来用户存在同一个数据表里……)。当外来实例的用户发布新文章时,外来实例的服务器会把这条新文章,主动 push 到订阅了它的那些服务器里存起来。

我能看出这样做的一些好处,譬如减少了实例之间的重复通信、避免最终用户和外来实例间的翻墙屏蔽、增强安全性……etc。然而,一切外来实例的文字和图片,都要先保存到本地服务器,才能被阅读,由此导致的,就是用户在随意浏览外面实例的历史文章时,体验非常不友好

界面里显示的外部实例用户的 following 和 followers 数量,也仅仅是当前实例里和这个用户有关联的用户的数量,而不是这个用户在所有实例的真正总关联数。

不仅是外面实例陌生人的信息,不能直接看到;连已经 follow 的用户,在 follow 之前所写的文章,也不能在系统里直接看到。一定要再打开一个浏览器页面,访问对方在其自己实例上的页面,才能浏览。对历史信息的转发和回复也非常不便。

当用户在 Mastodon 界面中,点开一个陌生人的帐号时,有三种情况:

  1. 陌生人也在同一个实例。此时用户可以直接看到陌生人的所有历史文章;
  2. 陌生人在其它实例,但之前曾经被用户实例里的其它用户 follow 过。此时用户可以直接看到,从这个实例里第一次有人 follow 开始,陌生人发过的所有文章。再之前的文章,则必须打开外置浏览器才能查看;
  3. 陌生人在其它实例,之前用户所在实例并没有人 follow 过他。此时用户完全不能直接看到陌生人的任何历史文章,只能通过打开外置浏览器查看。

不能方便地查看一个人以前发过的文章,也就自然没有兴趣去 follow 他。这就导致了两种「集中化」的关联:

  1. 在同一实例内部的人,由于可以互相看到历史文章,所以更方便互相 follow;
  2. 一些已经被实例里其它人 follow 过的「热门用户」,他们的文章更容易被这个实例里的其它用户看到,从而更容易被 follow。

而与之相对的,就是不同实例之间从没 follow 过的陌生人之间,其横向关联度急剧下降。

如果换一种架构模式,每个实例把自己用户的文章都做出静态缓存;然后用户访问外来实例时,直接访问对方服务器的页面,这样的话,情况会不会好很多?

我的技术水平不够,不能再深入分析对比这些机制的优劣了。但这些,其实和「去中心化」本身,并没有直接的联系。「去中心化」和「中心化」的区别,其实仅仅是后台服务器由谁去建,以及随之带来的审查和信息自由度方面的不同。普通用户在使用中,其实是不应该感受到 Mastodon 和 Twitter 的差别的。我们所面对的,并不是「去中心化」带来的问题,而是在做一套新的「去中心化」架构时,所没能解决好的技术问题。那些「中心化」的服务,也有很多因为设计的不如 twitter 理想,而最终倒闭了。目前而言,Mastodon 的架构还远称不上完美,有很多不足,或者让用户觉得不习惯的地方。但这些问题,其实只属于某个产品设计上的问题,而不应该归咎于「去中心化」

袋鼠通讯

前段时间在某社交网站上聊天,一些关于袋鼠的经历,突然就成了亮点:开车撞上袋鼠报废、把死袋鼠头割回家纪念、袋鼠肉可以吃还很适合喂猫……然后袋鼠就迅速成为了讨论区里的梗。这样的事,在不同圈子里发生过好几次,仿佛大家总能对袋鼠,陷入一种很奇妙的很 high 的情绪里。

村上春树也写过一篇《袋鼠通讯》,从在动物园看到袋鼠,写到唱片店对客人的投诉反馈,——把袋鼠替换成任何动物,对文章似乎都是没影响的。文章里也貌似自我点醒地问:袋鼠和自己到底有什么关系呢?然而,在村上读者们的文学气场下,有着某种微妙感觉的,就是袋鼠。

所以最终还是要归结到某种,对世界边缘的奇妙幻象和憧憬。当然,不同的人对「边缘」的定义不同,受「发达国家」四个字的拖累,很多户外圈里的人,其实对澳大利亚和新西兰,是不怎么感兴趣的。但大多数人,对这种「边缘」还是有向往的,但他们过来旅游也大多是悉尼和墨尔本的动物园,没机会摸到出城几十公里就能找到的在野地里成群结队的袋鼠。

同年龄的圈子里,关于对世界边缘的向往开始消退。很多人可能只是因为,更深陷于日常现实中的舒适,就像老了就不愿意再去没有舒服酒店的地区旅行了。但亲身的向往消退了,幻象可能还在,谈资里仍然有很多关于远方的轶闻,旅行计划里也是言必称去南美晃一圈。

而对我来说,这种对现实舒适生活的眷恋还不强烈,至少我希望它不存在。需要警省的,是对幻象中「边缘」程度的执着。对南美的兴趣一直不强烈,对于一块我注定没时间去深入了解的土地,单纯去踩一脚的意思实在不大。所以后来去读人类学,希望让自己随便附近找个小村子,就能从观察中体验到乐趣。

当然,这仍然是一种「边缘」,把「『深入』了解异文化」这种大多数人不去做的事,当作一种值得标榜的行为。然而单纯因为猎奇而追求,和因为对周边人类失望,失去兴趣,而甘愿埋身于异文化,应该也不是一回事。

扯远了。其实袋鼠仅仅是袋鼠而已。

在澳大利亚考驾照时的交规题目:以下警示牌是什么意思?

我:注意前方有野生动物?

交管局:错。这并不是泛指,我们画了什么,就说明前方有什么。我们说的仅仅是袋鼠而已。

行板

大概是 2003 或 04 年,聊天软件刚开始有自定义头像功能的时候。当时似乎是某次旅行回来,觉得自己的人生,可能要停滞很长一段时间了,就打开 windows 画图板,用鼠标涂了个休止符。后来这个头像用在了很多地方:聊天软件、论坛、社交网站、和后来的社交 app、以及个人网站的图标(favicon)…… 就像 fivestone 的 id 一样,在所有地方都用同样的 id 和头像,从来没换过。

画八分之一休止符,而不是四分之一或者其它的,大概只是觉得好看,加了个附点也是同样的理由。但当时脑子里也未尝没有在估量着停滞的长度。按正常人类可以活 75 岁计算,把人生看作一个全音符,那么附点八分之一休止符,就表示着 3/16 的人生,大概是 14 年。

而之后的十几年,虽然有很多进展,甚至可以说是精彩;但某种意义上,确实是一直停滞着。总希望在找寻自己想要的东西的同时,也能在主流价值方面有个交代。又或许明知道这样走下去,周围的人会越来越少,就总想先等等看,有没有人一起,甚至考虑要不要放弃。

后来还是决定了,不管不顾地先这么走下去,——至少感觉自己是有在走了。那已经是 2018 年了,某天看着休止符的头像,算了算,也差不多这么多年了,就把休止符改成了音符。

仍然是附点八分之一的长度。所谓的「不管不顾」,也不过是在诸多选择和平衡中,坚持着更偏向于自己的行走。而距离再也不能不管不顾地为自己做选择的那一刻,可能也只余下另一段 3/16 的人生。

Good day.


本来是 18 年换头像时就准备的稿子,结果拖到现在才写出来。给懒散停滞的自己鼓鼓气吧。

hello fediverse

当我说 mastodon 难部署的时候,并不是作为一个建站小白说的。用自己的域名和大约每月5刀的服务器,我可以很轻松地搭建一个 mastodon 实例,用 docker 部署则更简单。——如果我对这个服务器没其它需求的话。

问题在于,对于大多数有建站情操和能力的人来说,建站优先级最高的未必是 mastodon,而是 wordpress 啊。把这两套系统同时塞进一个服务器,理论上是能做到的,但其麻烦程度让我实在没欲望去折腾。而为这两个系统买两个服务器,又总觉得很耻辱,和小白们每个服务交一份钱有啥区别……

另一方面,尽管 mastodon 存在单用户模式,但真的建了实例只有自己一个人用的话,整套 mastodon 程序功能其实是很冗余的。所以对于个人用户而言,要做的可能并不是自建 mastodon 实例,而是寻找其它可以通过 ActivityPub 协议,和 Fediverse 用户进行沟通的程序。——目前似乎还没有太理想的。 write.as 正在做,我去试了试, 用户可以在 Fediverse 上 follow @[email protected] ;wordpress 也有类似的插件(等我先给自己域名申请 SSL ……)。但似乎都只能让 Fediverse 用户「订阅」这个站点,而不能反向和他们回复沟通。

所以还要继续关注 Fediverse 的新进展。据说 nextcloud 已经可以支持 ActivityPub 和 mastodon 沟通了。——网上的免费服务器没这个功能,需要自建 nextcloud 然后挂载相关服务,哪位愿意折腾试试靠谱不?但似乎 nextcloud 还不支持发布 blog??(怒吼:为什么,明明这个更容易啊)。不然 nextcloud 就已经很一站化了。

社群品质

Jackie Kiewa 分析昆士兰传统攀岩者群体。攀岩被描述为逃避现代世界诸多弊病的方式:现代社会的高度可预测性、消费主义、以及以牺牲个人自由和自发性为代价造就的安全感。为了逃避这些而攀登的人,为了保持对这些的抵抗,就要执着于与这些社会特征相反的攀岩方式。他们坚持拥抱不确定性和不安全感,强调传统攀岩和运动攀岩的区别。

但不是所有的登山者都乐于不安全,以及各种攀岩方式的边界并不是多么清晰,传统攀岩者也不能完全拒绝玩室内顶绳。当表面差别变得不清晰的时候,对差异化的渴望,使得传统攀岩者从结构化的区分(用技术、攀爬方式、装备来区分攀岩风格)转向对「象征性行为」的强调。传统攀岩者们应具有某种品质:如保持谦逊(即使面对菜鸟),不谈论自己的成就,在户外安静不喧哗,不询问别人等级,长期全情投入……不遵守这些伦理规范的人,可能会被群体排斥,而不再是纯粹的自由选择。

这种「不宽容」不仅仅是攀岩,也是每一个没有明显边界的社区的特征。现代社会对宽容和多样性的强调,使人们的归属感从整个社会转向多种亚文化,但亚文化群体为了强调排他性和差异性,又导致了不宽容的发生。这种矛盾存在于每个社会,无论社会规模大小,都试图通过道德标准来维持一套预设行为的延续。然后渐渐地维持的力量从道德本身,变成因为害怕惩罚(另一种不安全性)而顺从。

Kiewa, Jackie. 2002. “Traditional Climbing: Metaphor of Resistance or Metanarrative of Oppression?” Leisure Studies 21(2):145–61.

虽然我很怀疑传统攀岩者们,是否真的像 Kiewa 描述的那样。而我要研究,是城市攀岩者们表现出的一些恰恰相反的特征(或许他们已然「顺从」)。但这套框架远不止适用于攀岩。事实上我联想到的,是那种在社交网络上的孤寂感。那种大家讨论的东西虽然正确,但话题和方式越来越同质化,而造成的孤寂感。批判性思维抑郁的地方就在这里,每次在人群中发现某种特征,然后就会想「我可以不必这样」,然后就会孤独。