タグ

ブックマーク / technohippy.hatenadiary.org (13)

  • 打ち初め - ずっと君のターン

    第27回Smalltalk勉強会で話してきました 過去に「SmallTalk R4.1チャレンジ」というのをやったことがありますが、今年最後のネタふりとして、「super super, sub subチャレンジ」「マルチラインクラス・メソッドチャレンジ」というのを挙げておこうと思います。年末年始にかけて時間がある! という方はぜひいろいろな言語で挑戦してみると面白いのではないでしょうか。 Smalltalk勉強会でAAをクラス名やメソッド名にするというすばらしい発表があったので、Rubyでも(無理やり)やってみました。 マルチラインクラス定義。 # aa_classes.rb mclass " ____ /   u \ /  \    /\    飽きやすい2ちゃねらのことだから /  し (>)  (<) \  そろそろ沈静化してるはず・・・ | ∪    (__人__)  J |  _

    打ち初め - ずっと君のターン
    taka222
    taka222 2011/01/01
  • URubyリリース! - ずっと君のターン

    Merry Christmatz!!*1 今年もクリスマスRubyの季節がやって来ました。今回のRubyは「U」です。 ・・・ RubyとSmalltalkの関係についてはいろんな受け取り方があるようですが、利用感がなんとなく似てるのは事実でしょう。しかし我々Rubyistにとっては残念なことに、フリーダムさという点でRubyはSmalltalkに一歩劣ると言わざるを得ません。 例えばSmalltalkにはSmalltalk環境自身を表す"Smalltalk"というのグローバル変数があります。これは変数ですから値を再代入できます。Squeakを持っている人は"MVC Project"を開き*2、ワークスペースで次の様に入力してください。 ポチッ(Command+d)とな。 ・ ・ ・ はい、実行するとフリーズしてなにも反応が帰って来なくなりますので、Squeakを強制終了してください。 こ

    URubyリリース! - ずっと君のターン
    taka222
    taka222 2010/12/27
  • 新プログラミング言語「ゴリスペース」を公開しました - ずっと君のターン

    霊長類の中でも特にオランウータン・チンパンジー・ボノボ・ゴリラの知能は高く、人間の5才児程度に相当し、ある程度は抽象的な思考もこなせることが分かっています。言葉に関しても手話を操るチンパンジーやゴリラの話は有名でしょう。 中でもゴリラについては実際に森に住むゴリラと人間が言葉でやり取りをすることさえ可能で、京都大学の山極寿一教授は10種類ほどのゴリラ語を話すことができるといいます。そう考えると彼らの為のプログラミング言語があってもおかしくありません。いや、むしろ無いことの方がおかしく思われます。 そこで私はゴリラ用プログラミング言語「ゴリスペース」を開発しました。*1 ソースコードサンプル Hello World ウホホホホウホホホ、ウホホ。ウッホホ。ウホホホホウホウッホホホホ。ウホホホホ、ウホホウホウホホーイウッホウホホホーイ。ウホホホホウホウホホホホ、ウホホウホホホホ。ウッホホウッホホ

    新プログラミング言語「ゴリスペース」を公開しました - ずっと君のターン
    taka222
    taka222 2010/10/17
  • RubyKaigiが次回最終回だということについて - ずっと君のターン

    年も成功裏に終了したRubyKaigiだけど、来年で最終回だとか。正直当に終わると思ってないし、仮に現在の中心スタッフが止めても、他の誰かがなにかしらやるでしょ。そういう次世代イベントの中心メンバを育てるための場がRegional RubyKaigiだと勝手に思ってるし。 ただ、それはそれとして「RubyKaigiを一度終わってみる」っていうのはホントにいいことだと思う。 (たしか)一昨年の角谷さんのゆるふわセッションを私は大笑いしながら見てたんだけど、終わってから他の人の書いたレポート見てるとなんとなく違和感があった。まぁ詳細レポートを書くような人はそれだけ多くを受け取った人だから思い入れも激しいのかなぁと思ったりしながらその時は違和感を気にしないことにしたわけだけど。 それで迎えた昨年の角谷さんのセッション。もちろん発言は示唆に富んでるし、事前にかっちり準備をしながらも、それ以上に

    RubyKaigiが次回最終回だということについて - ずっと君のターン
    taka222
    taka222 2010/08/31
  • RubyでGoogle Waveのロボットを作れるライブラリ作りました - ずっと君のターン

    http://github.com/technohippy/ruby-wave-robot-api 今年のGoogle I/OでGoogle Waveのロボットプロトコルが公開されたので、ちょっと待ってればいろんな言語のライブラリが出てくるのかなーと思ったら全く出てこなくて*1、待ちきれずRuby版を自分で作ってみた。んで、考えて見ればv2対応した自家版ロボットライブラリって初かもしれないので「どやっ」って感じでGooge Waveのフォーラムで公開したらほぼ相手にされなかったから、ションボリしつつここで自分で紹介することにする。 サンプル サンプルコードはいまのところこんな感じ。もうちょっと動いたら糖衣メソッド作って使いやすくするつもり。 require 'rubygems' require 'sinatra' require 'waveapi' robot = Waveapi::Rob

    RubyでGoogle Waveのロボットを作れるライブラリ作りました - ずっと君のターン
    taka222
    taka222 2010/07/30
  • チラシの裏 - ずっと君のターン

    http://wota.jp/ac/?date=20100426#p01 やめて。Matz、石は痛い。 ある時、Matzが弟子たちを連れて街中を歩いていると 一人の舞波がRubyistから石を投げつけられていた。 なぜこんなことをしているのかと、弟子がRubyistの一人に問うと、 「この男はScalarだからだ」 それを聞いたMatzはRubyistにこう言った。 「ならばしかたがない。続けなさい」 そしてこう続けた。 「ただし、一度もScalaに靡いたことのない正しき者だけ この舞波に石をぶつけなさい」 Rubyistは、とまどい、やがて一人また一人とその場を離れ 石をぶつけているのはMatzただ一人だけとなった。とか言うシーンが頭をよぎった。

    チラシの裏 - ずっと君のターン
    taka222
    taka222 2010/05/03
  • Appleはモジュラープログラミングを禁止している - ずっと君のターン

    ちょっと面白かったので訳してみた。 http://3dpancakes.typepad.com/ernie/2010/04/apple-bans-modular-programming.html Appleはモジュラープログラミングを禁止している 新しいiPhone開発者ライセンスにiPhoo開発者が使用できるプログラミング言語を制限する一節が入ったことで、あちこちの開発者たちがえらく腹を立てている。これがその問題のパラグラフ全文だ 3.3.1 - アプリケーションは文書化されたAPIのみ使用可能で、プライベートAPIを利用してはならない。アプリケーションはObjective-C、C、C++またはJavaScriptで書かれていなければならず、C、C++やObjective-Cで書かれたコードのみがコンパイルしたり文書化されたAPIに直接リンクできる。(トランスレーションまたは互換レイヤー

    Appleはモジュラープログラミングを禁止している - ずっと君のターン
    taka222
    taka222 2010/04/13
  • 世界一簡単にGoogle Waveおっぱいロボットを作る方法 - ずっと君のターン

    求められたら応えたいとこだけど、残念ながら諸々の都合でHackathon当日には説明できないのでここで説明しよう。まずは下のサイトにアクセス。 http://jp.as-a-robot.appspot.com 画面の一番上の「Google Wave上でGoogle Waveのロボットを作ろう」をクリックすると、Waveアカウントを聞かれるので入力する。Waveプレビューのドメインは googlewave.com*1 なのでうっかり gmail.com にしないように注意すること。 するとGoogle Waveが開く。ログイン画面に飛ばされるかもだけど。 Inboxの一番上にロボットからWaveが届いているのでクリックしよう。もし届いてなくてもちょっと待てば届くと思う。 あとはそのまま指示に従って入力して・・・ この質問!この質問が出たときに力強く・・・ そう、「おっぱい」と。 そうすればロ

    世界一簡単にGoogle Waveおっぱいロボットを作る方法 - ずっと君のターン
    taka222
    taka222 2010/04/08
  • Ruby1.9のProc#call呼び出し - ずっと君のターン

    RubyのProcは処理を実行するために #call を呼ばないとだめなんだけど、JavaScriptPythonみたく (args, ... ) で実行できた方が嬉しいとみんな思ってるはず。つまり proc = lambda{|arg| do_something(arg)} proc.call('hello') じゃなくて proc = lambda{|arg| do_something(arg)} proc('hello') こう書きたい。 で、思いだしたんだけど、Scalaは (args, ... ) をapplyメソッドの呼び出しと解釈するというルールでうまくいってるらしい。同じようにRubyでも変数に (args, ... ) がついてるときcallメソッドを呼ぶようにすればいい感じになるんじゃね?メソッドと変数は管理してるテーブルが違うから、パース時にどっちかわかるとか何かで

    Ruby1.9のProc#call呼び出し - ずっと君のターン
    taka222
    taka222 2010/01/31
  • あいまいな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 probably count += 1 end end puts count #=> 839 if ... probably は80%。 count = 0 1000.times do if true maybe count += 1 end end puts count #=> 471 if ... maybe は50%。 count = 0 1000.times do if true pe

    あいまいなRubyの私 - ずっと君のターン
  • カリスマ入門 - ずっと君のターン

    http://docs.google.com/present/view?id=dchb3tb2_137ddk9gfhb ただ立っているだけでも感じられるその大物感。不合理なことを言おうと理不尽なことをしようと、勝手に周囲が深読みをしてカリスマは高まる一方。もはやチートとしか言いようのないポジティブスパイラル。それが「カリスマ」。日Ruby界だけを考えても、そういう存在が何人も思いつくでしょう。 自分もそういう存在になりたい!そう思ったことが、誰しも一度はあるはずです。より具体的に言えば、弾言したい!ガツンしたい!そう思い眠れぬ夜を過ごしたことが、きっと幾夜もあるでしょう。 でも・・・。多くの人は考えます。でも、カリスマって生まれつきのものでしょう?努力して身につくようなものじゃないよね? いいえ、安心してください。カリスマは習得可能な技術なのです。 ということで、もうひとつの「カリスマ入

    カリスマ入門 - ずっと君のターン
    taka222
    taka222 2009/12/05
  • _why君、どこ行ってもうたんや・・・ - ずっと君のターン

    タイトルは気にしないでください。 Rubyistならたぶんみんな知ってる、一風変わったものを作らせたら超一流のwhy the lucky stiffがWeb上から消えてしまったらしい。今日は朝からRuby界隈がいろいろと騒がしかった。で、そんな_why絡みの文章の中にちょっといい感じの追悼文があったので訳してみる。 http://ejohn.org/blog/eulogy-to-_why/ _why追悼 残念ながらいまはあまり時間がない(今週あるプロジェクトをリリースしようとしてるんだ)。だけどハッカーでありアーティストでもあった_whyについて少なくとも2-3言述べておくべきだろう。 _whyがオンラインに存在したと言う証はもはや存在しない。彼のサイトも、コードも、全て消えてしまった。その中には次のものが含まれるが、これら以外にもまだあるかもしれない: http://twitter.co

    _why君、どこ行ってもうたんや・・・ - ずっと君のターン
    taka222
    taka222 2009/08/21
  • 2D物理エンジンをRubyに移植してみました - ずっと君のターン

    http://github.com/technohippy/Pongo/tree/master 先週のRubyKaigi2009で「Rubyで*1何か作りたい欲」を激しく刺激されたので、前から欲しかった物理エンジンをRubyに移植してみた。気アプリならChipmunkのRubyバインディングでFAっぽいけど、ピュアRubyのもあればあったで嬉しいっしょ。 物理エンジンと言えば前にBox2DのAS3版をJSに移植したことがあるんだけど、Rubyの場合はJSみたいに単純に置換ってわけにいかないから難度高すぎ。30分ソース眺めて諦めた。で、もうちょっとシンプルそうなエンジンということで移植のターゲットとしてはAPE (Actionscript Physics Engine)を選択。ちなみに今回は置換じゃなくてちゃんと目視&手打で移植したっす。 移植してみて分かったのは、APEはホントにシンプル

    2D物理エンジンをRubyに移植してみました - ずっと君のターン
    taka222
    taka222 2009/07/27
  • 1