Happy Hacking!

Nov 5 2017
0行代码实现叮当的场景联动

    0行代码实现叮当的场景联动

    要让叮当能够监控一些关键事件并触发响应操作,除了编写插件之外,还有一个简单省事的方法:利用 IFTTT 。下面我举几个简单的示例,其他的应用场景你们可以尽情发挥想象力。

    什么是 IFTTT

    IFTTT 是一个被称为 “网络自动化神器” 的创新型互联网服务,它非常实用而且完全免费。它的全称是 If this then that,意思是“如果这样,那么就那样”。简单地讲,IFTTT 的作用就是,如果「这个」网络服务满足条件,那么就自动触发「那个」网络服务去执行一个动作。而条件和动作都是可以由用户自己去根据自身需求设置的。IFTTT 能将前后这两个不同的网络服务神奇般地连通来实现各种各样的功能,并且为你不间断地工作。

    在阅读下面的文章前,建议先去注册一个 IFTTT 账号,为了方便关联叮当,建议使用叮当的收件邮箱注册。

Read More

Jul 17 2017
我在平安的两年

    我在平安的两年

    我是在 2015 年 5 月 20 日离开的百度,次日就来到了平安。当时平安的这个团队叫做移动开发二队。在百度的最后一天,我在朋友圈发了张合照,写了句“再见,我爱你”。很多人不理解我为什么在百度干了一年就走了,而且去的是平安这个并不以技术见长的公司。其实原因很简单:跟对的团队做对的事情。

    说是“对的事情”是因为平安正处于技术转型期,其间会有大量的技术需求可以放手去做。而来平安这个团队的首要任务是开发完善底层的技术框架,有机会接触比较核心的技术,这对我的技术成长很有好处。

    说是“对的团队”是因为我对平安这个团队的了解。平安那边的老大锋哥也是原先我们百度 LBS 团队的研发 leader,而 leader 定一也是之前在百度的时候合作非常愉快的一个同事。再加上鑫哥 @ASCE1885 每周一更的技术周报,让我觉得这个团队是非常尊重技术的团队,而我过去应该能有更多发挥的机会。

    于是,在锋哥的几次劝说下,我来到了平安。时间过得很快,一转眼的功夫,我也已经在平安待了两年的时间。从团队初建,到发展壮大,我和这个团队携手共同成长。对平安,对金融壹账通,对这个团队,我有说不尽的感激。如今我即将告别平安,走向一段新的旅程。在启程之前,我想对这两年走过的路做一个回顾。

    我这两年的工作基本是两条线的思路:主线任务保证做得漂亮,然后主动从日常工作中找问题和需求,做点支线任务。

Read More

Jul 15 2017
使用叮当声控智米电风扇

    使用叮当声控智米电风扇

    前言

    dingdang-robot (以下简称“叮当”),是我在今年5月20号开源的一个中文智能音箱项目。

    起初,我只是抱着一个好玩的心态做这个项目,并不期望这个项目能得到多少关注。然而,随着 QQ 用户群人数的不断壮大,越来越多的朋友安装了叮当,并且真正将它投入在了日常的使用上。很多朋友也提出了各种好玩的建议、想法,甚至为叮当贡献了插件或者捐赠了这个项目,让我觉得这个项目是很有价值的,也让我知道,我能做的还有很多东西。因此,我并不是开源了叮当之后就撒手不管了,而是利用业余时间不断完善叮当,又陆续发布了 8 个小版本,使得叮当在响应速度和功能丰富程度上都有了很大提升:

    • 自 v0.1.1 起,邮件通知也增加了 echo 功能,用户可以发送带 [echo] 前缀的邮件给叮当接入的邮箱,从而实现让叮当朗读标题的消息,而不是提醒有新的邮件。利用这个功能,可以很方便地和 ifttt 结合,当满足某个条件时让图灵通知这个事件。例如,我将 ifttt 的 Date & Time 触发器和 Email 做了联动,实现定时在每天晚上 11 点发送邮件通知我睡觉;
    • 自 v0.1.2 起,叮当的响应速度有了很大提升;
    • v0.1.3 增加了 snowboy 离线唤醒 STT 引擎,目前有 PocketSphinx 和 snowboy 两套离线唤醒引擎可供选择;
    • v0.1.4 增加了 SendQR 插件,可以让叮当将微信的登录二维码发送到邮箱。@hhao 也给叮当写了个可以获取二维码图片文件的服务器插件。另外,邮箱增加了 [control] 前缀支持,用户可以发送带 [control] 前缀标题的邮件,该标题里的内容会被当成一句指令交给叮当执行,从而实现类似微信的远程控制叮当的功能;
    • v0.1.5 开始,可以微信控制音乐播放了;
    • v0.1.7 开始,所有插件都可以通过在插件配置里头通过 enable 选项开关;
    • 叮当的官方+第三方插件数量由 6 个增加到了 13 个。

    除了完善已有的功能,我也正试图让叮当往智能家电控制中心的方向上发展。

    如今很多智能音箱除了用来听歌对话之外,还扮演了家庭中的一个控制中心的角色。不过,由于各家采用的接入协议有所区别,A 家的智能家电并不见得能得到 B 家的智能音箱的支持。而由于叮当是开源的项目,对其进行定制,接入控制家电所需的协议,从而实现声控大部分的智能家电是完全可能的。今天我就分享一下如何用叮当控制智米电风扇。

Read More

Jul 2 2017
Comment.js:一个纯JS实现的静态站点评论系统

    Comment.js:一个纯JS实现的静态站点评论系统

    前言

    我的博客最早是使用 Disqus 来实现评论功能的。Disqus 被墙了之后,改成了多说。今年年初,多说也正式关闭了,于是我被逼着又开始寻找其他的替代评论系统。

    我先是试用了网易云跟贴、畅言等几种类似的社会化评论系统。畅言要求站点必须备案,而我实在没有为了评论去申请备案的动力。网易云跟贴的管理后台上有很多不明觉厉的功能,但好像都没多大用处。最致命的问题是我不小心把我的站点绑定到了另一个网易账户,而不是我常用的微博账户。这样的话,我每次回贴就得退登到微博账户,要管理贴子的时候又得切回管理员账户,非常不方便。然而网易云跟贴并没有提供解绑的功能。于是我给他们提了需求,然而一直到现在都没有回复。再加上有了多说作为前车之鉴,我对国内的免费评论服务已经失去了信心。今天把A换成B,难以保证日后B也关闭了,被逼着又换到C,实在是懒得折腾下去啊。于是,我放弃了换用类似的评论系统的念头。

    之后我找到了 isso 项目,它是一个 Python 实现的开源评论服务。这个服务需要搭建在自己的服务器上。官方的简介简明扼要:“a Disqus alternative”。出于对 Python 的好感,我把站点的评论功能迁移到了 isso 。然而,我对 isso 也并不是很满意。首先它的功能其实也非常弱,不支持 Markdown 语法,不支持 Gravatar 头像,也没有一个像样的管理后台,搭建和配置的过程也比较费时,远达不到开箱即用的程度。再加上 isso 需要服务器运营,为了一个评论系统而去购买服务器确实太奢侈了。用了几个月后,我又萌生了换掉它的念头。

Read More

May 28 2017
手把手教你编写叮当机器人插件

    手把手教你编写叮当机器人插件

    叮当 是一款可以工作在 Raspberry Pi 上的开源中文语音对话机器人/智能音箱项目,目的是让中国的Hacker们也能快速打造类似 Amazon Echo 的个性化的智能音箱。

    由于叮当是完全开源的,编写插件来满足自己的个性化需求就成了使用叮当的最大乐趣。您可以自由地接入自己需要的服务,让叮当更好的为您服务。

    这篇文章将一步步教你如何编写一个天气插件,并最终发布到 dingdang-contrib 中。

    交互示例:

    • 用户:天气
    • 叮当:深圳天气。今天:晴。最高气温:25~30摄氏度;明天:晴。26~31摄氏度;后天:小雨。最高气温:23~29摄氏度。
Read More

© 2017 Joseph Pan with help from Hexo and .