iPhone for everybodyキャンペーンを解約したかったが……

iPhone for everybodyキャンペーンが開始されてから、そろそろ丸2年が経つ時期になってきたので書いておく。less than a minute ago via HootSuite Favorite Retweet Reply

これを見て4月の下旬から何度かソフトバンクショップに通っていたんだけど、更新可能月が4月じゃなくて5月だったとか、ふらっとパケット割引プランにしか変更できませんとか何いってんのオマエ!?って感じだったんだけど、結構同じ対応されているみたい……


iPhoneの2年契約、残したままにしてませんか? - Togetter
iPhone for everybodyキャンペーンを解約してみた - ケンシロウ爺
iPhone for everybodyキャンペーンが満期を迎えたのでSoftbankに行ってきました。 - 渡り鳥の徒然草
iPhone for everybodyの2年縛りを解除したらパケット定額フラットにしかならなかった - once upon a time, 備忘録的存在

Twitter User Streamsをいじる

User Streamsをいじるというとtwitter-amqp-websocket系のサンプルが世の中にたくさんあふれていたので自分でもいじってみる。Rubyもいまいちよくわかっていないのでこの書き方でいいのかよくわからないのだけど、とりあえず動いているし止まるので問題ないのだろう。
まずは、User Streamを取り出してAMQPに突っ込むところ。ruby-amqpはEventMachineというのを使っているらしいんだけどこんな感じでいいんだろうか!?

#!/usr/bin/env ruby
# coding: utf-8

#<http://blog.0x82.com/2009/12/28/twitter-amqp-websocket-example-no-polling>
#<http://d.hatena.ne.jp/shibason/20090802/1249204953>
#<http://github.com/ruby-amqp/amqp>
#<http://dev.twitter.com/pages/user_streams>

require 'rubygems'
require 'amqp'
require 'twitter/json_stream'

Signal.trap('INT') { AMQP.stop { EM.stop } }
AMQP.start(:host => 'localhost', :logging => false) do |connection|
  # default is to connecto to localhost:5276, to root("/") vhost as guest/guest
  puts "Connected to AMQP broker. Running #{AMQP::VERSION} version of the gem ..."
  channel = AMQP::Channel.new(connection)
  twitter = channel.fanout('twitter')

  stream = Twitter::JSONStream.connect(
    :path => '/2/user.json',
    :host => 'userstream.twitter.com',
    :ssl  => true,
    :oauth => {
      :consumer_key => '__CONSUMER_KEY__',
      :consumer_secret => '__CONSUMER_SECRET__',
      :access_key => '__ACCESS_KEY__',
      :access_secret => '__ACCESS_SECRET__',
    }
  )

  stream.each_item do |status|
    twitter.publish(status)
  end

  stream.on_error do |message|
    $stdout.print "error: #{message}\n"
    $stdout.flush
  end

end


AMQPに流し込むことができればあとは取り出さないと意味がないのでまずは表示するところから。

#!/usr/bin/env ruby

require 'rubygems'
require 'uuid'
require 'bunny'
require 'json' if RUBY_VERSION < '1.9.0'

# <https://github.com/ruby-amqp/bunny>
Signal.trap('INT'){ exit! }
uuid = UUID.new
b = Bunny.new(:logging => false)
b.start
q = b.queue(uuid.generate)
q.bind('twitter')
q.subscribe(:ack => false) do |msg|
  begin
    d = JSON.parse(msg[:payload])
    if d['text']
      u = d['user']
      puts "#{u['screen_name']}: #{d['text']}"
    end
  rescue
    break
  end
end
b.stop


表示するところまでできてしまえばあとは使い方をどう広げられるかが問題になる。あんちょくなのはJabber経由で通知するとか。

#!/usr/bin/env ruby
# config: utf-8

require 'rubygems'
require 'uuid'
require 'bunny'
require 'json' if RUBY_VERSION < '1.9.0'
require 'xmpp4r-simple'

Signal.trap('INT'){ exit! }
im = Jabber::Simple.new("user@example.com", "__PASSWORD__")
uuid = UUID.new
b = Bunny.new(:logging => false)
b.start
q = b.queue(uuid.generate)
q.bind('twitter')
q.subscribe do |msg|
  begin
    d = JSON.parse(msg[:payload])
    if d['text']
      u = d['user']
      im.deliver( "friend@example.com",
                  "#{u['screen_name']}: #{d['text']}")
    end
  rescue
    break
  end
end
b.stop

Ubuntu 10.10にruby 1.8.7, rabbitmq-server 2.4.1-1, ejabberd 2.1.5-2でテストして動作確認しています。

Apple Wireless KeyboardとMagic TrackpadをWindows7で使う(VAIO Type S14)

なんかVAIOのキーボードが日本語配列だしうまくキーを入力できないしイライラしそうなので家にあったApple Wireless KeyboardとMagic Trackpadを使えるように設定してみる。
Magic Trackpadを認識させる方法は、AppleがBootCamp環境用に用意してあるドライバを使えばいいということはわかっていたのでその通りに。
ところで、このVAIOは日本語キーボードなんだけど持っているApple Wireless KeyboardはUSキー配列なのでいくつかのキーの入力がうまくできなくて困っていたんだけど、これもググったら解決できた。
「コントロールパネル」 > 「デバイスとプリンタ」から該当デバイスを選択し、「プロパティ」 > 「ハードウェア」でさらに「HIDキーボードデバイス」のプロパティを選択し「デバイスインスタンスパス」を記録して……とやればうまくいくはずなのだがそうはいかず。うまくいった設定はというと「コントロールパネル」 > 「キーボード」で該当デバイスを選択しキーボードのプロパティの「ハードウェア」を見てみると「HID キーボードデバイス」のほかになぜか「標準PS/2キーボード」でも認識していてこちらの「デバイスインスタンスパス」を元に設定したところうまくいったみたいだ。
該当HIDの「Device Parameters」にKeyboardTypeOverrideを設定する。設定するKeyboardTypeはこの場合101キーボードなので0x04だ。同様にKeyboardSubtypeOverrideにも0x00を設定してリブートして完成。

101キーボードなので漢字の変換はoption+`で可能です。


http://www.sony.jp/vaio/products/S14/
Magic trackpadを非BootcampのWindowsXP(32bit)で使う方法 - ブログブログ
Magic TrackpadをネイティブWindows PCで使う方法(Apple製ドライバ抽出) - 【Digitalian's Tips】
Apple Wireless KeyboardをWindows XPで使ってみる - A Story of A
Apple wireless keyboard helper for windows
Windows 7 で英語キーボードを使って日本語を入力する - バイナリアンを目指して
Windows7でのキーボードレイアウトの指定 - 相方が携帯紛失
Boot Camp: Apple Wireless Keyboard keyboard mapping in Windows

東北新幹線と九州新幹線

もうすっかり日常になってしまった東北新幹線新青森延伸と九州新幹線の2つの新幹線だがそれぞれのCMを見てみるとニュアンスがまったく違うのだがそれぞれの地域をフォーカスしていることがわかる。東北新幹線のそれはやはり『東北』という地域の人柄を、九州新幹線のそれは全線開通のよろこびをという感じだろうか。
どちらがというわけではない。どちらも同じぐらい興味をそそられる。


林檎の花 - Single - 槇原敬之林檎の花 - Single - 槇原敬之


Boom! - Single - マイア・ヒラサワBoom! - Single - マイア・ヒラサワ


祝!九州 さんの一般公開ギャラリー アルバム - Picasa ウェブアルバム


MY FIRST AOMORI - JR東日本
九州新幹線WEB - JR九州

gVim ${HOME}/.gvimrc

なんか、こんな感じで設定ファイルを書いた。

% ${HOME}/.gvimrc

if has('win32')
  set guifont=Consolas:h14,Lucida_Console:h14:w7
  set guifontwide=Ricty:h14
  "
  source $VIMRUNTIME/delmenu.vim
  set langmenu=en_US.UTF-8
  source $VIMRUNTIME/menu.vim
  language messages en
endif
set columns=100
set lines=36
set fileformats=unix,dos,mac
if exists('&ambiwidth')
  set ambiwidth=double
endif
set shiftwidth=4
set tabstop=4
set visualbell
set scrolloff=2
scriptencoding cp932
set encoding=utf-8
set fileencodings=utf-8,cp932,default,latin

" <http://vim-usrs.jp/2010/03/hack130/>
command! -complete=file -nargs=+ Grep  call s:grep([<f-args>])
function! s:grep(args)
	execute 'vimgrep' '/'.a:args[-1].'/' join(a:args[:-2])
endfunction

% ${HOME}/.tmux.conf

# set prefix
set-option -g prefix C-j
unbind-key C-b
#set-window-option -g utf8 on
bind -r C-h resize-pane -L 5
bind -r C-l resize-pane -R 5
bind -r C-j resize-pane -D 5
bind -r C-k resize-pane -U 5
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
# mode-keys
set-window-option -g mode-keys vi

週刊アスキー 2011年2月8日号(1月25日発売)

今回の気になる記事は『海外でスマートフォンを使う秘技9』
特に今すぐ海外に行く予定もないし、iPhoneでは3Gデータ通信しないつもりだからどうでもいいんだけど、注意事項として国内携帯事業者が海外向けに用意しているデータ定額サービスは対象となる通信事業者が決まっているのだけど、アンドロイドやiOSでは標準が「自動選択」なのでそれを手動で設定変更するのが必要だということ。

iOSだと、設定 > キャリア の「自動」のチェックを外し、定額サービスのキャリアを選択して利用すること。
パケット通信は設定 > 一般 > ネットワーク > データローミング で設定できる。

SIMロックフリー端末を持っているのならこんな方法もあるよということで海外のSIMカードを紹介している。

  • GoPhone Pay As You go (AT&T)
  • Pay as You Go SIM Card (T-Mobile UK)
  • HSDPA Broadband Access Rechargable SIM (Hutchison), 3G Rechargeable SIM Card (Hutchison)

Hutchisonといえば、一日28香港ドル、一ヶ月定額168香港ドルで使え、海外一日パケット定額も98香港ドルで提供されている。



週刊アスキーPLUS
Three.com.hk 3G 香港

ATOK Pad for iPhoneというかNote & Share

結構最近までiPhoneでツイートするときには「Chirpie Pro」を使っていたのだけど、最近は「Note & Share」をメインに使っているような気がする

Note & Shareとは、素早くTwitter, Evernote, Facebook, Dropbox, Email, Google Docs, SMS, クリップボード, Plurk, ローカルノートに発信するためのアプリです。

http://ignition.hk/iphone/note

きっかけは「ATOK Pad対応」ということからなんだけど、ちょっと長くなるからATOKの方がいいかなぁと思ったときにATOK Padを呼び出すボタンを押せばATOK Padが起動しテキスト入力が可能な状態となり。入力が終わったときにATOK Padを終われば今まで打ったテキストがNote & Shareに反映されるのだ。
ATOK Padが使えるとなれば、Bluetooth Keyboardで文字入力が可能になるし(Ver. 1.4.0以降)楽々〜♪と考えていたが、なんだか文字が入らない…。
買ったのがELECOM 折りたたみBluetoothキーボード(英語配列)だからなのか!?としばらくフリック入力のみでつかっていたんだけど、ATOK Pad for iPhoneのFAQを見るとちゃんと書いてありました。よしよし

  • 標準のIME が日本語モードの場合は、無線(Bluetooth)キーボードを使用できません。

無線(Bluetooth)キーボードを使用する場合は、英語入力モードに切り替えてください。
英語入力モードに切り替えるには、[command]+[スペース]キーを押します。

  • 無線(Bluetooth)キーボードによる文節区切り直し操作は、[設定]の[ATOK-無線キーボード]の[文節操作]で設定に応じた動作となります。

[デフォルト]を選択している場合は、[shift]+[→]キー、[shift]+[←]キーで、文節の区切り直しができます。

http://support.justsystems.com/faq/1032/app/servlet/qadoc?QID=048544


ATOK Pad for iPhone - JustSystems
Note & Share - ignition soft
iPhone対応Bluetooth® 折りたたみキーボード TK-FBP017EBK - ELECOM