若い兄ちゃんが携帯をいじっていた

3 :名無しさん@十周年 [] :2010/06/16(水) 09:05:23 id:bf3ID9a6O
電車の中で若い兄ちゃんが携帯をいじっていた。隣にばあちゃんがいて、ばあちゃんは
「医療機器使ってるから電源切ってください」と言った。
その男は「来たメールを読んでるだけだから」と言って、いじるのを止めない。隣のリーマンが

「今は読んでるだけでも読んでるうちにメールが来るかもしれないだろ。切りなさい」
と言った。兄ちゃん、怒り狂った口調で「ああ?!!」
逆切れだ!リーマンやばいぞ!(兄ちゃんはかなりいいガタイ)
見てる人が皆そう思ったとき、兄ちゃんは携帯をリーマンに突きつけながら言った。
「見ろよ!俺に来た最後のメールは4ヶ月前だ! それ以来誰も送ってこないんだよ!
今更誰が送って来るんだよ!!! 俺から送る相手もいないんだよ!!!」
みんな黙り込んだ。しかしその中に一人だけ、無愛想な顔をして彼に近付く若い女がいた。
彼女は男から携帯を奪い取ると何か操作をして、再度男に突き返した。
男が呆然としていると、女は自分の携帯をいじり始めた。
しばらくして、男の携帯が鳴った。
男は目を見開いてぱちぱちさせながら携帯を見た。
もうね、多分みんな心の中で泣いてた。男も泣いてた。
世界は愛によって回っているんだと実感した。
ばあちゃんは死んだ。

Re:夫の後ろ向きな考え方

私、どちらかというと現実的な考え方で、

なにかあったとき、これからどうすべきか?ということを第一に考えます。

たとえば道に迷った時、どうしたら元の場所に帰れるか、考えます。



夫はまず、どうして迷ったのか考えます。

「何でこうなったんだろ〜」

「あの時、こうしてれば良かったのに。」

もう過ぎてしまったことを考えるのです。



それでいつも衝突します。

私は早めに、これからのことを対処したい。

夫はまず原因を探したい。

http://ameblo.jp/osako-3636/entry-10264379675.html

これは興味深い。原因を明らかにすることは、それ以降同じようなことが起こらないように、防止につながる。もっと未来のことを考えているともいえる。

Windows Vista, Linux, FreeBSD のマルチブート

終結果:

# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x90909090

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3917    31457280    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2            3917        7703    30408704   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3            7703        7964     2097152   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4   *        7964        9730    14186584   a5  FreeBSD
Partition 4 does not end on cylinder boundary.  

cylinder boundary に沿ってないというのがあまりよくないようですね。どうすりゃよかったんだろ。


手順:
Windows Vista インストール時に他OSのパーティションがあると、「インストールできるシステム ボリュームが見つかりません」と表示されてしまうので、Vista を最初にインストールしないといけない。

1. Windows Vista Home Basic を普通にインストール。
2. Fedora 12 を普通にインストール(grubMBR にインストール)。

3. FreeBSD 8 をインストール。boot manager の選択には

None (Leave the Master Boot Record untouched)

を選択。

4. grub 設定ファイルに FreeBSD を追加。

# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,1)
#          kernel /boot/vmlinuz-version ro root=/dev/sda2
#          initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.31.5-127.fc12.i686)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.31.5-127.fc12.i686 ro root=UUID=a8737667-3844-4338-9b32-64d061b2decd noiswmd LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=jp106 rhgb quiet
        initrd /boot/initramfs-2.6.31.5-127.fc12.i686.img
title Windows Vista
        rootnoverify (hd0,0)
        chainloader +1
title FreeBSD 8
        root (hd0,3,a)
        kernel /boot/loader

ThinkPad R60 で Windows をリカバリーするには

電源をオンにして「To interrupt normal startup, press the blue ThinkVantage button」が表示されている間に ThinkVantage ボタンを押す→Rescue and Recovery ワークスペースが開く→「システムの復元」をクリックして画面の指示に従う。

パイプのデッドロック

親プロセスが子プロセスの標準出力を読み出している一方で、子プロセスが大量のデータを標準エラー出力に書き込んでいる場合、この子プロセスから出力を読み出そうとするとデッドロックが発生します。

http://www.python.jp/doc/2.4/lib/popen2-flow-control.html

こういうこと?

a.py

import subprocess

try:
    p = subprocess.Popen("python b.py", shell=True, bufsize=0,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE)
except OSError:
    print "popen failed"
    sys.exit(1)

print "from child [%s]" % p.stdout.readline() 

b.py

import sys

log = open("log2.txt", "w")

for i in xrange(1000000):
    if i % 1000 == 0:
        print >>log, "i = %i" % i
    print >>sys.stderr, "print to stderr"

print "print to stdout"


C版

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
	int stdout_pipe[2];
	int stderr_pipe[2];
	int pid;
	char buf[256];

	printf("_PC_PIPE_BUF = %d\n", _PC_PIPE_BUF);

	pipe(stdout_pipe);
	pipe(stderr_pipe);

	pid = fork();

	if (pid < 0) {
		perror("fork");
		exit(1);
	}
	else if (pid == 0) {
		const char* str = "print to stderr\n";
		int i;
		FILE* log = fopen("log.txt", "w");
		// child
		close(stdout_pipe[0]);
		close(stderr_pipe[0]);
		dup2(stdout_pipe[1], 1);
		dup2(stderr_pipe[1], 2);
		for (i=0; i<10000; i++) {
			fprintf(stderr, str);
			if (i % 1000 == 0) {
				fprintf(log, "i = %d\n", i);
				fflush(log);
			}
		}
		fprintf(log, "Finish\n");
		fclose(log);
		printf("print to stdout\n");
	}
	else {
		close(stdout_pipe[1]);
		close(stderr_pipe[1]);
		memset((void*)buf, 0, sizeof(buf));
		read(stdout_pipe[0], buf, sizeof(buf) - 1);
		printf("from child [%s]\n", buf);
	}

	return 0;
}

THE UNIX HATER'S HANDBOOK 読了

http://www.simson.net/ref/ugh.pdf

昔の Unix ファイルシステムは信頼性がなかったというのがけっこう衝撃だった。


Eric S. Raymondによる再考
The Unix Hater’s Handbook, Reconsidered
http://esr.ibiblio.org/?p=538