2010年

今天发现了个软件,可以在电脑上查看并控制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(天堂之门)》,觉得“龙舌兰”酒的喝法超特别。

华表哥的婚礼终于在25、26日搞完了,不过这只是重要的部分。根据传统,前面和后面的仪式、聚餐,我都未能参与。

24日晚,艰难地安排好工作任务后,才能飞奔回去。然后跟华表哥聊到凌晨1点多。

25日早上,6点多就被老妈吵醒。在床上发呆到7点多才起来洗刷、换衣服。8点多亲戚们陆续到达,一直等到10点半才去吃饭。匆忙的午饭过后便出发向新娘(未来表嫂)家进发。

到达目的地的第一件事,就是分发军火——80支礼炮和120~140支彩带(喷的那种)。伴郎在门口跟姊妹们“讲数(开门红包的价格)”之际,“火箭兵(拿礼炮的人)”已向敌人大本营猛烈地进攻,其他人喷彩带给伴郎掩护。经过一番唇舌后,勇敢的兄弟终于攻破第一个大门。伴娘的姊妹们退居2楼,我们也乘胜追击。就在二楼,战事升级。我们凭着无比坚毅的决心、超越常人的胆识,还有源源不断的补给,把女方“喷”个片甲不留。直到我方也弹药耗尽之时,双方停战,改为口水战。最后还是用金钱打开新娘的房门,新郎抱得美人归。然后是新娘家的仪式,拜神、向长辈斟茶等。

接着众人回到新郎家,做新郎家的仪式,简单来说,也是拜神、向长辈斟茶等。习俗过后,便等吃晚饭。晚宴主要是敬酒,热闹一番。晚饭过后是年轻人的节目——去酒吧唱K。直到2点多才结束,回到家也快3点了。

26日上午,10点多起来洗澡,11点被表哥拉去吃饭。午饭过后坐顺风车去电脑城买显示器。走访了两个电脑城才买到Acer G225HQ,而且不是想象中的镜面屏,也罢。拿着显示器就匆匆来到新娘家的喜席(晚宴)。又是热闹一番,然后再去酒吧唱K,实在没什么意思。这晚回到家已是凌晨1点多。

华表哥也就这样结婚了,然后安心等待BB的诞生,让我挺羡慕的。此时的我还在烦恼未来要去哪里发展,还没交到女朋友,感觉结婚真是遥远。

 昨晚失眠,于是把刚新下载的《Up in the Air(在云端)》看完,然后才在凌晨4点多睡着。能睡着,不是因为电影沉闷,而是终于看完了可以安心睡觉。

本片内容简介:
(转自 豆瓣http://movie.douban.com/subject/3077791/
    本片改编自美国作家沃尔特•肯的同名小说。瑞恩•布林厄姆(即Ryan Bingham,乔治•克鲁尼 George Clooney 饰)供职于美国内布拉斯加州奥马哈市一家专为其他公司提供裁员服务的公司,一年有300多天辗转于全国各地解雇他人,几乎以机场为家。在一次例行裁员旅行中,瑞恩遇到了商务美女亚历克斯(即Alex Goran,维拉•法梅加 Vera Farmiga 饰),二人一见钟情,却都满足于维系随意的性伴侣关系。与此同时,瑞恩公司的大学生新人娜塔莉(即Natalie Keener,安娜•肯德里克 Anna Kendrick 饰)得到了公司总裁的青睐,竭力推广通过网络视频会议远程裁员的改革。瑞恩反对变革,却不得不带娜塔莉四处实习熟悉业务……
    本片获奥斯卡最佳导演、最佳影片、最佳男主角(乔治•克鲁尼)、最佳女配角(维拉•法梅加 和安娜•肯德里克)及最佳改编剧本六项提名,金球奖最佳导演、最佳影片等六项提名,并获洛杉矶影评人协会最佳剧本奖。

在旅途中与Natalie的多次思想碰撞,以及经历过妹妹的婚礼后,Ryan决定改变单身的生活。但找到Alex的住址后,Ryan发现她已有了个幸福的家庭。生活的悲剧正是这样突然地展现在Ryan的眼前。即使终于如愿地突破了其人生目标的1000万英里的飞行路程,但却笑不出来。或许人生没有目标了,或许生活没有憧憬了,Ryan充满惆怅地回到其原来的生活轨迹上。

该片在探索生活的本质,从而道出Ryan的悲剧,让我看后久久不能释怀。实在有太多感触了!有机会的话要再看一遍。

PS. 影片开头用多个镜头,把Ryan收拾行李到登机的过程剪辑得干脆利落,让观众感受到一个经常坐飞机的人的娴熟。

由于不明原因,来自异世界的Ghost游荡在我们的世界,而且人类看不到它们!然而强大的Google服务器搜索出这不明来客,于是为了驱除Ghost,净化人类的世界,Google发明Android。来吧,拿起你的Android手机,装上SpecTrek就可成为战士,协助拯救世界。

以上为Android上著名游戏SpecTrek的故事背景。该游戏利用手机的摄像头、GPS、指南针、重力感应,结合Google Map、Internet,成为能够与现实交互的虚拟游戏。玩法很简单,启动游戏,选择游戏的时间长度(15分钟、45分钟或2小时),然后游戏根据所选游戏时间,以玩家当时所在地点为圆心,圈取一定范围作为游戏区域,并在该区域放置一定数量的Ghost。进入游戏,玩家只要在所选时间内,捕捉游戏区域内的Ghost,就算是完成任务。另外,游戏区域内还有隐藏物品,不过不会轻易捡到。游戏操作也很简单,玩的时候,手机平放就可以看到地图和指南针,举起手机就可以捕捉身边的Ghost。

该游戏的奇妙之处就是把虚拟游戏和现实结合,达到良好的操作体验。相信玩过Wii的,都可以想像到那乐趣。简单来说,是个随时可以玩的寻宝游戏。而且经验值像RPG一样可以累积,有等级和能力成长。这很适合替代无聊的饭后散步。

玩这游戏时,我想起了日本动画《电脑线圈》。此时我的G1就成了动画中眼镜,透过那特殊的眼镜,可以看到建立在现实世界中的虚拟世界。但此游戏的互动性肯定没那眼镜强。提起现实世界与虚拟世界的交互,就不得不提在MIT工作的一个印度人,他的想法是结合投影仪、摄像头、3G网络等,改变我们操作电脑的方式(扯远了,改天再写下那人的演讲)。It's amazing!

PS.
1)回顾一下电子游戏的发展,就会发现人们一直在努力提高电子游戏的操作性。以Nintendo的游戏主机发展为例,红白机上的光枪和扫描条形码的游戏,GameBoy上拍摄游戏者头像成为主角头像的“口袋妖怪“(卡带上有摄像头),GBA上能够识别白天和黑夜的“黄金太阳“,NDSL及其后继机型配备麦克风、触摸屏来提高操作性,Wii则配备拥有方位及重力感应的无线手柄……

2)曾经想过改造输入设备来提高电子游戏的乐趣:
A)高中时想过利用“跳舞毯“和键盘玩电脑版的“生化危机“。跳舞毯代替方向键,其它键用键盘操作,其中空格键设为开枪键。只是当时没钱买“跳舞毯“,想自己造一个,却发现买材料也需要成本。即使还想过用赛车游戏的“方向盘“来代替方向键,但也是钱的问题,最后都没实现。

B)大学时去玩“太鼓达人“,觉得很High,于是想自己弄个“鼓“。最后的实现是5块钱买个破手柄,把它的四个方向键分别外接上四个大按钮,并把这四个按钮固定在桌上。启动个跳舞游戏后,拿起两个小的塑料可乐瓶(当作鼓棍)就可以敲了。玩起来还是有一点感觉的,只是太山寨了。还有类似的,是玩“吉他英雄“(好像是这游戏)时,把键盘放地上当作脚踏(就因为空格键够大,好踩),手拿手柄。

由于FireFox实在是太慢了,于是想装个Chrome(官方版叫Chrome,开源社区版叫Chromium)。安装RPM包时提示要安装lsb 3.2以上,而CentOS的软件包只有redhat-lsb-3.1,无奈之下只能Google一下解决办法。最后找到别人编译好的Chromium二进制包,下载解压后,可以运行。此二进制版的缺点有两个:一是只能放在固定的文件路径下运行,二是不能输入中文(就是输入法不能用,原因不明)。

找到的讨论帖:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=23746

该版本的Chromium下载地址:
http://www.cs.bham.ac.uk/~cxs548/chrome.tar.gz

每年的植树节(3月12日)都不会去植树,而是算算今年几岁。

今年的植树节什么都没做,因为庆祝推迟到今天。在我的提议下,众人来到沃尔玛的妙云居吃韩国菜。今年依然会初哥捧场(已经是第三年了),然后会有大只龙做特别嘉宾(高二高三时的同桌),当然少不了同是植树节出生的芳姐(因为年龄小、体型小,所以戏称“姐“)。饭间都是闲话,但感觉特别有意思。即使是不怎么丰盛的韩国菜,也吃得挺饱的。

饭后去了Starbucks(星巴克)切蛋糕。芳姐买的蛋糕声称低糖低胆固醇,但蛋糕外围铺满白巧克力片,蛋糕上又有很多奶油,吃起来太甜了。为了不让芳姐失望地白花了一百多块,我还是努力吃完剩下的蛋糕。意外的收获是拿到了红茶积分卡和赠饮券。

蛋糕吃完后,小Party也结束了。

PS. 1、自从高中得知芳姐跟我同一天生日后,几乎每年都会庆祝一下。高中时的庆祝是四人小组(芳姐、大只龙和我,还有一个人是没固定),每人出十几二十块钱,然后我去“百佳超市“买些食物回来吃。现在想起,感觉很淳朴。到了大学,是邮寄礼物。-_-|| 好像都是我送芳姐的。到了大四那年开始聚餐,初哥也是那是开始加入。

2、每年都会收到Nv Forum(Nvidia官方论坛)的电子邮件祝福,即使知道这是设好的程序自动发送,但总会很高兴。

终于下定决心卖个Arduino开发板了。于是前天晚上去“淘宝“逛了一下,以150RMB买了个Mega,加上“面包板“(8RMB)和70条连接线(8RMB),还有两个热敏电阻(0.5RMB/个),一共167RMB。今天东西都到手了!

回宿舍后,马上下个最新版的IDE(版本号0018)。读取出那个最基本的LED闪烁控制程序,编译后上传到开发板,结果正常!由于Mega板载一个可控制的LED,所以不用额外插个LED测试。而且已经有Bootloader,程序上传后即可运行。

Arduino Mega是目前最强大的Arduino开发板了。其芯片采用ATmega 1280-16au,CPU频率为16MHz,8KB SRAM,128KB闪存(其中4KB用于Bootloader),4KB EEPROM,还有54pin I/O接口……详细参数如下:

Microcontroller ATmega1280
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 14 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 128 KB of which 4 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz

这么好的东西,用来做个什么好呢?确实是个问题。