Category: 03 コンピュータ

ペーパーケース 引っ越し

A4やLetterの紙を折り紙のように折って、CDやDVDのケースにする自作サービス、ペーパーケース。 自分でも重宝している。

最後にアップデートしたのがかれこれ4年前、大した問題もなく動いていたけど、amazon.co.jp がAPIを大幅に変更することになったため、対応せざるをえなくなった。

旧サーバでは PHP4 で動いていたのだけど、今回のAPIの対応は PHP5 の方が簡単にできることもあって、これを機にPHP5に対応し、このブログと同じサーバで動かすように変更した。ついでにちょっとしたバグの修正も。(機能の変更はまたおいおい…)

新しいURLは

http://papercase.amegan.com/

古いURLからは自動的に転送されるはずなので実害はないけど、ブックマークしている方や紹介してくれた方は更新おねがいします。

問題点を見つけたらコチラ から連絡いただけると助かります。


Google Chrome OS を勝手に想像する

Google が長らく噂されていた独自の OS (Google Chorme OS) を開発中だと発表した (Google の ブログ)。 軽量で、速くて、ブラウザが中心というこれまでとは違うアプローチで OS を作ろうとしているらしい。 まだ開発中であることを発表しただけなのだが、その限られた情報からいろいろ想像できるのがまた面白い。

新しいウインドウシステム

まずは “New windowing system on top of a Linux kernel” というところ。 カーネルは Linux と同じものを使うが、その上で走るウインドウシステムはこれまで Linux で使われていた X Window ではなく新しいものになるらしい。

Mac OS X もベースは BSD という Unix のコアが使われているが、その上には X Window ではなく  Aqua というウインドウシステムが乗っている。  Mac OS X のキレイなグラフィックや滑らかなアニメーションは Aqua に由来するもので Mac OS X 人気を支えている特徴の1つと言える。  Google Chrome OS が Aqua  ほどのシステムを作る必要はないが、新しい OS の顔にもあたる部分になるので、新しいウインドウシステムを作ろうとしているのは期待できる。

Flash は?

新しいウインドウシステムが動く、そしてブラウザが中心の OS。  となると心配なのが Flash のサポート。 Flash を使ったWeb アプリケーションはどんどん増えているし、YouTube も Flash が動かなかったら何の魅力もないサイトになってしまう。 通常の Linux なら Flash のプラグインも動くのだが、Google Chrome OS はどうなんだろうか?

これに関しては発表の翌日に公開された FAQ の中にヒントがあった。

What companies is Google working with to support Google Chrome OS?


The Google Chrome OS team is currently working with a number of technology companies to design and build devices that deliver an extraordinary end user experience. Among others, these companies include Acer, Adobe, ASUS, Freescale, Hewlett-Packard, Lenovo, Qualcomm, Texas Instruments, and Toshiba.

Google Chrome OS – FAQ

現在一緒に作業している企業の中に唯一、ソフトウェアの企業として Adobe がリストされている。これはもう Google Chrome OS 用の Flash プラグインを作ってると思っていいだろう。

逆に、Google Chrome OS が最初にリリースされた段階では Flash 以外のプラグインは動かないと思ったほうがいいので、ウェブサイトの制作やコンテンツの制作を考えている人は開発方針に気をつけないといけない。

ARM チップ

次に、x86 および ARM CPU に対応というところ。  Netbook をターゲットにしていることも書いているため、x86 (Atom) なのはわかるが ARM 対応の真意は?

実は最近、ARM はスマートフォンと呼ばれるデバイスでよく使われている。 iPhone/iPod touch もそうだし、 Android も、Palm Pre もそう。 ARM チップの利点としてバッテリーが長持ちするということがよく言われる。  まだ聞いたことはないが、Netbook のようなデバイスに ARM チップが使われることもそう遠くないだろう。

また、Google は Google Chrome OS で金儲けをするつもりはなく、あくまで Google の広告を表示する媒体を増やす目的のために使おうとしている。 ただ、それにしては Netbook がターゲットというのはおかしい気がする。 最近 Netbook は人気はあるが、シェアからしたらまだまだ Mac 以下だろうし、Web ブラウズするにも画面やキーボードが小さいなどちょっと心もとない。

ブラウザを中心にしたデバイスと言えば TechCrunch の Michael Arrington が主導して作っている CrunchPad というデバイスもある。  Webブラウジングをメインにする人向けに、シンプルなハードウェアの構成で安いデバイスを提供するというもので、この考え方は面白いと思うし、オレも興味がある。

Google Chrome OS の ARM 対応のウラには、 既存の Netbook ではない、CrunchPad のような、もしくはそれを越えるような新しいデバイスを考えてるんじゃないかな。 Apple が iPhone OS をベースにこういったデバイスを作ってるんじゃないかという噂もあり、Google Chrome OS も同じ考えをしていてもおかしくないだろう。  ぜひ、そうであって欲しい。 そしたら欲しいぞ!


使ってないPCを使って無料でマルチモニター環境を作る

コンピュータをとことん使う、特にプログラミングなんかではデュアルモニタが便利とよく言われる。でもいざ揃えるとなると、対応したグラフィックカードが必要だったり、ラップトップばかり使っていてモニタを持っていないなど簡単にいかないことも多い。

使ってないPCとモニタがあればそれを使ってマルチモニター環境を作る方法を発見したので紹介。 以前、Maxivista というソフトが売られていた(英語版は Maxivista.com で今も販売中) が、それと似たような機能を実現するというモノ。 ただ、ちょっと問題もあり完璧じゃないことをお断りしておく。

1. 必要なもの

2. インストール方法

メインPC に DemoForge Quasar Virtual Display Driver をインストール。再起動の必要はなく、ディスプレイのプロパティを開くと、Displayがひとつ追加されている。

ディスプレイプロパティ

ディスプレイ プロパティ ダイアログ

この場合は 2 のDisplayが追加された仮想Display。 この2のDisplayをクリックし、選択後モニタPCの解像度を指定し、Extend my Windows desktop onto this monitor のチェックボックスにチェックを入れる。

もし、モニタPCがメインPCの左側にある場合は、2のモニタをドラッグアンドドロップで1の左に移動すれば左に移動できる。設定が終わったら OK ボタンでダイアログを閉じる。

次にメインPCに TightVNC をインストールし、VNCサーバ (WinVNC.exe) を起動する。パスワード以外、特別な設定は必要ないと思う。Sharing Area (共有エリア) は Full Desktop にするぐらい。

最後にモニタPC上に TightVNC をインストールし、VNC viewer アプリケーション (vncviewer.exe) を起動する。

Tight VNC の オプション設定

Tight VNC の オプション設定

ポイントは赤丸をつけたマウスカーソルをサーバ側(メインPC)に任せるところ。 モニタPCのインプットは無視させる。

この状態で、メインPC に VNC 接続するとメインPC の画面がモニタPCに表示される。 Tight VNC の場合はスクロールバーを使うか、フルスクリーンにしている場合はモニタPCのマウスを画面の両端にもっていけばデスクトップが切り替わる。

モニタPCのVNC viewer をフルスクリーンにしておけばマルチモニター環境のできあがり! フルスクリーンからもどる場合はモニタPCのキーボードで Ctrl-Alt-Shift-F というキーを使おう。

3. 問題点

まず、設定が簡単じゃないということ。

次に、モニタPC での画面の描画がちょっともたつく。 Tight VNC の場合、デフォルトの Tight という圧縮方法ではとくに遅さが目立つ。 Hextile という圧縮方法を使うとマシになるが、それでも動画の再生などはモニタPC上ではうまくいかないと思った方がいい。

また、VNC プロトコルはメインPCのCPUを常時10%-20%ぐらい使い続けるというところも大きな問題。 最近の VNC は Mirror Driver というのを使ってこの問題を回避しているのだが、このマルチモニターを実現する方法では Mirror Driver をインストールしても使ってもらえなかった。 RealVNC は Mirror Driver 使ってくれたけど、2nd Screen の再描画に問題があった。(RealVNC はちょっとうろおぼえ、違ってるかも)

というわけで、この方法は マルチモニターを実現する代わりに メインPC のCPUリソースが犠牲になるという大きな問題がある。

VNC はいろんな派生ソフトやオプションをサポートしているので、うまく組み合わせれば快適な環境が作れるかもしれない。 会社などで余ったPCがあるという場合はお試しあれ。


Mac OS X 版 Chrome に近い Chromium をビルドしてみた

Gizmodo 英語版でこんな記事をハッケン。

秋にベータ版と言われている Mac OS X 用の Chrome だが、ベースとなるオープンソース版の Chromium はいつの間かビルドができるようになっていたようだ。

さっそく、自分の MacBook (Late 2008, Core 2 Duo 2.0GHz )でビルドしてみた。と言っても、Chromium の公式ドキュメント通りに作業をするだけ。こういったソフトにしてはよくできてる。ちなみに、コードのダウンロードに1時間弱、ビルドにこれまた1時間ほどかかった。

Mac 版 Chromium のスクリーンショット

Mac 版 Chromium のスクリーンショット

非公式ビルドの配布サイトにもまとめられているが、Flash をはじめとするプラグインのサポートもまだ、日本語の入力もダメ、というように実用するにいはほど遠い。 Gmail など、確かに高速だけど画面が少し乱れたりする。 何より、オレのビルドは Gmail を見たあとに Chromium を終了するとクラッシュして CrashReporter がすごい勢いで何か始めて CPU を使い始めた。

でも、新しもの好きな人にはリポジトリから最新のコードをもってきてビルドすれば現状を試せるのはたまらないんじゃないだろうか。 もちろん、その気になればデバッグも。Chromium Mac 版の公式のステータスアップデートはコチラ。 Windows 版の Chrome は出来がいいので、Mac 版も今後どんどんよくなっていくのに期待したい。

Continue reading


IE8 にも JavaScript デバッガ が搭載

IE6 で天下を獲ったあとしばらく開発が停止した IE。 Firefox の追い上げもあって IE7 をリリースしたかと思ったら早くも IE8 がリリースされた。

IE8 はスピードが速くなり、より標準に準拠したレンダリングをするといううれしいニュースもさることながら、 IE8 には JavaScript デバッガが搭載されているのを発見。この前の Safari 4 (Beta)といいうれしい傾向だ。

IE8 の JavaScript デバッガはこれまで別モジュールだった IE Developer Toolbar を拡張するような形で組込まれた。起動は Tools ->Developer Tools メニューを選択、もしくは F12 キーを押す。

デバッガ画面

デバッガ画面

HTML/CSS/Script/Profile というタブがあって、この中の Script が JavaScript デバッガ。 デバッガ機能は速度に影響するため Start Debugging ボタンを押すことで有効になる。

今見ているページのスクリプトにブレークをかけたい場合は、真ん中あたりにある、上のスクリーンショットでは “blog” と書いてあるボタンを押し、スクリプト選択メニューから該当のスクリプトを選び、行番号の左をクリックしブレークを設定したあとに、そのスクリプトを通るような動作をすればデバッガにひっかかる。

ブレークポイント設定

ブレークポイント設定

stopped

ブレークポイントで停止したところ

デバッガに制御が移ったところで Locals でローカル変数を見たり、Watch に Watch したい変数を登録して確認したり(Local以外の変数はここに登録して確認するといいみたい)、Call Stack で関数の呼び出しスタックを確認したりできる。

このヘンは他のデバッガと同じ。一時停止ボタンを押すことで次のコードの実行時にブレークをかけたり、コード内に書かれた debugger; でブレークがかかる機能ももちろんある。

Safari 4.0 にはなかった Watch の機能がついているのはうれしいし、なにより IE シリーズで Visual Studio なしでもデバッグできるようになったのは便利だ。

IE6 はユーザも減ってきてるようだし、IE8 には IE7 のエンジンで切り替えて表示する機能もあるようなので、IE7/8 をターゲットにしている場合は IE8 + 内蔵 JavaScript デバッガで両方向けの開発ができるんじゃないかな?

ん、そういえばこのサイトをIE8で見るとフォントサイズとかうまく設定できてないな…。


iPhone OS 3.0 初披露、気になる新機能は?

Apple が今日開いたイベントで iPhone OS 3.0 の概要が明らかになった。 いろんなニュースで、コピー&ペースト のサポートや、Push Notification のサポート といった機能が報道されてと思うが、他にも興味深い機能が用意されている。

一覧がまとめられているこのスライドが興味深い。

os30

iPhone OS 3.0 の新機能 キーワード

 

Stereo Bluetooth の機能はBluetooth 上で音楽を流すことができる機能。A2DP とも呼ばれる。 これを使えば、Bluetooth スピーカーやヘッドフォンで音楽を聞くこともできるようになる。

Notes Sync はノートアプリケーションのデータを PC/Mac 上にもってくることができる機能。これ欲しかった。

他にもフォームの入力を簡単にする Auto-fill や、Wi-Fi のオートログイン。 iTunes や YouTube のアカウント管理といった機能も。

スライド上のキーワードを拾ってみると

Notes Sync, Audio/Video tags, Live Streaming, Shake to shuffle, Proxy support, Wi-Fi auto login, LDAP, EAP SIM, Stereo Bluetooth, iTunes account creation, Anti-phising, YouTube ratings, Create meeting invitations, Auto-fill, Call log, iTunes login, Parental Contros, Media scrubber, OTA profiles, VPN on dedmand, Languages, Revoke certs, YouTube subscriptions, YouTube accounts, EAS policies, Encrypted Profiles

だそうな。 地味なものも多いけど、どんどん完全なものに仕上がっている感じ。

 

また、SDK の方を見てみるとこんなスライドがあった。

SDK がサポートする新機能

SDK がサポートする新機能

 

In app email は自分のアプリケーションから email を送ることができる機能。(Mail アプリケーションを起動しなくてもいい)。

iPod library access は iPod の曲にアクセスできるようになった! 独自のヴィジュアライザーを持った音楽再生ソフトなんかも作れる。

Streaming Video/Audio は Proxy Support で HTTP を使って H.264 のストリーミングができるようになるらしい。 これまで YouTube アプリケーションは Firewall の中ではうまく動作しなかったけど、OS 3.0 では動くようになりそう。

Shake API はよくアプリケーションに使われる iPhone を振ると画面をクリアできたり、Undo のようになる機能。 オレも自前で実装しようかと思ってたけど、Apple が標準のAPIを提供してくれるらしい。これも楽しみ。

SDK がこういった機能を提供するということは 3.0 のビルトインアプリケーションでも実装されてくる可能性が高い。

とまぁ、ここまで魅力的な発表しておきながらも実際のリリースは夏だそうな。

今回は開発者にアプリケーションを 3.0 互換にしてもらったり、3.0 の機能を活用したアプリケーションの開発を促す目的なため仕方ないとはいえおあずけを食らった感じでちょっと寂しい。

6月には WWDC もあるし、リリースが噂されている第3世代の iPhone の発売に合わせる感じになるだろう。 というわけで3.0 のリリースは 2.0 のときと同じく7月かな。


CommonCraft Show -「簡単な英語で説明」シリーズ

英語のサイトで最近よく見かける 切り絵+手書き の手作り風なアニメーションムービー。ムービーの素朴さもさることながら説明がとてもわかりやすく見ていて引き込まれる。

例えば Google Reader の説明はこんな感じ。

このムービーを作っているのが CommonCraft という会社。

この会社は上のような請け負いで作成したムービー以外にも、CommonCraft Show というサイトでムービーを公開している。

テーマはコンピュータ関連のものはもちろん、お金の貯め方や借り方といったものまで多岐に渡る。

中でももうちょっと前に紹介しておけばよかったと思ったのがコレ。大統領選挙の説明。

これらムービーは比較的わかりやすい英語で語られているので英語の勉強にももってこいだと思うが、英語は苦手な人向けに英語の Transcript (原稿)が公開され、Dotsub でボランティアによる各国語の字幕がついたムービーも公開されている。

Podcasting の説明のムービーには 100%(全編に)日本語翻訳が付いていた。すげぇー。

Podcast の Pod って Personal On Demand の頭文字だったとは知らなかった。 iPod の Pod から来てるのかと思った。

CommonCraft Show は技術が知りたい人にも、英語の勉強にもほんとオススメ。

それはそうと Dotsub も面白そうだなぁ。


Yahoo! Pipes で フィードを自分好みに変える

今やブログやニュースを効率良く読むために欠かせなくなった RSS/Atom フィード。でも調子にのってどんどん登録していくと、

「iPhone のニュースだけ読みたいんだけど、余計な記事もいっぱい表示されるなぁ」

とか

「このブログ、NBA のエントリさえ無かったらいいのになぁ」

なんて思うことも。とくに、多くのフィードを RSS リーダーに登録している人ほどこういった不満はあるんじゃないだろうか。

そんな人には Being Efficient With RSS というエントリに載っていた Yahoo! Pipes を使ったフィードのフィルタリングがいいかもしれない。

Yahoo! Pipes はブラウザで要素をパイプで繋いでいくことでデータ処理を定義できるというツール。RSS/Atom フィードを入力にし、その内容からタイトルに iPhone を含むものだけを表示、NBA を含まないもの除くといった処理を通すことでフィードを自分好みに変えることができる。

試しに、日本のいろんなニュースサイトから iPhone の記事だけ表示するといった Pipes を作ってみた。

iPhone News Feed
pipes

いろんなニュースサイトを登録する代わりに、上のリンク先にある Get as RSS のフィードを登録すれば iPhone に関連するニュースを読むことができる。

このままでは使ってうれしいのは一部の人だけだが、アメリカの Yahoo! ID を持ってる人ならソースを見たり、これをベースに自分オリジナルのフィードを作ることで、どんどんフィードをカスタマイズできる。

ただ、自分にあった条件を定義するのはプログラミングの心得がないとちょっと難しいかもしれない。

タイトルに iPhone を含んだエントリだけを表示

タイトルに iPhone を含んだエントリだけを表示するという定義 (この場合、Matches regex は contains でも同じように動く)

もし、NBA, Warriors ,トレード のどれかを含んだエントリーは表示しないという設定にするときは、こんな感じになる。

blockfilter

タイトルに NBA, Warriors, トレード という単語が入っているエントリはブロックする設定

これを応用すれば、PR: とか AD: で始まるエントリは…ゴホッ、ゴホッ…なんてこともできちゃう。

今までどうやって使うと便利なのかよくわからなかった Yahoo! Pipes だが、こんなところで便利さを実感してしまった。

多くなったフィードもこういう形でまとめると時間の節約になるんじゃないかな。


Safari 4.0 (Beta) で WebKit の JavaScript デバッグ

Apple が Safari 4.0 のベータ版を公開した。 (ダウンロードはこちら)

見た目が派手なスピードダイヤルやカバーフローな履歴表示などに目が行きがちだけど、Safari 4.0 で JavaScript デバッガが標準装備になったのは大きい。

これまでも WebKit の Nightly に Dorsera という JavaScript デバッガのアプリケーションが同梱されていたが、別アプリケーションということもあって何だか安定せず使い勝手もイマイチだった記憶がある。(出たてのころの印象なので、最近は良くなっていたかも)

これが Safari 4.0 ではアプリケーション内にデバッガの機能も搭載されものすごく便利になっている。

JavaScript デバッガを起動するにはまず Preference メニューで Develop メニューを有効にする。

Safari の Develop を表示する

Safari の Develop を表示する

すると Develop メニューが現れるので、その中から Start Debugging … を選べばデバッグ開始してデバッガが表示される。(この機能は Web Inspector の一部なので、Show Web Inspector を選んでもいい)

デバッガは Firebug と XCode (Dashcode) を合わせたような感じ。

Debugger 起動中

Debugger 起動中

スクリプトの切り替えもドロップダウンメニューからできる。

スクリプトの切り替え

スクリプトの切り替え

スクリプトの行番号の左側をクリックすればブレイクポイントが付けられるし、右側にある一時停止ボタンを押せば次に実行されるスクリプトのところでブレイクがかかる。もちろんスクリプト中に debugger; と書いておけばブレイクがかかる。

また、このデバッガではインラインのスクリプト (HTMLエレメントの中の onclick などに書かれたスクリプト)でもブレイクがかけられる。 今のFirebug 1.3 ではたしかダメだったと思うがこの機能はちょっとしたスクリプトのデバッグにはとても有効だと思う。

変数表示(local, closure, global と分けて表示されるのは特に便利) やコールスタックを表示する機能ももちろんあり。デバッガとしては十分なものになっている。足りないのは変数を watch する機能ぐらいだろうか。

といっても WebKit をコアにしたブラウザの JavaScript デバッガでここまで使えるのは無かったんじゃないかな。この機能の登場はとってもうれしい。


Movable Type から WordPress に変更

maclog で最新の WordPress の使いやすさに驚いて以来、じわじわとアメがんでも使いたくなってしまった。いろいろ調べてみたら懸念だった Permalink も何とかなりそうなことがわかり勢いでいってしまった。

移行に関してはIDEA*IDEAのこちらの方法が大変参考になった。ほとんどこの通りでうまくいったのだが、横着してDraftのエントリが残っていながら import/export をしたのでちょっと苦労した。

IDEA*IDEA のエントリでもできないと注意しているのだけど、Draft のエントリがあると Permalink のマッピングに MovableType のテンプレートが使えない。

この解決方法として、phpMyAdmin を使って mt_entry テーブルに対し次のような SQL を投げてリストを作った。これだと Draft が入ってても大丈夫。(今度は MySQL という制限が付くけど)

SELECT CONCAT('\'', LPAD(`entry_id`, 6, '0')), `entry_title` FROM `mt_entry` 
WHERE entry_blog_id = [BLOG_ID] ORDER BY `entry_created_on`

このSQLの結果を CSV で Export し、あとは同じように Excel (Mac版持ってないので OpenOffice) で作業をした。

 Permalink 大丈夫だと思うけどおかしなところがあったらこっそり教えてださい。

まぁ、ツール変わったけどボチボチいきます。