12/31/2006

架设 wiki -- MoinMoin server

简介

*
MoinMoin 是用 Python 语言写的一个开源的 WiKi 引擎,基于 GNU GPL 协议发布。MoinMoin 的软件架构很灵活,通过 Python 能很容易进行功能扩展,现在已开发出大量的 Extensions。MoinMoin 不使用后台数据库存放数据,而是以文本的形式存放在服务器目录中。
*
MoinMoin 不带 Web 服务器,需与 Web 服务器配合才能进行 WiKi 页面的发布。MoinMoin 支持的 Web 服务器有Apache + CGI、Apache + FastCgi、Apache + Mod_Python、IIS 等。dot1 上面 MoinMoin 采用 Apache + CGI 方式。

准备工作

* 1.保证 Apache、python 已安装并能正常工作;
*

2.下载最新版 moin-1.5.6, http://moinmoin.wikiwikiweb.de/MoinMoinDownload

安装配置

*

安装 MoinMoin
* tar zxvf moin-1.5.6.tar.gz
* cd moin-1.5.6
* python -v setup.py install
*

默认安装在 /usr/share/moin 目录下面,该目录存放 MoinMoin 系统的模板,内容大致有以下几类:
o

/usr/share/moin/data 目录存放 WiKi pages,users,plugin,cache 等
o

/usr/share/moin/underlay 目录存放默认的 WiKi pages,有多种语言版本的帮助文档、默认页面文档等
o /usr/share/moin/htdocs 目录存放网页元素,如图片、主题风格等
o /usr/share/moin/server 目录存放服务器启动脚本示例
o /usr/share/moin/config目录存放配置文件示例
*

通过拷贝模板目录中的文件,就可生成不同的 WiKi 实例。MoinMoin 的软件升级也很简单,只需用新版的模板文件下覆盖旧文就可以了。
*

创建 MoinMoin 实例
* 在服务器上创建一个目录用于存放实例,目录名不能是 wiki,它已被系统保留使用,这里我们使用 ccosswiki ,并从模板目录拷贝实例所需文件,如下:
o cd /var/www
o mkdir ccosswiki
o cp -rf /usr/share/moin/data ccosswiki
o cp -rf /usr/share/moin/underlay ccosswiki
o cp /usr/share/moin/config/wikiconfig.py ccosswiki
* 设置实例目录权限
* chown -R apache.apache ccosswiki
* chmod -R ug+rw ccosswiki
* chmod -R o-rwx ccosswiki
* 配置 Apache + CGI 方式
* 1.cp /usr/share/moin/server/moin.cgi /var/www/ccosswiki
* 2.修改 moin.cgi 中 sys.path.insert() 路径,如下:
o sys.path.insert(0, '/var/www/ccosswiki/')
* 3.配置 wikiconfig.py

# -*- coding: utf-8 -*- #使用UTF-8编码
# IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a
# western country and you don't know that you use utf-8, you probably want to
# use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode
# encoding) you MUST use: coding: utf-8
# That setting must match the encoding your editor uses when you modify the
# settings below. If it does not, special non-ASCII chars will be wrong.

"""
MoinMoin - Configuration for a single wiki

If you run a single wiki only, you can omit the farmconfig.py config
file and just use wikiconfig.py - it will be used for every request
we get in that case.

Note that there are more config options than you'll find in
the version of this file that is installed by default; see
the module MoinMoin.multiconfig for a full list of names and their
default values.

Also, the URL http://moinmoin.wikiwikiweb.de/HelpOnConfiguration has
a list of config options.

** Please do not use this file for a wiki farm. Use the sample file
from the wikifarm directory instead! **

@copyright: 2000-2005 by Juergen Hermann
@license: GNU GPL, see COPYING for details.
"""

from MoinMoin.multiconfig import DefaultConfig


class Config(DefaultConfig):

# Wiki identity ----------------------------------------------------

# Site name, used by default for wiki name-logo [Unicode]
sitename = u'CCOSS Wiki' #你的WiKi网站的名称

# Wiki logo. You can use an image, text or both. [Unicode]
# For no logo or text, use '' - the default is to show the sitename.
# See also url_prefix setting below!
logo_string = u'MoinMoin Logo' #网站Logo

# name of entry page / front page [Unicode], choose one of those:

# a) if most wiki content is in a single language
#page_front_page = u"MyStartingPage"

# b) if wiki content is maintained in many languages
page_front_page = u"FrontPage" #启用首页

# The interwiki name used in interwiki links
#interwikiname = 'UntitledWiki'
# Show the interwiki name (and link it to page_front_page) in the Theme,
# nice for farm setups or when your logo does not show the wiki's name.
#show_interwiki = 1



# Critical setup ---------------------------------------------------

# Misconfiguration here will render your wiki unusable. Check that
# all directories are accessible by the web server or moin server.

# If you encounter problems, try to set data_dir and data_underlay_dir
# to absolute paths.

# Where your mutable wiki pages are. You want to make regular
# backups of this directory.
data_dir = '/root/mywiki/data/' #设置data目录路径,要用绝对路径

# Where read-only system and help page are. You might want to share
# this directory between several wikis. When you update MoinMoin,
# you can safely replace the underlay directory with a new one. This
# directory is part of MoinMoin distribution, you don't have to
# backup it.
data_underlay_dir = '/root/mywiki/underlay/' #设置underlay目录路径,要用绝对路径

# This must be '/wiki' for twisted and standalone. For CGI, it should
# match your Apache Alias setting.
url_prefix = '/wiki'


# Security ----------------------------------------------------------

# This is checked by some rather critical and potentially harmful actions,
# like despam or PackageInstaller action:
superuser = [u"root", ] #设置超级用户

# IMPORTANT: grant yourself admin rights! replace YourName with
# your user name. See HelpOnAccessControlLists for more help.
# All acl_rights_xxx options must use unicode [Unicode]
acl_rights_before = u"YourName:read,write,delete,revert,admin" #设置管理权限

# Link spam protection for public wikis (Uncomment to enable)
# Needs a reliable internet connection.
#from MoinMoin.util.antispam import SecurityPolicy


# Mail --------------------------------------------------------------

# Configure to enable subscribing to pages (disabled by default)
# or sending forgotten passwords.

# SMTP server, e.g. "mail.provider.com" (None to disable mail)
mail_smarthost = "192.168.28.200" #使用21cn的smtp服务器发送邮件

# The return address, e.g u"Jürgen Wiki " [Unicode]
mail_from = u"hongzhiyi" #发送者

# "user pwd" if you need to use SMTP AUTH
mail_login = "hongzhiyi 123456" #SMTP服务器验证,以"user password"格式填写


# User interface ----------------------------------------------------

# Add your wikis important pages at the end. It is not recommended to
# remove the default links. Leave room for user links - don't use
# more than 6 short items.
# You MUST use Unicode strings here, but you need not use localized
# page names for system and help pages, those will be used automatically
# according to the user selected language. [Unicode]
navi_bar = [ #设置导航栏
# If you want to show your page_front_page here:
u'%(page_front_page)s',
u'RecentChanges',
u'FindPage',
u'HelpContents',
]

# The default theme anonymous or new users get
theme_default = 'modern' #设置网页主题峁


# Language options --------------------------------------------------

# See http://moinmoin.wikiwikiweb.de/ConfigMarket for configuration in
# YOUR language that other people contributed.

# The main wiki language, set the direction of the wiki pages
language_default = 'zh' #设置默认语言

# You must use Unicode strings here [Unicode]
page_category_regex = u'^Category[A-Z]'
page_dict_regex = u'[a-z]Dict$'
page_form_regex = u'[a-z]Form$'
page_group_regex = u'[a-z]Group$'
page_template_regex = u'[a-z]Template$'

# Content options ---------------------------------------------------

# Show users hostnames in RecentChanges
show_hosts = 1

# Enable graphical charts, requires gdchart.
#chart_options = {'width': 600, 'height': 300}

* 4.配置 Apache2
* 在 /etc/httpd/conf.d/ 下新增 moinmoin.conf,添加如下内容:

Alias /wiki/ "/usr/share/moin/htdocs/"

Order deny,allow
Allow from all


ScriptAlias /ccosswiki "/var/www/ccosswiki/moin.cgi"

Order deny,allow
Allow from all


* 重启 Apache 并测试 Wiki
* 1./etc/init.d/httpd reload
*

2.在浏览器中输入 http://192.168.28.1/ccosswiki
* 安装中文语言包
* 测试成功后,添加新用户,输入 root 用户名(在 wikiconfig.py 设置的超级用户),然后以 root 身份登录,输入以下网址:
o

http://192.168.28.1/ccosswiki/SystemPagesSetup
o

如果你没有管理权限,访问该页面时在语言包前面是不会显示安装按钮的。

相关配置

* 设置时区
*

除了手动更改外,我没找到好的办法 :(
* 具体操作:在“用户设置”、“时区”中修改“您的当地时间是”为+8的时间,比如 2006-12-13 14:36:54 [+08:00]
*

PS.刚试了几个采用 MoinMoin 的中文 Wiki 也有这个问题。
* 其它设置

补充

* 采用 Apache + Mod_Python 方式
* 这种方式能获得更高的性能,配置也不复杂,至少在我自己的机器上面很轻松搞定
*

1.安装 Mod_Python,目前最新版本为3.2.10,下载地址:http://www.modpython.org,安装过程如下:
o tar zxvf mod_python-3.2.10.tgz
o cd mod_python-3.2.10
o

./configure --with-apxs=/opt/apache2/bin/apxs 由于我机器上的apache没有安装在默认路径,故需要指定 apxs 的路径
o

make && make install 默认安装在 apache/modules 目录下
*

2.配置 /etc/httpd/conf.d/python.conf,添加 LoadModule python_module modules/mod_python.so
*

这时可以重启 apache 看能否正确装载 Mod_Python
* 3.检查 wikiconfig.py 中 data_dir 和 data_underlay_dir 路径是否正确
*

4.修改 /etc/httpd/conf.d/moinmoin.conf,注释 ScriptAlias :

#ScriptAlias /mywiki "/var/www/moin/mywiki/moin.cgi"

* 并增加


SetHandler python-program
# Add the path of your wiki directory
PythonPath "['/var/www/moin/mywiki'] + sys.path"
PythonHandler MoinMoin.request::RequestModPy.run


* 5.重启 apache 测试

权限

1.成为管理员:
在配置文件wikiconfig.py中加入如下一行:

acl_rights_default = u'+admin:admin,delete Known:read,write,revert All:read'

这样非注册用户仅有阅读权限,注册用户(Known指已经注册的用户)可读写;admin拥有管理员权限并且可删除、重命名.简言之,拥有admin权限的就是管理员.
2.建立群组:
假设我们要建立一个名为TrustedGroup的可信赖的组(注意:一个组名应该就是一个WikiName(wiki名),即以首字母大写的两个(或以上)单词组成一个词(单词之间无空格),如TrustedGroup)
1)进入FindPage,建立一个名为TrustedGroup的wiki page
2)编辑TrustedGroup,所有的组员名单以列表方式给出,比如:

* hitgnu
* jeffrey

由于此页面会影响到访问权限的管理,应该设置其权限于仅允许管理员读写,其他的用户应该对其无任何权限,故而此页的最后内容应该类似如下的方式:

#acl +admin:write,read All:
* hitgnu
* jeffrey

3.关键页面授权特定用户组访问:
建立了用户组之后,我们可以指定某个页面授权特定组的特殊权限,只需在该页面添加类似如下的内容:

#acl +admin:read,write,revert,delete TrustedGroup:read,write,revert All:

这样,仅仅管理员和特定的组成员可以看到并可以编辑该页面的内容,有效地保护该页面包含的敏感内容.

12/29/2006

待完成脚本

修改 IP 地址 sudo vi /etc/network/interfaces
...
auto eth1
iface eth1 inet static
address 192.168.2.18
netmask 255.255.255.0
gateway 192.168.2.1
wireless-essid TP-LINK
...

重啟網卡 使設置生效 sudo /etc/init.d/networking restart

修改 DNS sudo vi /etc/resolv.conf

以上工作,怎么用脚本实现呢?


#!/bin/bash
#############################
#Function: Auto change IP #
#Arch : Ubuntu,Debian #
#Created : 2006.12.28 #
#############################
usage(){
echo "USAGE: $0 "
}

if [ $# -gt 2 ] || [ $# -eq 0 ];then
usage
exit -1;
fi

if [[ $1 == 'spec' ]];then
if [ $# -lt 2 ];then
echo " No address specified!"
exit -1;
fi
else
if [ $# -eq 2 ];then
usage
exit 1;
fi
fi

mfile="/home/dev/tmp/interfaces"
mhome="192.168.2.18"
mout="192.168.1.18"
mode="$1"
case "$mode" in
home)
#cmd="perl -pi -e 's/(address\s+).*/\$1"$mhome"/ unless /^#/ ' $mfile"
cmd="sed -e 's/\(address \).*/\1"$home"/' $mfile"
echo $cmd
#eval $cmd
echo "Change to home mode ok."
;;
out)
#cmd="perl -pi -e 's/(address\s+).*/\$1"$mout"/ unless /^#/ ' $mfile"
cmd="sed -e 's/\(address \).*/\1"$out"/' $mfile"
echo $cmd
#eval $cmd
echo "Change to outside mode ok."
;;
spec)
#cmd="perl -pi -e 's/(address\s+).*/\$1"$mout"/ unless /^#/ ' $mfile"
cmd="sed -e 's/\(address \).*/\1$$2/' $mfile"
#eval $cmd
echo $cmd
echo "Change to specify mode ok."
;;
*)
echo " Not support mode specified!"
usage
;;
esac

12/26/2006

Diango + apache + mod_python 配置成功了!

系统为Debian,配置过程如下:
1.安装 apache2 mysql Django mod_python等,这里说明一下,应该安装 apache2,因为 apache 不支持 mod_python 模块;
2.创建 Django 工程,django-admin startproject mytest ,并做相应设置,启动 manage.py runserver 进行测试,保证 django 环境可用;
3.启动 apache2,保证 apache server 可用(安装 mod_python 后,启动 apache 该模块会自动加载,可查看 /etc/apache2/mods-available/mod_python.load);
4.新建 /etc/apache2/conf.d/python_django.conf 文件,内容如下(特别注意 PythonPath 的设置,我机器上 django 工程的绝对路径为 /home/dev/work/mytest):
Listen 192.168.28.170:8888


SetHandler python-program
PythonPath "['/home/dev/work/'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mytest.settings
PythonDebug On
PythonAutoReload Off


5.重新启动 apache,http://192.168.28.170:8888/xxxx/

在 debian 下使用 sudo

安装了 debian,使用过程中觉得 su 到 root 用户执行某些操作比较麻烦,还容易误操作,于是安装了 sudo,感觉方便多了,而且安全,下面是安装过程总结。
1.切换到 root 用户下面,安装 sudo 包: apt-get install sudo
2.配置:visudo /etc/sudoers,内容如下:

# Host alias specification
Host_Alias LAN = 192.68.28.169
# User alias specification
User_Alias DEV = admin
# Cmnd alias specification
Cmnd_Alias FILEUTILS = /bin/chown, /bin/chmod, /bin/chgrp, /bin/mount, /bin/umount, /usr/bin/cdrecord
Cmnd_Alias DEBUTILS = /usr/bin/dpkg, /usr/bin/apt-get
Cmnd_Alias EDITORS = /bin/vi, /bin/vim
# User privilege specification
root ALL=(ALL) ALL
%dev ALL=(ALL) NOPASSWD: ALL
Defaults:%dev !lecture
Defaults:%dev !authenticate

3.Ctrl + x 选择 Y 保存(覆盖原文件)
4.切换到 dev 用户下,执行 sudo apt-get update 试试 :D

Good luck!

12/21/2006

http://www.yarshure.com/zh/ibm_django/
http://moyuer.cn/

du -hs .evolution/

大清后宫主题曲君不见

12/20/2006

遇到几个 shell 问题

langpack=`cat /etc/sysconfig/i18n|grep "^LANG="|sed 's/_.*//'|sed 's/.*\"//'`
if [ $langpack == "zh" ]; then
echo "yes"
else
echo "no"
fi

cp %{_libdir}/firefox/defaults/profile/prefs.js `find $HOME/.mozilla/firefox/ -name prefs.js 2>/dev/null` --reply=yes &>/dev/null

cp test.js $( echo $( find $HOME/.mozilla/firefox/ -name xpti.dat )|cut -d '/' -f 1-5 )

12/15/2006

Shell mirror Ubuntu 的 i386 部分

转载自http://linux.hiweed.com/node/3218

rsync -aPS --delete-after --exclude *amd64* --exclude *ia64* --exclude *powerpc* --exclude *sparc* --exclude *hoary* --exclude *warty* --exclude *dapper* --exclude *.iso --exclude *.orig.tar.gz --exclude *.diff.gz --exclude *.dsc rsync://archive.ubuntu.com/ubuntu /home/w103/hiweed/mirror/ubuntu/


解释一下:
第2行 exclude 掉不想要的架构。
第3行 exclude 掉不想要的发行版本。
第4行 exclude 去掉 .iso 光盘镜像文件。
第5行 exclude 去掉源代码软件包。
第6行是镜像来源。
第7行是镜像到哪里去。

一个自动选择最快ubuntu mirror site的shell脚本

转载自http://blog.scaner.i.thu.cn

Bash:
#!/bin/bash

if [ $# != 1 -a "$1" != "hoary" -a "$1" != "breezy" ] ; then
echo "$0 (hoary|breezy)"
exit 1
fi

echo "Seting $1 ..."
MIRRORS="http://ftp.iinet.net.au/pub/ubuntu/ http://mirror.optus.net/ubuntu/ http://mirror.isp.net.au/ftp/pub/ubuntu/ http://www.planetmirror.com/pub/ubuntu/ http://ftp.filearena.net/pub/ubuntu/ http://mirror.pacific.net.au/linux/ubuntu/ http://ubuntu.inode.at/ubuntu/ http://ubuntu.uni-klu.ac.at/ubuntu/ http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ http://ftp.belnet.be/pub/mirror/ubuntu.com/ http://ubuntu.mirrors.skynet.be/pub/ubuntu.com/ http://mirror.freax.be/ubuntu/archive.ubuntu.com/ http://espelhos.edugraf.ufsc.br/ubuntu/ http://ubuntu.interlegis.gov.br/archive/ http://ubuntu.c3sl.ufpr.br/ubuntu/ http://mirror.cpsc.ucalgary.ca/mirror/ubuntu.com/ http://mirror.arcticnetwork.ca/pub/ubuntu/packages/ http://archive.ubuntu.org.cn/ubuntu/ http://debian.cn99.com/ubuntu/ http://mirror.lupaworld.com/ubuntu/ http://ftp.ucr.ac.cr/ubuntu/ http://archive.ubuntu.cz/ubuntu/ http://ubuntu.supp.name/ubuntu/ http://mirrors.dk.telia.net/ubuntu/ http://mirrors.dotsrc.org/ubuntu/ http://klid.dk/homeftp/ubuntu/ http://ftp.estpak.ee/pub/ubuntu/ http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/ http://mir1.ovh.net/ubuntu/ubuntu/ http://fr.archive.ubuntu.com/ubuntu/ http://ftp.u-picardie.fr/pub/ubuntu/ubuntu/ http://ftp.oleane.net/pub/ubuntu/ http://debian.charite.de/ubuntu/ http://ftp.inf.tu-dresden.de/os/linux/dists/ubuntu http://www.artfiles.org/ubuntu.com http://ftp.rz.tu-bs.de/pub/mirror/ubuntu-packages/ http://www.ftp.uni-erlangen.de/pub/mirrors/ubuntu/ http://debian.tu-bs.de/ubuntu http://ftp.ntua.gr/pub/linux/ubuntu/ http://ftp.kfki.hu/linux/ubuntu/ http://komo.vlsm.org/ubuntu/ http://kambing.vlsm.org/ubuntu/ http://ubuntu.odg.cc/ http://ubuntu.lhi.is/ http://ftp.esat.net/mirrors/archive.ubuntu.com/ http://ftp.heanet.ie/pub/ubuntu/ http://ftp.linux.it/ubuntu/ http://na.mirror.garr.it/mirrors/ubuntu-archive/ http://ubuntu.mithril-linux.org/archives/ http://mirror.letsopen.com/os/ubuntu/ http://ftp.kaist.ac.kr/pub/ubuntu/ http://ubuntu-arch.linux.edu.lv/ubuntu/ http://ftp.litnet.lt/pub/ubuntu/ http://nl.archive.ubuntu.com/ubuntu/ http://ubuntu.synssans.nl http://www.computacion.uni.edu.ni/iso/ubuntu/ http://no.archive.ubuntu.com/ubuntu/ http://ubuntulinux.mainseek.com/ubuntu/ http://ubuntu.task.gda.pl/ubuntu/ http://darkstar.ist.utl.pt/ubuntu/archive/ http://ubuntu.dcc.fc.up.pt/ http://ftp.iasi.roedu.net/mirrors/ubuntulinux.org/ubuntu/ http://ftp.lug.ro/ubuntu/ http://debian.nsu.ru/ubuntu/ http://ftp.acc.umu.se/mirror/ubuntu/ http://mirror.switch.ch/ftp/mirror/ubuntu/ http://apt.ubuntu.org.tw/ubuntu/ http://apt.nc.hcc.edu.tw/pub/ubuntu/ http://ubuntu.csie.ntu.edu.tw/ubuntu/ http://ftp.cse.yzu.edu.tw/ftp/Linux/Ubuntu/ubuntu/ http://godel.cs.bilgi.edu.tr/mirror/ubuntu/ http://www.mirror.ac.uk/mirror/archive.ubuntu.com/ubuntu/ http://ubuntu.blueyonder.co.uk/archive/ http://mirror.cs.umn.edu/ubuntu/ http://lug.mtu.edu/ubuntu/ http://mirror.clarkson.edu/pub/distributions/ubuntu/ http://ubuntu.mirrors.tds.net/ubuntu/ http://www.opensourcemirrors.org/ubuntu/ http://ftp.ale.org/pub/mirrors/ubuntu/ http://ubuntu.secs.oakland.edu/ http://mirror.mcs.anl.gov/pub/ubuntu/ http://mirrors.cat.pdx.edu/ubuntu/ http://ubuntu.cs.utah.edu/ubuntu/ http://ftp.ussg.iu.edu/linux/ubuntu/ http://mirrors.xmission.com/ubuntu/ http://ftp.osuosl.org/pub/ubuntu/ http://mirrors.cs.wmich.edu/ubuntu/"

TIME="/usr/bin/time -o timer.txt -f %e"
URL="dists/$1/main/binary-i386/Packages.gz"
WGET="wget --cache=off -T 20 -t 1 -w 0 -O /dev/null"
PAYTIME=1000
TEMPTIME=1000

SITE="NONE"

for mirror in $MIRRORS; do
echo "Testing $mirror ..."
TEMPTIME=$($TIME $WGET $mirror$URL)
if [ "$?" = 0 ] ; then
TEMPTIME=$(cat timer.txt)
echo "wget $1: $TEMPTIME CurrMinTime: $PAYTIME"
TEMPTIME2=$(echo "$PAYTIME> $TEMPTIME"|bc)
if [ $TEMPTIME2 = 1 ] ; then
PAYTIME=$TEMPTIME
SITE=$mirror
echo "Set best site($PAYTIME): $SITE"
fi
fi
rm timer.txt
done

12/11/2006

曾经免费的 stardict 收钱了~

首先他这样收费不合理,另外这难不到我们,字典可以从这样下载:
ftp://nchc.dl.sourceforge.net/s/st/stardict/

安装方法:
tar -xjvf xxxdict.tar.bz2
mv a /usr/share/stardict/dic

12/06/2006

django

Proposal: Forms and BoundForms
http://code.djangoproject.com/svn/django/trunk/django/newforms/
http://codeplayer.blogspot.com/index.html

恢复删除的文件

首先停止对该分区的写操作并以只读方式 mount 该分区,做备份

# debugfs /dev/
然后使用 lsdel 列出被删除的文件节点,
找到对应时段被删除的, 文件大小大致符合的文件,
然后将其 dump 出来.

使用 ls -d 查看的删除的文件名称


----------------------------------------------------------

星传
telnet towel.blinkenlights.nl

珍爱生命,远离电脑

什么也别说,先装上它,或许我们又一次挽救了一个即将被工作累死的生命。如果你是每天对着电脑工作的人,而且眼睛、脖子、肩膀或者手腕正体验着酸痛,除了加强锻炼,你可以试试用 WorkRave 先保护一下自己。

WorkRave 可以按照你设置的时间间隔弹出提示窗口强制你休息,防止你太沉醉于工作以致于损害了身体。休息的过程中,还可以跟着它一起做做操。通过设置咖啡时间提醒你在长时间工作后起来活动活动。一天工作结束,它也会友好地提示你不要再对着电脑。


WordRave:
http://www.workrave.org/download/

DrWright(only linux):
http://ftp.acc.umu.se/pub/GNOME/sources/drwright/

scim配置

建立“/etc/X11/Xsession.d/95xinput”,在此文件中输入如下内容:
-----------------------------
case "$LANG" in
zh_TW*)
/usr/bin/scim -d
XMODIFIERS="@im=SCIM"
;;
zh_HK*)
/usr/bin/scim -d
XMODIFIERS="@im=SCIM"
;;
zh_CN*)
/usr/bin/scim -d
XMODIFIERS="@im=SCIM"
;;
esac

export XMODIFIERS

12/04/2006

Debian 无线上网

无线网卡驱动的官方主页:http://ndiswrapper.sourceforge.net
安装指南:http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation

1. 先用apt装个kernel-header-2.6.x
2. 去http://sourceforge.net/projects/ndiswrapper/,下载ndiswrapper的source
3. 解压ndiswrapper,进入ndiswrapper源代码目录,执行

12/01/2006

idea

来个办公室的花草排行?
[14:41:55] 蜘蛛侠 说:
卧室的?
[14:42:07] 蜘蛛侠 说:
谁在和你养一样的花草?
[14:42:40] 蜘蛛侠 说:
嗯 如果有这么的网站,我会去的
[14:43:25] 艳 说:
或者是吧自己家的花草 那过去秀秀



python源码分析:
http://blog.donews.com/lemur/

django教程:
http://www.woodpecker.org.cn/obp/django/django-stepbystep/newtest/doc/