2009年2月27日星期五

英语习语个别

1. 一切后果 由你承担
由你承担一切责任
所有的事情都烂在你手里

all responsibilities will lie on your hands一切责任由你们承担
all consequences will lie on your hands 一切后果由你们承担


2. with every fiber of my being 的其他表示方法

Without a shadow of doubt
With every sinew of my anatomy

from the bottom of my soul
to the core of my being
with every ounce of my being
with every beat of my heart
with every breath I take

精彩演说欣赏:
“‘The Lord giveth and the Lord taketh away.’”
“Words I did not fully understand until our daughter was taken from us three days ago. But now we can rejoice and be glad, for that which was lost has been found. That my child is back in her mother’s arms is serendipity and grace; a second chance that will not slip through our hands again. I wish I could tell you there’s some new policy, some new weapons system – a silver bullet, perhaps – that could meet this moment; that could keep us safe from the terror that’s now among us. But if I were to say that, I’d be lying. All I can promise is that I will fight with every fiber of my being, every weapon in our our arsenal, and with every ounce of God’s grace...”

“神给予我们的,亦可夺走”
"这句话直到三天前我的女儿被从我们身边夺走时,我才理解它的含义。现在我们又充满了欢愉的心情,因为找回了我们所失去的。
我希望我能够告诉你们能够配合现在的这个气氛发表的:一些新的施政策略,一些新的武器系统--- 或者说, 解决一切的银弹,能够保护我们免于受到恐怖主义的侵害。但是如果我那样说的话,显然是谎言。我所能够承诺的就是,我将尽我的全部力量, 用尽我们武库中的一切武器,祈求神所能够给我们一切恩惠,来保证美利坚合众国公民的安全,幸福,繁荣。"


-- Script of The West Wing, The Dogs of War

回归祖国准备

通过邮递发往中华人民共和国的邮包的规制条件
http://www.post.japanpost.jp/cgi-kokusai/download.php?fid=32

最长边 1.5m 内+ 最大截面周长 < 3m

しゅうか しふ― 【集荷】/ しう― 【▼蒐荷】
* (名)スル
* 農水産物などを各地から市場に集めること。また、その荷。

こづつみ 【小包】
o (1)「小包郵便物(ゆうびんぶつ)」の略。
o   + 「―を出す」
o (2)小さな包み。

3rd Reconnaissance Battalion MAR FOR PAC

RX Insert Installation Instructions ESS goggle


以上是 ESS goggle 的镜片架在

1. ESS ICE eyesheild system
2. ESS Profile NVG Goggle

两种系统上的安装指导

2009年2月25日星期三

ILBE Family

Family of ILBE
1 Standard ILBE Pack System
4500 cubic inch main pack
1500 cubic inch assault pack
100 ounce hydration system
2 Reconnaissance ILBE System
5500 cubic inch recon main pack
2300 cubic inch recon assault pack
two 500 cubic inch external pouches
100 ounce hydration system

3 Corpsman Assault Pack (CAP)
A medical bag version of the assaoult pack to replace the MOLLE medical bag
Customized inserts for medical supplies
4 Assault Load Carrier (ALC)
5 Pouches
M16/M4 Speed Reload Magazine Pouch
M16/M4 Single/Double Magazine Pouch
9mm 15 Round Magazine Pouch
40mm Grenade Pouch
Pop-up Flare Pouch
M67 Grenade Pouch
12 Gauge Shotgun Shell Pouch
Multi Grenade Pouch
Squad Automatic Weapon (SAW)/Utility Pouch
Dump Pouch
Detachable PALS Platform Chest Rig
6 Individual Water Purification System (IWPS)

2009年2月18日星期三

svn 迁移服务器

1.在源主机上,执行

svnadmin dump resp_path > dumpfile

将一个仓库导出成一个文件这时候可以看到一个版本一个版本的导出过程。

2. 复制dumpfile复制到目标主机上,执行
svnadmin load resp_path < dumpfile
可以导入了,前提是在目标主机上建立 resp_path 的仓库目录

不过在windows上可以在总的resp目录下建立几个二级目录,然后在二级目录下面再增加仓库目录,这样也是可以正常使用的。但是在Linux上不行,仓库目录必须放在resp的一级目录下面。另外,这个导入导出过程不能批量,只能一个项目一个项目的做。

High wires 新闻专线:在钢丝上独自起舞

News agencies
新闻机构

High wires 新闻专线:在钢丝上独自起舞

Feb 12th 2009
From The Economist print edition



With newspapers in crisis, newswires may learn to live without them
眼见报业岌岌可危,新闻专线或将另起炉灶。

WHERE does news come from? The answer, much of the time, is from newswires. Many of the stories in newspapers, on television, radio and online are based on dispatches filed by the big news agencies. The biggest international newswires, Associated Press (AP) and Reuters, date back to the expansion of the telegraph in the mid-19th century, when rapid newsgathering first became possible. The agencies have usually been wholesalers of news; newspapers, broadcasters and websites act as retailers, repackaging and selling news to consumers alongside material generated in-house.
新闻从哪儿来?新闻从新闻专线来(少数情况除外)。大型新闻机构的快讯被编辑加以描绘,登上报纸网页,放进电视电台,就成了林林总总的新闻故事。十九世纪中叶,随着电报业的迅速发展,人们首次具有了迅速搜集新闻材料的能力, 如今最具规模的国际新闻专线美联社和路透社就在那时侯应运而生。将新闻一股脑儿打包出售是惯常做法,报纸网站和广播则如同零售商,把店面设在总部周围,兜售重新组合后的各式新闻。

Some, such as AP (a co-operative owned by its subscribers) and the state-backed French News Agency (AFP), have stuck to that model. But Reuters, like the Dow Jones newswire (which grew out of the Wall Street Journal), has developed a huge business providing information to financial-services firms, for which rapid, accurate news is highly valuable. A more recent arrival, Bloomberg, started out as a provider of such information but has turned into a news agency as well, creating a worldwide network of bureaus and syndicating stories to newspapers.
长久以来,这种“批发加零售”的运营模式一直为某些机构沿袭至今,例如美联社(订购者享有的合作公司)和法新社(政府新闻机构),但路透社和道琼斯新闻专线却已另起炉灶,开发了一笔大买卖——为金融服务公司提供第一手的准确消息。彭博社也是最近以这种“信息供应商”的身份入行、随后发展成新闻机构的例子。如今,彭博社的分支机构遍布世界各地,统一把快讯卖给报社。

The financial crisis is taking a terrible toll on both financial-services firms and newspapers, so you might expect the news agencies that serve them to be in trouble too. Not so. Christoph Pleitgen, a senior Reuters executive, says the big newswires have been staffing up in the past year. The Journal’s owner, News Corp, announced job cuts at the newspaper earlier this month, but said that the Dow Jones newswire was adding journalists at its bureaus, especially in India. Likewise, Bloomberg’s recent announcement of around 190 job cuts at a foreign-language television venture got more attention than its promise to create 1,000 jobs elsewhere, including in its news bureaus. And CNN, a television-news network, plans to set up a new international agency to rival AP and Reuters.
你可能会觉得,既然报业和金融服务公司一样,在这次金融危机中受伤惨重,那么为报纸提供素材的新闻机构也该举步维艰才是。其实不然。路透社高级执行主管克里斯托夫•普雷根称,各大新闻专线去年一直在增添人手。本月早些时候,美国新闻集团(华尔街日报所在公司)公布了旗下报纸裁员的消息,但也透露道琼斯新闻专线正招募记者,尤其是驻印记者。近日,彭博社也宣布某外语频道的岗位将削减190个。消息一出,人们的注意力都被吸引到裁员上,没怎么注意到她还承诺要在别处——包括往新设的新闻机构新增1000份工作。还有美国有线新闻网,计划成立一家国际新闻机构来与法新社和路透社抗衡。

A few struggling newspaper groups have stopped subscribing to newswires. Many others, having cut their own newsrooms, have become more dependent than ever on regurgitating agency copy. The proliferation of news websites, hungry for content, but lacking staff to produce it themselves, has also boosted the agencies. Last year printed newspapers contributed only 25% of AP’s revenues, says its boss, Tom Curley, down from 55% in 1985. Mr Pleitgen says that in developing regions, such as the Gulf, new television stations, websites and even newspapers are springing up, compensating for the newswires’ loss of customers elsewhere.
在当前的大环境下,一些新闻集团难以为继,便中断了新闻专线的服务,但更多的则比以往任何时候都需要原封不动的专线快讯,因为这些集团已经削掉了编辑室,无从加工。另外,新闻机构能在逆境中蓬勃发展,还得益于铺天盖地的网站——既急需板面,又不能杜撰,只好大量购买快讯。美联社总裁汤姆•克里称,去年美联社纸质报纸的销量仅占总额的25%,较1985年下降30%。普雷根先生也说,在波斯湾这样的发展中区域,新电视台、网站、乃至报业大楼竞相拔地而起,足以弥补他们在别处的损失。

But if newswires are thriving and newspapers are making ever more use of wire copy, why don’t the wire services supply news direct to the consumer? The risk that newspapers will be disintermediated is noted in a new report by, of all people, the Reuters Institute for the Study of Journalism at Oxford University. In some ways, it is already happening. Reuters and Bloomberg offer their top stories direct to consumers on advertising-financed websites.
但是,如果报纸里原封不动的快讯越来越多,新闻专线也蒸蒸日上,何不把快讯直接出售给读者?人们对此议论纷纷。其中,牛津大学路透新闻学研究所的报告提出了报纸被架空的可能。从某种程度上,这正变为现实。通过登陆某些靠广告盈利的网站,读者已经可以直接浏览路透社和彭博社的头条新闻。

And as more people consume news via smart-phones and other mobile devices, the newswires are providing it there, too. Norman Pearlstine, a senior Bloomberg executive, says the firm’s application for the Apple iPhone has been downloaded over a million times. Its service is free “for now”. AP, which is owned by its main subscribers, is treading carefully: it has struck deals with 1,200 American newspapers to create mobile websites, for which AP provides national and international news and they provide local news.
注意到越来越多的小灵通和其他移动设备正被用来阅读新闻,新闻专线也把触角伸向了那里。彭博社的高级执行主管诺曼•佩尔斯坦称,为阅读他们的新闻而下载苹果iPhone手机应用程序的人数已超过一百万次,且手机报是“暂时”免费的。美联社这一步则迈得比较谨慎,因为她的客户都是付费用户:在与1200家美国报社的协议下,双方将成立移动网站,美联社负责国内外新闻,报社提供当地消息。

Nobody yet knows which business model, if any, will work for mobile news. Mr Pearlstine notes that mobile users happily pay for a new ringtone, so why not for news? It is unclear how good news agencies will be at marketing direct to consumers. But as they continue building their worldwide news bureaus and providing more comprehensive coverage, they may be more likely to survive in the long term than those newspapers which, through constant rounds of cuts, risk becoming ever less distinctive.
不过,移动新闻这个商业模式究竟该怎么走,走不走得通,眼下还不甚明朗。佩尔斯坦先生指出,既然付费铃声能让移动用户买得心甘情愿,为什么新闻不能?即便我们不知道新闻机构的这种“直销”方式能创下多大业绩,但只要继续扩张世界各地的新闻网点、提供更加全面的报道,从长远看来,新闻机构就有可能挺过一波又一波的裁员之痛存活下来。至于那些报社,则可能慢慢淡出人们的视线,消失殆尽。



译者:hunt.lee1987 http://www.ecocn.org/bbs/viewthread.php?tid=17219&extra=page%3D1

2009年2月17日星期二

Oracle 1520错误时的对应方法

1. 查看oracle 启动时间
select version,startup_time,status from v$instance;

2. 查看当前所有大于1 的session
select count(*),program, machine,osuser from v$session group by program,machine,osuser having count(*) >1

2009年2月15日星期日

安装gnu cash on Mac OSX (mac intel)

First , we will encounter with gettext not found error during the configure
of the gnu cash.

Step1: configure: error: GNU gettext tools not found; required for intltool

curl -O ftp://ftp.gnu.org/gnu/gettext/gettext-0.17.tar.gz
tar xzpf gettext-0.17.tar.gz
cd gettext-0.17
./configure
sudo make
sudo make install

Step2: configure: error: Could not find the pkg-config (or pkgconfig) program.
http://pkgconfig.darwinports.com/

在安装完DarwinMacPorts 的一个 镜像 MacPorts 软件之后,

1. 执行 sudo /opt/local/bin/port -d selfupdate

2. sudo /opt/local/bin/port install pkgconfig

Apple:~ Reinhard$ sudo /opt/local/bin/port install pkgconfig
---> Fetching pkgconfig
---> Attempting to fetch pkg-config-0.23.tar.gz from http://distfiles.macports.org/pkgconfig
---> Verifying checksum(s) for pkgconfig
---> Extracting pkgconfig
---> Configuring pkgconfig
---> Building pkgconfig
---> Staging pkgconfig into destroot
---> Installing pkgconfig @0.23_1
---> Activating pkgconfig @0.23_1
---> Cleaning pkgconfig

--确认安装路径
-- 修改PATH使得 pkg-config 位于搜索路径之中
Apple:~ Reinhard$ export PATH=$PATH:/opt/local/bin
Apple:~ Reinhard$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin


[无关参考 http://www.javaeye.com/topic/101665]

3. GLIB on Mac OS X

下载地址http://www.gtk-osx.org/

GTK2.14 Framework


放弃

练口语就练口语呗——干嘛非得不要脸?

作者:李笑来

不止一次,从不止一个人那里听到这种调调了:“练口语,就得不要脸!”我想,说“练口语,就得不要脸!”的人大抵上应该是出于好意,鼓励那些害怕出错的人——但,好意不一定带来好的结果,这叫“非故意之败局”(“unintended consequences”——罗伯特•莫顿先生打造的词汇)。原本刚刚开始说外语的时候发音难以接近正常水准不是再正常不过的事儿么?也就是说,作为一个外语学习者,在相当长一段时间里肯定说的不好,这事儿根本就不丢人,不丢脸!有谁一开始就说得好呢?自己不要脸就罢了,还让别人跟着不要脸是不对的。把原本一点都不丢脸的事儿楞说成非常丢脸的事儿,然后再告诉人家不要怕丢脸,这根本就不是恰当的鼓励。一个人决定“不要脸”是他自己的事儿。自己“不要脸”,然后再劝别人也“不要脸”就很奇怪了——尤其在“不要脸”其实根本没用、甚至有害的情况下。

“不要脸”地“胡说”就可以提高、进步,这实际上是再荒谬不过的幻想,却真的流传太广,流毒太深。“不要脸”本身不会改善自己的发音、不会增加自己的词汇量、不会完善自己的语法熟练程度、不会增加自己的信息输入量;“不要脸”至多只增加了自己的垃圾输出量——不顾词汇是否用的正确、不顾语法是否错误、一味胡乱输出的同时全然忽略最重要的原则:“输出取决于输入”。学语言的最基本原则只不过一句话就可以概括:“积累正确使用量”。由于没有谁可以做到从一开始就完美,于是,这个原则可以暂时退而求其次:“积累尽量正确的使用量”。所以说学语言最怕“胡说”。刚开始说不好,就尽量模仿着说,说多到一定的程度,自然可以到达“可接受”之水平——没有人,或者说,只有很少人最终可以做到完美。但是要是竟然相信只要“不要脸”就可以了,那只能增加“胡乱使用量”——极其有害。

不一定非要跟外语的母语使用者(我们所说的“老外”)谈话才能够提高口语水平的。有机会与老外谈话,当然对语言学习有一定的帮助,但局限也非常明显:不是每一个老外都对你感兴趣的话题感兴趣的,也不是每个老外都恰好有能力了解你所了解的领域的。其实,练习口语最好的方法是最朴素的方法“朗读”。刚开始做不到很好地朗读,那就“跟读”。今天在这个所谓的“互联网”时代,网络上找得到的配有朗读音频的英文原版电子书浩瀚到看不完的地步,低年级学生看看《Harry Potter》,高年级学生读读Thomas Sowell的《Basic Economics: A Citizen's Guide to the Economy》,水平再高点的人可以研读一下Jacques Barzun的《From Dawn to Decadence: 500 Years of Western Cultural Life 1500 to the Present》……选择无穷多,基本上我们作为普通个体能够遇到的、愿意跟我们面对面交流的老外,其水平与这些作者来比,绝大多数情况下根本就是喜马拉雅山下的小沙粒而已。

人不能不要脸,练口语这事儿也没必要不要脸——因为说的不好本身根本就不丢脸。我觉得倒是应该劝诫大家改掉一个自己身上的真正的恶习——“嘲弄他人”。在学习上嘲弄他人尤其没道理[1] 。很多人之所以“害怕丢脸”是因为他自己有嘲弄他人的习惯。一般来说,一个人嘲弄他人往往是因为自己强于他人所以才觉得“有资本”去嘲弄;但在外语学习这件事儿上,人们非常诡异地在自己并不怎样高明的情况下乐衷于嘲弄他人——真是应了那句话“越差越牛逼”。我自己的英语发音不是很悦耳(尽管一直在改善,我总觉得我的改善速度比我身边所有的人都慢),即便我可以说的相当流利,但我从来没有心理压力。究其原因,只不过是因为我不是喜欢嘲弄他人的人,一我觉得那不对(因为谁都需要很长时间才能学好、做好),二我觉得那不厚道(谁没有出错的时候?谁没有做不好的时候?);相反,我觉得鼓励他人才是美德,所以,当有人在嘲弄我的时候,我从来都不觉得那是我的错,是他们的错,是他们心智不成熟,是他们不知所以然,我为什么要为他们的错感到羞愧?

Footnotes:

1. 有些时候,有些人的想法实在是太滑稽,太荒谬,即便是在这种情况下,我们也可以做到“嘲弄那个滑稽荒谬的想法”,而不是嘲弄那个人。当然,真的有极少数的人实在太可恨,另当别论。

如何使用日文键盘

许多人的计算机上有日文键盘,但是多出来的KEY在日文输入下怎么使用呢?

http://www.sharp.co.jp/support/mebius/utility/keyboard.htm

设置 Mac 电脑与 Windows 用户共享文件

您可以设置您的 Mac 与 Windows 电脑用户共享文件。
要允许 Windows 用户连接到您的电脑,您必须打开“Windows 共享”。当您打开“Windows 共享”时,Mac OS X 使用 Samba 服务器软件来提供 SMB/CIFS 文件服务。

对于使用 Mac OS X 10.5 Leopard 的用户:
您需要将您的电脑的网络地址、用户帐户的用户名和密码提供给 Windows 用户。
打开“系统参数设置”,点按“文件共享”。
点按“选项...”选择“使用 SMB 来共享文件和文件夹”,确认打开文件共享。
选择将共享文件的用户帐户的名称。输入该用户的密码。
在“共享文件夹”中添加你希望共享的文件夹,并在“用户”中选择共享文件的用户帐户适合的权限。
在文件服务状态下面查找电脑的网络地址。将这个地址提供给 Windows 用户。
您可以将电脑上任一帐户的用户名和密码提供给要访问您的电脑的用户。为了保证电脑的安全,您可能需要在“帐户”预置中为 Windows 用户创建一个特殊的帐户。建议在建立一个新帐户并将这个帐户的密码告诉对方,这样可以避免告诉对方自己所使用的帐户的密码。

对于使用 Mac OS X 10.4 Tiger 的用户:

您同样需要将您的电脑的网络地址、用户帐户的用户名和密码提供给 Windows 用户。

打开“系统预置”,点按“共享”,然后点按“服务”(如有必要)。
在列表中选择“Windows 共享”,然后点按“启动”。
点按“帐户”,然后选择将共享文件的用户帐户的名称。输入该用户的密码。
在服务列表下面查找电脑的网络地址。将这个地址提供给 Windows 用户。
您可以将电脑上任一帐户的用户名和密码提供给要访问您的电脑的用户。为了保证电脑的安全,您可能需要在“帐户”预置中为 Windows 用户创建一个特殊的帐户。

因为 Windows 用户帐户的密码是不安全地存储的,请在不使用它时关闭帐户。在关闭“Windows 共享”之前,请关闭所有启用的帐户。否则,密码仍然会被不安全地存储起来。

如果您想使用在安装 Mac OS X Panther 前就已存在的用户帐户,您可能需要使用“帐户”预置重置该帐户的密码。

寻求种族繁衍与永生之路——揭秘地球赛昂

by 路边一狼@飞翔科幻论坛

一、13部族均起源于赛昂


数万年前,地球上的人类制造了首批赛昂,他们作为人类的工具被广泛应用于劳动和战争,生物技术、脑科学、电子信息技术的迅速发展,使人类以自身基因为模板,经过强化改造,制造出高智商的人形赛昂。
人类为了控制赛昂,严格控制复活机,封锁复活技术,对违反规定的赛昂处死并不准复活;在赛昂的基因上做了手脚,封锁了他们的生育功能;并宣传一神教,自封为神,从思想上控制赛昂。
人形赛昂在数万年中,生产了很多种型号,其中,最成功的模板有13个批次,他们被大批量复制和广泛应用,这就是13部族的祖先。
但是,人形赛昂的基因与人类差别很小,甚至比人类更健康、更聪明,他们同样有七情六欲、爱恨情仇,被欺压、受奴役,使他们仇视人类,而不准复活的惩罚使他们敢怒不敢言,他们渴望象人类一样能够生儿育女,他们憎恨复活带来的被奴役的痛苦记忆,但又不得不依赖复活机。

二、赛昂获得生育能力进化成新人类



懒惰的人类越来越脱离劳动、游手好闲,也越来越依赖赛昂,他们逐渐充斥了所有的岗位,甚至重要岗位,但是,赛昂的制造技术、复活技术部门仍严格禁止赛昂进入。一个赛昂美女勾引了掌握赛昂基因技术的科学家,并假称想为他生个孩子,使他道出了赛昂不能生育的真正原因和恢复生育功能的办法。这种技术在赛昂中迅速传播开来并开花结果。由于基因与人类极相近,生育出来的赛昂进化得越来越象人类,逐渐失去硅通道和赛昂特征,人类无法控制甚至无法分辨他们。

三、人类镇压引发13部族起义



出于恐惧并希望控制赛昂,人类大肆捕杀赛昂后代,这引发了赛昂起义,赛昂占领了一些城市,并驱赶人类、毁坏复活机,战火越燃越烈,最后在一万年前爆发了核战,地球被毁灭,人类被消灭,幸存下来的赛昂也所剩无几。
13部族的祖先被迫流浪星际,经辗转流离到达科波,由于早已失去赛昂的硅通道、复活机,12部落的后代认为自己就是人类,他们以自身为图腾建立了多神教。

四、寻求自由和永生,第13部族返回地球



第13部族是最后一批模板制造出来的赛昂,他们仍然保留着很多赛昂的特征,因此,被自认为是人类的12部族歧视、欺压和奴役。他们仍秘密保留着从人类那里俘获的少量复活机,少数重要人物死后仍通过复活机复活。3600年前,复活机彻底毁坏,第13部族为摆脱奴役,寻找永生之路,返回地球。
在地球上,第13部族迅速繁衍开来,并找到了人类故意留在近地轨道上的复活船和复活技术资料,但是他们没有想到,人类为报复赛昂的背叛,在复活软件里种下了基因程序木马:每复活过若干代,复活的赛昂就会爆发叛乱并毁灭他们的主人。

五、第13部族制造赛昂,新的循环开始



同样的原因,使第13部族制造新赛昂,并利用人类留下的复活技术复活死去的新赛昂,他们封锁了赛昂的生育功能,严格控制复活机和复活技术,使他们臣服于己。但是,人类覆灭的悲剧再次重演,2000年前,新赛昂反叛,他们摧毁了地球。残存的第13部族大部逃向宇宙深处;少部分逃向科波,新赛昂跟到了科波,发现大批“敌人”,向他们实施核打击,科波被毁,残存的12部族人类逃到卡布里卡等十二殖民地。
新地球赛昂从13部族那里俘获了部分复活机,但是,由于复活技术过于复杂,他们因没有设计资料始终没有真正掌握,也没有获得生育能力,他们就是后来的赛昂1号、4号和5号,并潜伏在卡布里卡附近星域观察人类。

六、卡布里卡赛昂反叛绝非偶然



40年前,卡布里卡人类造出了自己的赛昂,并建立了赛昂军队,科学家秘密制造了2号、3号、6号、8号赛昂,新地球赛昂们以复活、自由和权力为诱惑,策反了2、3、6、8号赛昂,并通过他们更改了赛昂军队的设置,使赛昂反叛,从此以后,人类与赛昂之间战争不断。由于新赛昂继承了第13部族的科技,而12部族的科技资料和人才毁于2000年前的战火,赛昂科技远远高于人类。
为了获得复活技术和生育技术,赛昂不断渗入人类,但均一无所获,因为人类早已失去这些技术,只有找到第13部族才能成功,而第13部族始终神龙见首不见尾。
时间越来越紧迫,现有的复活设备不久将停止工作,为了生存,必须找到第13部族,于是,赛昂对人类实施核打击,迫使残存的人类逃向地球,以引出第13部族。
事实上,第13部族始终关注着人类和赛昂,他们留下了终极5人,并复活了星芭。
早在2000年前,艾伦就因为生性淫荡、交游广泛而隐约获知地球人类留下的复活机木马设计计划的零星考古资料,但因无法证实,而未受重视。

七、第13部族在观察人类能否终止毁灭的循环


第13部族害怕卷入毁灭的循环,在观察人类能否终止这个循环,进而决定是否接纳并救赎人类。

2009年2月11日星期三

C语言可变长参数处理小结

提问:封装一个可变长参数函数func, 将函数的的可变长参数传递给另外一个可变长参数函数(例如printf)
回答:
(1) 例如在printf 这样的可变长参数函数外再次封装, 并无简单的方法可以直接传递可变长参数。
假设封装函数形式为 func(char* fmt, ...) // fmt只是一个例子,c语言要求可变长参数函数至少有一个固定参数。
则func的变长参数序列可以使用va_start取出 一个va_list 型的参数列,
需要将 传递给 printf的可变参数输出到一个buffer中,然后直接printf(buf)

范例程序如下

#include
#include
void myprint(const char *fmt,...)
{
va_list vs;
char buf[256];

va_start(vs,fmt);
vsprintf(buf,fmt,vs);
printf(buf);
va_end(vs);
}

(2)违反规定的使用其他能够接受 va_list 作为参数的函数来替代 printf
当然这个已经不是我们所想做的了。

2009年2月9日星期一

olivetti valentine typewriter

大家都在为了分辨哪些是仿品哪些是原品而吵闹, 发现即使是西班牙产的原品也有好几种

键盘序列1: 日本市场 咚花堂版本
http://retro-life.com/?pid=9612620
显著特点: 有 日本市场特有的 ¥记号(数字3上),同时法郎符号在最右下角, BackSpace键是的标记是 》



键盘序列2 日本市场 一般序列版本
特点: 有 日本市场特有的 ¥记号(数字3上)法郎位于数字5,最右下角为 /和? 键,BackSpace键是的标记是 《
来源:http://9plus-shop.jp/SHOP/typ0001.html




键盘序列3: 非日本市场向,原始版本 西班牙产
特点:没有日本市场特有日元符号 ¥, 数字3上是#,BackSpace键是的标记是 《
来源:http://www.rakuten.co.jp/twinland/301056/1811715/1838910/#1432331

mysql 相关

1. mysql数据库的迁移
方法1 : 导入导出
导出整个数据库:mysqldump -u -p <密码> > f:\数据库文件名称.dmp
-----<>表示是要输入的内容
导入整个数据库:
mysql -u root -p
>use 数据库名称
>source f:\数据库文件名称.dmp

方法2: 拷贝数据库文件的方法

对myisam 引擎的表可以使用直接拷贝 data目录下的文件的方式,
对于innodb类型的表则只能使用导出数据库的方法

2. 1130错误: root用户未授权从非localhost登录
ERROR 1130: Host 192.168.88.160 is not allowed to connect to this MySQL server

方法1 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”

mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%’ where user =’root’;
mysql>flush privileges;
mysql>select ‘host’,'user’ from user where user=’root’;

方法2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO‘myuser’@'%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO‘myuser’@'192.168.1.3′IDENTIFIED BY ‘mypassword’ WITH
GRANT OPTION;

几个需要关注的

LDAP 服务器中心控制的认证系统
https://oss.gonicus.de/labs/gosa/

LAMP 安装笔记

老生常谈,发现每次都要去GOOGLE,太烦了,还是记录下来。


[root@localhost /]# cd /home/src/
/*默认把安装包都放在/home/src/目录下*/
[root@localhost src]# tar xvzf httpd-2.2.2.tar.gz
[root@localhost src]# cd httpd-2.2.2
[root@localhost httpd-2.2.2]# ./configure --prefix=/usr/local/apache --enable-so
[root@localhost httpd-2.2.2]# make
[root@localhost httpd-2.2.2]# make install
[root@localhost /]# /usr/local/apache/bin/apachectl start
/*启动Apache*/
/*系统启动时加载apache*/
[root@localhost /]# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
[root@localhost /]# cd /etc/rc.d/rc3.d
[root@localhost rc3.d]# ln -s ../init.d/httpd S80httpd



安装MySQL
[root@localhost /]# cd /home/src/
[root@localhost src]# tar xvzf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
[root@localhost src]# cd mysql-standard-5.0.27-linux-i686-glibc23
[root@localhost mysql-standard-5.0.27-linux-i686-glibc23]# groupadd mysql
[root@localhost mysql-standard-5.0.27-linux-i686-glibc23]# useradd -g mysql mysql
[root@localhost mysql-standard-5.0.27-linux-i686-glibc23]# more INSTALL-BINARY
/*认真的阅读一下这个文档,就会发现MySQL很容易安装*/
[root@localhost src]#mv mysql-standard-5.0.27-linux-i686-glibc23 /usr/local/mysql
[root@localhost src]# cd /usr/local/mysql/
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
/*启动MySQL*/
[root@localhost mysql]# ./bin/mysqladmin -u root password ‘password’
[root@localhost mysql]# ./bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 80 to server version: 5.0.27-standard-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# vi /etc/init.d/mysql
修改如下定义使其内容为:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[root@localhost mysql]# chkconfig --level 345 mysql on
[root@localhost mysql]# service mysql restart
Shutting down MySQL. [ 确定 ]
Starting MySQL [ 确定 ]
[root@localhost mysql]#
到这里MySQL就装好了。


安装Php
[root@localhost /]# cd home/src/php-5.2.0
[root@localhost php-5.2.0]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
[root@localhost php-5.2.0]# make
[root@localhost php-5.2.0]# make install
[root@localhost php-5.2.0]# cp php.ini-dist /usr/local/php/lib/php.ini
编辑Apache配置文件
即/usr/local/apache/conf/httpd.conf,并添加以下一行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
并在 DirectoryIndex 一行加上 index.php
/*添加php5模块*/
LoadModule php5_module modules/libphp5.so
保存并退出
测试
建立test.php文件放在apache目录下的htdocs下,内容如下:
phpinfo();
?>
通过浏览器查看http://localhost/test.php


安装phpMyAdmin(可选)
用FTP工具上传phpMyAdmin-2.7.0-pl2到/home/src
[root@localhost src]# mv phpMyAdmin-2.7.0-pl2 /usr/local/apache/htdocs/phpmyadmin
[root@localhost src]# cd /usr/local/apache/htdocs/phpmyadmin
[root@localhost phpmyadmin]# vi config.default.php
$cfg['Servers'][$i]['auth_type'] = 'config'; 将config 改为 http
/*通过浏览器查看http://localhost/ phpmyadmin就可以管理你的MySQL数据库了*/

2009年2月6日星期五

Berkeley DB: C 语言访问从0开始 中文版 Chap1-4

Environment 环境


本手册致力于提供对Berkeley DB函数库的一个介绍。实际上,它描述了如何创建一个非常简单的单线程的应用程序。而且不经意的是,本手册忽略了许多创建简单应用程序所不需要知道重要的DB的数据库引擎的特性。有一个特性是如此重要不可忽视,需要在此进行概要性的介绍: 环境.

虽然环境对于字节锱铢计较的嵌入式环境下的应用程序来说使用可能性极低,但是对于许多其他的应用程序来说并不在乎这么一点小事。环境从本质上来说,是一个或者多个数据库的封装。
打开一个环境之后,你将可以在那个环境之中打开数据库,数据库将因此相对于环境所配置的HOME目录来进行创建和定位。

环境提供了许多单独的数据库服务器所不能提供的特性:

* 多数据库文件

DB可以在磁盘上的一个物理文件中创建多个数据库。这种设计是为了能够使得应用程序能够打开少量的数据库。然而,为了能够使用该特性,你的应用程序必须使用环境文件。

* 多线程和多进程支持
在使用环境文件的时候, DB设置在内存中的缓冲和锁能够被所有在该环境文件中打开的数据库所共享。环境文件使你能够使用DB提供给多线程/进程访问DB数据库的子系统。例如,你可以使用一个环境文件来 使用 CDS (并发数据存储) , 锁子系统, 或者 共享内存缓冲池。

* 事务处理
DB 提供了事务子系统,为数据库写入提供了完整的ACID保护。(what is ACID-protection??) 在环境文件中设置使用事务子系统, 然后序列性的获取事务ID.

* 高可用性(复用)支持

DB 提供了一个复用子系统,使得单个的MASTER数据库能够复用多个只读的复用数据的拷贝。环境文件用于配置和管理这个子系统。

* 日志子系统

DB 为应用程序提供了预写式日志作为高度的灾难恢复对策。一旦激活了该功能,日志子系统允许应用程序通过日志文件中所包含的信息进行两种恢复(普通和catastrophic)

以上所有主题,都在 Berkeley DB Programmer's Reference Guide 中有描述。

2009年2月5日星期四

Berkeley DB: C 语言访问从0开始 中文版 Chap1-3

Database Limits and Portability 数据库限制和可移植性

Berkeley DB提供了对所有数据管理的支持,包括位于内存中的非常小的数据库到巨大的拥有百万级记录和TB级数据的数据库。 DB的数据库能够保存最多256TB的数据。 单独一条记录的KEY或者DATA能偶保存最多4GB 数据。

DB的数据库将数据以二进制形式保存,可以跨平台使用,甚至无需考虑平台的处理器的字节序问题。有一点需要注意的是,在数据可移植性之外,在小端字节序的架构上,会遇到一些性能上的问题。 详细请参见 设置比较函数 以获得进一步的参考。

DB的数据库和数据能够支持并发访问 - 他们是线程安全的,并且他们在多进程的时候也能和平共处。
请注意, 为了能够使多线程可以共享数据库和缓冲,DB所采用的方法使得DB 不能够在 网络共享存储设备上(例如 NFS或者WINDOWS 网络共享)很好的使用。 因此,你不应将DB的数据库和环境放在通过网络共享方式挂接的驱动器上。

Berkeley DB: C 语言访问从0开始中文版 Chap1-1

Chap1-1 Berkeley DB Concepts 概念

在进一步深入之前,将向你描述一些你创建基于DB的应用程序的时候所会遇到的宏观性的概念。

抽象的说,DB数据库中包含着 记录 。 逻辑上,每一条记录标示一个数据库中的独立条目。每一个这样的记录包含两个部分的信息:键 和 数据. 本手册将偶尔使用 一条记录的键 或者 一条记录的数据,这样的名词在 处理一个或者多个数据库记录的语境中。

因为 DB数据库中使用了 key /Data 这样的对子,它们有时被认为是一个有两个子段的关系型数据库表。然而,data (有时是key, 依赖于DB所定义的存取方式) 能够保有非常复杂的数据。常见的伎俩是C语言的结构和其他的构造被存入记录中。这样有效的把一个 只有两个字段的表变为了一个n字段的表,其中n-1个字段是对应着数据结构的成员。

注意,DB数据库非常象一个关系型数据库中的一个表。许多DB应用程序因此需要使用多个DB数据库(就象关系型数据库里面有许多表一样)。

和关系型数据库系统不同的是,一个DB数据库仅仅包含有一个根据给定的存取方式(BTree, Queue, Hash )组织起来的记录集合。在关系型数据库系统中, 底层的存取方式往往被隐藏起来。

一般咸认,基于DB的应用程序应设计为,一个数据库存储一种特定类型的数据(就象在一个关系型数据库中, 一个单独的数据表保存了某种特定方面的数据)因为许多应用程序需要管理许多种数据,故而基于DB的应用程序经常使用到了多个DB数据库。

例如,一个会计应用程序。这种应用程序的数据管理涉及银行账户,记账账户,股票,借贷等等,同时还有客户,银行机构,客户账户等等。在传统的关系型数据库总,所有这些不同种类的信息将被用一系列复杂的数据表进行存储和管理。在基于DB的应用程序中,所有这些信息将被分割并用多个数据库进行存储和管理。

基于DB的应用程序能够通过一个可选的方法,数据库应用环境来更方便的使用多个数据库。更多信息请参考本手册的附录部分的 [[数据库应用环境]]。

利用大部分的DB的API时候,需要使用包含函数指针的特殊结构。这些回调函数称之为方法,因为它们看上去就想一个C++类中的方法,用于访问这些方法的变量,被称为句柄。就象使用一个数据库之前,需要先获得这个数据库的句柄。


从数据库获取数据有时被称为获取记录, 因为用于获取记录的方法叫做 get(). 同样,存入数据库记录被称为写入记录,因为你要调用put().

在使用数据库句柄向DB数据库存入记录的时候,记录将根据该DB数据库定义的排序方式存入。排序大部分都是根据key来进行的, 但是有时也考虑data . 如果存入一条记录,而该记录的key相同的记录已经存在于数据库中, 则新记录将替换老记录。然而,如果该数据库支持重复记录(具有相同的key 但是不同的数据),则新的记录将作为新记录作为重复记录登入数据库,且既存记录不会被覆盖。

如果一个DB数据库支持重复记录,那么你可以通过数据库句柄来仅仅获取重复记录集合中的第一条记录。

在使用数据库句柄时,可以通过一个特殊机制:游标来读写数据。游标是铁杆的迭代器,可以用来遍历数据库中的记录。翻来覆去,前前后后。也可以用游标来定位一条记录。在数据库支持重复记录的时候,游标是唯一的能够存取重复记录集合的方法。

最后,DB提供了一种特殊的数据库,称为第2梯队。
第2梯队为通常的数据库(称为第1梯队以区别于第2梯队)提供索引。第2梯队的数据库非常有趣,因为它们能够保存复杂的数据类型,但是查询到指定记录的话,仅仅需要该记录的key. 如果你希望能够通过某些惨不忍睹的零碎信息查询到一个记录,而且还不是key的话,你就需要用到第2梯队的数据库。

-----

专有名词翻译
secondary database 第2梯队
key 键盘

Berkeley DB: C getting started 从0 开始 Chap1-0

Getting Started with Berkeley DB 中文版

翻译 suning
工程开始日期 2009-02-04


原始版权声明
This documentation is distributed under the terms of the Sleepycat public license. You may review the terms of this license at: http://www.sleepycat.com/download/oslicense.html

Sleepycat Software, Berkeley DB, Berkeley DB XML and the Sleepycat logo are trademarks or service marks of Sleepycat Software, Inc. All rights to these marks are reserved. No third-party use is permitted without the express prior written consent of Sleepycat Software, Inc.

To obtain a copy of this document's original source code, please write to .

11/9/2005

本翻译文稿声明

遵从创作共享协议。

目录
Chapter 1. Introduction to Berkeley DB 介绍


DB 是一个嵌入式的数据库引擎,所以她极端之迅速。你可以将她象其他的程序库一样编译并链接
进入你的程序。这就意味着DB运行在你的应用程序的进程空间中,可以避免访问单独的数据库服
务器时所发生的大量进程间通讯的成本。

作为一个进阶的性能提升手段,DB提供了一个内存中的缓冲来提高你经常使用的数据的访问速度。
一旦配置之后,这个缓冲的使用将对应用程序来说是透明的。她几乎不需要应用程序开发者来关
注她。

在其赤裸裸的高速度之外, DB的可配置性也有两把刷子。她提供了多种组织数据库中数据的方法。
被称为 存取方法,每一个这样的数据组织机制提供了非常不同的特性,以适应于不同的数据管理场
景。(注意,本手册将几乎完全着眼于 BTree 这种存取方式,因为这种方式为大量的数据库应用
程序所采用)

在此配置之上,DB提供了许多子系统,用于提高DB的兼容性。例如,许多应用程序要求写入保护,
用于提供数据的完整性保护,为此,DB能够启动一个事务子系统来对数据库写入提供事务性的访问。

如果要列出在哪些操作系统上可以使用DB, 实在是罄竹难书。笼统的说,它可以运行于所有主流
商业操作系统,包括许多嵌入式平台。

最后,DB还提供了丰富的应用程序接口。Sleepycat官方支持通过C,C++和JAVA的访问,但是还
有许多其他语言的访问DB的应用程序接口,例如脚本语言Perl和Python.

注意:

在你将要使用DB进行一些搞七捻三的活动之前,我要非常郑重的提示未成年人们:
DB不是一个关系型数据库(虽然你可以用她来创建一个关系型数据库)。我忠诚的
坦白,DB没有提供许多高级特性比如触发器, 也没有支持SQL。

DB仅仅使用有限的API集合即可有效的进行数据的存取活动。


关于这个手册

这个地方由于翻译者太懒,认为可以跳过,因此暂不翻译。


---------
专有名词
access method 存取方式

FWD:TCP/IP Socket编程的几点肮脏的问题

1.有客户端开多线程对服务器进行连接断开压力测试,在连接接近4000次时,再也连接不上服务器,过了段时间后恢复正常,而后再出现,如此往复.使用 Prcess Explorer查看System Idle Process发现大量的TIME_WAIT状态下的Socket.
解析如下:
TCP TIME-WAIT 延迟断开TCP 连接时,套接字对被置于一种称为TIME-WAIT 的状态。这样,新的连接不会使用相同的协议、源 IP 地址、目标 IP 地址、源端口和目标端口,直到经过足够长的时间后,确保任何可能被错误路由或延迟的段没有被异常传送。在RFC 793 中,将这种套接字对不被其它连接重新使用的时间长度指定为 2 个MSL(最大段生存时间的 2 倍)或 4 分钟。对于Windows NT 和Windows 2000 来说,这是默认设置。然而,在此默认设置下,某些网络应用程序在很短时间内执行多个出站连接,就可能会在端口收回前用完所有的可用端口。Windows NT 和Windows 2000 提供两种方法来控制这种情况。第一种方法是使用TcpTimedWaitDelay 注册表参数,改变该数值。对于 Windows NT 和Windows 2000,其值最低可设置为30 秒,这样在大多数情况下不会出现问题。每二种方法是使用 MaxUserPorts 注册表参数,来配置用户可访问的临时端口数(用作出站连接的源端口)。默认情况下,当应用程序从系统请求任何套接字用于出站调用时,就会提供一个数值在1024 到 5000 之间的端口。MaxUserPorts 参数可用于设置管理员所允许的出站连接的最大端口值。例如,将该值设置为10,000(十进制),就会有约 9000 个用户端口可用于出站连接。关于这一概念的详细信息,请参见 RFC 793,也可参见MaxFreeTcbs 和 MaxHashTableSize 注册表参数。
注册表位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
主动断开的一方进入TIME_WAIT状态,被动断开的一方进入CLOSE_WAIT状态.不要试图使用SO_DONTLINGER设置避免TIME_WAIT状态!!!

2. If you are using I/O completion ports, note that the order of calls made to WSASend/WSARecv is also the order in which the buffers are populated. WSASend//WSARecv should not be called on the same socket simultaneously from different threads, since it can result in an unpredictable buffer order.

Socket 关闭的检测问题
3.作客户端开1024个稳定连接到服务器,然后使用Prcess Explorer强行非法关闭该客户端,1024个连接瞬间被异常断开,服务器将不能检测到所有socket的断开,如果是完成端口,即时当前打开KeepAlive,即时当前正在执行异步WSARecv, GetQueuedCompletionStatus 仍然可能无法返回正确的错误提示客户端关闭! Socket资源将残留.原来我以为仅在瞬间断电,操作系统崩溃,网线拔开这3种情况下才会发生该现象,看来进程崩溃也可以导致,只是以前的socket 数量不足以让操作系统来不及处理.

2009年2月4日星期三

Solaris 10 和 Berkeley DB

Berkeley DB 似乎作为 Sun Studio 11的一个部分提供了
SunOS 5.10 Generic_120011-14 sun4v sparc SUNW,SPARC-Enterprise-T5220 Solaris

$pkginfo |grep -y Berkeley
application SUNWbdb BerkeleyDB-Base 4.2.52 (sun-private) Solaris Sparc 32-bit and 64-bit Architecture
application SUNWbdbj BerkeleyDB-Java(sun-private) 4.2.52 Solaris Sparc 32-bit and 64-bit Architecture

它被安装在
/usr/local/BerkeleyDB.4.2

Berkeley DB Related Links

Oracle Berkeley DB Homepage
http://www.oracle.com/technology/products/berkeley-db/index.html

Berkeley DB Online Manual
http://www.berkeleydb.net/man/bdb/index.html

Berkeley DB 的wikipedia 项目中提到了一本书
APress -The Berkeley DB book
该书有PDF版本,可以从如下链接访问

http://www.ebookee.com.cn/The-Berkeley-DB-Book_152798.html

2009年2月2日星期一

被隐藏的时光

有人说, 男人的26岁-29岁是一段被隐藏的时光。
我第一次为这种全称命题而共鸣。

原文LOME http://lome.blogcn.com/diary,21278466.shtml

我实在是太好奇了。可是他们都不肯告诉我,那个时候他们都在干什么。其中一个男人将手指放在嘴唇中间做收声状,诡秘的笑着说:“那是个秘密。”

这是一次朋友聚会上发生的小片段。当时的我,正在被一段感情所折磨,恨不得写一本有关男人成长史的言情小说来明志。我以为我已经挺了解那个男人了,结果还没动笔,就在心里打打提纲就觉得好像有一块时光被隐藏起来了,那段人生经历在我的脑海里仿佛是空白的一样,我确信他从来没有与我讲过那段时光的故事。所以,看着酒桌上一堆意气风发的中年男人们正在高谈阔论,我喝了杯酒,就突然心里一动,问道:你们26岁到29岁那段日子里都在干嘛?

然后他们都楞了一下,有个男人笑着说,不告诉你。另外一个人就是前面竖起手指的那个,还有一个人貌似正常的说,那时候啊,就上班呗,然后结婚了,过日子,还没离开原来的单位。等等等等。……最后大家说了不少,但我还是不知道,那段日子里都发生了什么,一个意气风发的男青年,就这样朝深沉稳妥的中年男人走过去了。当然,我的小说看来是写不出了。因为我后来有意识的问过很多中年男人,得到的,始终是一个语焉不详的含糊的答案。

我觉得我爱的那个男人跟我隐藏了他人生最关键的时光。当然,他肯定不是故意的,我当时也没想起来问。男人们在恋爱的时候总是喜欢回忆过去。是的可那是好遥远的过去:他会讲他小时候家人的关系,小学时分食一块糖的童年伙伴,中学时的死党和变态的老师……最多提提大学同寝室的兄弟,毕业之后的那段人生就开始模糊,已经身居高位的男人自然可以轻描淡写的说一句“我刚毕业的第一份工作是收泥沙船的过路费”,但是再往后的狗血残酷岁月,他绝对会轻描淡写带过。不知道他们是不是只有在女人面前才会无意识的隐瞒这段岁月,而女人们想起她们的爱人,心目中总是浮现出那个安静乖巧的孩子、倔强叛逆的少年、意气风发的才子……那是男人们在回忆过去的时候在女人们心里树立的形象,女人会因此而爱上他,说起来为事业打拼是件事后回想起来还满酷的事情,可是当时呢,做一个卑微的推销员所遭遇过的内外交织的创伤,绝不会是回忆录上的笑话那么简单。

就好像女人也总喜欢怀念自己的“被追求史”,却很不愿意回想被男人拒绝的状态一样,那些被隐藏的时光,后来和男性朋友聊到多了,其中一名隐晦的透露了一些关节所在:假如没有什么意外,大部分男人的26-29岁之间是个很微妙的年纪。那时候他们已经工作了几年,不像当年才毕业那么意气风发和没头脑,反而因为知道得越多而开始越谦卑;那时候的他们在事业上还很迷茫,从被人使唤的年轻人到了一个面临打开局面进入上升通道的野心家。有的人因此成功了,但是付出了常人不能的血泪汗水,有的人还是很平庸,但是让他在那个年纪就甘愿承认这一点是非常痛苦的事情。此外,他们大多数在这个年纪结了婚——无论他是否真的懂得了感情。这样的日子在日后回想起来有感动也有叹息,更多的是对当年自己的一副傻样更不忍回首。所以,这是个尴尬的年纪。男人们面临着内心的转折,也面临着人生道路的选择,这一切并不像小说中描写得那么传奇和奋斗,而是一个男人隐忍着不断磨砺自己的过程——来之不易或失去太多都容易让幸福和成就感打了折扣,所以,这难道是他们内心回避这段时光的最真实的潜意识?

所以,男人们其实有种纯真的情怀:他总是想让你认识到他是聪明的、纯真的、好玩的、善良的,所以他们愿意给女人们讲述少年故事,和自己现在的故事(这个时候他们的人生观世界观已经足够丰满成熟了),而中间那段被隐藏的时光,是他们曾经的伪装、矫饰、为了达到目的不惜代价的努力、与现实无奈的妥协、某段深刻的感情……若细细回想,也许一切都有点带着被伤害的影子。

所以,在那段被隐藏的时光之外,你只看见了一个中年男人现在的优秀杰出,和他年少时候的纯真情怀。仿佛,他一夜之间就长大了。