2011年12月31日星期六

小工具 - 饭友生日

近来受某技术文章感染,了解了一下 API 的概念和使用,顺便拿起了一点儿仅有的 PHP 知识,写了个查询所有饭否上关注的人/关注者生日的小工具。

从第一个版本的纯文本验证方式再到后来学习了 OAuth,编写了一点儿 XMLHttpRequest,终于把现在这个比较成型的发布出来了。

因为用了 OAuth,所以用户也不用担心账户安全问题了。
欢迎饭否er们玩儿玩儿,有问题记得爱特我 :)

因为服务器不在大陆,所以 API 连接速度比较慢,请原谅。

2011年12月22日星期四

密码

CSDN 含有 600 万用户数据的密码库爆出来了,相信这是互联网上屈指可数的大事儿了吧?可是今天居然看到一张图片,各大国内网站的密码库都赫然在列;起初以为恶搞,直到大家都开始谈论知道了别人密码泄漏,知道大家都在改自己的密码。

登上饭否上的一个链接,把自己的邮箱输入进去,我操,自己的密码赫然出现;虽然只是个普通的人人网账户,但心里还是咯噔一下。

记得刚刚在上电脑课时就被老师教导,密码是很重要的东西,一定要有字母和数字,一定要定期想个新密码换上……但直到现在,坦白说,我还是在很多网站上用着同样的注册邮箱和密码,这是一个巨大的安全隐患;但谁知道,最大的安全隐患完全超出了我的预期,他妈的,丫们这些网站存着明文密码!

有人猜测,各大网站都有如此大量的用户明文密码,完全是一种监管压力。如果真是这样,有如此不负责任的监管者也是三生有幸。不多说了。

既然如此,看来各大国内网站的明文保存政策还存在着并且可能还会继续存在,所以我们也只好就此继续下去。不过像 QQ 令牌、淘宝登录短信验证之类的方式还是可以派上用场的。

所以,就此打住,大家过好冬至,改好密码。

2011年12月2日星期五

饭否博客导入

2009 年 6 月 30 日,饭否博客导入工具导入了我的最后一篇日志。

这是我刚刚翻了好久 timeline 查到的。现在饭否回来一年多了,导入君也回来了,皆大欢喜。


2011年11月26日星期六

饭否一周年

这一年过得异常的快。

隐约记得某个还在上课的下午,手机说什么也打不开饭否,回到宿舍后也打不开,随后就是嘀咕上豆瓣上各种各样的消息。我的最后一条消息还是在 2009 年 7 月 7 日发送上去的。
当时很担心,一个“网站”一旦被下线,意味着死定了。后来有了新浪,群星璀璨,没敢认为饭否真的会回来。
2010 年中,各路消息,甚至某些媒体上有了饭否重开的消息。激动,不敢相信,不敢期待。
转眼间一年半过去,饭否居然真的重新可以打开了。等你开饭。在幻变的生命里,岁月,原是最大的小偷。
2010 年 11 月 25 日晚上,饭否重新上线的消息真的出来了。很不幸,也很感动,四面八方的饭友涌来,我一个晚上根本没有挤上去。
2010 年 11 月 26 日早上,我在公交车上赶往单位。我工作的第二个年头刚刚开始十天。打开饭否页面的时候,真的有一股暖流涌上心头。那些旧人,旧事,他们还在。我的手机书签里依然留着 http://m.fanfou.com/home。他们全是我的记忆。

2011年11月5日星期六

感谢腾讯

这种傻逼,见一个举报一个。


2011年10月24日星期一

主机欠费

非常不幸,之前在主机上不经大脑地放了一些 Android ROM,短短一天就有了 50G+ 的流量,一个月的流量超过了 570G;看看在 Godaddy 的免费空间每月 bandwidth quota,300G,脑袋嗡了一下。
这个月 10 号收到了 Godaddy 的邮件,超出流量 $1.99/GB,又嗡了一下。这个月 20 号,又收到了 Godaddy 的邮件,准备停止服务了。登录到账户一看,购物车里已经有 $270 的补交款了;Godaddy 真厚道,给了个折,$1/GB。
结果 21 号早上,主页就变成了一个衣架,Site Suspended。还好几天前备份了所有有用的数据,几百兆的样子,一咬牙,看看网上的说法,大多都是直接 Cancel Account,给逃了。不过想想看 $270 真是够冤大头的,虽然没有关注流量是我的疏忽造成,必须承担责任,但 Godaddy 的告知方式真是个性,生米都变成锅巴了,才告诉我超量部分要补钱……

好吧,就用了个差钱的方式,Cancel Account,重新开了一个主机……不过看到了 Godaddy 的 KB,写着从今年一月起注册的域名,不再提供免费空间。看来自己也是捡了个便宜,而且现在 Godaddy 的空间也没有广告了。

2011年9月6日星期二

各种符号的英文读法

从 ChinaUnix 看到一个很好的帖子,介绍了很多(特殊)符号的英文读法,转载在此收藏,也希望给各位读者参考。感谢原帖作者的劳动。

来源地址:http://bbs.chinaunix.net/viewthread.php?tid=665794&page=1&extra=page%3D1#pid4508748
键盘符号的英文读法:
` backquote 反引号
~ tilde
! exclam
@ at
# numbersign,英语国家是hash,美语是pound,音乐里作sharp,如C#
$ dollar
% percent
^ caret
& ampersand
* asterisk,star(美语),数学公式中作multiply
( parenleft,opening parentheses
) parenright,closing paretheses
- minus;hyphen连字符,不读
_ underscore
+ plus
= equal
[ bracketleft,opening bracket
] bracketright,closing bracket
{ braceleft
} braceright
; semicolon
: colon
' quote
" doublequote
/ slash
\ backslash 反斜杠
| bar
, comma
< less
> greater
. period
? question
space 空格

2011年9月3日星期六

为 Nagios 的 PNP 绘图系统添加时间范围选择功能

Nagios 是一款非常强劲的 IT 基础架构监控系统,再搭配上 PNP,就可以生成非常直观的性能图表。但在平时的应用中,经常会遇到客户要求提供某段时间内的性能图表,而 PNP 页面上本身支持的显示时段仅有 4 小时/24 小时/1 周等几个有限的选项。

在每个性能指标的旁边,我们可以看到右侧有放大图示。

点击打开放大后的页面中,可以发现页面 URL 包含起始和终止的时间戳,于此,可以采用修改时间戳的方法实现本文要达到的目的。

如果你采用的是默认编译安装的 Nagios 及 PNP,那么通常它们分别安装于 /usr/local/nagios//usr/local/nagios/share/pnp/。要实现对放大后页面中的图表时间段定义,要对以下两个文件进行修改。
文件:/usr/local/nagios/share/pnp/zoom.php
找到 include("include/js/zoom.js"); 一行,在这行下面添加:

// Get perf graph within specified time range
date_default_timezone_set(CST);
print "<div style=\"margin-left:3px;\"><form method=\"get\" action=\"zoom.php\" name=\"timerange\" style=\"margin-bottom:2px;\">";
print "Get perf data ranges from <input type=\"text\" style=\"text-align:center;\" name=\"starttime\" value=\"".$timerange['f_start']."\" /> to <input type=\"text\" style=\"text-align:center;\" name=\"endtime\" value=\"".$timerange['f_end']."\" on/>. <input type=\"submit\" onclick=\"document.timerange.start.value=tstamp(document.timerange.starttime.value);document.timerange.end.value=tstamp(document.timerange.endtime.value);\" value=\"Go\" name=\"submit\" />";
print "<input type=\"hidden\" name=\"host\" value=\"$hostname\" /><input type=\"hidden\" name=\"srv\" value=\"$servicedesc\" /><input type=\"hidden\" name=\"start\" value=\"\" /><input type=\"hidden\" name=\"end\" value=\"\" /><input type=\"hidden\" name=\"view\" value=\"undefined\" /><input type=\"hidden\" name=\"source\" value=\"$source\" /><input type=\"hidden\" name=\"graph_height\" value=\"$graph_height\" /><input type=\"hidden\" name=\"graph_width\" value=\"$graph_width\" /><input type=\"hidden\" name=\"title_font_size\" value=\"10\" /></form>";
print "Keep the time/date format and *space* as it is.</div>";
?>

<script type="text/javascript">
function tstamp(str) {
var new_str = str.replace(/:/g,'-');
new_str = new_str.replace(/ /g,'-');
var arr = new_str.split('-');
var arg = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4]));
return arg.getTime()/1000;
}
</script>

<?php

文件:/usr/local/nagios/share/pnp/include/function.inc.php
找到 doHead($title) 函数,可以看到下面的内容:
if(is_numeric($conf['graph_height'])){
        $graph_height = abs($conf['graph_height'])+170;
}
将其修改为
if(is_numeric($conf['graph_height'])){
       $graph_height = abs($conf['graph_height'])+210;
}
大功告成。现在可以点击打开放大后的图表页面,可以看到页面下方出现的时间范围选择表单。只要按照表单中的时间格式(24 小时制)提供起始和终止时间点,便可得到完整的性能图表了。

2011年7月23日星期六

Android 平台防恶意软件和权限控制

用过 Android 平台的人都应该知道在 Android 下的权限内容一开始会让人有点儿摸不着头脑,而其后各种吸费的恶意应用也都让用户提高了警惕 - 在安装前仔细看好某个应用是否有“读取手机通讯录”、“发送短消息”、“检索正在运行的进程”等敏感权限。

其实与其费劲心思去关注应用所需要的权限列表,偶尔还有漏网之鱼被安装上,还不如从权限控制方面来防止恶意软件侵入 Android。
大概一个多月之前我就开始使用 LBE 隐私卫士,一款具有“主动防御”功能的 Android 平台权限控制应用。一旦有其他应用触及到敏感权限的操作,LBE 就会弹出提醒窗口,用来给用户发出警报。如此以来,发送吸费短信、恶意获取用户通讯录等行为的应用都会在它的监控下暴露无遗!
安装 LBE 之前的一个必要条件就是 Android 系统必须提前被“root”。各种设备的 root 方法不尽相同,但在各大 Android 论坛里,相信你都能找到比较稳定的方式。根据电子市场里的信息显示,LBE 隐私卫士支持 Android 2.0 以上的系统。目前我使用过 Android 2.1/2.2/2.3 版本,都可以完美地使用 LBE。

详细的 LBE 使用信息,可以参见 LBE 的官方网站
……最后牢骚一句,怎么看着好像软文(其实不是)啊。

2011年6月27日星期一

本地硬盘安装 Windows 7

今天给本子换了块大点儿的硬盘,本来还打算用 Ghost 对拷原来硬盘里的系统和数据,后来索性决定重新装一下 Windows 7。
不过这次硬盘安装过程中遇到了一点儿小问题,正好在这里记录一下。

网上很多教程写的都差不多,首先要把 Windows 7 ISO 的所有文件解压到要安装系统的分区以外的地方,比如临时的 D:\。
首先找个 PE,启动之后在要安装系统的分区,比如 C:\ 创建启动记录,用 Windows 7 ISO 的启动文件启动系统修复程序,以便启动安装。
复制 ISO 里面的
\boot\*
\bootmgr
\source\boot.wim
到 C:\ 下面。
在 PE 的命令提示符下运行 c:\boot\bootsect /nt60 c: /mbr
网上的教程里都没有提到 /mbr 这个参数。由于我使用的是一块新硬盘,没有任何启动记录,所以加了 /mbr 待会儿重启后才能正常进入 Windows 7 启动修复程序。
完成后,重新启动计算机。此时就可以看到 Windows 7 启动画面出现了,在界面上选择“修复计算机”,按照网上那些教程说的,通过 x:\sources\setup 启动 Windows 7 安装程序就可以了。

更加详细的 bootsect 启动参数,可以参见 MS Technet 文章:http://technet.microsoft.com/en-us/library/dd744577(WS.10).aspx

2011年5月24日星期二

归来吧,饭否的人儿!

不多说了,还没有回饭否的饭否er,赶紧回来吧!饭否明信片等着大家呢!

欢迎大家猛击链接:http://is.gd/0ZipzA

如果你也加入了饭否明信片,请留下邀请网址,我们互相帮助 ;)

2011年5月21日星期六

好时候

那天赶上了一个好时候,想在 blog 里写点什么,上来 Blogger 一看,天哪,这么多年没见过的维护通知。好了,到现在,当时想写什么来着?忘了。

昨天是个美妙的周五,跟几位同事一起去电影院看了《Fast Five》,感觉比 4 震撼多了。一开始的劫车一下子把我拽回了两年前《Fast and Furious 4》的结局。
其实看电影的整个过程都被我可爱的老大们在耳边评论,弄得我有点儿犯迷了……而且看到 2/3 时就有点儿想上厕所,真是在家看片看惯了,没有暂停按钮,真是让我叫苦。

近来其实折腾最多的东西是手机,基本上写博客要说的话,已经全都通过手机发到了微博上。看看近来写的几段文字,一段赛一段的短小精悍,让我有种对微博又爱又恨的感觉。

对了,几天前我开了一个公共目录,把 Elelinux 发布的几个 Hero ROM 放了上去,因为国内下载国外网盘的东西实在是太煎熬了——这样我会在 Ele 发布新的 ROM 几小时后把文件转到我的主机上,Hero 用户直接下载就好。Gingerbread 系统还是不错了,现在的 ROM 已然到了 2.3.4 阶段,刚刚发布时的种种问题已经解决。不过 Hero 的 CPU 始终还是不能赶上潮流了,还是 2.2.1 最能高效使用——等等换了新手机再捣鼓新系统吧。
http://pages.thisischen.com/HeroROM/

2011年5月8日星期日

母亲节

5 月 8 日,母亲节,工作以来送了母亲最贵重的礼物,一只手机。
老妈一直抱怨手机不好用,却也不让我给她换新的。终于在这个时候自己买了个手机,送给了她。
节日快乐,老妈。

2011年3月21日星期一

疏远?

忙了,很久不去校内跟朋友们搭讪,也越来越少地去简单的@别人一下。
依旧固执地写着自己的饭否。开启隐私设置,甚至删除了几个认识的熟人,不想让他们知道我在说什么、想什么。
到现在想想,能说上话的,都是身边的老朋友了。他们让我心安。
不少次都是自己劝自己,多多经营自己的网络,可是每次都半途因为各种原因放弃。
今天再次劝劝自己,跟老同学、老朋友多多联系吧。

2011年3月1日星期二

取,舍

搬家了。家里要装修。我预测会是一系列矛盾的开始。
搬与不搬,搬什么,这是个问题。大车小车不知搬了来回多少次,目前为止还是没有完事。总是不能决定拿走什么,丢下什么的老妈,让我痛苦不已。
每次装修都是一次遭灾,我看不尽然。让人做出取舍,才是这痛苦过程中让人领悟的真谛……

2011年2月28日星期一

搬家

终于老爸老妈想到了一起,准备把久经考验的老房子装修一把。某孩子吃饭时突然说这装修来得突然。是啊,就连我都觉得这决定来得微快。
现在家里已经是纸箱遍地,一片脏乱。看着空荡荡的卫生间和卧室,觉得好像是眼前有了十年前刚搬来时看到的洋灰地、大白墙。
我恍惚了。明天还要继续搬家,好吧,睡了。

2011年2月8日星期二

春节假期

又是一个长假结束,而我却被今晚的闹肚子困扰着……我这是吃了什么好东西啊!
纵观整个假期,一切都感觉无味,大家也纷纷表示着这个新年的无聊和无奈。
基本上哪里也没去成,成天都过得迷迷糊糊。等到微醒时,已然看到日历上赫然写着二月六日。
这段日子自己一直有外出旅行的计划,并试图在家里装修前实现。不过目前看来却少了一个最期待的人,并且不一定能让这次旅行和装修完美错开。
好吧,我每一个狗血的愿望都可能不能在我的本命年前实现,我要慢慢试着接受现实了吧。

明天上班。再见,长假。

2011年1月9日星期日

那年在杭州

那年去杭州,从机场出来赶上很晚的大巴,忘记到了的是什么地方,应该是打车到的西湖边的布丁酒店。
2011年1月9日,0:05:54

@marcher 武林广场
2011年1月9日,17:57:38

是20块的大巴。我还留着车票。
2011年1月9日,0:06:10

2009年1月30日,凌晨0:45,订下了布丁的房间。当时住在酒店最边上的一个房间,是个上下铺。和远在一起,感觉房间挺有意思。
2011年1月9日,0:11:46

接下来的日子,四处乱走。还记得我当时每天都在Google Maps上更新我的地图。当时真是想有个什么服务能记录下我的行踪,就像今天的foursqure、街旁。
2011年1月9日,0:12:52

嗯,我的地图还在Google Maps那里。2009年1月30号,走苏堤,到上城区转悠。
2011年1月9日,0:16:41

2009年1月31号的行踪,目前已经是未知了。Google Maps上没有标记。脑子里没有印象。
2011年1月9日,0:18:22

@marcher 去了吃米酒的那家饭馆,走了相当多的冤枉路,在路上我们还商量去不去买炮竹。白天的下午去找了鸭舌
2011年1月9日,18:49:23

2009年2月1日。那天和远一起坐车,大概是Y3路,到了杨梅岭站,顺着乾龙路绕去了龙井村。当时大年初七,村里几乎没有游客,原来有人号称地道的农家饭也没有。当时悲愤地一路走下九溪路,吃了顿饱饭,有酸菜黑鱼,味道挺好的。
2011年1月9日,0:27:09

@marcher 是打车,饭馆是司机推荐的。 PS:那个瀑布是人工的
2011年1月9日,18:47:26

在九溪路那家吃上酸菜黑鱼的店,叫望和酒家么?也不记得了。
2011年1月9日,0:28:08

唉,全记错了。吃酸菜黑鱼的那天,是2009年1月31号。
2011年1月9日,0:29:37

@marcher 我吃了很多。还有一个不怎么样的‘干炸响铃’。
2011年1月9日,18:46:21

2009年2月2号,只记得和远一起在求是路那边的外婆家公元大厦店海吃了一顿。非常美味。当时我们就商量,到了北京,我们还要一起找一家外婆家,尝尝他们之前有什么区别。可真的成了商量,我们还没曾去过北京的那个外婆家吃过。
2011年1月9日,0:35:13

2009年2月3号早上9:48,布丁酒店的房间被我们退掉。背上背包,我们回家的日子马上就要到了。
2011年1月9日,0:41:13

3号那天中午,和远一起去了一家咖啡店坐了一会儿。那里非常清静,不知道是新开的,还是快要关张的。当时的照片,我还有一张,好像名字里能看出一个“巴”字。其他的照片,已经不知所踪了。
2011年1月9日,0:54:39

转悠了一天,我们已经没处可去。那天下午,天已经要黑了,我们大概是在学院路附近的某个糕点店前排着队,买了些吃的。那里的蝴蝶酥很好吃。
2011年1月9日,0:56:36

4号返京的飞机很早,我们打算就在萧山机场等待。晚上到了机场,我们还有说有笑,谈论几天来的事情。后来出了一个很尴尬的事情,我们当时就商量,这事,别让任何人知道。
2011年1月9日,0:58:07

@marcher 我还打了一个电话。
2011年1月9日,18:44:41

萧山机场晚上要关门!我们已经没机会去再订个房间睡上几个小时,而机场工作人员说,那里确实晚上要关门,所有人都要清出去。有几个和我们一样不明情况的旅客。大家都很尴尬。
2011年1月9日,0:59:30

在萧山机场外,我们只能眼睁睁地等着天亮。那天夜晚不算很冷,但事不凑巧,凌晨时分,居然下起了绵绵小雨。
2011年1月9日,1:00:39

当时身边还有个工程师身份的人物,和我们谈生活、聊工作。他谈起他的大学时代,谈起曾经的工作,现在的工作,自己的薪酬与艰辛。那个时候,我们还是身在校园的大学生。
2011年1月9日,1:02:47

@marcher 甘肃人。
2011年1月9日,18:51:38

@marcher 工业设计专业
2011年1月9日,18:45:13

2月初杭州的夜晚,感觉有如初冬的北京,伴上雨水,那个晚上,让人有种恍惚的感觉。那个晚上,我几次看着远处的公路,心想,我是在杭州么?
2011年1月9日,1:04:44

4号一早,我们成为首批进入机场的乘客。对了,飞机是7:30起飞的。我这里还留着机票呢。
2011年1月9日,1:06:42

这次旅行的大小票据,都叠放在我抽屉里那两个携程的信封中。出发前我和远好像没说什么,一拍即合。在杭州的日子,我们也没提起各自因为什么而想起要出来走走。简称出走。
2011年1月9日,1:11:59

当时还有饭否。当时还有希望。
2011年1月9日,1:12:37

我是个怀旧的人,也是个追求结果的人。我把很多东西从脑子里扔掉,但存放在不同的地方,我自己能记住,自己在意的地方。
2011年1月9日,1:13:17

刚刚想起来。我们到杭州的那天,是下着雨的。从杭州回来的前一天晚上,也是下着雨的。回来前一天的晚上,那天我头一次喝多了咖啡,胃疼得够呛。也算是经历了从未有过的体验。
2011年1月9日,1:16:05

那年回来后,我在blog里说道,以后会整理当时的事情。两年了,今天我就在饭否整理出这些吧。太多的事和太多的人被消逝的时间擦去,被新的片段覆盖,沉浸在过去不是好事,该放在其他地方的东西,就不要让它占据了大脑,惊扰了感情。
2011年1月9日,1:20:00

时候又不早了。世界晚安,杭州之行就说出这么多吧。期待我的下一次旅行。希望那次旅行也有人陪伴,但不像杭州之行,心有牵绊。
2011年1月9日,1:21:53


======== 分割线 ========

昨晚提起了旅行,我便翻腾起我的抽屉。两年前那次杭州之行的一些点滴重新涌进头脑,让我在饭否写下了不少当时的事情。引用的内容是远在饭否上给我的回复,补充的东西让我想起了更多,多谢。
当时第一次跑出家门这么远,头一次坐飞机,头一次在旅店住那么长时间。当时的心情很不好,一切都不如意,不愿想过去,看不到将来。对自己的过去遗憾,对自己的幼稚悔恨,但又明白无论如何也只能面对现实。还好,那次多亏是自由行,和远一起,累了就睡个半天,想出去了就走得很远。

现在终于做到了当时在blog里所说的,总结了那时的一些事。
就这样了。

2011年1月3日星期一

新年第一帖

吃了驴火和呷哺,看了海绵。很 happy 的新年第二天。就是冷了点儿。

从某个时候开始,不再喜欢发短信,不再喜欢去别的 blog 或个人专页留言。新的一年,愿大家都好。
过得轻松点儿,享受点儿。别错过了什么,认真些,细心些,用心些。别被傻逼分散了精力,别被糟事坏了心情。
坏心情就像是一种自己心中积累的怨气。该放就放,该歇就歇,不能过的坎儿,咽不下的气,咬咬牙,过去了再回头看看,一切都明了。

就这样。2011,大家都要接着冲,有奔头儿的,有目标的,都趁着年轻。
我变了吗?自己写出来的东西,越来越不能让自己理解。几年后,我还能回忆起现在想的是什么吗?我还能体会现在的心情吗?