me =~ s/nai/liu/m;
刚从网上学习的,记下来。
Linux 下检查 PID 是否存在,最快的方法就是用 kill 命令。
对于信号“0”的解释:exit code indicates if a signal may be sent
相应地,在 C 语言里就是
参考资料:
1. Unix man pages: kill()
2. Fast way to determine if a PID exists on (Windows)?
首先,先要喷一下三星的垃圾硬盘。这块垃圾硬盘已经坏了修,修了坏好几次了。而且每一次都是我自己修的,因为三星的保修形同虚设,一直让我联系 OEM 厂商。
昨天开始,这块垃圾硬盘再度出现故障。这次就连被某些人誉为除错能力最好的 ext3 文件系统都没办法解决。呃,我没想喷 ext3,但是这次故障的确够严重。没办法,只有备份数据放弃这块垃圾硬盘。
本来这块垃圾硬盘是挂载在我的 WD MyBook 下面,我在 /shares/internal/HOME/ 下面作了一个软链接(soft link)External/ 用来指向这块垃圾硬盘。所以理所应当地进入 /shares/internal/HOME/External/ 下面。为了防止 ../ 指向混乱,我还特意 pwd 和 cd ../ 一下,确认 ../ 指向的是 HOME/。然而,就在 mv Documents/ ../ 之后,问题出现了,系统提示空间不够。df 之后发现,备份内容移动到主系统下面了,HOME/ 下面什么都没有。没办法,只有先把所有东西都移动回来。
之后,为了图省事,直接在 Windows 下挂载网络硬盘,将 External/ 下的东西拖动到 HOME/ 下面,一次完成。
唉,照这种易用性,Linux 要取代 Windows,恐怕 1000 年的时间都不够啊。
偶然发现的 Bug。
现象:运行 avgrsx.exe 之后 Resident Shield 自动关闭。
版本:AVG 8.5.283 Free
没找到官方论坛,而且官方对免费版没有任何支持,无法回报 bug。(Update:刚去免费版官方论坛发帖报告了一下,不知道有没有人管)
想攻击 AVG 的黑客们可以行动了。
还是记下来比较好。
在 Bash 中启动一个进程,在进程结束后可以通过 echo $? 来查看程序的运行情况。
程序的错误代码(返回码)可以通过 exit(error_code); 来指定,或是系统定义的代码。一般来说,0 代表成功(无错误)。
Linux 的 error code 可以查看 /usr/include/linux/errno.h。
来多伦多的空档,在街头拿出电脑打算写点剧本,结果发现自动连上一个无线基站,速度还不错。
打开无线网络管理程序一看,竟然所处的位置上有这么多的AP。看来以后还是要保护好自己的AP,防止盗用。
地点:多伦多 Clarence Squre 北侧
时间:发帖时间
作案工具:Dell Latitude D630 (Wireless 802.11b/g)
貌似那个 One Zone 就是多伦多的城市无线网。
Linux BusyBox 果真是个强大的东西。只要想做,什么都能做出来。正好最近正愁 My Book 的服务总是莫名其妙的挂掉,搞的在单位都无法访问文件。操起简单的 vi,开始制作 Bash Watchdog。(之所以没用 Perl,是考虑到 Perl 在预编译的时候比较耗费系统资源)
经过三个小时的现学现卖,雏形版的 Bash Watchdog - swatchdog 出炉。
原理很简单,无限循环,检查命令行传入的进程是否存在。如果不存在则重启。
使用也很简单。
自动侦测 cvm(mionet)、transmission 和 amuled。
Here is HOWTO add nethostfs on Western Digital My Book World Edition. For Chinese version, visit here(中文版).
Prerequisite: Enable SSH on My Book.
Step 1. Download nethostfs v1.5 source code, unpack and compile.
Step 2. Create shared folder /PSP/ through My Book Storage Manager.
Step 3. Create service script nethostfs under /etc/init.d/.
Step 4. Make start/stop link under /etc/init.d/.
Step 5. Reboot My Book World Edition
Note 1 - nice -n 10 is used in service script to adjust process priorities, in order to avoid nethostfs consumes too much CPU resource.
Note 2 - This works perfect for iRshell, as well as PPA (which uses iRshell's WiFi code)
Western Digital My Book 所使用的 BusyBox 可塑性还是很高的。
想到正好在用 PPA 在 PSP 上通过 WiFi 看电影,干脆把 nethostfs 服务也集成到 My Book 里面好了。(English Version)
前期准备:在 My Book 上加装 SSH 服务。
第一步:按照下面的方法下载 nethostfs v1.5 源代码,解包,编译。
第二步:通过 My Book 共享储存管理器建立 PSP 共享文件夹。
第三步:在 /etc/init.d/ 下建立 nethostfs 服务脚本。
第四步:在 /etc/init.d/ 下建立相关启动/关闭服务链接。
第五步:重启 My Book。
注意 1:在服务脚本中,使用了 nice -n 10 调整进程的优先级,防止 nethostfs 占用过多资源。
注意 2:此方法也适用于 iRshell。(PPA 的 WiFi 部分使用的是 iRshell 的源代码)
玩了很长时间的《无双·远吕智》(无双大蛇),对其中的 CG 和 BGM 已经厌烦了。最近无意间看到有恶搞的无双大蛇幸运星OP,干脆拿来集成一下。
说做就做。把网上下来的镜像挂上开始 dump 文件。
但是光荣也不是吃素的,打开光盘之后发现里面都是打包好的文件,分别是 LINKDATA.ANS、LINKDATA.BNS、LINKDATA.CNS 和 LINKDATA.DNS。又是无意间,发现专门为《战国无双2猛将传》准备的 CNS 解包工具。下载、解压缩、sm2m /cu 解开 CNS,获得一堆 .pss 文件(美版是10个,日版24个,多出来的都是无双系列前几部的宣传片)。这里要插一句,PSS 文件和 MPG 文件差不多,都是 MPEG2 的封装器,用 MPC 内置的 MPEG2 Splitter 可以分离观看。但是无双系列的 CG 音频都是压缩过的 ADPCM 格式,找解码器比较麻烦。但是无所谓,用下面讲到的 PSS Plex 可以转换成 WAV 音频。再回来说这10个 PSS 文件,都是片头片尾和各国结局 CG。其中比较小的几个是光荣的 Logo、ProLogic II Logo 和 w-force Logo。
确定了 PSS 之后,就要准备替换了。下面要介绍 PSS 分离/合成软件 PSS Plex。十分简单的小程序,带图形界面。拿到工具之后,当然要先分离一个 PSS 看一下参数。640x448 分辨率、MPEG2 编码、4500kbps 码流。确定好之后开始准备替换影片。
将下载好的 .flv 影片用 Procoder 压缩成 MPEG2 影片(m2v+wav)。具体怎么压缩在这里就不说了,毕竟 320x240 的 .flv 画质很不好,需要用很多滤镜才能保证画质清晰无色块。压缩完了之后,用 PSS Plex 合成 .pss 文件,注意要选上“Compress sound (ADPCM)”选项。然后将 008.pss(w-force Logo)替换掉。
在合成 LINKDATA.CNS 的时候需要注意,sm2m /cp 需要94个文件(000.pss - 093.pss),所以从 010.pss 开始,建立94个垃圾文件(用命令行更方便些)。然后再 sm2m /cp 合成 LINKDATA.CNS。
最后,拿出 CD/DVD Generator 2.0 和 cdvd iml2iso,制作光盘镜像。《无双·远吕智》并不是用 LBA 寻址,所以文件的顺序无所谓,DUMMY.BIN 还是要加入的。记得先用 CD/DVD Generator 导出 .iml 文件,然后用 iml2iso 生成镜像。
最后的最后,当然就是刻盘啦。不过刻盘之前最好先用 PS2 模拟器模拟一下,确保 ISO 没有问题。
好啦,第一回合结束。过几天再研究一下其他的 CG。
注意:如果分离 PSS 之后发现有 .sub 文件(字幕?),那么说明这个文件暂时不能替换。因为 PSS Plex 的 bug,在合并 .sub 文件的时候会出现异常。而如果不加入 .sub 文件,运行游戏 100% 死机。
参考资料:
1. http://bbs.a9vg.com/read.php?tid=762507&fpage=1&toread=&page=1
今天喝酒的时候朋友提到了Facebook的强大,很多朋友都可以在Facebook上找到。后来自己申请了一个帐号研究了一下,发现Facebook不过是美国版的某“白领网”罢了。本文大略分析了一下Facebook是怎样工作的。
首先,要呈请的一点是,Facebook并不是“交友网站”,而是“社交网站”。两者的区别就在于交朋友是不是带有目的性。
好了,言归正传,下面简单论述一下Facebook是怎么工作的。
首先,注册之后,Facebook给我显示几个“朋友”。此时的“朋友”都是Facebook用户并且我在他们的名单中。名单是怎么生成的请往下看。
然后,Facebook提示我加入一个Network。这个所谓的“Network”真正的作用是优化Facebook的搜索结果。
进了主页之后,Facebook向我提示几个潜在的朋友。这些潜在的朋友实际上就是朋友的朋友,然后根据reference(人与人的联系)的进行评分,分数高的证明这个人朋友多、是我朋友的机率大。事实上,Facebook给我的潜在朋友预测只有两个是对的。
然后,Facebook促使我进行朋友搜索。但是朋友搜索是有前提条件的,那就是输入Windows Live (MSN)的帐号和密码。这样一来,Facebook就可以登录Windows Live服务器取回我的联系人列表,进行精确查找。这个国内某“白领网”用的方法一模一样。有些人在这一步选择了Outlook联系人列表,这一下Facebook得到的信息就更多了。
最后,Facebook要我输入学校/公司的Email地址。这一步是为了得到更可靠的联系方式。
综上总结,Facebook只是在诱导用户填入自己的朋友圈子,在得到足够多的用户信息之后进行分类总结,最后精确找出朋友。这一切早在几年前就有中国的网站在做了。当时总是莫名其妙的收到一些交友邮件,其实就是网站利用MSN平台进行有选择的推送。这些东西在Google上搜一下有很多,我就不再多说了。
之所以中国的网站被网民骂得很惨,但Facebook却有这么多人支持,最根本的一点,因为Facebook是美国的网站。其他的话就不用多说了吧?
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |