选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
继续记一笔,在 /usr/src/share/examples/ses 里面。
为啥这些程序不成为基本系统的一部分呢?难道是因为太简单了……害得我好找(好歹应该在联机手册里面提一句吧)。顺手把代码清理了一下,等新机器到了拿这个去杵杵看。有谁知道ses设备和总线位置(也就是物理的槽位)之间的对应关系有什么办法能拿到吗?还是只能写个程序让一个人去根据这种设备训练一下系统?
Read more...今天听 Doug White 大牛说有这个功能,于是查了一下资料,先记一笔,不一定对,有机会找机器测试一下。
首先要定义SCSI/SAS总线所在的位置。通常它是由某个SCSI接口卡提供的,也就是类似这样:
hint.scbus.0.at=“mpt0”
这表示 scbus0 是 mpt0。如果一块卡支持多个 SCSI 总线,则还应额外指定 bus 参数。
接下来是每块硬盘的位置。SCSI/SAS设备可以由3个参数来唯一定位:总线、目标(target)和单元(LUN)。例如总线0、目标0、单元0上的设备应该叫做da0,则配置如下:
hint.da.0.at=“scbus0”
hint.da.0.target=“0”
hint.da.0.unit=“0”
可以使用简单的awk或python甚至shell来成批生成。这种定位方式与Solaris的c0t0d0类似,但用户可以自己指定名字(配置 devd.conf 应该可以更进一步创建设备对应的 c0t0d0 这样的符号连接,改天再看看)。配好之后写到 /boot/device.hints 就好。
Read more...做反垃圾邮件的人应该感谢发垃圾邮件的人吗?
当然不。
今天在推上有人说反垃圾邮件的人应该感谢发垃圾邮件的人,很显然这是斯德哥尔摩综合症。
从微观角度说,给做反垃圾邮件的人发钱的人,是那些不喜欢垃圾邮件的人,要感谢,应该感谢给钱的人。这个世界上比反垃圾邮件有意思的事情有很多,不做这个可以做别的。
从宏观角度说,发垃圾邮件不创造价值,相反它增加了很多人的成本。如果没有垃圾邮件,你本可以做更多能够创造价值的、更有意思的事情,赚更多的钱。
凭什么要感谢那些搞破坏的人?
我还是那句话,发垃圾邮件的人,留神生小孩没屁股眼。
Read more...On Python 2.6 we have a new ‘hashlib’ module, which superseded older ‘md5’ ‘sha1’ modules.
Therefore, importing ‘md5’ would give the following warnings:
DeprecationWarning: the md5 module is deprecated; use hashlib instead
This is quite annoying if you run PlanetPlanet in a cron(8) job and receive e-mail reports. In order to solve that, we can do some simple sed(1) replace over PlanetPlanet’s __init__.py:
s/import md5/import hashlib/g
s/md5\.new/hashlib.md5/g
That’s it! And PlanetPlanet will now happily work with Python 2.6.
Read more...今天是万圣节,下午去了一趟 Costco Wholesale,在它的一小时照片快印处发现了一个供认取阅的版权需知,基本上这个小条告诉我们:
照片的版权无论是否有宣示,均归拍照者所有。(个人猜测这应该是伯尔尼公约的延续)。
复制和打印照片需要获得拍照者的书面许可,否则违法;是否违法与是否故意复制无关,也与是否知道有这么条法律无关;如果是托人打印照片(例如,在 Costco 提供的这种照片冲印服务),那么顾客和 Costco 都有可能需要承担相关的法律后果。
还有就是,比如说请摄影师拍的照片,然后买的包含照片的DVD之类的介质,仍然是不包括打印和复制之类的授权的。
因此,Costco在冲印照片或者刻盘的时候需要由照片作者出具书面的Release Form允许他们这样做。
Read more...这是一个很有意思的话题:随着计算机技术的发展,客户端的计算能力越来越强。想要提高在服务器端运行的系统的负载能力,最直接有效的办法就是把计算任务尽可能交给客户端去做,并减少两者之间的交互;然而,另一方面,这样做又可能会带来一些其他问题,例如,客户端完成某些计算任务的时候可能会比较慢(因为在客户端可以用到的资源比较少,想要保持兼容性最好的办法就是只使用普适的Java Script子集),或者,作为安全系统的一个最基本的原则,任何来自外界的数据都是不应被信任的,等等。
我们可以把数据根据一些规则来进行分类。一般来说数据会具有一些这样的属性:
这样一来,判断计算是否应在客户端进行就比较简单了:我们首先要看的第一个问题是:放在客户端进行,是否会增加服务器的计算量?例如,服务器是否需要再增加一些额外的步骤,才能够完成具体的操作?这些额外的步骤与原先的计算相比是否更少?通常来说,这个答案都是"是的",这样我们可以继续考察第二个问题。
第二个问题是,这样做是否有助于减少通讯量?例如,对于用户输入信息的合法性检查,比如说,用户输入的内容是否可能导致SQL注入,或者,他是否在一个该输入数字的地方输入了其他字符?这些检查很显然必须在服务器端做(因为数据跨越了安全边界),但是,假如客户端也进行了这些检查的话,那么那些无效输入就可以在与服务器交互之前被拦住,从而减少通讯量并减少服务器的负担。
第三个问题是,这样做是否会占用太多客户端资源?这个问题可能不太容易评估,一般来说,计算密集型的任务使用Java Script去做的效果有可能会不太好,有时,为了改善响应时间,有可能会希望这些操作由服务器去完成(由于可以采用任意的软件,因此服务器完成某些任务可能更高效)。简单的排序操作在客户端做有助于减少服务器负载,但如果很多客户端需要请求同样的内容,那么将排序结果在服务器端直接缓存起来就会更好一些,等等。
以上仅代表个人经验供参考。
Read more...无内容。
Read more...看文档的时候,最恶心的事情就是明明那不是一份作弊条文档,却只罗列作者是怎么把一件事做起来的,譬如说列出命令行选项,但是不说这些选项是干什么的,以及为什么选上这些选项。
一篇不说是作弊条,却又写成作弊条的文档,特别是,假如这张据说是课后辅导书,结果实际上是作弊条的东西还有错(常有的事),就太让人郁闷了。
Read more...最近几天测试了一下盘很多(具体说是24块盘,其中2块热备的JBOD)的时候ZFS的性能特点。一些结论
a) ZFS的随机读性能比较差(相对于顺序读写)。这一点除了改为用mirror而不是raidz1/z2之外似乎没什么太好的办法。同样多的硬盘做成两组raidz1(11+11+2),与做成两块盘一组的11组mirror的pool相比,针对同样的数据集的随机读性能相差可达10倍多,当然,mirror的结果是顺序写性能会差一些。作为副作用,mirror时的读性能可提高大约4倍左右。
b) 告诉ZFS数据集常用的数据块尺寸可以提高读写混合的操作的性能。例如如果应用程序多数时间都在操作16K的数据块,将块尺寸改为16K(默认为128K)可将混合操作的性能提高十几倍。
暂时还没测试SSD做ZIL/cache对性能的具体影响,先记下一笔。现在看来如果给数据库用的话,比较好的配置应该是若干对mirror+热备组成zpool,然后把具体存放数据库的zfs的recordsize设置为16k,改天拿实际的数据库在上面跑跑看。
Read more...前一段日子,偶然又看了几集 千王之王重出江湖。其中有一集说到了沈胜天和龙四的决裂,两个人各执己见最后断绝师徒关系。
原则是什么?原则是一个人判断事情的准则,或者说价值观,但又不完全是。我想,还需要再加上一条:不会轻易改变。没有原则的人,要么对于事情的是非没有观念,要么对于是非的判断会经常发生变化,和这样的人长期合作会比较危险。
Read more...