2008年7月16日水曜日

事務所の社窓から

事務所借りといてよかったと思った。

昨日、博多祇園山笠の追い山があったことは福岡の方ならご存知だろう。

ついこの間まで知らなかったのだが、追い山という神輿を担いだ多くの男衆が博多の町をかけ走る祭りのクライマックスが自分の事務所の前を通るというのだ。

これは見なきゃいけないと思い、朝5時まで会社に残り、その様子を見守った。

一応、動画撮ったのでみなさんに楽しんでいただければと思います。
7つの山があるのだが、1つは山がでかすぎて事務所前を通れないらしいのとあと2つがデジカメのメモリ不足で取れなかったがご了承いただきたい。










2008年6月26日木曜日

開業祝い


サークルの先輩から開業祝いが送られて来た。

O'REILLY本はありがたい。しかもほしかったやつ「ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール 」。
ありがたや。ありがたや。

右に写っているのは「Moleskine Memo Pockets」というものらしい。
amazonで調べてみると「チケットや領収書など、小さな紙片の保管用に。」と書いてある。

まぁ 領収書入れてみればいいのか。そういえば、家に領収書の束を無造作に箱にしまってたんだっけ。こうやって製本のなかに入れておくときれいに収まるというわけだな。

これもありがたや。ありがたや。

他になにか入れれないものかな。コメントで提案してくれ。

2008年6月21日土曜日

Fukuoka Perl Mongers 定例会 第8回の報告

Fukuoka.pm8回定例会が開催されました。

今回は2セッション行われまして、

私の「Catalyst案件すべて見せます」というお題で発表させていただきました。

以下私の発表した資料です。



第2部では杉山さんによるmooseについての初心者向けセッションが行われました。
mooseに関連してMooseX::Deamonize,Mouseもお話いただきました。

今回も大変興味深く、大変おもしろい会となりました。参加者みなさんのおかげです。ありがとうございました。



そしていつも会場をお貸しいただいておりますデジタルハリウッド福岡校の関係者様へ深く感謝いたします。

2008年6月17日火曜日

贈り物

今日、午後3時出社したのですが、なんか品物届いていました。

送り主は以前、会社の隣の事務所にいた今東京で活躍されている方で宝来さんからでした。

そういえば、以前東京の仕事をちょこっとだけ手伝ってもらったんでなんかやるよ。といわれあまり期待していなかったのですが、さすがに大人です。言った事はきちっと守る男です。前からわかっていましたが。(笑)

んでくださった贈り物はこちらです。



なんというか、ガタイもでかいが、器もでかいな。こんな自分が絶対買わないようなものを選択されるところが粋ですね。
なんかいい意味で考えさせられます。

宝来さん。ありがとうございます。

よし、仕事すっぞー

2008年6月16日月曜日

GoogleDocsで豪遊中

google docsで遊んでいてところすばらしかったので。

ふとFukuoka.pmの2月の発表資料を上げてみてついつい公開してみました。

隠すことはないのですが、そういえばと思い上げてみました。

資料はperlのO/RマッパーDBIx::Classに関して簡単に説明したものです。

2008年6月15日日曜日

Rubyist九州会議 2008行ってきました。

本日行われたRubyist九州会議 2008行ってきました。

大変ためになる話を聞かせていただきました。
ここでは内容に関することは来週行われる本家Ruby会議にて話されるようなので念のためブログでは触れないようにしておきます。

ただものすごく楽しかったですw





基本的には東京で開催されるRuby会議2008の前に九州会議をやろうとなりました。
Javaをメインにされている方も来られていて二次会にわたり非常に活発な話が聞けたと思います。
特にJava,Perl,Rubyに関するGC(ガベージコレクション)の相違点・問題点などが聞けたことが大変たのしかったですね。

ここで告知なんですが、来週にFukuoka.pm(Fukuoka Perl Mongers)の第8回定例会が行われます。
私もCatalystについて簡単な概念なり、Pluginなりを実際の案件に沿って発表させていただく予定です。

興味がありましたら来てみてくださいね。そしてこれを読んだあなたは以下のメーリングリストに登録だけ済ませてくださいね。(^^)!

メーリングリスト:
http://groups.google.com/group/fukuoka-pm

Fukuoka.pm定例会案内
日時:6/21(土)  13:00-15:00
場所:デジタルハリウッド福岡校 セミナールーム
定員:40名
料金:無料
内容:未定(発表ネタ大募集中)
参加申込:MLにて参加表明をお願いいたします。





2008年6月9日月曜日

新事務所開設

ここ2ヶ月間遊びまくり、相変わらずこれから事業展開を目指していこうと口だけばっかり
言っております。そして彼女に夢中だったりっと仕事をあまりしておりませんでした。

現在、1週間ぶっ続けでやった案件が終わり、これからやっとこさ、俺俺サービスに手がけていこうかなと思っております。

そこで、心が弱い俺としてはHOMEでの作業はできないと判断し、事務所を借りる事となり、やっと今日、引っ越しが完了しました。引っ越しっといっても、
ノートブック(mac book),24型ディスプレー, バックアップマシン(linux) というシンプルさ。

事務所はシェアリングで三社が入っています。ヒューコネクト代表取締役の矢野さんにご支援をいただき、ディスクと格安料金で事務所費用をご提供していただきました。

なお、この事務所ではもう一人入れるらしいのでシェアリング事務所をお探しの方などおられましたらヒューコネクトへコンタクトをとってみてはいかがでしょうか?

写真は私のディスクです。
玄関
会議室
全体


新事務所の住所:
〒812-0036
福岡市博多区上呉服町10-29
吉井ビル2階



大きな地図で見る


みなさん、今度遊びに来てくださいね。

2008年5月17日土曜日

YAPC::Asia 2008 報告

2008/05/15-16 に東京工業大学大岡山キャンパス (東京都目黒区) で開催されたYAPC::Asia 2008 へ行ってきました。
http://conferences.yapcasia.org/ya2008/stats
登録者数は 569 人。出身国は 12 か国。 Perl Monger グループ数は 19。参加者数(チケット購入者+スピーカー)は 524 人。


というYAPC上世界最大規模らしいです。

しかし、統計ページでみてみたらFukuoka.pmの参加数は全世界のperl Monger groupでLondon.pmに負けてたw。

YAPC内での内容は後日Fukuoka.pmにて報告します。

一応、雰囲気的なところをお伝えできればと思いますのでPictureをアップします。








2008年5月1日木曜日

今日もいつもどうり朝一番のiknowをやろうとしたら。

いつもどうり朝一番の大仕事。iknowをやろうとしたら、メンテナンスページが現れた。

メンテナンス時間を大幅に短縮し、できるだけストレスを回避するのがウェブシステムの世界であるが、結構長い時間メンテナンス中であった。(自分が見ていた限りでは30分ぐらい)

しかし、503 Service Temporarily Unavailableのページがとてもユニークだったので一応、一枚撮ってみた。



この辺のデザインにもこだわっている。きちんとメンテナンス中におもしろさでストレスを回避しているといった工夫は普通ではできない。

今後がたのしみな企業であることはまちがいないだろう。

2008年4月7日月曜日

「The GOAL」を読んでの感想

エリアフ・ゴールドラット著書「The Gorl」という生産管理についての最適な手法を提案してくれている本であるが、私はプログラマーで生産管理なんて関係ないと思っていたが世界で1000万人が読んだというのでamazoneで購入してみた。
私のことだから速読もできないし、数ページ読んですぐあきるだろうと思っていたが、なんと500ページを数日かけていっきに読み上げてしまった。こんなの「24」のドラマ以来でしかもビジネス書ということで自分に驚いている。

簡単に説明すると、工場長をしている主人公が工場閉鎖の危機に陥っているとき、あることがきっかけで恩師の物理学者と出会い、さまざまな理論的な見方からのアドバイスをし、工場を回復したというお話。簡単に説明しすぎたが、もっと深い。これは読んだ方がいいと思う。生産に携わっている人もいない人もみんな。

驚いたことにこの本は1980年代に原書が書かれて以来、日本以外の国や地域で翻訳が進んでいったが、日本語版が出版されたのが2001年であった。これは著者であるエリアフが日本でこの手法が一般化すれば、国際的な貿易摩擦が発生すると言う理由で日本語化を許可しなかったからだ。国のレベルの既得権益化するつもりなのかという怒りの反面、日本という国がいかに当時は生産管理に関して群を抜いていたかということを思い知った。

だが、現在を見てみるとどうだろう。たとえば、apple社は労働コストが安い中国でmacなど生産し、直送などを行い、在庫を残さないというこの「The Goal」の思想に似ている効率化を行っている。スティーブジョブスもこの本に影響を受けた一人ではないだろうか。

このように日本ではやっているんだろうけど、生産管理の考え方が海外と比べて大きく違っているように思えるのもなんとなく説明がつくのではないかと思う。

とても興味ぶかいな。
いちおう、「The Goal 2」も購入したのでまた読み始めてみることにする。今度は仕事に影響を与えないようにゆっくりと読むように心がけよう。

ではでは

追記:
あとでいろいろウェブをあさってみましたが、トヨタの7つのムダではやはり似たようなことを行っているのだなと知りました。今度、トヨタ本もよんでみよう。この本なら日本にいっぱいあるし。(笑)

2008年4月1日火曜日

ネットワーク越しTimeMachineをセットアップ

leopardの標準装備のTimeMachineを使う。
  • バックアップ要求は以下のとおり
  • クライアントマシン(mac book:160GB)をバックアップ
  • できるだけ標準装備アプリを使ってバックアップをする。(leopardのアプリ互換を保つため)
  • 指定のストレージサーバーへバックアップし、バックアップを一括管理
  • TimeCapcelとか買わずにただでやる
  • 外部ストレージ買うのもいや
ということで今回、samba越しのストレージへバックアップを行うことにする


とりあえず、TimeMachneをセットアップしてみる。
「システム環境設定」→「システム」→「TimeMachne」を選択。
「切<=>入」を「入」にスライド。
リストに何も表示されていません。
現在はタイムカプセルのみネットワーク対応が可能となっていますが、小さじ少々のコマンドを加えるとネットワークストレージにも対応できるようです。


Finder.appを開き、「アプリケーション」→「ユーティリティ」→「ターミナル.app」を開きます。
そして以下のコマンドをコピペして「Enter」してください。
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1



するとシステム環境設定のTimeMachineを開き直すとwindows共有フォルダー又はsambaの共有フォルダーを一覧に確認することができます。

120秒ほどのカウントダウンが始まりますが、中止してください。


まだやることがあります。

というのはTimeMachineはバックアップ先にDiskImageがない場合、新規に作ろうとします。ですが、新規作成に失敗します。原因はわかりません。おそらくはハック行為防止のためではないかと思います。

TimeMachine用DiskImageを手動で作成し、バックアップ先のディレクトリに配置します。
「アプリケーション」→「ユーティリティ」→「ディスクユーティリティ.app」を起動
「メニューのファイル」→「新規」→「空のディスクイメージ」を選択し、各欄に以下を埋めてみてください。

名前:
[バックアップ元ホスト名]_[バックアップ元有線のMACアドレスから記号を抜いて小文字化]
保存先:
[ローカルのホームディレクトリー](ローカルであればどこでもいい)
ボリューム名:
TimeMachine(なんでもよい)
ボリュームサイズ:
100MB(後で変更するので今では100MBでOK)
ボリュームフォーマット:
Mac OS 拡張(ジャーナリング)
暗号化:
なし
パーティーション:
ハードディスク
イメージフォーマット:
スパースバンドル・ディスクイメージ



そうしたらここではホームディレクトリーに[hostname]_[macaddr].sparsebundleというのができているはずです。これがTimeMachineがデータを保存するディスクイメージとなります。

ちなみにローカルで配置したのはディスクユーティリティがスパースバンドルイメージをsamba越しに作成することができないためでおそらくこの原因が先ほどのTimeMachineのイメージ自動作成が失敗する理由なのではないかと思われます。100MBで配置したのはローカルに自分のディスク使用容量以上の分のイメージをつくるなんてできないからです。(mac買ったばっかりだったらできるかも。)ですので後で拡張します。

ではその出来上がったイメージをバックアップ先のルートディレクトリーに移動します。コマンドでいうとこんな感じ。
mv ~/[hostname]_[macaddr].sparsebundle /Volumes/homes/

そしてこのイメージを拡張します。
Finderでバックアップ先のこのイメージをダブルクリックしてmountします。
ディスクユーティリティを開き、左の欄に表示されているはずですので選択します。
上部メニューにある「取り出す」を押し、ボリュームが消え、ディスクアイコンだけが残ったのを確認します
そうなっていれば、上部メニューに「イメージサイズの変更」が有効になるので押してください。



変更の対象を「パーティーションとイメージのサイズを変更」を選択し、ストレージに割り当てたいmacの現在の使用容量以上のサイズに変更してください。



これで準備は完了です。

さきほど行ったように環境設定のTimeMachineをセットアップし直し、120秒待ってみてください。インジケーターが出て来たら完了です。

後はお昼寝でもして待っていれば勝手にやってくれますし、1時間ごとにバックアップを取ってくれるので削除しまくってもどうにかなるという安心感があります。

祝!プータロー昇進

昨日付けで5年間勤めた株式会社イーハイブを退職しました。

長かったようで短かった5年間ですが、さまざまな経験をさせてもらい、コムログ独自ウェブサービス事業に深く関われたことを感謝しています。

さて、これからどうするかというと一応、まだまだ初期段階ではありますが、携帯向けのASPサービスを計画しており、このブログにてアルファー版を報告できるかと思います。

自分と一緒に事業を進めてくださる方や協力をいただけます方、投資希望の方はdai106o[at]gmail.comまでご連絡ください。パッションがある方大募集です。

会社をやめても、福岡の各コミュニティー(Fukuoka.pm,Tenjin.web,FWW,JPUG九州-ポスグレコミュ)には顔を出したいと思いますのでそのときは孤独な自分に一言声をかけていただくとありがたいです。

2008年2月25日月曜日

ipod touch 1.1.3 jailbreak後の感想

んー。
こまったこまった。

ipod touch はjailbreakしないと使えないものという認識が自分の中にあって だいぶ前に1.1.3のjailbreakしてみたんだけど解決されない問題がひとつ。

sleepモードにしようとしてもバックライトだけ消えて液晶はついている状態になってしまう。

つまりバッテリーがすぐなくなってしまう。

だれかこんな経験した人いないかなとgoogleってみたけど検索がへたいのかいないみたい。
なぜだ なぜ俺だけ。

当分はこのままいこうと思うけど結構扱いづらくなってきている。ちょこちょこしらべて見つかるまで辛抱するか。

ねんのため現象をビデオにのこしておく


postgresqlユーザー会合宿

久々のブログ。

22、23とかけて佐賀県嬉野温泉にてポスグレユーザー会(JPUG)合宿が行われました。
ほんとは写真をいっぱいとってきたかったのだが、カメラが今ないためテキストベースですまん。

んで何をするかというと先日発表されたばっかりのpostgresqlバージョン8.3にてインデクス、先行書き込み効率、ファイルキャッシングなどを有効に活用し、チーム戦で夜通し最も早く早くしていくというチューニング大会ですね。

マシンは動作環境を一律に行うためsun microsystemsさん提供のSun FireというマシンでOSがSolaris。
この提供していただいたマシンはなんとメモリ8GBメモリ (2GB DIMM x 4 DDR/400)、私がやった仕事の中でこういったreadだけだとすべてオンメモリできそうなマシンははじめてでメモリの有効な活用方法などまったく検討つかなかったな。
そしておまけにSolarisというまた初めて使ったディストリビューションですこし戸惑ったな。

普段、触れる機会がないからいいきっかけになり、勉強になった。

んでチーム分けを行って(ちなみに自分はAチーム)、postgresqlのコンパイルから入り、readlineライブラリがなかったり、arコマンドへのパスが通っていなかったり、64bit対応にするなどコンパイルでこけまくったが、チームの壁を乗り越え、みなさんの高度なスキルによってすばやく解決され、データーベースを作り、tableを作成して、いざデータinsert ・・・。 ・・・終わらない。データ量が多すぎるようで時間がかかりすぎているようです。
ちなみにデータ量は3つのテーブルで(10万件、100万件、1000万件)のスケールでした。

データ量を下げて10分ぐらいで入ったようです。残念ながらその時のスケールは忘れてしまいました。

そしてチューニング開始!

Aチームはインデックスやる人やpostgres.confを触る人、count(*)でデータをなめるwarmup.sqlを作る人とチーム内で自然に分担が決まっていき、自分はどっちつかずでただのぞき、おーすげーすげーと口挟むだけでした。

インデックスは最初、各カラムに付けていた形をとっていたのですが、explain analyzeしてみると複合インデックスの方が劇的に早くなり、これでいくようになりました。sqlを掲載いいのかわからないので一応控えておきますが、あしからず。

warmup.sqlはselect count(*) from xxx;などとVacume analyze;をセットにして検証する際に発生するコマンドライン量とメモリへのバッファリングを一括でやってしまうという技もでてきました。

postgresql.confの設定がさすがにかなりの変動を起こしたのですが、記憶している分では以下のようなことが上げられます。

  1. shared_bufferの変更
  2. 先行書き込み同期メソッド(wal_sync_method)をfsyncからfdatasyncへの置き換え
    1. 一番凄まじかった。
  3. wal_buffersを64kb->640kbへ変更
    1. ここも結構変わった。
  4. full_page_writes = on -> off
    1. ここ怪しいところ。
    1. 8.1.2までの時はここはoffだとdownしたとき復旧できなくなる可能性があったようだけど8.3ではもう大丈夫なのかな。

っといったところでしょうか。
※ウル覚えなので間違っているかもしれません。

っとまぁこんな感じに作業をしていると風呂に2度以上入っている方やお酒に酔いしれている方、部屋で寝ている方、ソファーで寝てる方など温泉地とpostgresチューニングという普段味合わない空気感を感じつつ、ぽつぽつと会場から人気がなくなっていき、午前2時ぐらいにその日は終止符が打たれ、ベットイン。

そして2日目、発表では大接戦の末Aチームは不正を働いた?ものの優勝しましてBチームは正常な範囲で順優勝、Cチームはいろいろとやりすぎてデータが壊れ再起不能となって棄権となりました。

Cチームも午前2時まで相当接戦が続いていたけども無念です。

なんかこの一連のスタイルは私が学生時代にやっていたrobocupというロボットプログラミング大会の前夜のホテル内の様子と似ていたような気がします。

まぁこっちは大会前夜なんでぴりぴりしたムードでキャリブレーションをやってましたけどね。(笑

あと、チューニング大会結果発表前にプレゼンテーションなどがありましてskypeの pgbouncerPLProxyの紹介があり、Skype のユーザー管理がpostgresqlで動いていることを初めて知った。
baculaというOSSのバックアップシステム、HA構成をHeartbeatで実際やっている人などの紹介なんかがあり、普段聞かないようなことをまた知ることができたなと思いますね。

東京にいかずにこういうのに参加できるってどんなにすばらしいことか。ほんと貴重です。

そして温泉旅館を出て福岡を案内。九州外の方たちが多かったのでどこがいいかなっと九州支部で悩んだあげくやっぱあそこだろうと太宰府天満宮に行きましたね。
私は幼い頃には毎年正月にお参りいってましたが、最近は全然いかなくなってたので、なんか懐かしい感じ。ちょうど桜が咲いていたのでちょうどよかったな。
九州外の方たちに喜んでいただけたかわかんないですが、わたしが楽しかったのでよしとしましょう。

九州でやってくれてありがとうといいたい。

来年も行こうかな。
仕事やめるから金がないんだった。だれか俺に1円でもいいから投資を!