<%@ language="Inherit" from Web site %>

During Investigating an Interaction, I Monitor a Motion;

While I Monitor a Motion, I try to Deduct a Direction;

After I Deduct a Direction, I may Conclude a Connection;

From the Concluded Connection, I can Accumulate a series of Actions;

for English version click here

for most updated version visit:

(最近更新在这里)

如果你在中国浏览我家里的服务器版本会有不刷新问题,按"F5"或者“刷新”按钮强制刷新,因为我自己写的服务器把缓存的有效期设成了无限。

http://nickhuang99.dynalias.com:1000/)

(问题是这个问题导致他们根本看不到这个提示,这就是矛盾。)

 

www.staroceans.net

www.staroceans.org

 

我有经三藏,

一藏谈天,天上神物,只可意会,不可言传,故不立文字,闻道者,参心见性,久而久之,必有应验。

一藏谈地,地阔天方,岁去月来,于平淡无奇的琐碎之中领悟征途的艰辛,在浩瀚无垠的星辰大海中有一颗没有留下轨迹的流星。

一藏谈人,人海茫茫,心路点点,凡人凡事,见智见仁,于无常的变化中见证一丝若隐若现的永恒。

我的projects下载

我的图片浏览服务器(搜索引擎的克星,因为由于我的无知使用utf16写的,结果发现很多的蜘蛛都不进来,哈哈因祸得福。不过里面的图片很多是我的蜘蛛搜索来的,如果有儿童不宜的内容概不负责。

http://nickhuang99.dynalias.com

暗黑杂谈

杂谈匝坛,杂弹砸坛,别家灌水,咱这砸坛。

wpeA.jpg (5636 bytes)

我的征尘是星辰大海。。。
The dirt and dust from my pilgrimage forms oceans of stars...

(日记太长了,我就把它们另存在这里了)★★

视频在线

可能是世界上最优秀的政治讽刺电视连续剧 <Yes, Prime Minister> <Yes, Minister> 

月一日 阴天

突然从梦中醒来,

发现除了自己谁也不爱,

一切都不可能从来,

世界充满了精彩,

我的生命是一段燃烧过的枯柴,

记忆里面充满了空白。

站在冷清的阳台,

倾听内心的独白,

是否真的明白,

有什么不能抛开?

为什么想要留下来?

为何要去漂泊四海?

昨晚加班到九点半,aee_event发送自定义消息给当前active app不成功,看帮助大概是这样子的,这个实际上是ishell_sendevent的简化版,但是对于所谓的private-event就是自定义的,必须要明确classid,就是说aee_event可以省略当前的applet的classid,如果发送系统的消息,但是如果是自定义的就不能了,不过还没有验证,因为编译要很久。

《基督最后的诱惑》一向是被宗教界认为是禁片,不过至少它总的线索还是复述了旧约中的大部分情节,基督是上帝之子,戴着神的旨意来拯救耶路撒冷及其人类,它拥有各种神迹,最后按照天命上十字架为人类赎罪,只不过在十字架上钉死之前脑海中为了驱散肉体的痛苦想象中自己假如不被钉死在十字架上而是向凡人一样娶妻生子,宜享天年,病死在妻子儿女周围,看着人类灭亡在天父的圣火之中是什么感觉。这就是所谓最后的诱惑,基督在十字架上的临死前的最后的犹豫。

整个电影情节都是令人颠覆伦理的震撼,基督是一个卑贱的木匠,为了谋生替罗马人制作十字架来钉死犹太抵抗组织成员,整日生活在同胞的唾骂中,为了摆脱内心的压力,他寻找妓女玛丽亚来派遣苦闷,并为此他经常偏头痛,有幻听幻视的毛病。犹大是一个忠诚的犹太抵抗组织成员,受命来诛杀犹太人的叛徒基督,在生与死的一刹那,基督为了活命声称自己就是犹太传说中的上帝之子,信使弥赛亚,自己的私生子身份正好是上帝之子的证明。犹大在半信半疑之间犹豫,最后相信了基督的话,并且要追随他的左右直到他拯救犹太民族,但是他警告基督如果他背离了犹太解放事业,犹大会毫不犹豫地杀死他。于是,基督背起行囊告别家人前往沙漠声称要去聆听神的旨意,在沙漠中苦熬了十天十夜之后,他的幻听幻视更加严重,看到蛇爬过来以为是撒旦的诱惑,看到篝火以为是魔鬼的化身,口渴难耐想象周围长出了苹果树,为了吃苹果想象自己手里拿着斧头来砍树,最后受不了了跑出沙漠告诉在等待的犹大说上帝给了他一把斧头要他发动起义,犹大告诉抵抗组织觉得这个基督半疯半癫自己都不明白自己是活着还是死了,自己对自己是上帝之子深信不疑正好可以利用来作为革命的幌子,于是组织了一帮人跟随并监视着基督到各地去发动群众,宣讲革命道理。基督第一个要拯救的就是和自己有过肉体关系的玛丽亚,这个妓女正好被犹太群众游街示众准备处以“石刑”,就是用卵石砸死。基督挺身而出说出了圣经里面著名的那段话,He who without sins casts the first stone。同时羞愧地在内心深处忏悔和妓女通奸的罪行,当地的男人大都也和此女有染,只不过痛恨她服务外乡人,并献身罗马士兵,想要杀死她来挽回犹太民族的尊严。这时候,人人都觉羞愧就放下了石头,于是玛丽亚从此侍奉在基督左右,加入了革命的队伍,走上了革命的道路。基督继续一路上宣讲革命的主张,但是老百姓都觉得他疯疯癫癫让他们冒死反抗罗马人的统治必有用心,纷纷涌石块来回应,犹大等革命同志觉得人民群众觉悟不高,必须要实施一些欺骗手段来达到目的,于是来到一家正在举行婚礼的人家想要向他们阐述革命的道理,并且暗中调查这家人较穷招待客人的酒都没有只有一坛坛的水,犹大等几个革命同志自掏腰包偷偷把水换成了酒,然后怂恿基督让他施展神力把水变成酒,基督整日处于半昏眩状态,稍受暗示,便有幻听幻视,便虔诚的“做法”,没想到竟然成功,从此对于自己的“神力”深信不疑,这家人也对基督顶礼膜拜,到处宣讲犹太人的弥赛亚降临人世,犹大等几个革命同志信心大增决定继续如法炮制,找了一个乞丐说好两个罗马金币让他装瞎子,找基督要神力,基督如法照施,“瞎子”大喊大叫的说自己复明了。走到一处葬礼,犹大又雇用了一个盗墓者钻到坟墓里面藏起来,然后怂恿基督表演“起死回生”的神力,果然那个盗墓者脸上缠着木乃伊的绷带就被基督从坟墓里面拉了出来,死者家属虽然看着活人不象自己的亲人,可是早就吓呆了哪敢吱声,于是犹大领导的这个犹太抵抗组织的游击队成为所有支队里面发展最快的,经上级研究决定把解放耶路撒冷的起义提前打响,于是基督来到圣城的神庙前向人民群众宣讲革命道理,并且号召起义,推翻罗马人的统治,神庙里的祭祀听说起义不仅要赶走罗马人还要把他们也镇压,觉得还是罗马人来的可靠就派出军队镇压,革命群众还没发动起来就惨遭镇压,起义失败了。犹大向上级承认错误说对革命形势估计错误,没有正确估计到当地的犹太上层阶级也站在了罗马人一边,要求承担责任受处分。上级分析了形势认为,责任不在犹大,使党委错估形势,没有意识到革命斗争的残酷性和长期性,为保存革命火种长期潜伏,决定把基督当作替罪羊交给罗马人杀死,一来暂时让罗马人不再追杀革命同志,二来基督的死可以更加加深人民群众对于罗马鬼子的痛恨,三来可以应验一新的传说就说基督死了替人类赎罪是上帝造安排好了就让所有的犹太群众死后上天堂,这样子在革命运动中普通群众就会不怕死,因为死了可以上天堂,四来这个基督看见革命群众被屠杀吓破了胆,开始对于革命和自己的革命使命动摇了,党组织生怕他说出什么不利于革命运动的话也早想把他干掉,借罗马人的十字架真是一举多得。此时,犹大对于基督又是一番暗示与鼓动,于是这个基督就言听计从同意参加这个自杀行动,让犹大主动去罗马人告发他以便上十字架找死。犹大接受了组织的派遣成功的让罗马士兵找到基督逮捕他,并从此顺利的打入敌人内部,后来长期潜伏为革命运动提供了大量的宝贵情报。可怜基督直到上了十字架,手脚被钉死在十字架上才从痴迷中清醒过来明白自己成了革命运动的牺牲品,看着身边还有两个陪他就死的战友也被钉在十字架上,对于革命运动彻底灰心失望,开始幻想当初和妓女玛丽亚偷情的欢乐时光,想象着自己如果不参加革命好好给罗马人造十字架挣的钱足够再娶一个老婆生一群孩子,过着不光彩但是富足的生活慢慢老死,为什么要走上这条不归路呢?这些想象改变不了自己成为革命牺牲品的命运,但是却能够让他摆脱一些在十字架上煎熬的痛苦,最后经过一天一夜的折磨基督终于死在了十字架上,他死后犹大买通了看尸体的罗马士兵把基督的尸体偷走,在坟墓里面埋了一块石头,然后再散布谣言说基督复活了,受蛊惑的革命群众打开坟墓没找到尸体就信以为真了,从此基督就深深地活在了革命群众的心底,激励着他们一代又一代地反抗罗马帝国的统治,直到革命成功罗马帝国被推翻,基督才正式被追认为革命烈士,在全国各地都建立起了他的纪念碑和纪念馆,每逢12月25日基督诞辰,世界各地的革命人民都自发地组织起来纪念这位伟大的革命先烈,缅怀他英勇不屈和罗马鬼子战斗到底的革命气概。然而两千年来对于基督的各种革命宣传都选择避开他的真实的内心世界的描述,刻意把他刻划为英勇不屈坚毅顽强的革命战士,现在这部电影真实地反映一个伟大战士在疼痛折磨下的临死前的犹豫完全不会破坏它的高大形象,相反,瑕不掩瑜这种普通人的心理正可反映出领袖人物的不平凡之处。影片中对于犹大同志的正面形象反映也使得这位战斗在敌人心脏里的无名英雄在天之灵的以告慰。此片有着高度的革民历史传统的教育作用,能够激发青少年对于当今革命来之不易的道理的深刻理解,对于从小树立报效祖国,时刻为革命献身的伟大理想的培养有的不可多得帮助,建议各地政府领导认真组织观看,深入开展讨论,结合当前伊拉克人民,阿富汗人民反对美帝国主义侵略的自杀运动加强为革命献身的思想教育,努力培养一大批敢于视死如归为革命理想上十字架做人肉炸弹的社会主义接班人。

我肚子饿了,想吐。

月三日 阳光灿烂

电视上一个很象毛阿敏的中年妇女在卖力的讨好一个地方剧场,后来介绍是一个不知名的小地方为了宣传自己地方,以便给地方官加官进爵增加资本,同时办晚会赚取无知青少年及其父母的口袋里的人民币请出了过气的毛妈妈出来赚钱,她的假睫毛好长,她的腰带真宽真紧,掩饰了岁月在她肚皮上的积累,当然如果不是假唱的话,她的嗓音还是不错的。我这么评论这位歌手实在刻薄,只不过,昨天跑完马拉松之后荷尔蒙水平太高,更加的无法正确看待周围的客观世界。

反复理解gdi的例子程序总算有了一些体会,关于path,就是opengl里面的displaylist,尽管我都没有实际使用过这个东西。path可以由textout创建,变形输出字体的核心在于把path转换为一组point,一定要非常小心points和point这两个东西,一个是win16的遗物使用的是short,而后者是long,我在debug下释放内存出错才发现这个区别,使用flattenpath可以自动把path里面的beizier改变成可以直接用lineto来画得线段,而让我感到欣喜若狂的linedda实在是惊喜,学校里面学习的时候还不知道这个东西,现在看到分外亲切。不过讲老实话dda我好像还没有真正使用过,我只是在疑惑能否用它来实现anti-alias的算法?使用ellipse的时候getpath得到了13个点,其中都是pl_beizierto的类型,而使用了flattenpath之后得到的getpath的点数时33个,全部都是lineto的segments了,也许windows-gdi内部也是这样子来实现真正的曲线画法吧?否则beizier曲线怎么画呢?flattenpath之后再linedda才能确定哪个点才能染色。妹妹的笔记本总是会有删不掉桌面快捷方式,现在简单的办法就是使用桌面的属性来清理桌面图标把他们赶到文件夹之后来删除,然后可以顺藤摸瓜使用guid查询注册表。

昨天跑马拉松半程两小时完成还不过瘾又钻到全程队伍里面,当然后来都是在走路因为脚疼。

很久以前玩过一下setworldtransform,现在都忘了,有两点要记得:必须设定setgraphicsmode为advanced,其次,xform的四个元素是matrix的旋转参数,必须是0-1之间的浮点数,否则会失败。并且transform必须在画之前设定。 最让我现在不明白的是SetMapMode应该怎样使用呢?最好不要用。

月四日  阳光灿烂吗?我好像已经想不起来了。

去电影院想看《阿凡达》结果太晚了,只有看明天的了。电视里面在放《非诚勿扰》,我突然意识到去年大概也是这个时候去电影院看的这部电影,也许后来的一些事情也是有这部电影的原因吧?按照蝴蝶效应的说法任何微小的事件都汇兑哪怕千里之外的事件的走向产生影响,更何况是这样一部透着诡异的电影,因为电影的开头几乎有一半就是我的写照:只不过我和主人公的区别在于他从那个天使投资人那里忽悠了两百万英镑,我不知道当时坐在我旁边的人的心里是怎样想的,但是有一点我是确定的因为后来再没有机会问这一点了。一年以前我留下来的一个原因也许就是也想过一下那个非诚勿扰得好玩的瘾,好像有一小段时间还真的是跟着别人见了不少的人,可是很快的,我觉得这个游戏并不好玩。现实和电影有挺大的区别的。

月五日  阳光灿烂吗?不,有雨。

晚上去金弈电影院看了3D大片《阿凡达》,故事情节很简单,正如陆川所说的那样是一个很简单的故事。

月十七日  阳光灿烂吗?我好像已经想不起来了。

1.dump file to somewhere
2. run trace32 for win
3. go to "build/ms"
4. do load_log.cmm
5. load the "elf"
6. load the "load.cmm"
google.cn要撤退了,国内的主流媒体的解读是一个美国商业公司公开对抗中国政府的法律,借助国民民族主义的原发情愫,作者暗示这是帝国主义列强希望中国回到鸦片战争后丧权辱国的一系列不平等条约被几艘炮舰恐吓下被迫签订的时代,这个宣传伎俩一般都会奏效,这正如同清帝国期望国民继续忍耐中国传统封建帝制残酷压榨到永远而不要接受新型资本主义制度一样的想法,只不过在全球化的今天除非公产暴政像被朝鲜一样实施绝对的思想控制与封闭才能做到,但其中的代价就是国家经济要忍受不断更换货币才能不崩溃的边缘。诚然西学为用,中学为体的本质就是怎样能够既维持旧时代的既得利益集团,又能够抵御新型生产力制度的挑战,最好的机制就是对国民思想的控制的同时又能够让他们自觉地积极的学习先进的生产技术技能并且不再学习的过程中思考当前制度的劣迹斑斑,这能够始终做得到吗?这值得尝试,依靠所谓的“太平天国”式的宗教模式来控制人民的共产主义舶来品早已经过时了,因为要“与时俱进”,原因当然是因为她过时了,因为它不代表大多数,所以要代表大多数,因为它不符合大多数利益,所以要代表大多数利益,因为它不代表最先进的生产力,所以他要代表最先进的生产力,中国的语言就是这么模糊不清,究竟是原因还是结果,抑或都是?李开复匆匆离开谷歌,说是要再一次让心飞翔,现在看来仿佛是因为提前知道了谷歌上层要从中国撤退的消息的提前撤退?主流媒体为此却论断为谷歌撤退的原因,究竟是果还是因从来外人无从知道,正如中国的统治者喜欢扮演天威难测的游戏,因为被臣民看透了无形的皇帝的新衣就意味着天皇从神坛上用自己的双脚走下来一样失去了统治的理由,既然不是天命神授又有什么理由剥夺被统治者的财富?究竟为什么能够以“人民”或者“民主”或者“共和”的名义来实行古老的帝制?为什么在普通西方社会的心目中大多数国名冠以“人民民主共和”的定义词就等同于共产独裁?只因为那只是一个只能被统治者念咏的名字,而他的被统治者们从来没有发出异类的声音的机会,这就是所谓的言论自由,因为话语权决定了名字怎样被朗读,决定了主流社会思想的脉动,因为主流社会可以“被”思考,“被”发言,“被”感慨,“被”感动,“被”富裕,“被”解放,“被”愤怒,“被”激昂,“被”幸福。主流社会在谷歌的行为“被”奇怪,“被”思考后,“被”恍然大悟,原来“被”意识到了这是一个西方淘金者来到中土“被”富裕的“被”繁荣昌盛的土地上冒险失败后的哀鸣,广大“被”擦亮双眼的人民“被”了解到了谷歌背后是美国的参议员与国务卿的撑腰,从而“被”得出了一个惊人的结论,这是一个谷歌的大阴谋哦,主流媒体轻描淡写的“被”指引到了谷歌中国的经营困境的事实,同时广大读者“被”忽略了这些结果的一系列的原因。究竟为什么一个简单的搜索功能怎样威胁到了泱泱大国的最敏感的神经末梢?互联网之所以那么可怕就在于它是计算机科学家的理想,人人都有使用的权利,人人都有知情的权利,人人都用得起,他超越国家机器的控制加速了信息的传播与普及。可是这种天真注定是依靠思想控制体制的国家机器的仇恨与恐惧,首先,谷歌“被”要求主动自律,删除依靠算法自动获得的数据,而他的竞争对手为了商业利益手动调节排名却是如鱼得水,因为扭曲事实不论是最高统治者还是唯利是图的百度都是乐意而为的。

花了大半天把著名的syncml-RTK编译了一下,这也是一个所谓的体力活。首先,我讨厌在tools里面设定系统的目录搜索,所以我把linux模式下的include的<>改成了“”,并且把所有的.h,.c文件都拷贝到同一个目录。其次,在.dsp文件里面的project设置所谓的"additional include directory“,注意多个目录要用","隔开。当然我偏向使用相对路径。

月十九日  阳光灿烂吗?是的!

什么样的电影让你感动的流泪?什么样的精神让你感到人的伟大?大概《The Pursuit of Happiness》是的,不仅仅是因为这是源于真实的故事,更出色的是Will Smith的出色的本色演技,我们可以很有理由的猜想电影的主人公身上有着和他相似的特质,仿佛这是一个专为它而创作的剧本。在中国的很多人是难以想象美国底层劳动人民的痛苦,因为美国的穷人的痛苦在于在那样富裕的国家里的赤贫的巨大反差,相比中国的普遍贫困下的绝对贫困的倒不会有那么大的反差。同时这部优秀的电影的中文名字简直让人怒不可遏:当幸福来敲门!这个名字完全把电影的主题给毁了!我对于这类明显的香港人翻译的风格非常讨厌,简直就是糟蹋了电影的主题,为什么不老老实实的按照字面来翻译呢?这样的片子本来就不需要依靠哗众取宠的名字来吸引原本就不会喜欢他的观众,喜欢的人就喜欢,不喜欢的就不会喜欢,这就是人类的天性。一点了,睡觉吧,明天还要上班,明天再说,不,是今天。

月二十一日  阳光灿烂吗?是的! 天气热得让你不得不相信全球气候变暖了。

pGlobalAnchor->wsmGlobals->wsmBuf[0].usedBytes

syncml的工作有只能停顿下来了。所有的问题实际上都是传输上的,你在socket一层来编程实现http协议,就要面对很多问题,首先是网络连接的不可靠问题,socket的收发都是非阻塞的,必须要处理网络中断再连,发送与接受都在回调函数里面异步完成,发送http头和body就是syncml的post数据还是分开来的因为头里面要包含content-length,body是从syncml-rtk引擎得到的。http1.1是可以keep-alive,但是网络是通过电信的proxy链接的,他在一定的数据量后返回的response说connection:close,你这个时候只能重新建立连接了,这个是http级的问题,而现在当所有的问题都基本解决之后又遇到了服务器的500错误,这个是internal-server-error,应该也是我引起的吧?我猜想我可能搞错了syncml的workspace的内存管理方式,当我在发送的时候lock-read-buffer,发送完后unlock,就意味着内存回收了,那么在接受的时候,lock-write-buffer,只是分配了一块存储内存,unlock-write-buffer意味着完成分配内存的大小的确定,那么随后你肯定会使用lock-read-buffer来读他的,并且unlock-read-buffer来释放,否则内存迟早要用光的,我一开始对于这个机制不太明白,这样做的一个问题就是假如我遇到服务器status异常,比如500想要重发必须要连同http-header,body一起重新发送,这就意味着我在发送的时候如果unlock-read-buffer的body的部分就没有机会回滚了,应该要当receive到server的response并且成功处理之后才释放所有内存,这当然增加了不少的逻辑的复杂度,现在没有时间来做这个了,因为触摸屏的工作到了不能在拖延的时候了,因为要所谓的pvt,我也不清楚什么意思,反正要试产吧?

月二十四日  阳光灿烂吗?天气非常的冷,你不由得开始强烈质疑全球气候变暖的论调。

用手机上网看新闻是打发BRT上无聊时间的唯一办法,你看到了中国政府强烈抗议美国政府干涉中国互联网自由的新闻,你也会看到大量所谓的“民意”的回复,都是咒骂美国多管闲事,支持中国政府的回帖,然后我忍不住就回复一下说,如此众口一词强烈支持政府的言论正常吗?假如我的这一篇也能被登出来的话我就相信中国政府是保护互联网自由的了,不过我十分怀疑。于是,发言成功了,系统说稍后会显示出来,我等了一天也没有看到显示出来,这就是中国的互联网。这种证明类似于catch22的证明:一个政府用是否国内有反对派的声音来证明自己是否受拥戴,同时又把反对者的嘴巴堵起来让他们无从发出声音。

转念一想,似乎我这么说太幼稚了,因为全国人民都知道只是不愿意说而已。

当我还在为lock/unlock read/write buffer的处理而烦恼的时候,HB告诉我的方法非常好,的确,syncml这个所谓的workspace压根和传输层无关,我浪费一点内存把syncml当作一个generator,把它要发送的buffer拷贝出来,然后把接收到的buffer在拷贝回去,不要再传输过程中使用它的内存管理机制,我反正也没有多线程处理的同步问题。有很多时候你的脑子转不过一道坎就会陷入一个泥潭。

天气实在太冷了,以至于我这两天都要去游泳池干蒸湿蒸。好像这个openCV版本比较好吧

ffmpeg -i input.mkv  -vcodec msmpeg4v2 -sameq -acodec -libmp3lame -ar 48000 -ab 128k -ac 2 output.avi

月二十六日  阳光灿烂吗?天气非常的冷

本人的pim模块因为网络传输需要分配较大的buffer,因为我嫌动态分配内存麻烦就在自己的struct里面开了两个几十k的buffer作为收发的缓存,但是在创建实例的时候失败了,找乐一下才发现是AEEApplet_New(int16 nIn,AEECLSID clsID,。。。)失败了,其中的原因在于它的第一个参数nIn是一个int16的类型并且是你自己的应用层的结构的内存大小,而且AEEApplet_New首先检查nIn是否小于0,否则失败。
这个真是一个“绝好”的设计,我的意思是幸好的结构是超过了int16的上限并且第16bit恰好是1导致传入的参数nIn小于0导致创建失败,否则创建的applet分配的内存不足我当然会内存越界去读写,不导致死机才怪。
结论就是你最好检查一下你的结构的大小有没有超过64k,(如果不检查有超过了的话,就祈祷正好sizeof(CMyApp)的大小正好是int16的sign-bit是1,这样失败了总比莫名其妙的死机要好一万倍。
其次,就是结构里面的大的缓存还是用动态分配的好,虽然麻烦但是安全。

月二十七日  阳光灿烂吗?天气非常的冷

ffmpeg -i input.avi -r 25 -f image2  my%04d.jpg

ffmpeg -f image2 -i my%04d.jpg -r 25 output.avi

有几点需要注意,1。数字格式一定要用%0xd所谓的x是一个数字,用0来补位,否则你再合成的时候就不能识别了。2。祯率不设的话默认是15。我觉得我对于zy已经有免疫力了,对于ldd我大概花了十年才获得免疫力,不过ldd非常聪明猜出了谜语的开头,虽然猜不出结尾。显然惊鸿一撇的撇字太过显眼了。

月三十日  阳光灿烂吗?阴天

ffmpeg如果不把wav压缩成mp3,那么wmv好像是不能识别的,不确定。

关于synml我在揣测一个我的实现上的问题,大致想明白了要去验证。就是当同步或者备份过程中用户强制退出的处理,现象是最后一轮的数据成了多出来的数据,原因当然是由于我们的sqlite数据库在存储了数据之后syncml才能得到所谓的mapping信息,这个从逻辑上讲应该是在下一轮http-session中作为syncml的command及其数据的一部分发送的,虽然amoi的程序员正确的在清理现场中调用了所谓删除没有成功发送的mapping数据,但是最后一轮已经存储到了我本地的数据库,(不存储就不会有mapping,这个是肯定的吧?就算是文件型数据存储也是如此,所以,他们应该原来就没有考虑对吧?)那么现在遗漏的工作最好的解决就是依赖于数据库的事务回滚机制,当开始一轮数据的存储时候发起transaction,并在这之前commit transaction,完成上一轮的事务,因为上一轮mapping发送成功的同时下一轮的数据也到达了,那么在随后的任何退出都要rollback transaction,同时与之配套的事我本地的那个记录数据同步修改变化的记录机制也要有这样的回滚机制,应该说我这个小小的数据记录机制很可惜没有使用数据库,否则他们就在一个事务里面了,那么我只能开一个临时表存储这一轮的变化,只有在commit的时候更新内存中的变化表并且反映到文件里面的变化表(这个内存/文件变化表原本是为了防止掉电恢复的。我忘了是否因为效率起见不是每一轮都更新文件,而是结束才更新文件。)这一步需要进行实现,幸好的是我们的synml只能工作在前台,否则后台的话发起事务会不会影响到其它应用从总数据库呢?我很怀疑。此外就是在应用退出的现场清理,原则上都是回滚。

mdp的使用的确是很头疼,幸好我发现了一个之前讨论的问题就是指针对齐的问题,mdp要求bmp数据指针32位对起,这样子原则上你不能把bmp的byte指针强制cast成int32*,否则可能会crash,因为据说这是mips处理器架构的要求,pc放松了这个限制一般的windows程序员都不大理会,那么对于图形来说这似乎是不可逾越的问题,我怎么能够保证我的rgb565的图片起始总是4字节对起呢,当然这其中的奥妙我猜想就是那个我一开始不理解的参数subwin,现在你来看mdpimg里这个参数就应该明白他的作用了,根据hb的说法任何一个decent的内存分配机制都应该把malloc分配的地址设为4字节对齐,所以原则上说bmp的buffer都是起始对齐的,那么你需要使用的其中的部分就是那个subwin,就让mdp自己来处理吧,因为mdp是一个dma的机制很有可能为了内存访问的效率硬性规定了4字节对齐,那么作为mdp_disp_update之类的api就要去帮她处理好这些问题。不过至此我的mdp调用还是失败的,我觉得register/replace之类的最终还是调用mdp_disp_update,仿佛一个opengl的displaylist的样子,应该不是问题,这个东西很难调试因为仿真上是不支持的,只能打log,或者trace32,我至今还不大会用trace32呢,非万不得已我是不想用,因为我要编译debug版本很费时间的。

所谓的dib你从idisplay是可以任意创建的,当然内存的buffer是她帮你分配的,所以我觉得其间的npitch也是系统指定给你的,不知道为什么js要去改变它,因为他在创建的时候给的三个参数w,h,depth就已经告诉系统他要的dib有多大,那么根据系统分配的实际的buffer大小计算出来的npitch你当然不应该改变,至少不能比他大,但是它会浪费吗?肯定有些padding是必须的比如每一行的4字节对齐的要求,(这里似乎暗示bmp的数据要做到平台通用也要满足某些架构下的内存寻址4字节对齐的问题。)当然我认为直接操纵数据始终使用byte指针是没有问题的,是程序员的首选,但是难免不会有中间强转的事情发生,比如做alpha混色的时候为了应对byte混色溢出成16bit的时候,你很有可能cast称int16来操作gb部分(从b到g,当然r是不行了,不过我记不清楚rgba还是argb格式了)意思就是如此。

另外我觉得我之前的刷新死机也许是因为一个递归的问题,在我的update里面调用idisplayupdate是否是让root-widget发送draw消息给我呢?如果是的话,我在收到draw的时候也许又不小心调用了idisplay,或者是我在多个地方调用idisplayupdate导致栈太深了?总之我觉得这个就是高通的架构的毛病,按照hb的说法所有的消息机制实际上是call,那么首先这里效率是一个问题,其次这个栈会很深,反之windows的消息是放在队列里面要你主动去取,而不是被系统被动的推送,这样子就保证了每个应用指在他应该的时间片里处理消息,也就是我之前的问题:在windows里面调用sendmessage让接收消息的窗口执行的时候的时间片算谁的?是发送者还是执行者?显然是应该算作接收者因为他在执行,但是看起来系统不大可能进行切换,因为假如像高通这种设计每个侦听者都给你注册一个回调,那你执行过程中不停地要切换到被调用者的上下文岂不是很累很慢?我觉得这就打破了每个applet的时间片划分的机制,所以,我认为高通尽管有所谓的applet的时间片或者人物的切换但是使用call直接通知让时间片的划分非常地不清晰,这样子用户的responsive不好,当然实时操作似乎需要这样子的。

保存着两个小工具以备不时之需。hfs是一个很小巧的web-file-serversumantra-portable是一个很小巧的pdf-reader。此外再次提醒一下他的源代码。

无意中发现我的一些下载似乎不对。象棋巫师npop电子邮件sqlite源代码openSSL1.0,

月三十一日  阳光灿烂吗?热的简直就像是夏天

avi文件格式其实挺简单的,就是开头是magic word:RIFF,然后4个bytes的长度,接下来是他的名字'AVI '最后的是一个空格0x20,然后是LIST(长度四个bytes)。。。这里是详细的解说

在中国电视台频道里大概只有一两个有时候说几句真话,而其中之一是英语频道,这个正符合中国政府对待谷歌中国的态度,如果你要再中国说真话,那么请不要用中文。的确,事实就是共产党政府为了统治的目的随意扭曲事实是与生俱来的,在以前叫做“宣传”,现在叫做“和谐”。在1949年前的战场上他们尝到了类似于洪秀全政权的自欺欺人的苦头之后,在打仗上不大敢说假话了,后来夺取政权了为了统治要“宣传教育”老百姓,这一套假话每天每时每刻都说,后来三年经济困难啦,连饭都吃不饱了,就停了几天,后来吃饱了又说。说到后来连一开始就知道是假的也开始相信了,这就是谎言说过一百遍变成真理。后来信息太不容易控制了,就改变直接说假话为间接说,就是不说全部事实的假话。这个在美国法庭上宣誓作证的时候要求有两点:1。所说的都属实。2。属实的都说。经过了将近一百年共产党进步了一点点,就是所说的也许都可能属实,在某种情况下。但是第二点,远远不可能做到。知道的不会说。

比如GDP增长这个东西是很专业的东西,弄到现在连一个县级长官都能明白,然后统计局长就发现国家总的GDP增长和各省市上报的差距非常大,按照各省市加总这个国家又可以在十到十五年间赶上美国了。这是第二次赶上美国了。上一次是大约五十年前,仿佛龟兔赛跑,乌龟总能够意外地赶上兔子,难道兔子总是那样漫不经心的在比赛中睡觉?

二月一日  阳光灿烂吗?很热

愈堕落,愈快乐,我越来越无法自拔在这个泥潭里了,总有一天要出大问题了。

z似乎要结婚了,ld好像已经离婚了。晚上陪伴着一小杯千山红重温了一遍我认为杰出的艺术电影《艺校密档》(Art School Confidential)。的确,a true artist only lives in his narcotic moment of creativeness of bliss.

不小心把一些半醺之际的话删除了,就这样吧。

斯琴高丽 - 黑白
歌词编辑:李泽昊 QQ:393235800
千千静听 带你心飞

寂寞袭来
不得不接受无奈
思绪像决堤的海
把我的世界冲的一片空白

泪流出来
却没有痛的感觉
那么多年的期待
我带着麻木的伤痛离开

我慢慢的把过去的碎片打开
一切都被真实的记载
找不到你付出的痕迹
只看见你虚伪的高姿态

突然才惊醒过来
除了自己你谁也不爱
想像你承诺的那些话
永远都不再存在

一切都不能重来
我像支燃烧过的火柴
你的世界变得精彩
我的世界变成黑白

我慢慢的把过去的碎片打开
一切都被真实的记载
找不到你付出的痕迹
只看见你虚伪的高姿态

突然才惊醒过来
除了自己你谁也不爱
想像你承诺的那些话
永远都不再存在

一切都不能重来
我像支燃烧过的火柴
你的世界变得精彩
我的世界变成黑白

你的世界变得精彩
我的世界变成黑白

 

 

想知道蒙特利尔的天气吗?看这里。  

我热切的期望有更多的朋友参加讨论,如果你们有什么建议和想法,不妨留话给我      

mymail.gif (26956 bytes)给坛主写信 我现在用的是宽带,感觉不出速度慢,如果各位浏览时候觉得慢的话,给我说一声,我就把图片改小。