2002-04-11
λ. 萩野&服部研
おまえは本当にWebをやりたいのかと小一時間問詰めたい……かもしれない。
λ. DelegateClass
DelegateClassのsuperclassを指定できるようにしたら良いかと思ったが、あんまし意味がない事に気がついた。
--- delegate.rb~ Thu Jun 7 13:12:41 2001 +++ delegate.rb Thu Apr 4 01:49:41 2002 @@ -70,8 +70,8 @@ SimpleDelegater = SimpleDelegator # -def DelegateClass(superclass) - klass = Class.new +def DelegateClass(superclass, real_superclass = Class) + klass = Class.new(real_superclass) methods = superclass.instance_methods methods -= ::Kernel.instance_methods methods |= ["to_s","to_a","inspect","==","=~","==="]
λ. ごはん
加藤さん達と Jazz Restaurant DEAR LORD 。
λ. 買った本
- Categories for the Working Mathematician
- Saunders Mac Lane [著]
- 魔術士オーフェンはぐれ旅 『我が舘にさまよえ虚像』
- 秋田禎信[著]
λ. 日本経済分析
安易に「パラダイム変化」とか口にして欲しくないな。それにしても、年をとると何でこんなに教訓臭くなるのだろう。反面教師としては有効かもしれないが。
2003-04-11
λ. やっと一週間が終わった。クタクタ。
λ. 汚染されたデータの型
型を使ってJavaのコードのセキュリティを検証するという話を聞いていて思ったのだが、Ruby等でのオブジェクトの汚染状態を、型システムのレベルで扱うような静的型付け言語は存在するのだろうか?
λ. GNOME関係色々
librsvg-2.3.0には私のパッチがマージされてますが、ltmain.shが古いままなのでDLLをビルドする場合には、自分で libtoolize -f するなりして下さい。
ところで、GNOMEのCVSのアカウント貰っちゃいました。私のようなヘタレがアカウント貰ってしまって良いのかとも思うけど、貰えるものは貰っとくのがポリシーなので(笑)。
libIDLのHEADを試していたら、cygwinのscanfは64bit整数に対して正しく働かない事に気付く。glibのg_printf()系の関数は、printf()系が正しく動作しない場合にはtrioのコードを使うが、scanf系は面倒を見てくれない。どうしよっかなぁ...
2005-04-11
λ. 『温度から見た宇宙・物質・生命 - ビッグバンから絶対零度の世界まで』, ジノ・セグレ(Gino Segrè) 著, 桜井邦朋 訳
を読んだ。
熱や温度を切り口としている点は竹内薫の『熱とはなんだろう—温度・エントロピー・ブラックホール…』とも少し似ている。話題の中心は全然違うけれど。
λ. Announce: 圏論勉強会(第六回)
[2005-04-15追記] 今回の勉強会は事情により延期となりました。
2008-04-11
λ. coarbitrary と双対を表す“co-”の由来
shelarcyさんの連載「本物のプログラマはHaskellを使う」の第18回 QuickCheckを使ってできることとできないことっで、coarbitraryについて以下のように説明されていた。
coarbitraryとは何でしょうか?「coarbitraryメソッドが第1引数として型変数aの値を取って最終的に型変数b(またはc)の値を返す」という関係と「arbitraryクラスのインスタンスであるa -> bが型変数aの値を取って型変数bの値を返す」という関係は同じものです。つまり,「ある部分から見て*と共通の関係を持つもの」を「co*」と呼ぶのです。関係が逆になる場合には「contra*」と呼びます。この関係を覚えておけば,coやcontraといった接頭辞が付く名前を見たときに戸惑わずに済むでしょう。
けど、coarbitraryの“co-”ってその“co-”なんでしょうか(ソース希望)。
私は、arbitrary が乱数から値を生成するgeneratorなのに対して、coarbitraryは「引数を使って乱数に作用する(ようgeneratorを変換する)」というある種の双対的な機能を持っているからだと思っていました。 本人らに聞いたわけではないので、あくまで憶測ですが。
あと、双対を表す“co-”を通常の“co-”の意味から説明しようとする のはやめておいた方が良いでしょう。 categoriesメーリングリストでの話<URL:http://www.mta.ca/~cat-dist/catlist/1999/co-prefix>を読むと、ややこしいことになってるのが分かると思います。
λ. 定期を忘れた
朝、定期を家に忘れて出てきてしまった。 途中で気づいたのだけど、そこから戻ると40分くらいロスしてしまうこともあり、そのまま切符を買って行った。 色々合計して約1500円の損失。 しょぼーん。
反省点:
- JRは切符を買ってしまったけど、Suica定期券を再発行してもらうという手もあった。手数料500円とデポジット500円をとられるが、後で忘れたSuica定期券を返還してデポジット500円を取り返せば、500円の損失だけで済んだはず。
- バスは現金で払ってしまったけど、その場で運転手さんからバスカードを買えばよかった。バスカードの割引率(15%)分だけもったいないことをした。
2009-04-11
λ. iPhone買った
先週の日曜にiPhoneを衝動買いしてしまい、それが木曜夜に届いたので、使い始めて色々試している。
ケース
流石にそのまま使うのは不安だったので、Simplism Silicone Case for iPhone Blue [iPhone用シリコンケース ブルー] ストラップホール付き TR-SCIP-BL というのを買ってみた。 が、イヤホンを巻くところがついてるやつにした方が良かったかもと、ちょっと思ったり。
基本的な環境設定
まず、メールアカウントの設定でGMailを設定。
連絡先の同期は iTunes から Google Contact を選択して同期する方法はなぜかうまくいかなかったが、Google Sync を使うことで連絡先とカレンダーとを同期出来た。 ただ、連絡先についてはGMailのコンタクトで名前を「酒井 政裕」というような文字列で登録していたら、「酒井」を名前、「政裕」を姓として認識してしまっているようだ。 スペースで分割して名前・姓として解釈するなんて、Google Sync がやってるのか、iPhoneがやってるのか知らないけど、なんとも安直な仕様だな。 ちょっと困ったが、まあ同期出来るだけでも素晴らしいので、気にしない事にする。
ブックマークはIEもしくはSafariと同期可能*1だったので、Safariと同期させることにした。 IEにしなかったのは、IEにはURLの長さの制限があって、ブックマークレットの扱いに困りそうだったので。 このためだけにSafari入れたよ。 ホントは delicious.com か Google Bookmark あたりと同期出来ると便利なんだけどね……。
@i.softbank.jp のメールアドレスの設定
@i.softbank.jp のメールアドレスの設定は、「Eメール(i)設定マニュアル① 【メールアドレスの変更】」には、
アクティベーション後に受信した「SMS(157)」に記載されている「ログインID」「パスワード」をメモなどに控え、下記の設定方法を確認のうえ、設定を行ってください。
と書いてあったのだけど、そのSMSが何故か届いていなかったので、何を入れていいかわからず、はまった。 結局サポートに電話して、パスワードを再設定して送ってもらった。 ログインIDは再送してもらったSMSにも明示はされていなかったけど、そのSMSに書いてあったメールアドレスのアカウント名部分。
あと、@i.softbank.jp から他のメールアドレスに自動転送したかったんだけど、これは出来ないみたいだ。 ただ、IMAPで普通にアクセスできるので、タイムラグさえ気にしなければ、どうとでもなるけど。
色々アプリをインストール
まず、いつも使っていたアプリやサービスのなどのアプリを入れてみる。
電車の乗り換え案内のためのアプリは、「駅探エクスプレス(乗り換え案内)」が有料だったので、とりあえず「乗換案内」というのを入れてみた。
それから、昔「ハドソンのゲームが期間限定無料」のときに、「ひょっとしたら将来iPhone(or iPod touch)を買うかも」と思って、ダウンロードしていたゲーム(「AQUA FOREST」「ネオサメガメ」「Catch The Egg」)を入れた。
あと、ちょっと前に話題になっていた「産経新聞」なんかも入れてみた。
TumblrやTwitterは色々アプリがあるみたいだけど、どれがいいんだろう? とりあえず、TumblrのDashboard閲覧用にiviewを入れてみたが……
(2009-04-21追記: TwitterクライアントはTwitterific(無料版)に落ち着いた)
動画
ずっと初代の iPod nano を使っていて、動画が見れなかったので、iPhoneは動画が見れるのはちょっと嬉しいな。 日本の普通の携帯と違って再生可能な動画に偏執狂的な制限がないし。 各種フォーマットからの変換をお手軽にやるために、PCに MediaCoder iPhone/iPod Edition を入れてみた。
Podcast
iPhoneはネットワークに繋がるので、PC使わずにiPhone単独でPodcastを更新出来るかと思いきや、これはちょっと微妙だった。
iPodのPodcastの画面では、エピソード一覧の一番下に「もっとエピソードを入手...」というのがあるので、ここでそのPodcastを更新できるかと思ったが、実際には単に iTunes Store の Podcasts のセクションが表示されるだけで、そこから目的のPodcastを探さないとダウンロード出来ない。
また、Audible で購読している The Morning Read from The Wall Street Journal (参考: Audibleその後) など、iTunes Store に登録されていないものは更新出来なさそう。
(2009-04-21追記: iTunes Store 経由で入手可能な Podcast については、iTunes Store のURLをSafariにブックマークしておけば、いちいち探さなくても良い。)
(2009-05-02 追記: ただ、これだと最新のエピソードが表示されないことがあるな。キャッシュされてしまってるようだ。トップからアクセスするとちゃんと表示されるのだが。)
感想
ちょっと触ってみた限りでは、気になった点も何点かあるけど、操作感はやっぱりいいな。
- 仮想キーボードのキーがフルキーボードだと結構小さくて、かつ爪ではなく指で押さないといけないので、隣のキーを押さずに正しいキーを押すのが、慣れないとちょっと大変そう。
- 十字キーがないのでテキストの編集時にキャレットの移動をするのにどうしたらよいのか、最初わからなかった。これは長押しすると虫眼鏡が出てくるので、その状態でドラッグすれば良い。
- コピー&ペースト出来ないのはやっぱり不便。OSの次のバージョンアップでは対応して欲しいなぁ。
iPhoneは日本の普通の携帯とはかなり違うから、これまでの携帯は別に持ち続けるつもりだったけど、これなら乗り換えてしまっても良かったな。
あと、問題はjailbreakするべきかどうかだよなぁ。 「プログラマなら絶対にjailbreakすべき」という意見も聞くが……
*1 Google Chrome や Firefox には対応してない
ψ chiko [state patternは嫌いじゃないけど. factory method patternと併用してほしいのですよ..]