パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 -

この記事はパーフェクトRuby Advent Calendar 2013 - Adventar の9日目です。 前の日のエントリーはパーフェクトRuby Advent Calendar 2013(8日目) Let's Sinatra Life - たちブログです。 まだ参加できますので、みなさまもぜひ。 パーフェクトRuby Advent …

プレゼンテーションのこつぅ?( ・´ー・`)

「俺の発表、自分でもスゴイとたまに思うことあるのに誰も褒めねぇ…」 っていう自画自賛ツイートで(/ω・\)チラッしていたところ、私の発表を褒めていただくことが多くなりました。 そこで私がプレゼンをするときに気をつけていることを列挙してみます。 序盤は…

RubyConf2013参戦記

今回は日本Rubyの会の「RubyConf2013参加支援」を受けての参加となりました。 Rubyconf2013supportprogram · ruby-no-kai/official Wiki · GitHub 日本Rubyの会のみなさま、ありがとうございます。 行きたい人はもっと積極的に応募したらいいよ。 1日目(移…

マインクラフトはいろいろ面白い

(TL;DR マイクラはおもしろすぎるから最初からやるな) えー、いまさらではありますが、マインクラフトってゲームが面白いので最近ハマってやっていました。 Minecraft ゲームの内容以上に私が面白いなと思ったのはマインクラフト周りのコミュニティとか、…

ネットで評判知って買って良かったもの・悪かったもの

最近引っ越してわかったもの、まとめ。※効果には個人差があります 悪かったもの パナソニック ドルツ・ジェットウォッシャー 白 EW1250P-W出版社/メーカー: パナソニック(Panasonic)発売日: 2009/02/20メディア: ヘルスケア&ケア用品購入: 39人 クリック: 36…

ICFPC2013参戦記

ひとりで参加して、ひとりで打ち上げまでしてしまい、ひとりで二日酔いになっているのであんまり日記を書く元気もないんですが…、でもやるんだよ。 1日目 ざっとルールを読んで昼過ぎには\BV処理系が動くようになったっぽい。 肝心のソルバ部分はまずは全ケ…

Firefox拡張で外部コマンド叩きたいやつのときどうするか

日ごろ便利に使わせてもらってる、とあるFirefox拡張に外部コマンドを叩くようなのがありまして、でもwindows版・mac版はあるのにlinux版はない、けれどぼくはプログラミングができると。 じゃあ作ったろうじゃないですか、というのがことの発端です。 XPCOM…

セブ島で1ヶ月英語留学してみましたよの件とその後

ご存じの方もいらっしゃるかとは思いますが、4月から5月中旬くらいまでフィリピンのセブ島まで英語留学をしてきました。 「一回行ってみるとどんなもんかな〜」くらいの気持ちで行ってみたのですが「どんなもんかな〜」がなんとなく分かったのでここにご報告…

RubyKaigi2013の動画を勝手にオススメ #rubykaigi

会議中に自分が聞けなかった講演、気分が悪くて(二日酔い)まともに聞けなかった講演を動画でみた。 もちろん会議中に自分が聞いた講演は大体オススメなのでそっちの感想はここの方で確認して欲しい。Viemoの方にはまだちょっとしか上がってないので、それ…

RubyKaigiで出された問題

RubyKaigiでは、とある問題が出されていました。decode the answer | Code Puzzle実際に解いてみた(まだ表だけ)のですが、問題がとてもよくできていて解けた時には謎の感動が待っていました。いや、感動した。 これはRubyKaigi用に作られた問題なのだそう…

TRICK 2013 at RubyKaigi

tric/trick2013 · GitHub 「最悪のゴミ屋敷(Worst house of garbage)」賞をいただきました。まさか貰えるとは。ありがとうございます。 あと変態の称号もいただきました。私なんぞが変態だなんて真の変態に申し訳ないですが、ありがたく頂戴いたします。 …

RubyKaigi感想

箇条書き 1日目 Openingの角谷さんの喋り方がエモくてグッと来た いろんなアナウンスを英語でもされていてスゴイと思った Rubyの歴史 イイハナシダナー Keynote 1人で開発してた時の話がとても重要だと思った Inside RubyMotion llvmあたりの話までしてくれ…

Ruby's GC 2.0 - #rubykaigi

あいかわらずRubyのGCの話をしました。新規性のない発表でしたが、お楽しみいただけたでしょうか…。 Ruby's GC 20 from Narihiro Nakamura GCの説明とアニメーションの相性がいいことがわかったので、今回はRabbitではなくimpressで資料を作りました。 わり…

桐島、Rubyやめるってよ #odrk03

大江戸Ruby会議03の招待講演として発表してきました。たのしかったです!! 桐島、Rubyやめるってよ from Narihiro Nakamura 「思いっきりエモい(emotional)、コードが一行も出てこないプレゼン」をRubyKaigi系列で一度やってみたいという思いがあり、上記…

LLVM(ruby-llvm)とPEG(Treetop)で電卓作り

きつねさんの本を読んだので、LLVMを使ってお約束の電卓をゴソゴソと作ってみました。authorNari/ttcalvm · GitHubこんな感じで動きます。 $ cat /tmp/a.txt 1 + 2 + 3 * 2 * (3 + 2) % 6 $ ./bin/ttcalvm /tmp/a.txt 3 あ〜、これ、電卓だ〜。LLVMとの連携…

スマホを使ってコンビニでPDFプリントしてみた

世の中にはネットプリントという便利なサービスがある。 ネットプリント 上記はセブンイレブンで使えるサービス。 セブンイレブンは全国約14,000店舗もあるので「どこでも」プリントできるそうだ。素晴らしい。 …しかし、松江にはセブンイレブンがない!!セ…

SPDYと「やったー、net-http-spdyできたよー」の話

SPDYを知る SPDYという実験的なプロトコルがありまして、 SPDY - The Chromium Projects HTTP2.0はSPDYをベースに作られるかも、みたいな話も風の噂で聞いたりするのでじゃあどんなもんかなあと仕様を読んで見ました。 SPDY Protocol - Draft 2 - The Chromi…

ゆく年、くる年

毎年恒例のやつ。去年の記事を参考に、と。 ゆく年、くる年 - I am Cruby! 今年の目標は達成できたか 今の本を書き上げる 書き終わったんですぞ!! -> 徹底解剖「G1GC」実装編 もう一冊書きはじめる もう疲れたもんで。当分いいです…。 CRubyGCの改善パッチ…

mrubyのGC解説まとめ - GC Advent Calendar

Garbage Collection Advent Calendarの25日目の記事です。 ついに、か、完走したぞ!!うぉぉー。はあ、つかれた。もう来年はいいです。ということで今日の分のスライドもあわせて、まとめてこの記事にはりつけておきます。 (あーあ、はてなダイアリーにsli…

GC Handbook読んでる - GC Advent Calendar

Garbage Collection Advent Calendarの22日目の記事です。 前の二つの記事比べるとクオリティが随分下がって申し訳ないんですが…。 エデンの園でおきたこと - steps to phantasien 20th article on Garbage Collection Advent Calendar 2012 · GitHub 毎朝GC…

GCフレームワーク Beltway - GC Advent Calendar

Garbage Collection Advent Calendarの18日目の記事です。 前日のDartVMの話、楽しいですね。(それに比べると随分クオリティが下がるわけですが) Garbage Collection Advent Calendar 2012 12/17 — Dart VM Overview 1.0 documentation興味ある論文を披露…

Precise garbage collection for C - GC Advent Calendar

Garbage Collection Advent Calendarの16日目の記事です。 だんだん論文紹介みたいになって来ましたが…。既存のC言語のコードをprecise garbage collectionが作れるような別のC言語のソースコードに変換しちゃおうぜ!というお話。 Precise garbage collecti…

機械学習を利用して長生きのオブジェクトを見つける - GC Advent Calendar

Garbage Collection Advent Calendarの15日目の記事です。世代別GCでは(大抵)新世代で何度か生き残ったオブジェクトは「長生き」とみなして旧世代に移動します。 でも、このオブジェクトは長生きっぽい、ということがプログラムを解析することでわかるとし…

いちばんいいのを頼む - GC Advent Calendar

Garbage Collection Advent Calendarの14日目の記事です。 yaottiさんの記事が楽しかったのでもう少し頑張ります!一人Advent Calendar [advent-calendar, gc] Garbage Collection Advent Calendar 2012 bit.ly/RoGUCN— tyruさん (@tyru) 12月 12, 2012ひと…

メモリのフラグメンテーションとGC - GC Advent Calendar

Garbage Collection Advent Calendarの13日目の記事です(よくぞここまで…)。フラグメンテーションの話。GC Handbookには以下の2種類のfragmentationがあることが記されています。 external fragmentation internal fragmentation それぞれ見てみましょう。…

SIODのGCリーディング(2) - GC Advent Calendar

Garbage Collection Advent Calendarの11日目の記事です。mark-sweepの方はなんだかんだ一緒だったので、まあ別に説明するほどでもなさそうです。 読みやすいソースコードで楽しかったです。ということでCopyingGCを見てみましょう。 void gc_stop_and_copy(…

SIODのGCリーディング(1) - GC Advent Calendar

Garbage Collection Advent Calendarの9日目の記事です。CRubyのGCで特徴的なヒープの構造がSIODから受け継いだものか調べてみたいと思います。 その前に特徴的なヒープの構造についてちょっと説明しておきましょう。HotspotVMなんかは、たとえば文字列みた…

CRubyのGC実装で参考にされたScheme処理系:SIOD - GC Advent Calendar

Garbage Collection Advent Calendarの8日目(!!)の記事です。gc.cの最初のほうのコミットを見るとCOPYRIGHTがあって、SIOD:Scheme In One Defunという処理系を参考にまつもとさんはCRubyのGCを実装されたみたいなんですね。 Ruby Issue Tracking System この…

HerokuからMOGOKへ移行

MOGOK をHerokuからMOGOKへ移行しました。 MOGOKについてはこちら -> MOGOK HerokuではDBがこのまえPostgreSQLに移行した際に1万行の制限がかかり、絶対復習ではお金を払わないといけなくなったのですけど、それが月々$8くらいかかるので…。 それを捻出でき…

最近追加したCRubyのGCデバッグ用関数 - GC Advent Calendar

Garbage Collection Advent Calendarの4日目の記事です。最近のコミットでGCデバッグ用の関数を追加しました。 どちらもGC_DEBUGマクロが定義されているときに有効になる関数です。 rb_gcdebug_print_obj_condition rb_gcdebug_sentinal それぞれ紹介してみ…