• 也谈“大牛”们的尊严

    June 30, 2009

    很多程序员在别人眼里是一个奇怪的geek,宁愿和机器,而不愿和人打交道。这不属实,没其他人比geek更明白机器是一个工具,人当然要和人交流和打交道,但前提要在这人在可交流的情况下。不是我危言耸听,似乎会交流的人真的不多,GNU界内流传着一份《提问的智慧》,可是技术论坛上每天都会能评出“极度白痴提问”的十大提名和冠亚桂。问题不在于问题白痴,而是提问的方式白痴。外国的社区邮件列表上,通常你的问题越白痴越低级,得到的解答就越详细和越深入,因为虽然是大牛们,这活儿还是挑软柿子好点,而且挑的人多;但是白痴的提问,本身就损害了别人的尊严。 没读过《提问的智慧》的人可能以为我在说儒家尊师礼节什么的,恰恰相反,想要交流,还是忘掉所谓的礼节。论坛上的标题,最常见《求助……》、《跪求……》、《有没有高手在啊……》、《请教高手……》我相信除了想骂人的人,没人想点这样的标题。 有人说国内的技术社区不友好,我看问题在于没法交流。孔夫子教下怎么尊师,设立了“师者”的形象近乎佛祖菩萨,一直坐在那里等你们来“求”,marvelous,人家只是有空逛逛论坛,又不是你花钱请来的,谁等你了,你给个平等点的态度不行么,有事直接说不行么,求什么求!对!你很尊敬别人,有什么事高手长高手短的,把自己扮的像白痴似的,以为这样会得到更多的传授,试问哪个智商正常的人愿意跟白痴促膝长谈? IRC上、QQ群上,有些人最喜欢每天叫“有没有高手在啊”,从来没见过人回复“我在”的,难道非要迫别人撕破脸皮自认高手才给你解答问题?有人写邮件,一开始“很抱歉打扰了……感谢在百忙当中抽空……”,marvelous,人家要是百忙,是绝对不会给你看邮件和回复邮件的,这不是你抱歉和感谢就能解决的问题,你能帮忙的就是把问题说的清晰简短,少点废话,就真的帮了大忙,人家高手都要感谢你了。 所以说孔夫子那一套还是毒害太深啊,让中国人连交流的能力都停留在秦始皇时代。 ——读王小波杂文集《个人尊严》有感

  • 大学那事儿

    June 24, 2009

    转贴一点事: 江南大学太湖学院考试学生中暑身亡 广州大学大学城校区游泳考试学生溺水身亡 当年的人们以为大学是深造的地方,其实很多的大学就跟杨永信的戒网所差不多吧,杨永信用电给人肉体上的折磨,大学则是提供良好的发酵环境以让人的心灵上的腐朽,偶尔则就如上面的送你归西…… 话说今年各地大批学生不参加高考,看来都是精明人,大学确实不再是神奇的地方,进来一番洗礼后就可以腾龙驾凤,而更通常地,是化神奇为腐朽的优秀产品线。

  • 明年的毕业设计的初步设想

    June 20, 2009

    最近给我们上《分布式系统概论》的老师找我在学校实验室哪里部署一套运算集群,说这个题目以后你还可以弄成毕业设计什么的,大有文章可做;了解了集群系统的一些资料后,最终知道集群计算的核心是算法。算法决定了整个集群系统的架构网络的架构,至于MPI、Cluster OpenMP之类的东东,只是无关要紧的小工具而已。 说实话,我个人对纯粹的算法学的不是很感兴趣。算法是基于问题而产生,但是因为没有问题而要创造问题来研究算法,感觉是吃饱了撑着的人干的事——比如那帮搞数学的人就是……当然这是个人感觉,我知道历史上一般都是理论上获得了突破,最终推动业界发展(又或者其实是相互促进的?不讨论了……不专业)。也就是说如果让我糊里糊涂搭一个貌似强大的环境然后跑个不知道干吗的算法,再做一系列糊弄老师们的文字,确实不大愿意。 桌面上还摆着之前玩单片机时候用面包板插的板子,后来作成了能够显示从串口发送过来的字符的小玩意。似乎这个没什么技术含量,但如果拿这个来做毕业设计,应该兴致会高一点。 主要是想做成一个显示主机系统运行状态的小玩意,就如罗技G19键盘上面的屏幕那样(当然暂时还没有这么漂亮的屏幕),实时现实系统状态、cpu温度占用内存占用网络带宽占用等,当然这还不够特色,不过主要是看上位软件怎么设计吧,可以弄成是libnotify的硬件版,呵呵。 单片机硬件上,现在单1602屏幕就占了10多个IO口,其中的8位数据线好像有点浪费,要是配上一些按键,一堆LED什么的,作成真正意义上的数据总线,似乎颇有可玩性。 另外呢现在跟主机通迅是通过串口的,我用了一条PL2302的USB串口线来连接,要是自己实现一个USB的协议呢? =。=越说越复杂了,这时候有技术含量了吧!哈!感觉这样做毕设比较有趣,至少不会像有些人做个xx管理系统,或者一个asp,单纯在UI代码上面就花了一大番功夫。

  • 深入了解校园网802.1x认证的EAP协议(1)——EAP的总体流程

    June 9, 2009

    EAP(Extensible Authentication Protocol),是一个普遍使用的认证机制,详细介绍可见Wikipedia。本文介绍的,是被广泛使用在国内高校校园网的认证机制使用的EAP协议,暂不具体地说明某个品牌的私有协议如何如何,而是从整体角度看EAP协议如何工作,从一个第三方Supplicant客户端的开发者角度解释EAP的通信机制。在后续的章节将继续介绍PT接触过的几种认证协议中,国内的“标准践踏者们”如何实现各种变态的认证协议。 文中出现的术语和名词,基本参考了RFC 3748的相关描述,以及Wireshark软件对相关报文的解释用词。 认证过程简述: 主机向服务器(多播或广播地址)发送EAPOL-Start 服务器向主机发送EAP-REQUEST-Identity要求验证身份的请求 主机向服务器发送EAP-RESPONSE-Identity回应 服务器向主机发送EAP-REQUEST-MD5_Challenge要求验证密码的MD5校验值 主机向服务器发送EAP-RESPONSE-MD5_Challenge回应 服务器向主机发送EAP-Success 保持连接的通信... 当然这只是一般过程,如果在任何时候服务器发来EAP-Failure数据包,都表示整个认证过程终止。 Supplicant主机                  服务器  -----------                 -------------    |------------------------------>|    | 1.  EAPOL-Start               |    |                               |    |<------------------------------|    | 2. EAP-REQUEST-Identity       |    |                               |    |------------------------------>|    | 3. EAP-RESPONSE-Identity      |     |                               |    |<------------------------------|    | 4. EAP-REQUEST-MD5_Challenge  |     |                               |    |------------------------------>|    | 5. EAP-RESPONSE-MD5_Challenge |    |                               |    |<------------------------------|    [...]

  • Unix单实例后台守护进程的“规范方法”

    June 2, 2009

    此前的笔记《Linux程序已运行实体的检测以及其PID的获得》通过Linux里面的bash命令来获取正在运行的同名进程的pid,正如网友AzureSky提醒说实际上平常此类程序所用的方法都是文件锁,比如dhclient、apt-get系列、pacman诸如此类,都是通过往/var/run里面写入一个包含自身pid的xx.pid文件,同时加上排他锁,只要当前进程还在,新的进程就不可能再加锁,也就能检测出是否单实例了。(AzureSky博客另外整理出APUE的一个实现) 至于后台运行,都是通过fork来生成新进程,虽然还需要setsid等的调用以确保子进程正常运行,不过这里暂不详细讨论,重点关注文件排他锁和生成的后台进程的“规范方法“(参考《Unix环境高级编程 APUE 第二版》)。 整个过程是这样的: 打开文件; 获得该文件的锁的状态; 如果没有锁,则给该文件加上自己的锁并写入自己的pid*;否则获得锁着该文件的进程的pid 如果能够顺利加上锁,则生成子进程;子进程等待父进程退出后马上给文件加上自己的锁; *其实写不写入pid对整个过程影响不大,只是惯例如此。 过程并不复杂,纠结的地方就是,文件锁是针对进程而言的,在生成后台进程的过程中,父进程和子进程虽然说拥有共同的文件描述字之类的资源,但由于是两个完全不同的进程,文件锁并不会继承过去。只有当父进程完全退出,失去对文件的锁操作后,子进程才能重新获得锁。 文件锁的调用fcntl函数的cmd参数里面有F_SETLK和F_SETLKW两个,后者是阻塞式的调用,就非常适合上述子进程等待父进程退出以获得锁的情形。 PT根据《APUE 2nd》F14.5、F14.6 整理出来的一份示例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [...]

  • Arch笔记之:U盘中文乱码

    June 1, 2009

    似乎装了HAL的Arch就能自动挂在U盘了,然而U盘目录里面的中文文件全部是???,很明显是编码问题。我用的是en_US环境,不知道有没有关系。 网上不少说法是修改/etc/udev/rules.d/里面的挂载规则,抄了别人的脚本试了下,很不完善,删掉。 本来就能自动挂载了,只是编码问题而已,应该不用改rules吧!重新以编码问题搜索,终于看到解决方案: 运行gconf-editor(类似Win的注册表编辑器的东东,没有就装上),在System->Storage->vfat的mount_options里面添加一条“iocharset=utf8”,好,大功告成!

Page optimized by WP Minify WordPress Plugin

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org