Windows Mobileのプログラム作成

Windows Mobileというのはマイクロソフトが出しているスマートフォン(パソコンに近い電話)やPDA向けのOSです。売りは「操作性がWindows」です。純正のWord(機能限定版ですが…)が入っている点も大きいでしょう。

docomoだと、SC01BやHT03A、SoftBankだと、X01TやX05HT、auだとE30HTなどがWindows Mobileを採用しています。

私もSoftBankの初代スマートフォンのX01HTの新品を1年前にヤフオクで1万円で買って持っています。電話としてはメインの普通の携帯電話の電池が切れた時くらいしか使っていません。電車の中で文書を作ったり、EBPocketというアプリを入れて電子辞書として使っています。

Windows Mobileはシグマリオン(docomo)などで採用されていた前身のWindows CEをバージョンアップしたもので、シグマリオンの時代は安定性が良かったのですが(シグマリオンのキーボードは打ちやすく今でも文書書きの人たちは重宝しているようです)、ハードウェアが複雑で多機能なスマートフォンではたくさんアプリを入れると安定性は悪くなります。

「こんな電話があっていいの!?」って感じ。以前電話会社で働いていた私としては時代の逆行性に驚くばかりです。

なお、私の場合、ハードウェアリセット(メモリ内容を工場出荷状態にする操作)以外の手段がなくなるフリーズ状態に月1回くらいなりますので、文書データや、アプリのインストールファイルはすべてMicro SDカードに書き込んであります。

iPhoneやAndroid携帯が出て、ニュース的には華々しくはないですが、いじれる範囲が広く、エンジニア向けのおもちゃとして考えるとなかなか楽しませてくれます。

以前からこのスマートフォン用のプログラムを作りたいというアイデアはたくさんありましたが、面倒くさくてプログラム作成はしていませんでした。

しかし…仕事関係の本を、町田のA書店で3冊買ったら必要なくなって、中を開いていない状態で返品しに行ったところ、amazon(送料無料キャンペーンが延長されたようです)のようには行かず返品お断り…。交渉したら同額以上の商品との交換ならOKとのこと。

仕方ないので、「FX攻略.com」という雑誌の最新号と「Windows Mobile 6.5アプリケーションプログラミング」という本を買いました。本がなくてもプログラミングはできますが、あった方が時間の節約になります。下の3つ目以降の本は関連書籍です。

さっそく今日、開発環境を作って、フリーソフトがあともう少しでできそうです。

どのようなプログラムなのかというと、柔道の道場で動いているのを見た約3万円の装置の機能を実現するものです。音は小さいですが…。まぁキッチンタイマー+αのようなものですね。

3分間のラウンド時間が終わるとアラームを鳴らして30秒間のインターバル時間に入り、インターバル時間が終わると別の音を鳴らしてまた3分間のラウンド時間に入るという動作をずっと繰り返します。もちろん時間は設定可能です。ラウンド回数も表示しようかな。

以前総合格闘技のジムに行っていた時にもボクシング用の同種の装置を使っていました。数ヶ月前にブラジリアン柔術の練習をしていた時にほしいと思ってネットで探したときに見つからなかったものです(既にあるかも)。

テストしてからいつか公開します。総合格闘技やボクシングでも使えるかな。アスリート用のハードトレーニングや家庭での腹筋エクササイズにも使えるかも。

将来的には別のプログラムを作る予定で、そのiPhone向けとかAndroid携帯向けも作る予定です。

とりあえず開発画面は下のような感じです。機能は単純なので英語版だけかナ。

グーグルが発表した新プログラミング言語「Go」

(GoのマスコットのGordonくん)

http://japan.cnet.com/special/story/0,2000056049,20403390,00.htm

Googleが新しいプログラミング言語を発表しました。オープンソースプロジェクトです。

ベル研究所にいたロブ・パイクPlan 9チームとして有名)やケン・トンプソン(Unixを作った人として有名)という伝説的な人物が中心となったプロジェクトで作りました。

ちなみに彼らは2002年近辺にニュージャージーのベル研からシリコンバレーのGoogleへと移りました。私は以前(2000年まで)ベル研(の特許部)の末端組織にいましたので懐かしくなりました。

なお、ロブ・パイクやケン・トンプソンとベル研で一緒だったデニス・リッチー(C言語を作った人として有名)は2007年までベル研に残り、その後リタイヤしました。

技術的にはjavaやC#のような中間コードを生成する言語ではなく、C言語やC++言語に置き換わる安全な高速プログラムを容易に作れる言語のようです。

今後、オープンソースコミュニティによってライブラリや開発環境などが充実して、いろいろなところで使われてくることになるんだろうと思います。

第一印象をレポートしている方がいました。

速いプログラム → 廉価なハードウェア・低電力 → 環境にやさしい

となっていいですね。

Google関連では、これから出てくるPC向けのシンプルなOSであるChrome OS、スマートフォン向けOSのAndroid、WebブラウザのChrome(現在使っていますが秀逸です)などに応用されてくるのを期待してしまいます。

ロブ・パイクやケン・トンプソンがかかわるということはChrome OSはPlan 9のようにシンプルなOSになるでしょうし、Unixの正統な後継とも言えますね。

ニュージャージーのベル研からシリコンバレーのGoogleへと移っても、simplicity(単純さIやthe worse is better(機能が少ないことはいいこと)という有名な設計思想をベースにソフトウェアを作っているようです。

ちなみに上のGordonくんはロブ・パイクの奥さんのレネー・フレンチ(漫画家、イラストレーター)が描いたものです。そのキャラが微妙に合っていないところも下のPlan 9のマスコットのうさぎのGlendaちゃん(同じくレネー・フレンチ作)を彷彿とさせます。

(Plan 9のマスコットのGlendaうさぎ)

ロブ・パイク自身も絵を描くのが好きなようで会議中に書いた「落書き」を公開しています。

http://herpolhode.com/rob/doodles/index.html

ルーター越しのネットワーク共有の解決策

ルーター越しの複数のネットワークの間(別のセグメントの間)でネットワーク共有(Microsoft Windows Network)をしようとしてもお互い認識できない場合が多いようです。

例えば、192.168.1.??のネットワークと 192.168.3.??のネットワークの間での共有です。

そのような場合の解決方法の例を以下に示します。(Windows XP SP2以降の場合)

  • コントロールパネル|Windowsファイアウォール|例外設定 で 「ファイルとプリンタの共有」 にチェックが付いているか確認します。
  • ここでルータ越えの場合には、「編集」をする必要があります。
  • 「スコープ」が、標準では「サブネット」になっていますがこれでは同一セグメント内でしかやりとりできないので「スコープの変更」で変更します。
  • 192.168.1.?? と 192.168.3.?? の間の共有であれば

192.168.1.0/255.255.255.0,192.168.3.0/255.255.255.0 とするか、

192.168.0.0/255.255.0.0 とします。

  • これを TCP 139、TCP 445、UDP 137、UDP 138 のすべてのポートで、すべてのコンピュータで行います。
  • これで直っていれば成功。

この他の確認事項としては

・ルーターのファイアーウォール機能で上記ポートをブロックしていないかの確認

・ネットワーク接続で、「Microsoftネットワーククライアント」「Microsoftネットワーク用ファイルとプリンタ共有」が入っているかの確認

・「ファイルを指定して実行」にて、¥¥192.168.1.2 のようにIPアドレスを指定してコンピューター指定して表示されるかの確認

などがあります。

ミニノートPCで重視するポイント(キーボード配列)

最近、ミニノートPCの値段が激安になり使用可能時間が増えたので買おうと思っています。

私がノートパソコンを買うときに一番重視するのはキーボードです。

特に左側のCtrlキーの位置を気にします。
Fnキーが外側にあるノートPCもありますが、

[ Fn ][Ctrl][ Win] [Alt ]

私はCtrlキーは外側にあるのが好みです。

[Ctrl][ Fn ][ Win] [Alt ]

なぜかというと、かな漢字変換やコピーアンドペーストのときにCtrl+IやCtrl+Cなどの操作を、ホームポジションを保ちながら小指の根本の手のひらの部分で押すからです。

Fnキーが外側にあってCtrlキーがその右側にあるノートパソコンではこれができないのです。

他の重視する点は、電池の持ち、CPUの速さ・省電力性、HDD・SSDの容量などでしょう。

おすすめはAsusのEee PCです。下記のようにYahoo!オークションでは新品を安く買えることができます。

PCを作る技術は台湾メーカーがすごいですね。

他に、DellのファンレスPCは静かそうですし、HP、東芝などもおすすめです。工人舎は好みでないかも…新技術をいち早く取り入れるあたりが。

Yahoo!オークションでの新品Asus Eee PC 100HAEの出品例

Googleマップの矢印を動かす方法(リンク作成・埋め込むため)

image

Googleマップで目的の場所を表示させてから、右上の「リンク」ボタンをクリックすると、

image

リンクを作成したり(上段)、地図を埋め込むHTMLコードを得ることができます(下段)。

しかし、緑色の矢印、赤色の矢印を自由に動かせないと目的場所を見る人に正確に伝えられません。

この緑色の矢印、赤色の矢印を自由に動かす方法をご紹介します。

(1)Googleマップで目的の場所付近を表示させる。

(2)目的の場所で、右クリック→ここを地図の中心

(3)「リンク」の「このリンクをメールに貼り付けて地図を共有できます」のテキストのうち、&ll=・・・・&spn=の・・・・の部分を検索バーへ入れる。

これは、「35.455077,138.597336」のように緯度・経度情報になっています。

(4)「地図を検索」ボタンをクリック

(5)これで矢印が移動します。

(6)そして、リンクを作成したり(上の図の上段)、地図を埋め込むHTMLコードを得ることができます(下段)。

なお、(3)で検索バーに、「35.455077,138.597336 (飲み会の場所)」のように書くと、「飲み会の場所」という文字が書かれた吹き出しが現れます。