November 02, 2006

Thinkpad Access Connectionsにやられる

Dual Coreの登場にあわせてノートパソコンを新装してから、かれこれ数ヶ月が経とうとしています。購入したのはCore Duoを搭載したThinkpad X60s(最新のX60sはCore 2 Duo搭載バージョンが最近でたみたいですね)なのですが、これには最近のノートパソコンの例に漏れず無線LANが内蔵されており、その設定を使う場所に応じて切り替えるためのLenovo謹製のツールAccess Connectionsというソフトウェアが導入されています。今回の記事はそのソフトのインストールにまつわる愚痴です。

このAccess Connectionsというソフトはパソコンを起動するだけで勝手に無線LANのアクセスポイント先やブラウザのプロキシ、通常使うプリンタ等を変更してくれるので便利に使っていたのですが、たまに切り替えがうまくいかないことがありました。特に固定IPとDHCPの切り替えがうまくいかず、手動で設定しなおすことが多かったです。

そういった不満があったのでソフトを最新のものにアップデートすればこの問題が解決されているのではないかと思い、これまたLenovo謹製のSystem Updateというアップデート用のツールを使って無線LANのドライバとAccess Connectionsを同時に更新して見ました。結果は…

無線LANがおかしくなりました。Access Connectionsを立ち上げるとAccess Connectionsから無線LANが認識されなくなり(Windowsからは認識されているので、Windowsの標準機能にある設定で変更すれば無線LANは使える)、さらには"Windows Wireless Connection Serviceが停止しています"という訳のわからないエラーが出たり固まったりします。

かれこれ格闘すること数時間。結論から言うと無線LANのドライバとAccess Connectionsを両方コントロールパネルの『プログラムの追加と削除』を使ってアンインストールし、無線LANドライバのインストール、再起動、Access Connecctionsのインストールを順に行うことによって回復しました。導入要因となったIPアドレスの切り替えはうまくいっているかはまだ検証中ですが、(ほぼ)自動インストールでインストールしたものがトラブルになるというのは非常に腹立たしいです。

08:48 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (5) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/527

November 05, 2006

ASIMOとの遭遇

[Timely]

ASIMO_200611.JPG

秋葉原で散策していたところ、生ASIMOに初めて会いました(某万博では多忙でそれどころではありませんでした)。『アキバロボット運動会2006』という企画だそうです。お客さん大入りでしたが、子供より夢中になるお父さんの図が至るところで見受けられておかしかったです(笑)。ちなみに僕がロボを作るとしたらタチコマ作りたいですね(日産に先を越されましたが…)。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (3) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/528

November 11, 2006

VC6 MFCをVC2005で

Visual Studio 6で作成したWindowsアプリケーション(MFC使用)をVisual Studio 2005 Express Editionでコンパイルできるように移植するという用件がやってきました。VC2005でVC6のプロジェクトを開くとある程度自動的にコンバートしてくれますが、いくつか修正する必要があったのでメモを残しておこうと思います。加えて、たまたまこの作業を行ったPCにVC6がインストールされていなかったのでVC6無しでWindowsアプリケーション(MFC)のコンパイル環境を構築してみました。

VC2005 Express Editionですが、以前の記事でも書いたとおり無償なので、機能制限がそれなりにあります。コマンドライン上で動く単純なCUIアプリケーションならば全く問題ないのですが、今回のようにWindowsのGUIアプリケーションとなると色々と技を駆使しないとコンパイルできませんでした。

まずはWindows Platform SDKの導入です。Platform SDKはWindowsアプリケーションを作成する際に必要となるヘッダやライブラリなどがある程度の範囲で無償公開されているものです。Windows Server 2003 R2 Platform SDKをインストールして、プロジェクトのインクルードパスに(Platform SDKのインストールディレクトリ)¥Include、¥Include\mfc、¥Include\atlを、ライブラリパスに¥Libを追加しておきます。Microsoftの解説ページが参考になると思います。

この状態でビルドを試みると、リンクの際にライブラリmfc42d.libがないと言われてしまいます。MFCにはバージョンがいくつかあり、これはVC6時代のMFCのようです。Google先生を検索したところ、Visual Studio 2005の有償版を持っている場合は新しいバージョンのMFCに切り替えてコンパイルできるようにする方法(『MFCアプリをVC6からVS2005へ移植時にリンクエラー』参考)があるようですが、今回は有償版VC2005もVC6もないのでネットからこれらのライブラリを探してきます。MFCがPlatform SDKに含まれているような雰囲気も漂っていますが、実はIA64用でx86用は含まれていません。Platform SDKのIA64用MFCにリンクをするとアーキテクチャが違うとリンカに叱られて先に進みませんでした。
このMFC42系のライブラリですが、VC6のサービスパックに含まれています。Visual Studio 6 Service Pack 6をダウンロードしてきて実行後にできるVS6sp62.cabの中に含まれているので、必要なライブラリをプロジェクトと同じディレクトリにコピーしておきます。これでライブラリがないとは言われなくなりました。

しかしシンボルが解決できないとリンカに文句を言われます。CWnd::KillTimer(unsigned int)が見つからないそうです。これまたGoogle先生に聞いてみると、新しいMFCではKillTimerの引数がintからunsigned intに変更されたとのこと。CodeGuruに同じ現象が書いてありました。こうなるのはPlatform SDKの新しいMFC用のヘッダに古いMFCのライブラリを組み合わせているからです。
解決方法はPlatform SDKのInclude¥mfc¥afxwin.hの2113行目を書き換えます。

BOOL KillTimer(UINT_PTR nIDEvent);

BOOL KillTimer(INT_PTR nIDEvent);

と書き換えればOKでした。他にも似たようなトラブルがあるかもしれませんが、ヘッダ書き換えで対応できると思います。

これでうまくいきました。本格的にWindowsアプリケーションを一から作ろうとするとGUIエディタなどが重要になると思うので有償版Visual Studioを購入したほうが良いと思いますが、移植程度でしたら今回のようにお金を掛けずにもできます。

20:52 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (2) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/529

November 13, 2006

Eclipseのナビゲーターのフィルターパターン追加

仕事に遊びに大活躍の統合開発環境eclipseを愛用しています。もともとはJavaの開発ツールなのですが、自由にカスタマイズ可能なので、Java以外にもC++やRuby、ActionScript(Flash)、TeXなどを書くときに大活躍しています。

そのeclipseなのですが、基本のパースペクティブで表示されるナビゲーターというビューがあります。ただ単純にファイルをディレクトリ構造で表示しているペインなのですが、フィルターという機能があり、特定の種類のファイルのみを表示させるようにすることができるので、開発言語を問わず便利に使える機能です。
ところが残念なことに、普通に使っている分にはこのフィルターパターンを直接追加したりできるわけではありません。色々プラグインをいれることによってフィルターパターンが強化されますが、それに頼るのみです。

そんなのは嫌だ、自分でパターンを追加したいぞ、ということで調べてみました。得意のGoogle先生にお尋ねです。
まずはじめに引っかかったのが、EclipseWikiの『パースペクティブ』の項目。しかしながらこの記事は古く、eclipseのバージョンが2系列の話でした。eclipse 3ではorg.eclipse.uiというフォルダがプラグインに見つかりません。
さらに詳しく調べてみると、eclipseのBugzillaにひっかかりました。どうやらeclipse 3系列はuiの項目が圧縮ファイルのjarで提供されているようで、当然見つからないわけです。ということでここに書いてあるやり方でうまくいきました。もとの文が英語なので以下にやり方を和訳しておきます。

  1. eclipseを起動していない状態にする。
  2. (eclipseのインストールフォルダ)/pluginsの中のorg.eclipse.ui.ide_(バージョン).jarを同じフォルダ下に解凍する。*NIX系なら
    unzip org.eclipse.ui.ide_(バージョン).jar -d org.eclipse.ui.ide_(バージョン)
    で解凍される。
  3. 元のjarファイルの拡張子を.bakなどに換えておく
    mv org.eclipse.ui.ide_(バージョン).jar org.eclipse.ui.ide_(バージョン).bak
  4. 解凍してできたフォルダのルートにplugin.xmlがあるので
    <extension point="org.eclipse.ui.ide.resourceFilters">
        <filter selected="false" pattern=".*"></filter>
    </extension>
    のような部分を探し、あとは似たような感じでパターンを追加。
  5. eclipseを起動すればパターンが足されている。

以上の手順でうまくいきました。
ところでplugin.xmlに追加したあとにもう一度追加してもそのパターンは認識されないようです。おそらくキャッシュが残っているのでしょう。面倒ですが、同じ作業を繰り返せばうまくいきます。

21:47 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/530

November 19, 2006

現在国外です

[Timely]

いちおう一週間に一度は更新しようと努力しているこのBlogですが、現在国外の為、更新を持ち越しにしています。いつも見てくださっている方には特にご不便をおかけ致しますm(_ _)m

23:28 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (3) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/531

November 23, 2006

『若者はなぜ3年で辞めるのか』を読んで

[Timely]

若者はなぜ3年で辞めるのか? 年功序列が奪う日本の未来

つい先日まで海外に出張していましたが、海外でぼーっとできる時間がそれなりあるだろうと思い(実際はあまり時間がありませんでした)、日本を経つ際に数冊和書を購入して出かけました。今回はそのうちの一冊『若者はなぜ3年で辞めるのか? 年功序列が奪う日本の未来』についての書評・感想を残しておこうと思います。
ちなみに他は『女子高生、リフトオフ!~ロケットガール(1)』『世界の日本人ジョーク集』です。『ロケットガール』についてはそのうち感想を書くつもりです。

以下、長いので続きをどうぞ。

続きを読む "『若者はなぜ3年で辞めるのか』を読んで"
20:35 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (6) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/532

November 29, 2006

VHDLに思う

最近FPGAの設計をしています。何を作ろうとしているのかというと、I2C接続が可能なタイマーカウンターアレーを作ろうとしています。なんでこんなものが必要になるかというと、ラジコン用の部品は、サーボをはじめとして加速度計、ジャイロなどパルス幅でコミュニケーションをとるものが目白押しで、マイコン内臓の機能では対応しきれなくなったという現状があります。なお、このような話は色々なところで議論されており、僕自身は元祖"俺サーボ"で有名な宮田さん『FPGAによるPWM制御』を参考にしています。
しかし今回はその機能自身の話ではなく、FPGAを設計する際に利用している言語VHDLに対するちょっとした愚痴です。

以下、続きをどうぞ。

続きを読む "VHDLに思う"
20:48 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (7) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/533