平衡点
2008/10/02
_ ~/fonts.conf
日英混ざっている場合の表示で, 日本語と英語で別のフォントが表示されるのか, 高さが揃わず気持ち悪かったので, 力技で強制的に日本語表示, みたいな.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- disable bitmap --> <match target="font"> <edit mode="assign" name="embeddedbitmap"> <bool>false</bool> </edit> </match> <!-- font declaration --> <!-- serif,normal --> <match target="pattern"> <test name="family" compare="eq"> <string>serif</string> </test> <test name="weight" compare="less_eq"> <const>medium</const> </test> <edit name="family" mode="prepend"> <string>IPAPMincho</string> </edit> </match> <!-- serif,blod --> <match target="pattern"> <test name="family" compare="eq"> <string>serif</string> </test> <test name="weight" compare="more"> <const>medium</const> </test> <edit name="family" mode="prepend"> <string>NfMotoyaCedar</string> </edit> </match> <match target="pattern"> <test name="family"> <string>serif</string> </test> <test name="lang"><string>en</string></test> <edit name="lang" mode="prepend"><string>ja</string></edit> </match> <!-- sans-serif,normal --> <match target="pattern"> <test name="family" compare="eq"> <string>sans-serif</string> </test> <test name="weight" compare="less_eq"> <const>medium</const> </test> <edit name="family" mode="prepend"> <string>IPAPGothic</string> </edit> </match> <!-- sans-serif,bold --> <match target="pattern"> <test name="family" compare="eq"> <string>sans-serif</string> </test> <test name="weight" compare="more"> <const>medium</const> </test> <edit name="family" mode="assign"> <string>NfMotoyaCedar</string> </edit> </match> <match target="pattern"> <test name="family"> <string>sans-serif</string> </test> <test name="lang"><string>en</string></test> <edit name="lang" mode="prepend"><string>ja</string></edit> </match> <!-- monospace --> <match target="pattern"> <test name="family" compare="eq"> <string>monospace</string> </test> <edit name="family" mode="prepend"> <string>September_M_Mono</string> </edit> </match> <!-- monospace using lang=en, ja --> <match target="pattern"> <test name="family"> <string>monospace</string> </test> <test name="lang"><string>en</string></test> <edit name="lang" mode="prepend"><string>ja</string></edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>times</string> </test> <edit name="family" mode="assign"> <string>Nimbus Roman No9 L</string> </edit> </match> </fontconfig>
だからナニって訳でもないですが, とりあえず快適になったので良しとする.
2008/10/06
_ CVS, Subversion と git
個人的には git を使いたいけれども, 開発グループのリポジトリが CVS だったり Subversion だったりすることは良くあること(?)だと思います.
そんな時に便利なのが git-svn と git-cvs です.
git の初期設定
これは多分, 単に git を使う場合にも必要になる作業かと.
$ git config --global user.name "Your Name" $ git config --global user.email "Your mail address"
あとは好みの問題?
$ git config --global color.diff auto $ git config --global color.status auto $ git config --global color.branch auto
設定は ~/.gitconfig に書き込まれる
git-svn の場合
作業コピーの取得(checkout)
$ git-svn clone [subversion repositry] [module]
...編集...
リポジトリの変更を作業コピーに反映させる(update)
$ git svn rebase
リポジトリ側で変更があった場合は適当にマージ. git から svn リポジトリへコミット
$ git svn dcommit
...続く?...
2008/10/07
_ VMware Workstation を 6.0 -> 6.5 へ upgrade
リリースされていたので, upgrade してみた.
install とか.
- 今迄の tar.gz での配布じゃなくて, .bundle という拡張子
- 中身は bash スクリプト(+ 圧縮ファイル. tar.gz?)
事前に既存の vmware を uninstall した後に, download してきた bundle を実行する.
$ sudo -s # vmware-uninstall.pl # bash VMware-Workstation-6.5.0-118166.i386.bundle
グラフィカルな install が起動した. Eclipse は使わないので, 指定せず. 見ていたら vmware player も install された. 必要なのかな?
起動してみた.
- 既存の設定が load されない/再び設定しなきゃいけないのは面倒だなぁ.
- vmware-config.pl が無い.
- ネットワークの設定が GUI からできるようになった.
- Host の linux で kernel 再構築したら, どうするんだろう...マニュアル読まなきゃだめだなぁ...
- メモリ使用が変なのは相変わらず.
- Host 側で swap 使いまくる. disable page trimming とか試しても駄目だな
噂の Unity はまだ試してないけれど, どうなんだろう.
はてさて.
2008/10/17
_ XFce4.4
あれ? Dual Head できるようになってるな? いつからだろう.
_ gitで今いるブランチを表示
zsh で今作業している branch を表示させる, というのを試してみた. これは便利だ.
# get the name of the branch we are on git_prompt_info() { ( [ -d .git ] && ref=$(git-symbolic-ref HEAD 2> /dev/null)) || return echo "git:${ref#refs/heads/}|" } ... RPROMPT=$'%{$fg_bold[red]%}$(git_prompt_info)%{$fg_bold[white]%}%B%(5~,%-2~/.../%1~,%~)%b'
早く CVS を捨てたい, とか切に願う.
_ skype2onlenny
とりあえず install
# apt-get install libasound2 libc6 libgcc1 libqt4-core \ libqt4-gui libsigc++-2.0-0c2a libstdc++6 libx11-6 # http://www.skype.com/download/skype/linux/choose/
そしてここで WebCam を持っていないことに気がついた.
_ clmemo->はてなダイアリへ
Changelog を適当にパースして, はてなダイアリの文法に入れたら良いんだよね, とか思ったり.
こういうのは, やっぱ Ruby だよね, とか言っちゃったりして.
_ clmemo使い始め.
いままではメモを howm で書いてそれを subversion で管理していた. だけれども, 空になったファイルを自動で削除するように emacs に設定していたので,svn update すると, 削除した筈の空のファイルが復活してしまった.
コミットを真面目にやれば良かったのかもしれないけれど, 今更な気がするし「ポケット一つの原則」に反するので, ChangeLog memo に戻ってみた.
ちなみに Debian パッケージ化してみようかと思ったけれど, 時間が無いので挫折. 微妙に悔しい.
2008/10/18
_ mlterm+screen+emacsで256色
自分でやった事がうろ覚えだったので, メモ.
- mlterm: patch を当てて build.
- screen: package で桶. termcap を取得して, 色情報を書き変え.
- emacs: term/xterm を読み込むように .emacs を修正
とはいえ, ちゃんとメモ書かなきゃなぁ...
2008/10/22
_ clmemoをはてなダイアリにポスト
でっちあげた.
(defun clmemo-htnd-submit() (interactive) "cl2hatena.rb を呼ぶ" (save-buffer) (set-buffer (get-buffer-create "*htnd-submit-log*")) (erase-buffer) (display-buffer "*htnd-submit-log*") (progn (call-process "cl2hatena.rb" nil "*htnd-submit-log*"))) (add-hook 'clmemo-mode-hook '(lambda() (define-key clmemo-mode-map "\C-c\C-c" 'clmemo-htnd-submit)))
バッファを表示する時間を指定できなかったかな? とか思うわけですが. 調べる余裕は無いのですよ. うー
_ cl2hatena.rb
なにをしてるんだか.
clmemo に戻ったので, ChangeLog を分割して, はてな記法に整形して日付毎に YYYY-MM-DD.txt にパースするスクリプトをやっつけで作成.
日記自体の更新は今迄通りはてダラを使っている訳ですが.
...post したら今迄の全部 post しなおしたよ Orz...
今, この日記にはそこかしこにリンク切れがありそうな気がします.教えて頂けたら幸いです.
_ schrootでオプションを渡す
schroot で "--" をつけるとchroot 内で実行するコマンドに "-"もしくは"--" で始まるオプションを渡せる. そんな訳で, /etc/cron.weekly に仕込んでいた chroot-upgradeを修正.
#!/bin/sh # for chroot environment CHROOT="sid" for i in $CHROOT ; do echo "[update chroot $i]" schroot -q -c $i aptitude update schroot -q -c $i aptitude update if [ $i == "etch" ]; then schroot -q -c $i aptitude upgrade else schroot -q -c $i -- aptitude safe-upgrade --assume-yes fi schroot -q -c $i aptitude autoclean done
2008/10/23
_ RabbitでのPDF出力
後で調べるメモΦ(._. )
- フォントが全部明朝体になったよ. どこで設定しておくんだろう.
- 整形済みテキストの大きさとインデントが変な塩梅に.
- 多分自作テーマのせい
調べる時間が無いので, とりあえず
_ 第18回関西Debian勉強会
第18回関西Debian勉強会に参加してきました.というか, CDBSについて喋ってきました.
cdn.debian.or.jp, cdn.debian.net における取り組み by 荒木さん
- dennou サーバ群が結構上位に. なるほどー.
- DNS ラウンドロビンと DNS Balance の話
はじめての CDBS by 自分
直前に HDD が逝ったりして, 配布資料とかプレゼン用の資料も, 毎度ながら直前に「えいやっ」と作成したモノだったのですが, それなりに楽しんで頂けたみたいです.
プレゼン資料はこちらへ->HTML Thumnaul.
あと, 飲み会の席で「フルボッコ」とか, 言われて気がつきました. 倉敷さんごめんなさい. 悪気はなかったんです.
_ やっぱ6667が
開いてないのかな? と呟いてみるテスト. それとも外に出られないのは私が悪いのかしら.
眠い...そろそろ帰ろう.
% date 2008年 10月 23日 木曜日 01:10:54 JST
歩くには寒い時期になってきたなぁ.
2008/10/24
_ s2ram の log
hibernate-ram:Warning: Tuxonice binary signature file not found. Stopping pdnsd. Stopping anac(h)ronistic cron: anacron. Stopping ACPI services.... /tmp/tmp.hibernate.rptvbi: line 6: echo: write error: 無効な引数です Loading ACPI modules.... Starting ACPI services.... Starting anac(h)ronistic cron: anacron deferred while on battery power.. Starting pdnsd.
なんだろう?
_ firefoxでリンク先の拡張子に応じてiconを表示する
とりあえず PDF だけ.
a[href$=".pdf"]:before { content:url("moz-icon://.PDF?size=14");
表示できる icon の一覧を取得するにはどうしたら良いのかな?
2008/10/27
_ Gmail の Atom Feed を取得してみるよ
uim-fep で hardwarestatus always にしたので, backtick を増やそうかと思い書いてみた.
#!/usr/bin/env ruby $KCODE='u' require 'net/https' account = 'your account' password = 'your password' https = Net::HTTP.new('mail.google.com', 443) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE req = Net::HTTP::Get.new('/mail/feed/atom') req.basic_auth(account, password) unless state = `ifconfig|grep eth` + `ifconfig|grep ppp` atom = https.start{ res = https.request(req) res.body } count = $1 if atom.match(/\<fullcount\>(\d*)\<\/fullcount\>/m) else count = "-" end print $1
と書いたは良いが, ちょっと考えモン. ネットワーク繋がってない時には途端に邪魔になりそうだし, どうすっかな.
(修正)頭悪いが, ifconfig|grep eth の結果で振ってみた. eth0, eth1, ppp0, ころころ切り変わるネットワークの接続状態ってどうやってモニタするんだろう. できるのかな?
(追記)あ, だめだコリャ. backtick は
backtick id lifespan autorefresh GmailBiff.rb
で autorefresh に 0 以外を指定するとその秒数毎に screen が一瞬反応しない. /tmp/GmailBiff-${uid}${pid}.txt あたりに吐いておいて,
backtick id 0 0 tail -f /tmp/GmailBiff-${uid}${pid}.txt
かなぁ.
(修正) uim-fep と fim-fep と書いてたので. また typo. O..|rz
_ mlterm + uim-skk の設定
ほとんどの場合 mlterm + screen 環境なのですが,偶にリモートログインした先で作業する際に skk が入っていなくてイライラするので.
$ cat ~/.mlterm/main ... # xim use_xim=false xim_open_in_startup=false input_method=uim:skk ...
uim-fep を後から起動できればそれに越した事はないんだけれどなぁ...
(追記) uim-fep を screen でフィルタとして使用する方法が本家に書いてあったYo. これで良いじゃん.
uim-fepはscreen-uimのようにscreen内でフィルタとして使うことができます。あらかじめuim-fepを起動しておく必要がなく、起動したいときにすぐ起動できるのが便利です。
GNU screen 3.9.15以降が必要です。 uim-fep-tickをパスの通ったところに置いてください。 ~/.screenrcに
backtick 0 0 0 uim-fep-tick hardstatus alwayslastline "%0`"
と書きます。 screenのウィンドウで
$ uim-fep -s backtick
と起動します。uim-fepはscreen内の複数のウィンドウで起動できます。uim-fep-tickはscreenから起動されるため、screenの環境変数が引き継がれます。
backtickの反応がなくなったら
$ screen -X backtick 0 0 0 uim-fep-tick
と起動してください。--- </blockquote>
_ W05K での接続とか
Windows 側でのアクティベーションが必要なのは相変わらず.しかしながら, Windows 側でも既に接続ができない. 何故?
とりあえず Linux 側に戻ってみる. でもって,
$ sudo modprobe yenta_socket
きちんと認識はされている(日付とhostname は削除).
kernel: [ 174.651138] 0.0: ttyS0 at I/O 0x3f8 (irq = 3) is a XScale kernel: [ 174.651312] 0.0: ttyS1 at I/O 0x400 (irq = 3) is a XScale
ppp のパラメータが変わったん?
... 再起動したら接続できた. 電波が弱かっただけなんだろうか.
_ rd2 のメモ
RD からいろんな形式への変換について, ちまちま調べている.「今更 RD?」とかいろんな所から聞こえるんだけれど, 個人的なメモとかを結構な分量 RD で書いているので...
- RDParser でリストのネスティングはどうやってるのか?
- 必須の apply_to_ は何か
どっかにまとまってないかな?
2008/10/28
_ git の pre-commit を Rake で書く
良い大人は「Make で良いじゃん」とか言わない.
# Rakefile require 'rake/clean' makefiles=`find -name Makefile`.split `cat .gitignore`.split.each do |ign| makefiles.delete_if{|x| x =~/^\.\/#{ign}/} if FileTest.directory?(ign) end task :default => "distclean" desc "DistClean all project" task :distclean do MAKEFILES.each do |makefile| cd File.dirname(makefile) do if makefile =~/gste-dns/ sh "make" else sh "make clean" end end end end
無駄がありそうだけれど, まあ良いや. これを .git/hooks/pre-commit で呼ぶようにしておく.
#!/bin/sh RAKE=`which rake` if [[ ! -x $RAKE ]]; then echo "ERROR: rake is not found" exit 1 fi echo -n "rake clean ..." $RAKE -f 00Rakefile distclean 1>/dev/null 2>&1 echo "done"
こんなんで良いのかな?
_ CDBS Online Gallery
以前の関西 Debian 勉強会の準備中に, CDBS Online Gallery が 2006 年で更新止まってるなぁ...と twitter に呟いたら,岩松さんが更新して下さいました.
twitter の tinyurl で教えて頂いたので, てっきり本家が更新されたんだ, とか勘違いしていました. 岩松さんが独自に更新してたんですね.
遅くなりましたが, ありがとうございました(とここで呟いても駄目だと思うので, ちゃんと御会いして言わなきゃな??).
_ whizztex-mode
">" で advi の表示は大きくできたので, 当分これを使用する予定.jsarticle の時に日本語が表示されないのは, mingoth でとりあえず凌ぐ.
(setq whizzy-load-factor 0.1) (setq whizzytex-mode-hook '(lambda() (progn (set-face-foreground 'whizzy-error-face "magenta") (set-face-foreground 'whizzy-point-face "Orange") )))
2008/10/29
_ ssh でのポートフォワード
やりたい事は
localhost から gwhost を経由して remotehost へ接続
です. HostKeyAlias を使用します. とりあえず フォワードする Port は 30001 + SSH の番号とします.
/etc/hosts の編集
remotehost.forward という host が localhost を指すように設定します.
127.0.0.1 localhost remotehost.forward
.ssh/config の修正
以下の情報を追加
Host remote.forward ForwardAgent yes Port [30001 + remotehost の SSH の Port 番号] HostKeyAlias remotehost.remotedomain
接続時
実際に接続する際には以下の通り. この例では,
localhost:30023 <-> gwhost <-> remotehost:22
となる.
$ ssh -f -N -L 30023:remotehost.forward:22 gwhost $ ssh remotehost.forward (接続できる) $ scp remotehost.forward:orig.txt . (remotehost の orig.txt を手元に scp) $ scp test.txt remotehost.forward: (localhost の test.txt を remotehost へ scp)
最後に
最初に
$ ssh -f -N -L 30023:remotehost.forward:22 gwhost
を実行するのが面倒なので, 以下の ruby script を使用中.
#!/usr/bin/env ruby ssh="/usr/bin/ssh" gateway="gatewayhost.remotedomain" config = ENV['HOME']+"/.ssh/config" pidfile = "/tmp/create-gw.pid" def str2hash(str) @str = str s = @str.split(/\:/) h = {} while ! s.empty? h.store(s.shift, s.shift) end return h end def parseconf(config) @config = config conf = [] File.open(config){|f| while src = f.gets("") do if src =~/^Host.*forward$\n/ s = src.strip!.gsub!(/^\s\s/,"").gsub!(/\n/,":").gsub(/ /,":") conf.push(str2hash(s)) end end } return conf end def create_gateway(conf, ssh, gateway) @conf = conf @ssh = ssh @gateway = gateway @conf.each do |host| port = host['Port'] hostkeyalias = host['HostKeyAlias'] system("#{@ssh}","-f","-N","-L","#{port}:#{hostkeyalias}:22","#{@gateway}") end end def get_gateway_pid(ssh=nil) @ssh = ssh ||= "/usr/bin/ssh" return pids = `pgrep -f "#{@ssh} -f -N -L"`.split(/\n/) end opt = ARGV[0] ||= "create" if opt == "create" or opt == "start" or opt == "init" unless FileTest.exist?(pidfile) create_gateway(parseconf(config), ssh, gateway) pid = File.open(pidfile, 'w') pid.puts(get_gateway_pid(ssh)) pid.close end elsif opt == "close" or opt == "exit" or opt == "stop" File.read(pidfile).each do |pid| Process.kill(9,pid.to_i) end File.delete(pidfile) end
_ 12:00 からミーティングなのに
起きたら 11:38. タクシー使ってしまった...
2008/10/30
_ ツクモ...
この間 HDD 買ったなぁ, とか思いつつ.
「店舗を営業したまま再建の意向」ですか.
現在の状態としては、「比較的利益率は高いものの、10月末の買掛金および手形の決済資金が不足し、追加融資を受けることもできず、資金繰りに窮することになった」と説明.---
...品物, 入ってくるんですかね.
_ zsh のプロンプト
とりあえず以下に落ち着く.
# get the name of the branch we are on git_prompt_info() { ref=$(git-symbolic-ref HEAD 2> /dev/null) || return echo "git:${ref#refs/heads/}|" } # get the name of the chroot we are on chroot_info() { chroot=$(cat /etc/debian_chroot 2>/dev/null) || return echo "${chroot}|" } ... RPROMPT=$'[%{$fg_bold[green]%}$(chroot_info)%{$fg_bold[red]%}$(git_prompt_info)%{$fg_bold[white]%}%B%(5~,%-2~/.../%1~,%~)%b]' case ${UID} in 0) PROMPT=$'%U%{%B$fg[magenta]%}[%n@%m:%j:%(!.#.%%)%u%B>%b ' ;; *) PROMPT=$'%U[%n@%m:%j:%(!.#.%%)%u%B>%b ' ;; esac ...
lsb_release とか /etc/issue とか, 教えて下さってありがとうございました. id:Say-no さん, のがじゅんさん, たかやさん. 結局こういう風に落ちつきました.
chroot 作った時は, /etc/debian_chroot 作っとく癖を付けなきゃなぁ...
2008/10/31
_ id:msll さんが Rabbit 使ってくれたよ
というわけで.
リンク先はオレオレ証明書です. ごめんなさい.
以前公開した Rabbit のテーマ を使って下さった模様.
http://www.gfd-dennou.org/arch/uwabami/pub/rabbit/dennou-0.1.tar.gz
コードブロックが長いと大きさが変になるので, その辺りをちょっと修正したいのだけれど.
_ 今更 vimperator
今更ながら vimperator を使い始めた.
Vimperator は Firefox を vi っぽいキーバインドで操作する Add-on.導入後の設定とかをメモしておく. vi にはそれほど馴染んでいないので, そんなに硬派な使い方はしていないけれど.
導入
上記リンク先から. CVS 先端を持ってきてビルドしても良いのかもしれない
設定
vimperator を有効にすると, メニューバーやロケーションバーが消える. 復帰したいときは, とりあえず
- set guioptions=mTb
とか打っておく.
設定は ~/.vimperatorrc に書く. 現状は以下
"=========================================== "基本設定 "=========================================== "タイトルの変更 set titlestring=iceweasel "ツールバーのみ表示 set guioptions=T "bell の変更音を鳴らさず, visualbell も無効に set visualbell set visualbellstyle=display:none; "コマンド補完 set complete=l set wildoptions=auto "検索は google に set defsearch=g "j,k の移動量を 8 倍に map j 8<C-e> map k 8<C-y> "エディタを指定 set editor=emacsclient
pulgin とか
vimperator の plugin は .vimperator/plugin 以下に置いておく.現状では
% ls -la .vimperator autoIgnoreKey.js char-hints-mod.js
のみ.
- autoIgnoreKey.js: Gmail でショートカットキーが使えないと悲しいので
- char-hints-mod.js: リンクを開くときに数字じゃなくて文字で指定
あと, ステータスラインの色の設定. 「stylechanger.jsを使え」とか「最新版では source で css を読み込める」とか書いてある記事があるけれども, stylecanger.js が効かなかったので, Stylish でcss を適用している(ヘタレ).
見た目は以下
設定を開いた所(:set)
リンクを開こうとしているところ(:f)
_ howm のメニュー表示
異様に遅いと思っていたら, なんの事はない.
(setq howm-directory "~/work/")
に指定されているディレクトリ以下を再帰的に全てスキャンしているからだった.
(setq howm-directory "~/work/howm")
に変更して解決.