Acme::Text::Glitchというモジュールを書きました

最近ちょっとかなり忙しくしていたのですが、ちょっと落ち着いてきたので気分転換にAcmeりました。

ソースはgithub

GitHub - Shinpeim/p5-Acme-Text-Glitch: Glitch your text

NAME
    Acme̳::͏Teͪxt::͌G̨l̼i̸t͑ch̆ -ͣ ̈́Ǵlit̒ch yo̶ur ́t͓e̾x͇t͂ like ̹t͗hiͨs̐.

SYNOPSIS
     use Acme::Text::Glitch;
     use Encode;

     my $tg = Acme::Text::Glitch->new;
     my $glitched_string = $tg->glitch('glitch me');
     pritn encode('utf8',$glitched_string);

DESCRIPTION
    Ȁcme̐::͔Të́xtͬ::Gl̏ĩțc̻h ̇creạte g͎l̀itch̊e͍ḑ̣t̫ext̿ ̀l̨ike͎ thi̕s.

METHODS
  new
     Acme::Text::Glitch->new(glitch_level => 4);

    you can pass glitch_level to constructor. default is 10.

  glitch_level
     $tg->glitch_level(8);
     $tg->glitch_level; # 8

    accessor to glitch_level.

  glitch
     my $glitched_string = $tg->glitch($string);

  unglitch
     my $unglitched_string = $tg->unglitch($glitched_string);

AUTHOR
    Shinpei Maruyama <shinpeim@gmail.com>

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

こんな感じで、 Acme::Text::Glitch->new->glitch("string"); すると glitchされたtextが帰ります。ワンライナーで実行してみたログを貼付けるとこんな感じ。

CPANにはあがっていないので、インストールはcpanmコマンドでGitHubからどうぞ

$ cpanm https://github.com/Shinpeim/p5-Acme-Text-Glitch/tarball/master

いまさらglitch textかよっていうアレもありますが、グリッチってやっぱりかっこいいですね。Enjoy!!

CloudForecastでQudoのたまってるJobQueueの量をグラフ化するやつ

JobQueueがいくつたまってるか可視化したくて作りました。ソースはgist。

以下のエントリを参考にして作りました。

CloudForecastのリソース監視定義モジュールの作り方 - blog.nomadscafe.jp

cloudforecastって何?

id:kazeburoさんが開発されているリソースモニタリングツールです。rrdtoolsの薄いラッパーとして動作していて、ソースはモダンなPerlで読みやすいわ拡張しやすいわですばらしいプロダクトです。rrdtoolsについてちょっと知ってれば使えると思います。

下記エントリが詳しいです。

YAPC::Asia 2010 Tokyo で CloudForecast について喋ってきた - blog.nomadscafe.jp

使いかた

/path/to/cloudforecast/site_lib/CloudForecast/Data/Qudo.pmに置いて、host_configのresorcesの中で以下の感じでつっこめば使えます。

resources:
  - qudo:<dsn>:<username>:<password>:<job>

dsnは":"を"_"に、jobは"::"を"_"に置き換えたものを書いてください。例えば、qudoのdbへアクセスするためのdsnが "DBI:mysql:qudo:localhost"であれば、"DBI_mysql_qudo_localhost"、カウントしたいjobのWorkerがMyApp::Worker::Jobだったら"MyApp_Worker_Job"のような感じです。

CloudForecastが動いているマシンから直接qudoのDBを読みにいくという動きをします。

ぼくの場合はAppServerの動いてるマシンがWorkerもかねてて、自分でenqueueしたjobは自分でworkするという構成にしている(それぞれのAppServerのローカルでQudoのためだけにMySQLが動いていてそこにenqueue,dequeueしてる)ので、app_servers監視用のリソース定義ファイルの中にこれらの設定をつっこんでいます。

そんな感じです。

酔っぱらいながらgistにいくつかスクリプトを上げました

ゆのっち in zshの設定

直前のコマンドの終了コードが0以外だと✖╹◡╹✖がxX_XxになってCurrentWorkingDirectoryが赤くなります

watch.pl

cpanm祭りとか、時間かかるコマンド打ったときにscreenとかで別のターミナル立ち上げて $ watch.pl とかやるとそのpidが終わったときにGrowlで通知されます。

mkpasswd.pl

英数のパスワード作るやつ。 $ mkpasswd.pl みたくして使う。まあこういうのはみんなワンライナーで書いたりそれをaliasに登録してたりするので誰得感あるけどぼくはこれをPATHの通ったところに置いて使ってる。

今飲んでるお酒

電気ブランです。安いしうまいし言うこと無い。

NDS 第23回 でPerlの話をしてきました

新潟県長岡市で行われている、NDS(長岡開発者勉強会)の第23回でPerlについて話をしてきました。

第23回勉強会(2011/10/30) - 長岡 IT開発者 勉強会(NDS)

内容については ishiduca さんの記事が詳しいです。

blog ishiduca: Perl's Talk at nds #23

自分のトークについて

Perlって古くからある言語だから「終わった言語」みたく言われることもあるけど、違うよ!全然違うよ!って話をしてきました。モダンなPerl環境の紹介、という感じで、PSGI/Plackやらperlbrew,cpanmの紹介や、TMTOWTDIという文化についてしゃべったり、迷いがちなPerlの森の「道しるべ」になってくれる書籍の紹介(「モダンPerl入門」と「CPANモジュールガイド」)などを行い、「Perl使うとこんな楽しいことがけっこう簡単にできちゃうよ」デモとしてTwitterを使った遊びをふたつほどデモりました。あとは軽くproveについても触れました。ちょっと舞い上がっちゃって、Amon2で簡単にwebアプリ作れるよってのをデモるのを忘れちゃいました。こんどやろう。

「へ−、Perlって今はこんななんだー」みたいな声が聞けたり、長岡でPerl書いてる学生も刺激を貰ってくれたみたいだったりと、意義のあるトークができたんじゃないかなぁと思っています。昔はrootがないといろいろめんどかったPerlも、今はperlbrewとcpanmのおかげで、かなり気軽に楽しめる言語になっているので、「Perlさわってみようかな」って思ってくれるひとが少しでも増えればうれしいです。

残念だったのが、Encode周りの話ができなかったことと、あとはAcme文化について触れられなかったことですね。Acme文化ってかなり「Perlっぽい」文化だと思ってて、そのあたりの話も今度機会があれば新潟Perl人とやりたいなあなんて思っています。もう少し仲間が増えたら、ハンズオンありの勉強会を開催したいところですねぇ。

他のひとのトークについて

個人的には @masaru_b_cl さんによる「TDDのすゝめ」が印象に残りました。

TDDとCIは混同されがちっていうのはあるあるだし、 Dartでデモるってのが尖っててかっこ良かったです。TDDBC Niigata参加したいです。

あとは @ishiduca さんの発表も、Perlの柔軟さの魅力の詰まった素敵なトークでした。関数型言語としてのPerl、みたいな発表でしたね。楽しかったです。

NDS全体について

新潟にも尖った技術者がいるっていうのがすごくうれしかったです。今後も定期的に参加させていただければなあと思っているので、何卒よろしくおねがいします。湯沢ハッカソンとか、ちょう楽しそうですね!

YAPC::Asia 2011の地方LT枠で発表してきました。 #yapcasia

先日東工大で行われたYAPC::Asia 2011にスカイアークシステムさんの支援で参加し、招待枠LTで発表してきました。

テクニカルな内容ではないのですが、スライドを以下にアップしてあります。

http://www.slideshare.net/shinpei_maruyama/pre-niigatapm


見ての通り、先週行われた プレNiigata.pm #1 できいた話などを報告してきました。新潟にはあまりPerl Mongersがおらず、いたとしてもあまり表に出てこない(県民性ですかね。新潟のひとはシャイですから)ため、仲間がまだあまりいない状況です。しかし、「Niigata.pmが無ければ作れば良いじゃない!」と思って声を上げたらレスポンスがあったのと同様に、「仲間がいないなら増やせばいいじゃない!」の精神でやっていけば、なんらかのレスポンスを貰え、そのうちに「新潟って結構活発に活動してるPerlMonger多いよね」と言われるようになれるんじゃないかな、とそういう未来を夢見て、一生懸命新潟のPerlを盛り上げていきたいと思っています。まずは、今月末に新潟県長岡市で行われる勉強会でPerlの話をしてきます。

スライドにある通り、私自身は先月まで東京に住んでおり、YAPCに参加するのも初めてではなかったのですが、やはりYAPC::Asiaは熱量が違いますね!あだけの参加者が、それぞれにPerlに対する情熱を持って集まってくるお祭りなのですから、あれだけの熱量が集まるというのもうなづける気がします。そしてなにより、その熱量を受け止め、すばらしいお祭りに昇華するスタッフ、スピーカーの方々には心から感謝しています。

さて、内容面についてですが、そうそうたるスピーカーさんたちによるセッションのすばらしさはもちろん、今回私がとくにうれしかったのは、地方PerlMongersの方々と交流ができたことでした。みなさんやはり地方と東京の熱量の差を感じられている様子でしたが、そんな中でも「地方にだってPerlを書くひとたちはいるし、そのひとたちが集まれば楽しいし、モチベーションだってわく。自分たちがそういう場を作っていくんだ」という気概を感じました。まだまだひよっこで「プレ」の段階であるNiigata.pm、正直言って不安もたくさんあるのですが、そんな不安を吹き飛ばすくらいの力を地方PerlMongersから受け取ってきました。本当にYAPC::Asiaに参加してよかったと思います。

多くの人がレポートしている中でも触れられていますが、スピーカーの方々が発表されている内容は、スライドや動画としてOpen & Shareされていて、「何が話されたのか」はYAPC::Asiaに参加していなくても知ることができます。ただ、あの熱気、熱量は、その場にいなければ絶対に体感できません。だからこそ、というかなんというか、地方に住んでいて仲間が少ないPerlerこそ、 YAPC::Asia に参加するべきだと思います。東京では、毎週のようになんらかの勉強会や交流会が行われています。私が何度か顔を出させていただいたHachioji.pmも、コンスタントに毎月開催されています。同じことに興味を持った仲間を増やし、交流する機会がいくらでもあるのが東京です。一方で、地方はどうでしょうか。「会社でも自分しかPerl触っていない」「会社の外ではそもそも技術の話すらできない」なんて話、たくさん聞きます。でも、「世界最大級のPerlフェス」YAPC::Asiaにはそんな「仲間がいなくて悔しいなー」なんて思ってる地方のPerlMongersが集まってきます。そういうひとと話をすると、本当に力を貰えます。実際、「YAPCで地方PerlMongersの話を聞いて触発されてSendai.pmを立ち上げました」という話もありますしね。だから、地方でくすぶっているPerlMongerは、運良く(そしていろんな方々の尽力で)YAPC::Asia 2012が開催されるなら、ちょっと無理をしてでも参加すると良いと思います。絶対に損はしないと思うので。

さて、地方の話ばかりしていますが、私がこうやってYAPCは地方Perlerにとって(も)すばらしい場所だよ!と言えるのは、遠方からの参加者支援制度をスポンサードしてくれたスカイアークシステムさんのおかげです。私自身スカイアークシステムさんのおかげでYAPCに参加できましたし、スカイアークシステムさんのおかげで他の地方のPerlMongersとも交流することができました。今日からスカイアークシステムさんには足を向けて眠れません。なので北枕で寝ます。本当にありがとうございました。

あと、個人的にうれしかった/困ったもろもろなど

  • 尊敬するひだまらーであるcho45さんにお会いできてとてもうれしかったです✖╹◡╹✖
  • さいきろんさんのあのメガネ、どこで買ったかずっと気になっていたので、謎がとけて良かったです。
  • パルモンでuse strict;し忘れて、自分のPerler失格っぷりに落胆しました。
  • なんか様々なひとに「白めがねのひと」と認知されてる感あるんですけど、いつも白めがねな訳ではないので、今度お会いしたときにちゃんと同一人物と認識していただけるのかどうか不安です…

というわけで、最高に楽しい3日間でした!スタッフのみなさん、スカイアークシステムさん、お相手してくださったPerlMongers、本当にありがとうございました!

プレNiigata.pmのお知らせ

さて、今週末に迫って参りましたプレNiigata.pmですが、 @hayajo さんがお店を予約してくれました。ありがとうございます。

日時 :2011/10/08 18:00
会場 :吟の蔵 (新潟県新潟市中央区東大通1-2-11 グルメビルB1F)
URL :http://www.hotpepper.jp/strJ000718152/

ぼくは最近やけに労働していて余裕ない感じですが、新潟のPerlMongersに会えるのをとっっっっっても楽しみにしています。今週はプレNiigata.pm、来週はYAPC!10月は盛りだくさんですね!Perl月間を楽しみましょう。