星期二, 十一月 29, 2005
Debian&fcitx
export G_FILENAME_ENCODEING=@GBK
export LANG=zh_CN.GBK
export LC_CTYPE="zh_CN.GBK"
export XMODIFIERS=@im=fcitx
fcitx
就可以在任何输入处输入中文了
刚才找的时候找到了几个blog记录下来吧!!!
http://bjzhanghao.cnblogs.com/
星期日, 十一月 27, 2005
Debian sound configuration
Debian sound configuration
How to get sound working
The sound system has low level drivers (ALSA) and daemonds above them that figure out which program should get access first. Today (late 2004 Sarge) things are in transition to using alsa and jack for really quality sound without the problems of the past.What to install
alsa-base ALSA driver configuration files alsa-modules ALSA driver modules alsa-oss ALSA OSS-compatibility library alsa-source ALSA driver sources alsa-utils ALSA utilities alsamixergui graphical soundcard mixer for ALSA soundcard driver alsaplayer PCM player designed for ALSA alsaplayer-com PCM player designed for ALSA (common files) alsaplayer-gtk PCM player designed for ALSA (GTK version) alsaplayer-jack PCM player designed for ALSA (jack output module) alsaplayer-oss PCM player designed for ALSA (OSS output module) snd-gtk-alsa Sound file editor (GTK+ user interface) vlc-plugin-alsa ALSA audio output plugin for VLC alsaplayer-jack PCM player designed for ALSA (jack output module) jack Rip and encode CDs with one command jackd JACK Audio Connection Kit (server and example clients)
What to config
run lspci | grep audio This should tell you what audio card you have Get module-assistant and run it and select the audio card from the list (you can fix an error here by running dpkg-reconfigure alsa-source) Stick the followign in .bash_profilejack -d alsa &>> this fails to work all the time right now - let me know if you get Jack working well under KDE (3.2 right now)
Testing
runalsaconf
alsactl storethen run
speaker-testIn KDE (3.2 for now) set sound system to use ALSA (Advanced Linux Sound architecture) Please email me with errors, omissions, and other information at inform@xtronics.com
星期四, 十一月 24, 2005
计算任何一天是星期几的几种算法
转自:http://blog.csdn.net/chensheng913/articles/69620.aspx
近日在论坛上看到有人在问星期算法,特别整理了一下,这些算法都是从网上搜索而来,算法的实现是我在项目中写的。希望对大家有所帮助。
一:常用公式
W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D
Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天。
二:蔡勒(Zeller)公式
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符号含义如下,w:星期;c:世纪;y:年(两位数); m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13 月1日来计算);d:日;[ ]代表取整,即只要整数部分。
相比于通用通用计算公式而言,蔡勒(Zeller)公式大大降低了计算的复杂度。
三:对蔡勒(Zeller)公式的改进
作者:冯思琮 相比于另外一个通用通用计算公式而言,蔡勒(Zeller)公式大大降低了计算的复杂度。不过,笔者给出的通用计算公式似乎更加简洁(包括运算过程)。现将公式列于其下: W=[y/4]+r (y/7)-2r(c/4)+m'+d
公式中的符号含义如下,r ( )代表取余,即只要余数部分;m'是m的修正数,现给出1至12月的修正数1'至12'如下:(1',10')=6;(2',3',11')=2;(4',7')=5;5'=0;6'=3;8'=1;(9',12')=4(注意:在笔者给出的公式中,y为润年时1'=5;2'=1)。其他符号与蔡勒(Zeller)公式中的含义相同。
四:基姆拉尔森计算公式
这个公式名称是我给命名的,哈哈希望大家不要见怪。
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日数,m表示月份数,y表示年数。
注意:在公式中有个与其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
星期二, 十一月 22, 2005
10年编程无师自通
原文:Teach Yourself Programming in Ten Years 作者:Peter Norvig 翻译:郭晓刚(foosleeper@163.net) 最后修订日期:2004-3-19 2005-01-12增加了新的译本链接。
本中文译本得到了Peter Norvig的许可。
为什么每个人都急不可耐?
走进任何一家书店,你会看见《Teach Yourself Java in 7 Days》(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual Basic、Windows、Internet等等,而只需要几天甚至几小时。我在Amazon.com上进行了如下搜索: pubdate: after 1992 and title: days and (title: learn or title: teach yourself) (出版日期:1992年后 and 书名:天 and (书名:学会 or 书名:无师自通)) 我一共得到了248个搜索结果。前面的78个是计算机书籍(第79个是《Learn Bengali in 30 days》,30天学会孟加拉语)。我把关键词"days"换成"hours",得到了非常相似的结果:这次有253本书,头77本是计算机书籍,第78本是《Teach Yourself Grammar and Style in 24 Hours》(24小时学会文法和文体)。头200本书中,有96%是计算机书籍。 结论是,要么是人们非常急于学会计算机,要么就是不知道为什么计算机惊人地简单,比任何东西都容易学会。没有一本书是要在几天里教会人们欣赏贝多芬或者量子物理学,甚至怎样给狗打扮。 让我们来分析一下像《Learn Pascal in Three Days》(3天学会Pascal)这样的题目到底是什么意思:
* 学会:在3 天时间里,你不够时间写一些有意义的程序,并从它们的失败与成功中学习。你不够时间跟一些有经验的程序员一起工作,你不会知道在那样的环境中是什么滋味。简而言之,没有足够的时间让你学到很多东西。所以这些书谈论的只是表面上的精通,而非深入的理解。如Alexander Pope(译注:英国诗人、作家,1688-1744)所言,一知半解是危险的(a little learning is a dangerous thing) 。 * Pascal:在3 天时间里你可以学会Pascal的语法(如果你已经会一门类似的语言),但你无法学到多少如何运用这些语法。简而言之,如果你是,比如说一个Basic程序员,你可以学会用Pascal语法写出Basic风格的程序,但你学不到Pascal真正的优点(和缺点)。那关键在哪里?Alan Perlis(译注:ACM第一任主席,图灵奖得主,1922-1990)曾经说过:"如果一门语言不能影响你对编程的想法,那它就不值得去学"。另一种观点是,有时候你不得不学一点Pascal(更可能是Visual Basic和JavaScript之类)的皮毛,因为你需要接触现有的工具,用来完成特定的任务。但此时你不是在学习如何编程,你是在学习如何完成任务。
* 3天:不幸的是,这是不够的,正如下一节所言。
10年编程无师自通
一些研究者(Hayes、Bloom)的研究表明,在许多领域,都需要大约10 年时间才能培养出专业技能,包括国际象棋、作曲、绘画、钢琴、游泳、网球,以及神经心理学和拓扑学的研究。似乎并不存在真正的捷径:即使是莫扎特,他4 岁就显露出音乐天才,在他写出世界级的音乐之前仍然用了超过13年时间。再看另一种音乐类型的代表--披头士,他们似乎是在1964年的Ed Sullivan节目中突然冒头的。但其实他们从1957年就开始表演了,即使他们很早就显示出了巨大的吸引力,他们第一次真正的成功之作《Sgt. Peppers》也要到1967年才发行。Samuel Johnson(译注:英国诗人)认为10 年还是不够的:"任何领域的卓越成就都只能通过一生的努力来获得;稍低一点的代价也换不来。" (Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.) 乔叟(译注:Chaucer,英国诗人,1340- 1400)也抱怨说:"生命如此短暂,掌握技艺却要如此长久。"(the lyf so short, the craft so long to lerne.) 下面是我在编程这个行当里获得成功的处方:
* 对编程感兴趣,因为乐趣而去编程。确定始终都能保持足够的乐趣,以致你能够将10年时间投入其中。
* 跟其他程序员交谈;阅读其他程序。这比任何书籍或训练课程都更重要。
* 编程。最好的学习是从实践中学习。用更加技术性的语言来讲,"个体在特定领域最高水平的表现不是作为长期的经验的结果而自动获得的,但即使是非常富有经验的个体也可以通过刻意的努力而提高其表现水平。"(p. 366),而且"最有效的学习要求为特定个体制定适当难度的任务,有意义的反馈,以及重复及改正错误的机会。"(p. 20-21)《Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life》(在实践中认知:心智、数学和日常生活的文化)是关于这个观点的一本有趣的参考书。
* 如果你愿意,在大学里花上4年时间(或者再花几年读研究生)。这能让你获得一些工作的入门资格,还能让你对此领域有更深入的理解,但如果你不喜欢进学校,(作出一点牺牲)你在工作中也同样能获得类似的经验。在任何情况下,单从书本上学习都是不够的。"计算机科学的教育不会让任何人成为内行的程序员,正如研究画笔和颜料不会让任何人成为内行的画家",Eric Raymond,《The New Hacker's Dictionary》(新黑客字典)的作者如是说。我曾经雇用过的最优秀的程序员之一仅有高中学历;但他创造出了许多伟大的软件,甚至有讨论他本人的新闻组,而且股票期权让他达到我无法企及的富有程度(译注:指Jamie Zawinski,XEmacs和Netscape Navigator的作者)。
* 跟别的程序员一起完成项目。在一些项目中成为最好的程序员;在其他一些项目中当最差的一个。当你是最好的程序员时,你要测试自己领导项目的能力,并通过你的洞见鼓舞其他人。当你是最差的时候,你学习高手们在做些什么,以及他们不喜欢做什么(因为他们让你帮他们做那些事)。
* 接手别的程序员完成项目。用心理解别人编写的程序。看看在没有最初的程序员在场的时候理解和修改程序需要些什么。想一想怎样设计你的程序才能让别人接手维护你的程序时更容易一些。
* 学会至少半打编程语言。包括一门支持类抽象(class abstraction)的语言(如Java或C++),一门支持函数抽象(functional abstraction)的语言(如Lisp或ML),一门支持句法抽象(syntactic abstraction)的语言(如Lisp),一门支持说明性规约(declarative specification)的语言(如Prolog或C++模版),一门支持协程(coroutine)的语言(如Icon或Scheme),以及一门支持并行处理(parallelism)的语言(如Sisal)。
* 记住在"计算机科学"这个词组里包含"计算机"这个词。了解你的计算机执行一条指令要多长时间,从内存中取一个word要多长时间(包括缓存命中和未命中的情况),从磁盘上读取连续的数据要多长时间,定位到磁盘上的新位置又要多长时间。(答案在这里。)
* 尝试参与到一项语言标准化工作中。可以是ANSI C++委员会,也可以是决定自己团队的编码风格到底采用2个空格的缩进还是4个。不论是哪一种,你都可以学到在这门语言中到底人们喜欢些什么,他们有多喜欢,甚至有可能稍微了解为什么他们会有这样的感觉。
* 拥有尽快从语言标准化工作中抽身的良好判断力。
抱着这些想法,我很怀疑从书上到底能学到多少东西。在我第一个孩子出生前,我读完了所有"怎样……"的书,却仍然感到自己是个茫无头绪的新手。30个月后,我第二个孩子出生的时候,我重新拿起那些书来复习了吗?不。相反,我依靠我自己的经验,结果比专家写的几千页东西更有用更靠得住。 Fred Brooks在他的短文《No Silver Bullets》(没有银弹)中确立了如何发现杰出的软件设计者的三步规划:
1. 尽早系统地识别出最好的设计者群体。
2. 指派一个事业上的导师负责有潜质的对象的发展,小心地帮他保持职业生涯的履历。
3. 让成长中的设计师们有机会互相影响,互相激励。
这实际上是假定了有些人本身就具有成为杰出设计师的必要潜质;要做的只是引导他们前进。Alan Perlis说得更简洁:"每个人都可以被教授如何雕塑;而对米开朗基罗来说,能教给他的倒是怎样能够不去雕塑。杰出的程序员也一样"。 所以尽管去买那些Java书;你很可能会从中找到些用处。但你的生活,或者你作为程序员的真正的专业技术,并不会因此在24小时、24天甚至24个月内发生真正的变化。
参考文献
Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985. Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19. Hayes, John R., Complete Problem Solver, Lawrence Erlbaum, 1989. Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.
答案
各种操作的计时,2001年夏天在一台典型的1GHz PC上完成: 执行单条指令 1 纳秒 = (1/1,000,000,000) 秒 从L1缓存中取一个word 2 纳秒 从主内存中取一个word 10 纳秒 从连续的磁盘位置中取一个word 200 纳秒 从新的磁盘位置中取一个word(寻址) 8,000,000纳秒 = 8毫秒
脚注
T. Capey指出Amazon上面《Complete Problem Solver》的页面中,《Teach Yourself Bengali in 21 days》和《Teach Yourself Grammar and Style》被列在了"购买此书的顾客还买了以下书籍"栏目里面。我猜其中一大部分察看这两本书的人都是从我这里过去的。
译本
感谢以下作者将本文翻译成其他语言: 日文(Yasushi Murakawa),中文(郭晓刚),繁体中文(Jason Chen),西班牙文(Carlos Rueda),德文(Stefan Ram),法文(P. E. Allary),土耳其文(Çağıl Uluşahin)。
星期六, 十一月 12, 2005
Rain and Tears - Aphrodite's Child
Rain and tears are all the same But in the sun you've got to play the game
When you cry in winter time You can't pretend it's nothing but the rain
How many times I've seen Tear's coming from you blue eyes
Rain and tears are all the same But in the sun you've got to play the game
Give me the moods of love And I need the moods of love
Rain and tears in the sun for in your heart You feel the rainbow waves
Rain and tears both are show for in my heart The live will be the sun
Rain and tears are all the same Rain in the sun you've got to play the game
友人之作
雪人 --------------------------------- 水凝结而成雪 雪堆积而成人 人无心而有泪 泪无声而辛涩 =============================== 梧桐树下梦飞花 ---------------------------------- 梦里 阳光下 白云衬的天好蓝 你站在梧桐树下 树上开满了梧桐花 和谐 自然
淡淡的笑比风轻柔 甜甜的歌比丝缠绵 慢慢地 你向我伸出手来 眼睛诉说着我们的过去 快乐 平凡
我动容的向你走近 轻触你的发 瞬间 你随风而去 空留一地梧桐花 让它谱写着悲伤的旋律 ==================================== 窗 ------------------------------------- 紫色的薄纱 轻掩着世界的眼 多少次 透过它 感受着人间冷暖 多少次 透过它 领悟到人生真谛 多少次 透过它 接受自然的洗礼 多少次 因为它 我才从黑暗中爬起
轻灵的风 拂开这淡紫的纱 豁然晴朗了迷朦的眼 也晴朗了迷乱的心 ====================================== 梦醒别离 ------------------------------------ 轻轻地 你离开了我身旁 就如昨夜的梦
甜美、温馨的感觉 至今徘徊在心头 属于你的气息 围绕着我久久不肯散去 回望你的倩影 显得如此凄凉 心痛的感觉 撕裂心房 好想忤逆一切 伴你身旁 然而世间的无奈 又岂是你我能阻挡
再次回望 眼中已溢出了别离的悲伤 ====================================== 以此思己思之贫!!!