2013年のWakayama.rb発足以来、ずっとmrubyとともに歩んできています。 GR-CITRUS, WA-MIKAN, SAMBOU-KANなど、mrubyボード関連の基板や和歌山県内の中高生には「缶サット甲子園」という大会などIoTとmrubyをキーワードに10年、その歴史を振り返ってみたいと思います。 github
2021年3月5日に、mruby 3.0.0 のリリースがされました。おめでとうございます! mruby.org これに関連してなのか、mrubyをこれから始めようとか、ここのところどうなっていますかという質問をちょくちょく受けたり、ツイートを拝見したりするようになりました。 一方で、どうしても情報が古い、あるいは多くのmgemのメンテナンス状況が悪いように見える、などの初学者にとっては難しい状況が広がっており、厳しい気持ちになったり、厳しい感想を述べたりされている方もいるように思います。そして、その感想中には誤解も含まれているようです。 ここでいったん、少しでも「心構え」ができるように、これから触ってみる方々に対しての自分の考えをまとめておこうと思いました。 (さらにいうと、基本的に本原稿はいちユーザ、それもWebインフラに関わるユーザとしての解釈なので、Matzをはじめとした他のmru
2020年度のRuby Association開発補助金(RA Grant)によるブーストを得て、mini mruby compilerを開発しています。 簡単に言うと、ワンチップマイコンでも動作する省リソースなmrubyコンパイラです。 先日、その中間報告を提出しました。 審査を通過したのかどうか連絡がない(そもそも審査があるのかもよくわからない)のですが、却下するとも言われていないので大丈夫なのかなと思います。 進捗 大ざっぱに分類すると、条件文のコンパイル、ブロック文のコンパイルと入れ子状IREPのVMコードジェネレートができるようになりました。 コンパイラを書いてみると、改めて初心に戻れる(いやべつに上級者でもなんでもないですが)気がしたので、本稿ではそのへんの学びを書き留めます。 条件文 条件文の代表例は以下のようなものです: コンパイル後のVMコードでは、条件を判定する部分 a
C言語は冗長なんだけど、なんか好き さっそくですが、松本さんが好きなプログラミング言語を教えてください。 今はC言語をよく使うんですけど、C言語そのものが好きなのか、手に馴染んでいるから好きなのか、もはやわからない状況になっていますね。この状況を一般的に好きって言うでしょうけど。 ただ、僕にはそれほど言語へのこだわりがないんです。そもそも昔からプログラミング言語を網羅的に学習するのが苦手で。まず作りたいものがあって、次にどの言語がベストかを考えるようにしていました。 そうすると、C言語に初めて触れたのはいつだったんですか? 今、僕は36歳で、大学に入ってから書いているので15年ぐらい前ですね。 当時はWindows95が発売され、自宅でもようやくPCが買えるようになった時代でした。ただ、それから数年経って、購入したPCだとスペック的に満足いくものがなかったので、自作していたんです。そうする
株式会社QPS研究所は、約20社の九州の地場企業が開発・製造する小型SAR衛星1号機「イザナギ」の打ち上げを2019年12月11日(水)に実施します。 イザナギは、インドのサティシュ・ダワン宇宙センターより「PSLV(Polar Satellite Launch Vehicle)」のC48に搭載され、高度約570kmの軌道へと打ち上げられます。 QPS研究所の開発した、収納性が高く超軽量の大型アンテナを搭載したイザナギは、合成開口レーダー(SAR)を使用し天候や昼夜関係なく観測が可能。また、従来のSAR衛星より小型かつ低コスト化を実現しており、多数の衛星を打ち上げることも可能です。 打ち上げ当日は、福岡県庁ロビー1階にてパブリックビューイングを行うことが決定していmsづ。打ち上げの様子を大型モニターで見ながら、QPS研究所創業者/研究所長/九州大学名誉教授の八坂哲雄氏と研究員の福田大氏より
まつもとりーがmod_mrubyを開発した理由 - 解決すべき課題は研究ではなく、実運用の中にあり 多くのエンジニアから、そのアウトプットが注目される「まつもとりー」こと松本亮介さん。自身のOSS開発の裏側にある研究と開発の関係性を聞きました。 「研究したいと思ったことと、企業で必要とされる課題解決にギャップを感じた」 インターネット基盤技術の“研究者”として広く知られる、まつもとりーこと松本亮介(まつもと・りょうすけ/ @matsumotory )さんは、過去を振り返って、こう語ります。 多くのエンジニアの注目を集め、そして多くのエンジニアをインスパイアし続けるまつもとりーさんですが、アウトプットへと至る根源には、常に「現場で直面した課題」があるといいます。では、mod_mruby / ngx_mrubyといった広く使われるOSSの根源にあったものとは一体なんでしょうか。 オープンソース
はじめに こんにちは、kishimaと申します。 mruby/c(えむるびーすらっしゅしー)という言語を皆さんは御存知でしょうか? この記事では、mrubyから派生して生まれたmruby/cを使ったIoTっぽい電子工作について説明していきたいと思います。 mruby/cでIoT 筆者は仕事で馴染み深かったのもあり、2017年後半あたりから電子工作を本格的に趣味として始めました。 機器の制御のためにマイコンにソフトを書き込むわけですが、プログラミング言語は基本的にC言語を用いてきました。 しかしちょっとした機能の実装に、いつもC言語を使うのも面倒と感じる場面も多く、Rubyのようなスクリプト言語を使えたらいいなとずっと思ってきました。 最近では、mrubyという選択肢もあるわけなのですが、RAMが数百KB程度のマイコンで動かすことを考えると、mrubyは動かせないということはないのですが、あ
このエントリは KLab Advent Calendar 2017(兼 mruby Advent Calendar 2017)の 12 日目の記事です。 今年は(前半は)Keepalived にフルタイムでコントリビュートしていたり(後半は)ひたすら mruby をいじっていたりと、実に OSS 充な一年だった @pandax381 です。 タイトルにある試みについては、2015 年の時点で東京大学の品川先生が「mruby を Linux カーネル内で動作させる」という素晴らしい記事を書かれていて、Kernel module に組み込んだ mruby が動作することを実証されています。 mruby をカーネル内で動作させるために大きく問題となるのが、浮動小数点演算です。mruby は Float を標準的なクラスとして提供していると共に VM 内部でも浮動小数点演算を行っている一方で、Ke
mruby/cの安定版1.0リリースに先立ち、Rubyおよびmrubyの開発者で、ITOCの顧問でもあるまつもとゆきひろさんに、mruby/cプロジェクトへの期待、今後の方向性などについて東専門研究員とともにお話いただきました。 (インタビュー日:2016年12月12日) ― 本日はよろしくお願いいたします。 ITOCではmruby/cや SciRubyなどRubyに関連した研究開発に取り組んでいます。Rubyを利用されることの多い県内企業の皆さんからはRubyやITOCの研究開発に多くの期待が寄せられています。 まつもとさんは国内外で多数講演され、多くの方とお話される機会をお持ちだと思いますが、国内外でのRuby、mrubyの拡がりについてどのように感じていらっしゃいますか? まつもと:Rubyは、すでに多くのユーザーに利用されており、今更、新たに拡がりを感じるレベルではないですね。 m
本記事は、mruby advent calendar 2016の23日目の記事です。22日は、ore_publicさんのruby製のコマンドラインツールをmrubyに置き換えるでした。 mrubyインタプリタ、mrubyの実装的にはmrb_state構造体なのですが、一つのプロセスの中で複数mrb_stateを作らざるを得ない場合に、複数のmrb_state間でデータを共有して使いたい場合がありませんか?ふむふむなるほど、やはり皆さん共有したいようですね。 これまでは、mrb_state間でデータをコピーする際にドキュメントに書かれていない知識を使って頑張ってやる必要があったのですが、それを簡単にできるように、mrubyのC APIを拡張するmrbgemのmruby-pointerを作りました。 github.com 今回はその使い方を説明します。 典型的な使い方 例えば、とあるmrb_s
X Window Systemで動作するキーリマッパー「xremap」を作った 2017/1/9追記: xkremap→xremapにリネームしました 2021/12/21: Rust化に伴いアーキテクチャを刷新し、より多くの機能と環境がサポートされました: Linux用キーリマッパーxremapをRustで書き直した - k0kubun's blog 僕はKarabiner用のRuby DSLを作ったりそれを使って大量の設定を既述する程度にはKarabinerのヘビーユーザーなんだけど、デスクトップ環境にLinuxを使い始めてからもう1年以上経つ今でもLinux環境で使えるKarabiner並にリッチなキーリマッパーを見つけられずずっと不便していたので、ユースケースを満たす最低限のものを自分で作った。 github.com ちなみにX用であって別にLinuxの何かに依存しているわけではな
msgpack-inspectを作った話に書いたが、このツールはエントリにも書いたとおり rubygems.org に公開されていて CRuby や JRuby でインストール・実行可能である。その一方でバイナリをダウンロードするだけで使えると便利だよねってことで、mrubyでクロスコンパイルしてリリース版が置いてある。 これは実はそこまで簡単ではなくて、Rubyの機能のうちmrubyでもサポートされている文法や組込みライブラリの範囲しか使えないのはもちろん、たとえば外部のライブラリに依存する機能*1などは mruby でクロスコンパイルしようとすると地獄を見ることなどもある。 そんな事情もあって、今回クロスコンパイルしたリリースに成功するまで、けっこうな手間をかけた。ここにそのへんをざらっと書いておこうと思う。 やったこと mruby-cliを使う 基本的にmrubyでビルドするための準
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く