« 2009年1月 |
メイン
| 2009年3月 »
2009年2月26日
アキバグルメとか
アキバーガー。余裕でした。2つはいけそう。先週ものすごく珍しく食欲が少な目の時期があって、食べられなくなってるんじゃないかと不安を感じていたのだが、杞憂でした。良かった。食べられなくなったら人生の楽しみ減っちゃうからね。
秋葉原UDXは他にもとんかつ茶漬けの店があったりするし、ヨドバシの上も刀削麺の店が美味かったりと、秋葉原は良い街です(笑)
しかし、何より美味いのは、職場から歩いて2分のところにある、「粋な一生」ってラーメン屋で、ここが半端なく美味い。塩ラーメンがクリアなのに深みのある味わいで、こんなに美味い塩ラーメンは、本丸亭以来じゃないかという。て言うか本丸亭の味忘れた。肉が美味かったことは覚えてるけど。
何より、この店は柚子胡椒が置いてあって、それを塩ラーメンに入れるとこれまた味が変わって美味しい。この柚子胡椒が、そこらへんにあるような柚子胡椒じゃなくて、柚子胡椒の味の中にまだちゃんと柚子の香りが残っているという。柚子胡椒だけでも勝負できるレベル。
しかし柚子胡椒って美味いよな。何でこんな美味いもんが今更やっと全国的に広がったんだ? 小さい頃知らなかった私は人生損した気分だよ(笑)
23:29
2009年2月23日
100年に一度の不況だということが分かったようなやっぱ実感が沸かないような
グループ本社は上場以来初の赤字らしい。創業からとなると108年ぶり!の赤字だそうだ。そりゃ100年に一度の不況とか言われるはずだよ。とか分かったような分からない様な。
23:23
2009年2月21日
人間の知能・感情なんて携帯電話のメール機能みたいなもんだ
そんな事を思った。本来の機能とは異なるおまけみたいな機能だったはずなのに、妙に肥大化してしまい、不可欠な機能であるように錯覚してしまうレベルになってしまった。本当はなくても大丈夫なのに。
生物が生きる上で、人間の知能や感情なんておまけみたいなもんだ。別にそんな余計な機能はなくても生物は生きていける。でも人間は生きていけない。それは進化なのかね?
人間が知性とか感情とか錯覚しているものは、突き詰めると結局は脳の中で渦巻く電気信号に過ぎず、その電気信号に応じて蛋白質ロボットがプログラムどおりに動いているに過ぎない。意思があるように感じているだけで、次に起こす行動は決まっている。
宇宙自体も突き詰めると、素粒子と素粒子同士の物理現象で成り立っている。例えるならば微細なパチンコ球が入り乱れる超巨大なパチンコ台でしかないのだ。
未来は決まっていてラプラスの悪魔は結末を知っているけれど、パチンコ台の中のパチンコ玉の集合に過ぎない人間には、それを窺い知る事すら出来ないことはゲーデルに証明されてもいる。未来は決まっているけど、絶対に分からない以上、人間にとっては決まってないも同じ事なのだ。
話が脱線した。人間以外の生物は、知能や感情がなくても生きていける。それに近いものを持っているのかもしれないが、人間とは異なるものだ。
「鯨は心を持っているから殺してはいけない」とかそんな話はアホ臭い話しで、鯨はそんな余計な機能がなくても、満足に生きているのである。
「鯨が心を持っている」だなんて、鯨を人間レベルに貶めた勝手な妄想は、別に個人レベルでは好きにして良いが、そんなのは男子中学生が好きな女の子やアイドルをオナペットにするようなものであり、公の場で堂々として良い話ではない。
そういう発言をする人間は、自分が安全圏にいて「自分が他の生命のために殺される」という事にリアリティが無いもんだから、自分が感情を寄せたものに対して、妙にヒューマニスティックに同情してしまう部分があるのでしょう。それは現代人共通の病みたいなもんではあるんだけど、そういう自分のエゴに対しては自覚的であったほうが良い。そして他人の感情に直接訴えかけるような発言をするときは多くの場合思いとどまった方が良い。
現代人は多くの命を犠牲にして生きている。そして、人間も遅かれ早かれ死に、地球に還るのである。人間の遺体は灰になったりバクテリアに分解されたりして、また他の生命の身体の一部になるかもしれない。コンクリートになったりしたらヤダけどその可能性もある。(勿論人間の身体なんて、物質的には2年くらいで入れ替わってるんだけどね。)
「死んでる事より生きている事の方が素晴らしい」とか「心を持っているから偉い」とか「死の惑星より生命に溢れた地球は尊い」とか「知性を持った人間は一番神に近い」とか「人間は進化の頂点である」とか全部人間が勝手に決めた絵空事に過ぎない。何度も言うが人間以外の生物はそんなくだらない事は意識しなくても生きていける。人間以外は反論しないから勝手に一人勝ちオナニーしてろって感じ。
しかもそういう特別意識は、プログラム上そう考えさせられているに過ぎないのだから滑稽だ。
そう。人間の面白い所は、自分自身について考えるようにプログラムされているところだ。自然の一部でありながら自然について考えている。
人間自体非常にメタな存在であり、だからこそメタな構造に萌えるのかもしれない。再帰、フラクタル、無限ループ、メビウスの輪、クラインの壷、胡蝶の夢、夢オチ、中の人。
話を戻すが、「地球が、生き物が貴重だ」、なんて人間しか考えない。だから、環境問題なんかも結局人間自身のためにやっている。生き物達もそんな事望んでないし、なるようになるだけだと思ってる(嘘。勿論望んでも思ってすらもいない)。巨大隕石が落ちてきたらおしまい。太陽が突然爆発したらおしまい。宇宙の片隅の些細な出来事に過ぎない。
人間はもともと地球にダメージを与えると人間自身に跳ね返ってくる事を本能的に知っていて、それが自然崇拝とかに繋がってたんだけど、科学が進化するにつれて本能がどんどん壊れていってそういう感覚がなくなって、どんどん環境を破壊した。ここに来ていよいよもってヤバイぞということに壊れている本能でも気づくレベルに来たと言うだけのお話。
誰だって、自分や周りの人間、子孫が幸福に生きてもらいたいと思うし、地球が豊かな自然に包まれていて、数多くの生物に生きていて欲しいと願う。例え植物状態がずっと続くとしても、愛する人には生き続けて欲しいと思う気持ちを持ってしまう。
そういう感傷的な部分があるから、人間は地球環境を護ろうとしてるんだよね。自分自身のためなんです。それで良い。
そういう感傷的な部分は当然持っていてしかるべきものではあるんだけど、それは各人が生きてきた中で植えつけられてきたもので、自然発生したものではないんだよね。
例えば、植物人間と人間の境目はどこかとか、植物人間を人間じゃないとは思えないとか、そういうヒューマニズムを持ってしまうのはむしろ健全だろうとは思うし、私もそう思うんだけど、でもそれは人間のエゴなんです。
アメリカが世界の警察だと勘違いしているように、人間が全ての生物の中心で、全ての生物を護らなくてはいけないとか勘違いしてはいけないのです。「我々が」多くの生命に生きていて欲しいと勝手に思っているだけなのです。
まとめます。言いたい事は、
「所詮人間は宇宙のチリに過ぎないんだから人間として自意識過剰になりすぎるなよ」
ってことと、
「せっかく人間は知能と感情っていう愉快な道具を持ってるんだから精々楽しめば良いんじゃない? でも別に生物として優れているとかそういうこととは関係ないよ」
と言うこと。そしたらきっと人生楽しいよ。
20:15
2009年2月20日
PHPの正規表現と文字列
PHPで正規表現を扱う上で、正規表現パターンの記述で迷ってしまっている人が多い気がする。
- PHPが文字列を生成する
- その文字列を正規表現エンジンに渡す
と言う2段階の手順があり、そこがやや複雑なので混乱を招く部分があるのだと思う。
混乱を防ぐためには、その手順をしっかり追って、正規表現リテラルとして指定している文字列をechoしたらPHPがどのように出力するかを考えてみると良い。
例えば以下のようなコードがあったとする。
preg_match('/\\d/','3d');
まず、preg_match()の第一引数になっている正規表現パターンをechoで出力するとどうなるかを考える。
echo '/\\d/'; #/\d/
なので、/\d/が正規表現エンジンに渡されると分かる。なので、上記のパターンはマッチする。
さらに混乱を招きやすくしているのが、PHPの文字列の仕様で、特にバックスラッシュのエスケープに関する仕様だ。
PHPマニュアルの文字列の項より抜粋。
引用符をリテラルとして指定するには、多くの他の言語と同様にバックスラッシュ (\) でエスケープする必要があります。 バックスラッシュを引用符の前または文字列の最後に置きたい場合は、 二重にする必要があります。この他の文字をエスケープする場合には、 バックスラッシュも出力されることに注意してください! このため、 通常はバックスラッシュ自体をエスケープする必要はありません。
つまり、エスケープが必要な文字が後に続かない場合、バックスラッシュはそのまま出力される。ただし、バックスラッシュをエスケープしても構わない(エスケープしないと正しく表示されないケースもある)。このエスケープするときのみバックスラッシュを意識すればよいという一見親切な設計が、混乱を招いている。実にPHPらしい。以下実例。
echo '\a' ; # \a そのまま出力される
echo '\\a' ; # \a エスケープされて出力
echo '\\' ; # \
echo '\' ; # !Parse Error 「'」がエスケープされ、文字列が閉じてないとみなされる。
echo '\\\a' ; # \\a 一方のみエスケープされるので2つ出力
echo '\\\' ; # !Parse Error 文字列が閉じていない
echo '\\\'' ; # \'
echo '\\\\' ; # \\
echo '\\\\a'; # \\a
解決策としては、バックスラッシュを書くときは、問答無用でエスケープしてしまうのが正解だと思う。1つ書きたいなら2つ重ねて。2つ書きたいなら4つ重ねて。
1つだけでもちゃんと出力してくれるときがあるので、逆に良く分からなくなっているのだと思う。3つ重ねると、2つ出力とか分かりづらい。そんなありがた迷惑な挙動はお断りしてしまいましょう。
また、ダブルクオート文字列内でエスケープ文字を記述する際にも混乱が起きやすい。PHPの文字列としてマッチさせようとしているのか、正規表現エンジンにマッチさせようとしているのかで混乱してしまうからだ。以下は、何れもタブ文字を削除するコードになる。
$str = str_replace("\t",'',$str);
$str = preg_replace("/\\t/",'',$str);
正規表現を使ったpreg_replaceだと、バックスラッシュを重ねる必要がある。さっきも述べたように、"/\\t/"をechoすると、/\t/になるので、それが正規表現エンジンに渡っているからだ。
このように、PHPで正規表現を扱う際には、一種のメタプログラミング状態になってしまっているので理解が難しい。
01:20
2009年2月19日
PHPオンラインマニュアルが充実しているのは確かに素晴らしい、が
PHPは日本語のオンラインマニュアルが充実しているのが何気にすごい。多くの人が迷っている結構重要な事に対する答えが実はしれっと書いてあったりする。
ただ、それ以外の個人のBlogレベルになると、なかなか信用が置ける情報が少ない。純粋にPHP4時代のものもあるし、そもそも間違っているものも少なくない。この人が書いているなら間違いないっていうBlogが無い気がする。
23:00
2009年2月17日
PHPの書籍をまとめてみる
一応PHPも業務で使えるレベルになったと思うので、これまで学習がてら入社前、入社後に読んだPHPに関する書籍をちょっとまとめてみる。
初めてのPHP&MySQL
PHP言語とPHPでのWebアプリケーションについてイメージを掴みたく、ざっくり網羅している本が読みたかったので最初に買った本。大体狙い通りの内容が書いてあった。他の言語である程度開発経験がある人が、PHPでのWebアプリケーションの開発となった際にこれを読めばコーディングは始められるかなという感じ。古い情報もあるけどね。
PHPサイバーテロの技法 攻撃と防御の実際
これはめちゃくちゃ良い本。PHPに限らずWebアプリケーション製作者必読書だと思う。様々な攻撃方法と、それに対する防御方法を事細かに書いてある。それでいて単なるケースワークに留まらず、攻撃方法が分類されてまとめられているので、Webアプリケーションのセキュリティに対する知識がしっかりと身につくと思う。恥ずかしながらヌルバイト攻撃の具体的な内容はこの本を読んで初めて知った。
それと驚いたのは画像ファイルのExif情報もXSSのターゲットに成り得ると言うもの。画像共有サイト等で撮影カメラの情報等のExif情報を読み出す処理を行っているWebアプリケーションでは、Exif情報にjavascriptを埋め込まれて攻撃される可能性があるので、ちゃんとExif情報のチェックを行わないといけないという。
確かにそうだけどすごく盲点。そういうことを考え付くヤツがいるってのが恐ろしい。
上記2冊が入社前に読んだ本。以下2冊が入社後に読み足した本。
プログラミングPHP
結局言語仕様とかちゃんと知りたくなって買ってしまうんですよ。馬鹿だよね。分量も少なくさくっと読めた。PHPは良くも悪くも関数依存で複雑な機能は無いので本の中で別段難しいところは無かった。
PHP5系が対象の本だけど、既に古くなってしまっている情報もあって、クラスのメンバ変数の宣言がvarだったり、DB連携のモジュールでPEAR::DBを取り上げてたりする(PDOの項目も少しあるけど)。その辺少し注意かな。
まるごとPHP! vol2
PHPの最新動向を知りたくて、実践的なコードを読みたくて買った本。
再学習PHP5の項目では、php.iniファイルついての解説や、オブジェクト指向、例外処理、PDOなどへの解説がしっかり書いてあって、かなり有用でした。「プログラミングPHP」よりも知りたい情報が書いてあったかも。
フレームワークの比較や、テスト駆動開発などについての記事も面白かった。期待していた以上に役に立った本。
23:26
2009年2月16日
怖さを知らないルーキー的な
コードを書くのが楽しくて仕方が無い状態。予定よりも早く実装も進んでいるので、周りにも驚かれてます。
プロ野球で言えば、投げるのが楽しくて仕方が無いルーキー状態。そのうち手痛い洗礼を浴びて、プロの怖さを知ったりするのでしょう。
PHPもそんなに悪くないかなとか思ってると、ASPとかJSPとかのapplication変数(オブジェクト)的なものが標準で無かったり、private staticなメンバ変数を宣言できなかったり、連想配列にarray_shift関数を使うと大変な事になったりと、ちょっと油断するとひどい目にあわされるもんだから油断できない(笑)
HTML+CSS、正規表現とかなら社内でも出来るほうなんじゃないかとか思い始めた今日この頃。あんま自慢にならないけど。
23:15
2009年2月14日
ビリーヘリントン来日記念
恋人とたまりばフェスティバルを見てきた。大分前からだけど、今やもう単なるお客さんだよね。知ってる世代の参加者も少なくなってるし。平日休みじゃなくなったからえんにさらに顔出せなくなっちゃったしね。
去年に比べるとセットの搬出・搬入なんかの手際が良くなってて、各プログラムから次のプログラムへのインターバルが短く進行がスムーズだった。年々どこかしら進化している。
恋人と直江兼続の話をしていたら、漫画嫌いの彼女が実は「花の慶次」を読んだことがあるとか言い出してビビる。なんかバイト先の人に読まされたみたいなんだけど、「一夢庵風流記」も読んだとか言ってて、ドンだけハマってるんだよと。早く言えよ、っていう。
そんなバレンタイン。
23:01
2009年2月11日
iPod touchをテキストリーダーにしたいの巻
前職に比べると通勤時間帯が普通なんで、通勤電車で座れない事が増えてきた。座れなくても混んでなきゃ良いけど、混雑してるとまともに本も読めない。サイズの大きいオライリーの本とか読んだり出来ない。
立ったまま無為に過ごすのも勿体無いなぁと言うことで考えたんだけど、私はiPod touchという便利なものを持っているわけです。これをテキストリーダーにして、なんか自動で取り込んで通勤電車で読めば良いじゃんとか思ったのが始まり。
新聞記事とかPlaggerで整形して、自分用にRSSとPDF作って、iPodでPodcastすれば良いんじゃね? とか思っていたら、おま、iPodってPDFをPodcast出来ないのかよ! そんな気はしてたけどさ。PDFそのままで読めそうにないし。
これまたそんな気はしてたけど、そもそもリーダーアプリを入れないといけないみたいなので、テキストリーダーアプリケーションを物色した。やっぱり似たようなことを考える人は多いらしく、iPod touch用のブックリーダー、テキストリーダーは豊富でした。そんな中、青空文庫用のSkyBookとStanzaをインストール。
SkyBookはスゲー快適。新しいアプリで意欲的に新機能を盛り込もまれている段階ってところが良い。青空文庫のルビに対応しているのも大きい。
タップしてページ送り、シークバーを使えばページをぱらぱら送る事が出来たりと、ああ、これが出来ればブックリーダーとして文句は無いなという出来。
とりあえず、小栗虫太郎の黒死館殺人事件をダウンロードして読んでます。いやー、これが無料だなんて改めて青空文庫素晴らしいね。
ただ、SkyBookは縦書きオンリーなので読書する分には良いんだけど、WEBからの記事なんかを読む分には横書きの方が良いかなぁとか思って、Stanzaもインストール。こちらもSkyBookと同様の機能を備えてます。もともと英語圏のソフトなんで、ルビ表示とかは出来ないけどね。
何れも自分で作ったファイルも取り込むことが出来るんだけど、SkyBookは青空文庫形式のテキストファイルで、Stanzaはepub形式。
青空文庫形式は独自の日本語マークアップランゲージって感じで、なかなか面白い。例えばこんな感じ。
霜月|酉《とり》の日
[#改丁]
[#ここから4字下げ]
・・・
[#ここで字下げ終わり]
[#地付き](この日記終り)
記号も全部全角でマークアップされているのが面白い。一番上はルビの設定で、縦棒以降がルビ対象になって「《》」内ににルビを降ると言う仕様になっている。青空文庫のボランティアはみんなこのルールに従って打ち込みをしているみたい。
epub形式はまだまだ日本語の情報は少ないけど国際的に電子書籍の標準形式になろうとしている規格のようです。
拡張子が、epubでバイナリ形式のファイルかと思いきや、実は単なるzipファイルで中身はxmlファイルでした。レイアウトもxhtml+CSSが使えるみたいなので汎用性があって良いですね。
ただ、いかんせん日本語の情報が少ないので、デスクトップ版のStanzaが生成したepubファイルを解凍して解析したり、idpfのサイト(http://www.idpf.org/)を見たりして勉強中。
日本語の情報が少ないから、逆にちょっと頑張って上記サイトの翻訳でもしようかなとも考え中。
てことで、テキストデータをファイル形式に応じて整形してやってiPod touchに取り込めばよいのです。
ただ、取り込むのも問題があって、iFunBoxってプログラムを使えば、iPod touchにファイルを転送出来てそれはすごく便利なんだけど、最終的に自動的に同期とか精々ワンボタンで同期とかそういうレベルに持って行きたいよなぁとか悩みは尽きません。
というか実際に最初に書いた事が簡単に実行できるようになるのがいつになるのだか見当も付かないのだが、とりあえず、SkyBookで黒死館殺人事件が読めているので当初の目的とは違いますがそれはそれで満足だったりします。
23:59
2009年2月 8日
EASEUS Partition Managerが便利
自宅で使ってるパソコンがデュアルブートになっていて、WindowsとLinuxを共存させていたのだが、Windowsの空き領域が残り3GBと少なくなったので、Linux領域を潰すことにした。
再インストールもメンドイのでパーティション弄るツール探してたら、EASEUS Partition Managerてのがあって、それを試した。別にデータ飛んだら再インストールすればよいだけの話だし。
Windowsにインストールして、パーティション変更内容を決めて再起動。後は勝手にやってくれて、1時間くらいで問題なく正常起動。あまりの簡単さと素晴らしさに感動したね。
これで容量は60GBになったので、OSとプログラムだけでそうそう使い切ることはあるまい。
メインをLinuxにする事を考えてた時期もあったけど、なんだかんだでWindowsのまま。Adobe製品が使えないのが大きいな。Windows7がクソで、XPのサポートが切れるようだったらLinuxに乗り換えると思う。
23:46
2009年2月 2日
一ヶ月働いてみて
思っていたとおり良い会社でした。選んで良かったと思う。細かいところに目くじらを立てるような雰囲気は無く、皆それぞれ自由に働いている感じ。死んだような目をしている人は皆無なので良かった。非人道的に忙しかったりすることはなさそう。
9割女性の職場から、9割男性の職場への転職ですが、思ったよりすんなり馴染めて、慣れた。最初の方に電話をとりまくったので、所属セクションの人間はさっさと覚えました。まあ電話応対は慣れたもんですよ。
電話も取れるし、やれる仕事もあるしで前回転職したときと全然違うな。前回の転職時はすごくあたふたしていて、電話一つ取るのもおっかなびっくりだったのを覚えているので、自分の成長を実感する。
最初の給与も入った。これまでと大分違うので、こんなに貰っちゃって良いのかなと小心者の私はキョドり気味です。この給与に見合うように働かないといけないんだろうし、この給与で満足していてもいけないんでしょう。そういや、前職に転職したときも、毎月コンスタントにそれなりの額が入ってくるのが嬉しかったなぁ。何せその前は給与が出るかで無いかのベンチャー@中国でしたから。
前職と全然雰囲気も違ってオタクも結構いる。初めての飲み会で「ガノタですか?」とか聞かれたし(笑) それにYesと答えられる人間は相当なツワモノだと思うけどね。私は恐れ多くて「いいえ」としか答えられませんでした。
EclipseとかデバッガとかCVSとか、存在は知っていたけど使ってこなかったものを初めて使って感動しております(笑) ただ、Eclipseはまだまだ使いこなせていない。どうしてもコーディングは使い慣れたエディタでやってしまう。
Perlはどうもモダンなコードを書ける人が社内にいないっぽい。だからこそ昔の感覚のまま軽視されていて、社内では死に絶えそうな感じ。ちょっと私がPerlの火を消さないように頑張らないと、とか密かに思っております。
社内の技術レベルはめちゃくちゃ高いわけでも無いので、新しい技術とかは自分で学んでいく必要はこれまで以上にあるな、とか感じている。Rubyとか趣味でも書いた事がある人はほぼいない(!)みたい。
開発環境がデュアルディスプレイじゃないのが残念。自腹を切ってでもデュアルディスプレイにしたいのだが、そうもいかないのだろうな。皆シングルディスプレイです。もう少し社内で大きな顔が出来るようになってきたら(笑)、やろうかな。
23:00
2009年2月 1日
4の字ですってよ
ボウリング現役OB早慶交流戦だった。半年振りにボウリングとか舐めたことをしていたら見事に4の字でした。早慶戦で4の字は何年ぶりでしょうか。
全然レーンが読めなくて、というか、レーンを読むと言う感覚を忘れ去っていて、ラインが見えなかった。あそこまでブランクを感じたのは初めてだ。狙ったとこ投げて全然違うところに行ったりするんですげーガッカリな感じでした。
まあ、慶應は3年ぶりとかで勝ったみたいだしなによりです。
てことで、今年は6大学OBリーグにでも参加して鍛えなおす、と言うか現状維持を図るつもり。
23:19