Ruby

新プログラミング言語「ゴリスペース」を公開しました

霊長類の中でも特にオランウータン・チンパンジー・ボノボ・ゴリラの知能は高く、人間の5才児程度に相当し、ある程度は抽象的な思考もこなせることが分かっています。言葉に関しても手話を操るチンパンジーやゴリラの話は有名でしょう。中でもゴリラについて…

RubyKaigiが次回最終回だということについて

本年も成功裏に終了したRubyKaigiだけど、来年で最終回だとか。正直本当に終わると思ってないし、仮に現在の中心スタッフが止めても、他の誰かがなにかしらやるでしょ。そういう次世代イベントの中心メンバを育てるための場がRegional RubyKaigiだと勝手に思…

Ruby会議2010の資料を公開しておきますね

RubyKaigi二日目の今日はぶっちゃけ「超絶技巧 Ruby プログラミング」がぶっちぎりですごかったですが、それはそれとしてとりあえず私のLTの資料を公開しておきますね。http://www.nicovideo.jp/watch/sm11918830TokyuRubyKaigiでプログラムの「プ」の字も出…

RubyでGoogle Waveのロボットを作れるライブラリ作りました

http://github.com/technohippy/ruby-wave-robot-api今年のGoogle I/OでGoogle Waveのロボットプロトコルが公開されたので、ちょっと待ってればいろんな言語のライブラリが出てくるのかなーと思ったら全く出てこなくて*1、待ちきれずRuby版を自分で作ってみ…

TokyuRuby会議のLT資料を貼っときますね

今日はTokyuRuby会議02でした。 前日寝ながら構成考えて資料は当日の朝やろうとか思ってたのに、起きたら13時を軽く過ぎてたので、慌ててググって拾ってきた画像やら文章を適当に貼りつけてるだけです。これだけ見ても何も分からないと思います。ごめんなさ…

チラシの裏

http://wota.jp/ac/?date=20100426#p01 やめて。Matz、石は痛い。 ある時、Matzが弟子たちを連れて街中を歩いていると 一人の舞波がRubyistから石を投げつけられていた。 なぜこんなことをしているのかと、弟子がRubyistの一人に問うと、 「この男はScalarだ…

Ruby1.9のProc#call呼び出し

RubyのProcは処理を実行するために #call を呼ばないとだめなんだけど、JavaScriptやPythonみたく (args, ... ) で実行できた方が嬉しいとみんな思ってるはず。つまり proc = lambda{|arg| do_something(arg)} proc.call('hello') じゃなくて proc = lambda{…

あいまいなRubyの私

なんとなく面白いかなと思ってfuzzy rubyつくりました。 http://github.com/technohippy/fruby count = 0 1000.times do if true then count += 1 end end puts count #=> 1000 if ... then はこれまでどおり100%。 count = 0 1000.times do if true probabl…

Mitaka.rbでObjective-Rubyについて話しました

Smalltalk勉強会と同じです。使い回しでスイマセン。あとカリスマ第二弾を期待してたならそれもスイマセン。技術ネタならともかく一発ネタを繰り返す度胸はないんです・・・。 んでObjective-Rubyとはなにかというと、もちろん真にオブジェクティブなRubyの…

クリスマスRubyの作り方

作り方と言うかやったことのメモ。結論から言うとparse.yを"here"で検索してヒアドキュメントのところを片っ端からコピペしてちょっと修正。 まずはparse.yのスキャナ部分をいろいろコピペして、XMLリテラルの開始と終了</識別子>を処理できるように変更。細かいのが…

Qu'ils mangent de la X'ruby(クリスマスリリースがないならクリスマスRubyを作ればいいじゃない)

この記事はRuby Advent Calendar2009の最終日です。昨日は@tomoya55さんでした。 メリークリスマス! = Merry Xmas! ≒ Merry Xml! ということで、XMLなRubyの話をします。 TokyuRuby会議*1でこんなことを言った人がいました。 「Rubyは90年代のいいとこ取…

Rubyistしょうぎ

こうですか?わかりません>< http://apps.technohippy.net/rubyist-shogi/gadget.xml (Google Wave)

カリスマ入門

http://docs.google.com/present/view?id=dchb3tb2_137ddk9gfhb ただ立っているだけでも感じられるその大物感。不合理なことを言おうと理不尽なことをしようと、勝手に周囲が深読みをしてカリスマは高まる一方。もはやチートとしか言いようのないポジティブ…

TokyuRuby会議基調講演を終えて

TokyuRuby会議において基調講演の大役を果たし、ついに私もカリスマへと登り詰めました。つまり、プレゼンタイトルの「カリスマ入門」とは「カリスマになる方法を説明する」という意味と「今日これからカリスマになる」という意味のダブルミーニングだったん…

_why君、どこ行ってもうたんや・・・

タイトルは気にしないでください。Rubyistならたぶんみんな知ってる、一風変わったものを作らせたら超一流のwhy the lucky stiffがWeb上から消えてしまったらしい。今日は朝からRuby界隈がいろいろと騒がしかった。で、そんな_why絡みの文章の中にちょっとい…

物理エンジンでゲームのようなものを作ってみた

空から何かが降ってくるので、カーソルキーで左右に移動してよける。スペースキーでジャンプ。3回当たったら終了。まるで横スクロールみたいだけどスクロールしません。どこにも行けないし何も起きません。ゲームと呼ぶには楽しくなさ過ぎるわけですが、せっ…

Ruby物理エンジンにRuby/Tkで描画するサンプルを追加しました

http://github.com/technohippy/Pongo/tree/masterあとなんかいろいろとバグがあったので修正。目視・手打で移植すると当たり前だけどいろいろ間違えるっすね。p1とp2、一文字違いに気づくのに2日かかって心が折れかけた・・・。 ともあれ、これでLinuxな人…

Google WaveのRobotをRubyで作る

昨日の夜にGoogleオフィスでWave Hackathon(?)があった。そのときにWave RobotをGAE/J上でJRuby使ってSinatra上で動かしてみたので、以下にやったことのメモなど。と言っても実はWave-Robot-Sinatra-Templateって言うのがすでに存在するのでほとんどやること…

2D物理エンジンをRubyに移植してみました

http://github.com/technohippy/Pongo/tree/master 先週のRubyKaigi2009で「Rubyで*1何か作りたい欲」を激しく刺激されたので、前から欲しかった物理エンジンをRubyに移植してみた。本気アプリならChipmunkのRubyバインディングでFAっぽいけど、ピュアRubyの…

RubyKaigi2009に参加してきました

3日間に渡ってすばらしいカンファレンスを運営されたスタッフの皆さん、お疲れさまでした&有意義な時間をありがとうございました。以下に、疑似ぱふぱふで私のRubyコミュニティに対する感謝の気持ちを表したいと思います。某会議運営委員長に ぱふぱふ 某会…

GAE HackathonでJRuby on Railsの一言掲示板つくった

GAE Hackathon Disk3詳細Winノートには開発用のツールが何にも入ってなかったのでJavaやらgitやらなんやかやインストールするだけで持ち時間半分くらい消費して心が折れかかってたけど、最終的に作業時間が一時間追加されたこともあってなんとか動作。ほとん…

RoR on GAE/Jでユーザー認証使ってみた

http://itrain.appspot.com/top/secretYARBLの人が作ったBeeU使うと超簡単だった。というか正直言えば、使わなくてもたぶんそれほど難しくない。まずBeeUの本体を取って来てlib以下に置く $ git clone git://github.com/olabini/beeu.git $ cp beeu/beeu/bee…

JRuby on Rails on GAE/J 動いた

いまさら注記 $JRUBY_HOME/binはPATHの最後に追加して、ruby絡みのコマンドをjrubyで使うときはjruby -Sするのが正解ぽいです。 set $PATH=$PATH:$JRUBY_HOME/binで、例えばこんな感じ jruby -S gem install rails http://itrain.appspot.com/基本的には昨日…

複数のタイプのモデルを更新するフォーム

form_for ってモデルを一つしか指定できないんだけど、複数のモデルの情報を更新したいときってどうするんだろ。fields_for ってないのかな、なかったら作ろうかな、とか思ってソース見てたら、何のひねりもなく名前まで想像通りのがあった。 # actionpack-2…

マルコフ過程なウホホイウッホ

「ぼくゴリラ ウホホイウッホ ウホホホホ ウッホホウッホ ウホホホホーイ」 第57回左千夫短歌大会の市長賞作品に感動が抑えきれないので、ウホホ変換スクリプトを組むことにした。まず元作品から状態遷移図を作成。矢印のそばにある数字は遷移確率。 その…

Arrayの序数アクセサをGit登録&ジンバブエ対応

先日の序数アクセサはDHHに「中途半端」などと暴言を吐きながら、結局利用可能な最大インデックスは一千兆と、ジンバブエのインフレにも対応できていない中途半端なものだった。そこで今回ライブラリをGitに登録するにあたって対応数を大幅に拡大した。今回…

Array#one_hundred_thirty_two_thousand_six_hundred_and_forty_eighth とかできるよ

Rails2.2でなんとArrayオブジェクトのアクセサとして#second 〜 #tenthなんてのができちゃった。だいたい分かると思うけど ary.second は ary[1] と同じで、ary.tenth はary[9] と同じ。正直これにはがっかりした。DHHにしては中途半端と言うほかない。なん…

iKnow Web App for iPhoneできました

http://apps.technohippy.net/iknow3g iKnow APIコンテスト提出作品第二弾。学習結果を送り込むようなAPIはないので復習専用だけども。あと、待ってればCeregoからiPhoneアプリ版が出そうな気がして仕方ないけれど。トップはこんな感じ。iKnowの学習履歴と、…

CAPTCHA on iKnow!のデモサイト立ち上げた

http://apps.technohippy.net/captcha_on_iknow_demosCAPTCHA on iKnow!は一応iKnow!のコンテスト「iKnow! API KICK OFF!」の応募作ってことにしてるんだけど、どうも動いているサービスがないと評価対象にならないっぽい。しょうがないのでとりあえずデモサ…

三鷹市でまつもとゆきひろさんと対談

「進化し続けるRuby、その未来について」 あんどう 「すべての言語はLispに近づくわけですが、Rubyの未来もやはり?」 まつもとさん 「そうですね。Ruby2.0ではネストした括弧の省略が禁止されるんですが、これもLispに近づこうという努力の結果です」 あん…