此前在Debian上习惯了apt/aptitude,有了它们,安装、卸载、依赖,这些繁琐的事情一下子简化了许多。切换到Mac OS X上以后,自然而然想到了MacPorts,虽然用法和apt/aptitude不同,但总觉得有些面熟。
今天在公司网络环境下,执行port selfupdate,竟然失败了,提示Couldn’t sync the ports tree
。一番探究后明白,MacPorts默认使用rsync来同步数据,但是公司网络关闭了对外网873端口的访问,而这一端口正是rsync的默认端口。
[ Read More » ]
17 2 月, 2011 in
Software | tags:
Mac |
11 Comments
过个年,原来的作息、饮食习惯都被打乱了,海吃海喝,晚睡晚起。现在完春节,生活、工作又要恢复到正常态了。想一想,以前一些习惯需要改改,一些习惯需要培养,我把心里的打算写下来,看看三个月后能不能养成。
- 每天七点起床,晚上十一点睡觉,早睡早起,满足一天七至八小时睡眠;
- 每天晚上八点半收看CCTV-2的《经济信息联播》,了解财经政策和经济动态;
- 每个工作日十一点半至十二点,处理Groups发来的Abridged Email,关注业内热门话题;
- 每个工作日十二点半至一点半,晚上九点半至十点半,阅读Reader收集的RSS,拓宽视野;
- 每周阅读一份当期的《经济观察报》,并发布读后感,独立思考,理性思维;
- 每月阅读一份当期的《程序员》,并发布读后感,跟进技术演化,学习前沿思想;
[ Read More » ]
14 2 月, 2011 in
Thinking |
No Comments
上文介绍了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 » ]
12 1 月, 2011 in
Software |
No Comments
在 Android 发布早期,官方的 Android Market 颇为开发者诟病,原因之一就是版权保护机制的欠缺,诸如像从 Android Market 上下载的应用不能安装在有 root 访问权限的设备上,也不能安装到 SD 卡上等限制的版权保护能力实在太弱。后期,国内各家 Android 软件商店竞争进入白热化,场面一度精彩万分。凭借着本土化优势,这些第三方商店也一度吸引了部分国内开发者发布应用。但是,据我观察,它们在版权保护方面依旧乏善可陈,开发者们对版权保护的愿望照样落空。
这样的局面一直维持到2010年7月28日,这一天 Google 发布了 Licensing Service。这项标榜 “simple” 和 “free” 的服务提供了 “secure mechanism” 来管理对付费应用的访问,它的发布也昭示着原来的 “copy-protection mechanism” 将很快被废弃。虽然此后有消息称这套机制也可以被破解,但是眼下开发者如果想要赚钱,除了广告,尚没有清晰的第三条道路。因此,Google Licensing Service 对于开发者来说,还是非常有帮助的。–这里不得不说前几日看到有关 Android 吸费陷阱的报道,做恶的是不法 SP,无辜的是 Android,作为平台,Android 是不俱备扣费能力的。
[ Read More » ]
11 1 月, 2011 in
Software |
1 Comment
前文中所提到的Cell-ID和WI-FI定位方法,在Android官方文档《Obtaining User Location》中并入Network Location Provider一类,与GPS地位等同。前文中介绍的方法虽然可行,但是需要开发者处理比较多的数据。实际上,不必这么麻烦,还有更简单的方法,android.location中的LocationManager封装了地理位置信息的接口,提供了GPS_PROVIDER和NETWORK_PROVIDER等。
如果开发的应用需要高精确性,那么可使用GPS_PROVIDER,但这也意味着应用无法在室内使用,待机时间缩短,响应时间稍长等问题;如果开发的应用需要快速反应,对精度要求不怎么高,并且要尽可能节省电量,那么使用NETWORK_PROVIDER是不错的选择。这里提一下,还有一个PASSIVE_PROVIDER,在实际应用中较少使用。
[ Read More » ]
4 1 月, 2011 in
Software |
1 Comment