Quantcast
Channel: 懒得折腾
Viewing all 764 articles
Browse latest View live

Use Raspberry Pi to Measure Broadband Speeds, Dropouts to Hold Your ISP Accountable

$
0
0

IMG_5887

If there’s one thing that’s the same about everyone’s broadband connection, it’s that it’s slow. Usually slower than it was advertised to be when you got it. But slow isn’t as irritating as sporadic, when you get constant drops and outages in your internet connection, it can drive you to frustration.

It drove one man in Washington D.C. to monitor his broadband connection with a Raspberry Pi, and automatically tweet Comcast when his connection drops to a fraction of advertised speed.This is actually something I’ve been doing myself for a couple of years, also using a Raspberry Pi stuffed in a corner of my network closet. Well, not the bit where I tweet my broadband provider. Instead my script is a bit more direct: It automatically submits a trouble ticket into their support queue.

Over the time I’ve been doing this I’ve used various methods to measure the latency and speed of my broadband connection. Most recently I’ve switched to using speedtest-cli, a command line interface to the speedtest.net servers written in Python.

It’s really easy to install. Just open up a terminal window on your Raspberry Pi and type the following at the command line,

$ sudo apt-get install python-pip
$ pip install speedtest-cli

this will install pip — a package management system for Python — if you don’t already have it installed, and then the speedtest-cli package from the piprepositories.

Once installed it’s rather easy to grab and measure your broadband speed.

$ speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Acme Broadband Provider. (XXX.XXX.XXX.XXX)...
Selecting best server based on latency...
Hosted by Foo Limited (Metropolis) [2.52 km]: 35.27 ms
Testing download speed........................................
Download: 14.47 Mbit/s
Testing upload speed..................................................
Upload: 1.46 Mbit/s
$

Although I’ve disguised other details, that really is my average reported broadband speed. I have an ADSL2+ Annex M connection, unfortunately FTTC hasn’t quite made it to my parts of the world.

While this is my average speed, it’s well below what I’m paying for, which is 25 Mbit/s down and 2.5 Mbit/s up. However I’ve more or less given up on obtaining that… these days I’m just happy if it’s stable. Because, every so often, I go through patches where my latency rises to several hundred milliseconds, and my bandwidth drops to 1 or 2 Mbit/s. These periods can go on for days.

Which makes me rather jealous of our friend in Washington, who is complaining to Comcast when his 150Mbit/s connection drops to a low of 50Mbit/s.

In any case, now that we have our command line tool installed, we can run it automatically using cron, which allows you to schedule commands to run at specified times (every hour), and log the output to a file.

The easiest way to do this is to create a quick script, let’s call it speedtest-cron.sh, which will log the date and the output of the test to a file,

#!/bin/bash

date >> /home/pi/speedtest.log
/usr/local/bin/speedtest --simple >> /home/pi/speedtest.log

Then go ahead and edit your crontab file, adding an entry to run the script test once an hour. You can do that by typing,

$ crontab -e

at the command line, and then adding the line,

0 * * * * /home/pi/speedtest-cron.sh

to the crontab file before saving it. This will run the test once an hour, at the top of the hour, appending the date-stamped output of the speedtest command to a log file.

$ cat speedtest.log
Sun Jan 31 19:49:01 GMT 2016
Ping: 34.961 ms
Download: 14.44 Mbit/s
Upload: 1.41 Mbit/s
$

However the output of the speedtest-cli package, even in its “simple” mode, is pretty messy. We could go into the package and fix things so that the output is somewhat more useful, CSV format perhaps, or we could rewrite the whole thing in Perl. But since this is a quick hack, it’s probably easiest just to fix things with a bash script.

Which is exactly what the speedtest-cli-extras script does. It captures the output of the script, reformats it, and outputs it on a single line with time stamps and values separated by semicolons,

$ git clone https://github.com/HenrikBengtsson/speedtest-cli-extras.git
$ cd speedtest-cli-extras/bin
$ ./speedtest-csv
2016-01-31 17:00:33;2016-01-31 17:01:27;Acme Broadband Provider;XXX.XXX.XXX.XXX;Foo Limited (Metropolis);2.52 km;34.768 ms;14.43 Mbit/s;1.31 Mbit/s;http://www.speedtest.net/result/XXXXXXXXXX.png
$

again with names changed to protect the guilty. As you can see the output is much more useful, especially if we want to create graphs, than we had previously. Running this every hour from cron is going to start to pile up evidence in a nicely formatted data file, hopefully allowing us to have a satisfying argument with our broadband provider inside a few days.

Except that, while I’m on the road, I don’t want to have to SSH into the Raspberry Pi connected to my ADSL modem, grab the CSV file, and manually post the trouble ticket I’ve filed with my broadband provider.

This is where IFTTT‘s Maker Channel, introduced towards the middle of last year, comes in handy. I went ahead and created a recipe on IFTTT to take the data passed to a Maker Channel event called “speedtest” and automatically fill a Google Sheet with the output of speedtest-cli script.

Screenshot 2016-01-31 16.33.31

The easiest way to get the data from our Raspberry Pi to IFTTT at this point is to modify the speedtest-cli-extras script. Instead of printing out the output to a log file, we’ll make a POST web request with the event name and our secret key — the key is assigned when you connect the channel — of the form,

https://maker.ifttt.com/trigger/speedtest/with/key/{secret_key}

with a JSON body consisting of  three values — the latency, download, and upload speeds — to be passed on to the action in the recipe.

#!/usr/bin/env bash
###########################################################################
# Originally written by: Henrik Bengtsson, 2014
# https://github.com/HenrikBengtsson/speedtest-cli-extras
# Modified to use IFTTT by: Alasdair Allan, 2015
# License: GPL (>= 2.1) [http://www.gnu.org/licenses/gpl.html]
###########################################################################
# Character for separating values
# (commas are not safe, because some servers return speeds with commas)
sep=;
# Temporary file holding speedtest-cli output
user=$USER
if test -z $user; then
user=$USERNAME
fi
log=/tmp/$user/speedtest-csv.log
# Local functions
function str_extract() {
pattern=$1
# Extract
res=`grep $pattern $log | sed s/$pattern//g`
# Drop trailing …
res=`echo $res | sed s/[.][.][.]//g`
# Trim
res=`echo $res | sed s/^ *//g | sed s/ *$//g`
echo $res
}
# Display header?
if test $1 = –header; then
start=start
stop=stop
from=from
from_ip=from_ip
server=server
server_dist=server_dist
server_ping=server_ping
download=download
upload=upload
share_url=share_url
else
mkdir -p `dirname $log`
start=`date +%Y-%m-%d %H:%M:%S`
if test -n $SPEEDTEST_CSV_SKIP && test -f $log; then
# Reuse existing results (useful for debugging)
1>&2 echo ** Reusing existing results: $log
else
# Query Speedtest
/usr/local/bin/speedtest-cli –share > $log
fi
stop=`date +%Y-%m-%d %H:%M:%S`
# Parse
from=`str_extract Testing from `
from_ip=`echo $from | sed s/.*(//g | sed s/).*//g`
from=`echo $from | sed s/ (.*//g`
server=`str_extract Hosted by `
server_ping=`echo $server | sed s/.*: //g`
server=`echo $server | sed s/: .*//g`
server_dist=`echo $server | sed s/.*\\[//g | sed s/\\].*//g`
server=`echo $server | sed s/ \\[.*//g`
download=`str_extract Download: `
upload=`str_extract Upload: `
share_url=`str_extract Share results: `
fi
# Standardize units?
if test $1 = –standardize; then
download=`echo $download | sed s/Mbits/Mbit/`
upload=`echo $upload | sed s/Mbits/Mbit/`
fi
# Send to IFTTT
secret_key=SECRET_KEY
value1=`echo $server_ping | cut -d -f1`
value2=`echo $download | cut -d -f1`
value3=`echo $upload | cut -d -f1`
json={\”value1\”:\”${value1}\”,\”value2\”:\”${value2}\”,\”value3\”:\”${value3}\”}
curl -X POST -H Content-Type: application/json -d ${json} https://maker.ifttt.com/trigger/speedtest/with/key/${secret_key}

After you download it you should go ahead and substitute your ownSECRET_KEY before testing it out by running the modified script manually at the command line. If all goes well you should see something like this,

$ ./speedtest-ifttt.sh
Congratulations! You've fired the speedtest event
$

Go ahead and check your Google Drive, there should be a new Sheet called “Speedtest.”

Screenshot 2016-01-31 22.39.14

This Sheet should have a single row with four columns populated. The first is the date stamp on the IFTTT Maker Channel event, the second is the ping time in ms (latency of the connection), the third the download speed in Mbit/s, with the final column being the upload speed in Mbit/s.

January 26, 2016 at 02:49AM 34.039 12.56 1.32

If that’s worked, all we have to do is modify our speedtest-cron.sh script to run our new script when it’s called at the top of the hour by cron,

#!/bin/bash

date >> /home/pi/speedtest.log
/home/pi/speedtest-ifttt.sh >> /home/pi/speedtest.log
echo "" >> /home/pi/speedtest.log

and each hour we’ll now add another row to the Google Sheet.

Screenshot 2016-01-31 22.02.04

At this point you now have a Raspberry Pi-based monitoring system in place to measure your broadband speed once an hour, and automatically log it to the cloud. This should hopefully give you enough evidence to wave at your broadband provider when things are, let’s say, less than optimal with your connection.

In my own case if I have three low (<2Mbit/s) download speed measurements in a row, the script also goes on to make a second HTTP POST request to my broadband provider’s helpdesk system, and files an automated trouble ticket — containing a pointer to my Google Sheet — to tell them my connection is having problems. But, since your broadband provider almost certainly uses an entirely different helpdesk system than mine, we’ll leave that as an exercise for the reader.



一个“外逃者”眼中的苏联——关于雷光汉的《一个中国知识分子的苏联流亡记》

$
0
0

一个“外逃者”眼中的苏联——关于雷光汉的《一个中国知识分子的苏联流亡记》 

高华


原载《领导者》总第39期(2011年4月)

一本奇书

雷光汉的未刊书稿《我的中国心结:一个中国知识分子的苏联流亡记》是一本奇书,这是一位为躲避文革中“一打三反运动”的镇压,于1970年“外逃到苏联”的前北大历史系毕业生在苏联中亚地区飘泊沉浮的实录。二十世记以来,虽然中国人写的旅苏观感为数可观,但称的上是名篇的却不多,只有20年代瞿秋白的《饿乡记程》和《赤都心史》、30年代初曹谷冰的《苏俄视察记》和胡愈之的《莫斯科印象记》等。及至郭沫若1946年的《访苏记行》和1952年的刘白羽的《莫斯科访问记》,已完全落入程式化的俗套,无一不是对苏联新制度直白的赞美。建国后的访苏游记写得好的也是曲指可数,给我留下较深印象的只有尚未结集,发表在1957年春《文汇报》上徐铸成的访苏游记,从中多少能捕获一些苏共二十大后苏联社会的变化(1975年我曾拿着介绍信在南京图书馆逐日翻看1957年的《文汇报》,时间一长,警惕性很高的管理员觉得不对头,就打电话到我单位进行调查,结果很快就禁止我再看了)。另一本就是少年时期阅读的《在阿尔迪克夏令营》,它叙述了一群中国少年儿童在1951年由老师和医生陪护前去苏联克里米亚半岛索契附近的阿尔迪克夏令营渡假的经历,曾激起我无限的神往。至于青少年时期在苏联长期生活过的一些高干子弟,则很少看到他们亲自写的作品,主要原因可能还是生活经历的限制,人们只能通过《红樱桃》一类的影视作品多少了解一些当年他们在苏联的生活。

中国人写的批评苏联的长篇记实性读物直到1980年代才出版了寥寥几本,其中1984年由群众出版社内部出版的马员生的《旅苏记事》最具史料和研究价值。另一本是湖南人民出版社1988年出版的唐有章《革命与流放》,内容都是中共早期党员在苏联党争中被打成托派,在苏联极北地区做苦役几十年的经历,这些苏联大清洗的幸存者在50年代中赫鲁晓夫时期才回到祖国。60年代初中苏关系破裂后,虽然有不少在新疆的中国人逃往苏联,但从没听说他们中有人就他们在苏联的生活经历写出了作品,雷光汉先生的这本书稿应是第一本。

雷书的贡献和价值

雷光汉是文革期间的“外逃者”,写了中苏关系紧张时期他在苏联中亚地区被审查、被监视、做工谋生活等等传奇般的经历,作者被KGB (克格勃)长期监控,以后又试图逃往伊朗,被抓回后再流放到南西伯利亚的国际囚犯农场。1979年中越之战,苏联入侵阿富汗,他都在中亚,还经历了中苏关系解冻的80年代和90年代初苏联解体的岁月,称的上是一本内容丰富的实录。

苏联的中亚地区,而不是远东地区,中国人相对了解不多。文革中红卫兵翻印过反修小册子,写中国留苏生在塔什干,都是苏联人怎么偷偷对中国留学生说他们热爱毛泽东,从这些膨胀的叙述中,根本无从了解当时当地的真实情况。实际上,从第二次世界大战起,苏联当局就将许多政治上被怀疑的少数民族大量迁徙至中亚,中国音乐家冼星海就是被安置在阿拉木图,以后也病逝于此。

雷先生长期生活在苏联的底层社会,他接触的多是“下里巴人”,这是那些短期访苏,走马观花的中国高干和社会名流根本接触不到的群体。这些人所写的访苏游记,除少数外,或是浮光掠影;或是借游记抒发满头脑的亲苏、慕苏情愫,在价值上和雷光汉的书稿完全不能同日而语。通过他的书稿我们才知道,勃列日涅夫时期中国人在苏联受压最深,岐视中国人最厉害的还不是俄罗斯人,他们中的多数人都中国人都还友好,对中国人最坏的是苏联的xx族等少数民族,“xx人的姓名因和中国人一样,长相也差不多,他们害怕别人把自己当成中国人,和中国人的距离拉得越远越好”,所以处处表现出自己对于中国人不一般的“愤恨”。他们口口声声我们苏联怎们好,你们中国怎么坏,每当遇到坏事,都是中国人干的,一逢上节日,大家都紧张,“中国要向我们进攻了”的谣言总会传到耳中。

雷先生的书稿描写了形形色色的中国“外逃者”,提供了在中亚地区中国人的众生相。例如,“伊塔事件”(1962年4-5月)前在中国新疆军区任少将的维族人(其实是俄罗斯族),跑到苏联后就在阿拉木图市场卖西瓜。作者说,在苏联的中国人死心踏地做汉奸的多是那些素来革命的“左派”,“被KGB 利用的狗腿子也大多数是这些人……跑到外国来了,失去主心骨了……自然和KGB 一拍即合”。相比之下,那些被解放军赶到苏联的前国民党时代的军政官员,一般都洁身自好,也心系祖国。笔者印象特别深的是雷先生提到一位新疆边防军战士,因为一直入不了党就越境跑到了苏联,为了讨苏联人的好,马上将对中国领袖的崇拜转变成对勃列日涅夫的崇拜,他将俱乐部挂着的勃列日涅夫的画像偷偷拿下来,压在自己房间桌子上的玻璃板下,周围还用红布镶上了边,在像前供着插在酒瓶里的松枝,松枝上挂着一首用毛语录改成的快板诗表达忠心:“领导我们的事业的核心力量是苏联共产党,我一颗红心献给苏联共产党,永远跟着苏联共产党中央”,每天像念魔咒般对着勃氏画像表忠心。他以为这一套在中国吃得开,在苏联也一定吃得开。可是苏联人见了觉得很奇怪,“因为没有一个苏联老百姓如此热爱勃列日涅夫,更没人在宅内贴他的肖像”。后来也是因为苏方没有接受他当苏共党员,他就把勃氏肖像的眼睛挖了,一个月后,区警察局派人把他抓走了,判了15天劳役。苏联人下手还是轻的,如果在中国,就凭这一条,就得挨枪子儿。此等鲜活的细节,是那些短期访苏者,甚至留学生也永远无法发现的。

“外逃”曾是一个严重的罪名

雷先生是一位“外逃者”,这在文革或文革前都是一个令人毛骨悚然的罪名,且不说那时被检举“偷听敌台”就得坐牢,“叛国投敌”或“企图叛国投敌”,被捉将回来,不被枪毙,也得判个长期徒刑。

最早知道“叛逃”,还是在文革前,报上说中国驻荷兰代办叛逃到美国!看到这条消息使我非常震惊,这么重要的外交官怎么也会叛逃?以后读书多了,知道的也多了,有一次居然发现我喜欢读的那本反蒋小说《侍卫官札记》的作者也是一个“叛国投敌”分子。更有甚者,还听说文革中的中国驻越南大使要叛逃朝鲜,在鸭绿江边被抓了回来,结果被判了十年徒刑(1979年后该大使获得平反)!

以上都还是一些个别现象。实际上,“外逃”作为一种社会现象,在建国后就出现了,1957年后人数迅速扩大,除了广东沿海一带的居民外,在政治运动中蒙受打击走投无路的右派、知识分子也加入了外逃大军,只是后者成功的极少。他们大多天真,缺少社会阅历,又不熟悉当地的地理民情,更无钱和蛇头拉上关系,加之不会说广东话,要逃到香港,比登天还难。我的一位忘年交朋友,1957年在大学读书时被打成右派,他倒是头脑清醒,当大多数右派大学生对什么南斯拉夫、英国想入非非时,他既不去北京的英国代办处要求政治避难,也不去南斯拉夫大使馆寻求保护,而是涂改了学生证,然后买了一张南下深圳的火车票,准备逃往香港,谁知刚下火车就被当场捉去,从此在青海格尔木劳改了二十多年。

那些成功逃港者,多是广东沿海一带的居民,人数最多的一波是1962年5月,以后才知道这是当时的广东领导者有意睁一只眼,闭一只眼,在大饥荒年月中放饥民一条生路,同时也是为了减轻当地的粮食压力。广东老作家陈残云的小说《深圳河畔》的书名很吸引人,可是他一字都未提逃港风潮,在那个年代,谁都不敢公开点出这个问题。

与广东大逃港差不多同时,发生在1962年4-5月的新疆“伊塔事件”,既与当时中国的经济困难有关,也是苏方对中方“反修”的报复,在苏联驻伊宁领事馆人员的策动下,北疆几个县有六万多中国人外逃到苏联。在这之后,在中国的压力下,苏方关闭了边界,一直到文革初期。可是没想到,文革中居然还有人不怕死,通过不同方式越过中苏边境当局设置的种种障碍,跑到苏联去,而逃苏的人数之多,要不是读雷先生的书稿,也是很难想像的。

所以在文革中的大字报上看到老人家就傅聪“叛逃”一事说的一番话,就知道决不能当真。他说,让他们跑(到国外去)吧,让他们去吃黑面包(大意)。虽然在“伊塔事件”发生时,他批准新疆军区的两个俄罗斯族少将(新疆军区副参谋长祖龙太也夫、伊犁军分区参谋长马尔果夫)要求回苏联的申请,甚至还指示给他们开欢送会(跟随他们回苏联的还有军队中的俄罗斯等族校、尉级干部四十余人),但那只是极个别的事例,不具普遍意义。最高领袖批准军队中的亲苏分子回苏联,其着眼点是为了彻底清除苏联在中国军队中的影响。李丹慧的研究提到,“伊塔事件”后,中国大大加快了遣返苏侨的行动,甚至放宽到:“苏联侨民中的政治嫌疑分子和接触一般机密的人申请出境,一般不要阻留,应当迅速批准,让其离境”。“申请出境的苏联侨民,如有未了民刑案件和债务纠纷,应当尽快设法解决”。“苏联侨民的中国籍直系亲属,要求一同出境,可以听其随走”。中方对要求前往西方国家的苏侨333人,也提供协助,这在过去都是不可能的。所有这些都是为了政治上考量,即把“苏修”在新疆的“腿子拔掉”,具体办法就是“挤其出境”。到了1966年文革爆发前夕,50年代末在新疆的12万苏侨,只剩下坚决不肯离开的201人了,而他们实际也处在中方的监控之下,这样就基本清除了苏联在北疆地区长期经营而形成的社会基础。

所以,桥归桥,路归路,1962年对“伊塔事件”的忍让态度,并不意味中国将把此奉为长期政策。在社会主义国家中,只有卡斯特罗在60年代前期的几年让愿意离开的古巴人坐船前往美国的迈阿密,其他社会主义国家,中国、苏联(20年代初很短的一段时间里,列宁曾放了一些俄国著名知识分子去欧州)等都没有这样“洒脱”。东德为了防范它的人民“叛逃”到西德,1961年8月13日,还特地建了那道有名的“反法西斯防卫墙”,不知有多少东德人被自动步枪扫射倒在柏林墙下!也是在1967年,还是从大字报上看到音乐家马思聪在逃到美国后写的那篇有名的文章《我为什么离开中国》,至今还记得这份大字报前人头攒动,却没有声音。写到这里,连想到中国在1979年后允许自费留学,进入21世记后,又开放港澳游、港澳自由行以及中国公民国外旅游,这是多么大的变化和进步啊!

雷的书稿中说,1966年6月“文革”开始后,7月份伊犁就有人逃苏,最先逃去的汉族人,苏联都送回来了。一送回中国,就开公审大会,把外逃者枪毙了,以后苏联就不往回送了。“这次外逃虽然没有成潮,可经历的时间十分长,一直延续到1982年”。“逃亡者也是泥沙俱下,有受迫害的知识分子,下乡的知识青年,失败了的”造反派“,犯了罪的红卫兵,被打倒的”走资派“,甚至,还有一些不得意的中国边防军官兵”。

据雷先生的观察,KGB 是按几种情况处理的:“凡属受政治迫害的知识分子一律收留,不判刑,审查后即分配在城市工作。凡带家属或孩子逃过来的或者受到政治迫害的普通工人,农民,学生,在审查后安排在城市或农村,大部分在农村工作。凡一般因生活问题逃过来的或者在中国有刑事问题的红卫兵,群众组织的头头或成员,在审查后便会以”破坏苏联国界罪“送到国际劳改营服刑1-3年,再送到集中中国逃亡者的北方农场干活”。

雷先生说,中国人过来以后,大部分在农场或工厂打工,也有照相,钉皮鞋,卖烤肉串的,只有个别人当上了教员,医生和画家,也有以后成了工程师,博士的。他们中只有少数人保留了中国国籍,大部分都入了苏籍,少部分不愿归化苏联的人就持无国籍者的护照生活。

这些当年的外逃者如果不是文革结束,注定是要被当作“叛国投敌分子”永远受到谴责,他们自己也不敢回国,除非认罪自首。雷先生在1980年代后,作为“无国籍者”,和我国驻苏使馆取得了联系,使馆人员对他亲切有加,还恢复了中国国籍。

这一切都是因为国内大气候发生了变化。他有所不知的是,在平反冤假错案的大潮中,最高法院1979年后有了新精神,宣布要将因生活困难,出去投亲靠友,找生活出路,或在运动中因一般问题,或没有问题而偷越出境的人与因贩毒等追求私利而出逃的人区别开来,更要同为叛变投敌,资敌而出逃的人区别开来,前者是违法行为,后者是犯罪行为。这样,雷先生等才获得解脱,后来还成了爱国侨领。

1970-80年代初,苏联百姓丰衣足食,生活水平远超过中国

在中国官方的对苏叙述中,有关苏联人民生活水平的问题是随两党两国关系的好坏而变化的,简言之,关系好时,中国人被告知苏联人生活在天堂里,“楼上楼下,电灯电话”,那部摄于战后乌克兰大饥荒岁月,粉饰生活的苏联电影《幸福的生活》在中国大放特放,不知迷倒了多少天真善良的中国人,以至于1949年任弼时要对陪同他前去苏联治病的中方工作人员提前打预防针,告诉他们,苏联刚从战争中走出来,正在恢复,各方面都很困难;中苏交恶后,中国人又被告知,苏联人吃的是黑面包,西红柿只有乒乓球那么小。再以后,国人又跟着领袖嘲笑赫鲁晓夫的“土豆烧牛肉共产主义”,好像自己吃得比苏联人还要好,其实中国当时不知有多少农民真的如同赫鲁晓夫所说,喝得就是“清水大锅汤”(这句话也是道听途说,到现在也没见过赫氏原话的材料)。

应当说,在50年代中国公私合营前,中国的轻工产品大大丰富于苏联。我有一前辈朋友是1952-1957年列宁格勒大学的留苏生,他告诉我,在参加1955年屠格涅夫国际学术研讨会期间,一个不熟悉的苏联教授用各种花言巧语(“中苏友好”一类大话)用他质地非常差的领带,和他交换了他从中国国内带来的一条领带。他临毕业时,苏联朋友看中他的一件出国时由组织上置办的呢绒大衣和一只牛皮箱,也想交换去,但他没有答应。尽管如此,赫鲁晓夫上台后,苏联一般百姓的生活水平仍明显高于中国。1957年夏,我的这位朋友学成归国,他发现怎么国内到处都有“叫化子”,此事给他留下极深的印象,当时正是反右运动高潮,他知道,必须对此三缄其口。他如此谨慎是有道理的,以后仅列宁格勒大学的中国留学生中就打了四名右派,并被遣送回国。

斯大林去世后的赫鲁晓夫的十年和勃列日涅夫的十八年执政岁月是苏联承平的年代,勃氏上台坐稳江山后,逐渐停止了柯西金的经济改革措施,以推行新斯大林主义、维护特权集团利益和加紧对外扩张作为基本政策的出发点,但是毕竟没有像中国那样瞎折腾,到了70年代,国家的整体实力走向高峰。

雷光汉生活的地区是苏联欠发达的哈萨克加盟共和国,以后被KGB 安置在塔拉兹(斯)市,此城在斯大林时代叫江布尔市,江布尔是哈萨克一位伟大的行吟诗人,活了将近百岁,在50年代的中国颇有名气,他曾因歌颂“兴都库什山的雄鹰斯大林”而蒙受恩宠。

雷书稿提到,苏联地广人稀,工作非常好找,中亚地区体力工人的工资很高,远超过医生、教师等知识分子,女医生、女教师嫁给工人比比皆是,政府且不断下调物价和增长工资,在苏联实行的是全民公费医疗,全民义务教育,全民社会福利,“只要在苏联土地上,不管户口在何处,看病,上学都不花钱,住院了还发全额工资”。“人人都得上完十年制中学,相当我国高中毕业。学校全部免费,包括免费教科书和午餐”。“每个城市,每个区,甚至每个大些的单位都有自己的儿童夏令营,建在山上或河边的风景优美的地方,房子像疗养院一样好,辅导老师,医生,护士,厨师一应俱全。学习,游乐,体育设施应有尽有”。

物价、房租和交通费极其低廉,一块列宁格勒出产的东方牌手表,才15个卢布。水电煤气和公共交通费用都只是象征性的。市内交通一次,不分远近都是5戈比。1个人1个月煤气费50戈比,水费20戈比,一度电2戈比。一般群众的生活都非常富足。作者在80年代初结婚生女,政府马上分配给市中心一大套三居室,房屋虽然不毫华,但铺有地板,房租极其便宜。

现在知道,70-80年代初苏联人的生活富足全赖政府出口石油和天然气挣得的大量美元所赐,到了1984年后,物价出现上涨而工资都已冻结,90年代叶利钦上台后推行“休克疗法”,使老百姓手上多年积攒的卢布一夜间变成了废纸。

苏联的KGB 全面渗透中亚华人社区,已达到无孔不入的程度,但作者对中国方面60年代后针对KGB 的反制行为完全不了解

该书详细叙述了他所接触的苏联KGB (克格勃),这个神秘的组织全面渗透在中亚的华人社区,大量招募特务,无孔不入,其搜集情报的效率之高,也可堪称世界之最。从他的书稿中也可以得知,到了70年代,KGB 工作人员已一改斯大林时期之魔鬼形象,全面实现了知识转型,仅他所接触的KGB ,就发现有100多人通中文。这些职业特工有礼貌,有文化,他们攻心为上,在审查雷先生时会对着他唱50年代中苏友好岁月时的流行歌曲《莫斯科——北京》,中国第一颗人造卫星上天,KGB 居然向雷先生表示祝贺,使他虽亡命异邦,还能保有一份作为中国人的自豪。作者还说,“KGB 的监狱是苏联最文明的监狱,没有见过犯人受骂挨打的。伙食不好,面包却吃不完,发的莫合烟也抽不完。每月允许亲属送食品和日用品一次,每次四公斤”,“至于警察局管的监狱则是暗无天日的地狱,……搬到当时的中国来也是骇人听闻的”。作者感叹苏联特工的文化素养之高与他曾打过交道的文革期间的中国“公检法”之简单粗暴形成强烈对比。

作者对建国前KGB 在中国的活动有一定的了解,他知道大名鼎鼎的KGB ——塔斯社驻华记者罗果夫和他的掩护单位——上海著名的时代出版社,但不知苏联驻国民政府大使,以后又担任苏联首任驻中华人民共和国大使的罗申就是一个KGB将军,此人在建国后还故伎重演,企图在中国人中发展苏联情报员。苏联驻重庆的潘友新大使也是KGB 将军。作者对50年代末以来中国方面对KGB 的反制行为基本不了解。说来中苏原是一家人,中国的反间谍相关业务也是在苏联专家的全面指导下开展的。例如,刚进北京城不久,苏联就派出KGB 专家检查中南海的空气,查空气中“有没有什么有害物质”,让许多老干部开了眼界。又譬如,领导人的食品检查制度,也是苏方手把手教的。邮件检查系统也是在苏联专家的帮助下建立的。苏联在中国公安部总顾问的办公室就安排在部长罗瑞卿办公室的外屋,他可以阅读公安部的一切报告和文件。所以毛要求李克农对苏一切公开,“脱得光溜溜”,但李心中有数,他私下对社会部干部说,即便脱光,心中想什么,对方还是不知道的。

到了50年代末,中苏关系出现裂痕,中国方面对从苏学习归来的留学生已有防范,提醒他们不许乱说苏联的情况。中国官员与苏联人的私下的一般交往,甚至在北京著名的莫斯科餐厅与苏联记者吃个便餐,都会被怀疑是“传送情报”,第二天就会受到单位领导的警告。接下来的几年是中国的大饥荒,都有中国大学生不知深浅地给苏联驻华使馆写信,甚至要求苏联方面批准他们前去苏联留学,其思想之幼稚,今人难以想象。更有甚者,60年代初,在中南海工作的工作人员,有亲属曾留苏的,原家住中南海的,被要求一律搬出。而1960年从苏联高干子弟云集的学校——莫斯科国际关系学院学成回国的中国留苏生,整体被不信任,全体被安排做次要工作。所有这一切,都是为了防范KGB 在中国的渗透,今天看来则是反应过度。

60年代初以后,随着中苏关系的恶化,一些领导人对苏焦虑感与日倶增,KGB被无限放大,谍影憧憧,康生等有了用武之地,也懒得对留苏人员作区别分析,干脆采取“一锅煮”的政策。长期担任毛的俄文翻译的师哲虽然在30年代曾是“格伯乌”(KGB 的前身)工作人员、但在1940年就回到延安,早在1962年就被关进秦城。同年,康生还把前中共驻共产国际代表团工作人员,原东北局外事处负责人,中共妇运元老卢竞如投入秦城,一关就是十八年。到了文革,更是把大批历史上与共产国际、苏共有联系的老干部、新干部,例如阎宝航、阎明复父子,吴克坚、萧三、李立三的夫人李莎等统统打成“苏修特务”或“苏修特务嫌疑”,全部投入秦城监狱。

作者虽是北大学生,思想却很幼稚,即使跑到苏联,还对官方宣传信以为真,结果大为失望

以常理看,当年的北大学生,当属天之骄子,学养、见识都应卓越,其实并不尽然,建国后,北大历经各种政治运动特别是1957年反右运动的冲击,五四以来的学统已完全断裂。老知识分子遍体鳞伤,早已三缄其口。校系党的领导,多为政治挂帅的政工干部,学校还收取了为数众多的调干生,康生、陈伯达等也不时来北大作大报告,学校的整体氛围已彻底改变,在这种情况下,学生能学多少,全赖自身的努力,而学生间的对社会批评性的思想交流,因恐惧告密,也基本不复存在。这就使得一些学生除了专业,几乎不再有个人的思想活动,他们对世界,对中国的看法,全都来自《人民日报》和领导的讲话。雷光汉的书稿中提到他逃到苏联后,向审查他的KGB 提出,要求把他送到台湾和新加坡,他的理由是那两个地方都是中国人的地方,他愿意生活在中国人中间。可问题是,苏联人为什么要满足他的个人愿望?雷说,因为中国报刊说,苏美合作主宰世界,他以为到了苏联,就可以自由到世界各国去。读到这一段,颇为震惊,雷先生不是北大毕业生吗?他怎么会如此天真?还有,雷先生竟然不知道中国反间谍系统曾经长期由康生领导,当苏方KGB 上校告诉他时还大吃一惊!这可能与雷先生身处边疆,信息闭塞有关,口内的大中城市,都有去过延安的老干部,而凡是去过延安,经历过整风运动的老干部,大多都知道康生的身份。文革初的大字报更是把康生的身份半公开了,不少人都知道这个“康老”非同小可,是一位让人谈虎色变的“反特专家”,他经常不需有任何证据,动辄就指别人是“苏修特务”,说凭他的眼睛和四十年的革命经验一眼就可看出某某是坏人等等。1967年的南京大字报上就有他表扬江苏某高干曾向他“报过一个重要的案子”的消息,这位老干部很快被结合进夺权后成立的新领导班子。

雷先生如此天真,自然是处处碰壁,在KGB 眼里,判断一切事物的唯一前题就是估量他对苏联有无实用价值。文革中跑到苏联的流亡者,他们中的绝大多数人,既不接触中国的绝密情报,也不是中央领导人的子弟,他们的利用价值非常有限,不把你派回中国做间谍,已是开恩,你还想这个,要那个,纯属异想天开。作者提到,他向KGB 提出“政治避难”的要求,被当场挡了回去,苏方告诉他,可以接受他“避难”,但他不具“政治避难”的资格,“只有王明才有政治避难的资格”,“因为你只是一个教员,不是刘少奇,不是乌兰夫。”

作者对中苏两国体制的弊端有较深的认识,但过于强烈的爱国主义也使他存有某种“护短”的心态

作者是1961年的北大历史系毕业生,因对历史上俄国侵华行径不满被被打成“反苏分子”和“右派”,后被发配在伊犁离霍尔果斯口岸七公里的一所中学教书。作者在中苏两国的经历使他对两国体制的弊端有很深的体会,他认为苏联是一个“虎狼之国”,一直对中国抱有扩张的野心,但是他也承认,苏联比中国文明进步。他说苏联的制度和“文革”前的中国制度相比有一个大的不同,“那就是苏联还容许人性的存在,而中国把所有人的人性都消灭光了”。他待过几个苏联监狱,发现“里面的狱头狱卒,审判官员,都还有人性,对不幸者有同情心,只要在框框之内,请他们帮点忙,给点方便是不会遭到拒绝的。中国却完全相反,一次次严酷的阶级斗争把官员最起码的人性都抹掉了,他们的教育水平又低,最少文明修养”。他说,他见到的国内那些整人的人,“没有一个不是性如虎豹,心似蛇蝎,一脸凶相有如夜叉的”。他还说,虽然“离开祖国也多半辈子了,还时时做着挨整的梦。梦中整我的人不是KGB ”,而是国内那些自己的同胞。

然而,作者在某些关键性问题上的态度也是矛盾的。这本书稿写于2000年,作者声称,他压下书稿是担心书稿出版后会损害中国,其实批判极左主义与损害中国,完全是风马牛不相干的事。更令人匪夷所思的是,他跑到苏联,却情不自禁地成为了国内某些极左方针和理论的辩护士,例如,他读中苏论战的“九评”,觉得“篇篇是雄文”,而苏方的应战文章又是如何没有水平。国内在文革中大骂王明是叛徒和叛国分子,他也跟着大骂王明是“奸贼”,说如果王明在他眼前,他要上去打他几个耳光。KGB 告诉雷,陈伯达倒台了,他却说这是毛的战略部署,一切都是毛安排好的。总之,他看苏联是处处不顺眼。依常理,作者亡命苏联,苏联纵有千般不好,万般不是,但是没有把他送回中国,否则等待他的只有被枪毙或被判重刑,对收留他的苏联,他似乎多少应有一丝感激之情,可是从书稿中一点也找不到这样的痕迹。书稿中KGB 对雷说的的那句话是击中要害的:“你们中国人逃到苏联后都说自己是爱国者,可是谁都不敢反对毛泽东,一挨斗就跑到外国去,你们都是怕死鬼。”雷先生也承认,听到这番话,感到无地自容。

尽管觉得面子上难堪,然而并不影响雷先生的态度,他的态度就是爱国,由爱国的立场出发,他绝不允许苏联人当他面骂中国最高领袖。以后发展到,“如果有人骂xxx ”,雷先生就要和他“干仗”。有的苏联人奇怪地问他:“你们如此地热爱你们伟大的领袖,为什么还跑到我们苏联来了呢?他回答道:”我们中国的事不能叫外国人管,中国的xxx 不能叫外国人骂。“

雷先生的思想和逻辑出现了严重的不连贯性。与雷不同,我所读过的一些外逃者的回忆录在思想和逻辑上大都保持着一贯性,其中一本回忆录的书名就是《月是异乡明》。该书作者生活在著名侨乡广东潮汕地区,在建国时只有12岁,对共产党充满崇敬之情,但因“原罪”在身(其父是逃往台湾的国民党少将),与其母被扫地出门,又因长期收不到侨汇,饥寒交迫,被当地干部和群众蔑视,最后抱必死决心,于1958年冒险犯难,偷渡深圳河,来到香港,以后投奔在台的父、兄,虽然受到国民党特务机构长达五年的秘密审查和监控,但他还是觉得“月是异乡明”。有意思的是,在作者的出逃计划中,居然把苏联也例入出逃国之一,尽管放在最后一位,他说虽然苏联也不好,但起码不天天搞运动,开批斗会,还可以读书升学。他有如此的认识是令人吃惊的,因为他只读了六年小学,其间因是地主后代还被无辜开除,以后千辛万苦才上了一所极为简陋的华侨子弟补习学校,也因是地主子弟被开除学籍,他的知识和识见主要来自于他的借书自学和人生经验。

雷光汉的思想和逻辑矛盾的深层原因,说来还是源于“自大的爱国主义”,雷先生在新疆当年的朋友萧默先生称他是“彻底的爱国主义者”,想来是有道理的。从他的书稿看,雷先生的爱国主义有时显得混沌不明,在对苏联的问题上尤其如此。说来他并不了解50年代后中苏关系破裂的原因,随着更多的历史档案资料的问世,现在已越来越清楚,中苏双方对此都负有责任,而不能把关系破裂的责任全都归咎于苏方。作者多次提到,在赫鲁晓夫时期,在苏联的中国人比较自由,可以自由选择居住地,但是到了勃列日涅夫时期,苏当局全面收紧在苏中国人的居住自由权,中国人不许居住在莫斯科与列宁格勒,只能集中安置在中亚地区或其它边远地区。1964年10月勃列日涅夫上台后,几乎公开批判赫鲁晓夫,没多久就开始在思想和政治领域全面倒退,为斯大林恢复名誉;中国方面批判“赫秃子”更是不遗余力,一时间双方似乎形成了歌颂斯大林,反对赫鲁晓夫的统一战线,而中苏两国的老百姓对这些言论都照单全收。作者虽然肯定赫鲁晓夫在推动苏联“解冻”方面做出了贡献,但几乎未提及赫氏在改善中苏关系方面所作的努力,这是书稿的一个不足。今天我们从苏联解密档案中知道,1954年10月赫鲁晓夫访华,他顶住苏共政治局内不同意见的压力,坚持要把从中国获取的权益归还中国以及大规模对中国进行经援和军援;而被中国高度称颂,视为同志和亲人的“伏老”(伏罗希洛夫)却是地道的大国沙文主义者。1957年春伏罗希洛夫访问中国,本来只是一次没有具体任务的礼仪性访问,却受到最高礼遇,中国方面可能是为了给赫鲁晓夫一点“眼色”看,有意超规格的接待这位斯大林的战友,中国最高领袖不仅亲自去机场迎接,还罕见的陪同客人乘敞篷汽车前往宾馆,接受数十万群众的夹道欢迎。他和其他中国领导人何尝知道,就是这位貌似慈祥,动辄就会流泪的“伏老”,坚决反对将旅顺军港归还中国,赫鲁晓夫为了争取他的谅解,做了大量工作,直到出访北京前几天,才勉强得到他的同意。

你到底要什么?

读雷先生的书稿,不由得让我想起三十多年前读过的一本苏联长篇小说《你到底要什么》,这本书于1972年在中国以“灰皮书”的形式由内部出版,作者是苏联著名作家柯切托夫,此人是一个顽固的斯大林主义者,在中国很受欢迎,他的长篇小说《茹尔宾一家人》、《州委书记》、《叶尔绍夫兄弟》等都曾被译成中文,1960年,《叶尔绍夫兄弟》还被作为反修教材由著名导演孙维世搬上中国话剧舞台。柯切托夫在《你到底要什么》中,以60年代为背景,抨击苏联青年受了美国等西方国家文化的毒害,沉迷于被政府查禁的俄罗斯“反动作家”的禁书,从而丧失了共产主义理想和信仰。作者痛心疾首,质问这些迷失方向的苏联青年:你到底要什么?

几十年后,雷先生的书稿让我又想起了柯切托夫的这本书名,当然是反其意而用之。随着雷先生展开他的奇特的旅苏生涯,我在思索雷先生究竟要追求什么?

雷先生要生命安全。他在文革的高潮中为免遭镇压,被迫亡命苏联,这是无可厚非的,孔夫子也说过:“道不行,乘桴浮于海”,我们总不能要求一个无罪的人引颈待戮来实践他的爱国主义。他因地利之便,一脚跨到了苏联,当年又有多少知青逃港不成而浮尸深圳湾海面,相比之下,雷先生是幸运的。

逃到苏联后,雷先生被KGB 长期监控,又受到在中亚的苏籍XX等族人的恶意对待,激起他强烈的爱国主义。雷先生来到苏联后写的有关新疆四年文革历史的材料被苏联人改编后以化名出版,以后在他出逃伊朗被抓回后还因此减轻了对他的处罚。但苏联人要他在批判中国的电视片中现身,他坚决不从,还处处批判苏联,歌颂中国,这才引起KGB 的那些嘲讽话。尽管雷先生不愿批评中国最高领袖,但他出逃本身就是一种无声的抗议,于是雷先生更加热爱中国,甚至到了80年代,他还带话给国内有关方面:在我国宪法上加上一条:在苏维埃帝国没有崩溃以前,凡主张中苏友好者,应以汉奸论处!其态度之绝决,令人难以想像。看来在绝望和困境中,爱国主义可以成为一种宗教,雷先生就是一典型的范例。

那是一个意识形态大行其道的特殊的年代,苏联和中国都不正常,置身在那个时代,中苏两国的大人物或是升斗小民,他们的言和行,在今人看来多少都有些不合情理。今天若再读在几十年内被奉为金科玉律的苏联理论沙皇苏斯洛夫或波洛马廖夫的大作,几乎就是一种自虐行为了。所以,雷先生的爱国主义即便有些偏颇,也是可以理解的,在当年的那种情况下,除了爱国主义,他还有什么可凭籍的?雷先生毕竟是北大毕业生,和那些普通逃苏者不一样,除了要活命,还要追寻“生活的意义”,作为一个“无国籍”人士,在苏联到处被监控,台湾、新加坡不能去,大陆搞文革天昏地暗,更是有家不能回,这种内心的辛酸和煎熬,外人又怎么能够体会?于是爱国主义便成了他的安身立命的防御性的武器!

读雷先生的书稿,很自然带出一些问题,但更多的是一份尊敬和欣赏,就是那些疑问的方面,我也愿意回到历史的具体情境中去,以一种同情与理解的态度,设身处地的去体谅他。今天无论从哪个角度看,雷先生的书都是有很高价值的,是他用半生的心血写出来的,值得研究和关心中苏关系史的人们的重视。

2011-2-3

(高华,南京大学历史系教授。)


苏联逃亡记

$
0
0

(这是真实的记载。原文挺长,只能分几次转贴。还有朋友记得沈元这个名字吗?与这位作者有深切的关系)

 

苏联逃亡记

一个中国反苏分子的家国情怀

雷光汉 原著

萧 默 编订

题记

怀念《我的祖国》——中国

一条大河波浪宽

风吹稻花香两岸

我家就在岸上住

听惯了船夫的号子

看惯了来往的白帆

 

前 言

今年是2011年,我已经七十六岁了。11年前,即公元2000年,当我六十五岁垂垂已老之时,花了一年时间,用我的全部心神,基本上写成了这本小书。我记下了自己坎坷的三十年,也记下了在流亡生活中所遇到的形形色色的我的中国同胞和他们形形色色的经历,和苏维埃帝国解体前平民社会的种种世相。我生活在一个特殊的时代,中国人遭受最大灾难的时代,世界局势变化最激烈的时代,我有责任把它记录下来,即使是一鳞半爪。因为它是历史,普通人的历史,爱国者受难的历史。

书中全是事实的记录,只是,我是完全凭着个人记忆写成此书的,没有利用任何文字资料。同时,我已有三十年几乎没有和纸、笔接触了,使用中文,已经笔不成书语不成言,连一些汉字汉词也忘掉了。因此,有些事件的时间,地点便不免会有所遗漏。

有几点说明:

1,本书记录的全部事件都是在苏联时代发生的,但苏联已不复存在,人们提到它时都用“前苏联”,我略去了“前”字,可以节约不少字。又,本书初稿写作于2000年,所记事件都发生在上世纪,为减少字数,凡“上世纪”三字均予省略。

2,本书所用词出现频率最多者之一的“KGB”(克格勃,俄文 КГБ),即前苏联国家安全委员会,当时它是世界上最大的对内镇压,对外收集情报和从事颠覆活动的机构,曾不断纠缠过我,我将其直接写成其中文拼音的简称KGB,也可以减少不少文字。

3,由于可以理解的原因,本书没有太多涉及我在国内的经历。

4,萧默博士是与我相交半个多世纪,感情胜似亲兄弟的朋友。1994年,在人讯两隔将近30年以后,他多方打听到了我的下落并和我联络上了,寄来了100美元,1998年又资助我回北京在他家欢聚,并鼓励我写下这本书稿。2010年,他和他的朋友又一次资助我携书稿去北京,并不顾老迈之身,为我仔细修订书稿,极大弥补了因为我与祖国文字的长期隔绝而致的语不及义之憾。我们是贫贱之交,患难之交,刎颈之交。本书的出版诸事均委托他全权代理,并授予了委托书。

5,本书献给我的祖国——中国。

6,本书版权为我的爱女、萧默博士的义女雷鳗澧·光诺芙娜所有,是我给她留下的唯一比较像样的“遗产”,文责则由我自负,她不负本书的任何责任。并且直到今天,她还没有具备阅读本书的汉语水平,我写作时也没有与她有过任何讨论。

雷光汉 公元2011年元旦

于哈萨克斯坦共和国塔拉斯城

 

编订者言

萧 默

1961年秋天,当年我24岁,刚从清华大学建筑系毕业,分配到新疆伊宁市伊犁哈萨克族自治州建筑设计室工作。一天,办公室来了一位不速之客,个子不高而壮实,说话带一口浓重的湖南乡音,自我介绍说叫雷光汉,湘西土家族,出身农家,自称“土里土气”,北大历史系毕业,说是来看朋友的,指名道姓却是要找我。可我并不认识他。原来他已从当年同时分配到伊犁工作的大学生中听到过我的名字,又都是湖南人,年龄也差不多,真是“相逢何必曾相识”,彼此间自然就熟悉起来。我记得与他的第一次交谈主要是关于伊犁历史的一些事,远如细君公主、解忧公主,近至纪晓岚、左宗棠、林则徐、魏源和洪亮吉,觉得他知道的事情真多。

不久我就发现,雷兄是属于那种所谓“痴情的爱国者”、具有浪漫主义气质或称“性情中人”式的人物,五七年因“散布”俄国曾侵占了中国许多地方,即使按不平等条约,“江东六十四屯”也仍是中国的领土等“言论”,以“反苏”的罪名戴上了右帽。雷兄的本性原无城府,但历经“运动”的锻炼,初次交谈,虽然仍不免于慷慨激昂,视天下为已任的那一种书生意气,遣词造句却已经隐约有了另一种斟酌。他被分配到伊犁后又被分到中苏口岸霍尔果斯县一所从戴帽小学升格的中学教书,自作多情,在伊犁日报开了一个“伊犁夜话”的小专栏,不断写一些介绍伊犁历史的故事,宣传民族团结。我在伊犁待了两年多就调到敦煌去了,他却活得非常累,文革一来,“伊犁夜话”与“燕山夜话”挂上了钩,加上“老右派”和“反动学术权威”两个头衔,再加上他和“极右派”沈元的关系,成了霍城县的第一揪斗对象,被送到矿井挖煤,又险些被枪毙,在得到好心人通风报信后,仓惶逃往苏联哈萨克斯坦。在苏联也没吃到好果子,因坚持只反文革绝不反华,多次拒绝与KGB合作,拒绝到反华的东方研究院和莫斯科反华出版社工作,拒绝参加拍摄反华电影和为反华电台撰稿,而甘愿作为一名“无国籍者”,在哈萨克斯坦当了一名普通工人。以后,又穿越中亚各国,从土库曼斯坦再度偷越苏联国境,准备通过伊朗到“有中国人的地方”即台湾、新加坡继续他的历史研究,被KGB捉回,作为“民族主义者”判处监禁并流放南西伯利亚多年。再以后,见证了苏联消亡的全过程,现定居于哈萨克斯坦共和国,靠工人养老金过活,也摆过摊,仍不断写文章论证台湾的历史和必须统一的道理,成了当地的华侨领袖。

我们曾失掉了几十年的联系,1998年他已经六十多了到北京才再次相见。说他恢复了中华人民共和国的国籍还要感谢邓小平的改革开放政策。走前向我要录音机,问他干嘛,说是要录下他给我讲的他的全部人生。我没给他,说这些东西都是宝贵的史料,你必须自己写出来。几年后来电话说写完了,但不愿出版,说是不想起到可能干扰国家大政方针的不良影响,我说不服他。

2010年他再次来到北京看我,我带着全家,举着“欢迎雷伯伯”的大字到机场接他。他终于带来了十年前就已写完了的手稿,32万字,委托我全权处理,包括编辑修改。我托人将手稿输入电脑,集中了一段时间,什么事也没干,专心修订雷的文稿,有增有减,得30万字。其实我非常强调那种口述历史式的原汁原味的文字的价值,所以我的修订以尽量不改为第一原则。但雷兄这次来京,一到家就对孩子们发表了声明:说他说的还是40年以前的中国话,由于大半辈子住在很少有中国人可以作为交谈对象的外国小城,又几乎几十年不接触纸笔,好些中国词语都忘记了,如果听不明白,可以随时提问,他不介意。读他的原稿,似乎确有这种感觉,所以,我的修订只着重在文字和文学处理方面,如原稿不够规范、病句……等硬伤和稍欠炼字炼句细致推敲处,或不必要的情节枝蔓,以及顺序的调整等。

至于原稿的内容,作者说:“全是真人真事,绝无捏造之处”(不一定真名),加上作者惊人的记忆力和广泛的学识、敏锐的观察力和判断力,却都是些难得的史料,不但具有个人记忆的特殊价值,更是那几十年的苏联,包括中亚各国尤其哈萨克斯坦的社会相、众生相、世间相的写真。那种异国风情,异域格调,对多达几十个民族的文化和生活,对苏联尤其是苏联解体前后那段时期的社会生态,对在那里生活的形形色色的中国人,以及从彼时彼地得出的对中国的观察……都在书中有了极其生动真实而丰富的表达,具有很强的可读性和知识性。比起现在已经常可以读到的中国人在西方的经历,更具有稀有的独特价值。因为,苏联与俄国和中亚这一领域,正是中国读者最不了解的,而由于历史的和地缘的关系,可能也正是我们应该更多知道的。对于这些,修订者没有权利擅加改动,都仔细保留下来了,尽管人们不一定会完全同意书中的判断。对于书中显现的作者“湖南骡子”式的率真而“霸蛮”的个性语言,也全都保留了。

至于作者从一个久居国外拥有亲身感受的角度,以自己几十年如一日的爱我中国爱我民族拥护改革开放的坚定立场书写的忠贞的一生,对国人发出的一些衷心之言,我想,就更不必求全责备了,就当作是一位早已过了“从心所欲”之年的一位老人的坦率心声,给以宽容的理解罢!

修订中,经过本人建议,作者增加了最后一章“余音——我与沈元”。这不仅在于沈元与作者的密切关系(以至作者的逃亡也与沈元之惨遭杀害直接有关),更在于沈元这个人物,本身就值得在历史上留下浓浓的一笔。

2011年2月于北京

 

目 录

前言

编订者言(萧默)

第一章 历史的大玩笑:一个反苏分子出逃苏联

凄风苦雨之夜

军营初审

受审三月:记住!逃命也不能到敌国

第二章 第二次逃亡

初涉苏联

开始打工

集体宿舍一瞥及其他

老华侨(形形色色的中国人之一)

有一个叫牛水的中国人(形形色色的中国人之二)

密友刘立中(形形色色的中国人之三)

逃亡伊朗失败

又一次边境被捕

第三章 在KGB监狱和南西伯利亚流放地

铁窗七月

流放地一瞥 世界最浪费的农业

垦荒地上的农奴和中国逃亡者(形形色色的中国人之四)

《梦想新中国》

沉重的劳动和无休止的迫害

第四章 定居塔拉斯 重为中国民

中苏交恶中的新老华人(形形色色的中国人之五)

苏联工业 世界最大的次品加工厂

难忘1976年

有了自己的家:妻子,儿子

女儿:“我是中国的好娃娃!”

《一个红卫兵在苏联的遭遇》

中越之战 苏联色厉内荏 刘立中兄去世

可悲的无国籍者

恢复中国国籍

第五章 苏维埃帝国解体

女儿:我们最大的骄傲

阿富汗战争 帝国解体的前奏曲

葬礼和婚礼

回光返照和积重难返

大使馆请客 领事访侨

戈尔巴乔夫开局不利

第一次回国探亲

在母亲的怀抱里

风波:又一个难以愈合的伤口

第二次回国

“老革命”和 “太子党” (形形色色的中国人之六)

苏联气数已尽

余音——我与沈元

附录 高华:一个“外逃者”眼中的苏联

——评雷光汉《苏联流亡记:一个中国反苏分子的家国情怀》

 

第一章 历史的大玩笑:

——一个反苏分子出逃苏联

凄风苦雨之夜

1970年4月24日午夜,两天大雨之后,恰逢天山融雪季节,是中苏界河霍尔果斯河一年中水量最大的时候。最深处水深达到两米,咆哮着翻滚着。我和衣涉水,水淹及颈,在浅水的地方也几次全身冲倒在河中。只好顺水斜切,艰难地走到对岸,从头发到鞋袜已全身湿透了。幸好下水前我用力把眼镜架扭弯扭窄了,近视眼镜还在眼上。

风萧萧,夜沉沉,下旬的月亮光线透出了云层。回望对面高山的阴影,前面邻国边境线上高高的铁丝网隐约可见,还有从远处扫射过来的探照灯光和巡逻车的车灯光,像鬼火一般刺破了黑黝黝的夜空;饿狼嗥叫声,河水翻腾声,一起交织成恐怖的边界之夜,但在我心里已经没有一点恐怖的感觉了。十几年来,挨斗,挨骂,挨饿,挨劳改,我日夜生活在恐怖之中,早就患上恐怖麻木症了。同时,尽管春寒料峭,全身湿透,我全身却热血沸腾,似乎寒冷也离我而去。

我在河岸边的一块大石头上面朝向东方——我的祖国——坐了下来。我知道我已置身异国的土地,一泅过界河,再越过铁丝网就踏上了不归路,而这个国家却是我亲爱的祖国的敌国。我当了十三年“右派分子”,五年“黑帮分子”,家破人亡,在五百米深处煤矿矿井劳改,也许还要押上断头台。罪名只有一条,反苏,反斯大林,反对俄国和苏联分割我国大片领土。但鬼使神差,求生的本能却把我驱使到我反对的这个国家的土地上来了。

我思绪绵绵,全身的热血也沸腾起来。我一定要活下来,活下来亲眼看到那些暴君奸贼的下场,看到祖国的新生。我怎么也不能相信一个有着五千年文明,经历了那么多大灾大难而没有倒下的中华民族会长期沉沦。我看透了“文革”当局的宣传,却又愚蠢地相信了“苏美合作,主宰世界”那一套说法。既然苏美合作,那么到了苏联以后,就可以有机会转到其他地方去了。我要去到有中国人的地方,第一个选择是台湾,其次是新加坡。我不愿意去香港或澳门,我和仇恨日本人一样仇恨英国佬和葡萄牙鬼。

我们土家族是相信报应的,我已经看到一些大人物的报应了:列宁儿女皆无,斯大林一个儿子死于德国战俘营,一个儿子喝酒醉死,女儿则逃到了国外。我相信陈毅元帅的口头禅“善有善报,恶有恶报,不是不报,时辰未到”。我要活下去,活着看到各色人们的下场。我一介书生,没有能力报复人。但活着看到他们的下场应该还是有可能的。

月亮从云层中露出,大概已经是下半夜两点钟了,我站起来向铁丝网走去。走了二十来米,到了铁丝网外面拖拉机犁成的耧松土带,有十来米宽,寸草不见,苏联瞭望台上的探照灯光把铁丝网上空的黑夜变成了白天。黑鸦鸦的铁丝网迤逦远去,不见尽头,几万公里的苏联边界都是用铁丝包围起来的。后来我在苏联听有人发出如此的感慨:什么是共产主义社会?列宁说是苏维埃政权加全国电气化,老百姓说是苏维埃政权加全国边界铁丝网通电化。

我走近铁丝网一看,第一道网有两米多高,像鱼网一样拖在地面,没有剌。我想抓着网眼爬过去,谁知脚一踏上,软绵绵的,既不能用力也无法着手,一下子全身陷入网中,一寸也难以移动。我只好倒下身子滚了出来。第一道就过不去了。怎么办呢?我走过去细心观察,发现铁丝网外端并没有在地面固定,一掀就起来了,也不重。我拉起网钻了过去。紧接着的第二道铁丝网很高,带刺,还密得很,跳不过也钻不过。我抓着铁丝一点点小心地向上爬,终于翻了过去,两手被刺得鲜血淋漓,脚下的解放鞋鞋底也刺透了。后来审问我时预审官告诉我说,我把他们的三根铁丝都踩断了。第三道铁丝网没什么困难,很低,一跳就过去了。过铁丝网以后是又宽又平的柏油路,新疆那时还没有如此好路。公路两边的电线杆子从上至下全都漆满了柏油,不像新疆的只漆了下面一小段。再看电线杆上的编号,写的是俄文字母,使我确信是逃到苏联来了。

这里要补叙一句,其实我逃离霍城已经两天三夜了,我是投水自杀没有成功才起意逃亡的。我投的就是霍尔果斯河,夜里,慌慌张张地,我找的投水的地方水太浅,求生的本能使我老是沉不下去。我不知道别人会怎样,反正据我的体会,要让下定决定自杀而没有成功的人再下一次决心,是多么地困难。我只好逃进山里。这几天,我除了在天山坡上摘了一些贝母花吃和喝山沟的水外,再没有吃过一点东西。因为饥饿,疲劳,加上逃亡出来以后,绷紧的神经一下子松了气,我再也无法挪动一步,一下子倒到了公路边。似乎是过了十来分钟,从南边远处出现了汽车灯光,一会儿,唰地一下,一辆吉普车已停到了我的身边。车上跳下一名军官,两名士兵,还牵着一条大狼狗。大概铁丝网上有微波显示器,一有人越境他们马上就能知道,而且可以判断出发事地点。两个士兵把我从地上抬起,双手反背,绑了起来。天啊!我已经成了犯人。军官的肩章上有一道杠,两颗星,是个中尉。他们没有说一句话,把我推上车就往回开。很快到了一所军营,进到一间房子,还有四五名士兵在那里等着,都是碧眼黄发的俄罗斯人。一名士兵给我松了绑,指着凳子叫我坐下,又提来一壶水,还递给我一块肥皂,叫我把手洗干净。他们中间没有一个人会说中国话,我虽然学过俄语,但不会说。他们比比划划地不断问我,我却一句也不懂。好在我在中学学的英语还没有完全忘光,说了一句“I want rice“(我要吃的),没想到,一名士兵居然听懂了,立即端来了一杯茶和一个铝制军用饭盒。打开盒子,里面有半盒荞麦米饭,两片面包,一个白水煮的鸡蛋,一小块黄油,三四片香肠,几片酸黄瓜和两个酸西红柿。我接过茶杯,一口就把茶喝光了,是红茶,还是甜的。茶里也放糖,是我第一次喝到。我在内地时,茶里是不放糖的;在新疆,茶里加的是盐。我狼吞虎咽,几下就把盒饭吃光了,他们打手势,意思大概是问我够不够?我再说了一个英语单词:“Also”(还要),他们又听懂了,又端来了一盒,我又吃光了,也饱了。那位士兵能记忆的英文单词大概与我也差不多,结结巴巴只有几十个,但还是问了我不少。他见我全身沾满了泥巴,知道我是爬过天山泅水过来的,说:“你们中国现在在搞‘文化革命’,天天杀人”。他还说:“上级有命令,凡是从中国逃过来的,不能开枪,要抓活的。”我问他如果发生相反的情况呢?他作了一个开枪的动作,还告诉我他是乌克兰人。吃饱喝足,我们用英语单词“闲谈”了一会,天也朦朦亮了。一名士兵走进来,把我带到军营大院,指着台阶上的一间小房,叫我进去休息,一看是士兵禁闭室,里面只有一张铁床,床上只有床垫和一件昵制军大衣。门外一名士兵持枪守着,还卧着一条大狼狗。我把全身湿淋淋的衣服脱光,挂着,只穿着已被我的体温烘得半干的内衣裤,盖着军大衣躺了下来。军官递给我一盒烟和一盒火柴,一看烟盒上的俄文,是“五一牌”。我点燃了一支,这是我第一次抽带过滤嘴的烟。也睡不着,仄着身子望着外面。卫兵不断地向我打着各种莫名其妙的手势,原来俄国人喜欢用手语,比中国人的手语丰富得多。太阳升起了,是个大晴天,我变成了军营里的稀有动物,成群的士兵,单个的,两三个的军官家属跑来围观,有笑嘻嘻的,有板着脸的,指着我说着外国话。小姑娘、大娘子们一个个碧眼金发,胸饱腰细,也不怕冷,四月份就穿着短袖布拉吉。洋女人健康而漂亮,我第一次如此之近,又如此之多的看到她们。

军营初审

中午时,给我送来了同样的盒饭,外加饭后喝茶时吃的两个小白面包。苏联计划经济体制下的生活模式化可真算到了家,以后不管我在军营里,KGB或者公共食堂吃的份饭都是一模一样的,变化的只是主食,有大米的,荞麦米的,麦片或面条几种。吃完午饭,一名少尉军官拿着一个长本子到禁闭室向我问话了。长本子是中文对话手册,用俄文字母拼写的中文对话。他直板而生硬的问我:“你是民兵吗?”我摇头,“你是干部吗?”我又摇头。接下去是一串:“你是工人吗?”“你是医生吗?”“你是售货员吗?”“你是社员吗?”我都摇头。最后他问:“你是教员吗?”我点头了,他也点了点头,走掉了。在以后审问我的过程中,“你当过民兵没有?”“民兵发枪没有?”是频率最高的问题。当时苏联正准备向中国开战,后来我了解了,苏联兵最怕的不是我国装备陈旧,训练落后的正规军,而是民兵和我军传统的游击战。面对中国式的游击战,哪一个军事强国都会心惊胆战,所以他们特别关注于“民兵”。下午四点,一辆吉普车迳直开到禁闭室前,车上走下了一名肩章上一道杠,四颗星的哈萨克大尉,还有一名俄罗斯中尉。一进禁闭室,就用中国话向我问好。中尉是翻译,他简单地问了我在中国的经历,文化程度和出逃苏联的原因,说:“雷同志,现在我知道你是一个很文明的人,我们要带你到另一个地方去,那里有中国话说的和你一样好的翻译,还有大首长。”我听到他称我为“同志”,这个我在中国已经几年没有听到过的称呼,感到又新奇,又很有感触。随即,他们叫我穿上半干的衣服,就上车出发了。中尉和我坐在后排,车窗全用黑绒布罩着,外面的什么也看不见。我担心车往东开,害怕他们把我驱逐回去,掀开黑布想看看行进的方向。中尉马上把我的手拉开,说:“现在不要看,以后看。”既然还有“以后看”的机会,大概是不会立即把我送回中国了,我稍微放了点心。

不到半个小时,车子开到一个村庄边的一栋小房子前,四周全用两米多高的木板围着,院子里只能看到远处的电视天线,是对越境中国人初审的地方吧!因为吃饭时有筷子,客厅里不时放着“文革”时中国放的民族音乐,军官们也都会说几句中国话。下车后,一个三十来岁,穿便服的中西混血模样的人前来与我握手问好,他说的普通话比我的带着浓重湖南乡音的普通话还要标准得多。他告诉我说,五十年代他在北京上过学,星期日常常去西山玩,因为听说毛泽东住在西山,他想是不是可以看见毛。他把我带进一间办公室。正面桌子边坐着一位俄罗斯上校,五十来岁,表情十分严肃。上校也向我握手问好,叫我在他对面的椅子上坐了下来。混血翻译坐在我的身边,靠墙还坐着一名俄罗斯上尉和一名俄罗斯中尉,面前小桌上摆着记录本。后来,我知道这两个人也都会说流利的中国话。这位俄罗斯上尉很活泼,言语诙谐,不时还和我开个小玩笑什么的。初审开始了,自然,上校是主审官,审问通过翻译进行。先问了我的姓名、出生年月日、籍贯和出生前的地址、职业和文化程度(后来在每一次审问中,这一套都是开场白)。

正式开问的第一个问题是:“你为什么要逃到我们苏联来?“

我回答:“现在中国正在‘一打三反‘,天天杀人,我是为了活命,才逃过来的。”一下子,个人的苦难,虎口余生,受难的亲人,受难的同胞,全浮到了我的眼前,我禁不住失声痛哭起来。

我1935年10月15日出生在湘西石门县一个土家族农家,六世祖是江西客家人迁入湖广的移民和本地土家女人成婚后传下的后代。我的家族是中国的亲子家族,只看看我父子几代的名字吧:祖父雷立庭,建立家庭,家庭组成国家;父亲雷震旦,震旦系中国古名;二叔雷震军,振兴军队;三叔雷震中,振兴中华;1941年我发蒙上学,正值抗日炮火熊熊,父亲给我取书名雷光汉,光复汉家天下。1956年我已经是北京大学的学生,知道了我属于土家族。当时学魏晋南北朝史,授课的是著有《两晋门阀制度》的一代名家田余庆先生,也是湖南人。在上质疑课时,田先生听到了我一口湖南腔的“国语”,便问我:“你是湖南人吧?”我回答是石门人。他马上引用了一句屈原的诗和一句嘲笑湖南土腔的古诗,教我纯正口音(到了1995年,我到了北京用电话向他请安时,他还记得我是石门人)。田先生告诉我:“我的田姓起源不是汉姓,你的雷姓也不是汉姓。你去查查你们的族谱,你祖先大概是少数民族。”不久,开全国政治协商会议,从报纸上读到了社会学家潘光旦和历史学家向达(我的老师)鉴定湘西土家族的长篇发言,我知道自己是土家人了(仅仅因为这个发言,潘、向两大学者1957年都当上了“大右派”)。那时北大有个好规章,每个系办公楼墙外都掛着信箱,每个学生都可以投书向本校任何教授,包括校长马寅初提出问题,一个星期内定能得到答复。我就给向达先生写了张纸条,询问我的族籍。两天后,在未名湖边我遇到了手里抱着一大摞书的向先生,当中还有英人写的介绍西藏历法的英文书,我还好奇地翻了翻。我向向先生鞠躬后作了自我介绍,他在湖边的石头上坐了下来,详细给我解说了古代巴人、蛮人、楚人的历史变迁,和东汉大将马援的南征,以及明清两代在湘西的军政设置。叫我到图书馆善本室去查湘西州县的地方志,还说如果善本室进不去,可以找他帮忙,因为他兼任北大图书馆馆长。他还告诉我他自己是沅陵人,是土家族,向,覃,雷三姓是我国南方少数民族的大姓。我一下恍然大悟,覃和向是我家乡两个最大的姓氏,在古墓地里常常可以看到刻着某“指挥使司”,某“都指挥使司”就是所谓土司的墓碑。我家对山有一处地方叫司命台,就曾经是土司衙门的所在。东边一处山头叫烽火台,是古代在少数民族地区设置的军事通讯点,用作设燧点火。石门邻县桃源县还有马援南征的遗迹。马援的马蹄声唤醒了武陵山脉和雪峰山脉崇山峻岭中我的先祖:你们属于中国!从此这里的人民就成了中国最忠诚的子民。看看百余年来一连串威名赫赫的爱国名将和政治家的名单吧,左宗棠、蒋翊武、宋教仁、覃振、郑洞园、向军次、贺龙、粟裕……还有同样的有名的文人们:严北岳、俞鸿远、向达、翦伯赞、沈从文、丁玲、黄永玉……湘西出名将、出才子、出美女,但他们的命运又多有“情深不寿,强极则辱”者。

我的乡族先辈参加了1840年鸦片战争以来历次为中华民族命运而的争的战争。我稍知世事即逢上抗战中的常德大血战,国民军一个师的官兵全部阵亡,日本鬼子还在我的家乡打细菌战,杀死了几万同胞。我们全家逃到湘鄂交界的大山上去。进攻我们家乡的鬼子大部分是朝鲜部队,实行“三光”(杀光,烧光和抢光)。家乡成了最接近前线的后方,到处设立着兵站,医院,新兵训练站。当年还是童子军的我天天跟在抗日军人们后面跑,学打枪,学唱抗战歌曲,玩抓汉奸的游戏。1940年我五岁时父亲参加县里的抗日自卫军训练归来,教我唱“向前走,别退后,牺牲已到最后关头”,这是我学会唱的第一支歌。我还学会了不少字。那年祭祖时,记得我雷氏宗祠大门西边的新对联上有一联是:“皮之不存,毛将焉附”。六岁上小学受到了系统的激动人心的爱国教育,背会的第一课课文是“好男儿,当兵去!”第一个口号是:“国家至上,民族至上!军事第一,胜利第一!“最先记住的古诗词是岳飞的《满江红》和文天祥的《正气歌》。九岁时能全篇背诵战区军政长官薛岳将军的《告湖南全省父老同胞书》。今年(2000年)我已六十五岁了,还能背诵初小语文的一段课文:“他抬头看,是祖国蔚蓝的天空;低头看,是祖国芬芳的草地;四面看,敌人包围上来了。他掏出手枪,把子弹射向敌人,最后一颗留给了自己。”记述的是一位国民军空军勇士驾机轰炸上海日寇淞沪警备司令部后,飞机被敌弹击中,他跳伞后自杀殉国的壮烈事迹。三年级时学了民族英雄张煌言传,他随郑成功率水师攻进长江,“登金山遥祭长陵,三军皆痛哭失声”的文句是我到死也忘不掉的。我在他乡异国受罪时,每当心里浮上这些文句,便会增加几分生存的力量。抗战胜利前夕我们返回家乡,大好楼宇,成片的街区全都成了瓦砾之场。我从小对日本鬼子就仇恨至极,更痛恨日本军国主义者至今不向中国谢罪,赔偿中国的损失。对大口一张就放弃了几千亿美元日本赔款的领导人,我不认为他们是爱国者,对李登辉、吕秀莲等人,更认为是三流的认贼作父。中华人民共和国成立后的第二年,1950年秋天,我复学上初中二年级,抗美援朝战争爆发了,我曾申请参加志愿军,因年小未获批准。如果当年战死在战场上,也不会有后来那么多的罪受了。

我幼小时也知道了俄国和苏联侵略我国的诸多血迹斑斑的历史。中国地图象一张美丽的秋海棠叶,以后残缺不全了,北边被剪掉了一大块,是俄国人强占走的。“外蒙独立”,真正的策划者是列宁和斯大林。我的家乡有不少人当过兵,在日本投降后随部队接收东北。他们回乡后说,1945年苏军出兵东北,烧杀奸淫,比日本鬼子还坏。二次大战时日本三分之一的工业在东北,所有的工厂机器都给苏军抢走了,连铁轨都拆走了。上学后学习“中苏友好同盟条约,”心里就想:“既然中苏同盟,为什么还要和我国共管旅顺,大连和中长路?”为什么中苏合办三大航线:北京至伊尔库茨克、北京至赤塔、北京至阿拉木图,航程在中国境内一长条,在苏联境内只有一小截?这不是不平等条约的继续吗?还有在新疆合办石油和金属公司,真是从海上到天上,从地面到地底,苏联都向中国伸手了“。从此,一看到那个时候无处不在的斯大林画像,一看到占满报刊版面的对什么“可夫”,“斯基”之类人物的表彰,我就咬牙切齿,不屑一顾。1957年,共产党定我为“右派分子”,最主要的罪状就是反苏,1966年又定我为“黑帮分子”。当过中共霍城县委书记的工作组长给我断定的罪行还是“反对革命时期的苏联,反对斯大林”。尽管当时从最高统帅毛主席到每一个红小兵都当了反苏修的急先锋。一个顽固的反苏分子却要冒着死的风险越境到苏联来了,不能不说是历史的恶作剧。可是要虎口求生,我别无选择。

家国同难,中国已国不成国,我的家也是泰山压顶。我的祖母、三叔在1960年的大饥荒中饿死。现时我父亲天天被捆绑着在斗争台上挨斗,母亲在生产队劳动一天后还要拖着三寸金莲去向大队治保委员汇报。两个弟弟被开除公职,回乡监督劳动。我一门四寡:大姑父死于宁夏黄河边的劳改农场,未婚二姑父在湘西苏维埃运动失败后被国民党枪毙,三姑父在“反右”时上吊自杀,小姑父土改时只有17岁,和他母亲在一根绳子上上了吊。

但是,我一个堂堂华夏子民,和苏联人讲这些,有什么意义?我热爱祖国,没有做过一件对不起祖国的事,但是,现在却连一块容我活命的地方都没有了。我悲从中来,放声大哭。

翻译站起来拍着我的肩膀说:“雷同志,不要哭了!”还拿来毛巾给我。接着,完全出乎我的意外,上校从制服上衣口袋里掏出来一大叠人民币,都是崭新的十元票子。递给我看说:“我们的人民币多得很。现在,我可以给你很多钱,要你回中国去给我们执行一项任务。你完成任务回来以后,我们不仅收留你,还会给你像部长一样的高级生活。”听完以后,我一下子蒙住了。他们是要我回中国做特务啊,敌国毕竟就是敌国!好在我在两天三晚的出逃路上,已经就我的知识范围作好了如何应对苏联盘问的准备。这还得感谢1955年中国的肃反,那时,可能是为了提高人民的敌情意识,翻译了许多苏联的“反特”小说,我就读过不少,知道他们的那一套。要我回中国“执行任务”,可能只是一次“考验”。我立即回答:“我是一个读书人,当不来特务。我是逃命出来的,也不想长期住在你们苏联,我希望到台湾或新加坡去,生活在我自己的同胞中。我在任何时候任何地方都不会从事特务活动,反对我的祖国,反对我的同胞。这个决心我是下了的,你们不要为难我。”上校听了以后,一下脸就变黑了,厉声说:“你不听我们的话,马上把你送回中国去。”我又回答:“我是由于受中国当局的政治迫害逃到苏联来的,属于政治难民。联合国也规定应该保护政治难民吧,我还读过《苏联宪法》(在上高中时,我真的读过《苏联宪法》的英文译本),你们的宪法也有保护外国政治难民的一条。”上校听后,知道我不大好对付,稍稍改变了态度,还出现了笑容,可仍然不断劝我“去中国执行任务”,还说“我们会教给你活动的方法,不会出危险。”一边说一边拿着人民币在我眼前晃来晃去。我穿着湿衣湿裤湿鞋子,肚子也空了,饥寒交加,再无力和他们纠缠,不得不亮出了我的最后态度:“既然如此,你们把我送交中国边防军吧,我宁肯在中国被枪毙,也不会当外国特务。”

局面僵住了,上校又恢复了一脸凶相。正好哈萨克大尉进来了,对上校说了几句话,翻译站起来说:“问题暂时讨论到此为止,现在我带雷同志去洗澡换衣,然后吃晚饭。”带我到浴室后,我平生第一次洗了大盆汤的热水澡,洗完后擦身子的“毛巾”,却只是一块粗纹平布,和我家乡农民用的澡巾差不多,根本就不能称之为“毛巾”。果然言不虚传:苏联的轻工业可落后着呢!给了我一套旧西服,还有一件白布衬衣,号码都大。房子里有暖气,穿着西服也不觉得冷。晚餐很丰盛,大盘的牛肉烧土豆,肉饼子,煎鸡蛋,菠菜汤,还开了各式各样的凉菜罐头。从罐头上的商标,我认出来是保加利亚生产的。桌上摆着一瓶白兰地酒和一盒盒哈萨克斯坦牌的带嘴香烟。

我在这里被软禁了三天,顿顿饭都是这样。后来我才知道,在苏联,这就算是上等宴席了。和我一起吃饭的就是那五个人,上校,大尉,上尉,中尉和混血的翻译。大尉是哈萨克人,其余四人都是或自称俄罗斯人。吃饭时,上校一改严肃之常态,客气地劝我吃菜,喝酒,饮酒前还碰杯,还说:“为中苏友谊而干杯!”文革以前,我本来是滴酒不入的,文革挨斗时,借酒消愁,常常一个人悄悄地去新疆生产建设兵团开的小饭馆买酒喝,一来二去,我的酒量得到锻炼,才发现自己是一个很能喝的人,酒量可以算得上是惊人了。1968年。在乌鲁木齐我还曾和一位落难朋友赛酒,席上无人能敌,并随口吟出了“且看湘涟百尺水,能淹中华八亿人?”的“豪语”。但此时和苏联军人相比,我也只能甘拜下风,真是小巫见大巫。我是一次一口,他们是一口一杯。吃吃停停,还唱歌助兴,他们几个人唱了《莫斯科郊外的晚上》《莫斯科—北京》,我也唱了两支:《松花江上》和《秋水伊人》,都是我在四十年代学会的。祖国啊,逃到外国才两天,我就想念你了。唱了又吃,还要跳,几个男人抱在一起跳交谊舞,上校还跳了乌克兰马车舞,我也跳了几下秧歌。闹着闹着,半夜以后才睡觉。我和混血翻译睡在一室,床上没有被子,盖的只是白布单子上放条薄薄的毛毯。今晚是开始出逃后是第四个晚上了,我才在床上睡觉。我睡不着,只感到焦燥,惶恐不安,不知道明天又会碰到什么。

第二天,四月二十六日了,我起的早,洗漱之后,走过几道门去到昨天吃饭的餐厅,见到他们还在睡觉,上校合衣裹着毯子躺在客厅的长沙发上。性格活跃的上尉也跟进来了,窗台上有一架收音机,他打开了,把波段拨到我国中央台,正是早上的“新闻和报纸摘要“节目,报道我国第一颗人造卫星上天了,中国有了自己的人造卫星,我十分兴奋,喜形于色。令我略感意外的是,上尉也用中国话向我表示祝贺,使我感到我虽已身逃外国,仍然有当一个中国人的自豪。

上校接连询问了我两天,主要关注我的社会关系,特别是在苏联有没有认识的人。我一下回出了三个。第一个是徐英斌,是我在霍城一中教书的同事。他是乌鲁木齐人,在俄罗斯居民区长大,俄语说得好,高中毕业后进入新疆足球队,足球队解散后他下放到霍城一中教俄语。在霍城一中大院内,还有霍城第一小学一位十分漂亮的维吾尔族女教师,是从新疆女子排球队下放下来的,徐和她原系同事,他乡遇故知,两人谈起恋爱来了,帕提曼怀了孕。未婚先孕而且搞的还是少数民族女人,这可是徐的大错误。两个人都害怕了,1962年边民外逃时,双双逃来苏联。第二位安东诺娃,是莫斯科大学历史系的“副教授”,其实苏联并没有“副教授”一职,实际上是讲师。但中国对苏联派到中国的讲师都给予“副教授”的专家待遇,而中国派到苏联的副教授,苏联却只按讲师对待。在中苏交往中吃亏的老是中国一方,整个中外交往往都是如此,而管事的官们又老是自以为是,听不进去别人的意见。第三位叫刘克福,是苏联人,北大历史系苏联留学生,起了个中国名字。五六十年代时,北大的苏联和东欧各国的留学生很多,刘克福与众不同,他不住留学生宿舍,而和中国学生住在一起,不进留学生食堂,而在大食堂吃饭,为人随和。我们住在一层楼上,天天见面。1958年修十三陵水库,我们编在一个排,他劳动卖力,评为先进。他的妻子是中国女人,四川籍,原来是解放军总政文工团的演员。总政文工团去苏联巡回演出,刘克福是随团翻译,两人谈恋爱并结了婚。1994年我探亲重回母校,和田余庆先生通电话,田先生告诉我他去台湾讲学时在台北遇见过刘克福,原来他们夫妇都去了台湾教俄文了。

上校反复询问了我和他们的关系,做了详细记录。可以说这三个人帮了我很大的忙,因为他们证明了我的身份,在以后审查中少了不少麻烦。

在这两三天,每天只向我问两三个小时的话,剩下的时间都是吃喝。闲谈中他们还非常注重从我身上挖中国的军事情报,特别是民兵是不是发枪了,是不是经常有军事训练。对此,我一向是一问摇头三不知。我发现他们非常熟悉中国,知道一个书呆子老右派新黑帮长期受到管制,当然和“军事”沾不上边。后来也就再不问了。上校相当有学问,闲谈中还就马尔萨斯人口论和中国的人口问题,伊斯兰教的历史和哲学,高尔基的作品发表了他的看法,还当面用阿拉伯语背诵可兰经。幸好我多年积累的一些旁门外道的知识没被他问倒。在谈及中国人口问题时,我还批判了马克思在《资本论》中提出的人口学说,他也点头称是。一次吃饭时他突然问我:“你说中国权力最大的除毛泽东外是谁?”我随口而出:“当然是林彪”。他马上说:“不对,我看是谢富治。”我吃了一惊,不知他的根据何在。他又接着说:“你们中国也有KGB,头子是康生。”我吃惊了,因为是第一次听到。他一边谈话一边喝酒,可真有海量,常常用面包干浸到白兰地酒中,一下就吸干了半杯,两口就吃掉了。几个翻译也常常与我天南海北的瞎聊。苏联的边防军属于KGB管辖,他们也都是KGB的官员。多年和他们打交道,我发现他们有几个共同的特点:一是文化水平高,都是大学毕业,国际国内,文学艺术,科学哲学都能说一套;一是维护苏联利益的立场非常坚定,只要与苏联有关的事情,对的一方总是苏联,错的都是外国。譬如谈到两年前苏军入侵布拉格的捷克事件时,他们说:“雷同志,你要知道,社会主义国家间的关系除了国际关系以外,还有一个阶级关系,我们华沙条约集团出兵捷克是履行无产阶级的国际义务。”当时苏联到处扮演着“国际专政”的世界警察角色。第三个特点就是态度和气,言谈随便,也没有开口禁声的高强度保密观点,不像中国同类官员们那么“敌我界限分明”,满面严肃,气势逼人。上尉还告诉我苏联姑娘多好,说他的娘叫他记住一个俄文词,是钓女人的诀窍。我不明白,去请教混血翻译,他一本正经的骂道:“厚颜无耻。”晚上睡觉时,混血翻译用相当诚恳的语气对我说:“老雷,你别以为到苏联来了什么都好,要有思想准备,准备吃苦,干体力活。不过你放心,总会比在中国好。”

四月二十八日早上,哈萨克大尉端来了一大搪瓷盆手拉面条和一盆羊肉炒芹菜和韭菜。他告诉我:“我的老婆是维吾尔人,今天我要她做了中国饭菜(其实是新疆维族式的“中国饭”),来招待你这个中国客人。”踏上异国土地后的第四天,我吃到了中国饭菜,连吃了两大盘,自己也不好意思了。翻译见着我尴尬的神请笑着说:“没关系,你现在吃的很多,用不多久就会和我们一样,吃的很少的。”他是吹牛了,我后来发现普通苏联人都很能吃,饭量比我大得多。吃饭时我发现那位混血翻译不在场了。吃完饭,中尉翻译马上通知我:“现在我们要带你到另外一个地方去,因为你是非法越境进入苏联的,而我们的边界是神圣不可侵犯的,所以你现在的身份是犯人,带你去的地方要暂时把你关起来。但你可以放心,我们不会侮辱你的。”随即拎着个大包带我上了吉普车。现在车窗上没有黑布罩了,没走多久开到一座城市,是有名的普非诺夫市,现在更名热尔干特,当时是对付中国的苏联边境军事重镇。

车子开进一座规模很大的军营,军营周围是高高的砖砌围墙,墙顶还有铁丝网。军营中间是操练场,四周是营房,军营中响着雄壮而喧嚣的军乐。他们把我带进一排房子,阴暗的走廊两边是一间间上着锁的小房间,是军中的牢房了。一名士兵打开了一间,里面除一张钢丝床外什么也没有,翻译叫我换上自己的中国衣服。

我从1966年11月开始就开始了劳改生涯,在伊宁市附近的煤矿挖煤,天山下的大东沟修水渠,搬煤块,抬石头,所有的衣服都磨破了,身上穿的蓝色棉衣是好友陆云章(新疆教育学院教师)送给我的。绒裤是在乌鲁木齐新疆民族研究所工作的老同学刘美崧(后任武汉民族学院历史系教授)送给我的,一件黑呢子中山服和一件兔皮背心,是我中学时的恩师张国柱送的,上面都是补丁加补丁了。我换回这身衣服,他们递给我几包烟和一摞子中文小册子后走掉了,把我在军人禁闭室监禁了三夜。每天早上八点钟起床,一名士兵打开牢房把我放出来,叫我到练兵场边的水泥台阶上晒太阳,吃与他们同样的份饭,翻看他们给我的中文小册子。

我用很多时间看苏军的操练,军官指挥士兵操练时不喊口令,全靠音乐指挥,方队前进正步走,齐步走,前后左右走都跟着军乐。乐队在操练场正面演奏,人数多,乐曲雄壮。操练时士兵都穿着黄绿色礼服。军人都带着肩章,士兵们的肩章是带款条的软布条,用条文多少表示军阶。每个士兵胸前都有两枚徽章,一是蓝色盾形,一是有列宁头像的红旗形。我十分奇怪,难道他们都有军功章和列宁奖章吗?后来才知道,盾形的是劳卫制(“准备劳动与卫国”的体育锻炼标准)证章,另一枚是共青团团章。一当上兵,人人都得通过劳卫制体育训练,也都成了共青团员。

下午,士兵训练结束了,我还是坐在台阶上翻阅那些小册子,春天的太阳照的全身暖烘烘的。大部分册子印的是苏共和中共马列主义大论战苏共理论家的应战文章,轰动而肤浅,全篇充满马恩列宁和勃列日涅夫论的引文,文句也译得不通顺,我都只略翻了翻便搁下了,现在一丁点印象也没有了。只读完了一本,是王明(陈绍禹)在莫斯科写的《毛泽东的文化大革命不是革命而是武装反革命》,列举了毛泽东的“十大罪状”。王是中共元老,中共内部共产国际派即亲苏派的头领,五十年代就跑到莫斯科去了,我先还以为他的文章会有些道理的,读完以后却完全是负面感受,批判者和被批判者都没有道理,都是反中国人的,文章当然不会有说服力,不会吸引人。特别是王明在他文章中表露的一副汉奸相,一副苏共奴才相,真叫人恶心。他列举的毛的罪状之一是:“中国武装侵犯苏联领土达曼斯基岛“,我读了义愤填膺,如果王明就在我身边,我会马上给他两耳光。俄国人称的达曼斯基岛就是我国的珍宝岛。“达曼斯基”是一个殖民我东北的哥萨克军官的名字。珍宝岛在乌苏里江主航道的我国一侧,江水浅时和我国陆地连到一块儿,而且岛以北和以东的土地直到库页岛,原来都是我国的领土。指白为黑,为虎作伥当汉奸,可耻的中共元老呵!我当了十几年的反苏分子,阴差阳错,逃命逃来了苏联,我下定决心,决不能当王明类的奸贼。这些小册子都是莫斯科“和平与进步出版社”出版的,我也知道了这家出版社既不和平,也不进步,是家专门出版反华图书的出版社。以后又陆陆续续读到了一些类似的文章,和这些小册子如出一辙:啰嗦的引文,指鹿为马的事实,厚颜无耻的自吹自擂,难怪在论战中他们败下阵来,只好到边界上去向中国动武。七十、八十年代正是苏联的黄金时期,国力膨胀,武力称雄世界,国内经济建设规模大,人民生活也富裕。可是,苏联共产党在精神上已经衰败了,没有理论战斗力了。反观中共发表的论战文章,不管是“两论”(论和再论“无产阶级专政的历史经验”)和“九评”(一至九评“苏共中央公开信”),不说其道理是否正确,但就文章本身来说,势如江海,气吞斗牛,逻辑严密,护己如铜墙铁壁,刺敌若快枪利剑,篇篇都是“雄文”,说明中共那时确实是集中了不少文笔如椽的才子和学如江海的学问家。可惜七十年代以后就再也读不到那样的文章了。十年前读了一篇《人民日报》批判电影《河殇》的文章,逻辑混乱,史实不清,没有文理也没有哲理,也是一代不如一代了。

受审三月:记住!逃命也不能到敌国

五月一日清早,一名士官带了一名东干人翻译来到关我的禁闭室。东干人用陕西土话对我说:“现在我们去坐‘飞船’。”(所谓“东干人”,就是百多年前迁居中亚的中国回民,说的还是两个世纪前的中国陕甘方言,后面我会详细介绍)。士官还把我头上的解放帽摘下,给我披上一件带斗篷的军用风衣。风衣宽而长,把我穿的中国衣裳都遮住了。坐车到了个小飞机场,在一架小飞机前面排队登机。东干人说的“飞船”,其实就是飞机。我发现这里的男男女女都看着我的脚发表议论,使我很不好意思。东干人告诉我说,苏联人全穿皮鞋,没有穿胶鞋出门的,我穿着解放牌胶鞋,他们觉得既吃惊又新鲜。但这个说法并不全对,一年后我在塔什干火车站看到了好多乌兹别克人穿着球鞋。

飞机上的座位是对面排的,只能坐二十几个人。我对面坐着位全身戎装的俄罗斯上校,左边坐着押送我的士官,右边是个很胖的俄罗斯女人。飞机起飞后一个多小时便降落了,走下舷梯一看,是好大的一座停机坪,好大的飞机,停着许多大型伊尔式的和图式喷气式客机,雄伟壮观,以前我只在画报上见过的。坐上电瓶交通车,到了机场大门。出机场后,看到候机大楼顶上竖着“AЛMA—ATA”几个俄文大字,楼前广场上高高的玻璃牌上也写着同样的字。我知道到了苏联哈萨克斯坦加盟共和国首都阿拉木图。士官带着我刚下台阶到广场,一个身着笔挺的黑色西服,一脸庄重的中年哈萨克官员前来用中国话对我说:“你好!”押送我的士官取走了披在我身上的风衣,递了一个大文件包给那位官员,算是办完交接手续,告别走了。哈萨克官员带我上了一辆黑色的伏尔加牌小汽车,叫我坐后排。他坐在前排,正襟危坐,板着脸不发一言。向车外望去,道路平直,特别宽,汽车有序地各走各道,听不到喇叭声,不像中国汽车东来西往都夹在一起,彼此在喇叭声上比高低,行道树高而且大,绿荫蔽日,路两边种着在新疆没有见过的橡树,远处都是树林,其中不时隐现出一栋栋带花园的俄式平房,和伊宁市伊犂区党委大院内书记、部长们住的高干住宅一模一样。进了城,街道也十分平整宽阔,柏油路,似乎干净得一尘不染。两旁的行道树直指蓝天,下面是水泥人行小道。街中间的街心花园都是一街到底,草坪青青,各种花开得姹紫嫣红。车如流水,红男绿女大多碧眼黄发,男着西服整齐,女着各式摩登服色鲜艳。楼房下边有许多用五颜六色的塑料板搭成的售货亭。我数了数楼房的楼层,大多是五层,最高的有十三层,楼房之间都有空地,没有两栋连在一起的。楼式轻巧大方,没有我国苏式楼房那么笨重。车子转来转去,开到一条不宽阔,又十分宁静的街道,从远处我就看到了前面十字路口竖着一尊捷尔任斯基的铜像。捷氏是波兰人,列宁的亲密战友,十月革命后,出任第一任苏俄肃反委员会主席。一看到捷氏铜像,我就意识到我是被押到特务大本营来了。车停到一栋四层大楼前,大楼大门紧闭,虽然位处闹市,门外也是静悄悄的,行人走路似乎都避开它,果然是哈萨克斯坦共和国国家安全委员会中央办公大楼。从外墙的颜色,可以看出第四层是后来加上去的。我在这栋楼房里接受了三个月的审查,1971年下半年到1972年上半年又在楼底层的监狱里坐了7个月牢,所以印象深刻。

大楼呈回字形,全楼都是办公室,除国家安全委员会外,还附带有哈萨克斯坦外交部、对外文化协会共三个部级机关。这说明当时苏联的情报机关、外交部门和涉外协会之类都是“大哥二哥麻子哥”,一回事儿,把从外国进来的人都当成监视对象,派出去的人也都是特务。楼下全有地下室,靠街一面的地下室高一点,用做食堂、澡堂、理发室和卫兵宿舍;不靠街的地下室全是牢房。地下室还有两层的,最底层关的是死刑犯。外国人、政治犯、间谍犯、贩毒犯和犯罪的官员也都关在底层。在附近大街上,每隔十来分钟就能听到从里边响起的机器轰隆声,那是抽风机在给底层地下室送空气。回字中间的广场修了一排排没有房顶的水泥房,则是犯人放风的地方。现在苏联已经解体了,不知这栋楼房做什么用了。

走到大门前,卫兵开了大门,门厅正中楼梯的左边有一张小桌子,坐着一名士官发通行证。哈萨克族官员给我领了通行证后上到二楼,楼道口有关着的钢架大门,有卫兵守卫,看过通行证后,马上去把楼道两边开着门的办公室都关上了,咔的一声,钢门开了,放我们进去,随即关上。走过三、四间办公室,又是一扇大铁门,要用同样的方式通过。最后把我带进一间大办公室,里面坐着一名个子高大穿大尉军服的俄罗斯官员,他站起来和我们握手,说一口纯熟的中国话。哈萨克官员走时,我听他把大尉叫维克多。维克多叫我在大沙发上坐下,说:“我已经派我的工作人员给你买苏联衣服去了,你先休息一下,一会儿洗澡,换衣,吃饭,过后我们再谈。”办公室墙正面是勃列日涅夫的肖像,下面是一张很大的3×4米的中国大地图。后来我知道维克多是翻译科长,他的中国话口音相当纯,还会一些“胰子”(肥皂),“小咬”(虫子)之类的方言词。一会儿,一名长得很清秀,着便装的俄罗斯青年人进来了,手里提着个大包。在以后三个月的审讯中,他不时来找我闲谈。他叫沃洛加,乌克兰人,哈尔科夫大学德语系毕业,正在自学中文和日文,思想也不太正统(苏联人教育水平高,一般人的共产主义觉悟和马列主义修养可比普通中国人高多了),特别喜欢谈论日本问题,他也很仇恨日本人。沃洛加把提包打开,拿出一件件的衣服给我看,有一套廉价的黑色西服,两件棉布衬衣,两件汗背心,两条短裤,还有平布毛巾,盒装肥皂,牙刷,牙膏和一双黑皮鞋。七十年代,尼龙布刚进入苏联,尼龙衬衫和尼龙风衣是高生活水平的象征,苏联官员不管男女,几乎人人都穿着。不管天晴下雨,出门都穿上尼龙风衣,穿棉布衬衣的是穷人,我当然只能“享受”棉布待遇了。其实,穿着棉布要比尼龙舒服得多。当然,我还是感谢他们。沃洛加叫我提上提包,跟他去洗澡,澡堂在地下室,也要通过一道道的铁门和一次次的卫兵盘问才能到达。淋浴洗澡以后换上新装,他叫我把中国衣服都留下来。再带我到旁边的理发间理了发,理发员也是军人,用的是电推子。奇怪的是汗背心前后开口一般大,穿不稳,一走路背心便向肩下滑。回到办公室,又来了几位官员,全是黄毛蓝眼珠的。他们拿来一面大镜子,叫我看看换装后的自己,我已变得年轻多了。与西方人相比,中国人本来就长得年轻,眉目还算清秀,才劳改四年,书生气没有脱尽。一位神态美丽的俄罗斯小姐,穿着白长衫,推来小食品车,叫我吃了午饭。这些人都会中国话,他们用谈天的方式向我问话,问我爬天山,过山沟的惶恐状态,问我“一打三反”,和对苏联的初步印象,态度还算友好,的确并没有侮辱我的意思。

下午四点,一个穿便衣的秃顶俄罗斯老头进来和我打招呼,维克多说此人叫伊万,负责我的生活,今天要带我到临时住处去。又叮嘱说除了房东外,不要对任何人说自己是中国人。他说:“你长得很像朝鲜人,鼻子高,也有点像乌兹别克人,别人要问你,你就说自己是北朝鲜的留学生。”伊万带我走出大楼。上了一辆灰色的旧汽车,司机是维吾尔人,我一上车他便打开收音机,拨到中国的频道叫我听中国广播。车开了很久,出了繁华的大街,到城边一所花园式平房前停下来。伊万一按电铃,一对早已在院子里等着的俄罗斯老夫妇就开门迎接我们。老夫妇两个都身材高大而肥胖,满面红光,看上去快七十岁了。他们拥抱了我,说了一大篇我听不懂的欢迎词。进房门要脱皮鞋换上拖鞋,领我进了给我安排的小房间,开窗便是果树,房内有书桌,台灯和吊灯,挂衣架,一架硕大无比的铜制钢丝床,床上折叠放着厚毛毯。伊万从车上拿下行军床支在大床对面,是为他自己准备的。老夫妇领我参观了他们的住宅和园子,共有四间房,都是油漆木头地板,摆着各种木制家具,墙上挂着油画,壁毯地毯一应俱全,还有厨房和一间三面大玻璃窗的凉房。园子极大,大部分是果园,长着樱桃树,桃树和杏树,没有树的地方种着草莓。五月份正是成熟季节,绿叶点缀着串串红宝石般的樱桃,青色中隐现出小灯笼似的草莓,十分赏心悦目。菜园里种的菜品种不多,只有土豆、大葱、芫荽和茴香。远处还有猪房,养着三头大白猪。屋子里有电视机,冰箱,院内停着小汽车。我数了一下,房子里和院内共有十二盏电灯,还都开着。那些年是中国人穷到了家的时候,我真的惊讶于苏联人生活之富有,相比之下,中国的社会主义真是作孽。

开晚饭了,桌子上摆的菜肴和我以前吃到的差不多,不过,多了几盘自制的香肠和醃肥猪肉,和撒上大蒜末的酸黄瓜、酸西红柿,很可口。伊万和男房东一边喝酒一边吃整根的生葱和芫荽,让我吃惊。他们吃得多也谈得多,我只能听懂斯大林、赫鲁晓夫、勃列日涅夫和毛泽东几个名字。苏联男人爱谈政治,年纪大的人都十分称颂斯大林,也拥护现领导勃列日涅夫,赫鲁晓夫的口碑却十分坏。在我能听懂一些俄语后,我发现毛泽东是苏联全民妇孺皆知的名字,也是中国的代名词,他们认为毛和斯大林是朋友,搞坏中苏关系的始做俑者是赫鲁晓夫,但总的来说毛泽东走的更远,又把中国人的生活搞得那样穷,又喜欢宣传战争。特别使外国人难以接受的是把自己升格为神,要老百姓顶礼膜拜。他们也极其反感北朝鲜的金日成,看到画报上的朝鲜人向金日成欢呼的场面就吐口水,连说恶心。吃完饭,伊万掏出一张小纸片,上面写着俄文字母拼的中国话,与我“谈话”。老夫妇叫不出我的中国名字,老大娘就给我取了个苏联名字,叫阿列克。伊万介绍说老头子原来是汽车司机,卫国战争结束后从俄罗斯搬来的,有三个儿子,小儿子还在当兵。伊万的话半真半假,后来我知道,其实老头子是KGB的退休上校,伊万自己也是退休了的KGB官员,留在机关打杂。伊万这么说,是企图掩盖他们的KGB身份。

而我的“身份”又是什么呢?他们曾说我“侵犯”了他们的“神圣不可侵犯的国境线”,所以我的身份是“犯人”。“犯人”就该关起来,但并没有这样,而是住在居民家里,但也不是完全自由,必须随叫随到,大概接近于“假释”的待遇吧!但看来,他们似乎基本上已排除了我是中国派过来的间谍的可能,只是想进一步了解我,确定我为什么要偷越国境,看看我对他们有什么用,再作处置吧!但我当时还没有估计到,为了看看我对他们有什么用,以后他们竟费了那么大的力气。不管怎么样,既然已经落入他们的手里,也只得这样了,我心里有条线,决不做有悖于祖国利益的事。

“十月革命节”(十一月七日)、五一节和“三八妇女节”是苏联人最重视的三大节日,前二者都放假两天。五月二日吃完早饭,小汽车又把我拉进城到了KGB总部原来的那间办公室。别人都休息了,只有维克多一个人在,从上午九点到下午四点,他一直用随便的口吻问我的话,但都作了记录。他叫我写了自己的简历,又给我一张道林纸,叫我作一首古诗和一首新诗,送给他“作纪念”。我琢磨着他大概是想考我一下我的文化水平。新诗忘记了,古诗我还记得:“夜半渡激流,天佑脱虎口。愿生双飞翼,一作台新游。”他叫我解释最后面那句是什么意思。我告诉他:“我是一个普通的中国知识分子,我爱自己的祖国。我是为着逃命才来到苏联的,并不想在苏联生活,希望苏联政府帮助我到台湾去,台湾是我们中国的一部分。如果做不到,请求送我去新加坡,新加坡与苏联有外交关系。新加坡是以华人为主组成的国家,我希望生活在自己的同胞中。”他听了把嘴一撇,用轻蔑的口气揶揄我说:“你们中国人逃到苏联后都说自己是爱国者,可是谁都不敢反对毛泽东,一挨斗就跑到外国去,你们都是怕死鬼。”听了这话我脸红了,几乎要哭出声来,因为他说的是实话。我十分惭愧,为什么要跑到和自己国家敌对的国家去呢?他又问我:“在苏联的中国人很多,你愿不愿意领导他们起来反对毛泽东?”我马上回答:“我只会读书、教书,从来没有领导过别人,也不懂政治斗争那一套,这种事我根本没本事干。”他反问:“那你去台湾干什么?”我回答:“我是学历史的,在北京大学图书馆的资料室和中国科学院历史研究所的资料室看到了不少台湾出版的学术杂志,知道那里重视中国历史的研究。我可以去研究中国历史,或者到中学教历史课,也可以写小说。凭我的一枝笔,只要到了有中国人生活的地方就可以养活自己。”他听后笑了笑:“你不想给我们写吗?”我又回答:“我不懂中国的军事和政治,也不想为外国人利用。”他问了我一些新疆文化革命和教育改革的问题,又几次问到:“新疆的民兵发枪了没有?”

维克多一直称呼我为“雷同志”,我不理解,因为在中国,称“同志”是有严格的阶级界限的。后来我知道了“同志”是苏联男人间最普通的称呼。称同事是“名字+同志”,对年长者、上司则是“姓+同志”、“父名+同志”或者“职务+同志”,不是只对政治上“自己人”的专称。我十分害怕真的变成KGB的“同志”,向他请教了“长官”和“先生”两个俄文词,牢牢记住了,一直用“长官”或“先生”称呼他们,绝不用“同志”。他还让我解释一些成语和“文革”中出现的新词,诸如新疆的“八野”、“四野”,内地的“百万雄师”、“钟山风雨”、“狂人公社”和“火中取栗”什么的。在后来对我三个月的审讯中,我几乎成了他们的一本“文革”话辞典。他们对红卫兵小报上不断咒骂的“二十八个半”特别感兴趣,先后至少有三个人问过我。所谓“二十八个半”,是三十年代中共中央中反对毛泽东的土地革命路线,拥护苏联路线的共产国际派,为首的是王明、博古、王稼祥,一共二十九个人,其中有一个只拥护路线的一半,所以叫“二十八个半”。

到了四点钟,另一个青年俄罗斯人带我回住所。他说自己也叫维克多,莫斯科大学中文专业毕业的,刚结婚,还没有领到房子,暂时借住在同事家。不过,他能掌握的中文词条不超出三百个,我们两人不容易在语言上沟通。可喜的是,他给我带去了一部刘泽荣主编的《俄汉大词典》和一套巴金的《家》、《春》、《秋》,还有两本《鲁迅选集》,我有书看了。当天晚上,他教我认会了全部俄文字母,还学会了拼音。

两天假日过去,从五月三日起,又开始了对我的正式审问。每天从上午九点到下午四点,中间有短暂的午休。审讯室还是那间办公室,不过室内的格局变了,桌子摆成三面围合的样子,大沙发搬走了。正面的大桌子后面坐着预审官,是前天在飞机场接我的那个哈萨克人,穿着少校军服。右面的长桌后坐着译员,桌上放着大辞典。译员是哈萨克人,高个子,便装,脸上长满了肉疙瘩。对面的小桌子是受审者—我的座位。预审官的桌子上摆着一本打开的大本子、墨水和蘸水钢笔,旁边是几本词典般的书。预审官的手里还拿着一大叠打印好了的文件。原来在我越界后一个多星期内KGB各式人员同我的谈话,早把我的底大致摸清了,他们据此拟出了审问提纲。预审官手里的文件便是,所有的问题都是按提纲的次序陆续提出。审问中预审官不断翻阅那几本书,大概是旁证资料审编和他们编出的《新疆文化革命辞典》之类,内容详尽,从乌鲁木齐到各县的革委会领导人,造反派组织及其头头,军官和部队番号,各次大事件,被打倒的走资派姓名都编进去了。外国人对我国的情报收集很认真,收集的材料周详的很,反观我国对国外信息的收集,却不是那么一会事。不久前我读了一本新疆人民出版社出版的《中亚五国概况》,印于1997年,精装本,洋洋几十万字,编者十几人,打开一看却只能叫人摇头,通篇都是老话、废话,百分之九十是前苏联时代的资料,和现实不沾边,连一张地图也没有。逝去不复返的昨日的历史是今日的概况吗?读那种书只能接受错误的信息,受误导。《儒林外史》中写道“宰相必用读书人”,各种管事也得用读书人,而且还是要有真正学问的读书人,是很对的。

两位官员对我显出了满脸严肃、威风凛凛、杀气腾腾的样子,一改前些天和我谈话的官员们的和气随便。不过这是他们固有的官风,带地方性和民族性的。三十多年中我接触到的中亚本地官员,小到农场的生产队长和工厂车间的工长,大抵如此。都是盛气凌人的,对中国人还显得特别轻视,在白人官员面前他们却战战兢兢,唯命是从。外来的朝鲜人的此种官风还要突出。我想,他们自己大概也有压力,担心被俄罗斯人怀疑他们有“民族主义”,才故意要显得“立场坚定”吧?审问开始,译员说“现在问你的‘自传’”!他说的“自传”指的是姓名、出生年月日、籍贯、文化程度和职业那些一般情况,另外加上了民族、成分和婚姻状况等。我说我出生在湖南省石门县时,他问“石门县在湖南省什么地方?”我抬头一看对面墙上有那张中国大地图,上面印着石门,便指着地图告诉他们了。有趣的是,第二天地图就从墙上消逝了。预审官审我的第二个问题是:“你是不是毛泽东的特务?”苏联人口里毛和中国是同义词,毛比中国用得多得多。我回答“不是”。他又接着说:“我们的政策也是坦白从宽,隐瞒从严”,还厉声的训我“老实些”。接着他按了下桌上的电铃,一名士官拿着我穿过来的衣服和鞋子一样样检查,每个口袋和缝线边边都翻了,还用剃须刀把衣服里子和胶鞋底子都割开来检查,都没有发现什么异常。我口袋里装有一支没有橡皮管的金星钢笔,还是我读中学时一位堂兄从广州寄给我的。从1966年“文革”开始后不给我发工资了,钢笔用坏了没钱买,可是又要写检讨,写思想汇报,写学习毛主席著作的笔记。只好把这枝旧钢笔找出来沾着墨水写字,平时放在口袋里。搜出来后他们可找到了纰漏,问我:“皮管呢?是不是用来传递情报了?”我说明了原因,还说:“我越过霍尔果斯河时全身都湿透了,过界后一直在你们的掌握下,给谁传情报呢?”为此纠缠了好久,最后他们说:“我们看你们以后的表现吧。你要知道,我们KGB是很厉害的机关,不能和我们开玩笑。即使是死人,下了十八层地狱,我们一说声找,马上就能翻出来。”之后向我宣布了三条:“第一,你过界后,边防军一位上校要派你回中国是试探你的,不必介意(果然让我当时就猜中了)。第二,我们全面审查你以后,如果没有问题,可以接受你在苏联生活,不会强迫你回中国,这一点你可以放心,但不能到第三国去。我们苏联法律规定,任何公民要出国必须经过最高苏维埃批准,你现在连苏联公民都不是,怎么能随便出入。第三,你在苏联的一举一动都要遵守我们的法律。”我一听,心里就笑了,共产党人居然也谈起法律来了,这却是新鲜事,我在中国是从来没有听到也没有见到过的。

又继续审问我的“自传”,问我家庭成员的姓名、出生年月日和工作、生活地址。我们中国人的习惯是只记年龄不记出生年月,父母的生日我是记在心底里的,弟妹们我只能说出他们的年纪,要说出出生年月只好算一下再回答。译员见了不断训斥:“难道你连自己弟弟妹妹的出生年月都不知道吗?”满面轻视之色。对我嚷:“你们不会算吗?你们中国人真蠢,还是知识分子呢!”在流亡生活中,好些俄罗斯人都对我说“中国人聪明、勤劳,和德国人一样,不能和中国人开玩笑”,说明他们有文化。但中亚土著民族包括哈萨克人,无论官民,却总是莫名其妙地认为中国人是愚蠢落后不文明的,唉,天底下的夜郎都是一样的自大。回答完毕,他们又问我:“你家里还有人没有?”我回答还有几个一到四岁的侄儿侄女,译员马上反问:“小孩子不是人吗?”但我并没有说他们不是人啊!我只是直接回答他们的年龄而已,他们这么说,是故意侮辱我,我只好低下头不做声。过了好一会,他们喊起来了:“现在你从你七岁到越界到苏联,把你的历史都说出来。我们问你什么你回答什么,要老老实实。”我1942年上初小,正值抗日战争日本鬼子打到我家乡,读书只好断断续续。预审官看着提纲问的细极了,学校名字,在什么地方,校长、教员和同学的名字都一一问到。谈到抗日战争,译员又轻蔑地说:“你们中国人还能打仗?八路军几杆土枪土炮还能打败日本。日本人是我们苏联红军打败的,打蒋介石也是用的我们的大炮和坦克。”我再也沉不住着气了,也高声喊:“你说得不对,我亲眼看到中国军队在我的家乡打败了日本鬼子。美国给日本扔了原子弹,日本要投降,你们苏联才派兵到中国。日本是我们中国和美国打败的,不是苏联打败的。”局面僵住了,我再不能忍受外国人的侮辱,反正我连国和家都没有了,剩下的只有命一条。僵到下午四点,预审官说了声“完了”,结束了这次审问。派另一名哈萨克年青官员监送我去住所。

这个人,房东叫他做伊斯哈尔,装做神态高傲而且高贵,不和我说话,不和我在一间房内睡觉,也耻于和我一用一张桌子吃饭。他和房东们一起在客厅的桌子上吃,把我撵到厨房的小桌子上吃。又是一个逃苏后的不眠之夜,我开始知道了什么是失去祖国的悲哀,什么是受制于人,俯仰由人的苦痛。我从小就以自己是拥有高度的中华文明的中国人而自豪,我也知道了一个有五千年文明秉赋的中国知识分子是没有办法和从来就是受外族统治,失去了民族同情心和理解心的哈萨克KGB分子沟通的。士可杀而不可辱,决不低头输气,我下定了决心。以后,几十年的生活证明,凭着这个决心和这股气去和苏联当官周旋,还是挺有用的。因为其实在中亚掌实权的大多是斯拉夫人(俄罗斯、乌克兰、白俄罗斯)、阿尔明尼亚人和犹太人,本地人和朝鲜人官员都只是仰承他们的鼻息。前者一般的教育水平都较高,说话文明,远比中国的“文革”工作组和“军宣队”讲道理,也懂道理。他们又不开批判会、斗争会,不搞政治运动。还有他们怕啰嗦,更怕负责任。在许多场合他们的道理讲不过我,三斧头又吓不倒我,也就一笑置之了。后者虽然鄙视、敌视中国人,处处以苏维埃制度的忠诚捍卫者自居,气焰不可一世,蛮不讲理,却又是满脑袋浆糊,我很容易在气势上和大谈苏维埃制度的“优越性”的大道理上吓倒他们。他们最欺软怕硬的,只要对他们的无理针锋相对,毫不退让,他们自己就先软下去了。总的来说,对于苏联,从国家到官员到普通平民百姓,最大的特点就是蛮横和唯利是图,还有欺软怕硬,不能用我们中国人传统的道德观念和处世作风去和他们打交道。不知道为什么,从道光皇帝起到我国建政后的中央大员,都没有掌握他们的这些特点,总是丧权辱国,吃了那么多亏。以后我读了金庸先生的《鹿鼎记》,看到他把俄国人刻画得入木三分,大感钦佩。

失眠起床,又要到KGB上班报告“自传”了。有了昨天的经验,我鼓好了满肚子的我大中华之浩然正气,准备寸土必争,绝不相让,与他们舌战几百回合。但也很有些忐忑不安,比“反右”和“文革”挨斗还紧张。因为在“反右”和“文革”中我输得起,这一回却是在外国人面前维护自己祖国的尊严,我是“输不起”的了。谁知一进审讯室气氛全变了,预审官脸上出现了和气之色,翻译官换成了一个俄罗斯人,我一进门他就站起来笑着向我伸出手来,还问候:“老雷,你好!休息得怎么样?”接着吸烟点火。他四十多岁,头发开始花白了,个子不高,消瘦又躬背。他自我介绍名叫撒沙,列宁格勒大学中文系毕业的。一次谈话中他失口了,我知道了他在苏联驻伊宁领事馆当外交官的经历。他的中国话说得很好(虽然仍有浓重的外国腔),语言也有幽默味,爱开点玩笑,是一个老奸巨猾的特务,和他说话时得每一根神经都绷得紧紧地,一不小心就可能上他圈套。他常常叫预审官坐冷板凳,自己对我提出许多问题,而且知道拉关系。一次他问我:“你们北大历史系有没有学成归国的留苏学生当教员?”我一下想起了教我们世界近代史的教员潘××,广东人,刚留苏归来,学问不太深,我们学生都不太服他。那时我们对留苏生都看不上眼,因为他们除了俄文好外,其他无论学识还是写文章的水平,有时连我们这些学生都不如。便回答有,一岔口还说出了潘××的名字。撒沙一下子高兴起来了,大笑说:“看,老雷,我们真是他乡遇故知了,潘也是列宁格勒大学毕业的,我们是朋友。他是广东人,个子不高,四方脸,是不是?他会画画,我还保存着一张他给我画的毛泽东像。”老狐狸很懂得中国的人情世故,以为有了共同的相识,说话便随便了。以后在对我两个月的审问中再没有换过翻译,还是他唱审问者的主角。预审官还得跟据他的提示问案,虽然他的军衔只是个上尉,比少校预审官低两级。

“自传”问得极其繁琐,简直让我烦透了:初小,高小、初中、高中直到大学,时间,地点,有没有休学,原因是什么?经过哪些政治运动,在运动中的表现如何?都要一一详细回答,还要提出证明来。诸多社会关系,近亲近邻,同学好友,都得一一交待。待到问到大学毕业,居然花了二十天。撒沙很懂得心理学,为了套近乎,和预审官说好,叫我和他并坐在一起,不再叫我坐在受审的位子上。桌上有一本厚厚的《汉俄大辞典》,是苏联最有名的汉学家鄂山荫编的。査字法既不用部首,也不用四角号码和拼音,是字的右下角最后一笔的笔划,査个字可麻烦了。我是知识分子,说话用的词挺多,他得老査字典。他懂得利用我之所能,把査字典的任务干脆交给了我,我査起来也比他快得多。预审官也是老资格的特务,从不放过一件没有弄明白的事,也不放过一条他要知道的信息。不过关于中国的事没有撒沙知道得多,我们的毛主席又发明了那么多的新政治名词,如“反右”,“反右倾”,“社教”,“四清”,“文革”等,叫外国人听了瞠目结舌。有时审问中出现卡壳,对每个问题的问与答,预审官都要用蘸水钢笔在大本子上记录下来。问完几个问题,便叫翻译与我校对,然后在每一道问题的回答下签字,没有要求按手印,比中国文明一点。他们很注意我休学时间的生活和暑期生活,也一再问我在公安局、组织部、人事科有没有当干部的朋友。他们认为上述部门都有苏联KGB的职能,每涉及到这些,预审官都不厌其烦地问了又问,详细记录,并且还是打破砂锅问到底。撒沙是一位比一般的间谍还要精明的间谍,在回答问题时稍有失言可能就要上当。我注意到这些,总是十分小心,幸好在这方面我也不知道什么“情报”。审问中,我多次表达了想去台湾或新加坡生活的愿望,他立即抓住辫子要我把在台、新的亲友交待出来。其实,我一个湘西山区生长的农家子弟,在国外有何亲友可攀?他不放松,追问不止,我只好把我在台湾的丈八竹竿才能打到的亲戚说出来。一位是表姐夫,1946年被抓壮丁去台湾的;一位是表伯父向军次。我在《参考消息》上读到过他当过台湾的中美联运司令,我七,八岁时见过他一两面。

撒沙表面上对我彬彬有礼,十分和气。每天给我一包烟,让我随便抽。见到我疲乏了,或者局面僵持了,立即停止审问,开始插科打诨,说些笑话舒缓气氛。他肚子里的笑话也真多,能够随时应景说出来。在谈及潘××时,他说了个讥笑中国留苏学生俄语水平不怎么样的笑话,说:大学生集体宿舍管理员检查卫生,见到两个中国留学生在房间里,问他们:“你们房间里有臭虫和虱子吗?”中国学生回答:“没有,虱子和臭虫都上课去了。”

在苏联,赫鲁晓夫是个人人喊打的过街老鼠,一个老百姓口里的笑话式人物。撒沙也特别看不起赫鲁晓夫,又特别崇拜斯大林,从他的口里我第一次知道了斯大林的二儿子在苏德战争爆发后当兵上了前线,被德军俘虏了。斯大林格勒战役中苏军又俘虏了德军元帅鲍鲁斯。希特勒向斯大林建议用他的儿子交换鲍鲁斯,斯大林回答说:“鲍鲁斯是元帅,你们俘虏的斯大林只是一名士兵,我不能用元帅交换士兵。”这当然表现了他对斯大林的崇拜,我不能判断事实的真假。从他的口里,我还听到了第一个苏联民间流传的关于赫鲁晓夫的笑话:

赫鲁晓夫当了苏共第一书记,衣锦还乡,见到他的一个童年时代的朋友,日子过得很穷。便教训他说:“戈尼亚,你要过好日了,便得学会晚上加班啊!”戈尼亚问:“我晚上加什么班呢?集体农庄主席从来没有派过我。”赫鲁晓夫回答:“你半夜到街上去看看,别人怎么加班你也这么加班,就行了。”戈尼亚记在心里,半夜出门到大街上一看,只见大卡车小汽车,马车,人力车不断向集体农庄的仓库开去,都在往自己家里搬东西,懂得了怎么“加班”。戈尼亚学会了偷集体财产,很快富了起来。一年后,戈尼亚带了一大块咸猪肉到莫斯科去看望老朋友,酬谢赫鲁晓夫的指点。他来到克里姆林宫内赫鲁晓夫的办公室前,先把咸猪肉掛在办公室外墙的钉子上,进去对赫鲁晓夫说:“亲爱的尼基塔,听了你的指导,我富了。现在给你拿来一块咸猪肉,以表谢意。”赫鲁晓夫听后赶紧问:“咸猪肉在哪里?”戈里亚回答掛在了室外的墙上。赫鲁晓夫大惊失色,说,我们克里姆林宫也有加班的,马上开门去看,咸猪肉已不翼而飞了。

撒沙什么时候都懂得维护苏联的脸面,讲了这则讥讽赫鲁晓夫的笑话后马上又给我讲了一则关于中国的笑话:你们北京大学有一位教授,长得白白胖胖的,他有一位外国朋友,分别二十年后到北京大学去看望他。两人一见面,外国朋友大吃一惊地问他:“亲爱的,你以前是白白胖胖的,为什么现在变得又黑又瘦了呢?”那位北大教授回答:“亲爱的,以前我们中国上空只有一个太阳,现在变成两个了。两个太阳当空照,光线如此之强烈,把我晒的又黑又瘦了。”

预审官照着提审纲要继续审讯我,在撒沙的引导下,常常是长枝漫攀地越引越长,越扯越多。有时,预审官似乎变成了旁听者,审讯成了我和撒沙两个人的对话。他对政治和经济,政治和技术的关系常常发表议论,说社会主义国家如果在经济上落后于西方了,社会主义也就将不复存在。打仗主要靠技术,靠先进的武器,光用你们领导人的“一不怕苦,二不怕死”是打不赢我们和美国的。他说在中国的内战中为什么林彪的第四野战军战斗力最强,攻下的地方最多,是因为苏联用现代武器装备了他的许多军和师,仅仅依仗“敌进我退,敌退我追”的军事教条能把蒋介石赶到台湾吗?我们又谈到我国的抗日战争,他的观点完全是苏式的,也是解放后我国流行的,说国民党军队不抗日,是八路军敌后游击战和苏军出兵东北才打败了日本。我不同意,婉转地对他说:“你是研究中国的,很了解中国,你打开中国地图,从内蒙古包头到广西南宁划一条线,线东边的中国领土给日本占领后,鬼子再没有力量向线西边进攻。线西边都是国民党军队守着的,八路军只占着陕甘宁边区的几个县。重庆,西安,成都,昆明都是我国新兴的工业城市,因为抗战时在这些城市开了许多军工厂,工业发展起来了。他没有反驳,只是说:“你的观点是民族主义的。”

“民族主义”在苏联可是一个了不得的罪名,是苏共对异已分子最严厉的指责,和中国的“右派分子”差不多的。相反,“国际主义”则是对人的最好称赞,凡是我的回答如了他的意,他就说“你这个问题的回答是国际主义的。”从撒沙的口里我知道了,中国的领导人是民族主义分子,罗马尼亚的齐奥赛斯库和阿尔巴尼亚的恩维尔霍査,南斯拉夫的铁托都是民族主义者,而最大的国际主义者是越南的胡志明。大概,还在胡志明活着的时候,越共和苏共就有反华的默契了。其实,在国际交往中,除了当时的中国领导人有“魄力”付出民族牺牲去实行“国际主义”义务外,又有谁是国际主义者?日本投降以前,越南要中国帮忙,胡志明亲笔翻译了蒋中正著的《中国之命运》。抗法战争中同样要中国帮忙,只不过中国的执政党换了,胡志明又亲笔翻译了毛泽东的《实践论》和《矛盾论》。大概,这就是所谓国际主义吧!

撒沙他们也很有兴趣当时中国的反修正主义宣传,要我把有关打倒美帝,打倒苏修,打倒他们的走狗,打倒新沙皇的歌曲写给他们。在我整个学生时代的社会关系中,他们最感兴趣的是我与贺龙的女儿贺捷生和毛泽东的女儿李讷在北大历史系同过学,要我写出和她二人交往的材料。我又能写什么呢?和李讷绝无交往,只记得上大三时听人说毛主席的女儿考到历史系来了,开全系大会时,一眼就认出她来,她的脸盘轮廓与他父亲完全一样。一次下乡劳动,她挑着水桶往地里送开水,给我倒过一碗水,我和她的“交往”不过如此而已。“文革”中她改名肖力,成了政治暴发户,报上登出她是中共中央军委的领导人之一。贺捷生和我同级三年,有过一次私人交往。大一时学政治经济学,在一次课堂讨论会上,老师指定了三名学生作重点发言,诉资本主义的苦,其中之一就是贺捷生。她的底子差,老师是中国当代著名经济史家贺靖,指名我帮她写发言稿。她编了关于她自己的好多故事,说自己七岁就到湘绣厂做童工,得了病,一只肾脏给割掉了。1950年,她的生母蹇先任当我们石门县邻县慈利县的县长,她回过老家。她对我说:“你们石门人真土。”我反唇相讥:“你们桑植(贺龙元帅的故乡)人比我们石门人还要土。”我记得,什么时候贺捷生身边都有一个男人陪着,先是一个姓朴的朝鲜留学生,后来换了我的朋友之一的李君。到三年级时她上不下去了,提前“毕了业”,去了青海民族学院教书。士别三日,当刮目相看,何况三十年,贺捷生风云直上,我第一次返国探亲时知道她已经当了将军,作家。

苏联人就如此这般地,复杂而反复地与我缠夹着,对我的第一遍“自传”审问拖了一个半月,直到六月中旬。我真的十分佩服他们的耐性。在苏联,每星期只有五个工作日,他们却是星期六也加班审讯。在第一个星期的星期六,预审官拿出了三张大纸板给我看,每张纸板上贴着四排快三十张半身照片,都是小二寸,照片有男有女,有东方人也有西方人,他要我把我认识的住在苏联的三个人都认出来。我在第一张纸板上认出了刘克福,第二张指出了徐英斌,第三张则是安东诺娃。他第一次对我露出了笑容说:“你的‘地位’一天天提高了,从现在开始,你一个人住在房东家,我们不派人陪你了。休息天可以在园子里玩,帮房东干点活,但是不要到街上去。”我的“地位”,要由他们来认定,我又有什么办法,谁让我“侵犯”了他们的边境线呢?

房东夫妇却对我一直很亲热,要我把女的叫婶婶,男的叫叔叔,但没有告诉我他们的姓名。他们也把我当个壮工使用,回去便给我派活,园子里的樱桃和草莓大部分是我摘下来的。再就是卸猪饲料和晒猪词料。苏联人爱钱,养老金又只有工资的一半,上校退休也只领一百多卢布。他们的小儿子还没有结婚成家,需要钱。家里养了三头大猪喂的全是粮食,从面包厂拉来的废品面包和没有发好的霉面团,卡车拉回来要卸在院子里的水泥地上晒干再收储。他们专门选到星期天来干,以便利用我这个不花工资的长工。干活累了,老头子拿出一瓶伏特加,两人就着面包,香肠和生葱吃喝,就算是对我的犒赏了。还叮嘱我说:“他们不让我给你喝酒,你可别告诉他们。”老大娘也常煎一些俄罗斯软饼(用糖,鸡蛋和面粉和成流质再煎成),卷着果子酱给我吃,味道不错,是我最喜欢的俄式小吃。三分酒意后,他们还要和我一起用中、俄语合唱《国际歌》。在他们家住了一个半月,初步见识到了苏联人的日常生活。星期天,与他们分居的儿子儿媳常带着小孩来看望父母。老二有个六、七岁的小男孩,调皮十分,一来就吵着要我陪他踢球,爬树,在果林里捉迷藏,麻烦得我比干活还累。一个星期天,二媳妇一个人来了,煮果子酱,白天要我给她爬树摘樱桃,她站在树下小篮子接,不断大嚷:“阿列克干活干得好。”晚上一起看电影,又叫我跳迪斯科,一下成了大熟人。她叫卡嘉,三十多岁,矮个子,又白又胖,还长着个俄式朝天鼻,可笑又可爱。晚上她没有回家,摆了张行军床在我居室的窗户下,睡露天觉。厕所也在果园墙边,下半夜,我出去方便,她一下爬起身叫:“阿列克,到这里来。”我以为她有事,去到了她身边。她一下抱着我,吻我,把我往毯子里拉,喃喃地说:“我爱你,我爱你。”我一下子吓坏了,挣脱身跑掉了。第二天起床,我怕见她,她却若无其事,只对我笑了笑。

六月,房东的小儿子从部队回家休假,白天不见面,晚上睡在她嫂子睡的地方,都有姑娘陪着,常常一闹通宵,姑娘还不断更换。果然和我在中国听说过的一样,苏联的性关系是不讲究的。老两口是见怪不怪,老头子还向我吹牛,说他年青时开汽车,光维吾尔女人他就睡了五个,有时他的朋友来做客,问我是什么人,我回答:“朝鲜大学生”。他们不信,歪歪嘴,喊“毛泽东”。

在繁琐的审问中,只要他们发现有情报价值的,都要我写成书面文字。同学中,我写了贺捷生和李讷,教师中写了翦伯赞,朋友和同事中写了徐英斌。在我其余的知识分子“臭老九”朋友中他们没有发现“有用之材”。在这里,我要记录一些翦伯赞的其人其事。翦伯赞是我的老乡,湖南桃源翦旗营人,祖上是西域人,元朝皇帝把整个部落派到当地当驻屯军留了下来,他自称维吾尔族,长得也深目高鼻窄脸,和新疆维吾尔人脸相差不多。不过,他的中国人观念,汉人观念十分强烈,常常教导我们:“你们研究历史,不能一谈民族团结就大骂大汉族主义。”还讲了件小趣事:“我一次访问蒙古,他们的史学家对我说你们历史上有‘五胡乱华’,我们不能接受,为什么把我们贬称胡人呢?”我回答说:“胡人不是贬义词,中国北方和西方的少数民族脸上的胡子比汉人多,汉人形象地称他们为胡人,并没有歧视的意思。”他早年留学美国,三十年代就成了中共的秘密党员,也就是以党外人士身份活动的共产党员,由中共中央直接掌握,长期担任国民党元老民主派领袖覃振的秘书,抗战时在重庆给冯玉祥作私人历史老师。越共领袖胡志明在广西被国民政府逮捕了,是他走了冯玉祥的后门才把胡释放的。他原来是学经济的,三十年代中国学术界发生了“中国社会史大辩论”,他持马克思主义观点参加论战,崭露头角,转而研究历史。他说着一口湘西官话,口齿清楚,头脑灵活,学识渊博,词锋锐利,特别是文笔,更是流光溢彩。他写的历史论文,如《桃花扇底看南朝》,《内蒙访古》等等都是极美的散文,辞章和学术在他笔下得到了高度的统一。我很敬佩他,还曾到他在的燕南国的花园小楼里看过电视。解放后,他和郭沫若,范文澜,吕振羽那些人一样都是学术新贵,在北大的一级教授中他是政府配给了专用小汽车的少数享有者之一。但1957年“反右派”运动开始以后,我对他就变得反感了。他是学术界的反右积极分子,给大学生作报告,大骂“章(伯钧)罗(隆基)联盟”,把向达骂作鸿门宴上的范增。南开大学教授,抗战时西南联大“战国策派”大宗师雷海宗被打成右派,也与他有关,只不过雷先生写过谈古希腊罗马社会的文章,批评了马克思,恩格斯的奴隶社会学说。但没想到,“文革”伊始,他却是第一批被打倒的“反动权威”,给斗来斗去,逼得1968年夫妻双双自杀了,结局悲惨。不过,在中国学术界江海横流地“向苏联学习”的时候,他坚持不入俗,从不开口马列,动笔斯毛。他是位真诚的,热情洋溢的爱国者,“爱我中华”,笔下处处露真情。他也反对当局为了政治需要而歪曲历史事实的“研究”,讲课时一次又一次地讲:“研究历史首先要尊重历史真实,鸦片战争是英国打我国,甲午战争,九一八事变和卢沟桥事件是日本人打我们,我们总不能说美国比英国和日本还坏,总不能把中英‘南京条约’和中美‘望厦条约’等同起来。”

面对繁琐的审问,我烦透了,就想办法能不说就不说,能少说就少说,一事一说,不叫他们抓着枝节。我发现这一手对我在内地的经历是有效的,但一问到在新疆的事就无法蒙混过关了。他们对新疆,特别是对伊犁和霍城的情况比我清楚得多,什么也不能瞒过他们。譬如说,他们对人物的熟悉直到中共县委统战部长杨寿山,对地名的熟悉直到清水公社的名字,都清楚得很。知道汉族人叫清水河,维吾尔族人叫清水河子。他们又一次问了新疆的民兵是不是发了抢,也知道民兵即使有抢也没有战斗力,是虚张声势吓人的,只能吓服中国的地富反坏右分子。撒沙还问我:“老雷,你说,毛泽东的家是富农,周恩来的家是资本家,陈毅、康生、陈柏达都出身于有钱人家,为什么他们特别反对地主和资本家呢,我们真奇怪。”他们也特别注意“文革”中被打倒的少数民族干部的处境,问他们老婆是不是和他们离婚了。我说我只认识一位霍城县的哈萨克族部长,在县革委会派发生活费时遇到了他,穿着一身补丁衣服。还有一位粮食局的维吾尔族局长,我在煤矿上劳改时看到他赶着马车拉煤炭,其他什么也不知道。他们对我的回答不满意,撒沙常说我“你比狐狸还狡猾”。

他们要我最详细地叙述我在霍城中学教书和“文革”中当黑帮,被劳改的经历。写到这里,我就趁这个机会在这里再回忆一次吧。

霍城一中在“文革”中改名前哨中学(撒沙听了插嘴说:“反修前哨”),从1961年到1966年我在这所中学教了五年书。教初、高中的历史和高中语文。我为人随和,从不摆老师的架子,学识丰富,讲课生动,辅导学生写文章还出了两个小作家。1965年我辅导的文科毕业生百分之百地考上了大学,在全新疆拔了头筹。我喜欢和学生在一起,学生也喜欢我,有的年纪大点的高中女学生还私下给我递条子“表情达意”,我都满面笑容地接受又悄悄地撕掉,没有露出一点风声。在斗争黑帮的大会上,没有一个学生辱骂和殴打过我,有的黑帮分子被戴了高帽子,却没给我戴。我还记得校文革委员会副主任,一位高中女学生在批斗会上发言说:“我校的黑帮分子除了雷光汉外,道德品质都是很卑下的。”不过,我说的都是我教过的学生,没有教过的学生斗争起我来却是无所不用其极的。

1967年初冬,我正在霍城县芦草沟公社大东沟水渠工地背石头修水渠,一个我教过的江西籍高三毕业生,要给我打抱不平。他是贫下中农出身,校文化革命委员会委员,红卫兵头头,骑自行车到工地找到我,对我说:“你是受冤枉的,我帮助你到上面去告状,按照政策至少可以先回到学校领工资。”晚上,他用自行车把我拖到果子沟,拦到了一辆一位湖南老乡开的运货卡车,把我拉到了乌鲁木齐。当时新疆的革命委员会还没有成立,什么事都没人管,军管会只会欺压“阶级敌人”,火车站,汽车站,自治区党委大楼前到处都是流民,都是“文革”中受迫害的人,到乌鲁木齐来告状,甚至去北京告状或者告状后返回来的人。身无分文,白天在街上行乞,晚上在露天广场上睡觉,有的走投无路,只好卖儿卖女,我的“告状”当然也就没有结果。幸好,在乌鲁木齐我的北大老同学多,给我凑了一笔钱,还给我开出了新疆科学院干部出差的“证明”,使我得以离开新疆。我用分段无票乘车的办法在一年的时间里“旅行”了半个中国,到了兰州、西安、呼和浩特、北京、天津、石家庄、郑州、洛阳、武汉、长沙等等许多城市,还到过云南,有老同学就住在老同学家,没有就住车站、码头。每到一处,买两个烧饼,灌一瓶凉水,就到各个大学,科学院去看大字报,参加各式各样的批斗会,我是要看看“文化大革命”的究竟。在兰州大学,逢上了一派学生要打倒原兰州大学校长江隆基。江在解放后原来一直执掌北京大学,陕西人,是杨虎城培养的乡土人才,后来加入了中共,三十、四十年代在德国任中共旅欧支部书记,回国后做了西北军政委员会教育部长,1952年中国各大学院系调整,调到北京大学当第一任副校长,以后又当了党委书记,实际上是北大校政的唯一实际掌权人。他是非常左的,1955年“肃反”运动逼得好多教授、教员自杀(我记得其中之一有原旅越南华侨协会主席、解放后回国在北大东方语言系越南语教研室当主任的一位,和历史系的一位最有成就的青年考古学家。可惜我忘了他们的名字,要是查是可以查得出来的)。“反右”时江隆基更是受到康生的耳提面命,超额完成划“右派”任务而居全国之冠。1960年江调去兰州大学当校长,“文革”开始说他里通外国,根据是他访问日本时认识了几个日本学者,给他寄了贺年片,他保存下来了。最后逼得他在厕所里上吊自杀了。我当时想,这是报应,善恶到头终有报,只争来早与来迟。江的这一天到来了,何必为他平反?在长沙,我在韭菜园我的一位老同学的老母家住了一个月,整天往岳麓山大学区跑。一次在湖南体育馆看了对省级“黑帮分子”的批斗大会,“黑帮分子”们排成方队,站在中央,每人挂着一个大黑牌子,上面写着他的姓名,我认出来的有中共湖南省委代理第一书记王延春、教育厅长唐龄、作家康濯和周立波。周立波也是遭报应了,他是益阳人,文坛最大杀手周扬的本家侄儿,反“右派”时抡大棒最凶恶的。八月份我返新疆时又去了五一广场看了“计划生育誓师大会”,几万人向伟大领袖宣誓不生孩子或少生孩子,集体朗诵老人家的最高指示:“人类一定要学会自己控制自己。”我听了感到真好笑,十年前老人家发出了“人多力量大”的最高指示,反对限制中国人口,把发表了《新人口论》的北大校长马寅初打下台,把中国的人口问题搞得个永世无法解决了,现在又要大家向他发誓要“控制自己”了,真是从何说起?唉!

之后,我回到石门县子良乡伴着老父老母住了一个多月,足不出户。当我一听说公社派民兵要抓我了,便马上逃离了家,又辗转回到新疆,还是一路无票乘车,反正我有了经验。一般的办法是,上了车就拿着一本英文本的“毛主席语录”,找到一名解放军军官模样的人坐在一起套近乎,与他大谈学习毛泽东思想的心得,把周围的人都震住了,就谁也不敢向我查票了。十月分,我回到乌鲁木齐,住在新疆大学外语系我的同事武鹏云那里。他高中毕业后在霍城中学教体育和俄语,以后又考上大学了,高考时我给他辅导了语文和历史。他是位最讲侠义的山东大汉,虽然出身军官家庭。以后,在九十年代他曾出任湖北沙市纺织工业大学校长。他很周到地照顾我,给我找来了一件旧羊皮大衣过冬,还给了我到学生食堂吃饭的月票。年底,搞什么“全国山河一片红”,全中国最后只剩下了新疆和西藏还没有成立革命委员会。我奇怪1949年大陆山河都通通红过一次了,为什么还要再红一次呢?新疆革命委员会后来也成立了,主席是原湖南省军区司令员龙书金少将,但后来他跟着林彪吃了瘪,主持日常工作的是第一副主任赛福鼎。赛福鼎是维吾尔族人,原新疆自治区主席。我要到自治区革委会办公大楼去告状,门禁森严,还没走到跟前就给手持冲锋枪的警卫撵走了。怎么办呢?不久,新疆大学革命委员成立,全体学生排队去向自治区革委会“报喜”,说是有大官接见。我想机会来了,冒充新疆大学学生,跟着学生报喜队伍到了自治区革委会办公大楼前,见到出来接见和讲话的正是赛福鼎。我请一位维族学生用维文把我的平反要求简单写了张纸条,趁赛福鼎讲话,我大步流星上去把纸条直接交给了他,拉着他的衣袖不放。他用汉语说了句“这么快?”叫我跟他到了大楼第二层他的办公室。在他长长的办公桌上摆了一排电话,和我没有说完一句完整的话电话铃就响了,根本无法谈下去。他只好打电话把他的秘书叫来,让他的秘书处理我的问题。秘书三十来岁,是个十分英俊的回族军官,普通话和维吾尔语都说得流利。听了我的陈述,他表示同情,当场写了张条子:“请政治保卫组处理,雷老汉理应返回学校,补发工资。”署名是“赛福鼎办公室”,没有盖公章。把我称为“雷老汉”,我感到亲切。在他的办公室里还遇到了一个中年汉族军官,流着鼻涕,自我介绍说他是王恩茂的秘书。王恩茂可是新疆的一片天,原是中共新疆党委第一书记,军区司令员兼政委,新疆生产建设兵团第一政委,“文革”中江青说他有二心,挨了斗。长官倒了霉,秘书也跟着一付倒霉相。到了政保组,一位空军军官看了我拿的条子,知道是赛福鼎亲自过问的,不敢殆慢,立即给我开了平反条子。“1、返原校工作;2、工资照发;3、有问题运动后期处理。”盖了新疆革委会的大红公章。当时新疆的空军部队是林彪派,和保王恩茂的新疆军区作对,空军部队派到地方上的军宣队人员都同情受迫害的人。

我以为我的状告赢了,可一当我回到霍城县,才知道县革委会对上司的命令并不买帐,不仅不给我补发工资,连现工资也不发了,每月只给我十五元生活费,叫我回前哨中学劳动。霍城县革委会主任栗寿山,把我当成最大的眼中钉,说我是“大右派翻案的典型”,是“阶级斗争尖锐性的突出例证”。栗后来当了中共中央候补委员,新疆党委副书记,在我身上也捞了点政治资本。另外两个专门整我的人也都是有来头的人物,一个叫刘允焕,后来当了新疆师范大学的纪律检查委员会书记;一个叫宋植,后来当了县委书记。他们不仅是“整人就要把人整死”的杀手,也是品质恶劣的恶棍。宋植在1966年跑到伊宁市,逼着我的女朋友和我划清界限,还趁人之危调戏她。

听了我的这一长段陈述,预审官和撒沙一下子兴奋起来,还把克格勒的副主席也请来了,要我反复地讲和赛福鼎见面的细节,表示了对赛福鼎的极大关心和兴趣。撒沙还对我说:“赛福鼎原来是苏联公民,苏共党员,他可真是个大叛徒。”我反问:“福鼎现在不是中国公民吗?你们苏联承认不承认新疆和西藏是中国的领土?”他反唇相讥:“你又来民族主义的一套了,当然我们承认新疆和西藏是中国的领土。”

他们问的要多啰嗦有多啰嗦,我头发昏了,眼都直了,撒沙又给我讲笑话来提神,说:

赫鲁晓夫去欧洲访问,晚上坐火车回国,到一个车站停下来,同行的人问:“到什么地方了?”赫鲁晓夫把手伸到车窗外,一会儿抽回来,说:“到东德了,有人亲我的手。”车行了一段后又停下来,赫鲁晓夫又把手伸到窗外,说:“到波兰了,有人在我手上吐口水。”最后一次他抽回后说:“到我们苏联了,你们看,我的手表被偷走了。”

撒沙接着对我说,我们苏联小偷的本事可大得很,你以后出去工作了,要特别小

心。他还讲了个小偷的笑话:

一个苏联侨民离国多年后回到祖国,轮船在列宁格勒靠岸后,他走上码头,把皮箱放下,双手伸开后深情的呼唤:“祖国,我回来了。”说完低头一看,皮箱已不翼而飞。

看来初审已经大功告成,六月中旬放了我两天假,还允许我到住处附近的街上去玩,我的“地位”又提高了。可是第二天中午,一名俄罗斯官员急急忙忙跑到我的住处说:“马上收拾好你的东西,我带你去住旅社,快,快!”我急急忙忙向房东老夫妇告别,跟他坐车到阿拉木图城中心一家小旅社住了下来。后来牛水告诉我,我搬走后,随即住进来了一位上海姑娘,是新疆兵团农场逃来的。她后来被送到卡拉干达市一家工厂干活了,没几天给一位中俄混血小伙子娶走了。我听后开了个玩笑:KGB做事也太小气了,为什么不把她留在阿拉木图介绍给我呢?

小旅社名叫以色克旅社,旁边是八层楼的阿拉木图大旅社,后面是个小公园,有很大的卖花摊子。对面是哈萨克斯坦歌剧院。剧院前竖着阿巴亚、江布尔等哈萨克文化名人的大理石塑像,右边是家电影院,左边隔马路便是哈萨克斯坦政府大厦、中央广场和广场花园。广场上竖有高大的列宁铜像,大喷泉喷出的水线有十几米高,小湖里鸳鸯和天鹅在戏水,白天晚上都有很多人散步在花园里。我住一楼的一间小房里,房内只有一床一桌一椅一衣柜。出门时要把房间钥匙交给看门人保管。看门人穿着黑制服,一位彬彬有礼的老头子。他们一般都是KGB的退休小军官,在旅社看大门可以领取一分轻松的工资,也可以继续干他们的老本行。房费撒沙代我支付,每天还给我发一卢布五十戈比的生活费。食品很便宜,一个大面包二十戈比,一瓶牛奶十戈比,再花五十戈比买根香肠,一天的吃食就够了。节余的钱我买了笔记本,圆珠笔,剩下的每晚去看电影。从旅社往北走穿过两条街就是KGB办公大楼,以后接受审问都是步行来往,撒沙到旅社来接。

次日,没完没了的审讯又开始了,不过这次换了名称,叫“复审”。预审官拿了一张彩色手绘地图给我看,画的是我出逃的路线。又把我发表过文章的照片给我看了,像《伊犁日报》这种小报他们都收集了。复审是把审问提纲打乱了次序再问一遍,看我的回答对不对得上号。审问时气氛和缓多了,问的没以前啰嗦,进度很快。大部分时间是回答另外一些官员们的问题,涉及的层面多,经济,政治,文学,历史,哲学各方面什么都有。有的人要我帮他认繁体中国字,有的人只是把我当成动物园的猩猩一样看稀奇。他们一般都会中国话,不少人说得十分流利。我想在哈萨克斯坦KGB里面会说中国话的至少不下一百人。里面有两个中国人,一个姓葛,上海人,光头,又矮又胖,像只大啤酒桶。他的官阶高,独据一个办公室,别人都立正和他说话。他傲慢地自我介绍说:“我是国际共产党员,你是不明白的。”我心想,你吹牛骗人也不看对象,共产国际四十年代就解散了,也没有什么国际共产党,又从哪里跑出来个“国际共产党员”?八十年代末我回祖国探亲,从《人民日报》上看到一则消息,葛某人也来中国访问了,名义是苏联科学院顾问。另一个是个瘦高个,山东人,戴眼镜,拿着手杖,神气地看了我几眼,不屑和我说话。大概古往今来的汉奸都有一种共性,在主子面前卑躬屈膝,在同胞面前威风凛凛。

复审只进行了两个星期,到七月下旬结束,以后主要是从我身上挤中国情报,也不叫我去KGB办公室了,派人到旅社问我,还要写成书面材料。一共要我写了四份材料:中国的教育改革,中国的人民公社分配情况,中国的人口问题和中国同罗马尼亚,阿尔巴尼亚,朝鲜,越南和日本的关系。我当过教员,又在公社劳改过,他们很能因人用材。我回答了些什么呢?对第一个问题我写了,中国学校都关门了,学生都在闹革命,或者下乡当农民,教育都没有了,哪里来改革?对第二个问题,我回答了人们公社是个大集中营,社员是农奴,五类分子是奴隶。我在芦草沟公社修了一年的水渠,天天搬石头,年终结算,我还倒欠公社生产队二百块钱。对第三个问题,我回答不知道中国现时的人口统计数字,只知道到处都是人,一对夫妇一生孩子便是三个,五个,长此下去,中国的土地会装不下,中国的人口膨胀,全世界都要跟着倒霉。对最后一个问题,我复述了一张红卫兵的传单:“北朝鲜发生军事政变,第二号人物金庸健给打死了,伟大领袖金日成被接上飞机到了汉城.”和唱遍全中国的《中阿友好之歌》:“海内存知己,天涯若比邻。”撒沙听了哈哈大笑。他们很重视中国各地区居民的地方性格,因为他们要在中国各地找人当狗腿子。对这点我后面有专节记述。大概各地KGB收集中国情报有分工,他们问我中国的情况只问到了新疆和甘肃。还有一位从莫斯科来的女汉学家和我谈了些语言上的问题,如汉藏语系的各分支,中国南方少数民族语言的特点等等,似乎她知道的比我多得多。我说越南人是中国古代越族的后代,广东话的语言很有中原汉话和东南亚马来话相混合的特点,她表示赞成。一次,一个穿着华丽,气度自作高贵的哈萨克女人来和我谈话,撒沙介绍说她是共和国对外文化协会主席。对外文化协会也是这栋间谍大楼的办公成员。

前面提到的那个沃洛佳,文质彬彬,满腹经纶。是个学者型的间谍。当时他既自学中文,也学日文,重点研究日本,常来和我聊天。一次他带来几本介绍日本关东剧的书,问我知不知道。我只知道关东剧是日本的汉化戏曲,源自中国戏曲。又一次拿来一叠日本技术文件给我看,里面有许多化学方程式,他说是花钱从日本买来的技术资料。他和我谈日本的武士道文化,大和民族对外扩张性给亚洲各国造成的持久性威胁,说日本的经济扩张全得力于朝鲜战争和越南战争,也可以说中国,苏联战后的亚洲政策,不顾己身力量和美国对抗的政策,使日本渔翁得利了。我也向他说出了我对日本的本质看法:日本是个狭小的岛国,人口密集,资源缺乏,日本人要生存下去只有靠对外掠夺,倭寇是它自古以来的立国之本。日本人善于学习,集中了中国古代文化和西方现代文明的长处。它又是个单一民族组成的国家,内部团结,武士道和军国主义得以猖獗地发展,把日本国家变成海盗之国,大和民族变成海盗民族。日本人又善于在强权下低头,美国给丢了原子弹,日本人就匍状于美利坚脚下服服贴贴了。所以,日本又是最大的亚洲之奸,为美国向亚洲扩张全力效劳的亚洲奸贼。

一次在旅社大门前,忽然一个高个子中国人向我打招呼,他自我介绍说是新疆喀什人,在新疆科学分院当过汉维语翻译,认识民族研究所所长谷苞的老婆,说她是中俄混血。1961年他移民苏联,已加入苏籍。在一个星期内,他天天来旅社找我散步,带我去咖啡馆吃点心,不断向我打听乌鲁木齐的种种,也有人,也有事件,吹嘘苏联人的生活幸福。我一下子就明白了他是KGB打发来验证我的身份的。不过有时也说实话,告诉我苏联的工资水平并不高,每月能领到一百卢布便是好工资了。他本人在面包坊干活,一个月才拿六十卢布。

KGB对我的审查还在继续,使我感到深深的懊悔和忏悔,觉得即使是逃命,也不能逃到自己国家的敌国去。中国有句古语:降将无伸足之日,降卒无回颈之时,那还是在自己国家的内战中。现在我“自愿”当了敌国的“俘虏”,如果我的爱国之心一息尚在,在这个虎狼之国是无法生存的。我决心逃出这个国家,即使逃不出去,我也要告诉我的祖国和同胞:逃亡,也不能逃向敌国。

第二章 第二次逃亡

初涉苏联

三个月的审查终于结束了,从1970年八月一日开始我就在一家阿拉木图的工厂打工了。我以后的生活都有是在中亚最大的国家哈萨克斯坦渡过的。在前苏联,哈萨克斯坦仅次于俄罗斯联邦,是第二大加盟共和国。在十五个前苏联加盟共和国中,哈国名列第五,排名在俄罗斯,乌克兰,白俄罗斯和乌兹别克之后。哈共第一书记古拉也夫是少有的苏联共产党中央政治局委员之一。

前苏联的中亚有五个加盟共和国:乌兹别克、哈萨克、吉尔吉斯,塔吉克和土尔克明尼亚(土库曼)。这些国名,都有是民族的名称。前苏联解体。五国独立后,国名都是在族名后加上词尾“斯坦”。五国中哈国面积最大,有二百七十多万平方公里。在亚洲各国中仅次于我国和印度。人口则以乌兹别克人最多。中亚位于欧亚大陆腹地,是地球上离海最远的地方,且多是沙漠和草原,在近代工业和交通没有发展以前,只有河流边有一些古代的绿洲文明,也就是我华夏民族开辟的丝绸之路经过的地方。古代中亚民族都是游牧民族,居无定所。白种人,黄种人,混血人都出入在这片辽阔地区,但从没有形成过统一的力量,文明程度很低。古希腊亚历山大帝国,罗马帝国,阿拉伯帝国,蒙古帝国,还有跛子铁木耳帝国都曾在这里称霸过。我国自从公元2世纪前通西域后,汉朝,唐朝,契丹族建立的西辽王朝,元朝和清朝都曾把大片中亚土地并进中国版图,但最后完成对中亚军事占领的是沙俄帝国和它的继承者苏维埃帝国。沙俄在鸦片战争后强占了我国今日新疆以西大片领土,斯大林又继续蚕占了不少地方,列宁还制造了外蒙独立。在清朝全盛时期,我国领土有一千二百多万平方公里,现在只剩下九百六十多万平方公里了,除英国把云南和西藏的一部分强佔过去变成面甸和印度所有,法国强佔一部分变成越南所有外,绝大部分土地都是俄罗斯分割过去的。写到此处,我不禁泪流满面,我想起了金庸先生在《鹿鼎记》里写下的一句话:“安得复起康熙、韦小宝于地下,逐彼狼子野心之罗刹人,而复我故土哉。”

前苏联有一百五十多个民族,差不多都有成员住在中亚,这是是世界上民族最复杂的地区之一,可以称得上“欧亚人种博览会”。土著民族有乌兹别克,卡尔卡洛阿克(聚居在乌兹别克斯坦),哈萨克,吉尔吉斯,塔吉克和土库曼(土尔克明尼亚),都信仰伊斯兰教。乌兹别人群体最大,文明程度较高,中亚文明古城布哈拉、撒马尔干、安集延、塔什干都在乌兹别克斯坦。其他几个民族都形成得晚,文明程度不如乌兹别克。哈萨克人和吉尔吉斯人原来是游牧民族,名义上是穆斯林,宗教信仰却不深。这却是件大好事,政治远离宗教,也少了许多民族内部的纷争,民性也就淳朴了很多。这么些民族,在文化上,可以说都给俄罗斯同化了,唯一在中亚通用的语言也是俄语。各本地民族局限于原来的低文化水平,缺乏综合筛选的能力,在接受俄罗斯文明发达的科学技术和文学艺术的同时,对俄人的蛮横,高傲,掠夺性,排他性,酗酒,偷抢拐骗的负面文化,也常常是照单全收,而且对负面的接受比对正面的接受更多。我一直同情本地民族,每逢本地人和俄人打架斗殴,我都把支持给予前者。每逢土著人要求独立,我也同情他们,有时还写诗颂扬他们。现在中亚各国独立了,我希望都和我们中国和平相处,都成为我国名实相符的友好邻邦。

土著居民在苏联时期受到的都是俄语教育,表面上看也相当文明。但他们从事的职业主要是牧民,农民和工人,也有少数当官的或当警察,科学技术领域却涉足不多,财政金融方面,我几乎没有看到有本地人当会计或出纳的,即便是商店的售货员也不多。

主要的外来民族有:

斯拉夫人,即俄罗斯人,乌克兰人和白俄罗斯人,是苏联的统治民族,军权,KGB大权和实际掌权的各级共产党委员会第二书记都掌握在他们手里。关键的岗位,如大工厂,大公司的厂长,经理,总工程师,总会计,科研专家,法官,律师,警官也多是他们。普通斯拉夫居民大规模进入中亚是苏德战争时,五十年代赫鲁晓夫在北哈萨克斯坦垦荒,迁来的垦荒者也多是欧洲居民。辽阔的北哈萨克斯坦草原从此发展起来,当地的斯拉夫居民比哈萨克人还要多得多。中苏关系分裂时期,勃列日涅夫迁来大量苏欧居民到中苏边界的苏方一侧居住。波兰人也是斯拉夫人,在中亚数以万计,不过他们是亡国之民,被压迫者。1940年斯大林和希特勒瓜分波兰,苏军占领东部波兰后,把数以万计的居民流放到西伯利亚和中亚各地。在我的印象中,波兰民族的素质不高,凡是波兰人的农场都穷,公共财产被偷光了。六十年代后人口统计,波兰人都把自己的民族成分改成俄罗斯人了。

日耳曼人,即德国人。德国人对俄国的影响很大,德意志帝国是俄罗斯帝国沙皇们学习的榜样,著名的女沙皇叶卡捷琳娜二世就出身于日耳曼公主。她和英国的维多利亚女皇一样,是侵略我国的罪魁祸首。在俄国殖民者侵占我国东北大片领土后,她宣布:“俄罗斯帝国的国旗升上去就不好降下来了。”许多德国人被聘到沙皇朝廷当大官,包括将军,大使直到宰相,大量德国移民——商人,庄园主,医生,教师和牧师也跟着来了,还集居在俄国伏尔加河中游的黄金宝地。“十月革命”后列宁在那里建立了日耳曼自治共和国,首都叫恩格斯城。苏德战争前夕,斯大林废除了这个共和国,一夜之间把那里的德裔居民全部强行抓走,运到西伯利亚和中亚各地当劳工,开矿,伐木和垦荒。二次大战结束后,苏联男人大批在战争中死亡,需要劳动力,又从德国东部占领区内抓来了很多德国人。在斯大林时代,德国居民和中国的“五类分子”一样,没有人身自由,连当兵都不允许,外出都得有路条。赫鲁晓夫时代才给了他们苏联公民权,不过仍然受到KGB严密监视,受斯拉夫人的歧视。德国人素质高,勤劳,文明,办事认真讲信用,特别是他们都是技术天才,中亚许多工厂的第一批技术工人都是德国人。与在苏联的中国人一样,都是受压迫者,都是天涯沦落人,所以,一般德国人和中国人的关系都挺好。

属于欧洲的居民还有希腊人和西班牙人,他们是二十世纪30、40年代西班牙,希腊内战时两国共产党武装的残存者及后代,西班牙共产党人还是伊巴露丽的徒子徒孙们,斯大林把他们也送到中亚各地当劳工。西班牙人很早就回去了,希腊人留下很多,大都是工人,农民,其社会地位和斯拉夫人一样高。但不知道为什么却很少见到他们在科学技术,文学艺术上有什么出息。希腊人凶狠,习于斗殴,不像是拥有高度古代文明民族的后代。

外高加索的格鲁吉亚人和阿尔明尼亚人,是斯大林的老乡,像30,40直到60年代,苏联最高统治集团的斯大林,伏龙芝,奥尔忠尼启泽,贝利亚,米高扬,巴格拉齐扬都来自上述两个民族,在中亚各地当官的也很多。当时中亚各加盟共和国的工业部长就都是阿尔明尼亚人。翻译撒沙对我说:“阿尔明尼亚人在苏联就和你们湖南人在中国一样,当大官的多。”但不知道为什么,阿尔明尼亚人的口碑并不好,在苏联人中流传着这样的笑谚:“问:苏联有几个民族?答:有三个——俄罗斯人,非俄罗斯人和阿尔明尼亚人。”意思是他们拥有特殊地位。不过苏联的一百五十多个民族,白人中名声最不好的是乌克兰人(贬称“哈合”),黄种人中是巴什基里人(和鞑靼人差不多,居乌拉尔山西,首都乌法。)

阿塞尔拜疆人和北高加索人(后者主要包括车臣人,印古什人,奥塞提人,巴尔卡尔人,阿瓦尔人等),都是信奉伊斯兰教的民族。北高加索山山高岭峻,是欧洲的“十万大山”。每个山头就住着一个民族,形成一个个中世纪王国,说着不同的语言,所以北高加索人的语种特别多。故事说:“上帝在造完人以后,多余出了一口袋舌头,都倒到北高加索的丛山中去了,于是在那里就有了数不清的语言。”古罗马史书记载,罗马人去北高加索做生意,要通过八十多道翻译,才能沟通。北高加索人民风强悍,好斗不驯,直到十九世纪中叶俄罗斯帝国才完成了对这里的占领。可是当地的民族反抗斗争直到苏维埃时代还此起彼伏。苏德战争爆发后,希特勒军队占领了北高加索,当地不少民族几乎全民族地站到了德国人一边,反对俄罗斯人。1943年苏军光复了北高加索,斯大林下令实施全民惩罚,把车臣人,印古什人,巴尔卡尔人等民族不分男女老少,大部分流放到西伯利亚和中亚各地。巨大的后患,造成了今日久战不休的车臣战争和车臣恐怖分子在俄罗斯和中亚各地层出不穷地制造事端。流毒所及,直至我国,因为一些新疆分裂分子也到了车臣,当了叛乱者的雇佣军。

鞑靼人就是中国人日常说的“鞑子”,又称塔塔尔人,是蒙古人西征统治俄罗斯后留下的后裔,也可以说是俄罗斯化的蒙古—突厥人,语言属突厥语族,而音乐,舞蹈几乎全是蒙古风味。分东西两部分,东部聚居在乌拉尔山西麓,以喀山为中心的伏尔加河中游,信奉伊斯兰教;西部居住在乌克兰的克里米亚半岛,信东正教。鞑靼人一直不服俄罗斯的统治。德军占领克里米亚时投降了德国,战后,斯大林用对付北高加索的手段来对付克里米亚鞑靼人,全部流放到西伯利亚和中亚各地了。鞑靼人聪明,对中国人态度不错,不少鞑靼女人嫁给了中国人。鞑靼人是黄种人和白种人的混合,长相漂亮。

犹太人,在中亚各地当官,当学者,教授,工程师,医生,艺术家的很多,最差的也是售货员,几乎没有干体力活的。犹太人十分聪明而节俭,善于理财。在远东伯力附近有一个犹太人自治州,那里的华侨多,许多犹太人女人嫁给了华侨。犹太人从母系,许多华犹混血儿也就成了犹太人。

土耳其人和库尔德人是高加索的原住民,俄国吞并高加索后成了俄罗斯沙皇的臣民。土耳其人一直亲德,苏德战争前夕,斯大林把这两个民族全部流放到了中亚来了。这两个民族的名声都不大好,土耳其人蛮横;库尔德人更不事生产,女人和茨岗人一样,以乞讨,算命,行巫为职业。戈尔巴乔夫执政后改革伊始,苏联烽烟四起,乌兹别克斯坦发生了大规模反土耳其人的民族流血冲突,几万土耳其人被赶到江布尔地区来了。

茨岗人就是吉普赛人,是古代从印度流亡到欧洲的流浪民族,在苏联各地都有,而以中亚为多。因为二次大战中法西斯德国也屠杀吉普赛人,他们逃难到中亚和远东来了。茨岗人的民族习性中有很强烈的印度人遗风,善于歌舞,习于乞讨,算命卜卦,并用作谋生手段。他们居无定所,到处流浪。赫鲁晓夫大垦荒时,从各地抓了成千上万的茨岗人到农场,希望把他们改造成生产民族,却演出了一幕滑稽戏:三天之内,他们全体从农场里逃光了。

维吾尔人中亚各地都有,在接近中国边界的哈萨克斯坦一方还有维吾尔聚居区。新疆以外的中亚地区原来是没有维吾人的,清朝后俄国占领我国伊犁十年,俄占领军团撤走时掳走了几万维吾尔人到中亚,一位维吾尔诗人还写了一部悲哀的长诗《失去的故乡》记载了这件事。在1945年伊犁,塔城,阿勒泰“三区革命”时,苏联领事馆大撒“苏侨征”,又有几万“苏侨”“返国”。1962年伊塔地区发生了著名的“伊塔事件”,又称“五二九事件”,边民大批外逃,“文化革命”中也逃走了数以万计的维吾尔难民,中亚才有了维族。维吾尔人善于经商,会汉话的多,不少人保留或恢复了中华人民共和国国籍,是华侨。

东干人,源自我国的回族,在中亚各地都有,主要聚居在吉尔吉斯斯坦的托克马克(即古代碎叶城,唐朝西域都护住地,李白出生的地方)地区、吉国首都彼什凯克和哈萨克斯坦南部包括首都阿拉木图和江布尔州。十九世纪中叶陕甘回民起事反清,清军爱国将领左宗棠西征平叛,第一批起事失败的回民在白彦虎率领下逃到俄属中亚,不久俄占领军从伊犁撤退时又掳来成千上万的中国回民,他们都自称东干人。有人考证“东干”就是“东甘”,意思就是“东部甘肃”。民国初年甘肃回族将领马仲英叛乱失败,又带到新疆成千人,“三区革命”时他们被迫当了“苏侨”,到了苏联。以后“归国”的东干人也不少,但1962年和“文革”中又有逃回苏联来的。东干人的文化很有意思,保留了相当多十九世纪的中原文化传流,饮食习惯几乎全同于中国人,语言以十九世纪陕甘方言为主,再加入一些俄语词条形成,用俄文字母拼写。室内还保持着土炕,墙上爱贴中国年画和古装戏曲画。彼什凯克市附近有一个村子命名为梅兰芳,也有骚葫芦、米粮川、二道沟这样的中国地名。不少老人们讲起牛郎织女,薛丁山和樊梨花的故事还是一套套的。举行传统婚礼时男着礼帽,长袍,披红带花,女着凤冠霞披,穿花鞋。姓名是俄罗斯化的中国姓或伊斯兰教教名,如马姓为马阿洪诺夫,李姓为李桑诺夫,白姓为白沙诺夫之类。他们把政府机关叫衙门,职员叫师爷,警察叫衙役,飞机叫飞船,女教员叫师娘,是中国清朝语言的活化石。东甘人对伊斯兰教的信仰比较强烈,可是凑不起钱来在东干村子里修建自己的清真寺。他们聚族而居,少与其他民族来往,形成了东干文化的封闭,保守,排他,又因近亲通婚,民族素质日益低下。大概因为人少,又远离中国现代文化,在苏维埃时代,他们对俄罗斯存在顺民心理,比较仇华,和朝鲜人一样强烈。吉尔吉斯共和国科学院有个东干研究所,所里的东干学者们有一个雄心勃勃的计划,准备宣称东干语是和汉语不靠边的世界独立语言。这是因为他们当惯了顺民,甘愿和先进的文化,和自己的根脱钩。对中国改革开放后的迅速发展,他们是既羡慕又忌妒,还千方百计坑害中国商人来赚钱。

朝鲜人,在中亚任何地方都可以碰到朝鲜人,总数当以百万计,他们的社会地位也很高。在苏联和中国对抗的时代,苏联一百五十多个民族中最反华的就是朝鲜人。对于他们的事大心理和习惯于当顺民的民族本性,我要多用点笔墨来叙述。在和苏联各族平民百姓的交往中,其实俄罗斯人对中国人一般还算友好,没有表现出对中国人的特别“义愤”,也不一开口就放言“我们苏联”,“你们中国”。只有朝鲜人,张嘴便是“我们苏联如何如何好,你们中国如何如何坏”、“中国人忘恩员义”、“我恨中国人”这类刺人的十分恶毒的言语。其实,中国对朝鲜民族之恩可谓大矣,忘恩负义的是他们。上世纪初日本并吞朝鲜后,数以万计的朝鲜人经东北逃到苏联。在三十年代斯大林肃反岁月中,中国人和朝鲜人都是整肃的对象,区别是中国人被关尽杀绝撵光,朝鲜人则全部流放到中亚来了。苏德战争爆发后,前苏联各族青壮年都当兵上前线打仗去了,斯大林不相信朝鲜人,不要他们当兵,留在后方干活。而许多大学又从前方搬到了后方,继续招收学生,朝鲜年轻人趁机上了学。他们的顺民心理,事大心理又十分突出,喜欢加入共产党,对苏维埃政权表示了不同寻常的忠诚,苏联政权也就欢迎他们了。战后要恢复经济,要建设,要专家,受过高等教育和中等专业教育的朝鲜人便成了各方面的专家,并一步步走进党政枢要机关,不少人当了大官。我来到中亚时,哈萨克中央政府的财政部长和哈共江布尔的一名书记就都是朝鲜人。我接触到的几个朝人官员都是官气十足。朝鲜民族的事大主义有着久远的历史传统。因为朝鲜是个小国,被中,俄,日本三个大国包围,无法自立,历代高丽国王便以“事大”引出了民族的顺民、忠仆的民族性格。日本侵略中国时,“高丽棒子”成为最凶恶的帮凶。侵华日军中有许多朝鲜兵,在1942年侵入我家乡的日本军队里朝鲜兵占多数,他们执行日寇对我实行的烧光,杀光,抢光的“三光”政策最彻底,兽兵过处,一片焦土。日军占领北京时,在菜市场上,日本人是只抢菜不给钱,朝鲜人则把菜抢走,还要把中国人的菜摊推到在地,再踏上几脚。亡国后的朝鲜人逃到中国被接纳,而刚立下足来又依仗日本势力(他们也有日本国籍)压迫中国主人,民国初年发生在吉林省朝鲜移民屠杀中国居民的万宝山事件便是一例。狗要比主人更凶恶才能讨得主人的欢心,大抵如此,比如,从前上海最凶恶的警察就是英租界的印度“三道头”和法租界的安南人。中苏对立时期,朝鲜人的姓名和中国人一样,长相也差不多,他们害怕别人把自己当成中国人,和中国人的距离拉得越远越好,所以处处表现出自己对于中国人不一般的“愤恨“。有的朝鲜人对我说:“只要我们苏联的电钮一按,你们中国就得完蛋。”八十年代中国女排称雄全球,把苏联女排打败了,有些朝鲜人见到我们中国人简直是气愤填膺。不过,由于生活习惯和我们相近,不少朝鲜女人还是嫁给了中国人。前苏联解体,中亚各国独立,本地民族掌权,朝鲜人马上失势,又处处受气,他们又倒过来向中国人套近乎拉关系了。今日朝鲜南北分裂,北朝鲜是压在中国人脊背上的大包袱,金日成家族吸了几十年中国人的血汗,在国内排华,搞民族沙主义,无法自立。几十万北朝鲜人为躲避饥饿,逃到了我国东北,南韩人反而在汉城,美国和加拿大许多城市我国的使领馆外面游行示威,说我国不尊重人权,不承认那些北韩人的难民身份。而祖先为南韩人的我国朝鲜族同胞回到南韩后,南韩人又不承认他们的朝鲜人身份,把他们当中国人来歧视。朝鲜人的种种变态民族心理既无理又无情,叫人奇怪。在中亚朝鲜居民中,也有许多怪事。比如朝鲜姓来自汉姓,如果是贵族,则在汉姓后面加一个“盖”字,像《薛仁贵征东》一书中的高丽大将盖苏文,其实本名是泉盖苏文,即姓泉的贵族。苏联解体后,已经高度布尔什维克化了的中亚各地朝鲜居民又纷纷把自己的姓氏中加上了“盖”字,如金盖,李盖,巴克(朴)盖之类,以表示他们昔日的贵族身份。

至于生活在苏联各地的中国人,即汉人,也是人数不少,源远流长的。KИTAЙ一词显然始自西辽国的统治民族契丹,因为汉人和契丹人都是东方民族,黄种人,以后,在俄语里就主要指称汉人了,也泛指中国人。在勃列日涅夫统治的反华年代,苏联人把来自中国的各民族人士,甚至包括返国的原留华俄侨,都一律称为KИTAЙ,包含着蔑视和不可信任的意思,KИTAЙ成了个大贬义词,几乎成了万恶之源。

历史上,俄国人侵占了中国大片领土。黑龙江以北至外兴安岭,乌苏里江以东至海的百多万平方公里的土地原属我国,居住着大量汉、满等族的我国居民。在黑龙江以北有一块地方叫海兰泡,又名江东六十四屯,即六十四个村子,居住的全是汉人,十九世纪中叶清、俄划界后仍属我国,在民国时代的我国地图上还是划入中国的版图的。1900年八国联军攻打我国,俄军和日军是主力。残暴的俄国军队把那片土地上的中国居民全部撵到黑龙江里淹死了,只有少数幸存者活下来,史称“海兰泡惨案”,这个地方也就变成了苏联的布拉戈雅申斯克市。清俄边界开放后,在海参崴(俄名弗拉基沃斯多克,即“掌握东方”)、伯力(俄名哈巴罗夫斯克。哈巴罗夫是俄国侵略远东的殖民军将领)、赤塔、伊尔库茨克,直到遥远的莫斯科和圣彼得堡(列宁格勒)都有人数不少的中国商人在那里经商,西方记者把赤塔称作“中国消极的殖民地”,把哈尔滨称作“俄国积极的殖民地”。“十月革命”后,中国商人被撵回国或者杀掉,房屋和财产全没收了。1914年第一次世界大战爆发后,俄国需要劳动力,在山东,河北各地招募了十万华工去修西伯利亚大铁路,开矿和伐木。“十月革命”时成千上万的华工参加了红军,英勇善战,有的中国战士还当了将军,列宁的卫队营即由中国战士组成。在苏联经济恢复时期,中国工人做了极大的贡献。但上个世纪三十年代斯大林镇反,把中国人全当间谍抓起来了。当时在海参葳,伯力各地见着黑头发,“契卡”分子就抓,把一些长着黑头发的俄国人也当中国人抓了起来。抓起来后关在大森林的集中营做苦工,有的枪毙了,里面还有不少为共产国际和转入苏共作华侨工作的中共党员,只有少数被新疆军阀盛世才要回了新疆。几万一时未死而在集中营做苦工的中国人,后来大部分死于集中营了,少数在五十年代赫鲁晓夫掌政后才释放出来,居住在远东和中亚各城市。在同一时期,美国用电椅处死了两个意大利侨民,全世界抗议,巴金先生也写了长篇文章为他俩喊冤。而斯大林杀了几万中国人,却没有任何文字记录。哀哉中国人!这批华侨幸存者都娶了俄女为妻,他们的子孙也已淹没在俄罗斯人的汪洋大海中了。在“九一八”事变日本占据东北后,又有大批中国人从东北逃难到远东,其中还有马占山领导的抗日义勇军战士。他们抵达苏联后,命运也十分悲惨,被当成日本间谍关进了集中营。斯大林的手段是如此恶毒,一方面在广播电台里,号召东北中国人如不愿受日本统治,可以逃难去苏联,当人们冒着千难万险逃到苏联后,又把他们当日本间谍判刑劳改。

在五十年代后期和六十年代初期有几万所谓苏侨从东北,新疆,上海各地回到苏联,里面大部分是和白俄女人(白俄,“十月革命”后逃到中国的苏联人)或同其子女结婚的中国人及他们的孩子,多数还是中国公民。另一部分是“三区革命”后苏联驻新疆乌鲁木齐,喀什,伊宁,塔城,阿勒泰,博乐各地领事馆非法发展的所谓“苏侨”,维吾尔,哈萨克,吉尔吉斯,回族等各个民族的都有。

当初,几万白俄逃到中国后,在新疆称为“归化族”,加入了中国国籍,成了中国的公民。乌鲁木齐还有归化中学,不知道为什么解放后又摇身一变,成了什么“苏侨”?其实他们中间的大部分是坚决抵制回苏联的,到了苏联后,又先后移民到澳大利亚,美国,加拿大和拉丁美洲各国了,以去澳大利亚的最多。最后两批来苏联的中国人一是1962年的新疆伊犁,塔城边民外逃事件中过来的,多是逃避中国大饥荒的哈萨克、维吾尔族难民,只有少数汉族,也有成百上千人。一是1966年后为逃避“文革”灾难从东北和新疆越境过来的。苏联开始接纳中国人,还有一些有趣的掌故。原来,在1962年以前,中苏边界是关闭的,一有中国人越界,苏方立即送回。赫鲁晓夫执政时中苏关系破裂,赫氏想整中国,也需要向中国吸收劳动力,进行他的“共产主义建设”,于是在1962年3月份放出了一个信号,接纳了中国的一对汉维恋人。中国建国后,新疆禁止维吾尔和汉族通婚,霍城县前进公社一名山东姑娘和一名维族小伙子谈恋爱,到公社拿结婚证明,挨了一顿骂后被拒绝了。他们双双逃来苏联,苏方没有把他们送回中国,实际上是告诉中国居民:“你们放心逃到苏联来吧,我们接纳你们。”同时,各地苏联领事馆的外交官也到少数民族居民中放风:“你们赶着牛羊到苏联去,我们欢迎你们。”到了四月份,苏军打开了边界铁丝网,边民逃苏的大潮向边界涌去,我当时在霍城县教书,走在大路上,满耳都是“优尔塔什拉,索悠斯,开台!”(维语“同胞们,往苏联逃呀!”)的叫唤声。我每天都主动带着学生去边界把牲畜赶回来,为保护国家财产很出了一番力气。前面提到那位维吾尔小伙子,以后我在阿拉木图东郊契里克镇见到了,他一见到汉族人就骄傲地吹嘘:“同志,你们汉族的丫头我拿下了。”此次边民外逃几乎长达一个月,霍城,塔城,额敏三个县的居民大部分都走了。

1966年6月“文革”开始后,7月份伊犁就有人逃苏,最先逃去的汉族人,苏联都送回来了。一送回中国,军管会开公审大会,把外逃者枪毙了,以后苏联就不往回送了。这次外逃虽然没有成潮,可经历的时间十分长,一直延续到1982年。逃亡者也是泥沙俱下,有受迫害的知识分子,下乡的知识青年,失败了的“造反派”,犯了罪的红卫兵,被打倒的“走资派”,甚至,还有一些不得意的中国边防军官兵。

中国人过来以后,起先都安排在偏僻的农场种田,放羊,以后差不多都进城谋生了,大部分在工厂打工,也有照相,钉皮鞋,卖烤肉串的,只有个别人当上了教员,医生和画家。有的年青的有志者一边打工一边上学,成了工程师,博士。他们中只有少部分保留了中国国籍,大部分都入了苏籍,一部分不愿归化苏联的人就持无国籍者的护照生活,到中共“三中全会”后才先后恢复中国国籍。在那个长达近三十年的中苏对立的岁月里,留苏中国人在政治上的分化是十分明显的,少数人保持了中华民族的爱国正气,还有少数人当了职业间谍或铁杆汉奸,有些还被KGB派到东南亚活动,大部分人虽然不吭不哈地过自己的日子,却仍然心向祖国,关心祖国的命运。有许多解放前就来到苏联的老华侨,或是他们的后代,没有受过教育,几乎是文盲,却都很爱国,对中国人也亲热。国民党时代的军政官员被解放军赶到苏联来的,和俄罗斯女人或混血女结了婚,他们在青少年时代受过良好的爱国主义教育,一般都洁身自好,也心向祖国。虽然他们处世的方式是传统的,旧式的,对KGB官员点头哈腰,唯唯诺诺,但就是不合作,反正不给他们效劳。有一个真实的笑话:有位从齐鲁大学法律系毕业,当过西安法院推事的王某兄,入了苏籍。一次KGB传他,他进了指定的办公室,一进门就向左一鞠躬,向右一鞠躬,向前一鞠躬,再抬头一看,办公室一个人也没有。还有一种“反常”的情况,就是“文革”前在中国受过高等教育的人,包括那些“右派”、“反革命”,却多是爱国硬汉。表现最恶劣的却是那些素来“革命”的中共党员、转业军人或边防军人,还有红卫兵,被KGB利用的狗腿子也大多数是这些人。因为他们不知道爱中国,爱中华民族,满脑子装的只有党,只有毛主席。跑到外国来了,党没有了,毛主席也没有了,失去主心骨了,加上他们善于投机,惯于内斗,习于检举,揭发,告密,勾心斗角那一套,自然和KGB一拍即合。中共的政策和无休无止的政治运动造成了中国人空前的民族大分裂。以前说:“中国人是一盘散沙”,跑到外国了的中国人更成了一堆卵石彼此碰撞,损嶙去角,外国人是很懂得利用中国人习于内斗的品性的。其实,和中共的政策比较,赫鲁晓夫时代以后苏共的政策还是相当宽松的,容许人活下去,只要在他们的威胁利诱前不低头,他们也不是非得让你当降奴,把你当敌人,斗得个你死我活。那时苏联的建设规模大,到处都需要劳动力,工作好找,不愁挣不到钱活命养家。

最后,我写点我个人对KGB的认识。KGB是国家安全委员会的俄文缩写,它的职能是:1,收集国外情报,向国外派遣间谍或收买间谍。2,在国内反间谍,把苏联领土上生活的每一个外国人都当成外国特务来监视。3,对内严密监控和镇压任何对苏联政权不满的活动,特别是异议分子和“民族主义分子”,上至党政军最高头头,下至每个平民百姓,都置于它的严密监视下。它的机构像蜘蛛网一样遍及全国每个角落,在全苏和各加盟共和国中央是安全委员会,州和市是安全局,区设特派员。任何有科室的机构都设有第一科,后改管理科,就是KGB科。任何机构的人事科都是KGB的直属单位。在苏联,企业,事业的领导人都可以招聘,包括厂长,经理,校长,唯独所有的人事科长,都必须由KGB派出。任何部门,单位的主要负责官员在取得官职前都要为KGB当三年特务,而外国人在取得苏联国籍前也要有同样的经历。据说共产党任何一级党委会开会时都要有KGB官员出席,坐在会议桌旁一言不发,可是没有他的出场,会上所做的任何决议都无效。苏联没有中国式的政治学习和政治运动来控制大众,清除异己,用的就是KGB无处不及的监控职能。每个车间,每个工作队,每个办公室每栋楼房都有它的密探,许多成员还是有犯罪前科被抓住了辫子,品格极其卑劣的人。除美国外,苏联最害怕的国家是德国和中国,对国内居民监控最严密的自然也是德国人和中国人。KGB的各级领导多是俄罗斯人,此外是乌克兰人和白俄罗斯人。它还掌握着军队,边防军是由文官管理的,所以KGB的每个工作人员都有军衔。哈萨克斯坦的KGB主席是克列奇科中将,州局的局长军衔是上校。执政半个多世纪以后,苏联共产党已完全腐朽了,衰老了,全靠KGB来勉强支持,回光返照,和明朝晚期皇帝用东厂,西厂,锦衣卫维持政权一样。一个国家任凭安全部门权利膨胀,绝非国家之福。1972年我在阿拉木图KGB监狱坐牢时,写了一首打油诗:“岂有特务能兴邦,岂有间谍可亡国,政府若不行正道,早晚一命呜呼也。”我可以大言不惭地说,在三十年以前我已经觉察出苏维埃帝国去日无多了。

开始打工

到了七月下旬的一天,我以前见到过的那位KGB副主席到旅社来和我谈话。他看来只有四十多岁,一付文质彬彬的学者派头,说着流利的中国话,他还说会英语,德语和意大利语。他说他是靠读中文侦探小说学会中文的,三句不离本行,也叫我读俄文侦探小说来学俄语。他先给我戴高帽子,说:“雷同志,我看了对你审问的记录,觉得你回答问题很有逻辑性,也讲气节,我们也看重讲气节的人。你知识面广,文字水平高,象你这样的大学生在我们的大学里也不容易培养得出来。”又说:“苏联是世界上最好的国家,我们相信国际主义者(指亲苏分子)终将在中国取得胜利。你在苏联留下来,留在阿拉木图工作,离中国近,将来回中国也方便,目前你主要的任务是学好俄语”。听到这儿,我一下子警觉了:怎么!给我派“任务”了?我心里明白了,如果我要是再提出要去台湾或新加坡,那是自取其祸。第二天上午,撒沙把我领到了审讯室,预审官对我说:“对你的审查已全部结束,你有什么要求可以向我们提出了。”我回答:“我向苏联政府申请政治避难,我希望到工厂或农场去当工人,用自己的双手挣面包吃。中国形势变了,我就马上返回自己的祖国。”他立即回答:“我们接受你避难的请求,但不是‘政治避难’。因为你只是一个教员,不是刘少奇,不是乌兰夫。如果同意你在苏联政治避难,就要把你送到莫斯科去,像王明一样,国家花钱养着你,和勃列日涅夫平起平坐,你还不够这个资格。你得用自己的劳动挣钱,你的工作由撒沙帮你找。”我连忙说:“当然,当然!我从来也没想过像王明那样的‘政治避难’。”接着递给了我一张打字纸,叫我写申请书。我的申请书写的很短,开头写明了“在任何地方,任何时候我决不从事反对我的祖国和我的同胞的特务活动。”最后几句我一直记得牢牢的:“我相信笼罩在我的祖国上空的乌云终将消失,到了那个时候,我将带着对苏联土地和苏联人民的美好回忆回到我亲爱的祖国。”撒沙又告诉我:“你已经失去了中国国籍,又没有得到苏联国际,现在只能领无国籍护照。按照苏联法律规定,无国籍者也是外国人,只能在所住城市二十五公里范围内活动,超出这个范围要向警察局请假,你决不能违反苏联法律。”

下午,撒沙带我到阿拉木图市警察局外事科领护照,那里早已准备好了。无国籍护照是绿颜色硬封面的本子,苏联护照则是红色的。在苏联只要有护照,兵役证(本国公民)和劳动手册(工龄本子),便可以到处工作,没有政治鉴定,也不要档案。

次日上午撒沙带我出去找工作,先到了市劳动介绍所(他翻译成“找工作局”),登了记。接着说我们到哈萨克斯坦科学院东方研究所去看看。科学院位于市中心一个很幽静的地方,周围绿荫蔽天,离KGB办公大楼也才三个街道。大楼是古典的俄国宫殿式建筑,黄色。大门前竖着瓦里汉诺夫穿着沙皇时代军服的青铜塑像。瓦里汉诺夫是哈萨克的“圣人”,用他的名字命名的地方很多,声称他是哈萨克第一个科学家。有人说“哈萨克民族最大的科学发明就是发明了瓦里汉诺夫是个科学家”。历史的真实是:瓦氏是沙俄军队的一名小小的上尉军官,会说俄语。十九世纪时,俄国派他到中国新疆去当侦探,搞间谍活动,探迹所至直到敦煌。回来后给沙俄政府写了些关于新疆的调查报告,不过如此而已。直到今天,瓦氏还是独立后的哈萨克斯坦的圣人和民族光荣,钞票上印着他的头像。我一看到铜像,听了撒沙的介绍,再走进基座看到瓦里汉诺夫的名字,一下子热血便冲到了脑门,原来他们的“科学家”便是这号子人。在一间办公室,见到一位混血中国人,他说解放前他是从兰州大学历史系毕业的,返回苏联后又在莫斯科拿到了学位,是东方所的负责人。他的办公桌上摆着《人民日报》和《红旗》杂志,他指着说:“分析里面的文章就是我们的工作。”原来如此,我能干这种事吗?我相信所谓“文化大革命”绝对是一个错误,历史终会给它作出结论,但那是我们中国人自己的事。你们外国人要怎么办是你们的事,尤其对于我深深怀有警惕的苏维埃帝国,可以肯定,你们只不过是打着研究“文化大革命”的旗号,从你们的国家利益出发,从事反华的研究和活动而已,我是永不会参与的。我对撒沙说:“我俄语全不懂,在中国劳改了几年,中文也忘了不少,还是先去工厂当工人吧。”可能是我早就多次声明过,撒沙没有为难我,只是点了点头。那个混血人在书架上取下一本《新唐书》,翻出《回纥传》递给撒沙,撒沙把书交给我说:“请你把这篇文章给他们译成现代汉语。”他又带我到了科学院图书馆的中文部,他的人头熟,介绍我和管理员认识了,告诉我以后可以去哪里借中文书看。后来我知道了,那个年代不少中国高级知识分子逃过来后都要送到科学院去混些时候,一是名声好听,一是给他们翻译中国古文。中文部的书架上摆满了中文书刊,还有一包包的书堆在地上没有拆包,是五十年代从中国运来的。管理员是个细瘦的哈萨克女人,会说点汉语和英语,她要了我的护照登记了姓名,说有了阿拉木图市的户口后,随时都可以来借书。

七月三十一日上午,撒沙来旅社告诉我:“我们上级接受了你的请求,现在带你去一家工厂办理入厂手续,这家工厂的工资好,工人食堂的伙食也不错。我们苏联是工人阶级领导的国家,当工人是光荣的。”撒沙带我坐小汽车走了好久,到阿拉木图北部工业区一家工厂,先到人事科,办事员都是俄罗斯人,很快给我填写了劳动手册,发了工作证。我听懂了女办事员对撒沙说的一句话:“他长得很漂亮。”人事科还叫来了我要去干活的车间的车间主任,带我去车间看了看,又派工长带我领了工作服,看了澡堂更换衣服用的衣柜,叫我第二天就上班。还说已经在工厂的集体宿舍里安排了我的铺位,可以马上搬过去。我成了打工仔,KGB也就把我移交给工厂看管了。临走时,人事科长还给我发了二十卢布,叫我暂时用作生活费,发工资时再扣回去。

这家工厂叫“机械磨床厂”,生产拖拉机发动机的汽缸和各种拖拉机、汽车和坦克的筒状零件,苏联不少民用工厂也生产军火。厂里有翻砂车间,零件自己铸造。我干活在气缸打磨车间,一排排自动车床排立着,机器轰鸣,上方有天车来回驶动,劳动十分紧张,看不到闲人。夏天天气热,有人便光着膀子干。全是带水打磨,地板上满是白色的肥皂水。我第一次看到现代化的工厂,看到工人如此繁忙地创造财富,真正是伟大的。男女工人绝大部分是斯拉夫人,只有少数几个哈萨克工人当搬运工和清洁工。八月一日是我上班的第一天,下班后从旅社搬到了集体宿舍,我开始独立生活了。

分配给我干的活是气缸内层最后一道的磨光工序。车床是自动化的,有仪表控制,磨头由保全工安装和检查,我只要完成拆卸零件和按电钮两道手续就行了,看了五分钟后就上岗顶班干活,没有当学徒。每个班都有定额,我第一天就把定额完成了,车间的工头和同组工人都来笑着拍着我的肩膀说:“阿列克,好样的!”工资是计件制,出的成品越多工资越高,完不成定额的要在休息天加班,所以工人干活都十分卖力,午休时急急忙忙吃完饭就上岗干活了,看不到扎堆闲谈。我也尽量避免和别人说不相干的话,因为苏联人一开口就要问中国的“文化大革命”,“红卫兵”,“造反派”,“红太阳”之类叫人难以回答的尴尬问题。每月发两次工资,第一次叫预支,每人五十卢布,下月初再发全月工资。我八月份领了一百一十卢布,九月份领了一百五十卢布,物价便宜,工资是很够用的。领到第一个月工资我就把全身装点一新了,还买了块列宁格勒出产的东方牌手表,才十五个卢布。

我干的是最后一道工序,质量检查台就在我的车床边,见到女检查员们拿着仪表检查每一个零件。如果度数误差不大,工长拿着在铁桌子上一敲就合格了。俄罗斯工长是个五十多岁的老技工,技术十分熟练,他只管零件质量和定额,没有时时到车床间转悠,督促工人干活。检查台后面是个大布告栏,上面焊着列宁头像的铁板画和铁条焊的大标语,栏上贴着花花绿绿的宣传品,每个月的工资单也贴出来公之于众。布告栏中间贴着四张苏联军官的戎装照片,是入侵珍宝岛时被我国边防军打死的,是他们的烈士。有的工人走过看一看照片再望一望我,忿忿地说:“КЙТАЙ”。旁边干活的女工也不时和我说:“你们的毛泽东真坏,打死了我们那么多人。”每逢此种场面,我都装着听不懂,走开了。我的上一道工序是一位乌兹别克工人干的,他干活粗糙,常常他加工出来的气缸我放不进零件卡,只好要他重干。碰上这种情况,如果是俄罗斯工人,他会说一声“对不起”,然后接过去再加工,可那个乌兹别克人不一样,一见我把零件送过去便出口伤人,还对我挥拳头。有一天我气急了,拿起气缸朝他挥出的拳头砸过去,以后他才老实了一些。许多中亚土著都是这样的,似乎比俄罗斯人还仇视中国,也不知是为什么。我慢慢得出经验来了,人不犯我,我不犯人,有人欺负我便要和他对着干,打不赢也要打,听到有人骂中国也恶语还击。他们一般都欺软怕硬,你不服输他就先服输了。不过俄罗斯人有一个大优点——不记仇,吵架打架两分钟以后就可以握手言欢,如果再一起喝上一杯,马上就可以成为好朋友,亲兄弟。我在那台磨床上干了十一个月,没出过一次事故,月月都超额完成定额,只要头头通知我加班,我是从不拒绝。和同事们相处得也挺好,原因之一是他们大部分是女工。

苏联的计划经济十分严格,定额高,工厂头头最主要的任务就是完成计划,不敢苛待工人,能完成计划的人就是好人,没有民族歧视,也不管政治思想和生活作风。对于完不成定额的,喝酒旷工的人,处分是很重的,要拉到“同志法庭”去审判。“同志法庭”的法官和陪审员由工会指定的车间工人和技术人员组成。开庭时全车间工人参加,先由违纪者自诉错误,再由同事批判最后法官判决,一般是扣除部分或或全部的当月奖金。工资中百分之六十是计件金额,百分之四十是是奖金,如果违纪,这百分之四十就没有了,这是控制劳动纪律的紧箍咒。一次审判一个工人,是因为他领了工资以后不把钱拿回家,和酒鬼朋友们去喝酒,工资花光了再回去吃老婆的。他老婆告到车间工会,结果“同志法庭”判决他的每月工资由他老婆来车间领取,剥夺了他本人领工资的权利。六十,七十年代是苏联经济发展最快的时期,建设规模大,机械力量十分雄厚,工厂里车床比工人还多,运输公司的汽车比司机还多,我一个人就有三台磨床,摆成口字形,这台坏了那台干,歇人不歇工。他们也很注重劳动安全,车间有安全工程师,随时检查,工人搞坏了车床没有事,如果受伤了则是大事情,AKT(事故报告)由安全工程师一写,从车间主任到工长都得挨罚,扣奖金。常常是工人受伤了,车间主任叫他回家悄悄地治伤,养伤,工资照发,不让上面知道。不过,车床质量不高,老出毛病,修理工的活比谁都多。磨工车间里面有一间小机房,里面摆着一台车床,由一个老车工专用,不用时用黑漆布把车床盖得严严的,老车工下班了把机房锁上,钥匙交给车间主任自己保管。一天午休时我好奇地偷看了一下,只见车床上赫然铸着“满洲株式会社”几个中文字和年代,是昭和15年,即1940年的产品。大概是苏军从我国东北抢来的,三十年后苏联还把它当宝贝用。

苏联社会的一大奇观是女人比男人多出很多。苏德战争牺牲了几百万军人,几百万苏军当了俘虏,又有几百万关在集中营,几百万青年在军营服现役,生育力又低,二次大战结束后三十年内,我国人口翻了一番,苏联只增加八千万。男女比例严重失调,女多男少,工厂里,农场里女工比男工多,学校教员,医院医生大多都是女人,商店里和办公室的一般职员几乎看不到一个男人,学校里的学生也是女生多于男生。一次我在新认识的一位维吾尔人老乡家里看到了一个从北方农场来的维族人,他告诉我,1955年他从伊犁来到苏联,分发到了农场,一下车,几十个女人把他包围了,抱着他便哭,说:“想不到我们活着的时候还能看到一个年轻的男人。”苏联的共产主义建设几乎全是女人干出来的,社会上流传着这样的民谣:“左手提着提包,右手抱着小孩,同一个酒鬼睡了一觉,起来为五年计划效劳。”法律规定也是女权大。女人打了男人,被打的男人告到警察局,警察不会理睬。反之,只要女人说男人打了她,不管真假,状子一递上去,男人起码就得服十五天的拘役。男人在婚姻上选择的余地多,离婚率特别高,几乎没有夫妻白头到老的,中年妇女大部分都是寡妇。夫妻离婚,除小汽车外,其余财产包括住房和别墅都会判给女方。男人把汽车开到另一个寡妇家,一个新的家庭就又建立起来了。只要婚姻登记证上只有一个老婆,政府对事实上的一夫多妻是不管的。所以男人非常好找对象,任何一个年龄阶段的男人都可以找到合适的老婆。一个当过兵的混血同胞告诉我:“我们部队开到哪里就把姑娘嫖到哪里。苏联没有强奸犯,也不要妓女,女人都会自动为男人献身。”我干活的小组五个人,组长兼保全工和我是男人,其余三位是女工。组长和另一个老女工爱喝酒,不断向我借钱,一个卢布三个卢布地借了又不还。我刚去,又不好撕破脸皮要帐。一位叫妮娜的女工和我亲近,我便请她去要帐。妮娜三十多岁了,一头长长的白发,身上的线条也长得好,十分爱干净,是个寡妇。她力气小,每天上班前我帮她把零件搬到她的磨床边摆整齐,我停工待料时也去给她帮忙,一来二去她对我亲热起来了,我住院时还买了蛋糕,到医院看望我。一次周末,她带我去工厂俱乐部跳舞,双手把我抱得紧紧地。谁知在另一车间里有她的男朋友,一个高个子的俄罗斯小伙子,吃醋了,以后一碰到我就高喊“妮娜,妮娜”,我只好和妮娜疏远了。俄罗斯人男女关系十分开放,他们的心胸也开阔,不计较小事,却又没有道德观念,蛮不讲理,说话从来不算话,还酗酒成性,几个人碰到一块便“打卢布”,即一个人出一个卢布买酒喝。酒也便宜,伏特加白酒三个卢布一瓶。他们还喜欢喝寡酒,只喝不吃,一喝就醉,一醉就发酒疯。酒是通行证,是最顶用的通货,找人办事酒能打通一切关系。比如出门要搭便车,只要提瓶酒站在路边,晃一晃,立刻就有司机停车带你,不管路程远近,都会送到目的地。下午和休息天,街上到处都躺着酒鬼,抓酒鬼成了警察的主要工作。苏联女人最大的幸福就是能找到一个只喝一点酒而不是酒鬼的男人,要不然,挣来的钱大部分都喝掉了,许多苏联人都过的很穷。领工资后,男人们到一起商量,如何偷留点钱不内交来骗老婆,这是经常的话题。一次领工资后我和一位钳工一块在车站等车,他拿着几个当十的卢布大钞把我领的当三、当一的零钱全换走了,拿来在帽子里塞几张,袜子里塞几张,鞋子里塞几张,一边塞一边说:“上帝保佑,可不能叫老婆全给搜出来。”酒风所及,中亚的本地民族也嗜酒成性了,比老毛子(俄罗斯人)还能喝,醉后还没有酒德。

上班十几天了,没有遇到一个中国人,心里很想找到自己的同胞。一天下班后走出工厂大门时,一个维吾尔人用中国话向我打招呼,很亲热地介绍他自己。他叫司马义,原来在伊犁新源钢铁厂工作,后来成了个“现行反革命分子”,被抓进劳改队了,妻子却以“苏侨”的身份到了苏联。“文革”中公检法被夺了权,劳改队管得松,他趁机逃出来越境到了苏联,分配到这家工厂干活快两年了,在翻砂车间,每月可拿到两百卢布。妻子也找到了,两人租了两间小平房住着。妻子是缝纫工。以后我们两人常常一道上班下班,因为他租住的房子在我住的集团宿舍只隔一条马路,休息天常叫我去做客。她妻子做拉面招待我,也常帮我烫衣服。司马义告诉了我许多劳改队的事,说他在里面结交了不少汉族好朋友,有些还是大学生,有的真有本事,可以管理一个非洲小国家。半年后,司马义又告诉我她妻子作风不好,她的情夫给他抓住了,两人分开了。之后我也不好意思再去他家了。

他来苏联比我早,教给了我许多和苏联各族人士打交道的经验,说俄罗斯人好打交道,哈萨克人自大又自私,乌兹别克人十分骄傲,认为自己的文明水平高过俄罗斯人。他说两年前在乌兹别克首都爆发了相当规模的反俄示威,导火线是一个俄罗斯小伙子和一个乌兹别克姑娘在公园里拥抱亲吻,一群乌兹别克年青人看到了,当场把俄罗斯小伙子打了一顿,接着就上了街。游行的领导是共和国一个部长的大学生儿子。游行者高呼乌兹别克独立的口号,还打出了毛泽东的画像,有人宣传:“只要我们宣布独立,中国马上会派五万军队来支援我们。”游行示威很快被军队镇压了,很多人被抓走失踪了,里面有中国来的维吾尔人,那位部长也自杀了。司马义告诉我说,他经常听自由欧洲电台的乌兹别克语广播,知道西方的生活水平比苏联生活水平要高的多,只有中国人,朝鲜人,越南人跑苏联,没有法国人,英国人来。

他还带我去过一些从新疆移民来的知名人士家里去拜访他们。第一家去的是贾和达家。贾氏是哈萨克人,原新疆伊犁哈萨克自治州的州长,现在阿拉木图一家哈萨克文的杂志社当编辑。他住在居民区一栋普通楼房的三套间居室里,看来过得十分清寒,家徒四壁,客厅里只有几张椅子和一张床,招待我们的是面包片,红茶加方块糖。又去了一个原来在新疆当卫生所长和新疆邮电工会主席的家,都是维吾尔人,也过得同样清寒,喝了点酒还是我带去的。他们来苏联后十分不得志,政府不信任他们,本地民族排挤他们,牢骚满腹。他们告诉我一个原新疆自治区的维吾尔副主席,“回国”后只当了一名汽车队长,不久还解了职。一位原新疆军区的副司令员,少将,过来后在阿拉木图市场上卖西瓜。那位原卫生所长说:“我们回苏联的原新疆领导干部只有当过文化厅长的孜牙才吃得开,他是作家,会写反中国的小说,现在派到土耳其开会去了,像他那样的人看不起我们,不和我们来往。”贾和达说:“新疆的哈萨克人要得到幸福生活只能和汉族人一道争取,不能脱离中国。”这些人原都是“三区革命”的新疆民族军军官,有的人双手还沾着汉族人的鲜血,有的还是苏联派到中国去的,解放后当了大官。在中国反地方民族主义的政策下,他们吃不消了,因为持有苏联护照,就纷纷“回国”。过来以后,境遇还不如在中国,处处受到排挤和歧视,把对中国的怨气都消磨掉了,对汉族人都还友好。有一个维吾尔人对我说:“哪天我们在哈萨克斯坦得势了,要叫哈萨克人在喂猪的猪槽子里喝水。”我发现,“文化大革命”以前来苏联的维吾尔人其实并没有多少反汉情绪,是“文革”把新疆的民族关系全搞乱了。但我也保持了警惕心,意识到司马义和我来往是接受了任务的,只是他没有照着上司的指示办。

集体宿舍一瞥及其他

安排我住的工人集体宿舍是一栋四层平顶楼,位于阿拉木图的新旧城结合部,旁边是阿拉木图最大的人工湖阿拉木金柯,湖光山色,环境美丽。宿舍是一套三室单元,外门通向走廊,房间两大一小,大的住三人,小的两人,共用厕所,淋浴室和煤气炉。房间里有大壁橱,床头柜桌椅和钢丝床被褥齐全。油漆木板地板,天天有女工擦洗。被套被单一个星期换洗一次,也有专人料理,一个月共收费三卢布。清洁女工是位新疆过来的维吾尔大嫂,每次见到了我都要亲热地和我说不少话。和我共住一室的是位俄罗斯青年,建筑工,他只来睡觉,休息日全不回来。下班后整个单元几乎只有我一个人,十分安静,可以边查字典读点俄文书报和写我的“文革”回忆录。我把这个回忆录命名为《动乱的四年》,不知道我是不是首次把“文革”定位为“动乱”的了。我住进去十来天后,大批欧洲来的青年男女就把原来空着的宿舍上面两层全住满了。那时,中苏关系紧张到了极点,双方都在准备打仗。莫斯科从它欧洲部分的居民中征来了几万男女青年充实和中国接壤的中亚地区,为他们在城里和乡下盖了许多住宅,带家的安排在乡下,单身青年安排住城里,宿舍里一下集中了几百名外来的青年男女,民族各别,语言不同,形形色色,十分热闹。他们新到东方,第一次看到黑头发的黄种人,什么都觉得新鲜。傍晚在楼前小花园乘凉时,不断有人,特别是姑娘们来和我搭腔,知道我是中国人后更热乎了。我交了不少女朋友,混得最熟的是个摩尔达维亚姑娘,叫伊拉,二十来岁,高中毕业分配到我干活的工厂当抹墙工。她不到一米六,小巧玲珑,活泼稚气,能说俄语,匈牙利语,摩尔达维亚语(罗马尼亚语)和法语。其实摩尔达维亚本来是罗马尼亚领土,1939年苏联和希特勒德国靠拢,莫洛托夫和里宾特洛甫签订了遗臭万年的莫斯科协定,瓜分东欧,苏联分得了波兰东部,摩尔达维亚和波罗的海边的立陶宛,拉脱维亚,爱沙尼三个小国(战后,苏联又把邻近的捷克斯洛伐克克尔巴阡山东麓的一块土地割占了)。所谓摩尔达维亚语就是罗马尼亚语,属于和法语相似的拉丁语系,只是斯大林为使摩尔达维亚人永远和自己的祖国分离,把原用的拉丁字母改成俄文字母了。伊拉只上白班,碰上我上白班下班后,常来约我一道去看电影,看完电影后在咖啡馆喝杯咖啡,吃点点心,钱当然全由我掏。我们看的第一部电影是印度片《爱情万岁》,我印象最深的是苏联电影《高加索的女俘虏》。由两位最出名的苏联喜剧大师出演,叫人笑破肚皮。有趣的是有的场景还套自中国解放初期的政治讽刺小品剧《杜鲁门给蒋介石剃头》,还引用了几个我们京戏的程式。另一部是印度电影《城市的夜晚》,是演述一个衣着破烂,神情麻木的流浪者夜晚到一栋楼房找水喝的故事,那副可怜相,可笑相和乞儿相,看来是印度国家形象的写照。七十年代印度电影在苏联十分受欢迎,原因一是内容浅薄而程式化,逗笑处多,大众容易看懂。一是印度人穷,苏联人看印度电影是从高处俯视印度,而看美英法电影则要从低处抬头看,仰视那些国家。三是为了反中国,印度和苏联结盟,千方百计巴结俄国人。

慢慢地,伊拉一下班后便跑到我的房间不走,有时幽会到深夜。九月份后我到科学院图书馆借书,星期六也是开门的。那位哈萨克女管理员叫加娜,她让我自己选书,第一次我借了印度尼赫鲁著的《印度的发现》,我上大学时读过,书里有对印度命运的深刻思考,引发我对自己祖国命运的忧思。还借了四厚本一套的《太平广记》,从魏晋到唐朝的笔记小说。

在新疆劳改两年,天寒地冻的冬天在野外搬石头修水渠,我冻出了鼻炎,鼻梁又在挨打时被打歪了,借了书的这个月,我住院做了鼻梁矫正术。主刀的是位俄罗斯女大夫,手术做得十分细致,也十分成功。住院全是公费,连病服和伙食费都由国家承担,出院后还发全部工资。两个星期在医院病床上我读完了《太平广记》,只感觉社会百态,权势者施威,小民受罪,正直的知识分子含冤,一千多年过去了,中国社会还是没有改变。不同的是古人还有写作自由,今人却没有了。出院后我去还书,为感谢加娜的帮忙,给他带去了一瓶法国香水,又帮她把堆在地板上书包拆包登记,两人用结结巴巴的俄语,汉语和英语说了不少话。大概中文部永远是门庭冷落,没人来光顾。以后我一去她就把门扣上了,也没有人来敲门。有时在星期六我带上面包香肠,腌黄瓜,西红柿去全天陪着她。哈萨克人俄罗斯化的程度比较深,宗教观念也不强,女人很开放,在大街上满眼能看到哈萨克美女,黑发飘逸,鼻梁高高,眼睛大而发蓝,举止文明,很难想象她们是游牧民族的后代。加娜快三十了,受过高等教育,离过婚,带着个四岁小孩跟着父母住,自己还没有领到住宅。独身女人是寂寞的,遇上个气质和自己差不多,感情能交流的异性很容易动情。可惜不久后我认识了好多中国人,有了打发休息日的去处,再没有去她那儿了。次年春天我去还清全部借书,没有见到她,把书交到了总管出纳台,加娜是我交到的最好,最纯真,最可爱的哈萨克女人。

中国人在苏联生活处处受歧视,只有一个机会和苏联人是平等的,那就是处处都有艳遇。第二年春天,一次我搬气缸时把手指头砸伤了,到医务所治伤。给我包扎伤口的是位德国护士,名字是德国女人常用的克拉拉。克拉拉年纪比我大,细高个,头上挽着美发髻,鼻子笔直,脸庞狭长,说不上漂亮,也不难看。她知道我是中国人后,马上狠狠地说:“你是个大傻瓜,逃到苏联来干什么?这是个狼的国家。”其实我也不愿意来到这个虎狼之国,但又有什么办法,只能连连点头称是,她又笑了。每天都去换一次药,每次她都细心给我洗伤口,上药,包纱布。苏联的医疗很奇怪,包伤口不用胶布,拿上半米长的纱布剪开以后包扎,指头变成小玉米棒了。她一边给我包伤口一边告诉我她是德国人,1937年随父母从莫斯科流放到中亚来的,护士学校毕业后结婚了,丈夫也是德国人。德国人受压迫,处处挨骂,人身自由也没有,出门就有第三只眼睛盯着。丈夫没法忍受,打通关节,把自己的民族成份和姓名都换成俄罗斯的,领上新护照后离家出走了,抛弃妻子,不知去了哪儿。她一个人带着儿子住在母亲留下的小平房,儿子十二岁了。同是天涯沦落人,我们都向对方发出了深深的同情。我伤口愈合的那天,克拉拉给我剪掉纱布,洗干净手指后,约我傍晚到她家做客,商量好下午六点钟她在集体宿舍前公共汽车站等我。到时候我们拦了一辆出租车,车行了好久,快开出城才到她家。她住在一个小山坡上,满山尽是果树。她的平房只有小小三间,陈设简单,但十分干净,室内一尘不染,窗台上都铺着白色的挑花布。图书满架,也是个爱读书的女人。园子不大,用木板围着,板墙上爬满了啤酒花。园子里几乎没有种菜,全种着花,几棵丁香树,几丛芍药花都盛开着。芍药花俄语叫“中国玫瑰”,大葡萄架和花树下都摆着长木凳或系着吊椅,小径上寸草不生。苏联人说“世界上最勤劳的是德国人和中国人。”德国人勤劳,又十分爱干净,聪明,可也像日本人一样地精明。在我们的来往中,凡吃的菜,肉,酒都是我花钱买的,还要给她儿子买圆珠笔,练习本,汗衫和球鞋,而且是她预订的,不过都便宜。第一次我带去了一瓶伏特加和两块大巧克力糖。一进门,她拿出干净的条文睡衣睡裤叫我到浴室洗澡换衣。在浴室的房顶上安着个大铁箱,里面装满了水,太阳照了一天后也就温热了。她准备晚饭,打发儿子到街上去和小朋友们踢足球,玩累了自己回家吃饭,洗澡,睡觉。西方人的家族成员都是各自独立的,彼此不干涉各人的私生活。德国人吃的饭菜大概是世界上最简单的了,几片面包,几片香肠,一大盆牛奶浸土豆,饮料是用土豆自制的啤酒。克拉拉也能喝酒,我们两人把大半瓶伏特加都喝掉了。吃完饭后,天黑了,她和我一起坐在花树下的木凳上,喃喃地说着大部分我听不懂的话。暮春的微风吹动着满院的花香,虫声吱吱月光从花朵和树叶的缝隙间洒向地面,夜色和春色都使人沉醉。而长夜清淡,情调就更美了。可惜我知道的俄语太少,克拉拉说的话我大部分听不懂,只知道她父亲原来是基督教牧师,母亲是医生,家境是富裕的,有乡下来的俄罗斯姑娘给她家当丫环。她刚记事时全家就流放到中亚了,父亲累死在矿井里。她全部的生活都是在穷苦和受蔑视中过来的,上学时同学叫她“法西斯”,工作后出了事上司便骂她“德国人搞破坏”。家里有电视机,可从来不打开,也不上电影院,因为电影都是咒骂德国人的。但是我同情苏联人对德国人的愤恨,就像我们中国人对日本人一样,难道我们还要在电影里讴歌日本人打中国吗?她会的德国话不多,也读不懂德文书,闲暇时期用在读翻译的德国小说。所有德国文学名著都有俄文译本。我读过《浮士德》,罗曼·罗兰以德国人为主角的《约翰·克利斯朵夫》。特别是对《少年维持之烦恼》印象还大部分留在脑子里,没有在她面前当中国土佬。同是异国他乡的流落人,语言不通也能两心相印。夜深了,她儿子早已睡觉。我们还在花树下,她不断低唤:把我抱得紧一些。月亮在空中消失了我们才进屋,又吃了几口牛奶泡土豆,喝了一小杯伏特加,到第二天中午我们才起床。她要我每个星期都去她家去一次。她是个很明理的女人,从来没有到宿舍和车间找过我,也没有向我要过钱。

打工以后,我发现KGB从来也没有放松对我的监视,干活时和在宿舍里常常有人来对我表示过分的关心和热情,逛公园时也不期而然地碰上某个在工厂见过面的人向我问东问西,约我去喝杯啤酒。从上班的第一个星期开始,每一个星期天都要我去和特工见面,地点是某个公园的门边或某个电影院前面,时间只有十来分钟。他们问我的工作和生活,紧接着是“你认识了什么中国人吗?和他们说了些什么话?“有时也请教我一些问题。要我学好俄文,则是每次见面必不会少的叮嘱。十月份是哈萨克斯坦加盟共和国成立五十周年大庆,工会给我发了游行证要我去游行,在检阅台上,见到了勃列日涅夫,也第一次看到了阅兵式行进中的导弹。入场时我双眼望着检阅台,不小心偏离了队伍,一个警察少校用步话机的天线敲了一下我的头,要我走好,使我心里十分不快。和特工见面时,有时他们问的问题太离谱了,我就不搭腔,他们立即警告我:“雷同志,你在苏联的前途全看你的表现。“严重些的还要斥责:”我们上级叫我警告你。”延续两个月的一星期见面一次后换成半个月一次,以后又换成一个月一次。头一次见面约定下一次见面的时间和地点。约见我的特工每次都换人,有俄罗斯人,也有哈萨克人。他们从不告诉我姓什么,名字也常常改变,这次是撒沙,下次就变成戈尼亚了。和我见面最多的是一个叫米沙的俄罗斯人,四十多岁了,大红脸,一口地道的中国话,说话还风趣得很,爱开点玩笑。此人大有来头,牛水告诉了我他的历史。他的继父是老华侨,在新疆塔城长大,少年时代即吸收到苏联驻塔城领事馆打杂,同时接受特工训练,在伊宁,乌鲁木齐和北京的苏联驻华使领馆里都干过,是个中国通。老婆是俄罗斯人,也是在中国长大的。1956年匈牙利人民起义被镇压后他调到苏联驻匈牙利大使馆。那时中苏友好,双方在镇压匈牙利起义时合作得很合拍,大概是调去当翻译员吧。后来调回国在哈萨克斯坦钢铁工业中心基米尔道乌市一家小工厂当厂长。中苏关系恶化后,调到哈萨克斯坦KGB中央当特工,军衔是少校。直到七十年代中期,KGB派来找我的人多数是他。牛水又告诉我:“在阿拉木图生活的每一个中国人都有一个上司,他的上司就是米沙。”不知道为什么,我没有固定的“上司”。要是特工缠上了你,像苍蝇围着你飞,挥之不去,叫人多恶心就有多恶心。不过他们文化修养都高,衣冠楚楚,一派绅士风度。到了1985年戈尔巴乔夫执政以后,我才解除了此般苦恼。 – See more at: http://m.creaders.net/blog/user_blog_diary.php?did=234073#sthash.MYttfkh6.dpuf

老华侨(形形色色的中国人之一)

七十年代,在阿拉木图住着几十家老华侨。我这里写的老华侨,是指解放前来到苏联的中国人。他们中有些是在西伯利亚集中营服了几十年劳役,赫鲁晓夫当权后才释放出来的。赫鲁晓夫是个开明的政治家,他废除了大部分的斯大林暴政。他的仁政之一是给从集中营放出来的人都发了全额工资。有些老华侨怀里揣着几千上万的卢布来到阿拉木图,买了带大园子的花园洋房,买了小汽车,没有住公寓的。他们结婚都晚,又找不到中国女人,妻子一般是俄罗斯女人,犹太女人,也有娶朝鲜女人或远东的那乃女人的,没有一个与中亚土著民族女人结婚的。七十年代正好是他们的子女长大谈婚论嫁的时候,而六十年代重回苏联的老华侨带过来的孩子也已长大成人。老华侨有一个特点,就是都很爱国,爱自己的同胞,都希望自己的子女相互通婚,但女多男少,哪里找到了那样多的中国小伙子当女婿呢?正在他们为儿女的终身大事犯愁时,1962年边民外逃时成百上千的汉族人来到苏联,绝大部分都是单身汉。老华侨们高兴坏了,能出嫁的女儿大多都嫁给了他们,有的已出嫁的混血少妇又离婚了重嫁中国同胞。过来的人大部分是“盲流”,受过高等教育的不多,但老华侨和他们的女儿也不嫌弃,尽管女方受过高等教育,并不管对方的文化、职业,甚至年龄,都愿意嫁。那么多的中国文盲,半文盲娶了苏联的医生、教员、工程师或会计。中国人勤劳,节俭,诚朴,家庭观念比哪一个民族都强,成家后一心扑在老婆孩子身上。中国人当户主的家庭都全家和睦。日子过得好,没有像一些苏联人不断在结婚,离婚的恶性循环中兜圈子。苏联女人又没有中国的等级观念、阶级成分、政治态度方面的讲究,两情结合,相得益彰。还有一个重要原因,苏联的工资制度也是脑体倒掛,大学生多,不值钱。年青人干体力活,一个高劳动强度,高技术的职业每月工资可以达到三百多卢布,而普通工程师,教员,医生才能拿一百二十卢布。有副博士(硕士)头衔的也才一百八十卢布。这还是在高工资地区的中亚,欧洲部分的工资水平还要低一些。又实行职务工资制,职务升不上去工资也升不上去,坐办公室的女职员大概永远都没有升职的机会。如果夫妻双方都是大学毕业,每月各拿一百卢布,也够养家,但要买车买房,就只能是梦想了。所以,许多女大学生都愿意嫁给工资高的工人,为的是经济上的实惠。

八月中旬我领到了预支工资后,买了个铁锅,准备自己炒中国菜吃,好几个月没吃中国饭菜了,真想。星期六去市场买菜,看到一个中国人模样的老头在卖菜,有小葱,芹菜,茄子。我十分高兴,上去喊了他一声大爷,用中国话和他攀谈。他见到我是中国人,也一样高兴,叫我在他摊子边坐下,问长问短。他姓杨,山东掖县人,“九一八”事变后从东北去到苏联远东,在集中营关了十几年,战争结束后才放出来,到阿拉木图安家。我告别时,他说:“明天星期天,我不摆摊了,上午十点你到这里来,我接你到我家做客。”第二天早上我按时来到市场,杨大爷早等着了。他带我走出市场大门一辆小汽车边,他的儿子坐在司机座位上。杨大爷的家也在城边,房子大,园子也大,有一公顷多。车子开进院门停下,走出来一看,只见葡萄架下的长桌上摆满了菜和酒瓶酒杯,周围坐着一位大娘和几个年青人,大家站起来欢迎我,里面还有位浙江口音的青年。大娘是俄罗斯女人,我叫他玛莎婶婶。杨大爷两口子生了一男三女,儿子结婚了,媳妇是俄女;大女儿在大学教德语,丈夫就是那位浙江青年,1962年过来的,是当了右派分子后外出流浪的小学教员,现在街边小亭子里修钟表,小两口的日子过得不错;二女儿二十岁出头,还在哈萨克斯坦国立基诺夫大学法律系读书,小女儿才十七岁,在上医药学校。桌子上菜肴花色很多,中西合璧,有红烧肉,炸丸子,豆腐汤,粉丝拌海带。酒有大瓶的香槟和小瓶的伏特加。杨大爷略致了几句开场白,大家就碰杯喝酒,一边吃,一边谈。二小姐和我坐在一起,不断给我杯中添酒。席间,玛莎婶婶站起来流着泪说了一大篇话:“我的沃洛佳(杨大爷的俄罗斯名字)是块金子。战争时我一家都死光了,我一个女孩子单身流落到阿拉木图,是他收留了我。他日夜干活,在建筑工地开推土机,老了还种园子,卖菜,为的是养家,给女儿买房子汽车。没有他也没有我,没有我们这一大家子人。现在中国和苏联吵架,不要管它,那是勃列日涅夫和毛泽东的事。我爱中国人,中国人是好汉子。大女儿嫁了中国人,日子过得和我们夫妻一样和美,我心里高兴,希望两个小的也能找上中国丈夫。”接着杨大爷对我说:“你身边坐的是我二女儿,二十二岁了,在上大学,你看中了我招你做二女婿。”我一下又感动又感激,站起来说谢谢。低头看二小姐,她也是含情脉脉的。饭后又一起跳舞,我问他读哪一个系,毕业后作什么工作,她回答:“读法律系,毕业后会分配当律师,或者到法院,检察院,警察局,也许会到KGB工作。”听后我一下子愣着了,心马上凉了,想远离KGB还找不出法子呢,难道还要把KGB找上床来?告别时,我委婉地向二老说:“谢谢你们,我年纪大了,又不会说俄语,身上一分存钱也没有,还是个工人,下苦的,哪一方面也配不上你们的女儿。”我以为他们要生气,可相反,他们一点不高兴的意思也没有。杨大爷说:“没关系,没关系,我们人不亲土亲。下个星期天你再来我家做客,常到我们家来玩的中国姑娘可多着呢。后来,我和他的大女婿一直是好朋友。他是浙江萧山人,虽然入了籍,仍然保持了中国人的民族正气。

第二个星期天我又去了杨大爷家,他三个女儿都不在,另外来了几位老华侨和三个姑娘。一个是汉话说的好的维吾尔族姑娘,在读艺术专科学校;一个女教员,父母都是中国人,四十年代从东北边境逃过来的逃亡地主。她本来一句中国话也不会说。还有一个能说流利的中国话却说不好俄语的俄罗斯姑娘,在商店当出纳,用中国算盘算账。我没有长期在苏联生活的打算,又一身空空如也,不想给自己找个累赘,和她们淡淡地说了些话便分手了。几位老华侨却向我说了一些闻所未闻,骇人听闻的故事。他们都关进过集中营,在集中营里都在面包坊干活。之所以放心叫中国人到面包坊,一是中国人勤劳诚实,不偷不摸;二是中国人没有亲属,自己吃饱肚子后更不会偷面包了。他们告诉我,斯大林要每个苏联人都知道社会主义制度的厉害,服服贴贴当良民,几乎每个男人都判过刑,都劳改过。判刑的理由十分荒唐:商店里商品十分匮乏,除了墙上掛着商业部长米高扬的画像外,货架上空空如也。商店大门外站着警察,每个顾客走出商店都要接受警察盘问:“商店里商品丰富不丰富?”你实事就是地回答:“商品很少。”警察会把你抓起来,说你“诋毁苏维埃制度”,判刑三年。如果讨好政府,回答说:“商店里商品丰富,应有尽有”,警察也会把你抓起来,说你“欺骗苏维埃政权”,也判刑三年。又比如警察在街头和公园报亭边巡逻,看到有人读报,会抓起来判刑三年,说“你为什么如此关心时事,是不是盼望我们苏维埃政权垮台?”如果不读报,又会用“不关心国家大事,不热爱苏维埃政权”的罪名判刑三年。越境的中国人,只要发现是上过学的知识分子,必定处刑无疑。1937年大镇压时,中央肃反委员会给吉尔克斯加盟共和国下达了枪毙一万名知识分子的任务,当时吉尔吉斯才百把万人,文化落后,找不出几个知识分子,只好把小学教员,集体农庄会计,甚至售货员都当成知识分子抓去枪毙以凑数。赫鲁晓夫的施政宽松很多了,不过计划经济下的苏联每年抓多少罪犯,判刑多少人都预先订出了计划,还必须完成,所以冤狱还在继续制造中。我来到苏联后问及四十岁以上的男人几乎都遭受过牢狱之灾。不过和中国相比,苏联不太追究人们的历史,没有一入狱便成了“永世不得翻身”的阶级敌人,罪犯只要服完刑出狱了,社会上还是一视同仁地对待,厂长还是当他的厂长,教员还是当他的教员,年青人一样上大学,服兵役,当军官。

老华侨中有一位姓李的沈阳人,进过伪满的士官学校,毕业后派到边境当伪满国军班长驻防,他不愿当日本鬼子的鹰犬,跑到苏联来了。一过黑龙江,苏联边防军司令部硬逼他承认是日本派来的间谍,判刑十年,到北西伯利亚的克拉斯克州伐木头,释放后到了阿拉木图,娶了个朝鲜女人,还入了籍,在一家工厂当七级车工,技术很好,俄语也说的好。几天后是他六十岁的生日,我也携礼去祝贺了。那天,他妻子的朝鲜亲友去得很多,有人还是他在劳改营的朋友,也来自东北。老华侨去的也多,客厅里摆了两排桌子,吃的是朝鲜饭,简单得很,凉面,菜是土豆丝,不炒不煮,用开水一烫拌面条吃。还有朝鲜打糕,糯米饭发酵后蒸的糕,和我们老家的碗儿糕没有两样。中国人聚在一起话一说开就离不开中苏关系。中国老大爷们有的当了几十年苏联公民,议论起来还是向着中国,而几个朝鲜老头尽管说着满口东北腔的中国话,有的才拿上苏联护照,一动嘴即是“我们苏联”,“我们的勃列日涅夫”如何好,“你们的毛泽东”如何坏。

那些朝鲜老头子也和别的苏联人一样大骂赫鲁晓夫,说赫氏把苏联搞坏了,他们真不知道天高地厚,殊不知朝鲜人能立下足来也是得自于赫先生开放的德政。当然他们对KGB是不赞美的,宴席上我有意识地让他们说了一些有关KGB的政治笑话,这里录下几则。

肃反委员会头子向斯大林请示:“下一批人在午饭前枪毙还是午饭后?”斯大林回答:“当然是午饭前,午饭得节约下来给流浪儿童吃。”

斯大林找来大作家肖洛霍夫,指示他:“肖洛霍夫同志!拜读大作《被开垦的处女地,十分欣赏,希望你接下去写续篇,主题是“如果敌人不投降就叫他灭亡。肖洛霍夫推辞:“敬爱的斯大林同志!我现在身体不好,病多,只怕写不出来了。”斯大林说:“那没有关系,我马上派人把你送到我的故乡高加索去,在那里天天吃葡萄,一边休养一边写书。”肖洛霍夫再不能推辞了说:“对,我听您的吩咐。不过我得先回家和家人告别,如果您要求的书我写不出来,我和家人再见面的机会肯定不会再有了。

集体农庄庄员大会上,庄员伊万诺夫提出了一个问题:“香肠,奶酪,鸡蛋到哪里去了呢?接着休息了一会再开会,庄员希德诺夫说:“别的东西没有我不管,伊万诺夫到哪里去了呢?”原来伊万诺夫提问题,立刻给契卡(肃反委员会简称)抓走了。

一个年青人在地铁列车对周围的人高声说政治笑话,说完后,他身边的一个中年人问他:“年青人,你知道你和地铁列车有什么区别吗?”青年人回答不知道,中年人从口袋里掏出KGB的红本子朝他亮了亮,说:“地铁列车还会在铁轨上前进,而你得跟我走了。”年青人听后笑了一下反问:“你知道你和我有什么区别?公民!中年人回答不知道。年青人也掏出红本子向他亮了亮说:“同志!我和你没有区别,”

牢房里关着三个犯人等待法庭判决,他们相互询问所犯案件。

“我辱骂了布哈林。”甲说:“因为布哈林是列宁的战友。”

“我赞扬了布哈林。”乙说:“因为布哈林是斯大林的敌人。”

“我本人就是布哈林。”丙说。

问题,赫鲁晓夫做到了些什么,又没有来得及做什么?

回答:他来得及把厕所和浴室併在一块,没有来得及把天花板和地板併在一块,来得及把党委会分成工业党和农业党,没与来得及把铁道部分成左轨部和右轨部;来得及在苏联垦荒而在美国收割粮食,来不及在月亮上种玉米;来得及给埃及总统纳赛尔发列宁勋章和金星勋章,来不及在以埃西奈战役后给他发胜利勋章(此战役埃及败得一塌糊涂);来得及把斯大林的棺材从列宁墓搬走,来不及把空出来的铺位留给自己;来得及摧毁马林可夫—卡岗诺维奇,莫洛托夫—布尔加宁反党集团,来不及摧毁勃列日涅夫、科西金和波德戈尔内反党集团(这个集团打倒了赫氏)。

和老华侨来往的时间不长,又一次在市场上遇到了杨大爷,他对我说:“有人叫我们不要和你们这些新过来的年青人来往,你们中间很多人是给KGB干活的。”不知他指的“有人”指的是哪一方?在我们中间可真有叛徒和内奸,还不只一个两个。他说的很对,不要和他们来往。从此以后,在阿拉木图,有好长一段时间我再也没有上过老华侨们的门,见了面也敬而远之。不过,我后来真当了一位老华侨的女婿,帮老华侨们探病,送殡,写信,在大使馆办签证,换护照,照顾他们回国探亲,可真帮了他们不少忙。

1978年杨大爷去世,我去阿拉木图参加了他的葬礼。当时他二女儿分配在北方寒冷地区的一个少年管教所当教员,还是独身。可爱的小女儿被一个哈萨克青年抛弃后,因失恋成了个女酒鬼。她在医院的药房工作,里面的酒精多得很。可敬又可怜的一家人呵!

有一个叫牛水的中国人(形形色色的中国人之二)

秋天到了,一天,我下午下班回来,躺在床上看书,天已经黑了,忽然一个同楼房的东干人来叫我,说宿舍外面有个中国人来找我。我一听高兴了,爬起来出门和他见面,见到一个穿黑色运动衣裤的年青人在门边等我。他介绍他名叫牛水,二十六七岁,看上去十分精干,善于词令。他说他也是“文革”中1968年逃过来的,在纺织厂做钳工。附近有间工人夜校,他在上这个学校,听同学说这栋新集体宿舍住进了个新来的中国人,下课后特地来看我。他也住在集体宿舍,离我住的宿舍只有一个街区,请我到他住的房间去玩。到了他的宿舍,见到和他同房的还有个纺织厂的工程师。牛水煮了大米饭,煎了香肠和鸡蛋来招待我。我们吃饭时不断有姑娘来找他,他的俄语说得好,不时逗得姑娘们哈哈大笑。我一边吃饭,一边听他滔滔不绝的“自我介绍”。

他原名余江红,牛水的姓名是KGB给他取的,俄名尤尼亚,安徽合肥人,KGB把他的籍贯也改了,成了青海西宁市。父亲在解放前当过法院院长,母亲是女子师范学校毕业的,当教员。1949年初他父亲去了台湾,没有人知道下落。他还有一个弟弟,母子三人过得非常艰难,靠在铁路边拾煤炭块过生活,划成分时把他家划了个城市贫民的好成分。母亲去世得早,他初中毕业后参加了解放军,从战士升到少尉,后来转业到新疆阿勒泰生产建设兵团的一个边防农场当文化教员,画画,写标语,唱歌,跳舞,全都会。他的歌唱的好,也会拉胡琴,吹口琴。“文革”时期外调人员把他父亲是去台的国民党官员的老底子翻出来了,他就一下子由军垦战士变成为阶级敌人了,天天挨斗。他们团场的团长和政委也都成了走资本主义道路当权派,常常一块被拉上斗争台。他们的农场到苏联边界只有五百米,他被斗得受不了了,1968年逃来了苏联。到苏联后,受到KGB的优待,也送到我住过的那家退休上校家里住过,所以从他口里我才知道了老房东的真实身份。他在纺织厂当钳工,修机器,晚上在工人夜校上学。第二天我也跟他上夜校,上的是六年级。一堂历史课,我一句也没听懂,一堂代数课又太浅了,用不着听,第二天我不去了,他也再没有去上学。

牛水只上一个白班,我则有两个班。上完白班不是他来找我就是我去找他,休息日也常在一起。异乡遇到中国同胞,命运和处境都差不多,他又健谈机灵,到处有熟人,俄语又说的好,处处能给我帮忙,我们一拍即合,成了好朋友。两个星期后,他说纺织厂的工资少,每月才能拿到一百卢布,想转到机械磨床厂干活,我带他去见车间主任,当场被接受干车工活。于是我们又成为同一车间干活的同事,他也搬到我住的集体宿舍同一间来往,原来的同房者搬走了,我们成了亲如兄弟的一家人,钱也合在一起用,由他支配,虽然我挣的多,他花的多。他要找姑娘玩,得穿漂亮些。第二年初我领了半个月的“十三号工资”后,给他买了一件罗马尼亚大衣和一套波兰西服。这里要解释一下什么叫“十三号工资”。原来,在苏联,工人工作一年,如果不违犯纪律,在第二年初可多领一个月的工资,就叫“十三号工资”。中途退厂,没有干满一年的,仍可按比例得到部分“十三号工资”。

以后他碰到了中国人就表扬我:雷光汉是所有中国人中最好的一个,他在那么困难的时候还爱中国,对朋友也从不计较。不过,以后的事实说明,我对牛水实在是用心太诚了,对他的感情也太实了,上了他的当。流亡半辈子,我上当受骗都是自己的中国同胞给我的,对外国人我一直怀有深深的戒心,倒没有受过他们多少害。

牛水交友广阔,信息灵通,关于KGB特工的许多信息都是他告诉我的,以后我在阿拉木图认识的中国人也全是他介绍的。他还详细告诉了自己来苏联后所经历的两樁大事。一件是1970年春天,也就是我刚逃来苏联的那一年,5月份,KGB派他回了中国两次,当间谍,到他原来所在的兵团农场策反。直接指挥他行动的便是少校米沙。米沙和几个苏军军官带着他到我国新疆阿勒泰地区的边界线上,在苏联是东哈萨克斯坦州。他们住在苏方边界一侧的铁丝网附近的军用帐篷里,牛水也换上了苏联边防士兵的军服。天天到苏军瞭望台上观察中国一侧的动静,牛水说在瞭望台上可以把他工作过的农场看得清清楚楚,边防连队住的房舍,群众大会的场面,来往的车辆都一目了然。一直观察了三天三晚,然后在一个深夜里,他又换上了逃苏来时穿的中国衣服,拿上了KGB上司给的一笔人民币,穿过苏军打开了的铁丝网小洞,偷偷摸进中国国境。他悄悄跑到原来一个好朋友住房的窗下,敲玻璃叫醒了朋友,轻声告诉他:“苏联欢迎农场的人都过去,团长和政委想到苏联来也极表欢迎。苏联的直升飞机都飞到边界附近了,来接你们,你们准备一下,通知团长和政委,明天晚上我再来接,可不能错过机会呵”。说完,在院子里丢下三百元人民币,又跑回来了。第二天白天,苏军果然派了一架直升飞机,一直在边界上空盘旋。他上司又带着他到瞭望台上观察动静,见到几个农工在杀鸡宰羊,还举着宰杀了的鸡向直升飞机摇晃,KGB的军官们得意了。深夜里他又潜回中国国境,手里抓着一把沙子,躲进路边的墙框里。一会儿看到中国的武装民兵朝他走过来了,他马上把沙子撒在走在前面的一个民兵脸上,用百米短跑的冲刺速度逃过铁丝网。他把细节描述得惊险万状,还为自己的勇敢和机灵而得意,过后,KGB为奖赏他这一回冒险,带着他坐游艇在巴勒哈什湖转了一圈。我听了对他说:“你这步路走得太错了,我们是逃难来苏联的,目的是为了求生存,怎么能给KGB当特务,反对自己的祖国呢?”

第二件大事是他在阿拉木图认识了一个叫张联堂的混血乌鲁木齐人,张是苏共党员,是KGB派遣与中国人来往的代表,1988年到1989年在张的指挥下,几个中国人在阿拉木图组织了一个叫“中国劳动人民革命小组”的“反毛组织”。领导成员除张联堂外,还有牛水,王扶(亡夫)和刘万瑜。牛水还曾到江布尔发展成员,小组发展的很快,在阿拉木图的中国人很多都参加了,只有刘立中拒绝。在江布尔,卡拉干达等城市也有组员。王扶起草了宣言,还计划办报纸,派人到中国活动。不知道为什么组织很命短,一年后KGB下令把“中国劳动人民革命小组”给取缔了,没收了宣言,禁止他们活动。在对我的审查结束时,翻译撒沙也叮嘱我:“如果你遇到中国人要介绍你参加什么组织,一定要拒绝。”牛水还给我介绍了那名王扶。王是河南人,河南大学中文系毕业,原是《河南日报》的新闻记者,1967年跑来苏联的。这个人很懒,不想干活,一直想要进KGB当“干部”。原来和牛水在纺织二厂一块干活,后来到江布尔去了,在食堂工作,每月工资才七十卢布,常常要牛水给他寄钱花,是个没志气的人。“劳动人民革命小组”被取缔后不久,王扶在哈萨克斯坦失踪了,听说去了KGB设立的地下反华电台“救国电台”。牛水把王扶起草的“宣言”的照片给我看了,第一句是“民族主义分子毛泽东背判了中苏友好”,把“叛”写成为“判”,恶水一下涌到我嗓子上,去他妈的丢下了。又看他起草的“告华侨书”,开头是“当你们给小儿子递苹果时,给小女儿喂牛奶时”,应该如何如何,恶心十分。再读下文,错别字连篇,文理不通,逻辑混乱,语气卑下,看来王扶此人品格十分低劣,文化最多只达到初中程度。我把他的大作的照片丢回给牛水,说:“这种小学生的汉奸作文我不看。”

其实,牛水和王扶是大哥二哥一路货,牛水也一直在给KGB拍马屁,想钻进去当个真正的KGB。

苏联的商品供应丰富,可是花色品种稀少。商店和市场里卖的水果除西瓜,甜瓜,苹果,石榴清甜可口外,只有酸得不能下咽的李子、梅子和粗糙得不能下咽的梨子,很少能买到桔子,橙子,大概在苏联解体前苏联人还不知道世界上有香蕉,荔枝和菠萝那种好吃的东西。快过新年时,忽然阿拉木图的水果店里来了一批阿富汗桔子,人们见了疯狂抢购,万头簇动,男人如不气壮如牛,女人如不凶猛似虎是挤不到柜台前面去的。我对牛水说桔子是我家乡大宗出产的水果,进疆后吃不到了。牛水说他去想办法,通过关系买几箱。果然在星期天他搬回了两箱桔子,有二十公斤,又大又红又甜,实在好吃。而牛水只留下一箱给中国朋友们吃,另一箱他要送礼给“上司”米沙。上供回来后兴冲冲地告诉我:“米沙接待我很客气,他老婆漂亮的很,是医生,也说一口中国话。我们在一起,尽回忆中国好吃的东西。”我在阿拉木图住了一年多,还没有听说有哪个中国人给KGB送过礼,也没有听说谁在KGB官员家中做过客,对牛水的这种做法我很不以为然。躲避他们还来不及呢?大概从此时开始,我已经进入KGB和牛水设下的圈套了,而同胞的亲情,流亡者的凄情,却迷了我的眼,糊了我的心,把牛水当作我最好的朋友。刘万瑜后来一直批评我是感情主义者,心肠太好,不改过来还会上当。他说的对,可是我到老也改不过来。唉,可怜的鲁直的土家汉子,可怜的百无一用的书生。

密友刘立中(形形色色的中国人之三)

认识牛水后的第二个星期天,他把刘万瑜叫来与我结识了。刘万瑜是我的湖南老乡,邵阳地区隆回县人,一口湘音,满口土话。他比我大几岁,中师毕业后当过小学教员。1958年“大跃进”,“人民公社”一下子把农民送进灾难的深渊,他看不下去了,参加了一个叫“中国农民革命党”的地下组织,反对“人民公社”,教员也不当了,跑到湘黔边界的山区活动,“闹革命”。很快这个地下党给公安破获了,他锒铛入狱,曾四次被判处死刑,由于他本人拒不招认,证据不确凿,被最高人民法院驳回。后来判了十四年徒刑,关在洞庭湖边一个围湖造田的劳改农场劳改。在监狱里他经受过严刑拷打,身上到处留下了斑斑伤痕,胳膊上和手腕上被绳子和手铐勒成的伤痕成了一道道沟迹。

1967年,“文革”中,造反派到处夺权,砸烂公检法,他们劳改农场的领导层给打倒了,乱成一团,他逃出劳改农场,回到隆回家里,父母都死了,在舅父家过了一晚后离家到湘鄂交界地区流浪,准备逃苏。他能写毛笔字,春节期间在乡下给农民写春联,积存了一些钱,凑足了到新疆的路费。他还会刻图章,买了蜡纸,铁笔和钢板,油印,自己刻了邵阳市外贸公司的公章,盖在自己书写的到新疆霍尔果斯外贸公司出差的“公文”上。1969年春,他万里迢迢来到伊犁州中苏边界上的霍尔果斯口岸,大摇大摆地住进招待所,半夜后,居然成功越过边界到了苏联。他现在也在纺织厂当杂工,和牛水在一个车间干活。刘有高中文化水平,俄语也学的快,我们一起逛公园时他已经可以用俄语和苏联姑娘攀谈。刚来苏联时他自恃甚高,见人即称自己是政治流亡者,不是普通的中国人。但他的毛病也真不少,第一是爱嫖,几乎不择对象,只要是能搞上手的女人都搞,和他一起干活的清洁女工,集体宿舍的寡妇不少成了他的情妇,却没有一个上得了台面。一次我们到一个苹果园去玩,有几位俄罗斯姑娘光着大腿躺在草地上晒太阳,牛水和他打赌,说:“刘万瑜,你有本事把手放到一个姑娘的大腿上,我输给你一瓶酒。”刘没有回二话就跑到姑娘们的身边了,厚着脸皮和他们嘻嘻哈哈,不到二十分钟,他的手就搁到一位姑娘的大腿上了。第二是爱喝,喝醉了酒还爱发酒疯。第三是爱吹牛,一次跑到阿拉木图东郊的铁素尔干农场召集全农场的中国居民开会,一口气做了四个小时的报告,大言要联合苏联,联合美国,联合台湾,组织几千人的队伍打回中国去。

有次他在我的房间睡觉,两人对床夜话,他说:“我从湖南出走时最后一晚住在舅父家,临别时给舅父写了一首诗:“一帆风雨路三千,把爹娘骨肉齐抛闪,儿去了,莫思念。”我听了大笑:“刘万瑜,你别吹牛了,这是《红楼梦》十二金钗曲里写探春的一首,是悲叹探春远嫁的,我可是本中国文史词典,这方面你最好还是退避三舍。”不过这个人重友情,不耍奸,我们一起生活了四年没有闹过摩擦。刘万瑜告诉我他有一个叫刘立中的本家叔叔,很有学问,是1964年逃来苏联的,也住在阿拉木图。几天后,他请刘立中来我住的宿舍和我认识了

刘立中是我流亡外国生活中结识的最好的朋友,是中国流亡者中最好的人之一,是一位值得用大写书写姓名的人。我们认识后不久,他的工厂给他分配了住宅,在阿拉木图“高尔基文化与休息公园”前的三八大街上,小小的两间平房,陈旧已极,还生煤炉子取暖。不过房前有个小小的樱桃园,周围环境清净,夏天室内十分凉爽,我常在他家过夜。在我决定再一次逃亡后,除了他以外,和所有中国人都断绝了来往。他是我能说心里话,同气相应,同声相求的密友,是流亡者中我再没有见到过的有学识,正直,善良,用全心热爱中国的知识分子。我们亲如兄弟相交长达九年。他心脏病发作猝死后,也是我远赴阿拉木图给他办完后事的。

刘立中是湖南邵阳的世家子弟,出生在木版年画之乡滩头镇。外祖父和几个舅父是吾湘商界都有名气的人,一个舅父还是留学日本的造纸专家。他父亲参加过北伐战争,国民政府统一西北后,被派到甘肃某县当田粮处主任。抗战胜利后,他父亲不满官场黑暗,弃官从商,到迪化(乌鲁木齐)做生意。所以,立中对清末新疆建省后从刘锦棠,袁大化,杨增新,盛世才到陶峙岳的新疆军政界的历史掌故十分熟悉。抗战时他从迪化高中毕业到了重庆,考入国立戏剧专科学校学话剧,不久投笔从戎,抗日报国,进入了军校,毕业后一直在国军部队里当军需。抗日胜利后部队开到新疆喀什,他升成中校,成了某骑兵旅的军需主任。他在喀什结了婚,妻子也是湖南人,是左宗棠西征留下的湘军军官的孙女,喀什市一位最有名的中医的千金。刘立中是位十分聪明,多才多艺的能人,能写诗填词,会谱曲,吹拉弹唱样样都能,唱京剧老生和川剧老生都有登台的水平,华尔滋,探戈,迪斯科舞也样样跳得好,同时还打得一手好乒乓球,是新疆乌苏县和哈萨克斯坦柯吉达夫市的乒乓球单打冠军。能说普通话,湘中话,上海话,四川话和广东话,英语和俄语也都说的好。四十多岁到苏联后,还学会了滑冰和滑雪。

1949年,他所在的部队随陶峙岳起义投向解放军,整编中被编遣下来,携妻女回迪化做生意,在迪化—上海—一线跑单帮。1952年以后,生意做不成了,参加工作到乌苏县木材公司做了会计。他说1949年上半年携妻子到了广州,还拿出他们夫妻在广州中山纪念堂前拍的照片给我看了,想走香港。坐轮船到了珠江口,登上虎门炮台朝大海一望,深感一去海天渺茫,返家无望,实在是舍不得离开中国,妻子也舍不得新疆的故乡,又返回新疆了。1958年“大跃进”时,还有一个“反右派”后期的镇压反革命运动,立中既不是“右派分子”,也没有经济问题,但对他那样既有头脑,经历又丰富的人,共产党又非打击不行,找不到理由判他的刑,只好判处劳动教养三年。先是抓进监狱关了几个月,再押送到塔城劳改队榨油厂做苦力。和他一起劳改的有塔城的蒙古族女王爷乔亲王,有一个有名气的画家,还有一名北京大学东语系毕业的北大人,罪名是1956年波匈事件后他把南斯拉夫总统铁托在普拉的讲话从人民日报上剪下来贴到了自己的日记本上,同情南斯拉夫现代修正主义。刘立中超期服完劳教刑期出狱后回到乌苏,木材公司已把他除名了。回到乌鲁木齐他父亲家,才知道妻子已经改嫁给一个解放军小军官,小女儿也掉水淹死了,家破人亡,无安身之处。他父亲叫他到西安妹妹家当男保姆,照看外甥。他妹妹毕业于兰州大学经济系,也是多才多艺的,1948年在兰州主演话剧《野玫瑰》,轰动全城。妹夫是从越南西贡回来的归国华侨,夫妇两人都在西安市人民银行工作,妹夫还是个科长。到了西安,他落不上户口,没有户口便没有粮票,便生活无门,只得又返回新疆,才下决心从塔城穿越边境来苏联寻找活路,终于在1964年顺利地逃到了苏联。在向塔城出走的途中,遇到了一起劳改的名画家,画家看见他往西走,什么都明白了,说:“我心里明白,你要到大鼻子那边去。但我绝不走,绝不离开中国,我要和他们干到底。”刘立中说从1962年五六月份伊塔边民外逃后,在中国的压力下,苏方关闭了边界,几乎不再接受中国逃民。1964年也只接受了从中国逃来的一个人和一家,一个人就是他刘立中,原因是他曾有官居中校的辉煌历史;一家人是指周姓解放军军官,当过上尉连长,转业后分配到新疆,带着老婆孩子一家人逃到苏联来了,住在齐木肯特市。周某也是有特殊身份的,我认识的住在齐木肯特的一些中国朋友都骂他。

立中先被送到北哈萨克斯坦小城柯吉达夫一家小工厂当钳工,一干四年,拿到苏联护照后有了迁徙的自由,搬到阿拉木图住了,也在一家机械制造厂当钳工。他是技术相当熟练的工人,工作之余还制造了一些中国式的菜刀,拿到市场后一抢而光,还是十卢布一把。由于原来的英文基础雄厚,他的俄文学得很快,发音也准确,能读能写。立中是1924年出生的,四十岁后逃到苏联,原妻改嫁后他没有结婚,独身生活着。离他而去的结发妻子是高水平妇女,曾经沧海难为水么。不过主动找上门来的苏联女人是不少的,我亲眼看到了好几个,有的还是只有三十多岁中年淑女,风姿卓然的。

立中对苏联社会认识得极为深刻,一见面他就告诉我:这个社会男盗女娼,官贪民罪,已经腐烂得无可救药了,对苏联决不能抱任何幻想。他对于从沙皇到苏联的俄国佬一笔笔的侵华帐都记在心底,还因为是苏军预备役士兵,每年都要集训,对苏联当前的侵华打算也了然于胸。他对我说:“这个国家是真正的虎狼之国,中国人除了同它对着干外再无选择。我拥护毛泽东的反苏政策。”他当了苏联公民,只是年老了,图一点自由方便,心里却是至死也爱我中华的,比绝大部分留苏华侨都要爱国。他多次叮嘱我不要对苏联存一丝幻想,并口述清宗室敦诚,敦敏兄弟赠《红楼梦》作者曹雪芹的诗:“劝君莫唱弹铗歌,劝君莫叩富儿门,残杯冷炙有德色,莫如著书黄叶村。”接着笑着说,在苏联可著书的黄叶村是没有的,能干活的工厂却是多的很。共产党也真创造了人类的历史奇迹,其实社会主义各国欧亚大地,占全球三分之一的土地,找不出哪怕是零点零几平方公里可以避秦的世外桃源。我们常常一起泪眼相对,联床夜话通宵,在悲叹家国同运之余,起身一起引亢高歌,唱《苏武牧羊》,唱《秋水伊人》,唱《南屏晚钟》,也有时挑灯联句,我笔记了好几首五言,七言的联句诗,可惜在辗转流浪中丢失了。一次他突然发问:“光汉,我们还有回到中国的一天吗?”我接着吟出了《李陵答苏武书》中的几句回答他:“远托异国,昔人所悲,望风怀想,能不依依。……昔人有言,虽忠不烈……陵诚能安,而主岂复能眷眷乎。”他听后,一下抱着我号啕大哭了。我们都有中国老知识分子没落的尸居余气,虽慷慨满腹,对世事指划了了,却没有聪明和勇气,为国家民族,为社会做点实事的能力,也就是经纶满口而无鸡鸣狗盗之一技。可惜立中兄过世得太早了,没有看到苏联的解体,中国的复兴,没有能看到香港和澳门的回归。他也没有能读到金庸先生的武侠小说。他和查先生(金庸本姓)是同龄人,同样会写诗填词,同样究史穷经,同样全身充满豪气,侠气,义气,才气,书生气和爱国正气,每当读金庸的小说,我就会想起立中。

立中兄的男中音有独唱水平,常常歌以明志,每当他提及委屈求安入籍苏联时,就唱《苏武牧羊》中两句:“心存汉社稷,牦落犹未还。”他还会谱曲。1971年五一节,我们几个人到阿拉木图北郊著名的米德俄高山冰场游玩,登上了那里天山峰之顶,极目东望,白云深处是我们自己的家园,扑面的春风也是从东方吹来的。正好前一天晚上我住在立中家,听澳大利亚电台的中文广播,正播送台湾的长篇小说《岸那边来的人》,里面有句叫人热血沸腾的话:“祖国有如慈母,她随时会张开温暖的臂膀,拥抱从海外归来的儿女们。”我们呢?我们的祖国什么时候才会张开臂膀让我们飞回她的怀抱中?哀思连连,当场我写下了《流亡者之歌》的歌词,请立中谱曲。几天后,他用简谱把歌谱出来了,唱给我听,声如金石,曲调低沉而悲愤。可惜我五音不全,没有学会这首艺术歌曲,曲调也丢了,歌词还能回忆起来:

我只身流浪天涯

天涯有尽头,就是没有家。

哪里是我的家?

天山的白雪,四野的黑土黄沙,

我声声呼唤,

谁也不回答。

我家在我的中华

八百里洞庭水,武陵山开桐花

哪里是我的家?

少年的同伴,白发的妈妈!

人道归来好,

我能归去吗?

我只身流浪天涯,

海角天涯无我家!

我家在中华,在中华!

立中兄在新疆生活的时间长,和各阶层人物都有交往,岳父是左宗棠湘军的后人;包尔汉的一个姓李的汉族秘书,人称新疆大才子的,是他的朋友;他和蒙古族乔亲王一道劳改过(乔亲王的丈夫是国民政府的塔城专员,解放后被枪毙了。她本人先被判死刑,后改无期徒刑,又由无期变成有期,有期变成提前释放,由劳改释放变成共产党的统战对象),经历了几十年新疆的时局变化,耳闻目睹了新疆建省以来的各种事件和许多史书,连杨增新的《补过斋文集》也读过。可以说他是一本新疆掌故活词典,不管是刘锦棠,袁大化,李辅黄,冯特名,广福,杨增新,金树仁,盛世才,陶峙岳,王震,王恩茂历代汉蒙族军政大员,还是艾沙,尧乐博士,乌斯曼等各维族、哈族受中央委任的军政首脑的事迹,谈起来都如数家珍。他说刘锦棠在新疆叛乱平定后亲近维吾尔族上层人士而稳定了新疆大局,袁大化用神道设教平定迪化兵变,都叫人敬佩。特别是杨增新,是位了不起的政治家和伟大的爱国者。辛亥革命后他在新疆掌政于危难之际,关内是军阀混战,外部是俄国“十月革命”后的中亚内战,几万苏俄红军对我虎视眈眈。几万沙俄白军和难民涌进新疆,在俄国人挑动下外蒙的活佛又闹独立。在如此十分严峻的国内外环境中,在得不到中国中央政府任何军事和财政支援的情况下,杨增新临乱不惊,对内团结新疆各民族各阶层,信任维吾尔族同胞,稳定了局面;对外与沙俄,苏俄当局打交道,不卑不亢。白俄军队入境后立即解除其武装,集中安置;给俄国难民分配草场田土,使其能安居乐业,在岌岌可危中保住了我国这片大好河山。特别是当时的阿山地区,即今日的阿勒泰专区不是新疆管辖的,而由北京派出的外蒙乌里雅苏台将军管理。一得知外蒙要独立,杨虽无力去外蒙平乱,但是毅然进兵阿山,将其收归新疆,保住了国家大片河山。杨增新的治疆事迹是应该大书特书的,可惜他执政不多年便被奸人刺杀了,否则的话,新疆不会有后来的金树仁荒政,盛世才分裂和苏联染指,也不会有所谓“三区革命”的分裂和血洗汉族人民。杨氏遇害后,新疆人民一直怀念他,维吾尔老人常回忆:“我们在杨将军时代把好日子过下了。”立中兄每谈到杨增新的治疆方略和事迹,常潸然泪下。

自从六十年代以后,苏联勃列日涅夫政权侮辱我中华民族是无所不用其极的。苏联实行全民义务兵役制,人人都要当兵,退役后到五十岁为止还要服预备役,每年都要集中受军训,凡是从中国过来后来成为苏联预备役官兵的都集中在一起受反华训练,一些维吾尔人明目张胆地在军营里高叫新疆是苏联的领土,立中兄和一些汉族人起来反驳:“新疆是中国的领土,苏联政府也是承认的。”不过,有一个1962年跑过来的姓龙的长沙人,也是KGB封的预备役军官,出来劝阻中国的保卫者说:“你们别和他们争了,新疆划归苏联了,对我们有利,因为我们也是苏联公民。”

有一次哈萨克电影制片厂拍的新片《阿特曼的末日》,开映前报纸上万般吹捧,被评为当年全苏最优秀片子,据称还在某国际电影展览上得了奖。故事发生在二十世纪二十年代的中国伊宁市,一个叫阿特曼的白俄军队将官带着俄军逃到中国,成了伊犁的武装占领者,威胁着哈萨克斯坦苏维埃政权。苏联肃反委员会派了个哈萨克人特工化装成白俄军官潜入中国,刺杀了阿特曼,瓦解了他的白俄部队。故事全是杜撰的,影片自始至终都把中国人表演得十分不堪。在伊宁市大街上,到处是脏污,穷人鹄衣百结,富人们戴着瓜皮帽,穿着长袍马褂,后脑拖着大辫子,都抽鸦片。白俄官兵个个威风凛凛,手持皮鞭,任意抽打中国人,那名哈萨克特工更是百般威武,万般机智,中国人见了他都对他点头鞠躬。我看着看着,怒火中烧,愤然中途退场,还有意使劲用皮鞋蹬地板,叫全场人都知道。电影院看门的是位维吾尔女人,她问我为什么不把电影看完,我回答说电影全是谎话,她立刻表示同意,说“我也是新疆来的,我知道电影是不真实的。” 这个电影的导演是朝鲜人,每当苏联反华,朝鲜人总是当先锋。对我的举动,刘立中赞同,牛水却不以为然。我知道的历史真实是,1911年中华民国一建立,政府立即下令剪辫子。沙俄军队一进入中国,中国军队马上按国际惯例把他们缴械集中,然后遣散安置。为了不使他们为非作歹,一部分俄军还被送到甘肃敦煌看管。俄国人在石窟里烧火做饭,打架斗殴,破坏了我宝贵的文物。看了这个电影,我深知苏联政府说的对中国人民是友好的全是假的,我恨死了电影的编剧,演员,特别是那个高丽棒子导演。为这部电影,在特工沃洛加约我见面时我和他大大地辩论了一番,我根据历史事实力斥电影之非。他辩不过我,只好说“电影是要吸引观众的,需要制造一些新奇的事物。”我说“你们用侮辱中国人来制造新奇吗?”他也没有生气,还说:“我们也尊重有民族气节的人,看不起软骨头。”说到电影,苏联却也拍了不少好片子,他们拍的描述革命前穷人生活的电影,也把工人和农奴们演的神采奕奕,虎虎有生气。不像我国解放后拍的电影,凡是演解放前的穷人的,个个蓬头垢面,鹄衣百结,神态萎靡,一付可怜相。好像把旧社会演得越坏,才能衬托出新社会越好。殊不知这是自己在侮辱自己的民族形象,给自己脸上抹黑,还能埋怨外国人侮辱中国人吗?面对《阿特曼的末日》这部侮辱中国人的电影,我这个流亡者是抗议过的,不知中国大使馆作了什么表示?现在,昔日强大的苏联已经是昨日黄花了,那个奴才朝鲜人导演还活着吗?他当不成奴才了,中国又崛起了,他有何感想呢?

一次我和立中兄在他住宅街道的林荫道散步,遇到一个手持拐杖白发苍苍的俄罗斯老头也在蹒跚地散步。立中兄立即指着他告诉我:“你知不知道,他就是大名鼎鼎的列斯肯,三区事件时民族军的总司令,杀汉人的屠夫。”原来他就是列斯肯啊,俄罗斯殖民魔鬼,中华民族的仇敌,真想上去踢他几脚。列斯肯原是苏联的上校特工头子,1944年斯大林派他率领一批苏籍维吾尔人,哈萨克人,吉尔吉斯人(里面有阿合买提江,伊斯哈克拜克)进入新疆,在伊犁,塔城,阿勒泰挑动少数民族叛乱,他当了叛军的总指挥,把上述三个地区的汉族居民几乎杀光了,搞了个分裂中国的苏联殖民政权“东土耳其斯坦共和国”。中国军民奋起反抗,又利用外交斗争,把东土尔其斯坦灭掉了。解放军进入新疆后,把“三区民族军”改编成中国人民解放军第五军,列斯肯当了军长,新疆党政领导人王震将军把他软禁起来,以后撵回苏联。回到苏联后,列斯肯仍然恶性不改,与苏联驻伊宁领事馆的外交官勾结,大量向中国走私猎枪,赚取暴利。因分赃不均,KGB把他抓起来,法院判了他的刑。出狱后在阿拉木图养老,是立中兄的邻居,其住宅是一栋很漂亮的二层花园小洋楼。

牛水又带我去见了他的安徽老乡夏霆。夏霆也是个大有来头的人物,可以说是中共的元老。我到他家和他一见面,他立刻拿起摆在桌上的他和毛泽东,周恩来,邓小平合拍的照片给我看,还一边申明:“昨日的朋友,今日的敌人。”他不厌其烦的介绍自己的历史:他出身于安徽的名门望族,长兄夏雷是五四运动时的健将。一次世界大战后,他和周恩来,邓小平,蔡和森,李富春一起去法国勤工俭学,在巴黎学外交。年青时他英俊潇洒,南洋巨商,爱国侨领陈嘉庚先生看中了他,要把女儿嫁给他,为了共产主义的信仰和无产阶级革命,他拒绝了这门亲事。他就这么吹,只是我不知道,陈老先生有没有女儿?夏说他加入中共后和周恩来编在一个小组,领导他们活动的是后来的法共总书记多列士,他还听过法共《人道报》的创始人,著名马克思主义煽动家若累斯的演讲。1927年上海“四一二”事件后,巴黎召开工人大会声援中共,他和冀朝鼎(中华人民共和国中央人民政府首任外贸部副部长)在大会上发表讲演,冀说英语,他说法语,大出风头。他还突击学会了德语,带着他新婚的法国妻子到德国搞工人运动。三十年代,被共产国际召到莫斯科共产国际机关工作,和王明,王稼祥,张闻天都是朋友。他的法语和俄语都说得好,夏还说张闻天和他的俄罗斯妻子谈恋爱,他帮了大忙。1950年张闻天当了中国驻苏大使,夏写信要张帮助他返回中国,张给回了信,写道:“你现在是苏联公民,苏共党员,用不着回中国了。”谈起这些事,夏霆忿忿不平:“张闻天这个人真不够朋友,他搞女人我帮忙,我要回国他却甩手不理。”原来苏联远东的中国侨民很多,海参崴的中国居民数量甚至超过了俄罗斯居民。苏共把夏霆从共产国际调过来。把他的党的关系由中共转到苏共,又叫他加入苏籍,之后派他到海参崴的中国人中当暗探,公开职务是海参崴中国京戏院的经理。在斯大林镇压托洛茨基派时,还曾打算派他到上海当特工,用开商店作掩护,暗杀中国的托洛茨基分子。1937年斯大林在远东一举扫光中国人时,他也没有逃过关,关进了西伯利亚大森林里的集中营,在集中营里管澡堂,和他的俄国妻子结了婚,其实他妻子才十七岁,是以小偷的罪名关进劳改营的。和他关在一起的还有一个苏籍中国将军,当过红军旅长,才二十几岁,山东人。那位中国红军将军单独住一栋小房,没有服苦役,大嫖劳改营里的女犯,得花柳病死掉了。苏德战争结束后夏霆被释放了,住在阿拉木图。穷愁潦倒,衣食也混不周全。当时中华民国在阿拉木图设有领事馆,领事是他的安徽老乡,和夏霆认识了,常常周济他,夏霆一下子又给苏联的政治保卫局(KGB前身)盯上了,又一次抓进集中营,赫鲁晓夫上台后才放出来。出狱后夏霆恢复了苏共党籍,据说还一度派到北高加索某地当过区委书记。他给周恩来写信要求回中国,1954年得到批准带着妻子儿子返回中国,中共中央组织部副部长帅孟奇亲自接待了他,派他到国务院农业部对外联络局当副局长,工作内容是管部里的三个苏联专家。1956年中共八大,苏联最高苏维埃主席伏罗希洛夫元帅访华,他参加了接待工作,还负责接待法共代表团团长杜克洛到上海、广州参观,一路上两人大喝茅台酒。1959年开始三年中国大饥荒,中共和苏共的分裂也一天天公开化,他在中国又呆不住了,先把妻子和儿子送回苏联,安顿在阿拉木图,1960年自己离开中国共产党回来当苏联共产党了。他说中共中央想留着他,帅孟奇找他谈话,允许他如果不回苏联就提升他当外交部副部长或文化部副部长。这点我不相信,他除了俄语说得好和会吹牛外,不见得有什么学问,马列主义理论水平还不如我,说起话来也常常语无伦次。重返苏联后,阿拉木图当局征求他对工作分配的意见,他回答“凭我的资历和水平可以当哈萨克斯坦共产党第一书记。”当然这种愿望不可能实现,只给他安排了一个餐厅的前台主任,连经理都没有当上。和他谈话中我觉察到夏霆虽然已年过六十七岁,官瘾还真不小,时时不忘表达他对苏共的忠诚和对中国的敌忾,想混个大点的官当当。还想入非非,在苏联搞反华组织,出中文报纸,要由他领头。还不以为耻地说:“KGB忌我得很,不让我进去主持中国部门的工作,因为我的资历和水平都比他们的领导人高,我一去会把他们压下来。”我去了他家几次,见到他们老夫妇的日子实在混得不像个样子。他妻子叫卡捷琳娜,五十岁了,徐娘已老而风韵犹存,她从来没工作过,也就没有养老金,只好他自己退休了还得工作,工资和养老金加在一起也才一百多卢布。和前面记述过的原伊犁州州长贾和达家一样,家徒四壁,只有两张钢丝床,桌子,椅子和长沙发,既无壁柜,也无地毯。特别可悲的是,独生儿子在上大学时在流氓斗殴中被打死了,警察局也没给破案。两个孤老,凄然寂然。我每次去他家都带点香肠,熟肉,苹果之类的礼品,他妻子十分高兴。和我们几个中国人来往不到两个月,夏霆动脑子了,声称哪天是自己生日,哪天是妻子五十大寿,哪天是他们结婚的银婚纪念,还有他加入共产党五十年纪念,要我出面请中国人去祝贺,请刘立中掌勺做饭,自带鱼、肉和蔬菜。当然祝贺要送钱,送礼。我们给他们夫妇分别祝了寿,我,刘立中牛水等人每人给送了十卢布贺金后,再不登他的门了。真没有想到,中共建党时期的老党员,国人很为尊敬的留法勤工俭学人物,中央局级高干,会投机如此,下贱如此,为什么中共元老级人物也如此没有骨气呢?为国际共产主义运动和苏维埃政权效劳了几十年之如夏霆那样的人还落得如此下场,何况我等小小流亡者。从此我常以夏霆的晚景为戒,决不给KGB利用,绝不当苏联奴才。

有熟悉夏霆老底的老华侨还告诉我一些夏霆无法吹嘘的事。1954年夏霆回北京当了官,一些认识他的旅苏华侨回国探亲时便去投奔他,倒卖从苏联走私的羚羊角,熊掌等贵重中药材,被中国政府发现了,给了他严重警告,如此这般,他才无法再在中国混下去的。听说夏霆活到1985年才去世,几个在阿拉木图的中国人帮忙安葬了他。

牛水又介绍我认识了一个小青年林辰。林说他是河南洛阳人,原来家境很好,父辈和兄辈都是读书人。抗战时八路军皮定军将军率部队到洛阳地区活动,他的姑母和堂兄都加入共产党跟皮定军干革命去了。解放后姑母当了中国科学院党委副书记,姑父是某部部长,堂兄当了《河南日报》的编辑(1958年成了“右派分子”)。家里人都参加革命了,没有劳动力,只好把土地租出去给别人种,土改时却划成了地主。“文革”开始他上初中,被作为地主的狗崽子,天天挨斗,只好从洛阳出走到了新疆,流浪到南疆阿克苏,生活无着,公安局又天天抓盲流。1969年他再次出走,孤身一人翻越天山,饿了用搪瓷缸子煮蘑菇吃,从察布察尔县境偷越边境到了苏联。先送到我后来的流放地北哈萨克斯坦柯吉达夫州“金色的田野”农场放羊,一年前调到阿拉木图,在建筑队做工,我们叫他小林。

小林是我们几个流亡分子中最年青的,却城府最深,沉默寡言,从不对人说心里话。冬天来了,建筑队在室外工作,挨零下十几度的严寒,我可怜他,帮他转到了我干活的车间做工,我们三个中国人——我、牛水、小林就都在一个工厂了。牛水离开阿拉木图后,他搬来和我同室而居,一起做饭吃,分担生活费用。他生活节俭,会过日子,存了不少钱。我在乡下农场里玩,认识了一位甘肃老乡,1962年来苏联的,在乡下种洋葱,有一个十八岁的大女儿,刚中学毕业,叫菲亚。我把小林介绍给了菲亚,不久他们结婚了,一年后生了个儿子。当时我不知道KGB早已看中了小林,把他当候补间谍重点培养。1972年哈萨克斯坦西部建立了一个新州,叫土尔加依,州里有个农场,集中了许多新逃过来的中国人,小林被派到那里开康拜因,当坐探。1978年他回到阿拉木图和妻子团聚了,买了栋小平房。不久失踪了,抛妻弃子,他被KGB派到中国当间谍,有人说还是先到越南,混进被越南政府驱赶的中国难侨中入境的。随即菲亚宣布和他离婚,改嫁给了徐英斌。我心里十分难过,总觉得对不起菲亚的爸爸,给他找了个苏联特务当女婿,这是我一生中所做的最大一件坏事。1981年小林又重新出现在阿拉木图市,在市中央百货大楼前照相,还买了栋花园洋房。有人说KGB很看重他,他一进入中国便给抓住了,过了好些年,是苏联政府出面用交换间谍的办法把他要了回来,花了本钱的。回到阿拉木图后,中国人都对他嗤之以鼻,无人和他来往,除了几个狗腿子外。但十年河东十年河西,苏联解体后他又发起来了,这是后话。

张联堂是阿拉木图中国人圈子中最活跃的人士,也是牛水介绍我认识的。他是中俄混血人,乌鲁木齐第一高中毕业,和徐英斌(就是我在霍城一中的同事,教俄语的)是同班同学。1958年“大跃进”时随父母“返国”到了苏联。他说那时苏联普通老百姓的生活水平远比不上新疆,他一踏上苏联土地便想回中国,给莫斯科中国大使馆写信,但使馆拒绝了他的请求。只好改了姓名,自报为俄罗斯族,但他的姓却是乌克兰的。妻子叫罗扎,土生土长的阿拉木图混血中国女人,其母是鞑靼族。她没有去过中国,不会说一句中国话,却炒得一手地道的中国菜,会做十几个花色,是她父亲教的。她父亲当过厨师。罗扎对中国同胞十分亲热,是一个非常贤惠的女人。张联堂在科学院汽车队开面包车,共产党员,工会委员,政治积极分子,KGB的编外工作人员,也是昙花一现的“中国劳动人民革命小组”的领导成员,凡是新到阿拉木图的中国人他都主动结交,请到家里吃中国饭,有事热心帮忙。中国人家里有红白喜事,他都会开着面包车去帮忙,埋葬刘立中兄时是他出的车。我在阿拉木图坐牢出狱和流放北方后来阿拉木图休假,他都邀请老朋友们在他家与我聚会,说话也坦诚。张不是个坏人,虽然在中国人中打探消息,但没有听说过他出卖过或暗害过别人。当然,张联堂的国籍和民族成分都变了,不把自己当成中国人了,在一起谈话时凡涉及中苏争斗的是非,我们就各自紧守自己的防线,他总是维护苏联和“老勃头”(我和刘立中对苏联最高领导人勃烈日诺夫的谑称)。张的岳父在中心市场有个专卖颜料的小货亭,有个星期天我去逛市场,看到张正和他岳父在货亭边说话,我上去打招呼,站在一块说了会闲话,被和我在同一车间干活的一个哈萨克工人看到了。第二天下午休息时这位工人跑到我身边来告诉我:“我认识你的那位朋友。1969年我在部队服役,在谢米巴拉金斯克和中国人打仗(即苏军挑起的塔城边界的武装冲突,中国军队吃了亏,死伤不少),我们抓了两名中国俘虏,审讯战俘时你那位朋友当翻译,我在门边站岗。两个中国战俘都很勇敢,斥责我们的军官说“我们是战俘,你们要按日内瓦国际战俘公约来对待我们,为什么把我们当犯人般审问?”还高声朗诵《毛主席语录》,不回答任何问题,特别是大骂你这位朋友是卖国贼。我听了他的叙述十分激动,勇敢的中国军人!对中国人民解放军,我什么时候都怀着真诚的敬意。在珍宝岛之战中苏军吃了败仗,就策划在新疆边界上制造事端,报复中国,在侵入塔城中国边界之前作了充分准备,在苏军向中国阵地开火前一个月,贾和达等一些新疆的前民族官员都在边界集中了。大概是看到中国军队不好惹吧,克里姆林宫才没有把事态扩大。

1971年的旧暦除夕之夜是在张联堂家里度过的,他请了包括刘立中和我在内的六个中国人,罗扎炒了一大桌中国菜,好吃极了。可惜宴会只进了一半便给打断了,大家不欢而散,事情是由一个叫赵玛雅的中国女人引起的。正在大家谈笑风生,大吃二喝时,徐英斌夫妇和赵玛雅来张家贺节了。徐英斌的妻子是库尔德人。我是第一次见到赵玛雅,一身黑色礼服,打扮得雍容华贵,满口俄语,还指名要我唱歌。也不知怎地,我不愿意与她搭腔,到走廊抽烟去了。刘万瑜可是个见不得女人的人,一见到赵玛雅,就神不守舍,坐到她身边问东问西,嬉皮笑脸,亲热得不得了,真叫人难堪。刘立中对我叹道:“我的这位贤侄呀!”我接着说:“我们回家吧。”刘万瑜一听到好像不给他面子了,一下子拍桌而起,指着我大骂:“雷光汉,你太没有礼貌了,我发誓再不和你一起做客。”弄得大家都不好意思,我和刘立中,牛水先告别主人走了。

后来徐英斌给我详尽地介绍了赵玛雅,她是北京人,说一口地道的京腔,祖父是清宫的御医。我怀疑她是旗人的后代,因为她不论长相和说话的腔调都像旗人。1959年她从北京中央民族学院维吾尔语系毕业,和本院的一个新疆去的塔塔尔族(即鞑鞑)人结婚了,一起到新疆大学教书。她丈夫有苏联国籍,1961年夫妻带着两个儿子返国,在霍尔果斯海关排队出关时,公安局突然把她丈夫逮捕了,说是“现行反革命分子”。失去了丈夫,她仍然带着两个孩子到了苏联,并且把姓名和民族成分都改成了鞑族。在纺织厂做会计,KGB常利用她施美女计勾搭一些新过来的中国人,其中之一有安洋。不久,赵玛雅应召到莫斯科广播电台当播音员去了,成了专业的反华吹鼓手。

写到张联堂,我又要为在苏联西伯利亚和中亚各地有着相当数目的中俄混血人来花点笔墨了。在东北和新疆,俗称中俄混血人为“二转子”。在共产党统治下的苏联,排他性是十分强烈的,凡是外国移民都有特嫌。俄罗斯人又十分骄傲蛮横,自认为是世界上最强有力的民族,是苏联社会的统治者,俄罗斯的标准和利益是判断世界一切事物的是非界线。中俄混血人大部分都随了母系,自称俄罗斯族,包括乌克兰人,波兰人,鞑靼人母亲所生的子女。除了部分嫁给中国人的混血女人承认自己是中国人的后代外,其他的都在中国父亲去世后和中国完全脱离了关系。从中国移民来的混血人也只有少数保留了中国姓名和族籍。原住远东的老华侨娶犹太人为妻的很多,中犹混血儿一般都保留了中国姓名和族籍,因为犹太人在苏联社会上也名声不大好。中俄混血儿虽然自称俄罗斯人,可又长得不大像俄人,黑头发,皮肤也不太白,遇到了不明内情的苏联人时称自己是乌克兰人,因为乌克兰人黑头发的多,皮肤也发黑。尽管姓名和族籍都改变了,混血人,特别是中国移民来的混血人还是受歧视,很难打进主流社会,也难找到体力劳动之外的工作。不过他们都聪明,勤劳,能干,日子过得还不错。他们的处境矛盾得很,和苏联人一起时拥护苏联骂中国,和中国人一起时又大骂“老毛子”(中国人对俄罗斯人的贬称)。我在阿拉木图认识了另外两位混血同胞,一位姓蒋,他一和中国人在一起时即发表声明:“解放军一打到阿拉木图,我就脱下西服换上中山装,到大街上去高喊毛主席万岁。”另一位一见到中国过来的维吾尔人和东干人便讽刺他们:“你们不是仇恨中国,拥护苏联吗?老毛子要你们吃猪肉。”因为苏联没有穆斯林食堂,家家食堂卖猪肉菜,香肠也是猪牛羊肉混在一起灌的。穆斯林当了兵,不吃猪肉会挨饿。一些维族人和东干人向KGB告密,KGB把他抓起来关到疯人院了。

本书开头提到的我在霍城中学教书时的同事徐英斌,现在才介绍他,因为我是最晚遇到他的。冬天了,天下着小雪,我去宿舍后面的食品店买吃食,在商店门前见到了他,一下子两人惊喜莫名。他高兴地说:“老雷,我种了大半年洋葱,夏天KGB派人到乡下我种葱的地头上来调查你,知道你也逃到苏联了。刚把葱卖完回城要找你,又不知道你住的地方。”徐英斌从小会说俄语,反而说起中国话来带外国腔,也崇拜苏联,是出了名的亲苏分子。原来对苏联存有十分的幻想,以为逃苏后会受到优待,还梦想去莫斯科卢蒙巴国际大学上学。谁知道1962年五月某天一踏上苏联土地,和他的未婚妻子帕提曼一起拉到像中国盲流收容所一样的地方集中起来,再送到一个偏僻的农场学开拖拉机。帕提曼找到了她早已“回国”的哥哥和嫂子,和徐以夫妻身分住到了哥嫂家,徐则冒充回族。但徐英斌对穆斯林的风俗习惯和生活规矩全不知道,很快露出馅来了,帕提曼的哥嫂把他撵出了家,还逼着帕提曼把她和徐英斌怀的孩子打胎了,改嫁了一个自己人。他走投无路,又只好回到难民营,学会了开拖拉机和汽车,在农场干活。除了不开会,不搞阶级斗争,肚子能吃饱外,苏联的农场别的条件也不比中国强。1965年前赫鲁晓夫掌政时期,中国人有行动,迁徙的自由,徐英斌离开了农场,先到一个地质队干活,在哈萨克斯坦的荒漠大地上跑了不少地方。后来读报纸,知道在江布尔州卡拉道乌发现了大磷矿,那里正热火朝天地进行共产主义建设,他又风风火火跑到卡拉道乌共青团委员会,要求投身到沸腾的共产主义建设工地去。共青团市委会介绍他到矿区开运矿石的大卡车,干得不错,工资也高。谁知又好景不长,赫鲁晓夫在克里姆林宫被勃烈日涅夫逼宫下了台。勃列日涅夫一上台就下命令要严密控制中国人的生活和工作,新的建设工地、工厂、矿山一律不准中国人干活。卡拉道乌的警察把他撵走了。他又到阿拉木图东郊的“东方朝霞”东干村落了户口,在科学院生物研究所找到了一个开越野车的话,每天接送到天山采集植物标本的考察队员。在城里没有地方住,同一个卖啤酒的库尔德女人同居了。他的维吾尔话说得好,库尔德语和维语差不了多少,还会说俄语。后来他和几个中国人到乡下向农场包地种洋葱,运气好能挣大钱。他还拿着无国籍护照,把姓名都改成俄罗斯的了,冒充是俄国妈妈生的孩子。我听了他的自述后失笑了,说:“伊犁流传说你在苏联当了大特务呢?”他也哈哈大笑回答:“我在收集关于苏联大葱的情报,在地上数苏联的大葱呢!”他说这年苏联进口了大批保加利亚洋葱,他们种的葱虽然收成好,但卖不出去,没有挣上钱。他把我带回家,认识了库尔德大嫂,她叫卡加,黑胖黑胖的,上唇还长着胡子,有点吓人。徐英斌也是一脸络腮胡子,像维吾尔人,也像混血人,交了很多苏联朋友。他说科学院汽车管理科长是个俄罗斯人,是个笑话大王。每当徐英斌拉他走远道,便一路说笑话,来冲淡路途的寂寞。徐也因而记住了一肚皮政治笑话,下面几则是他给我讲述的:

勃烈日诺夫和古拉也夫(当时的哈萨克斯坦共产党第一书记)坐着飞机到各地视察。飞机飞到一个城市上空,勃氏向地面一看,只见一栋房子前许多人在排队。他命令坐在前面的领航员伊戈里:“伊戈里,好好看清楚地面,那些人排队干什么?伊戈里用望远镜看了看地面后回答:“总书记同志,那是一家肉店,人们在排队买肉.”勃烈日诺夫听了说:“如果现在我把肉丢下去,他们会亲我的手。”古拉也夫接着说:“如果我把香肠丢下去,他们会亲我的脚。伊戈里回头对他们两人说:“如果我把你们两人都丢下去,他们会亲我的屁股。”

书亭里的书说什么也卖不掉。为完成销售计划,聪明的售货员想了个办法,把领袖相片贴到书的封面上,当天把书全卖光了。第二天KGB把他逮捕了,预审官对他咆哮:“你在《二流子》一书封面上贴上勃烈日湼夫的相片,我们可以忍受;你在《游手好闲者》一书贴上勃烈日湼夫和他家庭成员相片,我们也可以忍受;但是你在《阿里巴巴和四十个强盗》上贴上了勃烈日湼夫和政治局全体成员的合影,我们实在是不能忍受了。

乌克兰加盟共和国海港奥德萨的飞机场放礼炮,第一声响了。妻子问丈夫:“放炮干什么?”

丈夫回答:“欢迎勃烈日诺夫。”

又响起一炮,妻子再问:“怎么搞的,第一炮还没有把他打死?”

在克里姆林宫走廊上,勃列日湼夫和苏斯洛夫(苏共中央书记之一)碰面了,苏氏问勃氏:“你为什么一只脚穿黄皮鞋,另一只脚穿黑皮鞋呢?”勃氏回答:“我早发现了,想换双同样颜色的皮鞋,可是朝鞋架上看,上面也是摆着一只黄的一只黑的。”

《渔夫和金鱼的故事》是普希金的著名童话。一天勃烈日诺夫抓住了一条金鱼,金鱼哀求他:“勃烈日诺夫同志,请您放掉我,我将实现您难以实现的愿望。“勃烈日湼夫说:“行,我会放掉你,你对我回答我一些问题,首先你回答我:为什么老百姓给我编了那么多笑话,关于斯大林的却那么少?”金鱼回答:“因为您把俄罗斯的财富都卖到外国去了,而斯大林却把外国财富都抡到俄罗斯来了。”勃烈日湼夫又问:“为什么现在俄罗斯人都歌颂彼得大帝而不歌颂我?”金鱼回答:“因为彼得大帝打开了朝向欧洲的窗户,您却把它关上了“。勃烈日诺夫再问:“为什么老百姓还在尊敬列宁而不是尊重我?”金鱼回答:“因为列宁把小偷培养成共产党员,你却把共产党员培养成小偷。”

他还说了一则讽刺苏联宣传工作的笑话:

十月革命举行阅兵式,勃列日涅夫邀请了古希腊亚历山大大帝,古罗马凯撒大帝和拿破仑站在列宁墓上观礼。亚历山大大帝说:“如果我有这么多的坦克,将是举世无敌的。”凯撒大帝说:“如果我有这么多的飞机,罗马帝国就不会灭亡了。”拿破仑说:“如果我有这样的塔斯社(苏联中央通讯社)世界上就没有一个人知道我在滑铁卢被欧洲联军打得一败涂地。”

在刘立中,夏霆和牛水与我交谈时,他们都不断提到一个叫安洋的乌鲁木齐人。立中兄相当清楚他的个人历史,十几年后我也见到了这个人,还在见面之前通过信。安洋是逃苏的中国知识分子另一种类型的代表,即跟共产党干过革命又被党抛弃了的知识分子。这类人也有爱国心,但热衷名利,没有爱国者的气节。安洋的祖先是江苏苏州人,开酒楼。乾隆皇帝一次下江南,化装成平民百姓到酒楼吃饭,看到他祖爷殴打一个来酒楼讨饭的乞丐,发怒了,申斥他祖爷为富不仁,下令把他祖上全家充军到回疆塔城。安洋的父亲在清末留学日本,学军事,娶了个日本老婆,回国后参加了辛亥革命伊犁新军起义,是位中华民国开国老军官,解放后任新疆政协委员。安洋说他是日本母亲生的,在乌鲁木齐上完中学后,亲苏的新疆督办盛世才看中了他,派他到苏联塔什干留学学测量,那时他便给苏联间谍机关吸收,当上了苏联特工。留学完归国,盛世才垮台了,国民政府接管新疆。新疆省政府选派了一批各民族的青年高中毕业生到内地上大学,安洋又被选中了,到兰州的西北师范学院(抗战时北京师范大学内迁后改名的)中文系就读,胜利后北师大复员北平后他才毕业。在北京他又投身共产党领导的学生运动,还加入了民主同盟。毕业后回到新疆,他父亲的老朋友帮忙他到驻喀什的国民军司令部当了个中级军官,主编军报,军衔是上校。立中兄那时在喀什任中校军需官,两人认识了。1948年,安洋又回到内地,去延安当了解放军,在王震的第一野战军第二军司令部当联络参谋。在延安时他结了婚,妻子是四川人,共产党员。安洋后来告诉我,他加入解放军后是风光了一年多的,因为第二军成百上千的军官就他一个新疆本地人。兰州战役后二军要进军新疆,王震请他在全军干部大会上做新疆的历史和地理形势报告,小组讨论时和王恩茂编在一个小组。但解放军占领全新疆后就马上叫他离开军队了,转业到石油管理局重操旧业,当测量工程师去了,因为他不是共产党员,而是民盟盟员,军队是不允许民主党派成员存在的。此人文人气没有给共产党改造过来,喜欢清谈,喜欢赋诗填词写文章,在运动中当然是挨整的对象。1965年刘少奇视察新疆,他受到隔离审查,“文革”刚开始便逃到苏联来了。到苏联后起初也安排在科学院。KGB人员在苏联国外间谍的老档案中查出了安洋的名字。双方皆大欢喜,还把赵玛雅介绍给他。两人一起生活了几个月。1968年KGB派他潜入中国,刺探中国“文革”情报,收买特工。临行前向立中兄告别,立中留他住了一宿,写诗规劝他,叫他不要走当间谍的路。我还记得立中诗《劝安君》中的两句:“每话国事共自伤,长策尚需仔细量。”可是那时的安洋无法仔细量,没有回头路好走了。

1979年我在塔拉斯市第一次见到了他,和他有过长谈,后面再叙述。不过,在这里我要大书特书我和安详谈过的,被绝大多数国人遗忘了的一件有关我国领土的史事:在帕米尔高原南部,也就是今日中国和巴基斯坦边界我方红旗拉浦检查站之南,有一个小邦叫坦竺提,原是清朝的藩属,十九世纪被英国侵占了。二次大战后,印度和巴基斯坦各自建国,坦竺提不愿加入印度联邦,也不愿成为巴基斯坦的一部分,自愿重回中国怀抱,中国国民政府随即向全世界宣布坦竺提是中国的保护国。我还记得1948年我上初中,在报纸上还看到了上述消息,谁知道解放以后,却听不到坦竺提的消息了,地图上也找不出来了。我知道安洋是一部新疆历史地理大辞典,和他一见面立即问他:“安兄,你知道我国属地坦竺提的下落吗?”安马上回答他很清楚。坦竺提自愿成为中国的保护国后,按照《大清会典》的规定,1948年坦竺提汗派使臣向中国朝贡,翻越帕米尔高原到了新疆喀什。南京国民政府命令喀什专员公署盛情款待朝贡使臣,并派团回访和巡视坦竺提以行使我国主权,率领中央使团去坦竺提的是喀什专员公署一位维吾尔族科长,安洋自己也是团员之一。中央使团入境后,坦竺提汗郊迎三十里,亲自和代表团确定了汗国对中国的归属关系。但解放军进军新疆后没有进军坦竺提,致到了1950年朝鲜战争爆发,巴基斯坦和美国结成军事同盟,成了中国当时的敌国。巴基斯坦政府乘中国军队入朝参战无暇西顾之际,出兵废掉坦竺提汗,把我国当时的唯一属国给吞并了,就像“文革”时印度乘中国内部混斗无暇西南顾之时吞并我邻国锡金一样。五十年代,中国中央政府大方的很,中国领土一片又一片地给人占领了,不明不白,中国政府也不抗议,更不抵禦。

在阿拉木图东郊有一个叫契里克的区,气候和土壤条件都适宜种植烟草,是苏联著名的烟叶产地之一。该区所属的几个农场都住有一些1962年逃过来的汉族人,牛水和刘万瑜认识他们。1971年新年前牛水带我去铁苏尔干农场,交了谢先诚和牛湘林两个朋友。谢是四川都江堰人,曾在解放军驻西藏的骑兵部队当过兵,后来又调到甘肃河西走廊,职务是饲养班长,喂军马的小头目。他说他们部队许多军官的妻子是藏族人,藏族大嫂们吃苦耐劳,诚实朴素,和丈夫过得比汉族夫妇还恩爱。谢从部队转业后调到新疆生产建设兵团,找到一位江苏支边女青年结了婚,1962年抱着小女儿逃到苏联。他是铁苏尔干的大能人,会照相洗相,修钟表,修摩托车,修电视机,扎针治病,还会接生。他也没有到生产队上班,就靠小手艺养活一家。在我们住在他家里的第一个晚上,一个哈萨克青年的老婆生孩子,难产,农场医院的哈萨克医生接不下来,只好来找谢先生。他把小孩接下来了,保住了母子的健康,得到了一只羊和一只鸡的谢礼。第二天他把鸡宰了来招待我们。

牛湘林是甘肃天水人,原来是乌鲁木齐八一钢铁厂的工人。他们夫妻生了六个小孩,生活艰难,为人却十分直爽,义气。但多年后他大发了,全是靠带着孩子种洋葱致富的,在离阿拉木图八公里的地方盖了大房子,家里还请了俄罗斯女仆。我们去的时候正逢上那里在修筑通向中国边界的军事公路,标准很高,是一名苏军将军指挥的。笔直,宽阔的柏油路,修好了又挖掉再修,反复返工好几次,能行驶巨型坦克,公路两边每隔五百米有医疗点和汽车修理点,隔两百公尺有防空洞。

在牛家还见了一位甘肃老乡,人长得粗气,口齿也不灵。有意思的是他的邻居是一位漂亮的俄罗斯姑娘,本来有未婚夫,在送走未婚夫当兵去的当天晚上,她跑到这位甘肃老乡家嫁给了他。多年后我在阿拉木图见到了他们夫妇,带着一个小孩逛公园,过得很快乐。

谢先诚的邻居也是个中国人,姓段,是我的近老乡,湖南汉寿县人,他当过志愿军,在朝鲜和美国打过仗。妻子是朝鲜女人,比他小二十来岁。有次我们在牛湘林家喝酒,他借酒装疯,大骂谢先诚:“小谢,不要你以为和阿拉木图的人交了朋友就自以为了不起,什么东西!一年前KGB要我去给他们当特务,我才不干呢!”他是有心表达,原来牛水是KGB的人,老段人家心里早就有底,这次牛水带我来,他把我也当成了和牛水同流的人了,借着骂谢,实际是骂牛和我。听了段老乡的骂,我心里非常惭愧,也引以为警惕,决不能当KGB的人。但是,没有引起我对牛水的警觉。

在谢克诚家里碰上了两个苏联人,自己带着酒去喝,要小谢的妻子给他们炒菜,她的中国菜做得好。这两个苏联人一个是希腊族,烟草公司驻农场的特派员,农场的太上皇。收购烟叶时,生产队不给他几千上万卢布进贡,他就拼命压烟叶等级,叫你本钱都收不回来。一个是土耳其族,生产队长,小谢的朋友。土耳其人在苏联也受歧视,他自称土库曼人。晚上他带小谢去烤烟房拿烟叶,一边成捆地往小汽车上装,一边对小谢说:“我们偷吧,拿吧,反正苏联不是我的国家,也不是你的国家,它越坏越好。”这种心态在苏联许多“归化”了的外来民族公民是共同的。一位混血人还对我说过:“我每次在电视上看体育比赛,哪一国赢了我都高兴,只要不是苏联赢。”失民心者亡,还在二十世纪七十年代,苏联在国内国外已经把民心丢得差不多了。

逃亡伊朗失败

1971年新年是我在国外的第一个新年,也是我一生过过的不多的快乐的新年之一。刘立中,小林,刘万瑜都搬到我和牛水住的房间来住了,还从乡下来了两个中国朋友。我们按照预先拟定的菜谱做菜,立中兄是主任厨师。炒的菜有糖醋鱼,酸辣里脊,粉蒸肉,狮子头,白天大吃大喝,晚上挤在一块睡地铺。我们毫无顾忌地畅所欲言,高谈国事,指点王侯。合唱,独唱各种禁歌:《天涯歌女》,《送君》,《四季美人》,《五月的鲜花》,《嘉陵江上》和从新从外国电台学会的黄梅调《骂皇帝》。我还和立中兄一起合唱了《黄埔军校校歌》:“怒潮澎湃,党旗飞舞,这是革命的黄埔”,是我小时侯在中央军校上学的二叔叫我唱会的。去给夏霆拜年,喝我们自带的酒。他三杯下肚,赋诗两首,还用法语唱了法国歌。我发现在哈萨克斯坦的中国人中像夏霆、安洋、牛水这样来头不比一般的人,大都集中在阿拉木图居住。离开阿拉木图以后,就很少遇到有水平的中国人了。

欢会的日子总是匆匆而去,三天后人去场冷,生活又回到了上班做工,下班回宿舍,不情愿地去和KGB特工见面的老轨道上。自从我认识了一些中国人,还到乡下跑了几趟后,他们对我的监视更紧了。每次见面都要我详细向他们报告认识了什么中国人,一起说了些什么话。有时直接找到工厂来,传我到厂里他们专用的办公室里谈话,想出了新花样,逼着催着我写一部中国“文化大革命”的回忆录,稿纸也拿来了。每当我稍有不耐烦的表情,不是厉声训斥我:“我们的上级叫我警告你,要你好好和我合作.”或者笑颜引诱我:”只要你和我们全心合作,你将能够过上部长一样的生活。”和他们“合作”什么呢?图穷匕首见,三月份的一天,一个哈萨克族特工和我见面,对我说:“你想不想念家乡,想不想念父母亲人?我们想给你机会回自己家乡去看看。”我心里明白,他们是想派我到中国去当间谍,我一下红着脸跳起来了,他也微笑了一下说:“你别着急,先回去好好想想,以后我们再商量。”我发现在我的身边除了有中国人打小报告外,还有苏联人跟着我。在工厂,直接管我的工长换人了,换成了一个犹太族青年,他家和我住的宿舍不在一个方向,下班时却常常和我坐同一班公共汽车一直把我送到集体宿舍。有时我上市场或到百货大楼买东西也常常“偶然地”碰到他。

我有什么办法?如果我拥有中国国籍,我会跑到我们的大使馆或领事馆寻求保护,向他们报告一切,但我现在是一个“无国籍者”,有谁能保护我呢?

我在工厂干活十分卖力,每天都超定额,上司和同事们对我都友好,奖金也没少给。可日子一长,歧视就来了。一是月底要加班,总是叫我加深夜的第三班,干的是头几道工序不属于我的活:一是给古巴和越南义务干活,差不多每个月的星期天都要为他们干一天两天,把所得的工资捐给这两个国家。逢上这种义务劳动,大部分苏联工人是不参加的,我则是一次也逃不掉,不参加便要扣奖金。至于民族歧视之声更是不绝于耳,有人当面叫我“毛泽东”,背后骂我“克达窑子”(中国婊子)。每当遇到坏事,都是中国人干的,一逢上节日,大家都紧张,“中国要向我们进攻了”的谣言总会传到耳中。见到老中国人,我也向他们诉苦,他们不以为然,笑了笑对我说:“这算什么,坏事还在后面呢!苏联一百多个民族,最被歧视最被当做下贱人对待的就是中国人,我们在社会上连茨岗还不如。”他们还告诉我谁在阿拉木图失踪了,谁又被关进了疯人院,关进疯人院的人其中一位是清华大学学生,1957年当了“右派”1962年到苏联来的湖南人。刘立中认识他。

苏联不是中国人生活的地方,在自己国家受迫害至死也不能逃到敌国去,我越来越体会到了这个道理。我要离开苏联,要生活到自己的同胞里去。而离开苏联比登天还难,边界上的万里铁丝网比鸟笼还严密。以前也有中国人尝试过,都失败了。1962年过来的几个中国人,1964年偷偷跑进了美国驻莫斯科大使馆,请求送他们去美国,一个中国话说得好的女外交官接见了他们,用手绢包着手翻看他们的无国籍护照,回答说:“去美国要等待我国政府的批准,如果愿意去台湾,我们马上可以帮忙办到。”中国人回答可以考虑。可是他们一出美国大使馆大门,莫斯科的警察早等着他们了,把他们押起来,在二十四小时之内驱逐出了莫斯科。好在这还是赫鲁晓夫时代,没有判刑关进大牢。安洋也冒过同样的险,1969年他悄悄跑到莫斯科,请住在江布尔的四川籍小伙子陈冠中护送他。两人到了日本驻莫斯科大使馆外面,陈在门外掩护,安洋一个人冲进了日本使馆。日本大使亲自接见了安洋,两人写中国字笔谈。安洋写:“我的母亲是日本人,我知道日本和中华民国有友好的关系,希望你帮助我,把我送到台湾去。”日本大使回写:“日本和苏联也有很友好的关系,我们不能做有损于苏联利益的事。”安洋写来写去得不到帮助,最后写:“苏联警察已经在门外抓我了,我怎么办呢?”日本大使只好亲自护送安洋从后门出去了。陈冠中的遭遇怎么样呢?也是很有意思的,警察把他抓住了,送到苏联中央KGB大楼,审讯一番后,一个KGB少将和他谈了话,见到陈是个蛮机灵的小伙子,就介绍他到设在西伯利亚的专门训练中国间谍的营地去受了两年训,结业后要派他到中国。陈冠中说:“我不去中国,你们如果一定要我去,我一过界就向中国边防军投降。”KGB没有办法,只好让他回了江布尔。几年后找了个理由,把他判了四年徒刑,好好报复了他一下。

说到日本的国格,实在叫人齿冷。在苏联强大的时候,它也是千方百计讨好苏联的。1972年夏天,日本政府派了个规模庞大的歌舞团,以外交部长的名义到苏联各大城市巡回演出。演到阿拉木图时正好KGB把我从柯吉达夫的流放地召到阿拉木图,立中兄请我去看了,票价很贵,每张要合五个多美元。演出前歌舞团团长向观众鞠躬,用生硬的俄语说了许多讨好苏联的话。节目女主持人穿过俄罗斯夜礼服,也不厌其烦地向观众鞠躬如仪,一番番地用肉麻的话向苏联致敬讨好。多数节目都是俄罗斯歌舞,最受观众欢迎的是一群姑娘穿着缝有子弹袋的高加索上装跳的光屁股舞。

在哈萨克族特工和我谈话、有意要派我去中国的当天晚上,我把这个消息告诉了牛水。他也说KGB一直逼着他要派他到中国去,他不想在苏联呆了,真想去台湾,他的老爸还在台湾呢,要去找爸。我问:“怎么做到呢?”他说:“用老办法,怎样走到苏联便怎么走出苏联,反正两条腿长在自己身上。”我说:“逃跑?”他立即回答:“逃跑,逃出苏联,经过别的国家到台湾去。”这个晚上我们谈了大半夜,初步商量了第二次逃亡的计划。临入睡前,我严肃地郑重地叮嘱牛水:“这事非同小可,性命攸关,只能存在于我们两人心里,决不能叫第三人知道,也不要第三人参加,不能告诉刘万瑜,他嘴巴不牢,又爱吹牛。小林可能被利用,刘立中会同情我们的,但是他年纪大了,跑不动了,也不能叫他们两个人知道,大家都不便。”可是第二天傍晚,才下班不久,刘万瑜来了,一进门就喊:“老雷,我们好好商量一下出走的事儿。”我一下惊着了,问是谁告诉他的,他说是牛水上午通知他的。我和牛水不上一个班,他上下午三点到晚11点半的第二班,上午他跑到刘万瑜的车间把我们的打算一五一十全告诉了刘万瑜,马上得到了刘万瑜的全心赞同。事已至此,我还能说什么呢?牛水下班回来后,我向他大发脾气了,他回答说:“我知道刘万瑜对苏联最不感冒,处境也最不好,KGB要发配他到农场去,我可怜他,走时一定要带上他“。 我也不好再反对,只是叮嘱他再不能告诉第四个人了。对此牛水做到了一半,再没有告诉别的中国人,但最要命的是,以后他却向KGB告发了我。我们三个人在星期六又在一起认真商量了一次,我提议首先要面向祖国宣誓,谁也不能当逃兵,做叛徒,谁也不能背叛祖国,他们两人都同意了。当场由我起草了誓词,约定第二天到郊外去宣誓。

第二天是1971年三月底的一个星期天,下着小雨。我们三人一大早就乘小公共汽车到了阿拉木图北边的一个天山中的林场,车在山谷中行了十几公里才到尽头下车。在车上遇到了一群会说中国话的蒙古人,一个个身材高大,举止不像一般工人农民。我和他们攀谈,原来他们都是新疆博尔塔拉蒙古族自治州来苏联的。原来都是中国县级以上的官员,和混血女人结婚了,害怕中国频繁的政治运动,跟着有苏侨身份的妻子到苏联来了,现在都在这个林场当工人。唉,古人说施政以不扰民为先,可是解放后二十多年来,中共全部的大政方针和内容就是扰民,民无宁日,官也无宁日,有路子的想法往外跑。跑到外国来了,又能找到安静的桃花源吗?唉,可怜的中国人!我们循着松林小径爬上了一个山头,还是早春时节,春寒料峭,细雨从松针上凝成了大雨滴落下,风吹动松树林,变成松涛阵阵,听不到鸟鸣虫声。天空中布满铅灰色的云层,极目东望,云压太空,景色悲凉,我们的心情和神态都非常悲愤而庄重。我们三个人面向东方——亲爱的祖国的方向并排跪了下来,举手宣誓。我宣读了誓词:“我们,雷光汉,牛水和刘万瑜三人在异国的土地上,面向祖国庄严宣誓:永远忠于我们的祖国,永远忠于我们的民族,永远热爱我们在水深火热中的同胞。我们一定要逃离苏联,去到自己同胞生活的土地上。天长地久,岁月绵绵,不管到天涯海角,不管是海枯石烂,都不能背叛祖国,民族,同胞和同志。如果谁违反了誓言,要用他的血来偿还他的罪行。“宣誓时,我们三个人全都失声痛哭了。刘万瑜还带了酒和吃食,我们举杯祝福祖国,为我们计划的成功而干杯。之后在一棵大松树下坐了下来,再一次商讨了初步出逃计划:目的地,第一台湾,第二新加坡,第三美国任何一个城市的唐人街。从此日起,和其他中国人断绝一切联系,除了刘立中和小林外,前者不会出卖我们,后者与我们工作在一起并住在同一个集体宿舍,无法避开。三个人分了工,工资除日常生活花销外都集中到一起,由刘万瑜保管,当作出逃费用。牛水人机灵,俄语说得好,由他负责外勤,应付KGB的侦查,把坐火车和长途公共汽车的买票,上下车的种种情况搞清楚,在路上只由他一个人和外人打交道。我则负责计划逃跑的路线和起草中,俄,英三种文字的声明。出逃的时间定在七月份,因为我和刘万瑜可以在那时拿到休假,也可以在阿拉木图市周围二十五公里范围内自由活动,有条件避开KGB的监视。

第二天我到书店买了一本详明的世界地图册和一大张苏联交通图,每天下班后打开来仔细研究。苏联的版图横跨欧亚大陆,北面是北冰洋,东濒太平洋,东南是中国和北朝鲜,当然无法出逃。西部的欧洲邻国是波兰,捷克,匈牙利和罗马尼亚,都是社会主义国家,当然也不能逃到那种地方去。只有一个芬兰是中立的资本主义国家,离苏联第二大城市列宁格勒很近,可是路程太远,从阿拉木图到列宁格勒坐火车要五天五夜,在路上KGB就抓住你了。无国籍者没有警察局的签证无权坐飞机。再向南看,塔吉克和乌兹别克南邻阿富汗,边界上除了一小处平原外都是崇山峻岭,很难翻越。阿富汗的部族又多又落后,和那里的人说不清道理,也许一过界就会被当做土匪给打死。西端高加索连着土耳其,它是美国当盟主的北大西洋集团的骨干国家,苏土关系一直不好,苏土边界也一定和中苏边界一样戒备森严,越界的成功率是微乎其微的。剩下的只有伊朗了。用比例尺一量,从土库曼加盟共和国的首都到伊朗只有二十几公里,步行最多四个小时。苏联刚和伊朗划定了边界,两国关系不是敌对的。边界上有山,但海拔不高。我也知道在巴列维国王治下的伊朗现代化进程相当快,首都德黑兰被称作中东的巴黎。中华民国和伊朗的关系一直友好,二次大战时中国在伊朗许多地方设有兵站,中国情报人员在揭露希特勒德国对伊朗的策反阴谋中立过动,在伊朗还举行过中美英苏四国首脑参加的德黑兰会议。我想伊朗人不会敌视中国人,对中国人也不会太陌生。于是,几经考虑,我打算我们先到阿山哈巴德,黑夜上山,翻越苏伊边界到伊朗。我向马,刘二人解释了这个计划,他们都深表赞同。后来在狱中我才知道,就在我们计划逃往伊朗的时候,中华人民共和国和伊朗建交了。

接着是起草声明,说了我们在中国的经历,逃来苏联的原因,以及为什么不愿意在苏联生活再一次逃亡的理由,希望伊朗政府帮助我们到台湾或新加坡去。声明里的一些语句我自信是能够得到伊朗人同情的:“在历史的黎明时期,中国和伊朗就有了友好交往。我们两国辉煌的古代文明相互影响着,在各自的人民遇到不幸时我们相互同情着,支援着。我们相信国王和王后陛下的臣民仍然怀着对中国人民的友好之情。”写完了,我到阿拉木图市图书馆借了一部《汉英大词典》。靠词典的帮助把声明译成了英文。而要翻译成俄文时却大受周折。马、刘二位的俄语说得比我好,认识的俄文字却没有我的多。但我的俄文字认得也不多,对繁杂的俄文文法更是不通。怎么办呢?和牛水商量,牛水说汽车站和火车站里流浪者很多,苏联人教育水平高,人人都是知识分子,只要花点钱,是能找到别人修改的,先硬译成俄文好了。于是我先对着《汉俄词典》一个字一个字地把声明硬译成了“俄文”,决定在出走前再找人修改。到七月份我休假了,一次次去公共汽车站和火车站观察,见到车站里坐着的,躺着的流浪者真是不少,一个个蓬头垢面,衣衫脏破,见了叫人恶心,退避三舍,还能请他们修改文章吗?有一天我去到汽车站大厅一角的小咖啡馆,旅客们可以站在高脚圆桌边喝咖啡。里面也没什么人,只有一个三十来岁左右的哈萨克女人在喝咖啡,桌上什么别的点心吃食也没有。她人长得丰满,脸圆圆的,蓬松着头发,不漂亮,五官却是周正的。大热天,穿着一件黑毛线织的布拉吉,脚上的拖鞋也是旧的,头上和手上什么饰物也没有。我灵机一动,买了一杯咖啡和一盘精致点心拿到她喝咖啡的桌子上,向她问好,请她吃点心,她笑着接受了。咖啡馆是允许抽烟的,我给她敬了一支烟,她也点着火抽了起来,闲谈了几句天气热、我是中国人,俄语说得不好之类的话。他的俄语说得好极了,用的词都很文雅,完全合乎文法,是有相当教育水平的。俄语文法太复杂了,一般人难以掌握,我发现和我一起干活的工人们,即使是俄罗斯族,也很少有人能用完全规范的俄语说话,而且不管男女都粗话满口,这个女人的嘴里却没有一句粗话。喝完咖啡,我问她:“我可以请您到外面的小花园里散步吗?”她笑着回答:“当然可以,我很高兴遇到你。”是命运该如此吧,我一辈子凡遇大事,都是开局顺利,结局凶险而悲惨。考大学,谈恋爱无不如此,此次出逃也是一样。很顺利地认识了此位异国妇女,和她走到车站外街在公园树下的长凳上坐下来,两人攀谈了,我简单介绍了我自己,接着她相当详细地介绍了自己。她名叫玛雅,三十岁,结了两次婚都离异了。她是财会学校毕业的,在一家商店当了几年售货员,不久前结算时亏钱了,上司说她贪污,抓到拘留所关了两个星期,放出来后商店把她开除了。区商业局人事科在她劳动手册上盖了黑章子,两年之内不能再在有钱经手的单位工作,便失业了,日子过得十分艰难。也是个命运悲苦的女人,我当即表示了深深的同情,还按着苏联人说话的习惯问她:“我可以为你尽一点力吗?”她回答得干脆:“只要你愿意,我当然不会反对。”于是我带她到了附近的一家服装店,叫她自己挑两件花绸子布拉吉,两件内衣和一双凉鞋。她挑得很仔细,一件件试过去试过来,直到商店快打烊了才买下来。那时苏联物价便宜,加起来我只花了一百二十卢布,还另外给了她十卢布零用钱。走出商店后她问我:“阿列克,我能给你帮点什么忙呢?”我点了点头,她请我去她家详谈。她家在汽车站后的一家大杂院内,走两百多米便到了:两间小土房,也是四壁皆空,连电视机也没有。她关上门,烧了茶,切了两块面包放在桌子上,算是招待我。我叫她拉上窗帘,小心地从小提包里拿出我写的声明俄文稿递给了她,请她按俄文文法规则给通顺一下。这是个聪明女人,完全读懂了声明的意思,拿起笔来修改,还另外用纸给誊清爽了,字写得极好,比我见到的KGB审查我的预审员的字还写得好,后来我越境失败被捕时,预审官指着声明说:“字是女人的笔迹,写得文雅,字也写的好,是个有大学文化水平的人写的。”接着,她主动给我写了保证书,保证保守秘密,还答应护送我上路直到阿山哈巴德。在苏联社会里,人们没有中国人那样高的政治警惕性,一般人对任何事物都是事不关己,高高挂起,没有密报,告密那一套,那是专职和业余特工的事。天晚了,我要走,她把我留着,对我说:“你一定现在还不放心,害怕我去告密。我实话对你说,我父亲是警察中校,现在还在阿拉木图一个区的警察分局当头头,连他都不管分外的闲事。我母亲是家庭妇女,我下面还有四个小弟妹,他们没有能力帮助我,我的日子才过得如此之穷。你今晚留下来,我什么都给你,我要叫你再不对我抱疑心。”她又从壁柜里找出了她父亲喝剩下的半瓶伏特加酒,滩了几个鸡蛋,我们一起吃了晚饭。她说她读了很多书,知道世界上有很多民族,各有各的处境,各有各的要求。她认识的本民族同胞中也有人在相信和宣传泛突厥主义,自己同情他们。可惜是女人,无法陪我越界去伊朗。看到我衬衣领子脏了,叫我脱下来给洗干净。拿着我的衬衣,她不断在上面亲吻。晚上我住下来了。玛雅实现了她的承诺,不久后非常细心地把我和刘万瑜护送到阿山哈巴德,中间没有出事,也没有向我们提出什么经济上的要求。玛雅!善良的乐于助人的,可爱的哈萨克女人。

但在这件事以前,也就是过了五一劳动节不久,牛水突然告诉我说,KGB通知了他,要他一个星期后立刻离开阿拉木图到卡拉干达州的基米尔道乌去生活。我大吃一惊,觉得大事不妙了,大概是牛水告密了,他要先离开我们,到另外城市去住以脱身。我问他:“老弟,大概你已经背离了自己的誓言吧。”他立刻对天发誓:“决不会,我牛水不是那种人,我们一定按计划行动,到了新地方,随时和你们联系。”又把刘万瑜叫来商量,刘万瑜当然疑心了,牛水也是信誓旦旦,还分析说:“大概KGB看到我们三人一起关系太紧密了,要拆散我们。”为了证明他的真诚,在办了退厂手续后,还悄悄坐火车到离阿拉木图二百多公里的楚城去了一趟,把坐火车和长途汽车的规矩,车上乘警的活动规律详细告诉了我们。晚上一次次诚恳地对我说:“老雷,你像我的亲兄长,你是我结交的中国人中最好的一个,我一定和你一道走出去,到台湾,说不定还要靠着你的身份和你那支笔吃碗轻松饭呢。”又说:“我是铁了心的,刘万瑜也是铁了心的,苏联不是我们生活的地方,我们一定要逃出去。”我似乎放心了一些了,我们又约定了化名和各种暗话。我们商定从阿拉木图出走的日期是七月二十二日,在我和刘万瑜休假的时间里。牛水说基米尔道乌城中心有个大人工湖,他如果打电话通知我们他哪天要到湖上去划船,便是离开基米尔道乌来和我们相会了。我后悔没有深一层去想:牛水没有去过基米尔道乌,怎么知道那里有大人工湖呢?而米沙少校的父母都住在那座城市,还都健在,他常去看望父母,现在看来,一切的一切都是特工安排好了的,对我们的圈套又紧了一层。临别前,我用刚领到的工资给牛水买了一套新西服,还给了他一部分存款,为此他对刘万瑜说:“老雷真是个好人,慷慨大方。”还撒了点眼泪。在留在阿拉木图的最后一个晚上,我们三个人带上吃食和毛毯在一小山上的别墅区草坪上过了一个晚上,也长谈了一个晚上,牛水的态度更诚恳了。刘万瑜当面对他说:“你俄语说得好,人又机灵,又会和苏联人拉关系,只要有你在一起,我们一定能走出去。”第二天上午,我送牛水到飞机场,见到少校米沙正在候机大楼前等着,机票早买好了。我对米沙说:“你们还说要团结全体中国人走国际主义道路呢,我和牛水两个人您也不叫团结。”他笑了笑没答话。牛水和我含着泪分开了,到基米尔道乌每个星期都给我来信,两三天就打一次电话。牛水走了,小林搬来和我住在一个房间,他正在和未婚妻火热得难舍难分,一有空就向她家跑,也不太关心我的行动。我和刘万瑜则尽量避免公开往来。我还是常往刘立中家跑,我们在一起心神相通。他大概已觉察出我的异常行动,在我们闲谈时也大致知道了我要去的地方,他便在闲谈中不经意地给我介绍了一些伊朗的民情风俗。因为他在喀什军中有几个相好的同事,二次大战时曾在驻伊朗的中国兵站中服务过,有人还租过临时的伊朗妻子。他也曾去高加索旅行过,说苏联火车傍伊朗边界行走全在白天,火车一进站停下来,每个车厢门前都有全副武装的士兵站岗,戒备十分森严。

刘万瑜住的集体宿舍是为市民准备的套间住宅楼,还好,这时要腾出来分配给市民住,单身工人则搬到另外的集体宿舍去。刘万瑜乘机搬出集体宿舍,在平房区租了一间老大娘的房子住了下来。7月15日,我和刘万瑜都领到了休假,每人拿到了一百多卢布的休假费,再加上以前的存款,钱是相当富裕的了。我们各自到商店买了新西服和衬衣、皮鞋、提包,作好了一切准备。七月二十一日,我们把呢子大衣和好些衣服拿到玛雅家送给了她,剩下的东西都原封不动地留在集体宿舍。决定由玛雅一路护送我们,我与她扮夫妻,刘万瑜是堂兄,我们是东干人到高加索的著名风景区索契去度假的。

1971年七月二十二日是我和刘万瑜第二次逃亡出发的日子。早晨我去向刘立中告别,他听后一下哭出声来了,倒了两杯酒与我碰杯,举着杯说:“祝你们一路平安,列祖列宗在天之灵都会保佑你们的。”生离死别情何以堪,我随即掩面走了。和牛水约定的第一会见地点是阿拉木图火车站售票处,会面时间是七月二十二日中午十二点。第二次会面地点是塔什干长途汽车站售票处,会面时间是七月二十三日下午五时。七月二十日晚上,他还给我打了电话:“明天我要到湖上去划船,一大早便出发。”我和刘万瑜都一厢情愿地相信了牛水。当然也作了预防万一的准备,如请玛雅护送我们,如会不到牛水立即改变乘车计划等。中午十一点,我留在玛雅家,刘万瑜一人去火车站接牛水,十二点一过,他一个人回来了,牛水没有来!我们一下子全都明白了,怎么办?刘万瑜说:“不管他,走!”我也说“走”,箭在弦上,不得不发。改变乘车计划,不坐火车了,用分段乘车的办法前进。苏联的交通发达,各城市间每隔十分,二十分钟就有一班公共长途汽车往来。下午四点,玛雅陪着我们两人上了到吉尔吉斯首都伏龙芝(今彼什凯克市)的长途汽车,四个小时就到了。立即转乘伏龙芝到江布尔市(我四十岁以后居住的城市,现名塔拉斯)的汽车,下车后又立即转车去塔什干,中间没有任何停留。车次多,车上座位都没有坐满旅客。刘万瑜能睡觉,一上车就睡着了,由我和玛雅观风。我两依偎在一起,不时四目相对,含情脉脉,在别人眼里是一对恩爱夫妻。四月二十三日天亮,汽车进入了乌兹别克斯坦国境,往南望去,我们把天山西端全走完了,先是积雪的山峰,再是无雪的山头,再变成一座座小山包,最后,山脉完全在地面上消失了。起自我国新疆东端的天山,向西绵延两千多公里,直到乌兹别克斯坦。天山,即如天之高的大山,这个汉语名称两千多年以前已经出现了,直到今天不变,俄语和中亚各民族语言都是用汉音“天山”,而且用“天山”取名的地区、农场、商店、旅社、餐厅和用“天山”作为商标的商品都很多。在苏联生活了一年多,我只见到过阿拉木图一座城市的市容。阿拉木图在二十年代立为哈萨克斯坦的首都,五十年代才开始发展。完全是座新城市,规划得十分科学,街道宽阔而笔直,纵横交错,整齐如棋盘,绿荫遮天,花草遍地,大街旁小溪流水淙淙,高楼林立。汽车,电车来往如流水,一片文明的繁荣的现代化景象,我一次次为之赞叹,不敢想像中国哪一天才能达到如此水平。我设想苏联的其他城市也不会比阿拉木图差,在迷蒙的夜色中行经伏龙芝市,看到的街景和阿拉木图一样漂亮。谁知道到了塔什干一看,才知道我的想法完全错了。塔什干是闻名的中亚的古城,和撒马尔干,布哈拉,安吉延一起合称中亚四大古都,都在乌兹别克斯坦境内,塔什干是首都,有人口二百多万,是当时仅次于莫斯科和列宁格勒的苏联第三大城市。古老和守旧总是结亲的,塔什干有些地方也真落后。走走停停,不断有人下车。眼前出现的都是弯弯曲曲的小街巷。汽车开不进去,戴小花帽的乌兹别克小孩赶着毛驴车来来往往。住宅都是土打围墙泥巴糊的房顶,老头子肩上还搭着褡裢,和乌鲁木齐皇城一带的老城区和伊宁市的西沙河子没什么区别。人们的穿着也都土气,女人们都穿着花长裤。不过乌兹别克的姑娘长的好,婀娜婷婷鼻如琼瑶,眼珠如碧玉,黑辨及腰,大都穿着云霓绸的长衫,飘飘如仙女。中午下车后我们立即打的去塔什干的中央公园,也叫“高尔基文化休息公园”。公园与阿拉木图的布局一样,树林,花坪,草坪呈几何形布局,再用喷泉和儿童坐的电动转车点缀,与我们中国的公园相比,中国公园是诗,是艺术,而苏联公园是几何,是数学。不同的是公园里有好几座清真寺,白色的大圆顶,前墙用瓷砖镶着各种几何图案和阿拉伯数字的古兰经经文,寺内除四围白色高墙外一无所有,伊斯兰教禁止偶像崇拜,直到花鸟虫鱼。中国古建筑或庄严富贵,或雅致清幽,西洋古建筑气势雄伟,鲜丽壮观,比较起来伊斯兰古建筑要单调多了。我们一直在公园游玩,还到澡堂洗了个澡,换了衣服。到了和牛水约定的第二次会面时间,刘万瑜一个人打的去了长途公共汽车站,不久后回来了,丧气地说:“售票处前没有牛水,却有个朝鲜人在那里等着,一见我面就问我是不是中国人,我摇了摇头,马上坐出租车走了。”至此再无怀疑,牛水不仅背弃誓言,还出卖了我们。逃出苏联是他第一个出的主意,刘万瑜是他招来的,怂恿的,逃跑计划是一起商定的,我们一起面向祖国宣了誓,到七月二十日他还打电话给我,说按计划“去湖上划船”,我们一起吃住大半年,经济上我处处照顾他。原来他是编了个圈套,挖了个陷阱来陷害我和刘万瑜啊!我不会挡他的道,是他要向KGB立功,拿糟蹋我们的命运立功。我把他当成亲兄弟,唉,百无一用是书生。我活了三十多年,第一次碰到了这种狡诈,卑劣的小人。到公园快关门时,我们才离开公园。牛水的背叛把我们的头都搞昏了,只有玛雅还清醒着,她叫了辆私人小汽车把我们拉到火车站,马上买了从塔什干到土库曼首都阿士哈巴德的车票,把我们带出候车室,到站前广场一处很喧闹的地方等车。乌兹别克是个爱好歌舞的民族,几十个等火车的男男女女围成一个大圈,一个人弹着热瓦普,围着的人跟着琴声唱歌,圈里几个小伙子和姑娘随歌声跳舞。歌声动听,舞姿曼妙,不过人们的穿着都乡气,女人穿青色或彩色云霓绸衫,男人穿白色小掛,灯笼裤,有的人脚上还穿着橡胶鞋,大概是些乡下人吧。

很快我们上了火车,这是我到苏联后第一次坐火车。我们坐的是普通车厢,和我国的火车硬卧一样,一个车厢有三十多个床位。没有坐包厢。一个包厢只有四个人,容易被人发觉,也不好逃脱。列车开出塔什干后往西南走,在古城撒马尔干和布哈拉都有较长时间停留,经过的地方都是中亚最富庻的棉花种植区,阿姆河和铴尔河灌溉的两河流域。饶有趣味的,是从车窗往外看到的苏联中亚农村风光,好像是回到了我国的新疆农村,几乎一模一样:平顶小土房,屋顶上堆着整齐的玉米杆,做牲畜饲料用的。大清早,女人们赶着奶牛去和全村的奶牛聚合,骑马的男人挥鞭把牛群赶到村外,男人们穿着袷袢(一种无领无扣的长袍,用腰带系起来,维吾尔人也爱穿),肩上扛着砍土馒到水渠边给农田放水,土路上一群群的小孩奔跑嬉戏。田野里还能看到圆顶的毡房,是游牧人住的房子。小孩特别多,一对夫妻少则六,七个,多则十几个地生育。铁路线北边是克齐尔库姆和卡拉库姆两个大沙漠,沙漠大而绿洲小,人口问题也成了独立后的乌兹别克斯坦特别是它的卡拉卡洛阿克很为突出的问题。火车到布哈拉后就转向南行,进入土库曼加盟共和国的土地了。土库曼俄语叫土尔克明尼亚,不知为什么中文把它译成了土库曼?土乌边境上的第一大站、也是土库曼的第二大城叫查尔朱,按俄文原文急读近于汉音“军州”,应该和我国历史是深有渊源的。有宋一代,我国是三朝并立,五国共存,在中原和北方,东北方是宋、辽,金三个皇朝,另外西有吐蕃,西南有大理。十二世纪金灭辽,辽皇族子弟契丹人耶律大石率领一部分契丹人、汉人和奚人等十八部,西迁中亚建立了强大的西辽王国,领土南抵兴都库什山,西抵里海,乌兹别克和土库曼都在其范围。辽的地方行政制度里有军州,也许“查尔朱”就是“军州”的对音。在城市西边不远的沙漠里有处古建筑遗址,存有一堵古墙,墙上用琉璃砖镶着一条和中国龙模样相同的黄色的龙。俄罗斯人是通过古契丹族认识中国的,俄文的“中国”写成为“KИTAЙ”,即“契丹”(契字古音为克)。把中国人叫“KИTAЙ”,也就是“契丹人”,而与印度人和古代西方人把中国叫CHINA即秦国,把中国人叫CHINESE的也就是秦人不同。在查尔朱,不少土库曼人上了车,他们和我国维吾尔族人长相相似,穿着也差不离,姑娘们头上都结着许多根小辩子。不过女人穿的长布拉吉几乎盖着脚面,直桶子,不紧腰。火车一直傍着沙漠行进,居民点不多,非常缺乏淡水,火车上供应的饮用水呈灰白色,淡而无味,据说是里海咸水淡化成的。居民看来比乌兹别克人还穷,比哈萨克斯坦居民的生活水平差的更远。在塔什干,我在苏联第一次吃到了馕,是乌兹别克人烤的,和新疆的馕相似,没有新疆的好看,也没有新疆的香脆可口。我看到后高兴极了,一下买了十几个,谁知那却不像新疆馕那样的冷后也香脆,乌兹别克的馕冷了以后变得像橡皮一样咬不动。火车在一个小站停下来后,我把这些馕全送给了一位在月台上卖葡萄的土库曼老大娘了。她欢喜十分,说了五,六个突厥语的谢谢,还一定要回送我一大包葡萄。沙漠绿洲上长出来的葡萄非常甜爽可口。

火车从杜斜克到阿山哈巴德行进了近四个小时,在七月二十五日上午,全是和苏伊边界线平行前进的,最窄处到伊朗边界大概只有三公里。边界上苏联一侧的铁丝网,边界口岸来往的汽车都历历在目。客车一在车站停下,每个车厢门边便来了一个手持冲锋枪的俄罗斯族士兵守着门,都一言不发,双眼紧盯着上下车的旅客。站台上也有俄族军官牵着大狼狗巡逻,气氛紧张,肃杀。我们三人穿着之佳和仪态之潇洒,安闲是车厢里别人比不上的,出手也大方,凡有人和我们交谈都由玛雅应付,她的俄语和突厥语都说得标准而文雅,应对恰当。我和刘万瑜只是微笑点头,尽量不出声。她还紧紧拥着我坐在车窗一边,用俄语喃喃地和我说个不停,虽然大部分我都听不懂。她介绍我们两个人的职业是工程师。看到知识分子模样的邻座,我也会用几句常用的英语应酬,人们对我们很客气。这里作一点说明,苏联人除了人人会说俄语外,学外语的本领不如中国人,中学大学都教德语或英语,却很少有人会读会听,他们并不以知识分不熟练外语为奇怪。

刘万瑜高超的吊膀子手段现在可派上了用场。清晨,车厢里进来了一位俄罗斯姑娘,他马上过去帮着拿行李,引到我们近处座位坐下,递冷水,递点心,几分钟以后,就热络得好朋友一般了。还好,她也是去阿山哈巴德的。正午,列车停到了阿山哈巴德车站。天哪,车站早已戒严了,车站大楼四周都有士兵站岗,站内全副武装的士兵走来走去,紧盯着进出旅客的脸。我们早已做好准备,应付各种事态,神态镇定,步履安然,衣冠楚楚,每个人的胳膊上都掛着个年青女人,目不斜视,昂然走出车站,居然没有士兵来查问我们,有惊无险。KGB虽然无孔不入,但也不能做到天衣无缝,百密总有一疏。当天我们三个人在阿山哈巴德游逛了十个小时,也遇到过两次警察的查问,没有发现我们正是他们要抓的人。出了车站,先叫出租车送走了俄罗斯姑娘,再叫车直奔市中心市场。中亚各城市,不论大小,格局都差不多,都有个大农贸市场,名字都叫“中心市场”或“绿色市场”,是老百姓从事经济活动的主要场所。市场都在城中心,几乎所有的公共汽车和电车都经过那里。我们在市场上吃抓饭,烤包子,甜瓜,大致和新疆的无所区别。市场做生意的女人比男人多,他们卖瓜果蔬菜,做抓饭拉面,头上顶着装满瓜果的篮子走路。天气十分热,有四十摄氏度,不过到处是绿树成荫,清流碧水,喷泉也多,树荫下还安放着供人坐着休息的长凳,避暑方便。市场上有澡堂,我们又去洗了澡更了衣,多余的衣服全给了玛雅,更轻装了。我买了张阿山哈巴德地图寻找越界出发点。在市西南山谷中有个风景点叫费留茲,有一条水质清甜的大泉,市民都远道去汲取干净的天然水。如果从费留茲的南边上山,翻过几个山头便是伊朗了。我们去商店买了个塑料大水瓶,下午六点,打的去费留茲。车开出城跑了十几公里才到,是一个位于种满苹果的山谷里的大公园,园内有悬崖峭壁,怪石处处,种着竹子,凤尾兰,棕榈树等亚热带植物。园内除了有几个大泉池外,还有小瀑布从悬岩上直泻而下,水极其清凉,用手掏着喝了一口,沁入心脾。深谷幽景好像到了我家乡岳麓山的某个山谷中。过了晚上十点,暮色苍苍时,还有许多游人在公园里流连忘返。

我们进了公园,刘万瑜背依长凳,呼呼大睡。他坐了十一年牢,逃出监狱后又到各地流浪了几年,有逃亡的经验,临危不乱,什么时候都能够安定如恒。我和玛雅产生了感情,在公园一角凤尾兰后的大石头上拥坐在一起,泪眼交织,满腹生离死别的悲怆。苏联的制度和“文革”前的中国制度相比有一个大的不同,那就是苏联还容许人性的存在,而中国把所有人的所有人性都消灭光了。她说要向上帝祈祷,祝愿我能平安越境,她永远不会忘记我。对苏联社会,她说她也不寄有任何希望,如果我到国外发迹了,她希望我通过合法手续把她也接到国外去。我们道了无数次的别,却分不了手。直到晚上十点过了,她才终于流着泪和我们分手了,直奔火车站,当晚返乘东去的列车,回去了。我把口袋里剩下的钱全都给了她,一个戈比也没有留,破釜沉舟,再不向苏联回首。玛雅走后,我和刘万瑜在泉水边喝饱了清泉,又灌上了一大壶,出园到山边的一个小公共汽车站的长椅上坐下,装着等车的样子,观察山势,等待天色完全黑下来。这时,一个骑着摩托车巡路的土库曼警察看到了我们,停下车来盘问我们。刘万瑜回答了我们准备下的一套,指了指水壶,说我们是专门来汲水的,妻子在火车站等我们,还把工厂工作证给他看了,说护照在妻子身上,请一同去火车站检查。他没有自找麻烦,只是说:“这里是边界地区,很危险,公共汽车来了,搭车回火车站好了。”乌兹别克人和土库曼人的俄化程度没有哈萨克人深,俄语说得差劲些,我们的俄语虽然说得结结巴巴,那位警察老兄也不觉得奇怪。看手表过十一点了,马上就是夜半子时,我们动身拐了个弯,快步爬上山坡,从山凹上翻过了一座山峦,山下的人就是用手电筒也照不见我们了。苏伊边界是连绵不断的荒凉群山,相对海拔不高,几乎寸草不生,一只老鼠也无法躲藏。后来坐牢时我反复思考,觉得这次出逃各方面都准备周到,即便牛水当了叛徒,我们也想出了弥补的措施,越界地点,也没有选错,应该是能够成功的。就是少了一点,没有事先作好翻越石头山峦忍受口渴的训练和准备,应该请玛雅坐火车先到阿山哈巴德一趟,好好把边界地理条件观察清楚,就好了。

看着表带上的指南针向南走,尽是一个山峦接着一个山峦,都是大石块小石头,也没有路,脚踏下去全是坚硬的石头,没有踩上野草和泥土的感觉,热得喘不过气来,也渴的喘不过气来,汗如水流,不到一个小时把肚子里的泉水全蒸发光了。没有走石头山路的经验,又急着要赶到天亮前翻过铁丝网,不敢停下来休息,我稍走慢了一点,刘万瑜就用湖南话叫:“我的爷啊,你快点走!”一路跌跌撞撞,连爬带跑,两个多小时后,终于到了铁丝网边。苏伊边界铁丝网苏方一侧也有松土带,刘万瑜叫我面向苏联后退着走过去,铁丝网也是三道,没有中苏边界的高,也没有那道渔网状的,要好过一些。我们越过了三道铁丝网,以为已经到了伊朗的土地上,松下了一口气。忽然,我们看见照明弹一个接一个地在铁丝网上空闪光,直升机鳴叫着,隐约能听到士兵和狼犬发出的叫音,原来苏军在边界上早已给我们布下了天罗地网。他们布置在通向边界的小路路口,而我们没有从路上走,过了铁丝网,两人把一壶水喝光了,继续往前跑,是朝山下跑了,要快得多。按照常规,我们已经越过了两国边界最多五百米的中间地带,应该已经到了伊朗了,但苏军仍然赶上来要抓我们,我们忙着向山下滚去。一下子我滚下了一座悬岩,腿摔坏了,留下的伤疤至今还在,近视眼镜也丢了,再没有办法向前爬了。我对刘万瑜说:“你继续前进,我躺在这里掩护你。”他没了办法,实在不得已,只得丢下提包一个人向前走了。很快,苏军打着光线十分强烈的手电筒照到我身上,把我包围了。我想到刘万瑜大概已经到了伊朗,我也怀疑自己是躺在伊朗的土地上被苏联边防军抓住的。刘万瑜后来告诉我说,他确实已经到了伊朗,看到岗亭上写着阿拉伯字,但是见不到一个人,又回过头来找我,想把我救出来,被埋伏下的苏军抓住了。但当时我并不知道,知道以后,我还是很感谢他的义气。那么,伊朗的岗亭上为什么没人呢?那是因为资本主义国家的政府从不会害怕自己的老百姓跑到社会主义国家去,用不着把国家密封得像铁桶一样。

又一次边境被捕

一群苏军抓住我后,用麻绳紧捆着我的双手,两个士兵还一头一个拉着绳子蹬紧,我疼得昏过去了好几次,只好俯卧在地上。几个小时后天亮了,已经是七月二十六日,他们用黑布蒙上我的双眼,拉我上了吉普车,开到一座小军营,又关进了禁闭室,才松了绑。我躺在铁床上喝了点水,也不吃东西。也有军官的小孩来看稀奇,哨兵朝孩子们大吼:“走开些,这是特务。”他还嘲笑我:“你坐吉普车到我们军营来了,你们中国是汽车也没有的。”和中苏边界一样,守卫苏伊边界的官兵也全是黄毛的欧洲苏联人。没有人来盘问我,到了下午,开来一辆密封的小囚车把我关进去了,送到了土库曼共和国KGB总部,关进一间囚室。真难想象,世界上还有如此可怕的房间,四平方米的地面围着四堵高达十多米的高墙,全是灰白色,房顶也是灰白色,吊着一盏灰黄的电灯,除了铁门外,连窗户也没有。人关在里面只感到恐怖,森严和自己的渺小,如果神经不坚强,精神便会崩溃。关了一个多小时,狱警把我带到预审室,一个俄罗斯官员简单地登记了我的姓名,出生年月日和在阿拉木图的住址,拿出逮捕证交我签了字。狱警把我带到澡堂洗了澡,换上囚服,又把我关进牢房。KGB的动作之快令人惊讶,第二天上午正式提审我,一进审讯室,我看到哈萨克斯坦KGB审问我的那个哈族预审官和哈族翻译已经赫然和土库曼的预审官一起坐在堂上。他们没有多问话,只是认定了我的真实身份,翻译还嘲笑了我一番:“你们都是怕死鬼,害怕到中国去反对毛泽东,就想逃到外国去。你能逃出我们苏联吗?”我记得类似的话我已经听过了。

1971年七月二十六日开始了我第一次在苏联坐牢,也是我平生第一次坐牢的监狱生活。大概土库曼KGB没有审问我的任务,在阿山哈巴德关了我十天,他们一次也没有提审过我。平生第一次坐牢,没有悲哀和恐惧,反而有点新奇之感。反正我已经流亡外国,连国和家都失去了,还有什么不能丢掉的呢?对未来,根本用不着去想。我觉得最叫人恐惧的还是1966年中国“文化大革命”开始时的一段时光,还有1970年三月十八日从喀什开始的“一打三反”天天杀人的日子,世界上最叫人恐惧的人还是中国共产党人。走遍天下,包括苏联的KGB分子,找不出像中国共产党派出的工作组、军宣队那样不讲理,不讲情,也不懂理,不懂情的人。现在我年纪老了,离开祖国也多半辈子了,还时时做着挨整的梦。梦中整我的人不是KGB,而是中国共产党人。在那些致命的时期,除了恐惧外,再找不到别的什么感觉了。只要听到紧急集合的钟声一响,只要看到工作组员和军宣队员的阎王脸,我就心脏急跳,全身发抖。当我抬头望见远处的天山时,最大的愿望是放我在天山上自由活动,哪怕就是一天。躺在草地上望着天上的白云,呼吸四周的自然空气,一个人也看不到,只要能过上这么一天,我就死也甘心了。1970年四月二十二日深夜我自杀未成,才临时起了逃苏之念。我逃苏成功,多活了一年加三个月,老天已待我不薄,我又再有何俱?何况,苏联KGB的牢头狱卒都还算文明执法,对犯人也有礼貌。以后我才体会到,为什么邓小平掌权后第一个在中国进行的新政治运动就是包括“文明礼貌日”在内的“五讲四美运动”的原因:中国共产党人真的太需要接受文明礼貌的训练了。

关我的牢房在土库曼KGB大楼右横楼二楼监房的第一排第一间,面积有八或十平方米,牢房内有两张铁床一张桌子,一张凳子,一个搪瓷水壶和一个便桶,窗户离地面有三米多,外面用铁丝网拦着。大铁门,上端有个四方形洞,头钻不出去,用活动铁板盖着,掀动铁板,可以递进饮食,看守也能和犯人说话。铁板上还有个小洞,看守从小洞里能看到犯人的一举一动。十天里我只见到两名土库曼族看守,他们都穿着士官制服,对犯人态度和蔼,说话时面带笑容,轻言轻语。向他们要饮用水,和每天要几桶水泼在牢房地上减轻热度,他们从没有拒绝过,有时请他们带我去澡堂洗澡冲凉,他们也不怕麻烦。同监的是个阿富汗人,三十多岁,一句俄语也不会说。和他什么也说不通,用手比比划划,才明白他是个牧民,放羊时不小心过了苏阿边界,给苏军抓起来了。那个阿富汗人有几大特点:一是懒,一起关了十天,他没有倒过一次便桶,也没有洗过一次地板,放风时都懒得走动,坐在地上。所以牢房内的清洁卫生活都是我干的。第二是脏,每逢洗澡我高兴得就像过节一样,他却拒绝洗澡。哈山哈巴德是全苏联气温最高的城市,牢房里日夜都有三十多摄氏度,他不洗澡,身上散发的臭气叫我呼吸都困难,只好过几个小时向看守要来一桶凉水,泼到地板上,减少点臭气。还有一个是自私,只要我有吃剩下的食品放在桌上,他就毫不客气地拿去吃掉。再就是卑贱,和看守说话时弯着腰,总说着他唯一知道的俄语词“GOSPADIN”(先生)。看守笑着说:“不要叫我GOSPADIN,你们有GOSPADIN,我们没有。”他最大的特点是对伊斯兰的虔信,一天昼夜二十四小时,他要做五次礼拜,每次花时间至少两小时。跪在床上面向西方,一次次整个上身匍匐到床面,高声念经,念得我脑胀心烦。有时深夜里听他高声念经,再望着牢房的四堵高墙,心里急得像有蚂蚁在爬,无法睡觉,幸好到这种时候看守就会来制止他。我想,穆斯林每天花那么多时间作礼拜,如果在战场上怎么办?所以,落后的宗教文化必须改革,但美国却到处支持落后的宗教文化在别国特别是我们中国发展,来阻碍社会进步。

监饭每天三顿。一天一个面包,有八百公分。早餐是红茶,咸鱼;午餐是麦片,或黄油软饭或俄式放点肉的菜汤;晚餐和早餐相同。我吃不完,剩下的都给阿富汗人吃掉了。另外还发莫合烟、旧报纸裁成的卷烟纸和火柴,也发牙粉,平纹毛巾。我在阿山哈巴德、塔什干和阿拉木图三处监狱坐过牢,阿山哈巴德的牢饭最好。土库曼西频里海,里海的鱼很肥,没有小刺,一天吃一百公分鱼,几片面包,肚子就饱了。

牢房的铁门上方有一个二十五瓦的电灯,用铁丝网罩着,开关在牢房内。有事找看守或者医务室护士(没有医生)或者狱官,便打开电灯,电灯一亮看守马上过来问你有什么问题。每天早九点,晚六点各上一次厕所。手纸是旧报纸裁成的。放风在上午,每次半小时。监狱外面的大院子里竖着许多水泥板高墙,隔成一间间的,没有房顶,便是放风间。每间有二十平方米,一处牢房的犯人只能在一个放风间里活动,见不到别的同监。放风区中部有座高高的岗楼,里面站着持枪的士兵。阿山哈巴德和阿拉木图两地KGB监狱的格调和规矩完全一样。坐牢的第三天放风时,我进了放风间,只听到嘹望台上的卫兵问:“还有一个呢?还有一个呢?”一会儿听到了刘万瑜的咳嗽声。原来刘万瑜也给抓住了,我当时还以为他已经逃到伊朗了呢!

毒热的太阳当空照,水泥地板好像烧烫了的锅,放风时我只好紧挨着高墙的阴凉处,慢慢散步,有时坐在墙根沉思,卫兵还提醒我:“你要起来跑跑步,多活动一点。”我觉得苏联监狱里的狱头狱卒,审判官员,都还有人性,对不幸者有同情心,只要在框框之内,请他们帮点忙,给点方便是不会遭到拒绝的。中国却完全相反,一次次严酷的阶级斗争把中共官员最起码的人性都抹掉了,他们的教育水平又低,那时的中共官员是世界上最少受教育,最少文明修养,对国家对人民最没有良心的官员阶层。我见到的党官党吏们没有一个不是性如虎豹,心似蛇蝎,一脸凶相有如夜叉的。我心潮澎湃,怨恨牛水,他带头组织了此次出逃,又中途叛变了,为什么这样做?是要向KGB立功讨好,踏着我们的头向上爬混个一官半职呢,还是有别的背景?从我们在苏伊边界越境的经过来看,他是军人出身,如果他来领头,我们一定可以走出去,走到铁幕之外。几天后我的心情平静了许多,心想,牛水把我们出卖了,出逃失败,当然是大不幸,但是KGB将会对我们彻底失去指望,以后,就再不会在我身上打主意了,也是不幸中之大幸。

没有纸笔,我只好在床边用指甲刻画日子。十天后的一个下午,看守把我带到一间大房子,叫我换上自己的衣服鞋袜,发给了一个面包,一包莫合烟,一小包白糖和一盒火柴,还有几块咸鱼。之后押我出房,关进了汽车头拉的囚车。停了一个多小时。大概犯人是一个一个带上囚车的。囚车是一个大铁皮箱子,隔成一人一小间,小得转不过身来,也没办法坐,灼热的太阳把白铁皮烤的烫手,温度超越摄氏五十度。我全身的衣服都给汗水浸湿了,刚烤干,又浸湿,呼吸都很困难,我想,要再关一个小时,我就得热死在里面了。但囚车终于开动了,走得很快,停下来以后,士兵把犯人一个个放出来,一看,到火车站了。站内除士兵外没有别人,男男女女的犯人排成队,前后是持枪的士兵,两边是持枪的士兵牵着一条条大狼狗,押着犯人上到火车上的囚车。这时我看到了刘万瑜,他一走一瘸,衣衫破烂,比我还狼狈。我上去扶他走路,没走几步,士兵把我拉开了。上了囚犯列车,车厢也是用铁板和钢丝网围成的一小间一小间的囚室,每室关四个人,有长凳座位。囚室外面走动着持枪士兵。

苏联人把这种火车囚车叫做“斯托雷平车。”斯托雷平是十九世纪沙皇政府的内政部长,以严酷镇压要求改革的“十二月党人”在历史上留下了恶名。他设计了这种囚车,把“十二月党人”的改革者们押送到遥远的西伯利亚“深深的矿井下”服苦役。十月革命后,苏维埃政权把“斯托雷平车”继承下来了。列车开动后,风一吹来,身上凉爽了。和我关在一起的三个人都是土库曼人,判刑后送到劳改营去的。他们对我很客气,不断请我吃咸鱼,也不断对我大骂政府,法院和警察。在囚车上最困难的是上厕所,小囚室内没有便桶,一天两次到车厢头的火车厕所方便。看守厕所的是个哈萨克娃娃兵,只有十六七岁,却万分凶恶,进厕所裤带还没解开他就在外面吼叫“快点”!一分钟后他就大骂:“操你妈的,为什么还不出来?”小哈萨克兵和哈萨克官员一样凶恶,别的民族无论是官是兵态度都要好得多,当然,朝鲜人除外。我关在车厢第一间囚室,每上厕所都要从其他囚室前走过,我举起右手,跨着正步,像检阅部队一样向他们致意,他们都开心地笑了。我没有能做到带镣长街行的威武不屈,可也在外国人面前滑稽地正气了几小阵子。

“斯托雷平囚车”几乎中间没有停留,像特别快车一样快地直驶塔什干,又直接开进了一所大监狱。监狱分成许多院子,铁路从院墙边铺过,可真有气派。囚犯押下车后分别关进各个监狱大院的牢房里。它是苏联中亚地区的犯人中转站,犯罪嫌疑人要押回作案处或原籍判刑,判了刑的犯人要押送西伯利亚的森林或矿场,或北哈萨克斯坦垦荒地,或北极地区的集中营,都先要押送到这个监狱集中。我被关进一个小院内的一间小牢房,旁边有一间大牢房,外面是走廊,天井,再外面是高墙和铁门,一头有几间房住着士兵。小牢房边的大牢房内关着六个女囚犯,年纪都不大,最大的只有四十岁。有两个是犯了罪的十八九岁的女大学生,有的是公司会计,有的是商店出纳。一个是塔吉克女人,一个是乌兹别克女人,剩下的都是俄罗斯女人,而且都长得漂亮。他们是判了刑后等待送到别处去服劳役的,随身携带着许多衣物,食品和钞票。看守的士兵们对他们很好,没有给他们的牢房上锁。一天到晚和他们在走廊上嘻嘻哈哈,倒象是住旅社。关我的小牢房是上了锁的,只每天叫我出来在走廊上放风一个小时,这时女犯们不许走出牢房。不过我牢房门上的水饭洞没有关,任何时候都可以和她们交谈,接受她们的礼品。只有我一个人是男人,还是中国人,他们当然有兴趣,常常几个人围到洞口向我问东问西,把手伸进来和我握手,送我饼干,手绢,还送来了一支圆珠笔和一个拍纸本。我会的俄语不多,便在纸上画画,互相递条子。我在纸上画上中国式的花边,再画支荷花,牡丹花,再用中文和俄文写上“谢谢”,“我爱你”等等,她们看了非常高兴。他们给我的条子写的俄文很潦草,又写得多,我看不懂。总之,关在塔什干一个星期的日子,我还是过得颇不寂寞的。一个女人还告诉了我一个真实的故事:几个星期前这里也关着一个男犯和一群女犯,男犯是大学生,政治犯,父母是当官的。他有钱,花钱买通看守,没有给小牢房上锁,白天晚上和女犯们混在一起。大学生身上藏了大笔钱,女犯们想了个办法,全躺在牢房通铺上,叫男的随意行事,愿意给谁钱就给谁。我听了后说:“我身上可一个卢布都没有。”她们嬉笑着回答:“我们每个人都愿意陪你,不要你的钱,还会给你钱。”只是她们无法打开我牢房门上的锁。有一个年纪和我差不多的女人,住在塔吉克的首都杜尚别,是个混血,父亲是塔吉克人,母亲是俄罗斯人,她面孔清瘦也清秀,说话文雅,从不说出格的话。她说自己是学校的会计,校长贪污了,拿她顶了帐,判了三年刑,有一个孩子,早和丈夫离婚了。还说塔吉克人离现代文明太远,再也不嫁塔吉克人了。她给我送了一条手绢,一双袜子和两个练习本,把家庭住址和电话都写给我了,叫我出狱后一定和她联系上,到杜尚别她家里做客。但我被押送到阿拉木图KGB监狱后,这张条子就被监狱当局收走了。

监狱长是位俄罗斯大尉,头发都花白了,派士兵带我到他办公室里谈过几次话,用咖啡和好烟招待我。他翻开厚厚的苏联刑法大典,指着其中的一条对我说:“你犯的是非法越境罪,得判三年徒刑。”还说:“我部下的士兵也有偷偷跑到伊朗去的,伊朗政府都把他们送回来了。”他喜欢谈国际时事,办公室墙上掛有一幅世界大地图,他指着地图向我吹牛,哪些是苏联的盟国,哪些是苏联的朋友,哪里有苏联的驻军,还总结一句:“世界上到处都有我们苏联的部队。”我不服气,也指着地图对他说:“您看,美国,日本,中国在一条线上,这条线一连起来,就把你们在太平洋封死了。你们打不到美国,美国能够从它在日本的基地打你们。你们驻在外国的军队多,只能镇住一个国家,镇不住一方世界。”他听后对着地图思考了好久,最后无可奈何地摆了摆手说:“没关系。”在苏联生活一年多,在我原来的反苏思想中又增加了新的因素,更坚定了。我看到了它的强大是表面的,它的发达也只是表面,比中国还落后的地方还多着呢。我对美国有好感,对日本无好感,但佩服日本人创造的经济奇迹。我常常想,当美国,日本,中国三国牵手之日,就是苏维埃帝国崩溃之时。后来为我言中了,美中日三国还只是改善了关系,没有结成同盟,苏联大帝国便吃不起,呜呼哀哉了。

 

第三章 在KGB监狱和南西伯利亚流放地

铁窗七月

在塔什干关押了七天之后,和那些可爱的女犯友分别,又坐上“斯托雷平囚车”回到阿拉木图,关进哈萨克KGB总部的监狱,坐了七个月的牢。KGB的监狱可以说是苏联最文明的监狱,犯人都穿囚服,内衣,外衣和大皮鞋和工人的工作服一模一样。监狱里每天都要洗地板,擦桌子,两次倒洗便桶,由囚犯轮流值日,一个星期大扫除一次,大家一起动手。每星期洗一次澡,淋浴,有热水。不管患大小病,都给医治,狱医认真负责。狱方给犯人发牙粉,不发牙膏,因为牙膏瓶是金属制成的,可磨成刀片。我关进监狱后有一段时间没有牙刷,只好用毛巾包着手指沾上牙膏粉末刷牙。每个囚室都贴着狱规,规定犯人称呼从看守到典狱长都是“长官公民”,他们称呼犯人则为“囚犯公民”,没有见过犯人受骂挨打的。伙食不好,面包却吃不完,不会饿肚子,发的莫合烟也抽不完。每月允许亲属送食品和日用品一次,每次四公斤,至于警察局管的监狱则是暗无天日的地狱,里面发生的事令人发指,搬到当时的中国来也是骇人听闻的。

前三天是我一个人单独关在一间牢房内,没有提审过,也没有放过风,没有和别人说过一句话,晚上也无法睡觉。三天三夜,一个人静静地坐在床上思考,思考我的国家,我的情绪完全平静下来了,忽然唔出来了几条大道理。第一,国人引以为豪的万里长城是条物质上和精神上的大隔板,隔开了中国人的身体,也隔断了中国人的思想。长城圈内的中国大地是个大垃圾堆,堆满了古今中外的历史垃圾:中国国产的秦皇专制,王莽荒唐,隋炀荒淫,朱元璋的残暴,雍、乾的禁锢思想和外国产的欧洲中世纪暴政,希特勒的法西斯和斯大林的超法西斯,梵蒂冈的教皇神圣,一应俱全。第二,“文革”中把中国古代的一切亡国之象都显露出来了,如君皇拒谏,后宫(江青)干政,宦官(汪东兴那一帮人)乱权,注定了“文革”政权不会久长。第三,“文革”政权是汉代王莽政权的翻版,都声言是新政,有经典可查,有古训可循,其无法,无理之惨绝人寰又如出一辙。王莽政权是短命的,“文革”政权的命也长不了,我一定要活下来,活下来看到“文革”政权的覆灭,活下来看到我的祖国新生。我把几次挨整的原因和经过重新系统地回忆下来,也有了新的发现,发现那些整人的中共干部都有共同的特点:学识低下,品格低下,手段凶恶,不把人整死不罢休。为了整人,他们可以造谣,可以认贼作父,可以出卖除了有利于自己向上爬的仕路以外的一切。他们和他们的上司,上上司都是真小人,连伪君子都不如。伪君子做坏事还遮遮掩掩,他们做坏事却是明目张胆。叫这种人和他们的后代治理中国,中国只会越治越坏。“文革”时整我的工作组长叫宋植,在红太阳都带头反苏修的时候,他和他的上司刘允焕在大会上咒骂我,“你1957年当右派,就反苏,你以为你反对了,你是反斯大林,斯大林是革命的领袖。”他们公开用共产党的名义宣传汉奸理论。我曾在报纸上发表文章论述民族英雄林则徐充军新疆的事迹,引用了他忧心国家危机的诗句:“正是中原薪胆日,高歌何必醉屠苏。”刘某在批判我的大会上说“是向党发出的毒箭,咄咄逼人。”他把“屠苏”(一种药草名)理解为“屠杀苏联”,说林则徐说反话“反苏”,雷光汉也是一路货色。他自己把共产党和十九世纪带头侵略中国的英国殖民主义划上等号了。他们的人格也是卑劣的,自己跑到伊犁卫生学校逼迫我的未婚妻和我划清界限,断绝关系,接着乘人之危,去调戏她。一次和我谈话,逼我和她不再来往,竟说漏了口,親热地称她为“小吴”、“小吴”了。我的同事中有两个人书教不好,品质又坏,是学生最讨厌的教员,“文革”初期都是学生自己提出的批斗对象,可是后来都顺利过了关,没受处分,在“文革”后期还入了党,八十年代后当了大官。原因只是他们各有一个漂亮的老婆,并且住宅连在一起,和某些人的办公室门对门。

我又想起,1957年把我划成右派时,其实按比例历史学生中的右派已经满员了,我的反俄言论都是历史事实,同学们也都从心里赞成,讨论我的问题时历史系中共总支委员会认为可划可不划,党支部成员大多数反对划,只有一个叫孙淼的调干学生坚持要划我为右派。原因只是我曾讥笑过他不懂古文,不懂写对联,在过新年时把标语口号当成对联写来贴在宿舍大门两边。还有一个原因是我和班上唯一的一位女党员感情亲若姐弟,他眼红了:女党员居然不和他好而亲近一个剥削家庭出身的人!后来孙淼写了一个“同情右派分子”的鉴定装在她的档案内,使她以后再也没有翻过身来。

我单独坐牢三天后,换了监房,三人一间。同监的是两个俄罗斯青年,一个是阿拉木图人,杀人犯;另外一个是阿克纠宾斯可来的吸毒犯。在KGB监狱监禁的除外国人外,本国人都是重刑犯,杀人犯,贩毒犯,外国间谍嫌疑犯,政治犯和发了案的贪官,都是两人或者三人一间房,人多了会洩密生事。审问我的预审间还在我原来受审的同一层楼房的同一单元,但规矩不同了,因为此时我已成了阶下囚。预审员和翻译坐在老地方,原来我坐的地方坐着书记员用打字机记录口供。我则穿着囚服坐在门边的一把椅子上,后面还站着狱警。前两个月是如此,以后也叫我坐在翻译座位旁回答问题了。预审官是位四十多岁的俄罗斯中校,态度温和,发的问题都是就事论事。书记员叫别佳,让我直呼其名,有学识,常常纠正预审官因为不熟悉中国而发出的错误问题。翻译是个五十多岁的中俄混血人。三个人的心肠都不坏,从没有发过脾气,还不时和我开些无伤大雅的玩笑。审问时也从不节外生枝,还尽量把案情搞得简单一些,于我有利一些。特别是那位中俄混血翻译官,我能听得出他总是向着于我有利的方面翻译的,还常安慰我,叫我放心,案情不重,因为我们逃跑策划得很好,逃跑前断绝了和别的中国人往来,没有诱惑别人跟我们一起行动,走得秘密,没有引起社会震动。如果行动造成的影响大,便会严惩不贷了。他还具有相当的古文修养,因为小时在海参崴上过中国私塾,读了四书五经。三十年代随父母回到新疆在乌鲁木齐一汽车修理厂做工,五十年代又返回苏联,他是阿拉木图KGB大楼里口语水平最高的翻译,军衔却低,只是个尉官,见到校官进到预审室他都站起来不敢坐。这是个身居狼窟还讲点同胞香火之情的人。一次这位混血翻译没有来,审问我时换了一个姓于的中国人翻译,他是河北人,是比主子还凶狠的汉奸。审问开始前预审官和书记都不在,他和我闲谈,对我说:“我知道你有反苏思想,你得知道苏联是有思想犯的,在思想上反苏也得判刑。”我戏谑地说:“对不起,我以为你是中国人,原来你是俄罗斯人养下的崽。”他一下子尴尬十分了。那次是检查我们出逃时身上带的物件,预审官问我:“你们带了几个指南针?”我说:“三个。”他又问:“你们两个人为什么带三个指南针?”我说:“一个是给牛水预备的。”这三个指南针一个是刘万瑜手表表带上带的,两个是我在商店买的。预审官理解了,从抽屉里拿出三个指南针,问是不是我们的,其中两个是我买的。一个是大的绿色的军用指南针,我指着说“这个不是我们的。”于翻译一口咬定:“你不是承认你们带了三个吗?”我说:“这个大的军用指南针,我们从何得来?”他又问:“你怎么知道它是军用的?”竟敢越翻译之权充当预审官来审问我了,狗仗人势,我立即顶了回去,说:“你怎么知道我不认识军用指南针?你不要把我们中国人看扁了,我在北京大学上学时受过军事训练,用过军用指南针。”并指着指南针向预审官和书记员说:“你看,指南针的颜色和两位首长穿的军服颜色一样。”接着又用俄语说了一次,特别加重了“我们中国人”,“两位首长”的语气。预审官笑了笑,马上问别的事了。大概于某和那位自称“国际共产党员”的上海人葛某一样,是留在苏联的原中共党员,是最没有人格,最没有人性的一些人。

在几个月的审问中,KGB想要搞清楚的大概只有一件事—牛水的身份和意图?为什么是他组织外逃而又告发了我们?为什么他要用此手段?他们把牛水和我交往中的每一个细节都问到了。刚开始,我对牛水的气很大,当着预审关的面大骂他的行为卑鄙,用心不良。后来气平了,回答问题也就理性得多了,预审官问我:“1949年牛水还是个小娃娃,他的父亲离开家了,他怎么知道他是去了台湾呢?”又问:“既然他的父亲去了台湾,中国最讲阶级成分,中国人民解放军怎么会吸收他当兵?他的父亲当过国民党时代的法院院长,是有案可查的,为什么他家的阶级成分会划成城市贫民?”对这些问题我也无法回答,只觉得如果把牛水定成中国间谍,他就只有死路一条了。虽然他设下圈套把我送进了监狱,我却不忍心用同等手段去对付他,便向预审官提出了个问题:“长官您想想,如果牛水真是派遣间谍,不会如此轻易暴露自己的身份。我和刘万瑜都不是什么了不得的人物,不是中国非要花代价除去的人。出卖我们两个小人物而暴露自己的身份,划得来吗?”这一下,预审官生气了,说:“你刚进监狱时,热血沸腾,对牛水的气大,说了他一些实话,现在气平了,反而替他辩护了。”半年后,牛水最终还是被这位预审官定成了“毛泽东的间谍”,这是后话。混血翻译还对我说:“你是聪明人,可惜交了两个坏朋友。牛水是个滑头的二流子,用上海话说就是个瘪三。刘万瑜是个监狱流子,坐牢对他来说是小菜一碟。你跟着他们倒霉了。”我知道他也是在提醒我,要认定马,刘二人的身份,不要把话说离谱了。这是个没有失去人性的人。在检查我用中,英,俄三种文本的声明时,预审官问我俄文本是谁写的,我用早就编好了的一套回答他:在汽车站找了个俄罗斯女盲流,递给她十个卢布,她给我修改后重抄出来的。他没有驳回,还说:“这个女人教育程度高,字写得非常好,看来是上过大学的。”自从我被捕后,心中担忧的首先是玛雅,害怕她受牵连,也给抓起来坐牢。谁知在整个七个月的被审过程中,预审官关于她只问了一句话:“据说你们坐汽车、火车外逃时还有个女人陪伴你们?”我马上答“没有!”就完了,再没有提及女人的事。出狱后我悄悄去见了玛雅,她也说回程很顺利,KGB的人从来没有找过她。我发现KGB只对情报,间谍和政治犯感兴趣,不愿意管与此类事无关的小事,也不太计较细枝末节,尽量少生事端,免得给自己添麻烦,和当时中国公安局办案不一样。中国公安办案是好大喜功,把案情越搞越大,牵扯的人越多越好,冤枉的人越多,他们立的功也越大,升官也越快了。

还有一点,我刚逃来苏联时,KGB对我是寄于了很大希望的,希望我能够成为他们中的一分子,经过了这次逃亡,他们的希望完全落空了,也不太想过多纠缠我了。

在阿拉木图KGB监狱坐牢的七个月,是我一生中拥有的最多的闲暇时间。禁锢斗室,紧关的铁窗,紧锁的铁门,除了放风时间外,连天空都看不到。晚上也只有一盏幽灯,除了思想以外,什么都不属于自己了。一切都是命,虽然《国际歌》里说:“要创造人类的幸福,全靠自己救自己。”但我想,在共产党治下的社会主义国家,谁也别想用政权以外的力量,办到这一点。“自己救自己”,真是谈何容易。我是长子,是父母求神拜佛盼来的。我刚满周岁,父亲请来算命先生在家住了好多天仔细推算我的一生,写成了一本“命书”。命书中写到我在三十岁以后要遭大难,果真不错,二十岁当“右派”,三十一岁当“黑帮”,三十五岁亡命国外,三十七岁坐牢。不过命书又说过了三十六岁的命运大坎,就遇难呈祥,多子多福,六十三岁善终,有三子二女送终。这又是笑话了,我现在已近年满六十六岁,也只生了一子一女。后辈子比前辈子也没见好去多少,遇过难而没有呈过祥。反正坐牢是命中注定的,我心里坦然了。一到十月份,监狱的暖气就开放了,小囚室里装了个用铁丝网罩着的长暖气管,整个冬天犯人在囚房里只好穿衬衣,温度过了头。狱中日月也同样是匆匆如白驹过隙。

十月一日中国国庆那天提审了我一次,审问结束离开审讯室时预审官还送了我几个大苹果,说是给我贺节。审问开始时预审官对我说:“你们中央文革小组组长陈伯达被打倒了。真是的,毛泽东也不知道他自己到底要干些什么?”我也调侃着回答:“我们的毛主席是天才的战略家,他什么都有先见之明,他一切都安排好了,要打倒什么人,按照他自己的战略安排一个个来。”那天,没有涉及我自己的事,预审官翻着《中国文革大辞典》一个个问我对文革风云人物的印象,我是这样回答的:对陈伯达,我知道他是毛亲口御封的“我们党的理论家。”我读了他写的两本书:《窃国大盗袁世凯》和《人民公敌蒋介石》,听了他一次报告,一口福建土话,一句也听不懂,还得有翻译给译成普通话。他有学问,但食古不化,没有创新见识。姚文元,读他的文章不少,是个很能举起大棍敲别人脑袋的文坛杀手。张春桥,我是在1958年“大跃进”时知道此人的,他在《人民日报》上发表文章反对“资产阶级法权,”主张废除工资制,在中国搞全民供给,他的思想是十分迎合毛泽东的主张的。戚本禹是个才子,文章写得好,笔端饱含热情,也很能迎合毛泽东的左潮。预审官又说:“你知道吗?毛泽东是江青的第四任丈夫。”我可真不知道,如果真的,一个四度嫁人的荡妇成了中国的第一夫人,又成为“党和国家领导人”,可把八亿中国人的脸都丢光了,羞死人了。他又问起肖力,即毛江的小公主李讷,当时也是和林彪,江青们一起站在主席台上接见红卫兵和造反派的“中央军委领导人”。我说和李讷在北大历史系同过学,她低我三个年级,在乡下劳动时往地里给我们送过开水。北大教学严格,功课重,李讷娇生惯养,也不太聪明,受不了,犯了神经衰弱症,休学一年,毛泽东因此马上下了个“教育革命的指示”把学校课程砍掉一半,学生不要学那么多,学了也无用。他又发感叹:“我真不明白,毛泽东,周恩来,康生都出身在富人家庭,都是知识分子,为什么又那么反对地主,资本家和知识分子?”又说;“刘少奇在苏联学习过,为什么也反苏?”我心里想,我不是逃到苏联了吗?也是反苏,大概凡神经正常的人对苏联之所作所为都会反对的。

1971年“九一三”林彪折撠沉沙于外蒙温都尔汗,阿拉木图KGB早就知道了,在下一次提审我时预审官说:“你们的副统帅林彪又给毛泽东打倒了,现在中国书店里卖的《毛泽东语录》,林彪写的《再版前言》都撕掉了,也看不到毛泽东和林彪合影的画张子了。”还拿出几张莫斯科发行的《真理报》给我读,上面登了王明批判毛泽东的文章,我大部分看不懂,只记得文章的题目译成中文是“孤家寡人”。他们对中美接近十分嫉恨。美国总统尼克松要访问中国和访问中国,不光KGB的官员,连狱中的看守都常对我说:“中国天天喊反对美帝国主义,都是放空炮,毛泽东和周恩来心里想的是要和美帝国主义拉关系,好反对我们苏联。”二十世纪六十年代后,我在中国天天接受“苏美联合主宰世界”的宣传,心里也相信了,所以才打算逃来苏联后再去台新或美国。到苏联后,我才发现全不是事实,苏联的反美宣传比中国做得广多了,深入多了,普通老百姓都反美国。其实“两雄不能并立”,苏联到处扩张到处侵略外国,受到美国的抵制或抵御,当然要反美国。年底一次审问我时,预审官一开口便笑容满面地说:“你知道吗?尼克松访问中国后也要到我们苏联来访问,我们苏联力量大,他不敢不和我们拉关系。”

次年三月七日我被从监狱放出来送到北哈萨克斯坦柯吉达夫服流刑,在走出监狱大门前,在楼上一间办公室里和刘万瑜见面。办公室坐满了许多我见过面的和没有见过面的KGB官员,他们也和我谈美中关系,我最早遇到的大尉翻译科长说:“尼克松访问北京时,中国政府安排许多人穿着新呢子衣服,提着半导体收音机在大街上悠闲地散步。”还用手比划着嘲笑说:“你们中国买布不是要布票吗?为什么和尼克松会谈时,毛泽东和周恩来穿的裤子那么宽大,他们不怕浪费衣料吗?”

受审时,我请求预审官借给我几本书读,不久混血翻译给我拿来了三部书,一本是中文编写的《俄语简明教程》,两本是宋人欧阳修的文集,是解放前商务印书馆印行的,这几本书帮助我打发了许多狱中难过的日日夜夜。我原来就喜欢欧阳修的文章,小时候曾全文背诵过他的《秋声赋》。读了他的文集,有两大心得,一是知道了北宋还有个大诗人叫梅圣俞,是欧阳修的好友,以前没有见到过这个名字。一是曾经有人告发欧阳修和他守寡的外甥女有染。宋人最讲道学,道貌岸然的欧阳老先生居然有这般绯闻,还是逆伦的,太叫后人不可思议了。我给自己规定,每天中饭前的时间全用来学俄语文法,按照教程我系统地学了下俄文文法,太复杂了。性、格和时间的繁复变化,形动词、副动词,叫人永远搞不清。我拿来和中文相比,心中豁然开朗,原来俄文在当今世界各大语种中发展与成熟得最晚,词汇少,虚词更少,解决的办法一是靠外来语补充,一是靠词尾的变化以应付,把文法搞复杂了。而我们的中文是最成熟的语言,虚词,实词应有尽有,新词构造法合理而法力无边,所以我们的祖先把各种古怪的文法规则都丢掉了,只留下最合理,最基本的几条。

七个月的受困牢狱之灾,没有亲人过问,状况之惨无以复加。幸好刘立中知道了,在狱外为我奔波,帮助我,营救我,给了我只有亲人才能做到的一切支援。我们被解到阿拉木图后,牛水被招来提供我们外逃的证词,立中兄是从他的口里知道了我和刘万瑜正在坐牢的。按监狱的规矩,允许囚犯家属每个月送一次物品,定量两公斤,内容是食品,香烟,清洁工具和练习本,圆珠笔。从1971年九月份开始,我和刘万瑜都能定期收到立中兄送来的东西,牙刷有了,能打发时光的纸笔也有了,好烟有了抽的,香肠,熏肉,巧克力和水果这样高档次的食品也每日都可以入腹。每当狱警提着木制手提箱给我送东西,看到箱底的清单和立中兄的签字时,我身上似乎到处都有热流通过。接受立中兄的物品,成为我的狱中节日,也形成条件反射。左眼跳财,右眼跳灾,每个月我的左眼皮都要跳一阵子,我对狱友说:“我的朋友又要给我送东西来了。”果然如此,没有一次落空。狱友们都羡慕我有这样好的朋友,也称赞中国人仗义。立中兄又奔走于阿拉木图市内外许多中国老乡家里,请求他们联合上书给哈萨克斯坦中央政府,无罪开释我们。当时中苏严重对立,我们出逃可视作反苏行为,此举是要冒风险的,因此签名的人不多。年底,立中兄执笔给哈KGB中央主席格列奇科中将上了书,签名的除立中兄外,还有徐英斌,谢先诚,张联堂,马振兴等几位中国人。

坐牢七个月,换了五次囚房,同房的狱友先后有九人,其中有一个是中国人。一次正接到立中兄送来的食品,给狱友分甜面包时,忽然从窗户传来了刘万瑜的声音,我很兴奋,一下子爬到小桌子上,向刘万瑜说话。狱友连忙把我拉下来了,他们说:“你傻了吗?”监狱绝对禁止和非同监的人通任何消息。你想关进黑房子吗?不过我也知道了这所监狱里也关着我和刘万瑜以外的别的中国人。还有一次我放风时听到了一个甘肃回族人口音的人大声说话:“你们老关着我干什么呢?也给点外面的活叫我做一做啊!”在夜深人静之际,相邻囚室的犯人也常常有节奏地敲墙壁,每次邻室里都有回应。坐牢时间长的人发明了敲壁的狱语,能互通很多消息,我没有学会。听到刘万瑜声音的第二天提审我了,预审官叫我把所知道的中国安徽大学的情况告诉他。我很奇怪,给他说了:安徽在近代中国是个出文人的地方,清朝的桐城学派源于安徽,我国现代文学、学术的奠基人、“五四”新文化运动的先锋胡适和陈独秀都是安徽人,陈还是中共的创始人。我还知道著名国学大师刘文典当过安徽大学的校长,他眼高于顶,在中国学术界只佩服历史学家陈寅恪一个人。我也知道和中国现代物理界的“三钱”(钱学森,钱伟长,钱三强)齐名的还有“三冯”——哲学大师冯友兰,地质学家冯景兰,小说家和文学史家冯阮君,他们还是同胞兄妹。冯沅君的夫君陆侃如也是文学大师,原来当山东大学副校长,1957年当“右派分子”后发配到安徽大学教书去了。为什么苏联的KGB对中国的安徽大学感兴趣,真是莫名其妙。出狱后刘万瑜告诉我,一天他听到邻近狱室里有个人大声说中国话,就对着窗户和他交谈了几句。那个中国人叫张义,刚从中国逃过来,正在接受审查。刘万瑜问他是什么文化程度?张回答上了“大学”,刘又问是什么大学?张诺诺地回答:“我是安徽人,上的就是安徽大学吧。”一个“安徽大学”害得张义多坐了几个月的牢,实际上他只上过小学。他出狱后辗转打听到了我们在柯吉达夫流放的通讯处,和我们通了几次信。我知道了真后悔,为什么要向KGB卖弄我关于安徽文化的知识,害得张义多受了些苦呢?

第三次换囚室了,跟着看守,一进门就看到一个混血人模样的四十多岁的中国人坐在床上,我用中国话问他:“你是中国人吗?”他用俄语回答:“我是俄罗斯人。”说过后他马上觉得自己回答得滑稽,见到我的物品中有几包烟,改用中国话说:“我可以抽你的烟吗?”我回答:“当然可以。”还说:“我一眼就看出你是中国人了,你的模样是混血,可神态是中国人,变不了的。”算是碰到自己的同胞了,牢房的日子再不会寂寞,有谈话的对象了。他为人心肠不太坏,也很健谈。他说他姓刘,是乌鲁木齐长大的,父亲是老华侨,母亲是俄国人,他是三十年代被从苏联远东撵到新疆去的。小时候他们家很穷,十来岁就开始跟着父亲当小工,给人盖房子。一次在迪化督办公署的大院里修路,见到了边防督办盛世才,就是那个统治新疆的皇上,盛世才还摸了摸他的头。长大了开汽车,走私大麻烟,被劳改了一年。1958年跟母亲“返国”来到苏联,国籍和民族成份都改过来了。到苏联后又学会了开火车,在阿拉木图火车编组站内开火车,上个星期不小心把另一股道的一个火车皮给撞倒了,没有伤人也没有伤财,事故不大,可是火车站的KGB特派员一听说肇事者是中国人,马上怀疑是“中国特工搞破坏”,抓到KGB监狱给关起来了。我听了以后琢磨起来,想到可能是我把他牵连进来坐牢的,KGB的目的是趁他肇事之机,要他进来打探我坐牢后的打算的。我也真实地把我的案子介绍给他了。他告诉我:“我以前开运货卡车,到过乌兹别克和土尔克明尼亚的边境线,如果我带着你越境,一只香烟没有抽完便可以到达伊朗。”每次放风时,他都装着很仔细地观察周围环境的样子,还试着攀登水泥墙。几天后,他和我“商量”了:“看看清楚了,放风时我们可以逃出去。半夜里我们悄悄把被单撕成一条条,再搓成绳子带在身上,放风时我先爬到岗楼上打倒哨兵,用绳子拉你上来,再把绳子系在岗楼上,一下就到了对面的屋顶,再跳到大街上,一下子跑掉了。”我回答说:“老刘你真勇敢。今天晚上我帮你搓绳子,明天放风时你一个人逃,我想法引开看守掩护你。”他听了也自知自己的话无理而滑稽,也哈哈大笑了。他的这个主意不知出自何人,是他的智商太低还是他的KGB上司智商低?他喜欢说话,大吹他解放前开汽车时如何如何逛妓院。在喀什、和田嫖维族女人。说在大街上如果看到一个年青的维吾族女郎撵过你在你前面走,你就紧跟着她。走到某家房门前,她会回过头来揭开蒙在脸上的盖头对你一笑,你看准了跟着她进门,百无一失,保证成功。他非常怀念那段在新疆的自由生活。当时他也想到上海去当海军,又打算去美国,解放军进疆太快了,都没有成功。每天他都要我给他讲中国故事,一听几个小时不厌倦,当我讲“薛平贵回窰”时,他还感动得哭了,说:“中国的故事真动人,百听不厌。苏联没有好故事,尽是金鱼松鼠说话,熊和人打架。”又说:“中国人真聪明,我们火车编组站招火车司机。一个1962年逃过来的中国人去应试,他从来没有上过火车头,只看我开了一会儿,试车时便把火车开走了,考中了。”他也很了解KGB和它在新疆的活动。告诉我新疆那些大官,像包尔汗、赛福鼎、伊敏诺夫,还有共产党和盛世才合作时,在新疆当过县长的李大钊儿子李葆华都是苏联派到中国去的,都是老KGB。我随即联想起了“文革”喧极一时的孙维世事件。孙维世是中共元老孙炳文的女儿,被周思来认做干女儿的,她从小被中共送到苏联教养,毛泽东第一次访苏时是毛的翻译。不知道为什么她回国后没有到中共中央机要部门或外交部去任职,而到了中国青年艺术剧院当导演,还嫁给了比他大许多岁的电影演员金山。“文革”中,江青把孙维世当作苏联特务给整死了,看来不是没有缘由的。刘和我关在一间囚室后不久就被释放了,几天后就收到他给我送来的食品。临分手时,他还和我说了几句话:“兄弟,看来我要出去了,你有什么话带到外面,可以先告诉我。”我说:“在阿拉木图我无亲无故,无话可带。”后来从对我的审问中我知道他没有说过我什么坏话,其实他是个心肠不坏的人。

先后和我同关在一间牢房的几个狱友,也值得一记:有一个年才十八岁的小青年,他说是保加利亚人,住在乡下,进城来玩,大街上和一群小流氓打架,给警窗察抓住了,一检查他的护照是保加利亚,就关到KGB的监狱里了。他说他父亲在二次大战时参加了反抗法西斯的地下抵抗斗争,战后全家来到苏联。我想他是在吹牛,战时保加利亚是希特勒德国的盟国,如果是反法西斯人士,该从苏联衣锦还乡,为保加利亚新统治者的季米特落夫(原共产国际总书记)重用了,怎么会放逐到苏联中亚来呢?也许他父亲就是亲德分子或者保加利亚自由派人士,才会流放到苏联来。因为二战后有不少苏联卫星国的自由派知识分子都被送到了苏联中亚和西伯利亚服劳役,中间还有从我国旅顺、大连抓来的。

1981年我患肾结石住院,同病房有个朝鲜老头,他不会说中国话,却能用中国字写文章。我们经常笔谈,他给我写了一篇他的经历:在日本殖民地时代,他在平壤上高中,所学的现代历史几乎都是中国史,对袁世凯、冯国璋、曹锟、吴佩孚、孙传芳、张作霖这些中国大军阀的事迹都熟悉。1945年苏军开进北朝鲜,金日成政权马上把他们上千个青年知识份子都抓起来了,用卡车装运到北边朝苏边界。下车后,士兵端着步枪押着他们向前走,不准回头,谁回头就便开枪打死谁,于是走到苏联来了。先在西伯利亚大森林里的集中营伐木头,释放后到中亚安了家。

狱友中还有一位俄罗斯族的大学生,在卡拉干达工学院上二年级,1971年秋收时下乡收麦子,和列宁格勒工学院的大学生一起干活。列宁格勒大学生中有地下民主运动小组,吸收他参加了,但没进行什么活动。一次刚从地里下班回到村子,马上被军警包围起来,所有参加民主运动小组的异议大学生全给抓起来,用直升飞机押到阿拉木图。他说许多青年学生都向往西方,对现实十分不满,认为苏维埃制度已经走到尽头,该进博物馆了。而苏维埃政权视异议人士为最大的危险,他的前途不是到西伯利亚极北的集中营长期监禁便是被送到疯人院。他告诉我,在苏联生活,什么都可以说,谁都可以骂,只要不写成文字;偷摸拐骗,什么坏事都可以干,只要不结成组织。这位大学生还有一项绝技,嘴里吸满气后两腮鼓起,用拳头敲腮帮子,会发出打鼓般的乒乓声。他天天表演,以博狱友们一笑。不过他的行动得不到别人的同情,除了我外,同囚的犯人和看守们都骂他“傻瓜”。

与我同过囚房的人除一个杀人犯和一个吸毒犯非常粗野、下流、蛮横外,别的几个人都相当文明,也有学问,同情我的身世。我的俄语虽然说得结结巴巴,也能和他们能说到一块。我还结交了两个好朋友,一个叫木拉特,北高加索车臣-印古什自治共和国的印古什人,大学毕业后,在阿拉木图一间印刷厂当工长,圆圆的脸,文质彬彬,才三十来岁却秃着头,样子很像个哲学家,对人很和气,从来没有说过一句粗话,和我在一间囚室关了一个多月,也没有见被提审过一次。他喜欢文学,一天到晚读书,每天都向我朗诵普希金和莱蒙托夫的诗,也要我用中文给他背诵俄罗斯著名诗人的作品。别的我都忘了,把还记得的两首给他朗诵了,一首是高尔基的《海燕》,一首是普希金的《墓志铭》:“这里埋葬着普希金,他和他年青的缪斯。他虽然没有做过什么善事,可实实在在是个好人。”他听后说中文音调抑扬顿挫,好听。他告诉我莱蒙托夫的小说《当代英雄》发生在他的故乡,他的族人里。这样一来,木拉特成了我意气相投的好朋友,我们把他家里送来的食品和立中兄弟给我的食品放在一起共享,还有计划地安排,使不致在下一次收到食品前断档。他向我说了北高索的历史和风俗民情。二次大战时斯大林对北高加索人民的大屠杀,我还是第一次从他的嘴里听到的。他还在我的俄文练习本上写了一首莱蒙托夫的诗,有几十行,说诗情也发生在他故乡,要我背下来。诗的意思我十分之一也不明白,但还是用了许多早晨花脑子硬是背下来了,能用俄语向他朗诵。但现在全忘在九霄云外了,只记得一段的中文意思是:“姑娘,我对你丧魂失魄,你却把我遗忘。我看到一个鞑靼青年在你面前跳舞,欢欣若狂,原来是你看上他了。“他说他的女朋友多得很,不时把自己的艳史向我津津乐道。他被关进KGB监狱的原因是一个荒唐的故事:他们工厂新来了一个犹太工程师,主动要和他交朋友,投他所好,休息日请他去餐厅吃饭、歌厅跳舞,介绍姑娘陪他玩。这年新年,犹太工程师找了一套三间房的公寓住宅,带来了三名俄罗斯姑娘和另一个工程师一起过新年,白天喝酒、跳舞、上电影院。晚上一对对男女分房间睡觉,每个晚上都交换伴侣,疯狂地胡混了三天三夜,他和犹太工和师的交情更深了。六月的某天,犹太工程师拿了个提包,请他去长途公共汽车站接一位朋友,说了朋友的长相特点和穿的什么衣服,也是犹太人,一眼便能认出,叫见面后把提包送给那个人。木拉特冒冒失失地接过提包代朋友接客了。可是到了长途站后,等着他的不是朋友的朋友,而是几名警察,警察把他抓进局子,打开提包检查,里面是一层层用纸包着的金砖,一称有两公斤。走私如此多的黄金,当时是可以判死刑的,木拉特真是万口莫辩。坐了四个月KGB大牢,他还不明白自己的犹太朋友到底是干什么的。

另一位好朋友叫华西里·伊万诺维奇,也就是瓦夏,五十多岁了,是乌克兰人,母亲是波兰人。瓦夏原来是当官的,虽然坐牢了,看守们仍然尊称他的父名。他是卫国战争的军官,复员后派到哈萨克斯坦不同城市机械厂当厂长,成年调来调去,最后调到江布尔州机械市场当经理。所谓机械市场,不是销售机器的市场,是集中接收管理和给所属本州的各个工厂调运、分配机器的单位,工厂和建筑公司接受所订机器后,货款也交给该单位,权很大,掌握的资金也多。他说他已经五十多岁了,快退休了,想给麾下的职工做点好事。他辖下的职工中有一百多人没有住房,1969年年底他扣下了一百多万卢布没有上交,用来为本单位盖了栋四层住宅楼。苏联是一切按照计划办事的,私自动用公款盖计划外的住宅楼,不问目的如何都是大罪。上司发现后把他当成大经济罪犯关进了KGB监狱,关了一年多,也不审,也不判。他在监狱里人缘挺好,典狱长和看守都尊敬他、优待他。他所受的优待计有两项,一是家里送的食品加倍,一是可以两天洗一次澡。我们同牢房的人也跟着他沾光了,吃他的东西,陪他洗加班澡。我和他关在一起的时间最长,有三个月。他说是他向典狱长请求把我和他关在一起的,因为他害怕吵闹,也不喜欢粗人,而我是一个文明而安静的中国人。瓦夏个子高大而肥胖,红得像抹了胶水的脸,唇边留着两撮小胡子,隔几天便请看守带他去理发室修剪,他说这是布琼尼元帅式的胡子,我说更像老鼠的触须。虽然他当了囚犯,但他的官长气质还是没有去掉,时常在囚房里踱着方步,教训保加利亚小青年如何应付审问,教训大学生不好好读书而去要求什么自由民主,也教给我要如何运用列宁有关放弃沙皇在中国的一切权益的话去应对审问。有时一边踱步一边大声叫嚷:“莫斯科的党中央说他们为人民谋利益,勃列日涅夫说他的全部工作都是为人民的,我是真正为人民了,盖房子给人民住,为什么把我关起来?既不审也不判!”在监狱里,每天给犯人送苏共中央的机关报《真理报》。如果报上有不能叫犯人知道的消息和文章,则剪掉了。瓦夏每接到报纸后即对我说:“我们苏联的真理只写在这份报纸的报头上。”1971年冬天正是孟加拉独立战争的时候,瓦夏收到一张印有孟加拉民族运动领袖拉赫曼头像的报纸向看守大声说:“拉赫曼为孟加拉人民坐牢了,我们报纸说他是英雄;我也是为人民坐牢的,你们却说我是罪犯,这是为什么?”在此次印巴战争和孟加拉独立运动时期,苏联是开动了全部宣传机器支持印度和拉赫曼的,也开动了全部的宣传机器辱骂巴基斯坦和中国,说中国是巴基斯独裁者叶海亚牙·汗的唯一盟友,给叶海亚运去大量武器以屠杀孟加拉老百姓。在一次审问我时,预审官给了我一本苏联印的画报看,指着印着倒毙在孟加拉首都达卡大街上妇女尸体的照片对我说:“雷,这些女人是巴基斯坦军队用你们中国的枪打死的,为什么中国要帮助叶海亚?”同时瓦夏还悄悄告诉我他从看守那里得到的消息:苏联中亚军区戒严进入战争状态了。苏联在塔吉克斯担派了重兵,只要看到中国部队在帕米尔高原出现,立刻开枪消灭。孟加拉独立是民族解放运动,拉赫曼政权一边倒向苏联和印度,我心里十分反感,觉得苏联和印度合伙是做不出好事来的。以后在流放地听外国广播,知道孟加拉发生了军事政变,新政府上台后不亲苏也不亲印,我心里很高兴了一阵子。话说到底,孟加拉从巴基斯坦分裂出去独立建国以后,给老百姓带来了好处吗?老百姓的日子比以前一天不如一天,印度也处处欺负这个无还手之力的邻邦。瓦夏的父母分别为乌克兰和波兰两族,因此同情波兰的自由运动和乌克兰的独立运动,却又为苏联的强大而骄傲,说俄罗斯人是强有力的民族,谁也别想打败俄罗斯,外国军队一进来俄罗斯严寒的天气就把它打败了。他的这种矛盾心态是当时许多非俄罗斯苏联公民共有的。他告诉我:“斯拉夫人中波兰的文明程度比小俄罗斯人高(小俄罗斯指乌克兰和白俄罗斯),小俄罗斯人的文明又高于大俄罗斯。”一次他读乌克兰诗人舍甫琴柯的诗集,他指着书说:“他们在撒谎,舎甫琴柯是乌克兰独立派人士,不是什么俄罗斯的爱国民族诗人。”在我接触到的苏联人中,他是极少数表态拥护赫鲁晓夫而仇恨斯大林的人。他说斯大林是个屠手,常常叹息:“斯大林是个格鲁吉亚皮鞋匠的儿子,俄语都说不好,却统治了俄罗斯二十几年,把我们乌克兰人三分之一给杀掉了。赫鲁晓夫是真正爱老百姓的,他要改革斯大林的暴政,要发展利于改善老百姓生活的轻工业,克林姆林宫的党中央才不喜欢他,把他推翻了。”他也记了一肚皮的政治笑话。关在监狱里,时间很多,不管白天黑夜,都可用来说话,瓦夏给我讲的政治笑话如果都记录起来,能够编成一本小册子,而且他还是敢于讲笑话骂斯大林的人。以下是我记下来的几首:

关于斯大林

1944年大反攻时,最高统帅斯大林和参谋长朱可夫在大本营对着地图指挥战争。斯大林问:“我们的军队现在应该指向何方?”朱可夫答:“当然是西方。”又说:“我们的军队向西方挺进,把欧洲的资本家都扔进大海去。”斯大林不同意,朱可夫生气,走到走廊上大骂“猪猡”。斯大林听到了把他叫回办公室问他:“你在骂谁?元帅同志!”朱可夫回答:“大元帅同志,我当然在骂希特勒。”

斯大林和英国首相邱吉尔坐在一架飞机上,忽然看到一个鬼用锯子锯飞机翅膀,两人大为吃惊,邱吉尔求鬼说:“快停下来,我给你别墅、商店,叫你回去当百万富翁。”鬼不听,继续锯。邱吉尔又急着请求:“快停下来,我让位给你,叫你当大英帝国的首相。”鬼还是不听。邱吉尔急着问斯大林怎么办?斯大林对鬼说:“鬼同志,你锯得非常好,我要吸收你当我们集体农庄庄员。”鬼听了害怕了,马上扔掉锯子,逃得无影无踪。

关于勃列日涅夫

在共产党代表大会上,苏共总书记勃列日涅夫问代表们:“1980年以后我们就没有肉类供应了,同志们,怎么办?”全场默然。忽然一位代表站起来回答:“我们用一天工作十小时来解决,总书记同志!”勃列日涅夫又问:“到1981年后我们就没有牛奶供应了,同志们,怎么办?”又是全场默然。过了一会儿还是那个代表回答:“我们用一天工作十二个小时来解决,总书记同志!”勃列日涅夫再问:“到了1982年后我们就没有面包供应了,同志们怎么办?”还是同一位代表大声回答:“用一昼夜工作二十四小时来解决,尊敬的总书记同志!”听了这位代表的话,勃列日涅夫感动的流出了眼泪,他想了想又说:“同志,谢谢您对党的支持,我党找到了解决困难的办法。但是我们全民一昼夜干二十四小时的话,又到哪里找到那么多的活干呢?”“这很好办,到火葬场去工作,尊敬的总书记同志!”那位代表回答。

印度总理莫迪拉·甘地夫人访问苏联,勃列日涅夫在红场上致欢迎词:“您好,尊敬的梅厄夫人(其时的的以色列总理)!”秘书小声对他说:“总书记同志,你说错了,我们欢迎的英迪拉·甘地夫人而不是梅厄夫人。”勃列日涅夫听了回答:“是呀,我也知道我们欢迎的是英迪拉·甘地夫人而不是梅厄夫人,可是你们给我打印的欢迎词稿子上印的是梅厄夫人。”

苏联发行了印有勃列日涅夫头像的邮票之后,邮局职员纷纷向上司诉苦:信封上的邮票都没有贴牢,经KGB特工调查,原来寄信者把口水都吐到了邮票正面而不是涂到反面。

关于苏联共产主义制度

共产主义像地平线,你越向他走去,它离你越远。共产主义还有钞票没有?教条主义者回答:没有!修正主义者回答:有!马克思列宁主义者回答:有的人有,有的人没有。

共产党和资本家有什么区别?

资本家关心的是金钱,共产党关心的是人民;资本家把金钱锁起来,共产党把人民关起来;资本家认为钱多了地位就高了,共产党认为有了地位就有了钱。

一个苏联人和一个美国人一起闲谈,美国人吹牛皮:“我有三辆小汽车,开福特上班,开卡吉拉做客,开伏里瓦到欧洲旅行。”苏联人听了笑着说:“那有什么了不起,我上班坐有轨电车,下班坐地下火车……”苏联人话还没有完,美国人忙问:“那到欧洲旅行你坐什么车呢?”“坐坦克!”苏联人回答道。

前面提到的那位大学生也给我讲了一个十分有趣的笑话,记在下面:

在大学讲堂上,政治经济学教授给大学生讲“什么是社会主义阵营的经济一体化”,讲的冗长而含混不清,大学生请他举例说明,教授同意了。教授说:“保加利亚把陶泥出口给我们,我们制成泥哨后出口到蒙古,蒙古的牧民吹着哨子指挥牧畜。而他们的羊呢?”“出口给我们”大学生争着回答。教授说:“不对,出口给东德,东德用羊肉制成美味的罐头”“出口给我们”,大学生又抢着回答。教授说:“不对,出口到西方,换成外汇。再把羊毛出口到捷克,捷克人把羊毛做成漂亮的服装,出口……。”“给我们,”大学生答。教授说“不对,服装出口到西方,换成外汇。东德再把羊皮出口到匈牙利,匈牙利制成漂亮的皮革,出口……。”“给苏联。”大学生又异口同声说。“不对,出口到西方,换成外汇。”“那我们苏联得到什么呢?”大学生奇怪的问。教授回答:“我们得到外汇,美元,或马克,因为我们向东德,捷克,匈牙利和保加利亚出口武器:飞机、大炮、坦克。”

看来,瓦夏对在苏联坐牢,蹲集中营都有经验,他每天把吃剩下的面包请送牢饭的俄罗斯大嫂切成小块,用油炒成面包干保存起来,又把剩下的烟头烟丝留下,和发的莫合烟混合保存起来,叫我也和他一样做。他说:“得准备,走西伯利亚,到那边的集中营,要挨饿,也没有烟抽。”他在这个监狱关了一年多,看守都混熟了,常常在送饭洞口说些悄悄话,知道很多狱外的消息。坐牢后,每隔半小时便能听到轰隆隆的机器响,为什么?我问别人谁也不知道。问瓦夏,他先告诉我:“KGB监狱里的囚犯都是外国人和苏联自己的重刑犯,有等级。监狱有三层,地面一层,地下两层,我们是关在地面一层的。地下两层缺少空气,所以,每半小时要开一次通风机,给死刑犯送空气,机器响声是通风机的声音。”他说关死囚牢房里的人有一些是中国人,中国人逃来苏联后,如果KGB认定他的身份是间谍,便一律处死。犯人在受刑前,看守把他们带到澡堂洗澡,换上干净衣服,到理发室理发,刮脸,用布蒙上眼睛,会有两个彪形大汉从暗室里走出来,用绳子把他勒死。听瓦夏讲起来,真毛骨耸然。

瓦夏长期经营机械市场,对苏联工厂的设备水平相当了解。他说苏联民用工厂的设备都技术落后,哈萨克斯坦要好一点,西伯利亚劳改营工厂的设备有的还是“十月革命”时代的。而苏联军火工厂的设备都是世界最先进的,军工厂淘汰的机器比民用工厂的还要进步好几代。几年前上司命令他到莫斯科接受一批军工厂淘汰了的车床。他到了莫斯科,部里命令他去马雅可夫斯基广场接收机器,他听着奇怪极了,玛雅可夫斯基广场哪里来的车床呢?到约定时间他站到玛雅可夫斯基铜像下,有两个人早就等着了,带他上了小汽车。车子开出莫斯科城区进入大森林,带他的年青人用黑布蒙上他的两眼,车子走了好久才停下来,下车了也没有解掉蒙眼布。两个人扶着他进入一间房子坐下,才揭去黑布,已经来到厂长办公室了。厂长还是个将军,告诉他三台车床已经装上了集装箱卡车,要他亲自把车押运到阿拉木图,对别人决不能说出车床是从什么地方来的,说完,在办公桌上的卡片盒里拿出一张卡片交给他,叫陪来者陪他到军工厂食堂里吃饭。瓦夏说他从来没有吃过那样高级的席,桌子上摆的全是商店买不到的食品,真正的黑鱼子酱,西方进口的鱼罐头,中国来的火腿罐头,还有可口可乐和真正的正牌伏尔加酒。

典狱长是个俄罗斯少校,副典狱长是个哈萨克上尉,每个月都要传问我一次,问有没有人欺负我,如果有,他们会惩罚或者给我换囚房。哈萨克斯坦加盟共和国的副检察长是个大高个,大肚子的俄罗斯人,他也光临牢房视察了一次,看见我在学俄语,对我说:“我们的外国人劳改营有俄语学习班,如果你到那里服刑,学俄语的条件也很好。”瓦夏告诉过我,在苏联的各种监狱中,KGB监狱是最文明的,不打骂犯人,没有刑讯逼供,别的执法机构都是一片黑暗,没有钱会轻罪重罚,给了钱,杀人犯都会买到无罪释放,是狱霸的天下,没有钱财给他们进贡,天天都会挨打受罪。为什么这样?因为KGB监狱的犯人都是外国人、犯罪的官员或异议分子,不知道哪一天这些人又会翻身出头,所以监狱的狱头狱卒们不敢对他们胡来。牢房走廊尽头是一间宽大的看守休息室,里面有电视机,一些受优待的犯人常被叫去看电视,瓦夏是其中之一。那时世界上发生的一些大事,像印巴战争,尼克松访华,苏联军舰开到孟加拉国吉大港扫雷,智利的马克思主义者总统阿连德掌政,美国的芝加哥修建了比纽约帝国大厦还要高的大楼,还有美元贬值等诸般消息,瓦夏看过电视新闻后都会告诉我。他还说我们这层牢房里住着一个服刑的德国姑娘,叫爱玛,是个大美人,专洗办公室和走廊地板,每个看守都勾搭她,调笑她。在囚房里,我也不时听到看守们“爱玛,亲爱的”的调笑声和“不要这样,不要,不要”的女人哭喊声。瓦夏说还有几个中国人和他一起看过电视。后来我知道被关的中国人中有几个暗探,而且几乎是职业的。他们是KGB的狗腿子,伪装成囚犯和中国人关在一起,侦探自己同胞的消息。我认识一个住在阿拉木图的叫邵谓敏的苏州人,当过鞋匠,后来又先后移居卡拉干达、阿斯塔拉和塔什干等中国人集中的大中城市。1988年他回苏州探亲,给被他侦探过并出卖过的人发现了,告到安全局,安全局把他关了起来。他的俄罗斯妻子在政府大门前大哭大叫,安全局才放了他。姓邵的就再也不敢回中国了,日子过得非常穷,塔什干的中国老乡谁都不愿帮他的忙。1974年我从柯吉达夫流放地坐火车去阿拉木图,在通车厢里碰到一个中国人,交谈之下,他说:“和你在一个农场住的是不是有个姓麻的中国人?他可不是东西。我刚来苏联坐牢时,麻也装成新越界的中国人和我关在一间牢房里,晚上他写我的汇报材料时给我发现了。如果再见到他,我要揍他一顿。”

1972年的元月份和二月份,一直下着大雪,每天从牢房狭窄的窗户向外望去,都是大雪纷飞。在雪下得特别大和特别冷的时候,也不放风了,因为没有给囚犯发棉衣。有时好不容易放风了,我在空中接几片雪花尝尝,在新雪覆盖的地面上踩几脚,听鞋底下发出的吱吱声,享受到了大自然给人世带来的乐趣。我日夜想念中国,阴霾的天空,冰封的大地,什么时候才有春化的一天呢?重重哀思,眼泪早流干了,剩下的只是血。小时候读《红楼梦》,很奇怪林黛玉为什么会有眼泪越来越少的感觉。这时候我知道了,眼泪不仅可以流少,还可以流干的。在这个寒冬,我用血和泪写了两本书稿,中篇小说《哀思》和纪实报告文学《新疆的流民问题》,可以算作我国第一批伤痕文学了。虽然没有机会出版。这里,我把《哀思》的男主人公向他离去的妻子说的最后几句话录在下面:

“园子!我不会埋怨你,更不会恨你,虽然我永远失去了你。在我们这个不幸的国家,一个弱女子,如果没有勇气结束自己的生命,会更没有力量去承担那些苦难,比死亡还要严酷的苦难。

“园子,把我们过去的一切都忘掉吧。在今日中国,遗忘是唯一的灵丹妙药。你忘掉了,总会有人,不是我们这一代便是下一代,来重提我们曾忍受过的一切的。

“园子,我要活下去,你要活下去,妈妈也要活下去,在最大的不幸和苦难中我们都要活下去。英国诗人雪莱写过:冬天来了,春天还会晚吗?”

– See more at: http://blog.creaders.net/u/5661/201509/234075.html#sthash.HaXMbTFX.dpuf

《新疆的流民问题》是我在牢房里写的一本小册子。

严寒的冬天在苦难的中国大地上是延续得太长了。自从1958年以来,流民,也即官方称之的“盲流”(指向城市,向边疆地区盲目流动的中国公民)是中国各大城市的最大人文景观。他肇始于“大跃进”,兴盛于三年大饥荒,到了“文革”时更是逃难者漫天飞,完全无法收拾了。盲流全是执政党的荒政造成的。记得1961年秋我从北大毕业后远戍新疆,从郑州转火车西行,车厢里挤满了盲流,站的地方都没有,座位下,行李架上躺的都是人,我从郑州站到西安才找到个座位坐下来。到了新疆,更是“盲流”的天下,分配我到伊犁哈萨克自治州离中苏边界只有七公里的霍城县城的霍城第一中学教书,我们的大部分学生都是“盲流”的孩子,也有的是河南,安徽,四川各省孤身漂流几千里来新疆投亲靠友的小“盲流”。“文革”中把我押送到伊宁市附近的南台子煤矿挖煤和天山下的大东沟修水渠,和我一起干活的矿工和农民大部分也是。他们中间真是三教九流,无奇不有,当过官的,在朝鲜打过仗的,从北平辅仁大学毕业的天主教传教士,甚至还有参加红军长征后流落在甘肃河西走廊的共产党西路军战士。有的人还是满腹经纶,行侠仗义闯天下的侠男侠女。在他们中我结交了好几位知心朋友,有的还救过我的命。仗义每多屠狗辈,负心多是上等人,所以我对“盲流”有极深沉的感情。1968年冬天,我躲藏在新疆大学我的学生处避难,一次在食堂吃饭时看到了副校长张东月,他的胳膊上戴着个白布大袖章,上面有毛笔写着“大叛徒”几个字。张东月是老共产党员,是新疆有名气的党内学者,他起始就是因研究“盲流”而获罪的。他著文考证1958年后中国的流民规模超过了我国历史上最混乱的“五胡乱华”民族大迁徙。见到张东月,我想起了他的研究,我也下了决心,只要能活下来,一定写一本关于“盲流”的书,为我的“盲流”朋友们说几句公道话。所以在安静的牢房里我奋笔疾书,十几天便把八万字的《新疆盲流问题》的文稿写成了。我依据1968年底新疆成立革命委员会时公布的全新疆人口数测算,进入新疆的“盲流”到那时为止有两百万人。两百万人,是一支开发新疆的百万雄师,是一垛保卫疆界的铁壁铜墙啊!但社会遗弃了他们,政府歧视他们,是荒政制造出来的一个新种姓,而他们却在为边疆的开发和安全出力,出汗,出血。在文稿的扉页上,我写下了如此的题词:“献给我在新疆流浪的朋友们,如果他们中间有人死去了,就作为对死者最真诚的怀念。”出狱时,这两篇文稿没有被KGB没收,而且我以前写的《动乱的四年》文稿(逃跑时丢失在集体宿舍,他们从我的住处搜到的)也有了下落。一次,翻译传我到预审室,对我说:“现在法庭要开庭审理你的案件了,我们还要帮助你,减轻你的刑。我们把你写的回忆中国文化大革命的文稿拿走了。你写一张条子,把稿子自愿捐献给我们,将对国际共产主义运动有利,我们会叫法院从轻发落你。”反正入了KGB之手,文稿是要不回来了,只好写条子“捐献”给了KGB。1976年我在塔拉斯市逛书店,看到了一本小书,俄文书名就叫《动乱的四年》,作者署的却是哈萨克人,书前介绍“他”是新疆大学学生,是“文革”时逃到苏联来的,显然是剽窃了我的著作的内容,用化名或他人的名字发表了。出于对KGB和苏联的反感,我也没有去读它。

二月下旬和三月初,狱警几次把我带到另一间办公室叫我校对口供,厚厚的一大册,大概不下五百页,里面也夹着我自己用中文写的供词。有一个女翻译看着我,我读不懂的俄文可以问她。看来她也是新疆来的混血女人,三十多岁,汉话和维吾尔话都说得流利,人也长得漂亮。同时,也把阿拉木图市检察院对我和刘万瑜非法侵犯苏联国界的起诉书的中俄文本给了我,现在还保存着。

我读起诉书的中文本,请瓦夏帮忙仔细研究俄文本,他得出的结论是案情不重,不会让我继续坐牢或进劳改营,最多判个监外执行,叫我不必害怕。对牛水的叛徒行径,他也咬牙切齿,说世界上最卑鄙的人就是出卖同志和朋友的人。1972年3月6日上午,KGB的两个士官把我押到了阿拉木图市人民法院受审,下午回到牢房,瓦夏不见了。打开床头柜,看到一包点心和一包烟丝,是瓦夏留给我的。瓦夏知道我会比他先出狱,在我学俄文的笔记本上写下了他在阿拉木图的外室地址。他的情妇叫杜霞,请我出狱后去看望她一次。五月份我去看望了杜霞,是个四十来岁长得清秀的俄罗斯女人。她悲伤地说:“瓦夏再也过不上人的生活了。”瓦夏的家在我现在居住的塔拉斯市,二十多年来,我一直很注意能在街上见到他,却失望了。如果他活着的话,已经快九十高龄了。世事沧桑,他的祖国乌克兰独立了,他母亲的祖国波兰也得到了自由,不知他活到这一天没有?如果他去世了,愿他的灵魂在天国里得到安息。

起诉书不长,所有繁枝末节都删除了,除了牛水,没有牵涉任何别人。其中有两段文字提到牛水,转录到下面:

“1971年4月份,牛水向哈萨克斯坦加盟共和国部长会议主席团直属国家安全委员会报告:请你们安排好雷光汉和刘万瑜的生活,否则出了问题我不负责任。”

“1971年7月20日,牛水向哈萨克斯坦加盟共和国部长会议主席团直属国家安全委员会所属基米尔道乌市安全局报告:雷光汉和刘万瑜要在1971年7月21日从阿拉木图市坐火车通过阿山哈巴德偷越苏伊边界,出逃伊朗。”

我知道此次监狱之灾快结束了,下面等着的是劳改营或流放地,管他呢!虽然瓦夏说我不会被判进劳改营,顶多是个监外执行,我还是不抱幻想。我拿着发还的一套西服,一件干净衬衣和一条立中兄送给我的金线织的领带,说要在上法庭时穿戴,老尉官笑着同意了,说到时候自会给我送来。在这些天,办理我们案子的检查官和KGB指定的辩护律师还和我见了面,问了几个简单的问题。检察官的黑色领章上有一道杠,四颗星,不知是什么阶级。监友华西里·伊万诺维奇叫我要准备自我辩护,不能靠律师。我日夜用功,用俄文写了辩护词,提出了几点理由,请求法院从轻量刑:第一,我们出逃的全部计划,准备和行动只在牛水,刘万瑜和我三人之间进行,没有任何第四者知道,没有在苏联社会上起到过任何不良影响。第二,我们不是间谍,出逃没有间谍因素。第三,我没有任何反苏行动,在请求在苏联生活时就表明了自己决不在中国之外任何地方参加任何政治活动的意愿,所以出逃没有反苏因素。而且我是个蚂蚁般的中国小民,也无力反对苏联。和上次俄文翻译出逃声明不同,这时我已初步掌握了俄语文法,不用拿单词硬凑了。没有字典好多单词不知道,好在和华西里·伊万诺维奇关在一起,他是个好的俄文老师,认真地给我修改了,既没有文法错误,还文雅而有说服力。之后,我清早起床后的第一件事就是把辩护词一段段硬背下来,华老师则在一边作音调上的指正。辩护词全背下来了,又请看守带我去理发室理了发刮了胡子。

3月6日上午十点,看守通知我准备出庭受审,先带我到办公室,换上西装革履,打上了领带,之后押着我坐进了座位四周都是铁丝网的小囚车,上法院受审了。车开到一栋不高的楼房前,下车认出了玻璃牌上的俄文字“阿拉木图市人民法院”,上到二楼,在法庭外面的走廊上看到了刘立中,已经在那里等着了。他用俄语说了一声“好汉子”,我们都哽咽了。苏联一般刑事审判里允许家属旁听,立中兄要求以家属的身份出庭,被法院准许了。走进法院,见到立中兄和几位俄罗斯妇女坐在一起,后来知道这些旁听者是法警随便从大街的行人中叫来的。立中兄以后告诉我,旁听的妇人问他“审什么案子?”他回答:“政治案子。”几个女人听了大吃一惊,瞠目结舌。因为在当时的苏联,政治案是比杀人案还要可怕的案件。法警把我带到被告席上坐下,一会儿刘万瑜也被带进来了,看上去情况还不错,只是清瘦了许多,脸苍白了许多。他还是穿着囚犯服,萎靡不整,不能和我的神采风发相比,我怨他太土气了,太窝囊了。一会儿开庭了,全体起立,法官和检察官进了庭。法官是位俄罗斯中年女人,穿着黑色女西服套装,她两边坐的陪审员也是女人。检察官还是找我谈过话的那位俄罗斯男人。法官宣布开庭后,介绍检查官是阿拉木图检查院的三级检查官,由他宣读起诉书。起诉书很长,起诉了我们计划出逃,被捕的全部过程,和牛水的揭发。说我们偷越苏伊边境,破坏了苏联边界的神圣不可侵犯,按照苏联刑法,要判处三年有期徒刑,“鉴于雷光汉写了《动乱的四年》书稿,揭发了毛泽东发动的中国文化大革命的罪行,有利于国际共产主义运动,请法官考虑从轻判罪。”接着,法官对我们说有问题就提出来,我站起来背了我准备好的俄文辩护词,从法官和检察官几个人的眼色中我发现,很多部分他们都没有听懂,因为我的俄文是甲级洋泾滨。刘万瑜听了起诉书一下子着急了,因为里面没有提到要对他从轻判刑,站起来卷起衣袖,把他身上的伤痕亮给法官看,说是在中国监狱里受苦刑留下的,要求苏联法官可怜他,也从轻判处。我听了十分不是滋味,红着脸低下头来不敢看别人的表情,好汉做事好汉当,中国人留给你的伤,为什么要拿来乞求外国人。在长期的流亡生活中,我最痛恨的是中国流亡者中的软骨头。之后,是律师辩护,律师说了不到5分钟就夹起皮包退庭了。辩护词说,既然刘万瑜和雷光汉是一起出逃的,对雷光汉从轻处理,刘万瑜也应享有同等权利,那位混血翻译把内容都正确地翻译出来了。然后休庭,审判官和预审官去了另外的房间商量。10分钟后,出庭宣判:“由于非法越境,破坏苏联边界罪,判处雷光汉和刘万瑜有条件的自由两年。”我听了“有条件的自由”一词,感到很新鲜,其实就是监督劳动,也就是相当于中国的“地富反坏右”五类分子所受的对待,但听起来比“监督劳动”顺耳一些。在法庭上没有当庭宣布我们服两年“有条件自由”刑期的地方。法官随即宣布全部审判结束,我以为就可以出来不回监狱了,不料KGB的狱警又把我带回原来的囚室里锁起来,囚室里只我一个人了。

一个人坐在牢房里,想起这一年多的戏剧性经历,冒死出逃,一心要回到中国人的地方去,半年准备换来七个多月的牢狱之灾,现在又不知要给流放到什么地方去,“享受”那“有条件的自由”了,思潮起伏,但已经没有澎湃了。该来的都来了,即将要来的也逃不掉,管他娘的,先安安静静睡个大觉吧。整个晚上没有看守来叫我,第二天早上8点看守也没有敲我囚室门叫我起床,直睡到10点才起床上厕所梳洗,也吃不进饮食。我想,出去以后一定要想法和立中兄先见一面。7日上午11点钟,狱警打开囚室门,提来了我的皮箱,笑着对我说:“祝贺你,你现在自由了。”把我带到楼上一间办公室,有几位特工官员早等着了,混血翻译却不在,他们也说了些祝贺我重获自由之类的话。接着刘万瑜也来了,他的囚服换掉了,一名翻译把我们两个人送到阿拉道乌旅社住了下来,交待我们白天可以自由在街上走走,晚上一定要回来睡觉。明天上午一定要等着他们。

翻译走后,我们立即步行到立中兄家里去了。关了7个多月,走到大街上,觉得天空的太阳和街上的积雪是那样刺眼,走起路来也是磕磕碰碰,一脚高一脚低地。进了立中兄的门,他和徐英斌,马振兴早等着我们了,还准备了丰盛的酒菜。我们和他拥抱着,都流着眼泪。立中兄告诉我,自从我们关到阿拉木图后,KGB就一次次找他,从他口里收集我们的旁证材料,他一下就觉察出,我们陷入到早就安排好的圈套中了,是牛水设下的圈套,或者他和KGB一起设下的圈套。他说:“我对KGB的特工说了,两头湖南骡子给一匹青海马(牛水的护照上写的籍贯是青海省)踢到了。”他又交给我一个牛水留下的条子:“刘立中可以告诉你们,我为你们恢复自由出了多么大的力,等了你们一天一晚,再没时间等,只好走了。”我们一边吃饭一边说话,一边流泪。立中兄的感情比我还冲动,哭的次数比我还多,晚上和他分别,他反复叮嘱我们,去的地方会更艰苦,要小心,既要保持身体健康,也要再不上当受骗。他年轻时在四川生活过,接触过江湖帮派,他握着我的手说:“江湖风波险恶,你是从知识分子堆里出来的,没有接触过下流的人,你要多小心,保重自己。”

流放地一瞥 世界最浪费的农业

出狱后第二天,1972年3月8日,国际妇女节,是苏联人最重视的节日之一,全民放假。上午10点,一个KGB的哈萨克中尉来到旅社把我们用吉普车拉到了飞机场,押着我们坐上飞机向流放地出发了。飞机是向北飞行的,往窗下看,只见到白茫茫的雪原。飞了三个多小时后降落了,走出飞机场,看到写着柯吉达夫的大玻璃牌,我知道把我们送到柯吉达夫了。柯吉达夫是北哈萨克斯坦严寒之地的一个小州,本是西伯利亚大草原的一部分,在大草原南端,“十月革命”前管理这里的是设在鄂木斯克的沙俄西伯利亚总督。

有吉普车在飞机场外接,不过不是囚车了,先把我们带到柯吉达夫州KGB常设局,再到州警察局要我们填了表,只有姓名,国籍,何年来苏联,法院判决等简单几条。再带我们到食堂吃了只有一盘菜汤的简单饭菜,又坐着吉普车上路了。在柯吉达夫,KGB、警察局、区政府到流放地农场的管理机关,所有的官员,直到最高层的农场公安特派员,管理区主任和生产队长,几乎全是哈萨克人,好像是到了另外一个国家,和冰冻的大地一样整个社会都是严寒冷酷的。全世界的官员,大概要算此地的土著官员最是官风十足的了。他们一个个凸肚挺胸,官风凛凛,神圣不可侵犯,出口即是“圣旨”,下级和老百姓在他们面前只有低着头惟命是从。整个流放四年中,我没有从哈萨克官员的脸上看到过一丝笑容。当然他们的办事能力和他们的官风是成反比的。只要是土著人管事的,哪怕是银行出纳,村苏维埃户籍管理员,车间的工长,只要你找他,他就要尽可能充分地使用他自我扩大了的权力,训斥你,刁难你,勒索你,没办法了也找点麻烦,叫你不能痛快地把事一次办成。在整个流放的漫长期间,我只见到柯吉达夫州KGB管理局长,来到我流放的农场召开中国人座谈会,是带着笑容说话的。还有几次阿拉木图的特工米沙来农场找中国人,也露出了笑脸。到了柯吉达夫,我才算真正走进了苏联社会,也才真正体会到苏联反中国的措施是那样彻底,那样全面。吉普车行进在雪盖的公路上,四周所见,除了一片白色。再无别的颜色,中尉特工不断向开车的俄族司机吹嘘:“阿拉木图真漂亮,阿拉木图生活可美着呢,你也申请去阿拉木图工作吧。我们在KGB工作的领住宅方便,一领上房子就成常住民了。”他还是个大酒鬼,每逢车子经过市镇,就停下来到商店买酒,提着伏特加和红酒到车上来和司机分喝。司机开车是不能喝酒的,可他们一路上喝得不亦乐乎。我真害怕翻车,两百多公里的路行了大半天,直到晚上10点钟才把车开到柯吉达夫州瓦里汉诺夫区警察局停了下来。中尉特工醉醺醺地下车,连路都走不动了,进门就和一个俄族警察上士大吵了一架。原来警察局早就下班了,只有三个警士值班,他们不搭理他,话都不说,酒鬼中尉生气了,把我们两人交给值班警士后,迳自坐着吉普车走了。当晚,我们就睡在警察局接待室的乒乓球桌子上,室外零下十几度,我们冻得一晚也没睡着觉。第二天,区警察局长来了,通知我们要去的农场,译成中文叫“金色的田野”(以后我们就称它为“金田村”吧),在那里接受农场警察特派员的监管,只能在农场范围内活动,凡外出,即使上区中心,也要先获得批准,领通行证。大雪把通向各个农场的道路都封着了,我们等了一天,也饿了一天,到了下午才给我们一张条子,在食堂吃了一餐犯人午餐,半盘碗豆汤,两块黑面包。看来还要在警察局挨冻挨饿,没有办法。我知道在社会主义国家有事只有找共产党委员会才行,打听到警察局对面不远处就是区委会,我一个人去找到了区委第三书记,一个不到30岁的哈萨克人。他接见了我,见我是中国人,没有问我有什么问题要解决,却大大的吹嘘起苏维埃政权的优越性来。他说我们的农场都是富裕的,农民生活都有如富翁般,我们苏联已经解决了民族问题,举的例子是各民族人相互通婚,特别强调的还有俄罗斯男人娶哈萨克女人作妻子。能嫁个俄罗斯人,是土著民族引以自豪的。在前苏联时代,哈萨克民族处处表示着他们对苏联的忠诚,是真实的吗?到了90年代哈萨克斯坦易帜后,便把斯拉夫民族一脚踢开了。他源源不断地吹着牛,天都黑了,我才提醒他我找他的原因。他向农场打电话,知道农场总工程师从柯吉达夫要返回农场,农场要派车来接,就命令一名警察把我们带到区执行苏维埃(区政府)门前等车。到了晚上7点,我们上了总工程师的吉普车,前面是推土机铲雪开道,40公里路行了4个小时,快到晚上十二点了,才把我们送到农场招待所住了下来。第二天见到了场长,分配我们两人到农机修理车间当钳工,于是,流放生活正式开始了。

1972年3月10的到1975年10月15日,我一共在南西伯利亚草原的金田村生活了三年又7个月零5天,超额服完了我“有条件的自由2年”的流放刑,使我拥有了一段常人很难拥有的人生经历,也体验了苏联向全世界不断吹嘘的垦荒生活。

从西伯利亚乌拉尔山以南到哈萨克斯坦中部大城市拉干达一线,原来是一片蛮荒的草原,1953年斯大林死去时,时经“十月革命”胜利“已经36年了,大部分俄国人还饿着肚子。我在霍城工作时听到我国边界居民说,1949年以前边界那边的苏联人遇见中国人开口的第一句话总是“有面包没有?”当时边界中方一侧管理也不严,天天都有苏联居民跑过界来打工,只要求吃饱肚子,不要工钱。赫鲁晓夫执政后,为解决迫在眉睫的粮食问题,从1954年开始在南乌拉尔和北哈萨克斯坦的草原大规模垦荒,修了铁路,公路,电站,迁来了成百万的苏联欧洲部分白人移民,建立了上千个农场。垦荒地的指挥中心即策凌诺格拉市,译成中文是“荒地市”,哈萨克斯坦共和国独立后把首都迁到了那里,改称阿斯塔拉市,柯吉达夫州在它的西邻。金田村农场给人的第一印象是地域之大,实在是惊人:东西80公里,南北40公里,竟有3200平方公里之大,相当我国一个县的领域。而瓦里汉诺夫区就管辖着同等规模的6个农场。第二个印象是管理农场的官僚机构也大得惊人。这个农场男女老幼,分成场部,两个管理区和一个生产队四个部分。看看这些繁杂的机构和管理人员吧:场长,第一副场长(总经济计划师兼任)、第二副场长(内务总管,兼KGB专员)。下管5总:总经济计划师,总农艺师,总畜牧师,总兽医师,总会计师和人事科,每总属下都有从2个到10个不等的职员,把一栋二层楼分出来30多个办公室全坐满了。农场附属单位还有农机修配厂,农机管理仓库,运输队,电工队,建筑队,食堂和面包房,每个单位也有自己的站长,队长或经理,其下设有会计,记工员,技术员等专职干部。当然,共产党委员会和工会都是少不了的,不过苏联实行的是严格的一长制,经营单位的行政首长拥有绝对的经营管理权,党委会不像中国那样拥有最高权力,工作人员也少,设一书记管党员,一秘书收党费。不过,从区以上州、市到加盟共和国直至苏联中央,则是党委会大权独揽了。每个管理区也有自己的办公楼,有相应的管理人员,只是人数少些罢了。上述是经济部门,另外还有行政机关,乡苏维埃,设主席,秘书,户籍干事和警察特派员,还有十几个苏维埃代表。众多的首长们都配有小汽车或吉普车,不过除了场长有专职司机外,其他的小汽车都由“首长”自己开,没有资格坐小汽车的头头就把分给本单位的运货车当私人专车使用。一个千人的农场,直接从事生产的只有300多人。苏联非常重视政治宣传,深入到社会生活的每一个角落,大街上,走廊内,办公室到处是标语口号,“列宁和我们在一起!”“苏共代表大会在我们生活中!”等等。因之流传着相应的笑话:“疯人院的大墙上端掛着大标语“列宁和我们在一起。”居民在商店外排队买牛奶吵着叫着打骂着,一人见此景象高声念出了商店墙上的大标语“苏共代表大会在我们生活中!”单位都有一两个或更多的画师,专门画列宁像,写标语,政治广告和写各式各样的告示。农场的两个画师是我集体宿舍的邻居,都是俄罗斯人,大酒鬼,每天醉醺醺的,工资喝光了,就买几十戈比一瓶的刮脸用香水当替代品。这种香水是用来刮脸后消毒的,含有几乎一半的药用酒精。我常去看他们制造列宁像,简单得很。如果是画,就拿一块已刻成列宁像的木板,在空隙里涂上颜色就成。如果是铜板敲成的,就用一个生铁铸就的列宁头像,把金属皮搁在上面,拿榔头敲打一番,也便大功告成。

金田村的居民就像是生活在与世隔绝的部落中,他们的酋长便是场长,1000居民都是他最驯服的臣民。场长是一个40多岁的本地人,姓伊斯马依诺夫。他一家三口人,住着一套用铁丝网隔起来的有9个居室的宫殿里,除了他的亲戚和仆人外,任何人都不能越入雷池一步。从住宅到办公室不到200公尺,他也要坐小汽车上下班。居民见了他,除了我们中国人外,都脱帽鞠躬向他致敬,而他只有高兴时才略略点头,一般都是肃目昂头而去。场部职员请他批公文,都得先脱冠正衣,全身抖抖索索进到他的办公室。每逢开会,只听到他一个人用尽所有的脏话的叫骂声。下属所有大小头目他都换成了自己的兄弟,亲戚和同部落的人。我认识供销社的主任,原来开卡车,是场长的堂兄。场长上任后把原来的主任撵走,当他的司机。他要去州里开会,有时还是用直升机接送的。我在农机管理站干了3年活,没有见到圣驾巡视过下边一次。在秋收最紧张的时候,他却带着职员开着吉普车到牧场上去猎狼,因为上司规定,每交一头死狼可以得到50卢布的奖金。场部有澡堂,星期5和星期六开放,星期天则是场长一家三口和他漂亮的弟媳妇专用的。一个中国人在澡堂烧锅炉,每逢星期天,别人都休息了,他还得干活,为场长和他的亲属烧水。不仅要烧热水,还要把热水烧成蒸汽,让他们洗桑拿浴。居民们还说,伊斯马依诺夫是历任场长最好的一个,因为他不太克扣农民的工资。

绝对的专制造成绝对的贪污。老农工告诉我,官员们最大的贪污来源是奖金和奖品。苏联的计划经济是很注重物质刺激的。每年年底了,只要完成了粮食,肉类和羊毛的上交计划,就要发下巨额的奖金和提成,场长占大头,剩下部分由各级大小头目瓜分。农工得到的最高年终奖额是牧工每人100卢布,农工每人10卢布。年终还有大批奖品发下来,贵重的有小汽车,地毯,电视机,本来是奖给工作优秀者和苏德战争的参战老兵的,但都被他们瓜分了。另一大贪污源是私有畜群,从州到农场的各级官员们不时巡视牧场,随便指定几头母畜,交待牧工队长说:“这几头牲畜是我的,请你给我代牧。“于是被指定的马们,牛们和羊们子孙繁衍几年就是一大群,成了他们的私产,官员们又变成大畜牧主了。第三大贪污源是贪污基建费,老农工告诉我,农场装自来水管,年年领修建费,领了四,五年才把地下水管埋起来。农场建新办公楼,整整建了一个五年计划,花的卢布可以把建的楼房包起来。

绝对的专制又造成绝对的落后和浪费。到了垦荒区,我最深刻的感受是苏联用世界上最先进的农业机械经营着世界上最落后的农业产业。农业机械可真雄厚,巨型拖拉机一台有七百匹马力,拖着犁有百米长。各式拖拉机,收割机,打草机,装草机是用不完的,每年下发的机器有的还没装配就用电焊切割了当废铁上交,以完成国家废旧金属上交计划。奇怪的是没有中耕机和浇水机械。肥料和农药是用飞机洒的。牧场上到处建有保暖的冬季畜舍,牲畜饮水池,药物洗澡池,又奇怪的是没有人工草场,生产全机械化,再加上居世界之冠的广阔耕地和牧场,苏联应该是食品丰富的国家了吧,实际却是,都革命70年了,却从没有解决过吃饭的问题,成了老大难。

拥有三百多平方公里的农场,又绝对全是好地,没有沙漠和戈壁滩,遍布着大大小小的湖泊和小溪河。大约三分之一用作耕地,三分之一用作牧场,农田种小麦,青储玉米和土豆,牧场养马,牛,羊,耕地全是一眼看不到边的条田,草粮轮作,一年一换。我曾开过康拜因收麦子,早上8点从麦田的一头出发,晚上12点才开到另一头。种植业是只有两道手续:春天播种,秋天收割。种子种下后就不过问了,没有田间管理也不除草和灌溉。麦田里还好,杂草没有数量优势,长不过麦子,而土豆地里在挖土豆时则是在乱草堆里寻找土豆。撒农药和化肥用飞机洒,飞机飞到半空中风一吹,农药和化肥都吹到天外去了。苏联的农作物和牲畜的品种也是世界上最落后的,还不如当时的中国。秋天了,田野上是一望无际的乳黄色,要走到地边才知道长的是麦子,只有二,三十公分高,每个麦穗上只有十几粒干瘪的麦粒,按每亩产量计最多也就是十几二十公斤。哈萨克斯坦的羊毛纤维是世界上最短的,皮子质量也是下乘的。常到野外干活,没有见到过大肥羊,大奶头乳牛。自称是世界上最先进的国家,牧业规模却如此之小,三个牧工管一个畜群,羊群只数不超过一千,马群不超过一百。州农业局每年春天都要化验各农场农田和牧场的土地质量,根据土地等级规定产量计划。农艺师命令工人把本场最坏的土地挖出来当样品送上去,鉴定的产量计划不费力即能完成,还可以超额。苏联农业是最粗放的农业,也是最浪费的农业。劳动力太少,春播和秋收的工作主要由城市工人和大学生下乡帮忙。外来人当然更没有责任心,春播时脱播的地方一丢就是几十公尺。秋收时只看到所有的田间公路都是由小麦粒铺成的。谁家养有猪,需要饲料,只要拿着一瓶伏特加在路边举着,自有司机把整车的麦子给你送回家,一瓶酒换4吨小麦。偷的太厉害了,政府派警察看守路口,人们同样也有办法对付,在地边用挖土机挖个大坑,下面铺上麦草,再把一车车的麦子倒进土坑,堆满了,再盖上麦草垛,等地里收完后再拉走。即使到了仓库,堆在晒麦场上,晚上还是有人去“加班”,一口袋一口袋地往自家运。这种浪费还是小的呢,更叫人不可思议的是有如此奇怪的秋收:什么都是按照严格的计划办的,哪月哪日完成春播,哪月哪日秋收完毕都有硬性的日程表,到时候政府派飞机去检查。主管官员坐在飞机上观察地面,看地面上还长着庄稼没有。而完不成计划,农场头目就拿不到奖金,严重者还会被撤职,甚至坐班房。有时候,麦子到时收不完了,就派人把剩下的麦田一火烧光,反正稀稀拉拉的麦草,烧掉了也形不成成片的焦黑痕迹。农场种有大片玉米。赫鲁晓夫第一次访问美国,看到了美国人发玉米财了,回国后就拼命扩大苏联玉米种植面积,但北哈萨克斯坦气候严寒,只有不到4个月的无霜期,玉米完全无法成熟,只好在下雪前连杆带穗一起割下,再用切草机切成一小段段的,堆起来发酵后当青储饲料。1972年10月份,眼看大雪飞来了,一半玉米还没收完,场长召集他的五总开会紧急商量大事,其中一总发挥了哈萨克人的发明能力,就像他们发明了沙皇特工、该区的被命名者瓦里汉诺夫是大科学家一样,发明了木排打倒玉米收割法。叫工人把从鄂木斯克运来的大木头扎成一张张大木排,一张长达半公里,绑在巨型拖拉机后面,一台台K700轰隆隆地在玉米地里开过,所有的玉米杆全部被打倒在地。大雪一下,全部被雪掩盖。不到一天,就把十天半月也难以完成的玉米收割计划不折不扣的完成了。

农业既然如此,畜牧业没有两样的,畜牧专家们在研究室里制订了详尽而科学的饲养牲畜规程,规定在每平方公里的牧场上要均匀地撒下多少麦子和食盐,为牲畜增加营养。汽车队的司机在库房里领了规定的麦子和食盐,又懒得用吹风斗均匀地撒在地表上,一堆堆地卸了下来,羊们牛们马们一见麦子堆,盐堆就跑去拼命地吞食,一见食盐堆就跑去拼命的舔食,不少牛羊马给涨死了,又有不少牛羊马给咸渴死了。结果牧工们在牧场上一见麦堆,盐堆,就慌不及地赶着畜群逃走了。牧工们把牲畜赶到牧场上一吆喝,自己便找棵大树,把头包严(因为草原上蚊子太多)躺下来呼呼大睡,羊只走失了,狼吃了,到别的畜群里去偷来凑数。偷不上,就提瓶伏特加到畜牧师家里去,请他填张表,写上“狼灾”,签上名,万事大吉。每个畜群只要出现一只大肥羊,组长就会偷去卖掉或拉回家吃掉,再到畜牧师那里报个不慎丢失,由同组三人平均负担赔偿价款。

农业机械的浪费还要惊人。垦荒地劳动力十分缺乏,政府制定的法律规章还是保护工人权益的,工人把拖拉机开翻了,碰坏了,只要不死人,不伤人是不受处罚的。坏拖拉机便扔下,再领台新的。春耕和秋收时生产队在农田里设了许多营地,供农工吃饭,睡觉,机器加油,修理,种完和收完地回家,许多带不走的铁犁铁耙,汽车拖斗等等就扔在地里不管了,有的还是新新的拖拉机和康拜因。不管是坐火车还是坐汽车,在北哈萨克斯坦原野奔驰,入目而来,到处是废钢烂铁堆积的破烂堆,有些工厂里新设计制造出来的机械,如装牧草捆堆和码牧草捆的机器,挖土豆的机器,收割机上的一些新式传送链带,不好使唤,人们也不想找麻烦去使唤,运来了就堆在农机站广场上,让他们锈坏,再砸烂后当废铁交上去。金田村每年有300吨的废金属上交计划,由我们农机管理站负责完成。计划很容易完成,只要开上起重机和卡车跑两三个废弃的田野作业营地就完成了。有时头头们还懒得跑,命令电焊工把旧的,新的或完全新的农业机器切割成一块块交上去。1974年站长心血来潮,在停机场来了个大清扫,把所有的没有用过的机器叫我们全给拆开,超额完成了废金属上交计划,年底得到区农机站发下来的300卢布奖金,他全塞入自己的腰包。也发了点善心,买了一瓶伏特加分给站内6个工人喝了。上级要在农田里安输水管,运来了直径一米的不锈钢大管子,运来了又无人安装,全卸在公路边叫它给腐蚀掉。人们可以不爱惜机器,人为地破坏机器却侮辱“苏联造”。一个拖拉机手要辞职进城工作,场长不批准,他一气之下,把拖拉机开到大树下,用钢丝绳把拖拉机吊在了树上。厂长把他告到区法院,法院以“侮辱苏维埃机器罪“把他判刑3年,也不知道苏联刑法大典中订了这条没有。

用粗放而落后的方式垦荒,造成了巨大的生态破坏。北哈萨克斯坦绵延着一望无际的大草原,汽车奔驰几天也看不到一座山,湖泊非常多,还有我们中国没有存在过的平原原始生态,长的都是高大笔直的红松和桦木。从飞机上往下看,只见绿色的大草原上嵌着一个个碧蓝色的湖泊,大大小小串成一串串的碧玉长链,实在是风景如画。春天一来,遍野开着各种颜色的花,处处是一簇簇红柳组成的灌木丛,柳枝低垂,小河里流水潺潺。美中不足的是蚊子太多,从草原冰雪开冻到下雪,到处都是飞着的和停着的大蚊子,它们可以有本事咬死牲畜,也能咬死人。在畜粪堆边的绿头大苍蝇也不比蚊子少,人畜走近,粪堆树丛里,苍蝇和蚊子一哄而起,遮天蔽日,叫人胆战心惊。所有牧人在野外放牧,夏日炎炎下都得穿皮袄皮裤皮靴子,头用密的铁丝罩罩着,或用毛巾一层层包起来,只露鼻孔和眼睛。这片草原,是可望而不可涉足的,是可赏而不可亲近的。但是不管怎样,草原给人类提供了辽阔的牧场,湿润的空气,充沛的地表和地下淡水,但是不科学的垦荒却把有序的生态全给破坏了。在垦荒区,除了居民外,苏联人是不种树修渠的。成片的草原给拖拉机犁掉,沼泽地填掉,小山包堆掉,一片片的灌木丛用挖土机连根拔起,再付之一炬。而铁路边,公路两旁,一根树也不种,更不用说有新疆军垦农场那样纵横交错的田间林带了。夏天一到,冰雪融化,土地开冻,被开垦过的土地没有任何植被保护。大风一起,沙土飞扬,大白天也变成了昏天黑地。而北哈萨克斯坦是多风的平原地带,特别是8月份,常常刮黄风。黄风犹如火一般,一吹过去,草,树叶和庄稼都被烧焦。地表水又没有一个归流处,每当化雪季节或雨天,村里村外,到处是烂泥塘。土地有是粘性的,穿着长靴子到外面走一趟,鞋底上就沾上几公斤的泥巴。每栋房子的门前都竖着一个用铁条悍成的架子,用以刮掉靴底的泥巴。这里的居民,不管男女,不分冬夏都穿着长统皮靴,很少见到穿浅口皮鞋或运动鞋的,原因是风沙大,泥巴多。居民的卫生修养水平也是不可恭维,牲畜粪便,牛羊猪马骨头,烂土豆,炉灰渣到处都是。村子用垃圾筑成的高墙围成,材料是牛马羊粪,腐烂了的小麦和土豆。一年四季,臭气熏天,村庄和住宅是苍蝇的王国,房内房外都是爬满了绿头苍蝇,食堂里炊事员杆面条,上面给苍蝇爬满了,他也不伸手赶一下。只有我们几个中国人,在中国养成了“除四害”打苍蝇的习惯。我们用细铁丝网自制了苍蝇拍,下班回家后的第一件事把室内的苍蝇拍打干净,门上还挂有门帘,开门时不让苍蝇飞进来。

垦荒地上的农奴和中国逃亡者

(形形色色的中国人之四)

苏德战争期间和战后初期,苏联的粮荒极其严重,斯大林便开始在此时建农场,迁来一部分战区的居民,主要是妇女老人和儿童来垦荒,青壮年男人几乎没有。我认识一个伊犁来的维吾尔人。40年代初他只有16岁时便被苏联在中国的间谍发展成特工,专门打听中国的军事情报,1945年成为“三区民族军”的军官,1954年以“苏侨”的身份“回国”。他一过边界,苏联军官便没收了他的全部证件,他说:“我是在中国给苏联搞地下工作的。”军官一听马上卡着他的脖子说:“闭上你的嘴,你再说一句,我就掐死你。”随即就被流放到北边农场里来了。他一下车,一群年轻的俄罗斯女人围上来抱着他哭泣:“想不到在我们活着的时候还能看到一个年轻的男人。”北哈还有几个完全由德国人或完全由波兰人组成的农场。前者是由苏联日耳曼自治共和国解散后流放来的,后者是在德苏瓜分波兰后从苏占波兰区流放来的。德国人农场和波兰人农场有的是连在一起的。两个民族素质的高低有如泾渭分明:德国人勤劳,聪明,认真,会技术,把农场管理得井井有条,没有贪污,没有盗窃,农民的收入很高,居民村子都像花园一般,比城市还要漂亮,还要方便。而在波兰人的农场,贪污盗窃,一塌糊涂,农民的生活还不如别的苏联农场。金田村的波兰人和德国人的居民也不少,农机管理站的工人中就有两位:一个德国工人开小铲车,一个波兰工人管给汽车电瓶充电,波兰人还当过苏军上尉军官,参加过1945年初的美苏军队易北河会师。这两个人对我和刘万瑜都非常友好,特别是德国同事,当我们受人欺负,被人追打时,他和他的妻子就把我们叫到他家里去保护起来。

在1954年开始的赫鲁晓夫垦荒运动中开辟的农场居民是由下面几批人组成的:第一批来的是乌克兰,白俄罗斯和从苏联欧洲部分各城市被动员来垦荒的共青团员,基本上是姑娘们和复员的年青军人,配置的比例是一比一。到了70年代,他们中一部分离开了垦荒地,留下来的大都成了农场的大小头目,他们的子女也长大成人了,接着便是发配来的在战争中被德国人俘虏过的苏军战俘,或者在战争中有投降德军嫌疑的人、集中营中释放的前罪犯或者像我一样服流刑的准罪犯。60年代后,大批哈萨克放羊人迁来了。而这时哈萨克第一个由他们自己人担任的哈共中央第一书记古拉夫上台了,派来了大批哈族管理层人员。中苏分裂后,莫斯科继续从欧洲迁来了大批移民充实中亚。来到金田村的人多是白俄罗斯人,也有少数是苏联各加盟共和国有民族主义嫌疑的反俄分子,上述的战俘和有投敌嫌疑者,集中营的被释放者和服流刑者,都是苏联的“五类分子”,是被剥夺了人身自由权的农奴。他们没有公民证,也就没有选举权和被选举权,不能离开指定的农场迁居到外地,也只能从事最沉重的劳动,还有随时被投入到监狱的可能。农机管理站的看守就是一个60岁的前苏军上校,进过德国俘虏营的,他老眼昏花,想进城去配付眼镜都得不到批准。他的妻子是大学毕业后当过职员的,受丈夫株连发到食堂削土豆皮。农场的上任场长也是苏军高级军官,战争中有通敌嫌疑,战后发配来当场长,监管使用,干了几年,以后,又被KGB抓进监牢里去了。

在金田村的农奴群中有八十多名中国人,都是“文革”中逃苏的。“文革”前也就是1962年5、6月边民大外逃后,苏联关闭了边界,再逃来的中国人一般是不予收容的,或叫他自己偷偷返回,或抓住审查后再交还中国政府,一直到文革初期都是这样。后来中国当局把苏联送回的逃犯开公审会枪毙了,苏联才不再把逃过来的人送回去。据我的观察,KGB是按几种情况处理的:凡属受政治迫害的知识分子一律收留,不判刑,审查后即分配在城市工作,就像我曾经受到过的待遇一样。凡带家属或孩子逃过来的或者受到政治迫害的普通工人,农民,学生,在审查后安排在城市或农村,大部分在农村工作。凡一般因生活问题逃过来的或者在中国有刑事问题的红卫兵,群众组织的头头或成员,在审查后便会以“破坏苏联国界罪”送到国际劳改营服刑一至三年,再送到集中中国逃亡者的北方农场(如金田村)干活。新疆各少数民族人士逃过来的很多,可是他们对KGB的利用价值不大,大多数即使没判刑也是送到北方各集中农场劳动。凡有重大刑事问题或重大嫌疑者就送到西伯利亚克拉斯诺雅尔斯克州的一个集中营干活,受到重点监视。而许多逃过来的共产党官员,如果KGB对他们的怀疑较大,也是要送进国际劳改队服刑的。我认识一个老八路名杨涌,据他自称抗战时参加八路军,1954年第一次授衔时即是少校,一直当到南京部队保密局长,从东北越境到了苏联,也是被判了刑的。还有一个左比添,是新疆兵团农5师的干部科长,逃过来后也要服刑3年。对他们有特殊使用价值的年轻人则是一过界即与中国人隔绝,去接受专门的间谍训练。如果在中国是杀人犯,逃过来了,要送还中国的。我知道在当时苏联大地上有几个集中中国逃亡者的中心:如远东哈巴罗夫边区胜利区有一家林场,哈萨克斯坦柯吉达夫州的金田村,土耳格依州的一家农场,齐木肯特州的“日出”农场,江布尔州的哈巴也夫农场。从黑龙江省的北大荒,逃过来的大多是下放知识青年,比从新疆越境的还要多。这些资料来源于设在莫尔达夫斯卡亚的国际集中营,哪个中国人KGB看不顺眼了就蹲国际集中营。全苏各地的中国犯人都有,释放后便把中国人的信息带到苏联各个地方。

我正写到这里的时候——公元2000年6月19日,轰动全世界的英国多佛尔惨案发生了。58个中国大陆福建省的偷渡者在汽车集装箱里窒息而死。他们都是我的同胞。从收音机里听到这一消息,我欲哭无泪,深夜跑到院子里仰天长嚎,为什么中国人的命就这样苦,就这样不值钱?1949年大陆政权转移后发生了持续半个世纪,而且还看不到边的大批中国人向海外逃亡的大浪潮(包括向我国领土上仍实行资本主义制度的台湾、港澳地区的逃亡),其中还有几大波峰:第一次1949年前后,国民党军政人员和恐共人士大逃亡,主要目的地是港台,其次是美国,新加坡,巴西等国;第二次是“西藏平叛”时藏族同胞向印度的大逃亡;第三次,1962年发生于新疆的边民向苏联大逃亡和南方老百姓向香港的大逃亡;第四次就是“文化大革命”时期,为了求生,中国人向四面八方逃亡,遍及每一个邻国,包括越南、北朝鲜、外蒙古和缅甸,人数最多的是从新疆和东北逃向苏联。第五次,1989年则是“风波”后民间人士向海外大逃亡,最后是看不到终结的是普通老百姓为得到更富裕的生活,更好的经济发展偷渡到发达国家或地区。外逃潮流一浪高过一浪,不到中国成为经济大国,政治民主现代化的一天,是不会有休止的。逃亡者的目的只有两个,政治难民是求活命,求自由,经济难民是求生存,求发展。对第一个目的,只要逃出去,一般就达到了;第二个目的,今天要实现都成了问题,大大小小的多佛尔惨案不时出现,逃出国反而把命送掉的悲剧年年都有发生。特别是对流亡到西方的知识分子来说,要政治上出人头地只有卖身投靠一条路,充当《自由亜州广播电台》的威廉,北明……引人深思的是,自从改革开放以后,中国人的生活普遍提高,啼饥号寒的事是在中国大地上消失了,为什么富裕起来的人们反而要把全部财产孤注一掷,而偷渡海外呢?像多佛尔惨案,遇难的58名同胞中大都是万元户,十几万元户。在中国国家贫弱之际,内乱迭起,灾荒频仍,国无宁日,而那些世界级的大学者,大科学家如胡适,冰心,马寅初,陈寅恪,李四光,竺可桢,钱三强,钱伟长,等等,在国外学成,立即归国,义无反顾。就是冒险犯难,也要归国,如钱学森,赵忠良。到了今天,国家安定了,正在走向强盛中,而花掉老百姓上百万血汗钱培养的留学生,大部分却视归国为畏途,为了一张绿卡,竟不惜捏造谎话,卖身投靠,那是为什么呢?首先要检查的是执政者,要得人心,顺民心,保护爱国心。而苛政猛于虎,政治迫害,思想禁锢,对人民大众爱国心的摧残更甚于经济掠夺。

记得1962年伊犁边民外逃,赫鲁晓夫强权陈兵中苏边界,驻伊犁领事馆公开进行颠覆活动,而伊犁党政领导对之却噤若寒蝉。有感于此,我在《伊犁日报》发表了一篇叙述民族英雄林则徐充军伊犁造福一方事迹的文章,在文革中却被中共伊宁市党委宣传部长宋植用来作为我反党的罪证,这些官员们的愚蠢,蛮横,狠毒和贪婪,大概就是造成中国人偷渡大潮的原因吧。

在金田村一千多农奴中,地位最低下的当然是我们这80多个中国农奴了,我们是旧中国凉山彝族奴隶社会中的娃子,所有的人权都被KGB扫荡光了,只能被迫地“享受”到一条“劳动权”!譬如说,我们中的大多数从来没有放过羊,却大多数被迫当牧羊工。在80多个中国人中,汉族只有六、七个,回族十来个,还有五,六个蒙古人(从博尔塔拉州逃来的),剩下的大多数都是维吾尔人和哈萨克人了。逃苏的中国维吾尔人和哈萨克人处于一种十分尴尬的境地。自从“三区革命”以来,他们中有不少知识分子,当过教员,医生,运动员,小干部,还有公社主任,大队长和兵团连长,有好几个是新疆大学下乡的在校学生,大多是亲苏的,把苏联误当成了他们的靠山和最后依归,特别是哈萨克人,更把哈萨克斯坦当成他们的祖国。谁知他们到了苏联,政府并不看重他们,没有把他们当作自己人,把他们送到偏僻的草原上放羊。因为汉族人的素质高,待遇反而比他们要好,多数安排在城市工作。他们对自己的处境不满,一直处于矛盾和冲动之中,酗酒,打架,旷工是他们的日课,特别是对我们几个汉族人,更充满了仇恨。因为我们几个汉人不喝酒,不打架,不旷工,劳动很认真,掌握新技术快,干活的质量和速度比本地苏联农工还强。像我和刘万瑜两人能一个工作日装配完一台新康拜因,本地工人要三个人干一天,还没有我们干得彻底。所有本地人一般对汉族人(他们叫真正的中国人)都是友好而尊敬的,特别是非伊斯兰民族群众对我们更加友好。而他们因为懒惰、酗酒而嫖,常常是本地居民斜眼而视的。不过,他们有一个大优势,都会说哈萨克语,语言相通,为警察局和KGB办事处信任,因此都负有监视汉族人,向上司禀报汉族人言行的任务。各级官员几乎全是哈萨克人,对中国的仇恨表现得更甚于白种人。于是,欺辱汉族人就成了这些中国来的新疆少数民族同胞的日课,只要他们一喝醉了酒,就会借酒装疯打上门来,而我们几个汉族人又有一两个不争气,常常授人以柄。大概双方内斗太多了,太麻烦了,1976年,KGB把汉回两族人集中起来,发往齐木肯特州恰尔达区的“日出农场”。

在场部的四个汉族人中,李广讳和刘万瑜二人还偏偏是个惹事大王。李广讳也是湖南人,1969年从昭苏军垦农场逃过来的,没上过什么学,信都不会写,却异常奸诈狡猾,到农场待了4年,一直装病不干重活,在粮食仓库当看守,白天时间全是空闲的,每年都有大半年到柯吉达夫城“住院”治病。后来才知道他的“住院”都是KGB派到别地当暗探去了,如陪同新过界在审查中的中国人人坐监。许多同胞都喜欢找女人,而小小的金田村,愿意和下三等的中国人来往的女人是有限的,争风吃醋成为中国各民族同胞干仗的一个大原因。我离开后来了一个年轻的汉人,当过空军机械士的,恋上了一位哈族姑娘,被几个蒙古人吃醋暗杀了,白送了一条命。警察局和KGB也没有兴趣破案。农场集中的8个汉族人中有3个在生产队放羊,剩下的都在场部,我和刘万瑜算是机械工作者,剩下的都在蔬菜仓库和木工厂干活,到了冬天,我们受不了零下50度的严寒,都去烧锅炉了。我这里分别介绍几位。

陈梓,广西桂林人,1962年高中毕业后考上了广西师范学院物理系,却不上大学盲流到新疆了,赶上边民外逃,又到了苏联,也是各地乱跑。先到新西伯利亚市上了机工学校学电工,所以他的修理电视的技术很好,俄语也是中国人中说得最好的。他在机工学校毕业后不认真工作,在阿拉木图,塔什干各城市游荡,靠其他中国人养活他。勃烈日涅夫掌政后加强了对中国人的管制,要固定在一个地方生活,上户口,外出得请假。他没法忍受这种管制生活,1970年跑到莫斯科中国大使馆,要求返回中国,可是只走到大门前就给警察抓住了。外国大使馆前都有道门岗,岗哨地板上安有电钮,警察对某个来访者若有怀疑,便踩电钮,附近的特务机构室内电铃就响了,两分钟便会有警察抓住他。陈被抓后送进KGB监狱审查。他说一进监狱就给吃了迷药,什么都不知道了,在他额头上和背部都留有大块红色的伤疤,看去十分吓人。他说在那两处的肌肉内按了微型电子仪器,以探测他的心理活动。半年后把他押送到金田村管制劳动。他对苏联不满到了极点,但拒绝谈论。他一天到晚闲逛,可是得吃面包,就靠别的中国人养着。我和刘万瑜去后,农场只给我们借支了50卢布和食堂欠账吃饭的饭卡,生活十分艰难,而他却厚着脸皮跟着我们吃饭。不久,他又偷跑到塔什干。和一些中国老乡在乡下种花生,一去两年。1973年秋天,警察才把他抓了回来,派到地窖里削洋芋。他还是不想劳动,经常要我们养着他。他有一个广东老乡在莫斯科电台当广东话播音员,他便不断写信向他要钱,嫌信走得慢,便偷坐班车到离农场80公里的小城蜀琴斯克往莫斯科打长途电话,又给该市的警察抓住送了回来。KGB正要整他,他自己撞在网上了,区法院以多次非法外出为由把他判了三年,送到国际劳改队劳改。我们都劝他,安心干活,挣点钱,等形势变化一些后再寻出路。本来对1962年过来的中国人,KGB的看管是比较松的,KGB的特务来农场后也只找我们并不找他。他听不进去好话,总认为自己俄语好,电工技术高,没受到重用,在农场干活太委屈了。在他关进监狱后,托本农场的警察特派员给我带来了一封中文信,信文是:“椅下坐辱,顺流而下,江边有钱——”我读了丈二和尚摸不着头脑,猜来猜去,想起来他曾说过他和朋友们说话都用暗语,才解读了这封短信,是“辱下有钱”我马上翻开他的褥子,里面果然藏有30卢布。他到国际劳改队后来了信,我立即把这笔钱给他寄去了。当时30卢布是很能办点事的,我们在农场的生活费一天还不到一个卢布。同时我心里有气,写这种低水平的暗语,如果给KGB懂中文的人看到了,我不也要跟着倒霉?好在农场的特派员是哈萨克人,心机不太重。3年服刑期满要他返回金田村,他用那30卢布坐车去了列宁格勒(圣彼得堡市),想越界去芬兰,又给抓住了,这次KGB不愿再在他身上找麻烦了,宣布驱逐出境,送回了中国,时间是1977年,这时中共三中全会还没召开,是华国锋掌政的时代,因此中国又判了他3年劳改。80年代,我们这些汉族逃亡者一部分入了苏籍,一部分恢复了中国国籍,成为合法的华侨。戈尔巴乔夫执政后,中苏敌对关系有了改变,我们都得到了回国探亲的权利,先后回国探亲,受到家人,亲人和各地侨务部门的热情接待。陈的一位广东老乡,也是我的好友刘芒(华侨),回广东探亲,在广西找到了陈梓,仍在一家小工厂烧开水,单身一人,日子仍然过得窝囊。陈和他一见面,就抱着他痛哭失声,说“我真后悔为什么当时不在苏联好好生活,劳动,现在以华侨身份回来,我又被管制了,”刘告诉我他对中国政府也是不满,没有重用他这位俄语人才。

何真,四川人,小个子,聪明而狡猾,在生产队放羊,干活十分卖力,晚上跟着一位小学教员用功学俄语,说的不错。他和人说话开口就是“中国坏,苏联好”,对外自称朝鲜人,很快得到了KGB的信任。农场管职工生活的副场长是个俄罗斯人,KGB的密探,和他是好朋友,经常带他去野外打猎湖边钓鱼。我们被管制,不能越农场雷池一步,他却可以到柯吉达芙,阿拉木图,鄂木斯克这些城市到处玩。1972年KGB把他调走了,名义上是去阿拉木图工作,后来失踪了,据说在中国境内,被捕并被判刑。

还要着重提到一个曾经被我党重点培养过的接班人朱雪琅,是一个给我们中国流亡者带来无穷羞耻的笑话式人物。他是河南人,贫农出力,高小毕业,是共产党重点培养的接班人,十几岁就当了公社一个大队的共青团书记。文革开始,贫下中农和工人阶级一样要“全面占领上层建筑”,县革委会派他当了县剧团毛泽东思想宣传队队长,主持剧团的斗批改。此人本质是一个流氓,投机者,在剧团利用职权奸污了几个女演员,给人告发后,宣传毛泽东思想的队长当不下去了,正好解放军征兵,县革委会便送他入伍当了兵,派到新疆南部阿图什中国和前苏联吉尔吉斯加盟共和国边界上当边防军。因为一直入不了党,1969年某天乘在边界执勤之机逃来苏联,关在吉国首都伏龙芝市(今改名比什凯克)KGB的监狱审查。审查中他不断写一些低级的快板诗对苏联表忠心,还写了入党申请书,要求加入苏联共产党,KGB对他的怀疑更大了。经长期审查虽排除了他的间谍嫌疑,又怀疑他有神经病,把他送到到哈萨克斯坦库斯塔奈市精神病院关了一年,最后判了两年劳改送到国际劳改队。国际劳改队有个混血大流氓叫铁光至,据说生父是中共高干,30年代出生于苏联,1949年回到北京,却十分不争气,流氓成性,他父亲只好把他又送回苏联,恶性更加嚣张,犯案累累,被判长期徒刑,关进国际集中营。服刑时他仗着自己生得人高马大,俄语说的好就大肆欺负新过界的中国人,还企图鸡奸他们,别人都拼死拒绝了,朱雪琅这个软包蛋却接受了他的侮辱。这样一来朱的臭名在他还在服刑时就传遍全苏各地华人中。那个铁光至后来被一个叫周新的湖南籍中国人联合其他中国难友给揍了个半死,才老实下来。朱雪琅1973年春刑满送来金田村,在木工厂锯木头,来的第一天就请人用俄文写了一份入党申请书,塞进农场党委会办公室的门缝内。汉人中还有一个叫朱生福的甘肃老头,在澡堂烧锅炉,党委书记拾到朱雪琅的人党申请书以为是朱生福写的,传他到办公室谈话,对他说:“我们欢迎你参加苏联共产党,但是要先取得苏联国籍,以后才有资格申请入党。”党委书记的话把朱生福臊得面红耳赤,后来他告诉我:“听了党委书记的话,当时如果身边有绳子,我就把自己勒死,地下有洞也要钻进去。”各族中国人共住一个集体宿舍,房间很大,谁也不愿意和朱雪琅住在一起,他一个人住一间。在农场俱乐部掛有一排苏共政治局委员的肖像,他晚上去把勃烈日涅夫的肖像偷了,用一块大玻璃板压在自己房间的桌子上,周围还用红布镶上了边。再在像前供着插在酒瓶里的松枝,松枝上挂着一首用毛语录改成的快板诗表达忠心:“领导我们的事业的核心力量是苏联共产党,我一颗红心献给苏联共产党,永远跟着苏联共产党中央”,故意白天晚上把房门开着,让凡进集体宿舍的人都能看到。苏联人见了觉得很奇怪,因为没有一个苏联老百姓爱勃烈日涅夫,没人在宅内贴他的肖像。有人问我纸条上写的是什么,把我也羞得无地自容。对这个活宝,中国人没办法对付,只好相约不搭理他,也不进他的门。一个月后,突然区警察局派人把他抓走了,判了15天劳役。我们不明白,农场特派员告诉我们:“朱雪琅一偷走俱乐部的勃烈日涅夫像我们就发现了,以为他是热爱勃烈日涅夫,就没说话。后来因为没有接受他当共产党员,他把肖像的眼睛挖了,我们才以流氓罪判了他”。这事儿如果当时放在中国,马上会被杀头的。朱雪琅想当共产党员真是想疯了,其实,他并没有神经病,只是太愚昧,以为外国统治者和中国一样,欣赏这种愚昧的积极分子,成为大笑话,真不明白这种投机的软骨头为什么能受中国共产党赏识。不久,他锯木头,愚蠢地用脚去踩大盘锯和木头之间紧拉着的钢丝绳,被钢丝绳割断了大脚趾头,送进区医院。看到都是流亡异国的中国人分上,大家派我带了食品去医院看他。其实,医生尽心给他治,少了个大脚趾也不是什么要命的大事,他却白天晚上在医院嚎哭。同院的苏联病人对我说:“你这位老乡真软包蛋,一天24小时哭叫,叫我们无法休息,无法睡觉。”

刘子利,河南人,快50了,也是名出身解放军的老革命,共产党员。他自我介绍,1946年和村上几个年青朋友从河南跑到延安参加八路军,杨得志将军亲自接见了他们。内战时彭德怀元帅指挥的每次陕北和西北战役他都参加了。他说:“初期我们可真苦啊!为了躲避国民党军的追剿,部队一次次进出淹没长城的毛乌素沙漠,口渴得只有喝马尿,昼夜不停地在沙漠上走路,有时困极睡着了,两腿还是条件反射地走路。”授衔时是中尉,在宝鸡解放军步兵学校上学。认识了一位河南籍的女中学生,结了婚,生了7个孩子,逃苏前他是新疆生产建设兵团农五师塔城团场的连长。逃苏的原因只有一条:文革时他管的连队也办起了毛泽东思想宣传队,里面有个叫马晒妹的回族小姑娘,又会唱又会跳,又风流,刘利用连长的权位与她好上了,被人发现,害怕挨斗,就丢下老婆和7个孩子带着马晒妹逃来了苏联。KGB审查完毕后,把他们分开了,刘被判刑入国际集中营,马则释放,送到塔拉斯市江布尔皮革厂当工人。1975年秋我来塔拉斯后认识了她,她已和一个叫陈岸胜的四川年青人结了婚,还生了个儿子。马晒妹是位不错的女同胞,对人热情,为人大方,也会持家,中国饭菜做得好,流亡朋友们都喜欢和她家来往。可惜月老又一次把她的红线牵错了,陈岸胜是个二流子,最大的本身就是吹牛撒懒,从来不在一个单位正经干活。马晒妹以后自己另找了回族丈夫,陈岸胜则当了流浪汉。可怜的是他们的大儿子,大概是1992年,才16岁,一个人从俄罗斯跑回塔拉斯和李广讳的大儿子等三,四个中国人的儿子混在一起,结成了个小流氓团伙,吸毒,喝酒,偷盗,在偷商店给警察抓住了,判了4年。关在江布尔监狱时,他在此地没任何亲人,我曾冒充他的伯父想去监狱探视他,因为不是他的直系亲属,被监狱当局拒绝。可怜的小伙子,不知今天还活着没有?又到了何方?

柳正松,也是一名解放军军官,共产党员,山东人,原在新疆生产建设兵团农4师某团场当作战参谋,据说是受到了林彪事件牵连,弃官逃亡了。柳也是个牛皮大王,常常拿着俄华大辞典,在苏联人特别是年轻姑娘面前吹牛皮:“在中国我是大官”,“我当过司令官”,骗得了一名比他年青十几岁的俄罗斯姑娘和她结了婚。1976年冬天,通过别人介绍,他和另一位山东老乡战继元到塔拉斯来,住在我家几一个星期,天天喝酒吹牛。后来她的老婆带走了全部存款和小孩逃回俄罗斯,柳又和一位混血老姑娘结了婚,继而离婚,无儿无女,一个孤老头,又住在乡下,晚景大概是很凄凉的。

左比添也是解放军,还是比较高级的军官,新疆生产建设兵团农师政治部组织科科长,掌管一个农业师超过10万名职工的人事组织关系和生命线—人事档案。按照常规,在极看重个人资历的军队,要当上像左那样的官,一般都是抗日战争时入伍的“老革命”,不知为什么,KGB并没有优待他(按理是应该得到优待的),坐了一年的牢,又判刑在国际集中营劳改两年。中国人所到之处都是一片散沙,国际集中营也一样,那里关着上百个中国人,却矛盾重重。左进来后,曾想利用他的老革命大干部的余威,来团结中国囚犯,自己当头领。愿望是好的,用的办法却太差劲了,结果反而遭到一顿毒打,几天起不了床。别的中国囚犯对他的评价是:“你是真正的毛泽东培养的干部,既无文才,也无武才”,刑满以后KGB才想起来该优待他,把他安排在阿拉木图近郊的一个小城市生活,当起了江湖针灸医生,很挣了些钱,自己买了房子。大概他和KGB的关系不同一般,江布尔州KGB管理局一个专管中国人的哈族少校的女儿在阿拉木图上大学,就借住在他家里。

不知道为什么,流亡外国后,我接触到的那些解放军军人,不管是朱雪琅,刘子利,左比添,还是后来认识的杨涌,全是一路货色,“既无文才,也无武才”,只吹牛是行家,特别是没有气节。大概像宋子文批评蒋介石那样“你只用饭桶,不用油桶”。中共取得政权后,在一次次政治运动把油桶都砸烂了,大批起用的都是饭桶。

孙林,是我1973年在阿拉木图中亚军事法庭审判牛水时认识的年青逃亡者,新疆大学政教系毕业,父兄皆是中共高干。“文革”后期毛泽东把大中学生发配到乡下,他带着新婚的妻子(乌鲁木齐第一师范毕业)越界了。他告诉我,他们新疆大学学生为逃避艰难的乡下生活,不断从南北疆边界往外国逃亡,演出了一幕幕悲剧。有一次7个大学生结成了小分队翻越帕米尔高原,想出逃巴基斯坦,全冻死在冰山上了。他们一起越界逃离的有6个人,5个新大学生。过界后KGB把他们全分开了,各人下落彼此都不知道。KGB是同情和优待他们的,也相当信任他们夫妻。在阿拉木图市给了住宅,他妻子在商店当售货员,晚上则在KGB中文训练班教中文。他本人买了小汽车,在最接近中苏边界的维吾尔聚居区流动照相,以方便打探消息。

柯吉达夫是北哈萨克斯坦一个偏僻的小州,首府柯吉达夫市才5万来人,中国人却不少,因为是垦荒地,需要大量劳动力。中国人大部分是50和60年代随苏侨家属来苏的华侨,也有少数劫后余生的“九一八”事变后从东北逃亡来的老华侨,许多是当年马占山抗日义勇军的战士,还有1962年新疆边民外逃时过来的和“文革”中的逃亡者。其中形形色色,无奇不有。柯吉达夫城里有一个照相的哈尔滨人,姓孙,人们叫他孙牙医。伪满时期,他在日本早稻大学留过学,毕业后在伪满政府做事,娶了个中俄混血女人。在斯大林还没有把中东铁路的股权卖给日本时,中东路管理局的苏籍职员充斥着各式特务,孙被发展成为苏联间谍。日本投降,林彪率领大军进入东北,他这段“光荣的苏联间谍史”成了他的本钱,在哈尔滨公安局当上了干部。后来混不下去了,1954年第一批苏侨回国时来了苏联,一直在柯吉达夫市照相,同时当业余暗探。他会一点牙医,业余给人治牙痛,他的药是用桦树皮,鸦片,海带熬成的黑汁,说是从中国带来的包治百病的中药,也真有点效力,找他治牙的人不少,于是人们称他为孙牙医。他有个嗜好,见到了中国人就吹他的光荣历史,从皮包里拿出早稻田大学毕业证书炫耀。我从金田村去阿拉木图时来回都要在柯吉达夫市等飞机票或火车班车,有时也停留一两天,逛市场时认识了好几位中国人(老华侨大多种菜卖菜,不管在前苏联的哪个城市,一上市场就能找到中国人),也知道了孙牙医不光彩史。一次见到了他,他又拿出早稻田大学的毕业证给我欣赏。分别时,我开了个玩笑,对他说:“你当过伪满洲国的官,又给苏联人办过事,现在又常常跑胜利路21号(柯吉达夫州KGB管理局办公楼),可是三料特工啊。哪一天中苏开了战,解放军打倒中亚来,你怎么办?赶快向西走吧。”他听后一下给吓呆了,话也说不出来。

我这里要特别表扬一位老华侨的俄罗斯孝顺儿子。可惜老华侨和他的儿子我都没见过,也不知道姓名,故事是别人告诉我的。说是有位中国人从西伯利亚集中营释放后,发配到柯吉达夫市,娶了一位带着个小儿子的俄罗斯战争寡妇为妻。这位华侨年纪大了,无儿无女,和俄族妻子过的很恩爱,也特别喜爱俄族儿子,白天上班,业余种菜,挣钱养儿子。儿子假期要旅游,上中学后要买摩托车,他都尽力满足。经过艰难的战争年月后,他儿子和中国爸爸一起生活得非常幸福,也很爱自己的爸爸。中学毕业后儿子考上了飞行学校,毕业后当了飞行员,在某欧洲大城市安了家,娶了一个医学院毕业的女医生作妻子。飞行员工资高,社会地位也高,是人们羡慕的对象,母亲去世后,他把中国父亲接到家里瞻养。其时中国人到处受歧视,老人俄语又说不好,翁媳间语言不通,生活习惯两样,儿媳对中国公公便不免口出烦言,面带怒容。每逢此刻,儿子便警告自己的妻子:“凭我飞行员,你这种老婆我随时随地娶得到,而我这个中国爸爸,走遍全苏联也找不到第二个。你再对我父亲不尊敬,我就把你撵走。”每年夏天还给老头子儿百卢布,叫他回柯吉达夫市看望老朋友。我在柯吉达夫时,老华侨们都要向我述说这个动人的故事。要知道,当时老华侨的妻子一般都是俄罗斯女人,生下的儿女是混血苏联公民,也自报为俄罗斯族。外国人是只要父母抚养,而不赡养父母的,加上民族,语言,文化程度,生活习惯差别而形成的不同心理状态,一般华侨父亲和子女都相处得不好。老了,老华侨都孤苦伶仃地生活着,因之,这个俄罗斯儿子孝顺中国老父,又有始有终的故事更是令人称道了。

柯吉达拉甚至还有被港英当局驱逐出境的前苏联大间谍。

离金田村80公里,离柯吉达夫市40公里的地方有一个小城市叫蜀琴斯克,也叫浦诺沃衣,是哈萨克斯坦最好的休养城市,也是俄国殖民者在北哈萨克斯坦最早占领的据点。那里有许多长满青松,白桦和樱桃树的小山,山间是一个个长形的弯弯曲曲的湖泊,湖水清亮,碧蓝,山坡上有一座座白色小洋房,大多是各种疗养院。小城临山环水,林间小楼处处,花香果香,小鸟鳴啾啾,蜜蜂和蝴蝶在花间起舞,景色优美极了。刘立中来此地度假,认识了何洪恩,把我和刘万瑜介绍给了何,何给我们写了信,我们也回信了。1973年8月我第一次获准去阿拉木图度假,到何的住处看望了他。我和他都能豪饮,健谈,两瓶伏特加,我们一起长谈了半天半夜。因为两年前我就从《美国之音》和《英国BBC》的中文广播里知道香港英国当局驱逐了一名名叫何洪恩的中国商人,是苏联间谍,不料能有机会和他见面长谈。我想不少中国读者也知道此人,因为在中国出版的介绍前苏联KGB对中国进行间谍活的书里也常提到此人。

我在柯吉达夫市建筑公司所属的一个集体宿舍里和何洪恩第一次见面时,他住的房间里有两张床,同住的是一位哈萨克年青建筑工程师。进他房门后,何告诉我这个哈人很少住宿舍,床空着,你可以在他床上睡一晚。但是,晚上10点钟,那个哈萨克工程师回来了,我只好去住旅社。也许那个名为工程师的哈萨克青年其实是KGB的特务。何当时已快60岁了,干瘦,中等偏高的骨头架子,一口上海式的国语,会英语和日语,KGB人员找他时都用英语对话。见面后,何对我的第一句话是:“雷兄弟,我是死有余辜”,第二句话是:“我们同是天涯沦落人,相逢何必曾相识”。下面是何洪恩对我叙说的他的惊险而诡异的故事,不知道真实性有多大,但至少我知道,他说的参加孙立人兵变的故事全都是吹牛。

何洪恩,浙江杭州人,他母亲在杭州还活着时,由一家香港银行每月从他的存款中给她寄生活费。他有两个妻子:中国妻子住在香港,儿子在美国留学读博士;日本妻子住在日本。抗战发生时,他高中毕业,流亡到了重庆,逃亡途中请一位算命先生给他算命,结沦是:“生于东南,死于西北。”现在可真兑现了。到重庆后,他考入一个军统敌后工作训练班。他说:“我是一个天生的间谍,不信,你看!”接着他就把自己的手和脚转给我看。原来,此人的生理结构真有点特别:腿和手臂不动,手腕脚腕就可自由地左右上下转动,就象安了机关一样。后来他被日本鬼子抓住后严刑拷打时,比别人占了便宜。训练班毕业,军统派他到上海秘密收集日寇情报,没多久组织被日寇破坏,和他一起在敌后工作的军统人士都被关进了日寇淞沪警备司令部监狱,受尽了各种酷刑。后来传来了戴笠的指示,全体向敌人投降,伺机待命。之后被送到日本本土,在鸭巢监狱关了2年,参加了日本军的间谍工作,伺机把日军在东南亚活动的不少军事情报秘密报告了重庆中国军大本营,并转给太平洋的美军,为盟军的反攻太平洋立了功。抗战结束时他是军统的中尉情报官。他英语日语都会,被派到日本美国占领军当翻译。1948年返回上海,仍在军统工作。何说1948年在上海某次宴会上,他和苏联在上海的特务机构苏商时代书局的苏联特务认识了,才上钩当了苏联间谍。1949年,国民党军队退守台湾,他也随军去了台湾,仍干老行当。何说,到台湾后,50年代中期他参加了国军参谋长孙立人领导的兵变准备活动。我问:“你们兵变的目的是什么?”他回答:“孙立人的兵变完全是美国政府指示的,目的是打倒蒋介石,推翻中华民国,让台湾加入美利坚合众国,成为美国的一个州。”我听了心里发笑,这是不可能的。虽然美国佬一直想抓住台湾不放,作为他在远东不沉的航空母舰,卡住中国人的脖子。可是韩战时,美军在中国志愿军手里吃瘪以后,美国佬是不可能发昏到企图兼并台湾的。而且,后来我在某些海外期刊上的文章里读到,孙立人兵变本身就是个“莫须有”。何说,兵变失败以后,他和几个朋友在高雄抢了一艘渔船,逃到了香港,从此定居香港,弃谍从商。在香港和日本之间奔忙,也很赚钱。苏联驻日大使馆的商务参赞是一名KGB的将军,苏联派驻远东间谍的总头脑,在一次商务活动中认识了何洪恩。何在苏联在中国发展的间谍名单上也赫然有名,就被再一次拉进了苏联远东间谍网,何“死于西北”的人生厄运也就开始了。何说,他当了苏联远东情报网香港间谍站的间谍后,受设在海参崴的军事情报机构指挥,任务是侦探美国第七舰队在台湾海峡的活动。上司也曾要他去广州参加广交会,收集大陆情报。他知道大陆反间谍的厉害,吓得发抖,没有答应。所以每年他都要潜入台湾几次。苏联派在香港的间谍不少,港英当局一次就在香港造船厂抓了5名中俄混血工人,都是苏联的走狗。何述说的他几年在香港当苏联间谍的经历很有意思,并让人发笑。那时苏联的每一艘远洋舰船都是间谍船,不管是货轮,邮轮还是兵舰,船上都有专门的间谍设施,保持与莫斯科或海参崴特务大本营的直接无线电联系。香港是以前全世界最兴盛的情报交易市场,充斥着各国各种特务,有几个固定的酒楼和茶馆,各国间谍定时在那里公开地做情报买卖。某谍在餐桌上或茶桌上申明我要某国某种情报,该情报的掌握者报出价钱,双方讨价还价后,现金成交。何收集到或买到情报后,就坐飞机去日本。日本港口对停泊外国轮船的码头管得不严,何混上停有苏联轮船的码头,再混上苏联船,用暗号与船上的特务接上关系后,用船上的通讯设备发无线电报给他在海参崴的上司,并接受指示。一次,一艘苏联货轮把他悄悄带到了海参崴,受到苏联军事情报机关极隆重的礼遇,很风光了一番,有将军陪着他在海参崴,伯力和莫斯科游玩,日日宴会,每次宴会都有几名将军作陪。不过苏联情报部门太吝啬,每年只给他两三万美元的间谍活动费,还要一笔笔报账。何告诉他的上司,“要报账可以,但你们不能来香港查账,我可以到日本混上你们的轮船来报。”苏联上司没听。1972年,一个苏联特务直接到香港何家里查账,被跟踪的港英便衣发现了,两个人当场落网,何说那时苏联派在香港的特务几乎被一网打尽。何还说一个1962年逃来苏联的中国人在莫斯科间谍中心受了多年训练,派到香港去当间谍,这个中国人一到香港登陆便直接去警察局报到,把他所知道在香港的苏联间谍全交待了,那一次,苏谍也个个落网。何说他知道有一位大陆的地下工作者,在港英政府的政治司当了高官,被港英当局发现后遣送回大陆,在广州当了检查处处长。这是令人十分悲痛的,因为毛泽东把受中共哄动的香港红卫兵全出卖了,那时我还在中国,在报纸上我也读到了“香港进步青年和英国殖民政府开展斗争“的大篇报道。香港红卫兵从游行示威,贴大字报到在大厅上放定时炸弹,弄得香港人人人自危。英国政府派人在瑞典斯德哥尔莫和中国官员谈判,中国官员回答说:“那些事件不是我们组织的,是香港左派人士自发搞起来的。”于是港英军警把香港红卫兵都抓起来了。何说在香港坐牢相当享福,比苏联一般人的生活还好,不过,在关进的第一年是要受到各种严刑的,熬过去就成了。监狱建在海边,牢房是橡皮墙,自杀也没有办法,吃饭时犯人自己点菜,点饭,每天下午都可以在海滩上自由散步。在香港坐了一年多牢,港英当局把何扔到一艘行经香港附近海面的苏联轮船上,被带到了莫斯科。这一次到苏联和上次风光访苏全不一样了,一到莫斯科就关进了KGB大牢,和他关在一起的都是在外国出了事的苏联派外间谍。在监狱里天天接受审问,主审官是个将军,有4名翻译同时出席,两名译汉语,两名译英语。何说KGB担心的不是他在香港当苏联间谍被暴露了,而是害怕他是中国间谍,用此种方式打进苏联情报机构的。坐监时伙食也不好,顿顿红茶,面包,麦片,苏波汤。在莫斯科审查大半年后,流放到了柯吉达夫。原来柯吉达夫也是KGB流放出了事的派外间谍的基地。何刚到柯吉达夫市后,还不满60岁,无权领养老金,派他在一家照相馆上班,领KGB上尉的工资。和他在同一间照相馆工作的就有曾在法国、英国当过间谍的人。其实在金田村我也认识一对开拖拉机的中年波兰族夫妇,原来在波兰给KGB当特务,后来KGB对他们起了疑,召回苏联流放到垦荒地当被监视农工。何说他拒绝上班干活,KGB不发工资就跑到大街上拾酒瓶卖,向当局示威。KGB要面子,给他发养老金了,每个月120卢布。何很有上海人精明聚财的本领,我们见面时他告诉我已经存下了300多卢布了,何说他打麻将的本事高,如果让他的在塔什干,阿拉木图等中国人多的地方生活,不用领养老金,光靠打麻将赢钱也可以过活。1975年10月15日我被允许解除“有条件的自由”,来江布尔生活,在柯吉达夫市乘火车时又一次与何见了面,他还送我上了晚上10点开往哈萨克斯坦南方的火车。临别时他对我说:“到哈萨克斯坦后我认识了几个中国朋友,象刘立中,你,刘万瑜,还有别人,我发现你们逃到外国后还很讲民族气节,与台湾,香港的中国人不同。“他还告诉我说,夏天他去乌兹别克斯坦首都塔什干时认识了一个叫阮松的中国人,阮答应帮助他去塔什干居住。后来我几次去塔什干看望我的好友麻明,凡我认识了的当地的中国人,都要谈到阮松其人。原来阮是KGB派在当地中国人中的一个大暗探,凡有中国人聚会的地方都有阮氏夫妇出现。阮是越南人,在中国和苏联都上过学,中国话也说得不错。他的妻子是中国女人,原来是外贸部的俄语翻译,一次随一个中国外贸代表团访问苏联,偷偷叛逃了,KGB撮合她和阮结了婚,派在塔什干当暗探。果然,我离开柯吉达夫后不久,何洪恩也被送到塔什干生活了,KGB当局在市中心给了他一套三间的套房和一栋郊外别墅,请他在海关英文学习班教英文。1988年我全家第一次返国探亲,在北京听人说何获准回中国探亲,人已在上海,走在了我前头了。我1993年最后一次和他见面时他已得了严重的霍金森病,口舌手脚都不断地颤抖。他回中国探亲,在上海住的旅馆就是原三青团励志社的招待所,是他曾经住过的地方。中国某些部门对他的接待很是客气。回来后又去美国看望了儿子,到塔什干后他没有再讨老婆,一个20多岁的维吾尔小姐和他住在一起,照料他的生活,跟他学英语,他应允要帮这位小姐。

在相识的这么多中国人中,我还有了一个比较好的朋友,但不同于和刘立中的关系那样有过命运的交情。这位朋友原名马平,逃苏后改名麻明,河南人,来苏时快50岁了,在开封当过小学校长,1957年成了右派。三年大饥荒中河南,安徽,四川是全中国饿死人最多的地方,50年代的中共河南第一书记吴芝圃是毛泽东最得意的学生,他的毛泽东思想学的最好,执行的最坚决,什么小麦万亩田,用木轨修土铁路啊,建立第一个人民公社啊,掛红旗拔白旗啊,都是首先在河南兴起的。结果河南也就最遭殃了,饿殍遍地,河南盲流遍及中国。也就在1959年,他带着老婆和五个孩子,全家逃到新疆,在最挨近中苏边界的新疆生产建设兵团农四师61团场当起了农工,靠近中国西北最大的边境口岸霍尔果斯。“文革”中他被斗得没有办法,只得抛妻弃子逃来苏联。不知为什么,河南是中原之地,是辉煌灿烂的中华文明最早发展的地方,到了现代中国,河南却成了中国最贫困落后的省份,河南人成了中国人中最不受欢迎的一部分。他们长相土气,穿着,说话也都土气,许多人心眼狭窄,自私自利,奸诈狡猾,在政治运动中总是最爱当打手,所以处处遭外省人白眼。1962年边民外逃来苏联的中国人中,河南人和四川人一样多,给KGB当暗探的也是河南人和四川人一样多。马明有着他的河南老乡拥有的缺点,但也有着他的同乡所没有的优点,懂得人情道理,不占人的便宜,古书读得多,我们在许多地方能谈得一块。他又极重感情,每当思念妻子儿女时就失声痛哭,也和我的感情相通。他原来在生产队放羊,非常认真,工资比一般牧工都高,年底还能领到300到500卢布的奖金。所以他是金田村中国人中的最大富翁,也成了某些害群之马的中国人欺骗,敲诈的对象。他年纪大了,无法放羊,1973年我和刘万瑜帮他搬到场部来,在我们工作的农机站当看守。

当时在柯吉达夫市住着一个1962年过来的河南汝南人,姓刘,妻子是鞑坦女人。他加入了苏籍,还当了警察局的民兵,家里住着一个东干族房客,是检察院助理检查员。苏联也有民兵,不过人数很少,承担的任务也不一样,充当警察的助手。这种人大多是行为卑劣的小人,犯了偷摸诈骗之类的小罪,警察局抓住了小辫子,不惩罚他,发给一个小红本子,当民兵,也就是暗探,要定期向警察局报告他周围人的不轨行为,也享受某种优待,比如亮出红本子,坐公共汽车可以不买票,犯了小事也不害怕警察找麻烦。苏联老百姓都讨厌这些人,民兵们也都不敢公开表露自己的身份。这个刘姓民兵原住在阿拉木图,无正当职业,以在中国人中偷骗为生,后来混不下去了,金田村又监管了几十个中国人,KGB就派他到了柯吉达夫市,在州里给了一个很挣钱的职业,卖烤羊肉,是中亚人最爱吃的风味小吃,生意很好,又可以缺斤少两,刘说他每天都能有三五十卢布落入腰包。此人常同他的东干房客到金田村认中国老乡,来了以后就大吹,说在州商业局工作,亮出红本本吓唬人,说他还是警察局的干部,职务是专管从切林诺格拉到柯吉达夫的无国籍人。因为”文革“后逃苏的中国人所持的都是无国籍护照,此地的中国人被禁锢一地,对外面的事一无所知,为刘姓河南人和那名东干小子的威风吓倒,只好向他们10个20个卢布地进贡。我在阿拉木图生活过,知道这一套,也不去搭理他们。1974年秋季某星期天,刘又来了,专门问麻明诈钱。一来就带着麻明等几个中国人到场部商店买了一块衣料说:“我和你们瓦里汉诺夫区KGB特派员是好朋友,我买下这块料子明天到区上送给他。”然后就问麻明借钱,一开口就是600卢布(按那时苏联的官价有1000美元之多),麻明吓住了,找我想办法对付。我进了麻明的房间向刘民兵说:“老乡,我们欢迎你来农场做客。你口袋的红本本我还从来没见过,给我见识一下行吗。”他很神气地从口袋里掏出红本本递过来,我看了一眼,对他说:“我俄文不行,里面好多字不认识,想请教一下苏联人,明天还你行吗?”听到我的话,他吓坏了,不断向我求情,要回红本本。第二天天一亮就灰溜溜地走了。麻明更感谢我了,把我当作他来苏联后的唯一知己。

麻明有文化,又胆小怕事,KGB就利用他报告我的言行。有一次我早上上班,麻明值夜班后回家了,在值班室里留了一本中文的俄语语法书,我一翻,里面有写着麻明的笔迹的一封信,寄到柯吉达夫胜利路11号州KGB管理局的,看到以后我也装成没事一样,仍把麻明当朋友。因为第一,我在农村只有反苏言论而无行动,苏联当时已经不以言治罪了,我不害怕;第二,我相信麻明是个心地善良的人,不会说我的坏话,有他的监视,KGB会对我更放心,我反而更加安全。1976年,他和其他金田村汉回人迁到齐本肯特州的“日出农场”,还在那里当看守。1977年我带着新婚妻子李巧云去看望他,他极热情地接待了我们,还送我60卢布的礼金和一件风衣。以后他又来江布尔在我家玩了几天。“日出”农场离塔什干市只有几十公里,70年代末他在塔什干和一位中俄混血寡妇结了婚,迁居塔什干市,入了苏联籍,还买了栋带花园的小房,之后又离婚了。1992年把他在中国的老妻和女儿马金铃接到了塔什干,我也曾两次带着妻女去看望他们,接他女儿来我家做客,给老嫂子和小侄女都送了点钱,以回报他对我的友谊。离今快6年了,我没法去塔什干看望他们,相互间也没有通信。前两年,听塔市的中国朋友说,他们老两口都还活着,女儿回中国了,但很快会再来和他们团聚。

金田村监管着80来个中国逃来的少数民族人士,有4位回族,即东干族人,和汉人是团结的,宿舍也在一起。有6个蒙古人,之中有一个当过兵团边境农场畜牧连长。6名蒙古同胞中只有一个叫桑布的是个坏蛋,和维吾尔坏人勾结一起专门以欺负汉族人为能。其他几个只是喝酒,喝醉了在集体宿舍前用哈萨克话骂大街,对我们尚算友好。他们极懒,不出工,常常面包都没得吃,在他们挨饿时我也常常送给他们几个面包几斤冻鱼。可是就在我离开金田村的那个冬天,为争夺一个哈萨克姑娘,他们把一个新来的汉族年青人暗杀了。一个蒙族同胞告诉我,他们是结伙骑马冲过边界逃来苏联的,带头的是某人民公社生产大队的中共党支部书记,名字忘掉了,此书记还带着他两个儿子和一个女儿,妻子却在途中走失了。KGB很看重他,把他们全家安排在江布尔州的恰巴也夫农场,很快被批准加入苏籍,两个儿子都入伍当兵了,休假时他们几个蒙古人常去看望他。此人的牛皮可大了,一见面就吹嘘:“别看我在农场放羊,谁都看不上,可是我是KGB的大尉,每年都要去中苏边界,穿着大尉衔军官服,可神气了,苏联边防官兵见了我都得向我敬礼。我也常化妆成中国牧民,混进边界线中国那边打探消息。”1976年某天,州公安局传我去登记户口,在接待室里见到了此人,大个子,挺精神的,汉话说的极好,主动向我打招呼,说自己已离开恰巴耶夫农场,搬到另一个离城市近的郊区农场住了。大概出于KGB的有意安排,后来再没有见到此人,也没有听到他的任何消息。

中国流亡者中的大多数是维吾尔人和哈萨克人。在新疆的历次政治运动中,当局人为地制造了许多民族隔阂,在各民族内部,各民族之间挑起各种矛盾,叫汉族人去反对少数民族的地方主义,又嗾使少数民族人去反对汉族人的大汉族主义。斗争台上彼此楸斗。如果说中共掌政前的中国人是一盘撒沙的话,那么中共掌政后经过一次次政治运动,中国人更变成一堆只能互相碰打的卵石了。此种歪风当然要带到逃苏的中国的各族逃亡者中来。在金田村的80多名流亡者中,中国来的维吾尔人和哈萨克人自认他们和哈萨克斯坦的本地民族地域相连,语言相通,宗教共同,有些人的先人还是十月革命后逃亡中国的,逃苏便是回到了自己的祖国,是苏维埃政权的忠诚分子,和汉人一见面就用威胁和讽刺的口吻说:“在中国你们压迫我们,我们逃来苏联了,你们又跟来了,我们要认真摸摸你们的底,看看你们到底是干什么的。”他们爱喝酒,一喝醉就来找我们打架,事情闹大了,农场警察局特派员或区警察局知道了,都偏向他们,汉族人有理也变成无理。在那里,我们生活在恐怖中,白天呆在干活的地方,晚上一进宿舍就把门上的几个大铁钩扣起来,足不出户。

我们几个汉人在金田村给80多个贱民做了件大好事:我们这些中国人,不管什么民族,除了被批准加入苏籍的,拿的都是“无国籍护照”,应当作外国人看待。苏联法律规定外国人是不交纳占工资总额百分之六的无子女税的,而他们多少年来一直在扣交。我们在第一个月领了工资后发现了这一点,写报告给州政府,政府下令全取消了,大家都受益。但是少数民族中国同胞并没有想到要感谢我们,当地政府又把我们记恨上了。

少数民族人士中有两个坏头头,一个是前面提到的蒙古人桑布,另一个是维族人木哈江,两人都在面包房烧锅炉,不过桑布只是个打手,而出谋划策的都是木哈江。此人獐头鼠目,一脸奸相,阴毒极了。KGB和警察局最害怕中国流亡者的团结,在我们中间极尽挑拨离间。算了吧,都是中国同胞,都流放到异国他乡,内部斗殴的小事就用不着多写了,何况一些有文化知识,见过世面,懂道理的少数民族同胞对汉族人还是友好的。有一位在生产队放羊的哈萨克同胞,当过博罗县一人民公社社长,常当面指责自己同族人不懂事,受人利用。每到场部办事,他不住自己同族人的房间,而住在我们的房间里。还有一位叫谢力甫的哈族同胞,在塔城县当过医生,逃苏后也通过了医生资格考试,可农场当局不让他从医,派他到木工房锯木头,一次机器出事,把右手的4个指头都锯掉了。他一直对我当知心朋友般地诉衷情,道不满,我们受欺负时还把我拉到他的房间内保护起来。不过,农场的大部分非伊斯兰民族都对汉人很友好,认为真正的中国人是爱劳动,讲文明的优秀民族。在我们挨打时,只要他们看见就上来帮忙。发生一次打架,总会有几天紧张期,我们就分别在俄罗斯或德国人朋友家里躲藏起来。在我离开金田村后不久,木哈江和桑布两个坏头头都死掉了,天道有眼,坏人总会受到天谴。

谈到死亡,在我知道的中国逃亡者中不正常死亡是经常发生的。比如生产队的一名维族同胞,还是霍城县人,盲肠发炎,送的到区医院动手术,却给本地医生割死了。前述的那个汉族青年给人暗杀了,我的哈族朋友谢力甫也不明不白地抓去坐了牢,出狱后又不明不白地死掉了。在“日出”农场,两个汉人在公路上骑摩托车行走,被后面的本地司机开的大卡车压死。一个从陕西安康逃过来的人在城里找到了对象,想迁离农场进城结婚,区警察局不允许。他一气之下,放火烧掉了自己买的房子,然后投河自杀。诸如此类的惨事,不时能听得到。

《梦想新中国》

我不厌其烦地写了这些事,并不是因为它们本身有多么大的重要性或价值,而是希望通过我的亲身经历和亲见亲闻,为国内同胞更多了解流亡在苏联的这一群同胞,提供一些往往并不为人知的真实材料,并进行进一步的思考。

我往往会想到,为什么在拥有960万平方公里之大的中国,我们却没有立足之地?为什么中国的邻国和港澳台湾到处充斥着中国逃亡者,为什么流落到异国他乡的中国人到处受欺辱,被劳役,惨死外国?在零下50度严寒的漫长冬夜,我常常彻夜失眠,我痛苦地思索着。我梦想中国能出现一个真正全心全意为人民服务的力量,有一个真正爱护自己百姓的政府,使中国人能在自己的家园安居乐业,炎黄华胄再不流落异国他乡。我梦想这样的新中国,在1973年和1974年的两个冬天里,我写了一部《梦想新中国》的书稿。我引用了屈原的诗句:“路漫漫其修远兮,吾将上下而求索”,作为书稿扉页的题词。

中华立国五千年,中华文化绵延五千年,漫长而修远,独立而绵延,从未中断。在中国文化中,当然饱含着优秀的成分,但又充斥着专制王朝吃人的文化因素。朝代更迭,争位夺权,造反砍杀,视民命如草芥,其次数之多,规模之大,夺权者和掌权者手段之残酷,屡屡见到。中共在夺权战争中和在执政后制造的无休无止的政治运动中,又把中华传统文化中最优良的部分,如儒家倡导礼仪廉耻,忠孝仁爱,信义和平,墨家主张的兼爱,道家尊奉的天人合一,无为而治,佛教讲究的善恶因果报应,普渡众生,都扫荡得一干二净。就象乡下老百姓所说的那般:听毛主席的话,就是要作不忠不孝,不仁不义之事。时刻不忘阶级斗争,念念不忘一个权字,凡是敌人拥护的我们都要反对。阶级斗争不是你死就是我亡,成了中共治国的最高标准。中国大地上不仅有有形的长城,还有一条无形的长城,隔绝了外来的先进文明,把长城之内的广大中国变成了一个大染缸,一个历史大垃圾堆。马克思主义的合理内核被染成领袖独裁和执政党的专制,民主和科学被染成独裁和荒唐,百家争鸣,百花齐放便染成圣旨一家,一臭熏天。终于,在“文革”中,中国古代所有荒政现象都出现了,诸如的皇权专制独裁,藩镇专政,后宫(江青)干政,宦官掌政,用闭关锁国再加上外国法西斯主义,军国主义、列宁斯大林等恐怖独裁主义,天主教的排斥异端主义,恐怖主义,都属于此类。给黑帮分子戴高帽子,掛黑牌子,剃阴阳头都是从希特勒那里学来的。1973年以后,批孔批林,又喧嚷神州大地,电波里传来了张春桥和姚文元写的批判文章,听了真叫人毛骨悚然,心胆俱裂。祖国的沉沦,时刻刺痛着我的心。我真盼望中国人民高举民主,科学,改革的大旗在中国土地上来一个历史大扫除,砸烂大染缸,把古今中外的历史垃圾堆全清除掉。书稿里我提出了要重新树立治国思想,首先实行我国传统的儒家仁政,把普通老百姓的利益作为施政的唯一依归,用孔夫子的“仁者人也”,孟夫子的“民为重,社稷次之,君为轻”作为执政的第一指导思想。全面实行法治,用法国大革命时的《人权宣言》和美国独立战争时的《独立宣言》定为制定宪法和法律的指导思想。当代中国最大的悲剧是中国人不能和世界联系起来,应该加快中国的全球化过程,尽早融入世界。当务之急:第一个就是军队由党有变成国有,中国军队只有保卫国家安全和帮助重大自然灾害两项职责,决不能干预政治。第二,解散人民公社,人民公社是中国的历史大倒退,公社的农民比农奴还不如,五类分子的地位更在奴隶之下。刘立中常和我发表笑谈,说:“西方国家如果要整共产党,不要抓他们,关他们,把他们都放在中国来当人们公社社员就行了,只要一年,全世界的共产党都会自动消失。”我也回应说:“要整吴芝圃,曾希圣,李井泉,康生这些奸官、恶官,不要抓他们,判他们的刑,只要送到人民公社当社员就行了。”第三,恢复《共同纲领》,真正实行。要达到上述目的,中国必须彻底改造,而改造的手段,再不能是革命而只能是改革,即大范围的改良,从上而下和从下而上相结合的改良,前者是决定性的。一个多世纪来,中国吃革命的亏太大了:革命带来的是暴力,混乱,破坏,和在革命的旗帜下更彻底的强暴的专制。义和团的反帝革命带来了八国联军,中国己被瓜分,20世纪开始的三次大革命——辛亥革命,北伐战争和共产党夺取政权的22年武装革命,都取得了“胜利”,但胜利换来了什么?是三次大暴政:袁世凯称帝和北洋军阀专制,国民党一党专政和1949年后“秦始皇专制”,后来者居上,一次比一次更血腥,对国家的破坏更大。三次武装革命一共历时25年,四分之一世纪的革命带来的是四分之三个世纪的破坏,混乱和专制。我们的经济倒退了一个多世纪,还使我们丧失了超过百分之二十的领土。19世纪下叶以来,全世界最热衷于革命的国家是欧洲的俄罗斯和亚洲的中国。俄罗斯人用了一句话形容俄国革命的下场:“阿芙乐尔巡洋舰的一声炮响,带来了世界的70年混乱。”中国老百姓受革命之殃是太大了,我们只需改革。和平的,合法的,不屈不挠的改革。孙中山先生早已看到了这一点,《总理遗嘱》全篇谆谆教导国人的是改革,是“必须唤起民众及联合世界上以平等待我之民族,共同奋斗。”是贯彻《建国方略》《建国大纲》《三民主义》及《国民党第一次全国代表大会宣言》是“和平,奋斗,救中国!”不久前,我从外电中听到了李泽厚,刘再复两先生的大文《告别革命》中的部分内容,我是十分赞同的。新加坡是当今世界经济发展最快,政治治理最成功的国家。他的独立是在议会的和平表决后得到的,是李光耀先生在马来西亚国会中24小时滔滔不绝的雄辩中得来的。泰国和马来西亚也是用和平的改革取得经济成功的。而我国台湾的政治,经济进步让外人对中国人刮目相看,也没有动过一兵一卒。我也欣赏孙中山先生的训政,训政也是改革,是要政党,官员和民众都得到民主训练,养成民主习惯,培成民主大潮才能形成民主制度的。不是谁训练谁,是要举国上下都在和平的,法治的改革中都得到训练。而没有训练的民主,如印度的血腥选举,腐败政治,菲律宾的全民投票选总统,而选不出好总统,这都只是徒有民主之名而已。我们要用全民爱国主义,用中华民族最深沉博大的民族精神来振奋中国大众,创造出一个政治民主,经济繁荣,国防强大的新中国来。毛泽东和周恩来也算做了件大好事,把恢复中美关系的大门打开了。我熟悉中美关系的历史,也熟悉中俄,中苏关系的历史。1840年鸦片战争后,在西方列强和日本竞相侵略中国的狂潮中,美国是唯一没有下大劲掠夺中国的西方强国,它没有发动侵华战争,没有强占中国一寸领土,也没在掠取租界,相反地,在每一次中华民族面临生死存亡的历史关头,美国都帮助了中国,甚至挽救了中国。这些都是历史:1900年八国联军占领北京后,列强要瓜分中国,美国提出并坚持了“门户开放,机会均等”的对华政策,制止了列强瓜分,保持了作为一个主权独立国家的中国能够继续在世界上生存下去。第一次世界大战后,日本占领了我国青岛,控制了山东全省,1921年美国提议召开的华盛顿会议,签订“九国公约”,迫使日本鬼子退出山东和青岛。1937年日寇侵华战争全面发动,特别是1941年太平洋战争开始后,美国在经济,军事,人员各方面,全面援助了我民族自卫战争,多少美利坚优秀儿女的鲜血洒在了中国的土地。从19世纪末开始,美国即大力培育中国留学生,退回“庚子赔款”帮助中国发展教育(这里要着重说明的,“八国联军”中的六个侵略者都把庚款退回了,而俄国和日本却没有)。中国的清华,燕京、协和,湘雅,华西这些世界第一流,也是今日中国第一流的大学和医学院都是美国在中国土地上开办的。没有美国培养的中国科学家和学者,也就不会有中国现代化的科学与文化。1972年尼克松总统访华和以后的中美建交,大大帮助了在当时中苏对立中严重处于不利地位的中国一方,又在严重历史关头美国给了中华人民共和国最大的帮助。相比之下,俄国和它的继承者苏联,同倭寇一样,是中华民族最大的敌人,是侵略中国的最大受益者,在清朝全盛时期,我国版图有1200平方公里的土地,现在只剩下900多万平方公里了,失掉的领土之中的绝大部分是俄国人抢走的,因为外蒙也是在苏军占领了几十年之后强迫中国接受它独立的。十月革命硝烟未息,列宁和斯大林就向中国开刀,武装占领外蒙,挑起中东路战争,特别是把外蒙从中国领土上分割出去,是斯大林遵循的列宁遗愿实行的。列宁说,中国总有一天要强大,强大后与俄国开战,中国军队从外蒙出发,一下子能把西伯利亚铁路切断。所以,从50年代开始,我从不认为列宁是什么国际主义的革命家,而是一个继承沙皇遗志的大殖民者。1945年8月日本已决定投降,苏联红军乘机占领东北,大发战争财,俄国兵在东北奸淫烧杀,一点不输给日本鬼子,他们把东北的地皮刮光了,连铁路上的铁轨都抢走了。我亲眼看到,直到70年代,某些苏联工厂里车间主任保护的最珍贵的车床还是“满洲株式会社”生产的。所以,在真正的民主制度还没有在俄罗斯建立起来以前,中国要与俄国结盟,将同当年的中苏同盟一样,会给中华民族带来巨大的民族灾害。

公道自在人心,1949年后,政府要中国人民“亲苏”,“反美”,学习和歌颂“苏联老大哥”,“轻视”,“蔑视”和“仇视”美国,为此不知把多少人打成“美国特务”,现行反革命分子,右派分子和反苏分子,多少人被枪杀,劳改和被迫自杀。几十年来,我国对美国的敌对,是对世界上最先进的科学和技术的敌对,对民主和自由的敌对。反美和親苏,是造成当代中国贫困落后的主要原因。当然历史时刻在变化中,二次大战后美国的对华政策,特别是冷战结束后的对华政策,有许多是错误的,是损害中国人民利益的。在本书后面的章节里,我也要着重提出我的看法。

《梦想新中国》开始写于1973年冬天,1975年我迁居江布尔后,最后完稿,有五十多万字。也不知是哪个耳报神向KGB汇报了我,定居江布尔后,KGB撒沙少校几次从阿拉木图来江布尔找我,要我把书稿交给他们,还答应给我出版,我都婉言推脱掉了。1976年9月,收音机里传来了毛泽东去世的消息,我一想,毛泽东过世,中共也许会返回正统的苏式社会主义轨道,中苏友好可能恢复。如果KGB把我交回中国,这本书稿将成为我最大的反动罪证,而且,我的个人心语,怎么能让他们看见。当晚,我忍心把厚厚4大本书稿撕成一片片,在煤气炉子里烧掉了。

还记得在《梦想新中国》的结尾我题了两首诗:“穷史究经竟如何?白日说梦梦话多。想来仰头向天笑,懵懂糊涂醉安乐。” “粉墨春秋学周郎,居然生旦净丑行。何期再演心头戏,大向人间哭一场!”我还是有一丝自知之明的。

沉重的劳动和无休止的迫害

让我们再回到我4年流放生活的实录上面来。我和刘万瑜1972年3月初被押送“金田村“,在农场农机修配厂上了一个月多的班。4月中旬,农场警察特派员突然通知我,阿拉木图KGB传我回阿拉木图去,原因不知道。我原来的无国籍护照在出逃伊朗失败后让KGB没收了,特派员用村苏维埃的公章给我开了一张通行证,叫我先坐班车到柯吉达夫市。刘万瑜以为我要脱离流放的苦海,高升到阿拉木图了,送别时抱着我亲吻说:“要离开这个地方,全部希望就寄托在你的身上了。”我自己心里却明白得多,不会有这种好事的。到柯吉达夫一下汽车,州KGB的人接着我,给我一张飞阿拉木图的飞机票,三个多小时后抵达阿拉木图,撒沙少校在飞机场等我。他先把我送到列宁大街后面平房区一户人家住下,给了我一个月的生活费,每天5卢布,共150卢布。房东是俄罗斯人,退休的老两口子,和我刚到阿拉木图后寄住的那老两口完全不一样,说话很刺人。当晚我洗澡换了衣服,衬衣在行李袋里揉皱了,借他们的熨斗熨一下,老太婆便嘟噜地说:“你们中国人也讲摩登。”老头子说话一开口也是:“我们俄罗斯人是世界上最强大的民族,是最讲人道的民族,1945年我们解放了旅顺,大连,交给你们中国人了,你们还反对我们。”我真受不了诸如此般反复不断的窝囊气。第二天,哈萨克斯坦KGB的那位中国话说的好,有学者风度的付主席来谈话,说:“雷同志!你来苏联后犯了几个大错误,但是我们还是想重用你,准备把你介绍到莫斯科和平与进步出版社去当中文编辑,你现在主要的任务是学好俄语。”过一两天撒沙少校和另一个哈萨克族翻译都来对我进行视察,反反复复说着同样的话,叮嘱我:“现在就看你的表现了。”有一次还要我写一篇评中国和阿尔巴尼亚关系及中美关系的文章。前面我已提到过,我一进入苏联就从他们给我的小册子里认识了“和平与进步出版社”,是一家专门印行苏联宣传自我和反中国书籍的出版社,我死也不能到那种地方去,却又不好大明大白地拒绝。我想,只有用“表现不好”的法子才能推脱。房东老两口子不喜欢我,我对他们更反感。正好刘立中住的房子离这里只有两站路程,我便晚上住在他家,不回来。而刘万瑜和李广讳以为我到阿拉木图当官了,有本事帮他们离开柯吉达夫,在我到阿拉木图不到两个星期,他们就自己跑来了,通过刘立中找到我要我给他帮忙。结果是他们前脚到,KGB人员后脚就把他们又押回柯吉达夫了。刘立中见到这种不顾我安危的做法也很生气,批评他们说:“你们也太不体谅雷光汉的处境了,他还没安顿下来,你们就跑来找他,不是硬要把他拉回柯吉达夫吗?” 我心里在生气之余也暗暗地有些欣慰,我是宁肯回金田村也不去“和平与进步出版社”做反华工作的。

在阿拉木图的两个多月,还有两件事值得记下来。一是我第一次听到了中文现代流行歌曲,也就是摇滚歌曲。原来在中国,我就听说了国外兴起了一种全新的音乐,用电子乐器伴奏,歌唱者一边唱一边扭腰,当局称之为“阿飞歌曲”或“扭屁股舞”,是被禁止的。到了苏联,正是这种新音乐刚刚兴起并大行其道之时,年青人一聚会就打开录音机,一边唱一边跳。提着个手提录音机在公园里或大街上一边走一边听是年青人最向往的摩登,也是炫示富有的方式。我一听到流行歌曲,第一个印象是“野性的呼喊”或“力量的呼唤”,后来发现不仅有力感,乐曲和歌词也都不依常规,不讲究和声对位,也不讲究歌词的典雅,是自由的旋律,突破了各种传统的常规的生活牢笼的呼唤,我也喜欢听它了。徐英斌认识一位住在阿拉木图的混血女人,姐姐嫁给了一位毕业于北京医学院的新加坡华侨学生,回新加坡定居了,邀请她去新加坡探亲,经过苏联政府各种复杂而旷日持久的审批,批准去新加坡两个月,回来时带了两小盒流行于台湾,香港,新加坡的中文现代歌曲录音带和一架日本产的小录放机。徐英斌把他一个夏天在郊区种洋葱的所得,买了一架有小皮箱大的苏产收录机,把那两盒录音带转录了,提到刘立中家放给我们听。一听到有点中国味的流行音乐旋律,一听到中国歌手的呐喊,和邓丽君如泣如诉的心曲倾泻,我简直震动了,心和身子都颤抖。刘立中有一架带有电动留声机的大收录机,去录音社转录了带子。以后,一到休息天,我和刘立中打开留声机,身心沉浸到现代中国音乐中。乐曲中还有一首流行歌曲化了的黄梅戏《江山美女》,唱的是《梅龙镇》的故事,李凤姐骂皇帝,大快人心,听后有《老残游记》里描写的老残听了王小玉说书后的那种感觉:像猪八戒吃了人参果,全身三万六千个毛孔,孔孔舒畅。

5月份的一天,哈萨克族翻译来我处视察,破例地带我到列宁大街一家小饭馆吃饭,巧遇了另一个年轻中国人,由一位俄罗斯小伙子陪着,介绍说叫陈岸胜,四川人,还不到20岁,逃来苏联才两个月。他很矮,不到1米60,大四方脸,大嘴巴黑皮肤稀牙齿,不能给人一个好的第一印象。这个陈岸胜后来也分配到江布尔生活,可怜的马晒妹嫁给了他。分手时陈告诉了我他寄住的地方,距我的住处不到一公里。哈萨克翻译要我常去和陈岸胜见面,一起玩玩,看陈到底有多高的文化程度。我去看了他三次,他说他是四川涪陵人,孤儿,“文革”时是一派造反派的头目,搞了不少打砸抢的事。现在清理阶级队伍,抓坏头目,他逃到新疆找他一位从军队退役转业到新疆生产兵团农场当连长的哥哥,也待不下去,又逃到苏联。他又是一个牛皮大王,吹嘘“文革”时手下有上百人的武斗队,说是来苏联后准备写一本书,叫《十万个为什么》,要向毛泽东发出10万个问题。其实他的文化水平很低,不到小学四年级。不过KGB很看重这样的年青人,原因是他们在中国的社会关系不多,又年青力壮,活动能力强,是派遣去中国间谍的好对象。陈岸胜于是占了点小便宜,没有进国际集中营。后来我直接告诉翻译“陈岸胜言语无味,面目可憎,不想再见他”,他们也没勉强我。我曾向陈说了沙俄和苏联侵略中国的历史,流亡苏联的中国人的悲苦处境和KGB是个什么样的组织,要他学会自我保护。大概陈也把我这些话也汇报上去了,因为少校撒沙几次训我:“你一天到晚骂大街,这可不行!”他们不厌其烦地劝说、利诱、甚至厉颜厉色的警告我,要我听他们的话,好好与他们合作,到“和平与进步出版社”去,并加入苏联国籍。后来我实在没法子搪塞了,只好明明白白地正告他们:“我死也不当外国人。”为了表示与他们对着干,干脆,我全搬到了刘立中家住。我的“表现”实在太差,他们已对我彻底失望,不再找我了。一晃到了6月中旬,一个翻译通知我明天去KGB办公室,领飞机票回柯吉达夫金田村。我准时去了,又叫我3天后再去。阿拉木图天气暖和,6月已经有了不少新鲜蔬菜上市,我用节余下来的生活费买了一皮箱黄瓜和几把韭菜,给金田村的中国朋友们带去尝新。第三天上午,一个我只见过一两面的俄罗斯族翻译把我送上了返回金田村的飞机,见我提着一皮箱蔬菜,嘲笑说:“你老是给中国人帮忙,中国人有几亿,你帮得了吗?”KGB最忌讳中国人有集体行动,哪怕是一个人的行动能代表某个其他中国人的。飞机在卡拉干达停留,上来几位乘客,其中有一个金田村我熟悉的哈萨克人面孔,坐在我旁边一排座位上。

就是这样,我是宁可永远干体力活,也不肯到莫斯科坐办公室从事反对我的祖国的工作,回到了金田村。第二天,我就到农机站上班了。春播已结束,要准备秋收的机具,我们每天的工作便是保养和组装收割麦子和玉米的康拜因,打草机,捆草机,和电焊切割旧机器,完成废铁上交任务。当时的苏联,机械化是相当到家的,几乎每一种劳动,包括切面包和土豆都有机器。机械每年都是由政府农机部门分配给国营农场,农场野外基地上就到处堆满了各式新的半旧的和旧的农业机具,也就是到处都是“废铁”。俄罗斯人或者苏联共产党人是世界上最吝啬,最刻薄,最不讲信义的人,他们大量浪费农业机器,而和第三世界国家做生意,常常是把旧机器重新油漆,当新的卖出去。我们中国就上过不少这样的当。好几次站长要我们把一些半旧的康拜因,拖拉机认真油漆一新,把零件擦拭干净,据说就是用来向蒙古和阿富汗出口的。

到了10月,秋收开始了,开康拜因的司机,运小麦的卡车和司机,晒麦场上忙活的都是从城市里来的工人和部队士兵。本地农工只是带路的向导。这下农场可热闹了,本地的小媳妇,大姑娘,常年不接触外人,一下来了这么多小伙子,可把他们高兴得发疯了,整个村子都变成红灯区。秋收一完,总有几个小媳妇,大姑娘失了踪,跟外来人跑了。在与我们集体宿舍并排的小平房里,原来住着一对20几岁的年轻夫妇,是乌克兰来的支边共青团员,有一个5岁的小女孩。丈夫开拖拉机,妻子季娜在食堂做饭,她是全村最漂亮的女人之一。1973年秋天,一支来自高加索的部队到农场帮助秋收,带队的是个少校军官,40几岁了,把季娜勾引上了,叫她和丈夫离婚,说秋收一完就带她去高加索当官太太享福,燎得季娜高兴的心发火起泡,把丈夫赶到集体宿舍,自己和少校同居了。丈夫一气之下回了乌克兰,部队回去时少校把季娜的家具衣服装了一卡车,带着她走掉了。不料两个星期后,同一辆卡车又把季娜和她的女儿送回了农场。她向邻居哭诉:“一到部队住地,见不到少校的面,他有老婆儿女。他的老婆和女儿把我打了一顿,赶回来了。”这时,季娜的丈夫没有了,房子也没有了,女邻居又气得把她骂了一顿,她只好带着小女儿坐上同一辆汽车回了乌克兰老家。

秋收还没完,北哈萨克斯坦草原已是冰封雪盖,气温冷到零下30度。第一次遇到如此寒冷的冬天,农机站没有厂房,都是室外干活,我和刘万瑜实在无法忍受。站长是楚瓦什人,他们夫妻对我俩非常友好,她妻子养了几头大肥猪,一宰猪就叫我们去帮忙,之后大块吃肉大碗喝酒。他可怜我们没法度过第一个严冬,帮助我们调去农场十年制中学烧锅炉。烧锅炉十分累,一个人值班一昼夜,每隔20来分钟要用大铁锹往炉子里添一次煤,一昼夜要烧一吨多煤炭,全要用手推车从20米外的煤厂推到锅炉前。下午4点接班,首先得推煤两个小时。推煤时,在零下30-40度的寒夜,大汗把内衣全湿透了。全部工作时间都呼吸着煤灰烟尘。校长是个哈萨克人,吸血鬼,除了捞钱外什么本事也没有。他对我们用如此沉重的劳役换来的一点微小的工资也要贪污一半多。按规定锅炉工一个月工资是150卢布,他却按天数计算,每个月只算28天,一天三个卢布,还要扣别的钱,一个月给我们的工资就只有60个卢布了。苏联每个单位的头头都是吸血鬼,以犹太,哈萨克人和朝鲜人为最,是连遮羞布都是不要的。一次清早7点,锅炉出了毛病,我去他家找他,是一栋独立的小洋房,进房后看见房间里各式家具齐全,可是他和老婆,儿女却不睡床,客厅里铺着一张大地毯,全家睡在上面。我出来后大笑了,接受文明生活多困难啊!不过烧锅炉也有别人不能得到的好处,就是安静。门一关,无人敢来打扰,可以远离木哈江,桑布之流,用不着夜夜提心吊胆。还有就是暖和,时时有热水,可以天天洗澡洗衣服。特别是锅炉房里有一间小休息室,里面床铺、桌子、电炉齐全,还给换被褥。加完了煤就可躺在床上休息,特别是晚上10点钟睡觉后。只要保持暖气管的水是温的,不至于冻坏管子就行了,可以一个小时加一次煤。静静的长夜,温暖的房间,我打开收音机,从世界各地的电波中寻找温暖的慰藉。

我的语言能力很差很差,在新疆10年,我学不会维语,来苏联快3年了,俄语还说不好,没有阅读能力,在这漫长的岁月里,几乎与世界完全隔绝了。灾难性的“文革”在我多灾多难的祖国土地上又造了多少孽?我的心被咬噬着,却无法知道。北哈萨克斯坦草原是世界上最平旷的草原之一,海拔高,离中国又远,干扰不到,大概是是世界上收听无线电广播最好的地方。从阿拉木图回来领到第一个月工资后,花了120卢布买了一台苏联最好的“海洋”牌半导体收音机,有4个短波,收听效果极好,几乎每天24小时都收得到国内和台湾的广播。从下午3点开始,各种外国电台的汉语广播就开始了,《美国之音》每天11个小时,从下午3点到晚上12点,早上重播。英国BBC有3个小时。从“科隆发音”的“德国之声”每晚有一个小时,日本NHK,澳洲广播电台,还有新加坡的,印度的,土耳其的,南北韩的,蒙古的,后来阿尔巴尼亚的反修汉语电台也加进了大合唱,更不用说莫斯科电台与“和平与进步广播电台”了,每天喋喋不休用极难听的腔调满口胡说十几个小时。电波给我带来了安慰,带来了知识和力量,也带来了无穷的忧思。陈伯达打倒了,中央“文革小组”的好些大红人先后进了牢房。林彪夫妻摔死在外蒙温都尔汗。王洪文当了中共中央副主席,张春桥当了常委,开始了“批林批孔”。中央台不断播放着张春桥和姚文元的文章,听了叫人心惊肉麻。终于,一拖再拖的“人民代表大会”召开了,建立了新的人大常委会和国务院领导班子。英国BBC抑郁地报道:“一个90岁的委员长(朱德)任命了一个75岁的总理(周恩来),75岁的总理又任命了一个75岁的国防部长(叶剑英),他们又共同拉了一个71岁的人(邓小平)来当接班人。”谁知道这位71岁的接班人也是好景不长,不久又在批邓潮中打倒了。祖国啊,你就会如此无休止地乱下去吗?我还知道一个苏联间谍在北京郊外和苏联驻华使馆人员交接情报时落网了。台湾的广播水平不高,反共八股叫人反感,特别是有一个反共专家教授,每天都教授人民如何去当特务,破坏公路电信,水电,轮船,太下作了。不过,对大陆的消息的报道却属它最快,最详实。林彪的《五七一工程纪要》我就是首先从台湾电台中听到的,实在是一个了不起的文件,概括,精确,深刻地道出了中国现政权的本质。至今我记着其中的一些句子:“毛泽东是中国历史上最大的封建暴君,每个时期都拉一股力量,打击另一股力量。他历次革命的对象都是中国人民,首先是军人,二十多年来在他周围象走马灯垮台的人物,其实都是他的替罪羔羊。他把国家机器搞成互相倾轧,互相残杀的绞肉机。他连自己的儿子也不放过,把他逼得发疯。他以马克思主义之名,行社会封建主义和社会法西斯主义之实。借马列之口,执秦始皇之法。国民经济停滞不前,人民生活缺衣少食。干部下放五七干校是变相失业,知识青年上山下乡是变相劳改。”实在是写得好,和唐朝徐敬业造反时骆宾王写的《讨武(上明下空)檄》有异曲同工之妙。从台湾的广播中我还知道了70年代台湾经济的全面起飞,1973年平均国民所得只有466美元,两年后即猛增至760美元。50年代实现了“耕者有其田”的和平土改,把地主资本成功地转移成工商资本。在台湾电波里我听到了邓丽君的现代歌曲和师义桂的世界古典名曲演唱,还听到了久违的京戏《汾河湾》《龙凤呈祥》和《武家坡》,知道了著名国画家张大千旅居巴西,住所是中国式庭院,全家都说国语。他的小孙女也常说:“我要回中国,我是中国人,我一定要多知道一些中国的事.”1975年4月5日电波传来了蒋中正因心脏病不治逝世于台北石牌荣民总医院的消息,享年85岁。我和刘万瑜都很悲伤。我始终认为蒋公是位伟大的爱国者,只不过不是伟大的政治家和军事家,缺乏现代政治经济思想,为人又不太奸诈,不断受到汪精卫,冯玉祥,阎锡山和毛泽东的愚弄。他的固执和轻率使他丢弃了大陆,把我们这些中华民族的子孙丢进了刀山火海,欠了我们的帐。不过,到台湾后他终于痛定思痛,接受了教训,保住了中国这片和平土地,政治和经济也都走上了正轨。我用白布剪成小白花,和刘万瑜两人佩带了一星期,别人好奇地问,我们也不回答。在我们宿舍内侧门边,我们贴了一副用白纸写的长对联,全联忘了,只记得几句:“北伐三载,抗战八年,沧海浮尸,荒野埋骨,终保全我金瓯无大损。”不知道是哪个中国人告密了,农场警察特派员来要我撕掉,我拒绝了,回答说:“我没有贴在门外面。”后来也没再找麻烦。

我很喜欢澳洲电台的文艺节目,每天都有听众点唱,在“怀念的旋律”中播送各种旧的中国名曲,如《五哥放羊》特别是“金嗓子”周璇和鼻音歌喉吴茵茵唱的歌,崔萍和刘咏唱的《南坪晚钟》《林黛玉葬花》《送君》《我有一段情》……那些如泣如诉的歌声,唤醒了我逝去的回忆,把我带到了遥远的童年和遥远的祖国。每周的“星期剧院”和长篇小说连播也都十分精彩。我听了长篇小说《海那边来的人》和四川作家郭嗣芬的《云霓》,听到了流落在美国乡下的中国留学生的朋友对他说的这句话:“祖国有如慈母,随时张开臂膀拥抱她从海外归来的儿女们。”我听了以后大哭,我的祖国,我的大陆,什么时候才能张开臂膀唤我回去呢?《云霓》里男女主人公在家国之乱中发生的缠绵哀思的故事十分动人,这本书后来拍成电影了,主题歌《望白云》中的一些句子至今还深深留在我的脑海:

“望白云,你有多少愁?望白云,你有多少忧?流水流不尽,寂寞藏心头,故乡望不见,只是一场梦。遮住了欢笑……”

在那些年代,各海外电台传送的台湾同胞,海外中国同胞思念家乡,哀我中华的情思深深引起我心底的共鸣,给了我希望和在苦难中还能生活下去了的力量。我在台湾,美,英,德,澳各国中文台波段上都用红笔划上了记号,如果哪一天要把这台小收音机送到台湾华侨博物馆(如果有这样的博物馆的话)作为纪念保存起来,也是很有意义的。那些年来,台湾广播所宣传的中华民族精神和爱国主义精神都远远胜于大陆。我没有想到,今天陈水扁,吕秀莲这些台湾的新贵们却绞尽脑汁要把台湾和中国分割开来,连自己是中国人也不承认了。

英国BBC的广播节目简练,词语精当,中文文字水平高极了,而且播音员都持着中国人的民族尊严,常常在播出有伤中国的内容后,播音者再用自己的话纠偏。还有《美国之音》伦敦特邀记者陈真,真是个文章大高手,对事件的报导诙谐而入木三分,虽然国语说的不太如人意,我三十几年来听各种中文广播还没有发现那位广播记者的水平有出其右者。我最欣赏的是新开播的《德国之声》的汉语广播,因为它的报导和评论都客观公正,勇敢体现了德国人的严肃和科学态度。当时勃列日涅夫时代的苏联国力正是如日中天,在地球各方处处咄咄逼人,除《美国之音》外,许多外国电台对它的各种无理行径都噤若寒蝉,而中国电台虽也在大叫大嚷地“反修反霸”却说不出什么道理。只有《德国之声》,对它东方强邻的不义之行能够及时报导,深刻揭露,勇敢批判。在苏联领导人不止一次发出我们要让联邦德国知道,作为一个国家它是否能存在下去的赤裸裸威胁时,这需要多大勇气,冒多大风险。最难能可贵的是《德国之声》能勇敢地批判自己国家的过去,一次次批判它在历史上所犯的错误,特别二战时希特勒的反人类罪行。还用讲座的方式把明代以来的中德关系历史报导出来,诚恳检讨侵略中国和二次大战期间同日本结盟,危害中华民族利益的各种历史错误。德意志民族是一个负责任的民族,德意志国家是一个对世界负责的国家。反观日本,1895年中日甲午战争以来,1931年“九一八”事变以来,1937年卢沟桥事变以来,日本鬼子对中国人民犯下的各种滔天罪行比希特勒法西斯在欧洲干的要超出十倍百倍。南京大屠杀,海南岛20万人的血债,细菌战,沈阳,大连,抚顺,大同各地屠杀中国人民的万人坑,日本政府却从未公开承认过自己的罪行,向中国人民陪过罪,更不用说赔偿了。

听“美国之音”三十年如一日,成了我们的日课。当时正值中国“文革”大混乱的时期,政局不稳,国民经济濒临崩溃的边缘,中苏敌对到了最可怕的程度,“美国之音”的评论员常常忧心忡忡地评论说:“如果毛泽东江青的野心不加收敛,中国的政局会进一步混乱下去,经济上和军事上的中苏对比差距越来越大,也越来越对中国不利。”美国人聪明灵巧地乘机拉了中国一把,中美修好合作成了后来苏联解体的重要外部因素。长达四年的流放岁月,我没有遇到过一件高兴事,只有“美国之音”详细报导了两次外国改变,使我兴奋不已:它们是智利和孟加拉的政变。1971年还在阿拉木图时看到苏联人兴高采烈,竞相议论,说智利的阿连德当了总统,马克思主义在拉美有了根据地。我悲伤智利老百姓又该遭难了。两三年后,听到皮诺切特将军发动政变,把阿连德政权推翻了,使我高兴。想不到的是中国政府的立场居然和我一样,承认皮诺切特政府,皮诺切特也投桃报李,在毛泽东生日的前一个月就给他发出了热情洋溢的贺电。苏联,蒙古各国汉语台便大讽刺,嘲笑。在阿拉木图坐牢时,正值孟加拉独立战争,审讯我时,预审官给我一本苏联时事画报:大街上到处是妇女、平民的死尸。他指着画片对我说:“这都是你们中国帮助巴基斯坦独裁者皮雅哈克将军干的。”不久印度出兵了,拉赫曼投靠苏联和印度,印度大军肢解了巴基斯坦,把拉赫曼扶上了台,苏联军舰开进吉大港,帮拉赫曼扫雷。我又一次感到悲伤,苏联在中国西南部又占据了一个包围中国的大据点。不久印度又乘中国文革,无力顾及境外之际,并吞了喜马拉雅山的文明小国锡金,锡金大公出逃美国。我感到更大的悲伤,印度扩大了对我国西藏的包围。我真不明白,我国在我固有领土西藏行使主权,美国和西方各国说三道四,扶持达赖,帮助印度包庇下的西藏流亡之伪政权,人为地制造了西藏问题,对印度一次次赤裸裸的对外侵略并吞锡金,肢解巴基斯坦,却不闻不问,还暗中帮忙,公理何在?

印度新德里电台每天有半小时的汉语广播,广播员连汉话都说的结巴,是所有外国汉语台中最没有水平的,大概也代表着“印度当时的水平”,莫斯科的汉语台水平也只稍胜一筹,大概翻译和播音员都是一些半文盲,只有本事泼妇骂街般地骂中国。他们把美国作家马克吐温播成美国著名作家马克和吐温,把中国古典名曲《阳春白雪》讲成暖和的春天和雪,叫人听了不禁捧腹大笑。后来我和刘立中把各主要外国中文电台按中文的语言文学水平排了一个队,英国BBC是冠军,接着是“美国之音“,澳洲电台,德国之声,中国大陆,台湾,日本NHK,莫斯科和蒙古电台押后,印度电台垫底。当时还没有法国的中文广播,90年代开播了,起初喜欢自吹自播,不时损害中国人的民族感情,还在新书介绍里出现了《上海法租界》一书的介绍,炫耀它的侵华历史。法国也是个自不量力的国家。我听了几次后,很生气,1995年曾用国际邮件给它寄去了两首打油诗:“世事扰扰令人惊,矮子偏充长子身,自家房顶不打扫,反笑他人雪里行。”“大战胜利五十年,中美英苏浴血战;纵有总理凶似虎(指一战后巴黎和会上咆哮全场的法国总理),凯旋门上降旗悬。”

在如此险恶的地方,过着如此卑贱的流放者生活,随时会祸生不测。我不知怎么把那漫长的4年活过来了,现在想起来还心有余悸。特别是我的前半辈子,离开家门,即入校门,在各级学校之间转来转去,都是知识分子阶层中生活,很少接触下层社会,对其中一些人的奸猾无信,损人利己,惹是生非,甚至在生死关头出卖朋友的种种,都毫无戒备,所以给牛水出卖了。

刘万瑜和另一个老乡李广讳是两个惹事大王,共同的爱好是找女人。哈里木江,桑布这些人挑动比刘,李还年青也有钱的维吾尔人和哈萨克人与他们两个作对,争风吃醋,打架也就常常不断。李广讳还是个见利必争的人,即使是针头蝇利。只要集体宿舍住的中国人调走了或者跑掉了,留下有衣服他都当自己的财产,理由是“他借了我的钱”。还常常吹嘘他在湖南老家当过生产队的民兵连长,是中共预备党员,只不过晚上上厕所拿了旧信封当手纸,信封上有毛主席像,才被打成现行反革命,挨不了斗,跑来苏联的。当过大跃进时的民兵连长,难怪品质如此之不令人欣赏。

冬天,不知从哪里来了一位维吾尔姑娘,长的很漂亮,也会说几句中国话,见了中国人就热情招呼。一天,李广讳在我们住的宿舍请她的客,要刘万瑜作陪。当天烧锅炉是刘万瑜的班,他要和我换班,正中我下怀,好远离他们。下午4点刘李两人买回了肉,鱼和大米,准备宴席,我悄悄烧锅炉去了,但心里忐忑不安,觉得今晚要出事。果然到了晚上10点,陈梓急急忙忙跑来叫我:“老雷,刘万瑜和李广讳叫你快回去,哈里木江带着人把我们的门砸了。找他们打架。”我工作服都没脱,披棉衣跑回去一看,只见房门给砸了,碗碟扔得满地,那个维吾尔姑娘不见了,两三个中国维吾尔人和哈萨克人和刘,李对恃着。我一进门,李广讳马上说:“我去找我仓库的伙伴来帮忙。”刘万瑜说:“我去把管锅炉的小暖工叫来。”丢下了我一个人,一个哈萨克人和一个蒙古人上来扳倒了我,拳头像雨点般落在我身上。我从来没和人打过架,刚开始不知如何招架,后来下了狠心,拼命咬着一个人的手指。有人把我送进了农场医院,醒来后,发现我额角上,上嘴唇和胳膊上都贴着胶布,嘴唇上的伤口至今还清晰地保留着,我打输了。谁知一个星期后,苏联的区警察局,那几个哈萨克局长和副局长却把我关进了牢房。苏联法律规定住宅是不受侵犯的,哈里木江他们破门而入把我打伤,起码得判3年徒刑。刘万瑜去告,没人理,凶手仍逍遥着,还不时来医院向我示威。出院后,刘万瑜提议我们3人一起去警察局告状,一到区上,两个警察就逮着我们押到了局子里,哈萨克副局长一见我们就说:“关他们10天”,理由是别人到我们房子作客却找客人打架,又不经允许离开农场。10天拘役,白天是要干活的,我告诉刘李两人,拒绝干活,警察来拉我们就和他们打,至多不过打死。他两人同意了。每天两顿饭,3个人分一个面包,早餐每人一杯茶,晚餐每人一小勺豌豆汤,每天挨饿。一个星期后我们主动要求出去干活,好在外面买点东西吃。警察带我们到一个木工房,把我们带的钱搜走了。我们先有准备,在鞋底藏有钞票,拿出10卢布请一个俄罗斯小木匠买了一大堆香肠和面包,花了7卢布,剩下的3卢布给小木匠贪污了。出狱时,我问少校局长:“你凭什么把我们关10天?”他回答:“我不知道,是副局长关你们的。”我对他说:“我们中国人总有一天会收拾你们的。”后来那个局长遇到我时说:“上司把副局长调走了。”

在垦荒区,除牧民外,当官的和当警察的几乎全是哈萨克人,但军队和KGB不掌握在他们手里。哈萨克人也最喜欢当警察,不用干活,大街上训几个人就白拿工资,不用动脑子,也不要读书写字。有这样一个训练哈萨克人当警察的笑话:“俄罗斯教官对哈萨克警察说,如果你们在商店里看到顾客抢购某种商品,就要前去劝阻,和和气气地对顾客们说:“同志们,你们不要吵闹,不要打架,排好队,按次序,我们这种商品多得很,保证供应。”后来学员出去实习,在公园里见到几个流氓围着调戏一位姑娘。就上去劝阻,对流氓说:“同志们,你们不要闹,不要抢,我们的姑娘多得很,保证供应。”

坐了10天牢,忍受了无法洗雪的奇耻,也算有收获。同牢的鞑靼囚友告诉我警察局长是个大坏蛋,大贪污犯,向我说了他的贪污故事,相当典型。牢房里有时间思想,我把这个故事编成了一个话报剧,出狱后立即记下来了,原稿尚存,照抄如下:

警察局长,盗马人,失马人

第一幕:警察局长办公室

警员:报告少校同志,那个被人告发了的偷马人请求您的接见。

局长:几个人?

警员:就他一个人,还开着自己的小汽车。

局长:去告诉他,我现在没有时间,叫他中午一点午休时在我家门前等我,你把我的住址告诉他。

警员:是!

第二幕:警察局长家

盗马人手里提着一只大网袋,里面装有4瓶白兰地酒,看见局长走出自己开的吉普车,立即上前向他微笑,鞠躬问好,说:少校同志!您好!

局长:您好,有什么事?

盗马人:少校同志,我请求您帮助我。我可以把这几瓶白兰地送给您吗?

局长:你是傻瓜?在我们家门前就这个样子,进去!

盗马人:我错了,请您原谅。(他们进了警察局长的客厅,盗马人把4瓶白兰地放在小桌下,还递给少校一叠钞票。)

局长(指着沙发):请坐!

盗马人:谢谢您。首长,您知道我是个奉公守法的老实人。我怎么向您说呢?我和我的朋友在草场上找到了几匹没有主人的马,我们牵走了。却有人告状,污蔑我们偷了马,告到您这儿。我们很害怕。只有衷心、衷心地请您帮助。

局长:马呢?

盗马人:卖给肉联厂了。

局长:什么价?

盗马人:一匹一千卢布,一共4千。

局长:你们一共几个伙伴?

盗马人:3个。局长:那么,那么再给您们增加一个伙伴行不行?

盗马人:行行,太好了(又从口袋掏出一叠钞票递给少校)这是一千卢布,是您的一份。感谢上帝,首长您是我们的朋友了,我真高兴(向局长伸出手)您好,亲爱的朋友!

局长:紧紧闭上你的嘴,没事了,你走吧!

盗马人:再见。

局长:再见。

第3幕:局长办公室,午休后。

警员:报告少校同志,那个丢了马的牧民要来见您。

局长:叫他进来(牧马人进来了,谦恭地向局长脱帽敬礼)

局长,(正颜厉色地):你找我有什么事?

失马人:报告首长,我负责放牧的马群中丢失了4匹马,我已经找到了盗马贼,早就写报告到您这儿了,好长时间了,我想知道什么时候您处理我的案子。

局长:闭嘴!你倒审问起我来了。我问你,为什么别人的马群里没有丢失马,你的马群一下子丢了四匹,你是如何保护国家的马匹的?

失马人:失马不是我的过错,是别人偷走了。我好不容易找到盗马贼,告到了您这儿,现在就请您按法律执行任务。

局长(拍桌子):住口!你自己丢了马,倒还赖我们警察局没有执行法律。苏维埃警察局是给你们看守马的吗?我们区有几万匹马,警察局管得过来吗?由于您的失职,国家财产受到了损失,反而侮辱我们苏维埃政权。你才是罪犯,是诬赖苏维埃政权的流氓,再多说一句,我就判你10年徒刑,送你去西伯利亚。(失马人哭了)

局长:赶快滚回去,凑钱给农场赔马,赶快离开我这里,把你的灵魂也带走!我永远不再想见到你,明白了吗?中士!

警员:局长,您?

局长:把这个人给我带走,再也不让他进我的办公室的门!他想到哪里告状就到哪里告去。不管他告到哪儿,我们苏维埃法律都不保护不尽职守的人。

警员:是!(回过头来对失马人说)跟我走!

囚犯朋友说,每到冬天下大雪,警察就到各农场去抓酒鬼,抓罪犯,抓到区上来给各机关的屋顶和大院扫雪。每年判多少人,把多少人送进集中营都是有计划的,完不成计划警察就没有奖金。有了钱,杀了人也可无罪释放;没有钱,喝醉了也是犯罪。我的亲身经历和亲眼所见告诉我,苏维埃政权已经完全腐朽了,遍地贪官污吏。警察,小偷,骗子和盗匪都是一家人,苏联已经病入膏肓了,别看它外表强大得令别国发抖,骨子里全腐烂了。

坐完牢回到农场,我们锅炉工的活给两个维吾尔人抢走了,只得回到农机站。站长博格刘波夫客气地接待了我们,说:“你们劳动好,真正的中国人我很尊敬,就到我这儿干,哪里也不要去了。”当了10天冤枉囚犯,我也发现了一个真理:在苏联当流亡者就要真正破罐子破摔,别人欺负了你,就和他打架,打伤了养好身体再打,坐牢了出来后再打。此后我和刘万瑜随时在身边准备一根铁棍,只要有人无故欺辱我们,只要有人骂中国人,就拿着铁棍敲过去。苏联最重政治宣传,反华宣传无孔不入,苏联人喜欢骂毛泽东。后来发展到只要有人在我们面前骂毛泽东,我们也和他干仗。有的苏联人奇怪地问我们:“你们如此地热爱你们伟大的领袖,为什么还跑到我们苏联来了呢?“我们回答:“中国的事不能叫外国人管,中国的毛泽东不能叫外国人骂。”苏联从国家到个人,都欺软怕硬,特别是哈萨克人。他凶你更凶,首先软下来的必定是他们。以后,不管是警察还是苏联流氓都不太找我们的麻烦了,而新疆来的民族同胞对我们的无端挑衅却没有大改变。

80年代末。我回国探亲时买了不少金庸大师的武侠小说,爱上了,读《鹿鼎记》时,发现韦小宝对付罗刹鬼的办法原来金大侠总结出来了:“这些蛮横之辈欺善怕恶,眼见对方更蛮更恶,便只有乖乖地投降了。”针锋相对,以蛮制蛮。不过话也得说回来,苏联人的平均教育水平高,一般人都中学毕业,官员们都上过大学,面子上的文明还是要保持的。苏联共产党天天对外宣传它的共产主义人道主义,不愿意在外国人面前太撕破脸皮,不象中国的“反右”“大跃进”“文革”中共对阶级敌人那样绝对凶狠,那样毫无顾忌。出狱不久,州KGB来人通知农场供销社:要保证对中国人的大米供应。我们每天早上8点日出而作,下午三点日落而息,星期天休息。苏联实行5天工作制,农场6天,所以每天只工作7小时。下班归来,第一件事是打开收音机,然后开煤气炉炒菜做饭,吃得不错。草原上蘑菇生长得十分茂盛,只有不是大雪覆盖,什么时候都拾得到,出农场半公里,半小时就可拾得一大筐。肉炒新鲜蘑菇,闻到香气就诱人了。我们好好过了蘑菇瘾,也过了大米饭瘾。在新疆10年,完全没有大米供应,在阿拉木图时吃食堂,以后坐牢,都很少吃大米。我是湖南人,是洞庭湖边的大米把我养大的,大米几乎成了我生命的一部分,现在,在不出产大米的寒冷北方,农场商店随时有大米卖,,很能说明当时苏联还是富裕的。苏联人除伊斯兰教民族外,斯拉夫人,摩尔多瓦人和日耳曼人都爱吃猪肉,特别是腌肥肉和熏猪肉。喂猪的饲料全是小麦,家家养有大肥猪。他们还没有学会吃猪下水,宰猪取肉后,把下水挖个坑埋掉,我们教给他们下水的吃法,一些邻居或同事宰猪时把下水送给我们。刘万瑜很会清理肚肠,冲洗干净,用苏打水一泡,再洗净,做粉蒸肥肠或洋葱炒猪肚,都是美味。几盘自炒的佳肴,三杯伏特加一下肚,一时也把忧愁和烦恼忘掉了。

一次进城,一位老华侨、李广讳的第一个岳父送了我8张中国古典音乐唱片,《步步高》《彩云追月》《梅花三弄》《良宵》《三谭印月》和《二泉映月》全有,我又买了一个带电唱机的大收音机,晚饭后床上一躺,被熟悉而喜爱的中国古典乐曲带入梦境,带回了遥远的故国,故乡。我想,我祖宗真是积了德,使我一次次逃出鬼门关,流放到了西伯利亚,还能自得其乐地活着。于右任老大爷在台湾写诗“悲莫悲兮国分裂”,应该加上一句“痛莫痛兮人别离”。我几乎夜夜做梦,梦境几乎只有两样,要么是我在中国弯腰折背挨斗争,要么就是我和亲人团聚。团聚总要被恶霸打散。我非常想念我的祖父,爸爸妈妈和弟妹们。

我是祖父最钟爱的孙子,1960年祖母饿死,80岁的祖父孤苦伶仃地生活着,我想哪怕我能在他面前尽一日之承欢也好。我祖父不识字,可最勤劳,最智慧,是最有开拓精神的老一辈中国农民,是老家远近几十公里最了不起的开发功臣。祖父的爸爸,我的曾祖父是个纨绔子弟,在他父祖两代有功名的先辈先后去世后,还是积习不改,三拳打死了下乡收税的衙役。一场人命官司下来,我们雷家长房由巨富变成了赤贫。曾祖母是出身官宦家的小姐,家道中落后忍饥耐寒,把祖父带大了。当时家里一块稻田都没有,祖父7岁就上山开荒种杂粮,13岁独身出外做生意,跑湖北沙市到邻县,长途贩卖食盐。那时我们湖南不出盐(谁也不知道我们脚下就有一个江南最大的澧县盐矿,60年代才发现),吃的大部分是川盐,盐船从长江顺流而下通过沙市,再批发到湘西,鄂南各地。祖父曾经对我津津乐道过他少年时代的一次奇遇:有次在沙市一家酒楼上吃牛肉大面,上来一个满面红光的老者,长着一付其长及胸的浓密的白胡子。祖父想,胡子把嘴巴全遮住了,如何吃饭呢?一时童心大起,叫酒保端来几盘菜肴,一大碗牛肉面和一壶酒,请白须老人吃饭。老人没有拒绝,坐下后从怀中掏出一个锦缎盒子,从盒子取出了一对金钩,掛在耳朵上,再从唇中央把长须分开用金钩掛在两边,之后很方便地把牛肉面吃光了。分手时,他对我祖父说:“后生家,不管你在哪里行道,遇到劫道的就高喊‘金钩李胡子’,马上会免灾。”那时从沙市到石门是山道,一路上“替天行道者”不少,我祖父有了这位无形的保镖—金钩李胡子,再没有出过一次事。做生意赚了些钱,回家全力开发小农场,低价买下了长达1公里的蔡家湾两边的土地,雇了几个短工,自己带头,除去杂木杂草,把沙质的土地翻挖过一遍,在山岭上种上松树,陡坡种上樟树和杉树,缓坡上种油桐,油茶和乌桕树,住房后面和两侧种竹子,房前种芭蕉和天竺,园子里种上桔,桃,李,杏各种果树。三年桐子九年橙,到我父亲成人后,建起了榨油厂,榨桐油、茶油和乌桕油,方圆几里的人家也都来我家的油厂榨油。日本鬼子投降后,美国大量进口中国桐油,生意兴旺,日进斗金。共产党来了,榨油厂被征收。1958年北京一声令下,大炼钢铁,大办人民公社,爷爷几十年辛辛苦苦种下的树和家乡郁郁葱葱的树林一样,和全中国大部分森林一样被砍光了,烧光了。1963年,我家乡全公社一年的桐油产量还抵不上我家原来一年的产量。我父亲上过民国初年旧制4年的中学,古文程度比我高,字也比我写得好,没毕业就回家经营榨油厂。30年代抗战军兴,父亲到县上接受了抗日自卫军的训练,二叔投笔从戎上了中央军校。记得1942年常德保卫战,祖父捐出一袋袁大头和孙中山头像的银元作军费。国民军死守常德,一个师打得只剩下20几人,国民党中央军事委员会要用军法严惩师长。我父亲拿着请愿书到处请人签名,上书中央挽救师长的性命。母亲出身石门县显赫的唐氏家族,嫁到我家后成为贤惠的媳妇,服侍我雷家祖孙6代人。他们都是勤劳而善良的人,乐善好施。1949年前我们湾里也有两三家穷乡亲,是我母亲救助,没有一家挨过饿。每到旧历新年,从湖北过来和山上下来的苗人讨年饭,我母亲都用大块的肉和豆腐,一大碗一大碗的白米和炒米花打发他们。1952年土改,我祖父被划成为地主,民兵把他绳索捆绑,在他的谷仓里关了一个多月。文革伊始,父亲成了全公社斗争的重点,捆绑着跪木柴,跪瓷片,我两个教书的弟弟也押送回家“监督劳动。1968年我偷偷回家跟着他们吃红薯,悄悄流眼泪。几个侄儿侄女有4个已经分别3岁,4岁了,对我十分亲热,白天晚上跟着大伯不分开。特别是大侄子昌俊(小名金平)长得十分像我,也十分亲近我,一次病了,在弟媳的怀抱里要大伯陪他。现在,他们活得好吗?我还能见到他们吗?1972年一个晚上我做梦上牙全掉了,掉牙是亲人去世的凶兆,果然后来得知祖父在这年去世了。我还经常梦见青年时代的女友小吴,一位聪明而能干的锡伯族姑娘,我们相爱了3年。“文革”前我们建立家庭已初具规模,只等她中专一毕业就结婚,她给我的信上写下了”生是雷家人,死是雷家媳“的誓言。文革开始后,专整我的那个中共县委书记宋植就一次次跑到伊宁市强迫她和我分手。不久她另嫁他人了,我没有抱怨她,她一个弱女子无法承受比天山还沉重的压力。在异国土地下,这段年青的纯真的爱情使我回味无穷。60多岁以后,老大思乡思故人,我梦见她的次数更多。

在金田村我也交了几位好朋友,常到他们家里避难,除站长博格刘波夫外,还有一位波兰人波勒科夫斯基。他50多岁了,是斯大林屠杀一万多名波兰军官的“卡亭事件”中的幸存者,参加苏联红军后,同德军作战勇敢,一直升到上尉,打到易北河边。他回忆往事说易北河苏军和美军会师场面极其热烈,大家拥抱在一起。美国士兵把他军服上的扣子都摘光了,拿去当纪念品。但大家友好相处只有一个星期,上头下命令建起隔离带,再不让苏军官兵和美国人接近了。他说他们部队解放了一个法西斯的集中营,关的都是法国女囚。苏军把集中营一打开,成百上千的法国女人就涌出集中营,到田野上抓青蛙,做蛙肉饼吃,她们俄得太厉害了,我才第一次知道了法国人和中国人一样,也是吃青蛙肉的。每逢节日,他都叫妻子宰一只大肥鸭,请我去喝酒。场部的两家德国人家庭对我们也十分友好,我们出了事就来帮忙,一位开拖拉机的德国朋友还想把他的妹子嫁给我。柯吉达夫是集中流放德国人和波兰人的地方,有几个波兰农场和德国农场。德波两大民族的素质,一比之下泾渭分明。德国农场当官的不贪污,农工不偷盗。农场规划得十分科学,屋宇整齐,绿树成荫,鲜花遍地,比城市还漂亮,农民的收入也是州里最高的。波兰农场则是上下一齐偷,破烂不堪。60年代后,波兰人在领护照时把自己登记成俄罗斯族,全变成俄罗斯人了。1974年农场修办公大楼,建筑队是德国人组成的,干活讲质量,效率也高,队员们和我们住在一个集体宿舍,下班后常来找我们谈天。当年夏天,德国人在柯吉达夫和蜀琴斯克两个城市游行示威,要求恢复被废除了的日耳曼自治共和国,被镇压了,领头的都失了踪。我们的德国邻居们谈起这件事都一个个义愤填膺,有的还摩拳擦掌地说:“我真想去和他们干一场!”不久德国建筑队就解散了。不过,对德国人的游行和要求,苏联其他民族的居民并不同情。二次大战后,苏联对德国人的积怨太深,即使苏联政府向德国索取了巨额的战争赔款。日本人在中国造下的罪孽比德国人在苏联造下的要超过一万倍,日本却没有给中国赔偿,要中国人对日本友好,办得到吗?

还有两三个小青年也常来找我玩,两个是俄罗斯族,一个哈萨克族,包括村苏维埃主席(村长)的儿子,都是高中毕业后没考上大学在农场就业的。他们爱好文学,也喜欢杂学,看我懂得多,便常来找我问东问西,也一起喝酒,给我讲一些苏联政治笑话,后来都分别服兵役去了。一位俄罗斯青年上了士官学校,哈萨克青年则派到苏联在捷克的佔领军中。哈族的那位在信上说:“捷克人扯蛋的很,官长都不放我们出军营。节日来了,回想我们一起喝酒谈笑多么快乐,现在你们过节,我却给关在营房里。”一次喝酒,他悄悄告诉我说:州KGB的一个哈族上尉每个月都要到农场,每次吃住在他家,给他父亲说:“阿列克是个很有头脑,知识渊博的中国人,对我们苏联十分危险,有一天我们要杀死他。”看来,他和我接近也是带有任务的。但他是一个正直,诚实的青年,心地也好,没有对我做过坏事。

他们说过这样一些笑话:

一个美国人说:“我有两个农场,一个别墅。”一个英国人说,我有一个农场,两个别墅。“一个苏联人说:“我有一把铁锹,供3个农场用。“

经济部门的两个职员上班时相互报导新闻,一个对一个说:“听说明年不给长官发羊羔皮帽子了。因为经济学家长期研究后得出结论:把一只羊的皮子剥下来套在另一只羊的身上是不符合经济规律的。”

一头大熊坐在小刺猬身上,把刺猬压死了,自己的屁股也给刺痛了。熊说:“没关系,虽然我的屁股刺痛了,我还是很欣赏从下面来的批评,特别是批评者被我整死了之后。”

区党委员会的政治报告员到疯人院作政治报告,大谈苏共的英明领导和苏联人民的幸福生活。听完报告后疯人都鼓掌叫好。只有一个人静静坐着,动都不动。报告员问他:“你为什么不鼓掌?”他回答说:“我不是疯子,我是疯人院里的电工。”

几个朋友集会在一起,互相询问生活状况。一个说:“像住在轮船上,前面是茫茫大海,看不到目的地,还不断呕吐,但是也在前进。”一个说:“象红场上列宁墓里的列宁一样,不能吃,不能动,却也没有给埋掉。”一个说:“象树林里橡树掉下的橡子一样,周围都是木头人,每一只猪都想来把我吃掉。”一个说:“像土豆一样,冬天没吃完剩下的,春天又埋到地里去了。”一个说:“像印第安人一样,身子光光的,上头却有一个领袖。”一个说:“像衣服的扣子一样,早上一起来就把它扣起来。”一个把大家的生活做了总结,说:“我们的生活就像恐怖电影一样,越往下越可怕。”

阿塞拜疆和阿尔明尼亚两个共和国境内发生民族冲突,两国领导人去请求斯大林解决。斯大林说:“给你们建立一个共同的首都,不在巴库,不在埃里温,而是在马加丹(马加丹是苏联北极地区最大的劳改营地,在那里被折磨死掉的人达60万。)

课堂上教授问学生:“如果在非洲撒哈拉大沙漠建设社会主义,会得到什么结果?”一个学生回答:“结果是,先给老百姓发票证领沙子,用不了多少年,沙子就会发光,撒哈拉大沙漠也就消失了。”

某国营农场一头母猪下了一头小猪,党委书记听后发愁了:只下了一头小猪,太少了,怎么向上级交代呢?不过下了总比没下强。想了想,汇报区委会说母猪下了5只小猪。区委会汇报州委会母猪下了7头小猪。州委会汇报农业部,下了12头小猪。农业部汇报党中央,母猪下了15头小猪。党中央最后给勃列日涅夫汇报母猪下了20头小猪。勃列日涅夫听了很高兴地下命令:“3头小猪送给列宁格勒市的工人,3头小猪留在英雄城莫斯科,5头出口,5头援助非洲人民,剩下的送到军队食品仓库给冻起来。”

一个楚克齐人站在白令海峡西岸向东高喊:“美国人,你们的钱不够使吗?”对岸的美国人听后反问:“你问这个问题干什么?“楚克齐人回答:”那么,为什么你们在买阿拉斯加时不把楚克齐也一起买走呢?”

我也交了两位俄罗斯女朋友,都叫刘达。小刘达是邻场“共青团农场”中学的数学教员,大刘达是建筑队的油漆工。我们刚到金田村不久,我到区上拔牙,天下着大雨,拔完后在路边等便车,过路的车一辆也不停,直到我们农场的一辆卡车见到我这个中国人后停下了,一位俄罗斯姑娘,也急急忙忙赶来,和我一同上了车。后来我知道,凡是中国人拦车,只要是金田村的司机,就会把你带上,是上司吩咐了的:把中国人放在监管地外不放心。姑娘说她师范学院毕业后分配到共青团农场中学里教数学,家在区中心附近的一个农场,隔几个星期就回家一趟。共青团农场是金田村近邻,相距20多公里。车开回场部。大雨还下个不停,我就请小刘达到我们宿舍休息。刘万瑜一看到我带回来了一位漂亮姑娘,真是天上掉下来个大宝贝,高兴得发了昏,马上烧水给她洗脸洗脚,到商店买回鱼和牛肉罐头,还有伏特加,炒菜招待她。刘的俄语比我说得多,说的好,不停和刘达说笑。介绍自己也当过教员,朋友在中国是作家。雨停后,我和刘送她回去,走了两三公里,碰上便车把她带走了。路上她似乎对我比对刘万瑜有兴趣。快步拉着我走到前面,把刘丢在后面,脱下黑丝绒手套,紧握着我的手。以后她过金田村时,都要来做客。秋收时,站长派我到共青团农场运康拜因零件,见到她带着学生在晒麦场晒麦子,就去看她。她把我带到住处,用啤酒和罐头招待我。他们单身教员住的集体宿舍和我们住的一模一样,两人一间,陈设也很简单。回到打麦场,我看见俄罗斯场长把一个中暑的小学生抱起,开着吉普车送去医院,与我们农场的土著场长依斯马衣诺夫的官气有天上地下之别。依斯马衣诺夫每走出办公室,即使只到相隔几十米的地方,也是前呼后拥一大群人,像皇帝出巡一样。我在他手下干了几年活,见到他几十次,没有一次笑容。和小刘达若断若续地交往半年多,常对我说:“农场生活、苏联生活已经使我厌烦透顶了,真想到外国去,不管是哪个国家,只要不是苏联,谁带我去我就跟谁。”我迷惘了,能带她去中国吗?决定与她分手了。

大刘达是1973年冬修办公室的一位油漆工,30多岁了,胖呼呼的,面目姣好,丈夫在劳改营,一个人住单间宿舍,就在我们宿舍的斜对门。这个女人好吃的很,下班后一闻到我们住室散发出的中国菜肴味就不请自来,不请自吃,非常随便,但守身甚严,刘万瑜几次勾搭他都不成。好几次在夜里,建筑队的男工去敲她的门,都给她骂走了。一天下班后到了我们居室,叫我给她烧盆热水。我烧好热水,她当着我的面宽衣解带,洗过身子后躺在了我的床上。冬天来后,她到区中心一个单位当锅炉工,还领了一处套间住宅,叫我去区上办事一定到她家。几次我到区上就去她家,两人一次能喝光一瓶伏特加。在如此地方我不敢多交朋友,怕麻烦,干扰我听收音机,也花不起钱。

苏联人脸皮厚,一进门就要酒喝,一瓶酒喝不完不会走。中国人去后不久,大家都知道汉人最讲究过春节,每逢春节,中国少数民族同胞就成群结队来给我们拜年,目的是为了喝酒。以后苏联人也闻讯来了,真难招架。还有一次,上面派来一个测量队,住进集体宿舍,领头的是位俄罗斯老头,也上门贺节,向我们介绍了他的经历说:卫国战争前在莫斯科上大学,战争发生后入伍了。他从小仇恨苏维埃政权,队伍一开到战场就向德国人投降,关进了俘虏营,战后被送回国在西伯利亚集中营劳改了几年,当局没发现他投过敌,放出来当了测量工程师。他向我们说了好多苏联的黑暗面,也讲了许多政治笑话。当时离珍宝岛自卫战为时不远,中苏边界争端不时被议论,我谈及俄国和苏联占领了中国大片领土,老头子马上一改常态,站在苏联立场上脸红脖子粗地和我们吵架式地争论。

除春耕秋收两三个月内忙于给各生产队清理,分配机器,秋收完后把康拜因保养一番外,我们主要的活就是拆机器,收集废铁。装牲畜过冬吃的草也是极沉重的劳作。这里一年中有半年是冰封雪冻,牲畜要关在圈里,用干草和饲料喂养。一当秋高草长之际,农场就要打牧草、割草、捆草,装草上车和垒草堆都有专门机器,不过装草机性能不好,一用就坏,只好废弃不用,人工装车。草捆有30公斤,两个人用铁叉举到卡车上,再由上面人装整齐,非常吃力。农工们家家都有奶牛,也要准备草料。我们白天给公家干,晚上就给本单位同事装。农工储草都是半分配半偷窃,必得在晚上进行。春天剪羊毛和装羊毛捆也是累死人的工作。全农场有几万只羊,集中到场部剪毛,打捆和装运。如果在各生产队分散剪毛,大部分就得给偷掉。一捆羊毛80-120公斤,全场几千捆,从卡车卸下来装上火车,都是我们一些单身中国人的活。日夜赶工,晚上两三点钟还得坐卡车赶到60多公里外的火车站卸车装车。指挥这项工作的是农场总畜牧师,俄罗斯人,是个吃人不吐骨头的吸血鬼。多少年来我们当装卸工加夜班的工资都给他贪掉了。农机站的4个工人还另有一项任务,在公墓给没有亲属的死人挖墓。垦荒区人口的死亡率很高,非正常死亡很多,常常听到,不是某人拼刀子死了,就是某米沙喝酒醉死了,还有翻车砸死的,争女人给人暗杀的,都不把死人当成新闻了。场部和各生产队都有公墓。场部的公墓的坟堆有300多座,而场部人口只有400来人,20年内死了300人。一天中午我正在检修一台康拜因,一位拖拉机手在十米外给拖拉机换轮胎,突然一个大汉跑来给他胸部就是一刀,当场给捅死了。把我们都惊呆了,几个人把凶手掀到在地,他毫不反抗。凶手和死者都是俄罗斯人。凶手是个老囚犯,本农场的居民,大部分生命都是在监狱中度过的,刚出狱又杀人了。原来他在监狱里和同犯打扑克,赌的是人命,谁输了,出狱后得杀死两个人。此次他刚出狱回家,物色了两个对象,一是场部修建队的领班,一是刚被杀死者,都是搬来不久的外来户。杀了一个还剩一个,不过他怕再也没有机会杀第二个了。不久后在农场会堂开审判大会,判了凶手无期徒刑,要送到北极圈内的铀矿去挖铀矿,用不了三五年,铀辐射便会要了他的命。

1973年夏天,KGB把我和刘万瑜又传到阿拉木图,在旅社住了3天。KGB在审理牛水,要我们作证。牛水在1971年到基米尔道夫市,在钢铁厂当钳工,没多久和一个在公共汽车上认识的乌克兰姑娘结了婚,还怀上了娃娃。几个月后又抛弃了妻子,和一个缝纫工俄罗斯寡妇同居。基米尔道夫是哈萨克斯坦最大的钢铁工业中心,产的钢铁比当时的鞍钢还多,离哈最大的工业城市卡拉干达只有30来公里。在卡拉干达他也认识了不少中国人,又把一个老华侨的独身混血女儿当作了未婚妻。他还在当地中国人中发起组织反毛政党,要把已被KGB取缔了的“中国劳动人民革命小组”恢复起来。在我们约定的出走伊朗的前一天即1971年7月21日向KGB基米尔道夫市派驻局告发了我和刘万瑜。KGB的一位少校预审官对我们说:“我们知道刘万瑜在中国坐了十几年牢,雷光汉也是中国文化革命定性了的黑帮分子,都是真正受中国政权迫害的。为什么牛水出主意和你们一起逃伊朗,又来告发你们?为什么他要迫害真正被毛泽东迫害的人?为什么我们不许他在苏联从事政治活动,他却一再组织反毛政党?我们认为他是真正的毛泽东特务,在制造事端,在挑衅,在你们去柯吉达夫的第二天我们就把他逮捕了。你们要和我们合作,向牛水报仇。”我听后一言不发。自从我挨打后又坐牢,决心再不和KGB有任何来往,拒绝回答他们的任何问题。我告诉他们:“你们苏联有法律吗?我被人打伤了,瓦里汉诺夫区警察还抓我去坐了10天牢。我不回答你们提出的任何问题,不管对我,还是牛水,你们就按照自认的法律办好了。“僵持了两天,我被传到KGB办公室,仍是一言不发,一位上校向我施加引诱加威胁,还是这样。他们也软下来了,第二天下午,上校又和我谈话:“你把在柯吉达夫受到的委屈告诉我们,我们一定去处理那些违法者。”还说已经向柯吉达夫打了电话,把那个下命令关我们10天的区副公安局长调走了。第三天上午,我只好向他们陈述了牛水和我们商量出逃伊朗的全部经过,在记录上签了字。签过字后,预审官从抽屉里拿出已备好的火车票把我们送上了返回柯吉达夫的火车。到了这年冬天12月,又把我们传到阿拉木图,是坐飞机去的。在阿拉木图住进阿拉道乌旅社,大吃一惊,第一层和第二层全住上了中国人,不下200人,有汉族也有少数民族,许多还是我们金田村的维吾尔和哈萨克。听有人说凡是“文革”中从阿勒泰地区逃苏的都传来了。牛水是从阿勒泰跑过来的,大概是要判他。第二天上午10点,小汽车把我和刘万瑜拉到一处戒备森严军事机关,我一读大门边的门牌,写的是“中亚军区军事法庭”。上到二楼,只见审判厅外过道上坐满了各式各样的中国人和苏联人,还有三个年青女人,就是牛水在不到一年中找的两个妻子和一个未婚妻。一位军官来向我们宣布:“现在中亚军区军事法庭审判牛水,你们都是证人。军事审判官向你们提出什么问题你们就回答什么。”还特别对我和刘万瑜说:“你们回答完问题后可以向牛水提出问题,叫他当场回答。”把我传进去后,中校法官问过我以后又问我有没有问题问牛水,我问牛水道:“我们出逃前是对着祖国宣了誓的,誓书上写谁背叛了,就要用他的血来偿还他的罪。你现在还记得吗?”牛水听了冷笑了一下,没有回答。他坐在被告席上,穿了一套黑色西服,面色苍白,法庭最后以中国间谍罪判了他14年。1982年我已经定居塔拉斯市了,KGB还派人来找我复查牛水的案情。几年后牛水给我来了信,说他被无罪释放了,安排在哈巴洛夫市生活,加入了苏籍,也结了婚,妻子是波兰女人。90年代以后,他曾多次给我打长途电话,说在伯力开了一家远东国际木材公司,和中国做木材生意,每年可赚100多万美元,在武汉买了一家大家具厂,成了大款了。还在阿拉木图找了个外室,生了一个女儿。牛水不是中国派苏间谍,却被KGB派到中国活动过,当过苏联间谍。他的话动能力强,认识的俄国官场人士多,发大财了,变成了回国投资的“爱国华侨”,成了中国政府的座上客。真是三十年河东,三十年河西啊!

1973年夏天,我又完成了一次我流亡生活中的壮举。大概在7月份,农场警察特派员把刘万瑜和我,还有朱雪琅、朱生福4人用卡车装到了区警察局接见室,一个人先把我带走,进了一间大房子,中间大办公桌上铺着红色金丝绒布,摆了咖啡和糖果。桌子边坐着4个人:警察局长,KGB区特派员,一个俄罗斯译员和一个年青的阿尔明尼亚模样的人。我一进去,他们全都客气地站起来,一个个与我握手,招呼我坐下喝咖啡,译员先发言:“雷同志,我们知道你是爱国的,你现在虽然逃到苏联来了,我们还想给你一个帮助中国人的机会,你接不接受这个机会呢?” 我回答说:“那要看是什么样的机会。” 他说:“我们要拍一部电影,是揭发毛泽东的“文化革命”的,要叫你在电影中出现,发表一个反毛声明,你不会反对把?”听后我脑子一闪,几秒钟内就想全了应付的办法.立即回答:“很对不起,我不能在这样的电影里出现,更不能发表任何公开的政治声明。”四个人一下惊得跳起来,问我原因,我回答说:“我在中国还生活着父母兄弟,如果我在你们的电影里发表反华声明,他们不就都完蛋了吗?”在以上对话中我都说俄语。阿尔明尼人模样的人听了笑了一下说:“雷同志!你放心,我们苏联的电影技术很高明,完全可以把改变你在电影里的模样和声音。”我说:“既然样子和声音都可以改变,你们可以找任何一个别的人中国人来。”KGB特派员又说:“我们需要你,因为你毕业于北京大学,当过教员,是有身份的人,你说的话影响力要大一些。”听后我也不管处境危险,哈哈大笑说:“一方面又要我的身份,一方面又说改变我的模样和声音,你们不是又在编织骗局吧?”几个人还是不放手,纠缠了两个多小时,有时和颜劝说,有时厉色吓唬,反正我不上圈套。他们不耐烦了,警察局长火了:“你不和我们合作,我们要把你关进监狱。”我回答:“枪毙也没关系!”译员说:“就是,我们可以枪毙你。”局长叫来一名警察,带我从另一个门走出去,在门边我听到译员打电话向上级汇报:“他也拒绝了。”可知他们找了好多中国人,拒绝的不只我一个。警察带着我从警察局后面出来,进了我被关押过的看守所,打开一间牢房推我进去,关了起来。我一想又得受牢狱之灾了,枪毙是不会的,大概得走北极圈。想不到一个多小时后,警察打开门,叫我立刻回金田村,大概他们是担心我向刘万瑜等三个人通风报信吧。天色傍晚,我走到镇子西边通金田村的公路边等车,几分钟后刘万瑜也来了,告诉我说两朱比他先传进去,他是最后一个进去的,只说了一句话:“你们知道我是个反共人士,我和你们走的不是一条路。”第二天上午,二朱回家了,朱雪琅大吹他在电影里谈了哪些问题,朱生福则生气地说,他们骗人,原来答应拍完电影后送他们到餐厅吃饭,到旅社睡觉。结果拍完了把他们带到一所学校的学生宿舍住下,一个人给了3个冷的烤包子。学校放假了,床上连被子也没有,冻了一夜也饿了一夜。朱雪琅还告诉我:“朱生福看到拍电影时没有你们两个人,对我说,他们真行!”这部电影后来在电影院和电视上都上映了,片名叫《恐怖的长城》,里面有朱雪琅,也有朱生福。拒绝拍反华电影,在我和刘万瑜面前,KGB受到了个小小的挫折,接着便会对我们有更大的报复。我们的两年流放期在三月份就该结束了,他们有了新的口实,把流放期延长了快一倍,让我们在金田村多待了一年半还多,作为对我们的惩罚。

1974年相对平静,前几次新疆少数民族找我们打架,我们勇敢抵抗,毫不输志,打出了威风,他们也不敢再多招惹我们了。特别是一位在中国当过翻译,汉语说得十分流利的哈萨克同胞名叫土尔逊的,在生产队娶了个十分漂亮的本地哈萨克姑娘,是个小学教员。一天来到他朋友家做客,他朋友还请了警察特派员、我和别的一些哈萨族同胞,喝了点酒。警察特派员借酒装疯要调戏土尔逊的老婆。我立即把他老婆护送到我的房间保护起来。事情过后,哈族同胞对我刮目相看,哈里木江之流也收敛多了。

秋天,KGB把李广讳调离金田村安置在塔拉斯市定居。他多年来在柯克达夫市“住院”,住出了成效。他一走,我们的精神负担大大减轻,不再为他的安全担心了。时轮转到1975年,金田村一年到头给我们中国人忍受的彻骨严寒突然放暖和了一些。年初,KGB柯吉达夫州特派局局长,一个俄罗斯大个子上校和州内务部局长即州警察局局长、一个哈萨克族麻子中校来金田村视察,找中国人开了座谈会,回答了我们一些问题。解决了我们一些生活上的困难。不久,农场厂长换了人,新厂长也是哈萨克人,官气要比他前任依斯马依诺夫小得多,也找中国人开了个座谈话,说:“你们也是人,我们要和对待苏联人一样来对待你们。”“你们也是人”这句话对我来说真中锥心刺骨,原来,苏联当局把中国逃亡者就没有算做人哪!农场当局改善了我们的居住条件,宿舍全部油漆粉刷了,每间房都运来了一套油漆闪光的新式家具,包括大衣橱,床,桌子和椅子。5月,我在卡拉干达的好朋友刘芒也获准远道来看我。刘是广东合浦人,后来划到了广西省。他出身贫苦。十来岁便在皮鞋作坊当学徒,做得一手好皮鞋,师傅是中共地下党员,他只有13岁时师傅便带他参加了东江纵队,当小交通员,解放后当了供销社的干部。他嘴巴说话没遮拦,1957年下放当农民后自流到新疆,1962年跑来苏联。

7月,轮到我们休假,农场警察通知我们,休假时可以申请签证到哈萨克斯坦任何一个城市旅游,此种宽大是我们从来没有得到过的。我和刘万瑜先到区警察局领了新的无国籍护照,他们在护照上给盖上了准许到阿拉木图,卡拉干达各城市短期居留的签章。我们钱原是合在一起的,刘万瑜不愿和我一起行动,怕我拘束他的放荡生活,拿走了存款的三分之二,去了塔拉斯市和卡拉干达市。我拿了剩下的三分之一,去了阿拉木图与刘立中团聚,只在阿拉木图立中兄家住了一个星期,把他找来的一本清代学者俞正燮写的《癸巳类稿》借到手,就回来了,读了一遍,想多干点活,挣些钱,冬天再好好休息一下。刘万瑜却在卡拉干达玩了一个多月,还迟迟不归。我给刘芒写信,才把他催了回来。回来后,离开了农机站,同一个鞑靼工人去干打火墙的活,与我分开了,只晚上回房子睡觉。十月初一个晚上,他突然告诉我又要冒险越境,路线也计划好了,先坐火车到巴库,然后经阿尔明尼亚首都埃里温,偷越阿土边界到土耳其。我只回答说:“一切要小心。如果能到台湾,请告诉我在台湾的亲戚,把我弄出苏联。”我把全部剩款300多卢布和徐英斌送给我的一件非常摩登的捷克短大衣给了他。

第二天天一亮,一个俄罗斯朋友开着摩托车把他送走了,我回房后大哭了一场。只隔两三天,一名警察大尉和一名KGB中尉来到宿舍向中国人询问刘万瑜的下落。警察大尉问到了我,KGB中尉对他说:“你别问他,反正他知道了也不会告诉你。”他是吃过我闭门羹的。他专管金田村的中国人,每个月都要来农场一两次,见到中国人就训斥一番。一次又到我的住房教训我,当时我正在帮李广讳和桑布吵架以后的火头上,打断了他的话向他大骂:“你凭什么一次次教训我?你知道吗,我们中国人有5000年文明。我们有了人类文明后,你们还是猴子呢!猴子有资格教训人吗?”打开房门撵他走。出门时他气汹汹说:“等着瞧吧!”以后见了他我从不和他打招呼,有时他见到我主动伸手出来,我要先戴上手套,才把手伸过去(即使夏天,我的口袋里也装着工作手套)。1975年10月,少校撒沙从阿拉木图来了,通知我已把我和刘万瑜的“有条件自由”解除了,让我们到江布尔州定居。对于金田村中国人来说,能够这样本是最盼望的好消息,我却没有一点兴奋的感觉,不由自主地回答少校说:“在苏联生活,哪里都一样,我已经习惯了这里的生活了。”他说:“南方总比北方暖和。”朋友们都设宴给我送别。12号,我离开了生活近4年的金田村,到柯吉达夫市后乘火车来到江布尔。

1976年,集中在金田村的全部汉族和回族中国人都转到哈萨克斯坦最暖和的南部边区——齐木肯特州的“日出”农场了。

第四章 定居塔拉斯,重为中国民

在中苏交恶中的新老华人(形形色色的中国人之五)

1975年10月15日正好是我40岁的生日,我来到塔拉斯(江布尔)市,看来,我的后半辈子将要与这块土地融在一起了,又认识了好些形形色色的中国人。KGB原来要把我发配到离城61公里的哈巴耶夫农场,也是一个集中中国少数民族逃民的地方。到塔拉斯后,李广讳介绍我认识了柳松寿、李玉霞夫妇。柳的女儿加尼亚俄文文笔很好,给我写了一份要求不去哈巴耶夫农场的很恳切的俄文申请书。我在州委书记接待室见到了州委第三书记,一个中年哈萨克女人,听了我的请求,看了申请书,答应帮助我。三天后,州公安局就通知我说已批准我定居在市内,在我的护照上盖上了在市区登记户口的户口章。

塔拉斯原名江布尔,是哈萨克斯坦加盟共和国江布尔州首府,为纪念哈族歌手江布尔命名,1996年改成塔拉斯市,是中亚最古老的城市,丝绸之路上的一个大驿站,是中国人首先把它记载在史书上的。公元2000年也是它建城2000年纪念,哈萨克斯坦政府在一年多前就在准备大庆祝了。城在塔拉斯河中游,东有伊犁河和楚河,西有阿姆河,南部是天山,天山雪水源源而下,灌溉着草原,土地十分肥美,是一代代中亚小王国争夺的地方。塔拉斯是自古即有的河名和城市名,《汉书》译称都赖,唐代史书称怛罗斯。张骞通西域,玄奘法师印度取经都曾经过此地。公元751年,唐玄宗的高丽名将高仙芝率领3万唐军与大食(阿拉伯)军队在此决战,唐军几乎全军覆没,从此中国势力就很难再往西发展了。许多俘虏被抓到了大马土革,其中有造纸工匠,把中国的造纸术传到了西方。俘虏中有一位名叫杜环的,历尽千难万险从大马土革经海路回到了祖国,写了《经行记》一书,记载了这段历史。12世纪时,塔拉斯属于我国契丹族建立的西辽王朝,以后属于蒙古帝国的汗国,直到19世纪初期,清朝政府还在江布尔地区收过税。突厥语把政府称“衙门”,直接借用了汉语,哈萨克语又把衙门称做江布尔,可见,塔拉斯和中国的渊源极深。听说这里不管是基建或考古挖掘,只要能挖到古物,就有中国文物。不过这种文物从来不在博物馆里出现,苏联和它的后继者要割断中亚与中国的一切联系。60年代,附近的卡拉道乌和让拉塔斯两地发现了苏联最大的磷矿,成了苏联共产主义建设工程的重点,徐英斌曾在卡拉道乌干过两年。计划要在江布尔和卡拉道乌两地间兴建10个大化工厂,苏联解体前已在塔拉斯市西郊建成了3个,规模都很大,工人接近10万,生产磷肥,黄磷和炸药。工厂同时也是劳改营,有成万的服刑犯人在里面干活,鱼龙混杂。江布尔居民很复杂,社会秩序也很混乱,驻军也多,市区到处都是军营和监狱,KGB和警察局的力量都很强,两个机构的办公楼都是5层大楼。一些在解除集中监管后当局还不十分放心的中国人和另一些被KGB利用的中国人都安置到了江布尔。

在哈萨克斯坦,中国居民较多的城市有4个:卡拉干达,阿拉木图,塔拉斯和齐木首特。据说塔拉斯城里和郊区住的汉族人和有汉族血统的混血人超过千人,但户主持中华人民共和国护照的华侨只有十几家。“文革”中逃过来的中国人包括大人、小孩共23人,先后建立了10个家庭。在中国人中有两道大鸿沟,第一道存在于贫富之间。1962年以前来的人或靠自己能干或者是享受特殊待遇,有挣钱的职业,住的时间长,组成了富翁阶层,来往密切,子女相互嫁娶,看不起我们这些新来的同胞,害怕我们穷,会沾他们的光,鄙视我们还受着KGB的监管,更不愿意我们知道他们不能为人所知的身份。这道鸿沟是被人为地划出来的,带头的是下面将要写到的方丽夫妇。第二道鸿沟存在于华侨与外籍华人之间,带有感情色彩。华侨一般在感情上亲中国,处处以中国人自居,后者就大都忠于所入籍国家了,交谈时常出现“我们中国,你们苏联”这样的词汇。当然也有超然于鸿沟之外的,一是老华侨,只要是中国人,他们就很亲热地对待,觉得人不亲土亲,不能看不起自己的同胞。其他国家的华人我不知道,至少在解体前的苏联和解体后的独联体各国,华侨或华人最多只能维持两代,作为中国人的祖父或父亲过世后,子孙便和中国脱离了关系,融入本地民族的汪洋大海中了。中国人形形色色,有些都可用浓墨重彩画出来。我到江布尔不久,就见识了所谓“四大金刚”:一个在飞机场卖烤羊肉,一个在巴扎大门前卖啤酒,一个在长途汽车客运站管餐厅,还有一个中国女人雄踞于集市的一间房内卖假发。他们眼观四路,耳听八方,对中国人掌握得很清楚。

四大金刚中的女金刚叫方丽,是华人中最有影响的人,在中国人大受歧视的年月帮助KGB推波助澜,在中国人中制造出各种矛盾。她是河南人,抗战孤儿,进过重庆宋美龄设置的战时儿童保育院,解放后参加解放军文工团,60年代初转业到了新疆石油城克拉玛依,分配到该市文工团,与山某结了婚。山是中俄混血,没上过学,一个大文盲,人倒很聪明活泼,但是没有知识的盾牌,只能流于奸诈狡猾。1962年他们夫妻带着刚生下来的小女儿跟着山的苏籍俄罗斯母亲来到江布尔。方在糖果厂包糖,山在公共汽车公司当钳工。初来乍到,生活很苦,方的俄罗斯婆婆虐待她,有时还动手打她,但不久她得到机会,攀上了高枝,认了莫斯科一个中国老头为干爹。那个老头是共产国际时期中共代表团团员没有归国留下来的,据说在莫斯科某大机关当翻译,无儿无女。老头每年都带她去莫斯科。山某夫妻很早就加入了苏籍,在江布尔制造假发,山还在少年宫教中学生照相。60,70年代,苏联女人戴假发是十分摩登的,年青女人人人戴假发。“城中好高髻,四方高一尺!”有的女人头上的直筒假发几乎半米,是个大奇观,做假发,当然十分赚钱。苏联政府在教育上也十分舍得花钱,每逢寒暑假,少年宫都组织学生到苏联各大城市和黑海边、波罗的海边的各处名胜旅游,增长学生见识,花费全由公家报销。山的主要工作是带学生旅游,既可多报路费,又能吃空额,中国人中他们家首先发起来了,领了房子,买了汽车。70年代初,KGB人员还带他们夫妻到菲律宾,新加坡,马来西亚等东南亚国家活动,他们俩口子对苏联感恩戴德,把唯一的儿子送去了西伯利亚某地的间谍学校,学中文和日文,每当中国人在一起,方丽一开口说话就是“我们苏联”,骄傲地向我们介绍,我的父亲在莫斯科,我的丈夫是教育界的。70年代末,中苏关系刚解冻,本市华侨柳松寿获准第一个回中国探亲,回来请客,介绍四人帮跨台后的中国新气象。方丽提出的第一个问题是:“老柳,中国还有黄包车吗?”我一听火了,驳斥她:“中国的最后一辆黄包车1958年便在上海进了博物馆,你不要把我中国看得太扁了。”山也大言不惭地说:“哪一天我找到一个中国部长当干爸爸,也可能去中国探亲。”我也对他嗤之以鼻:“中国的部长是不要文盲当干儿子的。”这种人最能看风使舵,改革开放后,中国国力强大,在前苏联和以后独联体各国的声望也越来越高。中国驻苏大使馆领事部还每隔两年派人来探望华侨。每当访侨官员一到,他们夫妻马上向我们华侨靠拢,还使劲巴结我,好像我是中国驻苏大使馆在江布尔的代表一样。苏联解体后,新疆与中亚各国的贸易繁荣起来,他们乘机发了大财。他们和官面上熟,有过硬的后台,经他们做中介的生意都办得成。名声传出去了,有的新疆商人一过来就找他们,他们坑害人的杀手锏也就大逞其威。有一个乌鲁木齐人,据说是新疆军区某将军的儿子,从银行贷了25万美元过来做生意,到江布尔后。他们和另一个姓郑的四川人一起把25万美元全骗光了,此公害怕回中国后受惩罚,跑到一个偏僻农场躲了起来。前年,一名石河子的商人国力和他们合开了一家中餐馆,不到半年,全部资金被一骗一抢而光,石河子商人只好形色仓惶地逃回去了。现在他们夫妇找到了本市一个大佬当靠山,又开了一家中餐馆,生意十分红火。徐英斌生前常对我说:“过去前苏联的红人在独立后的哈萨克斯坦仍是红人”,是一点也不错的。尽管他们是红人,黑手党可不怕他们,几年前他们的间谍儿子在西伯利亚给中国商人当翻译,强盗破门而入把他的俄罗斯妻子掐死了,将财产一扫而光。

那些年,KGB正广种薄收着大量往中国派遣特务,只在江布尔的汉族人中就有下面这些:

陈闻幼。妻子叫羊健芳,都是重庆人,出身都好,陈当过兵,复员后在伊犁察布查尔某兵团农场当武装民兵,1972年带着妻子和两个小孩跑到苏联,在电厂当工人,工资很高,一家5口,有住宅,菜园子,是新来的中国人中日子过的最好的。1977年7月,陈闻幼说是到外地疗养,从此一去不返,被派到中国当特务去了,抓住后判了无期徒刑,在乌鲁木齐服刑。一年多后,羊健芳带着三个孩子改嫁给李广讳。1998年,陈闻幼突然又出现在塔拉斯集市李广讳的百货摊子上,帮羊健芳卖货,说是哈萨克斯坦独立后,中哈关系不错,改判了20年徒刑,刑满被逐回哈萨克斯坦。这时KGB的大树已倒,原来应允的当间谍的各种优待,哈国KGB(民族安全委员会)都不予兑现,陈闻幼只好在塔拉斯过着无护照,无户口,无职业,无养老金和无住处的五无生活,还一妻二夫,中国人也不搭理他。都什么时候了,自己过着一无所有的日子,还帮哈国的KGB当包打听。我在市场上也摆了一个小摊子,以谋锱铢之利养家。1998年5月,我国驻哈大使馆的两位一等秘书——卢玉玲和王建中来塔拉斯市看望华侨,陈闻幼跑到我的摊子前问我:“你们的会开完了吗?”我问开什么会,他说:“中国大使馆不是派人来了,召集你们开会吗?”我又一次发火了,大声说:”你真无耻,你祖先和家乡故土都在中国,你给外国人派到中国当特务,和回家乡挖自己祖坟有没有分别?你还神气,要是我当新疆的法院院长和公安局长,一分钟也不考虑就判你死刑,马上枪毙你。“他灰溜溜地走了。

李英村,妻子是中俄混血,达玛拉,也是1962年来苏的,有两个儿子。李在中国是个小卫生员,会针灸,来苏联后在郊区一个农场当食堂管理员,业余给人扎针。在无官不贪的苏联,食堂管理员当然是个肥缺,油水大着呢。他得了KGB的一点好处,就得给它卖命。李英村当了多年食堂管理员后被KGB封了个少校,1974年派往中国,也是一入中国国境即落网,在南疆塔克拉马干大沙漠边缘老公安农场劳改了20年,1994年被驱逐出境,回到哈萨克斯坦。李被派遣后,KGB给达玛拉在城内发了一套标准很高的房子,安了电话。和羊健芳一样,李一走她就改嫁哈萨克人了。达玛拉长得俊俏,人也利落,哈萨克丈夫和她生了个女儿,晚上开着卡车到净毛厂去偷羊毛,坐牢了。十多年里达玛拉没有再找正规丈夫,主要是和汪镛来往(下文要写到),李英村回来以后又和她住在一起,没有闹出羊健芳那种一妻二夫的笑话。

崔进唐,河南淮阳县人,文革中和朱生福一道逃苏。他有一个哥哥在哈尔滨市公安局工作,KGB很看重他的这个社会关系。他在拖拉机零件厂翻砂车间倒钢水,同本地一个混血姑娘结了婚,生了一对双胞胎女儿。在工厂时,每年都有几个月不见踪影,人们说他接受特务培训了,后来干脆退了厂,说是到农村包地种洋葱,一年有大半年不在。其实,他早就每年都被派回中国。陈闻幼说在伊宁市大街上见到过他。大概是1980年左右,崔进唐突然在他房前一片树林子里,用铁丝勒着脖子上吊自杀了,还给老婆留了遗书。人们听到后很纳闷,有人说是在中国活动时出了漏子,给KGB勒死的,直到陈闻幼回来后,崔的自杀之谜才真相大白。陈闻幼说:“崔第一次回到中国就径直向公安局报到了,公安局又用他当两面间谍,重遣苏联。别的特务一入境中国便落网,崔进唐却像回国探亲一样,每次都平安归来。老奸巨猾的KGB还有不怀疑的吗?大概他也明白当两面间谍的危险性,就先上吊自杀了。

还有一个混血青年刘某(其父老华侨刘大爷我见过好几次),也被派遣到中国,劳改了10年,又驱逐回来。

上述4名小特务都是塔拉斯市的,也都是汉族。我还知道阿拉木图有一名新疆人,彼什凯克有一名混血,齐木首特有一名甘肃人和一名河北人,都是KGB派到中国的间谍,他们4名中有3名我见过,我不知道的其他民族的人当过派遣特务的还有多少。新疆是维吾尔聚居地,派往新疆的维吾尔间谍要比汉族人多得多。这些被派往中国的小特务一般都不是聪明人,文化水平也低,没有经过KGB的专业训练,常常是有去无回。为什么KGB一批接着一批地派还要乐之不疲呢?我想一是完成上级的遣谍计划,一是在中国反谍部门中制造混乱,鱼目混珠,以掩护更重要的间谍。

还有几个,常常主动地来和我结交,是不是到中国活动过,我只能存疑了。1977年,中国医生贺汉秋去世,办了一场大丧事,遗体停了三昼夜,白天晚上都有许多中国人守灵,守灵时我认识了丁氏兄弟,是哈尔滨来的中俄混血。交谈之下,老大成了我的朋友之一,不过我一直对贺汉秋的死因心里有怀疑,不愿和他深交。丁老大在石家庄当过军医,弟弟是江布尔监狱的律师,多年了,他们兄弟一直深瞒着自己中国人的身份。在贺汉秋丧事中,他们兄弟跑里跑外,十分卖力,在中国人中留下了很深刻的印象。丁老大对人说:“江布尔的中国人除了雷光汉还有两扫帚外,剩下的——唉!”使有的人就对我不免侧目而视。一次我与丁大夫谈到了他和他夫人离婚的事,他揭了他弟弟的底,说:“我弟弟不是个人,一直在给KGB当特务,每年好几个月到远东去受训,也许还过边界到东北活动过。”两年后,他弟弟到我家里来告诉我们:“我哥哥去世了,才活了40几岁。他常到x光室去看病人的透视照片,接受了超量的放射线,送了命,临终前叫我来向你致最后的告别。”我们夫妻听了,都十分难过,对他真正死因也弄不清楚。

贺汉秋,湖南湘潭人,在60、70年代是江布尔最出名的中国人,也是当时苏联最富有的中国人。卢沟桥抗日炮响,他投笔从戎,当军医,参加了有名的广西昆仑关血战。胜利后随部队开到兰州,内战时随部队起义当了解放军,进军新疆。复员后在克拉玛依做针灸大夫,同漂亮的混血女人刘玉兰结婚,1962年以苏侨家属的身份来到苏联。在江布尔仍然是针灸大夫,医术高明,声名远播,连远到欧洲的乌克兰都知道。四面八方的病人闻讯而来。要能到他看病常常得排几个星期的队。他没有忘记自己中国同胞,不管认识与否,只要是自己同胞要求治病,常常免费扎针,有困难还借钱。中国人团结,是KGB最不愿看到的事。1976年贺做了肺癌割除手术,丁大夫是手术大夫之一。贺在医院里躺了很长的时间,我曾经几次去看望他。我们刚相识时他赠我八个字:安下心来,扎下根来。叫我首先要在江布尔安身立命,娶妻生子,齐了家,才能谈别的,当然决不能给外国人利用,我一直感谢这位湖南老乡。这年10月15日,贺汉秋出院不久在家里去世,享年56岁。3年多后丁大夫又在埃里温不明不白地撒手归西天。给贺汉秋做丧事时,我用江布尔全体中国同胞的名义写了一副挽联:

行医三十年,前治国人,后施邻邦。惜百岁功业才一半,遽尔长逝,悲夫!

立世五六载,上报祖先,下荫儿孙。盼一点仙灵返三湘,魂归故土。哀哉!

1978年,一个叫汪镛的中国人带着俄罗斯老婆和小儿子来到江布尔,在各处流动照相,入籍成了苏联公民。王当过解放军和志愿军,复员后考入新疆语文学院俄语系,1957年当了右派,在乌鲁木齐中医学校教俄语,1962年来苏。汪镛住来江布尔后,和每一个中国人都来往,不怕花钱,不断找理由请中国人,一出去几个月不归家。有次他又请客,席上我说列宁在十月革命后口头废除一切对华的不平等条约,实际上是接收了沙俄的一切侵华权益,九一八事件后,斯大林又把苏联所占的中东路股权卖给了日本。一个姓曹的拥苏分子说没有资料可以证明,我和他吵起架。我向姓曹的说:“你再说一句苏联好。我就把你推下阳台。”汪镛跑来把我们拉开了。王的老婆加尼亚行骗,中国人发现上当后去要回款子,加尼亚威胁说:“汪镛是KGB的工作人员,我们什么都不怕,你想告告我们去。”汪镛曾领头发起成立塔拉斯华人协会,他当主席,他老婆管财务,简直财迷心窍,异想天开。我在旅苏华人中有点声望,他们派李广讳当说客,要我支持他们。我对李广讳说:“谁都知道汪镛的老婆是个大骗子,我可不上这个当。” 勃列日涅夫塔拉斯齐木肯特有一个坏小子,甘肃天水人,名字忘掉了,对别人吹嘘,曾经化妆成解放军进入中国,一直活动到了天水,又安全越境回苏。一次闯入我的二小姨家去中,并对他起了不良之心。我知道后,给二妹夫去信,告诫他们不要和此类小特务来往。此人知道后跑到江布尔来找李广讳,要李广讳与他合力揍雷光汉一顿。旁边一个中国人听了说:“雷光汉也有朋友,你闯他的门可没有好果子吃。”才没敢来。当时我的小舅子还在我家做客,是个身强力壮的运动员。可惜,此坏小子没有来找我,不然非打他一个半死不行。

80年代中期,从远东来了一个四川人,名叫陈军建,是位画家,当场帮我妻子画了一幅宣传画,画得不错,俄文字也写的极好。从塔什干到阿拉木图的几个大点的中亚城市他都跑过,我的几个朋友他都认识。我觉得此人行踪诡秘,不过他俄语说的极好,也很有中国文化水平,知识广泛,言谈中对中国也有亲近之情。以后他每年都要来我家一两次,也常去李广讳家,谈到他们那里放映电影《少林寺》,俄罗斯青少年都疯狂了。他介绍了审判“四人帮”时江青在法庭上的泼妇表现,令人捧腹不止。直到苏联解体的1991还来了我家一次,不无得意地吹嘘正在帮助过境商贸代表团做生意,每到哈尔滨,各个大公司排队宴请他。还教给我:“共产党的饭不吃白不吃,共产党的钱不要白不要,凡有中国代表团来找你,你首先伸手要劳务费。”不过我既无本事,更不能黑心这样干。不过,没听说他做过什么坏事。

我认识的中国人还有不少,良莠不齐,不能尽言,也就不多说了。其实,因于西方文化的传统,前苏联政权也不是处处专横无理的。中国人只要下决心不受人利用,还是可以苟且偷生地生活下来的,并非非当KGB间谍不可。

塔拉斯也住着几位受人尊敬的老华侨和老华人。有一位名朱剑南的湖北人和一位姓谭的四川人,都是远征军军官,在缅甸和日本鬼子血战过,以后在新疆跟着陶峙岳起义了,1958年随苏籍妻子来到苏联。他们一直洁身自好,正直而勤恳,养育儿孙,从没有淌过混水。在几十年的流亡生涯中,在我认识的上百个中亚和西伯利亚的中国人中,发现只要是在国民党时期上过学和在50年代受教育长大的,一般都具有中国人的骨气,讲爱国,讲爱同胞,讲品行端正,和那些受过党的教育人不可同日而语。难道我们是老古董吗?但这种情况在流落西方各国的中国人中也有共同性。我从法国巴黎广播电台的汉语台上听到了旅居巴黎的两位著名华人知识分子的讲话,一个是张广达,法兰西学院的院士,我在北大历史系读书时他是世界史助教,1957年和我一样的右派。一个是林希翎,反右派运动时的人民大学法律系学生,名闻全国的大学生右派头头。他们在中国受到九死一生的折磨后出国,却仍然挚爱着中国、中华民族和中国文化。敢于在电台上公开宣布自己的爱国之情,更敢于大义凛然地斥责台独分子和美国现行对华政策中的许多不义之举。

苏联工业 世界最大的次品加工厂

定居塔拉斯后,我由农工变成了产业工人,从1975年10月到1995年5月我退休养老,20个年头,除了两次短期调动,一直在市里最大的机械厂拖拉机零件厂当工人,先后当过冲压工,装配工,钳工和车工。当车工时间最长,有15年,深深认识了苏联工业几大特点:规模极其庞大,技术十分落后,产品质量低劣,原材料浪费惊人。可以说苏联工业是世界上最最的浪费经济,也是世界上最大的次品加工厂。造成如此不合理的原因很多,主要有两条:一是计划经济,一是地区分工。

苏联的计划经济真是是到了家,每家工厂,工厂的每个车间,车间的每个工段,工段的每个班组都有产品数量的日计划,月计划,季度计划,年计划。定额十分高,常常是花掉了工人吃奶的力气也不容易完成。完不成计划,工人没有奖金,头头会撤职,再严重的还得坐牢。如果超额了,会有大奖。整个苏联经济的最大准则是“计划就是法律”,只要有数量,什么质量啊,原材料节约呀是不大考虑的。

苏联不仅继承了俄罗斯帝国的庞大版图,还继续分割了许多邻国领土,如我国的唐努乌梁海,东部波兰,捷克的外克尔巴阡山地区,罗马尼亚的摩尔多瓦,德国的东普鲁士东部等等,是二次世界大战后世界上最大的殖民帝国。在两千一百多万平方公里的广阔土地上建立了15个加盟共和国和几十个自治共和国,自治州。要统治这一大片欧亚土地,莫斯科除了产酷的政治军事控制外,也很懂得运用经济手段。从斯大林掌政以来实行各共和国地区分工政策,有的专门生产棉花,有的只放牛放羊,有的只有加工业,有的只有採矿业,决不允许任何一个共和国有自己完整的经济体系和工业体系。任何一件产品,只要是由两个以上零件组装的,就决不在一个城市甚至一个共和国生产。比如我做车工时车的轮轴,钢是基米尔道乌炼的,往北运了3000多公里在西伯利亚一小城市翻砂成坯再往南运5000多公里在塔拉斯加工成车轮,轮中心的滚珠则由乌克兰运来,组装好轮子后再往北运2000多公里的一个城市里装配在拖拉机上。工厂有一个很大的翻砂车间,却只生产拖拉机履带一种产品。没有一条完整的产品生产系列,是苏联解体后独联体各国一直经济萧条、绝大部分工厂都关门大吉的重要原因。殊不知砸坏一张桌子容易,要把它重新拼凑起来就困难的多了。

当时苏联还有一个很大的特点:处处缺乏劳动力。工厂里车床比工人多,汽车队里汽车比司机多。只要愿意干体力活,任何地方任何工厂都可以进去当工人。车床都是自动化的,会按电钮、会取放零件就能上岗。也没有这样那样的学徒制度,工人进厂学会开车床后就上岗生产,至于修车床,安车刀,磨车刀,都有专门的保全工来干。我刚进厂时是做的最苦最重的活,干冲压工。给我的冲床是压力250吨和500吨的大冲压床,有两层楼高,人得站在高高的木制踏脚板子上干活,用钢板或钢条扎成各种零件。一块钢板几百公斤,一根钢条几十公斤,用安装在车间房梁上的自动吊车吊起来放在自动滚动的长而宽的钢架子上送进模具口扎制。电钮一按,哐当一声巨响,天摇地动。原材料中次品很多,有的不合符尺寸,窄了没关系,宽了进不去磨具。管他零件的尺寸合不合格,反正不是我的责任。宽了放不进磨具,就只有把宽的地方一小块一小块地扎掉,到全部能放进磨具后再扎零件。长钢条常常是弯弯曲曲的,无法放进模具连续轧制,也是一段段地白轧掉,到了能成型的地方才制成成品。有时一个班下来,成品只有一箱,废品倒有两三箱。后来我当车工,钢坯的翻砂质量不好,气孔多,车刀一削就是一个窟窿眼,只得扔进废品箱。工人都希望坯子废品越多越好,废品用不着干到底,还可以照样计件算钱。工厂实行计件工资制,每件产品每道工序都有规定的价钱,干的越多挣的越多。出了废品,只要不是工人自己做出来的也当作成品算钱,因为不是工人的错。工人自己造出了废品按规定要扣工资,不过可以悄悄丢进垃圾箱或埋在下脚料里面,不叫管事的和质量检查员知道。检查员都是些小姑娘,面皮薄,即使知道了,给她们10个20个戈比,她们也就马虎了。有时给车间主任,或工段长看见了,也睁一只眼闭一只眼。一般说来,车间头头对工人的态度都好,因为他们需要工人好好干活,完成计划,才能领到大笔奖金,保住自己的官位,不敢得罪工人。我们中国人是勤俭节约惯了,刚看到如此规模的浪费,真有点替他们心疼。我们车间的浪费还不是最大的,翻砂车间配错了料,有时炼出的整炉钢水都是废品,人们在车间后面挖一个大坑,把钢水倒进去,冷了以后埋起来。工厂浪费钢铁材料不是故意的,建筑业却是有意的浪费了。每立方米墙要用多少钢筋,工程手册里都有硬性规定。钢筋运来了,头头要赶时间,工人要偷懒,常常是用掉三分之二,把三分之一在房子前里挖个大坑埋起来,再灌上混凝土。70年代,苏联的钢铁产量世界第一,最高时达到年产1亿6千万吨,数目大的吓人,但又有几分之几派上了真正的用场呢?农业经济的浪费也不比工业经济的浪费稍为逊色,前一章里我记下了在金田村的见闻。戈尔巴乔夫掌政伊始,揭露了乌兹别克斯坦共和国党第一书记拉希多夫大贪污案,报纸披露,每年共和国政府都要向莫斯科虚报多少万吨的棉花产量,只领钱不交货。莫斯科来查数字,便放火把一些净棉厂的棉花堆烧掉,用遭灾顶数。偷盗是原材料被浪费的另一途径,苏联工人偷起厂里的东西来十分吓人。谁要盖房,厂里的钢筋钢条、木料、油漆,在晚上就成车的往外偷运。零件厂有两个大门,昼夜24小时有门卫站岗,不向门卫行贿,往外拿不走一丁点东西。但在两个大门之外,工人自己在围墙上开了无数的豁口,汽车可以开进开出,从豁口往外运东西,门卫看到了也闭着眼不闻不问。李广讳修别墅用的材料就全是从工厂偷的,到了晚上,他在厂里往围墙外扔,他老婆孩子在围墙外守着,装上小推车推走。我同组的有个工人,每个晚班都要用一个能装十来公斤的塑料桶装一桶油漆带回家,十年如一日,真有恒心。翻砂车间的一个女工比他的耐心更大,每个夜班都偷几块砌炼钢炉的耐火砖回家,十几年后用昂贵的耐火砖砌了座二层小洋楼,警察发现了,抓去判了刑。苏联有法网,只不过撞在网上的只是虾米,不是大鱼。1996年,零件厂的俄罗斯厂长高升去了阿拉木图,换了个哈萨克厂长。此人在一年之内,用厂里的运货车运厂里的建筑材料,再用厂建筑队的工人干活,给儿子和女儿各盖了一栋三层楼房。零件厂倒闭快5年了,其他工厂也一样关着门,失业的工人都得集市上去谋日子。市中心集市北边有一大片金属制品专卖区,螺丝钉,螺母,垫圈,齿轮,钢丝,铜丝,钳子,扳手等等,零件和工具,琳琅满目,品种齐全。好几个摊主是我原来车间的同事,还有一个当过我的工长。有用没用的东西他们全偷回去,现在派上了用场,成为生活的来源,比我有远见多了。中国也有“大家拿”,也是从俄国人学去的。真不明白,现在老师把那些全弃若敝絮了,连政治制度也扫进了历史垃圾堆,当学生的中国也把经济制度改变了,而在政治制度上,为什么却仍然抱残守缺?

说到苏联的浪费经济,最大的浪费还是尽造出不合乎规格的产品。出厂的是次品,是一用就坏或者不用已坏的废品。车间每个工段都有几个女质量检查员,厂部的质量科也不时大抽查,不过都是走过场,花样文章。顾得上质量便顾不上数量,而从克里姆林宫到基层头头,首先要的是数量,要在产量上占世界第一,超过美国。发现了废品。按规定要丢进废品箱,当下脚料运走的,车间主任却不叫运走,放在一个角落堆起来,到了月底,计划完不成了,便交出去顶数。当然也做点掩饰工夫,油漆一遍,凡是窟窿眼便先用油泥塞起来再刷漆。世界给苏联商品有一个共同的评语傻,大,粗,黑。一切为了计划,而一切计划又都是乱糟糟地完成的。正如苏联人自己形容的:“资本主义和社会主义的区别是什么?资本主义在生产范围内说一不二,在销售范围内乱杂无章。社会主义在销售范围内供一不二,在生产范围内乱杂无章。”他们也自编出了形容自己产品质量的故事:美国卡车的车头是包着薄铁皮,苏联卡车的车头钉着原铁板。卡车撞到水泥墙上,美国车把水泥墙撞坏了,苏联却把车头撞坏了。

80年代初苏联宣布,它的钢铁产量、拖拉机产量和车床产量都占到了世界第一,苏联也就成为世界上最大的次品制造厂。生产次品,浪费了原材料,破坏了环境,更浪费了宝贵的劳动力资源。

有这样一则笑话:

逢到共产主义义务劳动星期六,工人在大街两旁植树,行人见了很奇怪,问他们:“伙计们,你们在干什么?第一个人刚把坑挖好,树苗还没放进去,第二个人就把坑填掉了。”挖坑的工人指着填坑的工人回答:“他不是第二个而是第三个,负责放树苗的第二个工人今天旷工了。我们是严格按照计划和流水作业法干活的。”

苏联的工厂规模非常庞大。拖拉机零件厂有两千多工人,5个车间,占地大约有3平方公里多。因为苏联国土面积大,没有用地问题。每个车间都是独立的建筑,车间之间有林荫道相连,厂区里绿树成荫,小花园、喷泉处处皆是,象大花园一样。工作时间只听到机器轰鸣,看不到闲杂人员来往,,工厂文化比当时我们中国远远进步。管理层人员也不多,如此一个大工厂,只有3个厂级领导:厂长,总工程师兼第一付厂长,还有一个管总务的副厂长。厂共产党委员会只有两个人,书记和秘书。厂工会只有工会主席一个人。一座3层办公楼,才20几个白领职员。车间非常大,排满了车床,车床比工人多,像我一个人,就有同样的3台车床,摆成一圈,这台坏了上那台干,停车修理不停工。有技术先进的车床,落后的更多,有的还是30年代的,不过都是自动化的。苏联没有技术员这一阶层,大学毕业后即使干工人的活,头衔也是工程师。工程师和工人的技术水准都不高,大家也不爱学,许多现代化的机器运来以后也是浪费着。像我的3台车床,都是德国生产的,大圆工作台装着十几把车刀,团团转,一次就能完成十多个工序,本来由电脑控制,但谁都掌握不了也不想学,把电脑控制器拆掉,改成电动的,开、关都按电钮。有的车床更复杂,运来以后干脆摆在那里没人用。对这种现实,苏联人也有他们的说法:“镰刀和斧头是技术进步的终点。”但苏联工厂也有一个大优点,重人轻物。工人把车床弄坏了没什么关系,小事故没人过问,大事故最多也只是扣点奖金以示惩罚,但只要有人受伤,却是大事件,安全工程师马上会来写事故单。受伤的工人是没事的,急救车送去医院治疗,可是从工长到车间主任都得受罚,最轻也要扣掉一个月的奖金。我当冲压工时,一次一块铁片跳出来打伤了我的下巴,把工长吓坏了,马上把我送到市医院工伤站打针,包扎,再把我送回家。他叫我悄悄在家里养伤,什么时候痊愈了再上班,对谁也不要说,我给你每天都写工资单,比你原来的平均工资还要多。他害怕伤了工人扣他的奖金。而给我多写工资,经济损失则由国家负担。而我们中国领导人教育工人,却是用鲜血和生命捍卫国家财产,人死了没事。工厂里只讲生产,不讲政治,没有政工干部,也不开学习会。偶尔上面派人来作时事报告,也是听者寥寥。工人中很少有党员,人们也不愿入党。但发展党员是有计划的,党委书记看中的人不想入也得入,看不中的想入也入不了。大家对党员都讨厌,因为他们干活没有一个是能称作榜样的。党员的职责只有交党费和告密两项。一次我看见同班组的一个干活很不起劲的工人去开党会,就问另一个同组者:“他也是党员?”他回答我:“对,他是狼群中的一员。”但不管你是不是党员,只要活干得好,就给奖金,当模范,登报表彰。我干活认真,几乎天天超定额,江布尔州报几次登报表扬了我,还刊出了我的照片,被指定为模范工人,领到了奖品、奖金和奖状。工资中含有百分之四十的奖金,完成了定额,不违反纪律,上班时间不喝酒,百分之四十全额发给,否则按情节轻重扣除一部分或全部。这种用经济办法管理工人最为有效。还有第13号工资或第13个月工资,即每年元月分多发一个月工作,不过只是本额,不包括百分之四十的奖金。工人如果一年内没有违犯劳动纪律,就能全额领取。工厂头头要贪污工人工资,主要是在13号工资中上下其手。1984年以前,厂长是个俄罗斯人,总工程师兼副厂长是朝鲜人,每年的13号工资都能全额发放。后来二者都换成哈萨克人,便年年克扣了。有一年我平均每月工资达330卢布,只领到110卢布的13号工资,其他的给他们贪污了。自从土著人掌了权,工厂变得乱糟糟,澡堂更衣室起火、工厂变电站烧了,停产了好几天。停工待料,事故死人,有的工人整只手掌给切掉等等各种怪事都出来了。工厂有工具车间,做车刀的锋钢,做钻头的钻头钢都是高硬度的合金钢,世界上只有少数国家才能制造。那时苏联也常派人到社会主义阵营各国和一些亚非国家旅游,一些人便偷走合金钢到国外卖钱。出了大事故够不上刑事罪的,由工厂各车间设的同志法庭审判,法庭成员是由工会和党委会指定的工人和工程师组成。同志法庭只审判工人,轻者扣奖金,重者开除,从来没有审判过干部。土著人当头头以后,同志法庭也不开庭了。苏联教育发达,百分之六十的年青人受过高等教育,体力劳动者缺乏,政府要鼓励人们干体力活,待遇上实行脑体倒掛,工人的工资常常比白领阶层高好几倍。象我每月平均工资有300多卢布,车间主任的名义工资才220卢布,教员,医生月工资才100多卢布。大学毕业了,一律每月130卢布。不管做什么工作,职务升不上去工资也升不上去,到老也才这点钱,完全实行职务工资制,比中国合理得多。大概是西方传统的那种博爱,平等精神还没有给阿芙乐尔巡洋舰的大炮全轰掉吧。其实苏联普通人社会还是相当平等的,全民公费医疗,全民义务教育,全民社会福利,人人都能享受,只要在苏联土地上,不管户口在何处,看病,上学都不花钱,住院了还发全额工资。有的中国人象李广讳到中国探亲几个月,拿来中国医院开出的病假证明回到苏联,照样可以领到工资。有的国人有亲戚生活在苏联的,要超生小孩,便挺着大肚子到苏联生孩子,在产科医院领取出生证,每个月政府还发给儿童补助费。青年男女婚姻嫁娶,也不讲究文化程度,出身门第之类。爱上了就结婚,谁也不笑话。许多受过高等教育的女青年找丈夫都愿找工人,是经济规律在起作用,如果找自己的大学同学,两个人的工作加起来才260卢布,勉勉强强过日子,不知道什么时候才能领上房子,买上汽车。找个工人,丈夫工资高,工龄只要超过5年,就可以领上住宅,买汽车也不困难。零件厂办公大楼里坐着20来个秀脸媚目,衣着摩登的女职员,充当各式工程师,会计、统计师、秘书、厂医等令人羡慕的职务,她们的丈夫都是满身油污的工人。不过苏联的养老金制度很不合理,只有工资的一半,一般职员和工人最多只能领到120卢布。职员的工资低,相应的养老金更少。有的工程师,车间主任什么的在领养老金前还自我下放一年两年,当工资高的工人,能领到120卢布的养老金。有些大学毕业生在毕业后先干两年国家分配的工作,领到毕业证书后,再当三,五年工人,领了住宅,买了汽车以后,再去干本职工作。特别是分房子,全靠工龄分配,没有职务高低之分。当然进入了特权阶层的高官除外(至少得到共产党的区委书记这一级)他们都有独立的专门的官邸。分房一般要在单位的工会排队3-5年,持工龄和户籍证明就行。城市里每人不少于12平方米,住宅都是套间,冷水热水,厨房,厕所,浴室一应俱全。一对夫妻无孩子分一间房的套间;有一个孩子或两个孩子,孩子为同性,分两间正房;两个孩子为异性或者3个,4个孩子者分3间正房;5个或5个以上孩子者分4间或5间正房,孩子多了可以不排队,优先领得。我只有两个孩子,一儿一女,就领了3间正房。和我住同一栋房的,有设计院院长,校级警官,法院院长,消息报记者,功勋演员,也没有住得比我特殊。有的西方学者说社会主义是封建主义的复辟,但在苏联平民社会中并不是这样,而中国却处处把人划分成不同等级,中间有不可逾越的界限:农民和工人之分,干部和群众之分,干部中一般干部和高级干部之分。如部,司,局,科,中央、省、地,县,乡,村级官员的严格区分。还有“地富反坏右”的贱民,等级区分比讲究门第的魏晋时代还彻底,那可真正是封建制度的大复辟了。

因为工资不多,所以房租低廉,水电煤气和公共交通费用都只是象征性的。一个卢布有100个戈比,市内交通一次,不分远近都是5戈比。1个人1个月煤气费50戈比,水费20戈比,一度电2戈比。免费福利多,物价也十分便宜。只要不喝酒,日子是过得不错的。我平均每月领了330—360卢布,按官价折合540—590美元,能买到3台大冰箱或3台黑白电视机,一辆半轻型摩托车或7辆自行车,5套高级西服或3件呢子大衣,180公斤牛肉或猪肉,一吨又100公斤面粉或425公斤大米,乘飞机去莫斯科6趟或乘火车去莫斯科10趟。物价十分稳定,只见降价,少见涨价。价格全国统一定死,印在商品上(如衣服印在布条上再缝在衣服里子上)或铸在商品上(金属,玻璃或塑料商品在铸造时就把价格铸进去了),那时的苏联人不愁衣食,不愁教育和就业。笑颜常开,神采奕奕。有时看到讨钱的,都是酒鬼或土兵。土兵的津贴太少,每月才3个卢布,要点钱买烟抽。专业乞丐是没有的,流浪者并不都是生活困难。

苏联解体已经10年了,独联体各国没有迎来民主,经济破产的苦果却人人都得吃,处处是乞丐和流浪者,社会竞争条件更不公平。人们特别是年纪大的人,不管哪一个民族,都留恋前苏联社会无所忧愁的日子,回忆那梦景般的生活。所以,我觉得社会主义经济制度也有着许多合理的地方,如劳动和分配的相对平等,全民就业和全民福利,尤其是全民免费医疗和全民义务教育。没有投机性的泡沫经济,特别是对普通体力劳动者尊重,这些,在未来人类社会发展中还是要吸取的。而我们在改革中,把社会主义制度一切合理的地方都改革掉了,只留下最不合理的一条:一党专政。

60年代和70年代是苏联经济发展最快,国家最富庶的时期,中国却是社会大倒退的时期。1983年,1984年是苏联盛衰的分水岭,之后,苏联的经济状况一天不如一天,每况愈下。我们在生活里的实际感觉很强烈,以前是年年涨工资,以后工资是不涨反降;以前每年每季度和重大节日都发奖金,以后很少能看到奖金了;以前商店里的商品虽然不是琳琅满目可也也是必需的尽有,以后逐渐少起来了。特别是食品供应缺乏,各式各样的香肠、熏肉、黄油,奶酪全不见了,有时买牛奶也得排长队。节日供应点黄油、牛肉,得排队三,四个小时。小女儿出生后,不能没有牛奶,我每天凌晨5点起床到牛奶店排队,在排队名单上写下自己的号码和姓氏,然后去上班,商店开门后,由妻子购买。不过,十月革命后的大部分时期物资都供应缺乏,训练出了苏联人的排队文明,可称为世界上最好,规规矩矩,有条不紊,很少有插队的和一拥而上的。“谁是最后一位?”是在苏联生活必须学会的一句俄语。苏联解体以后,前苏联人脸上的笑容逐渐消失了,说话的嗓门也低了。老百姓不满日多,编的政治笑话也越多,本书中记录的大部分笑话都是80年代以后编出来的。这里,再记录几条:

一个人走进鱼店,指着货架上掛着的一条鱼问售货员:“这条鱼是新鲜的吗?”售货员回答:“不清楚,因为我才来这间商店工作两个月。”

顾客问菜店售货员:“有西红柿吗?”回答:“没有!”又问:“有黄瓜吗?”回答:“没有!”再问:“有苹果吗?”回答还是没有。顾客生气地说:“怎么你们什么卖的也没有?”售货员回答:“我这里是商店,不是问事处。”

诺宾诺准奇从商店门前经过,看了一眼商店的橱窗说:“唉,肉没有,牛奶没有,咖啡没有——什么也没有。”门前站岗的警察听到了训斥他:“闭上你的臭嘴!你再说一句,我就开枪打碎你的脑袋。”若宾诺维奇笑着说回答:“我不害怕,我知道你们连开枪的子弹也没有。”

一个列宁格勒人问他生活在莫斯科的朋友:“你们莫斯科商店里商品摆的很多吗?”朋友回答说:“我们商店里的商品摆的象赫鲁晓夫头上的头发一样多。”(赫氏是个大秃头)

为什么肉店没有肉卖?因为羊去搞科学研究了、母牛嫁给了将军、公牛当了运动员、而猪都走上了党的领导岗位。

这时远见并且多智的里根总统在美国掌政了,放出了20世纪最大的特洛伊木马——星球大战计划。苏联一代代领导人都认认真真地对付它,军费占了国民经济的百分之六十以上。国家不堪重负,经济全民萧条,庞大的苏维埃帝国也因之去日无多了。 – See more at: http://blog.creaders.net/u/5661/201509/234076.html#sthash.kbOBZSX6.dpuf

难忘1976年

1976年就是毛泽东去世的那年。

到塔拉斯定居后,刚开始,我和李广讳租了两间平房,几个月后他找了个俄罗斯老婆搬走了,剩下我一个人。房子在城市中心的日丹诺夫街,隔马路是共青团公园。房子的布局是沿中间花园在北、东、南三边围合出三栋互不相连的小平房。南房大,住着老两口和90岁的老母亲,男房东是犹太人,矮个子,是本第一高级中学的校长;女房东波兰人,是另一所中学的教导主任。没有儿女,三个老人静静地过着。老夫妻下班后把全部时间都花在侍弄花园和葡萄了,一棵菜也没种。种的花有玫瑰花、芍药花、勿忘我、南墙上还爬满了月季和牵牛,有两棵大花树,白色的绣球花和紫色的丁香花。每当花季到来,花影婆娑,花香浮动,花光笑语,住处闹市,而环境优美。我在零件厂旧厂干活,上下班只要步行10分钟。1977年冬天旧厂完全拆除,新厂在东郊,得坐4公里的公共汽车。犹太人爱钱,也会经营,男房东把3栋房的周边都栽满了葡萄,搭上高大的葡萄架,夏秋一来,郁郁葱葱,房间里阳光都照不进。他们细心地把每串葡萄用纱布袋罩起来,摘下后自己酿酒卖。女房东还喂了一群鸡、两头猪,蛋和肉自己吃不完就卖给我们这些房客,价钱都比商店和市场上便宜。我奇怪他们没有儿女,要那么多钱做什么?戈尔巴乔夫上台后卢布贬值,紧接着苏联解体,银行存款作废。他们一辈子积蓄就当做一把火烧光了。

东房住着3位俄罗斯年青人,工程师两口子和他们当航空小姐的妹妹。每当工程师两口子不在家时就有位年青军官来陪他们的妹妹过夜。北房4间,中间有小走廊隔开。我住两小间,另两小间由一位女同胞住着,叫刘巴,出生在辽宁锦州市,父母都是东北的中俄混血。刘巴在保险公司当会计,很爱干净,一到休息天就洗衣服。她个子又高又大又胖,大概有一米七五,圆而长的冬瓜脸,黑里透红。每看到她下班后回家,黑红色的脸上画着两条浓黑的眉毛,涂着红嘴唇,满面汗光,走起来风风火火,真像是小说里的魔女。不过,她还算文静,休息天也不到处乱跑。大概我给她的印象不错,常来与我寒暄,借我的中国大菜刀用,做点中国饭菜。她父母从乡下来看她,也来和我说东说西,有意招我做女婿。我认识一位住在齐木肯特的湖南老乡,给我写信说:“刘巴和你住一起,你得赶快动手啊!”可我不敢问津,太不相称了:个子不相称,年龄和职业不相称,我大她16岁。1976年春天,她远嫁到吉尔吉斯共和国奥什市去了。丈夫是个1962年过来的四川人,不到一年后离婚,又回到塔拉斯,这时我已经有了巧云。他后来嫁到了齐木肯特市,丈夫是他们的东北老乡,纯汉人,年纪比我还要大。

塔拉斯我下班回家,自己做饭吃过后,躺在床上,打开收音机,享受着电波带来的安慰。但这一年多,带给我的却是各种时局变化的大震动:唐山大地震,是当时世界各国电台的头条新闻。百万人口的大工业城市,几分钟内变成一片瓦砾,10万以上的我的同胞霎那间死于非命,我心里流血了。大二上中国断代史课,田余庆讲师给学生讲解董仲舒的“天人感应”学说,我仔细读了《史记》和《汉书》里的《董仲舒列传》,深知儒家的天人合一道理。天人感应是非常有道理的,人祸必带来天灾,天灾又会引起超出常轨的人的行动,唐山大地震,对过于离谱的“文化大革命”敲起了丧钟,中国大变就在眼前。果然,唐山地震还没有过去,又是头条新闻:“周恩来去世”!我却没有悲伤,周当总理二十多年,有值得称道的政绩吗?毛泽东的左膀右臂断了。接着,就是“四五”天安门事件。在每年五一,十一,毛泽东踏着东方红乐曲的节拍,登上天安门城楼接受万众欢呼万岁的地方,也响起了反对他的怒吼声,秦皇专政的时代看来维持不下去了!中国的大变开始了!我这时还在继续写我的书稿《梦想新中国》,用了整整一章写了我对周恩来的认识。

1976年9月26日下班回家,打开收音机,听到了中央台的长篇讣告,毛泽东走完了他混世魔王的一生。“文革”时各地大字报和小报都传出这样的“喜讯”:“经过医学专家慎重地长期地检查后得出结论:“我们伟大的领袖毛主席将能活到140岁。”看过以后,我心里暗暗发笑。中国历史上最长寿的康熙皇帝也只活了80多岁,他不仅雄才大略,而且襟怀开朗。中国古话说:“多行不义必自毙”,西方谚语说:“上帝要人死亡,必先叫他疯狂”,1955年反胡风以来,毛在我可爱的国土上多行之不义遮天盖地。我的心情十分复杂。中国的一个时代,一个十分恐怖的时代终于结束了,新时代将是个什么样子,中国将走向何方?作为现代中国最不平常的领袖,毛泽东功比过更多:他第一次真正统一了除外蒙古外的中国大陆,铲平了割据;50年代前期的经济建设,初步形成了中国完整的工业经济体系,中国有了自立的能力;;东拒美国大军于国门之外;北抗苏联,使其不能染指现有的中国寸土;南惩印度,大杀它的一度气势汹汹的霸气,让中国人有了自立于世界民族之林的信心和勇气,他对中国历史作出过大贡献。而他55年反胡风后的全盘倒行逆施,却是亘古未有的大罪孽,在大陆是白骨遍野,冤魂遍地。大陆外的中国人也都跟着遭殃。他的统治使中国社会倒退了几个世纪,不知要多少代中国人的含辛茹苦,才能把他造下的孽弥平下来。

到了塔拉斯,有大半年KGB没有再派人来找我,我感到十分轻松,希望他们永远不要再来才好。但毛泽东去世的第二天我下班,车间主任忽然通知我下班后迳直到江布尔大旅社门前去,说有个人等我。我想,这下子KGB又盯上了,总不会有好事,也隐隐约约地知道他们为什么要找我。走到旅社前,就看到少校撒沙满面含笑地迎了上来,握手寒暄后,把我带到了他住的房间。里面还有一个高大壮实,气度不凡的哈萨克上校,他介绍说是江布尔州KGB管理局局长,也是和颜悦色。桌上摆着水果和糖点,还有一瓶特级伏特加酒,少校撒沙打开酒瓶,酌了三杯酒,举起酒杯说“为我们的重逢而干杯”。我开了个玩笑说:“长官们,现在是我们的国葬,是不能喝酒的。”他说:“不是为这个,你和上校今天第一次见面,按我们俄罗斯规矩,朋友们第一次见面是要喝酒的。”两杯下肚后。上校开言了。少校把他的话译成汉语,说,毛泽东死了,中国共产党的道路将会改变,中国的形势会起大变化。中国向何处去?未来中苏、中美的关系又将怎么样?请你根据你的观察和分析,给我们写个书面材料。明天你可以不上班干活,在家里写,他在旅社等着,好把材料拿回阿拉木图。还特别说了几个人的名字:华国锋,江青,张春桥,叶剑英,李先念等,要我写写他们的未来的政治动向。告别回家,我很快就把材料写好了,两千多字。第二天照样上班,我不想得到KGB的恩惠在家休息。下午把材料送到旅社交给了撒沙。这些问题,在周恩来去世以后我就开始日夜思考了,是深思熟虑了的。我也非常担心苏联会向中国开战,希望有一个机会向苏联当局进言,恢复中苏友好、维持中苏和平,能有机会写这个材料是我求之不得的。我写的大致内容如下:“文化大革命”已经使中国走到了山穷水尽的地步,不回头也得回头了。毛泽东的死给中国执政者一个走回头路的大好机会,中国现在就会形势大变,只会变好,不会变坏。华国锋长期当湖南省的领导人,我是湖南人,对华国锋有认识:他是一个很聪明,也很能见风转舵的人,不会给毛泽东和江青当殉葬品。但是他的资历不深,要坐稳中南海的宝座得依靠叶剑英、李先念这批老帅、老总,他们是会站到一起的。江青在“文革”中干的都是绝子绝孙的的事,中国人民很快要起来清算她的罪行,清算她夫妻父女对中国人民犯下的滔天大罪。张春桥是江青的弄臣,他们的命运一样。叶剑英和李先念都是在文革中挨整的,不会保江青,他们将起来扭转乾坤。中共大概会回到苏联社会主义建设的正统道路上来,中苏一定会重新友好。为了抗住目前苏联对中国的压力,中美也会更加接近。后来证明,我的大部分预见是正确的,可是,中共没有回到倒向苏联的老路,不久就在邓小平的带领下实行改革开放,是我原来没敢预想到的,也是我喜出望外的。因为以前我一直认为中共是世界上最顽固保守的共产党,不会离开传统的社会主义老路。写完材料,我忍心把《梦想新中国》的四大本书稿烧了。我我想中苏一旦恢复友好,我将成为有罪的羔羊,被KGB送回中国,书稿将成为我叛国反党的大铁证。于国于私,我根本没有希望过中苏还要友好。

10月份我休假去了阿拉木图,住在刘立中家,电波里传来了打倒“四人帮”的天大好消息,听到后我们两个人惊喜若狂,相抱而泣。立中早就入籍苏联了,心却还是中国心,他不住口地说:“这下可好了,这下可好了!中国共产党还是一个有生命力的党。”我马上跑去商店买回酒,香肠和熏肉。我们两个人一杯杯痛饮,竟夜谈国事而无丝毫睡意。兴奋中,我们两人站起来面向东方高唱了国歌《义勇军进行曲》。立中兄还大声朗诵了杜甫的诗:“剑外忽传收蓟北,初闻涕泪满衣裳。却看妻子愁何在,漫卷诗书喜欲狂。”我们真盼望能就此彻底清算毛泽东路线,中国走上统一,民主的富强康庄之道,我们这些海外弃子们能早日“白日放歌须纵酒,青春作伴好还乡。即从巴峡穿巫峡,便下襄阳向洛阳。”次日,我们又请来了几位中国朋友,共聚庆祝。我在席上说:“能打倒四人帮,再清算毛泽东,我举双手拥护华国锋当英明领袖。“苏共党员张联堂听了说:“不管华国锋如何英明,勃列日涅夫还是国际共产主义运动公认的领袖。”刘立中兄反唇相讥:“当然啊!华国锋胸前一颗勋章也没有,勃列日涅夫胸前挂满了勋章,还自己给自己授予了列宁和平奖金和列宁文学奖金。”看来也真奇怪,在华国锋继位,“四人帮”垮台这个中国历史转变大关头,苏联本应该去弃前嫌,拉中国共产党一把,表示对中国人民应有的善意的。它却没有这样做,失去了改善中苏关系,延长苏联命运的大好时机。深居克林姆林宫发号施令的勃列日涅夫、契尔年柯、葛罗米柯这批老爷子们已经老朽到了家,再没有能力应对变化万端的时局了。

这年旧历新年我是一个人渡过的,孤苦伶仃。三杯下肚,我填了一首《水龙吟》:

冰雪带来严寒,一年一度又除夕。昏灯独对,凄凉客舍,萧条四壁。竹箸陶碗,淡酒清肴,纸灰燃起。向列祖列宗,整衣拜,忍不住,滂沱泪。

八年异域漂流,浑撇却家山万里。铁铸囚车,画地牢笼,平生初历。鸿案全抛,鹊桥事渺,深情何寄!算书生本色,清操劲节,依然犹励。

有了自己的家:妻子,儿子

在塔拉斯定居,已届不惑之年,娶妻生子,是要提到日程上了。好心的朋友和工厂的同事一直在给我介绍女友,但是我每次和人家见面,都有一种曾经沧海难为水的心情。几次爱情挫折叫我心里流血,在大学二年级和在新疆霍城教书的时候,我都非常真情地恋爱过。一个是我的中学同学,一个是我年纪相差不多的中专学生,都是容貌秀丽,功课出众,品行端正的女孩子。两次也都不仅是谈恋爱,而是已谈婚论嫁了。可是1957年的反右,1966年的“文化大革命”,我一次次被踏倒在地,结果当然都是棒打鸳鸯两离分。当然,当泰山压顶之时,象《天云山传奇》里面冯婉珍那样坚贞的女人是有的,我的大学同班女同学陈宁生便是一位典范。她的恋人张学仁当了右派,党支部,团支部天天有人和她谈话,要她与张学仁划清界限。一些左派人士也乘虚而入,向她表达感情。她默默忍受了可怕的一切,自己悄悄地每天给张一封信,告诉他“死也不分离”。1968年毕业典礼一结束,刚走出北大校门,她立即和张学仁举行婚礼。张发配到了边疆,在内蒙古偏远的扎奈渃尔煤矿教书。陈宁生放弃了在北京社会科学院历史研究所的好位置,也去了扎奈诺尔,和丈夫一道忍受着自然的和人间的雨雪风霜。但这样的伟大女姓毕竟太少,一般的名叫“弱者”的女人是无法经得住政治运动的高压的。到了外国,无端拆散鸳鸯的黑白无常虽然没有了,而红线系在何处,却使人既憧憬,又彷徨。休息日的时候,我常到一位叫玛莎的混血大嫂家里带她的小女儿玩,她见我抱着她的小女儿是那样亲热,就嘲笑我这个年过三十五,衣破无人补的王老五好命苦,下决心要给我当月老。她的亲戚遍及中亚各城市,认识的人很多,她说姻缘,姻缘,讲究的是后面的缘字。说我和以前的两个女友没有缘分,相信以后的缘分还会有的。果然,1977年春节一过,一个星期天,她风风火火地跑到我的住处找我,叫我去相亲。说:“我给你把缘分找来了。”我当然十分高兴,一进玛莎的们,一位中国女人模样的少妇款款站起来,我向她问好,她向我伸出了手,相互认识了。她名叫李巧云,以后便是与我共患难大半辈子的妻子。我的妻子是一位真正的中国女人,很有文化和艺术修养,心地善良,特别是,与我一样,有流落国外的中国人共同的复杂、深沉的忧思。她祖籍山东金乡县,民国初年,爷爷带他们全家闯关东,逃荒到了吉林省辽源。她11岁时,父亲跟同乡来苏联谋生。她的外祖父一家也是山东人,一次世界大战时当华工到了俄国,在伯力附近的林区伐木头。十月革命爆发后,他外祖父投身革命,成了布尔什维克,同一位乌克兰姑娘结了婚,所以,巧云身上有着四分之一的洋人血统。外祖母是乌克兰和俄罗斯人的混血,巧云的外国血统也就乌克兰和俄罗斯各占百分之十二点五。苏俄内战结束,外祖父成为当地一家很大的木材公司的总经理,生了6个儿女,我岳母是老大。一家生活得幸福和美。可好景不长,30年代中期斯大林开始了全面镇压的大肃反,俄国各民族中首当其冲被镇压的是中国人,不管是红是白,一夜之间全都被抓,关尽撵走杀光。我岳母一家被撵出苏联,长途跋涉,纵穿中亚,通过哈萨克斯坦新巴拉金斯克口岸驱赶到中国新疆塔城。卡车把几万华侨和他们的家属扔到边界苏联一侧,哥萨克士兵对他们凶如猛虎,海关检查更是惨无人道,被驱赶者只得把身上带的贵重东西全掏出来挖个坑埋起来。1931年美国麻萨里塞州处决了两个意大利鱼贩子,引起全世界的大抗议,我们敬爱的大作家巴金先生也写了《我的眼泪》的长文,不知道为为什么就在此时,几乎上十万计的中国人被苏联政府杀害监禁驱赶,却没人作声?世界上力量最大的是事实、是真理,如果中国人及时知道了30年代斯大林在苏联干下的一切,也就不会有50年代,60年代,70年代在中国发生的一切了。外祖父拖儿带女回到中国,在乌苏落了脚,给地主当佃户,女儿与我岳父李恒田结了婚。儿子们渐渐长大了,上了学,有几个学会了开汽车,一家生活又慢慢兴旺起来。谁知道。1945年苏联一手制造要把新疆从中国分裂出去的三区(伊犁,塔城,阿勒泰)暴乱(直到现在,我们官方还称它是“三区革命”)发生了。苏联红军带着三区的维吾尔,哈萨克人造反,要把汉人杀光。乌苏屠城,是汉族居民抵抗最惨烈、牺牲也最惨烈的,外祖父在守城战斗中牺牲了。我岳父和舅父们拿着枪保着家人和一些乡亲逃到乌鲁木齐。逃难时,巧云生下才两个月,害怕哭出声响给强盗们听到,我岳母用手捂着她的小嘴走路。一会儿见她嘴里气都没有了,以为已经死掉,忍心丢到路边,是外祖母把她拾起来,用人工呼吸又把她救活了。日本和俄国,这两个中华民族不共戴天的仇敌给中国百姓制造了多少灾难?我出生在湖南,她生在新疆,两地相隔万里,但是我们一生下来就要在日本和俄国的魔爪下逃命。我岳母生下三男三女,巧云是老大。岳母年青时是乌鲁木齐出名的美女,岳父也英俊,他们的儿女们都长的好,女的秀美,男的俊美,象一群安琪儿。岳父照快相,一家艰难地生活着。解放后,岳父全力投入拥护共产党的土改运动,当了积极分子,还成了人民代表和法院人民陪审员。1954年土改时,给他家在博罗县城区分了一块地,自己盖了栋大房子,前面是照相馆,后面是住宅和菜园。在博罗照相的只此一家,生意红火,岳父一家又过上了丰衣足食的小康生活,孩子们都上了学。巧云初中毕业统一分配到乌鲁木齐第一师范读到毕业。一家人乐融融地过了十来年,但好景又是不长,厄运又降到头上了。1954年以后中国就兴起了苏侨回国的浪潮,一批有苏侨证的人几乎带着全家亲戚走光了,我岳父一家是决定留下来的。一方面他开照相馆,能挣钱,在三年大饥荒中也没挨饿;一方面他对苏联的伪善性十分清楚。因为岳母是拿苏联护照的苏侨(三区革命时杀汉人,连中俄混血人也杀,在乌鲁木齐苏联领事馆领到苏联护照,方可以得到保护),这时苏联已由中共的“老大哥”变成了“苏修”,两国统治集团翻脸了,城门失火,殃及池鱼,中国政府下令,凡家里有人持苏联护照的一律要返回苏联,一个月之内必须出境。岳父岳母只得便宜卖掉房子和园子,把奶牛,家具,带不走的衣物送给邻居,1963年作为最后一批苏侨,移民到苏联来了。到苏联后,他们被分配到卡拉干达草原上一个偏僻的农场里,再一次生计维艰,全家大人小孩8口,只住两间房,晚上只得睡地铺。农场收入低,要养活一大群孩子,岳父岳母只好干双分活。岳母当裁缝,白天晚上给人缝衣。岳父白天在照相馆上班,晚上在草场守夜。一天晚上一群狼把他包围了,他跳到高高的草堆顶上用压草的铁棍敲打压草的铁板吓服狼群。好在苏联有免费教育也承认中国学历,巧云自小会画画,带着中师毕业证书考入阿拉木图艺术专科学校装饰美术系,又上了4年学,中文俄文的口语和文字水平都不亚于任何一个俄国知识分子。前夫也是中国人,但不久离婚了,一个人独居了9年。她说:“一朝被蛇咬,三年怕井绳”,大概真是天作之合吧,中国人总想找中国女婿或中国媳妇。战后出生的老华侨的女儿们长大了,1962年新疆边民外逃,成万的中国人逃来苏联,几乎全是光棍汉,一大批中国血统的姑娘们不愁嫁不出去了。50年代出生的中国姑娘到了该当新娘时,“文化大革命”又给他们送来了中国夫君。她曾去过莫斯科中国驻苏大使馆请求发给中国护照,但没有成功。

见到巧云的第一眼就把我吸引了,圆圆的丰满的脸庞,五官各正其位,清丽而不妩媚;身材丰满而不胖。缘分吧,似乎第一句话我们便谈到了一起。第一次见面,当然是我说的多,她说得少。在一起吃了一顿饭,我同她有了第六感觉,我觉得我这个第六感还是很灵的。1956年夏,我送初恋的女人在北京前门车站回湖南,握别时我忽然冒出了一句话:“这次见面,不知以后还能不能看到你!” 她笑了回答:“你别胡说!”1966年5月我到伊宁出差,和已成我实际上的妻子的第二个恋人在一起待了一个星期天,分别时,鬼使神差地,我又冒出了同样的话:“这次见面,以后不知道还见不见得到你?”她也是同样回答:“你别胡说!”后来,结局都是不幸的。

与巧云见面的这一年,冬天雪下的很大,雪地一冻,滑溜的很,我几乎天天早起出门都要跌跤。可不知道什么原因,有好多天我却不跌跤了,心里想,可能今年我就要站起来了,没有跌跤就是有人扶着我,这个人马上就要来和我并排走在一起了。果然,两个小时后,玛莎大嫂就来叫我了。我把我的这番心思对巧云说了,她会心地笑了。她寄住在齐木肯特市她二妹李巧莺家,在净棉厂当画家,第二天要上班,下午就坐火车回去了。李广讳抢着要送她,我便没去。到塔拉斯后,李广讳已经结过两次婚,还正和一个俄罗斯女人同居,听说巧云来了,他也想插一手。我非常放心让李广讳送巧云。我相信她,在她眼里,我和李广讳是泾渭分明的。第二天我给她去了信,很快她回了信。以后。我几乎天天给她写信。做完活下班后,在静静的灯光下,给她写信,或者是读她的来信,觉得真是一大幸福。她的文章写得不错,1958年读初中时写的跃进诗还登过报。我们来往的信件一部分还保留着。1977年2月20日的信里,我给她写了首诗:

清茶的怀念

姑娘,

你生长在远方的林野,

你披着朝露来到人间。

烈火爆炒,太阳曝晒,

没有失去你的贞坚。

你使淡水变得更鲜,

你给愁苦者带来慰安。

姑娘,

你是流浪者的梦,

你是梦里的春天,

为了报答你对我的关注,

我要擦干你的眼泪。

2月27日她给我回信,也回了一首诗。她真聪明,诗还是模仿我的腔调呢。

亲爱的!

舒开你忧伤的心,

生活在向你召唤。

即使命运曾把我们拨弄,

要知道啊,

冬天过后就是明媚的春天。

巧云和前夫生了一个儿子,9岁了,住在岳母家,名奥古斯特。也是缘分,奥古斯特的鼻子和我的鼻子长的很像。生下两个月后,巧云就抱着他离开生父,一直母子相依为命地过着。每次我给巧云的信,都称呼他是“亲爱的儿子”。看到我的照片,他也相信他就是我的孩子。我不断告诫自己,要善待他,要培养他到大学毕业。他是4月18日和巧云一起来到我的身边的,来后我办的第一件事,就是向本市法院申请:放弃他生父每月支付的10卢布抚养金,把他的出生证换成新的,生父是我,他的姓名随之改成我的姓和父名了。巧云给他取了个新的俄罗斯利用率最高的小名撒沙,正名是亚历山大,儿子的全名便成了雷·亚历山大·光诺维奇。我邀请巧云带着孩子同她的妹妹,全家在三八妇女节来塔拉斯一游,我要认识在异国土地上的亲戚,要和他们披心沥胆地长谈和认识儿子,他们高兴地接受了。在等待他们的那个星期,是我一生中最难度过的一段时间,比坐牢时盼望出狱还要急切,我几乎是看着手表,数着秒针把那160多个小时过完。

3月7日晚上9点钟,我在长途汽车站把他们5个人接到了:巧云和儿子,大姨子夫妇和他们的孩子。他们在塔拉斯住了两天两夜,这48小时。是我自1966年“文革”开始以后过下的最快乐的时光。儿子9岁了,个头儿有平常十一二岁孩子那么高,俊脸秀目,将来一定是个美男子,活泼极了,也淘气极了。他脸长得像我,对我亲热得很,不是亲生,胜似亲生,也是天缘了。大姨妹夫也是中国人,乌鲁木齐出生的,职业是管道公司的照相师,用射线照相,检查埋在地下的输水钢管。大姨妹叫李巧莺,也真是如黄莺一般人见人爱,长得有一切黄、白混血女郎的优点,听说他们的小妹妹李巧燕比两个姐姐还要漂亮。大家团坐在一起吃饭,笑颜如花,乡语切切,我似乎已经不是置身人间了。小姨夫妇在塔拉斯还有亲戚朋友,白天他们带着孩子出门走亲戚,我和巧云依偎在一起,笑脸相对,一切尽在不语中。她是个艺术全才,画画,跳舞,唱歌样样出众。我们一起唱了很多很多中国歌,有《天涯海角》,《花好月圆》,《我家在江南》,《五哥放羊》,《天仙配》,当然少不了《我的祖国》。当我们男女声合唱唱出《天仙配》中的“夫妻双双回家园,夫妻恩爱苦也甜”这些句子时,都下了决心,患难夫妻,异国相聚,一定要生生世世在一起,用两双手把一个和美的家建立起来。她会唱的歌比我多得多,特别十多年后我们回到祖国,她学会了一首我第一次听到的,名叫《我热恋的故乡》的歌。在我们年老的时候也不离口地唱。这首歌,唱尽了人间最纯真,最美好的乡情,唱尽了困难中的希望。我要把歌词写下来,传于后世,传到永远永远:

我热恋的故乡

我的故乡并不美,低矮的草房苦涩的水。一条时常干涸的小河,依恋在小村周围。

一片贫瘠的土地上,收获着微薄的希望,种了一年又一年,生活了一辈又一辈。

故乡啊故乡。亲不够的故乡土,恋不够的家乡水。我要用真情和汗水,把你变成地也肥啊水也美。

忙不完的荒土地,喝不干的苦井水。男人为你累弯了腰,女人也为你锁愁眉。

离不了的矮草房,养活了人的苦井水。种了一年又一年,生活了一辈又一辈。

故乡啊故乡,亲不够的故乡土,恋不够的家乡水。我要用真情和汗水,把你变成地也肥啊水也美。

感谢30年代和50年代初期的我国音乐家,给我们谱下了那么多美丽的歌曲,亢奋,哀怨,不管血火交织,还是花前月下,都给了我们安慰和力量。

我们在后来几十年的夫妻生活中,当然,和一切家庭一样,我们有时也生气,也吵两句,可是只要我们一唱起祖国的歌曲,一切恼怒便都烟消云散了。3月10日。我们双双到市婚姻登记做了婚姻登记,正式成为夫妇了。

3月底,我领了3天婚假去齐木肯特接妻儿。大概是我在工厂一直劳动出色吧,厂长主动叫我去,给我批条子,领了110卢布的安家费。齐木肯特离塔拉斯185公里,坐公共汽车3小时就到了。齐木肯特是哈萨克斯坦第3大城,有40多万人口,大工厂很多,有哈国唯一的一家炼油厂,也有造核武器的工厂。城市位于盆地之底,天气暖和,夏天经常热到摄氏40度。3月底,桃花、杏花、梨花都开放了,全城笼罩在一片花团锦簇之中。街道宽而直,市中心有许多用大理石贴面的高房,还有能划船的湖泊,比塔拉斯气派多了。巧莺夫妇非常热情地接待了我。到后我立即陪巧云到她任职的净棉厂办理退职。她在厂里当画家,画宣传画,写各种通知布告,工作认真,厂长不放她走,语气强硬,几乎没有商量的余地。她只好把同单位工作的另一位画家请去帮她说话,才批准了。

齐木肯特南部200来公里的地方,在与乌兹别克共和国接界处有一个叫沃斯霍德的农场,即前文提到的“日出”农场,在一座大水库边,种植水稻。1976年,KGB把在北哈萨克斯坦几个集中点监管的汉回两族中国逃亡者都集中到这个农场来,我在金田村的难友们都来了这里。我和巧云去了一趟“日出”农场,看望他们。一到农场,许多老朋友如麻明,朱生福、刘子利、柳振松,马阿良全都出迎了。见到我带着新婚妻子,都从心底为我高兴,一家家排着队请我们的客,每宴必照相,气氛十分热烈。日出农场是新开辟的水稻农场, 场部盖着很多带花园的小平房,还有两层楼的别墅式洋房。新来的20几个中国人不住集体宿舍,每人分了一栋小平房或楼房里的一套套间,住的宽绰。也有不少人在附近的塔什干,哈尔塔拉市或东干人聚居的吉尔吉斯共和国托克马克市找到了妻子,有了家。

集中到日出农场没几年,绝大部分的中国人都归化入了苏籍,在外面娶妻后离开了农场。回族同胞们全去了托克马克市。朱生福和另一个回族人马素,一直不愿劳动,老在阿拉木图和塔什干各地闲逛,1983年被KGB遣送回了中国。

婚后一个多月,我们一家3口仍然住在我在日丹诺夫街租下的房子里。春天来了,花园里丁香凝紫,绣球团银,室内儿子唤爹唤娘,笑语声声。每当月明之夜,我们在葡萄架下摆上小桌,围坐在一起喝咖啡。微风拂袖,月光似水,花香袭人,觉得又好似回到了当年燕园里的未名湖边。巧云的画师职业很受欢迎,每个单位都需要,市里还有几家美术社,实行计件工资,按画板的平方米计价,收入不错。究竟到哪里去工作?我们得出结论:不管工资多少,得找一个容易领到房子的地方我们打听到南哈萨克最大的企业江布尔发电厂在市中心盖了几个居民区,由发电厂房管科管理,科长兼总工程师是一个30多岁的俄罗斯人,文质彬彬,好说话,他的秘书是个漂亮的朝鲜姑娘,巧云和她一认识就结成了朋友,巧云找到这里上班了,工资只有100卢布。按惯例,有了孩子,住在工作单位集体宿舍里的家庭领房子能够得到一些优待,她上班后,我们全家搬到了集体宿舍。是一座5层筒子楼,一室一家,一层住40多家,共用一个厨房,一间梳洗室和男女各一个厕所,澡堂在地下室。其拥挤度可见一般,连张桌子也没地方放,撒沙作功课,我读书写字,只好用小折叠书桌。好在宿舍外面种着不少树和花,塔拉斯河的支流就在屋边流过,出了宿舍还有活动的地方。40来家,一百多口子住在一层,嘈杂和喧闹是可想而知。邻居多俄罗斯人,还有不少是带家的流放犯。下层俄罗斯人酒鬼多,粗野,蛮横,出口即脏话,是可以得世界冠军的。一家中国人住进去,成为他们挑衅起哄的对象,我们尽量避开邻居,躲进小房。有时实在受欺辱的过分了,就冒着命和他们大打一场。有一次我一人力敌三人,没低头,他们看到中国人不可欺,也安静了一些。集体宿舍小孩多。下层居民大抵喜欢生孩子又不会教育,有不少十来岁的孩子成了小流氓,小偷。撒沙交了不少小朋友,放学了,书包一扔就跑出去玩。我真害怕他给带坏,而一间堆满杂物的斗室又实在是无法满足他的活动,唯一的办法是每天天黑前把他找回家,找儿子就成了我的日课。塔拉斯到了暑假,把沙撒送进了夏令营。苏联学校的暑假很长,7,8两个整月,苏联政府在教育上舍得花钱,人人都得上完十年制中学,相当我国高中毕业。学校全部免费,包括免费教科书和午餐。每个城市,每个区,甚至每个大些的单位都有自己的儿童夏令营,建在山上或河边的风景优美的地方,房子像疗养院一样好,辅导老师,医生,护士,厨师一应俱全。学习,游乐,体育设施应有尽有。我们每个星期都去看望撒沙,看到外国小孩子们在夏令营游戏玩乐,再想起自己的童年,受战火蹂躏,在学校里战战兢兢,假期还得顶着烈日帮父母干活,真感到当中国人太难了,童年也都得在忧苦和劳累中度过。

KGB的信息太灵通了,巧云一来到塔拉斯,少校撒沙和上校局长就把我叫到江布尔旅社一间客房,说是向我祝贺新婚,拿出一搭子钞票给我当贺礼。我礼貌地拒绝了,买了酒和吃食与他们共饮,以表谢意。搬到集体宿舍后,撒沙少校和另一名哈萨克少校撒鲁金诺夫又找上了门。他们是最能乘机而动的,看到我有了妻子、孩子,妻子还怀了孕,再无法桀骜不驯了,企图迫我就范。他们要我写一份汉语“教材”,内容是中国各地居民的地方性格和民族性格,形式是用对话编成故事,一个月之内交稿,交换条件是不允许邻居再欺负我们、给稿费,还答应可以在领房子的问题上帮忙。他们指出几个重点省分不能漏掉,即四川,河南,上海,广东,新疆和东北。这明明是在收集中国的民俗情报,为他们寻找间谍服务。我想硬抗,可一看到巧云大肚子,又气馁了,只好昧着良心,写完了这份材料,一个月后交了稿。他们没有指明要写湖南人,我却用了几页篇幅大大发挥了湖南人的地方性格。湖南人外号“湖南骡子”,脾气犟得很,认定了的路是不回头的。湖南人也最爱国,杨度就说过“若要中国亡,除非湖南人尽死”那样的话,要让他们看了再不起要我这个湖南人当间谍的念头。交稿后,一分钱稿费都没给,大概贪污了,只给我写了一张条子,叫我找厂长要房子。厂长回答说,目前没有,但交待了邻居,叫他们以后再不要找我们的麻烦。流亡以来,这是我做下的最大一桩,也是唯一的一桩坏事。我向祖国忏悔,我不祈求别人的原谅,我想起了明末降清文人吴梅村的绝命词:“艾灸眉头瓜喷鼻,今日需难决绝。早患苦重来千叠。脱屣妻弩非易事,竟一钱不值何需说!人世事,几完缺?”

小女儿来到人间

4月,巧云怀孕了,我欣喜若狂,很快就有后代了,天道公正,上天待我不薄。宋植曾出言说整人就要整死,工作组另一个姓唐的也说:“狠狠地整,往死里整。”我没有被整死,还有了后代。从此以后,除了上班干活,我的全部业余生活都围绕着服侍我的妻子了。我们买了台缝纫机,巧云的手很巧,缝了宝宝穿着睡觉的小衣小裤。食品供应有时紧张,商店里肉是有的,黄油,水果却十分难买了。巧云需要营养,我常常是跑遍全城的食品商店排队。按苏联规定,妻子怀胎4个月后丈夫必须到孕妇学习班听课,学到了许多知识。我在市里每个花市去找无花果,自己磨制黄萝卜汁,产妇吃了后能有助分娩。怀孕后,巧云常半躺在沙发上休息,我把耳朵伏在她的肚子上,要听听儿子的声音,老说“儿子、儿子”。巧云生气了,说了气话:“爸爸不喜欢女儿,女儿生下来,我们也可以找到一块面包吃的。”我马上向她宣言:”我首先要的是女儿,”以后我就天天把耳朵伏在她的腹部听女儿的声音了。既然是女儿,在她来到人间之前得给她取个好听的名字,我们夫妻用足了脑筋,立中兄也写信出主意。中国名字外国人叫起来咬口咬嘴,在苏联生活的中国人一般都取了俄罗斯名字,目的是叫起来方便。大部分中国人在孩子出生后只保留姓,不再另取中国名字。我们决定女儿的名字一定要返璞归真,又要让外国人叫起来方便,想了几十个,总是不满意。10月时秋高气爽,黄叶染枝,我常常在休息天扶着妻子在河边散步。一天看到小鱼在水下游来游去,灵机一动,想起了不知道哪一年查辞典,看到过有一种鱼叫鳗鲤,生活在江河里,产子在海洋。鱼子孵化成小鱼,小鱼长大了,没有父母带领,却能循着祖先游过的路线回到自己的故乡。我们决定给女儿取名鳗澧,把鲤子改成澧字,因为我生长在湖南的四大水系之一的澧水边。我希望女儿从小就不要忘记自己是中国人,长大以后,祖国能伸张臂膀欢迎她回到自己的故乡。鳗澧的俄文拼音是 манли,英文拼音是manli,外国人叫起来很方便,还和西人常用的名字mary的音接近。还有,鳗澧两个字笔划多,是不容易写的复杂汉字。我要女儿学会中文,先牢记自己笔划繁复的名字,写起别的汉字来就方便得多了,最后,女儿的名字就决定为雷鳗澧。

1978年元月底,产科医生给巧云检查后,要她住进产科医院,我也领了休假和请了一个月事假,有两个月的时间,可以服侍妻子坐月子。这年冬天特别冷,气温天天零下20几度,我每天早晚两次去产科医院探视,只能把食品送到接收处,巧云住在3楼,只能在院子里大声和她说话。外面太冷,在刺骨的寒风中,我常常一站就几个小时。2月6日,是中国春节的大年初一,早上9点我就到接待窗口询问,值班护士满面笑容地告诉我:“恭喜你,你的妻子昨天晚上给你生了个小女儿。”我有女儿了,我有后代了,他们既没有整死我,也没有叫我雷家绝后。出来后,我扑到院子的雪堆下,禁不住两眼泪汪流。大哭了一场。我女儿的生日是春节的大年三十,巧云的生日也是大年三十,母女共一个生日,都是命大的,祖宗有德啊。一个星期后,我雇了出租车,带去新的襁褓、小毯子和一大把花,把我妻子,女儿接回了家,撒沙抢着要抱妹妹。前一天我去“儿童世界“买回了童车,从商店到家有一公里多路,我推着童车走到大街上,满腹傲气,满脸豪气,真想大声向全世界呼喊:“我有女儿了!”接女儿回家时,在产科医院户籍科专设的办公室领回了她的出生证。按照苏联的规矩,她的全名是雷鳗澧·光诺芙娜。照苏联的国籍法,父母双方有一方是苏联公民,孩子又出生在苏联,就是当然苏联公民,我女儿没有办法领到中国国籍了,这是我最大的遗憾,我女儿不能成为法律上的中国人。我数了数从门走到窗户是18步,我抱着女儿一边走一边哼着自己编的儿歌:“小女儿,快快长,长大了,上学堂。”“中国爸,中国妈,我是中国的好娃娃”。此时此刻,我全身轻轻地好像在云端里飘然欲仙了。女儿的出生给我们带来了好运,她8个月的时候,我们领到了房子,是共产主义大街81栋20号。苏联法律规定,领到住宅后,使用权是终身的,还可以由女儿继承。当时苏联办事也很痛快,办公室的职员们似乎没有请示,汇报那一套,只要属于自己职权范围的,一下给办理好了。共产主义大街是全城中心最大的街道。原来在苏联每个城市的中央大街以前都叫斯大林大街(包括我们的新疆伊宁市),赫鲁晓夫清算斯大林,改成了共产主义大街,是塔拉斯市最长的街道,一条直线连贯全城,直到郊区的飞机场,有十多公里长。住宅楼西侧是竖有列宁铜像和两个大喷泉的列宁广场,对面是艺术剧院、足球场、露天游泳池和市里最大的列宁公园。东侧步行一站路到撒沙新转的以高尔基命名的十年制学校。街道宽阔,两边各有两行行道树,种着高大的阔叶榆树,笔直的白杨和其他枝叶多的树。林荫之间是水泥浇灌成的人行小道,鲜花盛开的街心公园到处都是。房子建的稀,两房之间有快20米的空地,两三栋房子之间就有一个小公园,种有树,草坪和花,安有休息的长凳,还有儿童们游戏的滑板,转车,沙坑和排球场、乒乓球桌。苏联地盘大,舍得钱办公益事业。城市里住宅标准不高,各项设施却是很齐全的。特别是绿化,每栋房子都掩盖在一片绿荫中。我们的住宅是赫鲁晓夫时代建的,3层楼,样子古旧,可是非常结实,油漆木板地板,层高3.2米,不象水泥板拼成的急就章式房子。有了儿女,有了住宅,我在异国的土地上安居下来了。没有穷尽的家园之思当然不时缠绕在心头,特别是想念我的老祖父和父母。他们还能活下来吗?但除了想念,我还有什么办法呢?不过经济上开始紧张了,我应该寻找到一个更挣钱的活干。在车间里,最能挣钱的是做精密度高的零件,我当冲压工轧制的都是粗零件,每个月拼命也只能挣200多卢布。1979年,加工拖拉机小轮盘流水线缺一个工人,把我调到车轮的第一道工序车床做车工,我学了一个星期就顶班干活了。我工作很努力,技术也学得快,第一个月就领到了300多卢布,和大学讲师的工资一般高了。几个月后又调到第二道工序,一次要加工4个地方,动作很复杂。原来干这道工序的是两个俄族和哈族小伙子,不认真干活,我去了,第一天就超出定额30个,一个月后一个人干得比两个人还多,车间头头们和同事们皆大欢喜,年底我当选为全车间唯一的模范工人,照片上了州报。这个工作一直连续了4个年头,直到零件更新后把我调到更复杂的德国车床去加工轴承盒盖,收入更大幅度增加,最高达到月收入380卢布。。巧云也转到美术社干计件工资,收入也增加了,在塔拉斯的中国人中,我们是收入最高的一家。不过我们没有别的中国人有本事,会挣外快,只能挣点正规工资。巧云非常节俭,除了穿衣吃饭是高档次之外,历年省吃俭用节约下来的成千的卢布她都送到银行存下来,但到苏联解体时,一概作废,给新独立的哈萨克斯坦政府全捞走了。

女儿生下来后,我就和巧云约定:进家门只说中国话,要让女儿最早会说的是中国话。所以直到鳗澧3岁上了幼儿园后她才学说俄语。9个月后,她开始说的第一个词是爸爸,第二个词是嘟嘟,这是我们为女儿发明的新词,意思是抱她到外面玩。只要我一回家,她就扑到我怀里:“爸爸,嘟嘟。”我马上抱她到院子里去玩了。她是如此逗人喜爱,粉嫩玉琢,神韵天成。有时抱她坐公共汽车,俄罗斯大娘见了欢喜地说:“看,小女娃,金子般的。”女儿不仅给了我无穷的欢乐,也给了我数不清的骄傲。在公共汽车上、在公园里、在新年晚会上,以后在幼儿园,在学校,直到她现在在挣钱养活我们老夫妻,都使我们能抬头大声说:“我有个好女儿。”

《一个红卫兵在苏联的遭遇》

陈家祯是我在霍城一中教书时的学生,跟我上了4年学,是全校最出名的调皮分子之一,对他的家世和为人老师们都清楚。30年代盛世才统治新疆时,他父亲在迪化(乌鲁木齐)参加过著名电影演员赵丹领导的抗日戏剧运动,后来成为国民军一名政工少校。1949年年底随军起义,编入新疆生产建设兵团,在农4师霍城东风农场当参谋。东风农场场部在霍城县城,后来县城迁到水定,原城改称老霍城。陈家祯长得很清秀,高个子,很帥,爱好体育运动,又十分淘气。1966年文革开始,他随红卫兵南下广州,一去三年,1970年3月我赶着马车到老霍城给学校搬家,从俱乐部前走过,熟人告诉我里面在开公审大会,审的是你学生陈家祯。我问他犯了什么事?对方答:他在广州干了不少打砸抢坏事,是广州公安局把他抓住送回新疆的。生产兵团判了他3年劳改,发到边界附近的农田劳动,他乘机跑到苏联来了。逃苏后,又判了3年,送进国际集中营,在拍摄反华电影《恐怖的长城》时KGB找到了他,他十分卖力,扮演了几种角色,也敢于辱骂自己的国家。发现了个好特工人才,KGB惊喜莫名,把他送到阿拉木图,出大钱培养。KGB首先要给他找个对象结婚,套住他的心,介绍了几个女大学生,他都没看上,说要自己找,要中国姑娘。KGB送他到塔什干和齐木肯特,自然有当地的中国小闲陪着他到每一个中国人家庭做客,时间是1976年。那时巧云的小妹巧燕才17岁,高中刚毕业,来到二姐巧莺家小住,准备在齐木肯特考大学。陈家祯改名陈列,认识了巧燕,马上看上了,告诉KGB要娶巧燕。知道了陈列的身份,了解了陈列的为人,我岳家极其反对,把巧燕隔离起来。KGB神通广大,7月份陈列伙同齐木肯特的KGB人员把巧燕偷走了,带她到了阿拉木图,与陈列举行了婚礼。第二年9月,陈列夫妇带着小女儿来我们家认亲、认老师、认姐夫。他情绪十分好,很健谈,在我面前也说出了不少想念中国的话语,对KGB也不乏微词。他说他名义上的职务是哈萨克斯坦加盟共和国文化部翻译,我岳父讥笑他:“你只会说中国话,俄语说不好,能有一头的翻译吗?”不久他们全家搬去了莫斯科,在莫斯科最好的地段瑞士驻苏大使馆后门边给了他家一套3间房的房子。年年黑海休假,有时巧燕也来塔拉斯看望父母,却从不踏进我家的门。她说陈列经常出差,有时一出去一个多月,每次回家都改变了发型。俄语也说得相当流利了,全家都改姓了库兹列作夫,即巧云姐妹外婆的俄罗斯姓。80年代末,陈列从苏联失踪了,好几年不回家,巧燕一家日子过得艰难起来,靠出卖以前购置的珠宝首饰过日子。岳母心疼小女儿,常去莫斯科帮她照料家庭,也把鳗澧从中国带回来的衣服拿去给她女儿穿。陈列到什么地方去了呢?90年代,我认识了杨涌,杨涌告诉我说,他回中国时在一本杂志上读了一篇文章,题目是《一个红卫兵在苏联的遭遇》,还刊出了照片,一看便认出是陈列。他和陈列在国际集中营一起劳改过两年。文章写道:陈列逃苏后,一直给KGB当特工,到过许多国家(大概也包括中国),得到了KGB的信任和赏识。80年代中期派他到某非洲国家活动,决心不再给KGB干了,下飞机后立刻买机票到了美国,径直到美国中央情报局报到。中央情报局想利用他,他拒绝了,说“我要过正常人的生活。”美国政府同意他留居美国,在洛杉矶安顿下来后和一个中国女留学生结婚了。

巧燕带着一儿一女很在莫斯科过了几年的苦日子,一直是岳父母津贴她的生活。也许还有俄罗斯情报部门的照看,90年代初她又重嫁了一个莫斯科上尉警官,是乌克兰人,名叫伊万。

中越之战 苏联色厉内荏 刘立中兄去世

1979年,中越关系一下子紧张了起来,“同志加兄弟”的中越两国突然翻了脸。苏联电视媒体播送着这个消息,苏联人高兴了。1979年2月15日,下午3点,全厂宣布提前下班,要全体工人都到俱乐部开抗议大会,抗议中国侵略越南。我放下活,赶快回家听收音机。零件厂有6个中国工人,没有一个参加抗议大会的。在本市和阿拉木图的中国人,据我所知,中国人都拒绝了抗议会。晚上10点,我抱着女儿正听收音机,门铃响了,巧云开了门,是州KGB管理局的撒桑金诺夫少校和另一名哈萨克老头上校来了。撒氏手里提着个大包,见面问好后请他们坐下来。好长时间他们没有来絮聒我了,在中越战争爆发的当晚就上了门,大概不会有好事。果然,一坐下来上校就开言了:“中国是个大国,却向社会主义的小邻邦越南开仗,这完全是侵略战争。我们苏联反对任何侵略战争,更不用说中国侵略的对象是我们的同盟国越南,希望你和我们站在一起,在电台上发表声明反对中国侵略越南。”说完就从提包里拿出了录音机。我立即回答:“我是中国人,不能发表声明反对中国。这次战争,中国只是自卫。”撒氏立即厉色说:“你胡说,越南是个小国。怎么会向中国挑起战争?”我回答:“它有你们苏联做后台啊!”上校再问:“阿列克,你对我们说实话,中越开战,你站在哪一边?”我回答:“我站在我祖国这一边。”在俄文里,祖国一词还有家乡的意思,我住在塔拉斯,也是我家乡。他又问:“你明确说一下,家乡究竟指什么地方?”我立即回答:“中华人民共和国!”他们俩人冷笑了。又转过头来问巧云:“丝薇特兰娜,你是苏联公民,阿列克不愿意,你就在电台发表个声明吧。”巧云回答:“我和丈夫站在一起,她不愿说的话我也不会说。”撒氏听了苦笑着说:“我们原来以为你是个苏维埃爱国者,现在才发现你是和自己丈夫站在一起的。”只得起身走掉了。他们走后,我心里一直忐忑不安,心想,大概和几年前我拒绝拍反华电影一样,我又要遭流放了。

第二天是休息日,早上9点我们刚起床,门铃又响了。开门一看,撒桑金诺夫又来了,我大吃一惊,是来抓我的吧。可是,他没有脱大衣,就站在门边对我说:“你的好朋友刘立中死了,尸体在停尸房搁了几个月,没人收尸,报到警察局,查出他是个老单身汉,没有亲人。警察打开他的房门,只见你给他的信最多。大概你是他的好朋友,电话通知了江布尔州警察局。请你马上到阿拉木图去收尸埋葬。今天是休息日,来不及办到阿拉木图的签证手续了,你马上动身吧,反正江布尔和阿拉木图的警察局都知道这件事。到阿拉木图后你到市警察局拿到钥匙,还要到法院和检查院开证明,才能从停尸房把尸体领出来。”我一听,一下子惊呆了。难怪立中兄有两个多月没给我写信了。人怎么就不在了呢?他才58岁。

当天上午11点,我上了去阿拉木图的长途汽车班车,路上走了11个小时,晚上10点钟才到。我先到徐英斌家,徐说有几个月不见立中了,阿拉木图的朋友以为他休假我家去了呢。第二天一清早,我到了停尸房,询问领尸的手续,回答说,如果是直系亲属,带上护照和户口册就能领出。不是直系亲属,则要到检察院或法院开出领尸证明才能领出。若是满了3个月还没有人领,停尸房就拉出去埋掉。我不认识一个官面上的人,怎么能把证明开出来?我忽然想起了立中兄告诉过我阿拉木图市医院有一位中国针灸医生的事。

这位医生名叫周瑜,重庆人,1962年跑来苏联,在北哈萨克斯坦首府切林诺格勒(今日哈国首都阿斯达拉)考上了师范学院历史系,半工半读。该市有一位姓顾的老人家,江苏华亭人,是明末清初大学者、抗清志士顾炎武的后人,年轻时留学德国,学采矿,回来后在湖南常宁水口山铅锌矿当采矿工程师。抗战结束后从政,在吉林省一边境县当县长。林彪率领八路军打进来了,他只身一人越界逃到苏联,过来后也没有结婚,在切林诺格勒建筑工地当看守。这位顾老先生把节余下来的一点有限工资拿出来资助周瑜上学。顾老先生有一部中国针灸书,周瑜拿来研究,一次病了,按书上的穴道给自己扎针,居然扎好了。他福至心灵,干上了医生的第二职业。切林诺格勒州共产党党委第二书记的女儿患神经性眼皮跳,跑遍了苏联各大城市的医院都治不好,周瑜给扎好了,第二书记岳母的慢性病也给周瑜治好了。1978年,第二书记升任共和国卫生部长,把周瑜带到阿拉木图,任为市医院针灸大夫。市卫生局长说:“他没有医学院毕业证书,没有医生执照,怎么当医生?”部长回答说:“我的病他都给治好了,还不能给老百姓治病?”市医院院长是位医学教授,也用同样的话拒绝,局长又用部长的话回答:“我的病他都给治好了,还没资格到你的医院当大夫吗?”周瑜在市医院的业务发达极了,病人排着队等他治疗。我想到了他,立即去找。他见了我马上停下工作,亲切地说:“刘立中我认识,是一个有学问的人。我早就听到了你的名字,我们都是学历史的,早想和你交个朋友了。不久前我把阿拉木图市加里宁区检察院长的病治好了,可以请他开证明。”他自己有小汽车,开到区检察院,很顺利地把证明开出来了。当天已来不及领尸安葬,他把我带到自己家,电话叫来了好几位中国老乡。他家在市中心,宅内阔气,妻子是本地中俄混血女人。顾老先生已经89岁了,周瑜把他接到自己家里养老。老人家精神很好,头脑清醒,戴着老花镜在读一本厚厚的俄文小说。他和我谈了很多他远祖顾亭林的事迹。我在大学4年级后对南明史发生过兴趣,曾准备把南明一些抗清英雄的事迹写成历史小说,顾亭林的《日知录》和《天下郡国利病书》都是熟读了的,所以谈起了没有当场出丑。周瑜在一边高兴地说:“明年是老伯伯九十大寿,我要给老人家好好热闹一场,届时一定请你来。”

立中兄去世的悲哀压在我的心上,吃饭时我静静地坐在一边没有动碗筷。老乡们谈得很热烈的话题是中越战争,周瑜说:“前天下午医院要我参加抗议大会,我借口要给病人起针,推脱掉了。”一位四川籍姓黄的工程师说:“昨晚深夜我听了自由欧洲电台的广播,说解放大军进攻越南河口,越军惊慌失措,一下几个师给解放军消灭一光了。”大家都希望中国打胜仗。也有人发表高见,越南有长期和美国兵打现代化战争的经验,也有苏美现代化装备,这些我们解放军都欠缺,要不怕牺牲和越南人多打几仗,训练点现代化战争的经验。饭后他们把我和徐英斌送到了立中兄生前的住宅,我们两人一夜没睡,找出了他留下的新西服,衬衣和干净的被子和褥子,准备装敛。在文件盒里也找到了立中兄的护照,但存款折和人寿保险单都不见了。安葬需要一大笔钱,都是我拿出来的。公墓在阿拉木图南郊,墓穴前,朋友们肃穆地举行了葬仪,我磕了4个头向立中兄最后告别。第二年夏天,徐英斌电话通知我碑已经立好,我去阿拉木图扫墓,买了钢栏杆和祭桌,安放在墓上。我每年都去上坟。

安葬完立中兄的那天晚上,大家都散去了,我一个人留在立中兄的住房内。这间房我住过多少次了,常与立中兄彻夜长谈,发人世之不平,叹故国之多难。现在他以58岁还未进入老年却走了。我在停尸房里详细看了收尸记录,1978年12月22日他在阿拉木图市果戈里街一电车站下电车,一跤扑到路上再也没起来。民警叫来急救车,抬他上车开去急救站,在路上就与世长辞,急救车改向开到了停尸房。一位多灾多难的爱国者,一位多才多识的哲人,便这样长眠在异国的土地上。

我坐火车回塔拉斯时,乘客也谈论着中越战争,有人说各厂都在登记苏联援越志愿军,但老百姓没人报名,报名的都是一些服流放刑的犯人,也有个别酒鬼想到越南去喝大米酒。回到家,我给立中兄设了灵位,掛上了他的遗像,巧云画了一副中国画纪念他。画面上是滚滚的云海,半轮月亮隐现在云海中,我在上面题了“碧海青天夜夜心”几个字。80年代,有500越南劳工来到了塔拉斯市,用劳役来给苏联还军火债。几十年来人们给越南的几百亿美元的援助都是无偿的,不向它索债,可苏联不同,它给人的援助都是要收回来的。越南一无外汇,二无商品,用什么来还债呢?只有苦他们的老百姓了,飘洋过海,出卖苦力。500越南人全在皮革联合公司做工,干的都是苏联人不愿干的活,男工全在制革车间洗皮子,又脏又累,女工在制靴车间缝靴子。每月工资120卢布,纳十分之一的所得税,税钱作为越南政府的还债上交苏联政府。皮革厂为他们专修了一栋4层楼的集体宿舍,门前有警察站岗,外人是进不去的。男劳工胆子大,在警察眼皮下作小生意,令人佩服。要知道直到80年代初期,苏联政府还禁止私人买卖非农产品。这时中国早已改革开放,通过各式各样渠道,许多中国商品,特别是牛仔衣、裤,皮夹克衫,电子表和女人化妆品。布拉吉流进了苏联,很受人们欢迎。这时去中国探亲旅游还没有开放,我们中国人也见不到中国商品,越南人却不知道在什么地方弄到一包包中国货在集市上卖。戈尔巴乔夫执政后,苏联允许中国人给中国的直系亲属寄钱,数量极小,每月才15美元,还要有中国大使馆开具证明。我每个月都要到国际邮局去给母亲寄钱,每次寄钱都要排半天队,什么原因?不是往国外寄钱的苏联人多了,而是往越南寄包裹的越南人太多。似乎越南穷的什么都没有了,连铅制的锅碗瓢盆,尼龙衬衣塑料单,他们都一箱箱地往国内寄。

1985年我到阿拉木图去给刘立中兄扫墓。回来时一进火车包厢,一个50多岁的越南人站起来用中国话向我问好。此间遇到越南人不奇怪,苏联各个城市都有越南劳工,他一眼看出我是中国人倒有些出人意料了。他自我介绍是越南外交部的官员,会5种语言,要从塔什干坐飞机飞去德黑兰,筹建越南驻伊朗大使馆,顺道到江布尔视察越南劳工。他的一口中国话说的十分流利,我和他自然要谈到硝烟还没有熄灭的中越边界战争。我不客气地问他:“中国人民一直把越南人视做同志加兄弟,苏联和中国对立了20年,苏联还没有驱赶我们华侨,你们越南竟敢把几十万华侨驱赶出去?他们都是在越南土地上生活了几辈子的人。”他连忙说:“不、不、华侨在越南表现很好,很能干,我们怎么会驱赶他们呢?他们要回中国,都是中国派人煽动的。”我又反问:“几万华侨驾着小木船投奔大海,西贡有的华侨全家举火自焚,也是中国派人煽动的吗?”他无话回答,转而言其他:“以前中国人对越南人那样友好,想不到这几年中国人变得这么厉害了。我看过中国军队撤走后的谅山,城市没有了,剩下的是一片瓦砾。”

可悲的无国籍者

我们中国历史太悠久了,中国文化源远流长,力大无比。和外国人不一样,中国人不管走到地球哪一个角落,都不能忘记自己是中国人,虽然明知道要长眠他乡,心中口中却总是念叨着落叶归根,我要回到中国去,我要到唐山去。我们老一代的侨居国外的中国人可和今天跑到海外去的某些年轻人完全不一样,他们中许多人一心想的是绿卡,美籍,白领,而要我们改变国籍做外国公民,是一件比要命还难受的事,有的人甚至会死抗到底。从第一次世界大战到俄国的华工,还有九一八事件日本鬼子占领东北后逃来苏联的人,差不多都是拿着中国护照,有的是中华民国华侨证,直到撒手归西,也不肯放弃国籍。1962年以后,中国政府就不给返苏华侨的家属发出国护照了,只给一张出国证,把全家人姓名写在一张纸上,对我们这些先后非法越境来苏联的,更是以叛国投敌分子视之。加在一起,数以万计。因此,1962年以后来到苏联的中国公民都失去了中国国籍,被迫领取了苏联政府发给的无国籍护照,成了无国籍者,他们中的大部分是想重新成为中国公民的,多少年来抗着各种压力没有加入苏籍。1964年,几个在塔拉斯居住的无国籍中国人冒险跑到莫斯科,再冒险进入中国驻苏大使馆,要求恢复中国国籍。当时中国大使馆的外交官是如何对待他们的呢?接待官员一看见他们,马上用电话叫来了警察;对警察说:“你们的一群流氓到我们中国大使馆闹事,请你们马上把他们带走。”这几个中国人含着眼泪被警察押出了中国大使馆,24小时之内就被驱逐出莫斯科了。我又想起,17世纪时爪哇的荷兰殖民者一次屠杀了几万华侨,中国人的血把一条河水都染红了,这条河至今还叫“红河。”其时清帝国表面上还是强大的,荷兰人怕中国报复,派使节来中国解释。清廷却回答说:“我们中国的良民都留在国内,跑到国外去的都是刁民。”叫西方殖民国家可以放心大胆地虐待他们。上面谈到的中国驻苏大使馆的官员对华侨的伤天害理的做法,和满清皇帝有两样吗?1945年日本投降,统治马来西亚的英国政府看到马共领导的抗日军抵抗日本占领,立了大功,邀请马共参加政府。马共的领导人陈平和李杜都是华侨,党员和抗日军战士也大多是中国人,其实马共就是中共的支部。中共指使马共,拒绝了英国的建议,重新回到丛林打游击,结果是彻底失败,马来西亚华侨也失去了参与政府和军队的大好机会。1965年,中共支持印尼共搞军事政变,又失败了,百万印尼华侨也遭了大殃,其中数以几十万计的成了苏哈托屠刀下的刀头之鬼。中共又支持缅甸奈温搞军事政变,奈温上台后却不听话,又发动华侨起来游行示威,结果是华侨产业被没收,侨校被解散,不少华侨被奈温的军队开枪杀害。特别是,中国花了几百亿美元,数以千计的解放军战士的生命,帮助越共赶走美国人,但越南一统一,旅越华侨就受到了亘古未有的灭顶之灾,被驱赶回国,投向怒海。还有柬埔寨。中共一手扶植的红色高棉头子波尔布特政权不知残杀了多少旅柬华侨。但中共对它给海外华侨造下了孽,却没有一点自省,还厚着脸皮天天吹牛:“中国强大了,华侨再不是任人宰割的海外孤儿了。”可华侨却还是这样执着,尽管祖国政府不爱他们,把他们视作化外异民,他们还是一心一意爱着自己的祖国,千方百计地要成为化内之民。

苏联政权十分歧视外国人。本来,苏联共产党政权就是个天生的排他性政权,因为它对自己的主义、自己的制度、自己的统治方法一点信心都没有,老是害怕老百姓造反,大搞特务政治。他们的“社会主义”只能关门搞,只能是闭关锁国。既然对自己的老百姓都害怕,更用不着说外国人了。KGB掌政,凡是从苏联派到外国去的人,不管是外交官、新闻记者、商人、运动员、专家、留学生、还是旅游者或探亲者,不是间谍也负有刺探情报的义务。他们以已理推人,把从外国来的人也都一律当成为间谍,当然要受到歧视了。其实,综观世界各国历史,祸乱从来起萧墙,哪有特务能亡国的呢?这种歧视外国人的制度,直到戈尔巴乔夫掌政,实施新思维,才有所改变,但是余毒直到独联体各国独立十年后的今日,还是阴魂不散。

无国籍者,自然在政治上人权上都是无爹无娘的孤儿,比有国籍的外国人更受歧视了。法律规定,我们只能在居住地25公里范围内活动,逾此界限要向警察局申请签证,否则判刑3年。不能参加任何政治活动,不准享受任何政治权利。有些地区、有些工种绝对不准我们进入。不过也有一点“优待”:不当兵,也不交无子女税。特别是不当兵,是避开KGB强制命令的最好途径。原因是凡苏联的年轻人,人人都得服两年兵役。退役后转入预备役,直到年满50岁,年年都有集训。外国人一入苏籍,第一项享受的公民待遇便是入伍当兵。当兵之后,军令如山倒,要你当特务,当炮灰,是一点后退的余地都没有的。无国籍者的滋味虽然不好受,但是不少苏联境内的外国居民宁愿自己,自己的儿子和孙子都是无国籍者,目的是逃避兵役及兵役带来的叫人伤心的后果。

我的祖先世世代代是中国人,并且是土生土长的土家族,可是,就在1970年4月24日那个悲惨的夜晚,几分钟之间,跨越国界的铁丝网,我却成为无国籍者了。对此,十年来,在我的感情上是绝对不能接受的。精神上的痛苦,言语已无法形容,我决心死也不加入苏联国籍。我痛苦地等待着,总有一天我会重当中国公民的。

恢复中国国籍

十年过去了,“文化大革命”灰飞烟灭,“凡是派”在政坛上也失了势。1980年初,收音机里传来了一道我出国以来最震动我的心,最使我每一根血管都热血沸腾的消息,我听到了李先念在全国侨务工作会议上的讲话。大意是,许多人为逃避“文革”的迫害,流亡到外国去了,他们中大部分是爱国的,爱国不分先后,我们欢迎他们回到祖国的怀抱里来。一听之下,我从床上跳了起来,大呼万岁,抱着女儿号啕大哭。我觉得中共在中国执政了30年,它的领导人才第一次不以阶级斗争为纲,代表全民族说了那么富有民族大义的话,我有可能重当中国人了。中国是全体中国人的国家,决不是哪一个政党的私产,海外中国人对自己祖国的血肉感情,也不是统治者一声令下就可以割断的,大陆领导人要深刻地记住这一点。当今台湾领导人也有必要记住这一点,不要叫自己一时的台独意识蒙住了双眼。听到李先念的讲话后,我立即给中国驻莫斯科大使馆寄去了一封信,详细写明了我出国后的经历,提出了恢复中华人民共和国国籍的申请。两个星期后,收到了大使馆的回信,开头就称我为“雷光汉侨胞”。又让我十分感动,政府终究没有给我戴上叛国投苏分子的帽子。信里附了一分华侨登记表,要我做两件事:一是要我自己对逃苏行动提出自己的认识,也许要做深刻检讨吧;一是要我提出任何一宗实物证据,证明我曾经是中国公民。对前者,我如实写出来了:一是求生本能的驱使,一是我要活着看到发动“文化大革命”的罪人们的下场,看到我的祖国在沉沦中得到新生。对于后者,我可犯了难:我越境时光身一人,除了一身破衣破裤,什么也没带。审查结束时KGB发还了我一件兰卡叽布旧棉衣,总不能把这件棉衣寄到大使馆去吧?忽然想起来了,在棉衣口袋里还有一张200公分的新疆粮票,还保存着,这可是世界上哪里也找不出来的我们中国独有的国粹。我填写好登记表,寄了两张照片和逃苏的检查,加上这张粮票,一起寄出去了。信发出后,我便怀着象年轻时谈恋爱等着和女朋友见面一样的焦急心情,等待着回音。我的心已经飞向了中国,竟有些茶不思饭不想了。感谢我国驻苏大使馆,对我的审查比别的中国人申请都快,不到一个月就受到了回信,沉甸甸的,我一摸信封,就知道里面装有硬封面的护照。象1955年夏天我高考后接到北京大学的录取通知书一样,战战兢兢地打开了信封,取出了深咖啡色的护照册。一看到“中华人民共和国护照”那几个烫金的字,心都快跳出胸膛了。41184号,是我第一本中国护照的号码,一个刻在我脑海最深刻的号码。我重新成为中国公民了,我是胜利者。当天晚饭,巧云炒了几个中国菜,买了一瓶酒,夫妻父子女四人团聚在一起吃饭,她和撒沙举杯向我祝贺。星期天,我又请来了岳父和老华侨杨大爷,再来庆祝一番。结婚、女儿出生、领到中国护照,是我流亡以来最高兴的三件大事。每当提起,我都是用“欣喜若狂”来形容的。在哈萨克斯坦,我是最早恢复中国国籍的流亡者之一。从此以后,长期抗战的无国籍中国人绝大部分一个个都领到了中国护照,一个比老华侨年青得多的华侨群在苏联各地出现了,我们华侨又后继有人了。我在中国人中也成了个办中国护照的顾问,如何写申请信,如何填表,如何写对逃苏的认识和检查,朋友们不断来找我,我当然是义不容辞地提笔给他们帮忙。

领到中国护照后,惊喜之余,也无限悲怅,中国人的中国根牵得太牢固,太流水长长了,而中国人的愿望又这么容易满足,一本护照,便马上可以把他们拉回祖国。我想起执政者只要体谅民心于万分之一,便不会做那么多伤天害理的坏事,便会得到全民族的拥护。领到护照后,我写了两首七律,后来寄给《中国建设》杂志发表了。

扫地斯文誉自轻、弹铗侯门愧不能。

觅食无方当苦力,寄情有余学诗人。

看破红尘本属假,梦绕神州却归真。

风雨忧愁人已老。且喜中华大地晴。

案身赢海我何之,为感深情赋旧诗。

寂寂长夜听鸣笛,片片黄叶染绿枝。

多少往事多少梦,无限江山无限思。

但愿十亿人长久,再无黑云压城时。

说到《中国建设》,是一本曾办得相当引人入胜的杂志。大使馆给我寄来中国护照的同时,也给我寄来了一包《中国建设》,开读之下,只见印刷精美,图文并茂,文章虽然是宣传性的,却内容充实,也没有以前中国报刊成篇的套话,行话,是我那时接触到的可读性最强的中国杂志。自此以后,每隔一到两个月,大使馆就给每个华侨寄杂志和《侨声报》,接到中国报刊的日子也就成了我们的节日。可惜,自从李鹏总理接掌国务院之后,这项对华侨的优待就取消了,直到朱镕基总理继任,大使馆才恢复了给我们寄送祖国读物。

1985年,我在《中国建设》开辟的《统一论坛》里发表了一篇题为《国家至上,民族至上》的议论文,谈了我在“六四风波”以前对两岸统一的看法,录在下面:

“国家至上,民族至上”

(刊于《中国建设》1985第4期)

我是一名旅居苏联的中华人民共和国的普通公民,一名自食其力的工厂车工。知道《中国建设》开辟了统一论坛,就不揣自己见少识窄,人微言轻,也冒昧地发表一些已见,原因是我认为祖国统一的大事,不单单是国共两党的事,是海峡两岸大人物们的事,而首先是10亿中国老百姓是海内外全体炎黄子孙的大事。由于祖国一段历史的不幸所带来的个人不幸,我漂泊国外十几年了,和国内政治毫无接触,所以我决不是“中共分子”或中共施展统战阴谋的人物。同样和台湾我更无瓜葛。我只是作为一个普通中华小民对祖国统一问题发表自己的看法。

光阴似箭,忽忽已年及半百。我是抗战后期读小学的,记得每天早晨背着书包去上学,离学校几十米外就看到校大门两边白粉墙上的黑字大标语:“国家至上,民族至上。”这两行标语给我的印象非常深刻,四十多年了,回想起来历历在目,深印心底。今天我觉得,实现两岸统一要按照“国家至上,民族至上”的精神来办理。

旅居国外,完全看不到国内报刊,对于现今中国共产党领导人提出的有关祖国统一的方针,政策,只能从收音机里断断续续地听到一些,仅凭这一些就十分令人感动。因为无论是叶件英前委员长的九点建议,还是邓小平主任同杨力宇教授的谈话,或者邓颖超主席的新年讲话,里面都没有阶级、立场的分野,没有政党、主义的执着,没有对往日恩怨的计较,而是充满了团结和解,从民族大义出发的团结和和解。充满了中华民族传统的仁义道德和中国人同胞之间诚挚与温暖的感情,也就是充满了国家至上,民族至上的精神。

有感于此,我站在一个普通的中国小老百姓的立场上。一个普通的旅外小华侨的立场上,向海峡那边的台湾当局领导人说一番话:

你们不要坚持政党,主义的偏见,不要把往日国共两党斗争的仇怨牢记不忘。中国共产党提出了一个国家的设想,没有说要用社会主义把台湾统进大陆,那么你们又有什么理由坚持要用三民主义统一大陆呢?一个国家要用哪个政党或靠某种主义来治理,不是由这个政党的领导人或主义的鼓吹者自己吹出来的,而是由历史,由人民选择的。中国人民曾经给了你们机会,让你们治理了中国20几年。但是,你们没有把国家管好,因此,广大民众起来反对你们,结果你们失败了,跑到台湾去了。为什么现在却要把过去在大陆没有行通的东西抱着当宝贝硬要再把它吹回大陆呢?明知此理不立,此路不通。退一步说,如果你们认为你们的主张、政策好得很,就得有将之放在全中国范围内加以考验的勇气。而海峡两岸实行“三通”,国家和平统一,人民自由来往,自由交换意见和情况,中国大陆当局还要邀请你们的要人参加全中国的领导,这正是你们施加影响,提倡自己主张的好时机。既然你们自称代表整个国家的利益,你们就应该让海峡两岸全体同胞把你们的实践和大陆实践来加此比较,检验,鉴定和取捨。你们自称是国父孙中山先生的嫡系继承人,我想你们一定记得,中山先生一辈子站在“国家至上,民族至上”的立场上,为中国的统一富强而赴汤蹈火、呕心沥血、鞠躬尽瘁、直到死而后已。在弥留之际,他还不断呼唤着:“和平,奋斗,救中国,”就是要用和平的方式救中国。要和平就得先谈判,所以中山先生在他生命的最后时刻还冒险北上。去和那么腐朽昏暗的北洋军阀政府谈判,以求和平统一中国。为什么你们却拒绝和中国共产党坐下来谈判呢?而这个党领导中国人统一了全大陆,使衰弱的中国成为当今世界强国之一,百多年来,中华民族能第一此抬头挺胸而自立于世界民族之林,和当年的北洋军阀政府是不可同日而语的。我想,如果中山先生九泉之下有知,他会要对你们说:“孩子们,你们错了,你们应该和共产党联合。统一国家,振兴中华。”

你们已故领导人,蒋介石老先生也是不反对和共产党谈判的。他一生从事了两次国共合作。就是在国共分裂时,也不断在和共产党谈判。在1949年初,国内战争行将结束之时,共产党领导人提出了八项和谈条件和今日的条件相比,无疑要严苛得多。就是在那样不利的条件下,他还是同意派出代表团去北平谈判。今日祖国领导人提出了如此宽厚的条件,你们却拒绝谈判了。我想蒋老先生如果地下有知。也不一定会同意你们的做法的。

同时,基于同一立场,我也想对海峡这边的祖国领导人进一言:国共两党斗争了几十年。海峡两岸隔绝了几十年,长期的斗争,分裂,隔绝,当然使台湾当局胸怀严重的疑虑和不信任。特别是建国以来的许多不幸事件,便不免使人寒心。不免使人产生前车之覆,后车之鉴的警戒,不免怀疑今日祖国当局提出的和平统一的政策是不是权宜之计,会不会是某种诱饵。我们中国自古是仁义之邦,国家领导人除了应有宽大的胸怀外,更要讲仁义道德,要重承诺,诺必信,言必行,行到底。而保重言和信的,光靠宣言和讲话是不全面的。必须要有相应的法律和决议。新宪法中已有建立特别行政区的条文了。但只是基本法,不具体,我希望在党中央的会议上或者全国人大的会议上,制定更具体的有关祖国统一的法律或决议来。

世界潮流,浩浩荡荡,中华振兴,方兴未艾。我向我国两岸的领导人呼吁:“国家至上,民族至上!”从中华民族全民族的利益出发,从五千年华夏历史的长流的观点来看,中国只有一个党—中国大统——党,只有一个主义——中华民族大团结主义。只有团结才能繁荣,统一才能振兴,割据绝非国家之福,分裂决非民族之幸。你们领导人可以等待,我们老百姓却有些不耐烦了。不同时代的历史事件比较起来,有些不伦不类,可也引人深思。明末民族英雄郑成功驱逐荷寇,收复台湾,世代相承管理台湾到第三代。到了他孙子郑克塽时,看到割据台湾已毫无意义,就毅然投向了当时的中央政府。历史书上也没有因此写上郑克塽是个大汉奸。蒋经国先生你是继承了令尊的权位的,第二代了,我希望台湾回归不要等到第三代。民初在新疆掌权的将军杨增新说:“就是婊子坐北京,我也服从他。”目的是为了维护国家的统一。而当今自北京掌政的是有如尧舜,是前汉武帝,东汉光武,唐朝太宗那样英明的人物。难道二十世纪末期的蒋经国还没有二十世纪初期的杨增新那样的胆识吗?”

中共十一届三中全会,以后的一段时期里,从电波里我听到了科学、民主新思潮在中国大地上蓬勃展现。党主席胡耀邦思想开明,与民同艰,总理赵紫阳经济改革实事求是、方针正确,措施得力。胡启立、朱厚泽、许家屯、甚至王蒙这样的自由派知识分子也在中央党政核心掌了大权,最高领导人邓小平又一再宣称要把中国建设成世界上最民主的国家。以后,我知道了更多知名改革派学者的名字,如李慎之、李锐、谢韬、杜导正、杜光、辛子陵……等并读了他们的著作,深为折服。在哈萨克市场上我也有了更多直接的感受——许多从前未见过的中国商品如牛仔裤、夹克衫、新床罩、口红和指甲油,头箍和发卡成为人们的抢手货。我以为中国在经历“文革”的大出血后,邓小平在几次被毛泽东打倒在地再出山后,真的有了质变。我希望彻底改革了的中共在经过文革磨难后掌权的领导人领导下能够把中国推上繁荣富强、民主科学的大路,能领导中国实现国家富强中华一统。我做梦也没想到赵紫阳这样与民同命的开明领导者,后来又成了囚禁在瀛台的光绪皇帝。中国人的命运真的是太愁苦了。尽管沧海横流,历史进程在中国缓慢而曲折,统一还是全民族的愿望和根本立足和发展空间之所在。我祈求上苍,国家早日一统,即使中共掌管着大陆,国家也应该统一。统一了,避免民族内斗,经济发展得会更快一些。共产党以陕北为根据地,统一了整个中国大陆。民主中国人士以港台为根据地,又何尝不能把民主制度推进到整个中国!

 

第五章 苏维埃帝国解体

女儿:我们最大的骄傲

随着老之将至,我真想全家迁回中国,只要960万平方公里的土地上能给我一块立足之地,我是再也不想离开那块土地了。在领到中国护照的第二年,我就向大使馆提出了申请,要求全家回国定居。撒沙已经大了,除了会说一些中国话外,他的性格,生活习惯完全和苏联小伙子没有两样,但是对鳗澧,我决心把她教育成一个地地道道的中国人,一个在文化意义上完全“整装”的中国女娃娃,虽然她有着百分之十几的俄罗斯和乌克兰的血统,在外国生,外国长,还没有回过祖国,要达到这个标准,有一定难度,我还没有在苏联中国人的孩子中发现过一个。即使那些六七岁,十几岁才从中国来到苏联的孩子,用不了几年,就全变了样子,忘记了中国话,中国习俗和中国礼仪,也失去了中国人的庄重和诚实。特别是在周围一片片反华辱汉声中,失去了对自己所属民族的尊重和自信。除了长相外,和苏联人再没有两样。在鳗澧还没有生下来时,我们夫妇就决定女儿出生后决不对她说一句俄语,叫她从小就知道和接触自己的母语是中国话。所以,在她3岁上幼儿园以前,说的全是中国话。我们想不会说俄语没什么关系,在苏联长大,还愁学不会俄语?我们想让她一懂事就建立一个执着的概念:自己是中国人,做中国人是骄傲的而不是耻辱。中国是一个伟大的国家,和外面的侮辱性宣传是完全不一样的。当然小娃娃懂不了那么多,我们只让她从小牢牢地树立起这样一个观念就行了。小孩子最喜欢的是听故事,最能启发幼智,学习语言的也莫如给小孩子讲故事和帮他自己编故事。从女儿一岁半学会说话时开始,我每天都编一个故事给她听,上白班时晚上睡觉时说给她,上夜班时则早上说完后催她起床。有时夜深了、她还闹着不上床,但是只要我叫一声:“鳗澧,讲故事。”他便欢喜极了,自己脱掉外衣,一下钻进被子了,那是多么叫人神往的岁月啊。中国民谚说:“无官一身轻,有子万事足。”这对我来说,也是一种最大的享受。

刚开始时,我都编一些小鹿,小鸽子,小鱼小马的小动物故事给她听,内容千篇一律:好有好报,恶有恶报,好动物在最危险时有仙女或侠客来救命,坏猛兽做恶多了自会有猎人惩罚它。也好,莫斯科和其他苏联大城市的动物园时常有巡回展出,每年都到塔拉斯来,有狮虎熊马,马戏团也年年来表演。只要来了,我们夫妇都会带孩子去参观,拍照,看演出。女儿也特别爱动物,只两岁时,就能把几十种动物识别清楚,还能叫出它们的中、俄文名字。她的智力成长得快,不久,我编故事的能力已经跟不上她的需要,只好给她讲我记忆中的西游记,三国演义,封神榜的故事。到了5岁,我就按朝代顺序讲述中国历史,张骞、班超,岳飞、文天祥、孙中山、方志敏,那些民族英雄的故事和中国的山川形胜,有点像给她上中国历史地理课了。起初她最喜欢听的是西游记,深深喜欢上了孙悟空和他住的花果山。刚会动手时妈妈就教给她用小蜡笔画画,在她的画册里,也就出现着各种小猴子,小山和桃树的稚嫩形象。我永远不会忘记那一幕:是在她三岁半的时候,一天早上我抱着她去幼儿园,她忽然含着泪对我说:“爸爸,我昨天晚上做了一个梦,一个很好的梦。”我惊奇地问:“好娃娃,你做了什么梦,能告诉爸爸吗?”她立即给我讲述梦境了:“我昨天晚上梦见我们家门前开来了一条大船,是插着我们中国旗的中国船。船上下来许多中国叔叔帮我拿上画册,妈妈牵着哥哥,爸爸抱着我坐上中国船了。船在大海里开呀开呀,开到中国了,开到花果山了。花果山真好,有那样多中国小朋友,那样多小猴子,我们手牵着手一起跳舞。”说完了,她又问我:“爸爸,什么时候我们能回到中国去呢?”听着女儿讲她梦中的故事,我忍不着泪流满面,哽咽不成声了。我紧紧抱着她亲她,连连说:“女儿,中国不会不要我们的,总有一天我们要回到自己的国家去。”当时的中央人民广播电台每天都有对华侨广播的专门节目,还向海外华侨征文,题目是《我爱祖国的海洋》,中奖者可得一张免费旅游中国的旅行票。我便以《花果山和梦中船》为题,用女儿的梦中故事写了一篇文章寄去,被选中了。我兄雷光照还亲耳听了文章的播出,可是我什么回音也没收到。那时苏联是勃列日涅夫执政,KGB还存在,中央人民广播电台给我的回信大概是给KGB没收了。

讲到女儿进幼儿园,也是一篇故事。离我们家只有200米的地方,有一家塔拉斯市最大的幼儿园,是化工公司开的,设备好,老师都是大学毕业,特别是小孩从5岁开始学英文。收孩子时要考试,看长相和测智商,只有市里达官贵人和有身份的知识分子的孩子才能进得去。从这个幼儿园出来,就可以上本市最好的英文小——克鲁普斯卡娅小学。本来我一个外国工人的孩子是和这样的幼儿园无缘的,一次偶然的机会变得有缘了。美术社派巧云去给幼儿园画壁画,认识了园主任,她向主任提出,画完壁画后不收钱,请她接收女儿入园。主任叫巧云把女儿带去看了看,逗她玩了一会儿,同意了。原来这所幼儿园还担负着有送往迎来的任务,我女儿长得漂亮,尤其比起本地的孩子来更加出众,这一点,也起了很大作用。当时苏联和东欧各国有仿西欧“共同市场”的经互会,本市最大的企业是与经互会合办的《磷化工公司》,,不断有东欧国家的各种代表团来。外国代表团来了,要叫小娃娃去献花,唱歌跳舞表示欢迎,共产党喜欢这一套热闹。在哈萨克斯坦,派出来的当然要求是哈萨克娃娃,我女儿和几个聪明伶俐而清秀的哈族孩子,到时一化装,当哈萨克娃欢迎外国客人了。这个幼儿园的教育水平很高,孩子们学会了许多知识,剪纸、缝洋娃娃衣帽,画画、唱歌跳舞、英语入门和俄语的拼写阅读,还有小学低年级识字教育和算术教育。女儿上了4年幼儿园,都受表扬,得奖品。最使我骄傲的是1984年元旦,幼儿园排练了一出儿童舞剧,鳗澧饰演主角,一只逗人喜爱的小白兔。演出那天,孩子们的家长都请来参加了。几个孩子装扮成各种小动物跳舞,还有对白和歌唱,光鳗澧的独舞就有十几分钟。我们父女长得很像,她表演的时候,不断有别的家长含笑问我:“是您的女儿吗?”我骄傲地回答“是!”接着又参加了工厂为职工孩子们举办的新年枞树晚会,女儿表演出色。雪姑娘给她最好的奖品:一个洋娃娃。那年五一节,我们带女儿去公园玩,正碰上市里举办的儿童朗诵比赛,我鼓励她上台用俄文朗诵了一首诗,也得到了最好的名次。在这几年里,只要我们带着女儿出去,总是满怀骄傲和喜悦而归。1995年,她从幼儿园毕业,要升小学了。在毕业晚会上,园主任流着眼泪送别小朋友,一个个介绍孩子们的优点和缺点,介绍到鳗澧时,她对我们说:“鳗澧是一个特殊的孩子。最讲礼貌最聪明,你们要好好培养她。”她只有一个缺点,吃饭时要挑拣,这也不吃那也不吃,有时因此被老师罚站墙角,大概是她在家里习惯了吃中国饭菜。咳,上帝给了我女儿聪明,却没有赐给她一个能够成长的环境,当然主要是我们夫妇都是书呆子,没有适应变化不定的环境的能力。何况又流落到了一个排斥外来侨民的国度。

1998年,儿子撒沙到阿拉木图上了中专,学的是艺术家具制造。鳗澧也该上小学了,上的就是塔拉斯市当时唯一的一所英语学校,以列宁夫人命名的克鲁勃斯夫卡娅学校。而且上的还是学校的重点班,重点班的重点组。因为她守规矩,有礼貌,功课年年全斑第一,穿着打扮也是全校第一。我恢复中国国籍后,和国内的亲友有了通讯联系,也有权每季度给老母亲寄去15美元的汇款。我的亲戚、老朋友、老同学又多,女儿的叔叔阿姨们常常给她寄包裹,包括春夏秋冬的时装,都是塔拉斯见不到的摩登品。中国开放的成功,也惹恼了一些嫉妒心强的苏联人,有的教员常常在讲课时恶意地讥讽我女儿:“你和你们中国一样,什么都要第一。你的功课全班第一,穿着也是全班第一,你们中国搞大国主义,你在班上也搞大国主义。”不过,他们的班主任是英语教员,鳗澧的英语学得好,班主任十分喜欢她,保护她没有受外族同学的太大欺侮。5年级后,英语教员换成一位美国和平队员,对中国人很友好,一次在她的英文作文里用英语批道:“你们的女儿的英语水平和美国人没有差别了,我们为她感到骄傲,你们父母也应该为她感到骄傲。”

女儿上学后,戈尔巴乔夫在苏联掌政了,苏联的改革也开始了。改革放松了对居民的管制,KGB权力在逐渐消失,人民自由多了,被压抑几十年人类求自由的本性一下子爆发出来,在社会上积累了几十年沉渣也一下子浮了上来,引起社会的一些混乱。中亚又是一个世界上民族最复杂的地方,一百多种民族混居在一块,各种民族矛盾也乘机引爆,偷,抢,杀人,打群架触目皆是。女儿是我们全家的命根子,保证她平安上学下学,成为我们全家关注的中心。幸好学校离家只有一站之地,坐上电车或公共汽车五分钟就到了,可是要穿过车如流水的马路,一年多内,我们夫妇都得接送。后来,她表示自己要有独立生活的本领,不要我们接送了。于是,等待女儿按时回家,成了我们每天最担心的事情。苏联的学校都是二部制,她上的是第二部,下学时已是傍晚7点多,冬天和春初秋末,黑夜笼罩大地,只靠路灯照亮。在她上4年纪的一个初冬的周末,我在商店里买了个大蛋糕,还用亲人寄来的木耳和黄花炒了两个菜,等待女儿下学后回家。到了7点,饭菜摆到了桌上了,蛋糕也切成了小块,可是,十分钟过去了,半个小时过去了,还没有听到电铃响,我们心里开始着急了。到了8点钟,电铃响了,我高兴地去开门,接到的却不是女儿,是电报局送电报的:“妈妈坐飞机平安到了伊尔库茨克二弟家”,本来是值得高兴的消息,却高兴不起来。过了5分钟电铃又响了,我又满怀高兴地去开门,一看,又不是女儿,是一个俄罗斯邻居来借洋葱的。我没好气地向她发脾气:“你走出过道门,向左转,直直往前走50米,就是菜店。那里白天晚上都有洋葱卖。”我着急了,马上穿上外衣皮靴,跑到学校找女儿,到了学校,跑遍了三层楼的几十间教室,没见到教员,更没有女儿,只有女工在洗地板。我又跑遍了校园的每一个角落,都没有一个人。旁边是公园和足球场,足球场关着门,我把公园的小树林都找遍了,还是不见女儿的身影。我的双眼发黑了,心脏也几乎爆炸,急忙赶到家,还是没有女儿,妻子也急哭了。正想去求警察帮助时,电铃响了,女儿回家了。我接过她的书包,一下子抱着她,眼泪直往外流。女儿急急忙忙地说:“爸,妈,我们班的一个女孩子昨天下午被几个小流氓打伤了,用急救车把她送进医院住了院。今天班上派我当代表到医院去看望她,所以回来晚了。”“为什么不先打电话回家告诉我们?把我们都急死了。”我责怪女儿,妻子说:“算了,女儿平安回家就万事大吉了。”我们夫妻的心从喉咙边回归原位,可这时桌上的饭菜都凉了,茶也冷了,我们谁都不想拿筷子。事情过去十几年了,一想起来还心有余悸。唉,真是可怜天下父母心,唉“谢家最小偏怜女!”今天,我更为女儿的成家立业着急。写到这里,笔下不禁涌出了一首诗:“未来思量每自伤,徘徊转侧九回肠,近来多少不眠夜,泪落唇边着意尝。”

阿富汗战争 帝国解体的前奏曲

70年代和80年代前期,是苏联发展最快,国力最强大的时侯,克里姆林宫的强人们发狂了,四处出击。在欧洲,勃列日涅夫竭力主张的欧安会召开了,确立了苏联的东欧霸主的地位。在拉丁美洲,巩固了古巴卡斯特罗政权,在尼加拉瓜和格林达拉也建立了左派政权,南美一些国家的左派游击队频频出击,苏联不仅抢占了桥头堡,还扩大了阵地,点燃了美国后院的熊熊烈火。在非洲,不管是埃塞俄比亚还是莫桑比克,安哥拉还是几内亚,苏联都是处处得势。在亚洲更是气势汹汹,越战结束后,苏联控制了越南、老挝、柬埔寨等印支三国,肢解了巴基斯坦,与一些阿拉伯国家结成军事同盟,特别是与它怀着同样扩张野心的印度成为它的铁杆帮凶。苏联有恃无恐,大胆地发动了阿富汗战争,阿富汗长达20多年的内战是苏联一手策划的。

自从阿富汗打败英国入侵,国王政权一直稳定地统治这个国家,平静而缓慢地前进着。苏联不愿意了,莫斯科几年内在喀布尔发动了4次政变,走马灯式地更换自己的代理人,一个个地下台又上台,最后选中了卡尔迈勒和纳吉布拉。阿富汗人民起来反抗,苏军开始大举入侵。当时电视上每天都要播送阿富汗的战况。新闻中,苏联把中国说成是阿富汗新政权的最大敌人,说阿富汗的反动派全是中国和美国支持的,把苏军缴获的阿富汗游击队的中制武器在画面中展示出来,把上面的中国字还加以放大。印度是苏联的应声虫,印度外交部发表了个声明(也许是某印度报纸的议论),说“中国正在对阿富汗发动一场不宣而战的战争。”于是,“中国对阿富汗进行不宣而战的战争”几乎成了苏联电视和电台播出时事评论阿富汗战争的套话。战争久而不停,小小的阿富汗用尽全力也拿不下来。苏联强大的空虚,克里姆林宫当权者的无能在老百姓眼前表现得一览无遗。

阿富汗和哈萨克斯坦没有边界,可人们还是感觉到战争的存在。我们车间的几个小青年和邻居的孩子应征入伍去阿富汗打仗了,有的人打死了,有的人员负伤归来,公家提前给了他们住宅。这样的消息不时传入我的耳中。1982年夏天,我们夫妻休假带鳗澧去阿拉木图旅游,住在徐英斌家,刚到的那天傍晚,我们俩家在徐家住宅楼前的小花园里乘凉。他的一位邻居俄罗斯老太太对我们哭诉:“儿子在阿富汗被打死了,锌制棺材刚运回来,光阿拉木图一下就运回了4付棺材。“这是和平年代啊,为什么要打仗?要死人!”老太婆哭诉着。她还说,在阿拉木图的一处公墓里专门开辟了埋葬阿富汗阵亡官兵的专用区。苏联规定,凡是服役时在部队中死亡的士兵和下级军官,都是把尸体装进锌制棺材,棺盖和棺材间的缝用金属汁焊死后运回家的,父母家人无法见死者一面,也不知道棺材里装着什么。隔不久,同样的不幸在我们朋友中也发生了。我在柯吉达夫金田村流放时工作的农机站站长博格刘波夫写信来说,他的二儿子在阿富汗前线也阵亡了,夫妻两人每天哭泣,过着以泪洗面的日子。塔拉斯市住着一位叫郭冬的山西老乡,也在拖拉机零件厂干活,大概是1984年,有一个星期不见他上班,后来他告诉我,是陪老婆到鞑靼共和国首都喀山的军队医院看儿子了。他的老婆是鞑靼女人,老婆的前夫也是鞑靼人,生了个儿子,是郭东抚养大到中学毕业的。中学毕业后儿子上了空军学校,学开战斗机,毕业后当上中尉飞行员,驾驶飞机派到阿富汗打仗,一飞进阿富汗就给游击队的高射炮打中了。飞机坠毁,他跳伞逃生。降落伞掛在树林里一棵大树上,不能上,不能下,也无人救援,挨不住饿,狠心跳了下来,把腿给摔断了,饿着肚子爬行两日两夜,才找到了苏军送回了喀山。在那些岁月,噩耗不断传来。几个人凑在一起,谈话的主题多是在阿富汗打仗的事。有子女当兵的人最害怕是自己在军队服役的儿子会派去阿富汗被打死。

在多种群众政治宣传会议上,共产党的会上,对职工进行政治思想教育的主题也是阿富汗战争,说战争的罪魁祸首是美国和中国,苏联是出兵解放阿富汗人民的。我妻子所在的美术社党的书记是个日耳曼人,立场很坚定的苏共党员,一次作政治报告,倒说了实话:“阿富汗是苏联的邻国,如果给美国或中国控制,太危险了。我们一定要牢牢掌握住这个国家。”有一天我在车间干活,交接班时,我正在装车刀,车间的主任质量检查员是个姓金的朝鲜人,忠诚的苏共党员,开完党会后气势汹汹地跑到我身边质问我:“告诉我,雷!你们中国为什么支持阿富汗的反动派和我们苏联打仗?”我听了笑着回答:“金,你听着!在阿富汗没有中国的一兵一卒,是苏联军队在那里打阿富汗人。”还揶揄他说:“阿富汗战事是阿富汗人的事,是俄罗斯人,美国人,中国人几个大国大民族的事,不用你们朝鲜人说长论短。去你的吧!”他灰溜溜地走掉了。

“阿富汗战争是个流血的疮口”(戈尔巴乔夫语),是苏联老百姓的灾难。挑起这场战争的苏联人给自己奏响了苏维埃帝国覆亡的前奏曲。戈尔巴乔夫结束了这场战争,却永远无法治愈流血的疮口。

哈萨克斯坦独立后,塔拉斯市政府在市中心的一处街心花园里给本市参战的阵亡者修了公墓,竖立了纪念碑,和卫国战争纪念碑遥遥相望。公墓里埋葬了20名阵亡者,包括10名士兵,8名下级军官和两名苏军大尉。纪念碑上刻着哈萨克文和俄文两种文字的铭文。我把铭文译成了中文:

他们阵亡了,

在和平之晨,

命运给切断了,

在别人的战争中。

在哪里?他们的罪过,

年轻人,

请述说,

他们罪在何处?

不过,话说回来,我们中国当年是不是也可以站在另一种立场上对待这场战争,为了我们的国家利益。1990年,我在北大历史系同年级的同学王炳华(新疆文物研究所所长)应邀去喀布尔参加贵霜王朝学术讨论会,途经阿拉木图。回程时我赴阿市与他见了面。他告诉我,会议结束后的政府宴会上,纳吉布拉政府的外交部副部长特别和他坐在一起,请他传言中国领导人,希望中国帮助他们结束这场战争。和阿富汗内战的对立面相比,纳吉布拉政府总算是一个要求民主,进步,改革的,理性的,总比非理性的伊斯兰极端势力强。我们中国却帮忙打倒了这个政府,而以后当权的塔里班政权反过来全力支持新疆维吾尔分裂势力,训练维族恐怖分子,成了我国的大祸患,阿富汗成了威胁中国和平安全的第二个越南。这里面,也有值得反思的地方。

葬礼和婚礼

生命的发生与消逝,是人生最重要的两件大事,所以,无论哪个国家哪个民族,与这两件大事密切相关的婚礼和丧礼,就都是重要的两项礼俗了。我在异国居住了大半辈子,参加过好多次丧礼和婚礼,这里只重点记下两次,规模大,与我的关系比较密切,主要的是,体现出了这个多民族多传统地区的特殊文化面貌。

我岳父岳母原来住在杰茲卡茲干州卡热拉区,离苏联最大的火箭发射中心拜依努尔很近,有色金属矿藏非常丰富,矿区连着矿区,几乎没有农场,出产钨和铜矿石。30年代发现后,第一批工人是从远东流放来的朝鲜人,接着是从伏尔加河中游流放来的德国人。岳父在矿区服务中心照相,岳母是缝纫部主任。矿工工资高,他们老夫妇存了不少钱,但矿区的生存条件太差了,连绵几百公里,全是黑色的石头山,没有树林,没有草地,没有湖泊河流。人们出来进去都得坐一种叫“玉米客”的小型飞机,坐十来个人,象大海波涛中的小舟上下颠簸。我在塔拉斯安家立业之后,觉得应该把二老接到城里来安养晚年,也领受一份现代城市生活,于是,我几乎把全部休息时间都用来给他们找房子。塔拉斯市出卖的房子很多,可要找到一处合适的,房子宽敞,园子宽阔、有管道煤气,还要环境优美,交通方便的,还真不容易。从春天找到秋天,直到10月份才买到了一处合适的花园住宅。我很奇怪,房子所在地俗名叫“台湾”。后来我知道,很有意思的是,苏联每个城市都有一个区叫“上海”,专指人口特集中的地方,四周有水或者孤零零的居住区则称“台湾”。塔拉斯市的“台湾”,是6年前大地震后新建的一块居民区。刚开始的确是孤零零的,后来和第8居民小区连在一块了,还通了无轨电站,交通方便,房子也大,大小6间,百多平方米了。园子也不小,有三中国亩大,还有一架能遮蔽整个园子的葡萄架。房东是希腊人,希共游击队员的后代,1946年撤到苏联来的。自希腊加入西欧共同市场,即后来的欧盟后,经济发展很快,由发展中国家变成发达国家。欧安会开过后,在西方的压力下,苏联也向外开了一条窄窄的门缝,批准某些外侨回国,首先离开苏联的是犹太人和希腊人。这处房子的房东便是得到归国批准后把房子卖掉的。房子买回来需要整修。二内弟先迁过来,在整个冬天的休息时间。我都带着撒沙去给他帮忙,粉刷房间,换新的暖气片和取暖的煤气炉,把原来用塑胶板盖的凉亭拆掉,修了一间小更衣室和浴室。春天, 70多岁的外祖母、岳父和二内弟也迁了过来。外祖母的父亲是乌克兰人,母亲是俄罗斯人,她的一生在苏联的十月革命,中国新疆的三区革命和解放战争的动乱中度过,吃尽了苦头。1937年被斯大林专制政府从苏联伯力撵到了中国新疆,1945年在三区变乱的战火中从新疆乌苏逃难到乌鲁木齐,1958年从中国返回苏联哈萨克斯坦。她生了一个女儿5个儿子,我岳母是老大。她的5个儿子分住在哈萨克斯坦的3个城市和俄罗斯北高加索索契,光孙子和外孙就有20多个。她搬到我岳母的新住处过了一年多安静的日子,巧云和巧莺常去看望她,给她做点好吃食,我休息天时也会去给她洗地板买食品,接她到我们家来洗热水澡。也许是外祖父从山东老家带来的家规吧,他们家都重男轻女,把女儿家当成外人。她太想念自己的儿孙了,常常在晚上一个人打的去火车站,在月台上一坐几个小时,想接到儿子和孙子。而儿孙们却早就把她忘记了,谁也没来塔拉斯看望过她,她常常独自哭泣,眼睛也看不清了。1983年夏天又一次深夜从火车站回家,进门就一跤摔倒,再也没有醒过来。外祖母去世了,是我经手举办的第一宗丧事。我们全家连夜赶到岳母家,给外祖母净身裝敛,给5个舅父发去电报。第二天,我向工厂请了假,工厂派了一辆大轿车帮着接人,买东西。第二天下午,5个舅父带着全家从各个城市坐飞机或自己的小汽车纷纷赶到,大小来了三十几口人。岳母和两个内弟也从杰茲卡茲干州赶回来。舅父们都有钱,也知道丧事的规矩,把客厅布置成灵堂,遗体四周摆满了鲜花和花圈,院子里用大帆布搭起了大棚,支起了大汽油桶做成的大炉灶。整只的猪和羊、成袋的粉条和大米、白面,一箱箱的豆腐和鱼,上百瓶的伏特加酒都买了回来。最富有的五舅父还带来了两位中国饭菜做的极好的混血厨师,3天之内日夜起伙,招待吊唁的客人。按照俄罗斯的规矩,遗体要在家停放3个昼夜,供人吊唁。我每天奔跑于城市各处,一家家地通知中国人和从新疆回国的俄罗斯人,晚上用手工绞肉机绞蒸包子、做肉丸的肉馅,把手都摇肿了。亲友们和邻居的老大娘每天来五,六个坐在棺材边守灵,不知疲倦地唱着东正教的圣歌,我们自己的住宅也成了临时招待所,供舅母们和她们的小姐们休息。第三天上午,东正教的神甫带着执事来行宗教丧仪。塔拉斯只有一座东正教教堂,只有一个神父和几个执事。据说这位神甫还是是共产党员,也是全城最大的富翁,因为信徒们不断向他进贡,是位50来岁身材十分魁梧的俄罗斯人,浓浓的白须直到胸前,满面红光。他念了10来分钟圣经,向遗体洒了圣水,给吊唁者分了几块圣饼(一种小面饼子,硬的象石头,咬不动),要走了80卢布的酬金。神甫走后,几位常跑教堂的俄罗斯老太婆说,神甫的儿子在阿富汗打仗,不久前阵亡了。下午1点,出殡大礼开始,先把棺材抬到大门前停着,全体送殡者再一次瞻仰遗容,人人臂膀上都缠着黑布。然后由8个年轻人用黑布吊抬着棺材走在最前面,依次是两个人抬着棺材盖和拿着花圈的年轻人队伍,亲属和送殡的人一路撒着鲜花,步行半公里,把棺材抬上大卡车,亲人围坐在棺材周围。送殡的人也各自上了大轿车和小汽车浩浩荡荡开向公墓。送殡的人很多,超过300人,市里的中国人和不少曾在中国生活过的俄罗斯人都来了。有三辆大客车,20几辆小汽车。到了公墓管理处指定的墓穴后,再把棺材抬下来放在墓穴边的凳子上,让亲人们最后一次瞻仰遗容,哭声大震,许多我从来没见过面的老太太也流泪了。钉棺材盖时是亲人最悲哀,哭得最厉害的时候。盖子钉好,几个年轻人用黑布把棺材吊下墓坑里放正,抽调布,然后先由亲人,再由送殡的人每人在棺材上撒几把泥土,之后,早已等在旁边持铁锹的工人便铲土开始埋葬。墓是长方形,墓穴周围留有20来平方米的空地。舅父们在殡仪馆订做好人造大理石墓碑、护墓的铁栏杆和铁制祭桌、凳子,全都运来一一安放好,把花圈放在墓上,鲜花供在祭桌上,还供着煮熟的整鸡和加葡萄干的大米饭,肉、糖果饼干和伏特加酒。在坟园内种了两颗白杨树。一切都做完了,舅母们便拿着酒杯和糖果,请每一位送殡的人喝一小杯酒,吃几颗糖果。一直到下午3点,才算葬礼结束。全体坐车开回岳母家,围坐在院子的几排长桌上,吃非常丰盛的中西菜肴合璧的宴席。乐队的租金是30卢布,吃完饭走时带走了两瓶伏特加。汽车是工厂派的,免费,但要送给司机伏特加。一场丧事下来要花费快1万卢布,由岳母和她的兄弟们分摊。一万卢布按当时比价合一万6千多美元,岳母买房也才花这么多钱,果这么一大笔钱在外婆生前用来给她养老是多好啊。葬后还要过头七,40天和周年,都得大摆宴席,请全体过送过葬的人吃喝。外婆去世后的头十年,我们每年都去扫墓,以后墓地越来越大,管理处越来越不认真,荒烟蔓草,流浪者出没其间,墓地里很不安全,我们也去得少了。

办完外婆丧事后不久,我们又参加了一场俄罗斯式婚礼。我岳父岳母各有一个年轻时代的好朋友,都住在塔拉斯。岳父的好朋友叫王小朋,是30年代被苏联撵回新疆的华侨,60年代又随妻子返苏。他和俄罗斯妻子生的儿子叫托利亚,父母看得非常宝贵,中学毕业后当了工人,一个很朴实的小伙子。岳母的好朋友我们叫她尼娜婶婶,她和她丈夫都是俄罗斯人,是十月革命后逃到新疆的白俄后代,1954年苏侨返回苏联。两口子都是电焊工,头脑里大苏联、大俄罗斯的思想非常强烈,和我们说话一开口便是“我们俄罗斯”,不过对巧云很是亲热。在岳母还没迁来塔拉斯前,妮娜婶婶一见到我们夫妻便说:“我是你们在这里最亲的人,有事尽管找我们。”老两口没有儿子,生下了4个姑娘,两个大的嫁人了,两个小的待字闺中。姐妹中长得最漂亮,人也最贤惠,受的教育也最高的是老三,名叫尼达,大学毕业后在一家家具厂当工程师。一个星期天,妮娜婶婶的二女婿到我们家串门,告诉我们:“昨天王小朋和老伴卡加带着儿子托尼亚,捧着大蛋糕到岳父岳母家去向尼达求婚。尼达当着双方父母和托尼亚的面,又兴奋又含羞地把蛋糕切开了。托尼亚求婚成功,不久便要举行婚礼。”70年代和80年代,中苏两国的对抗一天比一天加剧,我们旅居苏联的中国人也就运交华盖,受侮辱、被歧视、遭辱骂,大家碰面交换的也是种种不愉快的信息,现在,大俄罗斯民族观念十分强烈的妮娜婶婶居然愿意把她最可爱的一个女儿下嫁给中国人的孩子,不能不叫人感到高兴和意外。

两个星期后,我们带着礼品,抱着女儿参加了托尼亚和尼达的婚礼。婚礼在王小朋位在近郊的住宅里举行。一下车,远远就看到大门前停着十几辆小汽车,一些姑娘和小伙子在车头和车身上绑扎紫色的长绸带,最前面的一辆车头挡风玻璃上还挂着个大洋娃娃,是准备婚礼进行的彩车队伍。一进大门,只见院子里搭起了帆布篷,蓬下摆着两条大长桌和长凳,坐二,三百人都没有问题。一个摇滚乐队在大门边摆起了阵势,一对披着长发的俄罗斯青年男女正在对着麦克风试唱。客人陆陆续续来了,贺喜声不绝于耳。新郎新娘分属中俄两族,双方的亲友都不少,只尼达的同事就来了满满一大轿车。俄罗斯大嫂们性格开朗,爱玩爱唱爱跳舞爱吃爱喝,办喜事有了她们在场,气氛显得特别热烈。中午12点钟婚礼开始,首先是彩车游行,新郎官新娘子在伴郎的搀扶下坐上了第一部彩车,新郎穿着黑色的新西服,新娘穿着下摆拖到地上的白纱婚礼服,胸前都佩着小白花。伴郎和伴娘他们最亲近的朋友,也穿着十分整齐,也胸佩小白花。接着上车的是双方的父母和兄弟姐妹,之后是其他来宾。彩车队浩浩荡荡开到市里婚礼宫进行婚姻登记,领结婚证书,得排队入场,不过结婚仪式进行的很快。进入婚礼宫大门,在身披大红绸带的礼仪小姐引导下通过红色大地毯来到婚礼大厅,在亲人和来宾的注目下,新郎新娘和证婚人(由伴郎充当)在结婚证书上签字,交换结婚戒指,互相亲吻,新娘吻别自己的父母。有人打开自带的香槟酒(婚礼宫也有高价出售的),全体举杯向新婚夫妇祝贺,即大礼告成。礼仪一边进行,还一边照相和录像。之后,又登上彩车,驶过城市主要大街,喇叭高鳴,去烈士碑前献花。为了纪念苏德战争中的阵亡者,苏联在每个城市都立着许多纪念碑和纪念塑像,在州首府以上的城市的中央纪念碑或纪念塑像前燃着长明火,一年365天昼夜不熄。结婚时,新婚夫妇必须来这里献花,是不成文的婚礼法中必须履行的一条。献完花照完像后,婚礼才算正式完成。我想起1945年日本鬼子投降,我国抗战胜利,在许多城市也立有抗日战争阵亡将士纪念碑,但遗憾的是,解放后大都给拆毁了,大概是因为党派之见吧。

车队开回,婚宴开始,桌子上摆满了各种中式和俄式的菜肴,当然以中式为主,外国菜是无法凑成七大盘八大碗的,还有水果点心。酒则白酒红酒,高价的白兰地和文明的香槟,都尽量供应。礼宾先生引导客人入席,中国人外国人各自结伙坐在一起。在来宾席的正前方摆着一张不大的桌子,各种吃食俱全,插着鲜花,是新郎新娘的坐席,由伴郎和伴娘陪同。礼宾先生宣布宴会开始,先由双方父母各派一位代表向新人祝福,告诫他们在建立自己的家庭后不要忘记父母双亲。接着,礼宾先生开始劝酒,用各种美丽的话语祝福新人,又代表主人向大家致意,干杯接着干杯。人们总是喝的多吃的少,斯文的场面马上变得热烈哄闹。“苦啊!”一个人带头喊了一声,马上没有尽头,只听到宴席的四面八方此起彼伏的“苦啊!苦啊!”地叫个不停。听到一声“苦啊”,新郎新娘就得当场接吻。这一风俗的来由是怎么的呢?原来,在俄语里苦和辣是一个词,俄罗斯人说,酒味太苦太辣了,一喊苦便亲嘴,亲嘴后再喝酒,酒味就甜了。正当大家喝得忘乎所以的时候,一对中年男士和女士从俄罗斯人席中走出来,男士从汽车里取出了手风琴,女士拿了一个大盘,盘里放着一只白色的新皮鞋。女士大嫂向宾客们说:“新娘没有鞋子穿,请大家拿点钱给新娘买鞋子。”男士奏起了俄罗斯民歌,女士高举着盘子跳起了俄罗斯民间舞。他们边舞边围着桌子绕圈,盘子伸到谁的面前,谁就得往鞋子里丢钱。自然先从双方的父母开始,给的钱也最多,其他客人按着与新人关系的远近决定给钱的数目,从1卢布到5卢布不等。化缘舞转完桌子停止后,摇滚歌手开始大显身手,流行歌曲高响入云。人们也一个个离开了宴桌,跳开了迪斯科,新人则亲热地跳着交谊舞。俄式宴席不到夜阑人静是不散的,席上的吃食不撤,只不断把冷了的换成热的,边唱边跳边吃边喝,直到多数客人筋疲力尽才会休止。天快黑了,我们带着小孩,只得向主人道歉先退席了,向新人又一次致了祝福。主人说:“谢谢你们来参加婚礼。走的这么早我们可不感谢,但愿你们不会把客人都带走。”

朋友们,特别是中国人平时很少有聚会的机会,只有逢到红白喜事时才能聚到一块,那种场合便成了大家彼此交换信息的地方。在那些反华的年月,总听不到什么好事。诸如有的人的儿子当兵了去了阿富汗,有的人的女儿被外国公婆赶出了家门,还有小阿飞们打群架给警察抓住了,只要里面发现中国人的孩子,法院便会把他当流氓头目判重刑。我那些表弟们正到了要服役的年龄,舅母们为此日夜发愁,有的才四十来岁也愁成了满头白发。住在索契附近的三舅母夫妇都是基督教浸礼会的信徒,不许男人当兵。但在苏联拒绝服兵役要判刑,他们夫妇便想方设法凑钱,开了家庭旅社,准备孩子因违反兵役法遭拘捕时向兵役局和警察局把人赎出来。

回光返照和积重难返

80年代,苏联社会进入大萧条时期,计划经济走进了死胡同,转不过身来,成了社会发展的阻力。阿富汗战争,应战美国“星球大战”的武器竞赛,耗光了苏联经济的积累。从1983年开始,我们再也没有见到增加工资,季度和节日奖金也不见了。每年的第13号工资只有以前的一半,而且要拖到3月才能到手。特别是食品供应,除了面包,牛奶,鸡蛋和糖能正常供应外,别的食品都难以见到,尤其是肉类。香肠和黄油。每年五一、十月革命节和新年,商店卖一点黄油,得早上5点钟排队,一人只能买到300公分或500公分,晚一步就没了。有一次过新年,我家附近的菜店里来了几箱阿富汗橙子,我惊喜莫名,小孩子成长需要维他命,桔子,橙子是含维他命最多的水果。苏联是寒带国家,除了南高加索以外不产橙子,市场上是看不到的。我马上去排队,从头天下午排到第二天上午,没有睡觉,排了22个小时才买到4公斤。拿回家、撒沙和鳗澧、还有二妹巧莺的两个小孩,抱着橙子跳起舞来。鳗澧长到3岁多,才第一次吃到橙子。商店里其他商品也都缺乏,领了房买不到家具,汽车出了毛病买不到零配件。领房子的排队时间更长了,我们车间有的工人已经排队10年,还不知住宅在何方。买汽车也得排3到5年的队。人民对苏联党和政府的不满,一天高过一天,到处都是抱怨声。一次我到日用家具店买切菜板,没想到,碰上公安局外事科一位俄罗斯女中校,是管中国人的头目,也来买切菜板,对着空荡荡的货架,她对我说:“好像我们又发生了一场战争,现在商品供应和卫国战争结束后的年代里没有两样。”

幽默的俄国人,又编出了抱怨食品缺乏的笑话:

爱沙尼亚加盟共和国的最高苏维埃申请一个月的自由,苏联最高苏维埃讨论后拒绝了。爱沙尼亚又提出10天,一天,一个小时的自由,最高苏维埃都一一予以拒绝。最后,爱沙尼亚提出只要求10分钟的自由,最高苏维埃同意了。到时,最高苏维埃主席团打开现场闭路电视,看爱沙尼亚人在10分钟的自由时间里要干些什么。见到的是:在前5分钟,爱沙尼亚向邻国芬兰宣战,在后5分钟,宣布全国军民向芬兰投降。

勃列日涅夫和尼克松会晤结束,相互交换礼品。尼克松说:“我决定赠送您一个小巧玲珑的微型原子弹,不过您要十分小心地保管,如果它一旦爆炸,就会发生毁灭性的作用。”勃列日涅夫说:“我决定把苏联农业部赠送给您,您也要小心翼翼地对待它,如果它一旦发生作用,带来的毁灭性后果和原子弹爆炸是同等的。

最高苏维埃主席团召开全体会议,决议给某农业科学博士授予列宁勋章。在授勋证书上写道:“您对苏联农业科学的发展作出了巨大的贡献:在哈萨克草原上播种了小麦,而在遥远的加拿大收获。”

就在这种时候,勃列日涅夫的个人崇拜和个人专制反而一天天加剧,他授予自己苏联英雄的金星勋章,还授予只有斯大林和朱可夫元帅得到过的胜利勋章,胸前的勋章都掛不下了。还接受了苏联元帅头衔、列宁和平奖金和列宁文学奖金。得文学奖是因为他叫别人代笔写了苏德战争回忆录三部曲:《小土地》,《恢复》和《垦荒》。有人也编了笑话:

勃列日涅夫一天忽然想起来问自己的秘书:“你看过我的三部曲吗?”“看过了。”“感觉如何?”“很好!”勃列日涅夫听了高兴得大笑,说:“那么,我自己也得读上一遍。”

到了1982年,突然宣布他去世了,可是在此前人们并没有听到他生病的消息。随着勃氏的离开人世,强大的苏联帝国的寿命也指日可待了。

战后坐克里姆林宫第一把交椅最长的是赫鲁晓夫和勃列日涅夫,前者10年,后者18年,民间流传他们的笑话也就最多。

勃列日涅夫访问美国,美国总统问他:“勃列日涅夫先生,您有什么嗜好?”勃回答:“我的嗜好是收集民间流传的有关我的政治笑话。”美国总统又问:“成绩很大吧?”勃氏回答:“专为此项犯罪所建立的劳改营之第二号已经满员了。”

勃列日涅夫时代最后的政治笑话是:

KGB中央得到波罗的海3个加盟共和国的敌情汇报:波罗的海3国居民分成3种类型:乐观主义者,悲观主义者和现实主义者。乐观主义者在学习本民族的语言,悲观主义者在学习辨认西伯利亚地图的地名,现实主义者在学习使用苏制克拉史尼可夫氏冲锋枪。

勃氏1982年的继任者是KGB中央主席、69岁安德罗波夫。对勃列日涅夫的去世和安德罗波夫的继位,老百姓的反应十分冷淡,没有悲哀也没有高兴,但安氏一上台,马上就出现了关于他的笑话:

勃列日涅夫弥留之际,安德罗波夫向他最后告别。勃列日涅夫对他说:“尤尼亚(安氏小名)你现在要当总书记了,你得善待老百姓,不然他们不会跟你走的。”安德罗波夫回答说:“那有什么,谁不跟我走就叫他跟你走好了。”

不过,安德罗波夫和他前任后任比较,倒是位相当能干和不乏开明的政治家。他曾长期担任KGB中央的主席,掌握苏联最大的情报机关和镇压机关,了解苏联的国家环境和国内问题症结之所在。他一上台,首先宣布要改善敌对了20多年的中苏关系,在他的施政演讲中第一次用上了“我们要和我们伟大社会主义邻邦——中华人民共和国建立友好关系”这样的字眼。中国派了外交部长吴学谦来参加葬礼,在电视画面上可以看到他和吴外长亲切谈话的画面。国内政策方面,首先整顿已经混乱不堪的劳动纪律,再就是惩治贪污。我们在工厂干活,可以亲身感觉到劳动纪律一下子雷厉风行地好转了:上班前5分钟工人必须到达车床前,迟到,早退和工作时间喝酒再也见不到了,同志法庭不断开庭,行使了它的惩罚职能。为了加强劳动纪律,我们工厂还专门增加了一名副厂长,是由原来翻砂车间的车间主任提拔的。但他缺乏经验,一上台就把好事办砸了。原来的制度是,工人上班后把工作证交给车间考勤员,下班时领走,考勤员根据工作证来登记。新官上任三把火,副厂长订了一个新的规章,下令撤销各车间考勤处,把全体考勤员集中在工厂大门门厅,按照姓氏俄文字母排列发放工作证。我们工厂大,每个班上下班的职工达到千人,考勤员对非本车间的职工又不认识,这下可乱了套。苏联人的姓氏一般都集中在不多的几个字,每个开头字母下都有几百个工作证,考勤员一下子如何找出来。第一天白班下班时,大门边拥挤着上千人等待领工作证,等了快2个小时才拿到手。第二天又是同样,人们不耐烦了,大吵大嚷,推来挤去。有人把那位副厂长找来,他也没了法子,实行了两天,他的新规章只好取消了。推而广之,前苏联官员主持的改革大抵如此。说起来,许多苏联规章的始作俑者也真不聪明,想出来的办法遗患无穷,譬如说到医院看病的病历管理也是这样。苏联实行全民公费医疗,城市里几条街道就有一个门诊部,眼科,牙科,泌尿科、皮肤科、工伤科、小儿科、肺病和精神病则是要到专科医院去治疗。病历也是按病人姓氏俄文字母排列的,几万几十万病历集中在一起,一个字母下面有成千上万的病历本,挂号处的护士一下子如何能找到?找不到病历,只好写一本新的,以前的病史便消失了。像我看病,在自己所属的门诊部一年就开出了三,四个病历本。中国却是每个病人都有一个病历号,一说号码,立时能把病历取出来。贺汉秋在本市第一门诊部当针灸大夫,用中国的办法开病历本,同事们都说这办法好,方便,可是谁也不学他。

安德罗波夫上任伊始,就整治贪官污吏。据我知道,江布尔州警察局外事科长就判了刑。苏联有州警察局、检查院和法院,但一般中小城市没有市级的警察局、检察院和法院,由州的局、院直接管理区的局和院。塔拉斯市属江布尔州,我们外国居民的主管单位便是州外事科了,科长是我们的顶头上司,凡是登记户口,领取身份证,外出申请签证都得经他批准,特别是出国探亲、移民出国都要给他塞大把钞票,他才会点头,把事办成。那名上校科长我见过好几次,嘴角受过伤,歪的,可神气了,报告递到他手里常常看都不屑一看。一个本市的德国人请求移民西德,给他塞了3000卢布才得到批准。到西德后,这名德国人把他行贿的经过和受贿者的姓名在西德的报纸上捅出来了。消息传到安德罗波夫那里,立即下令逮捕了这名科长,以叛国罪判了他有期徒刑10年。

经过几个月的整顿,各方面都在变好,商店的食品供应好多了,涨上去的物价开始回落了,可惜好景不长,只执政一年又几个月,安德罗波夫突然在报纸上和电视里消失了,据说已病重住进医院,1984年去世了。一个党员工人告诉我,党会上传达了:安德罗波夫把主管外贸的勃列日涅夫的儿子关进了监狱,勃氏的女儿开枪暗杀他,安氏伤重不治而亡。

继安德罗波夫的是契尔年科,上任时已年达70高寿。他和晚年的勃列日涅夫一样昏庸无能,即专横又贪婪,上台后就把安德罗波夫的各项新政全取消了,安德罗波夫废黜了的高官纷纷复任,苏联的经济更加每况愈下。他还是十分铁心的反华派。参加安德罗波夫丧礼的中国代表团团长是副总理万里,中国政府的第二号人物,肩负着改善中苏关系的责任来到莫斯科,契尔年科却拒绝与他单独会谈。安德罗波夫在位两年,报纸和电视上没有见到和听到他说过一个反中国的话。契尔年科只执政3年,我亲眼就在报纸上3次看到他辱骂中国的讲话,有一次还是在出巡的乌兹别克首都塔什干的讲话中。

契尔年科老百姓也十分反对他,把他叫做黑尔连柯。因为俄文的黑色一词开头两个字母和契尔年科开头的两个字母是一样的。

安德罗波夫和契尔年科在位的时间非常短,可是苏联民间的幽默大师们还是来到及为他们编出了新笑话。

问题:安德罗波夫是传奇性的物理学家马?

回答:不知道,不过有可能是,因为安德罗波夫证明了反KGB告密的声波比任何声波都要传的快。

契尔年科

勃列日涅夫和契尔年科接连死亡后,新闻记者聚集在一起研究这个问题:为什么勃列日涅夫在克里姆林宫接待外宾,而契尔年科在飞机场接见外宾?经过热烈讨论后得到了答案:“勃列日涅夫的人工心脏是交流电的,插座安装在墙上。契尔年科的人工心脏是直流电的,用的是电池。

契尔年科快咽气时,打电话到阴间向勃列日涅夫请教,要随身带些什么用具。勃列日涅夫回答说:“阴间应有尽有,什么东西都不用带,不过要带上吃饭用的勺子和刀叉。”契尔年科又问他:“既然应有尽有,为什么还要带勺子和刀叉?”勃列日涅夫回答他:“轮到希特勒在餐厅值班时,他不给我们苏联共产党人发勺子和刀叉,要我们用镰刀和锤子吃饭。”

还有一个总结性笑话:

列宁认为人民可以管理国家,斯大林证明一个人可以管理国家,赫鲁晓夫证明傻瓜可以管理国家,勃列日涅夫证明谁也不用管理国家,安德罗波夫证明如果按常理管理国家,他在位的寿命就不能超过一年。 – See more at: http://blog.creaders.net/u/5661/201509/234077.html#sthash.m2few5mk.dpuf

大使馆请客  领事访侨

时光流转,到了1984年,塔拉斯的无国籍中国人都先后恢复了中国国籍,领到了华侨护照,但是,也有个别人之恢复国籍,是接受了特殊使命的。80年代赵紫阳总理执政时期,中国驻苏大使馆很关心我们旅苏华侨,常常给我们写信,问寒问暖,定期给我们寄来祖国的报纸和杂志,还给个别生活困难的华侨发放一些经济补助,还在“五一”和“十一”国庆节轮流邀请某个城市的华侨和家属到莫斯科中国大使馆过节。1984年3月底,塔拉斯市的18家华侨接到了大使馆的请帖,邀请带家属参加使馆五一节宴会。大家奔走相告,兴奋极了,华侨们在接到请帖的当天下午就向州警察局外事科交上了去莫斯科的签证申请,几乎茶饭无心,一心等待着。要知道,到了祖国大使馆就是回到了祖国的土地,见到了祖国亲人,而有的老华侨已经离开祖国40年了。我们夫妻想得更周到,妻子给自己和女儿缝制了新衣,在鳗澧的小连衣裙上绣了国旗图案。鳗澧6岁了,很懂事了,小脑袋想出了一首儿歌,说是要在大使馆的宴会上朗诵:“飞飞飞,飞到中国去。中国大,中国好,我是中国的好宝宝。”但两个星期没有音讯,在4月的最后10天,我们每天下午都到州警察局打听,或打电话给外事科,回答只有一个:“你们等着吧。”我心里明白,至少我是得不到批准的。那时契尔年科当政,KGB还在一手遮天。4月28日早,我一起床就有个中国人给我打电话:“不是每一个华侨都会批准去莫斯科,我们要保持留者安心,去者满意的态度。”我就更明白了,但还抱着最后一线希望。当天下午5点,全体华侨都去了州警察局,等到6点。一个女警官拿着一叠签了证的中国护照发给被批准者,只批准了6家,其中5家是老华侨,新华侨中只批准了郑贤奎一家,而他却是最晚来到苏联的,领到中国护照也还不到一年。我生气地质问女警官,为什么不批准?回答说:“谁给我们做了贡献,我们就批准谁。”一语道破天机,原来郑贤奎被批准是给KGB“做了贡献”的。这六家在29日下午乘飞机去莫斯科,我们还是给他们热情地送了行。想到莫斯科无法吃到新鲜蔬菜,早春的塔拉斯也只有韭菜,我们买了一大麻袋韭菜到柳松寿家,大家在一起一根根地挑,请柳松寿带到大使馆去,真是一根韭菜一颗游子心啊。下午我们送他们上飞机,候机室每个角落里都有不少熟悉的面孔。3天后,幸运者回来了,告诉我们他们在莫斯科的情况,说大使馆已联系好旅社,派了外交官照顾他们,五一节在使馆餐厅吃了丰盛的中国宴席,大使夫妇接见了他们,还看了一场中国电影。大使馆给每一位没有被批准的华侨带来了一个礼品袋,在我的礼品袋里还特地多出了一小瓶烟台白兰地酒,我请了几位华侨朋友一起喝了,这是离开中国后第一次喝中国酒。

一年后,5月的一个星期五傍晚,我刚下班回家,接到一个电话,一位陌生人用中国话说:“我们是莫斯科中国大使馆派到江布尔访侨的,有两个人,现在住在塔拉斯旅社。”电话的意思是希望我把这个消息通知所有华侨。我听了,一下子眼泪夺眶而出,问了他们住的房间号和电话号后说:“我们马上来看望你们。”他们回答:“今天晚上不行了,市政府要招待我们看歌舞。”我明白市政府和KGB企图控制他们,不让他们和华侨有充裕的时间接近。想到一个多月前警察局外事科传问了每一个华侨,要我们登记财产,是否有住宅,汽车或摩托车,在银行里有多少存款,每月领工资多少,原来他们早就在为大使馆派人访侨作准备了,要向大使馆报功,华侨都生活得很幸福。打完电话,晚饭也没有吃,叫了辆出租车,从市东头跑到西头,通知了7家,再让他们通知其他各家。我最后通知的一家是柳松寿,柳的妻子混血女人玛莎听到后埋怨我:“你为什么不先通知我们呢?”原来她也是侦听者之一。我回答说:“大使馆派人访侨,让我通知华侨,大概用不着先得到你的批准把。”这一晚上我几乎没有睡觉,好在第二天是星期6,不用干活。在苏联最底层的社会生活了十多年,我深刻地认识了这个国家,特别是它要称霸全球,把中国当作眼中钉的虎狼之心。我也看到了苏维埃帝国的各种危机,不会千秋万代雄踞世界,还隐隐感到这个帝国的瓦解不会用太多时间。在这之前,我一定要向中国最高领导人,向中国政府传去一句话,只是苦于没机会找到可靠的传话人,现在这个机会终于来了,感谢老天爷。次日清晨7点我步行去了旅社,一敲旅社房间的门,里面便问我“是谁?”我回答:“我是雷光汉。”里面又说:“你这样早就来了。”马上开了门,一进门就见到两位外交官,一高一矮,还只穿着衬衣,在门边迎接我。我一下子扑过去把他们抱住了。我先把墙上的有线广播盒子打开,以掩盖我的声音,也不顾他们是怎么想的,向他们说了我要说的那句话:“请二位回莫斯科以后转告我国大使,请他转告邓小平主席,在我国宪法上加上一条:在苏维埃帝国没有崩溃以前,凡主张中苏友好者,应以汉奸论处。”当然,宪法上不可能有这种条款。我只是要我国领导人知道这一点罢了。他们严肃地听了我的话,矮者还重复了一遍。他们分别给了我名片,高个子叫王遐龄,一等秘书,大使馆领事部主任,主管侨务的最高长官,哈尔滨人。矮个子叫卢忠诚,二等秘书,领事部领事,河南人。我们谈了个把小时,王领事告诉我,市政府已把他们当天的日程全安排了,上午市长接见,下午市政府官员陪他们参观市容。临别时我说:“你们一定要摆脱苏联当局对你们的控制。明天是星期天,一定要和华侨聚会,后天就没时间了,大家得干活。”晚上,他们回到旅社,华侨们都来看望。大家决定,星期天在柳松寿家聚会,因为柳住的是有大园子和大院子的平房。第二天一大早,大家分头到市场上把各种食物都买来了。华侨中有一位名叫周模范的四川人,炒得一手好菜,由他掌厨。10点钟,朱剑南开来小汽车,我陪他一道到旅社把王,卢二位领事接到柳家,和祖国亲人们见面。大家悲喜交加,悲大于喜,座谈会成了诉苦会了,向他们诉说了游子们在苏联受到的种种歧视、迫害之苦,和对祖国思念之苦。不久,郑贤奎来了,大家却住口了,领事也不太搭理他,他觉得无趣,待了不到十分钟走了,大家的话门才又开了闸。华侨中有位乌鲁木齐人张绍曾,是个耿直勇敢的人,他直接告诉领事:“郑贤奎是KGB的特务,我们都不和他来往。”谈兴正浓之时,一个四川籍的苏籍华人郑凡禄来了,一进门就说:“我是苏籍华人,但是我很想见见祖国的领事,你们同不同意接见我?”当然领事也不好回答不准许,他就厚着脸皮不走了,我们的宴会也冷了场。对KGB大家都惧怕,也满怀戒心。宴会开始,王领事传达了祖国和大使馆对华侨的关怀,叫我们要遵守苏联法律,和苏联人友好相处。还说:“我们一到江布尔,市长就接见了我们,市政府还宴请了我们,规格还挺高的。”似乎引以为荣,而我们却不以为然。大家心里都说,“他们是想控制你们呢!”有一位老华侨叫杨质秀,山东掖县人,1931年从东北到苏联,70多岁了,非常爱国,在西伯利亚劳改营里做过10年苦工,这时病了,不能来参加聚会。他曾一再交待我,一定要把领事请到他家里见一面。宴会上我和领事说好了,第二天晚上陪他们去杨大爷家。星期一我请了假,下午5点去旅社见领事,他们也刚回来,整个白天都到北郊的“十月”集体农庄参观,说集体农庄住的大部分是东干人。集体农庄副主席和一名职员陪领事回旅社,从口袋里掏出一瓶伏特加和几根大葱,几条黄瓜。本来已喝的醉醺醺的,还拉着王领事喝,口里含糊不清地唠叨:“我们要友好,友好。”我催他走,他还是不停念叨“友好,友好。”我就不客气地撵他们了,说:“领事是来看我们中国人的,不是看你们的,你们的友谊已经表达够了,请走吧。”他们才悻悻然走掉了。我们一起打了的去杨大爷家。他的两个女儿都来了,摆了一桌子吃食,我们又一起干杯,好在王领事的酒量极好,没有喝醉过。杨大爷连连说:“想不到我们中国也会走到今天这一天。”刚开始谈话,又来了个不速之客,叫李林,也是一个包打听。李林住在郊区农场,河北沧州人,据说当过人民公社社长,“文革”时从东北跑到了苏联远东,却定居在哈萨克斯坦。杨大爷苦笑着停止了话题,卢领事问李某恢复祖国国籍没有,李某回答:“现在中苏关系不好,拿中国护照没有意义。”真是人上一百,形形色色。正好新华侨马晒妹夫妇来接领事去他们家,我的妻子和女儿也在马家等着和领事见面,就告别杨大爷出门了。李林也不好意思跟来。

第一次领事访侨在塔拉斯待了4天,才走访3家华侨。第4天上午,领事宴请市里的官员和同外事科官员会谈,下午租了市电影发行站的小放映室,放映中国记录片《杂技小英雄》。去的人非常多,凡知道消息的华人华侨都带着家小看电影了。放完电影,他们就直奔飞机场,返回莫斯科。我们一直把他们二人送上飞机舷梯,望着他们进了机舱后才恋恋不舍地离去了。

那时大使馆的常规是两年派人访问一次华侨,1987年9月,新任领事部主任贾士敏带着回族随员高山林又来塔拉斯市访侨。这时戈尔巴乔夫已经执政2年,政策开明,KGB收敛多了,中苏关系也在改善。虽然苏联政府做了些手脚,和上次访侨还是大不一样,对贾领事二人的行动没有加以干扰。一个月前,大使馆给我写信,告诉我领事到达塔拉斯的日期,我也是一家家通知了。因为要利用两个休息天好好和华侨见面,他们星期5从莫斯科乘飞机来,下午,我们全体年轻些的华侨,还有几个苏籍华人到机场欢迎他们。这时,苏联已经开放中国人回国探亲。我们华侨回国是不用大使馆签证的,苏籍华人则需要,为了能方便去中国,他们也开始讨好中国大使馆。我们拿了鲜花在飞机场大门前等着,有人问:“领事怎么能认出我们呢?”有聪明的人想出了办法,我们都把护照拿出来,大家便一手拿着鲜花,一手举着护照。等了好久,莫斯科的班机早飞来了,乘客们也都走出了大厅,却还不见领事的身影。有人看见供工作人员进出的大铁门打开了,开出了两辆黑色的伏尔加牌轿车,便高喊:“你们看,政府早派人把领事接走了,我们快去旅社。”大家一窝蜂拥向了公共汽车站。我找了一辆出租车,叫司机直开塔拉斯旅社,那是塔拉斯市唯一的一家涉外宾馆。汽车飞驰,到前台一问,说中国客人已经住进旅社了,还是二楼上次王、卢领事住的那间。大概那二楼几间房是专门为中国代表准备的,以前我国气象专家来塔拉斯参加联合国主办的国家气象竞赛,新疆杂技团来塔拉斯演出和以后1997年中国驻哈萨克斯坦大使馆人员来塔拉斯访侨,都住在那几间房。我进去以后,与贾士敏主任和高山林随员亲热拥抱,告诉他们我们都去机场迎接他们了,没有接到。贾主任说,这次我们来访侨,行动全由我们自己安排,每一家华侨家庭我们都要走到。苏籍华人如果请我们做客,也不拒绝。一听我高兴极了,马上请他们明天到我家做客。没说10分钟话,旅社大门前就一片喧哗,我知道同胞们已经赶到旅社了,请他们下楼接见大家。一下楼走出大门,只见十几个人早排成了队,看到领事出来了一个个上来和他们拥抱,献花。大概他们早已从照片上把塔拉斯的华侨都认识了,一看到队伍中最年轻的女华侨马晒妹,贾主任便笑着说:“小马,你也来了。”因为当晚还要会见苏方的外事人员,我们也不便打扰他们,大家高兴地离去了。

第二天一早,我就把贾,高二位接到了家,巧云尽其所能地准备了饭菜。我们家还从来没有准备过这样多的饭菜点心招待客人。贾主任是河北省白洋淀边的人,只比我大一岁,50年代在列宁格勒国家关系学院留过学,非常有学识,谈吐斯文,也健谈。高山林是北京人,才20出头,刚从莫斯科大学毕业,高个子,白白净净的,是个非常英俊的小伙子,对人和蔼,亲切,到塔拉斯待了5天,不少中国人的大姑娘就把他爱上了。贾主任告诉我,为了争取到中国人有向国内家属汇款的权利,大使馆和苏联外交部进行了长期而艰苦的谈判,才争取到华侨每个季度可以给在中国的直系亲属寄去15美元,接受者只限于父母、祖父母和亲兄弟姐妹,还必须有大使馆的证明。贾主任把已经写好的我的证明给我了,还有许多盖了公章的空白证明,给塔拉斯领到华侨证的中国人都发了。刚坐下吃饭,前面提到过的郑某人带着他的老婆又来了,真讨厌。不过,现在已经是戈尔巴乔夫时代,连KGB我也不怕了,还怕你个姓郑的。我大胆地向贾,高二位说出了一切我要想说的话,郑某人也只得随着我的口风,大讲苏联的负面。他是苏联政府批准的第一批返国探亲的中国人之一,刚从中国回来。他说:“苏联人见过什么世面?我从中国带回一包旅游鞋,一下子便给邻居们抢光了,卖的还是高价。”郑走后,贾主任对我说:“这个人很危险,你要注意。”在这五天内,我几乎成了塔拉斯的中国大使馆特派员,一些苏籍人士不断来向我讨好,家里从早到晚电话不断,要我引见领事。我们决定星期天在李广讳家集会,只要是中国人,来者不拒。因为柳松寿全家回国探亲了,家里没人,华侨住在带大园子平房的只剩下李家一家。李广讳夫妇怕花钱,推辞说:“我家里什么也没有,怎么样招待领事?”我说你放心,由我出钱好了。第二天一大早,我就去了菜市场,一下子买了一片猪后腿,10公斤大米,两公斤海带和粉条,一水桶鸡蛋,还有白兰地酒,其实加起来也才花了100多卢布。恰好碰上了一位有汽车的混血同胞,拉着我8点钟便送到了李广讳家,他才高兴起来。巧云也带着孩子来帮忙,其他华侨和不少华人也都拖家带口来参加。11点钟到旅社把贾,高二位接到李家。男人们摆桌子,女人炒菜做饭。中午开饭时摆了两长桌,只算是便饭,晚饭才是正式宴请。外交官都能喝酒,此地中国人善饮者也多,亲人们聚在一起,酒喝的再多也不觉得醉。午饭后,男女老少都在大院子跳起了交谊舞。李广讳一家刚从中国探亲回来,带来了许多中国音乐磁带,录音机放起了中国乐曲,还把音量开得最大,我们伴着乐曲跳舞。有的人还边唱边舞,尽情欢乐。李家花园是用铁丝网围成的。音乐响遍了半个街区,这样多中国人集在一起欢歌欢舞,招来了大批苏联人看热闹,把铁丝网都围满了。贾主任不断说:“我们要适可而止!”舞场上最引人注目的是贺汉秋的遗孀刘玉兰女士,虽然徐娘半老,却风韵犹存,穿得也得体。两个多小时里舞跳个不停,还拉着贾主任不放,自己成了贾主任的专利伴舞者。有的混血女同胞吃醋了,有人说:“看,这是我们的明星。”有人休息时悄悄对贾主任说:“有人爱上你了。”这真是个叫人不能忘记的欢乐时光。晚宴的场面更热烈,有70多人,在贾主任和高山林讲话完,我代表华侨,汪镛代表苏籍华人致欢迎辞。之后,凡是愿意讲话的都请讲了话。有的人说着说着便声泪俱下,泣不成声。贾,高二位也流泪了,小高说:“我永远不会忘记这个夜晚,这是我一生中经过的最激动的夜晚。”贾主任说:“今晚我深深感受到了我们中华民族的凝聚力是举世无双的。”是的,我们中国人的凝聚力量是磨不掉的,不管走到天涯海角,中国人总记着自己是中国人。人们还轮番表演节目,大家合唱了《我的祖国》和《歌唱祖国》。我们只会唱50年代和60年代的中国歌曲,如《草原情歌》《芦笙恋歌》《远方的客人请你留下来》等,有的新疆籍华人还唱了《哪里来的骆驼客》《达板城的姑娘》,朱剑南大哥独唱了京戏《甘露寺》和《长坂坡》,我们夫妇对唱了黄梅戏《天仙配》,李广讳的小女儿独唱了她刚从中国学会的流行歌曲《小草》。《十五的月亮》这时已经在留苏中国人中传开了,我们也合唱了。贾,高二位这一次真的走遍了每一个华侨家庭,有的人在医院住院,也带着鲜花和礼品去看望,还出席了刘玉兰和汪镛两家苏籍华人的宴请。

大使馆的关怀感动了中国人,也使许多别国的侨民羡慕。汪镛家的邻居是德国侨民,女主人特别来王家和中国大使馆官员见面,说:“你们中国大使馆每两年都派人看望自己的侨民,恩德多大!我在江布尔住了30年,还没有见过德国大使馆人的面。”临离开的那天,他们租了一家电影院给我们放映电影《特区风光》和《浏阳鞭炮》,有几百人观看,警察局外事科的官员几乎都出场了。贾,高分别用汉语和俄语作了报告,介绍了中国改革开放和经济发展的形势。电影散场,他们要去齐木肯特访侨,我们到旅社去送别。又有两名不速之客等着他们,一名是前面提到了的律师,另一名是他的朋友,姓王,也是哈尔滨出生的混血男人,不会说中国话,在一家工厂当厂长。小高一见到他便说:“我们是老相识了。”原来小高在莫斯科大学上学时,一次去列宁格勒旅行,在旅社里“凑巧”认识了王某,王某也天天陪着他。我却想,KGB的工作真是无孔不入。他们两人一直纠缠着领事,说东说西,不让我们再有和领事单独说话的机会,直到他们坐上车才离开。车子开动时,刘玉兰急急忙忙赶来给贾主任送了一大袋自己烤的点心。

在这年的5月,还发生了一件值得记住的事情,我们夫妇认识了郑彼得和王浩东两位香港人。也是一个星期天,上午,李广讳同妻子羊健芳和女儿莉莉陪着两位中国人来了,介绍说他们是羊健芳上商店时偶然碰到的,是香港来的中国记者,要找一个水平高的翻译去和市旅行社谈事情,他带着他们来找巧云。郑彼得毕业于香港中文大学历史系,王浩东是摄影家,都在香港一家旅行社工作。苏联开放了,旅行社派他们来苏联考察旅游资源。到了塔拉斯,苏联国际旅行社给他们派了一个女英语翻译,可是英语说不成句,没办法,只好另找翻译。他们都是30来岁的潇洒青年,学识高,普通话说的极好,待人亲热,与我一见如故,一起谈了很多很多。我把我的经历都告诉他们了,说死也不会改变中国国籍。临走时,郑彼得对我说:“我和王浩东在路上说广东话,李广讳的妻子迎上来问我们是不是中国人。他是四川人,听不懂广东话,怎么会知道我们是中国人呢?”我说:“外省人听不懂广东话,但是能听出广东话是中国的一种方言。”他还说:“羊健芳请我们到他家喝茶,在李家见到刘玉兰的儿子贺勇,请我们今天晚上到他家做客,你一定要去。”有趣的是,我第一次看到了王浩东穿的防盗背心,像个万宝囊,一围圈是口袋,几部照相机各种胶卷、饮料,钱和别的杂物全装在背心口袋内。我也第一次看到了他们拍的即时成像的照片。巧云给他们当了半天翻译,没有要一分报酬。市国际旅行社那位哈萨克社长不无讽刺意味地对巧云说:“我知道香港是中国土地上的英国殖民地。”巧云回答说:“这里也是俄罗斯的殖民地。”晚上我去刘玉兰家参加宴会,刘全家对两位香港同胞都十分热情,宴席丰盛,也是一起唱歌跳舞。郑彼得和我谈了许多中亚历史,特别是9世纪发生在此地的唐朝和大食的战争。郑说:“我们都是学历史的,如果有时间,我们三天三夜也谈不完。”我问他你们在香港受不受英国人的歧视。他回答说:“中国人是香港的主人,我们不歧视欧美人便是好事了,他们还敢歧视我们!”他们二位一直有着中国人的自尊,中国字也写得好,郑还记得许多中国大诗人,我看香港大学的中文教育水平比许多大陆大学要高。晚上10点,我们依依不舍地分手,郑一定要送我50美元,直到10多年后的现在,每个新年王浩东都给我们家寄来贺卡。回香港后,郑彼得把他的江布尔之旅写了通讯登在报纸上,特别是记录了和我的谈话。国内的《参考消息》和《海外风云》杂志转载了,包括北大历史系周一良老教授在内的我的许多师友和学生在《参考消息》上知道了我的下落。

大使馆第二次访侨后长达十年,使馆就再没有派人访侨了。我想这一方面是苏联解体了,一个驻苏大使馆要分成了十几个大使馆,他们太忙;另一方面是总理换人了,大概也没有精力顾及这种不是很重要的事。但是,给华侨寄送报刊也停止了。直到朱镕基上任,1997年,中国驻哈大使馆才恢复了访侨活动。

戈尔巴乔夫开局不利

1995年,女儿上学了。两年后撒沙中专毕业,应征入伍。我们全家送他上了运送新兵的飞机,好在苏军差不多从阿富汗都撤走了,不十分担心他会给送到阿富汗。苏军规定,新兵入伍要把穿来的平民服装一火烧光,换上军服,所以入伍的年轻人都穿着旧衣旧靴,一个个无精打采。一位送行的俄罗斯母亲说:“他们的样子就像电影里演的拿破仑大军从莫斯科撤退时一样狼狈。”撒沙是中国人的孩子,还是我的儿子,没资格上战斗部队,把他分配到列宁格勒工兵部队当电焊工,修防空洞。3年服役,只拿着冲锋枪照了一次像,连枪都不会开。不过,吉人自有天相,他当电焊工时结识了许多当地朋友,他的班长是列宁格勒外贸学院毕业的,一名高官的儿子,也成了撒沙的朋友。1990年撒沙从部队复员回家,苏联正处于解体的混乱中,各加盟共和国的民族情绪十分强烈。他看到中国人在中亚没有前途,返回了列宁格勒,他的朋友帮他找到女朋友,一位叫鄂尼亚的俄罗斯姑娘,父亲是德国人。很快他和鄂尼亚结了婚,岳父把城中心区3间房的住宅和城郊的别墅送给了他们。婚后,鄂尼亚改姓为雷,他们生的子女也都姓雷。在列宁格勒,也就是今日的圣彼得堡有了一家姓雷的中国人,我常常因此自豪。

1985年3月契尔年科执政一年后去世,年轻的北高加索人戈尔巴乔夫成了苏联最高首脑。戈尔巴乔夫是一位开明的、仁慈的政治家,从电视画面上看到,他不同于任何以前的苏联领袖或其他共产国家的首脑,没有不苟言笑的故作庄严,没有无视一切的傲慢,而十分温文尔雅,谦恭有礼,说起话来平易近人。他以“新思维”施政,首先是给中国人松了绑。1991年6月,州KGB一名叫撒沙的中尉到我家来,在这以前我已好几年没和KGB的人见过面了。他一进门就给了我一张打印好的纸,上面印着:“从即日开始,我和苏联KGB脱离任何关系。有问题也不找KGB”,要我签字。天啦,这太好了,我终于脱离KGB的管制了,立刻签了字,把撒沙欢送出了们。KGB不管中国人,至少不管我了,真是戈尔巴乔夫的第一大德政。

但戈尔巴乔夫的新政开局不利,也许是他不愿意再采用铁腕政治,更重要的是苏维埃政治、经济制度已经走到了尽头,苏联社会病入膏肓,无药可救了。忽然,1985年12月,满城风雨,人们奔走相告:阿拉木图戒严了!进不去也出不来,每天十多班开往阿拉木图的长途汽车,到了离市区十来公里的地方,就返回来了。说哈萨克人正在游行示威,在暴动,在杀俄罗斯人。起因是哈萨克共产党第一书记古拉也夫的退休。古拉耶夫是第一个当哈萨克斯坦加盟共和国最高领导人的哈萨克人,统治哈萨克斯坦近20年,还是中亚5国唯一的苏共中央政治局委员,勃列日涅夫的的密友(勃氏在50年代担哈萨克斯坦共产党第一书记时,古氏是部长会议主席),哈萨克斯坦的小沙皇。他住在阿拉木图北郊最好的风景区米德俄的别墅内,为了方便他进城上班,专门给修了一条高级的环城公路。每当他通过,全路都得戒严。他3次到塔拉斯巡视,每次也都是全城戒严。一次到我工作的拖拉机零件厂视察,时间是上午11点,工厂当局把所有中国工人都赶到第二班了。这年他要退休,指定了接班人,听说还从各地运去了食品和礼品,要举行盛大的告别宴会。出乎人们的意料是,戈尔巴乔夫派来了一个俄罗斯人来担任哈共中央第一书记,引起了哈萨克人社会的爆炸。

本来,在中亚各民族中,是哈萨克人的苏联化程度最深,人们都能说流利的俄语,比俄罗斯腹心地带的鞑靼人,巴什基里人,基瓦人的俄语还说的好,可以说,在各非白人民族中,最以“苏联人”自豪的除了朝鲜人,就是哈萨克人了。“我们苏联”总是他们和我们中国人说话的口头语。哈萨克斯坦地大物博,紧邻中国,苏联中央对这个共和国的经济,文化建设抓得紧,教育水平,生活水平都高于中亚其他共和国,但也正因为此,在知识分子中存在的民族独立的情绪也增涨了。我认识几个年轻的哈族大学生,他们就常说“我们离开了苏联就不能生活吗?”从12月11日起,阿拉木图的哈萨克大学生和工人接连几天上街游行示威,高呼“保卫我们自己土地”。军警镇压,人民的反抗更加强烈。游行队伍排列是前面走着游行者,接着是卡车,最后是洒水车。游行者见到俄罗斯人都用大头棒打,尸体扔到卡车上拉走,再用洒水车水龙头把路面上的血迹冲掉。哈萨克青年还跑到火车站,火车一停,只要上面下来了俄罗斯人,不管妇女小孩,抓住便打,许多幼儿园的俄罗斯小孩都给打死了。我没在阿拉木图亲眼见过,辗转传说可能也有夸大的成份。塔拉斯和齐木肯特各城市,哈萨克居民的情绪也十分激烈,大学生还组织起来要到阿拉木图去支援,在汽车站被阻止了。

运动很快被莫斯科调来原驻中苏边境用来对付中国的大军镇压下去了,情景也是异常悲惨。士兵举着专为镇暴用的比铁锹还大还重的大铁板,遇到游行者就当头打去,直到打死。运动的组织者不是被打死,就是抓进KGB监狱处死。听说不少运动的组织者还是KGB的哈萨克官员。

哈萨克斯坦独立后给这个运动平了反,称之为哈萨克民族觉醒的开始,称运动中的牺牲者为民族英雄,12月16日被定为独立节。运动的领导者中有一位塔拉斯人,是阿拉木图大学学生卡依拉特·雷斯库勒别可夫,被抓进KGB监狱后,苏联最高苏维埃主席葛罗米柯亲自批准判处他死刑,在狱中愤而自杀。90年代中期,塔拉斯市政府把本市的第二大公园共青团公园改以他的名字命名,公园大门前建了高大的大理石纪念碑和他的半身铜像。不过有的俄罗斯人指着铜像说:“他算什么民族英雄,他是个杀人犯。”

接着,波罗的海三国和高加索的民族独立运动也一浪高过一浪。在镇压格鲁吉亚加盟共和国首都第比里斯的人们示威时,高加索军区司令下令开了枪,打死了10几名妇女儿童,消息传出,全国大哗。戈尔巴乔夫因此制定了一条法律:在任何情况下,苏联军警决不准对和平居民开枪。阿尔明尼亚和阿塞尔拜疆两个外高加索加盟共和国为争夺拉戈尔科自治州打起了内战。天厌苏联,叫给戈尔巴乔夫赶上了,厄运不断,接着又是切尔诺贝利原子能发电站爆炸,阿尔明尼亚大地震,人祸和天灾接踵而来。塔拉斯也接纳了许多来自切尔诺贝利的难民。我还认识了其中一名乌克兰妇女,她告诉我,灾难发生后,她逃到基辅的姐姐家,她姐姐闭门不纳,政府把她送到这里了,靠救济过日子。我们工人都义务给原子能电站爆炸和地震灾民义务干了一天活,把那天的工资全交上去救灾。几个我们车间的预备役军人也临时调到切尔诺贝里救灾了,回来说是乘直升飞机在天上转,人们从头到脚穿着防原子服,每次下去工作5分钟,用混凝土浇盖出了事的反应堆。

人民还没喘过气来,乌兹别克斯坦共和国又发生了大规模排土事件。

乌兹别克居住着上10万的土耳其人,虽然同属穆斯林,同属突厥民族,相互间却积怨很深。原由是土耳其人很少当工人或农民,大多是商人,日子比乌兹别克人过得好。形势一松动,乌兹别克人的排土运动便爆发了。土耳其人散居,乌兹别克人成群结队去他们家,抢走他们的财产,把他们撵出来,敢于反抗的就把全家大人小孩用地毯包起来,放火烧死。塔拉斯离乌兹别克斯坦首都只有300公里,几天内就有3万多名土耳其难民逃来。拖拉机零件厂离长途汽车站不远,每天乘公共汽车上班,大街两侧住满了土耳其难民。大人小孩,铺着一块毯子在街上睡觉,夏天和秋天,都住在露天。从早到晚,都有难民上门讨饭。1988年,我们去莫斯科,见到在几个大火车站里也住满了土耳其族难民,白天讨饭,晚上就睡在火车站的地板上。1991年鳗澧去波罗的海边爱沙尼亚的首都塔林旅行,也见到了数不清的土耳其难民。

河东河西风水轮流转,转了几圈以后,独立了的乌兹别克斯坦议会议长访问土耳其,在土耳其议会发表演讲:“我相信用不了多少时间,我们两国的议员就会在这个会场上一起开会。“中亚各国也把土耳其当成了他们学习的楷模和追赶的目标。在市场上,任何商品掛上土耳其招牌便受欢迎。令人不解的是,在十月革命后逃到土耳其的哈萨克居民却一批批地回到了哈萨克斯坦。

面对苏联风起云涌的民族独立运动,俄罗斯人的心情十分复杂,都有无可奈何之感。电视和报刊上出现了同情波罗三国的言论,说苏联并吞这三国后,没在那里作多少好事,使那里和西方在经济上的差距越来越大。一些胸前掛满勋章的卫国战争老战士却对三国的独立怀着刻骨的敌意,说:“他们还要什么自由。是我们从德国法西斯手里解放了他们,他们不知感恩,还要独立。”

戈尔巴乔夫执政后,天时人和两不利,粮食连年减产,市场上的商品一天天匮乏。他知道是再不改革已经不行了,特别是中国改革的成功,更叫克里姆林宫有切肤之感。记得1986年初,一位苏共中央委员来到塔拉斯化工厂做报告说:“中国改革的进程很快,我们再不改革,中国就要超过我们了。到了那一天,中国再要向我们要领土,我们不给也得给。”苏联改革的初衷是要不使中国撵上来。从1985年起,苏联开始改革,我们工厂实行了自负盈亏,在车间和工段搞承包,根据工人意愿按优组合结成工作组。可都只是虎头蛇尾,反而打乱了原来的工作秩序,更加混乱。农村里农民承包了土地,农场当局却不给灌水,土地无法播种。农场场长说:“土地都承包了,我们场长,农技师,畜牧师,会计师们干什么呢?不是失业了吗?”苏联的官僚制度根深蒂固,苏共领导人都是些利欲熏心的贪官,各个利益集团盘根错节地连在一块,戈氏的任何改革措施不仅贯彻不下去,反而结果适得其反。象一坑大粪,不搅动它,臭气还不大,用棍子一搅马上臭气熏天。经济改革搞不下去,戈氏又匆忙搞起了政治改革,带来的是政客们的权力之争,也给了各个少数民族独立运动以空间,结果是,除了解体以外,再无别的出路。

以上我写的这些,只是我的见闻,没有能力对它进行分析和评判,只是祈望我们中国的改革不要导致这种结果,必须平稳、有序、可控地进行。否则,对于国家和各个民族以至每个个人,都将是一场灾难。宁可慢一点,也不能引起爆炸。但也不能停滞,因为停滞也会引起爆炸。中国可是一个拥有13亿人口的大国,一旦发生不幸,可不是那么好收拾的。

和中国一样,苏联在改革伊始也是各级官员纷纷出国考察,我们工厂的厂长一年多就先后跑了美国,法国和中国。考察带回来的成果呢?一是和美国人打通了关系,把他的儿子送到美国留学了。二是见到美国企业主办公室都附带着休息室,里面有浴室、床铺和电视机,他回来以后也把几间办公室打通,装修成休息室,也有了浴室、床铺和电视机。第三是从中国拉来几大包假阿迪达斯运动服,不少是缺衣袖少拉锁的废品,折成高价发给工人抵工资。四是用工厂的建筑材料和工人劳动给自己盖了两栋三层楼房。那几年,各级官员和企业的领导人都给自己大建官邸。我曾陪过一位新疆边贸代表团去过本市水泥制品厂厂长家,见到他家的房子是一栋内部装饰富丽堂皇的三层楼房,地下室有冷热水全备的25米长的游泳池,园子里养着各种热带鱼和来自南美和澳洲的各种观赏鸡。而工人呢?以前从来没有欠过的工资现在也无法按时发放了。在中国已经废除了的各种凭票供应,票证却出现在苏联。苏联共产党的改革是一场祸国殃民的闹剧,当时美国的国务卿纪新格早就预言了:“中国的改革会成功,苏联的改革不会成功。”老百姓对此无能为力,只好再编笑话:

如果火车出轨了,苏联各届领导人会如何解决这个问题?列宁会组织一次义务劳动来修好火车和铁道,斯大林会把火车司机枪毙,赫鲁晓夫会命令乘客闭上眼睛身子左右摇晃,他自己来报站。戈尔巴乔夫给司机发一些煤炭票,建议组织检查团来调查,自己则跑到外国旅行去了。

顾客到餐厅吃饭,服务员端来一盘肉饼子。顾客看了看肉饼子问:“为什么由圆的变成了方的?”服务员回答:“我们在改革。”顾客尝了尝后问:“为什么没煎熟?”服务员回答:“改革需要高速度。”顾客又问:“为什么肉饼缺了一角。”服务员回答:“它是质量检查符合国家标准的标志。”顾客最后问:“为什么你敢于把实情告诉我?”服务员回答:“因为我们现在有了言论自由。”

戈尔巴乔夫在建筑工地上视察,看见工人们一个个推着空车跑来跑去。他奇怪地责问:“你们推着空车子胡乱跑些什么?”工人们回答:“您不是要我们加紧改革步伐吗?我们来不及装卸材料了。”

赞比亚总统有100个老婆,其中一个得了艾滋病,她是谁?正在调查中。美国总统有100个安全事务顾问,其中一个是KGB特务,他是谁?正在调查中。苏联总统有100个经济问题顾问,其中只有一个懂得经济,他是谁?也正在调查中。

有两种方式能成功地完成苏联改革:第一种是现实主义的方式,如果有外星人来帮忙的话;第二种是幻想主义的方式,那就是由我们自己来完成。

他们把自己的改革和中国的改革相比较,也得出了相应的幽默:

改革好比一部发动了的柴油机车,中国把柴油都用来开动机车前进,我们却把全部柴油用来鳴喇叭。

改革好比盖房子,中国是建了新的再拆旧的,我们把全部旧房子都拆掉了,新的却盖不起来。为什么中国商店里的商品琳琅满目,我们商店的货柜却空空如也?中国的改革给了老百姓经营自由。我们的改革只允许老百姓有言论自由。

在中苏边界上,两国的巡逻兵相遇了,中国士兵问:“你们有糖果吃吗?”苏联士兵回答:“没有,”中国士兵给了他们几包糖果。第二天又相遇了,中国士兵问:“你们有香烟抽吗?”苏联士兵又回答没有,中国士兵给了他们几包香烟。回营房后,苏联士兵商量后决定,下一次和中国兵相遇后要主动提出问题。第三天一见到中国兵,苏联士兵就问:“你们有戈尔巴乔夫吗?”中国兵回答说“没有。”一个苏联士兵马上说:“如果你们有了戈尔巴乔夫,就没有糖果吃了,也没有香烟抽了。”

也真如笑话中说的。戈尔巴乔夫的改革老是把新房子没有盖起来,就把旧房子拆掉了。所以,我觉得通过这些笑话,也可以反映出一些真实,中国在改革的初期,的确有比苏联的解体来得高明的地方。但是,中国的改革以后也出现了新问题,比如政治体制改革与经济体制改革如何协调等。

酗酒是苏联社会最大的公害之一,使劳动纪律涣散,社会秩序混乱,打斗凶杀不停,也使不少家庭陷于贫困之中,甚至使俄罗斯人的民族品质倒退。在苏联,到处都可以见到酒鬼生下的各种畸形人,特别是侏儒之多,叫人目不忍睹。我在中国生活了几十年,一个侏儒也没有看见过,在苏联大街上却见到一群群的。前面提到的那位中央委员在化工厂的报告中还有一段话:“1962年许多中国人逃到苏联来了,身份是难民,一不懂俄语,二没有技术。20年以后,他们都建起了自己的房子,买了汽车,一个儿子就有一栋房子,一辆汽车。再看我们自己,许多人家里除了四堵墙外什么都没有,都给喝光了,我们不改革行吗?不禁酒行吗?”1986年,戈氏下令全国禁酒,商店里不卖酒,酒厂关了门,连葡萄园也给铲平了,可谓禁得彻底。但人民还是一样喝酒,自酿的,俄语叫撒马尔贯。几年里卖撒马尔贯的黑市大行其道,许多化工厂的工程师,大学的化学教师辞职开地下酒坊,发了大财,国家反而每年损失了600亿卢布的酒税。政府受不了,重新开放酒禁,葡萄园却没了。教育改革实行新学制,把中小学阶段也就是义务教育阶段由10年延长到11年,却放松了学前教育,总是顾此失彼。

还有一些有趣的事值得记下来,说明苏联改革了,眼界打开,对我们中国人也开始另眼相看了,这就是我称之的李小龙现象或中国武打现象,真叫我们中国人扬眉吐气。

1985年以前,苏联没有录音带,更不准开录像馆。外国的打斗片和某些西方片是绝对不准老百姓看的,警察抓住了要坐牢,有的人仅仅是因为看了外国录像就被判处3年徒刑。1985年后,随着紧闭的苏联国门一点点打开,出现了外国录像带。首先来的是香港武打片,特别是李小龙主演的。常常在街上看到一群群年轻人兴高采烈地说着布鲁斯·李(李小龙的俄文译名)。一向奉公守法的中国人也心动了,想看个究竟。刘玉兰的儿子贺勇是牙科医生,租了6部李小龙主演的武打片,叫去几家中国人。巧云炸了一包油炸包子,自带吃食,还交了部分租费,全家都去刘家了。十几个人,晚上紧关房门,扯上黑金丝绒窗帘,像战时防空袭一样,看了一个通宵的电影。大家聚精会神,如痴如醉地看着李小龙和成龙出神入化的表演,特别是看到影片中中国武士打败日本武士,在明朝剿灭倭寇的战斗中,侠客用龙爪手一下子就把日本武士的心脏挖出来,大家都兴奋地跳起来叫好。两年后,苏联的大门全打开了,塔拉斯的录像馆开得和饭馆一样多,百米一家,十房一处,放的多是香港武打片。第一批全是李小龙主演的,于是,“布鲁斯·李”风靡全苏,成了苏联家喻户晓的英雄。有意思是,苏联人区分不出香港和中国,全都是中国,一谈论就是中国功夫好,中国电影好,布鲁斯·李是好汉子。推而广之,书店里也卖李小龙的电影画集,李小龙传,大街小巷的售货亭橱窗上都掛着他的照片、绣像和蜡染像。我们去莫斯科,坐了3天3夜火车,每天都有小贩上车来兜售他的像片和印着他像片的日历。莫斯科和列宁格勒也没有两样,在满街的书店报亭都可以见到布鲁斯·李。青年男女们都穿着印有他目光如剑,神态各异的头像和大写名字的T恤衫。在中苏关系还没有完全解冻的时候,在苏联人的眼里,李小龙一下子把中国人的形象改变了,可真给我们炎黄子孙在外国人面前挣足了面子,是当之无愧的民族英雄。李小龙的电影也使中国武术风靡全苏,各个城市里都有真中国人或假中国人真拳师或假拳师开设的武馆,都如雨后春笋般出现。有的年青人一看到中国人就缠着要教他功夫。

紧接着,阔别了几十年的中国电影也在苏联电影院里上演了。首先上映的一批是《少林寺》《无敌鸳鸯腿》和《孔雀公主》,都是久映不衰。也时有中国电视片出现。1990年国庆节时一连上演了5部中国电影。令人遗憾的是西方人给了奖的《红高粱》在苏联却不受欢迎。我们到影院去看该片,宽阔的大厅里只冷冷清清地坐了30来个人。当出现了向酒缸撒尿的镜头时,许多观众大骂“他妈的,中国人!”哈萨克斯坦独立后, 电影院里和电视中很少有中国的了,只在阿拉木图电视台断断续续地播送着中国赠送的、有哈语配音的《西游记》《红楼梦》和《三国演义》。说的是哈语,大部分人却听不懂。节奏也太慢,看惯了节奏快的西方电影的本地观众不愿意看。

第一次回国探亲

恢复中国国籍后,我就向大使馆申请全家返国定居。报告转到国务院侨务办公室,侨办来信问我:“你是湖南人,但原工作在新疆,你是要回湖南还是新疆?”我写信回答:“新疆是我的伤心之地,不想去了,想全家回湖南家乡。”报告又转到湖南侨办,再转到我家乡石门县。我出逃以后,中共霍城县委没有给我的“右派”和“文革”中戴的“黑帮分子”帽子平反,湖南省侨办又派专人到了新疆霍城督促他们办理,中共霍城县委统战部才发了改正平反文件,文件号是霍统字(86)号,时间1985年12月6日,发文时间则是1986年,一下拖了6年。并且还给我留了3个尾巴,如“认为雷曾对大跃进,人民公社化有些言论。但从性质上是属于一般思想认识问题。”到了大跃进已经全部否定,人民公社被解散了的1986年,霍城县委还在认为我当年对大跃进和人民公社的评论有“思想认识”问题。他们办事情不少地方糊里糊涂,发平反文件时,我早已恢复中国国籍5年了,文件上还写着“于72年逃苏,现在已加入苏籍。”一直到我1990年重新回到霍城,新疆的公安部门还没有把我逃亡的时间和地点搞清楚,说我1972年出逃的地点是塔城。公文旅行,平反文件1987年才寄到大使馆,我家乡政府却在1982年就给我们夫妇安排好了工作和住宅。1986年哈萨克斯坦地区的华人华侨开始回中国探亲,第一个是李广讳。本来1987年大使馆已经通知我:同意我全家回国定居,马上要寄归国证了,李广讳回湖南后变了卦,也许大使馆有别的考虑。

对留苏中国人回国探亲,KGB作了非常阴险而巧妙的安排。第一批回去的都是他们的人,给他们交了任务。如阿拉木图第一个回国的是本书第二章里专写过的张联堂,本人是混血,生在新疆,长在苏联,从来没有到过他父亲出生地河北某县,在中国根本无亲可探。江布尔第一批返回中国的是李佩芳夫妇、郑凡鲁、郑贤奎夫妇和李广讳,回去执行的一项主要任务是向中国的侨务部门或安全部门汇报:除了表明自己的清白外,把别的留苏中国人特别是几个特定的人说成是KGB特务,把池水搅浑。我国管事的官员本来多疑,听人说某人是爱国者还不太相信,说某人是KGB特务就深信不疑。我回国定居大事便因此功亏一篑,只有老死异乡了。比如李广讳,就造了一个谣:“巧云的前夫是德国人,撒沙是她和德国人生的。”湖南省安全机关完全深信不疑,谣言一直传到我母亲耳中。

开放回国探亲已经3年整,该回去的都回去了,KGB再也没理由不让我回中国,所以我一家是塔拉斯市最后一家被批准返国探亲的。1988年8月,我们夫妇和女儿才领到探亲的签证,不过KGB还是克扣了我们的回国携带的外汇。苏联政府规定,中国人回国探亲每人每天的旅费是11卢布,每次发放两个月,小孩减半,用美元付给,按61戈比换1美元计,我们三人应该可以携带2700多美元,结果只准许我们带一千多美元。8月,请来了岳母看家,我们踏上了日夜盼望的回国旅程。此时我离开祖国已经18年,离开故乡34年了。巧云离开中国时间更长,有25年,她由不满18岁的少女变成额角白发点缀,眼角布上鱼尾纹的中年女人了。鳗澧是第一次回中国。巧云是苏籍,必须要领到中国大使馆的签证。我们就先起身去莫斯科。在苏联,外侨是划地为界,不能离牢笼一步的,以前要去莫斯科更是想都无法想。我在苏联生活18年,除了逃跑时到过土库曼共和国外,这是第二次离家远行。我们坐苏联南线火车去莫斯科,途径乌兹别克斯坦北上,到欧亚交界的乌拉尔山南麓的大城奥伦堡后,再西行到莫斯科。苏联的火车走得很慢,每小时只有50公里。从塔拉斯到莫斯科3700多公里,走了3天3夜。但火车票很便宜,我们坐的包厢,每人才35卢布。鳗澧是学生,只收半价。火车第二天经过中亚第二大湖咸海,提前两个小时,列车员便把所有的门窗都关闭了。穿过湖边一个原来有10万人口的阿拉斯克市时也没有停。列车员解释“城里在发瘟疫,整个城市居民都迁走了,成了空城。”原因是咸海的水源是乌兹别克斯坦的阿姆河和希尔河,乌兹别克斯坦在苏联的经济分工是种植专业户,専种棉花,要用水灌溉。沿途把两条的河的水用光了,咸海水源被切,成了干湖,湖底细菌泛滥,瘟疫蔓莚,湖边居民也走空了。过了奥伦堡,火车全在大森林中行进。

快到莫斯科时,铁路两侧的森林边上出现了许多不知名的乔木和灌木,树枝上挂满了红色小浆果,也有苹果。我到一个小站买了一公斤莫斯科的苹果尝尝,触到牙齿满嘴酸涩,无法入口,都丢掉了。这种苹果是苏联生物学圣人米丘林的“伟大的科学创造”。我们第一天晚上上车,第四天下午5点才到莫斯科。

莫斯科是苏联最大的铁路中心,有8条干线交合。喀山,基辅和列宁格勒三大火车站鼎足而立,都是古色古香的高大建筑。售票大厅里用电脑售票,用不着排队。大煞风景的是每个候车室都住满了土耳其族难民。莫斯科有世界上最完整最壮观的地下交通系统,据说地铁长达400公里,通到市里每一个主要的地方。市中心区是三个大环圈即环形路,越过莫斯河底再通到城市的四面八方,直到郊区。地铁站宽大而漂亮,全用大理石的雕刻装饰,像艺术宫,更像博物馆。大的地铁站有上下3层,乘自动楼梯上下。刚进入地铁站,一看高达200米既窄又陡的自动楼梯,显露的全是人头,很有些心惊胆战。站上每一个拐弯的地方都高悬着灯光指示牌。还写了由此出车能到达的街道,和去何街道要在何站上车,一目了然。所以到莫斯科旅游,买一张地铁交通图,会俄文拼音就行了,用不着导游,也不用向别人问路。车费也便宜,乘一次才5戈比,可以在地下跑遍偌大的莫斯科,这在别地方是不能叫人相信的,所以在莫斯科旅游一个星期,我们全乘地铁来往。下火车后我们直奔中国大使馆,给使馆带去了两大包新鲜芹菜和辣椒。乘地下火车到列宁山上的莫斯科大学站出来,走不远就到了大使馆,在风景十分优美的列宁山上的友谊路,离莫斯科大学只有几百米。大使馆并立着两栋四层楼,前面有一个小湖,湖里游鱼历历在目,一双美丽的白天鹅在湖面上嬉水。我们拿出证件,进入大使馆找到贾士敏主任和高山林随员,把菜交给了他们。他们十分亲热。小高亲自开着使馆的德制奔驰车把我们送到了航天展览馆附近的一家涉外旅社,包了一间房,两张床,有电视和电话,还有抽水马桶,大澡盆,冷热水全备,一昼夜才3卢布。在旅社走廊碰上了许多中国人,其中有一个来莫斯科大修伊尔飞机的飞行组,5个人。我们天天见面,当时正是汉城24届奥运会比赛的时候,他们看不懂俄文,我每天下午都把当时报上登的比赛结果告诉他们。旅馆旁还有一家十分好的自助餐厅,全家3个人花3卢布就可以饱餐一顿,在别的苏联城市,在莫斯科其他街道上,这是找不到的。第二天上午,我们去大使馆办签证。先在莫斯科大学的校园里待了一个多小时,好好观赏了大学的风光。莫大依山坡建在列宁山上,全开放的,没有围墙。都是大高楼,主楼有30几层,是全苏联最高的建筑。校园里处处花木扶疏,喷泉击空,景色既壮观又秀丽。我国没有一个大学能在建筑上能与它媲美。大学生们进进出出,黑人特别多。有的女大学生还推着小童车。苏联准许大学生就读时结婚,还给大学生夫妇提供专门的公寓房。我看到一个金发碧眼的女大学生推的童车里躺着一个黑人小婴儿。不过,听说莫斯科大学主楼的设计师在大楼完工后被关进监狱了,因为大学的教室、图书馆、实验室全集中在一座大高楼里,上上下下实在不方便,大楼中看不中用。贾主任早给使馆签证处的工作人员交待了,我们没有像别人那样排队,交上登记表就在巧云的出国护照上盖上了签证章,花了不到一个小时。从大使馆出来,到了不远处的英迪拉·甘地广场。中苏反目后,苏联竭尽全力拉拢印度,英迪拉·甘地遭暗杀后不久,在莫斯科建立了以她命名的广场。广场不大,广场上竖着的铜像不知道为什么是圣雄甘地。接着我们直奔红场,红场比天安门广场小多了,地上铺着石砖,缝隙很大,穿细高跟鞋的摩登女郎完全无法在上面走路。红场上的列宁墓前排着几百人的长队等待瞻仰他的遗容,中国人还特别多。我是发誓不见他的,没有去排队。红场北面是高大的红墙和墙后的克里姆林宫,全苏联的神经中枢。苏联人编了许多笑话来形容红场和克里姆林宫。有一则是:“什么是各取所需的共产主义和各取所值的社会主义的分界线?回答:红场上克里姆林宫的围墙。”

在莫斯科的几天,我们还到了高尔基中央文化休息公园,动物园,鳗澧第一次坐了过山电车可以鸟瞰莫斯科市景,第一次欣赏了立体全景电影,还坐游船游览了莫斯科河,看了几家大博物馆,名人公墓,瞻仰了俄罗斯许多著名文学家,艺术家,科学家的长眠之地。在赫鲁晓夫墓前我献了一枝石竹花,尽管赫氏做了许多错事,他还是共产主义世界的第一个改革家,斯大林新沙皇的专制是他揭露的,自由和民主之风是他带进铁幕之内的。在公墓还看到了中共元老王明的墓。大部分墓前都搁者已乾或未乾的人们献的花,而他的墓前一无所有。他这个可鄙而又可怜的汉奸,谁还记得他呢?最后两天是购物,先买长途旅行所需的食品。此时全苏联都闹食品荒,莫斯科的食品却货物丰富,价格也便宜,虽然有时也要排长队。在海洋食品商店我们买到了中国人爱吃的海带罐头和别的地方见不到的青鱼、大哈马鱼和黑鱼子酱罐头。这些食品在有些城市只有官员专卖店才能见得到。我们去全苏最负盛名的莫斯科中央百货商店,商店在一栋古色古香 装饰华丽的三层楼内,商品却十分缺乏,还比不上以后我在在国内见到的小县城百货商店。转完了三层楼全部柜台,只给鳗澧买到一条牛仔裤和一些铜板模压图,准备带回国当礼品送人。我们带回国的礼品有两部“日出”牌摩托车、吸尘器、两个空调器、几条毛毯、驼绒被和各种呢子衣料,在我们出发前已经托运到伊尔库茨克二内弟家了。中央百货商店原是一俄罗斯親王官邸,建筑之壮观和装饰之精美无可挑剔。中国成语有一则“买椟还珠”,而全苏最大的百货商店却只有大椟没有珠。之后又到国际书店中文部买书,一进门就把我惊呆了,有那么多的好书!我在新疆时在任何一家书店也没看见过。我掏出口袋里所有的钱一气买了30多本,其中有中文《福尔摩斯探案集》和民国时期侦探小说作家林小青著的《林小青文集》。一边在书架上取书,一边高兴的笑出声来,几个售货员都奇怪的围着我。钱花光了、还有一部大部头的《三峡水电站讨论全集》没买,准备回旅社取钱再来买。第二天一大早就赶来国际书店、结果大失所望,昨天满书架琳琅满目的中国书都下架了,除了几部辞典和几本儿童画册外。这苏联解体的前三、四年,KGB的触觉还是无处不在。我买的书都打包邮回了塔拉斯了。

在莫斯科玩了一个星期,我们从莫斯科乘坐西伯利亚大铁路的火车到中国,要经过伊尔库茨克,7天7夜。沿途几乎都是大森林。树木都是又高又直的红松和白桦,几乎看不到杂树。俄国人把欧亚大陆的森林带囊括一空了,森林面积700多万平方公里,快有巴西大了,世界第一,是一笔多么宝贵的生态资源和林木财富啊!大森林铸就了俄罗斯人的森林文化,猎人文化,特色就遵守“丛林法则”,凶狠嗜杀,远离海洋文明和城市文明,这大概就是形成俄罗斯民族蛮横、习于武装外侵和缺乏文明的民族性格的原因。从17世纪彼得大帝开始,历代沙皇四处掠夺:西侵瑞典、波兰和波罗的海各小国,南败土耳其和伊朗,东掠中国,建立了世界上最大的大陆帝国。十月革命后,列宁和斯大林比老沙皇更青出于蓝,从中国、芬兰、波兰、德国和罗马尼亚、捷克掠取了大片土地,苏维埃帝国比沙俄帝国的领土更加广阔。森林是大黑熊出没的地方,世人也就把苏联称作北极熊了。

巧云持苏联护照,途径蒙古可以免于签证,因为当时所谓蒙古人民共和国,只是个苏联的附庸。我持中国护照,需要过境签证,我懒得在莫斯科找蒙古大使馆,人们告诉我伊尔库茨克有蒙古领事馆,一样可以办签证。火车经过东欧平原和西伯利亚的茫茫林海,越过伏尔加河、鄂毕河、叶尼塞河、安加拉河几条大河,只见河道宽阔,水量丰富。有的地方比长江还宽,水还大,水都是清的。后来过境回到中国,就只能见到干河和混水河了。每条河上都有巨型水电站。苏联把大部分能利用来发电的河水都用来发电了。在伊尔库茨克下车后,二弟把我们接到了他家。二内弟和几个中国朋友开了一家街道照相馆,生意不错。内弟媳也是混血中国女人,大学经济系毕业,在一家财经机关当经济师,他们有个小男孩。亲人相逢,高兴莫名,那座城市还住着一些我见过面的和早已闻名没有见面的华侨朋友,像我岳父的干儿子刘天孝,有中国驻伊领事之称的四川籍人陈冠中,外号华侨协会主席的河北人王唯一,从塔拉斯迁去的老知识分子王梵,还有一些在中国建设杂志上知道我的朋友们。大家轮流请我们去做客,大鱼大肉,每天晚上都大醉。

伊尔库茨克在贝加尔湖北岸,安加拉河从城中心一穿过,是西伯利亚的大城,沙俄时代东西伯利亚总督的驻地。市里欧洲古典风格建筑很多,不少是革命前华商的财产,革命后布尔什维克全给没收了,变成了名目繁多的政府机关。安加拉河上有一座发电量达200万千瓦的水电站。厂房建在大坝内,我们常常坐汽车或电车在上面过来过去。伊尔库茨克不用煤气,取暖和做饭都用电,电费便宜得叫人乍舌,1个戈比1度电。到伊尔库茨克后,我到蒙古领事馆办签证,我是苏联居民,蒙古人不敢怠慢,几分钟就办好了,收费高达20美元。在领事馆内看到一个蒙古女人带着七八名蒙古少年坐在那里,女人用熟练的俄语打电话:“我们来伊尔库茨克两天了,连住的地方也没找到。”大概她是带蒙古学生来上学的。

在伊尔库茨克玩了5天,登上了返国的兴奋之路。当时苏联和中国有国际联运,可以用卢布买全程的往返车票,十分方便。我们便一直把票买到京广路的终点城市广州,往返票三个人一共花了400卢布。坐的是中国列车,列车员是个北京老头,全车厢都是中国人,除少数回国的华侨和几个波兰商人,多是各种代表团访问苏联后回国的,还有一些应邀访问了母校的老中国留学生。列车开出伊尔库茨克,很快到了贝尔加湖边,沿湖岸行进直到乌兰乌德,走了7个多小时,还不到整个湖岸的五分之一,好大的湖啊!贝加尔湖是世界最深的湖,没有受到多大污染。政府曾想在伊尔库茨克建一个大造纸厂,把废水放进湖里,居民群起反对,游行示威,政府只好作罢。湖里鱼产特别丰富,1986年苏军入侵并占领捷克之后,捷克是个内陆小国,克里姆林宫要安抚它,把贝尔加湖的捕鱼权出租给了它。捷克人的技术能力很强,专门设计了渔网。我牵着女儿的手站在包厢外的走廊里,只见湖水青碧,风吹来,碧波粼粼,蜿蜒天际,我的心被深深地刺痛了,因为贝加尔湖就是我国史书上所称北海,是两千多年前民族英雄苏武牧羊的地方。我噙着眼泪望着北海水,和女儿一起唱起了《苏武牧羊》:“苏武留胡节不辱,苦守十九年。渴饮血,饥吞毡,牧羊北海边。心存汉社稷,牦落犹未还……”苏武留湖十九年后回到了祖国。我出国十八年,才争得了回国的权利。我无法自比苏武,他的人格却时时提醒我,叫我万万不能在外国失足。

列车南下到乌兰乌德,是苏联布利亚特自治共和国首都。城里有清代修建的中国庙宇式的喇嘛庙,汉字牌匾,汉字对联。列车从乌兰乌德折向南不久就从恰克图进入蒙古国境,尼布楚就在不远的地方。尼布楚和恰克图是康熙皇帝时清军打败俄军后,先后在两地签订了中俄尼布楚条约和恰克图条约,保住了我国北方土地。清朝全盛时我国的版图直达贝尔加湖南岸。所谓布利亚特蒙古,原是外蒙的一部分,名唐努乌梁海,不愿随外蒙独立,要留在中国,但它却被外蒙隔断了。二十年代,苏维埃帝国把我国这片土地占据了,至今还没有法律依据。而外蒙独立是列宁预谋已久的,他认为中国总有一天会强大,哪一天中俄爆发战争,中国军队从外蒙出发,可以完全切断西伯利亚大铁路,把俄罗斯帝国拦腰斩断。所以,十月革命后内战硝烟未落,他就派红军以剿灭白俄军队为名,出兵占领了外蒙。教育和训练以苏赫巴托尔为首的外蒙青年,派去夺权。1924年独立的所谓蒙古人民共和国,是苏联一手制造的。蒙古人民革命党总书记是泽登巴尔的老婆是俄罗斯人。泽氏是无可救药的蒙奸,反华的先锋。六十年代后,十万苏联大军开进蒙古,和蒙军混合编制驻在中蒙边境,给中国巨大的军事威胁。九十年代苏军退出蒙古,蒙古人民革命党把泽登巴尔开除出党。列宁看到了中国军队从外蒙可以把俄罗斯拦腰切断,我国领导却没有看到俄军从外蒙出发,可以很快打到北京。不过,台湾的中华民国政府,还一直把外蒙划在中国版图之内。九十年代乌兰巴托市文化代表团访问台北,团员们奇怪地问接待者:“为什么我们蒙古国在你们印的地图上找不出来?”

列车开到苏蒙边界上停下来接受边防和海关检查,上车执行任务的都是俄罗斯人。比较文明,也没有开包开箱,只是所有检查完毕后,一个海关女官员把我叫出包厢,对巧云搜了身,很仔细,连乳罩都翻开来看了。我知道有些华侨从哈萨克斯坦回国,走私哈萨克盛产的羚羊角,发了财。列车开过蒙古边界停下检查,一队全副武装手持冲锋枪的士兵上到火车,军服和苏军制服一模一样,一个个板着脸,神情严肃,盘问认真。但对包括我们在内的苏联居民的检查十分宽松,没有开箱开包,也没有搜身,只数了下行李件数。往车窗外望去,边界的苏联的一侧有成片的大森林,草原肥美,水源丰富,而过界到蒙古后,只见草不见树了,苏蒙划界把好地方都划给俄国了。

列车从北到南纵穿蒙古全境,除了乌兰巴托外,见不到一栋房子,一条河,一棵树,一个人和牛,马,羊,骆驼,连停在电线杆上的鸟也没有。这时正是秋高草长的季节,草原上也见不到密集的牧草,不过它拥有纯净的天空和清洁的空气。蒙古首都乌兰巴托车站的模样和苏联的车站没有两样,车站大楼与苏联加盟共和国首都的火车站一般规格,顶上钉着俄文“光荣给予苏联共产党”的铁制红色大标语。听说乌兰巴托还竖着蒙古引以为自豪的世界上最高最大的列宁铜像。乌兰巴托市很不雅观,见不到漂亮的房子,只看到远处有五,六栋和塔拉斯居民区的高层居民楼完全同样的九层楼,街上跑的公共汽车也是同样的车站上人不多,上车的蒙古华侨却不少,说着纯正的普通话,穿着和苏联居民没有两样,带的行李也是苏产的吸尘器,电熨斗之类。蒙古经济完全掌握在俄罗斯人手里,低价卖出畜产品,高价进口苏联工业品。连自己有限的几座工厂和矿山都是苏联人掌管的,干活的工人许多也是苏联人。每年夏天。在阿拉木图和塔拉兹的报纸上都登着大幅广告招收临时工人,去蒙古把牛群和羊群赶到哈萨克斯坦来。蒙古人用一头牛才能换回苏联一双皮鞋,所以苏联人也编了个笑话:“斯大林给乔巴山勋章,乔巴山给斯大林羊群。”和我们车厢相连的一个车厢上来了十几名蒙古华侨青年,一上车后就和我们攀谈,大爷,大娘,叔叔,婶婶地叫得特别亲热。他们告诉了我旅蒙华侨的由来。蒙古“革命”时留居蒙古的汉族官员和商人都撵走或杀害了。蒙古人只会当牧人,工,农业劳动力十分缺乏。1945年日本投降,几十万苏军开进我国东北发战争财,还组织了一支苏蒙联军出兵到我国绥远和和察哈尔省,前锋直到张家口,斯大林因之授予了苏赫巴拓尔的继任者乔巴山以苏联元帅的称号。蒙军撤退时,掠回了几万中国人到蒙古当劳工。现在蒙古有几万华侨,在乌兰巴托还有一所华侨学校,第一届中国全国人民代表大会召开时,旅蒙华侨协会主席还是极少数的旅外华侨人民代表之一。华侨在蒙古的处境还不如苏联,虽然他们给蒙古创造了大量财富。我工作单位“塔拉斯拖拉机零件厂”的工人中征去乌兰巴托工厂干过活的很多,我们同组的一个俄罗斯人告诉我:“蒙古如果没有中国人,我们苏联人都得饿死。我们吃的土豆都是中国人卖给的。”而蒙古政权头目反起中国来比苏联还卖力。1969年珍宝岛之战以后,许多留蒙华侨给杀害了,八十年代还把成千上万的华侨驱赶回中国。这些同胞们和我们套近乎还有一个原因,蒙古当局不允许他们带任何物品出境,查出来了要判徒刑,他们携带的苏制吸尘器,望远镜,电熨斗之类和羚羊角只好放在我们的包厢里蒙混过关。

火车深夜里开到中蒙边界上蒙古一方的扎门乌德站上停下来,接受出界检查。检查很快完了,车厢两边的门上各留下一个持枪的士兵把守。巧云松了口气,牵着女儿想到列车厢走廊舒展下身子,才一只脚踏出包厢们,一个士兵就大声喝叫:“卡姆,卡姆!”我们愣住了,什么卡姆,他们要干什么?我想了一会儿对巧云说:“他们说的是超级蒙古式英语,come in;进去,这里是他们的边境,不准看。”在黑沉沉的夜里,孤零零的过境小站上,只亮着几盏鬼火似的昏暗电灯,能看到他们什么边境秘密呢?他们又有什么边境秘密值得旅客一看呢?我们都哑然失笑了。列车开动后,很快到了我国内蒙古的二连市。

在母亲的怀抱里

国际列车开到二连已经深夜两点了,车站上仍是灯火辉煌,好一番灿烂的夜景。列车要停留几个小时,在这里换车轮。蒙古的铁道是苏式宽轨,中国铁路是国际标准轨,火车能从苏联直接开到蒙古,不换成国际标准车轮便不能在中国的铁路上行走。同样是边界,是过关检查,中国一方完全没有苏蒙边界的森严。边防军官兵和海关人员态度都友好,向旅客提问都带着笑容。海关检查员是位回族小伙子,一进包厢首先和我握手问候,说“欢迎华侨回到祖国来。”检查很快顺利通过,还发生了个有趣的插曲:当时我国限制外烟进口,规定每个从国外入境的旅客只能带两条烟,我们3个人带了7条保加利亚烟,违限了。我告诉了边检员,他立即用报话机向上级报告,对话我都清晰地听到了。他说:“有一家华侨,两大人一个小孩,带了7条烟,放不放行?”上级问:“报关了没有。”他回答:“报关了。”上级立即指示:“放行!”放行,两个字,干脆利落,又亲切温暖。我知道我已经到达了中国的土地上,我回到中国的怀抱了。检查员邀请我们去二连海关大楼参观,便和他一起下了车。只见列车两边各摆着一排起重机,司机都是年轻的姑娘,要把火车厢吊起来放到中国的车轮上。民国时代阎锡山在山西修窄轨铁路,斯大林在苏联和外蒙修宽轨铁路,都是防止外来者进入。专制统治者都是些笨人,阎锡山的窄铁路挡得了日本鬼子和八路军吗?苏联外蒙的宽轨又抵挡得住西来的欧风美雨吗?与对面的黑暗孤独形成鲜明对比,二连的海关大楼却是灿烂辉煌。大楼正面全用闪烁的彩色电灯泡包围着,大厅商店里的货物琳琅满目,小吃店营业正盛,黑头发和黄头发各色人等进进出出。楼前广场上许多旅客在散步,开放改革,一进国门就看到完全的新气象了。一看到大楼正上方的中国国徽,我们全家三人停了下来,脱帽,鞠躬,向祖国致敬。当我伏下身子流着泪去亲吻祖国的土地时,巧云和鳗澧也都泪流满面了。

在欧洲各民族中,大概最没有文明修养的要算波兰人了,列车开出二连,我们车厢的几个波兰商人发了疯,每个人都拿着一瓶中国烧酒大口大口地吞咽,喝完酒就狂舞狂喊,叫全车厢的人都没法睡觉。他们高兴的原因大概是他们带的走私品顺利通过了几国的海关,要大大庆祝一番。列车员不敢或不愿去干涉他们,我只好过去把他们制止了。早上一觉醒来,到山西了,远远看到古长城在起伏的燕山山脉群峰顶头东来西去,山都很陡峭,几乎是悬崖千丈,当年修建之艰难很难想象。到北京时,已经暮色苍茫。我们带的行李包太多,搬下车后,只好由巧云和鳗澧当哨兵分段看守,我再一包包地运到候车室。在国际候车室里把一些美元换成人民币。候车室里有几位从台湾回来探亲的同胞,一个十五六的小姑娘,国语说得流利极了,活泼可爱,很快和我的女儿亲热起来。国际候车室还算安静,可出室一看,到处全是人,万头攒动,不少人还铺开行李睡在广场上。天啦!中国的人口比我在国内时不知又增加了多少!“人多好办事”的最高指示立竿见影了。

改革开放后,北京建了许多高级宾馆,我们旅苏华侨是住不起的,北京市政府照顾穷华侨,把前门外的大众旅社指定为接待苏蒙回国华侨和来北京旅游的香港大学生的専用旅社,一间房一昼夜收二十多元人民币。旅社很特别,三层楼,中间一个大天井,环天井是走廊。客房在走廊周边。一个人在三楼的天井边一坐,全旅社进进出出的旅客尽收眼底。第二天我们在门前一家小餐厅吃了涮羊肉,又到火车站把行李托运到长沙。

在吃涮羊肉前,一大早,我们刚起床,出乎我的意料,一位带着服务卡的马姓先生到我们房间来了,一一询问了我的籍贯,出生年月日,父母兄弟的名字,一边问一边登记。我不免有点发怵,不知道是什么意思。

下午,我们一回到旅社,值班室就有人来叫,说有人找我。我进到值班室旁边的一间办公室,见到里面一中年女士和一位青年干部正等着我。女士姓陈,清瘦的面庞,望之可亲。青年长得十分英俊潇洒,高身材,高鼻子,像漂亮的中西混血人。我分别称之为陈大姐和小崔。陈大姐告诉我他们是北京市外办派来接待我们的说:“雷先生在苏联吃了不少苦。回国后好好休息一下。”叫我们明天9点在前门前大电影广告牌下等,有车子来接我们到八达岭长城旅游,还叮嘱不要告诉旅社里其他的华侨,因为他们不接待一般的华侨。我回房告诉了巧云和女儿:侨办干部来看望我们了,大家都非常高兴。

次日9点,我们坐上丰田车出居庸关登万里长城。大学时代我到八达岭春游过,现在全整修一新了。游人如蚁,我们一鼓作气登上上了山顶,拿到了“不到长城非好汉”的证明书。燕山茫茫,裸石坡上点缀着一处处葱茂的树林、草原、花地,好一个居庸叠翠,灰色的长城在山顶上蜿蜒天际。长城据说是宇航员在飞船上见到的地球上唯一之人类建筑,是中国人的骄傲,不过它值得自豪的只能是我国古代的卓越建筑技术和中国人的卓绝勤劳,中看不中用,还把中华民族开发和进取精神禁锢了。真不明白,秦始皇雄才大略,带甲数十万,兵精马良,几年内踏平了六国,却派大将军蒙恬率奴工二十万成年累月地去修长城,却没有想到把二十万奴工武装起来踏平匈奴,收漠北于版图。还修出了一个孟姜女,哭了几千年,哭倒了长城,也哭乱了中华民族向外的开拓。八达岭一段长城是明朝抗倭名将戚继光领兵重建的,以戚继光的大将之才,奇怪的是不去率舰东平日本,率骑北收蒙古,却筑起长城来封闭自己。

中午下了长城,见到一家旅游商品门前两位小姐在玩熊猫球,一种新发明的球。各拿一块比乒乓球拍大的贴胶球板和一个羽毛球似的小球交叉掷出,把球牢牢地贴在球板上。他们手法熟练,姿态曼妙,好看极了。小崔买了一副送给鳗澧,到现在她还常常和巧云拿到公园里玩。游完长城,驱车去了明十三陵。先到定陵地下宫殿,也是我的旧游之地,指导发掘定陵的考古学家几乎都是我的老师和同学。定陵是明万历皇帝的地宫,是把明室搞到几乎灭亡的荒唐皇帝。午餐和晚餐都是在定陵的餐厅吃的,我请陈大姐点几个简单清淡的菜,不要太花费了。她笑着说“老雷,你是过过苦日子的了,不要客气。”要来了丰盛的菜肴,我一辈子还没见到过。都没有吃完,太可惜了。

以后两天,小崔带巧云和鳗澧去游颐和园和动物园,把我带到一栋楼房谈话,从后门进去,也不知道是什么地方。和我谈话的是一位姓郝的先生,口音像是山西人,后来在戈尔巴乔夫访华游览长城时,在电视新闻里见到过他的面孔。他询问了我逃苏后受审,流放和定居塔拉斯的全部过程,以及KGB管制华侨的方式方法。我见到他后的第一句话也是:“在苏维埃帝国没有瓦解前,凡主张中苏友好者应以汉奸论处。”他笑了,从谈话中听出他对苏联还是有好感的。他还懂俄文,大概曾经在苏联留过学吧。

我要特别提一下,在我和郝先生长达两天的长谈中,谈到了我在北大最亲密的朋友、我的同级同学结义兄弟沈元。我们都是1957年时的右派,我的出逃与他还有着密切的关系,下面我还会专门谈到他。沈元可以说是解放后中国历史学界出现的唯一天才。他对中国思想史的研究文章问世后,有学者说他的成就要超过黑格尔,1970年他被谢富治下令枪毙了,其时只三十二岁。

在北京待了4天,我们要南下湖南回老家了。头天晚上陈大姐,小崔和郝先生正式宴请了我们一家,在一处宫殿式的平房里,也不知道是什么地方。小崔带我们进了门,庭院深深,画廊曲折,小桥流水,花坛锦簇,走了好久才到宴会厅。宴席是中西合璧的,服务员当场在炭盆烤出牛排,我们也第一次吃了海参、猴头这些名贵的中国菜,临别时他们给巧云送了一个景泰兰花瓶。

中国火车的速度比苏联快得多,一个昼夜就从北京到了长沙。走下车厢,一眼见到我的大侄子孙昌俊在车门前等着,还是鳗澧先把他认出来了,因为他与我的长相一模一样,只是个子高一点。昌俊是我小弟光海的大儿子,文革时一切讲阶级成分,黑五类的子弟无法上学,昌俊不得不跟他母亲孙继淑姓孙,因为他母亲的家庭成分好,外公还是生产队长。1968年我偷偷从新疆劳改工地逃回家,天天带他玩,那时他还只有四岁,聪明活泼,我十分喜欢他。过了二十年,他早就从西南交通大学起重机专业毕业,成了中国机车制造中心株州机车制造厂的工程师了。亲侄儿成才了,我多么高兴啊。昌俊陪我出站,妹夫唐天喜头天已从石门赶来,这时和一些亲友在车站出口处等着我们,高举着欢迎“雷光汉全家”的红布横幅,还放了鞭炮。

我们刚刚拥抱,就听见一个熟悉的声音:“光汉,光汉”地叫,回头一看,是刘玉兰和她的儿子、女儿,也坐同趟车出站了,他们是到湘潭探亲的。真奇怪,刘玉兰母子从塔拉斯动身比我们要早一个多月,是从新疆入境的。在北京大众旅社遇到过她们,便一直阴魂不散地跟着我,理由是要我给他们买到湖南的火车票。他们是外籍,也就是外国人,票价要贵一倍,我排了半天队,冒充为台胞,给他们买了国内价的三张车票,谁知也签到了这趟车。在北京时,我们都是别人还没有起床就早早离开了旅社,摆脱了她,现在又跟上来了。她还要同我去石门看望我的母亲,我婉言拒绝了。

出站后,我带着妻儿去看望我中学的老师张国柱先生。张先生是三十年代常德市有名的才子,全国会考他第一个交作文卷,监考官拿起他的文章,看着看着,忍不住就在考堂上高声朗诵了。抗战时考进西南联大经济系,毕业后投笔从戎,到我国驻印度的远征军当翻译,和美国人打交道。他的一笔颜体字,刚健森严,笔力万钧。每当国庆,新年,中学学校大门和高大的图书馆前面的对联都是他撰写和书写的。张先生性格严峻,但对我很亲近。晚饭后常带我在石门县城的公路上或学校后面的小山上散步,教给我许多哲学、文学、历史的知识。他学的是经济,给我们教历史,我报考北大历史系也是受了他的影响。我弟弟、侄儿昌俊,还有另外一个侄子和一个外甥女儿也跟他读过书,他教了我家两代人。自从1957年后,他便命运多乖,妻子也离他而去了。“文革”中还变成了国民党的残渣余孽,大会斗,小会批,派到澡堂里挑水。1985年他退休了,住在长沙是大女儿张小美家。我给他写过信,还寄了全家的照片。到了他家,他、我和小美都在,一见到老师已老态龙钟,一簇白胡子掛在胸前的模样,忍不住跪下去抱着他的双腿痛哭起来。他双手抱着我的头,不断说:“孩子,不要悲伤。你不是回来了吗?”还指着他桌子上玻璃板下我们全家的照片说:“孩子,我天天看着你的照片,天天想你,盼望活着的时候见你一面。”小美妹妹大名张平,我上中学时只有5岁,跟着爸爸生活。记得她一下幼儿园就跟在我身边哥哥,哥哥地叫,缠着我和她推乒乓球。这时,她已经成了湖南体委有名的乒乓球教练,国家还派她到非洲尼日利亚去当了两年教练,训练黑人乒乓运动员。她的命运也不好,丈夫离她而去,留下一个十来岁的女儿,也进了少年体校学打乒乓球。她刚领到了房子,还在装修。晚上巧云母女住在了她同事家,我陪着张老师谈了半夜,真是说不尽的人世沧桑。平妹也一晚没睡陪着我们。张老师睡觉了,我在客厅沙发上紧紧抱着年近四旬的当年的小妹妹。她的头紧伏在我胸脯,进入了一个三十年前的梦,彼此听着振动的脉搏,有尽长夜无尽心啊!天亮后,昌俊先去常德市通知我在那里上大学的二侄女霞玉。平妹把我们送上了去石门的长途汽车。不到三百公里的路,汽车走了一整个白天。妹夫唐天喜是小学校长,妹妹是教员,他们都是共产党员,住在离县城十几公里的小镇新关。

新关也是个出人才的地方,著名经史学者申悦庐,冯玉祥手下大将抗战时牺牲的龚神宗将军都是新关人。妹妹家盖了栋两层楼的新房,十分阔朗。外甥和外甥女都是水泥厂的工人,她的小儿子欣欣也四岁了。在新关住了两天,要到县城公安局办临时户口。石门县是非开放地区,巧云还要办外国人居留证。以前石门只有一条街,一伸腿就走完了,现在大不一样了,有四条大街,成井字形排着。街两边都是新建的高楼大厦,百货公司林立,任何一家的商品都要比莫斯科最大的百货公司的商品丰富。我们在一家商店给母亲买了鸭绒被,宁夏羊羔皮的大襟袄,鳗澧也买了家乡缝织的牛仔衫裤。小城里,消息传得很快,一上大街就听别人轻声相传:华侨华侨,雷光汉、雷光汉。我是石门县第一个考上北京大学的,1957年的大右派,1966年的大黑帮,还逃去了苏联,当然在家乡臭名远扬了。在一处街头小摊上吃甜酒,几位老人围了上来,一个老头还一下子认出了我。他是当年石门城唯一的合光照相馆摄影师,我常到那里照相。见了我他连叫“可惜可惜,当年上中学时,县城里的人都知道你是个天才。”

我们包了辆面包车回家,车经过我的母校九澧中学(后改名石门一中)的校门,我只是立正张望,不敢进母校大门,无颜见江东父老啊!车开到澧水边,澧水是我的母亲河,也是女儿的母亲河,我11岁就喝它的乳汁了。当年白帆相连,百舸争流,两岸都有大石块修筑的码头。现在上游修了三江口水电站,大坝下,河水变成了沙滩,行船的河道变成数不清的采砂工地。从县城到老家子良乡茅坪的公路是很窄窄的砂石路,开车得十分小心。我从这条路上走来走去几十回了,从小孩走到年轻人,从小学生走成了大右派,一路要翻过几道大山,路呈之字形升到山顶,再从岭脊切过,盘旋而下。以前山上都是茂密的原始森林,杂花生树,泉水清凉,鸟鸣啾啾,走路像观山玩景一样,也不觉得累。现在坐汽车到山上一看,把人都吓死了,树林全被砍伐一光,四十五度以上的有土的山坡都开出来种上了了庄稼。原来被树林遮掩着的悬崖峭壁全显露出来了。汽车距百丈深渊只有一米之遥,拐弯时巧云都吓得闭上双眼。我在山岭上请司机停下车,去寻找一处山泉,全干涸了,泉眼都找不着了。向远处望去,见到的也只是光山连着光山,秃岭连着秃岭,和山西北部的自然景观也没有什么两样。下山来,看到小溪,也没有水了,从前过河要坐渡船的大河也没有了。汽车涉河而过,扬起的是沙尘而不是水珠,真正做到了“旧貌换新颜”,家乡的好山水遭到天厌了。记得列车在西伯利亚大森林穿行时,车上有中国同胞说:“幸好毛主席没有领导苏联,如果让他来搞几次大跃进,西伯利亚的大森林也就一片光了。”

我们包的面包车坐着妹妹一家五口,我们一家三口,还有昌俊和另外来迎接我们的侄子。十几个人,浩浩荡荡回到了老家,祖父祖母和叔父都过世了,父辈一代只留下我母亲和一位婶婶。见到母亲,无尽的辛酸快把我的呼吸都咽着了。我们夫妻父女三人环着她跪下来用乡音“恩娘”呼唤她。她一一抚摸我们的头,先把鳗澧抱起来,再扶我们起来,嘴里喃喃地说:“不要哭,不要哭,远离的亲人见面时是不能哭的。”母亲75岁了,行走爽利,还可以做点针线活,头脑十分清楚。1996年我最后一次回乡探母时,她八十二岁了。乡亲们对我说:“大婆婆的头脑比邓小平还清楚。”母亲是大家闺秀,出生民国初年,知书不多而十分识礼。她十七岁嫁到我家,上敬公婆、祖父,下养儿孙,侍候了我雷家从曾祖父,祖父,父辈到我兄弟姐妹,再弟妹的儿孙上下六代人。在土改以来历次政治斗争汹涌时,在斗争会上,她处乱不惊,应对从容,民兵,贫下中农积极分子们在和她对谈中无空子可钻。父亲十年前病故了,“文革”中曾受尽折磨,捆绑着跪在木柴上挨斗。那时我三弟光湖和弟媳曾庆芳有胆量,他们夫妇在父亲身边一边一个一站,斗争会一下子就冷了:雷家有后人!才使父亲不致当场给打死。父亲被折磨得卧床不起,几年后含恨而逝,没来得及同他深爱的大儿子一家见面。我二弟雷光满和二弟媳是老农民,他们的孩子都极聪明,善于经商,弟兄姐妹四人在镇上开了四家大商店,把全乡的衣食住行全包下来了。大侄女雷明霞是全乡首富。三弟光湖原是教员,“文革”结束后可以出口气了,他却投笔离校,回家种了地。他的两个孩子有出息,都上大学了。小弟雷光海在教中学,他的大儿子就是昌俊,老二新春在保险公司工作,老三辉春在读职高。我妹妹光翠和别的几个兄弟不一样,跟着妹夫入了党,是个马列主义老太婆!开口便是大道理。不过她工作也出色,高级教师,地区先进。和其他兄弟相比较,她跟党跟得紧也吃亏最大,因为雷家后代性子还是耿直的。她三个孩子只剩下一个,不久前昌俊写信告诉我:她儿子媳妇双双下岗失业了,一家人全靠她和妹夫老两口的养老金过日子。

回家后稍事休息,就去给祖父母,父亲和叔父母上坟。我祖母和三叔是饿死的,父亲是被斗死的,春风吹又生,又有那么多后人给他们上坟了。有的乡亲指着说:“还是大家(指以前的地主富农)的子孙昌盛。”有个土改中当过中共乡书记的老贫农,把女儿嫁给了一个大地主的孙子,又让儿子娶了我的大侄女。他说:“他们的孩子聪明,有出息。”

绕行两万公里,途径三国,历时一个月,我们终于回到了老家湖南石门水田村,月团圆,人团圆。感谢邓小平的农村改革,人民公社解散了,乡亲们都能丰衣足食了。年轻人外出打工,做生意,能赚钱。家家盖新房,三弟新盖的房子还是漂亮的二层洋楼,瓷砖一铺到顶,大阳台。请木匠在家里打制了全套西式家具。南方风景如画,是老天爷的恩赐,是哪个皇帝也毁灭不了的。时令到了深秋,还是温暖如春,田野上青翠一片,田间花树上鲜花盛开。小桥、流水、山岗,红叶,炊烟缕缕,荷叶田田,把游子的心都给灌醉了。我们归来几天里一家二十几口人都聚到了母亲身边。月圆的晚上,三弟兄三家在院子里围着母亲坐着赏月团圆,笑语悲声,说不尽诉不完的悲欢离合;劫后余生,感叹不完的人世沧桑。月光如水,群星灿烂,还有人造卫星缓缓从天空划过。小侄孙指着说:“我们中国的卫星。”我欣赏过东欧平原上的星空,更多的是在中亚高原上对月思乡,我发现家乡的星空是最清晰,最辉煌,还是鳗澧首先发现了这个特点。大概是湘西土家山区还没有工业污染的缘故。家对面原来是一片樟树,风吹起,把桂花和樟叶新的辣香带到四面八方,现在砍光了,只剩下一些杂树。二弟叹息着对我说:“现在就是封山育林,也育不出樟树、落叶松、青杠木、杉树这些好材了,它们都断了种。”

在那些天,母亲特别精神,盖上我们带回的驼绒被和鸭绒被,十多年来睡觉时再没有寒意。她请大侄女给鳗澧缝了在苏联也没有见到的摩登衣服。大侄女小时学裁缝,手艺高,以后开了大服装店。苏联政府给我们的外汇有限,我们没有多少钱交给母亲。那时也正是台胞老兵返乡探亲的高潮,我们家乡去台湾的人极多,我亲戚中就有好几位,都是1948年向军次将军带走的,现在他们腰缠万贯返乡了。亲属中有台胞,是别人羡慕的对象。我亲戚中一位老姨娘说:“共产党叫了几十年一定要解放台湾,也没解放得了,反过来把大陆的民心都带过海那边了。”有邻居问母亲:“台湾亲戚回来都带回了那么多钱,你儿子从外国回来了,给你带回的钞票还要多吧?”我母亲大笑回答:“我儿子没有给我带多少钱,给我带回了儿媳妇,人见人爱的孙女儿,是一百万美元也买不到的。”母亲深明大义,思维敏捷,应对机智,即使在那些灾难的年月,也没有让她出身于名门望族的大家闺秀褪色。大侄婿出身老党员之家,是镇上的治安委员,他私下给我打招呼,上级通知了:要对你们严密监视。回到老家了也还是没有自由,我深知这一点,在家乡的日子里,我们日夜和母亲在一起,谁家也没有去。外客来了,我只是借酒装疯,识相一些的,便走掉了。

我们全家三口又坐火车到广州,找不到便宜的宾馆,在火车站遇到几位新疆维吾尔人,和他们攀老乡,他们把我们送到了三元里华侨宾馆住下。三元里是鸦片战争时人民自发组织的平英团抗击侵略的地方,现在成了市区了。街上遇到很多维族老乡,是省港走私的敢死队。我们游览广州市容,从高架路的汽车向下望去,见到的全是黑黑的一片人头,吓死人了。到餐馆吃饭看到餐馆外面剥了皮的狗,餐厅玻璃盒子里养的活蛇,吓得巧云和鳗澧都不敢问津餐馆了。我们去了中山市,瞻仰国父中山先生的故居,游人很多,人人毕恭毕敬,有如宗教信徒般的虔诚。细雨濛濛中,国父纪念馆外的荷塘里荷花摇曳,几枝白色的睡莲冰清玉洁。巧云把国母孙夫人宋庆龄女士比成荷花仙子,出污泥而不染,出清莲而不妖,公道自在人心。

广州的商品五光十色,可都不经用,巧云穿上刚买的旅游鞋,还没走出路旁公园就掉了鞋底,找了根电线绑着回到旅社。我们再也不敢购物了。坐旅游车去珠海玩了两天。鳗澧要看中国的大海,实现她婴儿时代便有的梦想。站在修建得很整齐的海岸上向南海望去,涛身轰鸣,波涛汹涌,大海一望无际,澳门的高楼大厦也隐约可见。东面是英据香港,西面是葡据澳门,把珠江的出海口全封锁了。我们中国人要发展,可得要冲破大海封锁。碰上了雨天,珠海大街上行人稀少,我们只去了石景山游乐园。到旅社住了一夜。打开电视机,全是广东话,听不懂。坐游船紧靠着澳门海岸游览,远远望见了赌城葡京大酒店,在林立的高楼里很不起眼。船从连接澳门和海岛的斜拉大桥下驶过。大桥很有气魄。

回广州上旅游车时我们被骗子骗去了五百美元,这对我们来说是一笔巨款了。事情是:两个年青人找我们换美元,成交后给了我们一个大信封,到车上一看,里面都是报纸,一下如五雷轰顶,巧云和鳗澧都哭了。向当地公安派出所报了案,以后又给广东省公安厅写了书面报告,却都石沉大海没有回音。我们第一次回国,在母亲的怀抱里,相信每一个同胞,也相信政府,却遇到了多次上当。金庸先生在《碧血剑》里描述的明末旅居勃泥国的华侨张朝唐回国后碰上的事,几百年以后又给我们碰上了。可怜的华侨啊!以后,受骗阴影一直笼罩在我们三人心头,逢到喜事也高兴不起来。

回到长沙,住在堂弟雷光洲和堂弟媳姚丽君家,他们一家招待我们像亲兄弟。丽君给我当弟婶子,还是我做的媒。记得是1968年,我偷跑回长沙,住在北大老同学王家,遇到了美丽大方的丽君,就介绍给光洲了。他们生活得美满极了,两个小侄子冬子和雷鹏正在上初中和高中,字写得像书法家,读书也多,小小年纪,看事情都很有见地。丽君后来患子宫癌开刀,不知是否还活在人世?我非常想念他们一家。

到长沙后,石家庄的堂兄雷光照来接我们了。我把妻子送到石家庄,又南下老家和母亲弟妹们一起过春节。我没有再走长沙,是从新修的枝柳铁路到石门的。几年后从石门到长沙的铁路也修通了,是北煤南运的干线。半世纪来,我很少在家里过春节,这次是第四次,也是四十年后的第一次。春节里,别人家是欢乐,我们家是忍着痛苦。两年前,外甥女和最小的侄女投河自杀,叫全家老小再也无心享受节日的欢乐。她们都是当年中国严酷考试制度的牺牲品。我们湘西土家人极重上学,升学也是脱离贫困山区的唯一通道。外甥女成绩优异,高考时只考上了邵阳纺织专科学校,没有考进重点大学,愤而投江。小侄女也是在一门功课考试不及格后投江。自此以后,我们家再不过节,大年不放鞭炮,家里不放音乐。

改革开放后,旧时的的各种风俗都重新恢复,新娘出嫁要坐花轿,带嫁妆,讲究四箱四柜。二弟的二姑娘要在正月出嫁,打了全套新木器嫁妆。他的房子建在山坡平台上,高出大路一百多米。大年初一一大早他就在自家门前修简易公路,好让汽车能开到家门前,把嫁妆拉走。新年期间,来来往往拜年的人结成一组一队,都穿得好,骑着自行车,也有骑摩托车的,我看到的靠两条腿走路外出的人只有我和二弟了。在老家住了几天,我们就动身去广州旅游,要把在苏联买的火车联运票全用掉。我返回妹妹家是二侄子请区委书记的吉普车送的,尽管农民干活时不少人还是背背篓、挑箩筐,家乡的区、乡级父母官都坐起小汽车来了。自己不会开车,都有专门的司机。中共乡党委书记的坐车竟是高级奔驰车。回程走另外一条公路,经过石门县原来一些最富裕的地方,现在都成了荒山秃岭混水河。不管哪一座小镇,见到的都是人群拥挤,万头攒动。人口庞大,生态破坏,是我国两个大灾难。中华民族为五,六十年代的愚蠢政策要含辛茹苦几个世纪。刚到妹夫家坐下来,还没有吃午饭,他一位当乡党委书记的侄女婿就坐着小汽车来看望我们,一口一个舅舅叫得十分亲热。吃完饭,县长和县政府秘书长的大驾来到妹夫家,在小镇新关真轰动了一镇的人,他们的消息真灵通。县长送给我们一匹仿制唐三彩马和一个黑釉陶花瓶,做工精美。县长还请我第二天去和县政府的干部座谈,讲讲苏联形势,这倒是我愿意做的。他还说刚去深圳考察过,还到了沙头角中英街。我心里发笑了,你在吹牛。只在一个多小时前,妹夫的侄女婿就告诉我。一个月前全石门县的乡长和乡党委书记组成一个大考察团,由县长领队去深圳考察。到沙头角去是要公安局特别签证的,乡长们和书记们都领取了签证,县长以为县太爷所向无阻,不屑签证,结果是大家都逛了中英街,只有他没让进去。

第二天一大早,秘书长带着小汽车来接我。到了县政府三楼会议室,见到桌子上摆着糖果,香蕉,桔子和香烟,却只有两个人坐在那里,我心里又明白了。年长的自我介绍他是省安全厅的官员,年青的是他的秘书,姓邹,听口音是桃源人。邹先生文质彬彬,很有学识,倒很像苏联的KGB官员。问了我一天话,全是我在苏联的经历,他们要研究个究竟,看我到底是不是给KGB干活的,是不是危及国家安全。大概是在湖南,地处中国腹地,在当时对海外归来者都有戒心。我的回答还是得体的:“谢谢您们没有把我当外人,直接亮出了安全厅,你们是保卫国家安全的,我是中国公民,你们保卫祖国就是保卫我。”他们听着很入耳,很舒服。湖南是毛主席的家乡,当然比别的省都要来得革命,其时中共湖南省委书记是毛致用,老百姓叫他“冒得用”。改革开放之始,湖南特别保守,不开放的县比哪个省都多,经济文化都比邻省发展得慢,“冒得用”在阻挡湖南发展这一点上是大有用的。五十年代以前湖南比姐妹省的湖北要进步半个世纪,清末考举人,民国时代考公立大学,在湖南考不上的人都入籍湖北,一考就考中了。湖北的录取分数线比湖南低得多,考生也没有湖南的多。湖北的姑娘也喜欢嫁来湖南。现在全反过来了,不管是经济还是文化,湖北都要高出湖南许多,只有安全部门在湖南比别的省都要得势。家乡还有一个传说:邓小平掌政之始,舆论对毛泽东大有微词,毛致用着急了,率领中共湖南省委代表团到北京,对邓小平说:“你们不要毛主席了,请把他的棺材给我们,我们运到他家乡去。”给邓小平骂回来了。

大年初四,我再去石家庄,在火车上遇到中学同学岳志明。三十多年不见面,两人都成了老头子,交谈后才彼此认了出来。他对石门的掌故很熟悉,我们挤在硬座车厢谈了一个通宵,使我知道了许多沧桑中活过来的老同学的下落。岳在中央地质研究所当高级工程师,哥哥到台湾去了,文革中每逢牛鬼蛇神挂黑牌游街都有他。现在待遇好了,成了台属了。他们的研究所设在河北涿州。我们从北京出发返回苏联时,他还远道赶到北京火车站给我们送行。

堂兄雷光照毕业于吉林大学中文系,老编辑,其时在主编《河北出版志》丛书。永淑是我小学和初中的同学,1950年参军入张家口军医学校上学,毕业后一直在石家庄白求恩国际和平医院当医生,是我国老年病的著名专家。我和永淑一起长大,自小亲如姐弟。他们生了两个女儿,现在都结婚生孩子了,丈夫也都是军官。大侄婿李江海是教导员,刚从中越边界战斗的老山前线归来,慰问团送了他一瓶茅台酒,他放着等我回国后喝。江海带我们去河北正定游览了大佛寺和新建的荣国府,汽车从滹沱河大桥驶过,看到这条河已经滴水全无了。而孙犁在他的《风云初记》里描写的滹沱河风光还是岸边垂柳,河上渔船。在大佛寺遇到了一群河北大学历史系学生来这里实习。他们知道我是三十年前毕业于北京大学历史系的同行后,都围上来与我攀谈。我羡慕我国开放改革以后的年青大学生们,他们思想没有禁锢,行动没有禁锢,一个个充满朝气,襟怀开朗。从他们身上,我看到祖国未来的希望。

第一次回到祖国母亲的怀抱,长达4个月,是所有回国探亲的华人华侨中在国内时间最长的。我每到一地都在观察,都在思考,见到的、听到的不如意之处很多,特别是生态破坏,人口庞大,官员贪污腐化,居民道德水平下降,令人伤心。但是,最使我感触深的不是这些,而是全国民众的蓬勃活力,全国人朝气蓬勃,不管是谁都在想挣钱,走到外面打天下。年青人对未来都有信心,一个个都面朝未来,不管未来带给他的是祸还是福。这是一种进取,扩展的精神。而在苏联,当时大众是今是今日有酒今日醉,年青人沉溺于谈情说爱,迪斯科,歌舞厅,谁有了一盒西方走红歌手的磁带就引以为最大的幸福和骄傲。他们不敢想未来,也不愿想未来。我的同胞敢于面对未来,也就会有光明的未来。比较之下,苏联是没有未来了。

永淑姐那时担任白求恩国际和平医院内5科,也就是高干科的主任。他管的人都是省厅级和军师级的大人物。大官们金钱唾手可得,什么都不缺乏,唯一自己不能做主的就是健康,得要求医生。除夕之夜,医生和护士都回家过年,光照哥陪嫂子一个人去病房值班,偌大的三层大楼,上百个高干病人,只她一个医生值班。嫂子已出版了一本老人病专著,又写好了第二本,光照在给她校对。

过年后光照兄送我们到北京,一住进大众旅社,就在留言板上看到了我大学好友庞卓恒兄的夫人李国常的留言,她已住在大众旅社等我。我上大学时有两个好朋友。一个是沈元,一个就是庞卓恒。沈元在前面已经谈过了,庞卓恒比我高一级,是54级的的党支部书记。1957年大鸣大放时,他写大字报,声称要写几部著作《反反杜林论》《哲学批判之批判》《资本论批判》,批判对象直指马克思、恩格斯。他二人和我一起,一下子都成了极右分子,三人都发配到京西斋堂劳改。国常姐也在那年当了右派。卓恒大学毕业时,天津师范大学要北大分配一个能直接教世界中世纪史的教员,历史系总支在当年毕业生中找来找去,实在没有第二人,才把卓恒派去了。他有才华又精通英,俄文,讲课受到学生欢迎。1963年他和国常姐两个人摘掉了右派帽子,在西安结婚,我是去参加他们的婚礼唯一亲友。邓小平执政后,卓恒受到了重用,重新入了党,当上大学正教授,还送去英国进修一年,是中国研究比较历史学最有成就的学者。

国常姐接我们到天津住了两天。她女儿住医院,女婿陪巧云母女逛街。我则是足不出户和卓恒长谈了两天一夜。我对社会主义世界已完全绝望,他却又变成马克思主义者了。

在北京呆的最后一天上午,郝先生和陈大姐又在全聚德再次设烤鸭宴欢送我们,并说美国总统尼克松访华时,周恩来陪他也是在这家餐厅吃烤鸭的,我真的是受宠若惊了。我是空前也绝后地在全聚德吃烤鸭,只觉美味无比,亲情如醇,不管出于何种原因,他们招待我们是真诚而热情的,我们在祖国怀抱里得到了温暖。从全聚德出来,带女儿参观中国历史博物馆,遇到了一位在博物馆工作的北大历史系老同学。他马上电话通知,立刻55级56级留在北京的二十几个同学都来了,小聚了一个多小时。馆长是原来教我们考古通论的助教,也屈尊降贵的参加了。十多年后老同学聚会,大家都历尽沧桑,算了算,有十一位在文革中给整死了,他们还说:“你的故事可写小说了,几年前北京公安局派人一个个通知我们,说你逃到苏联后当了KGB派到中国来了,见到你以后,要马上通知当局。”晚上,几位没有参加集会的同学也到大众旅社来与我见面。

在祖国的怀抱里我们生活了四个月,直到联营火车票有效期的最后一天才告别祖国,改道从中长路经满洲里出境。边界一侧,中国正在修国门。以前在中苏国界上是不不修国门的,修国门等于承认了苏联强占中国大片领土的现实。现在修国门了,意味着中国最高领导人不准备收回失地了,而我却为了这些失地被划成了敌人,遭受了几十年的苦难,真是情何以堪!

国门前高高的岗哨位上,一个年青的中尉在站岗,在寒风中迎风挺立,双目似冰刃,我在火车上向他鞠躬,可爱的祖国保卫者!满洲里景象繁荣,气氛温暖。一进入俄罗斯就全变了“拿着冲锋枪,牵着大狼狗的士兵,二百米一岗,五十米一哨,对着国际列车如临大敌。许多日本和西方旅游者都把国界两边鲜明的对比摄入镜头,中苏对比颠倒过来了。

风波:又一个难以愈合的伤口

1989年三八妇女节,我们返回苏联。从伊尔库茨克乘火车西行,到新西伯利亚后再从土西铁路南下到哈萨克斯坦。在伊尔库茨克时还是漫天风雪,气温零下三十度的严冬,回到塔拉斯,已经春暖花开了。

戈尔巴乔夫的政治改革开始后,冰冻的苏维埃专制制度完全解冻。但我们老百姓感觉到的只是商品一天比一天缺乏,买食物,大米和面粉都得用票,有两个星期整个城市完全买不到烟。银行的存款取不出来了,工人的工资也不能按时发放,即使领到手,也不是钞票而是钱票。钱还能发票吗?苏联出现过了,好像民国初年中国也有过。在一张大纸上,印成许多小格,按数额如十,二十五,十五卢布排成一排排,一张纸的总额是五百卢布,当工资或银行存款发给。到商店买货,花去多少钱,售货员便在钱票上把相应的数目剪下来。趣闻百出,天怒人怨。政治上是自由了,特别是有了绝对的言论自由。KGB的人都灰溜溜的,工厂里的那些暗探们似乎都不见了。每到星期日,公园里,电影院,都有一群群的哈萨克男女打着旗发着宣传单,发表讲演,但都是说哈语,我听不懂,也不关心。人们有了自由,却离民主越走越远,当官的都在捞钱,老百姓敢言,却找不到地方去言。除了捞钱外,官员们什么事都不管了,在苏联的土地上,一时竟出现了几十个共和国,几十个总统。戈尔巴乔夫对美国顾问的话言听计从,美国人教他实现总统制,他就当了总统。接着,原来的自治州都自己升级为共和国,加上原来的加盟共和国自治共和国第一头头,都称总统。一个国家出现了数不清的总统,不乱才怪。阿尔明尼亚和阿塞尔拜疆两个共和国开始打仗,从电视上看到,敌对的双方穿的军服用的武器一模一样,自己打自己。大概各自军队的指挥官也都是俄罗斯人。

在中国,政治改革却走向了另一个极端,刚开始便遇到了封杀。炎黄子孙世代不能忘记的“风波”在我们离开祖国三个月后发生了!我们离开北京时,老同学聚会,就听见有人说有几十位名流学者联名上书党中央,要求释放民主人士魏京生,冰心也签了名。又隐隐觉得有些不对劲,李鹏当了总理,他是周恩来的养子,是邓颖超一手扶进政治局的,周恩来的后人还能不为中华民族做好事吗?我订了中国报纸《人民日报》《光明日报》和《中国青年报》,看到了一些言论自由的迹象,特别是《中国青年报》,敢于讲话,心里也受到鼓舞。四月,胡耀邦去世,二十世纪中国历史上继五四之后最伟大的一次学生运动爆发了,我的母校北京大学又是这次伟大的学生运动的发源地,学生领袖王丹还是我历史系同班女同学王凝云的儿子。凝云年纪比我大,山东人,像个乡下来的腼腆大姐,开会时一言不发,什么时候都似乎有种自卑感笼罩在心头。如此老实的女学者生了个如此生龙活虎的学生运动先锋,那时的确谁也没想到,就象谁也没有想到我们见了他面就像老鼠遇到猫一样害怕的党支部书记郭罗基,在“风波”以后也反戈相击,成了民运先锋。他们两人先后都给放逐到美国了,又都在哈佛大学。郭当研究员,王丹做硕士研究生。

关于北京学运,苏联电视也每天都有报道。看到听到天安门广场呼声如潮,大街上游行队伍浪涛汹涌,我的心飞回了祖国,飞向了广场,真想成为队伍中的一员。对中国的民主前途,我充满了希望。后来看到报纸上登的,李鹏和学生代表的对话,看到图片中游行市民打着“世间从无此政府,人人动情它无情”的横幅,开始丧气了。五月下旬,收音机传来了李鹏和杨尚昆宣布北京戒严的讲话,我对学运前途更彻底灰心了。我知道中共对付自己老百姓是从来不手软的,何况李鹏是周恩来的接班人。邓小平指挥淮海战役,百万雄狮过大江,西南战役和大西南剿匪战役,在中国人互相残杀的内斗中,从来没有眨过眼。电视上又看到赵紫阳慰问绝食学生,含着泪向绝食学生鞠躬,有话难言,更叫人伤心。六月三日下午,我收听中央台新闻联播,头条新闻便是北京市政府布告,要老百姓在家里呆着,不要上街,碰上了事不要围观。我的心又流血了,知道共产党要向老百姓开刀了。这一晚我通宵没睡,打开收音机寻找播送北京消息的电波。午夜两点,“自由欧洲电台”的俄语广播首先报导解放军向学生开枪了,坦克冲向天安门广场的学生,先说死了八人,一会儿升到十二人,一会儿升到几十人,几百人,后来变成了几千人的天文数字,感到这个电台胡说。接着是梵蒂冈电台的俄语广播,死人数字大得不得了。天亮后传来了北京国际广播电台播音员低沉的声音:“军队向民众开枪,许多人死去了,其中就有我的朋友。”在电视新闻中我们看到了坦克压向老百姓,牺牲者的腿还在坦克履带外面的画面。也看到了群众徒手阻拦军车,一个女孩子爬上车头,阻挡军车前进的画面。我的心给击得粉碎了。天安门广场从来就是学生聚会的地方,是中国历次学生运动的大舞台。五四运动没有死一个学生,一二九运动没有死一个学生,反饥饿反内战也没有死一个学生,三一八运动才死三个人。北洋军阀不敢干的,国民政府不愿干的,世界上别的国家政府也没有干的屠杀学生、屠杀市民、屠杀自己和平请愿的同胞,中国共产党硬是给干出来了。第二天是星期天,我通宵未眠,也通宵流泪双眼未乾,为我的多灾多难的祖国,为我的祖国多灾多难的民主前途而痛哭。不过,我也想到振奋起来的国人民气是扑灭不了的,时代究竟到了二十世纪末期,慈禧太后在戊戌政变时对付的只有一个光绪皇帝,而现在中国一下子冒出胡耀邦和赵紫阳两个光绪皇帝了,还有数不清的康有为和梁启超。如同抗日战争之初上海八百壮士死守四行仓库,人民献给他们的歌我童稚时就学会了的,它那样唱着:“中国不会亡,中国不会亡,请看民族英雄谢团长”,现在我也要唱:“中国会民主,中国会民主,请看赵与胡,天安门前血如注。”

清早,我打电话给柳松寿夫妇,他妻子玛莎回话:“我们都是中国人,我们要抗议。”我立即去了柳家,他们又用电话叫来了李广讳和郑凡鲁,大家商议写抗议书寄到驻莫斯科中国大使馆,抗议镇压学生运动。我写好了抗议书,李广讳拿去请朱剑南签了字。郑凡鲁开着自己的车到了几家中国人家里,大家都签了字,有的人还流了泪。我把抗议信发出去了。两天后,李广讳和郑凡鲁却反悔了,也许是本地当局有人给他们出了主意。写抗议书得罪了大使馆,得罪了中国政府,以后还能够回中国吗?回中国探亲,带些中国商品来本地出售,可是一大财路。郑凡鲁开着车和李广讳一起,又一家家找中国人再写揭发信,柳松寿执笔,信上写道此次抗议是雷光汉一手策划的,大家上了他的当,“受蒙蔽无罪,反戈一击有功。”在揭发信上签字的比抗议信上签字的人还多。我无力阻止,无法辩驳,只觉得我们中国人太有些那个,到了国外也改变不了,我是不会认错的。不久一位华人朋友到大使馆办签证,领事主任贾士敏对他说:“大家都认错了,雷光汉为什么那样顽固,还不认错。”我心想,你们杀人无罪,我抗议杀人有何错可认?我托这位朋友给贾主任带了个口信:“我是不认错的。请大使馆也不要开除我的中国国籍。”我和今年诺贝尔文学奖的得主高行健不一样,他跑到法国后可以退党,退出中国国籍变成法国人,发誓在中国政治没有改变前永远不回中国。我认为我永远是中国人,是中国公民,不管哪一个政府在台上。杨增新将军不是说过吗?“就是婊子坐北京我也服从他。”当然我不是杨将军,不是镇守土地的一方诸侯,更用不着服从谁。发生这件事后,苏联一名州KGB官员召见我,想从我身上讨点便宜。我只说了一句:“我们中国人自己的事,不用你管。”

这年夏天。联合国气象组织在塔拉斯举行国际气象竞赛,有中美等十几个国家参加,我国派了一个九人代表团,我在公共汽车上认识了他们,还在家里设宴款待了他们。领导人是位风度翩翩的气象学教授和一位豪爽的东北汉子,团员中有我的湖南老乡周纪和、北大气象专业毕业的老同学黄炳勋,他们都是有识见,为人正直的知识分子。在塔拉斯工作了整整一个月,我和他们成了好朋友。对风波之事,他们从不表态,也不反驳我的愤怨,只是劝我回国后不要谈这些,把嘴巴放稳一些。竞赛结果是他们名列前茅。他们回国时,带来的装气象仪器的集装箱海关免检,我拿了八根羚羊角托周纪和带回国,对下次回国的旅费便不无小补了。

第二次回国

苏联在大变,政局不稳,经济破产,社会主义大家庭散伙指日可待。谁知道以后变得什么样子,也许天下一乱,我就再也回不了国了,还是趁机多回几趟中国吧。政府有规定,中国人一年可以探亲两次。于是,我们在回来一年后,1990年,又申请到了回国探亲的签证,把78岁高龄的老岳父也带上了,他离开中国已经23年。这次回去每个人只能换两百美元的外汇,卢布大贬值十三倍多,由61戈比换一美元变成8卢布换一美元。

我们先到莫斯科中国大使馆给岳父和巧云签证,再去列宁格勒,即今天的圣彼得堡旅游。进大使馆门时,想到我对“六四”的立场,我的心还是不无惴惴,但见到卢忠诚领事,他的态度仍然与五年前在塔拉斯探侨时一样亲切,送给我们正在莫斯科举行的中国商品展览会入场券。听到我们要旅行列宁格勒,主动把我国驻列宁格勒总领事馆的地址和电话写给了我们,还打电话请领事馆照顾我们。我们先在莫斯科国际博览会参观中国商品展览,品种繁多、花色新奇的中国商品摆满了几个大厅,特别是各种正在播放的彩电,图像清晰,色彩鲜艳,是苏联没有见过的。知道是华侨来参观,工作人员上来和我们拉话,问长问短,还用国产点心和干果招待我们。参观的苏联人很多,面对中国商品,都啧啧称赞不已。

晚上我们去玛雅可夫斯基广场见世面,那里是莫斯科民主运动的中心。从地铁站出来,只见广场上东一堆,西一堆挤着几十堆人群,在激烈地辩论。每个人堆里都打着一条横幅,上面写着诸如社会民主工党,俄罗斯基督教民主党,工人党,还有穷人党,绿党之类的大字。一个人站在凳子上发表演说,宣布党纲,旁边桌子上有女人在登记报名入党者的姓名,雨后春笋般出现的新政党正在招兵买马。奇怪的是在俄罗斯联邦向苏联索回主权自己独立后,在总统大选和议会选举中都没有见过这些政党的名字,急就章式组成的民运组织是没有生命力的。更奇怪的是,在苏维埃岁月里和专制政权进行了艰苦卓绝斗争的萨哈罗夫和苏热列茨的拥护者们,《祖国记事》的记者和编辑们,当真正的民主运动到来时,又不知都跑到哪里去了?我听了一次辩论。一个胸前掛满勋章的老头子问站在凳子上的某政党年青头头:“年轻人,如果你们党1941年在苏联执政,希特勒向苏联进攻时,你们怎么办?”年青头头回答得幽默而机智:“如果我们政党当时在俄罗斯执政,就不会发生希特勒进攻苏联的战争了。”广场上五光十色,有的吉普赛人在给人算命,有的人在兜售圣经和以前的禁书。还有一个青年散发《外星人给苏联人的信》,人们一拥而上抢光了,我没有抢到手。大概民主运动是要长年累月的积累,是对人民大众不懈的启发和教育,这种一哄而上,闻风而起,是搞不出真正的民主政治的。

我们乘高速火车去圣彼得堡,火车头是流线型的,像喷气式飞机一样,每小时时速二百多公里,普通客车一个晚上的行程两个多小时就完成了。圣彼得堡的地下铁道也十分完整,我们坐地铁到华西列夫岛出站,我国领事馆在车站附近。领事馆在一栋三层楼上,门前也有警察站岗。我们出示护照,岗警摆了摆手说:“用不着看护照,太不漂亮了。”接待我们的领事名叫马宝山,山东人,和巧云同乡,对我们格外亲热。当时几乎没有住在圣彼得堡的老华侨,因为苏联政府一向不允许中国人在莫斯科和列宁格勒两市落户。马领事当场给巧云和岳父的护照办了到中国探亲的入境签证。又打电话到建筑学院集体宿舍管理处,给我们订了一间宿舍。6月份,大学生放假了,学生宿舍改作旅社用,苏联人也知道赚外快了。

其时的圣彼得堡正是白夜,二十四小时天都亮着。太阳高悬天空,只半夜两个小时隐入地平线。每栋房子的窗户上都罩着黑色金丝绒的大窗帘,不然没法睡觉。吃食很简单,只有大黑面包、香肠、煎鱼和鸡蛋,看不到有蔬菜卖。圣彼得堡是彼得大帝打败瑞典人后在芬兰湾的港口建立起来的一座海上城市,有一百多个岛屿,湼瓦河从市中间流过。岛和岛之间用形态各异的大石桥连接起来,后来又建成了地铁。它是欧洲最美丽的城市之一,可以与巴黎媲美。因为文化悠久,到处都是博物馆,名人纪念地。街道是十分宽阔平整的林荫大道,街心公园鲜花盛开,喷泉日夜不间息地喷水。彼得堡人十分文明,向他们问路都能得到有礼貌也周到的回答,不像莫斯科人行色匆匆,对外地人理也不理。在圣彼得堡旅游的第一个项目是乘气垫船游览芬兰湾。从冬宫前的码头上上船,船底和水面不接触。像飞机一样用喷气推动,平稳而速度快。湼瓦河十分宽阔,是河道也是海港。河上有几座大铁桥,自动开合,晚上大桥分开,远洋轮船可以从波罗的海迳直驶进港湾。游船开进大海,从船顶平台上回望,一处处绿色小岛,白色的高楼,灰色的工厂大烟囱,隐现在绿树林中。往前看,一条条远洋轮船有的在行使、有的在海面上停泊,好一幅壮观的海港风景。游船直开到离芬兰海岸线不远的地方才折回来。在芬兰湾航行,就象文章上常写的那样,令我思绪万千。彼得大帝一登基就认识了海洋对一个国家的无比重要,他以沙皇之尊去海上强国荷兰当学徒,学的便是征服海洋的本事。他打败瑞典,使内陆国家的俄罗斯寻到了出海口。俄罗斯帝国两百多年西夺东侵,把波罗的海,黑海,北冰洋,太平洋和内陆的里海都抢过来了,成了海洋大国。但在同一个时代,我们的康熙大帝,乾隆皇帝们忙的却是在天坛祭天,社稷坛祭地,先农坛种庄稼,在沿海实行海禁,他们忘记了海洋,给中国带来的是百年受辱和国土被侵占。毛泽东和周恩来也不敢正视海洋。几十年沾沾自喜的是小米加步枪武装起来的解放军打败了敌人的百万大军,结果连自己的岛屿都守不住,叫无条件投降了的日本占走了钓鱼台群岛,叫越南菲律宾这些小国瓜分了南沙群岛。我的同胞们啊,中国要富强的第一道手续是成为海洋强国。在返回的路途中,我们登上了永远停泊在湼瓦河边的阿芙乐尔巡洋舰。毛泽东说:“十月革命一声炮响,给我们送来了马克思列宁主义。”这声炮就是阿芙乐尔巡洋舰上的水兵向冬宫发射的。巡洋舰不大,也真不明白,为什么几炮便把克伦斯基政府轰垮了。舰上的游人不多,我们把两层全看遍了。看着看着,脑子里又出现了一则笑话:

一群士兵聚在一起争论:“什么是世界上威力最强大的武器?”有的说是原子弹,有的说是氢弹,正争论不休的时候。一个士兵说:“世界上最强大的武器是阿芙乐尔巡洋舰上的大炮。”别人问他原因,他说:“巡洋舰上的大炮一声响,使全世界混乱了70年。”

我们花大半天的时间坐旅游车游览了圣彼得堡市整个旧城区。旧城是十月革命前俄罗斯帝国留下的遗产,多贵族官邸,大都三层,每栋建筑就是一座博物馆。结净如玉的大理石墙面,上面有精美的浮雕。门厅里雕刻了各种人物动物,大街上随处可见各种气势不凡的铜像,有骑马的沙皇,挥刀的将军,沉思的诗人,当然更多的是列宁铜像。

女导游像个历史家,给我们讲述的不止是关于名胜古迹,也谈到了斯大林时代列宁格勒悲惨历史。一开讲,她就说:“十月革命后,斯大林和基洛夫把上百万的圣彼得堡知识分子枪毙了,或者流放到了西伯利亚。苏德战争时德军围城两年,一半市民饿死了。”车在湼瓦河上一座大石桥头停下,她指着河滩告诉旅游者,此地原来是一个工厂,杀人的工厂,世界上第一个杀人工厂不是希特勒建造的而是斯大林发明的。从苏联各地各民族抓来的知识分子在这个工厂里屠杀了两百万。机器把人肉和骨头制成肥料,血水就放进河水中。到市共青团团委会办公楼前,她指着那栋非常漂亮的白色大理石建筑告诉我们:“这栋漂亮的大理石白楼是原俄罗斯帝国最有名的贵族女子学校,公主和郡主们,全俄各地的名门淑女都送来上学。俄罗斯不少名女演员,芭蕾舞表演家和女作家是从这里毕业的。十月革命炮声一响,红军占领了学校,士兵们把所有的学生都强奸后杀死了。共产主义青年团建立后,这里成了它的市委办公大楼。”车上旅客都是苏联国内居民,绝大部分人也是第一次听到此种骇人听闻的历史,大家都表情沉痛,没有一个人提出异议。

最后参观圣彼得堡最有名的伊萨克东正教大教堂。教堂斜对面是海军部大楼,十月革命时列宁在这里建立了第一个布尔什维克指挥部。大楼前,花园广场里有一队外国孩子正在表演,乐队奏着基督教圣乐,孩子们一边唱圣诗一边跳舞,来自挪威,是来传教的。以后每次经过这里,都看到类似的外国人表演。苏联大门打开了,西方人最早来灌输的除政治思想外,便是宗教。在大学学世界中世纪史,齐思和教授讲课说,西方教堂建筑大抵庄严肃静,俄罗斯受东方文化的影响,东正教教堂富丽堂皇。大教堂是罗马式的建筑,金色的圆顶在不落的白夜阳光照耀下闪闪发光。教堂的大厅真大,墙上全是雕塑和浮雕。圆顶上是大幅壁画,金碧辉煌,灿烂耀眼而气势磅礴,人一走进教堂就自然地肃静屏声。只要一看画和雕像,上帝和耶稣就把人的心神吸引住了。不过,正在做法事的主教和神甫们一个个的穿戴打扮得像是中国戏台上的戏子,高帽子、闪光的法衣、留着大胡子、手里拿根弯来弯去的圣杖,显得十分滑稽。导游说大教堂是德国建筑师和工人建造的,壁画和雕塑则是出自意大利艺术家之手。

我们每天都乘郊区火车去海边游玩,眺望大海,用租来的高倍望远镜远望芬兰湾远处的风光。艾米尔塔什和卡杰林娜女皇行宫都是皇宫,挂着和铺着中国壁毯和地毯,摆着中国的花瓶,钟鼎。取暖的壁炉也用中国运来的瓷砖砌成,瓷砖上是蓝色釉彩画的拼合图像,内容是中国古代织丝造纸的全部工艺流程和工人工作的场面。外国人不喜欢我们的福禄寿和清风明月、小桥流水。皇宫外还有从中国请来的工匠修建的中国大戏台,连喷泉的水和雾也是从中国式的龙和金鱼的嘴里喷出来的。艾米尔塔什博物馆就是举世闻名的冬宫,世界藏品最丰富的博物馆之一,几乎可以和伦敦的大英博物馆和巴黎卢佛尔宫博物馆比美,连古埃及法老的木乃伊都有收藏,我进去后不想出来了,真是流连忘返。印象派大师莫奈、梵高的原作,其热烈的色彩,扑面而来的朝气,开朗,雄朴的强烈感情叫我心神震撼。

更令我心惊胆颤和痛心撕肺的是几乎占全部展品的三分之一的竟是中国的文物,是八国联军打进北京后,充当联军主力的俄国军队洗劫中国皇宫抢来的。博物馆里还有敦煌和吐鲁番陈列室,陈列着俄国冒险家们从甘肃敦煌和新疆吐鲁番抢去的古籍和文物。我想去看,关门了,没看成。中国文物全是珍品,是国内也找不到的。我多灾多难的祖国啊!在全部展品中俄罗斯自己的文物少得可怜,只有一些古代石磨和陶器。

博物馆出口处的桌子上摆着几本厚厚的留言簿,我翻了翻,上面的中文题词真不少。有一则中文题词写得还真不错,内容是歌颂“俄罗斯古代文化光辉灿烂,”下面的题赠者是山西省人民政府代表团。看后,我的胸都要炸裂了,愚蠢的,可耻的山西省的大员们,你们和山西毛驴一样,认不出博物馆的中国文物吗?不知道那些中国文物是俄国侵略者抢来的吗?你们给洋人献媚,歌颂侵略者,也得另找个地方。我看不起中共官员,最重要的一点是他们许多人毫无民族气节,也缺乏知识修养。

从圣彼得堡回到塔拉斯,休息了两天,和岳父一起一家四口坐火车北上,准备从后贝加尔站入境满洲里。原来准备在北京游览几天后,陪岳父在吉林辽源市我岳父的两个弟弟处探亲,再回老家。可到了后贝加尔站出境检查时,我被拦住不能和家人一起出境,原因是巧云把我们三人的出境签证领到手后,看她自己和岳父的签证期都没有错,就没有检查我的。过境检查时,苏联军官指出我的出境日期比他们的要晚一个月,我只好难过吻别亲人们,把美元全给了巧云,悻悻然下了车,住进后贝加尔车站旅社。看见士兵爬到国际列车上的车顶,钻到列车下面,把车顶和车底都全检查了,海关职员和士兵们抱着一大包一大包查获的羚羊角下车。莫斯科——北京国际列车带有两节到北朝鲜平壤去的包厢,卸在沈阳,乘客多是北朝鲜来苏联办公事的外交官。他们有外交豁免权,不受检查,又穷,脸皮又厚,胃口也不大。不少中国人回中国,在莫斯科火车站里和他们搭上关系,送给十美元,二十美元,请他们把羚羊角夹带在外交公文包里带过苏中边界。后来他们搞得太凶了,连毒品也敢走私,新闻里不断出现北朝鲜外交官因走私在边界被扣的消息。

第二天早上我乘车回伊尔库茨克。在旅社和火车上,我发现有一个穿民警服装的布里亚特人到我跟前来,一个小时要看我几眼。大概直到苏联解体前夕,KGB树倒猢狲散以前,我都是它的重点控制对象。在伊尔库茨克,我请岳父的干儿子刘先生带我去警察局外事处更改签证日期,管签证的是位俄罗斯妇女,待人彬彬有礼。她接过我的签证一看,笑着说:“在乌兹别克斯坦和哈萨克斯坦发出的签证中,这样的情况是常有的。”她用打字机只改了一个词,把俄文字母c改成дo,译成中文便是把“从”改成了“至”,即从x月x日可以出境改成至x月x日可以出境, 也就是在这一天以前我任何一天都可出境了。因事我在伊尔库茨克又停了两天,再次登上回国的列车,,身上没钱,有点发怵。有幸结识了两位新朋友。苏联开放后,中国人的代表团过来的可多了,经贸的、边贸的、文化、体育,艺术的什么都有。中国人要出国开眼界,到西方去花不起钱。卢布贬值后,来苏联玩花费不多,走得起,反正也算出了国。与我同一包厢,有一位中国旅行社满洲里支社的经理,常常在边界两边跑来跑去,和两国的海关人员都熟。旁边车厢里是田径队,十几位运动员在苏联训练后回国,带队的是辽宁省运动学院的院长助理、四川大学生物系毕业的运动生理学老师,名叫雷光明。他是四川人,我是湖南人,可我们是同姓的本宗,还是同辈族兄弟。我们三个人很谈得来。宗兄在“文革”时当了几年牧马人,送了我二十元人民币和十来包方便面,路上我也不愁饿肚子了。我给他们各送了几套莫斯科买来的体育邮票。到北京后我直奔白石桥气象局黄炳勋学友家,他告诉我巧云在满洲里给他打电话,他接了站,把三人安排在气象局招待所住,侄女婿已经来北京把他们接到了石家庄去了。八十年代和九十年代从国外带的报关单很顶用,可以按单上的外汇数目在免税商店买到进口电器。在满洲里入境时有上面提到的那位国旅社经理保驾,我在报关单上虚填为四百美元,。在北京外汇商店买了些日本电器,马上南下石家庄。

在石家庄,我们决定岳父和巧云带女儿去吉林辽源探亲,我则一个人回湖南老家看望老母。

在枝柳线的列车中遇到了一家台胞。男士是中兴大学副教授,分手时我赠了他两首七言诗,他夫人看过后连说“湖南多才子,湖南多才子。”

既然我也受到国内安全机关严密监视,我也不想麻烦自己,麻烦他人,在家里一个星期,足不出户,亲友们也不来看望。“六四”事件后,见到国人对国事都噤若寒蝉,中国又回到了万马齐喑的年代。侄女告诉我,她大学里的两个学生领袖都关进了监狱,判了7年徒刑。不过国内经济情况比上次回家又好了一些,商品更丰富,也更便宜。原因之一是“六四”后不少西方国家对中国商品禁运,许多出口商品只得转成内销。把这时的苏联与中国对比,正好掉了个头。苏联政治自由了,经济破产了;中国经济发展了,政治却更严酷了。母亲在上次见到我一家后,精神好多了,身体也发胖了。她和弟弟们都庆幸我当时越境出了国,如果我留在国内也难得活下来,即便活下来,“六四”中也得再倒一次大霉,不给打死也得坐牢。我什么都不想买,只到县城书店里把能找到的金庸和梁羽生的武侠小说都买下了,有金庸的《飞狐外传》和《雪山飞狐》《倚天屠龙记》《神雕侠侣》《射雕英雄传》和《连城诀》,梁羽生的有《散花侠女》《江湖女侠》和《狂侠,魔女,天骄》,回国前准备再买点礼品。我们湖南没有取暖设备,冬天特别冷。巧云织毛线的技术很高,回国前她日夜加班,给母亲、婶婶、三个弟媳和妹妹,各织了一顶过冬的暖帽。毛线面子,骆驼绒里子。他们拿到后皆大欢喜。对我,母亲说话没有了顾忌,把几十年忍受的艰辛和羞辱,父亲斗得卧床不起后,受的无数罪都说了。她也知道苏联生活变坏了,很为我们担心,特别是对两个孙子的前途。

家乡的旧风俗愈演愈烈,死人后要请道士作道场,至少两天两夜。新兴道士中最有名的一个是我一位小学同学、土改积极分子、五十年代复员的解放军少尉军官。我回家后第三天,他以为我不知带回多少钞票,来向母亲招揽生意,告诉她死后要做多少天法事,烧多少纸和金银锭子,还交待要在包皮纸上把她的出生庚甲都写清楚,不然在阴间得不到。我气坏了,母亲还健康地活着便就咒她死,把那个家伙赶走了。

知道我又将归来,三弟事先酿了一大缸米酒,酒味清醇,度数也不高。弟媳们想尽法子,每餐都是上十道菜,饮酒作对联,我还过了几天风雅的文人生活。三弟是家乡的“一杆笔”,凡婚庆喜事都要请他写对联。流行的他看不上,要我拟了几十幅,包括春节、婚礼、生子和丧事的对联,留给他,以后好用。我和母亲,弟侄们在一块儿,亲情融融,没有什么干扰,几十年来我过了最愉快的一段日子。

但是我思念岳父、妻子和女儿,不敢在老家多待,一个星期后又北上石家庄。与光照哥和永淑嫂老两口和侄女侄婿在一起,从大灾难走出来,亲情特别亲。我们去烈士陵园瞻仰白求恩,科棣华,爱德华的陵墓。科棣华是位印度医生,出生孟买富家。中国抗日战争爆发,一群印度医生组织志愿医疗队来华帮助中国军队抗日,在他们的名字后面都加了个华字,科棣华和爱德华是其中的两位。他们到了延安,柯医生和一个中国女子结婚,生下儿子,取名印华。五十年代中期我从报纸上看到印华去印度看望祖母,祖母要把他留在印度上学,受党和毛泽东思想哺育,在红旗下长大的印华却要回中国干革命,在山西工作。文革大混乱时期,他患重感冒,住进医院,没有得到及时治疗,病死了。

“六四”后换了总理,把赵紫阳时代一些照顾华侨的政策取消了。大众旅社再不向华侨开放,火车站,售票厅也不见了专设的华侨售票窗口。以前回国,外办侨办人员不请自来,现在找他们帮忙都无门可入。领导人总是如此地急功近利,对华侨华人中的亿万富翁,大科学家、大学者是要统战的。但他们用不着住大众旅社和排队买票。至于广大穷华侨,照顾他们又有何用?再说,苏联一天天的衰败,在中共眼里,旅苏华侨也就跟着掉价了。既然城门失火,我们这些池鱼也得受点殃。不知为什么,中央也制定过好的政策,却总是一好就改,从不实行到底,因人而变,因事而变。那时的北京,宾馆一间房每天百余元,我们怎么住得起?只好我一个人先到北京去签回程票。北京——莫斯科国际列车一星期才两趟,签票在北京火车站对面新修的国际旅店,人山人海,挤在前面的都是高鼻子苏联人,小个子中国人连队都挤不进去。原来六月哈尔滨国际商品交易会后,几千苏联人在北京,天津,上海各处游逛,现在联运票有效期快到了,都得回去。苏联人排了70年的队,排队经验世界一流,一来就掌握了排队权。拿出一个本子,编上号,按号排队,本子上优先的都是他们的人。他们强壮如牛,能打会骂,小个而文明的中国人怎么争的过?还有许多波兰和东德商人也跟着老毛子一起起哄,真是黄毛相惜啊!我一看场面就明白了,我得想法子帮帮我的同胞。我在苏联生活了二十年,明白老毛子那一套,也不吃那一套,又会俄语。我挤到前面用俄语对着拿着排队本的大个子俄罗斯女人热情问好,请她把本子给我看一看。我一拿到本子,马上把前面两页已编号排队的名单撕掉,高声用俄语和中国话说:“这里是中国,我是主人,现在大家跟我排队,我是第一号。”洋人都欺软怕硬,在中国土地上他们不敢胡来,对他们也用不着温良恭俭让,讲什么友谊和什么国际主义。洋人们也只好老实下来,一个个报名登记。我尽量把中国人的号排在前面,记得我是第一号,二号和三号是转道苏联去土耳其探亲的一对新疆维吾尔族夫妇,以下是应邀访问苏联的中国航天部两名女干部。这是我一生中少有的壮举,维护了我的同胞的合理利益,常引为自豪。我要自己签上票,还要维护已排上队的同胞的利益,自己签上票以后,还在签票口维持秩序,整整23个小时。晚上从走后门签票的人中,我得知了签票紧张的原因是中国国际旅行社的人在搞腐败。他们只拿少部分座位公开签票,剩下的全部从后门卖了,一个位子多交两百元人民币。

光照兄送我们上火车,临别我们拥抱了。他突然流了泪,我也冒出了一句:“这次分别后,我们不知道还能不能见面?”一语成谶。一年后,他发现有肺癌,已是晚期,送到北京301医院住院三个月,就撒手归西了,才61岁,还没有正式退休。接到电报。我立即取道新疆前去石家庄奔丧,赶到嫂子家,只能对着他的骨灰盒磕头了。再过一年后,又接到庞卓恒兄夫人李国常因淋巴癌去世的噩耗,这时的哈萨克斯坦已经独立,经济大萧条,我连回国奔丧的路费都凑不起来了。

“老革命”和“太子党” (形形色色的中国人之六)

1991年秋天,巧云到商店遇到了一对中国夫妇,把他们请回家招待,从此认识了杨涌夫妇。

杨涌的大名我早已在国际集中营出来的朋友口中听到过,他自己这样介绍他的历史:他是山东人,父亲是台儿庄大战中牺牲的八路军烈士(我不懂了,台儿庄会战中打败日本鬼子的可是国民军)。他在1945年日寇投降前加入了八路军,算是抗战时入党的老党员。抗美援朝时他当志愿军的参谋,此时国防部长迟浩田上将还是教导员,他们是同事。1954年授衔少校,文革前在南京部队保密局当局长,后受林彪牵连逃苏,已加入苏籍。以后他与我谈话,总是以归化苏联为自豪。他每年都回中国探亲,说自己当年的警卫员都当将军了。他的小舅子也从北京来了,要在塔拉斯大干一番,做大生意。他口沫横飞,踌躇满志,想叫我一下为他倾倒。

我以前就知道,他这位前解放军军官、老共产党员,逃来苏联后在海南泡(布拉格维申斯克)师范学院给KGB绘制了一年有关中国的军事地图。之后KGB过河拆桥,见他再无剩余价值,送他进了国际集中营劳改一年。他是人们讥笑的毛泽东培养的干部,既无文才,也无武才的那种人物,释放后到伯力远郊一个林场干活,和本地一位混血女人结了婚,生了3个女儿。打铁时火星飞溅,烫瞎了一只眼,老婆也带着女儿走了,杨涌又和新夫人孙海红结过婚。

此人会的俄语不多,更不识俄文。以后半年,他买房子,买家具、装修房间、安保险门,在警察局上户口,还有他的小舅子开公司,受骗后打官司,都是巧云义务给当翻译。和他一起蹲过集中营的他的山东老乡告诉我:“他是个KGB的老特务,在哈巴洛夫的中国人中搞臭了,待不下去了,才搬到哈萨克斯坦来的。”帮他出去办事,见他在苏联人面前老是点头哈腰,见到中国人则志高气昂,言语无味又面目可憎,不想和他来往了。

他的小舅子叫孙达孩,在国外的所做所为,确为太子党无疑,特别是他们那一套养尊处优,颐指气使的气派更可知道。杨涌的新夫人一天到晚对他呼来呵去,“老杨你这老死鬼,给我倒杯茶来”,“老杨,你别满口喷粪”,如此骄横,真是八旗子弟。

孙达孩以北京市轻工业局外贸公司的名义在塔拉斯办起了一家独资的中国国营公司,买了汽车,花园平房,从北京拉来几车皮服装,鞋帽在塔拉斯批发。孙达孩是公司经理,杨涌是业务经理,办公司,翻译章程都是我帮忙的。等一切妥善了,他找了个理由叫我再也不去他家不和他们来往,过河拆桥的手段他还是玩得挺顺的。我在市场摆摊,经常见到他穿着苏联军官大衣,提着号码箱提包,目空一切地匆匆来往,一副大经理模样。也见到孙达孩坐着高级小轿车在歌舞厅进进出出。还听几位混血朋友告诉我,孙达孩不断出高价要他们帮忙找外国姑娘,年龄还不能超过16岁。而孙达孩已经四十出头了,在中国有老婆孩子,所谓来这里做生意便是拿国家的钱吃喝玩乐。他在公开场合说过:“我娘老子给共产党打下了天下,我们就是应该享受的。”他的嫖风所及,直到彼什凯克和塔什干。孙达孩,杨涌能把公司办好那才无天理了呢,他们公司不断出事。一次给偷了,损失几百万哈币坚戈;一次他们请的车臣业务员把仓库里的全部皮货骗走了,损失二十多万美元;还有一次是强盗进了他们住宅,用铁丝绑上他老婆孙海红和小姨的手,把全部美元,哈萨克币现金抢劫一光。小格格给吓坏了,送到阿拉木图住了两个月的医院。受骗后,他们把骗子告上法庭,得有个好翻译,原来不屑理我的杨少校和孙大少爷只好亲移玉足光临寒舍,请巧云给他们当翻译。干了几天,分文不付,送了我女儿一条牛仔裤顶数。犯不着给太子党卖力,犯不着给窃国者效劳,巧云甩手不管了。以后见到杨涌,他主动地骄傲地对我说:“老雷,我们官司打赢了。”我问:“货款追回来了吗?”他答:“法院封了骗子的房子,正在追讨中。”我敢保证,他们根本没这个本事在车臣人口里夺出食来。

几次出事,在塔拉斯又呆不下去了,要搬家去莫斯科附近的某个地方。临行前杨涌坐着小汽车向我告别,说“剩下的货我们都捐给此地孤儿院了”,还伸出三个手指骄傲地叫:“三百万。”天啦,这几车皮货,这三百万,都是中国国家的财产、是工人同胞的血汗,是谁批准他们拿到外国糟蹋,谁批准他们捐献给外国人的?他们可真是卖国贼。从与老干部杨涌和高干子弟孙达孩的交往中,我看透了太子党,也看透了共产党是如何放纵自己人的。

苏联气数已尽

1990年第二次归国探亲,回到塔拉斯,超了一个多月的假,给车间主任送了一瓶中国酒,抵消了旷工处分。这时,苏联的工厂纪律已经涣散到了极点,上班不上班,少有人过问。市场开放了,我们带回的几件中国白绸衬衣,拿到市场上一抢而光,换回了几千卢布,其中还有好几张百卢布的大钞,我们以前几乎没见过。我们心里高兴了一阵子,但很快便祸从天降了,原来是莫斯科苏联中央政府下了命令,五十卢布和一百卢布的大票作废,成年人手中有大钞的,一人可以持大钞换回一千卢布的小面额钞票。工人们不在乎,反正手里没钱,还有点幸灾乐祸。同时,卢布也宣布贬值,28卢布换一美元,比上次又贬了三倍多,和上次的加起来就贬值四十六倍了。最要命的是,银行冻结了居民全部存款,取不出钱了。即使按贬值的比值,也换不成美元了。怎么办呢?我写了报告,说家里存钱是买家具的。我的工资高。头头对我也不计较,让我拿大票子换出了小额钞票。巧云工作的美术社大多是一些土著画家,总是斜着眼看中国人,嫉妒心极强,换钱总是不被批准,吵了几次架,才用一百卢布一张的大钞换了六百卢布小钞。

以上还只是在苏联解体过程中我们遭到的第一次小破产,以后又来了两次大破产:一次是苏联解体后,在银行存的几万卢布全部死去。另一次在1993年,钞票由卢布换成哈萨克坚戈。但货币变动最倒霉的还不是我们小老百姓,而是官员和戈尔巴乔夫放开苏联国门后做生意发了大财的新暴发户,多是官员们的亲属和亲戚。苏联法律规定:凡在银行存款达到5千卢布的,都要写明来源,贪官和商人只好把不义或有义得来的大量卢布换成大钞存在家里,现在一下全成废纸了。江布尔州一个区的警察局长,家里有几亿百万大钞,一下子心脏爆裂死掉了。有的人拿着一袋一袋的大钞卢布在银行大门前高声咒骂,放火烧掉。

货币是国家的命脉,货币稳定和坚挺是国家兴盛的最重要标志。1948年中华民国蒋中正总统的行政院长、我们湖南老乡翁文灏把法币和关金改成金元券,民怨沸腾,商家破产,几个月后金元券成了废纸,国民政府很快在大陆垮台了。1964年印尼总统苏加诺宣布大面额钞票必须在银行兑换新钱,其中百分之十五作为对革命的贡献送给国家,一年后就发生了苏哈托将军武装政变,苏加诺政权彻底垮台。现在戈尔巴乔夫又走上了同一条路,一条难归的路。我当时就对朋友们说:“苏联完了。”

果然,几个月后,1991年,莫斯科八月政变发生:戈尔巴乔夫休假时,他在克里姆林宫的同事们宣布废黜了他,改组政府。

政变当天上午,电视和电台播送了这条消息,我是在澡堂更衣室换衣时一位哈萨克同事告知的。许多老工人听到后举手相庆,大多数人都漠然置之,本地报纸上却没有登出政变公告。晚上看电视,映出的却是莫斯科市民反政变的剧烈场面,几万人到红场保卫苏联的白宫——俄罗斯议会大厦,叶利钦的大本营。议长、车臣学者哈斯布拉托夫嘲笑KGB指挥发动的政变。政变部队的坦克在红场掉过头来保卫群众,叶利钦站在坦克上发表反政变演说,很快,政变便失败了。

但戈尔巴乔夫一家从修养地乘飞机回莫斯科,却毫无得胜的喜悦,他的小外孙女身上还披着条毛毯御寒,一片狼狈像。苏联总统戈尔巴乔夫随着八月政变的失败也一起失败了。1991年12月25日,苏联总统戈尔巴乔夫宣布辞职,将国家权力移交给俄罗斯总统叶利钦。第二天,苏联最高苏维埃宣布苏联停止存在。当天19时32分,红旗从克里姆林宫上悄然落下,称雄世界几十年,不可一世的苏维埃帝国解体了,一去不复返了。苏联共产党也真无药可救,副总统、党务书记、国防部长,内务部长(全苏警察总局局长)和中央KGB主席联手发动政变,结果一败涂地,自杀的自杀,出逃的出逃,苏联共产党的头头们昏庸到连政变也不会了。苏联的气数不完,还有什么别的出路?

 

 

余音——我与沈元

以上文稿,写作于2000年,但只写到了1991年底苏联解体为止。其实,在1998年和2010年,我还两次回过北京,都只是一个人,主要是与我在伊犁工作时结识的亲如兄弟的老友萧默弟见面,本书的写作还是在他的鼓励下完成的。关于1998年那次回国,萧在他的《一叶一菩提——我在敦煌十五年》那本书中记道:

“我们曾失掉了几十年的联系,1998年他已过六十了到北京才再次相见。初见恍若隔世,泪眼相对,四手相执无语。光汉兄在我家住了几天,大谈‘老毛子’垮台如何解了他心头多年之恨。哪儿也没去,只在芦沟桥抗日战争纪念馆待了一整天,仔仔细细逐版观看了全部版面。我要他回来,他说作过努力,但人老了,哪儿也不要,只得仍留在哈萨克斯坦当华侨,说是后代他管不了,他是坚持不入外国籍的,活是中国人,死是中国鬼。……走前向我要录音机,问他干嘛,说是要录下他给我讲的他的全部人生,给我留下。我没给他,说这些东西都是宝贵的史料,你必须自己写出来。几年后来电话说写完了,30万字,但不愿出版,说是不想起到可能干扰国家大政方针的不良影响,我说不服他。关于他的故事,我想还是等到他哪一天想出版了,读者自己再读吧!”

2010年3月我再一次回到北京,与萧默弟一家和他的朋友聚会了半个月。我刚回到塔拉斯不久,突然,非常意外地,接到了一个从美国来的越洋电话,原来是沈元的姐姐沈蓓打来的,她也是刚刚通过萧默,辗转得到了我的联系方法,说是已经找我多年了。我一时非常激动,竟在电话里号啕痛哭起来。电话打了两个小时,我过于激动,把电话听筒失手掉落地上,才停止了。我给沈蓓姐写了长信,以后,我们经常保持着电话和电脑信件联系。

沈元,在前面已经提到过,是我的同年级同学,可以说是建国后中国历史学界出现的唯一天才。他对中国思想史的研究文章问世后,有学者说他的成就要超过黑格尔。1970年4月18日,沈元被谢富治下令枪毙了,其时只三十二岁。

沈元,上海人,才华出众,因为1956年从英国《工人日报》摘译了赫鲁晓夫的“秘密报告”,给同学传阅,还发表议论,说“秘密报告”的内容在苏联的国史和党史中都是看不到的,那样的历史不是信史,我们写的历史应该是信史,秉笔直书。五七年来了,沈元因此被打成“极右”,与我一起在北京西郊的山区斋堂“劳动教养”。后来,在不能复学的情况下,凭着他的努力和才华,沈元写出了九篇很有份量的史学论文,被近代史研究所所长黎澍看中,破格进了研究所,《〈急就篇〉研究》还在人民日报摘要发表了,影响非常大。

沈元被虐杀后,我在自治区考古研究所工作的同班同学(当然也是沈元的同学)王炳华得到消息,立刻想到了我。4月22日晚饭时分,一位监守我的红卫兵,也是我教过的一名学生,偷偷地塞给我一张纸条,我回到房间,偷偷打开纸条,上面写着:“沈元在4月18日已被枪决,速自处”,正是炳华兄在他可能的第一时间托人送来的。其时正在“一打三反”,为了大造声势,各地都开始杀人,乌鲁木齐杀了,喀什杀了,伊宁市也开杀了,下一个就要轮到霍城,而我是霍城排名第一的反动派。我乘着夜色,也趁着那位红卫兵给我的一次逃跑的机会,逃出住处。只是当时我实在心慌意乱,不及多想,只想跳下霍尔果斯河了此一生算了,没想到跳下的地方河水太浅,才爬上岸来改为逃往深山的。我在天山里当了两天野人,24日午夜,才泅过霍尔果斯河,逃来苏联。

2010年4月,《一叶一菩提》出版了,获得了很大成功,默弟把书寄给了我。10月,他又给我寄来了再版稿,新加了最后一章“回首如夜曙色萌”,把年初我与他的聚会加写了进去,也把我与沈元的故事补进书内,还有我给沈蓓的信。让我就引用其中的相关文字,做为我这本书的结语吧:

“他带来了一厚迭稿子,手写的,名为《我的中国心结》,30万字,讲述了他的一生,早在十年前就完稿了。我说为什么不早点寄回来,回答说直到现在也没想过要出版,授权给我全权处理。我托人把手稿输入电脑了,粗粗翻了一下,非常精彩,我准备一有空就把它整理出来。

“他刚走,就逢到雷先生最亲密的朋友沈元遇难40周年忌日4月18日,我开始构思一篇文章《四月哀思录》,19日开始写作,正写着,忽然从电脑收到了一位女士的信,也写到文章里去了。请读者读读这篇文章的开头:

“今天,4月19日,一大早,打开电脑,想写点这些天来尤其是昨天一直萦绕在心头的有关沈元的一些事,意外地,收到了一位女士的信。信很简单,写道:“萧默先生:非常高兴,这次通过韩先生能结识您,因为我也曾拜读过您的文章。更要庆幸韩先生通过您给我传来了雷先生的信息,盼保持联系。”信的署名为“沈蓓”。

沈蓓?我并不认识,但她与沈元却有着最亲密的关系,她是沈元的亲姐姐。而昨天——4月18日,正是沈元被虐杀的40周年。

同信还附来她给韩三洲和现居哈萨克斯坦的华侨雷光汉的信,在致雷的信中,沈蓓写道:“我知道并找你已经很久了,今日无意中得到你的电邮址,真是欣喜万分,请你告诉我你的电话,我盼望能尽快和你联系,并直接通话。”也很简单,急切的心情已溢于言表!”

“很快,感谢现代科技,通过电脑,现在美国的沈蓓和哈萨克斯坦的雷先生就联系上了,越洋电话打了两个钟头,以后又通了信,让我们读读雷先生给沈女士的信:

“沈蓓姐姐:
你好,请允许我以“姐姐”来称呼你,因为我和你遇难的小弟沈元从1956年开始就是老同学,亲如兄弟,无话不谈,并接受了他不少学识上、物质上的帮助。直到现在,每年清明、冬至我都要摆酒设桌来祭奠我的父母兄弟和他。他的年轻的音容笑貌、谈吐和柔和清脆、句句皆文章的话语,几十年来一直都留在我的眼前,响在我的耳边。

……

1966年,我因写了《伊犁史话》,被打成霍城的最大黑帮,加上老右派,成为全县全州重点批斗对象。6月,工作组通知我说:“极右分子沈元从北京给你来了封信,由我们保存,你给他写回信,交我们寄去,叫他老老实实认罪”。他的信我没看到,我回信只写:“我认识自己的处境,我当接受人民对我的处罚。”未及其他,交给了工作组,当时《人民日报》在批判北大校长陆平时提到了北大出了“极右分子沈元”,还成了学生学习的榜样。于是全县城都知道了“大右派”雷光汉在北京还有个“极右派”的朋友,学校和街上出现了“打到大右派雷光汉、沈元”的大字报。我知道逃不过这关了,不过我祈祷他能逃过此劫。当年10月,我被重新戴上“反党反社会主义分子”帽子,开除公职,送到伊犁南台子煤矿挖煤,以后因戴近视镜无法下井干活,转到芦草公社修大东沟水渠。这时,我自己破罐子破摔,无他想了,只是担心我的老父在家乡挨斗,打成瘫痪卧床,还有沈元弟的命运。
1967年秋,萧默弟从敦煌给我寄来了35元钱,不久我二弟又寄来100元。当时到处夺权,没有人管我们这些“阶级敌人”,我决定逃离这个地方,到外面看看。1968年11月,我学红卫兵无票乘车的办法,到兰州经包兰线到内蒙,再到北京。一天,我去史家胡同看沈元,从中午到深夜我们一直在谈话,时间可能已是69年元月。他当时和他年轻美丽的妻子住在19号,一进大门右边两间小房内,满壁是书,中间一个大火炉,煤火旺,很暖和。他们夫妻身体都好。我们一直在叙说文革中的遭遇,他说他被抓去大会斗、小会斗,还带高帽子游街。每次挨完斗回家,他姑父就流着泪对他说:“孩子,你哭吧,你抱着我哭吧!”还说:“进近代史所时,领导人向康生汇报,康生指示你们要好好教育他,此时又指示,‘要狠狠斗他’!”(这里还要插一句,1988年我第一次回国探亲,一位外办负责人、大约四五十岁的大官与我长谈了两天,我谈到了沈元的死。他说康生是个最大的两面派,说枪毙沈元就是康生最后决定的。)我们在谈话中都觉得暴政走到末路了,这是最后挣扎。他还说:“你是爱国的,1962年伊犁边民大批外逃苏联,你却没逃。我也是爱国的,我有很多海外亲戚,我也没想到要去投奔他们。”我们都流着泪,相互安慰和鼓励:“我们的祖国多灾多难,我们爱这个国家,不愿意离开她,一定要活下去,看到一个新中国。”说话时他还不时翻开《柳亚子诗集》,把里面铮铮铁骨的诗句念给我听。听说。常常半夜有小汽车接他姑父去看病,给谁看?他姑父从来不说。她妻子做了丰盛的午餐和晚餐,大米饭,上海菜——陶饭锅里蒸的肉末,里面打了几个鸡蛋,十分鲜美,我生平只吃过这一次。我们谈话时,他妻子用一架小巧的英文打字机打字,不时插话,都很有见地。她说:“圣经里说,上帝要人灭亡,必先使他疯狂。挂黑牌子、戴高帽子是希特勒对付犹太人的手段,不是文革的发明,电影《玛门教授》里面就有这样的场面。”深夜与他道别,他送我很远,还送我20元路费。想不到,此一别就阴阳相隔,我的好兄弟沈元竟惨遭杀害了,一代文星倏然陨落。
……

1998年我收到了郭罗基从美国来的信,随信还寄给我100美元。郭罗基曾是我们班的党支部书记,调干生,但他与别的极左党员不同,很有正义感,保护过沈元。郭在信中说:公安局的人曾经找过他和55级同学,说雷光汉已在苏联当了KGB,如果他回国,你们协助我们把他抓住。其实我虽然逃到苏联,却拒绝与KGB的反华企图合作,因而再逃伊朗,被他们逮捕,坐了牢,又流放了几年,大概中国当局这几年在阿拉木图见不到我的踪迹,便以为我当KGB去了。后来知道,这几年,他们在我湖南老家后山还夜夜放哨呢!1981年,感谢中国驻苏联大使馆,经过他们严格审查,我早已恢复了中华人民共和国国籍,给我发了护照。这些年,中国驻哈萨克斯坦大使馆与我的关系也非常好,过年过节常来慰问,让我享受到了祖国的温暖。
郭罗基也保护过我。1958年,有一次全班同学出校劳动,回校时李铁城同学拉了一个板车,有些同学坐了上去,我一时忘了身份,也跳上去了。李说:“我还拉了一个右派呢!”我一听吓坏了,马上下车,跑着去向郭做检讨,害怕开我的斗争会。郭安慰我说:“没关系,你走吧!”他的宿舍与我对门,我听见他劝李说:“小事情,不要闹大。”1961年我分配到新疆,走前,李还找到我,笑容满面地鼓励我。他也是党员,也是有人性的。
与沈元最后相见以后,我流浪两广、云贵各地,寻找外逃的机会,没找到。1969年返回霍城。1970年初,开始“一打三反”运动,4月22日,我从一个渠道在第一时间得知沈元已在4天前被杀害了。这时,乌鲁木齐和伊宁市也开始杀人了,下一个就要轮到霍城。为了活命,当天深夜我不得不冒死出走,两天后,泅过冰冷的霍尔果斯河,逃往苏联哈萨克斯坦。以后,又历经坐牢、流放、做苦工而活了下来。……
蓓姐,这就是我与沈元的一些情况。听你说这几年你都在找我,匆匆暂时写到这一些,言不成文,悲伤不已。

“沈元的被杀,更是一段惨痛的历史,我们再读读郭罗基先生的回忆:

“沈元显示了才华,也招来了忌恨。研究机关和高等学校都在谈论右派明星,一时之间传为重用右派的“沈元事件”。一天,田家英(毛泽东的秘书)打电话给黎澍(沈元当时工作的社会科学研究院近代史研究所所长):“有人给毛主席寄来了油印材料,揭发‘沈元事件’。好在落在我手里,毛见了不知会怎么批。你赶快来一趟!”田家英告诫黎澍:“你们千万要注意!”后来沈元发表文章就不能用真名了。

黎澍说,和沈元同一辈的人,到研究所来了几年不出一篇文章,沈元一年出几篇文章,而且屡有轰动效应,于是心生妒忌,群起而攻之。文化大革命一来,黎澍首当其冲,批他“招降纳叛,网罗牛鬼蛇神”。斗黎澍,沈元陪斗。研究所的造反派还从肉体上折磨沈元。沈元实在忍受不了,居然异想天开,化妆成黑人,闯进外国驻中国大使馆,寻求政治避难。他被门口的中国警卫人员识破,当场逮捕。这一回,斗沈元,黎澍陪斗。最后,以“叛国投敌”罪判处沈元死刑,黎澍欲哭无泪。在刑场上,沈元大喊一声:“我还有重大问题要交待!”其它人都倒在血泊里了,他被押了回去。实际上他并没有交待出什么重大问题,第二天又被押赴刑场。他不甘心就此了结一生,死到临头还在寻求死里逃生的机会。他希望苟延一天、一小时,哪怕一分钟,等待来人喊:“刀下留人!”然而没有等到。……”

罢了!罢了!不再写了,比起沈元来,我要算是万幸了。虽然命中注定我将会客死异国,骨葬他乡,但永不会改变的,却是我那一团火热的中国心结。

我的苦难的祖国,我的多灾多难的同胞,我只能谨以一片赤子之诚,焚香东拜,以这本小书,聊寄我的无尽的相思!

流落国外一书生,胼手骶足求生存;千里无称悲伯乐,万言有著叹贾生。

关山已阻苏武路,须眉岂辱轩辕魂;苦辣酸辛只自知,窗外大雪落纷纷。

 

附录:

高华:一个“外逃者”眼中的苏联

——评雷光汉《苏联流亡记:一个中国反苏分子的家国情怀》

 

(编订者言:雷光汉先生的回忆录《苏联流亡记》电子稿在出版前曾经最近去世的南京大学历史系教授、《红太阳是怎样升起的——延安整风运动的来龙去脉》作者、中国著名近代史和党史学者,对中苏关系史也素有研究的高华先生阅读。其时高华先生正在重病之中,却不顾病危之体,执意写了这篇书评,说这可能是他最后写的一篇文章了。

文中高华先生提供了一些新材料,也对本书做出了一些深度的评论,在《领导者》杂志上发表以后,影响很大。编订者认为此文有助于读者对本书和本书作者的理解和讨论,在高华先生生前征得他的同意和雷先生同意后,现将此文附录于此,供读者参阅。根据出版要求,在收入本书时有一些小的文字改动,文章副题也随书名的改动改为今题。)

 

一本奇书

雷光汉的《苏联流亡记:一个中国反苏分子的家国情怀》是一本奇书,这是一位为躲避文革中“一打三反运动”的镇压,于1970年“外逃到苏联”的前北大历史系毕业生在苏联中亚地区飘泊沉浮的实录。二十世记以来,虽然中国人写的旅苏观感为数可观,但称得上名篇的却不多,只有20年代瞿秋白的《饿乡记程》和《赤都心史》、30年代初曹谷冰的《苏俄视察记》和胡愈之的《莫斯科印象记》等,及至郭沫若1946年的《访苏记行》和1952年刘白羽的《莫斯科访问记》,已完全落入程式化的俗套,无一不是对苏联新制度一味的赞美了。建国后的访苏游记写得好的也是曲指可数,给我留下较深印象的只有并未结集,发表在1957年春《文汇报》上徐铸成的访苏游记,从中多少能捕获一些苏共二十大以后苏联社会的变化(1975年我曾拿着介绍信在南京图书馆逐日翻看1957年的《文汇报》,时间一长,警惕性很高的管理员觉得不对头,就打电话到我单位进行调查,结果很快就禁止我再看了)。另一本就是少年时期阅读的《在阿尔迪克夏令营》,它叙述了一群中国少年儿童在1951年由老师和医生陪护前去苏联克里米亚半岛索契附近的阿尔迪克夏令营渡假的经历,曾激起我无限的神往。至于青少年时期在苏联长期生活过的一些高干子弟,则很少看到他们亲自写的作品,主要原因可能还是生活经历的限制,人们只能通过《红樱桃》一类的影视作品多少了解一些当年他们在苏联的生活。

中国人写的批评苏联的长篇记实性读物直到1980年代才出版了寥寥几本,其中,1984年由群众出版社内部出版的马员生《旅苏记事》最具史料和研究价值,另一本是湖南人民出版社1988年出版的唐有章《革命与流放》。内容都是中共早期党员在苏联党争中被打成托派,在苏联极北地区做苦役几十年的经历,这些苏联大清洗的幸存者在50年代中赫鲁晓夫时期才回到祖国。

60年代初中苏关系破裂后,虽然有不少在新疆的中国人逃往苏联,但从没听说他们中有人就他们在苏联的生活经历写出过作品,雷光汉先生的这本书应是第一本。

雷书的贡献和价值

雷光汉是文革期间的“外逃者”,写了中苏关系紧张时期他在苏联中亚地区被审查、被监视、做工谋生活等等传奇般的经历。作者被KGB(克格勃)长期监控,以后又试图逃往伊朗,被抓回后再流放到南西伯利亚的国际囚犯农场。1979年中越之战,苏联入侵阿富汗,他都在中亚,还经历了中苏关系解冻的80年代和90年代初苏联解体的岁月,称的上是一本内容丰富的实录。

对苏联的中亚(而不是远东)地区,中国人相对了解不多。文革中红卫兵翻印过反修小册子,写中国留苏生在塔什干,都是苏联人怎么偷偷对中国留学生说他们热爱毛泽东。从这些膨胀的叙述中,根本无从了解当时当地的真实情况。实际上,从第二次世界大战起,中亚就是苏联当局严控的地区,曾将许多政治上被怀疑的少数民族大量迁徙至此,中国音乐家冼星海就是被安置在阿拉木图,以后也病逝于此的。

雷先生长期生活在苏联的底层社会,他接触的多是“下里巴人”,这是那些短期访苏,走马观花的中国高干和社会名流根本接触不到的群体。这些人写的访苏游记,除少数外,或是浮光掠影,或是借游记抒发满头脑的亲苏、慕苏情结,在价值上和雷光汉的书稿完全不能同日而语。例如,通过雷的书稿,我们才知道,在中国人受压最深的勃列日涅夫时期,歧视中国人最厉害的还不是俄罗斯人,他们中的多数对中国人都还算友好,对中国人最坏的却是苏联的xx族等少数民族,“xx人的姓名因和中国人一样,长相也差不多,他们害怕别人把自己当成中国人,和中国人的距离拉得越远越好”,所以处处表现出自己对于中国人不一般的“愤恨”。他们口口声声我们苏联怎们好,你们中国怎么坏,每当遇到坏事,都是中国人干的,一逢上节日,大家都紧张,“中国要向我们进攻了”的谣言总会传到耳中。

雷先生的书稿描写了形形色色的中国“外逃者”,提供了在中亚地区中国人的众生相。例如,“伊塔事件”(1962年4-5月)前在中国新疆军区任少将的维族人(其实是俄罗斯族),跑到苏联后就在阿拉木图市场卖西瓜。作者说,在苏联的中国人死心踏地做汉奸的多是那些素来革命的“左派”,“被KGB利用的狗腿子也大多数是这些人……跑到外国来了,失去主心骨了……自然和KGB一拍即合”。相比之下,那些被解放军赶到苏联的前国民党时代的军政官员,一般都还洁身自好,也心系祖国。笔者印象特别深的是雷先生提到一位新疆边防军战士,因为一直入不了党就越境跑到了苏联,为了讨苏联人的好,马上将对中国领袖的崇拜转变成对勃列日涅夫的崇拜。他将俱乐部挂着的勃列日涅夫画像偷偷拿下来,压在自己房间桌子上的玻璃板下,周围还用红布镶上了边,在像前供着插在酒瓶里的松枝,松枝上挂着一首用毛语录改成的快板诗表达忠心:“领导我们的事业的核心力量是苏联共产党,我一颗红心献给苏联共产党,永远跟着苏联共产党中央”,每天像念魔咒般对着勃氏画像念念有词。他以为这一套在中国吃得开,在苏联也一定吃得开。可是苏联人见了觉得很奇怪,“因为没有一个苏联老百姓如此热爱勃列日涅夫,更没人在宅内贴他的肖像”。后来,因为苏方没有接受他当苏共党员,他就把勃氏肖像的眼睛挖了,一个月后,区警察局派人把他抓走了,以流氓罪判了15天劳役。苏联人下手还是轻的,如果在中国,单凭这一条,就得挨枪子儿。此等鲜活的细节,是那些短期访苏者,甚至留学生也永远无法发现的。

“外逃”曾是一个严重的罪名

雷先生是一位“外逃者”(有时也被称作“叛逃者”),这在文革或文革以前都是一个令人毛骨悚然的罪名,且不说那时被检举“偷听敌台”就得坐牢,若是被认为是“叛国投敌”或“企图叛国投敌”,被捉将回来,不被枪毙,也得判个长期徒刑。

最早知道“叛逃”这个词还是在文革前,报上说中国驻荷兰代办叛逃到了美国!看到这条消息使我非常震惊,这么重要的外交官怎么也会叛逃?以后读书多了,知道的也多了,有一次居然发现我喜欢读的那本反蒋小说《侍卫官札记》的作者也是一个“叛国投敌”分子。还听说文革中的中国驻越南大使要叛逃朝鲜,在鸭绿江边被抓了回来,结果被判了十年徒刑(1979年后该大使获得平反)!

以上都还是一些个别现象,实际上,“外逃”作为一种社会现象,在建国以后就出现了,1957年后人数迅速扩大,除了广东沿海一带的居民,在政治运动中蒙受打击走投无路的右派、知识分子也加入了外逃大军,只是后者成功的极少。他们大多天真,缺少社会阅历,又不熟悉当地的地理民情,更无钱和蛇头拉上关系,加之不会说广东话,要逃到香港,比登天还难。我的一位忘年交朋友,1957年在大学读书时被打成右派,当大多数右派大学生对什么南斯拉夫、英国想入非非时,他既不去英国代办处要求政治避难,也不去南斯拉夫大使馆寻求保护,而是涂改了学生证,买了一张南下深圳的火车票,准备逃往香港。谁知刚下火车就被当场捉去,从此在青海格尔木劳改了二十多年。

那些成功的逃港者,多是广东沿海一带的居民,人数最多的一波是1962年5月,以后才知道这是当时的广东领导者有意睁一只眼闭一只眼,在大饥荒年月中放逃饥民的一条生路,同时也是为了减轻当地的粮食压力。广东老作家陈残云的小说《深圳河畔》的书名很吸引人,可是他一个字都未提起逃港风潮。在那个年代,谁都不敢公开点出这个问题。

与广东大逃港差不多同时,发生在1962年4-5月的新疆“伊塔事件”,既与当时中国的经济困难有关,也是苏方对中方“反修”的报复,在苏联驻伊宁领事馆人员的策动下,北疆几个县有六万多中国人外逃苏联。在这之后,在中国的压力下,苏方关闭了边界,一直到文革初期。可是没想到,文革中居然还有人不怕死,通过不同方式越过中苏边境当局设置的种种障碍,跑到苏联去,而逃苏人数之多,要不是读雷先生的书稿,也是很难想像的。

所以在文革中的大字报上看到老人家就傅聪“叛逃”一事说的一番话,就知道决不能当真。他说,让他们跑(到国外去)吧,让他们去吃黑面包(大意)。虽然在“伊塔事件”发生时,他批准新疆军区的两个俄罗斯族少将(新疆军区副参谋长祖龙太也夫、伊犁军分区参谋长马尔果夫)要求回苏联的申请,甚至还指示给他们开欢送会(跟随他们回苏的还有军队中的俄罗斯等族校、尉级军官四十余人),但那只是极个别的事例,不具普遍意义。最高领袖批准军队中的亲苏分子回苏联,着眼点是为了彻底清除苏联在中国军队中的影响。李丹慧的研究提到,“伊塔事件”后,中国大大加快了遣返苏侨的行动,甚至放宽到“苏联侨民中的政治嫌疑分子和接触一般机密的人申请出境,一般不要阻留,应当迅速批准,让其离境”。“申请出境的苏联侨民,如有未了民刑案件和债务纠纷,应当尽快设法解决”。“苏联侨民的中国籍直系亲属,要求一同出境,可以听其随走”。中方对要求前往西方国家的苏侨333人也提供了协助,这在过去都是不可能的。但所有这些都是为了政治上的考量,即把“苏修”在新疆的“腿子拔掉”,具体办法就是“挤其出境”。到了1966年文革爆发前夕,50年代末在新疆的12万苏侨,只剩下201人了,他们实际也处在中方的监控之下,这样就基本清除了苏联在北疆地区长期经营形成的社会基础。

所以,桥归桥,路归路,1962年对“伊塔事件”的忍让态度,并不意味中国将把此奉为长期政策。在社会主义国家中,只有卡斯特罗在60年代前期的几年让愿意离开的古巴人坐船前往美国的迈阿密,其他社会主义国家,中国、苏联(除了20年代初很短的一段时间里,列宁曾放了一些俄国著名知识分子去欧州)等都没有这样“洒脱”。东德为了防范它的人民“叛逃”到西德,1961年8月13日,还特地建了那道有名的“反法西斯防卫墙”,不知有多少东德人被自动步枪扫射倒在柏林墙下!也是在1967年,还是从大字报上看到音乐家马思聪在逃到美国后写的那篇有名的文章《我为什么离开中国》,至今还记得这份大字报前人头攒动,却没有声音。写到这里,联想到中国在1979年后允许自费留学,进入21世记后,又开放港澳游、港澳自由行、台湾游以及中国公民国外旅游,这是多么大的变化和进步啊!

雷的书稿中说,1966年6月“文革”开始后,7月份伊犁就有人逃苏,最先逃去的汉族人,苏联都送回来了。一送回中国,就开公审大会,把外逃者枪毙,以后苏联就不往回送了。“这次外逃虽然没有成潮,可经历的时间十分长,一直延续到1982年”。“逃亡者也是泥沙俱下,有受迫害的知识分子,下乡的知识青年,失败了的‘造反派’,犯了罪的红卫兵,被打倒的‘走资派’,甚至,还有一些不得意的中国边防军官兵”。

据雷先生的观察,KGB是按几种情况处理的:“凡属受政治迫害的知识分子一律收留,不判刑,审查后即分配在城市工作。凡带家属或孩子逃过来的或者受到政治迫害的普通工人,农民,学生,在审查后安排在城市或农村,大部分在农村工作。凡一般因生活问题逃过来的或者在中国有刑事问题的红卫兵,群众组织的头头或成员,在审查后便会以”破坏苏联国界罪“送到国际劳改营服刑1-3年,再送到集中中国逃亡者的北方农场干活”。

雷先生说,中国人过来以后,大部分在农场或工厂打工,也有照相,钉皮鞋,卖烤肉串的,只有个别人当上了教员,医生和画家,也有以后成了工程师,博士的。他们中只有少数人保留了中国国籍,大部分都入了苏籍,少部分不愿归化苏联的人就持无国籍者的护照生活。

这些当年的外逃者如果不是文革结束,注定是要被当作“叛国投敌分子”永远受到谴责,他们自己也不敢回国,除非认罪自首。雷先生在1980年代后,作为“无国籍者”,和我国驻苏使馆取得了联系,使馆人员对他亲切有加,给他恢复了中国国籍。

这都是因为国内大气候发生了变化。他可能有所不知的是,在平反冤假错案的大潮中,最高法院1979年后有了新精神,宣布要将因生活困难,出去投亲靠友,找生活出路,或在运动中因一般问题,或没有问题而偷越出境的人与因贩毒等追求私利而出逃的人区别开来,更要同为叛变投敌,资敌而出逃的人区别开来,前者是违法行为,后者是犯罪行为。这样,雷先生才获得解脱,后来还成了爱国侨领。

1970-80年代初,苏联百姓丰衣足食,生活水平远超中国。在中国官方的对苏叙述中,有关苏联人民生活水平的问题是随两党两国关系的好坏而变化的,简言之,关系好时,中国人被告知苏联人生活在天堂里,“楼上楼下,电灯电话”。那部摄于战后乌克兰大饥荒岁月,粉饰生活的苏联电影《幸福的生活》在中国大放特放,不知迷倒了多少天真善良的中国人,以至于1949年任弼时要对陪同他前去苏联治病的中方工作人员提前打预防针,告诉他们,苏联刚从战争中走出来,正在恢复,各方面都很困难。中苏交恶后,中国人又被告知,苏联人吃的是黑面包,西红柿只有乒乓球那么大。再以后,国人又跟着领袖嘲笑赫鲁晓夫的“土豆烧牛肉共产主义”,好像自己吃得比苏联人还要好,其实中国当时不知有多少农民真的如同赫鲁晓夫所说,喝得就是“清水大锅汤”(这句话也是道听途说,到现在也没见过赫氏原话的材料)。

应当说,在50年代中国公私合营前,中国的轻工产品大大丰富于苏联。我有一位前辈朋友是1952-1957年列宁格勒大学的留苏生,他告诉我,在参加1955年屠格涅夫国际学术研讨会期间,一个不熟悉的苏联教授用各种花言巧语(“中苏友好”一类大话)用他质地非常差的领带,和他交换了他从中国带来的一条领带。他临毕业时,苏联朋友看中了他的一件出国时由组织上置办的呢绒大衣和一只牛皮箱,也想交换去,但他没有答应。尽管如此,赫鲁晓夫上台后,苏联一般百姓的生活水平仍明显高于中国。1957年夏,我的这位朋友学成归国,发现怎么国内到处都有“叫化子”,此事给他留下极深的印象。当时正是反右运动高潮,他知道,必须对此三缄其口。他如此谨慎是有道理的,以后仅在列宁格勒大学的中国留学生中就打了四名右派,并被遣送回国。

斯大林去世后的赫鲁晓夫的十年和勃列日涅夫的十八年执政岁月是苏联承平的年代,勃氏上台坐稳江山后,逐渐停止了柯西金的经济改革措施,以推行新斯大林主义、维护特权集团利益和加紧对外扩张作为基本政策的出发点,但是毕竟没有像中国那样瞎折腾,到了70年代,国家的整体实力走向高峰。

雷光汉生活的地区是苏联欠发达的哈萨克加盟共和国,以后被KGB安置在塔拉兹(斯)市,此城在斯大林时代叫江布尔市。江布尔是哈萨克一位著名的行吟诗人,活了将近百岁,在50年代的中国颇有名气,他曾因歌颂“兴都库什山的雄鹰斯大林”而蒙受恩宠。

雷书稿提到,苏联地广人稀,工作非常好找,中亚地区体力工人的工资很高,远超过医生、教师等知识分子,女医生、女教师嫁给工人的比比皆是,政府且不断下调物价和增长工资,在苏联实行的是全民公费医疗,全民义务教育,全民社会福利,“只要在苏联土地上,不管户口在何处,看病,上学都不花钱,住院了还发全额工资”。“人人都得上完十年制中学,相当我国高中毕业。学校全部免费,包括免费教科书和午餐”。“每个城市,每个区,甚至每个大些的单位都有自己的儿童夏令营,建在山上或河边的风景优美的地方,房子像疗养院一样好,辅导老师,医生,护士,厨师一应俱全。学习,游乐,体育设施应有尽有”。

物价、房租和交通费极其低廉,一块列宁格勒出产的东方牌手表,才15个卢布。水电煤气和公共交通费用都只是象征性的。市内交通一次,不分远近都是5戈比。1个人1个月煤气费50戈比,水费20戈比,一度电2戈比。一般群众的生活都非常富足。作者在80年代初结婚生女,政府马上分配给市中心一大套三居室,房屋虽然不豪华,但铺有地板,房租极其便宜。

现在知道,70-80年代初苏联人的生活富足全赖政府出口石油和天然气挣得的大量美元所赐,到了1984年后,物价出现上涨而工资都已冻结,90年代叶利钦上台后推行“休克疗法”,使老百姓手上多年积攒的卢布一夜间变成了废纸。

雷书详细叙述了他所接触的苏联KGB这个神秘的组织全面渗透在中亚的华人社区,大量招募特务,无孔不入的情况。其搜集情报的效率之高,也可堪称世界之最。从他的书稿中也可以得知,到了70年代,KGB工作人员已一改斯大林时期之魔鬼形象,全面实现了知识转型,仅他所接触的KGB,就发现有100多人通中文。这些职业特工有礼貌,有文化,他们攻心为上,在审查雷先生时会对着他唱50年代中苏友好岁月时的流行歌曲《莫斯科——北京》,中国第一颗人造卫星上天,KGB居然向雷先生表示祝贺,使他虽亡命异邦,还能保有一份作为中国人的自豪。作者还说,“KGB的监狱是苏联最文明的监狱,没有见过犯人受骂挨打的。伙食不好,面包却吃不完,发的莫合烟也抽不完。每月允许亲属送食品和日用品一次,每次四公斤”,“至于警察局管的监狱则是暗无天日的地狱……搬到当时的中国来也是骇人听闻的”。作者感叹苏联特工的文化素养之高与他曾打过交道的文革期间的中国“公检法”之简单粗暴形成强烈对比。

作者对建国前KGB在中国的活动有一定的了解,知道大名鼎鼎的KGB–塔斯社驻华记者罗果夫和他的掩护单位——上海著名的时代出版社。其实,苏联驻国民政府大使,以后又担任苏联首任驻中华人民共和国大使的罗申也是一个KGB将军。此人在新中国还故伎重演,企图在中国人中发展苏联情报员。苏联驻重庆的潘友新大使也是KGB将军。但说来中苏原是一家人,中国的反间谍相关业务也是在苏联专家的全面指导下开展的。例如,刚进北京城不久,苏联就派出KGB专家检查中南海的空气,查空气中“有没有什么有害物质”,让许多老干部开了眼界。又如领导人的食品检查制度,也是苏方手把手教的。邮件检查系统也是在苏联专家的帮助下建立的。苏联在中国公安部总顾问的办公室就安排在部长罗瑞卿办公室的外屋,他可以阅读公安部的一切报告和文件。毛要求李克农对苏一切公开,“脱得光溜溜”,但李心中有数,私下对社会部干部说,即便脱光,心中想什么,对方还是不知道的。

到了50年代末,中苏关系出现裂痕,中国方面对从苏学习归来的留学生已有防范,提醒他们不许“乱说”苏联的情况。中国官员与苏联人私下的一般交往,甚至在北京著名的莫斯科餐厅与苏联记者吃个便餐,都会被怀疑是“传送情报”,第二天就会受到单位领导的警告。接下来的几年是中国的大饥荒,都有中国大学生不知深浅地给苏联驻华使馆写信,甚至要求苏联方面批准他们前去苏联留学,其思想之幼稚,今人难以想象。更有甚者,60年代初,在中南海工作的工作人员,有亲属曾经留苏的,原家如住中南海,都被要求一律搬出。1960年从苏联高干子弟云集的学校——莫斯科国际关系学院学成回国的中国留苏生,也整体地被不信任,全部被安排做次要工作。所有这一切,都是为了防范KGB在中国的渗透,今天看来则是反应过度。

60年代初以后,随着中苏关系的恶化,一些领导人对苏焦虑感与日倶增,KGB被无限放大,谍影憧憧,康生等有了用武之地,也懒得对留苏人员再作区分,干脆采取“一锅煮”的政策。长期担任毛的俄文翻译的师哲虽然在30年代曾是“格伯乌”(KGB的前身)工作人员,但在1940年就回到延安,到了1962年也被关进了秦城。同年,康生还把前中共驻共产国际代表团工作人员,原东北局外事处负责人,中共妇运元老卢竞如投入秦城,一关就是十八年。到了文革,更是把大批历史上与共产国际、苏共有联系的老干部、新干部如阎宝航、阎明复父子,吴克坚、萧三、李立三的夫人李莎等统统打成“苏修特务”或“苏修特务嫌疑”,全部投入秦城监狱。

以常理看,作为北大学生,当属天之骄子,其实北大早已不是“五四”时代人们心目中的民主发源地了。建国后,北大历经各种政治运动特别是1957年反右运动的冲击,五四以来的学统已完全断裂。老知识分子遍体鳞伤,早已三缄其口。校系党的领导,多为政治挂帅的政工干部,学校还收取了为数众多的调干生,康生、陈伯达等也不时来北大作大报告,学校的整体氛围已彻底改变,在这种情况下,学生能学多少,全赖自身的努力,而学生间的对社会批评性的思想交流,因恐惧告密,也基本不复存在。这就使得一些学生除了专业,几乎不再有个人的思想活动,他们对世界,对中国的看法,全都来自《人民日报》和领导的讲话。雷光汉在书稿中提到他逃到苏联后,向审查他的KGB提出,要求把他送到台湾和新加坡,他的理由是那两个地方都是中国人的地方,他愿意生活在中国人中间。可问题是,苏联人为什么要满足他的个人愿望?雷说,因为中国报刊说,苏美合作主宰世界,他以为到了苏联,就可以自由到世界各国去。雷先生如此天真,自然是处处碰壁,在KGB眼里,判断一切事物的唯一前题就是估量他对苏联有无实用价值。文革中跑到苏联的流亡者,他们中的绝大多数人,既不接触中国的绝密情报,也不是中央领导人的子弟,他们的利用价值非常有限,不把你派回中国做间谍,已是开恩,你还想这个,要那个,纯属异想天开。作者提到,他向KGB提出“政治避难”的要求,被当场挡了回去,苏方告诉他,可以接受他“避难”,但他不具“政治避难”的资格,“只有王明才有政治避难的资格”,“因为你只是一个教员,不是刘少奇,不是乌兰夫。”

作者对中苏两国体制的弊端有较深认识,但过于强烈的爱国主义也使他存有某种“护短”的心态。作者是1961年的北大历史系毕业生,因对历史上俄国侵华行径不满被被打成“反苏分子”和“右派”,后被发配在伊犁离霍尔果斯口岸七公里的一所中学教书。在中苏两国的经历使他对两国体制有很深的体会,他认为苏联是一个“虎狼之国”,一直对中国抱有扩张的野心,但是他也承认,苏联比中国文明进步。他说苏联的制度和“文革”前的中国制度相比有一个大的不同,“那就是苏联还容许人性的存在,而中国把所有人的人性都消灭光了”。他待过几个苏联监狱,发现“里面的狱头狱卒,审判官员,都还有人性,对不幸者有同情心,只要在框框之内,请他们帮点忙,给点方便是不会遭到拒绝的。中国却完全相反,一次次严酷的阶级斗争把官员最起码的人性都抹掉了,他们的教育水平又低,最少文明修养”。他说,他见到的国内那些整人的人,“没有一个不是性如虎豹,心似蛇蝎,一脸凶相有如夜叉的”。他还说,虽然“离开祖国也多半辈子了,还时时做着挨整的梦。梦中整我的人不是KGB”,而是国内那些自己的同胞。

然而,作者在某些关键性问题上的态度也是矛盾的。这本书稿写于2000年,作者声称,他压下书稿是担心书稿出版后会损害中国,其实批判极左主义与损害中国,完全是风马牛不相干的事。更令人匪夷所思的是,他跑到苏联,却情不自禁地成了国内某些极左方针和理论的辩护士。例如,他读中苏论战的“九评”,觉得“篇篇是雄文”,而苏方的应战文章又是如何没有水平。国内在文革中大骂王明是叛徒和叛国分子,他也跟着大骂王明是“奸贼”,说如果王明在他眼前,他要上去打他几个耳光。总之,他看苏联是处处不顺眼。依常理,作者亡命苏联,苏联纵有千般不好,万般不是,但是没有把他送回中国,否则等待他的只有被枪毙或被判重刑,对收留他的苏联,他似乎多少应有一丝感激之情,可是从书稿中却找不到这样的痕迹。书稿中KGB对雷说的的那句话是击中要害的:“你们中国人逃到苏联后都说自己是爱国者,可是谁都不敢反对毛泽东,一挨斗就跑到外国去,你们都是怕死鬼。”雷先生也承认,听到这番话,感到无地自容。

尽管觉得面子上难堪,然而并不影响雷先生的态度,他的态度就是“爱国”,由爱国的立场出发,他绝不允许苏联人当他的面批评中国的最高领袖。以后发展到“如果有人骂xxx”,雷先生就要和他“干仗”。有的苏联人奇怪地问他:“你们如此地热爱你们伟大的领袖,为什么还跑到我们苏联来了呢?他回答道:“我们中国的事不能叫外国人管,中国的xxx不能叫外国人骂。”

雷先生的思想和逻辑出现了严重的不连贯性。与雷不同,我所读过的一些外逃者的回忆录在思想和逻辑上大都保持着一贯性,其中一本回忆录的书名就是《月是异乡明》。该书作者生活在著名侨乡广东潮汕地区,建国时只有12岁,对共产党充满崇敬之情,但因“原罪”在身(其父是逃往台湾的国民党少将),与其母被扫地出门,又因长期收不到侨汇,饥寒交迫,被当地干部和群众蔑视,最后抱必死决心,于1958年冒险犯难,偷渡深圳河,来到香港,以后投奔在台的父、兄,虽然受到国民党特务机构长达五年的秘密审查和监控,但他还是觉得“月是异乡明”。有意思的是,在此书作者的出逃计划中,居然把苏联也列入出逃国之一,尽管放在最后一位,他说虽然苏联也不好,但起码不天天搞运动,开批斗会,还可以读书升学。他有如此的认识是令人吃惊的,因为他只读了六年小学,其间因是地主后代还被无辜开除,以后千辛万苦才上了一所极为简陋的华侨子弟补习学校,他的知识和识见主要来自于他的借书自学和人生经验。

雷光汉的思想和逻辑矛盾的深层原因,我称之为“自大的爱国主义”。雷先生在新疆当年的朋友萧默先生称他是“痴情的爱国主义者”,也是有道理的。从他的书稿看,雷先生的爱国主义有时显得混沌不明,在对苏联的问题上尤其如此。说来他并不了解50年代后中苏关系破裂的原因,随着更多的历史档案资料的问世,现在已越来越清楚,中苏双方对此都负有责任,而不能把关系破裂的责任全都归咎于苏方。作者多次提到,在赫鲁晓夫时期,在苏联的中国人比较自由,可以自由选择居住地,但是到了勃列日涅夫时期,苏当局全面收紧在苏中国人的居住自由权,中国人不许居住在莫斯科与列宁格勒,只能集中安置在中亚地区或其它边远地区。1964年10月勃列日涅夫上台后,几乎公开批判赫鲁晓夫,没多久就开始在思想和政治领域全面倒退,为斯大林恢复名誉;中国方面批判“赫秃子”更是不遗余力,一时间双方似乎形成了歌颂斯大林,反对赫鲁晓夫的统一战线,而中苏两国的老百姓对这些言论都照单全收。作者虽然肯定赫鲁晓夫在推动苏联“解冻”方面做出了贡献,但几乎未提及赫氏在改善中苏关系方面所作的努力,这是书稿的一个不足,当然,这不能归咎于雷先生。今天我们从苏联解密档案中知道,1954年10月赫鲁晓夫访华,他顶住苏共政治局内不同意见的压力,坚持要把从中国获取的权益归还中国以及大规模对中国进行经援和军援。而被中国高度称颂,视为同志和亲人的“伏老”(伏罗希洛夫)却是地道的大国沙文主义者。1957年春伏罗希洛夫访问中国,本来只是一次没有具体任务的礼仪性访问,却受到最高礼遇,中国方面可能是为了给赫鲁晓夫一点“眼色”看,有意超规格的接待这位斯大林的战友,中国最高领袖不仅亲自去机场迎接,还罕见的陪同客人乘敞篷汽车前往宾馆,接受数十万群众的夹道欢迎。他和其他中国领导人是否知道,就是这位貌似慈祥,动辄就会流泪的“伏老”,坚决反对将旅顺军港归还中国,赫鲁晓夫为了争取他的谅解,做了大量工作,直到出访北京前几天,才勉强得到他的同意。

“爱国主义”——宗教式的凭籍

随着雷先生展开他的奇特的旅苏生涯,我在思索雷先生究竟要追求什么?他的“爱国主义”出了什么毛病?

雷先生要生命安全。他在文革的高潮中为免遭镇压,被迫亡命苏联,这是无可厚非的,孔夫子也说过:“道不行,乘桴浮于海”,我们总不能要求一个无罪的人.引颈待戮来实践他的爱国主义。他因地利之便,泅河到了苏联,当年又有多少知青逃港不成而浮尸深圳湾海面,相比之下,雷先生是幸运的。

逃到苏联后,雷先生被KGB长期监控,又受到在中亚的苏籍XX等族人的恶意对待,激起他强烈的爱国主义。雷先生来到苏联后写的有关新疆四年文革历史的材料被苏联人搜去并改编后以化名出版,以后在他出逃伊朗被抓回后还因此减轻了对他的处罚,但苏联人要他在批判中国的电视片中现身,他坚决不从,还处处批判苏联,歌颂中国,这才引起KGB的那些嘲讽话。尽管雷先生不愿意批评中国最高领袖,但他的出逃本身就是一种无声的抗议,于是雷先生更加热爱中国,甚至到了80年代,他还带话给国内有关方面:在我国宪法上加上一条:在苏维埃帝国没有崩溃以前,凡主张中苏友好者,应以汉奸论处!其态度之绝决,令人难以想像。看来在绝望和困境中,爱国主义也可能成为一种宗教,雷先生就是一典型的范例。

那是一个意识形态大行其道的特殊的年代,苏联和中国都不正常,置身在那个时代,中苏两国的大人物或是升斗小民,他们的言和行,在今人看来多少都有些不合情理,比如,今天若再读在几十年内被奉为金科玉律的苏联理论沙皇苏斯洛夫或波洛马廖夫的大作,几乎就是一种自虐行为了。所以,雷先生的爱国主义即便有些偏颇,也是可以理解的,在当年的那种情况下,除了爱国主义,他还有什么可凭籍的?雷先生毕竟是北大毕业生,和那些普通逃苏者不一样,除了要活命,还要追寻“生活的意义”。作为一个“无国籍”人,在苏联到处被监控,台湾、新加坡不能去,大陆搞文革天昏地暗,更是有家不能回,这种内心的辛酸和煎熬,他人又怎么能够体会?于是爱国主义便成了他的安身立命的防御性的武器!

读雷先生的书稿,很自然带出一些问题,但更多的是一份尊敬和欣赏,就是那些疑问的方面,我也愿意回到历史的具体情境中去,以一种同情与理解的态度,设身处地的去体谅他。今天无论从哪个角度看,雷先生的书都是有很高价值的,是他用半生的心血写出来的,值得研究和关心中苏关系史的人们的重视。

刊于《领导者》总第39期(2011年4月) – See more at: http://blog.creaders.net/u/5661/201509/234078.html#sthash.E6le2Mzv.dpuf


Sketch Tutorial for iOS Developers

$
0
0

Sketch Tutorial for iOS Developers

If you’re new here, you may want to subscribe to my RSS feed or follow me on Twitter. Thanks for visiting!

Sketch for OS X

As an iOS developer, I’ve worked on a few projects without a designer, and let me tell you – it can be tough.

But one thing I’ve learned though these types of projects: even if you’re working without a designer, design is important – especially iterating on design.

Let’s face it, clients don’t always know exactly what they want. Jumping straight into Xcode before they figure it out usually ends with massive frustration and lots of beautiful code being thrown away.

The safer approach? Nail down the spec first by iterating on design mockups rather than code.

But how can you design without a designer?! Well, one great option is Sketch.

Sketch is a great tool for creating logos and custom icons. It’s vector-based, which means you can resize without losing quality. Since it includes iPhone device-sized Artboards and a built-in UIKit Template, you can also use Sketch to create mockups for design iteration. Plus, Sketch is simple enough for a busy developer to pick up quickly.

In this tutorial, you’ll learn how to:

  • Create a mockup using the UIKit Template.
  • Create icons using the Vector Tool.
  • Create icons by combining basic shapes.
  • Export image assets for Xcode.

And best of all, you’ll be able to follow along even if you’re a developer like me. Get ready to level up your design skills!

delete

Getting Started

First things first, you’ll need Sketch. Download the 14-day trial at www.sketchapp.com. License activation costs $99.

Once you have Sketch installed, open Sketch, and sit back, relax, and get ready for a grand tour!

In the sections that follow, I’ll give you a tour of the various UI elements in Sketch and will challenge you to make various items. Note that everything you make is just for learning purposes; after you make it, you can safely delete it as you won’t need it later in the tutorial.

Let’s begin the tour!

Templates

The iOS UI Design template is a collection of UIKit components in vector format. It has a Tab Bar, Nav Bar, Table View, and more. You can use this as a springboard for creating mockups.

Let’s try this out. Select to File\New From Template\iOS UI Design, and you’ll see the following:

Creating a new iOS UI Design template in Sketch

Notice there’s a Material Design option for the Android folks.

You’ll see a huge template with various iOS UI Components. You can move around the canvas by holding space and clicking to drag, and you can zoom by holding command and using your mouse wheeel.

Artboards

You can draw anywhere you want on Sketch’s infinite canvas, but if you’re mocking up an app with multiple screens, you’ll want to use Artboards. An Artboard organizes layers inside a fixed frame. When you export the Artboard, all the layers inside get combined into a single file. Think of them as View Controller Scenes in aStoryboard.

Let’s try this out. Perform the following steps to create a new Artboard:

  • Hold space and drag until you have a clear area of canvas on the screen.
  • Click the Insert button and select Artboard from the list.
  • In the right pane, choose iPhone 6.
Note: This image and some of the other images in this article are from an older version of the iOS UI template. Although the locations of the UI elements may be in a different spot, the instructions in this tutorial still apply.

artboard

You should see a blank Artboard called “iPhone 6” in portrait mode. By default, a newly created Artboard will envelop any free-floating elements it overlaps. If this isn’t your intention, first pan to a clear area of the canvas.

You can add as many Artboards as you like. Sketch has sizes for iPhone, Apple Watch, and even the iPad Pro. If you ever need to get rid of an Artboard, just click on the title and hit delete.

Note: If you need an artboard of an arbitrary size, you can simply go to Insert\Artboard and then drag a box of an arbitrary size in your canvas.

Copy and Paste

Now that you have an Artboard, drag in a few items from the UIKit template. Start with a Navigation Bar, Tab Bar, and a Table View Cell.

Although you can copy and paste (⌘C and ⌘V) with Sketch, it’s hard to predict where the pasted item is going to end up. Instead, Option-Drag an item, and your copy always ends up where you let go of your mouse.

steal-from-template

Pro tip: The keyboard shortcut ⌘D duplicates the previous action. Option-Drag with ⌘D is a useful combo for creating multiple copies:

  • Option-Drag a Table View Cell directly beneath itself.
  • Spam ⌘D to create the rest of the cells.

Basic Shapes

First, create a new artboard to work with by clicking Insert\Artboard and drawing a square somewhere in the canvas.

Now, let’s make some shapes! Click Insert\Shape to see a menu of available options.

shape-options

In practice, it’s a lot easier to use the keyboard shortucts. Create an oval by typing the letter O and dragging your mouse across the screen. Do the same with R and you’ll make a rectangle. The most common shapes have their own keyboard shortcut:

  • L: Line
  • O: Oval
  • T: Text
  • R: Rectangle

See if you can use what you’ve learned to make this robot (note you may have to change your font settings to get this same look):

smiley-robot

Note: Hold down Shift as you drag in order to make proportional shapes like squares and circles.

Styling a Shape

Shapes are all well and good, but the client won’t be impressed unless those shapes are pretty! You can use theInspector on the right to change the properties of a layer, like color and border radius. Think of it like theAttributes Inspector in Xcode.

style-options

Here are some options you’ll be using in this tutorial:

  • Position/Size: When it’s difficult to drag to the correct spot using the mouse, type in the exact number. Click the lock icon to keep icons proportional.
  • Radius: This is a slider for adjusting the corner radius of a rectangle.
  • Opacity: This is useful for tracing images. More on this later!
  • Fills: Use the color picker to change the layer’s fill color, or uncheck the box for a transparent fill.
  • Borders: Set the thickness and color of the border, or disable it entirely.

Pro tip: Sketch has a built-in color dropper you can activate using Control-C. Not only does it work outside of the Sketch window, it will automatically set the color of the currently selected shape.

color-picker

Two of the icons in this tutorial use a pill shape as a building block. Try creating one for yourself by styling a rectangle:

  • Make a rectangle using the R keyboard shortcut.
  • Round the corners by setting the Radius to a large value like 100

pill-shape

You can also try changing some of the other settings, as mentioned above.

Layer List

The Layer List in the left pane contains all the layers in your file. Layers that appear higher in the list overlap the ones below. Think of it as the View Hierarchy in the Storyboard.

Groups organize layers logically. You can move multiple layers as a unit if they are Grouped together. You can also export a Group of layers as a single image. In the Layer List, Groups are represented as folder icons.

Here’s a list of common shortcuts for managing the Layer List:

  • ⌘G: Group multiple shapes together. Use ⌘-Shift-G to ungroup.
  • ⌘R: Rename the selected item.
  • ⌘-Option-Up/Down: Move an item up or down in the Layer List.
  • ⌘-Shift-L: Lock a layer in place so it becomes unclickable. This is useful in the next section.

layer-list

Pro tip: It’s good practice to rename layers to something meaningful, like “Tab Bar.” As it gets buried underneath other layers, you can easily find it in the Layer List. Then you can use ⌘-Option-Up to bring it to the forefront. Try not to use drag-and-drop to rearrange layers because you might wind up combining them unintentionally. Trust me, it happens!

Try grouping some of the layers you added to your iPhone mockup, and give them a descriptive name.

Vector Tool

Drawing circles, squares, and lines is fun, but pretty limiting. But with the Vector Tool, you can make any shape you want!

Shapes With Straight Lines

You can create any polygon just by clicking: the spots where you click become the corners of a shape.

Let’s make a polygon:

  1. Type V to activate the Vector Tool.
  2. Start clicking the corners of a trapezoid.
  3. Close the shape by clicking on the starting point.
  4. Click the Edit button, and drag individual vector points around to reposition them.
  5. Add a Fill color.
  6. Remove the Border.

trapezoid

Thankfully, since Sketch lets you reposition each vector point after the fact, you don’t need to have great drawing skills to use the Vector Tool. The mouse also snaps to the red guidelines as you drag.

Rotate Copies

A simple trapezoid might not look like much, but you can use it to derive other shapes using the Rotate Copiesfeature. Rotate Copies creates multiple copies of your shape and fans them out in a circle, like the petals of a flower. Let’s try it:

  1. Select Layer\Paths\Rotate Copies.
  2. Type in 3 copies (counting the original shape, you’ll end up with 4 total).
  3. Drag the white dot, which represents the center of the circle, to create icons like a bank logo, a shuriken, or a pinwheel.

rotate-copies

Sketch automatically combines your rotated copies into a single shape. This tutorial will cover shape combination in a later section.

Scissors

Right above Rotate Copies is a menu option called Scissors. There’s a neat trick where you can create a WatchKit activity ring using the Scissors tool:

  1. Create a circle (remember, use the O key and hold Shift and click to drag a circle).
  2. Remove the Fill.
  3. Increase the Border thickness to 25.
  4. Select Layer\Paths\Scissors.
  5. Snip open the circle by clicking the top left portion.
  6. Next to Borders, click the Gear button to reveal a popup menu.
  7. Select the rounded ends option.

watchkit-ring

Notice that a circle is really just a vector path made up of four points, and that vector paths can be open like the arc of a circle.

Pro tip: You can make the ring any length by adding an additional point to the circle before you snip. To do so, click the Edit button and single-click anywhere along the circle’s path.

Modes and Handles

Sketch represents a circle using four vector points. You can see this by drawing a circle, and then clicking Edit in the toolbar.

But wait a minute — a rectangle also has four vector points. What’s going on? The difference between the two is in the use of Bezier Curves.

circle-vector-points

Bezier Curves are lines you can bend into curves using control points. Sketch calls these control pointshandles. Each vector point comes with two handles that control the curvature on each side. This means that the curve of a line is determined by the handle at each of its ends. This isn’t as complicated as it sounds: in Sketch, you simply drag the handles until the curve looks good.

Sketch defines four different Modes based on the relative handle positions on a vector point.

vector-modes

  • Straight: The handles are retracted into the vector point, as if they didn’t exist. No handles means no curvature.
  • Mirrored: The handles are the same length and form a straight line, like the wings of an airplane. Use this to create symmetric curves.
  • Asymmetric: The handles form a straight line, but they can be different lengths.
  • Disconnected: The handles are positioned independent of one another.

In practice, making curves is pretty simple. Just double-click on a vector point and click on Disconnected. Then you futz with each handle like the rabbit ears of a TV antenna until the curve looks right.

To learn more about modes and handles, this article is a great resource.

Bezier Curve Theory

You don’t really need to know the math behind Bezier curves in order to use the Vector Tool — I sure don’t! :] But I have a non-math analogy that helps me understand how the computer is drawing this stuff on screen.

Imagine a grand slam in baseball, but the umpire isn’t looking and the runners are cutting corners. Keep an eye on the red path.

bezier

First base and home plate represent vector points. Second and third represent handles. The path from first base to home plate is the Bezier curve.

bezier-curve

Again, you don’t need to understand how Bezier curves work in order to use them, but if you’re interested, there’s an interactive visualization tool that simulates how the computer draws these things.

Vector Handles In Action

Enough mathing. Let’s use our new skills to create a map marker icon:

  1. Create a circle.
  2. Increase the Border thickness to 15.
  3. Click the Edit button and select the bottom vector point.
  4. Change the mode from Mirrored to Straight.
  5. Drag the bottom point downward to stretch it out.
  6. Drag the Corners slider to 35 to round out the corner.

map-marker

The map marker shape is really just a circle with a corner as one of its points. Easy! You’ll revisit the map marker icon later on in the tutorial.

Creating Custom Icons

When coming up with a logo idea, it’s easiest to prototype with pencil and paper or use an online image as a starting point. Then you can trace the picture using the Vector Tool.

In this example, you will be recreating the Ray Wenderlich logo.

  1. Rip a low-res version of the Ray Wenderlich logo right off the internet.
  2. Drag and drop the logo into Sketch.
  3. With the image selected, use the inspector to reduce the Opacity to 20% so it’s easier to trace.
  4. Lock the layer using Command-Shift-L so you don’t accidentally drag it around. You should see a lock icon next to the layer name.
  5. Type V to activate the Vector Tool.
  6. Click on all the corners of the logo. You don’t need to click on the curve of the “R,” but do click the first corner again at the end to close the vector path.
  7. Double-click anywhere along the path to Edit.
  8. Reposition any points that are off the mark. You can pinch to zoom-in to get it pixel perfect.

rw-logo-corners

To create the curve of the “R,” you’re going to put all your knowledge of vector point Modes to good use.

  1. Double-click the top-left corner, and it will turn from Straight to Mirrored.
  2. Change it to Disconnected.
  3. Stretch the curved-facing handle out toward the right.
  4. Tuck the other handle into the vector point.
  5. Find the vector point on the other end of the “R” curve and double-click it.
  6. Again, change it to Disconnected and drag the handles around. You might have to switch back and forth between both points of the curve before you get it right.

rw-logo-disconnected

Luckily, the RW logo only has a single curve. You can still use this approach for more complex logos — you just have more curves to deal with. The project you’ll download later includes a rough attempt at the Swift bird logo. I’m using Tab to cycle through each vector point to show the handle positions.

swifty-bird

Combining Shapes

Have you ever played that game Tangoes where you combine plastic triangles to form a rabbit shape? Previously, we covered creating icons using the Vector Tool, but another approach is to combine basic shapes.

In programming, you have Logical Operators AND, OR, and XOR. Sketch has something similar called Boolean Operators, but uses different terminology like Union, Subtract, Intersect, and Difference.

Union

Union adds shapes together. Let’s use this to combine a pill and circle shape to form a cloud.

  1. Create a pill shape by maxing out the Radius on a rectangle.
  2. Create a circle.
  3. Move the circle so that it overlaps the pill.
  4. Select both images, and click the Union button.

cloud

Notice how the outlines of the two shapes meld together. Voila! A cloud :]

Subtract

Subtract uses one shape to cut a hole out of another, like a cookie cutter.

The map marker from our previous example looks OK, but all the cool kids nowadays put a donut hole inside their map markers. You can do the same using the Subtract button:

  1. Create a map marker icon, but this time make sure Border is unchecked.
  2. Create a small circle and drag it onto the map marker.
  3. In the Layer List, drag the circle layer onto the map marker layer to combine the shapes.
  4. Expand the disclosure triangle on the newly combined shape.
  5. Make sure the hole layer is above the map marker layer.
  6. Click the boolean-operator icon to the right of the layer name to reveal a pop-up menu.
  7. Select Subtract from the menu.
  8. Select the donut hole sublayer and use the arrow keys to fine-tune its position.

map-marker-hole

Whew! Subtraction sure is complicated. But there are a few important concepts to take from this example:

  • You can drop layers on top of others within the Layer List to combine them. How cool is that?
  • When you combine the shapes, Sketch makes an educated guess about which operator you intended to use. If you see the None option selected, Sketch is picking one automatically.
  • For subtraction, order matters. Make sure the hole layer is always on top. If your shapes disappear, try rearranging the sublayers in the Layer List.

Fill vs. Outline

For this part of the tutorial, you’ll need a starter Sketch file I’ve prepared for you and double click it to open it. You should see the following:

finished-artboard

This starter file includes a one-page mockup and custom vector icons – feel free to review them to see how they were made. There are also some before-and-after Artboards, including a few for tab bar icons which you’ll use in this section.

Tab Bar icons change color based on the selected state, but some icons have a lot of empty space, so the color change is too subtle. In these situations, the Apple Human Interface Guidelines recommend using a separate filled version of the icon as the selectedImage. The mockup of the RWDevCon app has both a filled and outline version of each Tab Bar icon.

fill-vs-outline

In the Sketch project file you downloaded earlier, there’s an Artboard called Calendar Starter which contains several building blocks that you’ll combine into a calendar icon. These building blocks are just rectangles and pills, which you already know how to make.

To create the filled calendar icon:

  1. Open the Sketch file and expand the Calendar Starter Artboard in the Layer List.
  2. Select the Calendar Body and Separator sublayers.
  3. Press Subtract.
  4. Shift-select the Right Hole layer and Subtract it from the above shape.
  5. Also Subtract the Left Hole layer.
  6. Shift-select the Right Ring layer and click Union.
  7. Add the Left Ring layer using Union.

calendar-fill

You should end up with a single shape that contains all the sublayers of the calendar-fill icon. Everything should be green except for the subtracted areas, which should be clear. If you run into any issues, use the Calendar Fill Artboard directly beneath for comparison.

Now that you have a filled icon, it’s time to create an outline version by resizing one of the sublayers.

  1. Find the Calendar Fill Artboard on the canvas.
  2. Expand the Calendar Fill Artboard in the Layer List.
  3. Expand the Calendar Body layer and select the Separator layer.
  4. Increase the Separator height to 35.

calendar-outline

All it took to create the outline version of the calendar icon was to turn the separator line into a square. If Sketch doesn’t let you drag to the exact height, you can just type the number into the Inspector instead.

Round Profile Avatars

The RWDevCon mockup has round profile pictures of each speaker. To achieve this effect, you’ll use the Maskfeature, which is very similar to Subtract. But rather than cutting a hole, Mask trims the outside of a shape like the crust off of a peanut butter and jelly sandwich.

Let’s create an avatar:

  1. Expand the Greg Before Artboard in the Layer List.
  2. Inside this Artboard, create a circle big enough to cover his face.
  3. Select both the greg layer and the oval layer you just created.
  4. Make sure the mask layer (in this case, the oval) is on the bottom.
  5. Click the Mask button.
  6. Expand the newly combined greg layer and select the Mask layer.
  7. Add a Border, and use the arrow keys to adjust the position.

greg-mask

Make sure the masking layer is on the bottom. This is the opposite of Subtract, where the hole goes on top.

Image Export

You can export a single layer by clicking Make Exportable near the bottom right of the screen.

If you want to export multiple layers, there are a couple ways to do this:

  • Group: When layers are grouped together, you can export the Group as a single image.
  • Artboard: All the layers inside the Artboard are exported as a single image. The image size is based on the Artboard frame.

Before you export, check the Width and Height in the Inspector. These dimensions determine the @1x size of your image export.

Pro tip: Rather than resizing shapes using the bottom-right corner, use the Scale button. Scale ensures style properties like border width and corner radius remain proportional after resizing.

scale

PNG

Sketch makes it easy to export images in different densities:

  1. On the bottom right, click on Make Exportable.
  2. Click the Plus button to add a @2x copy.
  3. Click the Plus button again to add a @3x copy.
  4. Click the Export button to save the PNG files to disk.

exporting

PDF

You’re probably used to creating @2x and @3x versions of every image, but Sketch is vector-based, so take advantage of that. Xcode accepts vector images in PDF format, which is like SVG but with size information.

  1. Click on Make Exportable.
  2. Keep the size at 1x.
  3. Select PDF as the Format, and click Export.

export-pdf

You can import this single PDF icon into the Asset Catalog.

  1. Within Xcode, open Images.xcassets.
  2. Create a New Image Set.
  3. In the Attributes Inspector, change Scale Factors from Multiple to Single Vector.
  4. Drop your PDF icon into the All image slot.

scale-factors

Xcode will generate the appropriate @2x and @3x PNG files for you at build time. You still end up with PNGs, so the benefit is managing fewer image files.

Where To Go From Here?

And that’s our intro to Sketch! You can download the Sketch project file here.

Sketch is powerful, with a lot of great features beyond what’s covered in this tutorial. To learn more, check out the official documentation. There are also blogs and videos for learning tips and tricks.

Finally, you can also download Sketch files that contain icon sets and vector images of iOS devices.

We hope you enjoyed this tutorial, and if you have any questions or comments, please join the discussion below!


react如何和server交互

$
0
0

在一个react应用中,如何通过ajax和server端进行交互这个问题曾经困扰了我一段时间,经过学习实践,有了一点心得体会,写出来和大家分享一下。

总的来说,我知道的react ajax交互方式大致有以下4种:

  • Root Component
  • Container Component
  • Redux/Flux Async Actions
  • Relay

Root Component

这个是最直接的方式,非常适合原型和小型应用开发。

实现方案

实现起来也很简单,在整个应用的最顶层,有一个root component。所有的ajax请求都在这个组件的componentDidMount中发起,并将返回的结果作为自己的state保存,同时,通过props向下层组件传递数据。

不足

如果应用比较大,组件嵌套比较深的话,data得通过props一路传下去……(当然,也可以通过context的方式,不过context用来传data并不合适)

使用场景

  • 应用比较简单,组件树不深
  • 没有用Redux或者Flux

Container Component

这个方案和root component很像,区别在于可以同时有多个container和server交互。

实现方案

首先要把component区分为container和presentational两类。

container组件和root component一样,和server进行ajax交互,将获取的data通过props向下传递给presentational组件。

使用场景

  • 组件树比较深
  • 需要从不同的server或者api获取数据
  • 没有用Redux或者Flux

Redux/Flux Async Actions

如果已经在使用Redux/Flux,通过他们来管理数据是很自然的事情。

实现方案

实现上,Redux官方文档有个很好的示例

简单来说,就是完全不在组件中发起ajax请求,将这些操作放在async actions中进行。

使用场景

  • 使用和Redux或者Flux

Relay

Relay就完全是另外一个世界了,和前面三种有本质区别。

Relay适用于大型应用(比如facebook),使用Relay必须同时提供一个GraphQL server。

实现方案

首先,得有一个GraphQL server,然后,还得用GraphQL(而不是propTypes)定义组件需要的数据。剩下的交给Relay就好了,他会负责自动下载需要的数据并填充到组件的props里面。

不足

  • Relay被设计用来和GraphQL服务器一起运行,并不能很好的和第三方json服务交互。
  • 目前,Relay好像只能和一个GraphQL服务器连接。

使用场景

  • 超大型应用
  • 不打算使用json API

天镶的博客 2015年总结

$
0
0

年终总结结果到这个时间才写,其实也是无奈。本来计划过年写的,没想到Steam竟然开了个农历春节特惠,然后就被各种游戏打了,辣鸡平台,敛我钱财,颓我精神,耗我青春,害我单身

以下全都是个人看法,如果有不认同的地方,请大吼一声“傻逼写的啥”然后关闭页面

转职

本命年终于快过去了,不知道是不是因为没有穿红裤衩,这一年有很多不顺心的事情,不过也有很多好事。这一年最重要的事情就是顺利从一只学生狗转职为一只社畜。四月份毕业之后以前端工程师的职位入职天猫,到现在也差不多工作一年了。这里写一下干这行以来对于“前端”这个行业的看法和感悟。

前端工程师在校园里是一个复杂度和地位都被严重低估的职位。老师们对发展迅猛的前端技术不够了解,更是有不少“师兄师姐”在介绍自己找工作经验时“xx天速成就找到一份前端工作”、“公司招聘前端也不问会什么,就问你肯不肯踏实干这行,肯干进去再教你”。当然学校里的项目里也会有页面,但由于老师和学生对前端各种技术的陌生,大多数都是使用jQuery堆积代码完成功能了事。在大家眼里,写页面没啥技术含量。

前端的很多基础知识,都无法在学校学到。学校老师交给学生的大多都是基础知识,比如算法、数据结构、编译原理、操作系统、计算机网络这些,而针对于特定领域就很少涉及了。见过学校开设C、C++、Java、PHP等语言的课程,却从来没有看到过开设JavaScript、CSS、HTML的课程。网页设计的选修课倒是有(我报了,很遗憾整个教室只有20人不到),但这里所谓的网页设计并不是前端那一套技术栈,而是Dreamweaver使用入门。前端技术栈在校园里没有普及。

就这样产生了一个很有意思的现象:大堆公司喊缺前端,而学生们并不知道前端是什么,怎么去学习前端知识(最近两年稍微好点了),他们更多的是去学Java、C++,走着师兄师姐们走过的道路。有幸现在已经有百度这种大公司注意到了这点,到高校里开了不少前端知识讲座,还在GitHub上搞了培训项目。

希望各个大公司的前端部门能够更多的走进校园,给对前端感兴趣的小朋友们一点指导。

React

去年上半年4月份入职打杂了一段时间之后,就开始学习React并且进行了一些实战演练:

  1. 产出一篇文章轻松入门React和Webpack,意外的很受好评,segmentfault上超过了200的收藏,tmall的github博客上也有不少评论。可惜现在文章中已经有很多不适用了,babel大版本到6发生了不少变化,本地调试也改成中间件了
  2. 把自己的博客lingyu.wang改成了全React实现,代码在这里,用react-router做了个单页面应用,底层依然基于hexo,自己给hexo写了个generate插件把所有数据生成json而不直接生成页面,为了练手已经丧心病狂了,SEO什么的完全不在乎
  3. 写了一些脚手架和组件,乱七八糟参见玩具箱

由于负责天猫最复杂的前端应用之一的开发和维护,有不少老代码,也由于迁移成本太大没有办法在Java层上插入Node.js中间层,各种模块之间各种耦合,中间也写了篇用React做重构时的一些思考。当时项目里存在以下几种耦合:

  1. 最蛋疼的就是压根就没有模块化,所有代码都在一个文件里,2k+行的jQuery那种。最老式的写法,也是在学校项目里看到最多的方式,选择器拿到DOM然后操作绑事件,大多多年前的代码或者是后端兼职写的。基本上没有可维护性。解决这种基本上就靠推倒重写了,考虑投入产出比看懂它的成本还不如重新写一个来得快
  2. 稍微好一点的是增加了模块化,但模块内部和之前思路没什么区别,只是把上面那种代码分开多个文件放了。不同的模块在模块内部操作相同的HTML,一旦其中一个模块改变了HTML结构,其他模块直接就bug了…
  3. 再好一点增加了前端模板引擎,各个模块都在内部使用模板引擎渲染自己的HTML,模块初始化传入一个容器,只要容器不冲突,模块之间就不会基于HTML耦合。模块会暴露一些接口,通过模块管理器获取实例相互之间直接相互调用,这样依旧是强依赖,两个模块互相依赖,一旦其中一个换了,接口变了,另外一个模块也需要改变自己的代码。
  4. 模块内部完全黑盒,只要一个容器,里面的内容由模块自己控制。模块有数据的入口和出口,入口就是一些由父模块或页面传入的配置,出口则是一些由父模块或页面传入模块回调函数,回调函数里面附带传出的数据,而HTML相互之间无法互相修改,改了就报错。没错这就是React

最后重构的方案定下来是React+AMD+Gulp(你没有看错,没有打包,没有webpack),之所以不打包主要是有老代码,组件页都没发布到npm上,而且由于阿里的CDN支持combo,所以也就不做打包了,至于使用React做重构,主要是由于以下几个原因:

  1. 使用React实现的模块和组件完全黑盒,Web Component理念,标签使用方便快捷。不会引入新的维护成本
  2. 组件容易抽离,形成沉淀。我曾经把一部分新业务使用React实现,其中的不少组件稍加完善就沉淀出一些基础组件,没有剥离成本
  3. 模块相互之间不会污染,没办法直接修改其他模块的DOM,改了就报错,然后QA就提着刀杀过来了
  4. 商家应用,允许全异步,富交互功能型页面,性能不太烂都能接受

目前新业务已经完全基于React开发,组件库也基本上沉淀出来了,而老业务也在通过一次次需求像React迁移

模块的实现和通信

个人比较倾向于完全区分模块和组件这两个概念。组件是完全没有业务逻辑的功能单元,比如下拉框啊、日期选择啊这种,组件只专注自身的功能。组件可能会有嵌套,但当发生了嵌套时,对外就是一个组件,父组件内部的子组件对外将完全不可见,它的行为也将完全由父组件控制。组件是复用的单元,应当更多的形成沉淀。而模块则包含业务逻辑,同时模块还承载了一个比较重要的功能:和其他模块通信。

所以大体上一个应用就是:应用被划分为多个业务模块,这些模块逻辑上是扁平的,他们采用统一的通信机制进行通信,一个模块上的数据发生变更时,会通知一个全局的通信中心,采用pub-sub机制将数据递交给其他模块,其他模块拿到数据后影响自己的渲染。模块内部使用了很多的组件,但模块内部所有渲染使用的数据都由模块直接进行管控,树形传递给各个组件。可以这么想,模块内部类似Redux实例,而页面上有多个Redux实例,它们再通过一个统一的pub-sub中心进行通信。为什么不整个应用直接做一个Redux实例呢?主要是因为要考虑到跨BU合作和新老多种技术兼容。模块内部想怎么玩怎么玩,可以是React实现,可以使Vue实现,可以是原生js实现。模块作为一个通信单元只要符合统一pub-sub通信接口即可。

这套理念也确实实现并且落地到了不少页面中,但这样玩显然还不够过瘾。React终究是前端在玩,前端写React组件、模块和页面很爽,但是数量大了一样要加班一样爽不起来。这里就在考虑有没有可能降低门槛,把事情交给别人来做,比如后端。首先组件肯定是前端来写了,没多少后端能写好前端组件的,如果能写好,他就不是后端而是全栈了,这种人就应该果断拉过来干前端堵缺口。那么有没有可能把模块和页面交给他们来写,而前端只提供一些组件呢?

让后端写,最重要的一点就是给模板赋能,毕竟后端只能接触到模板。这么一想,这不特么就是React和MVVM相结合么,把React的Virtual DOM或者说JSX标签和MVVM的DOM模板一样写到HTML上,多么Web Component化啊。这里说一下为什么不直接用MVVM比如Vue,而是用React。MVVM确实对后端开发工程师很友好,但这些组件是我们平常开发前端应用(前端部分前端自己负责的复杂业务)时沉淀下来的,这么一大批组件让我们再去重写一份MVVM的太蛋疼了,后期维护两份也比较吃力。就这样开始尝试,经过一段时间调研后,发现react-templates,可以把模板字符串转化为React.createElement,当时用browserify给它打了一个包,尼玛压缩后好像有500K+(未gzip),它是针对Node.js的。于是乎把它整个代码大体上进行了重写,移除了lodash,自己重写了使用的一些工具方法,然后又重写了模板解析部分,采用浏览器的XML解析器,又移除了esprima等语法校验,然后又加了一堆定制化,最后压缩后20K左右(未gzip),终于可以在页面上用了…最后大体上就实现了一套这样的方案:

  • 一堆日常沉淀的React组件
  • 一个全局的pub-sub通信工具负责模块的通信
  • 一个React实现的Module负责充当模块的角色

Module内部使用React Templates字符串模板编译成Virtual DOM的函数来进行渲染,可以通过一些“控制指令”来控制渲染结果,组件上面可以通过一些“通信指令”来递交组件的数据给Module这个模块。而Module模块数据发生变更后会触发整个模块重绘,数据又会重新传递下来给组件并变更组件的渲染结果。

Module外部则是通过全局的pub-sub通信工具来负责模块通信,Module负责与这个通信工具进行直接交互来进行数据通信。通信建立桥接的方式也是在Module上定义一些“通信指令”

最后,整个系统都采用React Templates来实现,整个页面实现和通信全部写在模板上,页面上只有一堆组件(可以在模板里动态require,模板会在编译期提取然后拉取完成了才进行初始化)。没有任何业务js逻辑存在。

这样实现了好几个页面我已经成功上线跑了几个月了,还有几个正在实现中,看上去很美好。但后来还是发现了一些问题:模块通信过程太复杂,一个完整的数据流转过程通过指令很难很直观的展现,一个看起来很简单的交互中间可能会经过4-5步数据流转,甚至包括一些alert、confirm等等,想让后端写不太可能,连其他前端都看不太懂数据如何流转。这一块还有太多可以优化的地方。

流程自动化

去年下半年我参与了部门统一使用的前端流程自动化工具的维护及改造,同时负责了商家端通用组件的脚手架的开发和维护。花了不少时间在前端流程自动化上。前端经过这么多年的发展,页面上承载的交互、功能、逻辑不断增加,项目逐渐变得庞大,维护和开发成本也随之增加,但依然招不到人。这里顺带打个广告,如果想来天猫前端的请发邮件至lingyucoder@gmail.com。流程自动化也就愈发重要。最理想的状况就是,只要是机械能够完成的工作,人就不要参与了。用一些脚本代替简单重复的劳动,这样我们也就可以少加点班了。

Node.js

Node.js给前端开发流程自动化带来了福音。从目前部门前端开发流程来看,主要就是以下几个步骤,括号里是对应的开源工具:

  1. 创建项目(Yeoman)
  2. 构建以及监听文件变化自动构建(Gulp、Webpack、Grunt,Grunt估计现在用的很少了)
  3. 本地调试,资源代理(Koa、Express+各种定制的中间件)
  4. 自动化测试、代码覆盖率测试(mocha、istanbul、should/chai/expect、phntomjs、karma)
  5. 文档自动化生成(自己基于AST提取,或者直接用jsdoc之类的工具)
  6. 自动化校验、发布(一些脚本)

这里主要聊聊构建、本地调试和自动化测试

构建

现在的构建过程已经不再像以前那样压缩一下就简单,构建过程中往往会拿代码生成语法树然后做各种操作:

  1. Babel爽爽写ES6甚至ES7
  2. 将代码中的注释转化为监控打点(istanbul我记得就是基于语法树给每个语法分支包一层打点层,汇总数据)
  3. 将代码中的注释提取生成文档(React组件自动生成props文档就是这种方式)
  4. 将commonjs规范的代码转化为各种各样的模块化解决方案(AMD、KMD、UMD等等)
  5. 提取模块间的依赖关系,梳理应用模块依赖关系,绘制模块依赖树
  6. Webpack打包
  7. 各种语法检查(eslint,jshint),有时候还会有一些定制化的校验

现在大家都比较中意webpack,依赖打包使得资源请求数大幅度减少(使用不支持combo的CDN服务的公司肯定很开心)。我个人还是对于webpack有一些顾虑,主要有两点

  1. 不太赞同浏览器内使用的资源也发布到npm上。浏览器上和Node.js通用的代码可能也就不到5%(lodash啊,underscore啊,moment啊这种),在npm上找到一个模块还要确认到底哪个场景下可用。使用的即便是这些可以共用的库,也会有一个很蛋疼的问题:Node.js的模块往往大而全实现尽可能多的功能,而页面使用的模块则是尽可能小而美,资源加载量尽可能少。比如只用到时间格式化和反格式化就引入一整个moment(moment真特么大,我一般就格式化反格式化,喜欢用fecha),对于Node.js也许没什么压力,但对于页面就很蛋疼了。现在rollup试图解决这个问题,还是比较值得看好的
  2. 不同版本重复打包的问题。这个问题比较头疼。如果一个项目依赖了两个组件,而这两个组件引用了一个库的两个不同版本,这个库就会被打包两份,于是乎代码量就duang一下增大了。目前依旧没有看到比较好的方式来解决。虽然可以用peerDependencies对一些基础库(比如React这种)做一下处理,也只是缓解一些罢了。

另外吐槽一句,webpack配置真繁琐啊,个人目前倾向的方案是使用webpack+gulp,webpack负责打包和构建,其他的工作依旧交给gulp,我喜欢stream(不是steam)

本地调试

前端资源本地调试其实挺简单的,就是把线上使用的资源代理到本地资源。由于现在一般都会使用CDN来承载这些资源(如果你们公司不用CDN,请找你们老板拨点经费买个CDN服务吧),大致上也就是几个步骤:

  1. 把CDN的域名通过host指向本地
  2. 在本地80(HTTP)或443(HTTPS)端口开启对应的代理服务,根据请求查找本地资源返回
  3. 如果涉及需要开启多个服务,将各个服务开在不同的端口后在80或443端口加个nginx层做转发

目前部门里面用的是Koa+中间件实现了这里面所有的内容。Koa现在也2.0了,使用新版本的Promise的co,用起来还是很爽的

如果一旦涉及到本地模板的调试,就很蛋疼了,基本上是模拟数据,这里懒得扯了。

自动化测试

对于自动化测试这一块,在学生时代一直觉得测试麻烦,没啥收益。但实际上自动化测试对于开发效率提升很大。之前参与部门统一构建工具的改造,有任何修改就跑一遍测试用例和代码覆盖率,效率非常高,还非常容易形成沉淀,一旦有bug,就把bug会发生的场景也做成一个测试用例,方便后人接手。而且把代码接入像travis这样的持续集成平台后,代码质量更有保证了,任何一次push都会自动触发测试,即便是pull request里的代码也可以保证质量。现在写代码覆盖率低于90%就觉得各种不爽,一定要提到90%以上。

对于Node.js的模块,测试很方便,除了命令行工具可能需要加像sinon这样的模块来监听stdio以外,其他的基本上都能直接在代码中模拟环境。由于个人写Node.js代码喜欢拆分的很细,每个逻辑单元都用co、curry做包装,所以特别喜欢使用mocha+should,should 8.0+直接支持Promise,爽歪歪,

对于浏览器里跑的代码,测试和覆盖率就比较麻烦了,首先模拟环境比较蛋疼,大致上3种方案:

  1. 构建一个测试页面,人肉直接到虚拟机上开各种浏览器跑测试页面(比如f2etest),这个问题就是不好持续化集成,人肉工作较多
  2. 使用phantomjs构建一个伪造的浏览器跑单元测试,大致上就是先用gulp-istanbul给代码打点,然后拿mocha-phantomjs跑包含测试用例的页面,最后通过hook拿到结果用istanbul生成可视化的覆盖率页面,蛋疼就是phantomjs毕竟是Qt的webkit,不是真实环境,phantomjs也是各种坑
  3. 通过karma调用本机各种浏览器进行测试,这个现在还没玩的很6,还在研究中。还是有不少问题没解决,毕竟用的mac,去哪儿找IE 8,囧,更别说移动端那么多机型

对于测试个人一直坚持一个观点:基于投入产出比来做测试。由于维护测试用例也是一大笔开销(毕竟没有多少测试会专门帮前端写业务测试用例,而前端使用的流程自动化工具更是没有测试参与了)对于像基础组件啊,基础模型啊之类的不常变更且复用较多的部分,可以考虑去写测试用例来保证质量,但对于迭代较快的业务逻辑以及生存时间不长的活动页面之类的就别花时间写测试用例了,维护测试用例的时间大了去了,不如喝杯茶冷静下让QA他们去测吧。

学习

这一年由于转职社畜各种忙的要死,导致没有多少时间静下心来看书了,文章也写得少了。于是更倾向于每天水一水我的github(中间一大段空白因为3DS到货了,鏖战怪物猎人4G,这游戏真特么好玩),写一些脚手架啊、组件啊、小工具啊啥的。之前觉得一些开源的logger不好用,就自己写了个linglog,之前负责一个业务变更比较多总是打tag发布,就写了个自动发布程序publishy,它会在发布前做一些校验防止我没有commit或者没有add之类的。还有像React组件自动化提取props做文档弄了个react-prop-table,以及对应的配套的markdown内容段自动更新gulp插件gulp-insert-md。对应还有一些less依赖关系解析啥的弄了less-tree,然后有个需求要在模块更新时自动输出最新更新有哪些变动于是有了changelogy,然后还有几个自己弄得带单元测试、代码覆盖率测试、travis持续集成、eslint等的脚手架:React组件脚手架generator-lingyu-react-component, Node模块脚手架generator-lingyu-node-modules, gulp插件脚手架generator-lingyu-gulp-plugin, 命令行工具脚手架generator-lingyu-cli-modules。写这些玩意过程中学到了不少Node.js的姿势,虽然离一个真正的Node.js工程师差的太远

另外一点是入职后全面从sublime切到atom了,python苦手还是伤不起,咱用atom有插件需求找不到自己写一个,比如之前给xtemplate模板写了个atom语法高亮和snippet插件atom-language-xtpl,感觉比之前用sublime爽多了

还花了点钱买了SnippetsLab这个软件,用来放一些代码片段超好用,我在里面放了不少自己平常写的一些小的工具函数,比如clone啊,unique啊,param和unparam啊这种,需要的时候就搜一下复制出来,方便快捷

生活

今年玩的游戏不多,因为3DS到货了,先说几个3DS游戏:

  1. 怪物猎人,沉迷了一段时间,甚至一整天一整天的和各种龙做斗争。现在怪物猎人累计游戏时间应该有250小时了…
  2. 口袋妖怪X:硬着头皮啃英文,撸宠系统好棒,每天撸一撸自己的宠,看到他们开心的样子自己也开心。通了一周目就懒得啃英文了
  3. 牧场物语,在同事推荐下玩了,模拟经营农场,种菜、种果树、养各种动物卖钱…玩了几十个小时吧,玩不下去了…后面每天刷牛挤牛奶,撸鸡一天就结束了…没领悟到游戏的乐趣
  4. 路易吉鬼屋,超级玛丽里的弟弟被拉到鬼屋里探险的故事,乐趣就是看路易吉这个大写的怂货被各种鬼吓尿…解密游戏,其实挺好玩的
  5. 马里奥赛车:和跑跑道具赛差不多,玩道具赛,道具比较少,赛道也少,难度也低。
  6. 勇气默示录:回合制RPG,还在龟速通关中,画面很棒,3D的人物很Q,相当不错的游戏

然后说一些PC的:

  1. 侠客风云传:情怀!绝对的情怀!作为一个当年武林群侠传的狂热爱好者,侠客风云传我通关了至少6次,乞丐、东厂、盟主、霸图、天王各种都通了一遍。湘云还是一如既往的女神,希望徐大早日重制金庸群侠传
  2. 仙6:这个战斗系统特么什么鬼…没有玩下去的动力啊
  3. 堡垒(bastion):很精致的游戏,画面唯美,歌曲好听,剧情不长但很好玩。
  4. 进化之地2(evoland2):尼玛一个游戏能这么玩我算是长见识了,集DQ、塞尔达传说、超级玛丽、拳皇、双截龙、炸弹人、游戏王、洛克人、1943等等于一身的游戏也没谁了
  5. 阿玛拉王国:和老滚有点像,不过比老滚有打击感,重要的是有WOW那种装备系统。老滚的装备系统是个鬼…可惜没有老滚那么多mod,毕竟少女卷轴
  6. 饥荒:这游戏太特么难了,一到冬天就死…得找个大神带我

春节剁手买了昆特牌3和龙腾世纪,有时间玩一玩。最后重申一句:辣鸡平台,敛我钱财,颓我精神,耗我青春,害我单身

感情

看他们的总结都有这个,于是我加上了

光棍年数++

总结

前端发展太快,要学的太多。本来去年计划学React Native的,结果只写了个Demo…Electron也是只跑了个HelloWorld…Node.js的服务器也只是搭了个简单的…canvas也是只写了一些小Demo。希望新的一年技术不掉队,能够多学点这些之前想学没学的东西。另外希望能够沉淀出自己的组件库,以后快速搭建一个页面也方便一些


Course Map from Landmark

$
0
0

Course Map

 

Courses Duration/Units Unit Content Course/Unit Maps Datasets Exercises/Activity/Software
Image Processing for ERDAS v.9 10 hours
10 units
Unit 1: Information Extraction
Unit 2: Spectral Mapping
Unit 3:Georeferencing
Unit 4: Structural Mapping
Unit 5: Vegetation Mapping
Unit 6: Land Cover Classification
Unit 7: Meteorology
Unit 8: Coastal Mapping
Unit 9: Landslide Mapping
Unit 10: Mineral Exploration
Unit Map 1:Information Extraction
Unit Map 2:Spectral Mapping
Unit Map 3:Georeferencing
Unit Map 4:Structural Mapping
Unit Map 5:Vegetation Mapping
Unit Map 6: Land Cover Classification
Unit Map 7:Meteorology
Unit Map 8: Coastal Mapping
Unit Map 9:Landslide Mapping
Unit Map 10:Mineral Exploration
LANDSAT
AVHRR
CASI
DEM
SPOT
ERS1
Workflow guidelines and demos

ERDAS Imagine v.9

Image Processing for ERDAS 2010 10 hours
10 units
Unit 1: Information Extraction
Unit 2: Spectral Mapping
Unit 3:Georeferencing
Unit 4: Structural Mapping
Unit 5: Vegetation Mapping
Unit 6: Land Cover Classification
Unit 7: Meteorology
Unit 8: Coastal Mapping
Unit 9: Landslide Mapping
Unit 10: Mineral Exploration
Unit Map 1:Information Extraction
Unit Map 2:Spectral Mapping
Unit Map 3:Georeferencing
Unit Map 4:Structural Mapping
Unit Map 5:Vegetation Mapping
Unit Map 6: Land Cover Classification
Unit Map 7:Meteorology
Unit Map 8: Coastal Mapping
Unit Map 9:Landslide Mapping
Unit Map 10:Mineral Exploration
LANDSAT
AVHRR
CASI
DEM
SPOT
ERS1
Workflow guidelines and demos

ERDAS Imagine 2010

Image Processing for IDRISI 10 hours
10 units
Unit 1: Information Extraction
Unit 2: Spectral Mapping
Unit 3:Georeferencing
Unit 4: Structural Mapping
Unit 5: Vegetation Mapping
Unit 6: Land Cover Classification
Unit 7: Meteorology
Unit 8: Coastal Mapping
Unit 9: Landslide Mapping
Unit 10: Mineral Exploration
Unit Map 1:Information Extraction
Unit Map 2:Spectral Mapping
Unit Map 3:Georeferencing
Unit Map 4:Structural Mapping
Unit Map 5:Vegetation Mapping
Unit Map 6: Land Cover Classification
Unit Map 7:Meteorology
Unit Map 8: Coastal Mapping
Unit Map 9:Landslide Mapping
Unit Map 10:Mineral Exploration
LANDSAT
AVHRR
CASI
DEM
SPOT
ERS1
Workflow guidelines and demos

IDRISI

Image Processing for PCI 10 hours
10 units
Unit 1: Information Extraction
Unit 2: Spectral Mapping
Unit 3:Georeferencing
Unit 4: Structural Mapping
Unit 5: Vegetation Mapping
Unit 6: Land Cover Classification
Unit 7: Meteorology
Unit 8: Coastal Mapping
Unit 9: Landslide Mapping
Unit 10: Mineral Exploration
Unit Map 1:Information Extraction
Unit Map 2:Spectral Mapping
Unit Map 3:Georeferencing
Unit Map 4:Structural Mapping
Unit Map 5:Vegetation Mapping
Unit Map 6: Land Cover Classification
Unit Map 7:Meteorology
Unit Map 8: Coastal Mapping
Unit Map 9:Landslide Mapping
Unit Map 10:Mineral Exploration
LANDSAT
AVHRR
CASI
DEM
SPOT
ERS1
Workflow guidelines and demos

PCI

Image Processing for ENVI 10 hours
10 units
Unit 1: Information Extraction
Unit 2: Spectral Mapping
Unit 3:Georeferencing
Unit 4: Structural Mapping
Unit 5: Vegetation Mapping
Unit 6: Land Cover Classification
Unit 7: Meteorology
Unit 8: Coastal Mapping
Unit 9: Landslide Mapping
Unit 10: Mineral Exploration
Unit Map 1:Information Extraction
Unit Map 2:Spectral Mapping
Unit Map 3:Georeferencing
Unit Map 4:Structural Mapping
Unit Map 5:Vegetation Mapping
Unit Map 6: Land Cover Classification
Unit Map 7:Meteorology
Unit Map 8: Coastal Mapping
Unit Map 9:Landslide Mapping
Unit Map 10:Mineral Exploration
LANDSAT
AVHRR
CASI
DEM
SPOT
ERS1
Workflow guidelines and demos

ENVI

Radar Imaging 5 units Unit 1: Thematic Information
Unit 2: Image Interpretation – Speckle
Unit 3: Image Interpretation – Reducing Speckle
Unit 4: Image Interpretation – Single Images
Unit 5: Image Interpretation – Multi-temporal SAR
Unit 6: Image Interpretation – Interferometric images
Unit 7: Image Interpretation – Polarisation
Unit 8: Landmap products
Unit 9: Data processing
ERS-2
ASAR
Workflow guidelines

ERDAS Imagine or ENVI

Object-Oriented Classification 15.5 hours
10 units
Unit 1: Definiens Introduction
Unit 2: Image Segmentation
Unit 3: Nearest Neighbour Classification
Unit 4: Rule Based Classification
Unit 5: Threshold Identification
Unit 6: Working with Levels
Unit 7: Putting it all Together
Unit 8: Calculating Image Thresholds
Unit 9: Using Fuzzy Membership Functions
Unit Map 1:Definiens Introduction
Unit Map 2: Image Segmentation
Unit Map 3:Nearest Neighbour Classification
Unit Map 4: Rule Based Classification
Unit Map 5:Threshold Identification
Unit Map 6:Working with Levels
Unit Map 7: Putting it all Together
Unit Map 8:Calculating Image Thresholds
Unit Map 9: Using Fuzzy Membership Functions (Not available)
LANDSAT Software procedures, O-O classification methods

Definiens Developer

Modern Aerial Photography for ArcGIS 1.5 hours
4 units
Unit 1: Format of Aerial Photography
Unit 2: Key Characteristics
Unit 3: Sherlock Holmes Process
Unit 4: Workshop (3 exercises on comparing imagery; identifying features and additional questions)
Digital Aerial Photographs Workshop

ArcGIS

Modern Aerial Photography for CR Viewer 1.5 hours
6 units
Unit 1: Introduction
Unit 2: Basics of Aerial Photography
Unit 3: Digital Cameras and Images
Unit 4: Process of Image Interpretation
Unit 5: Image Interpretation Test
Unit 6: Image Software Workshop
Digital Aerial Photographs Workshop

CR Viewer

Historical Aerial Photography 2 hours
4 units
Unit 1: Historical Aerial Photography
Unit 2: Applications
Unit 3: Factors in use of historical aerial photography
Unit 4: Workshop(loading data; what do historical data tell us? How does the past affect the present? Using additional resources)
Digital Aerial Photographs Workshop

CR Viewer

LiDAR 2 hours
6 units
Unit 1: What is LiDAR?
Unit 2: Refresher test and answers
Unit 3: Airborne LiDAR
Unit 4:Understanding LiDAR products
Unit 5: IfSAR
Unit 6: Workshop(Loading data; Viewing data; Compariing terrain data; Terrain data conclusions; Line of sight; View shed analysis and Flood analysis)
LiDAR
IFSAR
Workshop

Global Mapper

3-D Modelling 2 hours
4 units
Unit 1: Introduction to 3-D Modelling
Unit 2: Types of 3-D data
Unit 3: Exercise
Unit 4: Workshop(The Base; Creating 3-D buildings; Adding textures; Adding photos; Adding other models; Interacting with the model; Exporting the model)
Google Earth
3D models
Demo

Google Sketch-Up

Introduction to UKMap 3 hours
6 units
Unit 1:Understanding UKMap
Unit 2: Applications of UKMap
Unit 3: Downloading UKMap for Landmap Kaia
Unit 4: Using UKMap in ArcGIS (Personal Geodatabase)
Unit 5: Using UKMap in ArcGIS (Flat Files)
Unit 6: Using UKMap in QGIS
UKMap Workflow guidelines and demo

ArcGIS and QGIS

Landuse Mapping 3 hours
7 units
Unit 1: Early Landuse Mapping
Unit 2: Digital Mapping and Classification Schemes
Unit 3: Cities Revealed Landuse
Unit 4: Landuse Applications
Unit 5: Creating Landuse databases
Unit 6: Image Interpretation
Unit 7: Workshop (6 exercises)
Cities Revealed Landuse Workflow guidelines and demo

ArcGIS

Python Scripting for Remote Sensing 10 hours
10 units
Unit 1: Introduction
Unit 2: Python Basics (Hello world; Variables; Lists; Decisions)
Unit 3: Text Processing (Read and write text files)
Unit 4: File System(File identification; recursive operations)
Unit 5: Plotting(Simple plots; line plots)
Unit 6: Statistics(Simple statistics, biomass and exceptions; fitting linear equation)
Unit 7: Arc Toolboxes (Batch processing; creating a new toolbox; calculating polygon area; automating hydrology tools)
Unit 8: Batch Processing Command Line Tools (Merging ESRI shapefiles; Converting images to GeoTIFF; Passing imputs from the command line)
Unit 9: Image Processing (Opening an image with GDAL; calculate NDVI using GDAL; create a simple rule based classifier)
Unit 10: LiDAR(Gridding LiDAR data; visualisation; scatterplots)
Scripts and Data Demo

ArcGIS

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Learning-Zone-Introduction/Course-Map#sthash.TeT23bW9.dpuf


Python Scripting for Remote Sensing Unit 8, 9, 10

$
0
0

Unit 8. Batch Processing Command Line Tools

Level

Advanced

Time

This Unit should not take you more than 3 hours.

Learning Outcomes

By the end of this unit you should be able to:

  • execute command line functions from a Python script
  • apply the file listing script, written previously, to batch process files of a certain type.

Further Reading

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/Unit-8-Batch-Processing-Command-Line-Tools#sthash.yqoSsUIe.dpuf

8.1 Introduction

There are many command line tools and utilities available for the main types of  platform, Windows, Linux and Mac OSX. These tools are extremely useful and they range in function from simple tasks such as renaming a file to more complex tasks such as merging ESRI shapefiles. One problem with these functions is that if you have a large number of files which need to be processed in the same way, it is time consuming and error-prone to manually run the command for each file. Therefore, if we can write scripts to do this work for us then processing large number of individual files becomes a much simpler, error free task.

For this unit you will need to have the command line tools that come with the GDAL/OGR (http://www.gdal.org) open source software library installed and available with your path. With the installation of Python(x,y) the Python libraries for GDAL/OGR have been installed but not the command line utilities which can be used with these libraries.

To install these command lines tools on Windows the FWTools (http://fwtools.maptools.org/) package is recommend. To install, download FWTools and run the installer. Following installation it is recommended that you set the PATH environmental variable to the tools provided by FWTools to allow for easier access later on.

To set the PATH variable you first need to identify the directory path where FWTools has been installed.

To do this, open Windows Explorer (“My Computer”), navigate to ‘Program Files’ and look for a directory named FWTools<version>. Notes that the version number will change depending on when you have downloaded the software. I have version 2.3.0 therefore my path is:
C:\Program Files\FWTools2.3.0\bin
The bin directory contains the executable programs and this needs adding to the path.

The next step is to set the environmental variable, PATH. To do this right-click on ‘My Computer’ and select Properties, Figure 8.1.

Figure 8.1: Right-click on ‘My Computer’ and select Properties

Once open, select the ‘Advanced’ tab and then click the ‘Environment Variables’ button. Within the list of variables scroll down the list of ‘System Variables’ until you find the ‘Path’ variable and select edit. Enter a semi-colon (;) after the last entry and copy-and-paste your path following the semi-colon. Finally, select OK and all the open dialog boxes and the variable should now be set, Figure 8.2.

Figure 8.2: Select the ‘Advanced’ tab and then click the ‘Environment Variables’ Scroll down the list of ‘System Variables’ until you find the ‘Path’ variable and select edit. Add in the path identified above and select OK and all open dialog boxes.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/8.1-Introduction#sthash.UGzDOqIG.dpuf

8.2 Merging ESRI Shapefiles

The first example illustrates how the `ogr2ogr‘ command can be used to merge shapefiles and a how a Python script can be used to turn this command into a batch process where a whole directory of shapefiles can be merged.

To perform this operation two commands are required. The first makes a copy of the first shapefile in the list of files into a new file, shown below:

> ogr2ogr <inputfile> <outputfile>

The second command appends the contents of the inputted shapefile onto the end of an existing shapefile (i.e., the one just copied):

> ogr2ogr -update -append <inputfile> <outputfile> -nln <outputfilename>

For both these commands the shapefiles all need to be of the same type (point, polyline or polygon) and contain the same attributes. Therefore, your first exercise is to understand the use of the ogr2ogr command and try it from the command line with the data provided. Hint, running ogr2ogr without any options will result in the help file being displayed.

The second stage is to develop a Python script to call the appropriate commands to perform the required operation. The following processes will be required:

  1. Get the user inputs.
  2. List the contents of the input directory.
  3. Iterate through the directory and run the required commands.

But the first step is to create the class structure in which the code will fit; this will be something similar to that shown below:

#! /usr/bin/env python

#######################################
# MergeSHPfiles.py
# A python script to merge shapefiles
# Author: <YOUR NAME>
# Email: <YOUR EMAIL>
# Date: DD/MM/YYYY
# Version: 1.0
#######################################

import os

class MergeSHPfiles (object):

# A function which controls the rest of the script
def run(self):
# Define the input directory
filePath = ‘C:\\PythonCourse\\unit8\\TreeCrowns\\’
# Define the output file
newSHPfile = ‘C:\\PythonCourse\\unit8\\Merged_shapefile.shp’

# The start of the code
if __name__ == ‘__main__’:
# Make an instance of the class
obj = MergeSHPfiles()
# Call the function run()
obj.run()

The script will have the input directory and output file hard coded (as shown) within the run function. Therefore, you need to edit these file paths to the location you have saved the files. Please note that under Windows you need to insert a double slash (i.e., \\) within the file path as a single slash is an escape character (e.g., \n for new line) within strings.

Return to top

The next step is to check that the input directory exists and is a directory. To do this edit your run function as below:

# A function which controls the rest of the script
def run(self):
# Define the input directory
filePath = ‘C:\\PythonCourse\\unit8\\TreeCrowns\\’
# Define the output file
newSHPfile = ‘C:\\PythonCourse\\unit8\\Merged_shapefile.shp’

# Check input file path exists and is a directory
if not os.path.exists(filePath):
print ‘Filepath does not exist’
elif not os.path.isdir(filePath):
print ‘Filepath is not a directory!’
else:
# Merge the shapefiles within the filePath
self.mergeSHPfiles(filePath, newSHPfile)

Additionally, you need to add the function mergeSHPFiles, which is where the shapefiles will be merged.

# A function to control the merging of shapefiles
def mergeSHPfiles(self, filePath, newSHPfile):

To merge the shapefiles the first task is to get a list of all the shapefiles within a directory. To do this, use the code you developed in Unit 4 to list files within a directory and edit it such that the files are outputted to a list rather than printed to screen, as shown below.

# A function to test the file extension of a file
def checkFileExtension(self, filename, extension):
# Boolean variable to be returned by the function
foundExtension = False;
# Split the filename into two parts (name + ext)
filenamesplit = os.path.splitext(filename)
# Get the file extension into a varaiable
fileExtension = filenamesplit[1].strip()
# Decide whether extensions are equal
if(fileExtension == extension):
foundExtension = True
# Return result
return foundExtension

# A function which iterates through the directory and checks file extensions
def findFilesExt(self, directory, extension):
# Define a list to store output list of files
fileList = list()
# check whether the current directory exits
if os.path.exists(directory):
# check whether the given directory is a directory
if os.path.isdir(directory):
# list all the files within the directory
dirFileList = os.listdir(directory)
# Loop through the individual files within the directory
for filename in dirFileList:
# Check whether file is directory or file
if(os.path.isdir(os.path.join(directory,filename))):
print os.path.join(directory,filename) + \
‘ is a directory and therefore ignored!’
elif(os.path.isfile(os.path.join(directory,filename))):
if(self.checkFileExtension(filename, extension)):
fileList.append(os.path.join(directory,filename))
else:
print filename + ‘ is NOT a file or directory!’
else:
print directory + ‘ is not a directory!’
else:
print directory + ‘ does not exist!’
# Return the list of files
return fileList

Return to top

Note that you also need the function to check the file extension.

This can then be added to the mergeSHPfiles function with a list to iterate through the identified files:

# A function to control the merging of shapefiles
def mergeSHPfiles(self, filePath, newSHPfile):
# Get the list of files within the directory
# provided with the extension .shp
fileList = self.findFilesExt(filePath, ‘.shp’)
# Iterate through the files.
for file in fileList:
print file

When iterating through the files the ogr2ogr commands that have to be executed to merge the shapefiles need to be built and executed. Therefore the following code needs to be added to your script:

# A function to control the merging of shapefiles
def mergeSHPfiles(self, filePath, newSHPfile):
# Get the list of files within the directory
# provided with the extension .shp
fileList = self.findFilesExt(filePath, ‘.shp’)
# Variable used to identify the first file
first = True
# A string for the command to be built
command = ”
# Iterate through the files.
for file in fileList:
if first:
# If the first file make a copy to create the output file
command = ‘ogr2ogr ‘ + newSHPfile + ‘ ‘ + file
first = False
else:
# Otherwise append the current shapefile to the output file
command = ‘ogr2ogr -update -append ‘ + newSHPfile + ‘ ‘  + \
file + ‘ -nln ‘ + \
self.removeSHPExtension(self.removeFilePathWINS(newSHPfile))
# Execute the current command
os.system(command)

Return to top

You also require the additional functions to remove the shapefile extension (.shp) and the windows file path, creating the layer name and these are given below:

# A function to remove a .shp extension from a file name
def removeSHPExtension(self, name):
# The output file name
outName = name
# Find how many ‘.shp’ strings are in the current file
# name
count = name.find(‘.shp’, 0, len(name))
# If there are no instances of .shp then -1 will be returned
if not count == -1:
# Replace all instances of .shp with empty string.
outName = name.replace(‘.shp’, ”, name.count(‘.shp’))
# Return output file name without .shp
return outName

# A function to remove the file path a file 
# (in this case a windows file path)
def removeFilePathWINS(self, name):
# Remove white space (i.e., spaces, tabs)
name = name.strip()
# Count the number of slashs 
# A double slash is required because \ is a 
# string escape charater.
count = name.count(‘\\’)
# Split string into a list where slashs occurs
nameSegments = name.split(‘\\’, count)
# Return the last item in the list
return nameSegments[count]

You will find this script in the unit8.zip file which you can download from the Resources link at the top of this page.

If you wanted to use this script on UNIX (i.e., Linux or Mac OS X) you would need to change the removeFilePathWINS function such that the double slashes were replaced with single backslashes (i.e., /).

You script should now be complete, so execute it on the data provided within the TreeCrowns directory. Take time to understand the lines of code which have been provided and make sure your script works.

You will find a model script file in the unit8.zip file which you can download from the Resources link at the top of this page.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/8.2-Merging-ESRI-shapefiles#sthash.ZH1Z4VGS.dpuf

8.3 Converting Images to GeoTIFF using GDAL

The next example will require you to use the script developed above as the basis for a new script to convert a directory of images to GeoTIFF using the command below:
gdal_translate -of <OutputFormat> <InputFile> <OutputFile>

A useful step is to first run the command from the command line manually to make sure you understand how this command is working.

The two main things you need to think about are:

  1. What file extension will the input files have? This should be user selectable alongside the file paths.
  2. What output file name should be provided? The script should generate this.

Download the unit8.zip file from the Resources link at the top of this page, extracting the subdirectories including the data/ENVI_Images directory. Four test images have been provided in ENVI format within the directory ENVI_Images. You can use these for testing your script. If you are struggling then an example script with a solution to this task has been provided as ConvertToGeoTiff.py.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/8.3-Converting-images-to-GeoTIFF-using-GDAL#sthash.Z43v2jEc.dpuf

8.4 Passing Inputs from the Command Line

It is often convenient to provide the inputs the scripts requires (e.g., input and output file locations) as arguments to the script rather than needing to the edit the script each time a different set of parameters are required (i.e., changing the files paths in the scripts above). This is easy within Python and just requires the following changes to your run function (in this case for the merge shapefiles script).

# A function which controls the rest of the script
def run(self):
# Get the number of arguments
numArgs = len(sys.argv)
# Check there are only 2 input argument (i.e., the input file
# and output base).
# Note that argument 0 (i.e., sys.argv[0]) is the name
# of the script uncurrently running.
if numArgs == 3:
# Retrieve the input directory
filePath = sys.argv[1]
# Retrieve the output file
newSHPfile = sys.argv[2]

# Check input file path exists and is a directory
if not os.path.exists(filePath):
print ‘Filepath does not exist’
elif not os.path.isdir(filePath):
print ‘Filepath is not a directory!’
else:
# Merge the shapefiles within the filePath
self.mergeSHPfiles(filePath, newSHPfile)
else:
print “ERROR. Command should have the form:”
print “python MergeSHPfiles_cmd.py <Input File Path> <Output File>”

In addition to these changes you need to import the system library into your script to access these arguments:

# Import the sys package from within the 
# standard library
import sys

Please note that the list of user provided inputs starts at index 1 and not 0. If you call sys.argv[0] then the name of the script being executed will be returned. When retrieving values from the user in this form it is highly advisable to check whether the inputs provided are valid and that all required inputs have been provided.

Create a copy of the script you created earlier and edit the run function to be as shown above, making note of the lines that require editing.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/84-Passing-Inputs-form-the-command-line#sthash.3t2p2aAM.dpuf

8.5 Summary

You should now be able to perform command line functions using a Python script.

In addition you should have shown that you are able to apply scripts written previously to batch process files.

Exercises

  1. Using ogr2ogr, develop a script that will convert the attribute table of a shapefile to a CSV file which can be opened within Microsoft Excel. Note that the outputted CSV will be put into a separate directory.
  2. Create a script which calls the gdal_translate command and converts all the images within a directory to a byte data type (i.e., with a range of 0 to 255).

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/8.5-Summary#sthash.b3x0Xsrk.dpuf

Unit 9. Image Processing

Level

Advanced

Time

This Unit should not take you more than 5 hours.

Learning Outcomes

By the end of this unit you should be able to:

  • read spatial data from an image header
  • read and write images from within Python
  • calculate NDVI from an image and perform a simple rule based classification.

Further Reading

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/Unit-9-Image-Processing#sthash.jqneBEhh.dpuf

9.1 Introduction

GDAL (http://www.gdal.org) is an open source library for the input and output of remote sensing raster datasets. GDAL supports a wide range of data formats (http://www.gdal.org/formats_list.html) allowing both the image pixel values to be accessed and the associated spatial information to be read. Alongside GDAL the OGR library (http://www.gdal.org/ogr) is available for the manipulation of vector datasets (details of supported formats can be seen at the following: http://www.gdal.org/ogr/ogr_formats.html). Both libraries are written in the C/C++ programming languages and are designed for use in applications created in this language but bindings for Python (and other programming languages) are also available, allowing the functionality to be used within Python scripts.

In this unit functions will not be explained since you are expected to look up the functions using the on-line  documentation available on the  Python website (http://docs.python.org/lib/lib.html) and to get used to using the documentation, which you will need to be able to do when you come to write your own scripts.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/9.1-Introduction#sthash.fR1RFy2D.dpuf

9.2 Dataset

For this unit a Landsat scene from the Landmap service is recommended for testing, as the band numbers are hard coded within the script. For the examples shown in this script the scene over North Wales was used; path 204 and row 23 (Figure 9.1). The file in Imagine format within image bands 1 – 7 was downloaded and used.

Figure 9.1. The Landsat image (path 204 row 23) used for this Unit

9.3 Opening an Image with GDAL

The first part of the unit will provide a short demonstration of how to open a remote sensing raster dataset using GDAL and read the geo-information contained within the file. The script is outlined below. Take your time going through the script to ensure you understand it:

#! /usr/bin/env python

#######################################
# GDALTest.py 
#
# A script using the GDAL Library to 
# demonstrate how to open the file and 
# view the geographic information 
# associated with the file.
#
# Author: <YOUR NAME>
# Email: <YOUR EMAIL>
# Date: DD/MM/YYYY
# Version: 1.0
#######################################

# Import the system library
import sys
# Import the GDAL Library as gdal.
import osgeo.gdal as gdal

# Define a class named GDALTest
class GDALTest (object):

# Define a function to open the image
# and print the spatial information
# associated with the image.
def openGDALFile(self, filePath):
# Open the image as a read only image
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the datasets has been successfully open
# otherwise exit the script with an error message.
if dataset is None:
print “The dataset could not openned”
sys.exit(-1)
# Print the driver information being used
print ‘Driver: ‘, dataset.GetDriver().ShortName, ‘/’, \
dataset.GetDriver().LongName
# Print the size of the image.
print ‘Size is ‘, dataset.RasterXSize, ‘x’, dataset.RasterYSize, \
‘x’, dataset.RasterCount
# Print the image projection.
print ‘Projection is ‘, dataset.GetProjection()

# Get the geometric transformation 
geotransform = dataset.GetGeoTransform()
# Check the whether the image has a geometric transformation
# if a transformation is found print associated information.
if not geotransform is None:
print ‘Origin = (‘,geotransform[0], ‘,’,geotransform[3],’)’
print ‘Pixel Size = (‘,geotransform[1], ‘,’,geotransform[5]*-1,’)’

# A function to run the script.
def run(self):
filePath = “C:\\PythonCourse\\unit9\\data\\orthol7_20423xs100999.img”
self.openGDALFile(filePath)

# The starting point of the script.
if __name__ == ‘__main__’:
obj = GDALTest()
obj.run()

Download the unit9.zip file from the Resources link at the top of this page, extracting the subdirectories including the data directory. A sample script GDALTest.py is included.

The script should produce a result similar to that shown below:

Driver:  HFA / Erdas Imagine Images (.img)
Size is  10084 x 9364 x 6
Projection is  PROJCS[“Transverse Mercator”,GEOGCS[“Ord. Survey G. Britain
1936″DATUM[“Ord. Survey G. Britain
1936” ,SPHEROID[“Airy”,6377563.396,299.3249753150316],TOWGS84[375,- 111,431,0,0,0,0]],PRIMEM[“Greenwich”,0],UNIT[“degree”,0.0174532925199433]],PROJECTION[
“Transverse_Mercator”],PARAMETER[“latitude_of_origin”,49],PARAMETER[“central_meridian”
,2],PARAMETER[“scale_factor”,0.9996012717],PARAMETER
[“false_easting”,400000],PARAMETER[“false_northing”,-100000],UNIT[“meters”,1]]
Origin = ( 175100.0 , 473675.0 )
Pixel Size = ( 25.0 , 25.0 )

9.4 Calculate NDVI using GDAL

Once you have understood the process of opening an image, the following exercise demonstrates how to use GDAL to access the pixels values within the image and use them in the calculation of a new image, in this case an image of the normalised vegetation index (NDVI). The first task is to provide the basic outline of the script, as shown below.

If you have not already done so, download the unit9.zip file from the Resources link at the top of this page, extracting the subdirectories including the data directory. A sample script GDALCalcNDVI.py is included. You may wish to rename this beforecreating your own script.

#! /usr/bin/env python

#######################################
# GDALCalcNDVI.py
#
# A script using the GDAL Library to
# create a new image contains the NDVI
# of the original image
#
# Author: <YOUR NAME>
# Email: <YOUR EMAIL>
# Date: DD/MM/YYYY
# Version: 1.0
#######################################

# Import required libraries from python
import sys, os, struct
# Import gdal
import osgeo.gdal as gdal

# Define the class GDALCalcNDVI
class GDALCalcNDVI (object):

# A function to create the output image
def createOutputImage(self, outFilename, inDataset):

# The function which loops through the input image and
# calculates the output NDVI value to be outputted.    
def calcNDVI(self, filePath, outFilePath):
# Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not openned”
sys.exit(-1)

# Create the output dataset
outDataset = self.createOutputImage(outFilePath, dataset)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# The function from which the script runs.
def run(self):
# Define the input and output images
filePath = ” C:\\PythonCourse\\unit9\\data\\orthol7_20423xs100999.img”
outFilePath = ” C:\\PythonCourse\\unit9\\data\\orthol7_20423xs100999_NDVI.tif”
# Check the input file exists
if os.path.exists(filePath):
# Run calcNDVI function
self.calcNDVI(filePath, outFilePath)
else:
print ‘The file does not exist.’

# Start the script by calling the run function.
if __name__ == ‘__main__’:
obj = GDALCalcNDVI()
obj.run()

Return to top

Within the structure outlined above, the standard run function which defines the input and output images is created. The function that will calculate the NDVI is also defined. The script contains code to open the input image and call another defined function, which will create the output image.

Now the output image needs to be created using the input image to define the output image size and spatial reference. Edit the createOutputImage function so it is as shown below:

# A function to create the output image
def createOutputImage(self, outFilename, inDataset):
# Define the image driver to be used 
# This defines the output file format (e.g., GeoTiff)
driver = gdal.GetDriverByName( “GTiff” )
# Check that this driver can create a new file.
metadata = driver.GetMetadata()
if metadata.has_key(gdal.DCAP_CREATE) and metadata[gdal.DCAP_CREATE] == ‘YES’:
print ‘Driver GTiff supports Create() method.’
else:
print ‘Driver GTIFF does not support Create()’
sys.exit(-1)
# Get the spatial information from the input file
geoTransform = inDataset.GetGeoTransform()
geoProjection = inDataset.GetProjection()
# Create an output file of the same size as the inputted 
# image, but with only 1 output image band.
newDataset = driver.Create(outFilename, inDataset.RasterXSize, \
inDataset.RasterYSize, 1, gdal.GDT_Float32)
# Define the spatial information for the new image.
newDataset.SetGeoTransform(geoTransform)
newDataset.SetProjection(geoProjection)
return newDataset

Return to top

The next step is to get the image bands required to calculate the NDVI. The NDVI is defined as

NDVI=(NIR-RED)/(NIR+RED)

Therefore, the first step in calculating it is to retrieve the RED and NIR bands from within the image, as shown below. The script has been hard coded with the band numbers within the image,where RED is band 3 and the NIR is band 4. In the future, and to improve the script, you may wish to offer these as user defined parameters along with the filenames. Edit your script to include the extra lines shown below:

# The function which loops through the input image and
# calculates the output NDVI value to be outputted.
def calcNDVI(self, filePath, outFilePath):
# Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset
outDataset = self.createOutputImage(outFilePath, dataset)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# Get hold of the RED and NIR image bands from the image
# Note that the image bands have been hard coded
# in this case for the Landsat sensor. RED = 3
# and NIR = 4 this might need to be changed if 
# data from another sensor was used.
red_band = dataset.GetRasterBand(3) # RED BAND
nir_band = dataset.GetRasterBand(4) # NIR BAND

Return to top

Now you have retrieved the image bands, the next step is to loop through the image and calculate the NDVI for each pixel. We do not want to load the whole image into the computers memory in one go, but rather only load the part we are currently working on. This is because memory is a limited resource and when dealing with very large datasets the computer does not contain enough memory to store all the data. For data to be processed they have first to be loaded into memory from the hard disk. To allow large images to be processed and minimise the memory load of the script the calculation of the NDVI is going to be performed on a line by line basis which requires a loop to be set up and the number of lines within the image to be identified, as shown below:

# The function which loops through the input image and
# calculates the output NDVI value to be outputted.    
def calcNDVI(self, filePath, outFilePath):
    # Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset
outDataset = self.createOutputImage(outFilePath, dataset)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

    # Get hold of the RED and NIR image bands from the image
    # Note that the image bands have been hard coded
    # in this case for the Landsat sensor. RED = 3
    # and NIR = 4 this might need to be changed if 
    # data from another sensor was used.
red_band = dataset.GetRasterBand(3) # RED BAND
nir_band = dataset.GetRasterBand(4) # NIR BAND
    # Retrieve the number of lines within the image
numLines = red_band.YSize
    # Loop through each line in turn.
for line in range(numLines):

Return to top

The script then needs to read the pixel values for the current line for each band (NIR and RED) of the image, as shown below. The data are read as a string containing a binary representation of the image values that need to be converted to number values, in this case floating point values. Therefore, the struct package (see the Python online documentation) is used to convert the binary data of length red_band.XSize to a Python tuple:

# The function which loops through the input image and
# calculates the output NDVI value to be outputted.    
def calcNDVI(self, filePath, outFilePath):
    # Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset
outDataset = self.createOutputImage(outFilePath, dataset)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# Get hold of the RED and NIR image bands from the image
# Note that the image bands have been hard coded
# in this case for the Landsat sensor. RED = 3
# and NIR = 4 this might need to be changed if 
# data from another sensor was used.
red_band = dataset.GetRasterBand(3) # RED BAND
nir_band = dataset.GetRasterBand(4) # NIR BAND
# Retrieve the number of lines within the image
numLines = red_band.YSize
# Loop through each line in turn.
for line in range(numLines):
# Define variable for output line.
outputLine = ”
# Read in data for the current line from the 
# image band representing the red wavelength
red_scanline = red_band.ReadRaster( 0, line, red_band.XSize, 1, \
red_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
red_tuple = struct.unpack(‘f’ * red_band.XSize, red_scanline)

# Read in data for the current line from the 
# image band representing the NIR wavelength
nir_scanline = nir_band.ReadRaster( 0, line, nir_band.XSize, 1, \
nir_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
nir_tuple = struct.unpack(‘f’ * nir_band.XSize, nir_scanline)

Return to top

A tuple is similar to a list in the way the data are accessed but the data cannot be edited. The following code can be used to iterate through each line of data and calculate the NDVI value for each pixel (before printing to screen):

# The function which loops through the input image and
# calculates the output NDVI value to be outputted.    
def calcNDVI(self, filePath, outFilePath):
    # Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset
outDataset = self.createOutputImage(outFilePath, dataset)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# Get hold of the RED and NIR image bands from the image
# Note that the image bands have been hard coded
# in this case for the Landsat sensor. RED = 3
# and NIR = 4 this might need to be changed if 
# data from another sensor was used.
red_band = dataset.GetRasterBand(3) # RED BAND
nir_band = dataset.GetRasterBand(4) # NIR BAND
# Retrieve the number of lines within the image
numLines = red_band.YSize
# Loop through each line in turn.
for line in range(numLines):
# Define variable for output line.
outputLine = ”
# Read in data for the current line from the 
# image band representing the red wavelength
red_scanline = red_band.ReadRaster( 0, line, red_band.XSize, 1, \
red_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
red_tuple = struct.unpack(‘f’ * red_band.XSize, red_scanline)

# Read in data for the current line from the 
# image band representing the NIR wavelength
nir_scanline = nir_band.ReadRaster( 0, line, nir_band.XSize, 1, \
nir_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
nir_tuple = struct.unpack(‘f’ * nir_band.XSize, nir_scanline)

# Loop through the columns within the image
for i in range(len(red_tuple)):
            #Calculate the NDVI for the current pixel.
ndvi_lower = (nir_tuple[i] + red_tuple[i])
ndvi_upper = (nir_tuple[i] – red_tuple[i])
ndvi = 0
#Be careful of zero divide
if ndvi_lower == 0:
ndvi = 0
else:
ndvi = ndvi_upper/ndvi_lower
print ndvi

Return to top

To write data to this file the floating point values for the NDVI value for each pixel need to be converted to a binary string (as the data were read in) and this is done using the struct.pack() method. As with reading the data, the output data need to be stored in memory for as little time as possible and therefore the current line is written to the new file before the next line from the input files is read, meaning only three lines of image data are in memory at one time. The following code illustrates how the data are written out:

# The function which loops through the input image and
# calculates the output NDVI value to be outputted.    
def calcNDVI(self, filePath, outFilePath):
    # Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset
outDataset = self.createOutputImage(outFilePath, dataset)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# Get hold of the RED and NIR image bands from the image
# Note that the image bands have been hard coded
# in this case for the Landsat sensor. RED = 3
# and NIR = 4 this might need to be changed if 
# data from another sensor was used.
red_band = dataset.GetRasterBand(3) # RED BAND
nir_band = dataset.GetRasterBand(4) # NIR BAND
# Retrieve the number of lines within the image
numLines = red_band.YSize
# Loop through each line in turn.
for line in range(numLines):
# Define variable for output line.
outputLine = ”
# Read in data for the current line from the 
# image band representing the red wavelength
red_scanline = red_band.ReadRaster( 0, line, red_band.XSize, 1, \
red_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
red_tuple = struct.unpack(‘f’ * red_band.XSize, red_scanline)

# Read in data for the current line from the 
# image band representing the NIR wavelength
nir_scanline = nir_band.ReadRaster( 0, line, nir_band.XSize, 1, \
nir_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
nir_tuple = struct.unpack(‘f’ * nir_band.XSize, nir_scanline)

# Loop through the columns within the image
for i in range(len(red_tuple)):
            #Calculate the NDVI for the current pixel.
ndvi_lower = (nir_tuple[i] + red_tuple[i])
ndvi_upper = (nir_tuple[i] – red_tuple[i])
ndvi = 0
#Be careful of zero divide
if ndvi_lower == 0:
ndvi = 0
else:
ndvi = ndvi_upper/ndvi_lower
# Add the current pixel to the output line
outputLine = outputLine + struct.pack(‘f’, ndvi)
# Write the completed line to the output image
outDataset.GetRasterBand(1).WriteRaster(0, line, red_band.XSize, 1, \
outputLine, buf_xsize=red_band.XSize,
buf_ysize=1, buf_type=gdal.GDT_Float32)
# Delete the output line following write
del outputLine
print ‘NDVI Calculated and Outputted to File’

Return to top

This script should now be complete, so execute your script on the input image and open the outputted image into ITT ENVI (or your preferred data viewer) and view the image (e.g., Figure 9.2). To check the result, calculate an NDVI within the software you are using and compare the pixel values. When going through this code make sure you have referenced the Python and GDAL documentation since both provide information useful for understanding the code presented in this example.

Figure 9.2. The calculate NDVI image

9.5 Create a Simple Rule Based Classifier

Once you have calculated the NDVI using the previous script you can use this layer as the basis of a simple land use classification. In this exercise a simple rule based classifier will be developed. By using a series of if-else statements the input data can be classified based on the NDVI value. The script will output two images. The first contains an integer value associated with each class while the second contains an image coloured according to the output class that can be used for visualisation.

To start the script you need the same outline as the previous script with some minor modification. Firstly, the number of output images has been increased to two and the function which creates the output datasets now takes in a variable for the number of output bands in the datasets being created. The code outline is shown below:

#! /usr/bin/env python

#######################################
# GDALRuleClassifier.py 
#
# A script using the GDAL Library to 
# undertake a simple rule based 
# classification on a single band
# image. The script outputs two images
# the first colour for visualisation 
# and the second with the outputted classes
#
# Author: <YOUR NAME>
# Email: <YOUR EMAIL>
# Date: DD/MM/YYYY
# Version: 1.0
#######################################

# Import required libraries from python
import sys, os, struct
# Import gdal
import osgeo.gdal as gdal

# Define the GDALRuleClassifier class
class GDALRuleClassifier (object):

# A function to create the output image with a given number of image bands.
def createOutputImage(self, outFilename, inDataset, numOutBands):
# Define the image driver to be used 
# This defines the output file format (e.g., GeoTiff)
driver = gdal.GetDriverByName( “GTiff” )
# Check that this driver can create a new file.
metadata = driver.GetMetadata()
if metadata.has_key(gdal.DCAP_CREATE) and metadata[gdal.DCAP_CREATE] == ‘YES’:
print ‘Driver GTiff supports Create() method.’
else:
print ‘Driver GTIFF does not support Create()’
sys.exit(-1)
# Get the spatial information from the input file
geoTransform = inDataset.GetGeoTransform()
geoProjection = inDataset.GetProjection()
# Create an output file of the same size as the inputted 
# image but with numOutBands output image bands.
newDataset = driver.Create(outFilename, inDataset.RasterXSize, \
inDataset.RasterYSize, numOutBands, gdal.GDT_Float32)
# Define the spatial information for the new image.
newDataset.SetGeoTransform(geoTransform)
newDataset.SetProjection(geoProjection)
return newDataset

# The function which runs the classification.
def classifyImage(self, filePath, outFilePathQKL, outFilePathSpatial):
# Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset (Coloured Image)
outDatasetQKL = self.createOutputImage(outFilePathQKL, dataset, 3)
# Check the datasets was successfully created.
if outDatasetQKL is None:
print ‘Could not create quicklook output image’
sys.exit(-1)

# Create the output dataset (Single band Image)
outDataset = self.createOutputImage(outFilePathSpatial, dataset, 1)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# The function from which the script runs.
def run(self):
# Define the input and output images
filePath = “C:\\PythonCourse\unit9\\data\\orthol7_20423xs100999_NDVI.tif”
outFilePathQKL = \
“C:\\PythonCourse\unit9\\data\\orthol7_20423xs100999_NDVI_classQK.tif”
outFilePathSpatial= \
”C:\\PythonCourse\unit9\\data\\orthol7_20423xs100999_NDVI_class.tif”
# Check the input file exists
if os.path.exists(filePath):
# Run the classify image function
self.classifyImage(filePath, outFilePathQKL, outFilePathSpatial)
else:
print ‘The file does not exist.’

# Start the script by calling the run function.
if __name__ == ‘__main__’:
obj = GDALRuleClassifier()
obj.run()

Return to top

The next stage is to loop through the input image (a line at a time) and write data to the output images. Edit your code as shown below:

# The function which runs the classification.
def classifyImage(self, filePath, outFilePathQKL, outFilePathSpatial):
# Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset (Coloured Image)
outDatasetQKL = self.createOutputImage(outFilePathQKL, dataset, 3)
# Check the datasets was successfully created.
if outDatasetQKL is None:
print ‘Could not create quicklook output image’
sys.exit(-1)

# Create the output dataset (Single band Image)
outDataset = self.createOutputImage(outFilePathSpatial, dataset, 1)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# Open the NDVI image band
ndvi_band = dataset.GetRasterBand(1) # NDVI BAND
numLines = ndvi_band.YSize
# Define variables for pixel output
outClass = 0
red = 0
green= 0
blue = 0
# Loop through the image lines
for line in range(numLines):
outputLine = ”
outputLineR = ”
outputLineG = ”
outputLineB = ”
# Read in data for the current line from the 
# image band representing the NDVI
ndvi_scanline = ndvi_band.ReadRaster( 0, line, ndvi_band.XSize, 1, \
ndvi_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
ndvi_tuple = struct.unpack(‘f’ * ndvi_band.XSize, ndvi_scanline)

# Loop through the row and assess each pixel.
for i in range(len(ndvi_tuple)):
# Write default class and colour to output images
outClass = 0 # Output class
red = 0 # Quantity of Red
green= 0 # Quantity of Green
blue = 0 # Quantity of Blue

# Add the current pixel values to the output lines
outputLine = outputLine + struct.pack(‘f’, outClass)
outputLineR = outputLineR + struct.pack(‘B’, red)
outputLineG = outputLineG + struct.pack(‘B’, green)
outputLineB = outputLineB + struct.pack(‘B’, blue)
# Write the completed lines to the output images
outDataset.GetRasterBand(1).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLine, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Float32)
outDatasetQKL.GetRasterBand(1).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLineR, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Byte)
outDatasetQKL.GetRasterBand(2).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLineG, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Byte)
outDatasetQKL.GetRasterBand(3).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLineB, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Byte)
# Delete the output lines following write
del outputLine
del outputLineR
del outputLineG
del outputLineB
print ‘Classification Completed Outputted to File’

Return to top

The final section is to add the decision rules (i.e., a series of if-else statements) to the loop such that each pixel is classified. Edit your code such that it is as shown below:

# The function which runs the classification.
def classifyImage(self, filePath, outFilePathQKL, outFilePathSpatial):
# Open the inputted dataset
dataset = gdal.Open( filePath, gdal.GA_ReadOnly )
# Check the dataset was successfully opened
if dataset is None:
print “The dataset could not opened”
sys.exit(-1)

# Create the output dataset (Coloured Image)
outDatasetQKL = self.createOutputImage(outFilePathQKL, dataset, 3)
# Check the datasets was successfully created.
if outDatasetQKL is None:
print ‘Could not create quicklook output image’
sys.exit(-1)

# Create the output dataset (Single band Image)
outDataset = self.createOutputImage(outFilePathSpatial, dataset, 1)
# Check the datasets was successfully created.
if outDataset is None:
print ‘Could not create output image’
sys.exit(-1)

# Open the NDVI image band
ndvi_band = dataset.GetRasterBand(1) # NDVI BAND
numLines = ndvi_band.YSize
# Define variables for pixel output
outClass = 0
red = 0
green= 0
blue = 0
# Loop through the image lines
for line in range(numLines):
outputLine = ”
outputLineR = ”
outputLineG = ”
outputLineB = ”
# Read in data for the current line from the 
# image band representing the NDVI
ndvi_scanline = ndvi_band.ReadRaster( 0, line, ndvi_band.XSize, 1, \
ndvi_band.XSize, 1, gdal.GDT_Float32 )
# Unpack the line of data to be read as floating point data
ndvi_tuple = struct.unpack(‘f’ * ndvi_band.XSize, ndvi_scanline)

# Loop through the row and assess each pixel.
for i in range(len(ndvi_tuple)):
# If statements are used to encode the rules.
if ndvi_tuple[i] < 0:
outClass = 0 # Output class
red = 200 # Quantity of Red
green= 200 # Quantity of Green
blue = 200 # Quantity of Blue
elif ndvi_tuple[i] >= 0.0 and ndvi_tuple[i] < 0.3:
outClass = 1
red = 127
green= 255
blue = 212
elif ndvi_tuple[i] >= 0.3 and ndvi_tuple[i] < 0.4:
outClass = 2
red = 0
green= 145
blue = 255
elif ndvi_tuple[i] >= 0.4 and ndvi_tuple[i] < 0.44:
outClass = 3
red = 62
green= 174
blue = 141
elif ndvi_tuple[i] >= 0.44 and ndvi_tuple[i] < 0.5:
outClass = 4
red = 129
green= 139
blue = 21
elif ndvi_tuple[i] >= 0.5 and ndvi_tuple[i] < 0.6:
outClass = 5
red = 0
green= 139
blue = 0
elif ndvi_tuple[i] >= 0.6:
outClass = 6
red = 255
green= 165
blue = 0
else:
outClass = 7
red = 0
green= 0
blue = 0
# Add the current pixel values to the output lines
outputLine = outputLine + struct.pack(‘f’, outClass)
outputLineR = outputLineR + struct.pack(‘B’, red)
outputLineG = outputLineG + struct.pack(‘B’, green)
outputLineB = outputLineB + struct.pack(‘B’, blue)
# Write the completed lines to the output images
outDataset.GetRasterBand(1).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLine, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Float32)
outDatasetQKL.GetRasterBand(1).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLineR, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Byte)
outDatasetQKL.GetRasterBand(2).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLineG, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Byte)
outDatasetQKL.GetRasterBand(3).WriteRaster(0, line, ndvi_band.XSize, 1, \
outputLineB, buf_xsize=ndvi_band.XSize, \
buf_ysize=1, buf_type=gdal.GDT_Byte)
# Delete the output lines following write
del outputLine
del outputLineR
del outputLineG
del outputLineB
print ‘Classification Completed Outputted to File’

Return to top

By running this code you should now be able to produce the images shown in Figures 9.3 and 9.4.

Return to top

Figure 9.3. The class image from the rule based classification of the NDVI

Figure 9.4. The coloured image from the rule based classification of the NDVI

9.6 Summary

Having undertaken this Unit you should be able to read spatial data from an image header and know how to read and write images using Python.

You should also be able to calculate NDVI from image data and perform a simple rule based classification.

Exercises

  1. Write a script which adds image bands from two separate images together to create a single output image. As part of this process you may want to check that the images overlap exactly (i.e., they cover the same geographic area).
  2. Use the original Landsat image and produce a simple rule based classification of the scene using more than one image band. Note, if you have already used Definiens eCognition you can use the same techniques for finding thresholds.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/9.6-Summary#sthash.nZWB4d6I.dpuf

Unit 10. LiDAR

Level

Advanced

Time

This Unit should not take you more than 6 hours.

Prerequisites

In addition to the general requirement for this course of a good working knowledge in remote sensing and image analysis, you should have some understanding of LiDAR remote sensing. This can be gained by undertaking the Landmap course on LiDAR

Learning Outcomes

By the end of this unit you should be able to:

  • use Python to read LiDAR data from an ASCII text file
  • grid LiDAR data, forming the basis for further processing
  • visualise the LiDAR data using matplotlib.

Further Reading

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/Unit-10-LiDAR#sthash.iXdCVLUy.dpuf

10.1 Basics

LiDAR is a 3D optical remote sensing system that records either discrete returns or a profile within a volume. This tutorial is concerned with discrete return data consisting of a first and last return. The sample data was supplied by NERC as a text file with the following format, where each entry is space separated:

Time First Last
Eastrings Northings Height Intensity Eastings Northings Height Intensity

Reading LiDAR data: splitting first and last returns

The first part of this exercise is to write the sample data into two lists (first and last) where each point is represented by the following LiDARPoint class (save file as LiDARPoint.py). You wil find a model file of the same name when you extract the contents of the unit10.zip material downloaded from the Resources link at the top of this page; rename one of these files if necessary to avoid overwriting.

#######################################
# A python class to represent a 3D
# LiDAR point.
#
# Author: <YOUR NAME>
# Email: <YOUR EMAIL>
# Date: DD/MM/YYYY
# Version: 1.0
#######################################

# Import sqrt function from the math file 
# (part of the python standard library)
from math import sqrt

# Define a class to represent a LiDARPoint
class LiDARPoint(object):
# Define the attributes for the class
time = 0
eastings = 0
northings = 0
height = 0
intensity = 0

#Initise the attribute starting values.
def __init__(self):
self.time = 0
self.eastings = 0
self.northings = 0
self.height = 0
self.intensity = 0

# Set the time attribute value
def setTime(self, inTime):
self.time = inTime

# Get the value of the time attribute
def getTime(self):
return self.time

# Set the eastings attribute value
def setEastings(self, inEastings):
self.eastings = inEastings

# Get the value of the eastings attribute
def getEastings(self):
return self.eastings

# Set the northings attribute value
def setNorthings(self, inNorthings):
self.northings = inNorthings

# Get the value of the eastings attribute
def getNorthings(self):
return self.northings

# Set the height attribute value
def setHeight(self, inHeight):
self.height = inHeight

# Get the value of the height attribute
def getHeight(self):
return self.height

# Set the intensity attribute value
def setIntensity(self, inIntensity):
self.intensity = inIntensity

# Get the value of the intensity attribute
def getIntensity(self):
return self.intensity

# Output a formats string of this point
def toString(self):
outString = str(self.time) + “,” /
+ str(self.eastings) + “,” /
+ str(self.northings) + “,” /
+ str(self.height) + “,” /
+ str(self.intensity)
return outString

# Return the euclidean distance between 
# LiDARPoints in 3D space
def getDistance3D(self, lidarPt):
diffX = self.eastings – lidarPt.eastings
diffY = self.northings – lidarPt.northings
diffZ = self.height – lidarPt.height

diffXSq = diffX * diffX
diffYSq = diffY * diffY
diffZSq = diffZ * diffZ

diffSq = diffXSq + diffYSq + diffZSq

dist = sqrt(diffSq)
return dist

# Return the euclidean distance between 
# LiDARPoints in 2D space (X and Y)
def getDistance2D(self, lidarPt):
diffX = self.eastings – lidarPt.eastings
diffY = self.northings – lidarPt.northings

diffXSq = diffX * diffX
diffYSq = diffY * diffY

diffSq = diffXSq + diffYSq

dist = sqrt(diffSq)
return dist

Return to top

The class to parse the text file should have the following structure and be saved as LiDARProcessor.py where you are required to write the code for the parseLiDARData() function:

#######################################
# A python class to process LiDAR Data

# Author: <YOUR NAME>
# Email: <YOUR EMAIL>
# Date: DD/MM/YYYY
# Version: 1.0
#######################################

# Import the LiDARPoint class from the 
# LiDARPoint file
from LiDARPoint import LiDARPoint
# import the path class from the os package 
# from within the standard library
import os.path
# import the sys package from within the 
# standard library
import sys
# Define a class to represent a LiDARPoint
class LiDARProcessor (object):

# A string tokenizer – this is a piece of general code
    # that allows the parsing of any line of text with a
    # a given delimiter.
def stringTokenizer(self, line, delimiter):
tokens = list()
token = str()
for i in range(len(line)):
if line[i] == delimiter and len(token) > 0:
tokens.append(token)
token = str()
elif line[i] != delimiter:
token = token + line[i]
if len(token) > 0:
tokens.append(token)
return tokens

 

# A function to parse the input LiDAR file.
def parseLiDARData(self, dataFile, firstReturns, lastReturns):
# Iterate through the lines of the file
# Use the tokeniser to split the line into individual tokens
# If 9 tokens then create first and last returns
# Else if 5 tokens create first return only
# Else print an error message

# Execute the program
def run(self):
# Specify input file name
filename = sys.argv[1]
# Check that the file path exists
if os.path.exists(filename):
# Create lists for point data
firstReturns = list()
lastReturns = list()
try:
# Open the data file
dataFile = open(filename, ‘r’)
except IOError, e:
print ‘\nCould not open file:\n’, e
return
self.parseLiDARData(dataFile, firstReturns, lastReturns)
dataFile.close()
print “There are ” + str(len(firstReturns)) + ” first ” /
+ “returns and ” + str(len(lastReturns)) + ” last ” /
+ “returns.”
else:
print ‘File \” + filename + ‘\’ does not exist.’

# Executed if the class is executed from the command line.
if __name__ == ‘__main__’:
obj = LiDARProcessor()
obj.run()

Return to top

Please note that when you run this code the entire point cloud is being read into the memory (RAM) of the computer therefore you need to have sufficient memory to contain the point cloud. For the sample data you need at least 500 MB of free memory on the machine you are using.

Following successful implementation you should have been presented with the following output:

> python LiDARProcessor.py Str_395_subset.all
There are 99822 first returns and 99242 last returns.

Now write and call an additional function to export the first and last return data to separate comma separated files where the base path for the file is input from the command line:

> python LiDARProcessor.py Str_395_subset.all.all Str_395_output

The output of this command should be two comma separated text files that contain the first and last returns, respectively. The function starts within the following:

# Export the first and last returns as separate files
def exportFirstLastPoints(self, firstReturns, lastReturns, path):
# Create file names for output files (first and last)
# Open output file for first returns
# Iterate through all points and write 1 line per point
# Close the file.
# Open output file for last returns
# Iterate through all points and write 1 line per point
# Close the file.

Download the unit10.zip file from the Resources link at the top of this page, extracting the subdirectories including the data directory. Sample scripts are included – take care not to overwrite you own files.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/10.1-Basics#sthash.W468n3Mv.dpuf

10.2 Gridding LiDAR data

The first step in many LiDAR processing algorithms is to grid the LiDAR data such that each item within the dataset is associated with a grid cell; an image is a form of gridded data.

The first steps in any gridding application are to:

  1. Identify extent of the dataset to be gridded (i.e., maximum and minimum eastings and northings)
  2. Define an appropriate grid cell size (to be added as a command line option)
  3. Create the memory data structure within which the gridded data are to be stored
  4. Sort the data into the grid data structure.

You are now to copy the following functions into your script, attempt to implement the missing parts of calcBBox() and createGrid() yourself before moving on to the answer further down:

# A Function that calculates the bounding box for the data
# Output: [minX, maxX, minY, maxY]
def calcBBox(self, ptData):
# initialize variables
minX = 0
maxX = 0
minY = 0
maxY = 0
firstIter = True

# Loop through the data
# if the first point initialize to first point
# Set min or max if bbox is increased.
# Create list to be outputted and set values.
bbox = list()
bbox.append(minX)
bbox.append(maxX)
bbox.append(minY)
bbox.append(maxY)
return bbox

# Create grid data structure
# The grid variable passed into the function
# will contain the grid data structure
# Output: [numXCells, numYCells]
def createGrid(self, bbox, gridSize, grid):
# Calculate the grid width and height
# and the number of cells (i.e., 
# divide by the grid cell size)
# Note. You need to add to to take into
# account rounding errors.

# Iterate through the number of Y cells
for i in range(numYCells):
# Append an empty list to the grid
for j in range(numXCells):
# Append an empty list to the grid[i]

# Create a list with the elements:
# 0: Number of X cells
# 1: Number of Y cells
# return the list

# A function which populates a grid with the 
# point data from the ptData list.
def populateGrid(self, bbox, grid, cells, gridSize, ptData):
# Define the bounding box for the first cell
# in the output grid
# NOTE. Processing starts at the Top Left and 
# moves down the scene to the Bottom Right
eastingsStart = bbox[0] # Left
eastingsEnd = bbox[0] + gridSize # Right
northingsStart = bbox[3] # Top
northingsEnd = bbox[3] – gridSize # Botton
ptCount = 0

# Iterate through the grid starting with the Y axis
for i in range(cells[1]):
# Reset eastings for start of row
eastingsStart = bbox[0]
eastingsEnd = bbox[0] + gridSize
# Give user some feedback as processing may take awhile
print i, ” of “, cells[1]
# Iterate along the row in the X axis
for j in range(cells[0]):
# The current points index
ptCount = 0
# Iterate through all the points
for pt in ptData:
# check whether the current point is within 
# the current grid cell
if ((pt.getEastings() >= eastingsStart) and \
(pt.getEastings() < eastingsEnd) and \
(pt.getNorthings() <= northingsStart) and \
(pt.getNorthings() > northingsEnd)):
# If yes then append to the cells size cell
grid[i][j].append(pt)
# and remove from the list of all point
ptData.pop(ptCount)
else:
ptCount = ptCount + 1
# Increment the bbox of the cell to then next in the row
eastingsStart = eastingsStart + gridSize
eastingsEnd = eastingsStart + gridSize
# Increment the bbox of the row to the next row
northingsStart = northingsStart – gridSize
northingsEnd = northingsEnd – gridSize

Return to top

Check your implementations of calcBBox() and createGrid() against those shown below. If your answer is very different observe where the differences are and check whether your code produces the same result – just because it is different does not mean it is wrong. If you were unable to create your own implementations of these functions try to understand how these functions, shown below, are working.

# A Function that calculates the bounding box for the data
# Output: [minX, maxX, minY, maxY]
def calcBBox(self, ptData):
# initialize variables
minX = 0
maxX = 0
minY = 0
maxY = 0
firstIter = True

# Loop through the data
for pt in ptData:
# if the first point initialize to first point
if firstIter:
minX = pt.getEastings()
maxX = pt.getEastings()
minY = pt.getNorthings()
maxY = pt.getNorthings()
firstIter = False
else:
# Set min or max if bbox is increased.
if pt.getEastings() < minX:
minX = pt.getEastings()
elif pt.getEastings() > maxX:
maxX = pt.getEastings()

if pt.getNorthings() < minY:
minY = pt.getNorthings()
elif pt.getNorthings() > maxY:
maxY = pt.getNorthings()

# Create list to be outputted and set values.
bbox = list()
bbox.append(minX)
bbox.append(maxX)
bbox.append(minY)
bbox.append(maxY)
return bbox

# Create grid data structure
# The grid variable passed into the function
# will contain the grid data structure
# Output: [numXCells, numYCells]
def createGrid(self, bbox, gridSize, grid):
width = int((bbox[1] – bbox[0])+1)
height = int((bbox[3] – bbox[2])+1)

numXCells = int((width/gridSize)+1)
numYCells = int((height/gridSize)+1)

for i in range(numYCells):
grid.append(list())
for j in range(numXCells):
grid[i].append(list())

cells = list()
cells.append(numXCells)
cells.append(numYCells)
return cells

Now that you have gridded the data metrics (such as mean, min and max) the height can be created for each grid cell and all these values can form the basis of a number of LiDAR data processing algorithms.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/10.2-Gridding-LiDAR-data#sthash.QeJkmJ7z.dpuf

10.3 Visualisation

Images

Now you have loaded and gridded the LiDAR data you will visualise the data using the matplotlib library, used earlier. Initially, you will be visualising the mean height and intensity using a 10 m grid for testing (faster to compute) before producing the final result using a 5 m grid. To undertake this you need to create the following functions and add them to your LiDARProcessor class:

# Calculate the mean height for each grid cell
# Output: grid[y][x] of values
def calcMeanHeight(self, gridPts, cells):
# Create list structure to be returned
meanHeightGrid = list()
# Iterate down the rows (Y axis)
# Append a list to create the row
# Iterate along the row
# Iterate through the points in 
# the row and calculate the mean
# value and append to the grid
# to be returned
return meanHeightGrid

# Calculate the mean intensity for each grid cell   
# Output: grid[y][x] of values
def calcMeanIntensity(self, gridPts, cells):
# Create list structure to be returned
meanIntensityGrid = list()
# Iterate down the rows (Y axis)
# Append a list to create the row
# Iterate along the row
# Iterate through the points in 
# the row and calculate the mean
# value and append to the grid
# to be returned
return meanIntensityGrid

Return to top

Again, check your implementations against those shown below and if you could not work out your own implementations study those provided in detail.

# Calculate the mean height for each grid cell
# Output: grid[y][x] of values
def calcMeanHeight(self, gridPts, cells):
meanGrid = list()
meanSum = 0
for i in range(cells[1]):
meanGrid.append(list())
for j in range(cells[0]):
meanSum = 0
for pt in gridPts[i][j]:
mmeanSum = meanSum + pt.getHeight()
if meanSum == 0:
meanGrid[i].append(0)
else:
meanGrid[i].append(meanSum/len(gridPts[i][j]))
return meanGrid

# Calculate the mean intensity for each grid cell   
# Output: grid[y][x] of values
def calcMeanIntensity(self, gridPts, cells):
meanGrid = list()
meanSum = 0
for i in range(cells[1]):
meanGrid.append(list())
for j in range(cells[0]):
meanSum = 0
for pt in gridPts[i][j]:
meanSum = meanSum + pt.getIntensity()
if meanSum == 0:
meanGrid[i].append(0)
else:
meanGrid[i].append(meanSum/len(gridPts[i][j]))
return meanGrid

Return to top

Once you have created these functions you can add the following function to your class which when called will visualise your LiDAR data and save it to file.

# This is a function which plots a grid of data grid[Y][X] as
# an image. 
# Ouput: A PNG image saved to disk.
def plotImageGrid(self, grid, outFilename, titletext):
title(titletext)
imshow(grid, cmap=cm.jet)
axis(‘off’)
savefig(outFilename, dpi=300, format=’PNG’)

Note. You need to import matplotlib to use this function:

# Import all from the pylab library (plotting)
from pylab import *

Return to top

Using a 5 m grid the following images should be created for the first return data (resized here to fit ther web page):

And the last return data:

Return to top

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/10.3-Visualisation#sthash.ugwbhDGO.dpuf

10.4 Scatter Plots

The next exercise takes you through the process of visualising a region of the point cloud using two of its axes (e.g., X and Z or Y and Z). The function below provides the code to visualise this data using matplotlib:

# This is a function that takes two datasets
# (i.e., first returns and last returns) and 
# plots them onto the same axis’.
def plotScatterPlot(self, dataXFirst, dataZFirst, dataXLast, dataZLast, outFilename, titletext):
plt = figure()
title(titletext)
scatter(dataXFirst, dataZFirst, color=’black’, marker=’o’)
scatter(dataXLast, dataZLast, color=’red’, marker=’o’)
grid()
plt.savefig(outFilename, dpi=300, format=’PNG’)

To use this function you need to extract a region of the point cloud ignoring one of the axes (e.g., Y) and only plotting the other two (e.g., X, Z) therefore another function needs to be written to extract these data. Try your own implementation before looking at the answer below.

# Extract a slice through the point cloud in the X axis, 
# ignoring the Y axis. Where the slice refers to a row.
def getSlice(self, grid, slice, dataX, dataZ):
numRows = len(grid)
if ((slice >= 0) and (slice < numRows)):
# Iterate through row of grid
# Add X and Z values for point to 
# appropriate lists
else:
print “The slice is not within the scene..”

One possible implementation of this function is shown below:

# Extract a slice through the point cloud in the X axis, 
# ignoring the Y axis. Where the slice refers to a row.
def getSlice(self, grid, slice, dataX, dataZ):
numRows = len(grid)
if ((slice >= 0) and (slice < numRows)):
for i in range(len(grid[slice])):
for pt in grid[slice][i]:
dataX.append(pt.getEastings())
dataZ.append(pt.getHeight())
else:
print “The slice is not within the scene..”

Return to top

Using a 5 m grid the following plots were produced for slices 2 and 10, where the last return is represented in red and the first in black. Slice 2 illustrates this difference between the returns over the trees where the first return is from the canopy volume while the last return is from the top.

Return to top

When you are complete, your run function should look similar to the example shown below; note the file paths have been hardcoded rather than retrieved from the user at run time:

# Execute the program
def run(self):
# Specify input file name
filename = “C:\\PythonCourse\\unit10\\data\\Str_395_subset.all”
# Specify output base path
outputBase = “C:\\PythonCourse\\unit10\\”
# Specify grid size
gridSize = 10
# Check that the file path exists
if os.path.exists(filename):
# Create lists for point data
firstReturns = list()
lastReturns = list()
try:
# Open the data file
dataFile = open(filename, ‘r’)
except IOError, e:
print ‘\nERROR: Could not open file:\n’, e
return
self.parseLiDARData(dataFile, firstReturns, lastReturns)
dataFile.close()
print “There are ” + str(len(firstReturns)) + ” first ” \
+ “returns and ” + str(len(lastReturns)) + ” last ” \
+ “returns.”
self.exportFirstLastPoints(firstReturns, lastReturns, \
outputBase)

bboxFirst = self.calcBBox(firstReturns)
bboxLast = self.calcBBox(lastReturns)

print “First BBOX: ” + str(bboxFirst)
print “Width = ” + str(bboxFirst[1] – bboxFirst[0])
print “Height = ” + str(bboxFirst[3] – bboxFirst[2])
print “Last BBOX: ” + str(bboxLast)
print “Width = ” + str(bboxFirst[1] – bboxFirst[0])
print “Height = ” + str(bboxFirst[3] – bboxFirst[2])

print “Creating Grid”
gridFirst = list()
cellsFirst = self.createGrid(bboxFirst, gridSize, gridFirst)
print cellsFirst

gridLast = list()
cellsLast = self.createGrid(bboxLast, gridSize, gridLast)
print cellsLast

print “Populating Grid”
print “First:”
self.populateGrid(bboxFirst, gridFirst, cellsFirst, gridSize, \
firstReturns)
print “Last:”
self.populateGrid(bboxLast, gridLast, cellsLast, gridSize, \
lastReturns)

print “Calculating Mean Height and Intensity grids”
meanHeightGridFirst = self.calcMeanHeight(gridFirst, cellsFirst)
meanIntensityGridFirst = self.calcMeanIntensity(gridFirst, \
cellsFirst)
meanHeightGridLast = self.calcMeanHeight(gridLast, cellsLast)
meanIntensityGridLast = self.calcMeanIntensity(gridLast, \
cellsLast)

print “Plot mean height and intensity grids”
self.plotImageGrid(meanHeightGridFirst, “meanHeightFirst.png”, \
“Mean Height (First Returns)”)
self.plotImageGrid(meanIntensityGridFirst, \
“meanIntensityFirst.png”, “Mean Intensity (First Returns)”)
self.plotImageGrid(meanHeightGridLast, “meanHeightLast.png”, \
“Mean Height (Last Returns)”)
self.plotImageGrid(meanIntensityGridLast, \
“meanIntensityLast.png”, “Mean Intensity (Last Returns)”)

print “Plot scatter plots”
dataXFirstS2 = list()
dataZFirstS2 = list()
dataXLastS2 = list()
dataZLastS2 = list()
self.getSlice(gridFirst, 2, dataXFirstS2, dataZFirstS2)
self.getSlice(gridLast, 2, dataXLastS2, dataZLastS2)
self.plotScatterPlot(dataXFirstS2, dataZFirstS2, dataXLastS2, \
dataZLastS2, “slice2scatter.png”, “Slice 2 Scatter”)

dataXFirstS10 = list()
dataZFirstS10 = list()
dataXLastS10 = list()
dataZLastS10 = list()
self.getSlice(gridFirst, 10, dataXFirstS10, dataZFirstS10)
self.getSlice(gridLast, 10, dataXLastS10, dataZLastS10)
self.plotScatterPlot(dataXFirstS10, dataZFirstS10, \
dataXLastS10, dataZLastS10, “slice10scatter.png”, \
“Slice 10 Scatter”)
else:
print ‘File \” + filename + ‘\’ does not exist.’

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/10.4-Scatter-plots#sthash.V1cgzOjt.dpuf

10.5 Summary

You have used Python to read LiDAR data from an ASCII text file and to grid LiDAR data, forming the basis for further processing.

You are able to visualise the LiDAR data using matplotlib.

Exercises

  1. Tidy up the plots that are created to improve the labelling and formatting.
  2. Extend the code to iterate through the rows and export a plot for each row in the grid.

– See more at: http://learningzone.rspsoc.org.uk/index.php/Learning-Materials/Python-Scripting/10.5-Summary#sthash.4yJOHlU4.dpuf

 



GDAL raster data tips and tricks

$
0
0

GDAL raster data tips and tricks


Reading GRASS data through GDAL/OGR support

Example 1: We write out a GRASS raster map to GeoTIFF — this format
includes the coordinates within the file’s metadata:

gdal_translate -of Gtiff /usr/local/share/grassdata/spearfish/PERMANENT/cellhd/soils soilmap.tif

ogr2ogr roadsmap.shp /usr/local/share/grassdata/spearfish/PERMANENT/vector/roads/head

Fast image display with tiling
If you want fast access you might want to try converting e.g. a BIL files to a tiled TIFF, and build overviews. You can build overviews for BIL too, but it can’t be directly tiled:

# add -co “PROFILE=BASELINE” for TIF/TFW
gdal_translate source_bil global30.tif -co “TILED=YES” -co “TFW=YES” -co “PROFILE=BASELINE”
gdaladdo global30.tif 2 4 8 16

GDAL performance problem?
GDAL_CACHEMAX is normally a number of megabytes (default is 10 or so). So something like:
gdal_translate -of GTIFF -co TILED=YES –config GDAL_CACHEMAX 120 madison_1f_01.jpg madison_1f_01.tif
would use a 120MB cache.

GDAL and 1 bit maps
With a trick you can get those:
gdal_merge.py -co NBITS=1 -o dst.tif src.tif

Generate 8 bit maps for Mapserver
gdal_translate -scale in.tif out.tif
Note: As of MapServer 4.4 support has been added for classifying non-8bit raster inputs

Greyscale conversion
A “proper” conversion would involve a colorspace transformation on the RGB image into IHS or something like that, and then taking the intensity. GRASS can do things like that.

Generate an OGC WKT (SRS)
In WKT the ellipsoid is described by two parameters: the semi-major axis and the inverse flattening. For a sphere the flattening is 0 and so the inverse flattening is infinity.

# in the GDAL source code:
cd apps
make testepsg
./testepsg ‘+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m’
Validate Succeeds.
WKT[+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m] =
PROJCS[“unnamed”,
GEOGCS[“GRS 1980(IUGG, 1980)”,
DATUM[“unknown”,
SPHEROID[“GRS80”,6378137,298.257222101]],
PRIMEM[“Greenwich”,0],
UNIT[“degree”,0.0174532925199433]],
PROJECTION[“Lambert_Conformal_Conic_2SP”],
PARAMETER[“standard_parallel_1”,35],
PARAMETER[“standard_parallel_2”,65],
PARAMETER[“latitude_of_origin”,52],
PARAMETER[“central_meridian”,10],
PARAMETER[“false_easting”,4000000],
PARAMETER[“false_northing”,2800000],
UNIT[“Meter”,1]]

Simplified WKT[+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m] =
PROJCS[“unnamed”,
GEOGCS[“GRS 1980(IUGG, 1980)”,
DATUM[“unknown”,
[..]

Extracting spatial subset (subregion)
W N E S
gdal_translate -of GTiff -projwin 636861 5152686 745617 5054047.5 \
p192r28_5t19920809_nn1.tif test1_utm.tif

Fixing broken projection/datum info for raster data
gdal_translate -of HFA -a_srs epsg:32735 /cdrom/173072lsat.img \
173072lsat_fixed.img

# or, using a WKT file
gdal_translate -of HFA -a_srs file.prj /cdrom/173072lsat.img \
173072lsat_fixed.img

Merge various import maps, re-project on the fly and extract spatial subset according to current GRASS region
eval `g.region -g`
gdalwarp -te $w $s $e $n *.TIF \
srtm_cgiar3_italy_north_LL.tif

Export to (limited) TIFF readers such as ArcView, or ImageMagick
Many tools have trouble reading multi-band TIFFs with “band interleaving”, the GDAL output default. Best is to use the INTERLEAVE=PIXEL creation option. Just add to the gdal_translate command line:
-co INTERLEAVE=PIXEL

Inserting metadata (metadata tags)
gdal_translate -outsize 37.5% 37.5% \
-mo TIFFTAG_XRESOLUTION=300 -mo TIFFTAG_YRESOLUTION=300 \
in.tif out.tif

Raster map reprojection (warping)
gdalwarp -t_srs ‘+init=epsg:26591 +towgs84=-225,-65,9’ test1.tif \
test1_gb.tif

Raster map reprojection (warping) maintaining NULL values (sea etc):

gdalwarp -r bilinear -tr 1000 1000 \
-srcnodata “-32768” -dstnodata “-32768” \
-wo “INIT_DEST=-32768” \
-t_srs epsg:32632 italy_LL.tif italy_UTM32.tif

Reprojecting external map to current GRASS location externally
gdalwarp -t_srs “`g.proj -wf`” aster.tif aster_tmerc.tif

Cut out region of interest with gdalwarp (in target coords)
Add to command line (insert values instead of letters of course:
#damn order, differs from -projwin!!
-te W S E N

Merging many small adjacent DEMs into one big map (A)
This needs GDAL compiled with Python and numpy installed:
# if not installed in standard site-packages directory
export PYTHONPATH=/usr/local/lib/python2.5/site-packages
gdal_merge.py -v -o spearfishdem.tif -n “-32768” d*.tif

Merging many small adjacent DEMs into one big map (B)
Even easier, just use gdalwarp:
gdalwarp C_1mX1m/dtm*.tif big.tif
Or just a few tiles:
gdalwarp C_1mX1m/dtm0010[4-5]* big_selection.tif

Merge various map/bands into a RGB composite
gdal_merge.py -of HFA -separate band1.img band2.img band3.img -o out.img

GDAL gdalwarp interpolation comments
Which method -rn, rb, -rc or -rcs should one use for DEM and which for data like e.g. Landsat TM reprojecting?

-tps: Enable use of thin plate spline transformer based on available GCPs.
-rn: Use nearest neighbour resampling (default, fastest algorithm, worst interpolation quality).
-rb: Use bilinear resampling.
-rc: Use cubic resampling.
-rcs: Use cubic spline resampling (slowest algorithm).

FrankW suggests:
I would suggest -rb for DEMs, and one of the cubic kernels for landsat data. Of course, there are various factors that you should take into account. Using -rb (bilinear) for the DEM will perform local averaging of the nearby pixel values in the source. This give reasonable results without introducing any risky “overshoot” effects you might see with cubic that could be disturbing for analysis or visualization in a DEM. The cubic should in theory do better at preserving edges and general visual crispness than using bilinar or nearest neighbour. However, if you are wanting to do analysis with the landsat (such as multispectral classification) I would suggest just using -rn (nearest neighbour) so as to avoid causing odd effects to the spectral values.
Nobody can’t tell you what method should be used in your case. Generally speaking, in the case of upsampling spline and cubic interpolators are more suitable (-rcs and -rc). In the case of downsampling and the same resolution it is completely up to you what method looks better. Just try them all and select the one which is most appropriate for you.

Geocoding with ‘gdal_translate’
FrankW suggests:
As far as I know there is not on-screen method for doing this, but it certainly isn’t too difficult with a little bit of semi-manual work. Open two OpenEV views, one with the unreferenced image, one with the geo-reference base you want to use. Move your cursor over the non-referenced one (let’s call it image1), record (read: write down!) the pixel x,y values. Then look at the same location in image2. Write down the geocoordinate for the pixel. You should have four numbers for each location you want to pin the image to. And so on and so on. Then use gdal_translate to translate image1.tif to image1_georefd.tif but adding the -GCP parameter for each set of coordinates. Like so…

gdal_translate -gcp 1 1 500000 5000000 \
-gcp 200 400 550000 5250000 image1.tif \
image1_geo.tif

Reading HDF ASTER
gdalinfo pg-PR1B0000-2002031402_100_001

To select a channel and warp to UTM (or whatever is inside):
gdalwarp HDF4_SDS:ASTER_L1B:”pg-PR1B0000-2002031402_100_001″:2 aster_2.tif
gdalinfo aster_2.tif


Introduction To Processing With GDAL Utilities

$
0
0

Introduction To Processing With GDAL Utilities

In the Adding a GeoTiff section, a GeoTIFF file has been added to GeoServer as is. However, it’s common practice to do a preliminary analysis on the available data and, if needed, optimize it since configuring big datasets without proper pre-processing, may result in low performance when accessing them. In this section, instructions about how to do data optimization will be provided by introducing some FWTools Utilities.

Note

On a Windows machine you can set-up a shell with all GDAL Utilities opening a terminal and running the filesetenv.bat under the %TRAINING_ROOT% folder. This operation must repeated whenever a new terminal window is open. Alternatively run directly the file gdal.bat under the %TRAINING_ROOT% folder.

gdalinfo

This utility allows to get several info from the GDAL library, for instance, specific Driver capabilities and input Datasets/Files properties.

gdalinfo – Getting Drivers Capabilities

Being GeoTIFF a widely adopted geospatial format, it’s useful to get information about the GDAL GeoTIFF’s Driver capabilities using the command:

gdalinfo --format GTIFF

This is only a trimmed down version of a typical output:

Format Details:
  Short Name: GTiff
  Long Name: GeoTIFF
  Extension: tif
  Mime Type: image/tiff
  Help Topic: frmt_gtiff.html
  Supports: Create() - Create writeable dataset.
  Supports: CreateCopy() - Create dataset by copying another.
  Supports: Virtual IO - eg. /vsimem/
  Creation Datatypes: Byte UInt16 Int16 UInt32 Int32 Float32 Float64 CInt16 CInt32 CFloat32 CFloat64
  <CreationOptionList>
  <Option name="COMPRESS" type="string-select">
         <Value>NONE</Value>
         <Value>LZW</Value>
         <Value>PACKBITS</Value>
         <Value>JPEG</Value>
         <Value>CCITTRLE</Value>
         <Value>CCITTFAX3</Value>
         <Value>CCITTFAX4</Value>
         <Value>DEFLATE</Value>
  </Option>
  <Option name="PREDICTOR" type="int" description="Predictor Type" />
  <Option name="JPEG_QUALITY" type="int" description="JPEG quality 1-100" default="75"/>
  <Option name="ZLEVEL" type="int" description="DEFLATE compression level 1-9" default="6" />
  <Option name="LZMA_PRESET" type="int" description="LZMA compression level 0(fast)-9(slow)" default="6" />
  <Option name="NBITS" type="int" description="BITS for sub-byte files (1-7), sub-uint16 (9-15), sub-uint32 (17-31)" />
  <Option name="INTERLEAVE" type="string-select" default="PIXEL">
         <Value>BAND</Value>
         <Value>PIXEL</Value>
  </Option>
  <Option name="TILED" type="boolean" description="Switch to tiled format"/>
  <Option name="TFW" type="boolean" description="Write out world file"/>
  <Option name="RPB" type="boolean" description="Write out .RPB (RPC) file" />
  <Option name="BLOCKXSIZE" type="int" description="Tile Width"/>
  <Option name="BLOCKYSIZE" type="int" description="Tile/Strip Height"/>
  <Option name="PHOTOMETRIC" type="string-select">
         <Value>MINISBLACK</Value>
         <Value>MINISWHITE</Value>
         <Value>PALETTE</Value>
         <Value>RGB</Value>
         <Value>CMYK</Value>
         <Value>YCBCR</Value>
         <Value>CIELAB</Value>
         <Value>ICCLAB</Value>
         <Value>ITULAB</Value>
  </Option>
  <Option name="SPARSE_OK" type="boolean" description="Can newly created files have missing blocks?" default="FALSE" />
  <Option name="ALPHA" type="boolean" description="Mark first extrasample as being alpha" />
  <Option name="PROFILE" type="string-select" default="GDALGeoTIFF">
         <Value>GDALGeoTIFF</Value>
         <Value>GeoTIFF</Value>
         <Value>BASELINE</Value>
  </Option>
  <Option name="PIXELTYPE" type="string-select">
         <Value>DEFAULT</Value>
         <Value>SIGNEDBYTE</Value>
  </Option>
  <Option name="BIGTIFF" type="string-select" description="Force creation of BigTIFF file">
         <Value>YES</Value>
         <Value>NO</Value>
         <Value>IF_NEEDED</Value>
         <Value>IF_SAFER</Value>
  </Option>
  <Option name="ENDIANNESS" type="string-select" default="NATIVE" description="Force endianness of created file. For DEBUG purpose mostly">
         <Value>NATIVE</Value>
         <Value>INVERTED</Value>
         <Value>LITTLE</Value>
         <Value>BIG</Value>
  </Option>
  <Option name="COPY_SRC_OVERVIEWS" type="boolean" default="NO" description="Force copy of overviews of source dataset (CreateCopy())" />
  </CreationOptionList>
From the above list of create options it’s possible to determine the main GeoTIFF Driver’s writing capabilities:
  • COMPRESS: customize the compression to be used when writing output data
  • JPEG_QUALITY: specify a quality factor to be used by the JPEG compression
  • TILED: When set to YES it allows to tile output data
  • BLOCKXSIZE, BLOCKYZISE: Specify the Tile dimension width and Tile dimension height
  • PHOTOMETRIC: Specify the photometric interpretation of the data
  • PROFILE: Specify the GeoTIFF profile to be used (some profiles only support a minimal set of TIFF Tags while some others provide a wider range of Tags)
  • BIGTIFF: Specify when to write data as BigTIFF (A TIFF format which allows to break the 4GB Offset boundary)

gdalinfo – Getting Dataset/File Properties

The following instructions allow you to get information about the sample dataset previously configured in GeoServer.

  1. Run:

    * Linux::
    
      cd ${TRAINING_ROOT}/data/user_data/aerial
    
      gdalinfo 13tde815295_200803_0x6000m_cl.tif
    
    * Windows::
    
      setenv.bat
    
      cd %TRAINING_ROOT%\data\user_data\aerial\
    
      gdalinfo 13tde815295_200803_0x6000m_cl.tif
    
    ../_images/fw_basegdalinfo.png

    Part of the gdalinfo output on a sample dataset

  2. Check the Block info as well as the Overviews info if present.

  • Block: It represents the internal tiling. Notice that the sample dataset has tiles made of 16 rows having width equals to the full image width.
  • Overviews: It provides information about the underlying overviews. Notice that the sample dataset doesn’t have overviews since the Overviews property is totally missing from the gdalinfo output.

gdal_translate

This utility allows to convert a dataset to a different format by allowing a wide set of parameters to customize the conversion.

Running the command:

gdal_translate

allows to get the list of supported parameters as well as the supported output formats:

Usage: gdal_translate [--help-general]
       [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
             CInt16/CInt32/CFloat32/CFloat64}] [-strict]
       [-of format] [-b band] [-mask band] [-expand {gray|rgb|rgba}]
       [-outsize xsize[%] ysize[%]]
       [- unscale] [-scale [src_min src_max [dst_min dst_max]]]
       [-srcwin xoff yoff xsize ysize] [-projwin ulx uly lrx lry]
       [-a_srs srs_def] [-a_ullr ulx uly lrx lry] [-a_nodata value]
       [-gcp pixel line easting northing [elevation]]*
       [-mo "META-TAG=VALUE"]* [-q] [-sds]
       [-co "NAME=VALUE"]* [-stats]
       src_dataset dst_dataset
Where the meaning of the main parameters is summarized below:
  • -ot: allows to specify the output datatype (Make sure that the specified datatype is contained in the Creation Datatypes list of the Writing driver)
  • -of: specify the desired output format (GTIFF is the default value)
  • -b: allows to specify an input band to be written in the output file. (Use multiple -b option to specify more bands)
  • -mask: allows to specify an input band to be write an output dataset mask band.
  • -expand: allows to expose a dataset with 1 band with a color table as a dataset with 3 (rgb) or 4 (rgba) bands. The (gray) value allows to expand a dataset with a color table containing only gray levels to a gray indexed dataset.
  • -outsize: allows to set the size of the output file in terms of pixels and lines unless the %sign is attached in which case it’s as a fraction of the input image size.
  • -unscale: allows to apply the scale/offset metadata for the bands to convert from scaled values to unscaled ones.
  • -scale: allows to rescale the input pixels values from the range src_min to src_max to the range dst_min to dst_max. (If omitted the output range is 0 to 255. If omitted the input range is automatically computed from the source data).
  • -srcwin: allows to select a subwindow from the source image in terms of xoffset, yoffset, width and height
  • -projwin: allows to select a subwindow from the source image by specifying the corners given in georeferenced coordinates.
  • -a_srs: allows to override the projection for the output file. The srs_def may be any of the usual GDAL/OGR forms, complete WKT, PROJ.4, EPSG:n or a file containing the WKT.
  • -a_ullr: allows to assign/override the georeferenced bounds of the output file.
  • -a_nodata: allows to assign a specified nodata value to output bands.
  • -co: allows to set a creation option in the form “NAME=VALUE” to the output format driver. (Multiple -co options may be listed.)
  • -stats: allows to get statistics (min, max, mean, stdDev) for each band
  • src_dataset: is the source dataset name. It can be either file name, URL of data source or subdataset name for multi*-dataset files.
  • dst_dataset: is the destination file name.

gdal_translate – Tiling the sample dataset

The following steps provide instructions to tile the sample dataset previously configured in GeoServer, by using the GeoTiff driver.

  1. Create a directory to store the converted data:
  • Linux:

    cd ${TRAINING_ROOT}/data/user_data
    
    mkdir retiled
    
  • Windows:

    cd %TRAINING_ROOT%\data\user_data
    
    mkdir retiled
    
  1. Convert the input sample data to an output file having tiling set to 512×512. Run:
  • Linux:

    gdal_translate -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" aerial/13tde815295_200803_0x6000m_cl.tif retiled/13tde815295_200803_0x6000m_cl.tif
    
  • Windows:

    gdal_translate -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" aerial\13tde815295_200803_0x6000m_cl.tif retiled\13tde815295_200803_0x6000m_cl.tif
    
  1. Optionally, check that the output dataset have been successfully tiled, by running the command:
  • Linux:

    gdalinfo retiled/13tde815295_200803_0x6000m_cl.tif
    
  • Windows:

    gdalinfo retiled\13tde815295_200803_0x6000m_cl.tif
    
../_images/fw_tiledgdalinfo.png

Part of the gdalinfo output on the tiled dataset. Notice the Block value now is 512×512

gdaladdo

This utility allows to add overviews to a dataset. The following steps provide instructions to add overviews to the tiled sample dataset.

Running the command:

gdaladdo

allows to get the list of supported parameters:

Usage: gdaladdo [-r {nearest,average,gauss,average_mp,average_magphase,mode}]
                [-ro] [--help-general] filename levels
Where the meaning of the main parameters is summarized below:
  • -r: allows to specify the resampling algorithm (Nearest is the default value)
  • -ro: allows to open the dataset in read-only mode, in order to generate external overview (for GeoTIFF especially)
  • filename: represents the file to build overviews for.
  • levels: allows to specify a list of overview levels to build.

gdaladdo – Adding overviews to the sample dataset

  1. Run:
  • Linux:

    cd ${TRAINING_ROOT}/data/user_data/retiled
    
    gdaladdo -r average 13tde815295_200803_0x6000m_cl.tif 2 4 8 16 32
    
  • Windows:

    cd %TRAINING_ROOT%\data\user_data\retiled
    
    gdaladdo -r average 13tde815295_200803_0x6000m_cl.tif 2 4 8 16 32
    
to add 5 levels of overviews having 2,4,8,16,32 subsampling factors applied to the original image resolution respectively.
  1. Optionally, check that the overviews have been added to the dataset, by running the command:

    gdalinfo 13tde815295_200803_0x6000m_cl.tif
    
    ../_images/fw_tiledovgdalinfo.png

    Part of the gdalinfo output on the tiled dataset with overviews. Notice the Overviews properties

Process in bulk

Instead of manually repeating these 2 steps (retile + add overviews) for each file, we can invoke a few commands to get it automated.

  1. Run:
  • Linux:

    cd ${TRAINING_ROOT}/data/user_data
    
    mkdir optimized
    
    cd aerial
    
    for i in `find *.tif`; do gdal_translate -CO "TILED=YES" -CO "BLOCKXSIZE=512" -CO "BLOCKYSIZE=512" $i ../optimized/$i; gdaladdo -r average ../optimized/$i 2 4 8 16 32; done
    
  • Windows:

    cd %TRAINING_ROOT%\data\user_data\
    
    mkdir optimized
    
    cd aerial
    
        notepad optimize.bat
    

    will be open a text editor. Copy the following content:

    for %%F in (*.tif) do  (
          echo Processing file %%F
    
          REM translate
          echo Performing gdal_translate on file %%F to file %%~nF.tiff
          gdal_translate -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" -co "COMPRESS=DEFLATE" %%F ..\optimized\%%~nF.tiff
    
          REM add overviews
          echo Adding overviews on file %%~nF.tiff
          gdaladdo -r average --config COMPRESS_OVERVIEW DEFLATE ..\optimized\%%~nF.tiff 2 4 8 16 32
    
    )
    

    Then save the file and run the created .bat file:

    optimize.bat
    
  1. You should see a list of run like this:

    ...
    Input file size is 2500, 2500
    0...10...20...30...40...50...60...70...80...90...100 - done.
    0...10...20...30...40...50...60...70...80...90...100 - done.
    Input file size is 2500, 2500
    0...10...20...30...40...50...60...70...80...90...100 - done.
    0...10...20...30...40...50...60...70...80...90...100 - done.
    Input file size is 2500, 2500
    0...10...20...30...40...50...60...70...80...90...100 - done.
    0...10...20...30...40...50...60...70...80...90...100 - done.
    ...
    

Warning

This process can take some seconds.

At this point optimized datasets have been prepared and they are ready to be served by GeoServer as an ImageMosaic.

gdalwarp

This utility allows to warp and reproject a dataset. The following steps provide instructions to reproject the aerial dataset (which has “EPSG:26913” coordinate reference system) to WGS84 (“EPSG:4326”).

Running the command:

gdalwarp

allows to get the list of supported parameters:

Usage: gdalwarp [--help-general] [--formats]
       [-s_srs srs_def] [-t_srs srs_def] [-to "NAME=VALUE"]
       [-order n | -tps | -rpc | -geoloc] [-et err_threshold]
       [-refine_gcps tolerance [minimum_gcps]]
       [-te xmin ymin xmax ymax] [-tr xres yres] [-tap] [-ts width height]
       [-wo "NAME=VALUE"] [-ot Byte/Int16/...] [-wt Byte/Int16]
       [-srcnodata "value [value...]"] [-dstnodata "value [value...]"] -dstalpha
       [-r resampling_method] [-wm memory_in_mb] [-multi] [-q]
       [-cutline datasource] [-cl layer] [-cwhere expression]
       [-csql statement] [-cblend dist_in_pixels] [-crop_to_cutline]
       [-of format] [-co "NAME=VALUE"]* [-overwrite]
       srcfile* dstfile
Where the meaning of the main parameters is summarized below:
  • -s_srs: allows to specify the source coordinate reference system
  • -t_srs: allows to specify the target coordinate reference system
  • -te: allows to set georeferenced extents (expressed in target CRS) of the output
  • -tr: allows to specify the output resolution (expressed in target georeferenced units)
  • -ts: allows to specify the output size in pixel and lines.
  • -r: allows to specify the resampling method (one of near, bilinear, cubic, cubicspline and lanczos)
  • -srcnodata: allows to specify band values to be excluded from interpolation.
  • -dstnodata: allows to specify nodata values on output file.
  • -wm: allows to specify the amount of memory (expressed in megabytes) used by the warping API for caching.

gdalwarp – Reprojecting sample dataset to WGS84

  1. Run:
  • Linux:

    cd ${TRAINING_ROOT}/data/user_data/retiled
    
    gdalwarp -t_srs "EPSG:4326" -co "TILED=YES" 13tde815295_200803_0x6000m_cl.tif 13tde815295_200803_0x6000m_cl_warped.tif
    
  • Windows:

    cd %TRAINING_ROOT%/data/user_data/retiled
    
    gdalwarp -t_srs "EPSG:4326" -co "TILED=YES" 13tde815295_200803_0x6000m_cl.tif 13tde815295_200803_0x6000m_cl_warped.tif
    
to reproject the specified aerial dataset to WGS84 coordinate reference system.
  1. Optionally, check that reprojection has been successfull, by running the command:

    gdalinfo 13tde815295_200803_0x6000m_cl_warped.tif
    
    ../_images/fw_warpedgdalinfo.png

    Part of the gdalinfo output on the warped dataset. Notice the updated Coordinate Systemproperty

In the next section, instructions to configure an ImageMosaic will be provided.


Python GDAL/OGR Cookbook

$
0
0

This cookbook has simple code snippets on how to use the Python GDAL/OGR API. The web site is a project at GitHub and served by Github Pages. If you find missing recipes or mistakes in existing recipes please add an issue to the issue tracker.

For a detailed description of the whole Python GDAL/OGR API, see the useful API docs.

We heavily relied on Chris Garrard’s excellent Geoprocessing with Python using Open Source GIS and the official GDAL/OGR Python documentation. Another great source of examples is OGR’s autotest directory.


Immutable.js及在React中的应用

$
0
0

1. 为什么需要Immutable.js

1.1 引用带来的副作用

Shared mutable state is the root of all evil(共享的可变状态是万恶之源)

javascript(es5)中存在两类数据结构: primitive value(string、number、boolean、null、undefined)、object(reference)。在编译型语言(例如java)也存在object,但是js中的对象非常灵活、多变,这给我们的开发带来了不少好处,但是也引起了非常多的问题。

业务场景1:

var obj = {
  count: 1
};
var clone = obj;
clone.count = 2;

console.log(clone.count) // 2
console.log(obj.count) // 2

业务场景2:

var obj = {
 count: 1
};

unKnownFunction(obj);
console.log(obj.count) // 不知道结果是多少?

1.2 深度拷贝的性能问题

针对引用的副作用,有人会提出可以进行深度拷贝(deep clone), 请看下面深度拷贝的代码:

function isObject(obj) {
  return typeof obj === 'object';
}

function isArray(arr) {
  return Array.isArray(arr);
}
function deepClone(obj) {
  if (!isObject(obj))  return obj;
  var cloneObj = isArray(obj) ? [] : {};

  for(var key in obj) {
    if (obj.hasOwnProperty(key)) {
      var value = obj[key];
      var copy = value;

      if (isObject(value)) {
        cloneObj[key] = deepClone(value);
      } else {
        cloneObj[key] = value;
      }
    }
  }
  return cloneObj;
}

var obj = {
  age: 5,
  list: [1, 2, 3]
};

var obj2 = deepClone(obj)
console.log(obj.list === obj2.list) // false

假如仅仅只是对obj.age进行操作,使用深度拷贝同样需要拷贝list字段,而两个对象的list值是相同的,对list的拷贝明显是多余,因此深度拷贝存在性能缺陷的问题。

var obj = {
  age: 5,
  list: [1, 2, 3]
};
var obj2 = deepClone(obj)
obj2.age = 6;
// 假如仅仅只对age字段操作,使用深度拷贝(deepClone函数)也对list进行了复制,
// 这样明显是多余的,存在性能缺陷

1.3 js本身的无力

在js中实现数据不可变,有两个方法: const(es6)、Object.freeze(es5)。但是这两种方法都是shallow处理,遇到嵌套多深的结构就需要递归处理,又会存在性能上的问题。

2. Immutable的优点

2.1 Persistent data structure

Immutable.js提供了7种不可变的数据类型: ListMap Stack OrderedMap Set OrderedSet Record。对Immutable对象的操作均会返回新的对象,例如:

var obj = {count: 1};
var map = Immutable.fromJS(obj);
var map2 = map.set('count', 2);

console.log(map.get('count')); // 1
console.log(map2.get('count')); // 2

关于Persistent data structure 请查看 wikipedia

2.2 structural sharing

当我们对一个Immutable对象进行操作的时候,ImmutableJS基于哈希映射树(hash map tries)和vector map tries,只clone该节点以及它的祖先节点,其他保持不变,这样可以共享相同的部分,大大提高性能。

var obj = {
  count: 1,
  list: [1, 2, 3, 4, 5]
}
var map1 = Immutable.fromJS(obj);
var map2 = map1.set('count', 2);

console.log(Immutable.is(map1.list, map2.list)); // true

从网上找一个图片来说明结构共享的过程:

2.3 support lazy operation

ImmutableJS借鉴了Clojure、Scala、Haskell这些函数式编程语言,引入了一个特殊结构Seq(全称Sequence), 其他Immutable对象(例如ListMap)可以通过toSeq进行转换。

Seq具有两个特征: 数据不可变(Immutable)、计算延迟性(Lazy)。在下面的demo中,直接操作1到无穷的数,会超出内存限制,抛出异常,但是仅仅读取其中两个值就不存在问题,因为没有对map的结果进行暂存,只是根据需要进行计算。

Immutable.Range(1, Infinity)
.map(n => -n)
// Error: Cannot perform this action with an infinite size.

Immutable.Range(1, Infinity)
.map(n => -n)
.take(2)
.reduce((r, n) => r + n, 0);
// -3

2.4 强大的API机制

ImmutableJS的文档很Geek,提供了大量的方法,有些方法沿用原生js的类似,降低学习成本,有些方法提供了便捷操作,例如setInUpdateIn可以进行深度操作。

var obj = {
  a: {
    b: {
      list: [1, 2, 3]
    }
  }
};
var map = Immutable.fromJS(obj);
var map2 = Immutable.updateIn(['a', 'b', 'list'], (list) => {
  return list.push(4);
});

console.log(map2.getIn(['a', 'b', 'list']))
// List [ 1, 2, 3, 4 ]

3. 在React中的实践

3.1 快 – 性能优化

React是一个UI = f(state)库,为了解决性能问题引入了virtual dom,virtual dom通过diff算法修改DOM,实现高效的DOM更新。

听起来很完美吧,但是有一个问题: 当执行setState时,即使state数据没发生改变,也会去做virtual dom的diff,因为在React的声明周期中,默认情况下shouldComponentUpdate总是返回true。那如何在shouldComponentUpdate进行state比较?

React的解决方法: 提供了一个PureRenderMixin, PureRenderMixinshouldComponentUpdate方法进行了覆盖,但是PureRenderMixin里面是浅比较:

var ReactComponentWithPureRenderMixin = {
  shouldComponentUpdate: function(nextProps, nextState) {
    return shallowCompare(this, nextProps, nextState);
  },
};

function shallowCompare(instance, nextProps, nextState) {
  return (
    !shallowEqual(instance.props, nextProps) ||
    !shallowEqual(instance.state, nextState)
  );
}

浅比较只能进行简单比较,如果数据结构复杂的话,依然会存在多余的diff过程,说明PureRenderMixin依然不是理想的解决方案。

Immutable来解决: 因为Immutable的结构不可变性&&结构共享性,能够快速进行数据的比较:


shouldComponentUpdate: function(nextProps, nextState) {
  return deepCompare(this, nextProps, nextState);
},

function deepCompare(instance, nextProps, nextState) {
    return !Immutable.is(instance.props, nextProps) ||
        !Immutable.is(instance.state, nextState);
}
    

3.2 安全 – state操作的安全

当我们在React中执行setState的时候,需要注意的,state merge过程是shallow merge:

getInitState: function () {
  return {
    count: 1,
    user: {
      school: {
        address: 'beijing',
        level: 'middleSchool'
      }
    }
  }
},
handleChangeSchool: function () {
  this.setState({
    user: {
      school: {
        address: 'shanghai'
      }
    }
  })
}
render() {
  console.log(this.state.user.school);
  // {address: 'shanghai'}
}

为了让大家安心,贴上React中关于state merge的源码:

// 在 ReactCompositeComponent.js中完成state的merge,其中merger的方法来源于
// `Object.assign`这个模块
function assign(target, sources) {
  ....
  var to = Object(target);
  ...
  for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {
    var nextSource = arguments[nextIndex];
    var from = Object(nextSource);
    ...
    for (var key in from) {
      if (hasOwnProperty.call(from, key)) {
        to[key] = from[key];
      }
    }
  }
  return to
}

3.3 方便 – 强大的API

ImmutableJS里面拥有强大的API,并且文档写的很Geek,在对state、store进行操作的时候非常方便。

3.4 历史 – 实现回退

可以保存state的每一个状态,并保证该状态不会被修改,这样就可以实现历史记录的回退。

4. React中引入Immutable.js带来的问题

  • 源文件过大: 源码总共有5k多行,压缩后有16kb
  • 类型转换: 如果需要频繁地与服务器交互,那么Immutable对象就需要不断地与原生js进行转换,操作起来显得很繁琐
  • 侵入性: 例如引用第三方组件的时候,就不得不进行类型转换;在使用react-redux时,connect的shouldComponentUpdate已经实现,此处无法发挥作用。

参考


Serverless IoT With Particle And Amazon Web Services

$
0
0

Serverless IoT With Particle And Amazon Web Services

The internet of things, or IoT for short, has seen tremendous activity and interest this past year. From enterprises, to healthcare providers, and even automobile companies, the idea of a connected world is beginning to appeal more and more to everyday consumers and businesses alike. This tectonic shift in the way the things around us operate has opened the door to a plethora of new and exciting products, and placed cloud service platforms, such as Amazon Web Services (AWS), at the forefront of scalable support for these new technologies.

Sometime last year I picked up a Particle Photon; a tiny, low powered wifi chip that’s intended for rapid prototyping around IoT projects. The small board, about the side of an eraser, utilized a cloud based development toolset to update the “firmware” of the devices with your custom C++ code. The SDK for the device gives a developer access to a number of pins that allows for extensive capabilities and enhancements.

In this post, I outline the steps necessary to create a simple data capturing device, in this case a sleep sensor, that sends the information collected to AWS for processing and storage. This technique can be used for a number of entry level IoT projects, and all of the tools included in this write up are “off the shelf” and available to everyday consumers.

Particle Photon + AWS

AWS and Particle In Action

AWS and Particle In Action

One of the more impressive features of the Particle platform is its built in webhook integration. The wifi connected circuit boards have the ability to send data to, and receive data from, webhooks setup through the Particle service. This capability opens the door to a number of interesting solutions, including out-of-the-box integrations with IFTTT.

This webhook integration also allows for interacting with custom API endpoints, developed specifically for processing the data that is generated by the Particle. I set out to create a sleep sensor, leveraging an accelerometer in conjunction with the Particle and AWS to process the “quality” of my sleep throughout the night, sending minute-by-minute data about my movements to the cloud for processing. The following section will explain how this worked, and what services must be leveraged to make this possible.

The AWS Configuration

For this project, I used three AWS services; a DynamoDB table to store the information captured, a Lambda function to process the data from the Particle and write it to the table and a API Gateway to publicly expose the Lambda function and perform some authentication before allowing the data to be written. This section will explain how to configure these services.

DynamoDB Configuration

DynamoDB Configuration

DynamoDB is a NoSQL storage service that is great for IoT projects. It’s extremely inexpensive, and performance is fantastic. For this project I created a single table named SleepData with a Primary Partition Key of deviceID and a Primary Sort Key of published_at set to a number. This will allow us to scan or query our DynamoDB table for specific Photon devices at specific time periods when it comes time to read the data.

After creating the DynamoDB table, I began configuring the Lambda function. The function is intended to read a JSON payload delivered via the API Gateway, sanitize and normalize the data, and store it in the DynamoDB table. I also included some logic in the function to capture when it should be recording this information and when it shouldn’t, so I’m only storing information while I’m actually asleep.

https://gist.github.com/mlapida/60748a378d4986170b6f.js","resolvedBy":"manual","resolved":true}” data-block-type=”22″>
from __future__ import print_function
import logging
import boto3
from datetime import *
from boto3.dynamodb.conditions import Key, Attr
# enable basic logging to CloudWatch Logs
logger = logging.getLogger()
logger.setLevel(logging.INFO)
# setup the DynamoDB table
dynamodb = boto3.resource(dynamodb)
table = dynamodb.Table(SleepData)
# setup conversion to epoch
epoch = datetime.utcfromtimestamp(0)
now = datetime.now()
def lambda_handler(event, context):
# determine if the user is asleep
sleepState = sleepCheck()
# if the user has triggered the buttons, perform some logic
if event[data] == True:
# if the user is awake, toggle sleep. If not, visa versa
if sleepState == awake:
table.put_item(
Item={
event_name: event[name],
published_at: int(unix_time_millis(datetime.strptime(event[published_at], %Y-%m-%dT%H:%M:%S.%fZ))),
data: true,
state: asleep,
deviceID : event[source]
}
)
else:
table.put_item(
Item={
event_name: event[name],
published_at: int(unix_time_millis(datetime.strptime(event[published_at], %Y-%m-%dT%H:%M:%S.%fZ))),
data: true,
state : awake,
deviceID : event[source]
}
)
else:
# if the user is a sleep, and the buttons weren’t pressed
# send the data to dynamodb
if sleepState == asleep:
table.put_item(
Item={
event_name: event[name],
# convert the date/time to epoch for storage in the table
published_at: int(unix_time_millis(datetime.strptime(event[published_at], %Y-%m-%dT%H:%M:%S.%fZ))),
data: int(event[data]),
state: asleep,
deviceID : event[source]
}
)
else:
print(Not asleep)
print(event)
return(Success!)
# a function to convert the time to epoch
def unix_time_millis(dt):
return (dt epoch).total_seconds() * 1000.0
# a function to check if the user is currernly “sleeping”
def sleepCheck():
fe = Key(data).eq(true)
pe = published_at, deviceID, #da, #st
ean = { #da: data, #st: state}
esk = None
response = table.scan(
FilterExpression=fe,
ProjectionExpression=pe,
ExpressionAttributeNames=ean
)
x = len(response[Items])
y = 0
for i in response[Items]:
y = y + 1
if y == x:
return(str(i[state]))

Finally, I configured the API Endpoint to send data to the Lambda function. I wanted to limit who was capable of sending the information, so I also required an API Key for all requests. You can link your Lambda function to an API Gateway by navigating to the API endpoints section of your Lambda function in the AWS console. You can then create a new API gateway and set it up accordingly. There is an excellent tutorial on API Gateway and Lambda in the AWS documentation.

For this API Gateway, we’ll want to make sure we have the Method set to PUT andSecurity set to Open with access key. This will ensure that the data we send the API Gateway is secured, and that no one other than those with an access key can send data to our endpoint.

That about sums up what’s going on on the AWS side. In a future project I’ll explore processing the data stored in the DynamoDB table. For now, we’re only concerned with capturing it for future use.

The Particle Photon Configuration

For this project, I leveraged the “Internet Button” shield, which comes packed with an accelerometer, four buttons and a number of LED’s. This gave me the capability to interact with the API, turning data recording on and off and giving me some visual feedback when I triggered an action, such as setting it to sleep, on the device.

In the world of Particle, a webhook is a published endpoint, attached to your account, that contains the information needed to send data to an external API. Setting this up can be a bit of a challenge, as you’ll need to perform the operation through the CLI, and there’s not a whole lot in the form of feedback when something is setup wrong. The following steps can be used to configure a Particle webhook with an AWS API Gateway.

https://gist.github.com/mlapida/6c0646a60a3ddcc661ad.js","resolvedBy":"manual","resolved":true}” data-block-type=”22″>
{
event: sendSleep,
url: https://%5Byourendpoint%5D.execute-api.us-east-1.amazonaws.com/prod/ParticleSleepV1,
requestType: Post,
headers: {
x-api-key : [yourapikey]
},
json: {
name: {{SPARK_EVENT_NAME}},
data: {{SPARK_EVENT_VALUE}},
source: {{SPARK_CORE_ID}},
published_at: {{SPARK_PUBLISHED_AT}}
},
mydevices: true,
noDefaults: true
}

The first thing you’ll need to do is install the Particle CLI and log in. Luckily,Particle has put together a great resource for setting this up. After getting the CLI configured, you’ll need to create a JSON definition file for the webhook. This file contains the API keys sent in the header, a template for the data being sent, and the URL of the endpoint. I have a sample of this file above. Finally, from the CLI, you’ll need to add the webhook API:

particle webhook create SleepAPI.json

This will associate the API, as it is named in the JSON file, with your account. To send data to the API, you’ll use the “Particle.publish()” function from your code snipped with the API name as the first attribute. More information on Particles implementation of Webhooks can be found in their documentation.

The small block of code used for the Particle loops through every 100 milliseconds and capture any movement that took place. I’m using a special function, specific for the Internet Button, that returns the “lowest LED” during each loop. If the “lowest LED” has changed since the previous loop, I record that as a single movement. After one full minute of looping, the total is sent to my AWS API Gateway via the Particle webhook functionality.

https://gist.github.com/mlapida/579affd5395b8cc74eb9.js","resolvedBy":"manual","resolved":true}” data-block-type=”22″>
// Make sure to include the spcial library for the internet button
#include InternetButton/InternetButton.h
// Create a Button named b. It will be your friend, and you two will spend lots of time together.
InternetButton b = InternetButton();
int ledOldPos = 0;
char ledPosTrust[5];
int moveCount = 0;
int loopCount =0;
// The code in setup() runs once when the device is powered on or reset. Used for setting up states, modes, etc
void setup() {
// Tell b to get everything ready to go
// Use b.begin(1); if you have the original SparkButton, which does not have a buzzer or a plastic enclosure
// to use, just add a ‘1’ between the parentheses in the code below.
b.begin();
}
/* loop(), in contrast to setup(), runs all the time. Over and over again.
Remember this particularly if there are things you DON’T want to run a lot. Like Spark.publish() */
void loop() {
// Load up the special “lowestLed” object
int ledPos = b.lowestLed();
// Turn the LEDs off so they don’t all end up on
b.allLedsOff();
// I’m movin’, incriment the counter up
if (ledOldPos != ledPos){
sprintf(ledPosTrust,%d,ledPos);
moveCount++;
}
//The button’s have been triggered! Record this!
if ((b.buttonOn(2) and b.buttonOn(4)) or (b.buttonOn(1) and b.buttonOn(3))) {
b.ledOn(3, 0, 255, 0); // Green
b.ledOn(9, 0, 255, 0); // Green
Particle.publish(sendSleep, True, 60, PRIVATE);
delay(500);
}
// if we’ve looped through x times, fire off the webhook
if (loopCount >= 600){
Particle.publish(sendSleep, String(moveCount), 60, PRIVATE);
moveCount = 0;
loopCount = 0;
}
loopCount++;
ledOldPos = ledPos;
// Wait a mo’
delay(100);
}
view rawsleepsensor.cpp hosted with ❤ by GitHub

The Results

The end result of tying all of these services together is a pretty robust, low cost IoT platform. I was able to create a prototype in a few hours, using off the shelf products and a bit of connectivity code sprinkled throughout. While my example is a movement “sleep” tracker, it’s easy to see how this type of IoT design can be used in a number of applications.

A Night of Sleep Data

A Night of Sleep Data

The chart above is a sample of data extracted from the DynamoDB table after a night of sleep. The data captured is complete, and an exciting first step in the creation of my roll-your-own sleep tracker. There’s still plenty of work to do when it comes to processing the information, but the initial results are inspiring. The serverless architecture is quickly becoming a viable reality.


React Native + Meteor Boilerplate

$
0
0

React Native + Meteor Boilerplate

Over the last few weeks I’ve been writing a weekly blog post about various aspects of developing React Native applications that interface with a Meteor backend.

Here’s a basic series related to authentication:

  1. Easily Connect React Native to a Meteor Server
  2. Meteor Authentication from React Native
  3. Password Hashing for Meteor React Native

I’ve really enjoyed the process of research, writing, and the feedback I’ve gotten. I want to continue this process for the foreseeable future but I’ve found myself building and rebuilding a fair amount of boilerplate code.

So this week I looked at some larger React Native projects, from the community and projects I’ve been involved with and started to pull out the strong points. I want this project to serve as a simple starting point for React Native + Meteor applications that works on both iOS and Android.

So, let’s collaborate and make this a great starting point for future tutorials and projects. You can view the project on Github.

Want these walkthroughs and tutorials emailed to you as soon as they come out? Sign up for my email list below and I’ll send them to you!


Intro to Debugging React Native (iOS and Android)

$
0
0

Intro to Debugging React Native (iOS and Android)

Debugging a React Native app, while similar to the web, is a bit different. Once you get the hang of it and know the tools it’s simple. This small guide is intended to reduce that learning curve.

Opening the Debug Menu on iOS

Simulator

  • cmd + D
  • cmd + ctrl + Z
  • Hardware > Shake Gesture (in the simulator menu)
    iOS Menu for Shake Gesture

Physical Device

  • Shake your device

Opening the Debug Menu on Android

Simulator

  • cmd + m (Genymotion)
  • cmd + shift + r via Frappe
  • Press the Hardware Menu ButtonAndroid Menu for Hardware Button

Physical Device

  • Shake your device
  • Press the Hardware Menu Button

Debugging on an iOS Device

  • Change localhost to your computer’s IP address in AppDelegate.m – the line that looks like jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
  • Change localhost to your computer’s IP address in node_modules/react-native/Libraries/WebSocket/RCTWebSocketExecutor.md

Also, for anyone using the React Native Meteor Boilerplate you’ll have to change localhost to computer’s IP address for the ddp config.

Debugging on an Android Device

WARNING: I don’t have an Android device so I haven’t been able to test this myself. I’m pulling these instructions directly from React Native’s documentation. If someone can test this or clarify the steps necessary I (and I’m sure many others) would be very grateful for your assistance.

“If you’re running Android 5.0+ device connected via USB you can use adb command line tool to setup port forwarding from the device to your computer. For that run: adb reverse tcp:8081 tcp:8081 (see this link for help on adb command). Alternatively, you can open dev menu on the device and select Dev Settings, then update Debug server host for device setting to the IP address of your computer.”


Exploring the React Native Debug Menu

React Native Debug Menu

Reload

This allows you to reload the Javascript of your app. You can accomplish the same thing by pressing cmd + R.

Enable/Disable Chrome Debugging

This opens up a debugging window in Chrome at localhost:8081/debugger-ui. You can open up the actual console via cmd + option + I. Until React Devtools are fixed (discussed later) the chrome debugger is really only used for access to the console.

Enable/Disable Live Reload

Rather than having to constantly manually reload changes to your app you can set up Live Reload in React Native. This will reload your app’s Javascript any time you save a .js file in your app.

Start/Stop Systrace

This is one I admittedly don’t have any experience with. I believe it is used for profiling Android UI performance based on this section in the docs. If you have a better understanding of this tool please let me know!

Show/Hide Inspector

React Native InspectorThis allows you to get a similar experience to what you may be used to in web debugging, such as the “Elements” tab in Chrome. You can choose a component in your device and see some of the properties that are assigned to it. You can also access this via the keyboard shortcut cmd + I.

Show Perf Monitor

React Native Perf MonitorThis tool allows you to monitor the performance of your app through various detailed metrics. If you’re ever wondering why the performance of your app is poor, such as a jittery UI, this tool will be your friend. Here is an article that may help you work through some of your performance issues.


Debugging your Code with Google Chrome

Just like with in the browser you can place debugger; in your code to inspect. Here’s an article from Google that gives an overview of what you can do with the menu when using debugger;

When do you have to rebuild the app?

Whenever native code (Objective C or Java) changes or you’re adding new resources. The React Native packager will listen to changes in your Javascript code and recompile those for your RN app to use but this does NOT apply to native code that you may edit.

Why doesn’t React Devtools work for React Native?

At one point in time React Devtools worked for React Native. Due to various changes this integration is currently, as of 3/1/2016, broken. You can follow along with the issue here: https://github.com/facebook/react-devtools/issues/229.

I hope you found this helpful! If you’ve got any other tips for debugging React Native please let me know (@spencer_carli) so I can update this article with your tip!



State of the Art JavaScript in 2016

$
0
0

State of the Art JavaScript in 2016

Image “Question!” by Stefan Baudy, CC BY 2.0

So, you’re starting a brand new JavaScript front end project or overhauling an old one, and maybe you haven’t kept up with the breakneck pace of the ecosystem. Or you did, but there’s too many things to choose from. React, Flux, Angular, Aurelia, Mocha, Jasmine, Babel, TypeScript, Flow, oh my! By trying to make things simpler, some fall into a trap captured by one of my favorite XKCD comics.

Well, the good news is the ecosystem is starting to slow down. Projects are merging. Best practices are starting to become clear. People are building on top of existing stuff instead of building new frameworks.

As a starting point, here’s my personal picks for most pieces of a modern web application. Some choices are likely controversial and I will only give basic reasoning behind each choices. Keep in mind they’re mostly my opinion based on what I’m seeing in the community and personal experiences. Your mileage may vary.

Core library: React

The clear winner right now, is React.

  • Components all the way down makes your application much easier to reason about.
  • The learning curve is very flat. The important APIs fit would fit on one page.
  • JSX is awesome. You get all the power of JavaScript and its tooling when writing your markup.
  • It is the natural match for Flux and Redux (more on that later).
  • The React community is amazing, and produced many best of breed tools such as Redux (also more on that later).
  • Writing high quality data flow is much easier in large applications than dealing with 2 way data binding (eg: Knockout)
  • If you ever need to do server side rendering, React is where it’s at.

There’s plenty of monolithic frameworks like Ember, Aurelia and Angular that promise to take care of everything, but the React ecosystem, while requiring a few more decisions (that’s why you’re reading this!), is much more robust. Many of these frameworks, such as Angular 2.0, are playing catch up with React.

Picking React isn’t a technology decision, it’s a business decision.

Bonus points: Once you start working on your mobile apps, you’ll be ready for it thanks to React Native.

Application life cycle: Redux

This isn’t the final logo!

Now that we have our view and component layer, we need something to manage state and the lifecycle of our application. Redux is also a clear winner here.

Alongside React, Facebook presented a design pattern for one way data flow called Flux. Flux largely delivered on its promise of simplifying state management, but it also brought with it more questions, such as how to store that state and where to do Ajax requests.

To answer those questions, countless frameworks were built on top of the Flux pattern: Fluxible, Reflux, Alt, Flummox, Lux, Nuclear, Fluxxor and many, many more.

One Flux-like implementation eventually caught the community’s attention, and for good reasons: Redux.

In Redux, almost all of the moving parts are pure functions. There is one centralized store and source of truth. Reducer functions are responsible for manipulating data that makes up the store. Everything is much clearer than in vanilla Flux.

More importantly, learning Redux is a snap. Redux’s author, Dan Abramov is a fantastic teacher, and his training videos are fantastic. Watch the videos, become a Redux expert. I’ve seen a team of engineers go from nearly zero React experience to having a production ready application with top notch code in a few weeks.

Redux’s ecosystem is as top notch as Redux itself. From the nearly magicaldevtool to the amazing memoization utility reselect, the Redux community got your back.

One thing to be careful is the natural instinct to try and abstract away the Redux boilerplate. There’s good reasons behind all those pieces. Make sure you tried it and understand the “why” before trying to blindly improve on it.

Language: ES6 with Babel. No types (yet)

Avoid CoffeeScript. Most of its better features are now in ES6, a standard. Tooling (such as CoffeeLint) is very weak. Its community is also rapidly declining.

ES6 is a standard. Most of it is supported in the latest version of major browsers. Babel is an amazing “pluggable” ES6 compiler. Configure it with the right presets for your target browsers and you’re good to go.

What about types? TypeScript and Flow both offer ways to add static typing to JavaScript, enhancing tooling and catching bugs without needing tests. With that said, I suggest a wait and see approach for now.

TypeScript tries too hard to make JavaScript like C# or Java, lacking on modern type system features such as algebraic data types (and you really want those if you’re going to do static types!). It also doesn’t handle nulls as well as Flow.

Flow can be much more powerful, catching a wider variety of bugs, but it can be hard to setup. It’s also behind Babel in terms of language features and has poor Windows support.

I’ll say something controversial: Types are not nearly as critical to front end development as some will have you believe (the whole argument will have to be in a future blog post). Wait until the type systems are more robust and stick to Babel for now, keeping an eye on Flow as it matures.

Linting & style: ESLint with AirBNB

Another clear winner ESLint. With its React plugin and awesome ES6 support, one could not ask for more of a linter. JSLint is dated. ESlint does what theJSHint + JSCS combo does in a single tool.

You do have to configure it with your style preferences. I highly recommendAirBNB’s styleguide, most of which can be enforced via the ESlint airbnb config. If your team is the kind that will argue on code style, just use this style guide as gospel and the end all be all of arguments. It isn’t perfect, but the value of having consistent code is highly underestimated.

Once you’re comfortable with it, I’d suggest enabling even more rules. The more that can be caught while typing (with an ESlint plugin for your favorite editor), the less decision fatigue you’ll have and the more productive you and your team will be.

Dependency management: It’s all about NPM, CommonJS and ES6 modules

This one is easy. Use NPM. For everything. Forget about Bower. Build tools such as Browserify and Webpack brings NPM’s power to the web. Versioning is handled easily and you get most of the Node.js ecosystem. Handling of CSS is still less than optimal though.

One thing you’ll want to consider is how to handle building on your deployment server. Unlike Ruby’s Bundler, NPM uses wildcard versions, and packages can change between the time you finish coding and you start deploying. Use a shrinkwrap file to freeze your dependencies (I recommend using Uber’s shrinkwrap to get more consistent output). Also consider hosting your own private NPM server using something like Sinopia.

Babel will compile ES6 module syntax to CommonJS. You’ll get a future proof syntax, and the benefits of static code analysis, such as tree shaking when using a build tool that supports it (Webpack 2.0 or Rollup).

Build tool: Webpack

Unless you fancy adding hundreds of script tags to your pages, you need a build tool to bundle your dependencies. You also need something to allow NPM packages to work in browsers. This is where Webpack comes in.

A year ago you had a lot of potential options here. Your environment, such as Rails’ sprockets could do it. RequireJS, Browserify and Webpack were the JavaScript based solutions. Now, RollupJS promises to handle ES6 modules optimally.

After trying them all, I highly recommend Webpack:

  • It is more opinionated yet can be configured to handle even the craziest scenarios.
  • All main module formats (AMD, CommonJS, globals) are supported.
  • It has features to fix broken modules.
  • It can handle CSS.
  • It has the most comprehensive cache busting/hashing system (if you push your stuff to CDNs).
  • It supports hot reload out of the box.
  • It can load almost anything.
  • It has an impressive list of optimizations.

Webpack is also by far the best to handle extremely large SPA applications with built in code splitting and lazy loading.

Be warned that the learning curve is brutal! But once you get it, you’ll be rewarded with the best build system available.

But what about Gulp or Grunt? Webpack is much better at processing assets. They can still be useful if you need to run other kind of tasks though (usually you won’t). For basic tasks (such as running Webpack or ESlint), I recommend simply using NPM scripts.

Testing: Mocha + Chai + Sinon (but it’s not that simple)

There are a LOT of options for unit testing in JavaScript, and you can’t go wrong with any of them. If you have unit tests, that’s already good!

Some choices are Jasmine, Mocha, Tape and Ava and Jest. I’m sure I’m forgetting some. They all have something they do better than the rest.

My criteria for a test framework are as follow:

  • It should work in the browser for ease of debugging
  • It should be fast
  • It should easily handle asynchronous tests
  • It should be easy to use from the command line
  • It should let me use whatever assertion and mock library I want

The first criteria knocks out Ava (even though it looks awesome) and Jest (auto-mocking isn’t nearly as nice as it sounds, and is very slow anyway).

You can’t really go wrong with Jasmine, Mocha or Tape. I prefer Chai asserts because of all available plugins and Sinon’s mocks to Jasmine’s built in construct, and Mocha’s asynchronous test support is superior (you don’t have to deal with done callbacks). Chai as Promised is amazing. I highly recommend using Dirty Chai to avoid some headaches, though. Webpack’smocha-leader let’s you automatically run tests as you code.

For React specific tooling, look at AirBNB’s Enzyme and Teaspoon (this isn’t the Rails based Teaspoon).

I really enjoy Mocha’s features and support. If you want something more minimalist, read this article about Tape.

Utility library: Lodash is king, but look at Ramda

JavaScript doesn’t have a strong core of utilities like Java or .NET does, so you’ll most likely want to include one.

Lodash is by far the king and contains the entire kitchen sink. It is also one of the most performant, with features such as lazy evaluation. You don’t have to include the whole thing if you don’t want to, either: Lodash lets you include only the functions you use (pretty important considering how large it has become). As of 4.x, Lodash also natively supports an optional “functional” mode for the FP geeks among us.

If you’re into functional programming, however, take a look at the fantasticRamda. If you decide to use it, you might still need to include some Lodash functions (Ramda is focused on data manipulation and functional construct almost exclusively), but you’ll get a lot of the power of functional programming languages in a JavaScript friendly way.

Http requests: Just use fetch!

Many React applications don’t need jQuery at all anymore. Unless you’re working on a legacy application or have 3rd party libraries that depend on it, there’s no reason to include it. That means you need to replace $.ajax.

I like to keep it simple and just use fetch. It’s promise based, it’s built in Firefox and Chrome, and it Just Works ™. For other browsers, you’ll need to include a polyfill. I suggest isomorphic-fetch, to ensure you have all your bases covered, including server side.

There are other good libraries such as Axios, but I haven’t needed much beyond fetch.

For more details about why promises are important, see my post onasynchronous programming.

Styling: Consider CSS modules

This is an area I feel is lagging behind. SASS is the current go to, and node-sass is a great way to use it in your JavaScript project. That said, I feel it’s missing a lot to be a perfect solution. Lack of reference imports (a way to import just variables and mixins from a file, without duplicating selectors) and native URL rewriting makes it harder than needed to keep things lean and clean in production. node-sass is a C library, and will have to be kept in sync with your Node version.

LESS does not suffer from these issues, but has fallen out of favor due to lacking many of SASS’ features.

PostCSS is much more promising, allowing you to kind of “make your own CSS processor”. I’d recommend using it on its own, or even in ADDITION to your preferred processor for things such as AutoPrefixer instead of importing a big library like Bourbon.

One thing worthy of attention though, are CSS modules. CSS modules prevents the “cascading” part of CSS, allowing us to keep our dependencies explicit, and prevents conflict. You’ll never have to worry about overriding classes by accident or having to make ultra explicit names for your classes. It works great with React, too. One drawback: css-loader with CSS modules enabled is REALLY slow, so if you plan on having hundreds of kilobytes of CSS, you may want to avoid it until it gets better.

If I was to start a large project from scratch today, I’d probably just use PostCSS along with pre-compiled versions of my favorite CSS libraries.

Regardless of what you choose, you may want to look at my post on CSS performance with Webpack, especially if you go with SASS.

Universal (Isomorphic) JavaScript: Make sure you need it.

Universal or Isomorphic JavaScript refers to JavaScript that can be used on both the client and the server. This is primarily used to pre-render pages server side for performance and SEO purpose. Thanks to React, what was once only the realm of giants such as Ebay or Facebook is now within reach of most development shops. It is still not “free” though, adding significant complexity and limiting your options in term of libraries and tooling.

If you are building a B2C (Business to Customer) website, such as an e-commerce website, you may not have a choice but to go that route. For internal web or B2B (Business to Business) applications however, that kind of initial performance may not be required. Discuss with your product manager to see if the cost:benefit ratio is worth the trouble.

The API: There’s still no true answer.

It seems everyone lately is asking themselves what to do for API. Everyone is jumping in the RESTful API bandwagon, and SOAP is a memory of the past. There are various specifications such as HATEOAS, JSON API, HAL, GraphQLamong others.

GraphQL gives a large amount of power (and responsibility) to the client, allowing it to make nearly arbitrary queries. Along with Relay, it handles client state and caching for you. Implementing the server side portion of GraphQL is difficult and most of the documentation is for Node though.

Netflix’s Falcor looks like it will eventually give us a lot of what GraphQL/Relay offers, with simpler server requirements. It is however only a developer preview and not ready for prime time.

All the well known specifications have their quirks. Some are overly complex. Some only handle reads and don’t cover update. Some stray significantly from REST. Many people choose to make their own, but then have to solve all the design problems on their own.

I don’t think any solutions out there is a slam dunk, but here’s what I think your API should have:

  • It should be predictable. Your endpoints should follow consistent conventions.
  • It should allow fetching multiple entities in one round trip: needing 15 queries to fetch everything you need on page load will give poor performance.
  • Make sure you have a good update story: many specifications only covers reads, and you’ll need to update stuff sometimes.
  • It should be easy to debug: looking at the Chrome inspector’s network tab should easily let me see what happened.
  • It should be easy to consume: I should be able to easily consume it with fetch, or have a well supported client library (like Relay)

I haven’t found a solution that covers all of the above. If there is one, let me know.

Consider looking at Swagger to document your API if you go the standard RESTful path.

Desktop applications: Electron.

Electron is the foundation of the great Atom editor and can be used to make your own applications. At it’s core, it is a version of Node that can open Chrome windows to render a GUI, and has access to the operating system’s native APIs without a browser’s typical security sandboxing. You’ll be able to package your application and distribute it like any other desktop application, complete with an installer and auto-updates.

This is one of the easiest ways to make an application that can run on OSX, Windows and Linux while reusing all the tools listed above. It is well documented and has a very active community.

You may have heard of nw.js (formerly node-webkit) which has existed longer (and does almost the same thing), but Electron is now more stable and is easier to use.

Take a look at this great boilerplate to play around with Electron, React and hot reload. You’ll probably want to start from scratch if you’re serious about making your own application so you understand how all the pieces work.

Who to follow and where to learn more?

This is a place where I’m falling short, but on Twitter I follow the following people:

While there’s many more worth noting, those people retweet almost anything worth looking at, so they’re a good start.

Consider reading Pete Hunt’s Learning React. Follow the order!

Dan Abramov published the Getting started with Redux video series. I can’t overstate how amazing it is at teaching Redux.

Dan also published his own list, and it’s probably better than mine.

Mark Erikson’s collection of React/Redux links is an ever growing gold mine.

Read Removing user interface complexity, or why React is awesome to get a walkthrough of how React is designed and why.

If you don’t need it, don’t use it

The JavaScript ecosystem is thriving and moving quickly, but there’s finally an end at the light of the tunnel. Best practices are no longer changing constantly, and it is becoming increasingly clear which tools are worth learning.

The most important thing to remember is to keep it simple and only use what you need.

Is your application only 2–3 screens? Then you don’t need a router. Are you making a single page? Then you don’t even need Redux, just use React’s own state. Are you making a simple CRUD application? You don’t need Relay. Are you learning ES6? You don’t need Async/Await or Decorators. Are you just starting to learn React? You don’t need Hot reload and server rendering. Are you starting out with Webpack? You don’t need code splitting and multiple chunks. Are you starting with Redux? You don’t need Redux-Form or Redux-Sagas.

Keep it simple, one thing at a time, and you’ll wonder why people ever complained about JavaScript fatigue.

Did I miss anything?

And there you have it, my view of the current state of JavaScript. Do you think I forgot an important category? Do you think I’m objectively wrong on one of these choices? Do you recommend something else? Let me know!


浅谈浏览器端JavaScript跨域解决方法

$
0
0

由于安全的原因,浏览器做了很多方面的工作,由此也就引入了一系列的跨域问题,需要注意的是:

跨域并非浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了。最好的例子是 crsf 跨站攻击原理,请求是发送到了后端服务器无论是否跨域!注意:有些浏览器不允许从HTTPS的域跨域访问HTTP,比如Chrome和Firefox,这些浏览器在请求还未发出的时候就会拦截请求,这是一个特例

1. JSONP

JSONP的全称是 “JSON With Padding”, 词面意思上理解就是 “填充式的JSON”。它不是一个新鲜的东西,隶属于 JSON 的一种使用方法,或者说是一种使用模式,可以解决一些常见的浏览器端网页跨域问题。

正如他的名称一样,它是指被包含在调用函数中的JSON,比如这样:

callback({"Name": "小明", "Id" : 1823, "Rank": 7})

由于 jQuery 的一些原因,使得 JSONP 常常与 Ajax 混淆。实际上,他们没有任何关系。

由于浏览器的同源策略,使得在网页端出现了这个“跨域”的问题,然而我们发现,所有的 src 属性并没有受到相关的限制,比如 img / script 等。

JSONP 的原理就要从 script 说起。script 可以执行其他域的js 函数,比如这样:

a.html
...
<script>
  function callback(data) {
    console.log(data.url)
  }
</script>

<script src='b.js'></script>
...


b.js
callback({url: 'http://www.rccoder.net'})

显然,上面的代码是可以执行的,并且可以在console里面输出http://www.rccoder.net

利用这一点,假如b.js里面的内容不是固定的,而是根据一些东西自动生成的, 嗯,这就是JSONP的主要原理了。回调函数+数据就是 JSON With Padding 了,回调函数用来响应应该在页面中调用的函数,数据则用来传入要执行的回调函数。

至于这个数据是怎么产生的,说粗鲁点无非就是字符串拼接了。

简单总结一下: Ajax 是利用 XMLHTTPRequest 来请求数据的,而它是不能请求不同域上的数据的。但是,在页面上引用不同域的 js 文件却是没有任何问题的,这样,利用异步的加载,请求一个 js 文件,而这个文件的内容是动态生成的(后台语言字符串拼接出来的),里面包含的是 JSON With Padding(回调函数+数据),之前写的那个函数就因为新加载进来的这段动态生成的 js 而执行,也就是获取到了他要获取的数据。

重复一下,在一个页面中,a.html这样写,得到 UserId 为 1823 的信息:

a.html

...
src="http://server2.example.com/RetrieveUser?UserId=1823&callback=parseResponse">
...

请求这个地址会得到一个可以执行的 JavaScript。比如会得到:

parseResponse({"Name": "小明", "Id" : 1823, "Rank": 7})

这样,a.html里面的 parseResponse() 这个函数就能执行并且得到数据了。

等等,jQuery到底做了什么:

jQuery 让 JSONP 的使用API和Ajax的一模一样:

$.ajax({
  method: 'jsonp',
  url: 'http://server2.example.com/RetrieveUser?UserId=1823',
  success: function(data) {
    console.log(data)
  }
})

之所以可以这样是因为 jQuery 在背后倾注了心血,它会在执行的时候生成函数替换callback=dosomthing ,然后获取到数据之后销毁掉这个函数,起到一个临时的代理器作用,这样就拿到了数据。

JSONP 的后话

JSONP的这种实现方式不受同源策略的影响,兼容性也很好;但是它之支持 GET 方式的清楚,只支持 HTTP 请求这种特殊的情况,对于两个不同域之间两个页面的互相调用也是无能为力。

2. CORS

XMLHttpRequest 的同源策略看起来是如此的变态,即使是同一个公司的产品,也不可能完全在同一个域上面。还好,网络设计者在设计的时候考略到了这一点,可以在服务器端进行一些定义,允许部分网络访问。

CORS 的全称是 Cross-Origin Resource Sharing,即跨域资源共享。他的原理就是使用自定义的 HTTP 头部,让服务器与浏览器进行沟通,主要是通过设置响应头的 Access-Control-Allow-Origin 来达到目的的。这样,XMLHttpRequest 就能跨域了。

值得注意的是,正常情况下的 XMLHttpRequest 是只发送一次请求的,但是跨域问题下很可能是会发送两次的请求(预发送)。

更加详细的内容可以参见:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

CORS 的后话:

相比之下,CORS 就支持所有类型的 HTTP 请求了,但是在兼容上面,往往一些老的浏览器并不支持 CORS。

Desktop:

浏览器 版本
Chrome 4
Firefox (Gecko) 3.5
Internet Explorer 8 (via XDomainReques) 10
Opera 12
Safari 4

Mobile:

设备 版本
Android 2.1
Chrome for Android yes
Firefox Mobile (Gecko) yes
IE Mobile ?
Opera Mobile 12
Safari Mobile 3.2

3. window.name

window.name 在一个窗口(标签)的生命周期之内是共享的,利用这点就可以传输一些数据。

除此之外,结合 iframe 还能实现更加强大的功能:

需要3个文件: a/proxy/b

a.html

<script type="text/javascript">
    var state = 0,
    iframe = document.createElement('iframe'),
    loadfn = function() {
        if (state === 1) {
            var data = iframe.contentWindow.name;    // 读取数据
            alert(data);    //弹出'I was there!'
        } else if (state === 0) {
            state = 1;
            iframe.contentWindow.location = "http://a.com/proxy.html";    // 设置的代理文件
        }
    };
    iframe.src = 'http://b.com/b.html';
    if (iframe.attachEvent) {
        iframe.attachEvent('onload', loadfn);
    } else {
        iframe.onload  = loadfn;
    }
    document.body.appendChild(iframe);
</script>
b.html

<script type="text/javascript">
    window.name = 'I was there!';    // 这里是要传输的数据,大小一般为2M,IE和firefox下可以大至32M左右
                                     // 数据格式可以自定义,如json、字符串
</script>

proxy 是一个代理文件,空的就可以,需要和 a 在同一域下

4. document.domain

在不同的子域 + iframe交互的时候,获取到另外一个 iframe 的 window对象是没有问题的,但是获取到的这个window的方法和属性大多数都是不能使用的。

这种现象可以借助document.domain 来解决。

example.com

<iframe id='i' src="1.example.com" onload="do()"></iframe>
<script>
  document.domain = 'example.com';
  document.getElementById("i").contentWindow;
</script>
1.example.com

<script>
  document.domain = 'example.com';
</script>

这样,就可以解决问题了。值得注意的是:document.domain 的设置是有限制的,只能设置为页面本身或者更高一级的域名。

document.domain的后话:

利用这种方法是极其方便的,但是如果一个网站被攻击之后另外一个网站很可能会引起安全漏洞。

5.location.hash

这种方法可以把数据的变化显示在 url 的 hash 里面。但是由于 chrome 和 IE 不允许修改parent.location.hash 的值,所以需要再加一层。

a.html 和 b.html 进行数据交换。

a.html

function startRequest(){
    var ifr = document.createElement('iframe');
    ifr.style.display = 'none';
    ifr.src = 'http://2.com/b.html#paramdo';
    document.body.appendChild(ifr);
}

function checkHash() {
    try {
        var data = location.hash ? location.hash.substring(1) : '';
        if (console.log) {
            console.log('Now the data is '+data);
        }
    } catch(e) {};
}
setInterval(checkHash, 2000);
b.html

//模拟一个简单的参数处理操作
switch(location.hash){
    case '#paramdo':
        callBack();
        break;
    case '#paramset':
        //do something……
        break;
}

function callBack(){
    try {
        parent.location.hash = 'somedata';
    } catch (e) {
        // ie、chrome的安全机制无法修改parent.location.hash,
        // 所以要利用一个中间域下的代理iframe
        var ifrproxy = document.createElement('iframe');
        ifrproxy.style.display = 'none';
        ifrproxy.src = 'http://3.com/c.html#somedata';    // 注意该文件在"a.com"域下
        document.body.appendChild(ifrproxy);
    }
}
c.html

//因为parent.parent和自身属于同一个域,所以可以改变其location.hash的值
parent.parent.location.hash = self.location.hash.substring(1);

这样,利用中间的 c 层就可以用 hash 达到 a 与 b 的交互了。

6.window.postMessage()

这个方法是 HTML5 的一个新特性,可以用来向其他所有的window对象发送消息。需要注意的是我们必须要保证所有的脚本执行完才发送MessageEvent,如果在函数执行的过程中调用了他,就会让后面的函数超时无法执行。

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage


掘金翻译计划的第一批译文已经完结,移动端、前端干货都有啦

$
0
0

Glow · 11 小时 11 分钟前 · 247 次点击

年前我们掘金在 Github 折腾了一个掘金翻译计划的活动( http://github.com/xitu/gold-miner ),挑选了三十多篇优质的英文技术文章来给大家翻译,下面就是翻译好的文章列表。与此同时,我们从 Github 商店海淘的 Gitcat 作为奖品也送到了参与活动的译者手上了,感谢译者们的精彩翻译,同时也欢迎 v 友们参与到掘金翻译计划贡献更多的优质翻译。

Android

iOS

JavaScript

React

教程

Gitcat 展示区:


深入浅出-iOS Reactive Cocoa的常见用法

$
0
0

深入浅出-iOS Reactive Cocoa的常见用法

字数1146 阅读1565 评论3

简介

今天的主角是Reactive Cocoa,聊聊Reactive Cocoa的常见使用:KVO、Target、Delegate、Notification。

Reactive Cocoa 是一个重量级框架,非常的牛,为什么说Reactive Cocoa非常的牛?
我们所熟知的iOS 开发中的事件包括:

  • Target
  • Delegate
  • KVO
  • 通知
  • 时钟
  • 网络异步回调

ReactiveCocoa ,就是用信号接管了iOS 中的所有事件;也就意味着,用一种统一的方式来处理iOS中的所有事件,解决了各种分散的事件处理方式,显然这么一个庞大的框架学习起来也会比较难!而且如果习惯了iOS原生的编程,可能会觉得不习惯!

先看一个图:

ReactiveCocoa特征.png

从这张图中,可以看出利用信号,ReactiveCocoa接管iOS 的所有事件,抛给开发者对事件作出三个相应反应;

可以用一张图来简要说明

next completed error.png

RAC 的特点

  • 通过 block 函数式 + 链式 的编程,可以让所有相关的代码继承在一起!
    函数式 && 链式
  • 使用时需要注意循环引用,@weakify(self) / @strongify(self) 组合解除循环引用;

下面用iOS开发中常见的五种事件来说明ReactiveCocoa的常见用法!

下载框架:

  • 新建iOS工程
  • 进入终端,建立 Podfile,并且输入以下内容
    # Uncomment this line to define a global platform for your project
    platform :ios, '8.0'
    # Uncomment this line if you're using Swift
    use_frameworks!
    pod 'ReactiveCocoa', '~> 4.0.4-alpha-4'
  • 版本说明:
     2.5 纯 OC
     3.0 正式版支持 Swift 1.2
     4.0 测试版支持 Swift 2.0

在终端输入以下命令安装框架
$ pod install

KVO 监听

程序实现: 监控Person name的属性变化;在touchesBegan中改变name的值,并将变化体现在UILabel上,实现KVO的监控功能;

  • 注意,RAC 的信号一旦注册不会主动释放
  • 只要在 block 中包含有 self. 一定会出现强引用* 需要使用 @weakify(self) / @strongify(self) 组合使用解除强引用
#import <Foundation/Foundation.h>

@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
@end

// ViewController.m
#import "ViewController.h"
@import ReactiveCocoa;
#import "Person.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
@property (nonatomic, strong) Person *person;

@end
@implementation ViewController
- (Person *)person
{
  if (!_person)
  {
      _person = [[Person alloc] init]; } return _person;
  }
- (void)viewDidLoad
{
   [super viewDidLoad];
   [self demoKvo];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
   self.person.name = [NSString stringWithFormat:@"zhang %d",arc4random_uniform(100)];
}

/**
 * 1、为了测试此函数,增加了一个Person类 && 一个Label;点击屏幕则会等改Lable的值
 */
#pragma -mark KVO 监听
- (void)demoKvo {

    @weakify(self)
    [RACObserve(self.person, name)
        subscribeNext:^(id x) {
             @strongify(self)
            self.nameLabel.text = x;
        }];
}
@end

文本框输入事件监听

#pragma -mark 文本框输入事件监听
/**
 * 2、为了测试此函数,增加了一个nameText;监听文本框的输入内容,并设置为self.person.name
 */
- (void)demoTextField {

    @weakify(self);
    [[self.nameText rac_textSignal]
     subscribeNext:^(id x) {
         @strongify(self);
         NSLog(@"%@",x);
         self.person.name = x;
     }];
}

文本框组合信号

#pragma -mark 文本信号组合
/**
 * 3、为了验证此函数,增加了一个passwordText和一个Button,监测nameText和passwordText
 * 根据状态是否enabled
 */
- (void)textFileCombination {

    id signals = @[[self.nameText rac_textSignal],[self.passWordText rac_textSignal]];

    @weakify(self);
    [[RACSignal
      combineLatest:signals]
      subscribeNext:^(RACTuple *x) {

          @strongify(self);
          NSString *name = [x first];
          NSString *password = [x second];

          if (name.length > 0 && password.length > 0) {

              self.loginButton.enabled = YES;
              self.person.name = name;
              self.person.password = password;

          } else  {
              self.loginButton.enabled = NO;

          }
      }];

}

按钮监听

#pragma -mark 按钮监听
/**
 * 4、验证此函数:当loginButton可以点击时,点击button输出person的属性,实现监控的效果
 */
- (void)buttonDemo {
    @weakify(self);
    [[self.loginButton rac_signalForControlEvents:UIControlEventTouchUpInside]
       subscribeNext:^(id x) {
           @strongify(self);
           NSLog(@"person.name:  %@    person.password:  %@",self.person.name,self.person.password);
       }
     ];
}

代理方法

#pragma -mark 代理方法
/**
 * 5、验证此函:nameText的输入字符时,输入回撤或者点击键盘的回车键使passWordText变为第一响应者(即输入光标移动到passWordText处)
 */
- (void)delegateDemo {

    @weakify(self)
    // 1. 定义代理
    self.proxy = [[RACDelegateProxy alloc] initWithProtocol:@protocol(UITextFieldDelegate)];
    // 2. 代理去注册文本框的监听方法
    [[self.proxy rac_signalForSelector:@selector(textFieldShouldReturn:)]
     subscribeNext:^(id x) {
         @strongify(self)
         if (self.nameText.hasText) {
             [self.passWordText becomeFirstResponder];
         }
     }];
    self.nameText.delegate = (id<UITextFieldDelegate>)self.proxy;
}

通知

#pragma -mark 通知
/**
 * 验证此函数:点击textFile时,系统键盘会发送通知,打印出通知的内容
 */
- (void)notificationDemo {
    [[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardWillChangeFrameNotification object:nil]
        subscribeNext:^(id x) {
            NSLog(@"notificationDemo : %@", x);
        }
     ];
}

看来看看这张图,会不会清晰很多?

ReactiveCocoa特征.png

这么一个强大的RAC,来试试吧?
以上源码在gitHub:Demo链接


参考资料1
参考资料2
参考资料3
参考资料4


深入理解React、Redux

$
0
0

深入理解React、Redux

字数2764 阅读6402 评论5

React+Redux非常精炼,良好运用将发挥出极强劲的生产力。但最大的挑战来自于函数式编程(FP)范式。在工程化过程中,架构(顶层)设计将是一个巨大的挑战。要不然做出来的东西可能是一团乱麻。说到底,传统框架与react+redux就是OO与FP编程范式的对决。

简单学习某项技术并不能让建立起一个全局理解,也很难工程化。所以,我们必须要看以下几方面:

  1. 了解其独特的东西。如React中组件是pure render函数。
  2. 置于上下文中。将React放在flux、redux中。才能真正看到数据单向流动。
  3. 对比看到优势。比其它的解决方案(vue, angluar,adobe flex),看其优势。
  4. 挑战。软件领域里没有银弹,有好处一定有挑战。

1. 谈谈对React的理解

1.1 独特性

  • Virtual Dom:又一个虚拟层、中间层、cache层,大胆的跳出了web的DOM实现约束,实现更加理想的UI编程模型:树型控件组织、统一事件、统一数据传输通道(props)。并这个模型render到web,navtive的GUI系统上,这非常美妙,Learn once, Use Everywhere。
  • 轻Component:React的component强调pure render,并把用户交互行为大量delegate给其它子系统中action。
  • 组件状态(state)要是最小化的,按官方说法,不是props传入的,随时间变化的,不能是通过其它的props和stat计算而来。
  • 常用的设计模式是创建多个只负责渲染数据的无状态(stateless)组件,在它们的上层创建一个有状态(stateful)组件并把它的状态通过 props 传给子级。有状态组件封装了所有用户的交互逻辑,而这些无状态组件则负责声明式地渲染数据。
  • 设计范式是数据驱动组件来render。对比OO范式,OO有时会把compoent搞成自闭的、复杂的类,里面藏了态多的状态,进行很难跟踪。

1.2 置React于上下文中

React的virtual DOM想要构建一个理想的UI模型,那理想的UI编程到底是如何呢?根据我的总结是以下4点:

  1. 构建基本UI能力:不论是组件拖拉(VB),还是写树型XML描述文档,能快速做出和直觉一致的UI界面
  2. 数据绑定:与数据层(model)绑定数据,展示一个有数据的、活的UI
  3. 用户交互:用户点击、触摸,程序完成业务逻辑,并反馈给用户
  4. UI布局:前端的表现是一个UI调起另一个UI,自己死掉或藏起来。

显然,React完成第一点不错的,通过写JSX能完成一个基本UI的构建。数据绑定也做了一大半了,性能上由diff dom来保证。JSX是一个非常好的工程化手段,你第一眼看到它,可难会不爽。但新事物总要给它五分钟!品味一下,你会发现这样做更内聚,更务实的把计算与显示内聚在一个地方,甚至你还可以把css样式以inline sytle的方式写在js文件里。

在数据绑定上,React通过父子组件的props数据通讯协议,可以漂亮的完成初始数据绑定。这个props做得简单而高效,亮点。

用户交互,React组件被认为自己是一个有限状态机。与用户交互,改变自己的状态(state)。算法根据这些状态,render算法现计算出合适的数据集呈现给用户。

1.3 对比其它方案

React对比其它方案,突出优点是正交化、轻、约定性、务实:

  1. 对比Vue, Angular更正交化,它没有template,大的component就是template。
  2. 对比abobe flex或其它的UI系统是轻,没有复杂的UI OO体系,这也是说明React只是一个目标UI体系的粘合层。
  3. 约定大于Java仪式感,这也是自Rails之后在风潮。如pure render,最小化无状态state。
  4. 务实,通过JSX来组织表达控件的树形结构,用this.props来传递数据

1. 4 挑战

React是数据驱动式的UI component体系,是一个开放的数据依赖式,非自闭OO对象。它会有以下挑战

  1. render方法可能很大,component显示逻辑是一次性在render里实现的。这里往往有两部分逻辑实现,初次数据绑定,与用户交互之后的算法。
  2. render出一个ReactElement树,但这个树中的一些组件、UI元素因为计算被前移了,这会导致这个树看起来不太完整,进而不太直观。
  3. 虽然可以分解成小的component,构建大的Component可能是个挑战,因为所有逻辑都依赖于外部数据,而外部数据相对不稳定,组件失去了自我边界的保护,非自闭。
  4. 当交互复杂,组件的state也会越来越大,render全局算法会越来越难写。
  5. 把子组件的行为传上来也是一件不显化的事,往往需要把父组件的一个函数作为回调传给子组件。
  6. 大组件往往有多个Page,这几个Page如何交换数据是个很大的挑战

2. 谈谈对Redux的理解

2. 1 独特性

  1. 一个数据层的framework,类似于Baobab。比其好的一点,引入middleware体系,有几个现成的插件redux-thunk, redux-promise,不用但心异步请求的事。虽然说灵活、独立很重要,但全局设计也是 让人放心去用,而不用担心功能缺失和其它风险。
  2. 应用了FP中数据不可变性(immutable),这让追踪数据改变过程有很大提升。也就是其宣扬的时间旅行。这对复杂问题定位是有好处的。
  3. 树形化数据存储,reducer的返回即是其新建,更新、删除过程,树形结构不需要预先定义。同时,reducer也是纯函数,与reactor的render是纯函数呼应。
  4. 强约束(约定),增加了内聚合性。Flux中的action, dispatcher, store比较散,在分层架构是需要的,但内聚性不佳,出现java的仪式感。而redux是数据层很清晰,一个store,更新则dispatch到action,前半段自己想怎么搞就怎么搞(middleware),后半段reducer。reducer约束是不要改oldState,返回newStatew,做到immutable。
  5. 不一样的action:Redux中的action会切得很细,一个传统的Action被切成了三个Action:Loading, GetSuccess, GetError。所以,从这个方面来看Action服务于UI,而非业务逻辑单元。
  6. Redux大量应用FP,经常遇到FP中的curry, trund, promise这些概念,学习成本较高。在middleware层实现,对没有FP经验的人讲不友好。

2.2 置Redux于上下文中

  1. Redux是一个比较薄的数据层。同时,把View同步刷新也做了(redux-react)。
  2. 在传统MVC中,还是有一个controller来做业务逻辑。但Redux硬生生的把一个controller切成二部分:action, reducer。
  3. 理论上,Redux还可以把React组件中的stat的存储也拿过来,比如用户搜索的名称。这样,就可以把过滤算法放到selector中去。但这样好处并不是很大。

2.3 与其它方案对比

  1. 与Baobab对比,两者都是数据管理框架,Baobab提供cursor来方便你对很深层的数据结构进行update。而redux是通过selector函数来做,这种方法会比较晦涩。但比Baobab好的地方,做数据fetch可以通过Redux的middleware来完成。
  2. 与Rails的controller, ActionRecord相比,Redux更多是一种约定,不提供路由级的controller,不提供数据访问cursor。
  3. 接口不超过10个,代码也非常少,但是与之前的MVC框架完全不同。可能最大的问题是没有和react-route打通,在工程化时让人迷茫。​

2.4 挑战

  1. Redux应用最大的挑战更多来自设计层面,如何设计action,设计state树形结构。我们只能通过非常少的线索(FP架构思想)去做,这对没有FP经验的团队是一个大挑战。
  2. 通过selector函数从stat树里取数据比较晦涩,并且这个selector里的代码认为是业务逻辑,单独放在selector,业务上不内聚。
  3. middleware层设计:action是一个意图(intent),发送给middleware,让其来实现此意图。但这样做,action比有两义性,一会儿是对象,一会儿是函数。同时FP编程侵入性太大。
  4. 没有与Route结合起来设计,让人很不放心,也不知道如何在不同路由下来做数据与组件的connect。

3. 总结

react + redux是一种典型的FP编程范式实现,而其它框架大多是OO范式。是否选用react+redux开发,需要看是否对FP有掌握或者有一定的架构能力。但单独用react则没有这种要求,当个view来用。

3.1 FP vs OO

FP优缺点
  1. FP的好处是没有OO的复杂仪式感,是沿着数据结构+算法的思路进行抽象和结构化。如果顶层设计做好,代码复用度极高,代码量少。比如要生成一颗树我用迭归算法直接生成,而OO的人往往会用一个Composite模式去定义一个晦涩的类接口。
  2. FP的缺点也是也是面向过程编程的缺点,算法与数据全局化、并且互相耦合,这往往会导致一个强耦合的系统。如果没有做好顶层设计,是难以演进的。
  3. 通过约定和全局的理解,可以减少FP的一些缺点。“约定大于配置”也是框架的主要发展方向。​
OO优缺点
  1. OO的好处是分而治之,增量演进。同时有自闭性,语义比较清晰。
  2. 缺点是在表达一些算法时,反而是很困难的。如command模式实现历史回滚就挺麻烦。也这是四人帮的设计模式大多比较难以理解的原因。另外,OO一直有一个对算法复用的问题,ruby语言解决比较好,用mixin很自然。而像C++就用多继承和泛型,个人感觉并不是最好的。​

3.2 建议

  1. 有FP经验的或者架构能力比较强,团队人员比较少、能力强,较强适合用react+redux。不然用react+angluar, 或直接用vue。
  2. 过度的OO,搞太多java仪式感确实没有必要。通过架构设计,FP在生产力有着一定的优势。同时对付复杂系统,能更好调测、定位问题。在新时代下,值得尝试。

Viewing all 764 articles
Browse latest View live