bones7456 all linux

Archive for the '趣味' Category

模拟一唯随机游动

今天,无意中看到了这个blog里面的一篇有意思的文章.对里面的那个随机游动问题产生了一点兴趣:
原文中说: 1维和2维的随机游动是常返的,也就是说会无穷多次回到起点(但回来的平均时间期望是无穷的),而3维以上的随机游动是非常返的。因此对于2维的某个坐标,此物体会无穷多次经过,但是不会无穷多次经过原点。对一个完全没有方向感的人,在平面上不会迷路,但在宇宙中是会迷路的。
而且,还有个题目,说 一个物体从原点出发,每一秒以概率1/2向左走,1/2向右走,第一次回到原点的期望时间 比 一只猴子,每秒种随便按键盘上的一个键,第一次打出”Beijing Welcomes You”的期望时间 还要久,因为前者的期望是无穷大.
就有点奇怪了,顺手写了个程序验证一下,图方便,用了python,代码如下:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import random
# Nmax 是样本数
Nmax=10000
# A这个字典用于存放每个结果的次数
A={}
for N in range(0,Nmax):
	r=0
	i=0
	while True:
		#为了使结果不都是偶数,也为了少一半循环,每次循环都random两遍.
		if random.random()<0.5:
			r=r-1
		else:
			r=r+1
		if random.random()<0.5:
			r=r-1
		else:
			r=r+1
		i=i+1
		if r==0: #如果r==0,就说明回到原点了,记下结果,结束这个样本
			if i in A:
				A[i]=A[i]+1
			else:
				A[i]=1
			break
#所有样本都算完以后,对结果进行排序输出,并计算平均值
k=A.keys()
k.sort()
T=0
for i in range(0,len(k)):
	print "%d\t = %d"%(k[i],A[k[i]])
	T=T+k[i]*A[k[i]]
print "avg=",T/Nmax

这个代码会输出Nmax个样本里面,一维随机游走问题的各个秒数次数.
在Nmax样本数为10000的时候,如果运气好的话,可以在3秒内跑完,但是如果运气不好的话,就难说了,我最多的一次跑了45分钟,最大的一个样本,用了1679075437个循环,才跳回来…嘿嘿.看来那个无穷的期望是真的…
这个试验也告诉我们,即使在没有作弊的情况下,赌博输掉的人想要回本,也许要等到下辈子的下辈子的下辈子…..

GreaseMonkey脚本实现ubuntu论坛快速回复

在ubuntu论坛里面看到了这个帖子,想想也挺有趣的,就真的写了个.没想到我那被遗忘了多年的javascript,在几乎一行一次google的情况下,还能写出这脚本,嘿嘿…
其实 GreaseMonkey 真是个不错的扩展,只要有点js基础,就可以有很多有趣的应用哦~
提示:在firefox下先安装 GreaseMonkey 扩展.然后添加此脚本.

// ==UserScript==
// @name           ubuntu论坛快速回复
 
// @namespace      http://forum.ubuntu.org.cn/viewtopic.php
// @include        http://forum.ubuntu.org.cn/viewtopic.php*
// ==/UserScript==
function oselect_change(){
if(0==this.selectedIndex)return;
document.getElementsByName("message")[0].value=this.options[this.selectedIndex].text;
document.getElementsByName("message")[0].focus();
document.getElementsByName("post")[0].click();
}
var ocell = document.getElementById('pagecontent').getElementsByTagName('TABLE')[0].tBodies[0].rows[0].cells[0];
var oselect=document.createElement("select");
oselect.options.add(new Option("选择快速回复内容..."));
oselect.options.add(new Option("很好很强大~"));
oselect.options.add(new Option(" :em05 "));
oselect.options.add(new Option("支持~ :em11 "));
 
oselect.addEventListener("change", oselect_change, false);
ocell.appendChild(oselect);
效果预览

Dimensions

Dimensions 算是一个科普的视频,介绍了部分地理/几何的知识,目的是让你对四维空间有个直观的认识,制作相当精美,讲解深入浅出,不可多得.视频是英语介绍,但有12国语言的字幕,包括简体中文,800*600分辨率的版本可以在这里下载,分9段,还有个预告片,可能会有 Dimensions II.

favicon里居然可以玩游戏

http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/
favicon里居然可以玩游戏…
点上面的链接,按n开始游戏,wasd控制.
网络的世界里,无奇不有啊.

C 语言 IQ 题..

http://linuxfire.com.cn/~alecs/fun/xiaoming.txt

小明初学 C 语言,写了个程序,想打印 99 个 ‘#’. 程序如下:
int i, n=99; main() { for(i=0; i<n; i–) { printf(”#”); } }
但是这个程序是错的.

Question 1: 请大家帮他改正, 但只允许 1) 删除一个字符 or 2) 增加一个字符 or 3) 改变一个字符
Question 2: 同样的限制条件, 使得只打印一个 ‘#’
Qeustion 3: 同样的限制条件, 打印 100 个 ‘#’

这个题目,粗看无聊,仔细想想还挺有意思的,我归纳了下,有这些答案.
下面要帖答案了,要自己思考下的先别往下看了.

Read the rest of this entry »

bsdgames

bsdgames 是个有意思的包,在ubuntu下,你可以apt安装.
里面的一些小东西,也许会让你大跌眼镜哦.
例如有个 pig 程序,还有个字符界面的贪吃蛇,还是有些好东西的哦.

/usr/games/adventure 探险,在这里你可以输入 n s w e ne nw se sw 向各个方向走,程序会告诉你有什么.看看有没有人找到宝藏?
/usr/games/arithmetic 算术,ee可以拿来给崽崽玩的
/usr/games/atc 开飞机?不懂啥意思?
/usr/games/backgammon
/usr/games/teachgammon
/usr/games/battlestar
/usr/games/bcd
/usr/games/boggle
/usr/games/caesar
/usr/games/rot13 字面加密?
/usr/games/canfield
/usr/games/cfscores
/usr/games/countmail
/usr/games/cribbage
/usr/games/dab
/usr/games/go-fish 猜牌的游戏
/usr/games/gomoku 真正的五子棋游戏(应用程序-游戏-五子棋,其实不是五子棋…),你会喜欢的.
/usr/games/hack 黑客游戏?
/usr/games/hangman 猜单词,记得当年的文曲星上有这个游戏
/usr/games/hunt
/usr/games/mille
/usr/games/monop
/usr/games/morse
/usr/games/number 如果 1 是one,2 是two 的话,知道9999999999999999用英语怎么说吗? 它知道
/usr/games/phantasia rpg游戏?
/usr/games/pig
/usr/games/pom
/usr/games/ppt
/usr/games/primes
/usr/games/quiz
/usr/games/rain
/usr/games/random
/usr/games/robots
/usr/games/sail
/usr/games/snake 蛇抓人,人挖金
/usr/games/snscore
/usr/games/tetris-bsd
/usr/games/trek
/usr/games/wargames
/usr/games/worm 文本版的贪吃蛇,慢慢按键,也许永远死不了
/usr/games/worms 要看毛毛虫?
/usr/games/wtf
/usr/games/wump

google reader

在英文模式下键盘输入
↑ ↑ ↓ ↓ ← → ← → b a
等待一两秒钟后,google阅读器的左侧博客列表,就会显示出这样一个蓝色背景的小人,想要返回之前的界面,只要输入相同的指令即可。

哈哈,google还真有意思.
不过另外发现,语言设置成中文就会有一点点不一样,英文状态下的Friend’s shared items之类的,在中文下看不到,估计是被谷歌阉割了…唉…

xchat的提醒方式蛮丰富的

一直用xchat上IRC,因为习惯了.之前一直以为xchat有新消息时,只会闪几下通知区域的图标和窗口列表里面的条,最近才发现,其实它的提醒方式还蛮丰富的,而且人性化.
如果你安装了 gnome-osd 这个包,那它会用osd的方式提醒你有新的私人消息,如下图,出现在屏幕下方的中间:
gnome-osd
还有,如果你装了 libnotify-bin 这个包的话,就会用 notify-send 的方式提醒你有新的系统消息,如下图,出现在右下角:
notify-send
还可以在设置-首选项里面自定义提醒方式哦…

sl 有趣的命令.

ubuntu下可以通过 apt-get install 安装.
执行sl会出来什么呢?哈哈,帖一下:
sl
这个说是怕你把 ls 打成 sl 搞的….哈哈,有意思吧…还会动的哦….

[转]10大令人惊异的化学反应[多视频]

http://jandan.net/2008/03/11/top-10-amazing-chemical-reactions.html
呵呵,irc上看到的,比较感兴趣,记录下来.不过说是”化学反应”,并不是很精确,至少在我看来,有几个是物理反应.
顺便记录下,煎蛋网很不错.