Saturday, December 31

CSDN password, and more

12月21日上午,CSDN网站部分用户数据被在网络公开。

此后陆续几天,天涯、人人、当当、凡客、卓越、开心、多玩等多家网站,相继被曝出密码遭网上公开泄露。目前网上公开暴露的网络账户密码已超1亿个。

有人调侃说,这是不是国安的黑客团队的期末考试?

我翻了一下这些数据库,有几点疑虑:
1,我本人的帐号不在里面。
2,现在这些帐号都无法登录网站。看来网站已经针对这批数据处理过了,必须用email“找回密码”功能,才能重新登录。
3,用这些密码去尝试那些email,我试了10个都不成功。上一次我拿到某个网站的帐号数据库之后,这个尝试的成功概率是35%。
4,最大的疑虑是:居然这些数据库用明文存储密码?小网站犯这种错误我能理解,但是天涯和CSDN都犯这种低级错误?这些网站的安全构架师都是吃干饭的?而且吃了这么多年干饭?!

我能想到的两种解释是:
1,这些密码不是从各自网站上泄漏的,而是从国安(或公安部,或工信部)那里泄漏的。官方规定这些运营论坛的商业网站都上交各自用户的密码、email,以便监控甚至插手管理各论坛。

2,这些密码不是真的密码,而是伪造的密码文档。但是这又解释不了各大网站都紧旗密鼓地宣扬这件事,这简直是杀敌壹千,自伤八百。除非这些网站在下一盘很大的棋...

既然连密码都保管不好,如果按照《北京市微博客发展管理若干规定》,实现网络实名制(所谓的前台匿名,后台实名),这些实名资料岂不是分分钟被暴露出来?

Sunday, December 11

Wordpress User Only page

4 years ago I implemented the same functionality but lost the source code. So I re-invented the wheel again. Maybe not the same way.

What I modified is adding 4 lines in the function get_the_content of wp-includes\post-template.php:
$content = $pages[$page-1];
if ( preg_match('/< !--more(.*?)?-->/', $content, $matches) ) {
$content = explode($matches[0], $content, 2);
if ( !empty($matches[1]) && !empty($more_link_text) )
$more_link_text = strip_tags(wp_kses_no_null(trim($matches[1])));
if ( !is_user_logged_in() ){
$content[1] = "Please login to view the content\n\n";
$content[1] .= wp_login_form(array('echo' => false));
}
$hasTeaser = true;
} else {
$content = array($content);
}

Looks easy.

Tuesday, December 6

中国的三种日历:公历、农历和干支纪年

公历:就是国际通行历,也叫做新历、阳历。其实它不是纯粹的阳历。只有以冬至(昼长日短)为1月1日,或者以夏至(太阳离地球最远)作为1月 1日,才比较正规。况且它的“月”跟太阳、地球的运作无关,跟月亮的运作也无关,中世纪时被几个罗马皇帝更搞得混乱。
农历:也叫做旧历、阴历。每个月固然是按照月亮的运作来定的,可“年”不是。中国古代天文历法家在每5年插入两个闰月,才让5年间的平均日数约等于地球绕太阳一圈的时间。然后他们再根据星辰的位置,其实也就是地球绕太阳一圈的各个方位,定下了24节气,以指导农时。所以农历是一个标准的阴阳合历,而不是阴历。
干支纪年:我把它叫做风水历。

话说2010年,家里又要添小宝宝了,房子有点小。所以又买了个大一些的房子。卖主够朋友,交房日前一个月就把钥匙给了我,随时可以搬进去了。

哪天搬呢?家里要了我和妻子的生肖八字,交给外公查黄历。结果:
农历五月跟我的生肖相冲;
农历六月没有好日子;
可是农历七月就是预产期了,总不能刚生下来就搬家吧?起码要过了满月。那样说来,岂不是我要把大房子空着4个月,在小房子里挤着,小宝宝睡不好,全家都无法安宁?

我花了两天,终于发现了:外公所说的跟我生肖相冲的“农历五月”,其实是“壬午月”的马跟我的生肖年相冲。而这个“风水历”里的“壬午月”跟农历五月并不是完全重合的,是四月二十四日到五月二十五日。再举个实例,今天(2011年12月6日,农历十一月十二)是风水历中己亥月的最后一天,明天就是庚子月的第一天。居然连我外公这样一个老中医,标准传统文化捍卫者,都漏掉了这一点。因此我找到了五月二十九日,癸未月 辛酉日,既不相冲,也是一个好日子,说服了他们,顺利搬了家,皆大欢喜,happy ever after.


这个“风水历”我没有搞清楚是怎么运作的,比如每个月多少天,但是它以立春为每年的第一天,所以它每年的天数与地球绕太阳一圈相同。你可能以为这个历法跟现代生活完全无关,你错了:

都说明年是龙年,是从2012年1月1日开始吗?当然不是,有正常思维的华人都笑了,这怎么可能呢?
那么,是从农历新年大年初一,2012年1月23日开始吗?
也错。这天是辛卯年 辛丑月 癸未日,还是“卯”年。
真正的答案是2012年2月4日,农历正月十三,壬辰年 壬寅月 乙未日开始。这才是“辰”年。
为什么这一天正好是立春呢?

Friday, December 2

Mark: Depixelizing Pixel Art




Mark it here so that I can implement it later:
http://research.microsoft.com/en-us/um/people/kopf/pixelart/

Then have you implemented it now? Thanks