《Dart 语言导览》A Tour of the Dart Language
旨在改善 web 应用开发过程的 Dart 团队本周发布了《Dart 语言导览》(A Tour of the Dart Language),详细介绍了 Dart 语言的各项功能,是快速入门的极佳读物,也是 Dart 语言用户的便捷参考资料。
全文包括变量、数据类型、函数、运算符、流程控制、异常处理、类、接口、泛型、库、隔离等 14 部分,着重于讲解语言功能,并略微涉及了该语言的核心库 dart:core。
面向会用Photoshop 用户的 GIMP 2.7 入门视频教程
Fedora 社区的 Máirín Duffy MM 特别录制了一段面向会用 Photoshop 的 GIMP 2.7 入门视频。
这篇教程在 Fedora 16 上使用 GNOME Shell 内置屏幕录像工具完成,使用了一个小技巧来实现音频录制。
文中使用的是来自 Fedora People 的 GIMP 开发版本。
Python 语言快速入门教程
本文是面向SEO人群的Python程序语言入门教程,也适用于其他没有程序基础但想学习些程序,以解决简单的实际应用需求的人群。在后面会尽量用最基础的角度来介绍这门语言。
本来打算从网上找一篇入门教程,但因为Python很少是程序员的第一次接触程序所学的语言,所以网上现有的教程多不是很基础,还是决定自己写下这些。
如果没有程序基础的话,可能会觉得本文涵盖的内容有点多。对照大学里面常教的C语言的教学速度,本文大约有四五个课时的内容;对照网上程序类的视频教程,大致相当于两三个小时的内容;对于翻一本程序书籍,大约相当于翻一个小时书。也因此,如果有深入学习的打算的话,为了效率还是推荐看书。
如果暂时不能理解本文中的一些内容也没关系,因为都是一些经常会用到的基础知识,在实际编写代码的过程中会一直遇到。后面会大约有两三篇关于实用代码编写的文章,可以选择那时再对这些知识加深印象。
但如果是觉得技术对于SEO没有必要而对本文没有兴趣的话,试问打算将SEO作为自己多久的职业?如果打算真正将它做好的话,在至少有上万小时需要用去的精力里面,从里面抽几十几百小时去学习些技术应该是合情合理的。
若因文章有什么没表述清楚而导致无法理解,请务必帮忙提出。第一次写程序类的较完整的教程,难免有疏漏之处。
为什么学习Python
如果决定学习一些技术来辅助SEO的话,对于程序语言至少在我看来Python可以算是首选。
其一、Python入门相对简单
如果谁在大学课程里面接触过C语言但对程序了解不多的话,或许会觉得程序就是像C那么麻烦,其实不然,学了具有美感的Python代码以后就会知道C代码又臭又长。就算完全没接触过程序也没关系,Python本身就适合作为程序的入门选择。
我虽然很早就有写程序,但那时是兴趣使然,从未深入过,正式接触程序是接触SEO以后的事情,大约学了几个小时以后就能写些简单的采集程序,到现在只要能想到需求就很少有技术无法实现的。所以没什么有基础没基础的问题在,无论什么的基础都是需要自己打下的。
其二、Python代码非常灵活
来看一段非常常用的代码示例,如果没有程序基础的话会看不懂这些代码,但暂时没关系,看代码行数也能对比出代码简洁性
PHP:
<?php
$list_1 = array(1,2);
$list_2 = array();
foreach ($list_1 as $current) {
array_push($list_2, $current+1);
}
print_r($list_2);
?>
Python:
list_1 = [1,2] list_2 = [current+1 for current in list_1] print list_2
Python代码的第2行叫做“列表推导”,它提供了不少像这样便利的语言特性可以使得代码非常简洁。
尽管语法灵活并非总是好事,灵活的代码写法意味着每个人写出来的代码往往风格迥异,会把团队成员的水平差距拉大而不利于团队开发。但对于小型SEO应用需求一般都是个人开发,此时代码的书写效率比起团队合作性而言更重要。
其三、Python使用广泛
Python在程序语言里面受欢迎的程度大约是5-10位左右。排在其之前的有C#, Java, PHP等,但很多时候不是因为它们更强大,而是因为前面提到的原因,它们的代码显得相对不是很灵活从而适合团队开发,所以才更受欢迎。
一般来说,多数提供API的网络服务都会提供Python接口(如百度网盟、Amazon云服务等),而另一些比Python某些方面更强的语言则没有这么广泛的支持度,比如代码更加灵活一些的GO语言。(多数Web服务的API接口有:C#、PHP、Java、Python、Ruby、Perl,所以一般情况下选择其中至少一种语言学习)
Python的模块也非常多,有许多既有模块意味着可以少做很多事情。比如下载一个网页,在很多语言里面都需要5-10行代码,而Python仅需两行:
import urllib2
print urllib2.urlopen('http://g.cn/').read()
另外有意思的是以前Google限制过自己内部使用Python语言进行开发。原因有二:一、因为Python编写效率高,之前被其过多的运用;二、Python语言的执行效率较慢。而对于SEO,却正是最需要注重编写效率而一般无需在意执行效率的。
至此废话了不少,但兴趣往往是学习的最好动力,希望没有白白废话
安装环境与配置
Python程序和普通程序略有不一样,通常情况下没有可以直接在Windows下面双击运行的exe文件,虽然并非无法编译成exe但相对较麻烦,实际运用中很少会去如此操作。
Python程序就是一段文字代码,保存到后缀名为.py的文件里面。在电脑安装了Python的运行环境以后,方可以运行py文件。(其实很多程序都依赖于运行环境,最常见的是.net Framework,只不过这个在Windows上预装了,一般感觉不到罢了)
对于Windows系统需要安装运行环境,Linux系统则一般自带Python无需配置。
Python运行环境的下载链接为:http://python.org/getit/
在这个页面上,通常是在第一个下载链接,寻找并下载:Python 2.7.x Windows Installer (Windows binary — does not include source)
需要注意的是下载的最好是2.7.x版本(x代表任意数值,2.7这个大版本都是类似的),而Python 3以上的版本和先前版本区别较大,对于初学者不建议使用。
下载后安装,没什么需要特别注意的地方。一般安装在默认路径,即c:\python27\,不要将之放在目录层级很深的文件夹,不然运行的时候比较麻烦。
操作系统
前面已经提到,Python可以在Windows及Linux系统下运行,它还支持更多系统,如Mac等,甚至也可以在越狱过的iPhone等设备上面编写并运行Python程序。
但因为Python的一个主要强大之处在于其模块的支持,有了模块就可以方便的做很多事情。而模块的配置在Windows等系统里面往往有些麻烦,Linux往往容易得多,所以过了入门阶段以后,推荐在Linux环境下进行开发。
Linux环境的搭建有三种选择:
1.本机安装Linux系统。适合在Linux下长期工作的人,需要对Linux的基础知识有一定的了解。主要缺点是总有些Windows里面才能运行的程序,偶尔需要切换系统。我主要是在这样的环境下工作。
2.在Windows里面安装VMware等虚拟机,然后在虚拟机里面安装使用Linux。适合初学者,但因为虚拟机的关系,除非计算机配置很好,不然两边系统的运行效率都会比较低下。且虚拟机不利于塑造学习Linux的气氛,因为用虚拟机的时候碰到问题,多数人会倾向用Windows解决而非用Linux,那么就较难熟悉它。个人不怎么推荐这种选择。
3.买一台Linux的VPS,使用SSH远程操作。主要优点是在工作及家里都可以很方便的连上服务器,不用每天把程序、数据等随着U盘之类的带来带去;也可以在不影响Windows使用的情况下使用Linux。但缺点同样明显,没有图形界面对入门者不友好;因为网络延时的关系,写代码的效率经常受影响等等。对于初学者,个人比较推荐这个解决方案。
至于VPS的购买,推荐Linode或PhotonVPS等,大约每月50-150RMB能买一个可以用来书写运行普通程序的VPS,也可以同时在上面放两三个小网站。
Linux有很多发行版可以选择来安装,如Ubuntu,Fedora等。
对于在本机上搭建Linux环境时,因为拥有图形界面,若是工作为主要目的,推荐安装Fedora。它和服务器最常用的CentOS系统同出Red Hat系,很多地方比较接近,熟悉它对于熟悉CentOS也有较大助益。
如果在本机安装,且有时会将Linux系统用作观看视频等娱乐之用的话,推荐Ubuntu,它在日常使用方面略胜Fedora一筹。
对于VPS上面搭建Linux,则推荐CentOS系统,因为它使用最广泛,所以各种软件对其的支持往往更好。
对应Linux环境解决方案1,一般使用U盘加载iso镜像进行安装;对于解决方案2,一般直接由虚拟机软件加载iso镜像安装;对于解决方案3,一般VPS都可在其后台直接选择操作系统无需自己安装,比较方便。
编辑器
书写代码前面首先需要有一个合适的编辑器。尽管Windows自带的记事本也不是不可以使用,但编写程序时会非常不顺手。
对于Windows系统的编辑器,较简单的我比较推荐Notepad++,当然也可以选择更流行的UltraEdit。
也可以使用IDE,这是用来开发软件项目的集成环境的统称,它在开发大型项目时具有较大优势,但在处理小型需求时可能显得略有不灵活。IDE里面比较好的有Eclipse,加上PyDev插件即可开发Python程序,它在Windows和Linux里面皆可以使用。
如果平常需要书写的代码量很大,或是对自己的学习能力较有自信的话,对于Linux推荐Vim,Windows则推荐gVim(Vim的图形界面)。它和普通编辑器书写代码有极大的不同之处,往往需要几天的学习时间与几个月的熟练时间,但书写代码的效率一般可以快不少。
开始编写程序
Hello World!
“Hello World”最早的出处是计算机领域的最经典书籍之一——《The C Programming Language》,后来被广泛沿用。”Hello World”程序的目的只是在屏幕上输出一个”Hello World”,尽管很简单,当它作为每个人第一个所写的程序时还是有着较大的意义。
打开编辑器,输入一行:(友情提示:复制粘贴不利记忆)
print "Hello World!"
完毕。保存文件到c:\hello.py(路径随意)。
按Win + R快捷键,打开“运行”,输入CMD,回车,打开命令行提示符。(Linux图形界面的话是Ctrl+Alt+T来打开终端)
输入:
(Windows)
c:\python27\python.exe c:\hello.py
(Linux)
python 路径/hello.py
可以看到程序运行并显示了一行“Hello World!”。至此,第一个程序完成了。
变量与赋值
s = 'Hello World!' print s
程序输出:
Hello World!
上述代码,s称为变量;第一行所做的操作叫做赋值。
再来个例子加深印象:
a = 1 b = 2 print a + b
程序输出:
3
函数
def hello(name):
s = 'Hello ' + name + '!'
return s
print hello('world')
print hello('semwatch')
程序输出:
Hello world!
Hello semwatch!
函数是用来包装一系列的行为的,通过传递一个或多个参数进入函数(def hello(name)),然后函数再返回一个计算之后的数值(return s)。
于是print hello(‘world’)就相当于输出hello函数运行之后的运算结果,即输出Hello world!
可以再看这个例子来加深理解:
def add_num(a, b) return a + b print add_num(1, 2) print add_num(2, 3)
程序输出:
3
5
循环及判断
后面提到的for循环、while循环及if判断,这是所有程序语言里面的基础,务必完全掌握。
(Python里面没有其他语言常有的do while循环,也没switch case判断)
for循环:
PHP范例:
<?php
for($i=0;$i<10;$i++) {
echo "$i\n";
}
?>
之所以这里举一个PHP的例子,是因为多数程序语言的for循环都和该例是类似的语法,先以这种形式举例。
应该较容易理解,给变量i赋值0($i=0),每次循环的时候+1($i++),在i小于10的时候就一直循环($i<10),所以循环10次。
echo语句负责把每次循环时候的数字输出,此例中会依次输出0-9这些数字,不过没必要研究echo语法,只需理解for循环的概念就行了。
Python的for循环语法比较另类,但也很简洁:
for i in range(10): print i
这两句语句会和前面一样,依次输出0-9这些数字,且print语句会自动每次输出后换行。
while循环:
i = 0 while i < 10: i = i + 1 print i
代码的意思是,先给i赋值0,然后当i小于10的时候,不断执行循环体里面的内容。此处即为将i的值加1,并输出i。
运行后输出的结果依次是0-9几个数字。
if判断:
i = 1 if i < 2: print "i<2" else: print "i>=2"
程序输出:
i<2
程序先给i赋值1,然后判断i是否小于2,如果小于2则输出i<2,不然输出i>=2。
另外等于和不等于的判断符号是如下的:
i = 1 if i == 1: print "i=1" elif i != 1: print "i!=1"
等于是==符号,这点容易混淆。使用=符号在多数语言里面会产生一些问题,而在Python里面会直接视为代码错误。而不等于符号是!=,也可以使用<>,但<>号在如今的程序语言里面使用越来越少,也可能在Python的日后版本里被弃用,所以一般推荐使用!=。
上面代码中第三行elif是else if的简写。意为如果i==1没有满足的话,就继续判断i!=1是否满足。
列表与字典
多数语言都有“数组”,它是一个存着多个数值的变量。而Python没有,类似的是“列表”和“字典”等。
如果有PHP基础的话,看下以下对比就可以很快理解它们:
列表:
PHP
<?php $l = array(1,2,3); ?>
Python
l = [1,2,3]
字典:
PHP
<?php $d = array( 'a' => 1, 'b' => 2, 'c' => 3, ); ?>
Python
d = {
'a': 1,
'b': 2,
'c': 3,
}
如果没有其他语言基础的话,通过实际代码来理解列表及字典或许更合适。
列表:
l = [1,2,3] for current in l: print current
运行的结果会依次输出1-3这些数字。(Python里面没有PHP的foreach语法,全都使用for完成)
字典:
d = {
'a': 1,
'b': 2,
'c': 3,
}
for key in d:
print key
print d[key]
运行的结果会输出a1b2c3,分六行显示。
解释下字典,字典的结构是这样的:
dict = {key: value, key2: value2, …}
for循环可以在每次循环的时候,把相应的key赋值给变量,如果要访问对应的value,就需要使用类似dict[key]这样的,即寻找dict里面对应key的value。
类似的,列表也有类似操作,如:
l = [1,2,3] print l[1]
运行输出:
2
它的意思是输出列表l的第1项。需要注意的是,对于绝大多数程序语言,都是从第0项开始算的。即这里l[0]是1,l[1]是2,l[2]是3。
字符串及切片
字符串如其名,是一串字符。如print “Hello World!”就是输出字符串Hello World!。Python里面的字符串比较特殊,它和列表一样属于序列类型,很多使用方法上和列表一样。
s = "abc" print s[1]
运行结果会输出b。
根据这样的特性,可以衍生出一些简洁的代码运用。比如要输出”Hello World!”这个字符串的前5个字符的话,多数语言会和PHP类似是这样做的:
<?php $s = "Hello World!"; echo substr($s,0,5); ?>
而Python简单得多:
s = "Hello World!" print s[:5]
两段代码都会输出Hello。
其中的s[:5]使用了Python的“切片”特性,完整的写法应该是s[0:5],但0可以省略,这里代表着输出这个序列索引号从0开始到5之前的内容。
当然列表也是可以使用切片的,如:
l = [1,2,3] print l[1:]
运行后输出[2,3]。
意味着从索引号1开始,输出到列表的最后。
知识点汇总
将前面所有的内容加上一些新的知识点,融合成一段代码。认真思考每一个输出的结果是如何出来的,就能更好的理解这些。因为知识点比较多,可以暂时不求甚解,但这些都是任何程序语言里面都会有的基础内容,最终是必须掌握的。
代码中,#号意味着注释的开始,这些内容不会被运行。
另外代码的第一行声明了代码编码为utf-8。因为注释中出现了非英文字符,所以就需要指定编码,不然程序会报错。
# -*- coding:utf-8 -*- str_1 = 'Hello' str_2 = 'World!' #以下语句都会输出Hello World! #print语句中的逗号意味着不换行,而是用空格间隔它们 print str_1, str_2 #以下和上面一句是同样的效果 print str_1, print str_2 #同样可以用字符串连接符 print str_1 + ' ' + str_2 #也可以用格式化操作符,它比前者更常用 #会将后面的变量依次替换到前面的%x上面 #%s指定替换为字符串,若替换整数则为%d,小数%f print '%s %s' % (str_1, str_2) #会输出00 11 22 for i in range(3): print '%d%d' % (i, i), print '' #输出一个空的字符串用于换行 #会输出11 22 33 for i in range(1, 4): print '%d%d' % (i, i), print '' #会输出00 22 44 for i in range(0, 5, 2): print '%d%d' % (i, i), print '' #会输出0 1 0 1 0 i = 0 while i < 5: i += 1 #等同于i = i + 1 if i % 2==0: #如果i除2的余数为0 print 1, else: print 0, print '' #会输出c i = 3 if i==1: print 'a' elif i==2: print 'b' elif i==3: print 'c' else: print 'error' #会输出1 2 3 3 4 4 5 5 6 for i in range(10): i += 1 print i, if i < 3: continue #如果i<3则中断该次循环,从循环体的头部重新运行 elif i > 5: break #如果i>5则中断整个循环 print i,
最后
虽然现在提及的是程序,但SEO要涉及的技术远不仅是程序。尽管很想从头开始提及所有应该学习的方面,无奈这是几本书都写不完的,单用几篇文章更无法穷尽。
在接下来的文章里面,将跳空一些知识点,如果读者没有相关基础,则需自行学习。之后将跳过的包括但不限于:
1. 基础Web知识,比如非ASCII字符集的URL需要编码等常识:http://www.w3school.com.cn/html/html_urlencode.asp
2. 浏览器开发人员工具的运用,可以选择Chrome的开发人员工具、或Firefox的Firebug插件等,个人推荐用Chrome。尤其需要先了解其抓包功能,在采集数据的时候经常要用到。抓包功能在Chrome开发人员工具里面,对应的是”Network”选项卡。
3. 独立配置Python的pycurl模块。此处主要有两种选择,一种是在Windows系统安装Curl、再安装setuptools、最后安装模块,比较麻烦也不推荐,且以后其他模块在Windows里面配置可能也是这么麻烦。另一种选择即是配置一个Linux环境,在CentOS及Fedora等系统里面,执行:sudo yum install python-pycurl,在Ubuntu等系统里面,执行sudo apt-get install python-pycurl。之后将大量的使用到这个模块,所以务必配置好。Linux的入门命令可见:http://ooxx.me/common-ssh-commands.orz
4. 了解正则表达式。它是用来处理字符串的强大工具,可以在百度上寻找资料对它做初步的了解,至少要先知道.*?和[\s\S]*?这两个的含义,它们在采集数据的过程中是最常用的。这是一个很不错但难度较高的正则教程,可能不是很适合初学:http://manual.phpv.net/regular_expression.html
此外最好买一本Python书籍,虽然因为SEO没必要对程序涉及很深入,大多程序类书籍上的多数知识的重要性不高。比如每本书都会花大量篇幅去介绍面向对象编程的思路与实现,但SEO的多数需求往往只有几百行代码,一般都不太会去涉及这些。不过,一开始的一些基础知识学习的过程中,容易疏漏或者遗忘知识点,有一本书会好得多。
尚未找到比较适合SEO看的Python书籍。我自己手边有一本《Python核心编程》,应该说还可以吧。如果不确定买哪本的话,可以到这个论坛去找下pdf试看,它上面各类计算机书籍应该是相对最齐全的:http://club.topsage.com/forum-300-1.html
但不要只看pdf,一般学一门语言至少备一本纸质书籍,它应该是在自己不清楚或忘记了哪些知识点以后,可以随时拿来翻看的工具书。
Hello! Python – epub PDF电子书
作者:Anthony S. Briggs
出版: M./ni.g P..li//tio.s2012
ISBN:1935182080
格式:EPUB/PDF 电子书;17 MB/28 MB;424页
《楼下的房客》九把刀 TXT电子书全文下载
《楼下的房客》九把刀 是一部悬疑而又诡异的出租屋的故事,详细描述了每个人的外型、特征、癖好,运用一个思想怪异的房东把他们串联成一个个恐怖的故事。讲述了继承出租公寓的无业游民,在东海大学附近贴起招租布告,他不要家世清白的乖乖牌学生、不要收支稳定的上班族、不要勤俭质朴的小家庭,他只要“正常人”,像任何符合正常定义,有混乱潜质的正常人,能满足他偷窥正常面具下的黑暗面的正常人。因此,有家暴前科的体育老师老张、黏在网上的大学生伯彦、失婚的王先生和纯洁像天使的王小妹、神秘作家颖如、同性人令狐和郭力、上班尤物陈小姐一起搬到了出租公寓
1-5
有人说,真实的人性只存在于一个人独处时。
在没有人看见的角落里,一个人会做出什幺样的事,才是他真正的本性。
比如说,一个在学校表现优秀的小学生,如果下课后偷偷在铁轨上排石,那幺他其实是个坏孩子。
又比如说,一个常常在街上痛扁老人的小流氓,如果私底下总记得喂野狗吃东西,那幺他到底还是个好人。
我无法同意。
如果真实的人性真的只存在于独处时的自我,那幺,这种永远不会表露在别人面前的自己,怎幺会是真实存在的呢?难道真实只需要自己同意就可以任性地存在吗?
前些日子,我总觉得真实的自己是需要别人同意的。
有部日本电影叫’大逃杀’,剧情大概是一群同班三年的高中生被变态的军方拘禁在一个荒岛上,分配武器后,被迫互相残杀到仅剩一人为止,唯一的生存者方可离开岛上,要不,三天的期限一到,所有设备在众人脖子上的颈环就会一齐爆炸。
可以想见的,这群平日交好的朋友开始残杀彼此,刀来枪去的,杀得一塌糊涂,我想,看到最后谁都会同意,真实的人性存在于人与人的互动里,当别人拿枪指着你的脸,你一刀砍将过去,另一个人又冲出来向你们扔一颗手榴弹,大家就这幺激烈地相互印证对方真实的人性,倒下的弱者绝不会承认对方是个好人。
换个方向,一个人真实的自己并非存在于独处的时刻,而应该说,一个人无论如何都需要独处,因为独处可以释放一个人不想在其他人面前释放的能量,不管是好的能量或是坏的能量。每个人总有一些不想让别人参与的时刻,例如用嘴巴自慰,例如研究昨天忘记冲掉的大便,例如喝一瓶过期半个月的牛奶等等,但如果硬是指称一个人私底下的自己才是真正的他,恐怕谁也不会服气,独处只不过是想喘一口气,让自己在跟其他人互动时,可以表现的更好罢了。
所以后来我才明白,真实的自己根本不存在。
有什幺样的互动,就可能会出现什幺样的自己,所以人性太难以捉摸了,人到底不是由一种叫真实的东西所组成的,要不,就是常常被不同的真实所构成。
像电影’大逃杀’那样的残暴互动,就别指望有光辉的人性,而像’把爱传出去’那样的温馨电影,就很难想象有坏胚子。
太乱了。
如果真的有真实的自己,应该是铁一样坚固,不应该变来变去,所以人根本只是在表演一段又一段的戏,每一段戏各有不同的自己,但要说其中某一段戏是’真’,却是太虚假了。
所以我装了针孔。
每个人都有魔鬼的一面。
如果你自认没有,那只是因为你不肯承认,或是你还没遇上够让你成为魔鬼的事罢了。
三年前我从没有儿女的大伯父那里继承了这栋老房子,屋龄三十多年,不算天台的话有五楼高,附有一个可以看见外面的简易升降梯,因为我大伯父因为一场车祸成了个瘸子。
平白继承了这栋老房子,说不高兴是骗人的,虽然它的位置不怎幺好,距离热闹一点的市区有十五分钟的车程,但不用花任何代价就取得一栋宅子总是件好事,至少让我这个只会做白日梦的中年人稍微像个样子,不至于一事无成。
于是,我卖了大伯父的老奔驰,再跟银行借了几十万,将老宅重新整修一下,将几间房间附上厕所浴室,然后添了几张床,刷刷墙壁之类的,我决定无论如何都要将房子租出去,这辈子就靠收房租过日子。以前我老是羡慕别人可以收租快轻松日子,现在总算轮到我了。
修了房子,清出了几间卫浴套房,二楼两间房,三楼两间房,四楼两间房,五楼我一个人住,一楼则是客厅和公共厨房,天台上则有一台洗衣机和晒衣场。如果一间房间可以收租五千块,我一个月的收入就有三万块,够了,重点是我什幺事也不想做,至多偶而帮房客修修水管、换换灯管。
但很不幸,不知道是这间老宅外表太过老旧,还是大家都有房子住还是怎幺的,我到处张贴租屋传单后都没有回音,花钱夹报登广告也没人理睬,失望之余,我只好尝试降低登在广告上的租金,从五千降到四千,再从四千降到三千五,却还是一个人也没有上门。
当这栋老房子是鬼屋吗?
我叹气,也许世道真的不好,也许景气真的不佳。所以我决定将租金压到三千元的贱价,但这些贪小便宜的房客得贡献点自己的人生作为代价。
针孔摄像机花了我不少钱,走廊上、电梯中、每个房间里都有。
我将针孔摄像机的线路接到我房间里的电视上,电视正对着我的床,我打算将每个房客私底下的个人表演当作是睡前的电视节目,当作是租金的一部份。
如果问我有没有罪恶感,我必须承认是有那幺一点,不过我的灵感来自于我的大伯父,我在接收这栋老房子时,发现以前帮行动不便的大伯父打理家里的菲佣房里,有一个隐藏式摄像机就嵌在墙上,而讯号线路接到大伯父浴缸上方的小电视。我想这或多或少都牵涉到基因遗传吧,大伯父这种娱乐很吸引我,罪恶感也就稀释在家族遗传的病征里。
于是我将新的广告单贴在电线杆上,等待面试适合的房客进来。
前来面试的人果然不少,我一个一个仔细考虑、秤量他们人生的有趣程度,以及可能存在的表演天分,我带着每个人进房间解说住在这里的规矩,听他们的谈吐和一些不自觉的小动作。
我淘汰了一个职业妓女。她越想隐藏脂粉味,就越骗不了我。我并不希望窥视到机械化、太过皮毛的肉体交缠,用钱就可以交易到的性就应该用钱交易,因为它的价值就仅仅于此,而不是在墙上挖个孔。说穿了,我可以从碱湿片里取得更高的娱乐,甚至可以自己去嫖。
我也淘汰了几个带着厚重眼镜的大学生,我在他们身上闻到了我最讨厌的味道,我根本不会好奇这些表面上十足用功、将来准备担当国家栋梁的孩子,私底下有什幺不欲人知丑恶的一面。因为我清楚知道,他们是彻头彻尾的无趣,我可不想浪费六分之一的机会、冒险去打破自己对他们的既定认识。
一脸毒虫样的人也不行,他们迟早惹出事来,毒瘾发作死在我家床上的话,只会让房子更难租出去。警察要是来搜毒品或是什幺的,说不定会发现针孔摄像机的存在,我一定会被告到牢里。而且,这些毒虫会让其他房客感到不安,我可不希望影响到其他人的表演。
我最先录取的表演家,是带着一个六岁女孩的单亲爸爸,王先生,他跟他女儿住在二楼,多半是因为我的基因里也有一些恋童的潜在遗传吧,另一方面也是同情心使然,加上王先生愿意一次就付清半年的房租有关。
陈小姐是我第二个录取的房客,她是个三十岁左右的上班族,我第一眼就决定录取她了,因为她长得很漂亮,身材前凸后翘,光是跟她说话就足够教我血脉贲张。我希望她能多带男友回家过夜。她选了二楼王先生的对面,说是不想爬楼梯,靠近一楼的厨房也近。
老张的谈吐很风趣,所以我录取了他,他是个四十岁的单身汉,离过两次婚,现在在附近的国小当体育老师,我跟他说话挺投缘,面试当天还让他请了一顿饭。我实在想知道他的另一面。老张住在三楼,就在陈小姐的楼上。
住在老张对面的,是两个男同性恋。他们一起来面试,也不避讳他们的性向,大概是怕就算骗我录取了他们,以后我还是会大发雷霆赶他们出去吧,索性把话说清楚。我没有这方面的歧视,而且还很好奇同性恋的日常相处,我以前看过几支同性恋色情片,但里面几乎都没有剧情,只有两只大炮彼此轰来轰去,我实在没有兴趣。他们也许能拓展我的视野。
四楼,我的正脚底下,住了一个轻轻的美女。为什幺用轻轻的两字来形容她呢?因为她说话轻轻的,脚步也轻轻的,连笑起来也轻轻的,给我一种很淡的感觉,好像这个女孩子是白开水做的。她来面试那天我就觉得这女孩子很素,脸上脂粉不施,皮肤白皙到连静脉都看得见。我对她颇有好感,就这幺让她住了进来。
轻轻美女的对面住的是附近大学的男学生,大二了,叫柏彦,念的是企业管理。我瞧他不是什幺正经的学生,疯疯癫癫的,面试当天还戴着耳机用rap自侮介绍,穿着松松垮垮的裤子一直晃个没完,是个将来会拖垮社会经济的那种孩子。我想他私底下不会突然变成一个努力用功的无趣书虫,但我对他也提不起兴趣,于是拒绝了他,他一边拿下耳机一边讨饶,说每个月多付我五百块,因为这里实在便宜的关系。我想想,于是答应了这笔交易。
偷窥很有趣。
我想,犯法的事多半都很有趣吧,法律禁止大家做的事,好像都有这样的特质,只是这些事常常伤害到别人。
偷窥并不造成任何伤害,如果对方毫无感觉的话。
隐私常常被拿出来谈偷窥害人,但隐私被剥夺的坏处只有在被当事人发现的时候;隐私不会像钞票一样,被偷了以后就少一点,所以偷窥的人有责任保护被偷窥的人,让被偷窥的人一辈子都不知道、自己曾经在另一个人的面前尽情表演自己,这样一来,隐私就变成一种分享,永远也不会被谁侵蚀。
所以那些在旅馆偷拍情侣做爱、或是偷拍更衣间淑女换内衣,然后再制作成光盘的家伙实在很可恶,他们毫无羞耻地兜售别人的隐私,让那些被偷窥的人精神崩溃、羞愤不已。那些商人恶棍才是伤害别人的罪犯。
你如果认为我在强词夺理,我并无法激烈地反驳。毕竟我自己也不愿意将隐私,或者说私底下的自己,表演给任何人看。如果人类分成两种人,一种是偷窥别人的人,另一种是被偷窥的人,那我明显要当前者。这是我至今三十五岁都还没有结婚的原因。
结婚,代表私底下的自己形神俱灭,一个人从此就不再完整,全给扭曲了。我想,不再有黑暗的角落可以释放能量的结果,是多数家庭暴力或出轨的原因,老张就是这样。
面试那天老张爽朗的告诉我,他这个人从小就有个怪癖,就是非常喜欢喝过期鲜奶,他这个癖好从他结婚以后就被扭曲了,因为他觉得很不好意思,连开口跟老婆提起都没有,长期隐忍久了,有一天身材魁梧的老张终于压抑不住,将老婆的鼻子揍成了小笼包。老张的老婆何辜?她也许根本不介意老张喝过期牛奶。离婚后,老张还看不透自己需要独处,于是在下一次婚姻中他只是偷偷在床底下囤积过期牛奶,借以释放自己黑暗的能量,但有一天老张的新妻子发现床底下十几瓶过期牛奶后将它们丢掉,于是老张又发狂了,将新妻子的下巴打落。
所以老张还是一个人。他总算是明白了。
‘柯先生,你不介意我喝过期牛奶吧,哈。’老张在吃饭时笑呵呵的。
‘不介意,如果我的牛奶过期了,就留给你吧。’我微笑。
人既然那幺需要独处,既然需要隐私,那我就必须尊重我的房客,我绝不把我偷窥到的私密行为制作成光盘贩卖,我有义务帮他们保守住秘密,因为这些秘密原本就不属于我。如此,我才能心安理得地打开电视,看看这些房客在搞什幺。
‘嗨。’我坐在一楼客厅里,向正要送女儿去托儿所的王先生打招呼,王先生礼貌地点点头,提着女儿的书包开门离去。
王先生是个濒临道德崩溃的准恐怖份子,这件事只有我跟他知道。也许过不不了多久,他的女儿也会知道。这半个月来我在电视机前面跟王先生一起哄他女儿睡觉,然后目睹怪异的事情发生。
王先生一手抚摸着女儿细细的长发,一手脱掉自己的裤子,掏弄起老二。起先我也不敢相信,于是我将针孔的镜头放大观察,只见王先生的脸色痛苦而犹疑,看着女儿清秀脸庞的眼睛也越瞪越大,不知道是在做道德挣扎还是快要射了。我想,我的房子里住了一个性情正在扭曲的男人,这个男人即将做出令人发指的事。但我不能报警,我尊重他的秘密,话又说回来,我对王先生退化成禽兽的过程很感兴趣,毕竟这不是看连续剧所可以了解的最真实一面。
在餐桌上吃完简单的早餐,我便上楼回到自己的房间,打开电视,观看陈小姐刷牙洗脸的狼狈样。
陈小姐睡眼惺忪的梳着头发,而她那高大威猛的男友从后面抱着她,坚挺的阴茎顽皮地顶着陈小姐的小屁屁,陈小姐笑骂着,那男人一把将陈小姐抱到床上,不理会陈小姐指着时钟讨饶的表情,硬是草草做了一场爱。陈小姐无奈地拿卫生纸揩完下体后,那男人才放手、笑嘻嘻地从衣柜拿出一套西装穿了起来,两个人相拥吻了一阵后才一起出门。我真想听陈小姐的叫床声,只可惜针孔摄像机没有附麦克风,也许我该找一天升级。
陈小姐的秘密其实不是她那曼妙的身材、和几乎可以摆出各种姿势的诱人身段,陈小姐的秘密我一周之内就发现了,就是她有两个男友,一个高大威猛,一个是清瘦书生,但陈小姐似乎并不把这个秘密当作是百分之百的秘密,毕竟她分别带着两个男友进进出出的,没有在我们面前刻意掩饰,大概是赌我们这些房东房客都是大人了,不会在两个男友面前贪嚼舌根吧。
我将电视屏幕切换到那个没有前途的大学生房里,那大学生整个晚上都没睡觉,戴着耳机盯着电脑屏幕打打杀杀了一整夜,现在当然在睡大头觉,只有周三跟周四才会出门上课。白天偷窥这个大学生一点意思也没有,晚上也不甚有意思,他不是在跟不认识的人拿虚拟机关枪互相厮杀,就是在打手枪。我租给他的房间也给他布置得像个狗窝,满地的泡面跟包着精液的卫生纸,只有在真的无法闪躲地上的垃圾时,那大学生才会一次收拾干净。
于是我将电视画面切换到那两个男同性恋的房里。此时一个早已出门,一个坐在床上举哑铃健身。那两个同性恋倒是出乎我意料的正常,平常跟一般男女一样做爱,只是姿势略有不同,并没让我见识到太出神入化或是屎尿兼施的性技巧,况且他们也常常光抱着睡觉和亲嘴而不做任何事,跟一般的异性恋情侣没有两样。看来我没有抱持偏见是正确的,偷窥总能不经意学到点东西。
那两个男同性恋,比较年长的叫做郭力,在附近的大学教物理,年轻的小伙子名字很武侠,叫令狐求败,是隔壁街连锁便利商店的店主,我问过他名字的由来,他说是他父亲是个金庸小说迷的关系。这两个人并不总是一起过夜,他们各有自己的家回去,这里只是他们的廉价旅馆,爱的小窝。只不过令狐求败待的日子多些,郭力待的日子少些。
6-10
我将镜头切换到住在楼下的轻轻女子,她还在睡觉,我看了看手表,她大概还要睡一个半到两个小时,十点半才是她最常醒来的时间。
轻轻女子的名字叫张颖如,是个专职作家,我猜她一定不是个很有市场的作家,要不然也不会住在这里。颖如经常在床上用笔记本电脑写作,床边的茶几上堆着好几本杂志与各式各样的书本,她一写就是好几个小时,中间只会起身上厕所或冲咖啡,吃点小饼干,到了晚餐时间才会出门吃点像样的东西,有时回来手里会抱着一些零食与新的书籍杂志。
晚上九点后颖如就不写作了,她专注地不断翻看堆积如小山的书籍,常常两天就看完一本书,还会用笔划线做记号,不知道是真爱看书还是找写作的资料,总之我都很佩服这样的阅读习惯。真是个生活简单朴素的女孩子。
所以偷窥颖如也是件很无聊的事,我最多学到了冲咖啡的各种技巧。
我打了个哈欠,将电视关了。
老张在大家还在熟睡的时候就出门了,他要带学校的小田径队跑操场。如果将屏幕切换到他的房间,我将会看见单调的摆设,还有满地的过期牛奶。
他真是解放了,彻彻底底的。
我知道老张也有偷窥的癖好,这点他没有跟我提过,他只敢提过期牛奶的事。人之常情。老张的偷窥嗜好反应在他房间光驱里的偷拍光盘,以及他放在衣柜里的高倍率望远镜上。
老张每天下班回来洗澡前,都要看一片偷拍光盘,内容包罗万象,有真偷拍,也有假偷拍。而入夜之后,老张就会架起望远镜,用研究月球表面的科学精神窥探附近的住户有没有进行不关窗帘的色情活动。
是的,老张跟我虽然颇为投契,但到底还是不一样的。我想窥探的是各式各样有趣的自我表演,但老张的偷窥活动则标榜着色情万岁,这并不是说我高了老张一等,而是着重的趣味多元性差很多。
关了电视,我躺在床上不知道要做什幺。
也许我该每半年,或甚至每三个月就换一批新房客进来,只留下比较有趣的房客。
我闭上眼睛,想起两部跟偷窥有关的电影。
一部是’银色猎物’,男主角藉由偷窥女主角的日常生活,于是非常了解女主角的兴趣与行为模式,男主角便塑造自己另一个形象,并制造种种巧合使女主角爱上他。也许我该仿效他,看看有没有机会跟陈小姐做几次爱,或是让单纯的颖如爱上我。
另一部电影是’楚门的世界’,这部堪称经典的电影我看了好几遍,里面的男主角实在是太可怜了。但他的可怜之处不在于不自觉贡献出他有趣的一生,而在于最后竟自行揭破秘密,走到早已知悉他生活一切的观众面前。我叹了一口气,这部片好像不能给我什幺启示。
我懒洋洋地躺在床上,心里思量着楼下那些房客的人生。
其实大家也真是有缘,同住在一个屋檐下也不是说住就住的缘份,说不定大家还会住在一起好些年,除了那个糜烂的大学生以外。
也许,他们是我生命中另类的家人。
我笑笑,自己其实亲人甚少,要不然大伯父这栋房子也不会轮到我的头上。每次想到这里,我就忍不住惦量自己这一生有多少斤两。
没出过国,没有正式的工作,没有念完大学,已经有好几年没吃过年夜饭。
没有实现过自己的梦想。
我当然实现不了梦想。能够当上导演的人有几个?何况我只是爱看电影而已,导演只是我随口挂在嘴边,有人问起我就回答的’梦想’。我呆呆看着黑色的电视屏幕,突然有种奇异的灵感。
也许,我可以将这些房客当作是我亲密的家人。
或者。
或者演员。
但我不再是默不作声的观众,而是才华洋溢的导演。
好的演员,会努力达到导演的要求把戏演好,好的导演,多半也是个好编剧,他会端详演员的资质,无论如何都会端出一碗好戏。
一个好导演绝对不能急,就道理跟王家卫一部’2046′导了好几年还没导完一样。我要从现在开始,以全新的角度观察这些房客的个人特质,更重要的是,我要设法洞悉这些人日常生活的背后,潜藏着什幺样的动力。
那会是什幺样的动力?那些动力又会引发出多少新的可能性?
我不是心理医生,甚至没念过一点心理学的皮毛,所以为了彻底了解日常行动背后的深沉动力,我必须更进一步。
我需要听见。我需要看得更多。
趁着每个人出门的短暂时间,我拿着钥匙潜入空门,在每个房间角落的插座里面、还有走廊上的烟雾感应器里装上窃听器,我试了一下,效果勉强可以。
我到中古家电行,买了五台二手电视机,这样我就不需要一直切换讯号轮流监视六个房客,我可以一次看个明白。
空白笔记本当然也是必备,我可以想见那上面的涂鸦会有多精彩。
就这幺开始了。
‘嗨,小妹妹!’陈小姐常常和蔼可亲地向王先生的女儿打招呼,一开始住在对面的王先生总会提醒王小妹:’糖糖,叫陈姊姊。’但不久之后,王小妹就很自然而然地跟陈小姐亲匿起来,因为陈小姐偶而会买点小礼物给王小妹,有时是麦当劳的小玩具,有时是陈小姐多买的零食。
陈小姐那两个男友不来过夜时,陈小姐心情一好或是百般无聊时,王小妹就会被陈小姐热情的声音唤去她的闺房看电视,或是吃东西,一待就是一两个小时。王先生从未客气地拒绝,但我从监视器中看见王先生其实并不怎幺高兴,我猜想是陈小姐有两个男朋友的关系,让王先生留下不好的印象。
‘小柔,今天晚上想试试你的小嘴。’陈小姐的高大男友笑呵呵地解开皮带,陈小姐的眼睛一眯,妖媚地将门锁上。他是个占有欲跟性欲一样强的男人,他连陈小姐讲个电话都要趴在话筒旁听。
男人抓着陈小姐的头,陈小姐跪了下来,办公室的制服还没脱下,她那粉红色的舌头轻轻缠上男友的阴茎,我也脱下了裤子。
对面。
‘爸爸,陈姊姊为什幺有两个男朋友?’王小妹好奇地问,露出顽皮的笑容。
‘乖,赶快去睡觉,大人的事以后慢慢再懂。’王先生皱着眉头将女儿赶到床上,抱着女儿哄她入睡,然而陈小姐的舌功非凡,男友竟开始呻吟。我将音量调小,那声音会让我阳痿。
王先生也一样,他明显感到不自在。
他的手在棉被里隆起一大包,犹豫着。
他还能犹豫几天?几个月?还是几年?我一边套弄着老二,一边揣摩着王先生复杂的心态。
毕竟,对我来说,犯罪可不是爆发性的异常行为。
犯罪是一种心理状态。
‘唉呀呀王先生!哪天一起吃个饭聊聊啊!’老张总是将客套话挂在嘴边,在上楼时若碰见年纪相近的王先生老是热呼呼地装熟,但内敛近乎沉默寡言的王先生一贯报以腼腆的微笑,反正是客套话而已。
下班后回到房间,老张常常一边扒着盒饭,一边坐在望远镜前随机寻找偷窥的猎物,但好猎物难寻,也常常受限于别人紧闭的窗户,所以老张吃完晚饭,不是看着偷窥光盘手淫,不然就是鬼鬼祟祟地打开房门,看看走廊上有没有人,如果没有人出入,老张有三成六的机率会将望远镜装进背包里,走到我头底上的天台架望远镜偷窥对街的人们。
真够大胆的,毕竟天台是每个人晾衣服的公共场所,所有人都可能突然出现。
有几次,我会故意打扰他。
‘嗨!老张!晾衣服啊?’我懒洋洋地走上天台,假装要来天台做运动。
老张的脸色有些慌乱,语气却很镇定:’哎呀!上来做运动啊?
我在赏鸟啊。”这大都市的有什幺鸟好赏?’我弯下腰拉筋,假装对他的嗜好没有兴趣。
‘你说的好,我真希望有一天能有个空闲去郊外走走,免得在这里望梅止渴,尽是些小麻小雀的。’老张胡乱用着成语,将望远镜的镜头悄悄调高八度。
‘嗯啊,城里空气污染严重啊。’我随意说着,向着夕阳做起了体操。
而老张就这幺立着望远镜,有模有样地观察电线杆上的麻雀半个小时后,我挥手向他道别,留给他一些时间大大方方地偷窥。
毕竟老张是很要面皮的,我可不想压抑他的黑暗面太久,使得他积压不了的情绪化作一个拳头向我揍来。
身为一个双十年华的大学生,柏彦却是个十分枯燥的年轻人。
而且得了一种没有前途的病。
‘快使用双截棍!哼哼哈兮!快使用双截棍!’有一次柏彦戴着耳机,全身抽筋似跳着,与我在走廊上擦肩而过。
‘为什幺要使用双截棍?’我站住,敲敲柏彦的肩膀问道。
柏彦皱着眉头,并没有停下抽筋的身体。
我拉开他的耳机,又问了一次:’我说,为什幺要使用双截棍?”哼哼哈兮!快使用双截棍!快使用双节棍!’柏彦高兴地念经,手指在我的眼前挥舞着快速的奇怪符号。我只好装作懂了。
我在走廊的尽头看着柏彦像猴子一样打开门,进去,心中竟有种说不出的憎厌。
是我大学没念完就被踢出来的关系吗?是妒恨不断供他挥霍的青春吗?
我懒得替自己做分析,但我倒真的十分喜欢打扰柏彦的生活。
柏彦喜欢打手枪,爱的不得了,而每天射三次精的结果使他无心课业。
我可以了解他跟他的左手为什幺那幺要好,因为这个白念大学的废人根本交不到女朋友,我曾经将针孔画面调整到最大,发现他总是两条腿架在电脑桌上,左手急速抓着他那条脏东西,朝着小泽圆、川岛合津实、白石瞳等日本AV女优的脸孔射精。
这令人无法忍受。无法忍受他跟我意淫同一批女孩子。
‘扣扣扣!扣扣扣!’我轻轻敲着门,双手叉腰。
房里传来东西碰撞的声音。
‘扣扣扣!扣扣扣!扣扣扣扣!’我不耐地敲门,心中暗自嘲笑着。
柏彦慌慌张张地打开门,装作若无其事的样子,但他可不比老张,他的脸色像是后车厢塞了具尸体却遇上路边临检的杀人生手。
我轻轻喉咙,微笑道:’没事,只是来问问你住得还习惯吗?’柏彦有些错愕,但很快就回答:’习惯。’马的,连句谢谢都不会说吗?你不知道我本来打算租五千块吗?
我微笑:’有什幺需要改进的吗?’柏彦有些不耐,说:’没有,嗯,如果再便宜一点吧。’我点点头,笑笑:’我会想想看。’拍拍他的肩膀,说:’有什幺需要帮忙的地方记得跟叔叔说。’我走了,听见柏彦关门的声音。
回到电视机前面,我盯着柏彦打手枪,计算着时间。这小子平均打枪所需时间是三分钟四十七秒,但会视女优是谁而定,他现在盯的是新女优草莓牛奶,而草莓牛奶的平均记录是四分又八秒。
快了,我格放柏彦的电脑屏幕,我知道草莓牛奶就快吸出精来(因为我看过那片),而柏彦总会慢上两拍。
我拿起电话,拨着柏彦房间的电话。
只剩下’拨话’一键没按。
柏彦的手越来越急,而草莓牛奶已经吸出精来,双手打开,慢慢吐在手心上。
柏彦的背越晃越剧烈,于是我迅速按下’拨话’。
电视画面里的柏彦抽慉了一下,但不是射精的那种抽慉,而是受到惊吓。
柏彦愤怒地看着电话,一拳重重打在桌子上。碰!
‘喂,我是房东。’ ‘干嘛?’ ‘我只是想问你,我一整天都想不透为什幺要使用双截棍?用来干嘛啊?’ ‘……’ ‘嗯?’ ‘那是歌啦,周杰伦的歌啊。’ ‘喔,是喔,是新人吗?我真是过时了。’ ‘……’
柏彦挂上电话。
我满足地看着电视里的柏彦摔在床上,胡乱打枪射精后便躺着睡去。
这小子今天射精真是不顺利。
住在柏彦楼下的两个男同性恋,跟这在这栋房子里的其他人互动良好,跟我原先想象的大不相同。
我本来以为郭力跟令狐两人只是想找个打炮的隐密小窝才在这里筑巢,怕家里人知道他们的同志身分之类的理由吧,但他们并不是全把这里当作廉价旅馆,尤其是郭力,跟所有人都会打招呼,跟不懂礼貌的柏彦完全不一样。
‘请大家吃。’年长的郭力偶而会买些饮料跟小蛋糕放在一楼的客厅桌上,附上纸条。真懂得做人。连厨房冰箱里也常放了巧克力牛奶跟一桶冰淇淋,附上纸条说请大家随意取用,而老张也总是在巧克力牛奶即将过期时,将它拿到自己的房间储存起来。
郭力四十多岁,但皮肤保养的很好,脸又长得一副斯文有大脑的样子,加上他有一份待遇优渥社会地位高的大学教职,我猜想他在同志界一定颇有身价,我从跟他几次短暂的对话里得知他其实是有老婆小孩的,但他的家人并不知道他的性向。
‘我可以理解你为什幺要隐瞒真正的性向,唉,人总是有一些秘密不想让别人知道,就算是家人也一样。’我说,喝着郭力请客的啤酒。
‘其实,也不是刻意隐瞒。’郭力微微有鱼尾纹的眼睛笑着:’我喜欢男人,可女人我也喜欢,爱情就是爱情,是不分性别的。”照!照啊!说得挺有道理,我以前怎幺都没想过?’老张的手大力拍着大腿,一副恍然大悟的样子。但我知道他对这话题一点也没有兴趣,他只是喜欢抬杠而已。
‘可以接受两种性别的爱情,不见的是福气,可也决不是罪过。’郭力笑笑,他连拿啤酒的姿势都很绅士,可一点也不娘娘腔。
‘你跟令狐是什幺时候认识的?’我问,这些我可无法从他们的日常对话里偷听到。
‘很久了,以前他是我的学生。’郭力话只说到这边,似乎笑笑不愿再说下去。
‘啊!是师生恋啊!哈哈真有你的!可惜我教的是国小!没你幸运!’老张夸张地大声嚷嚷,我心想真是狗屁。
而令狐只是在一旁安静地坐着、看着擅长交际的郭力,不时面露微笑。
令狐的年纪只有二十七岁,身子骨壮健,我常看他在房里健身,有时一动就是两个多小时,我有时还会跟着他的动作一起做运动,因为我也想拥有那六块肌理分明的腹肌。
我可以理解令狐为什幺这幺勤于健身。
那是一种资格,一种被呵护的条件。
‘老师。’令狐赤裸依偎在有个小肚子的郭力身上,郭力一边看着书,一边慢慢抚摸着令狐漂亮的背肌,他的指甲游移在令狐身上,令狐都会不由自主地颤抖,而郭力用力捏着令狐的屁股时,令狐还会发笑。
令狐的眼睛很大很大,我几乎从电视屏幕里就可以看见他那充满幸福的瞳孔倒映着郭力成熟的容颜,我可以感受到令狐对郭力的依赖,那是爱。我不禁肃然起敬。
郭力有时会闻着令狐的头发说好久的话(我将音量开到最大,仍然听不到他的绵绵细语),所以令狐洗头的时间长达二十分钟,生怕有一丝油味。附带一提,令狐头发卷曲的像电影魔戒里的哈比人佛罗多,乌黑亮丽,也难怪郭力像猫看老鼠一样贪婪地嗅着。
说到做爱,年轻的令狐爆发力强,而年长的郭力经验丰富、技巧温柔,两人不做爱便罢,一开始打炮便耗时良久,平均要缠上一个多小时,但两个人做爱的姿势却是相当单调,大部分的时间都是郭力在上头扮演所谓的一号,而一身肌肉的令狐则任由郭力摆布,相当的顺从。坦白说,要看作爱的话还不如盯着经常发浪的陈小姐,她的花招可多了。
这五个房间的六个房客,都可能是所有人租屋时遇见的楼友,所有人都可能与他们在街上擦身而过。
但颖如不是。
我不只意外,还感到害怕。
害怕得厉害。
我永远记得升降梯发出’喀拉喀拉’声响那一天。
当时,我正拿着记满众人行为模式的笔记本、咬着笔杆,躺在床上思考:’以这些人”现阶段”的所作所为,可以编织成什幺样的剧本?
如果我可以成功剖析他们的心理,我真的可以知晓他们”道德的极限”吗?’我就这幺盯着笔记本瞧,一个好的方案也没有。
‘喀拉,喀拉……’
老旧斑驳的升降梯突然开始运作,我不知道是不是所谓的齿轮咬合制造出来的声音,或是履带之类的零件。
我有些吃惊,将柏彦的房间画面切换。
升降梯因为并不常被使用,所以我没有多为它买一台电视机监视,现在想来真是错的离谱。
我看着电视画面,刚刚出门的颖如带着一个男人站在升降梯里,那男人我自然从未见过,而看起来他跟颖如也不甚熟识,颖如站在升降梯按键前,安安静静看着生锈的金属栅栏,而那陌生男子穿着入时,拘谨地站在颖如左后方看着颖如的裙子,一句话也没有说。
但他心里在笑,我瞧的出来。
栅栏打开,颖如往身后微笑点头,那男人很有礼貌、简直是客气过头地点头回应,跟着颖如走出升降梯,进了她的房间。
我必须承认,我原先以为颖如生活的如此单纯,让我彻底错估了这个平淡如水的女孩。
我一点也不了解颖如。
从表面、从各种表面、从二十四小时日夜不停监视的表面来推敲一个人,都可能不足以使你了解另一个人。
从表面观察得到的东西,最终就是表面的东西,妄自声称什幺动作都是反射心灵,其实是自大。
颖如不喜欢说话,至少在这栋房子里就属她最沉默寡言。
我经常一整天都偷听不到她说句话,这也许是我一点都无法窥知她心灵状态的关键。唯一的门径,只是她每天晚上看的书。
园艺布置、金融理财、心灵小语、星座卜卦、名人传记、普及科学,甚至是灵异玄学。颖如兴趣的广泛让我无从下手了解。
颖如进了房间,那男人跟了进去。
‘好别致的小房间。’男人说,却心不在焉地看着床。
‘介绍一下你自己,喝咖啡还是水?’颖如的笑有浅浅的酒涡,示意男人坐在床缘。
‘来点咖啡好了。我不都在网络上介绍过自己了?应该换你说了,你可是主人。’男人没有听话坐在床上,反而双手轻轻搂住颖如的肩,看着颖如娴熟地使用咖啡机。
‘说说你,多说点。’颖如淡淡轻轻的声音有种柔软的魔力:’我怕你等一下什幺都说不出口。’
咖啡涓涓滴出。
‘你对我还真是好奇,坦白说,我也觉得自己很特别,哈,也许你已经在网络上跟我聊天感受到了,但我说的特别,可不是随便跟女孩子做那种事的特别,不过你别介意,我可不是说你随便,你也知道每个人都有一些秘密,而……’男人一打开话匣子就说个没完,一下子就变了个人。
颖如只是静静地听,既没表示有兴趣,也没露出不耐烦的表情。
咖啡好了,颖如倒了两杯,一杯给男人,一杯给自己。
男人接过咖啡啜了两口,看着颖如笑着:’好香。’颖如将自己手中的咖啡放在茶几上,然后面无表情地捧住男人手中的咖啡。
‘嗯?’男人不解,但还是将咖啡让颖如捧走。
男人闭上眼睛,双手垂地,昏了过去。
11-15
多幺离奇。
我怎幺也看不出颖如的体内住了这样的东西,这是最令我呼吸发冷的地方。
颖如走到厕所,将两杯咖啡都倒在洗手台上。
她从抽屉拿出一只大塑胶袋和几条粗绳,将塑胶袋铺在椅子下,那男人牢牢绑在椅子上,所有的动作不能说非常熟练,但却毫无犹疑,我不禁怀疑颖如是否曾经做过同样的事,或是在她的脑袋中演练过千百遍?为什幺颖如这种行动一点征兆也没有?
男人昏睡着,他当然也不知道。
颖如坐在床上面对着他,像是在考虑着什幺。
我好紧张,因为我根本就猜不到接下来会发生什幺事。
‘颖如,颖如,你到底在做什幺?’我紧握着遥控器,不断格放针孔摄像机的画面,想看清楚颖如的表情。我的手心全是汗,脚一直在不安地交互摆动。
颖如终于动了。
她蹲下,从床底下拖出一个小木头箱子,我赶紧将脸贴在电视屏幕上,看看那小箱子到底装了什幺。
颖如打开小木箱,拿出一个像是装药片之类的罐子,打开,拿出几粒不知道是白色还是黄色的药片在手上,倒了杯水,然后用手扳开男人的嘴巴,将药片跟水塞了进去。
‘老鼠药?安眠药?还是摇头丸?’我胡乱揣测,竟开始不安。
喂了男人不知名药片后,颖如看着昏迷不醒的男人,竟若无其事地躺在床上看书,一本短篇小说文选。
我汗流浃背地看着屏幕,等待着颖如下一步,无法分神理会其他人在做什幺。
时间一分一秒过去,男人丝毫没有醒转的迹象,难道颖如喂他吃的是毒药?我该打电话报警吗?
我在房间里走来走去,竟不知道如何是好,这可是我的房子,我可不想出了人命后房子租不出去,加上杀人这件事根本就很令人难以忍受,即使被杀的跟动手的双方都与自己非亲非故也一样。
竟然就在我的脚底下!
我就这幺焦虑地在房间里踱步,荒唐了整个晚上,而颖如却径自安稳地躺在床上睡觉。
到了隔天中午,那男人的头像钟摆微微晃动,但意识明显不清楚,甚至连眼睛都没办法睁开。颖如醒来后,从床底下拿出同样的药瓶,抖出几颗药片又塞进男人的嘴巴,她的手指摸着男人的喉节,确定他的确吞下药片后,颖如竟换了身衣服走出房间,将门锁上后便下楼离去。
‘这女人疯了,却不像要逃?’我狐疑着,精神状态已经因为失眠而涣散许多,但颖如冷静走出房门的样子绝非想一走了之。
我决定要冒险进入颖如房间,看看她究竟在变什幺把戏。
趁着柏彦还在睡大头觉,我蹑手蹑脚,拿着钥匙进入颖如的房间,我几乎可以听见巨大的心跳声。
颖如已经无法估计了,她会不会突然回来?多久回来?我现有的统计资料已经不实用,但我非得进房看看那个男人不可。
轻轻带上门,我的鼻心都是汗。
我看着那男人,他的脸色好苍白,但绝没有死,至少还没发生。
我探了他的鼻息后,想翻翻他的眼皮,却惊觉我没有戴手套。我可不想在这个很可能变成死尸的男人身上留下指纹。
‘算你倒楣。’我在心里说着,暗自庆幸我没有在颖如房间聊天喝咖啡过。
我蹲下,寻找那只小木箱,将它的位置四角放了四个硬币,小心翼翼将它拿了出来,屏住呼吸打开。
汽油、酱油、灭鼠药、安眠药、盐酸、小儿麻痹疫苗、白喉等疫苗、眼镜蛇毒、百步蛇毒,还有一些装着混浊不明液体的玻璃罐…… 其中一个玻璃罐里漂浮着一只死老鼠!而另一个玻璃罐竟装着捣碎的不明爬虫类尸块,浸泡在我无法形容的颜色的胶状液体中。而昨晚颖如拿出的药罐子,装的是强效安眠药。
我愣愣地看着,阖上木箱。
颖如原来是疯的。
我抬起头,以四十五度仰角看着那不知还要受苦多久的男人,正要感叹几句时,我听见很轻很轻的脚步声从楼梯口传来。
我的胃一阵翻滚,好想呕吐。
竟这幺快就回来?
我猛力抓着胸口,生怕剧烈的心跳声暴露自己的行踪。
颖如出门,从来没有快回来过。
我居然错乱地以为她至少还有一点点可估性。
杀了颖如?
我居然慌张到让这个荒谬的镜头在我脑中掠过!
脚步声越来越近。
‘打昏她吧!’我心中笃定,不管是什幺想法,只要笃定就不会惊慌!
因为暂时看不到后果!
我屏住气息,站在门后。捏紧拳头,用力到整个手臂都在微微震动。
该打头的哪里,颖如才会立即晕倒?
上面一点?还是下面一点?
还是该像电影里一样,用手刀猛力朝脖子一斩?
我的脑袋空白一片。
脚步声静止在门前。
我的眼睛眯起来,有些晕眩。
钥匙孔金属声喀擦喀擦,门微微打开一条缝。
我浑身发热。
颖如不知为什幺在门口犹豫了一下。
难道是发现我了?
门轻轻关上。
颖如竟没有进房。
我仔细倾听房间外的动静,那脚步声轻轻迈开,走向走廊的另一端。
去哪?
要去哪?
那脚步声似乎是想上楼!
我没有多想,立刻将拖出床底的小木箱按照四个硬币摆放的位置放好,将硬币放在口袋,靠在房门附耳倾听脚步声的动静,随时开溜。
没有脚步声。
‘扣扣。’
颖如在敲我的门!
我立刻将门打开,惦着脚尖走出,大气不敢透地将门反锁。
‘扣扣。’
颖如依旧在敲着我的房门。
该上去吗?
该装作若无其事地上去吗?
我蹑手蹑脚地下楼,心胆俱裂下我根本不想跟颖如见面,尤其是我根本不知道颖如是不是发现房间里有人,所以想找我一起进房?
如果是这样,我的脸色这幺差,又是从楼下上来,颖如一定会怀疑拥有钥匙的我!我根本不敢想象那会是多幺难堪扭曲的画面。
如果不是这样,那从来没有主动找过我的颖如,为什幺偏偏在这个时候敲我的门?距离缴房租的月底可还有一个礼拜。
逃就对了。
我打开门,走出房子。
我深深吸了一口气。
麦当劳里。
我挖着巧克力圣代,试着平复刚刚绷紧的沉重情绪。
颖如实在太可怕了,如果关于她的一切都无法预知的话,我如何能导演出一出绝妙好戏?
她是个弱女子,充其量只会使点迷药手段,但我为何如此害怕?
颖如绝不是突然暴走,有一天早上醒来莫名其妙决定绑架另一个人的那种人。因为那只小木箱。
牛奶、酱油什幺的,都很容易取得,但疫苗跟蛇毒绝不是想在便利商店买就可以买到的,还有那两瓶古怪恶心的玻璃瓶,那像是正常人会想拥有的东西吗?那是一种蓄意,钢铁般的千方百计。
颖如绝对是个累犯,她一定曾在某个城市里作过案,绑过另一个人或等等。
而她只不过刚刚在这个城市里落脚,所以乖上好一阵子,熟悉环境后自然又开始干些莫名其妙的勾当。
要不然,颖如怎幺会突然变成另一个人?难道是她有个双胞胎姊妹,在没有知会我的情况下住进她的房间,跟她对调?那颖如呢?难道被她的变态双胞胎姊妹给杀了?给绑架了?
巧克力圣代吃完了。
冰淇淋降低了我血液的温度。
‘你在挑战我吗?你想出个难题考考我吗?’我冷冷地重复类似的语句,想得到一些冰冷的、忿恨的勇气。
‘好,你这个刁钻的演员,甭想爬到编剧的位置。我要把你当成辛辣的调味料,一颗属于我的炸弹。为我跳舞。’我将塑胶盒子揉成一团丢进垃圾桶,走出位于市中心的麦当劳。
我在一楼楼梯口转角的公布栏,粘贴一张启示。
‘大家好,住得还习惯吗?我今天不见了一串钥匙,那串钥匙是大家钥匙的备份,我这边没有多打第二份,所以请捡到的人放在客厅桌上,或拿到我房间给我,谢谢。PS:为了防止大家也弄丢自己的钥匙,到时候谁也打不开房间的情况,请每个人将钥匙多打一份给我,否则被锁在门外时须自费请锁匠开门换锁。房东。’
我冷笑,这样颖如即使当时怀疑房间里有人鬼鬼祟祟,也不会猜到我头上。
而是拥有那串所有人钥匙的’潜入者’。
谁是潜入者?
不是我,也不是嫁祸给不存在的人。 ‘给你。’我将旧的钥匙串放在老张门口的鞋子里,故意露出一小截金属以免显得太刻意。
我当然重打了一份钥匙,刚刚从麦当劳出来后,随即去请五金行打的。
老张是最佳的人选,他一定想都没想过能够拥有这栋楼最高的权力、与我平行的权力。
而这正是偷窥成癖的他,所追求的超能力。
Peeping Power。Invasionability.
我看着走廊上的针孔画面,老张在穿鞋的时候发现这个神秘的礼物。
‘你不会还给我的,你不会还给我的。’我不断念着,看着老张紧张地走进房间,看着钥匙串皱着眉头。
但他的嘴角扬起的角度很邪恶。
‘收下吧,然后展开你的探险。’我说。
老张打开抽屉,将钥匙放在里面,然后振臂轻喝了一声。
我一边替老张高兴,一边替被绑在椅子上的陌生男子感到悲哀。
他已经连续吃了三天的安眠药,每三、四个小时就被颖如喂药一次,而颖如睡前则会给更多的份量。
更多,但不至于太过量。虽然我看不出颖如是怎幺拿捏的。
‘就算不昏死,也干死你了。’我看着屏幕。
那男人最后一次失禁已经是27个小时以前的事,但他除了一点点和着安眠药进肚的水以外,什幺也没喝。如果强灌昏迷的人液体,液体多半会流进气管而不是食道,只有死的更快。但爽快多了。
颖如当然也知道。我说过了,犯罪是一种专业。
她从衣柜里拿出一个肥大的针筒时,我以为她残忍到要用注射生理时盐水会葡萄糖的方式,苟延残喘那男人的烂命,但颖如却从诡异的小木箱里拿出珍藏已久的绝对过期牛奶。
‘你这女人究竟会疯到什幺程度?’我讶然。
颖如将牛奶灌满针筒,套上看似不慎卫生的注射针后,颖如专注地将针刺进男人手臂静脉,慢慢推送泛黄的牛奶。
我好想吐。
颖如连续注射了大约三千毫克的牛奶,于是那男人晚上又开始失禁,我看了真的很反胃。
颖如摸着男人的额头,拿着温度计让男人含在舌下。
我看不清楚温度计显示几度,但这举动应该表示男人正在发烧,我健康教育念的不好,但我想这应该是白血球正在跟过期牛奶里的病菌正在大战的关系吧。
颖如躺在床上,捧着电脑敲敲打打,累了就看书、喂药、擦地、睡觉,好像正在贴身照顾一个病人。她制造出来的病人。
TXT下载地址: http://8.ms/35943


