2010年10月22日金曜日

Twitterbot移設メモ2

前回はGAE(Python)からPost成功したところまででした。

これからカーチャンbotのメッセージ選択アルゴリズムを移植します。

まずJavaScript動作のときの概要をちょっと書いておきます。

カーチャンbotは、全部で70種類くらいの定型文を用意しています。
お昼や夕食等の定刻用メッセージ、文中にユーザー名、商品名、などが入るものも含まれます。それら定型文自体をDOM要素として持たせていました。また、置換アイテムも同様です。

大雑把に書くと、
・定型文、置換アイテム、followerリストをデータとして持っている
・そしてそれらを使用したかどうかフラグを管理している(ストレージ等に書き出さないRAM上のもの)
・毎時ランダムに未使用のものを選ぶ
・定刻は定刻用定型文から引っ張ってくる
・通常時も、時間縛りあり定型文、時間縛りなし定型文がある
といった感じです。

毎時00分に、定型文をランダムに選び、時刻縛りがある場合はそれにあわせて、置換する必要があればアイテムもランダムに選び、そして投稿する文章が完成します。post完了後には、次の00分00秒000までの時間を計算して、setTimeoutで次の00分にまた同じことをするよう、仕込んでおきます。それを繰り返しています。
(0時過ぎのおやすみpost、followerリスト更新、などはまだ移植してないので、触れないでおきます)


GAE移植にあたって、これらデータの使用/未使用管理をどうするか、です。JavaScriptではRAM上でフラグ管理してました(のでブラウザ再起動で初期化されます)が、今度GAE移植して、cronで毎時動作させるとなると、いくら定型文使用/未使用のフラグをRAM上で管理しても、1回動作が終われば消えますから、ストレージに書き出さないとなりません。当然ですが。(むしろ今までが特異な動作原理のbotだっただけで)

ということで、僕はDBは全くわからないので、csv形式の生データファイルを読み書きする方向で行きます。(※最後に書いてありますが、ちなみにこの方法ではうまくいきません)

たとえば、

0,10-17,%A おかあさんちょっと買い物行って来るからね\n

という感じで。先頭が使用/未使用(1/0)、次が時刻指定/時間範囲縛り設定(なし=N,19時用=19,10時~17時用=9-18といった感じ)、最後が本文です。%AはJ( 'ー`)しに後で置換します。
これがずらーっと並んだデータファイルを作っておきます。

で、実際にPythonで読み込むときはこんな感じに。


import os
import random

# ファイル読み書きクラス
class fileAccess:
def __init__(self, src):
self.src = src
self.lines = []

def readData(self):
try:
f = open(self.src, 'r')
except IndexError:
print 'Index error'
except IOError:
print '"%s" cannot be opened.' % self.src
else: # no error
tmpLines = f.read().split('\n') # \n を区切りとしてファイル内容を読み込む
f.close() # ファイルクローズ

length = len(tmpLines) # 読み込んだ行数
for cnt in range(0, length):
str = tmpLines[cnt]
if str != "": # 空行は除外
self.lines.append(str)

def modifyData(self):
if len(self.lines) == 0:
print 'input lines has no data.'
return

tmpfile = "tmp_" + self.src
try:
f = open(tmpfile, 'w')
except IndexError:
print 'Index error'
except IOError:
print '"%s" cannot be opened.' % tmpfile
else: # no error
length = len(self.lines) # 読み込んだ行数
for cnt in range(0, length):
if self.lines[cnt] != "": # 空行は除外
f.write(self.lines[cnt] + "\n") # 引数の文字列をファイルに書き込む
f.close() # ファイルを閉じる

# ファイル操作: 変更前backupコピーを作成し 変更後tmpを正式にrename
bakfile = "bak_" + self.src
if os.path.exists(bakfile):
os.remove(bakfile)
os.rename(self.src, bakfile)
os.rename(tmpfile, self.src)

# 読み込んだ行をカンマで分けるクラス
class messageStruct:
def __init__(self, str):
tmp = str.split(',')
self.used = tmp[0]
self.timespan = tmp[1]
self.msg = tmp[2]

def setUsedStatus(self):
self.used = "1" # ものぐさで、int()で数値化してないで文字で判定してる

def clearUsedStatus(self):
self.used = "0"

def getCombinedStr(self):
return self.used + ',' + self.timespan + ',' + self.msg

# main
# データ読み込み
messageSource = fileAccess("msg.csv.dat")
messageSource.readData()

found = False
while found == False:
# ランダム
rndMax = len(essageSource.lines) - 1
i = random.randint(0, rndMax)

# カンマ区切りを各パラメータに分解
str = messageStruct(messageSource.lines[i])

if str.used == "0": # 未使用なのでメッセージ確定
str.setUsedStatus() # 使用済みに更新
messageSource.lines[i] = str.etCombinedStr()
found = True

# 略しますが、
# 必要があればuser名など置換してpost処理

# データ更新
messageSource.modifyData()


本当はもっと細かく、現在時刻取得して定刻用メッセージにするかどうか判定したり、置換アイテムが必要か、どの種のアイテムか、などいろいろやりますが、基本はファイル読んでランダムに選んで未使用なら採用、ってやってます。

が、ここで困ったことが。
実はGAEではファイルを静的なデータソースとして置くことはできるっぽいのですが、それを動的に更新したりはできません(知らずにLocalでターミナルからPython実行して↑の仕組み作ってた)。ので、この方法は、ランダムポストだけするには使えますが、本来の目的のどの定型文をポストしたかの管理を行うには、これでは不十分です。GAEのデータストアの方法を知らねばならないようです。僕がさっぱり知らない領域、DBに首を突っ込まねばなりません。

続く

2010年10月9日土曜日

Handycamについての連続Tweet

Handycamについて思うことTweetしてたのを、まとめたくなったので自分のblogに掲載。

---
#1
今日は子どもの運動会があるのでHandycamのHDDを空けとかなければいけない。まだ空きあると思うけど書き出しておく。

#2
子ども生まれてHandycam買ったはいいけど、全然撮る気にならないんだよね。ビデオ撮影って行為がどうにもつまんなくて。撮ったもの見返すと気に入らないんだよ。素人映像で。当たり前だけど。だって素人なんだから。

#3
なんていうか、写真はそれなりに構図とか思い描けるけど、動画の場合、そのイメージが湧かない。どんな長さのどんな映像のものを撮るか、なんて考えながら撮らない方がきっといいんでしょう。

#4
映画監督かっつーの。って。

#5
いや映像イメージは本当はあるんだよ。こうPANしていって、とか、ドリー撮影とか本当はしてみたかったり、Bird視点からの絵が欲しかったりさ。でもそれHandycam手に持った素人からかけ離れてるんだよ。

#6
そんな僕なので、Handycamってよくもまあ25年間たいして変わらないUXで商品売れてるもんだなぁと関心する。

#7
Handycamの話まだするけど、わかってはいますよ、そんなたいそうな「作品」作ろうなんて思わないで、スナップを撮るように、その出来事を記録しておくことが目的とか、そういうのは。

#8
でもそのわりにはさ、邪魔なんだよ、あれ。小さくなったとはいえでけーし時間かかるし手とか疲れるし何より目の前のことを見ていたい僕の裸眼の前に立ちふさがるわけですよあれ。

#9
時間を占有して!

#10
気軽に撮りたいけれど、気が軽くなれないんだ、あの機材。僕にとっては。

2010年10月6日水曜日

Twitterbot移設メモ1

自作Twitterbot(カーチャンbot)を移設しようとしています。※まだ移設できてません

現在は、この過去エントリにあるとおり、botはJavaScriptで動作させています。僕のMacのブラウザ(FF)上で。おかげでMac付けっぱなしです。また誰に@付きメッセージ送ったか、どの定型文を使ったか、などの管理がメモリ上で、なんらかのストレージに書き出してないので、ブラウザ閉じたり、Mac再起動すると、初期状態になります。ので、あまり再起動しないようにしてます(なるべく@付きで選ばれるユーザーは多くのfollowerさんに行き渡るようにしたいので)。

これはちょっと不便です。僕が。なのでサーバ借りてそっちに移そうかと考えていたところ、GAE(Google App Engine)でいいんじゃん?との提案を受けたので、現在移設チャレンジ中です。

とりあえずGAEというとJavaかPythonかになりますが、Pythonにしてみました。なんとなく未知で楽しそうだから。


■GAE開発環境設定
まず環境を用意しなくてはいけませんが、こちらを参考にさせていただきました。

BOT2UKU
http://sites.google.com/site/bot2uku/

Macなのでほとんどすることなしでした。
一応Hello Worldみたいなのはやってみました。それだけなら簡単。


■早速GAEからPost
次、Postできるかどうか試してみます。
Hello WorldのコードをごそっとTwitter投稿用に書き換えました。
以下の記事を参考にさせていただきました。

無題メモランダム: TwitterボットをOAuthに対応させてみた - Google App Engine(Python)
http://blog.mudaimemo.com/2010/03/google-app-engine-twitteroauth.html

すでにbotはJavaScript動作でOAuth対応は済んでおり、必要なキー等は揃っていたので、上記の記事の「2. Twitterにつぶやく」を参考に、そこのサンプルコードに取得済みのキー等を入れるだけでOKでした。(と、超簡単なはずが、AccessTokenとAccessTokenSecretを逆に入れていてそれに気付かずInvalid tokenとか言われて手こずってました)

ここで、cronの設定とか、その他設定、GAEに関していろいろ試してみたいところですが、いったんおいといて、次はbotの投稿メッセージ選択アルゴリズム(たいしたものではない)の移植に取り組みます。

2010年7月5日月曜日

フォント(Dings)作ったよ


iPadアプリのiFontMakerでフォント作ってみましたよ、と。
画像の左上からA-Za-z0-9!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~にアサインされてます。
UのUNKO以外はあまりキーアサインに関係のない絵です。だいたい思い付くままに描いてます。あ、アップルもキーに合ってるな。

TTFファイルはこちらでDownloadできますので、興味本位で使ってみたい方どうぞ。

2TTF: Piyotori’s Dings

ライセンスとかよくわかりません。普通に使っていいんじゃない?くらいの認識。

参考:iFontMakerで作るディングバット。自作お絵描きフォントのすすめ。

2010年6月17日木曜日

オフィスのトイレではどの便器を使うべきか

くだらない話なので、生暖かい気持ちで流してください。トイレだけに。

今の職場の男子トイレは小が4つ並んでいます。
トイレの入り口に近い方をA、一番奥をDとしましょう。

入り口 A  B  C  D


もっとも使用頻度が高いのは入り口に一番近いAです。これはまあ男性諸氏は感覚的にわかると思います。


以下、それぞれのケースであなたが小用でトイレに入ってきた場合、あなたはA~Dのどこを使うのが正しいでしょうか。

※以下の図では、♂は先客、☆はあなた(正解ポジション)です

◆case 1:
入り口 A  B  C  D
    ♂


Ans:
入り口 A  B  C  D
    ♂     ☆


切羽詰っている、先客が仲のよい知り合いだ、人のに興味がある、といった場合以外は、適切な間隔を保ちましょう。Cではダメな理由は、賢明なあなたならもうおわかりですね。3人目が入ってきた場合に、Bだと3人並んでしまい、Dだと先客のAが先に終わった場合に、奥から2人並んでてちょっちイヤンだからです。

では次のケースです。

◆case 2:
入り口 A  B  C  D
    ♂     ♂


Ans:
入り口 A  B  C  D
    ♂ ☆   ♂


B、Cどちらを選らんでも隣合ってしまいます。が、Bが正解です。なぜか。冒頭に書きましたように、一番手前のAを使う人が多い→誰もいない状態でトイレに入ってくるのはA、そう、一番先に入室してきた人はAである可能性がもっとも高いからです。Aが用を足し終われば、Bを陣取ったあなたに落ち着いたひと時が訪れる可能性が高いのです。

さて次のケース。少し複雑なメンタリティが絡んできますよ。

◆case 3:
入り口 A  B  C  D
      ♂   ♂


Ans:
入り口 A  B  C  D
    ☆ ♂   ♂


AとCどちらに並んでも他の人と隣合ってしまいますが、Cを使う場合、BとDどちらが先に終わっても、結局残った方と隣り合ってしまいます。Aを選んだ場合、もしBが先に終われば、あなたには落ち着いたひと時が訪れますし、なにより「一番入り口に近かったからという理由でAを選んだのであって、Bの隣に来たかったからじゃないんだ」という安心感を、Bに与えることもできます。

次も類似ケースです。

◆case 4:
入り口 A  B  C  D
    ♂   ♂


Ans:
入り口 A  B  C  D
    ♂   ♂ ☆


case3とほぼ同じ理論です。ここのトイレにおいて入り口側はもっとも頻度高く使われますが、実は(これは数が6つくらいまでのトイレにたいがい当てはまりますが)"一番奥"というのも、なにかにつけて好まれるポジションですので「Cの隣に来たのではなく俺は"一番奥"というステータスを得に来たんだ」ということで、Cに安心感を与えられると同時に、自分がそこを選んだ申し分ない理由にもできます。ここでの大切なことは「"一番奥"というステータス」です。

最後は珍しいパターンです。

case 5:
入り口 A  B  C  D
      ♂ ♂

Ans:
入り口 A  B  C  D
    ☆ ♂ ♂


ここまできたらもうおわかりですね。このケースではAが正解です。

あとは3人先客がいたら残りを選ぶしかなく、またA、Bに先客、あるいはC、Dに先客といった場合は、ひとつ開けたところが正解になるのは明白です。


これでこのタイプのトイレはもう完璧ですね。
Have a good toilet life!!.

2010年6月11日金曜日

JavaScriptのencodeURIComponentでハマる

珍しくWeb開発系の話。

奇特な動作方式(詳しくは過去エントリ参照)のTwitter
bot「カーチャンbot」のOAuth対応を行っていたとき、何を思ったか、OAuthをライブラリ等使わずに作ってみようと思いまして、あ、HMAC-SHA1とかbase64とかの部分以外は、ですが、んでいろいろやった過程で、ハマったことを書きたいと思います。
…って思ったけれど時間が経って何に悩んだのか忘れてしまったので、一番最近ハマったことを1つ。


JavaScriptの encodeURIComponentでは「-_.!~*'();/?:@&=+$,%#」といった文字のうち、

-_.!~*'()

がencodeされない、ということ。

これらのうち「!*'()」がOAuthを使ったAPIアクセスで問題に。まあTimeline取得やfavをやるにはこんな文字列使わないから問題ないんだけれど、statusの更新、いわゆるつぶやきの投稿時に、Tweet内容にこれらの文字列があった場合に、Signature違いますって言われてしまいます。

ので、Signature生成前に、この変換されないやつらのうち問題になる5文字はさらに個別にencodeしてあげないとダメでした。
-_.~はそのまんまでいいです。

例えばこんな感じのencodeURI拡張版作っておくとよいです。


function encodeURIextend(str){
str = encodeURIComponent(str);
str = str.replace(/\!/g, "%21");
str = str.replace(/\*/g, "%2A");
str = str.replace(/\'/g, "%27");
str = str.replace(/\(/g, "%28");
str = str.replace(/\)/g, "%29");
return str;
}


formのinput or textareaには生文字列でよくて、あくまでpost時のSignature計算に使うメッセージ、POST&https%3A%2F%2Fapi.twitter.com%2F(略)status=ここの値として設定するときに、拡張encodeURIしておく必要があるということです。

まあJavaScriptのOAuthライブラリ使えば、そんなことでハマらずに済みます。Sample*今見たら、まんまこの5文字対策がしてありました。

*下記Twitter developersのOAuth Librariesで紹介されてるもの:
http://dev.twitter.com/pages/oauth_libraries#javascript

稀に、こういう無駄な経験が将来役に立つこともあるんですが、まあ今回のはないかなw

2010年5月27日木曜日

恋するTL

「やっぱ外見より中身でしょ」と彼女は言う。

ひと呼吸おいてから彼女はスマートフォンを取り出しながら「Twitterでね、あーこの人のつぶやきいいなぁ、なんか合うかもって人いて」とタッチパネルをいじりながら話す。「その人よく写真投稿のつぶやきするんだけど、それがね、雰囲気ある写真で、トイデジっていうので撮ってるんだって。いいよねー」「Playing Now♪って付けて投稿してる曲見てもなんか趣味合うっていうか」などと"その人"について嬉々として語り出す。

話を聞きながら昔何かの記事で見た「つい婚」した人が言っていた"文字列に恋をした"というフレーズを思い出した。彼女の場合はTwitterを通じて垣間見えるその人のソーシャルアクティビティ全般に恋をしているということなのかもしれない。

それが"相手の中身を知る"ことでもあるようで、でも一面的でもあるようで、ちょっとからかいたくなって、私は彼女に聞いてみた。

「ちなみに写真はどこにUploadされてるの?Flickr?Picasa?それともTwitpicとかだけ?」

彼女はこちらの質問の意図がどこにあるかわかりかねて少し不思議そうな顔をしつつ、手に持ったスマートフォンで、Twitterで彼の写真投稿のつぶやきを探し出し、私に見せた。

「あ、Flickrね」

偏見だが、写真好きはFlickr、という印象がある。
他の写真も見ていいか一応彼女に聞いて、少し見せてもらう。写真にとくにタグは付けてない。タイトルも"DSCxxxxx.JPG"だ。とくにそういうところは管理しない人らしい。でも確かに写真はトイデジの性質を活かした"雰囲気のある"写真だ。

Twitterのpostもちょっと見せてもらった。fromがWebだ。クライアントは使わない派なのかな。お、iPadに興味があるようだ。でも"iPAD"なんて書いてある。なるほど、そういうところは気にしない人らしい。

そしてTwitterもFlickrもDefaultアイコンだった。

ふんふんと何やらよからぬ詮索をしているかのような私に、彼女はちょっと不機嫌なトーンで「で、写真Upload先がなんなの?」と聞く。

私が感じ取った"彼の特徴"を説明してみる。そして一通り私の言葉を聞いて彼女は「相変わらず歪んだ見方するのね」と苦笑する程度。さすが私の性格をよく知っているだけあるが、でもそれに対してちょっとは反抗してみせる。

「画面から入ってくるぱっと見の情報だけではなくて、内面の垣間見えるところを、そう、外見より中身を見ようとしてるのよ」

と。「へーりーくーつー」と彼女は頬をふくらませて言う。フォローというわけではないが「でも、写真、いい雰囲気ね」と一言付け足しておいた。それを聞いて少しだけ表情が柔らかくなった彼女は、またスマートフォンを自分の手元に戻し、TwitterのTimeLineを最新に更新する。

「あ…」

と声を漏らした彼女は、無言でこちらにスマートフォンの画面を向けた。さっきまで話題にしていた"彼"の最新のTweetが映し出されている。そこには"アイコン変えてみました!"という言葉と、Defaultアイコンから変更された"アニメか何かの女の子"のアイコンが表示されていた。

俗に言う"2次アイコン"の日本人Twitterユーザはよくいるし、私もそういったものに抵抗がないので気にならなかった。しかし、そういえば彼女は、ずいぶん昔のことではあるが以前付き合っていた人が、アニメにばかりに夢中になっちゃって…という理由で別れたのだった。

「アイコンがアニメの人はちょっとなぁー」

案の定、さっきまでのトキメキがどこかにすっ飛んでいったらしい。

「あれ?外見の"アイコン"じゃなくて中身の"つぶやき"が重要なんじゃないの?」

「ほんと、いじわるね」

彼女はそう言った後、紅茶を一口飲み、微かな笑みを浮かべていた。
そんなんだからお互いなかなか彼氏できないのよ、とでも言いたげな口元だ。

※フィクションです

2010年4月27日火曜日

うたかたbit

Twitter始める前まで、Twitterって何がおもしろいのかわからなかった。
というか、Twitterってそもそもなんなのか、わからなかった。
140文字のミニブログ、つぶやきで繋がるSNS、なんて解説してる記事はしばしばみかけたし、そして「ブログ」も「SNS」もわかる。でもTwitterがなんなのかは、使ってみて、しばらく触れてみるまで、わからなかった。


僕が今一番好きな「Tumblr」も、最初よくわからなかった。使ってみて、しばらく触れてみて、初めてわかった。


TwitterもTumblrも知る前、僕はネットで知り得た情報源についてどこかで説明するときに、こういう言い回しをしていたように思う。

ネットで見た、ネットで見つけた、ブログに書いてあった、ニュース記事にあった、2ちゃんねるに書いてあった…こんな感じだ。

この、ネット、ブログ、ニュース記事、を、今ならTwitter、Tumblrに置き換えることもできるが、そうではない言い方をしている自分に気付いた。

TLで流れてきた、Dashboardに流れてきた、といった表現だ。

TwitterではなくTL、TumblrではなくDashboard、というようにそのサービスの核となるようなViewを示す言葉を使い、そして今までは使うことがなかった「流れてきた」という表現を使うようになった。TLとDashboardはわからない人をおいてけぼりにしている感じで、そういう言い回しを好んで使ってる自分を客観的に見るとちょっと鼻につくし、そこはTwitter/Tumblrとサービス名そのものにしてもいい、というかそうしていることもあるが、やはり「流れてきた」というところは、そのままがいいかなと思う。


なんか、その方がしっくりくる気がする。


あ、でもMLに「流れてきた」、って使うなぁ。なーんだ。

2010年4月12日月曜日

社会人生活何年目かの春の雑記

創造的だとか先進的だとか、20世紀中はちょっとはチヤホヤされていたメーカーに入社してしばらく経った。ずっと同じ部署で仕事してる。部署の名前だけはコロコロ変わるが、やってる仕事の基本はあまり変わらない。

ここ数年は常にコストダウンと効率化、が目標だ。別に革新的手段などない。地道な話。そして効率化を達成したらそのぶん人を切る、人を切る方が先に行われ効率化を達成させる、そんなことの繰り返しで生き抜くシナリオしか組織にはないらしい。


ふと、地方公務員だった両親を思い出した。安定してずっと同じことやってるかと思いきや、数年に一度異動してんだ、あの職業。いやよく考えれば普通だろうけど。清掃課、秘書課、議会なんたら、総務課、緑地課、etc、どれも事務的なことは基本的には通じるんだろうけど、やはりそれぞれ仕事が違うようだ。異動したときの年齢(役職)で同じ課でもやることは違うらしい。

両親ともに地方公務員だったから、家族で食事する機会にも恵まれ(なんせだいたい定時で帰ってくるから)、そして食卓に上る話題は仕事の話=役所の話が多く、いろいろな職場の話は聞いていた。課やその中での係、立場によってほんとにいろいろだ。(あくまで子どもの頃の僕が親の話を聞いてて抱いた印象がベース)

地方公務員さえ数年に一度は異動してジョブローテーション組めてるかのようなことになってるのに、いや本当の組織としての戦略とかは知らないけど、親が数年に一度異動してたのは事実で、それに比べて、民間で、一時は商品だけでなく社内人事システム等までも先進的と言われてたこともあったメーカーにて、マンネリ化しててやることといったら人切りくらいの組織に未だにいるって、どうなんだ自分。(強く脱出したいと願う人は最終的にはどうにか組織を脱出できてはいる、からこそ、「どうなんだ自分」)


親からは昔、公務員には向いてないな、研究開発費が多い企業の研究職が合ってると思う、などと親なりに適正を考えたかのようでいてただの願望ともとれるようなことを言われていた。


父さん、母さん、研究職ではないけれど、それなりの民間企業のエンジニアにはなれましたが、今さら地方公務員になりたいです。と思ったり思わなかったり。すいません思ってないです。


ただできれば人に人として接する人らしさがある職場で人らしさがやどるような仕事をしたいとは思う。別に先進性とか創造性だとか前提条件になくていいんだ。人らしさのあるまともな職場であれば後から必要にかられて、もしくは自発的に発揮するんじゃないだろうか。もともと、そんな先進性だとか創造性だとかを妄信するような人間だったか、最近自分を疑いだしてる。いつからか、会社の(外向け)イメージに染まり過ぎていたというか、社内のできる人に憧れ過ぎていたというか。もとから自分はたいそうな志ももってやいないし。


そんなことに気付いた春。

2010年3月22日月曜日

春先の散歩(with LX1)

春になると散歩していて目に入る花が増えてくるので楽しい。


ヒメオドリコソウ。
purple deadnettle
草むらによく群生しているのを見かける。姫踊子草というWindows用キーバインド変更シェアウェアがあるらしい。なぜその名前を付けたのかと、実際の花と、結びつけようとあれこれ想像する時間は大切だ。検索してはいけない。


ハナニラ。
spring starflower
葉や茎からニラに似た臭いがすることからこの名前になっているらしい。花はそういう香りはしないのに、わざわざそんな名前を付けるのがおもしろい。英語では"spring starflower"(学名ではない)と言うようで、素直に「花」から名前をとっているようで、それと比べると日本人はひねくれているなと感じざるを得ない。そういうひねくれ根性は自分にもしっかり宿っている。


カラスノエンドウ。
bush vetch
やがて豆がなったときに、その黒くて細長いサヤを芋虫と誤認してドキっとすることがよくある。「金網と空」が入っている構図が好きだということに最近気付いた。


つくし。
horsetail
実物をアップで詳しく観察すると少しグロい。地下で繋がっているタイプなので、庭に生えてしまうと完全に除去するのが面倒らしい。胞子はギャグっぽい。子どもの頃に理科の教科書で見た胞子の姿はなんとなく覚えている。春の訪れを感じさせる植物の代表格だったりするわりに、よくよく考えてみるとその存在の「華」の無さは、どうなんだろう。


オオイヌノフグリ。
Veronica persica
名前はともかく、好きな花。野に咲く青い花は好きだ。ツユクサも好きだ。今のところ自分の中では、オオイヌノフグリが一番、春の訪れを感じる花。


ローズクォーツ & フローライト。
fluorite & rose quartz
春関係なし。花ですらなし。
先日、(娘と妻が用があった)手芸用品店でローズクォーツという桜色の石を見かけて、なんとなく欲しくなった。しかし使い道ないしそこそこ値段がするので買わずに店を後にした。その直後に行った100円ショップでローズクォーツが売っていたので、クオリティはだいぶ違うが買った。100円というのをいいことに、フローライトも買った。石の意味など知らない。なんか、きれいだから、欲しかった。

2010年3月6日土曜日

世界は”とくになにもなければ”ゆるやかに分断し安定していく

世界は”とくになにもなければ”ゆるやかに分断し安定していく。

blogに書こうとメモしていたテキストを推敲するの面倒になってそのままTumblrにpostした。
改めて、blogに書き直そうと思ったけど、やっぱそのままでいい気がした。
のでリンクだけ貼る。

2010年2月7日日曜日

最近撮った写真(Dec13, 2009 - Feb06, 2010)

最近撮った写真をいくつかTumblrに放り込みました。

LUMIX LX-1(iPhotoでレタッチ済み)


VQ1005(トイデジ)


iPhone(使用アプリ:ToyCamera, TiltShiftGenerator, PhotoshopMobile)

2010年1月29日金曜日

iPadがPaddingする溝

「昨晩はお楽しみでしたね」

僕はリアルタイムで追わず、朝起きてTwitterで評判見たり、ニュース記事でどんなんか知ったり、という流れでした。で、思ったのが、

iPadは自分以外の(自分よりリテラシ低いか同程度の)人達が/と共用共有することを想定するような人が興味持つんじゃないかな。
Twitter / 冬ロボ


ということ。

iPadにGeekは飛びついていません。Geekは画面下部にDOCがあるタブレット「Mac」が欲しかったはず。それを期待してたかと。なので、iPhoneのときのような、始めGeekで火をつけて、っていうやり方での普及は狙えないと思います。狙ってないのならそれだけですが、ちゃんと普及することを狙ってると思います。


AppleはiPadをiPhoneのように広く認知され使われるようにして何をしたいか、というと、たぶん「Computer」を意識させずに、Computerの恩恵を受けられる層を増やしたいんだと思います。デジタルディバイドを埋める、Paddingする手段として、出してきたんだと思います。

キバヤシ「iPadはラインナップの隙間だけでなく、デジタルディバイドの溝もPaddingする、そのための名前だったんだよ!」
ナワヤら「な、なんだってー!」

大きな流れで見ればAppleの作るものはいつも、人とComputerのよりよい境界のあり方をデザインしながら、進化してると思います。


ただ、Geekにもそんなに受けていない上に、ITリテラシ低めな方々には尚更、届かない代物でしょう。そのあたりの人々は興味ないだろうし、知らない可能性も高いし、知ってもPCでもケータイでも(iPhoneでも)ない謎のよくわからんもの、に映ってると思います。

だから、「わかる人」を起点にして導入してもらわないと、目標のユーザに届かないんじゃないでしょうか。

ここで、iPadがでかいiPod touchだと言われてるあたりがいい感じに利いてくると思うのですが、iPod touchやiPhoneがすでに普及しているので、「わかる人」がけっこういるってことです。どっかのニュース記事にもありましたけど。

そしてそのわかる人の中には、あーこれならうちの親にもいいなー、とか、リビングに1台あると妻と子どもが使えていいかもなー、とか、そういうことを考える人が少なからず、います。単に最新ガジェットに興味があるだけでなく、使いやすいコンピュータ、人に優しいコンピュータというものにも興味が向いている人達です。


iPadは、そういう人達が他の人に対して薦めたり共有して使ったりするのに、最適なバランスを備えたものを作りました、ってことじゃないかと思うんです。大きな画面が視力が衰えてきている人にどれだけありがたいか。リビングで家族で共有するなんて場合に親が子どもがiPadですることに目が届きやすいし一緒の画面見て作業できる、それに子どもにとってもiPadの方が自由度高い体験ができるのでは。というように、自分以外の近しい他者が使うのにこれはいい、と思う人がいて、そいつがキーになり一般家庭に導入されていく、というシナリオを僕はイメージします。
まあこういう道筋以外でiPad使う人が増えるのはそれはそれであると思いますけれど、たぶん届いて欲しい(と僕が予想してる)ところに届くための一歩目は、身内から、じゃないかなぁ。

あくまで母艦(PC、Mac)とDockコネクタで繋ぐStyleがあるのは、声(電話?)をかければ返事がくる距離に母艦を扱える人がいる、という環境もわりと想定されている気がしてます。いずれは、母艦のiTunesとコンテンツの同期を計ったりせずに、iPadだけで利用するような使い方になるかもしれませんが(っていうかきっと今のままでもやろうと思えばそこそこはできるよね?)、普及させていくにあたっては、最初は母艦同期計れる人とともに使ってもらい、iPadのなんたるかを理解してもらっていくのではないかな、と。


僕の想像するようなやり方でiPadは本当に認知が広まっていくのか、より多くの人が使うようになるのか、「母艦との同期計らずに使うStyle」というのが広まるときが来るのか、いろいろと妄想が当たるかどうか興味深くみております。

2010年1月7日木曜日

世はおしなべてコンテンツという見方

って仮に考えてみましたよ。はい。


デジタルネイティブが台頭する世の中では「世はおしなべてコンテンツ」なんだ、きっと。(デジタルネイティブって言い方、実はしたくないんですが、まあ使いやすいので)

すると、それを消費する体験を如何に「共有」するか、その演出方法がうまければ、そのツールはその時点では価値があると見なされる。
で、コンテンツは消費して、あとに残る実体のない「思い出コンテクスト」が、たぶん今国内家電メーカーが探そうとしている価値ある「もの」だ。実体はないぞ、これ。それが宿る物体が確かにあると信じ過ぎると、余計に見つからない気がする。

思い出コンテクストへの扉を開く鍵と、扉を開いた先の道に思い出補間材をかざる時空間、そんなものを提供することができると、これまた価値があるとみなされる。


これはWiiのVCがいい例か。ゲーム機に関して8bitネイティブ世代なんかは、コンテンツとしてゲームを消費してきて友達といろいろ遊んだ「共有思い出コンテクスト」はしっかりとあるわけで。ゲームコンテンツ自体やロムカセットという物体、ファミコン本体という物体はなくとも、思い出そのものが一番「リアル」を伴っているでしょう、これ。そんな人のところに、VCで思い出コンテクストへの扉の鍵を用意し、鍵を購入して扉を開ける=プレイすると、両側に思い出写真がかざられた道を歩くような感覚を提供できる。


もう少し今ありそうな(?)ことで考えてみると、Web上に友達と行った旅行写真のアルバムを構築したとして、そのPermelinkに永続性だとかは求めてなくて、思い出コンテクスト補間のキーに過ぎないとわかっているのが、古くない世代の人。オンラインアルバムを見るのも思い出写真館を歩く感じだ。それは「どこかにある写真館」で、入ったら出る、のだ。そして、わざわざ行くもの、というのが当たり前。しばらく行かない間にあの写真館なくなっちゃったんだ、へー、残念、くらいだ。それでいい。前回行ったときにお気に入りの写真は手元にコピーをもらってきている。


基本Publicで、すなわち「世はおしなべてコンテンツ」の「世」に自分も入っている。
そしていくつか、時折、PublicからPrivateに選びとってくる、そして学習コンテンツなんかは昇華して再びPublishしたり、という生き方。

2010年1月2日土曜日

トイデジスライドショー

あけましておめでとうございます。今年もよろしくお願いします。

昨年末、クリスマスに3歳の娘にトイカメラ(デジタル)をプレゼントしました。買ったのはVistaQuest1005。こういうトイデジがあるってことは、Twitterで教えてもらいました。

VISTA QUEST VQ1005

一緒に散歩に行ったときに娘が写真撮ったりしますが、僕もちょいちょい借りて撮ってます。いろいろ撮ってみておもしろいのがあったらラッキーくらいな感じです。さてそのラッキーな写真何枚か、FlickrのSlideShowにまとめてあるのでペタリと。



iPhoneのカメラアプリによるトイテイストもいろいろ楽しいのですが、本物は「本当の不自由が手に入る(という言い方を敢えてしてみる)」ので、そこも含めて楽しいですね。