Australia Store Discounts & Bargains








http://www.lasoo.com.au/

http://www.ozbargain.com.au/

http://www.graysonline.com/


Eclipse for Linux IA64








http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/

http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/download.php?dropFile=eclipse-SDK-3.2-linux-gtk-ia64.tar.gz


寂寞的熊猫














File Upload Servlet (GWT)








http://www.jspwiki.org/wiki/MakingAnUploadServlet


http://stackoverflow.com/questions/624891/gmail-like-file-upload-progress-bar-with-gwt


http://www.servlets.com/cos/index.html


http://stackoverflow.com/questions/1111130/basic-file-upload-in-gwt

http://commons.apache.org/fileupload/using.html
http://www.codemiles.com/servlets-jsp/servlets-how-to-upload-files-t282.html




http://www.jguru.com/faq/view.jsp?EID=160


Show Desktop.scf missing








To restore the "Show Desktop.scf" in Quick launch.

1. Create a text file named "Show Desktop.scf", copy & paste following into the file and save.

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

2. Right click the file and drag it to Quick Launch toolbar. (You can remove the old one first.)


javascript: replace all








alert(new Date('21-Apr-2009 17:55:15'.replace(/-/g,'/')));


Linux Mint 7 安装中文输入法








  • As root
    • sudo apt-get install language-support-input-zh scim-bridge-client-gtk
  • As normal user
    • im-switch -z `locale |grep LANG` -s scim-bridge



猫扑百强经典回复








1:问:粉红色羽绒服挤公车时蹭了块儿黑的怎么清理掉?
回复:理论上讲,从粉红色逐渐变成黑色的过程是不可逆的

2:问:我和男友一起租的房子,现在他问我要房租,我该怎么办?
回复:我人都是你的了,房租就一B勾销吧

3:问:皇上,您还记得当年大明湖畔的夏雨荷嘛?
回复:记的,价格很便宜,mopper都说她技术很好

4:问:我和女友同姓同名,很郁闷,有时候有人叫名字都不知道是叫谁。。。。。。
回复:我这辈子最恨的就是日 本人了!

5:问:我儿子初三,正在中考。
夏天公司要求我们员工穿丝袜。
回到家,儿子喜欢坐我身边摸我穿丝袜的腿,难道他有性意识了吗?
我推了好多次都不管用。怎么办啊?他才14岁啊,我是不是太溺爱他了。
回复:把你带有浓郁脚汗味的臭脚塞到你儿子嘴里.如果还不行,只有让你儿子塞你了

6:一牛B楼主问:大家有什么不敢点击的网站告诉我,我来点给你们看。
回复:www.一点就操楼主他妈.com

7:一猫扑猥琐男贴自己照片
问:我长得像伍佰吗?
回复:你只像一半

8:变态楼主:准备割包皮,不想遇见女医生接诊,扭捏半天不好意思说,问大家怎么办,该怎么说?
暴强回复:告诉丫把高领改翻领的

9:问:今天见男网友对方一直暗示想上床,想问:难道现在网友见面就是为了上床?
回复:网友见面不上床?你开什么玩笑,大家都这么忙。回家上猫扑吧。

10:问:说说中国的30分钟新闻联播。
回复:有什么说的?MOPPER都知道,前十分钟,领导们很忙。中十分钟,全国人民都很幸福。后十分钟,世界上其它国家人民都生活在水深火热之中。

11:问:卡巴斯基和巴基斯坦有什么关系?
回复:有基巴关系。

12:问:男朋友和我闹矛盾了,是不是我逼太紧了?
回复:是太松了…

13 不知对“日” 是否应该赋予新含义
回复:卜口-->日-->旧

14:泰国5人组团对中国武术下挑战书!扬言:得到的冠军可以覆盖长城
回复:1:霍元甲 方世玉 黄飞鸿 李小龙 叶问,就先整着5个上吧
2:郭靖 杨过 张三丰 张无忌 独孤求败这几个垫后
3:春哥 曾哥 压阵

15:问怎么样让男朋友讨厌我,主动和我分手。智商高点儿的办法。
回复:床下面放个小箱子,里面放些散钱 几个鸡蛋。

16:求助各位达人,小猫最近喜欢上一个男生,怎么让他知道呢?
回复:你支支吾吾:我出了很多的血 自己没法出门 你去帮我买些。。。挂断电话
如果他买来了WSJ 你就直接表白
如果买来创可贴 你就死心吧

17:ML时怎么防范才更安全???
回复:一定要把女朋友的狗牢牢的拴在卧室外
我有个男同学 第一次去女友家 关键时候被狗咬了 沮丧的很哩

18:我方向感比较奇怪,小学初中在家里上,方向感是正常的,高中在市里上,真实的方向始终和我潜意识里的方向相差180度,大学在南京,方向感又正常了,现在在苏州,真实方向和潜意识里的相差90度,所以我现在随便进了一间看不到太阳的屋子,我是没办法指出东南西北的
今天和一位女性朋友聊到这个问题,她说她从小就没有什么方向感
而其他有的朋友几乎是完全正常的,为什么存在这么大的差异,
啥原因造成了这种现象?有没有解决的办法
回复:部分女人会缺乏方向感
我曾经有个女友
进了房间后 我指着床说你躺下
她扭扭捏捏得趴在了床上

19:创意电灯组合
回复:嗯 寓意深刻
现代人往往沉迷于插头插入插座不断的活动
却忘了初衷是为了点亮内心那盏爱情的灯

20:成龙做的广告“霸王”洗发水有用吗?
回复:没用,起码目前仍然白虎的一个女网友告诉我的

21:对联:溪边日出洞边雨
下联:道士无情雀有情

22:问:以前万一皇上的儿子跟妃子发生了关系改怎么办
回复:惶惶不可,终日

23:应该禁止女生上大学
回复:应该这样看:女大 学“生”



24:题目美女只有8年保鲜期(想美女的必看)
回复:新不新鲜主要看水分的多少


25:曾轶可:虽然我只是一只羊,羊儿的力量难以想象~~
回复:曾哥是“说唱界”的一朵奇葩

26:挑战贴。。。除了我还有谁能用舌头舔到鼻子尖。。。。。
回复:额,

27:为什么女人见了面都想和我上床捏?
回复:因为你长得象JB

28:变态楼主:汪汪汪
回复:乖儿子。

29:楼主:是被人叫大叔惨还是叫弟弟惨?
回复:大叔你弟弟出来了。

30:请大家用一句话来BT一位女人?!
回复:你下面怎么这么大阿 这么大阿 这么大阿 这么大阿 这么大阿 这么大阿 这么大阿 这么大阿 这么大阿,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈.

31:召集蛋疼的我们一起来“爆改成语”
回复:除膜慰道

32:楼主求助:GF叫高兰,哪位高手用“我爱高兰”做个藏头诗,谢谢~~~
回复:
我是个垃圾
爱去红灯区
搞了十几回
烂了小JJ

33:楼主发布世界最短的小说:
回复:夜
男:“疼么?”
女:“嗯!”
男:“算了?”
女:“别!”
回复:
一、《下面》一女人对一男人说:来我家吧,我下面给你吃。
二、《请客》男人对女人说:我请你吃饭吧?女人答:不了,改日吧

34:楼主问:我朋友包皮过长 有害羞 怎么办
回复:我认为楼主的根本原因不是包皮长 而是小JJ太短

35:求一句经典的话
淫的一手好湿不难,难的是淫一被子的好湿

36:楼主求助:求嵌"陈娇(男) 林燕(女)"四字的婚联.不胜感激!!!
回复:
上联:陈年娇妻已出墙
下联:林中尽是分飞燕
横批:今世无缘

37:楼主:弟弟带回家的女友,竟然是我男友的前女友!这个女的,
前两个月还拼命发信息给男友要要求复合呢,平时也动不动发一些暧昧的信息给男友。
我还打电话警告过她不要做这些无聊的事,然后跟男友互换的手机号用呢!我怕说了,
弟弟会伤心,他从来都没谈过恋爱,会接受不了!怎么办呢?大家给我点意见吧!
回复:你弟弟可以日后再说!

38:在公交车上JJ硬了支起了帐篷怎么办啊!
回复:你可以找个漂亮MM,小声跟她说:“妹妹,能不能帮个忙,我弟弟晕车,要吐...”

39:楼主:请问北京是如何体现本次奥运会为绿色人文奥运的?
回复:不是请谢霆锋来唱歌了吗?

40:楼主:你看我的头像牛B么?
回复:像。

41:为什么胡主席访问日本,日本方面比较冷淡,甚至机场连欢迎标语都有没挂?
回复:怎么挂?热烈欢迎中国老朋友来日?

42:单位人都说我长得像韩国人,大家说像吗?
回复:因为你长得像个棒子,单位同事又不好意思明说,所以只好说你长得像韩国人!

43:今天晨勃被闺女看到了,好丢脸
回复:小妮,来玩不倒翁····

44:怎样花20元哄女友开心?
回复:买盒杜蕾斯 和她用完


45:交了一个男朋友,但是人太木呆了。一点情趣都没。
和他在一起快乐的少,吵架的多。
真不想和这种笨男人在一起了!白白的耽误自己的青春!
今天我们分手了,心里当然难过,难过的是竟然和这样的人交往了两年。其中的酸甜苦辣更是一言难尽。
作为一个过来人,我想说的是,千万别和太笨的男人交朋友。他们会把你气疯的!
今天特立此贴,以悼念那段痛苦该死的恋情!!!
回复:猫(1):今晚,消失了几天的男友突然来到了楼主的家里,
一进屋便迫不及待的把楼主按到床上揉搓起来。
楼主嗔怒的看着如此没有情趣的木呆男友,心底泛起一丝凉意。
但在男友粗鲁又用力的揉搓之下,主楼竟然有了一丝欲望,呼吸越来越急促,最后竟呻吟了起来.....
终于,被揉搓的满脸红晕的楼主娇声对男友叫道:“来吧!”
男友停下双手表情疑惑的问道:“这么晚了还去哪里?”
楼主青着脸道:“我大姨妈刚走,我们来吧!”
男友听罢,竟然从楼主身上爬了起来,开门向外面跑去,边跑边回头喊道:“晚上车站太乱,我还是去送送她老人家吧”

46:楼主:假如你是曾轶可,你告别快女时结束语怎么说?
RT,征求惊人的语句
回复:咱明年快男见

47:楼主:出一联:<上海自来水来自海上>。能对出来吗?

能对出来吗?(上海自来水来自海上)。。。倒起念也一样,,,是不是很有意思?喜欢的就来试试

回复:日照老年人年老照日(工整大气,言简意赅!猫斯卡年度最佳对联)
明天到操场操到天明

48:楼主:说说你最爱的人伤你最深的一句话
回复:你进去啦

49:楼主:杀人灭口时说什么最酷?
回复:“1+1等于几?”
“2”
你知道的太多了

50:楼主:放烟花打下来一架飞机,怎么办啊?
回复:是这样吗?管理员 认为此讨论很有个性,奖励:草泥马一匹、雅蠛蝶一只、草泥蝶一只,法克鱿一条、马勒戈壁七日游。

51:楼主:我老婆把我的QQ昵称改成了DML,啥意思啊?
我老婆把我在他QQ里面的备注改成了DML,啥意思呢?希望各位猫友能提供提供答案哦,谢啦!
回复:扑(6):屌没了!
猫(7):AML;BML;CML;DML很不幸,你只排第四!
扑(44):电毛驴(评:这个。。。蛮有深度- -}})

52:楼主:我喜欢的女孩想出家当尼姑,我该怎么办呢?
她说她已看破红尘,而我还爱她,该如何是好?
回复:猫(5):凝望着自己心爱的女孩,楼主只道:“你莫非真的要离我而去吗?”
女孩见他伤心欲绝的样子,一时不知怎么说才好,只好道:“抱我。”
楼主忙伏下身去,紧紧拥住女孩,鼻口在她胸口乱拱乱揉,低声的说道:“在分手前我们做最后一次好吗?”
女孩娇媚地撩了他一眼,应道:“想怎样便怎样……莫问我。”
楼主急忙掀开她上边的白衬衫,见女孩里面围着只粉红色小肚兜,衬得周边肌肤腻白胜雪,上边露出半条深深酥沟,煞是撩人,一手扯低肚兜,半只尖尖翘翘的玉乳顿时弹了出来,峰处一粒惹人无比的殷红椒头颤巍巍晃动,更迷人的是其周围的一圈轻晕,竟若去皮的樱桃外敷一层蚕膜,又嫩又柔,楼主爱不释手的抚玩了一阵。女孩秀发凌乱,痴痴迷迷,把那百样娇羞千般香艳都献了出来。
而楼主的手愈发的不老实向着女孩的小内内之中摸去,
女孩环臂抱住楼主的腰,任由他肆意玩耍,鼻口中发出了猫儿似地迷人娇吟。不知怎么,楼主忽然停止了动作惊愕的看着女孩。
女孩迷茫道:怎么了?
楼主:你。。你的毛呢?
女孩心头猛地一颤,站起身整理好衣裳交给楼主一个信封,头也不回的走出门去。
楼主打开信封,从里面飘散出一缕缕卷曲的毛发。此刻,楼主眼泪不争气的滑落,他念叨着:“我们缘分真的已尽,她瞒着我都剃度了!”

53:女孩子练跆拳道会导致处女膜破裂嘛?
回复:这得看教练

54:李宇春和芙蓉姐姐掉河里,你手里有一块砖,你砸谁?
回复:谁救砸谁!

55:问:为什么我吃了避孕药 我老婆还是怀孕了?????
回复:孩子不是你的


56:广东关闭270多个淫秽色情网站(图)网警潜伏11万家网站,端掉45个联盟网站,广东270多个淫秽色情有害网站被关闭。广东省公共安全专家厅昨日召开新闻发布会,介绍广东省公共安全专家厅网警总队在3月到7月实施代号为“09亮剑”打击网络淫秽色情专项行动有关情况。
回复:还让人活吗?
在深夜里辗转不能入睡
打开电脑输入熟悉的网址
结果显示您输入的域名不存在
换个网站结果还是您输入的域名不存在
您输入的域名不存在...
您输入的域名不存在...
我关掉了IE打开了暴风影音,看着屏幕上《不差钱》里小沈阳的脸我默默的脱下了裤子...
泪,滑过眼角...

57,曾到MM家做客,入厕留痕,羞愤欲死
小某不才,觉得纳闷,从来没听周围的人抱怨这件事,莫非大家从不被溅到?
马桶是西方的重要发明,他们用了一百几是年难道就不在意这一弊端?
还是说大家其实都知道坐马桶的秘诀只有小楚我没听说?恳请各位赐教
回复:拉大便的时候,用手接著的便便,然后再小心翼翼的放进马桶水里面,这样不就溅不到PP上了吗!

58:问:女人的体香是从哪里来的
回复:在那左腿的右边右腿的左边有一片黑森林。。。

59:为什么篮球和足球在猫扑上人气旺
回复:国足九十分钟不射 强!NBA二十四秒违例 衰!

60:我给她们化的不是妆,是寂寞!小猫在一个化妆学校任教,直接上图,不解释。(多图见原帖)
回复:化妆的定义就是你化了妆我还认得你。你化了妆我就不认得你了那不叫化妆,叫乔装。

61:问,我游戏老挂怎么不办?
答,信春哥,原地满红恢复

62:楼主:我要是长了两根jb该多好啊
回复:那你今后只能找个2b了

63:楼主:我昨晚刚被我女朋友甩了,
我:我昨晚刚因为喜欢上了另一个女孩而甩了原来的女朋友,我混蛋啊……

64:变态楼主:老婆不喜欢花,送什么好呢?
回复:黄瓜。最带好刺的。唉 作为一个男人我替你悲哀!你老婆明摆着暗示你她需要!因为她不喜欢花那是因为她喜欢cao!罪过 罪过!

65:楼主:在女友床上翻出一根胡罗卜,我厉声质问她:“这是怎么回事?”
回复:楼主女友:“这是我昨天喂兔子剩下当零食吃的,不行啊?

66:楼主:那夜我上了老婆情夫的老婆和女儿。
回复:楼主看标题就可以顶你,真牛×。我怎么就不行呢?看来绿帽子戴出经验了,都可以写小说了,钢钢的

67:楼主:央视《新闻联播》,我心爱的电视节目。
回复:像这种能几十年如一日,坚持说真话的节目真是世所罕见。

68:楼主:求助一个女孩送了我一张照片是什么意思啊?
回复:召日,时间下午四点。

69:楼主:很严重很严肃的问题:有那么几根毛竟然比勃起后的JJ还长。
回复:这不能怪毛!你是知道的…

70:楼主:一个女人去隆胸,隆两边是10万,而隆一边是3万,为什么?
回复:呵呵。鸡隆波,新加坡,真是一波三折!

71:媳妇生了个宝宝,真高兴!(图)
回复:我也是,四年都没有回家了,听说媳妇给生了个大胖小子,真想回家看看

72:女人是水做的,男人是泥做的。那曾哥是什么做的?
回复:水泥

73:男人要咪咪有什么用!
回复:区分背面与正面!

74:叶一茜在《神雕侠侣》里扮演的什么?
回复:雕

75:被一群人围殴以后, 说一句什么话最牛叉?
回复:草,多大个事,还以为是暴菊呢。

76:为什么许仙要女的演
回复:因为蛇是国家保护动物 怕捅坏了了

77:请用一句话形容国足和国蓝。
回复:哥就是不进,管她洞大洞小。

78:楼主:为什么女生坐下时要摸下屁股?
回复:把脱离正确位置的WSJ推回到凹槽内!

79:经典广告
回复:
1:优乐美广告:
男:我是你的什么?
女:你是我的安尔乐阿~
男:阿~原来我是卫生巾阿?
女:这样,我就可以把你夹在下面了~
男:笑~
2:老干妈广告:
女:我是你的什么啊?
男:你是我的老干妈!
女:啊?原来我只是辣椒酱啊!
男:因为我下面离不开你啊
女:笑

80:相比之下,春哥强还是曾哥厉害?!
回复:曾哥比较厉害,因为他曰四人;春哥只能曰三人

81:楼主:秀一秀我和我的苏格兰牧羊犬啊(附图)。
回复:哪只是啊?左边的,还是右边的?

82:楼主:该死的理发店把我头剪坏了!大家出点损招,要求破坏性越大越好,动静越小越好,因为是我一个人去。
回复:半夜三更,月黑风高,静静地、轻轻地,一个人吊死在理发店门口……

83:股市的达人们啊,请告诉我北京奥运会开幕前一天满仓能否把钱赚暴了?
回复:不能,因为8月是以往中国股市最最危险的月份之一,其他最最危险的月份分别是3月、7月、1月、9月、10月、11月、5月、6月、12月、4月和2月。


84:好一位女子,求下联
回复:肏一下肏入肉

85:我的男友这样…… 他总是戴着女同事送他的手链,以前就和这个女同事关系暧昧.认识我以后,我曾玩笑的说我生气,是想让他不要戴了.后来,他还是戴着,说要一直戴着,就因为喜欢这个手链而已.我一直认为,既然两个人在一起了,就要顾及对方的想法,不能再仅凭自己喜欢怎么样就怎么样了,如果还是这样,何不一个人生活,继续和别人大搞暧昧呢?大家说说,是我小气了,还是他不好?
回复:请摘下你的戒指 它弄疼了我:对不起 那是我的手链

86:那天看NBA,表嫂很强一句话
记不清具体是什么时候了,反正是火箭客场.跟表哥一起看.
表嫂在旁做沉思装半天后要求换台,表哥说要看要命打球,表嫂又问哪个是要命,表哥说场上最高的那个.表嫂"哦"了声,然后问:"为啥那么多外国人在中国队里?"表哥跟我当场晕~~
回复:我看到表嫂就冲进来了

87:楼主:我每天和女朋友约会肯德基,我是第一次去,怎么装才像经常去的样子?
回复:请帮我来两份麦当劳
回复:请帮我来两份牛肉面,只要牛肉不要面。

88:楼猪:日本东升,照耀九州四海。
回复:月经来袭,红遍扶桑东瀛。

89:我在重庆一所大学,这里美女如云,且多数风骚,男女比例1比8,怎样做到同时拥有8个女友,又能让后宫和谐相处呢?
回复:还有10%是人妖啊??

90:弱弱的问下:拉屎应该什么姿势啊?
回复:你可以试下站着拉或者躺着拉。

91:Mj的舞步是模仿劲舞团的
回复:看来你妈还是处女!

92:召唤大家曾经最色的事情
回复:带儿子去洗澡,地很滑儿子将要滑倒时一把抓住我的jj才没倒下.骂到,他妈的 幸亏和我来的,要和你妈来非摔死你!

93:泰国5人组团对中国武术下挑战书。
回复:在街边随便抓个城市管理者上去就能秒他们伍人了~~~
回复:关门我要放少林方丈了
回复:国足冷笑一声
回复:中国城市管理者,以一敌万
回复:朕的五虎上将速速进殿
曾哥,春哥,小沈娘,羊叫兽,胡兵。。。
大战一触即发
神目杀首先发难,闪向曾哥身边,欲出其不意而攻之,曾哥眼中闪出一丝不屑,却将朕的威武大殿当成是超女现场,手抱吉他,双眼微斜,一曲绵羊断肠散瞬间即发,此招全凭内力发出,劲力却大得惊人,神目杀尚未反应,却只觉耳膜震荡,犹如翻江倒海,“咚”的一声跪倒在地,大喘粗气!不多时便觉经脉逆流,真气鼓荡,神目杀用尽最后的力气微微抬起神目,却见曾哥嘴角上翘,眼神中满是鄙视之意。。。曾哥一招击杀神目杀,鬼见膝大吼一声,曾哥只觉下体一冷,鬼见膝一招已夹着劲风直逼曾哥的会阴要穴,快,准,狠!!!
曾哥已避不开此招,但他也不必避。只听“当”的一声,一根棒状物硬生生的接下此招,鬼见膝还没看清此乃何物,却已被震出三丈之外,退了十余步方且站住,定睛一看,春哥手持一杆亮银枪护住曾哥,鬼见膝大怒,提气再上,这一招来的比上招更快更猛,春哥却犹如闲庭信步,一步间却已绕至其身后,鬼见膝大惊,便欲转身防御,却只听一声惨叫,枪已入菊,菊已爆开,鲜血四溅,春哥收枪,带起鲜血画出半道弧线,一进一出,已臻于化境,迅捷无比,旁人皆没看清春哥出招如何,却只见得鬼见膝菊花已血流成河,魔术锥上前抱住他,只听鬼见膝嘴唇蠕动:能在春哥抢下死,便是做鬼也风流。三弟你的小刚锥差之千里,还是回了罢。。。

94:大家来谈谈猫扑的精神
回复:管理员处理色情图片步骤:
1.右键另存为
2.迅速登陆马甲留邮箱求种
3.删除

95:女孩,你该怎么做?
回复:亲兄,弟明算帐

96:我捡到10块钱,想开银行。不知道还差什么~
回复:还差三块钱

97:半夜三更去厕所干嘛?
回复:带孩子出来透透气

98:100000MP挑战你的思维
要求如下:
1.要YD
2.要别人一看见就会笑
3.有深度
4.有诗意
回复:
轻轻的你湿了
1.Y而不D
2.想到下一句的会笑
3.有深度的人会接:正如轻轻的我硬了
4.诗意淫然

99:求一个最牛B的ID.
回复:女友糖尿病害我蛀牙

100:女上司问我特长是什么?
回复:老二



XSLT for GWT








http://www.ebessette.com/d/software/XSLTForGWT

XPATH for GWT: http://realazthat.blogspot.com/2009/08/xpath-for-gwt.html


dosbox for Windows Mobile/Pocket PC








http://n0p.tonych.info/?DOSBox_PPC


Third Party Java Libraries: Apache Commons, Google Collections








Apache Commons:SLF4J

Google Collections


See Also: 11 Lesser Known 3rd Party Libraries For Every Project


Google Javascript Tools: Closure Tools








Web applications have evolved from simple HTML pages into rich, interactive applications that provide a great user experience. Today's web apps pose a challenge for developers, however: how do you create and maintain efficient JavaScript code that downloads quickly and works across different browsers?

The Closure tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include:

A JavaScript optimizer

The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what's left so that it downloads and runs quickly. It also also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source.

A comprehensive JavaScript library

The Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more.

The Closure Library is server-agnostic, and is intended for use with the Closure Compiler.

An easy templating system for both Java & JavaScript

Closure Templates simplify the task of dynamically generating HTML. They have a simple syntax that is natural for programmers. In contrast to traditional templating systems, in which you use one big template per page, you can think of Closure Templates as small components that you compose to form your user interface.

Closure Templates are implemented for both JavaScript and Java, so that you can use the same templates on both the server and client side. For the client side, Closure Templates are precompiled into efficient JavaScript.




Extjs: Selecting row(s) in grid once rendered










var grid = new Ext.grid.GridPanel({
idx : [1,2,3],
viewConfig: {
afterRender: function(){
this.constructor.prototype.afterRender.call(this);
this.grid.getSelectionModel().selectRows(this.initialConfig.idx);
}
}
});
See Also: http://www.extjs.com/forum/showthread.php?p=223542#post223542


Extjs CheckboxSelectionModel: Disable Row Selection Model But Keep Checkbox Selections








var MyCheckboxSelectionModel = Ext.extend(Ext.grid.CheckboxSelectionModel, {
// Disable the default rowselection model function
handleMouseDown : Ext.emptyFn
});



extjs: Selecting a row in grid once rendered










var grid = new Ext.grid.GridPanel({
...
viewConfig: {
afterRender: function(){
this.constructor.prototype.afterRender.call(this);
this.grid.getSelectionModel().selectFirstRow();
}
}
});


See Also: http://www.extjs.com/learn/Tutorial:Creating_new_UI_controls#Method_injection




extjs: GridPanel not displaying scroll bars








Solution:


1. configure layout explicitly in the container object.
2. configure width, height explicitly in the GridPanel object.

See Also: http://extjs.net/forum/showthread.php?t=73727


extjs: find an record in a store









var id = '12';
var index = store.find('id',id);
var record = store.getAt(index);



extjs: TextField/Field 100% width








new Ext.FormPanel({
labelWidth: 75,
autoWidth: true,
items: [{
xtype: 'textfield',
fieldLabel:'Name',
anchor:'100%'
}]
}


Note:

1. The container component set autoWidth to true

2. The TextField item set the anchor value


anchor : 'width height'
exemple:
anchor:'100% 98%'
or
anchor:'-29 -10'//(bodycontentwidth - 29, bodycontentheight - 10)





Free Calendar Sharing Server: DAViCal








DAViCal is a server for calendar sharing. It is an implementation of the CalDAV protocol which is designed for storing calendaring resources (in iCalendar format) on a remote shared server.

An increasing number of calendar clients support the maintenance of shared remote calendars through CalDAV including Mozilla Calendar (Sunbird/Lightning), Evolution, Mulberry, Chandler, and various other closed-source products such as Apple's iCal and iPhone.




Online XML formatter








http://www.shell-tools.net/index.php?op=xml_format





jsLinb: Javascript RAD








http://www.linb.net/
http://www.longboo.com/


javascript: == and ===











Top 10 Programming Fonts








http://hivelogic.com/articles/top-10-programming-fonts


Javascript: Check if iframe is loaded








var iframe = document.createElement("iframe");
iframe.src = "http://notepad2.blogspot.com/";

if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
alert("Local iframe is now loaded.");
});
} else {
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
}

document.body.appendChild(iframe);

See Also: iframe, onload and document.domain


Code Formatting for Blogger/blogspot.com








http://formatmysourcecode.blogspot.com/
http://www.manoli.net/csharpformat/







Javascript XML Functions: serialzer, parser, XPATH








My = {};
My.xml = {
node : {
ELEMENT_NODE : 1, // Element
ATTRIBUTE_NODE : 2, // Attr
TEXT_NODE : 3, // Text
CDATA_SECTION_NODE : 4, // CDATASection
PROCESSING_INSTRUCTION_NODE : 7, // ProcessingInstruction
COMMENT_NODE : 8, // Comment
DOCUMENT_NODE : 9, // Document
DOCUMENT_TYPE_NODE : 10, // DocumentType
DOCUMENT_FRAGMENT_NODE : 11
// DocumentFragment
},
parse : function(txt) {
var doc;
if (typeof ActiveXObject != 'undefined') {
// Internet Explorer
doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = "false";
doc.loadXML(txt);
} else if (typeof DOMParser != 'undefined') {
// Mozilla Firefox
doc = (new DOMParser()).parseFromString(txt, 'text/xml');
} else {
var url = 'data:text/xml;charset=utf-8,' + encodeURIComponent(txt);
var request = new XMLHttpRequest();
request.open('GET', url, false);
request.send(null);
doc = request.responseXML;
}
return doc;
},
serialize : function(xmlObj) {
if (typeof xmlObj == 'object') {
var doc = xmlObj._xml ? xmlObj._xml : xmlObj;
if (doc.xml) {
// Internet Explorer
return doc.xml;
} else if (typeof XMLSerializer !== 'undefined') {
return (new XMLSerializer()).serializeToString(doc);
}
}
throw new Error('Cannot convert/serialize XML node: ' + xmlObj + '.');
},
xnodes : function(xe, xpath) {
var nodes;
if (window.ActiveXObject) {
nodes = xe.selectNodes(xpath);
} else if (window.XPathEvaluator) {
var result = (new XPathEvaluator()).evaluate(xpath, xe, null,
XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
nodes = [];
if (typeof result != 'undefined' && result != null) {
var node = result.iterateNext();
while (node) {
nodes.push(node);
node = result.iterateNext();
}
}
} else {
throw new Error('Failed to perform xpath. Your browser does not support XPATH.');
}
return nodes;
},
xnode : function(xe, xpath) {
var node;
if (window.ActiveXObject) {
node = xe.selectSingleNode(xpath);
} else if (window.XPathEvaluator) {
// FIRST_ORDERED_NODE_TYPE returns the first match to the xpath.
var result = (new XPathEvaluator()).evaluate(xpath, xe, null,
XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (typeof result != 'undefined' && result != null) {
node = result.singleNodeValue;
}
} else {
throw new Error('Failed to perform xpath. Your browser does not support XPATH.');
}
return node;
},
xvalues : function(xe, xpath) {
var values = [];
var nodes = this.xnodes(xe, xpath);
if (typeof nodes !== 'undefined' && nodes != null) {
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
switch (node.nodeType) {
case this.node.ATTRIBUTE_NODE :
values.push(node.nodeValue);
break;
case this.node.ELEMENT_NODE :
node.normalize();
var text;
for (var j = 0; j < node.childNodes.length; j++) {
var childNode = node.childNodes[j];
if (childNode.nodeType === this.node.TEXT_NODE) {
text = childNode.nodeValue;
break;
}
}
if (typeof text !== 'undefined' && text != null) {
values.push(text);
}
break;
}
}
}
return values;
},
xvalue : function(xe, xpath) {
var value
var node = this.xnode(xe, xpath);
if (node) {
if (node.nodeType === this.node.ATTRIBUTE_NODE) {
value = node.nodeValue;
} else if (node.nodeType === this.node.ELEMENT_NODE) {
node.normalize();
for (var j = 0; j < node.childNodes.length; j++) {
var childNode = node.childNodes[j];
if (childNode.nodeType === this.node.TEXT_NODE) {
value = childNode.nodeValue;
break;
}
}
}
}
return value;
}
};



mpasdlta.vdm files, what are they?








Found some files:

54745E76-72DF-4DA2-8645-FB3B5309E59Fmpasdlta.vdm
E807547F-E653-4B2D-9122-7780CA959237mpavdlta.vdm

in D:\3ab3f9c0468c0b3ffcbb46.

According to this post they are delta signature set of MS AntiSpyware definitions. (I am using MS Security Essentials which includes MS AntiSpyware).


extjs: createDelegate








http://www.extjs.com/deploy/ext/docs/output/Function.html#createDelegate


毛泽东谈律诗








1965年春,陈毅将加工修改后的《六国之行》共7首诗呈寄给了毛泽东。同年7月21日,毛泽东复信陈毅,对第一首作了修改,并加了一个题目《西行》:

  万里西行急,乘风御太空。

  不因鹏翼展,哪得鸟途通。

  海酿千钟酒,山栽万仞葱。

  风雷驱大地,是处有亲朋。

  《西行》这首诗主要是从总体描述了当时出国的情景,后面的六首则分别抒发了访问六国的感受。经过毛泽东修改后的《西行》,不仅在形式上更加完美,成为 非常严谨的五言律诗,而且内容愈加充实,远远超过了某一次出国访问的范围。比如“鹏翼展”、“鸟途通”、“千钟酒”、“万仞葱”,这些诗句都是毛泽东的神 来之笔。可以说,《西行》这首诗是毛泽东和陈毅的共同创作,是他们联袂合作的结晶。

毛泽东这次给陈毅的信是专门谈诗的。在信中,毛泽东对诗歌创作和中国诗歌的前景发表了许多深刻的见解,体现了对文字、音韵、训诂等方面的极深造诣,是一篇不可多得的、有重要价值的“诗论”,也是两位革命家几十年诗交的结果:

陈毅同志:

  你叫我改诗,我不能改,因我对五言律,从来没有学习过,也没有发表过一首五言律。你的大作,大气磅礴。只是在字面上(形式上)感觉于律诗稍有未合。因 律诗要讲平仄,不讲平仄,即非律诗。我看你于此道,同我一样,还未入门。我偶尔写过几首七律,没有一首是我自己满意的。如同你会写自由诗一样,我则对于长 短句的词学稍懂一点。剑英善七律,董老善五律,你要学律诗,可向他们请教。

  只给你改了一首,还很不满意,其余不改了。

  又诗要形象思维,不能如散文那样直说,所以比、兴两法是不能不用的。赋也可以用,如杜甫之《北征》,可谓“敷陈其事而直言之也”,然其中亦有比、兴。 “比者,以彼物比此物也”,“兴者,先言他物以引起所咏之词也”。韩愈以文为诗,有些人说他完全不知诗,则未免太过,如《山石》,《衡岳》,《八月十五酬 张公曹》之类,还是可以的,据此可以知为诗之不易。宋人多数不懂诗是要用形象思维的,一反唐人规律,所以味同嚼蜡。以上随便谈来,都是一些古典。要作今诗 则要用形象思维的方法,反映阶级斗争与生产斗争,古典绝不能要。但用白话写诗,几十年来,迄无成功。民歌中倒是有一些好的。将来趋势,很可以从民歌中吸取 养料和形式,发展成为一套吸引广大读者的新体诗歌。又李白只有很少几首律诗,李贺除有很少几首五言律外,七言律他一首也不写。李贺诗很值得一读,不知你有 兴趣否?

  祝好!

  毛泽东

一九六五年七月二十一日

陈毅对这封信是极为珍爱的,他不仅经常翻阅,而且在他晚年的重病期间,每次住院都要把这封信带在身边。也就是在病房里,他的家人才第一次看到了这封信。这是自1957年春夏间他们以书信的形式相互交流对诗歌的意见以来,又一次重要的“诗人对话”。

“文革”中的陈毅受到冲击,毛泽东曾以古语相赠:“尧尧者易折,皎皎者易污。阳春之曲,和者盖寡。盛名之下,其实难副。” 让陈毅备受鼓舞。


A good DICOM book at Google Books








Digital Imaging and Communications in Medicine


Baby Instructions 3





















Baby Instructions 2




















Baby Instructions















Eclipse Java color themes








http://srand2.blogspot.com/2009/08/eclipse-color-themes.html

download the themes.


Extjs Utilities: createDelegate, createCallback








Here it is.


转一篇看阅兵贴








转一篇看阅兵贴

作者:马骋


1、功劳最大的是在分列式上没有出现的气象部队,从前两天的连绵秋雨、今天一大早的阴霾不开,到大典开始居然蓝天白云,真乃神功!然而他们的努力被CCTV毁了。整个分列式都TM在用逆光机位,连装备的迷彩都看不清,这简直是犯罪行为!

2、今上阅兵,比太上严肃庄重,但还是没有小平同志的不怒自威——指挥过千军万马、从血海尸山中走出来的人,气势毕竟不同,继体承平之主很难有啊。

3、徒步分列式,大连舰艇学院还是走的最漂亮的,无愧自太祖时代以来徒步分列式王中之王的传统。水兵方阵也不错(据说全是90后的小兵?不易啊),再就是武警和两个女兵方阵。

4、与海军相比,陆军的分列式这次多少走的有点掉链子,尽管有很大部分原因是CCTV垃圾到家的拍摄,简直是把队伍中的所有瑕疵一一放大了。但毕竟还是有瑕疵的。最歪的俩方阵是特种兵和空军飞行员…………技术工种走队列,也难为他们了。总之,解放军的阅兵徒步方阵,一直都是毫无疑问的世界第一。84、99 两次大阅,当真是举世无双!希望不要从此次开始走了下坡,丧失了一项国粹。

5、铁骑千群、装甲隆隆,解放军终于也钢比肉多了。这是一年5亿吨钢产能的底气托着的!想想不到80年前,面对蕞尔小国乌龟大小的破战车和小山炮,中国军队一溃千里、沦丧万里疆土;想想不到60年前的朝鲜冰原,最可爱的人只能用命用肉体硬抗钢铁洪流;想想不过50年前,伟大领袖为了那现在看来不过区区的 1700万吨钢,让几亿人民砸锅熔铁、几近疯狂………5亿吨钢、机械化铁军,不容易啊!

6、依旧是大盘鸡领衔空中分列式,不过今年的阵容真是空前壮大,这是本次阅兵超出以前各次的地方。想想去年的新闻,空军在某基地进行数百架战机的联合演习。能够具备这种规模的集群作战能力,PLA空军越来越像GLA了。看到今天某军坛的一个帖子:“周总理,我们有飞机了,飞机不用再飞两次了”,泪奔啊~~~~~~~~~··p.s. CCTV这次拍飞机拍的还可以,有几幅画面极具邪恶美感。

7、分列式一共给了今上四个单人镜头,分别是:三军女兵方阵后、女民兵方阵后、通讯兵(女兵集中)方阵后、歼教8编队后(女飞行员驾驶),我靠啊,CCTV什么意思……

7、太祖思想万岁!这个最后一次彩排加进来的方阵,是本次阅兵和群众*的神来之笔。听听太祖穿越历史的声音下现场群众的纵情欢呼、看看那红如火焰的画面,除了“太祖”,没有一个名字配的上万岁!

8、神来之笔之后……那每一代配俩方阵的设计,就相当的雷人。这难道是本朝的祖宗七庙么?那也不能把还在城楼上活蹦乱跳的现在就供奉上啊。说起来,本朝开国至今,为国家主者,并非皆得享庙祀。太祖纪念堂,自是万世不移不祧之祖,而邓、江、胡,看来是目前为止的三宗。只不知真若能到建国一百年或者二百年的时候,隆隆走来的方阵中又有几人。这三位…………没准都有点悬吧。

9、群众*方阵够大、够隆重,而且,奶奶的CCTV这时候貌似醒过味来了,机位调度比分列式好了很多。搞的群众方阵比分列式还抢眼。对得起那些战士么?!

10、刘翔复出的真是时候啊!姚明现在也就跟我一模样……

11、孩子,从金水桥奔向天安门的孩子,永远是阅兵式的收官,永远是这个国家的未来!

12、我在想,六十年前,建立了这个国家的那些人们,不管他们后来有什么样的命运、走上了什么样的道路,不管他们个人是意气方遒、还是郁郁含冤;不管他们离开这个世界是无憾含笑、抑或赍志以殁;如果他们在天有灵,看到今天,他们会微笑吧。更早之前,还没有看到他们心目中的国家诞生就死去的人们,如果他们在天有灵,看到今天,他们会微笑吧。也许今天的我们,有许多地方会让他们摇头叹息;也许面对着天安门城楼向东区区一公里的东方新天地的那些名牌店、那些光怪陆离,他们会无法理解;也许这个时代、这个世道,还有太多的丑恶和不平,让他们如同当年面对 “三座大山”一样的怒不可遏。但是,他们仍然会微笑吧。一个拥有5亿吨钢、再也不会让任何一个国家包括超级大国)敢于与之打一场全面战争的国家;一个综合国力已经超过绝大多数西方列强、隐隐然与世界霸主比肩的国家;一个十三亿人的大多数都对自己的未来充满了憧憬、梦想、脸上有着笑容、身子干挺得笔直的国家。这是什么?这不就是他们,牺牲了生命、青春,抛洒了热血、泪水,所要追求的国运么!

13、六十年前,赢得了那场中国历史上空前规模、空前激烈、空前残酷的内战的人们,他们真应当如现在某些泛酸文人如龙应台之流所说的,为打了一场“内战” 道歉吗?蝇营狗苟生活在太平岁月的人,怎么能够明白,六十年前,几百万军人、几千万民众、几亿人民,他们做的是什么?是赢得一场内战吗?不,他们赢回了中国的国运,他们挽救了、也彻底的改变了自道光二十年(一八四零年)来日日下坠、沉沦、不亡如缕的国运啊!

14、所以,看着这虎贲劲旅、铁甲利剑,请你们微笑吧!人民的共和国,生日快乐!


Somersoft Property Investment Forum








Somersoft Property Investment Forum


Cisco switch: List the port mac address mappings








show cam dynamic


Free: Microsoft Security Essentials








http://www.microsoft.com/security_essentials/


JAX Tyres Wheels Rims Brakes Suspension








http://www.jaxquickfit.com.au/

Brunswick


NOD 32 免费赠送








http://www.eset.com.cn/edm/index.php?action=spread&id=43692&content=ESET NOD32


xtreamer HD Player and Streamer (Wireless)








http://www.xtreamer.com.au/


ASUS O!PLAY HD Player Review








http://www.trustedreviews.com/multimedia/review/2009/08/07/Asus-O-Play-HDP-R1-HD-Media-Player/p1


Chromeframe: Javascript Engine Plugin for Internet Explorer








http://code.google.com/chrome/chromeframe/


How to: Prevent a fork bomb by limiting user process








http://www.cyberciti.biz/tips/linux-limiting-user-process.html


How To Change Remote Desktop Listening Port








http://www.walkernews.net/2007/08/01/how-to-change-remote-desktop-listening-port/


Thinkpad R400 Drivers








http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-70439


GPS software for Windows Mobile Smartphone








http://nokia.it168.com/redirect.php?tid=926642&goto=lastpost


www.i3x.cc








a forum for Samsung i Series mobile phones.


ARCHOS WIFI TV








爱可视 WIFI TV
http://www.archos.com/products/gen_5/archos_tv/more.html?country=au&lang=en




Tor-Proxy.NET Toolbar Firefox addon








安装此插件后,Firefox可以从国内浏览被中国屏蔽的网站。
https://addons.mozilla.org/en-US/firefox/addon/5833


iframe src in IE and https








"javascript:false"

"javascript:false;document.open();document.write('');document.close();"


Javascript: show XML object as string








IE:
alert(XmlObj.xml);

Firefox:
alert((new XMLSerializer()).serializeToString(XmlObj));


How to Remove the Popup Ads in Avira Antivir








http://www.wikihow.com/Remove-the-Popup-Ads-in-Avira-Antivir


Make Avira AntiVir (Free Edition) More Usable








http://www.tipsfor.us/2007/08/15/make-avira-antivir-free-edition-more-usable/


How to start and stop Tomcat from ANT








http://ptrthomas.wordpress.com/2006/03/25/how-to-start-and-stop-tomcat-from-ant/


彪悍的姓名








http://www.6park.com/enter1/messages/50684.html


彪悍的姓名何止操高潮一个!!!!!




近日浏览公司的RTX名单时 发现芜湖那边居然有一个人的名字叫“操 满清” 因为 RTX都是实名 所以兄弟我当时就笑晕然后查资料一看居然还是个女生 ,吐血啊 ``````````,有姓操的就够希奇了 我从来都没有听说过还有这个姓,还叫满清 呵呵 晕啊 还是女孩她的父母难道和满清有深愁大恨吗 为什么要操满清呢 哈哈哈 兄弟我拍胸脯保证绝对真实 请问各位兄弟姐妹 真的有姓操的吗你们还知道什么怪姓和怪名字不 大家分享一下嘛 我好多长点见识 呵呵!
那个经常出现在时尚杂志上的,北京某知名整容医院的院长(女)叫史三八
我们校长,张作爱
哦 我突然想起来来了 大学的系主任也是女的 叫贾精灵 是北京人 在他们那边也许这个名字没有什么 可是在四川这边 “假精灵”就是以为自己很聪明 其实很蠢的意思 呵呵
可怜我的表弟,本来叫杨操,后来父母离婚了,他跟着他母亲,他母亲姓曹,他就改名叫曹操了.
楼主少见多怪。这个姓有什么奇怪的,我认识一个客户叫“操明刚”,念第二声,而且我还知道有叫史珍香和史刚的。都是真人。难道人家还不活了不成?
有个爱迟到的男同学叫岳晶,每次上课查人的时候老师问:岳晶来了没有?下边总是鸦雀无声,平时最聒噪最爱接老师话的女生这个时候都不出声了~~~~
本人在酒店前台工作过,有一位客人叫:见红。是女客人,我们总是为她的称谓发愁,每次都别别扭扭叫她,见女士。汗,且她是个常客。
还有以前在财务发工资,每次核工资单总要笑一次,有个员工叫 朱小便 我们办公室的一位上了年纪的阿姨还为这个感叹不已:真不知道爹妈是怎么想的?
好笑!!!我知道一个名字也好笑叫“范 建”。
很关注该帖 ,最近刚讨论了这个问题,也有朋友的朋友姓操,我们这里有个习惯,朋友间直呼姓,如果有重复的就另外想法区分,每次她上网打字或者语音或者打电话一开口就是个"操",我每次都难受的不行~~~
某男同学 杨伟 入学第一天就被深深震撼
我认识一人叫甄剑...
我还姓邪呢 ,有见过的吗????
以前在校团委有一个熟人(女),叫“殷晶”,他们平时大声叫起来都不觉得怪,后来经我提醒,那叫一个汗啊!!
殷晶 杨伟 我 靠 这两人结婚的话就太强了 哈哈哈哈哈   
好好一个女孩叫杨薇,本来没啥,可是本地方言薇字读三声==  男生叫马奋
话说回来,姓操的好像都是祖籍安徽的,至少我那个同事是这么说的。
我有个同事叫肖泉家,用粤语读谐音就是“烧全家”···
记得上大学时,有个女校友叫尹纯---大家听了有感觉了!!我的一个师兄老和我说起这个美名。
我爸说他们小时候同院有个女的,姓什么忘了,名字叫"大辫"
我有个同学叫周瑜...   每次人家问她怎么写,她都说:"周瑜的周,周瑜的瑜."
迄今为止,知道的最怪的姓就是 绳~~最开始见到,还以为是姓氏的主人写错了~~
今天监考发现一个清秀男生名字叫“解释”。。。哈哈。。。
以前读书的时候,有个朋友说他们系有个女孩子名字叫什么“银剑”,我第一反应就是“拜托!谁信啊?”。结果有一天他给我指认的时候,听到有人叫他们女生的名字“?银剑”,我当时笑到差点胃痉挛。晕死!她爸妈给她取名的时候是不是脑子浸水了啊?!  好BH!好BH!吓倒~`~~`……
以前有邻居女的叫‘小辫’
BF说的。他们教研室改卷后核对分数,两个女老师,一个念,一个对。其中有一个女生叫 “麦银”。女老师很大声地念了出来。当时办公室里谁也不说话。女老师自己忍不住先笑了出来,大家随之哄堂大笑。
我知道有个叫殷静的,是我妈单位刚来没几年的大学生,第一次听我妈说起这名字,我就狂想笑,在老妈面前只好使劲忍住,后来有次实在忍不住跟我妈说起,原来她也早有同感:这女孩父母太没文化鸟
以前学生会的时候有个同事叫史仰伟~~~~   主席要求我们见到同事要亲切  要么叫姓,比如前主席姓黄,见面打招呼就叫:嗨,黄  或者叫名字的后两个字  但是见了这个同事就不知道该怎么叫了~~~   后来史同学还挺强了  当了主席  希望他不来天涯 
以前中学有个同学名字叫操越....我同桌  第一次接触到这个剽悍的姓
我爸还跟我一起BS过他们同事孩子的名字呢 叫金子  我爸笑得真不CJ~
以前学校有个领导叫王守银
55~~,我是女生,名字的谐音也是男性某器官,叫不出口,从小被人笑到大,我问过我爸爸,当时怎么给我想到这么个名字的,他说当时还没有这个说法,也很无奈
见过一老师叫:欧阳3根(晕)  刘剑虹~~~(见红)
高中,有个女同学,姓刘叫金烨  当时都不知道他家里为什么给他起这么个名字
我去安徽天柱山旅游的时候,当时的导游小姐是个小女孩,大概20岁左右,她上车一开始就自我介绍,叫“操明星”(不知道是不是这两个字)  太晕了~~~~~~~   还有以前厂里有个部门的女孩叫杨寿金(很喜庆,可是受惊、受精?)
大学时有个女同学叫殷纯。    我以人格担保没说谎。
我的一个女同学,姓付,两个弟弟一个叫付强,一个叫付文,一个姐姐叫付娟,都不错,可她名“付莲”(妇联)。 
怪姓我见过两个,一个姓“鹅”,一个姓“皮”。
我见过最怪的名字叫“万车书”
我以同学他的初中同学叫“熊星星”。。。但是人家是雌地。。。
我一同事的名字可以当做谜面,猜一女性用品    答案是  文胸    他的名字叫 赵汝峰 <罩乳峰>..
我遇到的最奇怪的名字叫:枣锅  开始我还以为是笔名呢,结果一问,人家是国家干部,还是真名儿!
我认识一个阿姨叫蓝精灵。。。瀑布汗,,阿姨说,她爸爸起名字的时候还没有那个动画片。
陈锦平,上海话就是神经病的意思
贡献两个朋友的名字,希望他们不上天涯啊!男: 易银;男:冯高潮 英文名:Climax.
我认识一人男的.叫杨勃/   好像怕人家不会念他的名字一样..特意把自己的QQ名改成:阳勃...   吐血ING.....
前几天云南的报纸特地写了篇专稿,讨论大家的名字,有个人的一个朋友姓姚,他的父母对儿子的前途抱有很大希望,希望他努力向上奋发图强,结果就给儿子取名:姚大奋
没有人提到我们当年的一个同学,叫殷晶红的吗?另外有个大学同学叫曹逸群的,名字看起来不错,读成谐音很凶悍
朋友的朋友,一个男生。姓戴,在家里正好又是“乃”字辈。更恐怖的是,不知道为什么,他的父母居然还给了他一个“兆”来收尾。最后就造成了¥……%&&*&*&--- “戴乃兆”!三个字拆开来看都没有任何问题,可是合在一起,哦,救命啊,一个大男生顶着这个名字生存于世,可想多么的郁闷。以至懂事后就不许别人连名带姓地叫他,只准叫他做老戴了。嘿嘿,口怜的孩子
上次有网友说过认识一女孩叫"金刚",长得还蛮清秀的 
本周奇了,见了两个姓“香”的,以前听都没听到,着个还好哈 好象听国不酸很怪。这个我见过,香港有一时事节目主持就姓"香",上次看凤凰台<锵锵三人行>里一姓"查"女嘉宾说过:姓香的是姓查的一分枝,古时因某些事避嫌了,把"查"字下面一划写到上面就成"香"字,这个典故金庸先生比较清楚吧...
偶们学校有一女生叫--麦莹,因为偶们这是南方,有没有后鼻音,读音都是一样的,所以~~
N前年陪我表姐去参加一个什么培训班,发下来的同学通讯录里面有个叫“马驴” 的,后来老师点到这个名字的时候,底下的人全部哄堂大笑,那老兄的表情无比地郁闷 ~~~
偶大学时候,同系的一个女生叫“付焱洁”……每次看到她都在心里默默的念到 “习习更见糠……”
我见过一个叫扶三叔的,当然是女的。是在一份申请会员的名单中。。。也汗。
今天刚看见张名片,上面的名字狠BH 湛业湖,湛这个姓俺长这么大还头一次看见,但是更BH的是跟夜壶谐音= =
我有个客户叫蒲六斤,真的,我还复印了他身份证呢~~哈哈
范建南!!  应届生吧好像,看简历时候笑疯了我了
还有个女客户叫×超银  太强悍了
笑死了!!初中时有个同学叫咸恒`````名字没什么谐音,但姓很少见啊``` 好象不好笑```
一个很可爱的名字:姓郝,名开心
舅舅家的哥哥,因为姓“印”,所以嫂子怀孕的时候时候说如果生男孩儿就叫印美超(美钞),生女儿就叫印美媛(美元),呵呵。不过当然,他只是说说而已。
我们英语老师叫郝建..... 通常我们还是叫好老师的....
我们大学时候看见名单上有个叫"吴晶子",开始还觉得很特别,一念,汗~~~~~,回来一说,寝室有个姐妹更汗,说我们那还有个同学叫岳金花
哈哈,我认识一个女人叫旷激,还有人叫她小JJ,暴笑
听广东的一个朋友说的(他是银行职员):一天一个云南籍的民工mm来开户发工资,接过身份证一看,差点笑翻,只因姓名栏上赫然写着“龙春代”三个字。会讲粤语的朋友就会知道其中的奥妙之处。。。。她爸妈也太有才啦。。。。。。。很想知道她在广东的日子是怎么过的??
那广东话念出来到底是什么呢 不懂啊
这个...呃..."春代"白话音就是"睾丸"的俗称,人家爸妈又不会说广东话啦...
有个女同学,她的名字家夏静(下贱)
我们班有个桂妃```还有个男的叫`杨伟-岭``(分开读)哈哈```
学校里有个教授吴仁援叫...听说他老爸还是化学家,怎么取这种名字,汗
见过有人叫杨伟,他自己也觉得名字不好听,然后就给自己改名叫杨正伟,这下真的那啥啥了
廖史和.高中一校友,本不知道他的,结果某早会上,咱教导主任语重心长的说:"同学之间要相互爱护不能给同学瞎取绰号,以后可不能再把廖史和同学叫做尿和屎了啊!"然后全场笑翻,从那以后,那同学全校皆知,哈哈
综上情况,发现姓“操”的好像基本都是安徽的,好像是地域性很强的姓氏啊!以前我大学时也有一个同学叫“操剑锋”,也是安徽的。
见过一个人叫张小二狗,真的,看过身份证的
还有一个叫秦始皇,一个叫赵姬,一个叫沙前道(杀千刀)
貌似 姓殷的 都不好取名字呀
我朋友叫殷姿,挺好听的
我同学的父亲叫候贱苟,瀑布寒、、
我认识一个,姓很普通,姓李,但名字响亮,叫-----李莲英-----他是男的,大家讨论的结论是,要不是他老子妈不知道李莲英是谁,要不就是想让每个认识他的人对他有个深刻的印象!^_^
我也来贡献个。高中时候,同年级的有个男生叫 范坚强。。。。  这名字晃眼看没觉得什么奇怪的,,只觉得有点土。。。不过请大家把他的名字从右往左念。。。。。。。。。。。。。。。。。。。。
去网吧的时候见到别人登记,拿出身份证一看,名字叫做“杨院长”,一个20岁都不到的人,哈哈,不知道是哪个院的院长。太多了,地址在
俺说一个真事 俺的高中物理老师名叫王守银(估计他父母是希望他不要做个败家子) 所以我们当时把物理课叫做SY课 最近好多论坛都打不开了······ 好多LOLI也找不到了······
某教导主任的名字也很强悍,叫王坚强。 看上去只是稍微有点土,可是倒过来读的话……


Bruker FTQNMR and DISNMR file format








http://www.boc.chem.uu.nl/static/local/prospectnd/psnd_script_disnmr.html


Bruker FTQNMR and DISNMR file format
Bruker ASPECT 2000/3000 FTQNMR and DISNMR file format
File header is constructed from 512 big endian 3-byte Bruker words

First convert 3-byte integer to 4 byte integer:

123 to 3210, Convert to little endian (PC)
or
123 to 0123, Convert to big endian (SGI)

For the data that flollow the header:
1) Convert 3-byte to 4-byte integer (unpack3to4)
2) Convert integers to floats ((float) unpacki)
3) At every index '4' negate last '2' data (negstep)

file definition table (FDT)......word 1-16
1 uint fhi (file head identifier)
2-4 pack6-string name
5 uint sector
6 int act size
7 uint psa (program start adress)
8 uint memory load adress user info
9 uint # words in user info
10 uint memory load adress file
11 pack4-string creation date
12 byte-1 file program
0=not classified 12=RLINK
1=DISNMR 13=PANIC
2=ATS 14=SUCH13
3=FTNMR2D 15=PASCAL
4=EPRDATA 16=FORTRAN
5=CXPNMR 17=LIB
6=DISCXP 18=PASCAL
7=FTQNMR 19=IR search files
8=DISNxx 20-199=not used
9=not used 200-255=user programs
10=TECO
11=MACRO
12 byte-2 file class
12 byte-3 file status
13-15 uint reserved
16 uint 'exor'-checksum for the 512 words on tape

word 17-40
17-40 pack8-string file comment
measuring parameters for FTQNMR......word 41-255

41 int SI
42 int GLOBEX (GX)
43 int SWPCOM ( actual NS)
44 int DE
45 int DW
46 int FW
47 uint FN (FILTER NUMBER)
48 uint F1N (DIVIDERS for INTERFACE)
49 uint F1M
50 uint F2N
51 uint F2M
52-53 float RD
54-55 float SW
56-57 float AQ
58-59 float O1
60-61 float O
62-63 float HZPPT
64-65 float TOTLB
66-67 float PULSET
68 uint CRDEL
69 uint PW
70 uint CDELAY pre scan delay (125 usec)
71 int CSWEEP = # scans to do
72 int ADC initial
73 int ADC final
74 int ADC current
75-77 pack6-string name for ADAKOS
78-79 float SF
80 int quad flag (QN=1, QF=0)
81 uint DCW (digitizer control word)
82 int DP
83 int DP mode
84 uint interface setting (hardware flag)
0=PO, 1=BB, 2=CW, 3=HG, 4=DO, 5=HD, 6=HB,
20=AP, 40=QP, 400=QN
85 int AP=1 ,CP=0 , QP=-1
86 int TE
87 int stop from 0=GO, 1=non-locked AU,
-1=locked AU, -2=CTRL_K
88 int pulser range and preamp setting
89 int RG receiver gain
90 int SY1 1=0.1HZ-10kHZ 2=100kHZ-10MHZ
91 int SY2 1=0.1HZ-10kHZ 2=100kHZ-10MHZ
92-93 pack6-string nucleus

measuring parameters for DISNxx......word 41-255
41 int SI
42 int NC (data normalization constant)
43 int SWPCOM ( actual NS)
44 int TD
45 int DW
46 int FW
47 int FN (FILTER NUMBER)
48 uint F1N (DIVIDERS for INTERFACE)
49 uint F1M
50 uint F2N
51 uint F2M
52 int VD, variable delay
53 int DS
54-55 float SW
56 int AM (acquisition mode)
57 int NE
58-59 float O1
60-61 float O2
62 int PH0, zero order PK
63 int PH1, first order PK
64-65 float TOTLB
66-67 float NTHPT / Nth point of FT, double precision
68 int RD, relaxation delay
69 int PW, pulse excitation width
70 int DE, preacquisition delay
71 int CSWEEP = # scans to do
72 int ADC initial
73 int ADC final
74 int ADC current
75 int SP, initial SP delay
76 int PF, PHZFLG, A0-A3 phase flag
77 int OR, ORIGPS, original DISNMR parameters
78-79 float SF
80 int QN, quad flag (QN=1, QF=0)
81 uint DCW, DCTRLW, digitizer control word
82 int DP, DATTEN, decoupler attenuator
83 int RB, receiver blanking
84 uint interface setting (hardware flag)
0=PO, 1=BB, 2=CW, 3=HG, 4=DO, 5=HD, 6=HB,
20=AP, 40=QP, 400=QN
85 int AP=1 ,CP=0 , QP=-1
86 int TE, temperature control word
87 int data status, stop from 0=GO,
1=non-locked AU, -1=locked AU, -2=CTRL_K
88 int PR pulser control word
89 int RG receiver gain control word
90 int SY synthesizer control word
91 int SY synthesizer control word
92 int DIM / image dimensions
93 int FIM / imaging flags
95 int ID, increment on D0 duration
96 int PI / parameter set identifier
97 int SS 1st synthesizer control word
98 int SS 2nd synthesizer control word
99-100 float SF0
101-102 float SF02
104-106 pack6-string AU (automation program name)
107 int date
108 int F1 control word
109 int F2 control word




nscd: init script doesn't flush cache during restart/reload








http://lists.debian.org/debian-glibc/2009/02/msg00103.html


Cracking open an Emac - Deadly CRT Discharge








http://www.macmod.com/forums/viewtopic.php?t=2657


eMac LCD Conversion








http://www.ierna.com/blog/emac-lcd-conversion/


Jaxcent: An Alternative to GWT








http://www.jaxcent.com/

Jaxcent: Java-only AJAX programming.

JavaScript programming not required!

Jaxcent provides a Java framework and API for doing AJAX programming.

Jaxcent works with any servlet-capable Java application servers, can be configured to connect directly to IIS or Apache web servers, or can be run stand-alone using the included web-server.

Jaxcent programmers do not need to work in JavaScript: Jaxcent only requires the addition of a single JavaScript include statement to HTML content. Yet in Jaxcent programming JavaScript can be taken full advantage of, if desired.

Jaxcent provides features to simplify writing Web applications in Java. It provides access to the session and application context for using various server-side programming metaphors. Jaxcent can make form-data saving and retrieving to/from the session entirely automatic.

Jaxcent can be used for adding dynamic AJAX features to existing web applications. The existing applications can continue to work as usual, and individual pages can be Jaxcent-enabled one at a time, as needed.

Jaxcent is an open AJAX framework. Instead of attempting to provide all possible present and future rich-client interfaces within a single package, Jaxcent simply makes it easy to integrate third party interfaces. (Some examples of such third party integrations may be seen at the sample pages.) The core Jaxcent itself, concentrates on AJAX and on providing an elegant programming model, rather than on various rich-client interfaces.

Unlike earlier Java-AJAX models, in Jaxcent programming the full server environment is directly available for normal programmatic access, making AJAX programming very straightforward.

To see a few Jaxcent samples, please visit the samples page.

Jaxcent is available for download at the download page.

Jaxcent documentation is available at the documentation page for review. It is also included in the download.

An online tutorial for Jaxcent is available at http://www.jaxtut.com/.

For any feedback or questions, please use the form at the contact page.


GWT Tutorial – Using and creating modules








http://developerlife.com/tutorials/?p=229


Create Reusable GWT module








Origin :
http://osdir.com/ml/GoogleWebToolkit/2009-08/msg00838.html



You can follow the steps below to package an existing module, say module A
defined in project A, that you want to reuse in another project, say project
B that defines module B which itself defines an entrypoint class.

1) Create / move all the GWT code that you want to reuse in project A.

2) Create / update the module XML file for module A in the normal way,
except you no longer need to define an entry point class.

3) Create a JAR for project A (project-a.jar), which should include a) GWT
source code that you want to reuse from the project, b) The module XML file,
c) Any other public resources referenced by the module XML file, d) The
binary .class files for any server-side code that you want to reuse

4) Add the project-a.jar file to the project B classpath, as well as any
other launch configurations related to project B (typically hosted mode and
compile configurations).

5) Reference the module A xml file from the module B xml file (e.g.
). Note that since the module
A xml file should already include the name="com.google.gwt.user.User" /> inherits tag, you shouldn't need to add
that reference again to the module B xml file.

You should be ready to go. Give those instructions a try and let us know if
you managed to package and reuse your module.



mount windows ntfs partitions in Ubuntu linux








Method 1:
1. Install ntfs-config: sudo aptitude install ntfs-config
2. Start ntfs-config: Applications→System Tools→NTFS Configuration Tool
Enable write support for internal device
Select the partition you want to mount.

Method 2:
1. sudo mkdir /media/windows
2. sudo vi /etc/fstab
/dev/sda1 /media/windows ntfs uid=1000,gid=1000,fmask=0113,gmask=0002,umask=0002,utf8 0 0


Check disk/partition uuid in ubnntu linux








blkid

or

ls /dev/disk/by-uuid


Avira Free Antivirus: Disable pop up AD








 

http://www.tipsfor.us/2007/08/15/make-avira-antivir-free-edition-more-usable/




Enable File System Quota On Debian








 

  • For example we want to apply disk quota on /dev/md5 to each user, say 2000MBytes soft limit & 2500MB/2.5GB hard limit.
  • 1. install quota package
    • sudo apt-get install quota
  • 2. edit /etc/fstab to enable quota on /dev/md5 file system
    • /dev/md5 /home ext3 defaults,usrquota,grpquota 0 2
  • 3. re-mount /dev/md5
    • sudo mount -o remount /home
  • 4. edit user quota one by one
    • sudo edquota -u tom -f /dev/md5
Disk quotas for user tom (uid 3050):
Filesystem blocks soft hard inodes soft hard
/dev/md5 0 2000000 2500000 0 0 0


* the above assigns 2000000KB/2GB soft limit and 2500000/2.5GB hard limit to user tom.




  • 5. set grace period to 0seconds

    • sudo edquota -t -f /dev/md5





Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/md5 0seconds 0seconds



  • 6. disable then re-enable the quota to make it work

    • sudo quotaoff -a


    • sduo quotaon -vug /dev/md5


      • on error:see this


        • quotaon: using /home/aquota.user on /dev/md5: Invalid argument


        • quotaon: using /home/aquota.group on /dev/md5: Invalid argument




      • quotacheck -vugm /dev/md5






  • 7. to list the current quota settings

    • repquota -a











How To Remove CDFS Partition From USB Thumb Drive








 

  1. You need to check the chip model of your USB drive using this tool: ChipGenius
    1. Download ChipGenius
    2. Connect you USB drive
    3. Run ChipGenius and check the information
    4. take down the information of your dirve, for example, the chip model of my usb drive is MTX6208.
  2. You will then need to find the tool for your chip.
    1. You can find and download the tool from this web site: www.51stor.net
      1. Note: make sure the tool you download matches your chip model.
    2. Run the tool. You should be able to remove the CDFS partition (by re-initializing the disk).



Debian Samba Server Setup








 

  1. Install samba
    • aptitude install smaba samba-doc smbldap-tools
      • Workgroup/Domain Name: NIG
      • Modify smb.conf to use WINS settings from DHCP?: No
    • dpkg-reconfigure samba
      • How to run Samba: daemons
      • Create password database: Yes
  2. Enable samba.schema in LDAP server
    • aptitude install samba-dodc
    • cd /usr/share/doc/samba-doc/examples/LDAP
    • gunzip samba.schema.gz
    • cp samba.schema /etc/ldap/schema/samba.schema
    • vim /etc/ldap/slapd.conf
      • include /etc/ldap/schema/samba.schema
    • /etc/init.d/slapd restart
  3. Let Samba use LDAP as backend
    • vim /etc/samba/smb.conf
      • passdb backend = ldapsam:ldap://localhost
      • ldap suffix = dc=neuroimaging,dc=org,dc=au
      • ldap machine suffix = ou=SMBMachines
      • ldap user suffix = ou=People
      • ldap group suffix = ou=Group
      • ldap admin dn = cn=admin,dc=neuroimaging,dc=org,dc=au
      • ldap delete dn = no
      • ldap ssl = start_tls
  4. Configure smbldap-tools package
    • aptitude install smbldap-tools
    • cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/
    • gzip /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz
    • cp /usr/share/doc/smbldap-tools/examples/smbldap.conf /etc/smbldap-tools/
    • vi /etc/smbldap-tools/smbldap_bind.conf
    • vi /etc/smbldap-tools/smbldap.conf
    • vi /etc/samba/smb.conf
    • Note: read /usr/share/doc/smbldap-tools/
  5. Important:
    • To change rootpw of the binddn cn=admin,dc=example,dc=org, you need
      • smbldap-passwd
      • edit /etc/smbldap-tools/smbldap_bind.conf
      • smbpasswd -w <ldap_rootpw>
See Also
  1. Samba LDAP
  2. Samba 3 LDAP



LDAP Replication Using syncrepl








 

My Solution
  • Master server:
    • edit configration in /etc/ldap/slapd.conf, append following:
## syncrepl provider
index entryCSN,entryUUID eq

moduleload syncprov.la
overlay syncprov

syncprov-checkpoint 10 5
syncprov-sessionlog 100



  • Slave server:

    • edit /etc/ldap/slapd.conf, append:





## syncrepl consumer
index entryCSN,entryUUID eq
syncrepl rid=123
provider=ldap://master-ldap.example.org:389
type=refreshOnly
interval=00:00:01:00
searchbase="dc=example,dc=org"
filter="(objectClass=*)"
attrs="*"
scope=sub
schemachecking=off
bindmethod=sasl
saslmech=DIGEST-MD5
authcid="admin"
credentials="Password"



  • Note: in my case, I am using SASL DIGEST-MD5. Read the references if you want to use simple bind. Detail about how to enable SASL on openldap server, see here


  • Restart Master slapd then Slave slapd.



References



  1. Configuring the Master-Slave Replication


  2. LDAP Sync Replication


  3. LDAP replication setup using syncrepl


  4. Debian LDAP Server Setup




Debian Samba LDAP Integration








 






  1. install samba

    • aptitude install samba




  2. install smbldap-tools

    • aptitude install smbldap-tools




  3. read smbldap-tools documentation

    • gunzip /usr/share/doc/smbldap-tools/README.Debian.gz


    • less /usr/share/doc/smbldap-tools/README.Debian





I. LDAP Server Configuration



  1. Copy the 'samba.schema' to be used in your LDAP server (you can find it in '/usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz' after installing the samba-doc package):


    • zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema




  2. Modify the file '/etc/ldap/slapd.conf' to include the samba schema:

    • include /etc/ldap/schema/samba.schema




  3. Optionally add indexes to optimize SAMBA access:

    • index uid,uidNumber,gidNumber,memberUid eq


    • index cn,mail,surname,givenname eq,subinitial


    • index sambaSID eq


    • index sambaPrimaryGroupSID eq


    • index sambaDomainName eq




  4. Allow users to change their NT and LM Passwords changing the line: access to attribute=userPassword by: access to attrs=userPassword,sambaNTPassword,sambaLMPassword


  5. Restart the LDAP server.

    • /etc/init.d/slapd restart





II. Samba Server Configuration



  1. Edit the '/etc/samba/smb.conf' to change the passdb backend from the original to:

    • passdb backend = ldapsam:ldap://localhost




  2. Add configuration directives for the passdb system:

    • obey pam restrictions = no


    • ldap admin dn = cn=admin,dc=neuroimaging,dc=org,dc=au


    • ldap delete dn = no


    • ldap suffix = dc=neuroimaging,dc=org,dc=au


    • ldap machine suffix = ou=Computers


    • ldap user suffix = ou=Users


    • ldap idmap suffix = ou=Users


    • ldap group suffix = ou=Groups




  3. More to use the smbldap-tools to change passwords:

    • ; Do ldap passwd sync


    • ldap passwd sync = Yes


    • passwd program = /usr/sbin/smbldap-passwd %u


    • passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*




  4. And if you want to administer user and groups from windows add:

    • add user script = /usr/sbin/smbldap-useradd -m "%u"


    • ldap delete dn = Yes


    • delete user script = /usr/sbin/smbldap-userdel "%u"


    • add machine script = /usr/sbin/smbldap-useradd -w "%u"


    • add group script = /usr/sbin/smbldap-groupadd -p "%g"


    • delete group script = /usr/sbin/smbldap-groupdel "%g"


    • add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"


    • delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"


    • set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"




  5. Restart samba and add the smbldap admin password to let SAMBA use it:

    • /etc/init.d/samba restart


    • smbpasswd -w LDAP_ADMIN_PASSWORD





smbldap-tools Configuration



  1. Start copying the files 'smbldap.conf' and 'smbldap_bind.conf' from '/usr/share/doc/smbldap-tools/examples/' to '/etc/smbldap-tools/':

    • zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf


    • cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf




  2. Edit the 'smbldap.conf' file; the main parameters to watch out are the 'SID', the ldap servers addresses, the TLS settings and the LDAP suffix.

    • NOTE: To obtain the SID execute the following command with your SAMBA server Running:


      • net getlocalsid






  3. Edit the 'smbldap_bind.conf' file and put there the SMBLDAP administrator's DN and Password.


  4. Fix file permisions:

    • chmod 0644 /etc/smbldap-tools/smbldap.conf


    • chmod 0600 /etc/smbldap-tools/smbldap_bind.conf




  5. To initialize the LDAP database invoque the command:

    • smbldap-populate


    • NOTE: This makes the tool start adding uids and gids from 1000 (hardcoded default), if you want to start from different numbers you can use "-g <firstgid>" or "-u <firstuid>" as options to smbldap-populate.






Mac OS X LDAP Client Setup








  • Add LDAPv3 source to Directory Access
    1. go to Applications -> Utilities, open Directory Utility
    2. Unlock it with root password 
    3. Click "Show Advanced Settings"
    4. Click "Services
    5. Select LDAPv3, click Configure
    6. Click the edit pen icon at bottom left
    7. Check off "Use DHCP-supplied LDAP server"
    8. Select Options then click New
    9. Enter a configuration name i.e.: Master LDAP
      •  Server Name: your Master LDAP server name ie. ldap.example.org
    10. Click on LDAP Mappings and select RFC 2307 (Unix) 
    11.  A window will pop up that will ask you for a search base. Input ie. dc=example,dc=org and tick SSL, click Ok then Ok again.
    12. Now you'll be back at the Directory Access Window
      • Click on Authentication at the top of the window 
      • Under Search, pull down & choose "Custom Path" then Click Add
      • Select ldap/ldap.example.org source 
      • Click OK and OK again until Directory Access closes.
    13. Restart the machine
  • After the restart you should be able to log in as any valid LDAP user




Troubleshooting


  1. If after configuring your LDAP you still can't authenticate and your /var/log/system.log contains messages like these /System/Library/LoginPlugins/MCX.loginPlugin/Contents/MacOS/MCXCacher: DSOpenNode(): dsOpenDirNode("/LDAPv3/ldap.example.org") == -14002

    • The problem comes from the Format utility of the Directory Access which apparently keeps misconfiguration even if it is corrected.
    • To correct
      1. Remove all contents of the directory /Library/Preferences/DirectoryService ie. double click on your Mac HDD
      2. Open /Applications/Utilities/Netinfo Manager and within it remove all contents of /config/mcx-mask
      3. Then restart the machine and reconfigure.


  2. After an update to Mac OS X Server 10.5.3 some clients do not find the LDAP server with messages:
    • DirectoryService[48]: DSLDAPv3PlugIn: [machine] LDAP server config not updated with server mappings due to server mappings error.
    • DirectoryService[48]: LDAPv3: SafeOpen Can't retrieve server mappings from search base of <cn=config,dc=lip6,dc=fr>.
    • DirectoryService[48]: LDAPv3: SafeOpen Cannot retrieve server mappings at this time.
    • The problem came from utility Utility directory (Directory Utility) that keeps obviously a bad configuration. Pour corriger cela il faut : To correct this requires:
      1. Delete the contents of the directory / Library / Preferences / DirectoryService.
      2. Then, (restart), and repeat the configuration format Directory without error:)


  3. I just spent a very long time on a client does not find the LDAP server with messages: /System/Library/LoginPlugins/MCX.loginPlugin/Contents/MacOS/MCXCacher: DSOpenNode(): dsOpenDirNode("/LDAPv3/mon.server.fr") == -14002
    • The problem came from utility format Directory (Directory Access) that keeps obviously a bad configuration even if it is correct.
    • To correct this requires:
      1. Delete the contents of the directory / Library / Preferences / DirectoryService.
      2. Delete the entire contents of / config / pcs-cache in the NetInfo Manager (NetInfo Manager).
      3. Then, (restart), and repeat the configuration format Directory without error:)


  4. sudo dscl . -delete /Config/mcx_cache; sudo reboot


References


  1. Configuring Mac OS X LDAP Authorization for Leopard (Mac OS X 10.5.x)
  2. Configuring Mac OS X LDAP Authorization for Tiger (Mac OS X 10.4.x)
  3. Mac OS X authentication against OpenLDAP
  4. Setting up Mac OS X Server
  5. Mac OS X: How to Connect to an LDAPv3 Server Using a Self-Signed Certificate
  6. Integrating Apple OS X Clients with an OpenLDAP Directory(10.4 Tiger)
  7. Integrating OSX Clients with an OpenLDAP Directory
  8. Mac OS X: dscl
  9. Mac OS X ldap client
  10. Integrating Mac OS X And Novell eDirectory
  11. Integrating OS X into Active Directory
  12. dsconfigldap command
  13. MAC OS/X authentication against OpenLDAP 2.3 (Resolved)



Ubuntu LDAP Client Setup








 

  1. make sure your ldap server is reachable:
    • ping ldap.example.org
  2. install required packages
    • aptitude install auth-client-config ldap-auth-client ldap-auth-config libnss-db libnss-ldap libpam-ldap nscd nss-updatedb
      • Configuring ldap-auth-config:
        • Should debconf manage LDAP configuration? Yes
        • LDAP server Uniform Resource Identifier: ldaps:ldap.neuroimaging.org.au (Note: use ldap: if the server does not enable TLS)
        • Distinguished name of the search base: dc=example,dc=org
        • LDAP version to use: 3
        • Make local root Database admin: Yes
        • Does the LDAP database require login? No
        • LDAP account for root: cn=admin,dc=example,dc=org
        • LDAP root account password: XXXXXXXX
        • Local crypt to use when changing passwords: md5
  3. If server enables TLS
    • copy the CA certificate from the server:
      • mkdir /etc/ldap/certs; scp root@ldap:/etc/ldap/certs/cacert.pem /etc/ldap/certs/
    • edit /etc/ldap.conf (There are two ldap.conf files. /etc/ldap.conf and /etc/ldap/ldap.conf)
      • vim /etc/ldap.conf
        • host ldap.example.org
        • base dc=example,dc=org
        • uri ldap://ldap.example.org
        • rootbinddn cn=admin,dc=example,dc=org
        • bind_policy soft
        • ssl on
        • ssl start_tls
        • tls_cacertfile /etc/ldap/certs/cacert.pem
  4. Now you can test it with following commands
    • getent passwd should return the accounts from ldap server.
    • nss_updatedb ldap should succeed.
    • If above do not work
      • check /var/log/auth.log
      • vim /etc/ldap.conf
        • bind_policy hard
        • tls_checkpeer no
        • try getent passwd and nss_updatedb ldap again
      • Files needs to look at:
        • /etc/ldap.conf
        • /etc/ldap.secret (Note: you need to update thisfile if you have changed rootpw.)
  5. Edit ldap-auth-config
    • vi /etc/auth-client-config/profile.d/ldap-auth-config
      • [lac_ldap]
      • nss_passwd=passwd: files ldap [NOTFOUND=return] db
      • nss_group=group: files ldap [NOTFOUND=return] db
      • nss_shadow=shadow: files ldap
      • pam_auth=auth sufficient pam_ldap.so
      • auth required pam_unix.so nullok_secure use_first_pass
      • pam_account=account sufficient pam_ldap.so
      • account required pam_unix.so
      • pam_password=password sufficient pam_ldap.so
      • password required pam_unix.so nullok obscure min=4 max=8 md5
      • pam_session=session required pam_unix.so
      • session required pam_mkhomedir.so skel=/etc/skel/
      • session optional pam_ldap.so
      • session optional pam_foreground.so
    • auth-client-config -a -p lac_ldap (note: lac_ldap is the profile name defined in /etc/auth-client-config/profile.d/ldap-auth-config file. Do not use the file name here.)
  6. enable nss_db cache
    • vi /etc/cron.hourly/nss_updatedb-ldap.sh
      • #!/bin/bash
      • /usr/sbin/nss_updatedb ldap
    • To make actual use of the cached data you will need to edit /etc/nsswitch.conf like this:
      • passwd: files ldap [NOTFOUND=return] db
      • group: files ldap [NOTFOUND=return] db
    • This means:
      • look first in the local files (/etc/passwd and /etc/group)
      • if not found, use LDAP
      • when LDAP does not have user information, exit and return nothing (this is the [NOTFOUND=return] directive)
      • if the LDAP server was not reachable, proceed with using the cached data
See also:



Enable SASL Authentication on OpenLDAP Server








 

  • Note: This document is based on Debian 4.0 etch.
  1. Install SASL2 packages
    • apt-get install sasl2-bin libsasl2-modules
  2. Modify /etc/default/saslauthd
    • vim /etc/default/saslauthd
      • START=yes
      • MECHANISMS="pam"
  3. Configure OpenLDAP server to use SASL
    • vim /etc/ldap/slapd.conf
      • sasl-realm NEUROIMAGING.ORG.AU
      • sasl-host supertower.neuroimaging.org.au
      • authz-regexp uid=admin,cn=neuroimaging.org.au,cn=.+ cn=admin,dc=neuroimaging,dc=org,dc=au
      • authz-regexp uid=(.*),cn=neuroimaging.org.au,cn=.+ uid=$1,ou=People,dc=neuroimaging,dc=org,dc=au
      • sasl-secprops none
  4. Configure LDAP client
    • vim /etc/ldap/ldap.conf
      • SASL_SECPROPS none
      • SASL_REALM NEUROIMAGING.ORG.AU
  5. See also LDAPv3 How To
    • Note:
      • In openldap 2.3, authz-regexp replaces sasl-regexp
      • You may need to enable ldap server logging, see debian-ldap-server-setup
      • You may need to chgrp openldap /etc/sasldb2 to grant access to ldap server.
  • Note: The server must request a client certificate in order to use the SASL EXTERNAL authentication mechanism with a TLS session. As such, a non-default TLSVerifyClient setting must be configured before SASL EXTERNAL authentication may be attempted, and the SASL EXTERNAL mechanism will only be offered to the client if a valid client certificate was received. Openldap Amin Guide, 12.2.1.8.