Thursday, October 30, 2008

PLAYTHESYSTEM

未来5-8年都看好大宗商品期货,房子将在2012年左右探底,重新进入上升,美元将走弱,回吐,欧元年底走强,黄金可能继续反美上行。

顺便说一下,除了腾讯,可能还有更好的投资机会,就是创新的丧葬服务。。。

Sunday, October 26, 2008

tuti 2007-03-16 回复
推荐 《咨询的奥秘II》
Godlikeme 2007-03-16 回复
推荐 《咨询的奥秘》,《完美咨询》
不要指出咨询客户的问题,承认他们做的很好,然后问是否愿意改进(10%)

vsharing

当当上刚订的几本书
from 东方愚:减法生存 by 东方愚
1、迷失与决断:我执掌索尼的十年,(日)出井伸之 著 ,中信出版社,2008年06月
2、大商人:影响中国的近代实业家们,傅国涌 著,中信出版社 ,2008年10月
3、怪诞行为学,(美)艾瑞里 著,赵德亮,夏蓓洁 译 ,中信出版社,2008年10月
4、管理要像一部好电影,刘顺仁 著,山西人民出版社,2008年10月

人就是小鹅,会跟随自己最初的决定/记忆而走

是,这个故事里还有某种奇怪的东西。如果说锚是基于我们的最初决定,那到底星巴克是怎样成为你最初决定的呢?换言之,如果我们从前被锚定在邓肯甜甜圈店,我们是如何把锚转移到星巴克呢?真正有意思的也就在这里。

霍华德•舒尔茨创建星巴克时,他是个与萨尔瓦多•阿萨尔有同样直觉的生意人。他尽一切努力独树一帜,使星巴克与其他咖啡店不同——不是从价格上看,而是从品位上。从这一点上,他一开始对星巴克的设计就给人一种大陆咖啡屋的印象。

早期的店铺里散发着烤咖啡豆的香味(咖啡豆的质量要优于邓肯甜甜圈店的)。他们销售别致的法式咖啡压榨机。橱窗里摆放着各式诱人的点心——杏仁牛角面包、意大利式饼干、红桑子蛋奶酥皮糕等等。邓肯甜甜圈店有小、中、大杯咖啡,星巴克提供小、中、大和特大杯,还有各种名称高贵华丽的饮料,如美式咖啡、密斯朵牛奶咖啡、焦糖玛奇朵、星冰乐等等。换言之,星巴克不遗余力打造这一切,来营造一种与众不同的体验——这种不同是如此之大,甚至让我们不再用邓肯甜甜圈店的价格作为锚来定位,与此相反,我们会敞开思想接受星巴克为我们准备的新锚。星巴克的成功很大程度上也就在这里
我要求一半学生写下,他们是否愿意付我10美元听我10分钟的朗诵。又问另外一半学生,他们是否愿意我付他们10美元听我10分钟的朗诵。

这当然就是锚了。然后我请学生们为我的朗诵会门票出价。你觉得最初的锚会影响他们随之而来的出价吗?

在得到答案之前,你们首先要考虑两件事。第一,我朗诵诗歌的水平算不上一流,因此让人付10美元听我朗诵10分钟可以等同于服一年刑。第二,尽管我问过学生们是否愿意付钱买票参加我的朗诵会,但他们并非必须出钱。事实上他们还可以反客为主,要求我付钱给他们。

现在我来宣布结果。回答过是否愿意付钱听朗诵的那些果然愿意为我的朗诵出价。他们的平均出价是,付我1美元左右听短诗朗诵,2美元左右听中等长度的,3美元左右听长篇的。不过,那些被锚定我付钱请他们听朗诵(而不是付钱给我)的人又怎样呢?正如你们预料的那样,他们果然向我开出了听朗诵的价格:平均下来,他们要求1美元30美分听短诗朗诵,2美元70美分听中等长度的,4美元80美分来忍受长篇。

与汤姆•索亚非常相似,我能够把一桩两可的体验(如果你们真的听过我的诗歌朗诵,就会明白这种体验是多么的两可)任意地转换成令人愉悦或者痛苦的体验。两组学生都不了解我的诗歌朗诵水平是否值得他们付钱来听,或者我付的钱是否值得让他们忍受这一体验(他们都不知道它能令人愉悦还是令人痛苦)。可是第一印象一旦形成(他们出钱听还是我付钱请他们听),模具就已铸成,锚也已经设定。不但如此,一旦做出首次的决定,以后的决定就会以一种似乎合乎逻辑、前后一致的方式紧随而来。学生们不知道听我朗诵诗这一体验是好还是不好,但不管他们的第一决定是什么,他们就把它作为输入值,依据它来做随后的决定,并为三种长度的诗歌朗诵提供一种一致的回答模式。
我料想,如果人们记得住从前的价格并且注意到它的涨价幅度,价格变化就会对需求产生巨大影响;如果人们记不住过去的价格,价格的变化对需求的影响,即使有也会很小。如果人们根本不记得牛奶和酒类过去的价格,对奶和酒的消费就会保持基本不变,就像它们的价格没有变一样。换言之,我们对价格变化的敏感度事实上很大程度上可能是两种因素共同作用的结果——我们对过去价格的记忆,和我们想与过去决定保持一致的欲望,而根本不是我们的真正偏好或需求大小的反映。

我们能够做些什么呢?能否依照古列夫他们班的条件创造某种机制,既有自由选择权同时又有内在的限制?我开始想象另一种类型的信用卡——自我控制信用卡,它能帮助人们限制自己的消费行为。用户可以事先设定他们在每类商品、每家商店的消费限额以及他们每次消费的限额。例如,持卡人可以把咖啡消费限制在每周20美元,服装类消费每半年600美元,也可以把日用杂项限制在每周200美元,娱乐消费每月60美元,并且在下午2点~5点之间禁止糖果类消费。如果他们超过消费限额怎么办?这可以由持卡人自己来决定。例如,他们可以设定信用卡自动拒付,或者可以自己设定超限税并且把税金转赠给“人类家园”国际组织、朋友,或者转为定期储蓄。这种信用卡系统也可以采用“冰杯”方式对大件消费设置冷却时段,甚至可以由系统自动给你配偶、母亲或者朋友发出一封电子邮件:

亲爱的苏米:

本邮件提请您注意,您的丈夫丹•艾瑞里,一位诚信正直的公民,现已超过了每月50美元的巧克力消费限额,实际消费已达到73.25美元。

顺致敬意,自我控制信用卡中心

这好像是在白日做梦,但事实并非如此。想一下那些开始充斥市场的智能卡(薄薄的,手掌大小的卡片,具有了不起的计算机功能)的潜力。这些智能卡提供了一种可能性,即按每个人不同的需要定制消费计划并帮助人们明智地管理信贷。例如,为什么信用卡不能有个消费“调节器”(就像发动机有限速器一样)来限制某些特定情况下的现金支付业务?它们为什么不能具有与缓释胶囊类似的功能,让消费者能够自己设定,合理分配信贷,帮助他们像自己所希望的那样消费呢?

几年前,我深信带“控制”功能的信用卡是个金点子,于是我向一家大银行请求约见。令我非常高兴的是,这家信誉卓著的银行竟然予以回应,并且建议我到他们的纽约总部去。

几个星期后我到了该公司的纽约总部,在接待处耽搁了一小会儿,被带到了一间现代化会议室。透过厚厚的落地玻璃窗从高空下望,曼哈顿的金融区历历在目,川流不息的黄色出租车在雨中蠕动。几分钟后,房间里就坐上了六七位高级银行主管,包括银行信用卡分部的负责人。

我先讲述拖沓恶习会给大家都带来什么问题。在个人财务领域,我说,它造成我们大家忽视储蓄的重要性——信贷随手可得,这一诱惑使我们的壁橱里堆满了自己并不真正需要的东西。不一会儿就可以看出来,我的话引起了在场每一个人的共鸣。

接着我开始讲述美国人如何陷入了可怕的对信用卡的过度依赖,他们如何被债务活活吃掉,他们又如何在挣扎着寻找摆脱这一困境的出路。遭受打击最重的群体之一是美国的老人,实际上,从1992年~2004年间,年龄55岁以上老人负债率的增长比美国其他年龄段人群都要快,他们中有人甚至用信用卡来填补医疗保险费,有些人还可能失去他们的家产。

我开始感到自己就像电影《风云人物》中的乔治•贝利在乞求免除贷款债务一样。主管们开始发言,多数讲到了他们的亲戚、配偶和朋友(当然没有他们自己)如何遭遇信用债务的麻烦。我们做了详细的讨论。

既然铺垫已经做好,我开始讲解使用“自我控制信用卡”帮助消费者减少消费增加储蓄这一构想。一开始我觉得这些银行家们有点吃惊,难道我不知道银行和信用卡机构每年从卡上获得的利息就有170亿美元?老天哪!他们可能放弃吗?

不过,我也不会那么天真。我向银行家们解释说自我控制信用卡这一构想背后有着巨大的商机,“你们看,”我说,“信用卡生意面临你死我活的竞争,你们每年发出60亿封直接邮件,但是各公司提供的信用卡大同小异。”他们虽然不情愿,但承认我说的是事实。“不过,假如有一家信用卡公司从其中站出来,”我继续说,“加入到消费者一边来——为陷入信贷恐慌的消费者充当辩护人,会怎么样呢?假如有一家公司有胆量提供一种信用卡,它能帮助消费者控制信贷,或者更进一步,把一部分钱转入定期储蓄,会怎么样?”我向房间里环视了一下,“我敢打赌成千上万的消费者会把其他公司的信用卡一剪两半作废——转而申请你们的!”

一阵兴奋的热浪席卷整个房间。银行家们点着头,互相交谈。他们一一和我握手,对我说,不久一定还要约我再来谈一次。

不过,他们约我再谈的事情就像石沉大海,杳无音信了。(可能他们担心失去每年170亿美元的利息,或者是过去的拖沓恶习依然故我)。但是我想设计一种有自我控制功能的信用卡的想法没变——可能将来总有一天,有人会迈出下一步。
回答这个问题以前,我先问你一个吧。你在班上,妻子打电话给你,说女儿明天上学需要一支红铅笔,“你能带一支回来吗?”于是你就从办公室里给女儿拿了一支红铅笔。做完这事,你感觉怎样——舒服吗?非常不舒服?或者有点不舒服?还是非常舒服?

我再问你一个问题:假如办公室里没有现成的红铅笔,但是你可以从楼下小铺里花一毛钱买一支。碰巧你办公室里存放零用钱的盒子开着,屋里又没有别人。你会从盒子里拿10美分去买红铅笔吗?假如你没有零钱,恰巧需要10美分用,你会心安理得地从里面拿吗?你觉得这样做可以吗?

我不知道你怎么想,不过我觉得拿一支铅笔比较容易,但是去拿现金就非常困难。(我很庆幸现在还不曾面临这一问题,我女儿还没上学呢。)

实验的结果是,麻省理工学院的学生对于拿现金的态度也不同于拿可乐。正像我说的,可乐在72小时内统统不见了,一罐也没剩,但是钱就完全不同了:盘子里的纸币72个小时没有人动过,直到我从冰箱里取回来。
这是怎么回事呢

Wednesday, October 15, 2008

ways to schedule CLEM streams

either use VB + filelist, so control app up, open files (using shortcut keys), and run

or use CRON+ CLEMB/CLMENTINE command line

clemb -server -hostname ssss -port 28047 -username yyy -password xxx -stream "C:\Program Files\SPSSInc\Clementine12.0\bin\report.str" -P:databasenode.username=ddd -P:databasenode.password=eee -execute -log report.log

set str="" >< Variable
save stream as ^str # YOU CAN't SKIP str and combine output directly

Monday, October 13, 2008

Now discover your strength/Fast track to the top

此书有点意思,也是公司推荐。经理要了解每个人的5个优点属性(talent)

扬长避短,大脑结构在少年时代已经确定,训练最多只能提高技巧,无法改变天资,而且故意集中在短处弥补上的训练,通常很费精力,得不偿失。

发现很多书,都强调有一个精确的语言系统(本书说,形容人格特质,多数都是贬义词,褒义词没有形成精确体系)

演讲三诀窍
:tell people what you are going to talk about
tell them
remind them what you have told them

查字典的时候,顺便知道了上次搭车为什么很费解,因为要thumb a lift,翘指示意

换位思考:what's in it for them?
你的小孩要上厕所,可是只有“员工专用”厕所,你怎么和高速路的员工说?

"look, I don't want you to lose your job, however I do need to get my children to toilet. what do you suggest?

美苏谈判,僵持,美国人看着对方在认真准备,突然决定列出来对方的要求,98条,其中96条可以满足之,直接拿过去和苏联人商量,大大加速了谈判

不爽就说出来:DESC (Descript the damage, situaton)
Emotion: your feeling
Solution
Consequences

当别人彻底生气时,有选择地赞同对方部分观点,则对方无法继续When someone is completely annoying with you, try to partially agree with him, selectively and genuine.

FORE用于搭讪(家庭,职业,娱乐,教育

李弥:重要的不是反攻,折老本,而是利用反攻多拿到武器和政治资本,

Friday, October 10, 2008

标点

#: hash key (UK), number key (US)

\:backslash
/:slash
"ouble quote (双引号之间,可以说成:between the double quotes)
;:semicolon
(:left brace
):right brace
#:(平时应该怎么读不清楚。在C#中,#读Sharp)
$:dollar
@:at
&:and
,:comma
::colon
|:bar
{pen curly brace / left curly bracket
}:closing curly brace / right curly bracket
[:left square bracket
]:right square bracket
?:question mark
.:dot
<:lessen
>
=:equal sign
*:asterisk
^
%ercent sign
!:exclamation mark
~
`

.period 句号
,comma 逗号
:colon 冒号
;semicolon 分号
!exclamation 惊叹号
?question mark 问号
 ̄hyphen 连字符
'apostrophe 省略号;所有格符号
—dash 破折号
‘ ’single quotation marks 单引号
“ ”double quotation marks 双引号
( )parentheses 圆括号
[ ]square brackets 方括号
《 》French quotes 法文引号;书名号
...ellipsis 省略号
¨tandem colon 双点号
"ditto 同上
‖parallel 双线号
/virgule 斜线号
&ampersand = and
~swung dash 代字号
§section; division 分节号
→arrow 箭号;参见号
+plus 加号;正号
-minus 减号;负号
±plus or minus 正负号
×is multiplied by 乘号
÷is divided by 除号
=is equal to 等于号
≠is not equal to 不等于号
≡is equivalent to 全等于号
≌is equal to or approximately equal to 等于或约等于号
≈is approximately equal to 约等于号
<is less than 小于号
>is more than 大于号
≮is not less than 不小于号
≯is not more than 不大于号
≤is less than or equal to 小于或等于号
≥is more than or equal to 大于或等于号
%per cent 百分之…
‰per mill 千分之…
∞infinity 无限大号
∝varies as 与…成比例
√(square) root 平方根
∵since; because 因为
∴hence 所以
∷equals, as (proportion) 等于,成比例
∠angle 角
⌒semicircle 半圆
⊙circle 圆
○circumference 圆周
πpi 圆周率
△triangle 三角形
⊥perpendicular to 垂直于
∪union of 并,合集
∩intersection of 交,通集
∫the integral of …的积分
∑(sigma) summation of 总和
°degree 度
′minute 分
″second 秒
#number …号
℃Celsius system 摄氏度


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


How do I pronounce "vi" , or "!", or "/*", or ...?
You can start a very long and pointless discussion by wondering
about this topic on the net. Some people say "vye", some say
"vee-eye" (the vi manual suggests this) and some Roman numerologists
say "six". How you pronounce "vi" has nothing to do with whether
or not you are a true Unix wizard.

Similarly, you'll find that some people pronounce "char" as "care",
and that there are lots of ways to say "#" or "/*" or "!" or
"tty" or "/etc". No one pronunciation is correct - enjoy the regional
dialects and accents.

Since this topic keeps coming up on the net, here is a comprehensive
pronunciation list that has made the rounds.

The Pronunciation Guide
-----------------------
version 2.5

Names derived from UNIX are marked with *, names derived from C are marked
with +, names derived from (Net)Hack are marked with & and names deserving
further explanation are marked with a #. The explanations will be given at
the very end.

------------------------------------------------------------------------------
-- SINGLE CHARACTERS --

SPACE, blank, ghost&

! EXCLAMATION POINT, exclamation (mark), (ex)clam, excl, wow, hey, boing,
bang#, shout, yell, shriek, pling, factorial, ball-bat, smash, cuss,
store#, potion&, not*+, dammit*#

" QUOTATION MARK, (double) quote, dirk, literal mark, rabbit ears,
double ping, double glitch, amulet&, web&, inverted commas

# CROSSHATCH, pound, pound sign, number, number sign, sharp, octothorpe#,
hash, (garden) fence, crunch, mesh, hex, flash, grid, pig-pen,
tictactoe, scratch (mark), (garden) gate, hak, oof, rake, sink&,
corridor&, unequal#, punch mark

$ DOLLAR SIGN, dollar, cash, currency symbol, buck, string#, escape#,
ding, big-money, gold&, Sonne#

% PERCENT SIGN, percent, mod+, shift-5, double-oh-seven, grapes, food&

& AMPERSAND, and, amper, address+, shift-7, andpersand, snowman,
bitand+, donald duck#, daemon&, background*, pretzel

' APOSTROPHE, (single) quote, tick, prime, irk, pop, spark, glitch,
lurker above&

* ASTERISK, star, splat, spider, aster, times, wildcard*, gear, dingle,
(Nathan) Hale#, bug, gem&, twinkle, funny button#, pine cone, glob*

() PARENTHESES, parens, round brackets, bananas, ears, bowlegs
( LEFT PARENTHESIS, (open) paren, so, wane, parenthesee, open, sad,
tool&
) RIGHT PARENTHESIS, already, wax, unparenthesee, close (paren), happy,
thesis, weapon&

+ PLUS SIGN, plus, add, cross, and, intersection, door&, spellbook&

, COMMA, tail, trapper&

- HYPHEN, minus (sign), dash, dak, option, flag, negative (sign), worm,
bithorpe#

. PERIOD, dot, decimal (point), (radix) point, spot, full stop,
put#, floor&

/ SLASH, stroke, virgule, solidus, slant, diagonal, over, slat, slak,
across#, compress#, reduce#, replicate#, spare, divided-by, wand&,
forward slash, shilling#

: COLON, two-spot, double dot, dots, chameleon&

; SEMICOLON, semi, hybrid, giant eel&, go-on#

<> ANGLE BRACKETS, angles, funnels, brokets, pointy brackets, widgets
< LESS THAN, less, read from*, from*, in*, comesfrom*, crunch,
sucks, left chevron#, open pointy (brack[et]), bra#, upstairs&, west,
(left|open) widget
> GREATER THAN, more, write to*, into/toward*, out*, gazinta*, zap,
blows, right chevron#, closing pointy (brack[et]), ket#, downstairs&,
east, (right|close) widget

= EQUAL SIGN, equal(s), gets, becomes, quadrathorpe#, half-mesh, ring&

? QUESTION MARK, question, query, whatmark, what, wildchar*, huh, ques,
kwes, quiz, quark, hook, scroll&, interrogation point

@ AT SIGN, at, each, vortex, whirl, whirlpool, cyclone, snail, ape (tail),
cat, snable-a#, trunk-a#, rose, cabbage, Mercantile symbol, strudel#,
fetch#, shopkeeper&, human&, commercial-at, monkey (tail)

[] BRACKETS, square brackets, U-turns, edged parentheses
[ LEFT BRACKET, bracket, bra, (left) square (brack[et]), opensquare,
armor&
] RIGHT BRACKET, unbracket, ket, right square (brack[et]), unsquare, close,
mimic&

\ BACKSLASH, reversed virgule, bash, (back)slant, backwhack, backslat,
escape*, backslak, bak, scan#, expand#, opulent throne&, slosh, slope,
blash

^ CIRCUMFLEX, caret, carrot, (top)hat, cap, uphat, party hat, housetop,
up arrow, control, boink, chevron, hiccup, power, to-the(-power), fang,
sharkfin, and#, xor+, wok, trap&, pointer#, pipe*, upper-than#

_ UNDERSCORE, underline, underbar, under, score, backarrow, flatworm, blank,
chain&, gets#, dash#, sneak

` GRAVE, (grave/acute) accent, backquote, left/open quote, backprime,
unapostrophe, backspark, birk, blugle, backtick, push, backglitch,
backping, execute#, boulder&, rock&, blip

{} BRACES, curly braces, squiggly braces, curly brackets, squiggle brackets,
Tuborgs#, ponds, curly chevrons#, squirrly braces, hitchcocks#,
chippendale brackets#
{ LEFT BRACE, brace, curly, leftit, embrace, openbrace, begin+,
fountain&
} RIGHT BRACE, unbrace, uncurly, rytit, bracelet, close, end+, a pool&

| VERTICAL BAR, pipe*, pipe to*, vertical line, broken line#, bar, or+,
bitor+, vert, v-bar, spike, to*, gazinta*, thru*, pipesinta*, tube,
mark, whack, gutter, wall&

~ TILDE, twiddle, tilda, tildee, wave, squiggle, swung dash, approx,
wiggle, enyay#, home*, worm, not+


-- MULTIPLE CHARACTER STRINGS --

!? interrobang (one overlapped character)
*/ asterslash+, times-div#
/* slashterix+, slashaster
:= becomes#
<- gets
<< left-shift+, double smaller
<> unequal#
>> appends*, cat-astrophe, right-shift+, double greater
-> arrow+, pointer to+, hiccup+
#! sh'bang, wallop
\!* bash-bang-splat
() nil#
&& and+, and-and+, amper-amper, succeeds-then*
|| or+, or-or+, fails-then*

强悍的oracle正则表达式

以及for, while Loop和translate函数(可以替换指定多个字符,比replace省事),以及unipivot等可以取代case

Translate and replace are very similar in their appearance but can produce very different results. Translate replaces by position, the first character of the list to match is replaced by the first character of the replacement list. The second character with the second, and if there are characters in the list to match that do not have positional equivalents in the replacements list they are dropped.

例子 Character Replacement
And Elimination The a is replaced with an e, the h has no complement and is dropped.
SELECT TRANSLATE('So What', 'ah', 'e')
FROM dual

psoug.org techonthenet.com


如何之保留field里面的数字?

1. SQL detect begin and end of number position

2. SQL use Translate() or RegExp to replace letter

3. Use excel/scripting/VBS to generate a nested Stripchar for CLEM expression

强悍的正则表达式

Looks for the pattern xxx.xxx.xxxx and reformats pattern to (xxx) xxx-xxxx col testcol format a15
col result format a15

SELECT testcol, REGEXP_REPLACE(testcol,
'([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})',
'(\1) \2-\3') RESULT
FROM test
WHERE LENGTH(testcol) = 12;


Values Starting with 'a%b' SELECT testcol
FROM test
WHERE REGEXP_LIKE(testcol, '^ab*')

select regexp_replace('TAYLOR''S AUTO PRODUCTS,INCýý59', '[^A-Za-z0-9,'' ]+',' ') a from dual;
VERY close except tab and `'


UPDATE myTable
SET column = REPLACE(column, CHAR(241), 'n') --> to replace ñ with n

Or

SELECT REPLACE(REPLACE(REPLACE(column, CHAR(241), ''), CHAR(185), ''), CHAR(nnn), '')

I've nested REPLACE statements 10-15 deep

单引号 和 反引号不同
Single backquote `又叫做
grave accent ot backtick
prime symbol ( ′ )
'`'`~

select regexp_replace('TAYLOR''S AUTO PRODUCTS,INCýý59', '[^A-Za-z0-9,'' ]+',' ') a from dual;
Assisted Solution

07.10.2008 at 01:26PM PDT, ID: 21977057

正则表达式替换例子
Rank: Sage
sdstuber:
the above will replace multiple invalid characters with a single space, if you want a one-for-one swap then remove the "+"


select regexp_replace('TAYLOR''S AUTO PRODUCTS,INCýý59', '[^A-Za-z0-9,'' ]',' ') a from dual;
bypass any valid and then replace irregular with space


VB:
Private Function StripChars(ByVal ToStrip As String) As String
Dim RegEx As New Regex("[\x7E-\xFF]")
Return RegEx.Replace(ToStrip, "")
End Function
End Class


General Information

Anchoring Characters
Character Class Description
^ Anchor the expression to the start of a line
$ Anchor the expression to the end of a line

Equivalence Classes
Character Class Description
= = Oracle supports the equivalence classes through the POSIX '[==]' syntax. A base letter and all of its accented versions constitute an equivalence class. For example, the equivalence class '[=a=]' matches � and �. The equivalence classes are valid only inside the bracketed expression

Match Options
Character Class Description
c Case sensitive matching
i Case insensitive matching
m Treat source string as multi-line activating Anchor chars
n Allow the period (.) to match any newline character

Posix Characters
Character Class Description
[:alnum:] Alphanumeric characters
[:alpha:] Alphabetic characters
[:blank:] Blank Space Characters
[:cntrl:] Control characters (nonprinting)
[:digit:] Numeric digits
[:graph:] Any [:punct:], [:upper:], [:lower:], and [:digit:] chars
[:lower:] Lowercase alphabetic characters
[:print:] Printable characters
[:punct:] Punctuation characters
[:space:] Space characters (nonprinting), such as carriage return, newline, vertical tab, and form feed
[:upper:] Uppercase alphabetic characters
[:xdigit:] Hexidecimal characters

Quantifier Characters
Character Class Description
* Match 0 or more times
? Match 0 or 1 time
+ Match 1 or more times
{m} Match exactly m times
{m,} Match at least m times
{m, n} Match at least m times but no more than n times
\n Cause the previous expression to be repeated n times

Alternative Matching And Grouping Characters
Character Class Description
| Separates alternates, often used with grouping operator ()
( ) Groups subexpression into a unit for alternations, for quantifiers, or for backreferencing (see "Backreferences" section)
[char] Indicates a character list; most metacharacters inside a character list are understood as literals, with the exception of character classes, and the ^ and - metacharacters

Demo Table CREATE TABLE test (
testcol VARCHAR2(50));

INSERT INTO test VALUES ('abcde');
INSERT INTO test VALUES ('12345');
INSERT INTO test VALUES ('1a4A5');
INSERT INTO test VALUES ('12a45');
INSERT INTO test VALUES ('12aBC');
INSERT INTO test VALUES ('12abc');
INSERT INTO test VALUES ('12ab5');
INSERT INTO test VALUES ('12aa5');
INSERT INTO test VALUES ('12AB5');
INSERT INTO test VALUES ('ABCDE');
INSERT INTO test VALUES ('123-5');
INSERT INTO test VALUES ('12.45');
INSERT INTO test VALUES ('1a4b5');
INSERT INTO test VALUES ('1 3 5');
INSERT INTO test VALUES ('1 45');
INSERT INTO test VALUES ('1 5');
INSERT INTO test VALUES ('a b c d');
INSERT INTO test VALUES ('a b c d e');
INSERT INTO test VALUES ('a e');
INSERT INTO test VALUES ('Steven');
INSERT INTO test VALUES ('Stephen');
INSERT INTO test VALUES ('111.222.3333');
INSERT INTO test VALUES ('222.333.4444');
INSERT INTO test VALUES ('333.444.5555');
INSERT INTO test VALUES ('abcdefabcdefabcxyz');
COMMIT;

REGEXP_COUNT
Syntax REGEXP_COUNT(, [[, ], []])

-- match parameter:
'c' = case sensitive
'i' = case insensitive search
'm' = treats the source string as multiple lines
'n' = allows the period (.) wild character to match newline
'x' = ignore whitespace characters

Count's occurrences based on a regular expression SELECT REGEXP_COUNT(testcol, '2a', 1, 'i') RESULT
FROM test;

SELECT REGEXP_COUNT(testcol, 'e', 1, 'i') RESULT
FROM test;

REGEXP_INSTR
Syntax REGEXP_INSTR(, [[, ][, ][, ][, ][, ]])

Find words beginning with 's' or 'r' or 'p' followed by any 4 alphabetic characters: case insensitive SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 1, 0, 'i') RESULT
FROM dual;

SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 1, 1, 'i') RESULT
FROM dual;

SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 2, 0, 'i') RESULT
FROM dual;

SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 2, 1, 'i') RESULT
FROM dual;
Find the position of try, trying, tried or tries SELECT REGEXP_INSTR('We are trying to make the subject easier.', 'tr(y(ing)?|(ied)|(ies))') RESULTNUM
FROM dual;
Using Sub-Expression option SELECT testcol, REGEXP_INSTR(testcol, 'ab', 1, 1, 0, 'i', 0)
FROM test;

SELECT testcol, REGEXP_INSTR(testcol, 'ab', 1, 1, 0, 'i', 1)
FROM test;

SELECT testcol, REGEXP_INSTR(testcol, 'a(b)', 1, 1, 0, 'i', 1)
FROM test;

REGEXP_LIKE
Syntax REGEXP_LIKE(, , )

AlphaNumeric Characters SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:alnum:]]');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:alnum:]]{3}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:alnum:]]{5}');

Alphabetic Characters SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:alpha:]]');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:alpha:]]{3}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:alpha:]]{5}');

Control Characters INSERT INTO test VALUES ('zyx' || CHR(13) || 'wvu');
COMMIT;

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:cntrl:]]{1}');

Digits SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:digit:]]');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:digit:]]{3}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:digit:]]{5}');

Lower Case SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:lower:]]');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:lower:]]{2}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:lower:]]{3}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:lower:]]{5}');

Printable Characters SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:print:]]{5}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:print:]]{6}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:print:]]{7}');

Punctuation TRUNCATE TABLE test;

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:punct:]]');

Spaces SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:space:]]');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:space:]]{2}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:space:]]{3}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:space:]]{5}');

Upper Case SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:upper:]]');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:upper:]]{2}');

SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:upper:]]{3}');
Values Starting with 'a%b' SELECT testcol
FROM test
WHERE REGEXP_LIKE(testcol, '^ab*');
'a' is the third value SELECT testcol
FROM test
WHERE REGEXP_LIKE(testcol, '^..a.');
Contains two consecutive occurances of the letter 'a' or 'z' SELECT testcol
FROM test
WHERE REGEXP_LIKE(testcol, '([az])\1', 'i');
Begins with 'Ste' ends with 'en' and contains either 'v' or 'ph' in the center SELECT testcol
FROM test
WHERE REGEXP_LIKE(testcol, '^Ste(v|ph)en$');
Use a regular expression in a check constraint CREATE TABLE mytest (c1 VARCHAR2(20),
CHECK (REGEXP_LIKE(c1, '^[[:alpha:]]+$')));

Identify SSN

Thanks: Byron Bush HIOUG CREATE TABLE ssn_test (
ssn_col VARCHAR2(20));

INSERT INTO ssn_test VALUES ('111-22-3333');
INSERT INTO ssn_test VALUES ('111=22-3333');
INSERT INTO ssn_test VALUES ('111-A2-3333');
INSERT INTO ssn_test VALUES ('111-22-33339');
INSERT INTO ssn_test VALUES ('111-2-23333');
INSERT INTO ssn_test VALUES ('987-65-4321');
COMMIT;

SELECT ssn_col
from ssn_test
WHERE REGEXP_LIKE(ssn_col,'^[0-9]{3}-[0-9]{2}-[0-9]{4}$');

REGEXP_REPLACE
Syntax REGEXP_REPLACE(, ,
, , , )
Looks for the pattern xxx.xxx.xxxx and reformats pattern to (xxx) xxx-xxxx col testcol format a15
col result format a15

SELECT testcol, REGEXP_REPLACE(testcol,
'([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})',
'(\1) \2-\3') RESULT
FROM test
WHERE LENGTH(testcol) = 12;
Put a space after every character SELECT testcol, REGEXP_REPLACE(testcol, '(.)', '\1 ') RESULT
FROM test
WHERE testcol like 'S%';
Replace multiple spaces with a single space SELECT REGEXP_REPLACE('500 Oracle Parkway, Redwood Shores, CA', '( ){2,}', ' ') RESULT
FROM dual;
Insert a space between a lower case character followed by an upper case character SELECT REGEXP_REPLACE('George McGovern', '([[:lower:]])([[:upper:]])', '\1 \2') CITY
FROM dual;
Replace the period with a string (note use of '\') SELECT REGEXP_REPLACE('We are trying to make the subject easier.','\.',' for you.') REGEXT_SAMPLE
FROM dual;

Demo CREATE TABLE t(
testcol VARCHAR2(10));

INSERT INTO t VALUES ('1');
INSERT INTO t VALUES ('2 ');
INSERT INTO t VALUES ('3 new ');

col newval format a10

SELECT LENGTH(testcol) len, testcol origval,
REGEXP_REPLACE(testcol, '\W+$', ' ') newval,
LENGTH(REGEXP_REPLACE(testcol, '\W+$', ' ')) newlen
FROM t;

REGEXP_SUBSTR
Syntax REGEXP_SUBSTR(source_string, pattern
[, position [, occurrence
[, match_parameter]]])
Searches for a comma followed by one or more occurrences of non-comma characters followed by a comma SELECT REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA', ',[^,]+,') RESULT
FROM dual;
Look for http:// followed by a substring of one or more alphanumeric characters and optionally, a period (.) col result format a50

SELECT REGEXP_SUBSTR('Go to http://www.oracle.com/products and click on database',
'http://([[:alnum:]]+\.?){3,4}/?') RESULT
FROM dual;
Extracts try, trying, tried or tries SELECT REGEXP_SUBSTR('We are trying to make the subject easier.','tr(y(ing)?|(ied)|(ies))')
FROM dual;
Extract the 3rd field treating ':' as a delimiter SELECT REGEXP_SUBSTR('system/pwd@orabase:1521:sidval',
'[^:]+', 1, 3) RESULT
FROM dual;

Extract from string with vertical bar delimiter CREATE TABLE regexp (
testcol VARCHAR2(50));

INSERT INTO regexp
(testcol)
VALUES
('One|Two|Three|Four|Five');

SELECT * FROM regexp;

SELECT REGEXP_SUBSTR(testcol,'[^|]+', 1, 3)
FROM regexp;
Equivalence classes SELECT REGEXP_SUBSTR('iSelfSchooling NOT ISelfSchooling', '[[=i=]]SelfSchooling') RESULT
FROM dual;

Parsing Demo set serveroutput on

DECLARE
x VARCHAR2(2);
y VARCHAR2(2);
c VARCHAR2(40) := '1:3,4:6,8:10,3:4,7:6,11:12';
BEGIN
x := REGEXP_SUBSTR(c,'[^:]+', 1, 1);
y := REGEXP_SUBSTR(c,'[^,]+', 3, 1);

dbms_output.put_line(x ||' '|| y);
END;
/

Wednesday, October 08, 2008

fwd: 十二、 中国历史上的哲学缺陷与当今的问题

作者:谁是谁非任评说 回复日期:2008-5-20 16:54:56 

  十二、 中国历史上的哲学缺陷与当今的问题
  中国的哲学长期局限在儒家思想下,相对是框架枷锁很强的,很多人都怀念先秦诸子的时代,似乎在那个时期什么先进的思想都有,实际上仔细思考一下,中国的哲学还是有致命的缺陷的。
  中国的哲学缺陷在于中国没有逻辑学和形而上学,我们找出的白马非马论作为我们有逻辑思想的说法实际上是非常幼稚可笑的,这点取巧的辩论给说成是逻辑学,更准确地说是诡辩就作为我们有逻辑学,只能是让人更加鄙视提出这个命题的人。真正的逻辑学的概念、推理、命题等概念是非常明确的,并且有明确的规则的,是一个完整的理论体系,中国的学者在这点上很爱自欺欺人。
  中国的语言产生逻辑学是非常困难的,因为中国的语言没有时态、语态、主格、宾格等等,在逻辑学上界定判断、定义是非常困难的,现在我们常用的单词,如:是、否、如果、但是等等在以前的文言文很少,在白话文里也很少,中国的语言是非常不适合逻辑学的发展的,这些单词是在科学进入近代中国后才逐步产生的。语言有巨大额阐释的空间,中国的经典怎样注释差别极大,这在逻辑上就是歧义百出,无法进行逻辑分析的。所以没有这些单词,在语言本身就给逻辑学的产生和发展造成巨大障碍。
  中国比较流行的是非常模糊的哲学,如道可道非常道,如仁义礼智信等等,一切的办法是大而化之,归结为阴阳五行,这一点非常适合辩证法在中国的流行,而辩证法另外一个西方贬义的名字叫做诡辩主义。
  我们中国的教育和思想界对于辩证法与逻辑学的关系这一个重大问题是一定要回避的,因为辩证法与逻辑学是矛盾的,辩证法违法逻辑学的排中律,使用逻辑学的思考和推理方法是可以轻易的把辩证法的核心命题给证伪的!这里我们举例说明,就拿“真理是相对的”这个命题来说吧!
  我们使用逻辑学中经常使用的反证法来证明,即假设“真理是相对的”这个命题是真理,那么“真理是相对的”这个命题也是相对的,这也就是说必须存在一个绝对真理,如果存在绝对真理,那么“真理是相对的”就不是真理了;如果不存在绝对真理,那么“真理是相对的”本身成为绝对真理。这两种情况均与自身的命题矛盾,所以根据反证法的证明,“真理是相对的”为谬误。
  我们现在再就一个命题谈逻辑学对于我们的哲学认识的影响,这个命题也是众所周知的,那就是“实践是检验真理的唯一标准”,这个命题关于自身也是有问题的,就是“实践是检验真理的唯一标准”如果是真理,那么他就只能使用实践来检验,但是如果你使用实践来检验,等于你在验证的时候已经把“实践是检验真理的标准”这个命题给承认了,就是把要检验的命题的一部分给承认了。因为你如果没有承认实践是检验真理的标准,你就不能用实践去检验它,而你要证明这个命题却在著名的过程中或过程前已经把这个命题承认了,并且使用这个命题的结论去证明这个命题的正确,这在逻辑学上是循环论证!只有是反证法可以,即如果有矛盾是反证法,肯定命题不成立,但是正命题正确否命题不一定正确,所以如果没有矛盾却不能说明问题已经被证明,所以这样的方法只有要证明命题是谬误时可以使用,是存在根本的逻辑错误的。同时如果还有其他方法证明这个命题,本身就与命题的“唯一”二字矛盾,所以使用实践去证明是循环论证,不使用实践证明有与唯一性矛盾,所以这个问题只能循环论证是不可证明的。
  我们在这里发现很多与“实践是检验真理唯一标准”类似的命题是无法证明的,这个问题就是逻辑学发展史上著名的歌德尔定理,该定理说的是一个理论体系一定会存在一个命题,就是你不能证明它是对是错。也就是因为这个定理的存在,才彻底平息了对于几何学第五公理的争论,解决了非欧几何的地位,现在我们平时使用欧氏几何,但是对于爱因斯坦的相对论是使用非欧几何来描述的。
  那么对于一个逻辑体系中无法使用逻辑证明对错的命题,如果大家还要一定相信这个命题,那么这个命题就只能是公理,但是对于存在大家公认不用证明的公理的理论体系,这个体系就是唯心的,所以黑格尔在搞辩证法的时候,就是唯心辩证法。
  而对于唯心和唯物,也远远不象大家中学学习政治学课程所讲的那样简单,我们的政治课本上讲世界是唯物的之理由,说的是我们的望远镜能够看多远没有发现神,显微镜能够看多小也没有发现神,而且意识的载体是物质,但是这里面也是有逻辑问题的,如果我拿“如果我没有发现就认为没有”这个问题来问你,你一定会告诉我这是唯心的方法,但是我们的课本说世界是唯物的恰恰是使用的唯心的方法!
  实际上我们认识世界的本源问题又一个重大的问题我们的课本是回避的,就是这个世界是一元的、二元的还是多元的!如果我们说意识和物质一定要一方决定一方的话,这就是一元的,如果认为意识和物质是独立的二个世界,那么就是二元的,如果认为世界还有独立于意识和物质之外的冥界,那么世界就是多元的,许多宗教实际上是多元论,神界、天堂等是另外一元。而在相对论中“彼此相对速度超过光速的世界是没有因果关系的世界”的理论,也给很多世界是多元的追随者以理论基础。这些事物只能是自己内心的确信,中国要思想界只有一种思想,回避了世界是几元的问题,也让老百姓思想更加简单,尤其是破除宗教的势力特别有意义。
  再说对于世界的认识,命题的起源认识在哪里,而辩证法强于辩论,大而化之的矛盾论是原则的论述没有具体的方法,比如说主要矛盾起决定作用,但是怎样找到主要矛盾的方法却没有,而要讲到方法,尤其是科学的方法,就是必须可以定量分析的、可以重复和反复使用的方法,而提供这样方法的哲学,也就要提到形而上学了,我们批判了那么多形而上学,但是从来没有告诉过你形而上学是什么,只是一大堆什么僵死的、静止的、孤立的等等形容词,而形而上学实际上是价值巨大的,所谓形而上,就是从具体到抽象的过程,形而上学也就是从具体到抽象认识提高的方法。再举一个简单的例子,我们知道几何学的点线面是没有粗细厚薄大小的,而当时使用几何为了丈量的土地、物品却都有粗细厚薄大小,而把这些具象的物品抽象到几何学的点线面,再使用几何学的规律进行运算,其结果与实际相符合,这样的认识世界的方法就是形而上学。
  而在中国这样的形而上学的思想是没有的,因为形而上学是唯物的,从现实世界抽象而来,但中国历史上都为唯心的,均没有形而上学的基础,相反地对于辩证法倒是很有渊源。而亚里斯多德的形而上学以及逻辑学是产生现代科学的基础。
  我们现在的课本是有问题的,辩证法给领导者提供了自己永远不会错误的理论,辩证法是可以正反两面解释怎样解释由领导者引导都永远不会错误的,因为逻辑学与我们要教的辩证法矛盾,为了辩证法我们的教育体系中居然没有逻辑学的教育,为此我们加大了几何学,以几何的教育弥补逻辑学中的不足,但是这样的结果是应用逻辑没有问题,但是在思想上德高度就不足了。我们了解国外教育的就知道,考GRE的主要部分就是语言、数学外就是考逻辑(分析部分),由此可见逻辑学在西方教育中的重要,就如政治课在我们教育中的重要一样,而几何学确是选修的。
  同时我们一定要求大家以唯物为信仰,其目的也是为了人去造反、革命等反社会行为没有意识上的负担,而形而上学的存在,对于希望通过洗脑进行愚民教育是重大的威胁,所以我们现在只有一元哲学中唯物辩证法的教育,所有学生只有一种意识形态,这本身与当年儒学的思想禁锢道理是一样的。我父亲是在解放后接受的教育,那时候亚里斯多德的形而上学、黑格尔的辩证法以及歌德尔德逻辑学都是禁书,强迫记忆的政治课本内容实际上是一个洗脑的过程,老父亲别看是搞理论物理的博导,但是也是满嘴辩证法一点也不知道他天天使用的逻辑学与辩证法是矛盾的,更不知道逻辑学中的歌德尔定理等逻辑基本原理,他只知道在具体的学科应用逻辑学,却对于逻辑学和形而上学的理论没有了解,对于搞理论物理的人来说是很可悲的。中国解放后在科学界没有产生大家,虽然还有其他种种原因,但是对于哲学认识方法的束缚教育,也应当是其中一个主要的原因。
  中国古代的思想界为了统治者的君权神授和愚民的需要而没有了逻辑学和形而上学,因为老百姓要是掌握了逻辑学和形而上学的分析方法,愚民政策就无法推行了。现在中国的教育还是不加强孩子分析问题的能力,把分析能力作为高考的重要方面,将来中国的科技和社会发展是要有大问题的。我们总讲素质教育,反对应试教育,但是考试还是最公平的方法,我们的考试的主要内容为数学、语文、外语和综合,美国的GRE等却是数学、语言词汇和分析,一看就知道中国的考试是以记忆为主而不是国际的分析思考,我们不考分析考外语,也不给学生教授逻辑学,而体现素质与应试的最大区别就在于逻辑分析问题的能力,不论你学习什么学科,文科还是理科,均离不开逻辑分析,而逻辑分析能力不是靠应试突击能够简单培养的,这才是应试与素质的区别。中国哲学的历史和现实还是影响着中国的发展