昨日に比べて、仕事モードに入ってきた。より深く潜るべく、音楽を聴こうと思ったら、、、CD-ROM ドライブが壊れたままだった。さて、いったん電源落としてドライブを入れ替えるか。
PC のフェイスカバーを外すのにひと苦労。本当は外さなくても良いことに気付いたのはしばらく経ってから。
CD-ROM ドライブを交換して、最初の起動では CD-ROM を認識してくれなかった。もう一度分解するのは面倒くさいなぁと思いつつ再起動をかけたら、今度は認識してくれて、ホッとした。
プログラミングに限らず、何かの作業に集中するには、テクノ系の音楽が合うような気がする。すっかりさっぱりわからなくなっているんだけど、最近のオススメテクノにはどんなのがあるんだろう?
最近のマルホラン堂では、よきゅんへの厳しい教育が流行しています。「『2001年宇宙の旅』観たことないの?これは、映画の冒頭に出てくる猿達が戦う映画なんだよ」とか「『T.R.Y.』は、ラグビー映画だよ。え?詐欺って言ってた?。あ、そうそう、香港から適当な選手を連れてきて、高額契約させるんだよ。で、それがバレて、最後は織田裕二が自分でグランドに立ってトライするの」とか。
ohsamu から借りた「Tales of Joker 29」という雑誌に「R2-D2 自作マニア大集合」なんて写真が載っていたので調べてみたら、R2-D2 の作り方を紹介しているページを発見。いずれは僕も作りたいものだ(笑)
スペースをタブに変換するコマンドなんてあったのか。知らなかった。Mac OS X 10.2 にもしっかり入ってるわ。
さすがに100ドルとはいかなかったようで、4GBで249ドル。高いような気もするなぁ。素材にアルミニウムを使ったのは、最近の Apple 内の流行からなのか? しかし、デスクトップやノートパソコンが、アルミニウム素材=ハイエンド、プラスチック系素材=ローエンドという関係になっているのに、iPod の場合は逆になってしまうのではないか?
ま、それは置いておくにしても、あんまり好きじゃないなぁ、このデザイン。やっぱり自分が持ってる iPod 3G が一番いいや(親バカモード)
その時、OmniGraffle が完全に立ち上がらなかったんです。メニューバーには、OmniGraffle の名前が出て来たものの、マウスカーソルがず〜っとバルーン状態になったままだったんです。仕方なく Finder から強制終了させて、もう一度アイコンをクリックして起動しても同じ状態でした。アプリが壊れたか?と思って、試しにサイトから OmniGraffle をダウンロードして、ディスクイメージをマウントしようとしたら、マウントできなかったんです。
おっかしいなぁと思って、システムの再起動をしてみることにしたんです。Safari を終わらせ、X11 を終了し、アップルメニューから再起動を選んでしばし待った、、、んですけど、再起動プロセスに入らないんです。
おっかしいなぁと思って、Finder の強制終了メニューを表示させたらディスクコピーのプロセスが残ってたんです。それを強制終了させようとしたら、またバルーン状態になっちゃったんです。
おっかしいなぁと思って、電源ボタンによる強制再起動を行ったんです。fsck が始まったようで、起動まで時間がかかったんです。ようやく起動プロセスに入ったら「local disk を待ってます」の表示が出たまま、ずーっと待ち状態に入ってしまったんです。この時、FireWire で接続したままの iPod を見たら「Do not disconnect」とかって表示になってたんです。普段なら「接続を解除しないで下さい」のように日本語で表示されていたのに。そんなことに気が付いても、状況は変わらず起動しなかったんです。
おっかしいなぁと思って、再び電源ボタンでの再起動をしたんです。すかさず iPod を FireWire から外したんです。「Do not disconnect」は表示されたままでしたよ、えぇ。
今度は、ちゃんと起動してくれたんです。ただ、iPod の様子がおかしかったんです。ボタンを触ったら「ピッ」って音がして、アップルマークが表示されたんです。そのまましばらく表示されてましたよ、えぇ。リセットした時のような動作だったんです。やっと iPod が起動したと思ったら、なんだかいつもと表示が違います。
おっかしいなぁと思って、設定>情報を見てみたら、、、「曲 0」の表示が出たんです。きれいさっぱり消えてくれましたよ、えぇ。。。(泣)
燃え尽きて真っ白になったおまえ(iPod)でもお腹は減るだろう?充電でもしてやるよ。。。と改めて FireWire ポートに繋げたら、見たことの無い画面が表示され、何やらディスクチェックを始めた様子。しばらく放っておいたらチェック完了らしき表示も出た。
も、もしかして!?とボタンに触れたら見なれたメニューが! ブラウズしてみると、曲データも復活していた! 全部チェックした訳じゃないけど、これなら大丈夫かも!
2005年の有給日数。去年からの持ち越し20日+今年の加算20日。
2004年初頭には、「前年度からの持ち越し16日と合わせて36日。せめて今年度は半分くらい消化したいねぇ」などと言っていたのだが、結局使ったのは7日だけだったな。持ち越し限度を超えていた9日分は泡と消えた。
しかし、40日か。いっぺんに使えば2ヶ月程度は休めるな。。。無理だけど。
いつもの同發別館へ行き、「西施炒海鮮(海鮮と生クリームの炒め小鳥の巣ごもり仕立て)」などを食べた。横浜中華街の公式ページの紹介によると、
芝海老、ホタテ、白身魚、カニ肉を卵白と生クリームでフワッとやさしく炒めました、西施とは呉越時代に色白で有名な絶世の美女のことです。このお料理も白くてやわらかいとても綺麗なお料理です。
とのこと。実物はこんな感じ。
ふわふわしていて旨かった。あと、意外にも「小鳥の巣」そのものも塩味が付いていて美味しくて、中身の白い部分と一緒に食べるとちょうど合う感じだった。
でも、今日の同發で一番美味しかったのは、鴨の焼き物。これだけでご飯3杯はいけるよ!的な美味しさ。これは是非リピートしたい。
その後、お茶したりして小腹を空かせた後で食べたのが、公生和のフカヒレまん。中華街の中華まんにはハズレもあるのだけど、このお店のは美味しかった!
どこの店が美味しいのかいつも迷うのだけど、ここは平均以上だと思われ。
「まんが☆天国」で、幸村誠のインタビューが掲載されていた。写真付き。こんな方だったのね。
「カンブリア宮殿」でジュンク堂の話が出ていた。なんでもジュンク堂の本の仕入れに関しては、各現場担当者の裁量に任されているそうで、たとえ店長であっても口出しできない領域だとのこと。
そうか、あの品揃えや並べ方には、それにこだわる担当者の強い想いがあったのだな。ジュンク堂に対して、妙に惹かれるところがあるのは、そういう想いを無意識に感じ取っているのかもなー。
で、少し前に読んだ「金魚屋古書店 6」の中の「本が好き」という話を思い出した。この話も「本」にコダワリを持った店員さんが出てくるんだけど、なんかね、その想いに泣けてきたよ。
それにしても「金魚屋古書店」って、いまひとつ認知されていないような気がする。本好き・マンガ好きならグッとくる作品だと思うんだけどなぁ。
「Widget Press introduces ModelBaker 1.0: Rapid Application Development」というプレスリリースに「コードを書かなくても iPhone / iPod touch や Android 用の Web アプリケーションが作れちゃうアプリをリリースしたぜ!」(意訳)と書かれていたので、気になってちょっと見てみた。
そのソフトウェアの名前は「ModelBaker」。本体は Mac OS X 用のアプリケーションなので、最初はファイルメーカーのようなイメージなのかな?と思ったら全然違っていた。ModelBaker は、「CakePHP を使った Web アプリケーションを GUI で作成できる」という製品だった。
ModelBaker では、MVC(Model / View / Controller)をマウス操作で作成することができる。Model であれば、そのモデルに内包されるアトリビュート名称とデータ型を指定し、さらにバリデーションの内容も指定できる。モデル間の関係(HasOne / HasMany / BelongsTo / HABTM)も GUI で設定でき、その関連は UML 的な表現でグラフィック表示してくれるので、分かりやすい。
コントローラに関しても設定できるようだが、ModelBaker 上ではコードの記述ができないので、スケルトン的な記述に留まるようだ。
また、ビューに関しても基本的な設定だけで、細かなカスタマイズはできない様子。
モデルの設定には強いけど、コントローラやビューは弱いので、名前が ModelBaker なのかも知れないな。
で、MVC の設定が終わったら、次は「Build」という流れになるのだが、そのまえに「Setting」で Build Path を設定しておかないとエラーになってしまう。
Build Path の設定が終わったら、おもむろに右上の「Build and Go」をクリックすると、指定したパスに CakePHP のアプリケーションが書き出されるという動きになる。
実際に書き出されたファイルはこんな感じ。
$ pwd /Users/suzuki/Sites/modelbaker_test $ ls -lFa total 24 drwxr-xr-x@ 8 suzuki staff 272 1 7 22:02 ./ drwxr-xr-x+ 11 suzuki staff 374 1 7 22:01 ../ -rw-r--r--@ 1 suzuki staff 139 6 15 2006 .htaccess -rw-r--r--@ 1 suzuki staff 1158 12 26 08:21 README drwxr-xr-x 16 suzuki staff 544 1 7 22:02 app/ drwxr-xr-x@ 11 suzuki staff 374 1 7 22:01 cake/ -rw-r--r--@ 1 suzuki staff 1281 1 7 22:02 index.php drwxr-xr-x@ 5 suzuki staff 170 12 26 10:15 vendors/
CakePHP を触ったことがある人なら、見慣れたディレクトリ構成だろう。要するに ModelBaker では、CakePHP でアプリケーションを作成するのに必要なファイル(models / controllers / views ディレクトリ以下に記述するファイル)を GUI で設定した通りに自動記述してくれるのだ。
CakePHP 標準添付の bake コマンドでスケルトン作成も良いけど、こういった GUI での操作の選択肢があるのはアリかも知れないなぁ。
で、iPhone / iPod touch / Android の話はドコよ?と思った訳だが、どうやら iUI を使って実現するらしい。Settings の中にある「Include Apple iPhone & iPod Touch and Google Android version of web application」というチェックボックスをチェックすると、iUI も書き出される、という仕組みの模様。
年末に大量に購入したご当地カレーを食べていく。第一弾は、北海道の「海祭り大漁カレー」。サブタイトル(?)には「浜のかあさんの味」とあるので、いわゆる家庭の味のようなものなのか?
レトルトの封を開けた途端にホタテの香り。パッケージには「かに」「ほたて」「いか」入りとなっていたので、これは想像通り。パッと見で具が判別できたのはホタテだけだったけど。
ひとくち食べたところ、結構甘め。これは甘口と読んでも良さそうな気がするなと思っていたところ、後味でほんの少しだけ辛味が出る。ここが中辛といっている所以か?
肝心の味は、香りと同じくホタテ色が強め。食べ続けると出てくるカニやイカの具を食べているときには、それぞれの味が前面に出るけれど、基本はホタテ。
海鮮の臭みみたいのは感じないし、ダシは出ているし、まぁ、美味しいとは思う。「現地まで行って、もう一度買いたいか?」と聞かれたら、、、1回食べたらそれでいいかな?と答えるな。そんな感じ。
昨夜「なんかマイノリティ・リポート観たいなぁ」と、ふいに思った。iTunes とか PS Store で扱ってれば借りて観ようと思ったのに、どうも扱ってない様子。まだまだ使えねーなと思いつつ、諦めた。
で、今日、高円寺の商店街をフラフラしてたら、中古屋の店頭でDVDのワゴンがあったので、なんとはなしに覗いてみたら、マイノリティ・リポートがあった。しかも、380円。ま、この価格ならいいかと捕獲した。
家に帰って観始めたら、、、映像汚いなぁ。DVD の解像度だからってのもあるとは思うけど、だいぶ荒い感じがした。
劇場でも観たし、レンタルでも観た記憶があるので、ストーリーの大筋は覚えてる。やっぱり、映像や資料を操るあのジェスチャーは面白いな。いま見ると、回転させるジェスチャーとかは「器具を回転させている様子を空中でやっている」みたいに見えたので、もうちょっと洗練した動きができるんじゃないかと思ったりも。
あとは、あの目玉だよなぁ。腐らないのかね?と不思議に思うんだけど、なんかちょっと入ってる液体が防いでいるとか、そういう設定なんだろうか?
割と好きな映画なんだけど、TVでは放映されないねぇ。SFっぽいのは人気ないんだろうな。
本日付けで株式会社クロコスへ入社しました。
たぶん、社内で一番年齢が上になるのですが、立場としては「いち新人エンジニア」です。先輩からいろいろ学びながら早く役立てるように頑張ります(新人風言動)。
まぁ、この言い方はちょっとアレなんですが、、、クロコスには PHP の世界でデファクト・スタンダードな書籍「パーフェクトPHP」の著者が2名も在籍しています。この他にもエンジニアとして尊敬できるメンバーが揃っているので、僕としては「学ばせてもらう」という意識が強く働いています。
この考え方は「情熱プログラマー」の「一番の下手くそでいよう」に影響を受けてます。
チームで一番下手くそでいるのは、バンドで一番下手くそでいるのと同じ効果がある。どういうわけか自分自身が賢くなるんだ。話し方や書き方さえ以前より知的になる。自分の生み出すコードや設計が以前よりエレガントになり、難しい問題をますます創造的なソリューションで解決できるようになる。
現時点では、クロコスで「一番へたくそなメンバー」なのは確実なので、ここからの行動で僕の人生がどうなっていくかが決まります。
まぁ、頑張っちゃうよ。
以上、日記おわり。以下は、おまけのふりかえり。
クロコスへ入ることになったキッカケは、だいぶ日付を遡ったころの話になります。
ところで、みなさんは「株式会社えにしテック」をご存知でしょうか? 札幌にある注目度抜群なソフトウェア企業です。
そのえにしテックさんが2012年8月9日に「☆ えにしテック 3周年記念パーティー ☆」を開催したのですが、会場が札幌だったために「えにしテックに縁(えにし)のある東京にいる人々」は参加できませんでした。そんなメンバーが集まって「えにしテックの3周年をフリーダムに祝う会@お江戸」を同日に開催しました。よくある(?)サテライトパーティですね。
この時にクロコスの @sotarok と @riaf が参加していました。もちろん僕も。
サテライト会場である韓国料理屋で飲み食いしながら、(この時は冗談交じりに)「クロコスに入るにはどうしたらいいの?」とか2人と話をしていたのがファーストコンタクト。それ以前からクロコスの存在は知っていて、Facebook の認定マーケティングデベロッパに認定されたニュースとかを見て、「面白いことやってるなー」と思っていたので、気になっていたのです。
この飲み会の時は、この冗談話で終わったのですが、、、「言葉に出す」というのは不思議なもので、この後から急激にそのプランについての実現性を考えるようになってきました。いま振り返ると「言霊(ことだま)ってホントにあるんだな」と思います。(あるいは夢枕獏の陰陽師が好きなら「呪(しゅ)」と言い換えても良いですね)
と、そんな頃です。クロコスがヤフー株式会社へ買収されるというニュースが飛び込んできたのは。
正直に言うと「えぇっ!?」と思いました。独立系ベンチャーが上場会社の100%子会社になるという道筋は、前職で辿った道筋と同じだったからです。僕が経験した道筋にはメリットも沢山ありましたが、少なからずデメリットもあったので、ちょっとそこが心配になってしまいました。
ただ、退職時の日記で書いた「エンジニアとしての技術力を上げる」という思いは、言霊の影響も大きく(?)、日々強くなっていました。
そこで、面談を設定して貰い、いろいろと詳しい話を聞かせて頂き、クロコスへの転職を決断したのが、9月末。ちょうど札幌Ruby会議2012やPHPカンファレンス2012が終わってしばらくした頃です。
入社の時期は、いろいろあって2013年1月になってしまったのですが、ここまで丸3ヶ月以上も先でした。前職で採用担当もやっていたので「転職はスキルや経験が重要だけど、タイミングも大きな要素」だと感じていたので、ここまで待って頂けたのはありがたかったです。
ということで、無理矢理まとめると、「えにしテックさん、ありがとう!」ですかね?(笑)
昨日投げた pull request をサクっとマージして貰えるかと思いきや、日本語の他にも「ポルトガル語のドキュメントでも PDF のビルドに失敗するんだよねぇ」みたいな話が出てきたりしている。
まぁ、結局、CakePHP ドキュメントを公開しているサーバでうまくビルドできるかどうか?がキモになっている様子。しかも、過去に失敗した経験もあるようなので、「ちゃんと動くよ」ってのを見せないとダメそうな気配。
ということで、オレの個人サーバでドキュメント全体をビルドして「ほら動いてるよ」というのを示してみようと思い、構築をしている。
docs
の直下にある Makefile
のターゲットに website
というのがあるので、そいつで CakePHP ドキュメント(Cakebook)のサイトを丸ごと作成できるようになっているのだけど、Elasticsearch がインストールされていることが前提だったりして、ちょっと構築に手間取った。
そんなこんなで作ったビルドサーバで出力した結果がここ ( http://cakebook.zatsubun.com/ja/index.html )で見られる。 (なんか検索がうまく動いていないが)
日本語ドキュメントページから PDF のアイコン(ボタン?)をクリックすれば、日本語の PDF ファイルが閲覧できると思う。
別件で、ポルトガル語のビルドがコケる件も調べてたら、reST で書かれたドキュメントの中に Unicode のゼロ幅空白(Zero-width space, U+200B)が含まれているのを発見した。これを取り除いたら PDF の作成ができるようになったので、恐らくコイツが原因じゃないかなぁ。
日本語 PDF の件とは別件として pull request を投げた。
会社のメンバーでプチ新年会。ITS 健保の中華料理店「桜華樓」へ行ってきた。
一品目で、いきなりフカヒレのスープ。うまい。このスープずっと飲んでいたい。塩分が多そうなのでヤバイけど。
あとは個人的に思い入れのある北京ダック。これはもうちょっとガッツリ食べたかった。饅頭や皮(?)の味が強めで、北京ダックそのものの味がちょっと負けちゃってた感がある。まぁ、うまいんだけど。
帰りはイングレスをしながら東中野駅まで歩いた。そこで「グリフハック」というものを教えてもらった。全然しらなかったけど、これでポータルで貰えるアイテムを増やせばレベル上げも捗りそう。
本当にちょっとした修正だけど、pull request をしたコードがマージされて本番リリースまで完了した。もちろん「大人のスタートアップは大人のリリースができる。そう、ChatOpsならね。」で紹介されている方法で。
入社後、1週間以内に初リリースまで行けてよかった。
「会社の体制として、エンジニアが入社してから1ヶ月後にリリースできるようになるか、1週間後にリリースできるようになるかでは大きく違う」って話をしたこともあったので、良い事例のひとつになったと思いたい。
まぁ、でも、既にこの会社では「これが当たり前」なのかも知れないけど(笑)。
他にもいろいろなところで「すげーな」と思うことが多くてすごい。ワクワクするね!
「Crowi の Elasticsearch サポートポリシーが決まった」で書いた通り、Crowi v1.6.0 (リリース日は未定)では Elasticsearch 5.x 未満をサポートしない。
この場合の挙動を「サポートはしないけど Crowi は起動する」として pull request を作ってたんだけど、「サポートしないバージョンだったら Crowi は起動しない」という動きに修正した。
あと、『「スマホで Crowi を使っている時に Like したいんです!」と言われたので作ってみた』の修正が master に取り込まれたのだけど、一部修正漏れがあったので、追加の pull request を作った。
こっちは v1.6.0 より前にリリースされると思う。
▽ ウラウラ [掃除するときにもオススメ>テクノ]
▽ すずき [掃除はあんまりしないからなぁ(笑)]
▽ rukiti [折り紙は、センスの悪さにビツクリしたけれど、今回紹介されたR2は良いね。ヴィレバンに売ってた等身大R2は確か150万..]