2014-01-01から1年間の記事一覧

jpegファイルフォーマットについてちょっと調べた

jpegファイルの構造がどうなってるのかなと思ってちょっと調べたのでまとめ。 jpegファイルは大まかに[ヘッダ+画像データ+フッタ]でできている。 jpegファイルは必ずFFD8ではじまる。 FFD8以降はヘッダの部分でJFIF形式になっている。 JFIF形式はこんな感じ…

Pure Ruby Queue

Pure Ruby Queue sample Threadを使ってQueueを書いてみた。 Queueってもっとmutexとか条件変数とかで難しい作りになってそうとおもってコード読んでみたら、ただのStructを継承したオブジェクトでコードも短かった。 これならRubyだけで書けるのでは〜と思…

Rubyでepollできるgem 'epoll'を作ってみた

epoll | RubyGems.org | your community gem host ksss/epoll · GitHub epollはnginxやnode(libuv)などでも使われている、大量のファイルディスクリプタを効率よく監視するためのAPIのことです。 イベントドリブンI/O epoll APIはLinuxでのみ(たぶん)動作し…

スティーブ・ジョブス / ウォルター・アイザックソン

スティーブ・ジョブズ I作者: ウォルター・アイザックソン,井口耕二出版社/メーカー: 講談社発売日: 2011/10/25メディア: ハードカバー購入: 58人 クリック: 5,321回この商品を含むブログ (346件) を見る アメリカいってきた 会社のイベント?でNYとSFの合計…

RubyKaigi2014行ってきた

RubyKaigi2014行ってきた。 1年と4ヶ月ぶりぐらいのRubyKaigi。 去年(2013)は「せっかく東京に住んでるんだしプログラマ系のカンファレンスでも行ってみるかー」と確か一日だけ有給を使って2日目と3日目に参加してた。 ここで感化されてRubyを追っかけてたら…

さっそくプロセスプログラミングを役立ててみた

結婚式の写真が届いたので親戚に届けたい。 けどこれが3MB*700枚=2GBくらいのデータ量となってしまって、これをいきなりダウンロードしてねというのはあまり相手の環境を考慮していないだろう。 塊は塊でダウンロードしてもらうこともできるとして、webブラ…

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 / Jesse Storimer

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 #naruhounix を読んだ。 正直「プロセス?あれでしょ、なんか動くやつ。」というレベルだったので非常に勉強になった。 Rubyで書かれているのも、余計なこと(Cの文法とか例外処理とか)がついてこなくて理解しや…

YAPC::Asia2014行ってきた

YAPC::Asia初参加だけど行ってきた。 去年はチケット取ってたのにちょうど新婚旅行とかぶって見に行けなくて悔しい思いをしていた。 YAPC::Asiaは、なんかこう全体的な「楽しみたい!」とか「もっと良くしたい!」みたいな気持ちというかパワーというかが強…

転職して株式会社spice lifeに入社し、結婚式をした

六月三十日に前職を辞め、七月一日に株式会社spice lifeで働き出し、七月二十日に結婚式を挙げた。 TL;DR 昔話します。 五年前 僕はプログラマですらなかった。 情報系の大学を卒業したけど、プログラムは飯の種であり、プライベートではバンドやったり、絵…

まずやってみることの大事さ

最近まずやってみることの大事さがわかってきた。 ものごとを良くするには改善だったり問題解決をするわけだけど、 そのためには改善や問題解決を「やりたい」と思えなければそもそも問題に気付くことすらできない。 プラムを食べたことがなければプラムを食…

光圀伝 / 冲方丁

光圀伝 電子特別版 (上) (角川書店単行本)作者: 冲方丁出版社/メーカー: KADOKAWA / 角川書店発売日: 2012/10/26メディア: Kindle版 クリック: 7回この商品を含むブログ (10件) を見る 光圀伝を読んだ。 江戸時代初期、二代目水戸藩藩主・徳川光圀の生涯が…

mrubyでFile::Statつくった

https://github.com/ksss/mruby-file-stat mrubyでFile.mtime('file')としようと思ったらmruby-ioでも実装されていなかった。 そういえばファイルに関する情報をいろいろと取得したいのならC的にはstat(2)を使えばいいっぽい。 これをラップしたオブジェクト…

mrubyのmrubyバインディングmruby-mruby

追記: リポジトリ名を変えました。 https://github.com/ksss/mruby-research 名前は仮だけどmruby-mrubyというライブラリを書きはじめた。 https://github.com/ksss/mruby-mruby mrubyにとって得意なことの一つにCのAPIをいい感じの言語(すなわちRubyの文法)…

大江戸Ruby会議04で話さなかったこと

大江戸Ruby会議04で「mruby hacking guide」というタイトルで話した。 スライドはこちら。 https://speakerdeck.com/ksss/mruby-hacking-guide mrubyを開発する人、使う人が増えればいいなという狙いだったんだけど、うまくいっただろうか。 2014/02/04からA…

mrubyにコミットするのが日常になってきた

僕が最初にmrubyにコミットしだしてから1ヶ月半くらいが経ったけど、 未だにコミットが続いている。現時点で59commitらしい。今ココ 前回の記事以降では Enumeratorのバグ修正と各メソッドでEnumeratorをサポートできるところを追加しまくった。 細かなバグ…

mruby-ostructリリース

https://github.com/ksss/mruby-ostruct CRubyのOpenStructをmrubyに移植しました。 前からあったにはあったけど、mruby側で動的にsingleton methodを作るKernel#define_singleton_methodがなかったのでただのHashのラッパーになっていました。 自力でKernel…

mrubyを小さくしたり大きくしたりした話

最近mrubyにコミットしているので自分の活動をまとめます。 mrubyを小さくした話 mrubyでは、文字列の扱いはシンプルにchar*を構造体でラップしていました。 struct RString { MRB_OBJECT_HEADER; mrb_int len; union { mrb_int capa; struct mrb_shared_str…

大江戸Ruby会議04で話すことになった

自分でも何が起こっているのかわかりませんが、 大江戸Ruby会議04で話すことになりました。 http://regional.rubykaigi.org/oedo04/ 今から緊張で泣きそう。 何を話すか考えなきゃ。

アカルイミライ / 黒沢清

映画「アカルイミライ」を観た。 大学生の時にTHE BACK HORNがEDを歌っているからという理由で観たんだけど全然意味がわからなくて終わるときも「え、そこでおわんの!?」と思った。 時は7年位経って、それでも不思議と僕の中でこの映画のことは頭のなかか…

RubyのArrayがSharedでOCCUPIED

ruby/ruby(trunk)にパッチを投げた。 https://github.com/ruby/ruby/pull/537 以下を処理するのにものすごく時間がかかる。 n = 1000000 a = (0..n).to_a;nil while a.shift(2).length != 0 end nが10000とかなら気にならないレベルなんだけど、1000000とな…

Arrayより1000倍遅く192倍速いGem、List v0.0.1リリース

Listというgemを書きました。 といってもインターフェースがArrayとの完全互換を目標にしているのでまだ未完成です。 なんせメソッドが多い。。。 でも待ちきれないので公開しちゃいます。 拡張ライブラリで書いているのですが、MRIの1.9.3、2.0.0、2.1.0に…

Digest::MurmurHash v0.3.0リリース

https://github.com/ksss/digest-murmurhash https://rubygems.org/gems/digest-murmurhash 最近はじめてピタゴラスイッチを見て、見ているうちに脳がオーバーヒートしそうになりました。 v0.3.0 Digest::MurmurHashというgemをアップデートしました。 アル…

mruby用のgem、mgemを3つ追加しました

追加したmgem https://github.com/ksss/mruby-limits https://github.com/ksss/mruby-murmurhash1 https://github.com/ksss/mruby-murmurhash2 mgem https://github.com/bovi/mgem https://github.com/ksss/mgem-list mrubyとmgem rubyでのrubygemsにあたる…

Digest::SipHash v0.0.1リリース

ksss/digest-siphash · GitHub digest-siphash | RubyGems.org | your community gem host 作る SipHash(https://131002.net/siphash/)のRuby実装がpureRuby版はあったのですが(https://github.com/emboss/siphash-ruby)、C拡張版かつDigest系のAPIを使用し…