半部九阴真经 下卷

半部九阴真经下卷。----
JAVA的复杂度检查工具 和 code coverage工具。
甚至能检查疑似的copy&paste代码。对比C++。群众基础是多么重要啊。-----YAGNI STANDS FOR "YOU AIN'T GONNA NEED IT." ItT不要为将来而担心.
过度工程.
-----Powerful languages + domain-specific meta-layers offer the best
approach currently available. The productivity comes from working
close to the problem domain in the DSL; the power comes from the
abstraction layer simmering just below the surface. Expressive DSLs on
top of powerful languages will become the new standard. Frameworks
will be written using DSLs, not on top of statically typed languages
with restrictive syntax and unnecessary ceremony.------The Law of Demeter不要跟陌生人说话.never use more than one dot for any method call. Job job = new Job("Safety Engineer", 50000.00);
Person homer = new Person("Homer", job);
homer.getJob().setPosition("Janitor");按 Law of Demeter,改为 public PersonDemo() {
Job job = new Job("Safety Engineer", 50000.00);
Person homer = new Person("Homer", job);
homer.changeJobPositionTo("Janitor");
}
public void changeJobPositionTo(String newPosition) {
job.changePositionTo(newPosition);
}Person屏蔽了job的细节.杨常使用上面的那个不符合law of Demeter的方法,并困惑client怎么能不对job产生信赖.---------------------
以下是引用的。For projects on which I'm the tech lead, our rule of thumb is to
allow no method to exceed 15 lines of code in Java or C#. For dynamic
languages such as Groovy or Ruby, the rule is five lines of code.f
------------------
SLAP,没注意过这个。
这样,写public函数就有有点类似于写大纲了。SLAP STANDS FOR THE SINGLE LEVEL OF ABSTRACTION PRINCIPLE.SLAP insists that all your code within a
method live at the same level of abstraction.Encapsulate all implementation details away from public methods.
----------------------
完美编辑器需要的功能之一Additive cut and copy commands
Don't make round trips when you can batch.
------------------------
对于XML持否定态度
可以使用XML,但是只生成,不书写。
Keep behavior in (testable) code.
举例,用Groovy生成XML。
--------------------------

海角七号 里的一段情书 彼得潘

> 只是好不容易你毕业了
> 我们却战败了
> 我是战败国的子民
> 贵族的骄傲瞬间堕落为犯人的枷
> 我只是个穷教师
> 为何要背负一个民族的罪
> 时代的宿命是时代的罪过
> 我只是个穷教师
> 我爱你,却必须放弃你当时看的时候就在想这一段话,
今天又在网上看以有人提起来 是凄美的情书。感叹 文化差异或代沟真是大啊。我想说的是,既然曾认为自己有权利享受
或未拒绝"贵族的骄傲",
那么当时就应该有心理准备一同接受后来可能的"犯人的枷"。作为统治者的时候心安理得地享受统治者的权利
并参与输出文化
(并可能辩解不过是谋生的手段。
<致命阅读>里的女看守,那也是谋生手段哩),
战败以后觉得自己是个"穷教师"了?"为何要背负一个民族的罪"?
既然能心安理得地享受过一个民族的利益。我们现在所得的,都是我们从前所种的因的果。
无论是享受的还是承担的。
这都是废话一样简单的道理。
不明白有什么可抱怨的。哭咧咧地说"时代的宿命是时代的罪过"。
这算不算彼得潘综合症的一种表现?
除了婴儿,这个时代是每一个人共同形成的,
当然,也请共同享受这结果。对台湾省观众的想法,我觉得倒是容易理解。
所以,以上发言,只是对大陆新一代(女士?)不理解。
原来这么明显地揭示侵略心态的信,
竟然可能被认为是凄美的情书。
怪不得。

工具,难道不首先是工具本身么

上午在电梯里见一老外戴个耳机,
手持*非常薄*的一个电子设备,
用手指头在上面的圆盘上划拉。我问,手机啊?
他说,就是MP3,不是手机。
临出门跟我说,你得整一个,这玩意儿不错。注:我也有个MP3,按键的,彩屏。
能放MP4 AVI,但是我买到手的第一件事,
就是删除了那些AVI示例文件。
----前两天去sports day的时候拍了不少照片。
正好当时看到一个巴基斯坦哥们的相机没电了,镜头都收不回去。
他就那么一直把相机揣怀里,突出个镜头。有一天看他在外面抽烟,答应给他传照片,在手机上记他的信箱。
他说,我写给你啊。
我把手机一亮,写?注:我的手机是Nokia 2610(?),不能手写,且是黑白的。----根据 The Productive Programmer,
我的手机和MP3具备了最重要的功能。装饰是必要的么?
哪些改进才是应该的?抛开道德因素,QQ正在越来越大。
MSN也是一样。
它们越来越多地包括了不属于聊天的功能。
而它们原来都是聊天软件。如果有一天,打开我的电脑,弹出一大堆宠物啊精灵啊,
那才有意思呢。不明白啊。
工具,难道不首先是工具本身么?
对此,我不迷惑。
我迷惑的是,为什么当一些软件成长为大垃圾的时候,
却似乎吸引了更多的人。
如同郭德纲和二人转的大受欢迎(和大受反对)。

mitbbs强帖 86年mm征婚 ZZ from 柴同学

mitbbs强帖 86年mm征婚
2009-03-24 10:20国内某重点大学大四学生,女,23岁,因为一些原因,没有参加托福和GRE的考试
。英语不是很好,希望可以找一个在美国就读,或工作的男生结婚,在美国环境下联系
英语。最多一年后回国,或在美国直接申请学校。结婚之后一年,如果产生感情,就做
实际的夫妻,如果觉得和不来(这些都是由男方决定),就离婚,但是会用其他的方式
报答对方。身高160. 如果有意者,联系QQ417694746,再详谈其他情况。加QQ时,请说
明加友的理由。以下是回复:假结婚?
还有, 结婚一年后才做真正的夫妻? 这有人会答应吗这个是明摆着要跟我同学争饭碗的。我同学32-33的样子,怎争的过你啊彪彪
快去看健身板真的汉子要是离婚再分一半家产, 那可就亏大了。哈哈
我收5w.有点没看懂。是不是人在国内?还有啥叫再美国环境下联系英语?而且还要1年后回国?我的理解是不是,找人通过结婚的方式先弄到美国?然后1年考验期。考验期里
妹妹好好读英文,争取读上美国的大学。感情上要是能过得下去,就假变真。要是2者
都失利的话就回国,但给予对方补偿。所以按照排列组合的4种,学好英文结真婚留美
国,学不好英文结真婚留美国,学好英文离婚f1留美国,学不好英文
离婚回中国。唉。。。。这征婚,怎么看着这么糊涂啊。。。。我觉得吧还是先明码标价的好,这是风险投资,如果不先拿到钱,最后可能人才两空啊
,当然如果有感情了,这也可以算是共同财产嘛,谁也不亏.
现在的行情应该是$50-80K吧,不包括搬运的成本。不如找公民,2年后再离婚,这样永久性绿卡也到手了
穷学生有啥用,自己找工作都受老美排挤,F2只有转F1的路子而且wsn连女的爪子都没碰过就一不留神变成离异男了要是有一年免费sex也行了,除非太难看。俺公民,一次性收费十万顶下,这么好的帖子怎么能掉出10大呢。。。。再来,斑竹是UCI好伐...斑竹在UCI把这个帖子给修改了。最后那行字要看好啊
第三,科大的MM。。。这个就算用身体来换也不一定有吸引力的说。。。无比pf楼主空
手套白狼的野心。不过小心套到的都是色狼。。。来帮顶。不过这个不叫征婚贴,该叫招棒棒贴
另外,北美棒棒的机会成本还是比较高的,所以MM要先看看是否支付的起"如果产生感情,就做实际的夫妻".
估计还是不少人会联系之的. ha.其实美国也没有多好 拿自己的幸福开玩笑 你会后悔的强烈要求奔一个,好让大家评估一下,没Pict没truthFT,你还当真劝她啊,能想出这种点子的都精的跟猴似的,WSN只有鸡飞蛋打的份,顶
多也就是小手牵牵,还不知道到底是谁占谁便宜呢有没搞错,道德沦丧了。小小年纪怎么就不想自己努力一下。哈哈,一堆85后在这里唏嘘感慨啊~~~~~~~~~~~~~~~
嘘~~~~~~~~~~~~~~~・不能理解,如果真是科大的,mm长得不太丑的话,在科大里面略施手段,想找一个愿意
搬运还不是易如反掌?何必在这贴?
美国中西部某县立重点大学博五学生,男,32岁,因为一些原因,没有找到女朋友或者
老婆,性爱技巧不是太好。希望可以找一个在国内就读,或工作的MM做性伴侣,在美国
中西部浪漫的玉米田里男女双修玉女心经。最多一年后正式开始交往,或在美国直接结
婚。结婚之后一年,如果产生默契,就做实际的夫妻,如果觉得和不来(这些都是由女
方决定),就离婚,但是会用其他的方式报答对方。身高168. 如果有意者,联系
QQ417694746,再详谈其他情况。加QQ时,请说明加友的理由。太强了,不回帖不行啊。
此女付出就是个结婚的名义
换来的是在美一年旅游考察,英语学习,免费食宿。
人家有卖艺不卖身的,这啥也没卖啊。过来了估计迟早发生"QJ老婆案"。不知道这边咋判

半部九阴真经

而且还是上卷。

The Productive Programmer, Part I 笔记。
====================
Context switching eats time.
  用于作为证据,说明 multiple clipboard 的重要性。
----
历史
[guyang@digi02 ~]$ history
     1    17:37    ls
     2    17:37    pwd
     3    17:37    history
     4    17:37    history
     5    17:37    pwd
     6    17:37    ls
     7    17:37    ls -l
     8    17:37    ls -l
     9    17:38    history
    10    17:38    history | grep ls
    11    17:38    ls
    12    17:38    history
[guyang@digi02 ~]$ !1
ls
100    a       bin          cat2.JPG          Download    input.txt  map to sea.png  Pictures  text.aux  text.tex       中华utf8
100.c  aa      blackduck.txt  cat2 smile.JPG  dwhelper    learning   mean           sandbox   text.dvi  tour.png
30     aa.txt  bookmark       danmark.org     eng.txt    lib       mean.c       svn         text.log  tt.org
30.c   a.txt   canals          Desktop          fetion    Mail       News           tc.txt    text.pdf  youngworkshop
[guyang@digi02 ~]$ !2
pwd
/export/home/aton4/guyang
[guyang@digi02 ~]$!h | grep p
history | grep p
     2    17:37    pwd
     5    17:37    pwd
    10    17:38    history | grep ls
    15    17:39    pwd
    16    17:39    history | grep p
[guyang@digi02 ~]$ !2
pwd
/export/home/aton4/guyang
[guyang@digi02 ~]$

----
pushd & popd

----
快挺键的学习,需要在适用此键的上下文环境中。

One of my colleagues has a great way of teaching keyboard
shortcuts. Whenever you pairprogram with him, if you use a mouse to
select a menu or tool button, he makes you undo your operation, then
do it three times using the keyboard. Yes, it slows you down at first,
but the reinforcement (plus his evil eye when you forget them) is a
pressure cooker to learn shortcuts.

-----
grep显示文件名和行号

find . -name "*.java" -exec grep -n -H "new .*Db.*" {} ;

{} Placeholder for the filename found by find.  

; Terminate the command after -exec. Because this is a Unix command,
you might want to pipe the results of this into another command, and
the find command has to know when the "exec" is done.

[guyang@digi02 ~]$  grep -nH "main" *c
100.c:3:int main()
30.c:3:int main(int argc, char *argv[])
mean.c:3:int main(int argc, char *argv[])

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

explorer /e,/root,c:workcit

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

web开发自动化测试

You can also interact with pages that require an HTML POST instead of GET using the "-d"
command-line option:
curl -d "birthyear=1905&press=%20OK%20" www.hotmail.com/when/junk.cgi

Subvert Selenium to Walk Web Pages
Selenium‡ is an open source user acceptance testing tool for web applications. It allows you to
simulate user actions by automating the browser via JavaScript. Selenium is written entirely
in browser technology, so it runs in all mainstream browsers. It is an incredibly useful tool for
testing web applications, regardless of the technology used to create the web application.w
-------------------
uniq

#!/bin/bash

for X in $(egrep -o "[A-Z]w*Exception" log_week.txt | sort | uniq) ;
do
    echo -n -e "processing $Xt"
    grep -c "$X" log_week.txt
done
----------------------
Monad
Windows Power Shell

----------------------
svn st | grep '^?' | tr '^?' ' ' |
    sed 's/[ ]*//' | sed 's/[ ]/ /g' | xargs svn add

svn st
    Get Subversion status on all files in this directory and all
its subdirectories. The new ones come back with a ? at the beginning
and a tab before the filename.

grep '^?'
     Find all the lines that start with the ?.

tr '^?' ' '
   Replace the ? with a space (the tr command translates one
character for another).

sed 's/[ ]*//'
    Using sed, the stream-based editor, substitute spaces
to nothing for the leading part of the line.

sed 's/[ ]/ /g'
    The filenames may have embedded spaces, so use sed
again to substitute any remaining spaces with the escaped space
character (a space with a in front).

xargs svn add
      Take the resulting lines and pump them into the svn add
command.
--------------------------
自动化的理由之一

Does this task destroy my focus? (Almost any task takes you away from
your locus of attention, making it harder to get back to your focused
state.)
-----------------------------
Don't Shave Yaksv
译为"别给牦牛剪毛"

Yak shaving is dangerous because it eats up a lot of time. It also
explains why estimating tasks is so often wrong: just how long does it
take to fully shave a yak? Always keep in mind what you are trying to
achieve, and pull the plug if it starts to spiral out of control.

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

canonicality

简而言之,所有开发人员的机器配置都一样。
同步或使用hard link。
开发工具允许不同(避免代码对工具的依赖),但是库及framework的版本必须一致。
----------------------

No matter what you are copying and pasting, resuse by copy and paste
is evil.

而indirection是推荐行为。
------------------
vmware虚拟机镜像,避免授权问题。
-------------------

不应直接修改从ORM中得到的class code,应该先继承,然后在子类中添加或修改方法...这也是间接。

Of course, this is just a DAO (data access object) with no behavior:
it is merely a collection of get/set methods. If you need to add
behavior to this entity, you can subclass the DAO to add
methods. Never hand-edit a generated file because it will be
regenerated the next time you perform a build.  NOTE Add behavior to
generated code via extension, open classes, or partial classes.

杨注:这样,在DSM生成的C代码中,也应该预留回调函数,而不应该允许直接修改生成的代码。
-----------------------
Always keep "living" documentation.  

过时的文档 比没有文档更糟糕。

提到自研发工具svn2wiki

------------------
...continuous integration
-------------------
告诫是一遍又一遍啊。

Repetition is the single most diminishing force in software development.

Duplication is evil. Evil, I say!

DRY = Don't Repeat Yourself.
------------------

长春刚刚有明显震感出现

  人民网北京3月20日电 据地震台网中心网站数据显示,20日14时48分52秒,吉林省四平市伊通满族自治县、公主岭市交界发生4.3级地震,地震中心位置在北纬43.4,东经124.9。  现场:长春刚刚有明显震感出现  今天下午2点50分左右,记者在位于长春市南湖附近的房间内电话采访时忽然感觉地震了,铁皮书架发出摇动的响声,门在晃,持续时间大约有十余秒钟。  不知道是错觉还是真的是地震了,记者马上向当地的地震部门打电话求证,但是电话持续占线,无法接通。于是拨通了市委宣传部的电话,宣传部的同志说,不是错觉,确实是地震了,我们都感觉到了,我们已和应急办沟通,下一步将会提供确切消息。(记者孟海鹰)
-------------------------
快讯:吉林四平公主岭交界处发生4.3级地震
http://www.dayoo.com http://www.dayoo.com 2009-03-20 15:19 来源:
中国地震台网综合 发表评论 (23)中国地震台网截图  据地震台网测定,北京时间2009年03月20日14:48:52.9,吉林省四平市伊通满族自治县、公主岭市交界(北纬43.4,东经124.9)发生4.3级地震。  又讯:长春地区2009年3月20日14:50地震。长春市区震感强烈。部分市民已经在路上聚集观察。新文化网  据当地的网友介绍,此次地震持续几秒钟,在楼里明显感觉到震感。

白高兴了到手的一百块钱就这样没了 ZZ

发信人: calle (calle), 信区: Joke
标 题: 白高兴了到手的一百块钱就这样没了
发信站: 水木社区 (Wed Mar 18 19:03:54 2009), 站内
前天,我刚进家门,就发现客厅的桌子上放着一张一百元钞票,
  平常没有什么零用钱,难道这次老妈发慈悲,给我一百块零用钱?
  我心中不禁一喜……
  可是当我拿起那张一百元钞票后,发现底下还压一着张纸条,
  上面写着:"今天是外婆的生日,在家等我,我们一起去给外婆祝寿。

留着备忘

以下,苏恒写的。
留着备忘,供以后抄袭用。----引文开始
长春在我来后的第二天开始降温。这两个月里每当我回到这里时,都是降温,再降温。静湖里的冰还没有完全化掉,树枝青瘦,像钢笔画一样。昨夜从史苑出去经田家炳,一路上少有行人,只有路灯昏昏。一切好像都是静止的,就像多年以前。我突然觉得当时的我好像穿过了时间的隧道,瞬间回到某一个时间里。耳边有轻轻的风声,我站在小路上四处张望。----引文结束