五哥's profile钱五哥の共享空间PhotosBlogListsMore Tools Help

Blog


    January 31

    结婚领证公告

    昨天,也就是阳历2008年1月30日,阴历的腊月23,传说中灶王爷升仙的良辰吉日,也是北方常说的小年,终于和老婆一起到民政局把结婚证领回了家,人生的一件大事达到了一个新的阶段,既是人生的重要里程碑,又是一段新历程的开始。心中无限高兴:-)

    为了方便尚未领证的同志,特把攻略介绍如下(感谢小林的总结)
    办事员排队领结婚证安民告示

    必备条件:
    1. 两人户口本原件(如果是集体户口,则还需要集体户口本的首页复印件)
    2. 两人身份证原件
    3. 合影照片3张(可以现场拍摄数码照片, 基本上立等可取, 收费50元, 可以得到光盘一张, 底片2张)
    4. 户口本/卡复印件, 身份证复印件均可以当场复印, 0.5元

    基本流程:
    1. 领号, 拍照, 复印
    2. 排队等待, 昨天的情况还不错, 领到40号, 前面有10人在等待, 等了大约不到30分钟就完事了
    3. 办事人员检查核对信息, 期间填表几份, 这时一定要好好检查信息, 其中可能有错误的, 俺LP的民族就被写成了哈萨克族,倒~
    4. 交付工本费9元
    5. 领证走人

    另外, 海淀区民政局的位置在科学院路31号, 就在双安商场正北面300~500米左右

    网上预约登记:
    1. 可以到北京民政局网站办理网上预约: http://bjhysy.bjmzj.gov.cn/jhyy/marryout/marry/ 预约的好处是可以插队办理, 或者有些民政局提供了单独的窗口办理. 办理预约提前2天就可以了

    January 29

    微软对联[zz]

    看到James的Blog上面发布了一个微软对联, 很有意思, 测试几条如下:
     
    1. 亮亮我是你大爷 -> 杲杲吾为尔先生
    2. 海阔天空任鸟飞 -> 山高水远凭鱼跃
    3. 江南大雪千载罕 -> 北国谷雨十年闲
    4. 金鱼吃食清道夫吃屎 -> 对不出来, 嘿嘿
     
    原文转载如下:

    微软亚洲研究院的闲人们鼓捣出这么一个东西来,你给上联,它自动给你对下联。我将信将疑地去给了几个上联,没想到居然出现下面的效果--

    上联:居委会大妈最可恨
    下联:办事处小姐常相宜

    看来知春路美女的说法是有根据的。还有更赤裸裸的,

    上联:我是党员我怕谁
    下联:您为国家您要啥

    上联:清华华而不实
    下联:北大大则非真

    看看对自己的评价:

    上联:微软微微有些软
    下联:浪潮浪浪当作潮

    上联:微软亚洲研究院
    下联出现的公司有:三星、联想、惠普、百度、浪潮、还有浙大?

    January 28

    Nokia收购Trolltech[zz+评论]

    Nokia这个老大收购了一个跨Linux和Windows平台的平台开发商,此事还真有些玄机在内, 初步分析一下, 一是Nokia打算扩大其产品线的运行平台到PC,而且希望使用统一的API; 其二是SymbianOS的OS一直接口比较复杂, 并不是所有开发人员都愿意花费这么多时间来学习, 这已经在很大程度了限制了SymbianOS的进一步发展, 而市面上看见的跨平台API也就那么几个, 包括ACE, QT, wxwidget等等, 其中只有QT是经过实践检验的稳定产品, 已经在Google Earth, PhotoShop Elements, SkyPE, WengPhone, PSI等产品上使用, 而且QT在嵌入式产品方面的造诣也颇为了得, Qtopia几年前就已经出现, 目前已经被一些厂商采纳. 收购Trolltech, 不仅可以让Nokia获得一个统一的API和很多开发人员, 特别是很多OpenSource的开发人员, 这比Nokia自己研究跨平台省事多了. 据说收购价是1.53亿美元...


    Nokia and Trolltech just announced that they have entered into an agreement that Nokia will make a public voluntary tender offer to acquire Trolltech. The latter is a recognized software provider with world-class
    software development platforms and frameworks. In addition to the key software assets, its team will play an important role in accelerating the implementation of Nokia's software strategy.

    The acquisition of Trolltech will enable Nokia to accelerate its cross-platform software strategy for mobile devices and desktop applications, and develop its Internet services business. With Trolltech, Nokia and third party developers will be able to develop applications that work in the Internet, across Nokia's device portfolio, and on PCs. Nokia's software strategy for devices is based on cross-platform development environments, layers of software that run across operating systems, enabling the development of applications across the Nokia device range. Examples of current cross-platform layers are Web runtime, Flash, Java and Open C.


    Enlarge picture
    "The technology landscape evolves and, for Nokia, software plays a major role in our growth strategy for devices, PCs and the integration with the Internet. We continue to focus on areas where we can differentiate and add more value. Common cross-platform layers on top of our software platforms attract innovation and enable Web 2.0 technologies in the mobile space," said Kai Öistämö, Executive Vice President, Devices, Nokia. "Trolltech's deep understanding of open source software and its strong technology assets will enable both Nokia and others to innovate on our device platforms while reducing time-to-market. This acquisition will also further increase the competitiveness of S60 and Series 40."

    Nokia aims to continue the development of Trolltech's products and support of new and existing customers. It also strives for an open approach to technology that will encourage and support innovation in the industry, enable fast adoption of new technologies and advance healthy competition. Nokia embraces open source technology and will take further the open source development culture found in Trolltech. Nokia intends to continue to enhance Trolltech products through active and ongoing development, for both desktop and mobile. To further stimulate industry innovation based on Trolltech's products, Nokia plans to continue to license Trolltech technology under both commercial and open source licenses.

    The acquisition is subject to customary closing conditions, including acceptance by shareholders representing more than 90 % of the fully diluted share capital, and the necessary regulatory approvals. The complete details of the offer, including all terms and conditions, will be set forth in an offer document expected to be sent to Trolltech shareholders within two weeks.  

    January 27

    美国700M频率拍卖第二天:竞价飙至37亿美元[zz]

    也许这是一个可能改变某些IT企业身份的机会!

    周五美国联邦通信委员会拍卖政府拥有的700M数字电视频率的时间已经进入第二天,竞购价格也已经从周四的27.8亿美元涨到37亿美元.但是在周五,受 到密切关注的需要同公共安全机构共享的频段仍然没有新的竞购者出现.在这次拍卖中,37亿美元是目前收到的五个不同频段报价合计最高值,预计联邦政府从这 次频段的总拍卖中至少获得100万美元收入.但是按照规定,必须要同公共安全机构共享的全国性的“D”频段,仍然没有出现新的竞购者.周四,该频段的竞购 报价是4.72亿美元.

    Stifel Nicolaus分析师表示“D”频段新的报价者可能会出现,但设置的最低13亿美元出售价可能要降低.有资格竞购的公司包括重要的运营商AT& T和Verizon Wireless,也有可能杀出新的竞购者,如互联网公司Google、EchoStar Communications和Cablevision Systems.Verizon Wireless是Verizon Communications和沃达丰集团之间合资企业.
    分析师表示,重要的运营商可能会利用新频谱向消费者提供更为先进的服务,比如通过手机进行宽带接入,向笔记本电脑提供无线宽带服务等.全国性“C” 频段周五最高报价为17.9美元,周四报价为12.4亿美元.获得该频段使用权的运营商需要将该频段向所有设备和软件应用开放,如果报价达到47亿美元,竞购该频段则成交.其它的频段包括地域性的“A”频段和“B” 频段,还有最后一个频段是利用不高的“E”频段,因为“E”频段受限为一路数据传输.
    按照联邦通信委员会的规定,竞购者的身份需要保密,直到拍卖结束才予以公开.这次700M的数字频谱资源之所以珍贵,是因为他们能够长距离传输并且能够穿透很厚的墙壁.本次拍卖直到没有新竞价出现,即告终止.如果出价没有达到最低价格标准,联邦通信委员会将进行下轮拍卖,也有可能降低要求.

    中国雅虎裁员内部邮件曝光[zz]

    转载于cnbeta, 看来IT企业也有危机.


    上午消息,中国雅虎实施裁员内部邮件今日曝光,以下为邮件全文:
     今天,有一些同事离开了公司。
     这是一个很难做的选择。

    中国雅虎已经历了2年多的护心、整心、整形等系列整合,尤其是2007年,这是中国雅虎“创新”的一年,三大创新业务“全能搜索”、“终生邮箱”、“站 长天下”赢得了业界和用户的普遍好评,让中国雅虎找到了影响中国互联网产业格局的方向。在三个事业部中推行的创新与创业尝试,更让我们看到中国雅虎正在告 别大公司的过去,变得有活力有朝气,我们终于有足够的力量去改变。这个改变,不仅是对业务线的改变,更是对公司基本运营机制的改造。
     2008年,中国雅虎必须成为一家“创业”公司!
     我们要把创新成果转为可持续发展的商业模式,必须建立创业的文化、组织和业务体系。
     我们在战略方向明确,主要业务清晰的情况下,要专注执行,协同制胜,时时以结果为导向。
     我们要精兵简政,轻装上阵,要进行三方面的调整。
     一是心态上的调整。要从大公司大网站向创业公司、创业网站调整。要大力度地建立成本、速度和效益意识。
     二是业务上的调整。我们要好的产品,而不是多的产品,我们要用户体验占第一的服务,对那些比较马虎,不够雅虎的服务,关停并转,要动真格!
     三是组织上的调整。由于业务的调整,我们必须要建立充分协同、高度配合的团队架构!我们要刻骨铭心地相信“今天很惨酷,明天更惨酷,后天不是一般的惨酷!”,我们一起再努力,再战斗!
     当我们带着必胜的信念前行时,那些告别公司的同事的真诚祝福,将会是我们苦行途中的慰藉!
     也许在不久的将来,我们还会有缘再相会,再共事。
     在阿里巴巴集团的历史上,还没有一家创业公司是不成功的,不是一般的成功,都是巨大的成功!
     我们还在雅虎的同事,一定要加油,一定要努力!

    该消息人士透露,有多个部门已被整体裁撤.其中,将取消原新媒体、搜索、通讯三大事业部设置,新成立网站运营部、邮箱运营部、工程技术部和公关市场部.同时,人力资源和行政部、财务部、法务部和商业智能部保留. 据了解,此次裁员涉及多名高级经理级别的员工.截至目前,中国雅虎尚未有正式声明. 但有媒体报道,阿里巴巴集团相关负责人称裁员幅度并不大,也没有部门被整体裁撤.该负责人还称,受此次中国雅虎创业运营调整影响的员工,“公司已做出妥善安排和补偿”.

    网民最爱看的片子

    《连线》杂志根据P2P网络——包括BitTorrent,Gnutella和eDonkey三种协议——中的数据交换总流量分别统计出电影、电视和歌曲的Top 10: 以下是电影: 1.《生化危机3:灭绝》(Resident Evil: Extinction) 2.《加勒比海盗3:世界尽头》(Pirates of The Caribbean: At World's End) 3.《我盛大的同志婚礼》(I Now Pronounce You Chuck & Larry) 4.《料理鼠王》(Ratatouille) 5.《超级坏》(Superbad) 6.《贝奥武夫》(Beowulf) 7.《变形金刚》(Transformers) 8.《美国黑帮》(American Gangster) 9.《哈利波特与凤凰社》(Harry Potter and the Order of the Phoenix) 10.《星尘》(Stardust)
     
    其中1也是我的最爱, 基本上看了两遍. 2,3,4,5,6,8,9还没有看, 7 看了一遍. 10 看了一遍, 可惜是枪版. 没有看明白, 有空再看看:-)
    Resident Evil: ExtinctionTransformers-擎天柱Transformers-威震天Transformers-大黄蜂StarDust

    一天驾车遇到的尴尬事

    今天一路驾车遇到好多事情, 分别是红衣女, 恶女和无奈男. 记录一下, 让自己老的时候看到, 还可以那么回忆一下子...
     
    第一件事情是发生在万泉河桥西, 遇到红灯, 停. 看到路边非机动车道停有一辆银灰奥迪A4和一辆黑色广本, 车号就不曝光了. 两个女司机下车聊天, 感觉有问题, 朝路边远远一看, 一位穿红羽绒服的女子在一个红砖柱子后面探头探脑, 莫非??? 忽然那个女子提起羽绒服, 蹲下, 一个大白屁股暴露在众人视线中... 绿灯亮
     
    第二件事情发生在中关村购物步行街, 右转暴堵, 旁边不时有车插队, 俺只好紧紧跟上. 好容易缓缓开动, 一位中年妇女猛得跑过来企图穿过去, 只好停车. 那位女士恶狠狠在车头上拍车一下, 不过俺的车好久不洗了, 那恶女拍完就后悔, 直在裤子上擦, 唉...
     
    第三件事情接着就发生了. 对面一辆307看我前面空出位置就在我前方加速掉头, 不过距离不够, 他一把轮没有调过来, 只好倒车, 此时一辆绿色QQ从斜刺插入我和307之间的空隙. 于是这小小的空间被赛满. 奇怪的是307倒车之后就不动了, 始终不动, QQ倒车让出空间, 307也还是原地蹭. 无数车开始鸣笛. 307副驾女士下车. 估计是出现状况, 俺于是下车. 一看才发现原来307急于抢位掉头, 后车门已经刮在隔离带的铁柱子上了, 就象一位钢管舞女郎, 抱着钢管不松手. 驾驶员是一位眼睛男. 我赶紧指挥, 眼睛男说, 该怎么打轮啊?? 用ZL的话说, 此人已经"麻爪"了. 唉, 赶紧让他左打轮, 旁边另外一位司机也在一边支招, 眼睛男终于得救. 连声道谢不提...
     
    都是一个"急"字在作怪!
    January 24

    干燥的冬天

    北京的冬天实在是太干了, 天气寒冷虽然让人在户外不觉得干燥, 但是也正是寒冷, 让能够进入空气的水量降低到一个让人无法忍受的程度. 结果也是很明显的, 首先是口腔溃疡呈现多发态势, 星星点点, 好像失火, 却希望别燎原. 吃啥啥不香! 然后是咽喉有些炎症, 经常有干裂的感觉. 相比之下, 嘴唇干燥就是最为轻松的事情了. 真不知道什么时候可以好转.
     
    昨晚尝试在暖气上面盖了湿毛巾, 睡前拖地, 果然上午起床时感觉咽喉很舒服, 看来需要一个加湿器. 于是晚上和ZL同去采购了一个据称可以不产生白烟的亚都加湿器. 却不料此物是个质量有问题的物件, 由于水位过低, 加水后就不能再次移动, 只要移动, 就漏一地水. 而且价格不便宜! 建议大家不要购买这种加湿器!
    加湿器-平视加湿器-顶视

    验明火车票真伪的方法[zz]

    感谢Haip提供:-)


    发信人: NewLongestID (加州圣巴巴拉), 信区: RailWay
    标  题: 验明火车票真伪的方法

    发信站: 水木社区 (Mon Jan 21 10:32:23 2008), 站内

    1.左上角的数码和条形码下第二段一致(有时候差一两位)

    2.条形码第一段最后四个数字必须是你的出票日期(一般比你实际买票的日期快一天)

    3.右上角是你发售车票的车站或代售点

    4.条形码最后四位数字为你此次车票的旅程数

    5.铁道部标志水印

    6.北京现在出的票背面多数是乘客须知
    January 22

    Kaspersky(卡巴斯基)和金山毒霸

    某天也不知道上了什么网站, 总之从此以后IE的表现就不正常, 在IE的顶端会提示说我的IE版本低, 需要安装FireFox, 给出的链接是个包含Google的链接, 但是显然和Google没有关系, 估计是钓鱼网站. 此外IE会在背后偷偷摸摸登陆各种广告网站, 消耗大量内存, 动辄就达到100~200MB. 更有甚者, IE会经常Crash或者失去响应. 手工查看了一下, 发现两个问题
    (1) 在hosts文件中发现大量的错误定义, 这些定义把很多常见网站都指向了127.0.0.1, 也就是本机. 但是我本机安装了Apache, 不知道这厮到底干了什么 (事后知道这就是一个病毒, 名字教飘雪变种). 猜想他的发作方式就是把到所有常见链接的指向本机的一个http服务器 (病毒), 导致Web浏览无法使用.
    (2) Web首页本来是about:blank, 但是被修改为一个仿冒地址: http://about.blank.la/?g

    手工删除(1)和(2)并没有解决我的问题, 于是启用查毒软件:
    1. 360安全卫士这次表现很差, 什么也没有检查出来

    2. Kaspersky免费在线查毒已经升级到专业版, 原有的链接已经不能正常下载, 需要到 http://www.kaspersky.com.cn/webscanner/ 打开专业版扫描. Kaspersky果然不如使命, 发现了很多问题, 如下:

    C:\WINDOWS\system32\drivers\0bef.sys 感染:Trojan-Downloader.Win32.Hmir.uh
    C:\WINDOWS\system32\MSCTFP.dll 感染:Trojan-Downloader.Win32.Agent.hns
    C:\WINDOWS\system32\mcdsrv32_080119.dll 感染:Trojan-Spy.Win32.Pophot.aay
    C:\WINDOWS\tempaq 感染:Trojan-Downloader.Win32.Hmir.uh
    C:\WINDOWS\my_70420.exe 感染:Trojan-Downloader.Win32.QQHelper.akr
    C:\Documents and Settings\qlw\Local Settings\Temp\NERO14182\Toolbar.exe 感染:not-a-virus:AdTool.Win32.MyWebSearch.bm
    C:\Documents and Settings\Family\Local Settings\Temporary Internet Files\Content.IE5\ENI3QXI3\my_70420[1].exe 感染:Trojan-Downloader.Win32.QQHelper.akr
    C:\Program Files\常用绿色软件\开关机设置\快速关机.exe 感染:not-a-virus:RiskTool.Win32.Shutdown.c C:\System Volume Information\_restore{51C4E32F-FF1B-4D1F-86C8-9256010ABE6A}\RP99\A0017543.dll 感染:Trojan-Spy.Win32.Pophot.aaw
    C:\System Volume Information\_restore{51C4E32F-FF1B-4D1F-86C8-9256010ABE6A}\RP99\A0017544.dll 感染:Trojan-Spy.Win32.Pophot.aay
    C:\System Volume Information\_restore{51C4E32F-FF1B-4D1F-86C8-9256010ABE6A}\RP99\A0017558.dll 感染:Trojan-Spy.Win32.Pophot.aaw
    C:\System Volume Information\_restore{51C4E32F-FF1B-4D1F-86C8-9256010ABE6A}\RP99\A0017566.dll 感染:Trojan-Spy.Win32.Pophot.aay

    3. 手头正好有一个正版金山毒霸, 可以使用一年的免费升级, 索性打开使用. 毒霸的使用比较人性化, 首先就检查补丁, 然后接着提示有漏洞, 需要打补丁. 重新启动. 继续查毒, 发现几个问题, 如下:
    image 
    选择删除, 则提示重新启动, 启动以后继续查毒, 发现毒霸的查毒杀毒能力有些弱, 只发现了几个无关紧要的问题, 如下:
    image

    手工杀除Kaspersky发现的木马, 重新启动, 木马不再出现.

     不敢说别人的经验怎么样, 至少在我这次的事件上看,  金山毒霸的能力还是弱于Kaspersky - 虽然毒霸的用户体验不错

    《货币战争》- 一本让人发冷的书

    这事一本让人看有些浑身发冷的书. 某天拿起来随手一翻, 居然此书和《鬼吹灯》一样都是让人放不下手的书, 虽然知道自己没有真正看懂此书, 但是其中的讲述的货币威力确实让人浑身发冷. 原来美国那么多总统和准总统被刺居然都是货币在作怪 - 最新的行刺事件是大家都还算熟悉的里根. 里根被刺之后便彻底放弃了黄金制度的改革. 万幸是他没有送命, 而之前的林肯和肯尼迪都统统归西. 而参加"美国中央党校"的克林顿则平步青云当了总统. 书中此类的故事还非常多, 用波澜壮阔来描述可以说绝不为过.

    当然内容是一回事, 此书的来由被很多人置疑, 有人说此书的内容源自1995年一部长达3hr的美国纪录片《The Money Master》,俺没有时间去考证了,有兴趣的可以看看阅微堂的评论(下面有转载)。不管怎么说,能长些见识就好.

    此外我也非常想听听明白人给介绍一下次待危机是怎么回事,是不是也是帝国主义在有意作乱


    阅微堂评论:http://zhiqiang.org/blog/posts/currency-war-pdf-version-of-download.html

    书的大致内容为现代金融体系由少数人甚至一个大家族所控制着,这些大银行家控制着各国的货币发行权。而在脱离了金本位的体系下,大银行通过发行过多的债务货币导致通货膨胀,从而掠夺人民的财产。最后给中国的建议是政府每年拿出2000亿美金出来买黄金... 在书里还是学到了一些经济学和听起来象模象样得历史,但是以我有限的经济学知识,也知道金本位的破裂,更多的原因是货币的需求太大(在货币战争中,则是有组织的阴谋的结果)。

    书的故事写的非常精彩,波澜壮阔直到让人生疑。到douban一看,果然质疑的人很多(注意书评的评论)。有人说认为货币战争翻译了美国在1995年出版的长达3个小时的纪录片<The Money Masters>,youtube上有一些视频,看了一下,的确如此。

    总的说来,这种阴谋论的书,对于一般人来说,还是很难辨别的(参见我们有多容易受骗?)。我还记得初中的时候看过一本书,从神话传说,地质构造等角度,最后论证了月亮其实是外星人的巨型飞船,因战争受损被遗落在太阳系。阴谋论的吸引人之处,它能解释很多问题,但不做详细的调查和阅读,很难反驳。但一般人又有什么时间和资源去做这件事情呢?

    最后,我怀疑《货币战争》的出版本来有预谋的。证据就是有很多“枪手”,比如前面我提到的有人跑到阅微客栈上转贴全文(已经被我删了)。再看看douban的书评下面评论的广告...至于目的嘛,现在还没猜到。


    在线阅读:

    http://book.sina.com.cn/nzt/live/fin/hbzz/index.shtml
    http://zhiqiang.org/blog/posts/currency-war-pdf-version-of-download.html (有pdf下载)

    January 20

    旧沙发

    旧沙发是俺某年因为俺全家要来北京看望俺才特意添置的. 当时的要求就是要大, 因为那是俺的床位, 那个下午俺在西集美家居恶逛一个下午然后采购的, 同时还采购了俺的大床和餐桌. 送货的那天才发现这个被售货员鼓吹的无限好的沙发其实太大了 - 对于俺的狭长客厅来说. 当时就打算退货, 无奈人家不答应. 作罢. 不过事后发现这个沙发还是不错, 一个3人位, 一个单支加上一个榻和搁脚墩, 非常的舒服. 那个时候叮当还在, 他最喜欢懒洋洋地趴在墩子上面, 叫他, 他就马马虎虎地抬头看我一眼, 声音再大一些, 他就会低低地回一声, 呵呵..

    终于到了和旧沙发说再见的时候, 今天一对小两口和一辆面包车拉走了大沙发, 还真有些不舍, 留下照片纪念一下吧叁人位2 榻  单人位

    就这样告别一段经历(5): Team Building

    和Show & Tell一样, Team Building是进入外企之后学到的另外一个新词儿. 从字面上理解, 这是团队建设的意思, 其实不尽然, 这词儿是基本上就是fb的意思 :)

    第一次building不是和BLRC, 而是和BLC Wenbin的Team一起去植物园, 由于和多数人都不认识, 就和Qi, Risker一起走, 游览了植物园新建的那个亚洲第一温室, 真是被其中的壮观景象惊呆了, 尤其记得其中有一处遍地都是硕大的仙人球, 遇到第一个的时候以为就此一个, 拍照好几张, 后来才发现前方遍地刺球, OMG!! 另外就是记得和Alex一起进入捕蝇草景区, 看到几个捕蝇草的小罐子都让人捏碎了, 后面有一个条幅, 上书, "别捏了!" 无语...

    接着就经历了工作以来第一次壮观的TB, 这次是到三亚. 十一月的三亚还是很热的. 由于之前去过两次这个美丽的地方, 我对三亚还略有所知. 正如李博士所说, 三亚是全民皆商, 布下天罗地网, 让游客无处遁形的一个所在. 用我的话说是, 在那里听导游的无异于自投罗网. 不仅表现在吃海鲜, 还表现在潜水. 记得当时俺在导游之外, 组织了另外一套班子, 首先是吃海鲜, 俺在某个熟悉的海鲜排档下车, 本想自己去爽一把, 结果不少同事也跟了下来, 要求同去, 在外面现点鲜活海鲜感觉很不错. 跟着导游的同事去享受了海鲜自助, 据说吃的也不错. 潜水是另外一个自费项目, 当时听导游报价, 俺就觉得虚高, 于是联络当地一个认识的司机, 当时就给出了每人消费低近150元的报价, 而项目是一样多的. 于是几乎所有人都愿意跟我认识的导游一起潜水去, 不过人多心杂, 这个价格被带团导游知道, 他立刻自动降价到一样的价位. 这时人的心态就变化了, 一些认为带团导游更安全的人就选择重新跟带团导游一起, 不过仍然有几位不错的同事坚持和我在一起, 让我很感动, 因为这样我就没有失信于那位司机 - 是他帮助我们获得了更优惠的价格. 我问司机潜水那天能不能开一辆气派些的车来接我们, 司机是个爽快人, 说没问题, 你就放心吧.

    第二天, 司机开这一辆30座的豪华大金龙来接我们潜水, 而带团导游的车是一辆15座金杯大小的车子. 总算让我在支持我的朋友面前有所交代. 一路前去, 所有活动项目一模一样, 都是蜈支洲岛, 都是一样的服务, 司机同志还自愿帮大家看衣服:-) 不过毕竟让每一位同事和家属都节省了150元左右, 这样就足够了~

    此后又进行了各种各样的TB, 既有我想去而没有去过的地方, 也有北京郊县的景点, 大家都活动的非常开心, 不过我却再也不会那样跳出来主动给大家提供服务了...

    January 17

    Microsoft.NET Framework全面开源!![zz]

    昨天才知道以前曾经玩过一阵子的SimCity全面开源,使用GPL协议,今天就看到.NET Framework开源,真是弄不明白这个世界了,也许这就是OpenSource的力量. Stallman主义即将胜利?我看倒是未必


    Microsoft .NET

    期待已久的.NET Framework终于在本周开源了,微软在MS-RL协议下终于公开了.NET Framework源代码,我们只可以自由查看,不允许直接进行修改。第一批开放的源代码包括:

    .NET基本类库:
    System,System.CodeDom,System.Collections,System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading
    ASP.NET:
    System.Web, System.Web.Extensions
    Windows Forms:
    System.Windows.Forms
    Windows Presentation Foundation:
    System.Windows
    ADO.NET和 XML:
    System.Data
    System.Xml
    详情请访问ScottGu的文章:http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx
    如何在Visual Studio 2008中进行配置请参考这篇文章:Configuring Visual Studio to Debug .NET Framework Source Code

    From: http://www.cnbeta.com/articles/47338.htm

    MySQL被Sun收购[zz]

    也许这是一个不错的结果,打拼这么多年的MySQL终于可以过几天安稳的日子了。不知道以后MySQL会推出什么新的产品和服务,但是无需怀疑的是开源还是其不变的策略,通过销售服务和提供高端解决方案来获得利润。让人惴惴不安的是,如果一旦Sun以后不打算让MySQL继续开源,那么会不会出现一个YourSQL来继续呢,就像OpenOffice那样。希望最好不要这样,一个稳定的产品总是变化开发人员肯定不是好事情。


    2008年1月16日这天,忘记 Macbook Air 吧,IT界最大的新闻是 SUN 收购了 MySQL" "Sun宣布已经与MySQL AB达成协议,以大约10亿美元收购MySQL AB,其中8亿美元现金收购MySQL AB的全部股权,另外的2亿美元作为期权。MySQL负责开发社区的副总裁 Kaj Arnö 在他的blog中分析了这单交易对于MySQL的用户、核心社区以及公司员工会带来哪些影响,还发表了他与MySQL的两位创始人Monty和David关于此事的交谈。""这次收购使了Sun在IT企业中的地位进一步巩固,现在甚至包括了150亿美元的数据库市场,Sun不谨是一个领先的网络平台和环境的提供商,而且也是最大的开源商业贡献者。“

    从来没有被收购的公司CEO会像MySQL CEO Marten Mickos那么开心,针对本次收购,他毫不掩饰地称MySQL的收购行动是一个"重大的胜利",可以让他们有一个更新鲜的眼光看世界,并可以更快地发展自己的产品,获取新的渠道找到新的合作伙伴.

    在谈到此次收购的历史背景下, Mickos并不隐瞒他的自豪感和积极性:"这证明了它是一个开发软件,建立业务的优越方法,并让Linux和开源逐渐走进了企业."MySQL认为他们现在可以通过Sun接触到更多更为保守,更为苛刻的大客户,开放源代码软件的价值将继续增加,是一个向世界证明开源价值的机会.

    2007年达尔文奖[zz]

    大家一定还记得疯人院汽车司机的Joke吧,那是某年的达尔文奖获得者. 让我们看看2007年的获奖者是谁. 来这里看看
    http://darwinawards.com/darwin/darwin2007.html (英文)

    以进化论之父达尔文命名的达尔文奖今日公布了2007年度的获奖名单,此奖是为了纪念那些通过放弃自己的生命而改进人类基因库的先人。

    性交被干扰:2007年6月20日,南卡罗莱纳州,一对21岁的年轻人被发现赤裸着身体躺在公路上,失去智觉的他们被送到最近的医院,但在没有恢复意识之前就已死去。没有目击者、没找到衣服,没有汽车或摩托车的痕迹。调查人员最终在附近的建筑物屋顶上找到了线索:折叠好的衣服,合理的推测是他们在屋顶上做爱,一不留神滚了下去。

    用酒灌肠的酒鬼:天下独一无二的酒鬼,当他喉咙疼痛无法饮酒时候,他选择灌肠(将液体从肛门注入直肠),2瓶1.5升的雪利酒要了他的命,他的血液中酒精浓度达到0.47%。

    支撑结构:一群小偷想从废弃的工厂里偷点废金属,他们思考再三选择了支撑屋顶的钢梁。当钢梁被拆除后,屋顶倒了下来,导致二死三伤。这种事情经常发生,请牢记重力作用。
    其它的还有: 在使用施工电梯时,只留心下面,没注意电梯从上面落下来两个人用火车测试他们的反应能力等等。
    January 16

    Linux下Makefile的automake生成全攻略[zz]

    文/余涛
      作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。   在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系统中去了。这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的Toy程序,那么这个文章对你也会有很大的帮助。
      一、Makefile介绍
      Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有文件的信息,在make时会决定在链接的时候需要重新编译哪些文件。
      Makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依赖文件有了改变,编译器会自动的发现最终的生成文件已经过时,而重新编译相应的模块。
      Makefile的基本结构不是很复杂,但当一个程序开发人员开始写Makefile时,经常会怀疑自己写的是否符合惯例,而且自己写的Makefile经常和自己的开发环境相关联,当系统环境变量或路径发生了变化后,Makefile可能还要跟着修改。这样就造成了手工书写Makefile的诸多问题,automake恰好能很好地帮助我们解决这些问题。
      使用automake,程序开发人员只需要写一些简单的含有预定义宏的文件,由autoconf根据一个宏文件生成configure,由automake根据另一个宏文件生成Makefile.in,再使用configure依据Makefile.in来生成一个符合惯例的Makefile。下面我们将详细介绍Makefile的automake生成方法。
      二、使用的环境
      本文所提到的程序是基于Linux发行版本:Fedora Core release 1,它包含了我们要用到的autoconf,automake。
      三、从helloworld入手
      我们从大家最常使用的例子程序helloworld开始。
      下面的过程如果简单地说来就是:
      新建三个文件:
       helloworld.c
       configure.in
       Makefile.am
      然后执行:
    aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld
      就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过。
      很简单吧,几条命令就可以做出一个符合惯例的Makefile,感觉如何呀。
      现在开始介绍详细的过程:
      1、建目录
      在你的工作目录下建一个helloworld目录,我们用它来存放helloworld程序及相关文件,如在/home/my/build下:
    $ mkdir helloword
    $ cd helloworld
      2、 helloworld.c
      然后用你自己最喜欢的编辑器写一个hellowrold.c文件,如命令:vi helloworld.c。使用下面的代码作为helloworld.c的内容。
    int main(int argc, char** argv)
    {
    printf("Hello, Linux World!\n");
    return 0;
    }
      完成后保存退出。
      现在在helloworld目录下就应该有一个你自己写的helloworld.c了。
      3、生成configure
      我们使用autoscan命令来帮助我们根据目录下的源代码生成一个configure.in的模板文件。
      命令:
    $ autoscan
    $ ls
    configure.scan helloworld.c
      执行后在hellowrold目录下会生成一个文件:configure.scan,我们可以拿它作为configure.in的蓝本。
      现在将configure.scan改名为configure.in,并且编辑它,按下面的内容修改,去掉无关的语句:
    ============================configure.in内容开始=========================================
    # -*- Autoconf -*-
    # Process this file with autoconf to produce a configure script.
    AC_INIT(helloworld.c)
    AM_INIT_AUTOMAKE(helloworld, 1.0)
    # Checks for programs.
    AC_PROG_CC
    # Checks for libraries.
    # Checks for header files.
    # Checks for typedefs, structures, and compiler characteristics.
    # Checks for library functions.
    AC_OUTPUT(Makefile)
    ============================configure.in内容结束=========================================
      然后执行命令aclocal和autoconf,分别会产生aclocal.m4及configure两个文件:
    $ aclocal
    $ls
    aclocal.m4 configure.in helloworld.c
    $ autoconf
    $ ls
    aclocal.m4 autom4te.cache configure configure.in helloworld.c
      大家可以看到configure.in内容是一些宏定义,这些宏经autoconf处理后会变成检查系统特性、环境变量、软件必须的参数的shell脚本。
      autoconf 是用来生成自动配置软件源代码脚本(configure)的工具。configure脚本能独立于autoconf运行,且在运行的过程中,不需要用户的干预。
      要生成configure文件,你必须告诉autoconf如何找到你所用的宏。方式是使用aclocal程序来生成你的aclocal.m4。
      aclocal根据configure.in文件的内容,自动生成aclocal.m4文件。aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”。
      autoconf从configure.in这个列举编译软件时所需要各种参数的模板文件中创建configure。
      autoconf需要GNU m4宏处理器来处理aclocal.m4,生成configure脚本。
      m4是一个宏处理器。将输入拷贝到输出,同时将宏展开。宏可以是内嵌的,也可以是用户定义的。除了可以展开宏,m4还有一些内建的函数,用来引用文件,执行命令,整数运算,文本操作,循环等。m4既可以作为编译器的前端,也可以单独作为一个宏处理器。
    4、新建Makefile.am
      新建Makefile.am文件,命令:
    $ vi Makefile.am
      内容如下:
    AUTOMAKE_OPTI
    bin_PROGRAMS=helloworld
    helloworld_SOURCES=helloworld.c
      automake会根据你写的Makefile.am来自动生成Makefile.in。
      Makefile.am中定义的宏和目标,会指导automake生成指定的代码。例如,宏bin_PROGRAMS将导致编译和连接的目标被生成。
      5、运行automake
      命令:
    $ automake --add-missing
    configure.in: installing `./install-sh'
    configure.in: installing `./mkinstalldirs'
    configure.in: installing `./missing'
    Makefile.am: installing `./depcomp'
      automake会根据Makefile.am文件产生一些文件,包含最重要的Makefile.in。
      6、执行configure生成Makefile
    $ ./configure
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking for gcc... gcc
    checking for C compiler default output... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ANSI C... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: executing depfiles commands
    $ ls -l Makefile
    -rw-rw-r-- 1 yutao yutao 15035 Oct 15 10:40 Makefile
    你可以看到,此时Makefile已经产生出来了。
    7、使用Makefile编译代码
    $ make
    if gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -
    DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE="helloworld" -DVERSION="1.0"
    -I. -I. -g -O2 -MT helloworld.o -MD -MP -MF ".deps/helloworld.Tpo" \
    -c -o helloworld.o `test -f 'helloworld.c' || echo './'`helloworld.c; \
    then mv -f ".deps/helloworld.Tpo" ".deps/helloworld.Po"; \
    else rm -f ".deps/helloworld.Tpo"; exit 1; \
    fi
    gcc -g -O2 -o helloworld helloworld.o  
      运行helloworld
    $ ./helloworld
    Hello, Linux World!
      这样helloworld就编译出来了,你如果按上面的步骤来做的话,应该也会很容易地编译出正确的helloworld文件。你还可以试着使用一些其他的make命令,如make clean,make install,make dist,看看它们会给你什么样的效果。感觉如何?自己也能写出这么专业的Makefile,老板一定会对你刮目相看。
      四、深入浅出
      针对上面提到的各个命令,我们再做些详细的介绍。
      1、 autoscan
      autoscan是用来扫描源代码目录生成configure.scan文件的。autoscan可以用目录名做为参数,但如果你不使用参数的话,那么autoscan将认为使用的是当前目录。autoscan将扫描你所指定目录中的源文件,并创建configure.scan文件。
      2、 configure.scan
      configure.scan包含了系统配置的基本选项,里面都是一些宏定义。我们需要将它改名为configure.in
      3、 aclocal
      aclocal是一个perl 脚本程序。aclocal根据configure.in文件的内容,自动生成aclocal.m4文件。aclocal的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”。
      4、 autoconf
      autoconf是用来产生configure文件的。configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生合适的Makefile,从而可以使你的源代码能在不同的操作系统平台上被编译出来。
      configure.in文件的内容是一些宏,这些宏经过autoconf 处理后会变成检查系统特性、环境变量、软件必须的参数的shell脚本。configure.in文件中的宏的顺序并没有规定,但是你必须在所有宏的最前面和最后面分别加上AC_INIT宏和AC_OUTPUT宏。
      在configure.ini中:
      #号表示注释,这个宏后面的内容将被忽略。
      AC_INIT(FILE)
      这个宏用来检查源代码所在的路径。
    AM_INIT_AUTOMAKE(PACKAGE, VERSION)  
       这个宏是必须的,它描述了我们将要生成的软件包的名字及其版本号:PACKAGE是软件包的名字,VERSION是版本号。当你使用make dist命令时,它会给你生成一个类似helloworld-1.0.tar.gz的软件发行包,其中就有对应的软件包的名字和版本号。
    AC_PROG_CC
      这个宏将检查系统所用的C编译器。
    AC_OUTPUT(FILE)
      这个宏是我们要输出的Makefile的名字。
      我们在使用automake时,实际上还需要用到其他的一些宏,但我们可以用aclocal 来帮我们自动产生。执行aclocal后我们会得到aclocal.m4文件。
      产生了configure.in和aclocal.m4 两个宏文件后,我们就可以使用autoconf来产生configure文件了。
      5、 Makefile.am
      Makefile.am是用来生成Makefile.in的,需要你手工书写。Makefile.am中定义了一些内容:
    AUTOMAKE_OPTIONS
      这个是automake的选项。在执行automake时,它会检查目录下是否存在标准GNU软件包中应具备的各种文件,例如AUTHORS、ChangeLog、NEWS等文件。我们将其设置成foreign时,automake会改用一般软件包的标准来检查。
    bin_PROGRAMS
      这个是指定我们所要产生的可执行文件的文件名。如果你要产生多个可执行文件,那么在各个名字间用空格隔开。
    helloworld_SOURCES
      这个是指定产生“helloworld”时所需要的源代码。如果它用到了多个源文件,那么请使用空格符号将它们隔开。比如需要helloworld.h,helloworld.c那么请写成helloworld_SOURCES= helloworld.h helloworld.c。
      如果你在bin_PROGRAMS定义了多个可执行文件,则对应每个可执行文件都要定义相对的filename_SOURCES。
      6、 automake
      我们使用automake --add-missing来产生Makefile.in。
      选项--add-missing的定义是“add missing standard files to package”,它会让automake加入一个标准的软件包所必须的一些文件。
      我们用automake产生出来的Makefile.in文件是符合GNU Makefile惯例的,接下来我们只要执行configure这个shell 脚本就可以产生合适的 Makefile 文件了。
      7、 Makefile
      在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:
    make
      根据Makefile编译源代码,连接,生成目标文件,可执行文件。
    make clean
      清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。
    make install
      将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。
    make dist
      产生发布软件包文件(即distribution package)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。
      它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。
    make distcheck
      生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了。
    ===============================================
    helloworld-1.0.tar.gz is ready for distribution
    ===============================================
    make distclean
      类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。
      五、结束语
      通过上面的介绍,你应该可以很容易地生成一个你自己的符合GNU惯例的Makefile文件及对应的项目文件。
      如果你想写出更复杂的且符合惯例的Makefile,你可以参考一些开放代码的项目中的configure.in和Makefile.am文件,比如:嵌入式数据库sqlite,单元测试cppunit。

    人肉搜索的结果

    哈哈,今天某闷骚男的隐秘Blog被某八卦男人肉搜索发现,再次大笑三声,想藏身网络,门都没有:-)

    题外话是能否产生一个实名搜索网,把所有实名和其新闻关联起来,可以用Google的方式提供收费搜索,就好像那个名片网,但是范围比名片网更广泛,比如还能添加星座配型等娱乐项目。

    January 15

    hmailserver的完整配置

    记录一下子:)

    1. hmailserver的下载和版本

    下载:http://hmailserver.com/

    版本:hMailServer-4.4.1-B273.exe

    SMTP原理: http://www.5dmail.net/html/2004-2-3/200423200710.htm

    2. hmailserver的配置

    添加域和用户,针对域, 只需配置IP地址就可以了

    配置用户

    配置协议

    配置SMTP

    注意: 对于trac的配置来说, “allow plain text authentication”是不能选择的, 否则有错误

    配置Routes

    配置认证

    配置Log

    3. 服务器管理

    Hmailserver会自己安装为服务,因此可以放心地退出管理程序

    4. 客户端配置

    4.1 服务器配置, 特别注意其中那个账号的写法需要xxx@server.com, 同时关闭服务器认证

    January 10

    就这么告别了一段经历(4): Show & Tell 生死记

    Show & Tell是Bell Labs的优秀传统之一, 也是我进入BLRC之后遇到的一个新事物 - 或者说是新名词儿, 在学校的时候通常被称为学术交流或者学术报告. 这么说的原因是两者的形式非常类似, 但是范围却有所不同, 而这个不起眼的差异倒是成了S&T成败的一个原因.

    新手上路的时候, 俺一直聚精会神地认真听讲, 一般还能提些问题和讲座人交流一下, 一般俺的问题都是比较友好, 要是碰巧遇到明白的专题, 也能让演讲人头疼那么一下子. 李博士是能让所有演讲人郁闷的人. 无论这人是Lab同事, 还是出差过来的美国同事, 或者来自国内外知名研究机构/院校的牛人, 印象里面最苦闷的哥们是日本知名大学计算机系主任, 被问倒以后那种不知所措的神情至今让我颇有自豪感 - 一种无法名状, 难以言表的民族自豪感!! 李博士决不会因为演讲人是Lab同事就手下留情, 有好几位同事都曾经被李博士的问题搞的面红耳赤. 不过奇怪的是每次我讲座的时候, 李博士碰巧都不在或者外出 - 甚至包括面试的那一次(非S&T). 因此我倒是躲过了李博士的"发难", 也不知道是好事还是坏事, 但是我觉得自己的人生因此而不那么完整.

    依稀记得Lab的S&T是1周1次, 这样差不多一年每人需要做将近2次S&T, 频率也是不错的, 半年一般能有所成果给大家宣布一下了. S&T考验的不仅仅是你对知识的理解和表达能力, 更为重要的是S&T对人的反应能力绝对是个考验 - 因为你绝对无法预料下一个问题来自什么方向, 可能这个问题是你研究中忽略的问题, 也可能是你还不清楚的地方 - 即一支冷箭; 还有可能完全是一支歪箭, 即一个stupid的问题, 但是你仍然需要用让人明白的方式解释清楚. 我大约一共做了3次S&T演讲, 分别是CMM介绍, VPN介绍, Model Checking. 基本上反应都还可以, 没有出现无人理睬的情况.

    然而最终S&T却随着李博士的离开而慢慢消逝了, 这并非是继任的黄博士不重视, 相反, 黄博士已经明确指出S&T计入年终考核. 但是S&T仍然离我们而去! 回过头来端详这段经历, 感觉S&T的衰落在落户BLRC的时候就播下了种子, 而衰落的过程更是潜在而不易察觉的, 绝非单纯因为李博士的离开...

    S&T的最佳状态是即让外行听懂, 又让内行满意, 这样就要求演讲人选择合适的题目并做大量调研, 就我的经验, 想要好好准备一个S&T, 至少需要一个月左右的时间 - 不是全时, 也要至少60%以上的时间. 这和项目的进度需要往往背道而驰, 项目是紧的, S&T则是活的, 于是就一拖再拖. 有段时间, MTS都没有时间, 于是安排了Intern来演讲, 结果被评价为"Intern S&T". 这也实在是无奈之举. 在重产品轻研究的情况下, 人再强也无力回天.

    Lab里面研究方向很多, 有些在研究无线, 有些在研究光网络, 有些研究算法, 还有些在研究安全. 每次听别人的讲座都能学到不少新东西, 不过如果一旦介绍的比较深入, 比如有时候讲解自己的会议论文, 则有些曲高和寡, 也就只能听懂一个摘要, 此后的公式推导, 定理证明除非是同行, 否则基本上是鸡同鸭讲. 记得S&T的第一轮综述都还不错, 可是以后则慢慢没有那么有兴趣了.

    此外, 文化方面的差异也许是最大的问题. 美国同事一般都直率开朗, 遇到不明白的地方, 不过大脑, 先蹦词提问. 无论是多么Stupid的问题他们都敢问, 但是中国人比较要面子, 如果问题很傻, 就可能被人嘲笑, 失了体面. 虽然这是在外企, 也都是年轻人, 开始的时候可能不会有太多的障碍, 但是随后就一团和气了, 失去挑战的S&T对研究的作用就很有限了...

    离开BLRC之前的一段时间, 发现美国Bell Labs总部的讲座也不都是内部人演讲的了, 而是大量外请院校学者, 看来一个宽松的研究环境才是S&T生存和光大的沃土, 真心希望Bell Labs还能振兴!