December 2011
1 post
注目している Advent Calendar 2011
Perl Hackers http://perl-users.jp/articles/advent-calendar/2011/hacker/ Scala http://partake.in/events/33870915-f25b-40b6-9456-b898b898d48b Scalaz http://partake.in/events/4b3afdc8-e4ec-4010-b8ec-31b89210dda0 Haskell http://partake.in/events/eaea52c2-61ef-46d5-a855-3a2dde459e3a 定理証明 http://partake.in/events/30381166-394a-4fab-a5ea-5984d051de01 Vim http://atnd.org/events/21925
Dec 5th
October 2011
2 posts
Akka STM CommitBarrier
http://akka.io/docs/akka/1.2/scala/transactors.html#coordinated-transactions
Oct 26th
Scala STM Commit Barrier
A `CommitBarrier` allows multiple transactions on separate threads to perform a single atomic commit.  All of the actions performed by all of the atomic blocks executed by members of the barrier will appear to occur as a single atomic action, even though they are spread across multiple threads. Commit barriers can be used to implement transactors, where actions taken by multiple actors should be...
Oct 26th
August 2011
1 post
Scala STM コードリーディングメモ
Ref を作る object Ref の factory は、impl.STMImpl.instance impl.STMImpl.instance は、scala.concurrent.stm.ccstm.CCSTM を impl.STMImpl にキャストしたもの Ref.apply で 1:Int とか渡すと newPrimitiveRef > factory.newRef が呼ばれる factory は、impl.RefFactory だけど CCSTMRefs.Factory が実体。CCSTM が CCSTMRefs.Factory を extends している 最終的に new IntRef(1) の結果が返る atomic の呼び出し atomic > scala.concurrent.stm.TxnExecutor.defaultAtomic...
Aug 8th
May 2011
1 post
scala + amqp の I/F 悩み中
結果を全て Either で返すと仮定すると下記となる (connect(host = "localhost", username = "guest", password = "guest") { conn => conn.channel { ch => for { ex <- ch.declareExchange(name = "test.exchange", type = "direct").right q <- ch.declareQueue(name = "test.queue").right br <- q.bind(exchange = ex, routingKey = "test").right pr <- ex.publish(routingKey = "test",...
May 10th
April 2011
1 post
scala + amqp
以下、Java 版 RabbitMQ Client の接続例 ConnectionFactory factory = new ConnectionFactory() factory.setUsername(userName); factory.setPassword(password); factory.setVirtualHost(virtualHost); factory.setHost(hostName); factory.setPort(portNumber); Connection conn = factory.newConnection(); これを Scala を使ってラップしたい。 ・案1:コールバック内で設定する(implicit 使ってみたい病 val conn = connect {implicit prop => ...
Apr 14th
September 2010
1 post
2010年秋見たいアニメ
10/1(金) 22:00 アニマックス http://www.animax.co.jp/marvelanime/ 10/2(土) 24:10(以降 23:50) テレビ東京 http://www.tegamibachi.com/ 10/3(日) 23:25 NHK BS2 http://www9.nhk.or.jp/anime/yakumo/ 10/3(日) 25:00 テレ埼 http://www.geneonuniversal.jp/rondorobe/anime/hakuoki/ 10/3(日) 25:35 テレビ東京 http://www.starchild.co.jp/special/arakawa_ub/ 10/8(金) 25:55 TBS http://www.togainu.tv/ 10/9(土) 25:30 テレ玉...
Sep 10th
August 2010
1 post
贈与税のメモ
親族以外の第三者から1000万を贈与された場合。 (贈与額-基礎控除額110万円)×税率-控除額=贈与税額 (1000 - 110) x 0.4 - 125 = 231 以下、参考値 (1110 - 110) x 0.4 - 125 = 275 (710 - 110) x 0.3 - 65 = 115 (510 - 110) x 0.2 - 25 = 55 (410 - 110) x 0.15 - 10 = 35 (310 - 110) x 0.1 - 0 = 20
Aug 25th
July 2010
2 posts
MacPort から入れた Scala 2.7 API Document の PATH
sbaz install scala-devel-docs すると下記に入る。 /opt/local/share/scala-2.7/doc/scala-devel-docs/api 形式が HTML なので、どうやってコマンドラインから参照できるようにしようか悩み中。 vim からリファレンス見たいなぁ・・・。
Jul 12th
Scala 2.7 を MacPort から入れた場合の scala-tool-support...
/opt/local/var/macports/software/scala27/2.7.7_0/opt/local/share/scala-2.7/misc/scala-tool-support/ vim とかディレクトリがあるので、.vim 配下へごっそりコピー。
Jul 12th
June 2010
2 posts
Mac OS 10.6 起動時に root 権限でコマンドを実行する
・絶対に必要なこと /Library/StartupItems にディレクトリとファイルを置く $ sudo mkdir /Library/StartupItems/Foo $ sudo vi /Library/StartupItems/Foo/Foo —- #!/bin/sh . /etc/rc.common StartService () {   # shell command } StopService () {   # shell command } RestartService () { StartService; } RunService “$1” —- $ sudo chmod 755 /Library/StartupItems/Foo/Foo パラメータとして start/stop/restart...
Jun 24th
1 note
2010年夏見たいアニメ
http://www.geneonuniversal.jp/rondorobe/anime/hotd/ http://www.denyuden.jp/ http://www.okiagari.net/ http://www.occult-gakuin.jp/ http://moyashimon.noitamina.tv/
Jun 16th
May 2010
2 posts
Github で Pull Request をもらった際の対応
ど忘れしている事が多いのでメモ。 master の箇所は任意のブランチを指定。 git remote add -f [user name] http://github.com/[user name]/[project name].git git fetch [user name] git log -p master..[user name]/master git merge [user name]/master git log -p master..[user name]/master git push
May 27th
ref.vim + neocomplcache
let g:NeoComplCache_SameFileTypeLists = {   \ ‘perl’       : ‘ref’,   \ ‘ruby’       : ‘ref’,   \ ‘erlang’     : ‘ref’,   \ ‘objc’       : ‘c’,   \ ‘tt2html’    : ‘html,perl’,   \ ‘int-erl’    : ‘erlang,ref’,   \...
May 25th
April 2010
1 post
Concept for exchanging erlang value to lua value...
erlang value => lua value [a, b, c] => {“a”, “b”, “c”} {a, b} => nil # ignore tuple [a, b, c, [1, 2, 3]] => {“a”, “b”, “c”, {1, 2, 3}} [a, {foo, bar}, c] => {“a”, “c”, foo = “bar”} [a, {foo, bar, baz}, c] => {“a”, “c”} # ignore triple in array [a,...
Apr 29th
March 2010
1 post
2010年春見たいアニメ
私 http://www.angelbeats.jp/ http://www.1931.tv/ 妻 http://www.bgata-hkei.com/ http://www.tbs.co.jp/anime/maidsama/ http://www.geneonuniversal.jp/rondorobe/anime/hakuoki/ http://www.starchild.co.jp/special/arakawa_ub/ http://www.tbs.co.jp/anime/k-on/
Mar 13th
February 2010
4 posts
A queue is an erlang process in the RabbitMQ.
(rabbit2@mbp)1> rabbit_misc:dirty_read_all(rabbit_queue). [{amqqueue,{resource,«”/”»,queue,«”test_q”»}, false,false,[],<0.1100.0>}] (rabbit1@mbp)1> rabbit_misc:dirty_read_all(rabbit_queue). [{amqqueue,{resource,«”/”»,queue,«”test_q”»}, false,false,[],<9974.1100.0>}] (rabbit2@mbp)2>...
Feb 15th
Clustering RabbitMQ nodes on a single machine.
RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit1 ./scripts/rabbitmq-server -detached RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit2 ./scripts/rabbitmq-server -detached RABBITMQ_NODENAME=rabbit2 ./scripts/rabbitmqctl stop_app RABBITMQ_NODENAME=rabbit2 ./scripts/rabbitmqctl reset RABBITMQ_NODENAME=rabbit2 ./scripts/rabbitmqctl cluster rabbit1@foo RABBITMQ_NODENAME=rabbit2 ./scripts/rabbitmqctl...
Feb 14th
Concept code for AnyEvent::RabbitMQ
I need some advice for this concept. use AnyEvent::RabbitMQ; my $cv = AnyEvent->condvar; my $failur_cb = sub { warn @_; $cv->send; }; my $ar = AnyEvent::RabbitMQ->new({ timeout => 1, })->load_xml_spec( '/path/to/amqp0-8.xml', )->connect({ host => 'localhosti', port => 5672, user => 'guest', port ...
Feb 4th
1 note
January 2010
2 posts
Alice and Wonderland
http://alicetheapp.com/ git clone http://github.com/auser/alice.git cd alice make make boot mkdir web cd web git clone http://github.com/auser/wonderland.git /path/to/rabbitmq/scripts/rabbitmq-server -detached /path/to/alice/scripts/alice.sh -d -s [sname] -r [rabbit@foo] -p [port]
Jan 31st
常用している Firefox の Addon (備忘)
Firebug YSlow FireCookie Inline Code Finder FireRainbow FireFinder Live HTTP headers User Agent Switcher Selenium IDE Vimperator Greasemonkey SQLite Optimizer RequestPolicy
Jan 12th
2010年見たいアニメ
http://www.nodame-anime.com/ http://www.katanagatari.com/
Jan 1st
October 2009
1 post
clang のインストール
cd /path/to svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm cd llvm/tools svn co http://llvm.org/svn/llvm-project/cfe/trunk clang cd .. ./configure make
Oct 15th
September 2009
2 posts
視聴予定のアニメを嫁の希望で追加
http://anime.webnt.jp/seitokai/index.html http://www.sasameki.com/broadcast/index.html http://www.ntv.co.jp/bungaku/ http://www.tv-tokyo.co.jp/anime/fairytail/
Sep 30th
2009下期に見たいアニメ
http://www.starchild.co.jp/special/asura/ http://www.blasmi.com/ http://www.project-railgun.net/ http://www.bantorra.com/
Sep 12th
June 2009
12 posts
分散処理勉強会 #3 の資料は明日の夜に公開予定
仕事が忙しいのと、タクトオブマジックのやりすぎで、まだ 1/3 しか出来てない orz まずいなぁ。
Jun 30th
gen_paxos のコードを読み始めた
Kai 以外で gen_fsm を使ってる例を久しぶりに見た。素敵。 状態ごとの説明は、勉強会で教えてもらえるかもしれないので 今のうちに疑問点を洗い出す。 まずは、ディクレクトリ構成の変更と coordinator を gen_server 化する事から始める予定。 議題ごとに gen_fsm を使い捨てているので どっかにプロセスをストックしておいて 再利用できないもんかなぁ?(優先度低) nil preparing proposing acceptor learner decided 実際に動かしてみた 幾つかのノードを起動し、幾つかの議題を出してみた。 その後、過半数のノードを除去し、議題を出すと、ひたすら合意を取り続ける。 この状態で、除去したノードと同じ名前のノードを復活させ、net_adm_ping/1 で繋ぐ。...
Jun 25th
見る予定のアニメ一覧
http://umineko.tv/web/main/index.html http://www.bakemonogatari.com/ http://www.canaan.jp/ http://www.spicy-wolf.com/top.html http://tokyo-m8.com/
Jun 23rd
Perl の Coro を使ってみた
use Coro; use Coro::Select; sub printit { my ($string) = @_; for (1..5) { print $string, “\n”; select undef, undef, undef, 1; } } for my $coro ( async { printit ‘foo’ }, async { printit ‘bar’ }, ) { $coro->join; }
Jun 22nd
Erlang で作られた Packrat Parser
http://github.com/seancribbs/neotoma/tree/master あとで使ってみる。
Jun 22nd
Ruby Enterprise Edition
社内の Ruby 環境は、これに統一する事にした。 諸々全て /opt/ruby-enterprise-X.X.X-YYYYMMDD 配下にインストールされるので 確かに No Risk で導入検証できる。 wget http://rubyforge.org/frs/download.php/58677/ruby-enterprise-X.X.X-YYYYMMDD.tar.gz tar zxvf ruby-enterprise-X.X.X-YYYYMMDD sudo ./ruby-enterprise-X.X.X-YYYYMMDD/installer ただし、Tiger だと以下のエラーが出た。 /usr/bin/ld: unknown flag: -rpath あとで調べる。 同じ事で困っている人がいた。...
Jun 21st
MacVim + KaoriYa が Tiger(10.4) でも動くようになったので導入してみた
.vimrc で文字コード判別している箇所を if !has(‘kaoriya’) でザックリ不使用にした。 何故か、MacVim だと動く rails.vim が動かなくなった。 頻繁に rails で仕事するわけではないので、後で気が向いたら調べる。
Jun 21st
Erlang ODBC は並列?
マニュアルを読んだけど、言及されていなかった。 後でコードを読む。
Jun 16th
Skip Graphs
「キーの範囲検索ができる」と聞いても嬉しくない。 「キーの部分一致検索ができる」と聞くと嬉しい。
Jun 14th
そーいや
最近、tumblr でつぶやいてばかりだ。なぜ、twitter を使わないのか?>自分
Jun 14th
Vim indent file for Erlang.
http://www.vim.org/scripts/script.php?script_id=2023 便利。
Jun 14th
Erlang 64bit 環境でも dets は最大 2G まで
4G という迷信があるので、実際に試してみたのですが、2G を超えた時点でエラーが出ました。 dets のマニュアルは間違ってない。 始めに誰が 4G なんて言い出したんだろうなぁ?
Jun 8th
May 2009
5 posts
Erlang R13B を Mac Port から入れる
Mac Port から rrdtool を入れていたおかげで、xorg 関連のライブラリを全て入れ直す羽目になった。 xrender やらなんやら、とにかく消したり入れたりしまくった。 erlang が入るまで、2時間もかかったよ orz port outdated でこまめに更新を確認しないと、いざって時に困るねー。
May 21st
ToDo 管理
5 年ほど、コビィ博士の手帳を使い続けて来たが、iPhone を手に入れた事だし そろそろ Remember The Milk に乗り換えて iPhone と連携させようかと思った。 http://www.rememberthemilk.com/ 手帳は電池切れが存在せず、どこで開いても非礼にならない所が強みであるため 完全以降は厳しいかもしれないなぁ・・・どうしよっかなぁ
May 13th
FreeBSD 6.4 to 7.2
いつものごとく。 portsnap fetch update portupgrade -a freebsd-update upgrade -r 7.2-RELEASE freebsd-update install shutdown -r now freebsd-update install rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db portupgrade -af shutdown -r now freebsd-update install http://blogger.tempus.org/2009/05/freebsd-64-freebsd-72.html 最後のfreebsd-update installを実行すると、古いライブラリを消去してくれます。が、私が portupgrade -af のやり方を間違えたのか、再構築後の一部...
May 10th
iOctocat
dbloete という方から、git-phone を watching してるなら iOctocat もお薦めだよーみたいなメールが届いた。 はいはい、スパムスパムと思いつつも clone してコンパイルして試してみたら、git-phone より多くの機能が実装されており、しかも使いやすかった。ビックリ。常用確定。
May 7th
libxml2 の SAX API では、 HTML_PARSE_RECOVER...
一度、 DOM Tree を作らないと、壊れた HTML は扱えない。そりゃそうか。
May 4th
April 2009
6 posts
NERD_commenter を導入したら TT ファイルを開くとエラーになる
下記を追加してみた。 928     elseif a:filetype == “tt2html” 929         call s:MapDelimitersWithAlternative(‘<!—’, ‘—>’, ‘[%#’, ‘%]’) 良い具合に動いてる。けど、.vimrc から変数とかで設定できるようにしとけば良いのに。
Apr 26th
GMail の未読一覧
is:unread で検索できるなんて知らなかった。 これは一般的な事なのかな?
Apr 26th
iPhone に集中していたら
渋谷を越えて目黒だった orz
Apr 26th
iPhone SDKの教科書が欲しい
ジュンク堂のページで検索したら、池袋本店に在庫が 20 冊以上あった。 早速、会社帰りに買いに行こっと。
Apr 25th
iPhone から投稿
閲覧には便利だけどキー入力には慣れが必要だね
Apr 24th
rascut のインストール
# sudo gem install rubygems-update # sudo gem update -–system # gem sources -a http://gems.github.com # sudo gem install hotchpotch-rascut
Apr 22nd
March 2009
3 posts
Restore state on supervisor restart
という ML の質問に対して、下記の返信がった。 The supervisor will always start the child with the same arguments, for better or for worse. A common trick is to create an ets table in the supervisor (e.g. in the supervisor init() callback, or in the child start function before spawning the process, taking care not to try to create it more than once.) This way, your server can store data in the ets table that  survives...
Mar 25th
2009年4月に見る予定のアニメのメモ
http://www.starchild.co.jp/special/asura/ http://www.tbs.co.jp/anime/ph/ http://www.phantom-r.jp/ http://www.valkyria-anime.com/ http://www.hagaren.jp/ http://www.guinsaga.net/ http://www.anime-shangri-la.jp/
Mar 21st