每一次科技革命的到来,都必然会引发世界财富和就业领域的大洗牌,每一次产业革命,淘汰的都不是不努力的人。

淘汰的不是努力的人,而是无法适应变化的人

1. 努力≠有效学习与进化
农业革命淘汰了只会狩猎、拒绝学习耕种的人;
工业革命淘汰了只会手工缝纫、拒绝学习操作缝纫机的裁缝;
信息革命淘汰了只会打字、拒绝学习电脑操作的文员。
他们的努力可能停留在重复过去的经验,而非面向未来的技能更新。

2. “努力的方向”比“努力的程度”更重要

  • 马车夫在汽车时代越努力养马,越可能被淘汰
  • 胶卷工程师在数码时代越努力优化胶片化学配方,转型越困难
  • 传统零售员在电商时代越努力推销店内商品,可能越难适应直播带货
    他们的努力聚焦于正在消失的赛道

3. 产业革命真正淘汰的是“思维刚性”
科技革命淘汰的是:

  • 认知固化者(认为“从来都是这样做的”)
  • 技能单一者(只有一招鲜,缺乏跨界学习能力)
  • 风险规避者(害怕离开舒适区尝试新工具)
  • 系统依赖者(只会在原有系统中优化,不会重建新系统)

4. 幸存者的共同特征
历史表明,能在产业革命中存活甚至崛起的人,往往具有:

  • 敏锐的环境感知力(提前嗅到变化)
  • 快速学习迁移能力(把旧经验转化为新技能)
  • 心理弹性(能接受暂时的失败和身份转换)
  • 协作进化意识(主动融入新生态而非对抗)

当代启示
在AI革命加速的今天,这个规律愈发明显:

  • 淘汰的不是体力劳动者,而是可被算法标准化的脑力工作者
  • 淘汰的不是使用工具的人,而是拒绝理解新工具逻辑的人
  • 淘汰的不是某个职业,而是不能持续重构自身价值的生存方式

真正的“努力”,在这个时代应该定义为:
持续校准方向的学习力 + 敢于打破经验的重塑力 + 在变化中寻找新可能性的洞察力

所以,面对科技革命,最危险的状态不是“不努力”,而是“很努力地做注定被淘汰的事”。保持警惕的恰恰是那些在旧体系中最成功的人——他们的成功经验,可能成为阻碍他们适应新世界最沉重的包袱。

5分钟充满电!已量产全固态电池问世

Donut Lab在2026年CES展会上发布全球首款可量产全固态电池

芬兰初创公司Donut Lab在2026年国际消费电子展(CES)上宣布推出其声称的”全球首款可量产全固态电池”,这一突破性技术将首先应用于Verge Motorcycles的TS Pro和Ultra两轮摩托车型上。该公司首席执行官Marko Lehtimäki表示,固态电池的优势虽然显而易见,但长期以来业界始终无法给出明确的量产时间表,而Donut Lab的答案是:这技术现在就可以应用于OEM量产车型,无需等待。

在电池性能方面,Donut Lab的全固态电池实现了400瓦时每公斤的能量密度,能够支持更长的续航里程和更轻便的电池结构。该电池仅需5分钟即可充满电,且无需将充电限制在80%以内,支持安全、重复且可靠的全额放电。与传统锂离子电池相比,该固态电池在寿命周期内的容量衰减极小,设计寿命高达10万次循环,显著超越现有技术。此外,由于不含易燃液体电解质,该电池从根本上消除了热失控连锁反应和金属枝晶问题,在安全性方面实现了革命性突破。

在极端环境测试中,该电池在零下30摄氏度的严寒条件下仍能保持99%以上的容量;而在超过100摄氏度的高温环境下,同样能维持99%以上的容量,且未出现任何起火或降解迹象。在原材料方面,Donut Lab介绍称其固态电池完全由储量丰富、价格低廉且具有地缘政治安全性的材料制成,不依赖稀有或敏感元素,且成本有望低于传统锂离子电池。

从应用场景来看,Donut Lab的全固态电池尺寸与智能手机相仿,极其轻巧,非常适合应用于无人机等对重量敏感的产品。目前,这些电池被组合成5千瓦时的电源单元,每个单元的大小与PS5游戏机相仿,四个这样的单元被装入Verge TS Pro的摩托车车架中。配备该电池的Verge电动摩托车可在10分钟内完成充电,每充电一分钟可提供高达60公里的综合续航里程,长续航版本单次充电续航里程可达600公里。TS Pro起售价为29900美元,目前已开放预订,首批交付将于2026年第一季度开始。

Donut Lab同时宣布与电动车公司WATTEV合作,将打造超轻量化的模块化电动汽车平台,该平台结合了Donut电机和电池技术。业界分析认为,固态电池技术在大型车辆上的优势更为显著,减重效果与充电速度提升将呈现倍增效应。这一技术从实验室走向量产车型,标志着全球电动化进程中的重要里程碑。

OpenAI 正式发布 GPT-5.2,为专业知识型工作而打造

OpenAI正式推出GPT-5.2系列模型,涵盖Instant、Thinking与Pro三个版本,显著提升在电子表格制作、代码生成、长文本理解、多步推理及视觉分析等专业任务中的表现。

  • Instant:强调低延迟与高响应,适配信息查询、文档翻译、基础写作等常规任务
  • Thinking:聚焦编程、长文档分析、数学推理与项目规划,定位企业级复杂场景的智能助手
  • Pro:面向科研、金融与高难度任务,强调极致准确性与可靠性,被称为“能力天花板”

GPT-5.2 Thinking在GDPval评测中以70.9%的胜率超越行业专家,幻觉率降低38%,并支持高达256k Token的长上下文处理。

思源笔记 – 新终端安装配置指南

当你更换新手机后或卸载重装或电脑重装,按照以下步骤可以快速恢复思源笔记的完整使用环境。

摘要

  1. 登录思源特性账号;
  2. 粘贴数据仓库密钥;
  3. 导入完整数据;
  4. 导入配置;
  5. 导入s3配置;
  6. 点击思源同步状态;

📋 详细配置步骤

第 1 步:登录思源账号

打开思源笔记应用,使用你的思源账号进行登录。这是后续所有操作的基础。

提示:如果忘记账号密码,可以通过思源官网找回。


第 2 步:配置数据仓库密钥

登录后,需要粘贴你的数据仓库密钥(也称为加密密钥)。

  • 这个密钥用于访问你的云端加密数据
  • 请确保密钥与旧设备上使用的完全一致
  • 建议提前将密钥保存在安全的地方

第 3 步:导入完整数据

配置好密钥后,开始从云端导入你的笔记数据:

  1. 进入同步设置界面
  2. 选择”下载云端数据”或”导入完整数据”
  3. 等待数据同步完成(时间取决于数据量大小)

注意:首次导入可能需要较长时间,请保持网络连接稳定,避免中断。


第 4 步:导入个性化配置

数据导入完成后,还需要恢复你的个性化设置:

  • 主题配置
  • 编辑器设置
  • 快捷键设置
  • 插件配置等

通常在设置中选择”导入配置”即可一键恢复。


第 5 步:配置 S3 存储(如使用)

如果你使用了 S3 对象存储服务来存放附件或资源文件,需要重新配置 S3 连接信息:

  • Endpoint(服务地址)
  • Access Key(访问密钥)
  • Secret Key(私密密钥)
  • Bucket 名称

说明:如果你没有使用 S3 存储,可以跳过此步骤。


第 6 步:检查同步状态

完成上述配置后,点击思源笔记界面中的同步状态图标,确认:

  • ✅ 云端连接正常
  • ✅ 数据已完全同步
  • ✅ 配置加载成功

✨ 完成

至此,你的新手机已经完成思源笔记的完整配置,可以正常使用了!

温馨提示:建议定期备份数据仓库密钥和 S3 配置信息,以便将来更换设备时使用。

PG高效去重

方案 1:使用 DISTINCT ON(PostgreSQL 特有,推荐)

-- 只保留每个 id 的第一条
SELECT DISTINCT ON (id) * FROM t 
ORDER BY id, ctid;

方案 2:使用 ROW_NUMBER(推荐)

-- 查看重复行
WITH ranked AS (
    SELECT *,
           ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS rn
    FROM t
)
SELECT * FROM ranked WHERE rn > 1;

-- 删除重复行
WITH ranked AS (
    SELECT *,
           ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS rn
    FROM t
)
DELETE FROM t 
WHERE ctid IN (SELECT ctid FROM ranked WHERE rn > 1);

优点: SQL 标准,可读性强,更灵活
缺点: 需要配合 ctid 来实现删除

方案 3:使用 CTID

-- 查看重复行
SELECT * FROM t a 
WHERE a.ctid <> (
    SELECT MIN(b.ctid) 
    FROM t b 
    WHERE a.id = b.id
);

-- 删除重复行
DELETE FROM t 
WHERE ctid <> (
    SELECT MIN(b.ctid) 
    FROM t b 
    WHERE t.id = b.id
);

优点: 快速,直接操作物理位置
缺点: PostgreSQL 特有语法,不够优雅

方案 4:使用 NOT IN(简单但低效)

-- 保留 id 最小的一条
DELETE FROM t 
WHERE id NOT IN (
    SELECT MIN(id) 
    FROM t 
    GROUP BY id
);

缺点: 如果 id 相同但其他字段不同,逻辑可能有问题


​jq​

​jq​ 是一个命令行的 JSON 处理器。

  • 云服务 API:AWS, Azure, Google Cloud 的 CLI 工具返回的都是 JSON。
  • 监控告警:Prometheus, Zabbix, Grafana 发送的告警通知是 JSON。
  • 容器编排:Kubernetes API 返回的资源状态是 JSON。
  • CI/CD 工具:Jenkins, GitLab 的 API 交互也是 JSON。
  • 结构化日志:越来越多的应用采用 JSON 格式记录日志,便于机器解析。

​jq​ 解决了这个根本问题:它能“理解”JSON 的结构,通过键(key)来精确、可靠地提取、修改和重组数据。

jq​ 的核心功能演示

csp='{"Host_name":"192.168.xxx.xxx","Host_IP":"192.168.xxx.xxx","Time":"2020-10-15 11:00:00","Severity":"Average","Information":"MySQL: Server has aborted connections (over 3 for 5m)","Porject":"mysql.aborted_connects.rate","Detals":"Connections: Aborted connections per second:0","Status":"PROBLEM:8.858728","Original problem ID":"202010151105"}'

1. 格式化和高亮(最常用)

这是 jq​ 的“Hello, World!”。把混乱的单行 JSON 格式化为可读的多行形式。
​.​ (点号) 表示“整个输入对象”。

echo "$csp" | jq '.'

输出:

{
  "Host_name": "192.168.xxx.xxx",
  "Host_IP": "192.168.xxx.xxx",
  "Time": "2020-10-15 11:00:00",
  "Severity": "Average",
  "Information": "MySQL: Server has aborted connections (over 3 for 5m)",
  "Porject": "mysql.aborted_connects.rate",
  "Detals": "Connections: Aborted connections per second:0",
  "Status": "PROBLEM:8.858728",
  "Original problem ID": "202010151105"
}

2. 提取字段值

使用 .key​ 语法来获取特定字段的值。

# 获取告警信息
echo "$csp" | jq '.Information'
# 输出: "MySQL: Server has aborted connections (over 3 for 5m)"

# 如果不想要外面的双引号,使用 -r (raw output) 选项
echo "$csp" | jq -r '.Information'
# 输出: MySQL: Server has aborted connections (over 3 for 5m)

3. 提取多个字段并构建新对象

您可以选择几个字段,重新组合成一个新的 JSON 对象。

echo "$csp" | jq '{ip: .Host_IP, status: .Status, info: .Information}'
输出:
{
  "ip": "192.168.xxx.xxx",
  "status": "PROBLEM:8.858728",
  "info": "MySQL: Server has aborted connections (over 3 for 5m)"
}

4. 修改或添加字段(解决您的问题)

这正是我们之前讨论的,可以轻松地添加一个新字段。

echo "$csp" | jq '. + {CLEA: 1}'

输出(部分):

{
  ...
  "Original problem ID": "202010151105",
  "CLEA": 1  # <-- 新增的字段
}

5. 结合 Shell 脚本使用

​jq​ 的输出可以轻松赋值给 Shell 变量,让脚本处理逻辑变得清晰可靠。

# 从告警中提取 IP 地址和状态
HOST_IP=$(echo "$csp" | jq -r '.Host_IP')
STATUS=$(echo "$csp" | jq -r '.Status')

echo "告警来自 IP: $HOST_IP,当前状态是: $STATUS"
# 输出: 告警来自 IP: 192.168.xxx.xxx,当前状态是: PROBLEM:8.858728

总结

黄金法则:不要用正则表达式或 cut​/awk​ 来解析 JSON。请使用 jq​。

source/sh/bash

假设 14env.sh 脚本内容只有一行:export MY_VAR=”HelloWorld”

执行 source 14env.sh 后,在终端里直接输入 echo $MY_VAR,会输出 HelloWorld。这个变量会一直存在直到你关闭终端。
执行 sh 14env.sh 或 bash 14env.sh 后,再输入 echo $MY_VAR,会输出空行。因为变量在子进程中被设置,子进程结束变量就消失了。

运维实践建议:

当你需要配置当前工作环境(例如设置 JAVA_HOME, PATH 等)时,使用 source。
当你只是要运行一个完成某项任务的脚本时,使用 bash 或 sh。

centos紧急修复内核依赖库文件libselinux.so.1

[root@k8s-node02 ~]# ls -l /lib64/libselinux.so.1 
-rwxr-xr-x. 1 root root 155744 Apr  1  2020 /lib64/libselinux.so.1
[root@k8s-node02 ~]# rm -fr /lib64/libselinux.so.1
[root@k8s-node02 ~]# init 6
init: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory

问题一:xshell窗口无法重启;

问题二:xshell退出激活窗口后,无法通过ssh登录主机;

问题三:控制台登录主机,始终处于login状态,无法跳转至密码对话框;

问题四:重启服务器,无法正常进入页面

恢复误删除的内核文件操作步骤

  1. 光盘引导centttos系统镜像ISO
  2. 进入Troubleshooting->Rescue a CentOS system
  3. 选择1) Continue
  4. cp /lib64/libselinux.so.1 /mnt/sysimage/lib64/
  5. exit

tips
/mnt/sysimage 就是救援环境中挂载的“被救援系统”的根目录,对它的修改就是对原系统的修改;若需要在原系统环境中执行命令,建议 chroot 到 /mnt/sysimage 再进行操作。
​/mnt/sysimage​ 是被抢救系统根文件系统的目录。
chroot /mnt/sysimage​ 是对原系统的修复、检查或配置修改。

东西方教育差异总结


学习目的

  • 东方人:为了家人
  • 西方人:为了自己

文化影响

  • 水稻文化(东方):更重视努力
  • 小麦文化(西方):不会那么努力

教育方式

  • 东方人:赞美子女
  • 西方人:鞭策孩子

价值取向

  • 西方人:讲究与众不同
  • 东方人:看重集体融合

学习方法

  • 东方人:喜欢背诵
  • 西方人:喜欢提问

思维习惯

  • 东方人:求助内心
  • 西方人:偏爱讨论

行为模式

  • 东方人:要求孩子妥协
  • 西方人:鼓励他们争论

未来方向

交流与协作

  • 未来的学习之道在于交流与协作

哲学家观点

  • 叔本华:天才和普通人的差别在于对待学习的态度
  • 普通人:将学习当作出人头地和解决生计的手段
  • 天才因为对学问本身感兴趣而学习