カジュアルに cat コマンドでネコを走らせる

cat コマンドでネコを走らせる - hogehoge @teramako

面白い&&最近Nyancatが走るのを見つけたこともあって、全然違う猫だけどカジュアルに走る猫を書いてみた。

usage

$ alias cat='perl <(curl -s https://raw.github.com/gist/1445161/c183b0f555cbe88a6530bb7da2eb607a62f75403/nyancat.pl)'
$ cat

xtermなら動くはず。iTerm2で確認済み。nyancat.pl · GitHub

ほぼ元ネタGitHub - klange/nyancat: Nyancat in your terminal, rendered through ANSI escape sequences. This is the source for the Debian package `nyancat`.の流用ですが元はCで書かれているので、カジュアルに猫を走らせるにはこれくらいで。
元ネタはいろいろな環境で動くように書いてあって気合いの入り方が違う…

Google Readerのスター済みアイテムを自動でreblogしたい

全国1億2000万人の意識の高いrebloggerの皆さんこんにちは。
私は最近、tumblrでreblogする簡単なお仕事をしています。このお仕事、実に楽しい訳でありますが、しかしこの作業はいかんせん単調で、作業内容はと言うと、Google Readerに流れてくる *.tumblr.com のお気に入りのpostにスターをつけ、ブラウザでまとめて開き、reblogし、スターを外すという流れ作業であるため、大量にスターを付けてしまった日には刺身にタンポポ状態で時間を無為に過ごしている感覚に襲われます。

意識の高いrebloggerとしては無為な時間を減らし、時間短縮をすることでさらに多くのreblogをすることが至上命題となるわけです。そこで、自動化しようと奮起していたところ、Google Readerにもtumblrにも幸いなことにAPIが提供されているようで、ルーチンワークを自動化してしまえることが判明しました。そのうえ、Google Readerを叩く手段としてWebService::Google::ReaderなるモジュールがCPANにあったりと、ありがたい限りです。

ここにモックを作り、手元で幾度か動作させてみたところうまく動いているようで、大変快適な生活が送れそうな期待で胸が一杯になりそうです。
GitHub - punytan/AutoReblog: Automated reblog script from Google Reader starred items
実装は bin/autoreblog.pl, lib/App/AutoReblog.pm あたりを見ていただくとして、需要がありそうならMakefileを書いて体裁を整えようかと考えています。

現状、*.tumblr.comに対してだけreblog & unstar するようにしているのですが、これだけでも十分な気がしています。

use parent と Try::Tiny とか

use parent を使って継承した時に try-catch あたりを継承先に突っ込んだりできないものかと考え倦ねいたけど中途半端なところでギブアップした。Magoから呼ぶとcaller()のEXPRをインクリメントしないと動かない。このあたりは要ハック。

プラグマも適用できればと思ったりしたけれど普通にuseしてimport()でやった方が楽そう。とりあえずココまで。

Try::Tinyをこんな使い方して大丈夫なのかは知らない。

package Oya;
use strict;
use warnings;
use Try::Tiny ();

sub new {
    return {}, shift;
}

my $child = (caller(1))[0];
no strict 'refs';
*{"$child\::try"} = \&Try::Tiny::try;
*{"$child\::catch"} = \&Try::Tiny::catch;
*{"$child\::finally"} = \&Try::Tiny::finally;

1;
package Kodomo;
use strict;
use warnings;
use parent 'Oya';

sub foo {
    printf "Hi! I'm '%s'\n", __PACKAGE__;
    try {
        die "Oops";
    } catch {
        print "Caught!!!!\n";
    };
}

1;
use strict;
use warnings;
use Kodomo;

my $child = Kodomo->new;
$child->foo;

__END__
Hi! I'm 'Kodomo'
Caught!!!!

追記

ツッコミ感謝。

ブックマークコメントより

シンボルテーブルいじらなくても

Try::Tiny->export($child);

でおk。

コメントより

typo修正ed
s/Catched/Caught/g;

Post Your Blog Post About #yapcasia 2011 集計結果

YAPCから一週間が経ちましたが皆様いかがお過ごしでしょうか。

ブログを書くまでがYAPCということで "Post Your Blog Post About #yapcasia 2011" を立ち上げたところ、なんと157もの記事が集まりました。これも偏にポストしてくれた方のおかげです。(主に@lestrratさんという噂。 Twitter. It's what's happening.

集計データ

データはSQLiteで保存していたので Post Your Blog Post About #yapcasia 2011 · GitHub からSQLをダウンロードして

$ sqlite3 database.db < feeds.sql
$ sqlite3 database.db

とすればテーブルを作れるようになっています。

記事一覧

いま動いているアプリはRSSリーダーのクロールが確実に終わる今週末くらいに落とす予定です。

その後はこちらのリンクからどうぞ!

http://mt.endeworks.jp/d-6/2011/10/yapcasia-tokyo-2011-1.html
YAPC::Asia 2011 に行ってきた - punitan (a.k.a. punytan) のメモ
http://mt.endeworks.jp/d-6/2011/10/yapcasia-tokyo-2011-backend-apps.html
今日はYAPC::Asia Tokyo 2011の1日目です - 北海道苫小牧市出身の初老PGが書くブログ
今日はYAPC::Asia Tokyo 2011の2日目です - 北海道苫小牧市出身の初老PGが書くブログ
http://blog.moe-project.com/2011/10/16/yapcasia-2011-%E4%B8%89%E6%97%A5%E9%96%93%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F%E3%80%82/
YAPC::Asia 2011 を終えて - すぎゃーんメモ
YAPC::Asia Tokyo 2011 (1日目) に行ってきた - Hatak::Techlog
YAPC::Asia Tokyo 2011 (2日目) に行ってきた - Hatak::Techlog
[perl] YAPC::Asia 2011 で発表しました #yapcasia - 酒日記 はてな支店
YAPC::Asia 2011 で発表してきた - WebService::Blog->new( user => ’hide_o_55’ )
YAPC::Asia 2011をへて - コードで気楽な日々を
初YAPCで初LTしてきました - 時計を壊せ
[yapcasia]YAPC::Asia 2011に行ってきた - $shibayu36->blog;
YAPC ASIA 2011に行ってきた
YAPC::Asia 2011に参加してしゃべってきた #yapcasia
http://inputxoutput.com/7/
YAPC::Asia Tokyoに初参加してきました! - derisの日記
[perl]初めてのYAPC - tech tech -テクテクブログ-
YAPC::Asia2011にいってきた - kotaroito's notes
http://todeskin.g.hatena.ne.jp/eigokun/20111015/1318702474
YAPC::Asia Tokyo 2011いってきた - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
YAPC::Asia 2011 に行ってきた - masawoのtech log
[perl] YAPC::Asia 2011 参加。LTしました。 - 技術日記@kiwanami
YAPC::Asia 2011に参加してPrePANについてトークしてきた #yapcasia - Kentaro Kuribayashi's blog
YAPC::Asia Tokyo 2011 - なんか:かんがえて-6
YAPC::Asia::2011で心に残った2つのこと - 明日こそブログ書く。。
YappoLogs: YAPC::Asia Tokyo 2011 で発表してきましたわよ
YAPC::Asia 2011の地方LT枠で発表してきました。 #yapcasia - 猫型開発者
YAPC::Asia TOKYO2011で感じたこと・考えたこと - あと味
GitHub - mstshimo/YAPC_ASIA_2011_REPORT: My Report
YAPC::Asia Tokyo 2011 に行ってきた - amari3の日記
Good night, Posterous
2011-10-15
NO ALCOHOL,NO LIFE
帰ってきたネコブログ » YAPC::Asia 1日目
帰ってきたネコブログ » YAPC::Asia 2日目
YAPCで話したこと - 北海道苫小牧市出身の初老PGが書くブログ
YAPCで話さなかったこと - 北海道苫小牧市出身の初老PGが書くブログ
http://blog.kiftwi.net/2011/10/16/yapcasia-2011%EF%BC%88%E4%BA%8C%E6%97%A5%E7%9B%AE%EF%BC%89%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81-yapcasia/
にひりずむ::しんぷる - YAPC::Asia 2011 に参加してきました
YAPC::Asia Tokyo 2011に参加してきました | へぼい日記
YAPC::Asia 2011 二日目の感想 - @bayashi Diary
YAPC Asia 2011 Tokyo に参加してきた - hkataoka の いまさら日記
YAPC Asia 2011を終えて - 北海道苫小牧市出身の初老PGが書くブログ
http://d.hatena.ne.jp/papix/20111016
YAPC::ASIAに行ってきた&しゃべってきた #yapcasia - たごもりすメモ
YAPC::Asia Tokyo 2011 で発表してきました。 - blog.nomadscafe.jp
おそらくはそれさえも平凡な日々: YAPC::Asia Tokyo 2011
YAPC::Asia Tokyo 2011の感想など #yapcasia : Hack Forever
「YAPC::Asia Tokyo 2011」 #yapcasia に行ってきました | #interest_ae
YAPC::Asia 2011 Tokyo 参加してきました - うまいぼうぶろぐ
YAPC::Asia2011に行ってきた::前編 - いんふらけーようじょのえにっき
あろえの備忘録: YAPC::Asia Tokyo 2011で発表してきました #yapcasia
#yapcasia YAPC::ASIA 2011 に参加して楽しんで、その後どうする? - yujiorama の日記
http://mt.endeworks.jp/d-6/2011/10/yapcasia-tokyo-2011-organizers-side.html
YAPC::ASIA 2011でもらったノベルティを淡々とアップするよ - hsksnote
http://takus.me/programming/perl/yapc-asia-2011/
2011-10-16
YAPC::Asia Tokyo 2011 に参加してきたお話 - Perl勉強メモ アルパカDiary出張版
モダンプログラマまで何光年?: YAPC::Asia Tokyo 2011でカードゲーム買ってきた
YellowStore: [Perl]YAPC::Asiaにレポーターとして参加してきたよ!
YAPC Asia 2011 でのスライド公開と感想など - Yet Another Hackadelic
YAPC::Asia Tokyo 2011に行ってきました。 #yapcasia - koji::*
[perl] YAPC::Asia Tokyo 2011 - サイト更新停滞ちうっ
http://d.hatena.ne.jp/osanay/20111016/1318773613
YAPC::Asia 2011に行ってきました - 目がしょぼしょぼ
secretboots.log: YAPC::ASIA 2011に行って来ました。その1
Diary , Archive » YAPC::Asia TOKYO 2011 (2)
Diary , Archive » YAPC::Asia TOKYO 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - cho45 - YAPC Asia 2011 - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech
どんぞこ日誌(2011-10-16)
http://blog.comewalk.com/2011/10/yapcasia-tokyo-2011-yapcasia.html
YAPC::Asia 2011 に参加してスイーツエリアで話してきました #yapcasia - NaN days - subtech
YAPC::Asia 2011 !! - 「CPANモジュールガイド」サポートブログ
YAPC::Asia 2011 ふりかえり - s_ohiraの日記
YAPC::Asia Tokyo 2011 を終えて - @kyanny's blog
YAPC::Asia 2011「あんなテスト、こんなテスト(this and that about testing)発表資料 - tsucchi’s diary(元はてなダイアリー)
YAPC::Asia 2011に行ってきました - LAPISLAZULI HILL#diary
YAPC::Asia 2011 を終えて - tsucchi’s diary(元はてなダイアリー)
YAPC::Asia Tokyo 2011 に参加してきたよ - talk to oneself 2
http://notowaka.blog29.fc2.com/blog-entry-633.html
http://mitc.xrea.jp/diary/0104
http://blog.nekokak.org/show?guid=wL11lm344BG_A4LCghOgLw
YAPC::Asia Tokyo 2011でtakeばかりだったのでgiveしていく - こんにちはこんにちはmonmonです!
http://d.hatena.ne.jp/riko/20111017/1318825501
a pot of tea, 女子大生がYAPC::Asia Tokyo 2011に初参加してきた!
YAPC::Asia TOKYO 2011 で「新はてなダイアリーの裏側」というトークをしてきました - 大西日記 - はてなダイアリー
http://unknownplace.org/memo/2011/10/17/1/
Testgen補足 - syohex’s diary
YAPC::Asia 2011 notes - bulknews.typepad.com
YAPC Asia 2011 参加しました - dragon3のブログ
愛宕山太郎坊/Staff
YAPC::Asia 2011 おつかれさまでした - かみぽわーる
http://d.hatena.ne.jp/toku_bass/20111017
2011-10-17
YappoLogs: YAPC::Asia Tokyo 2011 ぼくのかんそうぶん
YAPC::Asia TOKYO 2011のLTでアニメについて話してきました - hakobenikki# - subtech
YAPC::ASIA 2011で最近のPerl界隈の"当たり前"を勉強する - hsksnote
YAPC::Asia 2011で発表してきました - 金利0無利息キャッシング – キャッシングできます - subtech
YAPC::Asia 2011 に行ってきました #yapcasia - のりーごのアミーゴ日記
YAPC Asia 2011行ってきた - Practice of Programming
モダンプログラマまで何光年?: 初めてのYAPC::ASIA
YAPC::Asia Tokyo 2011に行ってきたご報告 | hirobanex.net
YAPC::Asia Tokyo 2011 前夜祭 | nDiki
初参加!YAPC::Asia Tokyo 2011参加したら元気出た! - けめの日記
YAPC::Asia 2011にスピーカーとして参加してきた - Learn to Crawl
YAPC::Asia 2011 に参加してきた | いわぶろ(ろてん)
YAPC::Asia 2011
2011-10-15
YAPC::Asia 2011に行ってきました - masartz->log(type=>'hatenablog')
Perl歴2週間やけどYAPCに行ってきた
YAPC::Asia Tokyo 2011 | Irako::Blog
YAPC Asia 2011 でいろんな物をもらってきた - need something more...
YAPC::Asia TOKYO 2011 に参加してきました - SHANON Engineer's Blog
http://pr.zero-start.jp/archives/65620881.html
YAPC::Asia 〜Perlでモテるのは難しい〜 - Mandy Code
世界最大のPerlの祭典「YAPC::Asia Tokyo 2011」で、エンジニアの藤原組長がベストトーク賞受賞! | 面白法人カヤック
YAPC::Asia Tokyo 2011 1日目 | nDiki
YAPC::Asiaにスタッフとして参加しました☆(ゝω・)v : もふブロ
ゆーすけべー日記
http://d.hatena.ne.jp/keroyon0630/20111019
http://floralcompany.jp/archives/2011/10/yapcasia-lt.html
YAPC::Asia 2011に参加しました - 八発白中
2011-10-19
rjbs's rubric: yapc asia: awesome
Carton talk at YAPC::Asia - video - bulknews.typepad.com
http://sukuna.net/blog/2011/10/19/yapcasia2011%E3%81%A7%E9%85%92%E9%A3%B2%E3%82%93%E3%81%A7%E3%81%8D%E3%81%9F%EF%BC%88%E3%81%82%E3%82%8C%EF%BC%9F%EF%BC%89/
高校生がYAPC::Asia 2011に行って来ました - アリ
http://uramayu.typepad.jp/blog/2011/10/yapcasia%E3%81%A7%E5%B0%91%E3%81%97%E3%81%A0%E3%81%91%E3%83%9C%E3%83%A9%E3%83%B3%E3%83%86%E3%82%A3%E3%82%A2%E3%81%97%E3%81%A6%E3%81%8D%E3%81%A6%E9%9D%9E%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%A5%B3%E5%AD%90%E3%81%A0%E3%81%91%E3%81%A9lightning-talk%E3%81%97%E3%81%A6%E3%81%8D%E3%81%9F.html
YAPC::ASIA Tokyo 2011 | Masaki's Thinking Memo
myfinder's blog: YAPC::Asia 2011の報告
404 Blog Not Found:Jobs, Ritchie and YAPC::Asia
A Glimpse Of YAPC::Asia Tokyo 2011 | lestrrat [blogs.perl.org]
http://yamamotodaisaku.com/2011/10/15/yapcasia-tokyo-2011%E3%81%A7lt%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81-yapcasia/
YAPC::Asia Tokyo 2011 2日目 | nDiki
YAPC::Asia 2011に参加してきました - 近藤嘉雪のプログラミング工房
http://6pongi.wordpress.com/2011/10/21/yapcasia-2011%E3%81%A7%E9%81%8B%E7%94%A8%E3%82%92%E6%8C%AF%E3%82%8A%E8%BF%94%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%9F/
WATAのlabo : YAPC Asia 2011に行ってきた
2011-10-16
YAPCとHachioji.pm - c/fe
http://d.hatena.ne.jp/ishikawam/20111020/p1
http://d.hatena.ne.jp/kouuuu99/20111020/1319134606
http://www.sochiai.com/2011/10/yapcasia-tokyo-2011/
mixi engineer blog
YAPC::Asia 2011 レポート - Chocolate Coding
http://blog.hide-k.net/archives/2011/10/yapcasia_2011.php
http://blog.rmail.jp/2011/10/21/yapcasia-tokyo-2011/
YAPC::Asia Tokyo 2011に行って聞いた話 | /var/log/azumakuniyuki
YAPC::Asia Day 0 前夜祭 - 僕のYak Shavingは終わらない
YAPC::Asia Day 1 - 僕のYak Shavingは終わらない
YAPC::Asia Day 2 - 僕のYak Shavingは終わらない
YAPC::Asia TOKYO 2011 の個人的メモ - risou style
YAPC::Asia 2011 に参加して - 車輪を再発明 / koba04の日記
YAPC ASIA 2011で刺激されてJavaScriptに没頭してsonificator作った。 - blog.aklaswad.com
二度目の #yapcasia の運営やってきた!(準備編) - 941::blog
[O] YAPC::Asia TOKYO 2011 (#yapcasia) で Perl と Apporo についてプレゼンしてきました
http://memo.fushihara.net/post/11819549418/yapc-asia-2011

設定ファイルフォーマット考察 + Config::PP とか

tr;dr

__END__

設定ファイルフォーマット考察

YAMLがオワコンだと書いたらYAML便利派からツッコミ食らったので変遷過程を思い出してみた。
楽したいと考えた挙句に最近はどのフォーマットも使わずに config.pl 作って do してる感じですけれども…。

ここで言う設定ファイルとは凡そ pit やコマンドラインツールで使うように、

  • 大した設定量がない
  • ハードコーディングしたくない(ちょっと隠しておきたい)
  • サッと作って済ませたい
  • できればのちのち再利用したい

ようなファイルのこと。

http://code.google.com/intl/ja/appengine/docs/python/config/appconfig.html みたいに量があってしっかり書く必要があるものに関しては始めからネイティブでちゃんと書いたほうがよさそう。
そもそも、本来はプログラムに直接埋め込みたかったものだから、その言語を使って書いたほうがいいんじゃないかな。

pros/cons

YAML pros
  • コメントが書ける
  • それなりに読める
YAML cons
  • YAML 1.0, 1.1, 1.2 の違いを暗記している人はいない
  • 各言語のパーサがどのバージョンに対応してるのか誰も知らない(他言語で使うときのストレスのもと)
  • 設定ファイル読み込みだけのために依存が増える
  • 新規で作られたものではあまり見かけない(気がする)
  • 同じ構造でも表記方法が複数ある
XML pros
  • (誰か考えて...)
XML cons
  • 大袈裟
  • 人間の精神を破壊する
JSON pros
  • みんな読める(はず)
  • ウェブで使われているがゆえに多くの実績と信頼
JSON cons
  • コメント書けない
PP pros
  • 依存なし
  • お手軽
  • コメント書ける
  • みんな読める/書ける
PP cons
  • 設定ファイルなのに自由すぎる
  • 他言語からの読み込みは基本的にできない
  • PPで書かれた設定ファイルの読み書き専用のモジュールはない(はず)

Config::PP

自分の中でいろいろとフォーマットを移り変わった結果、config.pl 作って do してるのが最近の事情なのでこんなの作った p5-Config-PP/PP.pm at master · punytan/p5-Config-PP · GitHub(ドヤッ!)

YAPC::Asia 2011 に行ってきた

YAPC楽しい

今年は芝生で餃子食べられた!
トークが素晴らしいのはもちろんのこと、YAPCくらい大きなイベントになると普段会えない遠方の人たちと会えたり、面識のない人でも話ができるのでとてもいいイベントですね!(面識がないと言ってもTwitterのscreen nameで誰だかわかるので初対面だけど初対面じゃない、みたいな不思議な感じで話ができてよかった)

やや後悔

ただ、今年は何か発表したいな、なんて思いつつ過ごしていたものの大きなネタもなく発表を見送ってしまった点はsugyanさんの心境に近いものが…。

やって良かったと思えたこと

今年はアプリが出なさそうだったので、モバイル向けのタイムテーブルを作った(YAPC::Asia 2011 用タイムテーブル(モバイル用)作った - punitan (a.k.a. punytan) のメモ)ところ、公式アカウント@yapcasiaをはじめ、多くの人に(紹介して|使って)もらえたようで良かった。

勝手にスクレイピングして作ったものがいつの間にか公式アカウントで紹介されたりと、自由で寛容的な文化がこのコミュニティーにはあるんだなぁと実感。

Google Analyticsによると10/13(木),10/14(金)だけで下記表のとおり大半の人の目に触れたのではないかと思います。

ページ ページビュー数 ページ別訪問数 平均ページ滞在時間 直帰率 離脱率
1. /yapcasia-timetable-2011/ 780 673 00:10:01 88.11% 86.28%

ちなみに今年のYAPC参加者は672人と過去最多だったようで、いままで以上に人が集まった回だったようです。

ブログ書くまでがYAPC

ブログ書くまでがYAPCですね!ただ書いただけだと自分の見てる範囲の外にあるものはなかなか見つけにくいんじゃないかなぁと思ったので、後夜祭のあとにちょっとしたアプリを書いてみた(http://app.linknode.net/)のでとりあえず一週間動かしておきます。

怠惰な自分に嬉しいRSS出力もあるので、ブログを書いたらポストして、SNS でお知らせしてもらえるとLazyな人同士で幸せになれるはず!