Rooted View In Windows

Windows 的资源管理器(Explorer)有个特别的功能:Rooted View.

就是将某个文件夹作为根结点呈现, 该文件夹以外的目录都不会显示.

可以在运行里输入: explorer /e,/root,C:\Documents and Settings\Administrator\UserData\A片 即可呈现该模式.

当然, 比较好的做法是将常用的工作目录等写在bat文件里面放着桌面上当快捷方式. 比如我就习惯将Eclipse的几个工作空间以这种方式建立起bat快捷方式. 一键打开,心无旁骛.

题外话: 最近公司也开始提供茶包了, 可是我总是无缘无故的想到"两只蚊子"的笑话, 影响我使用茶包的欲望.

卡西尼号

早上看到一条新闻: 北京时间2009年8月25日20点50分左右,卡西尼号探测器将第61次飞越土卫六——泰坦(titan)。

说起这个卡西尼号探测器,我在上初中的时候就知道它了. 那时候老爸给我订阅的杂志中有一本叫<小哥白尼>的少儿科普杂志. 其中某一期就介绍到了"卡西尼号"和"惠更斯子探测器".当时的我对这两个名字留下了深刻的印象.毕竟当初接触的外国名字大多还都是"Mr.Brown","Lily&Lucy"之类的. 这个东西以及当时书上写的:"它们要花6年多的时间到达土星…..". 对于一个当时12岁的少年6年就是他已过去生命的一半长度: 这是何其漫长而孤独的旅行.

"在经过6年8个月、35亿千米的漫长太空旅行之后,已于北京时间2004年7月1日12时12分按计划顺利进入环绕土星转动的轨道"

"2004年12月,’卡西尼’号携带的’惠更斯’号探测器成功与母体分离并着陆于土卫六,它是到目前为止人类在距离地球最远的星球上投放的探测器。"

"按照原计划,2008年6月30日,卡西尼号已圆满完成了土星的探测计划,不过NASA将卡西尼的使命延长了两年."

转眼间又12年过去了, 我是否还像当年的卡西尼号执着的奔向未知的远方?

2009-8-22

今天下午与hans去观摩WCG2009中国区总决赛. 其实我不懂啥游戏,就是去凑热闹的,反正不要门票.

过去一看人山人海, 去的晚了SG的表演都没看到,有点悻悻. 不过巧的是偶遇了sKy的女友, 尽管在站在人堆里,我还是从神情上读出来她跟sKy关系不一般. sKy做完见面会后又被fans们拉住合影. 她替sKy搂着别人送的篮球站在外边静静的站着. 我于是就上去跟她搭话,问她是不是sKy的女友. 得到确认后也爽快的答应的我"无礼"的合影要求. 真是WCG意外的收获.

后来我们晃点到一个名牌特卖会, 本来我就打算要买个跑步短裤, 很巧的是特卖会上正好又我想要的那种款式的, nike的跑步短裤,以一折的价格49块钱高兴的买了下来, 这下连迪卡侬都不用去了. 仔细一看 make in Srilanka. OMG, Srilanka在哪个位置我都不知道…….话说该特卖会上nike,kappa,nb,converse,puma都是像地摊那样摆着,价格有些也确实很厚道. 虽然很眼馋,但本着静以修身俭以养德的原则,不是必须要买的就强忍着没买了. 不过我们甚是感叹浦西的购物环境好啊.

然后我们又晃点到美罗城, 在天翼体验店外面的墙上耍了好一会儿狂傻的大触摸屏. 期间我们一直在怨念晚上吃什么饭. 讨论了一大圈鉴于上周汉堡王吃的我很不爽快,最终我们决定吃KFC的全家桶,作为对平日里开不了荤的补偿. 吃饭前还顺便给女友买了DHC的香皂,正好DHC做促销送小样,算了一下差不多送了60多块钱的东西,还是蛮划算的.

酒足饭饱后又到百思买晃点了一圈,体验了电钢琴和VAIO P, 还怨念了一会儿手柄和单反.最后坐着"时空穿梭机-大桥六线"翻江倒海的回到了张江. 下车的一瞬间,我差点omit了. 大桥六线在我心中超越"地面过山车-东川专线", 成为<最刺激交通工具排行榜>第一位!!恭喜"时空穿梭机-大桥六线"!!!!

真是充实的一天啊

永远不要在Java中使用String(至少也尽量少用:-)

永远不要使用(未封装)的String或long,int. 为什么呢? 因为这些基础类型(Primitive)没有语义(Semantic meaning). 它们很难被理解,维护和扩展.

空口无凭,举例为证: 假设有个例子是订阅电影票的服务.

试着比较:

public void bookTicket( String name, String firstName, String film, int count, String cinema);

与:(当然实际使用时,用一个Order对象会更好:-)

public void bookTicket( Name name, FirstName firstName, Film film, Count count, Cinema cinema);

很明显,第二个要容易阅读的多. 尤其是当在IDE中使用自动补全的时候,bookTicket(String arg0, String arg1, String arg2, int arg3, String arg4)bookTicket(Name arg0, FirstName arg1, Film arg2, Count arg3, Cinema arg4)差的太明显了.当某个接口被置于一个不带源码的jar包内时,这种情况很常见.

再尝试比较:

void book(String orderId);

与:

void book(OrderId order);

第一种情况下,开发人员看到这行代码会考虑:a.)怎样获得一个orderId 和b.)orderId到底是什么玩意, "1212", "ABC-123" or "12-34-45-SCHWEINEBACKE". 第二种情况,他可以去查看OrderId类的Javadoc或者使用手册获取它的正确用法. 或许觉得, 这不过是个orderId罢了. 但在遗留系统中,名称和语义是经常不一致的. 我曾经见过一个系统里面把order ID命名为"orderId", "auftragsId", "id"以及其他什么东西,而且居然指的是同一个东西: order ID!

多使用类替代基本类型不光有语义上的优势. 扩展上也更佳: 比如你可以更轻松的将OrderId类里的int替换成long, 增加校验和id生成逻辑. 相比而言,最初若使用String类型要做这些就困难的多.

使用fluent interface实现

fluent interface可以使代码更短,编写更容易. Google Collections的MapMaker是个不错的例子:

ConcurrentMap graphs = new MapMaker()
    .concurrencyLevel(32)
    .softKeys()
    .weakValues()
    .expiration(30, TimeUnit.MINUTES)
    .makeComputingMap(
        new Function() {
            public Graph apply(Key key) {
                return createExpensiveGraph(key);
            }
        });

使用fluent interface实现的如下所示,像简单的领域类(Domain classes)或者像不可变值的对象. 仅仅是封装了String并增加了一些语义的信息给String.

public class Name {
   public Name(String name) {
      ...
   }
   public static Name name(String name) {
     return new Name(name);
   }
}

有人或许觉得这种方式太过繁杂(noisy)了. 比如:

new Customer(new FirstName("Stephan"), new Name("Schmidt"));

要比如下的直接使用String参数的方式繁杂.

new Customer("Stephan", "Schmidt");

但,不可否认,第一个要更加容易理解, 若使用静态方法,第一个方法也可以变为:

new Customer(firstName("Stephan"), name("Schmidt"));

这样也较好的解决了参数较多时让人糊涂的问题.

[文章翻译自:http://codemonkeyism.com/never-never-never-use-string-in-java-or-at-least-less-often/ 请任意转载

故乡-鲁迅

小学的课文<少年闰土>, 这么多年读来, 依然亲切无比. 圆规/闰土/猹/瓜田/还有当时糊里糊涂的’偶像’

故乡(1)

我冒了严寒,回到相隔二千余里,别了二十余年的故乡去。
时候既然是深冬;渐近故乡时,天气又阴晦了,冷风吹进船舱中,呜呜的响,从蓬隙向外一望,苍黄的天底下,远近横着几个萧索的荒村,没有一些活气。我的心禁不住悲凉起来了。阿!这不是我二十年来时时记得的故乡?
我所记得的故乡全不如此。我的故乡好得多了。但要我记起他的美丽,说出他的佳处来,却又没有影像,没有言辞了。仿佛也就如此。于是我自己解释说:故乡本也如此,——虽然没有进步,也未必有如我所感的悲凉,这只是我自己心情的改变罢了,因为我这次回乡,本没有什么好心绪。
我这次是专为了别他而来的。我们多年聚族而居的老屋,已经公同卖给别姓了,交屋的期限,只在本年,所以必须赶在正月初一以前,永别了熟识的老屋,而且远离了熟识的故乡,搬家到我在谋食的异地去。
第二日清早晨我到了我家的门口了。瓦楞上许多枯草的断茎当风抖着,正在说明这老屋难免易主的原因。几房的本家大约已经搬走了,所以很寂静。我到了自家的房外,我的母亲早已迎着出来了,接着便飞出了八岁的侄儿宏儿。
我的母亲很高兴,但也藏着许多凄凉的神情,教我坐下,歇息,喝茶,且不谈搬家的事。宏儿没有见过我,远远的对面站着只是看。
但我们终于谈到搬家的事。我说外间的寓所已经租定了,又买了几件家具,此外须将家里所有的木器卖去,再去增添。母亲也说好,而且行李也略已齐集,木器不便搬运的,也小半卖去了,只是收不起钱来。
“你休息一两天,去拜望亲戚本家一回,我们便可以走了。”母亲说。
“是的。”
“还有闰土,他每到我家来时,总问起你,很想见你一回面。我已经将你到家的大约日期通知他,他也许就要来了。”
这时候,我的脑里忽然闪出一幅神异的图画来:深蓝的天空中挂着一轮金黄的圆月,下面是海边的沙地,都种着一望无际的碧绿的西瓜,其间有一个十一二岁的少年,项带银圈,手捏一柄钢叉,向一匹猹⑵尽力的刺去,那猹却将身一扭,反从他的胯下逃走了。
这少年便是闰土。我认识他时,也不过十多岁,离现在将有三十年了;那时我的父亲还在世,家景也好,我正是一个少爷。那一年,我家是一件大祭祀的值年⑶。这祭祀,说是三十多年才能轮到一回,所以很郑重;正月里供祖像,供品很多,祭器很讲究,拜的人也很多,祭器也很要防偷去。我家只有一个忙月(我们这里给人做工的分三种:整年给一定人家做工的叫长工;按日给人做工的叫短工;自己也种地,只在过年过节以及收租时候来给一定人家做工的称忙月),忙不过来,他便对父亲说,可以叫他的儿子闰土来管祭器的。
我的父亲允许了;我也很高兴,因为我早听到闰土这名字,而且知道他和我仿佛年纪,闰月生的,五行缺土⑷,所以他的父亲叫他闰土。他是能装弶捉小鸟雀的。
我于是日日盼望新年,新年到,闰土也就到了。好容易到了年末,有一日,母亲告诉我,闰土来了,我便飞跑的去看。他正在厨房里,紫色的圆脸,头戴一顶小毡帽,颈上套一个明晃晃的银项圈,这可见他的父亲十分爱他,怕他死去,所以在神佛面前许下愿心,用圈子将他套住了。他见人很怕羞,只是不怕我,没有旁人的时候,便和我说话,于是不到半日,我们便熟识了。
我们那时候不知道谈些什么,只记得闰土很高兴,说是上城之后,见了许多没有见过的东西。
第二日,我便要他捕鸟。他说:
“这不能。须大雪下了才好。我们沙地上,下了雪,我扫出一块空地来,用短棒支起一个大竹匾,撒下秕谷,看鸟雀来吃时,我远远地将缚在棒上的绳子只一拉,那鸟雀就罩在竹匾下了。什么都有:稻鸡,角鸡,鹁鸪,蓝背……”
我于是又很盼望下雪。
闰土又对我说:
“现在太冷,你夏天到我们这里来。我们日里到海边捡贝壳去,红的绿的都有,鬼见怕也有,观音手⑸也有。晚上我和爹管西瓜去,你也去。”
“管贼么?”
“不是。走路的人口渴了摘一个瓜吃,我们这里是不算偷的。要管的是獾猪,刺猬,猹。月亮底下,你听,啦啦的响了,猹在咬瓜了。你便捏了胡叉,轻轻地走去……”
我那时并不知道这所谓猹的是怎么一件东西——便是现在也没有知道——只是无端的觉得状如小狗而很凶猛。
“他不咬人么?”
“有胡叉呢。走到了,看见猹了,你便刺。这畜生很伶俐,倒向你奔来,反从胯下窜了。他的皮毛是油一般的滑……”
我素不知道天下有这许多新鲜事:海边有如许五色的贝壳;西瓜有这样危险的经历,我先前单知道他在水果电里出卖罢了。
“我们沙地里,潮汛要来的时候,就有许多跳鱼儿只是跳,都有青蛙似的两个脚……”
阿!闰土的心里有无穷无尽的希奇的事,都是我往常的朋友所不知道的。他们不知道一些事,闰土在海边时,他们都和我一样只看见院子里高墙上的四角的天空。
可惜正月过去了,闰土须回家里去,我急得大哭,他也躲到厨房里,哭着不肯出门,但终于被他父亲带走了。他后来还托他的父亲带给我一包贝壳和几支很好看的鸟毛,我也曾送他一两次东西,但从此没有再见面。
现在我的母亲提起了他,我这儿时的记忆,忽而全都闪电似的苏生过来,似乎看到了我的美丽的故乡了。我应声说:
“这好极!他,——怎样?……”
“他?……他景况也很不如意……”母亲说着,便向房外看,“这些人又来了。说是买木器,顺手也就随便拿走的,我得去看看。”
母亲站起身,出去了。门外有几个女人的声音。我便招宏儿走近面前,和他闲话:问他可会写字,可愿意出门。
“我们坐火车去么?”
“我们坐火车去。”
“船呢?”
“先坐船,……”
“哈!这模样了!胡子这么长了!”一种尖利的怪声突然大叫起来。
我吃了一吓,赶忙抬起头,却见一个凸颧骨,薄嘴唇,五十岁上下的女人站在我面前,两手搭在髀间,没有系裙,张着两脚,正像一个画图仪器里细脚伶仃的圆规。
我愕然了。
“不认识了么?我还抱过你咧!”
我愈加愕然了。幸而我的母亲也就进来,从旁说:
“他多年出门,统忘却了。你该记得罢,”便向着我说,“这是斜对门的杨二嫂,……开豆腐店的。”
哦,我记得了。我孩子时候,在斜对门的豆腐店里确乎终日坐着一个杨二嫂,人都叫伊“豆腐西施”⑹。但是擦着白粉,颧骨没有这么高,嘴唇也没有这么薄,而且终日坐着,我也从没有见过这圆规式的姿势。那时人说:因为伊,这豆腐店的买卖非常好。但这大约因为年龄的关系,我却并未蒙着一毫感化,所以竟完全忘却了。然而圆规很不平,显出鄙夷的神色,仿佛嗤笑法国人不知道拿破仑⑺,美国人不知道华盛顿⑻似的,冷笑说:
“忘了?这真是贵人眼高……”
“那有这事……我……”我惶恐着,站起来说。
“那么,我对你说。迅哥儿,你阔了,搬动又笨重,你还要什么这些破烂木器,让我拿去罢。我们小户人家,用得着。”
“我并没有阔哩。我须卖了这些,再去……”
“阿呀呀,你放了道台⑼了,还说不阔?你现在有三房姨太太;出门便是八抬的大轿,还说不阔?吓,什么都瞒不过我。”
我知道无话可说了,便闭了口,默默的站着。
“阿呀阿呀,真是愈有钱,便愈是一毫不肯放松,愈是一毫不肯放松,便愈有钱……”圆规一面愤愤的回转身,一面絮絮的说,慢慢向外走,顺便将我母亲的一副手套塞在裤腰里,出去了。
此后又有近处的本家和亲戚来访问我。我一面应酬,偷空便收拾些行李,这样的过了三四天。
一日是天气很冷的午后,我吃过午饭,坐着喝茶,觉得外面有人进来了,便回头去看。我看时,不由的非常出惊,慌忙站起身,迎着走去。
这来的便是闰土。虽然我一见便知道是闰土,但又不是我这记忆上的闰土了。他身材增加了一倍;先前的紫色的圆脸,已经变作灰黄,而且加上了很深的皱纹;眼睛也像他父亲一样,周围都肿得通红,这我知道,在海边种地的人,终日吹着海风,大抵是这样的。他头上是一顶破毡帽,身上只一件极薄的棉衣,浑身瑟索着;手里提着一个纸包和一支长烟管,那手也不是我所记得的红活圆实的手,却又粗又笨而且开裂,像是松树皮了。
我这时很兴奋,但不知道怎么说才好,只是说:
“阿!闰土哥,——你来了?……”
我接着便有许多话,想要连珠一般涌出:角鸡,跳鱼儿,贝壳,猹,……但又总觉得被什么挡着似的,单在脑里面回旋,吐不出口外去。
他站住了,脸上现出欢喜和凄凉的神情;动着嘴唇,却没有作声。他的态度终于恭敬起来了,分明的叫道:
“老爷!……”
我似乎打了一个寒噤;我就知道,我们之间已经隔了一层可悲的厚障壁了。我也说不出话。
他回过头去说,“水生,给老爷磕头。”便拖出躲在背后的孩子来,这正是一个廿年前的闰土,只是黄瘦些,颈子上没有银圈罢了。“这是第五个孩子,没有见过世面,躲躲闪闪……”
母亲和宏儿下楼来了,他们大约也听到了声音。
“老太太。信是早收到了。我实在喜欢的不得了,知道老爷回来……”闰土说。
“阿,你怎的这样客气起来。你们先前不是哥弟称呼么?还是照旧:迅哥儿。”母亲高兴的说。
“阿呀,老太太真是……这成什么规矩。那时是孩子,不懂事……”闰土说着,又叫水生上来打拱,那孩子却害羞,紧紧的只贴在他背后。
“他就是水生?第五个?都是生人,怕生也难怪的;还是宏儿和他去走走。”母亲说。
宏儿听得这话,便来招水生,水生却松松爽爽同他一路出去了。母亲叫闰土坐,他迟疑了一回,终于就了坐,将长烟管靠在桌旁,递过纸包来,说:
“冬天没有什么东西了。这一点干青豆倒是自家晒在那里的,请老爷……”
我问问他的景况。他只是摇头。
“非常难。第六个孩子也会帮忙了,却总是吃不够……又不太平……什么地方都要钱,没有规定……收成又坏。种出东西来,挑去卖,总要捐几回钱,折了本;不去卖,又只能烂掉……”
他只是摇头;脸上虽然刻着许多皱纹,却全然不动,仿佛石像一般。他大约只是觉得苦,却又形容不出,沉默了片时,便拿起烟管来默默的吸烟了。
母亲问他,知道他的家里事务忙,明天便得回去;又没有吃过午饭,便叫他自己到厨下炒饭吃去。
他出去了;母亲和我都叹息他的景况:多子,饥荒,苛税,兵,匪,官,绅,都苦得他像一个木偶人了。母亲对我说,凡是不必搬走的东西,尽可以送他,可以听他自己去拣择。
下午,他拣好了几件东西:两条长桌,四个椅子,一副香炉和烛台,一杆抬秤。他又要所有的草灰(我们这里煮饭是烧稻草的,那灰,可以做沙地的肥料),待我们启程的时候,他用船来载去。
夜间,我们又谈些闲天,都是无关紧要的话;第二天早晨,他就领了水生回去了。
又过了九日,是我们启程的日期。闰土早晨便到了,水生没有同来,却只带着一个五岁的女儿管船只。我们终日很忙碌,再没有谈天的工夫。来客也不少,有送行的,有拿东西的,有送行兼拿东西的。待到傍晚我们上船的时候,这老屋里的所有破旧大小粗细东西,已经一扫而空了。
我们的船向前走,两岸的青山在黄昏中,都装成了深黛颜色,连着退向船后梢去。
宏儿和我靠着船窗,同看外面模糊的风景,他忽然问道:
“大伯!我们什么时候回来?”
“回来?你怎么还没有走就想回来了。”
“可是,水生约我到他家玩去咧……”他睁着大的黑眼睛,痴痴的想。
我和母亲也都有些惘然,于是又提起闰土来。母亲说,那豆腐西施的杨二嫂,自从我家收拾行李以来,本是每日必到的,前天伊在灰堆里,掏出十多个碗碟来,议论之后,便定说是闰土埋着的,他可以在运灰的时候,一齐搬回家里去;杨二嫂发见了这件事,自己很以为功,便拿了那狗气杀(这是我们这里养鸡的器具,木盘上面有着栅栏,内盛食料,鸡可以伸进颈子去啄,狗却不能,只能看着气死),飞也似的跑了,亏伊装着这么高低的小脚,竟跑得这样快。
老屋离我愈远了;故乡的山水也都渐渐远离了我,但我却并不感到怎样的留恋。我只觉得我四面有看不见的高墙,将我隔成孤身,使我非常气闷;那西瓜地上的银项圈的小英雄的影像,我本来十分清楚,现在却忽地模糊了,又使我非常的悲哀。
母亲和宏儿都睡着了。
我躺着,听船底潺潺的水声,知道我在走我的路。我想:我竟与闰土隔绝到这地步了,但我们的后辈还是一气,宏儿不是正在想念水生么。我希望他们不再像我,又大家隔膜起来……然而我又不愿意他们因为要一气,都如我的辛苦展转而生活,也不愿意他们都如闰土的辛苦麻木而生活,也不愿意都如别人的辛苦恣睢而生活。他们应该有新的生活,为我们所未经生活过的。
我想到希望,忽然害怕起来了。闰土要香炉和烛台的时候,我还暗地里笑他,以为他总是崇拜偶像,什么时候都不忘却。现在我所谓希望,不也是我自己手制的偶像么?只是他的愿望切近,我的愿望茫远罢了。
我在朦胧中,眼前展开一片海边碧绿的沙地来,上面深蓝的天空中挂着一轮金黄的圆月。我想:希望本是无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便成了路。
一九二一年一月。
□注释
⑴本篇最初发表于一九二一年五月《新青年》第九卷第一号。
⑵猹:作者在一九二九年五月四日致舒新城的信中说:“‘猹’字是我据乡下人所说的声音,生造出来的,读如‘查’。……现在想起来,也许是獾罢。”
⑶大祭祀的值年:封建社会中的大家族,每年都有祭祀祖先的活动,费用从族中“祭产”收入支取,由各房按年轮流主持,轮到的称为“值年”。
⑷五行缺土:旧社会所谓算“八字”的迷信说法。即用天干(甲乙丙丁戊己庚辛壬癸)和地支(子丑寅卯辰巳午未申酉戌亥)相配,来记一个人出生的年、月、日、时,各得两字,合为“八字”;又认为它们在五行(金、木、水、火、土)中各有所属,如甲乙寅卯属木,丙丁巳午属火等等,如八个字能包括五者,就是五行俱全。“五行缺土”,就是这八个字中没有属土的字,需用土或土作偏旁的字取名等办法来弥补。
⑸鬼见怕和观音手,都是小贝壳的名称。旧时浙江沿海的人把这种小贝壳用线串在一起,戴在孩子的手腕或脚踝上,认为可以“避邪”。这类名称多是根据“避邪”的意思取的。
⑹西施:春秋时越国的美女,后来用以泛称一般美女。
⑺拿破仑(1769—1821):即拿破仑·波拿巴,法国资产阶级革命时期的军事家、政治家。一七九九年担任共和国执政。一八○四年建立法兰西第一帝国,自称拿破仑一世。
⑻华盛顿(1732—1799):即乔治·华盛顿,美国政治家。他曾领导一七七五年至一七八三年美国反对英国殖民统治的独立战争,胜利后任美国第一任总统。
⑼道台:清朝官职道员的俗称,分总管一个区域行政职务的道员和专掌某一特定职务的道员。前者是省以下、府州以上的行政长官;后者掌管一省特定事务,如督粮道、兵备道等。辛亥革命后,北洋军阀政府也曾沿用此制,改称道尹。