2010/10/31


古くからvimmerの人は知ってるかもしれませんが、昔excitetranslate.vimというスクリプトを書きました。 英語が書かれたバッファで :ExciteTranslate と実行すると分割ウィンドウに翻訳された文章が表示されるという物です。昨日githubにも入れておきました。
mattn's excitetranslate-vim at master - GitHub

Translate between English and Japanese using Excite

http://github.com/mattn/excitetranslate-vim
前は別のリポジトリに置いてあって、最初にリポジトリにcommitしたのが2006年でした。結構長く使っているスクリプトです。
これまでvimの環境を作る際には結構な頻度で入れてきたスクリプトですが、GoogleTranslateの方が場合によっては翻訳精度が高かったりするので、googletranslate.vimというのを書きました。

mattn's googletranslate-vim at master - GitHub

Translate between English and Japanese using Google

http://github.com/mattn/googletranslate-vim
使い方はexciteと同じく :GoogleTranslate で翻訳可能です。ちなみに文章が英語であれば日本語に、日本語であれば英語に翻訳されます。
Dan the Man with Too Many Home Appliances to Maintaitain

:GoogleTranslate
引用: http://blog.livedoor.jp/dankogai/archives/51541861.html
あまりにも多くの家電製品とダンマンはMaintaitainする
...

:ExciteTranslate Maintaitainへのあまりに多くの家電をもっているダン男性 えぇ......っと。。。。。(汗
Posted at by



2010/10/30


  • 人が増える
  • サーバが落ちる
  • サーバが落ちる
  • イルカ昇天画像
  • グリーンピースから(以下略
  • Facebook婚
  • Facebook離婚
  • 改変リンク
  • ネタパクリ疑惑
  • 闇プログラマ(以下略
  • 2000人くらいフォローしないと観測範囲が(以下略
  • 勝手にリンク禁止
  • 勝手にフォロー禁止
  • 勝手に「いいね!」禁止
  • はま○やという人が「こんにちわ、こんにちわ」(以下略
  • はせ○わようすけという人が「Facebookの壊し方」をノートに(以下略
  • ○ぬがわまさとという人がXSS(以下略
  • Facebookで動くボット登場
  • ボットと知らずに恋する人現る
  • Facebook版ふぁぼったー登場
  • ダッシュボードに大量の「なるほど5時じゃねーか」
  • 勝手に「いいね!」(以下略
  • FacebookをFBって略すな
  • 認証APIの大胆な変更
  • サポートがユーザに「君らはクライアントの半分を殺した」と言われる
Posted at by



2010/10/28


Vimの英単語の意味を考えると、「Vimでソープ」とかかなりイヤラシイですが、ぜんぜんちがうよ!
VimでSOAP通信を実現しました。
Gistの様なサービスでIdeoneというのがあるんですが、これまでPure VimscriptでGist、Codepadと制覇してきたので、よしIdeoneも...と思ってAPIドキュメントに目を通してみたら、なんとSOAP通信ではないですか!

でもくじけません!負けません!
頑張ってSOAP通信しました。
mattn's ideone-vim at master - GitHub

vimscript for ideone

http://github.com/mattn/ideone-vim/
:Ideone -r
でideone上で実行し :Ideone -p
でprivate投稿となります。Gistと同じ様に使えます。ソースコードのメイン部はこんな感じ。
前に作っていた「webapi-vim」というスクリプト群に含まれる「xml.vim」に少し手をいれましたが、かなり良い仕事をしてくれています。

ideone-vimについてはSOAPのXMLを自前で作ってますが、本来WSDLからインタフェースを作れるのがSOAPの魅力ですね。
なのでさらに戦ってみました!

soap.vimというのをwebapi-vimに追加しました。
これを使うと関数を定義しなくとも、以下の様にwsdlを読み込ませるだけでgetLanguagesという関数が呼び出せます。
let api = soap#proxy("http://ideone.com/api/1/service.wsdl")
let langs = api.getLanguages("username", "password")
for key in sort(keys(langs))
  echo key."=".langs[key]
endfor
ideoneのアカウントを取って実行すると(ideoneのパスワードはAPI専用のパスワードになります)
1=C++ (gcc-4.3.4)
10=Java (sun-jdk-1.6.0.17)
101=Visual Basic .NET (mono-2.4.2.3)
102=D (dmd) (dmd-2.042)
104=AWK (gawk) (gawk-3.1.6)
105=AWK (mawk) (mawk-1.3.3)
106=COBOL 85 (tinycobol-0.65.9)
107=Forth (gforth-0.7.0)
108=Prolog (gnu) (gprolog-1.3.1)
11=C (gcc-4.3.4)
110=bc (bc-1.06.95)
111=Clojure (clojure 1.1.0)
112=JavaScript (spidermonkey) (spidermonkey-1.7)
114=Go (gc-2010-07-14)
115=Unlambda (unlambda-2.0.0)
116=Python 3 (python-3.1.2)
117=R (R-2.11.1)
118=COBOL (open-cobol-1.0)
119=Oz (mozart-1.4.0)
12=Brainf**k (bff-1.0.3.1)
121=Groovy (groovy-1.7)
122=Nimrod (nimrod-0.8.8)
123=Factor (factor-0.93)
124=F# (fsharp-2.0.0)
125=Falcon (falcon-0.9.6.6)
13=Assembler (nasm-2.07)
14=CLIPS (clips 6.24)
15=Prolog (swi) (swipl 5.6.64)
16=Icon (iconc 9.4.3)
17=Ruby (ruby-1.9.2)
19=Pike (pike 7.6.86)
2=Pascal (gpc) (gpc 20070904)
21=Haskell (ghc-6.8.2)
22=Pascal (fpc) (fpc 2.2.0)
23=Smalltalk (gst 3.1)
25=Nice (nicec 0.9.6)
26=Lua (luac 5.1.4)
27=C# (mono-2.8)
28=Bash (bash 4.0.35)
29=PHP (php 5.2.11)
3=Perl (perl 5.12.1)
30=Nemerle (ncc 0.9.3)
32=Common Lisp (clisp) (clisp 2.47)
33=Scheme (guile) (guile 1.8.5)
34=C99 strict (gcc-4.3.4)
35=JavaScript (rhino) (rhino-1.6.5)
36=Erlang (erl-5.7.3)
38=Tcl (tclsh 8.5.7)
39=Scala (scala-2.8.0.final)
4=Python (python 2.6.4)
45=Assembler (gcc-4.3.4)
5=Fortran (gfortran-4.3.4)
54=Perl 6 (rakudo-2010.08)
6=Whitespace (wspace 0.3)
62=Text (text 6.10)
7=Ada (gnat-4.3.2)
8=Ocaml (ocamlopt 3.10.2)
9=Intercal (c-intercal 28.0-r1)
error=OK
languages=
おぉぉぉぉぉぉぉぉぉぉぉぉぉ...
いろいろ出来る気がしてきましたね!ただ今は戻り値は全てstringで扱ってたりするので実用的ではありません。この辺は今後、ideone意外のサービスで確認しながら改良していきます。

俺は一体何と戦っているんだ!
Posted at by