2010年12月6日星期一
ubuntu 10.04 更新后无线网卡无法加载
但更新所有的可更新补丁后,重启系统,则再也无法连接无线网络,网络灯不亮。
更新后的内核为 2.6.32-26,启动上一个内核 2.6.32-21,则无线网卡仍然可以使用。
解决办法:
将 /lib/modules/2.6.32-21-generic/kernel/drivers/staging/rtl8192su/r8192s-usb.ko 拷贝到 2.6.32-26-generic 对应的目录下,重启系统即可。
2010年11月11日星期四
2010年10月25日星期一
XHTML checklist
包含了所有的 HTML4.01 的元素,但是必须遵循 xml 的语法
2. XHTML 属性必须是嵌套的
比如:
<b><i>This text is bold and italic</b></i> 是错的
<b><i>This text is bold and italic</i></b> 是对的
3. XHTML 元素必须是关闭的
4. XHTML 元素必须是小写的
5. XHTML 必须有一个根元素
6. XHTML 属性名必须小写
7. XHTML 属性值必须加引号
8. 属性不能简写
9. 比如:<input checked> 应该是: <input checked="checked" />
10. 假如要指定一个元素的值的内容的 lang 属性,则必须同时加 xml:lang
<div lang="it" xml:lang="it">Ciao bella!</div>
11. XHTML 规定了一些必须要有的属性
DOCTYPE html head title body
12. 有三种 DOCTYPE
1) 同时支持 HTML 与 XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2) 严格遵循 XHTML 标记
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3) 如果想使用 HTML frame 时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
13. 将一个网站转换成 XHTML 的过程
1) 增加 DOCTYPE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2) 将所有的元素/属性转换成小写,属性值加引号
3) 对空标签进行处理
<hr /> <br /> <img /> 或 <img ...></img>
4) 用 W3C 验证页面是否遵循 XHTML 标准
http://www.w3schools.com/xhtml/default.asp
2010年10月21日星期四
css 笔记
2010年10月19日星期二
Mysql 表的存贮位置
INNODB Engine 缺省的会将表数据及索引存贮在文件 ibdata1 下,ibdata 的位置与初始大小等是可以配置的,支持多个 ibdata 文件
MYISAM Engine 每个表的数据索引是存在独立的表文件中
2010年9月28日星期二
hosts 无法修改的问题
360 每次总会报 hosts 异常,今天一不小心点了“一键修复”,然后再想改 hosts 文件都无法改了
修改注册表什么的法子都试过了,都不知道如何处理
最后将 跟 hosts 同目录下的 .sam 文件删除就好了
2010年9月20日星期一
支持 aircrack-ng 的网卡
Card name | Chipset | Antenna | Windows support | Linux support | Notes |
Asus WL-167g v2 | Ralink RT73 | Internal | No | Yes | |
Airlink AWLL3026 | Zydas zd1211 | Internal | No | Yes | USB info: 0ace:1211 See Notes 1 and 4. |
Alfa AWUS036E | RTL8187L | RP-SMA | No | Yes | 80mW |
Alfa AWUS036H | RTL8187L | RP-SMA | No | Yes | Click here for a test of this adapter |
Alfa AWUS036S | Ralink rt73 | RP-SMA | No | Yes | Click here for a test of this adapter |
Alfa AWUS050NH | Ralink RT2770F | RP-SMA | No | Yes | |
Digitus DN-7003GS | RTL8187L | Internal | No | Yes | |
D-Link DWL-G122 B1 | Ralink RT2570 | Internal | No | Yes | |
D-Link DWL-G122 C1 | Ralink RT73 | Internal | No | Yes | |
D-Link WUA-1340 | Ralink RT73 | Internal | No | Yes | |
Edimax EW-7318USg | Ralink rt73 | RP-SMA | No | Yes | See Note 2 |
Hawking HWUG1 | Ralink rt73 | RP-SMA | No | Yes | |
Linksys WUSB54G v4 | Ralink rt2570 | No | Yes | ||
Linksys WUSB54GCv1 | Ralink RT73 | Internal | No | Yes | See Note 5 |
Linksys WUSB54GCv2 | RTL8187B | Internal | No | Yes | See Note 5 |
Netgear WG111 v1 | PrismGT SoftMAC | Internal | airodump-ng | Untested | See note 3. Needs a recent GIT kernel from the wireless-testing branch. |
Netgear WG111 v2 | RTL8187L | Internal | No | Yes | See note 3 |
Netgear WNDA3100v1 | Atheros 9170 | Internal | No | Yes | See Note 6 |
TP-Link TL-WN321G | Ralink RT73 | Internal | No | Yes | |
Trendnet TEW-429UB C1 | Zydas zd1211b | Internal | No | Yes | USB info: 157e:300d |
ZyXEL AG-225H | Zydas zd1211 | Internal | No | Limited | See Note 4 |
ZyXEL G-202 | Zydas zd1211b | Internal | No | Limited | See Note 4 |
怎样将 ubuntu 的 gnome-panel 恢复到顶部
昨天将 Ubuntu 10.04 的开始菜单(Ubuntu 叫 gnome-panel) 从默认的上方移到了下方,还加了一个自动隐藏,没想到今天就不能点击菜单上的快捷方式了,折腾了半天才搞定
1. Ctrl + Alt + F1 进入 Terminal
2. cd ~/.gconf/apps/panel/toplevels/top_panel_screen0
3. vi %gconf.xml
4. 找到 auto_hide 项,将 value 设为 false
找到 orientation ,将 stringvalue 的值设为 top
5. reboot
2010年8月11日星期三
maven install missing jars
mvn install:install-file -DgroupId=javax.security -DartifactId=jacc -Dversion=1.0 -Dpackaging=jar -Dfile=jacc-1_0-fr-class.zip
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip
2010年8月10日星期二
2010年6月4日星期五
世界50所知名大学提供开放课程(ZT)
学术权威
1. 麻省理工学院 :麻省理工学院有许多人认为是在该国最广泛
2. 卡内基梅隆大学 :这个奇妙的大学有优秀的学术传统。凭借其
3. 约翰霍普金斯大学彭博公共卫生学院 :约翰霍普金斯大学是世界重要的学校之一。
(http://ocw.jhsph.e
4. 斯坦福大学:这个著名的大学为学生提供的课
5. 圣母大学 :被许多人认为如果不是世界最好也是在该国
6. 杜克大学法律中心的公共领域 :杜克大学之一,是在南方最好的学校。如果
常春藤联盟
7. 哈佛医学院 :虽然它的课程是限制在医学界,但他们是为
8. 普林斯顿大学的通道 :这所常春藤盟校有一整套客座讲座。翻译不
9. 耶鲁大学 :这所美妙的常春藤盟校中的常春藤有一大批
西部学府
10. 加州大学戴维斯分校 :美国加州大学的另一学校。课程进行了广泛
11. 华盛顿大学 :华盛顿大学在美国西部是一个极好的大学。
12. 加州大学欧文分校 :加州大学的另一学校提供的大量的课程。可
13. 加州大学伯克利分校 :加州大学伯克利分校有激动人心的集合,包
14. 犹他大学 :U Moodle(在这所学校的开放式课件集合
15. 犹他州州立大学 :美国犹他州的课程设置十分广泛不等,从第
16. 东犹他学院 :犹他州校训是:“我们一起达成。”这可能
17. 犹他谷州立学院 :另一个犹他州的学校进入我们的名单。这里
科罗那地区
18. 塔夫茨大学 :位于马萨诸塞州的波士顿,这所受到广泛关
19. 马萨诸塞大学,波士顿 :提供包括生物学、数学科目范围的开放课件
20. 波士顿学院的Front Row:波士顿学院是一个具有悠久历史的优
21. *经典播客*:哈弗福德学院 :如果你对经典名著感兴趣,又不介意听播客
中西部学府
22. 密歇根大学 :密歇根州被广泛认为是最好的“平民常春藤
23. 普渡大学 :有兴趣的人士一定能够受益于这些课程提供
24. 宾夕法尼亚库茨敦大学 :您可能还没有听说过库茨敦,但它是一个神
竞争对手更多的知识。(http://w
25. 密歇根州立大学 :斯巴达人也加入了越来越开放的课件的倡议
英国
26. 牛津大学的文字资料馆 :在英国所有大学里牛津大学是最古老,最受
27. Greshem学院 :当谈到音乐这个总部设在英国的大学有着坚
定。(http://www.gresh
28. 格拉斯哥大学 :这个总部设在英国的大学有几个艺术的课程
29. 萨里大学 :英国另一所提供广泛的课程目录、英语和经
30. 诺丁汉大学 :这所大学拥有丰富的历史,它的开放式课件
31. 剑桥大学播客 :剑桥大学是世界首要的学府之一。因此其丰
国际部分
32. 东京大学 :是日本的一流大学之一,他不断加入了开放
33. 南部昆士兰大学 :这项倍受关注的澳大利亚大学提供了免费课
34. 哥伦比亚国立大学 :虽然这个网站是在西班牙,但它仍然具有很
35. 香港大学建筑学课程 :另一个进入我们国际名单的是香港大学。课
(http://www.arch.hk
36. 联合国大学 :你可能从未听说过这个学校,但它的开放式
纯粹在网上的
37. 维基大学 :维基是一个具有广泛影响的项目,旨在提供
38. 公开大学 :这所大学的唯一目的是给在线学生提供免费
(http://openlearn.o
39. 西部州长大学 :在人文科科学领域西部州长大学是重要的在
(http://ocw.wgu.edu
40. 特朗普大学 :如果你对了解企业和企业家更感兴趣,那么
41. 卡普兰诺学院 :虽然这个学院没有得到很好的外部环境和已
(http://ocw.capcoll
42. 新闻大学 :如果你对在报刊或一般写作兴趣,那么由这
43. 电子杂志大学 :电子杂志大学的重点是提供人员的自由,而
不太为人所知,同样是有益的
44. 代尔夫特理工大学 :尽管这所大学并不被众人所知,但在此列出
45. 韦伯州立大学 :如果你在学习英语、健康、汽车机械,那么
46. 蒙特雷国际研究所的技术和教育 :加利福尼亚州蒙特雷是睛好的,…….。 完全不知道讲的是啥意思~(http://
47. 职训局大学 :职业训练局大学有一个关于技术课程的优秀
48. 伯克利音乐学院 :对于那些在音乐上有兴趣的人,伯克利有一
49. 西肯塔基大学 :WKU有各种各样免费的不同的学术论题的
50. 会德丰学院 : 这个学院是相当小和不知名的,但是它的资源
2010年6月3日星期四
Kyoto Cabinet
- There is neither concept of data tables nor data types. Records are organized in hash table or B+ tree.
- Kyoto Cabinet runs very fast
- Moreover, the size of database of Kyoto Cabinet is very small.
- Kyoto Cabinet is written in the C++ language, and provided as API of C++, C, Java, Python, Ruby, and Perl.
- Kyoto Cabinet is a free software licensed under the GNU General Public License.
2010年3月31日星期三
开源界的 5 大开源许可协议
越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象 WordPress,Drupal 这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。
什么是许可协议?
什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。
而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。
GNU GPL
GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:- 可自由复制
你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。 - 可自由分发
在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。 - 可以用来盈利
你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。 - 可自由修改
如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。
GNU LGPL
GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。BSD
BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。
MIT
MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。
这意味着:
- 你可以自由使用,复制,修改,可以用于自己的项目。
- 可以免费分发或用来盈利。
- 唯一的限制是必须包含许可声明。
Apache
Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有一篇文章阐述这个问题)。Apache 协议还有以下需要说明的地方:
- 永久权利
一旦被授权,永久拥有。 - 全球范围的权利
在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。 - 授权免费,且无版税
前期,后期均无任何费用。 - 授权无排他性
任何人都可以获得授权 - 授权不可撤消
一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。
Creative Commons
Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:- 署名权
必须为原始作者署名,然后才可以修改,分发,复制。 - 保持一致
作品同样可以在 CC 协议基础上修改,分发,复制。 - 非商业
作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网站,也有人认为非商业的意思是非盈利。 - 不能衍生新作品
你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。
延伸资源
- Creative Commons Licenses
Creative Common 许可的官方条款与解释 - Open Source Initiative
包含各种开源协议资源 - Open Source Licenses Comparison
对主流开源协议的对比 - Understanding Open-Source Licensing
开源协议详解 - HOW TO: Pick an Open Source License
如何选择不同的开源协议
中文编译来源:锐商企业CMS 网站内容管理系统 官方网站
2010年3月30日星期二
sqlserver 数据库表及日志太大的问题
1. 问题:数据库日志文件太大
解决步骤:
1) 打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
2) 打开企业管理器--选择数据库名--任务--收缩--文件--类型选择日志--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
2. 问题:事件数据库太大
方法:
1) 打开企业管理器--选择数据库名--备份-选择备份集过期时间及备份位置
注:收缩数据库及备份均可以在维护计划中设置定期处理
2010年3月1日星期一
ubuntu 9.10 安装 vidalia 后,启动后无法正常使用代理
启 vidalia 时,privoxy 没有正常起动,原因是 privoxy 找不到 config 文件
将 /etc/privoxy/config 拷贝到 /home/zjf/下即可
注:今天重启系统后,发现还是不行。必须每次重启 vidalia 后,还得重启 privoxy 才行
执行 /etc/init.d/privoxy start
2010年1月14日星期四
connect timeout & connect refused
1. connection timeout occurs:
the IP address for the requested server is successfully found,
connection establishment packets are dispatched to the IP address,
the destination address deliberately ignores or does not receive them
your packets are just being lost.. either the system or some intermediate system is firewalled. follow CMA's advice.. if you cant connect using telnet, a browser or some other app, its a network problem, not a java one
2. Connection Timeouts (assuming a local network and several client machines) typically result from
a) some kind of firewall on the way that simply eats the packets without telling the sender things like "No Route to host"
b) packet loss due to wrong network configuration or line overload
c) too many requests overloading the server
d) a small number of simultaneously available threads/processes on the server which leads to all of them being taken. This happens especially with requests that take a long time to run and may combine with c).
2. similar to connection timeout is Connection Refused:
but in this case the destination system is actually sending packets back saying "go away, there is no service running on the port you are trying to connect to"