2008年11月27日星期四

V for V

V for V





牛博热文截图,2008年11月27日 19:22分,13/20






和菜头的博客上看到一篇段话:
生得拧巴,你不给我个说法,我就给你个说法;
死得和谐,要的就是个处决,貌似很像个判决。

配图是:
很和谐。






2008年11月26日星期三

飓风营救(Taken)——飓风般的营救






飓风营救(Taken)——飓风般的营救



一开始还不明白为什么Taken会翻译成飓风营救,看完明白了,老爸救女儿的整个过程就像飓风一样,路过之处,把坏人如砍瓜切菜般卷得干干净净,什么叫遇神杀神,遇佛杀佛,这就是。

据说是吕克贝松编剧,单纯的动作片,可以打9分了,不可多得的动作片,不像《通缉令》那样靠子弹拐弯和朱莉露背来吸引观众,也不是像《虎胆龙威4》那样,有汽车打飞机,骑F22,这部片子只有简单高效的解决坏人,最后一个最难搞的,也只花了1分钟左右。简单,好看!紧凑的剧情,紧张的节奏,高速的剪切,今年看过的最爽的动作片。


另:这部片子提醒了我一件事情,男主角面对以前的朋友拿枪指着自己的时候,说:“你开始变得迟钝了!你都分不出枪里有没有子弹了!”。记得以前看过一篇报道,说中国队的乒乓球队员,只要打几拍子能够分出相差只有几克的乒乓球的轻重,而子弹的分量不轻,一个经常用枪的人,肯定能分得出来枪里有没有子弹,甚至有几颗子弹,以前看的片子n多时候都是扣扳机的时候发现子弹没了,这点现在看来很不合理。



2008年11月25日星期二

网瘾

三个月,每天6个小时,上瘾了




一开始对陶宏开印象就很不好,在电视上侃侃而谈如何解决青少年网瘾问题,当年正是媒体大肆将网络游戏宣扬成“电子海洛因”的时候,也的确有很多家长为孩子成天泡在网吧玩游戏苦不堪言。但我看这些报道总觉得有些问题,且不论“电子海洛因”的提法是否合适(事后证明这一说法现在也为媒体所抛弃,游戏业蓬勃发展,报纸上也开始连篇报道游戏产业的前景了),单是陶宏开的戒除网瘾的理论我就不太赞同,我看来沉迷网络原因有多种,更多的是家庭和社会的问题,而不是某种疗法就能治愈的疾病,陶老师的做法当时更像是一个心理医生,针对沉迷网络进行心理咨询,无可厚非。

后来慢慢的发现情况有点不对劲了,在和菜头的一篇文章中看到,陶老师已然将这个活计当作事业,越做越大,越看越像强制戒毒了。文章中引用的在陶老师的“戒毒所”待过的人的话来看,那地方显然不是个好地方,而且对于孩子来说,没有任何一点点的好处。现在又有人来趟网瘾这滩混水了,北京军区总医院制订的我国首个《网络成瘾临床诊断标准》,其中有一条量化标准:每天上网6小时,持续3个月。看来我也是患者了。这个标准引起巨大争议,其实也很好理解,那些权威专家也不是吃饱了撑的搞个这个东西出来,为了更好地帮助网络成瘾患者告别网瘾、健康回归社会,2005年3月,北京军区总医院开展了青少年网络成瘾的集中住院治疗,并于2006年3月创办了国内第一家网络成瘾诊疗基地——‘北京军区总医院青少年心理成长基地’。”。体制里的专家们看陶老师赚得不亦乐乎,也想分一杯羹,跟家长们说,你看吧,你孩子有病了,网瘾啊,不治会出大问题的啊,快来我们中心吧。我恶心的揣测这个标准的动机就是这样的,而且应该会推广开的,这样的治疗中心,很多医院都有能力办,而会上网的孩子又那么多,一天6个小时,门槛太低了,不愁没生意。

这哥们说的挺好的:“当OLPC带着绿色的大耳朵让非洲的孩子能够接触最新的科技时,我们想浏览Wiki还要挂上恶心的代理。当大洋彼岸十几岁的孩子用课余时间破译了iPhone,这厢的有关部门还在宣扬网络的丑恶与无用。” 专家们忙着赚钱制定网瘾标准的时候,怎么很少听到有人说为什么会出现所谓的网瘾呢?孩子们除了上网玩游戏,还能看什么,还有什么能提起他们的兴趣呢?带三个表?

2008年11月23日星期日

C#中HashTable先进先出






C#中HashTable先进先出

笔试遇到一个题,不会做,回来查了查。

题目:写一个类,从HashTable继承,实现先进先出。

分析:HashTable在MSDN中的介绍是:“表示键/值对的集合,这些键/值对根据键的哈希代码进行组织”。可以看出HashTable是根据Key的HashCode进行组织,从外部无法干预HashTable的内部顺序。要想实现HashTable的先进先出,必须重写HashTable的存储和读取,存储时加入先进先出的排序,读取时按照先进先出的排序读取。思路有了就要看如何实现。C#中ArrayList是先进先出,可以将ArrayList作为排序,在加入一对键值的同时在ArrayList中加入值,读取时按照ArrayList的顺序读取。

实现:

    public class MyHashTable : Hashtable
    {
        private ArrayList arr = new ArrayList();

        //重写添加,引入ArrayList排序,和HashTable键值对应
        public override void Add(object key, object value)
        {
            base.Add(key, value);
            arr.Add(key);
        }

        public override void Clear()
        {
            base.Clear();
            arr.Clear();
        }

        public override void Remove(object key)
        {
            base.Remove(key);
            arr.Remove(key);
        }

        //遍历Key时读取ArrayList的Key,实现读取时先进先出
        public override ICollection Keys
        {
            get
            {
                return arr;
            }
        }
    }

在Visual Studio 2008中测试通过。