首个派上用场的Python脚本

Python

最初看到Python,是在七、八年前,当时它是跟着Linux一起来的,我跟它只是打了个照面,没有言语。后来,我又在一期《程序员》杂志上看到过它,我还记得当时的标题是《动态语言 隔岸观火》,也就是那一次,上下打量了Python/Ruby一番。

工作以后,整天的Java来Java去,虽然Linux还是时不时看到,shell也能说上话,就是不见Python。直到最近,决定要好好地认识认识它,从语法到API,从纸质图书到电子文档,自我感觉算是着了道,就是在工作上遇不到应用场景,这一番本领成了屠龙之技。

[ Read More » ]

个人和财富

本周,2月14日至2月20日,发生了四件不能忽视的事情,先是一月份CPI出台,接着是发布70个大中城市住宅销售价格变动数据,然后是“京八条”,最后是央行再次上调存款准备金率50个基点。前两者给统计局引发了不少麻烦,一度引发市场分析人士质疑统计局操纵CPI,呼吁统计数据公开,统计方法透明。“京八条”则引发了对北京市政府歧视外地人,开户籍制度改革倒车的批评。而后者则不怎么出人意料,更多的是意料之中。

原先,统计局每次发布CPI数据,我还都要写上一些文字,这次懒得写了。因为觉得以前无非是门外汉看热闹,现在对着这些数据也看不出个所以然来,更别提推导一下未来的走势,做些分析预测什么的。所以,这次索性不写了。这个住宅销售价格,我已经是麻木了,原来觉得是觉得平均价格体现不了所处城市房价变化的真实情况,现在得到了城市的数据,还是觉得不够细分。“京八条”离自己太远,虽然其有示范之功效,不过还是耐心等待广州版的吧。存款准备金率上调这样的新闻,每次都是证实传言,而且这些传言还不是在市井坊间传播,是醒目地发布在《华尔街日报》、路透财经等国外网站上。

[ Read More » ]

use MacPorts with Subversion by HTTP

Apple

此前在Debian上习惯了apt/aptitude,有了它们,安装、卸载、依赖,这些繁琐的事情一下子简化了许多。切换到Mac OS X上以后,自然而然想到了MacPorts,虽然用法和apt/aptitude不同,但总觉得有些面熟。

今天在公司网络环境下,执行port selfupdate,竟然失败了,提示Couldn’t sync the ports tree。一番探究后明白,MacPorts默认使用rsync来同步数据,但是公司网络关闭了对外网873端口的访问,而这一端口正是rsync的默认端口。

[ Read More » ]

六个小习惯

过个年,原来的作息、饮食习惯都被打乱了,海吃海喝,晚睡晚起。现在完春节,生活、工作又要恢复到正常态了。想一想,以前一些习惯需要改改,一些习惯需要培养,我把心里的打算写下来,看看三个月后能不能养成。

  1. 每天七点起床,晚上十一点睡觉,早睡早起,满足一天七至八小时睡眠;
  2. 每天晚上八点半收看CCTV-2的《经济信息联播》,了解财经政策和经济动态;
  3. 每个工作日十一点半至十二点,处理Groups发来的Abridged Email,关注业内热门话题;
  4. 每个工作日十二点半至一点半,晚上九点半至十点半,阅读Reader收集的RSS,拓宽视野;
  5. 每周阅读一份当期的《经济观察报》,并发布读后感,独立思考,理性思维;
  6. 每月阅读一份当期的《程序员》,并发布读后感,跟进技术演化,学习前沿思想;
[ Read More » ]

Learn Android Market Licensing Service: Part 2(FINISH)

Android

上文介绍了LVL的简易使用方式,本篇文档介绍复杂使用方式,这种方法比建议之前的方式多了三个环节:第一,实现自定义的 Police;第二,实现自定义的 Obfuscator;第三,实现自定义的 DeviceLimiter

在Android Market Licensing Service中,Licensing Server 只会返回适用于当前用户的 License,并不会决定用户是否可以使用,它把决策权留给了开发者。开发者要行使这个权利,需要通过一个叫做 Policy 的 interface。API 文档是这样描述 Policy 的:used by LicenseChecker to determine whether a user should be have access to the application。其共定义了两个方法:allowAccess()processServerResponse()

[ Read More » ]