Category Archives: Programming

iOS工程文件里的的Localizable.strings

要写个自动化生成iOS语言文件的PHP脚本,用vim打开Localizable.strings发现全是乱码,还怀疑是苹果搞出来的特殊二进制文件,没想到用TextWrangler打开完全没有问题,这个文件是小头的UTF-16文件,带BOM头。这样问题就好解决了,用PHP生成文件内容,然后用mbstring转换成UTF-16加上个BOM头就成,但实验了一上午,生出来的文件总是乱码,怀疑是mbstring的问题,然后换成用iconv转码竟然就没问题了,上一小段代码: $bom = chr(255) . chr(254); $string = “\”" . $key . “\”" . ” = \”" . $value . Continue Reading →

Tomcat6的PermGen space错误

最近又要折腾Alfresco,我真服了这一坨坨Java软件了,一个安装包400M,核心包也100M,里面引用的jar就有将近200个,Java就是全球变暖的罪魁祸首。 每次安装Java软件必然要碰到各种各样麻烦问题,这次是4G内存也装不了Alfresco,反复报错:java.lang.OutOfMemoryError: PermGen space,我在终端翻了四五页才看到这个关键错误,前面报的全是反人类的不相关内容。解决办法是给tomcat传个参数进去,我得记下来,下次它肯定还得给我脸色看。 我的tomcat是用jsvc启动的加如下参数: -Xmx1024m \ -Xms1024m \ -XX:MaxPermSize=128M \ 感谢Java,你又浪费了我一个下午。

Moodle Moot 2011

这个博克存在很久了,但很少涉及跟我工作相关的东西:我为一个叫Moodle的开源课程管理软件工作,可能很多人不知道Moodle是干什么的,跟我两年前参加布里斯班Moodle moot时的反应类似,当看到几百号人从世界各地赶到布里斯班参加会议,我非常惊讶,也挺自豪:我写的代码竟然有这么多人在使用,还是世界各地的。 两年后的今天再来悉尼Convention Center参加会议,发现使用Moodle的学校又大大壮大了,澳洲八大名校已有一半迁移到了Moodle(澳洲国立大学,新南威尔士大学,西澳大学和莫纳什大学),使用Moodle的TAFE和中小学更是不计其数,大约40%的学校是Moodle用户,还有个好消息是有更多的学校已经升级到2.0。比较有意思的是在会场还看到一个BlackBoard的展台,不过看上去不是很受欢迎 我来的一个目的是介绍正在开发中的Moodle for iPhone,这一个多月写的我死去活来的程序基本成型了,这个版本的功能不多,主要是Moodle端需要提供更多WebService,这个会在Moodle2.2发布的时候获得改善,做完Presentaion以后反响很热烈,有几个机构询问能否给大学提供定制版本,这对推销学校形象很有力。还有几家关心android版本的开发,可哥近期内可能不会碰android开发,cocoa touch够我喝一壶了。 还有件有意思的事,昨天参加一个session时presenter在facebook里搜索moodle,找到一本书讲解我去年写的一个核心组件 Moodle 2 The File Picker