Nevill’s Blog

blog my living stuff

4月 存档

2006年4月26日, 17:34

如果在系统日志里面碰到了这种由LoadPerf引起的错误,类似于我的这样

Event Type: Error
Event Source: LoadPerf
Event Category: None
Event ID: 3011
Date:  2006-4-26
Time:  14:49:45
User:  N/A
Computer: PC1
Description:
Unloading the performance counter strings for service WmiApRpl (WmiApRpl) failed. The Error code is the first DWORD in Data section.

可以参看这篇解决

ps,
网上买的东东到货了,嗯

欢迎做我的友情测试吧,链接加在旁边好几天了,今天终于出齐了20道题

分类: Experience | 1条评论 »

我和TT不得不说的故事

2006年4月20日, 2:36

这个标题是不是够shocked?leery说这年头写blog光自己闷头写很无聊,需要跟其它blog互动,俺甚不以为然,自己制造噱头,然后YY不也是一件很funny的事。

前两天有人在MSN上问我的英文名为什么会有TT二字,是不是跟TT有关,我耐心地给对方做了一番解释和英语姓氏知识普及。过后,我认真地思考了一下,发现在我活着的这些个年头里,跟TT这事物还真有些许关系,下面就请听我说。

第一个TT

自儿时的好友,一个思维敏捷、活泼嘴快、个性鲜明的小女生,虽然伊生日还比我大10天。伊是我幼儿园、小学、高中同班同学,初中校友和大学校友……没办法,子弟学校造就了如此的传奇关系。如今的她已组成家庭,站在了幸福的起点,奔向了大洋的彼岸,在我脑海中烙印下的是她的窃窃笑声和种种鬼脸表情。

第二个TT

它身材苗条(不到100KB),人性十足(能发声),功能强大,寓教于乐,价格便宜量又足,乃行走江湖,打家劫舍,杀人灭口必备之利器。在它的陪伴下,我们一起渡过了无数漫长的下午;在它的日记中,点滴记录下了我从菜鸟变大虾的飞跃成长过程。在那个没有色彩只是黑白的启蒙时代,它是每个刚接触到PC人的随身必备之物,菜鸟进阶提高的杀手锏。而如今,它的号召力依然不减当年,就算到了21世纪,新出的打字练习软件都要起含有TT二字的名称。

第三个TT

高中时候的一位小胖同学,其实比leery还胖,块头比leery还大,食量比leery还猛。这厮是当年的PC游戏玩伴,StarCraft高手,在我们都是菜鸟级的时候,他已经能以一打二,让我们唏嘘不已。听说上大学的时候还参加过职业比赛,这是后话了。在他玩游戏的时候,给自己用的英文ID总是TT,所以我们也习惯对他使用这个称呼了。关于他名字TT的由来,我没问过,不过大抵无非是因为胖子都有懒的毛病,TT这个名字输起来顺手吧。还有一点不得不提的是他吃拉面的惊人速度,一碗刚刚出锅的拉面,我还在一边不停的吹拉面,怕烫着了我的舌头的时候,他在一边三下五除二,3分钟内解决,看得我是瞠目结舌,彪悍的块头加上如此神勇的食速,让我想起希腊神话中的Titan巨神,也许这才是他名称中TT的真正由来吧。

更多的TT

随着PC知识的逐步增长,在我的生命中遇到了越来越多的TT,比如著名的外设风扇品牌TT,当年本准备下狠心请回他家一款火山系列的风扇,可是当俺揣着银子来到专卖柜台,踌躇了半天,还是觉得花100大洋买这么个东东不太值得,最终与这位大名鼎鼎的TT失之交臂了。国内的IM老大-腾讯QQ,不知道什么时候推出了一款浏览器,名称叫做TencentTraveler,也简称TT,唉,这简直真是对TT这个名称的侮辱啊,在试用了一把后坚决每次安装QQ的时候都一定去掉这个垃圾软件。

写到这里,台下某个长得像leery的小胖子急不可耐地叫道,“喂,你这就要ending了啊,还有个没写吧?”“靠,想歪了吧你,面壁去!”

分类: Experience | 2评论 »

Diary 20060412

2006年4月12日, 18:51

武汉的天气就是变得快,前两天还是近30度的高温,昨晚开始就瓢泼大雨,北风呼呼地吹。

一天的心情都很blue,不知道是因为昨天晚上没吃饱,淋雨回家,而且吃了面包还不消化;还是因为学院里又莫名其妙地给我们多加了一门政治课,而且还是在我生日的那天补上;还是因为今天被早上的大风吵到7点不到就爬起来了,被一整天阴阴的天气搞得郁闷。今天有人苦闷的学习英文Bugzilla资料;有人因为不会用MPC调节亮度折腾;有人昨天买衣服受老妈打击,今天还愤怒地嚎呼一定找个女朋友陪逛街买衣服;有人被午夜短信骚扰,决定少灌水。身边的人看来也是郁闷的多啊,不知道是被我影响还是他们影响了我,今天到底是个什么日子哇,嗯,leery帮我查下黄历吧。

其实还是有happy的事情的。
linux版打算要版聚了,考虑某个topic讲一下,准备ing;
中午吃了一个老妈买的绝世好菠萝,松脆爽口啊,经过2道洗泡加工的味道就是好;
在网上精心挑选了一样神秘礼物准备送mm;
上网碰到失去联系好久的yyishere了,知道他的邮箱换成了yahoo的了;
还有许久不见的表弟居然考上了人大的民商法学硕士,昨天跑来玩,顺便相约五一的时候等宿舍第一帅锅回来后再一起聚一把。

update(22:00):

晚上去学院里听微研的邹欣的讲座,其中演示了一个能够根据你的个人照片生成各种卡通头像的小软件,原理其实应该跟QQ秀差不多,就是给不同的人穿上不同的服饰,只是前期处理抓了一下人的脸部特征的部分。我比较感兴趣的是这个程序居然是用WTL写的,看来微软内部的人果然基本不用MFC写程序啊,连后面那个MSRA LLK++都是.net framework 2. 0 + Managed DirectX写的,实习生写的东东都够炫,实用,而且颇具创意。后来,在问到Monad和脚本的时候,他也承认微软现在的Batch比较失败,但是Monad还不会和vista一起发布,需要更多测试,但随后又提到了要是用脚本的话可以用perl。

当然讲座的最主要的目的还是来推介微软是个多好多好的公司啊,有哪些吸引人的地方,然后下面自然会有一帮人问一些在网上都被问烂的诸如如何加入微软之类的问题。

分类: Experience | 2评论 »

Proftpd+mod_sql模块+mysql的配置

2006年4月10日, 2:39

Proftpd+mod_sql模块+mysql的配置

前段时间为了学院的ftp管理,进行了一番尝试,下面是整理出来的完整文档。

一、mod_sql能做什么?

mod_sql是能使用数据库记录信息对Proftpd用户进行登录认证的一个module,
它由一个前端模块(front module)和后端模块(end modules)组成,后端模块是跟数据库相关的特别定制的,比如mod_sql_mysql就是用来连接mysql数据库, mod_sql_postgres用来连接postgres数据库。

现在最新的版本稳定版本proftpd 1.2.10中已经自带有这个module。

二、安装配置过程

1、安装 mysql

因为mod_sql_mysql需要调用libmysqlclient库函数,所以你最好从源代码编译安装mysql,如果你之前已经安装了已编译好的的mysql server可以使用下面参数编译,注意使用的源代码的版本需要跟你已安装的mysql的版本一致


./configure –with-named-curses-libs=/lib/libncurses.so.5
–without-server –prefix=/usr/local/mysql
make && make install

具体安装过程可以参考mysql的使用说明

2、安装proftpd

./configure –prefix=/usr/local/proftpd –with-modules=mod_sql:mod_sql_mysql
:mod_quotatab:mod_quotatab_sql
–with-includes=/usr/local/mysql/include/mysql
–with-libraries=/usr/local/mysql/lib/mysql
make && make install

创建ftp用户和组

groupadd -g 5500 ftpgroup
adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser

建立ftp的主目录

mkdir /var/ftproot

给予权限

chown ftpuser:ftpgroup /var/ftproot

3、创建数据库表

–创建数据库

CREATE TABLE FtpUser (
userid VARCHAR(30) NOT NULL UNIQUE,
passwd VARCHAR(80) NOT NULL,
uid INTEGER NOT NULL,
gid INTEGER NOT NULL,
homedir VARCHAR(255) NOT NULL,
shell VARCHAR(255),
);

CREATE TABLE FtpGroup (
groupname VARCHAR(30) NOT NULL,
gid INTEGER NOT NULL PRIMARY KEY,
members TEXT
);

CREATE TABLE FtpQuotalimits (
name varchar(30) NOT NULL UNIQUE,
quota_type enum(’user’,'group’,'class’,'all’) NOT NULL default ‘user’,
per_session enum(’false’,'true’) NOT NULL default ‘false’,
limit_type enum(’soft’,'hard’) NOT NULL default ’soft’,
bytes_in_avail float NOT NULL default ‘0′,
bytes_out_avail float NOT NULL default ‘0′,
bytes_xfer_avail float NOT NULL default ‘0′,
files_in_avail int(10) unsigned NOT NULL default ‘0′,
files_out_avail int(10) unsigned NOT NULL default ‘0′,
files_xfer_avail int(10) unsigned NOT NULL default ‘0′
);

CREATE TABLE FtpQuotatallies (
name varchar(30) NOT NULL default ”,
quota_type enum(’user’,'group’,'class’,'all’) NOT NULL default ‘user’,
bytes_in_used float NOT NULL default ‘0′,
bytes_out_used float NOT NULL default ‘0′,
bytes_xfer_used float NOT NULL default ‘0′,
files_in_used int(10) unsigned NOT NULL default ‘0′,
files_out_used int(10) unsigned NOT NULL default ‘0′,
files_xfer_used int(10) unsigned NOT NULL default ‘0′
);

–创建供mod_sql使用的数据库登录用户 - proftpd

grant select, insert, update on YourDBName.* to ‘proftpd’@'localhost’ identified by ‘proftpd’;

–在数据库中新增一条用户记录,帐号密码都是test, 5500 是前面给ftpuser的uid, ftpgroup的gid, home为 /var/ftproot/test

INSERT INTO FtpUser VALUES (’test’,'test’,5500,5500,’/var/ftproot/test’,”);

–在数据库中新增一条组记录

INSERT INTO FtpGroup VALUES (’ftpgroup’,5500,’ftpuser’);

–在数据库中新增一条数据库配额记录, test用户的磁盘上限为 1MB
INSERT INTO FtpQuotalimits VALUES (’test’,'user’,'true’,’soft’,1048580,0,0,0,0,0);

4、然后配置 /usr/local/proftpd/etc/proftpd.conf

主要加上下面的部分

<Global>
# ftpgroup 组用户只显示自己的相对路径
DefaultRoot ~ ftpgroup

#——–打开mod_sql,使用mysql验证——–#
# Backend 表示用户认证方式为 MySql 数据库认证
# Plaintext 表示明文认证
SQLAuthTypes Backend Plaintext
SQLAuthenticate on

# 数据库连接信息 数据库名@主机地址:端口 用户名 密码
SQLConnectInfo YourDBName@localhost:3306 proftpd proftpd

# 指定用户信息表
SQLUserInfo FtpUser userid passwd uid gid homedir shell

# 指定用户组信息表
SQLGroupInfo FtpGroup groupname gid members
SQLDefaultHomedir “/var/ftproot”
# 如果用户主目录不存在则根据 homedir 字段自动创建一个
SQLHomedirOnDemand on
SQLNegativeCache on
RequireValidShell off
#————#
#——–磁盘限额——–#
# 打开磁盘限额功能
QuotaEngine on
# 统计目录操作
QuotaDirectoryTally on
# 使用 MB 为单位给用户显示磁盘配额信息
QuotaDisplayUnits Mb
# 显示磁盘配额信息给用户
QuotaShowQuotas on
# 磁盘配额使用的日志文件
QuotaLog “/var/log/proftpd.quota.log”
# 磁盘配额模块要使用的数据库查询语句
SQLNamedQuery get-quota-limit SELECT “name, quota_type, per_session, limit_type, bytes_in_avail, \
bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM FtpQuotalimits \
WHERE name = ‘%{0}’ AND quota_type = ‘%{1}’”
SQLNamedQuery get-quota-tally SELECT “name, quota_type, bytes_in_used, bytes_out_used, \
bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM FtpQuotatallies \
WHERE name = ‘%{0}’ AND quota_type = ‘%{1}’”
SQLNamedQuery update-quota-tally UPDATE “bytes_in_used = bytes_in_used + %{0}, \
bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, \
files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, \
files_xfer_used = files_xfer_used + %{5} \
WHERE name = ‘%{6}’ AND quota_type = ‘%{7}’” FtpQuotatallies
SQLNamedQuery insert-quota-tally INSERT “%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}” FtpQuotatallies
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
#—————–#

参考资料

中文:
http://www.chinaunix.net/jh/15/693798.html
http://www.linuxmine.com/2769.html
http://www.5ilinux.com/blog/archives/000082.html

英文:
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-SQL.html
http://www.castaglia.org/proftpd/modules/mod_sql.html
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Quotas.html
http://www.castaglia.org/proftpd/modules/mod_quotatab.html

分类: Computer | 4评论 »

装了分页和表情插件

2006年4月9日, 2:41

都来自www.coolcode.cn,这个站点上的好东东还真不少呢。

分页插件:下载

表情插件:下载

分页的效果可以看这篇http://www.nevillblog.net/?p=9

表情的效果可以发表一下评论就好了,嗯

分类: Computer | Comments Off

使用 Coolcode 插件

2006年4月8日, 22:26

www.coolcode.cn 下载了这个插件,用来给代码加亮显示的,下面测试一下

  1. class ClassA
  2. {
  3.  public static void main(String[] args)
  4.  {
  5.   System.out.println("Hello World!");
  6.  }
  7. }

效果还不错,不过觉得wordpress的可视化编辑器功能还是太弱了点,不知道为什么不用fckeditor,期待以后的版本能改进一些。

分类: Computer | 2评论 »

Diary 20060407

2006年4月7日, 12:51

今天一早爬起来上课,居然被老师放鸽子,正好有空去搞一碗热干面,好久没吃了,香。

回家上网,为了听昨天vinesgin发给我的Pavarotti,去搜了一下foobar2000播放real audio的插件,找到这么一篇文章,不想就为了附件在论坛上注册,遂在网上google了一番,找到了里面提到的winamp input插件和Tara’s Real Audio Input Plugin 1.0.3b(for Winamp),按照上面论坛的说明,都在foobar中设置好了,可是发现每次只能放一首ra格式文件就不能放了,看提示好像是foo_winamp_input这个wrapper插件的问题。折腾了半天无果,索性去找了个real rm转mp3的东西。终于可以播放了,文件变小了一些,还可以download到mp3 player里面。任务完成。

去Solidot.org看了看,发现google talk出新版了,增加了头像跟聊天主题功能,跟MSN越来越像了。

google talk

分类: Experience | 2评论 »

Diary 20060405

2006年4月5日, 11:39

半夜起床看球,结果国米没能成功晋级,下半场的比赛国米不仅输了气势还输了RP。看罢,关上电脑睡觉,却在床上翻来覆去的。无奈,开灯,翻出一本书准备对自己催眠,经过半个多小时的努力后发现自己更加明确的不想睡觉了,索性爬起来打开电脑。

在football版灌了两篇,没什么人,又不想继续去写那个还没写完的程序,无聊ing,翻硬盘,发现这一季的OC居然已经有3集都没看了,于是赶紧泡好一碗亚洲精选,坐在电脑前面……

Ryan和Marissa的感情再次陷入了危机,而且这次危机似乎更深,因为两人的分手都很平静,似乎双方早就有所准备。Seth跟Summer之间好像因为Sex的问题出了一些状况。不过,末了,S3E18的结尾,男女主角们分别和新欢旧爱们在床戏中结束,Seth和Summer是幸福的,Ryan和Sadie也是两情相悦的,害怕孤独的Marissa又重新找到了新的激情的慰籍,似乎一切又变得美好起来。看到这个结尾,真的感觉这部戏越来越拖沓,跟日韩剧越来越像,看完这一季我就不打算看下一季了。

分类: Experience | Comments Off

Diary 20060404

2006年4月4日, 19:59

这几天的星座运势都不很好,前天就因为晚上听歌声音放太大被楼下老太警告处分了。昨天去办二代身份证,被人说脸部太反光,要打粉。照完以后忘记卸装,吃饭的时候不小心一擦,居然一堆油油的,差点掉进饭里。从上周就开始写的一个小程序,到今天还没完全写完,搞了半天始终觉得那个异步socket用起来一点都不爽,还不如用多线程的方法来处理条理清晰明了。

最幸运的事不过今天晚上的一场大暴雨让我赶上了,骑着自行车在大雨中前行,不论如何怎么变速,怎么用力踩,都觉得自行车像蜗牛在爬。风呼呼地吹,迎着风感觉无法顺畅呼吸,只好把脸半侧着继续向前,雨正好直接打到脸上都觉得有些疼了。待我终于奋力踩回家时,雨也慢慢变小了,脱下湿透的沉重衣裳仔细清点一番,发现裤脚居然有一小块是干的,顿时有点小小的得意起来。

晚上有国米的比赛,figo复出,准备观战,期待国米能顺利的进四强吧。

分类: Experience | 1条评论 »

April fool 2006

2006年4月2日, 1:21

大概从初中的时候知道愚人节这么个洋节日的吧,但是不知道什么时候这个洋节日开始这么流行。家里本来说要今天去汉阳扫墓,结果老妈临时有事,要推迟到明天早上(写这篇的时候应该说今天了)。我那上初中的表弟居然一语惊人,姑妈就是聪明,今天是愚人节,死人都不会喜欢你今天去拜访的。我妈大怒道,那是洋人过的破节日,现在是清明不知道多少人出去扫墓呢!现在的孩子,我还是能够理解他不想去的心情的,不过,这个理由……实在是太意外了 -__-。

晚上看到老罗的演出公告了,看来老罗真不打算在新东方混下去,准备进军娱乐圈了,不过不是去做他之前上课的时候给我们说的导演,而是要跳到台前亲自做show了。不知道在金钱利益的诱使下,老罗还能继续保持他彪悍的性格么,嗯,待看完他的表演再做评论吧。

忽然记起今天又是一月一次的漫画时刻,赶紧跑到枫雪动漫社区,忽然发现海贼王、火影都还是2月份的看过的连载了。怎么回事,今天是装精节?仔细看了看公告,大概是说翻译动漫的人手不够,没人翻了,我只是经常去那里潜水看连载的,并不了解这个社区发生了什么重大人事变动,只好惋惜一下。然后马上google了一下,嗯,接着从 One piece 的400话看起。

搞笑的孙女+兔子组合,从废墟中爬出来居然只流了一点鼻血。大火拼就要上演了,6人众+Frank vs CP9 5人众,嗯,占优势啊。恶搞的时间来了,卡库吃了果实以后变成了长颈鹿,OMG,CP9 众成了一个大动物园,由于丑陋的卡库,导致酷酷的zoro了一句让他自己都觉得肮脏的话,而神射手Usopp居然笑得把手铐给扔错了。卡库的能力太恐怖了,把整个司法塔削了一半,结果zoro跟Usopp居然锁一块了……又是一番恶搞……,最后,可怜的Chopper背负起了寻找2号钥匙的任务。Nami遇到了真正的强敌长毛怪,Frank跟猫头鹰打的正酣,王子sanji却再次倒在美女前面,舍不得对女人动手的人总会遇到美女啊 -__|||。

Chopper救下了差点被勒死的Nami,Nami顺手偷走了钥匙,小偷能力,赞。可怜的sanji被打得奄奄一息了,唉,英雄难过美人关么。索性Nami去对付那个狐狸精,我们可爱的Chopper也冲锋陷阵了。无处不在的小女孩和兔子帮了不会划水的主角,天,她们是神派来帮助Luffy的吧。面对大门,我们的船长用最简单的暴力手段打开了(猜他就会这样)-__-。

又是一段恶搞,这次是Frank跟可爱的Chopper之间。喝了可乐以后变巨强的Frank,一拳就把猫头鹰给打趴下了,够血腥,Frank帅呆了,oh yeah~。呜,原来猫头鹰还是没被干掉,继续开打,两人就在瀑布口的生死一瞬间了,嗯,连载就在这里结束了。

分类: Experience | 4评论 »