之前我一直以为自己很倒霉,为什么这些破事会发生在自己身上,现在才明白这又是多么的幸运,能够在相对年轻的时候明白这些道理。

Man Mountain Cow

过往

关于工作,仍然没啥特别可说的,就说一点,能按时发工资的公司都是优秀的。

先来说说这一年看过的资料,先是结束掉 iOS 逆向的尾巴,然后主要是学习数学,继续学习和实践音视频,夯实计算机基础,再就是利用零碎地时间看些商业书籍,下面分别阐述下:

数学

学数学的目的是为了以后学习计算机视觉,这种自下而上的方式,成效会比较慢,但是更为牢靠。

下面都是高校的教材,除了最后一本都大致翻了一遍,第一本线性代数可以直接扔垃圾桶,后悔扔得太慢,薄薄地一本,看了也不知道在讲什么,后一本线性代数说不错,我还没看,留着做参考书。

可汗学院的老外讲得很细致,测试题也很细致,就是太细致了,我学完这个小结就花了很多时间。

3Blue1Brown 是油管上的视频,不是讲怎么计算微积分和向量矩阵乘法,而是通过计算例子让你明白微积分的思想和线性代数的本质。

下面是一套付费的图解教程,主要是针对考研的学生,也有很多像我这样的来学,加群可以解疑答惑,我学得还算认真,做了笔记,也尽力去完成了习题,有所收获,这套教程是成都一家公司的创业项目,介于现在考研人数那么多,应该是一个好的机遇。

编程

iOS 逆向

看了我就知道,这不是我的菜,不是说这个方向没有价值,其实非常有价值,需要深入编译、链接和运行,编程语言,可以去做 Xcode,程序员生产力工具,简直就是程序员中最靓的仔,一个人的精力是有限的,不可能什么都精通,要选定一个方向深入才行,了解皮毛毫无意义。

音视频

音视频处理中的两把利剑 FFmpeg 和 OpenGL ES 需要非常熟悉,OpenGL ES 的资料主要是 2018 年看的,这里不多说,FFmpeg 这本书主要还是对命令行工具的讲解,没有涉及音视频的基础知识,更像一本 cookbook,当然在学习音视频基础知识过程中,多使用 FFmpeg 会很有帮助。

Apple 平台对 OpenGL ES 只支持到 3.0 且不会再更新,因此发布了 Metal,其目的我认为主要是 Apple 是软硬件一体的公司,为了更高效地渲染来做 AR,更快速地并行计算来做 AI,当然在音视频中可以替代 OpenGL ES 做渲染,Metal by Tutorials 这本书讲解了很多我不知道的计算机图像知识,当然主要也是通过编码实践的方式,也提供了相应的扩展知识链接。

OpenCV 是计算机视觉框架,这个节点看下这个内容来了解下实际问题是怎么解决,怎么编码的,在音视频处理融合计算机视觉已经逐渐成为必备的技能,Learning OpenCV 3 就是 OpenCV 开发者写的,是我今年看的最痛苦的书籍,因为缺乏相关知识,几度想放弃,一想到花了 50 美刀,还是要让自己有所收获。

我大概从 7 月底开始音视频方面的实践,因为工作需要,通过 AVFoundation 和 PhotoKit 实现简单的拍照、视频录制和视频播放,之后主要以 音视频开发进阶指南:基于Android与iOS平台的实践 为蓝本编写 iOS 录播和直播,不过和工作没啥关系,流程上我已经走到了 FLV 文件封装这一步,目前录制出来 FLV 播放一段时间就播不了了,需要深入了解下 FLV 封装格式找找问题,争取 2020 年第一个季度完成全流程,会把代码开源出来并且会写系列博客来讲解。

计算机基础

算法是我的薄弱环节,所以也在尽量学习和弥补,算法导论也是为了完成去年剩下的部分,但是里面的数学论证推导真的很难。

下面 3 本书,我打 10 星,真是太后悔看的太晚,里面有大量的实践代码,非常有价值,音视频处理中为了使用 FFmpeg,需要编写 C++ 来调用 FFmpeg API,编码和封装这些都是需要多线程处理的,PThread 是必备技能,生产者消费者模型也是必须的,还有直播中流传输、聊天功能都会涉及到 Socket,这些在下面的书籍中都有很详细的讲解,看了真的会功力大增,不信你试试。

商业

下面是冯唐写的闲书……

本来还打算把家里布置下,没时间啊……

情商……似乎看了也没啥长进,也许智商太高……

健康饮食和健身。

PayPal 的成长故事,普通员工成长的故事,这角度来讲应该比较中肯,任何一个创业公司的成功都是奇迹。

成长

上面很大一截都是在讲学习呀,看资料呀,编码实践这些,这些都只是学习和掌握知识的途径,只要有毅力和花时间就能学会,但是并不能产生跳跃式的成长,就好比我说音视频这门技术很重要,有人会说都已经是抖音和快手的天下,毫无价值,一般的应用场景用云厂商的 SDK 不就行了,每个人的经历不同,对相同的事物就会产生不同的认知,以后音视频处理就会像图片一样的普遍,甚至很普通,它是一种承载的媒介,会在各种应用场景中发挥重要作用,好比现在你做一个电商 App,关于商品的信息都是文字,没有一张图,你用无与伦比而又华丽词藻描述这个商品,仍然没有一张图片形象,视频能够承载的信息又超过图片,摄像头和位置传感器结合起来产生 AR 互动又比视频单方面传递信息体验更好,直播连麦,PK,聊天室,KTV 等这些低延时互动场景会改变很多东西,还有很多可以想象的空间。

高中时就看过 穷爸爸和富爸爸,简单来说就是要拥有能不断生钱的资产,道理很简单,实践并不是很容易,33 岁的我也没有实现财务自由,在寻找和拥有不断生钱资产的路上,经历了一些惨痛的教训,现在渐渐明白,如果不经历这些惨痛的教训,很难明白一些道理,因为惨痛才够深刻,这些经历会彻底改变你的想法,也会在你心里埋下种子,影响你的思维方式,指导你的工作和生活,下面胡乱说说这些教训。

怎样才能拥有不断生钱的资产呢?第一个蹦出来的想法是通过创业创造出一个来,刚毕业的时候也并不是很清楚怎么开始,后来接触到 Basecamp 写的两本书 Getting RealRework,做 Ruby 的人不可能不知道,里面说到 Startup 的两种方式一种是 VC based,另一种是 Bootstrap,怎么开始呢?Scratch your own inch,就是你发现平时生活工作中有什么不爽的地方,然后很多人也觉得很不爽,目前也没有好的解决方案,就可以着手来解决这个问题,因为你自己也有这方面的困惑,可以从先满足自己的需求开始,所以是挠自己的痒痒,这听起来确实很有道理,后来尝试了 IdeasBubble,虽然技术可以正常的运行,但是并没有投入资金来运营,只能说是作为技术实践的 Side Project,除了技术能力的增长,并没有什么实际收获,技术人容易犯的误区就是沉迷于技术。

一次偶然的机会,我去一家公司看了他们做的 iPad 上的应用,那时候 iPad 刚上市,还要去苏宁预定才有,很紧俏,自己把玩了 iPad 后,回家后心情难以平静,每天都在琢磨这个事情,过了大概一年后,就买了苹果电脑开始自己研究,只有 WWDC 可看,学习的过程很是痛苦,从 2012 年上架第一款 App 到 2017 年底,先后做了 5、6 款 App,并不是全职投入,总共收益也就 ¥34638,很是惨淡,比较荣耀的事情是,热量助手在 2015 上过 App Store 首页,这段历程最大的问题就是什么事情都自己做,交互设计、UI 设计、写 App、写后台、写网页等等,最大的问题就是什么事情都自己做,即便你能力很强,你也只有 24 小时,你不可能在每一方面做的很精通,其次就是不出去交流,2017 年我见识了成功的专门做工具类 App 的公司是怎么运作的,团队作战,营销第一,产品第二,并不会挠自己的痒痒,而是分析 App Store 上热门工具类 App,快速抄袭,只要有一两款 App 能进入榜单不掉下来就可以产生稳定的现金流,对我的内心也是巨大的冲击,我下架了所有自己开发的 App,又来总结下惨痛的教训,坚决不单干,团队作战,不会兼职来做,All in 一件事情,不要闷头自己搞,利用一切可能的机会多和别人交流。

曾经在一家创业公司经历了痛苦的产品孵化、人员震荡、融资历程、司法纠纷,短短一年半的时间像坐过山车一样,最终的结局也是不欢而散,拿不到的工资,没有办法执行的司法纠纷。其中有三件令我印象最深的事:第一,融资时,投资人问,你要多少钱,你准备怎么花?对于当时的我,我只知道怎么做产品,需求分析、交互设计、功能开发等等,怎么落地一个产品我清楚的很,我还知道人员工资成本,服务器的一些开销,但知道这些,远远不能回答好这个问题,我完全不懂财务,不会算账,这同样也说明我对公司目前所做的这件事理解程度远远不够,搞不清楚怎么花钱,怎么赚钱,就不要去创业;第二,司法纠纷那段糟心的历程,高新区工商局和法院,加起来也去了十来回,我才知道我对公司在法律上的定义一无所知,不要觉得不创业公司法律和你没有关系,你打工还要签订劳动合同呢,试试回答这些问题,公司在法律上到底谁说了算,创业公司都喜欢发期权,期权到底是什么鬼,技术公司都会申请一些专利,别人照着你的产品抄,逆向来分析你的代码,怎么通过法律来应对,没有法律意识和法律资源,就不要去创业;第三,投资人对于资本的理解和资本的运作让我知道那完全是另外一个层面的事情,我只知道很重要但我一点也不懂,不懂投资机构的运作,不理解资本,就不要去创业。

曾经在一家 AR 公司短暂的经历让我知道没有核心技术,就像在高原上徒步,你一直要用氧气瓶吸氧才能前行,离开氧气瓶你就走不了,你会形成依赖且没法摆脱,核心技术一定要自己掌握,才有足够的底气和业务上的灵活性,核心技术可以形成公司竞争的壁垒,当然公司建立壁垒,还可以是品牌,Air Jordan 只有 Nike 有,也可以是生态,移动端两大 OS,一个是 Apple 的 iOS,一个是 Google 的 Android。

明明之中,我渐渐发现了一些规律,工作就是在一家公司打工,创业就是创造一家公司,投资就是成为一家公司的股东,理财就是购买股票、基金、理财产品来直接或间接投资一家公司,公司才是市场经济活动的核心要素。

一家公司的运转需要多方面因素,技术人要明白技术只是其中的一个方面,不要把技术能力看的过重,也不要看的太轻,否则你工作都找不到,又回到最初的问题,怎样才能拥有不断生钱的资产呢?找到一家优秀的公司并且长期持有,在一家优秀的公司打工,创造一家优秀的公司,投资一家优秀的公司,当然难度系数有着天壤之别,根据自己的实际情况出发,你能理解一家公司的过去,分析出一家公司的未来,对不管处在哪个阶段的你都有巨大的帮助。

之前我一直以为自己很倒霉,为什么这些破事会发生在自己身上,现在才明白这又是多么的幸运,能够在相对年轻的时候明白这些道理。

时间

付费学习

前面说的一些经历告诉我学习需要很有效率,不然就很容易错过一些机会,所以我现在很愿意付费学习,避免自己瞎琢磨耽误的时间,那些试错成本换算出来的金钱和支付学费相比真的是太廉价了,我尝尝感叹的问题是很多有价值的知识没有办法学习,至少对现阶段我的情况来讲,比如念 MBA、知名大学读 AI 课程,所以只能根据实际情况选择最合适的付费学习机会。

时间管理

人的一生真的很短暂,珍惜身边每一个对你好的人,全身心地投入自己想做的事,这是我手臂受伤的感悟,你才明白那些舍得在你身上花时间的人,才是真心的,对于人的一生真的很短暂这样的感悟,Paul Graham 也有,我附在博文的最后。

期待

2020 年是下一个十年的开端,因为是低谷,因为充满了不确定性,所以才充满了机会,很多重要的事情,2020 年的第一天我就会开始着手做,I can’t wait !!!

附:Paul Graham 的时间管理策略:

人的一生,如白驹过隙。小的时候,我常常思考一个问题。人生是真的很短暂还是说这只是人们的一种抱怨?如果我们生命的长度扩展到如今的十倍,我们还会觉得它很短暂吗?

因为当时我实在想不明白,索性就不再想这件事了。后来,我有了自己的孩子。这让我找到了问题的答案:生命的确很短暂。

养育孩子让我明白一个完整的量,比如时间,是如何被分割成一段一段的。你只能和你两岁的孩子度过52个周末。假设你的孩子相信”圣诞老人”这个童话的时间是从3岁到10岁,那么你只能给他8次圣诞惊喜。尽管对于像时间这样连续的量,很难说什么是多什么是少,但”8”绝对算不上很多。如果你手里有8粒花生,或是书架上有8本可供挑选的书,你不会认为你有很多花生或书籍。因此生命短暂与否,与其长度并没有什么关系。

1. 判断哪些事情应该被”剔除”

搞清这个道理,对我的人生产生了很大的影响。我开始重新思考 “生命对x来说太短”这句话的意义。它不仅仅是一种修辞手法。也不仅仅是在表达烦恼。这句话意味着,如果你认为人生对于什么东西来说太短暂了,你就应该尽力剔除它。

当我问自己人生对于什么来说太短暂了,脑海中跳出的第一个词汇是”扯淡”。我知道这个回答像是废话。但是”生命对x太短”简直就是”扯淡”的定义。”扯淡”就和垃圾一样,毫无营养,浪费生命。

如果你问自己,在什么扯淡事情上浪费时间,你大概已经有了答案。冗杂的会议、毫无意义的争论、官僚主义、装腔作势、替别人擦屁股、交通堵塞、令人上瘾但却毫无回报的消遣等等。

这些毫无意义的事情,一般来说有两种来源,一些是你自己选择的;不幸的是,还有一些是外界强加到你身上的。在某种程度上,你有时需要忍受这些强加在你身上的”扯淡”事情。比如说你要赚钱工作,那么工作中可能有一些交代给你的,在你看来却是浪费生命的事情。然而这些强加给你的没意义的事情,事实上比你想象的要少,并且相对来说是比较容易摆脱的。现在,越来越多的人选择放弃无聊的工作,去到一个传统意义上机会更少的地方生活,因为那里生活更加真实。

尽管搬家换环境对大多数人来说不太现实,但是我们可以通过一些小的调整来减少各种各样”扯淡”的事。不同的雇主在无聊事情上花费的时间不同。大多数大公司(以及许多小公司)都淹没在扯淡事务当中。但是如果你把规避无聊工作放在赚钱以及获取声望的之前,你就有很大的机会找到少浪费你时间的雇主。如果你是一个自由职业者或拥有一家小公司,你可以从客户的层面上做到这一点。摆脱那些不良顾客,所减少的烂事比损失的那点收入要有价值得多。

虽然强加在你身上的”扯淡”是无法避免的,但是那些通过欺骗而进入你生活的毫无意义的事,就怪不得别人了。而且这种你自己选择的扯淡事情,比强加在你身上的更难摆脱。诱使你浪费时间的事情一定特别善于伪装。举个大家都熟悉的例子——在网上和人撕逼。当某个人反驳你的时候,从某种意义上讲,他是在攻击你,而且有时很明显。在受到攻击的时候,自卫是你的本能反应。但是和很多本能反应一样,这种本能并不适合我们如今生活的世界。虽然觉得有悖直觉,在大多数情况下,你最好不要自卫。否则这些人会要了你的命。

在网上和人撕逼只是偶然发生的,但还有比这更危险的事。正如我之前写的,技术进步的一个副产品是,电子产品的成瘾性。我们将越来越需要有意识地努力避免上瘾——不断停下来问问自己”这是我想要的消磨时间的方式吗?”

2. 积极寻找重要的事情

除了避免”扯淡”,人们应该积极寻找重要的事情。但是不同的人对”重要的事情”定义不同。大多数人需要逐渐摸索到底什么对于他们来说是”重要的”。一小部分的幸运儿很早就知道了自己热爱数学,照看小动物,或是写作。并且想办法把时间花在了这些他们热爱的事情上。但是大多数人都把生活中重要和不重要的事情杂糅在一起,慢慢地才懂得如何区分它们。

尤其是对年轻人来说,这种困惑很大程度上是由他们所处的环境引起的。在初中和高中,其他孩子对你的看法似乎是世界上最重要的事情。但当你问成年人他们在那个年龄出了什么问题时,几乎所有人都说他们太在意其他孩子对他们的看法了。

判断一个事情是否重要的方法是,问问自己将来是否会在意它。那些看起来重要的事情,总是在一瞬间,像一根针一样挑动着人们的神经,诱人上当,让人觉得它很重要,然而其实它并不是。

真正重要的事情并不一定是人们平时所说的那些”重要的事”。比如,和朋友喝咖啡就很重要,因为你之后不会觉得那是在浪费时间。

有小孩的一个好处是他们使你把时间花在重要的事情上:陪伴孩子。他们在你盯着手机的时候,抓住你的袖子说”你愿意和我一起玩吗?”。和他们玩显然比玩手机重要的多。

3. 时间的快与慢

如果人生是短暂的,我们就应该明白这种短暂将会给我们带来种种意外。那些你认为理所当然的事情,常常在不经意之间就消逝了。你以为自己总是可以写那本书,或者爬那座山,或者做其它的事,但后来的某一天突然你发现自己已经没有机会了。最悲伤的意外大概是天人永隔。当亲近的人去世,你将永远失去陪伴他们的机会。我母亲死后,我真希望能多陪陪她。我以前一直忙于自己的生活,觉得母亲似乎会一直在那里。母亲的生活很平静,也很少打扰我,这让我一直保有这种幻觉。但那真的只是一种幻觉。我想很多人都犯了和我一样的错误。

如果你想避免被意外打乱生活,就要一直把可能发生的意外放在心里。在动荡的年代,人们担心自己随时都会死去,这种担忧如今看来似乎有些病态,我也不觉得时刻记挂着死亡是一件好事,或许换个角度思考,会得到更好的答案。对于那些自己很想去做的事情,我们应该更加”没有耐心”一点。不要总是”等到某一天”,再去做那些你想做的事情,无论是去爬山,去写一本书,去看望你的母亲,还是其他任何你想做的事情。你不需要总是提醒自己为什么别拖延。只要记住不要等。

当一个人拥有的东西有限时,他可能会做两件事:要么努力得到更多,要么享受当下拥有的。两件事都有自己的道理。但是如果你专注于自己所拥有的时间,你很可能会有更大的收获。光阴易逝。想象力丰富的人所热爱的”流动”,就像一把双刃剑,一方面让你感受生命的动感,另一方面也使你无法在日常的琐碎和泥泞中享受生活。我深受触动的文字不是一本书,而是一本书的名字——詹姆斯索尔特的《燃烧的日子》。

我们是有可能让时间稍微慢下来一点的。我在这方面做的比以前好的多了,主要是归功于我的宝宝。当你有小孩的时候,生命中便会出现很多让你忍不住留心的完美时刻。此外,如果你充分利用了生命中的每一秒,也会让时间放慢脚步。我为母亲难过不仅仅是因为思念,更多的是为着那些我们本可以一起做但是没做的事。我大儿子快要7岁了。虽然我很怀念他3岁以前的时光,但是至少我对过去发生的一切并不遗憾。孩子的爸爸替我陪他度过了3年最美好的时光。

人生是很短暂的,所以请毫不客气地把那些浪费你生命的事情剔除出去,对重要的事不要拖延,珍惜生命中的每一分每一秒。