なんとなく日記

Everyday studying...

自分に負けないために

まあ会社の愚痴なんてよく言うと思います。私自身も以前はよく言っていましたし、twitterでつぶやきもしてたと思います。でも仙台Ruby会議02で親方たちと話をしたり、情熱プログラマーを読んでみて、愚痴を言う前にやるべきことがあるんじゃないかと考えるようになりました。 情熱プログラマー ソフトウェア開発者の幸せな生き方 著者: Chad Fowler 出版日: 2010-02-26 出版社/メーカー: オーム社 カテゴリ: Book いやならやめてもいいんじゃよ by Maat じゃあ社畜になって働くのかというとそうではなく、その前に自分にできることをできる限りやっているかどうかと考えるようになったからです。情熱プログラマーの第3章にある、「バケツ一杯の水の中の小石一つ」や「8時間燃焼」を読んだときに、「あぁ、このままじゃダメだな。」と思いました。そして仙台Ruby会議02で親方の話を聞いてみて、「今のまま止まるって決めてるのは自分なんだ。だからこそ愚痴を言って逃げてるんじゃないか。」と強く思うようになり、仕事や会社の愚痴を言う前に自分がやるべきこと・できることはきちんとやらないといけないと考え出したのです。まだやりきれてないんじゃないか。まだまだやれることはあるはずだと。 まだ転職しない理由 あとよく「転職フラグか」とかつぶやかれたりするわけですが、そのときは「いまはまだ転職しない」と思うのです。じゃあなぜ「まだ」なのかと考えたとき、やり残していることがあるのもそうなんです、やっぱり「怖いこと(転職)から逃げてる」ことは否定できません。なんだかんだで居心地のいい場所だと、そこから脱出できない、脱出するのが怖いと感じるのは普通じゃないでしょうか。でもそれって「逃げ」なんですよね。じゃあ転職すればいいのかというと、それもある意味「逃げる」ことになる。どちらにしても、そう言う考えだと「逃げ」にしかならない。心のバイブルである逆境ナインによると、「男たるもの進むべき」だとあります。じゃあどうやって「進め」ばいいのか。もう全力でやるしかないわけですよ、いまの仕事を。 自分と戦って負けないために では全力を出してやるのはいいとして、何を目標に据えるか。越えるべきは自分なので、いままでやったことのないことをやるべきだろうと思ってます。また自分に負けないようにしないといけないと。というわけで、男の戦いに終わりはないとバイブルにも書いてあるので、このままで突き進みたいと思っています。

「エンジニアのための数学・物理勉強会」など開催したい

前にも書いたのですが、どうにも学生のときにやり残した感が拭えないので、やはり勉強会やりたいと思ってます。内容的には学部レベルの数学・物理から初めて、計算科学や量子コンピュータ付近まで行ければなぁと軽く考えています。また数学・物理どちらかと言うわけではなく、両方やることにしたいと思ってます。実験物理でもない限り数学は絶対に必要だし、先端物理の方が数学っぽいところがあったりもするので、片方だけと言うわけにはいかないからです。 内容的には、物理はファインマン物理学シリーズからでいいかなと思うのですが、数学がそれに類するものが見あたりません。なんかいいのないですかね。「数学:物理を学び楽しむために」は知ってるんですが、他になんかあれば教えてください>< とすぐにでも動きたいのですが、RubyKaigi 2010が終わるまではなかなか動けないので、9月以降かなとか思ってます。まあほんとは誰か主催しくれたらいいのになーとか思ってたりするわけですが。とりあえず、自分へのプレッシャーのために、ここで告知しておきます。

音楽で気分を変えてみる

最近は朝に一人もくもく会やってたりするんですが、iPhoneでなにかしら音楽を聞きながらやってます。音楽を聞きながらの作業が効率的かどうかはわかりませんが、曲調やジャンルによってテンションが変わることに異論はないと思います。 で、普段の作業中は何を聞いているかというと、最近はほとんどThe ProdigyかChemical Brothersだったりします。アップビートなテクノだと、何故かキータッチが速くなったような気がします。でも毎日だといろいろ辛いので、最近は徳永英明や榊いずみ、ECHOESとか鬼束ちひろとかも聞いていたりします。気分が変わって違う視点で進行するのもいいものですね。 しかし曲によって心理状態も変わるようで、鬼束ちひろとか聞くとなんか落ち着いた気分になります。焦ってたりイライラしてたりするときは、そういう曲を聞くのがいいようです。 そう言えば、むかし実家でいろいろあったときや博士論文書いてた時にはさすがにストレスがたまり、精神的に脆くなる時がありました。そう言う時によく聞いていたのが榊いずみ(橘いずみ)で、「太陽が見てるから」「こぼれおちるもの」「ごらん、あれがオリオン座だよ」は何度聞いたか覚えてません。おかげで何とか書き上げて学位を取得できたわけですが、この曲がなかったらどうなっていたかは定かではありません。特に「26-Dec.11th.1968」はかなりやばく、自宅で胸を熱くしながら何度も聞いていました。 と言うわけで、最近いろいろあるので久しぶりに鈴木彩子が聞きたくなりました。唐突ですねが。最初に聞いたのは大学生の頃かな。例によってアニメ(サイレントメビウス2の主題歌「旅立つ朝に」)だったりするわけですが、アルバム買ってみて聞いた「葛藤」にはかなり影響された記憶があります。「お前らには社会に出る資格がない」とか当時は強烈なインパクトがありました。 特にオチもないのですが、音楽とともに日々作業をすることで、安定した作業効率を得られるんじゃないかなと思ってます。ちなみに見る音楽はDCIですが、流石にこれを知ってる人は少ないかな?ドラムコー・スタイルのマーチングバンドやってたという過去があるので、Madison ScoutsのMalagueñaとか見るとアドレナリン分泌されまくるわけです。まあそんなわけで、音楽聞きながらやってみるのもいいんんじゃないでしょうか。

Sinatra with jpmobile

と言うわけで、Rack化してみました。 darashi's jpmobile at rack - GitHub Github上のrackブランチがそれにあたります。 Sinatra with jpmobile on GAE 以下で実験中です。ちゃんと絵文字と漢字コードが変換されたときはちょっとうれしかったりしました。 http://rust-stnard.appspot.com/ 使い方 特に難しいことはなく、以下のような感じで動作させることができます。 ```ruby -- coding: utf-8 -- require ‘rubygems’ require ‘sinatra’ $LOAD_PATH << ‘./lib/jpmobile/lib’ require ‘jpmobile’ require ‘jpmobile/rack’ require ‘pp’ use Jpmobile::Rack::MobileCarrier use Jpmobile::Rack::ParamsFilter use Jpmobile::Rack::Filter get ‘/’ do erb :index end``` ruby <html> <head> <title>そうでもない</title> </head> <body> &#xe63e;言わずもがな&#xe668; </body> </html> Encoding on Ruby 1.9 またパラメータのEncodingも変換しています。Rack::Request#paramsが必ずASCII-8BITになるので、それを無理矢理UTF-8に戻しています。 そして次は Rails 3.0 on Ruby 1.9 で動作する jpmobile と言うのが目標です。と言うかRubyKaigi 2010までには何とかしないとダメなので、7月初旬にはリリースできるようにしたいと思っています。Rails 3.

InnoDBテーブルでインデックスを拡張するとパフォーマンスが落ちるかも from MySQL Performance Blog

Extending Index for Innodb tables can hurt performance in a surprising way 多くのキーを使うクエリーのときに、よく最適化するときにインデックスを拡張する。通常は問題なく、インデックスの長さが劇的に増加しない限り、インデックスを使うクエリーは新しいインデックスの先頭を使うことができる。では、そうではない場合を見てみよう。 CREATE TABLE `idxitest` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `a` int(11) NOT NULL, `b` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `a` (`a`) ) ENGINE=InnoDB AUTO_INCREMENT=6029313 DEFAULT CHARSET=latin1 mysql> SELECT count(*) FROM idxitest WHERE a=5 AND b=5; +----------+ | count(*) | +----------+ | 60434 | +----------+ 1 row IN SET (0.69 sec) mysql> EXPLAIN SELECT count(*) FROM idxitest WHERE a=5 AND b=5; +----+-------------+----------+------+---------------+------+---------+-------+--------+-------------+ | id | select_type | TABLE | type | possible_keys | KEY | key_len | ref | rows | Extra | +----+-------------+----------+------+---------------+------+---------+-------+--------+-------------+ | 1 | SIMPLE | idxitest | ref | a | a | 4 | const | 707820 | USING WHERE | +----+-------------+----------+------+---------------+------+---------+-------+--------+-------------+ 1 row IN SET (0.

JOIN使うときに気をつけること from MySQL Performance Blog

いつものように気になったので意訳 Joining on range? Wrong! | MySQL Performance Blog これら書く問題というのはMySQLの最初の方にある問題なんだが、気をつけてクエリーを解析しないと知らないまま終わってしまうことだ。phpDay.it でこの落とし穴についてデモしてきたが、ブログの記事にするのもいいとおもったんだ。 問題をデモするための典型的な例として、売上げクエリーを考えよう。データは次の3つのテーブルに入っている。 CREATE TABLE `products` ( `prd_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `prd_name` varchar(32) NOT NULL, PRIMARY KEY (`prd_id`), KEY `name` (`prd_name`) ) CREATE TABLE `tags` ( `tag_prd_id` int(10) UNSIGNED NOT NULL, `tag_name` varchar(32) NOT NULL, PRIMARY KEY (`tag_name`, `tag_prd_id`) ) CREATE TABLE `items_ordered` ( `itm_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `itm_prd_id` int(10) UNSIGNED NOT NULL, `itm_order_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`itm_id`), KEY `itm_prd_id__and__itm_order_timestamp` (`itm_prd_id`,`itm_order_timestamp`) ) そして十分な量のデータを入れた。

懐古主義と言われようとも - 王様のレストランとラビリンス

王様のレストラン DVD-BOX La Belle Equipe 著者: 出版日: 出版社/メーカー: ポニーキャニオン カテゴリ: DVD 王様のレストラン DVD-BOX La Belle Equipe 著者: 出版日: 出版社/メーカー: ポニーキャニオン カテゴリ: DVD というわけで、買ってみました。ただラビリンスの方はいまだDVD化されていないようなので、とりあえずサントラだけでも。でもこの頃のドラマって面白いですね。妻に教えてもらっていろいろ見てますが、なんか勢いがある感じ。早くDVD化されないかな、ラビリンス。

Emacs 23.2 with Shift IME patch on Mac OS X

実は前回のはうまく使えていません。というのも、どうもinline patchの方が23.2では良くないらしく、頻繁に落ちるからです。という訳なので、typesterさんのfull screen patchだけを当てていたのですが、今度はIME経由のShiftキー押下の記号が全部半角で入るという悲しいことに。なので、これまたtypesterさんのfix-shiftmodifier-with-ime patchを当てたものを使ってみることにします。 % wget http://ftp.gnu.org/pub/gnu/emacs/emacs-23.2.tar.gz % wget http://github.com/downloads/typester/emacs/feature-fullscreen.patch % wget http://github.com/downloads/typester/emacs/fix-shiftmodifier-with-ime.patch % tar zxvf emacs-23.2.tar.gz % cd emacs-23.1 % patch -p1 < ../feature-fullscreen.patch % patch -p1 < ../fix-shiftmodifier-with-ime.patch % ./configure --with-ns --without-x % make bootstrap % make install % open nextstep/Emacs.app 基本的に前回と同じです。これで全角括弧とかが入力できるようになりました。

TokyuRubyKaigi02を開催してきた

というわけで、Go!肉の日(5⁄29)に無事開催してきました。今回も事前準備から機材の用意まで多くのスタッフの方々と共に作り上げ、そして当日はなによりも参加者の手によって盛り上げていただきました。酒と食べ物にまみれたのは前回と同じなのですが、今回はより酔っぱらい度合いが上昇したためか、歌ありエロありと、ほんと何でもありの様相を呈してしまいました。私は前回同様、司会をしてきたのですが、どうまとめればいいのかわからないぐらい、場は盛り上がったのではないかと思います。参加者のみなさん、本当にありがとうございました。そしてスタッフのみなさん、本当にお疲れ様でした! 次回も是非開催したいと思ってますので、スタッフになりたい方は普通のTokyu.rbにもぜひお越しください。 以下、軽くまとめを。 MacBookがビールまみれになる。とりあえず動くが、キーを打つとバキバキ鳴る。なんかやばい感じに。 酒が入った状態だと、事前の決めごとの有効性が乏しい気がした。アドリブ重要。 前半からしつこく言っていたせいか、食べ物の消化率は高かった。 Tokyu jpmobile 会議開催。1.9対応パッチの取り込みとRack化を進めることが決まる。 カリスマは蔑称なので、当人を前にしては言ってはいけないらしい。 TokyuRubyKaigiは日本で一番話しやすい場所らしい。LTデビューにぴったり。