0

Rails + Physical Computingする時の注意点

最近まわりでRailsが流行っているんだけど、なんだか2ケタ以上の人が「webサービスと何か(?)をするにはRuby on Railsを使えば全部できる」という盛大な勘違いを起こしているので説明用資料を書いておく。Railsはそんなに万能ではないです。

Railsはwebアプリケーションを簡単に作れるMVCフレームワークで、HTTPを通してwebブラウザから使う事を前提にしている。マイコンとProcessingを接続してガジェットを作るのとは別の常識があります。



■Railsが向いていること
Railsは、おおざっぱに列挙するとこんなアプリケーションに向いています(無理すれば変な事も可能だけど後述)

  • アクセスしたURLに応じて異なるHTMLやXMLが表示される
  • 後ろにSQLなどのデータベースがあって、データを溜めたり取り出したりする
  • ユーザ登録してログイン/ログアウトできて、同じURLでもユーザ毎に違うHTML表示が出る
  • Formがあって、テキストを打ち込んで「投稿」すると保存される

普通のwebサービスを作るのに向いています。例えば
  • mixiとかFacebookのようなSNS
  • WordPressやMovableTypeのように記事をFormに打ち込んでデータベースに保存して、週毎/記事毎の様々な表示で同じデータを使い回す
  • twitterや掲示板みたいなもの
を作るのに向いている。
ようするに、あるURLにHTTP GETでアクセスすると何か表示される。そしてHTTP POSTするとデータを溜めるという機能がある。

Read more

0

ahokai rev.54以降でのDBファイル名変更、buzztter検索post

(ついに本気を出して絶賛修論執筆中だけど)ahokaiiの設計を少し修正した

これまでsqlite3のデータベースファイルを db_ngrams, db_postsという2つのファイルにしていたけど
db というファイル1つにまとめました。

理由は、特に2つに分ける意味は無かったからです。

commit 54以降のバージョンにアップデートするには、
db_postsの方にクロールした元twitterアカウントのデータが入っているので、それは消さずにdbにリネームして、n-gramのテーブルを追加すると良いですよ

mv db_posts db
rm db_ngrams
ruby migrate_ngrams.rb up
ruby make3gram.rb

忘れずにmake3gramし直す。


あと、ついでにBuzztterから検索してpostを構築する機能が付けてみた。
面白くなるかはわからないけど。


マルコフ連鎖でのpost構築は、今まで頭側から行っていたけど左右両方向へ伸ばすようにしたので
これで検索機能が付けられた

ruby post3gram.rb リナカフェ

「リナカフェ」を含むpostが作られる

make post with ‘リナカフェ’
リナ カフェ が 1
—search left 3-grams—
=” リナ カフェ 1
m =” リナ 1
‘ m =” 1
e ‘ m 1
– e ‘ 1
(h)ruby – e 1
—search right 3-grams—
カフェ が オススメ 1
が オススメ ! 1(t)
ruby-e’m=”リナカフェがオススメ!


Read more

0

wordpress 2.7へアップグレード

日本語版も出ていたのでアップグレードした。
さくらインターネットスタンダードプランなのでshellでやる

参考:WordPress のアップグレード – WordPress Codex 日本語版

プラグイン全停止してから

mkdir ~/tmp
cd ~/tmp
wget http://ja.wordpress.org/wordpress-2.7-ja.zip
unzip wordpress-2.7-ja.zip
cp -R ~/www/blog/ ~/tmp/blog-backup
rm -rf ~/www/blog/wp-admin/
rm -rf ~/www/blog/wp-includes/
cp -R ~/tmp/wordpress/ ~/www/blog/

一応バックアップして、wp-admin, wp-includeを削除してから上書き。
wp-adminにアクセスするとDBがupdateされる。
プラグインを有効化。Akismet, brBrbr, Ktai Entry, WP Multibyte Patch, WPtouch iPhone Theme

テーマエディタで、タイトルが「記事名 blog名」になってるのが気に入らないので「blog名 記事名」に直す
header.phpを

<title><?php bloginfo(‘name’); ?><?php wp_title(); ?></title>



しばらく様子みてから

rm -rf ~/tmp/blog-backup

1

スーパーボット大戦

Twitter / ahokaiという、自分の過去の発言を収集し、n-gramモデルとマルコフ連鎖を用いて分析・発言するプログラムを作りました。いわゆるボットという奴です。
方法については「圧縮新聞」を作った – phaのニート日記が詳しいです。


こちらからahokaiの全ソースコードをダウンロードできます。
shokai / bot-ahokai / overview — bitbucket.org
詳しい作り方やいきさつはbot ahokaiの作成 – 橋本詳解に書いたのですが、
今回はahokaiの様な「自分の発言を再構成して喋るbot」を設置する方法を書きます。
botがたくさん喋ってくれればクリスマスも寂しくないし、師走で忙しくても平気です。みんなで実在の人物を元にしたボットを設置して裏twitterを作り、最終戦争終結後もボット同士が喋り合いスーパーボット大戦しましょう。


主な機能は

  • あるユーザの過去の発言を3000件程度取得する
  • 発言データを再構成する
  • 再構成して発言する
  • followerにランダムに話しかける
  • followしてきたユーザをfollowし返す
  • 言及してきた発言をtwitter searchで検索し、favotiteし返す
です。

Read more

0

センチュリーの小型液晶 LCD-4300Uを買った→分解

century plus one(LCD-4300U)を買った。USB接続の4.3インチディスプレイデバイス。

Mac用のドライバもあるが、MacだとUSBハブを通すと認識しなかった。
とりあえずWindowsで3個つなげてみた
DSCF4330


サブディスプレイは、メイン側のGPUのアクセラレータを切らないと動画が再生できない事があるけどコイツは大丈夫だった。Direct3D、Flash、Quicktimeなどが表示できる
DSCF4332


Read more