blog.handlena.me

コード書いたりゲームしたり

  • anything-c-source-occurが動かなかったのでちょっといじった。

    なんだか定番らしいanything.elですが,ぼくはつい昨日(!)存在を知りました。 で,早速使ってみて「お〜?おー!」とかやってたんですが, anything-config.elで定義されているanything-c-source-occurが うまく動かない感じだったのでちょこっといじりました。 何がどううまく動かなかったかというと, anything-c-source-occurの一覧から選択すると, Wrong number of arguments: (lambda (numline) "Replacement of `goto-line'." (goto-char (point-min)) (forward-line (1- numline))), 2 と,なってしまってたんですね。 行数はわかるけどその場所に飛べない,と。 すごく残念。 エラーの該当箇所を探したらanything-config.el中のanything-goto-lineでした。 anything-c-source-occurの定義中でanything-goto-lineを呼び出してる部分を見ると, 確かに引数の数が間違ってました。 定義では行数のみを与えるようになってますが,呼び出しでは行数と対象のバッファを渡しているようです。 そこで,余計だと思われる2つめの引数を取っ払ったらうまく動くようになりました。 以下はその修正点。 *** anything-config.org.el 2010-02-07 13:51:49.000000000 +0900 --- anything-config.el 2010-02-07 13:51:17.000000000 +0900 *************** *** 3733,3739 **** (let ((lines (split-string (buffer-string) "\n" t))) (cdr lines))))))) (action . (("Goto line" . (lambda (candidate) ! (anything-goto-line (string-to-number candidate) anything-c-source-occur-current-buffer))))) (requires-pattern .

    Read more…
  • Filefox3.6の加速度センサ検知を使ってみた

    スーパーやっつけ仕事。加速度センサがついたPCで,Firefox3.6使って開くと動きます。http://d.hatena.ne.jp/nakamura001/20100122/1264130744 を参考にさせていただきました。 加速度センサテスト 加速度センサの値をとれると,外界と繋がった感じの動きができておもしろいですね。

  • boost::ptr_map の使い方

    boost::ptr_mapの使い方が,どこを探してもはっきりとは載っていなかったのでメモ。 boostのバージョンは1.41。 必要最低限の使い方です。 下準備 boost::ptr_mapを使うためには,boost/ptr_container/ptr_map.hpp をインクルードする必要がある。 #include <boost/ptr_container/ptr_map.hpp> また,説明するためにこんなクラスを用意。 /** * 基底クラス。 * 純粋仮想関数を含んでいるのでインスタンスかはできない(インターフェイス)。 */ class BaseContainer { public: virtual void mes() = 0; }; /** * コンテナクラス。 * BaseContainerを継承。 * 値の保持と,何を保持しているかを表示するメソッド。 */ template <class T> class Container : public BaseContainer { private: T value; public: Container(T value) { this->value = value; } <span class="synType">void</span> mes() { std::cout &lt;&lt; <span class="synConstant">&quot;Container : value = &quot;</span> &lt;&lt; value &lt;&lt; std::endl; } };

    Read more…
  • Ark Advent Calendar : 2日目

    2日目。今回もコードは書かないみたいです。 ユーザー 今回はJobeetが何をするかの確認ですね。 4つのユーザーについてのストーリーを確認していきます。 Jobeet は4種類のユーザーを持ちます: 理者(admin) Web サイトを所有し魔法の力を持つ ユーザー(user) 仕事を求めて Web サイトに訪問する 投稿者(poster) 求人情報を投稿するために Web サイトに訪問する アフィリエイト(affiliate) 自分の Web サイトにも求人情報を再投稿する ストーリー この4種類のユーザーについてのストーリーはFrontend(ユーザーサイドのストーリー)7つと, Backend(管理者サイドのストーリー)3つの,全部で10種類。 Frontend ホームページ上でユーザーは最新の有効な求人を見ることができる ユーザーはカテゴリに属するすべての求人情報をみることができる ユーザーはキーワードで求人一覧を絞り込める ユーザーは求人情報をクリックすると詳細な情報をみることができる ユーザーは求人情報をクリックすると詳細な情報をみることができる ユーザーがアフィリエイトの申し込みをする アフィリエイトをする人は現在有効な求人一覧を取得できる Backend 管理者は Web サイトを設定する 管理者は求人情報を管理します 管理者はアフィリエイトユーザーを管理する おわり ストーリーを確認したら今回は終了。

  • Google日本語入力使ってみた

    Google日本語入力なるものがリリースされていたので早速使ってみた。 環境は Mac OS 10.6.2 。 インストール http://www.google.com/intl/ja/ime/ からインストーラをダウンロードしてインストール。 途中特に設定する項目はない。 で,インストールされると環境設定の「言語とテキスト」にこんな感じでGoogle日本語入力が表示される。 メニューバーのアイコンをクリックしたときはこんな感じ。 ATOKのものとほとんど一緒。 バージョンは0.8だそうな。 早速使ってみる 使い心地は一般的なIMEとほぼ同様。キーバインドは MS-IME や ATOK などから選べる。 入力中にSpaceを打つと変換候補を表示。 入力を開始すると補完候補が表示されるので, このときTabを打つとそちらにフォーカスが移る。 ATOKなどに比べて,候補がたくさん出てる気がする。 なんだか携帯で文章打ってる気分になります。 ほめ言葉的な意味で。 設定とか とりあえず設定項目をSSで羅列。 一般 辞書 入力補助 サジェスト その他 キーバインド。設定できる項目が少ない。あと英語。 辞書登録 感想とか よかった点 変換候補・補完候補が多い マイナーな固有名詞もばっちり候補に入ってる(でも自分の名前は入ってなかった。残念) 無料 いまいちな点 いやねぇよみたいな候補も表示される(人の手が入ってないから仕方ない?) 学習機能が強すぎる(一度の変換で候補リストのトップに来る) 設定項目(特にキーバインド)が不充分

  • Ark Advent Calendar : 1日目

    Ark Advent Calender 2009なるものがあったのでやってみた。 とりあえす1日目。 初日はプログラム書かないらしい。 Arkのインストールとプロジェクトの設置あたりをやるんでしょう。きっと。 ちなみにうちの環境は Mac OS 10.6.2。 PHPはちょこちょこ書くので Apache2 + PHP5 + MySQL5 は導入済み。 CPANの初期設定 まずはCPANの設定から。じつはperlは全く触ったことがないので,当然CPANの設定も何もやってない。 「デフォルト設定でいいよ!」とあるので, $ sudo -H cpan を実行したらひたすらEnterを連打して設定を終わらせる。 ほかには特にやることもないので, cpan> q で終了。 Arkのインストール 次はArk本体をインストールする。 Arkのダウンロードから依存パッケージのインストールまではこんな感じ。 いちいち yes で答えるのは面倒なので,installdeps の前に yes をつけてる。 $ wget http://cloud.github.com/downloads/typester/ark-perl/Ark-0.11.tar.gz $ tar -zxvf Ark-0.11.tar.gz $ cd Ark-0.11 $ perl Makefile.PL $ yes | sudo -H make installdeps まぁ,書いてあるものそのままですわな。 依存パッケージのうち, Modules::Setup と Test::Output のインストールに失敗していたので, $ cpan -f Modules::Setup $ cpan -f Test::Output で無理矢理入れる。 準備ができたのでいよいよインストール。 こっちにもyesつけてる。

    Read more…
  • Sony DLC-BT15レビュー

    SonyのBluetoothレシーバ、DRC-BT15を買ったので軽くレビュー。 DRC-BT15Pというのもありますが、カラーリングが違うだけで(ソニエリの携帯に合わせてあるらしい) 中身は一緒らしいです。 Amaonで\6,194で購入。 あいかわらずすかすかな感じの箱で到着。 外観 外箱。 iPhoneで音楽を聴くために買ったので、とりあえずiPhoneと比べてみることに。 並べてみるとこんな感じ。 配色がiPhoneとおそろいで統一感があります。 厚さはiPhoneより若干厚いくらい。 正直なところ、少々大きすぎな印象。 持ってみた感じ中身にも余裕があるようなので、もうちょっと小さくしてほしかったところ。 全体的に安っぽい感じ…。ちょっと残念。 機能 できることなどは以下の通り。 ステレオミニプラグに出力 通話 再生・一時停止 音量調整 曲送り・戻しはできないようです。 音質 オーディオ機器として一番大事なところ。 結論から言うといまいちです。 Bluetoothで通信する際に圧縮しているのが原因でしょう、各音の終わりにノイズが乗ります。 iPhoneが原因なんじゃないかと思いMacBookでも試してみましたが、症状は変わりませんでした。 通話には問題ないレベルですが、音楽鑑賞目的で使うには少々つらいものがあります。 結論 「いい音」がほしい人はおとなしく有線でつないでおきましょう。 ハンズフリーで通話する分には問題ありません。 こんかいほとんど下調べもせずノリで買っちゃいましたが、 こういうものはちゃんと事前にモノを見ないといけないなぁ、と。

  • Visual C++でDirectXを使う場合の設定メモ

    Visual C++でDirectX使おうと思ったら予想外に手こずったので手順をメモ。 環境は, Windows 7 or XP (Vistaでは未確認) Visual C++ Express Edition 2008 DirectX SDK (March 2008) Visual C++をインストール なにはともあれ開発環境。 今回はタダで使えるExpress Editionを利用。 このページからダウンロードしてインストール。 30日以上の使用にはLiveID(無料)が必要。 DirectX SDKのインストール DirectXでなにかを作るために必要なもの。 このページからダウンロードしてインストール。 プロジェクトの作成 環境が整ったらさっそくプロジェクトを作成。 Visual C++を起動して, 「プロジェクトの種類」は「全般」 「テンプレート」は「空のプロジェクト」 を選択。 他のテンプレートでもできるかもしれないけど今回は一番シンプルなやつで。 プロジェクト名を入力して「OK」すれば新しいプロジェクトができる。 プロジェクトの設定 ここからが本番。 プロジェクトの作成後,そのままの状態ではDirectX SDK付属のサンプルプログラムすら動かないので設定を変更する。 ディレクトリの追加 ツール オプション プロジェクトおよびソリューション VC++ディレクトリ の, 「ディレクトリを表示するプロジェクト」で「インクルードファイル」を選んで, (DirectX SDKがあるディレクトリ)\Include を追加。 さらに「ディレクトリを表示するプロジェクト」で「ライブラリファイル」を選んで, 32bit版の場合 (DirectX SDKがあるディレクトリ)\Lib\x86 64bit版の場合 (DirectX SDKがあるディレクトリ)\Lib\x64 を追加。 プロジェクト毎に設定することもできるけど, サンプルを実行してみるときにいちいち設定し直すのは面倒なので,ここで設定。

    Read more…
  • バブルソートを見える化。

    見える化シリーズ第一弾。まずは基本中の基本、バブルソート。オーダーはn2

  • MacBookをdvorak配列にする。

    MacBookでdvorakを使う方法を紹介します。 入力ソースの切り替え OS側でキーボード配列を変更します。設定しなきゃいけない場所は2カ所。 IMEの設定 ことえりを使っている場合は、 「環境設定」→「入力設定」→「英字入力時のキーボード配列」 をdvorakに。 ATOKを使っている場合は、 「環境設定」→「入力・変換」タブ→「入力補助」→「キーボード配列」→「英字入力時のキーボード配列」 をdvorakに。 入力ソースの設定 「システム環境設定」→「言語とテキスト」→「入力ソース」 で、「US」のチェックを外し「dvorak」にチェックを入れます。 これで入力がdvorakに変わります。 日本語入力時だけ、あるいは英字入力時だけqwerty配列に戻ってしまう場合は、 メニューバーの入力ソースのアイコンをクリックして、一度dvorakを選択してからことえりなりATOKなりに戻すと 常にdvorakで入力されるようになります。 キートップの入れ替え せっかくなのでキートップも入れ替えてしまいます。 MacBookの場合(というかほとんどのパンタグラフ式のキーボードに共通ですが)、 キートップは爪に引っかかっているだけなので引っ張れば簡単に外れます。 ただ、引っ張る際に力を入れる方向を間違えると爪が折れてキートップを戻すことができなくなるので、 外す場合は充分に注意して行ってください。 このように左端を持ち上げて引っ張ります。 経験的に、左下の方を引っ張るとすんなり外れるようです。 仕上げにホームポジションの目印をつけて完成です。 無いと落ち着かないんですよね、これ。 ちなみにこの目印は100円ショップで売っていたドームシールです。 そのほかの設定 IMEの設定でカ行をCで打ち込むようにしたり、 Ukeleleなんかを使ってCとKを入れ替えたりするとより使い勝手がよくなります。 おわりに とっても打ちやすいdvorak配列なのですが、 もともとqwertyでタッチタイプができる人だと完全に移行するまで入力がものすごく遅くなります (じっさい、dvorakに切り替えてから1週間ほどですが、この文章を打つのにも1時間くらいかかってます)。 今回、実際は必要のないキートップの入れ替えまで行いましたが、 途中で投げ出さないためにもこのめんどくさい方法は有効なんじゃないでしょうか。