跳到主要内容

4 篇博文 含有标签「杂谈」

查看所有标签

· 阅读需 18 分钟
Seven Wate

二十一世纪,计算机与互联网的快速发展重塑了每一个人的生活。在我十二岁时,家里买了第一台电脑,从此相伴,或许将会是一生的热爱。但是我一直很好奇,这个小小的方盒子怎么就能链接世界的每个角落?尤其是过去的三十年间,计算机科学就像是一辆赛车驶向未来,而我们也不知道将要开往何方。它潜在的巨大能量更是为我们创造了无尽的财富和机遇。特别是最近几年,计算机科学已经不仅仅是一场技术革命,而是逐渐成为了地缘政治博弈中重要的一环,那我们为什么不能主导现代计算机科学发展?

俗话说:「历史是最好的教科书」,既然我们在当下找不到问题的答案时,那么就有必要深入了解过去。

《信息简史》一书透过历史的纬度,揭示了信息如何从简单的符号演变成了今天全球互联的复杂网络。在人类文明之前,信息主要通过肢体动作、面部表情和图像等非文字方式传播,然而,这样的方式并未能有效地保存和传承文化遗产。古代文字的诞生无疑是信息传播历史上的一个里程碑,随后书写、印刷、纸张和算盘等各种工具和媒介进一步推动了信息的广泛传播。自文艺复兴时代之后,近现代科学技术的快速发展为信息技术注入强大的推动力。电报、电话和电力等后续出现的技术手段,极大地加速了传输信息的速度。

特别是近现代两次世界大战极大地推动了科学技术的高速发展,继而孕育出许多划时代的科学发明。在第一次世界大战中,无线电广泛的军事应用具有巨大的战略价值,同时也为现代通信技术打下了坚实的基础。进入第二次世界大战后,出现了可以用于计算导弹弹道和破译加密通讯的计算机技术,这一进展无疑为现代信息技术的蓬勃发展铺平了道路。

在第二次世界大战期中,以艾伦·图灵领导的密码破译团队成功地解密了德国的 Enigma 密码机,这一成就对战局产生了深远的影响。更重要的是,图灵 1936 年提出的图灵机模型为现代计算机的逻辑运行方式奠定了基础。此外,图灵 1950年 提出的图灵测试也成为了人工智能领域一个标志性的概念。或许是天妒英才的缘故,图灵于 1954 年自杀。

两次世界大战期间,美国作为一个主要的参与国,受益于其主要国土远离亚欧大陆的地理位置,未曾遭受到严重的军事侵害,同时也获得了战争带来的巨量经济利益。特别是在第二次世界大战中,众多的全球顶级科学家为了逃离战乱,选择了移民美国。其中就包括冯·诺依曼,他是一位在多个领域内拥有卓越贡献的科学家,如现代计算机科学、博弈论、核武器以及生物化学武器,被后人尊称为现代「计算机之父」和「博弈论之父」。

在第二次世界大战结束后,AT&T 作为美国最大的固定和移动电话电信服务供应商崭露头角,更是在 1950 年代和 1960 年代达到了其历史高峰。在这一期间,该公司雇佣了多达 100 万的员工,年收入也从 1950 年的 30 亿美元(按照今天的货币价值相当于 347 亿美元)猛增至 1966 年的 120 亿美元(按照今天的货币价值达到了惊人的 979 亿美元)。

更值得一提的是,AT&T 旗下 1925 年创建的贝尔实验室。经过多年的研究和发展,即将迎来其最为辉煌的三十年。1947 年,约翰·巴丁、沃尔特·布拉顿和威廉·肖克利等人联合研制出共同发明了改变世界的晶体管。紧接着在 1948 年,克劳德·香农又发表了名为《A Mathematical Theory of Communication》的论文,标志着信息论的诞生,并在同年引入了「熵」的概念。进一步地,贝尔实验室在 1969 年还推出了具有里程碑意义的 C 语言和 Unix 操作系统。

尤其是在《贝尔实验室与美国革新大时代》一书中,其中有一段内容描述了上世纪60年代的美国繁荣情景。与此同时,我们还在面临吃不饱肚子的问题。而在这一阶段,美国家庭普遍拥有小汽车并住进了舒适的洋房,与之形成鲜明对比。贝尔实验室的多位科学家也都有机会全心全意地投入到自己的研究工作中,这一点实在令人充满羡慕。

综合来看,当时的 AT&T 不仅准确地把握住了社会需求,获得了可观的商业利润同时,而且持续地投资于贝尔实验室,其聚集了全球顶级的科学家,从而推动了计算机科学和通讯行业的巨大发展。

至此,美国可谓占尽了「天时地利人和」,即将迎来腾飞!

在随后的美苏冷战时期,军事竞争又为美国的科技发展注入了新的活力,继续给科技的熊熊烈火增添薪柴。同时,美国社会普遍对美好生活的追求也进一步激发了市场需求。这种需求不仅推动了消费,也为需要大量资金投入的科学研究提供了经济基础。继而形成了完美的正反馈循环:社会需求催生科技进步,而科技进步反过来又推动了更高层次的社会需求。

这一切构成了一个自我强化的生态系统,推动了美国在多个科技领域的持续繁荣和领先地位。这种独特的动态平衡不仅加速了科技革新,也为在经济、文化和社会福利等多个层面的全面发展创造了良好的土壤。因此,美国得以在全球舞台上维持其超级大国的地位,持续走在创新和进步的前沿。

然而,贝尔实验室正在步入其历史的黄昏。尽管该实验室一度是科技创新的先锋,但因多种复杂因素,AT&T 最终被美国政府拆分,贝尔实验室也因此走向了颠沛流离的命运。

贝尔实验室作为 UNIX 操作系统和 C 语言的发源地,对后世计算机操作系统的发展产生了深远影响。《UNIX 传奇:历史与回忆》一书中详尽地讲述了 UNIX 的传奇故事,这个操作系统最初由肯·汤普逊、丹尼斯·里奇和道格拉斯·麦克罗伊于 1969 年在 AT&T 的贝尔实验室中开发。

1965 年,贝尔实验室参与了一项由通用电气和麻省理工学院共同进行的计划,旨在开发一个多用户、多处理器、多层次的 MULTICS 操作系统。据说因为 MULTICS 的过度设计,该操作系统始终未能发布。到了 1969 年,贝尔实验室决定退出该项目,但肯·汤普逊和丹尼斯·里奇仍然以满足个人需求为目的,秘密开发了 UNIX。

起初,肯·汤普逊和丹尼斯·里奇并没有计划开发一个完整的操作系统,他们只是参照 MULTICS 的失败经验,并加入自己的创新思想。但他们很快发现,只需不到三周的时间,UNIX 就能发展成一个完整的操作系统。在接下来的十年里,UNIX 在学术界和企业中广泛应用,多家机构基于原始代码进行了拓展和改良,形成了各种 Unix 变种,其中最著名的就是由加州大学伯克利分校开发的 BSD。

随后,AT&T 开始看中 UNIX 的商业潜力,并修改了 UNIX 的版权规定。这促使理查德·斯托曼于 1983 年 9 月 27 日在麻省理工学院公开发起 GNU 计划。GNU 计划的根本目标是创建一个 100% 自由的、与 Unix 兼容的操作系统。这个操作系统被命名为 GNU,是 “GNU's Not Unix” 的递归缩写——既是对 Unix 技术思想的致敬,也表达了 GNU 与 Unix 的不同。

到了 1991 年,Linus Torvalds 发布了与 UNIX 兼容的 Linux 内核,并在 GPL 协议下开源。Linux 后来与 GNU 软件结合,诞生了一个完全自由的操作系统,吸引了大量程序员参与开发和改进,成为 GNU 软件开发的重要平台。这个操作系统通常被称为 GNU/Linux 或简称为 Linux。

与此同时,我们结束内乱、改革开放、步入属于自己的三十年。就更不要提即将诞生的谷歌、英特尔、微软、苹果等,这些改变世界的企业了。直至今日,我们许多人的基本生活需求尚未得到满足,更不用说社会需求了。毕竟造不如买,买不如租,致使我们现在还有几个十年。

相比之下,贝尔实验室科学家的终生热爱。尽管如今政策大力支持,许多人却初心易得,始终难守,玩弄于股掌之中,殊不知我们究竟是「真聪明」还是「假聪明」。相比之下,我们不仅丢了天时,失了地利,更不要提人和了。

为了找到这些问题的答案,我读了很多的书,走了很远的路,尽管我觉得已经找到了想要的答案。但一想或许又没有所谓的标准答案,就好比人真有「命」这一说法么?还是所有的一切都仅仅只是偶然?但我想,这个答案的方向应该不会错得那么离谱。

余生唯有热爱可抵岁月漫长。


为什么这个小小的方盒子可以链接世界的每个角落?

这个问题的回答,我就是写 10 万字,也没有办法通俗易懂的讲述清楚 😭,建议直接啃书!推荐阅读:

  1. 《计算机是怎样跑起来的》

  2. 《网络是怎样连接的》

  3. 《Linux 是怎样工作的》

  4. 《程序是怎样跑起来的》

  5. 《面对对象是怎样工作的》

如果你可以按照顺序通读一遍,那么对于现代计算机科学已经拥有了系统全面的初步认识了。我已经给你做好了微信读书的书单「计算机科学科普」,奥里给!快冲冲冲 ~

为什么漂亮国引领现代科技潮流?我们却不可以

  • 信息简史》:James Gleick 的《信息简史》透过历史的纬度,为我们揭示了信息如何从简单的符号演变成了今天全球互联的复杂网络。

  • 计算机:一部历史》:Peter J. Bentley,《连线》杂志特约编辑。英国伦敦大学学院(UCL)计算机系教授、荣誉资深研究员。

  • 贝尔实验室与美国革新大时代》:乔恩·格特纳《纽约时报》的记者、历史学家和专题作家。

  • UNIX 传奇:历史与回忆》:Brian W. Kernighan ,《C 程序设计语言》和《UNIX 编程环境》等10多部计算机著作的合著者。他曾在贝尔实验室计算科学研究中心 Unix 开发组工作超过 30 年,见证了 Unix 的诞生。

  • 硅谷之火:个人计算机的诞生与衰落》:迈克尔·斯韦,是知名 IT 作家,最早投入 IT 行业的媒体人之一,与盖茨等众多硅谷大佬有着良好的关系。

  • 芯片简史》:汪波,资深芯片研究专家。早年留学法国,获法国里昂国立应用科学学院集成电路硕士学位和利摩日大学高频微电子学博士学位,分别在华为公司、法国里昂纳米国家实验室和北京大学深圳研究生院从事集成电路设计的教学与科研工作,积累了二十余年经验。

  • 芯片战争》:余盛,战略咨询专家、消费品营销专家及财经作家。

  • 开源之迷》:适兕、「开源之道」主创,Linux基金会亚太区开源布道者团队主席,Apache Local community Beijing 成员,CCF 开源技术丛书编委会委员 。

  • 世界前沿技术发展报告 2022》:国务院发展研究中心国际技术经济研究所。

如果你想阅读这些书,我已经在微信读书生成了「计算机科学简史」的书单,奥里给快冲冲冲!

为什么漂亮国将高新科技视为制裁天朝的尚方宝剑?

关于政治问题我不懂,不过有一些相关资料可以帮助形成一个初步的认知。

资料链接需要全球上网。

· 阅读需 7 分钟
Seven Wate

整理书柜翻出来一块 500gb 的机械硬盘,插上电脑一看,竟然是大学时期的资料备份。双击文件夹打开,瞬间回忆涌上心头,借此分享记录一下。

文件列表

极客精神

极客精神

文档、学习视频、源代码文件夹里边全是关于 c++、asm、逆向的资料,一种沙雕的极客精神哈哈。那时候学习计科没有人指点,就像只无头苍蝇一样乱撞,再加上考的学校较差,最终还是海里淘沙两手皆空。

从 12 年第一次接触中文程序设计语言:易语言,随后又自学 vb、c、c++、asm、java、JavaScript、php、算法、密码学、网络、系统、硬件等。尽管那时候局限性很大,在技术实践上,缺乏深度,但在技术的广度上,思路上绝对不差!

关于计算机科学这门学科,我建议很多新手小白在规划入门、进阶学习的时候,一定要理解学习计算机科学其实是一个渐进式的过程。大致如下:

  1. 不求甚解的学习一门语言,不应该仅仅局限于语言自身,更重要的是理解编程思想与范例。
  2. 要求对算法与数据结构有一个深刻的了解,这也是编程的基础,并且算法在不同语言中是相通的。
  3. 学习系统、网络、数据库和架构设计等更高级别的概念,这些需要很强的抽象思维和系统思考。
  4. 数学与英语两门基础学科必须重修、精修,为进一步学习做准备。
  5. 必须要不断地反复练习,应用,测试和优化,尝试 win、linux 和 h5 编程,试着写出 100 行,1000 行乃至 100000 行代码。
  6. 左手学数学,右手学英语,脚踩互联网,努力走进某个领域最深处去磨刀。
  7. 成就取决于天赋造化所能达到的境界。

如果你能理解这段话,那么它实际上就是一种递归的计算机思想。说到底研究计算机科学不应该只限于某种语言,真正重要的是递归,封装,面向对象、协议等等的思想。拿我来说,如果我现在要学一门新语言,那么在正常的情况下,两个星期的时间就可以从 0 到 1,1 到 100+ 并进行开发,而如果想进一步 1000+ 的话,则需要用时间换取空间。

学习生活

学习生活

中国软件杯设计大赛那时候是攻关《工商执照识别》项目,需要深度学习方面的知识,那时候能力还不够强,老师也指导不了,最后烂尾了哈哈。也参加过中国程序设计大赛,河南省软件设计大赛等,总之是挺多各种各样的比赛经历的。

淘宝小店很好玩,那时候总是觉得生活费不够用,想着靠自己计科专业知识来提供相应的服务赚点外快,后来也是烂尾了。团员管理系统是毕业设计,那时候要随便交一个项目应付毕业的,再加时间不够总之挺垃圾。

《17软件周中平社会实践报告终极版》记得去过二七塔和郑州烈士博物馆的,但是还是很过瘾的,记得就是公费报销吃喝拉撒哈哈。《2018十个目标》都是吹牛逼的。《企业计划书》这是最蠢的哈哈,那时候我可是吹牛逼的一把好手啊。

企业计划书

《新时代新梦想创业大赛》是最 sb 的,那时候好几个专业的学生都是智障似的被老师骗去比赛,最后还有个学生用情太深,就投了 10w+ 进去,赔个精光。那时候真的是苦口婆心的相劝,怎奈何大学生就是大学生,良言难劝该死鬼呀……

还有我当时被半路任命为班长,这就导致了 B 事可多。最 TM 气的是,我勤勤恳恳地冲了国家奖学金两年,基本上十拿九稳的,那时候成绩专业排名前 2%、在校外各项比赛活动中获得了大大小小的奖项,校内的活动更让院篮球队拿到了有史以来的最佳战绩:亚军、运动会跳远第一名,虽然这些得奖主要是因为我高中生是体育生哈哈。结果呢,最后国奖连参加评选都没有,主要是院党委书记打电话不让我参选,CTMDB 内幕。

还有很多记忆碎片,但暂时先停止吐槽和 bb 哈哈。虽然因为自己没有努力学习而导致去了一个很差的学校,但是大学生活两年来也很充实。纵然有很多的遗憾和不愉快也都到此为止了 ~

Delete!

Delete

· 阅读需 3 分钟
Seven Wate

岁末年初,万象更新的 2023 年,首先是从怎样不写错字说起。我从学生时期就超容易写错别字,而且特别爱“一逗到底”!也不知是为什么,更不知该怎么摆脱这臭毛病。

如今随着博文越写越多,如何不写错别字渐渐成为一个大难题。有次博文刚刚发出来没多久,就被人指出错字连篇,脸上可真是火的通红 🤪。在新的一年里为了不再脸红,我会从两个方面抓起,逐步纠正不写错别字的毛病。

  • 输入:读正版书籍锻炼错字的识别能力和语法及标点的用法。
  • 输出:第三方文字校验工具同时结合自己认真看,朋友简单审。

以后博文将由第三方工具进行文字校验,并且我认真阅读后再发表。虽然可能还会存在错别字,但是相较而言已经大大减少。我个人感觉语法的错误相较于字词的错误还是可以接受,毕竟文言文可是连个逗号都没有。(我一直认为文言文的通假字其实就是错别字🙄)

目前我一直在使用的文字校验工具:

  • LanguageTool:支持超过 20 种语言的文本校对,包括中文。可以检测拼写、语法、标点符号等错误。 https://www.languagetool.org/
  • 爱校对:依托清华大学人机交互实验室的技术成果,致力于文字校对,公文校对,论文纠错,文档查错,错别字检查,敏感词检测,错别字筛查校稿。https://www.ijiaodui.com/
  • JCJC 错别字在线检测:专注使用人工智能技术应用于文本纠错领域,拥有华为、浪潮、长沙晚报等知名客户。https://www.cuobiezi.net/
  • 写作猫:AI 写作,文章自动生成。https://xiezuocat.com/
  • 火龙果:AI 驱动的文字生产力工具。https://mypitaya.com/

博客的第五年先从不写错别字开始!毕竟这个“文字”的东西,让我的生活变得更加丰富多彩 ~

· 阅读需 7 分钟
Seven Wate

一寸光阴一寸金、寸金难买村光阴。从小熟背的谚语,时间固然珍惜可贵,到现在我连历法都不太清楚,未免过的太糊涂了点……

我国民间现施行的传统历法分为两种:格里历(阳历)农历

格里历(拉丁语:Calendarium Gregorianum,又译国瑞历、额我略历、格列高利历、格里高利历、葛瑞格里历、格列高历,也称基督历[1]),是由意大利医生兼哲学家阿洛伊修斯·里利乌斯改革儒略历制定的历法,亦是一个被当今国际社会最广泛地使用的历法。公历是阳历的一种,于1912年在中国引进采用,因农历等中国传统历法是阴阳历,故公历在中文中又称阳历、西历、新历、公历

农历,是现今东亚地区民间传统广泛使用的阴阳合历。古代相传为黄帝时代或者夏朝创制,又称黄历、夏历,中国以外的语言和地区普遍称为中国历。农历广泛应用于生日标记、各种民俗活动节日等,比如“年节”、“元宵节”、“端午节”、“中秋节”、“重阳节”等节庆活动,被视为中华文化象征。

公历

公历历年平均长度为 365.2425 日、一年共有 12 月,分大小月,大月 31 天,小月 30 天。每四年置一闰,闰年 2 月为 29 天。

公历

农历

历法是记录时间的坐标系统,多数民族根据天象来确定历法。年,就是四季周期,即地球围绕太阳公转;月,就是月相盈亏周期,即月球围绕地球公转。准确测量回归年和朔望月之长度,会发现一年比十二个月多大约10.875日,即单个阴历或阳历无法同时满足年和月的准确周期。

通俗来说,月即为月亮对地球的一个完整的运动周期,大月 30 天,小月 29 天。一年 12 个月,那么一年的长度大概在 354 到 355 天之间。年即为地球对太阳的一个完整的运动周期,约为 365 天。故一年会比十二个月多大约 10 日。而农历罕有地同时考虑到太阳及月球运动,兼顾了年和月之准确周期,是为阴阳合历

农历根据观测月相变化,严格按照月亮盈亏确定月份(定朔),为农历阴历部分。通过观测太阳与黄道的关系,影响地表气候环境的不同定出 24 节气,为农历阳历部分。为了时彼此的长度更加接近,自春秋时代起就有了“十九年置七闰月”;又排定了闰月规则。如此既达到年合四季、月合圆缺,即新月固定于初一,新年固定于冬春之交,达成阴阳和谐。

农历阴历

农历阴历一年 12 月,大月 30 天,小月 29 天。这也是通常我们所说的农历几月初几,正月初几。因为置闰的原因,所以农历阴历一年的天数并不固定,最长有达 384 天。

农历阳历

在古代,通常以冬至到冬至之间(约 365+1/4 日),分割为 24 段(每段约 15+7/32 日),每段起始于一个节气,依次为:冬至、小寒、大寒、立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪。

二十四节气中,冬至、大寒、雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪为中气,通常用来确定月份。冬至所在月份为冬月、大寒所在月份为腊月、雨水所在月份为正月、春分所在月份为二月、…、小雪所在月份为十月,立春到立夏前为春季,立夏到立秋前为夏季,立秋到立冬前为秋季,立冬到立春前为冬季。

中气之间的时间约为 30+1/5 日时,因此中气日之间的间隔(含前不含后)为 30 或 31 日。而一个月的时间为 29 日或 30 日,一个月内要么一个中气,要么没有中气。因此,中气可以直接来确定月份及闰否。

农历

农历闰月

19 个回归年的时间长度和 235 个朔望月几乎相同。所以阴阳历若采十九年七闰法,每 19 年加入 7 个闰月,就可以协调回归年(太阳的周期)与朔望月(月亮的周期)间的时间差距,以较为简易的方式制历。中国古称此周期为一章。

现行历法采无中置闰法。若两冬月间有 13 个月(不计第二个冬月),则置闰于两冬月间第一个无中气之月(有时一岁可能会有两个无中气之月,只取第一个),月序与前一个月相同(闰月在几月后面,就称闰几月)。采用现行之定朔法,有可能会出现无中气月但无须置闰之状况。


参考维基百科:格里历农历