自从从九州未来科技搬家到CPH后,一直对主机的访问速度和质量非常满意,特别是还提供了对SSH登录的支持,更加让我感到非常自豪。
可是在实际使用过程中,有时候却让人十分恼火。最开始拿到ssh账号时是考虑想把自己写的Gmail新邮件短信提醒的程序放到主机上来跑,可是上面curl和wget都没有,然后因为没有root权限,也安装不了。于是第一试告罢。后来我把程序放到unix-center提供的主机上去了。
第二试是给自己的一个目录做软链接,ssh上去直接搞定。
然后前天下午中国gov公布了四个全球优秀网络公司名单,其中之一Twitter.com光荣上榜。然后我在http://www.lostleon.com/twitter搭建了dabr,用来临时访问和更新twitter。可是硬是登录不上。然后突然想明白了,我的主机也并不在国外啊,怎么可能登录上呢。于是又ssh上去,想改hosts文件,可是我又错了。因为CPH并给普通用户修改hosts的权限,连查看都不能。第三试又告终。
与国外的那几大VPS相比,CPH提供的SSH支持真是太弱了,权限给的太少。不过,话又说回来,这种权限的不放开,在国内确实也是很有必要的。不然必然会造成管理上的混乱。前些日子备案风暴刮遍CPH,如Paveo所言,疾风知劲草,备案见人心。一个能保持稳定的主机服务,特别是非技术因素上稳定的主机,真的对大家都有益的。
以下是广告时间,敬请广大未成年读者忽略:六分靠打拼,四分天注定。
毕设老师是要我来用NS-2仿真WSN的某方向几个算法的。
报题目时,我对这个挺感兴趣,因为NS-2非常复杂和难于上手,我喜欢有挑战性的东西。
可是,随着毕设的深入,我发现我的远远高估了自己的能力,首先NS-2,这个东西本身所需要的深厚的功底不是简简单单会点coding就能胜任的。我经常会不小心被ns-2某个隐藏的bug卡在半路上浪费掉很多时间,而不能专心下来做coding,更不用说自己代码中的bug和对于下一步要如何实现的无限的空白和无知。
没有研究生带和引路的日子是异常痛苦的,只有自己在百思、近场论坛上慢慢的观察、讨论,在水木请教诸位大牛,在google上筛选海一般的信息,然后继续硬着头皮去读晦涩的paper,然后思考,然后继续coding。
对于WSN,我甚至以为它是一个早产的婴儿,我不知道它是否会夭折,在水木上看了很多也想了很多,学术界本身对WSN前途的不明朗负有很大的责任。我在网上请教过一个做过WSN项目的研究生,对于WSN的model搭建,甚至在一无所知的情况下就做出了太多的假设。我发现我下到的那些paper,都没有在讨论WSN的模型究竟最开始是如何搭建起来的,而更多的是在讨论搭建起来以后,可以借鉴和发展哪些具体技术。里面很多假设和模型都是做纯物理层的人看起来根本不正确或不符合实际的。比如做路由的时候就假定通信链路有或者没有,做时间同步的时候又假定链路都建立可以进行数据交换了,可是WSN一开始的连物理层的通信都没建立起来。
Read the rest of this entry »
新版本特点:主要解决了明文存储Gmail账号信息和飞信账号信息而导致的不安全问题。可以真正的worry free。
其实很好办,无非是通过shc来将shell脚本加密,生成二进制文件,就无法明文观察到密码了。有人会问,shc的加密真的那么可靠吗?一般来说是安全的,除非使用gdb等调试工具来获取源代码,这种安全级别对我们来说已经足够了。
如同前一版本一样,fGmail的获取地址在这个Google Code的工程里面。欢迎试用。
Gmail难道开通了新邮件免费短信通知?失望的是,仍然没有。不过,我做了一个“曲线救国”的方案,运用Gmail Feed + wget + sed + libfetion + cron + 我写的小程序fGmail,然后有一台在网的linux主机,即可实现这个功能!
OK,实现思路如下:Gmail提供了通过Feed访问新邮件的功能,我们通过wget来抓取它并保存成xml文件,然后写个shell脚本运用sed将新邮件数、邮件标题和发送者解析出来,传递给另一个小程序,这个程序利用DDD开发的libfetion库,实现向自己的手机发送短信的功能。将那个shell脚本放在cron中,设定每隔一段时间执行一次即可。是不是很简单?
我把所有程序都放在了这个Google Code的工程中,直接下载地址在这。除了libfetion等已经声明版权的内容外,fGmail遵从GPLv3协议。
使用时,只需解压后按照README安装即可。
费了这么多周折,终于实现了Gmail的新邮件短信通知。不过其局限性也是很显而易见的,如只是Gmail,没有其他邮件,只能是中国移动飞信的已注册用户,要有一个linux系统来跑等等。不过这些限制对我自己来说,刚好已经满足了。
基于libfetion开发的项目很多,网上最常见的例子比如免费天气预报之类。如果有好的构思,完全可以做出非常实用的东西来。也希望我的这个fGmail小例子能实现抛砖引玉的作用。最后希望能早日实现上手G2的梦想,爽歪歪的直接用手机收发邮件。
Q & A :
Q:Why fGmail?
A:I choose `f’ and `Gmail’ to name it simply for fetion Gmail or fetch Gmail.
Q:Hey, but how about its safety, I mean the Gmail and fetion account information?
A:Your Gmail account information is directly stored in the file `account’, and I am sorry for that. Maybe I will fix it in the next version.
在Fedora 10下,用到了十分优秀的libfetion库和cgi-util库,前者是DDD作者黑盒开发的飞信库,使用了最新的0.92版,后者是一个简洁c语言下的cgi库。通过在浏览器中调用
http://domain/cgi-bin/sms.cgi?msg=YourMsg
即可实现给自己的手机免费发送短信。


这个接口还应该做的和可以想到的:
1.短信目前不支持中文,待将URL编码问题解决
2.抓取网页内容(如天气预报信息)/或读取到新邮件通知,然后通过此接口发送短信
3.效率过低,编译后竟然后上百k大小
后续开发也在进行中,并且我会把比较成熟一点的代码贴出来。好久没有认真写C代码了,自己感觉太烂了……
Google了一下自己曾经写过的一些文章,在一些被转载的中,其中有不少直接盗链了我的图片。好吧为了空间的流量考虑,我想还是限制盗链比较好。
晚上赶了一个小图片,发现自己竟然还有用Fireworks的天赋……
然后就是做个htaccess,因为我主要是防blog中的图片盗链,就把htaccess文件放在了/blog/目录下。除了直接访问、我自己的网站、几大搜索引擎和两个feed烧制外,都被重定向到下面这个图片。

另外,我的文章欢迎转载,转载请遵守CC协议,盗链图片是绝对禁止的。
早就从awflasher师兄那里听说他搬家到当时还是72松组织的主机那里了,对于电一般的访问速度,心中当时就羡慕不已。今天在mathzqy@newsmth的帮助下,自己竟然也搬家到了CPH!CPH的主机托管在北京酒仙桥BGP机房,和Google.cn在同一机房,三线访问,特别是教育网和很神速……oh my god
事情源于这个月15号,我收到了来自九州未来科技的邮件,通知我空间产生了大规模的流量。根据Webalizer的分析,发现自己从13号开始就产生了大规模的流量,到17号短短4天时间内,产生了每天1G的流量。我十分吃惊,空间在18号终于被暂停。后来查明原因,为一篇文章被Google放到了某个关键字搜索的第一位上,引来了每天几k个独立访问,最终使流量超标。
其实我得知流量突增后也采取了一些措施,比如对那篇文章关闭评论,设了访问密码,后来改了文章访问路径,后来直接关掉了文章访问,本想亡羊补牢,可是已经迟了。跟九州未来客服的沟通还是比较顺利的,他们爽快的为我开通一天的网站访问时间来分析log文件,虽然空间被关停心里比较不愉快。
将近半个月时间,损失也不少,订阅数瞬间减少到个位数了,Google的抓取也少了,教训是惨痛的,可是前途是光明的。再次感谢mathzqy!
另外,我在九州未来科技的虚拟主机空间现在转让或免费赠送。有需要的联系我。
家里网速实在卡,redhat是不可能马上就下下来了,于是就用了手头仅有的cygwin来安装,也不错其实。反正实际上都是在ns内部写代码,暂时不需要真实的linux环境。
cygwin有各种版本吧,几十M到十几G的都有,我下的是50M多的很小的一个版本,事实证明已经足够了,不够的几个包完全可以临时附加安装。
根据nsnam网站给的提示,安装ns2之前,需要实现在cygwin中打好gcc、gcc-g++、gawk、tar、gzip、make、patch、perl、w32api这几个包,另外X11也是必须的,可以是Xfree86 (需要XFree86-base、XFree86-bin、XFree86-prog、XFree86-lib,和XFree86-etc几个包) 或者X.org (需要xorg-x11-bin、xorg-x11-bin-dlls、xorg-x11-devel、xorg-x11-libs-data,和xorg-x11-etc几个包)。
除此外,还需要X-startup-scripts这个包,否则的话就无法运行起startxwin.sh。
另外特别注意的是,安装ns2之前要打一个补丁,在ns-allinone-2.29tk8.4.11generictkBind.c文件的588~589行之间插入下面三行:
#ifdef GenericEvent
/* GenericEvent */ 0,
#endif 否则的话nam将无法运行起来。
ns的编译过程将非常漫长,期间可以去吃个饭或者睡个小觉。装完后运行个example3.tcl看下,出现如下结果,应该就说明没有问题了。
OK,最基础的环境已经搭好了,可以开始工作了。