Easwy的Twitter微博(2011-01-23)

  • [m9] 拿到m9了。总体感觉不错,不过软件的使用感受要比iphone差。似乎没有充分利用触摸屏的优势,很多操作还需要按屏幕下方的菜单键,其实可以做的更简单易用的。 #
  • [生活] m9还没到手。同事比我早预定两天,已经拿到了。他玩了两天后告诉我,"m9没买错,网上说的问题都没出。" 好吧,继续等m9! #
  • 貌似配置的有问题,同步失败….debuging #
  • 设置了#tw2other程序同步twitter到新浪围脖,发一条tweet测试一下 :) #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy-twitter-2011-01-23/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2011-01-02)

  • [生活] 魅9卖的真是火爆,早上收到魅族专卖店的信息,说第一批货已经售謦 :-( 好消息是如果第一批客户在1月5日后取货的话,可以加送一块原装电池 ^_^ #
  • [生活] 收到魅族专卖站发来的短信,说魅9于一月一日正式发布…..希望魅9能不负众望! #
  • [Linux] 这篇文章介绍了Debian/Ubuntu中update-alternatives的用法:http://hi.baidu.com/yulanding/blog/item/71ccaa3d67fc71ce7d1e71d8.html #
  • [网络]太好了,xMarks不会关闭服务了,之前还在考虑到底换用哪种书签同步服务呢 #
  • [生活] 周末看了“让子弹飞”,找到一篇好影评 http://movie.douban.com/review/4534425/ #
  • 刚才看到一个图形化的编程语言:KODU,专门用于游戏开发,似乎是微软开发的 http://fuse.microsoft.com/project/kodu.aspx 现在编程语言的发展正在逐渐降低开发门槛、提高编程效率 #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy-twitter-tweets-2011-01-02/

文章的脚注信息由WordPress的wp-posturl插件自动生成

在Ubuntu上编译Android Gingerbread 2.3.1

前几天下载了Android 2.3.1的源代码并在Ubuntu 10.04(32位)上编译通过。这篇文章简要记录了下载、编译的过程。

关于搭建Android开发环境的文章已经有很多,本文只简要介绍一下,做为备忘。

[ 编译前的准备 ]

这一步安装获取源代码以及编译所需要的软件,使用如下命令:

 $ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev 

另外,参考别人编译Android 2.3的经验,安装了下列软件包:

$ sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6 

虽然Android官方网站上讲不支持Java 6,不过我使用Java 6也可以编译通过,所以在这里Easwy安装的是Java 6。首先去掉/etc/apt/sources.list中这两行的注释,使能Java 6源:

deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner 

然后安装Java 6 JDK:

$ sudo aptitude install sun-java6-jdk 

接下来下载repo工具,这是Google提供的一个Python脚本,方便管理多个Git版本库:

$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo 

记得把repo加到你的路径中,方便以后使用。编辑~/.bashrc,加入下面一行:

PATH=$PATH:~/bin
export PATH 

然后用命令. ~/.bashrc,以后就可以直接使用repo命令了。

接下来获取Android 2.3.1的源代码:

$ mkdir mydroid
$ cd mydroid 
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.1_r1
$ repo sync 

[ 编译Android ]

接下来开始编译:

$ make -j`grep '^processor' /proc/cpuinfo | wc -l` 

上面的命令中,-j参数告诉make启动多个并行任务进行编译,在支持多核的CPU上能加快编译速度。如果你知道你CPU是几核的,可以直接把这部分替换成-j2(双核)。

我在编译的过程中遇到下面的错误:

************************************************************

You are attempting to build on a 32-bit system.

Only 64-bit build environments are supported beyond froyo/2.2.

************************************************************

这是因为在Makefile中检测了CPU的字长。我直接把build/core/main.mk中下面的话注释掉:

#ifneq (64,$(findstring 64,$(build_arch)))
#$(warning ************************************************************)
#$(warning You are attempting to build on a 32-bit system.)
#$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
#$(warning ************************************************************)
#$(error stop)
#endif 

接下来又遇到下面的错误:

Docs droiddoc: out/target/common/docs/api-stubs

Could not load ‘clearsilver-jni’

java.library.path = out/host/linux-x86/lib

make: *** [out/target/common/docs/api-stubs-timestamp] Error 45

make: *** Waiting for unfinished jobs….

Could not load ‘clearsilver-jni’

java.library.path = out/host/linux-x86/lib

make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45

这是由于clearsilver在编译时如果检测到使用Java JDK 6,就使用64位编译。要避开此错误,需要修改下面四个文件:

  • external/clearsilver/cgi/Android.mk
  • external/clearsilver/java-jni/Android.mk
  • external/clearsilver/util/Android.mk
  • external/clearsilver/cs/Android.mk

把这四个Makefile中的下列语句注掉即可:

# This forces a 64-bit build for Java6
# Comment by Easwy
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64 

然后在external/clearsilver目录中执行一下make clean,然后回到项目根目录,继续make即可。

当编译完成时,生成的image文件放在out/target/product/generic目录中。

更多内容,请阅读易水博客上的其它文章。

[ 参考文档 ]

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/compile-android-gingerbread-2-3-1/

文章的脚注信息由WordPress的wp-posturl插件自动生成

在Ubuntu上编译vim 7.3

在Thinkpad T400上安装完Ubuntu 10.04 LTS后,就开始搭建Android开发环境,第一步当然是编译vim。

目前最新的vim版本是7.3,因为从vim 7.3开始已经换用Mercurial做为版本管理工具,我们在下载vim 7.3源代码前,先要安装Mercurial:

sudo aptitude install mercurial
cd ~
hg clone https://vim.googlecode.com/hg/ vim73

执行完上面的命令后,我们就取得了vim 7.3的最新代码,放在目录~/vim73中,接下来准备编译。在编译前,需要安装编译时需要的包,在Ubuntu上用如下命令:

sudo aptitude install xorg-dev libx11-dev libgtk2.0-dev libncurses5-dev 

上面是Easwy在编译前所安装的依赖文件。后来在一篇帖子中看到另一种方法安装依赖文件,可能更方便(未测试):

sudo aptitude install build-essential
sudo aptitude build-dep vim-gtk 

接下来修改~/vim73/src/Makefile,打开自己所需要的功能,Easwy打开了下面这些特性:

  • CONF_OPT_CSCOPE = –enable-cscope
  • CONF_OPT_MULTIBYTE = –enable-multibyte
  • CONF_OPT_INPUT = –enable-xim
  • CONF_OPT_OUTPUT = –enable-fontset
  • CONF_OPT_FEAT = –with-features=big
  • CONF_OPT_COMPBY = “–with-compiledby=Easwy Yang <easwy.mail@gmail.com>”

接下来编译安装:

cd ~/vim73/src
make && make install 

执行完后编译好的vim以及gvim就安装在/usr/local/bin目录中了。将此目录加入PATH即可。

Easwy在编译后,每次运行gvim都会提示:

Warning: Missing charsets in String to FontSet conversion
Warning: Unable to load any usable fontset
Warning: Missing charsets in String to FontSet conversion
Warning: Unable to load any usable fontset
Error: Aborting: no fontset found 

后来在网上查了一下,是因为没有安装libgtk2.0-dev包造成后,安装此包再重新编译后问题解决。

如果你在编译gvim时遇到了问题,可以参考我以前写的一篇文章:vi/vim使用进阶: vim编译中遇到的问题及解决方法

最后,把我们编译的vim 7.3做为Ubuntu中的缺省编辑器,执行如下命令:

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 50 --slave /usr/share/man/man1/editor.1.gz editor.1.gz /usr/local/man/man1/vim.1.gz
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 50 --slave /usr/share/man/man1/vi.1.gz vi.1.gz /usr/local/man/man1/vim.1.gz 

Happy viming!

更多内容,请阅读易水博客上的其它文章。

[ 参考文档 ]

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/compile-vim73-on-ubuntu/

文章的脚注信息由WordPress的wp-posturl插件自动生成

在Thinkpad T400上安装Ubuntu

一直以来,Easwy所使用的Linux发行版都是Debian。因为Easwy喜欢Debian上丰富的软件、便捷的安装/升级方式,以及它所代表的自由精神。前些天,Easwy预定了一部魅9手机,为了充分体验DIY的乐趣,Easwy决定自己为魅9手机编译一个ROM。因为魅9基于Android系统,为了编译Android,Easwy利用周末的时间在自己的Thinkpad T400 AA1上安装了Ubuntu 10.04 LTS版本,这篇文章做为安装Ubuntu的一个小结。

首先在Ubuntu官网上下载了Ubuntu 10.04 LTS Desktop版,刻录后使用光盘启动,我的Ubuntu之旅就开始。整个的安装过程很顺利,不得不说Ubuntu在易用性和用户界面方面下了很大的工夫,它的安装过程以及界面已经可以和Windows相媲美了。感谢Ubuntu把Linux从专业人士的工具变成了普通大众能接受的操作系统,相信在不远的将来,Linux在桌面领域会有更长足的进步。

安装完后,登录Gnome,有一种眼前一亮的感觉,曾几何时,Linux的图形界面已经做的美观如斯。并且现在Linux也非常的易用,已经不再需要费心的去安装/配置各种驱动。对Thinkpad T400的硬件,Ubuntu都能正确的识别出来:显卡(集成)正常、声卡正常、网卡以及无线网卡都可以正常工作,电源管理工作正常(能够正常待机)……

因为Ubuntu以Debian Unstable版本为基础,所以对于拥有Debian使用经验的Easwy来说有一种天然的熟悉感。在接下来的篇幅中,Easwy将简要介绍一下自己所做的一些配置。

[ sudo不需要输入密码 ]

Ubuntu缺省禁止root用户登录。在需要root权限执行命令时,用户需要使用sudo来执行相应的命令。为了在sudo时不需要输入密码,我们首先执行命令sudo visudo,这条命令会用缺省编辑器打开一个文件,找到下面这一行内容:

%admin ALL=(ALL) ALL 

将其改为:

%admin ALL=(ALL) NOPASSWD: ALL 

保存退出后,以后再使用sudo就不需要再输入密码了。

[ 修改更新源 ]

在Debian/Ubuntu中安装或升级软件时,都会自动从你配置的服务器上下载相应的软件,因此选择一个下载速度较快的源就非常重要。

Ubuntu中文Wiki上列出了国内用户常用的源,你可以为自己选择一个最快的源。使用文本编辑器打开文件/etc/apt/source.list,将你所用的源加进去就行了。在这里,Easwy所用的源是台湾的官方源:

$ sudo vi /etc/apt/source.list

# Add your source here...

deb http://tw.archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu lucid-proposed main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu lucid-proposed main restricted universe multiverse 

需要注意的是在添加源时,需要使用正确的版本名。上面源中的lucid就是Easwy所安装的10.04 LTS版本。可以在中文Wiki中找到你所用的版本名称。

配置Thinkpad的小红点

小红点是Thinkpad系列电脑的特色了,想让小红点在Ubuntu下正常工作,需要新建一个文件:

sudo vi /usr/lib/X11/xorg.conf.d/20-thinkpad.conf

# Add following lines...

Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection 

然后重启一下电脑,小红点就可以正常工作了。 在Ubuntu 10.10版本中需要把文件保存为/usr/share/X11/xorg.conf.d/20-thinkpad.conf

至此,Easwy的Ubuntu环境就基本完成了。更多内容,请阅读易水博客上的其它文章。

[ 参考文档 ]

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/install-ubuntu-on-thinkpad-t400-aa1/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-11-28)

  • [Scala] Real-World Scala:很好的系列文章,讲述在真实项目中使用Scala的经历 http://bit.ly/hzTtFL #
  • Real-World Scala: Dependency Injection (DI): http://disq.us/t2iix (@jboner) #
  • [Scala] 很好的系列文章,讲述在真实项目中使用Scala的经历:Real-World Scala(http://jonasboner.com/2008/10/01/real-world-scala-introduction.html) #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-11-28/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-11-21)

  • [生活] 昨天下午深圳地震了,居然一点感觉都没有…刚才在网上查了一下,有三条断裂带穿过深圳市区,深圳具备发生中级地震的地质构造。 #
  • [Vim] 如果想把cscope的输出放到quickfix列表,需要修改cscopequickfix选项的值 (:help cscopequickfix) #
  • [社会] 尽管相当多的中国人对民主有着高度的热情,但是,作为一个具有两千多年帝制历史的古老大国,建设民主体制,路还是相当长。在经历了高度的专制的过程之后,社会极度萎缩,民众是以原子状态生存的,在这样的情况下,不经历一个比较长的公民社会发育期,民主制度即使建立了,民主也难以实现。 #
  • [Scala] 在邮件列表中看到的,返回Seq中所有属于类型T的元素:
    seq collect { case e : T => e} 感慨:Pattern match太强大了! #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-11-21/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的网摘(2010-11-15)

本文是Easwy的网摘(2010-11-15),根据Delicious中的收藏自动生成:

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/bookmark-of-delicious-2010-11-15/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-10-31)

  • [Vim] 我的vimrc和.vim目录已经上传到github:
    http://github.com/easwy/share/tree/master/vim/vimrc/ #
  • [Vim] 因为编译时间较长,现在很少在vim中直接编译,而是新开一个终端,然后将编译输出重定向到一个文件中。在Vi中使用":cf"命令将其导入quickfix列表,就可以直接跳转到出错的代码行 (:help :cfile | :help 'errorfile') #
  • [Scala] scala启动了针对企业的培训、咨询服务,网站http://www.scalasolutions.com/ #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-10-31/

文章的脚注信息由WordPress的wp-posturl插件自动生成