9.12.10

上海滩

from: http://hongzhublog.blog.163.com/blog/static/1272293032010118000419/?blog

【当代中国人喜用“时尚”一词,其实“时尚”的先驱是“时髦”, “时髦”的发源地在上海。“时髦”一词是晚清时在上海叫响的,直到二十世纪八十年代还在全国通用,因为改革开放在服饰等领域带来又一轮创新之风。从上世纪末开始,国人才改口常用“时尚”一词,可能觉得更高雅一些吧?“时髦”一词作为“上海制造”,据乐正先生讲解,最初是上海人对乔装打扮、穿着时新的妓女、优人的称谓。如果为上海文化寻找几个关健,“时髦”不可或缺的,它甚至可能是与上海市民生活联系最紧的一个关键词。在旧中国所有城市中,上海是最追求时髦的,本身也是最时髦的。而在时髦的上海人中,最时髦的是妓女,上海的时髦一度由妓女领导的。】

旧上海■ 洪烛

上海的前世今生全加上,在中国历史上也只是个小零头。其实际的建城史或说发家史不仅跟北京、西安、洛阳、开封等古都没法比,比美国的历史可能还要短一些。它是凭借欧风美雨而诞生的混血城市。甚至可以说,没有鸦片战争及其后签订的《南京条约》,就没有真正意义上的上海。上海为全世界所知,早期的标志是租界,那是上海中的上海。老年人总说:上海几百年前只是黄浦江口一座小渔村。由于洋枪洋炮破门而入,上海像是吃火药长大的,摇身一变登上世界舞台,成为中国仅次于北京的第二大城市。上海初创时被称作冒险家的乐园,因为各国的江洋大盗与金融寡头都想染指上海滩。打鱼晒网的村姑,就这样变成“铁蹄下的歌女”,强作笑颜。上海最早的表情很有屈辱的。举世惊叹的所谓“海上繁华梦”,撕破了外包装,不过是一段血泪史。上海用血泪洗刷着自己。看惯了上海霓虹灯下的浓妆艳抹,人们想不起她素面朝天的样子。

北京、南京等等,都适合加一个“城”字。偏偏上海习惯叫作上海滩。称之为“上海城”极其勉强与拗口。上海作为县城时原本有城墙的,可惜没法设防,挡不住炮弹,也挡不住仁丹,上海街头巷尾仿佛一夜间贴满“仁丹”之类广告。上海滩,上海滩,这个“滩”字形容得准确,舶来品登陆,冒险家抢滩,上海成了临海而立的大舞台,演的都是热闹戏,让人分不清哪是演员,哪是看客。上海滩上鱼龙混杂的外来人口,不能说每个人心里有底,至少都觉得自己有戏吧?不爱热闹、不爱凑热闹的人,哪敢来闯上海啊。在那年代,闯上海才配叫作闯世界啊。

上海的夜生活曾经领中国风气之先,按道理,南京等城市早就有局部的夜生活,比如“桨声灯影里的秦淮河”,但那毕竟只是局部,不像上海,被称作“不夜城”,灯火辉煌呈倾国倾城之势。上海的黑夜比别人的白天多,上海的黑夜比别人的白天长,上海的黑夜比别人的白天还要亮、还要灿烂,因为有通宵不眠的灯光。上海的黑夜,比别的地方的白天,玩的花样还要多,玩的劲头还要足,真是把夜晚当成另一个白天来过。上海的黑夜不黑,上海的黑夜很亮堂,上海仿佛根本就没有黑夜,没有过黑夜,永远一副容光焕发的模样。上海是醒着做梦的。上海,在梦里醒着。

我记得有两部描写上海的长篇小说,一部是茅盾的《子夜》,一部是周而复的《上海的早晨》。好像是分别讲述上海的梦与醒。上海的梦与醒分不清楚的,她的梦就是她的醒,她的醒又陷入了新的梦,好像在梦着其实是醒着,好像在醒着其实是梦着,永远在半梦半醒之间跳着摇摆舞。与其说上海从来不曾醒过,莫知说她根本没有梦,上海那著名的夜色,好像浪漫得不能再浪漫,其实现实得不能再现实。上海是全中国第一座现实主义或者说实用主义的城市,西化的城市。伴随次第燃亮的霓虹灯一起闪烁的,是各种商品的广告,是递升的数字,是操纵着大盘的“一只看不见的手”。上海,最先把金钱当作上帝,当作夜间的太阳。以此照明,上海才成为旧中国的“不夜城”,沉浸于通宵达旦的狂欢。

电的发明,使上海在中国所有城市中最早受益。这是最重要的舶来品,构成上海的灵魂。我猜测上海在旧中国是最先全城通电的。让人想起美国诗人惠特曼的一首诗:“我歌唱带电的肉体……”上海正是在歌唱中越来越亮的。有了电,夜上海才越发有了精神,并且以“不夜城”为骄傲。先是有了电灯,招来飞蛾扑火般的逍遥客,接着有了播放舞曲的留声机,有了电话、电报,有了黑白电影,有了有轨或无轨的电车,有了被霓虹灯放大了的商业广告……电所代表的西洋文明,给上海注入了兴奋剂,使她狂歌劲舞,彻夜难眠。秦准河的桨声灯影,面对上海滩的霓虹与汽笛,顿时显得小巫见大巫。

当大多数中国人尚在皮影戏中怀旧时,上海人开始看电影。当晋商、徽商坐守钱柜生怕肥水外流,上海人开始炒股票。当丹士林布旗袍尚在一统巾帼江山,上海有了不逊色于巴黎的时装表演。小小的上海屋檐下,有着大千世界的缩影。旧中国最先是通过上海与世界接轨的。

海子诗句“面朝大海,春暖花开”,用来形容上海也很合拍,这座中国最大的滨海城市,不仅面朝大海,而且背靠长江。作为中华文明两大母亲河之一长江的入海口,上海目送着它消失在浩瀚的太平洋里。上海,长江最后告别的一座城市。又是《南京条约》中开放通商的五口之一,最先被西洋的坚船利炮撞开,不得不敞开怀抱,迎接席卷面来的海风海浪。西风东渐,不知是否使上海春暖花开?至少,它变得越来越洋气了。从四面八方抢滩而来的冒险家,豪赌成功,纷纷成了暴发户,而又一掷千金,弹冠相庆,使上海滩不仅潮涨潮落,而且流金泻玉。有洋泾竹枝词感叹:“香车宝马日纷纷,如此繁华古未闻。一入夷场官不禁,楼头有女尽如云。”还有人震惊于上海巨变:“孤冢荒郊,尽变繁华之地,层楼高阁,大开歌舞之场。”“华屋连苑,高厦入云,灯火辉煌,城开不夜……”

上海有一家老电影叫大光明。上海从晚清国破之时,开始大放光明。这真是怪事:国家不幸商家幸。1890年12月1日《申报》记载:“古称西湖为销金锅,以我观之,沪上一隅其销金不较西湖而十百倍哉?……今之人囊满而来,裘敝而去,久居沪上必致狼狈不堪。”在上海异彩纷呈之前,中国的温柔富贵乡非苏杭莫属,可风水轮流转,上海滩一夜之间抢了西湖的风头,成为新一代的人间天堂。这座新天堂彻底是用钱堆起来的,它所谓的大光明也都是用钱烧起来的。上海火了,它的不夜天照亮了更多人的淘金梦,使他们慕名而来,因为在当时传说中,上海是一个“积锱铢之金而泥沙用之”的地方,说白了就是挥金如土。

同治、光绪年间,上海最火的六大中餐馆是“新新”、“同新”、“复新”、“泰和”“哺五房”、“庄新”,排满富豪名宦的流水席,以至民间吟唱起这样的竹枝词:“万钱不惜宴嘉宾,朝上同新暮复新。”夸富争奇者大有皇帝轮流做,今天到我家之傲气。《申报》形容这六家菜馆长年“朝朝裙履,夜夜笙歌,红酒绿灯,金迷纸醉,逞豪华者即令日食万钱犹嫌无下箸处”。山珍海味,玉盘珍馐,只当逢场作戏的调剂。当时人皆称铺张浪费的奢侈之风是从上海滩刮起来的:“人们追求体面消费的风范,只要稍有可能,便总爱把自己打扮成具有高贵的上流社会气派,并且相互间不断攀比竞赛,一般平民身居其地,虽欲不奢侈也势所不能。”(引自乐正《上海人的社交实质和消费性格》)

由此可见,上海是旧中国最虚荣的一座城市,甚至以虚荣为荣,那时的上海人正是凭着这种虚荣心混世界的,畸形的价值观居然产生了不可思议的动力。给外界的印象,上海人不仅会赚钱,而且会花钱,懂得享受物质的快感。凡事讲排场,更多的是出于爱面子,上海人从那时起就比别的地方的人更爱面子,更乐于赢得别人羡慕。这种遗传基因估计至今尚未灭绝。

当代中国人喜用“时尚”一词,其实“时尚”的先驱是“时髦”, “时髦”的发源地在上海。“时髦”一词是晚清时在上海叫响的,直到二十世纪八十年代还在全国通用,因为改革开放在服饰等领域带来又一轮创新之风。从上世纪末开始,国人才改口常用“时尚”一词,可能觉得更高雅一些吧?“时髦”一词作为“上海制造”,据乐正先生讲解,最初是上海人对乔装打扮、穿着时新的妓女、优人的称谓:“后来喜看时新衣装的人越来越多,时髦两字就不再为妓优所专有了,时髦的词意内涵也丰富起来,在晚清时期,用时髦两字来形容上海人的消费性格是极为恰当的。因为上海人在消费方面不仅追求华贵,而且更看重款式的时效,他们天生喜欢标新立异,变幻花样,华贵能引起社会的敬重,时髦也能招徕人们的艳羡。”

瞧,那时候上海人就懂得“吸引眼球”的方法及其重要性了。

早在1877年,《申报》发表《释时》一文,剖析上海人的时髦是一种喜新厌旧心理,“此邦之人狃于时尚,惟时之从,一若非时不可以为人,非极时不足以胜人,于是妓女则曰时髦,梨园竟尚时调,闺阁均效时装,甚至握管文人亦各改头易面。口谈时务以欺世子。”上海人酷爱时尚,而且永远比别的地方快半拍,不满足于“与时俱进”,表现得更为主动,乐于提倡与引导,领风气之先,一旦赢得各地仿效,随即再创新再求变:“上海风气,时时变更,三数年间,往往有如隔代。”(吴趼人语)

1987年《申报》就注意到“沪上习俗之标新立异,更亦无常”:“以沪上求时新其风所较别处为早,其交易较别处为便 ……凡诸不同者,不待两三年也,有一岁而己变者焉,有数月而即变者焉.。”

如果为上海文化寻找几个关健,“时髦”不可或缺的,它甚至可能是与上海市民生活联系最紧的一个关键词。

在旧中国所有城市中,上海是最追求时髦的,本身也是最时髦的。而在时髦的上海人中,最时髦的是妓女,上海的时髦一度由妓女领导的:“20年前,良家与妓女犹有分别,今则一衣一饰妓女任意倡率,花样翻新。良家即从而步其后尘,惟恐稍有不合,必使一肌一容尽其极妍,使见者莫辨其为良为妓而后己。”(1989年《申报》)

乐正先生讲过个小故事:“1895年间上海女装还崇尚淡素,第二年由于名妓林黛玉、林同英等人各着大红织金衣一件,于是租界中的烟花子女衣色顿为一变。是年秋季,大红大蓝,金钱织绣便成为上海女子的流行色。”研究上海早期的时尚潮流或服饰演变史,无法忽略妓女这一特殊的社会阶层。【待续】

上海的时髦一度由妓女领导的? - 洪烛 - 洪烛 《老北京人文地图》洪烛

14.11.10

Creating an animation of X-Y path plots in Abaqus/CAE

Question
I would like to create an animation of X-Y path plots in Abaqus/CAE. How can I do this?
Answer
(The following applies to Versions 6.3 and higher.)
While Abaqus/CAE does not currently have the capability to animate X-Y path plots,
freeware products exist that allow a sequence of .png files to be combined into an
animation. A script has been included with this answer to automate the creation of the
necessary .png files. Programs such as VideoMach can be used to create the animation.
Note that by listing the above shareware program, Abaqus, Inc. is in no way endorsing
the product. It is merely offered as an example of the type of image processing software
that is openly available.
For a given output database and path, the script will create an X-Y plot along the path and
print it to a file. The first and last steps to be considered for the animation must be
specified; files will be created for each frame in each step, including the bounding steps.
To create the series of .png files, complete the following steps:
1. Start Abaqus/CAE and open the output database (.odb) file of interest.
2. Select
Tools ® Path ® Create
and create the desired path.
3.
Select
File ® Run Script
and select createAni.py
4.
When prompted, enter:
The name of the output database file. It is not necessary to include the .odb
extension.
The name of the path to be used in creating the animation. Only one path
can be used per animation.
The minimum and maximum values for the Y-axis of the X-Y plots.
The first and last step numbers to be included.
5. The .png files will be created in the directory from which Abaqus/CAE was started.
Notes
1.The X-axis plot limits are set by the length of the path. The length of the path could
change over the course of the analysis, and subsequently the X-axis limits could
change through the animation.
2.Care must be taken when setting the upper and lower bounds on the Y-axis. If they
are set too high or too low an error will be issued as none of the plot will be visible
(Abaqus/Viewer does not allow the creation of an empty plot).
3.The script is currently hard coded to plot Mises stress. To plot a different variable,
lines 20-22 must be edited. Please consult:
'setPrimaryVariable,' Section 32.1.5 of the Abaqus 6.9 or 6.10 Scripting
Reference Manual

createAni.py
=========================================
from abaqus import *
from visualization import *
import os
import displayGroupOdbToolset as dgo

# implemented as a function in order to return easily after cancelling

def createPlots():

odbName = getInput('What is the name of the odb file?')

if odbName == None:
return

if odbName[-4:] != '.odb':
odbName = odbName + '.odb'

pathName = getInput('What is the name of the path to use?')

if pathName == None:
return

vp = session.viewport[session.currentViewportName]
odb = session.openOdb(odbName)

vp.setValues(displayedObject=odb)

# use the next statement to define the field value (setPrimaryVariable - 28.1.8 Scripting reference manual)
vp.odbDisplay.setPrimaryVariable(variableLabel='S',
outputPosition=INTEGRATION_POINT,
refinement=(INVARIANT,'Mises'))

# get y values from user, x values defined automatically by length of path
temp = getInput('What is the min value for the y-axis?')

if temp == None:
return
yMin = float(temp)

temp = getInput('What is the max value for the y-axis?')

if temp == None:
return

yMax = float(temp)

vp.viewportAnnotationOptions.setValues(legend=OFF,
legendBox=OFF)

session.printOptions.setValues(rendition=COLOR,
vpDecorations=OFF,
vpBackground=OFF)

steps = odb.step.keys()

plots = session.xyPlots.keys()
numplots = len(plots)
plotname = 'XYPlot-'+str(numplots + 1)

try:
xyp = session.XYPlot(name=plotname)
except:
raise ValueError,'ERROR: Creating XYPlot object'

xyp.xyPlotOptions.setValues(yAxisMinAutoCompute=OFF,
yAxisMinValue=yMin,
yAxisMaxAutoCompute=OFF,
yAxisMaxValue=yMax)

print 'The following steps exist: ',steps

stepList = getInput('Enter the first and last step numbers to include, separated by a colon')

if stepList == None:
return

stepList= string.replace(stepList, ':',",")
stepList=eval('range(-1+%s)'%stepList)

stepCount = 0
fCount = 0
for i in stepList:
key = steps[i]
frames = odb.step[key].frame
frameLen = len(frames)
for j in range(frameLen):
print i, j,
if fCount < 10:
fName = 'pic_00%s.png'%fCount
elif fCount < 100:
fName = 'pic_0%s.png'%fCount
else:
fName = 'pic_%s.png'%fCount

print fName
fCount = fCount + 1
vp.odbDisplay.setFrame(step=i,
frame=j )
pth = session.path[pathName]
xy=XYDataFromPath(name='Temp-1', path=pth, includeIntersections=FALSE,
shape=DEFORMED, labelType=TRUE_DISTANCE)
xyp.Curve('Temp-1', xy)
xyp.setValues(curvesToPlot=('Temp-1', ))
vp.setValues(displayedObject=xyp)
session.printToFile(fileName=fName,
format=PNG,
canvasObjects=(vp,))

stepCount = stepCount + 1

# Call the function

createPlots()

3.11.10

Debug ABAQUS subroutine with Visual Studio

thank Steven's great effort! It is working now to debug user subroutine inside ABAQUS:
Step0: make sure the ABAQUS and Visual studio are working properly
Step1: copy the following "abaqus_v6.env" into the working directory
-----------------------------------------------------------------------
import os

def prepDebug(var, dbgOption):
import types
varOptions = globals().get(var)
if varOptions:
# Add debug option
if type(varOptions) == types.StringType:
varOptions = varOptions.split()
varOptions.insert(6, dbgOption)
# Remove compiler performance options
if var[:5] == 'comp':
optOption = ['/O', '-O', '-xO', '-fast', '-depend', '-vpara']
for option in varOptions[:]:
for opt in optOption:
if len(option) >= len(opt) and option[:len(opt)] == opt:
varOptions.remove(option)
return varOptions

if os.name == 'nt':
compile_fortran = prepDebug('compile_fortran', '/debug')
compile_cpp = prepDebug('compile_cpp', '/Z7')
link_sl = prepDebug('link_sl', '/DEBUG')
link_exe = prepDebug('link_exe', '/DEBUG')
else:
compile_fortran = prepDebug('compile_fortran', '-g')
compile_cpp = prepDebug('compile_cpp', '-g')

del prepDebug
---------------------------------------------------------------------------------

Step2: Command line:

Abaqus –j jobname –user routinename –debug -standard

Step3: Visual Studio appears and open the code file

Step4: Set break point and debug!!!!!!

30.9.10

batch genetrating INP file from Excel, Run ABAQUS jobs with DOS bat and Extract XY data from odb using Python and ....

original product, please refer this source
from: http://yhtian.blogspot.com
author: Dr. Yinghui Tian


batching.... automatic...
Step1:
create folder/directory using DOS batch file - MDCases.bat:
---------------------------
md case33
md case34
...
-----------------------------
step2:
generating INP files from Excel using VBA by taking an input as template. the VBA code:

VBA CODE:
---------------------
Option Explicit
Private Sub generatefile()
Dim chanout As Integer, chanin As Integer
Dim i As Long, j As Long
Dim outfile As String, infile As String, txt As String

Worksheets("CalculationCases").Select
chanin = 20
' infile = "E:\ResearchJob\Anchor\YieldLoci\FlapEher\20degree\Case2.inp"
infile = "E:\JobsDoing\PlateAnchor\YieldLoci\20degree\Case2\Case2.inp"

For i = 23 To 58
' outfile = "E:\ResearchJob\Anchor\YieldLoci\FlapEher\20degree\Case" & (i - 3) & "\Case" & (i - 3) & ".inp"
outfile = "E:\JobsDoing\PlateAnchor\YieldLoci\20degree\Case" & (i - 3) & "\Case" & (i - 3) & ".inp"
chanout = i
Open outfile For Output As #chanout
Open infile For Input As #chanin
For j = 1 To 72729
Line Input #chanin, txt
Print #chanout, txt
Next j
Line Input #chanin, txt
Line Input #chanin, txt
If (Cells(i, 4) > 0.0001) Then
Print #chanout, "SetRPFlukeCenter, 1, 1," & Cells(i, 4)
End If
If (Cells(i, 5) > 0.0001) Then
Print #chanout, "SetRPFlukeCenter, 2, 2," & Cells(i, 5)
End If
If (Cells(i, 6) > 0.0001) Then
Print #chanout, "SetRPFlukeCenter, 6, 6," & Cells(i, 6)
End If
For j = 72732 To 72745
Line Input #chanin, txt
Print #chanout, txt
Next j
Close #chanout
Close #chanin
Next i
End Sub
-------------------------------------------
Step3.
Run the ABAQUS jobs using DOS batch file - AbaqusJobs.bat
--------------------------------------------------------------
(
cd case28
abaqus job=case28 interactive
cd..
cd case29
abaqus job=case29 interactive
cd..
cd case30
abaqus job=case30 interactive
cd..
)
----------------------------------------------------------------
the tricky thing is the bracket!!!!!
Step4.
Extract from odb using Python
---------------------------------------------------------------
from abaqus import *
from abaqusConstants import *
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=226.010262340307, height=61.6927062869072)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from viewerModules import *
for i in range(39):
odbfile = 'E:/YTian/SEPLA/YieldLoci/20degree/Case' + str(i+1) + '/Case' + str(i+1) +'.odb'
o2 = session.openOdb(name=odbfile)
session.viewports['Viewport: 1'].setValues(displayedObject=o2)
odb = session.odbs[odbfile]
session.xyDataListFromField(odb=odb, outputPosition=NODAL, variable=(('RF', NODAL, ((COMPONENT, 'RF1'), (COMPONENT, 'RF2'), )), ('RM3', NODAL), ('U', NODAL, ((COMPONENT, 'U1'), (COMPONENT, 'U2'), )), ('UR3', NODAL), ), nodeSets=('SETRPFLUKECENTER', ))
x0 = session.xyDataObjects['RF:RF1 PI: ASSEMBLY N: 1']
x1 = session.xyDataObjects['RF:RF2 PI: ASSEMBLY N: 1']
x2 = session.xyDataObjects['RM3 PI: ASSEMBLY N: 1']
x3 = session.xyDataObjects['U:U1 PI: ASSEMBLY N: 1']
x4 = session.xyDataObjects['U:U2 PI: ASSEMBLY N: 1']
x5 = session.xyDataObjects['UR3 PI: ASSEMBLY N: 1']
outfile='Result_Case'+str(i+1)+'.dat'
session.writeXYReport(fileName=outfile, appendMode=OFF, xyData=(x0, x1, x2, x3, x4, x5))
del session.xyDataObjects['RF:RF1 PI: ASSEMBLY N: 1']
del session.xyDataObjects['RF:RF2 PI: ASSEMBLY N: 1']
del session.xyDataObjects['RM3 PI: ASSEMBLY N: 1']
del session.xyDataObjects['U:U1 PI: ASSEMBLY N: 1']
del session.xyDataObjects['U:U2 PI: ASSEMBLY N: 1']
del session.xyDataObjects['UR3 PI: ASSEMBLY N: 1']
odb.close()
-----------------------------------------------------------------------------------------
Step5.
combine the 54 XY files:
-----------------------------------------------------------------------------------------
Ncase = 54
nln = 0
infile = range(Ncase)
eofile = range(Ncase)
path = 'E:/ResearchJob/Anchor/YieldLoci/FlapEher/20degree'
filename = path + '/ResultsCombined.dat'
outfile = open(filename, 'w')

for i in range(Ncase):
eofile[i] = 0
outfile.write(' V H M v h beta ')
filename = path + '/Result_Case' + str(i+1) + '.dat'
infile[i] = open(filename, 'r')
infile[i].readline()
infile[i].readline()
infile[i].readline()
infile[i].readline()


outfile.write('\n')
for i in range(Ncase):
outfile.write(' Case'+str(i+1)+' ')
outfile.write('\n')

while True:
# nln += 1
for i in range(Ncase):
if eofile[i] ==0:
line = infile[i].readline()
data = line.split()
if len(data) <7:
data = ['-','-','-','-','-','-','-']
eofile[i] = 1
else:
data = ['-','-','-','-','-','-','-']
outfile.write(data[1])
outfile.write(' ')
outfile.write(data[2])
outfile.write(' ')
outfile.write(data[3])
outfile.write(' ')
outfile.write(data[4])
outfile.write(' ')
outfile.write(data[5])
outfile.write(' ')
outfile.write(data[6])
outfile.write(' ')
outfile.write('\n')
if sum(eofile)==Ncase:
break

outfile.close()
for i in range(Ncase):
infile[i].close()
------------------------------------------------------------------------

19.9.10

进化的原则不是追求完美,而是讲究实效。

进化的原则不是追求完美,而是讲究实效。

12.9.10

带着儿子去漂泊

转载:http://blog.creaders.net/wdyang6/user_blog_diary.php?did=64827


一、 带着儿子去漂泊

---远方的招唤(一)

迎 春花开放得最灿烂的时候,“迎春花”义无反顾的移民加拿大了。他们家一走,他的死党“华哥”也开始蠢蠢欲动,经不住“迎春花”的一次又一次的长途电话的归 劝、引诱。第二年,还不到迎春花开放的时候,“华哥”他们家已踏上了漂泊的路程。我们是关系最好的三家,劳燕分飞,只剩下我们家在瞻前顾后、犹犹豫豫。

老 公本是有抱负之人。十五岁不到就考上了华中师范大学,十九岁读的北京师范大学的研究生,博士毕业已经多年,他说他应该读的书都读完了,马拉松式的求学路已 经结束是该他享受的时候了,最近这十年消遥自在,已经忘记了艰苦岁月里挥汗如雨的日子,麻将上的长进绝对优于学术上的长进。津津乐道的是“斗地主”、“拖 拉机”,眉飞色舞的是玩“升级”、打篮球、吹牛。

曾经心爱的派克不知不觉中已长出菁苔。

可 看到朋友们一个个前扑后续,走上闯荡之路。很有些响马人生、蓝天白云浪迹天涯的浪漫情怀。加上我极力的唆使、花言巧语的引诱,惭惭地他对于自己这样的荒费 学业有些不能把持,加上加拿大那边两哥们的加拿大长加拿大短的,他们脱口而出跳跃的专业词语,像不远处招摇的彩旗,他的心就开始浮澡起来了,在他们的极力 劝说下,试着发了两份申请,不想就成了,命运之神有时会在远处等着你或者向你平平挥手,有时会在某一个转弯令你感觉柳暗花明,远处有一根无影的线由你的命 运之神所掌管。

本来开始的时候,老公是打算去加拿大的,有“臭味相投”的在那边照应也不会孤单,可不想,命运之神有时会在关健的时刻作弄人,偏偏这个时候,英国格拉斯哥strathclyde 大学的邀请信不期而遇的到了,方方面面比较,strathclyde 大学显而易见要优越得多,而且奖学金也高,自然就偏离了朋友们的轨道,曾经的“日不落”、曾经的多少辉煌就这样吸收了我们的眼球,不得不奔她而来了。

先 生在大学他的单位盖了十几个公章,在大学的办公楼上上下下跑了几十个回合,终于把手续办下来了,那时候办护照必须要单位的证明,不象现在那么简单,中国的 开放也不是一步到位,而且签证要到北京,山高皇帝远,确实不容易,但是那时候有一个好处,我们的单位属于铁道部,坐火车不要钱,一本工作证的就可以跑遍天 下,现有说起来,好象是在说童话,挥一挥鞭子随时随地的可以变出一辆免费的马辆,想去那就可以去那。软卧、硬卧任你享受。

老公要到北京去办签证,一时高兴,他说干脆我们全家来个北京一周游,儿子六岁了,没有去过北京,否则出国了还不知道北京是什么样子,故宫是什么样子,长城是什么样子,那岂不让洋鬼子笑话。

当时我正在准备全国的注册造价工程师考试,这样的考试刚刚开始,应该算比较容易通过,我想抓住这样的好机会一博,考四门,两年考过有效,我正参加培训,培训虽说快完了,可考试在即,可我还是经不起老公的劝说:“都要去英国了,这考试还有什么用呢?”

女人容易骗,不论老少。傻傻的就相信了,当时还在想也对,到那边谁会认你的账呢?(后来才知道,这个决定可是大错特错了,后悔就晚了,我可要规劝象我一样面临转变的你们一句,特别是女人。特别是还有一点抱负的女人,千万别把自己的专业给丢了。)

可女人也有特别的,八仙之一的韩湘子引渡他的妻子,他的妻子舍不得家里的一窝小鸡,一定要带着,结果第一次引渡不成功,都要去过神仙的日子了,可她的心里还很务实的想着她的衣食住行,多实在啊。而我轻而易举的把金元宝给舍弃了。

签证的手续虽然繁杂,可只要你准备得充分,考虑得周齐,合乎条件的一般没有什么问题。

我们就是在命运之神的牵引下不偏不离的前行。

十月的金秋。在北京的机场,儿子还抱在老公的怀里,老公眼里隐隐约约有泪有犹伤,我的心沉沉地,好似是妻子送丈夫去上战场,蓦然回首的那一幕依然就有眼前。

在英国开头的几个月,老公十分的不适应,黑呼呼纵横交错的马路、陌生的金发碧眼的面孔、吚哩哇啦的声音、安静寂莫的住居区、甚至教学大楼的厚重的防火门等等都让他思念的蚕丝越拉越长,

我能想象有着极大反差的中英物质和文化生活的差异带给他的不适应,其实这还只是表面上的或视觉上的不适应,深层次的差异会漫漫地渗透到你的骨髓里,会让你冷不丁打一个冷颤。我是完全能理解的,以至到后来我们一家团聚,我也深有同感。

老公十月份去的英国,到元月份过年,他迫不及待地回中国过年了,那时我正在办手续。

可正是这次回国,最终让他义然决然重返英国重续学业而不再犹豫。

回国后,他几乎每天都在牌桌子上,打着打着,他就觉得自己很难受,感觉自己很肤浅,象一个江湖小混混,在英国日思夜想的这般快乐的日子竟让他凭空的感到厌烦。

男人是不能失去他事业的。

这一次,真的没有人勉强他,没有人引诱他,也没有唆使他。

完全是凤凰化蝶般自己获得新生。