Monday, December 29, 2008
本
Tuesday, December 16, 2008
人と違うことをしなければいけない
Tuesday, December 09, 2008
仕事=他の人に価値を与えること
記録するということ
過去の清算
Sunday, December 07, 2008
BIGMAC設置
- 名前を「BIGMAC」に
- keyesmacのiTunes MusicとiPhoto Libraryのデータをすべて移管(coosaのデータはそのまま)
- dellへのバックアップは3つのファイルで取ることに
- keyesmacのデータはbackup_keyesmac.shで
- BIGMACのデータはbackup_bigmac.shで
- coosamacのデータはbackup_coosamac.shで
rsync -avz -e ssh --delete --exclude 'Library/Caches/' --exclude '.Trash' --exclude '/Music/iTunes/back_iTunes Music' --exclude '/Pictures/back_iPhoto Library' /Users/keyes/ 192.168.1.6:/home/keyes/backup/keyesmac/
rsync -avz -e ssh --delete /Volumes/BIGMAC/ 192.168.1.6:/home/keyes/backup/bigmac/
Friday, December 05, 2008
外付けハードディスクの検討
Macハードディスク増設計画
- 新規250をワシのMacに換装
- ワシの120をさちのMacに換装
- 120のデータを新規250にコピー
- DellのさちのBackupデータを120にコピー

健康診断
Thursday, December 04, 2008
FNS歌謡祭
Tuesday, December 02, 2008
バフェットからの手紙
東急ハーヴェストクラブの研究
- 施設は全国に23ヶ所あり、会員権には共有会員制と預託会員制がある。前者は不動産として所有権の一部をもつ権利で、後者は施設を利用するだけの権利
- 共有会員制は、一室を10口または12口で共有するもので、対象施設は、有馬六彩・VIALA箱根翡翠・旧軽井沢アネックス・那須・箱根甲子園・旧軽井沢・蓼科・勝浦・浜名湖・天城高原・静波海岸・鬼怒川・南紀田辺・伊東・斑尾・蓼科アネックス
- 預託会員制は、入会金と預託金を払い利用するもので、預託金は解約時に返金される。施設によってその割合は異なるようだが、例えば裏磐梯グランデコで入会金:126万円、預託金:160万円、蓼科リゾートで入会金:168万円、預託金450万円などとなっている。対象施設は、裏磐梯グランデコ、蓼科リゾート・軽井沢万平・箱根明神平・京都・軽井沢高原・山中湖マウント富士・スキージャム勝山
- 共有会員権は最高値の箱根翡翠1100万から最安値の浜名湖150万と幅がある
- 会員権以外に、10万前後の年会費と利用毎の施設利用料4000円/1日程度が掛かる
- 会員には毎年36枚(または30枚)の施設利用券が配布されるが、その6割(21または18枚)はホームグランド用、4割(15または12枚)は相互利用券
- ホーム券は相互利用券に対してホーム予約上有利になっており、それは相互利用券が、繁忙期である特定期間での抽選に参加できない、という点のみ
- 一方、ホーム券は相互利用券に振替えることもできるようで(ハーヴェストクラブのHP以外からの情報)、その場合の制限は、祝祭日前日に利用できないという点。つまり平日であればすべての券を他施設利用のために使うこともできる
- 利用券は知り合いに譲ることもできるようだが、売買できるかは不明。ただネットオークションでは現実に売買されている。7000円前後の値がついている。
- 最安値の浜名湖を150万円で購入。年会費は9万円。利用券は36枚
- ホーム券21枚を振替えて他館を利用。二人で一泊3780×2=7560円
- 相互利用の15枚をオークションで売却。1枚8000円として120,000円の収入
- 年間収支120,000-90,000=+30,000円
Ruby Fiber
1 #!/usr/local/bin/ruby
2 # encoding: utf-8
3 words = Fiber.new do
4 File.foreach("testfile") do |line|
5 line.scan(/\w+/) do |word|
6 Fiber.yield word.downcase
7 end
8 end
9 end
10 counts = Hash.new(0)
11 while word = words.resume
12 counts[word] += 1
13 end
14 counts.sort { |a,b| b[1] <=> a[1] }.each { |w| print "#{w[1]}:#{w[0]} " }
Sunday, November 30, 2008
Monday, November 24, 2008
Printer Ink詰め替え
Friday, November 21, 2008
GR digital故障・修理。しかし…
Sunday, November 16, 2008
作品はその作者との共感システムである
Friday, November 14, 2008
Synergy
section: screens
keyesmac.local:
gos:
end
section: links
keyesmac.local:
left = gos
gos:
right = keyesmac.local
end
section: aliases
keyesmac.local:
keyesmac
end
/usr/bin/synergys --name keyesmac --config .synergy.conf
Wednesday, November 12, 2008
やはり天才なのか?
Tuesday, November 11, 2008
Monday, November 10, 2008
小室哲哉は今でも楽譜を読めないころからひらめいた
小室哲哉逮捕に思うこと
Friday, November 07, 2008
DRuby + Observer Pattern
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
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
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
Thursday, November 06, 2008
Wednesday, November 05, 2008
Ruby 1.9.1 candidate released
./configure --program-prefix=_ --prefix=/usr/local/ --with-readline-dir=/usr/local/
Tuesday, November 04, 2008
HTMLを書くのにはRDが便利そうだ
rd2 test.rd > test.html
- 見出し:=、==、+
- リスト:*、(1)
- pre:インデント
- インライン:((*強調*))、((<Ruby|URL:http://...>))、((-注記-))、((|i|))
- 定義::ruby
- コード:---Enumerable#inject([k]) {|i,j| ... }
Friday, October 31, 2008
Wednesday, October 29, 2008
Ruby observerパターン
1 module Observable
2 def add_observer(observer)
3 @observers ||= []
4 @observers << observer
5 end
6
7 def notify_observers(*objs)
8 @observers.each do |obs|
9 obs.update(*objs)
10 end
11 end
12 end
13
14 class Tick
15 include Observable
16 def start
17 loop do
18 now = Time.now
19 notify_observers(now.hour, now.min, now.sec)
20 sleep 0.9
21 end
22 end
23 end
24
25 class Clock
26 def update(h, m, s)
27 printf "\e[8D%02d:%02d:%02d", h, m, s
28 STDOUT.flush
29 end
30 end
31 tick = Tick.new
32 tick.add_observer(Clock.new)
33 tick.start
Tuesday, October 28, 2008
Monday, October 27, 2008
Ruby Observer PartI
1 #!/usr/local/bin/ruby
2 # encoding: utf-8
3 class Ticker
4 def start
5 loop do
6 price = StockPrice.price
7 print_price(price)
8 print warn_price(price)
9 sleep 1
10 end
11 end
12 def print_price(price)
13 printf "%.02f\n", price
14 end
15 def warn_price(price)
16 if price > 140
17 "High\n"
18 elsif price < 60
19 "Low\n"
20 end
21 end
22 end
23 class StockPrice
24 def self.price
25 (rand * 100) + 50
26 end
27 end
28 ticker = Ticker.new
29 ticker.start
Saturday, October 25, 2008
Friday, October 24, 2008
Ruby Distributed Ruby
Ruby method再定義
class Example
alias_method old_reverse reverse
def reverse
result = old_reverse
....
end
end
class Example
old_reverse_method = instance_method :reverse
define_method :reverse do
result = old_reverse_method.bind(self).call
.....
result
end
end
Tuesday, October 21, 2008
Sunday, October 19, 2008
Ruby Hook Method list
[Method-related hooks]
method_missing, method_added, singleton_method_added, method_removed, single-ton_method_removed, method_undefined, singleton_method_undefined
[Class and module-related hooks]
inherited, append_features, included, extend_object, extended, initialize_copy, const_missing
[Object marshaling hooks]
marshal_dump, marshal_load
[Coercion hooks]
coerce, induced_from, to_xxx
Wednesday, October 15, 2008
Amazon VS Yahoo! Auction
- 月会費294円
- 落札価格の5.25%(税込)
- 月10回以上の出品で10.50円×個数
- 配送料が落札者持ちなら0円
- 成約料100円
- 販売価格の15%(エレクトロニクスは10%)
- 実際の配送料とアマゾンからの支給額の差額(下表参照)
- ヤフオク:1,081.5円(294+787.5)=>利益:13,918.5円
- アマゾン:2,950円(100+2250-140+送料740)=>利益:12,050円
- 差額:1,868.5円
- ヤフオク:399円(294+105)=>利益:1,601円
- アマゾン:670円(100+300-80+送料350)=>利益:1,330円
- 差額:271円
配送料の欄に 表示される金額 | 配送料から差し引かれる金額 | 出品者が受け取る実際の配送料 | |
本 | ¥340 | ¥80 | ¥260 |
CD&レコード | ¥340 | ¥140 | ¥200 |
ビデオ | ¥380 | ¥30 | ¥350 |
DVD | ¥340 | ¥140 | ¥200 |
ソフトウェア | ¥340 | ¥140 | ¥200 |
ゲーム | ¥340 | ¥140 | ¥200 |
エレクトロニクス | ¥450+¥50/kg | ¥90+¥10/kg | ¥360+¥40/kg |
ホーム & キッチン | ¥450+¥50/kg | ¥90+¥10/kg | ¥360+¥40/kg |
おもちゃ & ホビー | ¥500 | ¥100 | ¥400 |
スポーツ | ¥500 | ¥100 | ¥400 |
ヘルス & ビューティー | ¥500 | ¥100 | ¥400 |
Tuesday, October 14, 2008
株式市場に嵐が吹き荒れている

Ruby metaprogramming - create Class Methods
1 #!/usr/bin/env ruby
2 # encoding: utf-8
3 class Creature
4 def self.atta(arg)
5 metaclass = class << self
6 self
7 end
8 metaclass.class_eval do
9 define_method(arg) do |val|
10 eval("@#{arg}=#{val}")
11 end
12 end
13 end
14 atta :life
15 end
16
17 class Dragon < Creature
18 life 100 # => 100
19 @life # => 100
20 end
21 Dragon.singleton_methods # => ["life", "atta"]
22