Ruby

イラストロジック自動解答

たまには趣味のコードとか。って、いっつも趣味のことしか書いてないやんというツッコミはおいといて。 以前も Erlang で倉庫番ソルバーを書いたり、時折無性にパズルを解くコードを書きたくなるんだけど、今回はイラストロジックを解いてみた(お絵かきロジ…

Ruby/MySQL で ProtocolError が出るとき

そろそろ Ruby 1.9.2 の足音も聞こえてきたし、Ruby 1.8 用に作ってきた今までのスクリプトも 1.9 向けに直そうかな、せっかくだから MySQL/Ruby から Ruby/MySQL に切り替えよう、というシチュエーションでこんなエラーが出てしまう。 .../ruby-mysql-2.9.3…

Ruby 1.9.2 で動かした場合だけメルセンヌツイスター

【追記】 コメント欄にて yugui さんにご指摘いただいた(多謝)のですが、Ruby 1.8.0 から標準の rand はメルセンヌツイスターに変わっていました……。というわけで、この記事はまるまる無用です……。 【/追記】 Ruby 1.9.2 からは Random クラスが追加されて…

家に帰ったら Ruby で CPUID

Shibuya.lisp Tech Talk #4 LT発表資料 「さあ家に帰ったらSchemeのコード書いてみよう」 気付いたら Ruby 使ってる! Lisp が生かされる部分 アセンブラがS式で。 アセンブラがマクロ これは挑戦と見た!(違 というわけで Ruby で CPUID。 要 RXbyak 最新…

Mitaka.rb #5 で「明日使える超高速 Ruby」を話してきた

10/22 に三鷹駅近くのモダンタイムスさんで行われた Mitaka.rb #5 に、三鷹クラスタの一員として のこのこ行ってきた。 主催の @ysakaki さん他関係各位ありがとうございました&お疲れ様でした。 「Mitaka.rb ってどんなん?」という人には、→ @ysakaki さ…

iVoca の履歴から単語の難易度を計算

まずは iVoca のデータを使って自分で IRT で計算してみるところからかな。 というわけで、ユーザの学習履歴から単語の難易度を求めるコードを書いてみた。 ソーシャルっぽい! 残念ながら IRT(項目反応理論) について書かれた文献を持っていないのだが、id:…

PRML Hackathon #1

パターン認識と機械学習(PRML) Hackathon #1 という、集まって各自思い思いに好きなものを作る(ん?)*1という Hackathon があったので、のこのこ行ってきた。 せっせと実装して、 19時くらいから各自の作ったものを軽く発表。 PRML に直接関係ないことをや…

Ruby で MNIST 手書き文字データを扱う

PRML Hackathon #1 参加中。 はやくもプチ煮詰まり中(ぉぃ)。 Ruby で書いている人は他にいなさそうだが、気晴らしに Ruby で MNIST データを扱うためのコード片を さらしてみる。 require 'zlib' n_rows = n_cols = nil images = [] labels = [] Zlib::Gzip…

ニューラルネットワークで分類

ニューラルネットワーク作ってみた と XOR 学習させてみた の続き。 まず、ニューラルネットワークのエンジンをバージョンアップ。 誤差関数を選べるようにした。 逆伝播を実装。数値微分と逆伝播のどちらを使うか選べるように。 #(前略) # network network …

ニューラルネットワークでXORを学習させてみた

PRML 読書会 #6 がありました。皆さんお疲れ様でした。 読書会の内容については、別途。 id:tsubosaka さんに「(ニューラルネットワークの実装で) XOR の学習できました?」と聞かれて「出来るように作ったはずだけど、まだ試してない〜」と答えたので、試し…

PRML§5から多層パーセプトロンの実装

「パターン認識と機械学習(PRML)」5章の勉強して、ニューラルネットワーク実装してみたくならんかったらヤバいよね、ってくらい実装してみろオーラが出てたので、書いた。 少し汎用的に作ってみたかったので、R ではなく Ruby。http://github.com/shuyo/iir…

Mitaka.rb & pgcafe Nite! で「JavascriptでRubyの作り方」

普段 rb の付く集まりに行くことのない似非 Rubist なんだけど、「三鷹」がつくなら地元民として一度は行っとくかな、な感じで Mitaka.rb & pgcafe Nite! に のこのこ行ってきた。 関係者&参加者の皆さん、おつかれさまでした&ありがとうございました。 会…

Project Gutenberg のテキストデータから本文を抽出する

Project Gutenberg は小説や詩、論文、教養書、演説原稿などなどなど、著作権切れあるいは著作権のないテキストの一大データベース。主にはやはり英語だが、他の諸言語のデータもそこそこある。 このテキストはまるっと自由に使えるので、文章解析などをやる…

ruby で mixi OpenID を呼ぶには

なかば自分用メモ。まあ要は ruby-openid の TIPS。 ruby-openid を使おう。 http://openidenabled.com/ruby-openid/ gem install ruby-openid mixi OpenID は SSL 接続なので Net::HTTP の ca_file に証明書を設定せなあかんわけだが*1、ruby-openid は Ope…

IronRuby Alpha が出たらしい

http://blogs.msdn.com/shozoa/archive/2008/07/25/ironruby-alpha-release.aspx Silverlight 同梱の形では何度かお目にかかったが、ようやく IronRuby 単体での Alpha 版のお目見え。 以前 pre Alpha 1 が出たときに速度感を確認してみたりしたので、今回も…

英文から使われている語彙の数を算出する

英文の読みやすさを計ってみた前回の続き。 英文で使われている「語彙数」、語彙の種類の数は「読みやすさ」を示すとても単純な指標の一つだ。 しかし「単語数」を数えるのはスクリプトを書ける人なら誰でもできるだろうが*1、「語彙数」を数えるのはちょっ…

Rack でセッションを使う

Rack を使って Web サーバで統一されたインターフェイスの利用する http://d.hatena.ne.jp/secondlife/20070307/1173253661 Rack:a Ruby Webserver Interface http://rack.rubyforge.org/ Rack を使えば生 Ruby で WEBrick や Mongrel や FastCGI やいろい…

IronRuby Pre Alpha 1 で WPF を試すの巻☆その2

前回の最後で「 WPF がちょっと楽しくなってしまって、IronPython に浮気中。こっちは少し頑張れば結構おもしろいものができそう〜」と書いたが、実は LL魂のライトニングトーク用のプレゼン資料がそれだった(動画がこちら)。 おかげで IronPython で WPF を…

IronRuby Pre Alpha 1 で WPF を試すの巻☆その1

IronRuby を試してみて、まだ Ruby としては事実上使い物にならないけどパフォーマンスは期待しといてよさそう、というのが前回。 今回は IronRuby から WPF ( Windows Presentation Foundation、旧称 Avalon ) をびしばし叩いてみたい。 といっても、簡単な…

IronRuby Pre Alpha 1 リリースされたので軽く速度感を確認してみた

A first look at IronRuby http://www.iunknown.com/2007/07/a-first-look-at.html 楽しみにしていた IronRuby が(一応)出た。 ビルドして軽く動かそうとしてみたが、既存のスクリプトがことごとく動かない…… とりあえず簡単に試した範囲で、正規表現がどう…

対戦Blokusの思考ルーチンをRubyで書けるようにしてみた

というわけで昨日の Ruby のオブジェクトを Java に渡す記事をふまえて、いよいよ「対戦 Blokus」の思考ルーチンを実際に Ruby で書いてみる。 「対戦 Blokus」の思考ルーチンは、interface IComputer の implements である abstruct class AbstractComputer…

JRuby1.0 で Ruby から Java にオブジェクトを渡す際の細かい挙動あれこれ

前回の記事 http://d.hatena.ne.jp/n_shuyo/20070627/jruby では、既存の Java アプリケーションを JRuby(jirb) の中から起動すれば、ちょうど Ruby コンソール付きで起動した状態となり、稼働中の Java アプリケーションの内部を対話的に操作できることを紹…

既存の Java アプリに JRuby コンソールをつけてみる

いろいろ目移りしてなかなか進んでいないブロックス・デュオ。 とりあえずの目標は西尾さんとそれぞれが作った思考ルーチンで対決することなのだが、自動対戦させようと思ったらなにがしかのプロトコルを決めないといけない。 言語や環境に依存してしまえれ…

Pythonコード添削道場にRubyで乱入w

Pythonコード添削道場 コード募集 とかいうおもしろいことが始まったので、Ruby で直接乱入……はちょっと気が引けるから、自分のblogに書き散らかしてみよう。 お題1:ファイルの同期 二つのディレクトリ下のタイムスタンプを比較して、同期を取るプログラム…