第一回歩こう会の記録(続くかは未定)
年末帰省したときに、
福岡県は福岡市早良区西新あたりをぶらぶら歩きました。
珈琲伊藤さん
ワッフルが素晴らしすぎる
twitterにつぶやくヒヤシンスを作りました。
すくすく芽々 (sukusuku_meme) on Twitter
こんな感じです。
普段はヒトリゴトを、
水が足りなくなると僕のアカウント宛に
「@happy_meme 水が足りないでやんす」
とか言います。
語尾がヤンスなのはヒヤシンスだからです。
水が足りないかどうかの判断は、
ピアノ線(導電体ならなんでも良い)を2本土にぶっ刺して
電気の流れ具合をarduinoのアナログ入力から測定してます(乾燥すると電気が流れにくくなる)。
芸術的な概略図
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というC++向けのマルチメディアライブラリがあります。
processingに影響を受けていて、難しいこと考えずにクリエイティブなコーディングを!というものです(語弊あり)。
これでiPhoneアプリも作れるので試しにやってみました。
環境はMac OS X 10.5.8、xcode 3.1.4です。
公式サイトdownloadから x-code / iphone sdk をダウンロード。
examplesのiPhone Touch+Accel Exampleを動かしてみました。
おぉー。
なんかふよふよ動いている。
タッチするとその場所にボールが一つ移動します。
testApp.cppの
#define NUM_POINTS 10
を試しに100個にしてみると、
おぉー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」に書き換えてもっかいビルド。
通った!
iPhoneを傾けるとちゃんと連動して動いています。
iPhoneアプリ作ってみたいけどObjective-Cはちょっと・・・という人は、
openFrameworksでお気楽プログラミングが楽しめるかもしれません(語弊あり)
今回はiPhoneアプリ開発の紹介ですが、もともとはC++でOpenCVとかOpenGLとか使って面白い物をサクサク作りたい人向けのフレームワークなので、ピンと来た方はぜひどうぞ。
公式サイトのギャラリーで色々面白い作品が見られます。
今回は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で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 }
----
とてもシンプル!
春からにわかマカーになって、iTunes便利だなぁとかiPhotoすげーとかiMovieすげーとかやってたんですが、
やっぱり一応情報系大学院出身者としてはmacで開発してこそだろう!と思ったので、
ひとまず慣れ親しんだ(?)OpenCVを入れて動くようにしてみました。
環境はmac book whiteでMac OS X 10.5のX11
参考にしたのは
【コラム】OS X ハッキング! (203) OpenCV+iSightで顔を認識? | パソコン | マイコミジャーナル
この投稿の続きを読む »

なんというクオリティ・・・!
新社会人になって2ヶ月半経ちました。
そんなに忙しいわけじゃないけど、
なんとなくブログ放置しっぱなしだったので
気分一新のためにまたデザインを変更。
また時々書いていきたいと思います。
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
※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で同期した手順です。
続きを読む