2011年8月29日星期一

take a break

嗯……写了个恶毒的脚本,用于让自己在必要的时候远离 N900 减少不恰当的时间浪费……

#!/bin/bash
if [ "$#" -eq 0 ]; then
T=600
else
((T="$1"*60))
fi
while [ $T -gt 0 ]; do
dbus-send --system --print-reply --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_open string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'3'
dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_tklock_mode_change string:"locked"
sleep 10
((T="$T"-10))
done
dbus-send --system --print-reply --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_close string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'0'
dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_tklock_mode_change string:"unlocked"

一个参数,休息几分钟。不传参数就是休息 10 分钟。
其实就是隔 10 秒锁手机锁键盘……也就是刚刚解开键盘输入解锁码就又锁上了。一直循环到超时再解开。
不会影响接电话。
越写越觉得自己好恶毒啊~古话怎么说来着~最毒妇人心=w=

--

2011年8月25日星期四

"No newline at end of file"

用 shell 写了个按文件名排序生成 m3u 的脚本(写入部分的语句是echo "#EXTM3U" > "$m3ufile"; find "$dir" -iname "*.mp3" | sort >> "$m3ufile" ),后来发现不够用,用 python 重写,读取 id3 并进行多关键字排序,再写入文件(写入部分的语句是 f.write("\n".join(["#EXTM3U"]+[i[0] for i in musiclist])) )。同样的专辑生成的 m3u 文件应该是一样的,但是 wc -l 的结果却是 py 脚本生成的 m3u 行数比 sh 脚本生成的 m3u 行数少一行, ls -l 的结果是两者相差一个字节,可是 vim -d 却一点红色都没有,好奇怪。
google 了一下,用 diff 比较,果然有差别: python 生成的 m3u 在最后一行有一个提示"\ No newline at end of file
" 。顺藤摸瓜, blog.linux.org.tw/~jserv/archives/001933.html 里说到根据标准每一行结尾必须有换行符……于是把 python 里相关的语句改为 f.write("\n".join(["#EXTM3U"]+[i[0] for i in musiclist]+[""])) ,重新运行就正常了。

--
Sent from my Nokia N900
纯良触手姬,不腐不折腾

2011年8月19日星期五

拿着 N72 去洗澡,顺便重构了俺自己写来用的第一个 pys60 程序。四年间代码陆续重构了好几次总算不特别别扭了。从卫生间出来已经过了两个小时。上床摸到 N900 ,塑料的壳子凉凉的……神马?!凉凉的?!该不会是死了吧?我惊恐的打开屏幕锁,还好,只不过是除了 GSM 啥也没开,所以温度正常……
原来我下意识里已经觉得 N900 应该是暖手炉了么……果然平时常常 CPU 100% 或者开了 ad-hoc ,温度高才正常……囧。

2011年8月13日星期六

学习

《国家职业资格培训教程——育婴员〔基础知识、五级、四级、三级〕》看完了。
感想如下:人类的幼崽真是太难伺候了!
养孩子实在是太困难太艰巨的事情〔本来就是〕而令我心生敬畏、几乎想要敬而远之了。
无知者无畏,其实也是一种自洽的生活状态。我很是羡慕呢。

2011年8月1日星期一

N72 日历四天一循环的终极解决方案

我的蛋疼是绝症……治不好的,我死心了。
前天早晨 N72 死机之后就疑似挂了,还好拔掉 sim 卡勉强能启动,备份之后昨天早晨格了机,因为就算正常的时候它开机也要半个小时——上次格机已经是三年之前。格完倒卡测试发现是那张三岁半的六合一狗卡挂了。幸好手边还有一张写好的,插上去一切 ok 。
这次 N72 重装之前,我的两千多条短信里有一半是当作闹钟用的 google 日历的短信提示 (http://gttnnn.blogspot.com/2009/01/google.html) 。 GooSync.com 的免费服务 (http://gttnnn.blogspot.com/2009/09/s60v2.html) 早已是明日黄花……我生怕把好不容易导入的绝版日程给弄丢了,这么久没敢重装也这也是原因之一(看吧,其实我真的是不折腾的人。)
不过这次真的是抓瞎了——本来打算在单位的 windows 电脑上安个诺基亚的 PC 套件和 outlook 同步,转念想起来手边没有数据线,而且单位电脑重装之后也还没安盗版的 M$ Office ,一直在拿 WPS 个人版凑数(其实这也是违反用户协议的……),只得另想办法。从 google 日历导出的 ics 文件和从 N900 里用 maecaltool 导出的 ics 文件 N72 都是不认的。 google 到 s60 可以导入 vcs 格式的日历。可是 vcs 哪里有呢?……似乎有软件是从 vcs 转 ics 的,可是没找到反过来的。找了一圈也没找到可以随便改一下就满足自己需求的 vcs 文件。整理 N72 里别的软件时瞥到 pys60 里有个 calender 模块,跑去看《 PyS60 Tutorial 》给了个 test_calender.py ,里面有现成的导出函数。自己建了个约会,标题是"下夜班",开始时间和结束时间都是2011年8月3日8:30,每天循环一次,从2011年8月1日循环到2060年8月3日,闹钟时间是2011年8月3日5:45,导出来的内容如下所示

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID:1
DESCRIPTION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=E4=B8=8B=E5=A4=9C=E7=8F=AD
DTSTART:20110803T083000
DTEND:20110803T083000
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PRIVATE
DCREATED:20110801T000000
RRULE:D1 20600803T180000
AALARM;TYPE=X-EPOCSOUND:20110803T054500;;0;CalenAlarmSound
LAST-MODIFIED:20110801T065800
PRIORITY:0
STATUS:NEEDS ACTION
END:VEVENT
END:VCALENDAR

只要把 RRULE:D1 改成 RRULE:D4 就是四天一循环了。存成 .vcs 的文件从系统打开,导入, ok 。

--