前の16件 | -
実行時にOSのバージョンを調べる7つの方法(PaTrash2.0を作る - その6) [プログラミング]
アプリがどのバージョンのOSで動作しているか知りたいときがある。Mac OS XはAPIの追加削除が激しいのでいろいろなバージョンをサポートしようとすると実行時に知る必要がある。
たとえば、このときのNSFileManagerの簡単メソッドは10.6以降でないと使えない。使えるバージョンならこれを呼んで、使えないバージョンなら拡張子を調べるというふうに分岐させる必要がある。Cocoa/Objective-Cなら、メソッドが定義されているかどうかを実行時に直接調べればいいけど、メソッドの仕様変更がある場合やCore FoundationやCarbonではその手は使えない。
また、アプリによっては古いバージョンでは機能が限定されてしまう場合、ユーザにその旨報告する必要がある。そのとき「あんたのMac OS Xはこれこれなのでなになにの機能が使えません」と表示する必要があるかもしれない。この場合、単にAPIが動作するかどうかではなく、ユーザに理解できる形でOSのバージョンを表示する必要がある。
Mac OS Xのバージョンを調べる方法をまとめてみる。
たとえば、このときのNSFileManagerの簡単メソッドは10.6以降でないと使えない。使えるバージョンならこれを呼んで、使えないバージョンなら拡張子を調べるというふうに分岐させる必要がある。Cocoa/Objective-Cなら、メソッドが定義されているかどうかを実行時に直接調べればいいけど、メソッドの仕様変更がある場合やCore FoundationやCarbonではその手は使えない。
また、アプリによっては古いバージョンでは機能が限定されてしまう場合、ユーザにその旨報告する必要がある。そのとき「あんたのMac OS Xはこれこれなのでなになにの機能が使えません」と表示する必要があるかもしれない。この場合、単にAPIが動作するかどうかではなく、ユーザに理解できる形でOSのバージョンを表示する必要がある。
Mac OS Xのバージョンを調べる方法をまとめてみる。
献立05/20 [献立]
今日も天気が良かった。久しぶりに自転車で出かけたくなった。
でも、ずいぶん長いこと乗ってないので洗ってから整備しないと危ないし、来週も出社を続けないといけないので大事をとっておとなしくしていることにした。
午前中部屋の掃除をして、昼食後また昼寝した。夕方買い出しに出かけた。
でも、ずいぶん長いこと乗ってないので洗ってから整備しないと危ないし、来週も出社を続けないといけないので大事をとっておとなしくしていることにした。
午前中部屋の掃除をして、昼食後また昼寝した。夕方買い出しに出かけた。
PaTrash2.0を作る - その5 [プログラミング]
Mac OS XのユーザがFinderでみると普通のファイルなんだけど、プログラミング上はディレクトリに見えるバンドルとパッケージ。前回はこれらを区別する方法が何通りかあることを確認した。
今日は、これらがどういう結果を返すかを調べて、それがそれぞれ微妙に違っているということを示すことにする。
今日は、これらがどういう結果を返すかを調べて、それがそれぞれ微妙に違っているということを示すことにする。
献立05/19 [献立]
今日は天気が良かったのにほとんど一日寝ていた。部屋に吊るしてある自転車には最近うっすらホコリが積もっているが、震災前にこんなことはなかったな。
今朝、習慣になってしまって朝5時半に目が覚めた。ゴロゴロしたあと朝食にして、また寝た。昼前に買い出しに出かけて、帰ってきてから昼食を食べて昼寝した。夕方起きてきて夕食を食べた。本当にまる一日なにもしなかった。もうこのあと寝る。
ところで明後日朝に金環食があるらしい。ぼくはこれまで何度か皆既日食を観測できるチャンスがあったけど、天気の悪いことが多くて、部分食しか知らない。
でもすごいよな、いまさらだけど。直径の比と地球からの距離の比(軌道半径の比)がこんなにぴったり同じなんて。定量的に言うと太陽と月の直径の比は400.3:1で、距離の比は月の離心率が大きいので383:1から412:1ぐらいで、直径の比の値がほとんど振り分けの真ん中に来る。たまたまとはいえ、すごいぴったり。
もちろん太陽系の他の惑星でこんな衛星を持ってるのはない。というか、たいていの惑星は太陽からの距離が遠いので、地球みたいによほど大きな衛星か、あるいは地表すれすれをまわる衛星を持っていないと「皆既日食」は起きない。
ほんとうに地球はたまたまなんだけど、昔には「たまたまこんなにぴったりというのはおかしい。なにかあるのではないか?」とミスリードされた人がいたんではないだろうか。僕なら「たまたまなんて、んなあほな」と絶対そう思ってしまう。
今朝、習慣になってしまって朝5時半に目が覚めた。ゴロゴロしたあと朝食にして、また寝た。昼前に買い出しに出かけて、帰ってきてから昼食を食べて昼寝した。夕方起きてきて夕食を食べた。本当にまる一日なにもしなかった。もうこのあと寝る。
ところで明後日朝に金環食があるらしい。ぼくはこれまで何度か皆既日食を観測できるチャンスがあったけど、天気の悪いことが多くて、部分食しか知らない。
でもすごいよな、いまさらだけど。直径の比と地球からの距離の比(軌道半径の比)がこんなにぴったり同じなんて。定量的に言うと太陽と月の直径の比は400.3:1で、距離の比は月の離心率が大きいので383:1から412:1ぐらいで、直径の比の値がほとんど振り分けの真ん中に来る。たまたまとはいえ、すごいぴったり。
もちろん太陽系の他の惑星でこんな衛星を持ってるのはない。というか、たいていの惑星は太陽からの距離が遠いので、地球みたいによほど大きな衛星か、あるいは地表すれすれをまわる衛星を持っていないと「皆既日食」は起きない。
ほんとうに地球はたまたまなんだけど、昔には「たまたまこんなにぴったりというのはおかしい。なにかあるのではないか?」とミスリードされた人がいたんではないだろうか。僕なら「たまたまなんて、んなあほな」と絶対そう思ってしまう。
献立05/18 [献立]
今日で連続10日出社。疲れた....
「僕はもう疲れたよ、パトラッシュ。なんだかとても眠いんだ...」
いや、オヤジはそんな可哀想げには死なないけどね。
そういえば、アンリ・ソーゲという作曲家がいたな。
全然関係ないけど、可哀想げな話が台無しやわ。
「僕はもう疲れたよ、パトラッシュ。なんだかとても眠いんだ...」
いや、オヤジはそんな可哀想げには死なないけどね。
そういえば、アンリ・ソーゲという作曲家がいたな。
全然関係ないけど、可哀想げな話が台無しやわ。
献立05/17 [献立]
今日も出社。
最近の僕の一日を円グラフに描いてみると

と、こんな感じ。朝食を食べてすぐバスに乗るとげろげろになるので、ちょっと腹を落ち着かせるため、朝5時半に起きて早めに食べて、7時に榴岡の部屋を出る。電車では本は読めるけど会社のシャトルのマイクロバスでは、やっぱりげろげろになるので、iPodで音楽を聴いている。バスでは寝たいけど寝ることはなかなかできない。
黒ぶちのある部分が移動時間で、これと、寝てる時間と会社にいる時間を除くと、4時間しかない。この間に風呂に入って洗濯して朝食夕食の準備をして食べて片付けて、ということをしている。
ところで、この円グラフを描くのに30分以上かかった。これも残り4時間のうち。さっさと寝んかい、という話ではあるけど。
最近の僕の一日を円グラフに描いてみると

と、こんな感じ。朝食を食べてすぐバスに乗るとげろげろになるので、ちょっと腹を落ち着かせるため、朝5時半に起きて早めに食べて、7時に榴岡の部屋を出る。電車では本は読めるけど会社のシャトルのマイクロバスでは、やっぱりげろげろになるので、iPodで音楽を聴いている。バスでは寝たいけど寝ることはなかなかできない。
黒ぶちのある部分が移動時間で、これと、寝てる時間と会社にいる時間を除くと、4時間しかない。この間に風呂に入って洗濯して朝食夕食の準備をして食べて片付けて、ということをしている。
ところで、この円グラフを描くのに30分以上かかった。これも残り4時間のうち。さっさと寝んかい、という話ではあるけど。
PaTrash2.0を作る - その4 [プログラミング]
間があくとどんどん忘れてしまうので、早く片付けたい。前回はMac OS Xの「バンドル」について調べた。バンドルは実はディレクトリで、いろいろなリソースをひとまとめにしておくための手段だった。これは古いMac OSの「リソースフォーク」の「よいところ」と「わるいところ」を昇華するように、その代替として考えだされたものだと思える。
バンドルはFinderで見るとひとつのファイルとして表示される。
プログラミング上は、NSFileManagerやBSDレイヤではフォルダとバンドル/パッケージの区別はつかない。
では区別したいとき(すなわちFinderと同じ見方をしたいとき)どうすればいいか、というといくつかの方法がある。
バンドルはFinderで見るとひとつのファイルとして表示される。
プログラミング上は、NSFileManagerやBSDレイヤではフォルダとバンドル/パッケージの区別はつかない。
では区別したいとき(すなわちFinderと同じ見方をしたいとき)どうすればいいか、というといくつかの方法がある。
- NSWorkSpaceを使ってUTIを調べる
- NSFileManagerの新しいメソッドを使う
- CoreServicesのFile managerを使う
- ApplicationsServicesのLaunch Serviceを使う
献立05/15 [献立]
今日も出社したが、帰りはたまたま明日海外出張で仙台に帰る、と言う人の車に便乗させてもらった。いつものシャトルバス+仙石線にくらべて1時間近く帰り着くのが早かった。
いつもあるわけではないが、利用できるときは利用させてもらう。今日、高速代は僕が持ったけど。
いつもあるわけではないが、利用できるときは利用させてもらう。今日、高速代は僕が持ったけど。
献立05/14 [献立]
出社。
いきなり疲れた。
ところで、昨日書いた「銃・病原菌・鉄」の読書感想文に書き忘れたことがあった。思い出したのでついでにここに書いておく。
この著者はおそらく考古学的遺伝学的文化人類学的言語学的疫学的な定量的データを持ってこの本を書いたはずである。しかし、定性的な説明とその結論が書かれるだけで、ほとんどその定量的データは本の中では示されていない。読み物という位置づけでは確かに難しかったかもしれないけど、ちょっとこれは残念である。要所で定量データが補助的に示されればずっと納得しやすくなった、と思われる。少なくとも僕は漫然と読んでしまうせいで、言葉で説明されると斜め読みしてしまって頭に入らない。皆が僕と同じだとはもちろん思ってないけど、定量的な裏付けデータによる寄り道みたいなのがあると僕には読みやすかった。
しかし、このダイアモンドというひとは博識だなあ。でも僕はこの人の名前を見ると、赤塚不二夫の漫画の登場人物で、大金持ちのどら息子「ダイヤモン郎(他人様の絵)」をつい、連想してしまう。この本を買って著者の名前を見たとたんに、つぶらな瞳に刈り上げ垂れっ鼻という人物が札束で人の頬を張ってこの本を書いたというイメージが僕の頭の中にできてしまった。最初にできた印象というのは強固でぜんぜん修正できない。
でも案外、刈り上げ垂れっ鼻のダイヤモン郎、えらいな。
いきなり疲れた。
ところで、昨日書いた「銃・病原菌・鉄」の読書感想文に書き忘れたことがあった。思い出したのでついでにここに書いておく。
この著者はおそらく考古学的遺伝学的文化人類学的言語学的疫学的な定量的データを持ってこの本を書いたはずである。しかし、定性的な説明とその結論が書かれるだけで、ほとんどその定量的データは本の中では示されていない。読み物という位置づけでは確かに難しかったかもしれないけど、ちょっとこれは残念である。要所で定量データが補助的に示されればずっと納得しやすくなった、と思われる。少なくとも僕は漫然と読んでしまうせいで、言葉で説明されると斜め読みしてしまって頭に入らない。皆が僕と同じだとはもちろん思ってないけど、定量的な裏付けデータによる寄り道みたいなのがあると僕には読みやすかった。
しかし、このダイアモンドというひとは博識だなあ。でも僕はこの人の名前を見ると、赤塚不二夫の漫画の登場人物で、大金持ちのどら息子「ダイヤモン郎(他人様の絵)」をつい、連想してしまう。この本を買って著者の名前を見たとたんに、つぶらな瞳に刈り上げ垂れっ鼻という人物が札束で人の頬を張ってこの本を書いたというイメージが僕の頭の中にできてしまった。最初にできた印象というのは強固でぜんぜん修正できない。
でも案外、刈り上げ垂れっ鼻のダイヤモン郎、えらいな。
「銃・病原菌・鉄」読了 [読書]
ジャレド・ダイアモンド著、倉骨彰訳、草思社。
ただの歴史書だと思ったんだけど、キーワードを並べただけの即物的なタイトルに何となく惹かれて買ったら(僕は修辞音痴なので、いかにもなタイトルは敬遠してしまう。こういうタイトルは意味不明としか思えなくて手に取る気分が失せる)、かなり面白かった。
ピュリッツァ賞をもらってるほど有名な本らしいんだけど、僕はこの文庫で買うまで知らなかった。本の内容をひとことで言えば、この数百年間でヨーロッパ人が成功したのはなぜなのか?という問いに対する答えを探ろうとするものである。もっと一般的に言えば、ヒトは単一の種にもかかわらず、多くの国や人種や共同体の間で格差があるのはなぜか、ということである。
ただの歴史書だと思ったんだけど、キーワードを並べただけの即物的なタイトルに何となく惹かれて買ったら(僕は修辞音痴なので、いかにもなタイトルは敬遠してしまう。こういうタイトルは意味不明としか思えなくて手に取る気分が失せる)、かなり面白かった。
ピュリッツァ賞をもらってるほど有名な本らしいんだけど、僕はこの文庫で買うまで知らなかった。本の内容をひとことで言えば、この数百年間でヨーロッパ人が成功したのはなぜなのか?という問いに対する答えを探ろうとするものである。もっと一般的に言えば、ヒトは単一の種にもかかわらず、多くの国や人種や共同体の間で格差があるのはなぜか、ということである。
献立05/13 [献立]
今日は朝早くに起きて、シーツなんかの大物を洗濯して、部屋を掃除して、ちょっと風が強かったけど気をつけながら布団を干して、そのあと風呂を磨いて、最後にレンジフードを洗った。
大変だったのがレンジフード。油でベタベタになってて、アルカリ洗剤をふりかけては使い古しの歯ブラシでこすってお湯で流す、ということを何度も繰り返した。
昼前に生協に買い出しに出かけたあと、昼食に汁気がないのでビールを飲んだ。つい眠くなって昼寝をしてしまった。気がつくと夕方になっていた。また、せっかくの一日が短くなってしまった。
大変だったのがレンジフード。油でベタベタになってて、アルカリ洗剤をふりかけては使い古しの歯ブラシでこすってお湯で流す、ということを何度も繰り返した。
昼前に生協に買い出しに出かけたあと、昼食に汁気がないのでビールを飲んだ。つい眠くなって昼寝をしてしまった。気がつくと夕方になっていた。また、せっかくの一日が短くなってしまった。
PaTrash2.0を作る - その3 [プログラミング]
普段の日は帰ると晩飯を食べて酒を飲んで寝てしまうだけになってしまったので、あまり進まない。1週間経つと忘れてしまう。前回を思い出すと「dll地獄の話」だった。Mac OS Xではそれを避けるためのメカニズムが考えられている。そのひとつ、バンドルの話。バンドルは自分で使うライブラリやフレームワーク(Windowsななdllファイル)を自分自身の中に格納できる。今日はその構造について。
献立05/12 [献立]
今日はいつもの通り5時半ごろに目が覚めてしまった。iMacの電源を入れてiTunesを鳴らしているうちに2度寝してしまった。気がついたら昼前だった。昼飯を食べて買い出しに行って帰ってきてから昼寝した。気がついたら夕方だった。なんて非生産的な一日。そいでもって、もう寝る。
献立05/11 [献立]
今日を含めて今週は全日出社。もう、疲れた。
連休最後の日に故障していた設備の修理が上がったんだけど、プロセス全体を東北大から会社のクリーンルームに移設してしまったので、今のところ東北大に行ってもすることがない。今、東北大でも新しく周辺の部品を整備しようとしている。揃った暁には大学と社の両方で作業ができるようになるはずだけど、それまでは社でやるしかない。最長不倒連続出社記録を更新することになりそう。倒れなければ。
連休最後の日に故障していた設備の修理が上がったんだけど、プロセス全体を東北大から会社のクリーンルームに移設してしまったので、今のところ東北大に行ってもすることがない。今、東北大でも新しく周辺の部品を整備しようとしている。揃った暁には大学と社の両方で作業ができるようになるはずだけど、それまでは社でやるしかない。最長不倒連続出社記録を更新することになりそう。倒れなければ。
献立05/10 [献立]
連続出社4日目。朝5時半起きに慣れてきた。ジジイなので放っといても起きてるのかもしれないけど。
ところで、今の時点で原発の是非を国民投票するというのは、僕はナンセンスだと思う。やるなら原発の初号機を作るまえにやるべきことで、僕には完全に「時期遅れ半端物」としか思えない。国民投票で過半数になれば、その数による結論によって、少数ではあるが決定的に生命を左右される人々の存在を無視していいのか、という違和感が僕にはわき上がる。これは本来、技術的な議論に立脚し、将来的なビジョンを持った上で決定すべき内容で、数が多ければ勝ち、というようなものではない、と僕は思う。その意味で石原君の「原発に関するセンチメントの愚」発言にはその筋の拒絶反応があるだろうが、僕はその通りだと思う。この指摘が石原君から出たのは残念だけど。
最近僕は、石原君の立ち位置にまったく共感できないとか言いながら、その発言にはときどき頷いてるな。いや、「袈裟まで憎い」なんてことは言いたくないので、それでいいんだけど。
ところで、今の時点で原発の是非を国民投票するというのは、僕はナンセンスだと思う。やるなら原発の初号機を作るまえにやるべきことで、僕には完全に「時期遅れ半端物」としか思えない。国民投票で過半数になれば、その数による結論によって、少数ではあるが決定的に生命を左右される人々の存在を無視していいのか、という違和感が僕にはわき上がる。これは本来、技術的な議論に立脚し、将来的なビジョンを持った上で決定すべき内容で、数が多ければ勝ち、というようなものではない、と僕は思う。その意味で石原君の「原発に関するセンチメントの愚」発言にはその筋の拒絶反応があるだろうが、僕はその通りだと思う。この指摘が石原君から出たのは残念だけど。
最近僕は、石原君の立ち位置にまったく共感できないとか言いながら、その発言にはときどき頷いてるな。いや、「袈裟まで憎い」なんてことは言いたくないので、それでいいんだけど。
前の16件 | -






