好吧,成功了,现在只有华南虎

这是网易新闻2008年06月29日的新闻评论top10。
七条关于华南虎,我很高兴,我的孩子活在一个黑白不是那么颠倒的国度。
同时,也很失落。
好吧,我承认,有人成功了,
在大家都密切关注四川地震中,
学校房子质量问题的时候,
抛出这个来,
一下子,
问题好像就不存在了,
只有周正龙有问题,
华夏大地依旧歌舞升平。
华南虎忍不住要说话了:
下一次,
你就是替罪羊!

这是网易新闻2008年06月29日的新闻评论top10。
七条关于华南虎,我很高兴,我的孩子活在一个黑白不是那么颠倒的国度。
同时,也很失落。
好吧,我承认,有人成功了,
在大家都密切关注四川地震中,
学校房子质量问题的时候,
抛出这个来,
一下子,
问题好像就不存在了,
只有周正龙有问题,
华夏大地依旧歌舞升平。
华南虎忍不住要说话了:
下一次,
你就是替罪羊!
参照: http://www.djangoproject.com/documentation/syndication_feeds/
写了个超级简单的RSS
现在在代码发芽网首页(http://www.fayaa.com/code/)在右上角就可以看到
为了减轻服务器压力,到feedsky做了烧录,两个地址如下:
全站代码RSS:http://feed.feedsky.com/fayaacode
全站评论RSS:http://feed.feedsky.com/fayaacomments
Django做RSS真简便,赞一个。
实现这个功能的部分代码在这里:http://www.fayaa.com/code/view/149/
代码发芽网:无需插件支持blog代码高亮, http://www.fayaa.com/code/
已知支持:百度空间, 网易邮箱、网易博客, 新浪博客, 牛博网, CSDN, 基于Wordpress的Blog, Google Gmail
网站架构:Django + Pygments,架在shared host上面(bluehost的主机)
感谢各位在反馈页面以及python-cn邮件组给出的建议,这段时间都在更新,纯兴趣的东西,时间不够啊…
最近主要更新如下:
1. 界面进行了更多的调整,让字体配色显得更加舒服,把表情图片改小了一些,看起来更加协调
2. 加入了方便复制代码的按钮
3. 加入了”给用户发信”功能
4. 发自己用的临时贴不需要填标题了
5. 可以选择字体了,会枚举这些字体(机器上没有则不显示):’Consolas’, ‘Lucida Console’, ‘Courier New’, ‘Bitstream Vera Sans Mono’, ‘monospace’, ‘Fixedsys’, ‘Monaco’
(目前复制粘贴以后字体还在,但是发blog / email以后字体消失,还没有搞清楚是哪里的问题…)
可以打开这个例子看看效果:猜数字游戏的八步以内求解程序
这个游戏的规则比较简单,一般两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜得人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为5234,而猜的人猜5346,则是1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为2B,合起来就是1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中为止。
次数限制
有的时候,这个游戏有猜测次数上的限制。根据计算机测算,这个游戏,如果以最严谨的计算,任何数字可以在7次之内猜出。而有些地方把次数限制为6次或更少,则会导致有些数可能猜不出来。而有些地方考虑到人的逻辑思维难以达到计算机的那么严谨,故设置为8次甚至10次。也有的没有次数上的限制。
前几天,突然想起来,研究生时候研究的猜数字程序求解问题,当时想做出一个完全决策树,根据这个树,任何数字都可以在8次以内求解。
解题思路很简单:
#1. 生成所有的四位不重复的0-9的数字组合的集合
#2. 随便找四个数字,比如0123
#3. 根据用户返回结果(xAyB),砍掉集合里面不符合结果的
#4. 根据现有数字组合,猜下一个,主要技术含量在这里:
# a. 贪心算法,每次都找当前步骤里最优的
# b. “最优”的定义:
# b1. 选择一个组合
# b2. 把这个组合和剩下的组合进行匹配,统计xAyB出现的次数,
# __比如0A0B出现了10次,1A3B出现了0次等等
# b3. 如果xAyB的所有可能出现的机会最为均等,那么这个选择的“区分度”就很大
# __这个可以通过信息量理论进行衡量,也可以简化为通过“最小标准差”来衡量
# b4. 遍历所有组合,找出“区分度”最大的
#5. 重复步骤3, 4,直到用户给出4A0B或者集合里面只剩下一个元素
首先在python-cn上面发起了关于如何快速生成所有数字组合的讨论
抛砖引玉,讨论的结果中居然有十多种方法,体现了不同的思路,具体的讨论参见:
函数性能:列出四个不重复数字(0-9)的所有组合
相关代码在这里:
生成四位不重复数字(0-9)的所有组合,比如8765, 9876, 0123
生成四位不重复数字(0-9)的所有组合
后来实现了上面所得解题思路,代码在这里:猜数字游戏的八步以内求解程序.
为了验证一定能在八步以内求解,我决定做个决策树生成程序,这个决策树的节点代表着每次猜测,树枝代表着xAyB这样的选择。
猜数字游戏8步以内的完全求解决策树生成程序
我实验过将这个决策树直接用于计算机求解,速度没的说,基本上就是8个以内的dict元素get操作和比较操作就能搞定。
参见:代码发芽网上所有标签(Tag) 为 猜数字 的文章
Bluehost上面架设Django的过程见这篇文章:Bluehost Django fastcgi配置, 静态(static)文件处理
架好以后,最近做代码发芽网才发现Admin界面是裸的 - 没有css。
分析了一下,应该是Admin_media之类的没有设置好。Google了一下Dreamhost Django Admin(为什么不是Bluehost而是Dreamhost?因为他们很相似,但是Dreamhost的wiki明显优于Bluehost的论坛),找到这一篇:
http://wiki.dreamhost.com/index.php/Django
里面说,做一下ln -s就行了
我的是这样设置的(根据你自己的Django media文件夹位置进行调整):
settings.py: MEDIA_ROOT = '/home/twomaom1/django/django-trunk/django/contrib/admin/media' ADMIN_MEDIA_PREFIX = '/admin_media/'
然后到命令行下:
ln -s /home/twomaom1/django/django-trunk/django/contrib/admin/media /home/twomaom1/public_html/fayaa/admin_media
搞定!
顺便改了所有的model,加上Admin,美化了一下下,Django的Admin就是好用啊。
— 下一页 »