個人檔案虫儿飞~~相片部落格清單 工具 說明

丁 鸿辉

職業
居住地
興趣
营养,运动,水,阳光。
空气,休息,节制,心境平和。
有爱就有世界^_^ 且行且珍惜
第 1 張 / 共 9 張

虫儿飞~~

红色小魔鬼·爱人爱己
19/8/2009

干掉Gnome自动在主目录下创建的Desktop目录

Gnome桌面环境在启动的时候会自动在用户的主目录下面创建一个叫做Desktop的目录,你把它删除掉后Gnome会在下一次启动的时候自动再次创建。

有个简单的方法把这个目录修改为其他目录,修改方法如下:

dhh@icesnow:~$ cat .config/user-dirs.dirs 
XDG_DESKTOP_DIR="$HOME/.Desktop"
dhh@icesnow:~$

这样Gnome会创建.Desktop来替代原来的Desktop.你在主目录下ls的时候就可以眼不见心不烦啦。

7/8/2009

利用ident获得远程服务器端口占用的用户信息

dhh@icesnow:~$ nc -p 12345 demo.example.org 113
113,12345
113 , 12345 : USERID : UNIX :identd
quit
dhh@icesnow:~$

上面的命令连接了远程服务器的113端口,本地使用端口12345。
其中远程的113端口是远程服务器以identd用户起的进程。
通过ident,我们可以获得远程服务器上某个具体端口到底是什么用户监听的,也就意味着能够拿到用户名。

这个做法的前提是,你必须和远程服务器的端口有网络连接。你只能查询本机到远程服务器的连接信息,查询其他主机到远程服务器的连接是不可行的。

具体可以参见: http://www.ietf.org/rfc/rfc1413.txt

25/4/2009

搞定ipmi sol

刚刚搞定了ipmi sol.
 
中间遇到了几个问题,一一解决。
* ipmitool lan设置好ip地址等等,任何就是ping不通这个ip,也无法访问
 
原因是BMC默认情况下以第一块网卡来通讯,如果失败,那么就全部over。
解决方法是安装OMSA或者重启然后在bios中设置NIC为failover模式。
 
备注:正常情况,本机ping不通正常。
 
* 网络正常,无法sol activate
 
需要sol能够work,需要满足下列条件:
1. 有进程会处理串口的登录事件
    需要在/etc/inittab里面加入串口处理进程,一般来说把注释掉ttySx相关的行启用就可以了
2. 设定正确的波特率
    见ipmitool sol info 1,默认是57600
3. 据说还要打开串口重定向,这样才能把串口和sol关系关联起来
 
这样,从Sol->串口->登录程序的路就通了。
赶紧用
ipmitool -A MD5 -I lanplus -H ip-address -U user -C0 sol activate
来访问吧。
 
用root不能访问?检查下/etc/securetty吧。
 
期间我还犯了一个愚蠢的错误,在本机开启getty /dev/ttyS0,然后在本机去访问。-,-。
 
ipmi是个好东西啊。
 
 
17/4/2009

短信猫短信内容读取方法

假设我们通过minicom/超级终端读取短信
* 设置读取格式
at+cmgf=1
* 读取第一条短信
at+cmgr=1
+CMGR: "REC READ","12520",,"09/04/17,11:59:28+32"
6B228FCE4F7F75284E2D56FD79FB52A863D04F9B768498DE4FE1670D52A1FF0C8BBE7F6E98DE4FE15BC6780197008981768477ED4FE19A8C8BC178010030003100340033FF0C6709654865F695F400355206949FFF0C8BF75C3
D5FEB5B8C6210FF0C52075FCC6CC46F0F30018F6C53D177ED4FE19A8C8BC17801FF0C8BE68BE200310030003000380036
* 转化内容为可读
echo 6B228FCE4F7F75284E2D56FD79FB52A863D04F9B768498DE4FE1670D52A1FF0C8BBE7F6E98DE4FE15BC6780197008981768477ED4FE19A8C8BC178010030003100340033FF0C6709654865F695F400355206949FFF0C8BF75C3D5FEB5B8C6210FF0C52075FCC6CC46F0F30018F6C53D177ED4FE19A8C8BC17801FF0C8BE68BE200310030003000380036
| sed 's/\(..\)\(..\)/\2\1/g' | xxd -r -p | iconv -f utf16; echo
 
出来的结果为:
欢迎使用中国移动提供的飞信服务,设置飞信密码需要的短信验证码0143,有效时间5分钟,请尽快完成,切忌泄漏、转发短信验证码,详询10086
* 命令分析
  - 先说一下那一串数字是怎么来的:对我们可见的字符串,进行utf16编码,然后以大端的方式存储,之后转化成16进制就成了6B.......
  - 我们做的事情,先把大端转成小端(通过sed命令,其实就是交换一下次序),然后通过xxd把16进制转成binary的字符串,然后在把utf16转成当前编码,然后加个回车
 
13/9/2008

zz google top 10 principle - Google 10大黄金法则

http://www.hzqbbc.com/blog/arch/2006/01/google_top_10_p.html

美东时间12月2日消息,在与加州大学伯克利分校信息管理学院院长哈里•瓦里安(Hal Varian)的一次讨论中,Google公司CEO Eric Schmidt讲述了这家搜索巨头公司在产生和保留知识型员工方面遵循的几条原则。该文被美国《新闻周刊》(Newsweek)刊登,以下是 Schmidt的观点摘录。
  抓住知识型员工将是未来四分之一世纪企业成功的关键。下面就是Google在这方面的做法。

  在Google,我们认为商业管理学的宗师彼得•德鲁克对于如何管理“知识型员工”的理解最为深刻。毕竟,这个词是由德鲁克于1959年发明。德鲁克说知识型员工相信自己拿工资是为了出效率,而不是为了完成朝九晚五的呆板工作,而聪明的企业会“排除任何影响‘知识型员工’工作的障碍”。这些成功经验将吸引最好的员工,并且保证“未来25年竞争优势的唯一且最大的因素。”

  在Google,我们寻求这种优势。当前关于大型企业是否对于知识型员工处置失当的争论是我们慎重对待的问题之一,这是因为无法正确处理该问题的企业将被出局。我们从其他地方以及内部讨论得出得到很多好的想法。以下七条就是我们在最大化知识化员工效率方面所采用的关键原则。与大多数技术公司一样,我们的许多员工都是工程师级别的,因此我们将以这个特殊群体为主,但其中很多原则对于所有知识型员工均适用。

  组织委员会,严格招聘

  实质上每个参加Google面试的人至少与六位面试官交谈过,后者均是公司管理层面或潜在同事组成的。每个人的观点都算数,从而使招聘程序更加公平,标准更高。当然,花费的时间会长一些,但我们认为值得。如果希望招到优秀的员工,那么经过严格的招聘程序,你会得到更加优秀的员工。公司创立之初我们就开始构建这种积极的反馈循环,直到现在已经从中获得了巨大回报。

  满足员工的所有需要

  正如德鲁克所说,管理目标是“排除任何影响他们工作的障碍。”我们为他们提供了一整套标准的额外利益,但首先是一流的餐饮设施、体育馆、洗衣房、按摩室、理发厅、洗车房、干洗房、接送班车等,几乎任何一位勤奋工作的工程师所需的一切。我们可以这样分析:程序师乐意开发程序,他们不喜欢洗衣服。那么我们就让这两件事情变得同时简单起来。

  拉近员工距离

  Google的几乎每个项目都是小组项目,每个小组之间都必须进行交流合作。最好的让交流变得简单的方式就是让每个小组成员都近在咫尺。因此实质上Google的所有员工分享一间办公室。这样,当某位程序师需要与一位同事协商时,就能马上找到对方:没有电话号码标签、没有电子邮件拖延、不用等待答复。当然,Google还有很多会议室供人们进行详细讨论,从而不会打扰各自的办公助手。即使是公司CEO,在来到Google后数月才得到一间办公室。和一个学识丰富的员工比邻而居,委实是一种高效的培训经验。

  使合作简单协调

  由于一个小组的所有成员都近在咫尺,因此在协调项目开展方面就相对容易些。除了身体保持近距离外,每位Google员工每周还向其所在工作组发送电子邮件回报上周的工作成绩。这样就能让每个人都能简单地跟踪其他成员的工作进度,更加容易地监控工作进程,并同步工作流程。

  身体力行,使用自己的产品

  Google员工都很频繁地使用公司开发的各种工具。最常见的就是为所有项目和任务而建内部网页组成的网络。这些网页都被索引并以按需访问的策略向项目参与者开放。我们对其他信息管理工具的用户进行了扩展,其中某些将最终以产品的形式对外推出。譬如Gmail成功的原因之一就是它曾在公司内部测试达数月之久。电子邮件主要用于组织信息,所以Gmail被不断改进,直至满足最大需求的消费者――我们的知识型员工的需要。

鼓励创新

  Google工程师们可把20%的工作时间放在自选项目开发上。当然其中必须有一个批准过程以及某些失败,但基本上我们希望让所有富有创意的人们发挥创意。我们有一个公开的秘密武器,就是创意邮件目录:一个全公司共用的建议箱。任何人都可以把自己的创意发送到这里,从停车程序到下一代应用程序等等。在这里所有人都可以对创意发表评论、进行评价,从而促使最佳创意浮出水面。

  尽可能统一意见

  现代企业神话中都有一个英雄般的独特决议制订者。我们坚信“群众的智慧”这一理念,并希望在确定任何决议之前收集广泛的观点作为分析基础。在 Google,管理者的角色是一个观点的收集者,而不是决策的独裁者。统一大多数人的意见有时要花费较长时间,但通常可以组成一个更加忠诚的工作组和更为明智的决策。

  不作恶

  很多人曾经对Google的这一口号做过描写,但我们确实试图以此为工作指导,尤其在管理方面。就像任何组织的成员都对他们的观点充满热情一样。但在Google,不会有人反对这一原则,不想其他某些知名技术公司管理习惯那样。我们努力创建一种充满宽容和尊重的工作氛围,而不是让公司里充满满嘴只会说是的人。

  数据决定决策

  在Google,几乎所有决策都是基于大量分析后得出。我们创建了多种管理信息的系统,不止是大方面的互联网,还有内部联网。我们有很多分析师专门研究数据,分析各种执行标准然后总结出发展趋势,从而使我们尽可能地跟上时代的步伐。我们为每个研究项目都建立了大量在线“仪表板”,从中获得最新的状态现状。

  有效地交流

  每周五公司所有员工都集合在一起,共同获得公司公告,业务介绍,解决各种问题(还有一些食物和饮料)。通过这种方式,管理层能够密切接触并及时了解知识型员工的所想,员工也能对管理层的想法有所了解。Google对组织内的信息分发进行了极大的扩展,并重点弥补了少数严重疏漏。与某些外界想法不同,我们认为值得信赖的劳动力才是忠实的工作团队是所有结果的第一真理。

  发展道路上的潜在障碍

  当然,我们公司不止遵守以上规则,其中许多在硅谷非常普遍。同时,我们意识到随着公司的发展,我们必须不断改进自己的管理技术。我们(以及其他类似于我们的公司)还面临很多问题。

  第一就是“技术自大”问题。工程师们之间的竞争是自然的,并且他们难以容忍那些积极性或学识不如自己的人。但几乎所有工程项目都是小组项目,因此小组中出现头脑聪明但顽固不化的人对于整个工作都是致命的。如果我们在一封推荐信中看到“我所见过的最聪明的人”以及“我再也不想跟他们一起工作”的字眼,那么我们绝对不会通过他们的提议。普及同级人员面试的原因之一就是为了确保小组成员热情欢迎新成员的加入。我们的很多优秀员工在小组创建等方面都是楷模,因此我们希望继续保持这种方式。

  与之相关的就是NIH症候群(not-invented-here syndrome,“与我无关综合症”)。一个好的工程师通常坚信自己能够开发一套比现有系统更加完善的系统,并且以“创建而不购买”为信念。当然,他们或许是正确的,但我们却必须以极大的代价关注这些项目。有时这也意味着超出了公司的产品和服务界限。

  还有一个问题也是我们未来几年将要面对,即公司、产业及内部劳动力将最终成熟起来。不止是我们,连同业内其他公司目前都处于一个告诉发展阶段,但这个阶段不会成为永久。我们中的很多员工都是刚走出校园的大学毕业生;其他的都有家庭以及丰富的工作经验。他们有着不同的兴趣和需求,因此我们必须提供可吸引所有年龄段员工的福利和工作环境。

  最后的问题是确保Google成长过程中,通讯程序能够跟的上公司的扩展。周五例会对于山景镇的工作小组非常适用,但是现在的Google已经成为一个全球组织。

  我们一直注重创新和改革,但这并不是Google的唯一。我们还必须管理日常运作,这也不是一项简单的任务。我们将建造比历史上已存的,更加庞大、复杂和要求更加严格的技术基础设施。这些系统必须持续发展不断满足不断增加的一系列要求,因此计划、执行并维护这些系统的人还必须具有强烈的积极性。在Google,日常运作不是简单的事后三思:它们对于公司的成功有着至关重要的作用,同时我们希望在新产品开发中,能够取得像现在的统治领域一样的成绩和发明。

16/8/2008

前天,正儿八经的去体验了一次瑜伽

在错过3次公司组织的瑜伽活动后,偶终于第一次体验了古老而神秘的瑜伽。正如黄飞鸿师父讲的那样,“夏练筋,冬练骨”,在这个炎热的夏天,让偶的筋得到了大大的拉伸。就是姿势实在是有些惨不忍睹。

第一次正儿八经的给开源社区的正反馈

从维护偶的第一个debian包curlftpfs开始,总算给开源社区一个正反馈,正式结束了偶只从开源社区得到而没有反馈工作给开源社区的历史。

dhh@icesnow:~$ aptitude show curlftpfs
Package: curlftpfs
New: yes
State: installed
Automatically installed: no
Version: 0.9.2-1
Priority: optional
Section: utils
Maintainer: Ding Honghui
Uncompressed Size: 111k
Depends: libc6 (>= 2.7-1), libcurl3-gnutls (>= 7.16.2-1), libfuse2 (>= 2.6),
libglib2.0-0 (>= 2.12.0), fuse-utils
Description: filesystem to access FTP hosts based on FUSE and cURL
CurlFtpFS is a tool to mount FTP hosts as local directories. It connects to a
FTP server and maps its directory structure to the local filesystem.

Based on FUSE (filesystem in userspace) and the cURL library, CurlFtpFS has
some features that distinguish it over other FTP filesystems:
* support for SSLv3 and TLSv1
* connecting through tunneling HTTP proxies
* automatic reconnection if the server times out
* conversion of absolute symlinks to point back into the FTP filesystem
Homepage: http://curlftpfs.sourceforge.net

Tags: filetransfer::ftp, implemented-in::c, protocol::ftp, role::program

dhh@icesnow:~$