コンピュータ関係 一覧

現在このブログとは別に、Twitterでもいろいろと意見を述べることがある。で、あとあと読み返してみると、Twitter上だけではなくてブログにも残しておくと良いのかもしれないと思うものもある。特に、酔っぱらってゴチャゴチャ言っているときは、単文を何個も連続投稿していて、半分ブログみたいになってることがあるし、第一タイムラインだと読みにくい。

そこで、1日の投稿をブログにまとめてポストしてくれるようなツールはないかと思っていろいろ探していたら、良さそうなものをみつけた。

Twitter Digest

これはWordPressのプラグインである。とりあえずWordPress3.5.2をインストールし、このプラグインを試してみようと思ったのだが、日本語のWebで紹介されている設定方法が古かったため、設定方法をメモしておく。

まず、全般的な設定は大きく変わっていないので、プラグインのインストールや基本設定はかきのサイトなどを参考にして頂きたい。

新しいプラグインでは、Twitterの認証が必要となっている。上記ページではTwitterのアカウント名を入れるだけで良いと記載があるが、現在(2013/8/24)公開中のプラグインでは、認証に必要な以下の情報をTwitterより取得し、設定する必要がある。

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

下記ページにこれら認証情報の取得方法が記載されている。有り難い話だ。

Twitter Consumer key等の取得方法

【注1】 、「setting」タブにあるApplication type欄のAccessは、「Read only」にすること。Twitter Digestは投稿を読み取るだけでいいので。

【注2】 「Create a new application」では、アプリケーション名にtwitterの単語が使用できないとか、説明を10文字以上で書けとか、いろいろ制限あるので、英語のコメントをよく読んで入力すること。ちなみに、「Twitter Digest」と、プラグイン名をアプリケーション名にしようとすると、この制限にひっかかります。

【注3】 認証情報取得時、「Create a new application」にて画像認証があります。スクリーンリーダーユーザーは頑張って下さい。私はだいぶ頑張って代替音声を聞き取りました。

認証情報が取得できたら、WordPressのダッシュボードから「設定->Twitter Digest」を開き、認証情報を設定すれば良い。その他の設定内容は、前述のブログ記事を参考にどうぞ。

またLINUXを触りたくなってきたので、何かインストールすることにした。したけれども、マシンがない。PCは2台持っているのだが、メインPCには入れたくないし、もう1台はTV録画用サーバとしてWindowsが稼働している。昔はデュアルブートにして使いたいときだけLINUXを起動するなんてことをしていたが、TV録画は24時間いつ録画が入るか分からないし、だいたい使いたいときに録画が走ってたらウザい。

でも最近は仮想化がブームじゃないか。企業ではもはや当たり前になったこの技術を使えばいい。いや、実を言うと2,3年前から仮想化したいなぁと思ってはいたのだ。いたのだけど、仮想化ソフトをスクリーンリーダーで使えないという問題があったのである。

でもやっぱり仮想化したいので調べてみたら、JAWS用にVMWareのスクリプトを書いている人がいた。ので、スクリプトを導入して早速試して見ることに。

一応結論を先に書いておくとJAWSじゃゲストOSのインストールはできなかった。

まず、上記のJAWSスクリプトであるが、以下のサイトに置いてある。
JAWS Scripts for VMware Player and Workstation for Virtual Machines
で、スクリプトをダウンロードしてインストールする。自動インストールと手動インストール用のファイルがあり、どっちを使っても良い。

次にVMWareをダウンロードするのだが、今回は「VMWare Player」を使う。上記のスクリプトのサイトにもリンクがあるし、VMWareの導入を解説したページにもリンクが貼ってあることが多いので、適当にダウンロードする。ちなみに「VMWare Player」はフリーだし、とりあえず仮想マシンを動かしてみるだけなら十分らしい。

「VMWare Player」をダウンロードできたらインストールする。別に困るようなことはないが、心配ならドキュメントでも読んだらいいと思う。で、インストールできたら適当に仮想マシンを作ってゲストOSをインストールするわけだが・・・。

ここで問題が発生。どのディストリビューションをインストールしようかな。前Debianを入れていたことがあったので、Debianを入れるのはすんなりできそうなのだが、せっかくなので別のディストリビューションを入れたい。で、ネットを回っていると、なんかCentOSを入れてる人が多いみたいなので、とりあえずCentOS5.6をインストールすることに決定である。

で、CentOSのISOをダウンロードしてきて、仮想マシンにセットして「いざセットアップ!」と思ったのだけど、仮想マシンのコンソールをJAWSが読まない。「グラフィック・グラフィック」じゃねえよ、あほが!!スクリプト入れたら読むんじゃねえの?

しょうがないのでスクリプトのマニュアルを読む。英語なので最初に読むのは意図的に避けたのだが、やっぱり読まなきゃだめか。で、どういうことが書いてあったかというと、

「VMWare Player」は通常でも100%アクセシブルなので、このスクリプトではフォーカスが当たったときにキーコマンドのガイドを読み上げるようにしています。

的なことが書いてあった。「VMWare Workstation」の方だと、なんかスクリプトでやってるらしい。後、いろいろ読むにはJAWSカーソルを使う必要がありますとか、そんなことも書いてあったような気がする。

だが、そういうけれど、ぜんぜん100%アクセシブルじゃねえんだけど・・・。いや、それは間違いか?確かに、VMWareのウインドーは100%アクセシブルだ。っていうか、ウインドーっていうか、VMWareから利用可能な機能はすべて操作できる感じである。一番肝心な仮想マシンのコンソールを読まなくても、100%アクセシブルなのか、疑問だ。

ここで行き詰まってしまった。これじゃインストールできない。困った。いやはや、困った。そして考えた。考えた結果、「点字ディスプレイ繋げばBRLTTYが使えるのでは?」と。

そういうわけで、やっぱりDebianで試してみることになった。CentOSのインストールでBRLTTYが使えるかどうか分からなかったし、今までのことで調べるきが無くなったので、結局Debianである。

あんまり仮想化技術には詳しくないので、ゲストOSのインストール時点からUSBコントローラをエミュレーションしてくれるのか不安だったのが、これがきちんとやってくれた。ALVA544とPCをUSB接続して仮想マシンを起動すると、おお、出てきた出てきた、点字が!!

でもまた問題発生。BRLTTYは反応するんだけど、「Screen not in text mode」とか表示されて操作できない。だから、俺はそんなにMじゃありません!

どうもこれは既知の問題らしく、すぐに解決した。DebianのISOイメージをセットして仮想マシンを起動すると「ピー」と本体からビープ音が鳴るので、キーボードから「brltty」と入力しエンターキーを押すと、正常にBRLTTYでインストーラを操作できるようになった。原因は、何かと何かが競合していることらしい。まぁ、あんまり関係ないので忘れた。

そして無事インストール完了。ただ、若干レスポンスが悪かったり、たまに無反応になることがあった。後から分かったのだが、ときどきUSBが切断されて復帰するというような現象が起こっているらしい。USBコントローラをエミュレーションしていることのオーバヘッドなのかもしれないが、実際のところはよく分からない。OSがインストールできて、環境を整えているときにも、度々点字ディスプレイが無反応になったかと思うと、USBを取り外したときのビープ音が聞こえてきて、すぐまた接続されたときのビープオ音が鳴るということがあった。

さて、とりあえずまたLINUXをいじれる。この、コマンドをひたすらたたいて環境を整えたり、テキストファイルを編集して設定をする感じがなんとも面白いね~。ただ、DHCPでIPアドレスを取得しているのに何故かものすごく変なIPアドレスになってるのが気になる。っていうか、どうして192.168.11.0のネットワークで192.168.160.128などというIPになるのか訳が分からん。これをなんとかしないと、SSHできないなあ・・・。

RubyでGUIアプリケーションを作ろうと思っていろいろ試している。

というのも、ツイッターのクライアントとして今Tweenを使っているのだが、気に入らない点がいくつかあるので、自分用にクライアント作るかなぁと思ったわけだ。Tweenの何が気にくわないかはまぁ良いとして、実際に作るとなると、まずは技術的に乗り越えるべき課題がある。

そもそもWindowsで動くクライアントを作るのに、別にRubyじゃなくてもいいのだが、 ゲームを作るのにはまっていたころにRubyをやりこんだし、C#とかC++をはりきって覚えるほどやる気もないので、Rubyなわけである。

で、とりあえずRubyでGUIアプリケーションを作るにはいくつかフレームワークがあることは分かった。

そのうち、VisualRubyというフレームワークとwxRubyというフレームワークの2種類を試して見た。

まず、VisualRubyの方は、コードがシンプルで分かり やすい。Rubyっぽく書けるし、数ステップでそれっぽいウインドウも出る。ところが、作ったアプリケーションをPC-Talkerが読まなかった。VBで作ったアプリに近い感覚である。っていうかキーボードで全く操作できないので、この時点でアウト。

次にwxRubyを使ってみた。こちらはVisualRubyよりもいくらか余分にコードを書かなきゃならないように思えるが、基本的にはシンプルである。そして、作ったアプリケーションもちゃんとPC-Talkerで読む。どうやら、wxRubyはある程度OSネイティブのコンポーネントを使っているらしく、そのためPC-Talkerで読めるらしい。VisualRubyはクロスプラットフォームとしての性能はwxRubyよりも高いようだが、その分OSネイティブでないという点で、スクリーンリーダーに対しては不利ということのようだ。

ということでwxRubyでアプリケーションの開発を行うことに決定した。

が、もう一つ引っかかる点がある。Webの世界ではMVCモデルという言葉があるが、GUIだって同じ。要するに、ロジックとデザインは分離すべきなのである。しかし、どうもそれが難しそうなのだ。

wxRubyでは、XRCというXMLベースのリソースを使うことでデザインを分離できるということらしいのだが、実際、このXRCというものを手書きするのは困難に見える。少なくとも、ブログなんかで人が作ったコードをみてそう思った。で、普通GUIなんで、デザイナーみたいなツールを使って画面を作るようなのだが、それもスクリーンリーダーではきっと使えないだろう。wxFormBuilderというツールがあるようだが、使い方を見ているとVisual Studioとどっこいどっこいで、とてもスクリーンリーダーで使えるようには思えない。

ということは、ソースコードでコントロールを配置していくことになるわけだが、あんまり気が進まない。ロジックとデザインを分離した方が効率よくアプリケーションを作製ができるということが分かっている今、わざわざロジックとデザインを近藤させるようなまねをしていいのだろうかと・・・。いや別にいいんだけど、個人的に気に入らないだけである。

まぁでも方法がそれしかないのだからしかたがない。画面デザインを記述するソースコードと、ロジックを記述ソースコードを分けて書くという方法でごまかすしかないか・・・。しょうがない・・・。

そういえば「HTML+CSS+JavaScriptで簡単にGUIアプリが作れます」って触れ込みのフレームワークがあったのを思い出した。で、調べてみると、Rubyの場合は「Bowline」というフレームワークがあるようだ。でも残念、Windowsには対応してないみたいなことが書いてあった(英語だったので全部読んでないが)。HTMLで画面作れれば、新しいことを覚えるまでもなく、最低限の画面はちゃちゃっと書けて便利そうだなぁと思ったのに・・・。

そういうわけで、毎日会社行って、帰ってくるとプログラムなんて組む気にならんのだが、休日に時間作って、気長にクライアントを作っていくことにする。地味に協力してくれる人を募集しています(笑)。

前にも書いたが、最近時間に余裕があるためゲームを作ることにした。プログラミングも最近やってなくて何かやりたいなぁと思っていたし、もっと大きな理由としては、日本人の視覚障害者(とりわけ全盲)が遊べるゲームが多くないことがある。海外ではオーディオゲームというカテゴリで製品まで出ているが、日本ではなかなかそういうことまでいかない(セガサターンの「リアルサウンド~風のリグレット」とか、PC用の「インベーダー」とか、無くはないが)。日本製のゲームの少なさには他の人もいろいろ考えているようで、近年は全盲でも遊べるPCゲームを作る日本人も増えており、だんだんと状況は改善されてきているようにはみえるが、やはり一般のゲームの多様性に比べるとまだまだである。

で、まぁ日本での事情はともかく、プログラミングが好きな私としても、こうしたものを作ってみたいとは前から思っていたのだがなかなか時間が取れず、今まで過ぎ去ってしまった。けれども、過去を振り返るとそういうことは他のことでもたくさんあった。なので、せっっかくだから「作ろうと思ったから作るか」という気になったわけである。

現在はRubyでゲームを書いている。「最初はシューティングゲームが簡単」とネット上のあちこちで書かれていたので、俺もそれに習ってシューティングゲームを作っている。

初めはHSPという言語を使って書いていた。ゲームプログラミングに向いていることと初心者でも扱いやすい言語という評価が多かったからだ。

確かにHSPは簡単である。ぶっちゃけ、何も考えないでプログラムを作ることができる。私も、最初は何も考えずに簡単なシューティングゲームを作製できた。

ところが、いろいろと機能を盛り込んでいこうとすればするほど、言語使用レベルでの技術的困難を感じるようになった。一番の原因は、HSPは手続き型であるのに対し、俺がイメージする設計がオブジェクト指向になっていることである。もう一つ、HSPでもオブジェクト指向風にプログラムを書けるが、完全なオブジェクト指向ではないのでいろいろと気に入らない点我あったのだ。

例えば、プレイヤーに関してプログラミングすることを考える。プレイヤーには「名前」や「HP」、「位置」などの属性があって、「動く」とか「弾を撃つ」などの動作がある。これらの属性・動作というものをプログラミングするだけならば、手続き型言語でも大した事はない。属性は構造体、動作は関数として作ればいいだけの話だ。

ところが、HSPにはまず構造体のような抽象データ型がない。入門サイトを読んでいると、名前やHPを表す配列を作って、配列の要素番号でどのプレイヤーか判別しているような設計をよくみた。まぁ、入門者にはこの方が分かり安いだろうなと思いつつ、現実的なゲームを作るには問題が多い。そこでモジュールという機能がある。モジュールを使えば、HSPでも構造体っぽいものは作れなくはないので、属性に関してはとりあえずOKとする。

次に動作について。手続き的に作るのなら、「動く」や「弾を撃つ」などの関数を作って、引数にプレイヤーのデータを渡してやれば、処理を実装することが可能である。HSPのモジュールを使えば、そのモジュール内で使える関数を定義できるので、これでOKかと思いきや・・・。実際に作ってみると、モジュール内で定義した関数であってもパブリックな関数になってしまう。これは言語仕様らしくどうにもならない。俺の概念では、モジュールなどは名前空間を定義してデータやメソッドをカプセル化できるのが当然だと思っていたので、まずこの仕様がきにいらなかった。プレイヤーだけならまだしも、敵とかアイテムなんていう要素を導入したら、それぞれに対して関数を作らねばならないじゃないか。いやまぁ、オブジェクト指向だってそうなのだが、スーパークラスを作っておけば、振る舞いの違うメソッドだけオーバーロードすればいいじゃん。

このようにHSPの言語仕様に不満を持ってしまったため、使用2日にしてHSPを使うことはやめたのであった。ついでにいうと、goto命令がさも便利な命令として各所で取り上げられていることも気に入らなかった。当然goto命令を使わないでプログラミングすることもできるが、HSP公式のチュートリアルでgoto を使ったサンプルが普通に提示されていたことで、個人的に「やめろ!そんなもんコードが読みにくくなるだけだ!」と嫌悪感を抱いてしまったので、どっちにしてもHSPを使わなくなる運命だっただろう。

そういうわけでRubyなのだ。オブジェクト指向であるのが最大の理由だが、もう一つ、Rubyでゲームを作っている人がいたので、「じゃぁRubyにするか」と思った次第である。

Ruby自体、ゲームを作ろうと思って初めて勉強した。けれども、以前Pythonをやっていたおかげで、文法や式の書き方はあまりちゃんと入門書を読まなくても理解できた。細かいことを知りたくなったら言語リファレンスを見ればいいやという感じだ。余談だが、Rubyは日本人が作ったプログラミング言語なので、日本語の情報が多くて助かる。Pythonをやっていたころは、チュートリアルと言語リファレンスぐらいは日本語訳があったけれども、バージョンが古かったりして結局英語で読むはめになって苦労したものだ。まぁ、技術英語を読む訓練にはなったが。

というわけで、キャラクターの設計も楽だし、dxrubyっていうライブラリでDirectXも使えるし、最近Rubyがお気に入りである。まぁ、実際のゲームを作る過程ではいろいろ悩むことはまだまだ多いけれども。

大変久しぶりだなぁと思いつつ、暇なので・・・。

ここ最近ゲームにはまっている。オンラインRPGなのだが、「ラグナロクとかやりてぇ!」と数年前から思っていた俺としては、世間的に今更感があるかもしれないものの、楽しくやっているわけだ。友達に紹介してもらった関係でそっち方面の話もできるようになったし。だが、面白いからいろいろな人に勧めて一緒に楽しもうと思っているんだけれども、俺が進めてゲームし始めたやつがだれもいない。俺に勧めてくれた友達も「誘ってもだれもやらないんだよね。っていうかお前しかいない」と言っていた。なんでですかね~?

で、オンラインRPGは人と交流しながらも基本的なプレイスタイルは一人プレイである。それもいいのだが、個人的に「みんなで遊べるゲーム」ってのもやっぱり欲しい。

そこで、自分で作ってみようかと思ってHSPの勉強を始めた。理由は、なんかゲームってHSPで作ってあるものが大石、適当に書いても動きそうなことを前に読んだことがあったから。

とりあえず人生ゲーム的なものを最終的には作りたいのだが、とりあえずはシューティングゲームの解説ページが多いからシューティングを作ってみようと思う。

ところで、なんにしてもデータ構造ってのは大事だと思うが、Cでいう構造体がないらしい。っていうか、そもそもオブジェクト指向じゃないから、なんかプログラミングしにくそうだなぁって勉強し始めて思った。とはいえ、手軽にWindowsプログラミングできることには代わりないので、あれこれしつつオブジェクト指向っぽく作ろうと思っているけれども。

あと、もう一つだけHSPに対する不満をいうとしたら、公式なドキュメントでも解説ページでも、goto命令を結構使ってること。まぁモデルがBasicなので自然なんだけど、今時gotoかよって思う。俺はたぶん使わないけど、HSPユーザーはgoto信者なのかね~?

Blu-Rayドライブを買った。最近流行なので。で、困ったことがあったので、スクリーンリーダーのユーザ向けに、一応レポートである。

購入したのは、I-Oデータの「BRD-SH12B」という機種。内蔵型である。問題が起きたのはソフトウェアのインストールの際のこと。

先に結論から書くと、

  1. 紙に書いてある認証IDを読んでもらう必要あり
  2. JAWSを使わないとインストールは難しい

である。とりあえず以下説明。

まず認証IDだが、Blu-Rayの再生ソフトをインストールするのに必要である。インストール画面に表示されるウェブサイトにアクセスして、認証ID入力/アプリケーションの有効化コードを取得する必要があるのだ。しかたないのでこれは読んでもらった(GWで実家にいたので家族に)。

次にソフトウェアのインストールであるが、JAWSでないと難しい。添付ソフトには、書き込みように「Nero」、ビデオ再生/編集用に「WinDVD]と「DVD Movie Writer」が付属してくるのだが、いずれも微妙にインストールが・・・。

Neroであるが、技術的にいうと、スタティックなウインドウが全面に出てきているために、「次へ」とかのボタンがキーボードでフォーカスしない。そのためJAWSを用いて、JAWSカーソルでボタンクリックしなければならない。実は、インストールのキャンセル操作(Alt+F4を入力)してから、「キャンセル操作のキャンセル」をすると、フォーカスを移動できたりするのだが、1画面ずつそういうことをやるのは面倒だし、この方法ではうまくキーボードフォーカスできない画面もあった。

WinDVDとDMFであるが、インストール画面そのものは読むものの、いったんフォーカスを別のウインドーに移すと、戻ったときに何故か全くキー操作できなくなる。こんなインストーラは初めてみた。インストール中にチャットがきて返事を打ったりしていたらこの状態になり、何度かインストールをやり直すはめになった。

とりあえず説明は終わり。ここからは念のための補足。

  1. インストール・ランチャーを使ってインストールすること。上記ドライブ付属のランチャーはスクリーンリーダーで使用可能なのできちんと使うこと。たまにランチャーが使えなくて、CDの中のインストーラを直接起動して作業する人がいるが、これをやるとソフトを起動したとたん、アプリケーションエラーでさようなら、ということになる可能性がある(俺はそうなった)。どうも、WinDVDとDMFの有効化作業は共通で行うらしく、メタプログラム側でそれをやるので、個別にインストールするとおかしなことになるらしい。
  2. インストール前にWMEを削除しておくこと。WMEインストール済みの状態でDMFをインストールすると、途中で「インストール済みです」とエラーが出る。で、何故かちゃんと起動しないと・・・。全く、それぐらいでインストール失敗するなよな。ただ、DMFがインストールするのは英語版WMEなので注意のこと。

ちなみに何故Blu-Rayドライブを買ったのかというと、最近アニメの映像作品に着いてくる得点が、Blu-Rayの方が良いのだ。市場をBlu-Ray化するための戦略なのだろうが、・・・なんというか、戦略に乗らざるをえない状態な俺がこの先心配。

愛が欲しい

サークルでHPを管理している。管理者は俺ではないのだが、最近「更新がめんどい」という声が上がり始めた。手動でHTML書いて、FTPでアップロードしているわけだが、問題として

  • FTP使えないとページを更新できない
  • そもそも管理者があんまりHTMLに詳しくない

がある。っていうか、この問題は、今のやり方を全否定しているような、そんな気分だ。

なので、CMSを入れようと思っていろいろ考えている。条件としては

  • HTMLに詳しくなくても使える
  • 音声ソフトで使いやすい
  • ページの作成/編集が簡単にできる

ということ。CMSというといくつも種類があるけれども、上野三つの条件を満たすものはなかなかない。

真っ先にうかんだのは「Movable Type」だった。しかし、これは音声ソフトでの使い勝手があまりよろしくないので却下。まぁ、俺個人としては頑張って使っているのだが、サークル内で効率的な管理という観点で考えると向かなかった。

それで、「いっそWikiでいいのでは?」と思って、今日「FreeStyleWiki」がCMS代わりにならないか、試してみた。

ちょっとしたサイトを作ってみた感じでは、微妙だ。ページ上部に出ている管理メニューみたいなやつ、消したいのだが消し方が分からないし、そもそも消せるのか?Wikiなので、ある程度Wikiっぽい仕様なんだろうから、無理なものは無理なのかもしれないが・・・。

やっぱり、ちゃんとしたCMSを探してきた方がいいのかなあ。いずれにしても、個人的興味もあるため、FreeStyleWikiはしばらく俺のおもちゃになる予定。

あぁ!酔っ払っている。ビール飲んで、氷結加重のストロングを2本も飲んでしまった。「パラッパラッパー」ってゲームあったよな。俺が小学生のころは、パラパラが流行っていた。駅の広場で女子高生が、電池式のラジカセでトランスをかけながら踊っていたのをよく見た。そんなやつ、今いないよな。ルーズソックスですら化石だというのに・・・。

っていうかだ、ソックスなど履くな!ストッキングを履け!いや、むしろノーブラでGOGO!いや話が2光年ほど反れたが・・・、とにかくだ、俺は制服が好き。セーラー服がね。10年ほど前から社会問題となった「おじさんの遊び」が、ちょっとあこがれです。でも、真面目な僕はそんな遊び、できませんがね。

そういや思い出した。中学校のとき、まぁ俺は盲学校に通っていたので、出身地域の学校と交流という行事を度々行っていたわけだが、クラスにいたやつが交流に行ったときのはなし。

午後からの交流だったため、クラスメイトの女と付き添いの先生は早めに学校を出て、途中のラーメン屋で昼食を取ったそうな。ちなみに先生は40ぐらいのおじさんだった。で、生徒である女が先生に問うたそうな。「先生、援交って何?」と。

仰天した先生は適当にその場をごまかしたというが(いったいどうやってごまかしたんだ?)、後で俺に「周りの人たちが先生をぎょろっと睨むんだ。穴があったら駆け込みたかった」と言っていたのを思い出した。

どうでもいい、他愛もない話だ。以上。酔っ払っているので、これからピンポンパンに行ってくる。ピンポンパンはコリン星の隣にあるの。ルンルンルン!ピンポンパンはピーターパンによく似てるね。ピーターパンとピータンもよく似てるね。なんでピータンはピータンなの?おとなしくアフラックにでも行ってろ!

じゃぁそういうわけで、明日も仕事なんだ。いや、明日から3月じゃん。仕事行きたくねえよ!宝くじ買おうかな。ピンポンパンの名にかけて!ピンポンパン!Oh!ピンポンパン!ピーターパンを殺せ!殺せ殺せ殺せ!そして、処女を生贄にささげよ!My Maria, So she's beutiful woman, I kill her!ブハハハハハハ!

iPhone

iPhone 3GS にアクセシビリティ機能が搭載されたということを、つい先日知った。欲しいのだが・・・。

全盲にとっては、 VoiceOver が主なアクセシビリティ機能になるであろう。要するに、 iPhone がしゃべるようになるのだ。

英語の解説動画や、日本国内で iPhone 3GS を買った人が YouTube で公開している動画などをみると、確かにしゃべっている。当然英語はちゃんとしゃべっていたが、日本語もそれなりにしゃべっているようだ。ただし、日本語の VoiceOver は、多少アクセントが変である。ただ、スクリーンリーダーのユーザーなら許容できる範囲のように思う。

ところが、1つ問題がある。漢字の詳細読みができないようなのだ。一昔前の携帯電話ではそれが当たり前だったので、そのころを思い出せば常識ではあるが。携帯電話で漢字詳細読みができるようになってしまった現在では、漢字の詳細読みができないということは、非常にやっかいな問題なのである。

基本的にはアップルの日本法人に頑張ってもらいたいところである。しかしながら、個人的には、アップルの日本法人がそういうことを行うことはなさそうに思う。アメリカでは訴訟に負けたこともあって、アップルのアクセシビリティに対する取り組みは評価できるのだが、それが日本ではあんまり見られないのだ。ただ、漢字詳細読みについて、今回のリリースでは見送ったが、今後対応予定なのかもしれない。そこらへん、どうなのかは分からない。

いずれにしても、漢字詳細読みができないのは困ったものだ。

でも、よく考えてみれば、俺はエンジニアである。なんとかして、自分で漢字詳細読みを実装できないだろうか。考えてみた。

まず、漢字の詳細読みが必要なのは以下の状況である:

  • 漢字変換するとき
  • 1文字ずつ移動しながらテキストを読むとき
  • 文字を削除したとき

従って、上記の操作を行ったときに、操作対象の文字を取得できれば良いということになる。仮にそれが可能としたら、取得した文字を、詳細読み辞書から検索して読みを返すロジックを実装すれば良いだけの話だ。

すなわち、以下のようなAPIさえあれば、漢字詳細読みを自作できるだろう:

  • 漢字変換したときの候補を取得するAPI
  • テキスト編集エリアで、カーソルのある文字を取得するAPI
  • 削除した文字を取得するAPI
  • 指定した文字列を読み上げさせるAPI

ここまではすぐに思いついた。ということで、早速調査である。 iPhone を買うかどうかは、上記が実現可能かどうかを判定してからにしよう。

すると、「iPhone アプリの開発には MAC が必要」であることが判明。なめている。俺は Windows ユーザーだ。 MAC なんて知らない。

厳密には、LINUX環境でも開発ツールをそろえることはできるようだが、公式には MAC 上の開発環境を使わないといけないらしい。

じゃぁなんですか。 iPhone 買ったら MAC も買えと。アクセシビリティに配慮した製品を出し始めた Apple は、どこかのビルゲイツが経営する会社とは違うと思っていたけれど、どうやらそうではなかったようだ。スティーブも同類かよ。肝臓移植受けたんならその辺考慮しろよ。ばーか。

<

でもねでもね、おもちゃが欲しいの。 iPhone 欲しいの。サファリ読むんだもん。電車の中で ITMedia とか ITPro 読めるじゃん。しかも iPod にもなるし。そうしたら、 iPod Nano どうしよう・・・。

とりあえず、明日、クレジットカードを持ってソフトバンクショップに行くかも。

ラジオ

実家で放送しているラジオを録音したかったので、PCに接続するラジオチューナーを買った。プリンストンのPCA-RCUというやつである。

システムとしては、実家にPCとこのラジオチューナーを持ち帰り、スケジュール録音の設定をする。これで実家でしか入らないラジオが聴ける。

録音したファイルは、定時にVPNで自宅のファイルサーバに流し込むようにしておけばいいだろう。パソコンに詳しくてよかったよ、俺。東京に住んでるのに名古屋のラジオを聞きたいとき、普通の人はここまでやらないだろうな。

さて、今回買ったPCA-RCU。当然のことだが、付属してきたソフトウェアはまともに音声で使えない。初期設定はなんとか、という感じだが、チャンネル選択は、PC-Talkerはおろか、JAWSでもどうにもならん。まぁ、これは予測された事態なので、付属ソフトウェアは速攻捨てた。

次に、「録音さん」というソフトを試してみる。ここからDLできる。

「録音さん」はフリーソフトなのに、何故か各社のラジオチューナー付属ソフトより性能がいいと評判だったので、早速試してみる。おお、これはなんとか音声でいける。一部マウスクリックができないと困る部分もあるけど、それはJAWSでなんとかやる。

基本的には、DLしたファイルを解凍して、一度実行してしまえばいい。数分経つと、自動的にチャンネルがプリセットされる。おそらく自動スキャンして周波数を割り出しているのだろう。プリセットに現在の番組タイトルも出ていたから、ネットから情報を取得していることにも違いない。

使い方としては、最小化した状態でタスクトレイから実行する。タスクトレイのアイコンを右クリックすると、様々なメニューが現れる。これらのメニューは、メインウインドウを開いた状態では出現しないので注意されたし。

原則タスクトレイを右クリックして現れるメニューからほとんどの操作ができる。ただし、以下の操作はマウスクリックが必要:

  1. 録音フォーマットの選択。メインウインドウでマウスを使う。
  2. スケジュール録音設定の際、種類を「単発」にするか「毎週」にするか。ラジオボタンで選択することになっているが、何故か「毎週」をキーボードだけでは選べない。

とりあえず、これで「聞けば聞くほど」を録音できる。6月の第3週辺り、実家に帰って環境構築しよう。6月9日に間に合わなかったのが非常に残念ではあるが。

オラクルがサン・マイクロシステムズを買収することで合意したらしい。朝、会社でニュースサイトを開いて驚いてしまった。

3月上旬ごろから、IBMがサンを買収するんじゃないかといううわさが流れ、その動向は気になっていた。一時、IBMが一株$9.50でサンと買収交渉に入ったというニュースが流れいよいよかと思ったが、折り合いがつかず保留となっていたはずだった。ところが、何の前触れもなく、オラクルという会社が現れて、あっさりサンは買収されてしまった。確か、オラクルもIBMと同じ一株$9.50で買収するらしいのだが・・・。

この話、驚きはしたが納得はできる。サンはJavaやSolaris、最近ではオープンオフィスなどのソフトウェア分野も事業の一端を担っているが、どちらかというとサーバやストレージなどのハードウェアベンダーという色が強い。そこに、ソフトウェア分野のオラクルが手を出すのは妥当なことである。JavaはオラクルのDBやそれを取り巻くミドルウェア、サーバ・ストレージはPaaSからクラウドコンピューティングのためのインフラストラクチャと、サンの技術はオラクルの展開するビジネスにとって親和性が高い。

いずれにしても、各界に与える影響が大きな出来事かもしれない。マイクロソフトのCEOであるスティーブ・バルマー氏も、この話に対するコメントを求められたとき、まともに返答できなかったというし。

今後俺が気にしたいのは、サンが培ってきたブランドをオラクルがどのように生かしていくかということ。平たくいうと、「SUN」の3文字は消えてしまうんだろうか、ということだ。


さて、話はぜんぜん変わるが。

久しぶりに蒟蒻ゼリーを食べたのだ。マスカット味。うまいよ、蒟蒻ゼリー。さっき「婚約ゼリー」と書いてしまった。PCだとよく間違えるんだよ。あぁ、蒟蒻ゼリー。みんなも蒟蒻ゼリーを食べよう!

このページの上部へ

プロフィール

結論の出ない駄文を残すことが趣味です。ついでに頭でっかち。
視覚障害(全盲)です。誤字脱字は、どうぞご勘弁ください。

サイト内検索

最近のピクチャ

Powered by Movable Type 5.2.10