Mar 31

    首先对不起古汉MM(就是那个经常来留言的燕MM),你看不了我Blog了(她没有教育网直通车,上不了国际网)。不过这样也好,以后可以放肆地八卦古汉MM了,过几天心情好时或许会发一下她的照片。然后呢,在此感谢dd牛,他非常辛苦地组织了这次国外服务器合租活动,并且搞得相当专业。
    忙了好几天,收获不小。发现WordPress确实很科学,又见识了牛B的php和ssh。
    搬家的过程很辛苦。PJBlog转WordPress耗了我两天两夜的时间。先尝试用网上一个流行的asp程序输出XML,发现那个asp程序的几个严重问题,修改了十几二十次后才满意。这个asp程序不能处理Tag,于是开始用EmEditor编辑一系列的正则表达式和宏,把日志的Tag插入到生成的XML里。导入到WordPress后还出了很多问题,比如刚才就发现了有一大半Tag的名字是乱的,操作了一下数据库,现在基本上好了。
    做新主题花的时间最久。我想找一个和原来风格接近的主题,找了半天都没找到合适的。很多很好看的主题都太窄了,而我的Blog主内容至少是720像素的(早知道当初不要搞这么宽)。后来想到自己来修改主题,结果几乎完全重写了一遍css,现在看来也算满意。弄Blog的顶部图片弄了很久,用N82对同一组静物前前后后照了20多张照片,然后挑过去挑过来的,和亲爱的某MM讨论了好半天,总算也满意了。
    以后我还会慢慢完善,把个人档案、留言板、友情链接、“禁止潜水”、首页小游戏什么的都慢慢加上去。RSS地址没有任何变化,还是那个feed.asp,大家不用改了。
    大家帮忙检查一下,看新站还有什么问题。特别帮忙检查一下,Tag是不是能对上号,有没有丢日志丢留言,css有啥不完美的地方,IE下访问是否有问题,旧的asp链接是否仍然有效。然后呢,期待大家对新站给一点评价,提点意见或者建议。
    原来的空间可以用这个地址访问:http://matrix67.gd181.365dns.net

Mar 28

    我承认我确实N久没更新了,整天写那个该死的现文史论文。昨天终于写完了,休息一下,今天又来更新~~
    中文系里的课程也有比较科学的,我觉得现代汉语是所有中文系必修课程中最科学的课。上学期讲完语音后,这学期进入了语法部分。我一直想写一点与语言学相关的东西,骗些理科小MM来这个专业玩。这里先说一些最近几次课上比较有趣的东西,一些比较系统的汉语语言学小知识留着以后再说吧。下次课我们可能还会学到一些类似的东西,到时候我接着在这儿更新。
    下面是一些有趣的题目,它们可以从另一个角度来考验你的思维能力。先不忙着看答案,看你能想出多少来。

1. 找一个动词,它前面不能加“不”
2. 找一个动词,它前面不能加“没”
3. 找一个动词,它前面既不能加“不”,也不能加“没”
4. 找一个动词,它后面不能加助词“着”、“了”、“过”
5. 找一个动词,它前面可以直接加“很”来修饰
6. 找一个形容词,它前面不能加“不”
7. 找一个形容词,它前面不能加“很”
8. 找一个形容词,它不能直接用作定语
9. 找一个形容词,它不能重叠使用(如“高高的”、“高高兴兴的”)
10. 找一个名词,它前面不能加数量词来修饰
11. 找一个名词,它不能用作主语
12. 找一个名词,它不能用作宾语
13. 找一个名词,它后面可以加上“地”用作状语
14. 找一个名词,它可以直接用作状语(不加“地”)
查看更多 »

Mar 24

    以色列数学家Avraham Trakhtman最近解决了一个非常有名的数学难题——公路涂色问题(Road Coloring Problem)。这是图论中的一个著名猜想,最早由Benjamin Weiss和Roy Adler在1970年提出。63岁的Avraham用铅笔草草写下了仅仅8页的证明过程,出人意料地解决了这个问题。该问题的解决对道路规划等很多现实社会中的问题都有帮助。
    给定一个有向图G(即图中的每一条边都单向地从某个顶点指向另一个顶点),其中每一个点的出度(向外走的边的条数)都为k。假设我们用k种颜色对图G中的所有边进行染色,使得每个点的k条出边的颜色都不相同,并且对于每一个顶点v,总存在一个颜色序列,使得不管你从哪里出发,按照这个颜色序列不断走下去,最终都能到达顶点v。我们称满足这些条件的涂色方案叫做一个同步着色(synchronizing coloring)。Benjamin Weiss和Roy Adler猜想,如果一个有向图是强连通的(任两点间都可互相到达)并且是非周期性的(所有环的长度的最大公约数为1),则该图一定存在同步着色方案。例如,右面这个图就是一个合法的同步着色方案,每个点的两条出边恰好一红一蓝。我们可以找几个点简单验证一下:不管你在哪里,按“蓝-红-红”走最终总会到那个黄色的点;类似地,不断按“蓝-蓝-红”走,不管出发点在哪里你最后总会走到绿色的点。

    这个猜想的完整证明过程可以在这篇论文里找到。论文只有几页,估计我应该能看懂,看懂了的话我会更新出来的。

查看更多:来源1  来源2

Mar 23

    今天又学到一个牛B东西。你相信吗?正则表达式竟然可以用来判定素数,甚至可以用来解方程!下面这段正则表达式可以用来判断,一个字符串的长度是否为合数(假设这个字符串里全是字符'1'):
^1?$|^(11+?)\1+$
    不信的话,把下面这段代码复制到你浏览器的地址栏里运行一下,True表示这个数为合数,False表示这个数为素数:

javascript:var st="1";for(var i=2;i<100;i++)document.write(i," ",/^1?$|^(11+?)\1+$/.test(st=st+"1"),"<br/>");document.close();

    其实,它的原理很简单。加号表示匹配一次或多次(加上一个问号表示非贪婪模式),\1表示引用括号里的内容,头尾的^和$则避免了部分匹配的情况。这样,^(11+?)相当于枚举除数大小,而\1+$则用于检验整个字符串是否能按此大小恰好分完。如果除得尽,则匹配成功,字符串长度为合数。另外,前面的^1?$只是为了处理n=0或n=1时的特殊情况,而符号|则表示“或者”的意思。

    采用同样的方法,我们还可以想出正则表达式其它一些类似的用途。比如,我们可以用这个正则表达式检查方程11x + 2y + 5z = 115是否有自然数解:
^(.*)\1{10}(.*)\2{1}(.*)\3{4}$
    正则表达式中,{x}表示和前面的内容匹配x次。只要用这个表达式去检测一个有115个字符的字符串,匹配成功则表示有自然数解。它的原理和上面的基本一样,我就不再重复了。

参考资料:http://blog.stevenlevithan.com/archives/algebra-with-regexes

Mar 21

    很久没有更新和信息学有关的东西了。今天和大家分享一个非常有趣的题目,我已经很久没看见如此精彩有趣的题目了。为了引入这个问题,我们先来介绍一个假想的编程语言QCPL。就像LISP一样,它是一个基于函数的语言:没有变量,没有for循环,一切东西都是用函数来表示的。另外,就像FORTRAN一样,QCPL语言不支持递归,也就是说一个函数不能递归地调用自己。QCPL的另一个有趣的特点是,所有的函数都只能返回一个Boolean值。比如说,下面这个函数的作用就是判断x+2和y+2的乘积是否等于z:
MULT_PLUS_TWO(x,y,z): (x+2)*(y+2)=z

    QCPL也有逻辑运算符。事实上,QCPL里的合法运算符一共只有8个,其中6个分别如下:

运算符 |  作用  |     输入      |     输出
-------+--------+---------------+---------------
  +    |  相加  |  两个自然数   |  一个自然数
  *    |  相乘  |  两个自然数   |  一个自然数
  =    |  等于  |  两个自然数   | 一个Boolean值
  &    | 逻辑和 | 两个Boolean值 | 一个Boolean值
  |    | 逻辑或 | 两个Boolean值 | 一个Boolean值
  !    | 逻辑非 | 一个Boolean值 | 一个Boolean值


    另外两个运算符就要重点介绍了。这是QCPL语言真正牛B的地方——它是专门为量子计算机设计的!你可以让这台计算机平行地穷尽完某些变量所有可能的取值,这一切仅仅在一瞬间内就可以完成。这两个特殊的运算符(以后我们管它们叫做“定量运算符”)就是专门用来干这件牛B事的:"Ex"是“存在性定量运算符”,表示让计算机找出是否存在一个满足表达式的自然数x;"Ax"是“通用性定量运算符”,用于询问计算机该表达式是否对所有的自然数x均成立。比如,运用定量运算符,我们可以立即写出素数/合数判断函数:
COMPOSITE(n): Ex,Ey,MULT_PLUS_TWO(x,y,n)
PRIME(n): !(COMPOSITE(n)|n=0|n=1)

    其中,Ex,Ey,MULT_PLUS_TWO(x,y,n)的意思就是说,是否存在某一对x和y,使得MULT_PLUS_TWO(x,y,n)为真。只要(某一个平行世界里的)计算机找到了任何一对满足条件的x和y,整个COMPOSITE(n)立即返回True。如果对于所有的自然数x和y,MULT_PLUS_TWO(x,y,n)都不可能为真时,整个函数才返回False。别忘了这是一台量子计算机,穷举的过程可以在一瞬间内完成。

    好了,下面我们再给出几个基本的函数。函数SUM用于计算x加y是否等于z,而函数PRODUCT则用于检验x乘以y是否等于z:
SUM(x,y,z): x+y=z
PRODUCT(x,y,z): x*y=z

    现在,你的任务就是写出一个函数POWER(x,y,z),当且仅当x的y次方等于z时函数才返回True。相信我,这道题没有那么容易。
查看更多 »

Mar 21



图片来源:http://xkcd.com/399/
号外:期待了9个多月的PSP游戏Echochrome已经发行,网上到处有下载

Mar 19

    Kaizo Super Mario本来是一个号称世界上最变态的Super Mario的ROM hack,有几段看上去非常折磨人的游戏视频在互联网上流传很广。当然,网上也有类似于XX秒快速通关之类的动画,但那看上去就太假了,显然是用SL大法搞出来的,体现不出这个hack的变态程度。有牛人突然想到,为什么不把两者结合起来,让视频同时展示出所有的尝试(就像科幻小说《一日囚》的“时间叠加”,或者电影The Next的“2分钟预见”),既能反映其变态程度,看上去又没那么折磨人。于是就有了下面这段另类的动画。动画做完后,此牛人突然恍然大悟:这不就是量子物理学中不确定性原理的一个绝佳的演示么?你可以在上面那个链接里读到一大篇与“多世界解释”(Many-Worlds Interpretation)有关的理论。

  

视频链接:http://www.vimeo.com/676234
消息来源:http://jandan.net/2008/03/16/quantum-super-mario.html

Mar 16

大家注意咯!神通广大的dd巨牛计划合租DreamHost的主机,其服务器配置绝对让人动心。有想法的同志可以到这里查看详情。

简单说一下合租国外主机的优劣:
* 性价比高,功能强大,服务器稳定,配置无敌;
* 售后服务质量高;
* 克服电信网通互访的问题;
* 可以自己用来翻墙;
* 不需要备案,不需要在网页最下面放一个警察叔叔的傻B头像。

* 付款和联系客服比较麻烦;
* 教育网用户无法直接访问国际网;
* 不得不提一句,主机本身有被挡在墙外的隐患。

好在付款和客服问题有dd牛帮忙解决。另外,万一服务器被河蟹了,可以加钱买独立IP。
名额有限,有意者请尽快跟dd牛联系!
Update: 参加的同学必须是dd牛认识并且有一定程度了解的
Update: http://tianyi.yo2.cn/go/626571.html

« 更早的日志