Eclipseのコード補完とSpotlightのショートカットがバッティングする。
どちらかを変える。
1. Eclipseのコード補完
Eclipseを起動
メニューバーから Eclipse > Preferences...
General > Keys
Word Completion で Binding を任意のものにかえる
2. Spotlightのショートカット
システム環境設定
Spotlight
下部のショートカットの設定
December 30, 2008
December 28, 2008
EclipseでSilverlightの開発をするeclipse4SLを使ってみる
eclipse tools for Silverlight http://www.eclipse4sl.org/ では eclipse4SL というツールを配布している。
その名の通りeclipseでSilverlightを開発するもの。つまりフリーでSilverlightの開発ができる!
Microsoftも関わっているらしい。ファイナルリリースは2009年の春(Microsoftは年末とも)としているが、先日Milestone 2(β版?)が配布され始めた。
とりあえず使ってみる。上の画像はhello worldをつくろうとしてみたところ。chironを使って動かしている模様。コントロールの配置はVisual Studioよりいいかも。IronPythonも使えたらいいなぁ。まだドキュメント読んでないからよくわからんが。Visual Studioで開発したことある人は難なく使える感じ。エラーもまだちゃんと吐き出されない?
以下、インストールガイドhttp://www.eclipse4sl.org/download/の翻訳。
元のページの画像をみながらの方がわかりやすい。
Macにも対応してくれれば、いいなあ。
1. Eclispseの設定
1.1 準備
以下の製品がインストールされているか確認する、さもなければ以下の順番でインストールする。
- Windows XP SP2 (or above) or Windows Vista SP1 (将来的には他のOSもサポート予定)
- JDK 1.5.0_11 (or above)
- Eclipse Ganymede : 次のディストリビューションのいずれか
- Eclipse Basic 3.4.1
- Eclipse IDE for Java Developers
- Eclipse IDE for Java EE Developers (Recommended)
- Eclipse Basic 3.4.1
- .Net Framework 3.5 (or above)
- Installer を使う
- 再配布パッケージ(dotnetfx35.exe)をダウンロードしてインストールする
- Installer を使う
- Silverlight 2 Runtime (2.0.31005.0 or above)
- Go to this page http://silverlight.net/GetStarted/, at the right side, click on the "Window runtime". M1 release of eclipse4SL doesn't support other platforms yet.
- Go to this page http://silverlight.net/GetStarted/, at the right side, click on the "Window runtime". M1 release of eclipse4SL doesn't support other platforms yet.
- Silverlight 2 SDK
Eclipse Tools for SilverlightのインストールはEclise Update、オフラインインストールの2通りがある。
Eclipse Updateウィザードはオンラインなら利用可能。インターネットにつながっている必要がある。インストールはとても分かりやすく、Eclipseの環境に関する知識を必要としない。Eclipse Updateウィザードは必要なすべてのプラグインを見つけインストールしてくれる。
オフラインインスールはインターネットにつながっていなかったりファイアウォールのせいでEclipse Updateができないときに使える。ただし、インストール前に必要なすべてのプラグインをダウンロードしておく必要がある。
1.2.1 Eclipse Update Wizard
以下の手順に従ってEclipse IDEにeclipse4SLを設定する。
まずeclipse4SLをインストールするために、Eclipseを開き、Help->Software Updates...を選択。
Available Software タブを選択、Add Site... をクリック。
Locationに http://www.eclipse4sl.org/update/ と入力。OK。これはeclipse4SL Web update siteに対応している。エラーがおこる場合は、最後の「/(スラッシュ)」を忘れていないか確認、さもなければファイアウォールの問題。後者の場合はオフラインインストールを。
Eclipse Tools for Microsoft Silverlightを選択、Installをクリック。
ライセンス規約をよく読み、同意できるならI accept...を選んでクリック。
再起動すれば終了。
インストールできたか確認するにはHelp->About Eclipse SDKから。ダイアログに新しいアイコンが現れているはず。
1.2.2. オフラインインストール
eclipse4SLは以下のプラグインに依存している。これらはEclipse Basic 3.4.1に元から入っているものではない。
EMF v2.4.1 Runtime Minimum executable code: emf-runtime-2.4.1.zip or equivalent
EMF XSD v2.4.1 Runtime Minimum executable code: xsd-runtime-2.4.1.zip or equivalent
Graphical Editing Framework (GEF): GEF-SDK-3.4.1.zip or equivalent
Web Standard Tools: wtp-wst-R-3.0.2.zip or equivalent
それゆえこれらが入ったEclipseディストリビューション、Eclipse IDE for Java EE Developersをおすすめする。
そして以下のeclipse4SLディストリビューションの一つをダウンロードする:
再起動すれば終了。
インストールできたか確認するにはHelp->About Eclipse SDKから。ダイアログに新しいアイコンが現れているはず。
1.2.2. オフラインインストール
eclipse4SLは以下のプラグインに依存している。これらはEclipse Basic 3.4.1に元から入っているものではない。
EMF v2.4.1 Runtime Minimum executable code: emf-runtime-2.4.1.zip or equivalent
EMF XSD v2.4.1 Runtime Minimum executable code: xsd-runtime-2.4.1.zip or equivalent
Graphical Editing Framework (GEF): GEF-SDK-3.4.1.zip or equivalent
Web Standard Tools: wtp-wst-R-3.0.2.zip or equivalent
それゆえこれらが入ったEclipseディストリビューション、Eclipse IDE for Java EE Developersをおすすめする。
そして以下のeclipse4SLディストリビューションの一つをダウンロードする:
- eclipse4sl-runtime-1.0.0.M2.zip.
- eclipse4sl-SDK-1.0.0.M2.zip
December 23, 2008
Sansa C240をMSCモードでつなぐ
- 電源をオフ(電源ボタン長押し)
- HOLDをオン
- 巻き戻しボタン(|<<)を押しながらUSB接続
ファームウェアは03.02.05。
ファームウェアのダウンロードは http://forums.sandisk.com/sansa/board?board.id=c200 のc200 version2 Latest Firmware Installation Instructionsから「AMERICAS & PACIFIC REGION - 3.02.05a for Americas」。MSCモードでつないで解凍したC200PA.BINを突っ込んで再起動。
ファームウェアアップデータを利用する場合にもMSCモードでPCに接続する。
ファームウェアアップデータ http://www.sandisk.com/Retail/Default.aspx?CatID=1376
マニュアル http://www.sandisk.com/Retail/Default.aspx?CatID=1446
RockBoxにも対応!
December 13, 2008
Iron Python 2.0 のサンプルを実行するメモ
Iron Python 2.0
http://www.codeplex.com/IronPython
Downloadsから
IronPython.msi
IronPython-2.0-Samples.zip
をダウンロード。
IronPython.msi
を実行、インストール。
次にパスを通すために、
コントロールパネル > システム
詳細設定 > 環境変数
システム環境変数
で、変数「PATH」を探して「編集」。なければ「新規」で変数名「PATH」。
変数値に先ほどインストールしたパス(C:\Program Files\IronPython 2.0)としてOK。
すでに他の値があったらコロン(;)を入れて「(他の値);C:\Program Files\IronPython 2.0」。
OS再起動。
IronPython-2.0-Samples.zip
をどこかに解凍。
スタート > プログラム > アクセサリ > コマンドプロンプトからそのフォルダに移動。
XPだったらPowerToysのOpen Command Window Hereとか入れとくと便利。
Vistaだったらエクスプローラ上でシフト押しながら右クリックで「コマンドプロンプトをここで開く」みたいのが出た気がする。
実行するためには、たとえばSamplesのPuzzleだったら
ipy puzzle.py
とすると起動する。readme.html見れば全部書いてある。
http://www.codeplex.com/IronPython
Downloadsから
IronPython.msi
IronPython-2.0-Samples.zip
をダウンロード。
IronPython.msi
を実行、インストール。
次にパスを通すために、
コントロールパネル > システム
詳細設定 > 環境変数
システム環境変数
で、変数「PATH」を探して「編集」。なければ「新規」で変数名「PATH」。
変数値に先ほどインストールしたパス(C:\Program Files\IronPython 2.0)としてOK。
すでに他の値があったらコロン(;)を入れて「(他の値);C:\Program Files\IronPython 2.0」。
OS再起動。
IronPython-2.0-Samples.zip
をどこかに解凍。
スタート > プログラム > アクセサリ > コマンドプロンプトからそのフォルダに移動。
XPだったらPowerToysのOpen Command Window Hereとか入れとくと便利。
Vistaだったらエクスプローラ上でシフト押しながら右クリックで「コマンドプロンプトをここで開く」みたいのが出た気がする。
実行するためには、たとえばSamplesのPuzzleだったら
ipy puzzle.py
とすると起動する。readme.html見れば全部書いてある。
December 12, 2008
Macbook Airのメモ
Flip4Mac
Perian
KeyRemap4Macbook
MultiClutch
Warp
SafariStand
SafariDrag
SafariGesture
SafariTabMemento
SafariTabConfig
GreaseKit
Glims
Keywurl http://purefiction.net/keywurl/ アドレスバーから検索
OpenTerminalHere
InsomniaX
OnyX
MainMenu
The Unarchiver
VLC
Skype
RealPlayer
MonoDevelop
Eclipse
PyDev
EPD
Adium
dolipo
AppCleaner
CotEditor
pTeX 小川版
TeXShop
cooViewer
Stackroom
MacPorts
zsh
Firefox
zotero
Opera
Navigator
1Password http://agilewebsolutions.com/products/1Password パスワード管理
Skitch http://skitch.com/ スクリーンショット
Perian
KeyRemap4Macbook
MultiClutch
Warp
SafariStand
SafariDrag
SafariGesture
SafariTabMemento
SafariTabConfig
GreaseKit
Glims
Keywurl http://purefiction.net/keywurl/ アドレスバーから検索
OpenTerminalHere
InsomniaX
OnyX
MainMenu
The Unarchiver
VLC
Skype
RealPlayer
MonoDevelop
Eclipse
PyDev
EPD
Adium
dolipo
AppCleaner
CotEditor
pTeX 小川版
TeXShop
cooViewer
Stackroom
MacPorts
zsh
Firefox
zotero
Opera
Navigator
1Password http://agilewebsolutions.com/products/1Password パスワード管理
Skitch http://skitch.com/ スクリーンショット
December 11, 2008
CotEditorでLaTeXのカラーリングがうまくいかない
CotEditorに出会った。なんで今まで知らなかったんだろう。so cool!
LaTeXを編集しようとしたのだが、\begin{hoge}とかが真っ黒。色付けがうまくいかない。
そこで
~/Library/Application Support/CotEditor/SyntaxColorings/LaTeX.plist
をCotEditor開き(ファイルをDockのアイコンにドラッグ&ドロップ)、すべての「{」「}」を
{ → \{
} → \}
という風に置換して応急処置。
LaTeXを編集しようとしたのだが、\begin{hoge}とかが真っ黒。色付けがうまくいかない。
そこで
~/Library/Application Support/CotEditor/SyntaxColorings/LaTeX.plist
をCotEditor開き(ファイルをDockのアイコンにドラッグ&ドロップ)、すべての「{」「}」を
{ → \{
} → \}
という風に置換して応急処置。
December 9, 2008
SafariのGoogle検索を⌘Kに割り当てる
Dockのダウンロード、ドキュメントフォルダから1クリックでFinderを開く
DockにいるStackフォルダをクリックすると無駄にびょ〜んてなってからFinderで開くを選ぶのがめんどくさいと思った。
Commandを押しながらクリックすると、いきなりFinder開く。
Commandを押しながらクリックすると、いきなりFinder開く。
December 8, 2008
Macのキーボードレイアウト
USキーボードの修飾キーをふまえたときにキーボードレイアウト。
システム環境設定(System Preference)の言語環境(International)からキーボードビューアにチェックボックスを入れておけば、メニューバーからみることができる。
Mac OS X 10.5 Help: キーボードビューアについて
normal
option
shift
option,shift
システム環境設定(System Preference)の言語環境(International)からキーボードビューアにチェックボックスを入れておけば、メニューバーからみることができる。
Mac OS X 10.5 Help: キーボードビューアについて
normal
option
shift
option,shift
Cocoaアプリで使えるキーバインド
キーバインドはテキストを入力するときのショートカット。
たとえばCotEditorなどCocoaアプリで使えるキーバインドが使えるとあったがどんなのが使えるのか。
参考はCocoa Text System - Default System Key Bindings。
ちなみに修飾キーを付加したときのキーボードレイアウトはMacのキーボードレイアウトに。
以下、一覧。
たとえばCotEditorなどCocoaアプリで使えるキーバインドが使えるとあったがどんなのが使えるのか。
参考はCocoa Text System - Default System Key Bindings。
ちなみに修飾キーを付加したときのキーボードレイアウトはMacのキーボードレイアウトに。
以下、一覧。
Shortcut | English 日本語 | Computerese | |
↩ | new line 改行 | insertNewline: | |
⌥ | ↩ | new line (don't leave form box)1 改行(フォームを移動しない) | insertNewlineIgnoringFieldEditor: |
⌅ | new line 改行 | insertNewline: | |
⌥ | ⌅ | new line (don't leave form box)1 改行(フォームを移動しない) | insertNewlineIgnoringFieldEditor: |
⇥ | tab タブ | insertTab: | |
⌥ | ⇥ | tab (don't leave form box)1 タブ(フォームを移動しない) | insertTabIgnoringFieldEditor: |
⇤ | backtab バックタブ | insertBacktab: | |
⌘ | space | change languages 言語を変更 | cycleToNextInputScript: |
⌘⌃ | space | change input system 入力システムを変更 | togglePlatformInputSystem: |
⌘⌥ | space | change keyboard layout キーボードレイアウトを変更 | cycleToNextInputKeyboardLayout: |
⌫ | delete backward 後方を削除 | deleteBackward: | |
⌃ | ⌫ | delete backward (an accent) 後方のアクセント記号を削除 | deleteBackwardByDecomposingPreviousCharacter: |
⌃⌥ | ⌫ | delete backward one word 後方の単語を削除 | deleteWordBackward: |
⌥ | ⌫ | delete backward one word 後方の単語を削除 | deleteWordBackward: |
⌦ | delete forward 前方を削除 | deleteForward: | |
⌥ | ⌦ | delete forward one word 前方の単語を削除 | deleteWordForward: |
esc | cancel キャンセル | cancelOperation: | |
⌥ | esc | complete current word 現在の単語を補完 | complete: |
⇡ | move up 上に移動 | moveUp: | |
⇧ | ⇡ | select upward 上方を選択 | moveUpAndModifySelection: |
⌃ | ⇡ | scroll one page up 上にページスクロール | scrollPageUp: |
⌘ | ⇡ | move to the beginning of the document ドキュメントの最初に移動 | moveToBeginningOfDocument: |
⌘⇧ | ⇡ | select to the beginning of the document ドキュメンの最初まで選択 | moveToBeginningOfDocumentAndModifySelection: |
⌥ | ⇡ | move to the beginning of the paragraph 段落の最初に移動 | (moveBackward:, moveToBeginningOfParagraph:) |
⌥⇧ | ⇡ | select to the beginning of the paragraph 段落の最初まで選択 | moveParagraphBackwardAndModifySelection: |
⇣ | move down 下に移動 | moveDown: | |
⇧ | ⇣ | select downward 下方を選択 | moveDownAndModifySelection: |
⌃ | ⇣ | scroll one page down 下にページスクロール | scrollPageDown: |
⌘ | ⇣ | move to the end of the document ドキュメントの最後に移動 | moveToEndOfDocument: |
⌘⇧ | ⇣ | select to the end of the document ドキュメントの最後まで選択 | moveToEndOfDocumentAndModifySelection: |
⌥ | ⇣ | move to the end of the paragraph 段落の最後に移動 | (moveForward:, moveToEndOfParagraph:) |
⌥⇧ | ⇣ | select to the end of the paragraph 段落の最後まで選択 | moveParagraphForwardAndModifySelection: |
⇠ | move left 左に移動 | moveLeft: | |
⇧ | ⇠ | select leftward 左を選択 | moveLeftAndModifySelection: |
⌃ | ⇠ | move to the beginning of the line 行の最初に移動 | moveToBeginningOfLine: |
⌃⇧ | ⇠ | select to the beginning of the line 行の最初まで選択 | moveToBeginningOfLineAndModifySelection: |
⌘ | ⇠ | move to the beginning of the line 行の最初に移動 | moveToBeginningOfLine: |
⌘⇧ | ⇠ | select to the beginning of the line 行の最初まで選択 | moveToBeginningOfLineAndModifySelection: |
⌘⌃ | ⇠ | switch writing direction to right-to-left 右から左に方向を変更 | changeBaseWritingDirectionToRTL: |
⌥ | ⇠ | move one word left 左に1単語分移動 | moveWordLeft: |
⌥⇧ | ⇠ | select one word leftward 左の1単語を選択 | moveWordLeftAndModifySelection: |
⇢ | move right 右に移動 | moveRight: | |
⇧ | ⇢ | select rightward 右に移動 | moveRightAndModifySelection: |
⌃ | ⇢ | move to the end of the line 行の最後に移動 | moveToEndOfLine: |
⌃⇧ | ⇢ | select to the end of the line 行の最後まで選択 | moveToEndOfLineAndModifySelection: |
⌘ | ⇢ | move to the end of the line 行の最後に移動 | moveToEndOfLine: |
⌘⇧ | ⇢ | select to the end of the line 行の最後まで選択 | moveToEndOfLineAndModifySelection: |
⌘⌃ | ⇢ | switch writing direction to left-to-right text 左から右に方向を変更 | changeBaseWritingDirectionToLTR: |
⌥ | ⇢ | move one word right 右に1単語分移動 | moveWordRight: |
⌥⇧ | ⇢ | select one word rightward 右の1単語を選択 | moveWordRightAndModifySelection: |
↖ | scroll to the beginning of the document ドキュメントの最初までスクロール | scrollToBeginningOfDocument: | |
⇧ | ↖ | select to the beginning of the document ドキュメントの最初まで選択 | moveToBeginningOfDocumentAndModifySelection: |
↘ | scroll to the end of the document ドキュメントの最後までスクロール | scrollToEndOfDocument: | |
⇧ | ↘ | select to the end of the document ドキュメントの最後まで選択 | moveToEndOfDocumentAndModifySelection: |
⇞ | scroll one page up 1ページスクロールダウン | scrollPageUp: | |
⇧ | ⇞ | select one page up 上の1ページを選択 | pageUpAndModifySelection: |
⌥ | ⇞ | move one page up 上に1ページ分移動 | pageUp: |
⇟ | scroll one page down 1ページスクールダウン | scrollPageDown: | |
⇧ | ⇟ | select one page down 下の1ページを選択 | pageDownAndModifySelection: |
⌥ | ⇟ | move one page down 下に1ページ分移動 | pageDown: |
⌘ | . | cancel キャンセル | cancelOperation: |
⌃ | A | move to the beginning of the paragraph 段落の最初に移動 | moveToBeginningOfParagraph: |
⌃ | B | move backward 後方に移動 | moveBackward: |
⌃ | D | delete forward 前方を削除 | deleteForward: |
⌃ | E | move to the end of the paragraph 段落の最後に移動 | moveToEndOfParagraph: |
⌃ | F | move forward 前方に移動 | moveForward: |
⌃ | H | delete backward 後方を削除 | deleteBackward: |
⌃ | K | delete to the end of the paragraph 段落の最後まで切り取り | deleteToEndOfParagraph: |
⌃ | L | center the selection in the text area 現在の位置をテキストエリアの中央に持ってくる | centerSelectionInVisibleArea: |
⌃ | N | move down 下に移動 | moveDown: |
⌃ | O | split the current line 改行の挿入 | (insertNewlineIgnoringFieldEditor:, moveBackward:) |
⌃ | P | move up 上に移動 | moveUp: |
⌃ | T | transpose letters 前後の文字を交換 | transpose: |
⌃ | V | move one page down 下に1ページ移動 | pageDown: |
⌃ | Y | yank back ‘killed’ text 切り取ったテキストを貼付け | yank: |
F5 | complete current word 現在の単語を補完 | complete: | |
** Not on Apple keyboards ** | |||
Backspace | delete backward 後方を削除 | deleteBackward: | |
⌥ | Backspace | delete backward one word 後方の単語を削除 | deleteWordBackward: |
Linefeed | new line 新しい行を挿入 | insertNewline: | |
⌥ | Linefeed | new line (don't leave form box)1 新しい行を挿入(フォームを移動しない) | insertNewlineIgnoringFieldEditor: |
- The commands invoked by ‘⌥ ⇥’ and ‘⌥ ↩’ are designed to avoid leaving the current text box, as happens when pressing ‘⇥’, which usually tabs to the next form field, or ‘↩’, which usually submits the form.
「⌥ ⇥」と「⌥ ↩」によって発生する命令は、「⇥」を押すと次のフォームフィールドに移動してしまったり「↩」を押すとフォームを送信してしまったりといったような現在のテキストボックスから移動してしまう動作を避けられるようになっている。
December 3, 2008
November 29, 2008
Eclipseで右クリックからFinderを開く
(追記)Open External Plug-inなら設定もいらないしTerminalでも開ける...!
Package Explorerで右クリックからエクスプローラを開くプラグイン
Easy Explore plugin
をMacで使う。
・プラグインのインストール
Help > Software Updates...
Available Software > Add Site
(Location:) http://easystruts.sourceforge.net/eclipse/updates/ > OK
http://easystruts.sourceforge.net/eclipse/updates/ > **Check** Easy Explore pulgin > Install...
・設定
Eclipse > Preferences...
Easy > Explore > (Target:)explorer.exe open {0}
・使い方
Package Explorer上で右クリックしてEasy Explore...をクリック
Package Explorerで右クリックからエクスプローラを開くプラグイン
Easy Explore plugin
をMacで使う。
・プラグインのインストール
Help > Software Updates...
Available Software > Add Site
(Location:) http://easystruts.sourceforge.net/eclipse/updates/ > OK
http://easystruts.sourceforge.net/eclipse/updates/ > **Check** Easy Explore pulgin > Install...
・設定
Eclipse > Preferences...
Easy > Explore > (Target:)
・使い方
Package Explorer上で右クリックしてEasy Explore...をクリック
November 24, 2008
Eclipseで実行するとき引数を与えるダイアログを出す
(menu bar) Run
-> Run Configurations...
-> (tab) Arguments
-> Program arguments:
-> Variables...
-> sting_prompt
-> Run Configurations...
-> (tab) Arguments
-> Program arguments:
-> Variables...
-> sting_prompt
November 18, 2008
Python+networkxで連結成分分解
networkx.componentで連結成分分解できる。(有向グラフなら強連結成分分解も)
以下メモ。
以下メモ。
#!/usr/bin/local/python
# -*- coding: utf-8 -*-
import networkx as nx
#二項分布(p=0.1)に従ってリンクの張られるランダムネットワーク
G = nx.binomial_graph(10,0.1)
print G.nodes()
print G.edges()
#連結成分分解
components = nx.component.connected_components(G)
print components
November 8, 2008
マレーシアのジャングルに行く
水曜どうでしょうでも行っていたタマンネガラ国立公園に行ってきた。
宿泊はNusa Holiday Villageを利用。予約を日本語で代行してくれるサイトもある。
が、直接メールでやり取りした方がお得になるかもしれない。
2泊3日のパッケージを申し込んだらWebでは335RMとあったのに実際は234RMしか請求されなかった。
以下、ヌサホリデービレッジとのやり取りのメール。
宛先はJERANTUT(nusa@tamannegara-nusaholiday.com.my)とKUALA LUMPUR(spkg@tamannegara-nusaholiday.com.my)のオフィスがあったけどKLの方はエラーメールが返ってきた。調子が悪いらしい。
先ず問い合わせてみる。クアラルンプールからのバスも使いたいと言いつつ。
TO: nusa@tamannegara-nusaholiday.com.my
で返信がきた。
FROM: nusa@tamannegara-nusaholiday.com.my
埋まってるって!まあコテージでいいか、と。予約させてくれ、と。
TO: nusa@tamannegara-nusaholiday.com.my
ここでなかなか返事が来ない。ので問い合わせる。
TO: nusa@tamannegara-nusaholiday.com.my
そしたら数時間経って返信がきた。
FROM: nusa@tamannegara-nusaholiday.com.my
載ってる料金より安いんだけど、大丈夫かな?と思いつつ。
そういえば船の料金も含まれてた気がする。帰りのバスもChina Townでおろしてもらう方だと40RMだったし。
国立公園への入場料とカメラ持ち込み料金はとられたけど。
めちゃめちゃ円が強い時期(1RM=27円くらい)だったことも相まって予想以上にかなり安くすんでしまった。
ちなみに、行った後、2日めは追加料金を払ってマレーハウスタイプにかえてもらった。
初日はたまたま団体様がいらっしゃって込んでいたようだ。
行くときはやり取りのメールを印刷して持って行った方が話が早く進むと思う。
宿泊はNusa Holiday Villageを利用。予約を日本語で代行してくれるサイトもある。
が、直接メールでやり取りした方がお得になるかもしれない。
2泊3日のパッケージを申し込んだらWebでは335RMとあったのに実際は234RMしか請求されなかった。
以下、ヌサホリデービレッジとのやり取りのメール。
宛先はJERANTUT(nusa@tamannegara-nusaholiday.com.my)とKUALA LUMPUR(spkg@tamannegara-nusaholiday.com.my)のオフィスがあったけどKLの方はエラーメールが返ってきた。調子が悪いらしい。
先ず問い合わせてみる。クアラルンプールからのバスも使いたいと言いつつ。
TO: nusa@tamannegara-nusaholiday.com.my
Hello.
I would like to book NUSA HOLIDAY VILLAGE PACKAGE.
package: 3 DAYS 2 NIGHTS PACKAGE
date: Oct 27, 2008 - Oct 29, 2008
No. of pax: 2
Accommodation type: Malay House
Option:
shuttle bus service(round-trip, Kuala Lumpur - Kuala Tembeling)
boat(round-trip, Kuala Tembeling - Nusa Holiday Village)
Could you tell me if it is available and the price.
Please reply all.
Regards,
hoge
で返信がきた。
FROM: nusa@tamannegara-nusaholiday.com.my
Hi,
Sorry cause malay house is fully booked on that date.but, cottage is still
available.
thank you
埋まってるって!まあコテージでいいか、と。予約させてくれ、と。
TO: nusa@tamannegara-nusaholiday.com.my
Hello
Thank you for your reply.
> Sorry cause malay house is fully booked on that date.but, cottage is still
> available.
Cottage is good.
Let me book it.
Regards,
hoge
ここでなかなか返事が来ない。ので問い合わせる。
TO: nusa@tamannegara-nusaholiday.com.my
Hi.
I mailed to nusa@tamannegara-nusaholiday.com.my as follows on 18 Oct.
But I'm afraid I could not receive the reply.
Please let me know whether i booked the package.
If not, i'd like to book the 3D/2N Cottage package, round shuttle bus
and boat, pls.
Regards,
hoge
そしたら数時間経って返信がきた。
FROM: nusa@tamannegara-nusaholiday.com.my
Hi,
already reserved 1 unit cottage with 3d2n package for 2 paxs from 27 until
29 oct 2008.
3d 2n package :
- cottage rm 234 x 2 paxs : rm 468.00
please pay upon arrival at kuala tembeling jetty ( counter no. 2) by cash.
for shuttle bus, please wait at crown plaza mutiara, jalan sultan ismail
(lower lobby) at 8.30am. rate is RM 70/person/way. please pay direct to
driver.
hope to see you at kuala tembeling jetty.
thank you
bye.
載ってる料金より安いんだけど、大丈夫かな?と思いつつ。
そういえば船の料金も含まれてた気がする。帰りのバスもChina Townでおろしてもらう方だと40RMだったし。
国立公園への入場料とカメラ持ち込み料金はとられたけど。
めちゃめちゃ円が強い時期(1RM=27円くらい)だったことも相まって予想以上にかなり安くすんでしまった。
ちなみに、行った後、2日めは追加料金を払ってマレーハウスタイプにかえてもらった。
初日はたまたま団体様がいらっしゃって込んでいたようだ。
行くときはやり取りのメールを印刷して持って行った方が話が早く進むと思う。
October 19, 2008
SilverlightでCompositionTargetを使ったアニメーション
WPFにはCompositionTargetクラスなんていうものがあって、フレームごとのレンダリング処理の制御ができる。
(こちらがとてもわかりやすい!)
Silverlight 2 beta でこれを実現するには、DispatherTimer、StoryBoardを使う方法があった。
が、final releaseに伴いついに実装された。使い方はWPFと一緒。
サンプル。
枠内を何回かクリックするとボールが出現。
ボール同士は自然長0のばねでつながっている。
Startで動き、Stopで止まり、Clearで全部消す。
ソース ダウンロード SilverlightCompositionTarget.zip (6.7K)
(こちらがとてもわかりやすい!)
Silverlight 2 beta でこれを実現するには、DispatherTimer、StoryBoardを使う方法があった。
が、final releaseに伴いついに実装された。使い方はWPFと一緒。
サンプル。
枠内を何回かクリックするとボールが出現。
ボール同士は自然長0のばねでつながっている。
Startで動き、Stopで止まり、Clearで全部消す。
ソース ダウンロード SilverlightCompositionTarget.zip (6.7K)
October 18, 2008
GreaseKit入れたのにInstall this scriptって書いてあるのにjsファイルがダウンロードされる
SafariでGreaseMonkey。GreaseKitをSafariに導入した。
userscripts.orgにあるスクリプトのInstall this scriptを押してもダウンロードされるだけ。
ダイアログが現れない!
インストールできない!
どうやらMIME Typeがいけないらしい。
ならばダウンロードしたものをどこか違うサーバにアップロードしてそこにアクセスすればいい?
なんとめんどくさい。が、入れたい、我慢できない。
LeopardのWeb共有を使って、自分のmacをサーバにして利用してみる。
1. アプリケーション→環境設定→共有→Web共有にチェック
2. Finderから「サイト」フォルダの中にダウンロードした"[数字].js"ファイルを突っ込む。
3. http://localhost/~[ユーザ名]/[数字].js
にアクセスする。ダイアログ出た。
userscripts.orgにあるスクリプトのInstall this scriptを押してもダウンロードされるだけ。
ダイアログが現れない!
インストールできない!
どうやらMIME Typeがいけないらしい。
ならばダウンロードしたものをどこか違うサーバにアップロードしてそこにアクセスすればいい?
なんとめんどくさい。が、入れたい、我慢できない。
LeopardのWeb共有を使って、自分のmacをサーバにして利用してみる。
1. アプリケーション→環境設定→共有→Web共有にチェック
2. Finderから「サイト」フォルダの中にダウンロードした"[数字].js"ファイルを突っ込む。
3. http://localhost/~[ユーザ名]/[数字].js
にアクセスする。ダイアログ出た。
October 16, 2008
SilverlightでYahoo日本語形態素解析API
Silverlight 2リリースされた。とりあえず適当に。
ソース ダウンロード SilverlightYahooParse.zip (7.4K)
使い方
メモ
・Page.xaml.cssの24行目hogehogeはアプリケーションIDを取得して適当に変える。(hogehogeではできません)
・リクエストURLをつくるとき、sentenceはURLEncodeしないといけない。Silverlightでは、System.Windows.Browser.HttpUtility.UrlEncode(sentence)とする。WPFではHttpUtilityはSystem.Webにある。
・結果の取得はWebClientを利用する。
・DataGridのつかいかたはこっち。
ソース ダウンロード SilverlightYahooParse.zip (7.4K)
使い方
メモ
・Page.xaml.cssの24行目hogehogeはアプリケーションIDを取得して適当に変える。(hogehogeではできません)
var appid = "hogehoge";・リクエストパラメータはParser.csの60行目
var url = CreateUrl(_appid, sentence, "ma", "surface,reading,pos,baseform", "", "", "", "", "", "");というところで何とかする。
・リクエストURLをつくるとき、sentenceはURLEncodeしないといけない。Silverlightでは、System.Windows.Browser.HttpUtility.UrlEncode(sentence)とする。WPFではHttpUtilityはSystem.Webにある。
・結果の取得はWebClientを利用する。
WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; client.DownloadStringCompleted += (s, e) => { var result = e.Result; XDocument xdoc = XDocument.Parse(result); XNamespace ns = xdoc.Root.GetDefaultNamespace(); var word_list = from element in xdoc.Descendants(ns + "word_list").Descendants(ns + "word") select new word { surface = (string)element.Element(ns + "surface"), reading = (string)element.Element(ns + "reading"), pos = (string)element.Element(ns + "pos"), baseform = (string)element.Element(ns + "baseform"), }; _Result = new List(word_list); if (ParseCompleted != null) ParseCompleted(this, EventArgs.Empty); }; Uri uri = new Uri(url); client.DownloadStringAsync(new Uri(url));
・DataGridのつかいかたはこっち。
October 11, 2008
docomoからsoftbank、auへ絵文字変換の対応
au、ソフトバンク、ディズニー・モバイル、イー・モバイル、ウィルコム、Yahoo!メール、Gmail、au oneメールに絵文字入りのiモードメールを送ると、自動的に他社の類似した絵文字に変換されます。ウィルコム、Yahoo!メール、Gmail、au oneメールへは、ドコモの絵文字がそのまま表示されます。
http://www.nttdocomo.co.jp/service/mail/imode_mail/function/emoji_convert/
追記 2009/8/9
http://www.nttdocomo.co.jp/service/communication/imode_mail/function/emoji_convert/
追記 2010/12/26
auから
http://www.au.kddi.com/emoji/pdf/taiohyo.pdf
ソフトバンクから
http://broadband.mb.softbank.jp/service/3G/mail/pictogram/convert06.pdf
October 10, 2008
#include <ewclib.h> in Windows Forms Application
to avoid error C3641 & error LNK2028
Project -> Properties
Configuration Properties -> General
Common Runtime Language support -> Common Runtime Language support (/clr)
Configuration Properties -> Linker -> Input
Additional Dependencies -> (CHECK) Inherit from parent or project defaults
Project -> Properties
Configuration Properties -> General
Common Runtime Language support -> Common Runtime Language support (/clr)
Configuration Properties -> Linker -> Input
Additional Dependencies -> (CHECK) Inherit from parent or project defaults
October 6, 2008
Macのメニューバーへのキーボードショートカット
Macのメニューバーにアクセスするキーボードショートカットは、フルキーボードアクセス状態 Ctrl + F1 にしてから Ctrl + F2。
ユニバーサルアクセス。以下、参考サイト。
XPでSpotlight
MacのSpotlight風のデスクトップサーチ。
MacSearch
インストール。
解凍してどこかにおく。(Program Filesとか?)
自動起動するにはMacSearch.exeをスタートアップに登録する。
使い方。
MacSearch.exeを実行する。
Ctrl + Spaceかインジケータの虫眼鏡のクリックで検索窓が開く。
設定は虫眼鏡を右クリック。
初回はインデクシングするので時間がかかる。
アンインストール。
解凍したフォルダを削除するだけ。
MacSearch
インストール。
解凍してどこかにおく。(Program Filesとか?)
自動起動するにはMacSearch.exeをスタートアップに登録する。
使い方。
MacSearch.exeを実行する。
Ctrl + Spaceかインジケータの虫眼鏡のクリックで検索窓が開く。
設定は虫眼鏡を右クリック。
初回はインデクシングするので時間がかかる。
アンインストール。
解凍したフォルダを削除するだけ。
October 2, 2008
英語環境でIllustrator CS3の文字化け
VAIOリカバリユーティリティを起動できません
他のアプリケーションがハードディスクのリカバリ領域にアクセスしているため、
「VAIO リカバリユーティリティ」を起動できません。
起動中のアプリケーションをすべて終了してから、もう一度「VAIO リカバリユーティリティ」を起動してください。
うまくいかない。
しかたがないので、再起動して「SONY」と出ている途中に F10 を押す。と、リカバリユーティリティが起動する。
「VAIO リカバリユーティリティ」を起動できません。
起動中のアプリケーションをすべて終了してから、もう一度「VAIO リカバリユーティリティ」を起動してください。
うまくいかない。
しかたがないので、再起動して「SONY」と出ている途中に F10 を押す。と、リカバリユーティリティが起動する。
September 27, 2008
Silverlight 2 RC0がダウンロード可能に
Silverlight 2 Release Candidate 0 がダウンロードできるようになった。ただし、RC0で作ったものはRC0のランタイムが必要なので注意。
アプリケーションの移行
Silerlight 2 Beta 2、それ以前のリリースで作成したアプリを移行するには、最新のSilverlight 2 Tools for Visual Studio 2008を手に入れてコンパイルしなおさなければならない。手順は以下の通り。
追加・削除・変更で目についたもの
+ CompositionTarget.Rendering アニメーション( ゚Д゚)ウマー
? DLRがない
(つづく)
アプリケーションの移行
Silerlight 2 Beta 2、それ以前のリリースで作成したアプリを移行するには、最新のSilverlight 2 Tools for Visual Studio 2008を手に入れてコンパイルしなおさなければならない。手順は以下の通り。
- 最新のSilverlight 2 Tools for Visual Studio 2008を手に入れる。古いものはすべてアンインストールしておく。
- 古いプロジェクト(.csprojファイル)を開く。古いバージョンで作ったプロジェクトをアップグレードするかというダイアログがでる。Yes。
- すべてのHTMLファイルを開き、以下を変更する:
• The Silverlight MIME type
application/x-silverlight-2-b1 or application/x-silverlight-2-b2
→ application/x-silverlight-2
• The Silverlight installation URL
http://go.microsoft.com/fwlink/?LinkID=108182 or http://go.microsoft.com/fwlink/?LinkID=115261
→ http://go.microsoft.com/fwlink/?LinkID=124807
Note: some templates replaced http://go with http://go2. Be sure to search for both. - デバッグする。たぶんいろいろエラーが出るからがんばって直す。
追加・削除・変更で目についたもの
+ CompositionTarget.Rendering アニメーション( ゚Д゚)ウマー
? DLRがない
(つづく)
Fractulatorって何?
Boot Camp上のWindowsでApple Keyboardを使う
Boot CampでCtrl+Alt+Delやプリントスクリーンを使う。わざわざツールを使わなくてもいい。
以下、Boot Campのマニュアルから。
http://www.apple.com/jp/support/bootcamp/
以下、Boot Campのマニュアルから。
PCキーコマンド | Apple Keybord | ノート型Macの内蔵キーボード/ Apple Wireless Keyboard |
Ctrl + Alt + Del | control + option + delete | control + option + delete |
Alt | option | option |
BackSpace | del | delete |
Del | delete | fn + delete |
Enter | return | return |
Enter (num) | enter | enter (一部のみ) |
Ins | fn + enter or help | fn + enter |
NumLock | clear | fn + f6 (一部のみ) |
Pause/Break | F16 | fn + esc |
PrintScreen | F14 | fn + shift + F11 |
Alt + PrintScreen | option + F14 | fn + shift + option + F11 |
ScrollLock | F15 | fn + F12 |
Windows | command | command |
http://www.apple.com/jp/support/bootcamp/
September 26, 2008
Visual Studio 2008でSilverlight Dynamic LanguageついでにIronPython
Silverlight 2はDynamic Language Runtime(DLR)とか言って、C#、VBだけでなくPythonやRupy、Javascriptで開発できる。で、はっきりいってVisual Studioを使わなくても開発できる。が、せっかくあるんだから使いたい。
ついでにIronPythonのための環境を整える。
こうすればPythonで補完機能使える。(IntelliSense、まだしょぼい?)
とてもわかりやすいサイトがあった。ありがとうございます。
これらを合わせれば素晴らしいSilverlightの開発ができるかもしれない。
ついでにIronPythonのための環境を整える。
こうすればPythonで補完機能使える。(IntelliSense、まだしょぼい?)
とてもわかりやすいサイトがあった。ありがとうございます。
これらを合わせれば素晴らしいSilverlightの開発ができるかもしれない。
- Visual Studio 2008でのDLRの開発手順例(英語)
Silverlight: Laurence Moroney's Blog : Silverlight Dynamic Languages in Visual Studio
(注)ほとんどこの手順どおりでOKだが、Silverlight 2 beta 2だったらDefault.htmlの
<object data="data:application/x-silverlight,"
type="application/x-silverlight-2-b1"
を
<object data="data:application/x-silverlight,"
type="application/x-silverlight-2-b2"
とする。 - IronPythonStudio(Integrated)のインストール
IronPython StudioはVisual Studio 2008でIronPythonのプロジェクトを作成するためのツール。パッケージにはisolatedとintegratedがあるが、integratedでないとVisual Studioのプロジェクトとして追加できない(っぽい)。ここではintegratedのほうをインストールする。手順は以下のサイトにも丁寧に書いてある。IronPython Studio
まずインストールする前に
Visual Studio 2008
Visual Studio 2008 SDK 1.1
Microsoft Visual Studio 2008 Shell (integrated mode) Redistributable Package
を入れておく。(リンク先は英語版だが、言語は環境に合わせて)
そしたらIronPythonStudio 1.0 releaseに飛んでIronPythonStudioIntegratedSetupをダウンロード、実行する。
これでVisual Studio 2008で新しいプロジェクトとしてIronPythonが追加できるようになっているはず。だけど、まだ、いまいち完成度は低いらしい。
が、今回はIronPythonのプロジェクトを作るのが目的じゃなくて、コードの色つけとか、若干の入力補助という位置づけで。
September 20, 2008
言語環境を英語にしたらSafariGesturesが使えなくなった
September 17, 2008
MonoDevelopの文字化け
Monoやろうとしたらメニューやらが文字化けした。
/Library/Frameworks/Mono.framework/Versions/Current/etc/gtk-2.0/
にある(FinderでCommand+Shift+Gって押して上のパスを入力すると簡単)
gtkrc
というファイルを何らかのテキストエディタで開いて(ドックにあるmiとかテキストエディタとかにドラッグすると簡単)
gtk-font-name = "〜"
の「〜」を日本語フォント名(Hiragino Kaku Gothic ProとかOsakaとか)にすると治る。
/Library/Frameworks/Mono.framework/Versions/Current/etc/gtk-2.0/
にある(FinderでCommand+Shift+Gって押して上のパスを入力すると簡単)
gtkrc
というファイルを何らかのテキストエディタで開いて(ドックにあるmiとかテキストエディタとかにドラッグすると簡単)
gtk-font-name = "〜"
の「〜」を日本語フォント名(Hiragino Kaku Gothic ProとかOsakaとか)にすると治る。
September 13, 2008
SilverlightでDataGridを使うために
(追記)
Silverlight 3はこっち→Silverlight 3でのDataGridの設置の仕方
Silverlight チュートリアル パート 3: データの取得とDataGridへの紐付けにネットワークを使用
Scott Morrison : Using The Silverlight DataGrid ←すごくわかりやすい!
(追記)DataGridを使ったサンプル。
Silverlight 3はこっち→Silverlight 3でのDataGridの設置の仕方
- [プロジェクト]-[参照の追加]で[.Net]タブの中から System.Windows.Controls.Data を追加する。
- UserControlのルート部分に以下のようにxmlnsを追加する。
xmlns:my="clr-namespace:System.Windows.Controls; assembly=System.Windows.Controls.Data"
- LayoutRootのChildrenに以下を追加する。
<my:DataGrid x:Name="dataGrid1" />
x:Nameは任意。
- コードからDataGridを弄る。たとえば、
dataGrid1.ItemSource = new[] { 1, 2, 3 };
詳しい使い方は下のリンクから。
Silverlight チュートリアル パート 3: データの取得とDataGridへの紐付けにネットワークを使用
Scott Morrison : Using The Silverlight DataGrid ←すごくわかりやすい!
(追記)DataGridを使ったサンプル。
September 12, 2008
イベントでラムダ式を使う
this.Click += (s, e) =>
{
MessageBox.Show(((MouseEventArgs)e).Location.ToString());
};
方法 : LINQ 以外でラムダ式を使用する (C# プログラミング ガイド)
10 行でズバリ !! 匿名メソッドによるイベント ハンドラの実装 (C#)
C#のイベント機能
September 9, 2008
Silverlight Graph Structure Visualization Demo
Visualization of Graph Structure.
source files...
Silverlight 2 beta 2
source files...
September 6, 2008
How to make an object from string in Silverlight 2 (to avoid AG_E_PARSER_MISSING_DEFAULT_NAMESPACE error)
XamlReaderを用いて文字列からFrameworkElementオブジェクトをつくるときには明示的に既定のXML名前空間を指定しなければならない。たとえば、xmlns='http://schemas.microsoft.com/client/2007'と指定する。そうしないとAG_E_PARSER_MISSING_DEFAULT_NAMESPACEというエラーが。Silverlight 2 beta 2。
ちなみにJScriptのCreateFromXAMLで名前空間は明示しなければhttp://schemas.microsoft.com/client/2007。
For XamlReader, the required root element must specify a default XML namespace. This is typically the Silverlight client namespace, http://schemas.microsoft.com/client/2007. For CreateFromXAML the default XML namespace is implicitly assumed to be http://schemas.microsoft.com/client/2007 if not specified.
Cf.
Using XamlReader.Load
CreateFromXAML
ちなみにJScriptのCreateFromXAMLで名前空間は明示しなければhttp://schemas.microsoft.com/client/2007。
For XamlReader, the required root element must specify a default XML namespace. This is typically the Silverlight client namespace, http://schemas.microsoft.com/client/2007. For CreateFromXAML the default XML namespace is implicitly assumed to be http://schemas.microsoft.com/client/2007 if not specified.
string xaml = @"<Button xmlns='http://schemas.microsoft.com/client/2007'" +
"Content='foo' Width='60' Height='20' />";
// XamlParseException (AG_E_PARSER_MISSING_DEFAULT_NAMESPACE) will occur if you write
// string xaml = @"<Button Content='foo' Width='60' Height='20' />"
FrameworkElement element = XamlReader.Load(xaml) as FrameworkElement;
hoge.Children.Add(element);
Cf.
Using XamlReader.Load
CreateFromXAML
// Create the MouseLeftButtonUp event handler for the root Canvas object.
function onMouseLeftButtonUp(sender, eventArgs)
{
// Retrieve a reference to the plug-in.
var plugin = sender.getHost();
// Define a XAML fragment and create it.
var xamlFragment = '<TextBlock Canvas.Top="200" Text="Click for more info..." />';
textBlock = plugin.content.createFromXaml(xamlFragment, false);
// Add the XAML fragment as a child of the root Canvas object.
sender.children.add(textBlock);
}
September 5, 2008
INotifyPropertyChanged
using System.ComponentModel;
...
public class foo : INotifyPropertyChanged
{
private int _bar;
public int bar
{
get { return _bar; }
set { _bar = value; if (PropertyChanged != null) OnPropertyChanged("bar"); }
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string str)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(str));
}
}
#endregion
}
Canvas上のオブジェクトをドラッグ&ドロップ
Canvasの上にあるオブジェクトをドラッグ&ドロップする。
How to: Drag and Drop Objects
Silverlight / WPF
How to: Drag and Drop Objects
Silverlight / WPF
#region Handle
bool isMouseCaptured;
Point mousePosition;
void HandleMouseDown(object sender, MouseButtonEventArgs e)
{
FrameworkElement item = sender as FrameworkElement;
mousePosition = e.GetPosition(null);
isMouseCaptured = true;
item.CaptureMouse();
item.Cursor = Cursors.Hand;
e.Handled = true;
}
void HandleMouseMove(object sender, MouseEventArgs e)
{
FrameworkElement item = sender as FrameworkElement;
if (isMouseCaptured)
{
// Calculate the current position of the object.
double deltaV = e.GetPosition(null).Y - mousePosition.Y;
double deltaH = e.GetPosition(null).X - mousePosition.X;
double newTop = deltaV + (double)item.GetValue(Canvas.TopProperty);
double newLeft = deltaH + (double)item.GetValue(Canvas.LeftProperty);
// Set new position of object.
item.SetValue(Canvas.TopProperty, newTop);
item.SetValue(Canvas.LeftProperty, newLeft);
// Update position global variables.
mousePosition = e.GetPosition(null);
}
e.Handled = true;
}
void HandleMouseUp(object sender, MouseButtonEventArgs e)
{
FrameworkElement item = sender as FrameworkElement;
isMouseCaptured = false;
item.ReleaseMouseCapture();
mousePosition.X = mousePosition.Y = 0;
item.Cursor = null;
e.Handled = true;
}
#endregion
September 3, 2008
Skype for Macを自動で起動しない
Macでプリントスクリーン
スクリーンショット。同時にcontrolを押しておくとクリップボードに取り込む。
- ⌘ command + shift + 3
画面全体を取り込む - ⌘ command + shift + 4
範囲を選択して取り込む - ⌘ command + shift + 4 のあとに space
カメラのマークが出て、一つのウィンドウを選んで取り込む
August 28, 2008
Pagesに数式を挿入する
Pagesのヘルプで「数式」って調べたら、
「数式エディタを使う」
「数式エディタで数式を編集する」
…
とか出てきて、何だ、数式挿入できるの?とか思って、見たら、いやいやいや、俺の言ってる数式はそういうこっちゃない、ってことで、結局 LaTeXiT を使う。
LaTeXiTはその名の通りLaTeX形式で数式を入力して画像に変換してなんとかするソフト。
作った数式は数式の画像をPagesにドラッグ&ドロップすれば貼り付けられる。
画像上で右クリックしても弄べる。
もちろんPagesだけでしか使えない訳ではない。
数式の書き方はLaTeX 数式とかで調べれば見つかる。
記号なんかはメニューバーにテンプレが用意されている。
それはいいとして、"Pages"とか"Numbers"とかで検索しても、なんか頁の話とか番号の話とか引っかかって困る。
「数式エディタを使う」
「数式エディタで数式を編集する」
…
とか出てきて、何だ、数式挿入できるの?とか思って、見たら、いやいやいや、俺の言ってる数式はそういうこっちゃない、ってことで、結局 LaTeXiT を使う。
LaTeXiTはその名の通りLaTeX形式で数式を入力して画像に変換してなんとかするソフト。
作った数式は数式の画像をPagesにドラッグ&ドロップすれば貼り付けられる。
画像上で右クリックしても弄べる。
もちろんPagesだけでしか使えない訳ではない。
数式の書き方はLaTeX 数式とかで調べれば見つかる。
記号なんかはメニューバーにテンプレが用意されている。
それはいいとして、"Pages"とか"Numbers"とかで検索しても、なんか頁の話とか番号の話とか引っかかって困る。
July 18, 2008
Bloggerでコードに色をつける
prettify.js と prettify.css をアップロード。
レイアウトのHTMLの編集でヘッダに色々追加。
HTMLの編集で...にコードを記述。
http://blog.webcreativepark.net/2007/10/10-023247.html
レイアウトのHTMLの編集でヘッダに色々追加。
HTMLの編集で...にコードを記述。
<pre class="prettyprint">...</pre>http://jutememo.blogspot.com/2008/01/blogger.html
http://blog.webcreativepark.net/2007/10/10-023247.html
July 12, 2008
隠れマルコフモデルの例
隠れマルコフモデルの例 その2
Pythonで隠れマルコフモデルのFilteringの例
Pythonで隠れマルコフモデルのSmoothingの例
隠れマルコフモデルとは、システムがパラメータのわからないマルコフ性を持つとする確率モデルです。マルコフ性とはその過程の将来状態の条件付き確率分布が、現在の状態のみにより決まり、過去のどんな状態にもよらないという特性のことです。ここではこのモデルの例を記します。
ある友達が遠くに住んでいて、毎日何をしたかをあなたに電話で話します。友達は「散歩」「買物」「掃除」の3つのことにしか関心がありません。友達が何をするかはもっぱらその日の天気で決めます。あなたは友達が住んでいるところの天気の明確な情報は持っていません。でも、どんな傾向があるかは知っています。友達が日々電話で話す出来事に基づいて、友達が住んでいるところの天気を推定してみましょう。
天気は離散マルコフ連鎖に従うと考えます。たとえば今日雨だったら明日晴れの確率は30%、雨の確率は70%といったように。天気には「雨(Rainy)」「晴れ(Sunny)」の2つの状態があるとします。ただし、これらを直接観測することはできません。すなわち、これらの状態は『隠れ(hidden)』ています。友達はその日の天気に従って「散歩(walk)」「買い物(shopping)」「掃除(cleaning)」のいずれか1つだけ行動をとります。友達はその行動を教えてくれるので、これらは観測(observations)となります。この全体のシステムは隠れマルコフモデル(HMM; a hidden Markov model)的となります。
あなたはこのエリアの一般的な天気の傾向と友達は平均としてどのような行動をとるかということは知っています。言い換えれば、HMMの変数は分かっているということです。Pythonを用いてこれらは次のように表せるとします。
状態遷移図で表すと下図のようになります。
さて、たとえば、友人が初日に「散歩」二日目に「買い物」三日目に「掃除」という順で行動したら、その観測結果が得られる確率はいくらか、そして、このような観測結果がえられたとき三日間の天気はどのようであったか、ということが疑問になります。
http://en.wikipedia.org/wiki/Hidden_Markov_model
http://en.wikipedia.org/wiki/Viterbi_algorithm
(つづく)
隠れマルコフモデルの例 その2
(隠れマルコフモデルを用いた状態推定の例)
Pythonで隠れマルコフモデルのFilteringの例
Pythonで隠れマルコフモデルのSmoothingの例
隠れマルコフモデルとは、システムがパラメータのわからないマルコフ性を持つとする確率モデルです。マルコフ性とはその過程の将来状態の条件付き確率分布が、現在の状態のみにより決まり、過去のどんな状態にもよらないという特性のことです。ここではこのモデルの例を記します。
ある友達が遠くに住んでいて、毎日何をしたかをあなたに電話で話します。友達は「散歩」「買物」「掃除」の3つのことにしか関心がありません。友達が何をするかはもっぱらその日の天気で決めます。あなたは友達が住んでいるところの天気の明確な情報は持っていません。でも、どんな傾向があるかは知っています。友達が日々電話で話す出来事に基づいて、友達が住んでいるところの天気を推定してみましょう。
天気は離散マルコフ連鎖に従うと考えます。たとえば今日雨だったら明日晴れの確率は30%、雨の確率は70%といったように。天気には「雨(Rainy)」「晴れ(Sunny)」の2つの状態があるとします。ただし、これらを直接観測することはできません。すなわち、これらの状態は『隠れ(hidden)』ています。友達はその日の天気に従って「散歩(walk)」「買い物(shopping)」「掃除(cleaning)」のいずれか1つだけ行動をとります。友達はその行動を教えてくれるので、これらは観測(observations)となります。この全体のシステムは隠れマルコフモデル(HMM; a hidden Markov model)的となります。
あなたはこのエリアの一般的な天気の傾向と友達は平均としてどのような行動をとるかということは知っています。言い換えれば、HMMの変数は分かっているということです。Pythonを用いてこれらは次のように表せるとします。
states = ('Rainy', 'Sunny') observations = ('walk', 'shop', 'clean') start_probability = {'Rainy': 0.6, 'Sunny': 0.4} transition_probability = { 'Rainy' : {'Rainy': 0.7, 'Sunny': 0.3}, 'Sunny' : {'Rainy': 0.4, 'Sunny': 0.6}, } emission_probability = { 'Rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5}, 'Sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1}, }
状態遷移図で表すと下図のようになります。
start_probability
(初期確率)は友達が最初に話したときのHMMにおける信念(breif)を表します(知っているのはちょっと雨が降りやすいっていうことだけ)。ちなみにこの確率分布は定常状態ではありません。ここで与えられた遷移確率に従うとすれば、定常状態ではだいたい {'Rainy': 0.571, 'Sunny': 0.429}
となります(→遷移行列の固有ベクトル)。transition_probability
(遷移確率)はマルコフ過程においてどのように天気が変化するかということを表します。この例では、もし今日「雨」だったら明日「晴れ」になる確率は30%しかないということを示します。emission_probability
(出力確率)は、ある天気のときに友達はどんな行動をとるかということを表します。もし「雨」だったら50%の確率で「掃除」をする、もし「晴れ」だったら60%の確率で「散歩」をするということを示します。さて、たとえば、友人が初日に「散歩」二日目に「買い物」三日目に「掃除」という順で行動したら、その観測結果が得られる確率はいくらか、そして、このような観測結果がえられたとき三日間の天気はどのようであったか、ということが疑問になります。
http://en.wikipedia.org/wiki/Hidden_Markov_model
http://en.wikipedia.org/wiki/Viterbi_algorithm
(つづく)
隠れマルコフモデルの例 その2
(隠れマルコフモデルを用いた状態推定の例)
June 19, 2008
Jailbreak覚え書き
- iTunesで復元
- ZipPhoneでJailbreak
- Applicationsのパーティションを変更
$ ssh root@192.168.?.?
password: alpine
# mkdir /private/var/Applications
# cp -Rp /Applications/* /private/var/Applications/
# rm -Rf /Applications
# ln -s /private/var/Applications/ /Applications
# reboot
June 17, 2008
Carbon EmacsでShift + 矢印で範囲選択する
Problem:
Carbon EmacsでUSキーボートだとCtrl+SpaceはSpotlight、Ctrl+@はことえりに対応してるので範囲選択できない。両方ともそれなりに使うから殺したくない。
Solution:
Shift + 矢印で範囲選択する、であきらめる。
設定の仕方は本家の「よくある質問と回答」にもあるが、
Carbon EmacsでUSキーボートだとCtrl+SpaceはSpotlight、Ctrl+@はことえりに対応してるので範囲選択できない。両方ともそれなりに使うから殺したくない。
Solution:
Shift + 矢印で範囲選択する、であきらめる。
設定の仕方は本家の「よくある質問と回答」にもあるが、
- 自分のホームディレクトリ(/Users/(アカウント名)/)に.emacs.elをつくる。
- .emacs.elに次のように記述する。
(12. Shift + 矢印キーで領域を選択するには?(2007年4月以前の動作))(setq pc-select-selection-keys-only t)
(pc-selection-mode 1) - ついでにcommand + c でコピーとかもできるようにするには.emacs.elに次のように記述する。
(10. Mac 標準のショートカット(例:⌘ + C でコピー, ⌘ + V でペースト)を併用するには? )(mac-key-mode 1)
May 28, 2008
Caps LockをCtrlに
Caps Lockの素晴らしい使い道を誰か教えてください!
素晴らしい使い道がわかるまでCtrlとして働いていただきます。
http://winadmin.forret.com/registry/wanocaps/
素晴らしい使い道がわかるまでCtrlとして働いていただきます。
http://winadmin.forret.com/registry/wanocaps/
Boot Campで字がにじむ
May 19, 2008
英辞郎第三版をLeopardの辞書で使う
Leopardの「辞書」アプリで「英辞郎」を使うというエントリを見つけた。すばらしい!
>ruby eiji_conv.rb MyDictionary.xml
undefined method `pre_match' for nil:NilClass (NoMethodError)
なんてこったい。
Rubyとか初めて見たからよくわからんけど、空のオブジェクトのpre_matchメソッドを実行しようとしているってこと?
Eijiro.txt、eiji_conv.rbについて以下の処理を施した。
それぞれをmiでエイヤと開いて編集しました。
書籍版にはバイナリ形式の辞書しかない。
のでテキスト形式に変換しなければならない。
DiDi Dictionary Viewerの「英辞郎まとめて変換」がいいよ!ということだったが手に入れられない。(閉鎖中?)
そこでまず、こちらのスクリプトを利用させていただきPDICバイナリ形式をPDIC1行テキスト形式に変換した。
実はここでも引っかかった。 sortでエラーが出る。
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
うーん。で、convert-all.shの10行目
perl ./pdic-dump.pl $f | sort -f | sed -f ./eview.sed > $name.txt
を
perl ./pdic-dump.pl $f | LC_ALL=C sort -f | sed -f ./eview.sed > $name.txt
と変えた。xmlにするんだからほんとはソートはいらないのだろうけど^^;
準備ができたところでいよいよeiji_conv.rbを実行。エラー。
そこでまず、こちらのスクリプトを利用させていただきPDICバイナリ形式をPDIC1行テキスト形式に変換した。
実はここでも引っかかった。 sortでエラーが出る。
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
うーん。で、convert-all.shの10行目
perl ./pdic-dump.pl $f | sort -f | sed -f ./eview.sed > $name.txt
を
perl ./pdic-dump.pl $f | LC_ALL=C sort -f | sed -f ./eview.sed > $name.txt
と変えた。xmlにするんだからほんとはソートはいらないのだろうけど^^;
準備ができたところでいよいよeiji_conv.rbを実行。エラー。
>ruby eiji_conv.rb MyDictionary.xml
undefined method `pre_match' for nil:NilClass (NoMethodError)
なんてこったい。
Rubyとか初めて見たからよくわからんけど、空のオブジェクトのpre_matchメソッドを実行しようとしているってこと?
ということでeiji_conv.rbを試行錯誤でちょこっといじらせていただき、どこでエラーが出てるかチェック。
Eijiro.txt、eiji_conv.rbについて以下の処理を施した。
それぞれをmiでエイヤと開いて編集しました。
- よくわからんが「π」という文字が含まれているところで止まる。
→テキストの文字コードを最初からUTF-8で保存する。ファイルでかくて時間かかる。
→UTF-8に変換したからeiji_conv.rb中の文字コードの変換処理をしない。eiji_conv.rbの50行目で
line1 = iconv.iconv(line) #Shift_JISからUTF-8へ変換
を
line1 = line1 # 何も変えない
に変えた。何たるやっつけ仕事。 - 「 : 」が含まれていない「■・」から始まるエントリがある。
→例文っぽいから行ごと消す。
May 14, 2008
VMware Fusionのアップデート
4月にアップデートしてた。act2.comのダウンロードから。
以下転載。
バージョン 1.1.2 リリースノート
VMware Fusion 1.1.2 で解決された問題- フルスクリーンまたはシングルウインドウ表示で、キーボードショートカットの再割り当てを無効にできなかったのを修正。「Mac OS キーボードショートカットを有効にする」の選択解除が正しく動作。
- 仮想 CD ドライブを接続した仮想マシンを、実際のドライブを Mac に接続しない状態で実行しようとすると起こる問題を修正。これは MacBook Air で起こることが多かった。この状態で、仮想マシンが異常終了することがなくなった。
- MacBook Air で、USB Superdrive を用いて CD 書き込みができなかったのを修正。
- 環境設定で「デバックチェックを有効にする」が設定されていると、新型の薄型 Apple Keybord で新たに採用されたキーを押したとき VMware Fusion が異常終了するのを修正。
- ワイヤレスブリッジングと DHCP/ルーティングの互換性を修正し、仮想マシンが IP アドレスを入手できないことがあったのを修正。
- デフォルトのスピーカしか使用できないことがあったのを修正。
- その他、詳細はVMware Fusion 1.1.2 リリースノートをご確認ください。
インストール方法について
- VMwareFusionのプログラムを終了した状態で、日本語版インストーラを起動させてください。
以前のバージョンをアンインストールする必要なくアップデータ可能です。 - アップデータインストール後、念のため VMware Tools の再インストールを行ってください。
May 8, 2008
Excel for Mac でセル内で改行する
Excel for Mac (Office 2008 for Mac)で、セル内で改行するためには option + command + Enter。ちなみに、Windowsでは alt + Enter。
May 2, 2008
VMWare上でCtrl+クリック=右クリックをやめたい
VMware上のWindowsでCtrlと左クリックと右クリックを同時に押したい。Mighty Mouseやら使ってもうまくいかない。
以下、解決方法。
VMware Fusion > 環境設定 で Mac OS ショートカットキーを有効にする のチェックを外した。
April 1, 2008
MacのUSキーボードで半角¥を打つ
MacBook AirでUSキーボード(英字キーボード?英語キーボード?とにかくANSI配列)で半角の円マークを打つ方法はないのかな、あるんじゃなかろうか。
ありました。
option + y : ¥
ほかにも、
option + 1 : ¡
option + 2 : ™
option + 3 : £
option + 4 : ¢
option + 5 : ∞
option + 6 : §
option + 7 : ¶
option + 8 : •
option + 9 : ª
option + 0 : º
option + - : –
option + = : ≠
option + 2 : ™
option + 3 : £
option + 4 : ¢
option + 5 : ∞
option + 6 : §
option + 7 : ¶
option + 8 : •
option + 9 : ª
option + 0 : º
option + - : –
option + = : ≠
…
option(とShiftの組み合わせ)でいろんな記号が打てそう。
特殊文字、ダイアクリティカルマークもいけそう。
アクサンとかウムラウトとかセディーユとか。
option + e と打った後 e : é
option + u と打った後 e : ë
option + c : ç
どこかに一覧とかないのかな、あるんじゃなかろうか。
ありました。ありがとうございました。
Macintosh Accent Codes - まとまってて見やすい!
(追記)
キーボードビューアを撮っておいた → Macのキーボードレイアウト
Subscribe to:
Posts (Atom)