<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>hack my life</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/" />
    <link rel="self" type="application/atom+xml" href="http://hackmylife.net/atom.xml" />
    <id>tag:hackmylife.net,2007-09-06://1</id>
    <updated>2009-12-13T13:13:23Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.0</generator>

<entry>
    <title>エネループの限定パッケージがオシャレ</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/12/post-135.html" />
    <id>tag:hackmylife.net,2009://1.489</id>

    <published>2009-12-13T13:03:09Z</published>
    <updated>2009-12-13T13:13:23Z</updated>

    <summary>愛用されている方も多いエネループに限定パッケージがでてました。  ８本の単三電池...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[愛用されている方も多いエネループに限定パッケージがでてました。 

８本の単三電池が８本とも違うカラーリング！
これがまたオシャレでカワイイのです。
取りあえず一つ購入しておきました。

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002WJI39C/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/410Oaq5DD4L._SL160_.jpg" alt="SANYO NEW eneloop tones 充電式ニッケル水素電池(単3形8色カラーパック) HR-3UTGA-8TN" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002WJI39C/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">SANYO NEW eneloop tones 充電式ニッケル水素電池(単3形8色カラーパック) HR-3UTGA-8TN</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B002WJI39C/crimepenal-22/ref=nosim/" title="SANYO NEW eneloop tones 充電式ニッケル水素電池(単3形8色カラーパック) HR-3UTGA-8TN" target="_blank">amazlet</a> at 09.12.13</div></div><div class="amazlet-detail">三洋電機 (2009-12-12)<br />売り上げランキング: 43<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 1億個突破記念 10万個限定の eneloop tones<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> わかりやすい<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 電池を見せる工夫をした製品が増えることを期待します<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002WJI39C/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>
]]>
        
    </content>
</entry>

<entry>
    <title>Google Analytics Mobileがdocomo以外の端末IDをみてくれない件</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/11/google-analytics-mobiledocomoi.html" />
    <id>tag:hackmylife.net,2009://1.488</id>

    <published>2009-11-12T13:08:05Z</published>
    <updated>2009-11-12T13:28:34Z</updated>

    <summary>最近Google AnalyticsのMobile版がひっそりと始まりましたね。...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="mobileperl" label="mobile perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[最近Google AnalyticsのMobile版がひっそりと始まりましたね。<br />ホントにひっそりで、場所がわかり辛いのですが、<br /><br /><a href="https://www.google.com/analytics/settings/check_status_profile_handler">https://www.google.com/analytics/settings/check_status_profile_handler</a><br /><br /><br />
ここの、<br /><br /><ol><li>Instructions for adding tracking</li><li>Advancedタブ</li><li>1 What are you tracking? </li><li>A site built for a mobile phone</li></ol>を選択するとでてきます。<br /><br />導入方法 Perl編<br /><br /><ol><li>「2 Paste code on your mobile site」のコードをviewから呼び出せるところに準備</li><li>htmlあたりに&lt;img src="[% google_analytics_get_image_url() %]"&gt;書く</li><li>「3 Copy this file to your root directory」にあるga.plをcgi起動出来るように設定するか、同様の内容を作る</li></ol>

<pre><br />さっそく導入してみたんですが、どうもsessionの同定が出来てないっぽいです。<br />別集計で出したUUが2,000ぐらいなのに、Analyticsだと10,000になっていたりします。<br /></pre>なんでかと思い調べたところ・・・<br /><br />
<blockquote class="code">

<pre># Generate a visitor id for this hit.
# If there is a visitor id in the cookie, use that, otherwise
# use the guid if we have one, otherwise use a random number.
sub get_visitor_id {
  my ($guid, $account, $user_agent, $cookie) = @_;

  # If there is a value in the cookie, don't change it.
  if ($cookie ne "") {
    return $cookie;
  }

  my $message = "";
  if ($guid ne "") {
  # Create the visitor id using the guid.
    $message = $guid . $account;
  } else {
  # otherwise this is a new user, create a new random id.
    $message = $user_agent . get_random_number();
  }

  my $md5_string = md5_hex($message);

  return "0x" . substr($md5_string, 0, 16);
}
</pre>



</blockquote>
<br />ん？<br /><br /><blockquote># If there is a visitor id in the cookie, use that, otherwise<br /># use the guid if we have one, otherwise use a random number.<br /></blockquote>
<br />あれ、docomo以外みてくれてない・・<br /><br />というわけで修正しました。独自でやってもできるけどキャリア判別とかが煩雑だったので、<span class="caps"><span class="caps">HTTP</span></span>::MobileAgent使っています。0.27以降がdocomoID対応なんで、それ以降を使います。<br /><br /><br />
<blockquote class="code">



<pre>--- ga.pl	2009-11-12 21:27:23.000000000 +0900
+++ ga.pl.new	2009-11-12 21:22:04.000000000 +0900
@@ -6,6 +6,7 @@
 use Digest::MD5 qw(md5_hex);
 use LWP::UserAgent;
 use URI::Escape;
+use HTTP::MobileAgent;
 use strict;
 
 # Tracker version.
@@ -59,9 +60,10 @@
   }
 
   my $message = "";
-  if ($guid ne "") {
-  # Create the visitor id using the guid.
-    $message = $guid . $account;
+  my $user_id = _get_user_id();
+  if ($user_id ne "") {
+  # Create the visitor id using the uesr_id.
+    $message = $user_id . $account;
   } else {
   # otherwise this is a new user, create a new random id.
     $message = $user_agent . get_random_number();
@@ -192,4 +194,14 @@
   write_gif_data($new_cookie, $utm_url);
 }
 
+sub _get_user_id {
+    my $agent = HTTP::MobileAgent-&amp;gt;new; 
+    return $agent-&amp;gt;user_id
+        if $agent-&amp;gt;is_docomo;
+    return (split('_', $ENV{HTTP_X_UP_SUBNO}, 2))[0]
+        if $agent-&amp;gt;is_ezweb;
+    return substr($ENV{HTTP_X_JPHONE_UID}, 1, length($ENV{HTTP_X_JPHONE_UID}))
+        if $agent-&amp;gt;is_vodafone;
+}
+
 track_page_view();
</pre>



</blockquote>
<br /><br />
当て方はga.plと上のga.pl.patchを同じディレクトリに置いて<br /><br />
<blockquote class="code">
 $ patch -p0 &lt; ga.pl.patch<br /><br />
</blockquote>

<p><br />このパッチでは、端末ID送信しない設定の端末とか、端末ID送信しないwillcomとかをスルーしちゃいます。厳密に計測するには、アプリケーション側で端末IDみて、なければユニークなID（session id）とかを使うべきですが、これだけでもそこそこの制度がでるので、さっくりやりたい人はこっちで良いと思います。<br /><br /> </p>]]>
        
    </content>
</entry>

<entry>
    <title>YAPC Asia 2009に行ってきました</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/09/yapc-asia-2009.html" />
    <id>tag:hackmylife.net,2009://1.487</id>

    <published>2009-09-12T10:20:14Z</published>
    <updated>2009-09-12T12:18:11Z</updated>

    <summary>YAPC Asia 2009に参加してきました。 今回のYAPCではAnyEve...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="yapcperl" label="YAPC perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[YAPC Asia 2009に参加してきました。

今回のYAPCではAnyEvent,PSGI,Coro,リアルタイムWeb辺りがポイントだったかと思います。
見た物のなかから一部をピックアップして書いておきます。

<h4>Yoichiro Tanaka - ‎Webエンジニアのためのmixiアプリ開発ガイド‎</h4>

mixiアプリの解説でperlの話しはあまり出てませんでした。
が、個人的には非常に面白かった。mixiアプリを全然チェックしてなかったのですが、
feedとかJSONのAPIあれば簡単に作れてしまう所が良い感じ。 

実装的にはXMLのファイルの中のCDATAセクションにjsを書いて、OpenSocialのライブラリを使って、API接続してゴニョっとする感じ。
マイミクやコミュの情報を使うには独自のAPIを使わないとダメ。OpenSocial準拠ではるけれど、各サービスによって独自APIを使っているので、
簡単に移植と言うわけにはいかないそうですけど、mixiの1700万ユーザーというのはやはり魅力。

家にかえってから、思わず勢いで作ってしましました。そのうち別記事として書いてみたいと思います。

<h4>Tokuhiro Matsuno (‎tokuhirom‎) - ‎PSGI - Perl Server Gateway Interface‎ </h4>

コレが、Perlの話しとしては今年の2大トレンドのウチの一つじゃないでしょうか？
PSGIは表題にあるとおり、Perl Server Gateway Interfaceの略で、実装ではなく、あくまで仕様とのこと。

要するに、「Webサーバーやフレームワークが新しく出る度に、コードを書書くのはやめよう」という、Rack/WSGIの思想をPerlで作ろうというもの。
同じ思想でHTTP::Engineが思い浮かぶと思うんですが、HTTP::Engineは仕様＋実装＋インターフェースが含まれていて、
みんなに使ってもらうには、余分な実装が含まれ過ぎていた事が原因でなかなか浸透しないようで、HTTP::Engineから仕様を切り出してまとめたものだそうです。

このセッションでは、PSGIの概念だけでなく、実際にPSGIに準拠した実装であるPlackによるデモも行われました。
CatalystでかかれたコードをMojoで動かしたり、fastCGIで動かしたりとなかなか面白いデモでした。

Plack::Impl::Sledgeが非常に欲しいですね。

<h4>Tatsuhiko Miyagawa (‎miyagawa‎) - ‎Event programming fun with AnyEvent and Coro‎</h4>

AnyEventの解説。これが今年のトレンドのもう一つですね。ちょっと前から非常に興味があったんですが、今回のYAPCでも何度となく出ていました。
要するにPerlでEventプログラミングをするためのmoduleです。PerlにはPOEとかEVとかIO::Poll、IO::Async等々色々なmoduleがあるのですが、
AnyEventはどんなEvent系モジュールでも対応できる実装があります。AnyEventには独自のメインループを持っておらず、上記のmoduleをと組み合わせて使います。

AnyEventのメリットはシンプルで非常にわかり易いインターフェースで、POEなどのややこしい構文を書くことなくプログラミングできます。
AnyEventとCoroを使ったプログラミングがかなりアツイんですが、AnyEvent自体の説明が結構ボリュームがあって、Coroの説明は省略されていました。（後述のmalaさんのセッションでCoroの話しがあったから？）

<h4>Kazuhiro Osawa (‎Yappo‎) - ‎Key Value Store with O/R Mapper</h4>

Data::Modelのお話。いわゆるORMなんですが、Data::Modelは近年のORMとはちょっと違っていますね。実際使うためのチューンが大量にされている感じ。
基本的には、薄く早くと作られたORMで（JOINす削られている）という徹底ぶり。cacheもテーブル名やカラム名をアルファベット１文字や数値に書き換えてキャッシュする事で、サイズを節約してたりするようです。

個人的には一番使ってみたいORMだけど、癖があるので、使いどころをちゃんと考えないと、いけないので、業務でつかうのはちょっとためらう感じ。

<h4>Atsushi Kobayashi (‎nekokak‎) - ‎simple or mapper DBIx::Skinny</h4>

こちらもORM。Data::Modelと同じく薄く、薄くと意識してつくられたDBM。
実は、DBICが生成するSQLが非常にパフォーマンスがわるいそうで、もっとシンプルで計量なSQLをそのまま実行したい。という思想から作ったそう。
大分安定してそうだし、現在のORMの感覚でつかえそうなので、実際に仕事でつかうなら、コレを使ってみたいです。

<h4>Masahiro Nagano (‎kazeburo‎) - ‎大規模画像配信を支えるPerl‎ </h4>

mixiさんでの画像配信の仕組み。BlogとかでもServer構成がかかれているので、目新しいといより、「ああ、そうですよねー」という感想。
mixiではクオリティと速度を勘案してlmlib2を採用しているそう。弊社のモバイルチームでも最近画像配信系を一新しようと思っているんですけど、
うちもlmlib2で行こうとおもっていたので、妙に納得しちゃいました。

<h4>Tokuhiro Matsuno (‎tokuhirom‎) - ‎Asynchronous Database Queries with Perl‎ </h4>

ここでもAnyEventでてましたね。シリアルでSQL投げると、全部の実行時間の合計が実行時間になってしまうので、重いSQL何個かなげるなら、非同期で処理しちゃおうという話。
PostgreSQLだと非同期に処理するのはDBD::Pgでいけるらしいのですが、DBD::MySQLは非同期で処理できないので、libdrizzleを使うといいらしい。
機会があれば是非使ってみたいところです。


<h4>ma la (‎mala‎) - ‎Asynchronous Programming for (A)synchronous Communication‎ </h4>

AnyEvent+Coroあたりの話しがメイン。以前Shibuya.pmでlivedoor Readerのインターフェース側の話しをされていたのですが、
今回は内部の話し。crawlerのパフォーマンスチューニングにAnyEvent+Coroでシングルプロセスないで、IO非同期化したほうが、
プロセスを沢山あげるよりパフォーマンスが良かったという話しから、非同期プログラミンの今後ロードマップまでするどい視点で考察されてました。

今回のAnyEvent期を総括するようなセッションで、一番面白かったセッションでした。40分のセッションだったのですが、内容盛りだくさんだったので、
後3回ぐらいは動画と資料を眺めてみたいと思いました。


見たセッションのなかからいくつかピックアップして書いてみました。
Lightning Talkでも面白いかったセッション沢山ありました。また後で書いてみたいと思います。

今回のYAPCも非常に刺激的で面白かったです。見れなかったセッションにも面白い物が沢山あったようで、
あとで動画で見させていただこうと思っています。
]]>
        
    </content>
</entry>

<entry>
    <title>Imagerで画像を傾ける</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/06/imager.html" />
    <id>tag:hackmylife.net,2009://1.486</id>

    <published>2009-06-30T14:19:05Z</published>
    <updated>2009-10-05T14:02:50Z</updated>

    <summary>Imagerで画像を加工して、斜めに20℃傾けてみました。 もと画像はこちら u...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[<p>Imagerで画像を加工して、斜めに20℃傾けてみました。</p>

<p>もと画像はこちら<br />
<img src="http://hackmylife.net/img/source_imager.JPG" style="border: 1px solid rgb(255, 255, 255);" height="324" width="244" /></p>

<blockquote class="code">

<pre>use Imager;

# 写真の読み込み
my $photo = new Imager;
$photo->read(file => $photo_file) or die $photo->errstr;

# 写真を傾ける
$photo = $photo->rotate( degrees => 20 );

# キャンバスとなるオブジェクト
my $canvas = new Imager( xsize => 300, ysize => 350, channels => 4 );

# 写真のリサイズ
$photo = $photo->scale(
    xpixels => 300,
    ypixels => 300,
);

# キャンバスに写真を貼り付け
$canvas->paste(
    src  => $photo,
    left  => 0,
    top  => 0,
);

# PNGで書き出し
$canvas->write(file=> './result.png', type=> 'png') or die;
</pre>
</blockquote>

<p>上記コードを実行するとこうなります。</p>

<p><img src="http://hackmylife.net/img/imager_result_1.png" style="border: 1px solid rgb(255, 255, 255);" /></p>

<p>斜めにはなるんですが、四隅が黒くなってしまいました。<br />
透明にするにはアルファチャンネルを有効にしてあげれば良いはずなので、<br /><br />
channel =&gt; 4に設定してあげればいいんですが。</p>

<blockquote class="code">
<pre>略

# 写真の読み込み
my $photo = new Imager;
$photo->read(file => $photo_file) or die $photo->errstr;

# 写真を傾ける
$photo = $photo->rotate( degrees => 20, back => [0,0,0,255] );
$photo->img_set( channel => 4 );

略
</pre>



</blockquote>

<p>実行結果はこうなります<br />
背景はあえて不透明にしてあります（白にすればよかった・・）</p>

<p><img src="http://hackmylife.net/img/imager_result_2.png" style="border: 1px solid rgb(255, 255, 255);" /></p>

<p>なぜか写真が透明になってしまいました・・・<br />
なぜかと言うと元の写真にアルファチャンネルが設定されていないからで、<br /><br />
アルファチャンネルが０（透明）に設定されてしまうせいでした。</p>

<p>これを回避するためにImagerにはconvertというメソッドがあります。</p>

<blockquote class="code">
<pre>略

# 写真の読み込み
my $photo = new Imager;
$photo->read(file => $photo_file) or die $photo->errstr;

# 写真を傾ける
$photo = $photo->convert( preset => 'addalpha');
$photo = $photo->rotate( degrees => 20, back => [0,0,0,0]);

略
</pre>

</blockquote>

<p>結果はこのとおり</p>

<p><img src="http://hackmylife.net/img/imager_result_3.png" style="border: 1px solid rgb(255, 255, 255);" /></p>

<p>思いどうりになりました。<br />
Imagerは色々画像を加工するメソッドが用意されていていいですね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>vimperatorのエラーメッセージを見る方法</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/06/vimperator.html" />
    <id>tag:hackmylife.net,2009://1.485</id>

    <published>2009-06-06T14:38:44Z</published>
    <updated>2009-06-06T14:41:49Z</updated>

    <summary>vimperatorを起動したときに、.vimperatorrcのエラーとか、プ...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="vimperator" label="vimperator" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[vimperatorを起動したときに、.vimperatorrcのエラーとか、プラグインのエラーが一瞬出たりするんですけど、<br />どうやったら見れるんだろう？と思い悩んでいたら、:messageってコマンドがあるらしい。<br /><br />2.0pre以降の機能なんですが、これがあるとdebug効率が全然違う。<br />今さっき知りましたw ]]>
        
    </content>
</entry>

<entry>
    <title>vimperatorが良すぎる件</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/06/a-href.html" />
    <id>tag:hackmylife.net,2009://1.484</id>

    <published>2009-06-06T11:53:39Z</published>
    <updated>2009-06-06T12:20:11Z</updated>

    <summary>vimperaotorはfirefoxをvimライクなキーバインドで操作できるa...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="firefoxvimperator" label="firefox vimperator" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[<a href="https://addons.mozilla.org/ja/firefox/addon/4891">vimperaotor</a>はfirefoxをvimライクなキーバインドで操作できるaddonなんですが、<br />できの良さと拡張性が素晴らしい(*´д｀*)ﾊｧﾊｧ<br />ヒアドキュメントでjavascriptを直に書けるのも良い感じ。<br /><br />今まで使っていたPluginがどんどん不要になっていきます。<br /><br />まず入れた直後の見た目にビックリw<br /><br /><span class="mt-enclosure mt-enclosure-image"><a href="http://hackmylife.net/2009/06/02/vimparator1.png"><img alt="vimparator1.png" src="http://hackmylife.net/assets_c/2009/06/vimparator1-thumb-380x274.png" class="mt-image-center" style="margin: 0pt auto 20px; display: block;" width="380" /></a></span><br /><br />ナビゲーションバーとか、ブックマークバーとか無くなります。<br />ステータスバーはvimっぽいターミナル調の表示にw<br /><br />ページの移動はjkで上下に移動、Gで最下段に、ggで最上段に移動できます。<br />ブラウザの一番下にはコマンドラインができます。vi系エディタ使ったことある人にはおなじみですね！<br /><br /><span class="caps"><span class="caps"><span class="caps"><span class="caps"><span class="caps">URL</span></span></span></span></span>を開くにはコマンドラインモードでo(openでも可)とtype!<br /><br />:o [url]<br /><br />t(tabopenの略)すると新しいtabにページを開きます。<br /><br />:t [url]<br /><br />リンクをクリックするにはヒントモードというのがあって、fキーを押すと・・・<br /><br /><span class="mt-enclosure mt-enclosure-image"><a href="http://hackmylife.net/2009/06/02/vimparator2.png"><img alt="vimparator2.png" src="http://hackmylife.net/assets_c/2009/06/vimparator2-thumb-380x274.png" class="mt-image-center" style="margin: 0pt auto 20px; display: block;" height="274" width="380" /></a></span><br /><br />この通り、リンクにキーが表示されます。対応するキーを押すと、そのリンクにジャンプします。<br />（デフォルトは数値が振られます）<br /><br /><br />設定すれば、履歴やブックマークから動的に補完してくれます。<br />この機能が結構強力かつ、しっくりなじむので、もはや履歴やブックマークが不要になりました。<br /><br />設定ファイルはホームディレクトリの下に、.vimperatorrcを書くだけ。<br />便利に使えるように、hで左タブ、lで右タブに移動とかしておくともっと便利です。<br /><br />最近使い始めたばっかりですが、私の設定はこんな感じ。<br /><br /><blockquote class="code">"<ins>----------------------------------------------------------------------------------------</ins><br />" 基本設定<br />"<ins>----------------------------------------------------------------------------------------</ins><br /><br />"ブラウザタイトルの変更<br />set titlestring=Firefox<br />"ページ全体で検索語を強調表示<br />set hlsearch<br />"ビープ音を鳴らさずビジュアルベルを使用<br />set visualbell<br />"ビジュアルベルを無効化<br />"set visualbellstyle=display:none;<br />"ヒントのスタイルを指定<br />"set hintstyle=z-index:5000; font-family:monospace; font-size:12px; color:white; background-color:blue; border-color:ButtonShadow; border-width:0px; border-style:solid; padding:0px 1px 0px 1px; position:absolute;<br />"ヒント(フォーカス時)のスタイルを指定<br />"set focusedhintstyle=z-index:5000; font-family:monospace; font-size:12px; color:ButtonText; background-color:ButtonShadow; border-color:ButtonShadow; border-width:1px; border-style:solid; padding:0px 1px 0px 1px; position:absolute;<br /><br />"<ins>----------------------------------------------------------------------------------------</ins><br />" キーマップ設定<br />"<ins>----------------------------------------------------------------------------------------</ins><br /><br />"yで選択範囲をコピー<br />map y :echo 'Yank!'&lt;CR&gt;Y<br />"j/kの移動量を5倍に<br />map j 5&lt;C-e&gt;<br />map k 5&lt;C-y&gt;<br />"&lt;BS&gt;で「戻る」<br />map &lt;BS&gt; H<br />"h/lでタブ移動<br />map h &lt;C-p&gt;<br />map l &lt;C-n&gt;<br />"&lt;S-Left&gt;/&lt;S-Right&gt;で現在のタブの位置変更<br />map &lt;S-Left&gt;&nbsp; :tabmove! -1&lt;CR&gt;<br />map &lt;S-Right&gt; :tabmove! +1&lt;CR&gt;<br />"補完設定<br />set wildoptions=auto<br />set complete=sl <br /></blockquote><br /><br />基本設定はまだシンプルです。<br />実際は、他にもプラグインの設定がいくつかあります。<br /><br />オススメプラグインは、<br /><br /><a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/autoIgnoreKey.js">autoIgnoreKey.js</a><br />gmailとかLivedoorReader独自のキーボードインターフェースがあるサイトで、<br />vimperatorのショートカットと衝突することがあります。autoIgnoreKeyは、<br />設定で指定したサイトで、ショートカットを自動的にoffしてくれます。<br /><br /><a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/commandBookmarklet.js">commandBookmarklet.js</a><br />vimperatorからブックマークレットを開くときに使用します。javascript:から始まるブックマークレットを<br />自動的に取得し、デフォルトではbml + [ブックマーク名]で呼び出せるようにしてくれます。<br />ちょっとハマリどころなのが、アルファベットは小文字に、数字はけされてしまう事ですね。<br /><br /><a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/proxy.js">proxy.js</a><br />プロキシ使うならコレ。proxy [name]でproxy経由にできます。<br /><br /><a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/copy.js">copy.js</a><br />vimperatorで、CopyURL+のように、タイトルとURLをクリップボードにコピーできます。<br /><br />他にもいろいろプライグインがありますので、色々探してみると良いと思います。<br /><br /><br /><br /><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>freeBSDでCDB_File-0.96をmakeするとこける</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/04/freebsdcdb-file096make.html" />
    <id>tag:hackmylife.net,2009://1.483</id>

    <published>2009-04-07T04:40:01Z</published>
    <updated>2009-04-07T04:53:09Z</updated>

    <summary>HTTP-MobileAgent-Plugin-Locatorを入れようとしたら...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
        <category term="perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[<span class="caps">HTTP</span>-<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">Mobile</span>Agent-Plugin-Locatorを入れようとしたら、Geo::Coordinates::Converter::iAreaが必要だって注意されたので、G::C::C::iAreaを入れようとしたら、今度はCDB_Fileが必要だとのこと。<br /><br />最新版のCDB_File-0.96をfreeBSDに入れようと思ったらmakeでこける<br /><br /><blockquote class="code">cc -c&nbsp;&nbsp;&nbsp; -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -I/usr/local/include -O&nbsp;&nbsp;&nbsp; -DVERSION=\"0.96\"&nbsp; -DXS_VERSION=\"0.96\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.8.6/i386-freebsd/CORE"&nbsp; -DHASMMAP <span class="caps">CDB</span>_File.c<br /><span class="caps">CDB</span>_File.xs: In function `XS_CDB_File_FETCH':<br /><span class="caps">CDB</span>_File.xs:480: syntax error before `dlen'<br /><span class="caps">CDB</span>_File.xs:483: `dlen' undeclared (first use in this function)<br /><span class="caps">CDB</span>_File.xs:483: (Each undeclared identifier is reported only once<br /><span class="caps">CDB</span>_File.xs:483: for each function it appears in.)<br />*** Error code 1<br /></blockquote>ちなみにfreeBSDのバージョンは4.11。<br />どうもハマリそうなんで、<span class="status-body"><span class="entry-content"><span class="caps">CDB</span>_File-0.95に切り替えたら、すんなり入った。<br /><span class="caps">CHANGES</span>みたら<br /><br /></span></span><blockquote class="code">

<pre>0.96    - Fix for compiling under stricter compilers</pre>

</blockquote>なんだよw<br />じゃあ0.95でいいや。<br />

<pre><br /></pre>]]>
        
    </content>
</entry>

<entry>
    <title>オシャレなiPod用スピーカ</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/04/ipod.html" />
    <id>tag:hackmylife.net,2009://1.482</id>

    <published>2009-04-06T14:09:10Z</published>
    <updated>2009-04-06T14:21:36Z</updated>

    <summary>たまたま見つけたんですが、こんなオサレなスピーカーあるんですねーハーマン・インタ...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
        <category term="product" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="product" label="product" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[たまたま見つけたんですが、こんなオサレなスピーカーあるんですねー<br /><br /><div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LQSXWA/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41TV4SNPC6L._SL160_.jpg" alt="ハーマン・インターナショナル JBL SPYRO ホワイト SPYROWCHJ" style="border: medium none ;" /></a></div><div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LQSXWA/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">ハーマン・インターナショナル <span class="caps"><span class="caps">JBL SPYRO </span></span>ホワイト <span class="caps"><span class="caps">SPYROWCHJ</span></span></a><div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/B000LQSXWA/crimepenal-22/ref=nosim/" title="ハーマン・インターナショナル JBL SPYRO ホワイト SPYROWCHJ" target="_blank">amazlet</a> at 09.04.06</div></div><div class="amazlet-detail">ハーマンインターナショナル (2006-12-02)<br />売り上げランキング: 10645<br /></div><div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 超かわいい！<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> あくまでデザインスピーカーです。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 一言　最高！<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 小さいのに<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> デザインがいいし、セッティングしやすい<br /></div><div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LQSXWA/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left;"></div></div>
<br /><br />ハーマンインターナショナルはいつも奇抜なデザインだけど、これは特にイイね！<br />これ、花びら方の方がサテライトスピーカーで、<br />まるこっい奴がサブウーファーになってます。2.1chですね。<br /><br />インテリアにこだわるなら、いいですね。ヘッドフォンジャックがあればなんでもつなげます。<br /><br />ちなみに、黒も有りました。個人的には白の方が好きですけど・・。<br />これの5.1ch版で光デジタル端子対応版が欲しい・・w<br /> <br />
<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LQSXVG/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41B9E9B8YRL._SL160_.jpg" alt="ハーマン・インターナショナル JBL SPYRO ブラック SPYROBCHJ" style="border: medium none ;" /></a></div><div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LQSXVG/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">ハーマン・インターナショナル <span class="caps">JBL SPYRO </span>ブラック <span class="caps">SPYROBCHJ</span></a><div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/B000LQSXVG/crimepenal-22/ref=nosim/" title="ハーマン・インターナショナル JBL SPYRO ブラック SPYROBCHJ" target="_blank">amazlet</a> at 09.04.06</div></div><div class="amazlet-detail">ハーマンインターナショナル (2006-12-02)<br />売り上げランキング: 43974<br /></div><div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LQSXVG/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left;"></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>wiiの注目ソフト　「朧村正」</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/04/wii.html" />
    <id>tag:hackmylife.net,2009://1.481</id>

    <published>2009-04-04T11:08:14Z</published>
    <updated>2009-04-04T11:39:45Z</updated>

    <summary>今注目しているwiiのソフトがありまして・・ 朧村正 特典 特大 屏風型絵巻付き...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[今注目しているwiiのソフトがありまして・・<br /><br /><br />
<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000VSW7NO/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51FZfw8uQ4L._SL160_.jpg" alt="朧村正 特典 特大 屏風型絵巻付き" style="border: medium none ;" /></a></div><div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000VSW7NO/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">朧村正 特典 特大 屏風型絵巻付き</a><div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/B000VSW7NO/crimepenal-22/ref=nosim/" title="朧村正 特典 特大 屏風型絵巻付き" target="_blank">amazlet</a> at 09.04.04</div></div><div class="amazlet-detail">マーベラスエンターテイメント (2009-04-09)<br />売り上げランキング: 4<br /></div><div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 試遊しました<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> おもろ村正！！ｗｗｗｗｗｗ<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> ＴＧＳでの感想です・・・<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 映像とキャラデザ<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> ・・・無言<br /></div><div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000VSW7NO/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left;"></div></div><br />さっき注文したんだけど、これ<font style="font-size: 1.5625em;">超期待</font>してる！<br /><br />このソフトを開発しているヴァニラウェア、以前はまりまくった、<br /><font style="font-size: 1.25em;">「<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0017LXP9Y/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">オーディンスフィア</a>」</font>を開発していたところ。こっちもめちゃくちゃ面白かった。<br /><br />オーディンスフィアは北欧神話だったけれど、今作は日本が舞台。妖刀にまつわる物語とのこと。<br />２Dのアクションで、ムービー見た感じと、オーディンスフィアから予想すると、結構辛口っぽい。<br />音楽は『ファイナルファンタジーXII』『タクティクスオウガ』『オーディンスフィア』を担当した<font style="font-size: 1.25em;">崎元 仁</font>。<br /><br /> ちなみにAmazonで買うと発売前なのに<font style="font-size: 1.25em;"><font style="font-size: 1.25em;">20%</font>off</font>。<br />この辺やっぱりAmazon強いよな。いきなり割引だもんな。店頭で買う気なくなっちゃうよ。<br />でも、Amazonって<font style="font-size: 1.25em;">発売日に届かなかったり</font>するの玉にきず。<br /><br />

<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0017LXP9Y/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51sPQwHIHdL._SL160_.jpg" alt="オーディンスフィア PlayStation2 the Best" style="border: medium none ;" /></a></div><div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0017LXP9Y/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">オーディンスフィア PlayStation2 the Best</a><div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/B0017LXP9Y/crimepenal-22/ref=nosim/" title="オーディンスフィア PlayStation2 the Best" target="_blank">amazlet</a> at 09.04.04</div></div><div class="amazlet-detail">アトラス (2008-06-19)<br />売り上げランキング: 1091<br /></div><div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> ファンタジー好きになるゲーム<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 初心者は手を出すな...？<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 素直に面白いと思えるゲームです<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> なかなか難しい<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 処理落ちさえなければ・・・<br /></div><div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0017LXP9Y/crimepenal-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left;"></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>NHKTwitter特集のインタビュー動画</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/04/nhkbstwitter.html" />
    <id>tag:hackmylife.net,2009://1.480</id>

    <published>2009-04-03T01:51:14Z</published>
    <updated>2009-04-03T02:31:11Z</updated>

    <summary>ちょっとまえに、同僚がNHKのtwitter特集で取材を受けると聞いていたのに、...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
        <category term="web site" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="ニュース" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="news" label="news" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="website" label="website" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[<p>ちょっとまえに、同僚がNHKのtwitter特集で取材を受けると聞いていたのに、<br />うっかり見のがしてしまって激しく後悔してたんですが、<br /><br /><font style="font-size: 1.25em;">インタビュー時の方の動画を発見</font><br /><br /><br /></p>

<p><object id="veohFlashPlayer" name="veohFlashPlayer" height="341" width="410"><param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf?version=AFrontend.5.4.2.2.1003&amp;permalinkId=v18007334FTc2k7tq&amp;player=videodetailsembedded&amp;videoAutoPlay=0&amp;id=anonymous" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf?version=AFrontend.5.4.2.2.1003&amp;permalinkId=v18007334FTc2k7tq&amp;player=videodetailsembedded&amp;videoAutoPlay=0&amp;id=anonymous" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" id="veohFlashPlayerEmbed" name="veohFlashPlayerEmbed" height="341" width="410"></object><br /><font size="1">Watch <a href="http://www.veoh.com/browse/videos/category/people_and_blogs/watch/v18007334FTc2k7tq">nhk_01</a>&nbsp;&nbsp;|&nbsp;&nbsp;View More <a href="http://www.veoh.com/">Free Videos Online at Veoh.com</a><br /></font></p><p><br /></p><p>いやー凄いなぁ。</p><p>質問の中で、「twitterで独り言をつぶやいて何が楽しいの？」って質問があったんですが、</p><p>そうだよね、今でこそそれが当たり前になっているけど、何が楽しいの？っておもうよね。</p><p>最初は自分もそうで、なんかtwitterってのが面白いらしい！というだけで、<a href="http://twitter.g.hatena.ne.jp/keyword/%E3%81%A4%E3%81%84%E3%81%A3%E3%81%9F%E3%83%BCFAQ">ついったーFAQ</a>みたいなの読んで、</p><p>取りあえず使い始めたんだけど、今では当たり前につかっているもん。</p><p><br /></p><p>SNSとかと違って繋がりが疎な所がいいんだよね。必ずしもコメントしなきゃいけない訳じゃないし、</p><p>特に反応を意識しないでかけるし。「独り言」だからこそ書ける気楽さが良くて、あとのモノは副産物的なモノだと思う。</p><p><br /></p>]]>
        
    </content>
</entry>

<entry>
    <title>爆死する生物</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/04/post-136.html" />
    <id>tag:hackmylife.net,2009://1.479</id>

    <published>2009-04-02T00:58:18Z</published>
    <updated>2009-04-02T01:19:17Z</updated>

    <summary>昨日嫁にふとしたきっかけでこんな会話になった嫁　「爆発する生物っている？」自分　...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
        <category term="日々の生活" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="misc" label="misc" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[昨日嫁にふとしたきっかけでこんな会話になった<br /><br />嫁　「爆発する生物っている？」<br />自分　「うーん・・・虫の中にいてもおかしくないな」<br />嫁　「そうだ、河豚って・・・」<br />自分　「河豚は爆発しません！ふくらむだけ！」<br /><br />爆死生物か・・・中東辺りにテログループにいたけど、そういうんじゃないよな。<br /><br />という訳で「それgoogleで」<br /><br /><font style="font-size: 1.5625em;">・・・いた。</font><br /><br /><blockquote><a href="http://ant.edb.miyakyo-u.ac.jp/BJ/antStory/AAAnt4.html#5">爆発するアリ</a><br />西ドイツのマシュヴィッツ教授がマレーシアの"爆発するアリ"について報告している。この教授はアリの研究に16回もマレーシアにおもむき，ほとんど住み
ついているような人だが，たまたまジャングルで，珍種のアリを発見した。そのアリをつまんだとたん，パシッと爆発したのだが，それは揮発性の成分を溜めて
おいて自爆するものらしい。腹が割けて，においをまき散らし，仲間に知らせるわけで，人間から見れば犠牲的精神の発露ということになる。<br /></blockquote><br />動画がないのが残念だが、是非とも見てみたいものです。<br />仲間のために、爆発するとは、アリながらあっぱれなもんですな。<br />人間なんか、爆発すると他人迷惑かけるだけなのに・・・<br /><br /><br /><br /><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>もう女王様キャラ確定か？</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2009/02/post-133.html" />
    <id>tag:hackmylife.net,2009://1.476</id>

    <published>2009-02-01T14:45:10Z</published>
    <updated>2009-02-01T14:47:36Z</updated>

    <summary>巡音ルカは結構出だし好調っぽいですね。これは女王様キャラ確定ということでいいです...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[巡音ルカは結構出だし好調っぽいですね。<br /><br />これは女王様キャラ確定ということでいいですか？<br /><br /><br /> 
<iframe width="312" height="176" src="http://ext.nicovideo.jp/thumb/sm5990158" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm5990158">【ニコニコ動画】【巡音ルカ】巡姫舞踊曲【オリジナル曲】</a></iframe>]]>
        
    </content>
</entry>

<entry>
    <title>YAPC::Asia2008</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2008/05/yapcasia2008.html" />
    <id>tag:hackmylife.net,2008://1.475</id>

    <published>2008-05-20T12:37:43Z</published>
    <updated>2008-05-20T13:04:48Z</updated>

    <summary>先週YAPCに参加してきました。実際に見たセッションで良かったモノ＆気になったモ...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="yapcperl" label="YAPC Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[先週YAPCに参加してきました。<br /><br />実際に見たセッションで良かったモノ＆気になったモノをピックアップ。<br /><br />・ <a href="http://conferences.yapcasia.org/ya2008/user/2931">Ingy döt Net</a> - <a href="http://conferences.yapcasia.org/ya2008/talk/1033"><b>‎JavaScript Love for Perl Hackers</b></a><br /><br />　jQueryのようなsyntacsをPerlで実現するためのpQueryを紹介していました。<br />　より直感的にスクレイピング出来そうな感じ。<br /><br />・<a href="http://conferences.yapcasia.org/ya2008/user/2825">Gosuke Miyashita (‎mizzy‎)</a> - <a href="http://conferences.yapcasia.org/ya2008/talk/973"><b>‎Easy system administration programming with a framework - フレームワークでシステム管理プログラミングをもっと簡単に</b></a><br /><br />　システム管理系のフレームワークにFuncってのがあるんですが、それのPerl版。<br />　まだ開発真最中なようですが、非常に有益そうなので、取り入れてみたいなって感じです。<br /><br />・<a href="http://conferences.yapcasia.org/ya2008/user/2928">Masahiro Nagano (‎kazeburo‎)</a> - <a href="http://conferences.yapcasia.org/ya2008/talk/1041"><b>‎memcached in mixi‎</b></a><br /><br />　最近では使っていない方が珍しいmemcashedですが、mixiさんではどうやって使っているのか？<br />　Mooseのセッションの裏で、激しく迷ったんですが、仕事に役立ちそうなので見てきました。<br />　３Gのメモリ×100台のmemcashed専用サーバーにはちょっとビックリ。<br />　探索アルゴリズムであるConsistent hashの説明はとてもわかりやすかったです。<br />　ウチにも導入したいなー<br /><br />・<a href="http://conferences.yapcasia.org/ya2008/user/2832">Yoshinori TAKESAKO (‎takesako‎)</a> - <a href="http://conferences.yapcasia.org/ya2008/talk/1047"><b>‎How to defend Apache/CGI against multibyte XSS attacks</b></a><br /><br />　XSSフィルタのmod_waffleの紹介。apacheに組み込めるのが非常にポイント高いですね！<br /><br />・<a href="http://conferences.yapcasia.org/ya2008/user/2935">Naoya Ito</a> - <a href="http://conferences.yapcasia.org/ya2008/talk/1037"><b>‎Introduction to DBIx::MoCo‎</b></a><br /><br />　MoCoいいよ、MoCo。Rubyで言うところのMethod Chainや、Rails使いならなじみのあるfixtureが素敵。<br />　透過的にmemcashedが組み込める所と、search結果にcollect使えたりするところが良いです。<br />　自分で作る案件にはData::ObjectDriver使おうかと考えていたけど、MoCoにかなり傾いています。<br />　さいきんはてなさんはRubyチックになっているなぁ・・って感じがします。（素晴らしい！）<br /><br />仕事の都合でここまでしかみれなかったんですが、ぼちぼち<a href="http://video.google.com/videosearch?q=yapcasia2008&amp;sitesearch=video.google.com">Google Video</a>にあがるハズなので、片っ端から見てみようと思います。実際見れなかったもので気になっているのはテンプレートエンジンですね。<br /><br />TemplateToolkitは良いんだけど、Railsから比べると、もう少しPerlネイティブに書きたい時があるんですよね。<br />パフォーマンス比較している、"<a href="http://conferences.yapcasia.org/ya2008/user/2924">makoto kuwata</a> - <a href="http://conferences.yapcasia.org/ya2008/talk/1020"><b>‎The Fastest Template Engine in Perl World‎</b></a>"を早く見たいです。<br /><br />最近、Catalystで開発したほうがいいんじゃないか？ってうっすら思っているので、次新規案件やるときは、Catalyst + MoCo + MobileAttribute + よさげなTemplate Engineでやってみようかと思います。<br /><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>rubyのmechanizeでプチプロフのヒトコト更新</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2008/04/rubymechanize.html" />
    <id>tag:hackmylife.net,2008://1.474</id>

    <published>2008-04-22T14:21:47Z</published>
    <updated>2008-04-22T14:41:20Z</updated>

    <summary>ニーズが無さそうだけど・・・ twitter、nowa、frepaのヒトコトをr...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    <category term="ruby" label="ruby" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[<p>ニーズが無さそうだけど・・・</p>

<p><a href="http://hackmylife.net/2008/04/twitternowafreparuby.html">twitter、nowa、frepaのヒトコトをrubyで更新</a>に
<a href="http://www.pcpf.jp/">プチプロフ</a>のヒトコト更新もコマンドラインからマルチポスト出来るようにしてみた。</p>

<p>apiが（多分）ないので、mechanaizeで強引にHackします。</p>

<blockquote class="code"><pre>
#!/usr/bin/ruby

require 'net/http'
require 'rubygems'
require 'mechanize'
require 'kconv'

exit unless $*[0]

# update puchi-prof
agent = WWW::Mechanize.new                     # インスタンス生成
agent.user_agent_alias = 'Windows IE 6'        #  User-Agentの設定
page = agent.get('http://www.pcpf.jp/')    # プチプロフにアクセス
puts page.uri
login_form = page.forms.first
login_form.fields.name('pcpf_id').value = 'user_name'
login_form.fields.name('password').value = 'password'
page = agent.submit(login_form)     # フォームのsubmitボタンを押す

page = agent.get('http://my.m.pcpf.jp/status_message/')
hitokoto_form = page.forms.first
#puts hitokoto_form
hitokoto_form.fields.name('body').value = $*[0].tosjis
puts hitokoto_form.fields.name('body').value
page = agent.submit(hitokoto_form)
</pre></blockquote>

<p>mechanaizeは組み込みではないので、gemで入れる必要がアリ。<p>
<p>これ使うと何でもアリな感じww</p>
<p>完全にHackしどころを間違えた感が・・・</p>

]]>
        
    </content>
</entry>

<entry>
    <title>twitter、nowa、frepaのヒトコトをrubyで更新</title>
    <link rel="alternate" type="text/html" href="http://hackmylife.net/2008/04/twitternowafreparuby.html" />
    <id>tag:hackmylife.net,2008://1.473</id>

    <published>2008-04-22T13:51:50Z</published>
    <updated>2008-04-22T14:00:14Z</updated>

    <summary>なんとなくポスト 普段はtwitterとかnowaのヒトコトとかの更新をコマンド...</summary>
    <author>
        <name>hackmylife</name>
        <uri>http://test</uri>
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://hackmylife.net/">
        <![CDATA[<p>なんとなくポスト</p>

<p>普段はtwitterとかnowaのヒトコトとかの更新をコマンドラインからやっています。</p>

<blockquote class="code"><pre>
#!/usr/bin/ruby

require 'net/http'

exit unless $*[0]

# update twitter
req = Net::HTTP::Post.new('/statuses/update.xml')
req.basic_auth("user_name", "password")
req.body = 'status=' + URI.encode($*[0] + '[rubyからポスト]')
Net::HTTP.start('twitter.com') do |http|
   res = http.request(req)
#  print res.body
end

</pre></blockquote>

<p>このファイルをtwit.rbで保存しておいて、パスの通った所に置いておけば<p>
<p>$ twit 'ひとこと'</p>
<p>とするだけで更新可能。仕事の合間に更新できますw</p>
<p>rubyには組み込みのnet/httpが入っているのが激しく便利。print res.bodyはデバック時の時だけ有効にしています。定数化しておけばいんだけどね。そこまでニーズが無かった・・<p>
<p>ちなみに、nowaの更新もurlを変えるだけ。twitter.comをapi.nowa.jpに変えるだけのお手軽さ。</p>
<p>フレパのヒトコトもurlをwww.frepa.livedoor.comに変えるだけで更新できちゃう。</p>
]]>
        
    </content>
</entry>

</feed>
