v

字句解析・構文解析の調査

プログラミング言語の字句解析・構文解析を調べている.今回の調査の目的は,既に文法定義が存在する言語の字句解析・構文解析プログラムを作成する際の注意点を列挙することである.新しい言語の定義を行う際の注意点の列挙や,字句解析・構文解析プログラ…

OCaml 関連のパッケージ

OCaml 関連で便利そうなパッケージ.Debian の ocaml-core が依存しているパッケージをあげてみる. ocaml-findlib OCaml のパッケージ(関連するモジュールの集合)を扱うライブラリとコマンド. ocaml-tools よりよい vim 用のインデントサポート omlet. …

Module::Starter::PBP による perl モジュール雛形の作成

perl のモジュールの雛形を作るには h2xs を使うのが定番だが,最近では Module::Starter を使うのがナウいということだ.さらに,Module::Starter::PBP を使うと Perl Best Practice に倣ったテンプレートでモジュールを作成できる.まずインストール. $ s…

Trac で新規チケットの担当者欄をドロップダウンリストにする方法

Trac では通常,新規チケットの担当者欄(assign to:)の入力はテキストフィールドになっている.これを登録ユーザのドロップダウンリストにするには,conf/trac.ini の [ticket] セクションの restrict_owner を true にする.

VMWare Fusion の不具合

v mac

VMWare Fusion でキーを入力しても受け付けなくなり,ビープが鳴るだけになることがたまにある.これを解決するには表示モードを変更する,例えばシングルウィンドウモードからフルスクリーンモードに切り替えると直る.

Mac でのアプリケーション起動のカスタマイズ

v mac

Mac でアプリケーションの起動時にコマンドラインオプションを指定したい場合にはどのようにすればよいのか?Finder からアイコンクリックで通常のアプリケーションのように起動したいのである.最初にシェルスクリプトを作成してみたところ,Terminal が実…

Mac 操作小ネタ

v mac

Command-Tab でアプリケーションを切り替えている最中、つまり Command を押したまま Tab を離した状態で Q を押すとそのアプリを終了することができる。

Mac OS X で samba マウント時のシンボリックリンク

v mac

Mac OS X で samba サーバをマウントしたときのシンボリックリンクがクライアント側で解決されるシンボリックリンクとして見えてしまう。これは Leopard かららしい。解決するには samba サーバ設定で unix extensions = Noとすればよい。SWAT でも設定可能…

Mac OS X で関連付けを変更

v mac

ファインダーで ファイルを選択し,[情報を見る] を実行する.[このアプリケーションで開く] 区画でアプリケーションを選択し,[すべてを変更] ボタンを押す.

Mac OS X の初期設定 (Tiger)

v mac

クリーンインストール 住所などの個人情報入力画面は Command-Q で回避できる. USB Overdrive システム環境設定 Dock [Dock サイズ] を最大 [画面上の位置] を [左] [Dock を自動的に隠す/表示] を on. Spotlight [Spotlight メニューのキーボードショー…

強制的に US の Google を使う方法

USのGoogleを使うには http://www.google.com/ncr と打つ. NCR stans for "No Country Redirection."

X のフォント

v X

X のフォント関係はややこしい. 発端: Xming で接続し,GVim を起動したところ,メニューやタイトルバーのフォントがアンチエイリアスされていなかった. Xming で XDMCP で接続し,KDE を起動するとアンチエイリアスされている.しかし,GTK アプリケーシ…

Xming はじめの一歩

Xming X Server for Windows - Official Website から Xming と Xming-fonts の public release をダウンロード. PuTTY をインストールするかと聞かれるが,既にインストールしているはずなのでインストールしない. フォントは全部選択する. スタートメニ…

Linux の inotify

Linux kernel 2.6.13 で inotify と呼ばれるファイルシステム監視機能が導入された.試してみる. $ sudo aptitude install inotify-tools $ inotifywait -m /tmp & $ touch /tmp/hoge /tmp/ CREATE hoge /tmp/ OPEN hoge /tmp/ ATTRIB hoge /tmp/ CLOSE_WRI…

Firefox 2.0 の初期設定レシピ

基幹エクステンションのインストール ブックマークの管理を起動し,全てのブックマークエントリとフォルダを消去する.Google Browser Syncをインストール.Tab Mix Plusをインストール. オプション設定 一般 [ホームページ]を設定.[ファイルのダウンロ…

オブジェクト開発の神髄?UML 2.0を使ったアジャイルモデル駆動開発のすべて

オブジェクト開発の神髄?UML 2.0を使ったアジャイルモデル駆動開発のすべて作者: Scott W.Ambler,越智典子,オージス総研出版社/メーカー: 日経BP出版センター発売日: 2005/07/13メディア: 大型本購入: 1人 クリック: 31回この商品を含むブログ (32件) を見る…

Subversion リポジトリのバックアップ

手順 ミラーリポジトリの作成. # cd /usr/local/share/backup/svn # mkdir srv-svn # svnadmin create srv-svnフックの設定. # cd srv-svn/hooks # cp pre-revprop-change.tmpl pre-revprop-change # cp start-commit.tmpl start-commit # chmod +x pre-re…

Python のネストした関数での変数のスコープ

Python ではネストした関数を記述でき,その関数から外側のブロックの変数が見える.しかし読むことはできても書くことはできない(!!).しかも,書くとエラーになるのではなく,内側のブロックにローカル変数を作成してしまい,その関数を呼ぶと「初期化…

継承についての小考察

継承でスペースを犠牲にして利便性を向上するケースに出会った. typedef void (*TidyItemProc)(void *item); struct List { /* ... */ void MakeEmpty(TidyItemProc proc); }; struct XList : public List { void MakeEmpty() { List::MakeEmpty(this->tidy…

GLib を用いた最も簡単なプログラム

GLib を用いた最も簡単なプログラムは以下のようになる. #include <glib.h> int main(int argc, char *argv[]) { GMainLoop *loop; loop = g_main_loop_new(NULL, TRUE); g_main_loop_run(loop); g_main_loop_unref(loop); } コンパイルするための SConstruct ファ</glib.h>…

Drupal で本文の最後に空白を空ける

Drupal で本文の最後に空白を空けるにはどうすればよいだろうか?/usr/share/drupal 以下を探ってみる. index.php menu_execute_active_handler() を呼んでいる. includes/menu.inc menu_execute_active_handler() から $menu['callbacks'][$path]['callba…

Docomo 携帯料金

自分の Docomo の携帯料金を再検討してみた.2007/04〜2007/11 の平均 音声 1832.5 円/月 データ 12822.38パケット/月ちなみにこの時点で加入しているパケット10では1パケット0.1円である.パケットパックはパケットパック10の上はパケットパック30で+200…

svk 実験

v svk

svn + svk でファイルの移動とファイルの更新がからみあったときの動作が興味深いので検証してみる.まず svn リポジトリ http://example.com/svn/hello を用意する. $ cd test $ mkdir svn svk $ cd svn $ svn co http://example.com/svn/hello A hello/he…

Subversion で working copy を即座にブランチする

方法 svn cp WC URL 形式を用いる. $ svn info Path: . URL: http://example.com/svn/deopt/project/trunk (...) $ svn update $ svn cp . http://example.com/svn/depot/project/branches/2007-1204-0909 $ svn revert -R .この方法だと,ブランチしてから…

svk 最初の実行ログ

v svk

svk depotmap --init mkdir ~/var/lib/svk svk depotmap --relocate // ~/var/lib/svk/repos rm -rf ~/.svk/local svk mirror //mirror/2007-1202-hello http://www.example.com/svn/aa-hello/branches/2007-1202-1349 svk sync //mirror/2007-1202-hello sv…

Subversion でディレクトリの名前を変更するときの注意

Subversion でディレクトリの名前を変更するときには注意が必要である. $ svn mv dir folder $ svn ci svn: Commit failed (details follow): svn: Item '/av-drupal-customize/plcjournal/trunk/plcjournal/zen-fixed' is out of dateとなってエラーが発生…

apache の virtual host

情報源 Name-based Virtual Host Support - Apache HTTP Server Version 2.2 簡単に virtual host とは1つの物理的なホストで複数のWebサーバエントリを扱う手法. IPベースと名前ベースがあり,名前ベースは UA が送出する http の host: ヘッダを利用する…

Drupal の teaser list の装飾

Drupal の frontpage のような teaser list で,ノードの表示に枠などの装飾を付けたい.これがないと,ノードの境目がはっきりしないため.解決策: 通常の class づけではノード単独ページと teaser list での表示の区別は付けられない.views モジュールを…

BitTorrent でコマンドラインからダウンロード

BitTorrent でコマンドラインからダウンロードするには: $ sudo apt-get install bittornado $ btdownloadcurses hoge.ika.torrent

Subversion の blame コマンド

svn blameでファイルの各行毎に誰がどのRevで修正しているかを表示できる.