分类目录归档:不是技术

一个经典的老问题

小时候看日本出的益智系列的书,里面有一个很经典的问题。

甲地和乙地相距数公里,A公司和B公司都同时经营从甲地到乙地的公共汽车服务。两家公司都是每小时发车六次,平均每10分钟发车一辆。然而,某乘客发现,不带偏见的他乘坐A公司的客车的概率要远远高于乘坐B公司的客车的概率。

为什么?

给出的答案很简单,A公司的车的出车时间是整10分,00,10,20,30,40,50

而B公司的出车时间是1分,01,11,21,31,41,51

那么,假如乘客到达车站的时间是均匀分布的,那么A公司就把从1分到0分的乘客载上了,B公司载上的是0分到1分。乘客比例是9:1。

之所以想起这个问题,是因为昨晚在世界之窗等26路回桃源村久等不至,有点怒了。最后一下子来了三辆。

其实很简单,由于从皇岗到桃源村的路途遥远,早段的路上,发生塞车的概率非常高。塞车不是一个均匀发生的事件,有突发性和短期性。因此,往往N辆公交在同一段路上被堵住了,那么乘客等车的时间相当于塞车时间+正常等待时间。当塞车解决之后,这N辆公交又几乎同时抵达,造成大量的浪费。

解决方法是有的,一个就是解决塞车了,这个是废话。

另一个就是司机有自由切换线路避开塞车的权限,然而由于很多车采取无人售票,乘客数与他自己关系不是很大的情况下,司机就不会太care有多少人坐他的车,而开塞那段时间,他们反而有飙车的可能,fear。

第三个就是公交改线,或者长线变短线。这个似乎更可行。

实在是太太太土了

Javascript写了个正则表达式,死活不能用

想砸了IE的时候,发现

Javascript

一词写错了,tnnd,写成

javascirpt

状态不好还真不能写代码

ruby的执行效率

慢,不过也怪不了它的,看看我写的代码:

require

pathname

q = Pathname.new(

c:/temp/www.surnamedb.com

)

aFile = File.new(

C:/1.txt

,

w

)

for i in 42..1000

n = q.children[i]

s = String(n)

m = s.gsub(/[\s\S]*name=/,

)

p = m.gsub(/.htm/,

)

p = p.gsub(/\

/,

\\\\\

)

a = n.read

b = a.gsub(/[\s\S]*class=\

SurnameHistory\

/,

)

c = b.gsub(/

[\s\S]*/,

)

c = c.gsub(/\

/,

\\\\\

)

c = c.gsub(/\

/,

\\\\\

)

aFile.puts

insert into surname (name, desc) values (\

aFile.puts p

aFile.puts

\

, \

aFile.puts c

aFile.puts

\

);

end

aFile.close

测试了一下,其中要操作的文件中平均每个文件大概是20K左右,做一个read,做两次的大的正则表达式操作,然后写文件,文件名处理消耗应该不大。

然后这么1K个文件居然花了将近20分钟的时间,难道时间都用在list上去了?

要再测测具体时间开销才行,这么慢,六万多个文件岂不跑一整天

另外说说,之前一行ruby没写过,语法都是google一半猜一半的

很疲倦。

今天本来是打算实现一个高效率的Jabber的php Proxy

不过发现好多东西的实现细节都不清楚,比如php的共享内存,什么时候分配,分配之后是不是退出了一直有效,等等。

不过总比用mysql实现共享会好一点吧

也难说,目前的IM proxy用数据库实现的也挺多的。

web IM和 jabberd2交互

我实在很讨厌jabberd2上配jwchat和punjab,那看来不大适合人做,于是不干了。

找了一个jabber.php来换个角度做,

不要binding行不行?那就不要binding,每次发消息多发一些就是了。

不知道效果如何,先试一下吧。

邪恶的Google

不是因为别的事情,是因为今天我找Gush和Gtalkr的开源代码时发现它们的网站都连不上了,Google的cache里面的内容相若,都是

Goodbye xxx, ……. no longer available……

查一下,都给Google给收购了,然后什么都没留下

一个低级程序员的理想

莫过于写一个

Hello world!

然后就去睡觉了。

今天把Helloworld.java再编译了一次,然后下载到7290上跑了一下,证实了JDE4.2.0可以使用于72xx系列。

RIM的网站还是太慢,下载一个JDE需要验证码之类的,关键一点是你下载的时候不能知道你要下载的包有多大,另外不能断点续传,不能

,不能

所以我的JDE是在maxpda上下载了,4.2,

如果不适用于72xx,那我只好再去下4.1了。

再说说JDE,还有simulator,一个不是十分好用的东西,跟我以前在pax做的propay模拟器也差不了多少

得来全不费功夫

踏破铁鞋无觅处,得来全不费功夫。

这句话最早是出自

应该是明代的白话文小说吧。不关心它。

那天我在福田书城外的一家外文书店里面看到有一本名为Baby Names的Dictionary,不过太贵,要92RMB,没买。不过倒是把ISBN和书名抄了下来。

然而,Google Books上这本书的预览是不完整的。于是google了一下,发现有个Shareware是基于这本书做的,不便宜,几个美刀,妈的,抢钱啊。

下载,安装了,发现居然是个access文件

这样也想收

中国人

的钱?于是crack掉,然后用MySQL Migration Toolkit导进我的MySQL中,再做个小Web应用玩玩。

describe

一下最主要的一个表:

Field

————-

Name_Desc

Name_OrgID

Name_Sex

Name_MID

Name_First

Name_Select

Name_Eva

————-

分别是,完整的名字,连接到名字来源表的ID,名字的性别,连接到名字的意义表的ID,后三个看不出来怎么用。

深圳图书馆

周六,为了查一下地表换纬度时候,天球面的天经和天纬的换算公式,于是去了一趟市图书馆。

人颇多,不过也不管他们占座与否了。先看了一下英文的,有点失望,没什么超过线性公式的描述,多是一些距离,一些轨道。

后来换成中文的,很好,球面三角公式出来了,我的疑问也解除了。甚至清理了一下我头脑中原本不清晰的设计方案。

天体时差坐标只对同一纬度有效,因此同纬不同经可以用它来转换,剩下的同经不同纬,由于是在同一大圆上,因此可以直接用球面三角公式。

原理就是如此。我当年球面几何实在是没有好好学。连球面三角公式都忘光了

剩下的问题是,为什么英文的书籍里面不提及这个换算而中文的则两本书里面都有呢?

大概是美国中学生数学水平低下,连三角公式都不需要理会吧。而天体运行只需要椭圆方程,上大学之后再学个微积分,那末,三角公式还是不需要的。