SR-G7000Mを購入

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

 

初の電子辞書なんで新鮮。

200804261533000 200804261535000 200804261536000 200804261536001

1時間ほど使ってみたところ、「English板電子辞書スレッド39」の396さんのコメント内容が、SR-G7000Mにもほぼそのまま当てはまる模様。

> 396 :名無しさん@英語勉強中 :sage :2008/04/21(月) 02:30:01
> 今日、初めての電子辞書としてSR-G8000を買いました。
> 細かいところで気になったこと:
> ・カタカナ辞書で引いた結果を他の辞書に引き継げない
> (ジャンプを使えば大丈夫ですが)
> ・一括検索での並び順が固定([ビ技英]を一番上にしたいのに…)
> ・英単語を入力してうっかり大辞泉とかのキーを押すと、そのあと英和とかに遷移しても単語が残っていない
> (履歴を押せば呼び出せますが)
> ・なまじインクリメンタルでの表示で用が足りるので決定キーを押さずにいると履歴に残らない
> →当たり前っちゃあ当たり前か…
> ・日本語からのインクリメンタル検索でnnと入力するまで「ん」とみなしてくれない
> ・画面は見易いが、深夜に蛍光灯の明かりが自分の頭で影になると少し見にくい
> (本を読めば確実に目を悪くしそうなほどの暗さなので当然かも、ですが^^;)
> ・12,16ドットに比べて24ドット以上がややジャギー (PCのぼかし系フォントに慣れすぎ?)
> ・閉じても電源offにならない(オートパワーoffはある)
> →閉じてoffならon/offボタンなくてもいいのに…
> ・文字の書かれているファンクションキー群がどれも押した感触が"パコパコ"
> ・電卓で削除キーが使えない、3桁毎に区切ってくれるのはいいが「,」じゃなく「’」
> ・ヘッドフォンが一般的な3.5mmじゃない
> ・スピーカーからの発音音量をミュートできない(物理的にダイヤル絞ってゼロにするしかない)
> →電車内でうっかり発音させてしまいそう…
> ・とりあえず入れてみたIT用語が入ってなかった… (フェムトセル,isochronous)
・・・

でも小さくて良い。

カテゴリー: モバイル | タグ: , , , | コメントする

blog-mode (for xyzzy) を使う

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

ここを参考に、以下をNetinstallerから入れる。

  • junk-library
  • xml-rpc-modoki
  • xml-parser-modoki
  • atom-modoki
  • blog-mode

で、

  1. M-x blog-mode
  2. aキー押下 → 「Blog Type」にMovableType
  3. 「Endpoint URL」にhttp://xxx.xxx.xxx/cgi-bin/mt/mt-xmlrpc.cgi
  4. 「Blog UserName」にユーザ名
  5. 「Blog Password」にパスワード

としていって、間違いがなければ、そのユーザが管理している(?)ブログの一覧が表示される。
ブログの上にカーソルを移動してEnterで、最近投稿した(?)記事一覧が表示される。
記事を選んでEnterすると、その記事の詳細を確認できる。
記事一覧上で、nキー押下すると新しい記事を作成する画面になる。

良い感じです。しばらく使ってみよう。

カテゴリー: ソフトウェア, ハードウェア | タグ: , , , | コメントする

ウィンドウメッセージをログに吐きたい

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

けど、Hexな値を吐いて毎回WinUser.hから探すのはメンドイので、
上手いやり方がないか試行錯誤した結果、以下で落ち着いた。

#define TOSTRING(str) \
#str
const char *getWindowMessage(UINT uMsg)
{
switch(uMsg)
{
case WM_NULL: return TOSTRING(WM_NULL);
case WM_CREATE: return TOSTRING(WM_CREATE);
case WM_DESTROY: return TOSTRING(WM_DESTROY);
case WM_SETFOCUS: return TOSTRING(WM_SETFOCUS);
case WM_KILLFOCUS: return TOSTRING(WM_KILLFOCUS);
case WM_ENABLE: return TOSTRING(WM_ENABLE);
case WM_SETREDRAW: return TOSTRING(WM_SETREDRAW);
case WM_SETTEXT: return TOSTRING(WM_SETTEXT);
case WM_GETTEXT: return TOSTRING(WM_GETTEXT);
case WM_GETTEXTLENGTH: return TOSTRING(WM_GETTEXTLENGTH);
case WM_PAINT: return TOSTRING(WM_PAINT);
case WM_CLOSE: return TOSTRING(WM_CLOSE);
case WM_QUIT: return TOSTRING(WM_QUIT);
case WM_SHOWWINDOW: return TOSTRING(WM_SHOWWINDOW);
case WM_INITDIALOG: return TOSTRING(WM_INITDIALOG);
case WM_COMMAND: return TOSTRING(WM_COMMAND);
case WM_SYSCOMMAND: return TOSTRING(WM_SYSCOMMAND);
case WM_TIMER: return TOSTRING(WM_TIMER);
case WM_HSCROLL: return TOSTRING(WM_HSCROLL);
case WM_VSCROLL: return TOSTRING(WM_VSCROLL);
case WM_INITMENU: return TOSTRING(WM_INITMENU);
case WM_INITMENUPOPUP: return TOSTRING(WM_INITMENUPOPUP);
・・・
}
static char buf[8];
wsprintf(buf, "0x%x", uMsg);
return buf;
}
カテゴリー: ソフトウェア | タグ: | コメントする

リッチエディットコントロールでハマる

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

ダイアログボックスにリッチエディットコントロールを貼り付けて、
ダイアログボックスを生成すると何故か表示されなくなった。
普通のエディットコントロールなら問題ないのに。。

途中までは上手くいってるように見えるけど、(エラー吐かないし)
CDialogImpl::Create()が返すハンドルはNULLだから、どっかで変になってるんだろう。
しゃーないので、↓こんなテキトーなマクロ拵えてウィンドウメッセージの流れを追ってみた。

#define DEBUG_MSG_MAP(str) \
break; \
} \
_RPT4(_CRT_WARN, str ": dwMsgMapID=[%d], uMsg=[0x%04x], wp=[0x%x], lp=[0x%x]\n", \
dwMsgMapID, uMsg, wParam, lParam); \
switch(dwMsgMapID) \
{ \
case 0:

↓こんな感じでメッセージマップの直後で使う。

    // メッセージマップ
BEGIN_MSG_MAP_EX(CMainDlg)
DEBUG_MSG_MAP2("CMainDlg")

するとVCのアウトプットウィンドウにログが流れるという感じ。

で、吐かれたログを見てみるとWM_DESTROYが来てた・・・

0x0030(WM_SETFONT)

0x0002(WM_DESTROY)

0x0082(WM_NCDESTROY)

エディットコントロール から リッチエディットコントロールに変更した途端にこうなったんで、

まぁ、リッチエディットコントロールの使い方が悪いんだろうと調査したところ、

以下のサイトがヒット。

ATL/WTLによるWindowsプログラミング – リッチエディット(The So-Software Studio )

なんでも、↓こんな初期化処理が要るらしい。

#define _RICHEDIT_VER 0x0200
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/)
{
// リッチエディットコントロール初期化
HINSTANCE hRich = LoadLibrary(CRichEditCtrl::GetLibraryName());
if(hRich == NULL){
AtlMessageBox(NULL, _T("リッチエディットコントロール初期化失敗"),
_T("エラー"), MB_OK | MB_ICONERROR);
return 0;
}
HRESULT hRes = ::CoInitialize(NULL);
ATLASSERT(SUCCEEDED(hRes));
::DefWindowProc(NULL, 0, 0, 0L);
AtlInitCommonControls(ICC_BAR_CLASSES);

早速追加してやってみたが変わらず・・・だったので、

その後、試行錯誤した結果、「VC6のリソースエディタを使って、リッチエディットコントロールを貼り付けると、バージョン1.0となる」ことが判明。

解決策としては、

  1. #define _RICHEDIT_VER 0x0100

    にして、バージョン1.0のリッチエディットコントロールを使う
  2. リソーススクリプト内で、"RICHEDIT"となっている箇所を RICHEDIT_CLASS に変更する。

    (RICHEDIT.H をincludeする必要有り)

    ※ リソーススクリプトでは、カスタムコントロールとして扱われるようになる。

くらいかなぁ。ややこしい・・・。

カテゴリー: ソフトウェア | タグ: , , , | コメントする

カーソル下の単語をgrepする(改悪版2)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

現在のバッファにファイル名が無かった場合は、ed::*grep-directory-history*から持ってくるように修正。(+バグ修正)

(defun grep-current-directory-at-word ()
  (interactive)
  (let ((filename (get-buffer-file-name))
        (pattern (ed::get-winhelp-topic)))
    (if (< 0 (length pattern))
        (progn
          (require “grepd”)
          (if filename
              (ed::scan-files pattern (or (split-string (car ed::*grep-file-history*) #\; nil ” “) “*.*”) (directory-namestring filename))
            (ed::scan-files pattern (or (split-string (car ed::*grep-file-history*) #\; nil ” “) “*.*”) (or (car ed::*grep-directory-history*) “~”)))
          )
      (message “検索するWordが無いよ”)))
  )

カテゴリー: ソフトウェア | タグ: | コメントする

カーソル下の単語をgrepする(改悪版)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

tips/カーソル下の単語を grep する – XyzzyWiki
を参考にして、機能縮小版。
個人的に、「検索対象のファイルは現在のファイルと同じ拡張子のみ」が要らなかったんで。

(defun grep-current-directory-at-word ()
  (interactive)
  (let ((filename (get-buffer-file-name))
        (pattern (ed::get-winhelp-topic)))
    (if (and filename (< 0 (length pattern)))
        (progn
          (require "grepd")
          (ed::scan-files pattern (or (car ed::*grep-file-history*) "*.*") (directory-namestring filename))
          )
      (if (not filename)
          (message "ファイル名無いよ")
        (message "検索するWordが無いよ"))))
  )

(defun grep-dialog-with-word-and-filename ()
  (interactive)
  (unless (pre-selection-p)
    (skip-syntax-spec-forward "w_")
    (ed::begin-selection)
    (skip-syntax-spec-backward "w_"))
  (grep-dialog)
  )

(global-set-key #\C-8 #’grep-current-directory-at-word)
(global-set-key #\C-9 #’grep-dialog-with-word-and-filename)

カテゴリー: ソフトウェア | タグ: , , | コメントする

Comodo Firewall Pro 3

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

Outpost Firewall(無料版)を入れてたけど、「現在の接続情報を見ようとすると落ちる。」
という怪現象が直らないため、別のPersonal Firewallを探していて見つけたのが、
Comodo Firewall Pro 3。永遠にFreeだそうです。また、FirewallのLeak Testでも
かなり良い線を行ってるそうです。

しばらく使ってみます。
ほかにJetico Personal Firewall も良さそうだった。Comodo Firewall Pro 3が、
しっくり来なかったら使ってみます。

↓日本語のまとめサイト
Comodo Firewall Pro @ まとめ

カテゴリー: ソフトウェア | タグ: , | コメントする

shell32.lib(shguid.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

とVisual C++ 6に言われてハマった。
インストールし直してみても同じエラー。。

しょうがないので、google先生に頼ってみたところ、
以下のキャッシュがヒット。

CodeGuru Forums – Who can help me?

ここの情報によると最新のPlatform SDK(October 2005)の問題だそうだ。
February 2003だと発生しないと書いてあるので、試してみる。
・・・が、そんな古いPlatform SDKあんのか?と疑りつつも再びgoogle先生。
すると以下のサイトがヒット。

Windows Build Prerequisites on the 1.7 and 1.8 Branches – MDC

「古いバージョンが必要な方は・・・」と、以下のリンクが張ってあった。

Windows Server 2003 PSDK Full Download with Local Install

2008/01/04現在も有効なリンクだったので、そのページから、PSDK-Full.1.cab ~ PSDK-Full13.cab、Extract.exe、 PSDK-Full.bat をダウンロードし、

PSDK-Full.bat C:\tmp\PlatformSDK

で展開した後、Setup.Exeを実行して、Platform SDK(February 2003)をインストール。
インストール成功後、Visual C++6でLNK1103のエラーが発生していたプロジェクトを再度ビルドしてみるとすると、LNK1103が出なくなった。

めでたしめでたし。

# VC6・・・

カテゴリー: ソフトウェア | タグ: , , , | コメントする

IPAがWinnyによる情報漏洩の対策技術を公募

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

スラッシュドットジャパンの記事のコメントに興味深いものがあった。

拡張子偽装の対策を行なう

Winnyネットワークに広がるRLO利用の拡張子偽装手法 [slashdot.jp] にあるように拡張子を偽装して、exe ファイルを実行させるウイルスが増えているので、下記の対策方法を啓蒙すると良いかと思います。

    1. 「メモ帳」を開いて、"**" と入力する。
    2. "*" と"*" の間にキャレットを移動させる。
    3. 右クリックメニューの「Unicode 制御文字の挿入」から「RLO Start of right-to-left override」を選択する。
    4. 作成したデータを、クリップ ボードにコピー。
    5. 「ファイル名を指定して実行」で「名前」に「gpedit.msc」し、「OK」を選択する。
    6. 「グループ ポリシー」の「ローカル コンピュータ ポリシー」→「コンピュータの構成」→「Windows の設定」→「セキュリティの設定」を選択する。
    7. 「ソフトウェアの制限ポリシー」を右クリックし、「新しいポリシーの作成」を選択する。
    8. 「追加の規則」を右クリックする。
    9. 「新しいパスの規則」を選択する。
    10. 「新しいパスの規制」の「パス」に、クリップ ボードのデータを貼り付けて、「説明」に「RLO Start of right-to-left override」と入力する。

仮にアイコンがメモ帳そっくりで、ファイル名の最後に".txt"って入ってたら、
ついついダブルクリックしてしまう可能性が。。
↓こんなのとか。

image
それを防止できるのでイイ!!

カテゴリー: その他 | タグ: | コメントする

804NK(N71) (2)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

SDKを探していると似たような種類のSDKがいくつもあることが分かる。

  • 3rd Edition, FP 2, Beta (336 MB)
  • 3rd Edition, FP 1 (355 MB)
  • 3rd Edition, Maintenance Release (328 MB)
  • 3rd Edition, Japanese (225 MB)
  • 3rd Edition (262 MB)
  • 2nd Edition, FP 3 (152 MB)
  • 2nd Edition, FP 2 – Chinese, WINS (143 MB)
  • 2nd Edition, FP 2 – Thai, WINS (142 MB)
  • 2nd Edition, FP 2, WINS (143 MB)
  • 2nd Edition, FP 2 – Japanese, WINS (142 MB)
  • 2nd Edition, FP 2, CW (150 MB)
  • 2nd Edition, FP 1 – Chinese, WINS (109 MB)
  • 2nd Edition, FP 1, WINS (116 MB)
  • 2nd Edition, FP 1, CW (115 MB)
  • 2nd Edition, WINS (101 MB)
  • 2nd Edition, CW (107 MB)

NokiaにあるN71の説明ページには、「S60 3rd Edition (initial release)」と書いてあるので、
おそらく「3rd Edition (262 MB)」が該当するのだろうとダウンロード。でかいなぁ。。

カテゴリー: モバイル | タグ: , , , | コメントする