This blog is rated 🔞, viewer discretion is advised

抗日

看完阅兵式直播,记录一些最近几年才了解到的抗战细节:

  • 1941年4月13日,苏联承认伪满洲国
  • 1945年2月08日,雅尔塔会议,罗斯福同意斯大林,保障大连港、中东铁路、南满铁路的利益,以及恢复俄罗斯海军在旅顺口的租赁
    Yalta Conference
    -1945年6月24日,苏联在莫斯科红场举行「伟大的卫国战争」胜利阅兵仪式,🇯🇵帝国陆军武官矢部忠太,帝国海军武官 臼井淑郎作为嘉宾受邀列席检阅红军。


- 1945年8月06日,美军用「Little Boy」核平广岛
- 1945年8月08日,苏联撕毁 《苏日中立条约》向🇯🇵宣战
- 1945年8月09日,美军用「Fat Man」核平长崎
- 1945年9月02日,🇯🇵在东京湾「USS Missouri」战列舰上向盟军投降
- 1955年5月26日,12万苏军的最后一批撤离旅顺、大连。至此大陆外国驻军清零。

东北就是东亚的波兰?

Posted

stdout

gitweets:单html实现独立微博,拿git历史当feed流发推

twitter争议不断持续多年,先是各种 cancel culture 闹得动静很大,被一龙马买了之后更甚,社区分裂到 mstdn nostr bsky支流,各种话题炒上天,在众多替代品里,2022年看到个最别具一格的:

拿 git 当微博使

  • 发推: git commit --allow-empty
  • 加关注: git remote add <alias> <their fork url>
  • 转发: git cherry-pick <their "tweet">

脑洞大开。而且git基于merkle tree的,p2p 历史不可篡改,有web3那味了。

当时就饶有兴趣,挖了个坑准备搓个web界面。但是限于涣散的注意力,以及对css这种抽象排版玩不转,一直拖沓没做好。

周末心血来潮,外带 AI 工具加持,进展神速。目前已经基本可用。

项目叫 gitweets ,意思是用 git 发 tweets,网址在 https://f.est.im/ 。二级域名 ffeedf.est 也就是 fest 表示。。。 盛会的意思。

feature list

  1. 把任意 github repo 渲染成微博
  2. 给任意 github repo 发推。其原理是,通过REST API新增一条 commit 。
  3. 发图!如果 commit message 以冒号结尾,而且恰好也在本次新增加了位于 static 下面的图片文件 那么会尝试去加载图片作为附件渲染
  4. 写 commit 基于 OAuth app 实现。浏览器记录 access_token 到 cookie,理论上可用 8个小时。过期重登
  5. 如果你的 commit 有是通过 -S 参数提交带签名 ,那么展示为蓝色表示verified

记录一些坑

  1. OAuth app vs Github App。前者是代客做事;后者是独立主体单独账号,类人行为,多用于 CI/CD
  2. OAuth app 的 scope 如果是 repo 可以读写你所有仓库代码,包括私有仓库!网上的很多基于 github 的第三方评论系统有这个隐患!
  3. 我这里用的是 public_repo,读写所有公开仓库。毕竟 github是个开源社区,拿公开git来当feed使,要安全一些。
  4. 更安全的办法是只能读写单个指定的repo。要实现API读写git,在github有下列几种方法:
    • REST API。可以用 fine grained PAT 读写一个repo
    • GraphQL API。
    • git 协议。走 github.com:22 端口。可以采用 deploy key 或者私人账号 ssh key
    • git-http。走 https://github.com:443
  5. Private Access Token (缩写 PAT) 可以完全控制个人或者团队账号,fine grained PAT 可以只控制指定的几个仓库
  6. deploy key默认只读,可以改成读写,一库一用,不能复用
  7. REST API 列举 commits 不能获得当前 commit 改了哪些文件。需要额外N+1每个commit再次查询详情。背后的原因估计是 git 内部 ref 和 blob 是严格区分的。甚至可能是分开存的数据库表
  8. 网站是跑在赛博菩萨 cloudflare worker 上的。这种所谓“serverless”平台很强大了。功能齐全没啥缺的。甚至可以发起 tcp 连接。
  9. 本来计划走 git-ssh 或者 git-http 协议,想了下js操作binary太复杂了,弄个 libgit2 之类的库估计很重。还是REST方便
  10. REST API 新增一个 empty commit 有多复杂? 1. 获得当前branch 的 sha 2. 获得该 sha 的 tree 3. 新增一个 sha+tree 的commit 4. 把 ref 指向第三步的 sha 。啊,就不能一步完成么。下次有机会看看GraphQL 能不能一次调用完成
  11. Github 的API 强制要求 User-Agent 。你可以乱写但是不能没有
  12. Github 虽然返回了 Access-Control-Allow-Origin: *,但是现代浏览器他妈的不认这个 * 。所以在浏览器只能匿名调用 GET ,如果 POSTPATCH 带了 credentials: "include" 直接拒绝。网站必须显式指定允许哪个具体的 origin
  13. cloudflare的 Response.redirect('/') 直接挂掉。原来是 3xx 跳转不允许相对路径。

why?

由于习惯,古法写web,一个html包含了 css js 。无二次加载,无第三方依赖库。除了不能写死的全部写死 🤣。无需build。

源码放在 https://github.com/est/gitweets/ 。该仓库的 commit 历史也作为feed展示在 https://f.est.im/

接下来准备用类似的思路实现网站评论系统,代替现在的 disqus ,虽然它是免费的,但是广告太多了。

可能有人要问:why ?闲的蛋痛?

我想,首先的确蛋痛,because we can。其次是不想在平台,处处受人限制。然后也是最重要的,self-host。所有数据资料都在一个repo打包带走,备份什么的很方便。比如以前wordpress受众多功能全,但是后来大家都 hexo 之类的静态blog了。

我心目中 gitweets 就是“静态”微博的一种。虽然它现在还是依赖 github API。等有空了可以试试生成纯静态页面。

ToDo

  1. 如何发视频 音频
  2. 如何转发
  3. 如何混合展示多个repo的feed。基于 pull request ?

欢迎评论或者提 issue

Posted

stdout

敬语和咒语

因为旅游瞎逛,才了解有这样一种东西:

字库塔又叫“惜字宫”、“敬字亭”、“惜字塔”、“焚字炉”等,它是收存和焚烧字纸的专用设施,沿自古人有“敬惜字纸”之风,“惜字得福”之说。而在我国传统文化中有一种独特习俗——“惜字如金”,“敬天惜字”。
于是,焚烧字纸就变得非常的郑重,不但有专门的礼仪,还建有专门的场所和设施,于是“字库塔”就应运而生,也就成了古人专门修建来焚烧字纸的小型建筑。据史料记载,字库塔始建于宋代,到元明清时已经相当普及了。
在古代,民间有种说法,糟蹋字纸会生疮害病、瞎眼睛,受到惩罚并祸及子孙等,因此字纸不可秽用,而应该“羽化成蝶”,而糟蹋字纸会得罪神灵,受到惩罚并祸及子孙。所有用过的字纸或废书,都要统一收集起来,放到一个地方集中焚化。

小时候,一直把语言和文字当成知识的载体,是语文和英语这样的学科,一种很客观的工具。没想到古人对待文字是如此的神圣,甚至达到需要单独做祭坛的程度。最近几年也一直有感触,语言和文字肯定以及必然在上古时期是有魔法的。

这个魔法怎么来的,比如人类最原始,最古老的语言词汇,肯定是 妈妈,爸爸。

一个孩子叫你一声父母,你身上就多出来一份悲怜和责任。据我观察,很多成年人和家庭,都是因为孩子,苦苦撑下去。没有软肋的中年人是无敌的。

所以我觉得,某种程度上,这个称谓是一种咒语。为什么是咒语?拿魔幻小说《哈利波特》为例,最入门的打架咒语就是 “除你武器” (Expelliarmus)。这是哈利的招牌咒语,作用是让对手手里的武器(通常是魔杖)飞出去,有时也会直接把人震退。如果你在网上或者现实中骂架,让对方直接破防的咒语是啥呢?

我是你爹!

对方要破除你这个咒语,那么多半会使出类似下面这样的咒语:

我今天非教训你这孙子不可

爹,孙子 这些人类最基础的代词,居然有如此调动情绪魔力。

又看到最近和长久以来一个被反复提起的话题:

媒体呼吁「同志」称呼重归主流

曾几何时,招呼人无须刻意措辞,一声“同志”便可,听者坦然、舒泰。后来,经济发展、文化多元,称呼也花样百出,“先生”“小姐”“老板”满天飞,开初尚觉新鲜,久之不免腻味,尤其是“小姐”这一称呼,常给人轻薄之感。如今,“小姐”似乎被“美女”取代,后者也逐渐失掉了赞美之意,变成了泛称。
称呼自有其潮流,随时代而动。譬如“同志”,在民风淳朴的年头,人们不论是在工作中,还是在生活里,都讲究人人平等,因而“同志”这种一视同仁的称呼也被长久使用,且“同志”也有志同道合之感。再如“师傅”,使用的时间也不短,于我个人而言倍觉亲切。我年轻时在机务段当过3年机车钳工学徒工,满师后又独立干了一年左右车辆修理活计。当时,早我几天入行的师兄师姐,我见了一律都得叫“师傅”。在技术为先的机车维修一线,学艺是头等大事,称呼关乎传道授业的礼仪,自然马虎不得。“师傅”之谓,是对有一技之长劳动者的尊称,也是对德厚者的敬重。几十年之后,虽然热火朝天的劳动场景已远去,但是这声“师傅”,我沿用至今。我想,只要对方形容不轻慢,精神不委琐,不论老少,皆可尊称一声“师傅”。

中年人应该对这个最有感触的。小时候以为所有人都叫 叔叔阿姨 就够了。直到有一天,你被别人叫了 叔叔阿姨。身份的转变带来一个困境:原来的叔叔和阿姨,你如何称呼?

能否避免让别人觉得太老?能否不区分职业、职级?能否不区分性别?

有没有一个通用敬语?想来想去,排除上面的“同志”,似乎只有 老师?

没有一个咒语拿来起手破冰,所以一旦脱离了乡土的熟人社会,陌生的人际交往在大城市就很难发生。

身份认同、权力关系、情感负担,这些都是心理学上焦虑和矛盾的根源

想起一个孙猴子那个经典笑话

“原来你就是那闹天宫的弼马温么”
行者道:“是你也认不得你老外公哩。你老外公乃大唐上国驾前御弟三藏法师之徒弟,姓孙,名悟空行者。若问老孙的手段,说出来,教你魂飞魄散,死在眼前。”那怪道:“我不曾会,你有甚么手段,说来我听。”行者笑道:“我儿子,你站稳著,仔细听之。我:

自小神通手段高,随风变化逞英豪。
养性修真熬日月,跳出轮回把命逃。
一点诚心曾访道,灵台山上采药苗。
那山有个老仙长,寿年十万八千高。
老孙拜他为师父,指我长生路一条。
他说身内有丹药,外边采取枉徒劳。
得传大品天仙诀,若无根本实难熬。
回光内照宁心坐,身中日月坎离交。
万事不思全寡欲,六根清净体坚牢。
返老还童容易得,超凡入圣路非遥。
三年无漏成仙体,不同俗辈受煎熬。
十洲三岛还游戏,海角天涯转一遭。
活该三百多馀岁,不得飞升上九霄。
下海降龙真宝贝,才有金箍棒一条。
花果山前为帅首,水帘洞里聚群妖。
玉皇大帝传宣诏,封我齐天极品高。
几番大闹灵霄殿,数次曾偷王母桃。
天兵十万来降我,层层密密布枪刀。
战退天王归上界,哪吒负痛领兵逃。
显圣真君能变化,老孙硬赌跌平交。
道祖观音同玉帝,南天门上看降妖。
却被老君助一阵,二郎擒我到天曹。
将身绑在降妖柱,即命神兵把首枭。
刀砍锤敲不得坏,又教雷打火来烧。
老孙其实有手段,全然不怕半分毫。
送在老君炉里炼,六丁神火慢煎熬。
日满开炉我跳出,手持铁棒绕天跑。
纵横到处无遮挡,三十三天闹一遭。
我佛如来施法力,五行山压老孙腰。
整整压该五百载,幸逢三藏出唐朝。
吾今皈正西方去,转上雷音见玉毫。
你去乾坤四海问一问,我是历代驰名第一妖。”

那怪闻言笑道:“你原来是那闹天宫的弼马温么?”

行者最恼的是人叫他弼马温,听见这一声,心中大怒

这一切也发生在职场。现在流行把同事叫 “同学”。我对此能接受,但是总感觉哪哪不对。

比如你求其他部门的人办事,你又没身份来安排别人,叫 “同学” 恐怕不行吧?的还是叫 “大佬”?你也不清楚对方职级,叫 “同事” 会不会太对等了?

对于我这种社交白痴,万分纠结。

职场混久了,感悟很多事儿其实是跟业务无关的。规章制度更多的都围绕一个核心:不信任成本。官场也一样,不要看什么AI 智慧城市 什么的,哪里有那么多 intelligence。全都是 diligence 不够。

为什么 diligence 不够?现代社会分工太细,你使唤不动别人。

很多事你是有心无力的。

或许,离开了原生家庭,这个世界没有魔法了。

Posted

stderr

原研哉《棍子和碗》

之前看到个 棍子和碗 的说法,印象很深,觉得很扯,总觉得哪里不对,但是没想明白。查了下居然是 原研哉 说的。也就是传说中200w给小米logo倒了个圆角的日本设计师。

日本设计家原研哉有一个说法,他说,这个世界上,我们用的所有东西只有两样,一个是碗,一个是棍子。什么意思?
碗,就是用它围合起来的那个内部空间。比如水缸、冰箱、液化气罐、汽车、房子、手机,本质上都是碗。它内部装了什么,决定它是什么。
而棍子呢?就是用它去作用于其他东西。比如弓箭、螺丝刀、枪炮、键盘,本质上都是棍子。它作用于什么,才决定它是什么。
其实,我们中国人在文化中也有类似的分类法。我们经常说一个词“器具”。所谓“器”,就是装东西的,就是原研哉说的“碗”;而“具”呢,就是作用于其他东西的,就是原研哉说的“棍子”。这两样东西合起来就是“器具”,也就是人类造出来的所有东西的统称了。
之所以提这个分类方法,是想说,我们观察任何东西,都有两个角度,一个是看它内部装的是什么,就是它作为一只“碗”的特质。还有一个,就是看它作用于什么,就是它作为一支“棍子”的特质。
比如说,我们了解一个人,当然可以把它看成一只碗,看他身体内部的状况,给他做体检,和他谈心,看他的所思所想,这是了解一个人的方法。但是我们也可以把他看成是一根棍子,在他周边的社会关系中进行访谈,看他干了什么,成就了谁,又祸害了谁,他在自己的社交网络里面填补了什么空白,他的每一个行动是在应对什么挑战。

刚中午小憩的时候,突然想通了,这个二元论分类太内涵,太隐晦了。我不妨帮日本人把这个分类说得更直白一些:

  • 棍子就是 JJ
  • 碗就是 子宫

Posted

stdin

A single Python function for both async/sync

Scenario: I often need to write Python functions like:

  1. take some parameters and format them
  2. call an API with the formatted parameters
  3. parse the result and return chosen values

There's a huge problem in step #2.

In today's Python world, troubles arise because async/await are "infectious", In practice this function is splitted - like in Python stdlib, where a vanilla method and its async counterpart amethod often come in pairs. Package authors scramble to provide sync transport and another async transport. I discovered this ugly fact while reading the source code ofredis-py, httpx and elasticsearch-py. Duplicate and lookalike code was always written twice. All it takes is some random async IOs in one place and your code would be forced to change forever.

Is there a way to write the function in one place, but callable both with async and without?

I pondered this question for ages, and today I stumbled upon something interesting:


  def s1():
    return asyncio.sleep(1)

  async def s2():
    return await async.sleep(1)

There's virtually no difference when calling await s1() and await s2()

I vaguely remembered how Python’s coroutines were designed, and after some tinkering, I came up with this snippet:


import asyncio, types, functools

def aa(f):
    """
    make a function both awaitable and sync
    idk how to property name this. anti-asyncio (aa) maybe?
    """
    @functools.wraps(f)
    def wrapper(func, *args, **kwargs):
        if asyncio.iscoroutinefunction(func):
            return types.coroutine(f)(func, *args, **kwargs)
        else:
            async def afunc(*a, **kw):
                return func(*a, **kw)
            g = types.coroutine(f)(afunc, *args, **kwargs)
            try:
                while True: next(g)
            except StopIteration as ex:
                return ex.value
    return wrapper


@aa
def my_func(func, *args, **kwargs):
    # prepare args, kwargs here
    # add a prefix `yield from` everywhere, for either sync/async
    result = yield from func(*args, **kwargs)
    # handle the result here
    return result


import httpx

# async
async def main():
    # the same as `await httpx.AsyncClient(timeout=3).get('https://est.im')`
    print(await my_func(httpx.AsyncClient(timeout=3).get, 'https://est.im/'))
asyncio.run(main())


# sync
print(my_func(httpx.get, 'https://est.im'))
# works the same as httpx.get('https://est.im')

The above shows a single function called my_func, dependency injection of an HTTP get call of either sync/async, allows for customizable pre- and post-processing logic, and returns the result with clean syntax.

The only mental tax: inside my_func, you have to replace all await keyword with `yield from.

Update 2025-05-16: The only mental tax: add a yield from prefix for every funccalls for IO or API, either sync or async.

It solves all problems for my scenario and I’ve yet to find a simpler solution. If you have a good name for the @aa decorator please comment!

A sidenote, I am not sure if this method affects async schedulers and blocks something maybe? Like the while True might be a new kind of GIL. Also i haven't looked at problems with contextvars.

Posted

stdout

听 彭罗斯 吹了90分钟波函数的坍塌

https://www.youtube.com/watch?v=sGm505TFMbU

Roger Penrose: I don't believe it is consciousness that collapses the wave function, instead it's the collapse of the wave functions that produces consciousness

这句话很美妙啊。一下子把唯物和唯心给联系起来了。

我一直觉得,人的意识,就是因果律的推演。这个推演明显是一个离散的,有清晰步骤的,quantized 的和决定论的。

人的潜意识和直觉可能是概率的。

看完这个 90分钟的访谈,我大概明白为啥 量子力学 和 神棍 经常联系在一起了。一切都源于这个薛定谔方程 和 “观察者”

观察者不是一个真实存在的定义。你甚至无法严格定义 观察。欧美神棍一般喜欢往三位一体,意识,灵性上面靠。感觉物理世界是混沌的,一下子有了光,状态就坍缩了。哈哈哈。

国内的话 遇事不决,量子力学。民科重灾区。甚至还有量子佛学这种离谱的。

他还写了一本书,Fashion , Faith and Fantacy,fashion就是弦论,faith 就是量子力学。fantacy是宇宙膨胀理论。哈!

Posted

stdin

光 的本质是什么?

来自 Curt Jaimungal

Guy:什么是光?
Chap:嗯,光是使物体可见的东西……
Bloke:其实,光也可以是不可见光谱的一部分,比如紫外线和红外线……
Lass:其实,光是光子,是电磁场中的一种波动……
Dude:其实,光子是电磁场中量子化的波动……
Fellow:其实,光子是与狄拉克方程的 U(1) 对称性相关的规范玻色子……
Guy:其实,光子是与狄拉克方程的局域 U(1) 对称性相关联的规范玻色子……
Fellow:其实,光子场来源于 SU(2)ʟ × U(1)ʏ 的一个子群——该子群保持希格斯真空态不变……
Chap:其实,光子一种导数……
Guy:其实,光子是为了使导数具有规范不变性而进行的修改,和刚才那位说的一样……
Lass:其实,光子是庞加莱群的一个表示……
Dude:其实,光子是庞加莱群的一个不可约表示……
Fellow:其实,光子是庞加莱群不可约表示的一个基底元素……
Guy:其实,光子是一个四维时空中无质量、自旋为 1 的粒子……
Chap:其实,庞加莱群本来就在四维时空中,所以这是多余的细节……
Bloke:其实,庞加莱群可以推广为任意维度 d 下的 ISO(1,d−1) 群……
Lass:其实,d 必须大于 2,否则系统会出现简并结构……
Dude:你才简并呢……哦不好意思……我是说,其实,光子是从超图的底层更新规则中涌现出来的一种现象……
Fellow:其实,光子是统一规范势 ϖ 中与结构群 Spin(4) 子群相关的一个特定分量,而这些规范分量是通过观测嵌入被拉回到我们 4D 时空中的……
Guy:其实,我们原本是在谈“光“这个词,它源自古英语 lēoht,意思是“亮度“……
Chap:其实,它是原始日耳曼语 leuhtam,也表示亮度——所以你这次总算说对一件事……
Dude:其实,词源更早是原始印欧语 leuk-,意为“光、亮“,同源词有拉丁语 lux、希腊语 leukos(意为“明亮、白“)……
Lass:其实,还可以追溯到梵语 rochis,意思也是“亮度“……
Dude:其实,你不该说“其实“,你破坏了节奏……
Fellow:其实,词源顺序是:古英语 → 拉丁语 → 原始日耳曼语 → 希腊语 → 梵语 → 原始印欧语……
Guy:其实,光是黑暗的缺失,而黑暗的定义是邪恶……
Chap:其实,“邪恶“可以在扭量空间中建模为全纯对象……
Bloke:其实,我们回到光子的问题,它在弦论中是 H¹(T, O(−2)) 的一个上同调类,其中 T 是扭量空间,O(−2) 是一个全纯线丛,用于编码自旋为 1 的无质量场的螺旋度……
Lass:其实,光子是共形场论中的边界激发……
Dude:其实,光子是电子-正电子对自纠缠形成的涡旋结构,可能包含 T4G 框架下的虫洞子结构……
Bloke:其实,光子是由弦局域场表示的,属于庞加莱群下零质量、无限自旋的表示……
Fellow:其实,光子是一个沿零测地线传播的无质量粒子……
Guy:其实,引力子和其他假设粒子也可以是无质量的,并沿零测地线传播,所以……
Chap:其实,光子是光中微子的超对称伴粒子……
Bloke:其实,在弦论中,光子是开放弦的第一个激发态,通常出现在 Neveu–Schwarz 扇区……
Lass:其实,你们已经这样说了五十年……
Dude:其实,我没说五十年,不然我一直在呼气早就不能呼吸了……
Fellow:其实,你太咬文嚼字了……
Dude:其实,我只是在追求表达的精确性……
Chap:其实,你表现出对“其实”准确性的过度执着,并在越来越细微的细节上纠缠,以至于忽视了整体,这正是咬文嚼字的体现……
Bloke:其实,你的指责本身是主观观点,而不是“其实”判断……
Dude:好吧,这有点失控了。
Chap:其实没有,一切都在掌控之中。
Fellow:你是个傻子。
Guy:而你没有动用你整个大脑。
Fellow:这没关系,因为人类本来也只使用了 10% 的大脑……
Bloke:……
(众人互望)
(沉默十秒)
Fellow:……
Guy:(看着 Dude)还是别说这个了——
Dude:其实……

Curt Jaimungal 的视频看着真过瘾。我是从他 youtube 频道 Theories of Everything 最近一期喷真理元素 (Veritasium) 了解这个人物的。北美何教授。

Posted

stdin

Windows 自动设置开机锁屏壁纸 V3

之前也写过,Windows下自动设置墙纸 V1V2,今天发现两种方法都失效了。

于是一气之下搞了个 Bing Image of the Day 版本的。

保存为 change_wallpaper.bat 双击执行。加入自启动或者定时触发。

@if (@X)==(@Y) @end /* set Win10 wallpaper to Bing Image of The Day. By est.im
@echo off
cscript //Nologo //U //E:JScript "%~F0"
exit /b %errorlevel%
*/

function http_get(url){
  var xhr = new ActiveXObject("MSXML2.XMLHTTP")
  xhr.open("GET", url, false)
  xhr.setRequestHeader("Accept-Encoding", "identity")
  xhr.send()
  return xhr
}

var rss_req = http_get('https://www.bing.com/HPImageArchive.aspx?format=rss&idx=0&n=1&mkt=en-US')
// WScript.Echo(rss_req.getAllResponseHeaders())
var img_url = 'https://www.bing.com' + rss_req.responseXML.selectSingleNode("//rss/channel/item/link").text
WScript.echo(img_url)
var fso = new ActiveXObject("Scripting.FileSystemObject")  // shit cant handle binary data
var stream = new ActiveXObject("ADODB.Stream")
var img_path = fso.GetSpecialFolder(2)+"\\bing_iotd.jpg"
WScript.echo(img_path)
stream.Open()
stream.Type = 1
var img_req = http_get(img_url)
stream.Write(img_req.responseBody)
stream.SaveToFile(img_path, 2)
stream.Close()

var WshShell = new ActiveXObject("WScript.Shell")  
WshShell.RegWrite("HKEY_CURRENT_USER\\Control Panel\\Desktop\\Wallpaper", img_path, "REG_SZ")
WshShell.Run("RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters")

其中 format=rss 可以改成 =js 或者 =xml 本来想解析 json 但是发现老的 IE6 引擎不能支持双引号这种JSON,而且只能用 eval() 就放弃了。还好有 xpath 还挺方便。

要用 .bat 套一层是因为 win10 貌似禁止 .js 或者 .vbs 双击执行了。病毒木马太多了。这种一份源码同时被两种语言解析还有点技巧可以参考下。

很久没写 .jscript 了用了 ChatGPT 这个 vibe coding 真爽。

Posted

stdout

语言,逆差

又睡不着,琢磨一段话

多戲超人 @DoubleFakeCute: 文字很容易传播仇恨,但很难传递感动。
@yetone: 是的,换句话说文字传播感动是需要功底的,但是传播仇恨不用上完九年义务教育就可以

这句话背后揭示了一个道理:表达愤怒、抱怨、不满,似乎是语言最原始、最本能的用途。人类还未掌握完整的语法与修辞,就已学会了哭泣。

新生婴儿落地的第一声啼哭,正是一种天赋的语言——一种对环境提出抗议的表达。哲学家维特根斯坦说过:“语言的边界就是世界的边界。”在生命伊始,我们的语言边界,即是对苦痛的感知;我们最早学会的,是如何说“我不喜欢”。

相较之下,笑,是后天习得的,是在社会化过程中逐渐学会的回应。但当笑成为一种礼貌、成为一种职场的面具,它也就褪去了它的真实。于是我们在笑中疏离,在沉默中彼此冷漠,脸上浮现的,是长久训练出的 poker face,那张扑克脸仿佛是一种文明社会强加的伪装。

最近 realDonaldTrump 把🇨🇳进口关税从10%,20%,54%,104% 一路干到154%。 仿佛数字本身也在喊叫。一个长期生活在中国的美国人 王渊源John 打趣地说 trump 的支持者之所以对“涨关税”拍手叫好,是因为“trade deficit”(贸易逆差)这个词在英语里带有天然的负面含义——“deficit”意味着赤字、亏空,仿佛国家正在负债累累。而在中文语境中,“逆差”这个词更像是一种经济现象,而非道德沦丧,无需过度反应。

这让我想起另一个语言误会的悲剧——美国的“war on drugs”(禁毒战争)之所以久攻不下,很大程度上,也可能是败在语言上。在英语中,“drug”一词含义,既可以指药品(medicine),也可以指毒品(narcotics)。这导致在大众语感中,毒品并没有一种“邪恶之物”的鲜明面孔。相比之下,中文中“毒品”与“药品”泾渭分明,一个是治病,一个是害命,“吸毒”这个词本身就带着罪与恶的意味。而英文中的“drug overdose”,只不过是一场“药物使用过度”的中性描述,仿佛只是剂量出了问题,而非价值观的崩塌。

语言之毒,在于其无形;它不像刀剑那样可见、可防,而是悄无声息地改变我们的感知。孔子曾说:“巧言令色,鲜矣仁。”。庄子又言:“言者所以在意,得意而忘言。”。语言虽巧,往往意在蛊惑;修辞的闪光点,也可能是陷阱的倒影。语言的本质是媒介,而非终点。

古代巫师、祭司、先知,其实都是语言的炼金术士。他们并非真正能预见未来,而是能以一字一句为符咒,将人的心智引向他们想要的方向。如《盗梦空间》中,那个悠悠旋转的陀螺,不断将人困于梦与醒之间,真假难辨。

语言即现实的建构者,它能唤醒你,也能奴役你。它是文明的基石,也是误解的温床。传播仇恨,只需几句粗陋的标语;而传递感动,却如雕刻光影,需要时间、技艺与赤诚。


15:12 根据ChatGPT润色了文章。太他妈吊了。

Posted

stderr

Su7🔥,智驾,假风口

车祸和智驾

北国春深,乍暖还寒。3月29日夜,三位大四女学生开着小米Su7新能源轿车,在安徽高速上着火出事,不幸香消玉殒。

恰好米车上市刚一年,卖得十分火爆。因为新能源起火+死人,31日,1日舆论爆炸。作为全程吃瓜群众,觉得有必要写一些我的感知。

还记得,首先乱七八糟群里看到各种截图和聊录,抖音哭惨。有家属(事后被证实是女主男友)痛陈了米车 刹车,“自”燃,车机死机,智驾,AEB等诸多技术问题,以及封号删帖等不公正掩盖行为。

随着消息丰富和媒体报道,事实的大概的轮廓逐渐清晰:

  1. 车是Su7标准版,电池应该是弗迪,女主家里出资买的
  2. 车主归女主男友所有,因女主还未毕业,拿不到车贷
  3. 女主和两位同学去外地考试,给女主母亲说的坐高铁
  4. 女主“借车”出行,夜里出车祸,起火燃烧,前排两人遇难,后排被破窗拉出,遭遇不测。

本能的带入思考一下,车烧人陨,算是大事了。如果是旧能源车,起火怪车子质量,撞车怪驾驶。但是着是新能源,就得更加细分:

  • 起火原因,普遍观念,重点看用的什么电池。三元锂肯定不如铁锂。但是出事的恰好是标准版,多半是铁锂。我觉得,PACK设计,是否CTB和电芯倒置也很重要。
  • 司机用了智驾,小米的公告说提前2秒退出,都不用猜肯定是这个结果
  • 因为事故当时高速在修路,有各种桩桶水马,那么有没有超速,避险,甚至路政设施不到位的问题?
  • 最后才轮到司机自身问题

截止现在 20250402 00:04,矛头普遍指向米车智驾NOA太烂。各种短视频、自媒体、矩阵号扮演不懂就问,把民意引导扩大到米车质量问题,营销问题,雷军人品问题了。

我想说:啊?智驾难道还有不烂的?

作为十多年驾龄的老司机,如果我在高速遇到事,比如爆胎,首相想的就是怎么从路政拿到赔偿,而不是怀疑轮胎或者车辆本身有啥猫腻;回到前面,发现一个重大差别:车是借的。民间有说法,车和女人不外借。出事的车上还有其他两位女性,如果有赔偿问题,车主肯定首当其冲。车主不会选择漫长的从路政那里维权,找最快引爆流量的方向——从车企入手。

于是问题的矛盾集中在智驾爆发了。

智驾这个关乎生命安危的议题。我对它的接受设定为:

  1. 可以不用,但是最好有
  2. 如果某一次生效,把车从事故边缘拉回来一次,就算值了。

但显然大众对智驾有更高的看法和期待,幻想能完全保驾护航。

设想一下女性单独出远门长途,夜里开车,加上出事的现场在打围修路,需要变道往对向车道,开着100+的NOA超速,稍有不慎处置不当,这不妥妥大事故。夜里过往车辆少。错过宝贵的救援窗口时间。你最好祈祷智驾在这期间要么工作0次,驾驶员直接接管,要么成功100%,

三条人命就这样消失了。


说说小米

我当年一直给各种Samsung刷机MIUI。当smzdm说MIUI做手机了,果断冲了首发,然而米1手机有个电池虚焊的致命硬伤,变路人;抢红米抢不到,感觉被猴耍,变米黑;突然有一天,雷总说给1999返现,我又转粉了。我平时喜欢看一些汽车类资讯,也感叹米车的成功。雷军的爆款思维很是有一套。

面对车祸带来的口水👊,斗胆对万亿总裁指点一下江山:现阶段智驾是个假风口。

雷军很喜欢讲顺势而为,风口的猪也能起飞,记得一次采访他说之所以造车是因为小米集团里的人才都跑去做车机,做智驾了。然后🇺🇸一制裁duang你手机芯片成问题了。拿干脆下场做车得了。新能源技术卖点,除了三电还能有啥,就是智驾。

我看待智驾的出发点:它永远无法达成L4 L5的目标。更不要说纯视觉方案了!理由很简单,就算你训练AI做得和人一样聪明,最顶尖的人类驾驶员开车也会犯错,AI有何根本机制避免?既然AI无法避免,车企担责就是不可避免的。

顺着这个出发点,那么现阶段最好的智驾供应商,天生有一道护身符。如果它出了事,可以拿“市面上你也找不到更好的智驾”给圆过去。比如鸿蒙M7出事,KOL可以大大方方造谣说是博世方案的锅,虽然舆论也很难看,但是华为方案这个核心并未受到挑战。因为它就是无可争议的No.1

但是老二和老三就难受了。消费者愿意为了最好的东西支付溢价。这场比赛可没有“顺势”。所有擂台上甘拜下风的竞争者,遇到逆风局,都只能被动挨打。这是个赢家通吃的游戏。

今天小米公告,雷军的发言,给人的感觉就是只想平息,并没有太好的针对措施。技不如人,还能咋办?等热度过去,继续x砸钱干研发呗

这事还有更主动的出路。在前面已经列出关键——路政。

家属和民意选择往车企身上靠贴,你车企不知道往路政靠?毕竟未来的智慧交通,“车路协同”,V2X,也是很重要的一环。直接大大方方承认,智驾无法单独承担责任,遇到静态物品太迟。就算人开车,也不能很远发现前方路况出什么事了。过去出租车司机靠对讲机通风报信,现代人不也是要靠GPS+地图路况。高德那个山路弯道会车提醒就广获好评。同理,遇到道路施工或者险情,路政是不是应该能主动下发推送,提前切断区域内所有智驾,推送降速行驶指令呢?

所谓“赛博桩桶” 是也。

雷军作为人大代表,北京现金王,完全应该站出来,倡议这件事。跳出“智驾”这个死局,开辟新的路线。有些“势”就不能等别人造,得自己突破。

技术上做这个事情太容易,电子路标,还有雷军倡议的智慧车牌。就拿现有的框架,ETC龙门架就可以下发一定的数据。新车也是强制配备ETC终端的,完全可以跟智驾通信。

这样,以后如果路政没设置电子围栏,至少也分得大锅。

路政不愿意接受,米车之间能不能组一个路况网呢?加上蔚小理搞个实时路况联盟行不行呢。单机蒙猜,不如群体智慧。这事就算没法立刻落地,至少也是个话题讨论点,怎么也能熬过这次危机。

安全开车这事,没必要指望那点可怜的CMOS像素和矩阵乘法来承担一切

Posted

stderr

早高峰路上的碎碎念

周一早上,刚刚在人形匆匆里送完孩子到校,回头又开车出门。通勤路上,这段时间一直在琢磨孩子的事,比如这将来升学就业压力。因为被网上出生人数年份图片给弄焦虑了,活在生育高峰的不幸,从就面临更大的竞争压力。

早高峰堵车是最影响人一天心情的,我习惯见缝插针搓方向盘。突然思维有些碰撞。你说这车道,是不是就很像人生?

如果车流量小,你敞开跑,那就看自己能力有多快。

如果车多呢?能不能到达你的目标,就不是你自己说算了。得考虑peer pressure,和你选择的车道。

城市多车道道路上,有小客车道和大车道之分,理论上左侧车道速度最快。实际呢?最右侧最快!至少在我的城市里是这样。真正的老司机会不惧进出口,去挑战复杂性,往往最右侧车速比最左侧快。大车因为起步刹车比较费劲,会选择右2车道。

你在社会阶层里,感去挑战最底层吗?想起来一句话“农村包围城市”,“得屌丝者得天下”。真是富贵险中求啊。

当然,以上的情况是开放式道路,比如城市环线。如果是封闭式道路,比如高速呢?

恰好我每天通勤就要经过一段连续高速。作为一个一般都是我超别人,别人很少超我的坏习惯司机,我分析了一下我路怒症的根源,那就是频繁变道。

频繁变道是一个投机行为。特别尴尬的是你费老鼻子变过去,发现更堵了,你之前的车道反而跑起来了。这个时候你有两个选择:

  1. 回到之前的位车道,但是会掉几个位置,
  2. 你头铁,既然我都换车道了,就干脆再等着,再看看有没有机会

我的经验是,往往这个场景下,第二种选择会一落千丈,更糟糕。因为你初次判断的车道拥堵程度,一般都是从客观出发,最准确的,后面多半是冲动,主观的情绪主导了你的判断

这该死的沉没成本!放不下面子的悲剧就在此。很多人辞职换赛道,也是一样的心态。好马不吃回头草,更多的人是选择继续再换另外一个车道。哈!虽然走回头路会显得很小丑,但是有的时候就是——唉,真香

糟糕的情况,真正得到缓解,是时代的变迁,比如遇到高速出入口汇入汇出了。患得患失,人生大忌!

疯狂超车,往往只是一个错觉。有的时候明明你超了很多车,但实际上你就只比别人早到一两分钟。总体差异不大。城市道路里,你付出的诸多努力,一个红绿灯就给你抹平。或者大直道你拉爆别人,但是遇到龟速车阵你也只能干瞪眼,别人也缓慢追上。人的努力固然重要

一个社会的总进步空间是固定的,有可能局部胜利,多次胜利,但是总体胜率也不能改变你的排位。

都在说阶级固化,我倒反而觉得,只要车子在缓慢走,那么大部分人不会太焦虑;如果车子完全不动,那么大家心态就很崩溃,感觉窗外路边一棵草都比人过得好。所谓的流动性,不是说你一定要超过多少人,而是说如果看到别的车道走的快,有机会能够跳过去。

比堵车更痛苦的,是好死不死,前面刚好有个傻逼,空出很长很长一段距离,隔壁的车一辆接一辆插入,你却无可奈何,隔靴搔痒。就像你看别人都发财了,你却无计可施,急死了。现实世界,人和人对于有限岗位的竞争,所谓长幼功序排资论辈,莫过如此。

但是从另一个角度想来,人多的时候机会也多。你的市场也更大,人少了,这个市场也会减少。

孩子的培养和性格,跟车子一样。在长期竞争里是多维度的。比如谁牵引力大,起步快,谁就能很快的抓住一些短期的利益。但是长途路上是否开着舒服,它需要看底盘的平衡和座椅的舒适。遇到车少的蓝海,这个时候就看你爆发的巅峰技能,谁极速高谁能更快到达终点。

Posted

stderr

正则获得国际电话前缀

2013年的时候喷过ITU这个国际电话号码,前缀是变长的问题

今天遇到问题,需要按国际区号初步分析归属地和供应商,stackoverflow和AI给的都很渣,写了个正则:

re.compile(r"""\+
    (1  # north america
    |(?:  # 3 digits
        21|22|23|24|25|26|29|35|37|38|42|
        50|59|67|68|69|80|85|87|88|96|97|99)\d
    |[2-9]\d)  # two digits
""", re.VERBOSE)

+1 开头的是北美,然后依次寻找3位的,再匹配2位的。

+7 本来是苏联的,现在给 哈萨克斯坦 和 俄罗斯 了,就当成两位的判定吧。

Posted

stdout

面向老外最容易理解的“春节”定义,以及其它

用英语把 春节 讲明白

最近小红书 #tiktokrefugee 以及所谓的“中美对账”很火,然后又吵到 Chinese new year, 和 lunar new year 怎么叫,案例说闲来无事,我想搞明白究竟春节是怎么定的?

最接近立春之朔日(月缺之日)为正月初一

依赖历法,那么接着查

冬至所在之朔望月为十一月

这又是太阳历又是月亮历的,还有二十四节气。要把“春节”这玩意脱离汉文化的基础背景定义下来,很麻烦。在翻二十四节气的时候,灵机一动,因为二十四节气是太阳历,和公历几乎严丝合缝,公历又和星座能对应的上。那么春节其实可以最大程度的简化定义为:

水瓶座的新月夜。

新月就是看不到一丁点月亮,和满月相对。

AI 能理解 春节 吗

为了验证我这个说法,我问了ChatGPT:

What's the new moon day of 2025 Aquarius zodiac sign?
The new moon in Aquarius for 2025 will occur on January 29, 2025.
What's the new moon day of 2024 Aquarius zodiac sign
The New Moon in Aquarius in 2024 will occur on February 9, 2024

2024年差了一天怎么回事?新月 (new moon) 作为天文现象是发生在一个确定时间的。但是对应到世界各地,当地时区的原因,可能差1天。所以我感觉这个说法是 close enough 了。

国产AI Deepseek 思考的也不错:

What's the new moon day of 2025 Aquarius zodiac sign?
the new moon day for the Aquarius zodiac sign in 2025 is January 29, 2025.
how about 2024
the new moon day for the Aquarius zodiac sign in 2024 is February 9, 2024

我想看下 R1 推理能力,于是问了一嘴:

what's the special holiday of this day?
For January 29, 2025, the new moon day in Aquarius, there are no major globally recognized holidays

看来傻了。我换了下 ChatGPT

any holiday on that day?
Yes! January 29, 2025, falls on Lunar New Year’s Eve, which is the day before the Chinese New Year (Year of the Snake).

R1 对自己上下文可能不太重视。

春节 怎么翻译

这个问题想完,回到一开始的问题,有人说 CNY 和 LNY 都不好,不如直接叫 Spring Festival 。我觉得,很有道理。毕竟英语对所有外来词都是音译。比如

  • 春卷,英语一般称为 Spring Roll,而不是 Chinese Burrito
  • 馒头,英语一般称为 Mantou或者 Steamed Bun。而不是 Chinese Bread
  • 云吞,英语一般称为 Won Ton。而不是「Chinese Ravioli

但是进一步想,英语为啥就能接受 burrito、ravioli 这样的外来词汇,不如干脆直接叫 Chunjie ?

其实,全世界的主要语言里,只有汉语还在坚持“意译”。别的语言早弃疗了,直接音译或者 transliteration。原因很简单,全世界主要语言里,只有“中文”是非 alphabet 体系。其它的文字都是表音的。只要发音一样,就是同一件事物,按不同的字母表书写而已。

如果按照这个思路,全世界的拼音语言,不出意外,都会趋势都会被英语统一,成为 Lingua franca。这也是我前一篇blog说为啥要学习英语

除了一个例外——中文。主要语言里,只有中文还在孜孜不倦的把一切外来和新鲜事物,用古老的文字重新描述 “reinterpret” 一番。久远一点的,国外叫 twitter,国内非得叫 sina microblog, sohu microblog, tencent microblog,近一点的,全世界都叫 AI,LLM这样的缩写,就国内坚持叫 “人工智能”,“大模型”。 大模型还省略“语言”两个字

homeless 和房产税

又想起这段时间 “中美对账”引发的第二个问题。老美很多 homeless,所以有讨论国内为啥没流浪汉。很多人说是因为城管,户籍制度。因为社会主义有一个操作叫“遣返原籍”,无论你去哪个城市流浪,总能根据身份证地址把你搞回老家。

既然有老“家”,其实按字面意思,不能算 home-less 了。只能说当地无房而已。

由此想到一个问题,房产税和户籍制度是矛盾的。老美因为没有 property 所以变 homeless 所以没有 bill address 所以无法申请社保和银行卡,无法参与社会生产从而只能乞讨。如果国内也开始搞 property tax,那么首先的技术问题就是在哪个环节征收?

最大的可能性就是交易环节。那么大不了不卖了,就出租,子子孙孙传一辈子。退一步说,你欠房产税,行政部门会把你房子拍卖吗?如果你觉得会,那么问题来了,和欧美最大的不同,请问你没房之后,户籍地址写哪里?

有人说,上集体户啊。集体户其实从设计上来说,必须得有“单位”挂靠的。就算最近几年搞出来所谓“人才落户”,这也建立在你在当地有一定就业能力,有潜在的“雇主”背书的。你都交不起房产税了,哪个人才中心敢接收你的户口啊?接收户口,意味着以后所有关于这个“人”的麻烦都归属地管理。

按照这个推演,房产税只有三个结果:

  1. 不实施;或者实施了不怎么收(参考重庆上海)
  2. 实施+欠费没收,动摇户籍制度
  3. 只针对多套房产实施,那么必然会带来大量的技术性离婚。

中美最卷

和朋友聊中美话题,说现在贸易战产业转移,印度和东南亚有没有可能崛起。我说了几个反驳的理由:

  1. 东南亚是产业“回流”,不是转移。别人70年代红红火火的,是广东抢走了饭碗。现在是吐出去
  2. 东南亚基本上都是“发达国家”。我觉得 "developed" 在英语里,压根不是“发达”的意思,而是 过去时,表示 发展到头了,没进步空间了,天花板了。去过几次东南亚旅游发现当地20年、30年前怎么样,现在还是那样。
  3. 一个国家能否崛起,从草根视角,就是看喜欢打拼的人,有没有出头之日?有的话,这个国家就会超过中美,如果没有,中美就会收割。。。印度和东南亚里,有这样的制度和文化的吗?在国内,这样的制度和文化其实不是好事,而是一种压迫。
  4. 全世界只有华人和老美最卷。前几天听到一个老美vlogger说了个事让我震惊,她说老美觉得休假是“可耻”的。之前也有耳闻,老美吃午饭特别怕耽误老板时间,也不敢午休。Hacker News上一些欧洲人也经常评论说老美的 work culture 是非常 toxic 的,太拼了。

全世界只有老中和老美最拼,这个说法,是我从一个拿了中国绿卡的美国演员 曹操 那里听到的

https://www.bilibili.com/video/BV1xe4y1o7wg/

他的理论是,全世界绝大部分的人,都是挣钱能凑合过日子就行了。work to live。那种不要命挣钱,live to work的文化只有儒家有。美国出发点不一样,全世界那种少数天生喜欢拼命挣钱的人,都受不了当地懒散和松弛,润美去干大事挣大钱了。

言之有理啊。以前欧洲那种日子过不下去敢去一个陌生的未知的新大陆打拼的,都不是等闲之辈。所以一代传一代搞出来这么一个打拼的文化。


今日份的胡思乱想就到这了。

Posted

stdout

纸吸管“环保”的说法是一个4年级小学生发明的

之前看到elon吹捧川普取消纸吸管是最伟大总统,一大早看到pg转的

As a curious fourth grader who had just started an environmental project to discourage restaurants from providing straws by default, Cress decided to look online to find out how many straws are used each day in the United States. Not being able to find any statistics, he called straw manufacturers directly and estimated the 500 million figure based on numbers they provided him.

In February of 2011, Milo Cress (then nine years old) founded the Be Straw Free Campaign project to work together with members of the straw industry, restaurants and other businesses, schools, environmental groups, and concerned citizens to reduce the use and waste of disposable plastic straws.

这个是npr报道的,还是比较权威的。很多饮料是塑料杯子,然后吸管给你搞成纸质;或者纸质吸管外面用塑料包一层。只能说欧美搞这些也挺草台班子的。想起之前那个how dare you小学生,感觉是这个风气。

Posted

stdin

为什么要学习英语

HN上看到一个ISBN可视化项目:

https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space/

截图:

这,可能就是为啥要学习英语吧。第一排左1、左2,第二排右2是出版的英语书籍,右三是简中。人类的大部分知识还是英语写的。这优势还是太大了。

这个可视化的发起者是 Anna’s Archive,优胜者获奖 $10,000,截止日期2025-01-31,旨在收集整理全人类有ISBN编号的书籍。

Posted

stdin

从红宝书到小红书:woke的演变历史

最近tiktok ban闹得沸沸扬扬,甚至有大批“洋难民”纷纷涌入小红书 ,把 "RedNote" 冲上了appstore 排行榜第一名。

无独有偶,看到 Paul Graham 一篇大作 《The Origins of Wokeness》,不愧是YC创始人,文笔流程优雅。开头就暴击。所谓 woke ,在维多利亚时代就是基督教义,在苏俄就是马列教义,woke 的本质是“社会公正”,老一的英语称为 prig。每个社会都有部份 prigs 人群,但是woke大行其道,pg分析,当前属于“第三次冲击”。第二波在80s年代政治正确达到顶峰90s消停。

那么第一波呢?第一波其实就是60s左翼学生运动。我晕,这不正是伯克利举着红宝书嗑LSD唱摇滚的年代么。pg说当年是教授纵容学生追求“新思潮”,但是学生一穷二白闹了也就完了。80s是pg自己上大学的时期,60s的大学生刚好进入教职岗位,开始引导自己的学生继续搞 political correctness,也就是举报性骚扰,要求男女平权这些;新世纪以来,特别是2020s,这些当年的左翼青年主导院长和校长等关键岗位了,所以闹得更欢了,从学界蔓延到媒体,到政界,到一发不可收拾。

搞 PC 最大的用处不在平权,而在于 faculty members encouraging students to attack other faculty members,作者说和 Mao 一毛一样 哈哈哈哈笑死。青年本来就愤,拿事搞人这就是天性啊。所以在第三波浪潮里就是各种 cancel culture。到后面的 BLM, metoo 等愈演愈烈。

最后作者提出了什么解决方案呢?他说

I'm not a Christian, but I can see that many Christian principles are good ones

我表示?只能说尊重但是不认同吧。看完这篇巨作最大的感受就是,墙内各种对平权热嘲冷讽,美国老美的平权运动居然起源60年代左翼运动。这他妈倒反天罡了等于是。

想起最近小红书刷出巨多洋人,不知道是推荐算法sb了,监管不到位洋信息“倒灌”了,还是都是抠脚大汉的矩阵号发力了,但是我对“赛博移民”有一个简单的理解,yt,ig 这些洋平台对 tiktok 难民来说就是“建制派”,不 hip,况且头部的power user已经铁板一块没法突破了;Twitter更烂因为Musk是烂中烂。老中的“第三方”平台,无论是 tiktok 还是 Rednote 都是一种无可奈何的逃避。捧起小红书的这帮洋人,恰如他们爷爷奶奶辈在60年代面对当地当局各种问题,捧起红宝书一样,是一种寄托。这下中西合流,家人们谁懂啊洋人虾头男,一个买断X一个入主白宫了。

Posted

stdin

Little known facts about Han

I was planning to publish this article on 2024-04-05 00:01, but rejected because it looked silly for this blog. On that day, butt hurt as usual, I watched this short-vid called Why Sichuan people were chill, by the influencer 罗胖. I was quite amazed by his 3.79M many fans and more strangely, IP location: Sichuan. I followed the article he mentioned: 1001 A.D. and How Sichuan got its name? and find it quite interesting, as all history lessons are.

So let's explore the little known details and find out why history of Sichuan is somewhat special (Whig-style narrative alert!)

The birthplace of Taoism

Records shows that the birthplace of Taoism, the most chill religion ever, points to 鹤鸣山 at 大邑, and the 青城山 nearby was considered a holy mountain. Some say 龙虎山 at 江西 as an alternative, but in my opinion its where the tianshi (prophet) 张道陵 pactice his alchemy rather than the developing the belief,The real deal including Wudoumi movement clearly originates from 龙门 mountain ranges on the western of Chengdu plain.

Inspired by Buddhism

When I was searching for tourist attactions I found that 鹤鸣山 were suspiciously connected to Buddhism. Chinese Buddhism were first landed at 白马寺 at then capital 洛阳 at 68 B.C. But 白马寺 itself wasn't supposed to be a temple per se, but rather a settlement sponsored by the imperial court. There were nine houses of governance established by Han court covering Justice, Sacrifices, Royal affairs, Carriages and so on, one of them is 鸿胪寺 for Royal Hospitality. The 白马寺 was built by the order of the Second Emperor of E. Han as a guest house to translate the 42 chapters of Sutra acting like a 鸿胪寺. Some 6 years later, after the job were done, the two buddhist monks, 迦什摩腾 and 竺法兰, went to Sichuan seeking a legendary mountain called 雾中山 according a prophecy. The prophecy were carved on a Ming-era stele 开化寺碑记, describes the Buddha Shakyamuni, when about to enter Nirvana in the city of Kushinagar, once said to his disciple Sariputta:

“我灭去七百年,尔往震旦雾中大光明山。山脉发源于昆仑,有七十二峰,为古佛弥陀道化之所。严密保护,嗣后圣者来居。”

So the two Indian monks built a real Buddhism temple 开化寺 on 雾中山 and began spreading the religion there. It's said the temple had a collection of Pāli Canon transcribing Theravada Buddhism, one of the O.G. version of two Buddhism major branches in Asia.

So what's the connection anyway? The first prophet of Taoism, tianshi Zhang, chose 鹤鸣山 somewhere 10km near the first Buddhism temple

And later Taoism flourished in Sichuan, like Wudoumi, and ultimately, its variant Taiping-Tao, wrecked the mighty Han empire.

I also commented this travia on HN

The doctrine of religious Taoism and Buddhism were strikingly similar, which leds to series of conflicts and accusations over the millennia. The most famous example, Laozi Converted the Barbarians 老子化胡经 were publicly debated in Mongol-era imperial court and Taoist lost the battle.

Silk

Also an interesting article from HN Evidence of the use of silk by Bronze Age civilization, which I also commented, because some guy suggests Sichuan were once non-Han, it triggered me. TFA states (with my edits):

HuangDi lived on the hill of Xuanyuan and married the daughter of Xiling clan. HuangDi's consort Leizu of Xiling taught others to raise silkworms, and the legend Leizu is from the people of Chengdu in Sichuan. Shu refers to “mulberry worms” aka “silkworm larvae”. The character Shu is related to the initial sericulture, referring to the beginning of the Shu State and the people, for whom sericulture was central to their economic activities.

HuangDi

For those who aren't familiar, HuangDi the Yellow Emperor was considered the ancester of the Han, the Hun, the Hmong and Xianbei of the Siberians. The second son of HuangDi, married ChangPu from the Shu clan. Their son zhuānxū was another Di, out of the 5 Di of Ancient Kings 五帝

Baijiu

Baijiu, the Kaoliang liquor, strong distilled from great millet, were first introduced in Sichuan known as 蜀黍. Even today top notch brands like Maotai were from the Chishui Valley of Sichuan (administratively divided to Guizhou by purpose)

Han

But what does Han has anything to do with Sichuan? Well everything does. The literal meaning of "Han" traces back to LiuBang, the Great King of Han, founder and first ruler of the Han dynasty, literally settled his fief over Sichuan (Ba, Shu, Hanzhong and its 41 counties). Liubang spent his next 5 years elimilated all his enemies and began the first Pax Sinica of 300 years.

The second Pax Sinica, led by the Great Worrier Li Shimin, also titled Yizhou Acting Desk of the Supreme Book. To explain, the Supreme Book refers to 尚书, the source of great power, the source of ultimate authority, one and only text that describes how Chinese civilization came into being since ancient times. The Desk is the government body where the book operates, Yizhou Acting Desk is like the copy that covers Sichuan, aliased Sichuan. The soldiers of Sichuan, as the last reserve force led by general 窦轨, joined Li Shimin for the final attack on Dou JianDe on 620 A.D. at the Hulao Pass, which leds to the live capture of two kings, and helped Li Shimin rose to throne.

8 Partners of Oath

The fighting spirit of Sichuan soldiers dates back. An oath was taken between Zhou and 8 partner states, including Shu, as described in the Supreme Book on Zhou chapter 4, to rebel against the cruel Shang dynasty. The battle took place at 牧野 on 1046 B.C. where the Ba people performed a war dance on the frontline and Shang army collapsed upon witness.

Libai and the Great Prose Masters

Libai, the God of Poetry, was raised in Sichuan, but where he's born is debatable. However, four out of the Eight Great Prose Masters, were born in Sichuan. So it's either Libai a Sichuanese or Ouyang Xiu, or both.

... and there's more

That's all of the trivia I could think of, for now! Leave a comment if you think otherwise. Feel free to correct my English mistakes please, as I am an ESL blogger without use of any AI

Posted

stdout

ss命令抓linux下偶发端口访问

Linux服务器一直有个TCP连上来发数据,跑到对应的机器上发现连接已经断了,对应的进程也退出了。估计是某种定时任务。

排查代码无果,只能通过命令行来监控。这里直接上ss命令

  while true; do pid=$(ss -tanpe state established 'dst 10.11.22.33:4455'  | awk 'match($0,/pid=([0-9]+)/,a){print a[1]}'); [[ -n $pid ]] && tr '\0' ' ' </proc/$pid/cmdline ; sleep 0.2; done;

解释下:

  1. while true; do ...; sleep 0.2; done;每0.2s反复刷新执行指定命令。
  2. ss -tanpe state established 'dst 10.11.22.33:4455'
    - -t 选项表示显示 TCP 连接。
    - -a 显示所有连接。
    - -n 不解析主机名、端口。
    - -p 显示进程信息。
    - -e 显示额外的详细信息。
    - state established TCP已连接
    - dst 10.11.22.33:4455 过滤TCP目标地址+端口
  3. awk 'match($0,/pid=([0-9]+)/,a){print a[1]}' 提取出 pid
  4. [[ -n $pid ]] && tr '\0' ' ' </proc/$pid/cmdline 从procfs读取该进程启动时的命令和参数。且把空字符 \0替换为空格

综合起来:不断地查询目标 IP 地址和端口的网络连接,找到与之相关的进程 ID,并显示该进程的命令行。每隔 0.2 秒刷新一次,持续监控这个连接对应的进程。

跑了一阵子,发现 $pid 可能有多行。囧,只能用双层 while 了:

  while true; do ss -tanp state established 'dport = 2333' | awk 'match($0,/pid=([0-9]+)/,m){print m[1]}' | while read -r pid; do echo $(date '+%F %T') $pid $(readlink -f /proc/$pid/cwd) $(tr '\0' ' ' </proc/$pid/cmdline); done ;  done;

Posted

stdout

如何给职场老登们提意见

老登们从来不抱怨环境差,因为环境差就是他们造成的。哈哈哈。开个玩笑。HN上看到一篇How to give a senior leader feedback without getting fired 如何在不丢工作的前提下,向资深管理者提出反馈,觉得有用。上班打工这么多年,发现沟通与影响力太真实了。摘录几条:

1. 更多、更好、更棒,而不是二极管

🚫 “新员工培训欠缺”——老登:“你懂完了?就你会培训?滚“
✅ “我们可能需要为新员工提供更多指导” —— “的确现有的培训不够,还得加强”

二元的指责,意味着要么有培训,要么没培训,意味着这是对老登领导地位的威胁。

2. 拿自己当例子

🚫 “你应该试试 X 技术。”
✅ “我曾经为此而苦苦挣扎,当我尝试 X 时,它真的很有帮助。”

3. 外交式措辞

  • 我们可能想试试......
  • 我想知道是不是......
  • 也许我们可以......
  • 你怎么看......
  • 一种方法可能是......

4. 数据支撑对比

🚫 “这个项目麻烦您老给我们多指点”
✅ “我们发现,我们同客户每周都评审一轮设计稿时,他们往往对最终都比较满意;而对于现在这个项目,如果能在早期多确认一些事,可以帮助我们在某个方向上深入进展的时候,确保和目标是对齐的,并防止返工。”

🚫 “团队需要更明确定个优先级”
✅ “上个月当我们都专注于网站更新时,团队取得了大幅度进步;如果这个月,为团队制定一两个明确的重点事项,这样可以让每个人更加聚焦“

🚫 “我们应该花更多时间培训新人员工”
✅ “记得Steve来的第一周,都在投入培训,他很快就跟上了速度。一点前期时间投入看上去得到了很好的回报,为我们的下一位员工采用类似的培训方法,帮助他们同样快速地提高。你觉得怎么样?

作者推荐三个原则:

  • 以清晰、可操作的建议结束
  • 展示更新方法的好处
  • 保持简单、合乎逻辑和积极

建议熟读英语的可以看看原文。作者还有一篇 如何给下属训话 我觉得写得也挺好。

翻HN的时候发现很惊人,大概意思是,如果你发现需要花言巧语(fluff up)才听得进去,那么高层已经烂透了,最好开始润色简历。。。。。好吧。作者这篇标题就叫在“不丢工作”的前提下如何向上反馈。都没错。人和人的信任在利益面前都很脆弱:职位低的担心自己,因为很有可能因为狗屁原因就莫名其妙丢了工作;职位高的最害怕丢脸,怕输给资历没自己老,职级比自己低的。陷入猜疑链了。highly effective communication 难呀。大多数评论是:不值得给老板提意见

  • 权力能量不对等
  • 过激对抗风险
  • 损坏关系
  • 工作没辣
  • 误会
  • 破坏汇报关系
  • “开放”只是口号,说说而已

🤣🤣🤣🤣

Posted

stdin

ATProto之言论 自由和触达的分离

今天刷到个好玩的。先说下背景:

2019年,时任Twitter CEO 的 Jack Dorsey @jack 当时内部资助 五个去中心化的社交媒体项目,其中之一叫 Bluesky后来由Jay Graber成立独立公司独立运营。其核心卖点是一个叫 AT协议 (Authenticated Transfer Protocol,有趣的是 AT 也是 @ 这个符号的称呼) ,基于这个协议搭建的分布式社交网络。官服和app上线叫 https://bsky.app 。

2022年10月,世界首富 Elon Musk $440亿刀买下Twitter,2024年大选推波助澜,在11月成功助力懂王 @realDonaldTrump 重夺总统宝座, 特别多X.com的“自由派”认为是天塌了,于是纷纷出逃。所以 bsky 用户增长迅猛,有超过 mastodon、Threads和nostr的趋势。

  • mastodon 的问题是,RoR又慢又重,站长们带不动
  • threads 主要是反派从良,大家还是怕犹太人老板惦记
  • nostr 币圈味太冲

看过X的就知道上面的黄推、币圈电诈、民间政客特别多,如何在一个无法集中管理的网络里去掉杂音,保留有意思的内容,很具有挑战的。ATProto提出了一个概念叫做 Speech and Reach。我理解,它把言论自由和言论可触达性分开。你说啥话没人管,但是你的话谁能听见是另一回事。

Atproto's model is that speech and reach should be two separate layers, built to work with each other. The “speech” layer should remain permissive, distributing authority and designed to ensure everyone has a voice. The “reach” layer lives on top, built for flexibility and designed to scale.

说实话,当时我看到个设定觉得合理,但是不知道有啥用,直到今天我看到了Django(Python Web框架)的作者 Simon Willison @simonw 分享的一个有意思的玩法——挂人。

I am utterly delighted by this subversive use of the Bluesky label feature, where you can subscribe to a custom app that then adds visible labels to profiles
This one shows you which posh expensive private school British public figures attended, plus their current fees
https://bsky.app/profile/daddys.cash

是的你没看错,就是挂人。这个 daddys.cash (读作:爹滴点现金)账号的作用是,把 bsky.app 上正米字旗🇬🇧大V,上过私校的作为“标签”放到账号信息栏。甚至还包含私校的学费,时刻提醒你阶级差距。英国的私校是个圈子,非常抱团,在证界和商界非常具有影响力,这可太“同窗传承吾辈责”了。在评论区,你甚至还能看到有账号专注把正星条旗🇺🇸大V背后的政党派别和选举献金标出来。英美的内政和外交是有偏向性的维护这群人的世界观和利益。

为什么说这个功能是挂人?如果推广开了,这玩意极大降低了饭圈和小鬼们拿来给人贴标签的门槛,而且传播性极快。假如在一个平行世界里,bsky在国内上线,就现在的形式,很快🐒和🌸会形成两个阵营互相敌对对喷。

但如果你抛开网络论战,带入线下社交,这个功能可能会带来一个意想不到的效果——IRL的社会压力回来了。能在网络上肆无忌惮的彪悍发言,会考虑到今后被人 label 怎么办?实际上大多数人当着其他人的面说话还是很矜持的,得考虑个场合和面子。深怕别人背地里议论着你什么。这他人指指点点,不正好就是“贴标签”。

ATProto 的实现细节

It's broadly a system for publishing metadata on posts called "Labels". Application clients specify which labeling services they want to use in request headers. Those labels get attached to the responses, where they can then be interpreted by client.
This is an open system. Clients can choose which labelers they use, and while the Bluesky client hardcodes the Bluesky moderation another client can choose a different primary Labeler. Users can then add their community labelers, which I describe below. We aim to do the majority of our moderation at that layer. There are also "infrastructure takedowns" for illegal content and network abuse, which we execute at the services layer (ie the relay).

技术上来说,一个内容顶真不顶,你自己可以选择 Label 供应商;传播上来说,如果你影响力超大,你说话就得委婉,考虑万一被人贴上不好的标签的后果。所以一开始atproto这个拆分 speech 和 reach 的设计就挺有意思。要么你口无遮拦嗓门小,你谨言慎行上热搜,发言是自由的,但是传播成什么样可不是你说了算。

这个机制当然也有很多问题,比如如果你是小人,你可以换各种马甲来诋毁和三人成虎。怎么办呢?实名制?social credit?

总之,这是一个有意思的设计。比X现在那套黑盒子封号,灵活的 community notes 更创新。@jack 这一波看来是真的懂这行搞出来的新玩意。

Posted

stderr