WindowsXPセキュリティ設定その1

Windows XPのセキュリティ強化設定をまとめたレジストリファイルを公開。
security.regをダウンロードして、実行

  • LanManagerハッシュの無効化
  • 管理者共有(隠し共有)の無効化
  • SMB署名を必須
  • アカウントおよびパスワードのキャッシュを無効化
  • AutoRunの無効化

MicrosoftUpdateが正しく適用されている場合、LMハッシュ無効とか特に設定する必要はないっぽい。
使用は自己責任で

RLOを利用した偽装ファイルへの対策

RLO(U+202E)とは、Right-Left OverrideというUnicodeで定義されている制御文字で文字をアラビア語のように右から左方向であることを示す文字で、
これを利用すると、ファイル名を偽装することが可能になるのでこの制御文字入りの実行ファイルを実行できないように制限した。
ここでは環境はXP Professionalを対象としているので、XP Home Editionの方は下方に掲載している参考サイトを参照。

  1. [スタートメニュー]->[コントロールパネル]->[管理者ツール]を開く
    コントロールパネル
  2. [ローカルセキュリティポリシー]を開く
    ローカルセキュリティポリシー
  3. [ソフトウェア制限のポリシー]配下が存在しない場合は右クリックで作成する
    新しいポリシーの作成
  4. [追加の規則]の上で右クリック->[新しいパスの規則…]を選択する
    追加の規則
  5. メモ帳を開き、”*”を2個入力し、その間にカーソルを移動し、右クリック->[Unicode制御文字の挿入]からRLOを入力する
    RLOルールの作成
  6. RLO入りの文字列をコピー&ペーストして、セキュリティレベルが「許可しない」になっていることを確認して「適用」
    RLOをコピー&ペースト

参考

AmazonSearchをHTMLで設置する

Amazonで作成したウィジェットではJavascriptが利用されるうえ、HTML構文エラーやデザイン的問題があったので、HTMLで実装してみた。
正しく動作するかまだ確認できてないが、とりあえず検索としてはちゃんと動いてるみたいなのでメモ。
以下、サイドメニューに追加したHTML構文


<dt>AmazonSearch</dt>
<dd>
<form action="http://www.amazon.co.jp/exec/obidos/external-search" method="get">
<fieldset>
<legend>
<label for="AmazonSearchKeyword">Amazon検索</label>
</legend>
<div>
<strong>サーチ:</strong>
<select id="searchDropdownBox" style="font-size: 0.8em;" title="次の中からサーチ" name="url">
<option selected="selected" value="search-alias=aps">すべてのカテゴリー</option>
<option value="search-alias=stripbooks">和書</option>
<option value="search-alias=english-books">洋書</option>
<option value="search-alias=dvd">DVD</option>
<option value="search-alias=popular">ミュージック</option>
<option value="search-alias=classical">クラシック音楽</option>
<option value="search-alias=mi">楽器</option>
<option value="search-alias=videogames">TVゲーム</option>
<option value="search-alias=software">PCソフト</option>
<option value="search-alias=electronics">家電&amp;カメラ</option>
<option value="search-alias=office-products">文房具・オフィス用品</option>
<option value="search-alias=kitchen">ホーム&amp;キッチン</option>
<option value="search-alias=food-beverage">食品&amp;飲料</option>
<option value="search-alias=hpc">ヘルス&amp;ビューティー</option>
<option value="search-alias=beauty">コスメ</option>
<option value="search-alias=baby">ベビー&amp;マタニティ</option>
<option value="search-alias=toys">おもちゃ</option>
<option value="search-alias=apparel">服&ファッション小物</option>
<option value="search-alias=shoes">シューズ&バッグ</option>
<option value="search-alias=jewelry">ジュエリー</option>
<option value="search-alias=watch">時計</option>
<option value="search-alias=sporting">スポーツ&amp;アウトドア</option>
<option value="search-alias=automotive">カー&バイク用品</option>
<option value="search-alias=diy">DIY・工具</option>
</select></div>
<div>
<input id="AmazonSearchKeyword" style="width: 10em; font-size: 0.8em;" name="AmazonSearchKeyword" type="text" />
<input name="tag" type="hidden" value="dambe-22" />
<input name="encoding-string-jp" type="hidden" value="日本語" />
<input style="vertical-align: middle;" name="Go" src="http://wms.assoc-amazon.jp/JP/img/go-rd-sec_tpng.png?tag=dambe-22" type="image" value="Go" /></div>
<div>
<a href="http://www.amazon.jp/?&amp;camp=759&amp;linkCode=wsw&amp;tag=dambe-22&amp;creative=3867">
<img style="border: none;" src="http://wms.assoc-amazon.jp/JP/img/amazon-logo-b_tpng.png" alt="Amazon.co.jpアソシエイト" />
</a></div></fieldset>
</form>
</dd>

20歳のときに知っておきたかったことを読み終えて

[amazon asin=”4484101017″][/amazon]

買う前に、インターネットで書評を読んでいると、「著者はどん底を知らない」とか、「著者は起業家ではないから起業精神を本当には理解していない」とか、「自身の体験ではないため伝わる力弱い」といったコメントも見受けられたが、引用が多く読みやすいというコメントを決め手として購入に至った。

実際読んでみて挙げられていた悪評について、個人的にはどれも見受けられなかった。
というのも、著者は教育者兼学者であることを明言しているし、自分自身の考えを表すためにいろいろな人の体験を引用しているだけで全体が著者の体験から生まれた考え方であるととらえることができた。また、本当の起業精神知っているからといって起業精神を教えれるわけでもなく、「どん底」を体験したからと言って成功できるわけではないし、あくまでも、すべては自身が見つけていくことを前提としているとの主張が本文にも見受けられ、著者は背中を押すための努力をしていると書いているように見えた。

この本は起業精神を中心に書かれている本ではあるけれど、起業したい人に限られた考え方や即何かにつながるといった方法を述べている教則本ではない。
著者自身が述べている通り、自分自身が20歳の時に知っておきたかったこと、30歳、40歳、50歳と年を重ねて、やはり意識しておきたいことを、20歳になる息子のために優しく丁寧にまとめ挙げられた本で、生きていく中で頭の片隅にでも置いておきたい考え方集である。

もちろん、現在成功してる人がみなこんな考え方をしているわけでも、同じ「解」を持っているわけでもないが、いろいろな人に薦めたい本に仕上がっている。

25年生きてきた中で・・・というか高校を卒業してから今まで生きてきた中で抱き始めた「もっと失敗しておくべきだった」という感覚を、最後に書かれている「解説」を読むことで本文を読み進めるなかで「自分には無理」とか「現実離れしている」といった消化不良とともにうまく取り除いてくれた。これは、たぶん相性の問題もあるのだろうとは思うがこの効果は絶大だった。解説を読んでから再度最初から読みなおすことで本文を受け入れやすくなり、吸収しやすくなるので最低2回は読んでおきたい本だ。

この本の良し悪しは読んだ本人のこれからにかかっていて、この本は読者の糧になったり、新たな一歩の切っ掛けになったりすることを望んでいるということがはっきりと伝わってくる非常にメッセージ性のあるいい本である。
鬱っぽい人もなんだか満足できない人にも一度読んでみてほしい。

[I2K]IDM2KeePass 0.01 Beta

  • 概要
    IDMからエクスポートしたXMLファイルをKeePass XML(2.x)形式に変換するソフト
  • 使い方
    1. IDM2KeePass(IDM2KeePass.zip)をダウンロードし、適当なところに配置
    2. IDMを起動し、KeePassへ移したいユーザーでログイン
    3. メニュ[ファイル(F)]->[データのエクスポート]->[XMLファイルへの書き出し(X)]を選択し、XMLでエクスポート
    4. IDM2KeePassを起動し、[変換]ボタンを押下
    5. 開くファイルを選択するダイアログが表示されるので、先ほどエクスポートしたXMLを選択
    6. 変換が行われ、保存先を指定するダイアログが表示されるので適当なファイル名でCSV保存
    7. Keepassを起動し、メニュー[File]->[Import…]->[KeePass XML(2.x)]を選択し、先ほど出力したCSVを選択
  • 参照
    IDM:ID・パスワード管理ツール ID Manager
    KeePass:KeePass Password Safe

[I2K]IDM2KeePass.js

  • 概要
    IDMからエクスポートしたXMLファイルをKeePass CSV(1.x)形式に変換するスクリプト
  • 使い方
    1. IDM2KeePass.js(IDM2KeePassJs.zip)をダウンロードし、適当なところに配置
      (できれば日本語を含まない”C:\I2K\”などに)
    2. IDMを起動し、KeePassへ移したいユーザーでログイン
    3. メニュ[ファイル(F)]->[データのエクスポート]->[XMLファイルへの書き出し(X)]を選択し、XMLファイルを作成
      IDMからXMLでエクスポート
      (例:”C:\I2K\idm.xml”)
    4. スタートメニュー[スタート]->[プログラム(P)]->[アクセサリ]->[コマンド プロンプト]を起動
    5. 下記のコマンドを入力しスクリプトを実行
      IDM2KeePass.jsで変換

      cd C:\I2K\
      IDM2KeePass.js idm.xml keepass.csv
      

      (ここでは出力ファイルを”keepass.csv”としています。)

      ※実行できない場合は下記のコマンドを試して見てください。

      cscript IDM2KeePass.js <input.xml> <output.csv>

      または

      wscript IDM2KeePass.js <input.xml> <output.csv>

      (もしかすると、js_default.regが役に立つかもしれません。)

    6. KeePassを起動し、IDMのデータを取り込みたいDatabaseを開く
    7. メニュー[File]->[Import…]->[KeePass CSV(1.x)]を選択し、出力したCSVを入力
      (例:”C:\I2K\keepass.csv”)
  • 制約

    インポートできる項目は下記の5項目のみでグループおよび他の項目はKeePass CSV(1.x)では移行できません

    • Title -> Title
    • Account ID -> User name
    • Password -> Password
    • url -> URL
    • comment -> Notes
  • 参照
    IDM:ID・パスワード管理ツール ID Manager
    KeePass:KeePass Password Safe
    PHPスクリプトで変換:IDM → Keepass 変換 – くまったうの日記

ディレクティブ

クロスプラットフォーム対応コードを書くときにプラットフォーム依存部分を切り分けるプリプロセッサディレクティブのメモ。

  • Compiler
    • GCC
      • #ifdef __GNUC__
        • #if __GNUC__ >= 3 // GCC3.0以上
    • Borland C++
      • #ifdef __BORLANDC__
    • intel Compiler
      • #ifdef __INTEL_COMPILER
    • Microsoft Compiler
      • #ifdef _MSC_VER
        • #if _MSC_VER >=600 // C Compiler 6.0以降 VC++含む
        • #if _MSC_VER >=700 // C/C++ Compiler 7.0以降 VC++含む
        • #if _MSC_VER >=800 // VC++1.0以降
        • #if _MSC_VER >=900 // VC++2.0以降
        • #if _MSC_VER >=1000 // VC++4.0以降
        • #if _MSC_VER >=1010 // VC++4.1以降
        • #if _MSC_VER >=1020 // VC++4.2以降
        • #if _MSC_VER >=1100 // VC++5.0以降
        • #if _MSC_VER >=1200 // VC++6.0以降
        • #if _MSC_VER >=1300 // VC2002(VC7.0)以降
        • #if _MSC_VER >=1310 // VC2003(VC7.1)以降
        • #if _MSC_VER >=1400 // VC2005(VC8.0)以降
        • #if _MSC_VER >=1500 // VC2008(VC9.0)以降
        • #if _MSC_VER >=1600 // VC2010(VC10.0)以降
  • UNIX system
    • UNIX
      • #ifdef __unix
      • #ifdef __unix__
    • Linux
      • #ifdef __linux
      • #ifdef __linux__
    • FreeBSD
      • #ifdef __FreeBSD__
    • NetBSD
      • #ifdef __NetBSD__
    • Cygwin
      • #ifdef __CYGWIN__
      • #ifdef __CYGWIN32__ // 32bit版Cygwin
    • MinGW (-mno-cygwin)
      • #ifdef __MINGW32__
  • Windows system
    • CUI
      • #ifdef _CONSOLE
    • GUI
      • #ifdef _WINDOWS
    • 32bit Windows
      • #ifdef WIN32
      • #ifdef _WIN32
    • 64bit Windows
      • #ifdef _WIN64
    • Windows version
      • #ifdef WINVER
        • #if (WINVER >= 0x030a) // Windows 3.1以降
        • #if (WINVER >= 0x0400) // Windows 95/ NT4.0以降
        • #if (WINVER >= 0x0410) // Windows 98以降
        • #if (WINVER >= 0x0500) // Windows Me/ 2000以降
        • #if (WINVER >= 0x0501) // Windows XP/ Server 2003以降
        • #if (WINVER >= 0x0502) // Windows XP SP2/ Server 2003 SP1以降
        • #if (WINVER >= 0x0600) // Windows Vista/ Server 2008以降
        • #if (WINVER >= 0x0601) // Windows 7以降
      • #ifdef _WIN32_WINDOWS // Windows9x
        • #if (_WIN32_WINDOWS >= 0x0400) // Windows 95以降
        • #if (_WIN32_WINDOWS >= 0x0410) // Windows 98以降
        • #if (_WIN32_WINDOWS >= 0x0500) // Windows Me以降
      • #ifdef _WIN32_WINNT // WindowsNTx
        • // Windows 2000以降(0x0500)
          #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
        • // Windows XP/ Server 2003以降(0x0501)
          #if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
        • // Windows XP SP2/ Server 2003 SP1以降(0x0502)
          #if (_WIN32_WINNT >= _WIN32_WINNT_WS03)
        • // Windows Vista以降(0x0600)
          #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
        • // Windows Server 2008以降(0x0600)
          #if (_WIN32_WINNT >= _WIN32_WINNT_WS08)
        • // Windows 7以降(0x0601)
          #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
      • #ifdef _WIN32_WCE // WindowsCE
        • #if (_WIN32_WCE >= 0x0420) // Windows Mobile 2003(PPC2003)
        • #if (_WIN32_WCE >= 0x0421) // Windows Mobile 2003 SE(PPC2003SE)
        • #if (_WIN32_WCE >= 0x0501) // Windows Mobile 5.0
        • #if (_WIN32_WCE >= 0x0502) // Windows Mobile 6 Professional / Classic
        • #if (WINCEOSVER >= 0x0300) // WindowsCE3.0(PPC2002)以降
        • #if (WINCEOSVER >= 0x0420) // WindowsCE4.2(PPC2003)以降
        • #if (WINCEOSVER >= 0x0500) // WindowsCE5.0(WM5.0)以降
    • Internet Explorer version
      • #ifdef _WIN32_IE
        • #if (_WIN32_IE>=0x0200) // Windows 95/NT 4.0(Comctl32.dll 4.00, Shell32.dll 4.00)
        • #if (_WIN32_IE>=0x0300) // Internet Explorer 3.0, 3.01, 3.02
        • #if (_WIN32_IE>=0x0400) // Internet Explorer 4.0
        • #if (_WIN32_IE>=0x0401) // Internet Explorer 4.01
        • #if (_WIN32_IE>=0x0500) // Internet Explorer 5.0, 5.0a, 5.0b
        • #if (_WIN32_IE>=0x0501) // Internet Explorer 5.01
        • #if (_WIN32_IE>=0x0550) // Internet Explorer 5.5
        • #if (_WIN32_IE>=0x0600) // Internet Explorer 6.0
        • #if (_WIN32_IE>=0x0601) // Internet Explorer 6.0 SP1
        • #if (_WIN32_IE>=0x0603) // Internet Explorer 6.0 SP2
        • #if (_WIN32_IE>=0x0700) // Internet Explorer 7.0
        • #if (_WIN32_IE>=0x0800) // Internet Explorer 8.0

注意
プリプロセッサは、未定義の識別子を0として扱うため、#if __GNUC__ >= 3はGCC3以上として使えるが、
GCC2系かどうかを#if __GNUC__ < 3で判定しようとすると、GCCでないものも含まれる。
参考

[CGO]CGOptimizer麦茶v1.00β2

CGOptimizer麦茶の開発版を更新しました。

Download(CGOptimizer.zip)

今回の更新では暫定的に下記のJpeg系ツールを追加しました。

暫定対応のため、細かくパラメータ設定ができません。
また、開発版のため、不具合を含んでいる場合がありますので使用時に画像のバックアップを行うようにしてください。

[ZCFS]ZenCoding for SakuraEditor Ver 0.0.3

ZenCoding for SakuraEditor を更新しました。

ver0.0.2ではキャレットが最後にくるver0.0.2ではキャレットがタグの中にくる

更新内容

  • 置換時の選択範囲削除を削除。
    (これにより、Ctrl+Z時の挙動が変わります。)
  • 置換後にキャレット位置を移動
  • 英語で寄付方法を追記

Download(Zen.Coding-SakuraEditor.v0.0.3.zip)