「一方通行」を含む日記 RSS

はてなキーワード: 一方通行とは

2007-09-28

http://anond.hatelabo.jp/20070925111717

3時間42分18秒。終話のボタン押し携帯ディスプレイにはそう表示されていた。その実、4時間近い時間のほとんどは沈黙彼女のすすり泣く声に支配されていた。

理由がよく分からないという僕と、その理由が分からないところが考え方が合わないっていうことなんじゃないの?という彼女。あのとき一方通行だと感じたという彼女と、そのときのことをあやまる僕。たぶん、お互いに話が通じていない。平行線

「俺のこと嫌い?」とそう聞いてみる。もう二回も言ったよ。と彼女は言う。別れ話をしたその日にいまにも泣きそうな顔をしながら大嫌いと言ったその顔を思いだした。本当に嫌いになった?と聞いてみても彼女は答えない。本当に嫌われたと思ったんならやり直そうなんて言わないよ、そう言ってみても彼女は答えない。彼女が決定的な一言を口にすればこの話は終わり。そのはずなのに、彼女は答えを聞かせてはくれない。

しばらく距離を置こうという彼女の提案を、僕は渋々了承する。三ヶ月後、12月24日クリスマスイブの日にお互いにその気があれば、待ち合わせ場所に行く。お互いに他の用事があるかもしれないから、あえてその日。

これが物語なら、二ページ後に「……そして三ヵ月後」となるのだろうけど、僕はそういうわけにもいかない。たぶん僕はその日にささやかプレゼントを手に立ち尽くすことになるのだろう。彼女はきっと来ない。絶望を先延ばしにしているだけなのかもしれない。でも。僕はこの偽りの希望をたよりにして日々を過ごそう。

2007-09-15

http://anond.hatelabo.jp/20070915230246

自衛意識は一切持ち合わせず、犯罪者が悪い(そんなの当然だ)って意見のみの一方通行

ケータイの画面に対する防御は過剰なのに、おかしいね。

2007-09-12

その人は忙しくて毎日予定がものすごくある人。

いつも疲れてる。だけどそれを普段は感じさせないんだよね・・。

そんな風にすごくがんばっている姿を見て惚れました。

自分はそこまでマルチタスクな人じゃないので同時進行できることの数が限られているからあこがれる。

前にその人がひどくストレスが溜まっている時に話して、その時に「すっきりした!」みたいなことを言われて、

「この人をもっと笑顔にさせられたらなぁ。幸せにできたらなぁ」とか本気で思ってしまう。

でも、きっと一方通行なんだよね。

メールが返って来るのに1日掛かるのは眼中に無いからなんだよな。

「忙しいんだろうなぁ」と思って自分をフォローしているのが悲しい。

だれか・・・俺を必要としてくれよ・・・。

2007-09-10

非人道的と言われるかもしれないがあえて書く。

やっぱ池沼は産みたくないなー。

旦那の年齢が高いから気になっているんだ。

子供は産みたいって思ってるんだけどさ。

ルール(心の論理)がわからないから他人を傷つけてもなんでなのかわからない。

それでも本人には心があるから他人からなんかされたら傷つく

一方通行ってずるくね?

池沼本人にはルールがわからないから罪はないかもしれないが、それをとりまく人たちが気持ち悪いと思う今日この頃

2007-09-07

ようこそ、℃-uteLisp の世界へ

発祥: http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/

はじめに

Scheme という Lisp 語族言語を用いて ℃-ute相関関係プログラムし、様々な角度から関係性を分析する手法を紹介していきます(ソースコードは最後に張ります)。

まずは、メンバー間の関係を「リスト」というデータ型で表現します。例えば「栞菜->愛理」という関係

(kanna . airi)

という形で表すことができます。これに、「大好き」という情報を付加し、ついでにその関係の性質を数値化したものを加えると

((kanna . airi) (desc "大好き") (score . 1))

のようになり、関係図における一つの矢印の情報データ化できたことになります(暫定的に、好意は 1、良好・中立は 0、険悪は -1 の3段階で表すことにします)。

メンバー間の全ての関係性をこのデータ単位で定義し、データベース化しておくことで、色んな条件に基づいた検索やスコア計算などが可能となります。

例 1: リンク状況の調査

ここで相関関係図における矢印を「リンク」と呼ぶことにして、あるメンバーから他のメンバーへどのようにリンクし、またリンクされているかを調べることができます。

関係の中からリンクの起点を抽出してソートしてみると

(sort-nodes (number-list (from-links)))

結果:

((kanna . 6) (saki . 5) (maimi . 4) (erika . 3) (mai . 3) (chisato . 3) (airi . 2))

栞菜ちゃんがメンバー全員にリンクを張っていることが分かり、℃-ute ラブっぷりが伺えます。なっきーにも同様の事が言えます。例の「女の子が好き」発言を数値的に裏付ける結果と言えるかもしれません。

ただ、データ不足でリンク件数がまだ少ないのと、リンクの性質(好意/反感など)までは分からない点を考慮する必要があるでしょう。

例 2: 被リンク状況の調査

同様に、リンクの終点の件数を調べてみます。

(sort-nodes (number-list (to-links)))
((chisato . 5) (erika . 5) (kanna . 4) (maimi . 4) (airi . 4) (mai . 3) (saki . 1))

えりかちゃんと千聖ちゃんが高ポイントです。メンバーからの人気や注目度の高さを示すデータですが、千聖ちゃんの場合敵対的なリンクが2件含まれている点に注意してください。

なっきーの被リンク数が極端に少ないですが、単純にデータ不足のためだと思われます。はぶら(ryとか言わないようにお願いします。

例 3: 愛情度の評価

リンクに付随するスコアを計算することで、愛情の度合いを測ることができるのではないか、という考えに基づく研究です。

まず、全ての関係性を対象として、スコアマイナス関係を抽出してみます。

(filter-nodes (lambda (n)
		(< (score-relation n) 0)))

結果:

(((kanna . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1))
 ((saki . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1)))

件数だけを得ると

(length (filter-nodes (lambda (n)
			(< (score-relation n) 0))))
2

僅か2件です。

良好・中立的な関係

(length (filter-nodes (lambda (n)
			(= (score-relation n) 0))))
8

愛に満ちた関係

(length (filter-nodes (lambda (n)
			(> (score-relation n) 0))))
16

非常に多いです。舞美ちゃんの「℃-ute同士でラブラブなんですよ」発言(例のラジオ)を数値的に裏付ける結果と言えるんじゃないでしょうか。

次に、メンバーごとのスコアを算出してみます。Lisp 的には以下のようにフィルタリングと畳み込み (fold) で計算することができます。例えば

(foldr (lambda (n acc)
	 (+ (get-score n) acc))
       0
       (filter-nodes (cut to? <> 'kanna)))

栞菜ちゃんに対するリンクスコアが得られます。結果:

3

上式を一般化して一挙にメンバー全員に適用してみると

(sort-nodes (map (lambda (x)
		   (cons x (score-loved x)))
		 (all-members)))

結果:

((airi . 4) (kanna . 3) (mai . 2) (erika . 2) (maimi . 2) (saki . 1) (chisato . 0))

愛理ちゃんが好意を寄せられやすい傾向が伺えます。

今度は逆方向のスコアを計算してみると

(sort-nodes (map (lambda (x)
		   (cons x (score-loving x)))
		 (all-members)))
((kanna . 3) (maimi . 3) (chisato . 2) (airi . 2) (saki . 2) (mai . 1) (erika . 1))

まいまいえりかちゃんが特に堅い・一途だという傾向を読み取ることができます。

例 4: 相性の調査

今度は組み合わせ(カップリング)の評価です。

2点間相互のリンクスコアを加算したものを「相性」と考えられるものとします。最大値 (互いに好意を寄せている場合の数値) は現在スコアリング方式では 2 です。例えば

(score-between 'kanna 'airi)

の値は

2

となります。1 であれば一方通行と考えます。

関係性が未定義の場合もあるので 0 のものを除外して算出すると

(sort-nodes (filter (lambda (n)
		      (not (= (cdr n) 0)))
		    (map (lambda (n)
			   (cons n (apply score-between n)))
			 (all-combinations))))
(((chisato mai) . 2)
 ((chisato airi) . 2)
 ((airi kanna) . 2)
 ((saki kanna) . 2)
 ((kanna maimi) . 2)
 ((erika maimi) . 2)
 ((saki airi) . 1)
 ((saki erika) . 1)
 ((kanna mai) . 1)
 ((maimi airi) . 1)
 ((saki chisato) . -1)
 ((kanna chisato) . -1))

となります。若干ピンとこない部分もあるかも知れませんが、計算上は矛盾無くデータの内容を表しています。

参考までに、スコア 1 の相互関係の中身を見てみると

(map (lambda (p)
       (find-relation (cons (caar p) (cadar p))
		      identity))
     (filter (lambda (n)
	       (= (cdr n) 1))
	     (map (lambda (n)
		    (cons n (apply score-between n)))
		  (all-combinations))))
(((kanna . mai) (desc "喰ってやるよ") (score . 1))
 ((saki . airi) (desc "好き") (score . 1))
 ((maimi . airi) (desc "良き妹") (score . 1))
 ((saki . erika) (desc "彼氏にしたい") (score . 1)))

のようになります。

まとめ

以上の調査を経て気になった問題点を列挙してみます。

特に最初の点に関して、「百合的」なるものの質的評価がなかなか難しいと感じました。例えば「大好き」も「良き妹」も同じ 1 と評価してしまっているのが妥当かどうか、といったことです。

また、スレにて与えられた情報を評価・分析する方法としては有効だとしても、逆方向のフィードバックの手段がなかなか見つからないというのが三つ目の問題です(技術力不足とも言います)。(注:画像化の方法が分かりました。追記参照)

最後に、プログラムソースを示します。実行には PLT Scheme が必要です。文字コードUTF-8 で保存した上で、(load "c-ute.ss") としてください。文字化けする場合はターミナルUTF-8 を表示できるよう設定する必要があります。がんばってください。

プログラム

c-ute.ss:

(require (lib "etc.ss")
         (lib "list.ss")
         (lib "26.ss" "srfi")
         (lib "delete.ss" "srfi" "1"))

;;; Utilities

(define true? (compose not not))

(define (ignore _) #f)

(define fif
  (case-lambda
    ((predicate consequent)
     (fif predicate consequent ignore))
    ((predicate consequent alternative)
     (lambda (x)
       (if (predicate x)
           (consequent x)
           (alternative x))))))

(define (concat! xs) (apply append! xs))

(define (mapconcat f lst sep)
  (let lp ((str (f (car lst)))
           (lst (cdr lst)))
    (if (null? lst)
        str
        (lp (string-append str sep (f (car lst)))
            (cdr lst)))))

(define (slice-string str len)
  (let lp ((res '())
           (str str))
    (if (<= (string-length str) len)
        (reverse! (cons str res))
        (lp (cons (substring str 0 len) res)
            (substring str len)))))

(define (break-string str len)
  (mapconcat identity (slice-string str len) "\\n"))

;; NOTE: input and output ports have to be either file-stream or #f
;; (i.e., cannot be a string port)
(define (run exe opt in out)
  (let-values (((p p-i p-o p-e)
                (subprocess out in #f exe opt)))
    (subprocess-wait p)
    (close-input-port p-e)))

;;; Database

;; http://ja.wikipedia.org/wiki/%E2%84%83-ute

(define names
  '((erika . "えりか") (maimi . "舞美") (saki . "早貴") (airi . "愛理")
    (chisato . "千聖") (mai . "舞") (kanna . "栞菜")))

(define (symbol->name sym)
  ((fif true?
        cdr)
   (assq sym names)))

(define nodes '())
(define edges '())

(define (relate from to desc score)
  (let ((n (cons from to)))
    (or (find-relation n
                       (lambda (r)
                         (let ((d (assq 'desc r))
                               (s (assq 'score r)))
                           (set-cdr! d (cons desc (cdr d)))
                           (set-cdr! s (+ score (cdr s))))))
        (begin
          (set! nodes (cons n nodes))
          (set! edges (cons (cons n `((desc ,desc)
                                      (score . ,score)))
                            edges))))))

(define (find-relation n k)
  ((fif true? k)
   (assoc n edges)))

(define (related? x y)
  (find-relation (cons x y) (lambda (_) #t)))

(define (from? n x)
  (eq? (car n) x))

(define (to? n x)
  (eq? (cdr n) x))

(define flip-relation
  (case-lambda
    ((n)
     (and (related? (cdr n) (car n))
          (cons (cdr n) (car n))))
    ((n k)
     ((fif true? k)
      (flip-relation n)))))

(define (get-score n)
  (cdr (assq 'score n)))

(define (get-description n)
  (cdr (assq 'desc n)))

(define (describe-relation n)
  (find-relation n get-description))

(define (score-relation n)
  (or (find-relation n get-score) 0))

(define (print-node . ns)
  (for-each (cute find-relation <>
                  (lambda (r)
                    (display
                     (format "| ~a => ~a  (~a)~%"
                             (caar r) (cdar r)
                             (mapconcat (lambda (s)
                                          (string-append "\"" s "\""))
                                        (cdr (assq 'desc r))
                                        ", ")))))
            ns))

(define (iter-nodes k)
  (let lp ((nodes nodes))
    (unless (null? nodes)
      (k (car nodes))
      (lp (cdr nodes)))))

(define (filter-nodes p)
  (let ((ns '()))
    (iter-nodes (fif p
                     (cut find-relation <> (lambda (n)
                                             (set! ns (cons n ns))))))
    ns))

(define (from-links)
  (map car nodes))

(define (to-links)
  (map cdr nodes))

(define (all-members)
  (delete-duplicates! (from-links)))

(define (all-pairs) nodes)

(define (ordered-pairs)
  (concat! (map (lambda (x)
                  (map car
                       (sort (filter-nodes (cute to? <> (car x)))
                             (lambda (x y)
                               (> (get-score x) (get-score y))))))
                (sort-nodes (map (lambda (x)
                                   (cons x (score-loved x)))
                                 (all-members))))))

(define (all-combinations)
  (let lp ((cs '()) (ns nodes))
    (if (null? ns)
        cs
        (let ((n (car ns)))
          (lp (if (member (list (cdr n) (car n))
                          cs)
                  cs
                  (cons (list (car n) (cdr n)) cs))
              (cdr ns))))))

;; number-list :: [a] -> [(a . Int)]
(define (number-list ls)
  (let lp ((ns '()) (ls ls))
    (if (null? ls)
        ns
        (let ((x (car ls)))
          (lp ((fif not
                    (lambda (_) (cons (cons x 1) ns))
                    (lambda (n)
                      (set-cdr! n (add1 (cdr n)))
                      ns))
               (assq x ns))
              (cdr ls))))))

;; sort-nodes :: [(a . Int)] -> [(a . Int)]
(define (sort-nodes ns)
  (sort ns (lambda (x y)
             (> (cdr x) (cdr y)))))

(define (diff-nodes ms ns)
  (let lp ((ds '()) (ns ns))
    (if (null? ns)
        (sort-nodes ds)
        (lp (let* ((n (car ns))
                   (m (assq (car n) ms)))
              (cons (cons (car n)
                          (- (cdr m) (cdr n)))
                    ds))
            (cdr ns)))))

(define (get-total-score x p)
  (foldr (lambda (n acc)
           (+ (get-score n) acc))
         0
         (filter-nodes (cut p <> x))))

(define (score-loved x)
  (get-total-score x to?))

(define (score-loving x)
  (get-total-score x from?))

(define (score-between x y)
  (+ (score-relation (cons x y))
     (score-relation (cons y x))))

(define (-> x)
  (display (format "~%Links from [~a]~%" x))
  (iter-nodes (fif (cut from? <> x)
                   print-node)))

(define (<- x)
  (display (format "~%Links towards [~a]~%" x))
  (iter-nodes (fif (cut to? <> x)
                   print-node)))

(define (<-> x)
  (display (format "~%Reciprocal links for [~a]~%" x))
  (iter-nodes (fif (cut to? <> x)
                   (lambda (n)
                     (flip-relation n
                                    (lambda (m)
                                      (print-node m n)))))))

(define (<=> x)
  (display (format "~%Reciprocal matches for [~a]~%" x))
  (iter-nodes
   (fif (cut to? <> x)
        (lambda (n)
          (flip-relation n
                         (lambda (m)
                           (if (ormap (lambda (x)
                                        (ormap (lambda (y)
                                                 (equal? x y))
                                               (describe-relation m)))
                                      (describe-relation n))
                               (print-node m n))))))))

(define (<?> x)
  (let ((to (assq x (number-list (from-links))))
        (from (assq x (number-list (to-links)))))
    (display (string-append
              (format "~%Link statistics for [~a]~%"
                      x)
              (format "| ~a => ~a (love ~a)~%"
                      x
                      (cdr to)
                      (score-loving x))
              (format "| ~a => ~a (love ~a)~%"
                      (cdr from)
                      x
                      (score-loved x))))))

(define (info x)
  (for-each (cut <> x)
            (list <- <-> <=> -> <?>)))

;;; GraphViz (http://www.graphviz.org/) support

(define graphviz "C:/Program Files/ATT/Graphviz/bin/dot.exe")

(define (nodes->dot ns)
  (string-append "digraph cute {\n"
                 ;;"\tordering=out;\n"
                 ;;"\trankdir=LR;\n"
                 "\toverlap=true;\n"
                 "\tnode[fontname=\"msgothic.ttc\"];\n"
                 "\tedge[fontname=\"msgothic.ttc\",fontsize=9];\n"
                 (let lp ((str "") (ns ns))
                   (if (null? ns)
                       str
                       (let* ((n (car ns))
                              (s (score-relation n)))
                         (lp (string-append
                              str
                              (format "\t\"~a\" -> \"~a\""
                                      (symbol->name (car n))
                                      (symbol->name (cdr n)))
                              (format "[label=\"~a\",color=\"~a\","
                                      (break-string
                                       (car (describe-relation n))
                                       7)
                                      (cond ((> s 0) "red")
                                            ((= s 0) "green")
                                            (else "blue")))
                              (format "style=\"bold~a\"];\n"
                                      (if (and (not (= s 0)) (< s 1) (> s -1))
                                          ",dashed"
                                          "")))
                             (cdr ns)))))
                 "}"))

(define (write-dotfile dot file)
  (and (file-exists? file) (delete-file file))
  (with-output-to-file file
    (lambda ()
      (display dot)))
  file)

(define (dot->png dot png)
  (call-with-input-file (write-dotfile dot "c-ute.dot")
    (lambda (in)
      (and (file-exists? png) (delete-file png))
      (call-with-output-file png
        (lambda (out)
          (run graphviz "-Tpng" in out)))))
  'done)

;;; Setup database

;; Based on:
;; http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/116-142
(begin
  (relate 'maimi 'erika "大好き" 1)
  (relate 'maimi 'kanna "良き妹" 1)
  (relate 'maimi 'airi "良き妹" 1)
  (relate 'maimi 'mai "姉妹" 0)
  (relate 'erika 'maimi "一番可愛いよ" 1)
  (relate 'erika 'kanna "仲間" 0)
  (relate 'erika 'chisato "おソロパジャマ" 0)
  (relate 'kanna 'erika "仲間" 0)
  (relate 'kanna 'maimi "好き" 1)
  (relate 'kanna 'saki "喰ってやるよ" 1)
  (relate 'kanna 'mai "喰ってやるよ" 1)
  (relate 'kanna 'airi "大好き" 1)
  (relate 'kanna 'chisato "愛理に手出すんじゃねぇよ" -1)
  (relate 'saki 'maimi "荷物整理" 0)
  (relate 'saki 'erika "彼氏にしたい" 1)
  (relate 'saki 'kanna "興味がある" 0.5)
  (relate 'saki 'chisato "愛理に手出すんじゃねぇよ" -1)
  (relate 'saki 'airi "好き" 1)
  (relate 'airi 'kanna "受け入れる" 1)
  (relate 'airi 'chisato "最近親密" 1)
  (relate 'mai 'erika "保護者" 0)
  (relate 'mai 'maimi "姉妹" 0)
  (relate 'mai 'chisato "恋人" 1)
  (relate 'chisato 'erika "おソロパジャマ" 0)
  (relate 'chisato 'mai "恋人" 1)
  (relate 'chisato 'airi "最近親密" 1))

;; query relations / draw graphs

(if (file-exists? graphviz)
    (dot->png (nodes->dot (ordered-pairs))
              "c-ute.png")
    (for-each info (all-members)))

追記(グラフ描画について)

Graphviz というソフトによって関係図を可視化できる、ということを教えていただきました(既に上プログラムを実行すると自動的に関係画像を作成するようにしてあります)。ここでは技術的な観点から幾つか注意点を挙げておきます。

まず、Scheme プログラムから Graphviz を動かす方法について。コマンドラインからの起動のように、プログラムへのオプション文字列で入出力ファイルを指定する方法ではどうも上手く行きませんでした。調査の結果、入出力ファイルポートScheme 側で用意しておく必要があるようです。処理系によって異なりますが、PLT Scheme の場合 subprocess という関数を次のように呼び出します。

(subprocess output-port input-port #f "/path/to/dot.exe" "-Tpng")

ここで output-port は png画像ファイルへの出力ポート。input-port は dot ファイルグラフの定義ファイル)の入力ポートです。エラーポートは必要無いでしょう (#f)。

dot という名前の実行ファイルが、関係図のような有向グラフを描画するプログラムです。最後にオプション文字列として出力形式を指定します(png, jpeg, gif, etc.)。

次に dot ファイルScheme で書く方法ですが、以下の基本的な有向グラフの書式

digraph g {
  A -> B;
  B -> C;
  C -> A;
}

を理解すれば、後は実直に Schemeデータを当てはめて format 関数等で変換するだけです。

(string-append
 "digraph g {"
 (format "~a -> ~a;" (car node) (cdr node))
 "}")

問題は、ノードを配置する順番によって出来上がる画像が変わってくる、ということです。

より見た目に分かりやすくするための工夫としては、相互にリンクするノード同士が dot ファイル上でも近接して出力されるようにすると良いでしょう。関連の強いものが画像の上でも近くに表示されるようになります。

また上述(特に例3)のスコア概念を応用し、スコアの低いものが後に出力されるようにすることで、重力感覚に一致するような関係図を得ることができるでしょう。

2007-08-08

ビリーズブートキャンプ -ある帰還兵の手紙-

まず、久しく手紙を送らなかったことを謝らせてくれ。俺は今、軍を除隊してニューオーリンズ陸軍病院にいる。

俺がビリー軍曹と戦った7日間。たった7日間だ。しかし、そこから帰ってくると、もう俺たちの居場所はなかった。俺たちは、自分がいかに苦しい思いをしたか、汚らしく肥え太った腹周りを締め上げるために、どれだけ非情な手段を使ったかを、誰かに話したかった。ひとりで抱え込むなんてできなかったんだ。しかし、入隊者の烙印を押された俺には、それさえも許されなかった。彼らのほとんどが型どおり大仰に驚いて見せた後、こう言うんだ。『DVD貸して』。奴らは俺たちがどう戦ったかなんてまるで無関心なのさ。

知ってるか? 戦闘の後、無抵抗な全身の筋肉を傷めつけた俺たちは、全員で輪になって「ビクトリー!」なんて叫ぶんだぜ。狂ってると思うだろ? 俺だってそう思ったさ。でも、それが「生きて明日を迎えられる」って確認する唯一の手段だったんだ。

端末を起動すれば、連日のように友軍の戦果報告が行われていた。そりゃ華々しいものだったよ。「腹部の脂肪を排除!」「腹筋を確認!」「ウエスト5cm減!」俺達は沸き立った。基本プログラム・応用プログラム・腹筋プログラム…敵は強かった、しかし俺達はそれを上回った。激しい戦闘中、地面に這いつくばる俺にビリー軍曹が言った「休憩してもいい。でも、戻ってこい。とにかく、あきらめないことだ」。彼の言葉には随分助けられたが、 今思えば、あれは俺へ向けた言葉じゃなかったように感じるんだ。なんというか、うまく説明できないんだけれど。「ビリー軍曹、俺はあんたのように強くはなれない!」俺たちが汗まみれになって叫んでも、画面の中の彼は「苦しいが、結果はついてくる」、「自分に負けるな」なんて俺たちを鼓舞する言葉を繰り返すだけだった。その一方通行っぷりは、まるで代ゼミサテライト授業。言うなればビリー軍曹は、地獄の黒ピカ先生さ。

孤独な行軍、激しい戦闘、渇きと疲労。そして入隊者へ向けられる好奇の視線。ビリーズブートキャンプに入隊した7日間に、心の休まる時なんてなかった。はけ口のない思いは、澱のように心の底に積もり、重なっていくだけだった。信じられないだろうが、俺たちを公平に扱ってくれるのは、自分自身の体重ウエストサイズだけだったのさ。

そして7日間の戦いをを終え、俺は体重1kg減、ウエスト3cm減という戦果を挙げ、除隊することを選択した。

今日も深夜TVで、ビリー軍曹が「君も変われるんだ」と呼びかけている。その言葉に触発され、多くの若者達が、自ら戦地に赴いている。若者だけじゃない、俺のように妻や娘の居る兵士も珍しくないだろう。けれど、俺は思うんだよ。実際のところ、俺たちにはダイエットが必要だったのだろうかって。

退屈な一日の終わりにベッドで目を閉じる時、「もしキャンプインしていなかったら」とよく考える。それ自体がナンセンスなことは分かっている。キャンプインした事実は、その記憶とともに俺を縛り続けるだろう。1kgの脂肪と引換えに俺が得たものは、贅肉との終わりなき戦いなんだ。

ビリー軍曹は言った「全ては、結果のため」と。

ビリー軍曹は言った「自分の力を信じて」と。

ビリー軍曹は言った「ワンモアセッ」と。

確かに、俺は変わった。ビリーズブートキャンプによって。しかし、毎食俺を苦しめるメタボリックな誘惑と、あの地獄の7日間との折り合いを付けるには、もう少し時間がかかりそうだ。

母さんによろしく伝えてくれ。

2007-08-03

心霊スッポト

観光地はギヴアンドテイク(迷惑とお金関係)が一先ず成り立っているんだけど、多くの心霊スポットって近隣住人にとっては迷惑の一方通行だよね

という話

2007-06-27

http://anond.hatelabo.jp/20070627110844

ウィルコムの通話砲台+安心だフォンはどうだ?

2,900円+819円(1,029ー210=819)=3,719円/月。

請求を別にしても3,929円/月

その代わりどちらかからの一方通行にしないといけない。

なんといっても音が良いし、夜落ち着いて電話するには悪くないと思う。

※ちょっと金額間違えたので修正

2007-06-25

レス希望者でしょうか

自分のサイトメールフォームを設置している。

メールフォームと言ってもこちらから確認しないと読めない類のものであり毎日確認が出来るわけではないので、

「返信は無いものと思ってほしい」と注意書きをしてある。(つまりは、一方通行の連絡用)

ある日、フォームからのメールを確認してみると、短時間に繰り返し繰り返し短文を送って来ていた人がいた。

名前は女性で、メアドプロバイダのものだった。

最初のメールは10代の子が友達に送るようなくだけた文体で、挨拶も無く今思った事をただ一言呟いただけといった内容。

それを1分ごとに送ってきていたが、ある時から突然、フォームの例文の「ここにメッセージを入れてください」をそのまま使った投稿が続いていた。

そして途中から名前が何度も変わっていた。記載されたメアドはずっと同じものだったが。

最初から最後のメールまでは、一時間ほど。

この人は、1分で返事のメールが来ると思っていたのだろうか?

こんな呟き一行メールにどんな返信を期待していたのだろうか?

途中から名前を変えたのにメアドを変えなかったのは何故なのか?

というか、注意書きを全く読んでいないのだろうか?読んでも「そんなわけない、メールなんだからすぐに返事が来るはず」と思ったのだろうか?

疑問は尽きない。

2007-06-18

http://anond.hatelabo.jp/20070618005008

つまり、「ストーカー」という概念語の普及が問題なのではなく、

むしろ「キモい」という概念語の定着のほうがより問題である、と。

納得した!

 

因みにAがBのことをキモいと思うか思わないかは、途中でいくらでもかわるよ。ただ、大抵は「キモくない→キモい」の一方通行、ワンウェイだけどね。

2007-04-26

いつかまた会えますか

あの、新宿手相を見ていたまじめそうな人。

今日行ったらいなかった。一方通行でしたから今度はいつ会えるか。

もう会えないかもしれないと思うとなんか寂しくなった。なんか、ヤダ。

2007-04-13

http://anond.hatelabo.jp/20070413090658

・自分が伝えたいことをきちんと伝えられる

・会話が一方通行にならない

・相手を不快にさせることがない(言葉/仕草/外見など)

2007-03-01

やおい 完全版

まれに三角形や丸なんてのもいるが、ともかく彼は六角形であった。いや、この場合は六角柱と言ったほうが正しい。なぜならもちろん彼は鉛筆だからである。鉛筆がこの世に鉛筆として生を受け、鉛筆としての機能を初めて発揮した日のことは忘れがたき思い出、トラウマ存在意義として彼の脳裏に焼きついていた。ぴかぴかに尖った先端を支えにしながらやわらかめの紙の上でおどると、自分の体の一部が紙にしゃりしゃりと音を立ててこびりつく。その行為は鉛筆に母親の胎内へ還っていくような錯覚をおぼえさせた。強い快感をともなう行為だった。涙と鼻水と汗が同時に出てきた。そのたびに紙やセロテープや定規たちは鉛筆を怪訝な目で見たが、しかし紙に何か書き付けるたびにそういった状態に陥るのは、なにも彼だけの話ではない。鉛筆はみんなそうなのだ。

ともあれ、強烈な快感を全身で感じながら鉛筆は一休みした。目のくらむような満足感に突き動かされ、鉛筆は自分の体の一部がどんな形を残しているのかを確かめようと振り向き、そして見てしまった。

消しゴムであった。

消しゴムが、鉛筆が書き損じた文字をせっせと上下左右に体を小刻みに動かしながら消している。

鉛筆は驚愕し、愕然とし、そして強い怒りに駆られた。消しゴムが今消しているのは、自分の体の一部なのだ。いや一部なんてものではない。自分の体の芯そのものだ。生きた証だ。それを、「間違えたから」という、ただそれだけの理由でやつは消している。許せなかった。そしてそれよりも鉛筆が我慢ならなかったのは、消しゴムがその消すという行為に対してなんら感じるところがないとしか思えない表情でいたことだった。その割に、鉛の粉が紙の凹凸にあわせてくっついているのを見ているその目には、やたらと熱がこもっているようではあったが。

 鉛筆はその後もよだれをたらしながら文字を、あるときは絵を、またあるときはそれ以外のものを書き付けながら、消しゴムが自らの痕跡を跡形もなく消してしまうのを見ていた。

 はじめにあったのは、強い怒りだった。そして何日か後に、おおきな虚無感に襲われた。自分が命を削って残した痕跡をああも簡単に消してしまえるのなら、自分が生きる意味はどこにあるのだろう、と思った。その気になれば、間違えた部分だけでなく、書いたものすべてを消してしまうことだってできる。そのことに気がついてからは、鉛筆は消しゴムのことを神か何かのように思うようになった。そこにあったのはほんの少しの畏怖であった。

鉛筆は消しゴムのことが怖かった。こわい、と思った。自分が死ぬまえに最後に残した文字を、やつは消すだろうか。たとえ間違っていたとしても、消してほしくはなかった。

消しゴムのことを目で追ったり、たまに話しかけてみたりもした。消しゴムはすこし陰気な性格をしていた。鉛筆が本能的なレベルで文字を書くことに快楽見出しているのに対し、消しゴムは文字を消すことを仕事だと考えていた。そのため消しゴムが鉛筆と話すときはきわめて事務的な態度をとった。それを陰険だと嫌うものもいたが、鉛筆にはそういった消しゴムスタンスは好ましいものに感じられた。なぜならみんなみんな鉛筆のように振舞っていたら秩序というものがなくなってしまうからだ。消しゴムのようなやつがいるおかげで世の中は成り立っている。しかし消しゴム仕事が鉛筆の存在意義を揺るがすものであることには変わりなかったので、彼は消しゴムに強い興味を持ちながらも、話しかけるときは常に高圧的な態度をとった。高圧的といっても、子供くささの抜けないそれに消しゴムはいつも少し呆れたような表情をするのだが、鉛筆のいうことにはきちんとこたえてくれた。それは鉛筆にとってうれしいことであると同時にどこか見下されているような気がして悲しくもなる事実だった。態度が事務的だからではない。消しゴムが自分に対し興味がないのを知っていたからだった。

そう、彼は、消しゴムのことが好きだった。

四六時中消しゴムのことを、消しゴムのことだけを考えていた。自分の書いたいろんなものの、どの部分をどのような動きで消したのか、目のくらむような強烈な快感に支配されながらも、それだけはいつも覚えていた。どころか、もくもくと「仕事」を続ける消しゴムの姿は、書いている間の鉛筆の性欲をさらに喚起させた。消しゴムの出すカスに自分の体の芯のかけらが入っていると思うと、そしてそれが消しゴムが体を激しく擦り付けた結果だと思うと、それだけで射精しそうな勢いであった。

それだけつよく消しゴムのことを思いながらも、鉛筆は思いを告げようとはしなかった。消しゴムが自分に興味のないのはわかりきっているからだ。ああ、でも。でも。おれはどうしたらいい。鉛筆は苦悩した。消しゴムのことが好きだった。抱いてほしかった。この気持ちを、体を、どうにかしてくれと全身が叫んでいた。消しゴムにどうにかしてほしい。ほかの誰でもない、あの消しゴムに。自分がゴミ箱に捨てられてしまう前に。

「あんたのことが好きなんだ」

白い紙の上で、鉛筆は消しゴムと向き合っていた。鉛筆はいつもの幼稚なふるまいとは裏腹に、伏目がちにうつむいている。消しゴムの表情は見えない。

告白しよう、と思ったのは、つい数日前のことだった。快感が支配するあの異様な時間から解放された鉛筆は、自分の残りの芯がもういくばくもないことに気がついた。一息ついて、ふと気がついたらそうなっていたのだ。その瞬間の鉛筆の混乱といったら、初めて消しゴムに出会った時に相当するものであった。死ぬ。死んでしまうのか、俺は。死ぬのか。今まで漠然としか考えたことのなかった「死」が、一足飛びで近づいてきた。自分はいつまで書き続けられるのだろう、そんなことばかりが鉛筆の思考を支配した。

消しゴムの返事はない。

たった数分の時間が永遠にも感じられ、鉛筆の体はその間にもどんどん震え始めて汗はとめどなく流れた。まるで滝のように顔面から吹き出る汗を鉛筆は呪った。対人恐怖症のような反応を示している自分を、消しゴムが気持ち悪く思わないか、それだけが心配だった。そう、今や鉛筆にとっての最大の命題は、消しゴムに色よい返事をもらうことではなく、なんとか嫌われずにこの場を切り抜けることへと変わっていた。もとより消しゴムに好意なぞ抱かれてはいないのだ。それは分かっている。

しかしここで「今のは冗談だから忘れてくれ」などと言うこともできない。ずっと思いつめていた気持ちをやっと吐露したのに、それを否定してしまったら今までの俺はどうなる。そんな気持ちだった。

鉛筆がそこで立ち尽くしたままどうしようもできないでいると、目の前の消しゴムの陰がかすかに揺らいだのが目に入った。

「悪いが、おまえの気持ちは迷惑だ」

急に足場を失ったような気がした。

消しゴムはなんと言った? 迷惑? 迷惑だって?

相変わらずうつむいたままの鉛筆の目は、消しゴムの陰がさらに動き、どこかへ行ってしまおうとしている様子をたどった。そこで鉛筆は顔をあげ、消しゴムの腕を掴んだ。

「どうして!」

振り向いた消しゴムの顔は、この上なく億劫そうな表情をしていた。

邪魔なだけだ」

「何がだよ! あんなにやさしくしてくれたのに! 俺が話しかけたら答えてくれたじゃないか! 他に好きなやつがいるのかよ!」

鉛筆の目は今や見開かれ、異常なまでの量の汗が顔から滴り落ち、消しゴムの腕を掴む白い手は小刻みに震えている。彼の頭に、少し呆れながらも丁寧に受け答えてくれた消しゴムとの会話のひとつひとつが順番に浮かんでは消えていった。ぶっきらぼうでいて、かつ親愛の情を欠いた態度に、鉛筆はやさしさを見出していたのだった。それは完全に彼の勘違いであったが、しかし鉛筆の短い――死を目前にした――人生にとってはそれだけが全てであった。鉛筆は、もし断られるとしても、もっと思いやりのある答えが返ってくると、信じて疑わなかったのだ。

完全に理性を失った鉛筆を、消しゴムは汚いものでも見るかのような目で一瞥して、言った。

「おまえはどうしてここに自分が存在できると思っているんだ」

鉛筆は訳がわからないといった風に、未だわめき続けている。

「紙だ」

彼の言葉は最早鉛筆の耳に届いていないのは一目瞭然であったが、消しゴムは自分自身に言い聞かせるかのような声で先を続けた。それは、彼の体もまた擦り減っており、鉛筆同様死を目前にした時点で自分の感情を整理しておきたいと思ったからかもしれなかった。

「紙がいるから俺たちがここにいる。おまえみたいな鉛筆やその同類どもときたら、存在理由なんてものを一度でも考えたことがないんだ。おまえらはただの動物だ。自分の存在意義を作り出した存在に対して、これっぽっちも感謝したことがないんだろう」

そう言う消しゴムの目は熱っぽく、口調は荒い。

「俺は紙のために生きているんだ。おまえらのせいで紙が汚れる。何故書き損じを恥に思わない? その尻拭いをしてるのは誰だ?」

鉛筆の生きがいが消しゴムであったように、消しゴムの生きがいは紙であったのだ。彼の紙に対するそれは、鉛筆が抱いていたような性欲とは違った。もっと神聖なものを神聖な目で見る行為だった。それが消しゴムの全てだった。

消しゴムの告白を聞いた鉛筆がなおも縋ろうとしてくるのを払いのけ、消しゴムは何一つ意に介することなく去って行った。鉛筆にはそれをただ呆然と見送ることしかできなかった。たった数分で踏みにじられてしまった自分の欲望を、愛情を、どうすればいいのか分からなかったのだ。

一人取り残された鉛筆は、空っぽだった。これから捨てられるまでのあいだ、何を生きがいにしてどのように暮らせばいいのか皆目見当がつかない。

「俺は、どうしたら、いいんだ」

彼の体が、ぐらりと傾く。

その空っぽな鉛筆が転がった音が、ただむなしく辺りに響いた。聞いているものは誰もいない。鉛筆は体を横たえたまま、己の人生を何度も何度も反芻し、勘違いに塗り固められた思い出に浸った。幼く未熟な彼には、そうすることでしか己を生きながらえさせるすべが思いつかなかったのだ。

おわり

----

わっふるしてくれた人、ブクマ感想かいてくれた人みんなありがとう

続きは別のところで発表したんだけど、続き読みたいという人が何人かいたみたいなので晒すよ。

うん、こういう一方通行やおいが大好きなんだ。

2006-11-18

乗り遅れたので、ここでコミュニケーション

http://d.hatena.ne.jp/DocSeri/20061117/1163726155

http://zeromemory.sblo.jp/article/1741593.html

上記2サイトとかで、コミュニケーション論論争を行っているけど、

両方ともコミュニケーションもしくは会話の側面の一部しかみてないような気がする。

会話には(思いつく限り)3つの側面がある。

一つは、「情報伝達の手段」。つまり何か伝えたい内容を相手に伝えるということ。

二つ目は、「象徴交換」。会話のメッセージ内容は全く関係なく、ただ単にメッセージというシンボルを「交換」しているだけのもの。

高校生メールやりとりとかこれに当たる。メールを送って、帰ってくることを確認するっていうことで、まだ友達だっていう風に認識する。

会話も全て同じ。あいさつなんてその典型。メッセージ自体には何の意味もない。メッセージを交換することに意味がある。

三つ目は、「相互反映的な創造」。会話をしている時に、思いもよらなかった方向に進んでいって、全く新しいアイデアが思い浮かぶっていうことは良くあると思う。

そういうアドリブやりとりという相互行為によって、生まれるようなコミュニケーションとは、一つめの「情報伝達の手段」とは違う。

一方通行ではなく、相互行為。しかも単なる意思疎通ではない。自分の伝えたいことさえ変わっていくような変化。それが「相互反映的な創造」。

コミュニケーションの楽しさは後ろの2つによって生み出される。

「象徴交換」も「相互反映的な創造」も情報伝達がうまければうまくいくってわけじゃない。

口ベタでも友達が多い人ってはかなりいる。コミュニケーションには、シンボルをたくさん交換して、一方通行ではない相互反映行為をするってことが重要だ。

そういう意味ではコミュニケーション能力が高いとは「情報伝達がうまいこと」でも「空気が読めること」でもない。

就職活動とかで言われるようなビジネスにおけるコミュニケーション能力はこれだけかもしれないけど。)

情報伝達はコミュニケーションの一側面でしかない。

空気を読むっていうことも情報伝達もしくは受容の一部。

それ以前に、コミュニケーションが苦手なオタクの人は、メッセージを交換することに臆している場合が多いんじゃないのかな。

もしくは共通の話題を持っていなくて、メッセージを交換しようにも交換できない場合が多い。

空気を読む努力とか、情報伝達能力を高める努力だとかする前に、

人と同じものに興味を持って、びびらずに色んな人に話しかけることができるようにした方がいいよ。

した方がいいって言われてもできないものなんだけどさ。

ログイン ユーザー登録
ようこそ ゲスト さん