Ruby

perfume-devのモーションデータをRuby/SDLで動かす #perfume-dev

いまさらな感じはありますがPerfume official global websiteで公開されているPerfumeのモーションデータをRuby/SDLで描画してみました。動画はこんな感じでキビキビ動いております。ソースコードは以下に置いてあります。 authorNari/perfume-dev-rubysdl2d…

アプリ固有設定ファイルのストレスを減らすconfigict

Unagi.gcでアプリケーション設定ファイルあるあるを話していた。 「こういうの作ってますね」「じゃあgemで」 ということで公開してみた。詳しくはREADMEで。 authorNari/configict · GitHubインストールはgemで。 $ gem install configict アプリケーション…

みなとRuby会議参加 #minatork01

みなとRuby会議01に参加してきました。 みなとRuby会議01 - Regional RubyKaigi 窓からは海が見えて、すごくみなとっぽかったデスネー(…)酔っ払って意識が高いうちに書いておこう。 ソーシャルコーディング 会場に入るときに自分のテーブルを伝えられてそ…

MessagePack-RPCサーバのはまりどころ

MessagePack-RPCを使っていて「こういうときどうするんだっけ?」というのがあり、しかもけっこうはまりどころがあるので以下にまとめることにする。 古橋さんの以下の記事が大変参考になっております。 Ruby で MessagePack-RPC - Blog by Sadayuki Furuhas…

kindlemailで時短や!

電子書籍をKindleで読むことが多くなってきました。 最近、手元にあるPDFを自分のKindle上に置く方法を探していて。 正直、いちいちPCとKindleを繋いでられないんですよ。でも、AmazonさんにはPersonal Documentという便利なものがあってだな…。 Personal Do…

ChipでWebページ上のコードを簡単に扱おう #advent11rb

(Ruby Advent Calendar jp: 2011 : ATNDの7日目の記事です。昨日は@sakuroさんの/var/log/messagesでした。明日は@sato_ryuさんのhttp://satoryudiary.fluxflex.com/?date=20111208でした。)みなさんが有用なTIPSを記事に書いたり書かなかったりする中、私…

Redmineのチケットをコマンドラインで扱う「redcuine」

Redmineのチケット操作って絶対ブラウザつかわないといけないので面倒ですよね…。 どうせならコマンドラインでスコーンと登録したい。 以前はコマンドラインでメール投稿してチケット登録するツールを作ってたんですが、登録されるタイミングとか微妙でどう…

Module#prepend - alias_method_chainが滅ぶ日

(この記事はRuby Advent Calendar jp 2010の4日目の記事です。前日はUmeyashikiさんでした) Ruby2.0の新しい機能(となるかもしれない)Module#prependについて紹介します。 # もうtipsとかじゃ全然ないですね…。 Module#prependはRailsコアチームのYehuda…

Matsue.rb定例会 H22.10

今週の土曜はMatsue.rbがあります。 みなさんふるって参加しましょう。

RubyKaigi2010発表

RubyKaigi2010ではGCについて発表します。1日目の16:00〜17:00の所です。 日本Ruby会議 2010, 8月27日〜29日 なんと、大ホールになってしまったので…。 たぶん、みなさんの考えだと「あー、裏番組に行こうかな」みたいな感じかもしれないので このブログで宣…

ruby1.9.2からロードパス内にカレントディレクトリを含まない理由

ruby1.9.2からロードパス内にカレントディレクトリを含まなくなりました。 $ rvm -e "puts $:" info: ruby-1.8.7-p249: ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux] /home/xxx/.rvm/rubies/ruby-1.8.7-p249/bin /home/xxx/.rvm/rubies/ruby-1.8.7-…

松江Ruby会議02の情報

今日の13:00開始です。 松江Ruby会議02 - Regional RubyKaigi Ustのチャンネルは以下の通り。 USTREAM: matsuerubykaigi02: Regional RubyKaigi Matsue 02 松江Ruby会議02 http://regional.rubykaigi.org/matsue02 #テーマ:「競」 - Rubyに関するプログラ…

rvmが凄く良い

rvmを導入したのですが、これまた超絶に便利です。 これは使うべき。早く使っておけば。くうう。 さてさて、何が便利なのでしょう? 各rubyのバージョン、patch-levelに応じて gem を分けることが可能 一部は共有し、一部はそれぞれの環境で、ということも可…

Rubyist Magazine 0028号

るびまの28号がでましたね!関係者のみなさま、お疲れ様でした。 Rubyist Magazine - Rubyist Magazine 0028 号 たいへん光栄なことに、RubyistHotlinksに載せていただきました。 るびまの中でもっとも好きな連載なので本当に嬉しいです! Rubyist Magazine …

メモリ破壊の現場を見つけるTips

(この記事はRuby Advent Calendar jp: 2009 : ATNDの4日目です。前日はmrknさんでした) 健全なるRubyistであれば、RubyのGCをいじることが週に一度はあるでしょう。 そのときに困るのが、GCをいじってしまったことによるバグの修正です。 GCをいじるという…

高尾さんRHC本サイン会@第44回オープンソースサロン

第44回オープンソースサロン|しまねOSS協議会 OS4 参加してきました。 とりあえず写真だけぺたぺた。 公演ちう なな、なんとまつもとさんが。。 お買い上げです! Mac持って無くても買っていいらしいので僕も一冊。 まつもとさんも持ってるこの一冊。みなさ…

RubyWorld Conference2009 2日目

「未来へのRuby」まつもとさん RubyKaigiのKeynoteで話された部分が半分くらい。 「Rubyは愛である」 「愛は未来を作る」 「愛は未来を拓く」 には大感動しました。 「Rails3:Convergent evolution」Jeremy Kemper Rails3の話。 中々Rails3のお話しを聞ける…

RubyWorldConference1日目

「What is Ruby For?」TimBray 凄かった。 まず、我々日本人に聞き取りやすく、わかりやすい英語で話してくれたこと。 今まで私が聞いてきた外人のセッションで一番聞き取れた。 終盤に 「Rubyは世界をよくするために使おう」 的な話があってえらく感動して…

ruby毎のlib,ruby毎のgem

ruby1.8.6系のパッチレベル毎に環境を切り分けたいなーと思ったので,色々と試した. ruby1.9.1だと $ ./configure --prefix=/home/nari/local --program-suffix=-1.9.1-p0 とすれば,binはruby-1.9.1-p0となるし,libもruby-1.9.1-p0となるのでOK. ruby1.8…

よりRubyヒープスロットを解放する戦略(メモ)

Rubyヒープスロットそれぞれに,ヒープスロット内の割り当て可能なオブジェクト数を覚えるようにする. ここでは仮にfreeobjsとでもしましょう. そして,それぞれのヒープスロットを双方向リンクで繋ぎ,freeobjsが少ない順に並べる. 並べ替えはスイープ後…

友達の誕生日におめでとうメールを送りつけるアプリを作ってみた

authorNari/happy_birthday_mail · GitHub WEBアプリケーションの部分はsinatoraを使いました. いやーこれは小さくて便利ですね. 色んな使い方ができそう.

はじめてのRuby本

ふと思った事を書いてみます.特にオチはないので期待しないように. 思えば,私は俗に言う「アフターRails世代」なんですよね. そういえば,初めて買ったRubyの本はくまくまーな本でした.Ruby on Rails入門優しいRailsの育て方作者: 西和則出版社/メーカ…

rcodetoolsが素晴らしすぎる件

id:rubikitch さんの rcodetools が素晴らしい. gem install rcodetools で入るし,パッケージ内にある. rcodetools.el をEmacsで使えば,xmpやコード補完が使える. コード補完がいい! M-x rct-complete-symbol でコード補完を行える. 同パッケージの同…

longlife gcをコミットしました

この件ですが, longlife gcパッチを作成しました - I am Cruby! まつもとさんからOKをいただいたので,先ほどコミットしました. id:hogelogさんやid:miura1729さんにベンチマークを取っていただいた 事も後押しとなったようです.ありがとうございます. …

Rubiniusの世代別GCメモ

major gcのタイミング heapをaddするとき GC.startのとき mallocのthresholdを超えたとき なるほど. remembered_setの刷新 remembered_set は write_barrier によって増加するが,どうやって削除されるのだろうかと思っていた. タイミングはold領域のオブ…

Matsue.rb#3

今回は結構人が多かった気がする.みなさんもくもくとハック.素晴らしい. そんな中,私は恒例のドーナツ4個食いを見せた.んまい,んまい. RubyKaigi2009に向けて,そろそろGCの改善をやらないとやばい. EDD(EventDrivenDevelopment). RubiniusのGCを…

益川教授の本棚に

Rubyの本がありました. by 情熱大陸

ニコニコ動画で検索してURL表示するスクレイピング

~/bin/nico #!/usr/bin/ruby -wKU require 'net/https' require 'kconv' require 'rubygems' require 'mechanize' OPT = {:hot => false, :new => false} action = ARGV.shift if action && !OPT.has_key?(action.to_sym) $stderr.puts "no such subcommand[…

メモ:NODE_WHILEが多かった件

iseqにしたらT_NODEは用済みじゃんと思っていたがそう言うわけでもないようだ. よく読んでみるとvmの内部でT_NODEのRVALUEが生成されている箇所が何点もあった. この前の記事 特にNODE_WHILEが多くてびっくりしたのだが,この件について笹田さんや中田さん…

Railsを動かした時のヒープの状態を詳しく調べてみたーその2ー

この前の記事 Railsを動かした時のヒープの状態を詳しく調べてみた(グラフ付き) - I am Cruby! 「グラフがまざってて,わけわかんないよ」とささださんに言われたのでやり直した. T_XXXだけ表示 csvはこれ object_counts.csv NODE_XXXだけ表示 csvはこれ …

T_NODEは何故こんなに長生きなのか?

この前の記事 Ruby1.9.1-p0 & Rails2.3.0で調べた所,T_NODEのオブジェクトは平均15回のGCに生き残っているようです. また,ヒープ内で一番多いオブジェクトはT_NODEのオブジェクトでした. T_NODEは構文木のオブジェクトだと思うのですが,何でこんな回数…

Matsue.rb#2に参加

Matsue.rb#2に参加した. やる事は「RubyGCの改善」 長寿命なオブジェクトを見つけたい ふとオブジェクトの寿命を知りたくなってパッチを書いた. gc_profile_lifetime_for_v_1_9_1_p0.patch とりあえず, sample/test.rb あたりで調べてみた.へぇという感…

絶対復習というWEBサービスをリリースしました

この度,絶対復習というWEBサービスをリリースしました. http://www.takao7.net/brushup/ 一言で説明 忘れやすい事柄を絶対に復習するためのサービス 具体的に説明 人間は忘れっぽい生き物です. 一週間も経たないうちに殆どの情報は頭の中から消えてしまい…

Matsue.rb#1に参加した

参加しました.やっぱり楽しかった. やってた事 やってた事は 「MiniGCの作成」 です. 感想的なもの ミスタードーナツのコーヒーが異様に高いと思ったら,実はおかわり前提で頼むものらしい.お持ち帰りしちゃったよ! 沢山のドーナツを抱えて会場へ.参加…

rabbit-0.5.9がリリースされた

須藤さんお疲れ様です. ANN Rabbit 0.5.9 We retire raa.ruby-lang.org なんと鏡に反射したような画像効果がサポートされたよう.これは嬉しいな. あとは,亀とウサギがPDFでも走るようになっている.わーい. 前に作ってたthemeをrabbit-0.5.9用に少し修…

るびまの記事を書いた

最初に るびまリリースおめでとうございます! Rubyist Magazine - Rubyist Magazine 0025 号 記事書きました 私も記事を投稿しました! Rubyist Magazine - レアでアレなGCの話 読者対象 GCをまったく知らない人,RubyGCに興味がある人です. ただ,これを…

Object#tryについて

http://webtama.jp/series/railstips/articles/31 try()まつもとさんに 「Rubyに入れませんか?」 と直接質問した所, 「筋は悪くない.あとは名前だね.」 と答えていただいた. ので,ruby-coreにメールを出しておく. http://redmine.ruby-lang.org/issue…

SpecialWarningというプラグインをリリースしました

最初に ソースはgithubに上げてます. authorNari/special_warning · GitHub こんな経験はありませんか? class Foo < ApplicationController def index if params["numeric"] == 1 # 大事な処理 end end end なぜかこのif文の中に入らない..何故だ!何故…

祝!Ruby1.9.1リリース!

おめでとうございます! Ruby 1.9.1リリース 開発者の皆さんお疲れ様でした. 次の安定版までには色々とGCをいじりたいなぁと思う所存です...

中学生Ruby教室に参加した.

松江のオープンソースラボで中学生Ruby教室が行われた. 私はアシスタントとして参加した. 講師はNaClの高尾さん. 中学生は14人程参加していたよう. 1時限目 前半はプログラムについての説明とPCの仕組み等をさらっと紹介していた. 非常に分かりやすい…

Matsue.rb#0を終えて

日本Rubyの会 公式Wiki - Matsue.rb 終了しました. 感想 思ったことをだらだらと. 作業がはかどりまくり. Hack楽しい!!と思った. 何をやったかは秘密. その内お知らせできるかもしれない. 10人くらいいた気がする. NaClの社員だらけになるかと思っ…

Matsue.rb#0は明日開催

こんな事やりたいなぁーと思っていたら実現できた. 上司である高尾さんが場所の確保など色々してくれました.なんとなんと,ありがたい話です. 自分にとって新たな刺激になると良いな. さてさて,明日は何をHackするかなぁー.わくわく. 島根近辺の方で…

Esoteric本の献本来た

ktkr!!!!!!! 実は先月くらいにできたての原稿を読ませて頂いた. それで感想等をフィードバックしたのだが,そのお礼ということでなんと献本してもらえる事になった. ありがとうございます. 献本が届いた際,偶然にも3m程先に著者が座っていたのでサインを…

酔っぱらったので5分でBrainf*ck処理系を作ってみた

休みだったのでビールを飲みました. その勢いを借りて5分程でBrainf*ck処理系を作ってみるなどしました. ビールとRubyを一緒にキメたので非常に良い気分です. 動画 あわせて読みたい とても面白いので是非買いましょう. 作った処理系 # Five minutes for…

RubyのGCは結構良くできている

bdw-gcを適用するやりかたを考えている内に,RubyGCは中々良くできているなと思った. たとえば,RVALUEを保守的にマーキングしていない点. また,RDataのマークは使う人にお任せしている点. 全面的に保守的ではなく,一部においては正確にGCを行う所はパ…

Seattle.rbみたいな事を松江でやりたい

Seattle.rb | Home 週に一度(もしくは隔週),数時間カフェにあつまってHackする. 何かRubyに関するものをやって欲しいけど,別に限定ではない. 部屋にいるよりも格段にコーディングが進むはず. 年明けには第一回をやりたいなぁ. 問題はよさげなカフェ…

RSpecの嫌いな所

英語っぽい所. 気持ち悪すぎる所. DSLすぎる所. たまに書いてみるけど.どうも好きになれない. でも... Rails2.3でscaffoldするとこんなテストが吐かれる.. require 'test_helper' class PersonTest < ActiveSupport::TestCase test "the truth" do…

BitmapMarking改良

とりあえず make test は通るようにした. http://github.com/authorNari/ruby/tree/master/patch/gc_bitmap_by_align_to_v_1_9_0_4.patch posix memaline を使うようにした版も作ってみたけど.速くならなかった. http://github.com/authorNari/ruby/tree/…

Rails2.2でRuby1.9.1-preview1がさっぱり動かない件

Ruby on Rails 2.2 Release Notes — Ruby on Rails Guides 1.2. Compatibility with Ruby 1.9 and JRuby Along with thread safety, a lot of work has been done to make Rails work well with JRuby and the upcoming Ruby 1.9. With Ruby 1.9 being a mov…

そろそろ分かっておきたいY Combinator

もうすぐ年明けだし,Yコンビネータの魔法みたいな動きに惑わされる人 たちがでてくるんじゃないかなと思ってRubyで解説してみます. 参考に [ruby-list:35058] Y Combinator Y Combinator http://www.ececs.uc.edu/~franco/C511/html/Scheme/ycomb.html Y C…