タグ

ブックマーク / blog.kyanny.me (14)

  • ベンチャーの気概とは - @kyanny's blog

    最近、軽くランニングをしていて、 RunKeeper という iPhone アプリを使っている。ウェブサイトと連動してデータを見られるのが楽しい。 その RunKeeper の公式ブログに、すごく良い記事が投稿されていた。ベンチャーの気概ってやつを地でいってるような文章で、夢中で読んでしまった。以下に要約した。でも、できれば原文を読んでみて欲しい。そんなに難しくないはずだから。だっておれでもどうにか読めたんだもの。 http://runkeeper.com/blog/the-team/welcome-nike-thanks-for-coming-part-two RunKeeper のアイデアはもともと Nike+ を使ってトレーニングしたときの驚きが発端だった Nike+ は素晴らしいツールだったが、 RunKeeper にはいくつかの利点がある センサー(とナイキのシューズ)を買わなく

    ベンチャーの気概とは - @kyanny's blog
  • HTML::Element#as_Lisp_form - @kyanny's blog

    S式で出力できるらしい。ちゃんと入れ子をインデントで表現してくれるw $ perl -mHTML::Element -le '$p = HTML::Element->new(q{p}); $a = HTML::Element->new(q{a}, href => q{http://google.com/}); $p->push_content($a); print $p->as_Lisp_form()' ("_tag" "p" "_content" ( ("_tag" "a" "href" "http://google.com/")))

    HTML::Element#as_Lisp_form - @kyanny's blog
  • curl で Cookie - @kyanny's blog

    Cookie ちゃんとできてるかどうか調べたいときに LiveHTTPHeaders 開いたりするのは面倒なのでもっと楽にできないかなーと思って https://addons.mozilla.org/ja/firefox/addon/6683 ってのを見つけたけど、それ curl でもできるんじゃね?と思って調べたらできたのでメモ。 http://www.big.or.jp/~crane/cocoa/0800_internet/curl/index.html がわかりやすかった。 -b (--cookie) file -c (--cookie-jar) file [kyanny@kyanny-laptop2 ~/daily/2009-10-19] # Set-Cookie ヘッダがはかれる $ curl -I http://www.livedoor.com/ HTTP/1.1 200 OK

    curl で Cookie - @kyanny's blog
  • YAPC::Asia Tokyo 2009 に行ってきた (9/10, day1) - @kyanny's blog

    http://conferences.yapcasia.org/ya2009/ に行ってきた。今回は自分のなかで「初心に帰る」をテーマに臨んだので、紙のノートにボールペンでメモをとった。以下、メモした内容のまとめ(まとまってないけど)と、それを踏まえて感想というかコメントを。かなり長いです。 Welcome / Daisuke Maki (lestrrat) JPA 代表理事の牧さんによる、オープニング。 朝少し寝坊して、駅からダッシュしてなんとか九時ぎりぎりに滑り込んだ・・・と思ったら少し開始が遅れていて、息を整えてから開会の挨拶?を聞けた。「三つのC」で「王様のレストラン」を思い出した。 基調講演 / Richard Dice TPF の代表を務めていた、リチャード・ダイス氏による基調講演。 FLOSS 進化的モデル 安定した状態になる (**** is Dead) 誰も必要に迫られな

    YAPC::Asia Tokyo 2009 に行ってきた (9/10, day1) - @kyanny's blog
  • やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog

    いままでリバースプロキシの設定がよくわかっていなくて、すでに動いているサーバの設定を見よう見まねで使い回してきた。ちゃんと理解しようと思って、マニュアルを読み直したらやっとわかった。設定の方法 (How) がわかったこと以上に、なぜそう書く必要があるかという理由 (Why) を理解できたのが嬉しい。久しぶりに「わかった!」と叫びたくなった。感動を忘れないうちに、思い出せるように、書いておく。 mod_proxy - Apache HTTP サーバ バージョン 2.2 が Apache のプロキシ関連のマニュアル。 mod_proxy を使うことになる。 大事なディレクティブは、 ProxyPass と ProxyPassReverse のふたつ。 ProxyPass これがリバースプロキシをする上でのほとんどすべてのことをやってくれる。実は見慣れた (コピペし慣れた) 設定ではこのディレク

    やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog
  • "Wakame" は三年後、「あれはイノベーションだった」と言われても不思議じゃないソフトウェアだ - @kyanny's blog

    先週、株式会社あくしゅさんの新しいオフィスに遊びに行ったとき、 "Wakame" という不思議な名前のソフトウェアのプレゼンテーションがあった。それは衝撃的なソフトウェアで、三年後「あれはイノベーションだった」と言われても不思議ではないと、気で思った。すごく興奮していたが、「来週水曜にリリースするからそれまで黙っててね!」と言われていて、今日やっと "Wakame" についてブログに書くことができるので、僕が見たこと、感じたことを包み隠さず、いまからここで書きます。 "Wakame" は、 Amazon EC2 上で自律的に動作する、サーバマネージングソフトウェアだ。 Amazon EC2 を知っている人向けにごくごく簡単に説明すると、コマンド一発でインスタンスの増減やアプリケーションの複製を管理できる。 Amazon EC2 を知らない人(まぁ僕のブログの読者にそういう人はあまり多くな

    "Wakame" は三年後、「あれはイノベーションだった」と言われても不思議じゃないソフトウェアだ - @kyanny's blog
  • HTTP::Engine 入門 - @kyanny's blog

    HTTP-Engine-0.03005 - Web Server Gateway Interface and HTTP Server Engine Drivers - metacpan.org local::lib で $HOME/perl5 以下をいろいろセットアップしてからインストール。一発で依存含めて全部入った。 HTTP::Engine, HTTP::Engine::Interface::ServerSimple の POD を読む SYNOPSIS 通りに書いてみる→エラー→タイプミスしてた→書き直し→動いた! HTTP::Engine::Request の POD も読む→ $req->param('key') とかできる HTTP::Engine::Middleware もインストールする HTTP::Engine::Middleware の POD も読む→なんとなく役割が

    HTTP::Engine 入門 - @kyanny's blog
  • JPA seminar #1 - @kyanny's blog

    Tue Apr 21 18:08:43 2009 at Akihabara UDX conference room Better Perl Practices テストしましょう Test::Class が良いよ!でもコードの書き方を少し変える必要があるよ!(考え方的な部分で) パッケージベースのテストが書ける、ベースクラスを利用してテストコードを再利用できる、柔軟 ユニットテストとワークフローテストは別のもの ワークフローテストとは「メール送信する」とか「会員登録する」とかの、ユーザーが実際に行う操作をシミュレートするもの ワークフローテストが書きづらいということは、ユーザーが操作しづらいアプリ テストが書きづらいということは、プログラムの設計、 API が悪いので API を書き直していけば良いコードになる 良いコードはタイプ数が少し増える タイプ数が増えて一見冗長に見えることを恐れては

    JPA seminar #1 - @kyanny's blog
  • eshell でエスケープシーケンスをまともに表示させる設定 - @kyanny's blog

    EmacsWiki ばんざい。 http://www.emacswiki.org/emacs-ja/EshellColor (require 'ansi-color) (require 'eshell) (defun eshell-handle-ansi-color () (ansi-color-apply-on-region eshell-last-output-start eshell-last-output-end)) (add-to-list 'eshell-output-filter-functions 'eshell-handle-ansi-color)Term::ReadLine を使ったスクリプトだとか、 colordiff の結果だとかが、化け化けになっていて、そういうときだけしぶしぶふつうの bash を使っていたけど、これでもうそんなのとはおさらば。 たびたび esh

    eshell でエスケープシーケンスをまともに表示させる設定 - @kyanny's blog
  • シェルスクリプトを .app 化して「システム環境設定 -> アカウント -> ログイン項目」に入れて OS 起動時に自動実行する - @kyanny's blog

    追記 launchd でも「起動時に実行」は実現できるそうです。コメントで教えてもらいました。あとはてブコメントより、 Automater でもできるっぽいです。 タイトルが長ったらしいのはあとで自分が忘れたときのために検索性を高める意図があります。 http://www.pqrs.org/tekezo/macosx/doc/makeapp/ に書いてある通りにした。というか、サンプルの zip ファイルをダウンロードして、そのまま起動スクリプトとアイコンだけ上書きしてリネームして使わせてもらった。 要するにこういうディレクトリツリーで必要なファイルを配置してやればいい。これで Finder からはアイコン一個のアプリケーションに見えて、「ログイン項目」に追加して起動させられる。 [kyanny@kyanny-laptop2 ~/Applications/LingrIRCGateway.a

    シェルスクリプトを .app 化して「システム環境設定 -> アカウント -> ログイン項目」に入れて OS 起動時に自動実行する - @kyanny's blog
  • Cocoa Emacs をインストールして使い始めた - @kyanny's blog

    今日の Cocoa Emacs - あどけない話 を参考にしてインストール。 $ cd emacs $ ./configure --with-ns $ make -j2 $ make install # sudo しない $ open nextstep # Emacs のアイコンをダブルクリックで起動Command キーと Option キーが来の役割になっていて、 Option キーが Meta キーとみなされるので Terminal.app で入れ替えてた指にはつらい。どうしたらいいのかなーと思って info とか読み始め・・・る前に、 GNUStep じゃなくてちゃんと Cocoa なんだよなぁ?と疑問に思ってとりあえずメニューから Emacs -> Preferences... を押して(Cocoa ならちゃんと?メニューが出るだろう、くらいのいい加減な期待から)みたら、なんとそ

    Cocoa Emacs をインストールして使い始めた - @kyanny's blog
  • ~/.MacOSX/environment.plist で Cocoa Emacs にも環境変数を設定 - @kyanny's blog

    MacPorts で入れたコマンドが Cocoa Emacs の eshell から使えなかった。 PATH を確認したら案の定、 /opt/local/bin などがセットされてない。そういえば何か違う方法が必要なんだっけなーと思って少しぐぐり。 $ touch ~/.MacOSX/environment.plist<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>LANG</key> <string>ja_JP.UTF-8</string> <key>PATH</key>

    ~/.MacOSX/environment.plist で Cocoa Emacs にも環境変数を設定 - @kyanny's blog
  • '\xf1\xd9' みたいな16進数文字列を変数展開?して「騙」って漢字にしたい - @kyanny's blog

    うまく説明できないけど、 #3. のブロックが pass して欲しい。 #!/usr/local/bin/perl # $Id$ use strict; use warnings; use Test::More; plan 'no_plan'; use Encode; my $kanji = '騙'; { #1. pass my $hex = "\xf1\xd9"; is $hex, to_euc($kanji); }; { #2. fail my $hex = '\xf1\xd9'; is $hex, to_euc($kanji); }; { #3. fail... my $hex = '\xf1\xd9'; # ここでうまいこと $hex = "\xf1\xd9" 的なことをしたい is $hex, to_euc($kanji); }; sub to_euc { encode('euc

    '\xf1\xd9' みたいな16進数文字列を変数展開?して「騙」って漢字にしたい - @kyanny's blog
  • アー腹立つ - @kyanny's blog

    crontab のなかで --date=`date +%Y-%m-%d` とかやると失敗する。 % をエスケープしないといけない。なんだそりゃ。なんで普通のシェルと違うの? Wikipedia に書いてあるのに Manpage の邦訳には見あたらなかったぞ?? Date::Calc の Add_Delta_Days に 2008-12-02 って日付を分解して渡して join "-", Add_Delta_Days('2008', '12', '01', -1) みたくすると得られるのが 2008-12-1 って、ふざけんなぼけー。 軽くていいかと思ったけど、もう二度と Date::Calc なんて使わない。最初から DateTime を使っておけばこんな時間に仕事せずに済んだものを。腹痛くていますぐ横になりたいのに。 追記 crontabとかDate::Calcについて - no str

    アー腹立つ - @kyanny's blog
  • 1