my firefox extention list

 Now try use the firefox extention named performancing to write my blog. and post my ff extension list on my blog.and i find that the performancing can’t use the MT extend text area and also can’t use the brief and keyword textarea.so the new added article can’t be added to the tag cloud.

SEPY 在tiger 10.4.6上的bug和解决方法

sepy osx10.4.6 bug fix

note:2006-06-02 这个 版本的SE|PY系统占用和效率有问题,有时候鼠标框选都会引发程序crash。在我G5 1.8G+1G ram的机器上跑,时间一长会导致系统变慢。估计跟他的内存垃圾回收的处理有关。

SEPY这个open source的actionscript editor在mac osx上也有binary的版本了,不过我在10.4.6上运行有问题,会因为库链接异常而被终止启动,console错误信息如下

ImportError: Failure linking new module: /Applications/SEPY ActionScript Editor.app/Contents/Resources/Python/lib-dynload/wx/_core_.so: Library not loaded: /opt/local/lib/libSDL-1.2.0.dylib
  Referenced from: /Applications/SEPY ActionScript Editor.app/Contents/MacOS/../Frameworks/libwx_macu-2.6.0.dylib
  Reason: image not found

查了一下google给出如下bugfix方法,就是修复link到正确的library位置。在shell里面输入如下命令:

install_name_tool -change /opt/local/lib/libpng.3.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libpng.3.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libwx_macu-2.6.0.dylib

install_name_tool -change /opt/local/lib/libjpeg.62.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libjpeg.62.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libwx_macu-2.6.0.dylib

install_name_tool -change /opt/local/lib/libtiff.3.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libtiff.3.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libwx_macu-2.6.0.dylib

install_name_tool -change /opt/local/lib/libexpat.0.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libexpat.0.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libwx_macu-2.6.0.dylib

install_name_tool -change /opt/local/lib/libSDL-1.2.0.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libSDL-1.2.0.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libwx_macu-2.6.0.dylib

install_name_tool -change /opt/local/lib/libjpeg.62.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libjpeg.62.dylib /Applications/SEPY\ ActionScript\ Editor.app/Contents/Frameworks/libtiff.3.dylib

如有必要,可选择先升级python版本到2.4.1。再有问题那就一起把wxPython也装上吧。(这个问题应该跟python版本无关) :)

因为一直不习惯textmate(+中文显示bug)加上讨厌bbedit。SEPY应该算是个不错的选择。而且可以心安理得的用!

osx安装imageMagick和perlMagick

安装 ImageMagick + PerlMagick

我的安装过程比较散乱,事后想来还是直接从source code编译比较方便。因为有darwin ports的 帮忙,以前安装的头痛的库问题,多少可以解决不少。杂七杂八装的东西一多,难免就忘了。上次一台linux raid的机器挂掉,想google安装配置的说明,结果找到自己blog的备忘,得以节约了不少时间,顺利挂好Raid。看来这个烂笔头还是有用的!

 先到 http://www.imagemagick.org/script/binary-releases.php#unix 抓了一个osx版本的binary ,直接cp /usr/local下, tar -xvzf 这个tar.gz包.然后 ln -s /usr/local/thisVersion.tar.gz ImageMagick 另外也修改了/etc/profile的配置,把imagemagick参数了路径加进去,再 chmod -R 775 ImageMagick .但是用 convert logo: logo.gif 测试有错误,原因是一些库没有装,不管了,直接用darwin ports安装

sudo port install ImageMagick

darwinports 默认安装位置在/opt/local下面,这个过程也会先装一堆库进去,装好用root测试正确,接着是perlMagic的事情.因为binary版本的imageMagick没有包含perlMagick 用cpan安装的又是6.2.4的版本,而且一堆Lib指向都有问题,编译有一大堆错误。放弃!
又去抓了一个同版本的source的tar.gz包回来。解开,其他不用,直接拿里面PerlMagick子目录用,先改MakeFile.PL文件的lib指向

   'LIBS'    => ['-L/opt/local/lib -L/usr/local/ImageMagick/lib -lMagick -lfreetype -lz -L/usr/X11R6/lib -lX11 -L/usr/local/lib -llcms -ltiff -lfreetype -ljpeg -lgs -lpng -lfontconfig -lwmflite -lXext -lXt -lSM -lICE -lX11 -lbz2 -lrsvg-2 -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxml2 -L/usr/lib/graphviz -lgvc -lz -lpthread -lm -lpthread'],

# etc/profile
# System-wide .profile for sh(1)

PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export MAGICK_HOME="/usr/local/ImageMagick"
export PATH
PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"
export LANG=zh_CN.UTF-8
alias ls='ls -w'
if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi
###########################################

直接配置perlMagick包安装,还是没有成功! 提示有10来个变量没有声明,继续放弃。改用完全的源码模式直接从ImageMagick安装。下面的包基本都装过了。

sudo port install jpegsudo port install libpngsudo port install libwmf  原来没有装sudo port install tiff (see note below)sudo port install lcms 原来没有装sudo port install freetypesudo port install ghostscript 原来没有装,这个要很久sudo port install librsvg 过程漫长,会安装glib2 和巨大的XFree86-4.5.0 如果没装的话,xfree86没有装上,这个librsvg放弃

进入配置安装阶段。这次prefix还是用darwinports的路径 /opt/local

export CPPFLAGS=-I/opt/local/include
export LDFLAGS=-L/opt/local/lib
./configure --prefix=/opt/local --disable-static --with-modules \
   --without-magick-plus-plus --with-quantum-depth=8 \
   --with-gs-font-dir=/opt/local/share/ghostscript/fonts

然后最后会输出配置的清单

ImageMagick is configured as follows. Please verify that this configuration
matches your expectations.

Host system type : powerpc-apple-darwin8.6.0

                  Option                        Value
-------------------------------------------------------------------------
Shared libraries  --enable-shared=yes           yes
Static libraries  --enable-static=no            no
Module support    --with-modules=yes            yes
GNU ld            --with-gnu-ld=no              no
Quantum depth     --with-quantum-depth=8        8

Delegate Configuration:
BZLIB             --with-bzlib=yes              yes
DPS               --with-dps=yes                no (failed tests)
FlashPIX          --with-fpx=no                 no
FontConfig        --with-fontconfig=yes         no
FreeType          --with-freetype=yes           yes
GhostPCL          None                          pcl6 (unknown)
Ghostscript       None                          gs (8.53)
Ghostscript fonts --with-gs-font-dir=/opt/local/share/ghostscript/fonts /opt/local/share/ghostscript/fonts/
Ghostscript lib   --with-gslib=yes              no
Graphviz          --with-gvc=yes                no
JBIG              --with-jbig=yes               no
JPEG v1           --with-jpeg=yes               yes
JPEG-2000         --with-jp2=yes                no
LCMS              --with-lcms=yes               yes
Magick++          --with-magick-plus-plus=no    no
PERL              --with-perl=yes               /usr/bin/perl
PNG               --with-png=yes                yes
RSVG              --with-rsvg=yes               no
TIFF              --with-tiff=yes               yes
Windows fonts     --with-windows-font-dir=      none
WMF               --with-wmf=yes                yes
X11               --with-x=                     yes
XML               --with-xml=yes                yes
ZLIB              --with-zlib=yes               yes

X11 Configuration:
  X_CFLAGS     =
  X_PRE_LIBS   = -lSM -lICE
  X_LIBS       = -L/usr/X11R6/lib
  X_EXTRA_LIBS =

Options used to compile and link:
  PREFIX      = /usr/local/ImageMagick-6.2.7-5
  EXEC-PREFIX = /usr/local/ImageMagick-6.2.7-5
  VERSION     = 6.2.7
  CC          = gcc
  CFLAGS      = -g -O2 -Wall
  CPPFLAGS    = -I/usr/local/ImageMagick-6.2.7-5/include
  PCFLAGS     =
  DEFS        = -DHAVE_CONFIG_H
  LDFLAGS     = -L/usr/local/ImageMagick-6.2.7-5/lib -L/opt/local/lib -L/usr/X11R6/lib -L/opt/local/lib -lfreetype -lz -L/opt/local/lib
  LIBS        = -lMagick -llcms -ltiff -lfreetype -ljpeg -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lpthread -lm -lpthread
  CXX         = g++
  CXXFLAGS    =

##########################################################
继续
make
make test
make install

 这下终于能用PerlMagick了

从google notebook挖出一具同类生物体

刚才找资料的时候,逛到 google notebook ,在public search里面鬼使神差的输入了perl。结果之找到两个public note,其中一个竟然是关于processing的。估计这个仁兄也是随手发的实验贴而已。这种角落里的语言也会有人关注。看到这个note的是一个叫iouniuniu,的家伙发的。接着google他。

咦! 这家伙也在看ROR,(其实我只是买了一本ROR的书扔在桌上冒充而已^oo^)估计也是个coder+designer的混合体。大部分线索都是一些所谓web2.0网站留下的。不知道,会不会他也神经一把,哪天手痒,Goo自己的ID,结果找到我这个狗窝呢!

哈哈,好玩。

ps:不知道google有没有计划增加一个在线todo的应用,用Goo desktop todo module不稳定也不好用,还不支持web access。其他的一些sns todo 应用,有的太复杂,有的接入不稳定。时至今日,google这个怪物已经 停不下来了。

One Liner Perl的gb2312到utf8的转换

CU上有人把Advanced Bash-Scripting Guide翻译成了中文版本,抓回来一看,用的是gb2312的编码。在osx的bash下面看乱码。

没关系,拿这个一行Perl代码来用。

perl -MEncode -pi -e '$_=encode_utf8(decode(gb2312=>$_))' ABS_Guide_cn.txt

然后再看看。搞定了。感觉效果还不错。由此看来,上次写的关于 让osx bash支持中文 ,应该改成 支持 utf-8更加合适些?编码转换是件很头痛的事情,特别在一些需要特定文档编码的程序中(比如flash使用的xml文件,与flash remote通讯的脚本),不小心就让你中刀。最好utf-8快点统一天下,到时候就安逸了!

mac osx 快捷键符号对照图

mac osx 键盘符号表

osx的快捷组合会经常在各种osx的manual中看到,不熟悉的可以按图索“键”。比如屏幕截图的快捷就是。⌘+⇧+3
ps:shift的图标 怎么变这个模样了….

让mac osx bash终端支持中文

一. bash终端显示中文
要显示中文,用 ls -w命令即可,
或者直接修改配置文件 vi /etc/profile
增加  alias ls=’ls -w’
这样不用每次都敲选项-w ,这句放在/etc/bashrc 或者 /Users/Username/.profile 都可以.

二.让bash终端可以输入中文

vi /Users/USERNAME/.inputrc
添加如下内容并保存
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

vi /etc/profile

添加下列内容退出,(放在/Users/USERNAME/.profile 也一样)

export LANG=zh_CN.UTF-8

这样,你的bash就可以显示和输入中文了.

三.在vi 编辑程序中输入中文
vi ~/.profile
增加下列alias 即可在vi 中输入utf8编码的中文
alias vi='env LC_CTYPE=zh_CN.UTF-8 vi'

ps:如果还有问题,打开bash 选择 终端->窗口设置->仿真

不勾选 忽略ASCII字符

终端->窗口设置->显示 相关设定 ,我用了monaco 12pt字体

终端-显示设定

设定后效果

如果用tcsh shell的话,设定应该也大同小异.

另外要把osx的bash升级到3.1也很简单,如果装了DarwinPorts,直接在bash中运行

sudo port install bash

下载,编译,安装时间比较长。不过好处就是省心!

批处理文件bat 语法备忘

需要用到的脚本语言还真是多,从系统管理、数据管理、程序开发。脚本语言的影子真是无处不在,孱弱的windows上的可怜的bat也是不得不时常备忘得东东。现在渐渐习惯了把一些零碎的需要整理的文档放在writely上面,即方便自己移动处理文档,还可以跟他们协作或者讨论之用。而且能支持word文档的直接导入,之前用的时候稳定性不很理想,有发生过几次文件不能保存或者保存了无效的问题,发信给他们管理员,倒是很快得到了答复和解决。最近用的时候才发现出现了下列的文字。Writely is now part of Google!

看来有钱就是好啊,想买啥就买啥。估计用不了多久,google也会变成跟ms一样被骂得对象了。没办法,有钱的,横看竖看都是一副欠扁的样。好了,切入正题,把google借来的文章先放着自己备用! :)

扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。

==== 注 =======================================
.bat是dos下的批处理文件
.cmd是nt内核命令行环境的另一种批处理文件
从 更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由 专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全 不同。
===================================

首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。

==== 注 ===================
批 处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的应 用越来越"边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。
========================

其 次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来 循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括 内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。

==== 注 ==================
批 处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的 exe文件才可以称之为c语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。
===========================

第 三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个 良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置 上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。

==== 注 =====
纯以dos系统而言,可执 行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:DOSKEY宏命令(预先驻留内存),COMMAND.COM中的内部命令(根据内存的环 境随时进驻内存),以com为扩展名的可执行程序(由command.com 直接载入内存),以exe位扩展名的可执行程序(由command.com 重定位后载入内存),以bat位扩展名的批处理程序(由command.com 解释分析,根据其内容按优先级顺序调用第2,3,4,5种可执行程序,分析一行,执行一行,文件本身不载入内存)
============

继续阅读 »

2004上海双年展 innocence

===============modify at 2006 02 -05================

今天看到押井守的访谈,突然发现我的思想也在慢慢转变。04年跟06年似乎有太多的不同了。昨天在整理女儿2004-2006的照片时,亦有这种感觉。另外,2006上海双年展也会如期展开吧。到时候可以带上女儿同乐了。

shanghaiart2004.jpg 本届双年展的主题是“影像生存”,不过感觉质量不如上一届,让人眼睛一亮的作品很少。虽然涉及人文、政治、环境和生死的不同的主题。但是,隐晦而难以捉摸的表现手段,让人有点费思量。作品的延伸性不够强,影像这个本来很有表现力、能够一下子震撼人心的传媒手段,在这里双年展没有太多的体现。相比而言,文字的力量在表达思想的作用上,并不比影像来的弱。你可以很明白写出来你要表达的主题、你的感受和思想,而不是让人去猜画面。 不过,对于不同主题的多层次多角度的表现和探索的精神,绝对值的肯定,现在人们对多元文化的包容度越来越宽广,允许别人思考和提出建议,互相的探讨、碰撞、融合,才是进步的根本。在通讯手段比较发达的今天,种族之间,文化、认知不同的隔阂造成的暴力、战争的结果,也许不是能够靠几下子反恐就消弭的。

继续阅读 »

关于居中布局和IE双倍边距bug

今天google了一下css居中布局的问题,结果差不多都是引用了同一篇文章。在ie中要居中,只要在<body>元素中定义text-align:center;的属性。而在firefox中,需要定义一个wrapper包裹器。然后指定margin-left:auto;margin-right:auto;的属性来使区块在firefox中居中。其实,我自己都是用margin:auto;的缩写margin属性来设定居中。margin缩写属性是上、右、下、左的顺时针顺序来设定四个方位的页面边距的。需要注意的是,如果你据此以为只要设定margin-top:auto;属性后就想使区块居中的话,那你就错了。用这种方式的时候,非得同时设定margin-left:auto;margin-right:auto;属性才能居中。但是,你设定margin:0 auto;这样的方法也是可以居中的。
另外一种居中的方法是在使用绝对定位的前提下,用left:50%+margin-left:-375px;的组合方式来居中。两种居中方式如下。

/* 方法一 */
body {
    background: #00FF7F;
    text-align: center; /* hack for ie center alignlayout */
}
#wrapper{
    background: Aqua;
    width: 750px;
    margin:auto; /* 或者 margin-left:auto;margin-right:auto;*/
}
/* 方法二 */
#wrapper2 {
    position: absolute;
    width:750px;
    left:50%;
    margin-left:-375px;
    background: Orange;
}

我个人一直使用方法一的方式来居中,因为感觉方法二的区块缺乏必要的刚性,代码也不太好理解。如果你缩小方法二的窗体到一定限度,就会看到整个布局会出现流动的情况。当然有人要的就是这种效果。:),另外方法二的一个好处是在其他嵌套区块中不必覆盖body元素的text-align: center;的设定,因为大部分文本还是会以左对齐居多。这样一定程度上可以减少一点冗余。不过我觉得这个好处可以忽略不计。总之,大家根据各自喜好各取所需便是。

另外一个是ie的双倍边距的bug,解决方法就是加上display:inline;的设定即可。其实这个解析错误的bug会影响很多方面。如果你遇到css布局在ie中间距表现异常的时候,就可以试试看加上display:inline;的属性申明了。而且在一定特定的布局问题问题,需要组合使用display:block;和display:inline;才能让布局如你所愿。我在一个unorder list控制的图片菜单中就遇到过类似的问题。

尽快各种不同的浏览器都有css bug,但是css页面布局方式发展到今天,已经比较成熟了,因为bug而让你抓狂不已的发生机率已经不大了。如果有问题,多查查搜索引擎能够解决你大部分的问题。如果,平时闲着的时候,可以作些试验的话,也许更能够在紧急情况下也能够泰然自若。

下次有机会谈谈,图形、图片、flash、javascript和css的组合布局问题。毕竟,客户要的是更“美”的布局。