2011年5月15日星期日

config.guess - guess the build system triplet

NAME
config.guess - guess the build system triplet

SYNOPSIS
config.guess [OPTION]

DESCRIPTION
The GNU build system distinguishes three types of machines,
the 'build' machine on which the compilers are
run, the 'host' machine on which the package being built will
run, and, exclusively when you build a compiler,
assembler etc., the 'target' machine, for which the compiler
being built will produce code.

This script will guess the type of the 'build' machine.

Output the configuration name of the system 'config.guess' is run on.

Operation modes:
-h, --help
print this help, then exit

-t, --time-stamp
print date of last modification, then exit

-v, --version
print version number, then exit

ENVIRONMENT VARIABLES
config.guess might need to compile and run C code, hence it
needs a compiler for the 'build' machine: use the
environment variable 'CC_FOR_BUILD' to specify the compiler for
the build machine. If 'CC_FOR_BUILD' is not
specified, 'CC' will be used. Be sure to specify
'CC_FOR_BUILD' is 'CC' is a cross-compiler to the 'host'
machine.

CC_FOR_BUILD a native C compiler, defaults to 'cc'
CC a native C compiler, the previous variable is preferred

REPORTING BUGS
Report bugs and patches to <config-patches AT gnu.org>.

Originally written by Per Bothner. Copyright (C) 1992, 1993,
1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.

This is free software; see the source for copying
conditions. There is NO warranty; not even for MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
autoconf(1), automake(1), autoreconf(1), autoupdate(1),
autoheader(1), autoscan(1), config.guess(1), con-
fig.sub(1), ifnames(1), libtool(1).

config.guess (2003-10-03) October 2003
CONFIG.GUESS(1)

2011年4月19日星期二

A algorithm to enumerate all the combinations of given numbers

/*
A algorithm to enumerate all the combinations of given numbers
Author : Anders Ma [2011_0419]
*/
#include

int array[100];
int cursor = 0;

void enumerate(int n)
{
int i;

for(i = 0; i < cursor; ++i)
printf("%d,", array[i]);
if (cursor != 0)
printf("\n");

for (i = 0; i < n; ++i) {
array[cursor++] = i + 1;
enumerate(i);
cursor--;
}
}

int
main(int argc, char **argv)
{
enumerate(5);
return 0;
}

anders@ubuntu:~/c$ ./enum
1,
2,
2,1,
3,
3,1,
3,2,
3,2,1,
4,
4,1,
4,2,
4,2,1,
4,3,
4,3,1,
4,3,2,
4,3,2,1,
5,
5,1,
5,2,
5,2,1,
5,3,
5,3,1,
5,3,2,
5,3,2,1,
5,4,
5,4,1,
5,4,2,
5,4,2,1,
5,4,3,
5,4,3,1,
5,4,3,2,
5,4,3,2,1,

2011年4月11日星期一

三亚游记

没做太多准备,就去了三亚。决策过程就是两条信息:她:我们去三亚吧?我:OK!然后马上订票。去之前没预定旅馆,只是联系了三亚大东海附近的一个旅馆,不过不确定去了是否还有房间。

#
#第一天 (三亚湾吃海鲜)
#

凌晨1点到了三亚,飞机晚点起飞1个多小时。我对目前的民航调拨系统真是无语,天天流量控制。不过与朋友多次在飞机上等3个多小时的经历相比,知足了。

出了机场直接打的走人,司机是个女性,来在河南。聊天中得知三亚大部分都是外地人,毕竟是旅游城市,本地人不多。有些深圳移民城市的感觉,并不陌生。计划是去大东海的,不过司机说大东海有些远,三亚湾倒是很近,于是我们改变策略,让司机在三亚湾附近帮找了一个旅馆,安顿了下来。旅馆还算干净吧,当然和酒店是没法比了,不过出游前也没打算去酒店。旅游嘛,吃好玩好最重要,住的条件就不计较太多了。洗漱后已经半夜2点,睡到9点多,在床上赖到了10点。11点才出了旅馆,在房东的推荐下去了友谊街下岗职工海鲜广场。看到这个“下岗职工”词组,倒感觉格外亲切。在一个热心大姐的指引下,我们先去选购了海鲜:带子,基围虾,濑尿虾,芒果螺,X(一个长条的贝类,忘记名字),然后去热心大姐家加工。这边吃海鲜都是在市场先买,然后再去带到加工店加工。加工店提供煎炒烹炸,火锅之类的加工方式,收取加工费。这餐海鲜吃得很饱,比较喜欢蒸带子,椒盐濑尿虾。

吃饱喝足后,去三亚湾看海,三亚湾的海水不够清澈,不适合游泳。无趣之际,沙滩上随处可见的小洞洞引起了我的注意,经过观察,原来每个小洞里面都是一个小螃蟹,看着螃蟹吃东西,出出进进自己的洞穴,有点意思。要是有大螃蟹就好了,我可以抓一个拿去加工吃,这种指甲大小的螃蟹还是由他去吧。

<螃蟹出动>

<三亚湾>

<夜幕下的大东海>

<她>

在绿海田园车站坐8路公交车去了大东海广场,有点堵车,花了快一个小时。下车觉得好饿,找了个兰州拉面店吃了碗面条,面食价钱比深圳贵1-2块,味道一般,还不如我在大冲曾经光顾的面馆。去大东海广场途中买了个椰子,好家伙,个儿太大了,我们两个人喝得膀胱都鼓了,还没喝完,由于不方便携带,只好当垃圾处理了。味道也没感觉到惊艳,可能没碰到好的椰子。

傍晚的大东海像一个风韵少妇,让我遐思尔想。的确比三亚湾那个渔家妇女有所韵味。决定明晚来这边住,开始找旅馆。先去了一个宾馆,价格138/晚,但觉得有些吵闹。然后看到附近一个小区,走过去咨询保安小区内是否有小旅馆,保安比较热心的说,2楼4楼都有,去了2楼旅馆,觉得还不错,标双100/晚,比预期的还便宜,屋子也算宽敞明亮,最重要的是离大东海太近了。交了100块定金就坐8路车回三亚湾了。

已经22点了,当然不能错过友谊街的海鲜夜宵,还是去了中午去的大姐家,让她帮着挑选海鲜,然后拿到她的店铺,让她老公加工。晚上吃了螃蟹,海鲤鱼,蒸带子,海胆蒸蛋,拍个黄瓜,喝点啤酒,不亦乐乎!期间和加工店老板聊了起来,他们夫妻也不是海南人,来自湖南,不过口音已经听不出来,毕竟在当地十几年了。干什么行业都不容易,他们这种早出晚归的一个月也赚不了几吊钱,生活啊,就是让人感慨万千,希望有人看到我这篇文章,去三亚的时候光顾一下这个加工店,老板人还不错了,厨师也算是刀法精湛!(店铺编号10排4号)

#
#第二天 (大东海戏水)
#

昨晚睡的一般,中途被蚊子叫醒了一次,还好旅馆有电蚊香,点了之后睡到了自然醒。磨蹭出门已经11点,吃了早/午餐后就退房,坐8路公交直奔大东海旅馆。这次自助游三亚除了刚到三亚那天打的以外,其他时候都是搭乘公交车,对三亚这座城市也没什么陌生感,毫无距离。到了旅馆,和旅馆的小情侣研究了一下他们提供的不同景点的旅行团。三亚这种团游很多,有纯玩的团,有需要购物的团。随后定了一个明天去蜈支洲岛的纯玩团,就是负责车接车送,门票而已。185/人,比自己打车去划算。时至下午4点,迫不及待的马上穿着泳衣直奔大东海。由于不会游泳,打算弄个游泳圈给自己壮胆。租一个20块,买一个30块,买了一个。下水,慢慢熟悉了一下,发现有游泳圈很让人烦躁,无法控制东南西北,最后脱离游泳圈,我和她反而在海水里练习起了游泳,我游向她,她游向我,互为目的地,期间回忆大学时期蛙泳技法,如何蹬腿,如何用手分水,最好战绩前行5米。难能可贵的是大学学游泳,我又是泳镜,又是鼻夹,又是耳塞,又是泳帽,这次我浑身上下就一个泳裤,毫无下海的恐惧感,不怕鼻子,耳朵进水。在水中玩了两个多小时,累了才上岸,上岸那就是玩沙子,我变成了沙子包裹的木乃伊,嘿嘿!

晚餐过后,回旅馆看《非诚勿扰》。看这节目主要是学习乐嘉,孟非如何说话,如何思考问题,如何调节气氛。受我的影响,她也比较爱看这节目了,哈哈!


#
#第三天 (蜈支洲岛看风光)
#

早晨8点坐了“韦小宝”司机的车直奔蜈支洲岛,也不知道这司机是搞笑还是真的,说自己真姓韦,名字叫小宝,搞笑!一个金杯车做了14个人,座位贴座位,倒是利用率很高。小宝说:“老板是不会让车空一个位置去旅游的。” 也是,资本逐利,合情合理。到了目的地,上船!当时是早上9点,我们坐在了船的前排,早上浪比较大,船是上下左右摇曳,好爽啊!惊呼出来!发现周围人也在叫!不过和我感觉不一样,他们是晕船的叫,汗!上了蜈支洲岛,风景真是如画,犹如人间仙境啊~ 岛的海水真叫清澈见底,里面的鱼游得貌似也格外开心!由于这里海水能见度很高,所以很多人会在这里玩潜水,30分钟,400块左右。我可能是《Planet Earth》看多了,对潜水毫无兴趣,所以在岛上就是走走停停,欣赏海滩风光,拾捡贝壳珊瑚,体味休闲人生!从9点多一直走到了下午2点,我变成了古天乐的肤色,真不抗晒啊!

<客轮>


<蜈支洲岛一角>

<偷拍路人>


<偷拍路人>

<发呆>


回去的路上,小宝说起海南的特色菜系,说黄流老鸭很好吃,回到旅馆弄清楚了去吃黄流老鸭的路线,坐4路公交车就去胜利路的老鸭店了。上车也咨询了司机胜利路哪个站下吃黄流老鸭较方便,司机很热情,在到站的时候提醒了我们下车。找了个店开吃!!!果然是老鸭,太老了啊!有些咬不动啊,我的牙齿都被塞了,味道嘛,还是可以的,可是我的牙齿啊,衰!!!吃完回去坐4路还是那个司机,好搞笑,上车就问老鸭能咬动吗?我的神啊!我的牙齿啊!看来这是注定的啊!

#
#第四天 (COOL JHACK乐队)
#

上午去了亚龙湾,没带泳衣。就是想去看看。嗯,这里的海水果然比大东海好,人也少,主要是新开发的嘛,没带泳衣就不下水了,就在沙滩上拍照。


回到大东海,再次和海亲密接触,再次练习游泳,再次明白了鸳鸯戏水这词的含义。

晚上闲逛,去了大东海的酒吧一条街,好热闹,走了一圈,最后被百乐酒吧的菲律宾COOL JHACK乐队给深深吸引住了,点了两杯饮料,从21点听到23点,我们才回去,真是流连忘返,他们演艺的歌曲大都是英文歌曲,主唱,吉他,架子鼓配合的天衣无缝,一首歌过去就是另一首歌,毫无停顿。被调动起来情绪的我们,也去歌手附近扭动起了屁股,跟着节奏跳动了起来。

<忘情的观众>

<夫妻相?有木有?>


<帅气的鼓手>

#
#第五天 (购物回家)
#

睡到自然醒,毫无压力的一天,去超市买点海南特产,下午就回旅馆看《金婚》,晚上11点回到了深圳。这次去三亚很轻松,也没做什么准备,吃好了,玩好了,oh yeah!

<支出>

2011年3月24日星期四

[Java Script]用递归方式绘制树

topology_array数组对象中存有一棵树所包含节点父子关系,通过get_topology_html生成jquery树插件所需HTML代码,最终实现树的绘制。

var topology_array = new Array(
// "switch", "designated switch", "if-traversed"
["ANDERS", "ROOT", 0],
["CINDY", "ANDERS", 0],
["DAVID", "ANDERS", 0],
["ERIC", "ANDERS", 0],
["FRANK", "ANDERS", 0],
["BILL", "ROOT", 0],
["GATES", "BILL", 0],
["HAVORD", "BILL", 0],
["IAN", "BILL", 0],
["JACK", "BILL", 0],
["KARAN", "CINDY", 0],
["LERRY", "KARAN", 0],
["MIKE", "LERRY", 0],
[ 0, 0, 0]
);

function sub(data, node)
{
for (i = 0; i <> if(data[i][1] == node && data[i][2] != 1) {
//alert(data[i][0]);
data[i][2] = 1;
return data[i][0];
}
}
return -1;
}

function get_topology_html(data, root)
{
var ret;

while((ret = sub(data, root)) != -1) {
topology_html += "<><>";
topology_html += ret;
get_topology_html(data, ret);
topology_html += "< /li >< /ul >";
}
}



2010年12月30日星期四

别了,2010!

高涨的房价,滋生的草根研究投资/经济的冲动。正所谓,初中研究中考;高中研究高考;大学研究就业。2010年作为P民的我实在没什么可以总结,没房的我还是总结总结房地产吧。

2010年的重大新闻
1 国资委:78家央企将退出房地产业务
央企是国家的嫡系部队,2010年主子让嫡系撤退。估计快撤退干净了。
2 银监会压力测试(假设房价未来跌去60%银行是否会死)
目前是地产绑架银行的局面,银监会提前尝试挥刀自宫,确认能否留有一个蛋来保证传宗接代。
3 存款保险制度(即将实现)
此制度规定如果银行破产储户最多获赔20万。无论你银行里有几个亿,对不起,只给20万。这是对那些有些土鳖钱但没能力把钱输送到瑞士银行的人群占有资本的一种掠夺。
4 房产税
2010年关于房产税的报道很多。正统消息,嫡系消息,小道消息。到处都是房产税的消息,但是还没落实。2010国家算是对房产税退出做个热身。目前看目的已达到,毕竟屁民不会对以后征收房产税莫名惊诧。
5 货币政策
上调准备金六次,年底加息二次。银行放贷开始谨慎,毕竟钱袋子钱不是很多。贷款的民众还款压力在逐步增加中。
6 十二五与政改
十二五规划中删除了以经济建设为中心。2010年算是一个变革的开始,换一个套路出牌,清洗改革开放30年来积累的种种矛盾,种种利益。


这些新闻很有趣,串起来逻辑是那么的强。我用阴谋论的思维小小解读一下:
在(6)这个动荡的时期,是最好的整合利益链条的时期。为了收编温州炒房团与利益集团构成的土鳖资本,以太子党为首的军队红色资本早早退出了房地产领域,并发文(1)另嫡系早早撤退,勿贪多恋战。知己知彼,百战不殆。红色资本用(2)来分析本方实力,力争在收编土鳖资本的时候不能废了自己的王子军团(银行),底线是至少留着一个蛋传宗接代。用(5)来移植土鳖资本发展壮大。(3)为一些王子阵亡做了相应的准备,实现有法可依,稳草民情绪。红色资本在围剿土鳖资本的同时为了地方财政弹药的充裕采取(4)来做粮饷补给。

从后勤保障,到敌我形式分析,都已经做了相当的准备。买不起房的不要J动,先保住饭碗,别死在金字塔尖的格斗中。最后用一个高人的话做结案陈词:

“过去几年里我一直在说,做自己看得懂的事情。本意是我相信一些事情迟早要来,但是时间点是我不能准且提早太多时间知道的。我之前只看见,一个又一个相关的配套在确立。我不停的和周围的人说风险与危机,也因此被很多人看作神经病。即使新一轮房产政策还会因为各种以而导致夭折。而这样的夭折在我看来,会次级更多严厉的政策博弈与更残酷与直接的手段来干预。其实温总在年初那句可以看作摊牌的话已经说的很明白了:这个是涉及政权稳定的问题了。”

别了,2010!

2010年6月25日星期五

感慨一下自己的吉他水平

http://v.youku.com/v_show/id_XMTkxNDMwMTY=.html
两年前我知道我吉他弹得很差,但是现在回顾一下两年前的作品,不由感概,现在水平更差了,汗!看来不管干什么,在知道自己水平差,也要留下当时的快照。因为日后很可能水平更差!真是逆水行舟,不进则退啊!

2010年6月19日星期六

GTK+ OpenGL Extension 折腾日记

最近在做一个姿态模拟系统,端午节前请Lynn帮我设计了传感器的PCB,昨天刚刚送去打板。今天早上又收到咸蛋帮我画了个3D Max的十字架。貌似万事俱备,就差我开工了!

这套系统的作用就是根据传感器的输出数据来判定传感器所依附物体的姿态,然后在PC上以3D效果显示出来。核心的东东就是一个姿态的识别算法,其他什么数据传输,图像显示都是绿叶。

由于软件是在Linux上编写,我采用了GTK+。为了显示3D效果,我google调查了一下,需要GTK+ OpenGL Extension。OK,问题就是找到3D Sample了。可是我下载GTK+ OpenGL Extension的Release版本1.2.0编译上就遇到了问题。gtkglext-1.2.0是2006年的版本,我现在用的GTK+还是比较新的版本,很显然gtkglext-1.2.0版本太老了。当时的思路是google解决掉所有出错点。经过一番恶战,我的确解决了编译的错误,但是运行起来依然有问题,总是说"gtkglext example 'GDK_IS_GL_DRAWABLE (gldrawable)' failed"。再google,貌似是gtkglext自己的问题。最后决定用git抓取最新版本。抓下来后configure那里又不过,晕死了!提示configure: error: Invalid target for GDK: use x11 or win32。怎么办呢?干脆Merge一下1.2.0和git的版本算了,我首先Merge了gtk/gtkglwidget.c,毕竟之前报错总来自这里。看来是人品爆发了,merge完这个文件,编译,执行再不出错了!哈哈!看来root cause找到了!Yeah!

GTK+ OpenGL Extension 的shapes例子还不错,可以3D显示并旋转一个茶壶,这正是我想要的东西^_^。



后记: 2011/08/10已经实现当时的想法,详见 AMCC 1.0 release