ANTIPOLLUTION FAULT

エンジン始動時にセンターディスプレイに表示された。
ついでにメーター下部にあるエンジンマークも点灯(安全チェックをパス出来なかったから)。
エンジン切って、マニュアルをめくってみるが、エンジンマーク点灯は修理行きっぽい => 初のアシタントサービス利用へ。
仕事から帰って、グーグルで検索する限りはよくあるエラーらしい。
いずれにしても新車の保証範囲内だろうけど、やっぱりいい気分はしない。無事に帰ってきて欲しい。
でも何の部品交換もないと、それはそれで不安になるんだよねw


さっきレッカーされていきました。
所沢ディーラーに持っていかれるらしい。川越の旧ディーラーは修理サービスも閉鎖されたんだろうか。


新車とは思えない、という言葉を2人から頂いた。
まあ、日本車の偉大さを知る為の修行期間なんですよ。今は。
日本車の壊れなさっぷりは異常。

2週間ほどおいて帰ってきました。
予想通り、ディラーでは再現しなかった。
この個体、たぶんエンジン内部に微妙な質の悪い部分があるんだろうな。
今回のエラーも、今までにあった一発目で始動しない病も、どうも原因は同じに思える。
ディーラーのメカニックさんと話す分には、混合気がうまく作れないか、コンピュータ側での補正がうまくいってないか辺りみたい。
とりあえず日本では正式に出されてはいないヨーロッパの対策部品導入第一号車となるようだ。
初物は嬉しいが、データ取りにまた車を取られるのが困る:-(

Consed News for Solexa, 454, and Macosx users なんていうのが来ていた

ユーザー全員にいってるんだろうけど、一部転載。

There is Consed news for Solexa and 454 users and macosx users:

1) I am now actively working on Consed to handle large numbers of
Solexa and 454 reads. Stay tuned for details.

2) There is a new version of Consed for macosx 5 (Leopard). You may
download it from the Consed page

Applied Biosystems の SOLiD は‥?

RubyCocoa で Ruby/twitter ライブラリに GUI を付けてみた

とりあえず何かに GUI を被せることから始めるのが簡単そうだったのでやってみた。
RubyCocoa 入門を2度ほどやってみて、なんとなく理解した。
sender が何なのか分かりづらい場合は

p sender

でクラスを見てやると良いかも。
Interface Builder での delegate とか dataSource はまだよく分かっていないorz
についてはこちらを見ると良い => http://journal.mycom.co.jp/column/objc/066/index.html


post でメッセージ投稿、update でtwitt を取りに行く(だけ)。
Interface Builder でボタンを作って、それに ruby の method を紐付けて起動させるイメージ。

#
#  AppController.rb
#  hajimete1
#
#  Created by mako on 07/12/11.
#  Copyright (c) 2007 __MyCompanyName__. All rights reserved.
#

# 参考にしたサイト
# http://limechat.net/rubycocoa/tutorial/
# http://mono.kmc.gr.jp/~yhara/d/?date=20071215#p02
# http://exdesign.jp/wordpress/?p=89
# http://www.namaraii.com/rubytips/?%C6%FC%C9%D5%A4%C8%BB%FE%B9%EF
# 参考になるサイト
# http://mono.kmc.gr.jp/~yhara/w/?RubyTwitterJa
# http://cureblack.com/20071120.html

# To do
#1. 保持してるデータから時刻を判定して新しいものだけ取ってくる
#2. @items に直接ではなくて、sqlite にデータと時刻をしまっておいて、activerecord で取り出す

require 'osx/cocoa'
require 'rubygems'
require 'twitter'
require 'kconv'   
require 'parsedate'

$KCODE = 'u'

class AppController < OSX::NSObject
  ib_outlet :window, :message, :table

  include OSX
  
  def initialize
    @items = []
    # @last_updated = Time.now とかでいつか作る
    @twit = Twitter::Base.new("Twitter に登録したメールアドレス", "パスワード")
  end
  
  def awakeFromNib
    @window.alphaValue = 1.0
  end
  
  # Update your twitt
  ib_action :post
  def post(sender)
    @twit.update(@message.stringValue.to_s)
  end
  
  def decode_utf(str)
    str.gsub(/&#([\d]{4,5});/){ [$1.to_i].pack "U" }
  end
  
  def string_to_time_obj(string)
    # string => "Fri Jan 04 12:09:20 +0000 2008"
    ary = ParseDate::parsedate(string)
    t = Time::local(*ary[0..-3])
  end

  ib_action :update
  def update(sender)
    ret = []
    @twit.timeline(:friends).sort{|a,b| string_to_time_obj(b.created_at) <=> string_to_time_obj(a.created_at)}.each do |s|
      ret << [s.user.screen_name, decode_utf(s.text), s.created_at]
    end
    @items = ret
    @table.reloadData
  end

  # NSTableView dataSource
  def numberOfRowsInTableView(sender)
    @items.length if @items
  end

  def tableView_objectValueForTableColumn_row(sender, col, row)
    case col
    when @table.tableColumns.to_a[0]
      @items[row][0]
    when @table.tableColumns.to_a[1]
      @items[row][1]
    when @table.tableColumns.to_a[2]
      @items[row][2]
    end
  end
end

あ、とりあえずの練習として作ったのものなので To do とかは実装する予定ないです。。

fixdap 経由で

id:faultier さんが CoreData を用いた twitter クライアントの習作を作っていた。
素晴らしいー。続きに勝手に期待です。
http://d.hatena.ne.jp/faultier/20080102/1199242595
CoreData が何なのかもリンク先にやさしく書いてある。
今のところ書籍としては HMDT の 3rd edition しか CoreData を扱っているものはなさげ。
昨日、空港からの帰りにちらっと立ち読みしたが2章を割いて詳しく書いてあるようだった。
初めに Interface Builder で Model の設定などをするようだから、書籍がないと CoreData は苦しそう。

Happy Macintosh Developing Time Third Edition Cocoaプログラマのための技術解説書

Happy Macintosh Developing Time Third Edition Cocoaプログラマのための技術解説書