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

Blog


24/07/2006

防水原来如此简单

第一眼看到Engadget上这个可 以保护手机不受油渍、指纹和细菌污染的产品的时候,我马上就想到了——防水!

的确,最近在看很多新的数码设备的时候,能看到有 防水相机 防水手表 防水电视 防水耳机 防水mp3,甚至还有 防水+戴在手腕上的相机,其实,在能够满足使用需要的情况下,只需要有一个套子把这些东西套上就能够防水啦,没错,和我们在下雨天在自行车座上套个塑料袋的方法是一样的,看来安全套又有了新的用途 :)

除了使用上略有不便之外,用TT来作防水套真的很合适啊,你想想,又便宜、又实惠,使用优质乳胶制作,结实耐用弹性好,到处的有的买,甚至有的地方还有免费的派送,喜欢多彩的朋友还可以选择彩色的。。。。。。

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

谁能送我一张ubuntu 64位dvd光盘?

已经有过两次申请ubuntu光盘的经历了,第一次大概是半年到一年之前,第二次是2个月之前吧,但很遗憾,始终没有收到我的包裹,难道真是我的rpwt?

我想今天石家庄的邮递员应该不会还不知道如何递送英文地址包裹,至少他们认识拼音吧,更让我莫名的是,上半年我还丢失过ems快递信件!对方说已经寄出来了,但我到现在还没有收到。即使是同事们帮忙稍到办公室了,到今天也应该给我了吧?

废话不说了,很快我就要换新的办公电脑了,配置应该是inter双核64位cpu,dvd光驱,所以身在石家庄的朋友如果有多余的64位dvd ubuntu光盘的话,能否送我一张?河北省其他城市也不要紧,还有大概半个月的时间,也许我有机会借出差登门去取。

blog上有我的email,先谢谢好心人啦~

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

23/07/2006

用js丰富你的书签功能

美味书签 furlcocomment等服务,都具备利用书签按钮"一键提交"的功能,其实一点儿也不复杂,只要你掌握了在收藏夹中使用js的方法,就可以为你的书签工具栏增色不少。

本文主要测试于firefox浏览器下,ie浏览器应该同理可用。

首先要发挥js在书签中的最大作用,你要知道如何让你的firefox工具栏显示出来,并且在书签项目上点击右键可以修改他们的内容。

在下面的例子中,所有的代码都需要填写在书签项目的Location栏中,并且为了浏览方便,部分内容我进行了分行,而在填到书签项目中的时候一定要合并成一行才行。

先来一个最简单的例子,只包含一个js函数:

javascript:alert(document.lastModified);

点击这个书签项目,将会弹出一个提示框,显示当前网页的生成时间。

如果要修改页面上的内容,然后提交,javascript就要复杂一些了:

javascript:
(
  function()
    {
      document.Form1.id.value='001′;
      document.Form1.name.value='fwolf';
      document.Form1.Submit();
    }
)
();

基本原理是:function()是定义了一个函数,它外面加了一对儿()是对这个"无名"函数的引用,后面那对()是引用函数时的参数(没有参数)。上面的代码执行效果就是向网页中指定表单填写内容,然后自动提交。

如果要修改网页上的内容,但是不作提交等动作,仍然显示当前网页,上面那个例子中的方法就不管用了,需要再作一些调整:

javascript:
void(
  (
    function()
    {
      p=document.getElementById('LOGPASS');
      p.readOnly=0;
    }
  )
  ()
);

就是把上面那个例子中的内容用void()再包含了一遍,也就是整体作为一个不返回内容的函数体来执行了,如果不这样,直接使用上面那个例子的方式来作这些的话,网页内容会显示function()的返回值。如果把void直接加到function上或者他外层的()上道理上应该也可行,但我没有测试。

怎么样,想到什么好的鬼点子没有?上面的最后一个例子就是我在使用建设银行个人网银的时候鼓捣出来的,他的登录页面默认是不让手工输入密码的,而是通过一个js的软键盘,而软键盘的js代码在ff下无法正确执行。现在通过这种方式,我能够成功在ff中登录建行个人网银了,只可惜他内部的功能页面对js依赖很强,并且同样在ff下无法正确执行,所以最终还是要在ie下才能够正常使用。但相比之下,比其他的个人网银要借助activex才能输入密码的方式兼容性已经好很多了。

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

把小图片都集中到一张大图片中?思路新颖,但效果一般

94smart yahoo的新版网站中,有一个不错的设计,就是把很多小的图标、背景图片都存储到一张大图片中,然后用css控制显示范围来达到"使用"但张小图片的效果。乍一看很不错,但仔细分析后我觉得不见得非常实用,并且看yahoo其他的页面,也并没有广泛应用这种方式,更多的还是切割之后的小图片,集中到大图片的设计也许只是开发测试阶段的权宜之计?

实现方式大体如此(以

其中icons_1.1.gif就是一张包含有众多小图片的大图片,其中甚至还留有充分的空余,可能是为了存放修改后的小图标预留的。

然后定义slideshow class背景的位置,当然是指定大图片中小图标的坐标了:

这样,结合以slideshow为class的object外部盒子模型,在定义了背景及其偏移位置之后,我们就"恰好"只能看见背景图中露出一个完整的小图标。

大体想了一下,这样作的优点有:

但是也存在一些缺点:

所以综合考虑下来,由于只能使用css遮盖的方式实现显示目的,不能像map那样直接指定坐标范围,所以虽然是借鉴单机软件编程中的一个小技巧,思路比较新颖,但实际效果一般,个人认为不建议在实际开发中使用。

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

16/07/2006

Electric Shadows / 梦影童年 / 电影往事 —— 看电影,忆生活

有的人说这部电影拍得不好,俗套,有的人说演员演的不好,他不喜欢,但我不是专业人士,看不懂他们说的那些点,我只是通过看这部电影讲述的故事,看到了我的童年,我的父母,我的姐姐。

故事开始于70年代,文革末期,西北一个产煤的小镇。一位美丽的小镇播音员,却不合时宜的爱上了不该爱的电影,爱上了不该爱的明星(周旋),爱上了不该爱的男人,并且同时拥有了爱情的结晶和苦果。即使是在30年后的今天,有了这样一个孩子的女人,日子也会比较艰难,更何况当年。应该说,能把孩子生下来,她已经是万分侥幸了。在那个疯狂而又真实的年代,一切都变形了,不变形的人和事是那么极端的被排斥,好在,只持续了十年,而在影片中更短。

我的父母也都是普通的工人,我的母亲没有影片中的妈妈那么漂亮,但也是一个美丽的母亲,同样有着好强的性格。我的父亲比影片中那个未露脸的父亲要好,和那位放电影的父亲是那么的类似,甚至连后来的职业道路也是那么的相似——随着时代的发展,自己的手艺逐渐被时代淘汰,英雄末路啊,甚至连老年对小狗的喜爱,也是那么的相似。看到影片中艰辛的父母,就仿佛看到了自己小时候眼中的父母,小的时候,他们是那么的伟大,但随着时代的发展,却仍旧只能停留在旧时代,一代人的悲剧。

毛小兵的出现让故事离我的童年更近了,虽然我不如他淘气,但那活脱就是童年的我,我们喜欢看打仗的电影,喜欢舞刀弄枪,喜欢爬楼顶,喜欢望远镜。我们淘气但却不坏,不会像别的孩子那样仗势欺人,我们喜欢交朋友,对朋友毫不吝啬。男孩女孩的故事电影里面多了去了,但像毛小兵和玲玲那样纯洁得像天池的水那样的友谊,在这个故事中却是那样的真切。但同样真实的还有毛小兵的父母,他们不仅没有直接反对他和玲玲交往,粗暴的家教反而还给了他和玲玲的交往机会。我想,那位父亲也许是煤矿上不得意的工人,或者是退伍士兵?(那时候国家打过仗)要不怎么脾气这么坏,毛小兵其实挺幸运的,在那样的家庭中成长成为后来夏雨那样虽然不荣华但还算善良的小伙子,实属少见。故事中毛小兵被迫搬家到安徽的情节,是那么的无奈,也许,如果毛小兵没有搬走,就不会出现后来兵兵的惨剧。但是在搬家这件事情上,毛小兵和玲玲这两个孩子毫无选择,只有默默的承受。

我们小的时候,不像现在的孩子,不管到哪里玩都有大人陪着,有一点危险的地方就不让去,我们是想怎么玩就怎么玩,想去哪儿就去哪儿,父母都在拼命建设社会主义新中国,上班时间是没空照顾我们的。我们小时候更幸福的是,只要一个小小的书包就够了,里面就几样东西:文具盒、语文课本、数学课本、作业本,有个小黄军用书包足矣。老师布置作业也没有现在那么多,所以我们童年的回忆中才能有那么多好玩的事情,而不是满脑子的学习上课和做作业。

玲玲有了弟弟以后,她的小世界其实没有什么大的变化,但在她的意识中却变化很大,她没有直接说,但却一直害怕父母只喜欢弟弟不喜欢自己,害怕"后"爸对自己不好。所幸,故事中的后爸不仅对妈妈很好,对不是自己亲生,却是自己看着长大的女儿也是一样的疼爱。可是还是小孩子的玲玲却依旧沿着自己的思路前进,甚至在不如意的时候想"除掉"弟弟。在这个时候,不知道大家能否感受到父母教育方式对自己童年的影响,还能否回忆起父母出门自己被锁在家中的感觉?那仿佛是一种难以形容、莫名的悲伤,再坚强的孩子也会忍不住哭出来,在我的回忆中,那好像是第一次失去自由的感觉了。70年代的孩子长到80年代末期,到了十几岁的时候,社会上最热门的词汇恐怕就是"代沟"了,"代沟"其实是一种由于成长环境不同造成的相互不理解,虽然母亲是好母亲,父亲是好父亲,但还是会误会女儿"害死"了儿子,殊不知,自己女儿的伤心程度不亚于自己,作父母的失去的是儿子,而玲玲却是又一次的失去自己的小伙伴"毛小兵"。

小时候看露天电影的记忆,已经比较模糊了,更清楚一点的记忆大概就是大名鼎鼎的"第一滴血"了,可惜我小时候眼睛就近视,看这部电影的时候还不知道,也就没有配眼睛,所以晚了很多年才认识史泰龙的那张脸,也同样由于这个原因,我只记得电影中rambo在山洞被蛇和老鼠赶出来和最后用"手雷"炸加油站的情节,并且在很多年之后才搞清楚,那个亮晶晶的"手雷"原来是个打火机。有点跑题了,看完电影回家的时候,我走在爸爸妈妈的中间,那是一个大雪后的夜晚,我们一家三口从电影院步行回家,马路上有着厚厚的冰棱,调皮的我一只手牵着妈妈,一只手牵着爸爸,一偷懒就不走了,让爸爸妈妈拽这自己在冰棱上滑行,自己仰头看着路边法国梧桐的树枝,亮晶晶的树枝,那是下雪滑雪反复导致的树枝结冰。马路上好像就是我们一家人,是那么的安静祥和,如果我能够回到童年的话,我要把这条路从北京修到深圳,然后和父母一起走上一辈子。遗憾的是,前几年我回老家,又用双脚丈量了一下这段路程,也就是20分钟吧,路边的法国梧桐由于道路拓宽早在我中学的时候就没有了,电影院那时还在(现在要拆了盖住宅了),自己家以前的房子、胡同都还在,但早已不是从前的样子,以至于我认不出哪间屋子是我以前住过的,本想从后窗户辨认一下,谁知后面那边多少年前电器长的空地,也早已卖给了房地产开发商。

回到影片,在两次失去毛小兵之后,玲玲也得到了惩罚,愤怒的父亲失手把自己的耳朵打聋,她就停留在了只有回忆的无声岁月。这个故事虽然被电影夸大了,但是内心的孤独是我们回忆的一部分。一位很好的姐姐,刚刚重新认识了弟弟就失去了他,对于一个孩子来说,要承受的太多了。我很幸福,也有一个好姐姐,准确的说是表姐,小时候我偷吃过她的香蕉,那灰泼过她,告过她的冤状,但同样是我的这位姐姐,在我被别人打破了头的时候,用自己心爱的纱巾捂住我的脑袋,拥着把我送回家。姐姐就是姐姐,弟弟再调皮,也是自己的弟弟,也知道保护和照顾自己的弟弟。可是这些话我说不出口,即使是如今,我们都已经长大了,我的姐姐也早有了自己的孩子,我还是说不出口,但是,我心里知道,这就是值得我爱的爱我的亲姐姐啊。

电影中的故事终于有了一个完美的结局,我的回忆也该回到自己的位置上了,70年代出生的同龄人啊,好好收藏这不电影吧,这也是对自己回忆的收藏,等我们老了,再来感受一遍电影中父母的辛酸。但据说这部电影票房不好,我觉得没办法,70年代以前的人对电影已经不感兴趣了,70年代以后的人体会不到电影的内涵,而我们呢,都在卖命的谋生活,哪有功夫看电影?

最不满意的一点,就是片中人人口中的北京片子,不管大人小孩,都不会说西北话,满口的北京方言,听着着难受,还不如画面和画外音好听呢。这难道就是"标准"的国产或者说京产影片?坏习惯要改一改喽。

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

Remember the Titans / 光辉岁月 / 热血强人 / 冲锋陷阵 —— 完美的不仅仅是比赛

又是一个真人真事改编的电影,老美怎么就有这么多故事改编啊,我们没有么?难道我们就只能通过大辫子戏来折射对当代社会的讽刺而不是指着鼻子骂么?

电影讲述的是,70年代,美国刚刚开始废除种族歧视,高中的球队从单一的白人变成了黑人和白人混合,黑人主教练和白人助理教练携手共进,让这只史无前例的混合人种球队获得了州冠军、全美亚军,十三场连胜。多么不容易啊,不容易的不仅仅是比赛,更在于让黑人和白人成为朋友。

相对于比赛激烈的后半部分,我更喜欢看前半部分教练教会大男孩们交朋友的过程,的确,虽然在训练营中,黑人和白人小伙由于起居、训练都在一起,加上本身种族歧视的观念就不深,所以自然就很好的融合在了一起,但是从训练营比赛归来之后,面对学校、社会、家庭中的种种种族歧视势力,他们素手无策,只能选择沉默。但是只要是在赛场,他们就是亲兄弟,就是攥成一个铁拳的十指,所以他们才能无往不胜,甚至在没有教练在场的情况下,也知道拧成一股绳。球队的成绩压制住了种族歧视的观念,事情进入良性循环,环境才一步步好转。

能够把球队带好好不难,难的是把一只成绩不好的球队训练成为冠军。我们现在对环境的大肆破坏,难道就是为了培养将来的环境治理"大跃进"创造环境?

很佩服片中的白人警察(好像那个时候的警察暂时还都是白人呢,至少片中是这样的),不排除他们之中有有种族歧视的人,但是他们在执行公务(保护黑人不受种族歧视分子伤害)的时候,却表现的非常出色,值得钦佩。更佩服将禁止种族歧视写入法律的人,他们才是真正的幕后英雄,林肯总统也没有白白牺牲~

片中的有些裁判倒是很不争气哦,呵呵。

题外话:怎么美式足球球员发球的时候,姿势那么像大猩猩呢?

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

Microsoft收购Zend?吓死我了~

突然在google reader中看到这样的一篇文章,可是点击过去,已经被删除了,出于对此时的急切关心,自己 google了一下,终于找到了正文,消息在网上传播的很快,很多网站上都有类似文章:

微软1.13亿美刀买了Zend作二奶
微软(1.13亿美刀)收购了PHP的开发商,Zend,可能将PHP更名为MSSE (Microsoft Scripting Engine)

看来好像是已成定局的事情了,唉,不知道该说什么好,难道从现在开始就要准备送别php了么?那么以后要选择什么开发语言才是呢?asp.net极度讨厌,java架构太大不适合我,r&r?还未成熟,python?似乎是一个合适的选择, 传言google内部用的比较多,本身也是一门古老而又有活力的语言,但是已经开发出来的应用怎么办?是现在就开始移植还是等到php逐步舍弃nix平台而被动移植?

正发愁呢,偶尔又搜索到了 对岸同胞对这件事情的关注,原来只是愚人节的把戏而已,谢天谢地,不过这"新闻"也慢得太离谱了吧,现在都已经是7月了啊。

其实对于这种收购,多半是两种目的或者说是结果,一种是被发扬光大比如ibm收购lotus,另外一种是采用收购的手段抑制竞争对手的发展,而伟大的微软公司开创了第三条道路,他们把产品收购过来,功能改进有限不说,却还敢化妆得花里胡哨得摆上架卖钱,不信?看看access和powerpoint、excel吧,这么多年来有什么大改进么?真是不如word,毕竟是ms的嫡系啊。

换句话说,如果ms真的收购了zend,那么不敢说就是php的末日,却也离死不远了,这毕竟不像adobe收购micromedia,不像oracle收购mysql,他们都是互补性的,利用收购完善产品线,而微软自己有asp和.net,要收购php是何居心呢?大概是要推行自己的.net,最碍眼的就是java和php了,而java的后台比较硬,只有拿软的zend来开刀了。要我说,zend卖给oracle也许是个好事,因为人家现在是mysql的娘家了嘛。

最后贴出这条"耸人听闻"的消息的来源:
Microsoft Purchases Zend for $113 Million
Microsoft Purchases Zend for $113 Million

注意第一个链接没有发表时间(非常不好的习惯),而第二个链接有,并且从它的地址也能看出是2006年4月的,并且注意其中的"Yeah there is April Fool in the PHP community too :-) ",这下我们可以放心的笑了吧。:)

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

11/07/2006

不要被.Net的假提交蒙骗了

目标

过程比较曲折,还是从头说起吧,事情的起因是这样的:现在不是主要在Ubuntu下工作么,但是单位的办公系统却只能使用ie,原因是因为要使用一个activex控件来读取一个加密锁,然后才能利用加密锁内的数据登录进入系统。而在测试系统中,我可以使用用户名+密码的方式进入系统,之后基本上所有的页面在firefox下操作也都正常。综上所述,只要能够跳过"登录"这一关,我就不用再启动笨重的vmware去运行ie使用这套办公软件了,直接利用firefox就可以了。ok,现在我的目标已经确定,下面是主要的解决思路。

解决思路

在firefox下使用过del.icio.us、furl等服务的应该都知道,他们都可以在firefox的书签工具栏上生成一个按钮,而只要点击这个按钮,就可以把当前页面存入美味书签或者记入furl收藏,甚至可以读取到当前页面上的部分内容。其实,这些书签工具栏上的按钮和普通的书签没有本质区别,只是别人以http://开头,他们以javascript:开头罢了。看看这个小例子:拖动下面这个链接到书签工具栏,然后点击执行一下,看看会发生什么?其实把网址直接拖动到书签工具栏或者Bookmarks菜单下也是一样能够保存的,因为他们本来就是一类东西。

拖动我到书签工具栏,然后点击执行一下,看看会发生什么?

(在书签工具栏的按钮上面点击鼠标右键,然后选"Delete"就可以删除了。)

同理,activex只是读取加密锁的工具,最终还是要把读出的数据通过表单post到服务器上进行验证,所以,只要我们能够"跳过"activex读取这一步,直接把加密锁中的数据post到服务器上,就能够形成一样的效果。

获得加密锁数据

很简单,问开发人员要就是了,还有一种做法就是仔细研究客户端的脚本然后改写为本地模式然后自己读,当然对于有些带有加密性质的activex控件是无效的。幸好开发人员很乐意提供我加密锁的数据,因为除了锁上的显式数据以外,另外还有一个校验码,同时存放在加密锁和服务器上,就像"虎符"一样,碰对了才有效,所以在小范围内实施我这种行为基本上不会带来什么安全问题。

"伪"读取并提交数据

也不复杂,前提是观众要对上面那个书签工具栏上的按钮的例子有比较清楚的理解,这里我就直接贴代码好了:

javascript:(function(){document.Form1.username='coolboy'; document.Form1.password='ooxx'; document.Form1.submit();})();

我当然不会贴出真实的数据啦,上面的例子就是模仿一个登录表单,通过js向表单中写入数据,最后直接调用表单的submit方法。由于是这些内容是要填在书签的"地址"一栏中的,所以是一长行的形式。

实战!

像上面那个例子一样,在js中对表单对象赋值,然后调用表单的submit方法,然后运行。。。。咦?怎么没有效果?页面好像只是刷新了一下,然后就没有变化了,既不是已经成功登录的样子,也不是登录数据错误的样子,好像、好像就仅仅是刷新了一下!

费劲周折,终于了解到了真实原因,原来是被.net的小把戏给耍了:

.net为开发人员提供了很多方便的工具,其中包括在"服务端"运行的web form控件,在开发的时候他们和普通的html控件没有大的区别,但是却能够很方便的让开发人员对其属性和方法进行设定。然后在实际运行生成html页面的时候,.net引擎会将他们转化为标准的html表单代码,并且利用 __VIEWSTATE保存状态数据。

而我们刚刚看到的"刷新"是什么呢?原来是这样:首先我们通过js进行赋值的操作是没有问题的,值被正确设定,然后调用表单的submit方法也没有错,数据也正确的提交到服务端了,但是,当服务器端接受到post的数据之后,并没有按照正常的post方法来进行处理,而是另外一套方法。为什么会这样呢?因为我们在客户端收到的html代码中看到的form,input等控件,都是带有runat="server"属性的,也就是设定了要在服务器端执行。我们当然看不到实际的runat="server",因为在生成页面时就已经转换成了标准的html代码。而当服务器端接受到有关runat="server"控件的操作的时候,却不会按照正常的get、post来操作,而是使用在服务器端代码中设定好了的方法来执行操作。本例中,由于使用js手工提交的数据并没有和服务器端设定的方法"吻合"在一起,导致服务器端没有进行任何操作,又原原本本的把页面送了回来,所以,我们看到页面"刷新"了一下。我们以为表单被提交了,就会被服务端正常的处理,却没有想到.net引擎偷懒什么也没干,蒙蔽了我们的双眼。

现在,我终于明白,为什么在有些.net开发的应用中,输入完数据直接敲回车是不会提交的,必须用鼠标点击"提交"按钮才行,看来.net的威力在不成熟的开发者手工也不过如此。

关于上述的.net实现机制,可以参考:
asp.net用户控件中的Button,在直接回车的时候不提交表单,如何办?
关于前台调用后台事件__doPostBack函数
(论坛答疑点滴)__doPostBack()无效?

排除问题,胜利!

虽然道理是绕了一个圈子,但是解决方法却是无比的简单:

javascript:(function(){document.Form1.username='coolboy'; document.Form1.password='ooxx'; document.Form1.Button_Submit.click();})();

没错,就是由原来的调用表单的submit方法(以前常用),变成了直接调用submit按钮的click方法,问题顺利解决!但是究其深层次的道理,还是要看看上面几篇参考中关于doPostBack函数的解释,应该能够明白一些。

废话

我们这些喜欢使用linux系统的人,在广大使用windows系统的同志们心中,总是那么的"特别",其实他们不知道,在很多技术细节上,真正"特别"的却多是windows产品。比尔大叔的风格,就是把原本就有标准解决方法的东西,增加一些华丽的"方便"功能,然后用只有微软才能够解释清楚的方式,包装成为"方便"开发人员的"工具",在赚进大把的钞票的同时,还让广大开发人员对微软产品产生了无比的依赖性。我想这也许是微软始终无法真正创造底层技术标准的原因吧。就像黑客帝国一样,只要你身在matrix当中,不管你作什么,都只是matrix的一个"子程序",只有跳出矩阵,才能看清楚这个世界。

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

10/07/2006

Zooomr免费的pro帐号?

好心的cybersome一大早就向我们报告了 Zoomer向Bloggers赠送Pro Accounts的消息,方法很简单,注册、上传图片,然后写一篇blog链接到图片文件,最后再把blog文章的地址贴到 这里基本上就可以了(也就是我正在作的)。

Zooomr使用 myopenid进行登录,不用抢注帐号了。道非pro的帐号每月上传限制50M,pro是每月2g,天天传也用不完的。

唯一感到有些遗憾的是,暂不支持邮件上传,不过看帮助应该会添加这项功能的:

How do I upload my photos?

You can upload photos through the web-interface provided here. More uploading tools may arrive in the future, stay tuned.
What file types does Zooomr accept?

Zooomr Accepts .jpg, .png, .pdf, small .psd's, and small .tiff's. However, the email upload only accepts .png and .jpg.

还是先看我传的这张图片吧,是一幅三维立体画,以前流行的时候保存下来的,仔细看看内容是什么?虽然情人节已经过去了,或许明年用得着~

love loveHosted on Zooomr

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

09/07/2006

电脑比我怕热

似乎是混浊的空气环境所致,石家庄现在几乎是中国最热的北方城市了,"热"指的是天气,非经济、非文化。

然而在这么炎热的夏天,我却不合时宜得偶感风寒,由于吹风扇和开空调,导致昨晚体温从平常的36.5度上升到37.7度,常人正常的体温对我来说已经是低烧了。残忍的把老婆赶到客厅吹风扇,自己闷了一晚上的汗以后,今天感觉好多了,但是再也不敢碰风扇和空调。

感冒也不能阻碍我上网的进程,笔记本电脑也和我一样在高温中持续工作着,摸着徐徐发热的笔记本键盘,感受着偶尔会从出风口吹出的一股热气,不禁感叹,原来笔记本这个东西,只怕热不怕冷,怪不得 大家都敢把笔记本什么的带到南极去"测试",却没听说在南沙能把胶鞋底都烫化的军舰上上网的,这东西光靠自己发热就相当于烤火了。

我比笔记本更优秀的另外一个原因,是我在热天可以喝水、出汗,而笔记本只有拼命喘气的份儿 :-)

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

08/07/2006

[Ubuntu]使用点滴

利用hdparm提速硬盘

hdparm -X66 -d1 -m16 -c1 /dev/hda
-X66 ATA33=66, ATA66=68,此参数需谨慎设定,不懂最好不要用。
-d1 开启dma
-m16 设定MultSect为MaxMultSect
-c1 将操作模式设定为 32-bits
测试性能:hdparm -tT /dev/hda
保存设置:hdparm -k1 /dev/hda
查看设置:hdparm [-i] /dev/hda
不过好像保存设置不起作用,干脆写入到/etc/hdparm.conf文件得了,hdparm.conf中,hdparm命令的每一个参数都有一个对应的option,并且有详细的说明和例子,参照着写就可以了,这才是一劳永逸的办法。

/dev/hda {
dma = on
io32_support = 1
mult_sect_io = 16
#transfer_mode = 66
}

这四个选项分别对应上面说明的四个参数,基本上也是最常用的。

rpm形式的安装包转换为deb形式
alien xxx.rpm

Linux下有什么数据库设计工具或者建模工具么?
有的人使用wine模拟运行PowerDesigner,但似乎效果不怎么好。如果使用的是Mysql数据库,除了phpMyAdmin可用之外,还有 DBDesigner,以及mysql官方的workbench(尚未正式发布)。据说 DBDesigner也支持Oracle。参考1 参考2
《DBDesigner的安装》

按照机器名查询局域网内其他机器的ip
nmblookup cmp
按ip查机器名:
nmblookup -A 192.168.0.1
似乎只能查windows主机

我现在使用FireFox 1.5.0.3,还是存在着严重的内存泄露,并且我一般不关机,都只是休眠,如果你的习惯和我一样的话,记得每天休眠的时候要关掉FireFox,不然它睡觉的时候还会吃内存的。

我正在通过smb挂载着一个网上邻居的共享目录,可是对方突然关机了,我这里操作异常,并且无法umount,怎么办?
有时候在这种情况下是无法umount的,会提示设备忙,但是可以使用smbumount,一般都会成功的。
sudo smbumount /media/share/xjl-f

使用mencoder制作影片剪辑(截取、转换)
mencoder source.avi -ss 5:00 -endpos 40 -oac mp3lame -ovc xvid -xvidencopts bitrate=800 -o target.avi
注意-endpos指定的是相对于ss要截取的时间长度,而不是绝对时间坐标。-oac copy就是直接复制源中的音频,不再单独压缩。

如何才能浏览中文的pdf文件?
不管是evince,或者是epdfview,默认安装都无法查看中文pdf文件的,会有乱码,解决方法:
distro:ubuntu linux dapper
1 sudo apt-get install evince
2 sudo apt-get install xpdf-chinese-simplified
3 你需要一个中文字体,simsun,fireflysun皆可。
cd /usr/share/fonts
sudo ln -s < 你的字体存放的路径> < 字体名>.ttf //记住一定是.ttf!!!不能是*.ttc,或是别的什么。我开始就挂在这里了
比如:sudo ln -s /media/hda1/windows/fonts/simsun.ttc simsun.ttf
//我开始就挂在这里了
4 打开/etc/xpdf/xpdfrc-chinese-simplefied
将displayCIDFontTT改为
displayCIDFontTT Adobe-GB1 /usr/share/fonts/simsun.ttf
即可!
5 现在你的xpdf,evince都能显示中文了!

用gedit编辑过的文件在vi下看,每行末尾都加了一个^M,怎么去掉?
这个^M其实是兼容dos的回车,也就是\r,使用下面的命令替换掉:
:%s/\r//g
可以看出替换命令s是支持正则表达式的。

php5的两个ini文件
其实只有一个的,为什么要说两个呢?一个在/etc/php5/apache2下,这个是给apache用的,另外一个是在/etc/php5/cli下,这个是给命令行的php用的,比如php -f somefile.php,或者#! /usr/bin/php开头的shell script。有的时候使用cli调试脚本的时候经常会忘记设置后面那个。

如何将应用程序加到菜单中?
见例:
sudo gedit /usr/share/applications/Firefox1.5.0.2.desktop
[Desktop Entry]
Name=Firefox Web Browser
Comment=Browse the World Wide Web
Exec=/opt/firefox/firefox
Icon=/opt/firefox/icons/mozicon128.png
Terminal=false
Type=Application
Categories=Application;Network;

最后一行是Network的,就在Internet菜单下,Office,就在Office菜单下,System的,就在System Tools菜单下,其他的可以参照现有.desktop文件摸索设置。

安装jre 1.5
首先你要下载官方的java1.5的运行时。现在最新的是java1.5update6
http://java.sun.com/j2se/1.5.0/download.jsp
下载下来的bin文件,为了方便,我们把它转成deb文件,方便使用。先下载工具
sudo apt-get install fakeroot java-package java-common
开始转换
fakeroot make-jpkg jre-1_5_0_06-linux-i586.bin
好,不出意外的话,就应该转换成功了。
开始安装:
sudo dpkg -i sun-j2re1.5_1.5.0+update06_i386.deb
然后配置:
sudo update-alternatives –config java
参见 咸鱼的文章

关闭IPV6
修改/etc/modprobe.d/aliases文件,增加:
alias net-pf-10 ipv6 off
alias net-pf-10 off
alias ipv6 off

注释掉:
#alias net-pf-10 ipv6
再新建一个/etc/modprobe.d/bad_list文件,内容为:
alias net-pf-10 off
然后重启。

Azureus bt下载的小问题
安装以后无法启动(没有图形窗口):sudo update-alternatives –config java
默认的是选4,改成1,就是带有jre5字样的就可以了。
提示窗口无法隐藏:关掉azureus重新打开就没事了。

MPlayer字幕乱码
編輯 ~/.mplayer/config 加上如下

font=/usr/share/fonts/truetype/arphic/bkai00mp.ttf
subcp=gb2312
subfont-autoscale=2
subfont-text-scale=5

而我通过在gui中测试得到的结果则是还需要加上:

vo_doublebuffering = "no"
sub_unicode = "no"
sub_cp = "cp936″
font_encoding = "unicode"

各位再根据自己的实际情况改变上述几项参数的值应该就可以了。

安装显卡驱动(尤其是ati卡)
安装驱动:apt-get install xorg-driver-fglrx
安装nvidia卡驱动:apt-get install nvidia-glx
初始化nvidia的显卡:nvidia-glx-config enable
初始化ati的显卡:aticonfig –initial

另:我的ibm笔记本以前使用mplayer的时候,只能选择X11(Ximage/Shm),并且没法全屏播放(全屏以后仍然是小画面),安装完上面的驱动,并且修改了mplayer的config文件之后,居然可以选择(X11/xv)模式了,并且能够十分流畅的全屏播放,真是太好了。只是在检测显卡的时候,如果不选ati而是选择fglrx的话,X就无法启动,现在也不知道显卡到底驱动起来没有。

播放电影,包括rmvb
咸鱼翻身还是咸鱼那里有 一篇很好的介绍,针对dapper的,非常实用(备份地址)。不过最好首先还是把dapper的更新源 扩展一下。大体总结如下:
首先安装dapper的gstreamer,dapper好像已经自带了,breezy麻烦些:

sudo apt-get install gstreamer0.10-*

下载安装w32codecs

这时再安装上mplayer就能够正常播放电影了,注意好像使用dapper flight7的源是没有mplayer的,扩展一下就好了。如果还想使用其他的播放器的话,把totem换成xine的后端:

sudo apt-get install libxine-extracodecs totem-xine mplayer-686 ffmpeg lame faad sox mjpegtools libxine-main1

有用的链接
升级到Dapper的源source

挂载fat32移动硬盘分区,不乱码,可读写
mount /dev/sda1 /media/sda1 -t vfat -o iocharset=utf8,rw,umask=0
umount /media/sda1;

挂载网上邻居共享的ntfs分区,中文不乱码,普通用户可读写
mount -o username=xjl%,iocharset=utf8,codepage=cp936,dmask=777,fmask=777 //xjl/f /media/share/xjl-f; ls /media/share/xjl-f/
umount /media/share/xjl-f;
iocharset用utf-8不行,必须是utf8,codepage用936也不行,必须是cp936。
-t smbfs可以不写,自动识别。其他参数在前在后也没关系。
dmask和fmask如果不指定,那么root以外的用户就只能读取或者执行(r+x)。

在英文系统下安装输入法无法调出输入栏的问题
有可能是因为没有设置使用中文输入法的缘故,只需要修改/etc/environment文件,添加:

LANGUAGE="en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=en_US.UTF-8
#GST_ID3_TAG_ENCODING=GBK

然后重启x就可以了。

这样即不影响现有的英文操作界面,也能够使用中文的输入法(尤其是scim了),最后一句好像没有用,fcitx可能要用到。

下载工具

一般推荐Download 4 X ProZilla,其中prozilla好象是命令行方式使用的。

安装压缩工具7-zip

apt-get install p7zip
7za or 7z to run command

还有系统带的tar也不错。

关闭不需要的服务

这样应该能够让系统运行得快一些,尤其是在虚拟机中运行的时候,在X下System->Administration->Services中关闭是一种简单的方法,但不解决最终的问题。

首先apt-get install sysv-rc-conf,安装这个,然后运行,并调整如下:
只在S等级启用:acpi-support
关闭:anacron, apmd, atd, bluez-utiles, fetchmail, hotkey-setup, hplip, pcmcia, powernowd, ppp, rsync.
如果是笔记本电脑,下面几个就不要关闭了:hotkey-setup, pcmcia, powernowd

这样应该能稍微快一些吧,错关了也没有关系,当需要的时候还可以再打开嘛。

安装编译环境
apt-get install build-essential

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

04/07/2006

借世界杯的东风,介绍几款在线足球经理游戏

其实世界杯踢到现在,已经俨然成为了欧洲(大陆)杯,因为英格兰、阿根廷、巴西等外族都已休矣,唉~

我介绍的这几款游戏,都是网页游戏,也就是browser-game,只需要打开你的ie或者firefox或者opera,就可以放心玩了,并且不会占用你太多的时间,安排好比赛、阵形、训练等工作,就可以放手去作其他事情了,赛程有联赛、杯赛、友谊赛、世界杯,还有青年队的比赛和完善的转会制度。

Hattrick

这是一个老牌游戏了,从上个世纪就开始了!注册后需要等上一两天才能领到球队,联赛和友谊赛随便打,拥有完善的球员转会制度。球员的属性比较简单,并且和球员的岗位都有相对的对应关系,比较容易排兵布阵。但是,由于需要不断讨好球迷和赞助商,不断赚钱,所以很多玩家都成了人贩子。另外,青年队没法直接指挥,只能每周提升一名青年队的球员进入阵营。值得一提的是,安排阵形的时候,是使用flash的方式,非常方便和直观。比赛观众人数还受天气的影响,出国打友谊赛还要花费飞机票。。。比较真实。

FreeKick

这是一款比较新的游戏,和Hattrick相比各有特长。在 FreeKick中不仅可以指挥你的成年球员球队,还可以直接指挥青年队,进行青年队的联赛。并且和Hattrick相比,资金不是那么紧张,不用太在意财务状况。另外就是球员的属性细腻了很多,可以打的岗位也非常专业,让我这个足球外行眼花缭乱。唯一不足的是安排阵形的时候不太方便。

managerzone

这是一个不知从那里冒出来的,好像是从垃圾邮件里面得知的,刚开始还以为是赌球网站呢。不过完了一下感觉倒还凑合,该有的都有了,就是网站慢了些,另外玩家还可以交费打杯赛和联赛,和上两个游戏基本免费相比,商人的气息浓了些。另外,这个网站还有一个冰球的足球经理,有兴趣的可以试试。

另外推荐一个论坛:梦境工作室,里面有很多 HattrickFreeKick的资料。由于这些游戏的是面向全世界的,所以都具备多语言的选择,而中文操作界面虽然都有,但玩家心得在别的地方却非常少。

另外Hattrick具备把很多资料翻译成其他语种的功能,学外语的或许可以从中获益。

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