| Profil de SolrexSolrex Shuffling.LifeBlogListesRéseau | Aide |
|
24/11/2007 Computer Otaku周杰伦出的新专辑"我很忙"中有一首"阳光宅男",我就此歌名咨询了某资深动漫迷,得到的答案是:"宅男",痴迷于某种东西而与他人隔离的族群,宅就是家的意思,指老呆在家中不出门。于是我回到宿舍,对着坐在电脑前的室友说:"电脑宅男同志,你好!" 在网上随便搜索了一下和自己有关的关键字,点点那些知道或不知道的链接,看看那些文字,有些是感动,有些是惊讶,总之都很有意思。比如我早先对龙芯的几句闲话被一个龙芯爱好者编辑的电子杂志"龙讯"作为评论引用上去,还有一些技术文章被别的网站或者博客引用,看到别人引用我的文章我是很开心的,因为那说明自己的文字没有白写。但是还有更好玩的是有人会从我的博客文章中截取一部分,然后换个标题作为自己的文章,这充分说明了我通常博客标题的辞不达意 :-)。无意中还搜索到了于洋师兄以前送我的几句话: 老弟此去京城,鹏鹤万里。京畿高朋如云,藏龙卧虎,胜江南一隅百倍,然旧友故人,心随君万里,亲切切而意期期,愿吾弟居京城得演天下,处翰院以震寰宇。此情依依,折柳依依,善自珍重。 这些值得纪念的文字,有趣的或者感动的,平时隐藏在互联网的某些角落里,搜索引擎就像考古学家一样,把它们翻出来放在博物馆里,当无意间走过那橱窗前时,会看到那闪光的历史。它告诉路过的人们,你已经陷进互联网很深了。 我在小百合的签名档里写:"珍惜时间,远离百合",就是想告诫自己要远离网络。有那么容易吗?一个儿子,可能同时也是一个父亲;一个现实生活中的人,也有在网络中的身份。而且现实和虚拟的两种身份可能变得重合,或者同等重要。互联网上有很多我很欣赏的人,对我来说只是一个 ID 而已,我对他们的了解只是一篇篇漂亮的文字;而同样我相信,对于某些人来说,Solrex 比"杨文博"更具有明确的意义。 互联网本来应该只是人类社会活动的延续,但是它有太多的内容让人沉浸其中,反而忽略了真实的社会活动。那么以后打招呼的时候就需要说:电脑宅男们,你们好! 17/11/2007 Solve Ubuntu Intel Soundcard Problem with Latest ALSA Driver使用最新 ALSA 驱动解决 Ubuntu Intel 集成声卡问题 最后更新时间:2007年11月17日16点40分 作者:Wenbo Yang <wenbo.yang@simplnano.com> 地址: http://blog.solrex.cn/articles/solve-ubuntu-intel-soundcard-problem-with-latest-alsa-driver.html 目前用户所抱怨的 Ubuntu 系列的声卡问题,基本上归结为几类:一,找不到声音设备;二,不发声;三,耳机和音箱同时发声。大部分这种问题都是由笔记本上 Intel 集成声卡驱动引起的,关于这个问题的具体描述和解决方案,可以查看下面两个页面: BUG: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/131133 SOLVE: https://wiki.ubuntu.com/Gutsy_Intel_HD_Audio_Controller 其实大部分问题都可以通过自己动手编译安装最新 ALSA 驱动解决,解决方法上面两个链接中已经解释得很清楚了,我这里介绍一下我的思路: 第一,查看 ALSA 版本,如果最新,就不用重新安装了,仔细查看一下配置吧。 $ alsactl -v 如果打印出: alsactl version 1.0.15,那么 ALSA 已经是最新了。 第二,在 ALSA 官方网站 http://www.alsa-project.org 上,下载最新的 ALSA 驱动,怎么解压我就不说了吧。 $ wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.15.tar.bz2 $ wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.15.tar.bz2 $ wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.15.tar.bz2 第三,查看自己的内核版本和声卡解码芯片是否被支持。 查看支持的内核版本 $ less alsa-driver-1.0.15/SUPPORTED_KERNELS 查看自己声卡解码芯片(如果系统不能识别声卡,可能无法由下面两个查到,那么查看你电脑配置单吧) $ tail -2 /proc/asound/oss/sndstat 或 $ head -1 /proc/asound/card0/codec#0 比如我的 DELL D630 就显示的是下面这个 Codec: SigmaTel STAC9205 在 alsa-driver-1.0.15/sound/Documentation/ALSA- Configuration.txt 中查找自己声卡解码芯片对应的 model 名字,比如我的 STAC9205 对应的就是: STAC9205/9254 ref Reference board dell-m42 Dell (unknown) dell-m43 Dell Precision dell-m44 Dell Inspiron 如果存在对应的 model,恭喜你可以继续安装了。 第四,准备好编译环境,安装 gcc, libc 等等工具,还需要下载 Linux header,这是编译 ALSA 驱动必须的。 $ sudo apt-get install libc6 libc6-dev linux-headers-2.x.xx-xx(你的内核版本) 第五,编译安装,一般的 ./configure, make, make install 流程。注意的是驱动编译时候需要 module 名字,就是第三步中找到的 modle 对应的 module 名字,去掉 snd-即可。比如我的 STAC9205 对应的 modle 是 dell-m44,对应的 module 是 snd-hda-intel,那么 configure 时候需要加上 --with-cards=hda-intel。编译安装时遇到问题请仔细阅读源码附带的 INSTALL。 $ cd alsa-driver-1.0.15 $ ./configure --with-cards=MODULE_NAME $ make $ sudo make install $ cd ../alsa-lib-1.0.15 $ ./configure $ make $ sudo make install $ cd ../alsa-utils-1.0.15 $ ./configure $ make $ sudo make install 第六,配置 ALSA。 如果以前系统中没有使用 ALSA 驱动,可能需要 alsaconf 来配置,还要将 ALSA 加入内核模块中,我没有经验; 如果系统原来已经有 ALSA 驱动,但是没有识别声卡或者声音驱动有问题。那么理论上只需要在两个地方做改动: 添加 /etc/modprobe.d/sound 文件,内容为: alias snd-card-0 snd-MODULE_NAME alias sound-slot-0 snd-MODULE_NAME 比如我的就是: alias snd-card-0 snd-hda-intel alias sound-slot-0 snd-hda-intel 在 /etc/modprobe.d/alsa-base 中最后一行添加: options snd-MODULE_NAME model=MODEL_NAME 比如我的就是: options snd-hda-intel model=dell-m44 第七,重新启动查看效果,可以使用 alsamixer 调节声音设置。 由于各种各样的问题,比如 ALSA 驱动重复安装,内核版本,内核模块添加不全等等,本文并不保证能完美解决声卡问题。本人不是声卡驱动专家,本文只是阐述我解决声卡问题的做法,如果您在本文指导下仍然不能解决声卡问题,请您到熟悉的论坛上寻求帮助。请尽量不要发邮件给我,谢谢。 16/11/2007 Age 21历史上的今天: 1986 年 11 月 16 日凌晨,中国河南省东部平原上的一个小乡镇卫生院里诞生了一个男孩儿,那就是我。 今天是我公历 21 周岁生日。按照我喜欢总结和计划的毛病,本该写点儿什么的,但忙碌的一天让我懒得思考,还是算了。 前两天上课时用 M6 看《战争之王(Lord of War)》(我现在只有上课时才有时间看电影),里面有句话太赞了: You can fight a lot of enemies and survive. But if you fight your biology, you will always lose. 虽然和很多谚语重复,但仍然听得我头皮发麻... 11/11/2007 How Long Will It Take to Build a Software?不知道现在世界上有多少人正坐在电脑前,等待着编译结束。如果把所有的软件按照规模来排名的话,编译器至少应该在最大那一批的角落里,想想自己动手编译 GNU 工具链需要的时间吧!难怪有人抗议说 gcc 应该附带音乐以便编译时候打发时间 ^_^ 但是还有比 gcc 更变态的,就比如 Open64(原为 SGIPro64,开源后叫 Open64,Intel 和中科院改的叫 ORC,Pathscale 改的叫 EkoPath,特拉华大学改的叫 KylinC),Open64 前端使用的是修改后的 gcc,然后对生成的 WHIRL 文件进行处理,生成 .s 文件再让 as 去汇编。在编译 Open64 时什么稀奇古怪的问题都可能出来,最主要的原因可能是 gcc, binutils 源代码版本不对应,或者只能使用某个版本的 gcc 去编译,某个版本的 ld 去连接。看看 Open64 中的源代码就可以发现,什么风格的代码都有,gcc 的代码可能是 K&R 的,也可能是 ANSI 的,有 C 风格的 C++,还有数不清的 csh,代码的混乱程度比 gcc 有过之而无不及,warning 一大堆,我每次都奇怪它是如何编译过去的。 我没有具体计算过 Open64 的编译时间,但是从感觉上来看,如果全部编译的话,Open64 至少需要一个小时(双核3.4G,2G内存)。平常我改编译器的源代码,最多的就是改 Dwarf 相关的调试信息输出。GNU make 会增量构建,改个 c/cxx 问题还不大,顶多重编一下模块,我最怕的就是改动哪个头文件。因为如果动了头文件,尤其是那种比较关键的头文件,就意味这下面一个小时就等编译结果吧。 一般情况下 make 的逻辑是:如果源文件被更新,只需要重编这个文件生成目标文件,然后用其重新构建可执行文件;如果头文件被更新,那么所有依赖此头文件的源文件都要被重新编译。这个依赖关系是写在 Makefile 中的,为了避免无谓的重编译,一定要在 Makefile 中确定正确的依赖关系。而这个依赖关系的依据是程序中头文件的包含关系和模块之间的联系,所以在写程序时一定要谨慎地选择包含头文件。多 include 一个头文件,错误地声明一个全局变量,都会造成程序的臃肿。 其实在这一点上 GNU 的东西做得就比较不错,头文件的包含,文件的依赖关系都很清楚,而且本身做为 Linux 下的程序员来说,了解依赖关系就是理解 Makefile 的第一步。相比而言 Windows 程序员就差很多,Win 程序员太依赖 IDE(集成开发环境) 了,没有 IDE 什么都干不了。经常有人问 Linux 下没有 VC,那怎么写程序?天那,比 VC 优秀的编译器有很多,而且没有图形界面不意味着写不出图形界面的程序,VC 编译程序也是调用命令行的。VC 的编译器叫做 CL, 连接器叫做 LINK,VC 也有 make,叫做 NMAKE。不相信的人可以尝试一下:如果你安装了 VC 并且选择了将 VC 可执行文件路径加入到环境变量里,那么就可以用 CL hello.cpp 来编译你的 hello world 程序,根本没有必要为了一个单文件的命令行程序创建一个工程。 Linux 并不拒绝 IDE,从 Eclipse 的流行可以看到这一点,但是不要让 IDE 把程序员变傻。如果不了解程序编译的整个过程和逻辑,那么写程序就成了一件盲目的事情。很多 VC 的程序员都不能区分什么是 assembly file, object file, executable file,什么是 preprocess,一个程序的源文件是怎么组织起来的,最终的二进制文件是怎样生成的。他们所知道的就是把一个文件往工程里一拉,乱七八糟的头文件一包含,就希望程序能编译过去。一旦遇到问题,马上抱怨怎么报那么多错误,就算很明显的错误也要到论坛上叽叽歪歪一番,怎么能期望得到一个可靠又高效的程序呢? 从 VC 自动生成的源程序来看,本身就有很多问题,就拿 VC 自动生成的类来说,鲜有 private 类型的成员变量和方法,大多数都是 public 或者 protect 了事,因为这样它不容易出错。但是这样一来 C++ 面向对象的特性又去哪儿了?MFC 里一堆一堆的宏,又如何了解真正的 API? IDE 仅仅是一个加强版的文本编辑器,它提供的功能是高效写代码,但需要程序员自己保证写高效的代码! 细节很重要! 09/11/2007 Can You Feel the Pressure From Books?你能感到书本给你的压力吗?随着案头累积的书越来越多,我忽然想到这个问题,因为我发现我越来越为这个焦虑。每本书我都看了个开头,几乎每本书我都没有一个具体的时间计划能完成。书单就不列了,只能比豆瓣上我的"正在读"列表要多... 我对自己的时间掌握能力还是差。不否认我现在搞得自己很忙,比一般的学生要忙得多,是一个很好的借口。但我也不否认自己有足够的时间去多做些事情,我只是无法控制自己少在网络上花费些时间,少在电脑上瞎折腾,也利用不好小块的时间。我也想通过当前的状况提高一下自己充分利用时间的能力,但是从目前的结果来看,我对自己自我控制能力的估计有些高了。 一系列的强迫症,强迫自己频繁地查看信箱,强迫自己检查BBS、校内、博客订阅的更新,强迫自己尝试这个那个新软件,面对电脑我的抵抗力太低了,尽管我经常一天超过 12 个小时对着电脑。而让我更加焦躁的是现在当打开一个页面时,我会忽然忘了我为什么要打开它,茫然地盯着电脑屏幕,得不到满足又浪费时间。也许我该限制自己使用电脑的时间了,我没有那么重要,没那么多邮件,晚回复些也没什么区别,实际上也没有多人会关注我的这个那个,何必如此周期地去检查呢? 不过唯一还好的一点是,我没有沉迷于游戏的习惯,事实上也没有那么多时间去玩游戏。当我在路上听到别人在讨论什么什么装备,心中不屑的同时我真的好羡慕他们还有时间玩游戏,起码从中得到了很多快乐,而我能从电脑和网络中得到的满足感越来越少了。大概就是别人说的别把爱好当成工作吧!虽然也有些对学习和研究的忧虑,可我甚至没有工夫去仔细想想,又是该调整自己的时候了。 我觉得自己状态好差,思绪有点儿乱,希望过两天能好些。 01/11/2007 Gossip Time最近听到几件事情,觉得蛮有意思的,当然了,也有点儿八卦的性质,读者不要太 serious ^_^ 第一件事,中国有个南相浩(据说是军方很厉害的密码学家),搞了一个什么 CPK(组合公钥技术),据说要跟 PKI(公钥基础设施) 抗衡,据说国家拨给了很多钱,据说很多专家看出来算法有问题,据说这个问题其实很明显,据说学过线性代数的学生都能看出来,据说大家就是不说,据说某密码专家在他的学生参加宣传讲座时告诉他们要有辨别能力,据说...请大家用辨别的眼光看上述文字,本博不做任何评价。 第二件事,中国有个王小云,搞了个...(不知道的人请 Google),据说此人学术水平一般,据说在出名后的演讲中表现的素质很低,很喜欢吹嘘自己在国外有多受欢迎,据说她出名有很多中国威胁论和国外科学家炒作以赚取自然科学基金的因素在里面,据说有很多人吃不到葡萄说葡萄酸,据说...请大家用辨别的眼光看上述文字,本博不做任何评价。 第三件事,中国有个南京大学,据说这个学校的女生之间非常喜欢以老公、老婆相称而且有时候过分亲热,据说在毕业后还把这种氛围带到其它大学,据说某些其他大学的女生很惊讶,据说她们在背后都说南京大学漂亮女生多,同性恋也多,据说...请大家用辨别的眼光看上述文字,本博不做任何评价。 |
|
|