タグ

ブックマーク / blog.yappo.jp (19)

  • YappoLogs: xlsx ファイルを git diff しやすくする為の天才的な wrapper script を書いた

    皆さんはプロジェクトのリソースとしてエクセルの xlsx ファイルを使う事があると思います。 何てったって事務職の人ですら楽々使えるスーパー優れた UI なので、 web の管理画面とかを作り込むよりもエクセルでシート作ってもらってしまった方が早いケースも多いんです。現実の世界では。 で、普通の人は TSV にするだの CSV にしてもらうだのすると思うんですが、一方的にデータ貰うだけなら良いんだけど、相手とやり取りする時にはどうしても xlsx ファイル経由とかにしないと相手がこまる!やっぱりエンジニアのエは優しさのエだから相手に優しくしないとだめです。 で、 xslx ファイルでエンジニア以外の人とデータやり取りするとやっぱり、バージョン管理したくなるのが人情です。 でも xslx ファイルはバイナリファイルなので git diff とかが残念です。。。 って事で作っちゃいました。 h

  • YappoLogs: Cocoa::Growl が面白い

    Cocoa::Growl が面白い なんかの時に、お勧めの growl を扱うモジュールの話をした時に、最近の俺の macbook pro では Mac::Growl が入らなくなって悲しいって話をしてたら typester さんが Cocoa::Growl を作ってくれました。 Objective-C をそのまま XS module 化しててイカすんですが、さらに AnyEvent のイベントループを cocoa のイベントループを使うようにする AnyEvent::Impl::NSRunLoop なんてのまで作っちゃって、 これを使うと growl の通知をクリックしたイベントとかを Perl 側でハンドリング出来ちゃったりして面白そうだけど使いどころ良くわからなかったので、 AnySan で繋いでる irc チャンネルに yappo って含む発言があったら growl で通知して、そ

  • YappoLogs: Ajax アプリ等の為の JavaScript コードのテストツール JSTAPd を作ってるよ

    Ajax アプリ等の為の JavaScript コードのテストツール JSTAPd を作ってるよ Data::ObjectDriverをDISってる人の話題が三周目に突入した今日この頃ですが皆さんは何をDISってますか?Yappoです。 JavaScript にもテストツールが色々とあると思うんですが、 Ajax アプリの XHR リクエストとかも含めてラクチンにテストできるツールが見つからなかったので JSTAPd というツールを作りました。 http://github.com/yappo/JSTAPd 名前の通りテスト結果はTAPで出力してるのでproveコマンドとかを使ってPerlの作法でテストできます。 ブラウザの連携の設定をすれば prove -v foo/hoge.t とかをコマンドで打ち込めば勝手にブラウザ立ち上げてテストコード実行してブラウザ閉じて結果をコンソールに吐いてく

  • YappoLogs: 良い子のMacなPerlユーザーに送る、あなたのPerlアプリをMacアプリにする方法 (Mac版的PAR)

    良い子のMacPerlユーザーに送る、あなたのPerlアプリをMacアプリにする方法 (Mac版的PAR) こんにちは!近頃咳と痰と鼻水と鼻づまりがすごく多い、金曜日の天使ことYappoです。 ちょっとしたツールをPerlで書いて、お友達に使ってもらいたいときってありますよね?普通は常識的にgithubとかのurlを教えれば良いのですが、それも出来ない人とかもいた場合が非常に面倒です。 そんな時の便利ツールとしてPlatypusがあるのは有名ですね。 Platyputsを使えば簡単にXSを含めたアプリが配布出来ますんです。 XSとかはアーキテクチャ等によって違うバイナリが吐かれてる事が知られますが、今回はあなたと同じMacOSのバージョンが入ってる事を前提にしちゃって問題無いです。 Macユーザ同士なんだからCPUのアーキテクチャは、殆どの場合は一緒だろうしOSのバージョンもLeopar

  • YappoLogs: Module::Setup - pmsetupをモジュール化した

    Module::Setup - pmsetupをモジュール化した Perlのモジュールをまず最初に作る時はpmsetupやModule::Starterなどを使うのが一般的です。 かく言う余もpmsetupでガリガリ書いてたんですが、はこべさんやらdannさんやらの最近の記事を見て思う所もあってpmsetupをモジュール化してみました。 http://svn.coderepos.org/share/lang/perl/Module-Setup/trunk/ 使い方は簡単!cpan Module::Setupでinstallして(まだCPANにあげてないよ!) $ module-setup Foo:Bar を実行するだけ! ほぼpmsetupと同等の挙動でひな形を作ってくれます。あらべんり! これだけじゃまったく意味が無いのでModule::Setupらしい所を。。。 flavor Modu

  • YappoLogs: CodeReposのサーバお引っ越し計画

    CodeReposのサーバお引っ越し計画 以前予告した通り、CodeReposサーバのお引っ越しを今週中に行います。 とりあえず場所は家に置いて、さっき電力会社に電源工事発注した。 リバースproxyの部分にCentOSの新しいのをいれて、coderepos自体はバックエンドにいるXenのインスタンスで動かそうと思ってます。 QX6600 8G メモリの環境なのでcoderepos以外のインスタンスとかも十分に対応できそう。 既にiscsiの環境もあってライブマイグレーションとか出来るようにはなってるんだけど、それやると別途ファイルサーバ持たなきゃ行けないとかQX6600なCPUのマシンが一台しかないから、別のホストマシンにインスタンス移したらカーネルがクラッシュするとかで、どうしようか悩んでる。 別にこの規模じゃそういうのいらないかなぁ。 で、それらの環境を今晩から1から作ろうと思ってた

  • YappoLogs: WassrPodというMacからwassrを快適に使うツールを作ったよ

    WassrPodというMacからwassrを快適に使うツールを作ったよ 空前のwassrブームの中皆様いかがおすごしでしょうか。 ついにあのTwitがTwit4WSとしてwassr対応して面白い感じですが、Mac用のいいツールが無さげです。 先週末の、はてなハイククライアント制作者の集いにdrkinさんもいらしてたのでwassr対応を聞いてみたのですが、ちょっと面倒くさそうな感じだったので、僕が勝手にTwitterPodをwassr対応しちゃいました。 かいつまむと「wassr APItwitter APIを使うクライアントからアクセスできるコンバータ付きproxy」です。 Macのターミナルとperlが使える環境の人前程ですが、物凄く簡単にwassr対応が出来ます。 TwitterPodをアプリケーションディレクトリに入れておいて下さい。 そして、ここからターミナル操作です。 まずは

  • YappoLogs: 誰でも簡単にOpenID 2.0なOPを作る方法 and CodeReposでOpenID(2.0対応)プロバイダの提供始めましたのお知らせ

    誰でも簡単にOpenID 2.0なOPを作る方法 and CodeReposでOpenID(2.0対応)プロバイダの提供始めましたのお知らせ 先週のbuilder techtalkから俄然としてOpenIDが熱くなって来た今日この頃いかがお過ごしでしょうか。 先日参加して来たOpenID Hackathonの成果として、CodeReposがOpenIDのOpenID 2.0 Providerになりましたことをお知らせします。 CodeReposのアカウントをお持ちの方は、fastladderとかLIMLICとかのOpenIDでサインオンできるサービでOpenID URLをcoderepos.orgとだけ打ち込んでログインしてみて下さい。 2.0に対応していない所だったらhttp://coderepos.org/share/wiki/Committers/usernameとでも入れればいいと

  • YappoLogs: WWW::HatenaLogin - はてなにログインするだけのモジュール作った

    WWW::HatenaLogin - はてなにログインするだけのモジュール作った はてなのサービスにログインした状態をスクレイピングして利用したい時にや、そういったモジュール(WWW::HatenaDiary)を作りたい時になると気になるのが、毎回毎回https://www.hatena.ne.jp/loginをスクレイピングするのは面倒だなぁと思ったので、WWW::HatenaLoginというログイン処理に関する事しかしないモジュールを作りました。 作ったとはいっても、殆どがWWW::HatenaDiaryからのコピペです。 WWW::HatenaDiaryのログイン部分だけ抜き出してCPANモジュール化した感じですね。 codereposはhttp://coderepos.org/share/browser/lang/perl/WWW-HatenaLogin/trunkです。 CPAN

  • YappoLogs: PowerEdge SC440をQuad Core + 8GBメモリで動かす

    PowerEdge SC440をQuad Core + 8GBメモリで動かす はてなのnaoyaさんの日記でQuad CPUでxenを動かしてるという事が書いてあったので、自宅でもはてなのサービスをまねた構成をしたくなったので人柱やってみました。 タイトルの通り、1万5千円で買ったSC440をDELL公式のスペックよりもオーバースペックな事をして動かしました。 まずは、メモリから。 ミラクルリナックスの中の人曰くマザーボードの仕様的には8Gまでいけて、8Gちゃんと認識したという事で、以前から買い漁ってたTranscendの1GB DDR2 667MH ECC メモリの 2GB 番の TS256MLQ72V6U 4枚買って来て刺した所 BIOSでは8G認識してるのにOS上げたら3.5Gにも満たなかった、よく考えて64bit番のCentOS入れたら無事8G認識しました。 次はCPU、SC440

    samurai20000
    samurai20000 2007/12/10
    4時間
  • YappoLogs: CodeReposにうpする事は恐くないよ

    CodeReposにうpする事は恐くないよ ユーザ避けとしてのSubversion - blog.fuktommy.comのミラー だから早いうちからソースを公開するのはいいことだと思うんですけど、 問題もあるんですよね。 ソースはできるだけ早くから公開したいんですけど、 実際にユーザが使うのは「ひととおりできあがった」あとにしてほしいんです。 早くから使われると、当然完成度も低いですし、 仕様の変更だってちょくちょくあるから、 「完成度は低いし、バージョンアップのたびに互換性なくなるし、つかえねー」 という評判が立ってしまう。 これは二つの問題を混ぜて考えてしまっている。 ソースを公開する=将来のユーザになる層に告知するという考え方がまず間違っています。 そりゃ2chとかでスレ立ててやっちゃえば、混ぜこぜになっちゃうのもしょうがないかもしれないすけど、ひげぽんとかの成功例もあるからプロジ

  • YappoLogs: FizzBuzzのPerlさいたんきろくたっせい(34ばいと)

    FizzBuzzのPerlさいたんきろくたっせい(34ばいと) FizzBuzzプログラムを書くのが流行っているみたいなので、空気を一切読まずに乱入した。 現在のPerl最短記録はTAKESAKOさんの56byteらしい。 こんなコード perl -e'die+map{(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/}1..1e2' まず、元の翻訳文章には「FizzやBuzzや数字のみを出力せよ」とは書いてない事に気づいたので、warnで出してみた。 perl -le'warn((Fizz)[$_%3].(Buzz)[$_%5]||$_)for 1..100'55byteになった。 次に1から100迄の数値のソースは、別にプログラム側でもっていなくても良い事に気づいたので、これを外だししてみた。 とにかく目的の文字列が出てくればいいのだ。 head -n100 /dev/r

  • YappoLogs: 今日の農作業

    samurai20000
    samurai20000 2007/04/22
    いっぱい植えてる
  • YappoLogs: Twitterっぽいサーバースクリプト書いたよ

    Twitterっぽいサーバースクリプト書いたよ twitterAPItwitter以外でも互換APIだしたり、ライブラリとかがtwitter以外でも使えるようになってたりと、API周りが面白い今日この頃です。 大して深い意味は無いのですが、オレオレTwitterみたいのが欲しくなってサクっとTwitter APIが使えるサーバスクリプト書いてみました。 デモはhttp://tech.yappo.jp:11111/にて動いてます。 id/passwodはguest/guestもしくはtest/testです。 ソースはhttp://svn.yappo.jp/repos/public/misc/twitterd.pl 使い方はドキュメント書いてあるけど、htpasswdでユーザーアカウントを作成して、その作成したアカウントを使ってTwitterもどきにログイン出来ます。 サーバーを立ち上げた

    samurai20000
    samurai20000 2007/04/15
    すばらしい
  • YappoLogs: twitter2ircd.pl - POEで書いたperlのTwitter IRC Gateway

    twitter2ircd.pl - POEで書いたperlTwitter IRC Gateway Twitterは、どことなくチャット的な利用もされていてiChat使っていたのですが,WindowsTwitter IRC GatewayがあってIRCでやるのが楽しそうだったので、Macで動くようにPerlIRC Gateway書きました。 miyagawaさんにPoCo::Server::IRCのサンプルコードとしてLingrのIRC Gatewayを教えてもらったので、参考にしてPOE::Component::Client::Twitterを作ってCPANにうpしました。 パッケージ中にはtwitter2ircd.plというTwitterIRC Gatewayとなるサンプルコードを同梱しています。 コードの下にサンプルの設定ファイルがあるので参考にして下さい。 こんな感じで 普通

    samurai20000
    samurai20000 2007/04/13
    すばらしい
  • YappoLogs: YAPC::Asia Hackathon at Dan the hotel

    YAPC::Asia Hackathon at Dan the hotel hackathonが終わるまでがYAPCという事で、ほぼ無事に終わりました。 成果としては、はてブの大文字小文字問題を皆で直していたとか、そういうのは合ったですが、もうちょいまともなのも有ります。 hackathonいく前に、調子に乗ってミサイルランチャー買いにいったのですが4000円くらいのが1000円で投げ売りされていたので大人げも無く買い占めてから参加しました。 で、自分のマシンにいっぱい繋げて遊ぼうかと思ったらMacだとDevice::USBのtestが通らなくて、周りの人にも聞いても動く気配が無く迷ってる所で。 ちょうどmiyagawaさんがircにDevice::USB::MissileLauncherの人のgregを発見してDevice::USB::MissileLaunchersを教えていました。(

  • YappoLogs ライブドア事件の件で速攻で一言いっとく

    ライブドア事件の件で速攻で一言いっとく 最速インターフェース研究会 :: そろそろライブドア事件について一言いっておくか (中略) 「そろそろライブドア事件について一言いっておくか」について一言いっておくか - にぽたん研究所ひどい略を見た。 彼はよく「おれがはてなとかに入社するとはてな潰しちゃうから」とよく言っていたから、はてなに遠慮してライブドアというでかい会社に入ったんだなぁと思った。 かとおもったら面接しに行った日にライブドア倒産か?みたいなニュースの火種がおこっちゃうんだから (以下略) それが後のlivedoor Readerである。 Yappo The Trackback Spamer. Posted by Yappo at 2007年01月17日 13:52 | TrackBack | 適当

  • YappoLogs: Wiiのリモコンコントローラが飛んだ件

    « Plagger::Plugin::Notify::MissileLauncher - Ejectじゃ刺激が足りない人に | Main | 深夜に車のガソリンが切れた時の解決方法 実践編 » Wiiのリモコンコントローラが飛んだ件 任天堂の法務部からクレームが来る前に言っておくッ! おれは今やつのスタンドをほんのちょっぴりだが体験した い…いや…体験したというよりはまったく理解を超えていたのだが…… ,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ|          あ…ありのまま 今 起こった事を話すぜ! |i i|    }! }} //| |l、{   j} /,,ィ//|       『おれはWiiのリモコンでボーリングをやっていたと i|:!ヾ、_ノ/ u {:}//ヘ        思ったらいつのまにか投げていた』 |リ u' }  ,ノ _,!V,ハ |

    samurai20000
    samurai20000 2006/12/11
    ふつうに飛ぶらしい
  • YappoLogs: 悪のりで学ぶsvnadmin/trac入門実用編

    悪のりで学ぶsvnadmin/trac入門実用編 とある平和なある週末に事件は起こった xx:14 ([aopy]+) stfuawsc汚染なコードをciってまった xx:14 (A) ちょ xx:14 (B) ww xx:14 (C) www xx:14 (D) stfuawsc xx:14 {[ainOS]+} パネラーディスカッションという事で、直近のコミットした内容をこの世から抹消しなければならなくなった。 しかもtrac上のデータもあわせて..! 消したいリビジョンは100である。 svnのデータを消すコマンドだけで直前のコミットを取り消せないものかと調べたが、出来ないという事が分かった。 ちょっと冷静になって、svnadmin dumpとsvnadmin loadの組み合わせで何とか出来ないか?と考え$ svnadmin dump /svn/public > /tmp/publ

  • 1