ruby

RVMでインストールしたrubyをcronとかで実行する。

RVMは非常に便利なのだけど、cronなどから実行するとライブラリのパスなどがおかしくなって実行できなかったりする。 そこで下のようなスクリプトを書いて、 rvm_exec.sh 1.9.2 my_script.rbのように実行するようにした。 rvmのインストール時に.bashrc に追…

「0年」というのがあるという事を初めて知った

今、サイモン・シン「宇宙創成」という本を読んでいます。すごく面白いです。前作の「暗号解読」、前々作の「フェルマーの最終定理」も良かったのですが、今回も期待通りです。サイモン・シンにハズレなしですね。文庫版上巻120ページで以下のような記述を見…

エンタープライズRails読書まとめ

エンタープライズ Rails ―企業ユーザのためのWebアプリケーション設計術作者: Dan Chak,高井直人,笹井崇司出版社/メーカー: オライリージャパン発売日: 2009/07/23メディア: 単行本(ソフトカバー)購入: 36人 クリック: 751回この商品を含むブログ (17件) …

Rubyist九州7月定例会での発表内容

昨日、Rubyist九州の7月定例会が行われ*1、自分はどういうわけか*2幹事として参加し、初心者向けの発表をさせていただきました。20090704rubyist九州View more documents from koki_h.あまり大したことは話せてないのですが、Pepperを使ったデモ*3がウケたの…

Sinatraを試してみたけどそんなにすんなりいかなかった。(すぐに解決したけど)

前から気になっていた軽量フレームワーク"Sinarta"。 評判がいいので自分も試してみました。 Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。に最小限のサンプルコードが良くまとまっているのでこれを見ながら試してみました*…

ele_drumuino.rbはarduinoを持ってなくても遊べます。

KPFやRubyist九州で発表させていただいたエレドラもどき、ele_drumuino.rbには隠し機能(?)があって、実はarduinoがなくてもリズムマシンとして使えてしまうのです。 ソースはこちら↓ GitHub - koki-h/ele_drumuino.rb: A easy going drum kit made of rub…

lambdaでしょ、やっぱり

Perfume新作アルバムタイトル発表!しかし読み方不明 - 音楽ナタリー "->"よりも"lambda"って書き方のほうが好きだし、"b"を忘れずに書けたたときの快感や間違えて"lambada"にしてしまったときの「しまったー」な感じは何ものにも代えがたいよ。だから新タイ…

ele_drumuino.rbがあなたのPCでも動かしやすくなりました。

Rubyist九州やKPFでお披露目したエレドラもどき(ele_drumuino.rb)をちょっと修正してarduinoがつながっているポートを自動で探すようにしました。 実は今まではどのポートにaruduinoがつながっているか人が調べて、それにあわせてソースコードを修正する必要…

昨日KPFで「Arduinoの話」をしました。

昨日はKPF(熊本プログラミングフリークス)の勉強会で発表させてもらった資料です。 11枚目、「写真をクリックで音声を再生」がSlideShareだと効かないので、オリジナルへのリンクを貼っておきます。 http://arduino.cc/en/uploads/Main/Arduino_Duemilanov…

ruby-soundwaveで和音や倍音を含む音が割とかんたんに作れることに気づいた。

先日のRubyist九州で発表した*1ruby-soundwave*2で異なる周波数の音をたくさん作って重ねれば和音や倍音を含む音が結構かんたんに作れることに気づいた。 まあ当たり前と言えば当たり前か。 3度、5度の和音を作るコードは以下。 require 'soundwave' base_no…

Make: Tokyo Meetingで展示したものの情報はこちらのURLです。

http://github.com/koki-h/ele_drumuino.rb/ ArduinoとrubyでつくったエレドラもどきをMake: Tokyo Meetingで展示させていただきました。 そのときこの日記やgithubのプロフィールページやtwitterのURLを書いた名刺を配ったのはいいものの、 展示したものの…

Rubyist九州定例会で発表した

久しぶりに行った。九州Ruby会議以来じゃなかったか。 AIPカフェの場所がわからなくて困ったが道で運よく参加者の方の一人と出会うことができたので助かった。 "AIP cafeについて" ジョウキュウ醤油の向かいにある煤(すす)という店の脇の路地を南側に入っ…

Rubyist九州定例会のログ

自分の主観や勘違いが入っていると思う。変な書き方になってたらすみません。

Array#packとString#unpackを使うときの注意点

数値がフォーマットの精度いっぱいまで桁数を使っているとunpackのときにマイナスの値だと解釈される可能性がある。(逆も。マイナスの値がプラスと解釈される場合もありえる) [0xffffffff,0xffffffff].pack('L*').unpack('L*') #unsigned - unsigned #=> […

オブジェクトの中身を見る関数

rubyのpやppのような関数をpythonでも使いたいと思って 2ちゃんで教えてもらった。ありがとうございます。p? http://docs.python.org/library/functions.html?highlight=repr#repr http://docs.python.org/library/repr.html#module-reprpp? http://docs.py…

π(円周率)の近似を計算してみた

サイモン・シンのフェルマーの最終定理を読んでたらπ(円周率)の近似を求める話がなんかの例として出ていた。 π = 4 * (1/1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + 1/13 - 1/15 …) と言う計算をずっとやっていくと近似値を求められるそうだ。 <追記 2008/12/15…

Ruby/Tkをソースから入れるには

Rubyist九州会議の永井先生のプレゼンを見て、Ruby/Tkを触ってみたいと思い、手持ちのCentOS4.6環境で試してみようとした。 が、irbで require 'tk' とやるとエラーになる。 irb(main):001:0> require 'tk' LoadError: no such file to load -- tk from (irb…

wirbleは便利だけどプロンプトがシンプルすぎる。でも色付けや補完はしたい

wirbleはirbの機能を強化して、キーワードの色付けやクラス名やメソッド名の補完をやってくれるツール。 便利だと思うのだけど、irbのプロンプトが >> になって今の行番号がわからない。エラーになったときとか考えるとちょっと不安だったりするのでデフォル…

コマンドラインからTwitterに投稿する

コマンドラインから起動されると引数に指定された文字列をポストする。 エラー処理も何もなくて完成度低いのだけど(いつもか)貼っておく。 #!/usr/local/bin/ruby require 'net/http' twitter_host = 'twitter.com' update_path = '/statuses/update.xml' us…

Twitterにログインして「みんなのつぶやき」をとってきてDBに入れる

昨日作ったやつ(http://d.hatena.ne.jp/koki-h/20080528/1211978415) だと非公開の人の発言が取れないので直した。 #!/usr/local/bin/ruby require 'rss' require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.establish_connection( :adapt…

TwitterのタイムラインをとってきてDBに入れるやつ

最近、Twitterがぶっ壊れていて1ページ目の発言以外は見れなくなっている。 すぐに過去の発言が見えなくなってしまう。 なので以下のようなスクリプトをcronで実行してsqlite3データベースに保存することにした。 #!/usr/local/bin/ruby require 'rss' requi…

昨日書いたやつ、バグってた。

フィルターすると場合によっては同じ記事が重複するという不具合があったので直した。 まあ一応あげておく。 #!/usr/local/bin/ruby require 'open-uri' require 'jsonparser' require 'erb' def get_json_items(uri) src = open(uri).read parser = JsonPar…

Yahoo!PipesからJSONをとってきてごにょごにょ

某サイトのRSSからYahoo!Pipesを使って必要な情報を抜いてくることをしていたんだけど、Yahoo!Pipesのフィルターで日本語が通らないみたいなので途中まではYahoo!Pipesにやらせて後は自分でごにょごにょすることにした。久々に家でコードを書いたので載せと…

GCについて勉強してみる。(第1回)

Rubyist九州でid:autherNariid:authorNari(ID間違えてた。ごめんなさい。2008.3.16 12:14)さんのGC愛を目の当たりにした俺は自分もGCを勉強してみることにした。 GCとは何か 必要のないメモリ領域(以下「メモリ」)を開放すること →では「必要のないメモ…

rexmlライブラリでエラー

Ruby1.9がリリースされ、年も明けた(関係ない)ので早速試してみました。笹田さんに人柱志願した手前もあるのでとりあえずRuby1.9で手持ちのSubversionのログを整形するRubyスクリプトを実行してみると、以下のようなエラーになりました。 ちなみにartonさ…

Ruby 1.9.0 リリース!

Ruby公式ページでリリースが告知されてました。記事の日付が12/25なので、あれ?と思ったら、 日付変わっちゃった http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/44387 だそうです。ゆきひろかわいいよゆきひろ。

Ruby1.9マダー?

12/25にリリースが予告されていたRuby1.9ですが、日付が変わって26日になってもまだリリースされていません。 人柱になる気満々なんですが。残念だなー(棒読み)。公式ページには代わりに以下の記事が掲載されていました。 「Rubyリファレンスマニュアル刷…

Dave Thomasのサイン入りTシャツキター!

「プログラミングRuby」や「達人プログラマー」の著者であるDave Thomas氏のサイン入りTシャツが当たりました! Web+DBPressで小飼弾さんがインタビューした記事の読者プレゼントなのです。 #8 達人プログラマー Dave Thomas(前編) RubyにはMatzの受けた…

format_svn_log.rbの修正

RubyにはHashがあるのでアクセサだけのクラスをわざわざ作るのは無駄でした。 なので、修正しました。 #!/usr/bin/ruby #format_svn_log.rb require "rexml/document" require "time.rb" require 'erb' class LogEntries < Array def initialize(log) begin …

format_svn_log.rb(Subversionのログを見やすく整形)

結局Rubyでやりました。日付のところもまったく問題なし。 以下に公開しておきます。 見やすく整形といってもしょぼい出力しか出てきません。 デザインセンスが欲しい・・ ちなみにXMLパーサもテンプレートエンジンもRubyインタプリタに標準添付のものだけで…