Perl
YAPC::Asia 2014 で 自然言語処理を支える技術 〜要素技術とPerlの活用〜 というタイトルで発表してきました。発表はペース配分を間違えて、時間切れになってしまい、見に来て頂いた方々には申し訳ないです。発表資料は以下です。 ビギナー向けという位置づ…
もう先週の話になりますが、拙作 Module::Build::XSUtilがサポートされたMinilla 0.7.0がリリースされました。 Module::Build::XSUtilとは? Module::Build::XSUtilはModule::Install::XSUtilと同等の機能をModule::Buildで実現するためのモジュールです。以…
Minillaを使い始めたのですが、MinillaとModule::Build::Plaggableは共にModule::Build::subclass()を使用していて、Module::Build::subclass()は多重に使えないという制約のため一緒には使えません。XSモジュールではModule::Build::Pluggable::XSUtilを使…
MurmurHash3をpure perlで計算する。Digest::MurmurHash3::PurePerlをCPANにリリースしました。もともと、Algorithm::HyperLogLog::PP用に作っていた murmur32( ) に murmur128() を加えて、独立したモジュールとしました。 CPANTestersでもいまのところ問題…
CPANモジュールでサポートしていないOSのTest ReportをNA(Not Available)にしたい場合はMakefile.PLやBuild.PLで以下のようにする必要があります。 unless ($^O eq "MSWin32" || $^O eq "cygwin") { die "OS unsupported\n"; } CPAN Testersのツールは以下の…
SpookyHash の Perl バインディング、Digest::SpookyHashをCPANにリリースしました。 SpookyHashとは JenkinsHash*1の作者として知られるBob Jenkinsによる128bitの非暗号論的ハッシュアルゴリズムです。特徴としては キーが短い(192byte未満)場合の最適化が…
cpanm(App::cpanminus)は1.6000でcpanfileをサポートしましたが、Travis CIでcpanfileを使用したモジュールのテストがコケるという現象が発生していました。 原因 --notestオプションが指定されると、cpanfileの on 'test' で指定されたモジュールがインスト…
HyperLogLogアルゴリズムをPerlから使用するためのモジュール、 Algorithm::HyperLogLogをCPANにリリースしました。 XSモジュールですが、XSが使えない場合はPure Perlでも使えるように作ってあります。 HyperLogLog とは? HyperLogLogは、ある集合の異なり…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
FormValidator::Lite::Constraint::MooseでAny::Mooseを使っていましたが、Any::Mooseはdeprecatedってことで使うのをやめました。今後、Mouseの型をFormValidator::Liteで使いたい場合は、FormValidator::Lite::Constraint::Mouseを使用してください。 use …
Rails4に間に合うか、REPL付きエラー画面「Better Errors」がイイ感じ:Rails Hub情報局:エンジニアライフPlackでもREPL付きのエラー画面を出せるMiddlewareは既にあります。それが、Plack::Middleware::InteractiveDebuggerです。エラー発生時に以下のよう…
いま自分の中で空前のModule::Build期が来てます。先日リリースしたArangoDBについてもModule::Buildを使用しています。さらに、Do not ship modules with Module::Install 1.04 – Tatsuhiko Miyagawa’s Blogこの件で、改めてModule::Installをバンドルする…
10/20(Sat)に開催されたChiba.pm #1に行って来ました。ほとんどPerlを触ったことがないという方も、近くでやっているということで来てくれたようです。 今回はじめてLTをやったという人もいたので、こうして発表する人の裾野を広げていけるといいですね。千…
I released ArangoDB client for Perl.https://metacpan.org/release/ArangoDBThis module is supporting the following features. Collection Document Edge Index(Hash / Skip-List / Geo / Cap Constraint) Simple Query (all / by_example / first_examp…
コードの行数のカウントツールはいろいろありますが、コマンドラインツールでは CLOCが対応言語が多く、なおかつPerl製なので自分でいじるのも楽ってことで使ってます。ただ、この手のツールで扱いに困るのが、拡張子が無かったり、拡張子では言語が特定でき…
Hachioji.pmで作ってる Yairc(仮) の関係で、PocketIO(Socket.IOのPerl版)をdotCloudで動かす方法を調べました。 dotCloudでPocketIOを動かすには dotCloudでは本家Socket.IOが動きますし、WebSocketのサポートがアナウンスされていたので動くだろうとは思っ…
4/28(Sat)にNiigata.pm Tech Talk #1に行って来ました。以前から Niigata.pm に行ってみたかったし、ちょうど連休だったので新潟まで足を伸ばしてみました。 自分の発表 自己紹介も兼ねて、Githubで公開しいる過去の成果物についてある程度反響があったもの…
autolocale を作る際に Perl のプラグマモジュールの作り方について調べたので、書き残しておきます。 プラグマモジュールとは strict.pm や warnings.pm のようにレキシカルスコープで振る舞いを変更するモジュールをプラグマモジュールと呼び、通例として…
下記のTwitterでの発言に関連してメモ。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platf…
FormValidator::LiteのバリデーションルールとしてMo[o|u]seの型制約を使えるようにするFormValidator::Lite::Constraint::MooseをCPANにリリースしました。FormValidator-Lite-Constraint-Moose-0.13 - Use Moose's type constraints. - metacpan.org結局、…
昨日Twitterで、 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widget…
Perlの祭典、YAPC::Asia 2011 に参加してきました。昨年 YAPC::Asia に初参加した際は2日目だけしか参加できませんでしたが、今回は10/13の前夜祭から、10/15の勝手に後夜祭まで参加できました。さらに、今回は念願のスピーカーとしての参加でした。去年のYA…
ソースコードの品質向上のための効果的で効率的なコードレビュー にメトリクス計測ツールがでてきますが、Perlにももちろんあります。Perl-Metrics-Simple-0.18 - Count packages, subs, lines, etc. of many files. - metacpan.orgまたPerl::Metrics::Simpl…
Perlの祭典 YAPC::Asia Tokyo 2011 が 10/13-15にかけて東京工業大学 大岡山キャンパスで開催されます。Perlの話題だけではなくサーバの運用やWebアプリケーションのセキュリティなど様々な発表があるのでPerl使わない人でも楽しめると思います。YAPC::Asia …
Twitter見てたら「"error"とか特定のキーワードに色を付けたい」みたいなのを見かけたので書いてみました。簡単なものならsedでもいいわけですが・・・ ちゃんとやるなら、正規表現はRegexp::Assemble使って作って、色付けはTerm::ANSIColorを使えばいいわけ…
MetaCPAN APIを使用してモジュールの更新をGrowlで通知する metacpan-growlerというものを作ってみました。
先日Twitterでも言及したけど、PerlでWebSocketを使いたい場合は、Socket.IO(WebSocket未対応のブラウザの場合はFlash Socket, Ajaxなどで同等の処理を実現できる)のサーバサイド実装であるPocketIOが使えます。 CPANには同作者のPlack::Middleware::SocketI…
なんか、カジュアルなPerlユーザなのに今すぐフォローすべきPerl界のスーパーエンジニア - すぎゃーんメモに挙げられてしまったので、ちゃんとPerlネタを書こうかと。というわけで好きな名前空間 Best3!!!
だいぶ前に作ったTT2のプラグインモジュールTemplate::Plugin::JA::FoldをCPANに上げました。今更敢えてTT2を使う機会は少ないとは思いますが。。。
パケットキャプチャを取って分析する必要があったので、Perlでノンブロッキングでパケットキャプチャする方法調べてみた。 tcpdumpの出力を取るっていう方法もあるけど、自分でパースするのは面倒なのでCPANモジュールを使う。 AnyEvent::Pcap Net::PcapのAn…