Friday, December 28, 2007

转换 Mp3 标签

记录备忘

sudo apt-get install python-mutagen
find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;

emacs 代码导航

emacs 自带的 ctags 不支持 ruby,安装 exuberant-ctags 提供 ruby 语言支持。

aptitude install exuberant-ctags

生成 TAGS

ctags -e -R ~/www/mephisto/

使用 tags 代码导航 copy 自 exuberant-ctags manpage:

HOW TO USE WITH GNU EMACS
       Emacs  will,  by default, expect a tag file by the name "TAGS" in the current directory. Once the tag file is built, the following commands exercise the tag indexing
       feature:

       M-x visit-tags-table  FILE 
                 Select the tag file, "FILE", to use.

       M-. [TAG] 
                 Find the first definition of TAG. The default tag is the identifier under the cursor.

       M-*       Pop back to where you previously invoked "M-.".

       C-u M-.   Find the next definition for the last tag.

       For more commands, see the Tags topic in the Emacs info document.

works almost great!

Tuesday, December 04, 2007

sugarcrm 定制开发小帖士

定制重复记录发现

sugarcrm 中的姓和名是分开的,对于中文来说,只需要一个字段即可,我们这里只使用了 last_name,first_name 一律留空,便于搜索。 sugarcrm leads 的“重复记录发现”功能默认匹配 first_name 和 last_name 字段,需要将 first_name 关闭。 打开 $PATH/include/SugarObjects/templates/person/vardefs.php,注释掉 first_name 的 merge_filter 键:

'first_name' =>
  array (
   'name' => 'first_name',
   'vname' => 'LBL_FIRST_NAME',
   'type' => 'varchar',
   'len' => '100',
   'unified_search' => true,
   'comment' => 'First name of the contact',
/** start customization */
           //'merge_filter' => 'selected',
/** end */   
          
  ),

Monday, December 03, 2007

emacs plugins

rcodetools

rcodetools is a collection of Ruby code manipulation tools for automagic Test::Unit(RSpec) assertion generation, code annotation, 100% accurate code completion, code & doc browsing, obtaining precise method info, meta-prog. aware, etc.
rcodetools will work better if you use it along with FastRI, an alternative to
the standard 'ri' documentation browser which features intelligent searching,
better RubyGems integration, vastly improved performance, remote queries via
DRb... You can find it at http://eigenclass.org/hiki.rb?fastri and it is also
available in RubyGems format:

   gem install fastri

Read README.emacs and README.vim for information on how to integrate
rcodetools in your editor.
sudo gem install rcodetools
gem install fastri
ln -s $PATH/rcodetools.el ~/emacs.d/libs
添加设定:
(require 'rcodetools)

参考:

Friday, November 30, 2007

从头搭建 rails on emacs 开发环境

最近准备用 rails 做新的产品,没有熟悉的 ruby 开发环境,索性这次狠下心来,用 emacs。

安装设定 emacs

Ubuntu gusty 下安装 emacs

sudo aptitude install emacs

安装 ruby mode

sudo aptitude install ruby-elisp

安装 emacs-rails

mkdir ~/.emacs.d/
cd  ~/.emacs.d/
svn co svn://rubyforge.org/var/svn/emacs-rails/trunk rails

下载需要的库文件

cd  ~/.emacs.d/
mkdir libs
cd libs
wget http://www.kazmier.com/computer/snippet.el
wget -O find-recursive.el http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt
snapshot设定代码到 ~/.emacs
; rails mode
(setq load-path (cons "~/.emacs.d/rails" load-path))
(setq load-path (cons "~/.emacs.d/libs" load-path))
(require 'rails)
(require 'find-recursive)
(require 'snippet)

几个有用的 mode

sudo aptitude install ecb
sudo aptitude install emacs-goodies-el

设定 emacs 颜色方案 ubuntu 的 emacs-goodies-el 包已经提供了 60 多种颜色方案,不过都不是很能让我满意,-__- 这里用了 hober2 的颜色方案。

cd ~/.emacs.d/
mkdir color-scheme
cd color-scheme
wget http://edward.oconnor.cx/elisp/color-theme-hober2.el
增加设定代码到 ~/.emacs
; theme
(setq load-path (cons "~/.emacs.d/color-themes" load-path))
(require 'color-theme-hober2)
(color-theme-hober2)

OK, rails on emacs 环境已经完成,进入 rails project 目录,打开一个文件试试,rails mode 已经默认加载了。唯一不还不满意的是字体,看了一把 emacs 文档 Defining fontset 节,发现 emacs 2.2 包括之前的版本字体设定通过 ~/.Xresource 文件,并不支持 Xft freetype,好在 SVN 的 emacs 已经支持 unicode 和 Xft freetype,并 有人为 ubuntu 打了包。 添加下面的设定到 /etc/apt/source.list

# emacs snapshot
deb http://ppa.launchpad.net/avassalotti/ubuntu gutsy main
sudo apt-get update
sudo aptitude install emacs-snapshot-gtk
注意,PPA 仓库中的 deb 包密钥并未包含在 ubutnu keyring 中,安装的时候需要手工确认。 增加设定代码到 ~/.emacs
(set-default-font "DejaVu Sans Mono-10")
(set-fontset-font (frame-parameter nil 'font)
         'unicode
         '("DejaVu Sans Mono-10" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font)
             'han
         '("SimSun" . "unicode-bmp"))

参考资料:

Friday, November 16, 2007

公司门户改版手记

day 1

公司网站改版,索性扔掉 drupal 改用 symfony,维护起来会方便很多。

试试 bleeging edge trunk 先,大体上是一致的,虽然半年没用 symfony,遇到问题参考 symfony/docs 和以前代码即可, 未更新到 symfony 1.1 的 plugin 直接 svn export 过来,大多可以正常使用,一切设定停当,移植 utilities 和 basic class,卡壳在 propel,symfony 1.1 将 propel 拆分出去为单独的 plugin (which is good),从现在看来还不稳定,并且实际使用的话,需要 compat 10 layer,旧的 helper 系统还未移植过去。1.1 的 widget、validator、event 等都还没有文档。时间紧张,没有时间看代码 debug(还记得 symfony 1.0 beta 时候花费很多时间找 symfony 的 bug),所以做出决定,放弃 symfony 1.1!

回到 1.0 stable,再熟悉不过了,搭建基本系统,配置数据库,创建 frontend app,安装 plugin,试验 sfGuardPluin 一切停当之后,发现非常之 lack of feature! 没有 editor profile,request password,RBAC 对公司门户来说是杀鸡用牛刀,放弃 sfGuardPluin。

从以前项目移植 signup/login/user 等,一切顺利。

新的网站需要 blog 系统,sfSimpleBlogPlugin 功能简单,本这够用就好的原则,安装测试,buggy,propel-build-model task 失败(sfGuardPlugin 正常),最致命的是无法定制 module 名称,http://blah.com/sfSimpleBlog 这样的 URL 对我来说是无法接受的,放弃 sfSimpleBlogPlugin。

两次使用 plugin module 的失败经验让我确信不用再看 sfSimpleCMSPlugin 了,新闻栏目本来需求就很简单。

try, try, try,try 掉宝贵的一天时间。明天任务很重了。

day 2

创建 backend app,移植 layout,menu system。

创建 blog 数据库 schema,用以前写的 Comment plugin scaffolding 出基本的带评论功能的 frontend blog module。CommentHelp 是 ajax based,对这个项目来说太复杂了,注释掉 templates 中用于 display comment 部分的代码,放到后面再考虑。

使用 propel-init-admin 创建 blog post, blog post comment 后台模块,定制 generator.yml,增加 TinyMCE 编辑器, 导入 sfMediaLibaryPlugin 提供图片媒体支持,搞定 blog 后台部分。

news schema,后台模块;ask schema,系统后台。fixture 功能还是比较若,手工写代码初始化测试数据。

day 3

移植分页系统,更新分页 helper,开始 blog 前台部分,列表需要现实博客文章 summary,暂时去除 html tag 好了,抓出一段完整的 html tag 的话,估计会比较浪费时间,之前使用 drupal,这个问题就让我非常不爽。

blog 的显示页面,URL 使用 permalink,格式为 blog/:year/:month/:day/:permalink,permalink 为去除特殊字符后的 title,对 SEO 稍有好处。

新闻、问题前台。about 模块,添加 routing 保证 URL 和原系统一致。

首页,CSS fixing。

用户个人信息设置,找回密码功能。

testing, bug fixing。

上线。

day 4

使用 sfSugarCRMPlugin 模块处理 lead caputures。

使用 awstats 分析日志,找出 Error 404。调整 routing,保证旧系统链接可用。

SEO,添加 meta 信息,调整系统 title。

添加 RSS blog 订阅功能。

We are done!

Wednesday, November 14, 2007

文件名转码工具 convmv

$convmv -f gbk -t utf8 *
$convmv -f gbk -t utf8 --notest *
省得每次都得 google, @_@

Monday, November 12, 2007

转移 SVN 仓库下单个目录

有个项目需要转移到另外一个 SVN 仓库,查了 SVN 手册未找到仓库部分转移的办法,跑去 Freenode IRC #svn 频道问人,有人回答: “I haven't done it, but your best bet is to mix 'svnadmin dump' and 'svnadmin load' and 'svndumpfilter' in some way”。我担心有 revision number conflict 的问题,不过还是试试先好了。

假设需要导出的项目为 legacy repository 下的 blah。

$svnadmin dump /media/work/legacy/svn/repos > dumpfile
$cat dumpfile | svndumpfilter include blah > blah-dumpfile
$svnadmin load /var/lib/svn 

还好,两个 repository revision numbers 差距很大,import 很顺利。 cehckout 出来时候检查历史等,一切正常,^^

Wednesday, October 31, 2007

Leopard 初体验

Apple 的 Leopard 这个月 26 号上市,而 bt 上的 leak 版本已经被验证就是 GM 版,文件大小 6.6 个 G,Holy shit。买来 DL 的刻录光盘,结果不知道是 6 快一张的三菱光盘太劣质还是我最近人品不足,MBP 895 自带的光驱无法为刻录光盘设置正确的激光频率。网上看到有人通过火线硬盘安装成功,拿来我的 USB 移动硬盘,试试先,还好昨天清空了一个分区,料事如神了一把,^^

格式化移动硬盘分区为 Mac OS 分区格式,挂载上 DMG,恢复 Mac OS Install CD 到 移动硬盘的分区。重启,refit 会自动认出后这个可启动的 Mac 分区,选择进入后直接进入安装界面,安装很顺利,不过并没有看到传说中的定制安装类型和语言选择界面(应该是我看的不够仔细),reboot,进入系统之后确认默认用了升级安装,网络、iTunes、Docks 等一切正常, so far so good。

注:我的系统使用了 refit 来 trip boot Linux/Vista,一般的 Mac 用户在系统设置里面选择启动光盘为 USB 上的分区即可。

试用了个把小时,Dock 和 菜单的 UI 的改动的确让人很不舒服,fake 的 3D 和透明菜单栏都让人更迷糊,焦点不集中,Dock 中的已打开程序改用图标倒影中的亮点,远没有 Tiger 中的三角图标来得直观,Mac OS X 10.5 Leopard: the Ars Technica review 诚不我欺。

Leopard 是 Mac 家族首款通过 UNIX 兼容性认证的操作系统,从目录结构组织来看,沿袭了 Apple 的传统方式,我还是很难习惯。基于对 UNIX 兼容性认证的信耐和盲目崇拜,我愿意相信对 Unix 下软件的兼容性会大大增强。对于开发者来说 Leopard 最大的更新之一应该是集成了 DTrace 调试工具,加上前端 XRay 用起来非常爽了。Leopard web 开发支持这块的亮点非 自带 Rails 莫属了,版本为 1.2.3。rails 这两年的走红加上 rails 的核心开发者清一色的都用 Mac,使得 Mac 在 rails 社区的流行度度很高,看之前的 rails 大会就知道,几乎全是 MBP,apple 当然也知道这是个双赢,于是早早的就对 rails 社区承诺,leopard 将内置 rails。Leopard 的 apache 升级到了2.2,PHP 也终于升级到了 5.2.4,python 为 2.5,为 web 敏捷开发提供了强有力的支持。

Wednesday, October 24, 2007

升级到 gutsy

desktop 一直是 update to date 的 gutsy,俺也成了所谓的追一族了,-,- 为 了能用上 asterisk 1.4 升级 workstation 到 gutsy,整个升级过程非常顺利,除去我这破网下载等待时间超长之外,升级设置 im-switch,修改 apache 配置,等等 30 分钟搞定。Smooth to the hell, sweet!

Wednesday, October 17, 2007

digium 板卡终到手

Asterisk 是开源的电话交换系统,算得上是企业应用了,不过貌似目前市场比较小,加上刚开始在国内有一定的知名度,其背后的 digium 公司生产的板卡在中国就很不好买,国内目前还没有 digium 的 distributor,找到一家广州的企业号称是 reseller,先不管资质定了一块 4FXO 卡。N 通电话,肝火上升,总算是等来了卡。佛里德曼说“世界是平的”已经有 6 个年头, 北京地铁到处可见 UPS 的广告,处在这样的一个时代,从国外 ship 过来前后半个多月的时间,不禁感叹平坦世界的世界还是偶尔会有“惊喜”。

之前已扫过 asterisk 电话未来之路、asterisk without tears,乘机器没到手,先在 VMWare 上安装个 trixbox,熟悉一下,再决定是用 Debian 还是 trixbox。

Tuesday, June 26, 2007

zimbra on Debian etch 安装

zimbra 科普

zimbra 是一个集成的协作办公系统,Open Source 版本的提供的功能和构件有:
  • Pop3/IMAP
  • web 界面的管理系统
  • webmail 系统,并支持地址簿,行事历等
  • Apache Tomcat,提供 web 服务器环境
  • Postfix, 发送邮件的 MTA
  • OpenLDAP 提供 LDAP 用户认证
  • MySQL 数据库存储用户账户,用户 webmail 相关数据
  • Lucene,数据索引和搜索
  • Anti-virus,防病毒系统
  • Anti-spam,预防垃圾邮件系统
  • Zimbra Spell 拼写检查

安装

zimbra 当前稳定版本是 4.5,并没有 for debian etch 的二进制包,好在有提供 for debian sarge 的,安装的话需要做一些小手脚:
// quote from http://www.zimbra.com/forums/installation/6443-debian-etch-4-0-install.html#post41225

before you start, *setup your DNS*. Zimbra install is very sensitive to correct DNS setup, particularly /etc/hosts and forward resolution of the hostname you are installing on as returned from hostname. Search wiki/forum for correct DNS setup.

change /etc/debian_version to 3.1
apt-get install sudo curl fetchmail libgmp3c2 libssl0.9.7 libdb3
chmod a+rwx /tmp

tar -xzf 
cd zcs/

clean out previous attempts:
sh install -u
rm -rf /opt/zimbra
rm /tmp/install*
rm /tmp/zmsetup*
rm /tmp/*zim*

change util/utilfunc.sh
if [ $PLATFORM = "UBUNTU6"]; then
to
if [ $PLATFORM = "UBUNTU6" -o $PLATFORM = "DEBIAN3.1" ]; then

sh install.sh

Strangely detects hostname as domainname (never quite understood why it does this). Select 'Yes' for "Change domain name", change to domainname "domain.com" instead of "host.domain.com"

If you haven't set your MX yet, ignore (you'll need to set this later but its fine for install):
DNS ERROR - none of the MX records for ijichi.org
resolve to this host
It is suggested that the MX record resolve to this host
Re-Enter domain name? [Yes]
^^ Choose "No"

Install Menu: Choose 6 for zimbra-store, 4 for Admin Password, enter password, 'r' or  for previous menu, 'a' to apply, Enter for next two questions:
Save configuration data to a file? [Yes]
Save config in file: [/opt/zimbra/config.15938]
Then 'Yes' for: The system will be modified - continue? [No] yes

Checkout output carefully for *any* errors, should install fine.

You can change /etc/debian_version back to 4.0 after install but you'll have to change it for each upgrade
上面所说还是有一些不符的地方,安装脚本名称为 ./install.sh,修改过后按照法安装顺利。 安装之前需要注意端口冲突,先停掉如 apache 等可能端口冲突的程序。

调整

zimbra 提供的包是完整的环境,包括 apache, tomcat, mysql 等。如果系统已经有了 apache 需要做一些调整。如果原有的 web 不需要 https 的支持,完全可以让 zimbra apache 跑在 443,既提高了安全性,又不会和以后系统冲突。
// quote from http://wiki.zimbra.com/index.php?title=ZimbraApache
su - zimbra
zmtlsctl https
tomcat restart
so far so good,直到

问题

实际运行中发现 smtp 无法认证,搜索了一下,发现是认证 URL 没有正确设置到 https 导致,属于 zimbra 4.5 的 BUG。重新设置 zimbraMtaAuthHost 手工修正此问题。
su - zimbra
zmprov ms `zmhostname` zimbraMtaAuthHost mail.example.com

web 管理地址

https://mail.example.com/ 用来访问 webmail https://mail.example.com:7071/ 访问 web 的管理界面。

数据迁移

epaulin 没有数据数据需要迁移,不过这些链接或许对您有用:
  • http://www.zimbra.com/docs/
  • http://www.zimbra.com/community/documentation.html
  • http://wiki.zimbra.com/index.php?title=ZCS_System_Architecture
  • http://wiki.zimbra.com/index.php?title=User_Migration_Articles

Wednesday, May 30, 2007

微软揭密 surface computer

微软在 D conference上揭密了最新秘密武器,surface computer。微软这把该借 surface 得到不少 PR 了。 surface 看上去像个 coffee table, 可以用手多点操作,来浏览图片、地图、播放视频、发送 email,甚至在餐厅点单。surface 内置了相机,用来识别放在表面上的物体,比如相机,神奇的是,surface 会通过无线自动取出相机内的照片,移动照片到另外一个无线设备?用手“甩”过去。

Tuesday, May 15, 2007

debian etch 下 Marvell 88E8050 网卡驱动问题

手上有台双网卡服务器,一张是 Intel 的,另外一张是 Marvell 88E8050,原先只是用了 eth0 的 Intel 网卡,后来增加了网通的线路,于是启用了 eth1 的 88E8050,加上路由策略。运行后不久,问题出现,刚开始表现为网通线路不正常,再后来完全无法访问,最终导致内核崩溃。有 log 为证:
#less /var/log/messages
May 13 23:19:34 localhost kernel: NETDEV WATCHDOG: eth1: transmit timed out
May 13 23:19:34 localhost kernel: sky2 status report lost?
May 13 23:19:39 localhost kernel: NETDEV WATCHDOG: eth1: transmit timed out
May 13 23:19:39 localhost kernel: sky2 status report lost?
May 14 10:32:37 localhost syslogd 1.4.1#18: restart.
May 14 10:32:37 localhost kernel: klogd 1.4.1#18, log source = /proc/kmsg started.
google 了一下,gentoo 的论坛有用户指出kernel 驱动有问题,gentoo 的两位工程师已经提交了 patch 并进入了 2.6.21,从论坛上用户使用 2.6.21 的使用反馈来看并不相同,有些用户问题依旧存在,etch 的内核是 2.6.18,anyway,编译 2.6.21 内核先。
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2
#wget -c ftp://ftp.linuxforum.net/ftp.kernel.org/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2
#tar jxvf linux-2.6.21.1.tar.bz2
#ln -s linux-2.6.21.1 linux
#cd linux
#make menuconfig
#make-kpkg clean
#fakeroot make-kpkg --revision=Custom.1.0 kernel_image
#fakeroot make-kpkg --revision=Custom.1.0 kernel_headers
#dpkg -i linux-image-2.6.21.1_Custom.1.0_i386.deb
#dpkg -i linux-headers-2.6.21.1_Custom.1.0_i386.deb
#cd /boot
#mkinitrd -o /boot/initrd.img-2.6.21.1 2.6.21.1
#vim grub/menu.lst
// 加入
initrd          /boot/initrd.img-2.6.21.1
#reboot
重启过后使用一段时间发现还是有异常日志,不过新驱动好像在异常发生后,会重启 eth1 sky 网卡。继续使用小段时间有用户报告网通线路无法访问,我尝试着手工重启了一把,结果导致整个网通线路不同,登录上去后使用网通线路 ping 网通 DNS 又居然是通的,从其它机器 traceroute 的时候无法连到网通网卡,奇怪!再次重启,问题解决,目前正常运行一天,未出现异常情况,good,继续观察。 UPDATE: 2007-06-02,问题依然存在,2.6.21 不会导致内核崩溃, 但在 88E8050 网卡经常停止工作。

Monday, May 14, 2007

NVIDIA 9631 版驱动和 Xorg 7.2

etch 发布后,SID 开始疯狂上载,开始阶段不太稳定,一直没有更新,直到最近,aptitude dist-upgrade 的时候升级了几百来 M 的内容,重启后发现屏幕出现了飘移,xvidtune 伺候,调整之后 restart X,情况依旧,ft.... 于是尝试安装 NVIDIA 的驱动,NVIDIA 97XX 版的驱动已经去掉 legacy 的支持,不幸我的老爷机还是 MX400 的显卡,找来 NVIDIA 9631,安装完后重启 X,无法打开 nvidia 模块:
(WW) Warning, couldn't open module nvidia
(II) UnloadModule: "nvidia"
荒谬!继续 google ing...,好在是个老问题,讨论很多。 原因是 NVIDIA 96XX 在 Xorg 7.2 之前发行的,不支持新的 Xorg 标准,work around 很简单:
#./NVIDIA-Linux-x86-1.0-9631-pkg1.run --x-module-path=`X -showDefaultModulePath 2>&1 | cut -d, -f1` --x-library-path=`X -showDefaultLibPath 2>&1`
这次 X 顺利启动,熟悉的 NVIDIA Logo 过后,进入 KDE 桌面,可是桌面飘移的问题依然存在,祭上终极武器,手工调整显示器解决,好在 windows 也是基本不用的。

Tuesday, May 08, 2007

eZ Components 发布第一个 beta 版本

引用自 ez 官方发行说明
The major highlights in this first beta of the eZ Components 2007.1 are the new components Authentication (database, ldap and typekey based authentication) and Workflow, a component to provide the core functionality of an activity-based workflow system including the definition and execution of work flow specifications. Other additions include a new type of diagram to the Graph component (radar charts), a new MS-SQL driver for the Database component, automatic generation of classes for use with PersistentObject, SSL support in the Mail component and many other small improvements.
伴随第一个 beta 版本的发布,期待已久的 Workflow Component 也从 experimental 进了 eZ Components,意味着 API 已经稳定,接下来的几个星期会完善文档,等不及的话可以先看代码,eZ Components 代码质量本来就非常高,更何况 Workflow Component 和 PHPUnit 的开发者是同一人 :Sebastian Bergmann。 Sebastian Bergmann 原本是要做一套完整的 workflow 管理系统,后来读了几篇论文之后改变主义,决定做一套核心功能的 Component,多亏如此,我们才有了 eZ Workflow Component。

Monday, May 07, 2007

Linux 对 MSDOS(PC BIOS) 分区表的支持

前些时日买了个移动硬盘,卖盘老板好心给我分了区,谁知回家发现 Linux 无法读取硬盘内容,起先怀疑硬盘盒是不是有问题,挂到 windows 上,一切正常,于是看了把 dmesg :

SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
sda:<6>usb 2-1: USB disconnect, address 2
sd 0:0:0:0: SCSI error: return code = 0x00010000
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
sd 0:0:0:0: rejecting I/O to device being removed
Buffer I/O error on device sda, logical block 0
unable to read partition table
sd 0:0:0:0: Attached scsi disk sda

硬盘已经找到了,读取的时候发生了 IO 错误,google 一把,找到了个德语的论坛,google 翻译一下,大致说确定是低版本 kernel 对 MSDOS 分区支持有问题,系统是 kernel 2.6.17,2.6.21 已经放出,正好更新一下内核,于是下载、编译 (记得打开 MSDOS 分区表支持)、重启,问题果然解决。

期待 Debain KDE4 包

之前在 IRC 上听 freeflying 说到已经在用 KDE4 alpha 版,很是心动,更别提 Okular 还可以做书签添加 review。之后的几天晚上时间我都在埋头编译 KDE4,可惜编译 Okular 时候始终找不到 PDF 库,libpoppler-qt-dev 拒绝工作,于是作罢。 今天看到 pkg-kde-talk上说已经开始 KDE4 的工作,删了本机的 KDE-devel,乖乖的等 debian 包吧,好在,这些年来,耐性大涨。

Tuesday, May 01, 2007

web 设计者调查 | The Web Design Survey

A list part 出了个调查,询问的对象当然是 web 设计/开发者,问题覆盖面挺广,比如工作环境、薪资情况、地域限制、种族歧视等等。A list part 希望借此能够让公众更加了解、尊重这个(web设计师)职业。如果你有兴趣,请点击下面的链接:

PS: 是有奖品的哦。

Tuesday, March 20, 2007

omniti 的实验室

偶然看到 omniti 新的站点 https://labs.omniti.com/,omniti 是这么描述它的实验室的:
OmniTI Labs is our repository for some of the projects we generate while working on stuff for clients,            for our products, or just on things that we think are cool.  The website is a way for us to give this           code back to the community.
目前的项目不多,Alexandria 是其中之一,包含了 Mailer/Transport/OpenID/UUID/XmlRpcClient 等类,代码还未能看到,先放出的是文档。倒是很期待看看 omniti 的东东是不是和他们说的一样 cool,:- )

Tuesday, March 13, 2007

AM I?

Your results: You are Superman
Superman
85%
Spider-Man
85%
Supergirl
70%
Iron Man
65%
Green Lantern
60%
The Flash
60%
Robin
55%
Catwoman
55%
Wonder Woman
45%
Hulk
40%
Batman
30%
You are mild-mannered, good, strong and you love to help others.
Click here to take the Superhero Personality Test

Sunday, March 11, 2007

23 Reasons to Smoke Marijuana

23 Reasons to Smoke Marijuana Note: Some of these reasons may seem like reasons to not not smoke pot, but consider that the only thing holding people back from smoking pot may be rediculous stereotypes (all smokers are lazy) or untruths (it'll give me cancer), and thus these reasons, for those people, are actually reasons to smoke. 1) Nobody has ever died from smoking pot. 2) Marijuana users report less depression 3) Marijuana does not cause emphysema, unlike tobacco. 4) Marijuana does not cause cancer (and if you smoke it you are actually slightly less likely to get cancer) 5) THC actually helps cleanse the lungs, preventing tumors 6) Daily marijuana use doesn’t damage your brain. 7) There has never been a study to link marijuana with psychological problems, though it’s not for a lack of trying. 8) Marijuana is NOT a gateway drug. 9) Marijuana fights hardened arteries 10) Marijuana has both stalled the growth of and eliminated brain tumors in rats. Such an experiment has yet to be done on humans. 11) Not that herd mentality is a good reason, but you’re not alone. Marijuana is the US’s number one crop. 12) Sex gets a whole lot better 13) 15 million people smoke it a month (US only). 14) Marijuana can prevent blindness. 15) Marijuana can prevent migraines. 16) Marijuana is less addictive than caffeine. There is no physical addiction but a slight mental addiction can develop. 17) In 1977 the DEA wanted to decriminalize marijuana. When the government, which has tried for so long to prove that marijuana is harmful, admits that it really isn't, shouldn't that tell you something? 18) Haven’t you always wanted to be able to laugh at Pauly Shore? 19) Because legality isn’t a good enough reason for you to not smoke. Slavery was once legal and sodomy was once illegal; legality is a horrid barometer for morality. 20) Because getting “high” isn’t “bad.” Though you may not realize it, eating meat or candy or fried foods or vegetables or drinking coffee, tea, or soda all effect your mental state. All of these things can make you “high.” 21) Because we don’t yet know all of the benefits of marijuana; the government has tried for years to prove that it is harmful and has consistently failed. Very few studies have explored its benefits. 22) Because you would be in the company of Louis Armstrong, the Beatles, Bob Denver, Bill Clinton, George Bush (okay, never mind him), famous scientist Carl Sagan, Michael Bloomberg, Lewis Caroll, George Washington Carver, Salvador Dali, Al Gore, Steve Jobs, John kennedy, John Wayne, and George Washington. 23) Because it feels good and it doesn't hurt anyone.