软件工业的三次转身

软件工业这六十多年,卖的东西其实一直没变;变的只是由谁担保、拿什么担保。

担保落到实处,是些很琐碎的约定。一套系统出故障的那天夜里,值班电话打给谁、多久要有人回应,多半在交付之前就吵过一轮、写进纸面了;哪些损失算在合同里、哪些不算,也是一样。程序当然可能出错,客户心里也清楚;敢把业务放上去,靠的是出事之后不至于没人接、没人认。

阅读更多

身份证号与统一社会信用代码校验算法的等价实现

最近在维护 @silenty4ng/verifyid 这个 npm 包时,我重新审视了身份证号和统一社会信用代码的校验算法,并对实现方式进行了优化。这种优化针对的是代码实现,而非算法复杂度。它利用校验算法的模运算性质,将传统的”计算校验码并比较”统一为”整体参与加权并验证模运算结果”,从而使实现更加简洁,也更便于抽象成通用的校验框架。

需要说明的是,本文并没有改变国家标准规定的校验算法,而是利用校验码满足的数学性质,将传统的「计算校验码再比较」转换为「全部字符参与加权计算并验证模运算结果」。本质上,它是一种与标准算法等价的实现方式。

阅读更多

2026 新年快乐

新年快乐

临近旧历新年,祝大家马年新年快乐,在新年里不劳而获,无功受禄。

阅读更多

互联网不存在了

近期我的网页无线电台写频小工具 K5Web 网站上线,我通过更改 CDN 等方式试图让国内所有地方都能够访问,但总有一两个地方的反诈系统会拦截我的网站;我想因为网络主权问题,屏蔽我这个境外域名的访问也属于是维护主权了,于是在国内购买域名和服务器,完成备案在国内上线了 K5Web ,没想到还有地方会拦截我的网站,这种似乎白名单的治理模式我真不知道怎么处理,如果这些地方的无线电爱好者没法访问,那我也没什么可以帮到你们的方法。

昨天看到新闻说马来西亚计划开发互联网“关闭开关”,之前也听说过俄罗斯的断网演习,彻底断开互联网似乎是未来世界网络主权模式下的可行方案,互联网越来越缺少团结。

阅读更多

不要再看萨特的书了

普通人奇怪哲学家总是想那些大而无当的问题
而哲学家又奇怪
普通人只关注小事而不想大事
到底谁有理
我认为关键在灵魂是否认真
即使普通人
你的灵魂是认真的
你就一定会想大问题
因为那不是抽象的理论问题
而是你最切身的问题
当一个人的灵魂
对人生产生根本性的疑问时
他就会走向哲学
那当你不是逃避
而是去正视和思考让你疑惑的重大问题时
你的灵魂就醒了
你就进入了哲学的状态
阅读更多

2024 新年快乐

新年快乐

新历新年,给大家说一个 2024 年新年快乐,在新年里开开心心,事事顺遂。

阅读更多

DoH 服务器的 Python 实现

实现

看到有 Go、PHP 语言实现的 DoH 服务器,于是弄了个 Python 实现的 DoH 服务器(兼容 RFC8484),可以使用 Nginx、Caddy 反向代理 /dns-query 接口完成部署。

阅读更多