This blog is rated 🔞, viewer discretion is advised

吐槽pynsq,另外给subprocess糊了一个异步

pynsq太烂了

起初是因为需要在 Web API 里消费一个消息队列(nsq),给浏览器返回 EventSource 做实时输出。但是没想到官方库pynsq居然写得这么渣:

def _handle_term_signal(sig_num, frame):
    logging.getLogger(__name__).info(
        'TERM Signal handler called with signal %r', sig_num)
    tornado.ioloop.IOLoop.current().stop()

def run():
    """
    Starts any instantiated :class:`nsq.Reader` or :class:`nsq.Writer`
    """
    signal.signal(signal.SIGTERM, _handle_term_signal)
    signal.signal(signal.SIGINT, _handle_term_signal)
    tornado.ioloop.IOLoop.current().start()

这都什么玩意儿?一个库何德何能也敢去乱劫持 signal?最他妈逗的是这个库的推荐写法:

import nsq
r = nsq.Reader(message_handler=handler,
        lookupd_http_addresses=['http://127.0.0.1:4161'],
        topic='nsq_reader', channel='asdf', lookupd_poll_interval=15)
nsq.run()

这个 r 莫名其妙的就能跑起来了。真是魔法。anyway,在Web API兼容这一坨是失败了,爆了一堆错,对付魔法的办法就是隔离,所以打算糊个脚本,通过多进程+PIPE来得到数据。

给 subprocess 加一个异步补丁

糊的时候发现,subprocess 模块的 .communicate() 方法是 blocking的, 居然不支持 async/await,于是只能继续糊:

import subprocess, fcntl, asyncio
p = subprocess.Popen(
    cmd, bufsize=0, text=True, stdin=subprocess.PIPE,
    stderr=subprocess.PIPE,  stdout=subprocess.PIPE, close_fds=True)
fcntl.fcntl(p.stdout.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
buf = ''
while p.poll() is None:
    try:
        # read() with O_NONBLOCK might gets None thus TypeError
        buf += (p.stdout.read(1024) or '')
        contents = buf.split('\n')
        if len(contents) < 2:
            raise TypeError('Not enough')
    except TypeError:
        await asyncio.sleep(1)
        yield None
        continue
    buf = contents.pop(-1)
    for x in contents:
        yield x

p.terminate()

这里用 bufcontents 是因为直接调用消息队列,每个消息都是分割好的;但是通过管道来读。得自己去处理字节流如何分割的问题,也就是传说简中特供的「粘包」问题。

另外子进程可能因为Web框架的种种原因,不自觉退出或者变僵尸进程,需要向 stdout/stderr 做输出的时候检查一下 BrokenPipeError 处理后事主动退出即可。

还有子进程如果输出完毕,需要代码里调用一下 p.terminate(),才能回收,避免变zombie

试了一下,也不是不能用,成功!正觉得自己又行了的时候,发现官方:

https://docs.python.org/3.8/library/asyncio-subprocess.html

啊这。白忙活。

超长待机 subprocess

想起来之前还有个问题,一个API调用一个subprocess,然后等它执行,不想管。这个时候可以加一个参数 detach 模式:

subprocess.Popen(..., start_new_session=True)

然后在同进程用里跑一个后台检查循环去检查子进程的 WNOHANG

while 1:
    try:
        chpid, retcode, res = os.wait3(os.WNOHANG)
    except ChildProcessError:
        break
    sleep(5)
    if chpid == os.getpid():
        do_sth()
        break

想了下好像也搞复杂了。要不直接跑一个 sh -c "blah.sh &" 算了。

Posted

stdout

如何删除 C:\Windows\WinSxS 文件

天气热得心慌,看Win10不爽,决定删几个文件玩玩

  1. 首先你需要以 SYSTEM 用户启动 cmd.exe
    Win+R 敲入:
    "\\live.sysinternals.com@SSL\DavWWWRoot\tools\PsExec.exe" -i -s cmd.exe
    回车。确认当前身份敲入 whoami
  2. 夺权:takeown /F "C:\Windows\WinSxS\Backup" /A /R /D Y
  3. 授权:cacls "C:\Windows\WinSxS\Backup" /T /G SYSTEM:F /C
  4. 开删:rd /s /q "C:\Windows\WinSxS\Backup"

爽!

当然,你也可以让系统代替你清理:

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

很老的磁盘清理工具 cleanmgr.exe 也可以试试,删不要的程序 appwiz.cpl

老黄家的 DXCache 也十分让人不解。这破玩意还存2个地方:

  1. %LOCALAPPDATA%\NVIDIA\
  2. %APPDATA%\NVIDIA

老夫当年给 C: 装了个最慢的SSD,失策。去年(2023)那一波M.2降价潮一直等等结果错过了,拍断大腿追悔莫及。

Posted

stdout

从 Leanote 迁移到 Obsidian

差不多积累了10年的笔记,因为软件开发商跑路去做 2B 了,这玩意也没人维护了。换 Obsidian

Leanote 不支持导出 .md 但是它自己的格式就是 json,转换一下很简单。

  1. 把一个目录下的笔记批量导出为 Leanote 格式,比如导出到 /tmp/folder1
  2. 执行Python代码
    import json dir = '/tmp/folder1' for n in os.listdir(dir): if not n.endswith('.leanote'): continue with open(f"{dir}{n.replace('.leanote', '.md')}", "w") as f2, open(dir+n) as f1: f2.write(json.load(f1)['notes'][0]['content']) os.remove(dir+n)
  3. 你会发现该目录下的 .leanote 都变成了 .md。拖拽到 Obsidian 即可

希望对搜到这篇文章的人有所帮助。

Posted

stdout

挑简历看麻了,就业市场太卷了

最近帮挑选简历,二线城市中低端技术岗,需求是上午发的,邮箱中午就炸了。这投递量给搞麻了,这也太多了。

想到什么写什么

几个感悟

  1. 第一,学历歧视是真的。本来还想看看能不能相中一个优秀的拼搏者。可能因为岗位要求不高,个个都很匹配。大家的工作经历都很丰富,也就是雷同。唯一不同的就这学历了。所谓的985 211不是他们实力强,而是名声显赫的院校到处刷存在感。如果你第一学位不如你的经历强势,建议把教育信息这一栏放到最后。不要把你的名字和学历挂靠得那么紧密!
  2. 简历技巧:一定要写清楚 求职意向 。因为筛简历的很可能同时有多个岗位,你 hint 一下,会更容易帮助阅读者理解上下文。最讨厌看到文不对题的简历。
  3. 经验书写部分,真的不要写参与过XX项目,用XX技术,基于XX,做过XX系统了。给人看麻了,关键字都快看得不认识了。这里我心里有一个严重的偏见,想很快找到亮点,快出来一个亮点给我一个不拒掉的理由!有的时候真的很难。当然,如果你全是亮点,反而觉得你有点作,会不会有所隐瞒?会不会有啥问题和不足?
  4. 面试的时候讲项目,很多时候陷入「述职报告」模式,说我们团队做了XX,我们做了XX,请打住。这里公司考察的是你「个人」能力,不要把别人的功劳给take credit。之前面试有人吹了几十分钟某分布式系统杰作,最后一问,居然是他来之前就有的现成的。啊这。。。。。
  5. 还是刚才那个问题,简历里的的项目如果很大,建议写清楚哪些部分是自己的,否则会让人怀疑是不是把整个团队的工作都当自己的成果了。不太真实。
  6. 技术岗简历真的不要贴大头照了。。除非你的长相能帮助工作。否则很容易让大脑暂停理性思考,进入感性的评头论足模式。
  7. 写XX能力强,能吃苦这种笼统模糊的,只能定性不能定量的,还不如不写。因为没证据。能力强体现在什么地方?吃苦有多能吃?沟通能力好到什么地步?
  8. 无论正序还是倒序,把公司和项目经历放在一起。比如A公司:项目1项目2,B公司:项目3。这样。特别是分开2页的,看的时候需要把项目和公司跨页按时间JOIN才能对应。职位全称不重要,职位干啥的,扮演什么角色起到什么作用很重要
  9. 行间距留大段空白纯粹是浪费阅读人的视力和时间。排版不用过渡美化,但是字体一定要统一,段落起止位置一定要对齐、对齐、对齐
  10. 能不能约到面试时间,有可能跟是否能订到会议室有关。

我发现,写简历的思考模式往往是:我有哪些NB的地方能添油加醋让对方相信,NB的东西越多越好

而简历阅读者的思考模式是:哪些东西和我手上的活儿最匹配?

从这个角度来说,根据JD定制一套简历是十分、非常、及其有必要的。没有关系的经历一笔带过甚至不需要提。

可能很多人写简历,出发点是,广撒网,海投,这一点对于竞争激烈的岗位来说万万不可行。你以为简历是「只要够匹配,我就有机会」。实际上简历如果多了,它压根就不是一个是否命中 yes/no 的问题,而是一个 ranking 问题。

任何事只要变成「排位」,那就很残酷,很竞技了。你不仅要达标,而且要考虑如何比别人的简历「更加」匹配。

招聘系统的吐槽

厂里的简历系统很多都只是一个 姓名-岗位-投递时间 三元组列表。这玩意压根就不能拿来做 ranking,只能靠筛选者的「瞬时记忆」。任何ranking,底层都是一堆权重的叠加,我不得不做一个 Excel 把候选人的名字放进去,然后几个考察点人别打分,最后算上权重,择优录取。

爆量之后,简历系统最大的麻烦,居然是去重。因为不仅有自投,还有渠道方帮助筛选投递的,同一个人,多个版本来源不同的简历,会先后刷出来。很是麻烦。名字不能保证唯一,pdf解析又麻烦,估计很多人懒得做。2333

除了上面的「量化」筛选决策的想法,还有然后对很多候选人其实很惋惜,也想跟对方反馈一下。但是又很懒。我想招聘平台应该提供一个付费功能,请筛选者指点一下问题所在,至少让别人知道哪里碰壁了。

Posted

stderr

正在加速崩塌的是「中文」,不是互联网

看到一个说法《何加盐|中文互联网正在加速崩塌》,文章说

几乎所有在那个年代曾经红火过的中文网站,如网易、搜狐、校园BBS、西祠胡同、凯迪猫眼、天涯论坛、校内网(人人网)、新浪博客、百度贴吧、以及大量的个人网站等,在一定年份之前的信息都已经完全消失不见了,甚至大部分网站是所有年份的信息都消失了。唯一例外的是新浪网,还能找到一些十几年前的信息,但也是极少数的寥寥几条,其他99.9999%以上的内容,全都消失了。
为什么会出现这种情况呢?我猜想,主要原因可能是两个:一是经济原因。网站的存在,需要服务器、需要带宽、需要机房、需要人员运维……二是监管原因。

无独有偶,刷到一个帖子

2023-8-14 11:00梁博:Common Crawl中文数据提取出来了,做了去黄等处理,发现简体中文压缩数据只有6TB,解压后30TB左右,繁体压缩数据6TB。中文数据到2019年冲到一个最大值,之后就回落了,不知道2020年具体发生了什么事情。。中文网页数据还是有点凋零。是不是有些网站不维护了?

更大的问题是所谓科技巨头们自建高墙,把用户和内容视为自家资源,不支持互联网链接,公然且无耻地未被互联网开放互联的精神。你在 twitter 里面可以引用,加任意链接,信息自由流动。在微信、抖音、小红书里面试试?

twitter,或者说 𝕏,也开始建墙了。比如 nitter.net 就不允许使用了。walled garden 我觉得算一个因素但不是绝对因素,比如十几年前CCF和DRL这类封闭式论坛还是经常有人转帖出来,好的帖子转就完事了。依我看来,中文互联网的崩溃有两个因素,以及一个结果

1. 长截图的崛起。

HN有一个神评论,说hyper-text transfer protocol名不副实,信息传递都是通过screenshots transfer。这玩意配合手机那个破屏幕简直绝了。这不仅是国内的问题,国外ig (instagram,ins)、𝕏上的文字截图不要太多。这个东西一方面缺点就是无法根据屏幕重排版,看起来别扭,但是也有诸多好处:

  1. 保留了原始的文字和图片。富文本转帖一直是一个世纪难题,你去用js+html做一个rich text editor带附件上传的就知道多蛋痛了。还不如 .png 甚至 .jpg 一把梭
  2. 防止了文本传播中的添油加醋篡改。甚至图片都包浆了,都还是那个样。
  3. 最后,而已是最重要的一点,OCR技术不能 100% 准确率拦截长截图里的敏感词,很多截图 - 再截屏的二次传播使得md5, similarity-hash 都无法有效对抗热点事件的长截图传播。

总体来说,长截图是移动互联网的原生信息载体,文本不是。

2. 音视频的统治

回到正题,中文互联网 的确崩溃了,但是崩溃的是中「文」这一 文本 为主的形式。看看长短视频、直播网站的流量,即便墙和审核机制都挡不住国内外沙雕meme的传播。汉「语」互联网正在蓬勃发展。我举个例子。在过去带宽承载不起大流量音视频的年代,如果一个明星遇到绯闻需要澄清,那么肯定精心会写一篇媒体稿发出来,登报或者接受采访。最近的比如 汪峰承认与森林北恋情 ,女主Senlinbei0707选择直接拍douyin声明 。服化道、背景音乐、肢体语言、镜头这些,代替了纸和笔,输入法和文字段落组织

掌握和驯服文字成本极高,文字的消亡,语言和表演取而代之,是市井乡土阶级的崛起,搭建了一个跨越空间的超级熟人社会。但是唯一能跨越时间的可能只有高度信息浓缩的文字。然而,文字对于大多数普通人是无益的,文字的发明本来就是精英阶级用来和上天鬼神对话的工具,人与人之间的沟通,口语和动作就够了。

问题的关键:搜索引擎

“互联网正在加速崩塌”这一说法,很多例子就是XXX搜不到了。有没有可能,问题不出在资料,而是搜索工具?

搜索引擎在90、00年代是个稀罕货,那个时候SSD还没普及,信息检索是个高精尖的专业领域,但是随着 Lucene、Solr、ElasticSearch这一类免费的开源软件的普及,极大降低了自建搜索的门槛。

搜索不用集中了,内容网站都是自带搜索,还自带推荐系统,把ranking的问题也一起解决了。SEO和内容农场早就把公共、集中的搜索引擎干得生活不能自理了。ChatGPT这样的怪物出来之后,你还指望能搜到啥有效、真实的信息?

随着搜索引擎的没落,新的巨大缺口也在形成,比如刚才 森林北的视频,我们可以问以下几个问题:

  1. 她的口红色号是什么?
  2. 这片子的BGM是什么?
  3. 她自己列举了多少家公司或机构,她分别属于什么职位?

这些都是需要去端到端 infer 的。也是一个技术创业的点子和机会。以后存的信息都是向量,token会取代文本。

aftermath

感觉说了这么多,无非在纠结「文本」或者「文字」这一概念本身。但是我觉得钻这个牛角尖是非常有趣的。

文本实际上就是人脑活动的压缩,对信息的概括。这是transformer架构和语言模型对我的一个巨大启发。这个有损压缩,丢掉的是什么呢?情绪和环境上下文,也就是亲切感。如今的音视频把这一最古老的人类群居基石——聊天拉回现实,放入口袋里那一小块屏幕中,怪不得雷军、周鸿祎这样的老人都出来当网红了。人一辈子可以通过读文字了解很多知识,但是「邓巴数」这个东西,决定了你一辈子的注意力只有150人。

人们对互联网的期待显然可以分为两种:一种是客观的,工具性质的,严肃话题研究。这就是过去USENET和UGC的宝藏所在;另一种,人们是为了瞬间的快乐,长时间的归属感,去找认同的。这个时候,互联网提供了多彩的屁股位置选项。过去,没人知道互联网上对方是不是一条狗,现在,没人在乎你是不是沃尔玛购物袋,但是这并不妨碍网上武装直升机们为这事吵得不亦乐乎。

Posted

stderr

记录一个噩梦

今早凌晨,从噩梦中惊醒,然后就一直辗转反侧睡不着;可能因为年龄大的缘故,我经常能意识到我在做梦,所谓 lucid dream,遇到好玩需要继续推进情节,不会太追究是否真的清醒,反而会不自觉的去脑补当前梦里剧情的合理性,所以下面很多时候是插叙。

出场大概是和家人挤在一间熟悉的高层小区的老旧房间里,惊恐的看着窗外昏暗的天空。可能因为昨天晚上打了一会FPS,加上前几天看了《Dune II》这部电影,对杀戮环节很有代入感,所以不知不觉从那里搞到了一把步枪,装满了子弹。

这时窗外突然突然钻进来一个人影,我嘀咕到,现在已经 天下大乱,是末日劫生;眼前这个如同丧尸一般爬行的人,正在扑向我的奶奶,这个人看上去非常瘦弱,我操起武器一阵突突突,放倒了眼前这个威胁。

房间被弄乱,窗边墙角一片狼藉,地上还躺着一个狰狞的 ragdoll 需要得处理,重点来了,攻击性这么的强,这个身躯却比正常人小很多,十分的瘦弱,我甚至把他身子头和腿对折,就像一张纸一样。然后单手轻松将其拧起来,像往常一样把他带下楼,扔进了垃圾桶!一个鲜活的生命就这样从我眼前消失了!

这个突然出现情况,让我心脏扑通扑通的跳,直接给我干惊醒了。半睡半醒迷迷糊糊之间,我又开始怀疑为啥会有这样的 丧尸 从高层建筑的窗户突然出现。可能是最近看了太多五代十国和南北朝之类的历史惨剧视频,我便开始就地分析此情此景的合理性,结论是——裹挟。

在古代,遇到荒年,正常的社会秩序被打破,就连最基本的粮食生产,都会遭到莫名其妙的武力干扰或者霸占。自身难保之后,所以很多人干脆一不做二不休,从劳动者变身为掠夺者。但是人总是要吃饭,饭又不会自动从地里长出来,怎么办?抢。所以就回到了开头这样的,去抢我这类正常生活在小区里居住养家糊口的人。掠夺者相互攻伐,让瘦弱得不行,饿的没法再饿的人,去小区里抢食物。因为太虚无法暴力突破正门,只能从顶楼往下爬看到打开的窗户趁虚而入。被破坏的家庭如果不幸被击垮,无以为继,没了希望和出路,又只能加入这样的劫掠行为,所以规模越来越大,直到所有人都绝望,没了最基本的社会秩序和个人尊严,只有无处不在的压迫和窒息。

我又想起来废土世界各种影视作品,想到这里感觉挺合理的,就又睡着了。。。。。。

起床之后,这个噩梦吓得不轻。以前我觉得做清醒梦太好玩了,能意识到在做梦,可以随意发挥做一些危险而平时不敢做的事,比如跳崖,比如飞行,比如暴力。不用顾及白天的压抑。但是现在看来做清醒梦太可怕了,我个人而言,能识别出清醒梦,根本原理是认识到眼前的事物不合理之处,得出只有在梦里才能发生这唯一解释,然后就开始放飞自我。但是人脑是会玩的。你玩呀浪呀,它会给你编造一个无解的噩梦,让你无论怎么选择都是一条死路。在残酷的绝望中让你大脑死机醒过来。

现实是荒诞和不可理喻的。成年人的世界是建立在一些不经意的谎言之上,所谓共同想象体。很大程度上,这些偶然和不合理性,才是给了我们短暂的幸福和苟且;纯理性构建的世界,比如我这次的梦境,如果稍有差错,钢铁一样的因果齿轮只会把你一切梦想和希望碾碎。天地不仁,未来的真实世界或许是残酷的,所以珍惜当下吧。

Posted

stderr

信息噪音时代的悲哀

书接上回,小米汽车发布以后,和家人聊这个话题,突然发现一个问题,孩子对车这玩意很不了解,也不感兴趣。

我记得我小时候,对机械结构的东西很着迷,很喜欢抱着一本杂志看这种拆解图研究半天。

虽然也没能看出个门道,但是哪个男孩子能拒绝一张精美的跑车海报和原理图呢。那个年代我可能会对着一个跑车+美女的年历发呆,可能也就是那个时候对商品社会、工业设计产生了向往和憧憬。现在的孩子们对现实中车的品牌和了解可能也就局限于身边见过的和手机上刷到的。比如我家娃最羡慕的车,是有鹰翼门可以向上开的 Model X。但是对汽车工业和跑车的认识很少,不如我们小时候那么津津乐道。

想起来我们小时候信息很匮乏,大家都通过报刊、杂志了解外部世界,特别是从没见过的欧美的汽车、飞机反而观察得特别仔细。美军飞机有多少个型号、有几首航母都是放学和下课时间讨论的话题。

现在的孩子,比如我家,对电子产品控制得比较严格,电视也没有怎么允许看,除了书本还是书本。其实对外界了解的渠道反而比我们那个时候少得多。传统的报刊杂志有一点好,第一它是每周每月更新的,第二它的编辑是有一定文化水准和见过世面的,比如介绍汽车肯定会顺带介绍下汽车工业的历史、这个品牌的成长和背后的故事。现在的抖音、b站等充斥的都是调动情绪的短期热点话题,缺乏一个静下心来去琢磨和思考的「大画面」和「大背景」,以及人们是通过什么样的努力和付出,才能「创造」出来令人欣赏和惊叹的作品。比如小米汽车,网上甚至连一个把时间线串起来,讲讲设计过程那些不为人知的故事的报道都没有,唯一采访了设计师 李田原 的媒体,居然是车托之家

采访也是问了几个不痛不痒的问题,主持人全程玩手机都不舍得正面看设计师一眼。而且视频播放量极低,压根没人能刷到

我觉得信息时代的悲哀莫过于此了。什么样的东西都能找到,但是孩子很难从这样的环境里挖掘到那些启发、振奋人心、能畅享未来的东西。也没有人会整理这些东西。喧闹的视频一看就忘,我们再也没有一张画或者文字让人细细品味和反复琢磨的时光了。

Posted

stderr

雷军 小米汽车 发布会的后劲真大啊

是的,我也在2024-03-28观看了雷军的 小米汽车 发布会。现在想起来,真蛋痛啊,花了3个小时去看了一个我不会买的产品的发布会。

我不买的原因是已经有车了,本来也不想看,结果这发布会居然没啥困场和尿点,一不小心就完整看完了。想起来平时看个长剧都困难,发布会本身轿车的东西其实我早就知道个七七八八了,居然吸引我那么长时间注意力。真是一个神奇的现象。

这几天刷到一些视频,大象主观说车 的《小米汽车发布会迪粉观后感》,他本身是个(比亚)迪粉,他说:

看完,你就会觉得,卧槽,我,我 超 想 投 米 的!我超想当米 boy 的,我超想支持雷军的梦想的,就这种感觉。(战术取掉眼镜)

雷军发布会的魔力这几天越来越上头,后劲越来越大,各个 app 也敏锐察觉到了我的兴趣,也是铺天盖地推送,比如这个就有意思

雷军真的是写ppt的大神

  • 低级的ppt就是你们经常做的,念文案、数据,圈几个关键字当标题;
  • 中级的ppt,让普通人,甚至一个文盲都能听懂,你在说什么;
  • 高级的ppt,讲一个故事,讲一个深入人心的故事,在这个过程中,说你想要说的东西。

什么是讲故事?常见的故事大纲。介绍主角团——遇到小困难——找痛点(主角团被虐)——解决小困难——遇到更大的困难(主角团泄气)——全世界就主角团能解决这个问题——解决大困难——在解决困难过程中顺手谈个恋爱,或者解决家庭矛盾——最后,坏人必死,正义得到主张,升华主题。
你们可以看看雷军如何讲su7的防晒功能。
雷军:我们做过用户调研,很多特斯拉的车主表示,夏天会不会太晒,坐在车里面像烤箱。好,我们就把这个防晒作为核心点去突破。(遇到小问题)怎么突破?
第一点,天幕玻璃,我们做了双层镀银,隔绝了99.9%的紫外线,99.1%的红外线。我们在研究这个问题的时候发现更严重的是什么?是前风挡玻璃其实更晒。(遇到更大的困难)所以,很多开车的女生都会带冰袖。为什么呢?因为前车前风挡特别特别晒。(找和普通人之间的痛点)。所以,我们甚至做了三层镀银,然后,才达到这个紫外线隔绝99.5%,红外线97.6%.这是今天轿车里面唯一一款做三层镀银的。(全世界就主角团能解决这个问题)。还有,我们把四个车门都做了uvir的图层。这个图层紫外线隔绝率达到99.9%,如果换算成防晒霜的指数,差不多相当于SPF100+,或者PA4个加的 这个程度。所以,我们在防晒上下了很多功夫。后排,我们顺便做了隐私玻璃,省得大家再去贴个膜什么的。到底有多防晒呢?那个我们做一个夏天的简单的测试。(升华主题)38度暴晒1.5个小时,我们拿su7和model3对比。结果发现,su7的车内温度比model3低12摄氏度。

然后又刷到《腾势赵长江有点可爱(孙少军直播切片)

看完之后,我感觉赵长江这样的老总可能真的学不来雷军。

赵长江1986年出生于湖南浏阳,2009年从比亚迪汽车创始人王传福的母校——中南大学毕业后,他选择了追寻自己的“偶像”船夫哥,成为了一名比亚迪汽车区域销售经理。经过数年的摸爬滚打,有了天南地北多个地区的派遣和实战经验,由于年轻好学敢想敢干,赵长江在 2015 年被任命为比亚迪汽车京津地区营销总监。

正如视频里讲到的,他们对产品的「差异性」分析特别到位,然后对「怎么打」有不错的思路和执行力,但有个问题是,各项指标就是天经地义「固定」在那里的,由供应商和研发团队「呈递」出来的现成。所以接下里的问题就是如何根据「既有」的东西,打的过就吹,打不过就降价。

我分析,销售出身的人的演讲,和雷军这样的人最大的区别就在此。可能因为雷军是程序员出身,各项指标不是「天经地义」的,而是「生长」出来的。雷军

所以你们今天看到的,是我们完全推倒,2022年初全部重做的。那个时候又在疫情期间,压力巨大。在最难的一段时间里是,我跟设计团队每天早晨8点钟一个小时的视频会,每天啊,everyday,周六周日都是。所以每一个细节我都参与过

雷军为啥能把一个三层镀银的前挡讲得那么生动?因为他可能真的参与了这个设计和决策。娓娓道来侃侃而谈就像他自己的孩子一样。所以能讲出来让人听上去很自然、有吸引力的故事。整个发布会就不是那种背后想卖你东西那种拉扯和算计,而是跟小区里阿姨们聊自家娃一样充满了八卦的话题性。

写到这里,我一直都在尽量避免一个词——营销。很多人觉得这就是一场米系的闹剧和大型新能源 ev 发布买热榜事件,因为我觉得雷军这样的show不仅仅是想让你掏30w 让他这个亿万富翁变得更富有这么简单。正如小区里阿姨们聊娃不是为了把娃卖给你一样的道理。演讲和情绪感染可能是在未来 AI 时代里愈加重要的一种能力,而雷军为代表的「开发者」背景出身的人站在舞台上展现出那种独特的魅力,非常值得学习和品味。

Posted

stderr

梦见未来人类

昨天半夜做了一个奇怪的梦,梦见一个毛毛虫在墙角制作自己的关节,一根棍子,中间一个关节,可以对折,看似还是金属或者塑料材质,完工了把关节拧一下,就给自己装上了。。。太过于惊悚于是就醒了。

起床开始琢磨,可能是睡前刷B站,看到一个人才UP主 知名相声演员BBBBB大王 刷了她不少视频。她南京人东北上大学,父母来自四川,被催婚和生娃问题搞得很崩,在英国和韩国奔波,视频风格别具一格。关于韩国那种不婚、人口负增长、内卷的视频特别多,比较有趣,看了不少。总体意思说,韩国的女性有自己的经济地位后,就不结婚生娃了。不用看男人成见就自在活着多好。

我感觉BB说得相当有道理。但是人口没了之后,未来的人类怎么办呢?这可能是潜意识留下的一个疑问然后就睡着了。

越想越觉得,这个奇怪的梦说不定就是潜意识的答案。未来人类说不定很有可能走虫族路线。首先按照现在的剧本,人类对自己身体和外表越来越不满意,对美的追求,个性的改造越来越多。自然界谁的改造最彻底呢?虫蛹的蜕变。谁不想从一只毛毛虫变成有翅膀到处飞的蝴蝶呀。说不定未来能制造出合成材料,给每人安装一对翅膀?

但是成人动刀子改造背部结构,后加翅膀问题太多,说不定臂力不足大多数人人飞不起来,飞行也需要巨大的呼吸器官改造成本否则供能太弱,飞不太久。最好的办法就是从胚胎开始重新设计肢体结构。BB的有一部说自己XS的身材居然淘宝买S都觉得小了。明明她自己都只剩下bone了。说起来,成虫就直接没有脂肪,直接bone就暴露在外边吧?大家都一样的流线型bone,不存在身材歧视。

既然都可以自定义设计人体四肢了,干脆全部身体结构推倒重构吧。人全身上下全改造了,保留啥呢?保留一个头作为意识留下吧。

所以未来的人类可能是:女性就不要怀孕受累了,人工授精+人造子宫,生出来一个基础款的肉体。社会教育给与起步款的灵魂之后,这个「幼体」就得去搜集改造自己的营养和原材料,然后时机成熟之后,做一个「虫蛹」然后把自己封印起来重新改造。改造完之后就「变态」为高级形态 b( ̄▽ ̄)d 

这一套机制最大的问题就是,改造人不能自我复制。如果基因改造有突破,能自定义编辑,那么很多人可能会选预设一套3D打印机,人生下来就真的可以外观类似毛毛虫,到处爬行去自动拾取有机物、无机物矿物质,然后疯狂积累原材料到足够改造自己的身体之后,找一个安全的地方造蛹,然后打印身体。最后破蛹而出参与生殖都斗争和扩大领地,然后继续繁衍。。233333

胡思乱想的。如有冒犯,梦境全责!

Posted

stderr

快速入睡的技巧和原理

随着年龄的增长,加上工作和生活的恶习,睡眠越来越不好。很多时候躺在床上明明已经非常困了,但是大脑一不小心陷入胡思乱想,然后越想越睡不着。

很多人说把大脑放空就能睡着了,我也试过,放空是不可能的,大脑时时刻刻总得琢磨点什么;既然要琢磨点什么,那我们能否找一部分最容易睡着的来琢磨?这几年我倒琢磨出一个非常行之有效的方法用来入睡:

停止理性推演!强行带入感性的、放松、舒服的回忆体验占据大脑活动

具体展开,首先我这里对睡不着的「胡思乱想」作了一个二元分类:

  1. 一种是「理性」,逻辑推演:工作上的任务如何完成,生活中的矛盾如何化解,职业和家庭面对的困难,身边人群的压力,社会环境如何改进,民族国家的命运如何?电车会是能源革命吗?巴以冲突俄乌战争如何化解?等等,这类胡思乱想基本模式是「因果」:如果我做到A,那么B就会发生;如果我避免C,那么D这个糟糕的结果就能挽回。这类事,千万不要躺在床上想,否则越想越气。
  2. 另一种思绪我们称之为感性,温暖的阳光下微风吹过皮肤,恋人的手轻轻搂着你的腰,碧蓝的海平面上星星点点的船帆,你躺在椅子上无忧无虑的闭上眼睛享受这一切,只要把自己带入这种你亲身经历过的让你舒服,放松的体会中,假想你现在正在亲身经历这种愉快的事,那么你很快就能入睡。

或许,有人会说我命苦啊~没那么多享受可以回味。我之前也是这样,总觉得过得很匆匆没这么留下的美好回忆,有一次下班路过郊外,看到天边块落山的太阳,光线没那么刺眼,橙红色的余晖给白云描了个边,倒影在一处水塘里,没有了中午那么热的暴晒,微风刮过岸边那些稀稀拉拉的花朵和绿树。感受到美的瞬间迫使我立刻停下脚步,找个草坪坐下欣赏并且仔细观察,深怕错过任何一个细节,我当时决定把这个时刻深深记录在脑海里并反复加深印象,以备将来再也遇不到了。后来这个「场景」的确帮助我度过了很多个艰难的夜晚。

要训练这个区分能力没有想象那么难,但需要长期的刻意练习,大脑胡思乱想的时候很容易不自觉陷入「理性」部分,要想睡觉,就得避免。不要尝试去思考「why」。时刻对当前的大脑活动行为进行「鉴定」和归类。对事物分析、解释和总结类的事,躺着就不要去想;一旦躺下,就多回忆和假象一些「体会」和「感受」。需要额外注意,情感的大类里,有一种叫做「害怕」和「忧虑」的东西,也要特意避免,Zizek说过 “The only emotion that doesn't deceive is anxiety”,焦虑是惟一不骗人的情感,这句话的意思是,焦虑的本质是理性和归因分析,而不是情感,所以它很「真」而且很「重」。入睡这种事就不要当「真」啦,想点轻松愉快的骗骗自己做个美梦不好么。

对思绪的简单的二元分类并非我独创,Popper的第三世界《思考快与慢》里 I、II型系统都有类似的阐述。这个入睡方法是我无意中实践出来的,可能是早年无聊特别喜欢对思辨本身进行思辨,二分模式归类,睡不着是因为大脑老是琢磨事,我无聊得琢磨起琢磨本身(meta-琢磨?),于是逐渐琢磨出一个辅助入睡规律。

今天刚好看到另一个研究:德国蒂宾根大学发现,合理利用睡眠,可以提升一个人的决策能力

研究过程是,招募一群8到11岁的孩子,给他们看一组很吓人的照片,比如凶猛的动物之类。当时,几乎所有的孩子都被吓到了。之后,把这些孩子分成两组,第一组让他们回去睡一觉。第二组,让他们通宵玩游戏。
第二天,再给这些孩子看这些可怕的照片。结果发现,睡觉组的孩子,可以相对平静地观看照片。他们显得没那么害怕了。而通宵游戏组的孩子,被惊吓程度,跟前一天几乎没有区别。
研究人员认为,这就是睡眠的作用。睡眠就像一个过滤器。当我们面对一件事时,大脑的逻辑系统和情感系统,会同时运转。比如,看到一条毒蛇。你既会产生逻辑上的识别,记住这条蛇的基本特征。同时,你也会产生情感层面的反应,也就是害怕。
而睡眠的作用,就在于,过滤掉其中情感的部分,保留逻辑的部分。因此,睡觉的孩子再看到蛇时,他们就不会那么害怕,只会记得,这条蛇昨天见过。而通宵组的孩子,这个害怕的感觉还在,他们再看到蛇时,还会很害怕。
这也是为什么,很多人晚上一上秤,发现自己胖了,发誓第二天早上要起来跑步。但第二天却起不来。这就是因为,你立flag时的激情,被睡眠给过滤掉了。这也是为什么有人说,睡前千万不要立flag。
把这个结论再延伸一步,研究人员认为,假如你做一件事时,在很大程度上受到情绪干扰,那么你最好先去睡一会儿。这能帮助你更好地集中注意力。
比如,要不要创业?不创业,觉得有点虚度青春。创业,又有点患得患失。这就是受情绪干扰太多。按照这个研究,你就应该先去睡一觉。让你的情绪脑先冷却下来,睡醒之后,再用你的逻辑脑仔细想想。
其实,这个研究可以用一句话概括,不就是,一日之计在于晨吗?也就是,把需要动用逻辑思考,需要计算,需要做计划的事情,尽量放在一觉睡醒之后。

所以睡觉就睡觉,别想那么多。自然就能睡得着了。本文也用来回答V站提问《如何在睡觉的时候不胡思乱想》 。 转载请注明来自est的博客 https://blog.est.im/2024/stdout-05 ,如果觉得对你有用,给我留一句评论是再好不过的了 😊

Posted

stdout

执行一次 try ... catch 收费多少港币?

@oasisfeng 10:53 PM · Mar 6, 2024
无意中发现香港某银行前些日子从我的账户里扣了 150 港币「自动转账退票手续费」。
电询客服,对方和蔼地解释这是签约的自动扣款服务因余额不足转账失败,产生的手续费。我诧异的问,你们行在自动转账前,难道不确认余额的吗?
对方继续和蔼地解释,这是香港银行规则,跟你们内(乡)地(下)不同。

@navimoe 11:26 AM · Mar 7, 2024
感觉美国银行也是这样的。银行还有专门的 overdraft protection 服务可以 enroll(虽然也有一堆坑)。

@233vc 11:57 PM · Mar 7, 2024
以前确实是,疫情期间CFPB保护穷苦大众已经勒令银行不许收overdraft fee了,现在大银行基本都不收。

@navimoe 10:38 AM Mar 8, 2024
这个我倒不知道。不过搜了一圈只看到今年 1 月 CFPB 搞了一个 proposal 要给 overdraft fee 加 cap。
https://www.nytimes.com/2024/01/17/business/cfpb-bank-overdraft-fees-rule.html

@233vc 10:58 AM · Mar 8, 2024
大部分银行自愿停收是2022年的事
https://www.consumerfinance.gov/data-research/research-reports/vast-majority-of-nsf-fees-have-been-eliminated-saving-consumers-nearly-2-billion-annually/
CFPB在2023年底的调研结果,绝大多数银行都停收了,你说的2024新规定应该是针对顽固死硬派,predatory黑心银行

@oasisfeng 11:28 AM · Mar 8, 2024
Replying to @GWMs2100 and @greenbananayy
香港比较多的是参考英美的银行体系规则。
只可惜英美银行都懂得与时俱进,陆续停收了这种汇票时代沿袭下来,在计算机自动处理的今天明显不合理的收费。香港的银行还赖在这个「法统」上继续敲诈客户。

@MoonAtCloud 12:51 AM · Mar 7, 2024
当年的支票时代,从一个美国银行账户转一笔钱到另一个银行账户的过程相当复杂。不仅是到账时间三个工作日起跳,还要防止支票造假欺诈,空头账户欺诈,支票回滚欺诈。那时候完全没有现在的网络连接便利,各银行机构确认任何信息都非常缓慢。
成百上千个银行之间如果都建立支票验证功能,几乎是一件不可能的事。于是美国几大银行先建立了一个支票清算中心,有点类似中国的银联,所有资金清算都通过这个清算中心进行,很多中小银行也赶紧申请加入。
支票的可以理解为“支付指令票据”,它上面某个地方一定有写“见票即付”这几个字。这就是支票这张纸内含的信用和权威。
为了维护这个信用和权威,又避免欺诈,支票收票银行需要得到支票发出行的两个确认(一要确认票面为真,二要确认账上有钱)。于是清算中心就来完成这个任务,第一步,支票会有清算中心转寄到开票行,开票行回复支票的真假,如果是假的,清算中心回复收票行,你被骗了。
如果是真的,开票行会验证账户上有这笔钱,并且冻结了这笔钱不能它用。然后回复清算中心,我“保证支付”。收票行有了这个保证,会给存支票的人一个小小的额度。比如,你存入一张十万美元的支票,第三天起,你可以使用其中的两万五千),第十天起,你可以全额动用十万美元。说明第三天验真成功,第十天清算成功。
有些骗子除了假支票诈骗,还会搞一个支票回滚诈骗,就是抓住了验真和清算之间的小小空隙,让银行出现错误,所以美国刑法有专门条款防止这种“银行欺诈”。
至于银行为了保护自己,收取的账户透支Overdraft费,其实是为了避免善意透支的一种警告。
我自己就出现过一次这种“透支”。美国银行每个人可以有两个独立账户,一个叫做支票账户,用来开支票,这个利息几乎为零。另一个叫做储蓄账户。这两个账号各自有独立的账户号码。
我接受了一笔其它汇入我储蓄账户的钱,同时我开出了一张支票,结果,虽然储蓄账户有钱,但支票账户钱不够,结果被收票银行退票。
我马上把储蓄账户的钱转到支票账户,但时间来不及了。最后,亲自到开票行柜台解释,免除罚款,银行建议我开通了一个自动补偿协议,支票账户余额不足自动从储蓄账户补齐。
又跑到收票行解释为什么是空头支票。好在我这张支票是自己开给自己,被认定为同名转账。不存在欺诈行为,于是免除了罚款。
最后的操作是,没有再开个人支票,而是跑到开票行柜台开了一张银行本票(这种银行开出的本票信誉较高,在开票同时就冻结了要转出的资金,绝不存在空头支票的情况)。然后把这张支票送到收票行存入(收票行依然要通过清算中心验真这张票)。

原来一句 try ... except 要收费150元一次。。。在互联网苦苦思考如何挣钱,没想到在金融行业这么轻松

Posted

stdin

HN锐评农民:Being a peasant sucks

如果要用短短几句话描述为啥当农民很苦,还得用英语,今天看到了这段很有力量的文字:

Being a peasant sucks. It sucked then and it sucks now. Trapped, in an infernal machine designed to keep you anchored within 7 kilometers of the room in which you were born.
You live in the same crumbling leaking house that half your extended family has lived in for over a century, marry who you are told to marry, learn only what the local preacher tells you to learn-- and nothing else.

翻译一下:

当农民苦,过去苦,现在也苦。束缚在一个永无天日的体系里,从出生就锚定在方圆15里路的天地里;一家子和乱七八糟的表亲挤在同一个又破又漏的祖屋里几十年,在当地村小混个也不知道有什么用的毕业证,服从长辈的意愿找对象结婚——就这样过完了一辈子。

大山的引力,盐碱地的苦根。

Posted

stdin

1900年居然不是闰年?

看HN讨论 昨天2024-02-29有哪些闰年的bug,有一个吃惊了

>>> datetime.datetime.strptime('Feb 29', '%b %d')
ValueError: day is out of range for month

python的 datetime() 默认 year=1900。但是心里想 1900 不应该也是闰年吗?

查了下还真不是。囧。一年有 365.242374 天:

  • 近似看成 365.25 天就是4年一润;
  • 剩余的精度 365.25-365.242374 == 0.0076 天
  • 而且,0.0076 ✖️ 400 == 3.0504,也就是每400年要少润3天
  • 结论就是每100年不润,但是每400年又要润
  • 比如 1700, 1800, 1900, 2100, 2200, 2300, 2500, 2600 这些年都不是闰年。2000、2400是闰年。

真复杂!

Posted

stdout

小米14Ultra的「陶瓷」风波

zhihu给我推了个讨论 小米14Ultra 的龙晶陶瓷究竟是不是陶瓷? 各种讨论都吵上天了。。

有个评论挺神:

归璨 2024-02-29 10:10 你去超市找店员要袋盐,回家发现里面装的贝壳粉。你去找他,他说碳酸钙就是盐。说的没毛病,但是人有毛病

囿困不会困:
首先我要纠正一个观点,陶瓷玻璃和透明陶瓷不是一个东西。陶瓷玻璃是指通过往玻璃内掺入氧化锆氧化铝等晶体,以改变玻璃物理特性,这种做法,在玻璃内部是晶相跟玻璃相共存。而透明陶瓷是纯粹的多晶体。我个人对于这项技术的判断是小米用的陶瓷强化玻璃类似小米10ultra上出现过的工艺,不管是真机触感还是实际硬度都偏向陶瓷强化玻璃。有意思的是这次小米14ultra的后盖供应商没有看到我们非常熟悉的潮州三环而是由蓝思科技提供。潮州三环是目前全国最大的特种陶瓷供应商处于行业垄断地位,之前的小米mix华为p40Pro+,mate60rs以及小米13的陶瓷版本,都是由潮州三环提供的氧化锆陶瓷后盖。而说到蓝思科技就更有趣了,巧了,蓝思科技正好是苹果超瓷晶面板的供应商,对于苹果的超瓷晶玻璃,其实是有比较详细的技术分析的,明确确定属于陶瓷强化玻璃,在蓝思科技的财报中提到过他拥有独家专利的双晶体置换工艺。苹果的超瓷晶面板是蓝思科技在由美国康宁提供的硅铝酸盐玻璃的基础上,通过氧化锆和氧化铝晶体置换生产的,具体制备流程还处在保密阶段,目前论文并没有公开。对了,正巧,氧化锆陶瓷密度在5.9-6.2之间,硅铝酸盐玻璃只有3.2左右,差不多正好和发布会减重50%数据对上了。当然至于具体要给他下一个定性那肯定还是要搬到实验室上电镜,但是就算如此,我在国标中似乎也没有翻到相关的规定,我能查到的跟陶瓷有关的国标,不管是关于瓷砖的还是关于食品容器的,都没有提到对其要求的晶相占比。而以上对于陶瓷和玻璃的定性,事实上都只是在材料学领域对它的定义而已,并没有所谓的国家法律做支撑。如果有朋友翻到对玻璃制品和陶瓷制品明确划分的国标法规,那么也希望有人可以分享一下。

衫の青衫:
大概从玻璃到陶瓷有四种。普通玻璃,微晶玻璃,透明陶瓷,普通陶瓷。这四种材料之间分界还是比较明显的。
首先,普通玻璃,非晶体,易碎。
微晶玻璃,非晶原料经由高温高压受控晶化,最终产品里结晶相和玻璃相都有,比例不定。
透明陶瓷,高纯度结晶体经由高温高压过后生成的几乎没有微气孔的陶瓷
普通陶瓷,不用过多解释了。
客观来说,微晶玻璃确实可以算是一种陶瓷,玻璃陶瓷就是同一个东西的另外一个名字。材料学上一般认为有明显的晶体结构就可以算是陶瓷了。所以说包括苹果在内,超瓷晶面板,昆仑玻璃,龙晶玻璃这些所谓“玻璃”,确实可以说是陶瓷。实际上,超瓷晶面板的英文原名,就叫做“陶瓷前护板”。
但有两件事一样是很重要的。
第一,玻璃陶瓷和透明陶瓷有本质区别。虽然最终的产品都有很高比例的结晶相,但是玻璃陶瓷的结晶相是后天形成的,但是透明陶瓷的原料就是结晶体。这回很大程度上影响最终产品的性状。也是基于此,14u后盖的材质应该大概率就是玻璃陶瓷。如果有人说这是透明陶瓷,请纠正一下。
第二也是最重要的,消费者需要的从来都不是“陶瓷”两个字,而是传统意义上陶瓷带来的高硬度和温润的手感。这才是最本质的需求。很明显,龙晶陶瓷在这两个方面都是没有做到的。这样为了陶瓷而陶瓷的营销行为是非常下头而且不负责任的。
最后附加上小米龙晶陶瓷的一些数据:龙晶陶瓷的结晶相含量在90%以上,玻璃相的比例不超过10%,这部分玻璃相主要用于化学强化中的离子交换。

土遁丶酸化压裂之术
这是2020年的,苹果在今年iPhone 12全系列上都使用了“Ceramic Shield超瓷晶面板”,即屏幕表面的特殊玻璃,不再是以前的康宁大猩猩玻璃了,而是一种新的工艺技术,并在发布会上进行了着重介绍,这种新技术仍然来自康宁公司,得益于硬度比大多数金属还要高的纳米级瓷晶体的引入,使得iPhone 12系列手机的屏幕硬度大幅提升,配合平面圆角航空铝中框,整体的耐摔程度达到了上代产品的4倍,网友们直呼可以用来砸核桃了。

小驼233
苹果官网切成英文,苹果原文就叫Ceramic Shield,直译就是陶瓷面板,只不过中文翻译叫超瓷晶

所以吵来吵去,原来核心矛盾是中英互译导致的问题。Ceramic Shield 里的 Ceramic 一词可以有2层意思,一种是本意「陶瓷的」,另一层意思是「陶瓷风味的」、「陶瓷般的」。这个 -ic 形容词后缀就很传神。甚至你要较真,只要把一坨泥放到窑里烧了一轮加固了,都可以算「ceramic」。词典里是这么讲的:

made of clay and permanently hardened by heat

搞了半天,这不是材料学问题,而是 sematics 语义问题。哈哈哈。大厂的ppt造概念和kpi高手们,你们骗中层、骗高管、骗下属可以,别把自己骗了。搞得一地鸡毛还得法务和公关来给你们擦屁股。

Posted

stdin

穷人的supervisor OOM killer

厂里的docker上跑了个supervisord,用来把挂掉的进程拉起来。最近的问题不是进程挂掉,而是内存泄漏

跑着跑着内存爆了,然后宿主机OOM随机杀掉一个进程,结果占用内存最大的那个还活着,正常的进程反而gg,该漏的继续漏,然后反复OOM。想看下哪里漏了,--cap-add=SYS_PTRACE 也不给加,OOM策略也不给调,思来想去只能自己做防水补漏了。做起来也简单,supervisor再跑一套bash脚本即可:

while true; do
  p=`ps --no-headers  -xo rss,pid --sort=-rss | awk '{
    if($1 > 1000000){ print $2 }
  }'`
  kill $p 2>/dev/null || echo "everything fine";
  sleep 60;
done;

1000000 代表1G 内存。 sleep 60 表示 每60秒检查一次。

Posted

stdout

Windows 任务管理器(taskmgr.exe) 作者讲趣闻

下文出自 Windows 任务管理器(taskmgr.exe) 作者 Dave W Plummer

Windows 任务管理器(taskmgr.exe)趣闻:“保持简洁”

当你按下 Ctrl+Shift+Esc 时,winlogon 会启动 taskmgr.exe,并且它首先会寻找一个正在运行的进程实例,如果它通过了某些运行时检查,则激活该实例。这意味着激活任务管理器所需的时间,至少与读取exe文件的时间一样长,因此我想要保持它文件体积足够小。
故事是这样的,为了将整个东西保持在100KB以下(我记得它发布时是86KB),我无法负担得起链接CRT,但仍然想要使用C++。C++编译器假定CRT将被链接,以执行类似调用全局对象构造器之类的基本操作。因此,我最终做的是预先定义链接器需要从CRT中获取的部分,然后在运行时手动遍历链接器插入的用于初始化全局C ++对象表。基本上就算链接的时候,生成构造器列表,因为CRT不会调用它们,所以我手动调用它们。最终实现用上C++但不依赖运行时。
后来的我回顾起来为什么当时不直接链接到运行时dll,但我可能当时试图避免直接链接到除了user32gdi32之外的任何东西。我想,任何其他DLL都可能会挂掉。所以我甚至不链接到shell32,每次需要调用shell函数时我都手动进行 GetProcAddress,并且我在单独的线程上执行它,以防它返回超时。
我对这些事情花了不少心思,但至少在早期版本中,当内存紧张时,我认为这样做是值得的!如果你喜欢这些随机的历史趣闻,请关注我获取更多信息!

这位爷也有个 YouTube 频道 Dave's Garage 非常精彩!

Posted

stdin

LLM, RAG 和 Groq

最近跟朋友聊起LLM,RAG 究竟有没有用,能不能拿来做成产品或者服务。由于我对AI的了解也很肤浅,所以没太敢下结论。

但是今天突然想起一个趣事,相传 账单·大门 院士有一句名言「640KB ought to be enough for anybody」

这句话是不是他老人家说的不重要了,重要的是 IBM PC 的这个 640KB内存 的梗是绕不过去了。

后来发现 640KB 不够了怎么办?屎山上接着hack呗。于是发明了 EMM386 ,在CONFIG.SYS 里吟唱一句

DEVICE=C:\DOS\HIMEM.SYS

可以保平安。

如果人人都能用 Gemini 1.5 Pro 那个 1M context tokens, 那么 RAG 技术也没啥用了吧。猜想能用 RAG 卖钱的,估计跟定制 HIMEM.SYSEMM386.EXE 的市场一样。。。。。在 PC 普及的初期是一个神级,但是随着日本政府主导 VLSI产业+三星DRAM的崛起和价格战,一切都成了历史。


又想起另外一件事:Groq

也是啥都不懂,翻了些资料,发现比较有意思。CUDA vs Groq 可以看成DRAM vs SRAM。context window不足的问题:

疯石头 2024-02-23 02-21: Context window到100K后,即使batch=1,GPT-3级别的大模型,KV-cache占显存的容量已经比weight要大了。实际部署时batch size至少得64才能用上tensor core。4-bit quant可以降到1/4,GQA group=8时可以再降1/8,不过还是比weight要大。sliding window不可取,遗忘问题会完全丢掉long context的优势。

更详细的讲解:

https://kipp.ly/transformer-inference-arithmetic/#kv-cache

在zhihu上翻到一些资料说,LLM推理主要成本不是矩阵计算,而是 memory access。可惜帖子找不到了。

Posted

stderr

[ZZ]西周灭亡的根本原因是什么?

只想archive一下,原作者禁止转载,但是这样的好东西估计很容易消失。所以就无耻的复制粘贴了。

作者:于朝阳
签名:不读书,不求甚解。
发表:2024-02-21 16:09
IP属地:陕西

根本原因是——诸侯国向周天子要主权。
按照傅斯年的大东小东说,西周建立时,初封的齐国不是山东的齐国,而是河南南阳西的吕国。吕望那个吕。初封的鲁国也不是山东的鲁国,而是河南鲁山的鲁国。初封的燕国也不是北京那个燕国,而是河南的郾城县。这是周武王的初封。但后来平定三监之乱后,周王朝进一步向东夷区域深入,才将这些原本只是拱卫王畿的诸侯进一步远封到夷人区域。
比如山东的齐国原本是东夷的蒲姑国,鲁国原本是东夷的奄国,都是被周公和周成王相继平定的。但由于周初夷人区域仍然有大量的夷人,所以周初建立的更类似于一种殖民统治。即统治贵族是华夏族,而被统治的百姓是东夷。周初还保留着三代的夷夏东西格局,没有完成民族融合。
夏以水利技术立国,商以青铜技术立国,周以农耕技术立国。西周集三代之大成,技术水平与周边戎夷拉开了一定距离。所以周初在东夷的类殖民封建诸侯统治,总部对加盟店主要提供各种技术与管理支持。西周也靠这个庞大的朝贡贸易利益网来维系王朝的实力。所谓封建亲戚以屏藩周,本身就是剥夺了地方土著贵族做国君甚至国卿的权力,镇压压力不会小。诸侯只控制了城邦,但郊鄙广大的东夷人不一定诚服,所以诸侯国这些加盟店也非常仰赖西周王朝的支持,需要西周王朝的在军事、政治、文化和技术上的鼎力支持。封建诸侯就能恪守礼乐等级制度,服从西周王朝。
但到了西周后期,东部的夷夏融合已经基本完成。诸侯国也从一城之地域城邦,逐渐扩张发展为多城的广域国家,实力大大增强。这个时候,有一些诸侯国甚至论领土比西周王畿也不算小,距离周王畿又远,凭什么继续恪守礼乐制度、尊奉西周王朝?比如齐国就是这样的大国。
西周想要维系自己的核心竞争力,就要在朝贡贸易体系中,拥有各大国必须仰仗的资源优势。比如像今天,美国要想让全球都使用美元进行结算,拥有在全球贸易中靠金融抽成的世界货币地位,就需要垄断或控制油气、粮食、军火、芯片等全球贸易中绝对的硬通货、刚需品。西周也一样。在封建分权自治的时代,当齐国这些诸侯国已经拓张的和周王畿地盘或国力一样大、甚至超过西周时,西周想要维系王朝共主的分配主导地位,势必要垄断几样核心贸易资源。
西周的选择,主要是——马匹、铜料。马是战争大杀器,铜料则是生产、兵器都需要的核心金属资源。
西北是天然的马场,赢秦就是给周天子养马起家的。而对西戎诸部,周天子其实也是边打边拉,因为西戎诸部也控制着高原气候下条件最优良的草场,是畜马的绝佳地点。比如周文王能从商纣王手上被释放,主要靠骊戎之文马。好马不少都产于戎狄区域。周穆王西征,以及周共王灭西北的密须,恐怕都和西北博弈有关。比如密康公之所以被周共王所杀,说是因为密康公在泾水上游获得三个美女,其母劝说让其献给周天子他没献才被杀。但这些说法都是民间传下来的显得很无厘头。真实情况是密康公作为西北屏藩,抵挡犬戎,护卫王畿,却很可能与犬戎联姻,娶了犬戎三女,遭遇了周天子的警惕和报复。
铜料则距离西北比较远。现在考古发现的主要商周时期铜矿,主要是在东南的沿江平原一带。也就是湖北东南、江西北部、安徽中部的沿长江一带。《禹贡》也记载荆州、扬州两州“惟金三品”,其实就是说湖北到安徽一带多产铜料为贡品。所以西周打淮夷、南夷、东南夷,比如周昭王就死在了征讨东南的路上,而且是带着“俘金”被淹死的。“俘金”就是铜料,西周还在汉江到长江流域开辟随枣走廊,封建汉阳诸姬,让西周力量深入东南,就是为了获取对铜矿的控制权。当时从蓝田到武关到,走丹江、汉江、长江,通过江汉水路通道向西北运送铜料也不算太难。而且吴太伯搞不好也是为了铜矿资源才沿江东去,策应周朝。
另外,周文王时期,还控制了几大玉矿。商纣王要制造玉板居然还要去找西伯昌讨要,竟然还一度被拒绝。这些都是核心资源。
西周东征西讨,主要就是围绕铜料和马匹两大核心资源,以巩固自己在朝贡贸易体系中的主导权,维持天子之尊。有了这些,周王朝就是诸侯不敢轻易背叛的共主。
但越到后期,西周维系这些就越吃力。
周懿王时,犬戎攻入王畿,西周落了下风。对西北马匹资源的控制可能受损。周懿王的王后应为姜氏,与申国同姓,可能是申姜。申姜与齐姜同祖,像畿内周公与畿外鲁侯,畿内召公与畿外燕侯一样,互为援依。姜姓与姬周长期为姬姜同盟,是周朝长期的老牌外戚。但姜通羌,姜姓出自西羌。申侯自己也声称自己是骊戎的后裔,是戎人一支。申国被一些学者考证应在泾河上游,也临近犬戎,所以与犬戎关系不错,经常是周天子与犬戎之间的传话人、说和者,而且后来就是申国带着犬戎入周,西周才灭亡。申国与犬戎相邻,关系紧密,与密须的屏藩功能相近。
周懿王与申姜联姻,则亲犬戎。但犬戎入周,周懿王对犬戎的怀柔路线破产。周懿王死后,懿王的叔叔周孝王绕开宗法制度继位。不用多说,孝王一定集结了懿王的反对派。
孝王上台,就开始采取对犬戎强硬态度。犬戎有马匹资源,所以周王室笼络犬戎。孝王索性绕开犬戎,自己直接搞马场。孝王找到了赢氏大骆的次子来给自己养马,这就是秦非子。
大骆与申侯联姻,而且受封于西犬丘,应为犬戎或临近犬戎之地,开始应该与犬戎关系不错。但孝王让大骆部次子给自己养马,很可能是挖了申戎联盟的墙角。秦非子不是电视剧中的什么马奴,而是把申戎的养马技术直接带给周王,协助周王建立国营马场的超级技术人才,是周代的导弹之父,让周朝摆脱了对犬戎马匹资源的过度依赖,贡献很大,所以获封秦邑,成了大夫。秦非子之后就一直是周天子派,一直支持天子本人。
孝王死后,王位终于回到了懿王儿子这里。就是周夷王。周夷王因为自己当年没能正常继位,估计对公卿诸侯进行了一波清洗。周夷王烹杀姜姓齐哀公、改立齐国国君、率兵攻打犬戎并掠夺一千多多匹良马,是对姜戎的强硬派。这个时候,以齐哀公为代表的很多诸侯已经不守礼乐制度,不来朝贡周天子,所以他是试图用武力重振王威。其实齐姜与申姜互为内外援依,如果齐能通过申姜越过周天子,直接获取犬戎的马匹,与犬戎直接进行贸易,那对周天子的朝贡贸易与权威将是直接打击。所以周夷王对齐姜与犬戎直接进行弹压。不过即使如此,周夷王死的时候,也有不少诸侯为他祈祷,他应该对不少诸侯也着重拉拢。
然后就是被国人暴动的周厉王上台。国野制下的国人其实是国都内的贵族和强民,并非底层。
无论是发动对越发不听话的地方诸侯的讨伐,还是利用贸易和赏赐拉拢地方诸侯,都是要花钱的。周天子要维系对诸侯的控制,无论手段是文是武,都是要烧钱的。但如果在与犬戎和东南势力的拉锯之后,周王朝对西北马匹和对东南铜矿资源的垄断力下降,结局都是朝贡贸易利益受损。那么还要继续烧钱,就只能从王畿内的贵族和豪户身上刮钱。
周厉王就是不节制的榨国人钱包的代表。国人一看周天子搜刮自己的钱,也掀翻桌子,直接把周天子给赶跑了。然后是召公与共伯和等大臣暂代王政。
可是真没了天子,国人也发现一个现实——天子虽然搜刮他们的存量利益,但因为有王朝秩序,所以王畿的增量利益仍然源源不断。这把周天子的权威彻底给践踏了,没了天子,关中王畿和各大诸侯国又有什么本质区别?小诸侯们又何必非要给关中王畿上贡?天子没了,还是个穷。而且真成了无政府主义,没了君主、管理者和仲裁者,关中王畿内部的兼并、混战和僭越也开始频频发生。比如关中中南部的散国与夨国在王畿之内起了领土争端,两国在大战后私下划定土地。而且没了周天子,夨国此时竟然在关中公开僭越自称王号。而这两个畿内国家的地界,周初分封的微国、眉国、豆国等多国都没了,可见已经是经历了混战了。
而且关中无主,犬戎再次入侵,畿内也连年遭遇天灾,驱逐了君主并进入无政府主义的王畿其实更惨了。
王畿贵族一看,这没周朝也不行,没秩序了。于是周厉王死后,贵族重新接受了当初差点没被自己杀死的厉王太子周宣王为天子。主要周宣王不要想他老爹那样榨他们。
周宣王也是东征西讨,其实主要就是西北和东南两个方向。周宣王的名声虽好,其实只要他不折腾诸侯和国人,诸侯和国人给他鼓吹中兴是没啥问题的。但国人和诸侯支持他,主要还是要那个王朝秩序,就是王朝能从西北犬戎弄来马,从东南南夷弄来铜,然后把马和铜分给各诸侯,各地诸侯大家也凑点土特产给关中让关中的国人富裕、天子威严,皆大欢喜。这就是天子靠族群动员主导天下贸易分配权的朝贡贸易。
所以问题的关键还是打西北,打东南。宣王的战争和政治还是围绕怎么让申国听话,让犬戎听话,怎么让东南各国听话。宣王前期还行,到他老了就经常战败。千亩之战败给犬戎,南国之师全军覆没。宣王中兴在宣王晚年的挫败中结束了。
周幽王上台,要怎么重塑秩序呢?西北、东南都失控了,那再在关中榨一波凑钱呗。军事史的背后是政治史,政治史的背后则一直就是财政史。只能从国人身上搂钱了。但幽王继位后不久就遭遇了大地震,旱灾等一系列天灾打击,关中经济遭受重创。关中的钱他也榨不出来了。这一次“三川竭”级别的天灾,实际上已经让周王室控制天下秩序的杠杆彻底断裂了。但周幽王看不清楚自己的真正实力,又做出了错误决策。

宣王搞犬戎,必须要先安抚申姜势力。因为姜戎是联合的。而为了让申姜支持自己,幽王又把自己出身申姜的亲舅舅封到了南阳盆地,建立了南申。这是居中互相借力。
幽王路线则不。幽王要废了自己的正妻申后和申侯儿子的太子之位,这是要与申国翻脸。幽王要扶持褒姒上位,是与褒国、蜀国的西南一线联合。
从后来晋文公勤王看,东北一线的晋国也是站在幽王一边的。
幽王的亲弟弟郑桓公当时的郑国,当时扼守华山,掌握着豫西道,也是站在幽王一边的。
渭水上游的秦也站在幽王一边。
按说幽王已经联合了东北、正东、西南、正西的各方势力,准备围殴西北的申国和犬戎了...但幽王没想到的是,东南成了一处暗雷,爆了。
周王朝靠控制西北马匹和东南铜料来维系贸易主导地位,但如果西北和东南直接越过关中联合了呢?
宣王把舅舅封到南申,那么老申国,也就是西申,等于是在汉江流域也有了自己的据点和经营。申姜的南申国在南阳,而齐姜的齐国最初也在南阳一带。南申附近除了汉阳诸姬,也有姜姓吕国、姜姓许国等国。控制西北马匹的西申等于越过了周天子,直接进入了通往东南铜矿产区的江汉通道。
这个时候,控制随枣走廊的曾国,也就是史书中汉阳诸姬之首的随国,也站到了申国一边。
考古上看,岐山周原的出土青铜器比丰镐遗址要多很多。但周原青铜器主要是家族所有礼器全部临时埋在地下的批发式窖藏出土,镐京遗址出土的陶器却更多是经历破坏焚烧的残砖碎瓦。显然,镐京的沦陷是惨烈且突然的,而岐周反而给逃亡贵族留下了一定的时间准备,并非是突然遭遇入侵。但其实犬戎南下的邠(豳)州通道与岐山更近。
西周灭亡时,很可能不是西申先到达关中,而是南申先到达。
武关-蓝田道紧邻骊山,骊山就是骊戎的大本营。而申侯曾说自己是骊戎之后,显然骊戎也是站在犬戎与申国一边的。而南申率领的姜戎许国和姬姓曾国从武关道北上进入关中后,会经过骊山西麓,可能直接得到了骊戎的支持。周幽王最后是战死在骊山,显然战场是在镐京东边,应该是南申联军进入关中的方位。
而西申与犬戎从镐京西北进入关中后,周幽王是被前后包夹。这时,只有周幽王的亲弟郑桓公力战犬戎不敌战死。秦襄公赶来勤王也已经晚了。所以南申应该是打了周幽王一个措手不及。
所以西周的灭亡,实际上是控制了西北马匹资源的西申和控制了东南铜料资源输送通道的南申,两大申姜族群联合起来,趁关中地震天灾实力空虚之际,对周天子的一次联合围剿。
周幽王试图换太子,试图和控制了两大命脉资源的申姜势力掀桌子,搞强硬对抗,当然也是其本人风险管控水平低下的表现。不过,这次周幽王即使没有搞强硬对抗,恐怕面临的也是他儿子周平王的剧本——沦为傀儡。但如果周天子能扛过去“三川竭”的衰败阶段,不至于让关中王畿彻底被冲垮,沦为西戎地盘,日后周室复兴的可能性应该大不少,而且秦国能不能顺利进入关中走向历史舞台的前台也是问号。
周幽王死前,郑桓公其实就已经出镇成周洛阳,郑国也从华山迁徙至新郑。所以郑国实际上控制了洛阳盆地和成周王畿。这是后来郑国周郑交质、箭射天子的根源——郑氏原本实际占据成周。郑桓公当时比周幽王更明白关中经济糜烂程度严重,周室实力已经空心化。所以,虽然郑桓公勤王战死,因为他是天子亲党,但他已经为郑国捞取了足够的政治资本,并与关中王畿做了一定切割,这是郑国后来小霸的基础。
秦大夫也是天子党,但毕竟不在关中,所以赶来时周幽王已经身死。何况秦大夫地处姜、戎合围之地,独木难支,也无力扛起摇摇欲坠的周王室。
西申侯是当时还是太子的周平王的姥爷。南申侯也是西申侯的族人甚至兄弟。申姜势力大概以为仅靠两申一己之力就可以替代姬周王室,控制西北马匹资源与东南铜料资源。然而现实的发展也超出了申国的预料。
首先,关中王畿被冲垮之后,诸戎入华,局势彻底失控。申国没能重建起以申国为核心的新秩序,反而各路戎族都割据关中一方,根本不再鸟申国。比如,周王畿所在的关中中部,被号称商汤之后的西戎亳王占据,定都汤杜,也就是西安杜邑遗址。从兴平到三原到长安,都是这支戎人的地盘。他们是在秦国立国后半个多世纪才被秦国所驱逐。
周平王被鸠占鹊巢,申国又只有带头破坏,没有带头重建的能力,没办法,周平王就到了申国,被申侯立为天子。文字材料可能会带立场并讹传,但地缘政治规律不会骗人。其实如果看关中的主要关道图,就知道,至少在周幽王身死时,关中周围八大向关道,东北晋南道、正东崤函道、正西渭水道、西南散关道、西北千河道、偏南褒斜道,其实还都是天子派占据。只有偏北泾河道盘踞着西申、犬戎,东南武关道一路有申姜的族亲骊戎、南申等国。申国想要替代周王室对西北、东南战略资源的全方位把控,但至少要问问晋国、郑国、秦国、褒国等控扼其他方向的诸侯是否愿意认申戎这个卯。

事实上就是,各路诸侯都不认。周携王被拥立,就是这些诸侯打申侯的脸——凭什你申国挟天子管我们?就因为你有马、有铜?我们不会自己去搞吗?
这个时候,守着关中西部三道的今宝鸡的虢国,看到申姜打开了关中北部门户,引入诸戎入关,所以也不再坚守关中西部,而是迁往函谷关附近的今三门峡一带。虢国是西周的畿内诸侯,经常掌控周王室的重卿之位,影响力原本很大。周携王就是虢国所立,他是周幽王的弟弟,一直被控制在虢国。
这个时候的局势是,晋国、虢国、郑国等国,在关中的东缘支持周携王,等于从东面封锁了关中。西申没能成功整合关中,反而让关中秩序大乱,又被晋国、虢国、郑国合力封锁,成了在关中困兽之斗,被关门放狗。周平王也因周携王的存在而失去了挟天子以令诸侯的号召力。西申在西北的预期战略目标全盘崩溃,而东南楚国等外姓势力坐大,这让南申、曾国等国没能实现利用西北基本盘打通东南,整体替代姬周战略地位的如意算盘,南申也在乱局中失去了对东南的号召力和控制力。
西申姥爷,带着外孙周平王杵在西北,却连遍地戎族的关中都进不去。没了强大的关中周王室,戎人也没必要再拿申侯当根葱,从河西、华州开始的东部诸侯也认定了申姜和周平王是弑君夺位的逆贼,西申等于成了西北的华夏孤岛。这是申侯没有料到的结局。这个时候周平王大概还是个孩子。周携王也不会很大。
周平王和周携王二王并立的局面,持续了大约20年之久。局势发生了变化。
周携王实际上也是个傀儡,但一直被控制在虢国手中。可东迁后的虢国虽处要道,但夹在三门峡的狭长盆地中,无力扩张范围。反而是晋国拥有广袤的晋南盆地内的平原腹地,郑国拥有广袤的环嵩山平原腹地,它们做强速度远超虢国。
虢国相对而言,控制着周携王这个天子号令诸侯,在天子沦为傀儡,中枢权力真空的各地方诸侯急速扩张期,虢国的扩张速度和地盘实力却逐渐落后,这是很要命的。虢国于是成了晋国和郑国的眼中刺。
这个时候,关东的诸侯都在坐大,都在野蛮生长。因为没有天子的约束了,大鱼吃小鱼小鱼吃虾米的兼并大赛已经拉开帷幕。但各路诸侯,包括原本是幽王派的郑国和晋国,又觉得没了天子,无法凝聚华夏圈,毕竟关中王畿的悲剧殷鉴不远。要有华夷之分,就要有天子,但天子只能当个吉祥物,不能让天子掌权,这种新秩序,逐渐成为华夏诸侯共识。
虢国与周携王在关中东缘,其实还保留着杀回关中,天子重新坐大的可能性。这可能也是虢国与周携王一直打出的收复王畿的政治正确之旗帜。
诸侯们岂会再期盼天子归位来约束自己?没有了中枢的制约,地方势力的野蛮发展,尤其是诸侯强国独霸一方它不香吗?谁非要给自己请回个老大管着自己?
于是,周携王这支,虢国保不住了。晋文公杀死了周携王。
周平王那边,他在申国成了孤岛,戎人的族群信仰、政治传统以及统治合法性来源与华夏不同,根本不鸟他。原本对戎人有带路之恩的姥爷申侯可能也死了,新的申侯与他血缘更远,对诸戎的节制能力更差,周平王可能也觉得很不自在,背后隐隐发凉,没安全感。好在西北诸戎中还有一个孤岛——秦大夫。周平王大概是与秦襄公取得了联系,秦襄公从原本幽王派,此时转为了平王派,与平王在西北诸戎中互为援依。
但关中东部其实还没彻底沦为孤岛,芮国、梁国等国依附晋国,依然在关中东部控制着黄河,所以晋国大概也能与周平王取得联系。
晋国、郑国不满虢国和周携王,决定从幽王、携王派转向平王派,迎周平王到成周。成周原本应该是郑国控制,因为郑公原本出镇成周。但成周又名义上是周携王的王畿,周携王却被控制在虢国。所以虢国与郑国应该在成周归属上有一定的矛盾和摩擦。而晋国想要控制豫西三门峡通道,这是个贸易通道,利润丰厚,所以也一直觊觎虢国地盘。晋国和郑国大概已经准备瓜分虢国了。于是先从废周携王、迎立周平王入手,让虢国手中的天子牌失效。
周平王与晋国、郑国、秦国,应该是达成了一定的协议。那就是,郑国在成周的王城给周平王,周平王通过周郑交质,郑公为首席大臣,实际上由郑国控制。周平王当好吉祥物就可以。晋国则与秦国在法理上获得“邠、岐”“岐、丰”之地的所属权,秦大夫获封为诸侯,任由秦晋两国凭实力瓜分关中旧王畿。周平王代表周室在法理上彻底放弃西土,扫除晋国于汾渭平原内部向西扩张入法理王畿的障碍。当然,周平王最大的好处是,哪怕做个华夏吉祥物,也好过在西戎合围之下提心吊胆过活。何况,关中已经丢了20年,西戎已经站稳脚跟,凭他是根本收不回来的。这只是个空头支票。
几方一拍即合,平王东迁,晋国、郑国施压虢国,杀周携王。秦国负责护送周平王东迁,并与晋国接头,约定瓜分关中。三国共同做保,保证周平王的天子地位和人身安全。于是东周开启。
后来,晋国将关中的北洛河以东占据,秦国则杀入岐山,开始蚕食关中。这都是合情合法合理的为自己扩地盘了,而不是给周王室做嫁衣了,当然有动力。虢国在春秋最终被晋国吞并。而郑国一开始控制了周平王,成为了春秋首霸。不过周平王、周桓王爷孙两代,借晋国和郑国的制衡,对郑国有一定程度的反抗,要不周桓王也不会被射了一箭,周室最终反而把成周之地给坐实了,虽然仍然没有多大地盘实力,但毕竟是个不算寄人篱下的吉祥物。
纵观幽王身死到平王东迁这段历史,其实就是申姜反周,然后各路诸侯借此摆脱了共主的约束。但共主在关中陨身后诸戎入关的历史,又让各路诸侯明白作为族群,也不能没有共主的存在。这是新趋势下,以西部申姜为代表的诸侯向天子夺权导致统治秩序挫败后,以晋、郑,乃至更遥远的,始终坐山观虎斗,隔岸观火,打算鹬蚌相争渔翁得利的齐鲁宋等关东大国,向天子要权的演变全过程。
毕竟,西周的诸侯国,没有国家主权。而西周灭亡后,春秋的诸侯国,终于拥有了几乎完整的国家主权,虽然在法统上仍然尊奉周室名不符实的王权。西周灭亡的宏观意义,其实就是诸侯们趁你乱,不要你命,但要你放权。这个时候,各大加盟店比你总店的利润坐的都大,已经掌握了总店的全套技术和管理经验,虽然不想贸然换品牌,但真不想让总店再插手自己加盟店的事务和财务了。东周的建立,意味着,原本点状城邦诸侯发展为面状领土大国之后,从周王室那里要到了国家主权。
夏商周发展到领土疆域型国家的阶段,各强国都不比共主地盘小、实力弱,但既要共主存在又不能让共主管事,就像日本后来让天皇长期成为教宗那样,是一个中央集权的大一统国家出现之前,邦国社会最后阶段的历史大趋势。无奈就是周人政治中,巫鬼文化被剔除的太干净,天子执政的世俗化王权传统深入人心,所以周朝诸侯无法让天子单纯的沦为教宗,只能限制其地盘实力、限制其治权。一直到战国变法浪潮拉开帷幕,这种贵族封建社会试图摆脱联合型中枢的历史趋势,才被集权型中枢的诞生所中止。单一制直控型央地关系才重新整合了奔向松散乃至列国建立王权,让华夏差点走向实质性分裂的上古社会。

Posted

stdin

人的意识,预测器和 sora

摘自 Lisa Feldman Barrett 的 《Seven and a Half Lessons About the Brain 认识大脑》。她是美国艺术与科学院,还有加拿大皇家学会的双院士。

比如跑马拉松,在冲过终点的那一刻,觉得自己精疲力尽,恨不得站着都费劲。但是,有人曾经做过检测,发现即使在刚跑完马拉松,精疲力尽的人的身体里,依然储存着大量的能量。这也是,大脑根据预测做出的决定。这个预测就是,大脑在猜,万一你冲过马拉松终点之后,会不会遇到什么危险。比如终点线后面有只老虎等着你。因此,它必须得提前储备逃生的能量。这就是为什么说,大脑的本质是一个预测器官。而这些预测的目的,是为了帮我们更好地管理能量,确保生存。这个过程的专业术语叫,稳态应变。巴瑞特管它叫,管理身体预算。注意,是预算,也就是,基于预测,提前计算。
换句话说,过去我们都觉得大脑的工作顺序是,先接受外界的信号,根据信号产生感觉,根据感觉做出思考。但实际上,真实的顺序是,你先接受外界的信号,但是,在你对这些信号产生感觉之前,大脑先做出预测,然后,根据预测让你产生感觉。最简单的例子就是,望梅止渴。你明明没吃到它,却觉得酸,这就是大脑在猜,你看到之后可能要吃,吃完之后会觉得酸。它就提前对你释放了这个信号。当然,这个预测也经常不准。比如,你突然觉得,有一首歌,你明明很久没听,但它就是在你的脑子里挥之不去。再比如,你走进一个房间,突然感觉莫名地焦虑。这都是大脑在根据预测做出反应。至于它做的是什么预测,不好意思,它不会告诉你。这一切都是本能反应,你根本感觉不到过程。就像一加一等于二,计算过程太快,以至于你都意识不到自己计算过。
举个例子,你在特别渴的时候喝水,是不是感觉两口水下肚,立马就解渴了?这看起来好像很平常。但事实上,水需要20分钟,才能进入你的血液,它根本不可能在几秒内解渴。那么,你为什么感觉解渴?是大脑在意识到你喝水之后,做了一个预测,它觉得你既然喝了水,一会儿这些水就应该进入血液了。因此,它基于这个预测,提前给你的身体释放信号,让你觉得很解渴。
换句话说,要想改变自己,你的重点不是改变思考方式,而是改变大脑对某件事的预测。怎么改变?我们都知道,预测是以过去的经验为基础的。你要是找一个从来没吃过青梅的人,望梅不一定能止渴。因此,要想改变预测机制,关键是改变经验。比如,以前你心情不好,就喜欢吃薯条。但是,你可以换个方法,心情不好的时候,改去跑步。第一次跑的时候,你可能会觉得很煎熬。但多跑几次,大脑就会形成新的反射回路。等你心情再不好的时候,跑步反而会让你高兴。再比如,加班的时候,感觉压力很大,情绪低落。你可以把这个过程再延长一点,每回都奖励自己,加班之后,做一件自己喜欢的事,比如打游戏、看电影、吃烤串。多试几次,再加班的时候,你可能就会感觉到一点兴奋。换句话说,我们的身体里有很多进化赋予的设定。坏消息是,这些设定可能有漏洞,有缺陷,可能是错的。但好消息是,人是一个奇妙的物种,对于每一个不好的本能,你一定能够找到另一个与之相反的本能来克制它。有句话说得好,成大事者,反本能。拿什么对抗本能?答案是,激发另一个本能。

我觉得这个机制能解释很多生理和情绪的问题。准确的说是,人是活在预期里的。预期脆弱,人就脆弱;人觉得累,觉得困,不是身体不行了,而是脑子觉得预算不够,脑子觉得这点机会要不拉倒把,能折腾个der 。。。

然后今天 OpenAI 推出了 sora 这玩意对影视、创意行业震撼就不说了,我觉得它可能真的是 AGI 的开端了。按照上面的理论,意识和智力不是说一个世界戳一下,从一个模型得到一个响应;而应该是一个模型随时随地都在对眼睛、感官的输入进行建模和预测,然后随时预测下一秒、5秒、10秒会发生什么,然后根据是不是真实发生了进行模型的正向激励,或者负向feedback。

大脑把视觉为主的感官输入,在想象里预演并作出价值判断,权衡利弊。人从小就是这样磕磕绊绊的去理解世界,和世界互动,改变世界的。sora 如果能在1-2秒内对将来发生的事快速预演一遍并作出利害判断,那么这样摸爬滚打1年后绝逼就是通用人工智能,吊打大多数稀里糊涂长大的人。人类的很多行为就是画面的预演,根本不是文字。文字是高级逻辑思辨,其实平时用的不多。

btw sora 这名字不是「空」么。。。Sora Aoi——苍井そら!

Posted

stdin