何事も勉強には先例を参照するのが良い手段ですが、プログラミングでも先人のソースコードを読むことが良い勉強になります。近年はオープンソースプログラムが多数存在するため、良い教材には困りませんが、オジサンである僕の場合を振り返ってみると...
最初は、雑誌に投稿されたプログラムを読むことでした。BASIC全盛の時代です。アセンブラやコンパイラで開発されたプログラムはバイナリのダンプリストでしたが、BASICで開発された場合はソースコードが掲載されていました。自分の機種用で無くとも、読んで移植するのは良い経験になりました。
大学では、Lions' Commentary on UNIXが筆頭です。Unix version 6のソースコードにコメントがつけられたもので、もちろん英文。既に4.2BSDを使用しており、それらのソースコードにアクセスできましたが、同書は貴重な教材でした。しかし、一般人が簡単にアクセスできるものではなく、まさに教材として開発された後のMinixを待つことになります。
同じ頃にGNUプロジェクトが始まっており、徐々に種々のソースコードにアクセスできるようになっていきます。
ROMのソースコードが添付されていたApple IIのマニュアルは見たことはありませんが、仕事の関係でギリギリ最後のIBM PC/ATを購入し、それのマニュアルのBIOSのソースコードは読みました。
製品のソースコードと言えば、Java Development Kitを入手したら、クラスライブラリのソースコードがあって、有名なプログラマのコメントがあったりして、妙に感動しました。そういえば、MFCもソースコードは付いていましたね。
オープンソースが隆盛になるころから、自身でコードを書く立場ではなくなったため、興味半分もあってのぞいたのは、Linux 2.0の頃とPHPが最後でしょう。名前は忘れましたが、国産のLinuxディストリビューションに添付されていた独自エディタか何かのソースを見たら、とてもがっかりするレベルだったことを思い出しました。そう思ったのなら貢献すべきだった感じもしますが、僕はそのディストリビューションを使うのをやめました。ともかく、参照できるソースコードが多数有るのは、うらやましい限りです。
Apple製品もご存知の通り、オープンソースプログラムを多用しており、それらのソースコードが公開されています。Apple製品を愛用しているのにも関わらず、いずれも読んだことが無いので、今度アクセスしてみようと思います。
(5月15日0時過ぎに追記)
11日付でAdobe社からCS5.xでも更新を提供予定である旨、発表が訂正されました。
11日に英文の発表の方もさらっと確認していたのですが、訂正もさらっとしていたためか、気づきませんでした。
以下の意見は間違っていないと思うし、記録のためにこのまま残しておきます。
今は日本文の発表の方も訂正されています。
***
今回は別の変なことを書くつもりでしたが、あまりに呆れたのでこちらのテーマに。
5月8日、Adobe社からPhotoshop、Illustrator、Flash Professionalの現行バージョン(当時)のセキュリティ不具合の発表がありました。一例として、Photoshopの発表から抜粋すると、次の通りです。
--
Windows、Macintosh 版 Adobe Photoshop CS5.1以前のバージョンにおいて、影響を受けるシステムが攻撃者によって制御される可能性のある脆弱性が確認されました。新しくリリースされた Adobe Photoshop CS6 にアップグレードすることにより、この問題は修正されます。
新しくリリースされた Adobe Photoshop CS6 では、この脆弱性は修正済みです。Adobe Photoshop CS6 にアップグレードできない場合は、最善のセキュリティ対策を行い、提供元不明のファイルを開く際には細心の注意を払うことを推奨します。
--
一般にはCS5.1というバージョンは知られておらず、CS5でしょう。
さて、この発表のとんでもないところは次の2点。
・この時点の現行バージョンであるのにも関わらず、それ自身の修正は提供されないこと
・注意を払えと言いながらも、情報は「コード実行の原因になりかねない use-after-free TIFF の脆弱性」しかないこと
同社の姿勢は、以前から疑問に思っていました。細かな不具合は修正されないままに、次のバージョンが発売されてしまい、その不具合は放置されたり、後ほどに訂正されたとは言え、CS6へのアップデートポリシーはユーザー切り捨てだったり。今回も、CS6の発売近くまで発表を控えていたのではないかと勘ぐってしまいます。Adobe Creative Cloudのメリット? 違うでしょう。
Adobe社のほとんどの商品、そして今回の対象商品は、コンシューマー用ではなく、プロフェッショナル用です。業務の都合で、簡単にバージョンアップはできないことが多いはずです。確かに契約書の文章上は問題ないことでしょうし、無限の無償サポートはできるはずがありません。しかし、一つ前のバージョンくらいのサポートは必須と考えます。例えば、この点ではMicrosoftに比べると遅れているAppleですら、一つ前のバージョンのMac OS Xのセキュリティ対応はしています。
今回のAdobe社の措置は、近年の行動で育まれたプロフェッショナルからの信頼を失う流れをさらに強固にしました。すばらしい経営判断です。皮肉はともかく、僕としても製品自体は使い続けたいのに、悲しい仕打ち。なんとかしてほしいです。
昨年、Mac miniからアンプ接続して音楽再生していることを報告しました。
その後、BitPerfectというiTunesと連携して動作する再生ソフトウェアを導入しました。これまたプラシーボ効果を否定できませんが、2倍にアップサンプリングしているためか、音がすっきり解像度があがっている感じがします。
この手のソフトとしてはBitPerfectは後進で、有名な所ではAudirvanaがあります。試した範囲では、音がリッチになるような感じがして僕好みではありませんでした。
Mac miniのコントロールは、細かいことは画面共有で。iTunesだけならば、iPhoneやiPadのRemoteアプリから。iPadのRemoteアプリは情報も多く、反応も良く、便利です。
相変わらず面倒なのは、Apertureライブラリの管理。前回書いたように、iTunesでiPhone他と同期するため、同ライブラリはMac mini上にあります。写真の編集をMacBook Proで行うためにファイル共有で参照していますが、理由は不明なもののAppleからこの形は推奨されていないようです。
その理由のひとつなのかもしれませんが、明確な問題が一つあり、MacBook ProでApertureを開いて閉じるだけで、Mac miniのiTunesのiPhoneの写真で同期する枚数が0枚になってしまいます。当然、この状態で同期するとiPhoneから転送していた写真が削除されてしまいます。枚数をもどすのは、Mac mini上でApertureを開いて閉じること。
こんな使い方をしている人は少ないでしょうが、参考に。
面倒ですが、当分はこの運用を続けるつもりです。
髪があるうちに一度経験しようと、昨年夏前から髪を伸ばしてきました。年末くらいで完成?し、前髪はアゴくらいまで、後ろは肩にギリギリかからないくらいの長さがあります。後ろの長さは、たまにスーツを着るため、見苦しく無いように決めました。
伸ばした結果、何となく満足感はありますが、身近な女性二人(妻と妹)の評判はすこぶる悪い上、いろいろ不便です。
まず、何と言っても邪魔。前髪はワックス等で上にあげていますが、すぐに降りてきます。コテコテにしたり、縛ったりする気はないですしね。
顔を下に向けると髪が降りてくるので、食事の時、口に入ります。自宅で作業する時はヘアバンドをすることもあります。まるで70年代フォークシンガーで、我ながらおかしい。
さらに、ヘルメットがきつかったり、なかなか乾かなかったり、寝癖がとれにくかったり。僕の髪はサラサラと思っていたのですが、伸ばすと剛毛です。
髪の長い人には当然のことばかりでしょうが、いい経験ができました。と、過去形であるように、先週末にあっさり切りました。
すっきりしたので、風邪ひかないようにしないと。
19日 NHK朝のニュース「おはよう日本」で就職活動で“活用”進むフェイスブックなる特集がありました。既に正林さんが書かれていますが、僕も相当に違和感を覚えました。
一言で言えば、私用が素直な使い方のFacebookを公である就職に使うことです(Facebookページは別)。
まず、ある企業の採用担当者が出てきて、Facebookで応募者の素顔をチェックしていると言います。つまり、プライベートを覗いているんですよね。あらゆる公開情報を集めるのは正しいと思うし、公開されているプロフィールやWallを見ることに問題はありませんが、堂々と言うことじゃないでしょう。興信所を使って素行を調べる場合は、明らかにしないでしょうから。
また、それらを公開していなかったらどうするんでしょう。アメリカではこんなこと「Facebook、求職者にパスワード提示を求める企業に警告」があったようですが、日本でも出てきそうです。
次は、求職にFacebook情報を活用する話でした。友人を増やすとか、プロフィール写真を就職に適したものに変えるとか、前向きなコメントとか、一歩間違えると偽装です。求職する皆さんが全ての手段でアピールしたいのはわかります。でも、ここで紹介されたような付け焼き刃は、まともな会社のまともな採用担当にはすぐばれます。
そもそも、友達同士の会話で、前向きなコメントのみなんてありえません。変な宗教みたいで不気味です。
NHKが何を言いたかったのか僕には理解できませんが、Facebookをこの番組のように使っても全くおもしろくないとは言えます。もっと自分のために楽しく使って、プロフィールやWallは限定された範囲の公開にとどめましょう。
採用や求職に活かすなら、Linkedinはいかが? ここのグループのディスカッションならば、前向きは多いに歓迎されますよ。
The new iPad (WiFi)を購入して約一ヶ月になりました。
予想通り、平均すると1日30分も使っていませんが、満足しています。
普段は自宅で使用していますが、通勤時に雑誌を読むときは持ち歩きます。
電車で立って片手で読むのは、僕には少し辛いですが、見開きで充分に読める美しさ。満足しています。
iPadは見る環境としては最高です。Webブラウジング、写真の表示、Twitterなど、表示の美しさとキビキビした動作に感動です。
編集環境としても文章を考えながら書くには使えます。音声認識もなかなかのもので、この文章もiPadで書いています。
iPad本体のことではありませんが、iWorkアプリケーションのNumbersは、ユーザインタフェースがよく考えられていて使いやすい。Excelは機能は充分ですが、ユーザーインターフェースの進歩が止まっていることに気づかされました。
また、Apple iPad Camera Connection Kitでデジカメの画像を読み込み、iPhotoのジャーナル機能で美しいアルバムを作れます。試しに作ったのがこれです。
今後はXcodeのヘルプビューアとMotoGPのレース観戦に使うことを目論んでいます。
冷静に考えると、購入前の予想通り僕には無くても困らないマシンでした。一方、これから一台目のPCを買う場合は、用途によっては立派な候補。選択肢があるいい時代です。
3月28日 Flash Player 11.2のリリースとともに、Flashゲームに課金するとアナウンスされました。具体的なドキュメントは、Adobe Flash Player Premium Features for GamingやFAQです。
最初は一部ニュース記事で見かけたため、何でもかんでも金を取ろうと考えているのかとびっくりしたら、違いました。
新機能であるdomain memoryとStage3D GPUを両方とも使用するゲームに対し、アプリケーションごとに$50,000以上の収入に課金するとのこと。同新機能を使わないか、一方しか使わないアプリケーション、Adobe AIRを使用するiOS向け等は対象外です。課金は今年の8月1日から。
僕は、今回の新機能は広まらないと思いました。Flash Playerの対象はもはやPC (Mac等含む)に限定されると言って良いですが、それらのゲーム環境としてFlashは魅力があるのでしょうか。
また、課金方法も疑問です。Flash開発環境のライセンス料で負担しているのにも関わらず、さらに負担が発生するとは開発側のメリットがわかりません。Adobeの本来のビジネスはオーサリングツールの売り上げのはず。その売り上げを伸ばすならば、Flashアプリケーションの参入や流通を拡大する施策を打つべきであり、今回の施策は逆でしょう。
昨年12月26日と1月30日にNTTドコモの不具合対応に疑問を呈しました。今回、それらを含む行政指導等に対する報告書の提出が発表されたので、見てみましょう(URLから報告書(PDF)がリンクされています)。
僕が指摘したのは、spモードで違う名前でメールが届くことと、パケット交換機の性能の問題でした。
前者は、報告書7ページに「spモード接続手順の変更(IPアドレスの不一致が発生しない接続手順への変更)」と書かれているので、直接的な対処はしたようです。ただ、5ページに書かれている対策含め、そもそも可変のIPアドレスをキーに使用する危険な状態はそのままのように読めます。
後者は、「信号量を把握した上での新型パケット交換機への切替」(5ページ)とのことで、完了は今月だそうです。
報告書のほとんどは体制等間接的な対応が書かれていることもあり、以前に指摘した本質的な問題が対策されたのかはわかりません。
また、総務省の携帯電話通信障害対策連絡会から6点の指示を受けたそうですが、報告書に書かれている内容は抽象的です。例えば、「3. ソフトウェアに不具合がないこと」とか。これをどう対処して、不具合無いことをどう証明するのかと思ったら、「ソフトウェア点検WG」を発足し、384件点検したそうです(8ページ)。指示する方もひどいですが、答える方も行動を言っているだけで、不具合が0になったとは言ってません(意図した回答かもしれませんが)。今回やったことが無駄とは言いませんが、こんな抽象論を繰り返しても、根本問題が解決する保証がありません。
不具合が0であることを証明するのは実質的に不可能なので、不具合が出ないように開発かつ検証する基準なり体制なりを作り、確実に運用していることでも示す方がまだましです。
以上のように他人を避難することは簡単ですが、自分が同じような文書を作成する場合にもやりかねない。深く考えさせられました。
23日にInside Apple日本語版が発売されましたが、関係無くKindle for iOSでオリジナルを読みました。そういえば、同Kindleはいつのまにか英和辞典が使えるようになってました。これを読んだ時は無かったはずで、英語力の乏しい僕には非常に悔しいです。
ともかく、感想について。
Steve JobsやAppleを他の本等で知る人にはびっくりするほどではないとは言え、興味深い情報がたくさん述べられています。
ここではふたつあげます。
まず、ほとんどの社員が予算やコストを気にしないで良いこと。次の文章がいい表現をしています。
Apple managers and their employees almost behave like talented rich kids.
研究開発費を気にしなくて良いのは技術者としてとても羨ましいですが、今の利益を上げているAppleならではとも言えます。一方、製品コストを気にしないのはありえませんが、魔法は書かれていなかったと思います。
もうひとつは、DRI - Directly Responsible Individual。直訳すると直接責任者。アクションリストを決めたら、DRIを割り当てると。仕事に責任者を割り当てるのは常識ですが、Individualと言う単語で個人に割り当てることを明確にしていると解釈しました。
その他には、Business Media 誠の抜粋をどうぞ。
筆者も書いていますが、Appleのおもしろいのは、あの規模・売り上げの会社でありながら、未だにベンチャーのように運営されて成功していることです。これを読んだら、Appleのようになれる? タイミングを含めた運も多分に関係するから、難しいでしょうね。Jobs自身、NeXTのままだったら、どうなっていたかわかりません。
先週の続きです。
Tim Cook CEOの発表では、Post-PC revolutionとか、Post-PCが連発されています。
iPhoneですら、用途によってはPCの代わりとして充分に使えます。より画面が大きく性能も良いiPadならば問題は少ないでしょう。
しかし、 PCの代わりとして長期的に使ってもらうには、機能向上はともかく、OSの不具合改修を一定期間続ける必要があると考えます。
iPhone 3Gは2008年7月に発売され、iOSは2010年11月の更新が最後でした。しかも性能の課題を残したままで。既にユーザーは少ないかもしれませんが、おそらくセキュリティホールは残ったままです。
一方、iPhone 3GSは2009年7月の発売以来、3年近く更新が続いています。販売を継続しているためかもしれませんが、少なくとも不具合修正はしばらく続けて欲しいものです。初代iPadも今の所更新されており、iOS 5.1が提供されました。
今後も口だけでないAppleの姿勢が試されています。
さて、これは入手したばかりのiPadで書きました。資料探しから入力まで問題無くできます。課題は僕が文字入力に慣れていないこと。音声入力の精度はとても高いですが、人がいるときに使えないのがネックです。詳しいコメントは使い込んでからに。
唯一の課題はオルタナティブ・ブログにて公開日時の指定ができなかったこと。

ストレス社会との付き合い方
「思いやり経営」のススメ
テレワークが労働者のマインドを変える
求む、クックパッド男子
37歳の常識――我々は一生学び続ける