绕过CMake无法编译zlib的问题

最近研究CMake,发现如gtest,zlib这些项目都支持CMake,于是拿来编译了一下,gtest一切正常,zlib则是windows下正常,Ubuntu下出了问题

CMake Error at lib/zlib/CMakeLists.txt:65 (message):
You must remove lib/zlib/zconf.h from the source
tree.  This file is included with zlib but CMake generates this file for
you automatically in the build directory.

到zlib目录下干掉zconf.h,在重新编译[……]

more

小议煮酒论英雄

三国演义有一个经典的场景,曹操邀刘备青梅煮酒,席间突然一句“天下英雄,唯使君(刘备)与操耳”吓得刘备筷子都掉地上了,立马借口伐袁术逃之夭夭。也就是后世所说的“煮酒论英雄”。

煮酒论英雄

为啥曹操会觉得天下英雄只有他和刘备呢?三国演义尊刘抑曹,鼓吹一下刘备不奇怪,但问题是这个故事来自正史三国志,先看原文如下:

是时曹公从容谓先主曰:“今天下英雄,唯使君与操耳。本初之徒,不足数也。”先主方食,失匕箸。

最近看陈寅恪南北朝的讲演稿才发现,原来曹操每看刘备就如看到自己,所以才有此真心之言。

魏晋南北朝史讲演录

先看出身,曹刘两人都是寒族,社会[……]

more

梳理一下代议制度的由来

最初,社会比较原始人少土地多,国王对整个王国的土地无法完全控制,所以直接土地划片,分给各大领主负责,这些大领主也有相同的问题,就把自己的土地再划分给更小的领主管理。当时为了保证享有土地开发的收益,允许这些领主的后裔可以世袭土地。这就是分封制,这些领主就是后世的贵族。

分封制极容易扩张领土对国家发展非常有利,当时国家需要处理的事务少而物资运输不便,所以贵族仅需要提供象征性的贡品或税收,国家运作则由国王在自己领地上的收入来支付。

数代之后,国家运作成本日益繁重,对内推行政策对外推行霸权都需要钱。国王无法独立承受,就把这些费用摊派到贵族头上。问题是,土地分封的权利在国王手中,对外扩张所得都是国王所有,而内部推行制度也都未必对贵族有利,所以贵族们自然不愿意掏腰包[……]

more

英国的不成文宪法

在雅尔塔会议将要结束的时候,一次罗斯福和丘吉尔聊到宪法的问题。

罗斯福说,你经常提到什么是宪法许可的,什么是宪法不许可的,可是英国根本没有宪法。

丘吉尔则立即指出,一个不成文的宪法,要比一个成文的宪法好。并且还不失时机的以大西洋宪章举例拍罗斯福的马屁。他说,大西洋宪章世界闻名,但却并没有真正签署的文件。

有趣的是,罗斯福找到了有有他本人和丘吉尔的签名大西洋宪章的抄件,但两个签名却都是他自己的笔迹:)

宪法不是国家根本大法,万法之源吗?但英国作为一个老牌的民主国家,现代代议政治的发源地,竟然没有宪法?当然也可以说是有,即不成为宪法,或柔性宪法。

英国的宪法最初来源于习惯法和大宪章。

所谓习惯法,就是根据当地居民的不成为习惯为依据,由法官解释发展,由律师辨明是非。比如至今为止英国成文[……]

more

湖南自由行 – 张家界(一)

张家界森林公园给人的总体印象和北京的云蒙山类似,山不险水流环绕绿树成荫,属于游山适合野餐的类型。要说特色就是本地人常挂在嘴边的,三分相像七分想象的山峰,难为他们为每个山峰都想出稀奇古怪的称号,也真难为游客要探究他们的思路对着山峰努力遐想。

张家界森林公园门口

(张家界森林公园门口)

从天门山下来已经有点晚了,吃过饭,在倒车到张家界森林公园已经三点了。买票入园(两日票248),导游一直提醒要保存好票卡,因为山上常有人查票。

进了大门沿着金鞭溪前行,看到请勿偷食的牌子,很快就有只猕猴从路边的树林中探头探脑的出来,后面跟着一只小猴,可惜光线不好又怕用闪光灯吓到它们,于是就成了这个样子:(

125 133

(小心猕猴的提示,如果仔细看左边的照片,在中间有一大一小两只:)

雨刚停,山峰树木就像刚洗过一样,色彩分明。[……]

more

湖南自由行 – 天门山

五月底跑了一趟湖南,一直想写一篇游记,但只到前几天看到凤凰古城被暴雨淹了,才真的开始动笔,毕竟游记就好像生活的归档一样,一写出来那段生活就正是被置为回忆了。

从北京出发的时候就一直在担心湖南的天气,当时貌似在第五次雨汛和第六次雨汛之间,不过张家界的自助游信誓旦旦的说,张家界的路面都是2米宽的石板路,就算是大雨也不会有任何影响,加上临近六月实在不想和暑假的人流冲突,最后还在登上去张家界的飞机。

天气的确不太好,飞机穿过张家界上空厚厚的云层,终于看到地面上树木房屋,我抬头平视远方,对面云雾之中模糊的山形,一时间我产生了错觉,仙山!!!我不断顺着山脊徒劳的寻找山的根基,确定那些山头并非都屹立在云端。后来才知道,那就是天门山,恐怕也就是那个时候起,我已经决定一定要改变计划上天门山。

002

(借[……]

more

小功能大区别 – 对比苹果和谷歌的手机设计理念

iPhone4貌似又火了一把,总有人问起Android和苹果系统的比较,这里尝试通过一个小功能来比较两者的区别

在使用nexus one的电子市场时,总觉得有个很不习惯的地方,就是对于有多个应用程序可以更新的,没有一个全部更新的功能。而在苹果的App Store中是有的。

全部更新的功能很难做吗?显然不是,谁到知道只要有程序循环的调用每个应用程序的更新就可以实现了。所以Android没有并不是不想做,而是不能做。

为啥不能做呢?这要从Android的安全机制说起。Android是一个几乎完全开源的产品,在接口方面也几乎赋予应用程序以任何的权限,比如在2.02版以后,提供了能够获取当前使用用户的信箱的用户名和密码的接口(Android系统必须有一个当前的Gmail账户才能开启[……]

more

唐德刚的预言

唐德刚一直是我很喜欢的一个历史学家,之前看他编撰的《李宗仁回忆录》,《顾维钧回忆录》觉得颇有味道。后来又看《袁氏当国》,等到要买《晚清七十年》时,当当长期缺货。

前不久意外找一本,拿来一读,跟我想象的大不相同,但却也颇有意思。

晚晴七十年

《晚清七十年》开篇讲了一段大历史,说到中国没有奴隶社会和资本主义社会,所以数千年来只有两次大变革。

1. 从商鞅变法到汉武帝的推恩令,历时200年,是封建制到帝制的大转变。一般历史书爱说2000年封建社会,这其实是日耳曼人(马克思)以偏概全之论(唐德刚语),因为汉代以后只有皇族才能裂土分封,封建制在社会上以不占主流,与西方的封建社会差别巨大,称为封建已不合适,所以简称帝制,也有人称为士人社会(钱穆[……]

more

车展大逃亡

大五一的,跑到天竺去看车展,真是一场噩梦。

先是停车场的位置,从罗马环岛,向南到国展4公里,向北是停车场要5公里,从展馆到停车场竟然距离10公里之遥,实在无法想象。而且感觉还是临时征用的空地,不是新国展吗,为什么不能在旁边建几座停车楼?

然后是出入口,不知道是不是5.1的缘故,本来展馆外部的几个出入口全部封闭,所有的人必须从正面进入,结果导致大量的人都挤在正门,天气又热,真是沾火就着。离开的时候,就有人因为没有能挤上摆渡公交而引发争执,导致整个马路水泄不通,能想象一条大路中间两道公交车其他所有空间都在塞满人的情景吗?但是在场的只有10几个保安和2,3个交警,没有引起所以群体性事件真是幸运。

IMG_2921

(保安正在处理争执)

第三是展览配套实在差,真想不清楚,组织方50元门票也赚厂商场地费也[……]

more

Getting Things Done

为如何记录和提醒琐事烦恼有一段时间了

最初使用Google日历,但日历

无法记录没有时间概念的任务,如突然冒出的想法,没有具体计划或落实时间的项目,

无法提醒只有任务先后的多步操作,比如:一项任务有3步,第一步已经完成了,第二步不知道什么时候才开始,但需要时时去查看等等

后来改用Google Task,但Task更适用于某个项目的几个步骤,对于方方面面的琐事无能为力

意外发现,GTD,即Getting Things Done,是由David Allen在2001年提出的。

GTD规范了一个收集-〉组织-〉处理-〉检查-〉做的流程(请看我的思维导图),完全满足我的需要:),也推荐给大家

GTD

[……]

more

卸载Google Voice的后果

有次在Android电子市场里逛,看到Google Voice,安装,提示说会更新机器里版本,总觉得没有用过的印象,就确认了

等装好打开一看,发现的确是用的,因为大陆没有这项服务,所以初始化都无法完成,于是随手删掉

接着发现无法再次安装了,因为在电子市场里注明该软件已经安装,但手机上的确已经被卸载了

直到今天,Google Voice自己升级了,使用更新才能重新安装该软件,虽然没什么用:)

想来,这应该是Android系统的一个BUG,虽然Android号称对所有软件一视同仁,现在看来预装某些软件还是有特权的:)

[……]

more

随手抄

县通悬,源于悬而不封。周朝以分封制立国,导致王权削弱,在战国时各国兼并日劲,为避免内部消耗,开始逐渐减少裂土分封的方式,而是设县,悬而不封。直到秦立国时,郡县终作为制度成为定案。

省即行省,最初是行中书省的简称。元时,为防止汉人反抗,将全国划分成战区,每区设行中书省。中书省本源于三省制,是中央的决策机构,行中书省就是流动中央的意思,这样的机构本来就不合规矩,况且省在划分上又将军事重镇和经济重镇分裂,导致一省很难独立。这不能算是制度,完全是对内控制的权术,可到了明朝,朱元璋立国出于私心,竟不加纠正,于是沿习至今。

亚瑟王

亚瑟王据信是被罗马同化的布立吞人。布立吞人最早统治英格兰,后来被罗马征服,其中一[……]

more

正点下班1.5发布

正点下班是我在Android下开发的第一款软件,可以说是练手之作。它的功能非常简单,就是提醒你下班时间到了。功能上有点类似闹钟,但因为工作时间每天相对固定,比如8小时或者9小时,所以它可以更快捷,基本是一次点击,等待提醒就可以了。

1.5版增加如下特性:

  • 兼容Android 1.5即API Level 3
  • 增加取消当前闹钟的设置,之前没有这个,一旦不小心开了闹铃就只有关机一途,实在汗。。。。
  • 解决由于关机导致闹钟失效的问题。主要是设置了一个BOOT的BroadcastReceiver,每次启动机器会自动将闹铃重新设置
  • 修改配置界面为标准界面。之前竟然不知道Android还有专用的Preference XML,这次换上
  • 修改主界面采用倒计时方法,毫秒级[……]

    more

VeryCD拦截自定义协议分析

一般来说,我们通过注册自定义协议,可以在浏览器中通过链接方式自动打开客户端程序。

不过,如果没有客户端程序就会导致无法访问的页面错误,如何才能够判断自定义协议在本地没有被注册,并弹出客户端的安装提示呢?

新装系统以后,意外发现VeryCD可以在没有安装eMule的时候会弹出提示,效果如下:

VeryCD_Download 

于是做了一点研究,希望能够实现一样的效果。

VeryCD网页采用YUI库,多数自定义的js都是以编号结尾如:group.js.r23406,不知道是不是使用YUI压缩的结果,如上图的对话框代码集中在footer.js.r23406中,大概的流程:

首先,在页面初始化时,所有ed2k://的link设置click事件。

然后,在click事件中创建IE2EM.IE2[……]

more

多层压缩等于不压缩?

从网上下了一个东西,zip的压缩包

解压是55个zip压缩包

再解压是55个rar的分卷压缩包

再解压才是真正的文件

一般压缩文件就是为减小文件个数,压缩文件占用的空间,那么如此多层的压缩当然是目的当然是进一步减少文件的大小了,那么效果如何呢?以此为例,如下表:

原文件大小

273,156,452 字节

Zip压缩

272,770,342 字节

7z压缩

274,608,539 字节

多层压缩[……]

more