@Lenciel

真的有了搜索

本站一直有个小秘密,就是右上角的那个搜索框其实是假的:无论你搜什么,我都会带你去看那个卖萌的 404 页面

这是因为前面有说过,为了保持一点前端开发的体感,本站从一开张,不管是 Jekyll 模板(居然得到了我持续地更新)还是编译部署脚本(也已经是个颇为壮观的 Rakefile 了)都是手搓的。而当时尝试了一下 Lunr 等方案后,感觉把任何支持中文分词的本地搜索整合进这套工作流实在是太麻烦,于是铤而走险,行骗至今。

随着文章数量的增加(更可能是记忆力衰退),本座常常需要借助 Google 的索引来找到某个我「好像写过的东西」。加上最近看到 pagefind 似乎颇为可用因为我发现 xkcd 使用了它作为搜索的解决方案,这个周末就尝试了一下。

Pagefind 的 slogan 是「static low-bandwidth search at scale」,从试用的情况看,它基本上做到了。当然,要把它集成进来还是要花点功夫。

首先,需要安装一个 extended 版本,来支持中文。

然后,默认索引出来的日志标题都是错的(会变成网站名),需要按照文档里面说的做一下 override,比如我是在 post/page 模板里加上 metadata:

<h1 class="entry-title" data-pagefind-meta="title">...</h1>

同时,为了让 Pagefind 不去索引标签页等特殊页面,我还设了一些全局配置给它:

force_language: cn
site: _site
glob: "*[!s]/**/*.{html}"
exclude_selectors:
  - "#links"
  - "#recent-posts"
  - "footer"

最后,因为 Pagefind 默认提供的是一个搜索页面,而我是一个搜索框,所以我需要把查询词提交和结果显示的逻辑和页面拆开。

当然,这些都是在本地的工作。根据发布方式的不同,往往还需要在工作流里面增加相应的任务。比如我是在 Rakefile 里面再增加一个任务,在发布之前调用:

desc "Build Pagefind Index"
task :build_pagefind do
  puts "## Building Pagefind Index"
  system("pagefind_extended")
end

老规矩,各位朋友可以帮忙测试一下,如果有问题请给我留言或者邮件,谢谢😄~

必须是一个机会(2)

接着上篇聊,我认为中美关系的变化究竟给我们技术行业带来什么变化…

川普上台肯定会干一堆我们不喜欢的事情,包括关税加码,进一步限售和制裁,本土制造业回流,但会带来什么实质性变化?

那不如先看看今天整个局面究竟是什么样,再说会怎么变:

  • 芯片和元器件,特别是高端芯片(CPU/GPU)的设计主要在美国;
  • 芯片和元器件的制造基本在日、韩、我们的台湾(高端一点的)和大陆地区(低端一点的);
  • 最终硬件产品的组装基本在中国大陆地区(高端一点的)和东南亚拉美(低端一点的);
  • 硬件上的操作系统、中间件的设计和开发主要在美国,很多核心应用软件也在美国。部分软件,主要是应用层软件,在其他地区包括我们国家开发;

背后的原因当然在各种视角下可以被分析得五花八门,但核心其实是道数学题:单位经济模型。

  • 两头的工作,芯片和元器件的设计,以及软件开发,特别是跟硬件绑定深的操作系统、中间件、核心应用软件,边际成本最低甚至可以认为无限接近于 0,因此经济模型最好,美国人主要干这个;
  • 生产制造是边际成本比较低的,经济模型一般同时需要大量的经验和吃苦耐劳的产业工人,所以美国外包给了关系好的亚洲地区,包括改革开放后的我们;
  • 硬件组装是经济模型最差的,我们叫它「劳动密集型」,之前大量在我们国家完成;

这个要素当然还叠加了美元的地位(虽然布雷顿森林体系崩了但实际上仍然是一霸)、全球化(和平时期大家可以只看经济发展不考虑地缘政治)和摩尔定律(硬件成本迅速下降使得保有量指数级增长)等等东西才造成我们今天看到的布局,但它是最核心的。

所以,我的感觉是:

1.发生翻天覆地变化就算可能,也需要很长时间

认为不可能变也许是错的,但今天的局面要打破,并不容易。

我们要搞芯片设计,搞操作系统,搞那些边际成本低的事情,意愿没问题,主要是会不会。现在被各种封锁,只有一点点精进,需要时间。

美国还有想不想的问题。比如,要把制造业回流,看起来是个缺乏产业工人的问题(其实是选择带来的结果不是做选择的原因),背后是雇主企业的经济模型。

说白了,美国这堆科技公司如果不再拥有亚洲工厂,也去干经济模型不行的活,都撑不起今天的市值。所以,喊制造业回流,其实只是流出中国,往东南亚整。

东南亚产业工人水平不够接不住的,就还只能放在中国。

这背后涉及的政治和经济上的考虑太多了,大家往各过各的方向去的决心再大,短期变化也不太可能。

除非,真打仗了。

2.两边都有了解题思路,我们应该抓住机会

美国现在一个核心路径就是押宝自动化和人工智能,让生产制造组装这些环节也变得经济模型足够好。

如果它真搞定了,这个竞争它多半就赢了。

但我仍然觉得人工智能里面有巨大的泡沫,希望我是对的。

我们这边,反过来,有两个非常明显的优势。

首先我们有足够多的人才。

全球有三千万软件工程师,中国有七百万。

算上加班时间,我们有差不多一半,🙄。

硬件工程师的数据我手边没有,估计也不会差。

我真的觉得,这里面最厉害的一群人,别去搞什么 AI,什么具身机器人。

老老实实写操作系统,写中间件,写我们自己的 Unikernel、数据库、CAD 软件,EDA 软件。

不能只有华为有端到端从硬件到欧拉到鸿蒙的系统。阿里应该有,腾讯应该有,小米应该有。

我们还有足够大的市场。

这意味着如果单位经济模型好,会有一个足够大的奖励。

为什么那么多公司下场造车?因为硬件成本会下去,上面的软件会赚钱的。

什么是新质生产力?中国不能长期是卖酒的卖水的卖奶茶的企业做首富。可能起步的时候是某个外企的代工厂,某个开源项目的分支,但最终应该掌握边际成本足够低的产品如何去生产、制造、销售。

国家给了这么多政策、资金,还只需要在国内竞争,要抓住这个机会。很多人以前干软件公司,特别是 SaaS 啊什么的干伤心了。这次,直接干成中国的比尔·盖茨。

美不美?