ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

Cレベルのライブラリコールを“Hijack”してみる その2 - libmruby.aを組み込む

少し間が空いたんですが

udzura.hatenablog.jp

こちらの続きです。

今回は LD_PRELOAD するshared objectにlibmruby.aを組み込み、mrubyで置き換え対象の処理を記述できるようにする。

組み込み用の libmruby.a を作成する

続きを読む

第9回フクオカRuby大賞を受賞しました

www.digitalfukuoka.jp

去年より開発している、mrubyでコントロールできるLinuxコンテナランタイム Haconiwa で、第9回フクオカRuby大賞・県知事賞をいただきました。

写真は受賞決定直後の様子です。

続きを読む

Linuxプログラミングインターフェースを読んだ(一周目)

読みきった。一周目の所感を書く。

Linuxプログラミングインタフェース

Linuxプログラミングインタフェース

続きを読む

Cレベルのライブラリコールを“Hijack”してみる その1。

Rubyの、 Time.now は最終的には clock_gettime(3) を呼び出しているそうな。

  • masterの当該箇所
  • Time.nowTime.new を無引数で呼び出しているに過ぎない
  • ここで、 Time#initialize の実態は time_init
  • time_init は引数がない場合 time_init_0 を呼ぶ
  • time_init_0 は timespec 構造体のポインタを引数に rb_timespec_now を呼ぶ
  • rb_timespec_nowclock_gettime(3) が使えるシステムであればそれを呼ぶ。そうでない場合 gettimeofday(2) らしい…

ここで、以下のような小さなCのコードを書く。

続きを読む

名古屋Ruby会議03で登壇した #nagoyark03

先日の 名古屋Ruby会議03 、「未来のサーバ基盤へのHaconiwa/mrubyの関わり」ということで、Haconiwaについて、開発の近況、そして FastContainer構想 などについて話しました。

Rubyistの皆さんの前で(日本語で)トークするのは多分これが初回ということで、いろいろな反応やフィードバックがいただけてありがたいことでした。

トークも、須藤さんや咳さんの濃いお話を始め*1Rubyが得意なフレンズの楽しそうな様子が見られて良かったです。

地域Ruby会議というのは僕の原点で、コミュニティや技術者としての意識が変わったのがかつての 東京Ruby会議05 だったので、今改めて当時の実行委員長こしばさんのトークを聞けたのも、ちょっとした感慨でした*2

そうして気持ちが上がって、あと酔って @hfm さんにコミュニティの大事さとか便利さを語ってしまった気がする(おっくんのトーク濃くて良かったよ!)…

f:id:udzura:20170213134052p:plain

そんな感じで、Rubyistの自分を再確認するなどしていました。運営委員の皆様、良い会議をありがとうございました!

*1:個人的には、最近の興味分野的にも咳さんのお話が刺さりまくっており、スライドを寝不足でない状態でまた読み直そうかなと…

*2:そしてこういう思い出話をする僕はもうおっさんやね…