大侠's profileLiy's spacePhotosBlogListsMore Tools Help

Blog


    6/11/2009

    关于绿坝-花季护航

    要是你还没听说这个所谓的:

    绿坝-花季护航

    的软件的话,你就有点落伍了。鼓励同学们勇敢的尝试哈!虽然俺还没机会使用。等我把之前的烂笔记本电脑带回国,绝对装个用哈!

    这整个感觉太无稽了,4000多万竟然就做出来这么一个软件。

    说它是被“做出来”的话,可能有点抬举了。前几天看了软件的界面截图我就在想,这玩意儿肯定不是一般人能弄出来的。果然!今天看到国内真正强人反编译,分析以后,更让我相当之好奇,吃惊,就这么个东西?!4000多万?!还好意思说每台销售的电脑都要预装,附带?!

    这儿偷点数据,哪儿抄点代码!违反开源代码协议!东拼西凑出来的东西,漏洞百出,还打算强行安装?用了4000万纳税人的钱,反过来还美其名曰:免费试用1年……这也太无耻了嘛……

    简直是本世纪第一大笑话!现在好多世纪咯?!21世纪了哇?!

    说实话,哪个要是给我100万……对嘛,借我100万,找几个人立马可以在我现在做的WindChime Project里边加入家长监控功能。而且是实时监控,父母随可以了解小屁娃在网上干啥子,弄点更无耻的还可以直接强制远程关闭电脑之类的。

    现在电脑识别图像算法不完善,只能作为一个最基本的筛选工具。当发现可疑图片,网页文字的时候,可以直接通过XMPP Jingle发送即时数据到家长的手机,笔记本,等等移动设备上,让人来判断是否是有害信息,并对算法进行纠正,然后整个软件会自我学习。如果我没记错的话……当年大二学的Subsymbolic Processing and Neural Networks(亚符号处理和神经元网络,是这么翻译?!)里讲到的差不多就这么一个东西,自我完善的神经元网络!仿佛还是需要大量数据来训练Perceptron network。不过反正中国人多三!!数据好办的很!!那一门我也就只记得这些咯!无限难!

    我描述的软件高级哇?!我这种三流程序员都能设想些更实际,实用的……那么随便给谁4000万也都可以做个真材实料的嘛!!!

    至于为啥这个软件可以被钦点……估计相关的人脑壳都被屎敷了一遍……当然也不排除相关的人脑壳本身就是屎的可能性……

     

    总结:鼓励大家尝试哈滤霸的威力,不过最好在烂电脑上用,要不到时候打个文件都莫名其妙被直接关掉,没有保存……之类的,就安逸咯!

    哎……最为一名留学生,想爱国,真的要有点能耐,真的不容易啊!给点机会好不好?!

    3/27/2009

    跩圆了!

    上班都可以写Blog!哇哈哈哈!
    虽然都要下班了。
     
    都没得人了,该弄的东西都弄得差不多了!
    最后半个小时就休息哈!干点腮边打网的事情!
     
    比如,无限跩的写日志等下班!
    3/25/2009

    更多关于 External component & Data synchronization

    Access Model
    Description

    Open
    Any entity may subscribe to the node (i.e., without the necessity for subscription approval) and any entity may retrieve items from the node (i.e., without being subscribed); this SHOULD be the default access model for generic pubsub services.

    Presence
    Any entity with a subscription of type "from" or "both" may subscribe to the node and retrieve items from the node; this access model applies mainly to instant messaging systems (see RFC 3921).

    Roster
    Any entity in the specified roster group(s) may subscribe to the node and retrieve items from the node; this access model applies mainly to instant messaging systems (see RFC 3921).

    Authorize
    The node owner must approve all subscription requests, and only subscribers may retrieve items from the node.

    Whitelist
    An entity may subscribe or retrieve items only if on a whitelist managed by the node owner. The node owner MUST automatically be on the whitelist. In order to add entities to the whitelist, the node owner SHOULD use the protocol specified in the
    Manage Affiliated Entities section of this document, specifically by setting the affiliation to "member".

    修正昨天说的。影响到PubSub External Component的应该有两种Access Model,就是上边所说的Presence和Roster。

    不过我实在不知道把Publish Subscribe Service做成一个External Component有多大好处。我之前只是简单觉得,可以把它放在另外一台电脑上运行,而且不一定局限于连接Openfire XMPP Server,以后过度期间还可以连到ejabber啊之类的XMPP Server。

    不过现在看来并不能简单得单一的作为一个External Component,因为一旦牵扯到Presence Subscription和Roster,就必须要相关的User data,而这些数据都储存在XMPP server上边,并不能是直接就可以想拿就拿来用的。

    也不可能直接调用数据库!首先太慢!其次Server不一定立刻存储数据到数据库。

    必须通过发送接收相应的XMPP packet来交换数据,实现数据同步。

    现在想的,如果要用External Component,首先要写一个Internal PacketInterceptor Plugin,监视所有的Presence subscription Packet。因为Openfire server api里边没有presence handler处理这种Packet:

    <presence to='juliet@example.com' type='subscribe'/>

    不过倒是有IQHandler专门可以用来处理Roster add and delete packet:

    <iq from='juliet@example.com/balcony' type='set' id='roster_2'>
      <query xmlns='jabber:iq:roster'>
        <item jid='nurse@example.com'
              name='Nurse'>
          <group>Servants</group>
        </item>
      </query>
    </iq>
    所以同步Roster和Presence Subscription还是可以实现的,当然External Publish Subscribe component也就可以实现了。
    只是不知道最后会不会太慢。
    如果不用External Component,那就简单了,之前写的东西,修改一下,就可以用了。

    3/24/2009

    麻烦的External Component Roster Access问题

    因为在External Component里边没法用一般的Roster query。又只能自己写一个Roster query packet handler之类的了。

    不过看了一下,仿佛XEP-0144: Roster Item Exchange可以部分满足我的要求。虽然这个protocol externsion在Openfire里边没有支持,但是我可能还是照着这个写一个Internal component或者Packet handler plugin比较好,尽量少做修改。

    麻烦啊!!把PubSub弄成External Component无限麻烦,因为Publish subscribe里边的Presence Access Model需要用到Roster,这就要跟牵扯到如何获取Roster,如何同步XMPP Server的Roster跟External Component的Roster的问题。要不然就将就用Internal Component算了?!?!省的我浪费几个月时间写PubSub component。

    3/22/2009

    WindChime

    最终名字定为WindChime,之前叫Beacon...
     
    后来觉得不咋样,而且发现Facebook之前也有一个同样名字的Project,结果fail了。
    换名字是肯定的了。
     
    思考了很长时间,决定敲定WindChime,风铃。
    虽然中文有点俗,但是还算贴切!
     
    之前的试验品弄完了!现在开始最终开发咯!
    好的名字好的开始是必要的!!!
    WC万岁!哇哈哈哈哈!
    3/1/2009

    给我一个月空闲时间哇?

    恼火啊,啥子时候弄得好哦!

    修改为检查日期

    大换血哦!
    麻烦死了
    2/27/2009

    更新了 !!!

    更新了 !!!更新了 !!!更新了 !!!更新了 !!!更新了 !!!
    欧也!!!
    2/26/2009

    XMPP Pubsub大概做完了!

    现在都可以监控多个网页或者RSS了,之后可以再把Atom加上!
    Monitor为多线程控制,不过还是最弱智的每隔一段时间扫描一次。
    另外RSS如果更新的话,只会推送最近的一个entry。
     
    Subscribe普通的网页url几乎没有什么用处,只能提醒网页是否更新,推送消息内只有网页的连接,没有任何其余Different信息。不过能接收到网页更新提示也不错哦~
     
    Server端的东西稀里糊涂的都几乎写完了,看上去还能用!
    现在任何人都可以写一个XMPP的客户端发送接收XMPP stanze了!简单的要死!语言随选:Java, C, Python, PHP, ActionScirpt, Erlang....
    只是我写的XMPP Server Pubsub component只接收我自定的XMPP格式,比如,你想订阅俺的Blog,就发送个以下的stanza到我的服务器:
    <iq type='set' to='beacon.domain' id='id'>
     <pubsub xmlns='http://www.beacon.com/BeaconFeed'>
      <subscribe feed='http://liyapriljune.spaces.live.com/feed.rss' jid='xxx@domain'/>
      <options/>
     </pubsub>
    </iq>
    仿佛在options elment里边还以定义你需要订阅这个resource多长时间,或者只接收某些关键字等等信息。不过我没试验过。
     
    我自定义的stanza格式相当不规范,之后还是要修改一下。
    不过现在至少能用了!
     
    说了一堆废话,这个东西到底拿来干嘛???
     
    说白了就是一个即时版本的,稍微高级点的Google Reader!!虽然还没做完!!
    同志们可以订阅RSS, Atom或者普通网页url地址,服务器会自动查找它们的更新。当查找到更新的时候,会即时推送消息到你的客户端!客户端可以是本地计算机上边的软件,或者是手机,或者是某个Web Application!!
     
    之所以用XMPP作为这个Project的Protocol,就是因为它易扩展!!简单!!公认!!Google Talk也用XMPP。
    反正以后的发展空间很大!还可以做很多无限高级的东西!!!比如...Instant Messenging!!不过XMPP本来就是即时聊天的Protocol!连上俺的Server就可以聊天咯!
     
    现在做的只是试验一下我的能力是否足够......仿佛我还不算太瓜......乱弄竟然弄好了!!
    改天写个客户端试试!!Web Application也可以!!
    2/23/2009

    恼火啊!!

    恼火啊!!
    恼火啊!!
    恼火啊!!恼火啊!!
    恼火啊!!
    恼火啊!!

    测试测试测试测试

    测试测试测试测试测试测试
    2/1/2009

    Fake A Real-Time 浏览器!

    啥意思?!Real-Time Browser?!

    当当当当!! 那就是:

    实时浏览器!!!!!!

     

    正在思考这个问题……把现在大部分非实时的网络变成:半实时的,假实时的,甚至完全实时的!

    这说不定是个很好的 idea! 至少可以减少点链接爱好者的数量!

     

    大概状况就是:

    当你浏览某个页面的时候,你就相当于已经订阅了此页,然后浏览器就可以接收关于该页面的数据,然后再做出相应的反映!注意哦!是接收!跟点链接,刷新无关……

    离开某页面,你就退订了此页,你就不需要接收无关数据了!当然你也可以永久订阅此页,一直接收关于该页的数据!

     

    可惜这种浏览器还没的…… 最大的问题是:需要Ping服务器和网站支持Ping!!

    哇哈哈哈哈!我是天才!!弄个哇?!?!咋样?!每天可以节约点链接的时间来睡觉!!

     

    说不定哪天Google啊,Microsoft啊,Mozilla啊,Apple啊,之类的就发布这种浏览器了…… 然后就高级了!!

    1/31/2009

    Google爆炸了!!抓狂了!!向全世界宣战了几分钟!!

     
    开始以为校内网挂了
    后来以为我电脑挂了
    结果最后google挂了
     
    反正啥子网站都是有害的!
    对头!!全世界网站都是臭虫!!
    1/30/2009

    哦耶!开源万岁万岁万万岁!

    开源万岁!
    主要是可以看源代码!
    其次是不用给钱!
     
    打算在客户端上用Gecko之类的,说不定可以作为一个排版引擎,反正开源,反正不要钱,而且Firefox都用它来排版。
    1/17/2009

    1

    1
    1/15/2009

    Test from work

    work
    1/6/2009

    Server端测试!

    马上就要写完服务器端最基本的功能了!!
     
    客户端就方便咯!随便咋写咯!

    再来测试哈喃?!?

    仿佛可以了哦!