タグ

ブックマーク / mametter.hatenablog.com (5)

  • 川崎 Ruby 会議 01 で基調講演しました - まめめも

    8/20 (土) に、川崎教育文化会館で川崎 Ruby 会議 01 が行われました。恐れながら、基調講演なるものをさせて頂きました。 Ruby で高速なプログラムを書く from mametter 内容は、東京 Ruby 会議 05 で話した Optcarrot の完全版でした。基調講演というと「その会合や分野の基方針を示す講演」ですが、Ruby 会議関係の基調講演で(Matz の発表以外で)そういう感じの発表を見たことがなかったので、単に好きなことを話しました。 東京 Ruby 会議 05 の方では細かい実装技法の話しかしなかったので、我ながら偉そうだなーと思いながらも「最適化についての心構え」なるものを語ってみました。こんな感じ。 目標値を決めろ:最適化とはコードを汚すことなので、どこまで汚すかを事前に決めるべき。 ボトルネックをいじれ:ボトルネック以外をいじるな。(ボトルネックを特

    川崎 Ruby 会議 01 で基調講演しました - まめめも
    ryotarai
    ryotarai 2016/08/24
  • [Ruby] Ruby 3.0 の特大の非互換について - まめめも

    タイトルは釣りです。すみません。Ruby 3.0 はかなり先の将来の話なので、最終的にどうなるかはわかりません。でも Ruby 3.0 に重大な変更が予定されているのは事実なので、一緒に考えて欲しいと思います。 immutable string literal Ruby 3.0 では文字列リテラルをデフォルトで immutable (破壊的変更不可) にする、という方針が『決定』しました。(Feature #11473: Immutable String literal in Ruby 3) つまり、次のようなプログラムが動かなくなります。(当チケットから少し改変して引用) sql = "SELECT #{sec_id}, pt.path, st.doc_count " sql << "FROM #{stats_tablename} AS st " #### ←ここで例外: can't m

    [Ruby] Ruby 3.0 の特大の非互換について - まめめも
    ryotarai
    ryotarai 2015/10/05
  • 放射線耐性 Quine (1 文字消しても動く Quine) - まめめも

    ref: https://github.com/mame/radiation-hardened-quine 放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。 ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力する、なんともロバストな Quine を書きました。*1 何を言っているかわからないと思いますが、こんなふうに動くものです。 # ランダムに 1 文字消すスクリプト $ cat mutate.rb src = $<.read src[rand(src.size), 1] = "" print src # rrquine.rb からランダムに 1 文字消したプログラムを生成する $ ruby mutate.rb rrquine.rb > broken.rb # 壊れたプログラムを実行する (

    放射線耐性 Quine (1 文字消しても動く Quine) - まめめも
    ryotarai
    ryotarai 2014/03/11
    via Pocket
  • Quine リレー - まめめも

    ref: https://github.com/mame/quine-relay/ 以下は、自分自身を出力する REXX プログラムを出力する Python プログラムを出力する R プログラムを出力する (...略...) を出力する Scala プログラムを出力する Ruby プログラムです。合計 50 言語を使います。 eval$s=%q(eval(%w(B=92.chr;N=10.chr;n=0;e=->(s){s.gsub(/[#{B+B+N}"]/){B+(N==$&??n:$&)}};E=->(s){'("'+e[s]+'")'} ;d=->(s,t=?"){s.gsub(t){t+t}};D=->(s,t=?@){s.gsub(B){t}};Q=->(s,t=?$){s.gsub(t){B+$&}};puts(eval(%q("objectXQRX extendsXApp{

    Quine リレー - まめめも
    ryotarai
    ryotarai 2013/07/29
    via Pocket
  • 2013-06-04

    RubyKaigi 2013 で発表させて頂きました。 発表資料はこちら。(なんか embed できないので URL だけ。後で考える) http://www.slideshare.net/mametter/trick2013-results 締切直前まで投稿がほとんどなくてすごくハラハラしてたんですが、直前にぞろぞろっと来て、結果的には入賞作品だけで二桁を数えることができ、ほっとしました。審査って面白いですね。 来年も同じようにできるかどうかは正直わからんのですが、できたらやりたいですね。というか他の人が主導でやってくれてもいいですよ。 次回に備えて反省点や心残りをつづっておきます。 もうちょっと計画的に。スタートも資料完成も遅くて、RubyKaigi 運営に大変迷惑かけてしまった。 告知を Google Sites でやったけど、GitHub Pages の方がよかった気がする。来年は

    2013-06-04
    ryotarai
    ryotarai 2013/06/07
    via Pocket
  • 1