2008年12月29日星期一
北京--青岛新路线
标 题: 推荐北京--青岛新路线
发信站: 水木社区 (Mon Dec 29 17:46:07 2008), 站内
今天跑了一趟
7:40 京津高速台湖站取卡,小表归零
8:00 永乐收费站交费¥15, 30km
8:10 转京沪高速, 44km
8:55 胡辛庄互通传唐津高速, 134km
9:15 转荣乌高速(G18),162km。荣成方向,下去没多远看到一个路口,直行就是了
,那块出口是津淄公路,直行忘了写的啥了
9:35 河北收费站交费¥85,194km
10:10 山东收费站交费¥30,252km,算了一下,这要比走京津塘转京沪转石黄再转津
汕要节省大概30多公里
沿着荣乌一直走,看到东营青岛方向路牌出去
11:40 东营服务区,406km,上了趟厕所,喝了点水吃了饼干,把油加满,总共耗时20
min
12:00继续出发
12:10 辛庄子互通走青岛威海出口又转入荣乌高速,429km,之前走的好像叫东青高速
,搞不清它俩啥关系
然后一直走就是了,打死都别往出口跑,荣乌/青新/青银三条高速连着跑到头
14:15 青银高速终点,659km,交费¥175
总的算下来,要比走京津塘/京沪/石黄/津汕/滨博/济青节省五六十公里,看似多交
费5块,但这会走的全程高速,而那条路线济青终点出来后得跑小10km的不知啥烂道才能
从城阳夏庄上青银高速,里外里其实一个价。
一路上一个人开,只进了一次休息区,车不多,基本上一直跑120km/h
--
只要是足球,我就喜欢
※ 来源:・水木社区 newsmth.net・[FROM: 221.3.110.*]
2008年12月26日星期五
2008年12月22日星期一
腰椎间盘突出症专贴
描述:飞燕和五点支撑动作图
图片:
描述:家庭自制单杠图,经常吊吊和牵引原理差不多
图片:
前几天,一连有两个关于腰椎间盘突出症的帖子,但点击寥寥,最多那个才600多而已。在人气最旺的中国区,这个伤病帖子仍然得不到足够的重视。显然,可能大多数球友连锥间盘突出是什么都搞不清楚,但这伤病是否就真离大家很遥远呢?
我认为完全不是这样。
所以,我特地综合了那两个帖子里的内容,再加上我个人对腰椎间盘突出症的一些经验和感受,再发一个帖子,希望引起广大球友们的重视。
2000年发病时,我到医院一看,十分沮丧。因为像我当时25岁这么年轻的锥间盘突出症患者实在极少极少,大多数患者都是过40的中老年人为多。
但如今,我在各大篮球论坛里已经发现,这个病已经开始越发低龄化了,甚至很多高中生已经出现了脊椎的伤病。
这是为啥呢?原因其实很简单。
人类本来是爬行动物,后来才学会直立行走。所以我们的脊椎也是从适合爬行的结构,慢慢通过一代代人的改良,逐渐变成如今适应直立行走的结构,但脊椎结构的改良速度往往跟不上们生活方式的快速改变。城市里的年轻一代往往过度使用脊椎,长时间的不良坐姿或不科学的运动方式都会致使过度使用脊椎而致病。(这个道理是我从医生那里听回来的,阐述得可能很不全面请见谅)。
先说不良坐姿:长时间看电视或使用电脑,我们大多数人都习惯了这种生活方式。但大多数人并不知道,坐姿时脊椎所受的压力,比立姿或睡姿时都要大数倍,尤其当你座下的凳子不能起保护腰椎的作用时,那就更加强了伤害性。有多少人会在腰底下放个枕头在电脑椅子下,又有多少人会每隔一小时就会站起来伸展放松一下脊椎。尤其打起游戏来,按小时算都是奢侈了。
而不科学的运动方式更害人:大多数没经过专业训练的球友,当他们痴迷的用自己的方式全身心投入到篮球运动中去时,往往都没注意如何防止伤病。顶多买一双专业的运动鞋,或是带个LP的专业护具就觉得对得住自己的身体。而受了伤也没人给予正确的指导该如何恢复,甚至还有不少人以受伤为荣,觉得身上伤越多就越证明自己对篮球的痴迷度和投入度。
我年轻时,就是这样一个既不讲究坐姿而又极度痴迷篮球运动的人,因为我压根儿没想过,我的腰会出那么大的问题。
篮球运动里最常见的大伤病莫过于腰伤和膝伤。膝伤最常见的重度伤也就令人行走或上下楼梯时出现严重的困难而已,但腰锥间盘突出症则可以令人半瘫痪掉,连日常生活都不能顺利进行。
当年患病时,我整整一年多的时间里,走路不能超过1小时就必须躺下缓解腰椎的压力。否则整个脊椎会出现代偿性的向一侧弯曲,受伤一侧的腿会因为神经遭压迫而快速麻木,而背肌也会一侧发硬。总之苦不堪言。这使我的工作受到极大影响,幸亏单位里还算照顾才熬过来。
而比起身体上的痛苦,更令人烦恼的是心理上的折磨。腰锥间盘突出这个病最恐怖之处就是你很难用某一种方式就把它给治好,而且就算你走对了路,但两三个月里也很难见到其功效,必须用非常高的耐心去坚持治疗。
以下是我个人的患病经历和治疗经验:
00年我25岁,起病缓慢,甚至开始医生误诊,到4个月后确诊,医生说我以后不能再打球,极度沮丧。
然后中药、西药、牵引、按摩,半年无效。医生说还是开刀吧……。
正准备向单位请长假时,良心大大滴好的医生突然对我说还是再看看先,动了手术,你脊椎就不完整了,慎之。
又拖了半年,还是无效,最严重时盘骨向左倾三厘米左右,连续走路不能超过一小时。
继续寻找尝试各种方法,无效。
后来我看报纸说俯卧头手脚向上的飞燕锻炼有效,于是我结合踢腿和旋转脊椎的方法锻炼。后期干脆负重飞燕。
病去如抽丝,又半年后,我可以打球了。
如今32岁了,仍能轻松抓框
我认为最有效的方法是病起确诊后马上请几天假,躺在硬板床上一动不动几天,然后如果感觉好转就可以轻微飞燕锻炼背肌和活动脊椎,然后继续平躺继续锻炼。
确诊腰椎间盘突出的方法其实挺简单,就是平躺在床上,然后让人把你的脚直着(膝盖不能有一点弯曲)往上抬,脚能和身体超过或小于90度的夹角就基本是阴性,如果大于90度就出现剧烈疼痛者,那就很可能是突出压迫神经了。但最确诊的方法还是去拍个片。
个人体验:第一阶段 轻度飞燕(俯卧,用髋部作支撑点,手脚伸直展开,上下身向上提升,按算次数量力而行)
第二阶段 中度飞燕(动作同轻度飞燕,但动作展开后停住,按时间算,比如30秒一组,做5组)
第三阶段 重度飞燕(动作基本同上,但手脚绑沙袋负重量力练习,算次数)但要强调的是,练习重度飞燕的前提是症状得到明显改善后才能练习,切勿心急贪快盲目上量,否则后果严重!!!
锥间盘突出患者练习飞燕必须在睡前练习,因为背肌经过练习后必须得到充足的休息,如果练完不休息的话比没练更差不知多少倍。而且练习完后最好结合药油按摩一下,加速恢复。
通过三阶段的练习,半年以内,保证你背肌的耐力和爆发力都有很大提升,我当年就是完成后,一直没复发过,而且平常基本也没非常重视过其他保健,唯一留下的后遗症就是当年因为锥间盘压迫神经后造成不可逆转的脚趾末端神经萎缩而已。
现在我觉得:只要一周打一次球以上,每次超过两小时,对抗激烈。那么你就得学会如何正确地保护自己的身体,别让篮球这项运动搞垮你的身体。
首先是热身,而且必须要全面,这方面我不是专家就不多说了。
其次是平常必须锻炼和保养你经常过度使用的肌肉,比如通过飞燕去锻炼强壮你的背肌,比如通过靠墙站马步锻炼你膝关节附近的肌肉群。--只要平常做好这两个部位的预防性锻炼,那么你的腰膝就会减少9成以上的受伤风险,当然,我指的是业余爱好者而已。
当然,没被蛇咬过又哪会怕草绳,大多数人都没这个警觉性,或是好端端的就懒于去做这些预防性措施的,但其实,只要你同时符合以下两个情况,那么恐怖的腰椎间盘突出症其实离你根本不远。
那就是:经常打不科学的篮球+经常长时间的坐姿=用腰过度
所以即使不作任何预防,但最好也得检讨一下你的用腰情况。
以下是曾经患病网友的经验
网友木头的经验:
俺也一样,刚开始没引起注意,后悔。
――牵引,比较有效。但是不能完全消除串到腿窝的疼痛感,后来尝试平趴床上,支起双臂,让腰部反弓,坚持做了一个月,往下串的疼痛感尽失,当时激动的满眼泪。腰部坐久后还有不适,不过这都是小事情了,增加腰部力量练习,就会好一点。还有,一定要注意腰部防寒,打球后,赶紧,连裤衩都换,每天没事拿个热水袋敷敷腰。注意体位。这病去不了根,但是坚持锻炼,应该不耽误打球。
网友ah2008老教练的经验:
这种病痛整整折磨我三个年头,当时心想如果能和常人一样生活足以,经过这四五年的不断保养,现在可以去球场玩一玩了,但要是参加正式比赛,那种强度肯定不行,打过之后肯定有不同程度的反映。当年我为治疗跑遍全国各大医院,民间单方也用尽也不能解除痛苦。我认为此乃是篮球运动第一大病。我现在能到球场上一玩,我的好朋友医生都说是一大奇迹。我要劝说你如果你还年轻的话一定不能急于运动,等休息好没什么大障,逐渐加大运动量,特别是严禁弯腰救地面球的动作。这样才能延长运动寿命。很愿意跟你进行交流,也愿意跟你直接交流。
网友飞翔的菜单的经验:
告诉大家一个小秘密.鄙人也素腰椎间盘突出.
不过做了一个疗程的牵引之后,情况大为好转
并且谨遵医嘱,每日坚持对背部肌肉进行锻炼...锻炼方法...蛙泳...如果没有条件,就平躺在床上用脚支撑起身体腹部,做挺腹运动....我现在一时兴起可以做100来个....躺下以后背部血液通畅,而且背部肌肉在经过一段时间的锻炼后,会变得更为强壮
我之前伤了3年.但是之前一直认为骨头没有问题,所以没有拍片.但是拍片,并且做了牵引之后效果良好.
我看了一些关于中医调理的书...骨骼出现一点小问题的时候,肌肉可以辅助其恢复正常位置,所以平常不懈地锻炼背部肌肉是腰椎间盘突出患者平常就应当多做的功课...
我总结了以下几个要点,大家平常注意一下,继续打球并不是痴心妄想.
1.尽量坐在硬凳子上,床也不要睡太软的,特别是那种可以让你向后靠的软沙发,尽量不要往后靠下去,坐的时候,腰要尽量笔直.
2.一定不要长时间采用卧躺的姿势.比如我们经常喜欢垫两个枕头然后半躺着看书,看报纸,看电视之类....这样半躺虽然非常惬意,但是这个姿势对于腰椎间盘的压力和损害是最大的!!!!!!
3.打球的时候切忌失去平衡的各种动作....我要说的是...筒子们,你们可以大风车,可以做拉杆上篮,可以急停急转变向, 在你有把握能控制住重心和平衡的情况下,你爱怎么弄怎么弄...但是切忌那种把将自己抛在空中的行为...这不仅是腰椎间盘突出的患者应该注意的,广大球迷都应当尽量避免长期用这种状态打球....追求合情合理的进攻机会对于已经步如20+的朋友,也是很有吸引力的挑战.
4.平常一定要注意对背肌的锻炼.如上所述,增强肌肉的机能,能够帮助骨骼恢复正常的位置.
5.避免一些对背部照成过大压力的动作.比如仰卧起坐..一定不要再做.同理,起床的时候记得不要做跟仰卧起坐同理的突然起身...尽量先侧身躺,然后用手辅助身体竖立起来,而不是直接依靠脊椎特别是腰椎来带动全身.
6.睡觉记得裹住腰部...睡觉的时候穿着的睡衣最好能够裹住腰部,这样避免寒气侵蚀脆弱的背部椎间盘.寒气进入会导致血管和肌肉的收缩.同时人体还会因为排除寒气而产生一定的身体垃圾.很多腰椎间盘突出的朋友本来血管或经络就不够顺畅,受寒会加剧痛苦.游泳的时候也要注意防寒,特别是后背的部分.
7.不要坐太久,有机会的话,能够多平躺休息.上班族面对电脑坐着一坐就是几小时的爱岗敬业的小伙子们,你们注意了...再好的腰,平常不注意放松也会引起腰椎间盘突出,更别说是遭受过运动伤害的老腰了...所以...在工作一段时间以后,最好起身走动走动,在合适的地方做一下疏活筋骨的热身体操,扭一扭咱们的老腰....当然,如果有时间,可以多敲敲胆经,按摩心包经.:)(顺便推荐各位看看<人体使用手册>吴清忠著)本来没有想到,但是发贴后想起身走动走动,就想了起来,
本人也曾经一再问自己,真的不能再打篮球了吗???? 这个腰真的一辈子都要这样了吗????
答案是否定的! 我建议在腰部有不适的广大hooper可以在拍片的基础上找一些有经验的中医师就诊,另外平时按照我说的7点要求自己.就一定可以像我一样重新在篮球场上找回活力.我现在丝毫感觉不到腰部有任何的不适.甚至比受伤前感觉还顺畅.特写此文,以为广大同病相怜的hooper共勉.
pisky的经验
我也是腰椎键盘突出,大2时打比赛和玩电脑不注意休息,洗澡时扭的,直接导致大学上了5年,具体病症就是一开始屁股疼,逐渐发展到大腿,坐硬座位时屁股和腿有难以忍受的疼痛,走路迈左腿会很痛,,不能参加运动,每天爬在床上借酒消愁,拍CT后确诊是椎间盘突出,后经过母亲朋友介绍,在石家庄的河北省体工大队队医开的诊所里治疗,大夫姓荆,长期为体工大队的运动员们治疗,他治疗运动性搓伤很有一套,而且价钱也不贵.
具体治疗是过电针灸+按摩+适度牵引+极少次封闭,主要以针灸和按摩为主,我治疗了大二寒假和暑假两次,总共四个疗程,每天早晨大早就去那排队,人很多的,去晚了就要等很久.现在我大四就要毕业了,打球什么的基本无碍,只是腰部有些僵硬,不能做一些急速突破了,而切因为生病修养了不少的时间,现在我体重已经到180+了,经常被当作C使用,我以前是SF的,体重轻时原地摸筐很轻松的,不过我已经很知足了,跳不起来有跳不起来的打法,现在也打球打的很HAPPY,康复后平时住行要注意姿势,常运动腰部,前面31.5岁的大智慧哥说的特别正点,去病如抽丝,要慢慢养的,而且做燕飞确实很有效果,可以锻炼你的背部肌肉,使之能收紧脊椎.
我也特别的喜欢TMAC,以前我只觉的他是一个球星,现在他是我的偶像,我能够感同身受的体会到他所承受的巨大痛苦,他是一个真正的战士.
另外如大智慧哥所言,手术是最后万不得已才用的,天幸我遇到的都是有医德的大夫,最好先做物理治疗,除非有毁灭性硬伤,应该都能好转的,我也曾经绝望过,所谓我劝你千万不要灰心,目前这种病虽然没法去根,但是合理的治疗和良好的保养与锻炼是可以把不适降到最低的,你一定要有信心,看看T-MAC在比赛中的表现吧.
我的QQ是:5004759,病友都可以加我,一起探讨篮球和伤病的保养
最后:向CK提议是否有必要成立一个伤病讨论区。
再转贴一些复健的手段,据我个人实践过大多比较有效。
腰椎间盘突出症家庭锻炼法
腰椎间盘突出症患者急性期固然以卧床休息为主,肌肉、关节的锻炼也不能轻视呵。正确有效的方法不仅可以加速康复、延缓病程,还有利于振奋精神、增强信心。
1.反复搓腰:将双手分别放于同侧腰大肌处,由上向下,再自下而上反复搓10-15次,以双侧腰部发热为度。
2.爬行训练:四肢呈爬行状,先后做弓腰、沉腰动作。然后侧身左(右)手摸左(右)足,扬手转身等动作,最后将双手着地,作爬行动作,每天坚持30分钟。
3.飞燕式锻炼:俯卧于床,先后做双下肢交替抬举、双下肢同时抬举、上半身后伸抬起、身体两端同时抬离于床等动作,上述动作各十余次,每日坚持30分钟锻炼。
4.团身运动:仰卧于床,先后做屈髋、屈膝、仰卧起坐或仰卧起坐接双手抱膝贴胸等动作各十余次。此运动可与飞燕式隔日交替进行。
5.退走锻炼:在走廊或空旷处倒退走,每次30分钟左右。这种锻炼有利于改善腰背肌状态,恢复腰椎生理弓和腰部小关节滑动,可帮助解除小关节粘连。
6.挺腹疗法:每日做挺腹运动数十次,一方面加强腰背肌的锻炼,另一方面使椎间隙及纤维环、椎间韧带发生旋转、牵拉,产生周边压力,突出物易于回纳,可使椎体关节回复解剖功能位,达到适应状态。
需要提醒的是,每个人的个体差异不同,从中选择适合自己的一、两个方式锻炼。在此过程中,注意安全,年长者应在家人陪护下进行为妥。
以下我来给你介绍"腰椎间盘突出症的练功疗法"。
练功疗法在防治腰椎间盘突出症方面,有不可忽视的作用,在重点锻炼腰背肌的基础上,兼顾加强腰部和双下肢功能运动,调整腰椎两侧和下肢肌张力,而达到缓解症状的功效。现将具体锻炼动作介绍如下:
1)按摩腰眼
预备姿势:坐位或立位均可,两手掌对搓发热后,紧按腰部。
动作:
双手掌用力向下推摩到骶尾部,然后再向上推回到背部,重复12--24次。
2)风摆荷叶
预备姿势:两脚开立比肩稍宽,两手叉腰,拇指在前。
动作:
1.腰部自左→前→右→后作回旋动作,重复12--24次;
2.再改为腰部自右→前→左→后作回旋动作,两腿始终伸直,膝关节稍屈,上肢伸直,双手轻托腰部,回旋的圈子可逐渐增大,重复12--24次。
3)转腰推碑
预备姿势:两脚开立比肩稍宽,两臂下垂。
动作:
1.向右转体,左手成立掌向正前方推出,右掌变拳抽回至腰际抱肘,眼看右后方;
2.向左转体,右手变立掌向正前方推出,左掌变拳抽回至腰际抱肘,眼看左后方,重复12--24次。推掌的动作要缓慢,手腕稍用力,臂部不要僵硬,转体时头颈与腰部同时转动,两腿不动,推掌与握掌抽回腰间的两臂速度应该一致。
4)掌插华山
预备姿势:两脚开立比肩稍宽,两臂下垂。
动作:
1.右掌向右搂回腰际抱肘,左掌向正右方伸出(如用力插物状),身体向右转,成右弓步;
2.左掌向左方平行搂回腰际抱肘,右掌向正左方伸出,身体向左转,成左弓步。眼看插出之手掌,手向外插出的动作可稍快,重复12--24次。
5)凤凰顺翅
预备姿势:两脚开立比肩稍宽,两手下垂。
动作:
1.上身下俯,两膝稍屈,右手向右上方撩起,头也随转向右上,眼看右手,左手虚按右膝;
2.上身仍下俯,两膝仍稍屈,左手向左上方撩起,头也随转向左上,眼看左手,右手下放虚按左膝。头部左转或右转时吸气,转回正面时呼气,转动时用力要轻。手臂撩起时动作要缓慢,手按膝时不要用力。重复12--24次。
8)飞燕点水
预备姿势:患者俯卧,头转向一侧。
动作:
1.两腿交替向后作过伸动作;
2.两腿同时作过伸动作;
3.两腿不动,上身躯体向后背伸;
4.上身与两腿同时背伸;
5.还原,每个动作重复12--24次。
9)仰卧架桥
预备姿势:患者仰卧,以两手叉腰作支撑点,两腿屈膝成90度,脚掌放在床上。
动作:
以头后枕部及两肘支持上半身,两脚支持下半身,成半拱桥形,挺起躯干。当挺起躯干架桥时,膝部稍向两边分开,重复12--24次。
10)行者下坐
预备姿势:两脚开立,距离与肩同宽,两手抱肘。
动作:
1.脚尖着地,脚跟轻提,随后下蹲,尽可能臀部下触脚跟,两手放开成掌,两臂伸直平举;
2.起立恢复预备姿势。
注意:下蹲程度根据患者的可能,不应勉强,必要时可扶住桌椅进行,重复12--24次。
11)四面摆莲
预备姿势:患者两脚正立,双手叉腰,拇指在后。
动作:
1.右小腿向后提起,大腿保持原位,然后右脚向前踢出,足部尽量跖屈;
2.右腿还原再向后踢,以脚跟触及臀部为度;
3.右下肢抬起屈膝,右脚向里横踢,似踢毽子一样;
4.右下肢抬起屈膝,右脚向外横踢。练完后换左下肢作同样动作,每个动作重复12--24次。
12)仰卧举腿
预备姿势:仰卧位,腿伸直,两手自然放置体侧。
动作:
作直腿抬举动作,角度可遂渐增大,双下肢交替。每个动作重复12--24次。
注意:双下肢抬举角度应根据患者的可能,不应勉强。
13)蹬空增力
预备姿势:仰卧位,腿伸直,两手自然放置体侧。
动作:
1.屈髋屈膝的同时踝关节极度背伸;
2.向斜上方进行蹬踏,并使足尽量跖屈,双下肢交替进行,每个动作重复12--24次。
14)蹬车活动
预备姿势:坐在一个特制的固定练功车或健身器上。
动作:
作蹬车活动,模拟踏自行车,重复动作2--4分钟。
15)在防治腰椎间盘突出症中,多采用练功疗法,这种方法具有如下优点:
1.简单易学。腰椎间盘突出症的练功疗法动作简单,通俗易懂,患者能很快学会并掌握,可自行开展治疗。
2.可随时随地进行。腰椎间盘突出症的体疗不受场地、时间的限制,并不需要投资购买特殊器材。可根据场地开展不同体位的练功疗法。因此,患者无论是在工作单位,还是在家庭或公园,都可随时随地进行。
3.有利于调动患者治疗的积极性,增强战胜疾病的信心。腰椎间盘突出症的病程较长,迁延难愈,给患者造成很大的痛苦。反复发作,练功疗法使患者自我积极主动地参与治疗过程,增强了战胜疾病的信心,有利于心理康复,并能克服急躁情绪。
4.有其他疗法不可替代的作用。腰椎间盘突出症病程较长,多数患者都有不同程度的肌肉萎缩、肌力下降或腰背肌两侧不对称的情况,练功疗法可极大程度地改善这种状况。
5.有防止复发和预防作用。练功疗法可在手术、手法、牵引之后作为一种巩固和提高疗效、防止复发的手段,并能矫正工作和生活中的腰部不良姿势,降低腰椎间盘突出症的发病率。
哈哈,开盘换磁头成功
标 题: 哈哈,开盘换磁头成功
发信站: 水木社区 (Tue Dec 23 00:16:04 2008), 站内
一个60G的日立笔记本硬盘,数据突然读不出来了,用软件扫描
出现固定间隔的坏道,而且数目非常多,约1/3都坏了,
咨询了下搞数据恢复的,说可能有个磁头挂了,要开盘修,起价1000。。。
因为也就是个人数据,不舍得花那钱,又想要数据,
就去二手市场买了个一模一样得,斗胆开盘换了一下磁头,
换好后windows下面虽然不认盘,但是用简单工具一读,分区都在,数据基本都读出来了。
呵呵,运气不错
我在卫生间里换的,换之前放了很多水冲洗地面和空气,结果真正换磁头的时候,
还是眼睁睁看着落进去几个灰尘,肉眼看不见的灰尘估计更多了,
不过卫生间应该比其他房间要干净多了,起码地面上不会再有灰尘了,台面上铺上了
新的保鲜膜,带上口罩和浴帽。业余条件下只能做到这样了
此外,我还花10元买了一个同一系列80G硬盘的尸体,拿来练手,反复拆装了几次,才拿
要救得数据盘开工。
应该说硬盘这个东西虽说容易坏,但是只要维修方法得当,
找可以信赖的数据恢复公司在无尘操作室或操作台里面开盘修,
数据不会轻易丢的。业余条件下手艺好的,也可以试试,不过风险蛮大的。
中间有几次差点失手,比如差点按上指纹,差点让压着磁头的强力磁铁吸到盘片。。。
--
※ 来源:・水木社区 newsmth.net・[FROM: 124.126.164.*]
2008年12月12日星期五
Ian的经历很有意思,Debian创始人,Linux基金会CTO,SUN的副总
标 题: 感觉Ian Murdock说的不错,转贴一点
发信站: 水木社区 (Sat Dec 13 07:12:25 2008), 转信
刚看了ChinaUnix.net的电子杂志第三期,其中对IanMurdock的采访很有意思,摘抄几段,跟最近版面上的讨论也有关系。Ian的经历很有意思,Debian创始人,Linux基金会CTO,SUN的副总
ChinaUnix.net-专家专栏
ChinaUnix:UbuntuLinux发行版从04年开始,短短几年内在Linux桌面市场上刮起一阵旋风,特别是它的市场推广策略非常具有侵略性,您对这种发展模式是如何看待的?
IanMurdock:UbuntuLinux市场推广的确很成功,但是我们要看到,Ubuntu并不是仅仅是通过免费发放CD就获得如此成就的。我们要看到内在的东西,那就是UbuntuLinux相比较其他的Linux发行版厂商,他们在提供真正的Linux桌面操作系统产品,我想这才是他们成功的原因。一个产品想要获得成功,广泛的用户基础和产品的易用性是必不可少的,Sun公司在过去的几年中一直在致力于产品安装和维护的人性化和定制化,为的就是能给用户一个很好的体验,而免费送光盘不失为一种非常好的辅助手段。
ChinaUnix:事实上,我们也在看到,Linux内核的发展也在越来越多的受到企业的控制,比如现在内核新增功能中更多的是为了解决企业级用户需求,桌面用户正在被忽视。您对这种发展模式是如何看待的?
IanMurdock:在这个问题上我们看到的是,越来越多的公司将Linux作为一个服务器解决方案在支持和发展。其实我也有听说,Linus本人当初也不会想到Linux会发展到如此地步。他一直没有想把Linux操作系统发展成为服务器操作系统的念头,因为他本人一直都在使用Linux作为他的桌面操作系统。从目前Linux内核的发展情况我们也能看到,其实无论社区项目还是企业产品的发展都是有其目的性的,满足市场的需求是第一位的,也只有这样才能够取得成功。
ChinaUnix:现在市场上的新概念越来越多,SaaS、虚拟化、SOA、云计算等等,这些会影响到开源软件的商业化发展么?是促进还是损害?
IanMurdock:我们可以看到,目前提供云计算服务的厂商,比如Google,他们大量采用或者说基于开源软件,但是他的成果或者产品并不一定是开源的。而且对于Google这样的公司来说,他们的产品是不是应该开放源代码?比如,作为一个开发人员,我拿到了Google软件产品的源代码,我能做什么呢?相对于这些软件源代码,可能Google后台那些成千上万的服务器才是最重要的。在云计算的案例中,当我们将那些传统的运行于个人计算机上的软件迁移到云计算供应商的服务中去的时候,开放源代码的某些特性可能会发生改变。比如以前我们在追求产品源代码,可能我们现在更加追求用户应用和数据的自由迁移能力,比如从一家云计算供应商迁移到另外一家供应商。其实这些开源的共同特征就是用户的自由,无论是在PC时代、服务器时代还是云计算时代,开源的本质是一样的,那就是用户的自由,这才是我们真正所追求的。
ChinaUnix:一个合格的开源社区成员需要有哪些基本能力?中国的开发爱好者们如何在开源事业中获得成功?
IanMurdock:作为一个开源开发者,首先要有激情和坚持,当我创立DebianLinux的时候,我是一个20岁的大学生,我的大学论文一般都是不及格的。参与开放源代码社区往往代表着一种机会,参与其中你可以学习,并且提高自己。而且你可以通过参与社区告诉别人,你可以做什么,你能做什么。开源源代码社区中有意思的是,无论你的技术水平如何,你身在何处,你都能为它做出自己的贡献。
ChinaUnix:目前开源的机遇有哪些?中国的开源企业如何才能给获得成功?
IanMurdock:要想获得成功首要的一点是,您要给用户提供一个产品,这个产品是大家都需要的,而市场还没有同类产品,我想这才是开放源码企业能够获得成功的关键,我想这也是所有企业能够获得成功的关键。当然,这个说起来要比做起来容易的多。开源源代码企业基于社区,这是他区别于别的软件企业的所在。通过开源社区,小公司可以接触到很大的用户群,可以接触到那些大公司才能够拥有的资源,而这在以前是不可想象的。开放源代码并不仅仅是战略,你需要将你的产品围绕开放源代码来进行,通过开放源代码的方式,你可以接触到以前无法想象的市场和庞大的开发者群体。但是要想获得成功,你就要想到怎么盈利,就像上面我所提到的,为你的产品增添同类产品所没有的功能和特性。正像你在提问中所提到的那样,当时我们运作Debian商业化服务的公司progeny也是这样,我们当时并不仅仅是将Debian包装一下,我们还增添了很多客户需要的东西,比如可以为用户定制化桌面、为他们提供工具包和服务支持等等。
ChinaUnix:ZFS是个非常不错的文件系统,可是现在的迁移进度有点慢,他什么时候能够真正的在Linux系统上运行起来?
IanMurdock:ZFS现在目前在Linux平台上还没有移植完成主要是因为协议的问题,因为CDDL和GPL协议之间的关系还不是兼容的非常好。假如哪天OpenSolaris采用GPL协议,我想ZFS文件系统很快能够移植到Linux中去。而且你现在也可以在Linux操作系统下使用ZFS文件系统,不过是在用户态,而不是核心态。
--
※ 来源:・水木社区 newsmth.net・[FROM: 68.55.254.*]
IBM的产品线
标 题: IBM的产品线(转)
发信站: 水木社区 (Sat Dec 13 01:41:29 2008), 站内
大家来评一下IBM这个百年老店还能开多久。
SWG(软件部)
Lotus,企业协同办公,市场第一;
Webshpere, 应用服务器与消息中间件之类的,市场第一;
DB2, 数据库,信息管理,商业智能等,可能比Oracle稍差,市场第二;
Tivoli, IT与系统管理,这个市场似乎还没有老大,Tivoli市场前二?
Rational, 一大堆牛逼的建模,开发,测试工具等,市场第一,似乎没有同级别的竞争对手.
STG(系统部)
z 系列服务器, 所谓的大型主机,全球似乎就IBM产啦,全球的银行都在用。
i 系列服务器,这个系列夹在z和p的中间,似乎不行了,会慢慢的合到p系列上去。
p 系列服务器,Unix(AIX)服务器,以性能著称,深蓝,蓝色基因之类的超级计算机就是基于p系列做的。在Unix服务器市场占用领先地位,市场第一。
x 系列服务器, 基于x86的低端服务器。这块估计市场前3, 不一定能搞过HP,DELL
刀片服务器, 市场前3
存储设备,与EMC的市场份额差不多,市场至少前二
芯片,IBM和intel是地球上两个最牛逼的芯片厂商,论技术可能IBM更牛点。只不过IBM的power芯片走的是高端路线,并不厂为人知。此外IBM的cell芯片相当牛逼,三大游戏主机(PS3, xbox360, wii)无一例外,都基于cell芯片。
此外系统部还有OS, compiler, 平台管理,能源管理等一系列的软件产品。
GBS(全球商业服务)
企业IT咨询与服务,偏业务与商业流程。
GTS(全球技术服务)
技术咨询,包括给企业设计IT基础架构,数据中心等
GES(global engineering service)
好象是给其它企业定制设计芯片。
Retail
零售终端设备,在大商场都能见着。
新概念与新技术
SOA的第一大吹鼓手,目前是绿色IT以及云计算的最主要的吹鼓手之一。关于云计算这个东西,是一个向传统的大型主机发展的趋势。当然这个大型主机不会再象六七十年代那样,现在叫做云了。这个趋势是朝向IBM喜欢的方向和曾经独霸世界的领域,可以预计在云计算时代,IBM会分比较大的一杯羹,而不会象个人电脑市场和互联网市场那样,被彻底赶出。
研究部门
拥有全球IT企业最大的研究机构,获得过5个诺贝尔奖以及6个图灵奖.
目前除了物理,材料与IT研究外,还在生物方面有不少的研究人员。
IBM抛弃了的业务:
网络设备, 卖给思科了
硬盘, 忘了卖给谁了
个人电脑与笔记本,卖给联想。尽管IBM thinkpad是世界笔记本第一品牌,还是被无情地抛弃了,可惜了这个。
打印机,忘了卖给谁了
结论:尽管IBM不是现在最挣钱最风光的IT企业,但从总体上来看,依然是最牛逼的。IT老大的名号当之无愧。IBM唯一的弱点就是只敢守在企业级市场而不肯开拓。当然,也许这是优点也说不定。
--
※ 来源:・水木社区 http://newsmth.net・[FROM: 221.219.153.*]
2008年12月7日星期日
“中国十大杰出青年”评选揭晓
"中国十大杰出青年"评选揭晓(组图)
- 核心提示:12月7日,第19届"中国十大杰出青年"评选活动在京揭晓,金晶、张泉灵等获选。
新华网12月8日报道 12月7日,第19届"中国十大杰出青年"评选活动在京揭晓。荣获本届"中国十大杰出青年"称号的是:爱军精武,潜心践行传播党的创新理论的沈阳军区某部高炮团修理连班长向南林;舍生忘死,在汶川特大地震抢险救灾中做出突出贡献的四川绵阳北川县陈家坝乡党委书记赵海清(羌族);不畏艰险,穿梭于雪山峡谷为藏区百姓传递真情的云南德钦县云岭乡邮政所邮递员尼玛拉木(女,藏族);顽强拼搏,在奥运赛场上展示中国力量的国家举重队运动员刘春红(女);勇攀高峰,在载人航天工程中屡立战功的"神舟"七号载人航天飞行任务火箭系统副总设计师宋征宇;奋不顾身,勇于追击重大事件现场的中央电视台新闻中心记者张泉灵(女);奋笔耕耘,在重大事件中及时发出舆论先声的人民日报政治新闻版主编胡果(女);英勇无畏,用柔弱身躯毅然守护奥运火炬的上海普陀区市政工程管理署工会副主席金晶(女);勤学苦练,成功开创轿车修复新工艺的一汽��大众汽车有限公司焊装车间工长王洪军;德艺双馨,用优美歌声和真挚爱心奉献社会的中国人民解放军总政治部歌舞团演员谭晶(女)。
这是沈阳军区某部高炮团修理连班长向南林。新华社发
这是四川省绵阳市北川县陈家坝乡党委书记赵海清(羌族)。
这是云南德钦县云岭乡邮政所邮递员尼玛拉木(女,藏族)。
这是国家举重队运动员刘春红(女)。
这是神舟七号载人航天飞行任务火箭系统副总设计师宋征宇。
这是中央电视台新闻中心记者张泉灵(女)。
这是人民日报政治新闻版主编胡果(女)。
这是上海普陀区市政工程管理署工会副主席金晶(女)。
这是一汽-大众汽车有限公司焊装车间工长王洪军。
这是中国人民解放军总政治部歌舞团演员谭晶(女)。 (本文来源:新华网 )
2008年12月3日星期三
90件没注意到的事情--zz
标 题: 90件没注意到的事情--zz
发信站: 水木社区 (Tue Dec 2 22:36:45 2008), 站内
没证实这些事情的真实性,看着好玩就转过来了
1.拉斯维加斯的赌场都没有钟。
2.麦当劳40%的利润来自Happy Meals的销售。
3.1996版的韦伯斯特词典有315处拼写错误。
4.每天平均有12个新生儿被交给错误的父母。
5.巧克力对于狗来说是致命的,只要几盎斯就可以使一只小狗,因为心脏和神经系统受损而死亡。
6.19世纪30年代番茄酱是作为药品来销售的。
7.达芬奇可以一手写字,同时另一手作画。
8.剪刀是达芬奇发明的。
9.描绘蒙娜丽莎的嘴唇花费了达芬奇10年的时间。
10.二战期间颁发的奥斯卡奖座是木制的,因为当时金属是稀缺物资。
11.看看你的拉链,如果上面有YKK三个字母,那么说明这是全球最大的拉链制造商Yoshida Kogyo Kabushibibaisha的产品。
12.李小龙的动作非常快,快到看不清,所以拍电影时只好放慢胶片的速度。
13.仰面躺着并缓缓地抬起双腿,可以免于陷入流沙之中。
14.驱蚊水并不驱蚊而是干扰蚊子的感觉器官,这样它们就找不到人在哪里。
15.牙医建议,牙刷应放置于距离盥洗室至少6英尺远,以避开冲马桶时产生并漂浮于空气中的各种微粒 。
16.最早被打上条形码的产品是箭牌口香糖。
17.迈克尔.乔丹每年从耐克得到的收入多于马来西亚的耐克工厂工人的薪水总和。
18.玛丽莲.梦露的一只脚上有6个指头。
19.希特勒的母亲曾考虑堕胎,不过被医生劝阻了。
20.一生中人会脱落40磅的皮肤。
21.要是不小心被鳄鱼咬到了,你就狠狠地戳它的眼球,它会放你走。
22.人平均只需7分钟就可以入睡。
23.在菲律宾溜溜球曾被作为武器。
24.猫是圣经里面唯一没有提到的家养动物。
25.冷藏时橡皮筋可以保存得更好。
26.56%的键盘录入由左手完成。
27."dreamt"是唯一以"mt"结尾的英文单词。
28.即使没有头,蟑螂仍可存活10天 。
29.打喷嚏时无法睁着眼睛。
30.墨西哥城每年下沉10英寸。
31.睡眠时的脑比看电视时更活跃。
32.80%的美国人最喜欢蓝色。
33.在这个星球上鸡比人多。
34.大拇指的指甲长得最慢,中指的指甲长得最快。
35.在美国华盛顿电话比人还多。
36.48个最贫困的国家其资产总和还比不上全球最富有的三大家族。
37.万宝路香烟公司的第一任老总死于肺癌。
38.聪明人的头发中含有更多的锌和铜。
39.世界上最年轻的父母是1910年一对中国的小孩,分别8岁和9岁。
40.出生时,我们的眼睛多大,现在还是多大。但是鼻子和耳朵一直都在长。
41.睡觉时耗费的热量比看电视时还要多。
42.人不睡觉大约10天就会死亡。
43.切洋葱时嚼口香糖就不会流泪。
44.蒙娜丽莎没有眉毛。
45.如果月亮正好在头顶上方,那么你的体重会稍微的减少。
46.发明了电话的亚历山大.贝尔从未给他的母亲或妻子打过电话,因为她们都失聪了。
47."I am."是英语中最短的完整句。
48.如同指纹,每个人的舌纹都不同。
49."bookkeeper"是英语中唯一一个连续3次重复字母的单词。
50.惯用右手的人们平均比惯用左手的人们寿命长9年。
51."The quick brown fox jumps over the lazy dog"用到了英语中所有的字母。
52.如果所有的中国人排成一线从你面前走过,由于过高的出生率,这条线将永远没有尽头。
53.在中国使用英语的人比美国还多。
54.人体每平方英寸的皮肤包含有20英尺长的血管。
55.人平均每天使用洗手间6次。
56.婴儿出生时有300块骨骼,成人后只有206块。
57.胡须是生长速度最快的人体毛发。如果一名男性从不修容,终其一生他将蓄出30英尺长 的胡须
58.先有鸡还是先有蛋?根据《圣经 创世纪 1:20-22》,先有鸡。
59.仍在使用的最长的地名是:Taumatawhakatangihangaoauauotameteaturi-
Pukakpikimaungahoronukupokaiwhenuakitanatahu,那是新西兰的一处丘陵。
60.如果你早上7点乘坐飞机离开东京,那么当你到达檀香山的时候,时间是昨天下午4点半。
61.澳大利亚帕凯斯天文台的科学家们曾以为他们接收到了来自地外文明的电波,经过调查,发现那道电波其实来自天文台里的一个微波炉。
62.戴耳塞一小时,耳朵里的细菌数量将是原来的700倍。
63.一个French kiss可以交换超过40000个寄生虫和250种细菌。
64.男性较女性视力好,女性较男性听力好。
65.可口可乐最初是绿色的。
66.世界上最常见的名字是:穆罕默德。
67.如果不把"north"和"south"算在内,在英语中,七大州的首尾字母都相同。
68.平均每个美国人有两张信用卡。
69."typewriter"是用QWERTY键盘的单排按键所能够写出的最长英文单词。
70.失明的女性是男性的两倍。
71.人不会因为屏息而死。
72.当你打喷嚏的时候,你的心脏会停止跳动约1毫秒。
73.猪无法看到天空。
74."Sixth sick sheik's sixth sheep's sick"是英语中最绕口的绕口令。
75.过于剧烈的喷嚏会震裂肋骨,而试图憋住喷嚏将使颈部或者颅内的血管破裂从而致命。
76.扑克牌中每个花色的K都代表着历史上的伟大君王:黑桃是大卫王,梅花是亚历山大大帝,红桃是查理大帝,方块是凯撒大帝。
77.111,111,111 x 111,111,111 = 12,345,678,987,654,321。
78.当你看到一尊骑士的雕像,如果马是四脚腾空的,那么此人战死沙场。
79.同上,如果马的一只前脚抬起,那么此人因在战斗中负重伤而牺牲。
80.同上,如果马的四脚皆着地,那么此人死于自然原因。
81.蜂蜜不会变质。
82.鳄鱼无法伸出它的舌头。
83.蜗牛一觉可以睡上3年。
84.所有的北极熊都是左撇子。
85.1987年,美国航空公司在向头等舱提供的每份沙拉中,减少1颗橄榄,从而节省了40000 美元。
86.蝴蝶的味觉器官在它们的脚上。
87.大象跳不起来。
88.在过去的4000年里,没有新的动物被驯养。
89.一般来说,人们害怕蜘蛛胜过死亡。
90."assassination"和"bump"这两个词是莎士比亚创造的。
2008年12月2日星期二
Re: 胰腺癌、壶腹周围癌围手术期之我见 zz
我是解放军306医院的肿瘤外科医生。
协和医科大学、中国医学科学院肿瘤医院腹部外科博士,导师邵永孚教授。北京大学医学部博士后,师从王杉教授。专业方向是:胃癌、结肠癌、直肠癌、肝癌、胰腺癌、乳腺癌的手术治疗。晚期肿瘤患者的综合治疗以及关怀治疗。
邵永孚教授定期前来我306医院会诊、进行手术演示。定期邀请医科院肿瘤医院化疗科专家会诊查房。
实行绿色通道住院,肿瘤手术、化疗、放疗一条龙服务。
欢迎各界朋友、同行以及患者共同研究探讨肿瘤方面的手术治疗以及综合治疗话题。
306医院新建立的外科大楼,环境舒适,费用合理,服务热情。
地址:北京市朝阳区安翔北里9号,解放军306医院。特种医学科,肿瘤外科。
竭诚为广大患者服务。联系电话:010-81600380,010-66354547
行车路线:北京市北四环健翔桥北,八达岭高速辅路第一个出口。中国音乐学院北侧。鸟巢的西侧。万家灯火建材市场对面。
2008年12月1日星期一
谷歌Chrome浏览器十大使用技巧荟萃
|
罗杰斯给宝贝女儿的12个箴言
Posted in 投资策略, 教育日记, 通往成功, admin, 0 views
这位投资界的传奇人物─吉姆・罗杰斯,有「华尔街金童」、「华尔街的印第安那琼斯」封号,在1970年与索罗斯共同创立「量子基金」,短短10年内就赚足了一生花用的财富。在人生最黄金的时期,他突然宣布退休,当时罗杰斯年仅37岁,就开始实践环游世界的梦想。讨厌孩子的他,从没想过要生养孩子,直到60岁老来得子,才知道孩子是世界最可爱的宝贝。《投资大师罗杰斯给宝贝女儿的12封信》这本书,就是在这种情况下诞生的;透过12封宝贵的人生箴言,给女儿丰富实用又充满智慧的建议:
一、不要让别人影响你--假如每个人都嘲笑你的想法,这就是可能成功的指标!
二、专注於你所爱--在真正热爱的工作上努力,就会找到你的梦想。
三、普通常识并不是那么普通--大�社会相信的常常是错的,不要盲目听信别人的话。
四、将世界纳入你的眼界--保持开放的心,做个世界公民!
五、研读哲学,学会思考--训练自己去检验每一种概念、每一个事实。
六、学习历史--因为以前发生过的事,以后也还会再发生。
七、这是中国的世纪,去学中文!--参与一个伟大国家的再现,购买这个国家的未来!
八、真正认识自己--了解你的弱点和觉察你的错误,才能找到对的路!
九、认出改变,拥抱改变--改变的功能就像催化剂,保持觉知是重要的功课。
十、面对未来--看得见未来的人可以累积财富!
十一、反众道而行--检视事实和机会,不随乌合之众心理起舞。
十二、幸运女神只眷顾持续努力的人--用功读书,学得越多你才知道你懂得越少。
这12句箴言,不仅仅是人生方向的指标,在投资上更大胆明确指出,中国是未来强势经济体;他为女儿聘请中国保母,并举家移民至亚洲地区;他曾不只一次指出,曾考虑移民至台湾,但因台湾移民限制多,且使用的是繁体字,而非全球有十三亿人口使用的简体字。罗杰斯不忍心让他已学简体字的五岁女儿,再学一次繁体中文,於是决定移居至新加坡。
罗杰斯是一个富远见又爱孩子的好爸爸,从看似老生常谈却又充满哲理的人生智慧中,发掘出为人父母对子女的那份真心之爱。如同一般父母一样,最后希望留给子女的不是万贯家�,而是一种能自我探索未来的能力──能快乐、幸福、自在生活的能力。
没错,投资很重要;但人一生中最好的投资,其实就是投资自己。如何培养自己的国际观?如何不随他人起舞?如何真正了解自己?透过罗杰斯这份不藏私的礼物《投资大师罗杰斯给宝贝女儿的12封信》,相信如你我也能建立属於自己的成功人生!――找了一下,没有找到网上的完整版,做了些摘录。
C puzzles
Thanks for your interest in C programming. In this page, you will find
a list of interesting C programming questions/puzzles, These programs
listed are the ones which I have received as e-mail forwards from my
friends, a few I read in some books, a few from the internet, and a
few from my coding experiences in C.
Most of the programs are meant to be compiled, run and to be explained
for their behaviour. The puzzles/questions can be broadly put into the
following categories:
General typo errors, which C programmers do often and are very
difficult to trace.
Small programs which are extremely hard to understand at the first
examination. These questions make a good excercise of reading and
understanding effecient code written by others.
I have used Gnu/Linux/gcc for all of them. The order in which the
programs appear doesn't have any relation with the level of
difficulty. Please feel free to contact me if you need any help in
solving the problems. My contact info. is available here And you might
be interested in a few references for C programming, which I
personally found very interesting.
If you are preparing for campus interviews, you might find the
following link interesting:
http://placementsindia.blogspot.com
Regards,
Gowri Kumar
C puzzles
The expected output of the following C program is to print the
elements in the array. But when actually run, it doesn't do so.
#include<stdio.h>
#define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0]))
int array[] = {23,34,12,17,204,99,16};
int main()
{
int d;
for(d=-1;d <= (TOTAL_ELEMENTS-2);d++)
printf("%d\n",array[d+1]);
return 0;
}
Find out what's going wrong.
hint
I thought the following program was a perfect C program. But on
compiling, I found a silly mistake. Can you find it out (without
compiling the program :-) ?
#include<stdio.h>
void OS_Solaris_print()
{
printf("Solaris - Sun Microsystems\n");
}
void OS_Windows_print()
{
printf("Windows - Microsoft\n");
}
void OS_HP-UX_print()
{
printf("HP-UX - Hewlett Packard\n");
}
int main()
{
int num;
printf("Enter the number (1-3):\n");
scanf("%d",&num);
switch(num)
{
case 1:
OS_Solaris_print();
break;
case 2:
OS_Windows_print();
break;
case 3:
OS_HP-UX_print();
break;
default:
printf("Hmm! only 1-3 :-)\n");
break;
}
return 0;
}
hint
What's the expected output for the following program and why?
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}
hint
The following program doesn't "seem" to print "hello-out". (Try executing it)
#include <stdio.h>
#include <unistd.h>
int main()
{
while(1)
{
fprintf(stdout,"hello-out");
fprintf(stderr,"hello-err");
sleep(1);
}
return 0;
}
What could be the reason?
#include <stdio.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
printf("%s\n",h(f(1,2)));
printf("%s\n",g(f(1,2)));
return 0;
}
Just by looking at the program one "might" expect the output to be,
the same for both the printf statements. But on running the program
you get it as:
bash$ ./a.out
12
f(1,2)
bash$
Why is it so?
hint
#include<stdio.h>
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defa1ut:
printf("NONE\n");
}
return 0;
}
If you expect the output of the above program to be NONE, I would
request you to check it out!!
The following C program segfaults of IA-64, but works fine on IA-32.
int main()
{
int* p;
p = (int*)malloc(sizeof(int));
*p = 10;
return 0;
}
Why does it happen so?
Here is a small piece of program(again just 14 lines of program) which
counts the number of bits set in a number.
Input Output
0 0(0000000)
5 2(0000101)
7 3(0000111)
int CountBits (unsigned int x )
{
static unsigned int mask[] = { 0x55555555,
0x33333333,
0x0F0F0F0F,
0x00FF00FF,
0x0000FFFF
} ;
int i ;
int shift ; /* Number of positions to shift to right*/
for ( i =0, shift =1; i < 5; i ++, shift *= 2)
x = (x & mask[i ])+ ( ( x >> shift) & mask[i]);
return x;
}
Find out the logic used in the above program.
What do you think would be the output of the following program and
why? (If you are about to say "f is 1.0", I would say check it out
again)
#include <stdio.h>
int main()
{
float f=0.0f;
int i;
for(i=0;i<10;i++)
f = f + 0.1f;
if(f == 1.0f)
printf("f is 1.0 \n");
else
printf("f is NOT 1.0\n");
return 0;
}
I thought the following C program is perfectly valid (after reading
about the comma operator in C). But there is a mistake in the
following program, can you identify it?
#include <stdio.h>
int main()
{
int a = 1,2;
printf("a : %d\n",a);
return 0;
}
What would be the output of the following C program? (Is it a valid C program?)
#include <stdio.h>
int main()
{
int i=43;
printf("%d\n",printf("%d",printf("%d",i)));
return 0;
}
void duff(register char *to, register char *from, register int count)
{
register int n=(count+7)/8;
switch(count%8){
case 0: do{ *to++ = *from++;
case 7: *to++ = *from++;
case 6: *to++ = *from++;
case 5: *to++ = *from++;
case 4: *to++ = *from++;
case 3: *to++ = *from++;
case 2: *to++ = *from++;
case 1: *to++ = *from++;
}while( --n >0);
}
}
Is the above valid C code? If so, what is it trying to acheive and why
would anyone do something like the above?
Here is yet another implementation of CountBits. Verify whether it is
correct (how do you that???). If so, find out the logic used.
int CountBits(unsigned int x)
{
int count=0;
while(x)
{
count++;
x = x&(x-1);
}
return count;
}
Are the following two function prototypes same?
int foobar(void);
int foobar();
The following programs should be of some help in finding the answer:
(Compile and run both the programs and see what happens)
Program 1:
#include <stdio.h>
void foobar1(void)
{
printf("In foobar1\n");
}
void foobar2()
{
printf("In foobar2\n");
}
int main()
{
char ch = 'a';
foobar1();
foobar2(33, ch);
return 0;
}
Program 2:
#include <stdio.h>
void foobar1(void)
{
printf("In foobar1\n");
}
void foobar2()
{
printf("In foobar2\n");
}
int main()
{
char ch = 'a';
foobar1(33, ch);
foobar2();
return 0;
}
What's the output of the following program and why?
#include <stdio.h>
int main()
{
float a = 12.5;
printf("%d\n", a);
printf("%d\n", *(int *)&a);
return 0;
}
The following is a small C program split across files. What do you
expect the output to be, when both of them compiled together and run?
File1.c
int arr[80];
File2.c
extern int *arr;
int main()
{
arr[1] = 100;
return 0;
}
Explain the output of the following C program (No, the output is not 20).
#include<stdio.h>
int main()
{
int a=1;
switch(a)
{ int b=20;
case 1: printf("b is %d\n",b);
break;
default:printf("b is %d\n",b);
break;
}
return 0;
}
What is the output of the following program? (Again, it is not 40, (if
the size of integer is 4)).
#define SIZE 10
void size(int arr[SIZE])
{
printf("size of array is:%d\n",sizeof(arr));
}
int main()
{
int arr[SIZE];
size(arr);
return 0;
}
The following is a simple c program, in which there is a function
called Error to display errors. Can you see a potential problem with
the way Error is defined?
#include <stdlib.h>
#include <stdio.h>
void Error(char* s)
{
printf(s);
return;
}
int main()
{
int *p;
p = malloc(sizeof(int));
if(p == NULL)
{
Error("Could not allocate the memory\n");
Error("Quitting....\n");
exit(1);
}
else
{
/*some stuff to use p*/
}
return 0;
}
What is the differnce between the following function calls to
scanf?(Please notice the space carefully in the second call. Try
removing it and observe the behaviour of the program)
#include <stdio.h>
int main()
{
char c;
scanf("%c",&c);
printf("%c\n",c);
scanf(" %c",&c);
printf("%c\n",c);
return 0;
}
What is the potential problem with the following C program?
#include <stdio.h>
int main()
{
char str[80];
printf("Enter the string:");
scanf("%s",str);
printf("You entered:%s\n",str);
return 0;
}
What is the output of the following program?
#include <stdio.h>
int main()
{
int i;
i = 10;
printf("i : %d\n",i);
printf("sizeof(i++) is: %d\n",sizeof(i++));
printf("i : %d\n",i);
return 0;
}
Why does the following program give a warning? (Please remember that
sending a normal pointer to a function requiring const pointer does
not give any warning)
#include <stdio.h>
void foo(const char **p) { }
int main(int argc, char **argv)
{
foo(argv);
return 0;
}
What is the output of the following program?
#include <stdio.h>
int main()
{
int i;
i = 1,2,3;
printf("i:%d\n",i);
return 0;
}
The following is a piece of code which implements the reverse Polish
Calculator. There is a(are) serious(s) bug in the code. Find it(them)
out!!! Assume that the function getop returns the appropriate return
values for operands, opcodes, EOF etc..
#include <stdio.h>
#include <stdlib.h>
#define MAX 80
#define NUMBER '0'
int getop(char[]);
void push(double);
double pop(void);
int main()
{
int type;
char s[MAX];
while((type = getop(s)) != EOF)
{
switch(type)
{
case NUMBER:
push(atof(s));
break;
case '+':
push(pop() + pop());
break;
case '*':
push(pop() * pop());
break;
case '-':
push(pop() - pop());
break;
case '/':
push(pop() / pop());
break;
/* ...
* ...
* ...
*/
}
}
}
The following is a simple program which implements a minimal version
of banner command available on most *nix systems. Find out the logic
used in the program.
#include<stdio.h>
#include<ctype.h>
char t[]={
0,0,0,0,0,0,12,18,33,63,
33,33,62,32,62,33,33,62,30,33,
32,32,33,30,62,33,33,33,33,62,
63,32,62,32,32,63,63,32,62,32,
32,32,30,33,32,39,33,30,33,33,
63,33,33,33,4,4,4,4,4,4,
1,1,1,1,33,30,33,34,60,36,
34,33,32,32,32,32,32,63,33,51,
45,33,33,33,33,49,41,37,35,33,
30,33,33,33,33,30,62,33,33,62,
32,32,30,33,33,37,34,29,62,33,
33,62,34,33,30,32,30,1,33,30,
31,4,4,4,4,4,33,33,33,33,
33,30,33,33,33,33,18,12,33,33,
33,45,51,33,33,18,12,12,18,33,
17,10,4,4,4,4,63,2,4,8,
16,63
};
int main(int argc,char** argv)
{
int r,pr;
for(r=0;r<6;++r)
{
char *p=argv[1];
while(pr&&*p)
{
int o=(toupper(*p++)-'A')*6+6+r;
o=(o<0||o>=sizeof(t))?0:o;
for(pr=5;pr>=-1;--pr)
{
printf("%c",( ( (pr>=0) && (t[o]&(1<<pr)))?'#':' '));
}
}
printf("\n");
}
return 0;
}
What is the output of the following program?
#include <stdio.h>
#include <stdlib.h>
#define SIZEOF(arr) (sizeof(arr)/sizeof(arr[0]))
#define PrintInt(expr) printf("%s:%d\n",#expr,(expr))
int main()
{
/* The powers of 10 */
int pot[] = {
0001,
0010,
0100,
1000
};
int i;
for(i=0;i<SIZEOF(pot);i++)
PrintInt(pot[i]);
return 0;
}
The following is the implementation of the Euclid's algorithm for
finding the G.C.D(Greatest Common divisor) of two integers. Explain
the logic for the below implementation and think of any possible
improvements on the current implementation.
BTW, what does scanf function return?
#include <stdio.h>
int gcd(int u,int v)
{
int t;
while(v > 0)
{
if(u > v)
{
t = u;
u = v;
v = t;
}
v = v-u;
}
return u;
}
int main()
{
int x,y;
printf("Enter x y to find their gcd:");
while(scanf("%d%d",&x, &y) != EOF)
{
if(x >0 && y>0)
printf("%d %d %d\n",x,y,gcd(x,y));
printf("Enter x y to find their gcd:");
}
printf("\n");
return 0;
}
Also implement a C function similar to the above to find the GCD of 4 integers.
What's the output of the following program. (No, it's not 10!!!)
#include <stdio.h>
#define PrintInt(expr) printf("%s : %d\n",#expr,(expr))
int main()
{
int y = 100;
int *p;
p = malloc(sizeof(int));
*p = 10;
y = y/*p; /*dividing y by *p */;
PrintInt(y);
return 0;
}
The following is a simple C program to read a date and print the date.
Run it and explain the behaviour
#include <stdio.h>
int main()
{
int day,month,year;
printf("Enter the date (dd-mm-yyyy) format including -'s:");
scanf("%d-%d-%d",&day,&month,&year);
printf("The date you have entered is %d-%d-%d\n",day,month,year);
return 0;
}
The following is a simple C program to read and print an integer. But
it is not working properly. What is(are) the mistake(s)?
#include <stdio.h>
int main()
{
int n;
printf("Enter a number:\n");
scanf("%d\n",n);
printf("You entered %d \n",n);
return 0;
}
The following is a simple C program which tries to multiply an integer
by 5 using the bitwise operations. But it doesn't do so. Explain the
reason for the wrong behaviour of the program.
#include <stdio.h>
#define PrintInt(expr) printf("%s : %d\n",#expr,(expr))
int FiveTimes(int a)
{
int t;
t = a<<2 + a;
return t;
}
int main()
{
int a = 1, b = 2,c = 3;
PrintInt(FiveTimes(a));
PrintInt(FiveTimes(b));
PrintInt(FiveTimes(c));
return 0;
}
Is the following a valid C program?
#include <stdio.h>
#define PrintInt(expr) printf("%s : %d\n",#expr,(expr))
int max(int x, int y)
{
(x > y) ? return x : return y;
}
int main()
{
int a = 10, b = 20;
PrintInt(a);
PrintInt(b);
PrintInt(max(a,b));
}
The following is a piece of C code, whose intention was to print a
minus sign 20 times. But you can notice that, it doesn't work.
#include <stdio.h>
int main()
{
int i;
int n = 20;
for( i = 0; i < n; i-- )
printf("-");
return 0;
}
Well fixing the above code is straight-forward. To make the problem
interesting, you have to fix the above code, by changing exactly one
character. There are three known solutions. See if you can get all
those three.
What's the mistake in the following code?
#include <stdio.h>
int main()
{
int* ptr1,ptr2;
ptr1 = malloc(sizeof(int));
ptr2 = ptr1;
*ptr2 = 10;
return 0;
}
What is the output of the following program?
#include <stdio.h>
int main()
{
int cnt = 5, a;
do {
a /= cnt;
} while (cnt --);
printf ("%d\n", a);
return 0;
}
What is the output of the following program?
#include <stdio.h>
int main()
{
int i = 6;
if( ((++i < 7) && ( i++/6)) || (++i <= 9))
;
printf("%d\n",i);
return 0;
}
What is the bug in the following program?
#include <stdlib.h>
#include <stdio.h>
#define SIZE 15
int main()
{
int *a, i;
a = malloc(SIZE*sizeof(int));
for (i=0; i<SIZE; i++)
*(a + i) = i * i;
for (i=0; i<SIZE; i++)
printf("%d\n", *a++);
free(a);
return 0;
}
Is the following a valid C program? If so, what is the output of it?
#include <stdio.h>
int main()
{
int a=3, b = 5;
printf(&a["Ya!Hello! how is this? %s\n"], &b["junk/super"]);
printf(&a["WHAT%c%c%c %c%c %c !\n"], 1["this"],
2["beauty"],0["tool"],0["is"],3["sensitive"],4["CCCCCC"]);
return 0;
}
What is the output of the following, if the input provided is:
Life is beautiful
#include <stdio.h>
int main()
{
char dummy[80];
printf("Enter a string:\n");
scanf("%[^a]",dummy);
printf("%s\n",dummy);
return 0;
}
Note : This question has more to do with Linker than C language
We have three files a.c, b.c and main.c respectively as follows:
a.c
---
int a;
b.c
---
int a = 10;
main.c
------
extern int a;
int main()
{
printf("a = %d\n",a);
return 0;
}
Let's see what happens, when the files are compiled together:
bash$ gcc a.c b.c main.c
bash$ ./a.out
a = 10
Hmm!! no compilation/linker error!!! Why is it so??
The following is the offset macros which is used many a times. Figure
out what is it trying to do and what is the advantage of using it.
#define offsetof(a,b) ((int)(&(((a*)(0))->b)))
The following is the macro implementation of the famous, Triple xor swap.
#define SWAP(a,b) ((a) ^= (b) ^= (a) ^= (b))
What are the potential problems with the above macro?
What is the use of the following macro?
#define DPRINTF(x) printf("%s:%d\n",#x,x)
Let's say you were asked to code a function IAddOverFlow which takes
three parameters, pointer to an integer where the result is to be
stored, and the two integers which needs to be added. It returns 0 if
there is an overflow and 1 otherwise:
int IAddOverFlow(int* result,int a,int b)
{
/* ... */
}
So, how do you code the above function? (To put in a nutshell, what is
the logic you use for overflow detection?)
What does the following macro do?
#define ROUNDUP(x,n) ((x+n-1)&(~(n-1)))
Most of the C programming books, give the following example for the
definition of macros.
#define isupper(c) (((c) >= 'A') && ((c) <= 'Z'))
But there would be a serious problem with the above definition of
macro, if it is used as follows (what is the problem??)
char c;
/* ... */
if(isupper(c++))
{
/* ... */
}
But most of the libraries implement the isupper (declared in ctypes.h)
as a macro (without any side effects). Find out how isupper() is
implemented on your system.
I hope you know that ellipsis (...) is used to specify variable number
of arguments to a function. (What is the function prototype
declaration for printf?) What is wrong with the following delcaration?
int VarArguments(...)
{
/*....*/
return 0;
}
Write a C program to find the smallest of three integers, without
using any of the comparision operators.
What does the format specifier %n of printf function do?
Write a C function which does the addition of two integers without
using the '+' operator. You can use only the bitwise
operators.(Remember the good old method of implementing the full-adder
circuit using the or, and, xor gates....)
How do you print I can print % using the printf function? (Remember %
is used as a format specifier!!!)
What's the difference between the following two C statements?
const char *p;
char* const p;
What is the difference between memcpy and memmove?
What is the format specifiers for printf to print double and float values?
Write a small C program to determine whether a machine's type is
little-endian or big-endian.
Write a C program which prints Hello World! without using a semicolon!!!
政府官方网站现已拥有十进制网络安全地址
ugmbbc发布于 2008-11-25 09:54:50|7322 次阅读 字体:大 小 打印预览
中国十进制网络安全监督管理局、信息产业部23日宣布,我国政府官方网站现已拥有十进制网络安全地址,得到授权的网络用户可以使用数字域名和法定名称登录政府门户网站。
这表明,基于十进制技术构建的互联网已在我国投入使用。
数字域名:兼容
据中国十进制网络安全监督管理局常务副局长程恒知介绍,十进制网络在分配IP地址时,以数字域名为核心,并可完全兼容中文和英文域名。这一重大技术突
破,是我国科学家创造性地采用计算机十进制地址对应普遍采用的计算机二进制地址,依据国家颁布的数字域名规范,建立独立的用户编码体系,研制成功的中国十
进制网络域名解析系统。
输号上网:方便
使用十进制网络地址,我国网民就可以像拨电话号码一样使用数字域名和法定名称上网,既有利于克服语言壁垒,又有利于公民信息安全,还可大幅降低上网费用,为国家节约网络出口带宽所发生的巨额外汇开支。
记者在下载了"中国十进制网络安全地址"插件后,输入"12345",中华人民共和国中央人民政府门户网站首页顿时展现;输入
"4312345""73112345",湖南省人民政府、长沙市人民政府官方网站随即打开;输入"12339""4312339""12315"和
"4312315",信息产业部、湖南省信息产业厅、国家工商总局和湖南省工商局的网页依次映入眼帘。
突出特点:安全
据介绍,十进制网络安全地址的突出特点就是安全性。可以做到在互联网上实现逻辑隔离,既充分实现互联互通,又有效保障用户的信息安全,为我国发展电子政务、电子军务和电子商务提供强有力的技术支撑。这也是我国在政府有关部门率先采用十进制网络安全地址的主要原因。
新闻分析
互联网技术的重大创新
十进制互联网技术形成的IPV9协议,是我国在互联网技术上取得的重大自主创新成果,为摆脱美国对现有互联网的控制和垄断,建设我国自主掌控并可向世界推广的新一代互联网,提供了技术支持和发展机遇。
据了解,IPV9的IP地址资源是IPV6的4倍,拥有海量信息资源。这些地址可以由中国自主分配,同时还可以重新分配IPV4和IPV6的地址,我国将成为继美国之后世界上第二个拥有网络地址资源所有权、网络地址资源分配权的国家。
采用十进制算法的IPV9协议创造性地提出数字域名,并将域名与IP地址合为一体,解决了数字域名的解析难题。我国既可以运用这一原创性研究成果,不依
赖于任何网络体系独立组网,同时又可以与现行的互联网平行组网,现有用户不用更换网络设备即可以实现十进制网络和现用网络之间的互联互通。
自主性带来了网络的可控性。现有的互联网,由于最终管控权掌握在美国手里,所有信息都要到美国去解析,导致互联网不可控。在十进制网络体系中,我们完全
拥有对互联网的自主管理权,可以通过域名解析掌握网络信息,并可根据实际需求,对信息进行分类限制,实现"绿色网络",并利用数字域名,固定每个用户的
IP,为网络管理带来了便利。
更为重要的是,在现有的互联网上,网络安全和信息安全得不到保障。十进制网络中,我国掌握了IP地址分
配权和域名解析权,我们的网络既可以关起门来自成体系,又可打开门来互联互通,其他国家无法让我国的网络陷于停顿。同时,因我国掌握路由控制权、密钥控制
权、信息监控权,网络自主管理,信息安全也得到了根本保障。
在现有的互联网中,我国用户上网必须到美国去解析,这样就得给美国交域名解析费,这种解析又造成了网络流量的增加,增加了流量费。在十进制网络中,我们可以实现就地解析,节省了域名解析费用和跨国解析带宽。
归去来兮,司徒雷登
归去来兮,司徒雷登
作者: 长平 2008-11-27 07:50:19 来源:南方周末
1949年8月司徒雷登离开中国的时候,伴随他的是毛泽东写的一篇嘲讽奚落的文章 《别了,司徒雷登》。文章说他是"美国侵略政策彻底失败的象征","没有人去理他,使得他'茕茕孑立,形影相吊',没有什么事做了,只好挟起皮包走路"。
2008年11月18日,司徒雷登再次回到中国的时候,已是几�骨灰,一缕乡魂,中国人却给了他极大的尊敬,媒体的报道满怀深情:"低沉的音乐声响起,在中外友好人士的注目下,司徒雷登先生的骨灰被轻轻安放在(杭州)安贤园文星园,四周青松苍翠,远处青山环抱"。
彼时解放军百万雄师过大江,国民党政府土崩瓦解,毛泽东胜利在握,意气风发,写一篇那样的文章也可以理解。问题在于,1949年以后的政治版图中, 毛泽东越来越被神话,他的话成了金科玉律,一句顶一万句,容不得不同的陈述和意见。那篇文章的本意也不是为司徒雷登立传,而是借司徒雷登离开中国的事分析 美国对华政策,但是其中对于司徒雷登漫画式的描绘就成了他的功过是非的定论,人们再也无从了解更加丰富多彩的历史事实。
司徒雷登到底是一个什么样的人呢?今天我们才有机会知道,原来他是中国人民的朋友,他甚至认为自己 "是一个中国人更多于是一个美国人"。他的父母都是美国人,但是他出生在杭州,童年在西子湖畔度过,会一口流利的杭州话,11岁到美国受教育,二十多岁又 回中国,在中国生活的时间总共超过半个世纪。他在中国传过教,教过书,当过记者,还当过美国驻华大使,其中最有名的工作是任燕京大学首任校长。在长达27 年的治校生涯中,他把燕京大学打造成中国一流大学,倡导学术自由,培养了大批优秀的中国知识分子,并留下了如今北京大学所在的美丽校园。1962年他在华 盛顿去世时,遗愿之一就是要安葬在他所热爱的燕大校园,和他的早逝在中国的妻子合葬在一起。
根据史料记载,司徒雷登是一位谦卑而善良的基督徒。先后作为燕大学生和教员的冰心这样描述自己的校长:"你添了一个孩子,害一场病,过一次生日,死 一个亲人,第一封短简是他寄的,第一盆鲜花是他送的,第一个欢迎微笑,第一句真挚的慰语,都是从他而来的。"他也是一位正直而勇敢的公民,曾经因为拒绝与 日本侵略者合作,被日军关进集中营,直到日本战败后才获释。
在司徒雷登骨灰安放仪式上,司徒雷登秘书傅泾波的后人、美籍华人傅履仁老先生说:"司徒雷登先生的一生都奉献给了中国的教育事业,回到中国是他最后 的心愿。"这样一个普通而又感人的心愿,为什么历经波折至今都未能实现呢?这是因为司徒雷登在奉献于中国教育事业的同时,还当了几年美国驻华大使。
政治不仅抹杀了人性,掩盖了事实,甚至还篡改了历史。就在那篇文章中,毛泽东自豪地写道:"我们中国人是有骨气的。……闻一多拍案而起,横眉怒对国 民党的手枪,宁可倒下去,不愿屈服。"然而,正是这个闻一多,在他那著名的《最后一次的演讲》中,认为司徒雷登出任大使对中国是件好事:"现在司徒雷登出 任美驻华大使,司徒雷登是中国人民的朋友,是教育家,他生长在中国,受的美国教育。他住在中国的时间比住在美国的时间长,他就如一个中国的留学生一样,从 前在北平时,也常见面。他是一位和蔼可亲的学者,是真正知道中国人民的要求的,这不是说司徒雷登有三头六臂,能替中国人民解决一切,而是说美国人民的舆论 抬头,美国才有这转变。"
闻一多和毛泽东的说法矛盾了,怎么办呢?这本来并不值得大惊小怪,留给读者自己去判断就行了。但是,相关部门的做法并非如此,而是在将这两篇文章同时收入中学课本的时候,把闻一多演讲中这一段话不加任何说明地删去了,就当他没有讲过一样。
如今,"别了"的司徒雷登又回来了,离他安息燕大校园的遗愿咫尺之遥,这是历史的进步。但是这还不够,期盼政治能够给真相和人性让出更多的空间,让它们各自都得以自由地生长。