2010-01-01から1年間の記事一覧

ffi-mecabインストール

git clone http://github.com/yoidoreorg/ffi-mecab.git cd ffi-mecab rake package gem install pkg/ffi-mecab-0.1.2.gem

zeromqをwindowsにインストール

http://www.zeromq.org/docs:windows-installationsmsysgitインストールしてから、 cd ~/ mkdir tmp cd tmp git clone git://github.com/zeromq/zeromq2.gitbuilds/msvc/msvc.slnをvisual studio 2008 express(お金かからないやつ)でビルドした。ここまで…

rubyでskypebot作れる

Ruby4Skypeを使う require "rubygems" require "skype" puts "start" app_name = "test_app" Skype.init app_name Skype.start_messageloop Skype.attach_wait s = Skype::Application.new(app_name) s.invoke("MESSAGE shokaishokai hello") # 相手を指定し…

rubyでskypebotを作る

環境はUbuntu10.04skype apiを使うためにvncサーバーを起動する tightvncを使ってたんだけどキーボード配列がおかしい。adgjを押すとasdfと出る。真ん中の段はズレがわかるけど他の段はメチャクチャ vnc4serverに換えたらokだった sudo apt-get remove tight…

Skypeのグループチャットにメッセージ送信

rb-skypemacのソース読んでたら、 Skype.send_(:command => "コマンド") で生のSkypeAPIに触れられる事がわかった。apple scriptのインタフェースを使っているらしい。chat系はrb-skypemacはラッパーが用意されてないけど、send_使えば http://developer.sky…

文字列と数値とかの連結

C++

今までboost::formatを使ってたけど使わないとしたら、stringstreamを使うものらしい。めんどい。 #include <sstream> using namespace std; ostringstream os; os << "tmp/" << 35 << ".jpg"; // 連結 string out_filename = os.str();</sstream>

skypeでワン切り

rb-skypemacたのしい gem install rb-skypemacruby -rubygems -e 'require "rb-skypemac";include SkypeMac;Skype.call("username").hangup'これ連打すると普通にchatで話しかけるより気づいてもらいやすい!

さくらのVPSにUbuntu10.04をインストール

月980円のやつ。契約してサーバー起動してCentOS消してUbuntu入れ直すまでで30分ぐらいでできた。 Ubuntuインストール中、Chromeだとリモートコンソールがしょっちゅうタイムアウトするのが面倒だった 参考:さくらのVPSにUbuntu 10.04 LTSをインストールし…

gem使うとno such file to load -- zlibというエラーがでる

rvm使っている rvm use 1.9.2 cd ~/.rvm/src/ruby-1.9.2-p0/ext/zlib ruby extconf.rb make make install これでgem使えるようになった gem update gem install rake sinatra thin rack rspec

newgem1.5.3でのgem雛形作成エラーをなんとかする

newgem zanmai -T rspecすると "undefined method `merge' for false:FalseClass"というエラーが出るnewgemでgemビルド時にrubyforgeのアカウント情報が必要と言われるようになった - 橋本詳解で、rubyforgeのアカウントが必要だったけど持ってなかったので…

Ubuntu10.04にx264が使えるffmpegをインストールする

ライセンスの関係でx264入ってないので、入れた。 http://ubuntuforums.org/showthread.php?t=786095.movで書き出せるようになった。 sudo apt-get remove ffmpeg x264 libx264-dev sudo apt-get install build-essential subversion git-core checkinstall …

rvm use jruby gem install ruboto-core which ruboto

swingを使う

jruby -rubygems -ropen-uri -rjava -e 'import "javax.swing.JFrame";import "javax.swing.JTextPane";f=JFrame.new;f.title="サイバーパンク!";f.setSize(320,240);f.visible=true;textp=JTextPane.new;textp.text=open("http://shokai.org").read;f.cont…

pdfから画像を抜き出す

sudo port install Xpdf mkdir ~/out pdfimages -j book.pdf ~/out/ jpegを結合して作ったpdfからjpeg連番ファイルに戻せた

mongoid/mongo/bson/bson_ext最新版をインストールしてると、違うバージョンのbsonをloadしようとしてエラーが出て困る

全て最新のもの、つまりmongoid(2.0.0.beta.16)とmongo(1.0.8)とbson(1.0.6)とbson_ext(1.0.6)を使っていて、 require 'rubygems' gem 'mongoid','2.0.0.beta.16' require 'mongoid' するとエラーが出る /Users/sho/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/si…

gemで色々いれる

gem install mongo bson bson_ext gem install mongoid --pre gem install rspec ArgsParser rdoc nokogiri mechanize newgem g sinatra sinatra-reloader sinatra-auto-reload sinatra-mongoid thin xmpp4r feed-normalizer twitter oauth

rvmで入れた各rubyにmecab rubyバインディングをインストールする

mecab rubyバインディングはgemでインストールできないので、rvmで入れた各バージョンのrubyからmecabを使うのは少し面倒。 今までportで入れたrubyから、portのrb-mecabを使ってたけど、rvmで$GEM_HOMEが切り替わるとportで入れたrubyバインディングが読め…

rvmでrubyのバージョンを切り替える

http://runeleaf.wordpress.com/2010/02/07/ruby-rvm%E3%81%A7ruby%E3%81%A8%E3%81%8Bgem%E3%81%A8%E3%81%8Brake%E3%81%A8%E3%81%8B%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88/macbookproにrvmいれた。ma…

正規表現でfind

自分で単語を切ってindexを作れというdocumentもあるが http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo (これ同じように日本語のindexで作って、Ruby driverとjsのコンソール両方で試したけど日本語でちゃんと探せたのでmecabとか使って同…

Mongoid2.0で_idでfind

require 'rubygems' gem 'mongoid','2.0.0.beta.16' require 'mongoid' user = User.first(:conditions => {:_id => BSON::ObjectID("4c71228232e569270a000002")}) puts user.to_json 1.9までは_idがstringだったけど2.0のbetaではBSON Objectで入っている…

LDRの未読件数

tweet_logというコマンドを用意してあって、ログ用のtwitterアカウントにARGVを投げれるようにしてあるので ruby -rubygems -e 'require "open-uri"; n=open("http://rpc.reader.livedoor.com/notify?user=shokaishokai").read.scan(/(\d+)/).first.first.to…

Android2.2にアップデート

香港から輸入したSIMフリー版Desire。メニュー→設定→この携帯電話について→システムソフトウェアの更新→今すぐチェック 1回目でダウンロードして、2回目でインストールされた。変わったところ APNの設定が消えたので設定し直した。 FlashLightというアプリが…

mongodb インストール

rackspaceは全部64bitなので、64bit版を入れる wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.0.tgz tar -zxvf mongodb-linux-x86_64-1.6.0.tgz cd mongodb-linux-x86_64-1.6.0/bin sudo cp * /usr/local/bin/

mongoid2にする

公式ドキュメントが2 validateが2じゃないと使えない(rails3のactivemodelを使ってる) collection間のreferences_manyとかが2じゃないと使えない なので2をインストールしてみる sudo gem install mongoid --preSuccessfully installed activesupport-3.0.…

Cでsub

sub.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <zmq.h> #include <assert.h> #define MSG_SIZE 128 int main(int argc, char **argv){ printf("sub start\n"); int rc; void *ctx, *sock; zmq_msg_t msg; assert(ctx = zmq_init(1)); assert(sock = zmq_socket(ctx, ZMQ_SUB)</assert.h></zmq.h></string.h></stdlib.h></stdio.h>…

ZeroMQ C++でsub

http://api.zeromq.org/zmq_cpp.htmlこれを #!/usr/bin/env ruby require 'rubygems' require 'zmq' ctx = ZMQ::Context.new sock= ctx.socket(ZMQ::SUB) sock.connect('tcp://127.0.0.1:5000') sock.setsockopt(ZMQ::SUBSCRIBE, 'count') loop do puts sock…

今度こそZeroMQ C++ bindingからpubする

http://d.hatena.ne.jp/shokai/20100811/1281492751 のC++ binding版 Cの関数のラッパーなので先にCで試してからだったら照らし合わせて(http://api.zeromq.org/zmq_cpp.html)理解が早かった pub.cpp #include <stdio.h> #include <iostream> #include <string> #include <zmq.hpp> #include <boost/format.hpp> usi</boost/format.hpp></zmq.hpp></string></iostream></stdio.h>…

C言語からRubyへ送る

参考:http://www.zeromq.org/docs:cookbook C++ bindingの使い方がいまいちわからなかったのでCのを使っているpub.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <zmq.h> #include <assert.h> int main(int argc, char **argv){ printf("pub start\n"); int rc; void *ctx, *soc</assert.h></zmq.h></string.h></stdlib.h></stdio.h>…

zeromqインストール、twitter stream APIを中継

ぜろむきゅー wget http://www.zeromq.org/local--files/area:download/zeromq-2.0.7.tar.gz tar -zxvf zeromq-2.0.7.tar.gz cd zeromq-2.0.7 ./configure make sudo make installソースから入れてるのはC++ binding目当て それからgem入れる sudo gem insta…

JRubyをcrontabで動かす

よく考えたら.zshrcに書いてた環境変数がcrontabでは読み込まれて無い→JRubyがgemの場所を解決できてなかったcrontabの一番上にでも書いておく SHELL=/bin/zsh GEM_HOME=/usr/lib/ruby/gems/1.8 PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/loc…