各種アルゴリズムの C++ による実装 by 前原さん

http://www.prefield.com/algorithm/index.html基本 テンプレート グラフ 基本要素 グラフの基本要素 連結成分 関節点,二重頂点連結成分分解 橋,二重辺連結成分分解 強連結成分分解 最短路 単一始点最短路 (Dijkstra) 単一始点最短路 (Bellman-Ford) k-最…

標準入力が、ファイルなのかパイプなのかを判断する

シェルスクリプト総合 その11 674 :名無しさん@お腹いっぱい。 [] :2008/07/16(水) 11:04:03 標準入力が、ファイルなのかパイプなのかを判断するシェルを発行してください。 端末なのかどうかは [ -t 0 ] で発行できますが、 そうじゃなく、ファイルなの…

マルチスレッド環境でのシグナル

os_unix.c の mch_suspend() より。 kill(0, SIGTSTP); /* send ourselves a STOP signal */ # ifdef _REENTRANT /* When we didn't suspend immediately in the kill(), do it now. Happens * on multi-threaded Solaris. */ if (!sigcont_received) pause(…

fgbypid for bash

たわむれに、PID を指定して fg する fgbypid を bash の組み込みコマンドにする拡張モジュールを作ってみた。 参考にしたのはこれ http://www.kernelthread.com/hanoi/html/lbm.html と bash 添付の example/loadables。 Ubuntu では独自のビルド方法を採用…

Re: screen と vim の憂鬱

http://subtech.g.hatena.ne.jp/cho45/20080703/1215094432スワップファイルから PID を抜き出すというアイディアが素晴らしいです。で、 window に飛ばしてさらにそのファイルをアクティブにしたいところ これに対応するためにまずバックグラウンドになって…

ゲームでエラー発生時にリプレイデータを保存

ゲームのリプレイデータはテストやデバッグ時の状況再現にも役に立つ。 なので予期しないエラーが発生したときは自動的にリプレイデータをファイルに保存しておくといいんじゃないかと思った。 Ruby ならこんな感じ begin rescue f = open("replay.dat", "w"…

TPU

Emacsとわたし http://d.hatena.ne.jp/hyoshiok/20080503/p1 知られざる名エディタというものがあったのですな。

プロジェクトとプロセスの違い

わたしはこれを、ソフト開発のコンテキストにおけるプロセスの意義について考えながら作り上げた。反復可能な開発プロセスという考え方は、多くの IT専門職にとって究極の目標のようだが、わたしは信奉しない。それは神話にすぎないと思う。開発プロジェクト…

日々のエイリアス

bash で auto_pushd もどき 以前はこんなことやっていたが、 function cd() { if [ "x$1" == "x" ]; then pushd ~ > /dev/null else if [ -f "$1" ]; then echo "Not directory" dir=`dirname "$1"` else dir="$1" fi pushd "$dir" > /dev/null fi }こうした…

rpl 文字列置換ユーティリティ

ファイル中の文字列を置換するユーティリティ。 http://www.laffeycomputer.com/rpl.html Ubuntu なら apt-get でインストールできるので手軽 -a をつけない限りドットで始まるファイル・ディレクトリは無視されるから .svn があっても平気 メッセージがけっ…

女=悪

311 :132人目の素数さん [] :2007/08/30(木) 10:23:15 女は時間と金がかかる(girls require time and money)ので Girl = Time × Money ・・・(1) 時は金なり(Time is Money)という諺によると Time = Money ・・・(2) (2)を(1)に代入すると Girl = Mon…

プログラムの推敲

「設計に時間をかけてきっちりやればコーディングは書くだけ」という人がいる。 これは、「文章というのは内容さえ考えれば、書くのは原稿用紙のマスを右上から埋めていくだけ」といっているようなものだ。読み直し・推敲をしないで良い文章が完成するはずが…

join(1) の使い道

一生使うことがないだろうと思っていた join(1) を使う日がついに来た。 事の起こりは ipcs。 $ ipcs -p ------ 共有メモリ 作成者/直近の命令 -------- shmid 所有者 cpid lpid 262144 ao 5620 24536 294913 ao 5682 5335 163842 ao 5603 5335 196611 ao 56…

passwdの暗号化

/etc/passwd や /etc/shadow に記録されているのは xxXXXXXXXXXXX 的なDES Crypt形式と、$1$xxxxxxxx$XXXXXXXXXXXXXXXXXXXXXX 的なMD5 Crypt形式があります。頭の$1$で区別できるので併存することもできます。 http://siisise.net/linux/crypt.html 昔の Uni…

OpenSolaris のドキュメント

Books and Tutorials http://opensolaris.org/os/downloads/docs/ man http://dlc.sun.com/osol/man/downloads/current/ man は欠けているものがある。セクション2は全然足りないし、1も ls や cat すらない。 Solaris のをそのまま持ってきてるんじゃないの…

ロックについて

Linux, Solaris では強制ロックが実装されている。 FreeBSD, NetBSD, OpenBSD, Darwin では強制ロックは実装されていない。flock は Linux, BSD どちらでも使え、必ずアドバイザリロック。 Linux 1. -o mand つきでマウントし mount -t ext3 -o defaults,man…

ループバックデバイスでイメージファイルをマウント

10MB のファイルを作成。 root@ru:~# dd if=/dev/zero of=disk bs=1M count=10 10+0 records in 10+0 records out 10485760 bytes (10 MB) copied, 0.0160953 seconds, 651 MB/sext3 でファイルシステム作成。 root@ru:~# mkfs.ext3 -b 4096 -i 8192 mke2fs …

vipw のロック

vipw のロックって passwd.lock というファイルを作るだけだから vipw 以外による変更に対しては無力なのね…。

top のコマンド名表示

procps の top の COMMAND 列は c キーでコマンド名/コマンドライン表示を切り替えられる。(FreeBSD ではできない?) 例 取得元 コマンド名 vi /proc/PID/stat コマンドライン vi memo /proc/PID/cmdline execve の第二引数と同じ 9738 ao 18 0 18712 6700…

テロリストの暗号

535 :login:Penguin [] :2008/02/05(火) 03:31:40 id:ZYTEHCp6方向音痴な初心者です ?Linux入門のdisとして名高いですが… 取り敢えずdebian/forをinstall… fedoraを完全にcontrolする事が出来れば? 第三番目のOSが出来るのではと思います debian/forは当…

Gnome のホームディレクトリのフォルダ名を日本語から英語に変更するには

ホームディレクトリのフォルダ名を日本語から英語に変更するには − @IT http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a077changelang.html $ LANG=C xdg-user-dirs-gtk-update

ゲームプログラマに必要なスキル

プログラマのスキル表 http://research.cesa.or.jp/pdf/shiryo6-1-1.pdfプログラマのスキル http://research.cesa.or.jp/pdf/cyaria3-3.pdf http://masafumi.cocolog-nifty.com/masafumis_diary/

IIS の「アプリケーション保護」を「高(分離プロセス)」に変更できない

win

■環境 Windows XP Professional SP2 ■症状 IIS「既定の Web サイトのプロパティ」で「アプリケーション保護」を「高(分離プロセス)」にして「OK」を押すと 予期しないエラー 0x80110414 が発生しました。 というエラーが出る。■原因 IIS のアウトプロセス…

SQL結果をツリーを表示

RDBMS でツリーを表すこんなデータを AA でツリー表示するスクリプトを書いてみた。 1 11 12 11 21 22 21 23 22 41 51 52 51 80 81 80 82 81 83 82 99999#!/usr/bin/env python # -*- coding: utf-8 -*- import sys class Node: def __init__(self, value=""…

Ubuntu の look(1) が異様に遅い

LANG=C したら直った。 UTF-8 ロケールで grep が遅いというのと同じかも。

zenity - シェルスクリプトでダイアログボックスとか GUI

gnome についてくるコマンドらしい。 http://blogs.sun.com/yappri/entry/zenity 関連: xdialog

CGDB - curses interface to gdb

http://cgdb.sourceforge.net/ curses を使った gdb インターフェイス。 vi キーバインドで gdb を操作できる。かなりいい感じ。 $ cgdb -- a.outで起動。上側のウィンドウがソースウィンドウ(CGDB Mode)。下側が GDB Window (GDB Mode)。 i と Esc で2つの…

Henry Spencer の正規表現実装

http://arglist.com/regex/

参考になる .vimrc

vim

kana さんの .vimrc がすごい。 http://coderepos.org/share/browser/dotfiles/vim/kana私がスクリプトでやるのをあきらめて Vim のソースに手を加えていたことまでスクリプトで実現してるし。Vim のデフォルトの動作をオーバーライドするためのノウハウとか…

Vim と共に去りぬ