Good good study, day day up

aleung的学习笔记, aleung的idea

WebCatcher是我非常喜欢的一个软件,作者很热情的在论坛中解答问题、了解意见。我觉得个人开发软件同样存在着软件开发管理的问题,这是我写给他的一个建议:


估计这段时间老魏也够烦的:)

问题一个接一个,用户意见也不少。。。

我对这个软件还是很欣赏的,作者的技术水平也不错。

阅读全文 »

Garmin Rino 110 是一款GPS/对讲机二合一的产品。
我从朋友处借得一对,试用了一周时间,把感受说说。

【外形】

Rino的外形更象对讲机,而不是GPS。比起一般民用对讲机体积重量都要大一些,特别是天线比较夸张。相比起来eTrex系列的机型会更加轻巧些。不过Rino握在手里的手感还是相当不错的。

Rino的屏幕面积偏小,相应的象素也少了,我认为这是比较大的一个缺点。我用惯了GPS 76,这小屏幕让我很不习惯。对于Rino 110来说,这个象素值还算是够用的,但我估计对于带map的Rino 120就不够了,看地图时屏幕越大越好用。

与Garmin的大多数机型一样,都是符合IPX7防水标准,具体标准忘了,好像是1米水深多少分钟什么的。反正对于中小雨和意外落水都不会有问题,至于要拿着它游泳就难说了:) 不过也有用户评价中提到,他忘了把rino从衣服里取出来,放洗衣机里洗了,拿出来后一点问题都没有。

阅读全文 »

找到一个神奇的软件Denim: http://guir.cs.berkeley.edu/projects/denim/

这是一个辅助web设计/界面设计,用来画草图的软件, 使用鼠标或者手写版, 在屏幕上绘制草图.

如果在软件设计领域也有这样的软件就好了, 例如用来画UML. 软件需要有一定的识别能力, 能够辨认出用户画的是什么图形, 变成规范的格式.

今天把手写板装上,试用了Denim,确实不错。

因为经常在写文档中需要有些框图之类的,我是想用手写板来画,并且利用软件的自动图形识别来将画出的图元规范化,那就方便了。于是在网上找有没有这样的软件。用google搜索,发现手绘草图的识别方面的论文不少,但是实用化软件就没几个。

阅读全文 »

为解决sendmail不断报出unable to qualify domain name问题,修改/etc/hosts文件,在本机主机名后面加上一个点。但是引起了另外的问题,当程序调用gethostbyname()时失败。解决方法是在/etc/hosts为本机IP指定两个名字,一个仅仅是主机名,另一个是主机名加域名(在这里没有域名,只是加个点)。

阅读全文 »

公司的邮件系统, 从内部网(10.x.x.x)连接SMTP端口非常慢, 但使用webmail或者从internet连接就一切正常.

检查发现缓慢是是smtpd对client IP进行DNS lookup引起的, 需要等待lookup超时.

解决办法:

  • 确认邮件服务器使用本机作为DNS ( /etc/resolve.conf, /var/spool/postfix/etc/resolve.conf )
  • 在本机配置DNS服务, 在本机DNS上负责解析反向域 10.in-addr.arpa. 其余域名forward给外部DNS解析.
阅读全文 »

根据实践的经验,基本了解了samba配置方法,将它记录下来。

一个基本的配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[global]  
netbios name = SERVERNAME
workgroup = GROUPNAME
null passwords = yes (是否允许用户设置空密码,default=no)
log file = /var/log/samba/log.%m
max log size = 500
dns proxy = No (default=yes,一般情况下没有必要)
security = user (相当于WinNT/2000的文件共享)
encrypt passwords = yes
guest ok = yes (default=no,是否允许guest访问,即不需要输入密码)
(在global节中的这个设定会作为各共享资源设定的缺省值)

[homes] (每个用户会看到各自的home目录)
comment = Your Home Directories
read only = No
browseable = No

[share] (share to all, read only)
comment = Share Folder
path = /home/samba
guest ok = yes (在global中设定了,这里可以不写)
writeable = no

[source] (leo,frank可读写;james只读;其余用户无权访问)
path = /home/source
valid users = james,leo,frank(可访问此资源的用户的列表,如果不指定,任何用户都可以访问)
write list = leo,frank (有写权限的用户的列表)
writeable = no (其他用户不可写)
create mode = 666 (保证新建的文件目录可以其他用户读写)
directory mode = 777
force group = nobody (无论用户以什么身份login,强制为此user/group;不一定需要)
force user = nobody

在samba的权限控制中, 关键的是以下一些参数.
invalid users
valid users
guest ok / public (两种写法都可以)
这三个参数, 优先级从高到低, 控制用户是否可以/是否需要login到一个服务.
write list
read list
readonly / writeable (两种写法都可以)
这三个参数, 优先级从高到低, 控制用户是否有写权限.

用户要访问一个服务(共享目录),
首先要成功login到这个服务(或者这个服务是public, 不需要login),
然后再根据配置决定他是否有写的权限. 只要login进入了,就起码有读权限了.

阅读全文 »

使用crle命令, 例如:
crle -l /usr/lib -l /usr/local/lib -i /usr/lib -i /usr/local/lib -a /usr/lib/libthread.so.1 -o /usr/lib/lwp

以上命令的作用

  • 设置library路径为 /usr/lib 和 /usr/local/lib
  • 在这些目录建立cached list of libaries
  • 指定用 /usr/lib/lwp 中的 libthread.so 代替 /usr/lib 中的版本.

然后执行
crle -u
更新/var/ld/ld.config文件

阅读全文 »