Recursive prime p(k+1)=p(k)*(p(k)-m)+/-1 with minimum m

By: | Comments: 15 Comments

Posted in categories: Fun Stuffs, Prime Search, Uncategorized

Define p(0)=2;
p(1)=2*(2-1)+1 = 3 is prime with m(1)=1; (+1)
p(2)=3*(3-1)-1 = 5 is prime with m(2)=1; (-1)
p(3)=5*(5-1)-1 = 19 is prime with m(3)=1; (-1)
p(4)=19*(19-7)-1 = 227 is prime with m(4)=7; (-1)
p(5)=227*(227-3)+1 = 50849 is prime with m(5)=3; (+1)
p(6)=50849*(50849-29)-1 = 2584146179 is prime with m(6)=29; (-1)
p(7)=2584146179*(2584146179-19)-1 = 6677811425341522639 is prime with m(7)=19; (-1)
p(8)=(13355622850683045201^2-5933)/4 is prime with m(8)=77; (-1)
p(9)=((13355622850683045201^2-5983)^2/4-629)/4 is prime with m(9)=25; (-1)
p(10)=(((13355622850683045201^2-5983)^2/4-763)^2/4-4493)/4, m(10)=67; (-1)
p(11)=((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5325)/4, m(11)=73; (+1)
p(12)=(((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-34965)/4, m(12)=187; (+1)
p(13)= ((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-76725)/4, m(13)=277; (+1)
p(14)=(((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8473917)/4, m(14)=2911; (+1)
p(15)=((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1666677)/4, m(15)=1291; (+1)
p(16)=(((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34257605)/4, m(16)=5853; (+1)
p(17)=((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652036221)/4, m(17)=25535; (+1)
p(18)=(((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5313029)/4, m(18)=2305; (-1)
p(19)=((((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5471199)^2/4-6254437229)/4, m(19)=79085; (-1)
p(20)=(((((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5471199)^2/4-6254699427)^2/4-17186947797)/4, m(20)=131099; (+1)

p(20) has database ID 93175 in The List of Largest Known Primes Home Page. The direct link is HERE.

These primes are recursively proven using OpenPFGW, by the command
pfgw -t (or tp) -h”p(k)” p(k+1)
The number
p(k+1)
=p(k)*(p(k)-m)+/-1
=(p(k)-m/2)^2-(m/2)^2+/-1
are reformatted by Mathematica to get the short expression.

The final certification code is
#!/bin/sh
./pfgw -l”pmrtrain.21.cert” -t p_06
./pfgw -l”pmrtrain.21.cert” -tp -h”p_06″ p_07
./pfgw -l”pmrtrain.21.cert” -tp -h”p_07″ p_08
./pfgw -l”pmrtrain.21.cert” -tp -h”p_08″ p_09
./pfgw -l”pmrtrain.21.cert” -tp -h”p_09″ p_10
./pfgw -l”pmrtrain.21.cert” -t -h”p_10″ p_11
./pfgw -l”pmrtrain.21.cert” -t -h”p_11″ p_12
./pfgw -l”pmrtrain.21.cert” -t -h”p_12″ p_13
./pfgw -l”pmrtrain.21.cert” -t -h”p_13″ p_14
./pfgw -l”pmrtrain.21.cert” -t -h”p_14″ p_15
./pfgw -l”pmrtrain.21.cert” -t -h”p_15″ p_16
./pfgw -l”pmrtrain.21.cert” -t -h”p_16″ p_17
./pfgw -l”pmrtrain.21.cert” -tp -h”p_17″ p_18
./pfgw -l”pmrtrain.21.cert” -tp -h”p_18″ p_19
./pfgw -l”pmrtrain.21.cert” -t -h”p_19″ p_20

The full certificate is

Primality testing 2584146179 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 2
Calling Brillhart-Lehmer-Selfridge with factored part 96.77%
2584146179 is prime! (0.0014s+0.0002s)
Primality testing 6677811425341522639 [N+1, Brillhart-Lehmer-Selfridge]
Running N+1 test using discriminant 3, base 1+sqrt(3)
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
6677811425341522639 is prime! (0.0027s+0.0001s)
Primality testing (13355622850683045201^2-5933)/4 [N+1, Brillhart-Lehmer-Selfridge]
Running N+1 test using discriminant 5, base 4+sqrt(5)
Calling Brillhart-Lehmer-Selfridge with factored part 49.60%
(13355622850683045201^2-5933)/4 is prime! (0.0041s+0.0002s)
Primality testing ((13355622850683045201^2-5983)^2/4-629)/4 [N+1, Brillhart-Lehmer-Selfridge]
Running N+1 test using discriminant 5, base 1+sqrt(5)
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
((13355622850683045201^2-5983)^2/4-629)/4 is prime! (0.0058s+0.0002s)
Primality testing (((13355622850683045201^2-5983)^2/4-763)^2/4-4493)/4 [N+1, Brillhart-Lehmer-Selfridge]
Running N+1 test using discriminant 3, base 1+sqrt(3)
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
(((13355622850683045201^2-5983)^2/4-763)^2/4-4493)/4 is prime! (0.0170s+0.0003s)
Primality testing ((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5325)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 2
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5325)/4 is prime! (0.0114s+0.0003s)
Primality testing (((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-34965)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 11
Calling Brillhart-Lehmer-Selfridge with factored part 49.98%
(((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-34965)/4 is prime! (0.0315s+0.0003s)
Primality testing ((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-76725)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 2
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-76725)/4 is prime! (0.1134s+0.0004s)
Primality testing (((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8473917)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 3
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
(((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8473917)/4 is prime! (0.4749s+0.0004s)
Primality testing ((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1666677)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 2
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1666677)/4 is prime! (1.7934s+0.0006s)
Primality testing (((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34257605)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 3
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
(((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34257605)/4 is prime! (7.9507s+0.0009s)
Primality testing ((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652036221)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 2
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652036221)/4 is prime! (33.1867s+0.0013s)
Primality testing (((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5313029)/4 [N+1, Brillhart-Lehmer-Selfridge]
Running N+1 test using discriminant 3, base 1+sqrt(3)
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
(((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5313029)/4 is prime! (478.3195s+0.0035s)
Primality testing ((((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5471199)^2/4-6254437229)/4 [N+1, Brillhart-Lehmer-Selfridge]
Running N+1 test using discriminant 5, base 1+sqrt(5)
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
((((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5471199)^2/4-6254437229)/4 is prime! (2091.5206s+0.0084s)
Primality testing (((((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5471199)^2/4-6254699427)^2/4-17186947797)/4 [N-1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 2
Calling Brillhart-Lehmer-Selfridge with factored part 50.00%
(((((((((((((13355622850683045201^2-5983)^2/4-763)^2/4-4639)^2/4-5699)^2/4-35519)^2/4-82547)^2/4-8476499)^2/4-1678383)^2/4-34308675)^2/4-652040831)^2/4-5471199)^2/4-6254699427)^2/4-17186947797)/4 is prime! (3036.1728s+0.0172s)

Why 蓝翔技校?

By: | Comments: No Comments

Posted in categories: Fun Stuffs, Jokes

美国国家安全局特工化妆成中国网友,到某军事论坛发帖询问,到底是谁黑的谷歌啊?结果特工身份被一网友察觉,回帖骂道,“S* B美国间谍,LXJX”,然后楼下所有回帖都是同样的话。美国国安局实在搞不懂LXJX究竟是什么意思,就去谷歌搜索“LXJX”,第一个就搜到了蓝翔技校。

http://www.google.com/#hl=en&source=hp&q=LXJX&aq=f&aqi=g-s1g-sx9&aql=&oq=&gs_rfai=CL1ubZpoRTMq4BpuIzQSkqOHgBgAAAKoEBU_QF7cZ&fp=729fe3e0a39900e5

LXJX = Lou Xia Ji Xu (楼下继续) 🙂

那个叫鲁迅的终于从教科书里滚蛋了

By: | Comments: 1 Comment

Posted in categories: 中文, 网文备份

http://blog.dwnews.com/?p=117751
近来,由于人民教育出版社在新版语文教材中逐步剔除鲁迅的文章,引来一片争议,赞者有之,阻者有之。而笔者认为,在近年来对鲁迅话题经历了沉默、回避、冷淡的过程后,现在让其滚蛋,已经是时候了。
鲁迅之所以滚蛋,是因为那些曾经被其攻击、痛斥、讥讽、怜悯的人物又一次复活了,鲁迅的存在,让他们感到恐惧、惊慌、卑怯,甚至无地自容。
看看:
孔乙己们复活了。并且以一篇《‘茴’字有四种写法》的论文,晋级为教授、学者、国学大师;也不再提心吊胆地“窃书”了,而是平心静气地在网络上“窃文”了;不仅可以舒坦地“温一碗洒”,而且还能以其博导的诱惑力对“伊”来一把潜规则了,他岂能让鲁迅揭了他前世的底?!
“资本家的乏走狗”们复活了。尽管它们披上了精英、专家的外衣,但依然“看到所有的富人都驯良,看到所有的穷人都狂吠”,他们或装神弄鬼地玩弄数字游戏,鼓吹物价与美国接轨、工资与非洲接轨的必然性与合理性;或干脆作了外国人欺诈中国的“乏走狗”,与其里应外合、巧取豪夺。它们岂容鲁迅再一次把它打入水中?!
赵贵翁、赵七爷、康大叔、红眼阿义们复活了。有的混入警察队伍,有的当上了联防队员、城管。披上制服兴奋得他们脸上“横肉块块饱绽 ”,手执“无形的丈八蛇矛”,合理合法地干起了敲诈勒索,逼良为娼的勾当。如果姓夏那小子在牢里不规矩,不用再“给他两个嘴巴”,令其“躲猫猫”足矣。想想,这些下做的勾当儿怎能让鲁迅这种尖刻的小人评说?!
阿Q们复活了。从土古祠搬到了网吧,但其振臂一呼的口号已经不是“老子革命了!”而是“老子民主了!”每天做梦都盼着“白盔白甲”的美国海军陆战队早一天杀过来,在中国建立民主。因为只要美国的“民主”一到,赵七爷家的钱财、吴妈、秀才老婆乃至未庄的所有女人就都是我的了!哼!而鲁迅却偏偏要我做个被世人嘲讽了数十年的冤死鬼,我岂能容你?!
假洋鬼子们复活了。这回干脆入了外籍,成了真洋鬼子。并且人模狗样儿地一窝锋地钻进“爱国大片”的剧组,演起了凛然正气、忧国忧民的仁人志士,让人好生不舒服。此种一边哽咽着颂扬祖国母亲,一边往向征中华文明的青铜大鼎里撒尿的举动,岂不是鲁迅杂文中的绝好素材?!
祥林嫂、华老栓、润土们复活了。他们依然逆来顺受,情绪稳定。因为“这人肉的筵宴现在还排着,有许多人还想一直排下去”,这样,必须要备足了餐料。而那些准备做餐料的人,本来可以闷在铁屋子里,一边听着小沈阳的笑话,一边麻木地死去,岂容鲁迅把他们唤醒,再一次经历烈火焚身的苦痛?!
那些“体格茁壮的看客们”复活了。他们兴致勃勃地围观那些“拳打弱女”、“棒杀老翁”、“少年溺水”、“飞身坠楼”的精彩瞬间,依旧“颈项都伸得很长,仿佛许多鸭,被无形的手捏住了的,向上提着”。哈哈,仅看客一类,被你伤害的人就太多了,因为中国人几乎都愿做看客!
鲁迅之所以滚蛋,是因为当今的社会不需要“投枪和匕首”,而需要赞歌、脂粉、麻药。正如陈丹青先生讲的“假如鲁迅精神指的是怀疑、批评和抗争,那么,这种精神不但丝毫没有被继承,而且被空前成功地铲除了。我不主张继承这种精神,因为谁也继承不了、继承不起,除非你有两条以上性命,或者,除非你是鲁迅同时代的人。最稳妥的办法是取鲁迅精神的反面:沉默、归顺、奴化,以至奴化得珠圆玉润”。
如果鲁迅赶上这个时代,对于“开胸验肺”、“以身试药”、“周公拍虎”、“黑窑奴工”、“处女卖淫”、“官员嫖幼”等一系列奇闻,又会写出多少辛辣犀利、锥骨入髓、令人拍案叫绝的杂文来,想想,真是让人后怕,所幸这个尖酸刻薄的小人已不在人世了。
让我们彻底赶走鲁迅,欢迎“小沈阳”,让人们在开心笑声中忘却现实的不公和苦痛,在笑声中渐渐地麻木、渐渐地变傻……

我的六四纪念合集

By: | Comments: 17 Comments

Posted in categories: 中文, 网文备份

我当时在场。时间顺序如此:

19890603 17-21时左右:我在东长安街。数十以连为建制的士兵未携带枪支士兵沿东长
安街试图徒步进入广场,被围观群众阻于广场之外,遂在路南草地中原地坐下休息。

19890603 21-22时左右:我在南三环。屯于尚未竣工的南三环木樨园桥大红门一带的部
队首先发难。高挽袖口,佩戴钢盔,刺刀上枪,高声喊杀,以营为建制,成密集队形,
沿永定门外大街跑步冲向天安门广场。途中义愤群众纷纷向队伍投掷碎砖石块。数名士
兵被击中要害掉队,为群众围殴致死。这支部队进入广场后转进周围政府建筑,对天鸣
枪,防止对政府建筑的冲击。

19890604 0时左右:我回到天安门广场。不时有流弹从人民大会堂和历史博物馆方向高
角度射向天空。我试图沿西长安街探视,结果被密集队形,横跨整条长安街,从南侧墙
壁到北侧墙壁,缓缓行进持枪军队所阻在中南海一带。无法通行,遂踏车东返,知事不
可为,遂沿南河沿大街北向离开广场。

19890604 7时左右:我于西直门火车站登上北去列车。沿途看到多处军车火起。

19890520戒严之后,我曾蹬车四出察看进京军队部署,在石景山首钢厂区看见数百装甲
运兵车停于大道之上。在现在的西南四环,原来的五棵松以南,看见数十遍布天线的指
挥车,被伐倒的大树阻于乡间道路之上。在未通车的东三环木樨园桥下,有数百装甲运
兵车和新式无牌照军用卡车,装满士兵。在大红门部队冲锋之前,我还聆听一位自称连
长的人站在卡车上向百姓讲话,声称解放军绝不对老百姓动武。在东三环南磨房路一带
,数百辆崭新军用卡车驻留。部分军车车胎被放气。在南苑大红门路,上百辆装甲运兵
车驻留。西郊黑山扈路,北郊,也有军车驻留。这些新车无一遭到损毁,无一被士兵抛
弃。无一进入三环以内。

值得注意的是,我所看到的军车全部都是崭新型号。而6月4日起火军车无一不是在4日
凌晨才从北京各处军事单位开出的老式60年代款式解放卡车。且司机无一不是停车后弃
车而走。起火地点都在三环以内空旷道路上。无一造成周围房屋,树木失火造成二次灾
害。且起火时间多在天亮时分,广场大局已定,街上群众已被枪声吓跑之后。

因此我一直坚信,军车起火绝对是为了证明戒严合法性制造出来的。

另外,64学运失控于外地学生进京。5.20戒严令下达后,绝大多数清醒的北大学生,我
即其中一员,充分明了如果学运立即偃旗息鼓,大家罢课返乡,将对土共合法性造成最
大挑战。下达平乱令后无乱可平,将最大限度加剧党内两派对立,为中国变局赢得时空
。反之,一旦广场坚持不退,使镇压功成,则保守派大获全胜。法理上和英明上都获得
决定性胜利。中国民主运动将一蹶不振。但可惜的是,1)部分幼稚者幻想解放军不会对
学生开枪2)部分怯懦者坚持要求党承诺不秋后算账3)部分脑残者认为流血会唤醒人民。
在广场静坐峰值数十万人之后,终于在最后关头,我等无法劝说最后不足千人离开广场
。终于酿就惨剧。死者不但葬送了自己,葬送了自己的家庭,也葬送了中国学生民主运
动至今已长达21年之久。

可悲可叹。

六四期间所作的唯一感觉自豪的是,就是曾帮助数位外地进京热血学子,在北京公交瘫
痪之后,找到他们的同学,亲戚,朋友,而不至于滞留广场,陷于无价值之灾。

当时仅仅我亲眼目睹的,就有至少两个机械化师,一个军级指挥部,四个摩步师。而我
没有来得及看东部和东北部。而这仅仅是被百姓截停在公路上的。

当时北京地铁全线停运。部队从五棵松一带部队大院进入地铁隧道,跑步开进城内重点
政府机关。待到兵力确保全部政府机关无虞后,地面部队才开始开进。

那时每天都有数班次部队直升机巡视广场。

在“暴民击杀军人”之前,在建国门一带,还有其他地方,6月3日傍晚发生多起试图诱
使“暴民击杀军人”的事件。例如数十手持棍棒的不明身份人士突然从汽车跳下对围观
群众一顿乱打,然后上车扬长而去。然后军人沿同一路线开始进军。

例如带无子弹武器军用大巴被弃置木樨地。

只有发生“暴民击杀军人”之后,开枪镇压才获得合法性。

是的。学生太NAIVE。尤其是外地进京学生。

后来就失控了。最后那千把人无论如何也无法劝离,结果酿成惨祸。

他们中的无辜丧生者用自己的鲜血和生命,用自己家人的一生悲哀,证明了中共元老派
镇压决定的正确性,连累了众多为了保护他们受伤死亡的北京市民。

不想被赵紫阳利用,结果被赵紫阳的对手利用到挫骨扬灰还要踏上一万只脚,连累家人
永世不得翻身。

这个实在让当时能够看清事态发展的人,永世扼腕。

赵紫阳5月19日,戒严令前一天,亲赴广场,并非象某些人所说,是以实际行动践行了
“我不入地狱,谁入地狱!”的誓言,而是幻想他能够利用自己的影响力,劝说学生自
动离开广场,制造已经内定通过的戒严令缺乏合法性的结果,将自己的政治筹码最大化
,谋取绝地反击。

可惜的是,那些所谓的头头们识破了赵紫阳的“阴谋诡计”,决心不被赵紫阳所利用,
但是却被赵紫阳的对立面吃肉不吐骨头地利用到底。

人傻不要紧,傻还要自作聪明,自以为高赵紫阳一筹,结果令人可悲更加可恨。

我们当时的观点是,已经注定被利用了,事已至此,镇压迫在眉睫,两个坏蛋(赵紫阳
和李鹏)必须选一个,主动选择总比被动选择好。但是那些人拒绝了。一定要坚持到最
后一刻。让子弹来为他们做出选择。而子弹掌握在邓李手里。悲剧就铸成了。

此后21年,每念及此,无不扼腕叹息,悄然泪下。

虽然我的好友无人殉难,被捕,受伤,甚至无人受冲击和秋后算账,但那些天安门母亲
的孩子,也曾经和我们一样,是热血青年啊。

动了十几万兵马,耗时一月,搞定数千赤手空拳的平民,双方亡数百,伤逾千,路人和
居民被误杀数十名。最后被定有罪的不过百余。

这种“战绩”你是头你好意思再提?

还不够丢人的吧。

事实上当时是个人智力健全的成年人就知道,如果仅仅对付示威学生,数千警察足矣。

可是当时中共元老派和改革派分歧巨大,公安系统无所适从,才造成治安混乱。不得已
调兵,可是军队内部也有不同声音,导致不得不采取预防兵谏的措施,长途调兵,快速
轮换,震慑军内不同意见者不得轻举妄动。事实上直接参与清场也就数千士兵,5个小
时。

而所有这些密辛,全都不可见天日。所以整体事件的高调纪念也就无从谈起。

军人们写回忆录也没有真话可讲。因为我的一个小时玩友,曾在当时在内蒙当兵。

后来偶然碰到他,他说他们当时是长途拉练演习,坐了一天一夜车,根本不知道去哪里
,停车后不许下车,不许和百姓讲话,没有报纸,没有收音机,在车上憋了好几天,然
后在一个部队大院住了一段,就开拔回去了。

六月一号可能吧,黑山扈一个排长什么的,对我们说他们就是军事演习,原地待命,其
他一无所知。对学生和当地居民对他们的态度很惊讶。

另外据说,当时部队轮换极快。6月4日前和群众接触过的部队根本没有参与清场,紧紧
参与重点单位卫护。6月4日凌晨上刺刀开枪的部队,天明前就整队返营了。4日到6日戒
严站岗是第三批,然后又有第四批。没有任何中下级军官军人经历全部过程。

当时暂新军车全部没有牌照,装甲运兵车全部对编号做涂抹覆盖处理。百姓根本无从得
知部队番号和来源。

衣食住行知,五权皆无,何谈人权?

By: | Comments: No Comments

Posted in categories: Opinions, 中文, 网文备份

* 安全的權利:有關禁止犯罪行為,如謀殺、屠殺、酷刑和强奸。

人据说有安全的权利,但是却没有不被误杀的权利。(阿富汗,伊拉克)

* 自由的權利:有關自由的範疇,如:宗教和信仰自由、集會、結社。

人有自由的权利,但是却没有在公共场合着宗教服装的权利。(法国)

* 政治的權利:有關人民的自由參政權,如抗議或入黨。

人有政治的权利,但是每年只有一天有选举权。(各国)

* 訴訟的權利:有關防止濫用法律制度,如監禁審訊、秘密審訊和過度懲罰。

人有诉讼的权利。但是理解法律却是昂贵的。(律师费)

* 平等的權利:有關公民的平等, 在法律之前人人平等。

人有平等的权利。但是富人交得起保释金,穷人交不起。(美国)

* 福利的權利(經濟的權利):有關提供教育和免於遭受嚴重的貧窮和飢餓。

人有福利的权利,但是After School和夏令营是昂贵的。(美国)

* 民族的權利:有關群體免受種族屠殺和其建立民族國家之權利。

人有民族的权利,但是美国印第安人是没有这个权力的。(美国)

这个就是人权是如何被大规模明目张胆践踏的。

此外,在不伤害他人的大前提下,仍然:
人没有获取知识的权利–因为知识产权是长期有价的;
人没有知情的权利–因为有那么多机密;
人没有信息平等的权利–关于你账单上每一条都是如何计算定价的,特别是保险费用;
人没有免于病痛的权利–因为医疗保险是分等级的;
人没有自由定居的权利–因为居留权是要申请的;
人没有自由旅行的权利–因为签证是要申请的;
人没有自由着装的权利–尽管不雅着装并不伤害任何人;
人没有自由选择食物的权利–因为吃饲养肉用狗肉也受谴责;

衣食住行知,五权皆无,何谈人权?

请为中国超级计算机喝彩–技术补遗

By: | Comments: 3 Comments

Posted in categories: Opinions, 中文, 网文备份

补遗1:

为什么22nm以下做不出来?

不是做不出来,技术上连5nm都做得出来。因为单原子链宽度1~2nm。单电子逻辑门也在研究中。

但是,如果线宽过窄,同时意味线间距,即绝缘空间过窄。窄到其势垒相对热运动动能以及自然放射性和宇宙射线次级辐射造成的量子跃迁概率不可忽略。因此电路出错率迅速上升。这对目前的低容错能力电路设计是无法接受的。因此可应用线宽受到局限。

补遗2:

关于拼机。

拼机不是体力活和砸钱就干得出来的。你弄1000台22艇拼一块还是干不了航母舰队的活。

大规模机群(Cluster)实现超越单机性能必须克服如下瓶颈:

1)并行化优化编译包–这个没有公共开源解决方案,必须自己搞。没有这个,大规模机群和学校图书馆那一大堆单机没有本质区别;

2)跨节点全自动负载管理–你必须能够合理实时自动分配进程。没有这个,你的大规模机群很可能只有1%的CPU累死,其他99%干看着不干活。这个存在开源解决方案,例如SGE,但是只适用于少于数百节点的中小规模机群。这个也必须自主实现;

3)分布式高速存储组元–这个不是把1000块硬盘堆一起就行的。你必须保障全部节点能够实时无瓶颈读写。包括多备份,大缓存(cache),多通道等技术。就像北京火车站比二道河火车站客流大1000倍,你无法在北京造1000个二道河火车站来实现。你必须有自主设计–即便是配套电路;

4)跨节点内存共享–一般中小型机群都没有这个。各个节点用自己的内存。但是对大机群,必须有这个。因为你不可能为单一节点安装1TB内存。但是会有任务需要这个级别的数据空间。这个不是InfiniBand缺省可以实现的。必须有不同于普通工作站的主板设计 –这个是买不到抄不来的。必须自己搞;

5)实时容错设计–数万个节点中每天都会有数个节点故障。系统不可因此导致任务失败或系统崩溃。监视,检测,实时换用备份,重置作业,这些功能同样是没处抄的。代码都得自己写;

6)机房工程–能耗,制冷,通风,灭火。必须做到一个机柜起火居域灭火而体系仍正常工作;

7)用户帐户管理–这个虽然铜臭却必不可少。否则等着破产。

补遗3:

关于后门。

硬件后门是双刃剑–万一后门被无间道泄露出去,战时对自己的打击将是致命的。硬件里的逻辑后门恐怕并不现实。

软件中的后门是普遍的。而且夹杂在大堆BUG中。自主知识产权软件有必要。

事实上,更普遍的,硬件存在明显的军用级和民用级。不是后门的原因,而是可靠性和对环境耐受度的区别。我们买不到军用级芯片。如果使用民用级芯片在军用系统中,平时完全没有问题,低烈度演习也挺得过去。但是真到战场上,会迅速被电磁脉冲武器摧毁。而敌军的军用级电子设备安然无恙。这样我军就死翘翘了。这个才是必须开发自主知识产权的芯片的关键所在。

比如龙芯,我们有自主知识产权,民用级委托意法半导体制造推广,但是我们仍旧可以自主生产军用级芯片,达到抵抗不能摧毁敌方自己的军用级芯片的抗电磁脉冲和战场环境能力,才能够和敌方回到同一起跑线上。

这个才是关键。

Fedora 13: when home directory is a subdir through nfs and/or link

By: | Comments: 13 Comments

Posted in categories: Computer Tips, Work related

When I upgraded my fedora boxes in a cluster to fedora 13, I found that I can nolonger login locally via graphical interface, and remote login dropped me to / since it could not change dir to user home.

I then

setenforce 0

All back to normal.

However,

audit2allow -m local -l -i /var/log/audit/audit.log

did not show any error, so do

grep seal /var/log/messages

And I did not find any reasonable solution from internet.

For order version of fedora, I used to use local.te to enable /home through nfs.  Now in version 13 it can be done by

setsebool -P use_nfs_home_dirs=1

But this did not change anything here.

So I went to check the path of real /home, and found that “home” has nfs_t attibute since it is a nfs mount.  This is supposed to be resolved by the above means.  However, “home” is not mounted under /, but under /data, which is attributed default_t.  I believe that this is the cause of the failure.

To solve this, I made a local.te file as

module local 1.0;

require {
type local_login_t;
type default_t;
type xauth_t;
type sshd_t;
class dir search;
}

#============= sshd_t ==============
allow sshd_t default_t:dir search;

#============= xauth_t ==============
allow xauth_t default_t:dir search;

#============= local_login_t ==============
allow local_login_t default_t:dir search;

This allows sshd, xauth and local_login to go through default_t.

By inserting this to the selinux policy, the issue is fixed.

Use rasdial to command line operate VPN

By: | Comments: 5 Comments

Posted in categories: Computer Tips, Work related

C:\>rasdial /?
USAGE:
rasdial entryname [username [password|*]] [/DOMAIN:domain]
[/PHONE:phonenumber] [/CALLBACK:callbacknumber]
[/PHONEBOOK:phonebookfile] [/PREFIXSUFFIX]

rasdial [entryname] /DISCONNECT

rasdial

Command completed successfully.

应该恢复立法打击投机倒把

By: | Comments: No Comments

Posted in categories: Opinions, 中文

应该恢复立法打击投机倒把.

旧定义:
投机倒把—-是指利用时机,以囤积居奇,买空卖空、掺杂作假、操纵物价等方式扰乱市场、牟取暴利的行为。投机倒把罪是指以获取非法利润为目的,违反金融、外汇、金银、物资、工商管理法规,非法从事工商业活动、扰乱国家金融和市场管理、破坏社会主义经济秩序,情节严重的行为。通俗点就是指某人在a地以低价买入在b地以高出买入价卖出就是投机倒把。

旧定义的问题:
1.定义混乱:做生意利用时机没有过错.掺杂作假是质量管理问题,不是投机倒把问题;
2.打击面过大:绝大多数正常商业行为就是在a地以低价买入在b地以高出买入价卖出.这是正常物流带来的合理增加值.

新定义:
投机倒把—-是指以操纵真实或虚拟资本流动或物资流动为手段故意制造人为或虚假短缺或过剩,以造成投资者,生产者,运输业者,销售业者,或消费者经济损失为代价获取利润的任何商业活动.

实例:拒绝消费者或面对消费者的零售商按市价购买要求;散布虚假短缺或过剩信息;以及通过控制仓储运输等渠道扭曲供求关系等商业行为.

Linux: add a swap file

By: | Comments: No Comments

Posted in categories: Computer Tips, Work related

To add a swap file:

  1. Determine the size of the new swap file and multiple by 1024 to determine the block size. For example, the block size of a 64 MB swap file is 65536.
  2. At a shell prompt as root, type the following command with count being equal to the desired block size:
    dd if=/dev/zero of=/swapfile bs=1024 count=65536
  3. Setup the swap file with the command:
    mkswap /swapfile
  4. To enable the swap file immediately but not automatically at boot time:
    swapon /swapfile
  5. To enable it at boot time, edit /etc/fstab to include:
    /swapfile               swap                    swap    defaults        0 0

    The next time the system boots, it will enable the new swap file.

  6. After adding the new swap file and enabling it, make sure it is enabled by viewing the output of the command cat /proc/swaps or free.