分类目录归档:砍柴铸刀

华米手表2023月历表盘

Pebble Time

Pebble Time 的Timely月历表盘

多年来,我一直习惯佩戴手表。查看时间日期时抬一下手腕总比掏出手机更方便。2012年,Pebble在Kickstarter上众筹大获成功后,卡西欧电子表就不再是我的首选。Pebble拥有小巧的体积,可以同步显示手机信息的高对比度电子纸屏幕,长达一周的续航,以及不到千元的价格。这在当时都是革命性的跨越,让它迅速在大众市场获得成功。Pebble市场中丰富的表盘和应用,更是满足了许多不被大公司考虑的小众需求。2014年,苹果、谷歌等巨头纷纷进入这个新兴的市场。而Pebble 的第二代产品仍能在2015年众筹超过 2030 万美元,成为 Kickstarter 成立以来筹资速度最快和筹资总额最高的明星产品。我也很喜欢其中配备彩屏的Pebble Time。它的月历视图表盘(Timely,精美的彩色版在收购后悄悄下架了……)和多样化的应用定义了我对智能手表的印象。可惜Pebble在不久后陷入了资金危机,于2016年被竞争对手Fitbit收购,随后便消失在公众的视线中。手表虽然还戴在我的手上,但表盘和应用市场都先后停止服务,无法继续使用,使得这块硬件完好的手表形同鸡肋。虽然有rebble社区志愿进行后续维护,但产品的没落已无可挽回。我第一次意识到依赖网络服务的设备并不完全属于用户。我开始以它为标准期待一块有更长待机时间的智能手表。但后来的这些产品都没能在软件生态上达到Pebble的高度。苹果的iWatch纵然有许多应用,可它的待机时间短到影响使用。

2017年华米科技推出同样采用彩色墨水屏的米动手表青春版1S(英文名Amazfit bip),待机时间超过1个月。即使放在今天也是待机时间最长的智能手表之一。虽然官方提供的表盘很少,不过AW用户社区中的月历表盘起码满足了我对智能手表的基本需求。只是华米手表的月历表盘无法通过接口自动生成,只能以图片的形式逐月定制。每年的月历都是一个独立的表盘。于是每年跨年都需要手动更换表盘。如果喜欢的表盘没有人及时更新,只能自力更生。我把相关工具和方法记录在这里,算是个纪念。
继续阅读

平面数据点提取脚本

在工作中有时会遇到一些需要从图像中提取数据点的情况。例如文献中展示了图像,却没有给出相应的数据。如果只是定性的比较,不一定需要联系作者索要数据。可以简单地通过一些软件来得到近似的数据。比如老牌的Origin,轻量级的 GetData Graph Digitizer,或者免费的 Graphixy 不过这三个都是Windows下的软件,在Linux/UNIX 和 Mac 下,可以考虑 WebPlotDigitizer ,或者直接使用它的在线版

我是觉得这个功能不难,就用Python 写了一个脚本,使用pynput模块获取鼠标的屏幕位置,总共也就50行左右的代码。原理是用鼠标的屏幕坐标进行归算,所以图片越大,屏幕分辨率越高,获得的数据精度就会越好。做粗略的比较展示足够了,但要发表还是应该老老实实找原作者请求数据。

继续阅读

Linux下的索尼DPT-RP1电纸书管理

作为一个重度电子阅读者,索尼2017年推出的DPT-RP1是我最喜欢的一款电纸书产品。 它13.3寸的屏幕可以直接阅读A4幅面的论文,手写笔配合原生系统可以方便的进行PDF批注,作笔记和修改文章都很方便。最重要的一点是它加上笔只有360克, 相当于约80张A4打印纸的重量。加上背部收边设计,单手持握毫无困难,手感相当出色。

相比之下,13.3寸的文石Boox Max Lumi 2有570克,10.3寸的科大讯飞 X2 是380克,10.3寸的remarkable RM2 有403克,而10.9寸的ipad air 5则是462克。在实际使用时,设备重量直接决定持握时间。可以说,在大屏阅读这个需求点上,RP1仍是目前技术的天花板。

RP1 的缺点也有不少:如分辨率不高(200dpi),内存偏小(16G,其中11G可用),不支持TF卡,只支持PDF文件显示,没有背光等等。不过其中最影响我使用体验的是它封闭的原生系统。文件导入导出都需要借助官方软件 Digital paper 。而且官方只提供这个软件的Windows和Mac版本,不支持Linux。虽然可以借助dpt-tools 破解原装系统(中文指南),安装安卓软件,但是那些为触屏设计的软件并不支持手写笔操作。一个用电子纸作为显示屏的安卓平板并不好用。我本来想在电子纸上安装坚果云等云盘工具,将要阅读的文献和书籍自动同步,实现电子纸和工作电脑的文章批注共享。然而,破解系统下无法用索尼自带的PDF浏览器打开坚果云目录下的PDF文件,也就不支持触控笔操作,所以还是要想其他的办法。
继续阅读

编辑器SciTE介绍

Editor
虽然已经2020年了,我还是和二十多年前一样,用着老式的文本编辑器撰写程序和文档,然后在命令行下运行调试。对我来说,一个顺手的通用文本编辑器至少应该满足下面几个条件:

  1. 使用能区分O和0,I和l的等宽字体;在这一点上,最常用的中文字体宋体和黑体都不够友好
  2. 支持主流编程语言的语法高亮,可自行增加对小众语言的支持;
  3. 能够显示空格,制表符,换行符等空白字符;
  4. 查找替换支持正则表达式(Regular Expression);
  5. 占用资源小,支持操作GB级大文件;
  6. 支持调用自定义脚本;

在Windows下,我用了很多年的Emeditor,后来工作环境迁移到Linux系统下,用不惯vim和emacs,就一直用SciTE将就。时间一长,也逐渐适应了这个轻巧的工具。它是作为开源编辑器框架Scintilla的示例软件开发的,完成度不高,配置和扩展都不够友好。不过这个框架本身自由度很高。许多著名的轻量编辑器都是基于它开发的,例如Notepad++Geany等。后来随着计算机硬件性能的升级,拥有更多时髦功能的Sublime Text, Atom或者VSCode等编辑器得到了更多的关注。也许SciTE看上去有些过时。但作为一款仅有2M大小的跨平台开源软件,它有着更少的资源占用和更快的响应速度。除了对字符集的识别不那么智能,以及不支持跨行搜索之外,我还真找不到更换它的理由。这里整理了一些使用和配置的经验,方便有一定编程基础的中文用户参考。

继续阅读

rime拆字词库

中州韵Rime是佛振开发的一款跨平台的开源输入法。支持拼音,双拼,五笔,仓颉等多种输入方案的简繁输入。我在Linux下使用多年,稳定朴素,体验很好。在MintLinux(Ubuntu)命令行下直接用apt安装fcitx-rime包即可。和大多数Linux下的开源软件一样,rime没有完整的图形化配置界面。它的各项配置由 .config/fcitx/rime 目录下的一系列文件控制。 明月拼音·简化字 方案的用户自定义配置文件为luna_pinyin_simp.custom.yaml ,可定义扩充词库、加载自定义符号库、模糊拼音等。具体的初始设置过程可以参考这篇文章
rime2
我因为经常有字不知道拼音无法输出,偶尔会想念其他平台软件提供的拆字输入法。于是干脆为Rime做了一个拆字词库。基本思路是将汉字拆开成不同部分,然后将各个部分转化为拼音即可。借助现成的汉语拆字字典(包含17803汉字,共27603种拆法)和汉字拼音转换工具(Python 版),很容易完成。具体代码如下:
继续阅读