Nekogata->new->hatenablog()

しんぺい@猫型 のブログ

2012-05-13

Niigata.pmが正式にpm.orgに登録されました

これまで居酒屋LTやtech talkを行って来たNiigata.pmですが、実は今までは正式にpm.orgに登録されていませんでした。

しかし、イベントなどを繰り返すごとに参加してくださる人や認知してくださる人が増えてきて、これはそろそろ正式にpm.orgに登録するべきだな、と思ったので、ちょっと前にpm.orgに申請を出し、先日無事にその申請が通りました。

公式サイト:Niigata.pm公式サイト

ML:Niigata.pm メーリングリスト

IRC:#niigatapm@irc.freenode.net

今後は今まで以上に活発に飲み会や勉強会を開催していきたいと思っておりますので、みなさん、今後ともよろしくお願いします。

とりあえず5 or 6月に飲み会 or tech talkやりたいです。日程の調整は #niigatapm@irc.freenode.netにて!なるべく考慮します。

2012-04-29

Niigata.pm tech talk #1 を開催してきました

4/28(土)、Niigata.pm tech talk #1を開催してきました。

今回はNiigata.pmとして初の、居酒屋とかじゃないちゃんとした会場でのtech talkでした。自分の力だけでは絶対にこういう場を設けることはできなくて、Niigata.pmに参加されているみなさんや私と交流してくれた新潟の開発者の方々、応援してくださっている東京やほかの地方のPerl Mongersがいたことが、本当に励みになってようやくこういう場を設けることができました。本当に各方面に感謝しています。

さらに、今回のNiigata.pmは技術的にも本当に面白い発表が多くて、発表してくださったみなさんにも大変感謝しています。ありがとうございました。

talkは以下の通りでした

@hayajoさん

  • モダンなPerlの開発環境として、perlbrew,cpanm,cartonについて
  • WAFとしてMojoliciousの紹介
  • デプロイや本番環境の構築の仕方

などを発表されていました。

昨今のPerlでのWebアプリ開発のグッドノウハウが詰まっていて、今回の参加者にもいましたが、今後Perlでwebアプリを作るような方にとってとっても参考になる内容だったのではないかと思いました。@hayajoさんは私が最初に知った新潟のPerlユーザで、「新潟でもPerlMongersができるかもしれない」と思ったきっかけになった方で、今回の発表のトップバッターをやっていただけたことに対して勝手に「うれしいな」なんて思っていました。

@civicさん

新潟県長岡市を中心とした開発者勉強会である「NDS」を主催されている@civicさんの、自己紹介的な発表でした。今までに作ってこられたプロダクトやご自身のプログラマーとしての生い立ちなどを紹介されていました。

NDSには私もお世話になっていて、新潟に引っ越してきてからNiigata.pmを始めて、どうやって仲間を集めたらいいかわからず正直心が折れそうになったことが何度もあったのですが、その度にNDSの存在がとても励みになっていましたし、今でも励みになっています。NDSを通じて仲良くなれた開発者たちがNiigata.pmに顔を出してくれたりして、実際的にも心情的にもNDSのおかげで技術的好奇心が満たせるようなNiigata.pmを開催できました。しかもTwitterでも仲良くしてくれて、本当に新潟生活が楽しくできているのはcivicさんのおかげといっても過言ではありません。今後ともよろしくおねがいします。

@ishiducaさん

外部のwebサービスをスクレイピングするときなどのCookieの扱いについて、LWP::UserAgentなどとAE::HTTPでCookie Jarのインターフェイスが異なっていて互換性がないのが困るので、そのあたりを相互に変換したりするツールを作ったよ、というお話でした。これ、コードはどっかに公開されていないんですかね?

node.jsで作られたプレゼンツールを使われていて、#niigatapm が付いたtweetをリアルタイムでスライド上に流していたのが面白かったです。このプレゼンツールのソースも見たい!

ishiducaさんも最初のNiigata.pmからほぼ毎回の集まりに参加していただいていて、非常に力をもらっています。新潟県は広いので、ishiducaさんが今回の会場に来られるためには東京駅から新潟駅まで来るよりも時間がかかってしまうという遠距離をものともせず来ていただいて、本当にうれしいです。次回はもう少し配慮した会場でやりたい!

@CLCLCLさん

うちあわせしていたわけでもないのに、 #niigatapm のtweetをリアルタイムでスライド上に流すというネタがishiducaさんとカブるという奇跡を見せていただいたCLCLCLさん。今回が初参加。クロネコヤマトの荷物配達状況をスクレイピングする WebService::KuronekoYamatoというモジュールを作られていて、それの紹介と、企業で仕事をしながら自分のコードを発表するためのコツをお話されていました。

ishiducaさんのプレゼンツールがnode.jsで実装されている一方、CLCLCLさんのプレゼンツールはMojoliciousで実装されているらしく、そういう部分ではネタがかぶらなくてよかったなぁ、なんて勝手に思っていました。

@hide_o_55さん

東京から参加していただいた@hide_o_55さん! 遠いところありがとうございます! 今まで作って来たプロダクトの紹介と、Perlのヒントフラグ($^H)についての発表をされていました。発表の前に「今回はカジュアルですよ〜」とおっしゃっていたのですが、ヒントフラグについての説明が続くにつれ会場に「カジュアルとはなんだったのか」的な空気が(案の定)漂い始めていて、「さすがだな〜」と思いました。

@jewel_x12さん

長岡技術科学大学自然言語処理を専門にやっている学生さん、普段はRuby使いだそうですが、今回は一部Perlを使って発表をしてくれました。Wikipediaからクイズゲームの問題を自動生成するアルゴリズムについて発表されていて、私は「うお〜〜〜〜おもしろい!!!」とめちゃめちゃ興奮して話を聴いていました。もう少し詳しい話を聴いてみたい!!!(特徴度の高い単語を抽出する部分の詳細とか)

@aokcubさん

こちらも長岡技術科学大学の学生さん。Niigata.pmには結構頻繁に顔を出してくれる常連さんです。PerlとPICをつなぐという変態度の高い発表をされていて、私は長岡技術科学大学の変態たちともっと仲良くなりたいなぁという思いをさらに強くしたのでした。Perlで実装されたコンソールから、PICに文字列送って、PIC側でコマンド解析、制御というなんとも面白い発想で、こっちの世界もおもしろそうだな〜と思いました。

感想

正直な話、東京から新潟に引っ越してくるときには、こんなに尖った学生や社会人が新潟にたくさんいるとは知りませんでした。特に長岡技術科学大学の学生さんたちの実力や変態っぷりが相当に刺激的で、これがあまり外部に見えてないのはもったいないな〜と毎回思います。私はわがままなので、Niigata.pmを立ち上げた一番の目的は「自分が楽しむため」だったのですが、最近はそれにプラスして、「この才能たちをもっとみんなに紹介したい!」という気持ちがむくむくと立ち上がっています。今後も刺激的なNiigata.pmを無理せず楽しくやっていきたいので、各方面のみなさん、是非是非今後ともよろしくお願いします!

2012-04-20

よけいなプライドは捨てたほうがいいという話について書く

雑文を書く。

ぼくはどちらかとプライドが高いほうで、単なる趣味であるところの音楽でも「下手なところは見せられない」とか、「アレを聴いてないことが恥ずかしい」みたいな気持ちを強く持ってる。なんというか、「下手なところを見せたら舐められるんじゃないか」とか「アレを聴いてないとバカにされるんじゃないか」みたいなふうに感じてしまう。

で、こういう話をしてるとよく、「プライドを捨てよ、そして楽になるがよい」みたいなことを言う人間がどこからともなく現れてOSEKKYOを始めたりするのだけれど、そういうのに対しても結構大きな違和感を持っている。こういう「舐められたくない」みたいな気持ちがないと、クオリティの低いものばかり作り出す邪悪な人間になってしまうし、プライドがあるからスキル上がって行くみたいなところはあると思う。

一方で、こういうプライドがじゃまになることもたしかにあって、馬鹿にされるのが嫌だから/DISられるのが嫌だからと言って自分のやったこと、やっていることを内輪だけに見せたり「安心できる人間」にだけ見せたりしてると駄サイクルにはまり込んでしまう。そうすると結局クオリティの高いものを生み出すことができなくなってしまい、いつまでも「バカにされるんじゃないか」という不安が消えないということになる。

ぼくは毎日10時間寝ないと体調がおかしくなるし毎日電車に乗ると必ずお腹の調子を崩すし熱を出すという意識の低すぎる人間なので、どちらかというと駄サイクルに好んでハマっていく種類のクズなのだけれど、やっぱりこれは良くない。良くない、というのは、生産性がどうこうとか意義がどうこうとかそういう話じゃなくて、上で書いたように駄サイクルって結局、楽だけど根本的な不安が消えないから、楽しくない。おもしろおかしくない。

と、ずっともんもんとしている感じなのだけれど、最近は少しずつ「自分と誰か比べてもしょうがない」という気持ちになりつつある。多分 @9m さんとかあの界隈の、ぼくよりずっと若い人たちがものすごく優秀で、なんかどうでもよくなっちゃったんだと思う。ようやく、口だけじゃなくて本気で「自分はすごくない」と思えたんだと思う。 すごくないからすごくないコードを書くのが当たり前だし、すごくないから馬鹿にされてもしょうがない。あと、「プログラミングが好き」みたいな気持ちを共有さえできれば、スキルに差があっても結構みんな仲良くしてくれるものなんだなあというのもTwitterYokohama.pm、Hachioji.pm、Niigata.pm、NDSで実感できた感じもする。ただやっぱり周りがすごいとすごくない自分が悔しいし、その意味ではプライドを捨てたわけではなくて、なんというか自分の今居る位置を冷静に見れるようになったという感じかも。

そんなわけで、最近は生産したうんこコードをgithubとかに投げつけることに対してあまり抵抗を持たなくなった。プログラミングは基本的にずっと独学でやってきたし、あるいはwebで目立ってるスターエンジニアと一緒に仕事するみたいな機会もなかったけど(というか、そういう人に「見捨てられる」のが怖くてそういうところに近寄らなかったみたいなところある)、ようやくこれで「すごいひとたちに現在の自分を提示する」ということができるようになった感じがする。28歳にしてようやくスタートラインにたった、という感じだ。まだレベル低いけど、自分がおもしろおかしく生きて行くために「すごくない自分」を「自分がOK出せるレベル」まで持ち上げていきたい。

2012-04-20

任意のサイトの更新をチェックして通知するスクリプト書いた

hihumiyo.netという小沢健二のサイトがfeedを吐いていないので毎回手動で更新を見に行かないと行けない。

それはそれで「更新あったかな?」というわくわくがあって楽しいんだけど、更新や告知を見逃したりして悔しい思いしたりというのがあるので、自分のために任意のwebサイトの更新をチェックして更新があれば通知するスクリプトを書いた。

下記のような感じで、更新チェックしたいuri、コンテンツのhash値を保存しておくpath、更新を検知したときの処理をblockで渡す。この例ではim.kayac使って更新があったら自分のiPhoneに通知してるけど、メール通知したりtwitterにpostしたりIRCにpostしたり好きなようにできる。cronに登録して定期的にチェックすれば幸福が実現する。

このくらいのものなら一枚スクリプトでどーん、って感じでいいし、コード書けるひとは都度自分で書けばいいくらいのものなので公開する意味あんまりないなーって思ったけど、Ruby勉強中だし公開するのはいいことらしいので公開した次第です。

たかしくんレコーズとかそういうのの更新チェック -> ツイッターにPOSTとかもいいかもですね

2012-04-13

にくまんあんまん問題

Twitterで話題になってたこれ


肉まんとあんまん、どっちが重いのかという情報が与えられていないのがポイントですね。

(2011.4.13追記)


なるほど!修正しました.
修正前のやつはgistで見れます
(追記ここまで)

とりえあずこういうのでどうでしょう?

[abc] [def] [ghi]に分けて計ったあと、2回目からは組み合わせを変えて、しかもあんまんと確定しているものと計るのがポイントですね。

組み合わせを変えることによって、以前計った結果を「再利用」することができて、効率的に絞り込むことができます。

2012-04-11

おやすみからおはようまであなたの睡眠を見つめる おはすみbot


というわけでさくっと作ってみた。

@ohasumi_bot

  • followするとあなたをfollowします
  • さよならするときはblockしてください
  • followしてもfollowされないときは時間を置いてもう一度試してみてください
  • @ohasumi_bot にfollowされた状態で@ohasumi_bot や @ストーカー @執事 @メイドなどを付けてtweetすると反応します
  • 反応する単語は「おやすみ」とか「寝る」とか「おはよう」とか「起きた」とかです

たとえば「@ストーカー 寝るね」などとtweetするとおやすみを返してくれるし、「@執事 おはよー」などとtweetすると挨拶と寝てた時間を返してくれます

まだ調整中 & 無保証

ソースコードhttps://github.com/Shinpeim/ohasumi_bot

連絡は ohasumi@nekogata.com まで

どうぞご利用ください

2012-04-01

NDS25で「やったーGA(遺伝的アルゴリズム)でDTMできたよー\(^o^)/」というタイトルで発表して来ました

3/31(土)に、新潟県長岡市で定期的に行われている勉強会「長岡開発者勉強会(NDS)」に参加してきました。

わたしは、「やったーGA(遺伝的アルゴリズム)でDTMできたよー\(^o^)/」というタイトルで発表して来ました。ふざけたタイトルですけど結構まじめなものです。今回の勉強会のテーマは「ハック!」だったので、趣味の音楽をいかにプログラミングでHackするかという感じのテーマにしてみました。詳しくはスライドをご覧ください。

今回は、「どうかな、可能性としてアリかなこの方向は」くらいのアレだったので、評価関数もcodingも結構シンプルなものにしたのですが、スライドにある通り、もっと工夫をすれば、プログラミングを通じて新しい音楽表現を作り上げて行く可能性もあるんじゃないかな、と思っています。いろいろ試行錯誤すれば面白いものが出来上がりそう。質問で指摘された通り、自分で評価関数実装するとかならず同じところに収束するので、既存の曲を学習させて評価関数を動的に作って行くというアプローチも、面白いと思います。

ちなみに、発表では言い忘れてしまいましたが、今回GAで作ったメロディーをwaveに書き出すのには、 @techno_neko さんによる NeSynthというPerlモジュールを利用させていただきました。NeSynthかっこいい…