可能是老生常谈了,但是想说说我分析长毛象程序后的体会:
Mastodon/长毛象使用的协议ActivityPub本身是一个非常公开透明的协议,所有人的嘟文都会在Fediverse/联邦宇宙里被复制和传播。比起传统的商业化的社交网络里各种限制访问渠道、随意修改内容的可见性,其实长毛象里的内容几乎可以视为公开演说。
有一些中文长毛象用户可能把长毛象当作一个秘密频道。这其实是因为长毛象实例的非商业化和联邦化带来的反热点和反网红带来的错觉。长毛象的时间线确实可以很安静,很小众。但这并不代表机制上你的嘟文只活在一个小圈子里。
长毛象提供了非常丰富的屏蔽、忽略功能。不过它们本质上是为了使用者本身的安静,类比于现实世界中拉黑一个人的所有联系方式。这并不能让对方从联邦宇宙中消失,也不能绝对阻止对方获取关于你的信息,譬如通过一个第三方。
“锁嘟”和“仅XX可见”则是一种君子协定。只要嘟文通过传输到另一个实例,这些内容的可见性就取决于那个实例了。理论上说,实例的管理员能够看到所有进入实例的消息,无论是什么可见范围。
昨天看到首页上有象友问移民之后遇到的困境以及怎么度过的。我个人觉得,如果是成年初期以后再出国(25岁+),心理上做好准备,直接write off五年吧。这五年就专门用来过渡:拿身份,安家,上学/找工作,建立新的社会关系网络。
根据加拿大的分类,一般五年以内的移民 叫newcomers,五年到十年,叫recent immigrants,再往后就是established immigrants……这个链接里说,熬到后面,established immigrants 比本地出身的人还有钱呢:
https://www.immigration.ca/established-immigrants-wealthier-than-canadian-counterparts-study-shows/
我最近才后知后觉美国这个穿凉鞋要土指甲油的"unwritten rule",然后这周逛超市留意了一下真的即便是穿Birkenstock女性全部都有涂指甲油?!
和象友聊推荐算法的过程中突然有点明白人们对推荐算法(无论推荐的是账号还是具体内容)的诉求在哪里了——curator和对信息的curation。放到现实中就是博物馆/画廊的策展人、报纸杂志的编辑、乐团舞团设计program的艺术总监。在信息过载的时代,人们幻想着“中立”的推荐算法作为curator能做出更全面、更多元的“更好”的一站式“精选”:什么都不错过又不会累死。但这个要求和好的curation需要明晰的perspective存在本质上的冲突。另外,无论什么算法总是有自己的implicit perspective的(optimal... for / according to WHAT?),只是往往伪装成/被视为universal objective。
@sanzhu 哈哈,俺也一样,除了GFW,当和外国朋友聊到北京上海户口所带有的各种“特权”(其实就是一些普通的市民权甚至人权)和居住证的时候,我突然意识到居住证和在留卡的英文翻译是一样的,于是我们悲观的得出了一个结论,我们在自己的国家要签证,只不过可以落地签。
@xijiangyue 补充一个:遇到问题即使反馈给领导,领导就是用来兜底给你解决问题的,反馈了不解决就是领导的问题。
发现 cmx 也是用的和 dvd.chat 同款设备,甚至还在同一个机房(这样互传是不是会很快x)
RE: https://m.cmx.im/users/strawberry/statuses/108253096981047006
广东一家人,儿媳首次怀孕,国内已禁止非医学必须的胎儿性别鉴定。当地人花钱托走私者,把血液样本带到香港或澳门,进行性别鉴定,但是准确率不高。
这家人收到走私者带回的鉴定结果,是女胎。遂强迫儿媳到小诊所堕胎。谁知堕下一男胎。
全家震惊,哭天抢地,大吵大闹,互相责怪,神不守舍,生意亏损,工作不顺……
村中神棍趁机敲诈:“我看见你家的长孙,鬼魂跟着你们。” 老人们吓坏了,又花一大笔钱打点神棍,作法超度。
全家人再不敢做胎儿性别鉴定,赌咒发誓以后无论如何都要生下来!后来,生了两个女儿、一个儿子。
这个故事是其中一个女儿告诉我的。
今天一觉醒来半梦半醒的时候忽然获得了一种能够在过程中感受时间流动或者过去多久的能力 不是做事情之前做事情之后的那种看表或者时间花多少的感觉 而是过程中的 即使被distracted 也能意识到自己正在在被打扰和已经被打扰多久了 在和原来一样多distraction的环境中也能大量降低被打扰而持续保持关注 看书或者做其他事情都变得专注很多
过了一会儿彻底醒了之后就失去了这样的状态
升级 mastodon 受难记录
还是记录一下昨天到现在发生的事吧,In case 其他站长像我一样无知且大胆,遇到类似困难状况可以参考。
事情起源于近期 utopia.cool 升级了 mastodon 版本(4.1.2 --> 4.1.3)。
4.1.3 版本修复了一些安全缺陷,其中包括禁用 ImageMagick 的较低版本(<6.9.7-7)。
而我站的服务器是 Ubuntu 18.04 版本,从官方apt源能获取到的最新 ImageMagick 也不满足此要求。所以我们的图像处理相关功能都出错了。(ImageMagick 问题详见官方的介绍:https://github.com/mastodon/mastodon/issues/25776)
此时有几种解决方案,在18.04上自行编译一版 ImageMagick 也许可行。但为了避免未来有更多组件出现没有官方源更新的问题(Ubuntu 18.04 已经停止维护),我选择了升级 Ubuntu 到 20.04。
OK,噩梦开始了。
尽管我事先做了周密的备份,系统升级过程依然艰辛。
首先是 Ubuntu 升级前通常要求所有可用的 apt 更新都已执行。所以我被迫执行了一次全局的软件更新——这导致 elasticsearch 升级到了插件无法支持的版本。所以本站的全局搜索功能挂了。(我后来通过手动降级 elasticsearch 解决了它)
然后,升级系统的过程把 PostgreSQL 从大版本 10 升级到了 12。系统升级完成后,PostgreSQL 要求执行数据集群迁移10 --> 12。
这个迁移是必须做的,psql 12 不保证能在 10 的数据库上正常工作。我借助 chatGPT 的帮助尝试执行迁移。却完全被这东西的编码格式困住了。无论把编码设置成什么,要么报错说跟旧版数据库编码不符,要么报错说缺乏支持 LATIN1 的编码。等于说新版跟旧版分别对一些方面进行了限制,而同时满足两边条件才能成功执行 pg_upgradecluster。最后我选择了放弃,直接把10版本的数据库 dump 出来,再用12来 pg_restore。也就是备份-->恢复这条路径。OK,这条路是走得通的。(虽然遇到一些问题,后面补充)
好,我们假设数据库的大问题已经解决了。当我尝试重新构建 Mastodon,发现整个 bundle 的依赖关系都坏掉了。由于此前安装的 bundler 没有按照 Ubuntu 的方式进行包管理,所以它没有被系统升级过程管理起来——系统的其他组件升级了,bundler没有。此时 bundle 执行任何命令都会报错,大部分是依赖错误、试图调用系统内某个动态链接库失败。
行吧,为了解决这个问题(和潜在的其他问题),我们需要按照官方教程从头安装 yarn 和 Ruby 和 Bundler,并把它们配置为正确的版本。
如果你像我一样愚蠢,安装新版时没有清理掉旧版残留的依赖包,问题就更大条啦,你会在执行 bundle exec rails assets:precompile 的时候被异常信息淹没。这是因为 bundle 并不会主动检查它此前下载的依赖包的完整性和正确性,而那些在旧系统内构建的包是无法在新系统内工作的。
如果你明确知道出问题的包是哪个,可以这样卸载它再重新安装:
bundle exec gem uninstall ffi
bundle exec gem install ffi
并且我尝试让 bundler 重新编译所有的依赖,来修复任何没被发现的问题:
bundle check
bundle pristine
假设上面提到的问题都解决了,你正确地构建出 mastodon,还是需要额外处理数据库的一些细节:
首先,前面升级 PostgreSQL 时,它在原先的端口 5432 保留运行了旧集群 10 main,而你使用的新集群 12 main 可能工作在 5433 端口。你需要重新配置 mastodon 的 .env.production,修改里面的数据库端口,才能指向新集群。
其次,如果你像我一样选择导出、导入的路径来实现数据迁移,那这个过程中可能没有正确地给 mastodon 用户分配数据库权限。请在导出前确认好它所需的权限,并在导入后把缺失的加回来。当然,如果你选的是 dump_all,可能权限配置也一起导出了,根据自己情况处理。
然后,在导入数据库到 12 main 时,实际上报了几个错,是关于 unique index 的,某些索引在建立时发现了重复的 key,导致建立失败了。这个问题不会中断导入,所以你的数据暂时是完整的。但是缺少索引会影响之后的数据查询效率,需要想办法解决。
我到现在还不知道有没有解决这个问题,我试了这些命令:
tootctl maintenance fix-duplicates
reindexdb --all
站点恢复运行之后我发现访问起来还是相当的慢,研究了一番,发现是每个用户的 timeline 都是在后台临时构建。按我理解,这个 timeline 应该是事先准备好的,所以我又找到了这个命令:
tootctl feeds build
它基于现有的数据,重新构建了每个用户的 timeline。
其他杂七杂八的小问题还很多,但最有风险并且难懂的就是上面这些。
结论就是任何人要新建 mastodon 站点的话务必使用 docker 版本。
并且不推荐0基础运营公开站点,为太多人的数据负责,却又草率行事,后果真的可能很糟糕。
目前有看到国内的设计里有一个新的趋势:适老化设计。
适老化设计与残障设计有一定的共同之处,应用场景也并非仅仅是残障人士或者老人。我从以前就还蛮喜欢研究残障类产品,现在的产品不仅仅只是无障碍设计,还有越来越多的智能设计的加入,比如说普通盲人或者是不方便行动的老人关灯需要很费劲,但是现在只要语音控制就可以。所以不仅仅残障人士和老人可以用这样的设计,普通的正常懒人同样也可以使用这样的设计,并且很多人和父母老人一起居住,因此在做室内设计的时候也可以直接一步到位做适老化设计,同时联动智能家居。
但是看了一些目前国内的适老化设计,也有局限之处,那就是太细了。分得太细了。因人而异的设计是好的,然而老人和小孩一样,状态的变化速度是很快的,可能昨天还能自己做饭,明天就只能躺床上了。昨天做的设计可能明天就不适用了,应用场景也太局限了。我以前在做室内设计的时候,会考虑到设计的成长性。设计能不能变化去适应人,而不是人去配合设计呢,我会尽量这样去做。
以厨房为例,以通用的“黄金三角理论”为基准,依据动线设计成为一个开放空间或者半开放性空间,增加家庭互动和凝聚。
❶在这个基础上动线尽量以u型或者半u型为主,利用率最高同时加上减少移动距离。❷地面做无高差,通道宽于轮椅宽度,水槽和灶台操作台下面留一个轮椅宽度的空,方便轮椅和转椅进去(不止残障老人等可以使用,自己可以坐着做饭也很方便)。❸厨房地柜的把手做成可以帮助站立的扶手(扶手可自行移除或者增加)。❹餐桌与台面保持同一高度做一体化,帮助锅直接从台面滑向餐桌。❺接入智能家居和人体感应系统,不需要起身开灯,语音操控智能家电的使用也减少家务量。
以上其实已经可以适用绝大部分人和场景,不过最好还是使用模块化设计,去应对未来不同的变化和需求。
但在寸土寸金的今天,这样的设计牺牲了一部分收纳,只能说还算是奢侈品吧。
看到一个新闻报道说学校要求教师不要晒暑假旅游照片,原因是不能引起其他行业的不适和非议…
不禁勾起我的记忆了,在国内当老师的那三年,每年暑假我都到处玩,国内国外上山下海,朋友圈经常更新各种风景,有一次校长忍不住给我留言“差不多就回来吧,影响不好” 我一整个无语,下班的自由时间出去玩有什么不良影响,是没有表现出我天天在家备课研究教育吗?
有一年我来美国的行程都订好了,学校放假前临时通知7月底要回校2天,没什么大事就是要检查备课情况开开动员会,我说参加不了,校长让我退票,我说六七千的票退不了。他继续说你不配合工作的话下学期不让你带毕业班,我be like天啊竟有这等好事,马上回他“好啊,正好我也不想那么累”,校长用看精神病一样的眼神看着我,摇摇头走了,最后屁事没有。
校领导的那些PUA整不到我,作为刚毕业的新老师学校喜欢什么事都推给我们,什么朗诵大赛,歌功颂德文章,德育论文大赛只要需要写字的都来找我,当时刚当班主任天天累得跟狗一样。有一次德育主任半夜十点半给我打电话质问我为什么没有交一个狗屁比赛的文章,我说没时间,他絮絮叨叨一大堆说自己年轻时是怎么怎么努力天天加班挤时间搞这个搞那个,年轻人要多锻炼,我默默地听了十几分钟,最后说了一句“那是你厉害,我不行”,对面又像碰到弱智一样沉默了一下,挂了电话。
我就不懂为什么对教师的恶意那么大,每天五六点起来看早自习晚上看晚自习八九点回家可以,经常加班备课备赛搞行政任务忙到半夜可以,天天处理学校学生的乱七八糟的事情劳心劳力可以,得各种职业病可以,做蜡烛烧死了自己可以,但是有了暑假不得了人人都要得红眼病了,老师就不配享受……
我的朋友圈也有一些学生,都是比较自律比较有想法的女生,曾经加过的几个男生都被我删了看着烦。以前她们不止一次跟我说“老师,很羡慕你能到处走,我以后也想像你那样自由自在”,我都告诉她们,如果想自由想看外面的世界,就要努力,不管是学习还是别的能力,学好英语,多了解点历史地理,培养独立的思想和能力,一个人也能支持自己的梦想。我不觉得我朋友圈的那个世界会对学生造成不良影响