投奔Prelude

好久以来我就是个Emacs用户,但是并不坚定。各种编辑器中都用用,有的时候为了一个特定的功能就会打开Sublime Text。现在我的电脑里装了Emacs、GVim、Sublime Text、VSCode、UltraEdit,这么多编辑器,还不算上PyCharm、IntelliJ一类的IDE。

Emacs和Vim的圣战中我一直站在Emacs一边,多年来也捅咕着自己的配置文件。有一年多,我是在用Spacemacs的,但是我的观念就是绝对不会设置成Vim模式。后来又听说了Doom Emacs,虽然说快一些,但是默认的Vim模式我也是很不喜欢。我喜欢那种按住CTRL键天花乱坠的章鱼感觉。

还有一点,在不同的配置之间切换也是我一直头疼的事情。既然Spacemacs、Doom Emacs只是GNU Emacs配合的一套配置文件,那应该有办法把它们装在不同的目录下,然后用脚本进行切换的。

这个礼拜在RSS上看到https://emacsredux.com/blog/2020/09/15/emacs-prelude-1-0/ 这一篇,原来Prelude终于升级到1.0啦。其中有一句话特别中我的意:

Prelude aims to enhance the classic Emacs experience without deviating a lot from it – e.g. it would never enable something like evil-mode (vim keybindings) by default and so on.

对吗,这才是Emacs该有的样子。Spacemacs还是Emacs吗?好怀疑。文档里有安装方法,可以把这套配置文件安装到一个制定的地方。

$ export PRELUDE_INSTALL_DIR="$HOME/.prelude.emacs.d" && curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh

这样就行了。感觉上就是一个增强版的Vanilla Emacs啦。

后面一个多配置共享的问题,我在StackOverflow上搜到一个答案。https://emacs.stackexchange.com/a/44678,安装一个叫chemacs的工具。

$ git clone https://github.com/plexus/chemacs.git
$ cd chemacs
$ ./install.sh

然后在自己的家目录维护一个 .emacs-profiles.el 文件。在里面列举你的配置。

(("prelude" . ((user-emacs-directory . "~/.prelude.emacs.d")))
 ("spacemacs" . ((user-emacs-directory . "~/spacemacs"))))

最后就可以用相应的配置来启动Emacs啦。

$ emacs --with-profile prelude
$ emacs --with-profile spacemacs 

这样在保留Spacemacs的情况下又可以用Prelude了,很好。

YMCA Song

Young man, there’s no need to feel down
I said, young man, pick yourself off the ground
I said, young man, ’cause you’re in a new town 
There’s no need to be unhappy
Young man, there’s a place you can go
I said, young man, when you’re short on your dough
You can stay there, and I’m sure you will find 
Many ways to have a good time
It’s fun to stay at the YMCA
It’s fun to stay at the YMCA
They have everything for you men to enjoy
You can hang out with all the boys
It’s fun to stay at the YMCA
It’s fun to stay at the YMCA
You can get yourself clean, you can have a good meal
You can do what ever you feel 
Young man, are you listening to me? 
I said, young man, what do you want to be? 
I said, young man, you can make real your dreams
But you got to know this one thing
No man does it all by himself
I said, young man, put your pride on the shelf
And just go there, to the YMCA
I’m sure they can help you today
It’s fun to stay at the YMCA
It’s fun to stay at the YMCA
They have everything for you men to enjoy
You can hang out with all the boys 
It’s fun to stay at the YMCA
It’s fun to stay at the YMCA
You can get yourself clean, you can have a good meal 
You can do what ever you feel 
Young man, I was once in your shoes
I said, I was down and out with the blues
I felt no man cared if I were alive
I felt the whole world was so tight 
That’s when someone came up to me
And said, young man, take a walk up the street
There’s a place there called the YMCA
They can start you back on your way
It’s fun to stay at the YMCA
It’s fun to stay at the YMCA
They have everything for you men to enjoy
You can hang out with all the boys 
YMCA, it’s fun to stay at the YMCA
Young man, young man, there’s no need to feel down
Young man, young man, pick yourself off the ground
YMCA, it’s fun to stay at the YMCA
Young man, young man, are you listening to me
Young man, young man, what do you wanna be?
YMCA, you’ll find it at the YMCA
No man, young man, does it all by himself
Young man, young man, put your pride on the shelf
YMCA, and just go to the YMCA
Young man, young man I was once in your shoes
Young man, young man I was down with the blues, YMCA

第67回NHK杯1回战第4局

放送时间:2019年04月28日


黑棋:蘇耀国九段
白棋:结城聪九段

133手 黑棋蘇耀国中盘胜

SGF 文件内容:

===========分割线,这行不算 ===============

(;CA[gb2312]AP[MultiGo:4.4.4]SZ[19]C[2019年04月28日 第67回NHK杯1回戦第4局

黑棋:蘇耀国九段
白棋:结城聪九段

133手 黒\番 蘇耀国九段の中押し勝ち]
MULTIGOGM[1]
;B[pd];W[cc];B[pp];W[cq];B[dd];W[dc];B[ed];W[cd];B[df];W[fc];B[dp];W[dq];B[ep];W[cp]
;B[dn];W[co];B[qn];W[do];B[fn];W[en];B[fm];W[em];B[el];W[fl];B[ek];W[fk];B[ej];W[fj]
;B[ei];W[hm];B[ho];W[jn];B[jp];W[kp];B[eo];W[dm];B[cm];W[cn];B[dl];W[dn];B[kq];W[lp]
;B[jo];W[kn];B[lq];W[mq];B[jq];W[mn];B[eq];W[qf];B[lm];W[mm];B[ll];W[mp];B[ln];W[ko]
;B[no];W[mo];B[jl];W[go];B[fo];W[hn];B[io];W[gp];B[gq];W[ik];B[ki];W[nk];B[il];W[hl]
;B[ii];W[gh];B[in];W[im];B[jm];W[hq];B[gr];W[ij];B[ni];W[pk];B[pi];W[pr];B[qq];W[qr]
;B[hi];W[gi];B[hj];W[hk];B[ge];W[hg];B[ol];W[ok];B[rk];W[oh];B[oi];W[mj];B[jj];W[jk]
;B[lj];W[mi];B[jh];W[jf];B[kf];W[lh];B[kg];W[he];B[hd];W[id];B[hf];W[if];B[gf];W[kk]
;B[lk];W[ig];B[nh];W[mf];B[kd];W[md];B[nl];W[ml];B[mg];W[kj];B[li];W[mh];B[lg];W[kh]
;B[ji];W[jg];B[mk];W[nj];B[pl];W[qk];B[rj])

===========以上,这行不算 =================

第67回NHK杯1回战第3局

放送时间:2019年04月21日


黑棋:瀬戸大樹八段
白棋:林漢傑八段

297手 白棋林漢傑2目半胜

SGF 文件内容:

===========分割线,这行不算 ===============

(;CA[gb2312]AP[MultiGo:4.4.4]SZ[19]C[2019年04月21日 第67回NHK杯1回戦第3局

黑棋:瀬戸大樹八段
白棋:林漢傑八段

297手 白番 林漢傑八段の2目半勝ち]
MULTIGOGM[1]
;B[qd];W[dp];B[dc];W[ce];B[pp];W[ed];B[ec];W[fd];B[gc];W[oc];B[pc];W[od];B[qf];W[qq]
;B[pq];W[qp];B[qo];W[ro];B[rn];W[qn];B[po];W[rm];B[rp];W[sn];B[rq];W[gd];B[hc];W[hd]
;B[ic];W[dj];B[cq];W[cp];B[dq];W[ep];B[fr];W[fq];B[gr];W[ho];B[id];W[ie];B[je];W[if]
;B[jf];W[ig];B[jg];W[ih];B[ki];W[kd];B[md];W[lf];B[mb];W[og];B[oi];W[me];B[ld];W[ke]
;B[jd];W[pe];B[qe];W[ob];B[kc];W[ph];B[qj];W[qi];B[rj];W[pj];B[pi];W[qh];B[oh];W[pf]
;B[ql];W[pk];B[rl];W[pl];B[qm];W[pm];B[pn];W[qb];B[rb];W[ra];B[pb];W[pa];B[qc];W[qa]
;B[rg];W[ri];B[sb];W[nj];B[mh];W[mi];B[ni];W[oj];B[nh];W[qk];B[rk];W[sj];B[rn];W[rc]
;B[rd];W[qn];B[qg];W[pg];B[rn];W[lh];B[li];W[qn];B[cj];W[ck];B[rn];W[mj];B[lg];W[qn]
;B[bk];W[rn];B[ci];W[bl];B[sp];W[sk];B[cf];W[dk];B[be];W[cd];B[bd];W[df];B[cg];W[cc]
;B[eh];W[bq];B[gq];W[cr];B[jq];W[qr];B[pr];W[bj];B[bi];W[ak];B[ef];W[ff];B[dr];W[br]
;B[jo];W[lo];B[go];W[ip];B[hp];W[io];B[iq];W[rr];B[sr];W[bc];B[dg];W[fg];B[di];W[fo]
;B[gn];W[gp];B[fp];W[sl];B[qs];W[gp];B[hq];W[hm];B[fp];W[ad];B[af];W[gp];B[jp];W[im]
;B[fp];W[fc];B[fb];W[gp];B[mn];W[ln];B[fp];W[eq];B[lm];W[kn];B[fn];W[eo];B[jn];W[km]
;B[jm];W[ll];B[kl];W[mm];B[gl];W[hk];B[hl];W[il];B[ik];W[jl];B[dm];W[er];B[cn];W[cm]
;B[bm];W[en];B[em];W[cl];B[dn];W[bn];B[mp];W[lp];B[lq];W[mq];B[mr];W[mo];B[nq];W[gk]
;B[fk];W[ij];B[bo];W[am];B[cb];W[bb];B[gm];W[jk];B[ca];W[fj];B[gp];W[db];B[eb];W[co]
;B[nn];W[no];B[om];W[mg];B[kh];W[ng];B[lh];W[ba];B[da];W[fl];B[fh];W[gh];B[gi];W[eg]
;B[de];W[dd];B[fi];W[hi];B[gg];W[hh];B[fe];W[gf];B[ge];W[hg];B[ee];W[he];B[df];W[nd]
;B[ol];W[mc];B[lc];W[ai];B[ah];W[aj];B[bg];W[el];B[fm];W[nl];B[lj];W[lk];B[nc];W[nb]
;B[np];W[oo];B[on];W[ma];B[la];W[na];B[mc];W[kp];B[kf];W[le];B[pd];W[ne];B[kq];W[op]
;B[oq];W[fs];B[gs];W[es];B[ok];W[nk];B[sh];W[so];B[rs];W[gj];B[jh];W[ac];B[ae];W[rh]
;B[ei];W[kk];B[ji])

===========以上,这行不算 =================

第67回NHK杯1回战第2局

放送时间:2019年04月14日

黑棋:小林觉 九段
白棋:六浦雄太 七段

136手 白棋六浦雄太中盘胜

SGF 文件内容:

===========分割线,这行不算 ===============

(;CA[gb2312]AP[MultiGo:4.4.4]SZ[19]C[2019年04月14日 第67回NHK杯1回戦第2局

黑棋:小林觉 九段
白棋:六浦雄太 七段

136手 白棋中盘胜]
MULTIGOGM[1]
;B[qd];W[dp];B[dc];W[pp];B[cn];W[ce];B[dg];W[ee];B[fd];W[di];B[fg];W[cg];B[fq];W[fp]
;B[gp];W[fo];B[cq];W[eq];B[cp];W[gq];B[ck];W[df];B[kc];W[pd];B[qe];W[pc];B[qc];W[qb]
;B[pe];W[nd];B[oe];W[lc];B[lb];W[mc];B[kd];W[rb];B[qn];W[ql];B[on];W[np];B[qj];W[pj]
;B[qk];W[pk];B[rl];W[pl];B[rm];W[ph];B[pi];W[oi];B[qi];W[nh];B[og];W[oh];B[rg];W[gf]
;B[gd];W[ie];B[ic];W[kp];B[nj];W[nl];B[mn];W[ll];B[lj];W[lh];B[jj];W[jh];B[il];W[km]
;B[in];W[jo];B[jn];W[kn];B[hq];W[fr];B[io];W[hr];B[hi];W[ip];B[lo];W[ko];B[oq];W[op]
;B[pq];W[nq];B[qq];W[qp];B[nr];W[mr];B[or];W[hk];B[ik];W[hj];B[ii];W[dk];B[fk];W[cl]
;B[ei];W[ej];B[fj];W[eh];B[fi];W[bo];B[co];W[bn];B[cm];W[bm];B[dl];W[bl];B[ek];W[dj]
;B[em];W[oj];B[mq];W[mp];B[cd];W[bd];B[bc];W[lq];B[rp];W[ro];B[rq];W[gn];B[gm];W[qo]
;B[be];W[bf];B[ad];W[pn];B[dh];W[eg];B[ch];W[ci];B[bh];W[bi])

===========以上,这行不算 =================

第67回NHK杯1回战第1局

放送时间:2019年04月07日

黑棋:鈴木伸二七段
白棋:孫喆七段

190手白棋孫喆七段中盘胜

SGF 文件内容:

===========分割线,这行不算 =================

(;CA[gb2312]AP[MultiGo:4.4.4]SZ[19]C[2019年04月07日 第67回NHK杯1回戦第1局

黑棋:鈴木伸二七段
白棋:孫喆七段

190手白棋孫喆七段中盘胜]
MULTIGOGM[1]
;B[qd];W[dp];B[cd];W[pp];B[oc];W[ec];B[df];W[id];B[qn];W[nq];B[cn];W[co];B[dn];W[fp]
;B[cj];W[pj];B[qp];W[qq];B[rq];W[qo];B[rp];W[ro];B[po];W[rn];B[pq];W[op];B[pr];W[qm]
;B[hq];W[er];B[mp];W[kp];B[gn];W[mq];B[jo];W[dj];B[ck];W[dh];B[ko];W[ci];B[cg];W[bj]
;B[bk];W[gi];B[ei];W[di];B[bi];W[bh];B[aj];W[cc];B[bc];W[dd];B[cb];W[ce];B[dc];W[bd]
;B[cc];W[de];B[fc];W[eb];B[ed];W[ee];B[fd];W[fe];B[fb];W[bg];B[qg];W[jp];B[ip];W[lo]
;B[ln];W[lp];B[km];W[mc];B[pn];W[pm];B[on];W[mn];B[mm];W[nn];B[om];W[nm];B[ol];W[pk]
;B[nk];W[ml];B[mk];W[ri];B[qi];W[qj];B[ll];W[lm];B[rk];W[rl];B[mm];W[nl];B[ok];W[lm]
;B[rj];W[rh];B[qh];W[rg];B[rf];W[qk];B[mm];W[lk];B[lj];W[kk];B[kl];W[jk];B[ki];W[ji]
;B[jh];W[ii];B[kh];W[pe];B[sg];W[sk];B[oh];W[qf];B[re];W[od];B[pc];W[mf];B[ng];W[mg]
;B[mh];W[pg];B[ph];W[nf];B[je];W[jd];B[ke];W[ld];B[of];W[pf];B[og];W[oe];B[lg];W[lf]
;B[kf];W[ni];B[oi];W[oj];B[nj];W[mi];B[nh];W[pi];B[lh];W[ig];B[jg];W[if];B[ih];W[hh]
;B[ie];W[gd];B[he];W[gb];B[ea];W[gc];B[db];W[gf];B[le];W[me];B[kd];W[kc];B[lb];W[lc]
;B[nc];W[nd];B[mb];W[ib];B[jf];W[jr];B[jq];W[kq];B[iq];W[lr];B[hj];W[hk];B[hg];W[gj]
;B[il];W[jl];B[ik];W[jm];B[in];W[ho];B[im];W[jn])

===========以上,这行不算 =================

清明无锡游记录

记一下,否则就忘记了。

清明后一天,坐火车去无锡。

上次去无锡还是一九九零年,那个时候有可能成为一个无锡人,造化弄人,擦肩而过。

中午到无锡,先地铁到清名桥,吃了午饭,在一家中规中矩的餐馆,有烤鸭,有萝卜干,都很可口,还便宜。

下午去无锡博物馆。东区几层楼的动手区很棒,小朋友可以亲自动手玩玩,了解环境、地理、物理、人体构造……总的来说比上海自然博物馆好。

还去4D影院看了《羽龙》动画片,所谓的4D是会有喷雾,椅子也会配合场景动一动,感觉有人在后面踢你。小孩子还是可能害怕。总的来说寓教于乐,十几分钟也不拖沓,另外免费的,值得。

西区就是人文区了。有一个沙盘,清朝街景,有各种店铺,各种人物走在路上,还有人在运河边洗衣服,淘米。主街上有一队人阵仗很大的摆过来,队前还有华盖,估计是皇上南巡吧。

晚上和网友路人甲在一起吃饭,在座的还有她已经十几岁的女儿。我和女孩儿谈得倒是投机,网友啊,手机啊,情商不高的男生啊,王者荣耀啊,什么都还可以谈。临分别,还给女孩儿出了个小帖士,去读傅雷的《世界美术二十讲》,一班主任是美术老师,二是班主任建议不要读活人的书,也算是有的放矢,投其所好。

饭后路人甲还给安排了运河游船活动,短短一段运河之旅,我想到了杭州武林门到拱宸桥段的运河水上巴士。同样的运河,不同样的风物。下船后我们又在南长街上逛回住处。街上有小摊也有食肆,简直是河坊街和高银街的合体。有趣的一个事情,公共厕所的男女比重失调,男厕有时会划归女厕,门口有社区阿姨把守。

第二天早饭时候听隔壁桌在说鼋头渚的花已经被前两天的雨水打光了,交通又不方便,我们就放弃了去那的念头。叫了一辆滴滴快车我们就到了惠山古镇。那里有三个景点是连在一起的,寄畅园、天下第二泉和惠山寺。我们跟卖门票的说我们只去寄畅园,人家说里面是通的,要去就一起去。好吧,一起一起。

寄畅园又叫秦园,占地十五亩,好大。里面有各种假山乱石,还有亭台楼阁。别的不说,墙上的书刻就一定花了很多人力物力。我看着那些好看的行书草书,真是喜欢得不得了。当然,我已经不会天真地以为这些是这里原创的了,在杭州的胡雪岩故居我还震惊的发现苏东坡的寒食帖。

天下第二泉的泉眼已经变成了许愿池,满满的铺了一层硬币。纪念品商店的老板对好奇的游客讲述着瞎子阿炳的故事。里面还有一个小院子,据说在颐和园里有一个园子就是照搬这个的,里面有不少乾隆皇帝的御书。

还有朝房。看来惠山真是好地方,康乾二帝六次巡幸到此。文武百官在这里也就有了落脚的朝房。

下午回到南禅寺一带,吃了穆桂英美食,在茶叶一条街上逛一路,又到三凤桥买了面筋塞肉和排骨。走累了就在那边坐下,晚上吃了饭就火车回家了。

美好的无锡之行,感谢天气,感谢路人甲。下次还要再来,要去鼋头渚,要去拈花湾,想想应该会多住两天吧。

作为一个经验丰富的团队怎么办?

最近听到一个讲演,其中有一个部分讲到如果团队年纪大了该怎样发展下去,现在我记录一下。

经常有人问我们和H有什么区别,对吧?我们跟W团队有什么区别?我来讲讲我的看法。首先啊就是说,我们不再是一个年轻的团队。假设我们去跟W比,和H比,据说我们的平均年龄已经超过他们八岁九岁十岁。我们也有比较资深的,也有比较年轻的。从平均年龄来说我们已经超过八岁以上,到底是八岁九岁还是十岁我们不知道,估计差不多就是这个级别。我们和他们比的时候,我们不说把自己说成一个老年人团队,我们说我们是一个经验丰富的团队。而且我们是要往这个方向去的。

假设我们和H有合作的竞争,我们和W有合作的竞争,这种竞争就是我们要和他们的做法要不一样的。就是说我们不再和他们拼低成本。中国已经不是低成本了,上海已经不是低成本了。上海、北京已经不是低成本地方了。就是说,上海和北京能开公司的,就是有一定实力才能开得出来的。你看看上海的房价,对吧?各种成本。而且中央政府和上海政府把上海定义成金融方面发展的,亚洲金融中心。金融中心就是玩钱的,玩钱必然成本高。我们已经不是低成本的国家了,也不是低成本的site了。我记得刚开始我们和法国人做,他们说我们的成本是法国人的五分之一,六分之一。那现在我们是法国人成本的二分之一,到二分之一这种差别呢在成本上面很多时候会忽略掉,就是说很多时候做决策的时候我不再以成本作为一个很好的参考点。往往现在W的成本是我们的二分之一。他们的人力成本是极具优势的。所以说我们还听到说W的团队还在增长,这很正常的,因为他们还在吃人口红利。中国的红利在过去的二十年吃完了。

上海北京成为高成本的城市,同时呢刚才说从年龄结构来说我们又比他们年长。所以我们的路和他们走的路是不一样的。年轻团队,我指的是平均,他们年轻团队是可以犯错误,因为他们犯错误是可以用时间来解决。那对于我们年长团队和经验比较丰富的团队来说,我们要走的那条路是尽量避免犯错误,一次做对。我们不能去跟他们走一样的路。他们可以犯错误然后用加班十六个小时来解决这个问题。我们不能走这条路。我们要做的是让自己成为一个稳定的团队。

这个“稳定”指的是我们deliver出去的feature质量是非常高的,然后我们在处理项目的时候是很少犯错误甚至是不犯错误的。这样呢我们从单位时间工作效率来说我们要做得极高。有时候谈效率的时候别忘了是一种“伪效率”。什么叫伪效率呢?你一天工作十六个小时出来的一些东西和一天八小时出来的东西是不一样的。这个时候你如果论天谈效率这是不对的。因为有的团队他可以长时间地一天干十几个小时,我指的是平均。但是我们不是这种情况。对于我们来说,我们后面走的那条路是让自己成为一个技术能力稳定,deliver效率稳定。所以我们做事情的时候要以稳定、稳健输出的一个模式去做。这里面大家要正确理解哦,稳定不是慢。

稳定不是慢,而是说一次做对。这非常关键,这跟以前的时候那个项目理念是一样的。就是说一次做对,即便稍微做得慢,效率是最高的。这个就扯得远一点了,这和我们年龄结构也有点关系。我们都有孩子上小学了,也有上初中的。你做作业做错了,第二天订正还是要花很多时间。一次做对嘛,时间全省了嘛,一个道理。我不是说不许大家犯错误,而是说尽量的少犯错误。这样稳定的输出叫我们效率都很高。这个效率和输出不是建立在时间,不能建立在时间,比如我投多少时间进去,而是说我不犯错误,或者少犯错误,让我们的输出是非常稳定的,输出效率非常高。

我希望,这是对我们很高的要求。我们平时的持续的集成,deliver的时候,非常的认真仔细,符合流程,每个checkpoint,我们进一步完善DOD的过程。这是一连串的动作,稳定高效的输出是一连串的动作,稳定不是慢哦,稳定最终的结果是快。

我们要在这个环境里面,生存也好,竞争也好,发展得更好也好,我们要跟别人走的路是不一样的。我们的参考团队是德国。德国这个研发中心,当然我们还没有老到他们的程度,他们好像平均五十多了。但是这个是他们已经走过了一条路嘛,我们去看他们,他们的表现。德国人,其实,每次你跟他说快快快,他会快吗?不快的。但是他给你一个是一个,给你一个是一个。就是往这个方向去。我可能在commit的时候我不会非常激进,但是我一旦commit我很好的做到,质量非常高,效率非常高。我不是说用我先说行,然后用大量的加班去做到,不是,不是这条路。我们走的不是这条路,我们要往德国那一套发展。我们的能力是要持续提升的,每个人。技术能力,管理能力,各方面,团队沟通。然后呢,我们的输出是很稳定的。

我们有时候有些bug什么,哎呀,这个地方不小心。这个要避免。有些是技术能力,或是太复杂,有些scenario我想不到,这有的,很正常。因为现场太复杂了,我在设计的时候就是想不到的。我只有出去吃了亏,回来,哦,知道了,这地方要补一个。那这种呢叫持续学习。另一个呢,这个地方少写一个,哎呀,我失误了,这种是要避免掉的。这种在我们的工作中还是有的,不是很多,还是有的。我们要去避免这种失误或者错误。比如说不小心引起的,不在意引起的,这个呢,你说大了跟职业化有关,跟态度有关,但是这里边太复杂了我们不去说了。我们给出去的deliver,不管是feature还是bugfix的deliver,是稳定的,而且是高效的。尽量少犯错误,甚至不犯错误。这是我们要走的一条路,而且呢,我们自己个人能力团队能力要持续提升。我们要合理的安排自己的工作时间,我们要通过学习,互相学习,各种sharing,lesson learned,各种模式让自己团队不断提升,这是符合我们团队特性的一条路。

结合城市成本,结合年龄特征,稳定输出,是我们要走的一条路。

卡桑德拉

公司的希腊同事开发了一套小系统,用来预测代码出错的几率,取名叫卡桑德拉(Cassandra)。我有点觉得不吉利,毕竟她说实话,但是由于阿波罗的关系,世人都不相信她。

维基百科的词条是这里。稍微摘录一下词条。

出身背景

卡珊德拉别名为亚历珊德拉(Alexandra)。荷马(Homer)史诗《伊利亚特》(Iliad)说她美似金色的阿佛洛狄忒(Aphrodite),是特洛伊国王普里阿摩斯(Priam)最美丽的女儿,[1]是王后赫卡柏(Hecuba)的第三个女儿。欧里庇德斯(Euripides)的《特洛伊妇女》(The Trojan women)说她是阿波罗(Apollo)的祭司。[2]

预言能力

荷马诗注释家引传说卡珊德拉与赫勒诺斯(Helenus)为双生。其家在阿波罗‧提漠布里俄斯(Thymbraean)神庙祭祀庆祝,家人沾醉径去,将卡珊德拉与赫勒诺斯留在神庙。家人次日清醒,始至神庙寻找,见有神蛇以舌为二子洗耳,遂大惊叫,蛇潜入桂树枝间不见,卡珊德拉与赫勒诺斯遂得以预见未来。[3]

预言能力来源另一种说法为阿波罗的赐予。

神明诅咒

阿波罗诅咒卡珊德拉的理由,古希腊、罗马著作中有不同说法:

1.卡珊德拉在阿波罗神庙玩耍,玩累便睡着了。阿波罗试图拥抱卡珊德拉却遭到反抗,遂使她的预言不被相信,见于许癸努斯(Hyginus)的《神话指南》(Fabulae)。[4]

2.阿波罗多洛斯(Apollodorus)《书库》(The library)提及“阿波隆(阿波罗其它译名)想要与卡珊德拉交会,应许教给她占卜术,她学会了,可是不和他交会,于是阿波隆夺去了她占卜的使人信用的力量。”(周作人译)[5]

3.埃斯库罗斯阿伽门农》,依照罗念生译本,卡珊德拉允诺委身阿波罗却又使他失望,此后再也没有人相信她。[6]但在其他译本,“他是个摔角手,恩情往我身上喷。”(吕健忠译)“他将我扭抱,把我摔倒,吐喘甜蜜的欲火”(陈中梅译)[7]“他与我扭斗,同时他兴奋喘息。”(刘毓秀译)[8]似曾有肌肤之亲,后文提及决裂的原因是因为卡珊德拉承诺要为他生下子嗣却出言不果。中研院研究员李奭学先生〈长夜后的黎明--试论《奥勒斯提亚》的一则主题故事〉一文以圣婚概念解释剧中阿波罗与卡珊德拉间的纠葛。[9]

在劫难逃

王后赫卡柏怀帕里斯(Paris)时,梦见特洛伊陷于火海,普里阿摩斯与前妻之子埃萨科斯(Aesacus)释梦,预言帕里斯将导致特洛伊的覆灭。帕里斯遂被弃于伊达山,幸得牧人将之抚养成人。许癸努斯神话指南》描述帕里斯钟爱的一头牛被带走作为一场葬礼上的竞技的奖励品,帕里斯为夺回这头牛参与了竞技,赢得一切,甚至战胜自己的兄弟,得伊福彼斯(Deiphobus)发怒并袭击他,帕里斯窜至宙斯神坛,卡珊德拉预言宣称帕里斯是她的弟弟,普里阿摩斯认出他,帕里斯遂回归。

不和女神

忒提斯(Thetis)与珀琉斯(Peleus)的婚礼,未邀约不和女神厄里斯(Eris),厄里斯遂在婚礼上投下一颗金苹果,说给最美丽的,阿佛洛狄忒赫拉(Hera)与雅典娜(Athena)争夺金苹果,宙斯命赫尔墨斯(Hermes)带她们前往伊达山请帕里斯裁决,三名女神各允给以报酬,帕里斯最终将金苹果判给阿佛洛狄忒,因为阿佛洛狄忒承诺赐予他最美丽的女人,亦即海伦(Helen)。

祸国红颜

奥维德(Ovid)的《女英雄书信集》(Heroides)描述帕里斯远航至希腊之前,卡珊德拉预言这场航行将会带来大火。[10]达瑞斯•佛里癸俄斯(Dares Phrygius)的《特洛伊的沦陷》(The Fall of Troy)描述当卡珊德拉见到海伦时,她开始预言曾说过的收容海伦的恶果,直至普里阿摩斯下令将她带走并囚禁。[11]

十年鏖战

荷马伊利亚特》说俄斯鲁俄纽斯(Othruoneus)想娶卡珊德拉为妻而参战,后死于伊多墨纽斯(Idomeneus)之手;狄克提斯(Dictys Cretensis)说欧律皮罗斯(Eurypylus)是名杰出的战士,普里阿摩斯曾用很多礼物拉拢他,最后通过承诺让卡珊德拉与他联姻而赢得他的支持。荷马奥德赛》(Odyssey)中欧律皮罗斯死于涅俄普托勒摩斯(Neoptolemus)之手,奥德修斯(Odysseus)说欧律皮罗斯骁莽,是自己见过的最英俊的男子,仅次于卓著的门农(Memnon);[12]维吉尔(Virgil)《埃涅阿斯纪》(Aeneid)说科罗厄布斯(Coroebus)因为疯狂热烈地爱上卡珊德拉,作为普里阿摩斯未来的女婿,率领军队来支援特洛伊[13]

干城之死

荷马伊利亚特》中,普里阿摩斯赎回赫克托尔(Hector)尸体时,卡珊德拉站在城墙上,首先看见父亲还有兄长,呼唤特洛伊的男女迎接赫克托尔

木马屠城

希腊人十年鏖战,始终未能攻下特洛伊奥德修斯遂献策木马计。卡珊德拉与拉奥孔(Laocoon)都说木马内有一支军队,但他们的警告不被特洛伊人接受。

国破家亡

按照风俗,神庙不可被冒犯,木马屠城时特洛伊王室女性多藏匿于神坛。卡珊德拉藏身雅典娜神庙,她的遭遇有不同说法:阿波罗多洛斯书库》提及小埃阿斯把她强污,雅典娜的木像仰望着天;欧里庇得斯特洛伊妇女》则写小埃阿斯将她强行拉出神庙,并提及卡珊德拉仍为清白之躯。维吉尔埃涅阿斯纪》说科罗厄布斯为了营救卡珊德拉被佩涅勒乌斯杀死在雅典娜的神坛前。

希腊人分配战利品之后,昆图斯(Quintus SMYRNAEUS)《续荷马史诗》(Posthomerica)描述特洛伊妇女惊叹地看着卡珊德拉,忆及她关于毁灭的预言;但是面对她们的眼泪,卡珊德拉唯有充满怨恨的嘲笑,带着对故土毁灭的悲痛。[14]欧里庇得斯特洛伊妇女》当中,卡珊德拉提及只要洛克西阿斯阿波罗的别名)在,阿伽门农娶了她将比海伦的婚姻对他更有害,以隐晦的语言说这场婚姻将引起杀母之斗与阿特柔斯(Atreus)家族的衰败,并预述赫卡柏奥德修斯的结局。卡珊德拉为阿伽门农所得,奥维德爱经》(Ars Amatoria)说阿伽门农做了他俘虏的俘虏,[15]欧里庇得斯赫卡柏》歌唱队提及阿伽门农因卡珊德拉试图保全波吕克塞娜(Polyxena)的性命。[16]

赴死如归

阿伽门农之妻克吕泰涅斯特拉恨丈夫为求顺风献祭他们的女儿伊菲革涅亚(Iphigeneia),伙同情夫埃癸斯托斯(Aegisthus)密谋要杀害阿伽门农,卡珊德拉预见阿伽门农与自己至迈锡尼后必遭不测,隐忍不言。荷马奥德赛》提及她与阿伽门农在王宫的大厅中同时遇害;埃斯库罗斯阿伽门农》一剧,阿伽门农克吕泰涅斯特拉入内沐浴,卡珊德拉单独留在屋外,追述过往(包括帕里斯带来死亡的婚礼、特洛伊的覆灭还有阿特柔斯家族的罪孽),并预言阿伽门农与自己的死还有复仇者的复仇,最后请求歌唱队在自己死后见证复仇者的复仇,自己的话必不落空;塞涅加(Seneca)的《阿伽门农》以卡珊德拉与克吕泰涅斯特拉的对话完结:[17]

还有一本10 1/2章世界史 也提起了卡桑德拉,还有那个译制片卡桑德拉大桥