关于


Hi, my name is NoteAI and welcome to my blog.

年轻的时候我们有太多的纠结,好像走错了一步棋自己的人生就可能满盘皆输。 但其实我们中的大多数人都只是普通人,花了很多的力气来思考来做抉择,最终还是只能度过平凡的一生。 我们处在某个时间点上,总是想看到未来,却忘了最该做的是走好现在的路。 贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒。

人生从来不晚,从头开始,走自己的路,靠自己:学习、带娃、锻炼身体。 “健康饮食、情绪稳定、适当运动、规律作息” 日拱一卒,虽远必至!Life is never too late to begin… 我们一方面要清醒地认识到目前的困难形势;另一方面,不管做什么,都要满怀热情。这种积极性,才是克服困难、拓宽前路、获得成功的唯一途径。 一些理论上的“不可能”,经过反复探索和实践,最后成了“可能”,自然,这需要投入更多的热情,遭遇更多的失败,抱有更坚定的信念。

少吃外卖、自己做饭;锻炼身体、降低欲望;反人性的思考,过随遇而安的生活;坚持做难的事,对结果顺其自然;对自己好,不要在意别人的看法。

绝大部分人都在谋生,而不是工作。谋生,这个事情今天做一遍,明天做一遍,一样的事情,一年做 365 遍,一年就过去了,重复十年,就老了。 每一天都比前一天多学东西,多有长进,多有收益,多有积累,每天都向上一个台阶,这才是工作。

This is my personal web site. I started to convert my notes into the web pages since mid 2020. These are mostly fundamental information or tutorials to share with others. I hope you find what you are looking for here. And, I welcome any feedback on the contents and your suggestions.

以前笔记都记录在 Evernote 里面,搞了多年,发现越来越多、越来越乱,没法玩了。 搞成 blog,并按照一定的结构整理存档,更利于查阅和迭代。 接下来几年会逐步把一些笔记整理成 blog。路虽远行则将至。

大多数知识和技能都没有壁垒,任何人只要想学习,无论是《自然科学的数学原理》还是《母猪的产后护理》,都可以在网上找到详细到令人发指的学习资料。而学习又是一件因果关系极为清晰的事情:努力就能有进步。它不像爱情,你爱的人不爱你,你一点办法也没有。

江流天地外,海平纳百川。 人生路,不在远方,就在脚下。

如果大脑也是神经网络,那梦更像是高维的投影。

人工智能

对于个人来说,传统行业已经被瓜分殆尽,严密防守,一般人是没有机会的。 只有新的科技革命,才能彻底打破传统势力的影响范围, 在传统势力还没有反应过来的时候,才可能冲进去占据有利地势,在混乱和动荡中生存下来并发展壮大!

不要把深度学习作为入门的第一门课 虽然很多人都是冲着深度学习来的,但把深度学习作为机器学习第一课不是个好主意。 因为 深度学习的黑箱性更加明显,很容易学得囫囵吞枣。

“… provided that computers were fast enough, data sets were big enough, and the initial weights were close enough to a good solution. All three conditions are now satisfied.”

统计学习 统计学习近似等于机器学习。统计学习是个与机器学习高度重叠的学科。 因为机器学习中的大多数方法来自统计学,甚至可以认为,统计学的发展促进机器学习的繁荣昌盛。 例如著名的支持向量机算法,就是源自统计学科。 但是在某种程度上两者是有分别的,这个分别在于: 统计学习者重点关注的是统计模型的发展与优化,偏数学, 而机器学习者更关注的是能够解决问题,偏实践, 因此机器学习研究者会重点研究学习算法在计算机上执行的效率与准确性的提升。

Mindset 是很难打破的

note

Mindset 是很难打破的, 体系越复杂成熟,就越难。比如以下两个 mindset:

  1. 苏联没搞定大推力,但是知道大力出奇迹,所以 N1 装了那么些台发动机,4 次试飞全炸了, 于是后世坚定认为发动机多了可靠性肯定完蛋,一提大火箭就非得弄大发动机,可弄大发动机又谈何容易。 结果现在 space x 另辟蹊径,化繁为简,用简单可靠 + 省钱的小发动机,加上软件控制的进步, 把这问题给解决了。是不是还要继续怼大发动机,要再琢磨下了。

  2. 中美都想登月,目前方案都是弄新世代土星 5。乖乖,土星 5 好费钱的。当年为什么要弄土星 5 呢, 是因为没把握同时成功发射几个火箭,几个舱上去了再对接出发,只能来一个大的, 登月舱返回舱设备舱一起上,半路拆开掉个头再合上,一起飞月球。 现在这个前提是不是也变了呢? 以猎鹰或者其他新火箭的成功率,加上数量不少的发射台,俩,仨甚至更多同时发射可以考虑的。 走老路的 SLS,被波音拖成这熊样,有人信 24 年能登月?

长 9 立项,还是要搞大发动机,大火箭。nasa 给了 space x 往月球轨道送载荷的订单,感觉有点暗度陈仓的意思, 波音的 sls 要是再延误或者大幅超预算,nasa 估计就直接让 space x 送人登月了。 重型猎鹰比不了 sls,要登月必须打破 mindset 2,让人期待。

为什么要写博客(Why write blog)

学习是一件非常困难的事情。首先是工作本身已经很累了,然后是一些客观的家里的事情会消耗你的时间,再然后是新知识本身的难度,面对一堆看不懂的公式,再掂量一下自己有限的智商,不学习貌似日子还是可以继续过下去,那我为什么还要学习呢?夜深人静的时候,媳妇已经睡下,想到自己人生将半,学习计划还是得坚持下去:夜来欹枕细思量,独卧残灯漏夜长; 名不显时心不朽,再挑灯火夜读书。

工作多年后,发现什么都没留下,一直忙于赶路,很多东西搞过,然后都忘记了。 稍微放慢一点,写写博客,用途多:

  1. 文档是代码的一部分,是同步更新的,代码改了,文档也要同步得到更新。
  2. 写文档和写单元测试类似,可以帮助我们写出逻辑更清晰,设计更合理的代码。
  3. 写作即思考,把学习的知识按自己的结构整理记录,方便日后查阅,还方便与他人交流。
  4. 短期看,写文档是浪费时间的;长期看,是节约时间的;更长期看,没有文档的代码甚至价值都不大,因为去理解它,重新用起来,需要的成本太大了。
  5. 能用图的就用图,不能用图就用表,不能用表,就用文字描述,读者就是未来完全忘光了的自己。

基于文档的知识迭代,比基于脑壳的迭代,更稳固、更可靠。正所谓:好记性不如烂笔头。

  1. 工程配置及编译会遇到的问题 — 想跑起来,成本不用那么大;
    • 眼见为实,拿到就能运行,看看效果先,建立直观感受。
  2. 关键的东西需要写清楚用法 — 如果别人要用,不用去理解实现细节;
    • 拿到就能用,直接投入生产,我才不关心你怎么实现的。
  3. 边做边写文档,描述自己做的东西 — 如果别人要改,成本能低一些。
    • 都是程序员,看也看不懂,改也改不动,避免互相伤害。

以前也做笔记,但是后来发现很多网址打不开了,你说找谁说理去? 这个博客系统加入了自动外链快照功能,博文里面包含的网址,会自动爬取快照存档,方便溯源。

You do not need to leave your room. Remain sitting at your table and listen. Do not even listen, simply wait, be quiet still and solitary. The world will freely offer itself to you to be unmasked, it has no choice, it will roll in ecstasy at your feet. — Franz Kafka

  1. 知识内化:记笔记的过程是一个归纳整理、再理解、再吸收的过程,可以加深我们对知识的理解。
  2. 形成知识体系:零散的知识很容易被遗忘,而形成知识体系之后,知识之间就能有更强的连接。
  3. 方便回顾:笔记就像我们的硬盘,当缓存失效后,我们依然可以通过硬盘调回,保证知识不丢失。

“处乱世而不惊,临虚空而不惧,喜迎阴晴圆缺,笑傲雨雪风霜”。

关于代码

首先,调试很重要。 大部分人的工作都是建立在现有代码的基础上的,那么怎么快速把握现有代码是重中之重。 在调试的实操中,可以有效帮助快速读懂代码,理清楚程序的主要脉络。[豪哥]

程序的复杂度分两种:

  1. 这个逻辑本身就非常复杂,比如 3D 引擎、Chrome、机器学习;
    • GAN、SVM 和 强化学习 的 数学部分,刺猬摸电线,卷麻了。
    • Gall 定律 一个有效的复杂系统通常是从一个有效的简单系统演化而来的。 —— John Gall
  2. 代码混乱和冗余造成的复杂,呵呵,比如公司维护了十多年的代码。

大部分时候,考验的是我们的基本功和知识储备,同时用工整的代码去对抗复杂。

客户端应用研发,大部分都是界面、回调、事件、线程之类,写来写去就那些东西。 深入一些的,也是一些算法啊什么的,开源的改吧改吧就能跑,更多的是考验快速学习能力。

想变成高手,高手也分两种:

  1. 知识储备。不是这个东西多复杂,而是在这个领域做了很多年。
  2. 学习能力。不断学习,触类旁通,学习能力也会得到不断强化。

高手一般都是平台培养的,和其做过的项目有关,高手无法凭空产生。 编程知识非常庞杂,我们的时间精力有限,只能说挑选一个特定领域深耕,并时刻保持旺盛的学习能力。

《庞涓夜走马陵道》“学成文武艺,货与帝王家。”业余时间,专心练剑。 大学只有四年,而我们工作却有几十年,是一个漫长的季节,在这个时间里,合理规划学习路线就显得很重要。

The Annotated Turing

Turing 机、人工智能以及我们的世界

自由意志的问题,这是史上最大的谜团,并不是机械运动所能解释清楚的,理论上讲,给予足够的计算能力,你可以解释任意复杂的系统,为何会做出它现有的表现,纯粹的技巧而已。 惟独无法解释的,是自身的感受,主体和客观世界的鸿沟,举个例子,你可以从头到尾地追踪全身上下的每一条神经通路,精细到每一次离子通道的开闭,把每个 Na+ 和 K+ 都剖析得体无完肤,却唯独无法说明究竟是谁在感知。正如 KK 感触颇深的蜂群,深入到细微之处,我们只是一个个杂乱无章的工蜂,但上升到整体,就有了意识的“觉醒”,能够感知周遭的一切。 最为吊诡的是,如果说干脆否定这个感知主体的存在,它又是你做出这个判断所能依赖的唯一基石:说到底,所有的概念和理论都来源于人对外界的的感觉。

我除了知道自己具有意识之外,我什么也不知道。因为即使去证明,也只能证明我能去证明……

人生思考

对 2030 年中国的一些预测

宝宝补全我们的人生。 我们绝大部分人五代后都会没有后代,基因终结。 人类生育率 2.1 是世代更替水平,这需要一半的家庭生三胎,在当前的情况下可以认为是不可能,将来更不可能。 100 个人按照 2.1 的生育率要生 105 个孩子才能保证人口不减少,因为中间会有各种疾病夭折和意外事故。 100 个人里面有 10 个人不结婚或者结婚后不孕不育或者丁克,剩下 90 个人结婚总共 45 对夫妻,有 10 对夫妻生了一胎,有 15 对夫妻生了二胎,那么剩下的 20 对夫妻总共要生 105-10×1-15×2=65 个孩子才能保证人口不减少,也就是平均要生 3.25 个孩子,近似于不可能。工业化国家的人口是不可再生资源,只要生育率低于 2.1,就会持续减少,越低减少速度越快,少了就没有了。

2020 年,中国育龄妇女总和生育率为 $1.3$,100 个人迭代 1 次是 $65$ 个人,迭代 5 次是 $100×(0.65^5)=11.603$ 个人,迭代 10 次是 $1.346$ 个人,基本上没有了。

人生最大的幸福,莫过于家人健康,宝宝健康,做自己开心的事情。

Work history

  • Software Engineer
    • Android
    • Windows
    • iOS
    • Linux
  • And many others (mostly C/C++)…
    • Python
    • PHP
    • C/C++
    • Java
    • JavaScript

Spoken languages

  • English??
  • 简体中文

Others

Hey, there! Welcome to my blog. I hope you enjoy reading the stuff in here. Nothing fancy, really. Just bits and bobs about tech and random topics. Enjoy!

Contact

PGP public key


参考资料快照
参考资料快照

本文短链接:
If you have any questions or feedback, please reach out .