2007年5月29日星期二

blog如何赚钱?

本来赚钱和盈利是两个概念,赚到钱了不一定就能够盈利,而盈利不见得就只有赚钱这一种方式。可是高调唱完了,blogger们还是会回到原点:从哪里补贴服务器费用?从哪里补贴所花费的时间和精力?写blog难道就只是一种娱乐么?难道除了自娱自乐或者是写写枪文,就没有其他方式么?

虽然keso比较反感付费话题,代表了一部分人的观点,可是别忘记了那后半句话"没有钱是万万不能的",本来我们的口粮就不多,理想化的东西恐怕都要打折销售了。

原来的reviewme没赶上,现在的feedsky也没兴趣,倒是这个
Bloggerwave算是我的第一把,虽然没有太多特色,目前的赞助机会也比较少,但是要求不高,形式也简单,最方便的是直接付款到paypal,10块美刀好歹也够一个域名一年的费用了,干嘛不试试呢?

另外付费评论如何"写"也是个值得研究的话题,让你写什么就写什么那太笨了,但如果让你写产品,你就来个横向评测,让你写网站你就写写相关现象,我想不但起到了宣传的作用,对blog文章质量的影响也会减少一些。当然如果你本来是写IT的blog,非要去宣传谁家的苹果好卖,还是先三思的好。

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

2007年5月21日星期一

gnuplot的一些资料

从来没有接触过科学计算的东东,不过由于工作需要,想画一套统计图,觉得应该有些开源的好用的工具,于是误打误撞找到了gnuplot,研究了半天,无功而返,但找到了很多有用的资料。

最早是在IBM开发者上了解到有这么个东东的:Linux 上的数据可视化工具,这篇文章同时还提到了GNU Octave。

地圖/統計圖/3d 函數圖/實驗報告圖 — Gnuplot 純畫圖里有使用gnuplot画图的几个例子,包括一个使用数据文件的.

Gnuplot 導讀

https://dirty.csie.org/mt/archives/000355.html,这里还提到了一个叫R的软件,似乎也不错。

GNUPLOT使用手册

在gnuplot里使用中文标注,有人转了一篇在 这里,有人回复说"Or simply use the psfrag package.",也许指的是在tex中的应用吧。相对于gnuplot,其实只要set font "/path_to_your_ttf_file就可以识别中文了。

用 Perl/Tk 实现数据可视化,其中对各类绘图工具有个小的概括:

对于简单的 x-y 平面图,gnuplot 经常是第一选择。对更复杂的问题来说,您可以使用 xmgrace 或者其他的绘制工具。

轻轻松松画柱状图(bar graph) ,文中提到的bargraph.pl简化了gnuplot的使用,只能生成条形图,可以生成gnuplot、eps、fig、pdf、png等多种格式,不过要使用的话,除了安装gnuplot之外,还需要fig2dev(安装另外一个绘图程序xfig后就有了)。

gnuplot 让您的数据可视化,文中还提到:

gnuplot 与 GNU plotutils组合格外好用;另请参阅 plotutils documentation。

另外还看到了一个关于python绘图的讨论:问一下,python有生成饼图,柱状图等的库么 ,里面有人说pychart画图看起来也不错,可惜我python刚开始接触,也作罢了。

关键是以前从来没有接触过此类东西,加上资料又少,所以要花费大量时间学习才能够完成工作目标,所以我已经决定采用jpgraph,用我更熟悉的php5来作了。顺便给两个jpgraph的入门例子:

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

300 / 300死士 / 300斯巴达勇士

在欣赏这部精彩影片之前,我已经看过它的前辈——上世纪60年代拍摄的The 300 Spartans / 三百斯巴达勇士 / 三百侍卫,相比较之下,我甚至觉得旧版的比新版的要更胜一筹。

为什么会这么说呢?因为新版展示的是神话故事,而旧版演绎的才更"历史"一些。难道不是么?看看影片中的那头狼,国王爬的那座山和神庙中的人,不穿衣服跳舞的占卜女,以及后来的波斯王和他的手下,通片看下来,除了眼球大呼过瘾之外,大脑中回想的仍然是旧版300讲述的故事。

片子的摄影令人叫绝,不仅仅是因为有优秀的编剧和改编自同样风格的漫画而已,我感觉,这部电影的大部分镜头,暂停,截图,就是一部讲述史诗的油画,加上后面的战斗场面,静态美+动态美+暴力美的天合之作。所以,比 Troy / 木马屠城 / 特洛伊更像史诗,不像历史。

片中的壮汉,同时也是某人口中的"肉饼",很养眼吧,但从另外一个角度上来分析,更显得不够真实。稍微有一些健美知识的人都知道,即使是奥林匹亚先生,非比赛的时候也是会略微看起来有点"胖"的,因为平时人体需要一定比例的脂肪来维持代谢,否则一饿就会昏过去,只有在要比赛的时候,才按计划减去脂肪,同时在比赛是全身涂上一种油,收缩脂肪,好露出肌肉的轮廓。另外,战士需要的是力量、技巧和耐力,真正优秀的战士能够领到健美冠军的不多。抛开肌肉男不说,人手一矛一盾一短剑一披风基本裸体的"装备"情况下,粮草在哪里?辎重在哪里?国王还能变出个苹果来,难道平时是挂在腰上么?长矛扔出去了,捡不回来怎么办?所以,壮汉只是为了更美观或者吸引更多的女性观众进影院的招牌而已。

再来说战术吧,片中斯巴达人大概用到了几种阵形:方阵、龟壳、楔型,但为了影片的视觉效果,真正表现阵形作用的镜头并不多,方阵阻挡了波斯人的冲锋,龟壳防弓箭,楔型对付骑兵,但更多的镜头是描写混战的,并不成阵形的斯巴达英雄在大刀阔斧的斩杀波斯人。如果你看过 Alexander / 亚历山大大帝或者玩过游戏"罗马:全面战争",就会知道真正的"阵"是什么样子的了。这一点在旧版300里体现的要更完善一些,至今我还记得斯巴达人对付波斯骑兵的镜头,不是用楔型阵,而是已盾盖身卧在地上,骑兵骑的马是有眼睛的动物,不会轻易踩人,就跳过去了,然后斯巴达人在起来迅速恢复队形阻拦后面的步兵,而身后失去速度优势的骑兵自然是长矛美餐。要知道那时候没有马蹬,骑兵的数量不仅少,而且作用仅仅是冲乱敌人的阵形而已。

最大的败笔,或者说是遗憾,就是对整个战役的前后背景作详细交待,不了解历史的观众只会知道,波斯敌人来了,议会不出兵,国外带着300号人就去了,然后战死,他们的精神极大得鼓舞了后来的士兵们。。。写史书的人知道了一定气得吐血,不过人家电影是要赚钱的嘛,并且名字是"300"而不是"温泉关战役",要求就宽松些吧。

说了半天,好像一直在泼冷水,其实这部电影真的很好看的,其中或许就有抛弃了太多束缚的因素,我只是想让我们大呼过瘾之后,再仔细的思考一下,毕竟我们要永远记住的不是不死的神,而是会流血会牺牲的勇士、英雄。

在这个泛娱乐化的时代,如果只知道满足眼睛的欲望,恐怕Idiocracy / 蠢蛋进化论里讲述的那一天也不远了。

另外这么好的电影大陆不引进真是遗憾,不知道那帮人是怎么想的,同样血腥暴力的Troy / 木马屠城 / 特洛伊和魔戒等电影不都引进了么?不过也无所谓,会进电影院看电影的人有几个不会买D碟的?

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

Rox-filer与linux回收站

使用环境:Ubuntu 7.04

Gnome自带的Nautilus,典型属于大而全的东西,而Xfce里面默认的Thunar要好一些,两者都有莫名其妙被关闭的经历,并且回收站还不在一个地方,Nautilus删除文件会移动到相应磁盘下的.Trash-用户名或者用户的$HOME/.Trash目录,而Thunar会把删除的文件移动到~/.local/share/Trash$目录下,还用files和info两个目录分别保存文件和信息。两个我都不太喜欢,决定换用小巧灵活的Rox-filer,唯一遗憾的是放弃了左边目录树的查看功能。

Rox不仅启动速度快,占用资源小,它的定制功能、文件选定等功能也非常灵活,比如Ubuntu中文 论坛里 eexpress提供的那个"选定文件按照目录名打包"脚本放在SendTo里面就非常好用,还有选定文件之后用Shift+!输入mv "$@" somewhere命令移动文件也是个非常不错的折衷方法。对于samfs和usb设备支持差了点,不过可以用Bookmark或者Ctrl+1(红警的编队快捷键)来弥补。

但是和Nautilus和Thunar相比,Rox除了缺少目录树之外,还没有回收站的功能,这年月谁能保证不删错一个文件啊,ext3分区的文件恢复又相对麻烦,怎么办?用libtrash喽,和Rox一样都在Ubuntu的源中可以直接安装,我当前使用的版本是2.4-1。

libtrash和其他的回收站处理不同,他直接作用于linux的底层,相当于是在libc上挂了一个钩子(hook),凡是系统要进行删除文件操作的时候,不管是用rm命令,还是php的unlink函数,都会用到底层的libc,也就逃不过libtrash的掌控,所以说使用起来非常放心、省心。

也正由于libtrash的底层性,所以最好不要启用root用户的回收站功能,因为root对系统的管理要涉及到很多文件修改,如果被libtrash拒绝将会导致无法预知的结果,所以,默认的配置文件/etc/libtrash.conf不要动,复制一份为$HOME/.libtrash,作用用户级的配置文件来使用,默认设置已经比较好用了,不过我还是按照自己的习惯修改了几个地方:

#TRASH_CAN = Trash
# 和Ubuntu默认回收站目录保持一致
TRASH_CAN = .Trash

#IGNORE_EXTENSIONS = o;log;aux
# Log文件还是要保留的
IGNORE_EXTENSIONS = o;aux

#TEMPORARY_DIRS = /tmp;/var
# /var目录下的日志文件也要保护起来
TEMPORARY_DIRS = /tmp

libtrash是通过LD_PRELOAD机制来启用的,所以需要修改.bashrc作相应的设置:

# libtrash setting
export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4
alias TrashOn='export TRASH_OFF=NO'
alias TrashOff='export TRASH_OFF=YES'
TrashOn

真正起作用的是第一句export,设置了这个环境变量之后,才真正的把钩子"挂上",后面的alias是设置方便的开关命令,想像一下当你清空移动硬盘上的电影的时候,$HOME被塞满到爆的情况吧,这时候也许就要临时关闭回收站功能了,设置了TRASH_OFF=YES之后,删除的文件不会再被移动到回收站,而是真正的被系统删除。

除了TrashOff之外,配合Rox的SendTo机制,也许更方便一些,在~/.config/rox.sourceforge.net/SendTo目录创建一个脚本trm-Truely_Remove:

#! /bin/bash
# 暂时关闭libtrash,永久删除指定文件

export TRASH_OFF=YES

# 遍历指定的文件进行处理
for I in "$@"
do
rm -rf $I
done

export TRASH_OFF=NO

这样再有想直接删除的文件,在Rox中选定然后用Send to发送到这个脚本进行处理就可以了,不过一定要确定是真正不要了的文件哦。

还剩下唯一一个缺点,就是libtrash只能指定一个回收站目录,一般是在用户的HOME目录下,如果需要管理的文件不在$HOME下的比较多,比如我习惯使用的/big1, /big2等等,删除后的文件就全都存到$HOME这里来了,即使他们不在一个分区,而不是像Naulius那样每个分区一个回收站目录。所以回收站里的数据会增长的很快,不过也有办法解决,单独给这个目录分配一个分区喽,还不用考虑磁盘碎片的问题。

参考:

update @ 2007-05-19

按照上面的设置,从命令行启动的rox能够正常写入回收站,但从Xfce菜单上启动的就不行了,原因未知,不过可以自己写一个脚本中转一下:

#!/bin/bash
export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4
/usr/bin/rox

在默认的设置中,.Trash目录是受保护的,不管是用shell还是用rox进入这个目录,文件都无法删除,但是可以用上面讲到的那个SendTo...脚本来完成,这样反而觉得更安全些了呢。

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

2007年5月18日星期五

流氓软件与流氓

流氓软件,这个名字最近暴光率很高嘛,甚至还成立了一个反流氓软件联盟,还要立法。其实,很多人连什么是流氓软件都不知道捏。别着急,这篇文章就是为你准备的,希望大家能够用生活中的经验来理解软件或者网站,你会发现它们之间有那么多的相似之处。

先说几个容易理解的:

商业软件,共享软件,免费软件,开源软件

  • 商业软件就是正规公司,正常作生意的企业。
  • 共享软件就像公园里的游乐场,进公园不要钱,到要想玩游乐设施,掏钱。(指有限的免费功能,请意会)
  • 免费软件就是义工,不要钱,做好事,公园门口免费理发的。
  • 开源软件就是下岗职工再就业培训中心,什么都教你,但如何赚钱还得靠自己,发展好了自己也可以帮助其他下岗职工。

大网站,小网站,教育网站,个人网站

  • 大网站当然就是大公司了。
  • 小网站是个体户,提供的商品和服务有些并不比大公司差。
  • 教育网站就是教育机构,和现实中一样,除了少数有良知的好老师之外,大部分教育机构都很难让学生学到真正的知识。
  • 个人网站,就是你身边的个人,各自有着不同的爱好或任务,天天从你身边路过。

下面进入正题:

广告软件/网站广告、流氓软件/流氓网站、恶意软件/恶意网站

  • 广告软件/网站广告;广告是正常的,是软件或网站的谋生手段之一,就像大家看电视的时候已经习惯节目之间有些广告了。不过,量变会引发质变,或许你习惯了"走马灯"或者"画中画"式的广告,但我想你无论如何也无法忍受长达半个小时的壮阳药广告在孩子面前播放吧?
  • 流氓软件/流氓网站:这些软件或者网站就是身边的小流氓、骗子一样,想尽一切办法装作正人君子接近你,蒙骗你,比如一些软件告诉你我有若干若干功能,装上我吧,其实就是拿维生素当高级保健品卖的骗子;再比如成天尾随美丽姑娘的小流氓,和那些千方百计想让你把他们设置为首页、加入收藏夹的网站没什么两样,什么" 按Ctrl+D有惊喜发现",别做梦了,那是加入收藏夹的快捷键!
  • 恶意软件/恶意网站:这些就是明偷和明抢啊,钻进你的计算机,赖在你的IE上,死活就是不走,还不如小偷和强盗呢,人家把钱财抢到手之后就跑路了,可恶意软件/恶意网站还要继续QJ用户的电脑。。。

病毒、木马

  • 病毒,特点是传播性,就像家里的蟑螂、白蚁,会自己跑到邻居家一样;当然还少不了破坏性。
  • 木马,现在不打仗了,特洛伊城也早没了,但一说扫黄,有些场所早早就关门休息了,有内鬼通风报信啊。

还有一些或许不着边际的:

  • 大企业也会出次品,不过远没有大网站上的赚钱项目、美女脱衣多啊。
  • 店大欺客,大网站封你的号没商量。
  • 温馨小店,有些小网站不仅内容好,站长还非常热心。
  • 问路收费,有些高人自己办网站讲解高端技术内幕还不收钱捏。
  • 苏州AV女郎都上了医院广告牌了,网上转载一些文章不署名、不加链接算个球!
  • 网上赚钱美女的诱人标题,就和"老同学,好久不见了"这样的短信一样,打开一看不是买枪支弹药就是办证刻章。
  • 著名的"亚洲交友中心"拉下线式的赚钱网站,和传销没有本质区别。
  • 如果看电视广告也按播放次数付费的话,我退休的大姨绝对能拿到年薪10万!

互联网就像现在的社会一样,在大街上一定要瞪大眼睛,提高警惕,注意自身安全,有问题找警察SS。

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

个人信息管理软件——todo/任务/日程表

Tomboy算是不错的便签软件了,但我还是觉得不够好用,我希望有一个这样的软件:
  • 能够记下我想要作的事情。
  • 能够在我作的时候,记下笔记。
  • 完成的不删除,存档起来供日后查看。
  • 有大的任务能够拆成小的,一项一项来完成。
  • 最好能够和日历结合起来,知道今天该作什么。
  • 有优先级和重要程度标记,紧急的、重要的要先作。
  • 离线使用,不依赖网络,便于管理,效率高。

但找了一大圈,始终没有十分满意的,下面是一些我试过的,以及一点感受,希望对有同等需要的朋友有帮助。

最开始是在便签软件中探索:

knotes
太简单了,只有条目,没有保存历史功能,无法记录笔记。

note
命令行界面,简单小巧,能写东西(vi),但时间的字体有些暗,命令行用起来也不方便。

notebook-gtk2
根本就没法用,点什么都没有反应。

notecase
纯记录东西来说,比tomboy方便,但是无法记录富格式文本,删除(完成)的note仍然无法管理。

rhinote
只能记一个,别的什么也干不了。

xfce4-notes-plugin
过于简单,同样是只能记录的小纸条

然后转向todo任务管理软件:

devtodo
字符界面,带优先级,可查看已删除项,但无法记录详细笔记。

gpe-todo:
总是莫名其妙得退出。

Segmentation fault

gtodo
优先级、查看已完成项都有,就是详细记录(comment)太小了,记不下太多东西,也不支持富文本。已删除的项管理方式也不是很理想。

又从wikipedia上扒出来几个综合的pim软件:

Chandler
侧重于calendar管理,整个一google calendar的离线版。

OpenSync
同步工具,虽然也可以在pim软件之间同步数据,但相信更多的是用于手机、PDA等设备。

Task Coach
侧重于任务管理,尤其适用于需要对大型任务进行分解,逐项管理子人物的情况。需要

python-wxversion python-wxgtk2.8

的支持。
个人觉得比较理想,但似乎在Ubuntu 7.04下安装不能运行,总提示No module named taskcoachlib。

其他的像ThunderBird、Evolution什么的就不考虑了,太笨重,继续寻找ing。

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

2007年5月8日星期二

Ubuntu从源升级的一点心得

使用Ubuntu,从5.10 Breezy到6.06 Dapper, 6.10 Edgy, 7.04 Feisty一路走来,每次都是直接从源升级,因为update-manager对我来说太慢了,算是有了一点点经验吧,不成系统,仅供参考。

速度与耐心

升级的下载速度和处理速度都要耗费大量时间,最好有一个快点的源,关掉其他任务,以提高效率。

vi /etc/apt/source.list
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install
sudo aptitude dist-upgrade

aptitude带上install, upgrade, dist-upgrade要多运行几遍,确认确实没有问题了再重启,有的时候第一次运行未必就能把所有软件更新到最新。

另外aptitude和apt-get可以来回混着用用,这两个软件看似相似,又似乎有一些不太一样的地方,有时候这个卡住了,用那个就可以继续。

老大难的Python

Ubuntu中最难升级的不是内核(别人都编译好了的嘛),而是Python,每次升级都会遇到和Python相关的一大堆依赖性问题,处理方式主要有两种:

  • 通过aptitude install指定安装部分python包,这样依赖性关系更好解决一些,处理完一部分,再处理另外一部分就轻松些了。
  • aptitude提示删除的时候要小心一些,如果是正常删除旧包用新的替代还好,有时候遇到难解决的问题经常让你删了xserver或者ubuntu-desktop什么的,一般不要同意。
  • python版本升级会带来更大的灾难,实在没办法的时候可以考虑修改/usr/bin/python,这个文件是一个链接文件,如果他是指向python2.5,那么就修改为python2.4试试,反正升级完成之后再修改回来,有的时候包升级的顺序不同,会导致青黄不接的情况,需要把python暂时降级。

配置文件尽量单独保存

这样在升级的时候不容易被覆盖,同时把自己的个性设置和系统默认设置分开,管理起来更方便。

及时删除不用的内核版本

本身不影响使用,就是升级的时候影响处理速度,反正也没用了,干嘛不删,注意当前正在使用的内核版本不要删除。

敢于拔掉钉子户

有些包有着乱绕或者互锁的依赖性关系,无法处理的时候不妨删除一个试试,不过最好记下来包的名字方便以后查找问题,另外一些关键的包比如apt, aptitude, dpkg, tar, zip什么的千万别删。

不要傻等

如果出现:

Resolving dependencies...
Open:5953; closed: 4999; defer: 0; conflict: 11
No solution found within the allotted time. Try harder? [Y/n]

这样的文字,提示在指定的时间内没有找到解决依赖性问题的方案时,趁早用其他的方式吧,如果你回答Y,不仅要不厌其烦的等待下一次提示,而且找到天亮也找不出方案来。

零敲碎打

永远不要太着急,装上一个是一个,更新一个是一个,问题需要一个一个的解决。

最好还能有另外一台能用的电脑,这样即方便查一些包的资料,还能打发升级中的空闲时间。:)

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