Ruby 语言 思想驱动生活

July 29, 2007

IronRuby 和 Ruby.NET的不同点

Filed under: Ruby — liubin @ 11:24

参见http://article.gmane.org/gmane.comp.lang.ruby.dotnet/57

CLR(Common Language Runtime)和DLR(Dynamic Language Runtime)
* IronRuby 基于DLR.
* Ruby.NET 基于 CLR.

与Silverlight的集成
*IronRuby最初的alpha版将不会支持Silverlight,将来版本会考虑这个问题。
*Ruby.NET不清楚

* IronRuby使用了Ruby.NET的分析器,这个分析器基于MSFT许可。

对Ruby库的支持
* Ruby.NET完全支持1.8.2核心库。
* IronRuby支持的比较有限。

July 23, 2007

到底谁是天朝的害群之马?

Filed under: 生活 — liubin @ 19:55

邵佳一?我选你,球都拿不住,虽然也能进球。

海龟,孙继海和孙祥发灰不是很好,郑智第一轮就申请了个无谓的黄牌,当时我就说了,李玮峰你们俩,等着停赛吧。果然,第二场又得了牌。间接导致了惨败乌队。
董方卓就是一个悲哀,要是我就不去朱的队里。
毫无疑问,朱责任最大。究其深层原因,在于足协,在于天朝子民。
深圳又被曼联踩了,KingDong今天真的有点丢人。

禁止全文转载

Filed under: 生活 — liubin @ 19:50

1.版权问题
这是对原作者的态度的问题。很多时候转载之后,根本不见了原作者的信息了。

2.信息冗余
相信你去搜索引擎搜到的东西,有很多都是一样的,重复的数据,因为这些文章本来就是互相拷贝过来的。从这么多的搜索结构找到自己想要的,真是难。所以不转载,也能帮Google和baidu的人省点事。

3.排版问题
很多文章的排版都乱得不能再看了,基本上就如同垃圾一样,白白的浪费了硬盘和流量。

4.文章更新问题
有时候可能会转载比较新的可能哪里写的有错误的文章,但是原作者修改之后,转载这可能99%不会知道,更不会去更新他转载过的文章。所以,这很耽误人。

所以,不要简单的用ctrl+a ,ctrl+c,ctrl+v来转载了,不管是为了集聚人气,还算是为了论坛积分,还是自己喜欢。当然,要看情况而定。

July 20, 2007

pTAL,TAL,EpTAL,TNS,TNS/R,TNS/E

Filed under: 技术 — liubin @ 19:56

HP的这些东西太faint了,没人教,只能自己看,都是英文文档,根本看不过来。
这些概念也模模糊糊似懂非懂的。

pTAL 基于TAL HP Transaction Application Language。可以用pTAL 或 EpTAL 来编译pTAL源程序。

EpTAL 编译出来的代码都是TNS/E 的。
pTAL 编译出来的代码都是TNS/R 的。
TAL 编译出来的代码都是TNS的。

TNS architecture. NonStop 系列体系结构。HP计算机(NS系列)基于CISC技术,TNS体系结构实现了TNS指令集。

TNS/E architecture. NonStop Series/Itanium architecture.这是HP基于Itanium技术的计算机系统。
TNS/E体系实现了Itanium的EPIC(explicitly parallel instruction set computing)指令集,而且向上兼容TNS和TNS/R系统级别的体系结构。

TNS/E native object code. 由支持Intel Itanium 指令编译器编译成的对象,TNS/E native object code只能在TNS/E系统上运行,不能在TNS和TNS/R上运行。

TNS/R architecture. NonStop Series/RISC 结构,如R所示,这是基于RISC指令集的HP计算机系统。向上兼容TNS系统。

TNS/R native object code. 由支持MIPS RISC 指令集的编译器编译成的代码,同样,他也只能运行在TNS/R系统上,而不能运行在TNS或者TNS/E系统上。

release version update (RVU).一组对NonStop OS系统软件的修正,用RVU ID来标识,以这为单位发售和提供支持。RVU包括对象文件,支持文件,文档等。

July 19, 2007

TAL的Hello World程序

Filed under: 技术 — liubin @ 22:47

The Transaction Application Language (TAL) 是hp NSK上一种编程语言,如果分类,应该算过程式。
,而且也需要编译为可执行文件。

Tal不区分大小写,但是在C语言里调用Tal过程时过程名(函数名)一定要全用大写。

注释有两种,一个是两个横线–,直到行末有效,另一个是感叹号!,直到行末有效,或者到下一个感叹号,比如
CALL PROC1(p1,!p2!,p3) –p2 is not provided
这个调用和 PROC1(p1,,p3)是等价的,但是如果在第二个参数出写个那样的注释,非常好理解。

下面来写个Hello World
其实无论是c,java,ruby,都很简单,但是Tal可就复杂了。

首先,需要定义一个主过程,着类似c的main函数。
PROC myproc MAIN;
这个myproc是名字,PROC标识他是一个过程,MAIN表示是程序开始执行的入口点。
然后就可以打印了。Printf,没找到个函数。当然,人家凭什么给你。

最后找了一下,发现是这样的。
首先,执行编译好的程序是从TACL启动的,注意是TACL,不是Tal,完全不同的东西。
如果要打印,则需要往TACL进程里写东西,TACL才能打印到标准输出。也可以把我们要执行的程序看作TACL的子程序。

TACL用RUN启动一个程序的时候,会有一个500多个字节(word?)的message送给被启动的进程,包括id,卷标,输入输出,参数等,我们就可以从这个message里取得输出的。
(more…)

July 14, 2007

给lilina加上历史存档的功能

Filed under: 技术 — liubin @ 11:16

lilina是一个用php写的web新闻聚合器,他非常简单但是非常强大.不需要数据库支持,这个比较方便,但是可能也会带来速度上的问题,我有时候login都要很半天,也许不是读写文件的问题。

默认的lilina只有4个页面,index24,index48,index168还有index-1
index-1是所有的数据,时间长了或者数据多了,这个文件会很大,所以在想是不是给lilina加个存档功能?

简单的想法就是每个星期一个文件存档,所以只需要拷贝index168这个文件就行了。
打算将存单的文件都放在lilina的根目录下的weeks目录,所以
首先在index.php里面加一个链接到weeks/index.php,当然,目录可以自己换。
然后编译weeks/index.php源文件

  1. <?
  2. //
  3. // author liubin
  4. // last modify: 2007.7.14
  5. // http://liubin.nanshapo.com
  6. //
  7. error_reporting(0);
  8.  
  9. $fn1 = date("Y-W",time() - 7 * 86400);
  10. $fn1 = $fn1.".html";
  11. if (!file_exists($fn1)) {
  12.     copy("../index168.html",$fn1);
  13. }
  14.  
  15. date_default_timezone_set('PRC');
  16. header("Content-Type: text/html; charset=utf-8");
  17. header("Pragma: no-cache");
  18.  
  19. //$dir    = $root;
  20. $dir    = ".";
  21. $files = scandir($dir);
  22. foreach ($files as $file) {
  23.     if(eregi("^[0-9]{4}-[0-9]{1,2}\.html$",$file)){
  24.         echo "<a href =\"/weeks/".$file."\">".$file."</a><br/>\n";
  25.     }
  26. }
  27.  
  28. ?>

每次这个页面被浏览的时候,都会判断指定格式的文件(yyyy-w.html)是不是存在,
如果上个星期(time() – 7 * 86400)的存档还没有,就将index168.html拷贝过来。

这个过程是当这个页面被浏览的时候才会执行,如果一个月都没人看这个网页,那么存档肯定是不会被保存的。
这个转存过程也可以放到根目录的index.php下,大概放在callback的rebuild部分处理,不过我还是放在了另外这个页面里,
把工作交给搜索引擎不知道会不会有什么问题。

这是历史记录的链接:http://ruby.nanshapo.com/weeks/

July 13, 2007

随机数是怎么产生的

Filed under: 技术 — liubin @ 21:52

最近在研究彩票,为什么人们那么在乎历史数据呢,虽然说简单的rand之类的函数不是很随机,但是彩票摇奖是像摇元宵那样从桶里摇出来的。
言归正传,买彩票还没中过什么奖呢。
刚才搜索了一下,原来是有一定的算法的,至于算法的理论基础,我就不知道了,也许是数学能证明的吧。
这里是一个类似glibc的实现的算法:
http://www.mscs.dal.ca/~selinger/random/

July 11, 2007

亚洲杯

Filed under: 生活 — liubin @ 21:22

哦,亚洲杯。
有人说日本平了是冷门,中国大胜也是冷门。
刚才伊朗是反败为胜的,有人说是为了攒rp,有人说是太热
现在韩国正在和沙特踢,沙特人都不白,换上黄衣服挺像巴西队的。
不知道欧洲人有没有熬夜看我们的亚洲杯?(转joke,妈的就知道你这么说)
不过李玮峰和政治依然的脑子被×踢了似的申请黄牌。

昨天丢了一把伞,今天换了一把伞,晚上买的鸡蛋不小心摔在了地上,只好炒着吃了,5个,太撑了。

今天在新系统上编译了一下程序,新的编译器提示了很多warning,发现几个比较搞笑的:
1. switch的default拼写错误,有的被写为defaut,有的被写为dafault,结果被编译器当成了label。
2. 一个函数,类似如下:
while(1){
一些判断,然后return
}
free(a);
free(b);
所有的返回都是在while里处理的,后面的怎么释放?
3. 很多非void的函数都没有return。

不过还好,都是小问题,要是真的哪个api不被支持了可就惨了。谢谢你,hp。

July 8, 2007

杨一:烤白薯

Filed under: 生活 — liubin @ 21:19

还是挺有深度的,这里就不提供MP3了,想要的话跟我说一声。
现在还在美术馆附近,可惜我从来没见过,毕竟在地安门附近生活了3年。

他又上街烤白薯,
东张西望躲着工商。
北风吹呀吹不走这里的病,
嗳呦,看见他总是孤孤单单。
他这人啊,就象烤白薯,
薰黑的脸,软绵绵的心。
骑着单车呀串街走巷,
嗳呦,就这样一天到头只求能卖个好价钱。
狗日的一天也没卖几个钱,壮着胆子来到了王府井。
求求你呀,警察大哥,
睁一只眼闭一只眼,放过我吧。
嗳呦,把我兜里掏了个精光光。
我几天的忙活全都泡了汤。
这个城市泛滥着冬天,
我在喧闹的人群中带着冷冰冰的脸。
这么多的高楼也找不到我的家园,
嗳呦,什么时候才能多挣点钱,
回家过个象样的年。
夜已深沉,风也停了,
寂静的街看不见路人。
卖烤白薯的兄弟回到一冰冷的被窝里,
安睡吧,不必叹息,
总有一天,你会到天堂,
就没有警察和工商。

什么是BCL

Filed under: 生活 — liubin @ 19:11

BCL就是Broadcasting Listening / Listener 的缩写。
广义上的意思,就是一种把收听广播为作为乐趣的爱好,狭义上来说,指的是以收听国外的短波广播为目的的爱好者。
对于狭义上的意义,欧美也称为SWL (ShortWave Listening / Listener)。

Older Posts »

Powered by WordPress