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

linuxデスクトップ環境をたったの3ステップで高速化する方法

各所で話題になっていますが、Linuxを劇的に高速化する方法が発見されました*1 *2 *3。特にブラウザなど複数のアプリケーションを同時に起動した状態では、体感速度がびっくりするほど向上します。高速化する方法も簡単です。カーネルの再構築という難しい作…

crcの計算

c++ で CRCを計算するコード.boost の crc.hpp を使います #include <iostream> #include <cassert> #include <boost/crc.hpp> using namespace std; int main() { const char *data = "hello boost/crc.hpp"; const size_t len = sizeof(data); // CRC-CCITT boost::crc_basic<16> crc1( 0x10</boost/crc.hpp></cassert></iostream>…

boost/accumulators

C/C++で、平均値、最大値、最小値、分散、中央値等の統計量を計算するなら、boost::accumulators が便利。2017年6月13日追記.情報が古かったので更新しました #include <iostream> #include <boost/accumulators/accumulators.hpp> #include <boost/accumulators/statistics.hpp> using namespace boost::accumulators; int main() { accumulato</boost/accumulators/statistics.hpp></boost/accumulators/accumulators.hpp></iostream>…

boost/format.hpp

iostream って使いにくい。特に浮動小数点数を使う時は printf系に分がある気がする。たとえば以下のCのコードも #include <stdio.h> int main() { printf("%10d\n", 12345); printf("%10.3f\n", 12.345); printf("%10.6f\n", 12.345); return 0; } std::cout を使う</stdio.h>…

emacs が"GConf Error:"が出して起動しない場合の対処方法

emacs が以下のエラーで起動しない場合は GConf Error: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://project…

NFSv4 の設定

NFS バージョン4 の設定方法をまとめます。 NFSサーバ側 NFSサーバ側:必要なパッケージのインストール $ sudo apt-get update $ sudo apt-get install nfs-kernel-server 自動的にNFS v4関連のソフトウェアがインストールされます。 NFSサーバ側:設定 /etc…

cygwinでtelnetコマンドを使う方法

cygwinでtelnetコマンドが必要な場合は、inetutilsパッケージをインストールする。

firefox-3.6.4のプラグインクラッシュ対策を無効にする方法

firefox 3.6.4の新機能プラグインクラッシュ判定*1は、about:config で dom.ipc.plugins.timeoutSecs を -1 にすると無効になる。また1以上の数値、例えば45に設定すると、45秒反応がなかったらそのプラグインは死亡とみなすようになる。dom.ipc.plugins.tim…

PCがHDD容量を誤認識する場合の対処方法

HDD関連のトラブルとして、HDD容量が正しく認識されない、という類の事故があります。たとえば 新品の1TBのHDDなのに、BIOSとかOSは33MBのHDDとして認識している。初期不良?相性問題? 普段使っているHDDを外して、別PCにつないだら、HDD容量を正しく認識し…

HDD温度を確認する方法

毎年この時期になると、作業用PCやファイルサーバーが熱暴走して大変だった、といった残念な話を耳にするようになります。というわけで、本格的な夏を向かえる前にHDDの温度を確認して、事故を未然に防ぎましょう。HDDにはS.M.A.R.T.と呼ばれるディスクの動…

最近のdoxygenはスゴイ

doxygen*1 と言えば、cやc++のソースコードからドキュメントを自動生成する便利なソフトウェアです。この doxygen、ここ1年ぐらいですごく改良されています。ちょうど昨日(2010/6/15)に最新版の 1.7.0 がリリースされたので、この機会に最新版に乗り換えて、…

apt-get が Seg-V で落ちる場合の対処方法

apt-get が segmentation fault で異常終了する場合は、 $ cd /var/cache/apt/ $ sudo rm pkgcache.bin srcpkgcache.bin と一度キャッシュファイルを手動で削除し、 $ sudo apt-get update とすれば復旧する(場合がある)。

linux を強制リブートする方法

linux を強制的に遠隔から再起動する方法。 # echo b > /proc/sysrq-trigger これだけ。デバイスドライバのバグなどで # /sbin/shutdown -hf now とか # /sbin/reboot のようなコマンドが動作しない緊急事態でも確実にリブートできます。ただし、sync や umo…

linux-2.6.33のNFS関連にバグ

linux-2.6.33 には、NFS関連にバグがあります。NFSを使っている人は 2.6.33 系は避けましょう。以下、詳細。2.6.33 とか 2.6.33.3 で NFS をしばらく使っていると $ /sbin/lsmod |grep nfs nfsd 218966 13 exportfs 2914 1 nfsd nfs 240809 1 lockd 56531 2 …

gcc 4.5.0 リリース

今日明日にも GCC 4.5.0 がリリースされる模様。 ミラーに行き渡ったら、正式にアナウンスされるとのこと。http://gcc.gnu.org/ml/gcc/2010-04/msg00321.htmlすでに http://gcc.gnu.org/ の更新は終わっており、Current release series は、 GCC 4.5.0 とな…

OpenCV のインストール方法

OpenCV-2.1のインストール方法です。TBB*1を有効にして、通常より高速に動作するようにビルドします。 必要なパッケージのインストール debian 系なら apt で一括インストールできますまずパッケージの一覧を更新して、 $ sudo apt-get update 必要なパッケ…

linux でバイナリを逆アセンブルする方法

linux でプログラムをdisassembleする方法のメモです。 逆アセンブルする方法(その1) 定番のdisassembler、objdump コマンドを使います。 $ objdump -d バイナリファイル > dump.txt objdump コマンドは、大抵 binutils パッケージに入ってます。 通常のプロ…

visual c++ で M_PI とか M_LOG2E を使う方法

windows の visual c++ (visual studio)で、M_PI や M_LOG2E のような定数を使う場合は #define _USE_MATH_DEFINES #include <math.h> と、math.h をincludeする前に、_USE_MATH_DEFINES を定義する。参考 http://msdn.microsoft.com/ja-jp/library/4hwaceh6.aspx</math.h>

NANの定義について

gcc環境だと math.h に NAN という定数が定義されている。ところが visual c++ (visual studio)には対応する定義が無い。環境に依存しない、ポータブルな、移植性の高いコードが必要な場合は、STLを使って #include <limits> std::numeric_limits<float>::quiet_NaN(); std:</float></limits>…

Visual C++で、std::min, std::max を使う方法。

visual c++ (Microsoft Visual Studio)では、std::min(), std::max() が使えない場合がある。これは windows.h に昔から定義されている min、 max というマクロがあり、これと名前が衝突するため。回避方法は #define NOMINMAX #include <windows.h> と NOMINMAX を定義</windows.h>…

mysqlでのアクセス制御まとめ

MySQL のアクセス制御に関する事項を整理してみました。たとえばWebサーバ(apache,tomcat等)とDBサーバ(MySQL)を分離する場合等に参考になるかと思います。 IPアドレスベースでのアクセス制御 設定ファイル /etc/mysql/my.cnf /etc/hosts.allow と /etc/host…