年度总结 - 2018年全年复盘
2019年一月已经过半,本该在年底十二月完成的总结又到现在才开始着笔。2018年发生了很多事,从年初比特币大涨至最高到现在互联网寒冬已至,不断变化的是环境,不变的是每年一次的年终总结。(误)
技术
做为一个程序员,在保持自己技术水平同时,应当不断地学习,总结和思考新的技术,才能在这个行业不至于被淘汰。互联网寒冬来临之时,对于还不能掌握形式的我也只能先增强自身能力以期减少这个寒冬带来影响。
机器学习和深度学习
从2017年年底开始涉足机器学习深度学习,先是学习然后在工作项目中实践,至今一年有余。
机器学习和深度学习从吴恩达的《机器学习》和《深度学习》课程开始,吴恩达的课程简洁易懂,逻辑清楚,虽然都是英文,但也没有太大关系。不过这两个课程注重算法胡实现,缺少项目,因此可以需要 fast.ai 的机器学习和深度学习课程来巩固掌握。主要使用的框架是 Scikit-learn
,Keras
和 Tensorflow
,这三个掌握不足。
之后在公司安全项目中使用了一些分析和算法,对于机器学习和深度学习的理解和应用也只能说是皮毛。
Python和Go
- Python语法巩固;
- Go语言熟悉了基本语法,能阅读代码,会简单编写;
- 入门Rust。
iOS 开发
年初(2017年末)答应给朋友的电影推荐网站写一个 iOS App,结果朋友的站倒闭了也还没有开始。下定决心花了一个多月学习 《Beginning iOS 11 Programming With Swift 4.1》和练习,然后开始做一个基于机器学习的垃圾短信过滤App SMSFilters,功能模仿熊猫吃短信。刚开始就是一行代码写一天,一个Bug改一周,软件开发这种事情就是要不断实践才能对所学的知识掌握。
SMSFilters 使用 Jieba 分词处理短信,然后用词袋模型提取特征,最后用 LinearSVC 训练,写 SMSFilters 遇到的第一个难题就是集成调用 CppJieba,没有经验,只能查文档,查StackOverflow,经过两周尝试,终于解决,过程可以参见 Demo 项目 SwiftJiebaDemo 和博文在iOS-Swift项目中集成CppJieba分词。目前项目进展至使用模型进行垃圾短信判断。
开源和社区
9月底请假去上海参加了今年的 Google 中国开发者大会,Google 是一家伟大公司,也是一家令人向往的公司.。Google 对于技术的追求也是有目共睹的。虽然 Google 重返中国进程一直很艰难,但不妨碍其技术传播。此次参加开发者大会让我体会最深的是 Google 对于技术的追求,以及用技术改变世界的理想。Google 分享的技术涉及 AI,Tensorflow,Android,Firebase,Flutter 以及 AR/VR 等,在用技术改变世界。
博客和资讯
日常的咨询获取基本靠自订阅的 RSS,以及自己搭建的 RSSHub 和使用 feed43.com 做的 feed,但是对于微信公众号,自从微广场停止之后,一直没有很好的获取工具。
去年的博客数量更新很少,而且质量也不高,都是一些 “How to” 文,以及只写了大纲的几篇文章。
任务管理
9月看到 limboys 用 Trello 管理和记录日常的 Board,很有条理,便开始使用 Trello 管理和记录包括看书,电影电视,以及项目,目前公开了两个 Board:Qiwihui's Life 和 技术和思考。Trello 的体验轻便,方便梳理,是迄今用过的最舒服的项目管理工具。
其他
- Chrome扩展:Octo Previewer
Fork并修改了一个 Chrome 扩展:Octo Previewer,用来实时预览 Github 上的 PRs,Issues,Gists 的 Markdown 评论。
- 在macOS上基于docker构建透明代理
Trello 卡片 上记录这个过程。理论上是可行的,只是在有些工具上卡住了前进的路线。
- hiwifi-ss 项目
这个基于极路由的翻墙项目没有持续维护,一则自己对于 lua 和 前端不熟悉,开发起来困难,二则我自己的极路由在搬家之后就没有了,再者极路由似乎大势已去,所以这个项目基本也就三四个月更新一次。这个项目给我带来的最大感触就是维护开源项目真的不容易。前些天看到 kalasoo 的文章《开源即责任》也是有感触。
读书
2018年上半年忙与机器学习和项目,几乎没有读什么书,下半年(9月)开始入坑科幻小说。《三体》是一部好的科幻小说,但在国内《三体》造就的伪科幻迷群体以及随之而来的各种各种视为真理的概念着实令人难受,于是入坑科幻洗洗脑。科幻类基本都是名篇,看过之后,对于《三体》所带来的震撼减轻了不少,但是我更加佩服大刘了。
books技术类
- 《Node入门》:一本入门 node 的不错的简单教程。
- 《Beginning iOS 11 Programming With Swift 4.1》:出自 Appcoda 的 iOS 开发入门教程,対初学者十分友好,详细介绍了开发一个 App 所需要的各个细节。
- 《python-data-structure-cn》:Python数据结构简单介绍和实践,主要边帮着校对边读了。
- 《给iOS开发者的Sketch入门教程》:做图标。
科幻类
- 《海伯利安》及《海伯利安的陨落》,丹·西蒙斯:太空歌剧,感叹于作者对七个朝圣者故事的精彩讲述,以及挖坑。
- 《软件体的生命周期》,姜峯楠:一开始还以为是计算机的书,姜峯楠的中短篇非常有料,和之前看过的《你一生的故事》短篇集同样精彩。
- 《银河帝国》基地三部曲,包括 《基地》、《基地与帝国》、《第二基地》,艾萨克·阿西莫夫:经典中经典。
- 《银河帝国》机器人系列,包括 《我,机器人》、《钢穴》、《裸阳》、《曙光中的机器人》、《机器人与帝国》,艾萨克·阿西莫夫:对于机器人三大法则,作者一步步进行“推翻”补充的过程。
- 《平面国——及正方形的多维世界历险记》,埃德温·A·艾勃特:你如何看待二维世界,以及四维世界如何看你。
- 《童年的终结》,阿瑟·克拉克:“大规摸养猪场技术”,包括安抚,推荐。
- 《与拉玛相会》,阿瑟·克拉克:小说对于 Rama 飞船的探索写的很详尽,以至于最后离开飞船后飞船的行动让我大气不敢出。
数学类
- 《从一到无穷大:科学中的事实和臆测》:科普,讲的东西很多,第一章是数论,第二章是相对论,第三章是微观世界,第四章是宏观世界,对于我无太多感想,必竟很多都知道了,感觉又看了一遍高中书。
- 《素数之恋—黎曼和数学中最大的未解之迷》:理论和计算结合。
- 《Riemann 猜想漫谈》:通俗易懂。
关于素数的两本书,主要是因为菲尔兹奖与阿贝尔奖双料得主迈克尔·阿蒂亚爵士讲述他对黎曼猜想的证明,这次事件间引起了我详细了解黎曼猜想的兴趣,为此还专门购买了经典教材《复变函数论方法》,期待进一步了解。这两本书适合一起看,互相补充。不幸的是,迈克尔·阿蒂亚爵士,于 2019 年 1 月 11 日上午逝世,享年八十九岁。他最后的尝试,令人佩服!
「我一直在尝试理解事物运行的原因。我对不能理解背后原理的公式不感兴趣。我总是试图挖掘事物背后的原理,所以如果我有一个公式,我就会去理解它为什么是这样。理解是一个非常困难的概念。人们认为数学的开始是你写下一个定理并附带证明。这不是开始,这是结束。对我来说,数学的创造性在你动手在纸上写字之前,在你尝试写公式之前。你描绘不同的事物,在脑海中反复思考。你尝试的创造,就像音乐家试图创作音乐,或诗人写诗一样。这个过程没有可以遵循的规律,你必须找到自己的方法。但到了最后,就像作曲家必须写下乐谱一样,你必须把它写下来。但最重要的一步是理解。证明公式本身可能不能让你理解。你可能有一个很长的证明,但到最后却不知道它为何是这样。但为了理解,你必须找到类似于直觉的能力,你必须感受它。」
——迈克尔·阿蒂亚爵士
其他类
- 《黑客(计算机革命的英雄)》:家酿计算机俱乐部以及上古黑客的事迹,看完这个可以看看 《黑镜:潘达斯奈基》,可以看到许多影子。
- 《此间的少年》,江南:之前没看完补上的。
今年看的非技术书基本都是在上下班坐着公交看的,积少成多,也就多了。今年的体会就是读书如抽丝。多读书涨见识。
电影、电视剧
平常看电影电视有时候喜欢写着代码,可能也不太记得太多,讲讲喜欢的吧。
movies- 《碟中碟6:全面瓦解》:阿汤哥不老开挂。
- 《dele ディーリー 人生删除事务所》:其实不喜欢,以删除人生的名义偷窥以至修改别人的人生。
- 《知无涯者 The Man Who Knew Infinity》:印度小哥开启挂来连哈代都服。
- 《超级科学伙伴》:和一群点了“超人”技能树的科学家一起拯救世界是一种怎样的体验。
- 《我的三体》(第一季,第二季):《我的世界》+《三体》简直不要太开心,可能是唯一的视频画面质量以可见的速度在变化的动画。
- 《神奇动物:格林德沃之罪》:挖坑之作,“英特纳雄耐尔,就一定要实现!”。
- 《神秘博士》(第十一季):换了编剧之后十三姨没有自己的特点,期待圣诞之后的几集能好转。
- 《邪不压正》:如果那个北京城是真的。
- 《世界奇妙物语 2018年春季特别篇》:意外好看一些。
- 《辛普森一家》(第三十季):小黄人一家的故事。
- 《孤独的美食家》(第七季):“凭谁问,廉颇老矣,尚能饭否?”
- 《深夜食堂》(第三季):看的不是菜,是人间百味。
游戏
年初买了 Nitendo Switch,不过没有太多时间花在玩游戏上,以至于《塞尔达传说:荒野之息》和《超级马里奥:奥德赛》都没有通关,只是偶尔用来玩玩 AoV,不过 NS 的体验确实非常不错,不论是个人还是联机,值得推荐。个人觉得游戏在于娱乐放松,若影响正常工作和情绪则视为不可,曾记得大学玩游戏还冲别人发过脾气也是太年轻。
《王者荣耀》 和 《Arena of Valor》
我在王者荣耀S13赛季又重新玩了一段时间,每天三五局,升个一星两星就停止,掉个一星两星也停止,就这样达到了个人历史最好成绩,不过这个过程给我带来的影响也不少。一个是我发现在白天的队友比较坑,而到了夜晚会好很多,估计是小学生都去睡觉了,所以我每到十一二点就开始玩,有时会因为连胜而玩到很晚,以致停止一段时间之后仍不能好好早睡,严重影响精神状态;二是一局结束又开一局,犹如赌博,赢则更想赢,输则不服气,往往计较于一城得失,实在是影响心气。这个游戏不能投入太多时间。
《塞尔达传说:荒野之息》 和 《超级马里奥:奥德赛》
zelda很不错的游戏,只是都还没有玩通关,需要补上。
《旅行青蛙》
就和养儿子一样(虽然作者说的是丈夫),总是担心种种,吃没吃好,有没有被雨淋,有没有被欺负,路上还有钱吗。这就是为人父母的体验吧。
吃鸡
接触不多,不过和《王者荣耀》这种是一样的感受。看过一些游戏主播的视频,佩服一个LOL职业玩家转吃鸡的主播,在战场上沉稳,有判断。
Ingress
已经弃坑了,一则是因为满级了,并没有刷成就的习惯,同时也因为没有太多时间出门,二则官方一直没有太多的积极活动,每次就是换一个地方刷牌子,再则在手机升级到 iOS 11 之后,官方推出了 Ingress Prime,游戏体验万分糟糕,之前的版本却不升级,遂弃。Ingress玩了四五年,也疯狂过,但是还是离开吧。
生活
- 婚姻
今年一大事就是和老婆领证了,还没有办酒席,两人都商量着简办,请亲戚吃个饭就感觉已经很隆重了。参加了几次同学的婚礼,无非接亲,闹新郎,宣个誓言,在众亲友面前挥泪感恩,对于这样重复的婚礼,也没有太大的兴趣。梦想人生的婚礼应当刺激,可以在远山,或者,招待一群好友,准备一堆食物,准备一段给大家的表演,大家也可以上台表演,发表自己的感想。
- 旅行
- 7月在云台山,看大山,打水战,舒畅。
- 9月青龙峡,人生第一次蹦极,刺激。
- 10月湖南长沙,看橘子洲头,品长沙臭豆腐,一般。
- 养猫
11月,迎来家庭另一个成员,一只英国短毛蓝猫,取名“狗狗”。虽然有时会觉得这和取狗蛋差不多,也不知道会不会让其他猫看不起。第一次养猫,总是担心这担心那,生怕他生病了,像极了父母。久了我也发现他还是很粘人的,不知道年后给他找了女朋友之后会不会还是这么粘人。
- 关于亲戚和钱
十月,堂弟找我借钱周转,并承诺四天还,鉴于有承诺而且是亲戚,也就爽快借了。第一次到期没任何动静,还钱还是再接着一句话也没说,我问了才换来一句“明天,明天一定换”,接着第二次就是“最迟不会超过后天下午”,然后是到期还了一半,我没收,要全款,就继续拖着,一星期没动静,问了几句就变成在外地学习没开手机,“明天下午三点之前”,然后“再给一个小时”,“我手机没电了”。最后钱是还了,但是我对他的信任一点都没有了,直接拉黑!
这件事让伙我认识到一点:在钱面前,亲戚的嘴脸也是令人恶心的。我借钱是因为我信任,却不代表你可以践踏。想起一个村民中奖却被村里人借得倾家荡产,村里人却觉得他有钱为什么就不能借点,可怕。
展望2019
绝不是flag。
- 做一份关于Python的知识小集,不求多,但求记录下一些易错,有深度的小知识点。同时过一遍Python的参考文档,阅读一些框架源码。
- 维护现有开源翻墙项目。
- 每两周至少一篇博客,记录的内容不能太基础,需要有思考。
- 深入了解计算机基础,包括系统原理、数据结构和算法、网络基础和编译原理,这四个方面每一个都阅读一本书籍,理解并掌握常用内容。
- 在leetcode上刷50题。
- 机器学习:学完fast.ai的机器学习课程。
- 深度学习:学习fast.ai的深度学习课程,对应同步阅读花书。
- 减少游戏时间,不在十一点以后玩游戏。
- 学会五笔打字,速度至少能达到60字/分钟。
- 在App store上至少上架一个App。
- 了解投资相关内容。
写在最后
人生需要有目标,需要一个积极乐观的心态,和一群志同道合的同伴。