2009年8月17日月曜日

EeePCの容量、限界です

私の愛機EeePC 901-Xですが、Cドライブの容量が限界です。何を思ったか、開発にも耐えられるようにソフトを入れまくったせいで、空き容量0なんて数字を見ることも…。

VisualC#、SpeechSDK、XNAのインストールでかなり苦しい状態です。今日は、AVGの設定をいじりました。

メニューの「ルール」→「高度な設定」→「アップデート」→「管理」にある”一時アップデートファイルを削除”
をすることで40MBほど確保できました。まだ足りない。

2009年7月26日日曜日

花火

先日、隅田川花火大会に行ってきました。写真は残念なことになっていたので割愛。

最初、遠くで見ていたときは特に何も思わなかったのですが、近くに移動するにつれて面白いと思うようになってきました。花火の動きとか。

気に入ったのは、一度爆発した後、分裂した光が加速度を持って様々な方向に動くやつ(文章で説明しにくい…)。プログラマ(特にゲーム方面)の目で見てしまうので、これって再現してみたいなぁ、とか思ったり。

2009年5月25日月曜日

Monoにはまる

今作っているアプリ(コミケのカタログブラウザとか、デスクトップアクセサリとか)をLinuxでも動かそう、なんて思ったのが間違いでした。

現在の開発はVisualC#2008Expressで行っているのですが、MonoなるものをLinux上に導入すると、Windows上でコンパイルしたプログラムがそのままLinuxで動く、らしい。が、実際にはOSの違いやMonoで実装されている機能を意識しないと正しく動いてくれません。

たとえば、Windowsではパスを\で区切りますが、Linuxでは/です。ファイル名を直接プログラム上に書いちゃうと動いてくれません。また、Monoでは全てのライブラリがLinux上に実装されているわけじゃないので、Monoで動くメソッドとか気にしないといけません。

さらに、実装されていてもWindowsと挙動が違う場合があります(多分、GUI関連とか多そう)。あ、当然ながらWindowsAPIを直接叩いてるプログラムもアウトです。

いや~、この縛りプレイ?(縛りプログラミング?)が思いの外厳しい。簡単なプログラムなら楽にマルチプラットフォームを実現できるのですが、凝ったアプリになると途端にうごかな~い。実際には、上記以外にも色々色々色々めんどくさいので、ちょっと諦めモード。

2009年5月17日日曜日

コミケのカタログブラウザ

何を思ったか、コミケのカタログブラウザ作ってます。元々、公式のブラウザが使いにくいと思っていたし、データの保持にSQLiteを使っていると知ったので、SQLの勉強を兼ねて手を出してみました。



SQL怖い…。私はDB関連は全くスキルがないので、進まない進まない。クオート書き忘れに気づくまで3時間くらい潰したり、文字コードの変換が出来なくて数時間悩んだり。

コミケのカタログはSQLiteのバージョン2系なのですが、C#のライブラリからSQLiteを使う場合バージョン3系じゃないといけません。また、文字コードにUTFを使うので、文字コードの変換も必要です。DBの元データもあるので、自力でInsertでもしようとしたのですが、これも無理…。

結局、sqlite.exeとsqlite3.exeのコマンドを使ってDBの変換をすることにしました。SQLiteはパブリックドメインらしいけど、このexeも同じなのかしら?これ使えないとアプリの配布は無理そうだなぁ。


しかし、画像が寂しい。

2009年5月11日月曜日

Windows7RCをVMwareで実行

以前にもWindows7のβ版をVMwareにインストールしましたが、今回はRCです。インストール手順はβ版とほぼ同じで


  1. qemuでVMwareのディスクイメージ作成
  2. β版で使用したvmxを再利用(ファイル名だけちょこっと修正)
  3. Windows7RCをインストール
  4. VMware Toolsをインストール
  5. ネットワークドライバ、サウンドドライバをインストール
  6. WindowsUpdate実行
  7. AVG Anti-Virusをインストール
大まかにはこんな感じ。相変わらずAeroが使えないですが、動作が軽くなるだろうから良し。
ただ、今回はVMwareのサスペンド機能が使えなくて困った。右上の×をクリックしても~スクリプトのエラー?とかでサスペンドできない。結局、VMware Tools内のスクリプトファイルを修正することで無事機能するようになりました。VMware, VMipでググると解決方法がわかるはず。

さて、ここまではどうでもいい話。今回びっくりしたのは、音声認識周りについて。
前回はVMwareとの相性のせいか、使用するアプリのせいか不明だが、音声認識が不調だった。今回、試しに自作のアプリ(音声認識機能を搭載)を実行したところ、特に何の設定もしていないのに、一発でアプリが動作しました。「メモ帳」と喋ると、ちゃんとメモ帳が起動する…。こんな感じ。

.NETを使っているし、Vistaから音声認識エンジンが標準搭載なので、通常インストールなら納得です。しかし、VMware上で、こうもあっさりと動くとは。

2009年5月1日金曜日

firefox…

GWですよ!

firefoxのバージョンが3.0.10になりました。3.0.9でクラッシュするバグがあったようで、かなり早い更新でしたね。確かに、3.0.9にしてから調子が悪かった気がする。

でもさ、3.0.10にしたらWebの表示が出来ないページが多数。エンコードをしくじっているのか分からないけど、エラーが出て表示できなかったり、不思議な文字で埋め尽くされた表示になったり。

はい、使い物になりません。実際にはプラグインのバージョンも同時に上げているので、本体が悪いのかプラグインが悪いのか分からない。新しいプロファイルを使うと表示出来るっぽいので、プラグインが悪いのかな?

どちらにせよ、また環境を構築するのは嫌です。これで何回目なんだ。今後はchromeとIE8のコラボでいきます。(といいつつ、また再インストールして使うんだろうなぁ…)

2009年4月23日木曜日

F#はじめました

ここ暫く新しい言語を学んでいないことに気付いたので、F#なんぞ勉強しています。最近、関数型言語の重要性を感じつつも、いざ勉強しようとするとGoodな言語が見つからない、って状態でした。

有名な言語はたくさんあるのですが、正直、実用性の面から全部却下してました。C#に関数型言語の機能が色々追加されているので、勉強はしたい。でも、実用的じゃないとダメなんです。関数型言語の解説を見てもアカデミック?な話ばかりで。アプリケーション開発にとって美味しいの?って思っていました。

優れた言語≠実用的な言語だと私は考えています。そこで見つけたのがF#。この言語、時期VisualStudioで採用される予定の関数型言語らしいです。.NET上で動き、慣れ親しんだライブラリも使えそう。さらに、C#との連携もできるので、F#に向いた処理をライブラリ化して、C#から呼び出すこともできる。実用までのハードルがかなり低そうです。

そんなわけで勉強中。以前(3年くらい前)、Haskellをちょこっとかじっただけなので、関数型言語に苦戦してます。とりあえず、F#で作ったクラスをC#から呼び出すまでは成功。

先は長い。