Shell's Home

Aug 7, 2006 - 1 minute read - Comments

Helix关键提示

今天被整死了,好久不用Helix,结果细节忘记光了。 开启Helix后的测试是http://localhost:port/admin/index.html,其中port是安装时候指定的管理端口。然后要输入安装时候指定的用户和密码。开的开吧——那就用不着它了。 在HelixProducer中的设置是Push, user & pass,然后用户和密码就填写管理员的(要么刚刚的管理界面里面自己新建一个去)。端口改安装时候设置的http端口,千万别搞错了。path可以不写,传输方式UDP。最后要记得流名字。 然后我们的点播URL就是rtsp://ip:port/path/filename。port是你指定的rtsp端口,path是HelixProducer指定的,不写就没有,filename是流名字。 希望大家顺利吧。

Aug 3, 2006 - 1 minute read - Comments

testren

shell909090.testren.com,相信很多我的朋友都在上面做了题。其中成绩最高的是李默雯小姐,一半答对——说实话,她应该去赌球的,我的题目可不比世界杯好猜——。最低的是Stella同学,相信伊直觉差的和我有拼。 下面公布下正确的答案: 1、下面哪种技术/标准是贝壳完全没有研究的? c、 CLR CLR是用于.net的Common Language Runtime,小马在这里弄错了——亏你还和我一起看的SQL。 2、下面哪个组织/论坛是贝壳没有提供过技术支持/服务的? d、 www.foxmail.com 其他几个贝壳至少都做了服务的,sinofrance是GIGI工作的那个。 3、贝壳邮箱的909090是? a、 缓冲区溢出中的代码 NOP指令,熟悉ASM的人应该看的出来—— 4、贝壳家里面完全没有人做过的职业是? d、 海员 有在船上工作的,但是没有出海。 5、贝壳曾经在2006年春天出去旅游,当时和多少人去了几个城市? c、 1个5城市 我自己去的,深圳没啥好写的——所以看我博客的同志,辛苦了。 6、贝壳和上面广告中的Shell Company的关系是? a、 没有关系 恩,不要想太多。 7、贝壳名字的由来是? c、 有一种算法叫shell 其实也是有个人叫shell的,算法就是以他命名的。问题是——我不崇拜那家伙—— 至于说交互程序的,的却,很像,可惜,不是—— 8、贝壳属于以下哪个星座? d、 巨蟹 有的人——错的很不应该阿—— 9、贝壳曾经养过以下哪种动物? a、 狗 答狗熊的给扔出去—— 10、下面哪门课,贝壳一次就过了? a、 体育 这是所有题目错误最高的——所有全错了。贝壳高数因为太嚣张,结果被85分关掉。体育到是因为认识老师(李忠彬阿,Stella不知道还记得不——不好意思——),所以一次过去。 11、下面哪个学校,贝壳完全没有念过? d、 汇文中学 恩,因为北京和上海都有汇文中学(这个我是跟李默雯小姐确认过的,她就是上的汇文,所以一次就答对),但是贝壳从来没有上过任何一个汇文中学。因此拿来蒙人—— 12、以下哪种技能,贝壳完全不在行? c、 八卦 呃,无论是八卦,还是八卦掌,贝壳全不会—— 答其他的去撞墙吧—— 13、下面哪个不是贝壳的昵称/外号? c、 阿迪达斯 答D的去医院检查眼睛去—— 14、贝壳的DVD存档总资料量是多大? d、 450G 没啥好说的—— 15、贝壳维护的桌面系统最常未重装时间是多久? 嘿嘿,厉害吧—— 16、下面哪种系统,贝壳本人的机器上从来没有运行过? a、 Minix 混蛋minix跑不起来——So。 17、贝壳曾经在自己的机器上运行过多少种类的系统?

Jul 30, 2006 - 1 minute read - Comments

新版MSN试用报告

最近MSN又更新了,出乎我的意料,这次是stella同学率先跟进的。结果伊在刚刚用的时候发现好友全部消失了,正在惊惶的时候,偶撞上去打招呼,结果被伊捉来拷问。最后恢复是恢复了,不过还欠下新版MSN的论文一篇。 虽然不知道伊何时对MSN的机制感兴趣了,不过偶还是写了一个blog来分析新MSN的战略意义和运行机制。 免责声明,以下内容尚没有经过严密测试。如有偏差,作者不负任何责任。 copyright itten by Shell.E.Xu, public under GPL. abstract 新版MSN的功能和工作原理。 keywords N,安全,兼容,分布式 context 我们先分析what’s new上面提到的两个新功能,语音通讯和共享文件夹。 1.语音通讯 这东西很老啦,我测试的情况下是直接连接,连对方的IP都暴了出来,而且还不稳定。不知道为啥微软拿来宣传。 2.共享文件夹 共享文件夹的功能不是MSN的独创,但是MSN的共享文件夹思路很特殊,是针对每个人共享的。这不同于设置共享文件夹权限的做法,针对每个人的共享在正常来看差不多就是文件传输。通常IM的文件共享都是共享一个文件集,然后设置不同人的访问权限。这个时候IM宿主的功能就好像一个文件服务器。但是MSN的做法使得管理者不是单个IM宿主,而是两个。而且IM宿主不必在线,也可以修改文件。对此我跟踪了下整个实现过程,发现是这样的。 MSN使用了%ROOT%Local SettingsApplication DataMicrosoftMessenger%EMAIL%目录来保存和共享有关的东西,对每个人的共享内容都会保存在SharedFolder下面的Email下。每个人只保存自己共享出去的,对方的内容在联机的时候同步。这里要提到一个概念,硬连接和软连接。假定文件内容相同,连接能减小空间损耗。NTFS虽然在理论上支持了硬连接,但是却没有在platform API里面导出相关函数。何况FAT根本不支持硬连接。所以MSN使用硬连接的可能为0。至于软连接,同样,FAT根本不支持。所以使用软连接的可能也不大。因此,假定你一个文件要共享给所有人,使用MSN的话你要重复拖曳,并且多次保存。(短期试用,还不知道是否真的必须这样)这样共享文件根本不经济。更何况每次上线都要进行同步,取得别人的更新,这样对网络也非常浪费。同时还存在下载染毒文件的风险(当然不会有运行的风险)。不知道微软存了啥心思。 3.Windows Live Safely Scanner 微软在共享文件夹里面配套提倡的,就是Windows Live Safely Scanner。其他厂商为了增大合作空间,一般在查毒功能上都是利用外包方式,只要你提供一个杀毒软件主程序的路径,就可以利用%PATH% %FILE%的方式查毒。微软就在MSN内推荐使用本公司的产品。由此看出微软准备借助IM的优势,向安全领域进军。 4.联系人列表加密 这个是本人最不齿的功能,如果要加密了联系人列表,那么gaim一类的东西就全成了废物。微软如果真的有这个心思,完全是本着把开放协议搞成封闭协议的精神在做事了。如此无异于步QQ的后尘。 5.其他特征 新版MSN登录时间一般比较长,估计是在做功能通讯。有得有失,大家就别计较了吧。不过如果你登录过,速度就比较快了。MSN新版的稳定性还是不行,stella小姐被吓个半死,我这里是分组丢失。不过伊重新登录就恢复了,偶拿gaim登录也正常了。

Jul 27, 2006 - 1 minute read - Comments

BOINC分布式计算

嘿嘿,贝壳我现在正式参加了BONIC的两个项目,SETI@home和Einstein@home。这两个项目是通过个人电脑的剩余CPU能力来计算大规模运算项目。SETI是寻找外星人的存在。通过个人电脑来计算美国航天局射电望远镜的信号,来分析外星文明的存在可能。Einstein是在2005世界物理年发起的计算引力波的项目。 个人觉得计算来说,PII以上的计算机就可以参与计算,以下的就算了吧。因为您算出来的时候已经超时了。运算是在后台进行,除了系统指示上CPU基本全是满的以外没有什么异常。电影照看网络照上,就是CPU温度可能高了点。不过相对人为和意外来说,这点造成的寿命问题完全可以忽略。 BOINC还有很多有意思的项目,包括计算蛋白质折叠,计算病毒分子情况(以上的都是用来寻找疫苗的),还有大气环流(这个是预报自然灾害和预测人类行为影响的),计算防疫药品最有效分布,计算最大质数,分解大质因数等等。很多都有相当的科学意义。 BOINC的安装相当简单。下载程序,安装,在计算主页上注册,在软件上登录。然后你就不用管了,只要定期看看有多少分就好了。可以用多个计算机算一个项目,也可以一个计算机算多个项目。建议每个计算机算两个项目,这样一般不会超时,而且也不会没的算。 如果您有兴趣,可以参看。 伯克利开放式网络计算平台 Berkeley Open Infrastructure for Network Computing 如果决定参加的话,最好再加入中文站点上面列出的项目小组,为世界做贡献的同时为中国添光彩。 SETI@China , Einstein@China , LHC@China , Predictor@China , Rosetta@China , CPDN@China

Jul 14, 2006 - 1 minute read - Comments

删除无赖

大家知道,从3721首开记录后,很多软件都有卸不掉的情况。多数是插一个dll到explorer里面,让你无法UnloadLib,也不能kill。然后保护一堆文件不能删除,再放注册表项目。3721还加了一个驱动,这样就是神仙也删不掉。 骂人不多骂了,方法两个。http://www.sysinternals.com/Utilities/PendMoves.html有一个项目,可以延迟删除。换句话说就是在启动的时候,讨厌的流氓加载前让内核做删除动作。很方便,重起下就没了。至于怎么找这些流氓的位置。http://www.sysinternals.com/Utilities/Autoruns.html同样公司,这个项目可以将开机所有自动加载的模块全部找出来。IE的插入组件也可以找出来。 不过这个办法虽然好,可是还是会有破绽。万一连这两个软件运行都屏蔽呢?这个时候可以用linux live+ntfs r/w modules,这样删除任何东西的时候,神仙也挡不住。 BTW,做live的时候,千万记得放一个ntfsfix在盘里面。贝壳的/dev/hda1有个logfile没有clean,结果死活不能写挂载……

Jul 13, 2006 - 1 minute read - Comments

论linux引导过程

keywords 引导过程, initrd, init, rc copyright Shell.E.Xu撰写,按GPL发布。 abstract 简要介绍了引导流程的流转。 main 1.grub&lilo 引导的第一步,是启动引导管理器。这个种类非常复杂,从最早的MBR+专用引导扇区到现在的NTLDR,LILO,GRUB,大小和功能都有非常大的变化。但是主要来讲目的都是一样的。当今引导程序一般都分两个部分,引导扇区和主引导模块。NTLDR来说,C:NTLDR文件即是主引导模块。GRUB的主引导模块在/boot/grub/stage2,至于引导扇区,不用太过关心的。 主引导模块在加载后都会读取引导配置文件,当代流行引导管理器其实都有命令交互功能,可是你总不能指望每次启动都先敲堆命令吧。GRUB来说,配置文件是/boot/grub/menu.lst。注意,GRUB是在启动的时候读取配置的,但是LILO是根据配置来安装的。所以LILO在改变配置的时候需要重新安装。 2.vmlinuz&initrd 引导管理器会自动的将vmlinuz安置在内存中,然后寻找initrd传给vmlinuz。在没有initrd的情况下也可以引导,不过当下的趋势是将引导过程用脚本管理,放置在initrd中。这样引导参数解析,模块加载,设备管理都纳入了脚本的范围内。用linux哪能不会脚本,因此linux引导就有非常强的可以定制特性。 initrd分两种,cpio-initrd和ramfs。这里主要介绍 cpio-initrd。cpio-initrd的建立方法很简单,我上篇文章中有介绍。大致来说,就是把一些内容打包备份而已。vmlinuz会启动根下面的init脚本,我下篇文章会专门解析debian中配置的initrd.img的init脚本。现在大致说下。 init首先建立两个目录,建立/dev系统,并且建立null和console文件,否则udev的运做会出错。然后解析引导参数,解析到每个变量。而后依次运作init-top,init-premount,init-bottom(这些目录内的文件)。在init-bottom运行前会运行包含指定的脚本,这个脚本由BOOT参数指定,并且内部包含mount函数。这样可以通过指定BOOT参数定制mountroot的过程。最后是迁移大部分的系统过去(主要是/sys和/proc),最后通过run-init直接chroot和init。 3.init&rc init运行的开始,会寻找inittab。其中指定了系统的很多特性,最主要的是runlevel。首先是寻找/etc/init.d/rc并且运行,并且把运行级别作为第一参数传递。然后rc会寻找/etc/init.d/rcS和/etc/default/rcS,如果有的话则包含或者运行。然后rc会以参数S运行自身,过程和正常启动一样。这个作为基础启动参数,无论你以何种级别运行都会运行rcS.d里面的脚本。 4.service service启动的时候,是用rc?.d的脚本启动的。多数会用start-stop-daemon作为另外一个身份启动成守护进程。 5.bash&gdm 6.conf files reference: [1].

Jul 11, 2006 - 2 minute read - Comments

debian live

准备做debian live了,期间有什么东西都会写在这里。大致来说就是打算实践一个项目。 copyright Shell.E.Xu撰写,按GPL发布。 abstract 用debian3.1testing为基础建立live cd。128M以内,无X系统,无交换区和/tmp,使用内存盘。 target 用于挂载ext3 ntfs vfat文件系统,实施文件系统管理和修复,访问文件系统内容并修改。 注:准备特别针对3721,yahoo助手之类类似rootkit的东西实施扫描清理。 environment debian 3.1 starg testing(貌似是废话) grub stage2_eltorito支持光盘启动 linux-kernel-2.6.15-8 直接使用deb包中内容 initrd 在kernel包中包含 step by step 1.建立基础文件系统并且复制所需文件 建立~/syscd/boot/grub/,复制menu.lst stage2_eltorito文件过去。 复制vmlinuz system.map config到~/syscd/boot中,注意ISO9660格式中文件名不能过长(多少记不清了)。 复制/lib到~/syscd/lib,并且调节内容。(我个人在其中添加了我需要的nVIDIA显卡驱动) 2.grub和iso cd \~ mkdir initrd #关于initrd的原理生成和使用后面讲 mkdir root #这个是用于内存的镜像内容 mkdir cramfs #这个是只读镜像内容 vi \~/testsyscd ------------------我是邪恶的分割线-------------------- #!/bin/bash qemu -no-kqemu -cdrom \~/syscd.iso -boot d >/dev/null ------------------我是邪恶的分割线-------------------- chmod 755 \~/testsyscd vi \~/mksyscd ------------------我是邪恶的分割线-------------------- #!/bin/bash COMPRESS_MODE=-9 cd \~ # block of create initrd.

Jul 2, 2006 - 1 minute read - Comments

linux中文说

linux号称可以支持全部语言,其实细节上还是有不少问题的。具体情况大致是这样的,linux的中文支持分三部分,locales,字体,设置。 首先是locale的部分,这个最简单不过,用root运行dpkg-reconfigure locales,然后选择你需要的解码方式,最后再设定系统默认语言(这个是可以修改的),就OK了。 然后是字体,字体的设定比较复杂,不过在debian中安装所有中文桌面的字体就可以了。不用自己去绞尽脑汁。 最后是设定,这个比较复杂。因为可定制性非常好的系统,无法避免要用大量的脚本来定制。如果可定制性差,相信你也不会用了。和中文相关的设置大致有一下几个,针对debian系统。 /etc/default/gdm:LANG=zh_CN.GBK #gdm登录时候的locales /etc/default/locale:LANG=zh_CN.GBK #这个是系统默认登录的locals,如果你使用命令行登录就是使用这个的 /etc/environment:LANGUAGE=“zh_CN:zh:en_US:en” /etc/environment:LANG=zh_CN #这个是登录进入X后的设置,你运行的所有程序基本都是使用这个 dpkg-reconfigure locales的默认语言设定修改的是/etc/default/locale,所以对X登录进去后的程序不一定起作用。一般情况下这zh_CN的设定就通吃了,不过有的时候有点小BUG,例如term下面vi后退出,就变成看不懂的乱马了。这个时候要重设屏幕才可以恢复。而且在输入的时候没有——的,很多东西也看不到。所以我改成了zh_CN.GBK,然后出现了两个问题。 一个是gvim不运行了,这个看了看别人,这么解决。 ----------------------\~/.gvimrc----------------------- set encoding=gb2312 set langmenu=zh_CN.GB2312 set imcmdline source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim --------------------------------------------------------- 保证这个文件里面有这些内容就可以了。 然后是gtk1.X的程序都不正常了,主要是xmms和audacity。这个看了人家忽悠半天,最后这么解决的。 -----------------/usr/bin/env_zh_CN--------------- #!/bin/bash LANG=zh_CN exec $@ ---------------------------------------------------------- 然后chmod a+x /usr/bin/env_zh_CN 再修改所有运行语句成env_zh_CN xmms 我修改了两处。 世界基本就清静了。

Jul 1, 2006 - 1 minute read - Comments

Google earth

google earth很多人已经用过了,不过google earth有linux的bata版了。下载解压,解压界面非常漂亮,很容易上手。运行来看,是QT的界面。不愧是google阿。