ローファイ日記

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

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

www.digitalfukuoka.jp 去年より開発している、mrubyでコントロールできるLinuxコンテナランタイム Haconiwa で、第9回フクオカRuby大賞・県知事賞をいただきました。 写真は受賞決定直後の様子です。 今日の福岡Ruby大賞で @udzura さんが大賞で100万円とっ…

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

読みきった。一周目の所感を書く。 Linuxプログラミングインタフェース作者: Michael Kerrisk,千住治郎出版社/メーカー: オライリージャパン発売日: 2012/12/01メディア: 大型本 クリック: 14回この商品を含むブログ (7件) を見る

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

Rubyの、 Time.now は最終的には clock_gettime(3) を呼び出しているそうな。 masterの当該箇所 Time.now は Time.new を無引数で呼び出しているに過ぎない ここで、 Time#initialize の実態は time_init time_init は引数がない場合 time_init_0 を呼ぶ tim…

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

先日の 名古屋Ruby会議03 、「未来のサーバ基盤へのHaconiwa/mrubyの関わり」ということで、Haconiwaについて、開発の近況、そして FastContainer構想 などについて話しました。 Rubyistの皆さんの前で(日本語で)トークするのは多分これが初回ということで…

mruby-uvで普通のfile descriptorが読み出し可能になるまで待つ

libuv経由で(uv_fs_open などで)作ったファイルへの参照(uv_fs_t)は基本的に非同期IOになるので、libuvのイベントループで取り扱うのに向いている。参照。 そうでないような同期的なIOのfile descriptor(fd)、たとえば普通にパイプで作ったやつや、 even…

2016年をまとめる

前回の記事で2015年までの振り返りを振り返るなどしたので、いよいよ今年を振り返ろうと思う。割とお仕事寄りで振り返る。 udzura.hatenablog.jp

2016年を振り返る、前に振り返りを振り返る

ここ3年ぐらい、ブログで一年を振り返っていないことに気づいてしまった... むしろここ3年ぐらいは、なんだかとっても情緒的なアドベントカレンダーのエントリを書いて満足している様子がうかがえる。情緒的なのはいいんだけど、燃え尽きておる... 2012年の…

私のロールモデル: エンジニア立ち居振舞い番外編

お題「エンジニア立ち居振舞い」 pepabo Advent Calendar 2016 24日目の記事です。 割と飲みの席とか、某ポエムサービスでは語ってはいるんですが、そういえばブログで書いたことがないような気がしたので父の話をします。 実は今年の福岡での新卒研修で同じ…

GMOペパボ ホスティング技術カンファレンスでツアーをしてきた #pbtech

pepabo.connpass.com pepabo.connpass.com おかげさまで盛況のうちに終わりました。資料の方も、僕は二部構成になっていますので、まとめてどうぞ。 speakerdeck.com speakerdeck.com その他、 人々の資料はこちら です。

AppArmorとDockerとその他コンテナ的プロセスについて調べた

ここ数日のAppArmorに関する調査をまとめておく。アドベントカレンダーの季節だけど、特に該当しそうなカレンダーがなかったのでただの記事を書きます... 突っ込みどころはあると思うので、修正指摘等お気軽に。 AppArmor とは AppArmorはMAC(Mandatory Acce…

mruby-passwd のサンプルからわかるmgem(あと、C言語)を書くときの罠

mruby advent calendar 8日目 としてやっていかせていただきます。7日目はけいぞうくんのすごい記事でした。 keizobookman.hatenablog.com さて先日、mrubyのgemをコーディングするスクリーンキャストを撮り、実際にコードを残しました。 udzura.hatenablog.…

mruby gemを作るスクリーンキャストです

mruby advent calendar 2016 5日目の記事なのですが、公開が遅れ失礼します。 前日の様子です。 qiita.com 先日の Fukuoka.rb で、mrbgemをライブコーディングで作る、という一芸をやったのですが、とはいえ特に映像などを記録するでもなくという感じでした。…

fusuma/mruby-fuseでFUSEを簡単に試す

mruby Advent Calendar 2016 の 2日目の記事です。 昨日は おごもりさんのRuby Miniature Book の記事でした。 今日は、最近こそこそ作っているfusumaとmruby-fuseが、なんとなく面白いおもちゃにはなってきたので、せっかくということで紹介したいと思いま…

seccompをmrubyで試す

seccomp とは、Linuxでプロセスのシステムコールの発行を制限する機能のこと。今回試すものはseccomp mode 2と呼ばれる、Linux3.5から搭載されたもので、システムコール単位での制限、特定の条件を満たす引数のみの許可/制限を実現できる。 バックエンドでは…

StackStormを動かしてみる

DevOpsリハビリ中の @udzura です。皆さんは、アジャイルとデブオプスを実現していますか? 今日は、「IFTTT for Ops」を標榜するイベントドリブンでルールベースな自動化ツール、StackStormをいじってみたので手順を残しておく。 stackstorm.com

Haconiwa 近況(released 0.3.0)

Haconiwaの近況報告です。みなさんは、庭ですか? まず、haconiwa-0.3.0 今すぐダウンロードは以下です: udzura/haconiwa - Packages - packagecloud.io | packagecloud 次に何があったかを話します。

OCI Runtime Specification を読む

某Docker CTOの記事を見てから、ちゃんと見とかないとねという気持ちになり、まずはざっくり読んだ。 なにせ不勉強は承知、メモ程度ということで間違い等のご指摘をお待ちしています。 github.com ソースは2016/08/02 14:30 時点のHEAD(95a6ecffd04732bdf7db…

Haconiwa のrpm/debパッケージを配布開始しました

packagecloud を使っております。 udzura/haconiwa - Packages - packagecloud.io | packagecloud 便利です。一応 CentOS >= 7 / Ubuntu Trusty / Ubuntu Xenial / Debian jessie で利用できると思います。 パッケージをインストールすると3つのバイナリが入…

読んだ - 21st Century C, 2nd Edition

shop.oreilly.comC言語初心者なので読んだんだけど、良かったとも言えるし、大変辛かったとも言える...

Emacsでmrubyをそこそこ快適に書く

こんにちは、これはEmacs記事です。みなさんはEmacs記事...ではないですよね...。 Haconiwaのおかげですっかりmruby人間になって久しい id:udzura です。 https://t.co/1iLQyn2rV0 バージョン 0.2 系を出しました。rlimit系のリソース制限と、コンテナ内PID=…

HaconiwaでDockerのsshdコンテナを利用してみる

こんにちは。これは技術記事です。みなさんは、技術記事ですか? まず、 Haconiwa の近況報告なんですが、この度 mruby で書き直し、ひとまず MRI 版と同じ程度の機能までは実装できました。 github.com これに伴い、Linux用のバイナリを配布する形にインス…

mruby便利tips: 利用しているmgemのリビジョンを知りたい

mgemは、 mgem: 指定にしても github: 指定にしても基本的にgitリポジトリをチェックアウトして持ってくるようになっている。なので、チェックアウトした段階でのリビジョンが知りたいことがある。 build_config.rb に以下のようなモンキーパッチを書いてお…

mruby-argtable というものを書いた

github.com 宜しくお願いします。こんな感じです。 t = Argtable.new t.literal("v", "verbose", "You are verbose") t.integer("c", "count", "<c>", "My count") t.double("s", "seconds", "<t>", "My seconds") t.string("n", "name", "<n>", "My name") t.parse([</n></t></c>…

IPC Namespaceをまたいだプロセス間で、pipeでやりとりする。mrubyで。

Introduction to Linux namespaces - Part 2: IPC | Yet another enthusiast blog! こういうブログ記事があって、元記事はC言語なんだけど、これと同じことをmrubyでもやってみたサンプル。なお元記事は clone(2) だけど今回はforkしてから unshare(2) して…

Linux Capability - ケーパビリティについての整理

Man page of CAPABILITIES を読んで自分なりに整理する。メモ気分で書いているので言葉足らず/用語が曖昧 のところがあればご指摘ください。

haconiwaの室内楽 - Re: 自作Linuxコンテナの時代

haconiwa という、いわゆるLinuxコンテナに関する様々な技術を組み合わせて、自分のためのコンテナを作ることができるRuby製のツールと、そのDSLを作った。ひとまずこれぐらいはやりたいということができていそうなので、バージョン 0.2.0 としてリリースし…

WEB+DB PRESS vol.92 に書きました

よろしくお願いします。 gihyo.jp なん年ぶりの記事かな〜と思って調べると、2014年の79号以来なので2年ちょっとぶりですね。 思えば、最初に #wdpress に書いたのも、実は新人応援号の記事だったりしたのでした。 ぼくは、冒頭の総括的な内容を書かせていた…

第9回 コンテナ型仮想化の情報交換会@福岡 やっていきました

ct-study.connpass.com お疲れ様でした。同僚のものも含め、素晴らしい発表ばかりだった中、個人的には、tahira氏の発表が、いろいろな意味でよかったなあと思って感動していました。ホスティングカジュアルにも期待しています。あと、 id:y_uuki さんの存在…

読んだ: “Quick Desktop Application Development Using Electron”

leanpub.com Electronの概念と、基本的な機能を一通りさらってみるという感じ。 触ったのは、コンテクストメニュー、トレイ、ダイアログ、通知、電源、クリップボードなど Angular.jsにも少し触っていて、Loki.jsと連携した簡単な例があった Gulpとかそうい…

miamを使ってIAMの権限をいい感じに絞って適用する

IAMというのは例のAWSのアレ。ユーザのアカウントと権限を管理するやつ。 このサービス、機能が多くてややこしいところがあり、具体的には以下のポリシーで運用するときにそのものズバリの情報がすぐに見つからなかったので、この場でまとめとこうかなって思…