時々帖

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

cscope+emacsが超便利

cscope+emacsを使ってみたら超便利.

debianでは
apt-get install cscope

.emacs に以下の一文を加える.
(require 'xcscope)


emacsでソースのディレクトリトップにいき

M-x cscope-index-files



そのディレクトリにcscope.out cscope.filesができてるはず
これだけで使えるようになった.
C-c s sでシンボルを検索したり,C-c s gグローバル定義を検索したりできる.
これで無駄にgrepかけなくてよくなるなぁ.

http://docs.sun.com/source/806-4836/cscope.html

http://opentechpress.jp/developer/07/03/13/0115244.shtml
http://cscope.sourceforge.net/large_projects.html
http://d.hatena.ne.jp/khiker/20071018/cscope
スポンサーサイト

テーマ:UNIX/Linux - ジャンル:コンピュータ

  1. 2007/11/30(金) 23:56:47|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

google-code-prettifyを入れてみた

ソースを見やすくするためにgoogle-code-prettifyを入れてみたので,FC2ブログでのやり方をメモ.

以下のファイルをダウンロードして,ファイルアップロードする.
http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js
http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css

テンプレートの設定→HTMLの編集で以下をBodyに追加

<!--Google Code Prettify Start-->
<script type="text/javascript" src="http://blog-imgs-16.fc2.com/n/a/m/namikister/prettify.js"></script>
<body onload="prettyPrint()">
<!--Google Code Prettify End-->


テンプレートの設定→スタイルシートの編集にprettify.cssの中身を追加

色分けしたいソースコードを以下のように囲む
<pre class="prettyprint">
dotimes (i 10) (print i)
</pre>

これでソースコードが色分けされるはず.

HTMLはそのままだと表示できないのでここで変換したものを貼り付けた.
こうすることでHTMLの構文を表示できるらしい.

参考サイト
http://fnya.cocolog-nifty.com/blog/2007/03/googlecodeprett_e937.html
http://blog.livedoor.jp/dankogai/archives/50794929.html
http://journal.mycom.co.jp/articles/2007/03/27/gcp/

テーマ:ホームページ・ブログ制作 - ジャンル:コンピュータ

  1. 2007/11/26(月) 03:32:04|
  2. JavaScript
  3. | トラックバック:0
  4. | コメント:0

πの歴史

πの歴史 (ちくま学芸文庫)πの歴史 (ちくま学芸文庫)
(2006/04)
ペートル ベックマン

商品詳細を見る


πを切り口にして,数学の歴史を見ていく本.
数式をなるべく出さないようにする本が多い中,数式もばんばんだしてくる.
証明は結構はしょってるからわからない部分も多いけど,興味深い話が次々とでてくる.

定規とコンパスによる作図が2次方程式をつぎつぎに解いていくことに帰着できる(だからπは定規とコンパスによっては描けない)とか,確率を調べることでπを求めることができる(ビュフォンの針)とか.

実際に試してみたくなったのでPerlでちょっと書いてみた(本にはBASICで書かれたプログラムが載っていた).
ビュフォンの針とは簡単に言うと,針より幅がひろい線分の間に針を落とす試行を繰り返すと,針が線分を交わった回数と試行回数からπが求まるというもの(詳しくはここ).
これをプログラムに繰り返させてみると,実行結果はこんな感じ.
実際のπの値は3.141592653....だから1000万回の試行でも下3桁までしかあってないけどこんなもんか.
これで実行時間は6秒.

 % ./calc-pi-odds.pl 10000000
1000000: 3.14218381775334
2000000: 3.14295165590337
3000000: 3.14264793229479
4000000: 3.14335177171093
5000000: 3.14242178276501
6000000: 3.14205629255686
7000000: 3.14221555374255
8000000: 3.1422782342046
9000000: 3.14162936418134
10000000: 3.1414997456956

**** result ****
trial number : 10000000
calculateed PI: 3.1414997456956
elapsed time : 6.138486
****************


このプログラムでは簡単のために線分間の距離と針の長さは等しいとしてしまっている.

#!/usr/bin/perl

use strict;
use warnings;
use Time::HiRes qw/gettimeofday tv_interval/;

sub calc_pi {
my($trial, $touch) = @_;
if ($touch == 0) { return 0 }
return 2.0*$trial/$touch;
}

my $trial_num = $ARGV[0] || 1000000;
my $mid_num = $trial_num / 10;
my $pi = 3.141592653589793;

my $touch_num = 0;
my $calc_pi = 0;

srand(time);
my $start_time = [gettimeofday];

for my $i (1..$trial_num) {
my ($distance, $angle) = (rand, $pi*rand);
if ($distance < sin($angle)) { $touch_num++ }
if ($i % $mid_num == 0) {
print "$i:\t" . calc_pi($i, $touch_num) . "\n";
}
}

my $elapsed_time = tv_interval($start_time, [gettimeofday]);

print "\n**** result ****\n";
print "trial number : $trial_num\n";
print "calculateed PI: ". calc_pi($trial_num, $touch_num) . "\n";
print "elapsed time : " . $elapsed_time . "\n";
print "****************\n";


Perlでミリ秒をとるのってどうやってやるのかって調べたらこんなモジュールがあるのね(Time::HiRes).

テーマ:読んだ本。 - ジャンル:本・雑誌

  1. 2007/11/25(日) 17:41:24|
  2. 読書
  3. | トラックバック:0
  4. | コメント:0

Bookoff原宿店が....

今日原宿にいったらブックオフがつぶれてた.
欲しい本がないかなって探しにいったのに,あてがはずれちゃった.
原宿のブックオフは店が広くて品揃えがいいからよく行ってたのにな.
たくさん人は入ってたと思うけど,地価が高いから古本じゃ元がとれないのかなぁ?
それとも,人は入っていたけど,立ち読みばっかで買う人が少ないからなのか?
あ~ショック.
暇をつぶそうと本屋を探したけどあそこらへんって本屋がないのね.
本屋がない町ってやだなぁ

テーマ:ひとりごとのようなもの - ジャンル:日記

  1. 2007/11/25(日) 00:49:03|
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

戦争の常識

戦争の常識 (文春新書)戦争の常識 (文春新書)
(2005/02)
鍛冶 俊樹

商品詳細を見る

戦闘機一機で200億円,ニミッツ級空母一隻で5兆円,激高い!!
昔から戦争にはお金がかかったんだろうけど,今の戦争は桁が違う.
陸,海,空,宇宙,ネットとどこでも軍事的優位を保つために惜しげもなく金をつぎ込み争いが繰り広げられている.
インターネットもGPSもそういう競争の中から生まれたもので,精度のよいGPSは今でもアメリカ軍専用で使わせてもらえないらしい.そう考えると,クローズドな思考をもつ軍事目的でつくられたインターネットからオープンソースなりが出てきたのは面白いな.著者はアメリカはインターネットで世界中を監視するためにインターネットを広めたって言ってるけど,そんな狭い考えを吹き飛ばすような新しい世界が広がりはじめているんだから.

では,新しいロボット技術もそういう軍事競争から生まれてくるんだろうか?
今の戦争は新しい技術を徹底的に使い自国の兵士が死なないようにするっていうことに重点がおかれる.その歩兵のハイテク機器装備化の行き着く先はロボット兵士になる.
きっと一般人からはうかがい知れないところで,日進月歩の開発が行われているんだろうな.
DARPA主催の無人ロボットカーレースUrban ChallengeBigDogを見ると,やっぱそういう文脈で開発したものは強いんだなと思う.
お金と人材,そしてそれをまとめる強烈な意思ってのが必要なのかな?

テーマ:読んだ本。 - ジャンル:本・雑誌

  1. 2007/11/23(金) 22:28:44|
  2. 読書
  3. | トラックバック:0
  4. | コメント:0

kernel2.6.22.9コンパイル

kernel 2.6.22.9を試してみようと思いコンパイルしたとカーネルパニックでブートできない.
エラーはこんな感じ

pivot_root: No such file or directory
/sbin/init: 428: cannot open dev/console: No such file
Kernel panic - not syncing: Attempted to kill init!



SATAのディスクが見えていないのかな?と思って,
調べてみるとconfigでSATA関係の位置が変わったらしい
menuconfigで

Device Drivers --->
Serial ATA (prod) and Parallel ATA (experimental) drivers --->
[*] AHCI SATA support
[*] Intel ESB, ....,PATA/SATA support[*]


としたらブートできた

テーマ:ノートPC - ジャンル:コンピュータ

  1. 2007/11/23(金) 15:46:18|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Thinkpad T60pにDebian Etchを入れる

BIOSの設定configure→SerialATA→compatiblity mode
 参考 http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T60.html

CDを入れてインストール
ほとんどそのまま進むだけでXがあがる
いままでみたいに日本語の設定をしなくてもいい,Etchすげー.
はじめっからUTF-8環境ができてる

ctrlキーとcapslockキーを入れ替える
デスクトップ→設定→キーボード→レイアウトのオプション

viは苦手だからやっぱりEmacs

$ apt-get install emacs



/etc/network/interfacesの編集

$ /etc/init.d/networking restart


nisとnfsの設定

$ apt-get install nis nfs-common autofs


インストール時にnisのドメイン名を聞いてくるので入力
以下のファイルも編集
/etc/hosts, /etc/defaultdomain, /etc/yp.conf, /etc/passwd, /etc/nsswitch.conf, /etc/auto.master

$ /etc/init.d/nis restart
$ /etc/init.d/nfs-common restart
$ /etc/init.d/autofs restart


su hogeとls /home/hoge/ができればOK

2.6.16.29にするためにkernel コンパイル

$ wget hogehoge
$ mv hogehoge /usr/src/; cd /usr/src
$ tar xjvf hogehoge
$ ln -s hogehoge linux
$ cd linux
$ cp /boot/config ./.config
$ make oldconfig
大体そのままEnter
$ make menuconfig
#processor fimily pentium M
#time prequency 1000Hz
#ehci_hcdを抜く
$ make
$ make module_install
$ make install



あるUSBデバイス用にudevの設定
/etc/udevにhoge.rules,hoge_permissinos.rulesを作成
/etc/udev/rule.d/に作ったファイルへのリンクをはる.
rule.dにあるファイルは辞書順に実行されるらしい

$ depmod -a


/etc/modules に hogeを追加

RTC(Real Time Clock)がうまく動かないらしい.hwclockを動かすとこんな風になっちゃう.


$ sudo /sbin/hwclock
select() to /dev/rtc to wait for clock tick timed out



--directisaを付けると,/dev/rtcを使わないようになる.

$ sudo /sbin/hwclock --directisa
2006年09月04日 15時32分20秒 -0.360657 seconds


ということで,/etc/init.d/hwclock.shと/etc/init.d/hwclockfirst.shの中のhwclockの引数に--directisaを加えていくと時間がうまく設定される.

utf-8環境なのでemacs22を入れる
/etc/apt/souces.lstにtestingを入れる

$ apt-get update
$ apt-get install emacs22 emacs22-el emacs-common-non-dfsg


libc6とか依存関係があるものがたくさんtestingにアップグレードされる(大丈夫かなぁ...)
/etc/apt/souces.lstを元に戻す

$ apt-get update



半角/全角とESCを入れ替える
~/.Xmodmapを作る

keycode 9 = Zenkaku_Hankaku
keycode 49 = Escap



トラックポイントを使ってスクロールができるようにする
/etc/X11/xorg.confの編集

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"

#Comment this line out.
#Option "Emulate3Buttons" "true"

#add those three lines
Option "EmulateWheel" "true"
Option "EmulateWheelTimeOut" "200"
Option "EmulateWheelButton" "2"
EndSection



TODO
* 無線LANの設定
* networkmanagerを使えるように

参考サイト
http://pub.cozmixng.org/~rwiki/index.rb?cmd=view;name=Debian%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%CA%FD%CB%A1
http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T60.html
http://private.freepage.de/cgi-bin/feets/freepage_ext/339483x434877d/rewrite/acfb/t60/index.html

テーマ:ノートPC - ジャンル:コンピュータ

  1. 2007/11/20(火) 13:33:56|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

ウェブ時代をゆく

ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書 687)ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書 687)
(2007/11/06)
梅田 望夫

商品詳細を見る

これからの時代を生きることに対する心構えについて非常に考えさせられる本だ.
前作の「ウェブ進化論」はウェブによって世界が大きく変わろうとしているというのを語っている,いまは時代の転換点なんだということを語ったとてもわくわくさせられる本だった.
それに対し,今作ではそういう時代の変わり目にどうやって生きていくべきかということを自分を含めた様々な人の生き方を示すことで「こういう生き方もあるよ」と語りかけてくる.

著者が示すのは,ひとつの好きを貫き続ける生き方と様々な好きを組み合わせた総合力で勝負する生き方.
僕も,自分が好きだと思ってることに対して自分よりもすごいやつがいてそいつらには敵わないという気持ちがある.
じゃあどういう武器でこれから戦っていくんだってなるとやっぱり総合力ってことになる.
でも自分の総合力の内訳ってなんなんだろうって考えるとわからなくなる.
そういうもやもやした気持ちにこの本が語ってくれたは,自分の志向性に敏感になること,そして発見した志向性を育てることに全力をつくすこと.
これは会社に入っても同じで,与えられた仕事をこなすだけじゃなく,自分の志向と今の力を常に意識しながら仕事を選び,成長していく努力が必要なんだと思う.

いい刺激になりました.

テーマ:読んだ本。 - ジャンル:本・雑誌

  1. 2007/11/19(月) 18:43:38|
  2. 読書
  3. | トラックバック:0
  4. | コメント:0

ブログを始めてみる

mixiの日記も続かない僕ですが,blogを始めてみようと思います.
続くかなぁ,どきどき

テーマ:ひとりごとのようなもの - ジャンル:日記

  1. 2007/11/19(月) 03:01:58|
  2. 日記
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。