特色

我司招代理

我们也欢迎其他企业成为我们的销售代理商,在世界任何国家和地区销售我们的产品和服务(只要不在中国和美国商务部的地区黑名单上),实现互利共赢。有兴趣的企业可以发送电子邮件到 info@openresty.com 与我们联系。非常感谢!我们的销售工程师的招聘贴子已经吸引到代理商企业了,所以再专门提一下。

Chrome 扩展在页面执行 JS

记录下浏览器扩展开发时要在页面环境中执行 JS 的解决方案。

基于安全考虑,Chrome 扩展运行在一个独立的沙箱里,不能直接接触页面里的变量和实例。但有些时候我们必须在当前页面的环境里执行 JS,比如近期开发 Navlang 时遇到一个需求:修改浏览器环境里语言信息,实现语言切换。

继续阅读“Chrome 扩展在页面执行 JS”

FFMPEG 笔记

记录一些用到的 FFMPEG 命令。

截取视频

ffmpeg -i abc.mp4 -ss 3:13 -to 2:41:13 -c copy output.mp4
  • -i 输入文件
  • -ss 开始时间
  • -to 结束时间
  • -c copy 采用同样地编码格式

合并 wav

ffmpeg -f concat -safe 0 -i files.txt -c copy -y output.wav

其中,files.txt 是所有待合并的文件,以以下的形式记录:

file /path/to/wav/1.wav
file /path/to/wav/2.wav
....

wav 2 mp3

ffmpeg -i a.wav a.mp3

ffmpeg 会根据扩展名自动解析文件格式。

我的知识变现 2018:再见

总结去年的知识变现计划。

2017年的时候我开始尝试知识变现,然后花了大约一年的时间,发现自己其实并不适合这个领域。当然最重要仍然是经济问题:要达到我当时的生活水平,我需要投入远远不止一年的时间,而我家庭情况不允许这样做。

2017年下半年,我幸运地找到了一份全职工作,然后开始慢慢告别知识变现 。

2018 年年初做计划时,我仍给自己定下一些计划,包括每天在 SegmentFault 上回答一个问题。但没能坚持下来。因为很多问题并不值得回答,很多人也不会问问题。我每天在寻找合适回答的问题上都要花费很多时间。

我后来总结,很多人其实并不适合从事开发工作。并非每个人都喜欢学习、愿意改变习惯、提升工作能力。很多人只想把这个事情当成一个工作,因为看起来,软件开发既轻松,收入又高——“总不能进工厂吧”他们说。这些人的目标是勉强满足老板/客户的需求,他们的理想是“不用工作”。

问问题的时候,他们只想知道某某某问题的解决方案是什么,他们并不关心前因后果,也不想理清自己的思路。即使问题非常愚蠢,即使你的答案已经非常接近他们要的方案,他们也无所谓。

这让我非常不爽,因为跟我的理想差异巨大。我喜欢写代码,想把程序员作为终身职业。我喜欢研究写代码的技巧,通过学习我能获得非常大的成就感。我也很乐意分享这些知识和技能。然而作为非专业培训人士,我很难超出自己的体验做分享,也就很难提供给他们合适的知识产品。

所以我后来也开始慢慢转变态度。早先只要有人问问题,我都知无不言,言无不尽,做一个最好的引路人。接着我发现这样做并不好,除了浪费自己的时间,其实客观上也在浪费那些“不合适的人”的时间。所以我现在倾向于,如果我认为一个人不适合学习编程,我就早早的拒绝他(昨天就有一个人被我怼出群了……)。

好吧,所以总结一下我的知识变现 2018:再见,知识变现。

继续阅读“我的知识变现 2018:再见”

我厂招聘

我们 OpenResty Inc 公司( https://openresty.com/cn/ )的中国子公司诚邀优秀的销售工程师加入。OpenResty Inc.公司总部在美国,致力于通过机器编程、机器测试、机器调试和机器演示等技术更好地服务于各行各业的企业客户。这是一个全职职位,我们可以在当地提供五险一金。初创团队成员会获得优厚的股票期权。薪资面议。工作地点不限,可在家办公,也可以到我们的珠海办公室。需要有很强的学习能力、思考能力、沟通能力和工作热情,有一定的互联网和企业软件相关的技术背景;能帮助我们规划和拓展 OpenResty Edge、OpenResty Trace 等多条产品线在中国乃至亚州的市场,并维护在该地区的企业客户。有 to B 销售经验者优先,有三年以上销售经验者优先,有组建销售团队经验者优先。有兴趣的朋友,请将简历发至 talents@openresty.com

2018 WeGeek 小程序 Hackthon 记

参加了 SF 组织的小程序 Hackthon 活动,收获很多,希望将来还有机会。

某天,行政找到我:“你今年的年假还剩7天,只有5天能保留到明年,建议你找时间把那两天休掉。”我正在盘算怎么用,突然就在 SegmentFault 上看到12月15-16日要在北京举办小程序 Hackthon 的消息。作为一名程序员,我其实早就想参加类似的活动了,所以,干脆就来吧。

因为最近跟蛋东剑剑一起搞的东西比较多,而且他们俩单身,比较好约,所以就拉了他们组队。

初选很顺利的通过了,然后我就定了日程、机票和酒店。

这次 Hackthon 的题目提前一周公布。我们简单商量了一下,既然没有更好的想法,不如就把我之前计划的“姆伊读书”,又叫“以后再听”做出来,感觉很能呼应小程序的主题。而且这个需求来自于我的真实日常,即使不得奖,也能收获一个有价值的产品,何乐而不为呢?本来我想抢跑来着,结果赶上老婆孩子一起生病,公司的正事儿都干不完,只好到了现场才开始写。好在我对项目比较有把握,对自己的能力也很有把握,所以最后提交的 MVP 完成度还不错。

做的时候他们表示对姆伊没有感情,不想跟狗绑定在一起,所以改名作“换听”。

结果仍然没能得奖。不得不说,这种提前公布题目的做法确实值得商榷,很多团队一看就知道是先弄了五六成,现场只搞拼装、联调,产品复杂度超过我们很多。另外评委的指导原则也有些迷,一等奖还算符合小程序的场景没啥可说,二三等奖其实都不适合用小程序来实现,独立应用才有价值。实在是为小程序而小程序。

我觉得,要是张小龙在现场的话,我们赢的概率要高很多 XD。

不过抱怨归抱怨,我倒也乐意接受这个结果。规则是人家定的,过程也公平公正公开,还不收钱,还提供盒饭,真心很感激。尤其是,在这次活动的激励下,我终于把早早就翻来覆去想了很久的产品给做了出来。而且,确实好用,我现在已经用得停不下来了。

另外最后的展示和点评也收获很多,你能发现很多人,很多不同的视角,你可以试着站在别人的角度看问题,学习别人解决问题的思路。收获很大。我觉得程序员都应该参与类似的活动,因为有机会把自己的 side project 从 idea 转化为实物。我觉得未毕业的有志于从事 IT 研发事业的毕业生也应该参与类似的活动,可以学到很多从立项、到产品规划、到实现的知识。

频率嘛,我觉得每年参加一次吧,哈哈。

继续阅读“2018 WeGeek 小程序 Hackthon 记”

Welcome to Navlang

过去两天,我厂在杭州召开了 OpenResty Con 2018,很多 OpenResty 的社区的小伙伴分享了很多使用 OpenResty 的心得。春哥也分享了 OpenResty(包括商业公司 OpenResty Inc)接下来的计划和未来的方向。说实话我已经很长时间不参会也不关心会了,因为很多会营养太少,商业太过。不过我不得不说,我厂的会干货真的多。

回到主题,我也趁机搞了一个闪电演讲,介绍我厂的小语言之一——Navlang。遗憾的是,准备的不算充分,时间也比较短,所以介绍的不够清楚,导致好几个同学来问细节。

既然已经公开我以后也会分享一些实现细节和心得。感兴趣的同学可以先看 Slide:

开发这个语言的时候,我不太适应 Perl,也不太适应在春哥的要求下写代码,所以表现并不理想。如果有机会我还是希望能继续贡献 feature。

另外,受到 Navlang 的启发,我觉得可以搞一个 TechLang,用编程的方式录制视频教程。将来有机会搞一下。