Sunday, November 30, 2008

人間は考えるのが苦手である

バートランド・ラッセルの言葉
「多くの人間は、考えるくらいならむしろ死を選ぶであろう。実際多くの者がそうするのだ」

Monday, November 24, 2008

Printer Ink詰め替え

詰め替えインクを使ってから約2ヶ月で黒がなくなった
ちょっとはやいな
今回の詰め替え作業は15分で完了
カラーはまだあるようなので詰め替えせず

インクの使用量を抑えるために
プリントするときにできるだけ品質を
「きれい」から「はやい(標準)」に切り替えよう
それでも十分な品質だから

Friday, November 21, 2008

GR digital故障・修理。しかし…

京都旅行中にGRdigitalの電源が突然入らなくなったので
それなりの出費を覚悟の上
今日銀座の修理センターに持ち込んだ

受付で今年3月にも修理を受けている旨を告げると
履歴を調べてくれて
「2回修理していますね。ご迷惑をおかけしていますので、今回はこちらの負担で修理します。」
と驚愕の対応
3時間待って引き取りに
修理伝票によれば
メイン基板、電源ユニット、鏡銅ユニットCCD付きのすべてを交換した模様
もうほぼ新品といっていい

帰ってきてさちに部品交換で大変なことになったと伝えると
怖くて伝票を開くこともできないほどびびっていた
で0円とわかって腰が抜けたようになってた
さちを騙すのはやっぱり簡単だ

それにしてもリコーの対応には驚かされる
キヤノンに隠れて目立たないがなかなかの優良企業かもしれない

Sunday, November 16, 2008

作品はその作者との共感システムである

人は一人では生きられない
人は他の人とコミュニケートし
物事に対する共感を得ることで
生きる力を与えられる

人は人とダイレクトにコミュニケートしなくても
人が作ったもの(作品)を介してコミュニケートできる
その作品を好きだという感情には
その作品に対する作者の価値観に対する共感が内在する
つまり作品はその作者との共感システムである

だからある物が好きだという感情は
人が生きていく上で極めて重要であり
それを阻害してはいけない

Friday, November 14, 2008

Synergy

synergy.conf
section: screens
        keyesmac.local:
        gos:
end
section: links
        keyesmac.local:
                left = gos
        gos:
                right = keyesmac.local
end
section: aliases 
       keyesmac.local:
              keyesmac
end

synergy.sh
/usr/bin/synergys --name keyesmac --config .synergy.conf 

Wednesday, November 12, 2008

やはり天才なのか?

Ruby ShoesとdRubyで簡易チャットアプリケーションを作っている
かなりいいところまで言ってるんだけど
もう一歩のところででつまずいていた
でさちの前で
「値渡し…参照渡し…」
ってつぶやいてたら
「ラインだよ」
っていうんでclient_lineのところを見直してたら
配列をDRbObjectで渡すことをひらめいて
問題が解決してしまった

これはなんの力なのか…

Tuesday, November 11, 2008

Monday, November 10, 2008

小室哲哉は今でも楽譜を読めないころからひらめいた

小室事件に関連してYouTubeにアップされていた「オーラの泉」を見たら
小室哲哉自身が自分は今でも楽譜を読めないということを言っていて
びっくりした

それであらためて気がつかされた
素晴らしい作品を作るのに必要なものは知識ではないんだなと
大切なのはみんなをびっくりさせるようなものを作り出すことで
知識を自慢することではない
むしろ知識による制約が邪魔になることもあるのかもしれない

だから知識は作品を作り出す上で必要になったら学べばいい
つまり知識はでこぼこであっていい

なにかみんなをびっくりさせるようなものを考え出す
そのことに注力しなければいけない

小室哲哉逮捕に思うこと

小室哲哉が自身の著作権譲渡に絡む詐欺容疑で逮捕された
メディアはこぞって彼の転落人生を報道している
浪費癖と海外進出失敗による多額の借金が原因であると
しかし自分はどうしてもこの人が悪いことをするような人間に思えない
人をだます詐欺という犯罪と彼に人格とがどうしても結びつかない
彼自身が罪を認めているようなのでそれは事実なんだろう
でもどうしても腑に落ちない
だまされることはあっても
人をだますというにおいが彼からは全くしないのだ
だからこの事件は残念でならない

Friday, November 07, 2008

DRuby + Observer Pattern

drubyとobserverパターンを使ったリモートタイマー
クライアント・サーバー間のオブジェクトの転送をユニバーサル変数を介して実現するアイディア
ユニバーサル変数はダブルアンダースコアをプリフィクスした文字列
ユニバーサル変数への代入時にこれをローカル変数と区別する必要がありselfを前置しなければならない点がダサい

drb_server.rb

   1  require "druby"

   2  

   3  class Tick

   4    include Observable

   5    def start

   6      loop do

   7        now = Time.now

   8        notify_observers(now)

   9        print "Current Time: #{now}\n"

  10        sleep 1

  11      end

  12    end

  13  end

  14  tick = Tick.new

  15  self.__hello = tick

  16  tick.start

  17  

  18  

  19  puts 'Press [return] to exit'

  20  gets


drb_client

   1  require "druby"

   2  

   3  class Timer

   4    def update(now)

   5      print "#{now.sec}\n" if now.sec % 10 == 0

   6    end

   7    def _dump(dummy)

   8      raise TypeError, "can't dump"

   9    end

  10  end

  11  

  12  timer = Timer.new

  13  

  14  tick = __hello

  15  tick.add_observer(timer)

  16  

  17  puts 'Press [return] to exit'

  18  gets


druby.rb

   1  require "drb/drb"

   2  module DRuby

   3    include DRbUndumped

   4    URI = 'druby://localhost:12345'

   5  

   6    def self.universal_variable=(obj)

   7      DRb.start_service(URI, obj)

   8    end

   9  

  10    def self.universal_variable

  11      DRb.start_service

  12      DRbObject.new_with_uri(URI)

  13    end

  14  

  15    class << self

  16      alias :uv= :universal_variable=

  17      alias :uv :universal_variable

  18    end

  19  end

  20  

  21  module Observable

  22    def add_observer(observer)

  23      @observers ||= []

  24      @observers << observer

  25    end

  26  

  27    def notify_observers(*objs)

  28      return nil unless defined? @observers

  29      @observers.each do |obs|

  30        obs.update(*objs)

  31      end

  32    end

  33  

  34  end

  35  

  36  class Object

  37    URI = 'druby://localhost:12345'

  38  

  39    def singleton_klass

  40      class << self; self end

  41    end

  42  

  43    def method_missing(name, *args, &block)

  44      if name[0,2] == "__"

  45        if name[-1] == "=" 

  46          DRb.start_service(URI, args[0])

  47        else

  48          DRb.start_service

  49          DRbObject.new_with_uri(URI)

  50        end

  51      else

  52        super

  53      end

  54    end

  55  end


Wednesday, November 05, 2008

modify aBridge.com

Ruby1.9.1 のリリースに対応してaBridgeも修正

Ruby 1.9.1 candidate released

早々インストール。相変わらずよくわからないので、とりあえず以下で。

./configure --program-prefix=_  --prefix=/usr/local/ --with-readline-dir=/usr/local/

 しかし_ruby -vで確かめるもうまくいかず。
.zshrcのaliasでまた対処。

Tuesday, November 04, 2008

HTMLを書くのにはRDが便利そうだ

rd2 test.rd > test.html

RDで書いたファイルはRDToolで上のように変換すればHTMLができる

  • 見出し:=、==、+
  • リスト:*、(1)
  • pre:インデント
  • インライン:((*強調*))、((<Ruby|URL:http://...>))、((-注記-))、((|i|))
  • 定義::ruby
  • コード:---Enumerable#inject([k]) {|i,j| ... }



dRubyはRubyオブジェクトをユニバーサル変数に入れて宇宙へ運ぶスペースシップだ!

DRbObjectはRubyオブジェクトのユニバーサル変数定義
dRubyはユニバーサル変数を運ぶスペースシップ