软件工业这六十多年,卖的东西其实一直没变;变的只是由谁担保、拿什么担保。
担保落到实处,是些很琐碎的约定。一套系统出故障的那天夜里,值班电话打给谁、多久要有人回应,多半在交付之前就吵过一轮、写进纸面了;哪些损失算在合同里、哪些不算,也是一样。程序当然可能出错,客户心里也清楚;敢把业务放上去,靠的是出事之后不至于没人接、没人认。
软件工业这六十多年,卖的东西其实一直没变;变的只是由谁担保、拿什么担保。
担保落到实处,是些很琐碎的约定。一套系统出故障的那天夜里,值班电话打给谁、多久要有人回应,多半在交付之前就吵过一轮、写进纸面了;哪些损失算在合同里、哪些不算,也是一样。程序当然可能出错,客户心里也清楚;敢把业务放上去,靠的是出事之后不至于没人接、没人认。
最近在维护 @silenty4ng/verifyid 这个 npm 包时,我重新审视了身份证号和统一社会信用代码的校验算法,并对实现方式进行了优化。这种优化针对的是代码实现,而非算法复杂度。它利用校验算法的模运算性质,将传统的”计算校验码并比较”统一为”整体参与加权并验证模运算结果”,从而使实现更加简洁,也更便于抽象成通用的校验框架。
需要说明的是,本文并没有改变国家标准规定的校验算法,而是利用校验码满足的数学性质,将传统的「计算校验码再比较」转换为「全部字符参与加权计算并验证模运算结果」。本质上,它是一种与标准算法等价的实现方式。
近期我的网页无线电台写频小工具 K5Web 网站上线,我通过更改 CDN 等方式试图让国内所有地方都能够访问,但总有一两个地方的反诈系统会拦截我的网站;我想因为网络主权问题,屏蔽我这个境外域名的访问也属于是维护主权了,于是在国内购买域名和服务器,完成备案在国内上线了 K5Web ,没想到还有地方会拦截我的网站,这种似乎白名单的治理模式我真不知道怎么处理,如果这些地方的无线电爱好者没法访问,那我也没什么可以帮到你们的方法。
昨天看到新闻说马来西亚计划开发互联网“关闭开关”,之前也听说过俄罗斯的断网演习,彻底断开互联网似乎是未来世界网络主权模式下的可行方案,互联网越来越缺少团结。
普通人奇怪哲学家总是想那些大而无当的问题
而哲学家又奇怪
普通人只关注小事而不想大事
到底谁有理
我认为关键在灵魂是否认真
即使普通人
你的灵魂是认真的
你就一定会想大问题
因为那不是抽象的理论问题
而是你最切身的问题
当一个人的灵魂
对人生产生根本性的疑问时
他就会走向哲学
那当你不是逃避
而是去正视和思考让你疑惑的重大问题时
你的灵魂就醒了
你就进入了哲学的状态
看到有 Go、PHP 语言实现的 DoH 服务器,于是弄了个 Python 实现的 DoH 服务器(兼容 RFC8484),可以使用 Nginx、Caddy 反向代理 /dns-query 接口完成部署。