Shell's Home

Mar 10, 2011 - 1 minute read - Comments

个人文件管理的几个经验

1.明白你在面对什么问题。个人资料管理,永远是可靠性和价格的双重难题。廉价方案就不可靠,可靠方案就不廉价,因此弄明白你自己需要的是廉价还是可靠。作为如果你的选择是可靠性,就要假设明天电脑就坏了。任何设备在损坏之前都是不会打招呼的,因此现在立刻就行动。 2.由上文引出的第一个建议,区分高可用资料和非高可用资料。通常而言,我们有很多资料,林林总总一大堆。但是其中有一些是丢失了虽然心疼但还可以接受,另一些则是无法接受,往往要搞到去数据恢复中心的地步。与其如此,不如提前区分高可用资料和非高可用资料,尤其注意区分“你的资料”和“你下载的资料”。通常一个人的核心资料应当小于100G(我假定你不会比我更变态),如果你有大量录像资料要备份不在此列,以下的高可用方案也对你不适用。 3.文件的管理方法,区分大类,放弃小类。通常我们的文件管理都有随意性,每个人都有不同的文件放置习惯。建议对文件区分以大类,而放弃细节的文件夹分类。人类在区分大的类别上往往比较恒定,也比较节约时间,在细节分类上越向下越费时。通常我们对歌曲区分男歌手女歌手团体外文等非常容易,但是要细分某个歌手就比较困难了,要精细到某张专辑绝对会花费大量时间。然而人类在寻找东西时的难度,和总体规模大致成正比。为了减少一点复杂性而花费大量时间是一个非常不值得的事情。 区分大类的另一个理由,则是大类的区分经常关系到高可用和非高可用,高安全和非高安全。贝壳的分类中,几个类别的资料全是要求高安全性的,另几个类别则全随便。 4.文件的管理方法,文件名标识,运用搜索。文件管理的第二个建议,就是别用分类来查找文件,使用搜索。windows下肯定是everything,linux下可以用mlocate。通过将内容反映在文件名上,对文件进行管理。在需要用的时候搜索文件名,远比你整理所有文件来的省事。至于上面区分大类的建议,则是事关下面高可用数据的解决方案,所以还是要做的。 5.磁盘的稳定性研究。磁盘能稳定使用多久?贝壳听到最倒霉的记录是7个月,最长纪录是10年。但是通常来说,6成的硬盘会在3-5年内损坏。因此一旦硬盘使用超过3年,就处于临界状态,坏了也不要觉得奇怪的。对于临界状态的硬盘,建议采用SMART监控软件,随时保持监控异常。对于硬盘上发生过循环冗余检查错误,复制死机,文件读取错的,尤其要重视。 5.磁盘的分区方案。很多人拿到硬盘,就先分上三四个驱,好像不分区不专业似的。其实分区是上个世纪FAT文件格式留下的传统,作为NTFS而言完全不必分区,甚至分区是有害的。FAT在不分区的情况下最高只能使用4G硬盘,VFAT方案下windows也只能使用32G的硬盘。因此对于大硬盘都必须分区使用。NTFS最高能使用4T的硬盘,我想个人是用不到这么大的硬盘的,因此完全可以将所有磁盘都分为一个区。这样主要是空间互通,减少对一个磁盘区域的反复使用。同时,在一个磁盘空间不足时不用反复移动文件凑空间。但是对于C盘(系统盘)建议分区安装。这样便于不擦除数据的情况下重装系统。当然,这种情况仅限于windows,linux要重装系统是没必要擦除数据的。不过我仍旧建议/home和/分别安装,因为两者的读写乃至管理特性都相差很大。 6.数据量控制在60%-80%之间。太少的数据会导致利用率过低,而太多的数据则导致存储快速碎片化。windows的磁盘碎片整理程序在空间小于15%的情况下是不工作的,ext3也有类似的问题(低空间下的高碎片化)。 7.因为上文的原因,因此区分普通数据和可抛弃数据。有一些数据,我们总是不确定将来是否会有用,现在删除又太可惜。可以将这些数据集中起来加上标记,命名为可抛弃数据。硬盘空间低于60%的时候尽管留着。一旦空间波动超过80%,就开始丢弃可抛弃数据。 8.个人不要用RAID0。因为使用条带技术,RAID0的时候,如果一个磁盘损坏,则整个卷都没救了。即使另一个磁盘完好无损,数据也是基本拿不回来的。对于两个磁盘的情况,建议你将两个空间分为两个盘,其中一个设定为临时文件存放和非高可用文件存放位置,挪挪空间还是能凑合管理的。同时,我也不建议个人使用LVM,LVM2,活动硬盘之类的高级磁盘管理技术。主要问题是磁盘一旦损坏,剩余盘拿到其他系统上几乎如废物一般,要拯救起来非常困难。 9.RAID1必须打开数据非同步提示。这个原因如8所说,如果你没有打开数据的非同步提示,你根本察觉不到其中一块硬盘已经失效。这个时候往往会发生第二块硬盘级联失效(因为压力集中),这样的RAID1方案就退化成了一点好处都没有。 10.高可用资料的方案——移动硬盘。你的高可用数据是我们真正要管理的目标,哪怕其他资料都损坏,必须保证核心资料的可恢复。通常由于核心数据并不很大,因此我建议用移动硬盘作为核心资料的承载方案,数据在移动硬盘和主硬盘间定时同步。对于频繁修改的文件,建议在两个电脑上进行同步,乃至使用版本管理系统管理和同步。移动硬盘的一大好处就是随身,因此往往和主电脑分离存放。即使你主电脑出现问题,例如被偷走,移动硬盘内的数据往往也没有问题。 11.移动硬盘引入的问题,加密。一旦使用移动硬盘方案,就意味着任何人都可以接触到你的资料。这是一个非常难办的问题,所以你可能要加密数据。我建议不要使用EFS作为数据加密方案,因为EFS的密钥保存在当前用户帐户内,备份和管理比较复杂。我建议两种加密方式,一种是AxCrypt,一种是TrueCrypt,后者比前者更强更复杂一些。前者是针对某个具体文件进行加密的,后者会直接虚拟出一个磁盘来加密,因此更加复杂。然而一旦将数据加入后者的磁盘后,就真的一点痕迹都不留了。不过需要提醒的是,由于磁盘上的数据并不能真正的被擦除,因此一旦数据进入磁盘,在虚拟文件内所占的空间就固定了。即使删除文件也无法收回空间,这给管理带来了困难。 11.高可用的一种备用方案,使用大型硬盘(1T以上)复制然后冷盘存放。这种方案的好处就是稳定性很高,四年前的大型硬盘已经超过500G,足够存放下你所有的数据。由于不加电,因此安全存放五年以上是没问题的。但是建议也不要太长,即使不加电,随着时间推移,硬盘还是会出问题的。当然,与之相应的就是成本高,管理不方便。你多花了一个硬盘的钱(虽然我觉得和保存数据相比还算廉价),但是又不是随时能使用这些文件。 12.高可用的误区,刻录光盘。光盘是数据最大的敌人。我们计算硬盘的存放成本,2T大概700,1T400不到,大约是0.35-0.4元/G。DVD的存放成本大约是,一桶50张的卖70,大概0.32-0.35元/G,成本非常相近。光盘存放三到

Mar 7, 2011 - 1 minute read - Comments

debian under box

This is linux tech blog, so…猫咪和六牙四皂小姐退散。 下面简介一下小型系统组装NAS和服务器的完整攻略。实话说这篇文章写的异常艰难,题目本来叫debian squeeze under EPIA。结果一晃过了一个春节,debian升级了,EPIA挂了。下面前一部分的文章是开始写的,后来发现M10000系列主板只要上sata to ide就会死机,部分IDE硬盘也会死机。所以… 首先是物理硬件的组成办法。推荐购买VIA EPIA M10000,价格大约在150上下。附带了VIA C3 Eden,只要一条内存就可以工作,非常便宜。不过USB引导有些问题,所以后面用的是其他机器装的Linux,并且给折腾了个半死。贝壳还买了一个小机箱,能够放置3.5’硬盘,并且买了1T的硬盘来组装NAS。由于1T的硬盘只有Sata接口,因此还得买一块Sata to IDE,大概是30-40。全部的硬件就是这样,组装起来就可以工作。主板的右下角是主板控制跳线,从左(以CPU和电源所在边为上)到右顺序,引脚如下定义:上排2-3,power sw。上排4-5,reset sw。上排6-7,power led。 首先借助一台大型机,使用USB开始debian系统的安装。另外补充说明一下USB安装debian一文中的一个情况,在boot.img.gz解压开的U盘内复制入netinst也是可以工作的,不一定是businesscard。按照这个估计,复制入完整ISO也是可以的。在分区的时候,贝壳选择了full disk with LVM。/boot分配了228M,最后用了17M。root用LVM中的ext3卷,分配了7G,用了不到1G。全部装好大约有2G吧,安全起见。swap用了2.5G,其实不用这么大,不过我懒得换了。剩下908M,因为1T有一定损耗,还有JS的1000进制算法。。。好吧,全部用ext3放到/home下放数据用。 之所以没用btrfs的原因,一方面是这个是硬盘,不是ssd,也没有高等数据管理要求。另一方面也要求一定的稳定性,btrfs还没有fsck呢。 系统安装并没有什么太大困难,对于熟悉linux系统安装的人,很快就可以完成安装。不过由于是在其他机器上安装,因此注意在迁移后需要修改/etc/udev,把网卡修改为eth0。 下面就是大头了,系统使用grub2引导,但是在booting kernel这里直接挂掉,完全起不来。问过gary后,基本肯定要么是主板坏了,要么是内核坏了。后来我猛然想起,C3是个老CPU了,我用的内核是686内核。改为486内核?顺利引导。 EPIA edin C3 just support i486 Instruction Set, so don’t use linux-image-.*-686。 系统启动后,发现速度并不很快。我用samba和windows共享文件,大约只有7M/s的读写速度,消耗了60%的CPU。我使用的是TP-504G+路由器,后面是一个100M的交换机。EPIA是VT6102,10/100M自适应网卡。主机是1G的网卡——不过没任何用。理论上,最高读写速度应该有12M/s的。实际上根据我的测试,瓶颈居然可能在windows上。我在windows复制文件的时候从box上读取数据,居然对复制没有影响的情况下达到了2M的速度。这样的速度远远低于硬盘30M/s的持续读写速率,所以硬盘效率不用顾虑太多,包括碎片问题。 当我发现sata的问题后,使用iozone确认了问题在udma层面上。杯具的是,这问题无解。所以,退了主板换了一块新的。新主板上去后,性能有所升高。硬盘的吞吐到了97M/s,网络共享的读写速度大约是10M/s。其余都很顺利,就不废话了。

Mar 4, 2011 - 1 minute read - Comments

版权和道德的讨论

某个朋友在做一个文档共享网站,需要一些文档。我建议他去抓取wikipedia的数据作为初始文档,他很惊讶的问我,那个可以么? 谢天谢地,总算碰到一个有点常识的人。我告诉他,wiki使用的是CC协议。只要他将数据抓下来后,注明数据来自wikipedia,是完全符合版权协议的。按照他们最近的情况,要是你肯赞助一笔,并且承诺按照CC协议来,说不定wikipedia还会奉送打包好的资源。相反,他做的这个网站在别处出事的概率到更高一些。他反问我,出什么事情呢? 那就很多了。例如,某个人上传了一个带版权的内容,并且因此获利了。在事发后,带着赚的钱失踪了。那么网站是否要承担责任呢?他说有协议,我问,你们的协议可以对抗第三方么?有人偷了东西,把东西卖给废品站,人消失了。废品站拿着协议大喊,我们签过协议,他承诺这东西不是偷来的,应当被认可么?协议其实什么都不能证明,连你没有盗用版权的故意也无法证明。要证明你没有盗用版权的故意,你必须有一定的核查行为,检查你的内容版权问题。但是这是几乎没法实现的,这也是所有web2.0网站所面临的公共难题。就是说,只要你允许用户上传内容,就几乎无法避免版权问题的指责。 还有,如果别人再复制你的内容呢。他说打官司咯。我说真打官司就脑残了。如果对方在上海还好说,如果对方在北京,根据中国法律,这种官司归侵权事故的发生地管辖。就是说,你得去北京起诉。光是你去北京数次沟通的费用就比对方的侵权赔偿还大。而且中国的国情是发生这种事情的公司绝对不是一家,起诉到判决的时间往往也不止一年。你官司没打完呢,网站就先倒闭了。如果这种事真的官司能解决,腾讯早就赔到死了。 同样,回来上网,看到刘慈欣很生气的说,有个人在百度贴吧里面说,自己已经看完了三体III,准备手打一份贡献给大家。要光这点也就算了,刘慈欣跑上去说话还很猖狂的骂人。我看到这里就不禁很无语,虽然看盗版书这种事情我也干,但是至少我知道这是错的。要是有个好点的渠道给作者点钱,我到不介意付费。但是,一,不要买纸质书,现在家里书山书海,没地方放您的一摞纸,二来也不环保。三就是一次购买,我需要这本书的各种载体都不再付费。不能我花钱买了一次epub,回头txt或者pdf就要我再付费,这可不干。问题是,怎么有人(而且不是一个)没感觉到,免费看书是错的呢? 说到这点,我就想起个老外,上海的DD之一的zigo。上次他在debian打包讲座上说到,Ubuntu开Ubuntu Store,他觉得这个很恶心。LiDaoBing就问他为什么,是因为收费么?他说不是,因为Ubuntu用了很多Debian的包,但是又不承诺免费。LiDaoBing就很门清的和他说,这个完全符合版权协定啊。Debian有dsfg承诺,Ubuntu可没有。zigo就说,我知道,所以我说很恶心。当然,可能因为他也是Debian的打包者,也可能是因为Debian的维护者在版权问题上都比较敏感和激进。但是我接触的大多数老外对于一个内容是合法使用还是非法使用都是比较关注的,哪怕他们买盗版光盘,也至少要关心一下这个内容是真的盗版了,还是合法资源的集合。 说到这里,我觉得,这种问题应当是每个中国人的问题。我们往往知道理论上什么是对的,但是却完全不屑于理论,还和别人争辩理论是没用的。道理上说,我们知道不应当看别人的版权内容。道理上说,我们知道,版权经常有问题的网站应当被抵制。乃至于道理上说,我们不应当用盗版windows,我们不应当砸别人的车,我们不应该收红包,我们都知道。但是在操作的时候,我们用盗版,不但堂而皇之,而且可以找出无数理由。支持国产啦,损害外国公司利益啦。我们砸别人的车,也有无数理由,抵制日货啦,支持国货啦。我们在做的时候,用的是我们自己的一套规则,或者说潜规则。所谓理论上的东西,只是拿来找说法的。自然,说法这东西是随便找的,再多也不怕。 有人选择对这种现象抱怨,但是抱怨不解决任何问题。深谙此道者会从中获利,并且以胜利者的姿态对其他人说教,你们不了解社会。民众会抱怨,但是不是因为整个世界没有公平,正义,乃至美好的道德,而是因为他们在整个体系中没有分得一杯羹。 我们每个人的小聪明,毁坏了我们的整个利益体系。我们没有IT业,因为我们每个人都对电信的不合理行为视若无睹。当电信提供低质量的服务时,当电信无法接入时并且要求你等待24小时时,乃至当电信劫持我们的流量插入广告时,我们说,忍一时风平浪静。当有人站出来,为了他自己,也为了我们所有人而奋战时,我们在后面说两句好话,期待他的成功能让我们一同享福。当对方做出一定让步,承诺给我们一定好处时,我们就对为我们奋战的人置之不理,乃至落井下石。 我们没有软件业,因为盗版不但没有损害国际巨头的利益贴补国人,反而损害了国人的利益贴补国际巨头。金山,一个中国软件业的传奇,上市靠的是网游,而不是单机软件。国内无数的程序员做着外包,也许这还可以解释为人民币对美金汇率的差价。但是无数程序,是由中国程序员写出,却没有中文版。我们宁可花长途话费对老外点头哈腰,也不愿意给同胞改几行代码,因为人家付钱,我们破解。老外的软件仓库中,充斥着免费且强劲的软件,和收费且良好的服务。我们的软件仓库中,充斥着免费的流氓软件和收费的冷屁股。 也许我们无法从购买正版软件做起,或者承诺不上网看盗版书。但是至少,我们应当开始关心我们所说的那些东西,包括版权,包括什么是正确的事情,人和人之间如何制衡来得到正确的事情。也许这是徒劳的,也许一个人的改变无法改变什么,但是当每个人都前行一步时,世界将会不一样。

Mar 3, 2011 - 1 minute read - Comments

招人,招人!

最近帮一个朋友吼招人,发现上海要python程序员的公司真不少。保守估计,有五家以上需要各种python程序员。 我们公司需要一个比较精通系统的python程序员,最好有C/C++能力。有一家朋友的公司是需要python进行测试开发的,说白了就是测试程序员。另两家求靠谱的python web主力程序员,需要熟悉系统,数据库建立和优化,完整的python程序架构和实现。这两家比较打架。最后一家需要python web工程师,能干活的那种。 每个公司的要求和薪资都不大相同,排除掉爬虫,几乎涵盖了整个python领域的方方面面。当然待遇薪水也涵盖了从低到高的整个领域。今年有意思的同学不妨试试运气,说不定能找到你要的工作。 另外就是每个大三快大四,即将毕业的同学。如果你今年开始学python,搞不好明年毕业就可以直接签掉。如果你能搞定整个网站,有数据库优化经验,并且真实的运营过一个网站。搞不好毕业薪水就上五位数。有没有兴趣混一下python社区,靠谱的学上一年? 当然,这里说的,对程序员基本功都有一点要求。昨天还在餐厅洗盘子的,今天跑来学三个月python和django,明天跑过去求职。这一准失败没商量的。你起码应当知道常用系统调用,尤其是os.open和open的区别。应当知道django中如何实现多对多外键,并且将这个外键转化为一个带复选框的表格,再表单提交读出来。知道为什么IE打开网页一切正常,firefox和chrome却每次都让你保存网页而不是显示出来。知道网页在几个浏览器下乱码,而另外几个正常是为什么。知道django给你弹出一个错误,里面说了些什么。知道mysql慢的要死是为什么,还有怎么做。知道数据存入mysql再读出来就全是乱码是为什么。 以上种种,是开发中最常见的一些问题,也是每个开发都会碰到的问题。他们涉及了系统底层调用和封装调用的常识,ORM和表单的常识,http协议的常识,html标准的常识。涵盖调试,优化,运维等方面。 通常来说,比较全才的,经验丰富的主力程序员,我会推荐他们去一些小公司。所谓宁为鸡头不为凤尾,当你在大公司里面做到顶棚的时候,可以试试看在小公司里面主政一方。如果老板赏识,也许还有机会参与期权。这对已经不算缺钱的程序员来说比较有吸引力。而小公司通常没成本来雇用一些比较初级的程序员,又在主力程序员的人选上求助无门,因此往往对主程序员求才若渴。 而刚毕业的同学就不要去凑热闹了。小公司没那么多钱,每个人都要独挡一面。刚毕业的人通常没这个能力,更可怕的是通常不知道自己没这个能力。因此建议,除非是大学期间就参与过商业网站运作的,否则别去凑。中型公司是一个更好的选择。公司里有几个高手,你方便找人。工作方向相对窄,容易入手。而且工作稳定,没有随时随地的压力,利于学习发展。至于大型公司,通常不是大牛的人进去,接触的东西太有限,太定向,发展前景有限。而且大牛都集中起来了,你也很难抓到人。 至于牛人,我就不吼了。牛人都不是在人才市场上求职的。

Feb 28, 2011 - 1 minute read - Comments

如何建立自己的debian repository

首先,感谢zigo的大力支持,并且贡献出他的源码,我才得以完成本文。其次,技术文,该散的可以退散了。 很多时候,我们对某些东西比较有兴趣,所以会安装一下。debian系统下最熟悉的安装系统就是dpkg了。作为debian用户,我想用deb包来安装这些东西。这样会有以下的好处: 1.便于在多个系统上重复安装。如果是源码包编译,就必须每台系统安装好环境来configure/make install了。 2.便于拆除。如果是make install,能不能拆就看你的运气了。 3.系统可以管理依赖。包括自动安装缺失的依赖包,以及保持依赖包的固定等。 关于打包,请看debian新维护人员手册( http://www.debian.org/doc/maint-guide/index.zh-cn.html)。本文主要是说一下如何将这些包变成一个自己的仓库。 变成仓库,你将拥有以下好处。 1.不必自己去复制包,然后手工安装。 2.当仓库更新后,目标机器在update后可以发现。 3.你可以向仓库中加入自己定制编译的,更加新版本的软件。替换掉系统的同名软件,而不改变操作特性(除了没加key会碰到不安全提示)。 其实debian的主系统是一个超级大仓库,通过ftp和rsync同步提供服务。我们的包如果够重要,也会享受到这种待遇。然而debian官方仓库的要求比较严格,你必须在文件级别搞清楚每个文件的授权,并且核对这些授权是否符合dsfg协定。你的包必须足够重要,有可能的潜在用户。多数时候,我们自己写的产品/库还没有这种待遇,因此只有自己做一个仓库了。 zigo提供了他的打包代码,比我的功能全多了,大家可以参考这里(http://git.gplhost.com/gitweb/?p=mgmt-scripts.git;a=blob;f=scripts/scan_archive;h=db7647732b989b35ae7d8a48c80a48ecf67e4612;hb=0ff8fd7d0ba1991d552376f8beca0b46bfaa32e3)。我根据这个脚本,自己实现了一个,放在这里(http://shell909090.3322.org/debian/scan_deb.py)。下面,我简述一下用法和原理。 首先,你需要建立一个pool目录。在其中建立一些release目录。举例来说,wheezy是一种release,testing也是。但是目前testing是wheezy的别名,你用ln -s做链接指向就可以了。在release目录下,你需要建立category目录。例如main是一种category,contrib和non-free也是。 在指定一个deb仓库的时候,release和category是必须指定的,可以被看作是一个仓库地址的一部分。 建立完三级目录后,将你的包放在对应目录下。 全部文件放好后,在根目录下执行python scan_deb.py。如果你需要自动签名,将最后一行的False改为True。在此前请准备好私钥。如果缺少某种架构,请修改脚本architectures一行。 系统的基本原理是,在某个release, category, architecture下,对于pool/release/category目录执行dpkg-scanpackages操作,生成Packages文件到dists目录下,并且再生成一个压缩版本。 对所有目录执行过操作后,使用apt-ftparchive来生成一个Release文件,这个文件指名了有哪些Packages文件,以及他们的MD5各是多少。 客户端获得了Release,就可以知道某种release的特定几个category是否需要更新。更新到了Package,就知道有什么包,他们的meta信息是多少。最后对Release文件进行签名,就可以防止作假了。

Feb 26, 2011 - 1 minute read - Comments

上海电信ADSL的劫持?

刚刚跑去verycd转一下,发现verycd的页面又不能动。最近经常发生这样的事情,整个页面能看,但是不能点击和拖动。再次刷新后问题消失,并且只在家里出现。我开始以为是chrome的bug。 刚刚不但又出现了这个问题,而且还弹出一个广告。我觉得不对,开源码看了一下。整个源码全是压缩后的js代码,然后用一个frame把http://www.verycd.com/?引用进来。再次刷新后,呈现出一个格式化过的正常首页。很明显,verycd本身是不会搞这种形态的广告的,他们大可在首页上加载各种广告,用不着搞得自己没法访问。 刚刚的广告是卖电信天翼的,verycd公司在上海,服务器IP是中国电信的地址段,加上我的线路也是电信的,谁是最大的嫌疑者简直呼之欲出。不过同样的,这件事情没有证据,而且没有任何的采证可能。要证明电信劫持,就必须证明,在某次具体的通讯过程中,内容确实被调换了。要跟踪某次具体通讯,并且过程都是可采信的,这个难度可不低。再加上,必须证明只有电信可以劫持内容,就是说必须证明数据包在网络上只经过了电信的路由器,没有转发的可能。即使我和verycd都是上海电信的用户,也没有办法追踪某时刻的路由表,说明包必然没有被旁路转发。最关键的是,verycd本身根本不可能得罪电信来帮你做证。 问题是,这样的http过程劫持可不可能被用于被用于其他网站呢?你的网络数据又会不会被拦截下来作为商用呢?电信是不是已经知道了你的电话号码,手机号码,你买了什么东西,乃至你的银行帐号和密码呢?

Feb 24, 2011 - 1 minute read - Comments

linux下第二声卡的启用

贝壳用的是debian testing,xfce。最近买了一个usb耳机,在windows下一切正常,但是linux下只有mplayer能工作。因为mplayer可以指定输出声卡,其他程序都是使用默认声卡的。而由于debian移除了alsaconf,因此连调整一下都不知道该怎么做。也许修改/etc/modprobe.d/alsa*可以解决问题,问题是,谁知道哪些资料是神马时候的呢?我最早甚至找到过01年的资料… 后来,在zigo的建议下,我改用了pulse。zigo在linux下玩音频的,又是DD,怎么也算职业人士,推荐果然很给力。当晚我拿着usb耳机,很顺利的听到了youku视频。那一刻我热泪盈眶,感谢国家,感谢ccav,感谢zigo… 做法如下: # aptitude install pulseaudio pavucontrol $ pavucontrol 在输出设备页面,选择你想要的设备为默认。 如果有部分程序还是不认,建立~/.asoundrc或者/etc/asoundrc.conf,内容如下: pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse } 完了。 补充一下,pulse的具体资料就不说了。大致上,pulse是一个linux的混音器。用于将多个音源发出的音频流混合成一个音频流播放。严格来说,音频设备属于独占设备,当一个软件发音的时候,其他软件应当不能发音的。这个有点类似于fifo,当两个进程同时打开fifo写数据的时候,目标只能得到碎片。 pulse的作用,是产生一个可以被多次使用的音频设备,类似于unix socket。每一个进程的数据被单独的输入,然后混音,再输出到真实的物理设备上去。由此,多个音源同时发音就变成了可能。 有人也许说,alsa原生也是支持多音源的阿。那是因为alsa内部带了一个很简单的混音器,叫做dmix。当然,pulse比dmix更加专业。

Feb 23, 2011 - 1 minute read - Comments

gfw升级了?

今天使用的主机上有个朋友发来消息,api用不了了。贝壳检查了一下,主机正常阿。 最终,发现问题是这样的。 shell@shell-deb:\~/tmp\$ wget <http://shell909090.org/apis/> --2011-02-23 10:08:39-- <http://shell909090.org/apis/> 正在解析主机 shell909090.org... 74.86.182.175 正在连接 [shell909090.org](http://shell909090.org)|74.86.182.175|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 读取文件头错误 (Connection reset by peer)。 重试中。 --2011-02-23 10:08:41-- (尝试次数: 2) <http://shell909090.org/apis/> 正在连接 [shell909090.org](http://shell909090.org)|74.86.182.175|:80... ^C shell@shell-deb:\~/tmp\$ wget <http://shell909090.org/> --2011-02-23 10:13:36-- <http://shell909090.org/> 正在解析主机 shell909090.org... 74.86.182.175 正在连接 [shell909090.org](http://shell909090.org)|74.86.182.175|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1156 (1.1K) \[text/html\] 正在保存至: “index.html” 100%\[======================================&gt;\] 1,156 --.-K/s 花时 0s 2011-02-23 10:13:37 (277 MB/s) - 已保存 “index.html” \[1156/1156\])

Feb 22, 2011 - 1 minute read - Comments

EPIA主板经常死机问题

十天死机三次,经过咨询,问题可能在电源或者DMA上。 用iozone来压硬盘,一次没跑完就死机了,问题看来集中在DMA上了。 在BIOS里面把硬盘的高性能模式关掉,再压,两次没死机。 等三天,又死了。 正在换主板。

Feb 19, 2011 - 1 minute read - Comments

解决问题的艺术

前几天的卖家打电话过来道歉了,听起来淘宝的投诉对他们是相当肉痛的一件事情。不过事情已经到这个份上,我花了无数精力下去,怎么可能凭三言两语就给你撤销呢。只是让我白骂一通。 不说这个卖家的JP问题了,就说整个事情的处理过程。其中有不少反面动作,值得大家惊醒。 1.出错后的态度。 这点那位卖家做的相当好,错了就认错。很直接的道歉,对不起,是我们的错,我们帮您解决。实话说,要没后面的一堆事情,我有心就这么解决掉了。人也没那么多精力去搞每件事情。 2.出了问题不到手足无措,也不要左右推脱。 这倒和那位卖家没关系,是我在杭州招行文三路支行的一次经历。我去交水电费,他们交过去后,因为系统衔接问题(实话说,杭州的各个系统衔接做的真是——垃圾啊),不确定是否到帐。所以要找我解决一下,否则万一没交成,我回头发现,投诉信还不写到总部去。 开始的时候是一位MM,可能是新来的,负责处理我的事情。从交钱的时候就一塌糊涂,我给的钱点来点去点不清楚,和我说话也是含含糊糊,我当是怕生。自己搞不清,叫来经理看,结果和经理讲话的时候也含含糊糊的,不知道怎么想的,居然来做柜面。结果我交一笔1600的钱,等了20多分钟才处理好,我都看懂了处理流程。算了,柜面也不容易,不要欺负新人了。等我上了杭州回上海的动车,才打电话告诉我有问题。说话还是交代半天说不清楚。没办法,只好找她们主管。 他们主管的名字我现在还记得,叫徐安江,做事清晰利落。先和我道歉,说明是他们的问题,接口上有点问题,周一能查清。要是没到,让我来补交,如果到对方那里了,会发起退回,让我重交。就是要麻烦我一趟。我说这个我可以接受,不过这个水电费快到期了,滞纳金的问题么。他说,会和对方协商,争取免掉,有的话就做主补上。然后问,您有个杭州的账户,方便转回那里么?我说不成,那是我个人开的账户,万一老板误会个啥的。他说,好的,我们钱到了转回上海账户,中间手续费帮您免掉。 我靠,这一下问题顿时解决。当然,如果换了柜面MM,补上滞纳金和免除手续费就不能做主了。但是前后的沟通实在是——新人勉强不来啊。 等我回杭州,和他们约好了去解决问题。结果还是上次的小MM,又是一通问题处理不清楚。没办法,还是叫主管吧。我就碰到了她的主管。他跟我说现在交不了,要到周三再过来一趟。我说周三人都在上海了,是你们说周一让我跑一趟的,咋办?他很客气的说,那钱我帮你收着,给你写个欠条,说明事情原委,到时候你凭欠条来我这里拿发票。 我靠,这话说的,我当场想写感谢信来着。最后事情多,把这茬给忘了。这件事虽然算是服务瑕疵,但是我仍旧认为招行在我碰到的银行里面服务排第二(第一是浦发)。 碰到问题,首先不要慌,如果自己慌了,客户就不会信任你。当初我在碰到问题的时候,拿着客户的电话大喊,想起来实在是很业余。另外也不要左右推脱,尽力帮客户办好事情。客户的事情办好了,坏事也可以变好事的。 3.解决问题的时候别引起新的问题。 春节后人忙,我能理解。过年盘账,我也能理解。说暂时到不了帐,客户不会马上翻脸。你哪怕给个折衷点的时间呢,客户也可以接受。但是9号说要查,查到12号说当天到,15号没到说明天,16号又没到。是可忍孰不可忍。事情做到这一步,要么你就拖着,然后等着客户投诉完了骂一顿,还得说你自找的。要么你就想办法的摆平客户。200不到的东西连借个账户先垫付一下转账安抚客户都不会,还开门做什么生意。 4.别到了解决问题的时候还没搞清问题在哪里。 刚刚给我打电话的卖家小客服,到打电话的时候还没搞清退货流程。他还以为我申请退货,他点同意,我点OK,钱就回去了。我还得给他补课上退货流程,是我申请,他同意,我发货,他接受,完成。这TMD我出事后都自己看了一遍流程,他连流程都没去看,叫什么事啊。