alienbat's profile编程 汽车 高清gadgetsPhotosBlogLists Tools Help

Blog


    September 14

    本帖强制压低技术含量

    本来以为我的blog没人看,其实不然,许多人都偷看的,但都不留言,强逼之,则灌两下水。于是我醒悟过来了,blog不能技术含量过高,要走大众路线。

    首先谈谈Jay的新专辑《依然范特西》。下了APE之后我在Linux之下建个目录存放,一时想不出目录起个什么名字好。这个大家知道的,类Unix操作系统的目录命名规范是“XXXX”(注:强制压低技术含量,此处删去正则表达式一个),所以不好用中文,于是我就随手翻了个still_fantasy,后来知道唱片英文名字果然是Still Fantasy。我的英文水平现在实在是太高了。

    唱片评论,《夜的第七章》应该算是主打,与《夜曲》较之《十一月的肖邦》相同。其他固然好听,但风格则少有变化。第三首《本草纲目》则略显老套,同过去的专辑中的摇滚风格曲目类似,有点算是应景之作。当然,口齿含混不清仍是依然,一般来讲我是懒得去看歌词的,所以听腻了好几张专辑,很多歌还不知道什么意思。

    论文方面,则需大改。比方讲,introduction开头的一大段关于人工智能和现代艺术的哲学辨析...(注:强制压制技术含量,屏蔽)最好去掉,留到下个学期再写,毕竟这是一篇report,无须如此大动干戈。程序写到现在这个revision 8也该收手了,接下来该好好在纸面上研究正式的算法问题。

    最近我都不太上Windows了,除了玩游戏和聊QQ。现在的Linux桌面版本已经非常进步,可以稍微与windows抢抢桌面市场。不知从哪个时候Linux尤其是Ubuntu开始大热的(似乎是我装SuSE的时候?)。不过也就在半年前,我还在Fedora Core上搞无线网卡驱动,最后无奈的把整个Linux分区格掉。而现在,SuSE Linux已经集成ndiswrapper,预装自动读取NTFS,相当的完善了。甚至还预装wine,虽然很不完善,但跑下MSPaint还是可以的。对了现在Fedora Core已经没落,基本上就是土的代名词,默认蓝色的壁纸像文革时代农民身上的衣服,倒是SuSE和Ubuntu的壁纸很有vista的味道。

    还有啥,想想。

    对了,推荐一部木偶动画,《The Corpse Bride》,不是恐怖片。
    September 07

    Finally Back Online !!!

    终于可以上网了!
    自从那帮不交房租又养狗的flatmate触犯合同后被轰出租借的house之后,受连累的我就没法上网了。虽然本人反应快找好下家不至于流落街头,不过网络却是断了;感谢澳大利亚人民慢吞吞的工作情调,宽带两个礼拜以后才安装完毕 - today.

    不能上网真难受,手脚像是被缚住一样,更何况这段时间正要写论文和调试配套的程序。上网查个Ruby/Tk的API,没得;SVN没法用,只好擎出古老的移动硬盘;干啥事都要往大学机房跑;上次看文档看到一半被ANU的webcache服务器封了——原因是超过了80MB的流量限制。只好等第二天可怜10MB的配给。MSN就不用说了,根本不可能,MSN web messenger除了IE啥都不支持,而大学里的电脑上浏览器除了IE没有其他都有(Safari,Firefox,Mozilla...)

    对了,基于本space的技术炫耀本质,透露一下本人极度炫耀的硕士预备论文的题目中文版:

    《虚拟基因化的新造型主义: 使用细菌分裂算法生成蒙特里安风格的画作》

    程序需要大量使用2D绘图API,Java2D本是最好选择,但我实在是怕了用Java写Swing/Java2D代码,风格罗嗦得要命,简直像个打字员。本来想用Ruby的可以新鲜一把,但这几天时间紧任务重,没空学Ruby/Tk,而JRuby又不争气不能与J2SE互动,外加上大学里的计算机除了Chiefly的IMac都没有安装ruby环境,故而只能折衷选择不那么炫的JPython + J2SE。Python用来快速塑造程序原型还真是不错。Google Code怎么说来着的?Release early, release often.

    Anyway,作为一篇学院派的论文,程序实现方面的问题毕竟是枝节。

    恩恩,反正能上网,就是好来就是好。

    ---
    P.S对了,来本blog学习的程序员不能白来一趟。帖个Python小tip:

    ----
    用过Ruby才知道Python其实也很死板。别的不说,Python的函数的variable scope只有两个:本地和全局,这几乎就废掉了嵌套函数和匿名函数的一半功能。比方讲:

    def method_outer():
    value = 1
    (lambda x: x + value)(2)

    没法跑。因为lambda无法访问method_outer的本地变量空间,认不出value。如果嵌套函数无法识别enclosing函数的变量,我要嵌套做虾米?

    一个折衷的方法就是把需要的变量加入函数的参数:

    def method_outer():
    value = 1
    (lambda x, y: x+y)(2, value)

    但如果要使用那些对函数参数个数有要求的高阶函数(这也是匿名函数的主要功能),比如map, filter, 你却凭空多出来一个参数,那就对不起了。

    所以再折衷,使用参数默认值:

    def method_outer():
    value = 1
    map(lambda x, y = value: x+y, [1, 2, 3])

    方可。