普通视图

Received yesterday — 2025年8月5日写作

佳明255光速退货

2025年8月5日 17:40

今年虽然还在继续跑步,但很艰难,无论是从记录的心率、配速上比较,还是在体感方面,总找不到去年那种畅快的感觉了。配速上,今年平均速度跑 1 公里要比去年多花半分多钟。更力不从心的是,虽然配速更慢了,心率却还更高了。

image.png

可能我一直都是瞎跑,没有科学系统的方法,所以跑了这么久,没有任何提升。早就听闻佳明的数据分析很厉害,也有一套人人称道的基于身体电量的训练计划,买一块佳明手表的念头浮现已久。

周五当天股票亏了很多,一天把 7 月整月的盈利吞噬而尽。晚上打开京东,发现佳明 255 深圳国补可用,1173 元,还不及白天亏损的零头,于是“冲动”下单。

周六下午京东快递送到的时候,我正带娃在深圳游泳跳水馆玩水,于是先让家人签收。结果快递员让下载 APP 连接手机,瞎弄一通还没搞定,加了微信说等我晚上回来正常激活后按要求拍照发给他上传系统。

从游泳馆玩水回到家,我重新按说明书走一遍安装 APP 并连接的流程,成功连接后,并没有在手表系统设置页找到快递员所说的 SN 码。于是我去问京东客服这个手表国补订单的签收要求,原来只需要下图中的三张照片,手表背面的 SN 码照片、外包装 SN 码照片、手表背面与外包装 SN 码的合照。手表都不用开机,这快递员估计也是第一次送佳明表的国补订单。

6eab6005df3618db3c2256b228b4377.jpg

搞定完签收环节,开始捣鼓这块表了。首先外观上,比较厚,塑料质感,没有触屏,五个实体按键,笨笨的感觉。看网友都说戴着比 Apple Watch 要轻,我感觉不出来,差别不大。然后功能上,手机要安装三个 APP ,一个管理运动记录和数据,一个下载安装应用,一个社交。想换个表盘,提示必须在 Garmin Express 中更新手表才能安装,都什么年代了,手表升级个固件还需要在电脑端操作。

还有佳明的 APP 超级难用,我无论切换哪个页面,加载都非常慢,让人怀疑是手机卡到爆的感觉,加载的过程中,屏幕中央还一直有个小人在跑,这加载动画,只能说跟佳明专业对口。 image.pngimage.png 带着它睡了一晚,早上醒来身体电量也由睡觉前刚戴上时的 80 充满至 100。虽然晚上下过雨,地面还很湿,但还是忍不住戴上新表出去跑了一圈 6 公里,跑完之后查到 APP,各种数据统计分析的确非常丰富详实,这一点是 AW 比不上的,不愧为专业运动手表。

这半天体验下来,感觉使用过程太不智能了,放弃,还是继续用续航渣渣的智能手表——Apple Watch。跑完步回到家就申请了退货,9 点左右快递员就上门来取件了,就是昨天派件的那个快递员,收件的过程中还嘀咕,“昨天刚到的就退呀”。不喜欢可不得马上退货吗,我又不是图七天无理由退货要白嫖 7 天。

不过,佳明的这三个圈挺好看的,在手表退货后,我通过 Workout page 设置将 Strava 的运动记录同步到佳明上了,等深圳这几天雨过天晴后,去新跑一次看能够顺利同步。假如同步成功,即使没有佳明手表,也能复现三环分享图了。

image.png

  •  

2025年8月5日 14:00

为什么电影里面制造恐怖实验的人得穿「红色」的防护服?

因为穿「白色」的防护服可能会引起不好的联想。

什么联想?

你别问,问就是你也在联想。

  •  

宿命论保护着自由意志不要做出「错误」的选择

2025年8月5日 11:15

前情提要:

继续自由意志与宿命论的主线话题,内容接在《外归因给社会就拥有杀人权力了吗?》继续聊下去。在这篇文章下面一位朋友的评论也十分精彩:

看完我脑子里闪过了“超人理论”。超人需要崇高的信念且不依赖外部权威,文章里这位“妈妈”显然不具备这两样,她是做到了打破规则、行使权力意志但动机完全为利己且行为完全依赖外部权威,认为是程序出了问题而自己做了制度的推动者。这类精英主义、利己主义者总有一套自圆其说的说辞,自我标榜超人,实为末人。

@往事随风

很多人会搞混「超人理论」与「精英主义」的区别,我相信看完这段话大家也能简单明了地理解这两者的区别,崇高的信念且不依赖外部权威——这刚好可以开启今天关于自由意志部分的讨论。


自由令人惊骇

通过这几年的案例收集,包括我自己在人生路上的各种决定,我开始有了一种系统性的哲学观念——「代价论」

我大部分时候秉持的「代价论」,即人拥有选择权但也需要承担选择的代价,是比较接近哲学家萨特的观点的——即人的存在先于本质,人是生来自由的,并要为自己的自由负责。面对这种绝对的自由,人会产生焦虑、虚无感,而态度则是人对这种自由境遇的回应和选择。

我认为「选择」这一刻的「自由」是存在的,即自由意志的部分,所以这一点又和萨特的哲学观念是不同的。

萨特认为「自由令人惊骇」,人生来是自由的,并要为自己的自由负责。正是因为如此,人的「虚无感」来自于人本身,因为人本身就是自由虚无的,本质永远在变化,因此人们才需要做到知行合一,来对抗这种虚无感——这一点和王阳明的知行合一非常契合。

那每个人的结果是自由的吗?我倒觉得未必。

就拿昨天的「白房间」举例,如果一个人从小就生活在一个纯白的没有任何与外界沟通、了解外界的渠道,甚至连房间里的镜子都是预设好的程序,可以任由人们制造他们想让这个人看到的东西,那是否意味着他其实永远都不会理解世界的真相?如果有一天他从房间里被释放了,他会因为无法理解外部世界而逃回到白房间之中。而这个白房间有一部分就是所谓的「认知」。

因此,我认为自由的部分是「认知」,而认知看见的世界确实是被限制的「非自由」。

这就好比整个世界是一个 10 层楼的认知结构,普通人一般可以爬到 3 楼,看到 3 楼的风景,但是到了 4 楼,周围的风景开始变得抽象起来,充满了大量的类比、隐喻、超脱人们认知的逻辑。人们生活在 1-3 楼之所以舒适,是因为这里绝大部分的人或事都是自己可以通过经验主义、逻辑思考、感性感知所理解的。

现在,我们进入了 AI 时代,并不是人们拥有了突破 3 楼的工具,而仅仅只是在 1-3 楼安装了电梯,让每个人拥有了可以快速爬楼理解已知世界的工具。

想要去 4 楼,可能要做出「自由的牺牲」,比如通过大麻致幻联觉、或是因为精神病而获得了超脱常规认知的抽象理解、或是濒死体验等等,才能看到 4 楼光怪陆离的景象。也就是说,人们之所以并不允许进入 4 楼以上,也是为了使人类的精神不会受到污染,不会因为无法理解世界的本质而出现理智上的崩溃与毁灭。

所以,自由是有限的,但并不意味着人们被剥夺了进入四楼的自由,只是一旦进入就要付出难以想象的代价罢了。

自由令人惊骇的前提,是人们理解了不自由的「好处」与自由的「坏处」。


命运保护机制

宿命论决定的,正是每个人最终可以触碰到几楼的「天花板」。这话虽然很残忍,但我认为这或许就是命运的保护机制。

我家出过一个「精神病」,在我初中的时候,他作为我的同龄人,也常常用来和我做类比。正是因为是「精神病」,所以他对于这个世界的认知是抽象的,极具艺术天赋。在他还没有被确诊之前,他几乎快要成为我的「榜样」,成绩好、艺术天赋好,又出生在一个军属家庭,似乎未来的路都已经确定了。结果突然有一天,家里人警告我尽量和他少来往,原因也是过了几年我才知道——还是他从精神病院逃出来了,所有亲戚都像是在躲瘟神一样地避而不谈。

也是因为这个孩子的疯癫,让这个军属家庭在一夜之间家道中落,作为公安局局长的长辈去世后,整个家族分东离西。自此我也再没听过那个孩子的消息,也因此整个故事在这么浓墨重彩的部分结束,从而变成了不同关于命运故事的版本。(这个有机会再说,蛮有趣的)

这个家族在他们家最辉煌的时候,几乎整个家族的认知都围绕着「权钱」。其他亲戚寻求他们帮忙,也都直言不讳地谈论权钱交易的部分。最夸张的是,这个家的老太太在她母亲离世火化后的当天,就要求我外婆将他们母亲的遗产平均分配,免得以后扯不清楚。不得不承认,这是最高效的处理手段,但也限制了他们只能看到 2 楼的光景。这时,他们家出现了一个可以一口气爬上 4 楼的人,住在 2 楼的人并不能理解 4 楼发生了什么,甚至会认为那是危险的,所以最终还是选择了用强制手段将 4 楼的人拖回 2 楼,去理解他们能够理解的世界。

宿命论决定了这一家人只能看到 2 楼的光景,我觉得这就是所谓的「保护机制」,至少他们只用牺牲一个「疯子」来保全整个家族的稳定。

另一个例子,是以前在《青蛙、宿命论和自由意志》提到过的。助理和我们最后一次谈话,就说到她认为自己是一只生活在井底的青蛙,我们跟她相处的这几年,确实把她带到了井口看到了外面的世界,但她也意识到我们本质上不是一样的动物。我们告诉她可以去井口不远的池塘看看,这个池塘我们可能一步就能跳过去,但是她需要付出很大的努力才能走到这个离井口的最远距离。

她真的天生就是「青蛙」吗?或许是,从八字、从星盘的角度来说,每个人都有自己的局限性,甚至连内耗与否、几时开悟、因何开悟都颇有些命中注定的感觉。但这里又有另一个值得辩证的问题——或许这就是最开心的活法,就像苏格拉底和休谟的争论一样,并不是所有人都值得去充分考察自己的人生,否则这一生就变得内耗难受。

离开我们之后,她后来也在朋友圈发了小作文:

我总觉得自己没什么见识,所以当有人说我没见识的时候,我总忍不住跟着那个人涨涨见识。我以为,见识都是机会,是看世界,但真的被拖到别人的世界里去裹一身泥,才发现世界是世界的世界,跟我又有多少关系呢?

所以真正的问题不是她自己想要跳多远,而是宿命论起到了最后的保护机制,避免她看到自己不该看到的楼层,因为那里面充满了危险与「污泥」。


超人、精英与精致利己主义

现在再来聊超人理论和精英主义就可以了。

或许有人会觉得,我用楼层来比喻一些人一辈子都去不了某种楼层是一种「精英主义」,精英主义的内核是:应该由少数具备知识、财富与地位的社会精英,来进行政治决策,主导社会走向。

决定通往某一个楼层的,并不是精英给大门上了锁,这并不是那个恐怖的「白房间」,通过言论自由和钳制思想的方式来缔造「良民」,很显然这是无论哪个精英、哪个政体都做不到的。选择去什么楼层看一看,这便是萨特,也是我认为的「自由」,因为这种自由充满了虚无感,所以才需要人们知行合一地去提高认知,理解自己所处世界的规则。

再说尼采的「超人理论」,和萨特的自由说类似,超人理论也是用来对抗「虚无感」的,他提出「上帝已死」,认为人在经历道德、基督教信仰幻灭的虚无主义后,应该将心境转向一种「积极、正面的虚无主义」,使自己得以面对心中的价值意义,并且依此意义创建人生。

超人理论里,有一个至关重要的关于自由的认定:超人是绝对自由、自足而又自私的。

首先,我相信绝对自由的存在,比如你可以拿起武器杀掉仇人,但问题在于这种自由在文明社会里是受到约束的,但我的观点仍然认为这样的约束只是提供了一种「代价演示」,如果你能承担这个代价,比如最高死刑的刑法,那杀人也是一种自由。所以是我们作为现代人选择了「相对自由」的生存方式。

其次,自足的核心就是最开始那位朋友提到的,内在的自足动力,比如将自己视为神的信仰;外在的自足动力,不依赖外部权威的创造力。

最后,自私——这并不是一个贬义词,但就是人们简单的惯性思维,认为自私是「不好」的,而认为超人理论与利己主义并无差别。自私的定义很有趣,是一个人把自己的考虑或利益置于别人的利益之上。也就是说,自私要成立,必须要另一个人的利益作为参照物。那么一个明星在地震之后不向受灾群众捐款是自私吗?当然不是,谁他妈规定的一定要捐款?所以你会发现大部分人利用自私作为了一种相对评价系统,去评价那些没有做出利益调整的人。我个人认为超人理论里的「自私」放在语境下,因为同时拥有「自由」和「自足」的配合,这种自私是外部的相对评价,因为「超人」的内在系统已经完成了非常完善的自洽。

所以乐趣在于,无论是超人理论、精英主义(一些人仍然在幻想自己可以成为精英以便独占资源)、还是精致利己主义,这并不是命运安排的剧本,而是每个人的自由选择,其背后的代价也有所不同,超人理论可能就会遭人「自私」的评价,精英主义需要付出更多的努力甚至需要「投胎」的宿命论支撑,精致利己主义看上去最好选,也能实际得到「利益」这个结果罢了。

所以别再他妈的说自己没得选了,没得选也是一种自由意志做出的选择,是你选择了不反抗去接受一个看上去代价最轻的选项而已。


禁不起考察的自由意志

回到那个在德国生活的中国妈妈的例子,她在小红书上面「炫耀」自己在德国利用权力交易的方式,得到了自己女儿读幼儿园的资格。这是她的选择,所以也必然遭受人们对她行为的质疑。

只是她做了一个巧妙的外归因,认为:

  • 制度缺失实际优先于个体行为;
  • 程序正义未必能够实现事实公平;
  • 权力介入可能是唯一的解决方案;

那么现在问题来了,要留在德国生活的人,是谁决定的?是法西斯主义拿着枪逼她在德国定居吗?那既然如此,德国的制度缺失已经「烂」到这种地步了,那她可以选择换一个地方重新开始,她会做出这个选择吗?显然不会,那她就必须要接受在德国生活的「代价」。

如果你能理解这个「代价论」,那你就已经比这位母亲代表的精致利己主义者爬到更高的楼层。

  •  

2025年8月5日 02:57

听人说:「人生如建塔。」刚开始还觉得浓浓的「鸡汤」味道,却又越咂摸越觉得有道理。

可不可以这样说,我们每个人,从出生那一刻起,就成了一个建筑师?只是,这个建筑师有些特别:工地是预先划定的,材料是随机配发的,工期是不确定的,而图纸,需要自己去画。

这让我想起十多年前接表弟放学时,他向我分享在学校玩积木的心得。有的小朋友分到的乐高,色彩鲜艳,形状规整;而有的只有几块磨损的木头,边角都不太齐整。但奇怪的是,最后搭出来的东西,精彩程度往往和材料的好坏没有必然联系。有人堆出平庸的方块,有人却搭出了奇妙的结构。

在人生这场建筑游戏里,什么是我们能够掌控的,什么是必须接受的?

显然,有些东西是改不了的。基因决定了我的身高上限,出生地决定了我的母语,时代背景决定了我会遇到战争还是和平。这些就像地基,我可以在上面建造,但不能把它们挖掉重来。

但同样明显的是,有些东西是可以塑造的。例如,知识可以学习,技能可以训练,性格可以打磨,关系可以经营……这些就像可以自由使用的建材,虽然获取它们需要努力,但至少努力是有用的。

更有意思的是那些介于两者之间的东西。比如童年经历,它已经发生,无法改变,但我对它的理解和诠释却可以不断更新。父亲曾语重心长地说,同样的贫困童年,有人看到的是匮乏,有人看到的是简朴;有人记住的是饥饿,有人记住的是分享。记忆的砖块还是那些砖块,但可以选择用哪一面朝外。

说到选择,这可能是整个建塔过程中最关键的部分。因为塔可以有无数种建法:可以建成碉堡,坚固但封闭;可以建成灯塔,高耸而孤独;可以建成钟楼,定点报时;也可以建成了望塔,专注远方。

选择建什么样的塔,本质上是在选择什么样的人生。而这种选择,往往通过我们的价值观来体现。

我曾问过一位耄耋之年依然勤奋工作的科学家:「您到这个年龄了,为什么还要这么拼?」他想了想说:「年轻的时候没有赶上好时代,三反五反、文革,耽误了太多时间。现在我头脑还清醒,生活能自理,干嘛要歇着呢?」这是他的核心价值——对时间的珍惜和对事业的执着。所以他的塔建得很高,为的是在有限的生命里创造更多价值。

我也问过一位常年旅行的作家:「你为什么不安定下来?」她笑着说:「我想在死之前,看遍这个世界的美。」这是她的核心价值——体验。所以她的塔建得很宽,每一层都是一扇窗,望向不同的风景。

我还在云南的大山深处问过一位乡村教师:「你有想过回城里吗?」她沉默良久,目光望向远山,缓缓却坚定地说:「这里是我的家乡,还有那些渴望知识的孩子。我希望他们都能走出这片大山,出去了就不要再回来。」这是她的核心价值——责任与传承。所以她的塔建得很稳,深深扎根在那片土地上。

三个人,三种价值观,三座完全不同的塔。谁对谁错?都对。因为价值观没有标准答案,只有是否忠于自己的选择。

但选择之后呢?是不是确定了方向,塔就会自动建成?

当然不是。任何宏伟的构想,如果不落实到一砖一瓦的堆砌上,终究只是空中楼阁。这也就是为什么需要切实的行动。

行动可以很大,例如,辞职创业、结婚生子、移民他乡等。这些像是在塔上加盖整整一层,会显著改变塔的高度和形状。

行动也可以很小,例如,每天跑步五分钟、睡前看两页书、给父母打个电话。这些像是在缝隙里填充砂浆,看似微不足道,却让整座塔更加坚固。

随着年龄的增长,我越来越欣赏那些懂得「小建筑」的人。他们不急于建造摩天大楼,而是耐心地、持续地、一砖一瓦地往上垒。就像那些坚持写日记的人,几十年如一日地记录生活的点滴。看似平淡无奇,实则是在建造一座记忆的高塔。待到回首时才发现,每一个寻常的日子都是不可或缺的砖石,共同撑起了生命的重量。

当然,建塔的过程绝非一帆风顺。风会来,雨会来,地震也可能来。有时候,辛苦建好的几层可能会坍塌,不得不推倒重来。

这让我想起日本的伊势神宫,每二十年就要拆除重建一次。不是因为旧了,而是为了传承技艺,也为了提醒人们:没有什么是永恒的,但正因如此,每一次建造都值得全力以赴。

人生的塔也需要定期检修。读一本书,可能会发现某个结构的缺陷;遇一个人,可能会看到新的建造可能;经一件事,可能会调整整体的设计。

但这里有个陷阱:过度修改。

我见过一些人,总是在推倒重来。今天觉得应该建座学术的塔,明天觉得应该建座商业的塔,后天又想建座艺术的塔。结果一辈子都在打地基,从来没有真正建起来过。

也见过另一些人,过分执着于最初的设计。明明环境变了,需求变了,能力也变了,却还是按照二十岁时的图纸在建造。结果建出来的塔,既不适合现在的自己,也不适应当下的世界。

真正的智慧,是在坚持和改变之间找到平衡。核心结构要稳定,但具体形式可以调整。就像一棵树,根要扎得深,但枝叶可以随季节生长凋零。

学建筑的同学告诉过我一个细节:真正的建筑大师,在设计时总会留出一些「未定义空间」。不是疏忽,而是刻意为之。因为他们知道,生活会带来意想不到的需求,与其把一切都规定死,不如留出一些可能性。颇有一些国画中留白的意蕴,不是吗?

人生的塔其实也需要这样的留白。不必把每一天都安排满,不必把每个空间都定义清楚。留一些时间给偶遇,留一些空间给惊喜。有时候,最美好的建筑,恰恰出现在这些留白里。

写到这里,我忽然意识到一个问题:我们一直在说建塔,但为什么是塔?为什么不是房子、桥梁或者其他什么建筑?

也许是因为,塔有一种独特的意味。它不是为了居住,不是为了通行,而是为了眺望、为了指引、为了标记存在。塔是竖立在大地上的一个感叹号,宣告着:「我在这里,我曾在这里。」

而这,可能正是人生的意义所在。不是为了到达某个终点,不是为了完成某个任务,而是为了在有限的时间和空间里,建造出属于自己的独特存在。

每个人的塔都不一样。有的华丽,有的朴素;有的高耸,有的敦实;有的笔直,有的倾斜。但只要是用心建造的,都有其独特的美。

最后,让我用赵州和尚的一段公案来收尾。

问:如何是祖师西来意?

师曰:庭前柏树子。

曰:和尚莫将境示人?

师曰:我不将境示人。

曰:如何是祖师西来意?

师曰:庭前柏树子。

不必等到塔建成才有价值,建造本身就是价值。

用手上的材料,按心中的图纸,在脚下的土地上,一砖一瓦地建。不必羡慕别人的高度,不必担心自己的速度。只要在建,就是在活;只要在活,就是在创造意义。

而当某一天,能够后退几步,看着自己的塔在夕阳下投下长长的影子,会发现:原来意义不是找到的,是建造出来的。

塔,就是我存在过的证明。

  •  

提取特定的字体

2025年4月19日 13:26

有时候想给网站某标题特定使用一个字体,但是整个字体包可能会有几十MB大小,利用字体编辑器可以提取我们需要的那几个字,直接将字体包压缩到几KB。

首先打开 查看字符编码 ,输入你需要提取的字,如:

1745039859334.png

右侧的“Unicode编码16进制”可以方便我们定位文字,打开 字体编辑器 ,新建一个项目,导入完整的字体包,点击菜单上的“查找字形”,选择uni编码,粘贴上一步的编码,需要在前方加入“uni”。

1745039978849.png

回车就会准确定位到我们需要的文字上,接下来就是CV大法了,新建一个项目,把需要的文字复制进去:

1745040065537.png

搞定之后直接导出成字体文件就可以放进网站使用了。

1745040217626.png


当然还有更方便的办法,用python可以自动化操作,有需求的自行问GPT。

  •  

使用giffgaff卡搞TG过程

2025年3月23日 22:49

曲折的故事起因源于突然不想使用+86手机号使用TG了,至于原因dddd.

偶然在论坛看到有用户发帖“付邮送giffgaff卡”,于是简单的对giffgaff做了一下了解(以下检测gg卡),gg卡是位于英国的移动电话公司产品,并且提供实体 sim 卡且免实名,还可自由切换为 esim,或再换回实体 sim 卡

拿到卡激活时选择“Pay as you go”套餐,在中国内地的漫游费用即为:收短信免费,发短信 £0.3/条,接打电话 £1/分钟,流量 £0.2/MB。所以此卡的主要作用是只收短信,免实名注册各类境外账号。

我果断的支付6元邮费拿了一张,第二天就收到了卡片,这些人手里或多或少都有从英国寄来的多余卡片,是他们走自己的邀请通道申请的,有人激活后会获得部分奖励,如果你不想走他们的推荐的话可以自己在gg官网免费申请包邮到家,但路途遥远,可能得在一个月后才能收到卡片,所以找他们付个邮费拿一张是最简单的,而且走推荐激活后会赠送5英镑话费,自己直接申请激活的则没有赠送。

简单的在官网操作激活之后,迫不及待的打开TG进行手机号换绑,但TG出了一个谜之操作,换绑提示“我们已经将验证码发送到该帐号(+44 XXXXXXXX)其他设备上的 Telegram应用。

大致意思就是我的gg号码已经有人注册账号了,并且还在线,验证码发到了登陆者的设备上。

一脸懵逼的我一脸懵逼,给TG发邮件苦等也没有结果,恰好网友说gg可以在官网免费换两次号码,去换一个号码再试试。

于是我马上去官网换号码,但必须在他们的工作时间才能操作换号(页面会有提示在不在更换时间内)。

1742740561907.png

1742740579521.png

直接输入密码后页面就会显示新的号码了,这时候手机里的卡会短暂的出现无服务现象,稍等一会后信号就会恢复,这时候就可以使用新的号码了。

可当我拿着新号码去换绑时,TG上依旧显示“我们已经将验证码发送到该帐号(+44 XXXXXXXX)其他设备上的 Telegram应用。

我突然意识到这可能是TG的一种机制,于是我随机乱输入一些号码,结果都是这个提示,当我尝试更换为其它+86手机号时,正常发送了。

姑且判定是TG不允许+86手机号换绑海外手机了?

于是我直接用新的+44 手机号在我的苹果设备上注册了一个新的TG号,这次直接正常发送短信验证码了,但是注册成功之后不过一分钟就弹出了:“此手机号码已被封禁。

网上搜索了一下什么情况,大概是设备上登录账号过多(一共登录3个),且短时间内同一IP设备不停的发送验证码,被TG判为刷号给封了,网上给了一些申诉方案,但我觉得麻烦,且不知道要等待多久,于是打算明天消耗掉最后一次更换gg号的机会重新注册(gg在24小时内只能更换一次号码)。

第二天卡点更换了新的号码,这次我拿了另外一部安卓手机,且使用了住宅IP进行注册,从中午注册到现在,账号还是一切正常,应该不会出什么问题了,先在同设备IP挂个一个月沉淀沉淀,之后就着手注销掉两个+86账号了。


补充一句如果你也想入手gg卡,请确保自己有外币卡哈,比如VISA等,因为激活时需要充值10英镑。

参考阅读文章:https://www.hui.ke/posts/giffgaff/https://dnswiz.com/read-1940-1.html

另外,gg卡默认是开启语音信箱的,也就是有来电时,我们拒接后会转入语音信箱,这时候也会收取我们的话费,所以需要关闭这个功能。

网上说的是在拨号界面输##002#,但其实gg早就关闭这个通道了,需要在gg官网提工单关闭才行。

  •  

TG自建Python版的RSS订阅Bot

2024年10月9日 13:02

以前找moe.one要了一个TG新帖推送插件,我上TG上的少没细心关注,这几天才发现这个推送机器人抽风很厉害,不能做到实时推送,中间会间隔一堆才推一次,看不懂代码逻辑,于是自己在网上找了RSS订阅BOT部署,试了两个用的人多的项目,都是docker部署,我想改改消息格式都不知道怎么下手,实在对docker不懂...默认的消息格式让我强迫症实在难受,于是让AI配合写了如下Python脚本,此文记录一下搭建步骤,避免以后有需要时又要去找AI掰扯。

打开服务器终端,安装Python和所需库

安装 pip
更新包列表:

apt update

安装 python3-pip:

apt install python3-pip

安装完成后,确认 pip 是否正确安装:

pip3 --version

正常会返回 pip 的版本信息。

安装所需库

pip3 install feedparser requests python-telegram-bot

下一步,我们需要去Telegram创建Bot,在TG里搜索@BotFather,进入对话框,输入/newbot以创建新机器人,然后回复一个机器人名字,再回复一个机器人的用户名,需要带bot,可以参考截图设置:

1728448409299.png

@BotFather会回复你一个机器人的HTTP API,保存它,后面会用到。

进入刚刚创建的机器人对话框,将他拉进一个你需要推送的群,或者直接给你自己推送也行,拉群记得给它管理员和消息权限。

TG搜索@get_id_bot,进入对话框点击右上角,将他拉到刚刚的群里,在群聊对话框输入:/my_id@get_id_bot发送,会得到一个-开头的群聊ID,记录它,包括-符号。

1728449020735.png

信息获取完成,接下来就是创建脚本了,回到服务器终端

  1. 创建目录
    假设创建一个名为 dalaorss 的目录:
mkdir dalaorss
cd dalaorss
  1. 创建 Python 文件
    在 dalaorss 目录中,创建一个 Python 文件,这里使用 nano 编辑器创建一个名为 rss_bot.py 的文件:
nano rss_bot.py
  1. 添加代码
    将下面代码复制进脚本中,注意修改为你的信息
import feedparser
import logging
import asyncio
import json
import os
from telegram import Bot
from telegram.error import TelegramError

# Telegram Bot Token 和目标聊天 ID
TELEGRAM_TOKEN = 'Bot Token'
CHAT_ID = '群ID'

# 存储已发送的帖子 ID 的文件
POSTS_FILE = 'sent_posts.json'

# 读取已发送的帖子 ID
def load_sent_posts():
    if os.path.exists(POSTS_FILE):
        with open(POSTS_FILE, 'r') as f:
            return json.load(f)
    return []

# 保存已发送的帖子 ID
def save_sent_posts(post_ids):
    with open(POSTS_FILE, 'w') as f:
        json.dump(post_ids, f)

# 从 RSS 源获取更新
def fetch_updates():
    feed_url = "订阅地址"
    try:
        return feedparser.parse(feed_url)
    except Exception as e:
        logging.error(f"获取 RSS 更新时出错: {e}")
        return None

# 转义 Markdown 特殊字符
def escape_markdown(text):
    special_chars = r"_*~`>#+-.!"
    for char in special_chars:
        text = text.replace(char, f"\{char}")
    return text

# 发送消息到 Telegram
async def send_message(bot, title, link):
    # 转义 Markdown 特殊字符
    escaped_title = escape_markdown(title)  # 转义 Markdown 特殊字符
    escaped_link = escape_markdown(link)    # 转义 Markdown 特殊字符

    # 使用 Markdown 格式,将标题包裹在反引号中以避免超链接,链接直接显示
    message = f"`{escaped_title}`\n{escaped_link}"
    try:
        await bot.send_message(chat_id=CHAT_ID, text=message, parse_mode='MarkdownV2')
        logging.info(f"消息发送成功: {escaped_title}")
    except TelegramError as e:
        logging.error(f"发送消息时出错: {e}")

# 主函数
async def check_for_updates(sent_post_ids):
    updates = fetch_updates()

    if updates is None:
        return  # 如果获取更新出错,则返回

    new_post_ids = []  # 用于存储新帖子 ID

    for entry in updates.entries:
        # 从 guid 中提取帖子 ID
        post_id = entry.guid.split('-')[-1].split('.')[0]  # 提取 ID

        # 检查是否为新帖子
        if post_id not in sent_post_ids:
            new_post_ids.append((post_id, entry.title, entry.link))  # 存储 ID, 标题和链接

    # 如果有新帖子,按 ID 升序排序并发送最新帖子
    if new_post_ids:
        new_post_ids.sort(key=lambda x: int(x[0]))  # 升序排序
        latest_post_id, title, link = new_post_ids[0]  # 获取最新的帖子
        async with Bot(token=TELEGRAM_TOKEN) as bot:
            await send_message(bot, title, link)

        # 更新已发送的帖子 ID
        sent_post_ids.append(latest_post_id)
        save_sent_posts(sent_post_ids)  # 保存到文件

# 主循环
async def main():
    logging.basicConfig(level=logging.INFO)

    # 加载已发送的帖子 ID
    sent_post_ids = load_sent_posts()

    while True:
        try:
            await check_for_updates(sent_post_ids)
        except Exception as e:
            logging.error(f"检查更新时出错: {e}")
        await asyncio.sleep(60)  # 每 60 秒检查一次

if __name__ == "__main__":
    asyncio.run(main())
  1. 保存并退出
    在 nano 编辑器中,按 Ctrl + O 保存文件(字母O不是数字0),然后按 Enter 确认,接着按 Ctrl + X 退出编辑器。
  2. 运行脚本
    nohup(no hang up)命令可以让脚本在后台运行,即使您关闭终端会话也能保持运行。
nohup python3 rss_bot.py &

现在就可以去更新rss看看推送状态了,这里的脚本内容以我自己论坛为例,如果你也是xiuno论坛那么照抄就行,如果是博客或者其它程序,可能还需要做一些修改。

推送效果:

1728449810062.png

个人比较喜欢这种格式,如果你喜欢别的模式比如消息内预览,可以使用docker版本的,网上搜一下就有。

脚本运行后,怎么查看或关闭:

检查当前运行的进程

ps aux | grep python

会得到正在运行的进程,查看到rss_bot那条,最前面有一个ID,命令行输入

kill ID

即可停止。

  •  

网站自动增量备份到另一台服务器

2024年10月5日 12:15

国庆的时候,智联IDC联系我说:给你赞助服务器,需要啥开口就行。

于是,我要了一台韩国物理机。

1728120062137.png

大陆优化,我还是保持套用CDN,昨晚已经将论坛迁移上去了,可能是心理作祟,明显觉得响应速度比之前快了。

第一件事还是搞定时备份,数据库好说,压缩下来也就40多MB,搞了个每两小时备份一次到又拍,但是网站压缩包有5GB大,每次自动备份上传都会因为文件过大失败,所以昨晚研究了一下增量备份。

我的操作很简单,这个备份方式也适用所有人,非常方便,以下教程以宝塔为例,把网站数据从主服务器(网站所在)备份到副服务器(专门备份)

首先,安装 rsync:
确保在两台服务器上都安装了 rsync,可以使用以下命令安装,打开终端输入对应命令:

sudo apt-get install rsync    # Debian/Ubuntu
sudo yum install rsync        # CentOS/RHEL

然后,在主服务器SSH里连接副服务器:

ssh-keygen
ssh-copy-id 副服务器SSH用户名@副服务器IP

回车根据提示输入密码即可,弹出Enter passphrase (empty for no passphrase):是让你设置密码短语,直接回车不要设置。

然后,在主服务器根目录下的/root/目录里,创建一个文件:backup.sh,内容写:

#!/bin/bash

# 设置变量
SOURCE_DIR="/www/wwwroot/网站目录"  # 主服务器上的网站目录
DEST_DIR="副服务器SSH用户名@副服务器IP:/www/wwwroot/网站目录"  # 副服务器上的备份目录
LOG_FILE="/root/backup.log"  # 日志文件路径

# 输出脚本开始执行的消息
echo "脚本开始执行" | tee -a "$LOG_FILE"

# 使用 rsync 进行增量备份,排除 .user.ini 系统文件
rsync -avz --delete --exclude='.user.ini' "$SOURCE_DIR/" "$DEST_DIR" >> "$LOG_FILE" 2>&1

# 输出备份完成的消息
echo "备份完成" | tee -a "$LOG_FILE"

因为在上面脚本中我们加入了日志,所以还需要在/root目录下手动创建一个backup.log文件,以便备份日志记录。

再次打开终端,执行

chmod +x ~/backup.sh

赋予它执行权限,现在可以运行脚本。执行以下命令:

~/backup.sh

看到提示信息就说明备份成功了,接下来创建一个脚本来定时执行这个任务。

要定时执行 ~/backup.sh 脚本,在终端中运行以下命令,以打开 crontab 编辑器:

crontab -e

crontab 的格式如下:
第一个 * 表示分钟(0 - 59)
第二个 * 表示小时(0 - 23)
第三个 * 表示日期(1 - 31)
第四个 * 表示月份(1 - 12)
第五个 * 表示星期几(0 - 7,0和7都表示星期日)

比如我每小时执行,就是:

0 * * * * ~/backup.sh

按 Ctrl + O 保存,按 Ctrl + X 退出。

查看当前的定时任务是否创建成功:

crontab -l

或者

直接在宝塔定时任务那里添加shell脚本任务,以root身份执行,脚本内容:

sh ~/backup.sh

增量备份机制:

在备份过程中,会比较源目录和备份目录中的文件,它通过检查文件的大小和修改时间来判断文件是否被修改过,如果源目录中的文件被修改,只传输这些变化的文件,而不是重新传输整个目录,这种机制大大减少了需要传输的数据量,提高了备份速度和效率。

假设在主服务器的 /www/wwwroot/www.dalao.net 目录中有以下文件:
file1.txt(未修改)
file2.txt(已修改)
file3.txt(已删除)

当执行命令后:
file1.txt 会保持不变(未修改)。
file2.txt 会被传输到备份服务器,因为它已经被修改。
file3.txt 会从备份服务器中删除,因为它在源目录中被删除了。

以上是网站文件的增量备份,数据库也大同小异,但我没有去做,因为文件不大,直接备份到七牛了,这样增量似乎也可以实现多源站方案。

  •  

通过HTTP代理获取RSS

2024年8月31日 20:02

几个月前,为论坛上线了“博文贡献”功能,简单的说就是将你的博客绑定上论坛账号,发布博客后系统可以使用你的论坛账号自动将博文发布到论坛并附上你的原文地址,实现“你为论坛添砖,论坛为你加瓦”。

陆续到现在有30多位用户绑定了博客同步,但实际因功能不完善的原因,每次都只有几个博客完成了同步,前天在家调整了一天,适配兼容Atom和RSS2.0,结果总是“你的同步了,他的又不行了。”

忽然想到之前找叶开拿了一个博客的RSS订阅,似乎能获取大部分的RSS(因订阅的博客较少,暂未发现不能获取的),于是直接把这个订阅器的获取代码部分COPY到了论坛上,经测试,30多个绑定博客,已有20多个能正常获取,其余的几个可能因网络问题和爬虫拦截原因没能获取。

但随着想法的延伸,开始担心有人利用此同步方式查看网站访问日志,获取到源站 IP,与益达叶开交流后,提出了使用代理获取的方案。

本想将此间过程记录,但碍于自己也是东搜西搜,主要还是GPT帮我完成了此方案,所以就不记录那些随手一搜就有的结果了,只讲一下使用的软件吧。

一开始,我选择的是Tor,通过Tor的SOCKS代理访问网站成功,留下的都是Tor分发出来的IP,每次都不同,但都是欧洲那边的,可能访问国内的博客会导致超时等各种原因,总之我在放进PHP里之后,每次进行获取RSS数据都会异常。

尝试几次之后,决定还是自己搭建HTTP代理服务, 先后试了Squid 和 3Proxy,都是遇到一些莫名其妙的错误,也有安装不上的。

最后是使用了Tinyproxy,完美的安装运行,放进了博客和论坛的获取PHP里面,正常的获取数据,留下了代理服务器的IP。现在,我在几台不同的服务器上都安装了Tinyproxy,进行随机使用。

TIPS:如果遭遇恶意攻击代理服务器,还可选择购买别人的代理服务,专门为爬虫做的代理池,以下是我随便找的一个HTTP代理商,买了个一块钱做测试,付费后体验30分钟,会给一个API和令牌,用它来随机获取代理IP。

1725127721663.png
(避免广告,不提供地址)

一个月20块钱也可以接受的,我测试这个全是国内的IP,请求海外服务器的网站可能就不行了。

更新: 因部分人使用的是国内服务器并且屏蔽了海外IP,导致无法获取RSS,所以我在网上寻觅了2个小时找到了一个性价比还算可以的国内HTTP代理提供商家,支持按请求次数付费,掏腰包买了一个套餐:

1725138529375.png
(避免广告,不提供地址)

无时间限制,请求数用完即止,在调试的时候需要区分哪个RSS源用哪个区域IP访问,就用了较简单的思路:默认使用购买的代理池获取,如果国内代理池获取不了,再使用自己搭建的海外HTTP服务器获取。

尝试一遍后,发现存在一个浪费请求数的问题,每访问一个RSS源都去请求了一遍代理池,达到了每个访问RSS的IP都是不同的,提倡节约的原则,又加上了一个新的思路:只在获取RSS的第一次请求代理池IP,并存储下来,遇到不能访问的切换到自建IP,下一条RSS再用存储的IP进行访问。只存储3分钟,3分钟过后如果还有新的RSS获取请求,再从代理池拉新的IP(代理池规定的动态IP存活时间在3分钟左右)。


这或许也并不能完全的隐藏源站IP,但也并不会很直观的就把源站IP暴漏出去。

欢迎你也加入论坛绑定自己的博客,如果绑定后无法同步,请尝试放行 User agent 请求标识:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Dalao/1.0 www.dalao.net


PS:该功能已下线。

关于博文同步:因需要保证同步质量,拒绝绑定水文极其严重的博客,包括说说站点、撰写敏感言论的站点、宗教信仰类站点等。

附:大佬论坛:“博文贡献 BETA 2.0” 版本说明

  •  

狗云的服务器赞助

2024年3月7日 13:49

之前提到了论坛跳H的问题,给它更换了付费SSL之后没几天,我又给域名解析加了DNSSEC。

原本域名的DNS是在华为云的,因为华为云解析免费,而且支持全球各地分区域解析,但唯独不支持DNSSEC,去年就给他们反馈过希望增加这一功能,但没有下文。

国内常用的解析无非是 华为云、阿里云、腾讯云,除开华为云之后,其它两家都支持DNSSEC,但需要开通付费版套餐才能使用,而且分区域解析也被列入了套餐中,比如开通个人版套餐,给你开放国内的华中华北、国外的亚洲欧洲区域解析,开通专业版再给你开放国内的城市线路和国外的国家细分。

我只为DNSSEC,所以选择开通了阿里云的云解析个人版。

DNS切换到阿里云之后,过了一个多星期都没有人反馈跳H问题了,似乎问题得到了解决。

补充一句为什么DNS选择用国内的,因为使用国外的DNS会影响国内的解析访问速度,而且套上CDN之后,CDN也会根据DNS分配成海外的远距离节点。


前几天,我寻思给论坛的服务器找个赞助商吧,虽然不久前才在狗云给机器续费了一年,但拉个赞助不过分吧?

去年使用的是狗云的香港KC A节点,配置拉到了顶配,8H16G,运行论坛妥妥性能过剩浪费钱,不过我利用充值2000赠送的5折折扣,顶配机器一年折扣下来只花了1300左右。

今年春节后,机器年付到期,想着节约一下成本,给配置拉到了4H8G,5折后年付价格700多。

5折是狗云弹性云用户能拿到的最低折扣。

说回找赞助,心想着肯定得找老牌且口碑不错的商家,于是我联系了一下v.ps的老板,之前也有过几次与他的域名交易,说明来意后他二话不说开了一台荷兰的4H4G机器给我,我测试了一番发现效果不太理想,源站放荷兰的话CDN回源延迟太高,除非放弃国内加速,使用CF众生平等。

我联系他,看能不能换个香港的机器,对大陆访问友好一些,可能觉得我挑来挑去太麻烦,就没继续赞助。

我也不能随便找个机器就把论坛往上搬不是,既然用不上,也就不去浪费资源了,顺手把v.ps账户注销了。

最后抱着试试看的态度问了一嘴狗云的老板德克,德克倒是爽快的很,半夜三点给我把机器从香港KC A节点迁移到了性能更好的C节点,并且将机器配置又拉到了顶配8H16G,还问我要不要给机器加个高防IP。

当然狗云给我的并不是纯免费赞助,只是给了我一个极低的折扣,1折。

之前5折年付顶配需要1300左右,现在只需要300出头,一天不到1块钱,属实爽歪歪。

当然我也不可能白嫖赞助,去年一年给狗云AFF推广,百分之十的提成我拿了近2000元,算回去就是给狗云拉了两万元的单子,互利谁也不亏。

  •  

给友链页面改为随机排序

2023年12月23日 15:25

由AI提供的代码,根据自己博客UI增加样式,如下:

  <div id="linkList" class="grid grid-cols-2 gap-4 my-7"></div>
  <script>
    // 定义链接数据
    var links = [
      { title: '名字', url: '链接' },
      { title: '名字', url: '链接' }
    ];

    // 随机排序链接
    shuffle(links);

    // 输出随机排序后的链接列表
var linkList = document.getElementById('linkList');
for (var i = 0; i < links.length; i++) {
  var anchor = document.createElement('a');
  anchor.href = links[i].url;
  anchor.title = links[i].title;
  anchor.target = "_blank";
  anchor.rel = "noopener";
  anchor.className = "card";
  anchor.textContent = links[i].title;
  linkList.appendChild(anchor);
}

    // 随机排序数组函数
    function shuffle(array) {
      for (var i = array.length - 1; i > 0; i--) {
        var j = Math.floor(Math.random() * (i + 1));
        var temp = array[i];
        array[i] = array[j];
        array[j] = temp;
      }
      return array;
    }
  </script>
  •  

给博客添加一个输出友链RSS的页面

2023年12月22日 13:00

FreshRSS

看了rz的文章,跟着做了个订阅博客的页面,然后由rz给我将它和友情链接放到了同一个页面,这里记录一下搭建方式,以备日后需要再次使用时查阅(以下内容结合了rz和网友小宋的文章,以宝塔为例搭建):

1、在安装了Docker的宝塔服务器终端输入(此处使用默认8080端口,可按需修改):

docker run -d --restart unless-stopped --log-opt max-size=10m \
  -p 8080:80 \
  -e TZ=Europe/Paris \
  -e 'CRON_MIN=1,31' \
  -v freshrss_data:/var/www/FreshRSS/data \
  -v freshrss_extensions:/var/www/FreshRSS/extensions \
  --name freshrss \
  freshrss/freshrss

2、在你的防火墙安全组放行上面设置的端口,我的是8080,然后访问:服务器ip:8080(你的端口)

3、安装过程中数据库那里选择 " SQLite ",不然会报错。

4、在宝塔新建一个站点,域名填你要作为rss后台的域名,数据库不用,PHP设置纯静态即可。

5、创建完毕后,选择站点设置-反向代理,其中目标url可以根据自己实际设置的端口,我是8080,就写 刚刚docker服务器的IP:8080,如果你的反代站和docker在同一个服务器,就写 127.0.0.1:8080

6、给域名申请ssl证书并配置到刚刚新建的站点上,记得给域名做解析,这时候你就可以用这个域名访问后台了。

7、进入后台,在【设置->管理->认证】去开启允许api。

8、在【设置->账户->账户管理->API 管理】设置密码并提交保存,记住设置的api密码

9、在自己站点根目录下创建一个php文件,用于放FreshRSS api调用函数,例如:rss.php,内容:

<?php
/**
 * 获取最新订阅文章并生成JSON文件
 */
function getAllSubscribedArticlesAndSaveToJson($user, $password)
{
    $apiUrl = 'https://你部署FreshRSS的域名/api/greader.php';
    $loginUrl = $apiUrl . '/accounts/ClientLogin?Email=' . urlencode($user) . '&Passwd=' . urlencode($password);
    $loginResponse = curlRequest($loginUrl);
    if (strpos($loginResponse, 'Auth=') !== false) {
        $authToken = substr($loginResponse, strpos($loginResponse, 'Auth=') + 5);
        $articlesUrl = $apiUrl . '/reader/api/0/stream/contents/reading-list?&n=1000';
        $articlesResponse = curlRequest($articlesUrl, $authToken);
        $articles = json_decode($articlesResponse, true);
        if (isset($articles['items'])) {
            usort($articles['items'], function ($a, $b) {
                return $b['published'] - $a['published'];
            });
            $subscriptionsUrl = $apiUrl . '/reader/api/0/subscription/list?output=json';
            $subscriptionsResponse = curlRequest($subscriptionsUrl, $authToken);
            $subscriptions = json_decode($subscriptionsResponse, true);
            if (isset($subscriptions['subscriptions'])) {
                $subscriptionMap = array();
                foreach ($subscriptions['subscriptions'] as $subscription) {
                    $subscriptionMap[$subscription['id']] = $subscription;
                }
                $formattedArticles = array();
                foreach ($articles['items'] as $article) {
                    $desc_length = mb_strlen(strip_tags(html_entity_decode($article['summary']['content'], ENT_QUOTES, 'UTF-8')), 'UTF-8');
                    if ($desc_length > 20) {
                        $short_desc = mb_substr(strip_tags(html_entity_decode($article['summary']['content'], ENT_QUOTES, 'UTF-8')), 0, 99, 'UTF-8') . '...';
                    } else {
                        $short_desc = strip_tags(html_entity_decode($article['summary']['content'], ENT_QUOTES, 'UTF-8'));
                    }
                    
                    $formattedArticle = array(
                        'site_name' => $article['origin']['title'],
                        'title' => $article['title'],
                        'link' => $article['alternate'][0]['href'],
                        'time' => date('Y-m-d H:i', $article['published']),
                        'description' => $short_desc,
                    );

                    $subscriptionId = $article['origin']['streamId'];
                    if (isset($subscriptionMap[$subscriptionId])) {
                        $subscription = $subscriptionMap[$subscriptionId];
                        $iconUrl = $subscription['iconUrl'];
                        $filename = 'https://你部署FreshRSS的域名/'.substr($iconUrl, strrpos($iconUrl, '/') + 1);
                        $formattedArticle['icon'] = $filename;
                    }

                    $formattedArticles[] = $formattedArticle;
                }

                saveToJsonFile($formattedArticles);
                return $formattedArticles;
            } else {
                echo 'Error retrieving articles.';
            }
        } else {
            echo 'Error retrieving articles.';
        }
    } else {
        echo 'Login failed.';
    }
    return null;
}
function curlRequest($url, $authToken = null)
{
    $ch = curl_init($url);
    if ($authToken) {
        $headers = array(
            'Authorization: GoogleLogin auth=' . $authToken,
        );
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}
/**
 * 将数据保存到JSON文件中
 */
function saveToJsonFile($data)
{
    $json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    file_put_contents('output.json', $json);
    echo '数据已保存到JSON文件中';
}

// 调用函数并提供用户名和密码
getAllSubscribedArticlesAndSaveToJson('这里是FreshRSS的用户名', '这里是第3步设置的api密码');

10、在宝塔添加一个计划任务,定时访问url,填写上一步创建的php文件(博客地址/rss.php),时间建议2小时访问一次,以更新订阅数据,如果使用cdn,记得添加白名单,避免被拦截(一般不会)。

11、在你博客需要显示订阅数据的地方插入以下代码。

<?php
            // 获取JSON数据
            $jsonData = file_get_contents('./output.json');
            // 将JSON数据解析为PHP数组
            $articles = json_decode($jsonData, true);
            // 对文章按时间排序(最新的排在前面)
            usort($articles, function ($a, $b) {
                return strtotime($b['time']) - strtotime($a['time']);
            });
            // 设置每页显示的文章数量
            $itemsPerPage = 30;
            // 生成文章列表
            foreach (array_slice($articles, 0, $itemsPerPage) as $article) {
                $articles_list ='
                图标:' . htmlspecialchars($article['icon']) . '
                站点标题:' . htmlspecialchars($article['site_name']) . '
                文章标题:' . htmlspecialchars($article['title']) . '
                文章内容摘要:' . htmlspecialchars($article['description']) . '
                文章链接:' . htmlspecialchars($article['link']) . '
                文章发布时间:' . htmlspecialchars($article['time']) . '
                ';
                echo $articles_list;
            }
        ?>

获取到数据之后需要根据自己博客UI调整样式,以下是我的,不含样式文件,仅供参考:

      <?php
          // 获取JSON数据
          $jsonData = file_get_contents('./output.json');
          // 将JSON数据解析为PHP数组
          $articles = json_decode($jsonData, true);
          // 对文章按时间排序(最新的排在前面)
          usort($articles, function ($a, $b) {
              return strtotime($b['time']) - strtotime($a['time']);
          });
          // 设置每页显示的文章数量
          $itemsPerPage = 15;
          // 生成文章列表
          foreach (array_slice($articles, 0, $itemsPerPage) as $article) {
          ?>
          <article class="flex comment-body my-2" style="margin-top: 2.5rem;">
              <div class="flex-none mr-1">
                    <div class="relative">
                      <!--输出头像-->
                        <img no-view="" class="relative z-10 w-12 object-cover border-2 border-gray-200 rounded-md scrollLoading mr-1" src="<?php echo htmlspecialchars($article['icon']); ?>" alt="up">
                        </div>
                    </div>
                    <div class="flex-initial w-full text-sm">
                        <div class="comment-author mb-1">
                            <div class="flex items-center">
                                <!--输出文章链接和站名-->
                                <a href="<?php echo htmlspecialchars($article['link']); ?>" target="_blank" rel="external nofollow" class="" data-ajax="false" style="text-decoration: none;"><?php echo htmlspecialchars($article['title']); ?></a><span class="mx-1"></span> 
                            </div>
                        </div>
                        <div class="comment-content card mb-2">
                            <!--输出文章摘要-->
                            <p><?php echo htmlspecialchars($article['description']); ?> <a href="<?php echo htmlspecialchars($article['link']); ?>" target="_blank" rel="external nofollow" class="" data-ajax="false">
                           查看全文>>></a></p> 
                        </div>
                        <div class="flex items-center comment-meta text-xs text-gray-500 mt-1" data-no-instant="">
                            <!--输出站名-->
                            <span class="flex items-center comment-reply text-muted comment-reply-link hover:text-blue-500" ><span><?php echo htmlspecialchars($article['site_name']); ?></span></span>・
                            <div>
                                <!--输出发布时间-->
                            <time class="mr-1"><?php echo htmlspecialchars($article['time']); ?></time>
                        </div>
                    </div>
                </div>
            </article>            
         <?php } ?>

至此,去rss管理后台添加你要订阅的博客就行了。

  •  

网站防护措施

2023年10月17日 14:56

最近在浏览大家博客和窥群时都有发现,不少网友在网上发布自己网站链接后遭到了恶意攻击,我们无法确定是何人所为,所以在你发布网站链接之前,一定要做好防护措施,我会在本文里写上一些我用到的防护方案,欢迎参考。

分区域解析

将大陆和海外分开解析,推荐使用华为云 DNS,支持单独为各个国家和区域设置解析线路。

dns

无备案网站的大陆线路推荐使用一些专为大陆优化的香港/日本等节点的CDN,如FarCDN,如您网站有备案,则可以选择使用更快的国内CDN服务,但建议不要直接使用腾讯云之类的CDN,因为一旦欠费,巨额账单你无法承受,可以使用像多吉云这样的融合 CDN 商家,价格便宜,线路更多;当然还是推荐使用带有防护的 CDN 产品,如百度云加速,注意不是百度智能云。

海外线路可以直接无脑接入 CloudFlare,目前 CloudFlare 除了DNS接入方式外,可以使用 SAAS 方式接入,这个方法可以自行百度,此处不做过多赘述。

CF

使用分区域解析的原因很简单,攻击者使用的都是海外IP池,分开解析后这部分攻击会被 CloudFlare 接下,不影响正常访问。

如果你在此前已经被攻击过,请在你的服务商更换 IP 后再使用此方案,否则源 IP 仍会被恶意攻击。

加强方案

给服务器设置一个默认站点,并给默认站点配置一个 ssl,可以有效避免攻击者通过 ssl 证书查询到您的源服务器 IP。

宝塔用户可添加一个网站(域名随意写),然后为这个网站配置一个无效的证书,配置好证书之后在宝塔面板后台:【网站】-【默认站点】中心选择刚才添加的这个网站作为默认站点。

可以使用这个证书:

证书(PEM格式)

-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgK0HE3hTJQDg6p/fj
nS92eSuRKZEZ5F4grT6tWFKNYVmhRANCAAQIP4WfZQx4/3/tIw0QDdt05DRKiIuO
pghp8GVQ94JcS5fmtZqX1yx0hBU4qZ0skIJr5D2M0BmhCBQ9Kulv2YDL
-----END PRIVATE KEY-----

密钥(KEY)

-----BEGIN CERTIFICATE-----
MIIDITCCAsagAwIBAgIUTcEWLzynkLCFCoAC1iDH2vG3EkYwCgYIKoZIzj0EAwIw
gY8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTgwNgYDVQQL
Ey9DbG91ZEZsYXJlIE9yaWdpbiBTU0wgRUNDIENlcnRpZmljYXRlIEF1dGhvcml0
eTAeFw0xOTAxMTMxNDMxMDBaFw0zNDAxMDkxNDMxMDBaMGIxGTAXBgNVBAoTEENs
b3VkRmxhcmUsIEluYy4xHTAbBgNVBAsTFENsb3VkRmxhcmUgT3JpZ2luIENBMSYw
JAYDVQQDEx1DbG91ZEZsYXJlIE9yaWdpbiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABAg/hZ9lDHj/f+0jDRAN23TkNEqIi46mCGnwZVD3glxL
l+a1mpfXLHSEFTipnSyQgmvkPYzQGaEIFD0q6W/ZgMujggEqMIIBJjAOBgNVHQ8B
Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFCEZF6Eyem01XPbgwr6DXLZV1qsQMB8GA1UdIwQYMBaA
FIUwXTsqcNTt1ZJnB/3rObQaDjinMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcw
AYYoaHR0cDovL29jc3AuY2xvdWRmbGFyZS5jb20vb3JpZ2luX2VjY19jYTAjBgNV
HREEHDAaggwqLmRuc3BvZC5jb22CCmRuc3BvZC5jb20wPAYDVR0fBDUwMzAxoC+g
LYYraHR0cDovL2NybC5jbG91ZGZsYXJlLmNvbS9vcmlnaW5fZWNjX2NhLmNybDAK
BggqhkjOPQQDAgNJADBGAiEAnrequCk/QZOOrcPH6C3Hgcy4SPNUy5rQtku/aYkj
qQoCIQCN6IyYNiXuwG+8jUgJrveiirBjiz2jXZSTEfVAyibjTg==
-----END CERTIFICATE-----

以上证书可生成的一个 dnspod.com 的域名 ssl 证书,可用于预防 ssl 证书泄露 IP,证书过期也可以继续使用。

您可以访问 https://search.censys.io/ 输入域名查询您的 IP 有没有被证书泄露,可访问 https://ipchaxun.com/ 查询到域名历史解析记录,如您直接解析过 A 记录,可能已经被这种网站记录下来,所以强烈建议更换 IP 后再使用以上方案。

邮件通知

如您网站有邮件通知,请务必换成第三方发信,如阿里云邮件推送,否则攻击者可通过 SMTP 邮件获取到你的服务器 IP 地址,从而攻击源站。

对象存储

如您使用了国内大厂的对象存储服务,您可以给对象存储域名再套一层防护CDN,比如您使用了腾讯云oss,要求您将xx.xx别名解析到oo.oo,那么你可以使用CDN防护服务,将CDN源站地址写oo.oo,然后将xx.xx解析到CDN提供的地址上,再开启CDN的防御策略,则可有效避免对象存储被盗刷。

禁用端口

大部分攻击方式为 UDP,您可在服务器防火墙禁用并拦截所有 UDP 端口。

  •  

Boke主题

2023年1月14日 20:17

就不做过多介绍啦,是目前本博客使用的主题,仅做免费分享,不提供技术支持,不解答使用问题,没有迭代版本更新!

主题预览图:

首页

文章页

友链页

主题下载地址:https://dalao.net/thread-7344.htm

  •  
Received before yesterday写作

大连之行

2025年8月3日 20:55

6月底,趁着娃刚考完试,学校也没课了,请假带娃去大连玩了一趟。

这次是跟娃好朋友一起出行,人两口子以前做旅行社的,直接搞了一个行程表,我们就跟报了个旅行团一样。

  •  

回家收麦

2025年8月3日 20:39

家里有两块地,一块离的远租出去了,另一块近的老爸老妈还在自己种。

自从上高中后,就很少下地了,现在让我下地,我都找不到自家地。

老爸生日回家,刚好赶上收麦,记录一下。

  •  

六一儿童节爬长城

2025年8月3日 20:00

六一儿童节,娃和好朋友约好一起爬长城。

去年我们去过慕田峪长城,人不多、好爬不累,两家商量后决定还是去慕田峪。

早上打车到清河站,还是粉色的小火车。

这次人多没占到位置,俩小朋友只能席地而坐了。

  •  

如何看到客观世界?

2025年8月4日 14:00

这是前两天发布的《找一个人接受不完美的自己》留下的遗留问题,也是一位朋友在 Telegram 私信我聊起的话题。他认为:

既然是人,就一定会带着主观思考,所以想要从他人嘴里得到「客观自己」的可能性是不存在的,因为每个人也都是带着自己的主观看待世界的。

既然如此,那「客观世界」还存在吗?只要主观和客观是相对存在的,或者说主观还存在,那么客观也会相对而存在。既然如此,因为和自己主观上认为的自己存在偏差,那么「他人即地狱」到底是不是一种「客观」呢?

存在性的客观世界可能是缺胳膊少腿的生理残疾,也可能是现实原因的贫困、疾病,但是也有人在这样的客观世界里活出了自己的人生,那这或许又是主观世界带来的皮格马利翁效应。所以到底什么才是真正意义上的「客观世界」?


镜像世界是客观的还是主观的?

我仍然希望通过案例的方式来聊晦涩的话题,所以今天先从一个「极端案例」开始,也是前几天一位朋友和我聊起的有趣问题:如果我的生活中遇到李胜这样的人,我能用什么方式「打败」他?

简单交代一下「李胜」(完整内容请参考 Bilibili),他之所以被称为抽象典范,是因为他的认知、思维和逻辑都超脱了人们的「正常理解」,比如他会用自己双标的态度去处理任何一场人际关系,在每一次面对失败时,总是会惯用三段式的议论文结构来评价失败:

  • 我虽然失败了,但是我仍然赢过了那些成功的人;
  • 我或许失败了,但是我是不可能失败的;
  • 所以综上我不可能失败,所以有问题的是这些成功的人;

他几乎活在自己这样的主观世界中,以至于外在的客观世界完全不存在,或者说就连客观世界也是他所认为的客观(外归因)。

那有可能「赢」过这样的人吗?很难,因为输赢这件事本身也是需要有对立才会成立的,既然输可以被最终解释,那么赢本身也不存在。所以最好的方法就是无视他对于「赢」的定义,那么其实这一切建立在对比基础上的所谓「客观世界」也会崩塌。

举个例子,如果一个人被囚禁在没有任何可以与外界沟通、交流的纯白房间,房间里只有一面镜子,他或许还能用这样的方式来确定「自己」,但如果镜子也被撤走呢?那他要如何证明自己,如果这个实验再残忍一点——他从生下来就被扔进了这样的房间,他甚至没办法通过镜子来确定自己的样貌,那他是否还能意识到自己是「人」这个概念?

亦或者,所谓的镜子其实是一面被设定好的程序,让他看到的并不是真正的自己,而是一些被设定好的内容,是关于这个房间以外的「客观世界」。有一天他从这个房间被释放,他第一次看到了真实的客观世界时,他是相信那是真实的客观,还是主观上认为的恐怖?很显然,他会想要再次回到这个房间,永远以一个他能够理解的方式理解这个世界以及自己。

没错,这就是柏拉图洞穴实验的变体,也是现代世界的社交底层。

我们需要「镜子」,以看清自己。而这个「镜子」可以是真实存在的一面反馈自己身上每一寸肌肤的镜子;也可能是另一个人对自己的评价,来源于他人的主观。当被其他人的主观照射出一个自己都不认可的客观时,你要如何证明在你主观世界的那个自己,会在别人眼里变成「另一个人」?


白房间与黑深渊

当自己认为的主观世界开始崩溃时,人们会本能地逃回他们出生时的「白房间」,哪怕那个房间所展示的所有内容都是被另一个主观世界所精心设计的。

我们和助理的关系崩溃后,事情远比我们想象的还要畸形。比如此时此刻,我们从之前的好几个共同好友那里,已经得到了不同版本的,助理对于我们的「控诉」和她所谓的「事实还原」。但很显然,这些事实也就都是被加工之后的「主观世界」的产物。这一点其实我能够理解,特别是当一个人长时间把自己放置在「受害人」身份,拒绝面对客观世界就事论事的时候,这种受害人身份就跟谎话说了一千遍自己也信了一样,他们的记忆也会随着这样的「信念感」而被篡改,会将原本不属于事实或是部分属于事实的细节给无限放大,以坐实「受害人」身份。

相反,我们在关系结束之后也会重新复盘发生的事情,或许在这个过程中也会有许多主观上的加工,所以为了避免这样的「主观世界」,我们才找到了共同好友来还原他们眼里看到的事实,但最终得出的结果,是每个人都拿到了一个不同版本的故事,以至于我们也开始怀疑我们最初跟助理相处的那段时间,那些所谓的「客观世界」是否也是被精心设定好的,一个努力想要表演给我们看的剧本。

这种怀疑是恐怖的,因为它意味着将会否定所有的过往,那些好的一开始被我们纳入了「客观世界」的美好回忆,都会因为这种怀疑而蒙上了一层主观猜忌。这也是大部分关系破裂的根本原因,当主观无法求证,或已经完全陷入到两个人对于各自主观世界的坚持时,客观世界已经不复存在,也就再也无法进入到就事论事的层级,而只关心当下自己主观感受和情绪。

主观世界是刚才提到的「白房间」,人们在房间可以自洽所有行为和外归因所有责任,因为这个房间里的一切都是自己所认为的「真实」。但是白房间又是需要存在的,特别是当外界的评价被人操纵,或是被乌合之众利用时,他们制造出了足够多的假象,让越来越多人相信那就是「客观事实」时,白房间是用来躲藏自己免受心理折磨的最好避难所;相反,有白房间,就会有「黑深渊」,这个时候所谓的黑深渊就变成了人们对「真相」的探索——

比如,如果我放不下我们和助理的关系,开始怀疑过去的客观世界也是虚伪存在时,要去探寻这些真相必定会带来更惨烈的伤害,特别是对于一个已经逃回了白房间的人,把白色的表面撕开,让她直面问题的根源是残忍的。

也就是说,白房间和黑深渊,都是自己的选择,而不是迫使他人接受的结果,因为人们在深渊寻找真相时,也必然会因为自己的主观被吸入深渊之中,然后变成一个再也无法相信任何人的黑洞。


客观是主观以外的客观,主观是客观之上的主观

字面意思,客观是「主观世界」以外我们还能讨论的客观。

继续刚才的案例,其实我也有深深思考过,我们为什么不主动找助理再好好聊聊,聊聊她对于这段关系的看法,以及提出我们对于她是否真诚以待的怀疑。但是我们打消了这个念头,因为我们推测,就算我们找到对方聊这件事,她也会把这个责任推卸到我们头上:「我不找你们聊天,是因为怕你们更生气。」

所以,到现在助理也没有来找过我们聊起这件事,但是我们却从不同人那里听到了她对我们预设的各种版本的推测。

现在就出现了 Bug,我们用主观推测她会推测我们,她在不同版本的故事里也以她的主观推测了我们,这两者本质上来说都是主观推测,那导致的结果是「没得聊」。

推测是一个很含糊的定义,在这里的文本环境下,其实需要被拆解成「推断」和「猜测」。

  • 推断,根据客观事实依据推论出某个可能性较大的结果,但也有可能结果不会发生;
  • 猜测,无事实依据,通过主观猜想、假设等方式预测某种结果,但也有可能结果会发生;

我们推测了助理不会找我们的结果,是因为这类事情重复发生,并且在我们主动割席关系时也会为了避免这种循环外归因的事情再次发生,而接受了她不会来找我们的推断结果,这个推断结果也影响了我们的主观判断——不会主动寻找对方聊及此事。

相反,助理在每个人那里对于这件事情的事实描述是完全不同的,其中也包含了各种猜测的部分,比如她认为我们会生气、认为自己说了也不会实际解决问题(责任还是在我们无法实际解决问题)、甚至认为我们跟她保持关系是为了践踏她的尊严等等。这些猜测都毫无事实根据,没有过往的经历,她用主观假设在内心上演了完整的戏份,以至于她认可结果,也认可了我们导致这个结果的「罪孽」。

虽然奥卡姆剃刀确实是可以用来提出假设的,剃刀剔除的假设部分,更像是将客观世界表面覆盖着的假设与猜测给一一剔除,以还原客观世界和预测结果;但如果所谓的客观世界本身就是假设呢?奥卡姆剃刀一刀下去,割破的一定是血流成河的动脉,喷溅得每个人都沾满了恶意的假设。也就是说,想要搞清楚客观世界在哪里,甚至利用奥卡姆剃刀理清客观世界时,得先确定客观世界和主观的交界,才能找到主观以外的客观世界。

这并不是拗口晦涩的哲学理论,而是一种批判性思维的必备能力。

相反,主观是「客观世界」之上的主观,是因为主观已经对客观事件进行了一次加工。

之所以说奥卡姆剃刀无法剔除由假设构成的「客观」,是因为此时此刻的客观已经完全不存在了——这就是情绪 ABC 在解决的现实问题。

事实 A → 认知 B → 行为 C

因为认知 B 出现了偏差,从而导致了行为 C 的产生。而这个时候,如果人们还能理性地回到事实 A 进行讨论,才能找出认知 B 的偏差点。那么现在,客观世界被包裹进了另一个无限死循环的假设里面:

认知 A+ → 事实 A → 认知 B → 行为 C → 事实 C+ → 证明认知 A+ 正确性

接着《油漆未干是事实还是观点?》里的那个例子,如果在车辆驶向自己的这个事实前面,还存在一个更加底层的认知偏差——即所有人都要害我,在这种假设情况下,事实 A 已经不复存在了,已经完全变成了当事人的主观世界,所以他可以轻松地断定正在对向行驶的车就是要撞死自己所以他躲过了,从而创造了一个「我躲过了汽车所以我没死」的客观事实 C+,更加证明了他认为所有人都要害自己。

奥卡姆剃刀剃不了这样的逻辑链根本原因,就在于第一刀如果割在了认知 A+上面,反而就证明了认知 A+ 的正确性。这个时候的主观世界已经可以包括所有自己对于客观事实的认定,这不是建立在客观之上的主观。


看不见的客观世界

客观世界可以被看见吗?其实我想说的答案是「不能」。

主要我们是带着主观去理解客观,就必然会有主观对于客观世界的加工,这并不是对错问题。所以这就是强调理性的原因,因为理性可以暂时跳脱主观,从不同角度理解事物本质,而所谓的换位思考,其实也是在主观切换后的「假设」,所以它也并不能真正做到客观。

那为什么还要追求那个客观世界?

我们回到那个「白房间」,现在房间里又放回了那面普普通通的镜子,你可以透过镜子观察自己,在出生到现在看到的全是被他人制造的客观世界之后,你看到了镜子里那个和自己做着一模一样镜像动作的人,你还会觉得那是自己吗?

你需要时间对吧,除非你有第三个视角,可以看到你正在镜子前面做着一模一样的动作,甚至你就从第三视角看到自己的模样,这样才能确定那是自己。所以,你需要的不再是一面镜子,而是能够从客观视角还原正在发生的事情原貌。

但是,并不是所有人都能做到如此的第三方理性,特别是当情绪上头时,一叶障目看到的事情真相或许就是自己最希望得到的某个结论的证据罢了。所以第一步,理性拆解了情绪,注意,不是阻断情绪。

我的情绪是什么,它源自于什么,导致情绪的认知 B 和事实 A 之间是推断还是猜测?如果用奥卡姆剃刀将假设的部分全部剔除,没有证据就拒绝假设,那么认知 B 和事实 A 之间到底存在怎样的断层?

于是,理性的第二步就是开始求证——我的假设是真的吗?我如果跟他们交流会让他们生气,那如果我直接问出我的疑惑和担心:你会因为我们的谈话感到生气吗?求证是为了将自己从不断的假设死循环里给解套,避免假设最终成为了你所认为的「客观世界」。

当我们无法再用假设猜测结果,也无法用推断直接得出结论时,就必须理性地回到事实层面就事论事。这个时候,每个人都成了那个白房间的镜子,每个人都能够照射出对于这个客观世界的一部分主观认知,他们或许有对有错,但这些都是这个事实的一部分,或是能够直接拿出证据证明事实如此,比如 CCTV、检验报告(所以阴谋论往往在从这个层面毁掉事实部分)。这个时候,你会发现,其实所谓的客观世界在某些情况下竟然是无数个主观世界的集合,比如对于一件事情从不同角度、当事人还原的情形。

那客观世界还存在吗?因为「主观是客观之上的主观」,也不意味着就算从不同主观世界还原的客观,也是因为基于客观而存在。

而理性要解决的,是避免自己从单一的主观视角看待这个世界。


理性勿入的铁门

我必须承认,理性不能解决任何问题。就比如今天中午刚好发生的事情,外卖小哥打电话称自己在路上发生了车祸,车翻了无法准时送餐,但是他可以打车送餐。这件事很难用理性去做出全角度的思考——

如果按照法学的思维,车翻了和送饭没有直接因果关系,如果直接因果是他因为违规行为导致了事故发生,那么这个违规的瑕疵不是由契约签订的另一方来承担的。

从理性角度来说,我们很难站在道德高地去批判和评价这种行为,所以从感性上我们仍然会关心对方的安危,我相信我老婆也会在订单结束后给骑手发红包表示感谢。理性无法解决任何事情,特别是人与人之间的事情,但这并不妨碍人们对于真相与事实的追求,而不是被裹挟进了「讨论真相实则是在伤害感情」的道德绑架之中。

上面的情况,是我们暂时放弃理性思考,仅从感性的角度处理人与人的事情;但还有一种情况,是理性根本就「禁止通行」。回到上一节关于理性的流程,在第二步求证时——我的假设是真的吗?当你否定、质疑和要求讨论假设成立时,对方会炸得更厉害,因为他觉得你正在否定他认定的世界,从而阻止了理性的进一步行动。

而阻止理性的,却是一个我们大家都很熟悉的东西——所谓尊严。

  •  

南京游八月三日

2025年8月3日 08:00

很久没出去旅游了,和女朋友一起来了趟南京,随便离杭州很近,但一直没有机会,终于下定决心来玩一趟,也算了却一桩心事。

看了下侵华日军南京大暑杀遇难同胞纪念馆,非常庄严肃穆,刚好赶上淅淅沥沥的小雨,上天都为之哭泣,心情也变得沉重起来,感叹和平来之不易。

随后逛了总统府,了解了民国这一块的相关史实。

天色渐晚,又下起小雨,打消了前往秦淮河夫子庙的旅程,再会。


侵华日军南京大暑杀遇难同胞纪念馆

30 万遇难者
30 万遇难者

雕像
雕像

总统府

临时大总统府办公室
临时大总统府办公室

孙中山雕像
孙中山雕像

  •  

车祸 VI

2025年8月3日 11:00

(2025-全国卷)下列哪些是提升电动车品牌效应的方法:

A、通过分析起火/爆炸事故数据,改进电池安全

B、利用事故中变形区域的数据,优化溃缩吸能结构的设计

C、推广车祸自救、他救行为

D、发生车祸后,立即遮挡电动车前后车标

E、优化自动驾驶系统,确保系统日志中车祸前三秒将控制权交还驾驶员

F、正确积极引导车祸后网络舆情走向

G、制造新型材料,确保能在电池起火后烧毁所有零部件

H、拒绝非行业认可机构对电动车进行相关数据测试

I、通过法务部要求用户删除有关产品质量的负面消息,联合平台删除有损品牌形象的相关账号

J、断开卡车车头锁止后进行媒体式「碰撞测试」;

(会不会有一天选项到 Z 呢?)

  •  

未成年社会

2025年8月2日 08:00

我曾经看过一个新英格兰地区猎巫的展览,里面印象深刻的反而是其关于儿童的描述,在17世纪美国,儿童也是劳动力的重要一环。然后我突然意识到儿童这个概念可能历史也并不长,甚至可以说将人群区分成成年人与未成年人这件事都是工业革命后才逐渐被人们接受为常识。

18世纪工业革命前夕,被称为儿童文学之父的John Newbery出版了最早的儿童读物。我们现在熟悉的所谓童话的原始版本其实也并不适合给儿童来进行阅读,更多是用奇幻魔法包装过的残酷生存故事。然而工业革命出现后,城市里的人最先开始进行了现代化改造,他们开始注意到童工问题并通过法律区分了成年人与未成年人,并展示出了保护未成年人的倾向性,这可以看作很明显的文明进步。当然,工业革命后,儿童群体也就逐渐成了消费的重要组成部分,玩具也逐渐流行成为社会规训的一部分,例如男孩子玩士兵小汽车模型,女孩子玩娃娃,这与当时人数占比最多的中低产阶层对未来的期望一致:男孩子进工厂,女孩子全职主妇。不过此时区分未成年人与成年人的社会共识已经形成,而这,只是后续全未成年社会的序幕。

换言之,儿童这个概念并不是生物学产物,而是社会经济条件允许后被文化“发现”出来的概念。在之前的社会发展水平下,儿童只能算家庭资产的一部分,多子多福的核心其实就是劳动力资源,此时儿童需要的教育水平很有限,走数量就可以。但工业革命后,儿童被视为人生需要被保护的阶段,需要接受教育与享受娱乐,这本质上属于文明的奢侈品。而这个奢侈品,在生产力水平进一步提高的二十世纪变成了生活必需品,到了这个世纪则很可能连阶段属性都要被去掉了。

当前东亚社会普遍存在啃老,这其实就是未成年阶段的自然延伸。当家庭财富可以保护下一代成为普遍现象后,肯定会出现年轻人直接放弃成长,在父母安排下渡过平稳的一生,而这种生活状态历史上只出现在富裕阶层。此处的成年意味着更多的责任义务与更少的选择自由,这种超龄儿童的心态可以被褒义为“少年感”或“少女感”而持续传播。除了逃避责任与自我中心,最简单的表现就是对外界评价的在意与依赖,这属于东亚文化里家长制的自然延续,家长对孩子承担了无限责任,然后反过来被扣个“原生家庭问题”的大帽子,虽然罪有应得但罪不至此。一方面青年自立会直接面对就业机会不足与各种门槛,另一方面家长们也并不愿意放权。这种文化属性甚至也会自然延伸到社会体制,抛开各种意识形态后整个东亚文化都对大家长体制积攒了各种各样的怨气,不是管得不好就是管得不够,家国一体了属于是。

那么西方呢?其实也是啃老,只是被国家福利体制接盘了。东亚父母要给孩子买房教育催婚催生,西方国家试图用租房补贴、教育贷款与失业保障来分担父母的无限责任,让父母可以在孩子18岁后把孩子踹出自己的账单去追求自己的自由,但此时追求自由拿着退休金的父母又何尝不是另一种责任逃避的“未成年化”。这种福利模式其实只适合部分西方国家,甚至都不适合美国,我了解到的美国父母也在给孩子攒大学学费,那个数跟国内的首付也差不了多少,而长期住在父母房子里的年轻人也越来越多。教育、医疗与房地产在全球尺度生产率都提不上去,而就业疲软与临时工派遣工变多,也从某种程度上加强了子女对父母的依赖,这一点上东西方没有差距。很多社会问题很容易被上纲上线归因到了国家或主义层面,这属于放弃思考的懒汉逻辑,现代国家内部从来都不是均质的,绝大多数社会问题都出现在被概念划分出不同群族的边缘上,可能是经济差异、民族差异、地域差异甚至是性别差异,很多问题本身就是毫无意义的概念辩论,但总有人乐于借此释放情绪。

人可以不再成为完整的成年人,而现代体制与文化其实也不再强制个体必须成为成年人。不结婚不要孩子不买房不就业不理财不参政不负责的人在变多还是变少大家自己都有自己的体会,而在分工协作的现代社会,这其实就是自然发展的结果:当你专注于成为某一部分的齿轮,自然就要让度在其他环节的选择权,至于这选择权是父母、政府、专家还是人工智能算法其实多数情况没得选,只要能寻优或利益最大化,总有一份攻略会出现。毕竟现代社会已经没有了成年礼,你没法通过捕猎一只猛兽来证明你成年,而且在现代社会保护下你一辈子大概也不会有机会跟猛兽面对面。你可能认为自己努力学习拿到学位找到工作就可以成年,但学位与工作更多只是标志你在成为某种规格螺丝钉上是个合格产品,距离成为独立自主负责任的个体还是有距离的。同时,现代社会对个体生存能力的要求其实是越来越低了,不会做饭不会交际完全不影响在陌生人主导的现代社会生存,甚至现在很多小夫妻也完全没有独立养育子女的信心,他们寄希望于专业人士或亲近的人来逃避失误带来的责任,就好像活给法庭看的似的。

不过,这最多算是个现象,甚至都没必要指摘,现代社会的发展条件本就是允许个体有选择不成年的自由。现代人只在部分领域成年或负责任,这甚至对经济发展有利,毕竟个体认知早就没法对社会整体进行控制了。但从个体角度,人确实在不断交出选择权未成年化娱乐化,这可能是当前保守主义者有市场的原因,他们本质还是想保留个体完全成年的权利,但进步派则认为需要让渡来达到新的平衡。只要交出一些专业问题的决策权给父母或专家,个体就不必承受选择的痛苦,甚至可以在选错时甩锅给家庭、体制与时代。个体更多照顾自己的情绪来实现舒服的生活,只要保证自己局部高效,整体空虚也无所谓。保守主义者很多时候只是想保住“完整成年人”的社会单位,只是进步派认为这不过是自我欺骗罢了,结婚生孩子买房子这种上一代的生活范式既不是金科玉律,在人类历史上也只能说昙花一现,很多人坚持的传统存在时间甚至还没有他们年龄长。

也许人类现代文明的边界就是成年人的彻底消失,而后现代文明则需要新的伦理指导。所谓伦理,就是要在思想上处理不可避免的冲突,现代社会划分了未成年人与成年人,而后面的发展则在不断延长未成年人的期限,最长不过一生,如果能一辈子躲过这些不可避免的冲突,那似乎也不需要成年。回顾人类这几千年文明史,每每出现危机与衰落,似乎都暗含着“成年人理性”的缺失,游牧入侵、文官乱权、沉迷长生不老与享乐……每当统治阶层拒绝与时代成长,其统治地位就会衰落,文明本身在繁荣与衰落之间慢慢成年,又在现代社会繁荣的顶点返老还童。这绝不意味着通过战争与苦难就可以让人们重新成长,娱乐与消费主导的现代社会已经基本消灭那些困扰千年的苦难了,只是是否自我成长将成为留给每一个现代人的问题。

这无关是非对错,没有标准答案,自己看着办。

  •  

快来用 AI 来屎上雕花吧!

2025年8月2日 11:00

Humachine 里整理的是原本发布在 Telegram 频道的内容,积累到足够的时候,就可以分类整理成册。今天聊聊不同人对于「AI」运用的观察记录。


外置大脑也能达到颅内高潮吗

这周末的「电影日」我们决定用一个新的方式来挑选电影,因为我、我老婆和小袁会把 ChatGPT 当做是我们处理信息的一个外置大脑结构,比如我们聊出结构的东西,会再把问题喂给 ChatGPT 看看它的理解是否在我们的射程范围。于是这周的电影日就让 ChatGPT 来挑选:

让他通过上下文,或者像我这种记录过创作数据库的方式,来给我们只推荐一部「人生电影 」。

于是我们得到了三部电影,决定在这周的电影日全部看掉!

前段时间我们做了一个有趣的实验,我、我老婆和最近一个月都住在重庆跟我们厮混的朋友小袁,我们各自在使用 ChatGPT 时,会有极强的个人特色。比如我已经把自己超过 2000 篇的创作内容作为数据库喂给了 ChatGPT 的项目;我老婆因为是命理师,所以会跟 ChatGPT 讨论命理、哲学、心理学,甚至还有养生相关的话题;小袁是宏观经济出身,大部分时间会把分析报告喂给它进行讨论和观点互驳。

《文艺片共犯》

非镜像的「我」

终于受尽《2001 太空漫游》和《潜行者》折磨之后,第三部由 AI 推荐给我的人生电影《云图》总算没有让我们失望,这是我是 10 多年前看过但是没能力看懂的电影,现在看懂了,这部关于因果论的电影用六个故事拼装成了一个莫比乌斯。因为我让 ChatGPT 推荐的电影是收集了我 2000 多篇文章的结果,所以它也把在数据库本身和电影结合了。

于是我们让 ChatGPT 推荐了我们三个人的共同人生电影——《降临》。


爱惜羽毛的前提是你得是只老鹰

我认识一个创作者,我分析了他的口头禅,他常常在他的观点里提及「他们都在聊这个话题,我觉得没意思,我得爱惜羽毛」。之所以我称他为「作家」,是因为人家确实有在市发售的作品。最近被他列入话题黑名单的有(爱泼斯坦)阴谋论、人工智能、男女对立。但毕竟是私下聊天,不用代表个人发表出来,所以我还是礼貌性地问了问这几个话题不聊的原因,是因为他有自己的高见,还是因为——

他:大多数人连「浅显」都懒得去理解,你跟他们聊哲学?

我:你是从商业价值的角度思考的吗?

他:我哪有那么积极。我只是看过太多人拿高深当幌子,结果一堆复制粘贴的废话淹死人。你要真优秀,放这种社群里一样会被拖下水。

我:你认为作品创作也符合劣币驱逐良币吗?

他:是啊,你认真写一篇,别人五分钟复制十篇,热度还比你高——你要么跟着玩,要么看着自己被边缘化。烂梗太多的话题,我不想碰。大多数人讨论的东西,一旦被群体化,就只剩下一种理解——最肤浅的那种。

我:那我们私下聊聊你对人工智能的看法呢?

他:我不觉得它会改变什么,只不过是一个工具,人类使用工具这是与生俱来的,既然是工具就必然会有缺陷和优化的部分,历史是跟随人走的,而非工具本身。

我:那你会使用AI 吗?

他:不用,没意思。

这是他有一次谈到「没意思」这个词,因为我们大部分谈话是面对面,所以我只能从记忆的方式来感受这三个字出现的频率——他的确常常提到这三个字,特别是当他想要结束某个话题时,他常常会用「没意思」作为结论性评价,以切断进一步的交流。

但是呢,因为我跟这个人有另一个共同好友,他们私下的关系更亲密,不如我跟这位创作者中间隔着一层「他是经验更丰富的创作者」的身份。所以从这个共同好友这里,我又看到了另一个视角的「他」。他其实非常「恐惧」AI,所以他拒绝使用 AI,认为 AI 会破坏创作者的灵感,使得作品变得更没有人情味。所以他会对创作会里其他成员使用 AI 作为辅助工具的行为非常反感,甚至到震怒的地步。他会一直强调 AI 的想象力不及人类,所以要避免依赖 AI。但是这段时间,随着 AI 创作视频、文字甚至剧本的能力,他所在的行业开始遭受冲击,于是把这份怒火转移到了所有使用 AI 的「人类」身上。

当然啦,这个视角的信息我并没有向他透露过「我知道」,所以大部分时间我还是装成是一个也在利用 AI 创作的傻逼以满足他的爹味。

回到最开始他说的那句话,没意思的不是人类,而是那些认为 AI 有意思的人才是最没意思的。但是还有半句话:

爱惜羽毛的前提是你得是只老鹰


魔镜魔镜告诉我

朋友说,有人和我一样做着日更的博客。我看了看,AI 味浓得不能再浓了,AI 搭框架、自己扩写一部分,连小标题的 emoji 都懒得修改一下。人的逻辑不可能这么好的核心原因,是人类大部分时候采用的是归纳法,但是 AI 使用的是演绎法,人类要使用演绎法就会建立在大量的「经历」与「底层逻辑」上面,而每一个人的经历是独一无二的,都可以拆解到闪光点。

人类在使用归纳法时,场景、情绪、偶然性、甚至矛盾与偏见都是人类无法隐藏的细节,逻辑往往是以小见大,在保留主观色彩的前提下延展道理;AI 的演绎法是从语素中快速检索相似模式并重新组合,逻辑往往是以大见小,分三段从知识回归事例,从观点到套用场景。

所以当一篇文章同时符合三件事,几乎可以断定是 AI 创作,人类辅助:

  • 逻辑以大见小、缺乏偶然性;
  • 细节抽象,缺失时空,没有个人经历路径;
  • 结论普世,文章更像是「道理的集合」

人类思维的美妙,就在于经验通常是不完美且带有主见的,绝对中立客观的不是人类,而是自我驯化出来的人类,跟秉持中庸之道等着别人先选择的人一样。或者说,人不是不能做到客观,而是在看见客观的自己时,先有一个不客观的人站在了镜子前面,才可以分裂成三个人,站在镜子前的自己(个体)、镜子里的自己(幻想)和正在观察自己照镜子的自己(客观)。缺失了任何一个,演绎法的逻辑链都会断裂;但是 AI 不是照镜子得出的结论,是回应了照镜子的人最想听到的答案。

我赞同 AI 用来增香增味,但不赞同用 AI 来屎上雕花。

  •  

为什么可以利用CAGR预测分析比特币未来10年价格?

2025年7月31日 00:00

昨天分享了一篇文章利用CAGR预测分析比特币未来10年价格,没想到网友们异常关注,我本意不过是自己的兴趣研究记录而已,有些内容我甚至都没有来得及细说,因为我自己已经非常清楚。既然网友们如此关注这个话题,有必要再次说明解释一些内容。

首先声明:过去不代表未来,上一篇文章和本文都不过是兴趣研究而已。历史经验教训表明,没有深入了解的朋友请勿轻易涉足比特币,我见到玩BTC亏钱的朋友多于赚钱的朋友,认知和动手能力不够的朋友很难驾驭BTC。赚钱的事情从来都不简单,每个人都会为自己的认知买单!

CAGR

先来说说BTC的历史CAGR,从历史数据来看(见上图,网址:https://charts.bitbo.io/cagr/):

  • 4年期的CAGR历史最低值发生在2025年4月13日,年化7.1%,其它日期的4年CAGR值都基本上稳定在30%以上。
  • 10年期的CAGR历史最低值发生在2023年11月19日,年化42%,其它日期的10年CAGR值都基本上稳定在50%以上。

那有没有负的CAGR?确实发生过,5年期的CAGR历史最低值发生在2022年12月16日,年化-2.9%,显然这是最不利的熊市,但只发生了几天就回正了。其它日期的5年CAGR值都基本上稳定在50%以上。

综合这些不同时间窗口的CAGR历史数据,我在上一篇文章结合其他人的观点,使用了30%、40%、50%的CAGR值来预测,是有一定根据的。

但还是那句话,历史不代表未来。未来的话,常识上来讲BTC的体量如此之大,它不同时间窗口的CAGR值可能会降低,但即使按Power Law的规律降到17%,10年也能增长4.8倍。17%的CAGR复合年化收益率,比肩放高利贷的收益。国家规定4倍LPR的年化利率就是高利贷,2023年7月20日贷款市场报价利率1年期LPR为3.55%,4倍LPR也不过14.2%。如今上哪里能找到比放高利贷还好的生意?

Power-law

为什么要用CAGR来衡量BTC的收益?我们都知道,BTC短期内价格波动巨大——尽管近年来波动百分比幅度大大降低了,但长期来讲它几乎就是稳步上升,因此,用一个相对长的时间窗口来计算它的CAGR,这样就能跨越牛熊,衡量它长期投资的收益率。我们往往夸大短期收益的幻觉,而忽视了长期复利的魔力。与时间做朋友,慢慢变富才是王道。

那为什么有相对足够的理由相信BTC还能上涨?从供需面来定性分析,需求端来说,BTC目前的普及率其实并不高,哪怕是美国人,也不过是14%左右,东大国人的普及率你们自己可以感受,只怕更低,随着时间推移,认可BTC共识的人应该会越来越多。供给侧来看,BTC的总量就是2100万,实际上可供交易的量连同未开采出来的量,也估计只有几百万个而已。

而全世界所有的国家的法币供给量每天都在增加,法币贬值时时在发生,只不过好的国家贬值得慢一些。说句大白话,假如你手中有印钞机,怎么会忍得住不印钞稀释别人的财富和自己的债务呢?

最后一个事情,BTC的持有者,从10多年前的极客到后来的散户,再到接下来的科创企业,再到近些年的机构投行,再到最近世界最大的强国美帝主权国家战略比特币储备,特朗普总统亲自下场,再加上BTC的ETF美元稳定币增加流动性且方便资金入场,以及相应的监管立法确保这些利好政策,BTC的基本面发生了一些重大的变化,参与者变了。BTW,并不是BTC需要美国,而是美国需要BTC。

我们可以看一下巴菲特公司的股票,为什么要定价一股500多万?他有意不让财富量级不够的人拥有,所以他的股票价格稳步增长,换手率超低,因为持有者被选择性地限定为超级富豪。

BTC这些年来的野蛮生长,具有反脆弱性,它的生命力异常强大,即使你认为它是一个郁金香泡沫,它的基本盘的共识也足够强,足够支撑这些泡沫——何况这点泡沫目前还不算什么,数字黄金BTC离实物黄金的市值20万亿美元还差得远。

诚然,任何投资早期回报大,但是风险也大,后期回报率低,但风险性小。BTC也不例外,早些年谁能料到它的生命力如此之强,担心它会失败,因此风险高收益也高,BTC未来的收益可能相对会低一些,但风险也相对低多了。换句话说,在我们可见的将来,BTC成功的概率远远大于它失败的概率——我这里依然采用了概率的思维,没有百分百的事情。

无独有偶,15年前的昨天,BTC的创始人(或团队)中本聪同学说了下面这句话:

“If you don’t believe me or don’t get it, I don’t have time to try to convince you, sorry.”

我认同这个理,也是这么做的。本人无意向大家普及BTC,更没有教大家赚钱的本领。以上胡言乱语,请勿当真!

本文发布时,BTC的价格约为116000美元。

  •  

Executives should be the least busy people

2025年7月31日 20:11
If your executive calendar is packed back to back, you have no room for fires, customers, or serendipities. You've traded all your availability for efficiency. That's a bad deal.

Executives of old used to know this! That's what the long lunches, early escapes to the golf course, and reading the paper at work were all about. A great fictional example of this is Bert Cooper from Mad Men. He knew his value was largely in his network. He didn't have to grind every minute of every day to prove otherwise. His function was to leap into action when the critical occasion arose or decision needed to be made.

But modern executives are so insecure about seeming busy 24/7 that they'll wreck their business trying to prove it. Trying to outwork everyone. Sacrificing themselves thin so they can run a squirrel-brain operation that's constantly chasing every nutty idea.

Now someone is inevitably going to say "but what about Elon!!". He's actually a perfect illustration of doing this right, actually. Even if he works 100-hour weeks, he's the CEO of 3 companies, has a Diablo IV addiction, and keeps a busy tweeting schedule too. In all of that, I'd be surprised if there was more than 20-30h per company per week on average. And your boss is not Elon.

Wide open calendars should not be seen as lazy, but as intentional availability. It's time we brought them back into vogue.
  •  

找一个人接受不完美的自己

2025年7月31日 13:50

首先说结论,标题这句话是完完全全的毒鸡汤。

这是关于「主体性」与「安全感缺失」的最后一篇内容,故意拖了这么一段时间,是因为主体性还可以涵盖很多有趣的内容,比如前段时间提到的「品牌效应」「人性论」。今天必须结束这个话题的原因,是因为「被观察者」崩溃了,这种崩溃正是「主体性崩溃」的过程。

一般来说,人在中毒时,会第一时间搞清楚自己中了什么毒,以及了解这个毒素可能会导致的最严重结果。如果这个毒是深藏在身体里多年,因为一件事情导致毒素蔓延,那至少人们得第一时间搞清楚如何解读?

但也有一些人,他们知道自己中毒,但他们觉得中毒的自己也是一个值得被自己爱的自己,不用做出改变,因为这就是自己的一部分,所以他们转而去寻找了另一个可以接受自己中毒的人。

当然,我这里说的毒并不是化学层面的毒,而是精神层面的毒

举个例子,我为什么在学生时代很讨厌音乐课、甚至仇视那些校乐队的人。一开始我以为自己只是出于嫉妒,或许是家庭情况不允许我搞音乐,但我又是一个天生节拍感很强的人,并不是因为我天生不喜欢音乐。要弄清楚这件事,就必须要直面毒素在身体里蔓延开的过程。另一件与这件事相关的事,是我每年暑假会被送去表妹家,表妹家境优渥,她学过小提琴、钢琴。所以每一次暑假,我在另一个房间做作业时,会听到钢琴房里传出她因为练琴被她妈用衣架揍的惨叫声,这种背景音会让我的学习效率非常高——这也是一种「毒」,或许也是很多人不想面对的「毒」,因为这是由自身的恶所产生的。所以我有很长一段时间,仍然用「嫉妒」这个表象来理解我的行为和正在中的毒,因为我既不能接受自己「嫉妒」的丑陋模样,也无法接受我就是这样的人。

解毒的方法是找到了另一件很不起眼的小事——我妈学过小提琴,后来当妹妹要学乐器时,她甚至没有和我「商量」过,就把自己以前的小提琴传承给了我表妹,而我并没有得到学习音乐的机会。这件事的底层架构,放在童年不是「嫉妒」而是「被抛弃」,这种被抛弃的毒甚至延展到了我每年暑假会被丢到不同的亲戚家寄人篱下。被抛弃的毒——其实就是安全感缺失症里的那些在童年被种下的种子。

所以我必须要做出对自己的和解,而不是去向一个已经发生的历史事件寻求「解药」。我承认自己的「嫉妒」,而这种嫉妒来源于我对于「没有被抛弃过的孩子」的嫉妒,所以当我听到表妹被揍时,她正在经历被抛弃的具象化, 让我感到了喜悦。所以当我成年以后,我有必要把「踢落水狗」的喜悦给拆分出来,因为它是纯情绪性的,并不能就事论事地解决问题。


主体性为何崩溃?

其实,聊主体性这个话题跟吃饱了撑得没事干聊死亡话题一样,人们对这个命题的思考也必须符合马斯洛需求层级的规律。也并不意味着没有主体性就是不好的,我见过许多在家庭关系里放弃主体性的女性,她们将自己的主体性完全依附在丈夫孩子身上,从而获得她们作为一个「好妻子/好妈妈」的肯定,她们也过得非常幸福。

同样,拥有较强主体性的人,也可能会被随时卷入舆论漩涡,因为不够圆滑而遭人排挤,失去很多机会。所以最终它还是一个选择性——包括主体性是否要经历崩溃也是一种选择的结果。

所以先说结论:主体性的崩溃并不是外部原因造成的,而是内部的主动选择(哪怕是没得选,其实也是一种选择),而崩溃就是所谓的「代价」部分。

就拿「被观察者」的案例来说:

这是我们曾经的朋友,他大部分时间处理事情其实是情绪优先。所以我们会试着让他回到理性的角度就事论事地讨论问题和解决方案,也就意味着我们在每一次突发事件时,都必须要先处理情绪问题,有的时候甚至会在这件事上死循环,从而无法就事论事。

这件事他知道,也承认自己「知道」,但实际在发生问题时,又会回到「你们的感受重要,我的感受就不重要」这样的赛道上面。所以当这样的事情发生太多次后,我们的关系在最后一次炸掉了。在讨论为什么炸掉这件事上,又出现了更多的赛道,例如:

  • 我不主动说是怕「你们」生气;
  • 我觉得「你们」和我建立关系时,我无法提供经济上的等价交换,所以「你们」用消耗我的尊严的方式来达成关系的平衡;

而我们希望他多一个视角让自己了解自己,比如在被大量情绪裹挟无法就事论事时,能否多一个自我审查的视角,识别情绪、理解情绪、渐渐地学会处理情绪的能力,且无论这个过程需要多少时间。有可能一开始要花 1 个月才能消气,但是如果 1 个月之后大家能彼此坐下来就事论事地聊事情本身,甚至是情绪为何而诞生。但让我们感到失望的是每一次都必须要重头开始,每一次都是情绪为主。

当然,我相信有人会说,这是我们在用自己的标准去规范别人。所以我才强调,这是自己多一个看待自己的视角,而不是被我们牵着鼻子走必须如何看清自己——那为什么一定要看清?这是后面会聊的内容。

总之,因为这样的关系经历过太多次在同一个坑反复摔,冷冰冰的功利主义介入了所谓的情感部分,从而判定关系的「价值」过低,而迫使大家都必须做出切割的动作。有情感吗?当然有,在一起的那段时间确实是留下过快乐回忆的,正是因为这些过程是快乐的,所以切割也意味着不要让无法调和的问题破坏了这些过往的部分。

当无法多一个视角看清自己的时候,主体性崩溃的发生是必然的,而选择是否要看清自己,这可不是旁人逼的。


主体性崩溃路径

这件事我在《所谓真爱》里一笔带过了——主体性的崩溃路径测试从里到外的。

先回顾一下主体性的内容:

  • 客观我-内核:我知道自己是一个怎样的人,我知道自己想要什么;
  • 社会我-关系:我依靠关系证明存在性,例如我是一个丈夫/爸爸/儿子/职员/领导;
  • 幻想我-人设:我依靠外部评价证明存在性,我希望成为别人眼中的谁,例如这个时候我要追求的是我是一个忠诚的丈夫/负责的爸爸/尽孝的儿子/有能力的职员/被人追捧的领导;
  • 主体性内环的平衡关系:
    • 内核越稳定,越对自己清晰,越不会受到(幻想我)外部评价的影响,甚至会主动追求外部的冲突以平衡内在的稳定感;
    • 内核越不稳定,对自我认知越模糊,越害怕(幻想我)外部评价的结果,会主动追求外部平稳,以平衡内核的不稳定(比如对他人评价的过分解读);
  • 主体性的内外统一性:
    • 内核与人设相一致,外部评价很难彻底引发当事人的对内攻击;
    • 但如果内核和希望维护的人设冲突时,为了保全外部人设,一些人会转而变成对内攻击和内耗;

为什么说「当无法多一个视角看清自己的时候,主体性崩溃的发生是必然的」?因为大部分时间,人都是主观的,特别是当这种主观与外部评价相统一时,会让人误以为外部评价的「自己」就是真正的自己。

举个例子,我们以前接触过的案例,女性之所以选择保持性开放关系,是因为她不想负责,但有一天她突然觉得自己应该好好谈个恋爱,去感受所谓的真爱。我们问她,她认为真爱存在吗?她觉得不存在,因为她接触这么多男性,甚至也有有妇之夫,她知道男人之所以会被玩弄于股掌之中,是因为男人也在性爱这方面追求来自于固定关系以外的外部评价;而她之所以觉得有必要谈个恋爱,是因为她把参照物放在了自己身边陆续进入婚姻关系的朋友身上,所以让她误以为进入婚姻或许才是最终的归属。搞清楚了这里面的矛盾,我们让她做出了终极二选一的选择,是选择婚姻用法律手段约束自己的忠诚度,还是继续保持开放式关系以实现自己的价值——她毫不犹豫地选择了后者。

幻想我-人设的外部评价就是这样的镜子,它不是让我们看清自己的,而是看到自己在别人镜子里的模样,这些样子会随着他人的主观而发生改变。一个不喜欢你的人,无论你表达了怎样的观点,都会被对方认定为「居心叵测」。所以问题不是在于你能表演得多好,而在于他们用怎样的主观来评价你——题外话,讨好型人格就是被困在了这里。

一旦人们开始把大部分的时间都花在了维护外部评价上,也会很快地逼迫自己去接受那些不喜欢的事情,甚至认为别人评价体系里的自己才是更完美的自己,从而逐渐丧失客观我-内核的部分。当外部评价变得混沌时,当事人再也无法回到内核部分去寻找自己,从而引发从内而外的崩溃。

比如当一个永远活在「好妈妈/好妻子」评价里,完全丧失主体性内核部分的女性,在离婚之后她会完全陷入崩溃,因为她根本不知道自己除了丈夫和孩子还能做什么。

相反,如果内核部分稳定,你向来知道自己是一个怎样的人,也会对自己不喜欢不接受的事物说不。当外部做出负面、不实的评价时,它对你主体性造成的冲击并不大,因为你不再需要通过维护外部评价的方式维系自己的存在性。另一个好处是,当你的内核与人设统一时,因为这个内核建立起来的关系也会客观地看待你,当外部存在流言蜚语时,社会我-关系的部分也会成为防御的部分。

这也是「毁掉一个人」的核心——无论是 PUA 还是煤气灯,其实就是从内核瓦解了一个人对自己的客观认知,就像那个永远被调暗的煤气灯,最终当事人无法从客观还原真相时,就只能去怀疑自己的主观——但人们似乎都忘记了一件事,「我」并不全是主观存在,它也是客观存在,而这些客观的评价并不来源于最外部的人设,而来源于你在社会我里每一段关系的「客观之镜」中。


认知崩溃与主体性退化

主体性一旦开始崩溃,就会发生一系列的退化现象。

在所有恐怖片的设定里,是不是都应该让一个「不相信鬼存在的人」先死,才能震慑住所有不相信鬼存在的角色?放回到现实世界,否定本身也是我们作为人最容易启动的初级心理防御机制。

前两天看《圣鹿之死》,作为医生的男主在面对儿子突然下半身瘫痪的客观事实时,他仍然以否定的态度认为是孩子在故意装病(这部电影的话题以后再聊)。否定并不是羞耻的事情,它的确是会先于理性被启动的防御机制,但有的人会切换视角批判思考自己对于否定的认知,有的人会把这种否定表现出来,也有的人会深信自己的否定是有依据可循的,而不去面对正在发生的事实。

但很快,人们会发现否定并不能解决实际问题,因为问题还在进一步扩大,不会因为人们无视问题本身而得到解决。比如外部评价在自己逃避的过程中变得更加复杂,甚至进一步瓦解自己辛苦构建的人设形象。于是这里发生了第一层「认知崩溃」——自我剧本失控。

与此同时,因为从内而外主体性崩溃同时发生,内核不稳定导致他们更加着急向外寻求「正面评价」,于是第二层心理防御机制会被启动——合理化。他们开始合理化自己的行为、甚至合理化自己明知道是自己的问题,但仍然寻找外归因来无视自己需要负起的责任。

合理化可以有效地缓解自我剧本失控带来的焦虑和自我攻击,但并不能解决问题的继续扩大,就跟中毒一样,用创口贴把毒蛇的齿痕给遮盖起来并不能阻止毒素在身体内的扩散。

于是认知偏差开始寻求「依附属性」。这也是我在学生思维的部分提到过的,当外部评价不存在时或负面时(比如无法做出结果),他们则会在努力这件事上疯狂地寻求对自我的肯定。当认知崩溃和主体性崩溃同时发生时,会重新在幻想我-人设部分建立新的「人设」——寻求自立。

先前的评价系统完全失效,则需要一个全新的评价系统来继续获得外部肯定,这个时候就会出现大家喜闻乐见的「越缺什么就越炫耀什么」。然而,一旦外部评价仍然无法支撑当事人的存在性时,这就发生了第二层「认知崩溃」——寻求自立失败。

也就是说,此时此刻从内而外的主体性崩溃、与从外至内的认知崩溃都共同破坏了主体性的三个圆环,于是他们在中间夹层启动了另一个心理防御机制——也就是彻底的退化——如果我退化成为一个婴儿,就没有人可以再对我进行评价和约束,因为我足够弱小。

一旦主体性退化发展到这一层级,一般会出现我价值体系里面最残忍的评价用语——没救了。回到刚才那张主体性的图,内核已经不存在了,外部评价也相继崩溃,自己努力想要营造的人设也荡然无存,这两个崩溃路径在中间层找到了平衡——即社会我-关系部分。

上一小节我提到,关系或许是看清自己的解药,但同样的是药三分毒也可能是主体性彻底崩溃的毒药。心理防御机制里的退化一旦开始发生,当事人会本能地逃回到他最熟悉的环境,即回归熟人系统——我还有一个爱我的人,我还有一个接受我不完美的人——于是,责任再一次被外化了,接受不完美是自己与自己的和解,而认识到自己不完美则需要客观我的内核足够稳定,这个时候责任被丢给了「爱我的人」,如果他们再不接受我的不完美、我浑身的毒,那就不是我的问题,我不觉得自己有问题,而是他们无法接受真实的我。

这套完美的路径到最后就会重新建构一个完全依附于熟人系统的人格,从而彻底放弃自我主体性。

总结一下:

  • 从内至外的主体性崩溃,与从外至内的认知崩溃,共同构成主体性退化;
  • 退化路径一般为:
    • 否认-否认失败-自我剧本失控(即内核不稳定+幻想我瓦解)
    • 寻求依附-依附失败-寻求自立失败(即彻底无法客观认识自己+无法从外部获取认同感)
    • 退化-回归熟人系统(主体性丧失,完成对他人的依附)
  • 各阶段解法:
    • 回归内核,重新客观地认识自己(解药:社会我-关系-他们如何客观看到我)
    • 重新建构内核,停止表演,接受自己的不完美(解药:客观我-内核-我是谁)

自洽、他恰与续恰

这是方法论的部分,方法论是最不值钱的,所以我放在了图例的左小角。

  • 自洽:即自己说服自己;
  • 他恰:即说服他人;
  • 续恰:即持续地说服自己与他人;
  • 所谓的说服,你可以理解为「我希望别人认为我是怎样的人」;

大部分人都迫切希望完成自洽,即客观我和幻想我之间形成的区域。举个例子,如果一个人他表里如一,他其实不需要太强大的自洽系统,因为他平时就是这样的人,哪怕外部评价对他做出了否定评价,他也不会认为这是真正地否定了自己;相反,太过在乎外在人设的人,会努力自洽自己的行为和认知,从而迎合外部评价——这难道不是「他恰」吗?

而他恰,是社会我与幻想我之间的区域,简单来说就是我在社会关系中的「角色」通过满足他人评价而维系社会角色的稳定性。比如一个丈夫,虽然出轨了,但他仍然是别人眼中的好丈夫,所以他必须要做出各种能够说服他人的行为,以维系他人对自己身份的认可。他们甚至会在这个过程中牺牲自我的部分,以完成身份-评价的存在性。所以这是它与之前的本质区别,即有没有自我的参与。

续恰,可以简单理解为「契约精神」,完成对他人的承诺即续恰的核心。续恰是客观我和社会我之间形成的区域,续恰是最难的,因为它很容易受到幻想我的外部评价,比如一个坚持做某件事的人,他被无数人嘲笑他的坚持,外部评价无法给予正面评价时,他的坚持就会变得孤立。

只有当三者同时存在,才能完成主体性的完整性——即我知道我是谁,我不在乎他人评价,我能从关系中看见客观的我,同时我也能用真诚去建立与他人的关系,从而建立一套更加客观的外部评价系统。

这里就会有一个有趣的讨论,即主体性崩溃,是自洽、他恰和续恰的哪一部分先开始崩溃的?


写在最后

显然,讨论主体性是一件吃饱了撑的事情——你会发现,这是来自于幻想我部分常常发生的外部评价。所以我常开玩笑说,表达观点其实是一件极其私人且孤独的事情。这也是極客死亡計劃创作者提及的一句值得每个人反思的话:「预设言论背后的恶意和傲慢,实际上是一种认知惯性。」

不过评价也并不影响像我这样的人吃饱了撑的没事干。

我在 Telegram 会收到一些「寻求帮助」的私信,他们被大量的情绪、事件表象所裹挟。这也是我的职业习惯,我会帮他们一点点拆掉被裹挟的部分,最终露出一个相当露骨的底层,而这个底层往往都和主体性相关。所以主体性并不是吃饱了撑出来的,而是在吃饱之前它就存在,甚至还关系到你想要吃什么,以及我如何才能避免吃别人喂到嘴里的屎。

主体性是一个回归底层的话题,并不需要一上来就「上纲上线」,但它又确实能解决很多表象的问题。比如一个人为什么老是遇到渣男、为什么老是喜欢同一种类型的人、为什么老是在最需要他的时候突然逃走等等,这关系到一个人对自己的客观了解。

我仍然觉得,并不是所有人都需要搞清楚每件事的底层逻辑,因为那样会很累,也是导致抑郁症的根本原因之一。人的大脑并不完全由理性构成,偶尔也要让感性作为主导,不喜欢就是不喜欢,而不用逼迫自己去搞清楚为什么不喜欢。

所以聊主体性还有一个核心问题,是希望每个人都有一个健康的心理。憋、忍耐和无视都不会让那些负能量自然消解;相反,发泄、理性、甚至是做出违背道德的事情,我认为反而是对身体健康的事情,因为身体比我们对精神毒素更敏感。

如果你有任何身体毒素希望解毒的,可以利用主体性作为一个底层参考客观认识自己,也可以和我取得联系。

  •  

中毒

2025年7月30日 13:32

一些人中毒,会第一时间确认毒素来源,以便获得解药;

一些人中毒,会通过感知毒素蔓延带来的痛楚,从而理解自己中的是何种毒;

但大部分人的人,还是知道中毒了得解。

所以还有一些人,他们中毒之后,会想要找到另一个可以包容自己有毒的人,这样自己毒素蔓延也会好受些;

所以还有一些人,他们中毒之后,会想要迫使另一个人也感染自己的毒,或许这种诅咒式的安慰也会好受些;

  •  

利用CAGR预测分析比特币未来10年价格

2025年7月30日 00:00

bitbo-cagr

历史背景参考

10多年前,我分析过比特币的极限价格,目前来看,当年的预测还是有一定准确度。根据 charts.bitbo.io 提供的图表显示,比特币在过去多个 10 年周期中的实际 CAGR 表现优异,历史上任何一个10年的 CAGR 从未低于42%,在所有主流资产类别中长期表现最强,我们可以根据 CAGR 对比特币未来的价格进行预测分析。

未来 10 年(2025–2035)的 CAGR 预测情境

  1. 基准情境 – 约 40% CAGR
    ARK Invest(方舟投资)预测比特币到 2030 年的 CAGR 约为 40%,基于全球采用率与网络活跃度。若保持此增长率到 2035 年,其增长倍数为:(1 + 0.40)^10 ≈ 28 倍,假设当前比特币价格为 $118,000,则到 2035 年价格约为 $3,300,000。
  2. 保守情境 – 约 30% CAGR
    与 MicroStrategy 创始人 Michael Saylor 提出的长期年化 30% 增长率一致。10 年后增长倍数为:(1 + 0.30)^10 ≈ 13.79 倍,即比特币未来可能达到 $1,300,000 左右。
  3. 激进情境 – 超过 50% CAGR
    ARK 等机构的乐观模型中,预计比特币可能达到 50% CAGR。对应增长倍数为:(1 + 0.50)^10 ≈ 57 倍,即到 2035 年,可能达到 $6,700,000。

总结表格

情境 假设年复合增长率 2035 年预计价格 说明
基准情境 ~40% $3,300,000 方舟投资的基础预测
保守情境 ~30% $1,300,000 Michael Saylor 的观点
激进情境 ~50% $6,700,000 极度乐观假设(高 adoption + ETF)

为什么 CAGR 可能改变?

  • 网络效应加强:如闪电网络、稳定币、Token 化资产 RWA 的推动。
  • 制度性资金进入:ETF、退休金配置、主权国家战略比特币储备等将增加市场需求。
  • 稀缺性驱动:比特币供应固定,长期内稀缺资产优势显现。

风险与注意事项

  • 比特币历史上曾出现多次 80% 以上的价格回撤。
  • 这些预测是基于理想状态的长期增长,现实可能出现波动。
  • 全球监管、宏观变化、竞争币种等都可能带来干扰。

总结一句话

如果比特币的价格未来能保持年复合增长 30–40%,到 2035 年价格可能在 $1,300,000–$3,300,000 之间。若维持 50% CAGR,则有望达到 $6M+ 的价格。

之前也分享过类似的预测:10万美元的比特币价格不会在2021年之前达到,但不会迟于2028年,从此之后,比特币的价格不会再低于10万美元。100万美元的比特币价格不会在2028年之前实现,但不会迟于2037年。2037年以后,比特币的价格不会再低于100万美元。

知识百科:

CAGR(复合年增长率,也称复合年化收益率,Compound Annual Growth Rate)的计算公式如下:

cagr

其中:

  • 期末的价值:例如最后一年价格
  • 期初的价值:例如最初一年价格
  • 年数:时间长度(单位为“年”)

CAGR的含义:表示这笔投资如果每年以相同的百分比增长,比如10年后刚好从 $300 增长到 $30,000,那这个百分比是多少。它平滑了年度波动,适合做长期比较。

声明:本文由ChatGPT的人工智能和作者的人类智能共同完成,不构成投资建议,纯属兴趣研究。

本文发布时,BTC的价格约为117800美元。

  •  

到日本了

2025年7月27日 23:58

说走就走的旅行,拿上护照,带一个充电宝就出发了,中间还担心充电宝不带3C标识无法上飞机,过海关确认了一下,国内航班必须有3C标识,国际航班沿用之前的规定:小于2000毫安,不查验3C标识。充电宝出事儿也看国籍,党性👍🏻。

八点半到关西机场,十一点办完入住,恕我XX,第一时间验证下P站?果然秒开,日本比东南亚别人更自由😂。洗漱一下,熬夜逛一下:日本的大街真干净,蟑螂真大,走起路来,嘎嘣脆;绿化带烟头真多;绿化带里撒尿的男人,跑得真快~

太困了,睡~

  •  

The beauty of ideals

2025年7月28日 18:31
Ideals are supposed to be unattainable for the great many. If everyone could be the smartest, strongest, prettiest, or best, there would be no need for ideals — we'd all just be perfect. But we're not, so ideals exist to show us the peak of humanity and to point our ambition and appreciation toward it.

This is what I always hated about the 90s. It was a decade that made it cool to be a loser. It was the decade of MTV's Beavis and Butt-Head. It was the age of grunge. I'm generationally obliged to like Nirvana, but what a perfectly depressive, suicidal soundtrack to loser culture.

Naomi Wolf's The Beauty Myth was published in 1990. It took a critical theory-like lens on beauty ideals, and finding it all so awfully oppressive. Because, actually, seeing beautiful, slim people in advertising or media is bad. Because we don't all look like that! And who's even to say what "beauty" is, anyway? It's all just socially constructed! 

The final stage of that dead-end argument appeared as an ad here in Copenhagen thirty years later during the 2020 insanity:

i-speak-my-truth.jpg

I passed it every day biking the boys to school for weeks. Next to other slim, fit Danes also riding their bikes. None of whom resembled the grotesque display of obesity towering over them on their commute from Calvin Klein.

While this campaign was laughably out of place in Copenhagen, it's possible that it brought recognition and representation in some parts of America. But a celebration of ideals it was not.

That's the problem with the whole "representation" narrative. It proposes we're all better off if all we see is a mirror of ourselves, however obese, lazy, ignorant, or incompetent, because at least it won't be "unrealistic". Screw that. The last thing we need is a patronizing message that however little you try, you're perfect just the way you are.

No, the beauty of ideals is that they ask more of us. Ask us to pursue knowledge, fitness, and competence by taking inspiration from the best human specimens.

Thankfully, no amount of post-modern deconstruction or academic theory babble seems capable of suppressing the intrinsic human yearning for excellence forever. The ideals are finally starting to emerge again.
  •  

好态度决定男人的一生

2025年7月28日 11:21

虽然标题是恶搞的《好心态决定女人的一生》,但要聊的内容还真的和标题里的「态度」有关。首先要感谢一位博客朋友留言想让我聊聊的两个字,但这两个字太大了,所以干脆又开一个小系列,来聊聊何为「态度」。


态度不端正

我从小是一个被评价为「态度不端正」的学生,这个评价比起成绩不好更让我爸妈摸不着头脑,甚至有一段时间我爸还真的怀疑过我是不是智力有问题。态度不端正前面一定有一个相关的前缀,比如学习、认错、反省,态度不像成绩,至少我知道可以用分值来确定什么是好是坏,所以我也会反问老师,那怎样才算是态度好——但是这句话也被认定为是「态度更不端正」了。

久而久之,我跟老师之间也形成了一种微妙的平衡,他知道我态度不好,我也确实不知道什么叫态度好,所以他换了一个思路问我:「你这样做是怎么考虑的?」说实话,我得感谢高中时期的那个班主任,别看他是个暴脾气,但是最后也被我磨得彼此心照不宣地不触及彼此的雷区。当他开始这样向我发问时,我就不再需要解释态度好不好的问题,而是在就事论事讨论问题。

没错,我随后的人生大部分越来越讨厌「情绪」这件事,也是因为与其彼此讨论「态度」不如就事论事地讨论是什么问题导致了现在无法理解彼此的态度。

于是,「态度」从这里发生了两个极端性的分裂,它到底是「本质的折射」还是「表象的伪装」?即我们究竟是讨论此刻的态度因何存在,或是讨论此时此刻的态度是好是坏。

当然我也知道,人在情绪上头时,很难理性地追着本质聊下去,甚至这种理性会变成更加伤害对方的「冷漠感」,所以我不认为就事论事就是完全地规避情绪本身,也需要遵循当下情绪对身体带来的变化,愤怒就发泄、恐惧就对抗。但这个时候往往,那些咬着态度不放的人,却又极其双标地开始无视对方的情绪,用态度给对方定罪。

说一个比较常见的场景:

一类男女吵架,女的一旦开始有了情绪,男性很难通过提供解决方案的方式安抚对方情绪,而是要全方位地关注对方的情绪,否则可能会引发更严重的争吵;但男的开始有了情绪,女性则用「你态度不好」关闭了对男性情绪的接受和理解,从而变成了「你情绪不好朝我发脾气或冷暴力」就是你的错。

现在想想,你就说是不是好态度决定男人的一生!

自己有态度是独立自尊新时代,而他人的态度就是无理取闹负能量。

所以回到最初的那个分裂点,态度到底是什么,是「本质的折射」还是「表象的伪装」?拆解态度是为了多个角度认清自己,而评价他人态度是为了精致利己彰显特权。


态度是表象的伪装

态度是否是一种社会驯化的结果?

为了在社会的框架下生存,我们必须遵守社会框架下的规则,而个体在融入这些不同的社会框架时,又会被套上不同的社会身份,一个好职员、一个干练的领导、一个公司的老板、一个称职的太太、一个忠诚的丈夫、一个好母亲/父亲、一个孝顺听话的孩子、一个若即若离的情人……为了身份赖以生存,每种身份在社会秩序里似乎都有一种「态度」存在,背着车贷房贷的中年程序员,在面对领导的无理指责时,他因为同时也是一个丈夫、爸爸、儿子的身份,他为了职员的身份能够持续为其他三个身份提供经济来源,或者说「身份资格」,他是否需要在被领导骂的时候表现出「好态度」?

你会发现,这个时候态度拥有了「功能性」,如果人们能够在短时间内以功利主义的视角,做出「态度」的切换,以维护不同身份资格之间的最大收益,那这样的态度就是刚才提到的某种「表象的伪装」——伪装的前提,是存在某种需要被掩盖的本质。比如男性哄着女性,是为了避免更大的冲突发生。

但不能忽视的是,在伪装的更深一层,是真正驯化的结果——即看似的「我别无选择」。继续回到那个让人不要太舒服的例子,背着车贷房贷的中年程序员把自己活成了那个「巴普洛夫的狗」,一旦领导发怒,他都会本能地切换成「好态度」,以此来避免利益受损。他不认为这是自己在伪装,而是「算了忍一忍就好」,当他习惯性地将自己的态度变成了最表象的伪装时,这些面具迟早有一天会撕不下来——当然,我并不觉得这样活着有「错」,这只是每个人的选择问题,不过这样的人会错过面对自己的机会,他们会将自己的态度当成生存的方式,直到他们认为自己就是这样的人,而彻底失去了自我,被困在没有受困的关系里,直到关系的全面瓦解。

如果你看过《瞬息全宇宙》,你就能理解故事开篇 Evelyn 所困住的那个世界,她的世界在一堆看似别人制造麻烦的外归因的规则里变成一团乱麻,但事实上这些所有的麻烦都源自于自己的选择和妥协。

我也认为用功利主义暂时切换自己的态度、以获得最大利益的方式是没问题的,只是这中间还缺少了一个核心的「旁观系统」,即你自己真的希望自己用态度伪装的方式来逼迫自己接受某种规则?——要知道,无论你用如何好的态度伪装自己,身体可比你更清楚这些无法被释放的情绪带来的心理和身体的实质性伤害。


态度是本质的折射

态度是否是一种自我选择的结果?

我大部分时候秉持的「代价论」,即人拥有选择权但也需要承担选择的代价,是比较接近哲学家萨特的观点的——即人的存在先于本质,人是生来自由的,并要为自己的自由负责。面对这种绝对的自由,人会产生焦虑、虚无感,而态度则是人对这种自由境遇的回应和选择。

从我的视角来看,人本身是自由的,而规则只是一种对于人关于自由获得的「引导」。社会是文明的产物,所以要求人们习得某些文明的行为,来共同维护社会的运作——杀人当然还是自由的,只是现代社会利用法律将杀人进行了约束,这里面有一个逻辑先后的问题,不是说法律不允许人们杀人了,而是人们仍然可以自由地选择杀人,但法律会对其行为做出评价,这就是「代价」的部分,如果无法承担这样的代价,那人在面对这种生物本能的自由时,做出的态度是谨慎、反对甚至是恐惧的,这便是萨特认为的「态度是人对这种自由境遇的回应和选择」。

相对的,来自他人评价的「态度不好」,是自己选择的「态度不好」吗?显然不是,因为此时的评价权已经换到了对方手上,他可以对你的态度做出任何形式的评价。就像我小时候追问什么才是态度好的问题一样,这样的问题也可以被老师视为「态度不好」,换到成年人的世界,当你坚持某种态度时,也极有可能会被他人评价为「态度不好」,那你是愿意坚持自己的态度,还是为了缓和气氛维系关系而选择转变态度呢?这便是选择与代价的部分——因此,态度并不是诱因,选择才是导致了某种「态度」产生并且接受他人评价得出结论的过程。

举个极端例子,一些长期出轨的男性,他们在被抓包后的认错态度是非常诚恳的,甚至还会有跪地痛哭、苦苦央求的剧情。这样的态度往往又会换来他再一次出轨的机会。

出轨是他选择的,态度是他为了这种选择服务的方法论,代价不过是丢掉男性尊严下跪痛哭,但他同时也获得了下一次出轨的机会。反过来,女的一次又一次被骗,但还是认为他有一天可以回心转意,原本也是她的选择,所以她才接受了对一次又一次道歉态度诚恳的认定。然后彼此乐此不疲地在关系里拉扯彼此,最终形成婊子配狗的经典剧情。

在这个关于态度的分支里,要讨论的不再是态度好坏与否的问题,而是讨论态度背后的「选择」到底是什么。常常有人向我抱怨,说自己不理解另一半的态度问题,明明自己没有做错什么,但对方就是态度不好——我一般都建议他们从两个点重新思考,另一半态度不好往往是因为他决定要选择做某件事情,第二是重新思考「明明自己没有做错什么」这句话。

如果是男的,听到这个建议后呢,就会态度和缓地和对方好好讨论,但最终讨论的结果一般都是「行吧,都是我的错」,看吧,好态度决定男人的一生吧!


好了,关于态度的话题,这一次先解决「本质」部分,接下来就会从不同角度,例如命运、关系、时间维度、心理机制各种角度展开聊聊。

再次感谢这位提供素材的朋友,如果大家还有别的想聊的,也可以评论或私信告诉我。


题外话

我把这个词喂给了「莫比乌斯 2.0」,看看从历史数据库里,我是否有聊到过相关的话题。

因为我把 2000 多篇从 2012 年起还能找到的文章、小说都全部喂给了 ChatGPT 的项目数据库,于是我构建出了一个「莫比乌斯 2.0」。跟朋友聊起这件事,他问我觉得「害怕」吗,因为它或许可以模仿并超越我。他让我使用「莫比乌斯 2.0」按照我的风格创作文章,但我看来看去还是觉得少了点什么。于是我从头调教它……

好吧,以上是 ChatGPT 的分析,显然毫无卵用。

  •  

南极谋杀案(十七)- 慈善绑架

2025年7月26日 08:00

“这是第六起了吧?”

“不一定,只是这六起案件有共性且都报案了。”

“一般都会报案吧,这种交赎金的方式。”

“要求受害人做慈善确实比较特别,但我查了下,过去十年本市慈善捐款有一个明显且稳定的提升,如果我们拿掉这六起案件的赎金,这个提升会出现中断。”

“也就是说,有人长期在做这个?”

“被绑架的人都安全获释,甚至有两起根本就不算绑架,只是绑架者可能获知了这几个孩子要去探险的计划,炸了附近的信号塔制造的伪失踪,而且还事先散播了信号塔辐射的谣言,我们都不知道被炸是巧合还是策划的。”

“其他捐款也有可能是赎金?”

“绑架者要求加密货币匿名捐助,而且多是小额多笔防洗钱的模式,现在这些慈善组织都有这样的钱包,一进账公链上就能看到,这样的事很难查,我只是听说本市安保公司纳税额增长率比慈善捐款增长率还高了一倍。”

“那就不好查了,会不会是安保公司?”

“查过了,安保公司是全球连锁的跨国公司,根本查不动,就我们市这点业务不值当。”

“那其他新港市有没有类似事件?”

“不知道,但我查过过去二十年同体量新港市的慈善捐助,总体确实在提升,但很难归因于这类绑架事件,毕竟这些城市的贫富分化也比较高,提升的捐助很难查清原因。”

“还有什么线索可以用?”

“有一起的赎金要求是部分买入一支股票,而被买入的公司确实正在被恶意收购,收购成功很可能会导致上千人失业,这部分买入完全打乱了收购谈判,勉强也可算是慈善类型,但我们查了所有关键人物,大部分都没有绑架期间的不在场证明。”

“那不就是说他们可能就是绑架者?”

“恰恰相反,这一起被绑架的孩子说见过绑架者的脸,跟这些人对不上。”

“绑架者不怕露脸,怕是做过整形手术,整容医院记录查过没有?”

“查过了,只能说整容不发生在本市,我们也调了监控摄像头,绑架者在摄像头覆盖区域绑架全程戴口罩墨镜,但跟被绑架的孩子单独在一起倒不在乎露脸。”

“画像呢?”

“被绑架的除了探险那几个半大孩子,都是学龄前儿童或不超过10岁的小学生,绑架者露脸似乎更多是排除我们锁定的嫌疑人,体貌特征全都对不上,说不定也做了伪装,但小孩子的话也没多少能信的。”

“听说另一个特征是赎金金额?”

“嗯,这算某种共性吧,嫌犯是根据财富排行榜或过去三年公开报道的纳税总额的5%来要求,但并不总是最有钱的家族或个体,钱数绝对数量不小,但对受害家庭负担确实不大,这可能是很多案件根本就没报案的原因。另外似乎对所有被绑架的人都做了调查,被嫌犯联系的往往是年长的女性,会刻意绕开那个最可能报警的家庭成员。感觉对方是在用一种对被绑架者影响最小的方式在执行绑架,可能就是要维持慈善金额的增长率。”

“金额数能对上吗?”

“嗯,我们的慈善金额计算时需要算上二维码卡片撒钱的。”

“二维码卡片?”

“很多街区会一夜间突然出现这些卡片,扫描后直接就是稳定币,扫描者会得到一点钱,然后会用其名义进行分布式捐款,这种方式真的很让我们头疼。当然有几次卡片确实是诈骗,但大多数就是真金白银,而且这个码是一次性的,第二次扫就转到市政府主页了。”

“那我们不是可以通过金额来反推受害者吗?”

“大头应该还是匿名捐款,这几个报案的收到的信息都是混合型,比例也完全没规律,似乎就是为了防我们查。”

“有点意思,背后应该有一个组织,定性是恐怖主义?”

“嗯,目前是这么定性的。而且我们也捉到一个模仿犯,他跟受害者没有任何关联,但要求的赎金是去一个便利店买光所有产品,我们查到那个店主的孩子需要动手术,正好缺一笔钱,不过这个模仿犯漏洞太多,赎金完成后放松警惕,小孩自己跑出来还记下了地址,在其余案件里小孩都是戴上不透光墨镜到坐公交反复换乘,同时喝下低剂量安眠药果汁,孩子醒过来时找司机报案被解救的,显然这个模仿犯不知道这些细节。如果不定义为恐怖主义,只怕模仿犯会越来越多,另外也得跟那些媒体打招呼,他们给的线索太多了。”

“但实质上的社会危害性也有限吧。”

“这话只能是辩护律师跟法官说吧,针对少数有钱人的犯罪也是犯罪,我其实更在意那两起炸了信号塔的案件,这种事恐怕根本防不住,你总不能不让这些半大孩子出去玩吧。”

“还有什么要补充的吗?”

“没有了,市长。”

……

“怎么样?”

“定性为恐怖主义,暂时没有对策。”

“下一个目标是谁?”

“市长,毕竟我也在榜上。”

  •  

车祸 V

2025年7月26日 12:45

(2025-全国卷)下列哪些是提高电动车产品质量的方法:

A、通过分析起火/爆炸事故数据,改进电池安全

B、利用事故中变形区域的数据,优化溃缩吸能结构的设计

C、推广车祸自救、他救行为

D、发生车祸后,立即遮挡电动车前后车标

E、优化自动驾驶系统,确保系统日志中车祸前三秒将控制权交还驾驶员

F、正确积极引导车祸后网络舆情走向

G、制造新型材料,确保能在电池起火后烧毁所有零部件

H、拒绝非行业认可机构对电动车进行相关数据测试

I、通过法务部要求用户删除有关产品质量的负面消息,联合平台删除有损品牌形象的相关账号

  •  

看了懂车帝的视频,我有一些想法

2025年7月26日 14:05

这几日,懂车帝发布的视频引发了广泛热议,尤其是其中关于“消失的前车”的部分,吸引了大量关注与质疑。我完整观看懂车帝的视频,也一些想法想与大家分享。

实验设计

“消失的前车”这一测试环节备受争议,主要集中在测试车与前车之间的车距差异,以及测试车当时车速的不同,很多人因此质疑该实验设计不合理。

我也思考了一下,如果由我来设计这个测试,应该如何更科学地实施?

探究问题

本次测试的核心问题是:不同品牌的辅助驾驶系统在“前车突然变道并露出故障车”这一极端场景下的应对能力表现如何。换言之,主要测试当前智能驾驶系统面对突发状况的处理能力。

实验设计

具体的设计流程在此不再赘述,但以下几个细节我认为尤为关键:

  1. 路况一致性:应尽可能确保各测试车辆面临完全一致的路况与情境,否则所得结果无法进行有效的横向对比。
  2. 前车速度一致:测试中前车应保持相同速度,例如设定为132 km/h(即限速120km/h + 10%浮动)。
  3. 前车变道点保持一致:前车变道时与故障车的距离应相同。为确保一致性,可在道路两侧设置参考标记,既方便司机操作,也可作为视频佐证。
  4. 邻近车道交通状况保持一致。 快车道上的其他车辆,也应与前车保持相对固定的位置。例如,同样以132km/h的速度行驶,并与前车保持约30米的间距。这是因为,邻近车道的交通状况会直接影响辅助驾驶系统的环境感知,进而影响其决策。如果邻车距离较远,系统或许会误判变道为最优解(尽管我个人不认同此逻辑);反之,只有当邻车距离足够近时,系统才可能将紧急制动判定为最安全的选项。
  5. 测试车状态一致:测试车应与前车保持稳定跟车状态并持续一段距离。一些车辆可能已经完成加速阶段,稳定在132 km/h;而另一些仍处于加速过程中,车速尚低(如120 km/h),这将显著影响测试结果的可比性。
  6. 车机参数设置一致:这也是网上争议最大的一点:究竟是应该调整车辆,使所有车都达到相同的实际跟车距离和时速,还是应该保持辅助驾驶的参数设置一致?我认为,要达成此次的测试目的,后者才是更合理的设计。
    首先,实验的核心是检验不同系统在统一设定下的自主决策能力。因此,参数设置本身是控制变量,而系统在此设定下自主选择的车速和车距,则是体现其能力的因变量。其次,试图让不同品牌的车辆保持绝对一致的物理车距,在现实中几乎是不可能的。以跟车距离为例,即便所有车辆都设有“1、2、3”档,A品牌的各档位可能对应10米、20米、30米,而B品牌则可能是15米、25米、35米,这种差异是普遍存在的。 鉴于上述原因,统一设置车机的“跟车距离等级”更为合理。视频中提到设置为“中档”,但在实际高速驾驶中,许多用户都会选择“最远”档位,因此是否将其统一设置为“最远”更为恰当,也值得商榷。(至少我是这么设置的🙈)

除了车机设置统一外,视频中似乎未对上述其他几个关键点作出明确说明。如有遗漏,欢迎补充。

其他想法

懂车帝视频最想传递的核心信息是:当下所谓的“智能驾驶”技术远未成熟到可以完全放心依赖的程度。即便启用辅助驾驶功能,驾驶员仍需时刻专注前方路况,双手握紧方向盘。

相比那些具体测试数据与排名,这段19分钟的视频更有意义。「“直到碰撞前最后一秒,我都是相信它的”,“智驾”事故的背后,有问题吗?

然而,网友们的关注点似乎集中在各品牌的排名上,不断试图为自己支持的车企辩护。退一步讲,即使测试条件未完全一致,比如A品牌车距50米、车速130,B品牌车距100米、车速120,这至少说明A车在该条件下存在潜在风险。其他品牌如何,不重要,关注自身安全才最关键

如今,越来越多车企将“智驾”作为宣传重点,宣传时夸大其词,一旦发生事故则推责于用户。而一些不明真相的小白用户,往往会轻信宣传,毫无保留地将自身与家人的生命安全交给尚处于“幼儿园阶段”的智能驾驶系统。

近年来,车企们纷纷将智能驾驶吹嘘得天花乱坠,并将其作为核心卖点。结果往往是:没出事时,大肆宣传智驾的强大;一旦出事,责任便推给了用户。许多不明就里的消费者,很容易盲目相信厂商的宣传,将自己与家人的生命安全,托付给一个仍处于“幼儿园阶段”的辅助系统。

我曾在《谁说电动车不能开长途?1700公里春运返程分享》一文中提过,在长途高速上,我也会使用辅助驾驶,甚至超过70%的路程会开启辅助驾驶。即便如此,我始终紧盯前方,双手握着方向盘,脚始终靠近刹车,随时准备应对突发情况。因为我深知,目前市面上所有的智驾系统,都不具备人类的“防御性驾驶”能力——它不懂得主动远离大货车,不会避免在两辆大车之间行驶,也不懂得在视野受限时主动减速。

它们只是程序,只是辅助系统,而不是具备人类经验与判断力的司机。

或许,只有当开启智能驾驶时方向盘被锁死、事故由厂商全责承担的那一天到来,我才会真正相信“全自动驾驶”已成现实。未来也许终会如此,但显然,那一天还没到来

看了懂车帝的视频,我有一些想法最先出现在Jack's Space

  •  
❌