本来还想以一句略带伤感的诗句开头

一年将尽夜 , 万里未归人

可惜昨晚回的迟,回来把菊斋里岁末感慨和结集刷一下,就来不及写新年计划了,今天补上

2016年做了一些自己觉得好玩的西,沉浸在代码里,不知有汉,无论魏晋

先做个2016年小节

2016年

只谈技术方面,16年的计划就大方向而言基本达成,就程度而言,超出预期。简单总结的话,大概会用:求仁得仁

求仁得仁似乎隐含着"但是"–除了所求的方面其他方面并不怎样。我的"但是"是 ,出游少了,读书少了,人际方面也疏于打理

去年年底还能在《近况》里说

惭愧半年音讯无,溺于风景溺于书

今年真是只剩惭愧了:漂移板只学会平衡,还没法上路,口琴也疏于练习,还是两只老虎水平

这些俱是16年留下的遗憾


技术方面,主要在做以下几块

系统架构

总算把折腾了2年多的OpenedX架构吃透,近十个子系统构成,近百万行代码

直到今年才有豁然开朗的感觉,之前都是只见树木不见森林

下半年在@MT组织的open edx beijing meetup 中做了个主题分享:OPEN EDX ARCHITECTURE,自觉思路还算清晰,整体的架构分析在我的演讲稿里: presentation-edx

在系统设计中,从edx这边学来的架构风格,对我帮助很大,异构系统的整合手段(CAS/OAuth2)、高内聚低耦合的组件设计(服务化)、如何做好组件分布式,这些设计大型系统的常见问题,edx都给出了很漂亮的解决方案,是个绝佳的活体标本和现实教材。

在我参与的项目里,我试着用从OpenedX这里学来的经验做架构设计和原型构建,得心应手,毕竟很少有系统复杂到OpenedX这种程度

这些项目包括:

*  公司内部的两个项目
*  blockly4pi(cloud) (因为这个项目目前公司在用,暂时不方便开源,之后可能会直接发布为操作系统)
*  paperweekly_forum (在我的github上,为paperweekly构建的论坛/微信群通信解决方案)
*  mba.ai
*  ai/nlp相关的一个创业项目,目标是实现api.ai的friendly版本,因为朋友的创业公司在用,所以这个项目也暂不方便开源

AI/NLP

AI/NLP这是我今年的兴趣之一,起初在Coursera上跟着吴恩达学习机器学习,后来跟着github上的一些项目做些入门实践,以熟悉基本的工具和流程

这些是我的学习资料:机器学习与人工智能(我的学习资料)

今年最有趣的事情之一,恐怕要算和paperweeky的结识,paperweekly是个有趣而友好的地方,大家每周一起读论文,分享心得,气氛活跃而融洽

PaperWeekly是一个由50多名喜欢分享知识的童鞋利用宝贵的业余时间来一起,以一周为单位、对一个topic进行多篇paper解读和对比总结的、不追求热点、不搞些噱头的爱心公益组织,旨在分享知识

因为写了paperweekly_forum这个简单工具,结识了paperweekly中许多折腾ai/nlp的小伙伴(昨天在新巴克与素未谋面@xxj不期而遇,聊得十分投缘,巧得可以单独作为一篇故事来写)。他们大多是折腾基础算法、论文和学术的博士,踏实、低调而优秀

关于AI/NLP这块我做的一些有趣项目做个罗列:

  • 做了几个好玩的bot,诸如用自然语言查询火车票的ibot
  • 使用chatterbot构建的本地bot:deepthought
  • 使用微信控制的树莓派bot……这些项目都在我的博客和github里,全部开源,有兴趣的小伙伴可以自己跑起来玩
  • hack了siri做的 hi siri 关灯
  • 把yige.ai作为可视化组件,降低用户门槛
  • 完成openbot基本架构,这个项目致力于成为nlu server和用户之间的通用胶水层,bot server被设计为可插拔的,接入之后即可对用户提供nlu服务(我认为这块的基础服务高度同构,抽象出来不难),这个项目主要将组件之间的接口、restful api和多语言sdk做得通用

硬件/黑客

我的硬件平台选择树莓派,和许多硬件黑客一样,偏好友好而可爱的树莓派和python

@李老师帮我补上了许多硬件知识,关于李老师其人,可以参考:这篇文章,2016年夏天@ysy将离南京,有天问我将来想做的事情有哪些,我说我想成为一名黑客(黑客:计算机革命的英雄这本书谈论的那种黑客),我又补充说,最好也能成为硬件黑客。

因为李老师的缘故,不敢妄称硬件黑客,但我觉得李老师把我带入门了

前头的几个ai/nlp项目也大多和硬件有关

黑客领域(无论就哪种定义而言)相关的知识,带有一种探索和逻辑拼图式的乐趣,这方面有许多有趣的项目,我在本地做过不少实验,尽管是在本地系统作渗透测试,手握一些强大的工具时,依然能体验到古龙式的剑气横霄


2017年小目标

下边列出17年的小目标,有些有趣的项目,如果大家有兴趣,欢迎一起来折腾

开源

  • 发布硬件模块积木化/图形化的操作系统(基于树莓派/rasbian)
  • 继续完善openbot,使其成为通用的nlu 服务骨架,接入nlu server即可给用户提供友好的交互"界面"(web/RESTful api/sdk)
  • 作为普通用户试用国外优质的bot,找个喜欢的,试着用国内的nlu服务(yige.ai/芝麻),模仿着做一个中文版本的实现
  • 把之前做过的硬件玩具/bot,整理进同一个项目,作为智能家居解决方案,思路和扎尔伯格德Jarvis很像
  • 继续完善paperweekly_forum,把todo list里挖坑填完
    • 语意挖掘
    • 数据分析
    • 有趣的彩蛋
  • 填deepthought挖的坑,估计一年填不完
  • 用TensorFlow重写稻香老农的作诗机,之后带到菊斋玩耍
  • 对联和格律诗具有清晰的规则和语法结构(平仄/对偶),比普通自然语言要更规则,似乎更好处理,试试神经网络来处理这块
    • 就对联而言,可以使用笠翁对韵/声律启蒙,作为预料库,质量非常高
    • 诗词的话,我更有兴趣用菊斋的优秀诗集训练它。欧,我喜欢的《月出集》、《千山集》、《空花集》、《藏海集》、《覆水集》… !
  • 把场景限制在小范围,如硬件(智能家居),试着使用parsetron和Pyparsing实现本地的中文语义解析
  • pi4bb8: 使用树莓派控制bb8
  • orang3_cn: orange中文版与社区
  • edustack/openedx

自由职业者

2017年我有计划成为自由职业者。曾老师(@MT)很早就给过我这方面的建议,我一直在做准备,包括对自由时间的把控(自律带来自由)、对分布式办公的熟悉,我周末参与的开源项目和帮衬朋友的创业项目,基本是通过异地协作完成,工作流已经很熟悉

@Eric这次去硅谷前来南京找了我一次,他也支持我成为自由职业者,@Eric自己的公司也打算实践更多的分布式协作

今天下午和来自Mozilla的@tanghong聊,她很乐意接受我成为自由职业者为她们提供服务。

我自己重新思考这个问题,觉得时机也差不多了

对照着软技能给自由职业者的几点建议看了下,基本都满足:

  • 从认识的人做起。希望我提供服务的多是技术社区里认识的朋友,或是朋友介绍的,他们订阅我的博客,或是使用我的源码,大家互相熟悉、信任。能力方面也知悉
  • 就任务而言,基本填满我的日常时间,需要拒绝一些才能应对。
  • 这些任务恰好是我擅长的(架构和原型构建)。就价值创造而言,能集中精力在刀刃上,帮助更多人/团队处理自己熟悉的问题域中的问题
  • 项目基本都有主动的议价能力

团队

无法立马成为自由职业者的一个主要理由是手头暂时带着团队。@TG(现在的老板)近来太忙,他之前直接负责我手头的这个项目(他对此很感兴趣),近期公司整体上进展良好,他没法再抽出经历在具体项目上,团队(10人左右的小团队)目前完全交由我代为管理(之前我只负责技术)

我一直对从技术转为管理兴趣不大,怕影响到编程时间(琐事太多),这回实在不好拒绝,只好承诺暂为代理

最近试着学些简单的管理技能,曾老师和eric都推荐过一些书,平时遇到问题就请教@TG,许多知识,真是纸上得来终觉浅

我很喜欢的一句建议包括

  • 帮助他人取得成功

  • 分解问题,设立明确的目标

  • 招聘的首要目的是招到合适的人而不是最牛的人

  • 保持透明和开放

在此期间,一边学习如何与管队协作和磨合,一边像学技术一样,准备记下学习笔记

阅读

  • 分析哲学
    • 罗素/维特根斯坦
    • 关注一下关于语言/语义处理这块
  • 乔姆斯基
  • 中国哲学史
  • 深度学习
  • 自然语言处理
  • 科幻小说
  • 其他领域的知识(技术之外)
    • 商业
    • 法律
    • 人际

写作

今年本来想参与两本书的写作,其一是@曾老师筹划的open edx相关技术书籍,另一个是@mg的与spark相关的教程(我负责web这块)。

皆因时间问题,无法完成。

希望今年如果是自由职业,能抽出足够的时间,把过去积累的博文和项目梳理成章

爱好

  • 漂移板
  • 音乐
    • 布鲁斯口琴
    • 打击乐
      • 想加入一个本地的地下乐队,与一群发烧友们一起玩耍,可以从打杂开始,或者从帮忙调节电子设备开始
  • 加入geek社团群体 , 与一群发烧友共事
  • 健身(列出计划)