2007-01-01から1年間の記事一覧

GCC 4.3 情報

GCCの次期バージョン GCC 4.3 がそろそろリリースされそうです.そこで実際に開発版のGCC 4.3を試し,変更点・残っているバグなどを調べてみました.変更点・改良点は http://gcc.gnu.org/gcc-4.3/changes.html にまとめられています.以下,GCC 4.3のsnapsh…

linux-2.6.24-rc3 で nvidia の display driver (100.14.11)を使う方法.

例によってlinux側で仕様変更があり,NVIDIAのドライバ(100.14.11)がインストールできなくなった.解決方法は $ ./NVIDIA-Linux-x86-100.14.11-pkg1.run --extract-only で一度インストーラを展開してNVIDIA-Linux-x86-100.14.19-pkg1/usr/src/nv/conftest.s…

intel compiler v.s. gcc

intelコンパイラの最新版10.1が入手できたので,久しぶりにベンチマークを取ってみた.比較対象は intel compiler (ICC) version 10.1 20070913 gcc-4.2.2 gcc-4.3.0 (snapshots/20071020) これらのコンパイラで手元にあった数値計算のコードをビルドし,生…

配色テーブルの雛形

プログラムに埋め込む為の,色のテーブルの雛形です.ruby用 color_tbl = [ "A3A199", "5C788F", "F7D67D", "708270", "6E1273", "5CBACC", "00305C", "85360F", "00824A", "E8E3D9", "0057A6", "008A80", "BD3826", "613005", "997059", "F7D117", "F7A30A"…

kernel-2.6.23-rc8 & VMware server 1.0.4 (build-56528)

例によって linux-2.6.23-rc8 では, VMware server 1.0.4 (build-56528) の vmmon,vmnet がコンパイルできない.以下,簡単なパッチを書いたのでメモ.vmnet-only.tar 用パッチ. --- vmmon-only/linux/driver.c.orig~ 2007-09-26 23:13:22.000000000 +090…

Release note のための英文テンプレート集

昨日 Changelogのための英文テンプレート集 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - というエントリを書きましたが,その際 apple や microsoft が出すような Release note と,いわゆるオープンソースなプロジェクトが出す release note …

Changelogのための英文テンプレート集

Changelog を英語で書く際に参考になるようなテンプレートをまとめてみました.git や svn のコミットログにも使えます. このエントリは今後も逐次更新を続けます(最終更新2018/11/01) リリースノートの英文についてはRelease note のための英文テンプレ…

debianでinitrdを使う際のポイント

必要なパッケージ initramfs-tools 設定ファイル /etc/kernel-img.conf do_initrd = yes /etc/modules /etc/initramfs-tools/* .config に必要な設定 CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_RAM=y カーネルパッケージのビルド方法 $ make-kpkg -rfakeroot …

linux用アンチウイルスソフト Clam Antivirus の使い方

Linux用のアンチウイルスソフト clam antivirus の使い方についてメモ.clam antivirus はGPLに従ったオープンソースなので無償で利用できます.また,パターンファイルの自動更新も無料です. インストール方法 fedora,redhat なら clamav というrpmパッケ…

linux-2.6.23-rc2 で nvidia の display driver (100.14.11)を使う方法.

linux-2.6.23 ではカーネル内のAPIに変更があるため,例によって NVIDIA のディスプレイドライバはビルドに失敗する.この問題を回避するには http://www.nvnews.net/vbulletin/showthread.php?t=96087 のようなパッチが必要.上記URLから入手できるパッチを…

emacsでリアルタイムに構文チェックを行う方法(flymake)

emacs でリアルタイムに構文チェックする方法です.flymakeを使います.仕組みとしては コーディング中に C-x C-s を押すと,バックグラウンドで make が走る make がエラーを出した場合は,該当するコードをハイライト表示する だけです.恐ろしく便利です…

subversion で $Id:$ のようなキーワードを展開する方法

subversion でも CVSのように $Id:$ $Author:$ のようなキーワードを展開することができる.ただしCVSと異なり,svnではsvn:keywords という属性に登録したキーワードのみが展開される.たとえば Id というキーワードを展開するには以下のようにする. $ svn…

ブレセンハム(Bresenham)のアルゴリズム

FizzBuzz問題の次の問題として,直線の描画アルゴリズムなんてどうだろう?直線描画のアルゴリズムといえばブレセンハム(Bresenham)のアルゴリズムが有名.知っていると知らないでは雲泥の差.試行錯誤するもよし,そのままブレセンハムを実装するもよし.力…

STLのalgorithm,functorの使い方.

STLのalgorithm,functor 関連をシンプルに整理してみました.以下,文中の op は関数オブジェクト T, T1,T2 はtypename a, b はT型の定数 x, y はT型の変数 or 定数 Ite,first, last はイテレータ とします. equal_to, not_equal_to, greater, less, grea…

bloxorz のパスワード

パズルゲーム bloxorz (http://www.albinoblacksheep.com/games/bloxorz) のパスワード level 1 780464 level 2 290299 level 3 918660 level 4 520967 level 5 028431 level 6 524383 level 7 189493 level 8 499707 level 9 074355 level 10 300590 level …

c++で階乗を計算

テンプレートメタプログラミング(template metaprogramming)で,20の階乗を計算するコード. #include <iostream> using namespace std; template <int64_t N> class X { public: int64_t operator()(){ return X<N-1>()() * N; } }; template <> class X<1> { public: int64_t operato</n-1></int64_t></iostream>…

vmwareをkernel-2.6.21で使う際の注意事項

vmware server 1.0.3 のゲスト側で debian(unstable) と linux-2.6.21 を使おうとすると問題が二つ生じた. 起動時に scsi デバイスが見つからない insmod がセグフォる 原因は tagohさんのblog http://blog.tagoh.jp/archives/2007/6/9 にあるように,それ…

linuxをVPNクライアントにする方法

BUFFALOの「AirStation WZR-RS-G54HP」のリモートアクセス機能をlinuxから使ってみたので方法をメモ。リモートアクセス機能とは要はWZR-RS-G54HPがVPNサーバになるということ。Windowsは標準でVPNクライアントの機能を持つため、リモートアクセス機能搭載の…

Fedora core を最新版のF-7にアップグレードする方法

そろそろリリースされそうなF-7.そのベータ版を試すために,手元の古いFedora(FC-3)をアップグレードしてみた.以下, FC-3 から F-7 (ベータ版) へアップグレードした際の手順をメモ. 近々リリースされるであろう F-7 へのアップグレードも同じ手順で行え…

bmobile を linux で使う方法

bmobile を linux で使うには, ppp を使う方法 ppxp を使う方法 と,二つの方法がある. 両者を比較するとpppの方がスループットは良い*1. カードの認識 ppp を使うにしても, ppxp を使うにしても,先ずはカードを使うためのモジュール(いわゆるドライバ)…

ダイアルアップするなら ppxp より ppp を使うべし.

linuxでppp接続をする場合には ppp か ppxp を使うことになるが,どうも ppxp はパフォーマンスが悪いみたい.具体的なベンチマークは取っていないが,手元のlinux + bmobile の環境では ppp が圧倒的に速かった.確証は無いが想像するに, ppxp はユーザ空…

ダウンタイムをできるだけ短くして、サーバのHDDを交換する方法

ダウンタイムをできるだけ短くして、サーバのHDDを交換する方法。手順は5段階 サーバに新しいHDDを接続し、フォーマットして、マウントする サーバを稼動させたまま、rsync を使って新しいHDDにデータをコピーする サービスを止めて、再度 rsync を使って新…

ダウンタイムをできるだけ短くして、サーバのHDDを丸ごとコピーする方法

question:1177294812より ddでデータを丸ごと新しいHDDにコピーしたいのですが、以下のような場合、どういうことに留意すればよいでしょうか?・現在のHDDはWeb/Mailサーバとして稼働中 ・なるべくダウンタイムは少なくしたい ・新HDDにコピーしている最中に…

c/c++でsqliteを使う方法

sqlite3をc/c++で使う方法についてメモ。以前ruby で sqlite を使う方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -でも書いたように、DBを使うアプリケーションは、通常はrubyなどのスクリプト言語で記述したほうが楽です。でもc/c++からもデ…

rubyでsqliteを使う方法

小規模なデータベースを扱う場合は sqlite がおすすめです.SQLが使えるデータベース,つまりRDBMSとしては,PostgreSQLやMySQL,sqliteが有名です.sqliteは,他のデータベースと異なり,サーバをいちいち立ち上げる必要がなくsetupが簡単というメリットが…

3DCGで良く使う数式

3DCGなどで良く使う数式をまとめてみました. ベクトルaとベクトルbの外積 ベクトルaとベクトルbの内積 点と平面の距離 点と平面 との距離は (は平面の法線ベクトル) 点と直線の距離(垂線の長さ) 点と直線 の距離は (は直線の方向ベクトル) 2点とを通る直線…

オブジェクトファイルのシンボルテーブルを見る方法

*.o や *.so などのファイルに含まれるシンボル名の一覧を見るには readelf コマンドを使う. $ readelf -s オブジェクトファイル 昔は nm コマンド や objdump コマンドで同様のことが実現できたが,これらの古いツール達は elf形式(Executable and Linking…

Linux で メイリオを使う

Windows Vista に搭載されたフォント「メイリオ(Meiryo)」をLinux で使う方法をまとめてみました.参考URL: メイリオ - Wikipedia http://www.microsoft.com/japan/windows/products/windowsvista/jp_font/jis04/default.mspx Windows XP で メイリオを使う …

make の仕組みを理解する

前述*1のように Makefile は非常に簡潔に記述できます.ただし,簡潔なMakefileを記述するためには make の仕組みを理解する必要があります.結論から言うと, make は 簡潔な生成ルールのみを記述したMakefileから, 実際に必要となる詳細な生成ルールを自…

Makefile は簡潔に書きましょう

仕組みが判ってしまえば Makefile は簡潔に書けます.$(CC) とか $@ とか $ 基本(その1) ソースコード hoge.c から 実行形式のバイナリ hoge を生成するMakefileは,以下のように書きましょう all: hogeこれだけです.これで $ make all とすると hoge が生…