2016 年终总结

博客篇

开篇讲讲这个博客这一年的「成绩」:

访问量

因为今年年中进行过博客迁移,从 github pages 迁到了阿里云,还换了整个 blog platform. 所以新旧博客的统计要结合起来看。

旧博客统计:

新博客统计:

总计: PV 49,406,UV 15,800

访问设备

iPhone 用户仍然排第一,第二是小米。

来源浏览器

文章排行

上半年一个 Vue 和 Webpack 系列访问量比较大。下半年给自己的博客定位不是单纯的技术博客,访问量比较大的是关于退学的两篇文章。

坚持做独立博客很难,坚持写博客更难。我没有开公众号,因为开公众号会让我感到有压力,更会让我「为了推送而写文章」。也是因为赞同陈皓的观点

技术篇

今年因为工作原因,把大部分的精力花在了 React 上,Vue 反倒没什么机会写了。写 React 的过程中对 Thinking in React 有了不同的看法。我从前不喜欢 JSX, 不喜欢 setState, 但是慢慢地开始思考 Functional Programming, Reactive Programming. 后来发现,React 是不是 React 已经不重要了,因为 React 只是实现它思想的手段,更重要的是在其背后的,UI Development 的观念 —— (state) => View。无论如何争论 Functional Programming,它的的确确改变了我对程序开发的想法,我开始追求 Pure Function,开始讲究函数的 side-effect. 我想下一年我还会对 FRP 做更深入的研究。关于这方面的感悟,我会单独写成文章。

比较快乐的是在一些项目里使用了 TypeScript. 自己也写了文章,录了视频, 来表达我对这个语言的看法。

这一年参加了两个 Talk, 一个是珠三角技术沙龙,讲的是 Vue 和 Native. 另一个是 Node 地下铁,讲了 TypeScript. 关于技术分享,我在知乎有一篇回答 讲了我对国内技术分享会议的看法。希望我自己在接下来的一年能有更大的长进,然后用自己的行动去告诉大家技术分享应该怎么做。

比较遗憾的是工作之后减少了写开源项目的时间,今年对开源社区最大的贡献就只有给一本TypeScript 书 贡献了些内容。

工作篇

从 3 月份入职,完成了一个项目的重构,帮助了一些还有些迷茫的朋友,用自己的热情感染了团队的技术氛围,是在这一年工作上让我自己感到满足的事情。

读书篇

Just for Fun: The Story of an Accidental Revolutionary

Linux 创始人 Linus 的自传,记录了 Linus 的少年时期和 Linux 的诞生,之中还夹杂一些对开放源代码的观念。读完以后很受鼓舞,能像 Linus 一样是我做软件开发的终极目标。

Soft Skills: The software developer's life manual

中文名叫《软技能:代码之外的生存指南》。我很不喜欢这类教别人做人的书,但是受人推荐,还是读完了。

书里有几个章节我印象比较深刻。比如谈到大公司、中等规模公司、创业公司之前的区别:
在大公司工作令人沮丧,因为他们感到他们个人的贡献无足轻重
为大公司工作的一个显而易见的事情就是成长机会
结合自身条件和自己喜欢的工作环境进行职业选择,是需要深思熟虑的事情。

书中还谈了个人品牌的打造,学历问题等等。都值得一读。

The Art of UNIX Programming

中文名是《UNIX 编程艺术》。万幸我用 macOS 也算是 UNIX 环境的重度用户,所以在读这本书的时候不会感到吃力。这本书实际上和 UNIX 源代码没有什么关系,讲的是 UNIX 下的程序(比如 grep),这些程序的设计哲学让我对软件有了新的思考。

编写复杂软件又不至于把自己搞混乱的方法是降低软件整体的复杂度。软件本身的复杂度不会因为实现方式和代码组织的优秀而降低,但是这能使整体复杂度降低。降低整体复杂度的方法是用清晰的接口把复杂的软件分解成若干个简单的模块

每把剃刀都自有其哲学,更何况是软件开发呢。即使是开发一个小函数,它的输入和输出也是需要讲究的。

Becomming Steve Jobs

我没有读《乔布斯传》,而是选了这本《成为乔布斯》,是听说这本传记记录的乔布斯要更真实。事实上通过很多途径都已经宏观上对乔布斯有了很大程度上的了解,所以读传记的时候已经没有对某些事件产生触动。反而触动我的是一些小细节上,比如书中提到乔布斯父亲的话:
对于一个橱柜来说,别人看不到的底面与表面的抛光一样重要;对于一辆雪佛兰汽车来说,别人看不到的刹车片和汽车的油漆一样重要。
容忍与自由

我求学时期读了很多民国作家的书,唯独胡适先生的书读得不多。今年读了这本文集,意犹未尽,还想读他的《中国的哲学》,但看来要等下一年了。

Elon Musk

硅谷「钢铁侠」Elon Musk 的传记。十分羡慕财富自由又有想法的人。

A brief history of humankind

推荐这本有趣的《人类简史》,看人类是如何从原始人进化过来的。

游戏篇

今年买了 PS4, 人生第一台游戏机。玩了几款大作,《最后的生还者》、《神秘海域》、《GTA5》、《看门狗》。印象较深的是《最后的生还者》,没有 PS4 的也建议视频通关。

下半年换了 Macbook Pro 也入了 Steam 的坑,Steam 的游戏和 PS4 比简直就是白菜价。沉迷了一段时间 Don't Starve. 通关了 Firewatch.

自我总结

这一年的成长比较横向,不仅仅在技术,还学习了音乐,健身等等。遗憾是改不掉一直以来喜欢「急」的缺点,急于完成事情,不多加考虑。甚至容易使自己在快要完成一件事情的时候,容易由于太急,最后烂尾,比如

via Randy's Blog

Invalid media:
image
image
image
image
image
image
我看牙医的经历

今年断断续续从 3 月到 11 月我都在牙诊接受牙齿修复,直到今天,修复已经完全做好了。在这个过程中我对牙科有了全新的认识,于是我希望通过分享我这一段经历,让更多人重视牙齿健康。
如果不想看长文,可以直接跳到本文末尾的 TLDR.
我的牙齿属于牙釉质发育不全,虽然从刚换牙的时候我就发现我的牙和别人不一样,但还是在今年 3 月初才准确知道的。那时我刚好智齿在发炎,去医院打算拔掉,一个医生看了我的牙,说你的牙齿烂得很厉害,釉质基本没了,要做牙冠保护,不然再过几年牙就没了。

听了以后我心情复杂,我说我还这么年轻啊。医生说,你的牙用 1 年等于正常人用 5 年的啊。

做牙冠的费用不少,我就回家跟家人说了一下情况,然后又去附近一家牙诊所咨询意见。牙诊所的牙医一看,问我是哪里人,因为他不确定这是釉质发育不全还是氟斑牙,而广东这边的水质一般不会出现氟斑牙的情况。我说我是广东中山的,于是他就基本确定是釉质发育不全了。

他再仔细看我牙齿的情况,最后说了一句:你还是去省口腔医院吧,你这些牙的磨损程度太高,咬合又低,我们这里的设备没有办法做到很高,你给钱我们也不做。

我开始感到情况似乎越来越悲观,后来我姐姐给我推荐了广州某口腔诊所的熊医生,于是我到了广州找他。

熊医生看了我的牙以后,说磨损的确挺严重,但是牙冠还是能做,只不过要做很多颗而已。他和另外几位医生会给我做一个方案。

到底什么是釉质发育不全,首先要清楚一只牙齿的结构:

这是我随手画的一张牙齿抽象图。一颗牙的最外层就是所说的釉质(也称「珐琅质」),而黄色这一层就是牙本质。牙釉质是牙齿最坚硬的部分,也是哺乳动物体内最坚硬的组织,用于咬碎食物,以及保护牙本质。他是不可再生的,所以蛀掉的牙一定不会自愈。牙本质是黄色的,而釉质是白色半透明的,因此正常人最自然的牙齿是偏黄色的。而当釉质被磨损越严重时,牙本质几乎被暴露,才会越来越显非正常的黄。

这是我在后来修复过程中做的下排牙模,可以明显看出,发育不全的釉质比较脆弱,两边的后牙磨损严重,甚至快要磨到底了。在咬合的时候,基本只能靠磨损出来的几个尖尖的点来咬食物。

熊医生给我的方案是,8 颗后牙做根管治疗然后做牙冠,顺便在做牙冠的过程中重整咬合。

为什么需要重整咬合呢?因为我的后牙几乎完全没有咬合。

这是修复前和修复后的侧面对比,可以看出修复前的后牙基本没咬合。

于是整个修复流程开始。而根管治疗是整个过程中最漫长和痛苦的步骤。即使在手术过程中会注射麻药,疼痛还是存在。

上面维基百科上的根管治疗流程图。简单来说,就是从牙齿中间钻开,然后人为把牙神经杀死。牙神经被杀死后,牙齿就不会再有感觉。一般来说,根管治疗都是用于治疗牙髓坏死或牙根感染。而我的情况是做牙冠需要磨一部分牙,如果不把牙神经杀死,磨牙磨到牙本质的疼痛是无法忍受的。

杀死牙神经后,还需要等待一个星期,然后填充药物,最后再补牙。

经过几乎两个月的时间,两边的根管治疗完全做好了。由于经济问题,我拖了很长时间才开始做牙冠。

做牙冠首先要把牙齿磨小一圈,留位置套上新牙冠。磨小以后,咬硅胶、做牙模,然后发给牙冠制造厂家做。这个过程大概需要一周,也就是说,我两边分开做,起码有两周时间需要单边咀嚼。

在修复右边时,有一段小插曲。我的右下智齿阻生并且已经萌出,影响到做牙冠的位置,所以要先把智齿拔掉。拔掉智齿的过程用了两分钟。

TLDR

在做牙齿修复的这段时间,我向牙医学习了很多关于牙齿的常识。虽然我的牙齿问题并非由于后天影响,但偶尔会看见一些人来做牙齿治疗,有很多都是没有太把问题当一回事,到问题严重才会来看牙医。都以为牙疼忍忍就过去了,然而等到再疼下去,等到把牙髓坏死的时候才来找医生,也就只能做根管治疗了。

也有很多人,蛀了牙也不补,最后疼了,有的人也不管,眼看整个牙都要蛀掉了,来看牙医,也就只能种牙了。

大多数人都不知道,补牙能够解决问题是有多幸福,然而大多数人都只会拖着。没有人想要花钱买难受,做根管治疗又贵又疼,真是心疼肉也疼。有好几次我在做根管的过程中都要疼得叫出来,但是又有什么办法呢,这是发育不良,没有办法改变。但是在读这篇文章的各位,你们都要比我幸运得多,你们天生就有一排好牙,希望你们不要浪费。在这里我有一些微小的建议:

如果你从没有洗过牙,打开团购 app, 找离你最近的牙诊所,预约一个洗牙,不贵,也不疼。然后坚持半年或一年洗一次。
把手动牙刷换成电动牙刷,有条件的话,帮你的父母也换上。然后上网找刷牙的视频,学会正确的刷牙方法。
如果你有牙已经蛀了,不要等,立刻去补。
如果你很穷,又不想遵循以上建议的话。呵呵。

via Randy's Blog

Invalid media:
image
image
image
image
image
image
你根本用不着退学

近一年来我收到过很多邮件,说看了我的经历和文章,也想退学了。大意都是「看了你的经历,我觉得我和你一样,所以我也想退学了」,要我给他们一些意见。

我的意见向来是都是劝回学校好好读书,好好拿个学位证,反对一切没有铺好后路的退学行为。直到越来越多这样的人来找我问这样的意见,我意识到我应该认真的写一写我对退学的看法。

选择退学代表放弃学位(也就是所谓的文凭),这是一个沉重的代价,因为学历很重要。

学历像是人的脸。对于样貌,大家都说,「长得好看没有用,内在美最重要」。乍听上去是这么一回事,但是如果长得不好看,茫茫人海里,会有多大的概率有人主动了解你的内在呢。不是说内在没有样貌有用,而是让人愿意了解内在的成本太高了,比有样貌的成本高得多,要付出的努力也要多得多。

很多人看不起别人整容,然而读书(Schooling)其实就是一种整容。谁都会有这种感觉:这个人读重点大学,实际上也没比我能力高多少,但是他处处受欢迎,拿到的 offer 也多。你觉得这样不公平,其实这公平得很。别人为了这个学历付出了多少的努力(不管这种努力在你眼里看来有没有「意义」),而你又为了做好不拿文凭的准备做过多少努力呢?

我不知道别的行业对文凭的重视程度,所以我拿我的本行——软件开发来说。如果打算放弃学位而提前从事软件开发行业,请先问自己一个问题:
你用什么来让别人相信你会写代码?
如果你没有学历,你就需要靠经验来证明自己的能力。

然而大多数来邮件求建议的朋友,大多没有什么经验,却又声称「和你的经历相似」、「和你一样」。其实我们完全不一样,我在退学前就已经写了 7 年代码。

不是说一定要有这么长时间的经验才能离开学校,而是 一定要已经拥有解决问题的能力的时候,才有资格考虑退学这件事。我常常拿我朋友 Drakeet 给身边的人做例子,他是大二退学的,退学时虽然写代码才两年,但是他当时的能力就已经足以独当一面了。

曾经有一位朋友的朋友问我关于退学的意见,他说觉得学历不重要。我问他你会做什么,他说「虽然我现在能力很弱,但是我学习能力强,想进一些大公司跟着大牛学习,等技术可以了,就可以弥补学历的缺陷。」到底是哪来的勇气让他认为大公司的大牛会因为「学习能力强」愿意让他跟着学习。

我不知道为什么那些还没有什么能力的人会认为学校不能教会他们什么,我想大多是人云亦云。他们往往把我退学的原因归咎于「大学教育的落后」(当然这确实是其中一个原因),然后拿我的例子来证明他们的观点,却没有认真思考过我为什么认为(我所在的)大学落后,那是因为学校在教的大多数内容我在好几年前已经滚瓜烂熟了。如果一个人连这些学校在教的基础知识都不会,又何来的底气声称「学校不能教会他们什么」。

当你有信心对老师说「你下来吧,让我来教」的时候,你才需要考虑退学这件事。

大学是一个很好的避风港,能有如此长的一段时间可以没有顾虑地学习自己想学的知识在一生中难能可贵。想研究 V8 内核就去研究,想了解机器学习就找机器学习相关的书慢慢读。

我知道很多打算退学的人心里都盘算着退学后在家自学一两年,然后出去找工作。我不看好这种规划,因为风险大,并且在家自学不见得比在学校自学好到哪里去。除非在这一两年里能在开源社区带来一些什么,否则到最后不会是你理想中的结果。

马克吐温说过一句话:"I have never let my schooling interfere with my education." 在上大学之前,我学习编程的时间很少。每周只能回家一次,用电脑的时间又不多。拿学杂费的找零买些书,上课看,晚修看,把草稿纸当成编辑器,周末回家用电脑实践。我想所有人的大学比那时的我自学条件要好得多,又有什么理由放弃这种条件呢。

希望所有打算退学的朋友能深思熟虑,退学不是一件好事也不是一件坏事,它只是一种选择,取决于哪种选择更适合自己的处境。

虽然我从来没有后悔自己做出的选择,但是我总会羡慕那些有机会读好学校、受好教育的朋友。我是个很爱学习的人,我也想在大学学编译原理,线性代数,概率论,但我这个人比较蠢,没有办法同时兼顾我喜欢的和我不喜欢的课程,又疲于应付功课,所以才会选择退出,然后付出比别人更大的努力,跑在别人的前面。

比我聪明的人很多,而这些人,根本用不着退学。

via Randy's Blog
离开大学这一年

写这篇文章是想说说退学一年后的一些想法。想看技术总结请移步。如果不想看这么多的文字,可以直接拉到最下面,看写在最后的内容。
一年可以发生很多事。

回想起来,大一的一整年我旷了很多课,待在宿舍看书和写代码,周末总是往广州市区跑,参加各种各样的社区活动和聚会。学院规定旷课 20 课时以上就要处分,我很不出意外地被处分了。

签处分的时候,辅导员告诉我,如果这个处分不撤销,是拿不到学位证的。如果想要撤销,要保证在大二整个学年不旷课,也不挂科。我说,那我是完全没戏了。

辅导员让我好好考虑一下。我表达出了离开学校的意愿,她说好好想想,暑假和家人商量出一个结果,开学再找她。

其实我已经想了很久。在学校的一年里,我过得极其难受。我必须浪费很多很多的时间,去上一些只是听上去很有意义的课程,和那些在课室里只会玩手机和睡觉的同学处在同一个课室里,连续待一个半小时。 而我最这个人痛恨的事情,就是别人浪费我的时间。

我父母是很传统和保守的人,我不敢在他们面前提关于离开学校的事情。于是在那个暑假,我度过了人生中最抑郁的两个月。

大二开学,辅导员知道我并没有和家人商量,就打给了我家人。本以为上了大学,就不会再有「打电话通知家人」的破事。

家里人和我想象中不一样,他们很冷静。周末回家,我说出了我的意愿,他们表示让我自己做决定。他们说,你是个成年人了,读大学是自己的事情,如果你要读,我们愿意继续花钱供你读,如果不想读,你自己要为一切后果负责。

于是,在一年前的今天,我回到了学校,找辅导员签下了休学一年的协议。辅导员问我会不会后悔,我说不会。她说那你要加油,希望你能成功。我很开心,因为她是笑着说的。我辅导员笑的时候很漂亮。

和学校没有任何关系以后,我租了一个算是能住的房子,正式开始了职业生涯。

我的第一份工作入职的是一家创业公司 (Kiwi Inc.),是暑假的时候就已经入职的。暑假前我在某群表示想在广州找一份能在暑期做的工作,李秉骏 很快就跟我联系。我从学校坐了趟车到他的公司,一番愉快地交流之后,工作就落定了。

我在 Kiwi Inc. 负责的是前端开发。因为整个开发团队只有我一个前端,而公司主要的产品又有很大的比重在前端,所以进去以后,我过得很充实,因为自己 do the things that matter. 团队因为人不多,大家都很融洽。

我后来听很多人对应届生的「忠告」,都说千万不要去创业公司,大多数创业公司都是坑人的。有条件的,都争取去去大厂,不要在创业公司浪费时间。

对此我保持不同的意见。我非常庆幸自己在创业公司待过(当然也是因为我待的公司不坑人)。在创业公司,我们可以自己选择用最好的工具,可以用 Slack, Trello 以及第三方的 PaaS 等等等等。正因为我们能自由地选择最好的工具,我们可以亲身感受和思考这些产品本身。这些产品优秀的地方会渐渐地成为自己做产品时对产品的品位和追求。并且在创业公司,我们没有无意义的会议,可以把时间用在干实事本身。关键是,我们每个人在公司里,都能感受到自己是极其重要的一员

在 Kiwi Inc. 写前端的过程,是我自己建立前端工程概念的过程。从开发到测试再到部署,从代码规范到构建,都希望把软件工程的思想带到前端中去。虽然现在看来习以为常,但是对于当时只做过自己的 side project 的我来说,这是极大的经验和收获。

在 Kiwi Inc. 待了半年后,出于对自己更高的要求,我离开了这个靠谱的创业团队。

崇尚工程师文化的我一直认为自己会和国内的大厂无缘,大厂不会选择我,我也不会选择大厂。然而我却在农历新年后通过了阿里巴巴移动事业群 (也就是 UC) 的面试。在 2016 年的 3 月加入了阿里。

大公司和创业公司不同,一个简单的问题会牵扯到不同的组,比如一个字段出了问题,要去追踪到底是架构组的问题还是算法组的问题。在大公司,每一个需求要有排期,版本上线要提测,要面对大量用户的反馈。

其实离开了学校开始工作,自己的时间就很少了。一本不厚的《设计模式》,原本可以花两三天粗略地读完,现在会有不知道什么时候才能读完的感觉。这种情况下,很容易使自己在选择读一本书前出现「读这本书对我的工作有实际帮助吗」这种错误的考量。

不够用的时间常常使我处于不安、烦躁和轻度抑郁中,因为我害怕被别人追上。每个认识我的人无论出于真心还是客套都会说我「年轻有为」,但是没有人知道这是一场看不到终点的长跑,我的特立独行让我必须跑得比别人快得多,才能弥补我们之间的差距(学历、智商等等)。这使我感到害怕,尤其是同龄人渐渐都出来实习工作的时候。但又没有任何办法。

工作以后有了稳定并且还不算少的收入,我能用来买自己喜欢的数码产品,也花了不少钱在自己的身体上 (比如健身和吃)。

我不存钱,我希望在我还年轻的时候,在我不需要供这个供那个的年龄,能没有顾虑地花钱让自己快乐。快乐太难又太容易错过了。就像小时候想有一台 Gameboy 但不得愿,现在即使可以没有压力地买下一台 PS4, 也不见得有多快乐。

写在最后

我有很多还在读书的朋友,我们出去聚会聊天的时候,我都会看得出他们的迷茫和无奈。这些迷茫和无奈可能很大程度上来源于教育体制的缺陷,但是,在这个时代,学习早已不仅仅只局限于学校,它在任何一个你可以掌控的角落。它在互联网、在每一本有价值的书籍上。如果学校没有满足你,就去这些地方找。珍惜时间,总有一天会找到它,并能让你过上你希望过上的日子。如果迷茫是出于你的懒惰,就请不要埋怨教育,也不要埋怨任何体制、任何人。

我还有很多已经在工作的朋友,尤其是和我一样在写着代码的朋友。我没有特别要说的,我想说,嘿,我来了。

via Randy's Blog
21 岁我想说的

在我很小的时候,在香港电视剧的影响下,我最初的理想是当一名警察。但是很不幸,当我向着全班描述这个理想的时候,班上的同学都哈哈大笑,甚至老师也对我说,你这样的身材,能打得过小偷么。

于是这个理想再也没有跟任何人提起。但是我很俗套地感谢那位老师,因为从那以后我决定改变我的理想,成为一名科学家。

之后我读过很多科普书籍,奇怪的是,这种给青少年看的科普书,大部分的内容都是有关化学的。以至于我有很长一段时间都在意淫我成为化学家的情景。

六年级转学后,我遇到一位朋友,他给我展示了他自己写的一个博客网站。当时我很吃惊,于是和他一起自学编程。我没有零花钱,只能用学杂费的一些找零买了一本 20 块钱的 中专教材《c语言程序设计》。

和老罗一样,从那时起我就有种被上帝选中的感觉,我觉得我这辈子就是搞这个的。我从意淫自己成为化学家,变成了意淫自己天天写代码。

在这个过程中,我遭受了很多不被人理解和看好的压力,甚至被嘲笑。念高中的时候,由于在一篇周记里表达了自己的理想主义,晚修就被班主任拖出去批判了一番。

直到这一年,经历了足足 8 年,我离开了学校,真正成为了一名软件工程师,曾经意淫的场景变成了现实,和『科学家』这个理想也算占了点边。理想主义万岁。

21 岁,我希望我可以继续写代码,离自己的终极目标更加接近。而那些曾经看不起我和嘲笑过我的人,我只想说,你们这帮孙子,我去你妈的。

via Randy's Blog
我学五笔的经历

最近总是看到社区有人讨论输入法,有朋友安利双拼,有人想 开始学五笔,看了一些回帖,作为一个打了 6,7 年五笔的年轻人,我很有感触,所以就写写我学五笔的经历,给大家借鉴借鉴。

我第一次接触五笔是五年级的电脑课,那时鼠标还是有滚球的。当时电脑老师知道我很喜欢电脑,就告诉我学校准备搞一个电脑打字比赛,希望我学五笔去参赛。我那时只会打全拼,压根没有想过学五笔,但是老师告诉我,如果参加,午睡的时间可以到机房练习。听到这个『福利』之后我立马答应参赛。

之后的一个星期的午睡时间我都去机房练打字,不过我的电脑老师并没有手把手教学,而是帮我装了个叫 "wt" 的软件,是个 DOS 程序,专门用来练五笔的。(我一直没搞懂它为什么叫做 wt,最近又搜了一下,这货中文名叫『明伦五笔』)电脑老师就让我按照这个软件的进度去练。然后又给我一张字根口诀表,什么『王旁青头戈五一』,让我背一下。

刚开始我练的是很认真的,看着一排字,对照着键码提示敲。老师也没管我,自己在讲台玩电脑。于是几天以后我也就没怎么练五笔了,开始玩金山打字通,玩打字游戏,打英文。

这就是我第一次接触五笔,没有背字根,只勉强记住了一些一级简码,能打出来的词语只有『中国人』(k l w)。这段时间最大的收获其实是学会了盲打,靠金山打字通掌握了正确的打字指法。

第二次接触是我姐买了一台步步高电子词典,这部词典相当牛逼,可以用数据线连到电脑,然后安装很多游戏,我经常上厕所的时候拿去玩。后来我姐就生气了,一怒之下把游戏全删了。当时我很失落,但是我还是得上厕所,还是得拿电子词典去玩。我把所有功能都按了一遍,发现没什么好玩的,唯一算得上具有人机交互功能的程序就只有一个练五笔程序。

我就开始玩这个,但是我几乎什么字都不会,我选了四级全码的练习。四级全码的意思是同一个字母打四次就会出现的字。程序是这样的:右上角出现一个字,我得输入四个字母然后按确认看对不对。我一开始什么都不会,只会一级简码。所以我就开始一直蒙,蒙到最后我就把所有全码几乎都记住了。我现在还记得我记住的第一个全码是『火』,四个 o。

第三次是六年级毕业后的暑假,那时我的上网时间是被限制的。那段时间几乎每天在我爸上班的地方,有一台没有联网的电脑,除了 Microsoft Office, 就只有金山打字通。那时拼音输入法没有现在智能,会五笔仍然是招聘的一个加分项,所以我爸妈都希望我们学五笔。我姐是打五笔的,打字非常快,虽然和我当时打拼音的『敲打速度』差不多,但是五笔重码率非常低,不需要像拼音那样,打出来,还得看看是哪个选项。加上那时我也闷得慌,就天天用金山打字通练五笔。

很多人说学五笔得背字根表,记口诀。我从小就讨厌背诵,所以一直没有去背那个鬼东西,导致我一直非常容易忘。后来我『牺牲』了自己一些有限的上网时间,搜了一下字根排布有没有什么规律。

然后我发现果然是有的,五笔字根在键位上的排布是有规律的。

五笔的规律

首先来看一下整个字根的分布图:

对于新手来说肯定是非常吓人的,这也是很少人学五笔的原因。但是其实它是有规律的。

第一是整体上的划分,整个布局总共只有五个区,分别是撇(QWERT)、点(YUIOP)、横(ASDFG)、竖(HJKL)和折勾(XCVBNM)。这也许就五笔叫做五笔的原因。只要记住这五个区的分布就十分容易定位某个字根所在的键位了。比如你忘了『蝗』字的『虫』字旁在哪个键位,但是你知道它肯定是在 HJKL 其中一个键上。

再来深入地看某一个区中的规律。例如『刘』立刀旁,他是竖的,它肯定在 HJKL 其中一个键位上,那到底是哪一个键呢?如果你仔细看一下,你会发现,H 是一条竖,J 是两条竖,K 是三条竖,L 是四条竖。立刀旁是两竖,那它就是在 J 上了。

当然,还有很多其它的字根并不遵循这些规律,到底是为什么,我也不知道,你得问王永民先生。打多几次,就能记住。

记着这两个规律,自己再读一遍字根图,摸索一下,再打个一星期,正常人来说,是肯定能学会的。但是熟练还是得靠多打。五笔是十分靠肌肉记忆的,打到熟练的时候,你已经不会再去这个字应该怎么拆的。比如我就不会去想『应该』这两个字怎么拆,但是我知道它肯定打 YIYY

五笔快还是拼音快?

现在社区上一般讨论的是五笔快还是拼音快。常年打拼音的人肯定会说现在的拼音输入法已经相当智能,不怎么需要去考虑重码。事实确实是这样的,以前智能 ABC 的时代,五笔是完全可以虐拼音的。但现在,起码在这个点上,五笔的优势已经不再明显了。也就是说,五笔最能体现出优势是在脱离词库的场景。这有点像 vim 和 sublime 的比较,离开了 GUI,vim 的优势就迅速体现出来了。

根据我多年的经验,实际上,拼音不是最快的,五笔也不是,最快的输入方式是拼音五笔混输。说实话,打了这么多年五笔,我仍然不清楚『尴尬』两个字怎么拆,当我打到这两个字的时候,我只要输入"ganga",就立刻打出来,这是最好的,非常舒服和自然。这一段文字,除了尴尬两个字,其它全是五笔打出来的,难拆的字一点也没影响到我的打字速度。所以,还是那句话,最快的输入方式是拼音和五笔混输。

那我现在学不学五笔好?

无论在什么情况,能学习的东西,学了肯定是好的,不管它是不是『有用』的。就像 Steve Jobs 说的,connecting the dot. 有没有必要学,花多少时间去学,那是你自己要考虑的事情,作为旁人,没有办法给意见。只能说的是,学了以后不会在短时间内给你带来什么,不学你也不会失去什么

人越长大,就越少机会做些能让自己感到开心的『无用』的事情了。

最后推荐个输入法?

关于输入法,我在 Mac 上用的是 QQ 五笔,基础词库很足,再加上流行语词库,就十分够用了。打五笔,词库只有嫌多,没有嫌少的。至于手机,我在手机是不打五笔的,因为没有手感。之前已经说了,打五笔到后期基本是靠肌肉记忆的,也就是说,离开了实体键盘,很难有同样流畅的手感。我在手机上比较奇葩,用的是笔划输入,是学我姐的。最近也在玩 Google 的划动输入,所以偶尔也打打拼音。

via Randy's Blog

Invalid media: image
写给即将学习编程的大学新生

写下这篇文章,是由于我想和即将进入大学有意学习编程的同学谈谈关于编程的事,因为你可能需要一些建议,来步入这个新的阶段。

编程是非常有趣的一件事情,学会编程就像成为魔术师,你可以创造任何你想创造的东西。在我出生到现在的这 20 年里,除了文学,没有比编程更吸引我的活动。就像 Zed Shaw 所说的,『编程作为一项智力活动,是唯一一种能让你创建交互式艺术的艺术形式。你可以创建项目让别人使用,而且你可以间接地和使用者沟通。没有其他的艺术形式能做到如此程度的交互性。电影领着观众走向一个方向,绘画是不会动的。而代码却是双向互动的。』

一些困惑

但是当你开始接触(我所在的)大学的计算机相关课程,你会发现,所谓的编程学习,无非是老师教一章内容,要求你用学到的语法去解一些数学题。于是很多人选择放弃,认为编程乏味无趣,用很长的课时学习,却只能写出简单的四则运算,或者解数学题。

然而这并非编程的全部,因为这恰恰能生动地表明编程语言只不过是一种工具,你可以用它来解数学题,也能做其它更有趣、更实用的程序。

在(我所在的)大学,计算机相关课程教 C/C++。有一次,一位大三的朋友问我说,『我学 C 学了一段时间,为什么我还是感觉很没用?』我是这样回答他的:

你学 C 学了一段时间感觉没有用处并非你个人的问题,我无法跟你解释为什么,不过我可以告诉你的是,Linus Torvalds 用 C 写了 Linux 和 Git; Antirez 用 C 写了数据库 Redis. 你可能连 Git 是什么都不知道,如何用 C 写出这种水平的程序呢?

所以,当你学习 C/C++ 基础后进入困惑期时,不要因为用它写不出实用的程序而止步不前,而应该开始接触其它的编程语言。当你所学和所做的东西越来越多的时候,你慢慢就会发现,编程语言只不过是一种工具,重要的在于你想做什么,用什么语言合适去做(华软的校内游戏直播网站 SISE Game 就是例子,网站的后端用 Ruby on Rails 写,但实时聊天是用 Node.js (JavaScript) ,因为相对于 Ruby, Node.js 更加适合处理 WebSocket)。 你之所以感觉 C/C++ 没用,是因为你暂时还没有足够的眼界和能力去使用他去进行创造

应该去学什么?我的建议是一门严谨的强类型语言(如 Java)和一门愉快的脚本语言(如 JavaScript, Ruby, Python)。当然了,如果你想学一些能立竿见影的技能,你也可以写写前端(HTML, CSS)。

So, How?

对于应该如何去学习,我不打算在这里论述,我只想列出一些有用的建议:

1. 无论你要学什么,你读的第一篇文章应该是《提问的智慧》
2. 用 Google 搜索技术相关的信息
3. 购买付费可靠的科学上网服务,不要吝啬一顿饭的钱。
4. 不要害怕英文,英文非常重要。

几乎所有最新的技术在刚出来的时候只有英文文档,优质的 Tutorial 大多数也是英文的。

1. 参与一些质量高的社区,关注一些值得关注的人。

这一点很重要。学校所教的内容是陈旧、过时的(虽然这也许不是学校的错),你必须和社区保持同步,不断接触和学习新的技术。AngularJS 发布至今都有 6 年了,但在我们学校仍然在教 ExtJS,很多学生甚至毕业出来找工作的时候,连 AngularJS 都没听说过。

国内的 V2EX 和国外的 Hackernews 都是不错的社区。

一些现状

你并不能指望大学的课程或者大学老师能给你带来什么,一切都应该靠你自己。无论在多优秀或者多差劲的学校,学校本身能影响你的是辅助性的,而不是决定性的。在我的学校,几乎都在打游戏和应付考试,据我所知,即使是重点大学,这样的学生也大有人在,我渐渐明白,『你今后人生的艰难,恰恰不是因为你没能考上一个满意的学校,而是在这所学校里,在一个能让自己自由充分成长的黄金四年里,把自己给荒废了』(采铜的回答)。

为未来铺路

如果你以后有意从事编程的相关工作,你应该要知道,在找工作时和其它竞争者拉开差距的,并非你从哪里毕业,在学校当什么干部,而是你有足够的能力,并且能清楚地让别人看到你的能力。

让别人看到你能力的方法是开源社区和博客,所以我建议你在学习的过程中,多为开源做贡献,甚至可以维护一个自己的开源项目。另外还可以把自己的所学记录和总结到独立博客中。一个好的 Github Account 和好的独立博客是一份最好的简历。也许你也只有在大学这自由的四年才能有时间做这两件事情。

最后

我在广州大学华软软件学院读书已经有一年了,这一年里我遇到过许多对现在对未来感到迷茫的朋友,他们对教育抱有希望,对知识怀有渴望。我曾经试图做一些事情去改变现状,但是效果都不大,该混日子的还是继续混日子,到毕业后才开始抱怨就业难。我呸,互联网行业都缺人缺到什么地步了你跟我说就业难?

不过,只要我还没被学校开除,我还是会尽我所能地为迷茫的朋友做一些事情。至于做些什么,我还没想好,我不知道应该怎么做,如果你有好的建议,欢迎联系我。

如果你看完这篇文章,还有问题可以联系我的 Email: [email protected],只要你读过《提问的智慧》,问的问题经过自己思考,我都会尽快地详细地回复。

『你会编程。他们不会。这真他妈的酷。』

via Randy's Blog
2014 年终总结

2014 年因为有高考所以比往年过得快了些,大学的一个学期转眼也过了。有时候甚至缓不过神来,甚至让我常常有种错觉,2014 它早就过了,但 2015 它迟迟未来。

今年的 1 月我还在为化学烦恼,今年的 12 月现在的我已经过上了那时梦寐以求的自由的生活。但是生活哪有什么所谓的自由,高考只不过给我开了一个闸,从一个小笼子,滚进了一个更大的笼子而已。而这个更大的笼子比以前按部就班的生活更让我感到害怕,就像《海上钢琴师》里 1900 放弃离开轮船后 对 Max 说的一样,让我害怕的不是我看到的东西,而是我所无法看到的东西,这里什么都有,可是唯独没有尽头。

还好上了大学以后,能遇到几个让我又有了寄托的朋友,我和他们一起做事,非常地快乐。

技术方面,哈哈,就不说了,我仍然迫切的希望能用技术给这个社会带来一点好的改变。

遗憾的事是好像很难再找到能聊聊天的朋友,而且好像变得不太爱说话了,所以有时候我还是挺怀念高一时候的我。最遗憾的事是 Google 还没有解封,当我以为『她』正在慢慢变好的时候,却再一次让我失望了。

新年愿望是,1,所有人都好 2,能继续写代码 3,生活的这片土地能再进步一些,我知道这的确需要一个过程,但我想自己,和我身边的人,还有未来的儿子和女儿,都能在这里活得快乐些。

最后附上 1900 对 Max 说的那段话,说的真好:
All that city. You just couldn't see the end to it. The end? Please? You please just show me where it ends? It was all very fine on that gangway. And I was grand too, in my overcoat. I cut quite a figure. And I was getting off. Guaranteed. There was no problem. It wasn't what I saw that stopped me, Max. It was what I didn't see. You understand that? What I didn't see. In all that sprawling city there was everything except an end. There was no end. What I did not see was where the whole thing came to an end. The end of the world...


via Randy's Blog
新 MacBook 的设置和软件

趁着国补,把手头用了 5 年的 MacBook Air M1 换成了 MacBook Pro 14 寸 M4. 顺便手动重新配置新电脑,在此记录一下每次设置新电脑时我会做的一些设置和必装的软件。

设置

把点按切换成轻点:

我不喜欢用触摸板点按拖动来移动窗口,觉得有点费力,所以我会调整为三指拖移。旧版本的 OS X 可以直接在系统设置中调整,新版本的 macOS 竟然把它归类到辅助功能里了:

把 Control 键和 Caps Lock 键互换。因为我需要频繁使用 Control 键,Caps Lock 的位置是最合适的,这也是 HHKB 的默认布局:

取消 Spotlight 的所有索引,因为我用 Raycast, Spotlight 的索引会浪费计算资源:

软件

Microsoft Edge: 用了很多年的主力浏览器
清歌五笔输入法: 最好用的五笔输入法
Raycast: 不必多说
Cursor: 目前主力 IDE, 也是 Cursor 长期的订阅用户
CleanShotX: 最好用的截图软件,除了截图还有很多好用的小功能(比如 OCR, 录屏)
1Password: 密码管理
Warp: 主力 Terminal Emulator, 已经离不开通过 AI 写复杂的命令
iStat Menus: 在 Menu bar 显示系统信息,我用来实时看到网络传输速度和内存使用情况

via Randy's Blog
新年的路

该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/notes/185

许久没有写代码了,原因是最近自驾去了挺多地方。

年前,去了海宁神仙湖。第一次上高速。

:::gallery https://object.innei.in/bed/2025/0202_1738511753954.jpeg https://object.innei.in/bed/2025/0202_1738511757142.jpeg :::

冬天去拍不是很出片,只能拍到黄黄的一片,下次夏天去景色应该会很好。

然后去了南北湖。比较一般。没咋拍。

除夕前一晚,去了巧克力小镇。也比较一般。

除夕那天,城里一片宁静,但是在三环上,是一个分水岭。

同时,去了附近的景区,也是有很多老板按箱放烟花的。

初一,去了山海几千重。看了篝火表演和烟花,可惜没找到打铁花的表演位置

后面去了盐官。但是没看到潮水,刚好错过了。

去了大风车。

过年期间,不管是哪个有点名气的景点人都挺多的。

上面的航拍都是用 DJI mini 4K 拍的,入门级无人机,刚入的。有点后悔买了这个,当前主要是为了练着玩玩,炸了也不难过。但是画质真的挺差的。

提车两个月,已经跑了 2300km+。

好久没有写代码了,还是感到非常的焦虑。

看完了?说点什么呢

via 静かな森 (author: Innei)

Invalid media: animation
中国企业的过度负债现象

刘元庆博士曾说过一句很朴实的话,“从银行债权人的角度看,债务轻的客户就是好客户,债务重了就不是好客户了”,道理虽然很简单,但现实往往更加复杂。 在现实中,我们发现国内企业往往都负债很高,或者说,患上了“债务依赖症”,为什么呢? 要说这个问题,首先要说到我国金融体系。 我国在改革开放之前经历了长期的计划经济,国家对于资源的分配和金融活动有着高度的控制和干预,银行规模发达,就形成了以银行为中心的间接融资体系。1978年改革开放之后,我国开放了市场,但此前金融体系已经稳定,银行在提......

READ MORE

via 太隐 (author: Ludwig Wang)
再选毛选:《论反对日本帝国主义的策略》

1935年12月17日,六届中央政治局于陕北安定县(现子长市)瓦窑堡举行扩大会议,会上严厉批评了党内关于中国民族资产阶级不可能和中国工人农民联合抗日的错误观点,决定了建立抗日民族统一战线的策略。毛泽东在会上指出了中国革命的长期性,并批判了过去党内长时间存在狭隘的关门主义和对于革命的急性病。同时,毛泽东还提出了要吸取陈独秀右倾机会主义的教训。所以,这也是后来对待蒋介石能保持清醒的原因,主要是统一了思想和认识。 这场会议直到1935年12月25日才结束,两天后,也就是12月27日......

READ MORE

via 太隐 (author: Ludwig Wang)
2024:浏览器从 A 到 Z

和大部分人使用浏览器书签或者导航类网站索引自己的常用网站不同,我强烈依赖基于浏览器地址栏自动补全来访问我常用的网站。那么,将 A-Z 逐一输入到 Google Chrome 的地址栏里,我的 Google Chrome 都会自动补全出哪些域名呢?

请前往 https://blog.skk.moe/post/2024-browser-from-a-to-z/ 阅读全文

via Sukka's Blog
Back to Top