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也没有意识到这里有问题.

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


牛来餐馆

看了欢迎来龙餐馆. 总的来说,作为一个院线电影,成品多少是有点不太匹配的. 看起来更多像是一部网络大电影. 尤其涉及到一些大场面特效的时候,可以看得出服化道的降本增效. 剧本层面有一些比较有意思或者说闪光点. 就是试图用一个餐馆或者厨师来串起一个比较宏大的叙事题材. 这个可以说是...