neocomplcache + snipMate をやめて neocomplcache 単体に切り替える

vim

久しぶりに neocomplcache を git pull したら snipMate の multiple snippets*1 に対応していたので、neocomplcache 単体に切り替えてみました。 これで、snipMate_complete.vim は、お払い箱です。 .vimrc に追加した内容 始めに、snipMate の TAB キーを…

他のプロセスから送られてきたメッセージを誤受信しないよう制限する

刺身☆ブーメランのはてなダイアリー 2011/01/12(Wed) への返信です。 元コードの wait_server:client/3 は、receive で From を束縛しているので、この状態だとメッセージの選択受信になりません。From を Server_Pid に変更すると、ただしく動作すると思い…

Scala STM を試してみる その4 (Actor vs Actor + STM その2)

その1、その2、その3 に引き続き、今回は reply が不要なパターン*1で試してみました。 import scala.concurrent.stm._ import scala.actors.{Actor, Exit} import scala.actors.Actor.actor import scala.actors.Actor.State.{New, Terminated} import Syst…

Actor + CPS でコールバック関数を隠蔽する

勉強会第20回 - Scala勉強会 in 渋谷で久しぶりに発表するので下準備など。 ちょっとイロイロと手抜きコードですが… runTest メソッドだけ注目して下さい。switch メソッドを評価する度に Actor が切り替わります。 object Trampoline { import scala.actors…

Remote Actor + CPS

下記は、あまり嬉しくない。Remote Actor 間でトランポリンする方法を考え中。うーん、reset と shift 以外の制御構造が欲しいと思うのは私だけ? object RemoteTest { import scala.actors.{Actor, AbstractActor} import scala.actors.Actor.actor import …

Scala Actor の reply が正しくできない問題は scala.actors.Channel が悪いのかも?

突っ込み大歓迎です。というか助けてください。環境は、Mac OS 10.6.5, Scala 2.8.1.final, Java 1.6.0_22 となります。 検証用のコードは、Scala STM を試してみる その3 で使ったコードの修正版のこちらとなります。STM と対比するために Actor のみを用い…

Scala STM を試してみる その3 (Actor vs Actor + STM)

前々回、前回に引き続き ScalaSTM を試してみました。 結論から言うと、私の環境では Worker の数が 300 を超えた辺りから、カウンタ用の Actor への問い合わせがタイムアウトしまくるので、Actor + STM の方が良好な結果が得られました。 今回テストに使用…

Scala STM を試してみる その2

前回に引き続き ScalaSTM を試してみました。 object SampleForSTM2 { import scala.concurrent.stm._ import scala.util.control.Exception.allCatch def main (args: Array[String]) { doTest( "case5" -> case5, "case6" -> case6 ) } def doTest(testCas…

Scala STM を試してみる

ScalaSTM を試してみました。正直、ライブラリ内でどのように STM を実現しているか理解していませんが、とりあえずプリントデバックしてみました。 準備 面倒なので sbt, maven 共に使いませんでした。 % curl -O http://scala-tools.org/repo-releases/org…

Scala Advent Calendar JP 2010 Day 22: Scala Actor + NIO

この記事は Scala Advent Calendar JP 2010 22 日目(12/28)です。 Scala Actor + NIO で Echo server を書いてみました。 毎度の事ですが、突っ込み添削大歓迎です。 Source 解る方用の説明をさらっと行うと、Actor は Thread Pool として利用しており、NIO …

Scala Advent Calendar jp 2010 の 12/18 - Loan pattern in CPS を読んだ感想

Loan pattern in cps - hano - GitHub Perl の Coro に慣れていると、Scala の限定継続は使い難いなーと思っていたら、認識を覆されたのでメモ。私の理解不足でしたと。 以下に簡単なサンプルを用意しました。 object Sample { import scala.util.continuati…

Scala で XML を Parse する(implicit 編)

以前、Scala で XML を Parse する(添削希望) という記事を書いたところ、ありがたい事に Scala で XML を Parse する ( DSL 編 ) - 国道十六号高架下 というトラックバックを頂いたので、喜び勇んで拝読させて頂いた。 しかし、残念ながら私のスキルでは、…

PartialFunction で FSM(Finite State Machine) やってみた

Twitter で FSM を Actor 無しで…みたいな話しが出ていたのでやってみました。 突っ込み添削大歓迎です。 main の中の zip が余分だった。List(FSM(GetState) -> State1, FSM(ToState2) -> State2, ...) の方が読みやすい。 object Test { def main (args: A…

Scala Actor + HttpServer

Scala で 簡易的な httpd を作れないかと調べていたら、Java に HttpServer という便利なクラスがあった。 handler は、Actor 上で使いたいので Executor を継承した ActorExecutor というのを作ってみた。 import java.net.InetSocketAddress import java.u…

Scala で常駐する Daemon を作る方法

Scala で常駐する Daemon を作る用途があり、fsc が使っている方法をパクったのでメモを残す。例によって添削は熱烈大歓迎です。 ざくっと概要を説明すると ProcessBuilder 経由で別の Java VM を起動し、さっさと exit してしまえば Daemonize 完了となる。…

Play framework の Tutorial を Scala と Scalate で行う(Step1, Step2)

Scala を使い始めて Java 文化*1に辟易している方は絶対に使った方が良い Play framework の Tutorial を行ってみたので、そのメモを残す。Play framework は、1.1 の beta version がインストール済みであると仮定する。 Tutorial を始める前の下準備 Play …

第五回 Erlang 分散処理勉強会 無事終了

第五回 Erlang 分散処理勉強会ですが、皆さんにご助力頂き、無事終了いたしました。 発表者の皆様、運営にご協力頂いた皆様、会場をご提供頂いた日本オラクルの皆様、本当にありがとうございました。 懇談会について 今回は、開始時間が遅かったので懇談会を…

RabbitMQ の Java Client を Scala から使う

下準備 下記から RabbitMQ Java Client をダウンロードする http://www.rabbitmq.com/java-client.html 「ant dist」でコンパイルすると「build/dist」配下に幾つかの jar が出来る。 今回は下記の二つを利用する。 commons-io-1.2.jar rabbitmq-client.jar …

Scala で XML を Parse する(添削希望)

Scala で XML を Parse してみたのですが、今ひとつカッコ悪いコードになってしまいました。 凄腕の Scala Hacker に添削して欲しい所です… orz import scala.io.Source import scala.xml.{Node, NodeSeq} import scala.xml.parsing.XhtmlParser object Test…

JavaScript のブラウザ判別

今年の春に入社した新人がブログを書き始めたので返事を書いてみる。 IEとFirefoxのイベント処理 - SASAKURE-CODING どのような言語でもそうですが、基本的に我々初学者が困るような事は、世の中の誰かが既に解決済みである可能性が高いです。 とは言え、何…

第二回 Erlang 基礎勉強会まとめ

以前、告知した通り 2010年7月28日(水) にジェミナイ・モバイル・テクノロジーズ株式会社様の会議室をお借りして Erlang 基礎勉強会の第二回目を行う事ができました。快く会場をご提供して頂いたジェミナイ・モバイル・テクノロジーズ株式会社様、また、ジェ…

第五回 Erlang 分散処理勉強会を 8/27(金) に開催します

詳細と参加のお申し込みは下記の URL からお願いします。 第五回 Erlang 分散システム勉強会 : ATND今回は、Erlang をご活用されている企業である Gemini Mobile Technologies 様をお招きし、分散 KVS である Hibari の発表を行って頂く予定です。 また、他…

neocomplcache で zencoding.vim 内の snippets を補完する

vim

zencoding.vim 内の Snippets を覚えられなかったので neocomplcache で補完できないかと思い、下記のような Plugin を書いてみました。 http://gist.github.com/469369 需要はあまりないと思いますが晒しておきます。

第二回 Erlang 基礎勉強会

去年末に第一回を行った Erlang 基礎勉強会ですが、7/28 にジェミナイ・モバイル・テクノロジーズ 株式会社様の会議室をお借りして第二回を行おうと思います。 今回は、手続き型言語に慣れ親しんだ方向けに、Erlang の軽量プロセスや、そのプロセスを用いた…

vim-ref のプラグインを自作する

vim-ref は、プラグインで拡張できる設計となっているので、試しに Twitter 検索用のプラグインを自作してみました。 と言っても、Twitter 検索を実行する適当なコマンドを Perl で自作し、プラグインの中から実行しているだけの簡単な仕組みです。 ref-twit…

vim-ref が Erlang に対応した!

Vim から各種リファレンスを参照できる @thinca 氏作のvim-ref が Erlang に対応したので試してみました。 「:Ref erlang [検索したい単語]」と入力するか、検索したい単語の上で 'K' を押下すると「erl -man」の結果をバッファに表示してくれます。 それだ…

tmux で cdd (別の WINDOW のカレントに移動)する

cdd - screen の別WINDOWのカレントディレクトリに移動する zsh スクリプト - 川o・-・)<2nd life 上記を tmux で行いたかったので cdd に二行ほど加えてみました。diff cdd.org cdd.new 44a45 > export WINDOW=`tmux respawn-window | cut -d ':' -f 3` 4…

Erlang + ManPageView(Vim) で関数を検索

以前、ManPageView を修正し erl -man 対応を行ったのですが、Man がモジュール単位であるため関数名で検索できませんでした。 そこで Man を開いた後に関数名で検索するように無理矢理修正してみました。 http://github.com/cooldaemon/myhome/blob/master/…

Erlang + Lua = erluna

第四回 Erlang 分散処理勉強会から早や3ヶ月…、学ぼう・試そうと思っていた事が思うようにできない日々を悶々と過ごしておりましたが、何とか時間を作って Erlang linkd-in driver を試すために Lua を組み込んでみました。 Source Code cooldaemon's erluna…

第四回 Erlang 分散処理勉強会 まとめ

第四回 Erlang 分散処理勉強会は、皆様のご協力のもと、無事に終了する事ができました。 発表者の皆様、運営にご協力頂いた皆様、会場をご提供頂いたオラクルの皆様、本当にありがとうございました。 運営について 会場 今回、日本オラクル様に会場をご提供…