March 2012

申请一个 bing translator api 玩玩

想补充下我的 DrawSthHelper 的翻译功能,google translate 的 api 收费了,于是转而投奔 bing translate ,然后发现,真 TMD 麻烦。很少用 MS 的 online 服务,好像是 bing app ID 的模式 deprecated 了,以后要用 Azure Marketplace 的了。然后就有了下面这个麻烦至极的过程。。。

api doc 在这里:http://msdn.microsoft.com/en-us/library/ff512421.aspx

其中,因为 bing app id 已经不再维护了(但还是可用的),还要注册一个 Azure Marketplace ,还要获取一个 access token 。

获取 access token 在这里:http://msdn.microsoft.com/en-us/library/hh454950.aspx

我简单罗列一下步骤,也就是翻译一下啦 @@

1,来这里免费注册个账号 https://datamarket.azure.com/developer/applications/

2,然后通过这个链接:http://go.microsoft.com/?linkid=9782667 ,来订阅(subscribe)Microsoft Translate API 的数据,每个月可以免费翻译 200w 个字符,我相信。。。一般人都够用了。

3,然后注册一个自己的应用,以下需要填的信息:

客户端ID(client_id,等会需要用),名称(随意),客户端机密(这翻译烂的。。。client secret ,等会也需要用),重定向 URL (其实是随意的,就是如果你的应用对外使用了,会显示你的名称,而你的名称的链接就是填的这个)

4,然后,POST 数据去获取 access token

POST 的参数如下:

client_id , 就是刚才那个客户端ID

client_secret ,URL encode 一下,例如,”=” 是 %3D

scope,定值,http://api.microsofttranslator.com/

grant_type,也是定值,client_credentials

然后就 POST 吧

curl -d ‘grant_type=client_credentials&client_id={your client id}&client_secret={your client secret after url encode}&scope=http://api.microsofttranslator.com’ https://datamarket.accesscontrol.windows.net/v2/OAuth2-13 | python -m json.tool

返回的是一个 json ,我用 python 去解析了一下,我们只需要其中的 access token 。

5,翻译一个词看看,这回是 GET ,GET 的参数如下:

text , 需要翻译的文本啊,字符串啊

to ,这个不用解释了吧。。。

from ,这个也不用

不过,需要注意的一点。。。就是要加一个 Authorization 的header ,值是 bearer + ” ” + 刚才的 access token

翻译开始:

curl -H “Authorization: bearer {刚才那一大串access token}”  “http://api.microsofttranslator.com/V2/Http.svc/Translate?text=hello&from=en&to=zh-CH”

bing 返回:

<string xmlns=”http://schemas.microsoft.com/2003/10/Serialization/”>你好</string>

(这个时代还用 XML 。。。)

 

附 language codes :http://msdn.microsoft.com/en-us/library/hh456380.aspx

npm 安装hashlib 失败

呃。。。这篇东西趟在我的草稿箱一段时间了。。。

当时在摆弄 hubot 。我本机 MacOSX 要装几个 lib

==================

有个script 需要hashlib 的,但我发现npm 安装不上hashlib ,报错

[1/6] cc: libhash/md4c.c -> build/Release/libhash/md4c_1.o
[2/6] cc: libhash/md5c.c -> build/Release/libhash/md5c_1.o
[3/6] cc: libhash/sha0c.c -> build/Release/libhash/sha0c_1.o
[4/6] cxx: hashlib.cc -> build/Release/hashlib_2.o
../hashlib.cc:14:16: error: ev.h: No such file or directory
../hashlib.cc:15:17: error: eio.h: No such file or directory
../hashlib.cc:311: error: ‘eio_req’ was not declared in this scope
../hashlib.cc:311: error: ‘req’ was not declared in this scope
../hashlib.cc:312: error: expected ‘,’ or ‘;’ before ‘{’ token
Waf: Leaving directory `/usr/local/lib/node_modules/npm/node_modules/hashlib/build’
Build failed:  -> task failed (err #1):
{task: cxx hashlib.cc -> hashlib_2.o}

解决办法也简单,根据 https://github.com/brainfucker/hashlib/issues/25

npm install https://github.com/ovaillancourt/hashlib/tarball/compat_fix_node_0_6_X 即可

DrawSth

这几天都在玩这个 app,苦于词汇量真的太少。。。真的看出来对方画的是什么,也不懂拼。

随便写了个小程序,原理很简单,将所有的字母全排列一次,然后 spell check 。全排列原来已经有 lib 实现了,spell check 也有 pyenchant ,真是没有技术含量啊。。。

日后考虑加入 Google Translate ,不知道会不会因为太频繁访问被 Google ban 掉。

https://github.com/hellosa/draw-something-helper

当然,一般不用这东西,要不就破坏了游戏性了。

—————

update 2012-03-20:

今天想加入 google translate 的功能。。。发现貌似收费了。。。

最近生活,不知道算不算充实,反正就是那么过着

漫画方面,<Hunter X Hunter> 终于迎来了蚂蚁篇的终结。。。好几年了。。。看看停停的,很多剧情都忘得差不多了,结果 339 <静寂> 来了个集体大回忆,没有一句对白,一格一格,把蚂蚁篇来了个完美的终结。看完我只能惊叹,神作!!《猎人》最终发展得如何,不清楚,但这一话,绝对神作。蚂蚁篇,大家都有这个想法,想看看 FJ 如何终结王,结果,一个蔷薇就完结了。有几话看得我心跳加速,好刺激。FJ 真成魔了。

看了本书,韩寒的《青春》。看完才发现,浪费钱!!!正本书,基本除了几篇(或者根本没有)不是他的博文外,基本取自于他的 blog ,坑爹啊。。。我之前基本都看过了。。。虽然我相信你是真的。。。但也不能这样坑人吧。。。

看了部电影,《桃姐》。我第一次在北京看粤语电影,专诚跑去东直门的百老汇电影中心看《岁月神偷》,感动。第二次就是和室友去看《志明与春娇》,也是佳作。这回的《桃姐》更是非常感动,平静的叙事,朴实的画面,平凡的人生,正如影片的英文名 A Simple Life ,很是喜欢。本月还有《春娇与志明》,期待一下!预告片的主题曲极好听,瞬间爱上,曲婉婷的《Drenched》

好了,回到这个 post 的 title 来,“变” ??没错,我决定改变一下了!!上周五突然蹦出来的一个想法,然后经过几天,终于作出了决定!!4 月 1 日!