Friday, November 21, 2008
My Linux desktop cannot input Chinese
My Linux desktop cannot input Chinese
Monday, October 13, 2008
GUI code quality meeting minutes
今天进行了开了一个关于如何提高GUI代码质量的会,由于时间比较短,因此只是讨论了关于GUI package和framework版本控制,最终结果还是想我去年年底和郑亦聊天时提的建议,就是对于GUI应该有自己的Road Map,应该确定每个版本的framework应该包括的feature,并且这些feature一定要finalize,不要今天这个说要加一点明天那个要加一点。因此,这样就要求在确定每个版本的framework的时候,一点要仔细分析确定每个版本的feature,千万不能像现在这样,动不动就是这个东西现在想不清,就不愿意想,什么都往后推,结果到后来弄得有些东西根本就没法做。然后对于确定下来的feature做认真的设计和实现,不要动不动就hard code,因为这些东西需要长时间的稳定,这样别人在用的时候才不会总出现需要修改framework的情况。如果当前framework不能满足需求,那要么Cut掉需求,等到下个framework在做,要么自己去做enhance(但是不能提交的Road Map中,只能做Patch使用,也许以后可以Merge到Road map中)。只有这样严格要求才能保证framework的稳定,可维护。早知道这样,早听我的就好了,也不至于现在做的这么被动。现在虽然也想这样做,但不知道最后能不能实现,因为现在GUI组从上到下都已经有了很多不好的习惯,想改哪有这么容易。我现在对在GUI组的工作也不是那么有热情,彻底找不到自己的状态,也许是对GUI彻底失望了吧。
Thursday, October 9, 2008
外国人亲吻面颊礼的由来
下午从厕所出来,看到同道中人竟然有不洗手的,这让我不由得想到为什么老外总是不辞辛苦的在见面时亲吻面颊而不向中国人一样握手,感情他们早就想到了会有人上厕所出来不洗手,这都是为了卫生,避免把别人的东西吃到自己肚子里。
完了,是不是我脑子真有问题了,难怪LG和JQ老说我现在脑子坏了。
Thursday, September 18, 2008
在Linux上挂载另一块硬盘
查看新硬盘信息,这里我的新硬盘是/dev/sdb。
# fdisk -l
添加扩展分区
# fdisk /dev/sdb
Command: n
添加逻辑分区
# fdisk /dev/sdb
Command: l
# partprobe
格式化分区
# mkfs.ext3 /dev/sdb5
Mount新硬盘
# mount /dev/sdb5 /share
添加新硬盘到/etc/fstab文件。
# fdisk -l
添加扩展分区
# fdisk /dev/sdb
Command: n
添加逻辑分区
# fdisk /dev/sdb
Command: l
# partprobe
格式化分区
# mkfs.ext3 /dev/sdb5
Mount新硬盘
# mount /dev/sdb5 /share
添加新硬盘到/etc/fstab文件。
Wednesday, September 10, 2008
Monday, August 18, 2008
Windows XP上查找已安装的更新
Windows XP上查找已安装的更新
打开注册表编辑器,查找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP下的所有项。
打开注册表编辑器,查找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP下的所有项。
Friday, August 1, 2008
使用Greasemonkey插件创建自定义的YUI文档页
最近在使用YUI做一些demo,在查看在线文档的时候发现YUI的文档给的格式非常不适合阅读,和Dojo,Jquery等的文档根本就没法比,于是就想到使用Greasemonkey(一个Firefox的插件)来创建符合自己使用习惯的YUI文档。
编辑完脚本再次访问http://developer.yahoo.com/yui/docs/*,就会发现文档页上左侧长长的列表项已经可以展开/合并了。
- 首先是安装Greasemonkey插件,安装完毕重启Firefox后会在有下脚出现一个小猴子的图标。
- 右键选择图标,在弹出菜单中选择New User Script,会弹出一个窗口,然后在弹出窗口中输入Name=YUI, Namespace=YUI, includes=http://developer.yahoo.com/yui/docs/*,然后Close窗口。
- 如果是第一次使用,还会弹出一个窗口,让输入编辑器的路径,在Linux上就可以输入/usr/bin/gedit等自己喜欢的编辑器。当然以后也可以通过Firefox的about:config中的greasemonkey.editor来修改。
- 接下来就是写JavaScript的代码来修改YUI文档。右键选择图标,在弹出菜单中选择Manage User Scripts,在弹出窗口左侧选中YUI,然后现在窗口底部的Edit,此时会弹出配置好的编辑器来编辑用户脚本了。
// ==UserScript==
// @name YUI
// @namespace YUI
// @include http://developer.yahoo.com/yui/docs/*
// ==/UserScript==
var sFunction = "";
sFunction += "function switchStatus(id) {";
sFunction += " var ele = document.getElementById(id);";
sFunction += " if (ele.getElementsByTagName('ul')[0].className == 'content') {";
sFunction += " ele.getElementsByTagName('ul')[0].style.display = 'none';";
sFunction += " ele.getElementsByTagName('ul')[0].className = '';";
sFunction += " } else { ";
sFunction += " ele.getElementsByTagName('ul')[0].style.display = '';";
sFunction += " ele.getElementsByTagName('ul')[0].className = 'content';";
sFunction += " }";
sFunction += "}";
var oHead = document.getElementsByTagName('head').item(0);
var oScript = document.createElement("script");
oScript.language = "javascript";
oScript.type = "text/javascript";
oScript.id = "myjs";
oScript.defer = true;
oScript.text = sFunction;
oHead.appendChild( oScript );
var eleDivs = document.getElementsByTagName("div");
for(var i = 0; i < eleDivs.length; i++) {
var eleDiv = eleDivs[i];
if (eleDiv.className == "nav") {
eleDiv.style.float="left";
eleDiv.style.position="fixed";
eleDiv.style.overflow="scroll";
eleDiv.style.top="100px";
eleDiv.style.left="10px";
eleDiv.style.height="500px";
var eleModules = eleDiv.childNodes;
for(var j = 0; j < eleModules.length; j++) {
var eleModule = eleModules[j];
if (eleModule.className == "module") {
eleModule.id = "xxx_" + eleModule.getElementsByTagName("h4")[0].innerHTML;
if (eleModule.getElementsByTagName("h4")[0].innerHTML != "Classes") {
eleModule.getElementsByTagName("ul")[0].className="";
eleModule.getElementsByTagName("ul")[0].style.display="none";
}
var sLink = "<a href='#' onClick=\"switchStatus('"+eleModule.id+"')\">"+eleModule.getElementsByTagName("h4")[0].innerHTML+"</a>";
eleModule.getElementsByTagName("h4")[0].innerHTML = sLink;
}
}
}
}
Subscribe to:
Posts (Atom)