分类目录归档:不是技术

深圳图书馆

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

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

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

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

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

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

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

做一个新闻发布模块

也找了半天,最后还是决定自己手写了,tnnd!

因为找到的不是太旧,就是不弱,

我也想过用wordpress来实现,不过有必要吗?

最后想想,算了,自己写一个吧。

啊哈,说说jwchat+punjab怎么install的

装完运行才发现,原来是不需要跟jabber server运行在同一个机器上的。

首先要有jabber server。

jwchat 依赖 punjab

punjab依赖twisted,依赖SOAPpy

twisted依赖zope

SOAPpy依赖fpconst,fpconst依赖PyXML

这面这些依赖Python

Python2.5和openssl0.9.8一起貌似有问题。

装Python2.4,装pyopenssl,装zope,装twisted,装PyXML,fpconst,SOAPpy,

装punjab,copy jwchat,修改config.js

运行。

浏览器一段时间不在线punjab就会断掉,需要重连。维护大量的长连接看来是不现实的,不过断掉这个表面现象可以用别的来掩饰一下。

不过我趋向于重写这个jabber的web proxy。

用Bb发一篇blog

用blackberry写一个blog看看,我就不指望能写到msn 的spaces上去了,刚才试了一下,好像wordpress也不能用这个ucweb登录,还是原始的blogbus好。

Blackberry JDE 4.x

Gosh…..!下载这个东西真变态!bb的官方网站搞了一个动态的链接来下载,而且还不知道文件的具体大小,恐怖,天知道它会有多大,不过失败了两次之后,我决定在国内的论坛里面查找了。

OK,80M,下来就好了。

运行安装,sorry,你的JDK版本不够高哦,1.4.2

1.5! 于是干脆下个JDK6,这些只是一个符号而已

重装MySQL

在这些所谓的技术上犯的错误越多,越能快速了解它的原理,不是么?

因为allen配的jabberd2的MySQL版本过低,于是我去把它升级到5.0,真是费力不讨好的事情,原来的3.23不是挺好用的么?

rpm -e ……

有些不肯走的,rpm -e –nodeps ……

rpm -ivh …server…

rpm -ivh …client…

然后MySQL能跑了,可是Jabberd2怎么也起不来,没错,找不到libmysqlclient.so.?? well,我算是知道devel是干嘛用的了。

不过我上次是怎么解决这个问题的?嗯….估计是我以前的libmysqlclient没卸载干净造成了。想起来也好笑,上次libmysqlclient没卸干净,却把原来的mysql.h卸掉了,于是找了个源代码包……真是太土了。

well,上了一下mysql,看明白了,也就是server,client,devel三个包

其中devel包括有开发库和头文件。

于是装上devel,jabberd2就可以起来了。

然后发现mysql对于字符的处理,哭了,怎么那么多的字符类型变量。

Blackberry 7290的软件下载问题

关键词:黑莓, Blackberry, 数字签名无效,7290

BB7290到手有将近一个月了,按照完全的攻略下载桌面管理器,下载新软件,比如Opera mini版,安装的时候总会出现同样的问题:“无法加载下列模块,数字签名无效” xxxxxxx.cod …

花了一个上午时间看了一下论坛,总算明白了,然后照着做了,解决这个问题。

过程中也尝试过这样那样比如刷rom,比如修改vendor.xml的过程。

几个说明:

1.ROM是一个操作系统的载体,刷ROM相当于重装操作系统,系统的模块之间或许会有依赖关系,如果担心出问题就不要重装了。

2.找到合适你的BB的桌面管理器和合适你的BB的系统的安装文件,比如我用BB7290的是这两个:

41112dtMULT(桌面管理器for7290).exe

7290C_PBrER4[1].1.0_rel466_PL1.8.0.149_A4.1.0.351_CSL_rebundle.exe

上一个是桌面管理器,下一个开头是7290C,意思就是7290用的中文版,后面A4.1.0.351是该系统的版本号,诸如major version minor version等等。

如果担心有问题可以到官方主页去下载,官方主页google一下就可以了。

3.先说说刷ROM。安装完桌面管理器之后启动,进入主界面会发现有个

应用程序加载程序

的 icon,如果BB已经通过USB线连上了,可以运行这个看看有什么已经安装了的模块/程序。

很多地方都说到这个vendor.xml的问题,不过语焉不详。这里我详细说一下:

安装桌面管理器之后,C:\Program Files\Common Files\Research In Motion\AppLoader 目录下会有一大堆应用相关的文件,其中vendor.xml保存了BB各个发行版的软件信息。在启动同一个目录底下的Loader.exe(事实上这就是桌面管理器里面的

应用程序加载程序

)的时候,Loader会根据BB发过来的Vendor号在vendor.xml获取系统的编号,只有当找不到vendor.xml或者在vendor.xml中找不到相关信息的时候才会继续去BB里面获取更多的系统软件信息。因此只要把vendor.xml改名之后,运行应用程序加载程序才能获得系统中软件模块信息,并对其进行删除修改等等操作。

对于7290,vendor.xml似乎确实是可有可无的,前提是没有别的操作只能使用vendor.xml。(此结论不确定是否适用于别的型号,因为我没用过,^_^)

4.所有的第三方软件加载的时候都说“无法加载下列模块,数字签名无效”,为什么?

先说说安装桌面管理器时候的一个option,桌面转寄器和Blackberry Internet Service(下面简称BIS)。

桌面转寄是通过PC转寄邮件到BB中。

而BIS则是一种Internet Service服务,需要IT policy来支持,也就是如果你通过架设一个企业内部的IT Policy Manager来管理BB的安全性。

很不幸的是,手上的BB有IT Policy。(水货嘛,没办法了)

a.用桌面管理器备份信息。

b.选项-

安全选项-

一般设置下按下滚轮,擦除手持设备。

c.重装桌面管理器(这里可以选择修改安装),optional那里选Blackberry Internet Service。然后把一个Blackberry IT Policy Manager产生的policy.bin放到安装目录下,修改注册表

 [HKEY_CURRENT_USER\Software\Research In Motion\BlackBerry\Policy Manager]

Path

=

C:\\Program Files\\Research In Motion\\BlackBerry\\policy.bin

d.连接,运行,恢复备份。

e.下载安装其他的第三方软件。

5.总算是把这个问题解决的,下一步我打算还是建一个exchange服务器,用公司的所有的blackberry来玩玩。毕竟BB的优势在于其安全管理,一味的求方便,增增删删程序让人感到只是一个小孩在玩玩具。

jabberd2

最后还是选择了采用多c2s多sm实例的方法去实现,这样对source code的改动也就降低到最少了。

目前对系统的改动有几个方面:

a.增加三个表: jab_com (用来保存多域名信息,co是企业域名) jab_groups (企业内部对员工的预分组,co是企业域名) jab_members(企业内部员工信息,co是企业域名)

需要修改的目前只是mod_roster.c,其中获取groups的部分,改改就OK了。这样的默认结构是不允许block/delete/add的,add了也没有用。

其他的大概就不用改动了……毕竟只是roster-items和roster-groups的影响。

jabberd多域共享实现

没有采取多sm的方式,而是采用一个比较诡异的做法,把jid重新解释成本机jid,然后分发。有点搞笑,对吧?

我觉得也是,而且我看看要改的地方,估计也还有两三处。不过也好,可以更深入理解jabberd的各个模块。