2009/01/16

2008年Erlang十大新闻【译】

原文:http://erlanginside.com/the-top-ten-erlang-news-stories-of-2008-69

以下是翻译:

不用说,2008对大多人来讲是艰苦的一年,2009看上去可能会更难过。但对于Erlang社区来讲,应该是自从Joe Armstrong发布Erlang以来最好的一年了。呃,算起来2007应该是使用Erlang的最佳时机了。下面是2008 Top Ten有关Erlang的事件,从小到大排序。我个人预言Erlang将在2009年里大显威力(This is my subjective ranking with a focus on the trends that will introduce the most number of developers to the power of Erlang in 2009.)。

10.根据IT Jobs Watch,过去的一年里,英国有关Erlang的工作岗位数翻了4倍,我相信美国也应该有相似的情况,但尚未有数据证明。

9.LangPop.com发现有关类似Erlang和Haskell的编程语言的讨论高于它们的使用(到目前为止)。比如:Erlang在讨论的频繁度上已经超过C#和Visual Basic,在SD Times已出现Erlang的封面新闻more stories on Erlang

8. Erlang Inside的出现将填补Erlang新闻站点的空白。

7.亚马逊在其SimpleDB release上更多使用了Erlang,尽管SimpleDB在2007还是beta版,直到2008才发布官方正式版。

6.Pragmatic Programmers发布一系列优秀视频演示。

5.Reia的alpha版放出。提供了包含Erlang运行环境和VM的脚本语言,这成了Erlang Inside的头条。

4.RabbitMQ,--参阅Google Talk有关RabbitMQ部分。

3.Nitrogen Web Framework for Erlang,这成为那时的封面新闻。Rusty通过发布一些展示框架威力的演示视频获得很大发展。

2.CouchDB,越来越多的用户正在选择使用。CouchDB已入住Apache Incubator。更多的人开始讨论:“你知道它是由Erlang写的吗?”。

1.最后。。。Erlang编写的Facebook的聊天室用户数到达了7000万,同时在线哦。我实在想不出有这更能展示Erlang威力的好广告了(电信应用除外)。


--------------------------------
错误之处,欢迎指正。

2009/01/14

终于回家有着落了

邰鹏帮忙买车票,连夜排队,前天晚上十点多就去北京北站,赶在队伍第二名,结果还没到。Z51,一张都没有?!这铁路真是混蛋阿,人民强烈不满意!

哎,只好和同事一起订了去上海的机票,然后坐汽车回家。

查火车票时,在网上发现了一个QQ群,盐城/东台人比较多,叫做“北漂的盐城人”,号码:1755899。

2009/01/12

curl模拟浏览器抓取URL

使用php的curl模块,模拟浏览器行为,“E:/www/pachong/cookie.txt”为cookie存放的地方。curl默认输出为PHP的标准输出php://stdout,您也可以修改输出记录的磁盘文件。


<?php
set_time_limit(0);
ob_start();

$keyWords = rawurlencode("论语");

$url = 'http://www.amazon.cn/mn/searchApp?fea=layout&ix=sunray&keywords='.$keyWords.'&searchType=&showType=3&sortType=&node=0&searchKind=keyword&uid=168-5083975-3489864';

//初始化
$ch = curl_init();

curl_setopt($ch, CURLOPT_COOKIEJAR, "E:/www/pachong/cookie.txt");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; InfoPath.1; CIBA)");
curl_setopt($ch, CURLOPT_URL, $url);

//echo header
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//mark this as a new cookie "session".
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
//echo body html
curl_setopt($ch, CURLOPT_NOBODY, FALSE);

//写入磁盘文件
/*
$outputFile = fopen("E:/www/pachong/contents.txt", 'ab');
curl_setopt($ch, CURLOPT_FILE, $outputFile);
*/

curl_exec($ch);

curl_close($ch);

$content = ob_get_clean();



echo '<pre>';
echo htmlspecialchars($content);
echo '</pre>';
?>

UTF8版的wordwrap()

wordwrap()发邮件有时候会用到之,php中原生的有时候会将汉字截断,它无法识别单字节和多字节,这里写了一个utf8版的。

<?php

function wordwrap_utf8( $string, $length=75, $break="\n", $cut=false) {
    preg_match_all("/./u", $string, $matches);
    $s = $matches[0];
    $ct = count( $s );
    for($i=0; $i<ceil($ct/$length) ; $i++) {
        $ns .= implode("", array_slice($s, $i*$length, $length) ) . $break;
    }
    return $ns;
}

?>


解决了wordwrap截断汉字的问题。缺点是$cut参数无法使用,会将英文单词截断。

如何保证程序唯一运行?

以前写过如何让php程序在后台运行,客户端触发,后台方式运行PHP程序 ,但某些场合要求我们此程序只能唯一运行,只跑一个。

解决办法:
1.使用文件锁来控制
2.创建目录
上述两个操作均可保证唯一性,当然还有其他办法,查找进程中是否有同名的进程之类,不太适合php。


<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // 进行排它型锁定
    //do something
   
   
    flock($fp, LOCK_UN); // 释放锁定
} else {
    echo "Couldn't lock the file !";
    exit();
}

fclose($fp);

?>

2009/01/09

The Great Fucking Wall !

ghs.sinoestate.com被封了,域名的CNAME无效了,博客暂不能访问,Fucking GFW。

大宝的http://tongteen.blogspot.com/可以访问。GFW天天堵啊堵,不知道防民之口胜于防川么?存在必然有其合理性。

GFW,日你娘!

2009/01/05

有点浮躁,不要急,要让自己有实力

毕业半年了,周围好几个兄弟没有继续读书,和我一样出来工作了。

现在大家遇到了一些的问题,找不到感觉,不知道自己到底要做什么,觉得待遇太低,和当初自己设想的不太一样。

都有些浮躁了。有时候浮躁是件好事情,表明有欲望,心未死(有了让儿子混好的想法时估计就不行了)。

十年磨一剑,应该有这样的决心的。男人帅最没有用了,应该变得有实力,你能够做别人做不了的事情么?哪怕你说去护城河冬泳、连续跑步4小时以上,更不要提什么社会经验、人脉资源和专业技能之类。

亲爱的朋友们,一起持续、刻苦的努力吧,勤奋是成功的前提。天上永远不会掉馅饼,我只相信合理的回报。