Archive for 技术

ubuntu feisty 7.04 声卡没有声音的解决办法

ubuntu 7.04 feisty 推出后,很多人都遇到了这个问题。声卡看起来是好的,就是没有声音。
我的机器是T43,从6.10升级就遭遇了这个问题。
网上查了查,各种说法都有,比如安装最新的alsa,把音量控制里的某几个选项选上等等。
折腾几天,不行。

最终的解决办法是。安装2.6.21内核,一切问题都解决了!

不知道怎样安装内核?google ubuntu 安装内核 ,看别人的文章就搞定了。如果你实在搞不定,就留言吧。
虽然集成声卡的音质的确不怎样,但总比没有好。

web2.0,RSS,Trackback,blog,SNS,搜索,WIKI 和唯客

web2.0,RSS,Trackback,blog,SNS,搜索,WIKI 和唯客

05年开始,web2.0,RSS,Trackback,blog 和 SNS 这些名词都热了。大家都在憧憬着新一轮互联网的春天到来。前一个网络泡沫大家还记忆犹新,但这次不同了。现在的网络创业者纷纷把自己的网络应用冠名为 web2.0。为何?以前失败的是web1.0,现在是web2.0。当然要划好线,站好队。

当web2.0这个泡泡越吹越大的时候,却发现没有一个人能准确地说出什么是web2.0,以及它的特征。有人说web2.0是一个可读写的网络应用,有人说web2.0是一个用户高度参与的网络应用,有人说web2.0是一个真实的网络社会。声音很多,无论哪种声音都有一个隐含的意思:以前失败的 是web1.0,将要成功的才是web2.0。我认为这就是05、06年大多数人对web2.0的一种心底下的定义。成功了,你就是2.0,失败了,你就是1.0,最多算你伪web2.0。web2.0必定会成功,这就不难解释那时后这么多人做什么事情都要冠上web2.0的帽子,现在看到web2.0概念不行了,又急着甩掉这顶帽子。

概念炒作一直在变,但web2.0确是实实在在的需求。互联网冷却下来,大家才有时间仔细思考自己要做的事情,从真实的市场需求出发,结合新技术、新理念,踏实作些事情。

blog,公认的web2.0应用,可以说是web2.0大多数新理念、新技术的发源地。RSS、Trackback就是blog的两只脚。RSS 是Rich Site Summary or RDF [Resource Description Framework] Site Summary or Really Simple Syndication。在国内,最后一种定义“站点用来和其他站点之间共享内容的简易方式(也叫聚合内容)”用得比较多。RSS能以一种简单,公开的协议,方 便大家获取内容,并对内容进行重新的组织整理再发布。Trackback是一种Blog应用工具,它类似评论,但它的主要内容留在评论者的blog里,而只将概要发送到原作者那里。Trackback能有效地将具有相同兴趣的bloggers联系起来。
RSS和Trackback本意都很好,但他们都基于互联网是可信、公平的基础之上。实际上却引起了滥用。拿RSS来说,大家辛辛苦苦写出来的文章 被别人那么轻松就拿去重组之后再次发布,甚至被别人拿来盈利。大家会觉得高兴吗?Trackback有一段时间被人用来发垃圾留言,弄得好多个站点的 Trackback功能都被禁用。因为大家实在是没有那个精力去和捣乱者斗。blog缺了Trackback也就缺了一条腿,还能站得稳吗?
好的本意,并不一定会带来好的结果。这就是现在互联网的现实,怎么还能保证web2.0就能带来真实的人际网络?很多论坛也“恍然大悟”:原来自己这种形态就是web2.0阿。

web2.0的到来并不是毫无根据。前几年我很喜欢泡在bbs里,就觉得很不爽,自己辛辛苦苦写的文章怎么就被删了。我在饮水思源BBS的帐户已经有两千多天了,文章数也有近五千。但现在再查,可以查到的文章有多少?基本上都没有剩下什么。
能解决这些问题的,就是web2.0。让我们再看看blog这个应用。rss和trackback,这两样东西,能使得blogger对自己的文章有绝对的主宰权。这就是我的地盘,我做主。我爱写啥,就写啥。我爱删啥,就删啥。对别人没有任何的影响。rss能让我们从各个不同的角度对众多 bloggers的文章(可认为是具有多面特性的知识体)进行观察和获取我们需要的东西。作者有写什么的权利,读者有读取什么的权利。这就是rss带给我们的好处。千人千面,从此不必要在bbs的版面里维护一个大多数人认可的价值观。通过rss,通过搜索,你总可以找到自己感兴趣的东西。这很符合现在价值观多样化的趋势。每个人都是个性鲜明的个体,而不是群众。

trackback就是一个纽带,一方面能将评论留在可以控制的自己的blog上,还可以告知别人:hi,我对你这个话题也很感兴趣。你可以来我这 里看看。trackback的存在为我们评价各篇文章的关系提供了一个非常好的参考。这会在未来,发挥极大的作用。在google的pagerank已显 疲态的时候,善于运用trackback为我们提供了一条解决网页权重评估的好办法。

rss和trackback都是非常轻量级的运用,这是他们的优点。但很不幸,他们出生在了email的后面。email也是很简单的运用,所以经 过这么多年的发展,email现在是“骑虎难下”的状态。垃圾邮件,伪造信件等等都让大家痛苦不已。各种各样的解决办法都有人提,小范围测试下来的效果都很好。但email现在应用太广,任何一个小的改动,都需付出巨大的代价,且真正的应用效果并不见得好。所以email的协议还是没有什么大的改变。倒是在客 户端这一块增加了不少新的解决办法。如用贝页斯算法来解决垃圾邮件问题,用数字签名来解决信件伪造问题。这样下来的效果不错。需要的用户在自己的终端想办法解决,大部分用户使用最简单最廉价的方式就足够了。rss和trackback也可以这么用。web2.0将会是协议简单,需要客户端高效处理的应用。 web2.0真正到来的那天,就是个人智能代理出现的那天(不管这个代理是装在本地电脑还是运行于远方的服务器)。这个智能代理就像个人秘书一样,处理主人生活的各种事情,辅助主人决策。

唯客网(www.vekee.net)是国内较早做分类信息的网站。05年的时候,国内一下子涌现出了几千家分类网站。但有个问题是大多数做分类的站长没有想到的。就是海量分类信息的处理。在每日处理几万甚至几十万信息的情况下,怎样区分好的、差的、甚至虚假的?这真是一个难以解决的问题。但看看email的发展道路,其实也不是没有办法。在线分类信息服务商提供的是最简单最方便的一种广告发布方 式。面对海量信息,服务商不可能每条都审核,只能通过计算机来自动处理,通过更专业的合作伙伴来筛选信息。rss能方便的获取这些信息源,再结合自然语义处理和搜索、分类算法。能再次的将这些信息按照使用者的需要展示出来而不拘泥于现有的分类体系(很多文章包括广告都属于多个分类,而且每个人的看法也不会一致。最好的方法就是让使用者自己选择, 不需要拘泥于原有的分类)。

很多人认为做分类网站门槛很低,我不这么认为。真正杀手级的分类应用,绝对是在技术积累到一定程度,才可能出现。什么是分类?BBS里分为各个板块是不是分类?新闻网站里各个类别是不是分类?肯定这些都是分类。但他们还“分”得不够。现在一般网站,甚至很多分类信息网站,文章类目最多也就是分为上百类。这远远不够,人的需求不少,细分起来也有上万种吧,那么分类应该也有上万种,才能满足人民生活各方面的需要。这么多的分类怎么找?也只能靠搜索了。建立上万个分类,包含各种信息的做法有些类似WIKI这种应用。维基百科www.Wikipedia.org,就是wiki技术在协作开发和积累知识方面成功应用的一个典范。该站点的建立者吉米·威尔士(Jimmy Wales)想“用世界上每一种语言免费传递一个完整而全面的百科全书,即使最贫穷和最受压迫的人也能轻松查阅。”这和唯客要做老百姓的生活资讯网站的目标基本一致。唯客做的事情,简单的说,就是把WIKI加上商业应用,将WIKI和广告结合。通过商业化运营来加速网站内容的积累,通过合理的商业模型,保证内容提供者、用户、运营者、唯客四者的利益,为老百姓提供更好的服务。

作者:flykite。如果大家对这个主题有任何想法,欢迎和我探讨。Msn: paypie (at) gmail.com

互联网江湖超级牛B口水站

BTW:有报道说传统媒体没落,网络媒体同样有能力作深入的报道。的确现在网络报道越来越呈现全而深(兼顾八卦的)态势。下面就是关于现在互联网口水战的报道:(点击看全文
事情缘起于一个叫做3721的小软件,这个软件被称为是史上最牛B的流氓软件,被尊为是流氓软件的开山鼻祖。后来,这个小小的流氓软件被因为主人被雅虎中 国收购,于是自己的亲爹也摇身一变,成了跨国公司雅虎的一分子。世事难料,再后来,这个跨国公司因为本土化做得不算很成功,于是一不留神,自己的亲爹又换 回了国籍,自己变成了开宝藏的阿里巴巴的“养子”,连名字也被迫让“后爹”改成了“雅虎助手”。这时候,原来的主子又做出了一个可以用来对付自己的孪生兄 弟“360 safe”,不甘于被迫“消失”的雅虎助手——即原来的3721在强大的后爹的支持下,与自己的兄弟展开了殊死的搏斗。并引出了互连网领域的一场空前惨烈 的超级牛B口水战……

dreamhost的秘密

今天不知为何,dreamhost的普通用户也可以看到系统的信息。于是发挥“偷窥癖”的风格,把dreamhost翻了个遍。

首先是dreamhost的cpu信息。可以看到是AMD的。

[rollo]$ cat /proc/cpuinfo
processor    : 0
vendor_id    : AuthenticAMD
cpu family    : 15
model        : 35
model name    : Dual Core AMD Opteron(tm) Processor 175
stepping    : 2
cpu MHz        : 2194.562
cache size    : 1024 KB
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 1
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall mmxext lm 3dnowext 3dnow pni
bogomips    : 4377.80

processor    : 1
vendor_id    : AuthenticAMD
cpu family    : 15
model        : 35
model name    : Dual Core AMD Opteron(tm) Processor 175
stepping    : 2
cpu MHz        : 2194.562
cache size    : 1024 KB
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 1
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall mmxext lm 3dnowext 3dnow pni
bogomips    : 4377.80
还有磁盘信息

# /etc/fstab: static file system information.
# custom peon version
#
#                                                            

/dev/sda1       /               ext3    defaults,noatime,nodiratime,commit=300,errors=remount-ro        0       1
/dev/sda5       none            swap    sw                                                              0       0
/dev/sda6       none            swap    sw                                                              0       0
/dev/sda7       none            swap    sw                                                              0       0
proc            /proc           proc    defaults                                                        0       0
/dev/fd0        /floppy         auto    defaults,user,noauto                                            0       0
/dev/cdrom      /cdrom          iso9660 defaults,ro,user,noauto                                         0       0
/dev/sda3       /usr/local      ext3    defaults,noatime,nodiratime,data=ordered,commit=300             0       2
/dev/sda8       /tmp            ext3    defaults,noatime,nodiratime,data=ordered,commit=300,noexec      0       2

# BEGIN DH BIT
10.3.100.129:/vol/boot/spunky/bluey     /home/.bluey    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.148:/vol/boot/spunky/bobcat    /home/.bobcat   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.133:/vol/boot/spunky/booger    /home/.booger   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.6:/vol/boot/spunky/boomley     /home/.boomley  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.138:/vol/boot/spunky/booters   /home/.booters  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.132:/vol/boot/spunky/bootes    /home/.bootes   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.151:/vol/boot/spunky/booties   /home/.booties  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.133:/vol/boot/spunky/boots     /home/.boots    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/bootsie   /home/.bootsie  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/bootsy    /home/.bootsy   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.159:/vol/boot/spunky/booty     /home/.booty    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/bootz     /home/.bootz    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/bor       /home/.bor      nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.146:/vol/boot/spunky/cerebus   /home/.cerebus  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/charm     /home/.charm    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/chase     /home/.chase    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.14:/vol/boot/spunky/chasm      /home/.chasm    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.133:/vol/boot/spunky/chat      /home/.chat     nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.140:/vol/boot/spunky/crouton   /home/.crouton  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.50:/vol/boot/spunky/cruise     /home/.cruise   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.140:/vol/boot/spunky/crystal   /home/.crystal  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.134:/vol/boot/spunky/djion     /home/.djion    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.154:/vol/boot/spunky/doctor    /home/.doctor   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.140:/vol/boot/spunky/dogbane   /home/.dogbane  nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.166:/vol/boot/spunky/doggie    /home/.doggie   nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.50:/vol/boot/spunky/doggs      /home/.doggs    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.140:/vol/boot/spunky/dogmatic  /home/.dogmatic nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.140:/vol/boot/spunky/dolittle  /home/.dolittle nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.141:/vol/boot/spunky/dominique /home/.dominique        nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.6:/vol/boot/spunky/dunop       /home/.dunop    nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.108:/vol/boot/spunky.localbackups/rollo        /mnt/filerbackup        nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
10.3.100.158:/vol/boot/spunky.crontabs/rollo    /var/spool/cron/crontabs        nfs     defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0
dreamhostd的大体架构是一台主机通过NFS挂载多台存储服务器的硬盘作为文件的统一存储入口。同时前段有多台web服务器,将所有的存储服务器都挂载在里面。通过脚本将用户开设的网站分摊于多个主机。这种方式扩展系统的存储容量和网站的处理能力都很容易。架构比国内的主机托管提供商要好得多。

备份怎么办?这套系统算下来,有将近15T的存储量。每台主机有36G的SCSI硬盘,同时存储的大硬盘都是采用SATA硬盘。我猜只是做了raid5.这样有故障还是可以恢复,恢复的时间还是可以接收的,成本也最低。

语义网

为了让计算机能理解普通人说的话,科学家们提出了语义网的概念,并提出了与之配套的框架。如本体等等。一直以来在学术界就吵得很热。十年前,复旦就有不少教授写这方面的论文了。发展到现在,网络还是老样子,有哪个应用能大声地告诉用户,它能理解用户的需求,能和用户进行有效的沟通?

基本没有。

有人说,语义网的基础是本体。本体描述了概念和概念之间的关系。有了它,你说SmallTalk,我们就可以知道它是种编程语言,还知道它是个昵称,也知道它和java等有关系。的确是这样,本体是个好东西。但本体又从哪里来?从十年前的手工编制本体到现在半自动化的编制。完全靠手工来编制,成本太高,可真是举步维艰。进展不大。

好东西终归是要得到的,我就大言不惭地预测tag的出现会使得我们以一种廉价的方式来获得概念和概念之间的关系。虽然这种关系可能是很简单,但已经足够我们大部分的日常使用了。比如deramhost 这个标签 http://share.paypie.net/tags/dreamhost,就可以看到dreamhost 和php,installation这几个词是有关联的。更近一步,如果我打tag时,还可以加上一定的关联关系,如包含,同义,反义等等。(麻烦,大家也不会喜欢)

十步学习CSS定位

有CSS定位的教程.源代码加实例.很直观.

虽然我不是做页面的,但清爽\友好的页面设计也是我的追求.

把它当作一个爱好,下面就是该教程的地址.

Learn CSS Positioning in Ten Steps

关于DHTML,JS,AJAX的一些网站

http://www.cs.rit.edu/~atk/JavaScript/manuals/jsobj/

http://www.dojotoolkit.org/

http://www.getahead.ltd.uk/dwr/

http://trimpath.com/project/wiki/JavaScriptTemplates

http://oss.metaparadigm.com/jsonrpc/

http://tool-man.org/examples/

What is ISPConfig

ISPConfig是一个虚拟主机管理软件,看了下截图,基本的功能都有了。哪位想提供虚拟主机服务的就下载来玩玩吧。
ISPConfig is a software package that permits the easy management of servers, webspace, resellers and single virtual hosts.

ISPConfig consists of 3 levels:

  • ISPConfig for server administrators allows the management of servers, webspace, resellers and customers.
  • ISPConfig for resellers allows the management of webspace, customers and virtual hosts (sites).
  • ISPConfig for webmasters allows the management of sites, co-domains and mailboxes.