twitterにつぶやく植物を作りました

twitterにつぶやくヒヤシンスを作りました。

すくすく芽々 (sukusuku_meme) on Twitter

sukusuke_meme

こんな感じです。

普段はヒトリゴトを、
水が足りなくなると僕のアカウント宛に
「@happy_meme 水が足りないでやんす」
とか言います。

語尾がヤンスなのはヒヤシンスだからです。

水が足りないかどうかの判断は、

ピアノ線(導電体ならなんでも良い)を2本土にぶっ刺して

電気の流れ具合をarduinoのアナログ入力から測定してます(乾燥すると電気が流れにくくなる)。

twitterbot

芸術的な概略図

Ethernet Shieldを使うことでarduinoから直接twitter APIにアクセスしてます。

実物はこんな感じ。

中身

これで水やりを忘れることもなくなるはず!

参考にさせていただいたページ
スタパ齋藤の「週刊スタパトロニクスmobile」
Arduinoでマイコンしよう!!

建築発明工作ゼミ2008: Arduino Ethernet Shield
ArduinoからTwitterにPOSTするライブラリ – Okiraku Programming
Less To It Than That: Arduino をはじめてみた (4) アナログ入力・アナログ出力

スイッチサイエンス/商品詳細 Arduino Duemilanove 328 (最も標準的なArduino)
スイッチサイエンス/商品詳細 Arduinoイーサネットシールド

openFrameworksでiPhoneアプリを作ってみる

Yusuke Sato
2009年10月17日

openFrameworksというC++向けのマルチメディアライブラリがあります。

processingに影響を受けていて、難しいこと考えずにクリエイティブなコーディングを!というものです(語弊あり)。

これでiPhoneアプリも作れるので試しにやってみました。

環境はMac OS X 10.5.8、xcode 3.1.4です。

公式サイトdownloadから x-code / iphone sdk をダウンロード。

examplesのiPhone Touch+Accel Exampleを動かしてみました。

num10

おぉー。

なんかふよふよ動いている。

タッチするとその場所にボールが一つ移動します。

testApp.cppの

#define NUM_POINTS                10
を試しに100個にしてみると、

num100

おぉーw

でもこれiPhone Touch+Accel Exampleなのに、シミュレータだと傾いた時の動きが見れません。

実機に転送してみました。

※ひとまず普通のiPhone SDKで実機テストが出来るようになっている前提です。実機で動かすための大変めんどうな登録作業はgoogle先生に聞きながらがんばってください・・・

build環境をシミュレータからデバイスにしてビルドしてみると

Code Sign error: The identity ‘iPhone Developer: Mehmet Akten’ doesn’t match any valid certificate/private key pair in the default keychain

というエラー。

xcodeの「プロジェクト」→「プロジェクト設定を編集」で情報ウィンドウを開いて、ビルドタブのコード署名IDで自分のIDを選択しましょう。

もっかいビルド。

今度は

<com.apple.tools.product-pkg-utility>: error: CFBundleIdentifier ‘com.msavisuals.oF_iPhone’ contains illegal character ‘_’

というエラー。

CFBundleIdentifierにcom.msavisuals.oF_iPhoneのアンダーバーが気に食わないようです。

info.plistを開いてみると、com.msavisuals.${PRODUCT_NAME:identifier}となってます。

PRODUCT_NAMEはさっきのプロジェクト設定のプロダクト名という項目で定義されてます。

「oF iPhone」を「oFiPhone」に書き換えてもっかいビルド。

通った!

accTest

iPhoneを傾けるとちゃんと連動して動いています。

iPhoneアプリ作ってみたいけどObjective-Cはちょっと・・・という人は、

openFrameworksでお気楽プログラミングが楽しめるかもしれません(語弊あり)

今回はiPhoneアプリ開発の紹介ですが、もともとはC++でOpenCVとかOpenGLとか使って面白い物をサクサク作りたい人向けのフレームワークなので、ピンと来た方はぜひどうぞ。

公式サイトのギャラリーで色々面白い作品が見られます。

rubyでtwitterbotを作ってみる その2 自動follow返し

前回

今回はfollowしてくれてる人に自動でfollow返しをする関数を作ります。

自分がfollowしてる人とfollowされてる人の配列を作って
引くとfollow返しすべき人の配列が出来ます。

今回はボット用なので、
自分がfollowしてる数 < followされてる数
の場合しか考慮してません



# 自動follow返し
def auto_follow(base)
# friendsを取得
friends = Array.new
base.friends.each{
|f| friends << f.id } # followersを取得 followers = Array.new base.followers.each{ |f| followers << f.id } # friendsとfollowersの差を取ってfollow返し targets = Array.new targets = followers - friends targets.each{ |id| base.friendship_create(id, true) } end

--

配列 - 配列をしたらかぶってないのが残るというrubyさんの賢さに感動したんだけど
最近の言語って皆こんなに賢いの?

rubyでtwitterbotを作ってみる

rubyでtwitterのbotを作ってみます。

まずはrubyでtwitterのAPIを叩くところまで。

rubyにはRuby Twitter Gemという便利なものがあるのでそれを使います。

portsからgemsを入れる。
# cd /usr/ports/devel/ruby-gems
# make install clean

twitter gemを入れる。
# gem install twitter

準備完了。

ひとまずネット上のサンプルを参考に作ってたら
`initialize’: wrong number of arguments (2 for 1)とかいうエラーが出た。
base = Twitter::Base.new(‘username’, ‘password’)
の引数の数があってないとか。

で、調べてみるとこのやり方は昔ので、最近のバージョンでは一度HTTPAuthに通してからするようになっている。
httpauth = Twitter::HTTPAuth.new(‘username’, ‘password’)
base = Twitter::Base.new(httpauth)

参考

でこれが作ってみたサンプルコード。
—-

#!/usr/bin/ruby

require ‘rubygems’
gem ‘twitter’
require ‘twitter’

message = “ほげほげ”

httpauth = Twitter::HTTPAuth.new(‘account’, ‘password’)
base = Twitter::Base.new(httpauth)

# つぶやく
base.update(message)

# タイムラインを表示
puts “Friends Timeline”, “=” * 50
base.friends_timeline.each { |tweet| puts tweet.text }

—-
とてもシンプル!

rubyでtwitterbotを作ってみる その2 自動follow返し

macbookにOpenCVを入れてみた

Yusuke Sato
2009年6月20日

春からにわかマカーになって、iTunes便利だなぁとかiPhotoすげーとかiMovieすげーとかやってたんですが、

やっぱり一応情報系大学院出身者としてはmacで開発してこそだろう!と思ったので、

ひとまず慣れ親しんだ(?)OpenCVを入れて動くようにしてみました。

環境はmac book whiteでMac OS X 10.5のX11

参考にしたのは

【コラム】OS X ハッキング! (203) OpenCV+iSightで顔を認識? | パソコン | マイコミジャーナル
続きを読む macbookにOpenCVを入れてみた

崖の上のパフュ

Yusuke Sato
2009年6月20日

CA380001

なんというクオリティ・・・!

またまたデザイン変更

Yusuke Sato
2009年6月20日

新社会人になって2ヶ月半経ちました。

そんなに忙しいわけじゃないけど、

なんとなくブログ放置しっぱなしだったので

気分一新のためにまたデザインを変更。

また時々書いていきたいと思います。

デザイン変更しました

Yusuke Sato
2009年2月15日

WordPressのテーマをAhimsaってやつに変更しました。

見やすくて使いやすくてとても良いです。

ところでahimsaってどういう意味だろうと思ってALCってみたところ、
http://eow.alc.co.jp/ahimsa/UTF-8/

ahimsa
【名】
不殺生

なぜ・・・。

 
追記:
はてブ数も表示するようにしました。
以下のコードをインデックス(index.php)とシングルポスト(single.php)のtitle横に追加。
<a href=http://b.hatena.ne.jp/entry/<?php echo get_permalink(); ?>> <img src=”http://b.hatena.ne.jp/entry/image/<?php echo get_permalink(); ?>” alt=”” /> </a>
参考にしたページ:WordPressではてなの被ブックマーク数を表示する方法 | to-R

DropBoxを使ってGoogle Chromeの設定を同期する

Yusuke Sato
2009年2月9日

※2009年2月21日 間違いを訂正しました。
設定フォルダごと同期は出来るのですが、Bookmarksファイルのみを同期するのはうまくいってなかったみたいです。
うまくいかないと悩んでた方がいましたらごめんなさい・・・。

設定フォルダごと(つまりブックマークだけじゃなく履歴とかも含めて)同期する場合は以下の手順で出来そうです。
Bookmarksファイルだけを同期するのは、なんだかうまくいかないので諦めました(教えてエライ人)。

DropBoxを使ってブラウザ(Google Chrome)のブックマーク設定フォルダを同期

DropBoxは、複数のPC間で指定したフォルダを自動的に同期してくれるオンラインストレージサービスです。

これが便利すぐる。

導入してからUSBメモリをまったく使わなくなりました。

DropBoxの詳しい解説はこちら

で、ファイルを同期できるのはすばらしいのですが、ブラウザとか普段使ってるアプリケーションの設定も同期できないかなー、と考えていたところ次のような記事を発見。
DropBoxを駆使してFirefox全設定を完全シンクロさせる 教えて君.net
ここでFireFoxの設定をDropBoxで同期する方法を説明されています。

僕はメインのブラウザにGoogle Chromeを使っているのでこれに応用してみました。

ちなみにChromeのすばらしさはGIGAZINEさんがまとめてくれてます。
まだ使ったことがないなら使うべきレベルに到達した体感速度爆速ブラウザ「Google Chrome」の真の実力 GIGAZINE

Chromeは「特にカスタマイズしなくても使いやすい」という特徴もあるので、僕としてはブックマークのファイルさえ同期してしまえばほぼ同じ環境が再現できました。
以下、ChromeのブックマークをDropBoxで同期した手順です。
以下、Chromeの設定フォルダをDropBoxで同期した手順です。
続きを読む

tex覚え書き

Yusuke Sato
2009年2月8日

texで論文を書くための覚え書き。

環境はWindowsXPです。
あべのりさんのTeXインストーラによって環境作りがとても簡単。感謝。

インストール
http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/からTeXインストーラとTeXインストーラ用PluginをDL、解凍。
TeXインストーラ用Pluginの中身をReadmeに従って、TeXインストーラのpluginフォルダに入れる。
TeXインストーラを実行して指示に従ってインストール。

設定
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?WinShellを参考にWinShellを設定する。
続きを読む tex覚え書き