一月二日 阳光灿烂,但是挺冷的
萨达姆在《凤凰资讯》资深评论员的评述下让人们深刻地领会了金正日为什么拼着和中国撕破脸皮都要搞原子弹,难道北朝鲜脑袋进水了?错,金正日是这个地球离头脑非常清醒的政治家,就如当年老毛拼死都要搞原子弹一样,在这个星球上只要被美国看着不顺眼你就没有好日子,或者你够强够大,或者你像伊拉克一样被告掉,没有其他出路。所以,我们应该完全理解小金同志下决心搞原子弹的心情。不搞不行啊!
一月三日 阳光灿烂吗?不知道,但是挺冷的
所谓的科学的世界观与方法论的至关重要性就在于它可以帮助你再不理解具体细节的时候就能够得出正确的结论,这中间的威力使很多人难以想象的,尤其对于那些不具备科学的世界观和方法论的人来说。在新的一年刚刚来临的时候我想做一个大胆的预言:人工智能的诞生地不在别的地方,而是在internet。原因在哪里?人工智能的经典理论在上个世纪的走入困境是当初那些乐观者意识到,所谓的智能绝对不可能依靠一个所谓完美的算法来实现,因为只能是这样一个复杂的体系,甚至于当今的所有关于AI的教科书都无法对其作出一个准确的定义,甚至无法找出一个检验的算法,这种尴尬不亚于那些猜测NP-complete问题的尴尬,一个看似触手可得的科学问题居然经历了全世界无数人的努力还不能找到一个有希望的途径。比如,NP-complete问题时说一个non-polynomial的算法可以用polynomial的算法来检验,那么对于一个看似非常困难的课题,即AI,我们是否有一个简单易行的算法或方法来检验?TuringTest看来似乎是一个这样的算法或者说方法,可是他的检验依靠的是一个人,或者说一个无法定义的方法,这实在是一个尴尬的算法,一个问题的定义居然要用这个问题本身来定义或者检验,这和循环定义有什么本质区别吗?这种科学上的尴尬可以让你对于这个问题的复杂性有所了解。对于如此复杂的问题的出路在哪里?我自从开始学习计算机就保持着这样的看法,只有一个方案不依赖于预设的定义,这个方案才可以称得上智能。所谓,道可道,非常道;名可名,非常名。他的实质就是触及机器学习的问题,怎样才算是机器学习,从直觉来说所有人都明白是程序依靠对周围环境的探索来调整自己的看法,方法,方案等等。那么什么是预设的,什么是可变得,这个问题说得简单似乎编程序的人都明白都可以做得到,比如《battle for wesnoth》这个game的按照创始人的访谈里说得就是“随后修改code越来越少,增加configure越来越多”,以至于这个所谓的战略游戏有很多人创造出了类似rpg的玩法。核心代码大约50k应该也不是很多,他的威力在于一个类似于xml的解释器,随后使用者都可以依靠这个解释器来编设自己的脚本,从理论上说,这是无止境的。
也许核心就在于如何增加一个全新的定义,如果能够解决这个问题,那么这个系统的潜力是无穷的。可是这正是最最困难的地方。以前在TAV的时候学到的一句格言时,一个数学家再往墙上钉钉子的时候总是找看有没有旧的洞,这道出了问题的核心,我们人类这种看似无穷的学习能力实际上来源于原本学习到的东西,也就是说我们从来无法学习真正全新的东西,我们的学习不过是“比教与认识”,即comparison&recognition。我常常觉得这就是AI的核心,其余全是浮云。一个系统具有了recognition也就自动具有了memorize&comparison,所以核心的核心还是recognition。只不过为了帮助人类理解我们创造出了这么一对概念。recognition不是简单的也不是人们想象的那么复杂,因为这种最基本的能力如果非常复杂,人类可能永远不可能拥有智慧,毕竟从黑暗中摸索出来的自然智能的门槛不可能太高了。核心的核心的核心问题在于从简单的一对一的比较怎样上升到模糊认知?这本来似乎是一个非常复杂的学术问题,行而上学的信奉者也许会提出一大堆的heuristic的算法,可是在意识的萌芽期哪有什么算法?非常简单的解决方法就是人类这种生物性智能系统的特点:遗忘。在计算机里的对应的解决方法也许就是人为地创造噪音来模糊记忆,即以如果没有模糊,简单的认知也就没有所谓的抽象。我常常为我年轻时候的很强的记忆里而苦恼,因为当你准确地记忆了所有的细节之后,有时候反而导致我很难迅速地识别常人所能迅速做到的认知,毕竟你要处理的数据更加的多了,当然过多的细节记忆导致加速识别的例子也是有的,可是结果也许更多的是“串味”记忆,典型的例子就是“联想”,即依靠局部的识别而形成错误或者模糊认知,(ambiguous recognition)文学上有时候称之为通感,我觉得英文里叫做deja vu。也许通讯上的error-correction可以提供一种反向的解决办法,原本用来除错的算法可以被用来产生“错误”,目的使用自然的方法来提炼数据,lossy compression在多媒体里广泛应用反映了只要正确地抓住数据的特性并保留它,就可以让智慧提再次进行还原,这种容错性是计算机所追求的,想不到确实生物智慧体与生俱来的特性,因为他们本来就不能避免错误与遗漏,只是正确地利用它来服务。error&omission is used for abstraction,so, fault-tolerance is not a problem for human.
所以,核心就在于后天的训练,就如同一个人如果没有适当的训练其智能看上去也超不过猿猴一样,那么大量的数据与实践的环境是很容易创造的吗?我想不是,人类器官的模拟也许还是一个遥远的将来,因为很多核心部分和智能紧密相关的,甚至于我常常认为只能产生于人类的视觉识别体系,所谓的vision是AI的一部分。因此到哪里去寻找一个人造的环境,一个拥有大量数据,大量不可预知的环境一边检验培养人造的智能呢?互联网也许是的,随之大量的数据,甚至于视频音频数据也被放在网络上,这个环境变得更加象一个原始的丛林适合人造智能去探索了。唯一的问题是我们人类是否有足够的耐心去重新来创造一次生物的进化?或者说需要多少时间原始的“生物汤”才能第一次产生出有机分子?甚至于我们是否能够注意得到?我们相信生物的进化是一种随机的偶然性吗?
对于萨达姆的死,《凤凰资讯》的态度我还是同意的,即便是一个罪无可恕的罪犯在他临死之前是否应该给他一个人的尊严,或者说我们剥夺一个同类的生存权的同时是否还要再千刀万剐似的加以报复?除死无大事,一个人假如连死也无法得到宽恕那就是世界的悲剧,我常常在电影里看到基督教在一个死囚被处死前允许他忏悔,虽然从唯物主义的角度看这些不过是做给活人看的,但是如果能够依靠这种临死前的忏悔达到基督教的所谓forgive&forget不是很好的吗?从这点来看,我内心深处有时候很懊悔没有接受那两个“耶稣见证会”的传道,也许我只是心里觉得有歉意如果她们将来发现在我这个没有希望的矿山上的投资感到后悔,或许这也是虔诚的基督教传教士的典型形态,他们从来不求这种回报。从这点来看,我感觉我在加拿大呆了这几年对于宗教的态度有了显著的变化。宗教更多的只是一种信仰,一个faith,而绝非中国本土释道佛那种受人香火与人消灾的物质精神交换活动,说的不好听就是“精神产品小卖部”!这种恶俗常常让我感到非常bs。如果基督教能够在一个精神文明,科学高度发到的西方生存,他一定有其生存的价值,在这一点上,你可以感受到以布什为代表的美国传统势力的价值观,说到底宗教代表了一种共同的价值观,依靠基督教欧美社会把社会各个阶层团结在一个相对和谐的社会里,这种共同的价值观是中国当前提倡所谓“和谐社会”所缺少的,试问一个没有共同价值观的社会里穷人和富人怎么和谐?这不是一句空话吗?中国的老百姓难道都不明白吗?即使渔夫渔妇不明白或者没有时间明白,难道所谓中国社会的精英阶层也不明白吗?无神论打破了人类内心的精神枷锁,但是也使得人类无所顾忌,除死无大事,还有什么可怕的呢?一个无畏的民族也就是一个亡命徒层出不穷的民族,对付亡命徒死刑也许是无用的如果他们根本就是无神论者。宗教是精神鸦片,可是如果没有鸦片的控制,不知道单单靠死刑是否能够控制得了。何来和谐?
从render的角度来看显示是不需要的,你根本就不需要那个glut,只要把glutmainloop换乘displaycallback的while-loop就行了。今天开学了,我是否可以进入状态呢?我的厨艺现在可以说是我这一年来最大的进步了,对了,忘记些年中总结了,今天我用靠想来烤三文鱼,这真是一个创举,谁说我缺乏创造性?
一月四日 阳光灿烂?
非常灿烂,气温非常高,庆祝蒙城气温超过巴黎。
凤凰卫视实况转播美国新一届参众两院开幕式,让我们了解到了美国民主制度的一些细节。长久以来独裁者为了巩固自己的独裁统治对于美国的民主制度总是语焉不详不让广大劳动人民知道美国的先进之处,反而是用一些民主制度的下次来彻底否定美国的制度的先进。在美国,相当政治家实在是一件枯燥无聊的事,完全不是儒家制度下的所谓学而优则仕的理念,究竟政治家需要的品质是优秀的专业知识还是一片热情服务社会的情操,这就是中西方的差别。比如对于美国的众议员完全就是一个小选区的代表,根本就不需要知道什么国际关系,外交国防之类的大政方针,他所要代表的就是他所在的选区的人民的声音,于是我们就看到了美国纽约市议员的第一位华裔女议员是一个做了22年义工的社会服务角色,这在美国是很难的,除非这个人确实是非常地愿意帮助社会或者非常富有贤得无聊,注意是“贤”不仅仅是“闲”。在中国富有的人不少,闲人也不少,但是愿意无偿服务社会的不多。所以,这样的政治家你会怀疑他的操守吗?在台湾你不会怀疑政治家从政的原因吗?反观中国的所谓人民代表大会,选出的都是所谓各个行业的名人,你以为你是得到了代表还是你认为那只是一个政治橱窗?因为只有橱窗才会陈列光鲜发亮的商品,居家过日子的老百姓需要的是关心他们身边的衣食住行的小议员。这就是中西方民主的差异,也是一个社会发展的两个阶段的代表,从这一点来看中国还是处在封建社会向资本主义社会过渡的初级阶段,没错,就是“初级阶段”。
简单地实现了一个convex-hull的算法,不复杂仅仅是证明我还活着。
一月六日 阳光灿烂?不知道啊,可能没有吧。
折腾了一个早上才又把一个反反复复都要犯的错误又一次地纠正了一遍。在windows里面的vc6的编译器很讨厌地自作聪明地从你的sourcecode的文件的后缀名来选择编译类型,当然这是很好的,可是对于我司空见惯的时候反而不注意了。这个差别在一般情况下没有问题,可是当我写dll的时候,如果用runtime的loadlibrary,getprocaddress来调函数的时候就有差别了,因为c和c++的函数名字的decoration是不一样的,静态链接因为有头文件的帮助编译器可以帮你选择正确的,可是动态链接纯粹是靠名字比对的,所以就出错了。因此,在dll的函数声明中要加上extern "C" {...//function declaration here };这样强制c编译。同时calling convention也是最容易犯的错误,__decl(cdecl)是默认的,比如:extern "C" { __declspec( dllexport) void helloWorld();};
但是对于一般跨语言,跨平台应该用_stdcall,那么getprocaddress是否可以正常使用呢?这简直就是一个所谓的msdn上的oldnewstory。我像先前无数的人重复翻过同样的错误,然后我再来一次。如果你想要别的语言也可以使用你的dll,那么你需要用__stdcall,但是函数的名字不再是他的默认的函数名字,而是变成了"_函数名@#",也就是前面加一个下滑线,后面加上一个@最后的#是一个数字,取决于你的函数的参数个数,这个数字是你的参数个数的四倍,比如你的函数是这样的: void helloWorld(char*, char); 完整的函数名称就是"_helloWorld@8"。这实在是有点麻烦,所以我像还有另一个掉用方法就是用函数的位置来调用,这样可以省却这种古怪的函数名字的写法,在调用getProcAddress时候,你的第二个参数不再是一个指向函数名字的指针,而是一个数字,就是index,比如
typedef void (__stdcall *HelloWorld)(char* , char ch);
HMODULE h;
char* ptr=(char*)0x00000002;
HelloWorld helloWorld;
h=LoadLibrary("myHelloWorld.dll");
helloWorld=(HelloWorld)GetProcAddress(h, ptr);
(helloWorld)("nick", 'c');
在dll的定义是这样的:extern "C" {
__declspec( dllexport) void
helloWorld();
__declspec( dllexport) void __stdcall
helloWorld1(char* why, char ch);
};
注意,函数的index是从1开始的。
晚上无聊之余作了一个简单的改动把前天的convex-hull做一个显示,这简直是非常幼稚的东西,可是我发现我因为每次写openGL的程序都是拷贝粘贴,所以很多固定的套路实际上总是忘记,并且一个人如果不去亲自做一样事情不论他又多么简单都有可能闹笑话,比如,glut这个library其实也是很讨厌的,我一直以为他的很多函数只不过是参数设置没有什么先后顺序之分,比如glutDisplayFunc之类的回调函数设定,glutInitWindowPosition之类的window的属性设定等等,可是其实有一样是不同的,glutCreateWindow一定要在显示模式设定glutInitDisplayMode之后才行,否则window不会自动刷新,这个简单的问题困扰了我一个小时!实在是贻笑大方。想想看很多这类被行家里手所不齿的东西如果一个人从头钻研起来不知道需要多少时间,尤其像这种library完全就是一个黑箱子的东西,知其然而不知其所以然的编程很可能是一个noob级别的白吃在google上拷贝一段然后在两分钟之内写完一个helloworld的东东然后声称他是一个openGL的专家,而你就算把glut的源代码都看一遍偶然之间还是可能发生一个百思不得其解的低级错误,就像上一次我对于glutInitDisplayMode里面GLUT_ALPHA不甚了了,就没有使用结果后来去读colorbuffer的时候总是出一些莫名的错误,后来如果不是sushil的一句点醒我可能要迷惑好多天呢!
一月七日 阳光灿烂?是的,中午决定出行,步行到了河边
再模模糊糊的记忆里我写下了我所能想到的过去的一年。
最适合中国国情的民主形式是什么呢?卢卡尔先生认为是开明专制,这可能是当前很多人的想法,专制与民主仿佛计算机算法里面的各种排序算法的优劣一样,专制仿佛是quicksort,在一个英明君主的统治下效率超过了大多数民主制度,可是一旦遇到一个坏君主对于社会的破坏也是惊人的,而民主制度可能是一个比较stable的算法,不论worst
case或者best case都和average case差不多,因此总体上来看效率超过了专制制度。
一月八日 阳光灿烂?是的
我自己犯的愚蠢的小错误让我白白浪费了两个小时debugging,因为我自己都忘了我当初的代码的意思了。现在的程序越来越乱了,我自己都记不清楚流程了,再加上以前写的费解的macro更是一个恶梦。
一月九日 阳光灿烂?你以为我能做天气预报吗?
日本的防卫厅升格为防卫省了,小狼犬长大了是否就该unleashed了?其实日本只不过是美丽坚的走狗,人家主人都不担心,你作邻居的要担心吗?
[qingz_hu@n285 ~/mpitest] % mpirun -srun
--nodelist=n81,n86,n83 ./mympitest.exe
node 0 say Hello World
node 1 say Hello World
node 2 say Hello World
[qingz_hu@n285 ~/mpitest] % mpirun -srun
--nodelist=n78,n81,n86,n83 ./mympitest.exe
srun: error: Unable to allocate resources: Requested
nodes not in this partition
一月十一日 阳光灿烂?不是的,因为昨天下雪了 一月十三日 阳光灿烂?是的
在去年的年终总结里有一点我没有好意思提出来,这过去的一年里我觉得我的天分不在计算机上,也不是游戏,而是在烹饪上,在这方面我总是在创新,哈哈,比如今天我决定把PA的小鱼放在烤箱里烤一下,味道鲜美和油炸的一样香。(借用一句陈凯歌批判胡戈恶搞它的“无聊”大片的话:一个人不能无耻到这种地步!)
一月十四日 阳光灿烂?是的 一月十七日 阳光灿烂?忘了,现在天黑了 一月十九日 阳光灿烂?忘了,现在天黑了
老调重弹就是在linux上mount usb的问题,可以先用system tool->hardware
browser来看一看harddrive里面有没有发现usb设备,然后就可以在fstab里面去设定mount
points,其中的选项可以是auto__defaults,users,noauto_0 0,不过我想vfat也是可以的,至于说要把windows的partition映射过来基本上是类似的,只是不能选择“extended”或者"ntfs"的文件体系,当然你可以设定成auto,以便开机就映射。现在感觉我对与linux的感觉要比以前好很多了,也需时日久生情的原因吧,当你还不了解它的优点的时候总是有很大的敌意,现在虽然还是不熟悉但是因为毕竟是开放源码得咚咚还是有一线希望可以找到原因的,当然现在叫我去看源码还是太早了,不过总有一天我会的。
一月二十日 阳光灿烂?是吧,今天我想记录我看到关于阳光的纪录片 一月二十一日 阳光灿烂?是,先生。
|家| <---->|健身房|<---->|实验室|<---->|超市|
这个当然是搞笑的,实际上也不算DFA,反正今天找到了长久以来的一个小bug,居然是把赋值等号写成了逻辑等号,晕倒!这种低级错误自从学c/c++以来就只有在初学的时候犯过,没想到现在。。。看到Becky的blog里面自称“煮妇”,我想我辈自己做饭之流就只好称自己做“饭夫煮子”了。
一月二十三日 阳光灿烂?不知道啊,这里要八点以后才天亮 一月二十四日 阳光灿烂?好像是,今天据说有零下20几度 一月二十六日 阳光灿烂?好像是,今天据说有零下20几度
睡梦中隐隐约约听着凤凰资讯里赵少康的谈话节目在谈阿扁要求大法官释宪为自己开脱的笑话,想想看这的确是一个笑话,一个堂堂所谓总统之身竟然用小律师打官司的手段来无所不用其极,这可能是制度的漏洞,但更可能是人性道德准绳的意外,也许当初制定法律的人杰考虑说能够当领导人职位的人选应该是道德上不成问题的了,所以对于国家的最高领导不应该再有道德的约束,于是有以色列的总统会去强奸,于是美国的总统会撒谎骗议会,和白宫实习生偷情,凡此种种都忘了所谓的领导人很多时候风云际会黄袍加身屁股就坐在了那里,不要求他一定不是流氓出身,不要求他一定是品行端正,反正全民投票总要选一个,说不定将来脱衣舞女竞选也可以当美国的议员。所以制度的设定者是否要设定一个对领导人的监督体制是历朝历代古今各国的最难的事情,制度的制定者为什么要设定制度约束自己?中国古代大约只有几个开朝皇帝会主动限制自己的权利,其后代子孙大都废弃了。这似乎是一个无解的难题,由此我想到了我和同实验室的印度同学的激烈的辩论。我坚定的信仰质量守恒和能量守恒是宇宙间两大不可变更的基本定律的,而所谓的爱因斯坦的质能转换公式仅仅是表明了能量与质量是宇宙间所有物质的两大基本属性,并且这两个基本属性优质固定的数量关系,就是说一定的质量总是联系着固定的数量的能量,所谓质量是质量,能量归能量,只有联系没有转换一说,原子弹爆炸残骸减少的质量就说明有多少质量的高能粒子被释放到外界,他们所联系的能量就是原子弹的爆炸当量,能量不是质量殁灭生成的而是原子核固有的高能量的释放,能量与质量的载体只能是有形的物质,不论他是基本粒子还是原子分子,能量的传递不可能是超时空的。我想我的这一套理论大概都是我初中高中时候建立起来的所谓的经典理论。可是我的那位印度同学说根据爱因斯坦的狭义相对论这一切都是不对的,而所有的google的资料都显示他是对的,质能的确是可以转换,反物质与正物质的湮灭产生了能量消灭的质量。我所能做的就是坚持说不相信,反正不论你怎么说我都不信,因为这一切本来都是超越我们饭夫煮子的所能观察的事情,你不可能有什么现场的试验,我自然可以否定一切,所谓信者恒信不信者恒不信,看你有什么办法。就像我大学时候从来都不相信微积分一样,我反正不信难道我会死吗?的确,不相信微积分的正确我活了几十年都没有什么问题,还算健康。可是在遥远的时代,在达尔文进化论所描述的进化历程里凡是不相信近亲通婚导致种族退化的物种都湮灭了,凡是愚蠢到认为抗争自然规律的物种都被自然在这个星球上抹去了。这就是信与不信的区别,所谓的台南渔民自然可以选择信与不信,但是世界全球化的分工的规律却不屑于你争辩,他只是指示资本,这双看不见的手去鉴别潮流顺应者与抗争者,几十年后或许后人贤得无聊来研究这一段历史又要发思古之幽情了。这就是古代化石给人的启迪,大多数化石物种可能都是一些执著的斗士,相信自己的直觉胜过客观事实,相信自己原始的感觉胜过科学的计算分析,于是在历史的长河里他们成为化石。我又一次感受到了所谓belief的传递可能是这个世界上最困难的事,这再一次证明了当初穆斯林的祖师一手拿剑,一手拿古兰经传教的传说,在传教者看来对于愚顽不可理喻的异教徒不能精神转化就只有肉体消灭了,只是不知道这里有没有类似爱因斯坦的质能转化公式一样的精神肉体转化公式?如果有的话,宝剑可能要比古兰经好用的多。
实在是无聊了,那么就去健身房吧?闲着就是贤哲。
一月二十九日 阳光灿烂?好像是,今天据说有零下20几度
《计算几何学》一次作业有九道大题,每个问题又有若干小问题,我花了快一天还没有写完两道题,写了五页纸,还不算写废掉的。大部分的问题其实也不算难,可是并不像看上去的简单,比如没有写过算法的仅仅会纸上谈兵的计算机学生有时候会想当然地认为简单,实际上不是那么回事,其中一个算法是让你旋转一条线记录下所碰到的第一个点,第一眼看过去如果是些伪代码可能就一句话:“旋转”。可是怎么旋转?怎么检测第一个碰到的点?要写好多的,如果不明白的话也就不明白他的计算复杂度了。想当然是不行的。
在电视上看到穆斯林的所谓节日用皮鞭鞭打自己的背,血肉模糊令人发指,实在是对于这种宗教不能苟同,也稍微明白了一点为什么有那么多的自杀炸弹,从本质上看,世界上大多数国家可以把本国内的让别人自杀的宗教称之为邪教,却没有哪个国家敢这样对待伊斯兰教,连小布什这样的斗士都要服软。
《凤凰资讯》的实施辩论会常常辩论一些转制与民主的议题,卢卡尔博士似乎是一个坚定的保皇派,当然我们明白这也是节目的需要。
二月一日 阳光灿烂?好像是
假如每个人都允许去开创一门学科,我愿意去创立一门compuphylosophy(计算机哲学),所有的学生都讲究顿悟,天天不读书整天空想空谈,主课有三门:观天学(就是如我现在这样天天躲在带天窗的小阁楼里摆一个坐井观天状冥思苦想一些半痴半疯的议题比如machine-learning和automated-proof哪一个更优先?其实我自己都不知道这两者的准确定义。第二门课叫做扪心学,就是天天学孟子一般每日三省吾身,检讨自己的思维逻辑产生过程,扪心自问整理自己的思绪六座资料以便后世的compuarchaeology(计算机考古学)作为历史考据研究二十一世纪的世界。第三门课叫做...
今天是一个值得纪念的日子因为我的天窗可以在中午的时候洒下一绺谈谈的阳光仿佛《绞刑架下的报告》里的主人公所在的牢房在夏天最炎热的日子里能够看的那片短暂的阳光一样可爱,同样中午的土豆牛肉汤虽然已经反复热了n多天了仍然像小说中所说的世界上最美味的土豆牛肉汤。
计算几何学的算法题目我每天只能做那么一两道题,因为描述一个算法的时候往往发现自己的想法太粗了,这种情况我再写程序的时候经常遇到,也就是只有实际到算法的数据结构的设计阶段你会发现你的想法的漏洞,所谓不思则无惑,不行动则无挫折,从来不写程序的人几乎永远无法意识到思维的漏洞,当然这既仅仅限于常人,对预算法大师和数学大师来说,他们的首要任务不是去实现一个大体设计好的算法,因为这可以被一般的庸才如我辈来完成,他们所关注的时能否设计出一个更好的算法,这其中的差别不可以道里计。算法设计这门课我基本上是听个意思,明白了粗浅道里,比如strassen当局真乘法是颠覆历史的革命因为几百年来从来没有人想到过一个算法还可以这样玩,也就是常人认为是不可能的地方玩出了火花。惊叹之余感觉自己真的好好渺小啊。好久没有用笔来写作业了,每天写一两张纸扔进抽屉,然后把写废的反过来当草稿,估计要写个二十几张吧?其实凭良心来说,几何算法属于算法课里比较容易的,因为大多数时候画图就能找出方向,不想那种变态的NP问题的算法折磨头脑,只不过为了表述清楚就不大容易了,尤其是用笔来写。
晚上无聊之际写了一个极其简单的产生simple-polygon的小小算法,只不过证明我还活着,(其实我的确是这个意思,因为我思故我在,而我只有写程序的时候才思考的多一些,所以写程序证明我思考故而证明我存在。)不过意外地发现了一个奇怪的openGL的现象,就是GL_LINE_LOOP的最右边的点总是不清楚,奇怪真奇怪。
二月五日 阳光灿烂?好像是,不过零下二十几度的寒风吹的人想流泪 二月八日 阳光灿烂?好像是,不过零下二十几度的寒风吹的人想流泪
本来为了制作一个定时关机的小程序竟然折腾了一个晚上,确实win32api实在是有点烦人,一大队的函数的名字很难让人想到。不过转念一想,这实在是不得已,因为WINDOWS的东西要比LINUX复杂的多,有一个东西费了我很长时间没有想明白,就是我传入参数用HANDLE*竟然不行,一定要用&HANDLE,这实在是有些想不到。
二月十日 阳光灿烂?好像是,今天零下多少度呢?
太阳一天天地在长高,现在在中午时分已经可以依稀透过天窗看到杨光了,总有一天我又可以过上我最向往的生活:躺在床上晒太阳了。
二月十一日 阳光灿烂?好像是,今天零下多少度呢? 二月十四日 阳光灿烂?好像不是,今天又下雪了 二月二十一日 阳光灿烂?是啊,这是最暖和的冬天 二月二十三日 阳光灿烂?是啊,这是最暖和的冬天 二月二十六日 阳光灿烂?是啊,这是最暖和的冬天
顺便看到国内所谓的web2.0的网站要完蛋了,我感到很高兴,活该,什么叫做2.0?按照盖茨先生的说法根本就是炒作,完全不是什么技术名词,只是使用模式。为什么这些人的经营模式和古代的老鸨(老板)养妓女(子女)一个样呢?整天给她们的摇钱树(要钱术)梳妆打扮,花钱培训,全部都是投入根本没有打算马上经营,全部的希望就是既希望于给将来有钱的主一次性买断(号称收购),这样的技院(技术学院)不倒闭才怪。
二月二十七日 阳光灿烂?是啊,夏天就要来了,冬天还会远吗? 三月七日 阳光灿烂?不知道啊。天已经黑了。
从现在开始我要振作起来写我的project了,不然就太晚了。不过下个星期就要交作业怎么办?
三月九日 阳光灿烂?好像是的。 三月十一日 阳光灿烂?好像是的。
CreateFileMapping简直就是惊人的快,我做了一个非常简单的试验,用这个api和普通的readFile作比较都去读一个700M的大文件,结果简直就是可怕,普通的ReadFile读了13到15秒,而这个mapping根本就不需要一个tick,为了验证确实是读到了内存,我还特别拷贝了两段数据作比较来验证。实在是威力无穷。
三月十二日 阳光灿烂?好像是的。 三月十三日 阳光灿烂?好像还不是的。
答:你小子不会是在炒楼花吧? 三月十四日 阳光灿烂?好像还不是的。
但愿不是,因为我的预言十有八九不准,当然所谓占卜问卦之类信则有不信则无,多半是给自己找理由,所以我就不妨大胆预测。
1。台湾大选依旧是民进党主政,因为我觉得民进党代表了台湾大多数的人民的利益,什么是台湾的大多数人民?不是工商界人士,不是所谓中产的白领阶层,因为台湾远没有美国的富裕,中产不时大多数,台湾的大多数是台湾的农民和小商贩等等的lower
class,虽然不是农业社会但是农民在绝对数量上来说应该是多数,这些人需要民进党,因为国民党是什么?谢长亭说的好:权贵的第二代!
2。厦门的楼市,肯定还是涨啊,为什么?
a)供不应求啊,不是要什么农村城镇化,城市大发展吗?农民进城是必然的社会趋势,当然我这里不是单单再说农民工进城就业的问题,我说的是农村新兴资产阶级进入城市发展的问题,你想想看中国的经济发展一定水平产业资本和金融资本融合就成为一个主流,当初的福建乡下的工商业发展的一个方向就是进入大众城市。当然同样的大中城市资本乡下城镇发展也是一个趋势,这里就不谈了。
b)大中城市的房地产热决不是中央几个行政命令能够改变的,你想想看,政府卖地是越卖越贵,官员只知道用卖地的钱解决眼前的财政问题,绝没有去用这笔钱来发展廉租房,欠下的这个天大的债务要多少年来还?现在的很多房地产商都是在“捂地”,巴不得不要立刻建房,因为房地产的涨势还要维持很多年呢。问题仅仅是投资股票与投资房地产哪一个的回报率更高一些?这个问题我觉得我要做一个研究才敢说,我的研究方法很简单就是我们大家再一次一起玩一遍《大富翁2》看看投资股市和房地产哪一个更加的赚钱。哈哈哈。。。
c)中国的投资环境并不见得越来越好,因为政府的行政成本太高了,比加拿大都高,简单的加工工业肯定越来越没有市场。金融环境也不见得好,银行的呆帐太多了,庞大的现有资本要流向哪里?我估计除了古董艺术品就是房地产与股票市场了。
> 教授的答案如果综合考虑在2008年台湾大选之前你说楼市的结果会如何?
>
> 民进主政搞台独 * 土老板进城 * 国内投资环境的衰退 = ??
答: 台湾对大陆的影响日益减小,大陆对台湾的影响日益增大,所以,区区一个台湾省不足为虑,重要的是中国国内自己的环境,总的来说,五年内中国的经济还是会继续快速发展,因为: 1)早几年的所谓政府投资拉动基础建设的惯性还在持续。 2)人民币的升值不会一步到位,外资与热钱还会涌入。 3)国内的剩余资本还是无法找到合适的投资渠道,现在中国到海外投资十之八九是迫不得已与交学费。 4)投机之风日盛,工业资本向金融资本转变是一个资本主义发展阶段性的趋势。 5)老百姓的小康需求还远远未满足,购买力在提高,居者有其屋对很多人来说还是梦想,买房子成为最大的消费。 6)普通老百姓除了这个还有什么可以投资的?
花了一个早上时间在画furthest voronoi diagram,画的很高兴,因为这种工作是计算几何题里面最简单的活了,和写算法与证明来比这种工作要求的智商不超过70,最后五颜六色的很好看还以为自己很有成就的样子,就如同大多数报告写的很漂亮有很多花花绿绿的图表,内容却乏善所呈一样,是一种表面文章。第一问的证明farthest voronoi diagram是convex polygon还是毫无头绪。看看买菜回来以后是否有结果。
临走之前还是先把昨天玩createfilemapping的新的记下来。首先这个咚咚非常的快,使用的时候以一定的限制就是你程序自身的内存上限,和系统的内存限制。当然首先是系统的内存了,基本上我还只有很少的机会会用那些内存4G以上的系统吧,cluster里面是这样,现在还太早了。首先,create的时候那个size是指的从文件开始算起的,以后mapping都不能超过这个上限,哪怕你的偏移量很小也不行,其次,create的时候你有可能就破坏了文件,因为你的mapping如果超过文件大小,文件大小就grow了,我把我无数的下载来从来不看得avi文件就这样一个一个给干掉了。对于同一个mapping的handle你可以反复多次的mapping,因为,不这样unmapping,你的内存迟早会耗光的,另外一个不确定的就是会不会你的mapping不会自动释放,我对于这一点不确定,反正我在debug过程中犯了不少错误,为了防止程序debug中没有释放就写了一个atexit的handle去释放,但是还有另一个办法就是给mapping
handle起个名字,这样可以用名字来openMapping,甚至别的进程也可以调用,类似于systemV的interprocess
communication的key一样,当然会有冲突的可能。在linux里面的对应的函数叫做mmap。同时在mapping的时候有很多参数可以选择,相当的复杂,以后再慢慢地玩吧。
三月十五日 阳光灿烂?好像还不是的。 三月十八日 阳光灿烂?好像下雪了。
我时常会想起大学里看的一部科幻片《Hybrid》,大意无非是以危言耸听的方式来说教:我们要警惕我们伟大的科学家不负责任地创造了我们所不了解的噩梦,比如基因工程。骗子里面大概是一群学生和老师过暑假,来得宾客里面有不少是老师的试验成果,比如用各种动物的基因和人合成的人也就是hybrid,由章鱼还有其他鱼之类的,所以,你可以看到一个真正意义上的美人鱼叫做Melisa,也就是美杜沙的姐妹,当最后县原型的时候她的腋下市长着腮的。电影里面这个Melisa总说感到painful,其中原因当然有心理上的异类的原因,生理上的合成人的后遗症,据说她是被教授控制着,不定期服药就要现原型,而那重要毫无疑问的是非常得painful的,还有一个有意思的原因是她也如同鱼一样的睡不着觉,所以,她的台词总是I
feel painful.于是我也常常想到这个角色。
三月二十三日 阳光灿烂?怎么可能?
白痴级的问题在计算机里比比皆是,我经常犯这样的错,1-1是否等于1?哈哈,在计算机里应该等于1,因为这是我的白痴问题,我计算一块内存占用几个page,居然犯下如此的错误,特别提出来以警候效,page的offset等于0但是占用的page当然还是1,我以前就老是犯类似的低级错误,不过这种错误和其他的错误混在一起非常得难以发现,比如我发现library的文件读写和系统api的文件读写混用的时候会出现莫名其妙的错误,当然前提是我的CreateFile的handle后来又被用来进行fileMapping了,MSDN上对于mapping后的文件读写有些语焉不详,总之以后使用createFile就不要再用fopen来打开文件了。另一个令人生气的是我今天才知道executable的image是不能超过256M的,还有fileMapping好像也有一个上限,大概是2G吧,这还是可以理解的因为2G是user program的limit,另外一半是系统用的,这一点我早就知道,只是测试的时候发现似乎还有什么别的限制,(不确定),已开始始终认为mapping的次数由限制,现在看来是总的size的限制。特别要小心不要超出createFileMapping的设定的上限,我总是犯这样的低级错误,mapping的时候,起始位置必须是64k的整数倍,但是mapping的size却不是的,所以接下来我的数据结构应该是从page起始位置开始,这样内部我就不用再给每一个octree node计算offset了,就是0了。但是哪个我认为“几乎”不可解决的问题还是在那里,就是vertex和triangle不再临近所造成的一些triangle跨越octree node的问题,这实在是头疼,我想了一天才有一个办法,就是不再仅仅是triangle复制在多个node,包括vertex也要负知道多个node,但是这样一来我等于是vertex排序完时候还要再看triangle的分布情况在复制这样triangle的index又要改变,也就是说我原来的vertex的一一对应的所谓hashtable要变成一个linklist,因为一个vertex可能对应多个index在多个octree node,这样还能不能two-pass处理完实在是难说,现在预处理一次就要一个多小时,这样岂不是要更久了?要么就晚上运行吧。还有一个小问题说出来简直就是编译器relative addressing和absolute addressing的问题,我的数据写在一个个page里,当我load一个个独立的page时候,triangle的index只能是本节点的vertex的index,或者说要写他们的相对的index,因为绝对的index没有用了。还有就是初始化,一定要记住。
现存一个临时版本,准备写一个多线程的loader,同时要模仿某些PLP的算法。
青菜萝卜真的各有所好吗?
三月二十六日 阳光灿烂?怎么可能?
以上的空论也不是没有原因,看凤凰资讯的时事辩论会就明白了,在一个国家连温饱都没有解决的时候雄心勃勃要挑战大飞机的制造,难道中国的崛起就是说要在所有的领域都取代美国?这简直就是头脑发热的幻想,难道发达国家把自己不要的低级制造业转移到中国是亲率之举吗?难道一个连手机芯片都涉及不出来的国家能够造得出大飞机?不是说早不出,而是说能否成功商业化,那种早两弹一星的不计成本的国家投入不适合商业模型的。有时候看这种一体的讨论仿佛一个程序员看牙牙学语的小朋友写了一个helloworld就以为编程序不过如此的感觉,实在是懒得议论了。
ppstream上在播放《斯巴达三百勇士》仿佛是在某种程度上给国际时事作背书,究竟布什的伊拉克战争是不是一场新的圣战,究竟美国国会里有没有议员接受伊朗的铜币,究竟布什处心积虑不择手段地发动战争是不是要救世界于水火之中,这些仿佛都是一些没有答案的问题。不过但从CG的角度来看还是很值得一观的,仿佛是advanced
rendering and
animation课程里的NPR,就是non-photorealistic-rendering,很多的颜色和光影效果很明显的不真实,完全是刻意地模仿漫画效果,在这一点上很成功的,很多的theme让人联想起《gladiator》的场景,这不能不说是一点点地不足,不是说不刻意模仿,而且个人还是很喜欢很多麦田里的镜头,但是让人觉得导演的想象力的不足,但是从总体上来说,东方文化沉积太重的人大都不懂得欣赏,仿佛有人评论说《极品飞车》里的西方性感女郎不如东方娇小女孩来的可爱一样让我受不了,这应该完全是所谓“习惯称为标准”的误区,这一类缺乏逻辑支持的结论就和Dr.M评论NPR类似:缺乏坚实的理论基础越来越沦为artist的玩物。究竟邪恶的波斯蒂国是否应该被消灭应该不只是布什一个人应该考虑的,作为一个被宗教狂人所支配的危险国家如果没有美国这样的正义捍卫者,世界不知道要沦为怎样地混乱,所谓中国的崛起就仿佛是说一头山羊有一天学会了用羊角战胜豺狼一样令人难以置信,世界不需要一极,但是不能没有支配的一极,除了美国还没有一个国家能够担当这个职责。不论从哪个角度来看这都是以不知的收藏的电影,我决定2009年的时候当它的DVD价格降到10块钱左右的时候购买,哈哈这两年的娱乐开支都已经透支了。据我所知,我周围的人都不大懂得欣赏,对于国内的所谓垃圾《黄金甲》津津乐道,简直让我笑破肚皮,那种充满红黄庸俗色调的主体仿佛国内山西煤矿住暴发户刚刚争到第一桶金不知道该玩什么一般。再者说从CG的角度来看也是非常的初级,所以我只是迅速地看了几个镜头就准备删除,事后才想起来是给别人下载的。
三月二十七日 阳光灿烂?怎么可能?
看到网络上的少林寺烧香要6000元,我觉得一点都不奇怪,只有在发展中国家宗教才会被这么多的老百姓所笃信,因为别无可求,也正因为如此人民才会如此地被宗教蒙蔽。大多数发达国家并非劳动人民完全排斥宗教,而是说大多数人都把它当作一种个人爱好一样宽容,不去那么执著,同样宗教也不敢过分地如同开黑店一样。我去云南旅游的时候这种事情就遇到过,导游啦你去一个什么狗屁庙里面,然后清楚一个所谓的“高僧”,这小子也会察言观色,看来可是布什拖家带属,年龄气质是不是有中年事业小成的样子,然后斟酌着给你开列“购买清单”,比如又让你买香的,又让你开光的,价格不一,随机应变,当然这之前都是要发给你一张小纸贴,但凡在中国社会混过得都应该知道这和导游带你去购物商店里的回扣标志是一回事,我很多年前第一次去香港的时候被那些本地导游带到珠宝店还以为真的就是他们说的安全标志呢。小我这种无产无业的穷人小和尚们也奈何不了我,最多就是想讹诈我几个香钱,我转身就把那些个条子撕掉,我想这种无名的小庙还不太敢欺负人,碰上少林寺这种地方一个愿打一个愿挨,不宰白不宰,反正愿意去的都是准备扔钱的,不多要点我都觉得冤,问题是这样的所谓宗教还是照样有人相信。我给“耶和华见证会”的老太太们谈我对宗教的看法,我讨厌伊斯兰教,因为这真的是一个暴力的宗教,一手拿古兰经一手拿剑逼着你相信,不相信就一剑刺过来;我也讨厌佛教,不仅仅是这个组织的功利色彩,更主要的他仿佛是保险经纪,连哄带片就是要让你交钱,给了钱就说你不用下地狱,否则不出钱出了事情都是你自己的错,什么叫做破财消灾?这仿佛是我经常举例的那个经典的概率笑话,一个人认为同是有两个人不约而同地劫持飞机的可能性几乎为零,于是他坐飞机的时候就总是自己在手提箱里放一个炸弹做准备劫持飞机状,以为这样可以把被劫持的几率降为零,天知道很多受过所谓高等教育的人和无知的文盲没有什么两样。
我几乎可以肯定发现了一个编译器的bug,比如deque<int>::iterator it=myqueue.begin; 这个错误应该在任何地方都发现的,可是在for循环的初始化部分居然不做检查,不知道是怎么通过的,身不知鬼不觉地我的程序走向无穷。花了一个上午多的时间把我的旧的convex hull改造成使用STL,不知道我这么做是否值得,有时候我觉得我现在变得非常的执著,容不得一点点地不同。
一个人不可能两次踏进同一条河流,我却屡屡掉进同样的错误泥塘,我是不是就不算人了?简直是白吃的问题,文件的大小当然可以超过4G但并不等于文件的专用type:__off_t就应该是64位的。事实上windows的long和int是一样的32bit,和linux的long
long对应的时__int64,这个我去年在学组和算法的时候已经犯过一次这样的错误了,现在有时这样,记住了LARGE_INTEGER是一个union专门用来算32位高位和32位低位的64位整数,自己用shift毕竟有些罗嗦。Linux
device driver编程的时候环境设置其实很简单,因为uname
-r会给你当前用的source的版本名字,用这个在/lib/modules/路径下有时现存在那里的source和这个一致的,然后在这里有一个symbolic
link叫做build就是指向真正的source file路径的,所以在那里你当然可以用/linux/init.h
and module.h这连个文件里的定义基本上就明白怎么做了。只是那个小孩提到linux2.4版本要求module的函数必须定义为static的这一点我表示怀疑。不过进入这一步之后kernelprogramming不会有太复杂的地方,只不过有时候copy到用户的时候居然要用copy_to_user之类的,还有就是多线程重进入函数的问题,不过我想不会比在win98下写汇编程序复杂多少,总之没时间去玩了,就当作自己和白吃教授一样武断地说很容易吧。比较好笑的是我本来居然还怕出错一个链表的查询与添加居然用了两次,算是比较的白吃问题。
三月二十九日 阳光灿烂?当然了。
还有一个白吃级的问题是我居然完全忘记了课堂上教的Minkwaski sum结果把它当成了symmetric
difference写信去问教授,这实在是让我无地自容,我不知道班机上有没有另外一个会犯这样的愚蠢的错误。
三月三十日 阳光灿烂?当然了。
我现在看到ICE居然会处变不惊,checkin source safe,从容自若地去实验室改正我的out-of-core-rendering的最后一个bug,然后买了十个肉包子回来吃,睡了一会儿,心情镇定,举重若轻地在google的搜索栏里敲下了"Internal Compiler Error",然后轻描淡写地把一个三级嵌套的static data member的初始化取出掉后,轻而易举地化简了那个穷凶极恶的ICE,我是不是已经快要出神入化了?什么你还不知道ICE?那么你肯定没有玩c++超过三年到五年的经历,或者你太滥了,说错了,是太懒了,像我一样。
我真的饿了,快半夜了我都已经忘记吃饭了,阿伟大来电话我才想起了肚子很饿。我这中间做出了一个痛苦的决定,放弃DCEL,因为他真的对我没有多大帮助,而且实现起来有些问题,不是说指针编程有多么困难,主要是我对预算法不很清楚,我的应用和书本上的算法有出入,同时,使用STL对我来说更容易,并且程序的效率不是主要的因素,复制数据要远比复制指针来的简单,安全。更主要的因素还是时间,Unfortunately time is always against me。吃个pizza,喝杯红酒,不知道今晚能不能完成一个大框架,时间实在是不多了!!!
困死了,总算成功了一部分,明早再改bug吧。
四月二日 阳光灿烂?哈哈,下大雨了。
实际上,我还有一个比project更令人头疼的作业没有完成,computational
geometry的作业绝对是我所难以完成的,一个算法题想了一两天也没有头绪,一个证明有一点点地眉目以为有结果了,可是一些下来发现其实不对,所谓Q.E.D.并非那么容易写。突然又想到了我的octree想到了一个问题就是我预处理的leaf-node的邻居实际上并非都是leaf-node,本来想改掉后来又发现不行因为我设定了最多的邻居只有26个,只能在运行期再去搜寻了,当然这会慢那么一点点,可是没有办法呀。糟糕的事我现在看我一个星期前的代码已经全然忘记了,发现了一些全局变量非常的危险,因为如果我一旦命名上有些模糊我自己都会搞错的,这就是软件工程的困局,人的记忆力是那么的有限,对于程序代码的记忆就更加的困难了。当然没有人主张记忆代码可是你能保证你每次看到同样的代码会做同样的判断吗?
四月三日 阳光灿烂?哈哈,阴天。 四月四日 阳光灿烂?哈哈,阴天。 四月五日 阳光灿烂?昨晚下起了鹅毛大雪。
真是没用!仿佛九方皋相马把马的公母搞错一半,我想一般人都不会犯的错误。。。我想我需要的是睡眠,为什么总是在这个时候想起那个叫Melisa的美人鱼。
四月六日 阳光灿烂?昨晚下起了鹅毛大雪。 四月七日 阳光灿烂?昨晚下起了鹅毛大雪吗?
没有地方存文件了,就把TrianGO的slides放在这里吧。
锐气挫钝是否要修整再战?只要我能够在两天之内拿下这个战役的胜利,就可以奠定全局的胜利!决定以牺牲两百万个脑细胞的代价争取在两天之内解决战斗,在第三天的白天写demo的slides。今天晚上发起外围战斗用bunny来做测试,明天发起总攻。在斯巴达的法律中士兵是不允许撤退和投降的!
四月八日 阳光灿烂?好像不是吧,依稀记得天上飘着很细小的雪粒子。
从故纸堆里挖掘出了我的GPUprogramming的作业,不保存一个版本以后说不定就永远忘了放在哪里了。
四月九日 阳光灿烂?没有大太阳。 四月十一日 阳光灿烂!为什么我知道?因为下午的阳光从窗玻璃反射到我的脸上。 四月十二日 阳光灿烂?下雨了。
春天来了,窗外淅淅沥沥地下着小雨,日记里也刚刚把雨写了下来,突然之间天窗上滴滴答答的雨声停了,天空飘起了鹅毛大雪,海鸥在浓密的大雪片里艰难地翱翔,气温很高,让人怀疑是不是夏天已经到了。是啊,春天来了,冬天还会远吗?
当Dr.M问我octree的leafnode太大的话有什么问题时候我并没有意识到它的用意,现在才明白他也许故意不像点醒我或者当时没有时间向我解释,总之我花了快一天时间才发现了这个不算是非常白痴的问题,首先我认为我是不太可能第一时间意识到的,所谓view-frustum-culling只有当你的box比view-volume要小很多的时候才行,否则你的box都可以包含view-volume会怎么样呢?其次网上那些所谓game-tutorial的范例code都有毛病,就是没有考虑floating-point-error,这是程序员的通病,包括我到现在也很难养成习惯考虑大整数的问题,现在的数量大约是12M的triangle,将来要用int64又要改,啊,饿死了,不管了。
最近觉得我的视野又有所提高吧,经常有种玩得就是心跳的感觉,那是因为不时的游走在系统的边缘的缘故,这常常需要完全不同的考虑。哈哈。。。自夸自擂一下。
四月十三日 阳光灿烂?做梦呢。 四月十五日 阳光灿烂?做梦呢。 四月十六日 阳光灿烂?好像又下雪了,是昨晚下的吧。
改作业实在是很烦人的事情,尤其是读那些document,我感觉读code有时候还省些事情,至少容易懂一些。当然抱着学习的态度还是会有很多收获的,比如你可以学到很多关于webservice的冬冬,尽管我对于这个毫无兴趣。
我一直以来都认为欧洲人不大会拍电影,似乎除了好莱坞别的国家都没有电影特技,不过<Pan's Labyrnith>也许有一些值得注意的地方。电影的语言我至今不清楚,好像是西班牙语吧,是有一些超现实主义,大概是一个政府军上尉的可爱的女儿的故事,这是一个钟情神话的小精灵,现实实在是太残酷了,他的父亲是一个对待反抗组织毫不留情的残忍的军官,Too much blood has been spilled so easily. 而他的女儿在幻想与现实间的徘徊,当然那个所谓的天国国王的小女儿的砖石投胎只不过是为了让过于血腥的线是有些美好的幻想而已,也当然是为了最后悲剧的结局有一个幻想的圆满而已。小女孩一步步地找回返回天国的道路和他的父亲一步步地追杀革命党人士故事的两个平行的线索,有很多镜头实在是让人非常地震撼,比如树精的造型,帕金充满甲虫的树洞和大蟾蜍的交谈,最后大蟾蜍突出一个硕大的粘粘的液体球上面粘着钥匙,找好像是小公主的第一个拯救枯死树木的任务并取回打开密柜的钥匙,实际上当然是隐喻自然界的生物并不像人类一样彼此杀戮。第二个任务是从恶魔的盛筵旁的小鬼子里面取回神圣匕首,需要用到第一个任务里的金钥匙,那个无眼恶魔专吃婴儿,两个眼珠平常好像假牙一样收藏在盘子里,要用的时候再装在手掌心里,也许这是说战争中最大的受害者是儿童吧,听上去像是大赦国际的口吻。最后一个任务是Innocent Blood,要用第二个任务里拿到的金色匕首来祭祀小精灵的弟弟的,她弟弟的血就是InnocentBlood最后她不忍心用弟弟的血结果被随后赶来的她的父亲开枪打死,于是InnocentBlood就成了她自己的血,任务完成了小公主重新回到了天国功德圆满,其实有谁会信这一套鬼话呢?事实上整个电影中现实中她的父亲亲手杀死的革命党人不计其数,很多镜头要比怪诞的鬼怪造型更加让人可怖,比如她的母亲为了保护小公主把她的父亲嘴角割裂,他的父亲对着镜子自己用针线来缝伤口,以前看<Terminator>使机器人自己把眼珠子抠出来因为是机器人不觉得什么,现在看真人这样做实在是很难忍受。导演的主题是反对战争反对杀戮采用这样超现实的怪诞手法表现自己的感受吧。当然主题很简单,大概就两三句话而已,This is a cruel world. There is no magic in this world for you or me or anybody else.
I still don't understand why
mutex and thread behaves like this.
四月十七日 人间四月芳菲尽,蒙特利尔雪正急。
这个问题应该不算是非常白吃的问题吧,应该是理解力的问题,人这种动物常常以为自己看到的就是自己明白的,自己读过的就是自己了解的,至少我是这样的,如果我还没有被开除人籍的话,反正中国籍是被开除了,使我自己开除的,应为那个封建专制家买办官僚资本主义社会给我的全部印象就是人压迫人,人剥削人,人吃人。。。回到线程与mutex的议题,一个线程,(不论是主线程还是什么线程)在创建“匿名”mutex的时候可以声明所有权,这句话我读了n多边仿佛跟没有读一样,这就是一个人白吃的地方,什么叫做所有权?无非就是你已经免费不需要再用WaitForSingleObject的一样,同时MS善解人意的地方就是所有者可以连续再次wait这个本来设计的目的是线程自己不会自己死锁,因为你已经有了还想要,要了还想要,要了还想要,要了。。。够了!你有了就不可能有第二个,这就是mutex,如果你还想要,如果没有特别机制就会死(锁),其实,如果MS没有这个可人的设计我会第一时间发现我白吃的地方,但是为什么MS要这样用对待白吃的方法对待准白吃的程序员呢?结果准白吃的人还是犯了和白吃一样的错误,其结果和白吃一样,所以。。。总之这个问题实在是太初级了,我都不好意思用英文解释,否则丢人就丢了我现在祖国的人了,还是丢以前祖国的人比较好。总之要么创建者没有所有权大家一样在同一起跑线,要么你这个拥有者先得了,就是mutex已经non-signal了,这时候你不先release还要再去wait等于wait-counter有多加了一个别人当然永远都得不到,wait之后的release仿佛大贪官说我要还政于民一样无耻的欺骗。
读MSDN才明白我以前化了很多时间做的都是标准的东西,比如RunLengthEncoding应该使用现成的库来做,不是说自己做不好,因为也不是特别复杂,BC的地方时不在本机调试测试却跑到cluster上浪费精力,这就是BC。
在这个世界上只有两种人,一种人玩程序,另一种人被程序玩。如果你喜欢比较粗俗的说法可以向王朔对待文学的态度一样把这个“玩”字换成你喜欢的动词,比如“操”,“程序”换成文学。
很惊险的一幕!我用partitionMagic7区增加一个partition,不小心让他改正了所谓的磁盘文件,因为他说的信誓旦旦我就相信了,结果可能是把Fedora的双操作系统的启动文件破坏了,结果我一个操作系统也进不了了,先尝试恢复Fedora,它比较笨,不答应,后来尝试windowsXP,结果说是找到了旧的windows目录要覆盖,吓得我赶紧退出,正不知所措之际,居然重新启动就回来了,大概是把那个原本的最早的windows的loadstrap恢复了吧。总之那种古老的磁盘工具是千万不要再用了,太可怕了。
四月十八日 人间四月芳菲尽,蒙特利尔花不开。
搞了一个上午才参照着同学们的作业做了一个最简单的mutex,可使用signal做测试的时候发现那个sigaction用的还是不对,还不是safe-signal因为semop会被signal打断,因该在那里屏蔽呢?吃完午饭我就什么都不想干了,这就是human,就凭这一点我就配被称作一个人。
VC6在头文件里面定义的类的成员函数的实现在class的prototype里面时不承认的,这个可能和原来的模板类的问题是一样的。
一般的腐儒又会跳出来倡导在美国社会禁枪,这简直就是天方夜谭,完全是天真幼稚可笑,两亿支枪怎么禁?禁来禁去只会让善良的人更加得没有安全感,伊拉克是不是比美国更应该禁枪?可能吗?
四月十九日 人间四月芳菲尽,蒙特利尔花不开。
你知道为什么这样的code不对呢?对于semop传入一个sembuf的数组,对于同一个semaphore采用两个动作,一个是0,另一个是-1,这样的code在做什么?是一个pass-and-setback就是说这个是没有用的,因为你不应该把两个动作同时作,你要分别做才能有critical-section,而且,这连个动作的先后顺序决定了是否通过,比如0在前,-1在后就死锁,-1在前0在后总是可以在"release"的一刹那通过。这个问题实在是太不好解释了。总之那些小孩从网上下在这样的code是自欺欺人的。
四月二十日 人间四月芳菲尽,蒙特利尔花不开。
关于VT惨案我看到很多评论觉得很可笑,因为很多人听到说枪手是韩国人不是当初报道的中国留学生顿时松了一口气,这有必要吗?难道说美国主流社会会这样是非不分地把这件事和一个国家联系起来吗?这是不是以小人之心度君子之腹?难道大家不明白这只不过是一个个例,他个人的问题?难道中国没有精神分裂,没有妄想狂?难道大家不知道中国的残障人口世界第一吗?难道留美学生人人都是心理正常的吗?
四月二十二日 人间四月芳菲尽,蒙特利尔花不开。
Ignorance is power!
无知者无畏!你懂得越多你就越不知所措,Knowledge is
power!有时候也是对的,可是那都是对于那些真正懂得运用知识的人,也就是真正理解知识的人而言的,所以从概率上讲绝大多数情况还是无知的多,一星半点的知识反而害了你。所以无知者无畏。终于下载了一个paragon-partition-management把我那台电脑分区成功了,现在linux与window共享一个fat32的分区,接下来要用nfs来共享linux文件系统,同时试验是否那个licence可以在linux下使用,但愿成功,否则我也不知道怎么办了。
四月二十三日 人间四月芳菲尽,蒙特利尔花不开。
想要自己编译一个现成的jpeg的苦却折腾了快一天实在是白吃级的错误,其中的macro屏蔽了一部分函数我却总以为是自己什么地方搞错了。
四月二十五日 人间四月芳菲尽,蒙特利尔花不开。 四月二十六日 人间四月芳菲尽,蒙特利尔花不开。 四月二十八日 人间四月芳菲尽,蒙特利尔花不开。 四月三十日 乍暖还寒 五月一日 乍暖还寒,
突然变得很冷 五月三日 乍暖还寒,
突然变得很冷
听“阮次山”评论马英九觉得非常的贴切,一个绣花枕头中看不中用,扭扭捏捏不堪大用,经济是外行最多就是一个只能四平八稳坐办公室的庸吏而已,这一点在台湾除了不通世事的阿公阿妈和少男少女以及头发比较长的一类都明白,所以民进党虽然看上去不好实际上要比国民党好的多,至少台还是代表了台湾的下层阶级的利益,最起码选举的时候还可以给老百姓发少酒肉粽之类的总比国民党空谈什么亚太营运中心的口号强得多,的确这个口号和共产党的三个代表一样是TMD的睁眼说瞎话,什么叫做资金可以开放技术不能开放简直是自欺欺人一样,实际上现在的技术人工成本的差距远大于蓝领工人的工资差距。可见马英九完全是一个庸才,全无主见,更主要的是他的确如同李登辉一针见血的所指出的那样心里总是记挂着权力。当然我更加的讨厌这个老杂毛,不过老辣还是让人不得不佩服,所以不以人废言。
看李小龙的《梦龙过江》甚是好看,而且香港片里的女主角从来没有一个长得这么漂亮的,哈哈。查了一下google原来女演员叫做苗可秀。
五月四日 乍暖还寒,
突然变得很冷
如果算法确定了编码的确可以做到机械,可是这个前提是你要搞清楚算法。
五月七日 春寒料峭
遇到一个有意思的问题。下载到了寻找多时的千百惠的一张专辑《每一次想你的时候》,不过我记得从前买的CD的标题不是这样,不过anyway,的确很喜欢这张专辑上的很多歌,很难找到的。晚饭前碰到从前同学地太太,被邀请参加家宴,哈哈蹭了一顿饭。
记得昨天在回家的路上常常萦绕的一个问题就是“自由的代价”。年轻的时候并没有多少体会,依稀记得当时买正版游戏做收藏,不少游戏其实不会玩也不太喜欢玩,其中有一部游戏仅仅是喜欢她的名字就买了好像还是一百多块呢,就是《自由的代价》,他的答案叫做:The
price of freedom is to keep at alert
forever.如今已经再也没有少年不识愁滋味为赋新词强说愁的资本了,只能无奈地对自己说我知道自由的代价,不过我不想告诉你,因为我知道你不会愿意付出这种代价的。
五月九日 天气渐渐地变得暖和了
温家宝我个人认为原本就是一个看守内阁的角色,这么说是因为这个人全无个性,除了没有明显的优点以外再也想不出来他有什么值得称道的。遇到今天中国金融危机毫无作为,也无任何办法,犹豫不决,胆战心惊,迟早这场股市的灾难要导致中国社会经济的总危机的导火索。难道中国的经济崩溃会在2008奥运会结束之前就到来了?想想看13亿人有一亿股民者还不算是泡沫哪还有什么是泡沫?只不过共产党内忧外患宁可希望撑死也不想饿死,可是两种死法结果有好坏之分吗?
马英九也是一个绣花枕头,明明知道王金平不是好的搭档,那么就明说,难道这点破例都没有还想什么当什么政治领导人?就凭着一点任何一个有头脑的选民都不会投票给这个good-for-nothing。清廉有什么了不起的?除了不贪不渎难道就是一个合格的领袖?真是笑话?在西方制度健全前提下,领导人更像一个守金库看门狗,人民不需要他有什么大的作为,可是在东亚发展中地区领导的作用远远不是这样。
五月十日 天气渐渐地变得暖和了
我始终认为debug的过程和detective办案的过程非常地相似,首先如古钿任三郎一样从极细小的不同寻常处认定可能存在bug,然后从蛛丝马迹中推理拍出一个个的可能,当所有的可能都被排除了,那么要么你遗漏了什么可能,要么你的排除过程出现了错误,以上两种可能至少有一个成立。比较蹩脚的真谈会同时发生两个可能,这也许会让你感到及其的困惑,所以尽量保证唯一性实在computer-science领域生存的首要任务。我可能已经快要发现了我的错误,没有做任何的index变换都会出错这就是我的问题之所在,明天早上解决好吗?我很饿了。
五月十二日 天气渐渐地变得暖和了
春光明媚,我决定爬山去,顺便在一次尝试做面包,这一次看清楚了tablespoon是大的,teaspoon是小的,盐少加1/3,糖业少加1/3,再试验一次。突然想到我可以上皇家上看那本刚买的达尔文的书,然后回来吃自己做的面包。临出门前突然从一个很久没有打开的储藏箱里面找到了久违的凉鞋,又从一个很久没有用的书包里面找到了久违的潜水镜,简直就像RPG游戏里面寻宝的过程。
五月十四日 天气渐渐地变得暖和了
在魁北克城的停车场里读一读达尔文的简介也是一种享受,作者开宗明义地指出这个伟人的伟大业绩来源于一系列的偶然,这种坚韧和一根链条都处在断与不断的边缘,仿佛《蝴蝶效应》里面任何一个微小的变化都回全盘改变人生的旅途,可是这一切的偶然之间似乎又有着某种必然,仿佛《时间机器》里任何的干涉改变了当事人的某个人生事件却难以令人想象地在另一个相应产生的新事件里的依旧实现,让你不禁与时间穿梭人发出同样的惊叹:难道冥冥之间真有宿命?
看到一个神奇的东西,可以在xp里面强行改变密码,用net user administrator
**。这里的**是“shift8”。
五月十六日 天气渐渐地变得暖和了,可是突然下雨了,又变得很冷 五月十九日 今天是个好天气 五月二十二日 今天是个好天气
每次去实验室或者图书馆我就会睡着,回到家里我又睡不着。
蒙特利尔的樱花开了,开得那么灿烂以至于我这个对于花草一向不感兴趣的人也为之有些倾倒,樱花是这样一种花,灿烂的日子是那么的短暂,而盛开之时又是那么的全身心投入,枝叶的每一寸都是花簇,仿佛用尽了心力来表达自己的激情,走在低垂的花枝中你的眼前鼻端都是绚烂的花瓣,也不知道是我在花海中徜徉还是花朵在我的心海中荡漾。配合着娓娓动听的西班牙古典吉他你的心弦都会被飘飘洒洒坠落的花瓣轻轻拨动,漂浮的脚步不知道是怕踩着了落英满地还是我的心房被暗暗袭来的花气熏陶成酥酥然,和弦的激越颤动下几片落花的缤纷让你稍嫌惋惜,转瞬间流水般的音律让脚步轻飘着滑过花海。。。
五月二十四日 今天是个好天气 五月二十五日 今天是个好天气,我的带天窗的小屋和烤箱一样热 五月二十六日 今天是个好天气,我的带天窗的小屋和烤箱一样热
我觉得W的花很有道理,看水平比你高的人的代码你很可能看不太懂,或者不明白其为什么好,看水品比你低的人的代码很可能你大多数时候是以批判的态度来看未必会认同,所以,基本上不用看别人的代码,哈哈。。。你会发现我漏掉了水平相同这一条,在STL里面标准的“相等”使用!<>来实现的。
五月二十七日 今天突然变冷了,提醒你这里不是热带 五月二十八日 今天突然变冷了,提醒你这里不是热带
所谓《TLS》就是三个女人和两个男人的恋爱故事,最后两个女人得到了他们心仪的男人,而另一个女人出走海外不知所终。
所谓日剧就是给资本主义赤裸裸的金钱关系披上一层温情脉脉的外衣。
五月三十日 今天突然变冷了,提醒你这里不是热带 五月三十一日 今天突然变冷了,提醒你这里不是热带
问:你彻底成了加拿大人民了? 这是一次国人的绝地反击!
是啊,我在我来到这里的三年后的第一天就义无反顾地递交了公民申请全心全意地把加拿大当作我的祖国了,基本上我对于共产政权是深恶痛绝的,可以说公有制是一切腐败的源头,想想看把大家的财富交给少数人支配不产生腐败天理不容啊。当然私有制也是犯罪的根源,但是犯罪可以让法律去制裁,而公有制的贪腐确实收到制度保护的,这就是作为中国人的悲哀,所以,我坚决地在第一时间就放弃了中国国籍。我常说所谓的“流氓国家”的人民并非流氓,但是流氓政府里面的官员却个个都是流氓,所谓“人民代表大会制度”是一个全世界的民主笑话,把一些所谓的社会名流请来每年装点门面开一个星期的会,这些人都不是职业的政治家,都是一些业余的代表,在不到一个星期内去审议什么议案这不是天大的笑话吗?这不是所谓的民主橱窗是什么?资本主义是金钱政治,所谓的“社会主义民主”则根本就没有,还是封建帝王制度。
美国的民主也不是一蹴而就的也是人民自发起来争取的,人民的权力只能人民自己起来维护,正如“共产国际”所说的“从来没有什么救世主,只有自己起来革命斗争”(杜撰的),现在的所谓共产党根本就是一个挂羊头卖狗肉的封建王朝,当初找了一个注意号召人民起来造反,成为他们改朝换代的工具,然后就继续骑在人民头上作威作福。(这些都是这个政党掌握争取以前形容自己的政敌的术语,今天用在他们自己身上感觉特别贴切。)所谓人权运动在六十年代开始的时候也是从反战环保这些人民最基本的切身利益话题开始的,我相信我们正处在一个变革的门槛,一个革命的大时代,一个风起云涌的年代的开始,请继续奋勇向前。
我继续在这里遥祝革命同志胜利成功,我则继续坚持敌后斗争,加拿大也是一个对敌斗争最前沿,鄙人决定从现在开始努力锻炼身体位长期打游击作物质与身体上的准备。
谨再次祝各位六一儿童节快乐!
加拿大马克思列宁党蒙特利尔支部党外成员(长期拒绝交党费一次也没有参加组织生活,一次也没有参加投票。哈哈。)
MARXIST-LENINIST
PARTY OF CANADA
(请注意不是加拿大共产党http://www.communist-party.ca/
很有意思地,我看到这个政党的2007的演说只提到世界上仅有古巴,玻利维亚还在继续共产理想。)
http://www.cpcml.ca/
《时效警察》的女主角很可爱,属于那种故意将美丽掩盖的女人。
一个人缺少什么就向往什么,一个社会也是这样吧。日本人喜欢拍侦探片是因为缺少犯罪吗?比如看过英国人拍的《热血神探》把英国的警察挖苦得一塌糊涂是因为英国的警察廉洁高效的让公众都受不了了以至于希望他们能够向中国的警察一样稍微的腐败一些,类似的中国人根本不肯去看这类片子,我们当然是要看什么清官,明君之类的东西,因为我们缺的就是这个。我经常喜欢看《糊涂侦探》《憨豆博士》之类无比傻的东西因为我也缺这个。(哈哈。。。饶了一大圈还是这个自夸的主题。)
六月一日 今天下雨了
看到六一节厦门游行抗议重污染化工投资项目的视频,感觉人民在觉醒,迟早有一天会认识到这个所谓的人民的政党实际上是世界上仅存的几个独裁封建统治而已。
六月二日 今天天气很好,早上去爬山,晚上准备参加环城自行车 六月三日 今天天气很好,早上去参加万人环城自行车活动了
看了田中正和的《Farewell Mr. Primier》感觉是振聋发聩,虽然我一直没有机会欣赏《Yes,Prime Minister》,对于《West Wing》也没有怎么看,可是我敢肯定日本能有这样的政制讽刺时事剧说明日本的民主政治已经完全是欧美的水平了,过去我所看到的听到的都是什么日本政治的丑闻,什么议院在议会打架,贿选,与黑道勾结,自民党把持朝野,总理大臣连轴更换,可是现在反过来想一想,一个政府的总理如果不得不面对民意而被迫辞职的话正说明了政治的民主与清廉,不是吗?只有暴君才会不顾民意,或者漠视民意,一个内阁成员被描述成只会与媒体周旋也未必说明是坏事,因为为民喉舌的媒体就是民意的媒介,可以将民意表达也可以将事实传达给民意接受民意的反馈,难道还有什么更有效的反映民意的媒介了吗?人民代表大会?(不要再开这种玩笑了吧?我觉得一点都不好笑。)把日本的总理大臣描述成一个白字连篇的无能之辈,巴内阁成员描述成宫廷小丑,把总理夫人描述成俗不可耐的贵妇人,把总理女儿描述成考不上大学的普通女孩子,把副总理描述成尸位素餐整天打瞌睡的老头子。。。这一切并不会让国民对于政府失去信心,因为发达国家的人民不是白痴,他们知道总理大臣也是人,谁在这个位置上都不比谁强多少,只要他是一个老师可靠的正常人不把国家拖进不可理喻的选我就行了,反正政府本来就应该是人民金库的看门狗,需要的忠诚胜过智慧。
OpenGL: gluLookAt的使用每次要清零,因为我的做法是移动camera。另外,所有config里面的常数都要使用unsigned省得遇到0xFFFFFFFF变成-1的笑话。(常数怎么会变呢?因为我用常数去计算常数,这就会有问题的。)终于找到了一个当初百思不解的问题的办法,这也是我当初怀疑肯定有的,因为这是一个非常普遍的问题。colorBuffer里面读取小方块然后要发送在networkbuffer里面很讨厌不是线性的,所以当初就应当把跳跃的row读成线性的,这个是在pixelStorage里面定义的。
六月四日 今天天气很阴沉好像还下了雨
很多年前的这一天我从徐家汇步行二十几公里到公平路码头乘船回厦门,因为那个时候公共汽车已经没有了,看到youtube当年的一些片断可以想象当时很多人在另一个城市死掉了,正如同中国几千年的封建统治中不断死去的人一样很快就被大多数生存的人忘记了,如果鲁迅还活着或许会写一篇《为了忘却的回忆》作为埋葬一些记忆的悼词。这个世界上的生物按照进化论的规则活着,唯一的目的就是为了生存,这是自然规律,其他都不重要,only
this
matters。所以,其他一切影响你的这个唯一目的的任何想法都应该抛弃掉,因为这不符合自然规律,除非你并不打算理性地活着。
六月六日 今天天气很阴沉好像还下了雨 六月八日 今天天气很好,剃头明志,骑车上山
很难想象国内有这么多人都是学计算机却没有从事这种相关的工作,也许是在中国计算机的应用被廉价的劳动力所阻碍了,但是总有一天资本家会发现雇用工人是一件很麻烦的事。比如我常常和朋友说起一个古老的故事,在美国二三十年代,煤矿工人不比今天的中国的煤矿工人好多少,每年死的人也是上千的,工人不断地争取自己的权利,那时候美国煤矿主很强大,象洛柯菲勒之类的美国大家族都是开煤矿的,他们甚至雇用打手扛着机关枪镇压工人,死了不少人,最后联邦政府不得不派军队镇压。后来石油成了主要能源,资本家发现采油比采煤方便,雇用工人也少,同时采煤尽量采用机械化减少工人,当然就减少伤亡事故了。所以西方的资本家也是一样当他们发现雇用工人不合算他们一定就会多花钱使用机器,中国的工人权益完全没有保障,很多打工妹仅仅是糊口,老了根本不可能攒下一分钱,这个局面老百姓是肯定不会长久接受的,所以,在不久的将来中国的人工成本会大幅度上升。 人民币升值带来了通货膨胀的副产品,这本来应该是中国经济学家应该考虑的问题,结果这些人因为没有吃饱饭都去炒股票做顾问赚钱去了,最终这些关系国计民生的大事落到了发改委的几个工农兵大学毕业的领导头上,领导吃饱了喝足了拍了一下肚子,旁边的三个刚从人民大学经济管理专业毕业的所谓硕士研究生听出了肚子里面的回音不同寻常,于是定出了一个头疼医头脚疼医脚的行政法规,第二天,老百姓听出了昨晚唱卡拉OK时候长官走调里的玄机,即时地抛售自己的股票,晚上家宝听到凤凰卫视的时事辩论会的话题打电话给证监会,结果长官的指示在一次地演变成一轮新的行政法规的矫枉过正。这就是中国式的经济模式,难怪美国的经济学家看不大懂。 星期六跑步皇家山,星期天骑车去西岛。
有的时候一个人的脑筋就像是浆糊,因为我一次性把整个colorbuffer都读出来了结果分块读写变得很困难,可是如果我当初就是分块读写的话,还会有这个问题吗?rasterPos只是对于写buffer有用,对于读buffer毫无用处,因为使用的是windows坐标,这个是从左下角开始的,小于零的话是不可知的,而openGL标准的原点经过transfer是在screen中心。如果你用glOrtho的话就可以像读写2D一样,(这是废话,因为ortho本来就是2D),写的时候openGL会检查rasterPos如果超出范围自动取消所有的写,可是读的时候并不报错,但是你可能会读到垃圾。奇怪的现象是不可预测的。所谓的perspective,orthogal并不神秘我以前脑子就是一团浆糊是中不明白这只不过是一个projection的matrix的不同而已,如果ortho的参数区的事screen的宽度当然你就可以用实际坐标来定义rasterPos,否则就是一个ratio。
六月九日 今天天气很好,剃头明志,骑车上山
铃木保奈美饰演一个超级庸俗的总理夫人,一个饱食终日,低俗无聊,朝三暮四,耐不住寂寞的贵妇人,对于她所代表的这一类型刻画的淋漓尽致,一个typical的女人。
六月十日 今天天气很好,骑自行车去西岛
街道厦门来信,国内对于新闻媒体的封锁可以说是变本加厉,让人义愤填膺,特此破例在鄙人的这块自留地转贴出来,咱们且看看中国的网络警察什么时候会把我的这个自留地过滤掉。那个时候本人算不算持不同政见者了(dissident)?
六月十一日 今天天气很好
带着无限的怅惘与恋恋不舍和田中正和饰演的“总理大臣”说声再见,实在是太棒了,这么结束实在是太可惜了。
六月十四日 今天天气很好
今天,待到下午筋疲力尽,读color-buffer总是不太对,当然再次强调一下little-endian是把integer的低位映射到开始,就是从低到高,记住了!windows里面dos里面就有ftp的命令,mput,mget什么时候玩一下。
六月十五日 今天天气很好
常常看《凤凰资讯》的有关台湾的消息,总的感觉是有些不可理喻,比如选举中每个人的选票都是自己决定的为什么要看民调,别人怎么选是别人的选择跟自己有什么关系,为什么会有影响?除了所谓“桩脚”绑票卖选票没有什么其他理由,总之一个感觉就是愚蠢。然而,经常看大陆的新闻唯一的一个感觉就是可怜,有的省整个省都是奴隶制的黑砖窑,你如果相信当地的共产党官员没有参与那就改姓白吧,就是白痴的白字,如果你还向水浒传里的宋江的所谓官员腐败皇帝还是清明的傻话你干脆不要再改姓了,因为你hopeless了,难道当时的宋神宗仅仅是喜欢业余时间嫖一嫖李师师这样吗?老江也许是真的喜欢宋祖英,但是小宝和小涛是真的不明白地方官员的作为吗?政治永远比老百姓想象得更加黑暗,这是一个定律。厦门的游行是一个和平的请愿行为,当地的小老百姓无非是为了最基本的生存权提出自己的疑问,当地的地方官员居然出动这样大批的军警,士兵警察比示威者还多,这有必要吗?是市政府的办公在节假日被干扰了吗?星期天示威一下有什么关系?连这个都要限制是不是太过于惧怕民意的反映?
说了很多其实只是想跑出一个长久以来的经典的黑色笑话。一个老头老得连路都走不动的孤独的老头经常在阳光灿烂的日子里拿着一把雨伞散步,毫无疑问总是被一些好心人提醒老人家要多看天气预报,最起码出门的时候看看天别做傻事。你认为老人会怎么回答?他会说我宁可被人误解为愚蠢也不愿意被人来可怜,因为我的雨伞是我的拐杖。在愚蠢与可怜之间,我们都回毫不犹豫地选择前者。
实验室的印度小孩居然拿这个小孩子的玩意来考察我的IQ,哈哈,难道我不能在十分钟内解答这个小孩子的玩意吗?要知道在这个世界上只有最顶尖的人才能去研究AI因为那是研究智慧的智慧研究,我虽然没有资格去做但是难道会比普通人还笨吗?绝对不会的,Bill Gates能做到的大多数人也都可以做到的,只要你有能力在拥有全世界最大的个人财富的时候把他们全都捐出来,你能做得到吗?如果不行,就不要说你比他强了,因为这一点才是世界上绝大多数所谓聪明人做不到的,对于多数人来说如果把享受财富抛开了追求财富还有什么意义呢?
昨天动用今年度假的预算购买《是的,大臣》,现在的小孩子大都没有听说过这些,他们只知道NBA和prison-break之类的,实在是没有什么共同语言,拿到了再作评论吧。
六月十七日 今天天气很好吗?明明下了一场大雨。
我喜欢《围城》的说法,套用到现实社会就是这样子的,政治原本就是一棵树,政治家都是一个个争先恐后爬树的猴子,当他们还没有开始往上爬的时候和我们普通人平起平坐,你是看不到他的红屁股的,当他爬到一定高度的时候为别人所关注的时候,普通人都会看到他的红屁股,其实人人都有红屁股,并非我们没有,只不过自己看不到自己的以及和自己面对面平等的人的红屁股我们通常也难以看到罢了。可是对于这些爬树的猴子的红屁股,西方民主政治是观众也理解,仿佛看戏一样剧情大体都猜得出来的,大家都知道这是演戏不会过于挑剔,当然也是会对于不同的红屁股的红的程度挑三拣四而已,可是同样的事情到了中国,爬树的猴子们却非要让观众闭上眼睛想象那些高高在上的猴子们并没有如普通人一样的红屁股,还要如皇帝的新装一样建立一个社会共识就是谁敢说出来谁就是傻瓜。这就是政治和政治家的故事。
六月十八日 今天天气很好
其实写blog有很多时候不知道是给谁看的,给自己的成分多一些,回过头来看自己的脚步大多数时候都是一种欣慰,因为一般来说一个人的各项能力都是在衰退的,只有经验是在积累的。如果你从前做到了的现在做不到的,你可以自我安慰自己说毕竟我以前做过这些。如果有些依靠经验你今天做得比以前更好了,你可以更加自豪地感觉自己在成长。总之,不论怎样你看自己的blog都是感到高兴的,不用考虑别人的感受。(这一点就好像有个朋友总是给我发“芙蓉姐姐”的照片,有时候我感觉这是一种对于男同胞很不尊重的态度。开玩笑了,我不是认真的,其实我挺喜欢芙蓉姐姐的,真的,她是那么的质朴,仿佛和打工妹一样纯洁。什么?原来就是,啊,那么它就是质朴,质朴难道有什么错吗?)
再一个写blog千万不要担心写的都是垃圾,反正你不是什么名人,别人看了吹胡子瞪眼也不管你的事,经常发现没有什么可写的时候你就写垃圾,千万不要为了读者考虑去转贴,你不要以为你找了一些自以为很好的文章可以给读者知识和营养他们就会感激你并继续读你的blog,读者想看的是你的思想裸体才不管什么知识性趣味性呢。(赫赫,个人观点不代表普遍情况。)总之,不管什么都往上写,这样就可以坚持下去,因为当你连那样的垃圾都写过了,当你偶然的下到什么佳词妙语就更会迫不及待地向与人分享了,这道理就是所谓的“抛砖引玉”,这也就是所谓的活学活用。
写blog一定要有闲情逸致,天天无所事事,既没有拖家带口的负担也没有一个横眉冷对天天催你为去挣钱而早点睡觉的老婆在背后狂吼,同时你这个人既要胸无大志有时候又要志大才疏,一方面从来没有想着去多挣钱,成为社会主流精英,并且要冷脸面对世人的耻笑,同时你又有一颗不甘寂寞的雄心保持着铁肩担道义妙手著文章的豪情,如果你同时做到这两样你就成为一个社会的边缘人士,广大人民群众对你采取敬而远之的态度,你也常常横眉冷对峙,说到底这个世界谁怕谁,离开谁地球都照样转。
写blog一定还要有一个原因,或者说动力,否则你很难坚持下来。比如我现在这样啰里啰唆的写垃圾那也是有原因的,因为我再等UPS的delivery,上个星期来的时候我在实验室就错过了,今天只好在家里死等,不能去实验室,没有别的事好做只好写这些东西消磨时间,这就是一个充分的写blog的理由,不够吗?说曹操,曹操到,门铃响了。收到了在tiger-direct上订购的千兆网卡去实验室了。
六月十九日 今天天气很好
郁闷,Clueless! Insane! 很多时候仿佛是鬼魅一般无法令人理解,一个简单得不能简单的knapsack似的greedy的partition函数居然会引发异常,当然这之前我是第一次意识到integer-alignment的问题,比如char array[100]; int*ptr=(int*)(array+1);这样危险不危险?如果硬件架构是把integer总是取sizeof(int)的整数倍的地址这样会不会有问题?所以,我最后就在我的structure里面夹了一些垃圾byte以便struct的size是4的整数倍,这些乱七八糟的解决办法到了64位机器又会是一场大灾难。不过一切的一切,我好像忘记记录下来昨天我已经胜利地完成了windows版本的程序,除了WMPI对于request的数量上的bug以外一切工作正常,就是说只要是小数量的屏幕分割都是一切ok的,接下来实际上更加的困难,因为windows下不管千难万难我总还有信心解决,因为微软的文档很多很好查找,linux这些geek各个都是不肯像微软对待傻瓜一样地对待程序元,他们当然都期待着你是一个中级linux的programmer.讨论的问题都是不再是低级的howto。
晚上回来懒得做饭就着面包吃午餐肉,一杯牛奶和着凤凰资讯下肚。看着大学同学的email实在是有趣,因为你很难想象当初的这些人是怎样选择自己的人生轨迹的,想想看,22171,22172居然有这么多人都在北美,很多人在讲述他们在美国这个巨大国度里偶然遇到某个人,这实在是概率论所难以解释的,两三亿分之60吧?可能发生吗?小概率事件不应该发生,但是如果小概率事件经常发生就应该回过头来重新审视这个所谓的小概率事件了,也就是说未必是小概率事件,不是让现实来fit理论,而是应该修正理论来体现现实。什么是现实?顺应时事聪明人的选择大概都是相似的,所以他们相遇,所以他们的轨迹交叉。看来我偏居一隅说明是不识时务说明我的无可救药的愚不可及,鉴于此确实是没有什么可交流的,就偶尔看看得了。
不过话说回来了,我即使和MR.Zh相比还有两到三年的差距,至少在87工贸这些人中算是最好的程序员了,哈哈这个实在没有可比性,因为他们都是一些businessman。
Alterac Valey成了联盟的伤心峡谷,对部落的胜率可能连20%都没有。作为一个小兵我几乎总是冲锋在前死而后已,无奈人微言轻于大局无补。半夜看到朋友发来的中国各级政府的豪华办公楼也只能跟着一声叹息而已,这种穷奢极欲已经超过了封建时代的挥霍无度,你能想象在封建时代地方官最多就是盘剥百姓巧取豪夺还不大敢把国库的钱借出来透支吧,可是现在的县长市长敢于超支好几年的财政收入盖世界级的豪华办公楼,我在蒙特利尔的繁华的downtown也找不出几栋这样外装修如此奢华的大楼,看来朱镕基当初所谓的内需拉动等于是给地方官挥霍开出了绿灯。总之国富则民穷,国穷泽民富,(是江泽民富。哈哈)
动用特别度假基金买了一套《yes,prime
minister》,非常的经典,但是英国腔的晦涩难懂也是登峰造极了,原本政治讽刺剧就不是一般小老百姓能够欣赏的来的,对于第二语言来说就更困难了,催眠的效果一流。
六月二十日 今天天气很好吗?好像是阴天哦。
关于virtual fuctnion的争议可以用朋友的这样一句来结束:If compiler during compiling time can decide which function to call, then it will call that function instead of using virtual function table. 这完全合情合理polymorphism只是存在于函数指针,对于对象变量从来就不存在这个可能性。
昨天在跟踪时候遇到的无理头应该是VC6的tracer不能正确再多线程下正常工作的缘故,尤其是F11步进函数救出异常。今天改进了两个问题,一个就是为了防止将来big-endian与small-endian在整数读取的差别,如果我的rgb换乘rgba成为4个byte那么读于写只要是在同样的平台就不会有什么问题了,不然3个byte你总是有问题,要改代码用macro重定义。另一个想法是减少预处理时候内存占用,比如递归函数是大量的数组或者vector时候,仅仅用new防止stack溢出还是不够的,改用文件的handle来传递减少内存占用。不过现在还有bug,争取今明天解决。
国内的黑帮居然已经开始装备军用装甲车了,牛!
六月二十一日 今天天气很好吗?好像是阴天哦。 六月二十二日 今天天气很好吗?好像是阴天哦。 六月二十三日 今天天气很好吗?好像是阴天哦。
现在在网上下载免费软件都是疑神疑鬼的,一定要现在我的“副机”上试验一下才敢安装。什么时候把服务器架起来呢?
六月二十四日 今天天气很好吗?是的。
互联网真是一个好东西,早上无意中想看看大学的同学现在在干什么,一搜索果然找到了22171的那头猪现在在ctrip,哈哈看照片倒是没有什么变化,因为它原本就是那么胖的,难得就是他的体型能够几十年如一日的保持不变。
六月二十五日 今天天气很好吗?可能吧。
这个世界上,大多数人生活在无知无识的幸福中。无知就是力量!Ignorance is power!
看《凤凰资讯》你知道我最烦的是什么节目,不是那些肤浅的广告,不是那些付钱的企业家介绍,不是那些俗不可耐的古董市场介绍,而是有关奥运会的节目。每次看到那些所谓的运动员为国争光的节目我就觉得浑身起鸡皮疙瘩,什么是体育精神?什么是奥运精神?什么是体育的初衷?什么样的体育才是人民需要的体育?对于一个很多人一辈子都无法亲眼看到更不用说参与的体育在国际上大把洒钱有什么实质的意义?金牌体育是谁的需要?用一块金牌好几亿的代价值得吗?多建一座体育馆不好吗?这种政治橱窗除了给当权者粉饰太平以外还有什么实质的好处,对于运动员本身也未必是什么好事,金牌的金字塔顶上只能容纳一个人,大多数金字塔底的运动员未必有什么好的出路。远的不说就说前东欧的那些国家体育金牌注意的牺牲品就可以知道这都是communist dictatorship的玩具而已,如果人民有权决定财政预算我想就不会有这么多的金牌体育了。看看蒙特利尔的四通八达的自行车道,究竟谁受益?olympic gold medal?who cares?
看国内的新闻让我最感到可笑可悲的就是一个根本的共产主义理论框架的错误,这个主义的基石完全建立在人性的自觉自愿,比如劳动者自觉自愿地参加劳动,自觉自愿地只领取自己应得到的报酬,自觉自愿地不去欺压或者take advantage自己的同胞,领导者自觉自愿地履行自己的职责为被领导者服务而不是依靠手中的权力危机谋私,并且这个主义的核心认为人性本善,人性本自觉。对于这个人本善的论断这个主义既不去做实践来证明也不阐明怎样保证,所以所有的方针实践都是以此为基础。难道不是吗?什么叫做“各级领导应当自觉抵制腐败”?这简直是与虎谋皮!什么是人性?食色性也,难道所谓的腐败不是人性?不是人类的本性?怎么抵制?纯粹是开玩笑,简直是弥天大谎,仿佛是皇帝的新装只以为别人都不长眼睛,不长脑子。
今朝骑车何处?圣劳伦斯河岸水清风漫。惜泰晤士河畔略输风采,塞纳河滨稍逊生机,黄浦江口,一片混浊,怎可白帆水上漂?Jean
Drapeau岛上风景秀,F1赛道坦而阔,古堡要塞锁大河,炮台风笛惹人连,两座铁桥肩并肩,一条通途四里多,跨江转赴修女岛,杨柳依依曲径肠,十一公里公路赛,一去一回长又长,江上游艇随处见,划艇冲浪更悠闲,日暮天光仍灿烂,一身疲惫把家还,人生快意莫如此,荣华富贵都不求。
六月二十七日 今天天气很好吗?好像是的。
听惯了网络上骂微软的就很少有人骂Linux的,至少程序员不敢骂吧,怕被别人笑话外行,反正我是不怕,linux照样骂,居然一个文件系统的设计在根本上不支持大文件,linux是什么时候开始的,会有windows16位操错系统兼容的负担吗?为什么lseek不直接支持64位文件偏移却另搞一个lseek64,同样mmap也是一样的不彻底,当然你可以argue说32位操作系统的理论内存上限怎么可以map到超过4g或者2g以上呢?可是文件毕竟和内存不一样的,你并不需要把所有的文件部分都同时映射到内存吧?这有点扯远了,但毕竟说明了设计者的前瞻性不够吧,一个linux毫无兼容性的负担,而且新内核的撰写也不过是近几年以内的事情却还是这样的不彻底?这一点让我怎么也不能接受!至少win32这一点上要好一些。从图书馆借的一本gnu开发指南之类的书看了之后就独自不舒服,在国内看惯了滥竽充数到了这里偶然看到类似的很是气愤,当然跟人水平不一见解不同很难强求,只是不说不快,反正我看到把一大堆的syscall和librarycall并列混合使用实在是由误人子弟之嫌,当然这种挑选变成代码最少化的做法对于计算机专业以外的用户如物理化学生物数学商课等等是有速成的好处,但对于真正开发者来说有误导的弊端。甚至本人私下揣测作者原本可能就是这么干的,所以当作新的写下来,致使冠以GNU开发恐怕是玷污了这个金字招牌。当然说句公道话并不是一味地使用syscall就是最高效率,比如我至今还记得那个字串操作的经典例子,在编译器重scanner逐个字符处理这时候难道你每次都去call-read(linux)或者ReadFile(windows)?这简直是就是迂腐了,这个时候要么自己内部设缓存,一次读入,要么还是用library的fgetc因为它内部就是做了缓存的。但这个例子并不时要反正应该混合使用syscall和library,一般来说在最紧要的部位应该完全使用syscall。这样说我觉得是由理由的因为很多人根本不重视这个问题,比如今天随便google就发现有人出的cheap点子,什么GetTickCount对应的linux为times,请注意这个是有带s的time而不是那个syscall的time,总之我觉得很多人对于这两者的区别并不以为然。关于g++我也是早有微词的,借用Dr.Grogono的话说就是很多时候实在是nuisance!比如我应为效率的关系作了一点点地hacking,就是把vector的begin当作数组的头指针来用,这样当然是危险的因为vector的设计着从来没有保证这样可以,可是我看了源码应该是可以的,而且stl从来就使用源码的也就是说公开的不存在说实现可以遮掩的问题,所以移植也不成问题,在vc6编译器不喜欢但是也不干预我的强制转换,可是g++就非常的鸡婆直接报错,连申诉的机会都不给,我想设个什么开关能够放宽语法检查的尺度,可是g++的manpage是在是如天书一般难懂。另一个无法解决的问题就是std
namespace总是有很多的冲突,我居然连string都不能正确编译,实在是太夸张了,明天最好把using namespace
std;曲调全部使用std::xx这样应该可以屏蔽掉一些nuisance吧?晚上步行去春明家吃饭,饭后闲谈说道中国的未来,我很赞同一点就是中国不可能走日本成功的道路,因为13亿人不可能达到人均GDP3万美元的水平,在过两百年也不可能,所以从这点来看中国的所谓经济学家说的也对,所谓共同富裕那时蒙人的,中国只能用大多数人的贫困早就少数人的富裕,所谓“让一小部分人先富裕起来”。中国的穷苦百姓应该自觉意识到自己的贫困受剥削是对社会的巨大贡献,鞠躬尽瘁死而后已,饿死千万家才能幸福某一个。酒足饭饱之后步行一个半小时几乎绕行downtown半周才回到家,路上不小心发现蒙特利尔的国际焰火节正在如火如荼的进行中,火树银花不夜天,万家欢庆也平常,所谓幸福和谐本来就是平淡得如同一汪死水一般少有波澜,否则又怎么说得上和谐稳定,难道说天天惊心动魄的提心吊胆使人人所追求的幸福?晚上再读自己前年夏天回国写的随感,感慨颇多,时过境迁再也难以有同样的文字与激情,所谓人生就如希腊先哲的那句话一般,一个人永远不可能两次踏进同一条河,可是一个人却可能在两条不同的河里翻下同样的错误,不是吗?所谓人生就是一系列的偶然与必然的交织。转眼间我来到蒙特利尔已经快要整整五年了,这五年的经历我想使我一生最充实的日子,就算一生结束的时候也可以安慰自己我的一生并没有全部虚度。屋顶的天窗凑趣地响起了密集的雨滴声,家事国事天下事,风声雨声键盘声。
六月二十八日 今天天气很好吗?好像是阴天的。
什么叫做乌龙?在linux下使用STL的string,你的头文件是什么?我以前很模糊,vc6帮你做了很多工作,结果你就变成了sheep,在linux下你也重新恢复野性才行!要#include<string>注意没有.h也不是cstring。另外要休整一下昨天的妄言,linux的确支持大文件,你只要定义一个macro,__USING_LARGEFILE就可以了。
今天在实验室里干了多少个小时呢?我想有十二个吧?总算有些成果,linux算是胜利成功了,唯一现在不清楚地就是64位机器是否有问题以及大文件处理是否还会有问题,明后天解决MPI部分和远程图形部分,应该问题不大吧。
伟大的Mokhov极其迅速地解决了我的难题,实在是佩服的不行!!!
六月二十九日 今天天气很好吗?好像是。 六月三十日 今天天气很好吗?好像是。
每天每顿都只吃盒装虾是在是乏味了,今天决定蒸鸡蛋吃,结果变成了海绵状,真是烦人。
精彩绝伦的评论!这是<Yes,Prime
Minister>里面关于英国新闻报纸的概述。
七月一日 今天天气很好吗?好像不是。 七月二日 今天天气很好吗?好像是。 七月三日 今天天气很好吗?好像是。
是啊现在还在读书,在中国这是不可思议的事情,反正在加拿大这个无所谓,你爱干什么事你自己的事,政府给的助学金加上贷款刚好够我生活,偶尔的还可以去些便宜的地方度假,总之加拿大穷人的生活就是你并不知道你确实有多少钱,但是你一定知道你没有多少钱。haha
问:七一有没有看香港回归啊,是否应该发表一下回归感想啊,十年,对香港来说应该只是一个开始,希望香港的未来更加的好。 七一香港回归?哈哈。我觉得比较funny而已,中央为了证明自己所谓的一国两制是一个好的方案在香港投下了不少的血本,金融中心繁荣有多少不是中资公司的钱堆起来的?所谓的中资公司有多少又不是各个国营单位小金库,贪污腐败的需要?我在国营外贸公司待过知道大陆的公司在国外开办事处子公司是什么名堂,无非是当官的转钱方便,在国外华钱方便,反正那里一般财务处那很多都是一个人兼职的,先期头的钱花光了就回国吧。这就是香港当初繁荣的一个原因。 什么叫做领导者的亲民作风?有什么理由不应该是亲民的?那个现代社会的领袖会高高在上摆官架子?只有中国一个当官的近了一点本分被说成是廉洁,对普通人的起码的尊重被说成平易近人,这些都是渔民政策教育下的良民的反应,只能让鲁迅之类的人感到悲伤,因为国民的素质就是如此。 香港回归十年有什么可值得夸耀的地方呢?香港的繁荣是那些香港人拼命工作的努力,是大陆十几亿的人的辛勤劳动成果在不平等的社会制度下不公平的倾斜,是中国政府官员腐败的副产品,是一个殖民地社会当初遗留下来的良好制度的基础,除此之外有什么呢? 香港的未来?一个五六百万人的城市当一个有十几亿人口的大国政府不合理的倾斜政策的时候怎么着都会繁荣的,花钱推也推得出来,作为中国政府所谓一国两制橱窗的香港相邀他繁荣自然就繁荣,问题是谁来买单?加拿大议会里议员们每年争来争去的就是联邦政府因该返还给各个省的税金应该多少,每个省的议员代表向着的就是本省的纳税人的利益,联邦是大家养着的,总理也不过就是协调关系的一个行政首脑而已,这才是所谓的人民代表。不然什么是人民?不要跟我说什么抽象的名词,人民就是你我,就是这些普通人,没有所谓的全体人民利益,因为它是由各个分子所组成的,没有你我的利益拿来的人民的利益。那种到谁家里做客就带一台大彩电然后听人说好话的工作让谁敢都感的一样好,用得着什么主席总理来干嘛?花钱买漂亮话会不会啊?
在加拿大生活最满意的地方就是你有沿街乞讨的权利,因为这是你的生活方式,你觉得饿了就去救济站领吃的,然后你可以在太阳地李白探讨一些烟酒的钱,过往的人要给你钱的话还要摆出一幅尊重的样子弯腰小心地把钱放在你的盒子里以便不伤害你的自尊心。其次你可以开怀痛快地骂政府,我对加拿大政府除了感激没有什么可以表达的就只好骂远在天边的GCD,注意不是(greatest
common divisor)。
七月四日 今天天气很好吗?好像是。
wmpi要下载后24小时才把license_key发过来。今天看能不能把NFS设置好,这实在是一个大笑话,这么多天这个简单的东西没有解决。linux下所谓的library的设置大约和windows类似,不同的是系统目录一般是/lib或者/usr/lib,/usr/local/lib,不存在lib和dll的区别,因为没有所谓的stub链接就是头文件+可执行码,静态库一般命名为libxxx.so,动态库命名为libxxx.sa,这样链接时候可以不写全名只写-lxxx,哈哈,这是超级基本的常识,如果你要解决lib版本的冲突,就用symbolic-link,如果你的library不放在默认目录,要自己设置环境变量LD_LIBRARY_PATH,bash下这么写LD_LIBRARY_PATH=....;export LD_LIBRARY_PATH。我想这些超级简单的东西还是去记一下,使用任何的工具都不如这个来的直接,那个什么ldconfig之类的也不过就是一个小工具去读ld的一个类似cache的文件,这个工具本身都不一定有安装,而且我经常被unix和linux的不同命令所混淆。
/opt/hp下面有我所需要的所有hp的文件,包括mpi,remote-graphic,一下是那个穷鬼slurm的命令:
scontrol show partition显示了当前的partition。sinfo显示了当前的up的partition猜想如此。
scontrol show configure显示所有配置。
squeue -u qingz_hu -t all显示我的任务的状况。
srun hostname我在哪?man slurm.conf帮助文件
PA买的sunkist橙子有问题,怀疑不是美国加州生产的,看来又要重新吃苹果了。
在网络上向找一找王朔的个人博客,看看这可我认为当代中国最伟大的文学家的活思想,可惜找到的并不太像,好像一个小孩子伪造的博取小女孩欢心的淫巧。
我总想反复地告诫国内的无知的小孩子一个简单的道理,对于如何处置俘虏是胜利者的特权,期望战胜者的宽容是很幼稚的,所以对于南京大屠杀之类的事情要客观地看,并不是什么日本侵略者特别地残忍,而是这是战胜者的选择,换作其他国家也有可能做出类似的行为,作为胜利者以任何方式惩办失败者是你的权利,中国放弃自己所谓的胜利者的审判权本身就是一个问题,有可能是信心不足的表现,换言之中国是否是二次大战中的真正的战胜者?这种事情在第一次世界大战结束的时候就发生过,当时北洋政府押宝押对了,一战结束本是所谓的战胜国,结果对于所谓的战败国德国在中国的殖民地居然没有权利去索回反而被另一个真正的战胜国日本接管了山东,二战结束和一战结束何其相似,不是自己真切感受到的胜利不懂得战胜国的心态,仿佛一辈子当奴仆别人把你放在主人的位子上也摆不起主人的架子,所谓扶不起的阿斗而已。所以,放弃战胜国对于战败国的惩办就不要再回过头来说什么,这点骨气都没有只会让真正的胜利者看扁,所以不要总是喋喋不休地谈什么反省战争之类的妇道之见,真正的日本人根本就看不起这种幼稚的想法,只有战胜国的声音会留在历史的记忆中。
每次看到国内一帮人津津乐道地跟人本人争辩南京事件中究竟日本人杀了多少中国人,强奸了多少妇女,究竟你证明了不是三万而是三十万又能怎样?为了什么?so
what?仿佛再说一句潜台词:作为一个正常的侵略中国的国家拟在一个城市可以屠杀的额度应该是三万,结果你超过了十倍,这样不对,你应该反省,如果你不反省就有可能下一次侵略的时候再次犯超过配额的错误,如果你认真反省承认你超过杀人配额的话我们就既往不咎同意你有可能在将来的侵略战争中不至于在犯超过配额的错误。
七月五日 今天天气很好吗?好像是。
1。有的成需要运行时候必须在我的home-directory执行,所以RGS不能正确显示的原因是我的directory没有chmod o+x。
2。sftp可以直接作文件的读取,暂时把nfs设置放一放,注意防火墙的设置,在system-setting/security-level里面把ssh加入。
3。在ssh窗口里面不能正常运行图形程序的原因可能是x-window的问题,比如你用ssh -X登陆就可以解决这个问题了,joel给了一个hack的办法就是先用srun -N1 --nodelist=n81 cat运行一个程序让我们随后的ssh可以自由登陆n81部需要密码验证,这个时候ssh n81.cirrus.private -X就可以正确运行OpenGL的程序了。
4。现在在RGS里面我运行mpi程序还是不行,程序就PD(pending)等待资源分派。比如mpirun -srun -N4 --nodelist=n81,n82,n83,n84 myProgram.exe;如果我当前的RGS登陆的是n81程序pending,如果登陆的node不再nodelist内则立刻出错和x-window的错误类似。
头疼啊,头疼了。
七月六日 今天天气很好吗?好像是。
NFS有防火墙的问题,如果iptables没有允许nfs:tcp的话爆出unable to route的错误。但是service iptables stop依然有permission denied的问题。正常在system-setting/service里面可以开启nfs服务,但是手动起动也可以吧,portmap,rpc.mountd,rpc.nfsd,rpc.statd,rpc.lockd,rpc.rquotad,但是我看到一个问题就是这样其懂得daemon的用户名是rpcuser,不知道这是不是问题的症结。设定完/etc/exports之后可以用exportfs -ra刷新,如果用dirname ip1/ip2(rw)格式说明ip1到ip2之间。
这个问题讨论了很久依然没有结论:两台linux,A,B,我在A上用ssh -X登陆B运行一个B上的图形程序,比如openGL的程序,在A上会有图形窗口,那么用ps看到的这个图形进程确实是在B上运行的,但是它是否是使用了B的显卡,还是说简单把B的pixel发送给A的window?我认为是使用A的显卡,因为B的window根本看不见操作系统压根就不会把它发送到显存,应该是X-window的client端发送给在A的X-window的server端(正好和ssh的client-server颠倒了),但是具体是怎样的呢?
看泰国的《拳霸》感觉中国武术花架子太多,作为健身的成分大于攻击的成分,比如用脚来共计有攻击距离长的有点但是力度肯定小于膝盖,泰拳里面膝盖的大量使用非常的凶狠经常可以是致命的。
<Yes,
Prime Minister>可以是我最有价值的收藏,物超所值,amazon明码标价要一百多,我从amazon的网上商店买的,一个laval的小零售商差不多只有一半多一点的价格。
七月七日 今天天气很好吗?好像是。
读HP的HPC的文档实在是有些头疼。
看马英九的宣传实在是觉得这是一个小官吏竞选的架子,所谓的政治家引导民意,政客操弄民意,只有像马英九这样脑子缺乏主见的官吏会被民意所左右,比如布什就算是一个介于政治家与政客间的人物可以冒天下之大不韪坚持自己的理念,人民不需要一个彻底的政治家,如果普通群众觉得你跟他们没什么两样干吗还要选你做?自己就当总统好了!你要用自己的信念震撼普通的渔夫渔妇,所谓《围城》里所说的政治家与医生一样都是要以谎言来对待平民的,这不叫欺骗这是手腕,人类社会里超过80%的人都是在多数方面无知无识的需要专业人员的“引导”,换言之“欺骗”。政治也是一样,有些东西怎么可以明说?怎么可以明做?一个连自己的主张都不确定的人能当领袖?天天摇摆不定希望左右都能逢圆?稍有主见的人都不会将国家的领导权交给这样不可靠的人,马英九的落败是必然的。
我发现了一个办法,用RGS连接到所有我想要运行程序的节点,然后不要再用“srun”而是直接用mpirun -hostlist
"n81 n82 n83" ./mympiprog.exe这是因为运行sva_remote.sh以后应该就是用srun分配了资源,只不过它只分配一个节点而已,不过这个做法太笨了,同时我还是无法运行图行程序,远程的图形还是失败,相信是x-server的问题,还要读HP的文档才行。此外在hp的sva目录下有每一个进程的设置文档,这应该是关键,可是我就是找不到sva_remote.sh在哪里?一时火起花了几分钟自己写一个小小的find,可是linux有点白痴,命令行参数不能带*这让我很郁闷。
七月九日 今天天气很好吗?好像不是
,下雨了。
the file I hacked in glut is "glut_win.c" and what I did is like this: ////////////////////////////////////////////////////////////////// //here is what is hacked by nick// //The original WS_XXX doesn't include WS_VISIBLE and I added so that child window //by default is visible. window->win = CreateWindow("GLUT", "GLUT", //WS_CLIPSIBLINGS | WS_CLIPCHILDREN | style,//modified by nick WS_CLIPSIBLINGS | WS_CLIPCHILDREN |WS_VISIBLE | style, ////////////////////////////////////////////////////////////////// //end of hack by nick//
x, y, width, height, parent ? parent->win : __glutRoot, NULL, GetModuleHandle(NULL), 0);
教训就是要登记留念否则就化为乌有了。花了将近两个星期断断续续地没有解决的NFS问题终于获得了解决,原来都是防火墙在作怪,(我想还有别的干扰因素吧,才会有时可以又是不可移,有的可以有的不可以。)那么启动nfs服务最稳妥地还是用shell的service nfs start不然那些daemon谁知道有没有顺序,并且要把service iptables stop先执行来关闭防火墙。/etc/exports下面最好用ip地址,改变后用exportfs -ra来刷新,但是不同linux版本又会有不同的参数设置,什么sync,async,我没时间考虑这些了,ignore warning。
我自己写的那个小小的find有不少问题,哈哈贻笑大方了,第一,linux有一个独一无二的目录参数就是根目录“/”这个很讨厌,你不要在他的后面加"/"了,因为所有其他目录都可以约定说目录候补根"/"而是由程序自己加"/",唯独linux的这个不行,这恐怕也是windows必须要加drive名的一个小原因吧,最严重的是我opendir却忘记了closedir,压根没有一个意识,结果系统因为你开的文件太多就报错了,我想编程序以来很少会意识到实际上opendir就是用open来做了一些复杂烦人的事情,今年做comp444的TA明白了opendir是怎么回事。那个读取的过程很烦的。
我都快饿晕了。搏斗了一天,终于完成了wmpi的linux下的配置与 程序运行。 期间真有如西天取经一般的困难,发现了不少的稀奇古怪的东西,比如我的linux mount 一个fat32的windows partition作为平台间的交换区,同时网络里每一台linux都把所有其他linux的文件mount到本地,结果那些在nfs下mount的远程电脑的文件系统中的fat32的mount是看不到的,就是失败了。文件拷贝的时候有一个错误就是拷贝到远程文件中的文件的owner成为乱码,只能在本地拷贝远程文件到本地才行。wmpi的配置文件有两类,一个是所谓的license配置文件,这个linux的配置文件是和windows不同的,在/etc/wmpi2/wmpi2ls.conf指明了license服务器的名字或者ip,所有的workstation都要的,其次,在可执行文件的wmpi2.conf实际上是告诉运行期的workstation的名称,对于program.pg2则是包含更多运行信息,如程序路径,运行的process个数,运行机器名,同样的master名字可以而且必须省略。linux的graphic driver现在看来是个大问题,据说要重编译内核,这是在有些恐惧。另一个令人不安的是我原本认为后台运行的daemon不能正确产生在前端运行的window程序,因为我认为子进程是依靠父进程进行消息循环的,如果父进程根本不可见有怎么能够行呢?可是现在wmpi的linux版本否定了这个想法。一定要和hp的技术支持直接联系才方便。
此外把那个贻笑大方的simpleFind的正确的linux版本贴出来。(TNNDemail发错了,明天吧。)
七月十日 今天天气很好吗?好像不是
,阴天了。
在洗衣房等待的时间是我唯一能够静下心来读书的两个时间,另一个当然是每天早上起来后进行得新陈代谢的活动时候。唯一得到的一点知识就是x-server靠的事网络通讯协议来交互的,比如TCP的异步传输,所以他的所谓的display就是一个hostname:displayIndex:screennumber,所以,前两天的那个疑团得到了一个最终的答案,实际的显示设备是由这个所谓的display指定的,当然这个前提就是你要在这个host上运行有一个X-server,这就是Dr.M所谓的client-sever正好相反的意思。因此显示设备和render的运行时可以逻辑上分开的,完美的设计完全给予网络化的设计。
Linux设置局域网连接实际上很简单,使用Internet connection wizard或者直接改system-setting/network里面的设置,可能主要是我的router设定成只接受一个固定ip地址范围,所以还是不要用dhcp,局域网连接设定完毕之后一定要设定dns server,最好查isp的现在值,这个总是在变的,没有什么好办法,时时更新吧。
连一个简单的tar的参数都需要记忆真是麻烦,因为看manpage根本就不明白什么叫做过滤,tar -pzxvf
file.tar.gz,有些说明根本不是对于一个完全没有压缩常识的我来写的,这就是烦人的地方。看到一个什么"equivalence"的设置就是在/home下的.rhosts里面列出不需要密码登陆的host。但是我现在连linux的hostname都设不对,openGL压根没有安装居然没发现确去安装glut难怪有错。
七月十一日 今天天气很好吗?好像不是
,阴天了。 七月十二日 今天天气很好吗?好像是
。
今天去kayak,忘了怎么拼了,反正是独木舟,很好玩,这就是加拿大人最喜欢的运动之一。
七月十五日 今天天气很好吗?好像是
。
下午去chinatown给手表换电池,顺便测试帐篷,晚上和王林森研究camping的路线,yahoo的map比google-earth好多了,加拿大的信息化程度非常的高,基本上什么都可以在网上找到。
七月十七日 今天天气很好吗?好像是
。
-s file | Non empty file |
-f file | Is File exist or normal file and not a directory |
-d dir | Is Directory exist and not a file |
-w file | Is writeable file |
-r file | Is read-only file |
-x file | Is file is executable |
string1 = string2 | string1 is equal to string2 |
string1 != string2 | string1 is NOT equal to string2 |
string1 | string1 is NOT NULL or not defined |
-n string1 | string1 is NOT NULL and does exist |
-z string1 | string1 is NULL and does exist |
花了快一个小时才找到一个合适的地方放照片,yahoo相片倒闭了,163从来就是故意做成有bug让你知难而退,而且慢得一塌糊涂。微软看样子几年内不会倒闭,放在这比较保险吧。
实际上sva_remote.sh是一个综合的任务部署器,它可以直接部署执行远程的图形任务,首先初始化显示节点,并且运行render和diaplay节点的x-server,然后执行后面命令行的任务,如果是interactive模式则等待用户输入。比如sva_remote.sh -r 2 mpirun -np 3 -hostlist "n81 n82 n83" ./myMPItest.exe问题是我在执行mpi程序前必须先设置mpi运行环境module load mpi,但是在远程运行则无法这样,是不是呢?再去实验室试验一下吧。
一切都是在疑惑中,
sva_remote.sh mpirun -srun --nodelist=n81 /sfs/backup/all/qingz_hu/mytest/myMPIGraphic.exe是可以的但是这个等同于单机运行,如果加入一个render node比如-r1就不行了,现在不是资源分配或者X-server的问题,因为他们是正确了,甚至我的display节点都成功进行了glut的初始化等等,但是没有窗口的产生。运行例子paraview的时候需要正确设置env,我的shell可能是c-shell,用bash的export不行,所以我就只好/bin/bash直接运行bash,export PATH=$PATH:/opt/paraview/bin,或者就是永久性的改我的~/.cshrc文件里的setenv了,要source ~/.cshrc
空间不够了,能删的都删光了,想升级一下,可是一年多花几十块钱买到的不过是多了10M而已,不划算,决定不从前引以为豪的一个project的可执行文件及其数据放在这里。
七月十八日 今天天气很好吗?好像是
。
早晨醒来觉得无事可做,第一眼看到北京奥运的消息非常令我鄙视,因此我决定个人抵制这个政治橱窗展示会,当然这个地球多我一个不多少我一个不少,但是抵制奥运从我做起。
一个人早晨刚起床没有刷牙(我从来晚上刷牙的),没有洗脸,突然开始思考一个严肃的问题是非常让人措手不及的,我为什么活着?说得清楚一点我凭什么生活着?很多人出卖自己的劳动时间,甚至出卖自身某些器官的使用权,我有什么器官可以出卖呢?出卖头脑?我天性疏懒不到万不得已决不愿做这种事,怎么办?怎么继续生存呢?一个人早晨刚起床没有刷牙(我从来晚上刷牙的),没有洗脸,突然开始思考这样一个严肃的人生问题是非常让人措手不及的。
凤凰资讯讨论是否应该由大陆出钱收购台湾农民的香蕉,这是典型的伪命题,孔老二的以德报怨被人误解了,这是我最近听到的,什么以德报怨?那么拿什么报德呢?
七月十九日 今天天气很好吗?才怪,下大雨了
。
星期天要出发了,昨天在自行车后袋子里放了两个小哑铃来模拟重量,结果迷路了在运河边骑来骑去,实际上我是严格按照算法里面的原则作的,首先想做走距离n,如果无结果回到原处向右走距离2n,如果无结果再向左走距离3n,如此循环不已。有另一种argument就是左右随便挑一边一条路走到底,其实这些都是没有学过计算机科学的人的愚见,计算科学一般不考虑best-case连average-case都不一定考虑,我们考虑得是在worst-case下的问题的解决方案,想想看当luck
is not a
factor你应该怎样做?哪种做法是最正确的。(不过这些都是文过饰非的说辞,实际情况是我总是在决定之后摇摆不定在四周昏黑的运河边我只是想没头的苍蝇东冲西撞而已。最后不小心看到了downtown的灯塔才找到了回家的方向。)
七月二十日 今天天气很好吗?才怪,下大雨了
。 七月二十一日 今天天气很好吗?才怪,下大雨了
。 七月二十九日 今天天气很好吗?才怪,下大雨了
。
google实在是太强大了,有时候把你心里所想的赎金去搜索一下,看到意想不到的结果一颗心仿佛突然都不想跳了。
七月三十一日 今天天气很好吗?是的
。 八月五日 今天天气很好吗?是的
。 八月七日 今天天气很好吗?是的
。
GB2312和unicode毫无关系,所以非unicode的语言当然是gb2312了。我发现在sva-node里面一个slurm的job往往产生若干个slurm.xxxx的demaen,这里的xxx好像就是x-server的log里错误信息的client-xxx。前两天翻了一个傻,我想扩展模型但是不愿意重新处理数据就拷贝数据但是这样按照octree的原则我必须把尺寸扩展一倍,这样效果不是太好,模型太远了,不过看不见的东西未必就不去render,所以我觉得这仅仅是使觉得问题。
八月八日 今天天气很好吗?是的
。 八月九日 今天天气很好吗?是的
。 八月十二日 今天天气很好吗?是的
。 八月十五日 今天天气很好吗?是的
。 八月十六日 今天天气很好吗?是的
。
很多时候我都翻一些最基本的错误,比如函数指针这个说法就有欠考虑,首先函数本身是不是指针呢?当然是,那么你声明的函数指针和普通函数类型有什么不一样呢?我就犯了这样的错误,openGL
extension里面的函数类型在glext.h里面都声明称了函数指针类型,那么你用wglGetProcAddress之后的得到就是函数指针,不要把glext.h里面声明的类型再声名成指针了,我为此付出了几个小时的时间,白痴。typedef
void (*FuncType)(int param1, float param2);extern void
myFunc(int int1, float float2);FuncType myFuncPtr=myFunc; 八月十七日 今天天气很好吗?是的
。
myFuncPtr(123, 12.5);
《凤凰卫视》的“军情观察室”是我觉得最有价值的节目。如果日本采购一百架的F22那么它就继续保持它的世界第三大军事大国的地位。
八月二十日 今天天气很好吗?是的
。 八月二十二日 今天天气很好吗?
不是,阴天。
GlobalAlloc分配的内存对象(memory object)很可能是一个结构,就是说不能直接当作指针使用,要用GlobalLock返回的指针。
再重复一遍,如果你的source-code文件用cpp后缀,vc6会把它当作c++来编译,直接的后果就是dll里面的函数名会变成c++的decoration,比如又连个@@,所以,要用extern
"C"来裹起来,cdecl函数名字不变,stdcall应该会加上_,这个问题我已经说过了可是我是忘记,当初使用ordinal来避免调用函数名字的问题,现在又忘了。注册windowhook的时候的handle我始终吃不准,使用GetModuleHandle得到的不知道是否正确,更重要的问题是在hookfunc里面我能做什么?我试图输出文件,甚至postmessage都不成功,实在是不明白。
八月二十四日 今天天气很好吗?
不是,阴天。 八月二十五日 今天天气很好吗?是,不是,阴晴不定。
更正:以上说法大部分都有问题,windows里面任何的窗口都是有消息循环的,这是少有头脑的人都可以想得到的,如果没有那么window怎么管理这个窗口,怎么重画窗口?所以刚才的想法就是白吃级的想法!唯一应该的原因就是console也许把某些i/o阻断了,所以才没有办法显示结果,这也包括文件和messagebox。实际上什么类型的loader都是无关的,你call的是一个dll里面的函数有什么区别了?不同的事如果使用win32的入口函数winmain如果你不画窗口,在console里面执行仿佛createprocess声明no-window一样的效果。dll不能独立运行,他只是一个函数库而已,这个基本概念在这里重复都是多余,但是我当初却总有错误的想法,以为loadlibrary就算运行,实际上map一个file到内存里和运行一个process是天差地别的。所以才会有人要把dll注射inject到别的进程中去。
河边婀娜多姿的柳树在阵风里摇曳着长发,平坦蜿蜒的自行车道就穿行在这绿色的长发里,有时候我都不自禁地伸手撩一撩绿美人的清汤挂面似的秀发,理由是她要碰到我的脸了。
运河边的小桥并不如江南水乡的多,但是运河的水绝对不是那苏杭小镇里主妇淘米刷马桶的水可比,圣劳伦斯河水有多清澈呢?打个比方,就好像加拿大的自来水一样的清澈,不要笑,加拿大的自来水都是饮用水,还有什么水笔饮用水更清澈呢?河边处处是漂亮的草坪,精心设计的雕塑,因相比较深的有这么几个,一个是阿基米德的杠杆雕塑,造得仿佛是一个灯塔,朴实无华,伟大的自然科学发现也许都是向这些设计平实简单的雕塑一样经得起时间的考验,而不必担心如北京奥运会某些贴近时装展览似的繁复弄巧,一时高潮之后就被人弃置如蔽履。Lashine河边的雕塑尤其多,但我只记得教会我一个法文词的那个,flour是河水的意思,在铁板上镂空的文字也如何水般荡漾,非常的传神,工业时代的材料透着现代艺术的气息远比中国式的总是挖掘故纸堆的沉闷来得让人舒心畅快。
河里停满了私人游艇,只有这个时候你才知道蒙特利尔的富裕人口有多少,河边的餐馆咖啡厅都很有情趣很让你有一种进去坐一坐的感觉。天边的白云阳光配合着荡漾的水面那是一种难以名状的闲暇,在这个夏天从来不会有酷热感觉的城市里,你可以尽情地享受阳光。
但是美丽仅仅是风景吗?不,美丽是如花般风景里的健康的人,流汗的女人最美丽,这是我从健身房的语录里看来的,对此我也深表同意,每次我看到加拿大妇女矫健的骑车慢跑溜旱冰的样子就有着无限的赞赏,圣劳伦斯河边运动的人们是比风景还美丽的图画。
八月二十七日 今天天气很好吗?是
。
我的价值35元的DVD机在我的残酷折磨下终于含恨而终了,怎么残酷?又一次我大概有将近一个月往机关机了,平常彻夜播放更是家常便饭,总之到了这里就知道点七是最便宜的家居生活品。今天去买了一个新的,贵了一点,39块,有29的胆识没有写MP3播放就没有买,结果回来就看到粗制滥造的一面,DVD托盘打开就轰隆隆地响,有时候还关不了,换!还好新的没有噪音了,我想制造业在中国并不完全是什么工艺与技术的落后,而是质量检验的问题,这种明显的毛病为什么检验不出来?因为工厂连这个成本都承担不起,因为是极低的买断价格根本没有检验的成本。这样的工厂很难有什么积累,所以说中国要是来一场经济危机就是倾家荡产的,大多数工厂企业根本没有这方面的准备金,大部分的穷人也没有这方面的积累,国库也没有这方面的积累,就像当初国营外贸公司做生意后来连基本的风险金都不计算,赚的每一分钱都是今天用的钱。经济危机迟早要来的,这是经济规律,问题是什么时候?问题是有多大规模?问题是有多少人要跳楼跳海?
八月二十八日 今天天气很好吗?是
。
阮次山建议在联合国提案明确台湾属于中国,我始终觉得现在的政治局成员没有什么人敢做敢当,遇大事总是迟疑不决,为求平安度日,这有一点点摊派的意味,美国不愿意,大陆不敢干,阿扁看准了这一把,赌下去有可能翻身成英雄,马英九嘛,一介庸吏不足挂齿。
九月一日 今天天气很好吗?是 。
昨天还是比较郁闷的,问题在于说我始终不愿意使用,甚至不愿意查询怎样使用mpi的跟踪器,当然这实在是太困难了,已开始在mpi里面建立一个线程然后调用opengl就出错,我想不出问题在那里,也许pthread本身在smp上就不安全,也许opengl本来就是线程不安全,也许更加可能的就是在mpi里面必须用mpi的方法创建线程,抑或是我程序初始化的低级错误,总之,混乱。HPMPI的profile也许也有bug,或者是profile的翻译程序的小bug,总之,混乱。我之前一直坚信我没有犯低级的错误,因为linux的syscall里面是没有精确的毫秒级或者微秒级的函数,反而使library去实现了,难道是nanosleep之类的实现的?因为我似乎看到过系统不提供的,当然看manpage是一团混乱,clock_gettime之类的实际上却不能用,似乎linux的系统改过很多,混乱。其实这些都不是什么烦恼的源头,因为他们都是可以解决的问题,最要命的是某些问题是没有解决办法的,比如我现在又回到了一年前的同样境地,开始在几个节点之间的bottleneck问题上打转转。
人们常说中国学生的英语很差,有的时候是有着别的原因的,每个单词都听懂了却不见得明白说的是什么,比如politic
science,从大陆来的学生就听得不知其所以然,难道政治也算科学?在我们的教育体系里,我们得到一个深深的印象就是每个人,尤其每个中国人天生都是政治家,尔虞我诈,两面三刀,黑脸红脸,计谋手段等等我们从小就是必修课,根本就没把政治当作是一门自然科学来对待,GCD的所谓政治学说白了变成了政策学,politics!=policy,社会发展史也不是政治的全部,有些问题实际上是历史学家关心的,政治学其实应该更加的贴近政府运作的机制研究。中国当今的很多问题就是因为现今的civil
servant也就是公务员大都是很多不相干的专业学生,比如中文,比如历史,比如工程,比如法律,恰恰缺少的是研习政治的人才。究竟有什么是政治应该研习的呢?比如政府机构的设置,比如权利责任的划分,比如政策研拟的流程,比如事后监督的机制,你可以说这些都是实践出真知,不需要学习,长官拍脑门秘书拟草稿,饭桌酒席私下商议,密室里面讨价还价确定的,可是这些真正是要研究的,世界各国古今中外大家都有各自的方式方法,优劣得失,不研究比较你能完全foresee其中的利弊得失吗?这些正是一个科学学科的研究课题,当然采不采用哪是另一回事,但如果你连研究都不做就算民主社会人民有权决定政府的架构的时候却发现并不知道应该采用什么,这才是尴尬的事情。在中国现今的社会大多数人迷信工程师治国,我觉得这才是一个糟糕的事情,仿佛把优秀的战士当作优秀的厨师来使用一样的糟糕,学工程的人如果最后都不务正业回归仕途谁还愿意老老实实地造桥铺路?怪不得中国的桥梁三天两头坍塌,结果专家鉴定居然斩钉截铁地说设计超越国家标准,难道是天灾不是人祸?
九月四日 今天天气很好吗?是
。
看陈文茜的节目就是让人听得难受的时间,她的那口哑嗓子仿佛咽喉里面一口痰吐不出来一样的难听,当然此女孩是有些才情的,否则也不会被讥讽为“北港香炉人人插”了。赵少康呢?有些太过偏激,不过他和李傲是同一代的人物是很有才华的人物。最近台湾铺天盖地的就是要公投入联合国,想想看这是很聪明的一招,是很聪明的自保的招数,所谓北京对台湾动武有一个基本的因素要考虑,就是台湾的民意,比如诸葛武侯南征三分军事,七分政治,必须以争取民心为要,这个问题是显而易见的,比如打完了仗怎么统治,如果民心不服等于是接下了一个烫手的热山芋,这样的例子屡见不鲜,比如俄罗斯的车臣,英国的北爱尔兰,所以北京最乐意的情况是所谓台湾内部大多数民意主动邀请北京,所谓“吊民伐罪”,现在阿扁等于要堵死这条路,向北京宣示台湾的主流民意就是反对北京,你北京来台湾就是强奸民意,你看着办吧。不过这一招也是所谓的进攻性防御,就是打着进攻的名义实际上仅仅是自保,如果坐过火了就成了让本来进攻的北京变成彻底的防御,现在效果已经达到了,如果还要继续痛打落水狗就是不给北京台阶下,是否逼得过紧了反而成就了北京的策略。不过,台湾的策略就是吃定北京的决策者没胆打破坛坛罐罐,仿佛街头泼皮流氓比狠看谁比谁更狠,头脑越正常的人越早退出。那么我们就看看谁的头脑不正常吧。
九月七日 今天天气很好吗?
现在还不知道。 九月九日 今天天气很好吗?稍微有点冷。
tar并不是压缩文件而是创建一个目录一样的东西,gzip才是压缩,tar -cf target source. gzip tar-file如果想要知道文件夹的大小,du。这些linux的命令其失去哪里都查得到,不过写一遍加深记忆吧,我现在总是忘记很多事情。比如tester模块内的压缩实际上不可能提高很多的,因为bytemap总共只有五分之一的大小,depthbuffer才是大头。
犯了一个愚蠢的错误,用tar -cjf --recursion targetfile sourcefile结果创建了一个文件名叫作--recursion,主要是manpage像田鼠一样费解,然后你就没办法删除这个文件了,Alex告诉我rm
-- --recursion这实在是有点诡异。
九月十日 今天天气很好吗?稍微有点冷。_ASSERTE(
_CrtCheckMemory( ) );
因为这个_CrtCheckMemory你都可以想象得到他在干什么,用它在你的函数前后监视。4。这个问题和内存泄漏无关,你使用_CrtDumpMemoryLeaks未必有什么发现,比如你new了几个数组,其实他们应该都会在OS分配的一个heap里面,也许都是前后相接的,数组越界和内存泄漏完全是无关的事情。(我不知道为什么我会把两个无关的事情想到一起,也许在我当初的印象里所有的内存错误就是内存泄漏比较严重,实际上现在看来,内存泄漏只不过是高级程序员念在心里初级程序员挂在嘴边中级程序员不停地改在手边的时髦名次。这个问题很难完全避免,因为像java那样让系统管理内存基本上是效率的坟墓了,我想但凡是人做的工作总是会出错的。)这里面还有一个小插曲,我google了一下找到了一个小孩子写的使用intel
jpg library的例子,基本上我就拷贝了一下,当时看到他写得code里面没有考虑paddedbyte的计算觉得很奇怪就姑且相信他了,结果看上去挺好,其实现在看来是因为大多数jpg照片都是标准尺寸,比如4的整数倍,你的paddedbyte当然是0了,所以程序常常是正确运行的,可是当我改变图片大小存储的时候有时候再读图片的时候就出错了,(写的时候是因为我自己写得code因为从opengl的colorbuffer里面读出来的当然bgr是padded0了,因为我定义pixelStore的pack_alianment为0,所以不会出错)(不过jpg与bmp一样是沿用以前的习惯就是每一行和整数长度对齐,(align
with size of integer,depending on the size of integer of current
OS)这是格式没法改变,在DIB里面要给出正确的paddedbytes,和所谓“channel”应该是component个数,(这个是ijl注解里面写的)其中DIBHeight可以是负数代表上下颠倒,这个曾经困扰我又一两天之久,因为我尝试了在glOrtho定义上下颠倒,可是因为我用writePixel直接写colorbuffer完全无用,用什么transformation都不解决问题,因为这完全是数据的格式问题,后来改为负数就行了。当那种奇怪内存错误出现的时候我曾经自以为是地认为opengl也许对于数据使用是某种“独占”方式,比如你送一个buffer数据进去,opengl直接在数据上操作,使用某种内存防毒些机制,这当然是无稽之谈,可是当时我信以为真居然费了不少力气去做了一个类似于double-buffer的冬冬,就是用两个buffer来读写,不对当前显示的buffer操作直到它变成back-buffer,结果当错误已就出现的时候我才开始意识到问题不在opengl上,尽管opengl不支持多线乘客也不至于有直接该用户数举止无稽之谈吧,当时实在是无理头,我好像大多数时候完全是无理性的思维,这是多么可怕的事情!
有些问题现在回过头来用脚趾头思考也明白不可能的事情,我却在当时想不明白,也许人就是在碰到一些违背自己基本信念的现象的时候的一种panic的寻找救命稻草的盲目吧。不过呢,为自己美言一句就是引用一下那本讲述破译密码的《battle of wit》的前言,decoding不需要你疯狂,但是如果你是的话总是有帮助的。debug十有八九是在反复检验自己对自己的基本信念的相信程度,如果你对一个事实或者定律坚信不移,你也许不会犯一些不该凡的错误,但是你也许失去了检验其他相关的信念的机会,而往往bug寄生在你认为不应该发生错误的地方。说到底,你是否真地掌握了所谓的真理呢?世界上愚蠢的错误大多是在你坚信你是正确的时候犯下的,有多少人是明知故犯呢?
补充一句,图形里面困难的一个地方就是如果仅仅是很小的数据出错,你还真的很难看出来。
那么就把这个小东西贴上去吧,原本想用win32作一个漂亮点的界面,后来就懒得动了,我对于界面设计从来就不太热心,这些东西费时费力并且我也做不好。至于Intel的jpg-library我存在了这里,和这里。
九月十二日 今天天气很好吗?天气已经变得很冷了。
安倍近三辞职了,其间的所有风云仿佛就是《Farewell Mr. Primier》的现实版,其间的讽刺成分要低于《Yes,Primier
Minister》,有更多的期许与鼓励,甚至有不少的同情,也许英国人普遍对于政治家没有什么不放心的,因为政治家仅仅是舆论指挥棒的指挥下起舞,实质起作用的是公务员系统,而日本的民主政治是在美国大兵的枪口下扶植起来的,有着太多的封建宪政的痕迹,政治家主导国家的作用太大了。所谓民主,按照yes
primier minister的说法就是,首相并不是管事的人,只不过是领导有共识的参与者而已。
九月十四日 今天天气很好吗?天气已经变得很冷了。
不妨作一些大胆的想象,也许安倍进医院检查肠胃是因为安眠药吃多了,此公有点官宦子弟的骄气,一旦受挫很有可能承受不起。也许台湾问题会用一种手术刀似的解决方法,斩首不太可能,因为那时大打,所谓不伤筋动骨的手术刀式方案就是空战,所谓“机不可失”的“机”就是飞机,失去了空中屏障的台湾就是待宰的羔羊,而空战结束就是战争的结束,登陆战巷战?免了吧,而空战决胜既不会拖的很久,也不会对经济政治甚至对于大多数民众生活也没有多少影响,这也是典型的美国式的解决方法,不过好虽好,PLA现在还学不来,但是不能够变通一下吗?原则上就是这样。
九月十五日 今天天气很好吗?天气已经变得很冷了
,刚刚骑车出门就下大雨。
所谓民主国家就是国家领导仅仅是一个杂货铺打工的收银员一样,主人没空管的事情交给你去做而已,虽然财务经营都放给你表示对你信任,其实你只能操作收银机一切都有记录不怕你搞鬼,随时都可以叫你走人。民主国家的领导人仿佛娱乐圈的明星表面上光鲜照人出入镜头焦点之间,实际上时时刻刻一举一动都在幕后经纪人的指导安排下,时时刻刻留意自己的收视率。
九月十七日 今天天气很好吗?天气已经变得很冷了
今天居然花了将近三百块买了一大堆的衣服杂物,感觉现在越来越没有勤俭解决的概念了,也许是钱太多了话不完?哈哈才怪。程序基本上处于停顿阶段,理由是cluster在升级,可实际上是我没有想清楚,到底是一个主线程加上两个子线程还是两个平等的线程?Dr.M的想法不能说完全没有可能,可是我总是有些将信将疑,总觉得有违背常识的地方,又是Dr.G的异想天开,就如同他上一次跟我辩论hierarchical的算法一样,除了天真我没有什么别的此可以来形容。买了一个高级的“热水袋”就是微波炉里面可以加热的那个袋子,因为膝盖疼得厉害,还有就是我从来都不相信吃药的,今天破例买了一瓶试试看。也许冬天真的来了。
youtube上有日本NHK的纪录片《激流中国》非常的入木三分,欧美加拿大之类的电视台播放的有关中国的东西大都不着边际因为他们根本不了解中国也根本没有什么兴趣关心这个国家,倒是日本人看中国的问题非常的犀利,中国还是一个农民为主的国家,刚刚经过两天的工业化资本的原始积累刚刚完成第一步,很多人的奢侈超过了大多数欧美普通人的想象,更多的人的穷困也超过了大多数欧美普通人的想象。
一个人的思想的堕落是从物质生活的堕落开始的。
windows很离谱的,用createFileMapping打开的handle也是一个类似于CreateFile打开的handle,意思就是说当我准备改变文件大小,用setFilePointer移动文件指针,在调用SetEndOfFile的时候如果不把这个mapping的handle也关掉就会失败。实在是麻烦因为linux应该没有这个吧,到时候也要小心。我终于想了一个比较好的办法就是我只负责实现内存到内存的方法,写文件让用户去使用fileMapping好了。这不是很好吗?
九月十九日 今天天气很好吗?天气已经变得很冷了
大陆的主流媒体实际上都在绕开台湾入联公投的真实目的,回忆一下香港当年的7.1五十万人大游行的后果,北京非常震惊因为当时的信息渠道从来没有真实地反映香港的主体民意以至于北京并无法预计到这个结果,同样北京看到高雄并没有预计的五十万人大游行也算是送了一口气,假如台湾的主流民意都是主张加入联合国的画北京恐怕连动武都不敢想了,因为就算打下来了怎么管?所以陈水扁这样做的目的就是给台湾加上一层比爱国者还要有效的保护罩,因为台海两岸的军力是不平衡的,只有靠所谓的肉盾,这正是北京最不愿看到最不愿意大多数民众意识到的,所以媒体绝对不会提醒这一点,至少不应该让大多数大陆同胞意识到,否则将来的武力解决的正当性又会是一个问题。
九月二十日 今天天气很好吗?
是的,很好,早上骑车去皇家山遛了一圈 九月二十一日 今天天气很好吗?是的,很好,早上骑车去
圣劳伦斯河遛了一圈 九月二十二日 今天天气很好吗?是的,很好
。 九月二十三日 今天天气很好吗?是的,很好
,下午去皇家山溜了三圈。
晚上闲了没事干,喝了一小杯红酒,把以前最晦涩难懂的电视剧翻出来看《black
adder》,这是mr.Bean演过的不多的几部喜剧,(听上去很别扭,难道他演过悲剧吗?)非常非常难懂,因为讲的是英语,这又是有语病的说法,难道我听不懂英语吗?当然是的,当然不是,depends是什么英语,比如莎士比亚的戏剧也讲英语难道你听得懂吗?仿佛中国的电视剧如果三国演义西游记统统讲原文估计有不少的“中国人”听不大懂,外国人当然就更不懂了。我发现这两者的组合“红酒+blackadder”又神奇的催眠效果,比《yes,prime
minister》好太多了,相比之下后者的英文还是浅显易懂的,当然我想对于大多数以英语为第二语言的人能够听得懂其中的幽默是非常不容易的,很多小孩子以为看懂流行电视剧比如《friends》之类的就表示她英语可以了,其实那是给普通labour阶层或者家庭妇女设计的,基本上用的词语不超过日常范围,所谓情景剧,这些鄙人一般是没兴趣的。我宁可去看《redgreen
show》,uncle red要比那个有趣的多。最后,偶尔地扫了一下“amazon.ca”上的评论你可以想象与我同好的人多了去了,当然肯定是极少数,在这个社会,哈哈。看得懂书评的人就很不简单了,当然你要先看过DVD了。
九月二十四日 今天天气很好吗?是的。 九月二十五日 今天天气很好吗?是的。
今天据说是中秋节,王辉和我打赌如果我晚上能够把outlook express的邮件读出一封来他就把我家的键盘或者显示器蘸酱油吃下去,这个事情我一定要公布出来防止他赖账,当然他的另一个选项是请我吃十天的烤羊或者烤鸭,上一次他已经为了一个什么东西打赌要吃我家的键盘后来被我宽宏大量绕过,这次绝不放过,一定要让全世界人民都知道!对于他的问题我也在今天晚上找到了一个可能的解决办法,那就是不用做什么逆向工程去分析OE的文件存储结构而使用改换文件名的办法来读写,因为原本MAPI就是不管本地读写的,这一点微软没有错,MAPIReadMail原本就是读写incoming mailbox。
再说一遍,记住了,否则就真实和大多数人一样变成白吃了:typedef ReturnType (CallingConvention * FunctionType)(ParamType ParamName...);
现在我开始玩platformSDK感觉自己进入了又一个境界。
九月二十六日 今天天气很好吗?是的。
微软不愧是苦口婆心,同样的mapi函数照样做了一份给VB用,前面全部加上一个"B",其实原本vb应该去调用com接口的,可是微软体贴哪一类开发者的辛苦给他们开了后门。 如果你在mount之前在那个directory存了什么文件,那么你把它mount成一个设备以后当然是看不到那个文件了,但并不等于丢失,umount之后那个文件还在,linux的设计你不得不佩服。pthread_cond_wait的含义其实挺复杂的,就在于这个东西防止了busy-waiting,但是为什么一定要在mutex_unlock之前去signal呢?在我的原来的想法里面是你先unlock_mutex然后再signal_cond_variable这样那个wait condition variable的线成也就不用再去获得mutex了的竞争了不是更好吗?看来一定是实现上的困难才有这个要求,否则用一个mutex就可以了何必要condition variable?
果然我的直觉是对的,实际上关键不在于signal而是在于cond_wait,一般的系统mutex都是一个binary-mutex,就是非counting-semaphore的东西,(只懂java的人不太会明白他们有多么幸福,当然也就不知道自己有多么的不幸,counting这个东西要远比binary复杂。)这个东西会有问题就是说如果两个thread都是去减少计数,最后谁也醒不来了。(大概就是这个感觉吧,具体的我也懒得想了,以前做个不少的例子。)也就是说signal多少次都无所谓,甚至于不相关的thread去signal也可以的,这是合乎常理的,但是cond_wait必须要保证只有一个thread。。。(hmmm...就是说。。。头疼。。。我感觉这个cond_variable的使命并不是为了保护predictive的atomic access的,而是为了保护那个计数器的)效果就是每时每刻只能有一个thread去evaluate那个predictive,当然程序员要保证这个判断条件互斥...
我做了一个简单的比较试验来比较conditionalwait与普通的mutex,结果简直是惊人的。
九月二十七日 今天天气很好吗?
下雨了。
完成了一个模拟,就在心满意足之际突然开始怀疑整个测试的基础,究竟在什么前提下我们需要多线程?大多数kids总以为使用多线程会自动增加效率,可是假如原本的工作就是顺序执行的,难道我们需要多线程吗?核心的问题是io与compute是否并行而不是什么其他。
九月二十八日 今天天气很好吗?
下雨了。 九月三十日 今天天气很好吗?
很好。
照着com的一步步实现非常的繁琐,不过这本书很好,从最原始的用dll来模仿com做起,一步步来说明,只不过让我感到在某些情况下addRef和release的使用比delete来的更加头疼,因为自己的代码来控制delete毕竟是一个个人的事情,相对来说容易得多,让别人遵守release实在是太难了。classfactory也是一个头疼的事情,包裹了好几层我头都晕了,的确,com至少需要五年以上c++的开发经验以上,这里不包括那种纯粹使用wizard写应用界面的所谓“开发”,那种纯逻辑的东西大概不需要计算机专业毕业的学生去做吧。c++的interface不支持多重继承?当然对于实现的class是可以继承与多个接口的,就是多重继承纯虚类。
以上说法也对也不对,c++支持多重继承,只是在默认的继承时候如果两个父类都有某个函数的时候子类默认继承时会让编译器不知所措,但是如果你override那个virtual的方法也没有关系了,不过如果不是virtual呢?也是一样。至于是接口那就更加无所谓了,因为连代码都没有产生有什么关系呢?
我单身,我碍着谁了?碍着我妈了,因为我成了她社交生活的面子,我成了她晚年不幸福生活的罪魁祸首,我在地球表面上离中国最远的地方还是妨碍了这么多人的生活!
十月二日 今天天气很好吗?很好。
The expected improvement:OpenGL doesn't get lock-step with MPI thread. It will have better refreshing rate. MPI_thread becomes smarter because it won't send useless data for rendering when there is no change of rendering context.
这就是plan,花一天时间应该差不多,唯一要小心的是deadlock&livelock.main-thread cond:
(graphicIndex+1)%MaxBufferNumber==mpiIndex; mpi-thread
cond:mpiIndex==graphicIndex;初始化条件是mpiIndex==graphicIndex.
十月三日 今天天气很好吗?很好。
我想解释一下什么叫做“国富民强”,很多人实际上不明白这个成语。说白了就是国家富裕了人民身体就强壮了,但是为什么呢?因为国家收人民的税太多自然就富了,钱多了却又不用在老百姓的医疗教育上当然就国富了,可是人民的钱包却瘪下去了,没钱看病就只好猛练身体,于是就民强了,身体不强不行啊!因为生不起病了。
十月四日 今天天气很好吗?很好。
#import "path\\com_server_file_name"
no_namespace实际上就是去读取typelibrary并生成c/c++头文件,当然一要先运行编译一下,可是visual也会锁定那个com,很麻烦,如果你的com是dll,用regsvr32.exe进行注册,当然visual在编译过程就帮你注册了。(exe怎么注册还没有学到。)从client端来看,你最好用oleview这个工具来看typelibrary,当然大多数时候并不知其所以然。创建com可以用smart
pointer,但是一定要小心,import已经帮你声明了smart-pointer的模板类,就是interfacePtr的变量类型,他有很多的constructor,比如createInstance,但是我被他fool了好久浪费了快一个小时才意识到操作符“->”被重载了使用的都是被代表的接口指针的方法,而真正的smart
pointer的方法却使用操作符".",哈哈。。。你fool了我,I服了you!如果不用smartpointer也许更容易但是引用计数实在是一个恶梦,一定要很小心。大体上你可以调用CoCreateInstance或者Ex版本,记住第一个是classID这里的意义就是说一个方法可能有很多coclass支持,你要告诉com你要拿一个地实现,返回类型是你的接口指针的,当然你要传入接口指针的guid,我这一点又犯了低级错误,我把Iclassfactor的接口guid传了进去,这是典型的把CoGetClassObject和他的wrapper函数cocreateinstance弄混了,实际上iclassfactory不是所有的接口都需要支持,相反所有的com都需要另外做一个实现这个接口的com所以创建instance实际上包含了两步,第一先创建那个com的classfactory并获得指针,然后调用IClassFactory的createInstance方法,这样做是有很深的原因的,在学习CORBA及其其他分布式的时候就会制导系统对于创建实例是不负责的是要com的提供者来实现的,在CoCreateInstance方法要传入接口的uuid是因为一个coclass支持很多接口,大体上创建了com事例后首先返回的是一个与最原始接口IUnknown兼容的接口指针,在调用queryInterface方法来获取用户需要的接口指针。所以,你就应该明白如果获得的是IDespatch接口,你可以放心地把它cast成dual接口中的另一个接口。(这一点我还是不很确认,但是应该是对的,至少我的例子是这样。)使用com最好用exception机制来处理错误,因为也许引用计数是比较容易控制吧,_com_issue_error(hr),catch(_com_error
e)。BSTR本身就是双字节指针。CoCreateInstanceEx的最后一个参数是一个MULTI_QI的数组,哈哈。。。
十月九日 今天天气很好吗?
不知道。
1。文件I/O是blocking的,正如期待的,ReadFile这样的API会导致线程调度。2。文件handle不可以在不同线程之间共享。3。如果在CreateThread里面输出threadID,我不知道怎样防止程序结束之前的异常,是不是因为我的变量没有初始化?或者是因为stack variable的缘故?3。白吃一样的问题:TCP之类的网络传输是否算是I/O一样的,或者说一个伪命题:TCP是在那里实现的?是network adaptor吗?我不相信,也无法证实,不过我觉得肯定不是,所以大部分的工作是CPU的工作,但是真正的底层传输工作在network adaptor层里的工作要慢的多,所以,socket通讯实际上和文件一样会引发线程调度,(这听上去是废话,那一个学计算机的一年级学生会不知道?)4。问题是pthread仅仅是一个Linux的library为什么是真线程?Linux的syscall里面并没有相关的API为什么你可以操纵调度?同样的问题是syscall里面没有精确时钟,为什么gettimeofday之类的library可以有微秒级的时钟?Alex的解释也许有道理,就是128syscall不够用,所以有些功能是靠读取参数实现的,linux核心有一个不开放的时钟数,我忘了名字很古怪的,很多kernel编程的人都在用。5。socket编程我几乎没有在linux上试验过,发现了一个和我一样的noob做什么linux socket tutorial结果一个基本的概念都没有搞清楚,UDP是不能够listen的,那是对connected的,这个白吃引得我犯了白吃级的错误,想了好久才明白过来,网络上的kids有几个是可靠的?讲老实话,我觉得我并不是唯一一个看不懂manpage的人。(这样安慰自己了。)
中国政府才是一辈子的凯子外交,援助一个国家被一个国家耍一通,每年节衣缩食(当然是老百姓了,官僚的钱一分都不会少)援助接济朝鲜,付出几十万人的生命,今天人家谈停战协定连让你参加都不让,一个国家做到这份上实在失败,看到这一点我也不再感到自卑了。想想看吧,早年援助阿尔巴尼亚,后来是什么赞比亚刚果修什么铁路死的人又是无数,结果呢?那些非洲土著连维护都不愿意维护,铁路现在好像都不大能用了,在后来是越南,还不得不都刀枪来保卫边境,现在连这么一个自古就是附属国的朝鲜一方面拿着你的钱粮一方面却想甩开你和美国人眉来眼去,这一切都是为什么?因为那个混账主义,看看美国就知道什么是聪明人的主张,一切的一切以美国国家利益为最高追求,什么国际主义什么人权什么白吃主义都是放那个什么的,问题是这句话每个国家都会说都会做为什么我们做得这么差?因为我们的这个政府不是一个真正的民选政府当家的都还是封建时代的老爷,看看真正民选政府的官员,因为那谁认识国家的老爷这些官员好像打工仔一样整天提心吊胆如履薄冰一样地小心翼翼伺候人民老爷,只要是媒体上反映出来的民意不高兴官员立刻就要辞职下台,想想看整天喊着人民当家作主的口号实际上是最大的谎言,在他们眼里人民就是牛羊一样的。
十月十日 今天天气很好吗?
不知道。 十月十一日 今天天气很好吗不知道。 十月十三日 今天天气很好吗?
天好冷啊。int
argc, _TCHAR **argv, _TCHAR **envp)因为_TCHAR是一个兼容ansi和wchar_t的宏,会根据系统来定义,当然你确定无疑地用wmain也好了。2。字串必须使用wchar_t,他的literal比如字串要加一个L这个应该会把unsigned
char*变成unsigned short*,配合使用wprintf,wcnstr等等。3。然而最重要的是要设置正确的locale,要include<locale.h>然后是setlocale(LC_CTYPE,
".936");在网络上搜到一个不错的小孩子,不过在不少方面我看来是有些望尘莫及的,唉。。。我一直想不明白的就是他给的一个例子里怎样把某些核心加密代码“反汇编再加密”?用masm32吗?
看到新闻里说中国当代艺术品拍卖屡屡创新高,实在是莫名其妙,那些个垃圾玩意居然有人画上几百万上千万实在是不可思议。以前我认为那是一种新型的洗钱工具,就比如MR.W介绍早年为什么香港的电影会繁荣,就是因为香港的黑钱太多。所以根据大胆假设小心求证的原则,我也可以大胆的断定,中国的所谓艺术品拍卖市场繁荣是因为洗钱的需要,比如你现在要给某个贪官行贿,如果拿大笔的现金有时候非常的不方便,第一国内公司
现金的管理越来越严格,放都没地方放,你总不能还像当年我老家那些农民拿麻袋背人民币吧?可是如果给你一幅画让你的在海外留学的孩子到美国拍卖行去拍卖一下,不是省去了过关带现金的麻烦吗?很多时候如果你给咱们敬爱的领导送一幅名画,谁会说你是送礼行贿?
世界上根本没有什么真正的艺术品,至少在现代艺术领域,所谓艺术品在买家眼里只是投机的代名词,或者是一个象征性的标地物。在西方国家艺术品是减税的法宝,因为那些国家为了标榜对艺术的支持大都有所谓艺术品投资免税的政策,所以,我认为这些垃圾也许也是一些所谓外资进入中国的合法桥梁而已。早年外资进入中国投资的时候大都通过贸易渠道,因为当时中国有所谓出口退税政策鼓励出口,因此,通过贸易渠道一块美元换成人民币比正常的汇率1:8.3要高出将近十个百分点,中国每年都有大笔的外资要进入来投资,在鼓励外资的政策越来越消退的今天,投资形式是美元还是人民币可能都无关紧要了,外资据说进入中国井喷的股票房地产市场有限制,可是我想透过其他渠道比如这些艺术品可能是没有限制的吧?
姑妄言之,姑妄听之,大胆假设,小心求证。
天冷了,床头的法国葡萄酒喝光了,收集一下桌下墙角的易拉罐竟有两大袋子,去provigo卖了换酒喝吧。(听上去很别扭,可能是看《武林外传》看多了,语不惊人死不休。)
晚上认真阅读1944年盟军发动的开辟第二战场的诺曼底登陆作战及其详细地介绍,实在是令人无比的佩服,当时的盟军的工作实在是细致周到,巨大的工业能力超凡的想象力无比的人力物力资源,作为对手的德军也是让人肃然起敬的可怕的敌人,我其实现在明白德军不在滩头阵地配置过多的兵力而在纵深集结实施防守反击其实是一种更加积极有效的防御,在法国前线并不一定要配备太多的兵力,因为欧洲大陆发达的交通线即便是在波兰境内的德国精锐东县与被部队也可以在三天之内增援,所谓大陆登陆战与美军在太平洋的岛屿登陆战完全不同,因为广阔的纵深以及强大的后援可以在登陆的两个星期内都形成3比1的巨大优势,主要原因是登陆一方在没有占领大港口之前无法将超过10个师的部队送上大陆并保证两弹燃油等等的补给,而且最多只能有一到两个装甲师,因此,隆德施泰德与隆美尔相比实际上是一个战略家与战术家的区别,如果按照前者的判断而没有隆美尔的干扰也许盟军就不可能在1944年登陆成功了。当时盟军的空中力量和德军的对比是30比1,海军是绝对的优势,陆军也是占据很大的优势,在这种前提下依然坐了大量的充分的准备,甚至煞费苦心地进行战略级的欺骗,注意不是战术级的,全英国整个国家的战略情报封锁,上下齐心,即便如此在诺曼底登陆依然遭遇了相当大的损失,甚至可以说成功失败也在一线之间。反观PLA与现役的台军在实力对比上远远达不到压倒优势,甚至可以说在很多方面还处于劣势,根本没有做任何的具体的战略准备,甚至连战术级的准备部队的基本训练都没有,怎么可能进行军一级的作战?集团军级作战根本就免谈,空军海军多兵种协同完全是天方夜谭,所以说最多就是若干特种大队的突击行动,这样大规模的作战在和平年代没有周密完备的准备一年以上根本就不可能。所以,台湾现在就算独立了,PLA绝不可能在3年内做出任何的应对,唯一可行的方案就是潜艇封锁海港,但是这是绞杀绝对不能长久,而且是会双方都受损失。总而言之,台湾并不是不能独立,实际上问题是独立了以后怎么办的问题,而且本来就是独立的,何必要再提什么独立呢?
十月十六日 今天天气很好吗?天好冷啊。
qsort如果输入的数组是长度为一的话会出错,设立条件debug就是ctrl-b。
我最后终于耐着性子把我的project贴出来,一则因为原本就像做成开源(当然是前提有人有兴趣,不过很多paper发表之后实际上没有附带源码让想验证的人没有头绪。)二则因为要改动不少我已经有些糊涂了,又很懒不想用什么版本控制的工具(主要是学不会,除了source-safe用了几天,其他的都太复杂了。)加上简单的说明文件大小大概不到400k,其中很多东西很可能是过时的,或者不一致的,现在让我自己重新想一下很多时候我常常突然想起什么然后发现我原来早已经作了,只是我忘记了。基本上作为个人纪念而已,代表着一年多来我也不是完完全全的无所事事。
十月十七日 今天天气很好吗?天好冷啊。
matching, matching,
matching...
十月十九日 今天天气很好吗?天,突然变得好暖和。
我比较喜欢《武林外传》里郭芙蓉的一句经典台词:我也是无意中走上文学这条不归路的。
十月二十日 今天天气很好吗?天,不冷但是很阴沉,还下雨了。 十月二十一日 今天天气很好吗?很好,阳光灿烂。
让我们记录下这个经典的并行算法例子,这是《Limits To Parallel
Computation》开头的一个入门的例子,假如你有一个并行系统,比如cluster,你能够设计一个时间复杂度为O(logn)的排序算法呢?Recall排序的理论下限是O(nlogn)。Given
n*(n-1)台电脑组成一个所谓计算矩阵M分别计算这样的结果,假设要排序的鼠族元素分别为n1,n2,...nn。M[1,1]计算n1和n2的差值,如果n1<n2则结果为0,否则为1,M[1,2]计算n1和n3,M[1,3]计算n1和n4。。。这样我们就有了关于n1的一个n-1的0或者1结果,他们的和就是n1的rank,就是最终排序的位置。同理n2,n3...nn都有这样的结果,所以排序变成把这些结果加总的过程因为我们的计算矩阵是独立的电脑这些计算是并行的,又因为比较大小是一个常数时间,所以核心变成加总的时间了,(在早期的并行计算很多讨论时关于数据怎样部署到各个电脑,现在几乎没有人关心这个问题,在sort-first,sort-middle,sort-last你都可以看到这些concern的阴影,这在十几年前是不能回避的问题,现在nfs之类的共享文件系统让人们几乎可以忽略这些问题。)对于n-1个结果的加总可以用经典的类似binary-tree的方式来并行处理,两两加总,最后归一,所以时间复杂度是O(logn),对于n个元素,每个都是可以同时进行的,所以总的还是O(logn)。当然这里我们忽略了最后的数组排序的结果部分,这可以简单地在O(1)时间内完成,因为rank就是元素的最后的index。这个例子得惊人之处在于他给出了一个并行处理的基本结果:(best
of sequential time)/(number of processor)<=(parallel
time),看上去好像没有什么仿佛你伴着脚趾头都想得出来,可是反过来想象它的意义,翻译作者的论述就是假如你想让你的并行系统有着“高效并行”效率(这里可以理解为O(logn)),你可能至少要投资数量为问题大小n的指数大小的处理器(polynomial
number of
processors)。这个结论让你很兴奋吗?我觉得是很沮丧的,这也正是作者想要引出的问题核心所在,是否冥冥之中有某种更加深奥的limits?
十月二十三日 今天天气很好吗?下雨了。
物质不灭定律好像在我家失效了,我的DVD《四个婚礼与一个葬礼》找不到了,我的壁橱的挂钩掉在地上就找不到了。只好把《Notting
Hill》找出来看了看。
十月二十四日 今天天气很好吗?下雨了。
看到PLA第124机械化旅的训练照片觉得太做作,因为作为一个普通全训连队按照美军特种训练的样子做给美军参观团看实在是有些虚张声势,现代的士兵你不可能要求他们像继十年前一样的不折不扣执行长官的命令,今天的当兵的不可能不把从军当作是一种职业的选择,如果是职业就应该是有所求。
十月二十五日 今天天气很好吗?
太好了,背了几十公斤的背包去爬山。 十月二十六日 今天天气很好吗?太好了
。
Yes, I am a bit wrong with iterator. list<int>::iterator
it2=lst.begin(); 十月二十七日 今天天气很好吗?
下雨了
。
Joel昨天给我的的建议我觉得我比较能够接受,相比G的提法其实是一样的,只不过Joel给我看了SMP中四个cpu的占用率非常的有震撼力,如果我能够纯粹地把计算限制在CPU而不是GPU那么这就可以让cluster
overcommitted去运行多个process,如果MPI又能够充分利用本地进程间通信绕过network这是一个很好的方案,也许需要使用OpenMPI而不是HPMPI.
十月二十七日 今天天气很好吗?
天气很好,但是还是有些冷
。 十月三十日 今天天气很好吗?
还是有些冷
。 十月三十一日 今天天气很好吗?
还是有些冷
。
下一段的逃生训练在西伯利亚的冻土带,温度是零下32度,加上wind
effect实际你会感到零下46度,这种严寒完全不可能忍受,我是非常清楚这种温度意味着什么。chris在晚上出现了幻觉,指挥部决定中止演习派出搜索队寻找它,chris太冷了手脚不能正常行动无法接通救生无线电,这场逃生训练很可能要了他得命。
终于搜索队找到了他,他已经在雪地里呆了九个小时,他身体产生的热量还不足以补充失去的热量,令人惊奇的是当他在急救室里呆了一晚上后居然在第二天又继续演习,事实上搜索队甚至在晚上都放弃了巡逻准备回城了,他们视作装甲车,chris却是完全徒步靠着一个雪橇可是雪深到膝盖,每走一步都是多么艰难。chris要严图到达一个个的联络点,每一个地点存有下一个联络点的路线,所以他不到达联络点就不知道下一个点,有一个联络点在河对岸,搜索队在河边布防用夜视仪监视结冰的河面,你根本不可能躲过监视,幸好有很多人车过河,chris的机会就是混在人里面躲过监视,他做到了。下一站是在城里面躲过监视,chris伪装成本地人,后来发现时间上chris和搜索队就只有几步路经过了监视队的卡车。chris找到了本地的联络人获得了一辆雪地车向目的地出发,同时搜索队得到了指挥中心透露的情报,又一场追击开始了。最后时刻直升机来接chris,搜索队只差几秒钟就抓住了chris。
着一个演习发生在洪都拉斯的蚊子海岸,你可以想象有多么热的热带丛林,chris在丛林河流间穿梭设下一个个假象迷惑追踪者,他涉过河然后制造假象进入丛林,实际上又涉过河。这给他一些时间但是代价是他的脚完全被浸泡的水泡软了,他也失去大量的水,开始脱水,他在藏宝地点埋下了一个手榴弹一边当搜索队发现他的故意留下的假宝物时候爆炸,后来果然搜索队掉到了陷阱里。虽然搜索队有直升机还有总部的情报支援,结果一个队员还是中暑脱水了。chris的日子也不好过,原本计划4天的逃生计划有了变化直升机不来了,chris要多呆一天半赶到海边去和接应的船会合。
《Looking for Comedian in
India》实在是非常的funny,这是一个搞笑的电影,美国政府向修补和穆斯林世界的关系于是派出一个comedian去印度和巴基斯坦寻找当地的comedian并且了解怎样才能让穆斯林发笑,并提交一分五百页的报告。在印度你看到了很多滑稽的东西当然这个mel
gibson的那些笑话根本不能让印度人发笑,在巴基斯坦他的运气好多了,因为他秘密地和塔利班战士见面并表演了同样的笑话给恐怖分子让他们哈哈大笑尽管他们完全不懂英文,可是却比说英文的印度人更能欣赏他的笑话。不过说老实话我是一点都不觉的那些笑话好笑。因为他的到来巴基斯坦和印度中断了好几年的和平又开始武装冲突了。
十一月一日 今天天气很好吗?还是有些冷
。
瓜岛之战日本还是占上风的,至少当时地面部队人数占优,海空占优,号称“东京快车”的日本驱逐舰对每天晚上准时向美军发动进攻同时卸下陆战队,但是问题是海岛有时候会成为坟墓如果没有充分的补给的情况下,单单疟疾就让8000名美军失去战斗力,而日本方面要糟的多,日均甚至连起码的食物都保障不了就不要说药品了,整个战役大约损失了两万多人。
十一月二日 今天天气很好吗?还是有些冷
。 十一月三日 今天天气很好吗?还是有些冷
。 十一月四日 今天天气很好吗?
很有些冷
。
美国海军水兵中居然有15%为女兵,这的确让人比较吃惊,不过仔细一想也不奇怪,因为海军多位技术兵种,雷达通讯电子技术等等男女比例差别当然没有陆军那么大,不过我一直认为美军应该会在二十年内实现无人化,遥控化,到那个时候战争真的要成为电子游戏了,这样美国民众比较会接受这种地伤亡率的战争形式。看到国内拍的一个什么《井冈山》的电视剧,实在是比较搞笑,毛泽东别演绎成类似诸葛亮一样的角色,居然会多在城楼里叼了根香烟冲着国民党的骑马的师长说“杨汝渲你还不下马受降更待何时?”这实在是夸张的离谱。
与此同时,我在military channel上看到了美军一直在推崇的新世纪数字化步兵系统,"land
warrior",主要包括的还是更好的资讯,士兵的头盔基本上是一个信息平台,指挥官的命令其他士兵的视频都集成在里面,而且士兵的步枪瞄准系统也集成进来当你把枪伸到头顶你也可以瞄准射击,而且指挥官也可以看到你的影像。此外耳机系统也可以成为你的电子耳因为它不仅仅是耳机还可以成为拾音器放大机让你成为耳聪目明的猎手。这个系统结合另一个美军的杀手锏--stryker步兵战车系统,这款步兵战车在2002年展示给美国国防部后大为好评,当即订购了2000套。时速65英里,有指挥车,火力支援车配备155毫米自走跑,普通型也可配备大口径迫击炮,还有医护型,整车可以空运非常时候在伊拉克的轻步兵使用。我想依靠这些新型装备美军在伊拉克的局势最终会得到改善,现在需要的仅仅是时间。相形之下,PLA大概现在刚刚达到美军二战后期的水平。另一种令人惊异的武器是mk19手榴弹发射机的改进型xm307,它可以发射航空爆弹达到400发/分,更令人惊异的是他对付snapper的手段,瞄准后榴弹会自动定制引信延迟时间正好在你射到目标的时候爆炸这样多在建筑物的枪眼里的狙击手就被炸死了而不用摧毁整个建筑物。
据说美军的M777是世界上最好的自走炮系统,德国的panzerhaubitzer2000也可能是当前最好的,他的自动装弹系统使得它相当于旧系统的三倍。他最强的地方还是机动性,发射完之后三十秒内炮管归位然后开动,这点时间有时炮弹还没有落地呢!据说他还可以发射不同的弹道射击同一个目标这样五个炮弹分别发射同时击中目标让你跑都没有得跑。德国人就是墙。
肩扛式标枪反坦克导弹非常的impressive,重约50磅,红外线自导,打了就跑,从上而下攻击坦克最薄弱的顶装甲,对付反应装甲也有办法,它可以有两次爆炸让坦克内温度达到8000度,为了掩护发射者使用一种所谓"soft-launch",就是发射的时候使用较小功率的发射器只是把导弹射到三十码以外,然后导弹上的主发动机点火向上飞行从上方攻击坦克,这样防止了很多肩扛式导弹的毛病就是坦克进入凹地消失在地平线一下导弹就失去目标,真是无处可逃啊。
十一月五日 今天天气很好吗?很有些冷
。
我喜欢看网络上愤青的火爆言论,有时候觉得自己也是牢骚满腹郁郁不得志的样子,其实不过是这两天偷懒没有去健身房的后遗症而已,一个人运动消耗掉过剩的心理能量就不会抱怨了。不过有一句话我觉得那个愤青说得很道地,国内现在很多人是咬紧牙关在硬撑着买房因为现在不买将来就更买不起,而且还有涨价的增益,问题是虚报收入最后的风险还是自己,从全国范围来看所谓的放贷严格控制来抑制购买投机而不从房地产建造的源头来解决无异于扬汤止沸于釜底抽薪的差别,需求从来不可能被抑制如果那是必需的,比如牛奶的价格上涨了是否就不喝了?加拿大肯定是不行的,在中国大米上涨了难道就不买了吗?
十一月七日 今天天气很好吗?很冷
。
看《亮剑》看得高兴得忘了时间,可惜啊,可惜,没有造看这部片子。日本当时的两线作战的确是兵家大忌,这一点那个日本特战大队大队长说得没有错,可是凡是看过《虎,虎,虎》就知道日美太平洋战争的爆发是不可避免的,日美贸易协定里面日本向美国进口废钢材和石油,罗斯福有意抑制轴心国的势力拒绝续签协定,日本占领中国可以获得煤和铁但是橡胶和石油却没有,所以日美开战是有些不得已,
十一月八日 今天天气很好吗?很冷
。
对于特种部队的使用上,那个日本大佐说得没有错,是战略级得高价值目标,本身特种作战就是不得已的对策,是在资源有限的情况下的集中有限资源期待更高回报的策略。北朝鲜号称全军特种兵化,这简直是荒谬,首先如果全军都是特种军那么还有什么特种?其次这也不可能,本身特种兵在很多人眼里成了擒拿格斗的代名词,可是看看英美的特种兵就知道了里面的种类很多,比如英国有一个pathfinding的旅专门进行搜索跟踪,其中有一项基本功就是追踪对手的足迹,美军特种兵里面有很多的所谓weapon
specialist专门精通各种武器,特种作战也不可能是真正的十项全能训练,人的素质特点都不一样能成为十项全能的冠军的人很多方面并不是非常突出,我以前看过一个报道说径赛项目要提高成绩体重要降低,田赛项目要提高体重要增加,这两个是很矛盾的,你怎么能够希望一个人两样都占全呢?所以,特种战士并不是仅仅拳脚功夫加上射击飞车等等表演性很强的项目,而是根据作战目的特点又针对的训练,长期不打仗的部队最大的毛病就是训练无针对性,假大空中看不中用。朝鲜战争期间PLA之所以在某些方面能和美军在距不打成平局有一个重要原因就是当时的部队特别是中下级军官都是打了几年十几年的仗磨练出来的,所谓实战中大浪淘沙那些凡是做事假大空的早就被淘汰了不知道多少遍了,和平时期没有战争的检验仿佛学生只听课不考试,听懂没听懂根本看不出来。
《亮剑》和国内以前的共产党宣传片一个显著的不同在于强调军人的勇敢精神,这在以前被说成是愚蠢的,有时候对于田横五百壮士的忠诚被看作是无畏的牺牲,实际上有信仰的人在大多数时候都是看上去愚蠢的,执著的贬义词就是顽固,当时的日军如果没有武士道精神绝对不可能依靠十万派遣军扫荡整个中原,也不敢挑战当时国力雄厚的美国。以前关于日本轻武器的缺陷有不少人笑话日本军队缺乏火力强大的自动武器,这在二战后期和美军作战时候明显的吃亏,这实际上不了解美日的差别,日本的给养保障根本不能和美国相提并论,尤其是在中国大陆作战的日军,交通不便就算有给养也补充不上,所以每次作战都是所谓的清乡扫荡不能持久,自动火器子弹消耗根本不是日本步兵所能携带的了得,所以三八式是最好的选择,日本士兵一向重视射击精准,拚刺刀也是因为子弹消耗无法补充的一个手段,当然对于士兵的勇敢精神是更加的有效。不过问题是射击技术的训练过程很漫长,日军后期补充的兵员质量远远不如早期的派遣军,后来的关东军在苏联红军的进攻小摧枯拉朽固然是苏军的火力强大,也是由于士兵素质很差兵无斗志。虽然日本军部认为哪怕失去本土固守满洲依然可以支撑,但实际上人人都知道失去本土军火兵员补给的满洲仅仅是苟延残喘而已。
新买了一瓶法国红葡萄的确味道和放了一个月的不一样,虽然一直封着盖子,但是葡萄酒的烈性去了一大半,看来《笑傲江湖》里面讨论葡萄酒的年份也不完全是夸张。
实际上战争的结果有时候是99%的运气加上1%的勇气与能力,这似乎有些耸人听闻,可是只要想想看从士兵冲锋陷阵来看你就是在有本事也只能祈求运气。但是话说回来了战争的胜利者大都是善于谋略的结果。这里说一个反例,《亮剑》里面伏击服部直臣率领的华北占地观摩团是做了戏剧化的处理,我看完后向了半天才明白前因后果。历史的巧合是与此同时阎锡山也派出了一批高级军官来八路军总部交流,李云龙为了给来观摩的国军将官露一手设计了一个小把戏,就是故意派一个班的小部队到一个小村庄向当地的维持会长要白面,其实这是一个简单的钓鱼把戏是为了诱出附近据点的鬼子来伏击,当然他是想打一个反伏击,当地据点的鬼子也不傻害怕其中有诈,就上报了日军第一军军部,日军的山本特种作战分队的指挥官敏锐地判断出了其中的端倪,在这么近的地区要玩这么一个钓鱼的把戏作秀的成分要大于实际的意义,从日军在阎锡山的内线报来的一批军官去八路军参观的情报来看这后有可能是为了做给这批观摩军官看的,那么能够接待这么一批高级军官的八路军机关不是八路军总部又是什么?于是山本又设计了一个将计就计,假装上当来咬鱼钩,实际却率领特战队千伏接近八路军总部。好大喜功的日军第一军军长又想加上戏剧效果让战地观摩团靠前观战,没想到李云龙的小把戏引起的日军调动又让八路军总部怀疑日军的企图命令他取消伏击行动,赶回去护卫总部,没想到李云龙这种而冷子偏不信邪又让自己的一个应改变伏击地点在另一个地方伏击潜伏一整天终于等到了战地观摩团的卡车,结果服部直臣亲身观摩了华北战争战死了。历史上是他切腹自尽,电视剧为了增加戏剧效果改为最后决斗而死。不管怎么说这倒是有八分真实地改编,山本特战队偷袭总部原本就是要作秀给关展团看的,如今没有了观众也无心恋战,因为偷袭改为强攻不符合精锐突击部队的作战原则,既然对方有了防备就该撤退了。《亮剑》里面李云龙的原形是王近山我google了一下看到了一些它的生平,比较有特点的就是他后来爱上了他老婆的小姨子,是个女大学生,并且为此丢了党籍军籍下放到农场当场长,这个事情非常符合他的外号“王疯子”,因为当时他原配老婆给毛泽东写信喊冤,他的部下纷纷劝他认错,但是他死活不肯直到老毛发话让刘少奇去处理一下也不低头。
看到了一篇评论说李云龙像土匪不像所谓革命宣传片里反映的高大全形象,是什么诋毁革命军队等等。我看了直想笑,这是典型的腐乳,想想看毛泽东在井冈山上就是山大王,当年的所谓革命武装能够生存就不错了还管得了那么许多?往往是那些迂腐不懂军事的政治委员严格把关严格执行纪律最后长征过草地的时候害的士兵饿死吃皮带,难道你就不敢抢粮食?只要给钱了就不算抢,对不对?没有钱咱就打张白条,难道你没有看到过老解放区的那些百姓攒下来的白条吗?你以为共产党的军队就不抢粮食吗?打白条不算抢,对吗?当年在东北发展东北民主联军的时候部队大都是伪军和土匪,难道这些人就不抢吗?只能说共产党的部队纪律比国民党的好一些,本质上军队的补给都来自当地农民,那么你怎么能够不去抢呢?那种相信从前电影里的高大全形象的认识不动脑筋,只要想想每天部队要吃掉的米粮有多少你就知道事实了。
不过我看过一个凤凰卫视拍的尼泊尔毛派武装的纪录片,其中的部队倒真的是吃糠咽菜,因为所有的米粮都是从总部分来的,勉强能吃饱。
十一月十日 今天天气很好吗?现在还不知道。 十一月十一日 今天天气很好吗?还好。 十一月十二日 今天天气很好吗?还好。 十一月十四日 今天天气很好吗?
阴天。 十一月十五日 今天天气很好吗?
下雨了。
和普通人谈并行渲染基本是浪费时间,因为明白并行运算的人本来就不多,并行渲染就更少了,nvidia的所谓的sli技术说到底大概可以算作sort-first的变形吧,但是这个方案有很大的问题就是load-balancing的问题,两个显卡分别负责奇数偶数扫描线也许要比另一种块分割来的好一些,但是并不能彻底解决load-balance。
十一月十七日 今天天气很好吗?
很好。 十一月二十日 今天天气很好吗?
昨天还是阳光灿烂醒来一看大地白茫茫一片。
我觉得我基本上是一个悲观主义者,对于那个binary-swap得近乎完美的constant的并行时间复杂度始终表示审慎的悲观态度,很多理论上很完美的算法在实时并行计算中被众多噪音所掩盖最终并不一定能够表现出应有的预期的结果,因为系统过于复杂了,就好像天气预报中影响天气的因子太多了你无法用一个单一简单的公式直接得出结果一样,但这并不等于理论的算法就没有实际意义,只是你需要正确的评价,分析,我觉得在这一点上很难达成一致,因为M说的很明白,所谓的学术圈时被一些少数凶残无比的mafia所把持着,他们对于所有外来的企图进入那个圈子的请求都作出最严厉的最挑剔的并且是降低到少到不能再少的关注,如果你的理论或者表达中有一丝一毫的漏洞或者模糊那么你很有可能就被枪毙了,所以,他们不愿意冒险因为思想是很容易被人偷窃的,当我们同时又谈到思想的交流是多么困难的时候。也许窃贼更容易接受别人的新想法因为他们是专业的搜寻者。几乎两年了,G的唯一的一个想法就是大概称作interlace的东西,我当时那种嗤之以鼻的态度一定被M感到不太高兴,因为这是他唯一首肯G的一件事,当然称作interlace是错的,真正的interlace是Nvidia的双显卡的sli之类的技术,G的想法我大概一年以前头脑发昏提出来的时候就被他们笑话了一遍,现在又提出来类似的确实出乎我的想象所以我当时才抑制不住地笑,这样非常的不礼貌,我想人们对于时间概念的理解困难导致了对于并行同步异步等等概念的理解困难,基本上pipeline的概念是号称学过计算机的人都不敢说不知道的概念,可是那伟人胸从来就不真正理解pipeline。
十一月二十三日 今天天气很好吗?
昨天下的是雪和雨的混合物。
MPIHP_Trace_on()这个名字我记错了害得我找了很久,我发现了zombie实际上是xclient的化身,我决定以后先关闭RGS
client的连接,然后再scancel,基本上我这两天都在做一些地基重复的工作。
十一月二十四日 今天天气很好吗?
昨天下的是雪和雨的混合物。 十一月二十五日 今天天气很好吗?
天看上去不错。
昨天晚上看电视的《planet of
apes》看到两三点,还是第一次看得那样感慨,人类的进化是一种偶然的随机事件还是某种超越自然的法则的约束的结果,这听上去缺乏科学精神,但是我想很多人并不能否认他们对于进化论的疑虑。我们的堂兄猿猴无论在身体力量与敏捷上都超越当时的类人猿很多,但是结果猿猴始终没有进化成智能生物的事实说明了什么?难道说明了一个简单的事实,someone
never learns a lesson。
<jarhead>这部战争片的震撼力可能不亚于<deerhunter>(猎鹿人)<modern
revelation>(现代启示录),这两部片子我基本上都没有看过全部,主要这类题材不适合那个二十岁在大学读书的我,
大概一个人只有到一定年龄才会开始明白生命的价值与意义。所谓jarhead大概是那些在美军海军陆战队里当过兵的人自己称呼自己的头衔,你第一天到营房报道如果你看到你的队友正在欺负新兵,然后把你捆绑起来用烙铁给你烫上marine的印记,在伊拉克海湾战争期间你天天在沙漠训练,在烈日下穿着防化服打橄榄球,我想你流的汗绝对超过橄榄球的重量,掌管用喝水来作为一种惩罚,想想看这是合法的,因为你每天必须和定量的水谁敢说这不是对的,CNN记者来采访,士兵被事先警告什么可以说什么不可以说,这是全世界军队都会做的,但是你被逼签生死状就不同了,因为萨达姆释放生化武器可能让你终生残废,所以你要吃药,所以这一切会逼得你发疯,这些marine在CNN女记者采访的时候会所谓的field-fuck,哈哈女记者赶紧背长官送走,然后士兵就通宵地在大雨中把沙袋堆成金字塔在拆掉再堆再拆。。。当然基本上后方的妻子和女朋友出墙变心的比比皆是,有一次士兵们看新到的A片发现床上的女人是一个人的妻子,这当然是一种奇特的经历。海湾战争基本上没有多少地面战争,一个经过了长期艰苦训练的狙击手被剥夺了唯一一次开枪的机会就发疯了,七十二小时的战争接着是遮天蔽日的油田的大火,如果全世界的民众多想一想萨达姆的疯狂也就会对美国人在伊拉克的战争又一个更加可观的评价。如同几十年前几十万美国青年投入到东南业的热带雨林进行丛林作战一样,美国人在全世界实现着他们认为最正确的主义与价值,毫无疑问地这触及到了当地统治者的统治利益,于是美国人的战争被贴上了侵略殖民霸权的标签,可是美国人在哪里建立了殖民地?有这样把人民从独裁暴政下解放出来的征服者吗?是解放还是征服?
十一月二十六日 今天天气很好吗?
下雪了 十一月二十七日 今天天气很好吗?
下雪了 十一月二十八日 今天天气很好吗?
干冷干冷的 十一月三十日 今天天气很好吗?
又下雪了 十二月二日 今天天气很好吗?又下雪了
大概地看了一下志愿军在朝鲜的伤亡情况,一次战役东线九兵团和陆战一师的战斗阵亡为1.5万,另外有将近一万人冻死,冻伤大约四万,美军阵亡失踪大约2500人。四次战役邸平里战斗阵亡至少五千人,铁原战役63军进幸存1500人,估计伤亡不下两万。上甘岭战役15军伤亡两万多人。这还是比较主要的战役,所以总共朝鲜战争伤亡百万是一个不争的事实,大概阵亡人数应该是38万左右。美军全部阵亡加上失踪病死事故死亡等等为五万多一点,在纽约的一个广场上有一个纪念碑上面都刻着名字。二战,朝鲜战争,甚至越战都不过是比赛钢铁和弹药,美军很强也不过是和别国军队由线性的差别,也就是一个比较大的常数,海湾战争代表美军和其他国家的军队有了指数级的差别,C3I的数字化让传统的战术根本没有腾挪的地方,原本你还可以依靠军事部署来欺骗,现在美国人看你是明棋,你却是在下暗棋,哪里还有取胜的机会?美国共和党候选人辩论会上反复说美军并没有输掉越战,的确美军没有输过一个战役,但是最后却承认输了,因为输在不能完胜,海湾战争就代表了一种美国人认定的赢得战争的标准,完胜,胜利并且没有代价。
十二月三日 今天天气很好吗?又下雪了
,是暴风雪
《武林外传》经典台词:本判官有些口渴想上趟厕所。我确定一定以及肯定。
bsub -n 3 -ext "SLURM[nodes=3;nodelist=n[39-41]]" -I mpirun -srun
./hello.exe
十二月四日 今天天气很好吗?又下雪了?废话。
以上是不全对的,exponent如果等于0就相当于2^(-127),所以如果要1就是exponent=127,fraction=0。当exponent=126的时候,相当于2^(-1)=0.5,这个地方是我不明白的地方,因为fraction=0,这个数就是0.5?为什么?我猜想应该是exponent+fraction,而不是相乘。我感到疑惑的是这种组合有可能多种相同的数字,比如0。(???)
闪击战的精义在于:1)已达成战役目标为座高优先,不惜付出重大牺牲。2)坦克为闪击战种装甲部队的灵魂但是绝对不可以单独行动,必须和诸兵种配合,比如炮兵,机械化步兵,防空兵,反坦克兵,侦察兵,空军等等,这就要求机动力不如坦克的部队如炮兵步兵跟上坦克的行进速度。3)必须高度重视空中支援与防空,如果没有制空权至少也要有足够的防空力量,同时应该尽量利用战斗机的空中侦察能力,与地面的侦查坦克共同做好侦查。情报是制胜的关键。4)进攻时尤其是进攻有步兵设防的城市必须要有炮兵和航空兵的火力支援,绝对不应该用坦克强攻坚固防守的步兵。5)对于伞兵的运用有时候可以达到扭转乾坤的作用,伞兵应该作为一个杀手锏留在最关键的时刻和关键的地点,比如在装甲部队进攻刀锋顿挫的时刻。6)步兵在近战时候有时候可以成为坦克杀手,防御的时候依靠战壕的帮助可以到达固守战略要点的目的。7)反坦克部队最大的优势在于隐蔽埋伏伏击高速前进的地方坦克部队,二战中突击炮在很大程度上是德军的无奈之举,比如当坦克底盘和坦克炮的产量不配套的时候为了前线救急只好拼凑出来,把自行火炮当作坦克来进攻中使用是对资源的一种巨大的浪费,往往会被隐蔽的苏军反坦克武器击毁。8)火炮在防御中的火力支援和进攻同样重要,如果有两支炮兵分别部署在前后纵深在配合一支防空兵几乎可以达成一个完美的防御体系,两支炮兵互相支援,火炮同时支援其他的防御部队,防空兵防止敌军航空兵攻击纵深的炮兵。
十二月四日 今天天气很好吗?又下雪了?雪停了。
/bin/tcsh myscript.bat
mpirun -prot -T ...gives you protocol and
running time.
setenv SLURM_JOBID `squeue -h -n $HOSTNAME -o
%i`
证实了一件事情,mr.bean在《never say never》里面出演那个滑稽的英国外交官。
在我的home目录里的.cshrc里面加上/etc/profile.d就是为什么我不能再tcsh里面设定module load
mpi的原因,那个modules.sh应该是负责module文件的,#!/bin/tcsh会重新开一个session所以一定要在我自己的profile文件里加上目录。mpirun的HPMPI版本在/opt/hpmpi/bin目录下,但是还是应该把这个目录加到path里,不过我还是不知道为什么setenv
PATH $PATH:/mypath为什么不行。如果是processes在同一个node上,protocol是SHM应该是sharememory.这个就是我当初问HP,结果那些人胡说什么HPMPI没有做任何的优化,这些technique
support的话几乎不能相信。那个印度家伙一直强调zombie是由于gnome造成的,一定要我用KDE,我对此还是半信半疑的,现在也没有下文了。今天写了一个超级无敌的脚本生成程序,结果我所有的profiling都是自动进行了,我终于可以早点回家吃饭了。
十二月七日 今天天气很好吗?又下雪了?雪停了。
A bad peace is even worse than
war.--Tacitus第一句是一个游戏的slogan,第二居室我从quotedb.com抄来的,现在发现互联网的好处,什么都能够找得到。这一句也很有意思,There
are two things which a democratic people will always find very
difficult--to begin a war and to end
it.这一句仿佛是说给美国人听的,二次大战美国人民并不愿参战,是被日本拖入战争的,但是一旦开战美国全国上下没有一个在动摇的,就是按照罗斯福的说法要获得和平不仅仅要彻底打败日本还要包括德国。伊拉克战争似乎在应验很难结束这一条,什么时候才能有和平?
十二月八日 今天天气很好吗?又下雪了?雪停了
,天晴了。
一枚硬币总有两面,一起事件总有两种理解,问题在于你自己是否有正确的判断,或者说你的判断基于什么可以检验和证实的基础,这就是人类的正确认识,在古代这种能力仅仅需要少数统治者掌握,今天大多数社会成员都应该具备才能配的上人这个称号。很多人相信只为了相信,很多人相信只为了不相信,还有很多人不相信只因为相信,还有很多人不相信只因为不相信。(为了凑字数,一下删除一百二十万字。。。)military
channel的说法是1996年共军在台湾是射导弹的时候美军拍了两艘航母示威,最后共军知难而退主动降低了导弹试射的等级偃旗息鼓。这和网上很多粪青的意淫说法有很大出入,国内盛传的谣言是美国航母因为共军的潜艇的威胁而主动撤退,不过我更加倾向于美军的说法,因为实力是最好的宣言,敢于展示自己的人是因为有自信的人,一个国家敢于向国民显示自己的军事技术的是因为他们相信即便敌人知道了也没办法,根本无法对抗知道了又怎样。只有弱国才需要保密来稍稍地改善自己不利的地位。60,70年代仿佛西方领导人很重视中共领导人的讲话一样,其实不是因为中国那个时候强大,而是因为如古代君王一样的高的神秘,看看金正日就知道了整天穷兵黩武国立已经衰微到了几点,可是世界反而很怕这个比南韩国力小很多的北韩,为什么?只不过神秘保密制造出了不确定,你根本不能何疯子或者白吃决斗,因为他们不可预测,打赢了是应当的,打输了实在不服气(不是真的输,赢得不彻底就算数。)
今天中国成了石油消费大国,看到Militarychannel回忆海湾战争,我的问题时如果是今天伊拉克侵略了科威特,中国会不会派部队参加多国部队?应该回吧。
美国人参加一次大战可能更多的是心理上的意义,参战的时机正是欧洲大陆交战的焦灼时刻,德国两线作战筋疲力尽,英法也是强弩之末,美国在天平的一侧是literally
last
straw。不过年轻的marine还停留在独立战争时候的队列前进,第一次参加进攻总共费了六次损失一万人才攻占了一片小树林,当然这对于当时的德军心理上是致命的,因为德军认识到他们赢不了战争。
十二月九日 今天天气很好吗?又下雪了?雪停了
,天晴了。
我看的这个版本是一开始的那个四小时零三分的长版本,看完之后我突然想起来大学的时候学新概念的时候好像就学过这个伊丽莎白泰勒,好像嫁过六七个男人吧,让人想起罗马人对他的称呼,quote,
egyptian whore,end quote.
十二月十一日 今天天气很好吗?天晴了。
一个小小的改进效果就是非常的显著,现在移动视点的时候画面不再会因为file-mapping新的节点而jerky,因为我在初始化之后每次都优先把原有的节点分配给原来的render。
十二月十二日 今天天气很好吗?
阳光灿烂。
忽然间仿佛翻到了书的末尾略一凝思发现这本书的章节竟然没有一点印象,这就是生活。我平常不做homework的后果就是犯了严重的路线错误,大方向错了,这个教训太大了。M曾经对我说过,If
you worry, then I won't worry.现实是I
should have worried more than he could.所有的一切都是基于一些错误的假说的基础上,所以,所有的结论都是错误的,有一些基本的概念和认识的缺乏导致了大的方向的错误,是否pixel-merge是系统的瓶颈?在pc-cluster上的确是,可是在peer2peer的cluster上是可以做到近似常数的,在另一方面我们总是认为加了光影效果的rendering是很慢的,但是前提是复杂的光影效果,flat-shading,smooth-shading说到底都是很快的。
十二月十四日 今天天气很好吗?
有下雪了。
明天要去旅行了,订票的过程十分的仓促,就像我一生中很多的重大决定一样,匆匆忙忙漫不经心,等到除了结果才发现我想要去14天却订成了11天,唉,就这样吧,就这样吧。第一件事情是把我几个月的衣服洗一下,实在是没有衣服穿了。然后。。。打了个电话确定了我的免费保险确实存在。 亚历山大的战术非常的有效,他的长矛兵几乎所向披靡,这是他的砧板,他的骑兵绕到波斯步兵的侧后冲击,这就是他的铁锤。 十二月十六日 今天天气很好吗?蒙特利尔是否还在下雪?古巴今天下雨了。
(第一天)
凌晨2:30到达古巴,四点钟我还在看CNN关于穆斯林的新闻综述,这是一个很难解的问题,人和人的像法师这样的不同你实在很难理解那些穆斯林极端主义分子的想法,同样回到我很久以前的感慨,子非鱼焉知鱼之乐?这同样的话也可以理解为子非鱼焉知鱼之哀?
《windows核心编程》实在是一本武林秘籍,任何一个号称中级程序员的人如果没有明白熟悉其中80%的issue那就是吹牛了,我觉得我大概只接触过50%到60%的议题,真正感到没有问题的大概只有30%左右,很多都是一鳞半爪知之不详,可惜我看得是中文版总要打个折扣。VC6里面可以设一个@err,hrz这样就省的我每次都去查错误代码,实在是很方便一定要用呀。以前总是听说win2k使用unicode编码的但是这意味着什么我并不明白,现在才意识到其中的API的A版本和W版本并不等同,实际上只有W版本,A版本不过是把ansi参数转为wchar的参数再去call那个W版本,这当然是慢了。而且我还是第一次意识到字串处理的library除了你用CRT的那个还有操作系统和信用的另一套,这当然是一个我一直忽略的问题,是否所有的客户电脑都一定有CRT的dll,我问过W的意见,他总是坚定不移的肯定,这让我心底里怀疑,不过如果用kernel的那一套就根本不用操心这个细小的问题了,当然我还没有去试验到底需要那个头文件,那个lib。对于handle我想任何在windows上编程的人都不会陌生,但是实质意义是什么我想不会人人都知道,至少我不甚了了,以前也仅仅是靠linux的file-descriptor来理解,就是系统创建的数据结构的array的index,反正是个不透明的东西让你看得见摸不着而且系统怎么扩展都不会影响你,但是window应该是有更加多的内涵,因为所有的系统对象都可以有一个handle,这当然好象linux所有的东西都是文件一样的道理,但是访问权限结合起来window和linux的差别就比较大了,我现在能够理解的就是系统对象的意真实地只得在映射表里面另一栏是一个flag里面定义了访问权限可否继承等(不准确),实际上真正有使用价值的是windows里面父子进程的权限共享的模式,linux经过fork自然就clone了所有的资源句柄,但是windows只有exec没办法这样,而exec虽然有父子关系但却没有父子进程的实质管理意义这一点比linux差多了,当然windows也不会有linux的zombie的问题,有利有弊吧。但问题是怎样传递句柄?命令行?环境变量?消息?消息当然是万能的而且没有时刻的限制,不象另外两样有通知的问题,比如只能在开始的时候做,如果子进程开始运行了你就难办了。再接着看吧,看有没有类似IPC的进程间通讯工具。
看美国总统竞选我总有很多感受,比如最简单一个党派竞选人的提名机制问题,和台湾今天的模式比较一下你就看出一些问题了,比如民主党有一大堆的竞选人怎么决定呢?台湾的民进党要什么党主席协调等等这些稀奇古怪的黑盒子办法,美国民主党怎样做呢?民调是不足信的比如台湾连电视的收视率的民调都是作弊的,美国我想肯定也经历过类似的困扰,最简单有效的办法就是让选民掏钱出来,什么口头表示都不如让普通选民掏钱包出来支持他们的候选人,所以希拉里,奥巴马才要拼命的筹款,这才是铁杆的选票,用钱去买票?在台湾是这么做的,但是前提是钱从哪里出?小国可以向美国这样的大国谁买的起呀?总而言之所有的美好多东西都要有实质有效的制度来支撑否则都是空谈,很多中国历史上的改革都是因为缺乏一些有效的具体办法而失败的,所谓有效的一个标准就是操作性,另一个就是钱的支持。美国竞选是很花钱的工作,钱从哪里出是个大问题,现在美国总统竞选越来越像一个风险投资了,谁来承担竞选失败的后果?换言之,谁来买单?消费者,就是选民,这才是良性体制。
如果所有的问题可以描述给计算机,那么问题最终就是一个计算问题,计算问题的最终解决方案就是并行计算。所以不管怎么说我都是得益非浅的。 早晨跑步,吃完早饭看看书看看电视睡一觉,在起来游泳在沙滩跑步,回来幸福地躺在床上听海风,这就是度假的生活。 大师举了一个例子是关于多线程执行dll的问题,这个领域可以说是我的空白,我所能理解的就是DllMain这个入口函数是一个特殊的东西,如果用createThread来创建线程如果县城用到什么dll,那么createThread应该会创建一个mutex,(或者这个东西原本就是进程创建的)目的是保证dllmain的执行是synchronized,因为在DllMain里面有很多初始化的东西,(还有可能是嵌套的比如dll用到其他的dll)总之这个应该和java的那个synchronized很像,我原来有写过一个非常简单的例子说明这种死锁问题,就是在这种synchronized的function中不能去做同步的等待。大师的例子是在dllmain里面创建线程并等待它运行结束,结果创建线程的线呈霸占了dllmain创建的线程当然连初始化都不幸更别说结束了。原理并不复杂,而且是大师的现身说法更加得令人印象深刻,不过呢,我花了一小会时间去体会最后还是要用自己的方式来理解,我想有一个原因是因为中文译文的关系,总觉得隔了一层很别扭。(这是借口,我现在的英文远没有到中文的程度,但是因为所有的概念都是从英文学来的看中文翻译的总有些吃不准,比如什么叫做“作业”?也许英文的term我也没有接触过吧?win2k的很多东西还是比较陌生的。 在海滩上散步实在是一种享受,相比之下厦门的海滩简直就是垃圾堆。加勒比海真是海上的明珠啊。 CNN有很多很出色的新闻报道,今天晚上的新闻报道是一个在阿富汗的记者报道阿富汗妇女的生活在塔利班被美军打垮前后的变化,之所以CNN能被大多数政权接受比如连古巴都允许就是因为它的客观真实,说句良心话,伊斯兰的教义实际上就是让占人口一半的妇女三是劳动技能这样可以解决一部分就业问题,当然也可以建立一种稳定的家庭因为妇女离开丈夫根本无法生存,所以从这一点来看很多国家的男人也许都向往这种宗教制度,尤其是一夫四妻制。节目中很多阿富汗妇女无法生存只好自焚,有时被婆婆虐待,有的是七岁就被卖做童养媳。在这之前还有一个阿富汗农民种植鸦片的报道,当地农民也是走投无路只有毒贩子和塔利班能够帮助他们,贷款种鸦片。另一个在当地成功的女性,一个即便在塔利班统治时代秘密组织妇女研究文学,进而成为一个popular的女诗人被他的极度的丈夫谋杀了,原因看起来仅仅是因为当地的男权社会让他丈夫感到无法做人。几乎伊斯兰极端主义大都是在最贫穷落后的地区兴旺的,巴勒斯坦的女性人肉炸弹很多也是因为生活所迫,求生不能求死还可以让家人获得所谓的荣誉和一笔安家费,那么为什么不去做呢?我觉得我对于伊斯兰这种宗教的感觉越来越接近基督教国家的主流了,事实上宗教的冲突是这个世纪的最重要的议题之一了。阿富汗的老师还要冒生命危险如果他们教女学生的话,即便是受过教育的阿富汗青年也不能把他们的妻子让他们的朋友看到,连照片都不行,这的确是防止通奸的最好的办法,哈哈。。。伊斯兰教的通俗说法就是男人家里如果有四个老婆肯定不可能有什么精力去通奸嫖妓了,这也不能说完全没有道理。不管怎么说阿富汗还是有改善的女孩子至少有法律上上学受教育的权利了,这一切没有美军的入侵是不可能发生的,这个地球上除了美军能推翻塔利班还有谁能去做会去做?苏联?中国?英国?法国?欧盟?只有美国!我们的地球不能没有美国来当地球警察。 《God's
Warriors》开始播放第二集,基督徒版。美国的基督教教义派至少比伊斯兰极端主义来得好的地方是他们尊重生命,当然这并不表示我支持他们反对堕胎的主张,自杀炸弹,反对堕胎这实在是两个极端,这个星球上最不需要的动物就是人了,跺就剁吧,多一个少一个。这个极端教义派还有一个大学“liberty
university”,什么现代科学进化论等等都受到抵制,他们应该还有研究生院吧,law
school,居然有一万多的学生,在80年代里根对卡特时候发动了上百万的选民,搬倒了一大堆的民主党参议员。这些law
school的毕业生要做的就是成为律师维护上帝的主张,甚至还要把《十戒》写到美国的宪法里,还有美国宪法的五条个人基本权利也要和圣经联系起来,总之现在的美国最高法院对于美国传统基督教义派有很多的同情票,最忌一次大法官投票表决时4:5,差一点就通过了这些God's
warriors的主张,如果2008共和党当政估计大法官的任命可以起到至关重要的影响,很可能通过堕胎非法的裁决。吉米卡特连任失败的一个原因是因为他反对“southern
baptism
convention”的一个更加极端教义的主张,其中有很多限制妇女角色的条例。1976年那些支持他上台的基本教义派在1980年转向支持里根,原来卡特是一个标准的基督徒,父亲就是牧师,现在他又成为家乡的Sunday
school的牧师了。美国的基督徒的力量相当的大。居然还有God's foreign policy
statement。上帝在圣经里就眷顾犹太人,所以美国的对外政策应该保护以色列。这些听上去如同天方夜谭,不过这是我在CNN看到的。另一个基督教激进教义派的牧师走遍全美国讲演,他说美国有五千万基督徒只要有30%投票就能赢得选举,他在interview里介绍这一切的起源来自于他旁听他女儿中学课堂的一堂性教育课,他说学校教导孩子只要使用避孕套口交等等都挺好的,他主张自由派害了美国应该由conservative来改正这个错。据说美国有超过50%不相信进化论,1/3美国人主张学校应该停止教授进化论改为教授所谓“创造论”。这是令人吃惊的数字,那个教授说得好,genesis《创世纪》实际上就是一个指标,如果这个不对那么所有都不对,所以基督徒必须维护这个基础性的章节。旧金山举行了一个“战歌”集会,这是一个所谓“上帝军”的组织这是一个中学生的基本教义派,当然他们有他们的理由,最小的学生才十一岁因为她说和她年龄相仿的女孩堕胎吸毒,而他们是purified。 十二月十七日 今天天气很好吗?
天终于放晴了。(第二天)
昨晚下雨我的房间居然漏水,哈哈这是今年第二次我遇到这种事情了。终于完全明白volatile的意义了,毕竟是大师,写了一小段汇编我立刻就明白了,比很多似是而非的解说不知道明确几百倍。这完全是编译器的优化问题,普通程序的顺序执行时可以进行优化的,比如你检查一个变量,变量的值必须读到寄存器,如果你是单线程程序,编译器就座优化始终用寄存器的值来做一个while比较,(这种while(x=0);)是非常的常见,可是如果是多线程你是期待x被另一个线程修改的,我因为从来不用优化选项所以对此感受不深,今天也算是上了一课。以前朱春明讲的嵌入式的例子却是其它设备修改,归根结底都是编译器优化的问题,否则绝对不应该去怀疑这是什么操作系统的缺陷,绝对不应该认为这是什么cache与main
memory的不一致,这一层完全是操作系统设计的问题,根本不是应用程序元看得见的层面。我以前强调过一次,现在再重复一遍。windows里面的InterLockedIncrement等等一大堆的InterLockedXXX函数应该是最快的同步工具,有可能用的都是硬件实现,比如早期CPU甚至有相对应的指令,现代的CPU应该为了SMP而设计了总线或者标志寄存器等等总之非常得快。不过这一类的函数和EnterCriticalSection相比到底哪个快呢?这种比较完全无意义,两者使用不同,后者是一个同步工具可以用前者来实现,后者应该是比较高级的东西因为前者包含了具体的操作比如改动了一个值。
我这几天始终感叹地是,这本武林秘籍对我来说获益匪浅,很多百思不得其解或者始终似懂非懂的东西听大师系统的解说犹如拨云见日,仿佛开辟了一片新天地,还有更多的是我从来没有接触过的仿佛醍醐灌顶,又仿佛脱胎换骨的感觉让我如痴如醉,只想说为什么没有早一天看这一本武功秘籍?可是仔细一想这实在是一厢情愿,如果是哪怕一两年前看这本书我肯定很多完全不明其所以然,正所谓功力不到高级武功学之有害无益。这实在是有一个鸡生蛋蛋生鸡的难题,究竟你早看早受益少收很多弯路折磨还是从一开始就看缺陷如不懂装懂胡思乱想的歧途呢?对于这种两难问题我的回答是最近才形成的,不要去争论,去做吧,鸡也先,蛋也先,实践也先,理论指导也要先,应该是一个不断的循环,所谓圣贤之书常温常习才对,不可能一次就能读懂的。 对于cache-alignment的问题以前理解不深,现在听大师解说才意识到在SMP这个问题更加的至关重要,有一个编译器开关很有用的__declspec(align(32))。刚刚读到大师的解说,entercriticalsection是相当高级的,可以把阻断线程至于等待状态,同时要记住他不防止同一个线程两次进入,这一点非常重要,这让我想起了linux下的系统semaphore,不是那个IPC的semaphore,是系统级的那个,很裸很丑陋的,好像会有这种问题吧?忘了,也许没有,总之有的同步工具有这种问题,你两次获得是不行的,(我在哪里读到的?还是早期的问题?)不过这的确曾经困扰过我,当时我不明白mutex属于创建者,没有释放两次结果别的线程总是拿不到。InitializeCriticalSectionAndSpinCount可以让你看到是否创建Critical_Section成功与否,大师说微软当初也没有考虑到创建时内存不足会失败的问题,所以除了SEH你还真没有办法知道,用上面这个超长名字的函数要可靠,我想起我看的另一本windows-system-programming的书里好像提过SMP要用这个spincount才行。大师的另一个tip是关于一些insight的,这一类东西其实很占资源,所以在第一次运行使用之前系统并不创建相关联的资源,可是如果运行期遇到内存不足在创建又会失败,所以spincount参数的高位置1可以强制立刻飞配资源,这些真正是非常高级的经验之谈,没有经历过这些极端境地的程序员是难以体会的,我想我还没有到这一层,唯一的经历是创建octree的预处理用光内存导致vector的push_back出错的问题,我找这个问题非了好几天,因为怎么也想不到vector会出问题,而且是push_back,所以有这种意识比有必要的具体解决有时还重要,因为你可以想得到问题可能出在哪里,不然向我始终怀疑自己的代码问题想破了头也想不出来。
我讨厌中文书的一个主要原因是中国人的懒散与含糊其辞,这表现在很多书都不见index栏目,一个名词的定义对理解的至关重要的,那么一个名词在哪里定义的是一个重要的问题,而且很多参考书不能指望读者从头到尾一章不差地读,跳过很多章节突然看到一大堆名词不知道在哪里定义的真实一个头疼的事情,为什么中文书不加一个index呢?这就是中文丑陋的东西人人都可以定义一个名词而且好像每个人都可以望文生义,曾经有人拿这个说事说这是中文的优势,一个普通人掌握两千个常用词就可以看懂科技文章,不像英文没有几万单词而且是相关领域的专有名词你根本就看不下去,问题是看懂的定义,“火箭”真的是带“火”的“箭”吗?“流星”是从哪里“流”过来的“星”?中国人的读中文的望文生义导致了很多的恶果。 谁说CNN没有政治倾向?那个女播音员评论布什总统的讲话就用了一个stuffed with
etc.我不明白为什么她这么说,不是当年宣布减税政策并没有什么不对,是市长面对克林顿政府遗留下来的这么大一笔财政盈余布减税的政府除了中国共产党之外很难找到,发动伊拉克战争阿富汗战争难道有什么错吗?换了不是任何一个美国总统不可能做出什么别的选择,比如珍珠港偷袭之后美国人民还会拒绝参加二战吗?如果一旦参战不彻底消灭德意日轴心国同盟能罢休吗?美国的问题是布什的政策造成的吗?美国从伊拉克一走了之就行了吗?日过在发生一次911是否美军要再打一次伊拉克吗?美国以后历届政府能够每一节都来一次战争行吗?很多自以为是的民主党的中产精英阶级总喜欢那布什取乐实际上这些人都是误国误民的三国时代吴国的张昭之流,说起来一套一套真正需要他们出主意的时候连大方向都弄错,妄故了孙坚托孤的所谓内事不决问张昭,实际上这种人只会沽名钓誉实属无用之腐儒。布什讲话时候明显的苍老了很多。早上跑步大概四五公里吧,然后去无比简陋的健身房活动了半个多小时。结论是我这一次度假的选择有问题,古巴的酒店一定要挑选,这个酒店一定有它的黄金时代,不过那应该是很久以前的了,不过就当作闭关修炼吧。
CNN谈论的另一个话题就是法国总统萨克奇的花边新闻,oh lala,刚离婚的总统和超级名模约会了。可是我在想这个基本上没有什么稀奇,既然老婆跟他离婚了为什么不能呢?可是问题在于以一个刚当选的总统他的妻子居然要放弃第一夫人的位置离婚却让所有东方价值观的人难以想象,其一,这个第一夫人位置一定没有多少吸引力,没有多少特权没有多少利益否则为什么不再竞选前就放弃呢?其二,作为总统敢于做出这种决定国民并不把它看作始乱终弃的坏榜样说明政治在普通公民的成熟,其三,作为总统的花边新闻并不奇怪全体国民都知道,要知道就算是前苏联总书记有几个情妇普通老百姓也是知道的,比如江核心和祖英的关系全国人民不知道吗?我是比较倾向于相信政治“谣言”的,在新闻管制体制下“谣言”要比人民日报和新闻联播可信的多,因为这一类话题绝对不会空穴来风,也不会是纯粹的小人物能够想象出来的,这种东西不是身边的亲信不可能透露出来,问题是这种让普通人侧目的领导人的秘密让现在这个社会生活的人保守秘密也比几十年前困难多了,所以没有不透风的墙。但是话说回来了,就算有又有什么关系?克林顿执政有什么问题吗?领导人的私生活从来都不是国家的问题,国家的问题恰恰是连领导人的私生活都成为问题的问题,核心的那个拿不出台面的原配全国人民都看不过去,那就离了吧,不行吗?全国人民不答应吗?可能唯一不答应的是原配本人。我有例可证,当初刚到延安的时候老毛抛弃贺子珍了吗?不是,是贺子珍要离开老毛,老猫当然无所谓延安那个时候有的是从蒋管区来得找机会的青年女学生,仿佛那个时代有理想的女人的好莱坞,充满了机会,哈哈。所以只要原配愿意离婚,我们的领导人不用
背喜新厌旧的罪名绝对不会犹豫的,可是恰恰是因为东方的政治制度的第一夫人的红利让这么多原配死活就是不离不弃,成为国母风范。
所以,说句笑话,什么时候中国领导人的私生活可以被普通市民当作花边新闻评头论足的时候中国共产党就实现了自己为人民服务的诺言了,因为你不从神坛上走下来怎么可能为被你顶礼膜拜的人服务?喝了两杯红葡萄酒吃了两块牛排我感觉飘飘然的,海边散散步,风大浪急,白浪层层,有人在wind-surfing,就是身上绑一个降落伞脚上绑着冲浪板。 一觉醒来本想去其自行车结果发现没有人车子都锁起来了,肚子又感到饿了向起来昨天吃的cheesebuger很好吃就又去snackbar点了一个,好吃,我觉得我现在越来越能够接受西式饮食了,游泳池边音乐大作正在教授当地舞蹈,大概是恰恰和伦巴之类的吧,反正不懂,想起昨天晚上看的表演我不由得惊叹加勒比海人的舞蹈天赋,他们的音乐和舞蹈有着天然的融合充满韵律和感染力,而且这些舞蹈者在表演的时候充满了创造力,仿佛jazz一样的即兴创作,经常仿佛有神来之笔,结合音乐与节奏用身体写作了一首首美妙的诗篇。CNN的另一个新闻是关于沙特的,当地一个女人被轮奸但是伊斯兰法律却要追究她和无关男人接触的错,所谓无关男人我想大概就是除了她的丈夫家人之外的人吧,基本上这种伊斯兰法律和奴隶制没有两样,很难想象在二十一世纪这种制度还有这么大的市场,沙特在国际舆论的压力下免除了这个女人监禁6个月和鞭刑200下的惩罚。CNN的评论是这只是一个特例很难说沙特的法律就会因此改变,只不过现在每个国家都是在全世界的“显微镜”下运作,这是原话,作为地球村的成员你不得不考虑你的邻居对你的看法,这影响到整个国家的形象。确实如此,大概这就是全球化的另一重意义,基本上我想在中国这样的人多地少的国家发生什么革命是不太可能的事,相反因为全球化的缘故世界去通道是一个不可阻挡的趋势,所谓顺之者昌,逆之者亡。因为全球化的一个基本结果是资讯的全球化,这个世界最大的力量就是“比较”,来自不同背景的人民在比较,不同的制度的效率的比较,来自不同来源的资源在比较,这个资源当然包括人力资源,劳动力技能成本效率的比较,这就是生存竞争,人类社会的进化也遵循生物界的普遍原则。 waitformultiobject有64个上限,这使得我想起当时wmpi那个技术支持和弄我的时候也是拿这个说理由,当然我并不认为他完全在骗我,我只是觉得他可能根本接触不到源代码,这只是猜测没有多少理由,总之这透露了一个信息,在windows里面你可以同时操作的线程的一个上线,超过64同步很可能就不容易做了,尤其是类似于waitforall这一类的操作。 十二月十八日 今天天气很好吗?
阳光非常灿烂,不过风浪较大不能游泳。(第三天)
差不多已早上都被资源文件所困扰,最后放弃了寻找VC6现成的资源编辑器,只有用文本编辑照抄代码,1。资源文件可以有include
2。资源实际上最大的一个问题是定义一些资源索引,比如你在代码里面refer什么资源,实际上都是传递一个常数,windows的很多dialog函数依靠这个常数来load资源,所谓资源大概就是一个config参数,比如resource_id
DIALOG l,t,r,b STYLE DS_MODALFRAME|WS_SYSMENU|WS_CAPTION
CAPTION "CAPTION NAME" BEGIN EDITTEXT ITEM_ID l,t,r,b DEFPUSHBUTTON "OK",ID_OK, l,t,r,b END 我被两件小事折磨了好久,资源编译器很傻的,如果另其一行就会让她迷惑,第二就是ID_OK是资源ID,和MessageBox返回值无关的,(这本来不是问题,不过我因为参考了一下MFC的做法,看到很多与定义的stringtable的常数反而糊涂了。)3。一个dialog的创建大部分都使用一些所谓的macro做的,你需要给它一个消息处理程序,那个宏就把当前windows的消息处理函数转到这个dialog了,结束的时候你在call
enddialog,所有的所谓dialog函数归根结底都是call dialogBoxparam,并且把那个lparam参数用0传递,当然像所有的api一样这个有ansi和unicode版本,你不需要操心这个了。也就是因为macro这个参数类型比较讨厌,DLGPROC得定义是BOOL
(CALLBACK*DLGPROC)(HWND,UINT,WPARAM,LPARAM);CALLBACK是一个宏,基本上就是__stdcall。4。WM_INITDIALOG这个消息应该是windows的一个流程,你应该捕捉这个消息进行初始化。enddialog是结束dialog的唯一途径。
居然断电两三次,一怒之下我就跑步去了。烈日下挥汗如雨,(夸张)就跑了两公里左右吧?反正是因为没有路了。菜单算是明白了一点,以前找着MFC的tutorial根本不能真正理解怎么回事,现在知道了菜单(包括系统菜单,不对,系统菜单应该是发送wm_destroy)都只不过在WM_COMMAND项下的wparam的一个常数,静态的建立菜单的办法是在resource脚本里面设定menuname
MENU BEGIN POPUP "&Animal", IDM_ANIMALS BEGIN MENUITEM
"&MAMMAL", IDM_MAMMALS END END...
一句话,就是VC6那个给你做成了可视化。并且一个工程只能有一个资源脚本。动态创建的menu一大堆函数我现在还不想看过多细节。
看CNN的那些时事评论感触良多,一方面新闻目光非常的尖锐可以说明察秋毫,克林顿的每一句话都要被他们抓小辫子,比如他暗示奥巴马泰年轻不如他老婆经验丰富,立刻奥巴马就以其人之道还制其身用克林顿当年竞选参议员的原话来说明有志不在年高,后来克林顿要在辩白,反而因出更多的议论,真是唇枪舌剑,思想和思想的交锋甚是好看。另一方面,采访者评论者反应很快精力充沛,这样的国家节奏非常的快,这反映了国家的竞争力与效率,实在是让人羡慕不已。
其实我也不是不明白什么民主自由都是太空泛的口号,但是有一点是毋庸置疑的,那就是社会生活的进步,什么是进步?更公正,更平等,更有效率,更合理,更加考虑更广泛的社会成员的利益和感受,如果这个是各种社会都想追求的目标那么美国社会是一个最好的典范之一,世界上有很多做得更好的国家可是他们都太小了有一定的特殊性,大国里面只有美国是唯一一个合格的解决方案。美国的事情很有意思,一个十岁的小女孩上学的时候带了一把牛排
刀中午在餐厅切自己带的牛排,结果她的老师打911叫警察把她逮捕送到了少年犯管教所。这是反应过度还是超级白吃?美国德州一个叫Horne的拿枪杀了两个没有武器的入室窃贼,有人称他为英雄,有人不以为然认为那两个人没有武器而且是在逃跑的时候从背后被开枪打死的,CNN的主持人问一个官员,他的话有些让人无法反驳但是总有一点点冷酷,他的意思是既然那两个要做入室行窃的工作自然知道这是很危险的工作,这是他们要付出的代价,如果他们找一个正当的工作做就不会有这种事发生了,说的是没有错,只是这么说总让人感到有些怪怪的味道。另一个美国监狱的骚乱,狱警对闹事的囚徒使用我认为过分的暴力,当然那是个刺头领头闹事挑衅警察,可是就如同那个坏小子的妈妈在访谈中说的,她生活的辛辛那提县就算是杀一只
狗你都不能开枪折磨它如果它已经被绑的牢牢的话,但是他儿子却被绑着然后用三万伏高压枪在胸前折磨。墨西哥的农民的生活很穷困但是贫穷的标准也不过是每个星期19美元,原因是美国农民得到美国政府的补贴于是墨西哥农民的玉米再也不能竞争了,这是北美自由贸易协定NAFTA的问题吗?美国今天最主要的一个议题就是所谓的invasion
of
aliens,这里的异型不是那种以浓酸作血吃人不眨眼的外太空怪兽,而是来自于墨西哥的大量非法移民,这个问题究竟有多严重我没去美国不知道但是我知道美国人现在在讨论的事是是否应该把英语当作国语这一点写进法律,你明白问题有多严重吗?美国建国两百多年从来没有人怀疑过英语是美国人的语言,You
are American. Speak
English!可是现在开始有人质问,有人开始担心,于是为了预防万一这一条要写进法律以防将来变天。西班牙语现在是美国的第二大语言,这就是美国人的问题。美国总统选举很有意思的,全国支持率并没有什么用,因为要看你赢多少个州,虽然有些州很小可是他们的票并不少多少。(这一点我不确定,选举人票是按人口计算的吗?还是按行政区算?)卡斯特罗是否会退位?应该不会,像同时代的毛泽东一样到死也不能丧失权利,连太上皇都不行,CNN的评论员的评论是cosmetic
humbleness as usual。所谓的不应该cling to office, not to obstacle
to growth of younger people之类的都是骗人的。
美国国会也有糊弄人的,民主共和两党互斗预算案,结果一方提出了一份三千多页的预算案,你读得完吗?据说就算不是总统死了你也不一定读得完,我相信,因为几百页的教科书我没有一本读完过。 十二月十九日 今天天气很好吗?
阳光非常灿烂,早上游泳去了。(第四天) 不仅游泳我还玩了一会儿kayak,就是那种独木舟了,在montreal的时候滑过一次很好玩的,在海里面不太容易保持平衡,哈哈。CNN比较funny的广告是这样的,在踐蔃有力的西班牙古典吉他的节奏中一个身形健壮的妇女走进厨房顺手摘下一个苹果抛向空中,一个箭步跳上案板一个倒立用脚接住空中的苹果,然后苹果在她两只脚之间玩味良久,然后他一只手撑着倒立另一只手捧着苹果送到嘴边。你猜这是什么广告?同样产品的另一个广告是这样的,在一段悲伤欲绝的音乐声中一个满面愁容的妇女走进房间,宽衣解带,在凄厉的音乐中她把自己用天花板垂下的红绸子绑起来,然后开始做一系列高难度的空中杂技,两只腿绑着倒掉空中荡秋千。同样的产品,同样的问题,这是什么产品的广告?CNN的一则新闻是大量的外国投资在拯救美国破产的银行,这意味着什么?评论员回答说,他们钱太多了没地方用了,的确你手中的美元部投资到美国能干什么?中午饭吃得太饱了,我总是这样,每顿都吃得走不动路,My
eyes are bigger than my stomach.
撑得走不动路也要走,就索性走到城里去,这个地区明显要比我去年去的caya coco来的富裕,路上的车子虽然还有不少旧的lada但是还有一些新车,还有不少摩托车,路边的住宅当然也比我以前看到的好一些,不过不要忘了caya
coco是一个农业省,我看到的是农村,而城市总是要比农村好得多。不管怎样旅游业改善了当地人的生活是毋庸置疑的。
晚上吃饭的时候忽然有些感伤,因为我觉得我一个人度假有些过份的引人注目了,吃晚饭望着天上的新月心情在两杯红葡萄酒的催情下更加的有些凄凉,我总有一千个理由思念我的故乡我却总有一千零一个理由不能回去,想起来又一个年头的终了这一年来的总结又要临近了,这一年来有多少来不及叹息的叹息呢?这个酒店的表演的确要好很多,别出心裁的东西还真不少,比如一种现代的类似皮影戏的表演,说皮影戏实在是太不准确了,因为这是一个真人的表演运用灯光服装和新材料,类似迪斯科舞厅里很多女孩子穿的发光的衣服那种,表演情趣多变很有意思很可惜我有没有带相机,不过这种不可传神的独享的记忆更有吸引力,就如这些表演一样,一旦完全曝光在灯光与眼光下就失去了神秘的魅力。是不是windows的逻辑画板只有十六个呢?我说的是LOGPALETTE我觉得有些不能理解,明天再看吧,我觉得酒精是一个人正常思考的天敌,可是我怎么也想不通国内的人天天都浸泡在酒精里究竟在想什么? 十二月二十日 今天天气很好吗?阳光非常灿烂
。(第五天) 迷题解决了,原来palette和其他的GDI不一样不能用selectobject,而是要用selectPalette,微软搞得这一套真复杂,当初是怎么设计的,除非说palette是因为客户端的物件才需要另一个API否则干嘛要用不同的函数?这似乎是唯一的解释。但是我还是有疑问就是在同一个wm_paint消息下的beginpaint是否互相覆盖?是第一个吗?果不其然,beginPaint不能多个!VC6的资源编辑器不知道加了些什么东西,也许是什么discardable吧,总之我用resourceID去loadicon,loadcursor都失败了,我重新编辑.rc去掉所有微软生成的东西,只保留CURSOR_NAME
CURSOR CURSOR_FILENAME.CUR就可以了,注意这里的resourceid和以前消息循环里面菜单的那些id有所不同,因为这只是refer资源文件里的资源名字,所以用字串就可以了,不需要单独用头文件定义常数,而在前一次我用的时候用的是资源id,是数字id,(我觉得比较的混乱,上一次的菜单也应该可以用字串的资源名字来传参数,不过问题是GetDlgItemText需要传递的是一个对象的id,这个必须先定义让资源文件编辑器进行编译,然后sourcecode再去引用,所以在资源文件里面存的不是字串而是id,明白了吗?我自己都快糊涂了。)总之,在.rc里面到底要存字串还是常数是由你决定的,但是有的api只能用id不能用字串,也许是为了效率吧? TNND古巴这个鬼地方一晚上要停电好几次,我曾经丢失好几次文件。实际上这是一个伪命题,什么叫做字串什么资源id这都是我自己想出来的,实际上很简单,对比dll里面输出的函数名和hint
number,我想所谓的资源id就是所谓的hint那个应该是一种高效的查找方法大概在文件头部分放了一个表查找速度比字串比对当然快很多了。(难道字串不也是放在哪里吗?仅仅是int比对比字串来得快而
已。)MAKEINTRESOURCE解释了半天The return value is the
specified value in the low-order word and zero in the
high-order word,实际上你看辕马更简单明了:#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))就是假造了一个字串指针,我猜想i是微软事先计算的相对偏移量,而且从这里可以看出来资源文件是有一定的长度限制的,35536是上限。(这一点我仅仅是猜测。)肚子好饿啊,去吃早饭了。居然这个电视机有机巧,我没有找到所有的频道,居然看到了中央电视台的频道。中国和印度进行联合军事训练说明什么呢?中国开始在印度和巴基斯坦之间搞新的战略了。《百家论坛》在讨论《祝福》里面是否有阶级斗争,鲁四老爷究竟是否是害死祥林嫂的元凶,评论者说祥林嫂到地主家干活在他们家好多了,白胖了。的确,鲁迅自己明白自己不是解救人民的救世主。那个画笔程序聪明的地方在于鼠标左键按下以后鼠标移动画下的临时线要怎样擦掉,这个问题其实不简单,如果你的背景是复杂的图画,你除非重画背景这个可是非常的大的工作量因为鼠标移动事件wm_mousemove会非常的频繁,而且定一个重画的rect实在是很傻,说不定你只好把所有都画一遍。如果不知道作者的办法我还真是想不出来,不过我想学过计算机的尤其学过基本图形的人很可能都知道这个约定成俗的很酷的办法(除我以外?),你的临时线是screen的inverse,多么的聪明的办法,你只要再画一遍就抹掉了,等到lbuttonup的时候再用pen的颜色画最后的线段。我对于createcompatibleDC还是不太理解,为什么bitmap的操作都要用我自己创建的dc呢? 天天看新闻联播的话你会和大多数被韩劳动人民一样认为北朝鲜是全世界的天堂。 十二月二十一日 今天天气很好吗?阳光非常灿烂
。(第六天)
你绘画五角星吗?我当时非常的镇静为什么能够用5个顶点画出总共有10个顶点的五角星呢?看了半天才明白哈哈,真是计算几何学的威力,你的五边形的顶点是alternative的顶点,这就是复杂的多边形,但是GDI进行“scanline
algorithm”的时候,你可以有两个选择,winding,alternate,前者全填,后者只填奇数与偶数边之间的区域,这是MSDN的原话,可是你还真需要一些时间去理解呢。还有一些我不太明白,那个magic
code0x00960169L究竟定义在哪里?作者说的微软的表可能是很早以前的东西,这个code据说是postfix,我不知道这个是否有什么规律呢?DPSxx是怎么encode呢?
什么是度假?就是坐在棕榈树下的酒吧桌前看着眼前碧蓝的游泳池边比基尼美女晒太阳,在热带微风吹拂下吃着香喷喷的芝士汉堡,并且要不时地提防落在对面椅子上的小鸟的窥探。 十二月二十二日 今天天气很好吗?阳光非常灿烂
。(第七天) 终于在msdn里面找到了Ternary-Raster-Operation的code,可是我却不明白为什么结果不太对。看了半天才找到原因,是我自己的错误,bitblt的destDC当然不是memoryDC了,我应该把destDC的brush设定,这才是我的pattern,顺便说一下,那些ternary的operation只是一些自定义的index,五花八门,大都没有名字。其实brush也可以用bitmap来做,这增加了更多的灵活性,当我们的s,d,p都是bitmap的时候这真是好多好多的可能性。二十年代的上海一个出租汽车公司居然会花一万块美金买一个电话号码?那个时候的美金有多大啊!
调整window大小的函数是setwindowpos,连带把位置也调整了。
证实了一点,一万美金买一个电话号码是吹牛皮,那个时代中国的民族资本家还远未达到那个水平,连三百辆出租车加上其它配套设施加在一起也不过就是五六万美元而已。我肯定是什么GDI的资源未释放现在电脑变得很慢了。
看大陆报道的台湾新闻评论里面有嘉宾说美国人实际上很担心阿扁到时候搞一些意外出来,比如美国驻台代表问连战说如果到时候台湾攻击大陆渔船怎么办?我有两个感想,1。美国人确实很担心,因为现在经济联系这么紧密谁都离不开谁,美国一个次按风暴就让很多人担心明年经济陷入衰退,如果像中国这样的新兴市场再波动那不是雪上加霜?更不要说中国现在有很多美国的投资又是世界的工厂。所以美国人吃不透到底会有什么意外,所以提前来文国民党当然也是提醒。2。美国人对于中国的事情还是外行,你天天看CNN的话就知道美国人根本没时间关心像中国台湾这类事情。国内问题是大事,安全伊拉克非法移民等等全排玩乐也轮不到中国议题,另一方面美国人很天真地认为如果中国大陆的渔民被绑架杀害的话就会陷中国政府与危机,殊不知这类事情在中国人眼里就像死了几个蚂蚁一样不值一提,我小时候大概每个月都有福建渔民被台湾打死的消息,再往前每个月都有广西农民被越南人打死的事情,再往前每个月都有农民被苏联人印度人打死的事情,中国政府什么时候生气了?对越自卫还击也不是为了农民报仇,主要是为了柬埔寨的西哈努克的要求,那个时代只要有一两个小国轨道在中国领导人面前称臣让他们享受一下万邦来朝的虚荣就什么都答应了,包括向西哈努克这类乞丐要在中国嫖妓周恩来都只好找招待所的女服务员来服务。所以,美国人不懂中国,中国不像世界上的大多数政府要替它的臣民考虑,不是的,这种杀渔民的办法不能激怒大陆。阿扁要另想办法。
不过回过头来看台湾的问题很严重,很多人其实并没有意识到危机是注定要发生的,我们不妨仔细看看蓝绿两党在明年的大选中是谁也输不起的,第一国民党输不起。凡事不过三,如果国民党连输三次整个人心就散了,这个当可能就散了,机会主义分子会倒向民进党,党的内部会再次分裂出走,支持者会彻底丧失信心与耐心,总之,国民党会彻底垮掉,所以他们输不起。第二民进党输不起。民进党虽然是执政党但是始终处于很不稳固的地位,最大的问题是掌权的人一旦失去权力就如同失去生命,民进党的财源不如国民党一旦下台可能连维持的钱都没有了,另一方面这些人都害怕国民党重新掌权后会秋后算帐,阿扁就是代表,他们绝对输不起。原本的民主政治是一种平衡的权力,朝野两党不会有这种你死我活的绝对的执政党优势,可是台湾的宪政体制有先天不足导致现在这个情形就是谁都不能输,但是一定会有一个输家的话,很有可能会有极端事件发生导致政局混乱,这个时候才是最大的可能性事件发生:对台湾动武的三个条件中唯一一个可能发生的条件就是岛内发生重大事件比如混乱,大陆绝对要介入否则被联合国或者日美派维和部队的话台湾就国际化了。所以,这就是美国人最担心的因为这个剧本太复杂超出任何人的控制。 十二月二十三日 今天天气很好吗?阳光非常灿烂
。(第八天) 有几件事情要明确一下:1。做bitblt的三个东西,R=memory
DC一般就是你创建的一个bitmap,他和一个memory的dc相联系,就是要selectobject,D=实际的screen的dc相联系的,往往可以有bgbrush,与pen之类的画出来的,总之是和实际的dc相联系的,P=和实际dc相联系的brush,不一定是bgbrush,而只不过是目的地的dc的brush。2。如果要抓取屏幕要创建一个和display相联系的dc,这个display-surface用名字"DISPLAY"来获得,CreateDC的其他参数为NULL,同时还要创建一个memory的dc来存储bitmap,屏幕的大小可以有GetDeviceCaps获得,bitmap和memorydc相联系,最好先把你的程序ShowWindow(hwnd,
SW_HIDE);然后坐bitblt,memorydc是目的地的dc。3。存储bmp文件比较麻烦,我玩过一段时间感觉还是有些麻烦,主要是要考虑所有的格式的话不太好写的好,如果是单单面向某一种格式当然容易的多,从HBITMAP获得信息是GetObject,获得data是GetDIBits,bitmapinfoheader的定义还是很罗嗦的,我懒得再做一遍就copy微软的例子玩了一次。对于bottomup与topdown的格式我还是不太明白,以前发现有的人反映我的程序有这样的问题,实在是罗嗦的很。4。alphablend功能只能支持32bpp,这当然是合理的,可是rgb居然是pre-multiply
with alpha,这就使让人难以接受了,我就懒得玩了。对于localalloc我还不太明白,是否已经没有必要使用了?也许使用heapalloc更好吧?究竟和new,malloc有什么区别呢?是操作系统级的具体实现吗?看伏明霞和郭晶晶的故事感觉很有意思,背后还有这么多呢。 天上的云彩仿佛半透明的羽毛飘来飘去不时地想遮住那轮明月的脸庞,地上徐徐抚面而来的微风不停地拉拽着婀娜多姿的棕榈树。 十二月二十四日 今天天气很好吗?阳光非常灿烂
。(第九天)
犯了一个比较低级的错误,因为我有一种错误的观念,如果你想创建一个singleton的对象,是否应该把它声明成static在“头文件”呢?我的观察是应该用extern声明,好像每一个引用这个头文件的cpp都会有一个自己的实例,所以你会有多个实例,这是非常的subtle,我在写并行程序的时候并没有这种体会因为mpi的程序在不同的node上执行不同的cpp所以每个Node还是只有一个实例。其实二战是一个险胜,因为直到德国投降的最后时刻他们都有翻盘的机会,当时不论是德国还是日本都有很大的机会研制成功原子弹,而且德国的喷气飞机有很大机会得到空中优势,我今天还知道了一个我不知道的历史事件,当时日本和美国一样成功研制了离心机,但是他们缺乏u-235,在德国投降前夜德国决定用潜艇输送500kg的u-235和一批专家到日本,天知道如果日本得到了这批武器战争是否会成为一场原子战争?
据说鲁迅和他弟弟周树人的绝交是因为家庭开销上的纠纷,以前胡一刀说鲁迅日记大概都是什么今日收到某人送来十块银元之类的琐事,后来我就开始学习这种写作风格,可惜始终没有收到某人某日送来的十块银元之类的,实在是一大憾事。如果要登记backgroundbrush应该用SetClassLong,在16位系统用的是SetClassWord,我猜想这个函数实际上就是用的结构的偏移量来设定的,猜测而已其实无关紧要。
让我感到困惑的是隐藏window之后,比如showwindow,我再也不能恢复window,好像消息循环被转移了再也创不到那里了,当然这是我的猜测。我试验了WM_SHOWWINDOW可是还是不行。
我想你一定会被气死的,vc6的资源编辑器居然要求每一行必须用回车结束,我最后一行忘了这个结果一直报错,我还以为是语法错误,文件结尾的判断有这么白痴的吗?真把人气死了。
圣诞大餐吃了些什么?我不知道,我只是知道我喝了好几杯的红酒,然后心里很惆怅,想起了很多,十年前,二十年前的陈年旧事想从胃里不时涌上来的饱嗝一样五味俱全,只不过事件里的人物都成了一个个的符号,一个个没有面孔的符号,我费尽心机的敲打着斑麻木的额头尽力会向那些面孔,可是除了一个个的指令破碎的片断没有任何一张清晰的面孔,一切都是一些模糊的支离破碎的片断。我想我要么是超级白吃要么就是超级天真,你想windows就算再烂也不会有这么低级的想法,我自己创建的wndclass是用来向系统传递参数的,系统内部怎样存储window-class是一个不透明的东西,或者按照操作系统的行话来说是一个不愿意暴露给用户的内部结构,一方面是安全的考虑,一方面是将来升级换代的考虑,总而言之最基本的是在系统内存的东西,我怎么能够天真到以为setclasslong是改变这个参数的属性呢?我一定是没有喝酒的缘故,否则怎么这么白吃?现在我的头疼得厉害。
首先,使用setclasslong改变bgBrush完全没有问题,但是正如我以上所说的wndclass是没有被改变,其次要改变menuname我失败了,并且正如以上所说的,wndclass是不会改变的,而且就算我手动改变也没有用,所以你明白我所说的了,你是只能操作hwnd之类的opaque东西,间接地依靠一些列函数,不可能直接改变数据结构的,这个基本观念我还没有建立实在是可耻。我的结论是也许静态的依靠资源文件建立的菜单不能简单地依靠改变资源文件名,也许可以但是我也许没有找到合适的时机点或者事件,不过我以为wm_nccreate是第一个事件,所以我认为只能用动态创建菜单的办法来改变 十二月二十五日 今天天气很好吗?阳光非常灿烂
。(第十天) 我想原因也许很简单就使setclasslong没有问题,我的确设定了新的menu-string系统也知道,但是我并没有说怎样处理已经load进来的menu,所以我只能硬性删除,getmenu,destroymenu,loadmenu,setmenu,这样一系列动作可以设定预定义的资源文件里的menu,动态创建实在是太麻烦了,我懒得看了。TNND的菜单是WM_COMMAND的wParam。我有一种错误的幻觉,这实在是糟糕,你能否仅仅依靠DSP的ternary-raster-operation来画一个bitmap在一个bitmap上?我的意思是一个cartoon人物画在黑色背景上,然后我想把人物的形象“扣”出来画在复杂背景上,比如一个bitmap上,这个只能使用alpha-blend做,可是我有一种幻想想用naox这几种操作的组合来画出“透明色”,这是不可能的,因为我们的透明这里意味着rgb都是0,而我的bit操作根本不管是不是什么黑色或者无色,这个可以做到的只是SDo但是这个并不是我想要的,因为source的颜色要改变。我浪费了块半个下午把256种可能都试了一遍,当然不是因为我白吃只懂得用这种笨办法来试验,我只是想再证实一下,而且把这个256的表作一下将来是很有用的,vc6例有一点好的地方就是按住alt+shft的鼠标选择,拷贝,简直是天才的设计。在提醒一句,DSP里面的P是hdc的brush,不是bgBrush!这简直是不可原谅的,不能再错了。还有一个白吃的问题,你要抹掉上一次的东西,如果是简单的2D的东西,最简单的就是用bgbrush来patcopy,当然要把bgbrush设定为brush,不过应该可以用invalidateRect,不过我还没有试验。试验了一下,我想我的概念是错的,那个使用beginpaint,endpaint的做法,是要你重新画一下。算了吃饭吧,今天是最后一晚了。叫到这里吧,度假结束了。我觉得就算用底色作P也是不行的,试验过了不行。看battle
for wesnoth,它里面的头像都很小,这是否??等回家看看代码如何?
这里的表演其实相当不错,我始终怀疑是否他们是真的在唱,因为如果是的话那么他们的确太好了,仿佛百老汇的歌舞剧,当然我没有去看过不过sound
of
music,东边西边之类的还是看过几眼的,正好电视里再放,我觉得我还是很喜欢美国的歌舞剧的,我个人以为这是美国文化的精髓之一,相比之下国内似乎很有偏见对于外国的文化很排斥,颇有天朝大国对于其它一切都嗤之以鼻的情节,我现在看国内的所谓文艺界仅有一种迎合大众情趣的倾向,虽然我也觉得赵本山的小品有趣但是正如一位仁兄的评论,有些粗鄙,这不是他的错,错的是现在的文艺界的取向,你不引进介绍大众怎么有机会去品尝?我记得我小时候即便是刚粉碎四人帮文化极度贫乏,电视就只有一个台每天只有几小时的节目还经常可以看到如《胡桃夹子》之类的芭蕾舞之类的,可是现在你在几十个电视台里也找不到一个小时的所谓艺术,我也不是主张什么所谓高雅艺术,那个什么男高音我一点都不感兴趣,美国歌舞剧就是美国的大众文化。 十二月二十七日 今天天气很好吗?蒙特利尔哪里有什么阳光啊? 哈哈,终于回家了。我在阅读maskblt的时候才领悟到了ternary-raster-operation的code的high-order-word仅仅用作index,low-order-word才是op-code,难怪maskblt可以把fore-back的code结合成一个dword,当然了maskblt的foreground或者background的raster-operation都是binary的所以各自用一个byte就够了,而ternary-raster-operation确实是要一个word的,因为复杂嘛。(以上是胡说八道,maskblt明明就是ternary-reaster-op所以我的结论不对,ternary-raster-op需要一个word,那么。。。???除非我们只用operation的Index,因为只有256个,所以两个ternary-raster-op之需要两个byte。终于证明了我的想法!的确是用index的!!!#define
MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) |
(fore))
)取决于你的sprite是白底还是黑底,你的mask-bitmap的op也要相对应地调整。读了一早上,又看了一个网上的例子才开始明白一点,很关键的一个常识我本来不理解就是关于monochrome的foreground,background的概念,原来从color-bitmap转为monochrome-bitmap的时候你只要设定一个bkcolor就行了,现在想一下很简单,但当初我却没有转过弯来,还打算自己去对pixel操作过滤写一遍,哈哈省了很多事情,所以,所谓的foreground就是“非”background呀!什么是background?你制定一个background-color不就行了?这么简单的道理我却理解了半天。这的确是一个学习gdi的必经过程人人都会问这个问题,我如果现在不问以后就被人笑话了,真是又一个old
new story。另一个小小的笑话是CreateBitmap的最后bit指针给NULL的时候我看到的是content
undefined,这没有什么错啊!没初始化不行吗?我怎么一开始理解成“结果”undefined!真是莫名其妙! 0=FOREGROUND,1=BACKGROUND这个是monochrome的定义。我对于maskblt的理解完全不对,这个foreground,background完全是一个逻辑的定义,根本没有什么foreground,background,所以可以理解为两组ternary-raster-op定义在一起,执行时候依照monochrome-bitmap的指示来行使!这里碰巧0定义为background-op,1定义为foreground-op这和以上的monochrome毫无关系,但是非常的confusing&misleading。 GetDIBits比较智能返回的bitmapinfo能填充colorinuse,我一开始不明白怎么回事呢。不过我花了很多时间也没有成功制作monochrome的bitmap可能是哪里出了错吧?我感觉肚子还是先填饱了再说吧,因为这很可能不是简单的错误。
出去转了一下明白了一个道理,我的一个工程里面的“参数自动补全”的功能不能用,但是普通自定义函数却可以,因为这是从我的笔记本拷贝过来的,project的include路径和我的台式机不一样,所以我感大胆的断言vc6的这些神奇功能就是简单的函数名字比对而已,当然这是尽人皆知的事实今天又被我当作old-new-story说了一遍。(试验了一下心里有些恐慌,因为include路径之类的是按照系统的,不过我还是怀疑project文件或者opt之类的有问题,就删除了重做就好了,枉费我半天功夫怀疑杀毒软件的问题,当然sympatico的杀毒软件是中安装不成功我也没有办法。)早晨bell的技术员来了解决了大问题,昨天晚上我回来的时候发现internet还是不行,结果打电话给技术支持,我突然试验了一下把电话和电脑的电话现在一个splitter上对换就好了,打电话给那个印度的技术支持她胡说八道什么splitter有类似分频的功能我对于那个小得不能再小的splitter表示深切的怀疑怎么看都不享有芯片在里面就算线圈作分频也不像,但是也不能反驳,因为internet不通电话通实在无法解释。今天早上这个小伙子才揭开了谜团,加拿大的技术支持就是训练有素,原来是电话接入的fusebox的fuse有损伤导致带宽减少,他还特地给我画了一张图来示意,电话占用一小半,internet信号占用一大半,但是除此之外还有很大一块用作同步信号,很可能使我的线路正好同步信号损失了,所以电话没事,internet时通时不通,而且就算给我再多的带宽都没有用。 去古巴差不多就是十天,正好可以凑一个《十日谈》。
晚上吃晚饭我亲自走路回家,结果又一次迷路了,从前我告诉某人我经常在城里转的迷路,别人总是不太相信因为我自己也觉得难以置信,可是左后看到我歧视和正常的行走路线只有一步之遥,而就是这一步之遥是的平常走半个小时却让我走了两三个小时。雪不停地下,大地很温暖,走在松软的雪地上很舒服,在这样的夜晚散布实在是一种享受,古巴的夜晚是热带风情的撩拨,蒙特利尔确实雪夜的温情脉脉。雪不停地下,我不停地走,丝毫没有迷路带来的沮丧,仿佛这是一种有意的安排。人的一生的道路经常在迷失与寻找,所谓的正确与错误往往都是一步之遥,但是这一步之遥又往往有着难以想象的巨大差别。再看一边《the
last
samurai》照样充满了激情,作为真正的武士从来都不恐惧死亡甚至有时候期待着死亡,因为爱森豪威尔说只有不惧怕死亡的士兵才有资格活下去。小时候我很喜欢三国里的计谋,但是中国古代过多的所谓谋略现在却让我越来越反思,战争归根结底是实力的较量,谋略大多数时候是在不对称的实力较量中的弱者最需要的,如果能够依靠实力对比有时候谋略都是多余的,而过分地追求谋略智慧让人放弃实力的追求,这是我的看法。中国和日本何其的相像,同样的明治维新同样的戊戌变法,同样有日本的武士阶层维护皇权义和团保皇帝,为什么结局是这么的不同?为什么这么多人都没有说出一个原因呢?know
your
enemy!孙吴子说的却从来不为很多人所真正理解,因为只有首先尊重你的敌人你才有可能了解你的敌人,中国是否真正尊重过作为对手的日本?玛克辛机关枪是一个时代的终结,冷兵器时代的终结,这在第一次世界大战中得到了最充分的阐述。女演员叫做koyuki,可能叫做小雪是个女模特。 十二月二十八日 今天天气很好吗?蒙特利尔哪里有什么阳光啊?
差不多浪费了我一个上午!第一个混蛋不知道是我自己的错还是网络上的那些所谓的demo的老问题,基本上你看别人的例子如果你对于那个topic一无所知你就等着吃苦头吧,从color位图生成monochrome位图本来很简单就是把color-bitmap作为源的dc的bitmap,把monochrome-bitmap作为目的dc的bitmap,但是你要设定一个background-color,你认为这个设定是给源的还是给目的的?99%的人应该选择源,可我偏偏认为是目的dc,(不过我非常相信是我看到那个混蛋的例子是这么写的。难道我的记忆里这么差了?)当然如果只有这一个小问题我大概最多画上一个小时就能找到原因,可是还有另一个问题是关于getDIBits的问题,我想把这个单色位图存成文件看看对不对,结果让我百思不得其解的就是怎么存都是黑漆漆一片,而这个存储bitmap的程序是我从msdn拷贝下来的,我也仔细看过觉得没有什么问题,然后我有仔仔细细跟踪发现内存中的位图数据从getDibits读出来的也没有错,bitmap文件的各项都对但是为什么文件不能正确显示呢?后来找了许久才发现所谓文件的单色位图是必须要两个color的,就是rgbquad必须有,但是GetDibits却把它填充为零了,这一点昨天我就注意到了,但是当时我因为相信微软就像当然得认为monochrome的位图应该都是黑白两色所以当然color-table是有些多余了,这在制作透明色的位图来说是对的,可是对于文件位图就不对了,我猜想这个应该算是一个小小的bug,或者至少是一个设计上的问题,我能够理解从color-bitmap转成monochrome-bitmap时候仅仅由backgroundcolor,foregroundcolor是所有其他color,这个时候设定两个RGBQUAD表达两个颜色很无意义,但是作为GetDiBits这么做是有些画蛇添足地修改color-used,总之这实在是一个非常龌龊的问题,我为此耗费了整整一个早上了!本来我应该花大部分时间检验那个monochrome的与或非的操作(我看到仿佛有好几个不同的组合。)可是。。。还有一个我一直在心里骂娘的就是微软的那个bitmapinfo的超级傻逼结构,bmiColors被定义成了RGBQUAD[1]你到底想要怎样?在内存里我自己怎么动态分配内存?村成文件时候你要我用你这个size来村再把colortable-1个RGBQUAD来存?我知道这种不定长度结构很麻烦,可是你要么就只定义BITMAPINFOHEADER就好了何必多此一举?这个结构究竟有什么存在的必要?到底谁要用它?除非是很早以前有了大的改变这个实在是让人难以理解的东西。
pattern-brush不是一个非常好的选择,因为类似于texture-mapping一样如果你的bitmap太小就会复制,所以我没有用ternary,只是用了两次bitblt,mask->dc(srcand);bitmap->dc(srcpaint=sdo)这是因为我的bitmap已经用黑色作底色,制作的mask是sprite为黑色,周围为白色,bitmap->mask(srccopy),这是因为我选择“黑色”作背景色,那么monochrome的背景色是1,结果看到的颜色就是白色了,是不是非常的confusing?我是这么干觉得,要想一下才知道。美军的空地配合几乎到了完美的地步,在半个世纪前的朝鲜战争离空中支援就敢于在地面部队不足百米的地方投弹,现在我看到的一个战例更加的疯狂,这一次是特种部队空降到伊拉克后防备伊拉克的大量地面部队进攻,空军的f16结果用专门对付坦克的集束炸弹来支援,这是迫不得已,但是在地面的引导下一次次地接近阵地前投弹最后一次大概是在阵地前三十米左右,这是非常的可怕得因为这种集束炸弹不是精确制导简直是天女散花而且是设计穿透坦克定装甲的步兵多在战壕里也没有用,完全是dangerous
close。这样的部队训练水平是非常得高的,我看到的这些我猜想都是在美军国内训练营里真实地模拟前方实战的,非常的真实,有些无线电对话则是当时的录音。还有大量的巷战非常的真实!这样地部队绝对绝对不是世界上人和其他国家的部队可以相提并论的!我想美国人其实也是很怕中国军队的少壮派的,怕的是什么?怕的是中国军队固步自封,夜郎自大不了解美军的强大贸然开战,这样的例子不计其数,二战中日军其实从国立来看是绝对不应该和美军开战,但是因为日本陆军大都是狂热的土包子积极主张开战,海军占少数不得已只好同意,实际上美军最需要的是不战而胜,可惜世界上很多不自量力的并不真正了解美军的强大。军队的强大不仅仅是武器装备,更重要的是训练,尤其是实战的训练,很多国内的军事专家并不真正了解这一点,美国人相比之下更加深刻的体会到毛泽东的名言,决定战争的最重要因素不是武器而是人,这里说的就是军队的训练与实战的洗礼,用士兵的话来说就是打起仗来基本上都是靠本能了因为那样紧张混乱的情况下士兵根本就没有可能冷静思考,平常的训练完全就体现出来了。相比之下,我想说PLA的训练是一个什么样子我不是很清楚,但是我知道中国军队里的假大空是出了名的,基本上参军的都是农村山区里没出路的,上军校的人基本上不像当兵,合肥炮兵学院的暴乱就是最好的证明,下级军官是统御士兵的关键,而全世界任何正规的军队都知道节制下级军官有多么重要,可是一个堂堂军事学院却闹到学校当局无法控制局面这样的军官素质是可想而知的,这样的军队比八旗兵能强到哪里去就是一个大问号,PLA长期没有意识到部队经商的损害有多大,现在就可以知道打起仗来伤亡就不只是对越自卫还击的每天平均四千人的水平了。我衷心地希望PLA能够真正了解美军的实力不要贸然和美军冲突。 十二月二十九日 今天天气很好吗?蒙特利尔哪里有什么阳光啊?
这一件事情让我百思不得其解,dc的brush我在创建的时候用selectobject设定了,结果好像完全没有用,每次timer事件或者说所有情况下都要再次selectobject系统总是用一个默认的0x1900010的我猜想是white-brush的替代。实在是不懂。
恐怖与色情永远是加拿大电影的主题。看一部电影是否是加拿大出品有以下几个特征可以依据:1。是否是恐怖片比如妖怪吸血鬼等等。2。是否是有若干脱衣女星当然这一点不太准因为没全世界的片子都可能。3。电视里是否有冰球比赛。4。是否有强烈的环保意识比如在湖里面扔个石头就有人跑过来说你有没有执照是否意识到干扰“inhabitant”,这里指的是鱼。5。是否有着强烈的保护少数族裔原住民情绪,比如有一大堆的印第安人的所谓文化的崇拜。6。电影的主体是否是女人和孩子的直觉超过科学家的逻辑思考,或者印第安人的巫术比计算机程序处理的电子设备更可靠。
每次看《kingkong》我都觉得非常得ridiculous,究竟导演想要说明什么?为什么一个二十几英尺高的怪物会对一个女人着迷?不同的物种之间的吸引力最多就是宠物的感觉,那么这个大猩猩为什么会为了一个宠物牺牲自己的生命?母猩猩对他的吸引力会超过一个比她小很多倍的白色洋娃娃吗?
十二月三十一日 今天天气很好吗?下雪了
在创建monochrome-bitmap的时候设定settextcolor是毫无用途的,只有setbkcolor有用,取决于你的bitmap的背景颜色,一般大家不习惯用黑色作背景,大都是用白色,所以你还要把它变成黑色背景的,这个使用sdx就是SRCINVERT,我已开始还想着用SDna,这里的S是我的monochrome-bitmap就是sprite为0,背景为1的,对于这个结果我还是不能正确的解读,因为它变黑色了。glReadPixel里面如果要读bgr顺序的话,那个常数是GL_BGR_EXT,我以前不知道从哪里得出的结论是这个不需要extension的支持,这是错的。创建bitmap并不代表你已经可以用bitmap结构的bits给他赋予位图,而仅仅是分配内存之类的,所以与其用createbitmapindirect不如用createcompatiblebitmap因为是用dc省掉了很多难以想象的错误,我反正用后者就成功调用setdibits而前者就不行,可能是bitmapinfo这个白吃结构有什么问题吧?
(*it2+=3)=100;//what is *it2 now?