阿飞 的个人资料N-Life照片日志列表 工具 帮助

Lee 阿飞

穷则独善其身 达则兼济天下

/.资讯

正在加载...正在加载...

N-Life

新生活
2006/10/9

我的第N重性格

其实,我想说,每个人都有N重性格,这个道理是简单的,因为你至少有你的父亲和母亲,你至少得从他们那边继承一些特性过来,当然,这个继承是多重继承。不只是你的父亲母亲,你还会受到不少影响,比如你搞IT,那么你也会从IT这类人里继承一些东西过来。
扯远了,其实我想说的是我的第N重性格。
我这个人,我可以慷慨到极致,也可以吝啬到极点,我可以随时对某样东西充满激情,也可以顷之对它消极到极点。
我是个复杂的个体,也是个简单的个体。复杂到有多重的性格,简单到当我的外在被一层一层剥下来,我只剩下最原始的我。我只是一个有点梦想有点想法有点IDEA有点懒的一个人。这个世界蕴含的复杂性和简单性也许就在于世界也是具有着多重的性格,多重的命运。
我喜欢冒险的生活,我喜欢安逸的环境,我向往于闹事之中,也向往隐居深山。这一些其实都源自自己的多重性格。
白天可以在办公室里一本正经,晚上却可以在疯狂的追逐尽情的放纵。  
其实这世界是如此的压抑,以至于我们如果没有多重的性格,这生活岂不很无趣。
 我想我已坦白,这就是我,那亲爱的朋友,你呢?
2006/4/16

关于数学

在《数学:确定性的丧失》,作者在第十三章数学的孤立谈到纯粹数学和应用数学的一场有趣的论战。里面提及数学为了抽象而抽象,因为解决现实问题的无能而只能为了数学而数学。数学越来越脱离现实,数学甚至被孤立。
纯粹数学家们这样反驳:傅立叶(实用派者)确实认为数学的主要目标是公众的利益和对自然现象的解释;但像他这样的科学家应该知道自然科学的唯一目标是人类精神之荣耀,而且依此为据,数论问题和一个关于行星系的问题同等重要。(雅可比)
 
大体上来讲,我是个实用主义者,我认为数学是工具。计算机也是工具,数学是更基础的工具。
马克思说,人和动物的最大区别就是人会使用工具。而我说,牛人和非牛人的最大区别是牛人更会使用工具。这里使用工具的意思延拓至借助外力。当然这不包括大师,大师是创造工具。
所以在这点上我偏向应用数学家们。
 
相对来讲,应用数学家更受重视。冯·诺依曼这个伟大的数学家,物理学家,计算机科学家,经济学家在哪个领域被提及最多呢?在第一台计算机ENIAC的设计中。
 
烦琐的论证是纯粹数学家干的事。在这点上我佩服傅立叶。
 
基于以上的想法,所以在数学里最重要的证明中我经常偷点懒,比如如果证明某个东西在几何或者在其他方面上是显然的,或者在我直觉上认为自明的,我通常很少花精力研究它。因为我觉得显然和自明实在也是很有效的一个工具。
 
但我竟然还对纯理论的东西感兴趣。即使他看起来似乎一点价值都没有。
 
这大抵是因为我懒,和因为上面所说的因为人类精神的荣耀。
 
在我看来,通晓递归论,lambda演算等纯计算理论对理解计算机有极大的帮助。与其苦思冥想于茫茫黑夜中辗转反侧不得求解,不如于书中探寻大师的成果。理论指导是最省事的方法。世界是无尽变化,我想只有纯粹没有太多背景的理论才可以一劳永逸,而一劳永逸是懒人追求的目标。
 
 
 
PS:以上是我去年看《数学:确定性的丧失》写的。贴出来一是表明自己身份,我是学数学的。二是整理整理东西,估计以后工作后不大会去看这些东西了。
2006/4/12

主题作者的错误

  各位想想是如何关闭窗口的。
  相信各位最大化或还原都是双击标题栏。而关闭窗口呢?
  我是这样关闭窗口的:如果是最大化时,则鼠标飞速甩到右上角,然后点击,OK,关掉了,因为Windows关闭按钮的hotspot(热点)则包括了最右上角,即包括最右上角的一个像素。
  而如果鼠标慢慢移动到关闭按钮,难免要分出些精力去看看是否有点中关闭按钮,这样,操作速度就慢很多了,须知屏幕上最容易到达的地方就是屏幕边缘四个顶点。
  如果处在还原状态窗口时,则有时用任务栏关闭,通过关闭按钮直接关闭,有时候甚至先最大化之后关闭。
  Microsoft的所有主题都有这个特性,这无疑提高了操作速度,而有些主题却弱智的很,hotsopt竟然不在最右上角。如Piosx,这是多么愚蠢的设计啊。
  特别的,Linux下的很多主题都是如此,在KDE的自带主题中几乎只有如KSTEP等少数几个主题没有出现这个问题,其他的主题都有这个问题。

  主题作者的错误2是任务栏。有的主题把任务栏抬高了很多,这样子,鼠标要通过任务栏点选窗口的时候,不得不上移一点,而如果设计成任务栏的hotspot包括最下面的。则点选时则可以只查看标题栏鼠标大概位置,这样切换窗口会快很多。
  Linux桌面有一个优点就是Linux桌面有极大的可配置性,在windows下不知各位是如何最小化桌面的,是鼠标慢慢移到任务栏的显示桌面按钮按住Windows徽标键+D。在Linux下,无论是KDE或者是Gnome都可以调整显示桌面按钮,使之置于屏幕最右下角,这样子最小化所有窗口时就像关闭一个窗口一样方便了。
  
(主题指桌面主题,本文首发于先锋
2006/3/23

现在的大学教育不就是一种消费吗?

  现在的大学教育不就是一种消费吗?
 
  在一个贫困家庭中父母亲省吃俭用却不能供孩子上大学这样的例子在农村真是举不胜举。大学教育对中国大多数家庭来说是一个大消费。
 
  并且这种消费不止体现在大学门槛上面,还体现在大学生活上面。

  有一次我竟然对一个人说:考入大学吧,好好的享受大学生活吧。想不到在我的观念中,大学竟只是用来享受的,大学是社会的度假村。大学生活就像在消费一般。

  或许这样说偏激了点,生活原本就要追求质量。
  但是终于为自己碌碌无为而羞耻。但之后又如何呢?也总是重归沉默,重归堕落。
  我的大学生活就像在消费。
 
  但是,现在的问题是,大学教育本来不该是一种消费却成为了一种消费。而按照GCD的话说,大学教育是为了培养建设社会主义的高级人才的。本着人人平等的原则,大学教育不该让老百姓消费不起的。
  大学教育既然成了一种消费,从而,教育成为了一个产业也就合理了。
 
  一想到这件事我就害怕,如果有一天教育只有有钱人才能消费的起,老百姓已消费不起甚至不敢消费这个基本的受教育的权利,那这个世界将是何等的世界。
2006/1/17

Why Learning Lisp

我也加入了鼓吹Lisp一族当中了。
 
大概学数学的都应该学习一下Lisp语言,用来作为进入计算机科学殿堂的引子。

Lisp更多的是作为一种科学家使用的语言,而不是技术的语言。这或许是他在工业中使用相对较少的原因之一。
 
它是一种追求数学美的人使用的语言。它有类似于数学公理的框架。它由若干个最简单的操作公理构成整个体系,并且简单优雅的实现了自举。当然,根据哥德尔定理,这个体系必有不完全性,其所不能的便是不可计算的,或者说非lambda可定义函数,例如图灵停机问题。
 
Lisp有简单高效的数据结构。它可以非常好的处理符号数据。体现了计算机在数值计算之外的能力。
 
古怪简单的语法,产生强大灵活的能力。在Lisp里,我们几乎不需要进行词法分析。我们工作在抽象语法树上。Lisp宏提供了可怕强大能力。
 
函数式的编程,无赋值的程序设计,更容易验证正确性的程序。一等公民的函数产生高阶函数强大灵活的抽象能力。
 
lambda演算机和图灵机的等价性在各自的典型代表Lisp和C中彻底的体现出来了。
 
它是Python,Javascript等语言的基础之一。将有助于深入了解Python和Javascript。
 
学习它将会带来了更宽广的计算机世界。我们将会知道可以实现比线程机制更为强大的continuous,这个不一样的函数调用机制,闭包,自动的存储管理,延迟计算,尾递归的自动优化。我们甚至会知道lambda演算,可计算理论,甚至PI演算,prolog式的逻辑程序设计。
 
 
2005/12/31

改变 碎片

我终于看到了雪,却终于没登上泰山。
好多诺言没有实现,生活却依旧得过。
回来前那一晚,我终于酩酊大醉。


我开始下决心学习计算机,
数学渐渐开始离我而去。


逍遥爱情来了又去,矛盾开始为爱情而矛盾
我却依然单身一人。

我的她再可爱
只能爱着我的未来
我忘不了你
你却浑然不觉


五虚终于决定考研,考会计!
或许真的不适合数学。
是教育的失败或是人生的失败呢?


2005年我莫名其妙竟成了博客,Web换上新装现在已经是2.0。
BBS开始实名,Wiki再次被封,网站开始备案。
网站越来越多,技术越来越好,网络却越来越无聊。

世界不断的改变改变
我的心思却不愿离开从前
时间不停的走远走远
我的记忆却停在
却停在那2005年


中国风开始流行,英文歌依然还是RAP
只有流行没有音乐
或许依然没变

十一月里我依然把专辑反反复复听了四五十遍
却似乎却少了份感动

我没成为理想中的那个人真的很抱歉
我想我上辈子是欠人家钱下辈子被人家欠
这辈子最好努力一点


天才就怕不够天才
坏又不够坏
天天都想离开
却不知到那里才能换骨脱胎

在今年大概是在讲王垠

 

非典幸亏没危及到这里,禽流感却悄悄来临。
白血病和过劳死发生在眼前,我才感慨生命可叹。

学生生涯终于捱到最后一个段落,我终于找到工作。
属于我们的精彩,或许明年将会开始。


始于飞行者开头终于战争之王,
或许我会越来越狂。

我终于没有实名,我终于开始博客,
我终于开始写程序,我终于又立下新的目标。

世界不停地改变,改变。唯一不变的,就是改变。

链接:改变1995

2005/12/14

程序的自输出

近来偶尔翻看mit的《计算理论导引》,
在讲递归时有提到,程序自输出自己的方法。
其中有一种方法如下:

请输出以下语句两遍,并将第二个句子加上引号。
“请输出以下语句两遍,并将第二个句子加上引号。”
 
闲来无事,用C语言实现之。
思路类似上面方法。
 
char* s="请输出上面语句两遍,并作一些处理。"
请输出上面语句两遍,并作一些处理。

由于在c语言字符串内不能直接写引号。故所有输出该改为putchar输出。
程序代码如下:

char s="int main(){putchar(99);putchar(104);putchar(97);putchar(114);putchar(42);putchar(32);putchar(115);putchar(61);putchar(34);printf(s);putchar(34);putchar(59);putchar(10);printf(s);putchar(10);return 0;}";

int main(){putchar(99);putchar(104);putchar(97);putchar(114);putchar(42);putchar(32);putchar(115);putchar(61);putchar(34);printf(s);putchar(34);putchar(59);putchar(10);printf(s);putchar(10);return 0;}


也可以用define宏定义实现。
在Java也可以类似实现.
 
2000年的国际混乱C程序大赛有这样一个程序:
            #define/**/X
          char*d="X0[!4cM,!"
           "4cK`*!4cJc(!4cHg&!4c$j"
         "8f'!&~]9e)!'|:d+!)rAc-!*m*"
       ":d/!4c(b4e0!1r2e2!/t0e4!-y-c6!"
      "+|,c6!)f$b(h*c6!(d'b(i)d5!(b*a'`&c"
      ")c5!'b+`&b'c)c4!&b-_$c'd*c3!&a.h'd+"
     "d1!%a/g'e+e0!%b-g(d.d/!&c*h'd1d-!(d%g)"
    "d4d+!*l,d7d)!,h-d;c'!.b0c>d%!A`Dc$![7)35E"
       "!'1cA,,!2kE`*!-s@d(!(k(f//g&!)f.e5'f(!+a+)"
       "f%2g*!?f5f,!=f-*e/!<d6e1!9e0'f3!6f)-g5!4d*b"
       "+e6!0f%k)d7!+~^'c7!)z/d-+!'n%a0(d5!%c1a+/d4"
       "!2)c9e2!9b;e1!8b>e/!     7cAd-!5fAe+!7fBe(!"
      "8hBd&!:iAd$![7S,Q0!1     bF 7!1b?'_6!1c,8b4"
      "!2b*a,*d3!2n4f2!${4    f.      '!%y4e5!&f%"
     "d-^-d7!4c+b)d9!4c-a    'd        :!/i('`&d"
     ";!+l'a+d<!)l*b(d=!'   m-        a  &d>!&d'"
    "`0_&c?!$dAc@!$cBc@!$   b         <    ^&d$`"
    ":!$d9_&l++^$!%f3a'    n1        _       $ !&"
   "f/c(o/_%!(f+c)q*c     %!         *       f &d+"
   "f$s&!-n,d)n(!0i-     c-         k)       !  3d"
   "/b0h*!H`7a,![7*     i]          5        4   71"
  "[=ohr&o*t*q*`*d      *v         *r         ;  02"
  "7*~=h./}tcrsth      &t          :          r   9b"
 "].,b-725-.t--//      #r         [           <   t8-"
 "752793?  <.~;b      ].t--+r     /           #    53"
 "7-r[/9~X  .v90      <6/<.v;-52/={            k   goh"
 "./}q;   u  vto     hr  `.i*$engt$            $    ,b"
 ";$/     =t ;v;     6     =`it.`;7=`          :    ,b-"
 "725    = / o`.    .d       ;b]`--[/+       55/     }o"
 "`.d   :   - ?5    /           }o`.'     v/i]q      - "
 "-[;   5  2  =`  it            .        o;53-       . "
 "v96   <7 /      =o            :            d        =o"
 "--/i  ]q--      [;           h.            /        = "
 "i]q--[  ;v      9h           ./            <        - "
 "52={cj   u      c&`          i   t       . o        ; "
 "?4=o:d=         o--          /  i        ]q         - "
 "-[;54={  cj     uc&          i]q          -          -"
 "[;76=i]q[;6     =vsr        u.i           /          ={"
 "=),BihY_gha     ,)\0        "             ,          o [
  3217];int i,   r,w,f        ,              b        ,x ,
  p;n(){return   r  <X        X               X       X  X
  768?d[X(143+   X  r++       +               *d      )  %
   768]:r>2659   ?  59:       (                x      =  d
   [(r++-768)%   X  947      +             768]       ) ?
   x^(p?6:0):(p  =   34      X            X           X )
   ;}s(){for(x=  n   ();     (           x^           ( p
  ?6:0))==32;x=  n    ()     )   ;return x            ; }
  void/**/main X      ()     {           r           =  p
  =0;w=sprintf  (X     X     X         X X           X o
  ,"char*d=");  for          (    f=1;f <            * d
  +143;)if(33-(  b=d         [      f++ X           ]  )
  ){if(b<93){if   X(!        p          )             o
   [w++]=34;for    X(i       =         35             +
    (p?0:1);i<b;    i++      )         o
    [w++]=s();o[     w++               ]
     =p?s():34;}     else              X
       {for(i=92;     i<b;            i
    ++)o[w++]=     32;}           }
         else o     [w++          ]
             =10;o        [
               w]=0      ;
                puts(o);}
    
编译这段代码,运行
将输出重定向到一个*.c文件
然后编译这个*.c文件,再运行,再重定向…………
如此往复三次,构成一循环。
2005/11/22

google的blog search

  在搜索论坛方面一直是搜索引擎的弱势。一是由于论坛的实时性,二是由于论坛的不统一性,各个论坛结构数据不大相同。

  由于普通网页是非结构化的。由于非结构化性,搜索难度增大了很多,搜索的东西一般只能简单的依据网页文字,而网页文字缺乏结构描述,语意不明确,搜索效果差强人意。
 
  而在搜索blog则可以简单的进行,这一切是由于RSS,tag的引入。RSS是个xml文件,正是这个xml把blog结构化起来了。于是搜索方便了,不再受各种混乱数据的干扰了,而blog的tag技术则使语意更加明确了。如此,搜索的准确性无疑会大大增加。
 
  google blog search更新速度很快的,发表一篇文章几分钟之后便可以搜索得到了。这是它的很大的一个特点。通常google的网页搜索更新较慢,需要几天时间甚至更长,视各个网站而定。这样子找最新东西便不能依靠搜索引擎。而通过搜索Blog则可以很快的搜索到最新的结果。从这点也可以看出blog的潜力巨大。
 
  另外blog一般都是由个人维护的,信息的有用性则会有较大提高。
 
  google blog serach的缺点是搜索范围较为狭窄,很多国内的blog站点都没有收录进搜索范围。
 
2005/11/21

威廉博士的威廉古堡

威廉博士说:我的家是全世界最美丽的地方。

因为,厦门是全世界最美丽的城市。厦门大学是厦门最美丽的地方,而我的家是厦门大学最美丽的地方。
 
其间还有一问:你为什么选择中国定居
威廉博士说:Because chinese food is too expensive.
2005/11/20

Why interface

想一想为什么要用接口,找几个理由
 
1,使用接口抽象,使用模式,更好的复用,更扁平化的设计,实现面向接口编程。
 
2,替代C的h文件,虽说可以通过类直接发布,但接口功能更抽象,可以封装的更好。
 
3,用于webservice的功能以向外发布。
 
4,测试用mock,或者说更容易实现动态代理。
 
5, 部分代替多重继承。
 
以后有什么理由继续补充。。。
 
第 1 张,共 21 张