2024-11-30

爽文

去看了好东西.

坦白说,多少是带着点挑刺的味道去的.
毕竟打着爱情神话和女性题材的气质,多多少少是热度为先了.

看完之后倒是有些新的想法.

某种程度上来说,现在的年轻人或者说声音就像小叶.
只要说点贴心的话就能哄好.

也是那种可以不用很努力了.
留在自己的舒适区避难所小圈子抱团就好.

也并不是说这种知足常乐有什么问题.
但是另一面的小孩特性,或者小孩的另一面特性倒是颇为推敲.

影片结尾的live house镜头叠加学校正式乐队的场景,本以为是打算玩那种不同选择不同mix的手法.

可能是民谣/摇滚背景乐叠加体制一本正经的管弦交响乐团,穿插地下乐队和大会堂表演的对比.
来营造某种不同精彩,甚至哪边更精彩的叙事.

事实上,倒确实也有一点这个意思.
在乐队现场的各种鼓励应援和礼堂里早退刷手机聊聊无几关心的场景的几个镜头.

但是可能不知道是出于什么考虑,这个演绎嘎然而止.

并没有期望中的像之前一样抖开心麻花版的段子,对比一边对成功与另一方的可能落寞或者滑稽.

于是当你想批评它支持非主流叙事的时候,倒显得有点底气不足了.
毕竟这边某种程度上的成功来源于这种张弛有度,或者说左右横跳.

一个比较有意思的点就是女主这个形象的树立.

影院里比较多的大笑也来源于跟她有关的一些场景.

形式上来说,或者说表面上来说,她在构造一个某种形态上典型的进步主义女性视角.
坚强,有能力,叠加单亲开放,以及设定上就是女权运动调查记者的身份.
可以说是属性点满.

观众之乐于敞笑大抵也是来源于这种大女主特性.

然而比较微妙的是当你把铁梅性转一下的话.
大概在出场的几秒就会被评价为爹味普信与油腻了.

有趣的是,导演或者说编剧倒也似乎有意无意地在提示这个关系.
以至于开场在入职点评职场的时候,就直接植入了油腻这个词.

所以当后面连续有意无意地给90%荒谬的衣服似有若无的反复特写的事,多少是有些会心一笑的.

就像你深究设定上从调查记者到自媒体爆款小编的转变也多少有种二度的讽刺在里面.

一个借主编口说的无情的10w+机器,以及眼镜小妹对于出差即旅游的肯定.
叠加直播从invisible women遮脸到复刻直播卖爆款剧本的转变.

让人多少会在女性主义的意义背后打个问号.

尤其如果同时把前夫也性转的话.
大抵就是一般备受口水的丧偶式婚姻和雌竞问题.

从这个角度来说,剧中的男性角色反而更像是一种变装的二度讽刺.

包括前夫的女权理论演绎,以及重复两次的结构性问题.
尤其是鼓手在床上看小肚子的极其女性化风格的演绎.

当然,你也可以理解为是尝试用男权的角度去重放和构造女权语境.
但是显然的,欢乐的观众可能并没有想那么多.

只是觉得是一个颇为爽朗的笑料集合.

角色聚餐的饭桌情节某种程度上来说属于全剧左右横跳的巅峰.
一边是雌竞和女主位的男权女性化视角.
一边则是小孩的反复不想打拳.

交织在一起你很难说是在讽刺什么.

所以有时候觉得,这个剧的Her其实更多的可能是指小叶.

一个本质缺爱就把爱寄托在一切驯服自己的事物上.
外表的不羁叛逆更多是有意无意的跟过去的切断.

就像跟铁梅谈论的时候,自己也不自觉地对母亲时候爱过自己产生怀疑,却又咬死不愿承认.

于是,当你回想第一次说要带小孩的时候,一边受着铁梅扮演的stereotype啰嗦老妈的形象,一边欢乐地送出门喊出妈的注脚的时候,会对编剧的这声妈到底有没二重意思产生遐想.

还有一点比较有意思的是电影中谈电影的部分.

一边是贾樟柯是名人但nobody cares.
一边是对山西平遥之于法国类比的揶揄.

你很难捕捉到这种淡淡的自嘲里,透露的是导演什么样的一种心境.

联想结尾登场那个经典背光造型和时不时穿插的歌曲.
无时不在暧昧一种难以言喻的界限感.

尤其如果考虑四字弟弟在此刻只配作为一种笑料辅佐,而泰勒斯威夫特则承前启后作为一种励志形态.

所以从这个角度来说,牵扯爱情神话倒也不算太离谱.

如果说徐峥是把市井气变成了某种艺术形态的话.
这片大概就是把精致进步打包成了一种可消费的商品.

在一个在即使可以对大多数女性羞辱议题说不的同时,精准地保留了未出过国的原始羞耻感.

这片就像医生之于小叶,除了提供一种难以言喻的情绪价值之外,更会营造一种自己很重要的氛围.

然后可能更诛心的是,没人会那么有空在意你这种戳破意识过剩的句子确实在结尾由小叶本人说出.

可能这也是这片有意思的一点.

在所谓被作为现代女性意识对立面的各个角色形象都有意无意地也在塑造某种醒世名言.

甚至于医生在阳台上的最后一句台词也颇为值得玩味.

毕竟爱就行了.

就像可能很多人曾经嘲讽起点爽文,乏味龙傲天,看不起霸总小视频一样.

多多少少,每个人都在享受属于自己的一套爽文.






2024-11-24

能用就行

前段时间做一些小性能优化相关的东西.

然后想起了go的benchmark工具.

起因是spark/scala的一个json解析的micro benchamrk问题.

一个utf16转ut8的过程总是有着不到7%左右的差距.
后来同事提醒一个allocation的细节才明白缘由.

大致就是特定test case下,一个缓存开启/命中带来的有没有新allocation的一个副作用.

想到go是因为想起go的benchmark,相比jmh的throughput模式,还多了alloc的相关统计.

大概这就是所谓的工程细节.
成熟度和经验的一些不显著的不易被察觉的点.

如果对应的jmh有相关指标的话,可能就比较一目了然了.

然后其他的也是一些micro或者说对应scale范围下才显现的问题.

一个是scala的type check和类型推导的问题.

代码和语法层面的显示typecheck/cast带来的安全性comfortable的代价是一些runtime时候的性能损失,根据写法的不同有些还是不是neglectable的.
而换一些写法让compiler happy地能够做出type inference的,可以把这部分的开销抹去.

而比较讽刺的是本质上来说,由于类型擦除这个jvm特性,两者在某种程度上的逻辑其实都是object到处裸奔.
区别只不过是runtime check还是compile time check罢了.

这时候也就又些理解c++的一些复杂语法和奇技淫巧了.

就像理论上来说,都是一回事.
但工程实现的不同,可能就是所谓的差距了.

类似的还有scala functional风格的另一面.
一个foreach里buffer append的风格和一个纯map/flatmap的风格在性能上的hotspot也是有些差异的.

当然,这部分差异可能来源于对结果取值的处理场景.
毕竟一定程度上来说,后者是个compress的lazy evaluator.
在只需要特定subset元素的时候,确实会有一定程度上的作弊效果.

因为只需要evaluate一部分就行了.

这点倒是想起来以前pytorch跟tensorflow的设计差异了.
后者基于graph的lazy特定也让前者的所见即得带来习惯上的使用冲突.

毕竟lazy对于debug print有时候还是不太友好的.
尤其一定程度上来说,语义是不等价的.

其他的一些就是更low level的可观测性问题了.

就像开头的allocation的问题.

后面case by case地看了下,有显著性能差异的时候还是buffer比较大的时候的情况.

一个稍微简单的intuition解释大概就是small allocation在runtime可能更容易被更底层的memory management的cache命中,可能是gc的一些特殊case,甚至malloc的一些具体实现都可能对small allocation可以更容易地被reuse/命中.

而稍微大点的allocation则很容易命中到page fault从而引发一些application层面看不到的更重的差异调用链了.

这个在latency到micro second层面就算比较显著了.

所有反过来说,如果只是毫秒级,那可能这方面的差异优化又显得没那么重要和必要了.
这也就是前面说的scale的问题.

另外一个相关的就是cache这个概念的意义的问题了.

比较初期的prototype的时候,也考虑过加一些cache policy.
直接用guava的结果出来之后自己都笑了.

后来手写了一些简单策略看效果也并没有特别显著的提升.

本质上来说,还是scale的问题.
因为caceh逻辑可能在复杂度/开销方面跟主逻辑已经具有相当的可比性了.

所以即使在命中的场景下,能明显地提提升,但回退到miss的时候,回退可能更显著.

这也就是有时候会开始觉得,cache并不难算是一种算法层面的优化方式.
或者说它是一种比较speculate的优化选择.

形式上来说,天然就带有某种不确定性.

剩下的一个题外话就是关于内存数据结构layout的问题了.

以前刚接触Arrow的时候也颇为嗤之以鼻.
觉得算是可以有,但意义没宣传得那么大.

现在觉得,就像utf16转utf8这种.
本质上来说还是一位representation不一致引入的额外routine.

类似的还有jni接口带来的overhead.

这些借用一个名字就是non-unify memory access带来的代价.

所以如果像Arrow或者其他adoption比较广的message格式,多多少少还是能避免这种也算是碎片化带来的问题的.

当然,剩下的问题可能就是都想解决碎片化带来的进一步碎片化问题.

这可能就是工程化的另一面.

可观测性带来的避免重复性驱动,然后就是新的工具链在试图更广而全地解决问题.
也就是所谓的silver bullet构想.

比较现实的例子可能就是堪称日新月异的前端工具链生态.
可能隔一两个月就有一套新的概念和东西出来.

然后相似的就是不管实现目标如何,最后还是要兼容老的一套.

在生态和工程化创新之间举步维艰.

于是在回头看褒贬不一的对于go大道至简的哲学揶揄可能就显得不那么充分了.

可能它的工程化实践的已经是考虑了历史债务的成本问题了.

毕竟之前尝试重构某东西的时候也发觉了.
有时候重写本身并不难,难的可能是兼容性/一致性问题.

老旧系统/工具链的价值一方面固然是能work.
另一方面更多的是对于现有使用场景的覆盖度问题.

尤其有些时候一些bug可能变成了某种形式的feature.
以及有些衍生工具链和平台已经依赖了某些难以分类为bug还是feature的东西.


就像一个社会系统.
纷繁链条,你也很难评价一个切面的功过是非.

能用就行可能是一种需要特别角度去看待的工程哲学.

2024-10-13

两个电影及其他

看完死侍与金刚狼.
倒也不是有什么太大的粉丝热情,只是有些感慨.

算一下,人生也差不多过半了.
有些想法可能也在不知不觉中变化.

就像想用随着年纪增长这个表达的时候,也会犹豫退却下.
尝试用随着时间之类的表达.

年龄是个什么意义?

可能更多的是一种经历与日渐消失的新鲜感之间的拉锯.

年轻的时候总觉得不要给自己设限.
想做什么做什么.

本质的还是说可能性大于变化.

时间久了,大抵也不一定是可能性变少了.
而是变化变少了.

套用句俗话就是变化的只有变化.

就像片子里金刚狼因为不在意/逃避/醉酒,而错过了救其他人的机会而抑郁余生一样.

很多事情变得无所谓或者麻木不仁无以为意了.
尤其在草台班子理论的洗脑下,很多事情一定程度上的觉得无所谓了.

X-Man和人类的纠葛冲突也不是一天两天了.
所以有矛盾和甚至局部战争也正常,过两天就好了.
殊不知这是狼来了之后的这次不一样了.

大致就是这么种心态.

也可能是像前段时间看的Joker 2.

在陈奕迅般的自我浮夸陶醉后,还是回到监狱被脱下裤子连累别人才明白一切的无意义.

Joker之为Joker在于它就是Joker.
这种同意反复循环递归世界的坍塌在于无间道梁朝伟想做个好人的瞬间.

无非是另外一种的对于boring生活的叛逆.
只不过这次叛逆的是叛逆本身.

就像看着Lady Gaga只能以女性身份出演哈利奎茵而不能本色出演Joker本人意义.
虚假的或者旧时代的Joker只想回归生活做个好人.

有时候会想是这个世界变无趣了.
还是自己真的老了.

前段时间又翻了些开源项目的代码.
发觉少了以前看代码时候的那种会心一笑的场景.

可能也并不是说代码质量不够好,不够多技巧,或者想法不够新颖.

像Clickhouse的Merge Engine(非Merge Tree),运行时归并异源数据为统一View,倒也不是没有提起一点精神.
但是在现在所谓DataLake之类概念横行下,只不过是野心放在哪一层的问题而已.

要么都是支持catalog/external试图把数据在meta层面归纳过来管理.
要么是像Velox试图做个跨模式的execution engine.
又或者像Arrow/DataFusion一样,干脆把数据交换格式和执行计划做成某种形式的IR.
甚至于像Spark一样,小孩子才做选择,既有catalog又有remote plugin还有事实上的IR.

无非就是老生常谈的在存量环境里尽可能的占位.

就连偶尔翻下Google的论文,也难免会有toB的这些所谓大数据架构和实现相关话题.
尽管有些可能确实也有眼前一亮的感觉.

不过跳脱出来看,像stream process也不过是套个kafka类的merge策略而已.
虽然在比较abstract的层面来说,确实逻辑上的stream可以是构成上的fragment构成,剩下的就是存储的选择和runtime归并问题了.

可能这就像技术发展到一定程度,更多的是比拼的工程能力.
毕竟理论创新已经到了一个天花板时期,很难再有新的东西了.

所谓的智子时期.

这么一想的话,似乎也有些能理解理论物理的尴尬局面了.

但你也很难说,这到底是因为世界乏善可陈,还是自身的问题.

像支撑deadpool的是什么,奔溃joker的又是什么.

如果说共同点是美式family情节的话,那问题就变成了为什么是美式,为什么是family了.

最近有段时间也会开始反思所谓的政治立场问题.

从年轻时的愤青,到读了点西方理论的自由派.
再到草台班子渐长的中间立场.
然后是自觉的算马克思/社会主义信徒/理解了.

有那么段时间看到别人发表的以前各个阶段可能也会说的话,会有一种可能算是说服的冲动.
也可能是好为人师的中年心态.
虽然大多时候都抑制住了,但总的来说倒也不能说是了然无趣漠不关心的.

甚至有时候可能还是偏所谓粉红的.
尤其在所谓意识形态问题上.

就像刚刚谈到美式family情节的时候,也算条件反射式的会对美式有种对立情绪.

倒也不是仇视或者其他什么.
只是一种可能是矫枉过正的警惕感.

毕竟相对来说,东西方各自的表面价值观上,西方很多是比较tricky和ridiculous/drama的.

就像你很难在一个倡导私有产权神圣和自由竞争至上的语境里,认为生而平等/equality是不矛盾的东西一样.
在这种宏大而片面的叙事里,习惯性地试图跳出这种看上去context-free的价值观导向,去寻找context- aware的部分.

但它的问题在于,思路上拒绝了其隐含的积极意义一面.

就像你认为它不现实,但不代表它的一些取向和行为不值得考虑意义.

甚至于所谓对立面的东方/社会主义本身就是一种过于over optimistic的理论描述.
基于的也是一种不算矛盾,但是过于大胆的本质基于过剩的解决思路.

所以跳脱来看的话,就像马克思晚年在哥达纲领批判里对最低工资之类的批判和嘲讽一样.
意识形态本身就是一种意识形态/枷锁.

最低工资或者说社会主义这个描述本身的一定程度的畸形和冲突在于它本质还是在所有制归属问题上的论证.
最低工资保障基于的也还是所有制归属问题之后的分配保障制度.
强调的是由所有者/雇主进行的再分配.
本质还是所有权导向的.

就像社会主义理论虽然本质上把异构的私有产权归纳到集体/社会所有这个虚拟唯一实体下面,但是它的理论基础和衍生论述也还是基于所有权展开的.

所以马克思在哥达纲领批判才会重新把最低工资攻击本质为基于所有制展开而非面向分配设计.

因为他可能直到晚年才意识到论述结论的分配/再分配导向才是社会主义这个命题应该基于的论点.
而不是试图在所以制框架内反对所有制.
尽管从结果上来说,这种论述确实指出了所有制结构的弊端.

于是基于分配/再分配设计的系统形式上就可以是所谓的公有制,也可以是私有制.
只有能够保障分配/再分配的执行就行了.

这也是为什么当代政府本质上都应该是在主动或者被动的面对和解决贫富差距和收入不公问题.
只不过系统设计上,会受到对应体制的制约和阻碍罢了.

所以,如果说指责或者定性是社会主义还是资本主义已经不重要了的话.
那么衍生的意识形态对抗还重要么?

否定的原因在于本身是个虚无的命题了.
而肯定的原因大抵在于它不是一个纯粹的理论问题,而是现实政治的综合竞争strategy.

就像在当下问一个人关于某个观点的想法态度一样.
恐怕本人也很难明确地说是自己的观点,还是被植入的观点.

可能就像现在流行的AI/LLM一样.
看上去多元fancy前景无限.

本质可能只是复读机的hallucinate.

maybe that is the boring part.





2024-08-25

聊聊黑神话

最近算跟风玩了下黑神话.
用的Geforce Now加月卡.

勉强到第二回打完沙国父子,回头准备去打地狼吧,然后20小时优先卡就被踢出去了.

难度对于个人这种没接触过的玩家来说还是挺大的.
一个Boss花个三四个小时很常见,或者说必然吧.

像第一个头目幽魂就卡了挺久.
后来学会拆分模式之后才比较轻松了的.

一个是右闪绕道身后无脑追击.
另一个主要就是立棍躲范围攻击加打断了.

这个算是后面的基本手法了.
尤其像广智和白衣秀士第二形态这种快速攻击类型,顺便广智还带近身灼伤效果的.
立棍命中然后拉距离恢复气力,剩下的就是第一章的主题不贪了.

第二种类型就是黑熊精/金池长老/沙国父子这种大体型的Boss了.
因为体型的问题翻滚和躲闪有特定方向判定,加上有范围追加,基本上就是打两下跑的模式.

后来看了下其他人的视频主要都是劈棍蓄力/棍势识破+打断辅助定身和排位的速推方式.
这个还是学不来的.

一方面就只有键盘连鼠标都没有,同时操作不了太多动作.
另一个面确实主要是操作不行.

所以基本上就是拉距离,保持心态平A的方式.
甚至连定和变身一场战斗最多也就一次,而且基本是为了保命的.

某种程度上来说,每个Boss能过都是靠的某种形式的运气.
毕竟残血对残血是常态.

尤其白衣秀士几次二阶段残血最后一击心态变急被反杀的例子.
后来也就慢慢看开了.

也算是一种体验和修行吧.
正如一回的剧情指向不贪一样.

仔细想想的话,纯理论来说,这类游戏就是某种模式识别和匹配的玩法.
给定双方的行为patten,构造一种类似出牌的克制策略.

本身的手牌数量不会太多,只是考研的反射意识/匹配速度.

纯看面板数值系统的话,是没什么太大意义的.
或者说就是没有意义.

初期尝试加点了基础属性的天赋,然后马上发现没有效果,后面就全部忽略了.
主要还是看连击技能的产生效果,也就是手牌的模式积累.

这大概也是为什么会有方便的洗天赋的功能设定.
一方面是方面及时调整策略.
一方面也是为了玩得下去,不然一失足就得重开,加上难度系数,很容易劝退.

形式上来说,把血条和打击数值换成次数也是没问题的.
内容表现上虽然有不同的视觉效果,但本质就是一个时间序列的打击节奏判定而已.

如果没有在某个特定的时间节奏节点给出特定的手牌对应,基本上结果就是再来一次的.

当然,如果没有一个直观的数值系统的话,纯靠文字和高亮描述是比较难让人有直观的手牌策略的.

像打浪里个波的时候,难度可能主要在气力消耗控制上.
所以换一套水里套装的话,难度上应该算是大大减小了的.
但看纯面板数值的话,反而是降低的.

类似的还有黑熊精.
因为缺少材料,所以防火装备还有两件没打造出来.
但实际情况是一方面有防火袈裟,一方面本身就比较多翻滚,所以反而影响不明显.

所以,理论上来说,把数值系统去掉应该也是完全不影响核心玩法的.
只是可能不太容易让人接受.
比如换成打击次数计数的话,心智模式就不一样了.

其他的像隐身之类的附加系统本质也是手牌模式的扩充.
只不过是限定的出牌规则而已.

当然,这只是理论上或者说设计上要考虑的问题.

剧情方面因为被剧透过了.
所以倒也还好.

如果从纯零背景来说的话,开头的剧情故事线其实有些一头雾水的.
就是讲完一个故事然后没什么交代就开始旅途了.
而且直到第一回完才透露出找到大圣遗物这个点.

当然,如果从已经有上下文的角度来说的话,轮回设定下这种无头无脑的结尾就显得异常合理了.

包括第二回开场一身箭躺在那里也是.
叙事上某种程度来说,是有一种割裂性和断代感的.

但是同样的,在已知故事安排的前提下,就又显得异常合理.

如果把这个看作一种有意为之的话,倒可以把黑神话定义为一种新式的digital novel.
它跟日式的gal game不同之处在于,它是以某种形式的动作格斗游戏的形态展现的.

包括优先的地图和紧密节奏的boss战.
基本上叙事是游戏的一个相当重的要素.

不然完全可以做到更开放的世界和更少的boss节点的.

目前这种就是在优先的构造叙事里,通过模式化博弈/格斗的方式把游戏体验时间拉长.

就像digital novel是靠文字/图片/分支去填充游戏时长一样.
它是靠战斗系统本身去扩充内容.

这个就不得不让人联想到前些时候某司的某新游了.

某种形式上来说,两者的共同点都是工作室对某些元素有着不同寻常的追求,想各个方式嵌入.
甚至连外部玩家市场期待程度都类似.

但结局迥异的原因就有些微妙了.

所以,有些时候所谓正确的事其实具有某种程度的运气成分/偶然性的.

毕竟正确的一面固然是自身的坚持所定义.
另一方面还得是受众的理解和接受程度了.

所幸,黑神话做了一件,也做成了一件几乎所有人都觉得正确的事.




2024-08-17

SparkSQL解析的一些问题

最近在改一个SparkSQL AST解析相关的问题.
主要做一些权限管控校验重写的事情.

之前做过一版重写,现在反馈了几个问题.
一个是类似delete from table where子句的错漏.
一个是select from where not exists in (subquery)的子查询问题.

本质上其实都是同一类的设计缺陷.
因为当时并没有预期到expression的复杂性.

一般来说,不过是DDL还是DML语句,对应的AST的基本或者说主要语法要素单元是一个称之为logical plan的东西.

比如一个select语句通常对应的AST就是一个以project为root的向下由其他不同的logical plan构成的树形结构.

如果想对这个AST做一些动作,那么一个naive的approach就是针对各种logical plan做一个类似Finite State  Machine的东西,递归地针对各个单元做应该做的事情.

这个的一个问题在于理论上需要穷举所有可能的logical plan实现,以保证完备性.

第二个是一个工程上的问题.
因为选取的extension point的问题,得到的AST并不是一个直接的从SQL lexer而成的.
而是经过经过了一定的rewrite/resolve rule得到的.

这就意味着有些logical plan可能并不会出现在extension point的context里.
也有可能因为其他组件系统的演化问题,一些logical plan可能,也可能没有被rewrite成另外的东西.

一个显著的例子就是代表着通常所说的表带logical plan.
parser出来结果一般是一个logical relation.
但是由于有着一些系统演化的问题,它可能会被rewrite成datasourcev2 relation,也就是较新的datasource接口的table.
也可能是hive relation,属于hive catalog范畴的表.

也可能还是一个logical relation,比如没有被以上两者涵盖的部分.

更麻烦的可能还是其中一些具体实现涉及到文件路径也需要audit的.

当然,这个相对于第一个问题来说,还不是太大的问题.
毕竟case by case能够解决.

完备性的问题在于像iceberg之类的会对语法做扩展的.
也就意味着会产生意料之外的logical plan的情况.

它的问题是本身也是一个case by case的工程性问题.
同时还有一些runtime问题.

因为它不一定在某个场景里有存在/注册,所以在runtime需要一些比较tricky的东西去发现和适配.

当然这些终究还是一个工程上的问题.

开头说的两个问题主要还是因为FSM的设计只考虑了logical plan.
没有考虑内嵌其中的expression.

某种形式来说,就是FSM的完备性的问题.

如果要在FSM的基础上继续改进的话,也就是需要把节点往下拆一层到expression.

这个一方面是需要更针对性的对每个logical plan做specialize.
本身就属于逐渐失控的一种表现.

更重要的在于expression还有自己要解决问题.
因为像not exist (subquery) 这种是一类特别的expression,内嵌一个logical plan,resolve的call site context是subquery.
也就是里面的column/attribute的上下文是跟subquery有关.

而像delete where condition的where子句的expression的call site根据具体情况可能是from table也可能是包含了not exists(subquery)子句的复合型expression.

所以当这里需要校验expression所最终引用的column来自哪里的时候就具有一定的复杂性了.
单纯递归的时候需要根据expression的形态去选择具体的callsite.

这样的话就更进一步地对FSM的完备性提出了挑战和不确定性.

再一个就是column的resolution本身也不是一件水到渠成的事情.
例如
select 
  column
from (
    select 
      column + 1 as column
    from (
        select ...
    )
)
这种复合expression加alias的形式.

intuitive地方式就逐层针对具体的expression去解析然后递归向下.
而这个递归的过程不可避免地会存在not exists(subquery)这类特殊型需要辨别call site的.

于是FSM不可避免地explosion化.

一个可能更实际一些的方式是折衷化的FSM.
大致来说,上面提到的复杂的case都是基于query context的.

那么只要不对query context的logical plan做FSM就想对来说不容易explosive.

而query如果只考虑解析column引用的话,实际上还是想对简单的.

因为容易证明,所有expression reference的attribute无非指向两处.
一个是最终table的attribute/column,也就是期望得到的结果.
一个是指向其他直接或者间接引用了attribute/column的expression.
还有一类就是literal/constant,可以忽略.

于是对于一个well form的AST的expression来说,如果它不是一个常量或者直接指向一个column,那么它就是一个indirect column.
这个indirect column必然递归地会指向上述三种情况之一.

那么实际上对expression的递归过程只需要关注是不是指向了column或者常量就行了.
而不需要naive地去解析一一对应关系,只需要关注存在性即可.

当然,这里还可以有其他一些考虑.

比如在build FSM和column resolve的时候能不能stream build/one pass地完成.
以及难度如何的问题.

粗略想了下, 它可能类似于与constexpr或者constan.template/meta programing的范畴.
或者是一个NP/NP hard的问题.

因为理论上来说给定一个input,它的output是deterministic的.
它一方面需要的是如何像traveling sales man的看是否存在一条这样的branching路径.
一方面是要看所需要的context是否能够on-demand的生成.

如果条件/问题放宽一些的话.
就是如何尽可能地lazy而又尽可能所需要的东西evaluate only once的问题了.


2024-08-11

标准化支出

中午和人聊一些马克思和生产力的问题.
然后提到了生产力发展的另一种说法是生产力过剩.

某种程度上来说,基于允许一部分搭便车的社会主义生产力理论确实形式上要求着一定程度的产能过剩.
因为只有这样才能够使得搭便车的成本,或者会所才能忽略掉这部分成本,形式上让生产能够继续下去.

只有从成本上来说可以忽略,或者说允许一定程度的货损/坏账的情况下还能够运营下去,才能使得这套机制称之为完善.
不然生产力发展也解决不了所谓的共产主义构想.

但一个现实的问题或者说困境在于,作为过剩行业的从业者来说,可能具体感受不会是一个舒适的范畴.
尽管从宏观上来说,每一个行业同时也是另外其他行业的产能过剩的收益.

而这种形式上的mutual benefit的代价在于不存在一个溢价或者说剩余价值.
也就是没有人能够从这种发达的生产力/产能优势当中,有一个舒适的获利条件.

甚至于在具体的微观层面更容易存在贫富差距带来的感官不适应.
毕竟每个行业的单位产出或者所谓的必要劳动时间的收益是不同的.

也就是通常所说的收入和消费不对等问题.
高收入人群的购买力和进步的工业产出使得相比其他阶层的消费比例显得更低.

尤其在工业进到纯粹品质上不构成多余溢价的时候,差距更明显.

所以似乎产能过剩是一个社会主义必然而又无法逃避的困境.

纯粹理论上来说,这个问题是容易解决的.
因为它的target很明确,就是保证每一个阶层,甚至每一个人有着相似的收入支出比例.

比如饮食或者更容易理解的住房.
每个人的成本付出与各人的收入水平挂钩.

但它的实际问题在于,这种全面计划的方式虽然可能在今天的算力条件下是可能实现的,但是它并不是一个符合直觉,或者说当下容易让人接受的一个方式.

或者更直接的说,它不是一种可以市场化规模化的形态.

针对每一个人个性化定价即使可行,但也是不能解决问题的.
因为它使得定价本身缺乏意义.

尤其如果考虑卖家收入之后作为买家开销需要re-calculate.
这基本上最终会是一个类三体的混沌问题.

资本主义或者说西方角度这个问题是有解决方式的.
也就是所谓的阶级分化.

一个简单的例子就是富人区/平民窟,或者更直接的王室等级划分.
不同的社会阶级有着不同的消费习惯和基本约束.

尤其给予社交礼仪的服饰等礼制方面的约束,使得不同阶级有着各自的standard spending.

尽管从实际效果来说,并不一定能够其他好的standardize的效果.
但至少提供了一个体系思路.

它本质上是构建一种基于道德的礼制约束去pressure peer spending.
也就是通常所说的某种形式的从众排比驱动的消费百分比均衡化.

就像中国传统的等级制度或者官服制度一样.
对于不同品阶/阶级的人有着不同的开销上下限.

但同样的,引入或者重构这种阶级制度在中国也是一个不太现实或者说不应该考虑的一个事情.

一方面说重新阶级化也并不意味着能够解决standarize spending的问题.
因为某种形式上来说,它跟universal basic income一样,本质也是计划性的.

如果它能够被接受,那么意味着其他计划性的做法也开始可以的.
而且从实际效果来说,英法也并没有能够从这方面很好的解决问题.

另一方面,重新阶级化本身也是有一些问题需要解决的.
因为它需要像当初解决市场经济在社会主义中的理论定位一样,解决分配和阶级怎么和谐共存的问题.

原教旨的马克思主义是阶级导致的分配问题.
而如果现在要解决过剩引入阶级化分配的话,多少是有些不太自洽的.

本质上来说,它要解决的不是分配本身的问题.
而是所谓的再生产的问题.

spending不standardize的问题不在于分配不合理,而在于分配之后的消费/再生产不合理.
它本质上是分配对部分人过剩,而过剩的原因是对应的消费不足.

所以要解决百分比不对等的问题需要的不是阶级本身,而是百分比如何合理化地调整的问题.

阶级的方案更像是一种计划性摊派的指标.
而且纯道德礼制的约束并不构成一个很强的guarantee.

更合适的可能是带收税性质的强制性的方式.

收入税所得说解决的只是收入总量的调节问题.
甚至形式上并没有直接对消费做约束.

加上从绝对数值上看,贫富差距的程度是的这种调节并不会对standarize spending有什么影响.
意味消费价格水平放在那里.

直接对消费品征税也是一个道理.

本质是受到价格水平约束的.
而不是跟收入剩余挂钩.

更实际的可能是针对资产持有征税.
类似房产税.
但面向的是不特定的资产形式.

因为从流向上来说,收入剩余要么进入消费,要么进入再生产.
再生产有实际的投向生产实体领域,又有投向所谓的虚拟/金融领域,以持有各种类目的资产为主要形态.

于是,选择似乎是显而易见的.

2024-07-21

似有若无的悖论

没事翻了下美国gov spending的一些数据.
主要对比的是2024至今和2023同期累计的值.

光看绝对值的话,2023半年是花了6.1trillion,2024则是多了0.2trillion.

by budget function看的话,主要都是医疗社保国防卫生这几类.

不过看百分比变化的话.medicare从15.6%->17.3%,大约是多了100.8billion.
social security从15.6%->16.2%.
national defense则从14.5%收缩至13.8%.

对medicare分拆的话,主要是:
Federal Supplementary Medical Insurance Trust Fund增加了大概50billion.
Payments to Health Care Trust Funds增加了差不多30billion.
Federal Hospital Insurance Trust Fund增加了28billion.
Medicare Prescription Drug Account 增加了20billion.

这里需要注意的是分拆的开支包含和其他支出主体何必计算的.
比如Federal Hospital Insurance Trust Fund包含一部分treasury managed的account名下.

soical security的则主要是来自Federal Old-Age and Survivors Insurance Trust Fund的增长.
大概67million.
粗略看基本上就是整个social security的增长量了.

光看名字的话,大致可以理解为spending的增长主要就是医疗尤其可能是年龄大的部分的医疗开支增长.
俗称的老龄化财政问题.

按比例看的话估计差不多就是3%的年增长.
可能比gdp增长稍快一些.

不过查资料的时候倒是看到有2035部分开始入不敷出的情况.

看收入构成的话.
50%是individual income tax, 35%是social security and medicare tax.

用国内的术语来说就是个税和社保医保.

corporate tax只占10%,大概400 billion的规模.

所以如果减公司税的话,倒是确实不太会对财政造成什么影响.

反而如果MAGA行得通的话,就业上去劳动力增长带来的税后更有可能帮助美国走出赤字,从而避免/延缓债务危机和美元信用问题.

而且只要收入增长,那么对应的spending的压力也不会太大.

不看年龄结构的话,就算老年化问题以每年3%的速度增加负债,但差不多也能通过gdp/通胀同步消化.
另外就是这个其实还没算上潜在的经济增长带来的抹平.

然后就是贸易问题.

2023年总的import数额在3,826billion.其中中国是551billion.

假设个税平均税率30%的话, 2023年总的个人收入在6,300billion的规模.

简单换算的话,假设进口都是居民消费,那么面向中国的居民支出大概占据收入的8%左右.

所以即使加征的关税让价格翻倍的话,16%也不是不可接受的范围.
更何况还要考虑可能也不是完全没有替代.
以及MAGA造成的本地化的影响.

而如果按照这个逻辑换算中国数据可能就更不乐观了.
2023年个税收入是1 trillion的cny,按统计口径算的人均收入39218,折算14亿的话54.9trillion cny ~ 7.6 trllion usd.

出口总额23.8 trillion usd.
按商务部2024年5月数据,当月出口总额3,000亿usd,其中对美国出口1958亿.
按2/3折算的话,23.8*0.66 = 15.7 trillion.

相比美国居民承受的进口因素的物价变动,中国这边由于出口造成的出口收入比值是不容乐观的.

当然,纯粹看数字,假设来源收集资料也没错的话,中国的出口数据和居民收入并没有一个明显的直接关系.
或者至少从数额上来说,不是直觉上存在有相关性的.

所以反映的一个特点可能是出口经济在中国经济当中,对企业的影响力比对个人的影响里大.
收入的大部分波动可能更多的反映在企业所得税而非个人所得税上面.
毕竟纯数值上,甚至居民总收入也不大于出口总额.

于是,对于关税导致的外贸影响,更多的策略考虑可能还是在企业的转向或者转移上面.
毕竟即便考虑企业隐含的劳动力问题,本身也是企业转轨问题的一个子集.

要么出口外贸企业找到出路消化原有的就业.
要么其他行业吸收外贸劳动力.

但其他行业的吸收能力问题则可能涉及到对应行业的企业收入和工资比的问题了.

所以某种程度上来说,中国的产业结构升级可能还不是一个单纯刺激消费的问题.

毕竟从税收上来说,中美的差异在于企业和个人在经济增长中的分配贡献差异上.

单纯看数字比例差异的话,如果把中国经济发展造就了企业但没改善工人工资这点的话,倒可能也没什么太大的问题.

而与此同时关于企业抱怨工人工资以及五险一金成本负担太大的时候.
这种乍看互相矛盾的境地,也是一个可能比较有趣的问题.



2024-06-15

聊聊产能过剩及其他

最近尝试了下海淘.

当然,方向上来说是从国内到新加坡.

先是买了个iPhone,算上运费和双重征税,到手比官方还是便宜个一两百新的.
换算回来也不多事10%的纯粹价格因素差异.

当然,之类有电商促销的因素.
也有比较基准是新加坡Apple Store售价的原因.

但如果同样比较AppleStore售价来说的话,差异也是一目了然的.

这个还属于是相对标准化和差异化低的标的.
像一些生活日用品之类的,可能就更让人耐人寻味了.

从新加坡的角度来说,到手商品的总价格展现跟本地售卖的其实是没太大差异.
甚至严格来说,还是具有价格优势的.

那么这里的问题在于这个看上去fair的价格其实是普通的商品流通溢价加上海运以及多重税收之后的价格.

以日用品为例的话,可能每公斤的成本跟商品的售价是差不多的.

这个意味着什么呢?

假设商品A国内的成本是C,利润率算10%.
再假设这个利润率是折算了税收等.
或者简单说,在国内的售价是1.1C.

那么对应的在海外的售价折算运费和双重税收之后的当地市场售价是2.2C.

然后把视角切回本地制造商同等物料成本生产但是同等价格售卖.
那么对应的利润率就是2.2C-C = 1.2C.

当然这个120%之于10%有着比较大的模糊区间.
毕竟整体生产成本不太可能完全一致.

但是想说明的是产能过剩这个问题,以及中国特色的困境.

在中国制造还不那么强势的时候,把生产输出到低成本的中国生产平价商品再返销国内是个划算的生意.
因为价格相对本地生产确实具有优势.

宏观地说,厂商获得了更高的利润,消费者买到了更低价格的产品.
从进口国的角度来说百利而无一害的事情.

甚至于本国的产品还能以高端的姿态再反向输出到出口国获取即使在本地市场也难以获得的更高的利润.

这个模式有什么风险么?
一个易见的就是所谓的产业空心化和制造能力衰退或者说供应链依赖.

但这个也不是什么大问题.
不管有没有贸易摩擦地缘政治因素,只要价格保持在足够低廉的话,对于进口国来说也不是什么太大的问题.

问题在于足够低廉这个限度上.

常规的或者说stereotype的中国制造是低价,可能说好听点也就是物美价廉的小商品.

小商品的意思就是即使你垄断了全球的生产,但是因为单品价格放在那,整体经济和产业的影响也不大.
或者说对就业的冲击也不大.
因为规模再这么大,市场价值就这么些,换算成人力和就业,虽然有损但不算致命.

致命的在于当这种倾销是单品价值高的东西的时候,矛盾就显现了.

比如电动车,即使按照家庭消费年度折算也不算是一个低价品.
如果发展到像小商品的市场占有率,对就业市场的冲击就不是一个能够忽视的问题.

更严重的是因为这个市场价格还是在叠加了关税运费等额外成本之后才跟本地生产进行所谓的市场化竞争的.
那么,一旦此时的出口商也在进口国本地化生产,那么生产成本上的巨大优势在纯粹的自由市场下,原来的本地厂商是没有可能有生存空间的.

当然,这是在纯粹自由市场假设前提下.

但想说的是这个产能过剩的问题.
或者说为什么是比亚迪过剩而不是义乌小商品过剩.

而且某种程度上来说,中国制造也确实是过剩的.

这就是前面想说的中国特色困境的问题.

国内一个市场足够大.
所以一方面是需求有一定的体量.
同样的在市场经济下,供给也会有一个体量增长的过程.

就像现在所谓的喜欢说中国人卷.

因为这就是典型的自由市场特征.
只要有利润就有人加入.

它的问题是什么?

问题是虽然你制造能力推成出新,但对于企业来说并不能从生产力的发展中获得收益.
甚至某种程度上,生产力越发达,进入门槛就越低,竞争就越激烈,从而利润率就越低.

这是经典的马克思和西方经济学都解释或者说没有预期到的问题.

甚至于经典西方经济学还可能预言这种倾销能力会溢出占据海外市场,推高非本国商品的价格.
而实际上,确实反过来的,出海的商品是越来越便宜.

当然,这个可以简单地解释为定价权的问题.
一个是国内没有形成垄断,所以竞争决定价格.
二是国外没有品牌溢价,消费者认知不够,形成不了价格.

但多多少少是以结果论结果了.

本质是单一的厂商没有办法通过单方面的提价获得收益.
就像经典马克思的,社会必要劳动时间放在那,资本不可能获得超额利润.

某种程度上来说,这就是主义的必然内涵之一.
高度发展的生产力使得任何投机和搭便车都变得无意义,才从而实现的按劳/按需分配.

但从现实的角度来说,这还是一个需要解决的问题.
至少是在现阶段需要解决的问题.

国外价格上不去这个容易解决.
或者说本身是个伪命题.

因为出海的本质是国内利润率不高.
如果本身内需就足够了,那么海外也不是一个必须必然的选项.

所以从这个角度看双循环的话,重点还是在内循环的健康度问题.

国内价格上不去是经典市场理论框架下的问题.
完全靠随机自由主义无非就是一个三体问题.

要么是持续的乱纪元,保持现状互相厮杀红海.
要么是不定的恒纪元,像某些大型互联网平台公司动态寡头均衡垄断.

哪一个都不能说是一个合理有效的解.

那么有其他思路么?

竞争框架下谈这个问题的难点在于价格上不去.
所以利润总是有限.

而如果纯粹的把价格调上去,那么价格闯关时代的问题就可能重来.

或者就像现在的房地产限价.
行政干预使得价格硬化失去弹性,就会有一种诡异的僵持假死状态.

这种只能适用于需要冷冻慢慢处理的特殊case.

改开初期价格闯关的做法是通过提价的同时进行居民消费补贴的方式.
通过某种临时减少消费者成本的方式选取的一种过渡方案.

它的问题用西方经济学的凯恩斯角度来看的话,就是补贴在消费端.
然后通过这种价格提升来试图拉动促进经济发展,进而实际提高工资收入,以便后期补贴能够退出.

问题在于如果不能反哺提高收入,那么久容易陷入进退两难的局面.
补贴不可持续,不补贴企业可能又会有大面积的瞬时经营危机.

如果以操控消费或者增值税同时补贴的方式呢?

如果是提高增值税同时补贴厂商的话,那么可以实际合理地提高市场价格.
同时通过控制补贴容易微观和宏观上控制企业的淘汰数量.
但是因为成本通过消费者承担,所以这个涨价的选品和幅度就属于倾销进口国的问题了.

只能是针对一些本身单价不高对家庭整体支出不明显的品类.

如果是降低消费税的话,由于国内都是含税价格.
所以如果调整的话,可能有价格提高但是消费者不明确感知的情况存在.

但由于这属于一种终端/末端收税,所以能惠及的可能更多是产业链的零售端.
可能能够提高零售端利润率.
但由于市场因素,对于上有的生产端来说并不一定能够反馈到.

甚至于市场机制会造成零售终端会有更高的议价权从而反向促使上游进一步低价格产出.

而至于如果要增加消费税,那么显然要解决的不是这里提到的问题了.

增加消费税直接的收益是反映到税收和财政上.
间接一点到是影响价格.

可能是涨价,意味含税变化.
也可能是反向迫使生产进一步降价,意味终端消费能力排斥价格上涨.

但不管怎么样,结果可能都是指向由于消费者的逆向选择,而淘汰某些生产链条.
衍生的就是进口国成本压力的就业问题了.

所以现阶段可能更合适的是各种定向政策了.

2024-05-12

聊聊卡布里尼

最近看了部片叫卡布里尼,算是可能这段时间来比较有意思的一部电影.

故事也不算复杂,就是一个意大利修女去美国传教,建立慈善性质医院的故事.
某种程度上来说,也很一般的西方普世价值主旋律.

但是如果换一套叙事手法,比如共产国际的社会主义革命建立无产阶级广厦千万间的角度来看的话,也不是不可以.

当然,你可以说这是一种强行/牵强附会.

但是如果看完细节,估计可能会有所保留意见.

这片一开头讲动机就是直指中国,希望去远东亚洲建立孤儿院.
然后直到结尾回环成就的时候,又特别把在中国也建立的医院/传教作为一个镜头收尾.

中间倒是完全没有再提这两个字.

所以你说这个情节能不能去掉呢.
倒也不是不可以.

当然,你可以说这是为了尊重史实.

而且中国和共产国际也不是,至少即使在现在也不是一个等号关系.

这片的另外一个着力点在前期以及贯穿全剧的对意大利人的歧视.
夹杂一些其他诸如爱尔兰拉丁裔等移民的歧视.
然后修辞上来说,也是移民带着对纽约的美国梦远渡重洋,确是只能在一个平民窟聚集,生活得不如下水道老鼠.

这里对于这个题材的处理它没有用常规的黑人亚裔来引荐,而是用了同样算是西方印象的意大利人作为一个discrimination的图腾.
但是用词遣句上,你很容易会心一笑.

所有,如果说你要以批判题材来看这部片的话,它无疑有着更高的角度.
因为它无关肤色,纯纯的就是指责片中的美国是一个排外和高傲的偏见者.

甚至于片中的一些移民后裔promote到了一定阶级,甚至掌权之后,也不由自主地会有这种万般皆下品的自觉居高临下的时候,你甚至可以把它拔高到振聋发聩的体制问题,娴熟地操出体亏屁思的社会性问责.

你要说它没有阴阳怪气当下,没有一丝救亡图存的爱国热情在,也是说不上的.

这片还有另外一点可能是豆瓣民众喜欢的女性主义题材.
但它的恰到好处也在于它不是讲述女性的自我重新定义,或者说老生常谈的打破/重铸性别认知.

片中的修女压根没有打算去回应诸如你作为一个女人如何如何,应该怎样,取得了超越男人之类的成就的或贬低或赞扬.
只是纯粹的just do it,直直的就是作为女人是事实,希望做事也是事实.

two fold.
没有被带入一个命题假设,就没有必要考虑以什么形式回答.
甚至没有必要考虑命题的真伪.

这在当下简直是一股醍醐灌顶的清流.

就像这两天听bloomberg也提到了一个词,dominant narrative.
这个词的有意思点是放在当下看narrative的词根的话,也会有一种捧腹的双关感.

用一句耳熟能详的话来转译的话就是 你所热爱的就是你的生活 .
你想看到的是想让你看到的.

所以这片在谈论这个话题的时候,很巧妙的或者说很清醒的并没有进入命题内去作文.
而是选择了一个正常但是非主流的叙述方式展现这个问题的某种形态的荒谬.

就像这几天的百度PR问题.
当你掉入一个看似完美无暇的道德制高点舆论环境的时候,任何有悖这套体系价值的东西都会被批判.

如果是用某些团体惯用的形容就是文革.
或者对应的普世价值.

这几个的共同点在于它们有着尽管不同形态,但是同样具有至高authority的dominant的价值取向或者说陈述风格.

就像你不能说失恋关公司什么事一样.
只能说公司没有提供足够的情绪价值.

所以跳出过别来看这个问题其实就是意识形态作为一种控制和操控手段,在某些层面上已经失控了.

你不能说LGBT等曾经的minority的公平性倡议有什么错.
甚至于你也不能说现在人躺平追求WLB有什么错.

但是显然的,任何对抗或者试图转化这些观点的努力几乎毫无疑问的会遭遇挫折.

不像以前所谓垮掉一代的言论,最后常常会被证伪.
因为显然的未来可能并不像过去那样有着相对黄金的上身趋势.

所以很难说,你在抛弃了一些过去主动或者被动促使你进步的东西之后,会有着什么样的结果.

毕竟某种程度上来说,确实存在着ROI不构成有效区间的可能性.

但无论如何,就是大概率的事负向螺旋.
而且是难以挽回阻碍颇多的下钻趋势.

回到片子本身.

这片很难能可贵的用了这些几乎无偏的立场,用一个历史故事去阐述当下的一些问题.

当然,说它无偏可能也不盖然.
就像开头说的,你用共产主义去套,用中国经验去套,甚至你把黑色主色换成鲜红,你都能看到一种熟悉的叙事纬度和角度.

甚至于你把它作为脱贫致富消灭贫困来看可能也不会有什么意外情节.
尤其在谈到联合其他同样受苦的移民以及其后裔的时候,可能心中罗马教廷已经唱起了英特纳雄耐尔就一定要胜利了.

但即使是这一点可能过度解读的偏颇立场来说的话,也是一个相当令人震惊和意外的改变.

毕竟在欧美的心智模型里,英法大陆才是文明的起源,环大西洋才是世界地图的中心位置,美国才是新大陆,地中海航线是荣耀的财富记忆.
相对的亚洲则是向东的广袤无人区,非洲是炙热的无人区,南美是比新大陆还遥远的航海艰难的未开发区域.

在这种认知下能把远东的一个国家的某种甚至敌对意识形态的东西作为呼吁make America great again,解决重塑美国梦自信的解决方案的指引这点已经是相当难得的改变甚至说进步了.

剩下的一些比较有意思的可能就是对于宗教体系下的神职人员的奉献精神.
以及对应的共产主义/党员奉献相对比了.

尤其考虑现实中两者的体系都有着各自complicated的现实和现状.
但是对于这种时下所谓的苦难叙事的公众批判视角来说的话,社会响应就稍微有点大相径庭了.

当然,硬要说是所谓认知战/意识形态入侵也不是不行.

2024-04-14

聊聊RPM

最近没事找事打了个rpm包.

按理来说这种古老的东西自己这个年龄应该也早会的.
不过应该也就是应该而已.

接触之后发觉这个的思路还是挺有时代特征的.

原则上来说,它要解决的问题其实跟docker差不多.
甚至于抽象上来说其实是同一种方案.

dcoker无非是要求一个基础镜像给定一个基准的环境假设然后解决所谓的reproduce/标准化问题.

rpm技术上来说也可以说是同源的,基于rootfs的概念去populate成品layout.

不过有意思是一些设计上的约束.

比如概念上上需要制定一个source code的来源,以及整个rpm包的构建逻辑上就是一个source to binary的run.

所以你要会说他有一直用opensource的infection概念在也不是不行.
尤其考虑到年代上的各个发行版和license/gnu的关系.

当然,也不是说它是个强约束.
实际上你也可以只ship binary相关.

这个可能又涉及到一点也是具有年代性的设计.

用今天的话说,它的package spec也是一种DSL驱动的.
可能类似于nodejs生态.

但是它builtin的语义很少,更多的像是一种支持嵌入脚本的配置语言.
而各种复杂的routine是通过macro来扩展的.

所以如果你问chatgpt之类的一些解决方案,然后发现不能用可能并不是hallucinate,只是没有对应的plugin/macor而已.

当然,这里还涉及到另外一个问题就是每个发行版自带的macro可能不太一样.
甚至于并不代表有的macro就能使用.

因为本质上macro是一种prebuilt/predefine的scriptlet.
也就是它可能需要某些tools/command已经有了.

所以这里衍生的就是当时那个年代对于reproducible和standardize的困境.

不同的发行版对路径和默认配置约束不一.
有时候同一发行版对环境的默认ship的out of box的配置也存在出入.

于是,尽管rpm这种解决方案通过递归把依赖描述做到打包流程里了.
但是形式上来说,它还是不保证完全可重现的.

因为涉及到macro的支持完备程度.

也就是说,你不能保障某个macro在特定环境下的存在性和行为一致性.

这就导致了rpm对于基础系统的版本可能会有一个比较强的约束.

用今天的话说就是隐含锚定了某一个基础镜像.

而现在的docker/container方案本质上也逃不过这种约束.
只不过形式上被降低到了kernal版本上面.

以及像现在apple的m1/2/3出来之后,对于x86架构隐性约束的逐渐大众化.

所以有时候你就会发现,历史就是这么奇诡的往返盘旋.

你说现在的docker相较于rpm优异么?
可能也说不上.

毕竟本质上来说,大家同样是通过约束和expand约束来构筑一个相对reliable的运行时环境.

甚至于docker本身的问题在于它的daemon以及衍生的镜像开销问题.

毕竟虽然image看着解决的对于rootfs的近乎完美的约束表示.
但是随之而来的也是空间上的问题.

就像某个阶段大家可能都在想办法减少不同镜像支离破碎的rootfs空间占用问题.
毕竟理论上可能没有一层是reuse by other的.

然后为了解决这个问题一个路线是slim,/musl这些minimize base image的或者类似google jib这类尝试optimize need dependency的减少非必要依赖的方案.
另外一个路线自然就是提高layout到复用率了.

而相比较下,似乎rpm更可能原封不动的去达到类似的磁盘空间效果.
当然代价可能就是更复杂的隔离性技巧了.

如果是kvm的话,可能就是甚至解决了cpu架构的问题.
但代价可能是更底层的整体kernel IO/设备栈的重构/高度定制.

而如果只是为了解决reproducible的问题的话,可能非技术上的一些约束从成本上来说更有优势和见效.

于是这里就变成了,技术或者说解决方案本身是要解决什么问题的哲学命题了.

就像原教旨的马克思主义,生产力和生产关系的论述是要解决什么问题.

以及更重要的是能解决什么问题.
约束是什么.


2024-03-24

谈谈Netflix三体

这两天看完了Netflix版的三体.
某种程度上来说,完成度还是不错的.

尽管开始的时候对于第一集片头有些争论,但整体如果带入当下去看的话,还是有些梗的.

比如三体对于地球科技的发展速率的担忧,由此衍生的智子.
以及现有力量对比上的压倒性优势.

如果带入中美关系以及各自的历史阶段的话,某种程度上整片又变得隐喻重重.

尤其值得品味的是三体内涵里颇为争议的宏大叙事和举国体制部分.

这个在通常的西方视角里是很难有正面描述的.
而且恰恰好这点在国内的一些人群里也是颇为诟病的.

以至于一时间,这成为了刘慈欣的原罪以及三体这部作品的某种形式的污点.

而Netflix是怎么叙事的呢?

或者说,作为一个在中文大多数人口都无法正常订阅Netflix的前提下,对外声称耗费了巨资打造的这部作品显然从商业上的叙事对象应该是传统的西方观众.

那么在一个原生native的社会群体中,如何讲述一个社会主义性质的集体sacrifice呢?
这多多少少是有一些文化冲突.

甚至对于某些人来说可能是不适的.

所以回过头来看最开始的一段场景安排.

镜头语言最后落在飘动的红色和拒绝敌对西方的标语中.

而爱因斯坦有奶便是娘这个在一些中文观众里引起轩然大波的台词更是从结构和立场上鲜明地刻画了一个social fewer的病态氛围.

以这么一个irrational的tone的ending来作为一个故事的开头,这至少从朴素的编剧角度来说,是一种基调的打造.

而且这段剧情里有一个纯粹无神论的演绎.

放在西方语境下,多多少少是一种会引人政治正确性警惕的场景.
毕竟,stereotype里,教堂和宗教信仰差不多是必有的选项.

当然,你也可以说这部分是为了给叶文洁的转变做铺垫.

一个厌世的心理归因剧情安排,用来和后面的三体宗教化和反社会做铺垫.
尤其又加了一段疑似环保的伐木剧情,以塑造那种累了毁灭吧的心路历程.

但是在最后红岸的那场戏里,也明白无误地表达了某种程度的正面评价.

所以,从剧本的角度和塑造上,多多少少有些不是那么自然.

按照前半部分更多的叙事可能是想营造科学和神学共同坍塌的一种现世氛围.
毕竟一边是red fewer以及后续的science in the darkness的质疑,从而在神学与科学间挣扎的套路.

但可惜的是只有叶文洁女儿有直接的这种戏份,以及在最终reveal level 4前的侦探剧情有在往这方面靠近.
以及叶文洁在被主遗弃后也可以有这一部分,双双被抛弃的游离表现的可能的.

然后Netflix最终也还是没有让叶文洁走向唯物主义虚无.
而是归结回到神学救赎上.

甚至观感上有那么一丝丝典型的美式family结局感.
即便女儿以及自己的信仰本质上已经支离破碎了,但是只要上帝原谅了就足够了的,朴素的西方道德情操.

另外一点想吐槽的就是索尔这个黑人罗辑的逻辑.
作为一个花花公子 one night stand达人不用黄种人,但也不用白人就有些很political right了.

尽管传统银幕上的花花公子要么是英式白男,要么是美式白男.
但是传统形象在现代媒体上倒也不是不能展现,只是当你意识到这是一种stereotype/某种程度的正向racism的时候,PR神经可能就回迫使你打破这种固有印象.

所以,作为一个当代观众能理解选用非白人的context.

但是同样耐人寻味的是,这种角色即使在这种背景下,也很少会有黄种人出现.
即便从最原始的角色设定上来说,他就是黄种人.

还有一个场景就是作为EP holder看了会会心一笑的情节.

就是Nano Tech的那位小姐姐因为倒数,这种未知的某种形式的工作压力要罢工,take a break之类的时候,他的boss来了句你的永居是需要工签sponsor的,你不干就得滚出这个国家.

套用某群的一个称呼来说,就是鼠鼠人在新加坡吃着雪糕刷着剧,忽然就泪流满面了.

毕竟即使你是top engineer science,带着breaking的技术,可能是还是一个明星billion的公司的CSO,到底永居还是永居人下的意味.

回到价值观冲突的问题.

本质上来说,流浪地球里被攻击的宏大叙事,集体主义在三体里也是一个逃不开的点.

毕竟不管阶梯计划还是面壁计划,内核都是类似的.
甚至于面壁计划本身是一个高度专政,缺乏制衡的集权形态.

Netflix是怎么解决这种意识形态冲突的呢?

当女主用退出计划要挟boss的时候,自由市场的boss轻描淡写地表示,诸位要整顿职场也无妨,只是当下世界能给到fund的只有这个project了,爱留不留.

所以当时看到这个的时候就觉得这片多少还是能看的.

毕竟你很难有机会看到一国两制是怎么在意识形态领域里矛盾又统一的拥有两种表述的叠加的.

另外一个类似的量子技巧就是在VR level 3以前领悟的save one save all口号.

这个放在2019年前后或者流浪地球里就是饱和式救援或者集体主义的一体两面.

因为它本质上就是追求集体的存活率.
只不过从手段上有时候是保障每一个个体的基本生存,有时候又表现为牺牲一部分人换取另一部分人.

但无论如何从朴素的西方人权至上原则来说,都是至少存在瑕疵的.

那么如何让这种文化冲突本地化呢?

于是,这种争议性精神内核被套上了this is our children, this is our future.
特意设计了一个小孩的形象和mission clarify.

所以,当它别嫁接成了孩子优先这种同样朴素的西方道德约束,其他争议就显得没那么重要了.

毕竟作为一个影视作品,也不会有社交媒体账号用魔法对抗魔法.

对比下,反而最后一两话的就显得没那么出彩了.

尤其它没有给那种至高特权做一个民主化的构造.

这反而让人觉得到底是这是人类的一种通常制度/心态呢,还是Netflix也没有意识到这里有问题.

但至少,作为某种恶趣味的话.
还是挺希望看到第二季,尤其黑暗森林的不制裁就不会被制裁是怎么演绎的了.


2024-02-19

大力出奇迹

前几天Sora出来后才仔细看了下diffusion,发觉确实算挺取巧的.

按照naive的intuition或者说不那么现代的方式的话,可能需要segmentaion为基础的composite的方式去生成图片,即使扯点deep learning/network的,可能也是类似一些style transfer之类的加上去,从架构上看是比较可控/微调/可解释一些.

而diffusion的思路其实更类似gan那类.
并不寻求一个符合直觉的正向生成,而是采用了一个逆向的拟合方式.

既然经过network transform之后,天然地至少在某一层是一种没什么visual意义的雪花/噪声图片.
那么换个思路,如果可以拟合出一个反向的逆函数的话,就存在用一组看似噪声的高维数据来生成图片了.

也就是如果已知道一个视觉图像到噪声数据图片的变换
f(visual) -> embed(d) 

然后暴力拟合出一个逆函数.
visual <- f`(embed(d))  = g(embed(d))
的话,事情就简单了.

尤其如果training的时候把d拆成图像本身的一种变换加上prompt/llm space的embedded的两个线性变换去做的话,直觉上就容易出不可控/稳定的文字生成图片了.

因为形式上来说,llm本身有一定的描述能力.
毕竟只要文本源足够大,各种文字/词组之间的关联关系是可以以概率转移函数的形态体现的.

而image的某种transform再线性地见进去做training的话,本质上就是再给定一种新的语言预料去fine tune一种translation而已.
只不过这种新语言可能是一种像素分布的某类维度空间的re-projection.

当然,这只是一种直觉上的理解.

实际的结果可能也像stable diffusion这个ip所提示的那样,这种没有其他regularaion的生成图片可能很容易出现扭曲和错误.

所以基于这个大前提上的进一步的fine tune也可能有其他奇技淫巧.

像OpenAI的Sora白皮书里提到的SDEdit的思路.

它提供的是一种对于图片做一种指定区域re-paint/regenerate或者说patch/inpaint的算是工具网络思路.

大致的思路也是跟diffusion一样是拟合一个逆向函数.
对指定区域对应某个intermediate的高维或者结果的局部做replacement,然后再用拟合的函数正向生成回去.

这样一种局部diffusion的做法的可能的另外一个副产品就是对非patch区域的保真/稳定的一个网络.
毕竟,可能只要稍微调整下reward函数就可以distil出来了.

然后比如通过增减prompt的某些特定部分的差异生成加上这种preserve quality,就容易自身反馈地regularate出比较smooth的结果了吧.

而视频生成的话,看白皮书的意思是把帧间变换的patch当作某种形式的embed/prompt去做的.

所以思路上可能也没什么太大的新东西.

各家的差别可能也就在于training阶段堆叠的这些工具fine tune网络的多少和复杂度以及素材的多样性情况了.

当然,还有一个就是算力的能力/容量问题了.

基本上大力出奇迹这句话算是话糙理不糙.

形式上,这个行业可能更像材料/高分子化学这类略玄学的领域.
需要某种形式的天赋去炼丹碰运气.

你也不能说没有方法论指导.
但是正确的方法论/feature的选取并不能保证能出期望的结果.

毕竟产出的过程其实并不太可控,哪些因素影响结果的预期性其实也是个未知数.

所以某种程度上来说,DeepMind致力于医学和高分子领域这些,倒算是某种天命宿命的冥冥感.


2024-01-29

谈谈黄金饰品

这几天逛了下田贝水贝的黄金首饰.
就纯消费者角度来说,还是挺容易看出普遍点的.

一个是跟华强北之前一样,是个区域性的特定商品种类集散地.
可能少有不同的是华强北的电子器件属性决定种类上过于庞大,某些价格透明度可能不甚人意.

而特定到黄金这种首饰的话,虽然也是店面林立,但定价模式还是相对单一的.

一般来说就是根据所谓当日市场金价加上加工费构成.

消费层面的话,金价在这种市场模式下相对来说是透明的.
尽管理论上来说,是可以构成某种区域辛迪加强行制定非市场平价金价的.

但是从宏观上来说,这不是一个纯须区域性市场.
也就是说,并不是除了此地之外没有其他公开市场的.

所以联合金价这种非透明操作空间还是不大的.

而且理论上来说,这些首饰商的盈利模式可能也并不是这种纯零售/批发的模式.
更可能的是一种类金融的结构化期权模式.

按现在480一克的黄金市场价来说,已知的加工费在15-30之间.
回收价的话是在当前名义价格上减个10元左右.

也就是说,如果消费者以储蓄/理财的形式购买黄金首饰的话,买入的盈利边际需要在金价的5%-8%左右.
按照现在2.5%的利率标准换算的话,大概相当于4年期看涨期权.

这是纯买家侧的一个简单模型.

而对于卖家侧来说,情况可能就复杂一些了.

因为首饰到底是出售的一种黄金现货.
这也就意味着卖家必须持有一定的黄金实物.

尽管理论上来说,首饰商可以用某种黄金期权锁定抹平黄金价格成本.
但不管怎样,从长期或者宏观上来说,卖家的持有成本可以认为是一个相对固定的常数.

那么这里就存在一个基础盈利区间.

即极端情况下卖家的持有成本在减去相当于常数的加工费之后,依然是负的.

或者简单来说,卖家的利润空间在一定程度上可以简化为:
Profit = Gold(n) - Gold(0) + Curving
即期末的金价Gold(n)减去期初的金价Gold(0)加上一个相对于金价基数浮动的固定加工费Curving.

所以宏观上来说,它的利润存在一个直接的双重buffer空间.
因为利润由金价价差和浮动加工费控制.

长期看,非极端情况下是可以保证一个固定的Profit的.

在考虑周转率固定的情况下.
这个Profit就是某种形态的固收.

按照前面的10%左右的差价空间计算一年周转的话,就是一个年化10%的固收产品.

当然这是按照回收加上高加工费计算的.
但即使按照一个相对保守的估算,4%左右的年化还是有的.

这里的另外一个硬性假设就是1年的黄金周转率.

看了下一些研报的数据,存活周转率方差比较大.
大多数可能在2-3左右.

在不考虑实际销售情况的前提下,理论上来说固收可能在8%-30%的区间.

当然前提是不考虑实际的销售展开/市场竞争情况情况.
毕竟这是一个更为动态的变量.

如果考虑一些设计/品牌溢价的话,那是另外一套盈利模式.
虽然理论上来说两者并不是互斥的就是了.

而且某种程度上来说,确实存在着这么一种形态的生态链.

比如品牌公司的高阶产品的利润空间可能主要在IP溢价.
毕竟这时候成本还需要加上营销和设计方面,纯利润比例上可高也可低.

而像水贝这种零售批发代工一体化的区域的话,对于一般工艺可以有各种级别的仿品,甚至是刨除品牌溢价的非贴片成品出现.
这个层级的盈利模式可能就是纯粹的理论上可以靠周转率的白粉生意了.

尤其从微观上来说,给定一定的版型/设计,这些商家是可以做各种微观上的大范围适配的.

因为原品牌可能在克数和具体工艺上有着相对固定的几个款式.
对于不同消费层级的人来说,并不具有一个比较弹性的适配空间.

而一般珠宝商在自己特定的价格定位区间是可以通过保持外观一致趋同的前提下,通过控制克数比如中空,工艺细节的劣化/量产化来达到成本和价格的相对大范围弹性区间普适的.

所以如果非要说这种周转率游戏的区分点的话,可能就在于针对这种价格弹性的成本能力了.

一种极端的形态可能就是对各种版型的快速劣化适配能力.
毕竟抄版型可能不是一个很难的问题,难的可能是在给定客群定位的预算约束下实现尽可能的外观体验还原.
以及对于不特定群体的不特定需求的成型成本.

就像可能类似服装行业的单一样式的流水线生产成本如何轻量化的一个问题了.

而对应的,版型/知识产权保护的一个思路可能并不完全是设计的事情.
可能还需要考虑一些特殊工艺的成本,提高侵权成本以及对应的实现成本.

另外可能需要的就是对这些特殊工艺的宣传植入.
毕竟有些工艺并不是明显可见的/显著本质不同/恒久远的.






爽文

去看了好东西. 坦白说,多少是带着点挑刺的味道去的. 毕竟打着爱情神话和女性题材的气质,多多少少是热度为先了. 看完之后倒是有些新的想法. 某种程度上来说,现在的年轻人或者说声音就像小叶. 只要说点贴心的话就能哄好. 也是那种可以不用很努力了. 留在自己的舒适区避难所小圈子抱团就...