8.28.2012

Mac: Eclipse CDT - "make" is not found

Mac: Eclipse CDT ビルドエラー "make" が見つからない

Mac OS X Lion + Xcode + Eclipse CDT の環境から OS を Mountain Lion へアップグレードしたら、Eclipse CDT からmake が使えなくなった。

Xcode をアップデートし、Command Line Tools をインストールしなおしたら直った。

参考:
http://stackoverflow.com/questions/9418928/eclipse-cdt-binary-not-found-mac-os-x-lion

8.08.2012

David MacKay: Information Theory, Inference, and Learning Algorithms

David MacKay: Information Theory, Inference, and Learning Algorithms

無料でダウンロードできたので、Kindle に入れてみた。
何か、少しでも吸収できれば。

http://www.inference.phy.cam.ac.uk/mackay/itila/book.html

Pure CSS Speech Balloon

CSS+HTMLのみで吹き出しを作る
ソーシャルボタンの横にあるようなカウンタ吹き出し(「ツイート」とか「いいね!」ボタンの横にあるやつ)を CSS だけで作りたいと思ったけど、IE6 環境でも動作させたい場合は意外な落とし穴があったので備忘録。
<要件>
・二等辺三角形+長方形の形の吹き出しを HTML で出力する
・画像、JavaScript は使わない
・IE6、IE8、Firefox10、HTA(IE6、IE8) で正しく表示されること
・長方形部分の四隅は直角のままでよい(丸めなくてよい)
・吹き出しの輪郭は黒の線になるようにし、その内部は白で塗りつぶす

1. コンテナの作成

まず手始めに、内部の要素を相対座標で指定できるようにするため、描画対象全てを div で囲みこむ。
ここで height を指定しておけば、後々の高さ調整が楽になると思う。
div.balloon {
  position: relative;
  height  : 18px;
}

2. 外側の三角形

偉大なる先人の知恵である border ハックを利用して三角形を描画する。(詳細は記事末尾のリンク先を参照)
外側の黒い三角形を tail1、内側に少しずらした白い三角形を tail2 とする。

綺麗な三角形になるように、font-size と line-height を 0 で指定しておくのがポイント。
:before/:after 擬似要素はIE8 以降しか動作しないため、使用しない。
div.balloon .tail1, .tail2 {
  position    : absolute;
  top         : 4px;
  height      : 0px;
  width       : 0px;
  border      : 5px solid transparent;
  border-left : none;
  border-right: 9px solid #333333;
  font-size   : 0px;
  line-height : 0px;
}
div.balloon .tail1 {
  border-right-color: #333333;
}
しかし、IE6 では早くもここで問題が発生。
border: transparent による透明化処理が行われず、color の色で上・左・下の部分が描画されてしまった。
さらに、border-left: none も無効化されてしまったようである。
ネットで検索してみた結果、これは IE6 の CSS 解釈に不具合があるためらしい。
苦肉の策だが、div 内部で使わないような色(ここでは pink)を指定し、chroma フィルターで透明化することで対応した。また、border-top、border-bottom を個別に指定したら border-left: none が反映されるようになった。
div.balloon .tail_ie6 {
  border-top   : 5px solid pink;
  border-bottom: 5px solid pink;
  filter       : chroma(color=pink);
}
・表示例

 

3. 吹き出し本体

吹き出し本体は、単純な div の設定でよい。ただし、位置取りやフォントサイズは微調整が必要。
div.balloon .body {
  position        : absolute;
  left            : 8px;
  border          : 1px solid #333333;
  background-color: #ffffff;
  color           : #333333;
  font-family     : "Century Gothic";
  font-size       : 11px;
}
・表示例
 0123456789 

 

4. 内側の三角形で縁取り

外側の三角形と同じサイズで色を変えたものを、2ピクセル右にずらして描画する。
尚、z-order を指定すれば、必ずしもこの順番で配置しなくてもよいはず。
div.balloon .tail2 {
  left              : 2px;
  border-right-color: #ffffff;
}
・表示例
 0123456789 

 

5. 全体のコード

<html>
<head>
<style type="text/css"><!--
div.balloon {
  position: relative;
  height  : 18px;
}
div.balloon .body {
  position        : absolute;
  left            : 8px;
  border          : 1px solid #333333;
  background-color: #ffffff;
  color           : #333333;
  font-family     : "Century Gothic";
  font-size       : 11px;
}
div.balloon .tail1, .tail2 {
  position    : absolute;
  top         : 4px;
  left        : 0px;
  height      : 0px;
  width       : 0px;
  border      : 5px solid transparent;
  border-left : none;
  border-right: 9px solid #333333;
  font-size   : 0px;
  line-height : 0px;
}
div.balloon .tail1 {
  border-right-color: #333333;
}
div.balloon .tail2 {
  left              : 2px;
  border-right-color: #ffffff;
}
div.balloon .tail_ie6 {
  border-top   : 5px solid pink;
  border-bottom: 5px solid pink;
  filter       : chroma(color=pink);
}
--></style>
</head>
<body>
<div class="balloon">
  <div class="tail1"></div>
  <div class="body">&nbsp;0123456789&nbsp;</div>
  <div class="tail2"></div>
</div>

<!-- For IE6
<div class="balloon">
  <div class="tail1 tail_ie6"></div>
  <div class="body">&nbsp;0123456789&nbsp;</div>
  <div class="tail2 tail_ie6"></div>
</div>
-->
</body>
</html>

 

参考:
http://www.howtocreate.co.uk/tutorials/css/slopes
http://log.noiretaya.com/164
IE6の対応について
http://stackoverflow.com/questions/5714356/ie6-issue-border-colortransparent-not-working

8.02.2012

Cannot Create/Open Maps in iMindMap 6

iMindMap 6 でマップが表示されない

環境

OS: Windows XP SP3

事象

iMindMap 6 の起動後、マインドマップの表示ができない。(何も描画されない)
次のようなタイミングで発生する。

・新規マインドマップ –> セントラル アイデア イメージを選択した後
・マインド マップを開く –> 既存のマインドマップを開いた後

尚、画面上には、エラーメッセージは何も表示されない。

調査

以下のログを確認したところ、エラーが記録されていた。
C:\Documents and Settings\All Users\ThinkBuzan\imindmap_cache6\logs\imindmap.log

・出力されたエラーの例

YYYY-MM-DD hh:mm:ss,nnn ERROR [                main] com.thinkbuzan.gaia.appmeta.impl.AppMetadataManagerImpl - Parse application meta data file failed!
org.jdom.input.JDOMParseException: Error on line 1 of document file:/E:/.thinkbuzan/imindmap6/appmeta/appmeta.xml/: Premature end of file.

YYYY-MM-DD hh:mm:ss,nnn ERROR [Start Level Event Dispatcher] com.thinkbuzan.gaia.appmeta.impl.AppMetadataManagerImpl - Parse application meta data file failed!
org.jdom.input.JDOMParseException: Error on line 1 of document file:/E:/.thinkbuzan/imindmap6/appmeta/appmeta.xml/: Premature end of file.

YYYY-MM-DD hh:mm:ss,nnn ERROR [WindowsGUILoaderThread] com.thinkbuzan.gaia.theme.xml.ThemeXMLLoader - Parse theme XML error.
org.jdom.input.JDOMParseException: Error on line 1 of document file:/E:/.thinkbuzan/imindmap6/themes/themes.xml/: Premature end of file.

YYYY-MM-DD hh:mm:ss,nnn ERROR [    AWT-EventQueue-0] com.thinkbuzan.gaia.theme.xml.ThemeXMLLoader - Parse theme XML error.
org.jdom.input.JDOMParseException: Error on line 1 of document file:/E:/.thinkbuzan/imindmap6/themes/themes.xml/: Premature end of file.

XMLファイルのパーズに失敗しているようなので、「.thinkbuzan/imindmap6」配下のそれらのファイルを見てみると
実際にはXMLファイルではなく、ディレクトリになっていることがわかった。

対応方法

以下の2個のディレクトリを削除(別の場所に退避)し、同名の空ファイルを作成。

・E:\.thinkbuzan\imindmap6\appmeta\appmeta.xml
・E:\.thinkbuzan\imindmap6\themes\themes.xml

そして、iMindMap 6 を再起動したところ、無事復旧した。

上記ファイルのパスは、ユーザープロファイルのパスに依存する。

Mapping Caps Lock to Hankaku/Zenkaku

CapsLock キーを「半角/全角」に割り当てる

AutoHotKey のスクリプトを書いて実現する。

AutoHotKey
http://www.autohotkey.com/

; capslock -> Hankaku/Zenkaku
capslock::
    send,{vkF3sc029}
return

参考:
http://ahk.xrea.jp/KeyList.html