iTerm 0.10 の不具合

v mac

iTerm を 0.10 にしてから時々表示が欠けるようになった.iTerm.app / Bugs / #1549 Occasional 'missing' lines によると,Preferences の Display Refereshing Rate を遅くすると顕在化しなくなるということだ.このレートを調整するには以下のコマンドを…

perl における配列を返す部分式の n 番目の要素を返す記法

例えば今,配列を返す関数があるとする. sub f { (1, 2, 3); } f() の返り値の n 番目の要素を得るには次のようにすればよい. @a = f(); print $a[$n]; この時,一時変数 @a を使わないようにするにはどうすればよいだろうか?以下のようにすればうまくい…

perl で HTML ファイルの内容を書き換える

ネットからダウンロードした Web ページの内容を少しだけエディタで書き換えることがよくある,これを Perl を使ってプログラムからやるにはどのようにすればよいだろうか.HTML::TreeBuilder, HTML::Element あたりを使うことになるだろう. HTML をパーズ…

git の根本

v git

git の SHA-1 名のことを調べていたら git の根本について書いてあったのでまとめておく.簡単のため正確さを犠牲にしているので注意. オブジェクト git のオブジェクトは,(type, length) というヘッダと,データ部分をつなげたバイナリである.このバイナ…

git の SHA-1 名

v git

現在,ある subversion リポジトリを git によって追跡しているが,各コミットに関するベンチマーク値を git 側のコミットの SHA-1 名をキーとして共有ディレクトリに格納している.そこで疑問が生じるわけであるが,別の git svn clone で追跡を開始した gi…

clone の clone から origin への push

v git

オリジナルのレポジトリ repos があるとする. $ cd repos $ git branch * masterこれを clone に clone する. $ cd .. $ git clone repos clone $ cd clone $ git branch * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git chec…

debian パッケージ名の規則

Q: debian のパッケージ名の規則はどこに書いてあるのか?A: 5. Control files and their fields — Debian Policy Manual v4.3.0.3 (5.6.1 Source) にある.誰もが 3.1 The package name に書いてあると思うだろうが,そこの参照先の参照先である上記に記述…

Mac OS X から samba の共有フォルダに素早く接続する方法

v mac

Mac OS X から samba の共有フォルダに接続するには,Finder のウィンドウのサイドバーの「共有」からサーバ名をクリックし,その中の共有フォルダ名をダブルクリックするのだが,サーバ名をクリックしてから共有フォルダ名が現れるまで既に接続済みでも1秒…

git commit 時に差分を表示する

git commit 時に差分を表示する機能が最近動作しなくなっていた.原因は debian の vim-scripts パッケージの変更であった(Bug #539380).具体的には vim-scripts に入っていた git-commit プラグインが消滅し,代わりに vim-runtime にその機能相当のもの…

distcc で高速コンパイル

$ sudo aptitude install distcc $ sudo vi /etc/defaults/distcc ALLOWEDNETS="192.168.1.0/24" LISTENER=""$ DISTCC_HOSTS='localhost example.local' scons -j 3 example_all

Debian で bonjour を利用する

bonjour のプロトコルは mDNS .local は mDNS で使われるドメイン名(mDNS 専用なのか?) # aptitude install libnss-mdnsとやるだけで動作./etc/nsswitch.conf が書き換えられ,背後では avahi-daemon がインストールされて動いている.

p2 で携帯自動ログイン

p2

p2/data/p2_auth_docomo.php が存在していれば消去する. p2 に携帯からアクセスし,パスワードを記入して「ユーザーログイン」を選択する.

scala が生成する一時ファイル

scala を実行すると output-redirects と scalac-compile-server-port というディレクトリが作成され,そのなかにファイルが生成された.これは一体何?どうもカレントディレクトリに生成されるのでなく,${HOME}/tmp に作られるようだ.scala のソースコー…

複数のAPTリポジトリ

/etc/apt/sources.list に複数のリポジトリを設定するとどうなるだろうか?APTはそれらの行から得られたPackagesを結合する.重複が見つかった場合には,最初に見つけたパッケージが優先される(!). 情報源 The Debian System―その概念と技法 (MYCOM UNIX…

Objective C のメソッドは "virtual" か?

Objective C のメソッドは C++ でいうところの virtual なのだろうか? #include <stdio.h> #import <objc/Object.h> @interface B : Object - (void)speak; @end @implementation B - (void)speak { printf("speak B\n"); } @end @interface D : B - (void)speak; @end @implementat</objc/object.h></stdio.h>…

perl で強制的にリストコンテキストで評価する方法

perl で強制的にスカラーコンテキストで評価するには scalar を用いるが,強制的にリストコンテキストで評価するための list (仮称) は用意されていない.man perlfunc の scalar の項によると,これは実質的には全く必要無いからだそうであるが,両コンテキ…

git push の警告

v git

git clone したものを単に引数なしで git push すると警告が出る. warning: You did not specify any refspecs to push, and the current remote warning: has not configured any push refspecs. The default action in this warning: case is to push all…

ファイルの Mac OSX 特有の情報を調べる

ファイルの Mac OSX 特有の情報を調べるには GetFileInfo コマンドを用いる. $ GetFileInfo test.jpg file: "/Users/yourname/Desktop/workspace/test.jpg" type: "JPEG" creator: "MKBY" attributes: avbstclinmedz created: 05/24/2009 14:53:11 modified…

パイプ使用時に気をつけること

bash スクリプトでパイプを使用するとサブシェルが走る.気をつけるべきは,while のような複合コマンド内で変数を利用する場合である: i=0 find . -name '*.c' | while read file; do let i++ done echo i では find した .c ファイルの個数ではなく,0 が…

apt の sources-list を自動生成する

debian で /etc/apt/sources-list に記述するサーバとして,最もスループットがよいものを自動的に計測する方法を示す.netselect-apt パッケージを用いる. $ cd /tmp $ sudo netselect-apt -ns squeeze $ view sources.list $ sudo cp souces.list /etc/ap…

Subversion の意外な挙動

Subversion (svn) ではリポジトリ全体に通しリビジョン番号が付いている.ファイルを変更してコミットするとリポジトリ全体のリビジョンがインクリメントされる.しかしそのコミットを実行したワーキングコピーにおいては,リビジョンがインクリメントされる…

Firefox で拡張をインストールするときの遅延を無くす方法

Firefox で拡張をインストールするときに一定時間のカウントダウンが行われて,即時のインストールの実行ができないようになっているが,これを回避する方法.プロファイルディレクトリに user.js というファイルを用意し, user_pref("security.dialog_enab…

debian で無線 LAN (AirMac Express)

Panasonic Let's note CF-W2 に debian をインストールし AirMac Express につなぐ. Intel® PRO/Wireless 2100 Driver Firmware から firmware を持ってくる. /usr/lib/hotplug/firmware ディレクトリにコピーして reboot. wpasupplicant をインストール…

AirMac Express のリセット

v mac

リセットボタンを10秒間押して離すとリセットされる.しかし,これでは11n+g, 11n+aの選択などはリセットされない.完全リセットするには,コンセントを挿した直後に上記の操作を行なえばよい.

MacPorts のルーチンワーク

$ sudo port -d selfupdate $ sudo port -d sync $ port outdated $ sudo port -d upgrade installedactive でないものを消す $ sudo port -uf uninstall

Garage Band Jam Pack

v mac

Garage Band Jam Pack (Logic Studio 付属) はインストールすると本体のハードディスクにインストールされる.これを外部ディスクに追い出すにはどうするか?1. 外部ディスクにディレクトリを作成 $ mkdir -p "/Volumes/LagrangeExt/Library/Audio/Apple Loo…

ターミナルにダイアログを表示するコマンド whiptail

Linux でターミナルにダイアログを表示するコマンド whiptail を発見した. $ whiptail --msgbox hello 25 80とか.

SCons で一つのソースから複数のターゲットを作る

SCons で一つのソースから複数のターゲットを作るときにうまくいかないのでテストしてみる. def XXXBuilder(): return Builder(action = "perl xcommand $SOURCES") def YYYBuilder(): return Builder(action = "perl ycommand $SOURCES") env = Environmen…

ssh によるポートフォワーディング(リモート→ローカル)

v ssh

First Try リモート側のポートに対するアクセスを転送するには -R オプションを用いる. $ ssh -N -R 1234:intraserv:4321 publicservこれによって,publicserv のポート 1234 に対するアクセスが,このコマンドを実行したマシンから見た intraserv:4231 に…

Silverlight 最初の一歩

3つのファイルが必要. Silverlight.jsSDKから持ってくるのが本道だが,面倒なので添付しておく.sample.html <html> <head> <script src="Silverlight.js"></script> <body> <div id="iA"></div> <script> Silverlight.createObject( "sample.xaml", document.getElementById("iA"), "iA", { width: "300", height: "300", version: "1.0" }); </script> s</body></head></html>…