ofo 智能锁的小思考

(本文所有图片来自互联网,侵删)

这几天的通勤完全使用共享单车+地铁,今天骑到一辆使用智能锁的 ofo,长这样儿:

ofo智能锁

这个据说 与北斗导航合作 的智能锁用起来很奇怪:

  1. 扫码后依然出现4个数字,需要手动解锁;
  2. 关锁后不会立即停止计费,而是需要等待1分钟才能结束行程。虽然可以强行结束,但提醒却在恐吓影响信用云云。

既然是智能锁,为什么还要设计按键?为什么关锁后需要等待1分钟?

我想应该和锁的功能定位和用户习惯有关。和摩拜一开始就考虑极致的用户体验(大规模瘫痪这不算好么)不同。ofo 已经培养了 “手动解锁” 这个用户习惯,它的智能锁也需要保持这个习惯,然后进一步简化习惯。新的智能锁因为可以动态更新密码,仅保留了4个数字,这就是简化。或许 ofo 的下一代会取消按键也未可知。

至于为何上锁后要1分钟才能结束行程,或许是考虑到用户开锁时间损耗。因为 ofo 本来就是开锁后 1 分钟才开始计费的。

继续阅读ofo 智能锁的小思考

系统化健身三个月感受

这是一篇鸡汤文,不喜欢看鸡汤的可以退出了。

2016年11月开始,我就一直在以996的方式工作,工作结束的时间经常会超过12点。2017年2月的某一天,我站在体重秤上,发现体重没变化,但拎起腹部和腰部的赘肉,能感受到皮下脂肪的分量。我的肌肉正在萎缩,并逐渐被脂肪替代,该健身了。

继续阅读系统化健身三个月感受

WordPress to Hexo(1)

大约两年多前,我写过一篇 博客静态化工作 ,当时是准备使用 Pelican 来做静态化。但由于静态化有一些工作量,就写了 WPCMD 来作为过渡工具。

现在终于有时间来做静态化了,但我选择的工具变成了 Hexo

在上次的静态化准备工作中,我的所有博客文章已经完全使用 Markdown 来撰写了,所以这次的静态化工作就会简单一些。下面是主要的工作: 继续阅读WordPress to Hexo(1)

uWSGI 的编码问题解决

在把 Flask 写的应用通过 Supervisor+uWSGI 部署到正式服务器上时,出现了这样的错误:

Unable to print the message and arguments – possible formatting error.

或者

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 24-25: ordinal not in range(128)

有趣的是,直接在 Python 环境下运行的时候,没有这样的错误。使用 uwsgi uwsgi.ini 这种方式来运行也正常。

由于对 unicode 的支持不够完善,这种报错经常会出现在 Python2 中,但我的所有程序都在 Python3 中写成,不应该再出现这样的错误。况且,所有的 python 文件都在首行设定了编码:

# -*- coding: utf-8 -*-

我的环境如下: 继续阅读uWSGI 的编码问题解决

使用 audacity/lame/ffmpeg 进行 mp3 文件瘦身

注意:这是一篇非常基础的工具使用文章。

虽然已经迈入了 4G 时代,但由于各种各样的原因,国内的手机用户(主要是安卓用户)依然偏爱比较小的安装包。同样偏爱小安装包的还有国内各种安卓野鸡市场。因此,对于移动游戏开发者来说,掌握素材瘦身技能是必要的。本文主要介绍如何对 mp3 音频文件进行瘦身。 继续阅读使用 audacity/lame/ffmpeg 进行 mp3 文件瘦身