トップ 最新 追記

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|

2009-05-01 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

判を押すだけの簡単なお仕事です。

_ kennak さんに会ったときにプログラミングの心理学を持参するのを忘れていた

も、もう一度チャンスを...!

_ NetBSD 5.0 リリース

Announcing NetBSD 5.0

Removed support for 80386 level CPUs.

80386 なんてどこで使ってるんだろ。

_ 物事を抽象的にとらえる

「アレしといて」

_ キーボードのテンキーが邪魔

それ

_ FriendFeed からたくさん subscribe メールが来たので何が起きたのかと思ったら

friendfeed - HsbtDiary(2009-04-30)

Twitter の follower リストからインポートできるようになったから?

あー。そういう

Twitter アカウントつながりを検索してみた。

169 人か。

_

20090501_0.jpg

ホイコーロー 肉なし

_ おやつ

20090501_1.jpg

月餅

_ リッジレーサー7

  • 走行距離 17426.679 km
  • RSGP 進行度 100.0 %
  • 名声 18392 FP

_ けいおん! #5 を見た

「むぎ、さわ子先生のこと、好きなのか?」

「えっ」

「えっ」

「ばか!」

「えっ」

「えっ」

「ああ、いえ。ただ、女の子どうしっていいなあ、って」

「なあんだ、よかった」

「いいのかよ」

「本人たちが良ければ良いんじゃないでしょうか」

「えっ」

「えっ」

思い出してフイタ 店員「当店のポイントカードはお餅でしょうか」:ぁゃιぃ(*゚ー゚)NEWS 2nd

_ ゲーム音楽の管弦楽団 リトルジャックオーケストラ

( via ゲーム音楽を聴こう )

パイプオルガンを使用できる会場を探していて、見つかったのがみなとみらい大ホールとなったわけですが、ココは「消防法の規定による危険防止と定員厳守のため」自由席の使用が出来ないのです。

こぴぺというか

曲目・演目:植松伸夫作曲 FINAL FANTASY6

  • 予兆
  • 戦闘
  • 勝利のファンファーレ
  • 魔導士ケフカ
  • 迷いの森
  • 街角の子供たち
  • 幻獣を守れ!
  • 決戦
  • ティナのテーマ
  • 婚礼のワルツ~決闘
  • 大団円
  • レストインピース
  • 仲間を求めて
  • 墓碑名
  • 妖星乱舞
  • 蘇る緑
  • プレリュード

これは...!

「レストインピース」以降の流れなんてサントラ disc3 じゃないか...! ( いくつか抜けてるけど )

しかもパイプオルガン...だと...?

「妖星乱舞」か!パイプオルガンで「妖星乱舞」を演奏するんだな!

むしろ「幻獣を守れ!」なんてよく演奏できるな。期待し

つまりこの曲 → YouTube - FF6 LLG Narshe Battles


2009-05-02 :-)

_ 朝ッ

1130 起床

_ おやつ

20090502_0.jpg

大福

_ おやつ

20090502_1.jpg

いも

_ おひる

カルボナーラぽいもの

_ リッジレーサー7

ダイナミック練習

  • 走行距離 17630.490 km
  • RSGP 進行度 100.0 %
  • 名声 18404 FP

2009-05-03 :-)

_ 朝ッ

0700 起床

_ おやつ

20090503_0.jpg

いもとコーヒー

_ いまさらながら「いっしょにとれーにんぐ」を開封した

手元の計算機で見ようとしたら「エンコーダが足りなかったりします><」と言われたので PS3 を使った。

腕立てx12、腹筋x12、スクワットx12 という単位で ひなこが乳を揺らしながら筋トレする様子を見て楽しもう、というもの。まともに筋トレやるならこの作品では不足なんだが、この作品に食らいつくような人種(オレだ)ならばアニメダイエットが適しているだろう。

アニメダイエットとは、アニメを見てる時間を利用してダイエットしよう、というもの。上記サイトでは踏台昇降を実施している。オレは踏台昇降してないけどアニメを見ながらいつも筋トレしてる。むしろ筋トレをするためにアニメを見る。手段のためには目的を選ばない。

「いっしょにとれーにんぐ」のキャプチャ画像などは megu^2 のところが詳しい

さて、全く未発表の声優ですが本編クレジットでも触れられていません。ただ、どう聞いても門脇舞以(Fateのイリアとかの声)さんです。

だそうだ。

音楽は @lisa_rec が担当とのこと。

いっしょにとれーにんぐ [DVD]

_ 題名のない音楽会を見ている

20090503_1.jpg

マーティフリードマンが居る

_ リッジレーサー7

オンラインバトルはスタンダードタイプとマイルドタイプを適当にローテーションさせている。JUJAK の集団に負けて悔しかったのでオフラインで JUJAK を練習した。サイレントドリフトに近いドリフト( というか角度をあまり大きくしないドリフト )をすると驚異的なアルティメットチャージ量になるんだな。いやしかしほんとに半端無いチャージ量だ。

  • 走行距離 17999.148 km
  • RSGP 進行度 100.0 %
  • 名声 18413 FP

_ おひる

ジェノヴェーゼぽいもの。

_

牛丼( ref. きょうの料理 2007-09 p.85 )

Tags: 牛丼

_ おやつ

ベイクドチーズケーキ( ref. 12cmの丸型ひとつでできる 小さくてかわいいケーキ pp.18-19 )


2009-05-04 :-)

_ 朝ッ

0730 起床

_ 図書館へ寄贈した

20090504_0.jpg

重かった

_ ちょっと休憩

20090504_1.jpg

近所の喫茶店。わからないMPEG

_ Head First デザインパターンを写経する - 1章 Strategy パターン

サンプルコードをそのまま Ruby で書いたつもり。Java でいう interface は Ruby に存在するの?

#!/usr/bin/ruby -Ks

class Duck
  @@quackBehavior = nil
  @@flyBehavior = nil

  def initialize
  end

  def performFly
    @@flyBehavior.fly
  end

  def performQuack
    @@quackBehavior.quack
  end

  def swim
    puts "すべての鴨は浮かびます。おとりの鴨でも!"
  end
end

class FlyBehavior
  def fly
  end
end

class FlyWithWings < FlyBehavior
  def fly
    puts "飛んでいます!"
  end
end

class FlyNoWay < FlyBehavior
  def fly
    puts "飛べません!"
  end
end

class QuackBehavior
  def quack
  end
end

class Quack < QuackBehavior
  def quack
    puts "ガーガー"
  end
end

class MuteQuack < QuackBehavior
  def quack
    puts "<沈黙>>"
  end
end

class Squack < QuackBehavior
  def quack
    puts "キューキュー"
  end
end

class MallardDuck < Duck
  def initialize
    @@quackBehavior = Quack.new
    @@flyBehavior = FlyWithWings.new
  end

  def display
    puts "本物のマガモです"
  end
end

def main
  mallard = MallardDuck.new
  mallard.performQuack
  mallard.performFly
end

main
% ./duck.rb
ガーガー
飛んでいます!

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本(Eric Freeman/Elisabeth Freeman/Kathy Sierra/Bert Bates/佐藤 直生(監訳)/木下 哲也/有限会社 福龍興業)

_ おやつ

20090504_2.jpg

グーテデロワのラスク

_ 携帯百景はじめました

lynmock パパがやってたのでなんとなく登録した

miwarin(miwarin)の携帯百景

みんな「Web サイト」に Twitter の URI を書いていたので模倣した。モーホー

_ Head First デザインパターンを写経する - 2章 Observer パターン

Mix-in を使うといいのかしら。Observer に関しては lib/ruby/1.8/observer.rb が Ruby での Observer 実装のようだ。

#!/usr/bin/ruby -Ks

module Subject
  def registerObserver( observer )
  end

  def removeObserver( observer )
  end

  def notifyObservers
  end
end

module Observer
  def update( temp, humidity, pressure )
  end
end

module DisplayElement
  def display
  end
end

class WeatherData
  include Subject

  @temprature
  @humidity
  @pressure

  def initialize
    @observers = []
  end

  def registerObserver( observer )
    @observers << observer
  end

  def removeObserver( observer )
    @observers.delete( observer )
  end

  def notifyObservers
    @observers.each {|o|
      o.update( @temprature, @humidity, @pressure )
    }
  end

  def measurementsChanged
    notifyObservers
  end

  def setMeasurements( temprature, humidity, pressure )
    @temprature = temprature
    @humidity = humidity
    @pressure = pressure
    measurementsChanged
  end
end

class CurrentConditionDisplay
  include Observer
  include DisplayElement


  def initialize( weatherData )
    @weatherdata = weatherData
    @weatherdata.registerObserver( self )
  end

  def update( tempreture, humidity, pressure )
    @tempreture = tempreture
    @humidity = humidity
    display
  end

  def display
    puts "現在の気象状況: 温度#{@tempreture}度 湿度#{@humidity}%"
  end
end

def main
  weatherdata = WeatherData.new
  currentDisplay = CurrentConditionDisplay.new( weatherdata )
  weatherdata.setMeasurements( 27, 65, 30.4 )
  weatherdata.setMeasurements( 28, 70, 29.2 )
  weatherdata.setMeasurements( 26, 90, 29.2 )
end

main
% ./weather.rb
現在の気象状況: 温度27度 湿度65%
現在の気象状況: 温度28度 湿度70%
現在の気象状況: 温度26度 湿度90%

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本(Eric Freeman/Elisabeth Freeman/Kathy Sierra/Bert Bates/佐藤 直生(監訳)/木下 哲也/有限会社 福龍興業)

_ リッジレーサー7

JUJAK 練習。ニトロがさっぱり使えないと泣きたくなる。

  • 走行距離 18283.698 km
  • RSGP 進行度 100.0 %
  • 名声 18426 FP

_ おひる

きのこのバター醤油スパゲティ

_

ソフトフランスパン(ref. きょうの料理 2005-03 pp.116-119、きょうの料理 2009-05 pp.12-19 )

_ おやつ

ベイクドチーズケーキ。昨日の残り。

_ わかるMPEG -デジタル・ビデオの「仕組み」と「活用法」

動画編集するためにどのエンコーダーが必要なのだよ、といった説明。最後の動画編集の説明がありがたい。

わかるMPEG―デジタル・ビデオの「仕組み」と「活用法」 (I・O BOOKS)(眉村 雅人)


2009-05-05 :-)

_ 朝ッ

0600 起床

_ チャリった

朝はすいておる

_ おやつ

20090505_0.jpg

ロールケーキ

_ M3 行ってきた

都合により開場直後に行って霜月はるか( Maple Leaf )に挨拶しようとしていたんだが人が多すぎてサークルブースに近寄れないし流された。むしろこの様子ではチンタラと会話してる場合じゃなさそうだ。今度は午後に行くとしよう。ミッションインコンプリート

2 枚だけ購入

img_0325.jpg

Tags: M3

_ 一純悠人ライブ

@恵比寿LIVEGATE

okaji とコントやってる前田さんが面白かった。

_ Head First デザインパターンを写経する - 3章 Decorator パターン

Mix-in の使いどころがいまいち理解できてない。

#!/usr/bin/ruby -Ks

class Beverage
  @description = "不明な飲み物"

  def getDescription
    @description;
  end

  def cost
  end
end

class CondimentDecorator < Beverage
  def getDescription
  end
end

class Espresso < Beverage
  def initialize
    @description = "エスプレッソ"
  end

  def cost
    1.99
  end
end

class HouseBlend < Beverage
  def initialize
    @description = "ハウスブレンド"
  end

  def cost
    0.89
  end
end

class DarkRoast < Beverage
  def initialize
    @description = "ダークロースト"
  end

  def cost
    0.99
  end
end

class Decaf < Beverage
  def initialize
    @description = "カフェイン抜き"
  end

  def cost
    1.05
  end
end

class Mocha < CondimentDecorator
  @beverage

  def initialize( b )
    @beverage = b
  end

  def getDescription
    @beverage.getDescription + "、モカ"
  end

  def cost
    0.20 + @beverage.cost
  end
end

class Whip < CondimentDecorator
  @beverage

  def initialize( b )
    @beverage = b
  end

  def getDescription
    @beverage.getDescription + "、ホイップ"
  end

  def cost
    0.10 + @beverage.cost
  end
end

class Soy < CondimentDecorator
  @beverage

  def initialize( b )
    @beverage = b
  end

  def getDescription
    @beverage.getDescription + "、豆乳"
  end

  def cost
    0.15 + @beverage.cost
  end
end


def main
  beverage = Espresso.new
  puts "#{beverage.getDescription} $#{beverage.cost}"

  beverage2 = DarkRoast.new
  beverage2 = Mocha.new( beverage2 )
  beverage2 = Mocha.new( beverage2 )
  beverage2 = Whip.new( beverage2 )
  puts "#{beverage2.getDescription} $#{beverage2.cost}"

  beverage3 = HouseBlend.new
  beverage3 = Soy.new( beverage3 )
  beverage3 = Mocha.new( beverage3 )
  beverage3 = Whip.new( beverage3 )
  puts "#{beverage3.getDescription} $#{beverage3.cost}"
end

main
% ./beverage.rb
エスプレッソ $1.99
ダークロースト、モカ、モカ、ホイップ $1.49
ハウスブレンド、豆乳、モカ、ホイップ $1.34

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本(Eric Freeman/Elisabeth Freeman/Kathy Sierra/Bert Bates/佐藤 直生(監訳)/木下 哲也/有限会社 福龍興業)


2009-05-06 :-)

_ 朝ッ

0730 起床

_ おやつ

20090506_0.jpg

柏餅

_ Head First デザインパターンを写経する - 4章 Factory パターン

#!/usr/bin/ruby -Ks

class PizzaStore
  def orderPizza( type )
    @pizza
    @pizza = createPizza( type )
    @pizza.prepare
    @pizza.bake
    @pizza.cut
    @pizza.box
    @pizza
  end

  def createPizza( type )
  end
end

class NYPizzaStore < PizzaStore
  def createPizza( item )
    case item
    when "チーズ"
      NYStyleCheesePizza.new
##    when "野菜"
##      NYStyleVeggiePizza.new
##    when "クラム"
##      NYStyleClamPizza.new
##    when "ペパロニ"
##      NYStylePepperoniPizza.new
    else
      nil
    end
  end
end

class ChicagoPizzaStore < PizzaStore
  def createPizza( item )
    case item
    when "チーズ"
      ChicagoStyleCheesePizza.new
##    when "野菜"
##      ChicagoStyleVeggiePizza.new
##    when "クラム"Head First デザインパターンを写経する - 3章 Decorator パターン
##      ChicagoStyleClamPizza.new
##    when "ペパロニ"
##      ChicagoStylePepperoniPizza.new
    else
      nil
    end
  end
end

class CaliforniaPizzaStore < PizzaStore
  def createPizza( item )
    case item
    when "チーズ"
      CaliforniaStyleCheesePizza.new
    when "野菜"
      CaliforniaStyleVeggiePizza.new
    when "クラム"
      CaliforniaStyleClamPizza.new
    when "ペパロニ"
      CaliforniaStylePepperoniPizza.new
    else
      nil
    end
  end
end

class Pizza
  @name
  @dough
  @sauce
  @toppings

  def prepare
    puts "#{@name}を下処理"
    puts "生地をこねる..."
    puts "ソースを追加..."
    puts "トッピングを追加:"
    @toppings.each {|t|
      puts " #{t}"
    }
  end

  def bake
    puts "350度で25分間焼く"
  end

  def cut
    puts "ピザを扇形に切り分ける"
  end

  def box
    puts "PizzaStore の正式な箱にピザを入れる"
  end

  def getName
    @name
  end
end

class NYStyleCheesePizza < Pizza
  def initialize
    @name = "ニューヨークスタイルのソース&チーズピザ"
    @dough = "薄いクラスト生地"
    @sauce = "マリナラソース"
    @toppings = []
    @toppings << "粉レッジャーノチーズ"
  end
end

class ChicagoStyleCheesePizza < Pizza
  def initialize
    @name = "シカゴスタイルのディープディッシュチーズピザ"
    @dough = "極厚クラスト生地"
    @sauce = "プラムトマトソース"
    @toppings = []
    @toppings << "刻んだモッツァレラチーズ"
  end

  def cut
    puts "ピザを四角形に切り分ける"
  end
end

def main
  nyStore = NYPizzaStore.new
  chicagoStore = ChicagoPizzaStore.new
  pizza = nyStore.orderPizza( "チーズ" )
  puts "イーサンの注文は#{pizza.getName}"
  pizza = chicagoStore.orderPizza( "チーズ" )
  puts "ジョエルの注文は#{pizza.getName}"
end

main
% ./factory.rb
ニューヨークスタイルのソース&チーズピザを下処理
生地をこねる...
ソースを追加...
トッピングを追加:
 粉レッジャーノチーズ
350度で25分間焼く
ピザを扇形に切り分ける
PizzaStore の正式な箱にピザを入れる
イーサンの注文はニューヨークスタイルのソース&チーズピザ
シカゴスタイルのディープディッシュチーズピザを下処理
生地をこねる...
ソースを追加...
トッピングを追加:
 刻んだモッツァレラチーズ
350度で25分間焼く
ピザを四角形に切り分ける
PizzaStore の正式な箱にピザを入れる
ジョエルの注文はシカゴスタイルのディープディッシュチーズピザ

_ Head First デザインパターンを写経する - 4章 Abstract Factory パターン

素材クラスは途中で挫折したので全部は書いてない。

#!/usr/bin/ruby -Ks

module Veggies
  def to_s
  end
end

class Garlic
  include Veggies
  def to_s
    "Garlic"
  end
end

module Dough
  def to_s
  end
end

class ThinCrustDough
  include Dough
  def to_s
    "ThinCrustDough"
  end
end

class ThickCrustDough
  include Dough
  def to_s
    "ThickCrustDough"
  end
end

module PizzaIngredientFactory
  def createDough
  end
  def createSauce
  end
  def createCheese
  end
  def createVeggies
  end
  def createPapperoni
  end
  def createClam
  end
end

class NYPizzaIngredientFactory
  include PizzaIngredientFactory

  def createDough
    ThinCrustDough.new
  end
  def createSauce
#    MarinaraSauce.new
  end
  def createCheese
#    ReggianoCheese.new
  end
  def createVeggies
#    veggies = [ Garlic.new, Onion.new, Mushroom.new, RedPepper.new ]
  end
  def createPapperoni
#    SlicedPepperoni.new
  end
  def createClam
#    FreshClams.new
  end
end

class ChicagoPizzaIngredientFactory
  include PizzaIngredientFactory

  def createDough
    ThickCrustDough.new
  end
  def createSauce
#    PlumTomatoSauce.new
  end
  def createCheese
#    MozzarellaCheese.new
  end
  def createVeggies
#    veggies = [ BlackOlives.new, Spinach.new, Eggplant.new ]
  end
  def createPapperoni
#    SlicedPepperoni.new
  end
  def createClam
#    FrozenClams.new
  end
end


class PizzaStore
  def orderPizza( type )
    @pizza = createPizza( type )
    @pizza.prepare
    @pizza.bake
    @pizza.cut
    @pizza.box
    @pizza
  end

  def createPizza( type )
  end
end

class NYPizzaStore < PizzaStore
  def createPizza( item )
    pizza = nil
    ingredientFactory = NYPizzaIngredientFactory.new

    case item
    when "チーズ"
      pizza = CheesePizza.new( ingredientFactory )
      pizza.setName( "ニューヨークスタイルチーズピザ" )
##    when "野菜"
##      pizza = VeggiePizza( ingredientFactory )
##      pizza.setName( "ニューヨークスタイル野菜ピザ"
##    when "クラム"
##      pizza = ClamPizza( ingredientFactory )
##      pizza.setName( "ニューヨークスタイルクラムピザ"
##    when "ペパロニ"
##      pizza = PepperoniePizza( ingredientFactory )
##      pizza.setName( "ニューヨークスタイルペパロニピザ"
    else
      pizza = nil
    end

    pizza

  end
end

class ChicagoPizzaStore < PizzaStore
  def createPizza( item )
    pizza = nil
    ingredientFactory = ChicagoPizzaIngredientFactory.new

    case item
    when "チーズ"
      pizza = CheesePizza.new( ingredientFactory )
      pizza.setName( "ニューヨークスタイルチーズピザ" )
##    when "野菜"
##      pizza = VeggiePizza( ingredientFactory )
##      pizza.setName( "ニューヨークスタイル野菜ピザ"
##    when "クラム"
##      pizza = ClamPizza( ingredientFactory )
##      pizza.setName( "ニューヨークスタイルクラムピザ"
##    when "ペパロニ"
##      pizza = PepperoniePizza( ingredientFactory )
##      pizza.setName( "ニューヨークスタイルペパロニピザ"
    else
      pizza = nil
    end

    pizza

  end
end

class Pizza
  @name
  @dough
  @sauce
  @toppings = []
  @veggies = []
  @cheese
  @pepperoni
  @clam

  def prepare
  end

  def bake
    puts "350度で25分間焼く"
  end

  def cut
    puts "ピザを扇形に切り分ける"
  end

  def box
    puts "PizzaStore の正式な箱にピザを入れる"
  end

  def setName( name )
    @name = name
  end

  def getName
    @name
  end
end

class CheesePizza < Pizza
  @ingredientFactory

  def initialize( ingredientFactory )
    @ingredientFactory = ingredientFactory
  end

  def prepare
    puts "#{@name}を下処理"
    @dough = @ingredientFactory.createDough
    @sauce = @ingredientFactory.createSauce
    @cheese = @ingredientFactory.createCheese
  end
end

class ClamPizza < Pizza
  @ingredientFactory

  def initialize( ingredientFactory )
    @ingredientFactory = ingredientFactory
  end

  def prepare
    puts "#{@name}を下処理"
    @dough = @ingredientFactory.createDough
    @sauce = @ingredientFactory.createSauce
    @cheese = @ingredientFactory.createCheese
    @clam = @ingredientFactory.createClam
  end
end

def main
  nyStore = NYPizzaStore.new
  chicagoStore = ChicagoPizzaStore.new
  pizza = nyStore.orderPizza( "チーズ" )
  puts "イーサンの注文は#{pizza.getName}"
  pizza = chicagoStore.orderPizza( "チーズ" )
  puts "ジョエルの注文は#{pizza.getName}"
end

main
% ./abstractfactory.rb
ニューヨークスタイルチーズピザを下処理
350度で25分間焼く
ピザを扇形に切り分ける
PizzaStore の正式な箱にピザを入れる
イーサンの注文はニューヨークスタイルチーズピザ
ニューヨークスタイルチーズピザを下処理
350度で25分間焼く
ピザを扇形に切り分ける
PizzaStore の正式な箱にピザを入れる
ジョエルの注文はニューヨークスタイルチーズピザ

_ おひる

ジェノヴェーゼぽいもの

_

ゴーヤちゃんぷるー


2009-05-07 :-)

_ 朝ッ

0800 起床

_ 仕事

休み

_ 俺の妹がこんなに可愛いわけがない(3)

彼氏?

あたり前にいる

てか

いないわけないじゃん

みたいな

ガッシボッカ

アタシは死んだ

スイーツ(笑)

という話。

電撃文庫が電撃文庫をネタにする、というところは注目できる( 週刊少年ジャンプをネタにしている「バクマン。」と同じようなもん )。相変わらず Pixiv や Twitter や Skype といったキーワードが出てきて最近の中学生は発達していますね。あと沙織を follow したいんですが。

次が最終巻か?

俺の妹がこんなに可愛いわけがない〈3〉 (電撃文庫)(伏見 つかさ/かんざき ひろ)

_ Head First デザインパターンを写経する - 5章 Singleton パターン

むしろ lib/ruby/1.8/singleton.rb といったものが用意されてるので素直に require 'singleton' して使ったほうがいい。singleton.rb なら同期にも対応している。

#!/usr/bin/ruby -Ks

class Singleton
  @@singleton = nil

  private_class_method :new
  def Singleton.getInstance
    @@singleton = new if @@singleton == nil
    return @@singleton
  end
end

def main
  obj1 = Singleton.getInstance
  obj2 = Singleton.getInstance
  puts "同じ" if obj1 == obj2
end

main
% ./singleton1.rb
同じ

_ Head First デザインパターンを写経する - 6章 Command パターン

#!/usr/bin/ruby -Ks

class Light
  def on
    puts "親方さま!照明を点灯させます!"
  end

  def off
    puts "親方さま!照明を消灯させます!アッー"
  end
end

module Command
  def execute
  end
end

class LightOnCommand
  include Command

  def initialize( light )
    @light = light
  end

  def execute
    @light.on
  end
end

class SimpleRemoteControl
  def initialize
  end

  def setCommand( command )
    @slot = command
  end

  def buttonWasPressed
    @slot.execute
  end
end

def main
  remote = SimpleRemoteControl.new
  light = Light.new
  lightOn = LightOnCommand.new( light )
  remote.setCommand( lightOn )
  remote.buttonWasPressed
end

main
% ./command1.rb
親方さま!照明を点灯させます!

安直に実装してこんな感じにもなる

#!/usr/bin/ruby -Ks

module Command
  def execute
  end
end

class Command1
  include Command

  def execute
    puts "ねんがんの アイスソードをてにいれたぞ!"
  end
end

class Command2
  include Command

  def execute
    puts "殺してでも うばいとる"
  end
end

class Command3
  include Command

  def execute
    puts "な なにをする きさまらー!"
  end
end

class IceSword
  def initialize
    @slot = []
  end

  def add( command )
    @slot << command
  end

  def run
    @slot.each { |cmd| cmd.execute }
  end
end

def main
  ice = IceSword.new
  cmd1 = Command1.new
  cmd2 = Command2.new
  cmd3 = Command3.new
  ice.add( cmd1 )
  ice.add( cmd2 )
  ice.add( cmd3 )
  ice.run
end

main
% ./command2.rb
ねんがんの アイスソードをてにいれたぞ!
殺してでも うばいとる
な なにをする きさまらー!

_ やってきたよ、ドルイドさん! (2)

テンポいいなあ。闇鍋のマップ兵器 MAX コーヒーに笑ってしまった。百合の成分が高まっている。

やってきたよ、ドルイドさん! 2 (MF文庫J し 4-2)(志瑞 祐/絶叫)

_ リッジレーサー7

JUJAK 練習。JUJAK に ROLLING THUNDER+3 を履かせてみたんだがさっぱり操作できん。こんなのよく操作できるなあ。BOSCONIAN+3 ならだいぶマシになるんだが。

  • 走行距離 18658.962 km
  • RSGP 進行度 100.0 %
  • 名声 18443 FP

_ PlayStation@Network からサインアウトされることが頻発する

ううむ。

_ おひる

ナポリタン

_

ほたてのピラフ


2009-05-08 :-)

_ 朝ッ

0700 起床

首が痛い

_ 仕事

休み

_ ちょっと休憩

20090508_0.jpg

レアチーズケーキ

_ Head First デザインパターンを写経する - 7章 Adapter パターン

#!/usr/bin/ruby -Ks

module Duck
  def quack
  end

  def fly
  end
end

class MallardDuck
  include Duck

  def quack
    puts "ガーガー"
  end

  def fly
    puts "飛んでいます"
  end
end

module Turkey
  def gobble
  end

  def fly
  end
end

class WildTurkey
  include Turkey

  def gobble
    puts "ゴロゴロ"
  end

  def fly
    puts "短い距離を飛んでいます"
  end
end

class TurkeyAdapter
  include Duck

  def initialize( turkey )
    @turkey = turkey
  end

  def quack
    @turkey.gobble
  end

  def fly
    5.times do
      @turkey.fly
    end
  end
end

def main
  duck = MallardDuck.new
  turkey = WildTurkey.new
  turkeyAdapter = TurkeyAdapter.new( turkey )

  puts "Turky の出力..."
  turkey.gobble
  turkey.fly

  puts "\nDuck の出力..."
  testDuck( duck )

  puts "\nTurkeyAdapter の出力..."
  testDuck( turkeyAdapter )
end

def testDuck( duck )
  duck.quack
  duck.fly
end

main
% ./duck.rb
Turky の出力...
ゴロゴロ
短い距離を飛んでいます

Duck の出力...
ガーガー
飛んでいます

TurkeyAdapter の出力...
ゴロゴロ
短い距離を飛んでいます
短い距離を飛んでいます
短い距離を飛んでいます
短い距離を飛んでいます
短い距離を飛んでいます

_ リッジレーサー7

JUJAK 練習。この振り回され具合は挫けそうになる。

  • 走行距離 18823.560 km
  • RSGP 進行度 100.0 %
  • 名声 18455 FP

_ Head First デザインパターンを写経する - 8章 Template Method パターン

#!/usr/bin/ruby -Ks

class CaffeineBeverage
  def prepareRecipe
    boilWater
    brew
    pourInCup
    addCondiments
  end

  def brew
  end

  def addCondiments
  end

  def boilWater
    puts "お湯を沸かします"
  end

  def pourInCup
    puts "カップに注ぎます"
  end
end

class Tea < CaffeineBeverage
  def brew
    puts "紅茶を浸します"
  end

  def addCondiments
    puts "レモンを追加します"
  end
end

class Coffee < CaffeineBeverage
  def brew
    puts "フィルタでコーヒーをドリップします"
  end

  def addCondiments
    puts "砂糖とミルクを追加します"
  end
end

def main
  tea = Tea.new
  coffee = Coffee.new

  puts "\n紅茶を作っています..."
  tea.prepareRecipe

  puts "\nコーヒーを作っています..."
  coffee.prepareRecipe
end

main
% ./beverage.rb

紅茶を作っています...
お湯を沸かします
紅茶を浸します
カップに注ぎます
レモンを追加します

コーヒーを作っています...
お湯を沸かします
フィルタでコーヒーをドリップします
カップに注ぎます
砂糖とミルクを追加します

_ おひる

シーフードのクリームソーススパゲティ

_

豚肉のしょうが焼き( ref. きょうの料理 2006-09 p.94 )


2009-05-09 :-)

_ 朝ッ

0500 起床

_ 富士山の近くで芝桜を撮影するなどした

あーん。富士山の雪の白さと周囲の景色の関係がうまくできなくて残念な画像になった。

静岡紀行2009-05-09 - a set on Flickr

IMG_0271

_ FireGestures のマウスの軌道の質量を持った残像が消えてくれない

だとお

_ 「Windows 7」の導入が可能かを検証するソフトのベータ版公開

やってみた。

アップグレードできるよ (「・ω・)「

と言われた。

やらないけど


2009-05-10 :-)

_ 朝ッ

0930 起床

_ おひる

20090510_0.jpg

そうめん

_ 昨日ドライブしてたとき

「このコーナーならドリフトできるなあ。ここでニトロ使ってそこでアルティメットチャージすればよさそう」などと妄想していた。

まあ助手席に居たんですが

_ DreamCastTV Festival2

@渋谷GUILTY

@bliss_of_life を眺めるために行こうとしたんだがなんだかんだで最初から入った。再入場可能というのがありがたい。途中で休憩できる。正面衝突も見ようとしたんだけど時間が良い感じに遅くなってしまったので Lucy! を見て帰った。

_

20090510_1.jpg

塩鮭のカマ

_ おやつ

20090510_2.jpg

黒糖薄皮饅頭

本日のツッコミ(全2件) [ツッコミを入れる]

_ 堀内 [ご来場どうもですー。 長丁場ありがとうございました。]

_ みわ [お疲れ様でしたん。 客の入り具合がすげーですねい]


2009-05-11 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

連休明け

_ Stella_NF さんによるネットウォッチ

どこぞの IRC チャネルのログを「今日の釣り堀」で検索する。

_ 本名を晒す遊びがはやっているようなので便乗する

私の本名は「三輪普」である

(´_ゝ`)

_ リッジレーサー7

Bayside Freeway を練習してなかったので走った。RC410 + ノーマルチャージU + BOSCONIAN3 という組み合わせ。これでそこそこ直線ドリフトできるようになった。

  • 走行距離 18909.471 km
  • RSGP 進行度 100.0 %
  • 名声 18459 FP

_ 豚の角煮飯

豚の角煮( ref クックパッド )

Tags:
本日のツッコミ(全2件) [ツッコミを入れる]

_ よしみつ [二輸普さんじゃないんですかっ!w]

_ みわ [かろうじて原形をとどめてますな... でもほんとは「にわ」なんです (´・ω・`)]


2009-05-12 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

_ カンピオーネ!(2)

万里谷祐理が目覚めた(性的な意味で)

カンピオーネ!〈2〉 (集英社スーパーダッシュ文庫 た 9-2)(丈月 城/シコルスキー)

_ Going My Way: 自分がいつ Twitter を始めたかがわかる、When Did You Join Twitter?

やってみた。

8 April 2007

おや

kengo さんと同じだった

Tags: Twitter

_

20090512_0.jpg

鮭とイクラの親子丼

_ おやつ

20090512_1.jpg

箱根献上

_ Head First デザインパターンを写経する - 9章 Iterator パターン

面倒なので Enumerable を使う。手抜き

#!/usr/bin/ruby -Ks

class Menu
  include Enumerable

  def initialize( item )
    @item = item
  end

  def each
    @item.each do |menu|
      yield menu
    end
  end
end

def main
  menuItems = [ "K&Bのパンケーキ朝食", "通常のパンケーキ朝食", "ワッフル"]
  menu = Menu.new( menuItems )
  menu.each {|n|
    puts n
  }
end

main
% ./menu.rb
K&Bのパンケーキ朝食
通常のパンケーキ朝食
ワッフル

_ 日記と mixi日記を同期させる

takumi がやってたので( tdiaryとmixiの日記を同期させる )真似してみた。

Pla

PlaggerでBlogとmixi日記を同期させた(完全版) - 偏読日記@はてな

ここのそのまま

以下を貰っておく。

% cd ~/plagger/plugins
% wget http://coderepos.org/share/export/33260/lang/perl/plagger/lib/Plagger/Plugin/Filter/Reverse.pm
% wget http://coderepos.org/share/export/33260/lang/perl/plagger/lib/Plagger/Plugin/Publish/MixiDiary.pm

あとこれも

cpan> install Atompub::Client

yaml はそのままコピペ

global:
  assets_path: /home/rin/plagger/assets
  timezone: Asia/Tokyo
  plugin_path:
    - /home/rin/plagger/plugins
  log:
    level: debug
    encoding: euc-jp
  cache:
    base: /home/rin/plagger

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://www.area51.gr.jp/~rin/diary/no_comments.rdf    ←コメント無しフィード

  - module: Filter::Reverse
  - module: Filter::Rule
    rule:
      module: Deduped

#エントリ内の画像を取得して最初の3枚を投稿
  - module: Filter::FindEnclosures
  - module: Filter::FetchEnclosure
    config:
      dir: /home/rin/plagger

#エントリ内の<a> <img>を変換
  - module: Filter::Regexp
    config:
      regexp: s/<img.*?src=[\'\"](.*?)[\'\"].*?>/([m:133]$1)/g
  - module: Filter::Regexp
    config:
      regexp: s/<a.*?href=[\'\"](.*?)[\'\"].*?>(.*?)<\/a>/$2:($1)/g

  - module: Publish::MixiDiary
    config:
      username: USERNAME
      password: PASSWORD

実行

連続アクセスしたので制限された。

Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.
Plagger::Plugin::Publish::MixiDiary [info] updating mixi diary
Plagger::Plugin::Publish::MixiDiary [info] can't submit: 503 Service Temporarily Unavailable
Limit of post count
Plagger::Plugin::Publish::MixiDiary [info] sleep 3.

こんな感じ。画像は投稿できんか。

_ リッジレーサー7

ダイナミック練習。

  • 走行距離 18979.251 km
  • RSGP 進行度 100.0 %
  • 名声 18465 FP

2009-05-13 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

_ Flickr でカメラ機種別の画像を見れるようになった

( via @sekiyuji )

こちら

Flickr: Camera Finder

キヤノンやニコンなどメーカーごと、機種ごとに見れるようになってる。

上位機種を見るとプロの犯行としか思えない。

私が持ってるのと同じ機種 30D の画像を見て自分のスキルの低さに絶望した。

さらに night や landscape など場面ごと?に分類した写真も見れる。まるでファイナルファンタジーとかドラゴンクエストの世界のような写真がたくさんある。わお

_ 英会話レッスン VOYAGE 1A 10

講師「おれ、週末になったら下北沢に住んでる友人と一緒にカレーを食いに行くんだ」

オレ「マジックスパイスって知ってる?」

講師「アレはいいよね」

といったことを話すなどした。

_ カンピオーネ!(3)

草薙護堂がエリカ・ブランデッリと出会い、神殺しとなるまでの話。つまり最初の話。

カンピオーネ! 3 はじまりの物語 (カンピオーネ! シリーズ) (集英社スーパーダッシュ文庫)(丈月 城/シコルスキー)


2009-05-14 :-)

_ 朝ッ

0500 起床

_ 仕事

0900 上野。打ち合わせ

1130 川崎

_ C++ のコードを C へ書き換えるだけの簡単なお仕事です

事前に「template 使いまくってるっすよ」と聞いていたので予習のために Modern C++ Design を買ったんだが話を聞いてみたらそうでもなかった。ゴブリンを討伐するためにアルテマの本( レベル2 )を入手してしまったような感じだ。ウヴォアー。むしろこの辺りのほうが重要 → C 言語によるオブジェクト記述法 COOL

Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)(アンドレイ アレキサンドレスク/Andrei Alexandrescu/村上 雅章)

_ 英会話レッスン VOYAGE 1A 11

「オレ、この戦いが終わったらニューヨークで入浴するんだ」といったことを話すなどした。

_

20090514_0.jpg

鶏の唐揚げ

_ おやつ

20090514_1.jpg

紀の国屋の最中


2009-05-15 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

1300 移動

1400 ESEC

会場で ino に遭遇した。

_ 絶対復習

まだ復習は登録してない。

絶対復習:miwarinさんの今日の復習

Tags: 復習 学習

_

東京豚バザール

@miwarin、@yo_1、@studio5

@yo_1 が「ルイビ豚食おうぜ」と言っていたので釣られてみた。

img_0329.jpg

img_0330.jpg

img_0332.jpg

img_0333.jpg

img_0334.jpg

img_0336.jpg

img_0337.jpg

img_0339.jpg

img_0341.jpg

img_0342.jpg

img_0343.jpg

img_0344.jpg

img_0346.jpg

img_0348.jpg

img_0349.jpg

本日のツッコミ(全2件) [ツッコミを入れる]

_ youichi [コラーゲンボールだっwww]

_ みわ [こうして見てみると固形燃料のように思えてきますな (・ω・)]


2009-05-16 :-)

_ 朝ッ

1200 起床

_ おひる

20090516_0.jpg

きのこのバターしょうゆスパゲティ

_ おやつ

20090516_1.jpg

わらび餅

_ おやつ

20090516_2.jpg

味一番のチョコレート

_ コピーフェイスとカウンターガール

カウンターガールのインパクトはいまいちだけど、コピーフェイスの親戚連中が怖い。世にも奇妙な物語。

コピーフェイスとカウンターガール (ガガガ文庫)(仮名堂 アレ(かめいどう・あれ)/博)

_

20090516_3.jpg

カツオの漬け丼

_ リッジレーサー7

オンラインバトル。WILD GANG チームが居た。「ぷりりん」などどうも勝てないと思ったらオンラインバトルでチーム交流戦してるひとだった → 第4回リッジレーサーグランプリ。歯が立たないわけだ

  • 走行距離 19316.748 km
  • RSGP 進行度 100.0 %
  • 名声 18476 FP

2009-05-17 :-)

_ 朝ッ

1000 起床

_ おひる

20090517_0.jpg

ジェノヴェーゼぽいもの

_ おやつ

20090517_1.jpg

コーヒーなど

_ 仕事場の動画なひとたちとの会話についていけない

「オレにも @beakmark ほどのスキルがあれば...! 」と歯がゆい思いをしている。くそ

_ Plagger -> mixi -> feed の周期を毎時に変更した

man 5 crontab したら @hourly というのがあった

Instead of the first five fields, one  of  eight  special  strings  may
appear:

       string         meaning
       ------         -------
       @reboot        Run once, at startup.
       @yearly        Run once a year, "0 0 1 1 *".
       @annually      (same as @yearly)
       @monthly       Run once a month, "0 0 1 * *".
       @weekly        Run once a week, "0 0 * * 0".
       @daily         Run once a day, "0 0 * * *".
       @midnight      (same as @daily)
       @hourly        Run once an hour, "0 * * * *".

こんな crontab 。PATH は要らないんじゃないか

MAILTO=""
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin

@daily /home/rin/usr/local/bin/crondaily
@hourly /home/rin/usr/local/bin/cronhourly

cronhourly を実行する。samidare はもはや使ってない

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin:/usr/pkg/lib/perl5/site_perl/bin

## cd /home/rin/usr/local/bin; ./samidare

cd /home/rin/plagger; plagger -c config.mixi.yaml 2>&1 /dev/null

/home/rin/usr/local/bin/checkmadoka
Tags: cron crontab

_

20090517_2.jpg

きのこご飯

_ おやつ

20090517_3.jpg

イチゴのショートケーキ

_ リッジレーサー7

JUJAK 練習。

  • 19432.785 km
  • 100.0 %
  • 18486 FP

2009-05-18 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

_ Head First デザインパターンを写経する - 9章 Composite パターン

疲れた。

#!/usr/bin/ruby -Ks

class MenuComponent
  def add( menuComponent )
    raise "unsupported operation"
  end
  def remove( menuComponent )
    raise "unsupported operation"
  end
  def getChild( i )
    raise "unsupported operation"
  end
  def getName
    raise "unsupported operation"
  end
  def getDescription
    raise "unsupported operation"
  end
  def getPrice
    raise "unsupported operation"
  end
  def isVegetarian
    raise "unsupported operation"
  end
  def Print
    raise "unsupported operation"
  end
end

class Menu < MenuComponent
  def initialize( name, description )
    @name = name
    @description = description
    @menuComponents = []
  end

  def add( menuComponent )
    @menuComponents << menuComponent
  end

  def remove( menuComponent )
    @menuComponents.delete( menuComponent )
  end

  def getChild( i )
    @menuComponents[ i ]
  end

  def getName
    @name
  end

  def getDescription
    @description
  end

  def Print
    puts "\n#{getName}"
    puts " #{@getDescription}"
    puts "---------------------"
    @menuComponents.each{ |menuComponent|
      menuComponent.Print
    }
  end
end

class MenuItem < MenuComponent
  def initialize( name, description, vegetarian, price )
    @name = name
    @description = description
    @vegetarian = vegetarian
    @price = price
  end

  def getName
    @name
  end

  def getDescription
    @description
  end

  def getPrice
    @price
  end

  def isVegetarian
    @vegetarian
  end

  def Print
    print "  ", getName
    if isVegetarian
      print "(v)"
    end
    puts ", #{getPrice}"
    puts "     -- #{getDescription}"
  end
end


class Waitress
  def initialize( allMenus )
    @allMenus = allMenus
  end

  def printMenu
    @allMenus.Print
  end
end

def main
  pancakeHouseMenu = Menu.new( "PANCAKE HOUSE MENU", "Breakfast" )
  dinerMenu = Menu.new("DINER MENU", "Lunch")
  cafeMenu = Menu.new("CAFE MENU", "Dinner")
  dessertMenu = Menu.new("DESSERT MENU", "Dessert of course!")
  coffeeMenu = Menu.new("COFFEE MENU", "Stuff to go with your afternoon coffee")
  allMenus = Menu.new("ALL MENUS", "All menus combined")

  allMenus.add( pancakeHouseMenu )
  allMenus.add( dinerMenu )
  allMenus.add( cafeMenu )

  pancakeHouseMenu.add(MenuItem.new(
    "K&B's Pancake Breakfast",
    "Pancakes with scrambled eggs, and toast",
    true,
    2.99))
  pancakeHouseMenu.add(MenuItem.new(
    "Regular Pancake Breakfast",
    "Pancakes with fried eggs, sausage",
    false,
    2.99))
  pancakeHouseMenu.add(MenuItem.new(
    "Blueberry Pancakes",
    "Pancakes made with fresh blueberries, and blueberry syrup",
    true,
    3.49))
  pancakeHouseMenu.add(MenuItem.new(
    "Waffles",
    "Waffles, with your choice of blueberries or strawberries",
    true,
    3.59))

  dinerMenu.add(MenuItem.new(
    "Vegetarian BLT",
    "(Fakin') Bacon with lettuce & tomato on whole wheat",
    true,
    2.99))
  dinerMenu.add(MenuItem.new(
    "BLT",
    "Bacon with lettuce & tomato on whole wheat",
    false,
    2.99))
  dinerMenu.add(MenuItem.new(
    "Soup of the day",
    "A bowl of the soup of the day, with a side of potato salad",
    false,
    3.29))
  dinerMenu.add(MenuItem.new(
    "Hotdog",
    "A hot dog, with saurkraut, relish, onions, topped with cheese",
    false,
    3.05))
  dinerMenu.add(MenuItem.new(
    "Steamed Veggies and Brown Rice",
    "Steamed vegetables over brown rice",
    true,
    3.99))

  dinerMenu.add(MenuItem.new(
    "Pasta",
    "Spaghetti with Marinara Sauce, and a slice of sourdough bread",
    true,
    3.89))

  dinerMenu.add(dessertMenu)

  dessertMenu.add(MenuItem.new(
    "Apple Pie",
    "Apple pie with a flakey crust, topped with vanilla icecream",
    true,
    1.59))

  dessertMenu.add(MenuItem.new(
    "Cheesecake",
    "Creamy New York cheesecake, with a chocolate graham crust",
    true,
    1.99))
  dessertMenu.add(MenuItem.new(
    "Sorbet",
    "A scoop of raspberry and a scoop of lime",
    true,
    1.89))

  cafeMenu.add(MenuItem.new(
    "Veggie Burger and Air Fries",
    "Veggie burger on a whole wheat bun, lettuce, tomato, and fries",
    true,
    3.99))
  cafeMenu.add(MenuItem.new(
    "Soup of the day",
    "A cup of the soup of the day, with a side salad",
    false,
    3.69))
  cafeMenu.add(MenuItem.new(
    "Burrito",
    "A large burrito, with whole pinto beans, salsa, guacamole",
    true,
    4.29))

  cafeMenu.add(coffeeMenu)

  coffeeMenu.add(MenuItem.new(
    "Coffee Cake",
    "Crumbly cake topped with cinnamon and walnuts",
    true,
    1.59))
  coffeeMenu.add(MenuItem.new(
    "Bagel",
    "Flavors include sesame, poppyseed, cinnamon raisin, pumpkin",
    false,
    0.69))
  coffeeMenu.add(MenuItem.new(
    "Biscotti",
    "Three almond or hazelnut biscotti cookies",
    true,
    0.89))

  waitress = Waitress.new(allMenus)
  waitress.printMenu()
end

main
% ./menu.rb

ALL MENUS

---------------------

PANCAKE HOUSE MENU

---------------------
  K&B's Pancake Breakfast(v), 2.99
     -- Pancakes with scrambled eggs, and toast
  Regular Pancake Breakfast, 2.99
     -- Pancakes with fried eggs, sausage
  Blueberry Pancakes(v), 3.49
     -- Pancakes made with fresh blueberries, and blueberry syrup
  Waffles(v), 3.59
     -- Waffles, with your choice of blueberries or strawberries

DINER MENU

---------------------
  Vegetarian BLT(v), 2.99
     -- (Fakin') Bacon with lettuce & tomato on whole wheat
  BLT, 2.99
     -- Bacon with lettuce & tomato on whole wheat
  Soup of the day, 3.29
     -- A bowl of the soup of the day, with a side of potato salad
  Hotdog, 3.05
     -- A hot dog, with saurkraut, relish, onions, topped with cheese
  Steamed Veggies and Brown Rice(v), 3.99
     -- Steamed vegetables over brown rice
  Pasta(v), 3.89
     -- Spaghetti with Marinara Sauce, and a slice of sourdough bread

DESSERT MENU

---------------------
  Apple Pie(v), 1.59
     -- Apple pie with a flakey crust, topped with vanilla icecream
  Cheesecake(v), 1.99
     -- Creamy New York cheesecake, with a chocolate graham crust
  Sorbet(v), 1.89
     -- A scoop of raspberry and a scoop of lime

CAFE MENU

---------------------
  Veggie Burger and Air Fries(v), 3.99
     -- Veggie burger on a whole wheat bun, lettuce, tomato, and fries
  Soup of the day, 3.69
     -- A cup of the soup of the day, with a side salad
  Burrito(v), 4.29
     -- A large burrito, with whole pinto beans, salsa, guacamole

COFFEE MENU

---------------------
  Coffee Cake(v), 1.59
     -- Crumbly cake topped with cinnamon and walnuts
  Bagel, 0.69
     -- Flavors include sesame, poppyseed, cinnamon raisin, pumpkin
  Biscotti(v), 0.89
     -- Three almond or hazelnut biscotti cookies

_

20090518_0.jpg

ほうとう

_ おやつ

20090518_1.jpg

イチゴのショートケーキ。昨日の残り。乾いておる

_ リッジレーサー7

JUJAK 練習。アルティメットチャージできるようになってきた。

  • 走行距離 19504.731 km
  • RSGP 進行度 100.0 %
  • 名声 18490 FP

2009-05-19 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

1200 退勤。午後休み

_ おやつ

20090519_0.jpg

まんじゅうなど

_ 題名のない音楽会公開収録

昭和女子大学 人見記念講堂

当選したので行ってきた。女子大学なんて初めて入ったよ。女子ばかりですね。

題名のない音楽会 45 周年( 8/2 放送予定 )とハイドン没後 200 年記念( 9/20 放送予定 )のコンサートだった。また佐渡裕 48 歳の誕生日祝いの歌をうたい、祝うなどした。

昭和女子大学から三軒茶屋まで道が細いのでかなり混雑する。

_ リッジレーサー7

JUJAK 練習。ダイナミック難しいっすとつぶやいたら 滑るのと反対にハンドル切ればいいじゃないですか と助言を貰った。イイネ。Old Central では BISONTE と同じ程度にはチャージできるようになった。

  • 走行距離 19645.569 km
  • RSGP 進行度 100.0 %
  • 名声 18500 FP

2009-05-20 :-)

_ 朝ッ

0700 起床

_ 仕事

0900 客先。打ち合わせ

1100 川崎。暑いぜー超暑いぜー

_ 英会話レッスン VOYAGE 1A 12

「あなたの名前は漢字でどう書くの」

「晋」

「それは中国語で jin と読むよ」

「へえ」

「私の苗字『金』も jin と読むのだよ」

「へえへえ」

といったことを話すなどした。


2009-05-21 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

_ 英会話レッスン VOYAGE 1A 13

「俺、この戦いが終わったら車でドリフトしまくるんだ...」

「ドリフトするなら群馬県の榛名山がいいよ」

「あは?」

「イニシャルDという作品があってね以下略」

といったことを話すなどした。

_ リッジレーサー7

JUJAK 練習。

  • 走行距離 19774.752 km
  • RSGP 進行度 100.0 %
  • 名声 18509 FP

_

20090521_0.jpg

牛丼


2009-05-22 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

_ 淡々とコピペ

目標をセンターに入れてコピペ

目標をセンターに入れてコピペ

目標をセンターに入れてコピペ

目標をセンターに入れてコピペ

_ 巻数が連番ではないので途中で読むのを諦めた

  • まぶらほ
  • バッカーノ!
  • マリア様がみてる
  • 涼宮ハルヒ

_

20090522_0.jpg

アジ開き

_ リッジレーサー7

JUJAK 練習。一度踊り出すと止まらない。

  • 走行距離 19914.777 km
  • RSGP 進行度 100.0 %
  • 名声 18519 FP

2009-05-23 :-)

_ 朝ッ

1030 起床

_ おひる

20090523_0.jpg

うどん

_ 涼宮ハルヒの憂鬱 笹の葉ラプソディを見た

時間超越云々は「学校を出よう!にもあった気がすんだがよく分からん」という感想をハルヒを読んだときに持った

ということを思い出した

つまりオレは

_ たまに本を読んでる途中に妄想していまい読書が止まる

20090523_1.jpg

ちなみに(因みに)いま(今)はどどんぱち(怒首領蜂)のサントラ(オリジナルサウンドトラック)を聴いてるんだがそこで画面を埋め尽くす弾幕(薄いよ!なにやってんの!)を想像しつつ鵜沼さん(D)から怒首領蜂(縦スクロール型シューティングゲーム)を借りたままだったことを思い出した。イケネ(いけね)

_ おやつ

20090523_2.jpg

ロールケーキ

_ クビキリサイクル - 青色サヴァンと戯言遣い

話の大筋は良いのだけど、登場人物全員が自分語りしていて説明的な会話ばかりであり読むのに疲れた。簡単にいうと面倒くさい。「もっと平易な文章にしてくれ」「ドカ バキ ヴバババババババ どっこーん という簡単な展開にしてくれ」と言ってるのではなくて、物事ひとつひとつをいちいち登場人物が説明するので鬱陶しい。いや面白いんだけどね。

クビキリサイクル 青色サヴァンと戯言遣い (講談社ノベルス)(西尾 維新/take)

_ 非コミュ指数テスト

discomm.png

判定結果

非コミュ指数: 51(レベル2/中度非コミュ/オタク型)

【タイプ説明】
1)不器用型
空気が読めなかったり社会的適応能力が低いタイプ。いわゆる本来の「非コミュ」。アスペルガー症候群の可能性もある。

2)無関心型
遁世的で、他人とのコミュニケーションに余り価値を見出せないタイプ。「孤独力」が高く、ひとりでも全く気にならない。

3)人間不信型
家族以外の原初的な他者承認(当サイトでは「基本的承認感」と呼んでいる)が十分でないため、他人を信頼し、深い関係を結ぶことが難しいタイプ。

4)オタク型
興味が偏っていたり、一般的ではないために、他人と共通の話題を見出しにくいタイプ。

本日のツッコミ(全2件) [ツッコミを入れる]

_ もと [お?ロールちゃんコーヒー味? うまいよねー。おいら、ちょっとはまってます、ロールちゃん。]

_ みわ [たしかそのような物でありんす。良い感じに小さいのでさくっと食えますな]


2009-05-24 :-)

_ 朝ッ

0600 起床

_ チャリった

少し雨ってきた

_ NHK課外授業ようこそ先輩を見ている

今尾恵介による地図楽。地図を楽しむ。昔の地図を持ちながら町を歩くちびっ子たち

地図萌えと言うひとはいつかのデブサミの今川初(だったかしら)以来でありん

_ track feed を眺めていたら ime.nu からのアクセスがあったでござる

http://ime.nu/www.area51.gr.jp/~rin/diary/?date=20090516

site:2ch.net area51.gr.jp

とグーグル検索したら以下がヒットした

【RIDGERACER 7】リッジレーサー7 ONLINE BATTLE 13

どもども。

なお三輪は JUJAK も WILD GANG も乗りこなせないくらいのスキルなので ちゃU などのひとたちに挑むなんてことはしないくらいのヘタレであるよ。

_ オクトーバーフェスト2009日比谷

@日比谷公園

@miwarin、@yo_1、@daresore、@studio5

行ってきた。日比谷公園なんて遠い昔に國府田マリ子コンサート[ 20030906#p03 ]で来たきりだ。懐かしい

@daresore のシフォンケーキ( ふわふわ。ちょーうまい )をつまみにしつつビールを飲んだくれた。ライブで叫んだり写真を撮ったり人間列車に巻き込まれるなどした。うい

日比谷オクトーバーフェスト2009 - a set on Flickr


2009-05-25 :-)

_ 朝ッ

0500 起床

_ へり

寝てる途中で空腹により目が覚めた。

_ 仕事

0830 出勤。

_

20090525_0.jpg

塩鮭カマ マッシュルームのサラダ

_ リッジレーサー7

JUJAK 練習。ROLLING THUNDER+0 を履かせてみた。つまり普通のダイナミックになる。これは簡単に操作できる。ただしアルティメットチャージ量が減る。ぬう

  • 走行距離 20146.203 km
  • RSGP 進行度 100.0 %
  • 名声 18534 FP

2009-05-26 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

_ CJK とは

チャイニーズ女子高生のこと

_ リッジレーサー7

JUJAK 練習。ROLLING THUNDER+2 を履かせてみた。これくらいならなんとか操作できる。

  • 走行距離 20218.388 km
  • RSGP 進行度 100.0 %
  • 名声 18539 FP

_

20090526_0.jpg

バケット

_ おやつ

20090526_1.jpg

信玄餅


2009-05-27 :-)

_ 朝ッ

1030 起床

_ 仕事

今日は休み

_ コーヒーを飲むなど

20090527_0.jpg

あちいな

本日のツッコミ(全2件) [ツッコミを入れる]

_ youichi [ich liebe dich まだ~?]

_ みわ [嫁が居るので(脳内に)当面は言いません]


2009-05-28 :-)

_ 朝ッ

0500 起床

_ 仕事

0830 出勤。

合田る

_ Google Chrome を起動しようとしたら 0xC0000005 のエラーが起きる

Symantec Endpoint Protection を使ってると発生するらしい。回避策 → Google開発の新しいブラウザGoogle Chrome、β版公開

"C:\Documents and Settings\miwa\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --no-sandbox

これで OK

_ 英会話レッスン VOYAGE 1A 15

学生時代にバイトしてたときの友人に遭遇した。

9 年ぶり。

_

20090528_0.jpg

生姜焼き


2009-05-29 :-)

_ 朝ッ

0500 起床

_ つうきん!

南武線車内で takumi に遭遇した。

_ 仕事

0830 出勤。

_ シエナ・ウインド・オーケストラ 第29回定期演奏会

@ミューザ川崎

仕事場から近いので楽ちん。

入場前に ohguchi と合流して物を渡したあとに別れたんだがじつはすぐ後ろの座席だった。

指揮:金聖響、ゲスト:伊東たけし( T-SQUARE のひと )。ビッグバンドと云うのかね。伊東たけしによる「ウインドシンセサイザーはブレスセンサーの感度を上げるために血圧計( だっけ? )をヒントにしたのだよ」といった解説を交えつつの演奏が新鮮だった。すげえ

_ コンガボーイがやってきた・ウエマツノビヨと犬耳家の一族

先日の犬耳家親族会議[ 20090426#p04 ]のときに植松さんが「新曲作ってるんだよ」と紹介していたアレ。

脊髄反射で購入した。

_ この投稿は不適切な表現を用いていたため削除されました

-

_ ついカッとなってamebloに登録した

miwarinのブログ http://ameblo.jp/m-i-w-a-r-i-n/

miwarin という ID はすでに使われており( でも退会済みらしい )取得できなかったために妙な URI になっている。


2009-05-30 :-)

_ 朝ッ

1000 起床

だる

_ おひる

20090530_0.jpg

ナポリタン

_ LINEAR vol.32

@Heavysick ZERO

行ってきた。会場で上司に遭遇した。

今回はなんといっても 鼻そうめんP こと かんざきひろさん による DJ が楽しみであった。初音ミクの曲はひととおりプレイしてくれたもよう。最前列でひたすら叫びつつ跳んできた。疲れた。1 週間ぶんくらい運動した。

DJ が初めてとは思えない。

プラグアウトは PV 使ってた。VJ のひとぐっじょぶ!

YOUTHFUL_DAYS'_GRAFFITI は Atsushi Ohara さんがプレイしてた。


2009-05-31 :-)

_ 朝ッ

0800 起床

首や肩が筋肉痛である

_ おひる

20090531_0.jpg

カルボラーナぽいもの

_ Seirios01

上司から Rita の名前を聞いたので少し前から Rita のブログをウォッチしてるんだがその Rita が SHAFT という団体と一緒に Seirios01 という何かをおこなうらしい。

SHAFT

ふうん?

とりあえず history を眺めてみたら公演のいくつか見たことがあるじゃないか。

最初に戻って

Seirios01

CAST

梶田 夕貴
川瀬 ゆう子
高下 三佳 (ケンユウオフィス)
土方 健太郎 (宴劇団ホームカミング)
山﨑 雅也 (ぷろだくしょんバオバブ)

ああ。

_ コーヒーを飲むなど

20090531_1.jpg

また最初のお湯を捨て忘れた

_ コーヒー薄い

20090531_2.jpg

薄いぜー 超薄いぜー

_ Head First デザインパターンを写経する - 10章 State パターン

だいぶ間があいた。

#!/usr/bin/ruby -Ks

module State
  def insertQuarter
  end

  def ejectQuarter
  end

  def turnCrank
  end

  def dispense
  end

  def to_s
  end

end

class HasQuarterState
  include State

  def initialize( gumballMachine )
    @gumballMachine = gumballMachine
  end

  def insertQuarter
    puts "もう一度25セントを投入することはできません"
  end

  def ejectQuarter
    puts "25セントを返却します"
    @gumballMachine.setState( @gumballMachine.getNoQuarterState )
  end

  def turnCrank
    puts "クランクを回しました..."
    @gumballMachine.setState( @gumballMachine.getSoldState )
  end

  def dispense
    puts "販売するガムボールはありません"
  end

  def to_s
    "waiting for turn of crank"
  end
end

class NoQuarterState
  include State

  def initialize( gumballMachine )
    @gumballMachine = gumballMachine
  end

  def insertQuarter
    puts "25セントを投入しました"
    @gumballMachine.setState( @gumballMachine.getHasQuarterState )
  end

  def ejectQuarter
    puts "25セントを投入していません"
  end

  def turnCrank
    puts "クランクを回しましたが、25セントを投入していません"
  end

  def dispense
    puts "まず支払いをする必要があります"
  end

  def to_s
    "25セントが投入されるのを待っています"
  end

end

class SoldOutState
  include State

  def initialize( gumballMachine )
    @gumballMachine = gumballMachine
  end

  def insertQuarter
    puts "25セントを投入することはできません。このマシンは売り切れです"
  end

  def ejectQuarter
    puts "返金できません。まだ25セントを投入していません"
  end

  def turnCrank
    puts "クランクを回しましたが、ガムボールがありません"
  end

  def dispense
    puts "販売するガムボールはありません"
  end

  def to_s
    "売り切れです"
  end
end


class SoldState
  include State

  def initialize( gumballMachine )
    @gumballMachine = gumballMachine
  end

  def insertQuarter
    puts "お待ちください。すでにガムボールを出しています"
  end

  def ejectQuarter
    puts "申し訳ありません。すでにクランクを回しています"
  end

  def turnCrank
    puts "2回回してもガムボールをもう1つ入手することはできません!"
  end

  def dispense
    @gumballMachine.releaseBall
    if @gumballMachine.getCount > 0
      @gumballMachine.setState( @gumballMachine.getNoQuarterState )
    else
      puts "おっと、ガムボールがなくなりました!"
      @gumballMachine.setState( @gumballMachine.getSoldOutState )
    end
  end

  def to_s
    "dispensing a gumball"
  end
end


class GumballMachine
  def initialize( numberGumballs )
    @soldOutState = SoldOutState.new( self )
    @noQuarterState = NoQuarterState.new( self )
    @hasQuarterState = HasQuarterState.new( self )
    @soldState = SoldState.new( self )
    @state = @soldOutState

    @count = numberGumballs
    if  numberGumballs > 0
      @state = @noQuarterState
    end
  end

  def insertQuarter
    @state.insertQuarter
  end

  def ejectQuarter
    @state.ejectQuarter
  end

  def turnCrank
    @state.turnCrank
    @state.dispense
  end

  def setState( state )
    @state = state
  end

  def releaseBall
    puts "ガムボールがスロットから転がり出てきます"
    if @count != 0
      @count = @count - 1
    end
  end

  def getCount
    @count
  end

  def refill( count )
    @count = count
    @state = @noQuarterState
  end

  def getState
    @state
  end

  def getSoldOutState
    @soldOutState
  end

  def getNoQuarterState
    @noQuarterState
  end

  def getHasQuarterState
    @hasQuarterState
  end

  def getSoldState
    @soldState
  end

  def to_s
    result = ""
    result << "\nMighty Gumball, Inc."
    result << "\nJava対応据付型ガムボール モデル #2004"
    result << "\n在庫: #{@count} 個のガムボール"
    result << "\nマシンは#{@state.to_s}"
    result
  end
end

def main

    gumballMachine = GumballMachine.new( 5 )

    puts gumballMachine

    gumballMachine.insertQuarter
    gumballMachine.turnCrank

    puts gumballMachine

    gumballMachine.insertQuarter
    gumballMachine.turnCrank
    gumballMachine.insertQuarter
    gumballMachine.turnCrank

    puts gumballMachine
end

main
% ./state.rb

Mighty Gumball, Inc.
Java対応据付型ガムボール モデル #2004
在庫: 5 個のガムボール
マシンは25セントが投入されるのを待っています
25セントを投入しました
クランクを回しました...
ガムボールがスロットから転がり出てきます

Mighty Gumball, Inc.
Java対応据付型ガムボール モデル #2004
在庫: 4 個のガムボール
マシンは25セントが投入されるのを待っています
25セントを投入しました
クランクを回しました...
ガムボールがスロットから転がり出てきます
25セントを投入しました
クランクを回しました...
ガムボールがスロットから転がり出てきます

Mighty Gumball, Inc.
Java対応据付型ガムボール モデル #2004
在庫: 2 個のガムボール
マシンは25セントが投入されるのを待っています

_ リッジレーサー7

JUJAK 疲れを患わせたので他のマシンを練習した。

  • 走行距離 20658.432 km
  • RSGP 進行度 100.0 %
  • 名声 18568 FP

_

豚の角煮( ref. クックパッド )

_ おやつ

バニラシフォンケーキ(ref. シンプルなお菓子 pp.87-88 )。あと @daresore の sets にある動画 20090504シフォンケーキ - a set on Flickr。メレンゲと卵黄生地を混ぜたときにメレンゲの塊が出来てしまう。メレンゲが硬すぎるか?

_ リッジレーサー7 の装備

ここをまとめただけ → RIDGERACER7

BOSCONIAN+マイルド3 でブレーキドリフトすると曲がりきれない所がいくつかあったりなかったりする。あと ROLLING THUNDER は使わない。使いこなせない (´・ω・`)

マシンエンジンニトロプラグインタイヤ・サスペンション
ABEILLEDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
BAYONETDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド2
BISONTEDRUAGAノーマルチャージUニトロタンク100ASTAROTH+グリップ3
CENTELLEDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
EODRUAGAノーマルチャージUニトロタンク100ASTAROTH+グリップ1
ESPERANZADRUAGAノーマルチャージUニトロタンク100ASTAROTH+グリップ3
FATALITADRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド2
FIERADRUAGAノーマルチャージUニトロタンク100ASTAROTH+グリップ3
HIJACKZOLGEARノーマルチャージUニトロタンク100ASTAROTH+グリップ3
JUJAKDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
MAGNIFICODRUAGAノーマルチャージUニトロタンク100ASTAROTH+グリップ3
MELTFIREDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
PROPHETIEDRUAGAノーマルチャージUニトロタンク100ASTAROTH+グリップ3
RAGGIODRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
RC410DRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
STARNOSEDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
WILDGANGDRUAGAノーマルチャージUニトロタンク100BOSCONIAN+マイルド3
本日のツッコミ(全2件) [ツッコミを入れる]

_ 坊T@daresore [僕も残ってたりしますよ。でもなるべく酢飯をきる ようにごむべらできるようにはしてます。 メレンゲの量多ければけっこう..]

_ みわ [ほう。試してみるよ]