Yearly Archives: 2005
sourceOffSite 4.1 并发问题
解决方案:
server端
(1)确认在vss目录下的win32目录下的ssapi.dll版本号是以98.48结束
(2)将
HKEY_CLASSES_ROOTCLSID{783CD4E4-9D54-11CF-B8EE-00608CC9A71F}InprocServer3
2ThreadingModel 的值department,改为both
(3)将实时扫描的anti virus程序设置为排除sos database目录
client端
(4)客户端将最新的windows安全补丁都打上
上帝掷骰子吗——量子史话
这本书真的写的不错,语言很生动,流畅。作者看起来(至少在我这等外行人眼里)对
物理特别是量子这一套东西很了解。看到里面提到两名大名鼎鼎的人物(托马斯·杨和
薛定谔),突然想起一件事,某个有名的主持人写了本书,里面提到中国的华人是如何
的出色,当然不可避免地提到了象杨振宁等,但很不幸,他将上述这两位地地道道的老
外都当成华人呢,原因恐怕是一个姓“杨”,一个姓“薛”,而且后者看起来真的很像一个华人的名字。
另一个感触,里面提到的人太厉害了,成名的时候都才二、三十岁。而且出了这么多的nobel奖,真是了不起。
这本书新浪读书网里有,也可以从google里搜索找到。推荐一下。
一条512内存又坏了
容易就坏的。
龟兔赛跑悖论
跑,按芝诺的结论是,这样兔子永远追不上乌龟,为什么呢,因为兔子在跑完10米的时
候,乌龟又向前移动了一些距离,不管这个距离有多小,然后兔子又花时间去完成这个
距离,但在同样的时间内,乌龟又向前移动了一点点,这样的结果,是兔子永远也追不
上乌龟。但大家知道,在现实中,跑的快的兔子毫无疑问能追上乌龟了。
芝诺混淆了时间跟“时间段”的概念,元限的时间段累加起来却是一个固定的时间。正
如庄子讲的棰的故事,一尺长的棰子,每天取一半,万世也取不完。庄子讲的是长度,
但跟龟兔赛跑的时间是同样的道理。无限的长度段,累加起来才是一个固定的长度。
今天在新语丝上也看到一个悖论,也是关于时间的。老师在周末的时候告诉学生,
(1)下周会考试;(2)下周考试的时间你永远不可能想到。有学生就根据这2个条件
进行推论。首先,不会是周六。因为如果周一到周五不考试,学生就知道周六考试,这
不符合条件2。其次,那么,既然周六不考试了,就剩余周一到周五了。如果周一到周
四不考试,那么就是周五考,学生也知道了,所以不会是周五。依此类推,也不会是周
四,周三,周二,和周一。结论是下一周不会考试。但下一周老师真在某一个时间考试
了,结果学生谁也没想到。
很有意思的逻辑题。新语丝上的张远山给了一个他的关于考试悖论的想法,却引来很多
网友的不同看法。不过真是很有意思。
PHP和MySQL的License问题
MySQL的许可分两种,一种是基于GNU开源协议,一种是商用协议。前一种更具体的讲,
MySQL的数据库是基于GPL协议的,但一些client libraries是基于LGPL的。MySQL这不
在Web应用上取得了比较大的成功了,一些商用软件就连接到这些client libraries上
面(这是合法的),从而跟基于GPL的MySQL数据库核心间接连接起来。这样这些商用软
件就不用买MySQL了,损害了MySQL的利益。
所以MySQL在某一天决定将这些LGPL的库也改成GPL了,因为GPL规定使用GPL的软件也必
须以GPL的方式公开出来,这样就可以防止商用软件的上述情况了。
Linux下,有个词叫LAMP,意指LInux+Apache+MySQL+PHP是最佳组合,性能很高配置很
容易。PHP将MySQL的client库就嵌入到它的源码里。PHP从4之后改成APL,而不是GPL。
MySQL的更改库许可的决定,意味着如果PHP继续用MySQL,也必须基于GPL协议。而APL
和GPL是有冲突的。所以PHP只能将MySQL的集成模块从自己包里移出去。
这并不意味着用户不能将PHP和MySQL连在一起,对用户的使用来讲是没有问题的,基于
PHP和MySQL的开发只能基于GPL也是许可的。但对PHP来讲,使用MySQL就和使用其他数
据库,比如Oracle等没有区别了,处在一样的位置上。
类似的情况还危及到MySQL与RedHat等多家开源软件的关系。所以MySQL出于利益的考
虑,在04年又决定给出一个exception,即在得到他们授权的情况下,开源软件是可以
将这些client库集成起来,而不用担心GPL的限制。但PHP 5推出了SQLite,仍没有将
MySQL重新集成起来。
因为PHP是纯免费的东西,PHP公司据亮子讲,也是只买附加产品的,所以他们的分离对
PHP的利益影响不大,而对MySQL,因为它还靠它的商业License挣钱呢,跟PHP分离,对
它的影响就比较大。所以有这种举动,也可以理解。
跟亮子在讨论它们间的License关系,找了几个中文的报道看,都不大正确(中国记者
的水平由此可见,都在乱写一通),而英文的报道相对较少。将英文报道跟英文论坛上
讨论的问题综合起来,写了这个东西,应该是正确的。
远程桌面连接
显示器,只有重启。
503配置了windows 2003 server,2k3除本地外控制台外,只支持2个远程登陆会话。一
般在使用后的时候,就点叉叉关掉远程控制程序,这时连接进入断开状态,但还一直保
留着该会话。应该注销出来才对。
看了一下相关的资料,从组策略(gpedit.msc)里配置了终端服务的断开连接会话在5分
钟后自动注销。这样就好一些了。否则会造成今天这样管理员也登陆不进去的情况。
Visual SourceSafe 6配置以及Tcp/IP扩展
以前整过一次,又给忘掉了,这次记下来,就不会忘了
Visual SourceSafe 6+sourceOffSite 4配置
1. 安装vss 6d,选shared database
2. 安装完毕,从 开始|Micorosft Visual SourceSafe 6.0运行 Visual SourceSafe 6 Admin
3. 在Visual SourceSafe Administrator窗口
3.1 运行Tools | Create Database…
3.2 选定新vss数据库的目录
3.3 单击OK,vss将在该目录下新建一些必要的文件
3.4 选定Admin,运行 Users|Change Password…,修改Admin的密码(默认是空)
3.5 选定Guest,运行Users|Delete User…,删除Guest用户
3.6 运行 Users|Add User…,添加需要访问的多个用户,指定用户名和密码,建议在使用VSS过程中,不要使用Admin用户,这意味着管理员需要为自己指定一个另外的用户名
3.7 在Tools|Options|General里,在Allow multiple checkouts上打勾,允许多人同时checkout同一个文件
4. 安装SourceOffSite 4.0的Server文件。
4.1 打开 开始|SourceOffSite 4 Server |Server Manager
4.2 在General Settings里 将Use secure port前的勾去掉(不需要安全机制)
4.3 在Serial Numbers里增加有效的license
4.4 在Databases tab里增加SourceSafe配置的数据库位置
4.5 在Users里增加SourceSafe全部数据库的全部User名
5. 我的电脑 右键,管理,打开计算机管理窗口,服务。将里面的SourceOffSite 4的服务设置为自动,并重启服务
6. 在客户端安装 SourceOffSite 4.0的Client文件
6.1 启动SourceOffSite 4 Client,在File | Connect to Server…,键入Server的IP地址,和Port (默认是8080),点击Connect
6.2 在随后出现的Login窗口,键入Username, Passwork,选择合适的Database,登陆。
tong_at_集思
SourceOffSite连接不上
server使用了8080端口,与服务器的原有8080端口冲突,所以后来给sos server分配了
一个16000的端口,确保没被用。重启sos service后解决此问题。
Sos是什么?哦,sos使用了vss的版本控制数据库,在vss的基础上增加了tcp/ip访问的
功能,并且在最新的4.1里,client基本上实现了跨平台,支持mac, linux, win等。原
来的vss client最多只能在LAN内通过ipx连接到server。
sos+vss可以实现cvs提供的大部分功能,而且跟ms的studio可以很紧密的结合。
随便提一下,可以使用nmap -vv -p 1-65535 hostname,来扫描server上哪些ports在
使用,然后可以分配一个没被使用的port给sos。
关于Qt 4
Qt 4计划在05年第二季度晚发行,现在已经有Beta 2版出来供测试,Beta 2也是最后的一个测试版。Qt 4的几个改进:
1. Qt3向Qt4的移植工作(这当然要做的,是Qt4必须要做的,其实对用户来讲,如果不需要专门的移植则更好。不算改进)
2. Qt Designer差不多重写了,增加了对MDI/SDI模式开发的支持,和对定制widget的更好的支持
2.1 新QT Designer里提供了开发几种模式,如Form Editing Mode;Singal and Slot Editing Mode;Buddy Editing Mode,和Tab Order Mode
2.2 对custom widget的支持更好
(但好象提到designer仅做ui,要去掉project editor和coder editor部分)
3. 设计了一个新的painting system
4. 改进的输入方法框架
5. 对XP和Motif风格的改进
6. 增加了一些新类,如Tulip(模板容量类)、Interview(为item提供model/view框架)、Arthur(新的paiting框架)、Scribe(Unicode文本支持),以及MainWindow(更好的基于action的主窗口)
7. 与Qt 3相比,Qt4库分割成几个小库,比如QtCore、QtGui、QtNetwork、QtOpenGL、QtSql、QtXml、Qt3Support等。这样一个Qt程序可以只连接到一个小库,形成的程序也更小。
7.1 默认的Qt包括与QtCore和QtGui的连接,可以通过在.pro文件里添加
Qt -=gui
来去掉跟QtGui的连接
8. 与3相比,#include的格式变成 #include ,而不是以前的#include 了
9. 全面支持using namesapce Qt命名空间
10. QObject和QWidget构造函数的变化。比如QObject的构造不再需要 const char * name了;QWidget不必在构造里指定WFlags了
11. 动态cast,添加了qObject_cast<>()。如
QPushButton * pushButton = qobject_cast (obj);
if (pushButton){
…
}
12. QPointer的引进,相当于以前的QGuardedPtr
13. 绘画事件。全部的绘画操作都得在paintEvent()中执行。而不象以前那样可以在paintEvent外执行了。