2025-05-14 08:00:00
注:这段对话节选自某次自盟与第三新港市外贸活动后自盟这边的会后总结,原对话是用英文进行的,翻译机的翻译结果可能会有些不准确。
“那家伙当时说了那么半天,就翻译成他要走了就完了?“
”没啥问题吧,翻译机会替我们隔离掉无关信息。“
”也对,我们是来做事的,只要能完成任务就好了。不过你说他说这个是高兴还是不高兴?“
“有什么区别呢?跟新港市的人交流你不用翻译机会变成跟他们一样的。”
“不是说他们是因为疫情有传染性才成立新港市吗?”
“那时场面话,有传言说这个疫情根本就不存在,是杜撰出来的。”
“啊?那他们成立新港市是为了啥?”
“利益呗,你看看现在这一百多个新港市,放到五六十年前都是大都市的,据说,我是听一个20后大爷说的,当年他们城里人认为没法跟城外的交流,就宣传有流冠疫情,本来是想借口隔离搞独立城邦联合体,结果没想到成就了现在的自盟,他们反而变成保守派了。”
“那我们究竟算进步派还是保守派?”
“啥也不算,我们技术上先进主要是因为现在自盟里这些大城市很多都是对面叛变过来的,要知道进步跟保守都是相对当前的不同选择策略,进步就是所谓没走过的路,保守就是走老路,但历史告诉我们人类其实一直在换着名义走老路而已。本世纪初有次新冠疫情知道吗?那时候就有隔离与共存两条路,你觉得哪个是进步的?”
“共存吧,共同进化。”
“那你知道当年最早提这个路线的是当时的英国保守派吗?而且你也不能从结果上来反推,距离那次疫情前还有次所谓的非典疫情,也是冠状病毒,当时就是靠隔离彻底消灭掉了,隔离策略就应是最进步的,如果初期控制好了就没有后面的事了。”
“那你说的意思是我们现在的很多选择也不一定是对的?”
“不,我的意思是讨论进步与保守是无意义的,依靠定性判断来指导当下很容易触动概念背后的倾向性,此时会降低对事实的关注。”
“啥意思?”
“你改造了多少?”
“就一条腿跟新能源心脏。”
“这么说吧,新港人对时间的概念跟我们是不一样的,他们会来不及而我们不会,因此我们不需要价值观,或者说我们可以兼容任何价值观,情感波动对我们只有美学意义,但对新港人而言却可能是生存的意义。”
“所以呢?”
“所以翻译机会帮我们过滤掉那些与我们目标无关的信息,你试过关闭翻译机吗?”
“没有,不是说只能通过翻译机来接触新港人吗?”
“胡说八道,你出生那会新港市还不存在,翻译机还不普及,你说那时候怎么跟他们打交道?”
“但是……”
“今天我们去的是第三新港市,疫情前叫做孟买,你知不知道他们官方语言其实就是英语?”
“那我们为什么还需要翻译机?”
“这倒是个好问题。只要你想交流,语言不通就是个借口而已,而如果你只想做必要交流,那么翻译机是必备的。你们这一代人的耳朵从很小就被耳机保护了,或者说覆盖了,具身发电技术成熟后的大多数服装都是电池芯片混纺材料,所谓翻译机不过是衣服上能耗极低的联网应用程序,离开自盟后自动开启漫游模式很正常,据我所知很多住在自盟的人是全天开翻译机的,也不是不行。”
“不过自盟跟新港市现在基本是人口自由流动的啊?这么明显的区别怎么别人没跟我说过?”
“那我问你,你愿意关闭翻译机吗?”
“语言相通直接交流不就行了,为啥不能关?”
“如果真能正常交流,可能就不会有自盟跟新港市的区分了。你知不知道空域游民所谓的月球语其实也是英语?”
“不可能啊,我完全听不懂他们的话,那个是必须开翻译机的。”
“那恐怕你也听不懂第三新港市的英语。你知道自盟内部的官方语言也很多样,互相交流也是需要翻译机的,我们的理解语言的能力其实已经被翻译机驯化了,这样当然有好处,毕竟内部交流会非常顺畅,但自然语言里本来存在的重复、冗余还有仪式感就被当作无意义的部分切除掉了。你知道吗,现在我们可以口述编程,仿佛我们的语言就是编程语言,但倒推几十年的语言学研究重点却是如何解析自然语言,那个时代有所谓的大语言模型,终极目的就是让机器更像人。”
“机器更像人?”
“对,那时代存在很多无实际意义的工作,例如很多政府公文全是假大空话,但写这种公文却是需要专门的选拔与训练,那时亚洲很多国家的年轻人都热衷考公务员,让自已成为体制螺丝钉去运转,学一套程序语言或体制语言。但大语言模型出来后,人们发现他们特别擅长去创作这种文字,这让很多习惯了程序性工作的人失去了工作带来的意义感,而另一方面,在使用普及大语言模型的过程,语言模型本身承担了教育作用,塑造了后面这几代人更有逻辑或者更适合编程的语言风格,而大语言模型也就火了十几年,后面就是基于世界模型的元人工智能时代了,此时人们已经内化了所谓的大语言模型。我们可以自称自己的语言更进步,但需要给进步加上一些语境,而更广义上的进步新港市的人恐怕是不会接受的。”
“不过如果说慢一点,我应该也能听懂吧?”
“不一定,刚才那一段我让翻译机进行如实转录,你看看能不能看得懂,好像还是出自上个世纪的名著影视:
The relationship which I might tentatively venture to aver has been not without some degree of reciprocal utility and perhaps even occasional gratification, is emerging a point of irreversible bifurcation and, to be brief, is in the propinquity of its ultimate regrettable termination.”
“这是英语?”
“If you ask me for a straight answer then I shall say that, as far as we can see, looking at it by and large, taking one time with another, in terms of the average of departments, then in the final analysis it is probably true to say that at the end of the day, in general terms, you would probably find that not to put too fine a point on it, there probably wasn’t very much in it one way or the other. As far as one can see at this stage.”
Ps. 刚注意到《南极谋杀案》已经一年多没更新了,要是忘了前面,可以看这里。
2025-05-14 08:00:00
In the world of high resolution mass spectrometry, Thermo .raw
files are a common format for storing raw data. However, processing these files into more accessible formats like mzML. To make this process easier, ThermoFlask—a Flask-based web application designed to simplify Thermo .raw file processing is developed.
ThermoFlask is a lightweight, user-friendly web application that leverages the power of the ThermoRawFileParser to process .raw files. Whether you’re a researcher, data scientist, or bioinformatician, ThermoFlask provides an intuitive interface to upload, process, and download your data in just a few clicks. You can also deploy it as web service and here is a demo website using this docker image. You can also find the source code on GitHub.
ThermoFlask is packed with features to make your workflow seamless:
Batch Processing: Upload multiple .raw files at once for batch conversion. Flexible Output Formats: Convert .raw files to mzML, indexed mzML, Parquet, MGF, or metadata-only formats.
Custom Parameters: Add custom arguments for advanced processing with the ThermoRawFileParser.
Debugging Support: View command output directly in the interface for troubleshooting. Download Results: Easily download processed files through the web interface.
Getting started with ThermoFlask is easy! Here’s a quick guide:
You can pull the prebuilt Docker image from Docker Hub and run them locally using the following command:
docker run -p 5000:5000 yufree/thermoflask:latest
Upload and Process Files: Open the web interface, upload your .raw files, select the desired output format, and start processing. Once complete, download your results directly from the interface.
Alternatively, you can build the Docker image from the source code. Here’s how:
docker build -t thermoflask .
docker run -p 5000:5000 thermoflask
The application will be accessible at http://localhost:5000.
ThermoFlask wouldn’t be possible without the incredible work of the ThermoRawFileParser team. I also thank the Flask community for providing a robust framework for building web applications.
2025-05-11 08:00:00
首先,你要是个中年人。然后,买完菜去二手店溜腿,在这里大概率能让你发现被别人放弃但不代表你也要放弃掉的东西。这里面有很多很有创意的东西,但很明显原主人在购买后就再也没用过,然后就被捐了。例如,在最近一次闲逛中,我看到了一个滑板,我现在有理由相信当我看到滑板是脑子想到的场景跟原主人看到滑板所产生的联想是差不多的,所以刷卡带走。
回家路上,我选了一条林间小道,因为可以立即实践下几分钟前的想象,摔了也不丢人。然后,当我双脚离地了,智商就重新占领高地了,因为我发现仅是站在板上不动都很难做到。这时选林间小道的优点就出来了,你不会被路过的人看到,但会被在林间小道骑自行车的人关注。在看到我几次上板又几次跳板后,骑自行车的一个大哥过来友好打个招呼,他甚至还会说两句中文,他说我从你一进树林就注意到了,开始觉得你是个老手,板是个老板,不戴护具就敢上板,而且还背着个大背包,上板方式非常另类,完全不像新手,但看了一会发现不对劲,因为你虽然一次也没摔,但也没滑成功。额,我很友善表示对方想多了,板确实是个老板,因为我是一时兴起在二手店买的,不戴护具是因为我不知道需要护具,背着包是刚买完菜,上板方式另类是因为我根本不知道咋上板,没摔则是因为虽然不会滑,但我逃生意识还是比较强的。然后他聊起自己练滑板的经历,二十年前去中国的经历,新冠期间打疫苗的经历,然后我们交换了联系方式。
回到家我还是在想如何滑滑板,因为家里铺着地毯,所以就在地毯上又尝试了下。地毯的摩擦力明显高了很多,因此我这下可以站在板上了。但培养爱好还是要从打好基础,按照自行车大哥的说法,滑板属于童子功,他现在能滑依赖的是大学时代的肌肉记忆。我现在已经快四十了,之前只滑过两次旱冰,四个轮子的鞋都摔了很多次,别说肌肉记忆了,肌肉都没多少。万事不决就上网,很快我就搜到一套视频滑板入门教程,一口气看完,边看边在地毯上实验,教程里说练习上板要一个月左右,但基于地毯上成果我发现一个小时就可以。
然后,我来到了铺着木地板的餐厅,板往地上一放,走你!然后,我没有摔,但也没站在板上,而是一脚把板蹬飞,人冲了出去。刚开始我庆幸没摔,然后就意识到另一个问题,板去哪了?很快我就注意到板撞墙了,而且把墙撞了个洞。
真正的爱好都是在不经意间出现在眼前的。面对眼前墙上这个洞,我大惑不解,因为我理解墙应该是实心的,为啥会撞出个洞?仔细看了一下,撞碎的是一层木板,木板后面似乎还有墙。这种结构叫做隔墙板(dry wall),在骨架上盖了块石膏板,国内比较少见,但美国几乎所有非承重墙都是用这种结构,当然这种墙面你没法挂重物,但如果你知道骨架位置,也是可以挂的。别看这墙不结实,但修这种墙是有标准套装的。在研究完中美非承重墙差异后,周末我去了超市找这种套件。
这种套件一般有四个部分,一片补丁网,一桶腻子,一把刮刀,一组砂纸。跟外科手术类似,首先清理伤口,然后贴上网格化的补丁,然后用刮刀把腻子抹到补丁上,等补丁干燥后,用砂纸打磨墙面。这一套我其实不是第一次买,之前住纽约的时候墙面发霉,新冠期间不想让人上门修,就网购了一套自己在家里补墙,不过那个墙是实心墙,所以前后我买了两桶腻子才把发霉的墙面全部修好,因为没有石膏板,所以补丁也没用上,这次算是第一次补这种美国特色夹心墙。不过补完了打磨后又出了新问题,腻子的颜色偏白,补完后墙上像是多了块补丁。
我的问题必然也是大家的问题。查了下发现补墙的腻子单纯就是补墙,想修复需要自己去刷漆。然后,我的第二个课题来了,如何配色?我本身对颜色描述不敏感,在我眼里口红里存在色号差异跟五颜六色的黑是一个概念,虽然我能看出颜色差异,但不会描述。不过显然我不是个例,美国人的解法就是你带一块墙到家具店,然后让店员用一种机器来检验颜色并找出对应颜色的墙漆。在去家具店的路上,一辆车突然停到我面前,里面有个中东大哥从驾驶位拿着一条金链子说自己钱包丢了,想换点现金去吃饭,后座上一位妇女两个小孩,给了20美元链子自然是不敢要,万一来路不正麻烦更多,大哥似乎有点感激,我就当是遇上美式诈骗了。进了店里很快就找到了对应墙漆,回家几分钟就补上了,颜色这回是对上了,但还有点纹理区别,不过这就属于超纲内容了。修完墙,另一个问题就出现了,墙是如何防腐的?
为此周末我去了康州南部的神秘镇,这里有世界最大的海事博物馆。当前全球造船业基本被中韩两国瓜分,川普上任时就声称要重振美国造船业,而这家博物馆就有修复很多17、18、19世纪船只的工坊。之所以关注造船厂,主要是因为船只防腐一直是个大问题,而工业革命之前的船大多数船还是木质船,很容易长船蛆,也就是一种长在木头里的蠕虫,这跟木质墙体防腐防潮是相关的。18世纪的应对方法是在船底包裹一层铜皮,不过木质船的船钉多是铁钉,铜皮铁骨不但代表坚固,也代表原电池,曾经就出现过铁钉被腐蚀完了铜皮直接脱落的事故。工业革命后出现铁壳船,更是电化学天堂,博物馆里就有一艘训练用铁壳船,这艘船曾经沉入海中带走了几十人,后来被捞出来接着干活,现在则被放到了博物馆,这也是我第一次登上一艘已经沉过海的船。这里有一个有意思的故事,世人都知道五月花号是第一艘到达美洲的船,但其实还有三艘船到的更早,其中一艘Susan Constant号的20世纪复刻版现在就在这个博物馆里修缮,这是一艘纯正的商船,来美洲就是来做生意,没有宗教迫害,也没有五月花公约传世,甚至连感恩节火鸡的故事都套不上。但以我对美国的了解,这艘做生意的船其实更能代表美国人,当然就没有那么多传奇性了,这种建国叙事有助于巩固国家认同,但叙事跟历史一定要分开讨论,否则后面只能用更多的错误来掩盖前面的错误。
在这里,我又了解了捕鲸活动,这项业务曾经非常火爆,主要是鲸鱼油脂在煤油出现前一直是最优质的油料,后来石油时代来临才留存下了我们今天能看到的鲸鱼。鲸鱼其实跟美国颇有渊源,早在殖民地时期捕鲸就是从英国获取信贷的主要来源之一,而在美国搞淘金热的同一时代,捕鲸是美国第五大产业。有意思的是,在石油取代鲸油的过程中,石油最大的作用反而是提升了捕鲸的效率,而鲸油很长时间也被用作工业发展的润滑剂,20世纪见证了人类捕鲸的最高效时期,然后就快速衰落,毕竟过度捕捞下再高效的捕鲸技术也没法发现不存在的鲸鱼。到今天,美国鲸鱼产业则彻底转成了观鲸为主的旅游项目。
然而,日本在2019年退出了国际捕鲸委员会,重启了商业捕鲸。当然日本人不需要鲸鱼作为油脂,其重启商业捕鲸的主要动因是想保持吃鲸鱼肉的文化传统。这点我其实不太理解,就像外国人也不理解为啥中国人喜欢吃鱼翅燕窝一样,类似的不理解还有很多很多,这类打着文化传承旗号的传统在现代社会还有多少保留的必要我其实也没有答案,也许让这些东西保留在博物馆的展柜里比保留在现实生活中更合适。钻木取火是我们智人的文化传统,但不代表我们现在点火也要保留这个手段,该进入历史的就让其进入历史吧。
其实这就是我培养爱好的过程,爱好也不应该被设定为某种目的性的项目。我想练好滑板,结果真正练好的是补墙技术,而透过墙的存在又可以了解船只、捕鲸活动等有趣的主题。这些奇奇怪怪的知识并不是以有用为目的而获得的,更多像是探索迷宫时打开的一个个宝箱,里面装了些破烂但有趣的玩意儿。我观察到很多时候人们聚在一起所聊的主题更多是所有人的经验交集,房子车子票子本子孩子,这些东西聊来聊去也就那么回事,变成了一个又一个的人生主线任务,做什么事都想走个捷径找个最高效率,这样既累也没意思,早晚会被人工智能冲击成找不到存在感的行尸走肉。
窃以为爱好这张考卷,不是得分越高越好,而是你想得几分就得几分,不多也不少,这其实比一味得高分更有意思。
2025-05-06 08:00:00
Recently, I updated the GlobalStd algorithm in the pmd package. The new version includes several improvements and bug fixes. Here are the details:
getpaired
function was re-written to improve the detection of redundant peaks. The paired mass distances (PMDs) are calculated for each retention time clusters. Then redundant peaks will be found in each cluster. For isotopougue pairs, the new version can detect them using network clusters of isotopologues and the lowest mass peak is retained for the following analysis. I also added a feature to detect multiple charged isotopologues clusters and those ions will be removed from the following analysis. Then I updated the multiple charged ions detection to remove all the paired ions for further analysis. The left paired ions will be used to calculate the frequency of PMDs within the cluster and each PMD will only be count once for each cluster. After the detection of high frequency PMDs within retention time clusters or potential “common in source reactions”, this function will return the PMDs for those redundant peaks, as well as the label for isotopougue, multiple charged ions and multiple charged isotopologues. Here, the ions retained in the high frequency PMDs will not be treated as multiple charged ions.Compared with previous version, new function added the feature to detect multiple charged isotopougue and improved the detection of redundant peaks. The code is easy to read with isolation of inner functions. The output of this version will be similar while more accurate compared with the previous version. I removed the pmd2
column in the output data frame and user can always calculate those values from pmd
and corresponding plot function has added digits
parameters to control the visualization.
getstd
function was also re-written to retain independent peaks. The new function didn’t change the original workflow while make it easy to maintain and read. The corcutoff
parameter was moved to getpaired
function as correlation cutoff was used to filter paired ions instead of standard ions.
globalstd
function is a wrapper function for getpaired
and getstd
functions and has been updated accordingly.
I changed the name of getcluster
function to getpseudospectrum
function and also be rewritten to focused on the recover of pseudo spectrum from MS1 feature table. This function will no longer use getstd
function and will directly use getpaired
function to generate the pseudo spectrum. If the independent peaks were used, extra merge process will be involved as previous version and the pseudo spectrum numbers will always be less than the independent peaks number. It will still output a vector stdmassindex2
to find base peaks for each pseudo spectrum. It will also tell you the coverage of explainable ions coverage (~70%) in the data. We treated the ions within cluster while without passing PMD relation correlation cutoff as one pseudo spectrum, which might introduce a false positive for data using correlation cutoff while keep the opportunity to check them later.
getcorcluster
function has been changed to getcorspeudospectrum
function. The new version will use the same logic as previous version to detect psudo spectrum based on correlation of ion’s intensity and will also output the independent peaks with the largest m/z peaks and the base peaks with the largest intensity in their corresponding pseudo spectrum. User can use both getpseudospectrum
and getcorpseudospectrum
functions to generate pseudo spectrum and the latter functions will have less numbers of pseudo spectrum. I would recommend to use getpseudospectrum
function to generate pseudo spectrum with a better explanation of the ions. The return object will contain a pseudo
table instead of clusters
table for further investigation.
globalstd
vignettes has been updated.
If you are using the previous version, it’s recommended to update the package to the latest version on GitHub. The new version is more robust and easier to use/maintain. If your code failed after the updates, it might come from the removal of pmd2
column and you can always generate this column by round(pmd,digits)
. If you have any questions or feedback, please feel free to reach out to me.
2025-04-16 08:00:00
同一天研究了两样商品,一个是号称来自美国的辅酶Q10,另一个是号称来自日本的主厨刀。前者是我妈发过来问抖音上买的保健品是否靠谱,后者是油管广告的疯狂推送,结果发现都是商业上算成功但本质是忽悠,这里我把思路放到这里。
首先是保健品。第一步到美亚上找品牌,没找到。因为外包装上有美国的地址,我搜了下这个地址,结果发现是民用住宅,现在还在往外租。然后又查了下该地址上公司的名字,发现这是一系列公司里的一个,都是两三年前注册,注册人人名都是中国人。其实查到这里我就基本有数了,因为之前我帮另一个亲戚查过类似的保健品,那个是走线下宣讲的,挂了个中科院博士的名号,赶巧了咱也认识不少有这个名号的,但据我所知科苑的书呆子一般不会用这个名号走江湖,最后查下来就是个美国皮包公司,定向骗钱的团队。这里的关键是千万不要搜中文,这伙人会去做一个英文界面,甚至会买一些新闻报道让稍有疑心的人在搜的时候看到相关讨论,我尝试过各种搜索引擎,都有类似问题,但国内那几个更严重。具体到这个保健品,也是同样的套路,如果搜中文同样能搜到宣传稿,甚至有事实核查稿,写上一开始不放心,后来查到确实是美国品牌,有品质保障云云。这个辅酶Q10在抖音上有几十万销量,且不论是不是卖电话卡刷出来的,但很明显很多人是信的,而且确实也是保税区发货,需要身份证报关。不过我顺手调查了下辅酶Q10的生产工艺与产地,这些现在用deep research都很快,报告显示当前辅酶Q10原产地80%都是中国,美国保健品大概率也是中国进的贴牌货,那套路就很明显了:先在美国注册公司,然后在国内生产或代工,公海上转一圈运到保税区,然后巨资在抖音上投流走量,同时在网上发几篇中文报道,然后就可以吃到国内品牌与美国品牌的差价。在这个过程中,消费者各种猜忌心态都已经被预判了,甚至那些搜过的人信的更深。另外,考虑到辅酶Q10除了保健品用途外还有个化妆品用途,估计也是个诈骗重灾区,化妆品行业在过去一二十年用各种话术让女性把化妆品重定义成护肤品,从一个非必需商品变成了必需品,那也是没少下功夫的。考虑到本博客那本就不多的女性读者,后面的我也不喷了,感兴趣自己查,每个人都要为自己的认知水平付费,我在钓具上也没少被忽悠。
再来看这把刀。油管上这个主厨刀则是主要忽悠美国人的。这个刀外形很奇特,刀身上有个孔,有独立域名的英文网站,英文宣传资料说是日本匠人设计,下面也搞了个日本匠人图片,然后说要清仓,原价100刀3折只卖30刀。你要说美国人花30刀买把厨刀确实不贵,甚至在亚马逊上同款卖40刀还能冲到品类第一,但我一看这个官网就产生了严重的国内模版网站即视感。直接右键查看源代码,搜索 made in,结果没找到。转头到亚马逊商品问答搜,结果发现确实是国内产的。那下一步就简单了,直接开淘宝以图搜图,然后发现国内卖的同款的名字叫做指环剔骨刀,是给屠夫用的,售价30人民币,里面用的图甚至都跟美国网站上一样,很明显就是一套模具。查完了非常感慨,一把国产屠夫专用刀,到美国就成了日本匠人设计的专用主厨刀,身价在打折后还能翻七倍,充分说明了文案的力量,或者叫赋能。从这种投流模式上看,主要投的是油管广告跟亚马逊,而且是集中时间投流出爆款,商品评价都是最近一两个月的,应该是把B站按摩仪那种套路输出了,还真就是对美国人优化设计的商业模式。从销量上看,美国卖的比国内可好太多了,要故事有故事,要设计有设计。
这两个案例并不特殊,只是这两个案例都是这周二晚上同时出现的,我也是当晚就查出了结果。类似的大小商品我今年查过的没有一百也有几十,不论是针对国人设计的套路,还是针对美国人的套路,每次查完都很恍惚,因为这里面涉及的毛利都很离谱。这些商业模式你要说是诈骗吧,其实更多是真话不全说,假话暗着说,利用了消费者对一些事物的光环与想象,赚的都是消费者的认知稅。说这些不是说我会免疫,很多时候我查本身就是因为已经被忽悠了,只是说查的更深了一步,现在有了AI搜集资料查起来更方便了,商家对消费者的预判是要警惕的,不然功力不够查完了会更容易上套。
有空刷剧看电影,不妨去研究下这些天天蹦出来的广告,自己探索现实世界里的套路比听故事可刺激多了。
2025-04-14 08:00:00
空气炸锅是我22年在黑五期间用不到40刀从百思买里搬回家的。这个价格看起来便宜,其实我内心是嫌贵的,毕竟这个东西核心部件就是年龄大一点的可能见过外置电热丝加热的家用热水壶底座配上一个笔记本散热器的风扇,用个铁皮一包加上滑动变阻器与计时器控温就可以了。作为一名合格的工二代,我很小就接触过电烙铁、焊锡、继电器、电路板这些玩意,自己也焊过板子,反倒是动辄上百刀的空气炸锅让我感觉莫名其妙,不清楚价格咋定的,多了的功能我也不需要啊。
用了两年多,前两天空气炸锅突然就不工作了,这点我非常不理解,毕竟这玩意电路简单到几乎没法坏,网上一搜发现很多人遇到了同样的问题,计时器工作风扇不转然后扔了去买更贵的品牌货去了。实话说空气炸锅现在也就是四五十刀就能直接从超市搬回家的商品,但既然坏了不如拆了看看哪里坏的。网上很容易就搜到了类似款的拆机视频,有意思的是里面也是提到计时器工作风扇不转的症状,而问题出在炸锅下方的一个微动开关上。这个开关使用一个物理按键来控制电路,当取出炸锅空腔时,物理按键弹起,电路断开,放入空腔,底座一个凸起会压下物理按键,电路接通,基本就是一个最简单的单刀开关。视频里提到这玩意很容易坏,验证方法就是你把微动开关输入输出短接风扇就可以工作。这活我熟啊,拿来螺丝刀三五下就拆了底座,短接后一通电,果然风扇转了。然后视频又说,可以从香港买这个部件,也就1刀,运费不到5刀,一共6刀就可以修好了,而且香港的这个部件比原装的更耐用。那我肯定当场下单了,只是此时价格变成1.99刀了,看起来关税加的还算保守。
不过既然发货地是香港,八成应该是国内产的,于是我到阿里巴巴上找了下同款,其实这个部件也可以用在微波炉上。以图搜图现在很方便,价格最低不到0.1美元,批发价更便宜,也就是说,就算批发价是成本价,那么卖到美国的经销商也有十几倍利润。然后我又搜了下美国当地现货供应的同款,虽然产地大概也是国内,价格就能飙到十几刀,最贵的能要到二十多刀。但别忘了买这个锅一共才花了不到40刀,修一个不那么关键的零配件竟然要用一半的价格,确实不如买个新的了。从这个意义上看,这类技术含量并不高的零配件利润竟然有上百倍,145%的关税在这个利润率面前显得比川普执政还可笑。当然,这玩意利润高但销售量确实也不会太大,但会留下一个有意思的问题:美国人为啥可以接受经销商的剥削?中国人为啥会卖这么便宜?
最表层的答案自然就是信息差。一个美国人不懂中文,空气炸锅坏了又会认为这玩意需要专业人士才能修,考虑到美国极高的人工费,修不如买,直接换新的就可以了。中国的生产商那边基本也不考虑维修的量,毕竟微动开关这东西属于工业制成品的原材料,走量赚个固定10%利润就可以了,而且产能过剩背景下你卖贵了还不一定能卖出去,而出海对厂商探索成本比较高,还是交给其他经销商来赚这个差价吧。这个信息壁垒虽然已经被互联网打破了,但你无法打破每个人的认知局限性,哪怕知道可以买到更便宜的或可以卖的更贵,但因为每个人日常还要操心更多的事,反正本来也不贵或出货也不多,就花钱图省事了。
再往下一层,就是双方的定价策略是不一样的。当市场成熟到一定程度,市面上商品的价格其实反映的是目标人群消费能力的上限而并非成本加固定利润率。我常用的一个经验公式就是计算所在国人月均GDP,绝大多数工业制成品的年化定价都会在这个数的个位数百分比附近。例如,我国人均GDP1.2万美元,那么月均1000美元,那么我国工业类商品年化定价一般会在10美元到100美元这个区间里,例如手机三年一换,每次换个2100元的中档手机,那么年化定价大概就是700元不到100美元这个价位,家用电器一般都能用五年到十年,年化定价也在几十美元这个档次。有意思的是这个公式在发达国家同样成立,在美国很多工业制成品不论美国产还是海外产,到这边定价也会变成跟人均GDP对标,绝大多数商品都会在这个范围内定价以在最大化受众与利润。而奢侈品的定义就是价格超过人月均GDP的10%,或者简单点就是超过月薪10%的东西对个人而言就已经是奢侈品了,这类产品就不是定位给大多数人的,但在其目标客户那边,定价同样不会太离谱,毕竟过高的售价会减少潜在的客户,而购买奢侈品的主力军的收入水平其实恰好在收入临界点上,买了有幸福感这样才会给使用者最大的购买动力。但另一边,定价也很难低于在国人月均GDP1%,如果过低购买者会认为一分钱一分货,便宜没好货,因此依赖国际贸易的商人就可以稳赚不同国家最低定价商品价格间的利润。另一个简单的例子就是数据线,在美国买数据线几美元到十几美元都算是一般人认为可接受的价格,但国内数据线一般就是几块钱到十几块就可以包邮了,而数据线的批发成本只有几毛钱。
这里的玄机在于在中国很多工业制成品生产工艺已经非常成熟,同行间虽然存在竞争但到一定程度就会达成价格联盟。这里的价格联盟不是几个厂商大佬坐一起讨论出来的,而是要综合生产成本、物流成本、广告等因素由市场调节达成的当地公允价格,这个价格下大家都还有的赚,否则肯定有人就因为恶性竞争转行了。此时定价策略就变成了成本加固定利润率了,由于中国是制造大国不是消费大国,产能过剩大背景下这个定价肯定是低于发达国家的,而消费主导的发达国家里商人是卡着消费者接受的上限来定价的,这就造成了很大的利润空间。在这一层就不能怪信息差了,很明显出问题的地方在于人们被自己收入水平限制了价格想象空间,因此就算依然存在品牌间的竞争,其可获得工业品的价格也跟工业品制造成本没多大关系了,更多反映了其收入可接受的消费水平。在商家的定价策略下,大多数消费者事实上被困在了经济系统的稀缺性假设上,消费者会用收入的稀缺性来判断商品的价格合理性,而不是真的去了解下商品本身行业的生产率已经夸张到了什么程度,这当然反过来进一步加剧了贫富分化,大多数人会被自己的工资硬控一生,总是买那些让别人觉得你应该有的商品而不是你真正需要的东西。我的另一个经验公式就是大多数人无法想象超过自己当前收入一倍人的消费方式,原因就在于大多数人工作三四十年退休算,如果你平均每年工资涨幅能保证3%,你退休前的工资大概就是刚入职时的一倍,如果不是在风口上你跟本就不会接触到更高收入的那部分人,而保证每年3%的涨幅有多难相信工作过的都有体会。
现在我们再往下一层走,就可以考虑下经济系统里数字究竟代表了什么。一个电子元件,原材料成本可能也就1美分,加上人工水电设备折旧,卖10美分市场可以接受,但同样商品跑到另一个国家卖2美元市场还可以接受,那么最该质疑的其实就是价格本身。这个标志价格的数字究竟有多大意义是在这一层需要思考的,价格是用来交流价值的,但很明显体现的却是不同定价策略。普通人眼里价格是成本加利润而商人眼里是目标人群的收入百分比,而因为现代商品种类实在太多,一个对家用电器定价如数家珍的老油条去化妆品店买化妆品也可能被忽悠成二傻子,此时价格本身其实就是经济行为博弈里的筹码,如果这个筹码在不同收入水平的国家里无差别流通,那么肯定有人是在赚差价的。例如在中美贸易里,大多人就盯着里面的顺差逆差玩数字游戏其实从一开始就找错了解决问题的方向,甚至都没找到问题,这里面最大的问题在于国际贸易的最大受益人是谁?是普通美国人吗?并没有,他们的日常商品确实比几十年前便宜了,但定价依然会卡到我前面那个经验公式里。是普通中国人吗?这个有一定道理,但只要你有超过十年的购物经验,也会发现工业制成品的定价也卡到了经验公式里,你的收入增长了,但价格也增长了。这里最大的受益人其实是贸易环节上的经销商,他们熟悉价格里面的数字等价性,从定价策略里赚走了最大的利润,而很多人现在还以为他们赚的是固定利润率。当然,确实有些行业赚的就是固定利润率,但他们不会告诉你利润率有多少,毕竟这也就是个数字。利润无国界而资本永不眠。
当前的经济系统喜欢谈稀缺性、市场竞争、生产率、消费需求,但在很多行业稀缺性本身就是被刻意制造出来的,其中最被刻意制造的就是工资稀缺性。只要你的工资永远赶不上你的需求,那么稀缺性定价就一定会继续起作用。然而,对于系统性产能过剩我们甚至都没有经济系统可以来进行定价,例如阳光算是地球能源除了核能外的唯一来源,但我们不会去交易阳光,毕竟出门就能晒太阳。现在其实很多工业品已经不存在稀缺性了,但依然被价格系统与收入强制制造了稀缺性。这让我想起了小时候听的一个笑话:
一个胃疼的病人来看医生,医生建议他回去洗凉水澡后再来,病人问这样可以治疗胃痛吗?医生说这样大概率会得肺炎,而他擅长治疗肺炎。