另一只狗的故事

谨以此文缅怀我曾经的宿敌 – 汉堡
事情要从几年前刚搬家过来说起。
那天我刚走到单元门口,一只傻狗突然冲出来对着我狂叫。我向来是不惧怕动物的,由于天生丛林之王的气场,大多数动物看到我要么很温顺要么就逃走。所以当这只普通的京巴敢对我不敬时,我的反应是转身朝它走去以气势压迫它。令我意外的是它竟然往家的方向跑了几步后继续加大音量冲我叫。鉴于天色已晚,我决定以后有机会再跟它算账。这之后它依然保持着见人就乱叫的本色,众邻居见到它都躲的远远的,被吓到的还会骂一句 哪家的傻X狗!等等
我也吓唬过它几次,没想到它不仅不怕,反而趁着我上楼后跑到门禁口对着玻璃门狂叫。这是赤裸裸的挑衅,是作为宠物之王的我完全不能忍受的。

终于有一天一个绝佳机会降临了。它在小区里面晃悠,我从它背后出现竟然没有被发现。于是我偷偷的接近它,然后大吼一声:哈!!! 它被吓的一惊,边叫边飞也似的跑。我当然不会善罢甘休,在后面狂追了它几十米,一只从小滑梯追到了小水池,直到它利用身型优势钻草丛逃之夭夭。 这次交锋后,它似乎知道了我不是好惹的,再也不敢明目张胆的靠近我,只敢远远的吼几声就跟我保持距离或者趁我不注意在背后叫几下。
本着痛打落水狗和宜将剩勇追穷寇的原则,我当然并不满足于此,非要把它治的服服帖帖不行。以后每次看到它都要假装追它几步进行巴甫洛夫强化。最终,在某个傍晚,我彻底的摧毁了它的斗志。
那天天色已暗,我远远的看到它站着发呆,便蹑手蹑脚的走近,再走近,走的非常非常近,大概两三米的距离时。突然大吼一声。它这次真的吓破了胆,“嗷呜”一声都没有完全发出来便仓皇奔逃的没了踪影。我甚至没有追赶它,只是站在原地哈哈大笑,从它的怂样我已经知道,它彻底的败了。
从那以后,它再也没敢对我叫过一次。

也许是老了,失去了年轻的锐气;也许是在和我的斗争中消磨掉了捣乱的激情。它慢慢的很少乱叫了,总是自己默默的或走或坐,似乎心事重重。而且似乎早年的二球表现影响了它在狗界的口碑,也很少有其他狗愿意和它玩。孤独成了他后期生活的主题。作为曾饱尝孤独心酸的人,我对它的同情与日俱增。
终于有一天,我试图给它一些美食来表示愿意不计前嫌重修旧好。它先是警惕的后退,在思考了很久后,疑惑的离开了。以后我们成了最熟悉的陌生人,尽管还会保持一定距离,但都不再刻意躲避对方,更没有了丝毫挑衅的热情。

就在我以为这种平淡会持续下去的时候,有一天我突然意识到,好久没见过它了,真的有好久,久的似乎从来没见过它一样。我甚至都努力一下才能想到它的样子,也不敢去向它的主人求证什么,只是每天在楼下习惯性的看向它曾经出没的角落,期待那个白色身影再次出现。在我努力接受了它已经离开的事实时,它家出现了一只新狗,一只小一点也很安静的狗,这只似乎天生认识我,初次见到我就主动过来献媚打滚。于是我问它的主人:这是汉堡二代么? “它叫肉包”。 “汉堡呢?”  “丢了”  “……”

我是不相信这么精的一只狗会丢的,至此我已经确认,在我们之间,扎扎实实的横亘着一堵叹息之墙了,RIP.

Using IE BHO

关于IE插件BHO,网上很多文章,我就不再废话介绍。这玩意可以说是非常危险的一种东西,劫持浏览器,盗取用户密码等都可以做。

比如:《两分钟搭建BHO钩子》http://www.vckbase.com/index.php/wv/1597
再比如:《C#开发BHO插件UrlTrack》http://blog.csdn.net/lee576/article/details/3057820

类似的文章不胜枚举,我在实际使用中发现了几个问题记录下来希望能帮助后来者少走弯路。

1. BeforeNavigate2 not fire
Using C# to create BHO is very simple, but while you following the guide on web, you may found your “BeforeNavigate2” event may not fire/trigger.
That’s because a .NETFramework bug, until 4.5.1 this bug still exist. It has been fix after .NETFramework 4.6

If you can’t use C#, you can also use VB or VC++, many guides on web are using C++ (ATL).
BUT if you can’t use ATL, there also a guide of write BHO in plain C, without ATL and MFC
http://www.codeproject.com/Articles/37044/Writing-a-BHO-in-Plain-C
NOTE: there is a bug of PostData in the guide code, other reader find and give out solution in comments under that artical.

2. Modify PostData
I just want to modify/change the postdata user submit using “BeforeNavigate2”, like this man: http://www.dotnetbbs.com/76634257/
Simple assige true to “Cancel” will stop the page navigate, but assign anything to “PostData” has no effect.
I have tried to call browser.Navigate() inside BeforeNavigate2 handler, it does work, and will cause continuly invoke BeforeNavigate2.

[To be continue]

简单粗暴入门LDAP 

[sadly, I found my blog was blocked yesterday, so ironic. Fuck the Great Wall and the greate gov]

为了庆祝明天的反法西斯战争胜利70周年,我今天本来打算打一天酱油的。结果早上一到办公室领导说让我支援其他同事搞LDAP,而且要今天搞定。听到这个词我脑子里第一时间想到的是LAMP和DLNA,意识到这玩意从来没听过后,我表示呵呵……

趁着其它同事都还没来,我上网查了一下基本概念算是有个模糊的了解

LDAP: Lightweight Directory Access Protocol (轻量级这个词无视,关键是目录访问)

目的是用来存储各种层次化的信息,比如校、班、组,国、省、市、区等等。可以假设在网络上,并且支持检索和过滤等等。

说白了,就是个网络电话本一样的东西,鬼知道同事们要用这玩意干什么
1,安装LDAP服务器

无视windows,因为公司内部各种傻逼防火墙和组策略,在win上搞服务器就是自讨苦吃。

Ubuntu参见这篇 (http://www.cnblogs.com/xwdreamer/p/3469951.html),我不再重复发明轮子。

有两点需要注意

1.1 原文引用如下
『在安装完毕以后,可以通过以下命令来验证是否已经正确安装
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn

ldapsearch -x -LLL -H ldap:/// -b dc=envisioncn,dc=com dn』
切记,三个斜线后面也是命令的一部分!!!自动忽略//后面的技能让我郁闷了好久。
1.2 我执行ldapadd命令后并没有出现错误,但是原文add_content.ldif文件里的注释可能要删掉,否则会有异常信息
2,客户端

我使用的是ApacheDirectory Studio, 参见(http://directory.apache.org),基于Eclipse非常亲切

具体的使用也不用我说,非常简单,点点鼠标就行,有问题直接看Help或者上网搜
3,  API使用

同样使用的是Apache Directory的API, 简单的难以置信,官网有Five minutes tutorial,爽

就像使用SQLConnection一样,创建一个链接,bind(可以理解为鉴权), 然后search, 返回一个cursor, 使用完毕记得close。
—-完毕—-

常见术语和缩写 (不区分大小写)

DN: distinguished name/可识别名称

CN: common name/普通名称 (不是china。。。

DC: domain component/域名组件

OU: orgnizational unit/组织单位

objectClass: 对象类(可以理解为type或者interface

恼人的百度DSP弹窗

之前曾经装了百度影音,卸载后屏幕右下角经常出现弹窗广告,非常可恶,不仅看着糟心,而且影响打游戏!!
当时通过广告弹出时和未弹出时的进程信息,发现是一个叫popupwnd.exe的进程作怪。
当时随手删了也没当回事。
最近为了看B哥的演唱会,又装了个Letv的程序,看完后照例又删掉了。没想到久违的广告弹窗竟然又回来了!
流氓真是防不胜防,把删除的方法记录在这里,有同样困扰的朋友可以自行解决。对于这种强奸用户的无耻之徒,应该永远被唾弃。

进程叫: popupwnd.exe (64位机器上可能显示是*86)
位置在: C:\Users\[yourname]\AppData\Roaming\Letv\AfterPlay\popupwnd.exe

一只狗的故事

2014年10月某天,我和妻子在楼下闲逛。路过一家的院子时发现了一只小草狗。小狗约一两个月大,毛茸茸的很可爱。我们上去打招呼,小狗竟然走过来和我亲近,顺势我把玩了它一番。不得不说,我还是很招动物喜欢的。

因为是小草狗,主人家似乎也没太精细的养着,就那样放在院子里。那以后我们便经常的带些食物来喂它。过了许久终于碰到它的小主人,得知它叫熊熊。(我猜是跟小主人看了熊出没有关,未求证)

有次家里剩了些桂花鸭,我惦记它便带了一些给它吃。没想到它吃起来非常疯狂,带骨头的鸭肉整个生吞,顿时卡着喉咙了,咳咳咳的难受,我当时做贼心虚生怕主人出来怪罪便飞也似的跑掉了。第二天偷偷的去看它,还好端端的活着,我才舒了口气。不过它发现我后生气的冲我叫了一声,这也是唯一一次冲我叫。

熊熊是一只聪明的小狗,虽然智商可能不及我曾经的宿敌–汉堡(关于宿敌的故事以后再写)但是他明显认识我。每次我从他家外经过,它都会欢天喜地的跑过栅栏边任我抚摸,我若说了“再见熊熊”。它便会立即定住,默默的注视着我走远。

狗生总是进展迅速,很快它就从一只略带胆怯的小萌狗变的又长又大且肥。而且也从不敢靠近栅栏 -> 慢慢的敢把脑袋伸出栏杆 -> 探出半个身子 -> 最后直接麻利的从栏杆里钻出来在小区里晃悠。

虽然它已经萌态尽失,变成了一只普通的中年中华田园犬模样。但是我们的感情依旧,偶尔遇到散步的彼此,它还是会跟着我们走很远。有时候我推着儿子,它就在前面带路,仿佛是我家的狗一般。我有什么好吃的也经常会想着它。

最近发生了一件事情,不禁让我想起几个月前一次它的搞笑行为。而这一切似乎都是冥冥之中注定的。

先说前因。某天我们经过它家外,照旧我和它玩儿了一会儿。它大约是看我们围观群众比较多,心情也好,冷不丁的给我们表演了一个绝活:两条腿走路。不是普通的用两条后腿站起来那样,而且用两条前腿支撑,两条后腿向前伸直。就像体操吊环动作那样。这一幕引得我们前俯后仰,熊熊似乎受到大家的鼓励,又走了一圈才罢休。

从那以后我们再也没见过它展示该技能,我们也渐渐淡忘了这事。

直到近日,熊熊在一次散步的时候,出车祸了。也许是走路太忘情没有注意到后面来车,他的右后腿被压断了。主人家一天后找到它时,它藏在家附近的草地里奄奄一息。
经过治疗它很快恢复了生机,没几天就又拖着残腿开始在家附近晃悠,现在已经又在小区里面散步了。我在楼下遛孩子的时候若是遇到它,它依然会跟着我走很远。

看着它一瘸一拐的样子,想到曾经的双腿行走特技,真是感觉哭笑不得,自从它腿瘸后俨然成了小区的明星,不仅衣食无忧而且总有人出来帮它和其它狗打架。

要是以后还有什么它的趣事,再继续更新这篇,我先构思一下宿敌汉堡的故事。