Categories
我的生活状态

家庭常备药

由于过去两年连续搬家,我不得不回归极简主义,能不带的就不带。大部分情况下这其实是是个很好的解决方案,让我越来越能想清楚什么是必要的什么纯属囤积癖。

但俗话说得好,不怕一万就怕万一。在我一轮又一轮的清理物品过程之中,优先清理的就是会过期和已经过期的东西,比如药品和化妆品。比如,上一瓶泰诺还是covid之前买的,一大罐子直到过期也没用掉多少。然后在法国的时候就悲剧了一次,过敏药也被我清掉了,于是某次食物过敏突发寻麻疹,又赶上大周末的,满巴黎搜了半天才在游客区找到一家开门的药店,赶紧冲进去买了法国版的抗过敏药。药到病除是必须的,否则当晚可能就无眠了。

这次也是大意了,一直拖拖拉拉没有检查自己的药箱。然后就murphy's law,赶上独立日,突发高烧。也不知道是怎么个情况,想检测个covid发现没有检测棒,查了一下附近的检测点也都关门了。想出门买发现没有口罩,想吃点对乙酰氨基酚发现家里没药。纠结了半天,还是硬着头皮找到一家开门的cvs买了个检测棒,走自助结账安慰自己至少保持了社交距离。

检测出来结果是负的,长舒一口气。但发烧流涕嗓子发炎还是逃不掉,买了一大瓶对乙酰氨基酚凑合过着。还好有些csv在独立日是开门的,否则我又一夜无眠了。不知道若是赶上圣诞是不是就彻底寄了,只能真的一夜无眠了。

还是要乖乖的囤一点药。比如对乙酰氨基酚是一定要囤的,泰诺或者其他牌子都可以。然后就是抗过敏药,我这个食物过敏时不时来一下真遭不住。然后就是消炎抗生素,比如外用的红霉素软膏,内服的头孢青霉素之类。其他可能应该囤点胃药、助消化的、止泻药,口腔溃疡药,等等。最好是我和我的猫都能用的药,因为她生病比我还能折腾,兽药买起来比人用的还费劲。

仅此提醒自己还是要长长记性。

Categories
我的生活状态

加州的农场主

搬到新家之后发现楼下居然每周六早晨都有农贸市场(farmer's market),有点像国内赶集的样子,很多农夫们会亲自来卖他们自己种的新鲜蔬菜水果什么的。

美国在超市买的很多水果蔬菜其实是没有味道的,比如番茄和草莓,因为商业社会最关心的是好运输,其次才是品相味道等。就算是去whole foods花高价买水果,也免不了偶尔踩雷。

农贸市场就不一样了,首先你可以尝。我第一次去的时候看到一个摊位,一位有点上了年纪的老板娘,一个人只卖蓝莓。看起来蓝莓的尺寸不大,但可以尝嘛。于是好奇地过去尝了尝,发现这才是有滋味的蓝莓,立马下手买了一盒。老板娘叮嘱我说,记得回家不要放冰箱,如果当天吃不完就放在纸盒子上,第二天味道不会变差。

那大概是我这么多年少有的吃到的有味道的蓝莓了。自此之后,但凡我周六上午没事儿,总会下楼去溜达溜达,看看老板娘来没来,来的话我就又有美味的蓝莓了。

今天不出意外,又见到老板娘了。她有着加州人特有的热情,以及对自己产品无比论语的自豪感。在生意不忙的间歇,她就跟我闲聊起来她家农场。她父亲七八十岁的人了,依旧在每天辛勤地打理他们的农场。今天不仅仅见到了蓝莓,还看到了蟠桃,蜂蜜,一些蔬菜和我叫不上名字的一种草。蟠桃没有试吃摆出来,我就问老板能尝尝么。她说这个切了就容易放坏,但非常甜,让我放心买。果不其然,这和超市里看起来很好看却没什么味道的蟠桃完全不同,这是真正有桃子味道的蟠桃。一盒七八个,到傍晚时分,已经被我炫了一大半了。

老板娘还说起,她的农场里其实离我这边四个多小时的车程。这让我多少有些惊讶,因为我们这个农贸市场显然不是附近规模最大的,她为啥特意开这么远的车跑来呢?每次还只看到她一个人。她说,她孩子和孙辈都在这附近住,于是她每周往返于农场和孩子家,顺便周六早晨来农贸市场摆个摊。换句话说,若不是她孩子家在附近,我可能就无缘吃到这么新鲜且有味道的水果了。很多时候,老板娘周五晚上才去采摘水果,这样周六我买到的就是几乎最新鲜的,比超市通过不知道物流链周转多少遍的水果自然是好吃的多。

加州其实是美国最大的农业州。中部谷地形成大面积的平原,适合种植各种对光照温度有需求的植物,比如绿叶菜。临近山区的地方,又适合种植稍微喜寒的果木。很多朋友家的后院都是种啥长啥,让人无比羡慕。在这边超市可以轻易买到各种新鲜的物产,每年夏天便成为了我幸福感最高的季节。

加州的大小农场主们,又有着一种与生俱来的责任感。就算很多东西通过大规模物流超市贩卖并不一定可行,但他们也会通过农贸市场等渠道把最好的产物分享给附近的居民(另一种常见是和餐馆直接签订供货协议,所谓farm-to-table)。

吃到有味道的水果,还可以听听真实的人间故事,也算是添加了新的记忆的一天。

Categories
互联网产业观察

被归纳迭代统治的世界

在这个AI快速改变世界的时代,园主已经从一开始被GPT表现出来的潜在智力的震撼,到现在对于层出不穷的图像视频音频AI工具有点审美疲劳了。去年的时候和朋友们感慨,在归纳和演绎之间,这个阶段归纳的力量远远超越了演绎。算力的突破仿佛像《三体》中描述的突破智子封锁一样,让可以被计算改进的模型都深深享受着巨量数据带来的断层优势,层出不穷地展现着未来的可能性。

AI模型之外,很多产业也都被基于数据的归纳和快速迭代逐渐颠覆着。shein在快时尚的成功,是千千万万的时尚元素排列组合迭代出来的。时尚爆款可能是玄学,但只要样本量足够大、选择足够多,就一定会出现几个爆款,然后只要快速跟进就可以吃到一波流量红利。类似的玩法不仅仅局限于快时尚,但凡是“义乌制造”可以连夜复制出来的消费品,都可以用这个打法。譬如手机壳,原型相对固定,考验的是设计师的创意和流行元素变化。看一个纪录片说,人们平均一个月换一个手机壳(可能是北上广的消费数据),那么消费者对于新意的渴望就成为显而易见的需求。

从文字,到图像,到视频,到落地成为一件工业制造品,快速迭代的可能性充分地考验着人们的贪心。行业之中的人们各司其职, 努力地优化着每一个可以减少成本或者提高效率的环节。那些看似玄学的艺术和非理性,最后也没敌过归纳和迭代的降维打击。

毁灭吧,消费主义快点变回极简主义吧,要不园主实在是跟不上这个光怪陆离的世界了。毕竟这人脑子还是习惯基于演绎的思考,重新训练到归纳的角度有点超出人脑算力和记忆存储的局限了。以有限对抗无限,怪不得庄子说,

吾生也有涯,而知也无涯。以有涯随无涯,殆已;已而为知者,殆而已矣!

附录:看到一个纪录片《这货哪来的》(B站的?)来的灵感,把这些观察串联了起来。

Categories
我的生活状态

城市,语言与印记

我看的电影电视剧不怎么多, 自我归因是我的情感其实很丰富,容易入戏太深。偶尔沉浸一两次无妨,天天沉浸这就要命了。情感丰富的体现之一就是代入感,容易把自己带入到戏中人物的情感波折之中。若对方所处的情景、地方或文化又是我略知一二的,那就更要命了,会让我不自主地联想起来很多前尘往事。

我是个一直在城市里生活的人,习惯的是密集的楼房里面大家各自忙碌的身影。然而我生活过的那些城市,每一个给我留下的印记又是个有不同的。生活过和旅游过的城市区别挺大的,因为只有认真地去生活过,才会更努力地融入当地的文化,学习当地的语言,才会在心里狠狠地扎根。在中国,北方和南方的文化已然不尽相同。在美国,西海岸的风情独自摇曳。在欧洲,南欧和西欧又相互纠缠。居住城市的变化也伴随着自身年龄的增长和心境的变化,在每一个特定的时点发生的故事并不会那么容易再重复一遍。

最近在看《繁花》。因为年少时在上海生活过一些时间,稍稍能听懂一些上海话,便更有了代入感的韵味。很多东西会随着时间流逝, 却并不是雨过无痕,心中多少留了个交流承载着那时的印记。我一直觉得我是一个勇敢的人,在二三十岁的年龄做了很多看似疯狂的事。回头看,有的时候会惊诧于自己当年那里来的毅然决然的行动力。眼瞅着奔四十岁越来越近,却发现这份勇气已然变成了个性中无法磨灭的一部分,无论外界环境已经如何天翻地覆。这或许是年少的时候在上海滩听过了太多的传说,这或许是旧金山的淘金热和硅谷的创业交错,这或许是巴黎的批判风情和巴塞的特立独行,年少的我血液中一直沸腾着“生于忧患,死于安乐”,绝不会像平淡如水的现实妥协。

每一场冒险都是要付出代价的,每一个决定都是一时冲动的。或许是生活过的城市在我身上留下了这般印记,也或许是我不经意间选择了这些气质特殊的城市。空气中交织的是那些鲜活的记忆片段,亦是倔强的个性。

永不言败。越是困难,越是折磨,越磨练人的心性。

Categories
日常应用

小试自定义GPT

最近不是在折腾LLM嘛,于是就试了两条路子:用openai的api,以及直接在openai的界面里面创建GPT。

前者没啥特别的,chatgpt的api做的很成熟了,from openai import OpenAI 之后直接在python里面调用几个现成的函数就好了。可选的参数其实也不多,主要就是prompt写的好一点就行。我的要求也不高,试了试基本满足。此外我还用到了微软 azure api,也很方便,两者一结合基本一个app就搓出来了,只是暂时还只能在命令行运行,没写前端ui罢了。

后者就麻烦了。我想着自己写前端ui还挺麻烦的,就想偷个懒直接在GPT里面弄弄看看行不。结果呢,现在这个版本实在是太挫了,只支持最最基本的action,虽然可以调用其他api,但还没研究出来怎么实现用户上传的文件扔到action api call里面。搜了搜他们的论坛也没啥结果,然后心累就到此为止了。

最后贴一下如何在openai 的GPT里面调用azure api。主要是api key那里实在是反用户直觉,我找了好久……一定要选 custom 然后把自定义的名字设为 Ocp-Apim-Subscription-Key 才可以。贴个图。

自定义 action -> authentication -> custom header name

当然azure api的文档做的也很差就是了,经常搜出来的是过时的文档,试一试都是404错误。哎,时间都花在这些琐碎的调试bug上了。

最后的结论是,在现在这个阶段,openai GPT的多模态做的还是太封闭,只适用于比较基础的交互需求,得等到后面允许自定义编程更丰富一些才可以。想做的稍稍复杂一点,写ui是逃不掉的了。web版还可以写个python+js凑和一下(flask这么轻量级的web开发框架真的是效率提升利器),app版xcode看了半天发现也是一等一的复杂……说好的ai改变程序开发呢?叹口气……