Profiel van rbrb'sFoto'sWeblogLijstenMeer Extra Help

Weblog


    12 november

    动画?

    不知道这个比喻对不对, 所谓无的境界: 为什么说identity是不存在的呢, 就好比一个动画里的机器猫, 实际上并没有会动的机器猫, 只有连续播放的静态的机器猫的图片而已; 然而把这些图片连续播放起来, 就产生了机器猫这个identity的假象了.

    这个就像functional programming对variable的理解一样, 并没有一个我们称作variable的container能够在不同的时间存放不同的value, 而是仅仅是不同时间不同的value而已. 具体摘录俺们Cornell的Andrew Myers教授的上课讲义:

    // quotes 引用

    Why do many programmers like stateful programming languages? Perhaps because it matches how we
    think of the world. We view the world as being composed of entities (such as people or objects) with intrinsic
    unchanging identities. These entities change their state over time while maintaining the same underlying
    identity. If a programming language matches our mental model of the world, it’s more comfortable for
    programmers to think about.


    Thus, stateful languages always come equipped with an underlying notion of identity, such as variable
    identity or object identity. In these languages, the binding between identities and their current states can
    change over time. Stateful languages intrinsically have a notion of time, unlike pure functional languages such
    as uML or lambda calculus, which take an essentially timeless view of computation. In stateless languages,
    it doesn’t matter exactly when something happens, because the outcome will be the same regardless. In
    stateful languages with multiple concurrent threads, it matters a great deal when something happens.


    It can be argued that our perception of underlying identity is an illusion. In physics, identity does not
    exist: particles are identified by their state, not by any intrinsic identity. If two electrons in different states
    are swapped, no change has happened to the universe, because an electron is really the same thing as its
    state. Time is arguably an illusion as well: the universe is a multidimensional object in which physics
    says that time is much more symmetric to the other dimensions than we perceive. Being made of particles
    ourselves, we are only able to sense a single moment in time. Arguably, the universe is purely functional,
    and our minds deceive us. In fact, the observation that we are deceived into thinking that objects have an
    underlying identity dates back to Buddhist and even earlier Vedantic philosophy (the Upanishads).

    // quotes 引用结束

    rb自我感觉这个理解比较透彻, 不过基于这个前提, 没有办法推出比如吃素啊, 做好事啊之类的之类的戒律.

    p.s. 最近喜欢上了Taylor Swift, 小声的说, 感觉伊某些神态很像茄子... 大家不用担心漫胖要和rb发飙, 因为她已经发过飙了. 话说今天CMA居然Taylor Swift获得3项大奖: Entertainer of the year, Album of the year, Female vocalist of the year. 太牛了, 才19岁!

    09 november

    Judgement, not calculation

    // In linux, no proper Chinese support...

    I came across this tutorial for the game Go (Weiqi) on Youtube:
    http://www.youtube.com/watch?v=gECcsSeRcNo

    The last part of the tutorial talked about the main skills developed in Go is not calculation, but judgement. I was quite inspired.

    The world is too big to be calculated, the what's fascinating is that you don't have to calculate every detail to predict it, and that's what judgement can help us with.

    Of course, if we have enough computing power... Like chess, it's the game tree space is significantly smaller than the game Go(the number of possible games in Go is estimated larger than number of atoms in this universe), so a machine can easily win human players in chess these days.

    OK... it seems this article is going to turn into a technical one... I actually wanted to remind myself to use judgement more often than calculation in life.
    19 oktober

    A way out of mediocre life?

    有时候发现人生实在太无聊了, 人怎么也逃脱不了六道轮回, 想想这些就郁闷地窒息. 在宇宙的眼里, 人群和蚁群不知道有多大的区别... rb所以一直想花时间看一些佛经, 看看佛祖是怎么说的, 不过最终总是被各种其他事情吸引过去, 包括: 电脑技术啦, day dreaming啦, bbs/Internet surfing啦, cooking啦, 看电视啦.

    特别这个周末突然喜欢上看football了... 这个实在是个时间黑洞, 一场比赛能看个3个多小时... 所以rb就打算不再发展对baseball的(观看)兴趣了. 今天刚刚看了后半场俺们东北爱国者雪中把田纳西59:0草割的比赛, 据说是1976年以来比分最悬殊的一场; 另外一场是布法罗加时赛40多码外远射干掉纽约Jet的比赛. 两个比赛都算是比较精彩, 也是让rb突然对football感兴趣的原因吧...

    总的来说, football果然是个很男人的运动, 相当地直接, 规则上也比soccer多一些tactical的东西, 得分方式也多样化一点, 而且人性化很多, 至少有争议的判罚裁判可以review录像... 当然, 这样要紧关头的判罚每次都要等个好久才能知道结果... 可惜这运动在全世界不流行, 哪天打算回国了, 就没得看了...

    最后贴个搞笑的, 意大利实在是...

    发信人: nodream (无梦), 信区: FreeTalk
    标  题: 意大利驻军贿赂塔利班导致法军阵亡(转载)
    发信站: 饮水思源 (2009年10月16日13:35:31 星期五)
    【 以下文字转载自 joke 讨论区 】
    【 原文由 nmw 所发表 】
    (综合讯)据英国《泰晤士报》15日报道,为让塔利班停止在其负责区域内的暴力活动
    ,意大利驻阿富汗官员曾秘密贿赂塔利班。而后接防的法军因未能意识到这块区域上存
    在的危险,导致10名法国士兵被打死。
    报道称,意大利情报机关曾向阿富汗塔利班指挥官和当地武装首领支付了数万美元
    (欧元),以求在法国军队到来之前,萨洛比地区能够保持平静。
    而在2008年8月发生10名法国士兵遭伏击身亡的事件时,法军负责萨洛比地区刚满
    一个月。此次法国士兵遇袭身亡事件也是北约部队在阿富汗受损最严重的单一军事行动
    之一。
    意大利部队在7月份被法军替代,而此前,只有一名意大利士兵在战斗中死亡。
    报道称,因为法方对贿赂事件一无所知,所以他们对该地区做出了“灾难性的不正
    确的威胁评估”。
    报道还称,这也可以解释为什么当遭遇170名装备精良的武装分子伏击时,法军士
    兵相对只装备了轻型武器,而他们的空中支援也不够充分。
    一名北约高级军官对《泰晤士报》称:“也许贿赂当地武装组织和使用非暴力政策
    来降低暴力事件能够说得通,但这么做而且不通知你的盟友是不可理喻的。”
    --
    桃花潭水深千尺,不及不及送我情。
    ※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 211.151.248.62]
    --
    ※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 202.96.60.37]
    --
    ※ 转寄:·饮水思源 bbs.sjtu.edu.cn·[FROM: 24.128.170.161]

    05 oktober

    一个多月没有写blog了...

    主要是搬家, 然后家里装了电视, 当然最主要的是给漫姐姐当小差, 被使唤着用, 然后是由于最终选择了developer的生活, 又唤起了rb对写code的乐趣, 以上几种因素的结果就是rb在space上的时间几乎没有... 当然, 开始工作以来, 生活越来越平静, 也没啥好写的了...

    先是搬家, 趁9月的美国劳动节长假, 从suburb的Billerica搬到了城郊结合部的Malden. 这里鸣谢开水同学, 伊开来pickup卡车起到了关键作用. 当然最疯狂的是, 搬了整个下午, 结果吃晚饭, 就随开水参加了fjpq同学组织长假party活动. 咱数十个生活无趣的北美ws男女玩三国杀居然玩到了凌晨2,3点... 为啥每每都是和开水都是凌晨半夜才离开fjpq这里的... 不过还好这次rb是带着mp去的, 开水的fiance也没打电话来抽查...

    看了国庆阅兵, 人走的不齐了... 哎... 精神力量也没了. anyway, 这玩意儿也就是个大show, 领导们看得欢心, 群众们看得热闹也就ok了. 不过, 连rb这个伪军迷都早就听说的DF41怎么还是没出啊?

    漫胖最近迷上了做糕点, 当然这里也有饭盆同学的功劳, 当然rb就很无辜地做了小白鼠, 外加处在被她们传染上肥胖病的边缘, 肥胖病还真是传染病... 以下是吃了只剩一个slice的cheesecake(做过才知道有多么不健康), 和刚出笼的苏式鲜肉月饼

    IMG_2919 IMG_2961

    27 augustus

    2 Reviews

    第一个是District 9, 好不容易是漫胖请rb去看的科幻片. 不错不错, 非常真实, 真的有外星人来, 估计也就和电影里的差不多了, humanity在interest面前真是没用的东西. 外星人感觉比较像星际里面的虫族. 作为导演的第一部电影, 非常不错. 比同样是今年的变形金刚2, Terminator4好多了. 可惜以外星人拆迁办主任为主角的片子, 不知道要剪成什么样才能在国内上映了, 或者根本没有办法通过审核?

    第二个是国内的偶像剧"爱情公寓", 被前两集搞笑的风格吸引来看, 最后一连把所有第一季20集看完了. 总的来说, 就是把几部肥皂美剧和joke经典笑话以及动漫风格柔和到了一块. 说的好听点, 是对friends, how I met your mother, 2.5 men以及joke版的致敬; 说得难听点就是plagiarism. 不过刚好暑期美剧都停播, 刚好弄个国产搞笑片看看也不错.

    p.s. 现在怎么都没有热情, 不想不出有意思的project了, 始终找不到一个合适大小的project好连连自己的Haskell水平.

    18 augustus

    交大校友会

    Aug 15在Georges Island上举行了大波地区交大校友会, 其实就是在阳光明媚的一天, 找一群有共同属性的人出来到一个小岛上吃吃BBQ... 当然酒足饭饱之后陌生人马上就变成熟人了... 总的来说, 和在交大的日子一样, 帅哥多; 和交大不一样的是女生多. 嘻嘻闹闹之后也不知道有几个能最后成为固定hang out班底的...

    闲的无聊看了下wikipedia上对于Buddhism的介绍, rb是越看越糊涂, 不过比看文言文的好一点. 很奇怪一点, 既然佛教不承认"我"的存在, 那么无论成佛还是入地狱, 或者转世, 都不是"我"了, 那么现世的"我"又何必在乎呢...

    04 augustus

    还能玩几年...

    zyz同学光临Boston, 于是在Boston的几个高中同窗就在木兰台菜又吃了一顿, 参与人员有张猫, 开水, rb, zyz, fjpq, 以及来客串的fjpq的师兄... 老掉牙的饭店, 老掉牙的菜...

    吃完, 张猫骑了个自行车去参加另外一个Birthday party了, rb载着其余4人(嗯, rb的Mazda3第一次满载5人, 还被zyz同学误认为是Mazda6, 嘿嘿嘿, 有面子), 前往fjpq的闺房赌博. Texas Hold'em玩到后半夜, 然后有开始8g高中班上各位同学, 什么facebook啊, 校内啊统统用上了来满足俺们四人的偷窥欲... 期间开水同学的fiance从国内打电话来, 彻底暴露了开水妻管严的本质

    等把fjpq的豆奶, 薯片和冰激凌都消耗完了之后, 开水和rb撤出来已经是3:30am了, rb也没力气开车从Cambridge开会俺们郊区Billerica了, 于是就在开水处将就了一晚上. 话说自高中在金华的物理竞赛和开水一个房间之后, 这还是第一次睡一张床. 嗯, 没想到经过这么多年, 开水和rb的距离越来越近了...

    前几天也是个周六, 无聊地晚饭一边吃一边打开了苏有朋版的倚天屠龙记看, 打算趁吃饭的一伙儿功夫把六大门派打光明顶的一段看完就洗洗碗睡觉了, 结果愣是看到第二天早上4,5点把最后一集拖完为止...

    想到开水同学都是engaged的人了, 这过几年再来个同学会, 要是一个个都结婚了, 那也玩不尽兴了.

     

    rb要做bestman, rb要carry the ring!

    话说之前看了个电影, 叫I love you, man, 中文是寻找伴郎. 再是前几天, 做了个梦, 梦到凯头结婚了, rb冲回去, 结果伊很没人性地说bestman的名额已满, 忘记梦里是最后做了bestman, 不是小甜甜就是道长. rb可是有做wsn的光荣历史, 在婚礼上绝对可以配村得新郎要多体面就多体面.


    25 juli

    Abstraction and Application, Meta or Reflection or Recursion or Introspection

    In Linux, pardon my use of English...

    With the creation and use of tool is the birth of human race. The creation of tool is the process of abstraction, while the use of tool is then process of application.

    If the above is true, the capability of performing abstraction and application, the 2 essences of lambda calculus, defines human. We know that lambda calculus is one of several equivalent models of computation, so what the human race is doing is computation...


    Every elegant system of describing computation must have some certain way of doing "meta" operations, such as Lisp's macro system. By "meta" I mean abstracting an abstraction, which coins the idea of higher order functions

    After reading this paper: Monads for Functional Programming, I feel like among the "meta" capabilities of Haskell's is monad. Monad provides ways of doing abstraction at a surprisingly high level. The power of monad essentially stems from the fact that functions are 1st class objects in lambda calculus, i.e. higher order functions.

    Introspection is the "meta" capability of human. Somehow, I feel like intelligence is related to the ability of reasoning about things at any level. For example, I'm reasoning about a programming language, i.e. I'm commenting Haskell, which is the result of reasoning about making functional programming practical to use, which in turn is the result of reasoning about computation... That's exactly abstracting an abstraction of another abstraction...

    I wonder if the similarity tells me anything...
    13 juli

    Zoom zoom…

    最终还是买了2010款的Mazda 3, 被crane和博哥影响的, 不过rb也是在不想买Corolla或者Civic, 丢不起人去买韩国车, 不放心去买美国车, 没钱去买德国车, 有钱也买不到中国车, 所以最后在rb的budget范围内, 非本田丰田的日本车其实也没多少选择了. rb的budget的变化也是从$5000到$8000到$10,000最后变成现在买的纯新车...

    rb的爱情观虽然已然被完全颠覆, 仍然依稀记得喜欢的类型是小巧而且皮肤白的, 所以这就体现在车上了. Mazda3是campact car, 所以小巧不必说而且颜色是pearl white. 大家不要歧视白色车子, rb为了这个颜色, 还多花了$200呢. 据说放在车子上, 白色比黑色不显脏...

    和dealer讨价还价真是让rb后悔当年只是旁听了b-school的negotiation课, 而没有真正选了这课. 不过总的来说, 在这个车市萧条, 而且是end of quarter才去买, 也算个deal了.

    车子是完全日本制造, 连final assembly也是日本弄好在运到美国的. 抵制日货的同学就不要砸rb了, 美国能买到的车就这么几个国家生产, 而偏偏这几个国家都和我天朝过不去.

    最后上pic:

    IMG_28800712091707 0712091708a 

    IMG_2867 0712091711

    虽然是自动挡车, D挡旁边还有M挡, 所以还是可以虚伪地"手动"换换挡...

    IMG_2870

    方向盘左边是bluetooth, 可以和电话连接, 这样就可以开车的时候"安全"地打电话了... 也可以用来放手机上的音乐, 不过这个比较无聊...

    右边是cruise control, 算是新车的标配了... 不过rb还没用过, 每次开上高速了才想起来又忘记看手册怎么用了...

    IMG_2872

    最后是居家旅行必备良器"GPS"和面向driver一侧的"多媒体显示屏", 基本上就是显示时间, 歌曲和车外温度...

    IMG_2871

    上次这么激动的时候, 还是买得到第一台电脑的时候, 那台PII350Mhz, 32M内存, 4G硬盘的电脑(现在的用的laptop显存比超过了它的内存, 内存超过了它的硬盘... 时间大概是10年, 不知道啥时候内存能到和现在的硬盘一样大, 1T内存的笔记本...)让rb几个晚上没睡好觉, 不过当时是老爸给rb的惊喜, 所以虽然激动, 但是毕竟不是自己挑选的. 因为这次买车, rb有点喜欢上了车子了, 说不定还真应该什么时候捣鼓捣鼓车子生意.

    p.s. 刚刚看手机拍的照片, 发现除了车的照片, 还有以前其他的照片. 想起当初vk买车的时候拿了个西装照做头像挂了半天, rb自己也奔一下, 表明一下rb曾经也是有人魔狗样的时候的(在传说中美国第三大恐怖分子袭击对象--NYSE内):

    0701081101

    另外, 在nyc的Google office找Shaomei骗吃骗喝的时候, 拍的彩虹:

    0618081924a

    很想念的Cornell校园, 走了一年多的路, 本来想做个春夏秋冬版本的, 结果只有两个季节:

     0227081004 1016081239a

    0528081127 0226081934a

    走在cambridge某路上, 发现几个mit小朋友在试他们的车...

    0530091747

    也不知道贴过没有, 上次会交大拍的, "I love you, F03”的涂鸦

    1231071411

    p.s. 最近发现Haskell真是个非常amazing的编程语言, rb现在彻底倒向functional programming阵营了.

    p.s. 惊闻Final Fantasy在西雅图和旧金山开音乐会, 植松伸夫还会去旧金山现场, 为啥不到东岸来!

    22 juni

    Acadia游

    上周在crane的带领下, lightening夫妇还有mp和rb去了Maine的acadia国家公园玩耍, 主要活动是爬山和吃龙虾. 2-3磅的缅因大龙虾让boston的龙虾相形见绌. 部份相片请移步crane的space(伊还有空处理了一下):http://zhanghecrane.spaces.live.com/blog/cns!899C340846A74104!1867.entry (好吧, crane的blog进不去, 这里是他的picasa:http://picasaweb.google.com/cranezhanghe/AcadiaNationalParkPS# )

    回来的路上又是大雨, crane还说要开快点可以开出那片乌云, 结果就是在湿滑的高速开出了90mph, 折合150km/h... rb一边故作镇静装, 一边暗自祈祷...

    另一方面, rb终于在上周二的驾照路考中的平行泊车环节表现稳定, 成功获得驾照. 黑人考官看到平泊也难不倒rb的时候应该就想放rb过了, 所以在三点掉头的时候还帮rb看着车后面和curb的距离...

    最近好像国家规定新电脑都要装叫做绿坝的反黄反暴力软件, 软件的使用费出自纳税人上缴政府的税款, 每年4000万元rmb, 不知道是不是有linux和mac版, 否则rb这样特别需要被党和人民关怀身心健康的小朋友还是不得不被那些A片网站弄得"心神不宁"(这里借用焦点访谈被采访大学生兼cctv实习生评论Google是黄色网站时候的用词). 不过rb还是很理解国家这么做是为了在这个全球经济危机的大背景下, 为个人电脑市场寻找新的经济增长点:

    // 引用

    发信人: monolita (真上院对新上院机器人), 信区: joke
    标  题: 新的经济增长点zz
    发信站: 饮水思源 (2009年06月21日21:25:58 星期天)

    刚走到美罗城门口,一个4050悄悄凑过来,要盘伐?都是黑人的D9,绿坝屏蔽不了。

    旁边一个大嫂不屑的说,我们买一送一,买日本毛片赠送专业杀绿坝软件光盘!

    摆脱大嫂纠缠,走进美罗城,只见几个ppmm站在门口拉客,"买联想笔记本,免费格机,重做系统"
    “买惠普的吧,我们现场换硬盘!”
    “买戴尔的吧,换硬盘还现场上网演示,绝对不受限制!”

    只见一楼各大品牌专卖区,都已打出了标语:免费专业删除绿坝,让您上网无忧!

    旁边一个导购gg指着笔记本屏幕对一个顾客说,看,加菲猫可以看了吧!这么黄的图片都能看,别的更没问题了。
    再看一排笔记本,果然都在播放《加菲猫2》。
    另一排正在播放李小龙的电影。

    来到楼上,配件区的生意异常火爆。一个js大声说道,别信品牌区那帮孙子的,你以为绿坝那么好删?切!自己攒机才是王道!用着绝对放心。旁边的顾客不断点头。

    走出美罗城,一个男子悄悄跟上来,朋友,水货笔记本,都是美国产的,绝对没绿坝!看什么网站都行,连天涯都可以上了!

    刚走到太平洋门口,一个中年大嫂悄悄凑过来,要盘吗?绿坝 ip库完全破解版,全世界最全黄色网址,特别中文版。每日更新
    --
    兩點笑點可以連成笑線,而三條笑線可以組成笑面
    ※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 2001:da8:8000:d010:200:5efe:3b4e:2d65]

    //引用结束

    03 juni

    就这么老去么?

    新英格兰的夏天终于到来了, 下班回来旁晚跑去旁边的Market Basket买菜回来斜阳里见到主妇们在小区院子里聊天溜小孩, apt building门口贴着告示说小区的共用游泳池也开放了... 对于不会游泳的rb来说, 为了这个游泳池多花的房租是实实在在的奢侈.

    记得第一次飞出亚细亚, 来到亚美利加的时候, 当时在大上海待了3年了的, 被媚金主义也好, 小资情调也好, 白领文化也好所熏陶也好污染也好了的rb, 在UVa的Career Fair上第一次见了世面, 把美帝剥削的爪牙公司都认识了一遍, 再比比同年的美国本科生的素质(说实话, 美国的大学是牛, 那是research牛, 美国的教育是在太sb了, 教育出来的人说得好听是发散性思维, 其实就是根本没有get things done的能力. anyway, 也许美国这种没有需要追赶对象的国家的确更需要拍脑袋型人才吧), 认为自己要是生在美国, 或者早到美国几年, 那还不是要么GS/MS就是McKinsey/BCG的么

    现在在大农村又待了几年, 自己给自己烧饭油烟熏了一下, 才知道啥叫生活的味道. 现在又想想, 如果早点来美国, 也许还是在继续读PhD(嗯, 也许已经PhD毕业了), 可能比现在更加geeky, 狗改不了xx, rb才感觉到还真有些东西是intrinsic的.

    虽然我们总是生活在表象之中, 但是此时或者彼时, 还是能够看到自己真正happiness的来源.

    ok, 转换下话题, 刚刚看了Starship Troopers 3: Marauder. 片子其实很一般, 而且最后变成基督教宣传片了... 感觉那个联邦政府也太像罗马了, 特别是强调citizen就要参军和military service for citizenship的征兵广告, 当然美帝也在搞这一套. 他们用citizenship来定义一个邦国与俺们老祖宗用文化回答华夷之辨相比还是挺有特色的, rb猜想, 我天朝因为汉字读音和形状没有必然联系, 所以时间长了, 语音虽然变了, 但是只要有统一的文书, 文化还是能保持同一的, 不像他们把德语改改, 就变成英语了...

    最后, 知情者必然知道rb最近对genetic algorithm, genetic programming比较感兴趣, 发现一个有趣blog, 用genetic algorithm画图的, 画出来还挺艺术的:

    http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/

    http://rogeralsing.com/2008/12/11/genetic-gallery/

    19 mei

    还是Untitled流吧...

    最近space更新频度小了很多, 可能和离开校园有关, 少了很多匆忙与考试与作业间隙的时间空想, 又多了很多时间看真的感兴趣的东西.

    买了个26寸的显示器, 公司的才是22寸的, 就是因为屏幕大, 可以多看几行代码, 导致在家的工作效率比在公司高了, rb应该说服boss, work from home其实是为公司好. 当然, 假设我的确是在用屏幕来工作而不是看电视... 这两天晚上信誓旦旦地要回来加班, 结果显示器越大看电视的诱惑越大...

    都说美国人不会开手动挡的车子, 结果公司里载过rb的美国人都开手动挡车子... 连rb的印度女老板也说要去学开手动挡, 好enjoy driving... 都是一帮geek… 不过, 好歹手动挡的车子比自动挡的都便宜个1千来刀, 还省油... rb这样逐利小人自然也心里痒痒地...

    出国真是个折腾的经历, 本科的时候想着出国, 现在好了, 毕业了, 又开始想啥时候回国了... 曾经很奇怪为啥民国时期牛人们都选择了回国, 后来才发现排华法案原来对旧中国的科技文化进步有这么大的正面影响. 当然, 那些牛人出国的时候, 就知道不可能留下来, 所以人家求学还真是为中华崛起.

    曾经yy过, 如果太平洋上突然升起了个块地, rb和北美wsn, wsnv们冲过去占山为王, 肯定比PRC或者US都好, 不过后来一想, 这样的国家不就是日本么... 既有东方的文化, 又至少比国内的社会问题少, 可惜日本太小了, 还是美国的走狗...

    最近有点迷失, 可能是因为已经把所以可以讽刺的都讽刺过一遍了... 而rb又不喜欢重复. 原来人可以抱怨的就这么多... 是不是应该更加constructive一点了...

    rb不喜欢重复是个很大的问题, 这使得rb大多数时候选择不语, 因为脑子里都想着: "我早就想到了/看过了/知道了", 总的来说就是nothing new… 而不是试着和对方产生共鸣... 自卑与自傲

    最后, 还是有两个东西让rb觉得很new, 虽然它们想实现的东西很容易想到, 但是能做成却是很了不起的:

    1. Eye/gaze tracking, 即时track人眼focus的地方: http://www.cogain.org/eyetrackers/low-cost-eye-trackers

    2. Electroencephalography (EEG): http://en.wikipedia.org/wiki/Electroencephalography 其中要特别赞做成有竞争力product的厂商(非广告), 通过分析脑电波可以控制电脑(in other words everything), 只要$300: http://en.wikipedia.org/wiki/Emotiv

    24 april

    再拜祖师爷

    刚刚看到一个和rb想法类似的网站: http://www.a-i.com/

    然后链接点到祖师爷Alan Turing的文章: Computing Machinery and Intelligence

    发现CS的祖师爷早就把蓝图给规划好了, rb看到最近Genetic programming和artificial life的research做的有点眉目了, 就激动不已, 想着evolution和learning的有着千丝万缕的联系, language和intelligence也有着鸡和蛋的暧昧, 应该可以做点东西, 其实人祖师爷早就高瞻远瞩, a-i.com的人已经做得很不错了...

    不过值得高兴的是, rb终于回到没事就想想这些真正的research的状态了.

     

    p.s. 不知道是不是可以说pure functional programming是declaritive/static的, 而imperative programming是dynamic的, 这样就有个问题: 众所周知, imperative programming是需要保持state的, 而state在rb看起来是和time息息相关的. 一个没有state的系统里面, 就不会有causality, 没有causality就没有time的必要性.

    而人观察世界看到的都是一个个state的变化, 因此有了时间的概念, 如果有人可以不看到这些state而是看到这些state的变化所表现的系统, 那对这个人来说, 这个世界是没有时间的, 当然要做到这点, 需要无穷的计算力, 因为刹那间就要看到因与果其实就是同样一个东西.

    佛祖貌似是至少达到了这个境界. 可能更高, 因为佛经说佛祖还有神通, 所以不光是悟了这么简单. 不过神通是什么呢?

    如果一个人, 可以通过一个类似pure functional programming一样的declaration, 或者给出一个定义, 就能实现这个东西的话, 那就有无穷的创造力了.

    貌似, 圣经上说上帝是这么干的, "要有光, 于是就有光了"... 估计是上帝是define了一下什么是光, 然后就有了.

    当然, 这里涉及到这个这个定义是否是”well-defined”, 所以并不是任何形式的世界都可以存在的, 系统要自洽. 那么所有well-defined的世界构成的集合就成了一个meta-world...

    关于自洽, rb曾经引用多次的Gödel's incompleteness theorems说到逻辑系统不能既自洽, 又完全. 如果这个定理对定义我们这个世界的axioms也使用的话... 如果到现在你还follow着rb的胡思乱想, 你应该知道rb想说什么.

     

    回到实用一点的角度, 人们提出软件的requirements是使用静态的, 描述性的语言, 而人们实现一个软件, 是使用imperative programming language, 这个不协调, 导致了需要程序员来提出a set of states和关于这些state的改变规律来实现所需要的requirements, 这个是一个很繁重的脑力活动, 所以pure functional programming才有这么多人推崇, 因为它也是静态的描述性的语言, 和用来写requirements的语言更相近, 编程就变成了简单的翻译了.

     

    ok, 再转换到yy的角度, 刚才说到为啥functional programming爽, 是因为静态的描述性的语言到imperative programming language的转换是由compiler完成的. 这说明在计算机世界, 通过计算, 是可以得到这种说要有光, 就有光的能力的. 或者, 我们可以用一些符号(语言, ex: 光), 来代表状态的转换(世界的变化, ex: 被照到的地方亮了). 倒, 一个很初级的概念...

    这就回答了crane的问题, 为啥rb这么执迷于"计算"...

     

    ps.ps. 佛祖的个人事迹教育大家, 吃斋念佛的修行到一定境界, 就不用买巨型计算机了, 也能随时知道明天大盘是跌还是涨... 倒, 又是废话...

    07 april

    学术...

    搜到了两个人的paper, 都是上世纪90年代的了:

    The evolution of memory and mental models using genetic programming (1996)

    http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.8956

    Turing Completeness in the Language of Genetic Programming with Indexed Memory

    http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.6105

    作者分别是Scott Brave和Astro Teller… rb对这两篇文章很感兴趣, 于是就想搜一下他们最近的文章, 幸好此两人都有wikipedia的page, 结果... 全都去开公司了...

    研究不比300年前了, 与其骗点grant, 还不如开个公司为economy做点贡献, 何况Sir Isaac Newton为了五斗米曾经还是英国造币局局长...

    02 april

    Project lala

    What was I thinking to write all these stuff down after the company party? Though it’s early morning of April 2, my internal clock still tells me it’s April 1. So it could be an April Fool’s day joke.

    Oh, right, it must be the alcohol. So, please expect grammar and spelling mistakes:

    Try to evolve intelligent behavior without simulating physical world, or adopting any theory about intelligence. If we get this to run, the real difference between the Creator and us is just the amount of computer power that we possess. (By the way, I like the movie the 13th floor, but not so much for Matrix)

    Reasons to choose Lisp over C++:
        1. Function eval() makes it possible to run DNA-program natively, instead of being interpreted. If choose C++, we need to implement an interpreter to run DNA-program. Considering the system is going to spend most of the time running the DNA-programs, performance should be improved significantly by running these code natively.
        2. By using eval(), DNA-programs share the same dynamic environment with the system that is managing these artificial lives, so they have the access to the data structures that holds them, making it possible for them to "interact" with the "world" (the system) or with peers. If do it in C++, we need to implement an interface between the interpreted code (DNA-programs) and the native code (the system, the "world"), which has to be flexible enough to support any possible interaction and is hard.

    How does the Lisp implementation of Artificial Life(ALife) differ from Genetic Programming(GP)?
        They both generate computer program randomly, and try to mimic the "natural selection": through a certain mechanism, select the individuals with higher fitness. They basically adopt the same approach to search the space given by the selection function/mechanism.
        The difference lies in how do they express the fitness, or the selection mechanism. GP doesn't have the concept of "energy" (number of instructions an individual is allowed to run before killed), it mechanically chooses candidates to reproduce (mutate, crossover, or identically copy) based on fitness, an explicitly computed value. In ALife, a individual with higher fitness are given more energy, given that living (execute the DNA-program that represents an individual itself) and reproduction consumes energy, it has a higher chance to reproduce and over time its offspring are going to dominate the population. The fitness is expressed implicitly
        ALife's approach has an advantage: it respects Occam's Razor. Because the longer the individual's DNA-program, the more energy it demands to live, given 2 individuals that are able to perform the same operation to get the energy reward, the one with shorter DNA-program wins the natural selection. (I would take a bet that this can avoid bloated code, but I'm waiting to see how it goes in reality)

    How to implement energy concept?
        Wrap each function in the Function Set with the piece of code that checks whether a dynamic variable *energy* is larger than zero. Abort if not, decrease it by one if yes.

    How to interrupt an individual's code and do a "context switch" back to the system?
        The idea is to use continuation: function call-with-current-continuation() in Scheme or similar libraries in Common Lisp. The "world" is similar to an Operating System, and an individual behaves like a process in this regard. There are enough experiences to do this in Scheme/Lisp community that we can leverage. But this means before executing a DNA-program, we need to insert a piece of code, which is much harder to do reliably compared with wrapping functions.
        A second thought is that: do we need this? We probably should simply let the DNA-program run until it dies out of energy or ends with some energy left and able to run next time. If we do this, we are sacrificing the "realtime-ness" of the "world" (but save resource from doing context switching), and meaningful peer interaction becomes close to impossible. But I don't worry about interaction for now.

    How to make sure every individual with enough energy reproduce?
        Run a reproduce routine at the end of each DNA-program.
        Or, don't do it. Let the stupid ones that forgot how to reproduce just die out. But this could be a huge waste of computing resource. However, one thing for sure, we'll start with a population that each one of it has the ability to reproduce. Evolving the ability to reproduce itself is a simulation of how lives appeared (maybe "evolve" is not the right word as it's a word for lives at the first place).

    Can we compare the length of the DNA-program to the length of DNA, i.e. only individual with the same length are considered the same species and are allowed to crossover?
        Yes, we can, but from another perspective, this is an emergence phenomenon: it stemmed from millions of years of evolution, and it is not the basis that enables the system.

    How to choose the other one to form the pair for crossover?
        I don't know. Maybe at random since this is a question the most intelligent species on the planet can't give an answer and typically just wing it themselves ;)

    02 maart

    崖山之后无中国

    越是看中国的历史, 越是觉得心酸啊. 从宋朝以后, 就是在走下坡路了. 宋之后, 土地是大了, 可是人却没有文化更没有骨气了.

    在未名空间上看到一篇帖子是比较洋务运动30年和改革开放30年的, rb曾经也想过比较清朝和本朝, 后来发现就算连本朝愤青最为自豪的GDP排名, 本朝还都没有超过清朝; 更不用说当年洋务运动造就的亚洲第一的海军了. 这样发现本来光辉的天朝形象居然和落后弱小的清朝是一个数量级的, 也就心灰意冷了. 本朝的优势当然也有, 第一是有了核武, 第二是本来的中华朝贡系统内的土地, 该独立都独立了, 该闹独立的闹独立了, 该归日本的归日本了, 该出问题的出问题了, 西方想开的工厂也开了, 列强们的利益都得到了保护, 所以没有必要再八国联军攻打本朝了.

    更核心问题不在于一个国家有多烂, 而在于人的态度. 富不过三代, 穷不过无幅. 如果一家人穷, 那长辈的不会硬要在孩子面前假装家里富的. 而国家现在的情况就是这样. 人现在面对改革开放30年, 就开始沾沾自喜了. 可是, 清末到现在, 100多年, 尽管改变的尝试有好几次, 但是这片土地的问题一个都没解决, 看似的变化与其感谢本国的改革, 不如感谢洋人的技术发明. 没有一次打算开启民智, 自由人的思想; 统治者的私心一直大于亿万人的物质和精神.

    rb最近发现, 谈到中国的改革, 都会要和"民主”两个字纠葛一番. 这个充分说明美国给全世界洗脑得彻底. 但实际上, 是否忘记了美国的另外一个口号: 自由.

    宋就是一个自由但是不民主的朝代, 但是它很牛b, 比自由并且民主的美国更牛b. 既然今不如古, 是不是还是回到帝制比较好, 至少贪腐的问题就从民与官的问题变成了君与臣的问题了. 对于民来说, 官肯定比君要可恶, 至今都是如此: 胡温的好感度大于整个政府的好感度.

    算了, rb还是去看科幻吧, 历史让人又痛心又想入非非... 还是科幻比较现实一点.

    28 februari

    Fight

    The two major regrets in my life were because I didn’t even fight for myself. It sounds like repeating the definition: should I have tried, they wouldn’t have been called regrets, but failures, at most, if things still weren’t going the way I was hoping. But the thing is that when one hates the result so much, the experience becomes the only thing left. When I look back, nothing. This is feeling, not thoughts. So like the sentences “I love/hate you”, I have to put it somewhere, even though it’s been said many times.

    Alright, 结束了沉重的话题, 换个technical话题: metaprogramming. Disclaimer: 以下很有可能又变成给lisp歌功颂德.

    C++最难懂的是什么? 在rb面试的过程中, 发现投行, hedge fund的人的答案是polymorphism... (当然也只有他们问具体的语言问题...) 固然, polymorphism并不是像function这种简单的概念, 一般人不通过学习, 凭空想不出来的, 但是如果一个号称上过任何一种OOP语言课程的人如果不掌握polymorphism, 那绝对是不能及格的.

    rb觉得最难懂的是C++的metaprogramming support: template. 不过, 这不能完全怪rb: 用code去写code是个很好的想法, 但是C++不是第一个支持metaprogramming的语言, 也不是支持得最好的一种语言. 因为metaprogramming本来可以更简单.

    C++ template最大的特点是, it's Turing complete, but also a complete different language from the C++ core language! 所以, 虽然你可以让C++ compiler在compile time计算任何计算机可以计算的东西, 但是你平时使用C++经验完全帮不了你写template的code. 另外, 在用template实现计算的时候, 你也无法使用C++ core language里面的feature, 极端的一个情况是: 你没有办法在template里面使用class... 当然现实应该不会发生, 如果template programming做到本身要用class了, rb极度怀疑这个是否是人类不再进化个几百万年能够完成的智力工作...

    C++ template难用的程度, 使得rb有理由相信, 至少80%的C++程序员没有写过production level的template code, rb being one of them.

    然而, lisp流的语言的metaprogramming support, 即lisp的macro, 本身就是lisp code. 这样, macro可以使用本身language的所有feature. 而且, 与C++相反, macro似乎每个lisper都多多少少会写.

    比较而言, C++的template好比是对语言本身的补丁: 发现需要这种功能了, 就定义一些新的construct来support, 然后就蔓延开来, 一发不可收拾, 最后新的construct本身变成一个Turing Complete的新语言了... 完全感觉不到有人在最开始, 有过经过精心设计的痕迹. 同样的criticism也适用于java, python等等...

    很遗憾, C++, java, python的流行程度, 代表了作为一个集体, 人们选择了次优. 作为一个集体, 人是多么的愚蠢. 或者, 以工具来区别自己和动物的人, 大多数时候, 用次优的工具就能解决问题. 这样说, 不知道是因为人太聪明了, 发明了太好的工具; 还是人太愚蠢了, 面对的问题都是杀鸡不用牛刀的问题.

    24 februari

    elegant

    好久不更新space了, 主要是一开始工作, 闲功夫yy的时间就少了, 所以也没什么好写的.

    最近喜欢上了lisp, 这篇blog的题目就是为了它的. rb还没有时间, 也暂时没有incentive去看Hashell或者ML, 所以也不好说这些functional programming language是否elegant, 但是lisp是至今唯一一种让rb能联想到elegant这个词的语言. 初中也不知道高中的时候曾经半懂不懂地看过一点AI的科普书籍, 所以接触过一点点scheme, 但是从来没写过一行代码, 当时固然觉得和C, pascal相当不同, 也没有能够有现在这样的感觉(固然, 直觉上, 当时的rb认为课外project: "数学暑假作业自动化课题"的之所以迟迟没有突破, 就是因为所有的尝试都是使用pascal或者basic, 而scheme显然更加promising; 当然, 这是初级的AI, 高级的AI应该是实现"语文暑假作业自动化"). 可能现在是被C++折磨得差不多了: 有种东西, 让你认识到天有多高, 不是用神舟x号送你上外太空, 而是让你看看马里亚纳海沟有多深; 好比从交大毕业了, 你就知道什么是美女了: 任意一个小学, 初中和高中的女同学; 如果你不幸有一名或多名小学, 初中或者高中的女同学进入交大, 那只有一句话了: I'm sorry. 当然, rb写这句话的时候意识到自己也是这几百万分之一当中的一个, 但是好歹我们这里只限定高考范围, 这样就把lily排除了. 哎, 讽刺交大的男女比例总是给rb带来写作的灵感. 从lisp又写到女人了... 毕竟这两者是有很大的共同点di.

    对于喜欢python的人: python在某种意义上可以认为是lisp在传统语法框架下面的重生. 世界上并不缺乏赞美lisp的文章, rb在把lisp比喻做美女之后, 觉得没有必要再多写一篇了, 就此打住.

    生活上, rb因为还不会开车, 所以卑鄙无奈, 只有租了一个又贵又大离公司非常近的apartment; 好处是厨房还算大, rb能够自己做饭了; 坏处是太偏僻了, 除了走路15min能到的老四川的某分店以外, 也只有自己做饭了.

    最后展开一下宗教话题: 公司里emacs的势力很强大, rb也因为lisp的slime环境而接触了一下emacs, 当然是在用vimpulse.el的情况下; rb的感觉是, 正如很多vim的拥护者说的一样, emacs is a great OS, but lacks a decent editor. 要是能在emacs里面用完全的vim key bindings就好了; 或者我们应该反思一下, operating system是不是本来就应该做的像emacs一样有一切都有统一的接口, 一切都有足够的flexibility: 呼唤曾经那个lisp machine的黄金时代, 那个unix被贬得比现在的vista还烂的时代.
    31 december

    加勒比归来

    27号到了波多黎各, 从St. Thomas飞到波多黎各首府San Juan的飞机晚点, 又加上我们租的车出了问题, 本来在San Juan玩热带雨林的计划就取消了, 直接坐渡轮到一个叫Vieques的小岛上, 住在一个叫Seagate的家庭旅店, 女主人叫Penny, 人十分好, 服务非常周到. 不亏是某履行Review网上游客评价前几名的家庭旅馆. 我们四人住在一个2bedrooms, 还带客厅和厨房的海边cottage里, 超乎了rb的预期.

    晚上到一个叫做mosquito bay, 是一个biobay, 水里面有一种会发光的微生物, 一有搅动就会发出类似萤火虫的光, 当晚没有月亮, 效果非常明显.

    28号早上, 由于家庭旅馆实在不错, 本来想回到San Juan继续玩世界上最大的射电望远镜和溶洞的计划也取消了, 直接在Vieques这个小岛上继续过半天. crane和fjpq去骑马了, rb和mp去一个西班牙人当年留下的古堡玩了.

    中午坐渡轮然后taxi回到San Juan, 一路上发觉这个城市太像中国了, 城区内建筑风格和美国本土差别非常大而且房子都很新, 不知道国内一些海滨城市是不是也真的是这样.

    等从hotel出来再吃了晚饭, 已经快落日了, 四个人步行几公里, 走到San Juan的古堡已经是晚上了. 据说是加勒比也不是是整个美洲遗留下来的最早的殖民时代的古堡, 其中的灯塔还在使用. 当然这些建筑放到中国, 就是在太年轻了. anyway, 建在海边悬崖上, 岸上是一大片草坪, 还是挺壮观的. 总的来说, 这次履行还是自然风景旅游, 就这小岛的历史, 也没多少可以说. 题外话, 看到外面的世界越多, 越发觉古中国的牛x, 越加觉得中华文化的独特.

    29日坐着只能乘10个人的螺旋桨小飞机从San Juan飞回St. Thomas, 然后在26号去过的名为Victor's New Hideout在山顶上的饭店吃, 这店去两次也不算过分. 然后搭着飞机转道New York飞回Boston, 落地的时候已是晚上9点半.

    想起凯头说的, 只有当眼前突然有一幅美得让你痴呆的景色才会顿然爱上旅行. 另外, 岛上的人, 特别是生在美国本土却跑来岛上定居的人, 终于见识了原来这个世界上真的有人和rb我自己以完全不同的方式生活着.

    27 december

    毕业旅行

    时间紧迫, 简记:

    参与人物: rb本人, mp, crane, fjpq

    2008年12月23日, 北纬17°45′, 西经64°45′飞抵美属处女岛首都(首府?)St. Thomas...

    12月24日, ferry至St. John, 趁售票员还没上班之前溜进号称全世界排名前十的Trunk bay, 初次尝试snorkeling... 白沙滩名不虚传. 然后hiking到不要收钱的Leinster Bay继续snorkel, 看海龟... 傍晚赶到Cinnomon Bay露营, X'mas Eve在帐篷前DIY晚餐...

    12月25日, 懒觉起来, 到Honeymoon Bay仍然snorkeling... 虽然没有世界前十的名分, 但是rb认为相当不错. 晚上ferry回到St. Thomas, 晚饭在某local饭店海鲜... 分量太小了, 没吃饱...

    12月26日, 游玩了St. Thomas的Magen's Bay和Coki Bay, 节目仍然是snorkeling和晒太阳, 最终晒伤... 晚饭在某山头local饭店, 这次物美价廉. 在处女群岛的游程全部结束, 明天将赴Puerto Rico继续烧钱...

     
    *