任意の祖先ディレクトリに一発でcdするcdup

Javaでプログラムを書いているとやたら深いディレクトリに入ることがよくあるけど、そんな時、上の方のディレクトリに移動するのが非常にめんどい。たとえばこんな状況。 $ pwd /home/user/program/java/src/jp/co/hogehoge/sample/utilで、ビルドをするため…

DBusイントロスペクション メモ

Web::Dashを作るときにLensサービスのインタフェースを調べたりLensの通信を傍受したりしたのでそのメモ。そもそもDBusとはなんたるかについてはうすださんの記事が詳しくて分かりやすい。 http://www.usupi.org/sysad/175.html - 「D-Bus の存在を感じてみ…

Unity Dashクローン Web::Dash というのを作った

Ubuntuの検索ユーザインタフェースUnity Dashと同じような機能をWebブラウザでできるようにするWeb::Dashというプログラムを作った。動作イメージはこんな感じ。下はXubuntu 12.04でWeb::Dashを立てて、Wikipediaレンズを使って検索したところ。Xubuntuなの…

現在進行中の処理と未来の値を指し示すfuture/promise/deferred

Future::Qモジュールを書いた時に他のfuture実装についてもいくつか調べたのでメモ。futureは(バックグラウンドで)現在進行中の処理と、それが終わったあかつきに得られるであろう結果の値を指し示す(というか保持する)オブジェクト。 http://en.wikipedia.o…

Future::Qをリリース

PerlのFutureモジュールのサブクラスとして、Future::Qというのを作ってみた。これはFutureモジュールにthen()メソッドといったQ.jsと(ほぼ)互換のメソッドを付け加えたもの。こんな感じで使う。

JSON::XS::BooleanオブジェクトをData::Cloneしようとすると死ぬ

表題のとおり。以下のバージョンで確認。 perl 5.14.2 Data::Clone 0.003 JSON::XS 2.33 JSON::PP 2.27200 rt.CPANは https://rt.cpan.org/Ticket/Display.html?id=82584以下のようなテストをやってみると、 use strict; use warnings; use JSON::XS (); use…

CPS関数をループ実行する

CPS(Continuation-Passing Style)の関数をループ実行するのに使えるユーティリティモジュールを試してみた。今回試したのは、 CPS (v0.18) http://search.cpan.org/~pevans/CPS-0.18/lib/CPS.pm Async::Defer (v0.9.4) http://search.cpan.org/~powerman/Asy…

Async::Selector v1.011をリリース

PerlモジュールAsync::Selector v1.011をリリースした。 http://search.cpan.org/~toshioito/Async-Selector-1.011/ 元々v0.02をリリース済みだったんだけど、ちょっとPODを修正・加筆しようと思ったらいろいろAPIでイケてないところがボロボロ出てきて結局…

空の正規表現パターン (empty pattern)の挙動

恥ずかしながら初めて知ったのだが、Perl5における空の正規表現パターン(m//とかqr//とか)はだいぶトリッキーな動作をするらしい。http://perldoc.perl.org/perlop.html#Regexp-Quote-Like-Operatorsに曰く、 If the PATTERN evaluates to the empty string,…

Async::DeferもしくはPromisesを使ってTwitterのuser_timelineをロードしまくるサンプル

表題のものを書いてGistにアップした。詳しくは内蔵PODを参照。 https://gist.github.com/4186470 Promiseを使っても非同期ルーチンのループ処理を書くのはなかなか難しい気がする。特にループの回数が事前に分からない今回のような場合は再帰コールを使わざ…

thisもnewもprototypeも使わない擬似クラス設計 (評価編)

thisもnewもprototypeも使わない擬似クラス設計 - DebugIto’s diaryではクロージャを使ったオブジェクトの作り方について考えてみたが、今回はそれをnode.jsでベンチマークしてみた。

Promises/Future と Async::Defer

You're Missing the Point of Promises · GitHubを読んだ。

Async::Queueをリリース

PerlモジュールAsync::Queueをリリースした。 http://search.cpan.org/perldoc?Async%3A%3AQueue このモジュールは、あらかじめ登録した非同期処理を立て続けに実行する際に、実行並列度に制限をかけてFIFO実行してくれる、というもの。 ぶっちゃけた話、asy…

nxml-modeでインデントレベルが正しいときにカーソルがインデント先頭にジャンプしてくれない

表題のとおり。行頭でTabを押してもカーソルがジャンプしてくれない。http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00147.html に対策が書いてあるけど試してない。

Net::Pcapのビルドでハマる

Xubuntu 12.04でNet::PcapモジュールをCPANからインストールしようとしたら、makeに失敗。 こんなエラーが出ていた。 looking for -lpcap... no - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - You appear to lack the pcap(3) library. If i…

thisもnewもprototypeも使わない擬似クラス設計

たとえばこんな感じか。

YAPC::Asia 2012 2日目

YAPC::Asia 2012 2日目を見に行ったのはいいけど聞いた内容を書き留めておくのにふさわしい場所が無かったので急遽はてなダイアリーを始めてメモった。(仕事の都合で1日目には行けなかったので2日目のみ)