Frank 的个人资料了然酒肆日志列表 工具 帮助

Lee Frank

职业

了然酒肆

一文一章皆世事,于眼于心尽了然。
12月16日

烂片横行,生人回避

上周末,某老婆大人吵着要看林妹妹,于是我们换了两张票去看《刺陵》。

唉,如果去之前做一点点功课,就会发现此片导演朱延平的上一部电影是《大灌篮》,就会发现此片编剧组的上一部电影是《无极》,这华丽丽的杯具也就不会发生了。

回想起来,我的观影感受就像坐在街边看美女,美女如期出现,但打酱油的名人路仍绷带人蒙面人络绎不绝,然后身为文物保护工作者的周董也不停地搔首弄姿,最后他做了三个俯卧撑,文物就灰飞烟灭了。

不想再多说了,拜《刺陵》和不小心点开的《熊猫大侠》(唉,简直惨不忍睹)所赐,我似乎已经患上了电影恐惧症。一想起被关在黑漆漆的大厅里忍受足足两小时的心灵折磨,现在还心神不宁。

就在一周以前,面对铺天盖地的贺岁档我还未不知道选哪个而发愁。没想到睁开眼却是烂片横行,一不留神都会被某某大导演砸个头破血流。

想当初,《英雄》乍出,还是个穷学生的我舍得去电影院看,那是为了支持中国电影人拍出更多的大片;现在,烂片横行,我觉得再也不掏一个子儿,那是为了不在支持中国电影人拍出更多的烂片。

用心良苦啊!

11月22日

《2012》

2012

我印象最深的关于《2012》的宣传口号是:罗兰.艾默里奇,三次摧毁世界的男人。

《独立日》里是外星人,《后天》里是冰河期,而这一次,这个毁灭狂将目光投向了天体物理学。这张海报是我最喜欢的,和其他那些展现具体的灾难场面的海报不同,这是一张言简意赅的警示:无边的黑暗之中,亮起了达摩克利斯之剑。

整个片子的观影感受是看大场面看到麻木,看到吐。最初影院里还有有不时发出惊呼或者啜泣声,到后来已经没有人大声出气了。

不知道此片是不是能成为导演想要的“灾难片之王”,但平心而论,从今往后,那些还想打地球主意的导演们要多花点心思了。

11月18日

1 1 1 1 = 24

昨天看到一道有趣的数学题,然后拿出来给同事们做:在题目等式的左边填入数学符号,使等式成立。

这题看起来很简单,要是放到初中,估计一半人能做出来;放到高中,估计超过80%的人能做出来;现在,却难住了一群软件工程师。

在这个过程中,涌现出很多有趣的思路:比如“是几进制啊”,“能不能移位啊”,“能不能两个1连起来当做11啊”等等。反映的都是典型的程序员思维,一方面因为大家的专业素质高,另一方面也因为陷入了惯性思维。

如今社会分工五花八门,在任何一个职业上做的久了,思考问题都习惯于在我们熟悉的领域或者说空间中寻找答案,好处是在工作中容易快速解决问题,缺点就在于思路容易受到局限,往往遗漏一些其实不那么偏僻的,甚至是我们曾经熟知的路。

最后,一位同事通过搜索引擎找到了答案。万能的搜索引擎,这是另一个话题了。

11月15日

韩寒,我还是比较DJ的

以前没有怎么注意过韩寒,觉得他无非就是个名气大一点的青年作者罢了。我对青年作者有一点成见,不太看得起他们的东西。也许是因为年纪相仿的原因吧,那些长一辈的人觉得有活力,少一辈的人觉得有资历的作品,而在我看来和我平时碎碎念的东西没什么差别。

但是有两件事改变了我对这一只的看法:

一是当初他和一帮长辈的诗人作家们对骂,说出“现代诗歌已经沦为歌词写作的一个分支”这样的妙语来(原话)。虽然我也无权评判这个论断的学术真伪,但听上去很过瘾。更过瘾的是后来他又说“算了,不跟你们这帮人吵了。如果不是因为我名气大点,和你们吵吵,有几个人知道你们是张三李四啊”(大意),此言有点跋扈了,但却道出了当代文学界,或者说作家界的尴尬来,实属实话。于是我便觉得这厮蛮有风气,嚣张得很在理。

第二件事是关于赛车,一直知道韩寒在玩赛车,听说还是专业级别的,但总觉得客串性质居多,毕竟大小算个文化名人嘛。推广赛车运动第一,成绩第二,至多是“写书的人当中车开得不错的”。直到今年ROC,亲眼看到这哥们在国内比赛中杀出重围争取到并享受了董荷斌的蹂躏,然后联手董到国家杯中为咱小争了一口气之后,我拿掉了“写书的”三个字。这厮在专业的场地赛选手中也算是一流的了,当然是国内。而赛后,他对于自己在最后一个弯道的失误耿耿于怀的样子更让我DJ,相信他成绩还能再有提高。

因为印象有所好转,所以平时对韩寒的言行多一点留心,发现他的确是怀揣一颗80后的心,他的生活态度,他对很多问题(包括四姑娘的问题)的看法还是很对我路子的。

但是,如果丫没有说什么我一年到手200万,还是不够花之类的言论,岂不更好?

11月13日

《第九区》

第九区

以纪录片的方式,从科幻片的视角,讲述一个种族隔离的故事,而实际上要表达的是人性的挣扎。有这几个因素的保证,我觉得本片一定会在奥斯卡插上一脚的。

本片最大的亮点在于外星人的生活化,他们不再是一副远不可及的先知或者野兽,天使或者魔鬼的极端形象,而是苟活在贫民区的一群无难民,他们手持利刃却任人驱使,他们嗜猫粮如命并为此倾家荡产,他们也会打家劫舍,也会聚众滋事,“上帝之城”里面有的罪行他们似乎一样不拉。而人类,以救助者和管理者的形象高高在上,他们鄙视这个流落的种群并称之为“大虾”,他们觊觎外星人手里的科技却又不便于公开索取,于是他们暗地里进行见不得人的研究却要披着光鲜的外衣。直到有一天,在他们中间出现了一个同情者,然后故事就发生了。

这就是披着层层外壳的黑人和白人故事,来自29岁的南非导演尼尔·布洛姆坎普,记住这个名字,以后说不定会红。

11月11日

除草文: 我一向不DJ简森巴顿

今年的F1,与其说是简森巴顿夺得了车手总冠军,不如说是罗斯布朗夺得了总冠军。

上周在看ROC的时候,一条车迷的短信精辟的概括了今年F1的这个结局。上半年靠双层扩散器积累的巨大优势保证他们笑到了最后,尽管红牛亦步亦趋地跟在后面,尽管法拉利和迈凯轮甚至宝马在最后都有复苏的迹象,但一切都太晚了。

然后,罗斯布朗彻底从铁三角中脱颖而出,走上了神坛。把一支年初几乎要破产的车队带上车队总冠军,把一个落魄了十年的车手送上了车手总冠军,他配得上这些荣誉。

而简森巴顿呢,曾经对车王形成最大威胁的那个年轻小伙子,新科世界冠军,却几乎要被人们忽视了。上半年的疯狂之和赛车有关,下半年的低迷似乎又恰好印证了他的无能。车王之后,阿隆索两连冠的时候大家惊呼这个打败了车王的男人,基米夺冠的时候大家说十年磨一剑,小黑夺冠的时候大家说少年得志,这会轮到简森巴顿了,大家却一窝蜂地围向那个白发苍苍的大头脑,就像坐在赛车里的是他一样。

很自然的,巴顿不服。于是他来到ROC,他嘲讽道:我们看看舒马赫能给我们展示什么吧。是啊,在自己状态最好的时候依然只能望其项背,如今连复出再开几站都无法实现的这个老男人,打败他也许是自己的皇冠上最欠缺的宝石。哪怕,是在这个玩具壳一样的鸟巢里。

过程有惊无险,简森巴顿再一次证明了自己——依然是一个笨蛋,那个沉溺于温柔乡,拿着高薪,不思进取的笨蛋。

而舒马赫呢,战胜了他该战胜的人后,在决赛中输给了ROC的两冠王,荣登三年老二宝座。不知道他有没有想起当初衬托着他的万年老二巴里切罗来。不过就像Eagle说的,至少保证他明年还回来,继续冲击这个冠军。

还是说明年吧,去年小黑夺冠的时候点了三个名:基米,阿隆索,库比萨。那意思:哥们儿都功德圆满,就差波兰人了,我看好你哦。

7月22日

老金和家郎的故事

故事摘自搜狐新闻,真假自辩,唯博一笑。

http://pic.news.sohu.com/group-164155.shtml#m=b&g=164155&p=1278093

老金是一个漂在北京的拾荒者,靠卖瓶子和乞讨养活自己。有一天他在街上遇到了一条两个月大的流浪狗,于是收留了它,决心将它抚养成狗,还给它取名“家郎”,一人一狗艰难而又快乐的继续飘着。

不料一天他们碰到了城管。出乎意料的是,城管并没有把老金暴打一顿,也没有不由分说地打死家郎,而是义正言辞地说:

“你这条狗,要办狗证,不然要抓走。”并且他们答应给老金一段时间攒钱办证。

那一瞬间,文明执法与黑色幽默前所未有的和谐统一了。

7月7日

How to hook delegate to OnExpanded event of TreeView?

Unfortunately, there is no way to do this on XAML so far, no matter with Style or Template. But there is an ugly solution with coding. It’s described on the post on SilverLight.net

First, you need to get the TreeViewItem need to be hooked. At most time, you want to hook a delegate on all of them. So we have a recursive method GetTreeViewItems:

        private static IEnumerable<TreeViewItem> GetTreeViewItems(ItemsControl parent)
        {
            // Get the ItemContainerGenerator from a TreeView or TreeViewItem
            ItemContainerGenerator generator = null;
            TreeViewItem parentItem = parent as TreeViewItem;
            if (parentItem != null)
            {
                generator = parentItem.ItemContainerGenerator;
            }
            else
            {
                TreeView parentView = parent as TreeView;
                if (parentView != null)
                {
                    generator = parentView.ItemContainerGenerator;
                }
                else
                {
                    //throw a exception
                }
            }
            // Yield all of the descendent TreeViewItems
            for (int i = 0; i < parent.Items.Count; i++)
            {
                TreeViewItem item = generator.ContainerFromIndex(i) as TreeViewItem;
                if (item != null)
                {

                yield return item;
                foreach (TreeViewItem descendent in GetTreeViewItems(item))
                {
                    yield return descendent;
                }
        }
    }
}

Then we can define a method to hook your delegate on these TreeViewItems

        private void AddExpandedHandlers(ItemsControl parent)
        {
            Dispatcher.BeginInvoke(() =>
            {
                foreach (TreeViewItem item in GetTreeViewItems(parent))
                {

                    //Tag is a property designed for customer state
                    if (item.Tag == null)
                    {
                        item.Expanded += OnItemExpanded;
                        item.Tag = true;

                    }
                }
            });
        }

Of course you need an OnItemExpanded method as well:

        private void OnItemExpanded(object sender, RoutedEventArgs e)
        {
            TreeViewItem item = sender as TreeViewItem;

            // Do whatever we wanted to do when expanded...

            // Add Expanded handlers to all of the descendent TreeViewItems
            // (especially the child TreeViewItems of the item that was just
            // expanded)
            AddExpandedHandlers(item);

        }

Finally, we can use these method whenever you want. Usually we can do it when this TreeView is loaded:

       MyTreeView.Loaded += delegate { AddExpandedHandlers(MyTreeView);};

7月4日

《变形金刚2》

《变形金刚》:这次的敌人不好对付,得使出杀手锏了。《美国派》、《终结者》、《异型》、《黑鹰坠落》、《国家宝藏》、《金刚》,变形!我们组成《变形金刚2》!

6月26日

迈克尔.杰克逊死了

早上起来看新闻,被彻底惊呆:MJ死了。

有太多词汇来形容我的感受,就如同有太多词汇来形容MJ的音乐成就和带给我们的震撼,但它们在此刻都显得那么的苍白无力。

MJ也不是神,其实我们心里都清楚他早晚会离我们而去,只是没有想到会以这样一种突然的方式。原本还欣喜地期待着他即将开始的全球巡演,也欣喜地看到他从经年的负面新闻和种种疾病中振作起来。没想到就在这么一个平凡的夜晚,MJ排练完,回到家中,往后一躺,心脏停搏——嘎然而止。

就像他那些著名的演唱会的经典片段。

一个时代就这样结束了。

曾经,地球上曾经有一个男人,可以跳出超越重力、超越人体极限的奇妙舞步,让全世界为之疯狂。

如今,他已经回去了。

 

Windows Media Player