I am LAZY bones?
AN ancient AND boring SITE

欧拉工程

咳咳,我做为非正常网民网瘾戒除中心砖家,正式给介绍介绍一下这个欧拉工程
呃。。。还是请我们的校长──lerosua──来介绍吧~下面引自这篇博文

欧拉工程是一个用编程来解决一连串数学问题的项目。发现它对训练数学及编程挺有作用的。网上也有许多人做上面的题目并发布自己的算法。
上面共有261题,分几个等级,一级比一级难。我看了第261题的提交,目前只是22个。完成它绝对是时间及精力及耐力及智力的较量。
于是本人决定将此作为一个项目来做,逐步进阶。
骨头与xiooli同学也并肩作战。
我们解决的问题的源码将会发布在以下svn中。欢迎审阅.
http://nrciz.googlecode.com/svn/trunk/projecteuler

其实,之前(几个月前吧)我就已经做过几题了。可以说,正是因为欧拉工程,我才喜欢上python的,当我看到第一题用一句

就完美地搞定了,是多么地流畅,多么地自然,我就喜欢上了这门语言~
我们现在已经在逐步把很多题目翻译成中文了,所以,大家有空就去这里看看吧~最好是大家都能参与到其中来哦~

watch

watch命令包含在procps软件包内,procps是linux下一个很有用的基础包,里面包含了ps、pgrep、pkill、top、uptime、w等重要又常用的命令。
watch的具体功能就是定时执行后面跟的命令,并不间断地把输出命令的标准输出。
例如:

就可以监视内存使用率的状况了,原理就是每秒调用一次free,并集中显示结果。其中,-d表示高亮不同的地方,-n 1表示每1秒执行一次(默认是2秒)。此命令需要用Ctrl+C来结束。
另一个例子:

可以监视/var/log下的日志的变化情况。
另外:如man页所示,执行下面三个命令来体会单引号和双引号的区别

灵活运用此命令,可以让你的CLI增色很多哦。

gentoo的ACCEPT_LICENSE

最近 sudo emerge -avuDN @system @world 的时候,老是会有这样的提示:

也不知道哪个版本的portage引入的这个机制,不过看文档倒是3年前就有的。
不过,如果你像我一样是个人用户,并不是很在意版权问题的话(其实也没啥问题,呵呵),其实只需要在 /etc/make.conf 里加一行:

就可以解决这个烦人的提示了。
PS: 这个东西现在貌似还不是很完善,因为目前都还没有在 emerge –info 里体现出来。。。

这就是 chrome OS?

这里看到有人说这个可能就是是chrome OS的开发版,于是下载下来跑了跑,个人感觉除了文件大小(解压后500多M)比较像OS以外,更多的还是像一个浏览器。。。
看我的截图:
chrome_normal
这个模式下,很像是一个普通的chrome浏览器,但是也有些不寻常的地方,比如右上角依次显示了 系统时间、网络状态(截图中的小x就是,点上去显示No networks are avaliable)、电池状态(点上去提示了错误的信息,如下图,bug。。。) 等,这些又有点像是一个OS的特征。
chrome_err
另外点击左上角的小logo,会出现一个全屏的能挡住gnome的panel窗口,但是却只有如下的显示:
chrome_full
猜想以后这个可能就是所有操作的入口?需要连接google的服务器才能显示正确的内容,而这个服务端目前还未就绪?这么说来这个系统不是必须联网才能进行其他操作了?
另外就是怎么把系统单独引导起来呢,难道这个500多M的文件以后还会是一个像vmlinuz一样的可引导文件?总之现在情况还不是很明了,我们拭目以待吧。
PS:再贴一下ldd的结果:
点击查看全文 »

x11-drivers/xf86-video-radeonhd-1.3.0 会引起黑屏

今天对我的gentoo进行了解常规的uDN升级,但是等我晚上到家打开电脑就不能正常启动了,字符界面的信息输出完以后到了X就直接黑屏了,看了近期的升级日志,发现x11-drivers/xf86-video-radeonhd-1.3.0这个升级非常可疑,于是暂时mask掉,退回1.2.5版本,果然就好了。
我的显卡是x1700,用的是2.6.31内核里面的drm模块。有遇到相同问题的gentoo用户吗?

谁在我blog里留言最多呢?

今天备份blog数据的时候,突然想了解一下,谁在我blog里留言最多呢?
这样不仅可以满足自己的好奇心,还可以更好地做好读者回访工作,哈哈。
于是,在WP的后台里导出xml的备份数据以后,来了这么一行,如果你用的于是WordPress,那也可以做为参考哦:

或者是贴出来的加上链接的形式:

以下就是我blog的结果(已经人工去掉了自己和无意义的数据):

68 http://imtx.cn
47 http://joolix.com
41 http://www.sxnsx.com
29 http://hi.baidu.com/tpxc
23 http://oceanboo.cn
22 http://wdicc.com
20 http://lfeng.cn
19 http://young001.blogbus.com
18 http://frankyue.cn
17 http://millenniumdark.blog.ubuntu.org.cn/
15 http://zhan.blog.ubuntu.org.cn/
15 http://blog.imxifs.cn
13 http://www.ownlinux.cn/
12 http://www.kissuki.com/
12 http://muzuiget.blog.ubuntu.org.cn/
11 http://www.hicrokee.com
09 http://lerosua.org
08 http://www.ownlinux.cn
07 http://www.imkeke.net
07 http://ivenvd.blogspot.com/
06 http://tianhao.blog.ubuntu.org.cn/
06 http://maclpashideout.blogspot.com/
06 http://classfoo.googlepages.com
05 http://www.w3rep.cn/blog
05 http://www.shuge.org/lee
05 http://www.joolix.com
05 http://www.imkeke.net/
05 http://raychen1984.cublog.cn/
04 http://yegle.net
04 http://www.imchao.net

当然,这样就直接忽略掉了没有url字段的评论,如果你不想这样的话,也可以根据wp:comment_author字段来进线昵称的统计。

假期回顾

6号了,差不多该回顾下这个假期了吧~
首先,本来想看国庆的阅兵直播的,但是不巧,车票刚好买到那会儿的,所以阅兵的时候,我正在高速上颠簸着,我也没有啥3G手机之类的高级货,所以也就没看成直播。不过后来听说,其实CCAV的那个“直播”,其实也是延时30秒的快速“转播”而已,所以想来和我看的“重播”也没啥区别吧~
然后,这个假期应该是最累的吧,因为家里老房子在装修,所以貌似有干不完的杂活。也正是因为这个原因,最近上网的时间几乎是0了,只是偶尔用ipod上来看看。
那到底在干啥呢?
首先是铺完外墙砖以后,一切都很脏了,到处都是碎水泥和灰,搞卫生就成了第一重任了,最难搞的就是玻璃,擦玻璃就擦了2天。。。非常汗哦~
另外,还有一天去收稻子了哦,这个活,算起来应该有10年没干过了吧~这次这块地很小,而且没法用收割机,所以就人工上了,带上镰刀和脱粒机就去了,虽然其实也没割几下,但是也好好地体验了一下以前的生活。不过,我纳闷的是,这10几分地就把我们一伙都累趴下了,当年的3亩地是怎么搞定的呢?现在的人确实都退化了。。。
不管如何,明天就回杭州了~

神一样的Quine

有个很牛B的小日本搞出来的东西

这段ruby代码,相当牛,如作者所说,运行这段ruby,生成一段python代码,再运行python代码,生成一段perl代码,再运行perl代码,生成一段lua代码。。。这样一直下去,经过11种语言,最后。。。居然又能重新得到之前的ruby代码。。
这11种语言是:ruby 1.8.7-p72、Python 2.5.2、perl v5.10.0、Lua 5.0.3、OCaml 3.10.2、ghc-6.8.2、gcc 4.3.2、java “1.5.0_17″、beef 0.0.6-2、whitespace 0.3-2、unlambda 2.0.0-5。
est这里看到了介绍,实在忍不住,把所有解释器都装上验证了一把,果然是可以的。彻底无语了,特此把中间结果都打包放上来,供大家瞻仰。
ubuntu下也想自己试试的话,得确保有这些包: ruby lunar lua50 ocaml-interp ghc6 sun-java5-jdk beef whitespace unlambda

PS: 我以为 brainfuck 就已经很BT了,没想到还有更BT的 whitespace ,彻底无语了。

在linux下显示农历

看到标题,很多熟悉linux的朋友估计都会想到曾经的 lunar-applet ,我之前也用过这款软件。
不过lunar-applet其实是基于gnome-panel的clock这个applet的代码做的,只是替换了原来显示日历的控件而已,这样,如果成为单独一个软件的话,得同步上游的代码,维护起来比较累。
所以,最近软件的作者 yetist 再次发力,把lunar-applet拆成了2个包外加一个patch。
具体就是:

  • 只依赖 glib-2.0 的liblunar,这个只提供了计算农历信息的核心的算法;
  • 依赖 gtk库 和 liblunar 的 liblunar-gtk 这个提供一套基于 gtk 的 widget;
  • 然后是给 gnome-panel 的一个 patch,这个patch调用 liblunar-gtk 的 widget,替换掉 clock 的日历显示。

这样虽然描述起来比较费力,但是显然比较合理和易于维护,所以lunar-applet本身也就停止维护了。
现在貌似还没有deb/rpm的包,不过如果你用的也是gentoo的话,可以试试我传到gentoo-china-overlay的ebuild。如果你已经加了这个overlay的话,现在就可以给 gnome-panel 加上 lunar 这个USE,然后重新emerge一下 gnome-panel,就可以看到效果了。
我这里的截图,已经被传到项目主页里去了:
lunar-applet

另外,值得一提的是,liblunar 还自带 python 的绑定哦,你要在python里使用的话,也是相当方便的,给个例子:

更多信息,还可以在项目主页里挖到。

ubuntu下,给现有网站加个简单的流量监控的方法

这里假设你已经用LAMP或者其他东西建立好了一个网站,并可以正常访问了。比如我的ubuntu源
在这样的基础上,如果你要给你的站加一个流量监控的功能的话。可以选择最基础的mrtg
mrtg是一个基于snmp的web监控软件,可以生成系统信息的图表结果,这个“系统信息”其实不仅包括网络流量,还可以是CPU/负载/内存等其他信息。如果你想监控更多信息,可以参考这个页面
我这里只以我需要的网络流量为例。
安装必要的包:

再修改snmpd的配置,编辑 /etc/snmp/snmpd.conf ,找到以下几行,改成这样:

这样,其他进程就可以通过snmp读取相关信息了。记得修改完配置需要

重启一下snmpd。

接下来要修改mrtg的配置了。mrtg的配置文件是 /etc/mrtg.cfg ,他的格式比较复杂。所以mrtg提供了专门的命令行工具──cfgmaker──来生成它的配置文件,你只需要通过给cfgmaker传入特定的参数,即可生成相应的配置。
还是以我的简单应用为例:

这样就把生成的配置文件写入了 /etc/mrtg.cfg,你也可以再打开确认一下是否符合你的要求。
下一步是生成mrtg的index.html文件,方法如下:

注意了,这个index.html文件只需要手工生成一次,以后就都是静态的了,除非你修改过 /etc/mrtg.cfg 就不用再次生成了。但是这个html文件会引用其他的图片之类的,就需要重新生成了,默认ubuntu的mrtg已经把这个任务加进crontab了,5分钟执行一次,所以稍等片刻,你就可以访问了。
我配置的mrtg访问地址是http://ubuntu.srt.cn/mrtg/

另外也参考其他类似的流量统计软件 awstats