胡骊 发布的文章

昨天终于在CentOS 5.4上把G1的USB Tethering(USB共享)搞定了。花了两个星期都处理不了的问题,其实就是驱动问题。去找了个驱动装一下就解决了。只需要执行一下以下脚本即可:
# wget http://downloads.sourceforge.net/synce/usb-rndis-lite-0.11.tar.gz
# tar zxf usb-rndis-lite-0.11.tar.gz
# cd usb-rndis-lite-0.11/
# make
# ./clean.sh
# make install

执行前,最好现把以下文件备份一下,以防有什么问题:
/lib/modules/2.6.18-164.el5/kernel/drivers/usb/net/cdc_ether.ko
/lib/modules/2.6.18-164.el5/kernel/drivers/usb/net/rndis_host.ko
/lib/modules/2.6.18-164.el5/kernel/drivers/usb/net/usbnet.ko

G1用USB数据线接到电脑上,开启USB Tethering后,执行“ifconfig -a”就可以看到多了一个rndis0接口了。再执行一下脚本即可利用G1上网:
# dhcp rndis0
# ifconfig rndis0 up

如果只是想让G1与电脑处于同一局域网内,不执行上面的语句,而执行以下脚本:
# ifconfig rndis0 192.168.77.100 netmask 255.255.255.0
# ifconfig rndis0 up
其中IP地址的设置,可以先查看G1的usb0的IP地址,如192.168.77.254,再选一个同一网段的IP地址,如192.168.77.100。

查考的网页如下:
1)HTC Tattoo (usb0 did not show up)https://www.centos.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=24127&forum=40
2)SynceInstallation/Debian
http://www.synce.org/moin/SynceInstallation/Debian

大概是几个星期前把《Honey & Clover》动画版看过,情绪低落了好几天。今天又把日本电视剧版的前两集看了一下。虽然开头“囧”了一下,但是还是免不了伤感一番。

竹本的含蓄自卑、阿久的天真烂漫、森田的率直感性、真山的沉默镇静、山田的含羞柔弱……构成两个三角恋。故事的结局是五人踏上追寻幸福的路,让人伤感着微笑。看着,不知不觉地把曾经的自己当成竹本,站在角落里看着森田与阿久而心痛。现实与故事的结合更让人伤心。

《Honey & Clover》,一般中文名为“蜂蜜与四叶草”。虽然Clover的中文意思为“三叶草”(又叫“苜蓿”),但是长出四片叶子的三叶草含义是幸福,与作品本意更贴切。作品的完整介绍:http://baike.baidu.com/view/163914.htm

动画版中,阿久没什么亮点。反而森田更值得吸引——表面上的嘻哈掩盖心里的一切。就是因为这种性格,扭转了许多尴尬场面的气氛。

动画版第一季结束时,竹本在灿烂的烟花下,很自然地向阿久告白。在阿久说出“谢谢”后落幕。虽然在问题都没有解决的情况下结局,但这是最完美的结局。因为可以留巨大的空间给观众去构造各自想要的结局,同样很多伟大的艺术作品正是因这种不完美而伟大。可是,动画版有个第二季,阿久因意外受伤,标志着整个故事的走向作者所制造的悲哀结局。这结局,不提了。

真人版方面,包括电视剧版和电影版,很大程度上改变了动画版中的人物设定——除了外貌,还有性格。说说电视剧版吧。森田又成为亮点了,成宫宽贵的表演可圈可点,但是总觉得跟《血色星期一》的神崎润(J)有点像。而成海璃子的演出还是有点嫩(毕竟当时只有15岁),虽然某些镜头还是表现出阿久的甜美,但是没有动画版中的可爱味道了。当然,苍井优的阿久还是最棒的(电影版最后一幕,苍井优的微笑还在脑海里漂浮)!!!

PS. 记得当年(估计是大三)时,看完电影版,就嚷着要看动画版的。想不到一晃又三个年头了,回头一看,感觉时间过得真快。

昨天,一星期难得一天的假期,全耗在usbnet上。最终还是没找到解决方法,我的G1还是不能在CentOS上通过USB共享无线网络。网上找到有讨论,说升级了内核后,就轻松连上了(该讨论的地址:http://www.centos.org/modules/newbb/viewtopic.php?topic_id=24127&forum=40#forumpost95581。虽然该帖讨论的是HTC Tattoo,但跟G1是一样的)。果然2.6.18的内核太年迈了,但我又不想更换内核,于是时间都白搭进去。

在找的过程中,发现有人讨论OpenVPN在Android(特别是在CyanogenMod Rom)上运行。相关讨论几文章如下:

1)CM的OpenVPN设定指南:http://www.androidin.net/bbs/viewthread.php?tid=60483&extra=&page=1

讲述N1上设置内置的OpenVPN,被网友多处转帖。我用的CyanogenMod-4.2.15.1也集成OpenVPN的支持,就是一直没搞过。该设置最麻烦的地方是导入证书。Android只支持PKCS12格式的加密证书,于是需要转换格式。看过一些文章后,终于转换出.p12文件(参考:常见证书格式及相互转换)。导入格式还有个问题,原来CyanogenMod Rom只能导入文件名为certs.p12的证书,这个我看了源码才知道,杯具~~更杯具的是,发现我申请的OpenVPN没有提供用户证书及密钥,于是不能用这种方法进行设置。
导入证书的相关讨论:
How To Install Openvpn Certs?:
http://forum.cyanogenmod.com/index.php?/topic/1732-how-to-install-openvpn-certs/page__p__30859__hl__openvpn__fromsearch__1s
installing cert and key for openvpn:
http://forum.cyanogenmod.com/index.php?/topic/304-openvpn-and-certificates/page__hl__openvpn__fromsearch__1
CyanogenMod Rom的源码地址:
http://github.com/cyanogen/CyanogenMod
导入证书的相关源码(见getCertFile方法):
http://github.com/cyanogen/android_packages_apps_CertInstaller
/blob/donut/src/com/android/certinstaller/CertInstaller.java

2)安装OpenVPN Settings:Android G1 Openvpn设置

该文章讲述得比较详细,不过由于TunnelDroid的作者改为直接支持OpenVPN Settings了,所以只要直接从Market下载并安装OpenVPN Settings就可以了。然后建立目录/sdcard/openvpn,把OpenVPN的相关配置文件放进去就可以了。

拿着手机“翻墙”很有Hacker味道,twitter、facebook、youtobe等都可以直接上了。不过我最高兴的是,可以直接访问http://developer.android.com/。

PS. 1)OpenVPN最难的,还是找个免费的OpenVPN服务器

2)高中时发现个软件叫SoftEther的可以建立虚拟局域网的,现在该软件已经变成PacketiX VPN了。该软件由日本筑波大学开发的,据说具有优秀的防火墙穿透能力。官方网站:http://www.softether.co.jp/

由于看到惠英红因《心魔》这部电影而获得“香港电影金像奖”最佳女主角的殊荣,于是看了这部电影。

看过后,我还是看不懂这叙述一场悲剧的电影。今晚查看了别人的影评论,才明白该电影的意思,也明白了惠英红的过人之处。

影评如下:
《心魔》:爱与占有的悖论和悲剧
http://www.mtime.com/my/721972/blog/4037860/

本来想在G1上装个WiFi密码破解软件。但是启动Debian失败,于是搞了几天,才发现启动脚本有问题。过程中找到以下文章,可以自己编译一个ARM版的Debian:
Debian & Android Together on G1 - Jay Freeman (saurik)
http://www.saurik.com/id/10

成功运行Debian后,去下载了aircrack-ng-1.1的源码来装。后来发现装的Debian上已经附带aircrack-ng。
Aircrack-ng
http://www.aircrack-ng.org

然后发现G1上的无线网卡tiwlan0不能以监听模式运行,就是iwconfig命令不能用,于是不能实现G1破解加密WiFi。再看看相关资料,说是驱动问题,不允许对无线网卡进行底层的设置。看来只能等高手写个驱动了。

看了看WiFi的加密,分为wep、wpa及wpa2三种。其中wep加密最容易破解,只要抓到足够的数据包就可以了。例如aircrack-ng就能轻松破解。也有个叫BT3的整体解决方案,包含虚拟机、Linux操作系统(Slax)和图形化软件,公司的同事演示过,对wep加密简直是“秒杀“。wpa和wpa2加密更安全,破解需花费更多时间。暂时没接触过。

过程中发现一篇关于把Android移植到真实机器环境的文章:
KLDPWiki: Android Porting On Real Target
http://wiki.kldp.org/wiki.php/AndroidPortingOnRealTarget
花了一个晚上把它看完,获益良多。简单来说是对Android有更进一步的认识。

还发现了Android上的VNC Server:
Android VNC Server
http://code.google.com/p/android-vnc-server/
此软件是在别人的基础上修改而来的,免去了安装驱动的要求,在G1的终端上敲下命令就可以了。最新版本实现了对触摸屏的支持。

PS. iPhone出来后,大家都学做界面;Android出来后,大家都学做系统了。

4月的某天,一同事透露了个骇人的消息--我们部门分拆了。后来才知道公司为实行未来战略而进行的大调整--统一的产品研发与项目开发。“五一“过后落实这一政策了。

昨天晚上部门组织了“散伙饭“。虽然没大学的来得伤感,但也隐隐作痛。不是因为部门解散而伤心,而是未来的计划又得改变了。最他妈的是,作如此大的调整,公司居然没有正式的公告,只是今天下班前在公司OA上发了个新的机构图。我们的消息都是私下互传,否则根本没有心理准备去面对这变化。

机构改革就会迎来新的管理方式。今天下午才匆匆忙忙地讨论了现存项目的未来工作方式。这种会议只有一个结果,扯淡一轮后默默接受安排。

什么都别想了,先开开心心地过完“五一“,然后再回去扯淡。

PS. 胖子一直说我早点离开,然后发展自己的事业。早点离开,确实是种解脱。但是如果连这种事情都不能跨过去,将来又能怎么走呢?

今天发现了个软件,可以在电脑上查看并控制Android手机。同时发现该软件使用Java Web Start(javaws)来运行,于是查了下相关资料:
Java(TM) Web Start技术自述:
http://java.sun.com/javase/technologies
/desktop/javawebstart/1.2/zh/docs/Readme_zh_CN.html

该自述文档中一再强调Java Web Start使得应用程序变得像HTML一样,直接从浏览器启动(启动简单,只需一次点击,即可完成部署、运行),每次启动都自动检查版本更新,而且拥有比HTML强N倍的交互性,感觉是不错的。跟同事交流了一下,发现网上已经有很多实例及应用了(毕竟已经是JDK 5就带有的功能),而且有3D实例的。但缺点还是不少。

首先,Java运行环境是个致命伤。就因为要装个庞大客户端(JRE),所以Applet才流行不起来。还要浏览器插件支持,否则只能下载jnlp文件到本机,然后敲命令运行。Flash能流行起来,其小巧的客户端起了很大作用。

其次,是来自HTML 5的冲击。主要为了提高Web页面交互而诞生的HTML 5,明显想取替Flash的地位,也没把Java放眼里(不知道JavaFX又如何呢)。网上已经有直接在浏览器上运行Quake的视频,就是用HTML 5的3D API实现的。

再次,跨平台的问题。显然手机上不能使用,某些JDK版本更是没附带javaws这个文件(例如我用的CentOS 5.4 x86_64上的openJDK就没有支持该功能,为此我苦恼了整个晚上)。

还有就是即使程序能在本地缓存起来,但是有效期一过,就得连上Internet才能访问。特别是那些有效期设在当天的,每次启动都要重新下载程序。

PS. Java已经成为全球最多人使用的计算机编程语言了,不知道JDK 7会带来什么改进呢。

经过多个晚上的搜索与实践,终于在今天上午把Arduino IDE装到CentOS 5.4上了。其实Arduino IDE是用Java写的,这个可以直接运行。但是是该IDE需要用到avr-gcc进行交叉编译,而且CentOS 5.4上没有rpm包直接安装,所以要自己动手编译。为了研究相关的设置和依赖包,费了很多时间。以下是安装过程的总结。

首先,安装binutils、avr-gcc和arv-libc

参考:
Building your own avr-gcc environment with atmega328p capabilities, Linux
=> http://tuxgraphics.org/electronics/200901/avr-gcc-linux.shtml#0lfindex0
gcc编译安装中的链接错误
=> http://qingyan1971.spaces.live.com/blog/cns!90DC91975FC440F6!502.entry

1)binutils-2.20.1

--Download: http://ftp.gnu.org/gnu/binutils/

执行以下命令:
tar jxvf binutils-2.20.1.tar.bz2
cd binutils-2.20.1
mkdir obj-avr
cd obj-avr
CC=gcc
export CC
../configure --target=avr --prefix=/usr/local/avr --disable-nls --enable-install-libbfd

make

make install

cd ../..

2)gcc-core-4.4.3、gcc-g++-4.4.3

---------------------- 注 意 ----------------------
安装avr-gcc前,先检查是否已经安装了GMP 4.1以上和MPFR 2.3.0以上。
GMP 4.1+
=>CentOS 5.4的安装光盘可以找到GMP 4.1的rpm包,直接安装就可以了。
=>源码地址:http://ftp.gnu.org/gnu/gmp/

MPFR 2.3.0+
=>源码地址:http://www.mpfr.org/=>由于没有rpm包,只能通过源码编译安装。
=>安装完毕,要添加路径到/etc/ld.so.conf文件中。安装完毕后会有提示的。
------------------------------------------------------

--Download: http://ftp.gnu.org/gnu/gcc/gcc-4.4.3/要下载gcc-core-4.4.3和gcc-g++-4.4.3,或者只下载gcc-4.4.3就可以了

执行以下命令:
tar jxvf gcc-core-4.4.3.tar.bz2
tar jxvf gcc-g++-4.4.3.tar.bz2
cd gcc-4.4.3
mkdir obj-avr
cd obj-avr
../configure --target=avr --prefix=/usr/local/avr --disable-nls --enable-languages=c,c++ --disable-libssp --with-mpfr=/usr/local/lib/mpfr

make

make install

cd ../..

3)avr-libc-1.6.4

--Download: http://savannah.nongnu.org/projects/avr-libc/

tar jxvf avr-libc-1.6.4.tar.bz2
cd avr-libc-1.6.4
PREFIX=/usr/local/avr
export PREFIX
CC=avr-gcc
export CC
PATH=/usr/local/avr/bin:${PATH}
export PATH
./configure --build=`./config.guess` --host=avr --prefix=/usr/local/avr

make

make install

cd ..

--------------------------------------------------------------------

然后,安装FTDI USB驱动

--参考:http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1267186646/3#3

After you install the Arduino environment and plug in the board, make sure you can see the /dev/ttyUSBx device.
Code:

安装完Arduino开发环境和把板子插到电脑USB口上,看是否有/dev/ttyUSBx设备。可以执行以下命令查看:
ls -la /dev/ttyU*

如果没有该设备,则用root用户执行以下命令:
modprobe ftdi_sio

别忘了设置该/dev/ttyUSBx的访问权限。

自从在华表哥的婚后Party(婚宴过后的Party)喝过Whisky后,很想喝一下“龙舌兰”酒。因为想起“龙舌兰”酒的喝法很特别——舔一撮盐,喝一口酒,再咬一片柠檬。但是不知道哪里可以买到比较好的。查了一下资料,以下的算是比较详细了:

本资料转自“酒圈网”,文章地址:《品鉴龙舌兰http://www.jiuq.com/article-558.html

    最时尚的酒类饮料
    龙舌兰酒的历史虽然悠久,但它在全球范围内的流行却是20世纪80年代以后,尤其是近5年以来的事,那些纯麦芽威士忌与波旁酒的爱好者开始喜欢上了这种酒。如今对于特基拉Tequila的爱好,也主要流行在那些年轻的中产阶级或者大学之中。而上等的龙舌兰酒售价往往超过每瓶100美元,实在不算便宜。

    产品的四个等级
    Tequila被分为Blanco、Joven abocado、Reposado与Añejo四个产品等级。其中,Añejo在西班牙文里意指“陈年的”,必须是在橡木桶陈放的时间超过一年以上的酒。有关方面对此管理严格,它们必须使用容量不超过350升的橡木桶封存,由有关官员上封条,虽然规定只要超过一年的都可称为 Añejo,但高品质的陈年酒期限大多是四到五年,也有少数储存八到十年的。

    纯度标识
    标着“100% Agave”或者“100% Blue Agave”、“100% Agave Azul”的Tequila酒,其中的每一滴酒液都是来自天然的龙舌兰草,没有其他的糖分来源或添加物(稀释用的纯水除外)。如果一瓶酒上并没有做此标识,就很可能是一瓶Mixto(混合酒)。必须提醒的是,由于20世纪90年代末期严重的植物病虫害造成龙舌兰大量减产,酿造龙舌兰的原料价格迄今仍在直线飙升中。为了不至于涨价过高,许多酒厂纷纷把原本纯Tequila的酒品,降级成混合酒(Mixto)。

    正规标识
    Normas Oficial Mexicana(墨西哥官方标准,简称NOM)。这是每家合法注册的墨西哥龙舌兰酒厂都必须拥有的“出生证”。
    Hecho en Mexico(墨西哥制造)。所有墨西哥生产的龙舌兰酒都必须标上的文字。但墨西哥不是世界上唯一生产Tequila酒的国家。但世界主要国际商业组织几乎都已同意,Tequila是墨西哥龙舌兰酒的专有名称,受国际公约保护,其他国家使用相同原料与酿造方式制作出的酒均不可以使用Tequila这一名称。
    CRT(Consejo Regulador del Tequila,龙舌兰酒规范委员会)监督与认证标识。它保证了产品符合法规要求制造程序,但不反映产品的风味与品质。
    Hacienda标识。经常出现在酿造Tequila的酒厂地址里,类似于欧洲酒庄。

    净饮与混饮
    龙舌兰酒经常被用来与果汁、咖啡、啤酒、可乐等饮料混合,调制鸡尾酒。实际上,墨西哥人也直接饮用,方法是先用柠檬汁与盐涂抹一下酒杯,再倒入酒液直接饮用。或者先吃一小撮盐,再一口猛饮,最后拿一片柠檬咀嚼一下。这种酒的酒精度数浓烈,可以加水、冰等稍微冲淡一点。

昨晚是华表哥婚宴的第二晚,按照习俗是由女方摆酒,宴请其亲友。

宴会过后依旧是来到V-Party继续下半场。今晚比较特别的是,终于尝到Whisky(威士忌)的味道了——经过蒸馏的Beer。喝过第一口,感觉是浓烈的酒精过后,带来微弱的苦涩。我想,比较适合情绪低落的人喝闷酒吧。

表哥他们的喝法是,跟菊花蜜调配(酒:菊花蜜=1:3)。开始是甜甜的,比较容易入口,但是后面的苦涩味更强烈。

我尝试把Whisky直接加冰来喝(好象很多烈酒都可以这样喝)。由于冰的作用,使得酒精味淡了,而枯涩味不变,酒就更容易让人接受了。但是由于酒的浓度基本没变,所以容易醉。

喝过Whisky后,我想试试“龙舌兰”酒。因为看过《Heaven's Door(天堂之门)》,觉得“龙舌兰”酒的喝法超特别。