Profilo di Fwolf温暖的耗子窝BlogElenchi Strumenti Guida

Blog


29/06/2006

邻家女孩/The Girl Next Door——抛弃世俗观念

老实说我是带着有色眼睛来看这部片子的,可结果却大出所料,不得不承认,导演在打了一个漂亮的擦边球之后,又把观众引向了一个正确的方向。

片子的前半段俨然一个青春校园喜剧片,年轻、性感、火辣,唯一有所不同的是救美的英雄稍微年轻了一些,不过不要紧,初恋会让人疯狂的,包括让一个乖乖仔打破枷锁。

真正的高潮在后半段,尤其是后1/3,再准确一点说是最后5分钟,我们天才的主角少年和他的"铁三角",为高中生们拍摄了一部异常精彩的性教育片,噢,失望了吧,看惯了av的年轻人们~~

现在的时代已经不再闭塞,即使是在信息略微有些不灵通的中国,大学生们也到了片中少年的境界和环境(高中生们太苦,都在埋头高考,没空考虑别的,考虑也是白考虑),虽然我们的法律禁止18+的东西在世面上流通,我们的道德也对婚前性行为严加防范,可结果怎样呢?一旦年轻人们逃出父母的翅膀,来到相对陌生的环境,他们会把所有以前欠下的都补上的,包括年轻人的"需要"。

我们有警察,有法律,可又怎样,就没有犯罪么?不是吧,反而我们较为常见的倒是警察叔叔和所谓专家们在屡屡告诫人们加强防范意识,锁好门,关好窗,背好包,告诉我们命比钱重要,这是什么?这是因为犯罪率是永远>0的,所以我们除了发现、制止以外,更需要作的是保护好我们自己不受伤害。

冲动的年轻人也是一样,冲动是他们那个年纪的必定产物,所以就肯定会宣泄出来,不是纪律或者道德所能约束的,况且,在两情相悦的情况下,有必要约束么?所以,现今的性教育的主要目的,不是告诉孩子们先结婚,后做爱,而是,如果"忍不住"发生了性行为,记得要带套套,注意卫生,注意方式,在不违法的前提下,快乐幸福的生活。而当孩子们真正成熟之后,这些会成为美好的回忆的,或许不,或许只是被简单遗忘掉了,但如果他们在此时这这些活动中受到伤害,他们的脆弱心灵是无法承受的,伤痕要花费许多年去愈合,这不仅是孩子们的痛苦,也是全社会的痛苦。

告诉孩子们,什么不该作,再告诉他们万一作了,应该怎么保护自己和身边的人,这就够了,我们不是神仙,管不了那么多的。已经是成人了,就不要到孩子们的世界中瞎搅和。


另外片中小导演的帽子上——vivid?不会连porn star都是他们赞助的吧?很少见到她们这样的演出哦。

至于片中的所谓"性感火爆",我想说,这算啥,照我们的电视报纸网站广告差的远了。

Source:http://www.fwolf.com/blog/post/193

27/06/2006

mysql默认禁止非本机访问

由于DBDesigner不好用,mysql的workbench还在beta,看了一眼也只是"初级阶段",又换回了windows下的powerdesigner,好在我有两台电脑。

但是,默认却无法从windows主机连接到ubuntu下的mysql,错误:

Can't connect to MySQL server on '192.168.10.18′ (10061)

原来,mysql的默认配置为了增强安全性,禁止了非本机的访问,在ubuntu中是这样,debian中也是。禁止的方式以前是在my.cnf中有一句

skip-network

现在则变成了:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

就是只监听本机地址。所以,如果要开放局域网内的访问,需要注释掉这一句,或者改成:

bind-address = 0.0.0.0

另外,netstat -ant命令用来查看本机当前监听端口真的不错。

来源:http://www.fwolf.com/blog/post/192

26/06/2006

Apache的Order Allow Deny心得

今天又被这两个参数小小的耍了一把,痛下决心整理一下,免得再被耽误时间。

Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。

所以,最常用的是:
Order Deny,Allow
Allow from All

注意"Deny,Allow"中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定"先检查禁止设定,没有禁止的全部允许",而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。

按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All

如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2

apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的"最后"规则非常重要,下面是两个错误的例子和改正方式:

Order Deny,Allow
Allow from all
Deny from domain.org
错误:想禁止来自domain.org的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。
解决方法:Order Allow,Deny,后面两句不动,即可。

Order Allow,Deny
Allow from ip1
Deny from all
错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(all include ip1),所以所有的访问都被禁止了。
解决方法一:直接去掉第三句。
解决方法二:
Order Deny,Allow
Deny from all
Allow from ip1

来源:http://www.fwolf.com/blog/post/191


25/06/2006

中文排版CSS心得(实例版)

在csdn上看到了meidengyin 中文排版CSS心得这篇很实用的文章,就顺手把其中的css实例化了一下,方便在看说明的时候,也能够看到排版的大体效果,放到这里了,有兴趣的可以翻一翻。格式可能不是特别好,大家意会好了。

另外,由于表达注音的ruby和rt标记是ie only的,所以,严格的说我排版的文档不符合xhtml 1.0 strict标准,因为这两个w3c不认识的标记。

来源: http://www.fwolf.com/blog/post/190

18/06/2006

我的apache日志和php errorlog哪里去了?

由于ubuntu改变了apache的conf文件布局,所以有些配置容易被漏掉。

默认情况下:apache.conf中只定义了apache的error文件:
ErrorLog /var/log/apache2/error.log
注意,没有access.log的指定,而是将其转移到了sites-enabled/000-default文件中:
LogLevel warn
CustomLog /var/log/apache2/access.log combined

可是在我们禁用000-default文件,自己编写配置文件的时候,就很容易忘记access.log文件的定义,因为在其他系统中这一项是默认就有的。

php的errorlog则更奇怪,由于我习惯把php的errorlog放在/var/log目录下,所以很快就发现了这一问题:当我把php的errorlog删除(让系统自动重新生成新的文件)之后,却怎么也都不会自动生成这个文件了,左查右找,却发现原本应该在php的errorlog中的错误信息却跑到了apache的error.log中。原来如果指定的php的errorlog文件不可写(/var/log目录权限要求较高),apache就会把php的errorlog信息写入apache的error.log文件中。新建一个空的php errorlog文件,更改属性为777之后,问题解决。属性更改为755都不行,不知道为什么这么多的操作都要求x权限作什么。

来源: http://www.fwolf.com/blog/post/189
17/06/2006

Windows和Linux下连接Sybase数据库的一点小区别

首先说明一下我的应用环境,免得误会:

服务器:win2000、sybase 11.92(cp936字符集)、apache2、php5。
开发环境:ubuntu linux、apache2、php5,数据库直接连接服务器。

以前使用winxp的时候,在php中连接sybase数据库非常方便,再加上使用adodb类库,就更爽了,唯一的一点麻烦就是由于cp936不是sybase 11.92标准的字符集,是硬从sybase 12里面套过来的,所以在连接数据库,执行connect方法的时候也许会有一个warning警告,不过不影响使用,在connect前面加上@屏蔽掉即可(注意,这也是我在遇到本文所述问题时,花了很大时间都找不到问题的直接原因,罪过啊)。

但是,在系统切换到ubuntu下之后,突然发现一个连接sybase数据库的php程序不能用了,错误信息为:

[17-Jun-2006 01:35:48] PHP Fatal error: Uncaught exception 'ADODB_Exception' with message 'sybase error: [0: ] in EXECUTE("select count(1) as c from icktz where datepart(yy, blrq) = 2006 and blxz like "�°�%"")
' in /media/hdd5/php_includes/adodb/adodb-exceptions.inc.php:76
Stack trace:
#0 /media/hdd5/php_includes/adodb/adodb.inc.php(879): adodb_throw('sybase', 'EXECUTE', 0, '', 'select count(1)…', false, Object(ADODB_sybase))
#1 /media/hdd5/php_includes/adodb/adodb.inc.php(854): ADOConnection->_Execute('select count(1)…', false)
#2 /media/hdd6/websoft/fwolfweb/tools/work_stat/work_stat.php(396): ADOConnection->Execute('select count(1)…')
#3 /media/hdd6/websoft/fwolfweb/tools/work_stat/work_stat.php(659): WorkStat->Rsql('select count(1)…', 'jygl')
#4 /media/hdd6/websoft/fwolfweb/tools/work_stat/work_stat.php(241): WorkStat->StatXysc()
#5 /media/hdd6/websoft/fwolfweb/tools/work_stat/index.php(32): WorkStat->GenerateCache()
#6 {main}
thrown in /media/hdd5/php_includes/adodb/adodb-exceptions.inc.php on line 76

注意其中有一处为乱码"�°�%",于是怀疑是编码的问题。这个程序中涉及到编码和字符集的地方,是由于php源码使用的都是utf8编码,而sybase使用cp936编码,所以执行sql的时候要转换为gbk,执行结果要显示的时候又要转换为utf8编码。但是反复检查、增删编码处理部分,除了错误信息由乱码变为正常汉子之外,没有任何进展。

没办法,重新写一段最简单的数据库连接程序测试一下:

< ?php
require_once('adodb/adodb.inc.php');
$db = &ADONewConnection('sybase');
$db->Connect('server3′, 'sa', '', 'dbname');
$rs = $db->Execute('select 1′);
?>

运行错误如下:

Warning: sybase_connect(): Sybase: Unable to connect in /media/hdd5/php_includes/adodb/drivers/adodb-sybase.inc.php on line 126

这才恍然大悟,原来根本就没有连接上数据库,自然在执行sql的时候出错。要问刚才为什么没有发现,我不是加上@屏蔽了错误信息嘛。继续分析,上面这段代码原来在winxp客户端调试的时候是绝对能够连上服务器的,怎么在linux下就不行呢,又将服务器名更换为ip地址:端口,就成功了。

可能是由于linux下没有netbios(正如linux无法使用"ping 机器名"命令一样),还可能是linux下没有安装sybase open client,设置dsedit,总之,在linux下连接sybase服务器,只能使用"机器名:端口号"作为hostname,无法直接使用主机名。

于是,在程序中增加一部分字段判断主机操作系统,对hostname进行赋值的语句,问题顺利解决:

if ('/' == $_SERVER["SCRIPT_FILENAME"]{0})
$host_srv = '192.168.0.1:5000′;
else
$host_srv = 'server3′;
$server[0]['dbtype'] = 'sybase';
$server[0]['host'] = $host_srv;
……

来源:http://www.fwolf.com/blog/post/188

12/06/2006

Inside man/局内人

这是一部关于银行抢劫的电影,但是抢匪却没有抢走一毛现金;也是一部警察和抢匪的博弈,却没有人受伤,开枪之处不是打的橡皮子弹,就是假戏真做;片中揭露了一名二战暴发户,但也只是透着窗户纸模糊得看见。这是一部很含蓄但又不平静的电影,不会让人犯困的。

片头Owen在小黑屋里讲述的场景,不禁给人一种他已经入狱的错觉,但直到结束前5分钟,他走出这个预先埋伏的小黑屋,观众才恍然大悟,全片的精彩尽显于此。可惜我看之前没有注意到英文名,看得时候光盯着"局内人"琢磨了,瞎猜到底谁置身局外?早知道看看英文名,就不会满腹狐疑了。

来源:http://www.fwolf.com/blog/post/187
11/06/2006

DBDesigner的安装

以前使用Widnows的时候,进行数据库建模都是使用PowerDesigner,这个东西是在是方便,不仅可以进行设计和建模,最大的方便之处在于能够在保留数据的情况下变更数据库结构。现在使用Ubuntu,似乎目前最好的替代工具就是 DBDesigner了,mysql官方也有一个workbench,但是还没有正式发布,我下载了一个beta也没有安装上(没有安装,下载下来就是二进制文件,执行出错,没办法)。

DBDesigner好像使用borland在linux下的kylix开发的,大体安装步骤如下(版本4.0.5.4):

  • 下载DBDesigner4的rpm包,然后转换为deb包。
  • 安装libxft1(apt-get install libxft1)
  • 安装deb包:dpkg -i dbdesigner4_0.5.4-1_i386.deb
  • 下载kylix运行包libborqt,地址:http://rpmfind.net/linux/rpm2html/search.php?query=libborqt ,下载后同样转换为deb包。
  • 安装libborqt包:dpkg -i libborqt_6.9.0-3_i386.deb

现在DBDesigner应该就可以运行了,不过要连接mysql库,还需要解决找不到libsqlmy.so的问题。到 crlab下载一个dbExpress driver for MySQL, Linux version,然后解压缩,并且将其中的libsqlmda.so.3.00文件ln到lib目录下。

ln -s /home/fwolf/tools/DbxMda/libsqlmda.so.3.00 /usr/lib/libsqlmy.so

别着急,还有一个小错误需要改,启动DBDesigner后,打开"Database"->"Connect to Database"菜单,进入选择数据库连接窗口,然后选下面的"New Database Connection"创建一个新的数据库连接(直接使用列表中的无法修改选项,所以要新建),在新建数据库连接窗口的高级选项页,修改GetDriverFunc这一项,预设值应该是getSQLDriverMYSQL,将其改为getSQLDriverMySQL,区别在哪儿?就是mysql的"Y"从大写改成了小写,然后照样填写其他数据库连接信息,确认保存后就可以正常连接数据库了。

DBDesigner需要修改的一个小地方

我是下载DBDesigner的rpm包然后转成deb安装,这样比较省事。强烈建议参考下文: http://wiki.splitbrain.org/dbdesigner

来源:http://www.fwolf.com/blog/post/186

无法娱乐也许是另外一种商业需求

受了幸福大手的蛊惑,忍不住想到 Pogo游戏一番去,但是Ubuntu+Firefox的出身却被残酷得拒之门外:

点击这里(暂不支持Firefox)申请测试帐号,抢鲜享受Pogo™的乐趣!

遗憾之余,突然感觉这也许是另外一种商业需求,当一个老板成天抱怨手下没事就玩网络游戏、聊天泡mm、不务正业的时候,当然会希望员工们只能干活,无法娱乐,然而计算机已经成为当今很多工作的标配工具,加上使用极其方便自由的Windows的普及,打造一台"无法娱乐"的计算机真的很容易么?

记者抓拍庭审现场却曝出惊人一幕!!!

一方面,Linux经过在服务器软件市场的成功,正杀气腾腾的向桌面应用进军,另外一方面,瘦客户端的应用越来越多,浏览器恐怕要占据人们越来越多的时间。这样,只要有熟悉一些的linux管理人员,打造一批"无法娱乐"的计算机岂不容易?且不说linux平台下的娱乐应用本就不多,linux方便的网络管理方式和权限管理机制能够让网管更加方便的"合理限制"用户对计算机的使用,我想,这也许是linux进军桌面应用的一条小路。

当然,上面说的那些在Windows下也都可以直接活间接的实现,只不过,如果只想要一张免费的真皮座椅,你会去买一辆昂贵的宝马么?

现实的例子在我们身边也许已经存在很久了——每当我去银行办理业务的时候,都能隐约看到高高的柜台和厚厚的玻璃后面,营业员对着黑白的字符界面操作着。如果没有猜错的话,那有可能是novell+ucdos,但决不会是windows吧?难以想像银行营业员一边玩着"连连看"一边为我办理存款业务的情形……会不会把我的帐号和哪位富翁的连起来呢??

来源:http://www.fwolf.com/blog/post/185

09/06/2006

Google Browser Sync 同步你的FireFox

众所周知,Firefox是一款优秀的浏览器,而google则是最喜欢奉献免费服务的公司了。现在,如果你想在使用不同的计算机的时候,能够拥有同样的收藏夹,能够记住自己曾经登录过的网站状态,那你就应该试试新鲜出炉的 Google Browser Sync

Google Browser Sync是google在2006年6月7日新推出的一款Firefox扩展(extension),和其他extension一样,安装很方便,在 安装页面同意协议,并且设置firefox允许安装即可。

Google Browser Sync-install

安装完成之后,重新启动firefox,会首先进行Google Browser Sync的安装和设置,最开始是一个警告信息:

Google Browser Sync Signup警告信息

看清楚了,在设置好之后,所有使用这台计算机的人都能够使用到你同步的内容!因为firefox的profile没有密码保护,如果你使用的是公用计算机的话,就不要安装 Google Browser Sync了,即使你不怕自己的隐私泄露,别人随便的修改设置、登录网站也会同步到你的帐号资料当中,这是对双方都有侵害的!

接下来会提示输入google帐号信息:
Google Browser Sync Signup设置帐号和pin
Google Browser Sync Signup设置帐号和pin

服务器验证之后会出现一个要同步的内容选择页面:
Google Browser Sync Signup  选择要同步的内容

可以看到,共有cookie(记录网站登录、设置状态)、Saved Passwords(保存的密码)、Bookmarks(书签,收藏夹)、History(浏览过的网站记录)、Tabs and Windows(当前打开的窗口和tab页)可以进行同步,其中cookie和passwords是必须要进行加密的,其他的可以选择加密。出于谨慎的目的,还是设置全部加密好了。继续,下一步是设置pin:

Google Browser Sync Signup 设置pin

这里设置的pin是用于加密同步数据的,但是注意pin在以后是可以查看到的,并且如果要更改的话,只能删除掉google accounts信息中的Google Browser Sync数据,重新开始同步,比较麻烦,所以一定要选择一个相对安全、并且和重要密码不一样的pin。

pin设置好以后,就开始连接服务器等若干事务了,这个时间稍微长一些,但只需一次即可,下次使用就快了。如果本机的firefox保存的密码设置了加密保护,那么还要输入这个加密密码,毕竟google也不知道你本机保护密码的口令嘛,这个操作同样只需一次即可。这些都完成之后,会显示一个完成页面,点击finish,就正式启动了firefox正常工作,并且右上角出现了 Google Browser Sync的内容:

Google Browser Sync 运行图标

点开之后还可以进行设置:

Google Browser Sync Settings

设置界面中显示了当前在使用哪个google帐号同步,pin是多少(可以显示出来,不可修改),Full Refresh是强制全部和服务端进行同步,有可能耗时较长,不着急的话还是让它在后台慢慢同步吧。

可以感觉到,Google Browser Sync既满足了在不同的机器之间同步书签、密码、等信息的需求,又充分考虑到了个人隐私的保护,还是非常值得使用的。当然google不是神,并不能同步所有firefox的设置,比如菜单布局、插件设置等,因此本机的firefox最好还是通过firefox –profilemanager设置一个profile,把个人设置单独保存的好,多一份总比少一份强。

来源:http://www.fwolf.com/blog/post/184

08/06/2006

重装系统与重装服务

近日一台用于测试的服务器坏了,上面有apache、iis、tomcat、sybase等服务,损坏原因是system和system.alt两个文件全部损坏,而我又没有什么救援盘拯救盘之类的,无奈只能将winnt\repair下面的system文件覆盖了过来,这个文件是windows2000刚刚安装完毕的时候建立的,所以很多安装的软件、服务就没有了,需要重新安装。

apache服务的安装:apache.exe -k install
iis基本上自带的,想不装都不行,并且以前安装过的.net framework也能够继续使用
tomcat有一个service.bat文件用来创建服务

最麻烦的就是sybase了,sybase的菜单还在,使用"配置服务器"也能看到服务器名,但是系统的服务列表中却没有这一项,好在sybase的大部分所需文件还是都在sybase目录之下,所以你有两种方法可选:一种是从别的机器上把sybase服务的注册表项导出来,手工修改后导入,反正文件都还在,不会影响使用的;另一种是备份master和sysproc的两个设备文件,然后删除服务器、再新建服务器,最后把master和sysproc设备文件再覆盖回去,应该也是可以的。

引申联想一下,这些伟大的软件给我们提供了多么方便的方式啊,相当于是在系统重新安装之后,只需要操作几个命令就可以装上服务,以前的配置文件、数据文件照常使用。其中表现较差的就是sybase了,没有方便的服务管理工具,我想,对系统的依赖性应该也纳入软件评测的标准,我们需要"绿色"的服务器软件。

当然,我们最希望的是服务器不出问题,硬盘的问题可以用raid来解决,硬件的问题可以更换,所以,最可怕的就是系统由于软件的原因无法引导、甚至数据损坏。在这方面,linux和windows面临着同样的敌人,但不知道nix系列的松散配置文件方式是否更加健壮一些。至少对于windows,在系统正常运行的时候,记得用"开始—程序—附件—系统工具—备份"创建一张紧急恢复磁盘,哪怕不实际的写入软件,把重要文件备份到winnt\repair\RegBack下来一份也是好的,毕竟windows对这些配置文件的依赖性太强了。

来源: http://www.fwolf.com/blog/post/183
07/06/2006

滑稽时代

第一眼看到的时候,我眼睛一亮——这不是桌别林么?再定睛一看,原来是港版桌别林,并且是吴宇森导演!这部1981年的电影,整个就是桌别林的中国版!剧情类似桌别林给盲女治病的那部(不知道叫什么名字,说实话桌别林的电影完整看过得不多),也是个一穷二白的"绅士",作了一件有意义的事——和拐卖妇女儿童的人贩子进行斗争并取得胜利。

片中的主角Hoi San Lee不认识,看着和吴镇宇有些像,但肯定不是,也可能是哪个熟面孔,只是由于化妆的原因认不出来了,午马和麦嘉倒是熟悉,还有那个小孩子现在也应该有30岁了吧,但同样认不出来是谁,看着胖乎乎的样子,和洪金宝有些像哦,是不是洪金宝的儿子?还有就是黄百鸣在这个时候就已经涉足电影产业了——不单是演员,而是导演或者制片什么的,并且之后黄百鸣出品的不少片子还是十分耐看的。

剧情就不罗嗦了,大体是用7、80年代香港电影的幽默手法,讲述桌别林的故事,可以看到,那个时候的香港还不如我们现在的农村呢。片名大概也是借鉴了《青铜时代》吧。一句话,不看这部电影是你的损失。

题外话:不知为什么,平日不齿百度抄袭google的现象,但看这部貌似仿桌别林的《滑稽时代》却倍感亲切,一点儿厌恶都没有。

来源:http://www.fwolf.com/blog/post/182

Van Wilder/凸种高材生

看似一部荒诞的喜剧片,骨子里却是宣扬自由精神的电影。Van在大学里待了7年不毕业,老师们都讨厌他,父亲也不再愿意为他支付学费,女朋友也没有一个(虽然这一点没有太明显的表达,但是事实,不然就本片中的女主角就成了第三者了),不过也并不是一事无成,凭借自己的热心,得到了广大同学们的喜爱。

天堂里的生活总是那么短暂,突然间,被断绝了经济来源,因此Van不得不靠被别人策划聚会筹集学费,同时因为魅力太强吸引了学生会主席的女友,被陷害,从而要为毕业而努力了。

中文名翻译的比较烂,但是这部电影还是不要带着色迷迷的眼神看了,他其实是通过Van的生活告诉我们,生活的方式是我们自己选择的,跟随自己的心,作想作的事吧。学业修成就差不多25了,50岁以后想玩也玩不动了,所以要好好珍惜中间这25年。

像影片中Van那样的人才(没错,的确是人才),我相信他毕业之后也不愁生计的,至少可以筹资搞一家策划公司嘛,他是这方面的天才。反观我们的大学生,"综合素质"似乎要差很多了,不过翘课和游戏的技术都是一流的。

其实在片尾我还有一个疑问,神通广大性格外相热情奔放的Van怎么在7年之中就没有一个女友呢?难道是熬得时间太久女友都毕业了么?

来源:http://www.fwolf.com/blog/post/181