2011年12月31日土曜日

日本No.1の頭脳王で回答者の扱いが酷かった

「日本No.1の頭脳王!大決定戦!!」というTV番組を見ました。 その回答者の扱いが酷かったですね。 名前の表示が、氏名の代わりに製作スタッフが用意したキャッチコピーになってました。 名札もキャッチコピーが大きな文字で氏名は小さ目。 呼ばれるときも必ずキャッチコピー付き。 なんか、TV番組が用意した最初の問題が「オレ達アンタらをこういう扱いしかしないけど、頭いいなら何とかしてごらんよ」であるかのように見えて仕方がありませんでした。 見始めて5分あたりから「馬鹿にされてるぞ。アンタら、馬鹿にされてるぞ。」と心の中で繰り返してました。

ゲストの芸能人の太鼓持ちも徹底してましたね。 見え透きすぎていて、やはり馬鹿にしているようにしか聞こえません。 回答者が不憫でした。 まぁ、実力のある回答者からしてみたら、視聴者からどう思われようがマイナスにはならないんでしょうけど。

2011年12月17日土曜日

アメリカのラジオでのテレビゲームの扱い

作業をするときのBGMとして何か聞きたかったのでアメリカのインターネットラジオ「NPR」を聞いてました。 時間は20時のちょっと前くらいです。 何を言っているのかは全く分からず。 まぁ、「音が聞こえればいいや」ってのと「言葉が分かってしまうと逆に作業の邪魔」ってことでの視聴です。

英語は全く分からないんですが、ポツポツと聞き覚えのある単語が出てきました。 「Dance dance revolution」とかって言ってますね。 どうやらゲームの話題のようです。

日本のメディアでは「ゲームは不健全」っていう昔の価値観が残っていて、報道で出てきたとしても1歩引いた扱いになります。 「アメリカだとどうなるのかなぁ」と思い、作業の手を止めてちょっとだけ音に注意を払ってみると、パーソナリティのオッサンがどや声で「Skyrim」と言ってました。 「オイオイあんたそのゲームやってるのか」と。

アメリカではそういう扱いなんですねぇ。 日本では無いです。 数十年後にポスト小倉さん的な人がゲームの紹介するようにとか、なるんでしょうか?

ちなみに、小倉さんの公式ブログをちょっと見てみたら投稿タイトルに「スカイリム」の文字が!? と思ったら「スカイハイ」の読み間違いでした。 野球の話題だったようです。

2011年12月13日火曜日

.net framework : 指定バイトでアライメントされたバッファを作る

[StructLayout(LayoutKind.Sequential, Pack = 16)] でいいかと思ったらダメでした。 MSDNライブラリによると「各フィールドが構造体の先頭を基準に整列されます」だそうです。

アライメント分だけ多めにバッファを作って、オフセットを計算して使うしか無さそうですね。 こんな感じかな?

byte[] buffer = new byte[size + byteAlignment];
UInt64 p = (UInt64)buffer;
offset = byteAlignment - (int)(p % (UInt64)byteAlignment);
if (offset == byteAlignment)
    offset = 0;

マネージコードでbyte配列を作っただけだとガベージコレクタの都合でバッファが移動されることがあります。 そうなるとズレて最初のアライメントが無駄になってしまいます。 それを防ぐためにGCHandleでバッファをロックし続ける...というのは止めた方が良さそうな予感がします。 ライフサイクルが長いバッファをロックし続けるとメモリの使用効率が落ちるケースがあるからです。

2011年12月10日土曜日

wpf : 色んな形式の画像ファイルをPbgra32形式に変換してWriteableBitmapに読み込む

色んな形式の画像ファイルをPbgra32形式に変換してWriteableBitmapに読み込むコードのサンプルです。 まず、BitmapDecoderを使ってそのままの形式で画像ファイルを読み込み、FormatConvertedBitmapでPbgra32形式に変換します。

private WriteableBitmap LoadBitmap(string path)
{
    using (FileStream stream = new FileStream(
        path,
        FileMode.Open,
        FileAccess.Read,
        FileShare.ReadWrite | FileShare.Delete) ) // ロックしない
    {
        BitmapDecoder decoder = BitmapDecoder.Create(
            stream,
            BitmapCreateOptions.IgnoreImageCache, // キャッシュしない
            BitmapCacheOption.Default
        );

        FormatConvertedBitmap bmpSrc = new FormatConvertedBitmap(
            decoder.Frames[0],
            PixelFormats.Pbgra32,
            null,
            0
        );

        return new WriteableBitmap(bmpSrc);
    }
}

2011年12月6日火曜日

PS3にPS1のコントローラを接続

「PS3用のレバーを持ってないからPS3の格闘ゲームに手を出しにくいなぁ」などと考えている今日この頃、動画配信サイトでチャットしてたら偶然PS3にPS1のコントローラを接続する方法を知りました。 このようなPS1→USB変換コネクタを使うだけで良いようです。

検索したら普通にあるし。 こういうのを使えばPS3用のレバーを買わなくても良さそうです。 PSボタンが無いのを気にしなければ古い変換コネクタでもOK。 PS1のレバーも変換コネクタも持っているので「ゲームソフトを買うか買わないか?」っていうだけになりました。

少し考えたら、PS3のコントローラはUSBとBluetoothなんだから、PCで使えるのがPS3で使えてもおかしくないんですよね。 「家庭用ゲーム機のコントローラは専用品」っていうふうに刷り込まれてたので、それに考えが至りませんでした。

実際にPCに挿しているコントローラを変換コネクタごと引っこ抜いてPS3に挿したら、ボタン配置は入れ替わっていたけど普通に動きました。 ボタンの入れ替わり方は、

2011年11月27日日曜日

wpf : UserControlを含んだクラスライブラリ(dll)を動的にロード

UserControlを含んだクラスライブラリ(dll)を動的にロードするサンプルコードです。 ユーザーインターフェース付きのプラグインに対応したソフトを作ることを考えて組んでみました。

各プラグインとのやり取りをするときに使う共通処理を本体側のinterfaceで定義しておきます。 プラグイン側はそのinterfaceを実装したクラスを作成。 本体はSystem.Reflection.Assembly.LoadFromでプラグインのdllを読み込み、そのクラスのインスタンスを作成してプラグインの機能を使用します。

コーディングのとき、プラグインから本体のアプリケーションで定義されたクラスを扱うには本体.exeファイルの参照を追加するだけでOKです。 本体のアプリケーションからプラグイン内のクラスを扱うときは、あらかじめ本体側で用意したinterfaceを実装したものに限るのが現実的。 各プラグイン共通のデータ構造を決めておきましょう。 それ以上のことをやりたい時はリフレクションでゴリゴリ、かなぁ?

2011年11月25日金曜日

wpf : UserControlを含んだクラスライブラリ(dll)の作成とデバッグ

wpfでUserControlを含んだクラスライブラリを作ったときのメモです。 最初は空プロジェクトにUserControlを追加してやってみたんですが、そのままではデバッグできませんでした。 デバッグ用に別プロジェクトでウィンドウを作って、そこでAssembly.LoadFrom → UserControlを貼り付けでデバッグしようとしたらUserControl内のコードでステップ実行ができませんでした。 困りますよね?

少々試行錯誤したところ、MainWindow付きの「wpfアプリケーション」でプロジェクトを作って、後で出力をクラスライブラリに変更する方法を発見。 作成&デバッグはMainWindowに貼り付けてやって、リリース時にdllを作る方法がわかりました。 これでUserControlのデバッグができます。 未確認ですが、カスタムコントロールとかを作るときにも同じようにできそうです。

2011年11月23日水曜日

C# : enum型の変数にint値を入れたときの中身

最初にC#について勉強したときに見たはずのことなんですけど、確認しようとして検索してもすぐにはヒットしなかったのでデバッガで見てみました。

enum TestEnum : int
{
    A = 3,
    B = 5,
    C
}

int t1 = 16;
int t2;
TestEnum t3;       // t3 : 0
t3 = TestEnum.A;   // t3 : A
t2 = (int)t3;      // t2 : 3
t3 = TestEnum.B;   // t3 : B
t2 = (int)t3;      // t2 : 5
t3 = TestEnum.C;   // t3 : C
t2 = (int)t3;      // t2 : 6
t3 = (TestEnum)t1; // t3 : 16
t2 = (int)t3;      // t2 : 16

enumの中身は、ただのintですよねぇ。 それだけ。 検索のキーワードがすぐに思いつかなくて、やってみた方が早いってことは多々ありますよね。

2011年11月22日火曜日

.net framework : フリーソフトの設定ファイルはどこに作るべきか

PCを買い換えてOSがWindowsXPからWindows7に変わったとき、program filesのアクセス権管理が厳格になったことに気付きました。 Vista以降で厳格になったようです。 それについて解説してあるページはいくつかあります。 たとえば、

セキュリティを考慮してこうなったようですね。

2011年11月20日日曜日

inkscapeでファイル保存ダイアログが開かない

たま~に使っているドローソフトのinkscape、いつのまにかファイル保存ダイアログが開かなくなっていました。 環境はこんな感じ。

  • Windows7 64bit home
  • inkscape 0.48.2 r9819
  • BUFFALO RAMDISK ユーティリティー Ver.3.0.0.0

1度保存してファイル名を付けてある画像の場合、上書き保存をするときに保存ダイアログは必要ありません。 そのため、上書き保存だけですんでいる間はこの不具合の影響はなし。 新規画像を作った後に保存しようとして気付きました。

2011年11月18日金曜日

.net framework : マウスカーソルの位置にあるウィンドウの情報を得る

2018/11/08 追記) WindowFromPointが動かないのは引数の間違いでした。 補足情報を投稿しておきます。

以降、過去の投稿に関しては書き換えていません。


前の投稿「wpf : マウスキャプチャとマウスカーソルの変更」の続きです。 コードは前の投稿のMainWindow.xaml.csを見てください。 ここでは「マウスキャプチャ中にマウスが指しているウィンドウの情報(タイトル、ウィンドウクラス、実行ファイル名)を得る」という部分について書きます。 前回書いたとおり躓きました。 「win32sdkの時代の定石コードを探してきてDllImportしてアレコレ」で済むかと思ってたんですが、64bitの壁に阻まれました。

サンプルコードを試した環境はwindows7 64bit版です。 で、その64bit環境で試したら、アプリケーションをx86(32bit)でビルドしたのとx64(64bit)でビルドしたのとで挙動が違ってました。

この部分のコードは次のような手順になっています。

  1. WindowFromPointでマウスが指しているウィンドウを探す。
  2. GetWindowTextでウィンドウのタイトルを得る。
  3. GetClassNameでウィンドウクラスを得る。
  4. プロセス操作で実行ファイル名を得る。

躓いたのは「1:WindowFromPoint」と「4:プロセス操作」です。 構成をx86(32bit)にして動作させると「4:プロセス操作」で64bitプロセスの実行ファイル名が得られませんでした。 構成をx64(64bit)にして動作させると「1:WindowFromPoint」が動いてくれませんでした。

2011年11月17日木曜日

wpf : マウスキャプチャとマウスカーソルの変更

wpfでマウスキャプチャをするサンプルプログラムを作ってみました。 キャプチャするには、

  • MouseLeftButtonDownなどのイベントでCaptureMouse。マウスカーソルをそれっぽいものに変更。
  • MouseLeftButtonUpなどのイベントでReleaseMouseCapture。そのときの座標で目的の処理をする。
  • キャプチャー終了時にLostMouseCaptureイベントが発行されるので、そこでマウスカーソルを戻す。

とやります。 LostMouseCaptureイベントはユーザーの操作でキャプチャーが終了したときも、他の原因(他のウィンドウがアクティブになるなど)でキャプチャーが終了したときにも発行されます。 キャプチャーの結果をもとに行いたい処理はMouseLeftButtonUpイベントのタイミングでやって、LostMouseCaptureイベントではマウスカーソルの切り替えだけ行います。 マウスカーソルの変更は、

mainWindow.Cursor = Cursors.なんたら;

です。 これだけ。

これだけでは何なので、

2011年11月11日金曜日

wpf : スクリーン座標はデバイス座標?

昨日の投稿では、マウスのグローバルフックとwin32sdkのWindowFromPointを使っています。 そのときちょっと気になってたのが座標変換です。

win32sdk上の座標は当然ながらデバイスピクセル単位、wpf上の座標は論理ピクセル単位になっています。 マウスフックの座標やWindowFromPointの座標はデバイスピクセル⇔論理ピクセルの座標変換をしないとズレてしまうはずなんですよね? ですが、昨日投稿したコードは座標変換なしで動いています。

「なにやら勘違いしていたらしい」ってことで、座標がどうなっているのか簡単に調べてみました。

2011年11月10日木曜日

wpf : 他のウィンドウを除外してヒットテスト

昨日の投稿、今読んだら日本語になってないところがあって訳分かりませんなぁ。 まぁ、書き直すのは面倒なのでコードを読んで察してください。 今回の投稿はその続きで、MainWindowの表示中の領域にマウスカーソルがある場合反応して、他のウィンドウの上にマウスカーソルがある場合除外するというヒットテストのコードを作成します。

昨日、「これやったら、もしかしたら他のウィンドウを除外できるかもしれないね?」ということで挙げた3点を試してみました。

  1. VisualTreeHelper.HitTestを使う。
  2. レンダリング領域やクリッピング領域のようなものが得られるメソッド/プロパティを探す。
  3. win32sdkのWindowFromPointを使ってカーソルが対象ウィンドウ上にあるか確かめる。

1はUIElement.InputHitTestと同じ動作でダメでした。 2のクリッピング領域も用途が違うらしくダメ、レンダリング領域の取得方法は検索で見つかりませんでした。 3のWindowFromPointは成功。 このやり方が最善なのかはわかりませんが、とりあえず3のやり方でヒットテストのコードを書いて整理してみました。

2011年11月9日水曜日

wpf : UIElement.InputHitTestを試したら予想と違った動作

ペンタブレットでペイントソフトを作ったときの事を空想して、wpfのヒットテストを試してみました。 使ったのはUIElement.InputHitTestです。

wpfのマウスイベントは基本的にイベントハンドラを登録したコントロール上にカーソルがあるとき発行されます。 しかしwintabでペンタブレットの入力処理をする場合、イベントにはそういう制限がありません。 アプリケーションがアクティブならカーソルがどこにあってもイベント(メッセージ)が発行されます。 アプリケーションがアクティブでなくても、場合によってはイベントが発行されます。 イベントハンドラで自分でヒットテストをして、対象のコントロール上にカーソルがあるか、イベントを処理するべきかを判断しなければなりません。 今回はそのヒットテスト部分だけ試作しました。

サンプルコードでペンタブを使ってコーディングミスをし、座標がズレてしまったら確認の意味がないので、今回はとりあえずマウスのグローバルフックで試しました。 何かのマウスイベントがあるたびにフックの中でHitTestをして、UIElement.InputHitTestがどのコントロールを返すのか確認します。 これで目的のコントロールを検出できるか確認。

2011年11月8日火曜日

アンケートが難しい時代

ニコニコ動画のネット世論調査を見ました。 なかなか偏った結果ですね。

ニコニコ動画にアクセスするのは若い世代に偏っていると言われています。 参加人数の関係からか、50代以上がひとまとめにされています。 少子高齢化の今、世論調査としての体をなしてないません。

じゃあマスメディアの世論調査はまともか?っていうとそんなことはないです。 未だに電話を使ったRDD方式とかやってるようですしね。 ずっと前から言われている

  • 個人情報保護法が施行されたあたりの時期から、「知らない人からの電話には出ない」人がいる。
  • 携帯しか持ってない人が調査対象に入っているのか不明。

っていう事柄への対策はどうなったんでしょう? 世論調査の電話に出る人は、知らない人からの電話に抵抗が少ない高齢者に偏ってそうです。

2011年11月7日月曜日

GeForce GTX 560とFirefoxの相性問題?解決せず

今使っているPC、Firefoxを使用中にモニタが数秒間真っ暗になる不具合をかかえています。 どうやらGeForce GTX 560とFirefoxの相性問題の模様。 「GeForceのベータ版ドライバ(285.27)でそれを解消できるかもしれない」とインストールしてもだめ。 ブラウザをFirefoxからGoogle Chromeに変更して様子を見ていました。

しばらくChromeを使っていたけど、こちらのブラウザを使っている間は同様の不具合はありませんでした。 これで、自分の中ではGeForceとFirefoxとの相性問題が原因ってことで確定に。

2011年11月4日金曜日

wpf : グローバルフックdllをC#から呼び出す

以前VC++で作った「グローバルフックでランダムな文字列を挿入するプログラム」をwpfでもやってみました。 目的は、

  • 64bit版のdll(VC++で作ったやつを流用)のロードを試す。
  • wpfでタスクトレイアプリの作成を試す。

の2点です。

そういえば、最初の投稿で「C#でのグローバルフックは色々と面倒くさそう」と書きましたが、ここを見るとそうでもないようですね。

dllを作るのとC#だけでやるのに手間の差はさほど無いようです。 けど、まぁいいや。

アプリケーションを起動するとタスクトレイにアイコンが表示されます。 その状態で別のアプリケーションを操作中にショートカットキー(デフォルトでCtrl+Alt+F)を押すとランダムな文字列が挿入されます。 ランダムな文字列は大文字小文字のアルファベットと数字です。 タスクトレイを右クリックすると設定、終了のメニューが出ます。 設定ダイアログはxamlで作成。 ショートカットキーと文字列の長さを変更可能。 「自分でも使うかどうか?」っていう機能を適当に実装しただけなので色々不親切になっています。

2011年11月2日水曜日

wpf : x64でxamlを編集するとデザイナがごねる

前に作った「グローバルフックでランダムな文字列を入力させるdll」、C#から呼び出すのを試してみました。 dllを無駄にx64で作ったのでwpfのテストコードの構成も無駄にx64に。 簡単なコードしか書いてないんですが、わけのわからないエラーが出ました。

エラーが出たのはdllを呼び出す部分ではなくxamlです。 曰く。

  • CLR 名前空間が定義されていません。'clr-namespace' URI が、アセンブリに含まれていない名前空間 'プロジェクト名' を参照しています。

clr-namespaceのまわりは以前作ったコードのコピー&ペーストだし、プロジェクトの名前空間を見つけられないなんていう状況がわかりません。 しばらく足止めをくらいました。

2011年11月1日火曜日

コードを投稿するときに使うサクラエディタのマクロ

ブログにxmlやプログラムのコードをそのまま載せると表示が崩れてしまいます。 崩れないようにするにはちょっとした変換が必要です。

  1. ちゃんと改行されるようにpreタグを使用。
  2. タブ文字をスペースに変換。
  3. &を実体参照で記述(&)
  4. <を実体参照で記述(&lt;)
  5. >を実体参照で記述(&gt;)

他のやり方もありますが、このブログではこんな感じでやっています。 タブ→スペースの変換はやらなくてもブラウザ側で対応されてますが、一応htmlの仕様らしいので変換。 実体参照を変換せずに投稿してもbloggerが変換してくれるっぽい(うろ覚え)ですが、一応自前で変換です。 順番を間違えると、投稿後の文字列の「<」と「>」が「&lt;」や「&gt;」になってしまうので注意。

この手順の変換はよくやるのでサクラエディタのマクロに登録してしまいました。 マクロのコードはコレです。

S_ReplaceAll("\t","    ",14);
S_ReplaceAll("&","&amp;",10);
S_ReplaceAll("<","&lt;",10);
S_ReplaceAll(">","&gt;",10);
S_ReDraw(0);

1回作っておくと便利ですね。

BBSによく投稿する人はタブ文字を全角空白にして、「&」、「<」、「>」を全角に変換するマクロとかを用意しておけば便利かもしれません。 ↑をちょっと替えればすぐ出来ます。

2011年10月28日金曜日

昨日の「VC++でグローバルフック」を書き直し

昨日投稿した「VC++でグローバルフック」のコードがあんまりだったので書き直しました。 「不便に思ったら作り直す」とかって言ってたけどさすがに酷いかと思ったので。 変更点は、

  • コードの整理
  • タスクトレイに入れる
  • キーリピートに反応する

タスクトレイに入れるのは、5年前に自分で書いたコードを参考にして書きました。 アレ? ホントに5年前に作ったんだっけ? もっと前にやったような...

2011年10月27日木曜日

VC++でグローバルフック

後日、コードを書き直しました。

-----------------------------------

ここしばらくwpfを触ってましたが、今日はちょっと思い立ってVC++を使いました。 VC++にしたのはグローバルフックが使いたかったからです。 C#だと色々面倒くさそうだったので、ずっと前にやったことがあるVC++にしてみました。

作ったのは、Ctrl+Shift+Fキーを押すと10桁のランダムな文字列がキー入力される簡単なものです。 このプログラムを立ち上げておいて、別のアプリで作業中で適当な文字列が欲しくなったらCtrl+Shift+Fを押すと、勝手に10文字入力してくれます。 「ちょっとhtmlの書き方を参考にしたいページがいくつかあって一時的に保存したいだけなのに全部index.htmlでした」っていうようなことがあって作成しました。 ファイル名を考えるのも連番を付けるのも面倒くさかったもので...

何回使うのやら。

2011年10月24日月曜日

ブラウザをFirefoxからGoogle Chromeに変更

以前の投稿で「PCの不具合はGeForceとFirefoxとの相性問題が原因かも?」と書きました。 で、そのときGeForceのドライバをベータ版にアップデートして様子を見たんですが、症状は改善しませんでした。

不具合(一瞬モニタが真っ暗になり、すぐに直る)が起こるのは、相変わらずFirefoxを使っているときだけです。 リンクをクリックしたときとタブを閉じたときが多い模様。 でもこれ、完全にFirefoxのせいとも言い切れないんですよね。 別のことが原因だけど、Firefoxを使う機会が多いからたまたまFirefoxの使用中に不具合が起こっているのかもしれません。

ということで、Firefoxが関係しているか調べるために、しばらく別のブラウザを使って様子を見ることにしました。 これで不具合が起きなければ、GeForceとFirefoxとの相性問題が原因で確定ってことにする予定。

2011年10月17日月曜日

wpf : マウスドラッグで画像を回転させる

マウスドラッグで画像を回転させるサンプルコードを作りました。 コードはブログには長いので下の方に載せます。

サンプルに使っている絵は前に投稿したsvg画像をpngにしたやつです。 ってサンプルコードがシンプルすぎてキャプチャーした意味がない...

2011年10月16日日曜日

古いフィルムカメラを捨てた

先日の燃えないゴミの日に、収納の奥に眠っていた古いフィルムカメラを捨てました。 もらい物だったんですが、フィルム代や現像代を出すほど撮りたいものがなく、ほとんど使わずに眠らせていました。 以前収納を整理したときに要らない物はまとめておいたんですよね。 それの中にカメラも含まれてました。

20年くらい前は「朝飯を写真に撮って記録に残す」のにもそれなりにお金がかかったんですよね。 今では考えられないです。

カメラの中にはフィルムが残ってました。 110フィルムって言うのかな? 何が写っているか全く覚えてません。 しかし、とっておく必要があるような物が写っているハズもなく。

フィルムのカートリッジを壊して中身を取り出し、感光させてから捨てました。 今考えたら、たいしたものが写っているわけじゃないんだから、そこまでしなくても良かったんですよね。 一般人が撮った普通の写真で何か起きるわけがないんですから。 万が一それを拾って現像するヤツがいたとして、10年以上前の知らない人や知らない景色が刷り上ったのを見て何かするってのは考えられないです。 アナログフィルムに対しても「コンピュータの個人情報はしっかり守ろう」みたいな風潮に合わせた行動になってしまいました。

2011年10月14日金曜日

オシャレではないパスタ

レトルトのパスタを食べました。 キユーピーパスタ倶楽部のツナクリームソースです。

なんかおかしいです。 安売りの商品を買ったとはいえパスタはパスタ、普段の食事よりはほんの少しはオシャレになる要素があるはず。 しかし、私の食べたものにはそういう要素は一切ありませんでした。

2011年10月9日日曜日

故人の携帯電話の解約

先日、親戚のお葬式に行ってきました。 式が終了した後、故人の携帯電話の解約手続きを頼まれました。

故人が使っていたのは、NTTドコモのらくらくホンでした。 故人宅の近くでドコモショップを探したところ、交通の要所から離れたところにしか店がありません。 ついでに立ち寄るような場所にはありませんでした。 そこで、持ち帰って自宅近くのドコモショップで解約をすることにしました。

故人の携帯電話の解約に必要なものは次の3つでした。

  1. 解約する携帯電話
  2. 手続きをする人物の身分証明書
  3. 死亡が確認できる書類

3の書類は公的なものである必要はありません。 私の場合は会葬礼状を持っていったら受け付けてもらえました。 また、普通に解約するときには必要になる解約金は発生しませんでした。

解約できるドコモショップはそれなりに設備があるところだけかもしれません。 デパートや家電量販店などにテナントで入っているだけの店ではダメかも。

自分用の携帯電話を持ったことも無いのに解約手続きだけ体験してしまいました。 解約後の携帯は持ち帰りです。 電波が使えないらくらくホンとはいえ、カメラや目覚ましは使えるかな?

2011年10月5日水曜日

4Kのテレビが出始めた

東芝が4Kのテレビを発表しましたね。

テレビは高画質かどうかなんて気にしないし映画も見ないんで、4Kのテレビなんてどうでもいいです。 立体視も不要です。 しかし、パソコンのモニタは早く4Kや8Kになって欲しいですね。

なぜかっていうと、PCで表示されるフォントに不満があるから。 比較的最近作られたメイリオフォントでも、可読性を考慮してデザインされています。 可読性っていうのはつまり「ドットにあっているか?」を考えたということです。 逆に言えば、ドットにあっていないフォントは可読性が低いということになります。 例えばテキストエディタなどのフォントを明朝体に変えると、妙なアンチエイリアスがかかって読みにくくなります。

モニタとユーザーの距離が近いPCの場合はこれが結構気になります。 ニュースサイトとかの文章を好きなフォントで読むには、20インチのモニタで少なくとも4Kは必要なんじゃないでしょうか? 8Kあれば紙の本と同じくらいになるんでしたっけ? うろ覚えですが。

今回発表された4Kは高級テレビってことで、PC用モニタで4Kが普及するのはまだまだ先になりそうです。 PC用モニタの4Kモニタ、早く出てくれないですかね? 4Kにしたら16bitハイカラーしか映らないとか8bitインデックスしか映らないとかでも良いから...

って無理か、ニッチ過ぎる。

wpf : PathのDataのミニ言語をcsで記述

wpfのPathはさまざまな線を描けるようになっています。 その分扱うデータも複雑です。 前の投稿でもPolyBezierSegment、PathFigure、PathSegmentCollection、PathGeometryなどを組み合わせてやっと一連のベジェ曲線を描くことができました。

xamlで描くときは

<Path Stroke="Black" Data="M 200.0,200.0 C 100,200 200,400 300,100" />

のようにDataを書くだけで良いんですよね。 Data内の数字や記号の並びのことを、MSDNライブラリでは「ミニ言語」と表現されていました。

C#のコード上でこのミニ言語からDataを作る方法、なんか在るはずなのに前の投稿のネタを書いたときには見つかりませんでした。

2011年10月4日火曜日

wpf : 複数の点を通る滑らかな曲線を描く

昨日の続きです。 複数の点を通る滑らかな曲線を描くプログラムを作りました。

サンプルプログラムをキャプチャーするとこんな感じ。

コードは長いので、今回も下の方に載せます。

2011年10月3日月曜日

wpf : 3点を通る曲線をベジェ曲線を組み合わせて作る

マウスドラッグのイベントで通知された点をつなぐ滑らかな曲線を得る。 ペイントソフトを作るとに一番最初に必要となるコードです。 「どうやってるんだろう?」と気になって検索してみたんですが、そのものズバリの解説はありませんでした。

「gimpのコード読め」っていうのが見つかった中での真っ当な意見ですね。 実用的なものを作ろういうならそうするしか無いのかもしれませんが、そこまでやる必要性も根性もなし。 まぁとりあえず自分の持っている知識でそれっぽいコードを書いてみることにしました。

まずは3点を通る曲線を求めるコードに挑戦。 普通はスプライン曲線を使うらしいんですが、「手持ちの知識で」と言うことでベジェ曲線を求めました。 wpfで適当に作ったら意外と時間がかかりました。 こういう算数を使うコードって深夜の思考力がないときに作ったらダメですね。

コードは長ったらしいので後の方に載せるとして、サンプルプログラムをキャプチャーした画像はこんな感じです。

2011年10月2日日曜日

水道の蛇口の三角パッキンを交換

水道の蛇口の三角パッキンを交換しました。 以前別のパッキンを交換したときはかなり時間がかかったけど、今回はすんなりできました。 4つ交換して20分くらいかな?

↓のサイトを参考に交換しました。

2箇所水が滴ってたんですよね。 台所のお湯の蛇口と風呂場の水の蛇口。 あれこれ考えるのが面倒だったので漏れてない蛇口のパッキンも交換したんですが、漏れた蛇口のパッキンと漏れてない蛇口のパッキンを比べて見ても何がどう劣化して水が漏れたのか分かりませんでした。

まぁいいか、無事交換できたんだし。

2011年9月25日日曜日

firefoxの起動を確かめるソフトをまた使うことに

以前、firefoxの起動を確かめるソフトをwin32sdkで作成しました。 古いWindowsXPのPCを使っていたときの話です。 2ヶ月前にWindows7のPCを買って、Firefoxの起動はとても早くなりました。 もうそのソフトは不要だと思っていました。

しかし、しばらく使っているとFirefoxはどんどん起動が遅くなっていきます。 いったいどうなっているんでしょうね? 結局起動確認用のソフトをまた引っ張り出してくるハメに。

前のPCで使っていたソフトをそのままFirefoxのフォルダにコピーすればいいと思っていたら、セキュリティーの警告がでました。 そうだった。 Windows7ではProgram Filesにコピーするとそうなるんでしたよね。 警告を無視してコピーしても、毎回起動するたびに警告が出るんでしたっけ? ホントに警告が出るかはうろ覚えです。 それを確認するのもすぐだけど、コンパイルし直すのもすぐだなぁ。

GeForce GTX 560のベータ版グラフィックドライバをインストール

今年の夏の、本格的に暑くなってきたころからPCにいくつかの不調が出てました。

このとき発生したモニタのトラブル(一瞬モニタが真っ暗になり、すぐに直る)、まだ直っていません。 当時は暑さのせいだと思ってましたが、涼しくなった今でも起きるって事は原因は別ですよね? そういえば、ちょうどそのころグラフィックドライバをアップデートした記憶が...

不具合が起こるのは数日に1回、Firefoxを使っているときだけでした。 Firefoxが悪いんですかね? なら、待ってても直してもらえないような気がするなぁ。 どうせ一瞬で直るし、そのまま騙し騙し使おうかな? グラフィックドライバを1つ前のやつに戻して様子見ようかな?

などと考えながら対策がないか検索してみると、次のような記事を発見。

そこには「GeForce 500シリーズ搭載環境でFirefoxを利用しているとき, GPUの消費電力が不必要に変動する問題」との記述が。 これが原因なんでしょうか?

ベータ版ということでインストールするのはちょっと抵抗があります。 しかし、今使っているリリース版にはバグがあるかもしれないんですよね? バグがあるかもしれないリリース版とバグが直されたかもしれないベータ版...

ちょっと考えて、ベータ版を入れてみることにしました。 これでしばらく様子見です。

2011年9月23日金曜日

ファイル解凍でファイルが消える

2ヶ月ほど前までWindowsXPのPCを使っていて、今はWindows7の新PCを使っています。 XPまではファイラーはエクスプローラで十分でした。 しかしWindows7のエクスプローラは使いにくいです。 フリーのファイラーを使ってます。

で、フリーのファイラーで作業中に結構ファイルが消えて困ってたんですよね。 完全に消えたわけじゃなくて、移動やコピーに失敗しているような感じでした。 なので実害はなかったのですが、しばらくどういうときに失敗するか分からなかったので戸惑ってました。 作業をやり直さなければならないので時間はかかるし、なにより気味が悪かったです。

2011年9月21日水曜日

カラスとマヨネーズ

今日、街を歩いていたらカラスがゴミステーション近くでマヨネーズのパッケージを咥えていました。 中身はあまり残っていなかったけど、「普通はもうちょっと使うだろ?」ってくらいは残ってました。 カラスは脂質が好きらしいので、カラスにとってはご馳走かもしれませんね。

パッケージはそこそこのサイズです。 4~500gくらいじゃないかな? 「それを咥えたままでは飛べないだろ? その場で食うのかな?」と思っていたら、咥えて飛びました。 意外とがんばります。 で、長くは飛ばずに近くの民家の木の上に...

キレイに手入れされた木でした。 何の木かはよく見てなかったけど、松の盆栽のように葉っぱの塊がいくつかテーブル状に刈り込まれています。 その一番上の塊に、マヨネーズのゴミを咥えたカラスが着地。

他人の庭をジロジロ見るものじゃないと思ったので、私はそのまま立ち去りましたが、マヨネーズのゴミ、どうなったんでしょうね? カラスが他の場所に持っていったんならいいけど、その場に残されたとしたら、その家の人が手入れをするときに「なぜか木の上にゴミが!?」ってことに。 ちょっとそういう場面を見てみたい気もします。

なんだかんだ言って汚いです。 ゴミはちゃんと出さないとダメだなぁ。

2011年9月16日金曜日

ビートとビーツの違いはテンサイとテーブル

最近テレビを見るとビーツという名前の野菜を何度か見かけました。 「ビートなら知っているんだけど、ビーツって何だろう?」と見ていると根菜でした。 なんか、ビーツとビートは同じ種類の野菜のようですね。 wikipediaで調べてみたら、ビーツはテーブルビートにあたるようです。 ビートはテンサイ(甜菜、シュガービート)のことですね。

ビートは甜菜の文字「舌偏に甘い」を見て分かるとおり、砂糖の原料です。 料理には向かず、砂糖を作るためだけに生産されているようです。 一般には流通していません。 北海道を中心に大量に作られています。 砂糖の原料といえばサトウキビしか知らない人も多いかとおもいますが、テンサイの方がシェアは上です。 wikipediaを見るとテンサイの項目では「テンサイから作られた砂糖は甜菜糖とよばれ、国内原料による日本の砂糖生産量の約75%、日本における砂糖消費量の25%を占める。」、砂糖の項目では「砂糖の日本国内消費・生産は、1995~2004年度の10年間平均値(1995年10月~2005年9月)では、国内総需要は年230万トン(国産36%:輸入64%)、国産量は年83万トン(テンサイ約80%:サトウキビ約20%)である。」とあります。 参考文献の違いからかちょっと数字はぶれてますが、日本でテンサイ糖が日常的に食べられているのが分かりますね。

2011年9月13日火曜日

PS3 : ストリートファイター3 3rd Strikeの体験版をプレイ

昔懐かしいゲーム「ストリートファイター3 3rd Strike」の体験版がPlayStationStoreにあったのでやってみました。 どうやら今風のネットワーク対戦機能をつけた移植版らしいです。 まぁ、格闘ゲームは下手だしネットワーク対戦もやる気がないので、ちょっと懐かしむためだけにプレイ。 このゲームは「上級者以外お断り」みたいな雰囲気があるので買うのはないかなぁ。

やってみると、絵がちょっとにじんでいて残念な感じです。 昔のアーケード版の絵を使っているっぽいので仕方がないのかな?

2011年9月6日火曜日

wpf : ComboBoxにEnumをバインドして別の文字列を割り当てる

ComboBoxにEnumをバインドして別の文字列を割り当てる方法を書きます。 参考にしたのはこちらの、一般的なクラスをComboBoxの項目に登録する方法です。

Enumだけを対象にするなら違うやり方もあるようです。

以降、最初に見つけたやり方を元にしたコードについて説明します。

Enumとそれをプロパティとして持ったクラスはこんな感じ。

2011年8月26日金曜日

wpf : ディスプレイの解像度を調べる

wpfのライブラリをちょっと調べたところ、ディスプレイの解像度を調べる方法はみつかりませんでした。 通常の、.NET Frameworkのwpfじゃない部分を使って解像度を調べます。 MainWindowがあるディスプレイの解像度を調べるには、

WindowInteropHelper wih = new WindowInteropHelper(App.Current.MainWindow);
System.Windows.Forms.Screen screen = System.Windows.Forms.Screen.FromHandle(wih.Handle);
System.Drawing.Rectangle bounds = screen.Bounds;

System.Windows.FormsとSystem.Drawingの参照が必要です。 ここで使っているRectangleはwpfのシェイプではないので注意。 名前が衝突しないようにusingを使用せずに↑のように名前空間ごと全部書くか、

using DNETDrawing = System.Drawing;
...
DNETDrawing.Rectangle bounds = screen.Bounds;

などのように書きましょう。

2011年8月25日木曜日

wpf : 以前に表示されていないWindowにOwnerプロパティを設定することはできません

wpfに次のような例外メッセージがあります。

  • 以前に表示されていないWindowにOwnerプロパティを設定することはできません。

InvalidOperationExceptionのメッセージです。 こんなコードで再現できます。

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        Window w = new Window();
        w.Owner = this;
        w.Show();
    }
}

2011年8月24日水曜日

オーディオ分配ケーブルと音量調節でスピーカとヘッドホンを使い分けれた

ちょっと前にPCで音を聞くとき、ソフトウェアでスピーカとヘッドホンを切り替える方法を投稿しました。 その投稿でオーディオ切り替え機器についてもふれています。

切り替える方法を調べたのは、スピーカで大きな音を出すと近所迷惑になるので、大きめの音で聴きたいとき=ヘッドホン、普段=スピーカと使い分けるためです。

オーディオ切り替え機器、立ち寄った店で探してみたんですけど売ってません。 今まで家電量販店3件と、その他数店をまわってみたけど見つかりませんでした。 こりゃ近場で買うの無理かな? 1つ700円くらいの商品なのでアマゾンで買うのもバカらしい気がします。 当面、切り替え器はあきらめることにしました。

そういえば、ヨドバシで音量調節が付いたオーディオ延長ケーブルは売っていました。 これと分配ケーブルを組み合わせるしかないかな?

2011年8月23日火曜日

wpf : 論理ピクセル座標ではなくデバイス座標を使う

wpfは色々なデバイスでできるだけレイアウトが崩れないように論理ピクセル座標が標準になっています。 デバイス座標を使うには論理ピクセル座標 ⇔ デバイス座標の変換が必要になります。

dpiを使って変換するコードは検索するといくつか見つかります。 基準をdpi=96と決めうちしているものが多いようです。 それがいつまでも通用するという保障はありません。 変換はwpfに任せたほうがよいでしょう。 (wpf内部でも固定値を使ってそうですが、それでも自前でコードをチビチビ書くよりマシかと。)

試した環境は、

  • Windows7 Home Premium 64bit
  • Visual C# 2010 Express (x86プラットフォーム)

変換のコードはこんな感じです。

2011年8月21日日曜日

Visual C#でAny CPUはダメなんだそうで

2014/07/03 追記) Visual Studio 2012 Expressだと「プロジェクトのプロパティ - ビルド」でプラットフォームターゲットを Any CPU にすると、すぐ下の「32ビットの優先」を選ぶことができるようになっています。それをふまえて、昔の情報として読んでください。


Visual C# 2010 Expressを使い始めてから1~2ヶ月経ちました。 で、使い始めたころから気になっていたけど放置していたこと、「x86」について調べてみました。 ここでいうx86っていうのはプラットフォームのことです。 Visual C# 2010 Expressでは次のプラットフォームを対象にした実行ファイルを作成できます。

  • x86
  • Any CPU
  • Itanium
  • x64

64bit版のOSを使っていたとしても、Visual C#のデフォルトはx86です。 作ったx86版のアプリケーションを実行しタスクマネージャでプロセスを見ると*32が付いているので確認できます。 x86以外のプラットフォームを選択するには構成マネージャを開いてプラットフォームの新規作成をしなければなりません。 ちょいと面倒です。

wpf : Imageをピクセルスナップさせるプロパティはあった

前の投稿、「wpf : WriteableBitmapをピクセルスナップさせて等倍表示 」にあたる機能は標準のプロパティにありました。 UseLayoutRoundingプロパティです。

<Image Name="mainImage" UseLayoutRounding="True" Stretch="None"/>

と書けば自前コードでのピクセルスナップは必要ありませんでした。 見逃してた。 車輪の再発明でお恥ずかしい限りです。

ただ、完全に無駄足だったわけではないかもしれません。 こちらのブログに「RenderTransformとLayoutTransformの違いを見るに,パフォーマンス的には恐らくSnapToDevicePixelsが有利,ということになるんでしょうか・・・?」との記述があります。

「パフォーマンス的には」ってところを調べるのは私には荷が重いですね。 ホントにそうか確認するのは必要に迫られたとき、つまりはパフォーマンス的にギリギリのソフトを作ったときにだけなんだろうけど、そんなソフト作ることはなさそうです。

そんなこんなで、部分的にでも前の投稿のコードが要る人が出てくる可能性はあるので、前の投稿は残しておきますか。

2011年8月17日水曜日

wpf : WriteableBitmapをピクセルスナップさせて等倍表示

後日、追加情報を書きました。

-----------------------------------------------------

自分の環境でちょこっと試しただけなので汎用性については全く調べてないんですが、抱えてても仕方がないのでとりあえず投稿します。

wpfは座標が論理ピクセル単位です。 画像やシェイプをキリのいい座標に置いたつもりでも、実行環境のdpiしだいではズレて配置 → アンチエイリアスされにじんだ表示になってしまいます。 普通のアプリケーションならそれでも良いんでしょうけど、画像処理のソフトなど、デバイスピクセルにスナップさせないと使い物にならないものもあります。 そんなソフトを作るときのために、画像(System.Windows.Controls.Image)をピクセルスナップさせて表示する方法を探してみました。

手順はこんな感じです。

  1. Imageコントロールの左上のレンダリング座標をデバイスピクセルにスナップさせる。
  2. Imageコントロールのサイズをデバイスピクセルにあわせて調整する。

SnapsToDevicePixelsが効かないようなのでこういう手順になります。

2011年8月11日木曜日

扇風機をPCに

最近、暑いですよね。 その暑さのせい?で買ったばかりのPCが不調です。 具体的には、

  • FireFoxでリンクをクリックすると落ちる。
  • 一瞬モニタが真っ暗になり、すぐに直る。 そして「一時的にグラフィックボードが応答しませんでしたが直りました」のようなメッセージが。
  • Windows起動前に文字化けしたフォルダ名がずらずらと表示される。 なんか、絶不調なHDDにCHKDSKをかけたときの表示と似てて不吉。

ということが起こりました。

室温を見たら32度です。 前のXPマシンはこのくらいでも問題なかったんですけどね。 一時的なものであってほしいもんです。

室温30度くらいのときは全く問題なく動いてました。 ちょっと冷やせば普通に動きそうです。 というわけで収納から小型扇風機を取り出してPCに送風。 PCの吸気口を狙ってみました。

それで、今のところは無事に動いています。 でもこれ以上暑くなったらPCの使用を控えなくてはならなくなるかも。 今シーズンは扇風機使わない予定だったのになぁ。

エアコン? そんなもんないよ。

2011年8月10日水曜日

PCに接続したスピーカとヘッドホンをソフトウェアで切り替える

我が家は賃貸マンションで壁が薄いので夜中に大きな音を出すのは気が引けます。 夜中にPCでゲームをやったり動画配信を見たり音楽を聞いたりするときはヘッドホンを使いたいですよね。 しかし、ヘッドホンのミニジャックって抜き差を繰り返すと意外とすぐに壊れてしまいます。 今までは仕方なく、スピーカの音を小さくして我慢していました。 「できればつなぎっぱなしで切り替えれるようにしたい」と思って探してみたら、こんな商品がありました。

今まで家電量販店でなんとなく探していて見つからなかったけど、やっぱりあるんですね。 機会があったら売ってそうな店をまわって探してみましょう。

で、それがあったら申し分ないんですが、見つかるまでの間の一時しのぎにソフトウェア側の出力切り替え方法を探してみました。 テレビとか安いオーディオ機器とかだとヘッドホンを接続したらどうやってもヘッドホン優先ですが、PCならなんとかなるんじゃないかと。 PCの設定項目をポチポチ触っていたらアッサリ見つかりました。 以下、やり方のメモを書いておきます。

とりあえずできた環境は、

  • Windows7 home
  • Realtek High Definition Audio

2011年8月7日日曜日

wpfでWinTab.NETを使う

前にWindowsXPでWinTab.NETを使うサンプルを書きました。

今回はそれと同じことをwpfでやってみました。 後者の「ペンタブを縦置き...」と同等のコードです。 環境は、

  • Windows7 Home Premium 64bit
  • Visual C# 2010 Express
  • WinTab.NET 1.6.1

2011年8月6日土曜日

wpf 設定ダイアログの作り方

wpfで設定ダイアログを作る方法を書きます。 まだwpfに触れて時間が短いので足りないところもあるかもしれません。 一応動いているっていう程度のモノですが参考にしてください。

試した環境は次のとおり。

  • Windows7 Home Premium 64bit
  • Visual C# 2010 Express

2011年7月31日日曜日

bloggerに投稿したインラインSVG画像をIE9でも表示

1年前、ブログにインラインSVGの画像を投稿しました。 でもそのころはWindowsXPのPCを使っていて、開発版のIE9は使うことができなかったんですよね。 以降、1ヶ月ほど前にWindows7のPCを入手するまで投稿したSVG画像がIE9で見れるかどうかチェックしていませんでした。

で、実は新PCを入手してすぐIE9で見れるか確認したんですよ。 しかしそのときは表示できませんでした。 ホントはすぐに表示する方法を調べるべきだったんですが、放置してました。 えぇ、放置しましたとも。

で、この週末でちょっとだけ調べたら簡単に表示できることが判明。

2011年7月24日日曜日

.NET Framework XmlSerializerでコレクションを読み書きするときの注意

XmlSerializerでコレクションを持ったクラスをDeserializeしたときにちょっとだけハマったのでメモ。 なんか、プログラムを実行するたびにシリアライズで出力したxmlファイルが大きくなるんですよ。 xmlファイルを見たら、コレクションの中に同じ内容がいくつも追加されていました。 「これはどういうことだ?」と次のようなテストコードを書いてみました。

2011年7月18日月曜日

wpf RoutedUICommandのショートカットキーを変更した後、メニューの表示に反映させる

前回に続き、WPFでコンテキストメニューを使ったプログラムを組んでたときのお話。 MenuItemにRoutedUICommandを登録してショートカットキーを使えるようにしていました。 で、アプリケーション実行中にRoutedUICommandのInputGesturesを設定してショートカットキーを変更しました。 「それでコンテキストメニューのショートカットキーの表示も更新されるかな?」と思ったら反映されず。

色々試したところ、MenuItem.Commandに1度nullを設定し、変更後のRoutedUICommandを設定しなおすと反映されました。 完全に一時しのぎなやり方ですね。 まぁとりあえず、コンテキストメニュー全体の表示は次のようなコードで更新できました。

wpf RoutedUICommandのKeyGestureで修飾キーがいる/いらない

WPFでコンテキストメニューを使ったプログラムを組んでたときのお話。 MenuItemにRoutedUICommandを登録してショートカットキーを使えるようにしていました。 で、アプリケーション実行中にショートカットキーを変更しようと次のようなコードを書きました。

public readonly static RoutedUICommand FooCommand;
...
void bar_function()
{
    FooCommand.InputGestures.Clear();
    FooCommand.InputGestures.Add(new KeyGesture(Key.A) );
}

Addのところで例外発生です。 どうやらCtrlなどの修飾キーなしでRoutedUICommandにKeyGestureを追加したら例外が発生する仕様らしいですね。 A-Z、数字、記号など押して文字が出る普通のキーは修飾キーとセットで登録しないとなりません。

wpfでアプリケーションを作る場合、ショートカットキーのカスタマイズを実装するには注意する必要があるようです。 Ctrl+Aとかではなく、AキーだけでショートカットにしたいときはRoutedUICommandは使えません。 そういうときは独自にキーイベントを処理するコードを書くことになります。 まぁ、ゲームとかを除くと「Ctrlと一緒なんて絶対だめだ」というようなケースはたいてい思考が固まっているだけなので、何が便利か考え直せばRoutedUICommandでOKになると思います。

2011年7月17日日曜日

USB HDDを完全消去

これまで、旧PCのHDDやDVD-RAMメディアを試しに完全消去してきました。

旧PCでバックアップをとるのに使っていたちょいと調子の悪いUSB HDDも、中身を移し終わったので完全消去することにしました。 完全消去する必要はまったくないけど、流れで消去です。 対象のHDDはbuffalo製です。 容量は250GBでUSB2接続。 型番は「HD-H250U2」です。

今回は「wikipedia - データの完全消去」や「@IT - ディスクの内容を完全に消去する」にあるとおり、cipherコマンドでやってみました。 cipherには未使用領域を完全消去する機能(Wスイッチ)があります。 使用中のファイルはそのままです。 ドライブ全体を完全消去したいときは、まず全てのファイルを消して、ドライブ全体を未使用領域にしなければなりません。 ということで、まずはHDDをクイックフォーマット、続いてコマンドプロンプトで「cipher /W:F:」と入力しました。

2011年7月15日金曜日

DVD-RAMを適当に消去

昔バックアップに使っていたDVD-RAMディスク、内容がいらなくなったので消去しました。 でも、エクスプローラでファイルを消しても目録が消されただけでデータ部分は残っているんですよね? 完全消去をする必要はないデータなんですが、興味があったので完全消去の方法を調べてみました。 wikipediaに載ってました。

cipherコマンド? WindowsXP homeには無いようですね。 Windows7 homeにはありました。 でも、他のサイトで調べたら3回も書き込みするらしいです。 そこまでは必要ないなぁ。

他にフリーソフトがないかも探したんですが、途中で面倒になって自分で乱数で埋めたファイルを作ってディスクを埋めることにしました。 殴り書きで作ったjavaのコードはこんな感じです。

2011年7月13日水曜日

ゆうパックのお届け通知が届くのが遅い

先日、郵便局に荷物を持ち込んでゆうパックで送りました。 そのとき局員さんに「お届け通知を郵送しますか? タダですけど。」などと言われたので送ってもらうことにしました。

でもまぁ、ゆうパックってウェブの追跡サービスがあるからハガキのお届け通知は必要なかったんですよね。 結局、ウェブで先方に荷物が着いたのを確認してお届け通知のことは忘れていました。

先方に荷物が着いて、先方からの返送が宅急便で届いてコレで終了。 と思った次の日にお届け通知が届きました。 通知の配達遅いですねぇ。

いや、不手際でないのは分かっているのでクレームではないですが、もうちょっと何とかなりそうじゃないですか? もしかして、お届け通知ハガキは荷物と一緒に配達先近くの集荷場まで行ってるんですかね? 荷物はお届け先に、お届け通知は依頼主住所の集荷場に送っておいて、荷物が届いたのが確認されたら通知も届けるっていうだけだと思っていたんですが?

日立製HDDの静音化失敗

ちょっと前に、バックアップ用にHDD「HITACHI HDS721010CLA332」を買いました。 バックアップ用ということで大量のデータを書き込んだのですが、データ量が多いファイルをコピーしたときだけガリガリと大きな音を立てます。 初期不良なのかそういうものなのか、素人には判別できません。 初期不良があるのをだましだまし使って保障が切れたちょっと後に故障というのが一番痛いパターンですね。 そうではないことを確認するためにネットで調べてみました。 このHDDはややうるさいモデルらしいという事、AAMで静音化できるらしいという事が分かりました。

AAMは「Automatic Acoustic Management」の略で、ハードディスクの音を調節する機能のこと。 静音&速度低下 ⇔ ガリガリ&最高速度 の間で調節ができるようです。

2011年7月12日火曜日

自己流のHDDバックアップの取り方

今のPCには通常利用用のHDD1TBとバックアップ用のHDD1TBの2つを載せています。 バックアップは厳密にガッチリとっているのではなく、フリーソフトで気が向いたときに必要なデータだけコピーしています。 ↓の記事を見ると、RAIDでミラーリングとかにするよりこういうやり方の方がいいみたいですね。

使っているソフトは「BackupF2F」です。 以前はRealSyncを使っていたんですが、なんとなく「BackupF2Fの方がWindows7への対応状況がいいかな?」と思ったので乗り換えました。 結果、あまり変わらなかったのかもしれません。 私は適当に決めたけど、大事なデータをバックアップする人は要確認ですね。

バックアップ元とバックアップ先のフォルダ名を変えておくと、少しだけコピー方向を間違えにくくなります。 例えば、

  • 元 c:\MyData\
  • 先 d:\[backup]MyData\

みたいにすると良いでしょう。 あくまでも目視で確認する機会が増えるだけなので絶対ではないですけどね。

PS3のコントローラをWindows7 64bitで使う

今、PCに変換コネクタ経由でPS1のゲームコントローラを挿しています。 昔格闘ゲームが流行ったときに買ったレバータイプの物です。 前に書いたとおり、落書きするときのアンドゥ用に使っています。

この「レバー」っていうのが良いんですよね。 失敗したときにベシッっと押せます。 手で持つタイプのゲームパッドだととっさに押せません。 しかし、PCでゲームをするときにはレバーだとやりにくいことがあります。 変換コネクタがもう1つあればいいんですが、買うほどの事でもないし...

と、目に入ったのはPS3のコントローラ。 USB接続です。 「挿せば動くんじゃね~か?」とPCに挿してみました。 結果、動かず。

2011年7月11日月曜日

WPF CommandBindingsしたコンテキストメニューをすぐにアクティブにする

趣味で使うためにVisual C# 2010 Expressをインストールしました。 ちょっとwpfを触ってみる予定です。 手始めに、このサイトを参考に簡単な画像表示ソフトを作りました。

コードはこんな感じです。

2011年7月10日日曜日

旧PCのHDDの内容を完全消去

最近PCを買い換えました。 旧PCのHDDはIDE接続で、今のPCには接続できません。 PCを買い換えたときはHDDの接続規格について調べてなかったので、知りませんでした。 バックアップ用のHDDを買うときに下調べして初めて知ったのです。 旧HDD、スワップやちょっとしたストレージに使えると思っていたけど、無理のようですね。 IDE→USBの変換コネクタもあるけど、1TBのHDDが5000円の今、わざわざコネクタを買うのも馬鹿らしいです。 バックアップも済んでいるし、内容を消去してお蔵入りさせることにしました。

ただファイルを消しただけ、フォーマットしただけでは簡単に復元できます。 くだらない個人データはともかく、年賀状用の住所録とかも入っていたし、それは消しておいた方が良さそうですね。 一応完全消去ツールを使いました。 内容消去に使ったツールは、Vectorにあった「DESTROY」です。 ネットで適当に探して目に付いたので選びました。

エアロストリームと埃と空気の流れ

新PC(ツクモのエアロストリーム)が届いてから1週間ちょっと経ちました。 購入したのはミドルタワーケースの製品で、ケースの全面と側面に防塵フィルタが付いています。 1週間でフィルタがどうなったか見てみました。 まずは前面からチェック。

フィルタを覆っているパネルはちょっと外しづらいですね。 でもまぁ、こんなもんか? こちらはたいして汚れてないな、うっすらと埃が付いている程度です。 そんなに頻繁に掃除しなくても良さそうな感じです。 コロコロで埃を取って、掃除機でも軽く吸って掃除終了。

2011年7月9日土曜日

古いDVD-RAMディスクにエラーが

旧PCにはDVD-RAMドライブがありました。 新PCのマルチドライブでもDVD-RAMは読めるはずです。 しかし、「細かい互換性やメディアの劣化で読めなくなるんじゃないか?」と気になってました。 新PCでも読めるか確認です。

最初の1枚を新PCで読んだらエラーが発生。 ちょっと読むのにすごく時間がかかります。 そして結局読み込み失敗。 このディスクはもうダメか...

重要なファイルが入ったディスクじゃなかったけど、RAMってことでもったいない感は拭えません。 そしてDVD-RAMディスクの寿命が思った以上に短いかもしれないのは痛いです。

そういえば、旧PCでは読み込みエラーが発生したDVD-RAMを1回取り出して、もう1度読ませたら普通に読めたことがあったっけ? 試してみたら普通に読めました。 読めたけど、DVD-RAMディスクの信頼性はとことん低下しました。 試したディスクの中身はどうでもいい内容だったけど、取っておきたいデータがDVD-RAMに入っていたら移した方が良さそうです。 HDDが1TB×2(メイン用とバックアップ用)あるので、これから先ディスクを少しずつ整理しながらそちらに移していくことにしましょう。

2011年7月8日金曜日

古~いアナログキャプチャーボードがWindows7で動いた

前のPCにはアナログキャプチャーボードを載せてました。 MonsterTV PH-RMです。 youtubeの投稿もだいたいそれで録りました。 HDMIや地デジが普及している今では古すぎて見劣りしますね。 Windows7でも認識されないでしょう。

と、思ったけどダメモトで新しいPC(Win7、64bit)に挿してみました。 Windows7にログオン後、即認識。 標準のドライバは入りました。 通知には「MonsterTV」の文字が。 もしかして、使える?

MonsterTV付属のインストールディスクを使ってみるとインストールに失敗しました。 ぬか喜びだったのでしょうか? 一応、失敗した部分を無視してインストールを完了させました。

簡易地デジチューナー入手

TVのアナログ放送が終わってから地デジを見るか、見ないか? ちょっと迷ってました。 食事中しか見てなかったのでどっちでも良かったのですが、地デジチューナーのシンプルなやつを入手してしまいました。 コンポジット出力しかない簡易チューナーです。 というわけで地デジは見ます。

今までアナログTVに挿してた同軸ケーブルをチューナーに挿して、チューナーとTVをコンポジットケーブルでつないで接続終了。 これで地デジ化してしまったわけですが、映る番組も画質も変わらないからなんの感慨もわかないなぁ...

と思ったら、画質がずいぶん良くなりました。 どうやら今まで見てたアナログ放送は思いのほか受信状況が悪かったようです。 地デジ化でアナログTVの性能を引き出すことができました。

キーボードでPC起動の設定

前のPCではBIOSで特定の順番にキーボードのキーを押せばPCを起動できるように設定できました。 (たぶんPS/2限定) 前のPCも新しいPCもマザーボードはMSI製です。 なら新しいPCでもできそうですね。

新しいPCのマザーボードはP67A-S40 B3です。 BIOS画面を見てみると、次のような項目がありました。 言語設定[日本語]で見て、

  • [設定]-[拡張項目]-[Wake up Event]-[PS/2キーボードによるS3/S4/S5ステートからのレジューム]

最初はレジュームという単語を見て「スリープや休止状態からしか復帰できないのか」と勘違いしたけど、電源を切った状態からでもホットキーは有効でした。 S3/S4/S5という記号の方を見るべきだったようです。 S5が省電力規格「ACPI」でいうところのシャットダウン=電源OFFの状態なので、S5からレジュームできるということは電源ONできるということ。 その項目で[Hot key]を選択すると設定項目が下に増えるので、そこから[Ctrl-F1]を選択しました。 前のPCでは起動設定は自由にキーを選べたんですが、新しいPCでは選択肢から選ぶだけでした。 まぁ、キーの組み合わせに思い入れはないんでコレでOKです。

PSNの「感謝とおわびのパッケージ」をダウンロード

前の投稿で「すぐ落としてみようか、2~3日は放っておこうか」と言っていたPSNの「感謝とおわびのパッケージ」、結局昨日ダウンロードしました。 ダウンロードしたのは復旧した当日7月6日の夜9時半頃です。 予定していた通り「無限回廊 -序曲-」と「The Last Guy」を入手しました。

「The Last Guy」のダウンロードには時間がかかりましたね。 これはいつもどおりの回線速度なのかちょっと混んでたからなのか? まぁどちらにしても、1時間ほどで無事にダウンロードできました。

ちょっと遊んでみた感じ、「無限回廊 -序曲-」はコツをつかむまで時間がかかりそうです。 コツをつかめないといいゲームかどうか判断できなさそうな雰囲気。 ずっとコツがつかめなかったら結局ダメなゲームという評価になりますが、今のところ食指が動かないのでそうなる可能性も十分ありえます。

「The Last Guy」はダウンロードする前にちょっと調べてそれなりに面白そうだと思っていました。 ちょうどその通りの面白さでした。 1つのマップをクリアするまでの試行錯誤も楽しいし、クリア後にもVIP回収やスコアアタックなどのやりこみ要素があります。 「やりこみ要素がどれくらい深いか?」ってのはまだ分からないんですが、まぁ見た目どおりの深さはあるかなぁ?

無限回廊と違って、こっちはチマチマやっていけばそこそこ楽しめそうです。 ただ、PS3のゲームがFF13とジャストコーズ2しかない私にとっては「PS3の性能を生かしたゲームではない」ってのはちょっと寂しいですね。

さて、これが個人情報流出と釣り合いが取れるかどうか? もちろん、流出した情報で何も無ければ無条件にプラスなんですけどね。 どうなるんでしょ?

2011年7月5日火曜日

PSN完全復旧

いよいよPSNが完全復旧しますね。

Sonyにとってはユーザーやサードパーティとの信頼関係が取り戻せるかの大事なときです。 今のところユーザーが大きな被害にあったという話しは聞かないので、サードパーティの方が切実かもしれません。

サードパーティの中にはPSNのダウンロード販売のみのプロジェクトを抱えている会社が結構います。 そういう会社にとって数ヶ月商売を止められたのは大きいです。 数ヶ月で小ぶりなゲームを作って数百円で売るようなプロジェクトがあったら、ちょうどプロジェクト1つ分ケチがついた状態だったはず。 (そういうのがホントにあったかは未確認ですが) そういうところはもうスマートフォンにシフトしてるかも知れません。 大きなプロジェクトの場合は、発売日からしばらく売れて後は急激に売り上げが落ちるので発売日の設定は重要です。 それにもケチがついてますね。 どうなるのかな? Sony...

バックアップ用のHDDを購入

当初の予定通り、ツクモのポイントで2台目のHDDを購入しました。 用途はバックアップと、1台目のHDDが壊れたときにシステムドライブにするためです。 新PC購入時のポイントは5000Pでした。 それで買えるHDDは限られています。 次の2つで迷いました。

  • WESTERN DIGITAL WD15EARS (1.5TB SATA300)
  • HITACHI HDS721010CLA332 (1TB SATA300)

価格はどちらも5000円弱です。 シリアルATAのケーブルと併せて5000円をちょっと超えるくらいになります。

新PCにはWESTERN DIGITAL WD10EARS (1.0TB SATA300)が載っていました。 その評判をネットで見ると「低速病」の文字があります。 ちょっと気になりますね。

自分で調べた限りでは、低速病の原因というのが分かりませんでした。 どちらもWDにしたら、低速病の原因しだいでは両方のHDDが1度に不具合に見舞われてしまいます。 そうなってしまったら大変なので、容量が多いWD製の方は止めて容量が平均的なHITACHIの方にしました。 あの値段で1.5TBは魅力的だったんですけどね。

RAMディスクを試してみた

数年後を見越して、新調したPCにはメモリーを多めに8GB積んでいます。 しかし、普段は2GB使うことも稀なようです。 そのまま触らないでいるのももったいないのでRAMディスクを試してみました。 使ったのは、

BUFFALO製メモリの促販のために作られたとか。 32bitOSを使っている場合、BUFFALO製メモリを使っているときだけOS管理外の3GB以降の領域をRAMディスクにできます。 64bitOSを使っている場合は制限なしで使えます。 ありがたい。

2011年7月3日日曜日

VirtualBoxとUbuntu

ちょっとLinuxを使う用事があったので古い小型PC(vaio type U)にUbuntuを入れて使っていました。 先日新しいPCを手に入れたので、「vaio type Uより新PCでエミュレートした方が軽いんじゃないか?」と思ってVirtualBoxをインストールしてみました。

ホストPCとなる新PCの環境は、

  • CPU : Intel Core i7-2600
  • メモリ : 8GB
  • グラフィックカード : GeForce GTX 560(1GB)
  • OS : Windows7 home

これに、少し前に落としたVirtualBox 4.0.8をインストールしました。 インストール中の表示は英語です。 「日本語化について調べて出てくるかなぁ?」などと考えてたんですが、本体を起動すると日本語になってました。

新しいPCでLinuxを起動

昨日届いた新PCでLinuxが動くか確認してみました。 試したのは旧PCで使ったことがあるknoppixとUbuntuの2つです。 私がLinuxを使うのは「何かあったとき」だけなのでちょっと不吉だけど、一応チェックです。

knoppix 6.4.4

DVD-Rから起動しました。 新PCのCPUはIntel Core i7なので4コア+ハイパースレッドで、OSから見たら計8コア見えるはずです。 しかし、起動ログではCPUが7つしか表示されません。 「おかしいな?」と思ったけど、完全に起動してからシステムモニタを見ると8つ動いているのが確認できました。 表示の関係でそうなったのでしょうか?

新PCが届いた

旧PCが不調のため新PCを注文してました。 ツクモのエアロストリーム(RA7J-F34/S2)です。 BTOのカスタマイズでメモリだけ追加して8GBにしました。

  • CPU : Intel Core i7-2600
  • メモリ : 8GB
  • ビデオカード : NVIDIA GeForce GTX 560
  • HDD : 1TB(シリアルATA2)
  • 光学ドライブ : DVDスーパーマルチドライブ
  • OS : Windows7 Home Premium 64bit SP1

以前「こんなPCが欲しい」と投稿したのとほぼ同じ構成です。 ビデオカードは新製品が出たのでそれにしました。 前の投稿ではHDD1TB×2(メイン用とバックアップ用)と書いたけど、注文したのは1台だけです。 後でポイントを使ってバックアップ用1TBをもう1台購入する予定。

そのPCが、届きました。 佐川急便が運んできたダンボール箱には高額精密電子機器とかって書いてありました。 日本じゃなかったら確実に盗まれてます。 で、段ボール箱の上の面には大きな丸い跡が...

何が乗せられていたんでしょう? まぁ、何かが乗せられた程度でどうこうなるような物なら商売になってないだろうから気にしない方向で。

以下、新しいPCの設定とかについて書きます。 すごいダラダラの長文になっていて「投稿しない方がいいか?」とも思ったけど、「後で再インストールするハメになったときの備忘録は残した方が良い」ということであげておきます。

2011年6月30日木曜日

空気清浄機つきのPCが欲しい

コストパフォーマンス的にありえないので空想上のお話ですが、空気清浄機つきのPC、あったら欲しいですよね。 空気清浄機つきの掃除機は商品化されています。 エアシスでしたっけ? 掃除機の排気が清浄なわけです。 「掃除機よりもずっと稼働時間が長いPCの排気が清浄になっても良いんじゃないか?」という発想です。

コレを思いついたのは不調のPCのガワを開けたとき、いつも通りホコリがたまっていたのがキッカケです。 BTOのPCはスペック高め、発熱多目の部品を付けている事が多いのでキッチリ空気冷却をしなければなりません。 PC内部に多くの空気が流れる分ホコリもたまりやすく、定期的にガワを開けて掃除するのは必須でしょう。 メーカー製のPCは安定志向で熱に余裕はあると思います。 多少空気冷却の勢いも抑えられており、ホコリのたまり具合も少ないかもしれません。 しかし、ホコリと完全に無縁ではなく、説明書などで「ガワ開けるなオーラ」を出されていたとしても不調になったら開けて掃除した方がいいこともあるでしょう。

2011年6月29日水曜日

攻略メモ発見 DC版ストIII 3rd ヒューゴーでラスボスのギル攻略

古~いバックアップデータを整理してたら以前自分で書いた攻略メモを発見しました。 ドリームキャスト、もうずいぶん前に錆びてたので捨ててしまったんですよね。 ってことで、確認はできませんが、一応投稿しておきます。

DC版ストリートファイターIII 3rd strikeのアーケードモード攻略メモ。 ヒューゴーでラスボスのギルを倒す方法。 多分、難易度デフォルト用。

  • ↓小パンチが届くか届かないかという距離で↓大キック※を出すとなぜか当たる。ガードされても、こちらがガードを固めていれば反撃されないことが多い。
  • 距離が近すぎる場合はおとなしくガードを固めるか、↓小パンチ連打で距離をあけ、↓大キック
  • 距離が遠すぎる場合は警戒しながら歩いて近づく。
  • ↓大キックが当たったらパーソナルアクション。押し続けなくていい。ギルを端に追い詰めてしまったときは自粛。

※ヒップアタックのような技

ダメージソースは↓大キックだけらしいです。 「当たり外れは有るけど、結構な確率で勝てるはず」だそうです。 まったく覚えてない。

2011年6月25日土曜日

Ubuntu11.04のメインメニューの復元

前の投稿のモニタ設定をパネルに追加するとき、メインメニューの項目をちょっとした操作ミスで消してしまいました。

  1. 上のパネルに「メニューバー」の追加。
  2. 「メインメニューとは別物だろう」と勘違いして項目削除。
  3. 実は中身共通で必要な項目がロスト。

これでシステムメニューの中身を消してしまいました。 まだ設定しなければならないことが残っているのに...

メインメニュー以外にランチャを追加したい時は「メニューバー」じゃなくて「引き出し」を選ぶべきだったようです。 で、右クリックで「引き出しへ追加」→「カスタム・アプリケーションのランチャ」を選ぶべきでした。

「なんとか直さないと」ってことで少し調べたけどわからず。 思いついたのが別アカウントを作って、そのデフォルト設定をコピーすることでした。 ということで、端末で適当な一時アカウントをadduserしました。

Ubuntuをインストールしたvaio type Uで外部モニタの設定

vaio type UにUbuntuをインストールした場合、そのままだと外部モニタの設定はできません。 システムの設定にあるモニタ設定ダイアログでも変更できないし、端末でxrandrをしても800x600のdefaultモニタしか見つからない状態です。 せっかくフルHDのモニタがあるんだからなんとか映したいですよね。 800x600だと画面が狭いですし。 で、ネットで設定方法を検索してみるとこんなサイトが見つかりました。

xorg.confを書くといいようです。

2011年6月21日火曜日

PS3のネット接続に使っていたLANケーブルが断線

ここ数日、PS3を立ち上げてもPlayStationNetworkにサインインできない状態が続いていました。 「例の流出騒ぎの影響かなぁ?」と思ってたんですよね。 PlayStationStoreも再開してないですし。

で、昨日、天気予報を見るためだけにPS3を立ち上げました。 携帯を持ってない私にとって、PCより早く起動するPS3のブラウザってこういうときは便利なんですよね。 アレ? 天気予報のページにアクセスできない?

そこでやっとPS3がネットにつながってないことに気づきました。 よ~く確かめてみたらブロードバンドルータのアクセスランプが点いてません。 どうやら断線していたようです。

そういえば、PS3用に使っていたLANケーブル、コネクタのところが変にねじれてグニャッと柔らかくなってたんでした。 換えようか迷って「いつ断線してもおかしくないケーブルだけど、今は使えるからいいや。」とそのまま使ってた気が...

こんなご時勢とはいえなんでもSONYのせいにして申し訳ないです。

とりあえず、収納の奥にあった長~いLANケーブルに取り替えました。 これでネット接続はOK。 そのままだと無駄に長い部分が邪魔ですね。 今度100円ショップに行ったとき、安くてちょうどいい長さのLANケーブルを買わなくては。

2011年6月19日日曜日

Ubuntu11.04でimaximaをインストール

maximaをtexのキレイなレンダリングで使うためのツールimaximaのインストール方法です。 Ubuntu11.04でimaximaを使うにはUbuntuソフトウェアセンターから次のパッケージを入れます。

  1. GNU Emacs 23 / [emacs23] ver. 23.2+1-7ubuntu2
  2. TeX Live : A decent selection of the TeX Live package / [texlive] ver. 2009-11
  3. maxima / [maxima] ver. 5.22.1-9
  4. A computer algebra system -- emacs interface / [maxima-emacs] ver. 5.22.1-9

Ubuntuソフトウェアセンターはメインメニューのアプリケーションにあります。 上の箇条書きは、

  1. ソフトウェアセンター上の名前 / [aptパッケージ名] ver. バージョン

の順に書いてあります。 「ソフトウェアの入手」でaptパッケージ名で検索すれば出てきます。 依存関係とかがよくわからないけど、maxima-emacsは最後にインストールした方が良いかも? 4つのパッケージをインストール後、emacs23を起動してM-x imaximaで使えます。

USBメモリからブートできない、DVDドライブがないPCにUbuntuをインストール

しばらくknoppixを使ってみたんですが、不調なPCと毎回設定が必要なことに耐えられず、使用を断念しました。 代わりにしばらく眠っていたサブPC(vaio type U)にubuntu11.04をインストールしました。 このサブPC、普段は使わないけどちょくちょく出番があります。

環境はWindowsXPとのデュアルブートにします。 メインPCに何かあったときに使うかもしれないのでWindowsはあった方が良い。

以前にもサブPCにLinuxをインストールしようとしたことはあったんですよね。 しかし、外付けDVDドライブを持ってなくて、USBブートもできない、「Linuxを使わなければならない」という強い動機もないということで、やり方が分からず諦めてました。 今回は以前USBメモリブートについて調べたときについでに関係ありそうな情報も手に入ったのでインストールできそうな気配です。 で、強い動機がないのは相変わらずで、あまり下調べをせずに適当にやりました。 そしたらできました。 スマートなやり方ではないでしょうけど、一応備忘録として投稿しておきます。

インストール対象のPCは、

2011年6月15日水曜日

ツクモでBTOマシンのPCケースを見てきた

最近、新しいPCをショップブランドのBTOで買おうってことで色々サイトを見て回ってました。 色々なサイトを参考にしたけど、その中の1つが価格.comのショップ検索です。

なぜかトップページからのたどり方が分からないこのページ、色々探して偶然見つけました。 店の評判へのリンクは色んなところにあるのですが、このページだけ探しにくいところに。 なぜ?

まぁ、ページの探しにくさは置いといて、評判について信じるかどうかは見る人しだいだし、1つのサイトの評判だけで決め付けるのもアレなんで、あくまで参考資料の1つってことで。

2011年6月14日火曜日

USBメモリブートができないマシンでUSBメモリにインストールしたknoppixをブート

DVDブートしたknoppixはディスク読み込みのせいで快適ではありません。 そこで、「USBメモリでブートしたら少しはマシになるかも」と4GBのUSBメモリにインストールしてみました。 容量的にはギリギリ足りるはず。

いろんな設定をした後にインストールしたらその設定ごとUSBに納まってくれるというのをどっかで読んだ気がするけど、どこで読んだんでしたっけ? ソースが思い出せないし、ホントにそうなるのか自信がもてません。 そんな状態で、見切り発車でとりあえず試すことに。

adobe flashとかフォントサイズとかemacsとか、目に付くものだけ設定して...って慣れないLinuxということで時間がかかってしまった。 気を取り直して、USBメモリにknoppixをインストール → 完了。

あれ? knoppix-data.imgのサイズがどうこうとかって聞かれないな。 まぁいいや。 で、起動してみると...

PCが古すぎてUSBブートできない? せっかく時間をかけて設定したのに...

2011年6月10日金曜日

windows版maximaとknoppixに入っているlinux版maxima

PCが不調で買いかえようかとしているこのタイミングに、数式処理システム「maxima」のwindows版をインストールしました。 いやまぁ、このタイミングだからインストールしたって言うのが正しいかな? 今使うアテが1つだけあるんですが、一生に何度も使うソフトではありません。 インストール→削除でレジストリとかにゴミが残るかもしれないので、使わなくなる寸前のPCにインストールしてチャッチャと用を済ませる→新しいPCは汚さないようにする...予定でした。

とりあえずsourceforgeからwindows版バージョン5.24.0をダウンロード、インストールしました。

これ、ホントに公式サイトなのかな? 下の方にあるnewsのところが「April 26, 2009: Maxima 5.18.1.」から更新されてません。 移転したとか? でもwikipediaからリンクされてるし...まぁ、いいか?

それはそっとしておいて、インストールフォルダ/Maxima-5.24.0/wxMaxima/wxmaxima.exeを起動。 UIは日本語のようですね。 ありがたいです。

2011年6月9日木曜日

補修シートで網戸の穴を修繕

網戸に穴が開いていたので補修しました。 使ったのは100円ショップダイソーの「アミ戸なおシート」です。 この補修シートは2枚1セットになっていて、片方は無地、片方には網の目が印刷されています。 アミ戸の内側と外側から挟むように貼って使います。

他社の同様の製品には「アミの柄が印刷されているので補修後が目立ちません」と書かれています。 しかし、ダイソーの補修シートにはそのような売り文句は書かれていません。 で、補修後はそこそこ目立ちます。

まぁ、人様に見られるような所に開いた穴では無いのでいいんですけどね。 他社の製品は目立たないけどダイソーのは安物だから目立つのか、他者のも同様に目立つのかは気になるところです。

2011年6月8日水曜日

knoppix6.4.4日本語版でflashをインストールするメモ

同じネタはネット上に多数あります。 しかし、バージョン情報が書かれていないモノが多いようです。 バージョンによって微妙に違うので、忘備録を兼ねて書いておきます。 確認したバージョンは、

  • knoppix 6.4.4 日本語版
  • IceWeasel 3.6.13
  • flash player 10.3.181.22

全部GUIで操作します。 CUIは使いませんでした。 手順は、

  1. adobeからinstall_flash_player_10_linux.tar.gzをダウンロード。(tar.gz以外のパッケージと間違えないように)
  2. install_flash_player_10_linux.tar.gzの中にあるlibflashplayer.soを/home/knoppixなどに解凍しておく。
  3. 標準のファイルマネージャ「PCManFM」で/usr/lib/mozilla/pluginsを開く。
  4. PCManFMのツールメニューから「rootユーザとして現在のフォルダを開く(R)」を選択。 注意喚起のダイアログ表示→「英語で、パスワードの問い合わせなしでroot権限にしました」→注意しながら操作。
  5. /home/knoppixから/usr/lib/mozilla/pluginsにlibflashplayer.soをコピー。
  6. rootで操作した/usr/lib/mozilla/pluginsフォルダを忘れずに閉じる。
  7. IceWeaselをリブート。

これでflashが使えます。 ファイルマネージャ「PCManFM」は左下のアイコンが並んでいるところにあるヤツです。 それと、knoppixはディストリビュータが配布したROMからブートするという性質上、root権限を得るときにパスワードが不要になっています。 そのため「rootユーザとして...」のところで注意喚起されるようです。

knoppixの起動確認

昨日、PCの起動で不具合がありました。 なにやらHDDがマズい状況のようです。 「今日はどうかな?」ということでPCの電源を付けてみたらちゃんと動きました。 一時的な不具合かとやや安心して、しかし釈然としないまま普段見ているサイトを回っていると、いきなり青画面→リセット。

実は、青画面→リセットというのは最近よくあることでした。 最近のパターンはWindowsXP起動→ブラウザを立ち上げてニュースサイトを読む→青画面→リセットで、なぜか起動後数分にしか青くなってなかったんですよね。 昨日はそれと様子が違ったし、今日のは起動してだいぶ経ってからのリセットということで、それもいつもと様子が違います。 昨日の不具合以降、PCが寿命に近づいた感が漂ってます。 もう8年物だしなぁ

2011年6月7日火曜日

WindowsXPの起動時にchkdskがコケる

最近「PCの調子も悪くなってきたし、そろそろ買いかえようか?」と考えていました。 そんなタイミングでPCの電源をつけると、windows起動中に青画面が現れてしまいました。 そして勝手にリセット。 次に起動したときにはセーフモードの選択メニューが表示されてしまいました。

ここまではよくある話。 いつものように通常起動を選択すると、windowsのロゴ画面でまた青画面に。 そして勝手にリセットです。

いつもなら多少の不具合の後でも起動できるのに、これはマズい。 何度か通常起動を試してみたけど、ダメでした。 仕方が無いのでWindowsXPのディスクを引っ張り出して、修復セットアップを試すことに。 えーと、administratorのパスワードは...覚えてない!?

修復セットアップは断念です。 「どうしたらいいんだ?」と途方にくれて惰性で再起動→通常起動したら、windowsのロゴ画面からchkdskの画面に変化するように。 なぜ?

まぁ何はともあれ、状況が変わりました。 chkdskが済めば普通に立ち上がるようになるかな?

2011年6月4日土曜日

1秒間に何回sqrtを出来るか?

前に書いた「アンチエイリアスがかかった円を高速描画するアルゴリズム」では、「平方根sqrtは重い処理だから前もってやっておきましょう」みたいなことを書きました。 でも、どれだけ重いかは確認してなかったんですよね。 ということで、厳密じゃないですが簡単なテストコードを作ってざっとsqrtの重さを確認してみました。

環境や開発ツールは、

  • Windows XP home edition SP3
  • CPU Pentium4 2.6c
  • Borland C++ 5.5.1

懐かしすぎるコンパイラbcc32再び登場。 Visual C#を立ち上げるのが面倒だったもので。 csc.exeでも良かったかな? まぁ、いいや。

テストコードはこんな感じです。

2011年6月2日木曜日

カラーコードの#00ff00はgreenじゃなかった

私は普段、簡単にhtmlのことを調べるのに「HTMLクイックリファレンス」というサイトを見ています。 その中にあるカラーコードの説明ページで今日初めて気づいたことが。 それは「カラーコードの#00ff00のカラーネーム表記はlime」という事です。

カラーコードは色を光の三原色(Red、Green、Blue)の明度2桁(16進数)ずつで表したものです。 よく使う色は、数字で指定する以外にも英語のカラーネームで指定することができます。 で、そのカラーコードとカラーネームの対応は、

  • Rが最大で他の色の明度が0の#ff0000はred
  • Gが最大で他の色の明度が0の#00ff00はgreen
  • Bが最大で他の色の明度が0の#0000ffはblue

だと思い込んでいました。 でもホントは違いましたね。

  • #00ff00 == lime

でした。

  • #008000 == green

です。 普通の人から見たら「何で気づかなかったんだ?」っていうような事ですよね? しょうもない思い込みです。 調べごとをするとき、漠然としすぎてたか...

オデキの手術跡、抜糸

オデキ摘出手術から1週間が経ち、抜糸の日になりました。 病院に行くとまず、オデキの正体から説明されました。 「静脈の血栓」だそうです。

血栓というと、テレビなどではマズい症状のときしか出てこない言葉ですよね? しかし、体をぶつけたときとかに出来ることもあるようです。 私の場合は皮下脂肪の細い血管に出来てそのまま大きくなったので、大事になるようなネタではなかったみたい。 お医者の反応もサラッとしたもんでした。

「状況によってはマズいことになってた」ってことはあるのかなぁ? なさそうな様子だけど、まぁ診てもらって良かったってことで。

で、抜糸ですが、なんかちょっとの時間オデキ跡でチマチマされて終わり。 皮膚のところで糸が動いて「糸が抜かれたなぁ」っていうのは分かったのですが、痛みはありませんでした。

2011年5月29日日曜日

ウェブサイトに載せるsvg画像にはxml宣言を明記した方が良さそう

htmlのimgタグでsvg画像を使うときのお話。 このページを書いていて気づいたんですが、どうやらウェブサイトに載せるsvg画像にはxml宣言を明記した方が良いみたいです。 xml宣言を省略すると、ブラウザのOpera11がsvg画像内のtextタグでエラーを出すことがあります。

xml宣言っていうのはxmlドキュメントの先頭に書く次のような定型句です。

<?xml version="1.0" encoding="utf-8"?>

svg画像もxmlドキュメントなので書くことが推奨されています。 これはencodingがutf-8またはutf-16の場合は省略できる...ハズなんですが、Opera11は見逃してくれませんでした。

このページに「octant_circular_arcs.svg」という画像ファイルがあります。 この画像ファイルにxml宣言を書かなかった場合、テキストにある「図1. 8分円は合同」という文字列でパースエラーが検出されます。 本来、xml宣言が無いときはutf-8かutf-16のどちらかでパースされます。 utf-16として認識されたならテキストまで到達する前にエラーが出るので、utf-16扱いではないはず。 ならばutf-8で認識してくれたはず ... なんですがエラーが出たと言うことはそうでは無かったのでしょう。 imgタグが書かれているhtmlの文字コードに影響されたのか、svg画像自体の文字コード判定が外れたのかは分かりませんが、ともかくutf-8以外の何かと勘違いされました。

xml宣言を追加したらごく普通に表示されました。 ほんのひと手間ですし、無用なトラブルを避けるためにもxml宣言は書いておきましょう。

「アンチエイリアスがかかった円を高速描画するアルゴリズム」の説明を書きました

アンチエイリアスがかかった円を高速描画するアルゴリズム」の説明を書きました。

ネットで該当アルゴリズムを検索したところ、なぜか日本語の解説ページは無し。 って検索が下手なだけかもしれないけど。

結局、英語のサイトを漁って発見。 どうやら20年前にはすでにあったアルゴリズムらしいですね。 「そういえば日本語の解説見つからなかったんだっけ?」ってことで書きました。 ダラダラやってたらまとめるのに3週間近くかかってしまった。

オデキの手術跡からちょびっと出血

手術から3日経って、「普通に生活するぶんには傷口の心配とか必要ないだろうなぁ」などと思っていました。 で、普通に生活していて、普通に立っているときに傷口からピリッとした感覚が。 バンソーコーを見ると、ちょっとだけ出血していました。

手術後に当てられたガーゼにもちょびっと血が付いてましたが、今回はその倍くらいの出血でした。 倍といってもバンソーコーに付いてるガーゼが汚れた程度。 ってことで、たいしたことはないです。 しかし、血が止まっていたところからの出血は治るのが遅くなりそうな、嫌な感じではあります。

医者からは「手術から48時間は傷口を濡らさないように」と言われていました。 ちょっと血が出ただけとはいえ、傷口が開いたんならやはり濡らさない方がいいのでしょうか。 今日はお風呂は止めておこうかな? 明日からは普通で。 もし化膿したら診てもらえばいいか。

2011年5月27日金曜日

PSNの一部サービスが明日から再開

復旧に時間がかかってますね、PSN。 やっと明日から一部のサービスが再開するようです。

個人情報流出については、私はクレジットカードもプリペイドも登録していなかったのでそっちの被害はありません。 プロフィールの流出は、クラックしたのが外国人なら影響なさそうな気がするんですが、甘いですかね?

まぁ流出については、何かあるまで分からないので何ともしようがないとして、気になるのは「感謝とおわびのパッケージ」です。 PS3用に提示されたタイトルはこちらの5つ。

  • The Last Guy
  • おいでよロコロコ!! BuuBuu Cocoreccho!
  • 無限回廊 -序曲-
  • WipEout HD
  • ハスラーキング

この中から2つ選択だそうです。

気になっていたゲーム「無限回廊」が入ってます。 個人情報流出と釣り合いが取れるかどうかは被害が確認できない限り分からないことでしょうけど、ちょっと心が動かされました。 その他のタイトルは初耳のものばかりです。 小振りなモノが揃えられてますね。

オデキの摘出手術から1日経過

昨日、オデキの摘出手術を受けました。 今日はその経過を診てもらう日です。

病院に行くとまず、昨日の手術後に傷口に被せられたガーゼがはがされました。 「ガーゼにはべったりと血が付いている...」と思ったら、5mmくらいの点が赤くなっているだけで、その他に血は付いていませんでした。 意外でした。

消毒してもらって、別のガーゼに交換してもらって今日の診察は終わりです。 化膿してたり傷口が開いてたら色々大変だったんでしょうけど、経過がよかったらしくアッサリでした。 昨日処方された痛み止めも未使用。

後は6日後に抜糸したら通院は終了ですね。 傷口には市販のバンソーコーを貼っておくように言われました。 それで良いらしい。 痛みはなく、突っ張った感じやヒリヒリしたような感覚があるだけなので、抜糸まで問題なく過ごせそうな予感です。 「激しい運動はしないように」って言われていますが、その予定も無いので大丈夫でしょう。

診察にかかった費用は350円です。 交通費の方が高くついてしまった。

2011年5月26日木曜日

オデキの摘出手術を受けた

以前、毛母腫と診断された5mm大のオデキの摘出手術を受けてきました。 手術っていっても、オデキを切るだけで、オデキを切るだけといっても手術は手術なんだなぁ。

行ったのは個人病院なので、総合病院が舞台のドラマに出てくるような手術室はありませんでした。 でも一応、手術室なのか? 一通り設備が揃っているっぽい小奇麗な部屋に通されました。 看護士さんに手術の準備をしてもらって、その後しばらく放置。 ちょっとだけ先生待ちの時間がありました。 これが大手術ならすごい緊張するんでしょうけど、オデキだもんなぁ...

でもってお医者の先生登場。 「お願いします。」と挨拶して手術を受けました。

2011年5月25日水曜日

svgで順番にアニメーション

svgで「まずこれをやって、その次これをやって...」と順番にアニメーションするコードの書き方です。

svg画像はこちら。

2011年5月24日火曜日

しばらく治らなかったオデキを診てもらいに

数ヶ月様子見しても治らないオデキがありました。 5mmくらいの大きさです。 ネットでそれっぽい症状を探してみると「粉瘤」というのを発見。 これかな? 読んだ限りでは問題ない症状のようですね。 ただ、放っておいて治るものでもなさそうです。 時間が経つと2cmくらいまで大きくなることがあり、そうなると治療がやや大変になるので、小さいうちに病院で摘出してもらった方がいいとか。

そういう情報を書いているサイトにはもれなく「自己判断はダメ。病院で診てもらいなさい。」と書いてあります。 「当然、その通りにした方がいいだろうなぁ」ってことで皮膚科に行ってきました。

診てもらったところ、「石灰化上皮腫」と診断されました。 粉瘤じゃなかった。 「ナニソレ?」って顔をしたら、「毛母腫」と言い換えられました。 それでも分かりませんって。 「良性の腫瘍です。」と説明がそえられました。 最初に「良性」と耳に入っていても、腫瘍って言葉はドキッとしますね。 治療は粉瘤と同様なのかな? 放っておいても構わないが、すぐ治すなら手術で切り取ることになるとか。

2011年5月18日水曜日

自動車同士の衝突事故を見た

自動車同士の衝突事故、初めて見ました。 現場は国道と脇道の交差点です。 国道から脇道に曲がる右折車と国道を直進する車がぶつかりました。

国道を走る車から見て、その交差点の信号は次のようになっています。

  1. 青信号のときは直進と左折が可能。
  2. 青信号から1度黄色になって、青矢印が点灯。直進と左折が禁止で右折のみ可能に。
  3. もう1度黄色になって、赤信号に。

事故のときは青矢印中だったので、右折車が信号通り、直進車が違反という状況だったと思います。 角度的に、直接車の信号を見たわけではありませんが、多くの右折車が動き始めた後の事故だったので間違いないでしょう。 直進車が青矢印を見逃したのか、古びて霞んだ信号だったから見取れなかったか、それとも信号変わり間際で大丈夫だと思っていたか...

2011年5月17日火曜日

WinTab.NET : ペンタブを縦置きして使うときの座標変換

ペンタブPTB-MT1を買って8ヶ月経ちました。 チマチマと絵を描く練習をしているんですが、やる気が続かないからか才能がないからか上達する気配がありません。 どうしたもんでしょう?

で、ペンタブの板の表面を見てみるとけっこうキズが付いてました。 ただし、キズが付いているのは左側の1部だけです。 絵の練習をするとき、ディスプレイの右側に資料を置いて、左側にペイントツール(AzPainter2)を置いているんですよね。 なのでペンが当たるのは板の左側だけです。 ただでさえ小さいペンタブなのに、その1部しか使っていないのは損した気分になります。

と、いうわけで「自分でペイントソフトを作ったら?」という空想のもと、縦置きしたペンタブとペイントソフトの描画領域とをマッピングする簡単なサンプルコードを作ってみました。 作った環境は、

  • Windwos XP home edition
  • Microsoft Visual C# 2005 Express Edition
  • .NET Framework 2
  • WinTab.NET 1.6.1

コードは、

2011年5月11日水曜日

WinTab.NET 1.6.1 でペンタブレットの入力を見てみた

ペンタブ関係のプログラムは、なんとなく敷居が高そうですよね? 関連情報を検索してみても、「気軽に手軽に」というような解説サイトは見当たりません。 でもまぁ、最近 Visual C# 2005 Express Edition を久しぶりに触ってみたというキッカケで、WinTab.NETを試してみました。

しかし、開発環境が「2005」ってのは今さら感すぎますね。 パソコンの買いかえを検討中で、もし買いかえたなら 64bitOS + Visual C# 2010 になりそうだけど、2005でやる意味あるんでしょうか?

と、思ったらWinTab.NETのプロジェクト履歴に「64bit対応」とかって書いてます。 完全に時代遅れなネタでもないらしいです。

ってことで統合環境の使い方を思い出しながらコーディング。 適当にC#のプロジェクトを作って「プロジェクト」メニューから「参照の追加」、参照タブで WinTabDotnet.dll のアセンブリを追加。

...アセンブリの追加方法とか、今の開発環境で変更されてたらこのくだり無駄ですね。

気を取り直して、WinTab.NETのアーカイブに入っていたサンプルコードを見ながらこんなの書きました。 思っていたよりずっと簡単にペンタブ用コードが書けるみたいです。

2011年5月8日日曜日

虫歯かな? と思ったら治った

ちょっと前、歯を磨いていたら奥歯に嫌な感触がありました。 少しだけどしみるような鈍い痛みがします。 歯を磨くときだけ痛んで、その他のときは大丈夫。 虫歯でしょうか? それとも、知覚過敏?

あと数ヶ月で歯医者の定期検査があります。 「それまで持つかなぁ」と思いつつも、我慢することに。 歯の磨き方が雑になり、つい強く歯をこするようになっていたので、圧を抑えて磨くようにして誤魔化してました。 それなら痛くないようです。

なんとか持つか? それとも無駄か? と半信半疑ながらヤワヤワと磨き始めて数日。 痛みがなくなってしまいました。

まさか、治った? 歯の痛みが自然治癒で治ることはないと思っていたので拍子抜けしました。 試しにゴシゴシと歯磨きしても大丈夫。 なんだったんでしょう?

ホントに治ったのかな? まぁ、治ったとしても油断は出来ない気はします。

2011年5月3日火曜日

firefoxの起動を確かめるソフトをwin32sdkで作成

今使っているPC、買ってから8年くらい経つんですよね。 最近特に重く感じます。 少し前に投稿したように、そろそろ買いかえ時でしょうか?

PCの重さが一番気になるのは起動直後です。 セキュリティソフトやその他の常駐ソフトがガリガリ動いていて、さらに最初にブラウザを立ち上げることが多いので重さ感倍増です。 ブラウザがfirefoxだからヒトシオ。

その、起動直後にブラウザを立ち上げようとしたとき、ツールバーに登録したショートカットアイコンをクリックしても重さのドサクサにまぎれて受け付けられないことがあり、困ってしまいます。 ハードディスクのガリガリが収まって、「そろそろブラウザが表示されるかな?」というときに、実はクリックが無視されていて立ち上がってこないことがあるのです。 ほんのちょっと時間を損した気分になります。 このマシンをいつまで使うかはわからないけど、とりあえずの一時しのぎでもクリックが受け付けられたか確認する方法を探さないと...

2011年4月25日月曜日

PCを買うとしたら

前回の投稿で「PCの買いかえ時」と書きました。 そこで、6月の頭くらいに買いかえるつもりでいくつかのパソコンショップのサイトを眺めてみました。 買うPCの基準は、

  • 買うのは本体のみ。
  • 予算は10万円。
  • 何に使うかは明確には決まってない。
  • 3DCGに関するソフトはたまに使うかも。
  • 長く使いそう。
  • 途中で部品交換する予定はなし。

こんな感じかな? とすると、次のようなスペックのマシンが狙いどころのようです。

  • CPUはCore i7 2600
  • メモリ 8G (PC3-10600で動作)
  • ハードディスク 1TB x 2個
  • USB 3.0 が使用可能
  • ミドルレンジのグラフィックボード

新しいパーツの販売時期とかを全く知らないので暫定ですが、一応こんな感じで。

というか、カスタマイズの組み合わせで少し予算オーバーするマシンが多いですね。 ちょっとのオーバーを飲むか理性的になるか...

PCの買い替え時かも?

HDDの中身を少し整理してみました。 過去にちょっと手を出しては止めた色々なネタの切れ端が眠っていました。 C++、java、C#、D言語、mathml、ActionScript、svg、Rhino、xslなどなど。

D言語、なつかしいなぁ。 ActionScriptは開発環境のダルさに耐えられなくて使うのやめたんでしたっけ。

C#も懐かしいです。 今使っているPCには Visual C# 2005 express edition が入っています。 2008はHDDの空き容量とかマシンスペックとかを考えて断念しました。 それからもう3年たったのか。 とっくに2010も出てるんですよね...

ソフトウェアのアップグレードを断念してから3年、最近別口でアップグレードしたfirefox4も重いし、PCの買い替え時かも?

2011年4月19日火曜日

Rhino1.7R2 で JavaScript1.7 の機能が使えるのに今さら気づく

Rhinoのオフィシャルサイトで概要を見ると、「Rhino が含んでいるものは、JavaScript1.6 のすべての機能」などと書かれています。

「それでは、JavaScript1.7 の機能は使えないのか?」と思ったら使えました。 シェルでversion関数を使ってみると、version(170)までは有効なようです。 180以降の値を指定すると例外がはかれました。

js> version(170)
0
js> version(180)
org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentExcept
ion: Bad language version: 180 (<stdin>#3)
...

JavaScript1.6までは全ての機能が含まれていて、1.7以降の機能は一部しか含まれていないということでしょうか?

jsファイルで1.7の機能を使うには「-version 170」のオプションが必要でした。 「https://developer.mozilla.org/ja/New_in_JavaScript_1.7」を参考にこんなサンプルコードを書いて、

サクラエディターで特定の文字の桁位置を揃える

そういうマクロは有るみたいですけど、「マクロを入れるのも面倒だなぁ」って時はこんなやり方でどうでしょう? 一応、2千行くらいのテキストでやったことがあります。 それぐらいの行数ならもたつかずに出来るみたいです。 (環境はWinXP、Pen4 2.6c、メモリ512MB)

2011年4月17日日曜日

昔懐かしいコマンドプロンプトでのカウント

GUIが無かった時代の、コマンドプロンプト上でのカウント表示のコードです。 プログレスバーがまだ無かったときはこんなことをしていました。 Rhinoで遊んでいるときにコマンドプロンプトを使っているので、思い出して書いてみました。

var out = java.lang.System.out;
print_test(0);

function print_test(i)
{
    if(100 < i)
    {
        out.println(' end.');
        return;
    }
    
    out.format('\rtest %2d%%', java.lang.Integer(i) );
    
    java.lang.Thread.sleep(100);
    
    print_test(i + 1);
}

実行すると「test ?%」と表示されます。 ?の部分が1から100までカウントアップされ、100%になると「test 100% end.」と表示され終わります。

out.formatで最初にキャリッジリターン(\r)を出力しているのがポイントです。 \nは改行して行頭に、\rは改行せずに行頭に移動します。 \rして新しい文字列(test ?%)で書き直せば、見た目は ?% の部分だけが更新されているように見えます。

節電で昼間は消灯

節電節電と言われている中、少し前から私もほんのちょっとだけ節電してます。 当初、「節電? 何をしようか?」と考えても思いつきませんでした。 ホットカーペットとか、ずいぶん前にやめちゃったしなぁ。

昼間家にいるとき、電灯を消そうか?

我が家は賃貸マンションの下層で、家の周りには背の高い建物が多く有ります。 まともに明かりが入ってくるのは午前中の短い時間だけです。 昼間でも薄暗いので電灯をつけて生活してました。 それでも試しに消灯です。

やってみると、さすがに暗いですね。 電灯をつける夜の方が確実に明るいです。 TVを見るのは暗くても大丈夫かな? しかし、PCを使うときは電灯が必要になりそうです。 暗いと目が痛くなります。 細かい文字を読むときは電灯をつけないわけにはいかなそうですね。 何かを読むときは点灯して、それ以外のときは消灯か...

普通の天気のときは、こんな感じで。 ホントにちょっとだけだなぁ。

で、天気が悪いときはかなり暗くなるのでつけないのは辛いです。 大雨のときとかは本の字が追えなくなります。 これからの季節は雨が増えるので消灯時間は短くなりそうです。

それでも、やらないよりはマシ ... なんですかね?

2011年4月16日土曜日

世論調査を目立たせないのは「配慮」のため?

震災以降、ニュースなどで「支持率」という言葉を聞かなくなりました。 「世論調査 支持率」で検索すれば出てきます。 しかし、くらべる一面やYahooニュースのトピックスなどでは見当たりません。 「配慮」なんですかね?

そういえば、尖閣諸島のときもしばらくそうでした。 今、支持率などの世論調査の結果を知りたい人は多いはず。 それをマスメディアの判断で目立たせていないとしたら、それはいい配慮なんでしょうか?

こういう配慮の善し悪しも誰かがアンケートを取るべきだと思うんですが、どうでしょう?

口内炎の薬

口内炎が酷くなってきたので病院にいってきました。 処方で塗り薬を入手です。

帰ってから使ってみました。 薬はプラスチックのビンに入っています。 フタを開けて変な色だったらどうしましょう? 紫とか、パープルとか。

開けてみると...

な、何ぃ!?

青緑色でした。 口に入れることを考えると不安になる色ではある。

まぁ、紫ではなかったし、アクアフレッシュみたいにもなってなかったから、いいか?

ん? アクアフレッシュも口に入れるもの...?

2011年4月9日土曜日

目覚まし時計、壊れる

アナログの安い目覚まし時計、朝目覚めたとき確認すると時間が10分遅れてました。

「乱暴に扱うと中の電池がずれて遅れるんだよなぁ...」

と電池カバーを外して見ると、単三電池の電極が腐食してました。 液漏れです。 ナンテコッタ。

時計の電極もキッチリ腐食してました。 こりゃもう使えないかな? 安物とはいえ100円ショップで売ってるものに比べれば超高級品な時計でした。 長く使っていたので、ややショックです。

困りましたね。 目覚まし時計は2つないと不安です。 (2つあるうちの片方が壊れました。) 100円ショップで買ってきて補充するかな?

100円ショップで売っている時計、アナログのヤツは日差何分ってものが多いので使えません。 デジタル時計なら仕組みからして100円のヤツでも遅れにくいかな? 朝に大事なイベントが起こる日が来る前に入手しておきますか...

壊れた時計は安物とはいえ時間は狂わなかったんだよなぁ。 って、そこまで引きずるほどの事じゃない。

2011年3月29日火曜日

e4x@Rhinoで名前空間の付いた属性とか雑多なこと

e4xネタです。 Rhino 1.7R2 で名前空間付きの属性を変更しようとしてハマったので調べてみました。

ブログでいっぺんに書くにはダラダラしたコードなので分断して書きます。 テストコード全体は下の方に載せます。 まずはコードの先頭。

var x =
<root xmlns:xlink="http://www.w3.org/1999/xlink" dummy="d">
    <elem id='i0' test_attr='t'/>
    <elem id='i1' test_attr=''/>
    <elem id='i2'/>
    <elem id='i3' xlink:href="#i0"/>
    <elem id='i4' xlink:href="#i1"/>
    <elem id='i5' xlink:href="#i2"><child_elem/></elem>
</root>;

var xlink = new Namespace('http://www.w3.org/1999/xlink');
var i, elem, elems, attr, attrs, str;

e4xでハイフンつきの属性をリストアップ

e4xでハイフンつきの属性にアクセスする方法です。

普通の属性は@を使えば簡単なコードでアクセスできます。 svgという変数にxmlオブジェクトが代入されてるとして、

var elems = svg..@id;

とすると属性idのリストが得られます。 しかし、「clip-path」のように属性名にハイフンが入っている場合、ハイフンがマイナス演算子扱いされるのでそのままコードに書けません。 e4xでこのような属性にアクセスする場合は次のように書きます。

var elems = svg..@['clip-path'];

これは、シンタックスシュガーなのかな? e4xはコードを書くときに便利なように色々なシンタックスシュガーがあるようですが、それが原因でごちゃごちゃになってる部分もありますよね。

e4xでXMLListの連結

足し算記号(+)でXMLListの連結が出来るようです。 例えば、svgという変数にxmlオブジェクトが代入されてるとして、

var elems1 = svg..rect;
for(var i in elems1)
{
    ~ (1) elems1[i]への処理 ~
}
var elems2 = svg..path;
for(var j in elems2)
{
    ~ (2) elems2[j]への処理 ~
}

(1)と(2)は同じ事やってんだ~、って時には次のように書けます。

var elems = svg..rect + svg..path;
for(var i in elems)
{
    ~ elems[i]への処理 ~
}

仕様の日本語訳を見れば書いてあったけど、e4xの仕様って読みにくいんですよね。 別口で今日気づきました。 まぁ、プログラム言語の仕様なんてあんまり読んだことないんですけど...

e4xの詳細なリファレンスとかもまだ見つけてないし、どうしたもんでしょ?

2011年3月27日日曜日

google chromeのインラインSVGがちょっと改善してた

しばらく見ないうちに、google chromeで自分が描いたsvgのインライン画像が表示できるようになってました。

以前、「インラインだとtransformが上手く働いていない」と書きましたが、それは改善されてました。 パターンにも対応済み、クリップにも対応済みでした。 マスクはまだおかしいところがありますが、基本的な使い方は出来るようです。

マスクのおかしいところと言うのは「transformでマスクの位置がズレるケースがある」という点です。 svgを描いたあとにサイズや余白の調整でtransformを追加するとズレてしまうかもしれないのです。 でもズレないこともあったり、謎な状況ですね。 現状、svgで絵を描くときは、できるだけ早いうちにサイズや構図を決めた方が良いみたいです。

マスクに限らず、自分が描いたsvgが色んなブラウザで正常に表示できるかどうかはやってみないと分かりません。 svgはまだまだ主要なブラウザでサポートされ始めたばかりの状況ですから。 しばらくは色んなブラウザで表示してみて、表示できるようなら公開、出来ないようなら修正or断念orやっぱりそのまま公開ってするしかなさそうです。 そのまま公開の時は注釈書いた方が親切かも。

それにしても、インラインでは表示できなくてもsvgファイル単体では表示できたり...はぁ。

まぁ、chromeのマスクについては他の要素と同じようにちょっとずつジワジワと改善さるでしょう。 マスクの完全対応にも期待。

2011年3月26日土曜日

inkscapeのフィル/スウォッチは少しだけファイルサイズの無駄

inkscapeにあるよく分からない塗りつぶし方~スウォッチ。 調べてみると、色を登録しておいてリスト選択で選べるようにするためのものらしいです。 ペイント系ソフトのパレットのように使うらしい。

xmlエディタでdefsを見ると、その正体はstopが1つしかないlinearGradientでした。 それに fill:url(#id) のリンクを張ることで同じ色を選べるという仕掛けです。

と、いうわけでスウォッチを使うたびにdefsにlinearGradientが追加されます。 そのオブジェクトで最初にスウォッチをクリックしたときにとりあえずのlinearGradientが追加されます。 そのためsvgファイルのサイズは肥大。 一応、「Defのバキューム」で消せる...と思ったら消えませんね。 このコマンドは何に効いて何に効かないか良く分からないです。 まぁ、効くときもあるんでしょう。 ファイルサイズにこだわるならスウォッチは使わない方が無難です。

javascriptの正規表現 globalマッチしたもの全部に処理

Rhino用だとこんなコードになるらしい。

// 角括弧[]の中身を取り出す(数字があった場合)
var text = 'a[0]bc[1]de[]fg[2][3]hij[4]klmn[';
var r = new RegExp(/\[(\d+)\]/g);
var m;

while( (m = r.exec(text) ) != null)
{
    print('m[1] = ' + m[1] );
}

結果は、

m[1] = 0
m[1] = 1
m[1] = 2
m[1] = 3
m[1] = 4

globalマッチのときは '文字列'.match(/正規表現/g) をするとマッチした部分全体の文字列が入った配列が帰ります。 カッコ内の取り出しはできないっぽい?

2011年3月24日木曜日

Rhinoでテキストファイル出力

Rhinoでファイル出力をするときは、javaのクラスを使います。 javaのクラスの使い方はRhinoのオフィシャルサイトの説明の通りです。 javaで書くときと同じようなコードになります。 簡単なコードですが、実際にファイル出力をするサンプルがネットで見つからなかったので書いてみました。

var file_name = "dummy_dir";
var out;
try
{
    out = new java.io.PrintWriter(file_name);
    out.println("test 日本語");
}
catch(exc)
{
    print('ファイル出力エラー');
}
finally
{
    if(out != null)
    {
        out.close();
    }
}

file_nameがdummy_dirになっているのは例外のcatchを確認するためです。 「普通に出力」と「あらかじめディレクトリdummy_dirを作って実行 → ファイル作成失敗 → 例外発生を確認」の両方をやってみました。 どちらも普通に処理されました。

PrintWriterのcloseは例外発生の可能性があります。 javaだとcloseもtry~catchで囲む必要アリ。 ですがまぁ、「javascriptでコードを書く場合は雑になるのが普通だろう」ってことでこのコードでは割愛しました。

firefox4がリリース

firefox4がリリースされました。 とりあえずインストール。 オフィシャルサイトの「ガイドツアーfirefoxを使いこなそう」を見るとブラウザ全体が激重に。 ちょっと不安になりましたが、いつも見てるページをまわってみたらそちらは大丈夫でした。 動画が埋め込まれているサイトだけ重くなるのかな? firefox3.6のままこのページを見たらどうだったんでしょうね。

アドオンで使えなくなったのは1つだけでした。 あまり使ってないヤツだけ。 以前のバージョンアップのときはTab Mix plusをはじめ有用なアドオンが使えなくなって困りました。 今回はそういうことが無くて一安心。

で、ステータスバーが無くなったため今までステータスバーに表示されていたアドオンのアイコンがナビゲーションツールバーに移動。 NoScriptのアイコンもそっちに移りました。 クリックしてみるとメニューの順番が上下逆に。

「一時的に許可」と「恒久的に許可」がステータスバーに表示されていたときと逆の順番になっています。 セキュリティ関係のソフトでそれはないでしょう。 私の場合は先に気づいたからよかったけど、知らない人はちょっと見るだけのサイトで「一時的に許可」したつもりで「恒久的に許可」になってしまうこともありえます。 ちょっとワキが甘いですね。

最後に、インラインSVGがちゃんと表示されるかチェック。 以前に自分で描いた絵を見てみました。

大丈夫みたいですね。 今まで自分で投稿しておきながら表示確認してなかったので気になってました。 表示が確認できてよかった。

2011年3月19日土曜日

フリーメールの取得

使い捨てのメールアカウントがいるかもしれないということで、フリーメールのアカウントをいくつかとってみました。

・Yahooメール

他のメールアカウントが必要。 定番。

・エキサイトメール

他のメールアドレスは不要!? ウェブにさえ接続できればアカウントが取れる。

・Gmail

googleアカウント取得時に携帯電話の番号を聞かれました。 ロボットではないことの確認のためらしい。 使い捨てのメールアカウントを得るために使うのは不向き。

こんな感じでした。

医者と薬剤師に震災の話をするときは注意

この前通院したときの話。 医者に「震災の報道をずっと見てたら気分が落ち込みます」などと言ったら渋い反応でした。 話題にしない方がよかったかもしれません。

よく考えたら、医大生は数少ない医大に全国から集まって、就職するときに全国に散るんですよね。 医者は他の職業より同期に被災者がいる可能性は高いのかも。 かかった医者がそうだったかどうかは分かりませんが、どちらにしても医者に震災の話をするのは避けた方が良さそうです。

通院の帰りに寄った薬局の薬剤師さんも少し疲れがたまってそうでした。 職業が薬剤師の人もそうか...

確認するわけにはいかない話ですね。 とにかく注意で。

2011年3月18日金曜日

カップ麺と缶詰が品薄

今日、床屋に行ったら理容師さんとこんな話になりました。

理容師 「スーパーのカップ麺がすっかり売り切れてるみたいですね。」

私 「そうなんですか? 我が家の近くのスーパーは普段どおりですが...」

被災地じゃないので買いだめに走る人はあまりいないと思ってました。 しかし帰りに自宅近くのスーパー(普段行っていない少し高い店)に寄ると、カップ麺の棚は8割くらい売れてしまってガラガラの状態。 2~3日前に別のスーパーを見たときは普通の品揃えだったのに。 ニュースを見て買いだめした人が多かったのかな? やはり地震の影響は避けられないみたいです。 結果的にウソをついたことになってしまった。 スミマセン、理容師さん。

2011年3月13日日曜日

Rhinoのフィルタ演算は正規表現じゃなくても良かった

特定の属性を持った要素を取り出すコードを検索すると次のように正規表現を使ったものが多く見つかります。

// test3.js 例1
var x = <root>
    <link ref="#ref0">section 0</link>
    <link ref="http://dummy.jp/dummy.html#ref1">Outer section 1</link>
    <link ref="#ref2">section 2</link>
</root>;

var elems = x.link.(@ref.match(/^#.*/) );
for(var i in elems)
{
    var elem = elems[i]
    print('link to "' + elem + '" ... ' + elem.@ref);
}

結果は、

D:\~\rhino1_7R2>java -jar js.jar -w -strict -encoding utf-8 test3.js
link to "section 0" ... #ref0
link to "section 2" ... #ref2

これ、正規表現じゃなくても普通の文字列比較関数でもいいみたいです。 例えばこんなコードでも同じ結果になります。

テレビの地震特番

テレビをつけると、地震の特番が続いています。 民法の番組を見ると右上にずっと「死者不明者??人」と表示されています。 これは止めるべきではないでしょうか?

選挙特番のときは開票速報を競うように表示して批判が上がっていました。 死者不明者に関する表示はそれとは比べ物にならないくらい品がないです。

通常の番組を放送し始めた局もありました。 地震特番の時はCMが中止になっていたのですが、CMも復活です。 そのほとんどがAC、公共広告機構のものでした。

下手なCMを流せない今、妥当なところかな? と思ったら保険会社のCMが混ざってました。 何を考えているのでしょう?

2011年3月8日火曜日

今使っているブラウザでsvgの内部スタイルシートが表示されるか?

たまに描くsvg、inkscapeで編集することが多いです。 inkscapeはスタイル情報を全てインラインスタイルで保持してしまいます。 内部スタイルシートっていう仕様があるのは知ってましたが、今使っているブラウザでそれが表示されるか試した事がありませんでした。 ってことで試してみました。

svgのコードは手入力でこんなのを用意。

2011年3月7日月曜日

Rhinoで標準出力と標準エラー出力

Rhinoで標準出力と標準エラー出力を使う方法。 ちょっと試しただけなので確認不足かもしれませんが、一応投稿です。 javascriptだけでは出力できないのでjavaのクラスを使用します。 Rhinoがjava上で動いているからできるらしい。 次のようなコードで動きました。

var con_err = java.lang.System.err;
con_err.println('標準エラー出力テスト');
con_err.flush();

検索「Rhino 標準出力」で探すとStream系クラスでラッピングしているサンプルコードがあったけど、ラッピングは不要です。 なのでimportPackageも不要。 標準入力は試してません。 そっちもラッピング不要なんでしょうか? 使う当てがないから試しませんけどね。

上の例ではSystem.errオブジェクトを適当な変数に代入して使ってます。 毎回「java.lang~」と書くなら代入は不要です。

java.lang.System.out.println('標準出力テスト');

flushは無くても大丈夫でした。 でもそれは環境によって違うかもしれません。 色んな環境で使うコードではflushしておいた方が良さそうな気配です。

2011年3月5日土曜日

e4xのXML.prototypeは変更できないらしい

今日もポチポチとRhinoでxmlを読むコードを試してました。 どうやらe4xには「要素.hasChildNodes()」のメソッドが無いようですね。 代わりにこんな感じでいいのかな?

if(0 < 要素.*.length() )
{
    子要素があるときの処理
}

一応動いているようだけど、よく確認してません。 ほんとにこれでいいんでしょうか?

2011年3月2日水曜日

RhinoでXMLを使うときデフォルト名前空間を設定...できたけど何か変?

前回の投稿で名前空間の扱いがよく分からず、力技で処理してました。 その後ちょっと勉強してデフォルト名前空間を設定するコードを発見。 次のようにすればいいようです。

var ns = xmlobj.namespace();
default xml namespace = ns;

これでxmlの各要素にアクセスできるようになりました。 例えば次のようなxmlファイル「test.xml」を用意して、

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.dummy.jp">
    <msg attr="属性">テキスト</msg>
</root>

msg要素にアクセスするには次のようにします。

2011年2月27日日曜日

Rhinoでネームスペース付きのxmlファイルを読み込む

どうでもよかった女.svg」の省サイズ化をしたとき、「スクリプトを作っておいた方が楽かも」とか書いてました。 簡単に言うと、

  1. inkscapeでsvg画像を描いてウェブサイトに投稿したい。
  2. inkscapeは色々不要なデータも吐き出してくれる。
  3. ウェブサイトにsvg画像を上げるときはサイズが小さい方がいい。
  4. svg画像はxmlドキュメントなのでxmlを読んで不要なデータを消すスクリプトが組みたい。

ってことです。 今svg画像を作っていないのですぐに必要はないのですが、とりあえずなにでスクリプトを組むか考え中。 javascriptについて調べてみたらRhinoに行き当たりました。

2011年2月21日月曜日

ネットにアクセスできなくなった

先週末、家でネットにアクセスできなくなってました。 晩飯を食っている間に切断されてしまったようです。 こういうこと、たまにあるんですよね。 いつもならルータの電源ケーブルを引っこ抜いて、30秒ほど待ってからコンセントにさせば直ってました。 今回もそれで...

直らない? こんな場合はどうすれば? ネットで検索...できません。

そんなオヤクソクなボケを考えてから、家でできる範囲で原因を調べてみました。 我が家は壁⇔モデム⇔ルータ⇔PCの順につないでいます。 ルータ⇔PCは通信できているのでそれから先が問題。 Bフレッツの書類とモデムの説明書を読んでみました。 モデムのLEDから推察すると、モデム⇔壁⇔プロバイダのどこかがダメなようです。 これはサポートセンターに聞くしかなさそうですね。

2011年2月16日水曜日

腱鞘炎になりにくいかもしれないペンタブの持ち方

私は筆圧が強い方です。 で、使っているペンタブは少しだけ強めに描かないと線が描けません。 相乗効果でついペンを持つ指に普段より強く力が入ってしまいます。 強く握りすぎて1時間も使っていると親指が痛くなります。 その痛みのせいで、最近ペンタブを使うことが少なくなっていました。

このままじゃせっかく買ったペンタブが無駄になってしまいます。 なんとか親指に負担がかからない持ち方を習得しないと...

単純に力まずに描ければいいんですけど、今更筆圧とかは矯正できないっぽいです。 そこで思いついたのが「親指使わなければいいんじゃない?」って案です。 我ながらアホなアイデアだと思ったけど、一応試してみました。 箸の下の方のヤツ、固定する方を持つようにペンを持ちます。 そのままだと筆圧をかけにくいので、手の甲が上になるようにかぶせて持ってみました。

アレ? 意外と描けるぞ!?

どうやら、それほど悪い持ち方ではないようです。 もちろん普通に持つのと比べると違和感はありますが、親指が痛いのを我慢して持つのと比べると遜色はない模様。 ペンタブを使うときはこの持ち方でいいのかも。

2011年2月13日日曜日

「だっか~↗」って何?

PCでの作業中、何でもいいから音を聞こうってことで英語のインターネットラジオを付けました。 英語はサッパリ分かりません。 でもまあ、音が出てればいいってことでブラウザでラジオを視聴。

聞いてみると、たまに分かる単語は出てくるけど、やはり何を言っているか分かる文章は稀でした。 「まぁいいや」ってことで作業作業。 作業中はずっと聞き流していたんですが、分からない単語でやけに耳に残るのがありました。 それが「だっか~↗」です。

ほとんど聞き流していたんですが、その単語が出たときだけ気になってました。 「か」の部分にイントネーションなんですよね。 「なんだろ?」と思ってよくよく聞いてみると...

「.com」でした。 カタカナの「ドットコム」とぜんぜんイントネーションが違うのでしばらく結びつきませんでした。 わかってしまったら「な~んだ」って感じですよね。 作業作業。

って、わかってしまったら他の音にまぎれるだろうと思ってたら、やはり耳につくまんまでした。 作業中も「だっか~↗」の時だけそっちに気が...

2011年2月10日木曜日

どうでもよかった女.svgの省サイズ化

前に投稿した「どうでもよかった女」のSVGコード。 inkscapeで出力したままだと無駄な情報が多いので置換や手作業で省サイズ化しています。 Inkscape SVGでの出力が139,017バイトだったのが、省サイズ化で108,995バイトに。 2割減ですね。

省サイズ化の概要は前書いた投稿(↓)の通り。

今回はプレーンSVGで出力して、いらない文字列を消してます。

inkscapeはstyle属性に省略できるはずのデフォルト値も出力してしまいます。 「stroke-miterlimit:4」とか「fill-opacity:1」とかです。 それの削除が一番面倒でしたね。 置換用のスクリプトを組んでおいた方が後で楽かも?

キャサリンの体験版

アトラスから発売予定のちょっと店頭で買うのがためらわれるパッケージのゲーム「キャサリン」、体験版はダウンロードでプレイできるので、それならってことでやってみました。 体験版の内容はアクションパズルのステージが2つとけっこうな量のムービー、それとアドベンチャーパートがほんの少しです。

アクションパズルはけっこう面白いですね。 ただ、ジャンルがジャンルだけに1ステージにつき数回遊んだらおなかいっぱいになりそうな予感がします。 ステージマップっぽい画面の様子からしてもあまりステージ数は無いのかもしれません。 一応、ステージ数は少ないとはいえ「全アイテム取ってクリア」とか「とにかく最速でクリア」とか「酒量を変えてクリア」とか色々な遊び方はあるかも?

オフィシャルサイトを見ると本編以外にもゲーム内ゲームのラプンツェル(ルールは本編と同じっぽい)や、バベルモードなるものがあるらしいので、ボリューム的には問題ないのかもしれませんが?

ムービーなどの挿入シーンはかなり力が入っています。 アクションパズルの部分が物足りなくても、雰囲気が好きな人はこちら目当てで手を出すかも? 雰囲気ゲーですね。

自分の好きなジャンルのゲームではないので、多少余裕がないと手が出しにくいかな? 発売から時間が経ってすぐに古臭くなるようなゲームでもなさそうなので、しばらくは様子見候補で。

2011年2月2日水曜日

SVGでマンガ風イラスト どうでもよかった女

inkscapeを使って描くSVGのマンガ風イラスト、2つ目の投稿です。 どうでもよかったことについて何か言っている女の絵です。 一応、持っているのは75Ω同軸ケーブルのつもり。

まずはpngのプレビュー版。

そしてインラインSVG版です。

2011年1月31日月曜日

CPUクーラーの掃除

1月に入ってから、けっこうな頻度でPCのオートリブート機能が働いていました。 オートリブートと言っても電源管理がどうこうされての再起動じゃなくて、ただの熱暴走です。 PCを起動してしばらく経って、丁度いろんな作業を開始した頃にヒュゥンと停止 → 画面が真っ暗に、数秒後に再起動してました。 たいていは再起動するだけですが、たまにブルースクリーンが1瞬表示されたり、フリーズしたりもあったかな? 起動してから10分以内に起こることが多く、それを過ぎたら安定して動いてました。

これは以前にもあった症状です。 その時はCPUクーラーにホコリが付いて冷却しづらくなり、冷却効果が落ちるのが原因でした。 今回も同じだろうってことでCPUクーラーの掃除をしました。 久しぶりのガワオープン。

2011年1月28日金曜日

ネオジオポケット?

ソニーの新しい携帯ゲーム機が発表されましたね。 コードネームはNGPだそうです。

ネオジオポケットの略称とかぶってます。 「ソニーがネオジオポケットの歴史を消しに来た」ってわけじゃないでしょうけど、微妙なモノとかぶっちゃいましたね。 ネオジェネレーションって名前がそのまま商品名になったら、古くなったときにツラいので正式な名称は別かな?

媒体はフラッシュメモリーベースの小型カードのようです。 ってことは、PSPgoの配信ゲームの流れは一時中断。 ジャイロセンサーと加速度センサーがついていて、本体を振って操作とかもあるので、モーターを使うディスク媒体は使えなかったのかな?

プレスリリースには「同じゲームを楽しんでいる他のユーザーの達成状況が"Activity(アクティビティ)"として常に更新されるなど、リアルタイムでのインタラクティブ・コミュニケーションが可能になります。」とあります。 やたらと個人情報を共有したがってユーザーの反感を買うのが最近のサービスの傾向。 SCEもその方向に行かなければいいんですけど...

NGPに興味はあります。 でも、発売直後に手を出せるってことは無いんだろうなぁ。

2011年1月19日水曜日

FF13-2が出るらしい

FF13-2が出るようですね。

以前「FFヴェルサス13は地雷含み」と書きましたが、これはどうなんでしょうね?

2011年発売とあるので、おそらく今年のクリスマス前くらいの発売になると思われます。 FF13の発売から見て2年後です。 開発期間が2年以上か2年未満で地雷埋設率は変わってきます。

開発期間が2年以上の場合、つまりFF13-2の開発がヴェルサスと同じくFF13発売前から始められていた場合、同様に地雷含みになりそうです。 開発期間が2年未満の場合、FF13発売後に開発を始めたのなら、FF13の評判を見て改善ポイントを検討できるはず。 地雷埋設率は低下します。 こちらの方が望ましいですね。 FF13で描画部分やその他の基礎は作ってあるので開発期間2年といえば十分そうですが、どうでしょう?

考えてみると、開発期間が短い方が良さそうな気がするっていうのも変な感じです。 また、FF13発売後に開発したとしても、スクエニが全く評判を省みないという可能性があります。 FF13は誰かが暴走してそれを止める人がいなかったからああなったのでしょう。 ありえない話ではないのが不安です。

どうであれ、FF系はしばらく発売日に買わない方向で。

2011年1月15日土曜日

ペンタブPTB-MT1の電池は4ヶ月もった

ペンタブPTB-MT1の電池が切れたので交換しました。 9月に買ったので、モニター用の電池はだいたい4ヶ月持ちましたね。

ペンタブレットの電池って基本的に入れっぱなしです。 使ってないときはあまり消費しないで、使っているときだけ電池を食うんでしたっけ? あまり調べてないんでそれが正しいかは分からないんですが、それが正しくてこのペースならあまり予備の電池の事とか気にしなくても良さそうですね。

あ、PTB-MT1の電池って普通の単4電池なんですよね。 切れても100円ショップですぐに買えるので、消耗が早くてもそれほど気にならないかも。

いや、以前使っていたペンタブの電池が「AAAA」っていう珍しい型だったのでつい気になってしまいました。 そっちの電池はコンビニや100円ショップで手に入らなかったもので...

当時はヨドバシカメラでAAAAを扱っていたけど、今はどうなのかな?

2011年1月13日木曜日

ストーブは微弱でつけっぱなし?

以前「ストーブは微弱で節約」を書いたので、関連することを。

「ホントに寒い地域では1シーズン微弱でストーブつけっぱなしが1番節約できる」っていう説があります。 実際、昔の知り合いにも1人やってるようなことを言ってた人がいました。 理屈的にはあっているような気配はします。 しかし、たとえあっているとしてもそれは止めた方が良さそうです。 火の不始末になる可能性があります。

普通のストーブは説明書を見ると「つけっぱなしは危険です」と明記されています。 1シーズンつけっぱなしにするような設計にはなっていないのです。 目先の燃費だけを見て、素人の判断でやらないようにしましょう。

「微弱でつけっぱなし」は家を建てる人やリフォームする人が業者さんと相談してやるものらしいです。 ついでに言うと、家族の誰かが常駐して火の管理ができる家向けのようです。 例えば、「2世帯住宅でお爺ちゃん、お婆ちゃんがずっと家にいる」とか「専業主婦 or 主夫が家にいる」とか「オレ漫画家」とかです。 ワンルームマンションに住んでいる人とかは自重で。

2011年1月9日日曜日

ストーブは微弱で節約

ここ数日、寒波が厳しいですね。 こんなときはストーブを自動運転にしてガーっと部屋を暖めたくなります。 しかし、それは燃費がかかるので注意が必要です。

寒いときにストーブを強火にすると部屋の空気はすぐに暖まるのですが、そのとき部屋の壁とか部屋に置いてあるものとか壁の中の断熱材とかは暖まっていません。 この状態でストーブが消火されると、すぐに部屋の空気が冷たい状態に戻ってしまいます。 自動運転のストーブだと、

  1. 室温が設定温度になるまで強火で運転。
  2. 設定温度になると消火。部屋の空気は暖かいがモノは暖まっていない。
  3. すぐに室温低下。
  4. ストーブ再点火。設定温度になるまで運転。
  5. 設定温度になると消火。部屋の空気は暖かいがモノはそれほど暖まっていない。

こういうのが部屋もモノも暖まるまで繰り返されます。 ストーブは強火運転のときはもちろん、着火するときもある程度エネルギーを使います。 燃費はあまりよくないでしょう。

  • 寒気の厳しさ
  • 建物の断熱性
  • 高層の集合住宅の場合は階数

によるけど、日本の北の方はこんな感じ。

2011年1月3日月曜日

数日ずれて蕎麦

カップ麺の蕎麦を食べました。 天ぷら蕎麦です。 そういえば、年越し蕎麦とか食べてないですね。 最近年末年始の行事とか気にしなくなってきました。

一応、去年の12/31にスーパーに行ったとき蕎麦は探したんですよね。 1袋30円の安~いゆで蕎麦。 給食とかに出てきた軟らかすぎるアレです。 もちろん年越し蕎麦としてではなく食費節約のためです。 スーパーに入ったのが夕方ということもあり、売り切れてました。 高い蕎麦以外は売り切れ。 やっぱり大晦日は仕方が無いかな? あったとしたら、大晦日に食ったろうか...

普段ゆで蕎麦は、カップ麺を食べた後の替え玉にしてます。 カップ麺1つだけじゃ足りないときに追加で。 味噌ラーメンとか醤油ラーメンとかスープヌードルのカレーとか...まぁ組み合わせによっては美味くはないですが、食べられない味でもないです。

今回ゆで蕎麦があったら、カップ天ぷら蕎麦じゃなくて別のカップ麺にしてたかな? 味的には1番あってそうですが、さすがに安っぽさが2乗されそうな気がして「カップ天ぷら蕎麦 → 替え玉ゆで蕎麦」の組み合わせは避けてます。 周りから見たら全く意味のないこだわりでしょうけど。

ちなみに、「ゆでそば」で検索すると「ゆで蕎麦を加熱調理せずに食べるのは衛生的に問題がある商品もある」とか書いてありました。 どうなんでしょうね? そんなので当たったら問題になりそうだから大丈夫だとは思うんですが。

まぁ、みなさんはパッケージの注意書きをよく読んで食べてください。 私は面倒だから、そのままかなぁ?