其实很早以前就找到解决方案了,只是一直没记录下来,害的我前几天写程序的时候又找了一大圈,现在学乖了,写下来吧。用的是 Python 语言,嗯。
其实很简单,直接用 open 打开的话,好像用的是系统的编码或者什么别的方法来确定编码的,但是如果是 utf8 的文件可能会出错,说可能是因为它有时候不出错,汗。这时用 codecs 库里面的 open 方法即可,它的第一个参数是文件名,第二个是打开模式,第三个参数是文件编码,文件打开后会以 utf8 的格式存入变量,然后就可以处理了,嗯。
在单位调程序,加了 -g 的参数,但是要把可执行文件从别的机器拷过来,但又不想把整棵源文件树拷过来,只拷了个别要调的文件,于是出现了要在执行 gdb 前设置一堆 dir 的事情,每次都做做了一天,实在受不了了,于是上网找,还真给找到了脚本。
其实很简单,在当前目录下放个 .gdbinit 文件,则 gdb 在启动的时候会自动读入里面的内容,并且执行它,所以只要把 dir 命令放到里面就行了。还有一种方法是进 gdb 后用 source 命令来指定要执行的脚本文件。于是乎用 find . -type d 把目录输出,其实是想找条命令把输出用 : 接起来的,但那会没找到,于是用 vim 的全局替换了,反正能用就行。剩下的,就调程序吧,不知道 GDB 有没有啥命令可以把文件树整个给搬个家的,有空再找吧,呵呵。
最近想在自己机器上装个v6的协议栈做开发,但是单位装机的thinkpad上居然没有v6的协议栈,真郁闷,只好自己装,可惜在ipv6 install的时候,给直接报了个错,Error 0x800704b8,这回可是碰到问题了,一开始以为是机器权限的问题,可是问了旁边那哥们,他说他装上了,用的某条命令后,但是命令忘了,于是 google 之。
其实,碰上这个问题的人很多,那条命令也很简单。问题是windows安全数据库出问题了,Windows安全数据库,在%WinDir%\Security\dat abase里,具体存放的内容,暂时没时间去找,呵呵。Windowz提供了一个 esentutl 的工具用以检查修复这玩意。具体用的到的命令是 esentutl /p %windir%\security\Database\secedit.sdb ,/p表示修复,后面是具体的数据库,然后再安装,于是就行了。
汗Windowz,好歹也说清楚点出错的地方啊……
报名了今年的GDD,于是就过去看看了。
早上和平时上班一样的点起床,蹬车去玩亚运村那边。诶,由于某些原因,那边的路叫一个绕啊,还好绕着绕着就找到路进去,没发生看着会场就在对面还进不去的惨剧。
进去后,签到,排的那个队居然系统出了问题,郁闷的不行了,到后来换了两个队才弄完,旁边 一工作人员让后面来的先去旁边拿点饮料边喝边等,后来中午听说有人没拿到餐 券,看来在那排队是正确的选择,虽然中午的饭也一般,8过那是后话了,呵呵。在排队的时候居然看到了apt,呵呵。
开始照例是开复的讲话,和去年差不多,嗯。话说开复出来的时候,那叫一个掌声雷动啊,呵呵。所不同的就是去年的会场比这个要小。去年是在北京新世纪日航饭店,今年弄到 了国际会展中心。应该是第二次在会展中心参加G的活动了,上次是那个啥互联网论坛。场地是大了,效果也比上次差了不少,开复讲了几句,就把话语权给了号称G第一个女性 工程师,好像是产品经理啥的吧,记不清了,呵呵。然后伊就开始讲,主要是大概介绍一下产品,然后讲到一个就从下面拖一个专家上来讲,满不错的安排。总有三块投影幕布, 中间一个放的是演讲者的幻灯,一般是鸟语的,两边两块是中文的,NND也不知道是哪个脑残的人做的,用啥字体不好用宋体,细的和啥一样,在后面根本看不清,你好歹也用 个黑体啊;中间的投影字倒是能看清,但也不知道谁管的灯光,N盏灯照在演讲者那边,人倒是看清楚了,片子看的那叫一个费劲啊,诶。
这个完了就是分会场,上次好像是分了两个分会场,这次分了四个,外加两个代码实验室。感觉这次几个分会场的一些演讲主题和分会场的主题不一致,像上午云计算移动平台的 两场,一个讲云计算的结构,一个讲的机器学习,和移动应用基本上扯不上边撒,诶。
听的第一场是云计算的架构和基础软件,P大数学系毕业的一哥们讲的,主要是介绍了GFS+BigTable+MapReduce ,GFS就是G自己的分布式文件系统 ,在一开始做搜索的时候,针对搜索系统的东西对文件系统做了优化,主要考虑的是大文件的存储以及对文件的操作多为追加的情况。还说了说G的文件系统的结构,一个Mas ter负责维护GFS系统的运转,然后一堆 Data Server 用来存放数据,它是把数据分成大小相同的块,好像今天是这么说的,然后一份数据存三份用于备份。 数据只在Client机器和数据服务器间传输,Master不参与数据传输。然后就是 BigTable,一个三维的数据映射关系,用以替代关系数据库,三个键值忘了,呵呵。MapReduce 就是把一个操作分到N台机器上去做,然后再在另M台机器上 进行数据挖掘,最后发到一台机器显示,感觉就是一个数据挖掘的过程,有点像上次看的MPI里面的Reduce,呵呵,也不知道是谁借鉴谁的。顺便提一下,这场的人叫一 个多,反正我是在站在门口听的,满不错的,嗯。
这一场没听完就撤了,去了别的会场,本来是想去听应用平台主题的,于是跑到那边,结果等上一个哥们讲完了,再仔细一看原来是讲GWT,于是赶快就撤了。转了一圈最后去 听了社区平台的东西,说的是把自己的网站加到OpenSocial的容器中去,讲的满搞笑的,Chris Schalk和沈翔。不过内容倒是没怎么听,因为都是偏概念 的东西,而且我个人对SNS倒真的没啥爱。所以听了一半直接闪人,也算是给那些站着的人空个位子出来,呵呵。然后去地理API那边转了转,人好少,不过也没细听就撤了 ,跑代码实验室转了转,结果发现讲的东西都用过了,继续闪,在移动平台那块门口转了转,讲机器学习,片子上大把的公式,把我雷到了,只有闪。闪出来没到吃饭的点,于是 在外面傻傻的坐着,想找个认识的人搭讪,可惜未果。
好不容易等到吃饭点了,跟着大部队去吃饭(顺便说一下,一楼有个EMC展会,我们一票人就大摇大摆的从人家展会那穿过去了,还由于场地问题在那交通堵塞了N久,想想都 汗),饭嘛,盒饭,一盒饭加两个小馒头,菜里面一个炒素菜,一个鸡腿,一个大概是洋葱炒牛肉,把牛肉挑吃了,不吃洋葱,木办法,呵呵。中午吃饭的人那叫一个多啊,排了 三个队,拿到饭后还等了N久才有地方坐下吃。排我前面的是一个exoweb的mm,好像是来迟了木有餐券,于是就木有吃上,也不知道是怎么解决的。还有个不爽的就是大 概排到后来没有饮料了,只好给我们每人一瓶水,本来是有个小盒装的鲜橙多的,诶。在身后人虎视眈眈的目光下吃完饭,赶忙起身让位,呵呵。看看时间也不算太早了,直接就 去下午的会场了,听的是实现平台的东西。
下午第一场是讲Google Gears,几个demo看下来,唯一的想法是很好很强大,呵呵。一个是桌面快捷方式,有点像Mozilla Lab的prism,不知道这两个有啥区别,反正我是都 没用过,有空试试;第二个demo是上传文件,一次传一堆,也满好玩的,不过好像在好看簿有看到过,应该用的 不是gears;第三个是脱离浏览器的Alert等东西,也满好用的;第四个是和WiFi的运营商啥的一起,定位后查找周边,就这玩意引了一堆人问,能操作这个东西还 是满不错的。反正给我的感觉不错,一开始还以为就是离线浏览的呢,没想到现在有这么多功能,嗯
第二场讲的是GAE,可惜已经用过了,限制太多,不说啥了,不知道能不能在上面布置非阻塞的web fetch进程,要不然肯定过不了它的时间限制。会后和Tom聊的时候说到一次Data View出了500的错,可惜那会没细去想,没准还是个bug呢,呵呵。
然后,和apt聊了聊,再然后,我有事就闪人了,嗯。
总结结束,差不多就这样了吧。有几点感想:
1、碰到老外,还是会结巴啊,要练口语了,诶
2、最受不了那帮自我感觉良好,然后操着各种口音的英语说着国人和老外都听不懂的鸟语的人,估计主持人都想来一句,您还是说中文吧。
PS:刚去瞅了一眼,上次申请的GAE还是三个App诶,不错不错,刚用掉一个还有俩,做点啥呢……
上个月29号入职,到今天,应该算是一个月了吧,上班一个月,还是有点感触的,最大的感触就是,现在已经没有别人再会为你的行为买单了,责任重了,不像在学校了,呵呵 。交流的能力也很重要,嗯。
这几天在调程序,感觉跳到一个文件中再去给它下断下麻烦了,于是想着怎么在开始的时候把文件的断点给下了。看了看help,果然有这种方法,其实说起来也很简单,就是 在下断的时候,前面加上文件名,如b[foo.c]bar,后面可以用函数名,也可以用行号,很简单,但是很方便。
虽然前几天[折腾上了muse](http://hzmangel.cn/2008/05/26/using-muse-in-emacs-under- windowz/),但是又在网上看到了另一个org mode,而且以前也看别人提过一次,说它的表格功能很好用,所以心又痒了,于是乎,下载,安装。
和muse一样,解压后,在配置文件中加上两行就行了,一行指定org的el文件存放的位置,另一行设定对于org后缀的文件,使用org-mode打开。
新建一个foo.org的文件,然后开写,用的也是类似outline的模式,而且对每级都有不同的颜色,好看。比较方便的是光标放在哪个标题栏上按<TAB& gt;可以控制此级标题的显示与隐藏,很方便的一个功能。还有就是在它下面可以用-/+/*来显示无级列表,用1.来显示编号的列表,写完一个列表后按<M-C R>,它会在下面给添加一个同级的列表,如果是无序的则加一个标记,如果是有序的则数字加1,然后按<M-LEFT>和<M-RIGHT&g t;可以控制列表缩进的层次,说真的,比Word下那让人莫名其妙的列表层次要好多了。它还支持导出,<C-c><C-e>后会有一个buf fer告诉你有啥命令可用,可以导出的格式还是满多的,不过目前我的需求,大概就是HTML了吧,还没弄明白能不能给代码加高亮,过过再折腾吧,最近先用它来记笔记。 一会再看看用它来做一下TODO。
再说说表格,由于目前还没怎么用到表格功能,所以只是从教程中感受到了它的方便与强大,而且还有计算功能,过段时间再折腾吧。
发现自己已经开始逐渐喜欢上了这个邪恶的Emacs了,呵呵。
网上找了一堆东西,都说要make啥的,实在不想再去整个cygwin/MinGW啥的了,于是继续转,转了一大圈,感觉还是自己去看目录啥的有用。在里面转了转,发 现它的el文件只在list文件夹下,于是直接把lisp那个目录拷到.emacs.d目录下,然后开始改.emacs文件。
按着网上的,在配置文件里面加了几行:
(add-to-list 'load-path "[path to Muse]") (require 'muse-mode) ; load authoring mode (require 'muse-html) ; load publishing styles I use (require 'muse-latex) (require 'muse-texinfo) (require 'muse-docbook) 第一行是说需要把muse读进来,第二行是一个muse-mode,然后下面几行就是需要用到的输出格式,具体的,我还没去折腾,再说,再说。
这段时间想折腾Linux,最终选择了gentoo,尝试一下这个传说的发行版。
由于手边没有光盘,也不想浪费光盘了,所以就用上了前段时间做好的可以GRUB启动的U盘。在gentoo的官方wiki上用的是syslinux,但是它的官方发布 包用的是GRUB,于是只好再去找,后来找到一篇别的文章,得知,原来很简单,只要把文件都拷过去,然后用GRUB启动,那个menu.lst还是没有找到,只好手动 输入那一大堆命令行参数,还要检查是否有错。不过弄完就可以进去系统了,不知道为啥机器不能用X,只好在命令行下把东西装完了。
装的过程其实很简单,按它的handbook做就行了,先分区,然后把文件系统挂载到/mnt/gentoo目录下,然后解压stage3(官方的handbook是 用wget下载的,我是先用thunder下载到机器上然后cp的,嗯),再是Portage,弄完后就可以用chroot到新系统上去了,然后下载linux- source,编译,链接,说一下,make -j 4还是很爽的,呵呵。然后就是配置fstab,再配置网络,具体的内容,在学习中,以后再说,呵呵。
折腾了几天,终于差不多把U盘上的GRUB弄好了。其实,没网上说的那么麻烦。主要步骤就是先把U盘格式化,一开始我用的是FAT32,后来大概是操作有误,发现弄不 了,然后在Linux下用mkdosfs把它弄成FAT16了,反正后来能用了,也不知道一开始是FAT32不行还是操作不对。然后把Linux下的那些个文件,主要 是/boot/grub/下的那几个文件拷过去,然后找个grub环境,进去,root一下U盘,然后setup一下U盘,就行了,嗯。过几天试试用FAT32行不行 ,应该不会有问题的,我感觉。