Time Enough For Love
Header

花了一个晚上 终于把iphone的这套open source的dev tool-chain在我的ubuntu 8.04上安装成功..等我把object-c的语法熟悉一下就可以开始给iphone写程序了  嘿嘿

 基本步骤按照iphone-dev的这个wiki来就行
http://code.google.com/p/iphone-dev/wiki/Building

首先apt-get install安装一下flex和bison  8.04里的版本要比那个wiki里写的高
其他的步骤就完全follow那个页面的来
因为我在外接硬盘里已经装了个可以跑的Mac OSX 10.5 并且也装好了iphone的sdk包  直接把10.4的sdk拷过来就可以了  然后iphone的文件系统直接wifi全部拷过来 总共也就几百M的样子

在编译odcctools的时候碰到错误不能继续
make的时候提示说-Wno-long-double这个选项无效   google了半天  发现这个选项之前似乎只在mac系统里才有用..囧  而且还追到了gcc的bug列表 但是里面标的bug是在gcc 4.3里的…
也灭有看到什么patch可以解决   但是这个其实只是一个编译时候的warning选项  关掉它对程序完全没有影响 所以….直接把所有含有-Wno-long-double的都干掉:
在iphone-dev/build/odcctools目录下运行

grep -R "Wno-long-double" *| sed -i ‘s/-Wno-long-double//g’

然后再make && sudo make install把   我这样改了之后就没有问题了
另外就是最后编译llvm-gcc-4.0-iphone那个东西的时候  要注意iphone的文件系统里要有usr/lib/libc.dylib这个文件  iphone上这个文件本来只是symbolic link的 我用scp或者lftp的mirror拷回来会变成同样大小的新文件 不知道怎么拷贝link下来..囧

现在我已经编译好tool-chain并且编译了一个helloWorld传到我的iphone上  可以正常运行!
基本的程序例子参见这里http://wiki.iphonegameover.com/Programming_Tutorials
另外要想程序出现在iphone的桌面上(springboard)参考这里的介绍 http://www.cocoachina.com/bbs/read.php?tid-52.html
打算以后写一个脚本来建立这些文件 整合到Makefile里就可以了

关于tool-chain开发和iphone官方SDK开发  我打算还是先用tool-chain来写 毕竟2.0固件还在测试 没有定型 而且SDK写的程序还要搞到AppStore去..国内用户一时半会还不能使用的说

emesene使用技巧

四月 29th, 2008 | Posted by Daniel in 术业 - (2 Comments)

emesene是我现在用的msn客户端  比pidgin对msn的支持要好  而且界面也很好看  非常的不错
有几个小tip 记一下先

显示msn群里发言人的名字: 
     参考这里这里 , emesene官方的开发人员认为这是个并不安全的hack, 所以只会考虑将来以可选插件的形式提供支持, 当然对于个人使用, 自己修改一下可以用就ok了.如果是从源码自己编译的,参考第一篇文章修改,如果和我一样是直接在Ubuntu里通过源apt-get install的,参考第二篇文章修改,文件在/usr/share/emesene/emesenelib/里.

编辑/usr/share/emesene/emesenelib/Switchboard.py,找到

charset = ”

在下面添加三行代码:

 if ‘P4-Context’ in header:
     nick = nick + header['P4-Context']
     body = header['P4-Context'] + ": " + body

也就是变成这个样子:

                except IndexError:
                    charset = ”
               
                if ‘P4-Context’ in header:
                    nick = nick + header['P4-Context']
                    body = header['P4-Context'] + ": " + body 

                self.emit(‘message’, tid, nick, body, format, charset)
                self.msn.emit(‘message-received’, tid)

     必须要注意的是修改的时候, 要保证代码和其他代码行对齐, 因为这不是C的格式而是python, 我在vim里面修改, 默认的空行和缩进都是不对的, 要手动调整到和之前的if 格式对齐才可以, 否则修改之后是无法正常启动程序地….

另外就是对话的时候那个显示说话人的格式, 本身提供了default, irc, gtalk, messenger和pidgin这几种选择,但是似乎我都不满意, 之前pidgin的那种格式挺好看的, 用蓝色和红色把自己的名字和对方的名字分开, 但是这里默认的pidgin格式仍然是输入的文字和名字在同一行, 看起来非常不习惯, 怎么办? 改之!

修改conversation layout theme非常简单, 以我的Ubuntu为例, 格式文件在/usr/share/emesene/conversation_themes下,修改pidgin那个格式的theme文件即可

可以发现格式非常简单, 类似html的语法, 所以只用在incoming和outgoing两行里面的 %nick% %says%: </span></span>后面加上一个<br/> 就可以产生一个回车 那么聊天的内容就会另起一行显示了:)

还有就是我用的是黑色背景, 所以聊天的窗口背景是暗黑色的, 默认的那个蓝色和红色显得不好看, 要修改也很简单, 在上面那两行的style="color: #*"这里换成自己定义的颜色就可以了
我现在用的是 #F47373 和 #A0C6EE 配合黑色背景看起来舒服多了 呵呵

爱生活  爱linux

HOWTO live in Ubuntu v2

四月 5th, 2008 | Posted by Daniel in 术业 - (0 Comments)

今天打算重新分一下区 然后革掉装新的Ubuntu 8.04 beta 先更新一下这个列表免得自己忘记了
与前面我那一篇HOWTO live in Ubuntu比较 有了一些变动
1. IM聊天: emesene/eva.  之前一直用pidgin是因为它可以同时支持好几种协议, gtalk/msn/aol等等通吃, 但是后来经同学介绍发现了 emesene 这个东西, 是专为登录msn开发的, 界面好看, 功能也挺不错 所以我现在基本上只用这个再加上eva登录qq了. Pidgin的优点是通吃, 但是也因为通吃导致对每项协议的支持都不能做到100%支持, 比如到现在似乎还没有正式支持msn的自定义签名显示和修改

2. bt: Deluge. 以前用transmission 现在transmission已经成为8.04默认自带的bt下载程序了呵呵 还是很有前途的 但是现在的版本还没有支持DHT 而Deluge界面也很简洁 比Azerus又轻便一些 支持DHT 也有不少其他插件 实际用的情况看 速度是非常理想的

3. 听歌: Exaile. 以前用audacious 听歌是足够了 但是现在想听shoutcast上的网络电台 发现exaile这个对Amarok的GTK克隆版 支持音乐库 装一个插件之后就可以听网络电台 我现在基本上是天天都开着它听歌了..不直接用Amarok的原因..要装它似乎要装上一堆依赖的KDE包 太庞大了 实在没有必要

另外有个小问题  是关于中文歌曲的tag显示 现在也只有audacious有选项可以读取部分gbk的tag 其他的播放器都会出现乱码  这个问题是中文歌曲本身tag编码的混乱造成的  好在有一个工具叫做mid3iconv
可以将所有gbk的tag编码转为utf-8的 这样就没有问题了

4.awn 更新. 之前用的awn-curves 是一个分支版本  而现在这个版本的部分代码已经进入awn的trunk里面 可以在gconf里调出这个效果来 但是还是有不少bug  所以现在暂时放弃awn-curves 回到更稳定的主trunk来 至少不会像以前那样经常出现程序崩溃退出的情况

我用的是微软的IE 4.0 鼠标, 在ubuntu里用firefox看网页的时候  觉得中间滚轴上下滚动的速度太慢 而找遍整个gnome的设置 也没有发现在哪里可以修改鼠标的这个配置
google了半天  在Ubuntu的launchpad.net里发现了这样一个帖子 Change scroll wheel speed
似乎还没有办法可以一次性修改全局设置  但是对firefox有单独的修改办法
Cesare Tirabassi

said
on 2007-07-05
There must be a key in Gnome to set the amount of scrollable lines (I know its 3 by default) but can’t find it in the registry.
I found a couple of keys which works for firefox (about:config):

mousewheel.withnokey.sysnumlines
mousewheel.withnokey.numlines

The first if true uses the system value (as I said 3 by default), if false uses the value of the latter.
If you set the latter to 1 it will be somewhat slower.

在firefox的地址栏里输入about:config
找到mousewheel.withnokey.sysnumlines 改为false
然后mousewheel.withnokey.numlines改大一点  我是改到了15 这样看网页的时候需要滚动就快很多了

https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/141001
我的compiz一直用的是gtk-window-decorator而没有用emerald
经常发生的状况是启动后所有程序的标题栏字体变得出奇的大
必须要把Appearance里改成None再改回来才正常
这是compiz的一个bug 参见以上的连接
应该是compiz没有接收到gnome的屏幕DPI参数
可惜目前compiz还没有相应的升级可以修补这个bug
但是有人给出了一个workround

jasbur

wrote
on 2007-10-16:
It
is a dpi problem. Apparently it has something to do with compiz
starting before gdm ( or the other way around). drvista on the ubuntu
forums managed to find a fix though. It worked for me at least.

In /etc/gdm/gdm.conf change:

[server-Standard]
name=Standard server
-command=/usr/bin/X -br -audit 0

to

[server-Standard]
name=Standard server
-command=/usr/bin/X -br -audit 0 -dpi 96

修改/etc/gdm/gdm.conf文件里相应的行 重新登录一次 应该就没问题了

HOWTO live in Ubuntu

一月 31st, 2008 | Posted by Daniel in 术业 - (4 Comments)

来UK以后发现学校机房里全是用的linux 心里那个爽
所有的作业和上机实验全都在linux下完成 作业也是只在线提交电子稿
于是在我的本本上用ubuntu生存到了现在..随手记一下平常用的各种软件
除了玩一些游戏 还需要windows以外(这还是跟硬件厂商的驱动有关) 我真找不到使用windows的理由

1. 浏览器: firefox. 加上几个插件之后非常顺手, 比如gmail manager检查邮箱, adblock plus挡广告, web developer看网页结构 等等

2. IM聊天工具: pidgin, eva. pidgin基本上就可以通吃了, msn/yahoo/gtalk/qq等等帐号同时登录, eva是专门的qq, 功能实现的比pidgin多, 两个都可以开, 自己选了

3. 字典: stardict. 这个没啥好说的, 也可以在线取词. 以前的版本里在线取词和compiz fusion会有冲突, 最近的版本里解决掉了这个bug

4. 听歌: audacious. 还有很多其他的选择,比如以前的bmp 现在的bmpx等, 各有所好了. audacious有个插件可以把程序缩小到notification area里去的(就是托盘区) 类似foobar. Audacious 1.4新版本里面应该会有我的id..我是简体中文界面的翻译者之一…

5. 媒体播放: 当然是mplayer+smplayer. 装上w32codec包就通吃了, smplayer是一个新的mplayer前端, 一直在用, 还挺不错,界面像media player classic. 其实重要的是smplayer在对字幕和xgl+compiz/beryl的支持上好一些, mplayer在xgl+compiz下视频输出和全屏有点不顺

6. 输入法: scim. 这是标配 当然你也可以用fcitx 最近新出了一个输入法 可以尝试

7. 写LaTex文档: Kile. 懒人如我, kile提供的自动补齐功能是我最大的动力….当然在ubuntu默认的gnome环境里kile需要稍微小配置一下, 比如spelling检查, 查看pdf的外部程序相应的改成gnome里的程序

8. 编程: Eclipse + emacs + vim. 写java当然eclipse, 为了偷懒也可以用来写C(其实是为了读代码), emacs写程序还是很爽的, 格式看起来也舒服, vim就用来写写bash脚本或者perl了, 主要用来改conf文件的…

9. 管理ipod: gtkpod. 导歌建playlist编辑tag啥的绰绰有余

10. bibtex管理: JabRef. 写论文时候参考文献必不可少阿..

11. 网页编辑: KompoZer. 这东西不错, 有个小的css编辑器,也有可见即可得的编辑

12. bt/emule: bt我用transmisson, 因为小巧, 本身是从mac系统发展过来的程序, emule用得不多,但是人人都推荐mldonkey

13. 无线连接管理: Wicd. 这是个好东西阿,推荐一下,使用也挺简单,gnome本身没有很直观的管理工具,很奇怪..network manager并不好用..个人喜好

14. 蓝牙: blueman. 当然ubuntu自带的一套蓝牙程序也需要. blueman这程序界面简洁,使用方便,偶还跑去帮忙做了整个界面的中文翻译…

15. 终端: tilda. gnome-terminal这么笨重的东西当然不用了, tilda这个终端就像quake游戏里面的控制台, 可以按热键呼出/隐藏, 还有下拉的动画效果,就它了. 0.9.5之前的版本和compiz/beryl不兼容, 下拉的动画效果之后会变灰白, 0.9.5版本就完全ok了. 我都在学校机房自己的帐号里编译了tilda 给自己用..

16. 装酷: 这个应该放在第一个说, 现在的ubuntu下 xgl/aiglx + compiz fusion/beryl的视觉效果, 绝对全面超过了vista和mac, 各种特效眼花缭乱, 我就不多说了-.- google一把视频一堆 想拿来炫 肯定没问题
再加上avant window navigator 和mac的dock类似的管理条 完美了

Performance Optimization WordPress Plugins by W3 EDGE