2008-02-29

中日新聞の記事 『ファイルの偽装』を見抜く はちょっと問題ありそう

2008-03-01 色々書き直しました

2008年2月25日の中日新聞に <パソコンA to Z>『ファイルの偽装』を見抜く という記事が載っていたが、ちょっと問題があると思う。

まず、あら探しのようですが、対象となる環境が書かれていない。
(実は自分もバージョンを書いていないのでと問題だと思っています。ちゃんと書かないと後で役に立たない情報になってしまうので暇なときに追記しようと思ってます。…多分)

Windows Vista と Windows XP SP2 は大丈夫でしたが、Windows 2000 だと多少文言が違います。対象が初心者だと思われるので、一字一句同じじゃないと迷う人もいると思うのですが…
サポート期限の切れたOSの事など考慮しなくていい?そうかもしれません。



ごめんなさい。

ホントはMacの事が全く考えられてなかったのが悔しかっただけです。

気に入らないついでに揚げ足取りをすると
まず、適当なフォルダを開き、「ツール」メニューから「フォルダオプション」を選択します。次いで「表示」タブを選択し、並んでいる項目一覧の中の「登録されている拡張子は表示しない」のチェックを外します。そして、画面上部の「すべてのフォルダに適用」をクリックし、最後に画面下の「OK」をクリックして完了です。

「すべてのフォルダに適用」をクリックする必要はないです。これは表示する項目のレイアウト設定(アイコン表示 or 詳細表示 とか、詳細表示の時の表示項目とか)の設定を全てのフォルダに設定するためのボタンです。
問題はこの先。
 この設定にすると、ファイル名の末尾に「.〇〇〇」のように、ピリオドと三文字が必ず表示されるようになります。

 アイコンを偽装できても、この三文字は偽装できないので、ファイルの「本物の形式」を見抜く手がかりになります。

確かにその通りなんですが、本物の形式が何だと危険があるのでしょうか?拡張子を見てそれが何であるか?実行される物かどうか、それが判断できる人がどれだけいるんでしょうか?
また、アイコン偽装をする場合は、ファイル名を長くして拡張子を偽装するのとセットで使われる事が多いので本当の拡張子を見落とす人も多いんじゃないでしょうか?
ファイル名を長くしてってのは
ファイル名.txt .exe

こんなやつですね。スペースが長すぎてホントの拡張子は欄外になって表示されないです。

「表示」→「詳細」で一覧表示するか、ファイルのプロパティを開くかしてファイルの種類を確認させた方がいいと思うんですが…

ちなみに私の場合、詳細表示にして表示項目はこうです


問題は開いてはいけない種類と拡張子ですが…
まあ、専門家ではないし、新聞とかの責任のあるメディアではないので、今思いつく物だけを書き出しておきます。

Windowsの実行ファイルの種類と拡張子
OS種類拡張子
Windows XPアプリケーションexe
スクリーン セーバーscr
Windows インストーラ パッケージmsi
コントロール パネルcpl
MS-DOS アプリケーションcom
MS-DOS バッチ ファイルbat
MS-DOS プログラムへのショートカットpif
Windows NT コマンド スクリプトcmd
VBScript Script Filevbs


なんか、書いていて思ったんですが、きっとこんな事を考えても無駄なんでしょう…
そんな小手先の事よりも、ネットから拾ってきた怪しいファイルを実行しないとか、P2Pで変なファイルをダウンロードしないとか、メールの添付ファイルは不用意に開かないとか…他の事の方が重要な気がします。

セキュリティ絡みの話って難しいですね。

2008-02-28

BootCamp + VMware環境での Office 2007 アクティベーション

VMware + Boot Camp でのMicrosoftアクティベーション でアクティベーションが通ったと書いていましたが、先日、アクティベーションが必要になりました。
しかも今回は BootCamp、VMware の切り替えごとに毎回要求されます。

アクティベーション自体は通るので使えない事はないんですけど、ネットワークに繋がらない状況で使いたいときにはどうしろと言うんでしょう?
電車の中で作業する事もよくあるし…

最近変わったと言えば VMware Fusion がバージョンアップ、AppleK BC for XPがバージョンアップくらいだと思うんですけど…

とても不便で不快だ。

2008-02-26

ETロボコン2008

本日、業務命令?によりETロボコン2008に参加する事になりました。
はっきり言って私は力不足。

涙目です。

詳しい事はここには書かないと思いますが…厳しいのぅ

Effective C++ 5項

5項 C++が自動で書き、自動で呼び出す関数を知ろう

この辺りから先は組み込み系ではあまり関係ない話になりそうです

デフォルトコンストラクタ、デストラクタ、コピーコンストラクタ、コピー代入演算子を宣言しなければコンパイラが必要なときに自動生成することになっているそうです。
  • Foo f1;
    デフォルトコンストラクタ、デストラクタが必要になる
  • Foo f2(f1);
    コピーコンストラクタが必要になる
  • f2 = f1;
    コピー代入演算子が必要になる

とのこと。

関数の引数で値渡しをするときや返値として値を返すときにはコピーコンストラクタが呼び出される
当然ですがこうやって生成されたオブジェクトは引数の場合は関数を抜けた時に、返値の場合は関数を呼び出したステップを抜けた時点で破棄されるのでデストラクタが呼び出される

例えばデストラクタで内部でポインタとして保持しているオブジェクトを delete したりしていたら…
デフォルトのコピーコンストラクタとコピー代入演算子はビットレベルのコピーなのでよくよく考えて作る必要がありそうです。

とは言っても、私がやっているのは組み込みなので「値渡しは極力行わない」です。多分。

Bloggerに「続きを読む...」を追加 の補足

Bloggerに「続きを読む...」を追加 の追記

考えてみれば当然なんですが、


設定→アーカイブ中→投稿ページを有効にしますか?
を「はい」にしていないと続きの部分が読めません!!

なぜなら個別ページの時のみ表示するようにしているからです。
(表示していないだけでソースには含まれていますけど)

2008-02-25

Office 2007 に PDF で保存機能を追加

何かと不評な Office 2007 ですが、PDF および XPS による保存が可能らしいです。
ただし、製品には付属していないので Microsoft からダウンロードして入手する必要があるそうです。
これをインストールすると名前をつけて保存から保存が出来るようになります。
個人的にはXPSは不要なのでPDFだけインストールしました。

2008-02-24

Effective C++ 4項

4項 オブジェクトは、使う前に初期化しよう

初期化されていないオブジェクトの値を読み出そうとすると未定義な動作になってしまいます。
そこで、使う前に必ず初期化されている事が重要になってくるのですが、規定の初期化ルール(いつ、どんな順番で初期化が行われるか)はあまりにも複雑なので単純に使う前に必ず初期化するようにするのがよいそうです。

だんだん文章でメモを残す事も難しくなってきたので要点を箇条書きにする事にしました。
意味がわからないときには Effective C++ を読み直すという事で(^^;)
  • 初期化と代入は違う。混同しないように!
    • C++ではコンストラクタ本体の実行前にデータメンバの初期化が行われる。
    • 初期化子が書かれていなければデフォルトコンストラクタが自動的に呼ばれる。
    • このためコンストラクタ内で代入している場合、データメンバはデフォルトコンストラクタで初期化後にコピー代入演算子が呼ばれる事になる。
    • 当然、初期化子によりコピーコンストラクタが1回呼び出されるだけの方が効率がよい。
  • 初期化は基底クラス→派生クラスの順に行われる。
  • 初期化子で全てのデータメンバを宣言順に初期化するようにしよう。
    • 明示的に初期化しなくても自動的に初期化されてしまうのだから意識できるように明示した方がよい。
    • 初期化子による初期化はデータメンバの宣言順に行われる。初期化子がその順になっていなくてもWarningすら出ないが、宣言順にそろえた方がよい。
  • ローカルでない静的オブジェクトの初期化には注意が必要。
    • ローカルでない静的オブジェクトとはグローバルなオブジェクト、名前空間をスコープとするオブジェクト、クラス内でstatic宣言されたオブジェクト、ファイル内でstatic宣言されたオブジェクトの事
    • 関数内でstatic宣言された変数はローカルな静的オブジェクト
    • 翻訳単位とは1つのオブジェクトファイルを作るためのソースコードの事
    • 「異なる翻訳単位で定義されたローカルでない静的オブジェクト」の初期化順はどうなるかわからない。当たり前ですが…
      ちなみに同じ翻訳単位の場合は記述がありませんでしたのでわかりません。多分決まっているのでしょうが、それによらないコードを書くべき何でしょう。きっと。
    • ローカルでない静的オブジェクト初期化のために別の翻訳単位にあるローカルでない静的オブジェクトを使用していると初期化が行われないかもしれない。
    • 関数に対するstaticなオブジェクト(ローカルな静的オブジェクト)は、その関数の呼び出しで、制御が最初にその定義に達したときに、初期化される。
    • この性質を利用して、ローカルでない静的オブジェクトは singleton に似た実装で static 関数で取得するようにすればよい。実体はその関数内で static なオブジェクトとして定義する。(singletonと違ってそのクラスのインスタンスが唯一である事を保証するわけではない)
    • 使う側では常にこの関数経由でインスタンスを取得するようにする
    • 全てのローカルでない静的オブジェクトをこのように置き換えれば初期化順は必要な順になるため考えなくてもよくなる。ただしデッドロックしないように!!
    • この方法はスレッドセーフではない!!スレッドが1つだけのうちに全てのstaticオブジェクトを初期化しておく解決方法もある。他の方法はここでは記述がない。

と、まあこんなところです。
C++って難しいですねぇ…

2008-02-23

Effective C++ 3項

3項 可能ならいつでも const を使おう

いつも言い訳していますが、自分のためのメモですので、const 宣言の書き方の要点だけ。

  • 変数に対する const
    • ポインタの場合、ポインタそのものが変更できないのか、ポインタが指すデータが変更できないのか、両方かで書き方が変わる。
    • *より左側に const があるときはポインタが指すデータが変更できない
    • *より右側に const があるときはポインタそのものが変更できない
  • 関数に対する const
    • 引数に対する const はポインタ渡しや参照渡しを安全にすることができる。引数にクラスを使用する場合、値渡しは色々問題を引き起こす可能性があるためconst参照渡しを使用する場合が多くなる。
    • 返値に対する const は演算子のオーバーロードなどで使用すると効果的
    • メンバ関数に対する const は関数定義の後ろに const をつける。これによりメンバ関数内で static でないメンバ変数を変更する事が出来なくなる(クラスインスタンスがbitレベルで変更不可となる)
    • メンバ関数は const が異なると別の型の定義と判断される。つまりオーバーロード扱いとなる


Effective C++ 2項

2項 #define より、const、enum、inline を使おう

まあ、これは当たり前ですね
プリプロセッサでいろいろやると見通しが悪いし、特にマクロが問題になりやすいですから

書けば書くほど自分の恥を晒す事になってしまうわけですが、コレも以前ハマりました。
私が定義した列挙型の定義が実は別のところで #define されていたため、当然コンパイルエラーになるわけですが、コンパイルエラーのメッセージが意味不明で何が原因なのかさっぱりわからず…

プリプロセッサではなくコンパイラで行えばスコープを限定する事が出来ますし、コンパイルエラーで訳のわからないメッセージに悩まされる事も減る事でしょう(十分なスキルがあれば悩まないかもしれませんが)

他に知らなかった(けど常識な)事は enumハック
例えばクラスメンバとして static const int Count; を値を宣言し、クラスメンバ int Array[Count];のように配列の宣言の要素数に使用したいとします
この場合、古いコンパイラでは static const を宣言時に初期化できないので配列の要素数には使用できないらしいのです(新しいコンパイラでも宣言時に初期化が出来るのは整数型のみです)
このようなときには static const ではなく enum で定義するとよいとの事

詳細や理由は Effective C++ を参照してください

Windows Live SkyDrive 日本でのサービスを開始

Windows Live SkyDrive サービスが日本でも開始されました。
無料で5GBの容量とは太っ腹!!と思ったのですが

webから1つ1つアップロードなんですね(-_-)
専用ツールを使ったアップロードはWindows XP 以降だけなんですね(-_-;)
何故WebDAVにしない!!(-_-#)

というわけで使う前からダメ出しさせていただきます
標準技術は嫌いなんでしょうね…

Effective C++ 1項

1項 C++を複数の言語の連合と見なそう

だそうです。

「C++は柔軟すぎてどう作ればいいのかわからない」と私の尊敬する技術者の方が言っていました。
きっとこれの事なんだろうなぁ…と思います。

自分一人でやりきるならいいけど、スキルレベルが十分でない人もチームに加わる業務においてはC++ではまともなモノが作れない気がしてしまいます。

まあ、この項は
  • C
  • オブジェクト指向C++
  • テンプレートC++
  • STL
の4つの「サブセット言語」の連合と考えよう。効率よくプログラミングするためのルールはどの部分を使うかで変わってくるって事でした。

以下広告

2008-02-22

Effective C++ イントロダクション

イントロダクションからいきなり知らなかった事ばかり!!
いくらなんでもここまで自分の無知を晒すのはどうかと思いながらも

どうせ誰も見てないし、自分のメモとして残してるだけですから

自分の思いこみで間違った事を書いたとしても何の問題もない!!
と言い訳しながら書いています。

まず解っていなかったのは、宣言と定義があると言う事実。
今まで明確に意識してませんでしたが、何となく納得です。
だからローカルでない静的オブジェクトは定義側にも必要だったんですね。
だから初期値は定義側に書くんですね(違う物もあるけど)。

次に解っていなかったのは、explicit指定子。
コンストラクタにのみ指定可能で、コレを付けると暗黙の型変換が行われなくなるそうな。
例えば、コレを付けないと
class Hoge {
public:
Hoge( int arg );
}

のようなクラスがあったとして
Hoge foo = 100;

と書くと
Hoge foo = Hoge( 100 );

と解釈されるそうな。
当然、意図しない動作になる可能性があるため、特に理由がない限りexplicitを付けるべきとの事。
私としてはこんな暗黙の型変換は気持ち悪くて仕方ないので今度からは機会があれば付けようと思います。

さあ、まだまだ続きます。本当に半年間もC++でコード書いていたのが信じられませんが…
コピーコンストラクタとコピー代入演算子が自動的に生成される
事を知りませんでした。…なんだか

無知っていうレベルじゃねぇぞ!

って感じです。だんだん落ち込んできましたorz

最後に「未定義な動作」についてですが、私は甘く見ていたようです。

…ここまで読んだだけでも、何故C++を使わなければならないのか疑問に思えてきました。
記述に対する動作を正しく理解して、正しく書かないとまともに動かない言語。
未定義な動作が紛れ込むリスクを冒すくらいならReal-Time Java使えばいいじゃない?と思のは理解が浅いが故なのでしょうか?

言語としてスレッドの概念がないなら尚更って思いますが…
でもUNIXはCで書かれてるんだよなぁ(?_?)


2008-02-21

C++のリテラル値(実数)

C++のリテラル値(整数) の続き

実数リテラルも他力本願、ふ 流浪の日々 さんの所から要約だけを書いてみます。
基本、自分用のメモですから…と苦しい言い訳をしてみる。

  • 指数表記の場合
    [ 数値(小数点を含んでもよい) ] + [ E or e ] + [ + or - (省略可) ] + [ 整数 ] + [ f or F or L or l (省略可) ]
    123e45 とか 123e-45f とか 123.45e6L とかが該当します。
    先頭の数値部分は .01 や 10. のような表記もOK
    サフィックスは1つだけ指定可能で、なしは double、f または F で float、l または L で long double になります。
  • 指数表記しない場合
    [ 数値(小数点を必ず含む) ] + [ f or F or L or l (省略可) ]
    123. とか .123 とか 100.0 とかが該当します。
    サフィックスは指数表示の場合と同じ。
    リンク先を見た限りだと、整数リテラルの場合もそうだけど符号について記述がないみたいですが…
こちらは整数リテラルより間違えにくいかな?

普通ここまで来たら文字列リテラルもやるんでしょうけど…
今の仕事では文字列使用してないので多分やりません。(^^;)

C++のリテラル値(整数)

最近ハマった事、それは

C++でのリテラル値の書き方を知らない

という、それで金取っていいの?と突っ込まれてしまいそうな事でした。
実際、気にはなっていましたが、型指定したいときに調べる程度しかしてなかったのでこの機会に一通り調べてみようと思います。

ISOの規格、読まなくても既に読んで解説してくれてる素晴らしい方がいらっしゃいましたので、要約だけ書いてみます。

きちんと知りたい方は ふ 流浪の日々 を参照してください。

まず、整数リテラルから
  • 10進リテラル
    先頭1桁が 1〜9 で始まり残りの桁が 0〜9 で書かれた数値、従って0は10進リテラルではない。
    サフィックスとして末尾にunsignedの場合はuまたはUを、longの場合はlまたはLを付けてもよい。
    両方の場合はどちらが先でもよい。
  • 8進リテラル
    先頭1桁が0で始まり、残りの桁が 0〜7 で書かれた数値、従って0は8進リテラル。
    サフィックスは10進と同じ。
    私がハマったのはコレ。桁揃えるのに先頭に 00123 のように書いてしまいました。
    当然テストで気づいたので客先にはバレてないですが…オハズカシイ限りorz
  • 16進リテラル
    0xまたは0Xで始まり、残りの桁が 0〜9, a〜f, A〜F で書かれた数値。
    これもサフィックスは10進と同じ。
(unsigned) integer, (unsigned) long 以外の整数リテラルはない…のかな?char は文字リテラルだし…

FONがキャンペーン中

FONについて今まで何度かふれてきましたが、2008年2月4日〜 2008年4月4日の間、FONの会員になるだけで(自分のFONルータを設置しなくても)アクセスポイントが使用できるそうです。

さらに2008年2月16日〜 2008年4月4日の間はFONルータ(1980円)の送料・代引手数料が無料!
九十九電機では1000円で買えるそうです。

FONは先日、livedoorと提携して山手線のlivedoor wirelessを無料で8月まで利用できるようになったばかり!
(その後はどうするか未定らしいです)

1000円で始められるならとてもおいしいと思うのですが、皆さんもいかがでしょうか?

2008-02-20

Effective C++ を読み始めました

半年前くらいからC++で組込制御系の仕事をやっています。

実はC++は学生の時に自分でちょっと勉強していたくらいだし、組込制御系に至っては今まで一度もやった事がないという…

まあ、それでも何とか仕事になってはいたんですが、最近やっとC++を思い出してきたので Step up したくなり、定番の Effective C++ を買ってみました。

まだ、さわりしか読んでいませんが、C++って難しいですね〜
今まで半年間C++で何とか仕事できていたのはコーディング規約でトラブルが起こりそうな部分は使わないように取り決めがあった事や、組込系であるが故、動的なメモリ管理をしないようになっていたからだとよ〜くわかりました。

今のところ、仕事はなんとかなっているとは言え、やはり私のスキルレベルは底辺なんですねぇ orz

とりあえず暫くはC++の話も書いていこうかと思います。

以下広告

バックリンクは設定できてました

バックリンクが設定できない の続き

実はちゃんとできてました。

確かにアレを書き始めたときは「この投稿へのリンク」「リンク作成」も表示されていなかったのでおかしかったのですが、その後悩んでいたのは単純に私の勘違い。

そう、バックリンクには

外部からのリンクが表示される

のがそもそもの仕様のようです。
だからいくら自サイト内でリンク張っても表示されないと言う…

自サイト内の記事内で張っているリンクを表示したい場合はどうすればいいんだろう?

2008-02-19

Bloggerに「続きを読む...」を追加

Bloggerに「続きを読む...」機能を追加してみました。

これ、全くの他力本願で人様のサイトの内容 I saw seashells.: Blogger で「続きを読む」機能を。-- 3.5 をそのまま実行しただけです。

I saw seashells. さんの所では色々模索した結果、テンプレートに細工 + JavaScript で落ち着いたようですが、私の所では敢えて没になった テンプレートに細工 + CSS(コレもテンプレート内ですけどね) の方式でやりたいと思います。

ブラウザによってうまく表示されない事があるようですが、そもそも誰も見ていないようなページなのでお構いなしです。
変更手順は以下の通り
  1. 「レイアウト」→「HTMLの編集」 ページを開く
  2. 「ウィジェットのテンプレートを展開」チェックボックスをチェックする
  3. 「</head>」を検索して直前に
    <style type="'text/css'">
    <b:if cond="'data:blog.pageType">
    .fullpost {display:block;}
    .readmore {display:none;}
    <b:else/>
    .fullpost {display:none;}
    .readmore {display:none;}
    .fullpost + .readmore {display:block;}
    </b:if>
    </style>
    を挿入する
  4. 「<data:post.body>」を検索して
    <p><data:post.body/></p>
    <p>
    <data:post.body/>
    <b:if cond='data:blog.pageType != "item"'>
    <div class='readmore'>
    <a expr:href='data:post.url'>
    続きを読む...
    </a>
    </div>
    </b:if>
    </p>
    に置き換える

後は各記事の中で一覧に表示しない部分を <div class="fullpost"> と </div> で囲むだけ。
注意点は記事の最後に書いた </div>の後ろには何も書かない事、改行もダメって事です。
(途中を省略する事は出来ません)
先人たちの知恵のおかげでとっても簡単に設定できたのでした!
なお、何でこうなるのかは I saw seashells. さんの所を見てください(^^;)


2008-02-17

MSゴシック と MS明朝 をClearTypeで表示する

Windows 2000 では単純なアンチエイリアスで、Windos XP以降ではClearTypeでフォントのスムージングが出来ますが、MSゴシックやMS明朝は16pt以下のサイズではビットマップフォントが使用されるため、スムージングが行われません。(この情報が正確であるかは確認していません。全てこのサイトの情報を元にしています。)

高解像度な液晶画面を使用しているのであればClearTypeを使用すると文字がかなり見やすくなります。
そこで、MSゴシックとMS明朝をClearType対応にしてフォントを置き換えてしまいます。

リンク先の情報は非常によくまとまっているため、今更私が書く事もないのですが、再インストールとかの度に同じ作業をするのは面倒なので作業手順のメモ、と言う事で…
  1. 適当なフォルダ(8.3形式で認識できるフォルダが望ましい)を作成し、中に以下のバッチファイルを6個作成します。
    • 0PrepareFolders.cmd
      mkdir 0OrgTtc
      mkdir 1BrknTtf
      mkdir 2NBmpTtf
      mkdir 3AaTtf
      mkdir 4NewTtc
      mkdir 5Backup
      mkdir Tools
    • 1BreakTtc.cmd
      (ファイル名が8.3形式なのはMAKETTC.EXEが認識してくれないため)
      del /q ".\1BrknTtf\*.ttf"
      cd .\1BrknTtf
      "..\Tools\ttsdk\TTC\BREAKTTC.EXE" "..\0OrgTtc\msmincho.ttc"
      move ".\FONT00.TTF" ".\msmincho.ttf"
      move ".\FONT01.TTF" ".\mspminch.ttf"
      "..\Tools\ttsdk\TTC\BREAKTTC.EXE" "..\0OrgTtc\msgothic.ttc"
      move ".\FONT00.TTF" ".\msgothic.ttf"
      move ".\FONT01.TTF" ".\mspgothi.ttf"
      move ".\FONT02.TTF" ".\msuigoth.ttf"
      cd ..
    • 2RemoveBmp.cmd
      (参考にしたサイトのスクリプトだと他のプロセスがファイル使用中でコケました。プロセス終了を待つとか正しい対応は私のスキル不足により却下)
      del /q ".\2NBmpTtf\*.*"

      for /l %%I in ( 7,1,22 ) do (
      echo PPEM %%I > ".\2NBmpTtf\mtemp%%I.txt"
      echo END >> ".\2NBmpTtf\mtemp%%I.txt"
      )

      for %%I in (".\1BrknTtf\*.ttf") do (
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d "%%~fI" ".\2NBmpTtf\mtemp7.txt" ".\2NBmpTtf\%%~nI7.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI7.ttf" ".\2NBmpTtf\mtemp8.txt" ".\2NBmpTtf\%%~nI8.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI8.ttf" ".\2NBmpTtf\mtemp9.txt" ".\2NBmpTtf\%%~nI9.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI9.ttf" ".\2NBmpTtf\mtemp10.txt" ".\2NBmpTtf\%%~nI10.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI10.ttf" ".\2NBmpTtf\mtemp11.txt" ".\2NBmpTtf\%%~nI11.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI11.ttf" ".\2NBmpTtf\mtemp12.txt" ".\2NBmpTtf\%%~nI12.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI12.ttf" ".\2NBmpTtf\mtemp13.txt" ".\2NBmpTtf\%%~nI13.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI13.ttf" ".\2NBmpTtf\mtemp14.txt" ".\2NBmpTtf\%%~nI14.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI14.ttf" ".\2NBmpTtf\mtemp15.txt" ".\2NBmpTtf\%%~nI15.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI15.ttf" ".\2NBmpTtf\mtemp16.txt" ".\2NBmpTtf\%%~nI16.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI16.ttf" ".\2NBmpTtf\mtemp17.txt" ".\2NBmpTtf\%%~nI17.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI17.ttf" ".\2NBmpTtf\mtemp18.txt" ".\2NBmpTtf\%%~nI18.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI18.ttf" ".\2NBmpTtf\mtemp19.txt" ".\2NBmpTtf\%%~nI19.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI19.ttf" ".\2NBmpTtf\mtemp20.txt" ".\2NBmpTtf\%%~nI20.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI20.ttf" ".\2NBmpTtf\mtemp21.txt" ".\2NBmpTtf\%%~nI21.ttf"
      ".\Tools\ttsdk\SBIT\sbit32.exe" -d ".\2NBmpTtf\%%~nI21.ttf" ".\2NBmpTtf\mtemp22.txt" ".\2NBmpTtf\%%~nI.ttf"
      )

      for /l %%I in ( 7,1,22 ) do (
      del /q ".\2NBmpTtf\*%%I.*"
      )
    • 3EnableAntialiasing.cmd
      del /q ".\3AaTtf\*.*"

      copy ".\2NBmpTtf\*.*" ".\3AaTtf\"

      for %%I in (".\3AaTtf\*.ttf") do (
      ".\Tools\ttfmod\ttfmod.exe" "%%~fI"
      )
    • 4MakeTtc.cmd
      del /q ".\4NewTtc\*.*"
      copy ".\3AaTtf\*.ttf" ".\4NewTtc\"
      ".\Tools\ttsdk\TTC\MAKETTC.EXE" ".\4NewTtc\msmincho.ttc" ".\4NewTtc\msmincho.ttf" ".\4NewTtc\mspminch.ttf"
      ".\Tools\ttsdk\TTC\MAKETTC.EXE" ".\4NewTtc\msgothic.ttc" ".\4NewTtc\msgothic.ttf" ".\4NewTtc\mspgothi.ttf" ".\4NewTtc\msuigoth.ttf"
      del /q ".\4NewTtc\*.ttf"
    • 5ReplaceFonts.cmd(動作未確認)
      move "%SystemRoot%\msgo*.tt?" ".\5Backup\"
      move "%SystemRoot%\msmi*.tt?" ".\5Backup\"
      copy ".\4NewTtc\msgothic.ttc" "%SystemRoot%\Fonts\"
      copy ".\4NewTtc\msmincho.ttc" "%SystemRoot%\Fonts\"
  2. コマンドプロンプトを開き、作成したフォルダに移動します。
  3. 0PrepareFolders.cmd を実行します。
  4. Toolsにttsdkttfmodを解凍しておきます。
    ttsdkはTools\ttsdk\TTC以下にBREAKTTC.EXEとMAKETTC.EXEが、ttsdkはTools\ttsdk\SBIT以下にSBIT32.EXEが置かれるように解凍します。
    ttfmodはTools\ttfmod以下にttfmod.exeが置かれるように解凍します。
    ttsdkは現在、Microsoftで配布していない模様、エクセルソフトさんからダウンロード可能ですが、再配布OKなのか?改変されていないか?は謎です。
    ttfmodは開発停止しているようですがまだダウンロード可能でした。
  5. 作成されたフォルダ、0OrgTtc にコントロールパネル→フォントからMSゴシックとMS明朝のファイルをコピーします。コピーしたファイルは msgothic.ttc と msmincho.ttc にリネームしておきます。
    (中途半端にスクリプトが用意してないのは突っ込まないように)
  6. コマンドプロンプトから 1BreakTtc.cmd 2RemoveBmp.cmd 3EnableAntialiasing.cmd 4MakeTtc.cmd を順に実行します。それぞれの実行結果は 1BrknTtf 2NBmpTtf 3AaTtf 4NewTtc に出力されます。ちなみにスクリプトには
    エラー処理が一切入っていません。
  7. コントロールパネル→フォントからコピーしたファイルが msgothic.ttc msmincho.ttc 以外の名称だった場合はファイル名でレジストリを検索して msgothic.ttc msmincho.ttc で置き換えるか、5ReplaceFonts.cmd でコピーするファイル名をコピーしたファイル名になるように書き換えておきます。
  8. リブートして回復コンソールを起動して 5ReplaceFonts.cmd を実行します。
    (私はMacからBootCamp上のファイルを置き換えたのでこれは動かしていません)
以上でMSゴシックとMS明朝が全てのサイズでスムージングされるハズです。
(もちろんOSの設定は必要です)
後はClearType Tunerでチューニングすればキレイなフォントで快適生活?なはずです。

ただし、スムージングを強制的に無効にしているアプリもあり、このようなアプリでは非常に不快な思いをします。また、Javaアプリは今までスムージングされたものを見た事がないです。

そうそう、一つ注意が

Windows Updateでフォントのアップデートがありますけど、これでフォントを置き換えているとアップデートに失敗します。
そんな時は5Backupにあるフォントで元に戻してアップデートしましょう。
(元に戻すバッチが用意されていないのも突っ込まないでくだされ)

2008-02-16

回復コンソールをHDDにインストールする

先日、BootCamp上のWindows XPのMSゴシックとMS明朝をClearTypeで表示するための作業を行った。
(これは後日書こうと思います。)

フォントの加工が終わったのでフォントファイルを置き換えようと思ったのですが、これらのフォントはシステムで使用しているため、Windows起動中には置き換えが出来ません。
そこで回復コンソールを起動して置き換えをしようと思ったのですが…

回復コンソールをHDDにインストールするの、忘れてました。

そういえば以前、Windows XP SP2に回復コンソールをインストールしようとしたところ、バージョンが違うのでインストールできいとメッセージが表示され、どうしようもなかった事がありました。
(私の持っているWindows XPは無印のアップグレード版)
それ以降、Windowsのインストール直後に回復コンソールをインストールし、その後SPを当てるようにしていたのですが、BootCampにインストールするには最初からSP2である必要があり、ツールを使ってWindows XP無印アップグレード版からSP2のインストールCDを作ってインストールしました。
と言う事はそのCDが無印と認識された場合、私には

BootCamp上のWindows XPに回復コンソールをインストール出来ない

ということになります。

ダメ元って事でCDを入れてコマンドプロンプトに
D:¥I386¥WINNT32.EXE /CMDCONS
と入力してみると…


どうやらインストール出来そうです。
「はい(Y)」を選ぶと、画面がいくつか表示された後、インストールできたというメッセージが表示されます。(インストール中の画面はボタンを押せそうな気配ですが、自動で選択されるので放置しておきます)


回復コンソールをHDDにインストールすると、起動時のメニューに回復コンソールが追加されます。


ここで回復コンソールを選ぶと、キーボード選択の画面などを経て回復コンソールが起動できます。


別にCD起動すれば同じ画面が開けるんですけど、HDDから起動するとCD探さなくていいし早くて便利(^^;)

え?

回復コンソールで起動が何の役に立つかって?

役に立たない方が幸せなんですが…

Windowsのシステムディスクでビットマップエラーが出た場合、回復コンソールからCHKDSKをかけると修復できるとか?

Windowsのシステムが使用していて操作出来ないファイルの操作ができるとか?

そのくらい…かな?


Windows Vistaには回復コンソール、ないみたいだしorz

2008-02-15

エクスプローラのコンテキストメニューにコマンドプロンプトを追加する

前々からツールを使って設定するのではなく、自分で設定したいと思っていたのでちょっと調べてみました。

目的に応じた内容の .reg ファイルをテキストエディタで作成して開けばOK。
レジストリに追加するか確認メッセージが表示されるので「はい(Y)」を選びましょう。
(WindowsXP SP2で動作確認しました。ちなみにWindows98やWindowsNT4ではWindows Registry Editor Version 5.00→REGEDIT4で動作するらしいです。Windows Vistaは不明)

UNC非対応の場合
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="コマンドプロンプト(&C)..."

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k \"cd %l\""

UNC対応の場合(ネットワーク上の共有フォルダが勝手にドライブに割り当てられます)
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="コマンドプロンプト(&C)..."

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k \"pushd %l\""

設定解除
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\shell\cmd]

UNC対応の方は、複数のコマンドプロンプトを開くとネットワークドライブの割り当ても複数出来てしまいます。
割り当てられたドライブはエクスプローラで切断するか、次からは割り当てられたドライブの方でコマンドプロンプトを開くか、コマンドプロンプトから
NET USE ドライブ名 /DELETE
で切断するかするとよいでしょう。
(ドライブ名は例えば Z: とか。* を指定するとドライブを割り当てていない接続を含めて全て切断されます。)

以下、情報ソース

2008-02-14

VMware Fusion 1.1.1 リリース

1/24にリリースされていました。
先ほど気づいたので早速アップデート。
細かいバグフィックスがあったのとコマンドキーを使用してコピペができるようになった模様。
これは待ち望んでいた方も多かったのではないでしょうか?
MacとWindowsを行ったり来たりしてると混乱しますから…

まあ、AppleKを買ってしまった私にはあまり関係なかったですが…

ちなみにキーボードの違いで不便という方は他にAppleKbWinを使用するという手や、レジストリ書き換えでキーマップを変えるという手もあります。

ただしAppleKbWinの方は作者様が一般向けの開発(1.x系)はクローズして自分用に特化した開発(2.x系)をするとおっしゃっていた気がします。うろ覚えな情報ですが…
Vectorにあるものは1.x系でも最新でなかったはずです。
残念ながら作者様のHPが見つからないので正確な情報がわかりません

レジストリ書き換えてキーマップを変える方法はまだ試してません。
単純なキーの入れ替えでよければコレで出来るはずなのでこれでも十分なのかも知れません。

追記 (2008-02-14 18:25)

追加したカスタムネットワークはキレイに消されてました(;_;)
boot.sh の変更をやり直しです
自分のメモが初めて役に立った(^^)

2008-02-13

Mac OS X Leopard 10.5.2 リリース

アップデートがリリースされたので早速導入してみました。

発生したトラブルは1件だけ、
今まで読み書き出来ていたNTFSが読み取り専用になりました。

NTFS for Mac OS X を上書きインストールしたらまた書き込みできるようになりました。

2008-02-12

VMwareで物理NICを指定したブリッジ接続を行う方法

2009-04-06 設定ファイルの例をVMware2.0の物に置き換えました(内容は変わっていません)

2008-09-03 設定を書き換えたらVMwareのデーモンのみ再起動するように修正しました


2008-03-05 再度追記 やってしまいました。VMware Fusionではこの方法で大丈夫です。
今日確認してみましたが、問題なさそうでした。お騒がせいたしました。


2008-03-04 追記 この方法は恐らく問題があります。VMwareで物理NICを指定したブリッジ接続を行う方法 訂正番 をご覧ください。

この方法、ずっと知りたかったんですがやっとわかりました。
VMware Fusionをインストール時にはネットワーク設定は

vmnet0 : ブリッジ接続(NIC自動選択)
vmnet1 : ホストオンリー
vmnet8 : NAT接続

のようになっていますが、これに

vmnet2 : ブリッジ接続(有線LAN接続)
vmnet3 : ブリッジ接続(無線LAN接続)

を追加しようと思います。

まず、/Library/Application Support/VMware Fusion/boot.shを編集します
root権限が必要なため、ターミナルを起動してviで編集します。
viの使い方はこの辺りを参考にさせていただきました。
テキストエディットで編集できれば楽なのですが、やり方を知らないので
$ sudo vi /Library/Application\ Support/VMware\ Fusion/boot.sh
起動したらこの部分(ファイル最後尾付近にあります)の青色の部分をコピーして
# vmnet-bridge puts itself in background (daemon mode)
# Bridge to host network interface 'en0'.
#"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet0.pid vmnet0 en0
# Bridge to the primary host network interface (which can change over time).
"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet0.pid vmnet0 ''

# restart cisco vpn client
# if we create interfaces inbetween the time the cisco vpn kext is
# loaded and the time the cisco vpn client is started, the client
# gets confused and terminates with error 51 (PR306839). If the
# cisco vpn client is installed on this machine, we defensively
# restart it.
if [ -e "/System/Library/StartupItems/CiscoVPN/CiscoVPN" ]; then
logger -s -t "VMware Fusion 156731" "restart cisco vpn client"
/System/Library/StartupItems/CiscoVPN/CiscoVPN restart || true
fi
;;

--stop)
logger -s -t "VMware Fusion 156731" "Shutting down VMware Fusion: "

# First attempt to synchronously kill the daemons this script had launched.
vmware_stop_pidfile /var/run/vmnet-bridge-vmnet0.pid || true
vmware_stop_pidfile /var/run/vmnet-dhcpd-vmnet1.pid || true
vmware_stop_pidfile /var/run/vmnet-dhcpd-vmnet8.pid || true
vmware_stop_pidfile /var/run/vmnet-natd-vmnet8.pid || true
vmware_stop_pidfile /var/run/vmnet-netif-vmnet1.pid || true
vmware_stop_pidfile /var/run/vmnet-netif-vmnet8.pid || true
このように貼り付け、赤字の部分を変更します
# vmnet-bridge puts itself in background (daemon mode)
# Bridge to host network interface 'en0'.
#"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet0.pid vmnet0 en0
# Bridge to the primary host network interface (which can change over time).
"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet0.pid vmnet0 ''
"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet2.pid vmnet2 en0
"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet3.pid vmnet3 en1

# restart cisco vpn client
# if we create interfaces inbetween the time the cisco vpn kext is
# loaded and the time the cisco vpn client is started, the client
# gets confused and terminates with error 51 (PR306839). If the
# cisco vpn client is installed on this machine, we defensively
# restart it.
if [ -e "/System/Library/StartupItems/CiscoVPN/CiscoVPN" ]; then
logger -s -t "VMware Fusion 156731" "restart cisco vpn client"
/System/Library/StartupItems/CiscoVPN/CiscoVPN restart || true
fi
;;

--stop)
logger -s -t "VMware Fusion 156731" "Shutting down VMware Fusion: "

# First attempt to synchronously kill the daemons this script had launched.
vmware_stop_pidfile /var/run/vmnet-bridge-vmnet0.pid || true
vmware_stop_pidfile /var/run/vmnet-bridge-vmnet2.pid || true
vmware_stop_pidfile /var/run/vmnet-bridge-vmnet3.pid || true
vmware_stop_pidfile /var/run/vmnet-dhcpd-vmnet1.pid || true
vmware_stop_pidfile /var/run/vmnet-dhcpd-vmnet8.pid || true
vmware_stop_pidfile /var/run/vmnet-natd-vmnet8.pid || true
vmware_stop_pidfile /var/run/vmnet-netif-vmnet1.pid || true
vmware_stop_pidfile /var/run/vmnet-netif-vmnet8.pid || true
設定できたらデーモンを再起動するためにターミナルから
$ sudo /Library/Application\ Support/VMware\ Fusion/boot.sh --restart
と実行します。

で、次に仮想PCのパッケージ〜.vmwareを右クリックして「パッケージの内容を表示」で開いたパッケージから〜.vmxをテキストエディットで開きます。
開いたvmxファイルのネットワーク設定を
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.pciSlotNumber = "32"
ethernet0.generatedAddress = "xx:xx:xx:xx:xx:xx"
ethernet0.generatedAddressOffset = "0"
ethernet0.startConnected = "TRUE"
から
ethernet0.present = "TRUE"
ethernet0.connectionType = "custom"
ethernet0.vnet = "vmnet2"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.pciSlotNumber = "32"
ethernet0.generatedAddress = "xx:xx:xx:xx:xx:xx"
ethernet0.generatedAddressOffset = "0"
ethernet0.startConnected = "TRUE"
に変更します。
vmnet2が有線、vmnet3が無線専用です。

これで準備はOK、仮想PCを実行してみると狙い通り、うまくいきました。

ちなみにVMware Fusionの設定画面から見ると…


今まで選択肢としてなかったカスタム設定が増えてます(^^)

まだ使い始めて半日なので問題が起こる可能性はありますが、今のところ快適です。一応Ver2.0.3まで動作確認済です。
ちなみに、この設定方法はVMware CommunityのDavePさんの書き込みを参考にさせてもらいました。というか、そのまんまです。(^^;)

DavePさんに感謝!!


2008-02-10

TrueCrypt5.0をMac OS X Leopardにインストールしてみる 3

TrueCrypt5.0をMac OS X Leopardにインストールしてみる 2 の続き

Mac版TrueCryptでフォーマット無しでボリュームを作成した場合は、ちゃんとディスクユーティリティでフォーマットできました。

試しに2パーティション作ってHFS+とNTFSでフォーマットしてみます。(NTFSによるフォーマットはNTFS for Mac OS Xによるもの)



一度TrueCryptでディスマウントして再度マウントすると、マウントが最後までできずTrueCryptがハングしてしまいます。が、ディスクユーティリティでマウントすれば使用できました。しかし、Windowsではちゃんと認識してくれませんでした。


Windows版はドライブ文字を指定してのマウントになるため、複数パーティションあるとダメなのかもしれません。

その後も色々試してみましたが、MacOS側でパーティション作成、フォーマットした場合、Mac版TrueCryptでFATでフォーマットした場合、いずれもWindowsでは認識できませんでした。

逆にWindows版TrueCryptでNTFSフォーマットした場合はMacで認識可能でした。
ただ、ディスクユーティリティで見ると、パーティションそのものを認識できていないようなので、これが可能なのはNTFS for Mac OS Xのおかげかもしれません。

ここまでさわった感じではMad版TrueCryptはマウント時にハングする確率がとても高いようです。
TrueCryptでFATフォーマとしたときくらいしか正常動作しなかった気が…
安定稼働のためにはTrueCryptではファイルシステムへのマウントはしないようにして、ディスクユーティリティでマウントする方がよさそうです。

後、MacFUSEを使用してるという事は、Mac版はトラベラーモードが無い?かな?

まだ続きそうです

TrueCrypt5.0をMac OS X Leopardにインストールしてみる 2

TrueCrypt5.0をMac OS X Leopardにインストールしてみる 1 の続き

Mac版TrueCryptで作成したボリュームをWindows版TrueCryptでマウントし、NTFSでフォーマットしました。

Mac版では未フォーマットのボリュームはマウントできませんでしたがWindows版は未フォーマットなHDDとして認識してくれます。

フォーマットできたので再びMacに戻ってマウントしてみます…が
TrueCryptが応答なしになりましたorz

強制終了して再度起動すると、どうやらマウント自体は出来ている模様、Macのディスクユーティリティを起動してみるとちゃんと未マウントの状態でボリューム自体は認識されているようです。
試しにマウントしてみるとあっさり認識されました。
(MacでNTFSを読み書きするためにNTFS for Mac OS Xを使用しています)

小さめのファイルをいくつかコピーしてみると、一応使えそう
次に3GBほどのVMware仮想PCファイルをコピーして…
何故か現在のコピー容量の更新頻度が低いので最初は使い物にならないくらい遅いのかと思いましたが、10分かかりませんでした。十分実用的な早さです。

次にVMwareを起動してみました。特に変わらず普通に使えます。
これはいいですねぇ

さらに、昨日、未フォーマットのボリュームがマウントできなかった件についても



Do not mount オプションにチェックしておけばMacOS上で未マウント状態でマウントされ、ディスクユーティリティでフォーマット出来るようです



モザイクかけるのは面倒なのでそのままさらします
ただし、試しに作った2MBのボリュームでは容量不足のためパーティションは作成出来ませんでしたが…
コレを見るとどうやらMacFUSEを使ってるみたいですね。

とりあえず今回はここまで、まだ少し続く予定

2008-02-09

TrueCrypt5.0をMac OS X Leopardにインストールしてみる 1

TrueCrypt5.0リリース! の続き

忙しいと言いつつストレス発散のためインストールだけしてみました。
PowerPCではインストーラに問題があった?ような記事をどこかで見た気がしますが、Intel Macでは何の問題もなくインストールできました。

で、言語パックをダウンロードして…と

どこに置いたらいいかわかりません。orz
それ以前にMac版でも使用できるのかすらもわかりません。

どうやら言語パックはWindows専用のようです。
設定箇所もなさそうなのでそう思いこむ事にしました。

早速、64GBの暗号化ボリュームを作りました。
フォーマットはFATしか選べなかったので無しにしました。
後からNTFSにでもしようと思いまして。

早速マウントしてみようと思いましたがどうやら

ディスクがフォーマットされていないとマウントできないようです

え〜っと

終わり、ですね

はWindowsのTrueCryptでマウントしてフォーマットしてみる予定。

2008-02-07

TrueCrypt5.0リリース!

その昔Macを使っていなかった頃、USBメモリはTrueCryptを使って暗号化してました。

キーファイルを自宅と職場に置いておき、持ち運ぶときはUSBメモリのみ持ち運びにする事で他の場所では見られない、つまり落としても安心な状態にしてました。

それ以外の場所で使用する必要がある時はキーファイルとTrueCryptをトラベルモードでコピーした専用のUSBメモリを別途持ち運んでいました。
まあ、別途、と言ってもポケットと鞄に分けるとか、その程度ですが…

で、MacOSを使うようになってからはTrueCryptを使う事が出来ず、しかたなく暗号化してない状態で持ち運ぶようになりました。

がしかし

これでまたTrueCrypt復活ですよ

USBメモリにキーファイルを入れておく方法は他にも使い道があって、自宅や職場の暗号化ボリュームを開くのにUSBメモリが必要な状態にすれば他の人に秘密のファイルを見られる可能性も減らせるんですねぇ

まあ、今は時間がないので実際に試すのは来月になりそうですが…
続く

バックリンクが設定できない

Bloggerでバックリンクを設定しようとしているんですが、イマイチ使い方がわかりません

ヘルプを見た限りでは 設定:基本 で



と設定して、 設定:コメント で



とすればOKっぽいんですが…表示できてないですねorz

設定じゃなくて使い方が間違ってるとか?
ヘルプ読んでトラックバックとかじゃないので記事中で該当記事に対してリンクを張ってればOKって解釈したんだけど…

Firefoxだと見れないとか?

続き

2008-02-06

さらにGoogle依存

メール、RSS、ブックマーク、ブログ、ノートブック、カレンダー、マップ…

とGoogle依存が酷い私ですが、最近ウェブアルバムまでGoogle依存になってしまった。
デジカメの写真を失わないため?にHDDをミラーにしたりバックアップ用の外付けHDDを何台も設置したり…

あ、いや

バックアップが目的ですよ!
手段が目的じゃない…です

で、最終的に選んだのがGoogle

もう面倒だからGoogleにアップロードしちゃえ!!

ええ

まだ1/3くらいだけどアップしましたよ

当然容量が足りなくなったので

金払って容量増やしました

最近Gmailの迷惑メールフィルタを抜けてくるメールが増えた

最近、Gmailの迷惑メールフィルタを抜けてくるメールが増えた
と言っても1日1件程度だし、件名からもスパムだとわかるので特に困りはしないが…

普通に2行程度の英文で(内容は読んでないけど)明らかにスパムっぽいのにフィルターにかからないのは何でだろう?

2008-02-05

ブロードバンドルータはルータか?

これまた半年も前に書こうと思ってそのままにしてた記事だが、ブロードバンドルータについて、である。

無線LAN付きルータBUFFALOのWER-AM54G54/ENを買ったのはいつだったか?
当時、我が家ではNTT西日本の光プレミアムを使用しており、CTUに有線ルータ機能がある状態だった。

無線LANを入れるとき、私としてはブリッジで十分であったのだが(部屋間のケーブル取り回しを解決したかっただけ)電気屋ではそんな物、売っておらず(取り寄せれば買えると思うが)、普通にブロードバンドルータと呼ばれる物を買った。

買った物を設定しているうちに気づいたのだが…
ルータって書いてあったけど、ルータとして満たすべき機能の一部しか満たしてないじゃないか!!

…どうやらブロードバンドルータはルータではないらしい

ルーティングテーブルに従って…なんて事は出来なくても、NATとDHCPだけあればそれでブロードバンドルータ!!

ブロードバンドルータは通常のルータとしては使用できないが、ルータとして売ってないから問題なし!!

・・・

なんだかね

勝手に訳のわからん商品ジャンルや機能名を作らないで欲しい、しかも誤解を招くような、ね

例えばルータのカタログにDMZ 機能ってのが載っててね、
DMZ専用ポートがありますって書いてあったらね、
当然、WANとLANとDMZゾーンのネットワークを分けて、WAN←→LAN、WAN←→DMZ、DMZ←→LANについてそれぞれフィルタリングを設定できると思うじゃない?

ところがね、そうじゃなかった
ブロードバンドルータで言うDMZ機能とは、特定のポート以外にアクセスがあった場合にDMZに設定されたIPアドレスにフォワードするよって物だ。

家庭用のルータでそれって何の意味があるんだろう?
ログ取りようPCを用意して全部ログ取れって事?
ログなんてルータに残せる分が残ってれば十分だと思うんだが、どうだろう?

2008-02-04

FONのオープンアクセスポイントへの接続方法

他の人のFONに初めて接続しましたよ の続き

ちょっと調べてみたが、九十九電機に詳しい説明がありました

他の人のFONを使うときは、

無線LAN接続後、webブラウザを立ち上げるとログオン画面が表示される

だそうです

…表示されたっけ?

使ってるブラウザがFirefoxで、起動と同時にプラグインがGoogleとかGoogleとかGoogleとかに接続に行き、さらに前回終了時のセッションを復元するので、おかしくなったのかもしれない。

結局、私はその画面、見てないんですけど…

まあ、接続履歴にはちゃんと残ってるし、保存されてるcookieとか、どこかで認証したんでしょう
一応謎は解けましたよ(^^)

2008-02-02

他の人のFONに初めて接続しましたよ

FONに登録してみる 2 の続き

MacBookを持って出かけているのであるが、なんと今いる場所はFONアクセスポイントなのだ!

実は今、ネットにつなぐ必要は全くない。しかし、アクセスポイントがある以上、使用しなければならない!!

って事で早速接続してみました。

えっと、接続先にFON_APを選んで…

当然パスワードとかは無い




何処で私がFONユーザーであることを認証してるんだ?



わからない事ばかりだ

気づいた事が一つ、気のせいかネット接続が遅くて不安定な…気がする

そこでFONのwebサイトを表示してログインしてみた

接続、速くなった…気がする



FONのFAQとか見てみたけど結局どうやって認証してるのかわからずじまい

そのうち暇なときに調べてみよ(^^)

さらに続く

FONに登録してみる 2

FONに登録してみる の続き

まず、FONにユーザー登録をしてみました。
しかし、これだけではダメでどうやらFON専用の無線LAN親機を購入せねばならないようです。

早速注文して届くのを待ちます。

残念ながらモノが届いて自分のアクセスポイントを解放するまでは他の人のアクセスポイントも使用できないようです。
ステータスにAlienと表示されてます。

モノが届いてから設置するまでは非常に簡単。
DHCPを使ってるし、何も考えずにルータとつなぐだけでした。

後は自分のアクセスポイントの場所を登録したりして登録完了!!

設置してから1ヶ月半過ぎていますが、未だに誰も接続していないようです。

寂しいのう。

さらに続く

FONに登録してみる

昨年末から書きかけで放置していたが、続編を書きたくなったのでこちらも投稿(^^;)

FONをご存じだろうか?

ホットスポットのサービスなのだが、自分自身が無線LANの回線を会員に開放する代わりに他の会員の無線LANも使用できるという無線LANの共有サービスだ。

自宅は既に無線LANを設置済みなので特に必要ではないのだが、最近MacBookを持ち歩くこともあり、外でもネットに繋ぎたいことがたま~にある。

ホントはiPod touchを買ったときに果たしてどのくらいネットに接続できるのか興味があっただけなんですが、ともかく、世界で60万という圧倒的なアクセスポイントの多さからFONを選ぶことにした。

実際、地図でアクセスポイントを探すとすごい数がある。

しかし…

駅とかカフェとか、そういった場所にはなくて住宅街の中にあったりするのが難点。



とは言っても送料込みで5千円かからない投資で無線LAN親機が買えて、その上他の人のアクセスポイントまで使用できるのは魅力じゃないでしょうか?

まだ無線LANを持っていない方にオススメしたいものである
続く