2008年4月23日星期三

jQuery API Browser

http://dev.jquery.com/view/trunk/tools/api-browser/
http://remysharp.com/jquery-api/相比各有优点,可以结合起来看。
前者有代码高亮和树型结构分类,后者可看example动态示例。
学习jQuery有新任务了:go through all functions
把API都过一遍。

2008年4月21日星期一

Getting started with jQuery

jQuery是一个轻量级的JS库,使用很方便,功能很强大。

API速查

这是目前出的两本书:
jQuery in Action (download)
Learning jQuery (download)

some resource:
15 Days of jQuery
Getting started with Aptana and jQuery

从今天开始学习jQuery了,一定要把jQuery学好。

2008年4月19日星期六

Slash自传

Slash出自传了,书名就叫Slash
本来已经下了个PDF版的,不过是图片扫描的,看起来不爽,就删了。
节选翻译版,请点here

有些写得挺有意思的:
  • (GNR与Aerosmith一起去巡演,Axl总是迟迟不出现)Steven Tyler找到我,问:“你们主唱呢?”。自打我们第一次巡演之后,每次我们相遇他都用这句话和我打招呼。
  • “哼,看来你最近没少练琴啊?”Joe Perry就这么问Jeff,我站在一边感觉巨尴尬,那TM可是Jeff Beck呀!(呵呵,每个人都有自己的偶像)
  • 组建天鹅绒手枪之前我们尝试过和他(Sebastian Bach,Skid Row的主唱)合作当主唱,但不合适。那个组合的结果怎么说呢,听起来就像Skid Roses(穷街 + 枪花 = 穷花?)
  • November Rain中的弦乐伴奏,我们根本没有雇交响乐团,全是Axl的合声器(Axl太牛了)。
  • “我们住进了下榻的酒店,为滚石的演出做准备。第一场演出前的一早,我接到一电话说Axl不打算参加这几场演出。他的理由是我和Steven吸毒太深。。。我们是,但那根本不重要。我们是去给滚石暖场,滚石乐队啊,哥们儿!(哈哈,太搞笑了)

2008年4月15日星期二

Install scim

安装中文支持,装完后就有scim了:
System -> Administation -> Language Support -> check Chinese

不过还要把scim设置成默认启动的输入法:

sudo cp /etc/X11/xinit/xinput.d/default /etc/X11/xinit/xinput.d/default.bak
sudo cp /etc/X11/xinit/xinput.d/scim /etc/X11/xinit/xinput.d/default

restart X (Ctrl + Alt + Backspace)

解决光标不能跟随的问题:
System -> Preference -> SCIM Input Method Setup -> Panel -> GTK, uncheck 'Embedded lookup table'
System -> Preference -> SCIM Input Method Setup -> Frontend -> Global Setup, uncheck 'Embed Preedit String into client window'

Then restart scim:

pkill scim
scim -d

Install VMware-Station

http://xinzhi.org/ubuntu-linux-vmware-workstation-65-beta/
Thanks to Dong Bin

install XP on VMware workstation:
中间有一步,要选'I will install the operating system later'

finish以后,在Edit Virtual machine settings -> CD/DVD 里,'Use ISO image',选要安装的xp iso文件,power on,安装xp。

安装VMware tools: 装好xp后,VM -> install VMware tools

与Host(ubuntu)机共享文件:在Host机上建一个用于共享的文件夹。
Edit Virtual machime settings -> Options -> Shared Folders,选择'Always enabled',click 'Add',Host path选刚才新建的共享文件夹。
然后在Guest(xp)机上,工具 -> 映射网络驱动器,文件夹选刚才在Host机上共享的文件夹。

2008年4月14日星期一

Ubuntu字体设置及环境变量

http://wenq.org/index.cgi?Debian_WQY

cd /usr/share/X11/fonts/misc
sudo gunzip wenquanyi_*pcf.gz


为autotest设置环境变量的时候,居然把:$PATH给忘了,以前写过blog的啊,该打。

export PATH=/var/lib/gems/1.8/bin:$PATH (:$PATH, add the orgi PATH)

source .bashrc


查看环境变量:

env
echo $PATH

在Ubuntu上搭建ROR开发环境

又要在新的Ubuntu上搭建ROR开发环境了。以前都是照着别人写的wiki来做,结果一段时间不做,又忘了。这次简要记一些步骤,纯粹备忘。

  • 设置网络(公司网络环境需要,特殊)
    Network settings -> Connections -> Properties -> (set static IP address)
    Gateway address: 192.168.0.1

    sudo gedit /etc/resolv.conf

      add line 'nameserver 192.168.0.3'
  • checkout code and sql schema from svn

    sudo apt-get install subversion

    svn co code and schema(伪命令)
  • 初始化数据库

    sudo apt-get install mysql-server mysql-admin
    sudo apt-get install libmysql-ruby

    下面四条是公司导数据库用的:
    source schema/createscheme.sql
    source schema/fwmrm_feedback_test.sql
    source schema/fwmrm_rpt_test.sql
    source schema/db_test/createscheme_test.sql
  • 安装ruby相关

    sudo apt-get install ruby
    sudo apt-get install irb
    sudo apt-get install rubygems
    sudo apt-get install libmagick9-dev

    install RMagick
  • 安装jre和aptana

    sudo apt-get install sun-java6-jre
    sudo apt-get install sun-java6-jdk
    sudo update-alternatives --config java

    (change JVM to SUN JVM)
    download aptana and unzip it
    Add RadRails to Aptana Studio by following the Start Page instructions (Help > Aptana Studio Start Page...)
    install subclipse (Help -> Software Updates -> Find and Install... -> Search for new features to install )
  • 安装autotest,see here

    sudo gem install ZenTest
    gedit .bashrc

      add line 'export PATH=/var/lib/gems/1.8/bin:$PATH'

    source .bashrc

  • 以下是公司开发需要的
    cd to ..\vendor\gem

    sudo gem install json

    cd ..\config\
    cp database.yml.dist.linux database.yml (change the content as needed)
    change '/var/lib/mysql/mysql.sock' to '/var/run/mysqld/mysqld.sock'
    change 'freewheel_test' to 'fwmrm_oltp_test'
    change 'reporting_test: -> database:' to 'fwmrm_rpt'
    change 'feedback_test: -> database:' to 'fwmrm_feedback'
    cp maui_config.rb.dist maui_config.rb

    sudo gedit /etc/mysql/my.cnf

      add the two lines 'max_allowed_packet      = 16M
    max_sp_recursion_depth=255'
    under "[mysqld] -> language = /usr/share/mysql/english"
    add this line 'max_allowed_packet = 16M'
    under "[client]"

Install RMagick

  1. grab the ImageMagick.tar.gz:
    wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
  2. Unarchive it:
    tar xvzf ImageMagick.tar.gz
  3. install ImageMagick
    cd ImageMagick-6.3.8 "Or whichever the current version is, of course."
    ./configure
    make (wait~~~)
    sudo make install
  4. download rmagick-2.2.2.gem:
    wget http://files.rubyforge.mmmultiworks.com/rmagick/rmagick-2.2.2.gem
  5. install rmagick:
    sudo gem install rmagick-2.2.2.gem
  6. (see http://rmagick.rubyforge.org/install-faq.html, search "libMagickWand.so.1"):
    add this line "export LD_LIBRARY_PATH=/usr/local/lib" to ~/.bashrc
  7. test
    ruby -rubygems -e "require 'RMagick'; puts Magick::Long_version;"
    irb -rubygems -r RMagick

ref: http://zzhang.javaeye.com/blog/162994

2008年4月9日星期三

非常男女、非常心理

结不结婚无所谓,但是一定要谈个恋爱。

恋爱中要完成的心理任务:
  • 更了解自己。
  • 培养爱别人的能力。

如果你真的爱过一个人的话,你会希望他过得好,即使自己必须离开。
如果你动了伤害一个人的念头,那么你根本就没爱过这个人,你爱的只是被爱的感觉。

谈恋爱的过程就是在“捞好处”

男人的恋爱情绪需求:
  • 能力要能被肯定。
  • 才华要能被欣赏。
  • 努力要能被感激。

女人的恋爱情绪需求:
  • 时常被关怀。
  • 需要再三的被肯定。“你到底爱不爱我嘛!”
  • 想法要能被尊重。

分手难过的原因:
  • 以前我是个受某某某喜欢的人,现在分手了,我再也不知道我是谁了,自我形象受到很大冲击,自尊受到伤害。
  • 以前那么多人你就选中了我,说明我是很特别的,现在我不再是独一无二的了。
  • 原来的稳定感被打碎了,计划全都无法实现了。

感情的成功与否,要看感情的品质,要看那两项心理任务是否达成了。
牵手不代表成功,分手不代表失败。

爱情保鲜计划:
  • 每天三次,每次三分钟。
  • 全神贯注,不受外界打扰,如关掉手机。
  • 浓情蜜意,毛手毛脚(肢体语言的沟通)。
  • 欣赏,感激。

每个女人心里的小问号:“我有没有讨人喜欢?”
每个男人心里的小问号:“我有没有让人瞧得起?”

有沟一定通

沟通出问题的原因:很多时候,我们急着跟别人沟通,是把精力都花在解决问题上面,而忽略了别人的情绪。
沟通的真正对象,是对方的心情。沟通完了后,双方的情绪都应该变得更好。
沟通的过程:开始,爽——中间,懂——结束,更爽。

真正重要的不是说了些什么,而是怎么说(肢体语言,表情,语气语调)。

跟一般人沟通有两个很重要的情绪需求:要被尊重被重视,被关爱。

学会说之前先学会听。

听的三个层次:我在,我在听,我在用心听。

常常问自己,我如果是他,我会有怎么样的感觉。

暂时避免去评论对方所说的。

EQ沟通的基本功:
  • 模仿对方的情绪状态。
  • 模仿对方说话的速度。

不应该说的十句话:
  • 你在骗人。
  • 你真是白痴,连这个都搞不懂。
  • 我才不管你怎么想呢。
  • 你根本就是胡言乱语嘛。
  • 跟你说那么多也没有用。
  • 你不喜欢也得照做。
  • 谁有时间听你说啊。
  • 我从来没见过你这么笨的人。
  • 你每次都这样。
  • 我懒得跟你啰嗦。

正确的做法:
  • 映:在沟通过程中,把自己当成镜子一样。把别人说的话,说话的内容,情绪状态都反映回去。
    • 别人:“我的男朋友跟我冷战了”。
    • 自己:“你的意思是说,你的男朋友都不理你了”。
  • 破唱片法:用跟对方不同的说话速度,重复播放(对方很大声,很激烈。而自己很小声,很缓和。直到对方的情绪也缓和下来)。
    • 小孩:“我要吃麦当劳,我就是要吃,我现在就要吃”。
    • 父母:“来,慢慢跟我说,为什么你要吃麦当劳”。

吵架三部曲:
  • 意见不和。
  • 态度之争(“你什么态度啊”)。
  • 面子之争。

在进入态度之争的时候,就要使用破唱片法。

接受批评:
  • 负责,承认:别人的批评有道理,就“闻过则喜”,勇于承认。
  • 模糊焦点:别人批评的不见得有理,但有不喜欢跟他吵。
    • 同意部分:同意别人讲得有理的那一部分。
    • 同意机率:同意这个状况会发生的可能性。“你说的也许对”。
    • 同意原则:把主词拿掉,换成一般性的。“你每次听到不中听的话,马上掉头就走,一点耐心都没有”。“的确,如果有人说着说着掉头就走的话,感觉很没有耐心”。
  • 推敲情绪:不去回答他表面的问题,而是回答他内心的情绪。

询问式:
  • 我想听听你有什么想法。
  • 我这样做会不会带给你什么困扰。
  • 那你希望我怎么做呢?
体谅式:
  • 我知道你很忙。
  • 我知道你不太同意这个做法。
提醒差异:
  • 我记得你上一次说……,你这一次又说……,你的真正意思到底是什么啊?
  • 不说但是:no but
  • 如果怎么样,会更好。

说服别人:
  • 用选择题代替是非题。
    “你要不要薯条?”
    “你的薯条是要大的还是中的?”
  • 加上“为了”
    “为了不耽误你明天的工作,请你赶快把这个东西做好交给我。”
称赞对方:从对方的外显行为来称赞他的内在。
  “你的报告写得很棒,看得出来你是个很有能力很专业的人”。

超级EQ超级销售

销售的定义:想办法去影响别人,达成共识的过程。

普通销售卖的是产品,EQ销售卖的是情绪。

一个产品有工具价值(使用价值),有情绪价值。

普通销售想的是如何赚别人的钱,EQ销售想的是如何服务别人的心。

两种重要的情绪:尊重,信任。

EQ销售前的准备:
  • 充实内在力量:传达热情,建立对产品的信仰,建立对工作的信仰(要喜欢所从事的工作,觉得工作有意义),不要害怕拒绝(别人说不,真正意思是“你还没有告诉我,为什么我值得花时间跟你聊一聊”)。

我们喜欢跟我们类似的人。
怎样让别人喜欢我:想办法让自己跟对方越接近越好。模仿对方的行为,配合对方的说话速度,了解对方的沟通习性。

人在沟通时,有三个不同的类型:
  • 视觉型,说话速度快,呼吸急促。“我看不出来这个事对我有什么好处”。
  • 听觉型,说话速度中等,呼吸速度中等。“听起来不错啊”。
  • 触觉型(感觉型),说话速度慢,呼吸慢。“我老是抓不住感觉”。

不要去假设别人需要什么,而是去问出对方的情绪需求。
从他过去使用的产品中,找出他的需求点来。

十大常见消费情绪:
快乐,安心,健康,关爱与浪漫,荣誉与骄傲,舒适,自由,接纳,有价值的感觉(物超所值),公平

EQ谈判的心理建设:
  • EQ谈判的对手是同志,不是敌人。
  • EQ谈判的对象是情绪,不是道理。
  • (谈完之后)双方皆high。

一开始的时候,提出较多的要求,以预留让步的空间。
避免造成对抗性的谈判。说“我们”而不要说“我”。
把对方的愤怒要视为是谈判的技巧,而不是一个情绪反应。
要让对方觉得他是胜利的一方,要让他觉得是赚到了:让步的空间要越来越小,速度要越来越慢。要让对方做最后的决定。
不要威胁对方他没有退路,而要告诉他我有退路。
当对方说不时,找出其真正的情绪需求。如对方说没有钱,其情绪需求可能是安心(因为没有钱,所以无法对未来安心)。如对方说没有空,其情绪需求可能是健康、自由、接纳。

人的两个相度:理性/感性,决断/深思

四种不同的人:
  • 务实型(理性,决断):个性严谨,做事一丝不苟,组织力很强,穿着正式,不喜欢不实在的包装,自信,独立,生活节奏快,喜欢接受挑战。
    • 情绪需求:希望做事有效率,需要别人的掌声,需要知道事实的真相。
    • 谈判技巧:跟他说话时速度要快,要清楚,言简意赅,要尊重对方的判断,强调自己已经被对方逼到了墙角。

  • 热情型(感性,决断):友善,喜欢寒暄,跟着感觉走。
    • 情绪需求:需要有感觉、需要被感动,需要受人喜欢(会委婉地说不),希望事情有效率。
    • 谈判技巧:跟他说话时速度要快,要带出热情,要动之以情,最好跟他问“你以前用什么样的产品”等等(跟务实性的人不要这样问)。

  • 和蔼型(感性,深思):有耐心,仁慈,体贴,办事速度会比较慢,重视人际互动,不喜欢说“不”,也不喜欢说“是”,花很多时间在思考,很重感情,不喜欢被迫做决定,不喜欢冒险。
    • 情绪需求:需要能够信任对方,希望被对方喜欢,不喜欢被逼到墙角。
    • 谈判技巧:建立信任关系,不要强迫他做任何决定,可以用一个问题来回答他的一个问题,比如:买家问:“小姐,有黑色的鞋子吗?”,卖家答:“你想要买黑色的鞋子吗?”(这招对别的类型的人不见得管用)。

  • 分析型(理性,深思):观察缜密,逻辑思考很强,对数字和时间非常敏锐精准,有完美主义倾向,做决定时凭证据说话,不会冲动
    • 情绪需求:买证据,买原则。
    • 谈判技巧:说话速度要慢,要提供详细的、按部就班的步骤来介绍,要强调佩服他的一丝不苟的精神,有事没事寄一些产品咨询给他。

积极乐观,面对挑战

这次要发的四篇文章,是张怡筠的有声书《EQ全方位成功系列》的摘抄。因为比较简练,单独看这个可能会看不太明白,最好结合听有声书。
--------------------------------------------------------------------------------------

摔跤不一定是坏事,关键是摔了后要赶快爬起来。

如果遇到挫败就一蹶不振,那么这次挫败很可能就会变成你一生中最大的失败,因为你再也爬不起来了。

挫折症候群:
  1. 有负面情绪,如:生气、沮丧、焦虑不安。
  2. 否定自我价值,觉得自己一无是处。
  3. 对未来产生绝望的感觉。

怎样处理生气的情绪:
  • 情绪的主宰是自己(错误的观念:我有权力生气)。
  • 身体是不“讲理”的,而是“讲情”的(无论自己有没有理,生气时身体的变化都是一样的。即使自己有理,一生气也同样会伤身)。
  • 愤怒就是利用别人的过错来惩罚自己(愤怒就是利用别人的愚蠢来惩罚自己)。
  • 要处理愤怒,重要的两个词:放下、原谅。
  • 怎么样原谅别人:写信法。
    • 发泄。把自己对他人的想法原原本本地写下来,要写真实的想法。
    • 原谅。站在对方的角度考虑问题,他冒犯我的原因是什么,帮他想想原因。写完了这些,再写“但是我决定原谅你,因为原谅你才能饶了自己”。

怎样处理沮丧(忧郁)的情绪:

小忧郁是心理上的感冒。

该怎么去检查是否有忧郁症:
  • 过去两个星期情绪持续低迷,对什么事情都提不起精神来。
  • 连续两个星期睡眠、食欲不正常。
  • 原来有兴趣的人事物,现在都没有兴趣了。

快乐心相法:
  • 心情不好的时候,先暂停生活的影片,自己在心里面大喊:“停——!”(把自己想象成导演,生活演得不好的时候,就喊停)。
  • 闭上眼睛,把注意力焦点集中在心脏,深呼吸,停十秒,让情绪停在那里。
  • 在大脑里幻想一些景象。幻想生活中很愉快、很兴奋、很温暖的经验。
  • 一次只会有一种情绪出现,所以用积极的情绪去替换消极的情绪。
  • 用心去思考,重新客观的看原来的问题。

挫折症候群的情绪长时间不处理的话,就会累积成压力。
压力就是长时间的身心失去平衡的状态。

真正决定我们压力感觉的,是我们怎么去定义这个事件。

面对重大改变时,抗变五部曲:
  1. 否定(不可能吧)。
  2. 愤怒(怎么会是我,为什么不是别人)。
  3. 讨价还价(如果事情还有转还的空间,我就怎么怎么样)。
  4. 沮丧(好像不幸真的发生了)。
  5. 接受(接受事实)。

打心理地基:
  1. 要乐于接受无常。
  2. 保持生活的弹性(不要太有原则)。
  3. 喜欢改变,拥抱变化。

积极乐观的做法:
  1. 为什么想法非常重要,态度在大脑里已经形成回路了,形成习惯了。
  2. 先看优点,再看缺点。
  3. 有自我掌控的能力(掌控自己的心情),不要把情绪浪费在自己无法控制的事情上。
  4. 承担责任。
  5. 控制问题范围。
  6. 生活中没有危机,只有状况。

悲观的因素:
  1. 全面化,以点概面。一件事情不好就认为所有的事都不好。
  2. 永久化,一辈子都会这样,没有终止。
  3. 个人化,认为都是自己的错。

Some books about JS

jQuery

Pro JavaScript Techniques

ppk on JavaScript

纯备忘,上面是传说中比较有名的JS方面的书,不知道什么时候才有空看。

2008年4月8日星期二

Aptana字体

Aptana的字体选择不正确的话,空格的宽度会窄于字符的宽度,也就是说两个空格的宽度看起来和一个字符的宽度差不多,这给代码缩进带来了很大的麻烦。

解决办法:
Window -> Preferences -> General -> Appearance -> Colors and Fonts -> Basic -> Text Font -> Change
选择 BitStream Vera Sans Mono (其他几个BitStream的字体应该也可以)

注:本Blog中,凡是Aptana没有特别指明的,一般都指RadRails

同时落水

在网上经常看到这个很欠扁的问题:“我和你妈妈同时落水,你先救哪个?”
回答自己不会游泳不算是最佳答案。
而应该反问:“你和你妈妈同时落水,你希望我先救哪个?”

自己去分析这一反问的奥妙。

基督山伯爵

  • 假如你想发现那做坏事的人,第一就先得去发现谁能从那件坏事中取利。
  • 上帝限制了人的力量,但却给他以无穷欲望。
  • 世界是一个客厅,我们必须客客气气地退出。
  • 凡是思想清楚的头脑,晚上临睡前的最后一个念头和早上醒来时的第一个念头便是最主要的念头。

(很久没有更新Blog了,一是懒,二是前段时间事情不少心情不好,其实还是写了些,不过没有贴上来罢了。写的大部分不是计算机方面的技术。我想本Blog的定位不仅仅是程序技术吧,所有的广义上的技术都可以,只要是理性分析的。慢慢的我会整理好了贴上来。本篇是前段时间看的小说,摘抄了几句,摘抄的也应该是理性的,讲道理或者讲真理的)

MySql查看版本和source命令

MySql下查看版本 :
从命令行进入MySql后,敲入\s,回车,即可。

MySql的source命令 :
都忘了是怎么用source命令了。直接在命令行下敲,不行。原来要先mysql -u root,进入mysql的命令行,再使用source命令。

这两篇写得很简单,也没有技术含量,纯粹是备忘。

InstantRails使用相关

Skype using port 80 :
在打开InstantRails时,提示80端口被skype占用了。这个问题以前的同事遇到过,所以不感到奇怪。
解决方法,在skype里,工具->选项->高级->连接,uncheck the one called “将80端口与443端口作为接入连接的备用端口”。

MySql env path :
使用InstantRails时,如果要在命令行下访问MySql的话,需要将其bin目录(如:E:\InstantRails\mysql\bin)加入系统环境变量中。
相应的,还应该把ruby的bin目录(如:E:\InstantRails\ruby\bin)也加入到环境变量中。

InstantRails folder name :
包含InstantRails的文件夹名称不能有空格。