朝寝坊してゴミを捨てられないのは仕方がないとして、燃えないゴミ、(釧路で言う不燃ごみ)の週がどうもわからなくなってしまう。

自分も釧路市から配布されているクリーンカレンダーをマグネットで貼ってるけど、どうもスマートじゃないし、いちいち見に行くのが面倒なのでスマホに登録する方法を考えていた。
僕の場合 、スケジュールは基本的にMacのiCalに入れており、MBA, iMac, MBP, iPhone間で同期をさせている。とりあえず、年末くらいに手で登録して使っていたが、他にも欲しい人いるんじゃないかと思って公開することにした。

まぁ、気軽にどこかにおいて配ればいいや的に考えていたが、なかなか厄介だった。
釧路市(旧釧路市地域)のゴミ回収は6つのグループに別れており、ファイル自体は6つ作れば良い。
ただ、自分がどのグループかはわからないので、町名からの検索が必要だと思った。
当初いろいろ考えて、ベタでHTMLで書いてはいどうぞ、にしようとしたが、スマホとかで見た時のことを考えると不親切かなと思って、町名とよみがな、グループをDBに格納し検索できるように作った。

次に、自分はMacとiPhoneという環境で、Androidの人はどうなのかと思ったらファイルをダウンロードしても取り込めないという。
これはどうもiCal形式のファイルを取り込む方法がAndroidの場合は厄介らしく、一度PCでダウンロード、Googleカレンダーに取り込み、そしてAndroidと同期、という作業が必要とのこと。
これはどうしょうもないし僕も検証する環境が乏しいので諦めた。

とりあえず3月分までを作って公開してるので、もし使う人がいたらどうぞー。
あと、使ってみての要望とかももらえると嬉しいです。

URLはこちらです→ http://ap.kushi.ro/ics/ 

先日の、”i.softbank.jpと、ezweb.ne.jpのメールをプッシュ通知させた”ではIMAPサーバにログインし、iPhoneへプッシュさせたが、同じProwlを利用しTwitter通知をさせてみた。
ちょっと前回よりも面倒だったので書いておく。 

準備

ruby-gems 他のインストール

前回も書いた通り、Ruby1.8と1.9が共存しているので、そのままではruby-gemsが1.8対応でインストールされてしまう。これは、

/etc/make.conf に

RUBY_DEFAULT_VER=1.9

の記述をしておくか、make時に環境変数としてこの値を渡す事で1.9対応のものがインストール出来る。

#cd /usr/ports/devel/ruby-gems
#make install clean

続いて、

#gem19 install json ruby-hmac oauth

で必要なものをインストールしておく。

TwiProwl

APIkeyの取得

前回同様、http://www.prowlapp.com/からAPIkeyを取得しコピーしておく。

インストール

git clone https://github.com/takuo/TwiProwl.git

設定ファイルの用意

#cd TwiProwl
#cp config.yml twiprowl.conf
#vi twiprowl.conf

[以下、編集するところ色付け]

LogDir: logs
Debug: false
Daemon: true

Streaming: true
Favorite: true
FavoritePriority: 0

# ProxyURI:
# CAPath: /etc/ssl/certs # for Debian
# CAFile: /opt/local/share/curl/curl-ca-bundle.crt # for MacPorts
CAFile: /etc/ssl/ca.0228me.20111128/cert.pem

Prowl:
APIKey: ここにProwlのAPIKeyを記述

NMA:
APIKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Growl:
Sticky: 0 # lowest priority to enable stikcy option

Accounts:

Application: “Twitter”
NotifyMethods:
– “prowl” # Prowl for iPhone
# – “nma” # Notify My Android for Android
# – “growl” # use growlnotify, it requires growl.gem and growlnotify
User: kazuyoshi
RateLimitThreshold: 20
UseProxy: false # <= use Prowl::ProxyURL

Mentions: # Event on Mentions
Enable: true
Priority: 1
IgnoreSelf: false # Ignore mention by myself
Direct: # Event on Direct Messages
Enable: true
Priority: 0
IgnoreSelf: false # Ignore DM event from myself
Retweets: # Event on Retweets
Enable: true
Priority: 0
Membership: # Event on List Membership
Enable: true
Priority: 0
IgnoreSelf: false # Ignore event by myself
IgnoreNegative: false # Ignore remove event
Favorite: # Event on Favorite/Unfavorite
Enable: true
Priority: 0
IgnoreSelf: false # Ignore event by myself
IgnoreNegative: false # Ignore Unfavorite event
Unfollowed: # Event on Unfollowed, requiresi API rate
Enable: true
Priority: 0
Interval: 1800
RegexpMatch:

User: “horumon_bot”
Priority: 2
Enable: true

Text: “TwiProwl”
Priority: 0
Enable: true

Text: “horumon”
Priority: 0
Enable: true

User: “^northeye$”
Text: “TwiProwl|twiprowl”

起動

ここまでで、準備がほぼ整ったので、起動してみる。

#./twiprowl
LoadConf: /usr/home/saito/bin/TwiProwl/twiprowl.conf All logs will be written into /tmp/twiprowl.log. Enter the password for kazuyoshi:
** Processing OAuth authorization for kazuyoshi…
Error: Failed to OAuth due to wrong password or the server error. ErrorMessage: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

どうも証明書の検証が出来なくて困ってる感じ。
当初証明書がおかしいのかとか思ってそっち方面から色々検索したり試したりしたが何をやってもこのメッセージ。
いい加減あきらめたくなったが、結局以下の方法で回避した。(解決ではなくて、回避…)
twiprowlのスクリプト中、

# http.verify_mode = OpenSSL::SSL::VERIFY_PEER

このコメントアウトされた行を、

http.verify_mode = OpenSSL::SSL::VERIFY_NONE

とする事で、検証をしなくなるので、そのままOAuthが成功し、起動するようだ。
初回のみ、Twitterのパスワードが必要。(Twitter側に登録される)

 

すっきりはしないが、取りあえず動いた。そのうち自動起動のスクリプトを書いておこう。

 

 

 

所持しているSoftbankのiPhone4が調子悪い(通話が出来ない、ホームボタンが調子悪い)のでauのガラケーを4Sに機種変更した。 Softbankの方はどうするかきめかねてるけどまぁ、2台持つのも無駄なので緩やかに移行していこうかと考えてる。
Softbankの方は既にiOS5にしていた事もあり、移行は 問題なく進んだが、i.softbank.jpのメール、転送が出来ないという事に気づいた。 メール自体はIMAPなので普通に設定したら使えるがプッシュ通知がないのがどうにも不便である。
調べてみると色々方法はあるが、今回はIMAProwlというものを用いて擬似的にプッシュ通知させてみる事にした。 ついでにezweb もIMAPであるから同じく設定したら動くんじゃね?というもくろみ。

準備

さて、今回必要なのは、IMAProwl を動かす、ruby1.9が使えて常時オンラインなサーバとProwlというiPhoneアプリ(現在250円)

Ruby1.9のインストール

自宅のサーバを使う事にしたが、ruby環境が1.8だったので使える様にしておく。我が家のFreeBSD8.1の環境では、

#portinstall lang/ruby19

とやると、/usr/local/bin/ruby19 にruby1.9がインストールされる。(ruby1.8は/usr/local/bin/ruby で、共存が可能)事前にインストールしておく。

Prowl

App Store からProwl をインストールする。続いてアカウントを作成しログインする。

左上のRegisterから、アカウントを作成する。

Username: Password:にそれぞれ入力し、アカウントを作成した後、iPhoneアプリのProwlにもどりログインしておく。

Prowl APIKeyの取得

http://www.prowlapp.com/ で、上記のUsername/Password でログイン。

API Keys のタブをクリックし、 Generate key ボタンをクリックする。
作成されたAPI Key は後ほど使用。

IMAProwlのインストール

このスクリプトのインストールはFreeBSDのサーバ上で、

#cd /home/uname/bin
#git clone git://github.com/takuo/IMAProwl.git

とgit cloneすると、/home/uname/bin/IMAProwl 以下に諸々がインストールされる。
(インストールはお好きな場所で。)
ログファイルを置く場所が必要になるので、

#cd /home/uname/bin/IMAProwl
#mkdir logs

とログ用のディレクトリも用意しておく。

IMAProwlの設定

設定ファイルはインストールディレクトリの config.yml を編集して行う。

## -*- encoding: utf-8 -*-
##
## example configuration (version >= 1.2)
##
## if undefine LogDir, Debug mode is forcefully enabled.
LogDir: /home/uname/bin/IMAProwl/logs/
Debug: false
Daemon: true

## API Key can be defined up to 5-keys with comma separated values.
Prowl:
APIKey: ****************************************

LogDir: に先ほど作成したログ作成用のディレクトリを指定
APIKey: に先ほど取得したAPI Keyを指定

## IMAP Accounts.

Application: SoftBank
User: username
Pass: password
Host: imap.softbank.jp
BodyLength: 256
SubjectLength: 20
Priority: 0
Format: “Subject:%{subject} From:%{from}”
NOOPInterval: 20 # NOOP(check) interval with no-IDLE mode. (in seconds)
NoIDLE: true # unnecessary, because it should be auto-detected.
Enable: true # diable this account. Set true to enable this account.

Application: au
User: username
Pass: password
Host: imap.ezweb.ne.jp
BodyLength: 256
SubjectLength: 20
Priority: 0
Format: “Subject:%{subject} From:%{from}”
NOOPInterval: 20 # NOOP(check) interval with no-IDLE mode. (in seconds)
NoIDLE: true # unnecessary, because it should be auto-detected.
Enable: true # diable this account. Set true to enable this account.

User: にIMAPのアカウント名
Pass: にIMAPパスワードを指定

※FreeBSD特有の設定

imaprowl.rb の編集
imaprowl.rb の先頭行を

#!/usr/bin/ruby

から

#!/usr/local/bin/ruby19

へ書き換える(pathの変更)

IMAProwlの起動

cd /home/uname/bin/IMAProwl
./imaprowl.rb &

毎回起動するので起動用のスクリプトを用意しておくと良いですね。

めでたしめでたし。

【追記】

IMAProwlの起動は、

cd /home/uname/bin/IMAProwl
./imaprowl.rb

でオッケーだ。(daemonモードで動くので。)

待ち合わせまで時間があるので週末っぽくタリーズなう。
さらに気分を盛り上げるため、iPhoneでボサノバっぽい曲をチョイス。
しかし、このクッキー激甘い。

社員食堂で。
今日は趣向を変えてデジカメで撮影。(いつもはiPhone)

昨日のレシート。
3名(うち女性1名)で23杯は飲み過ぎだな。
13000円のうち、9500円飲み物というのもあれだ。

レシートでは22杯だけど、ジョッキが欠けていて、1杯サービスして頂いた。

7時の気温は氷点下5.9℃。先週がすごく寒かったので、春かというくらい暖かく感じる。

ところで、最近毎日体重計に乗る様にしているが、WiFi Body Scale WBS01というのが気になる。twitter連携はまぁいいが、iPhoneアプリと連携が楽しそうである。

これ。しかし、値段がちょっと、、だな。

今回、Wordpress に移行したのは、これを見つけたからと言うのもある。

tDiaryではiPhoneから昼ごはんの写真を送るのにメールを経由していたのだが、サーバを取り替えるにあたり、vpopmailからpostfixにMTAを置き換え、virtualdomainの場合、メール経由でスクリプトに渡すのがめんどくさい(出来ない訳ではない)ので、いろいろ検索している最中にこれを見つけた。

取りあえずなかなか良い感じである。