Hatena::ブログ(Diary)

コンデンサの隣からひとこと このページをアンテナに追加 RSSフィード Twitter

2018-04-12

自サーバでのブログ開設


自ドメインのサーバでWordpressを立ててみた。なにかあれば今後はこちらに書いていこうかと思う。

Kishima Blog

2016-11-23

色々ありました

2013の秋から3年間とあるプロジェクトのお仕事を続けて来て、この秋に一区切りつきました。

ずっと忙しかったですが、最近やっと多少余裕がでてきました。

この3年間、世界各国を飛び回って、死ぬほど大変でしたが、色々と面白い体験もできました。

表に出しても差し支えない範囲で体験を整理して、まとめたいなあ、と思っています。

iRemoconでエアコンと電灯を自動制御する

寝る前に電灯を消し忘れたり、自宅に帰る前に暖房で部屋を温めておきたかったり、といったことがあったのでiRemoconを使って簡単な遠隔家電制御システムを作ってみた。

iRemocon使わなくてももっと安く実現可能だけど、以前API使ったことあったので、楽をするために採用。

iRemoconのサービスを契約すれば宅外制御もできるのだけど、月額課金もあれなので気分転換も兼ねて自前で作ってみた。↓がシステムの構成です。

https://docs.google.com/presentation/d/e/2PACX-1vRTto2BJ8OTVQi0Qqt6SRSkOmQHVTHpqVTOQEcjXdQDL9vUUHNPKDAaIOukVPeT_P4KOVpQ3HE3jnOX/pub?start=false&loop=false&delayms=3000

f:id:machaut:20161123223638p:image:w640

iRemoconの外部公開API仕様

http://i-remocon.com/development/

2014-03-31

TokyuRubyKaigi07にスタッフとして参加してきた

FBからのほぼ転載ですが、こちらにも残しておきます。

土曜日はおにくの休日、ということで、TokyuRubyKaigi07が開催されました。

そこにスタッフとして参加してきました。今回はしおり作ったり、当日の記録をとったりしてました。

参加頂いたみなさまありがとうございました。

昨日はあみだ係ではなかったので、スタッフしつつも、すべてのLTを聴くことができて楽しかったです。メモも取ったので、あとでちゃんとまとめます。

こういうざっくばらんなイベントとはいえ、技術系のイベントに参加するのはとても久しぶりだったので、心が少しクリアになりました。

それと初LTに挑戦して頂けた方が多かったのも、スタッフとしては、とても嬉しかったです。

参加されたみなさんも、こういう息抜きや交流を上手く利用してもらって、日々のことに邁進して頂ければと思います。

まさに自分も。

http://regional.rubykaigi.org/tokyu07

f:id:machaut:20140329134010j:image:w360

f:id:machaut:20140329132900j:image:w360

2013-10-23

Kawasaki.rb #3でmrubyの簡単な紹介をしてきた。


ものすごく時間が立ってしまいましたが、8/28のKawasaki.rb*1でmrubyの簡単な紹介と、そのちょっとしたサンプルとして、webrubyを使って作った抽選スクリプトの紹介をしてきました。

その資料を置いておきます。

webruby & enchant.jsを使って作ったスクリプトの実物は下記にあります。

http://silentworlds.info/webruby/

ソースコードはこんな感じ

続きを読む

2013-06-24

WebrubyをMacにインストールしてみる


webrubyとは、ブラウザの上でrubyを動かしてしまおうというものです。

http://qiezi.me/talks/rubykaigi2013/index.html#/

https://github.com/xxuejie/webruby

RubyKaigi2013でのお話を聞いて、試してたくなったので、開発環境の準備をしてみた。

↓を参考に。

http://qiezi.me/2013/01/09/webruby-1-2-3-tutorial/

Emscriptenが必要→LLVMが必要→Homebrewあった方がいいな→macports消さないと

という感じで色々準備が必要だった。

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Emscriptenのインストール

https://gist.github.com/nathanhammond/1974955

LLVMのバージョンが3.2である必要があるらしいが、デフォルトだと3.3がインストールされてしまったので、下記の手順で修正。

なるほど、git checkout で切り替えるのかー。

$ brew versions llvm
3.3      git checkout c4cc4cc /usr/local/Library/Formula/llvm.rb
3.2      git checkout f8f4ca1 /usr/local/Library/Formula/llvm.rb
3.1      git checkout 7d15192 /usr/local/Library/Formula/llvm.rb
$ cd /usr/local/Library/Formula
$ git checkout f8f4ca1 /usr/local/Library/Formula/llvm.rb
$ brew info llvm
llvm: stable 3.2 (bottled), HEAD
http://llvm.org/
Not installed
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/llvm.rb
==> Options
--all-targets
	Build all target backends
--disable-assertions
	Speeds up LLVM, but provides less debug information
--disable-shared
	Don't build LLVM as a shared library
--rtti
	Build with C++ RTTI
--universal
	Build a universal binary
--with-asan
	Include support for -faddress-sanitizer (from compiler-rt)
--with-clang
	Build Clang C/ObjC/C++ frontend
--without-python
	Build without python support
==> Caveats
For non-homebrew python (2.x), you need to amend your PYTHONPATH like so:
  export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
Extra tools are installed in /usr/local/Cellar/llvm/3.2/share/llvm and /usr/local/Cellar/llvm/3.2/share/clang.

If you already have LLVM installed, then "brew upgrade llvm" might not work.
Instead, try:
    brew rm llvm && brew install llvm
$ brew install llvm --with-clang

これで準備はできたので、webrubyのビルドへ。

$ git clone git://github.com/xxuejie/webruby.git
$ git submodule init && git submodule update

build_config.rb中の下記の行のコメントを外す。

conf.gem :git => 'git://github.com/xxuejie/mruby-js.git', :branch => 'master' # This is the line to uncomment!

rake mrbtest を実行して、問題なければbuildディレクトリ以下に、webruby.jsが出来上がっている。

mruby、emscriptenはmodulesディレクトリ以下に収まっている。

appディレクトリにある*.rbのソースコードは自動的にコンパイルされて組み込まれるそうだ。

後はこれをHTML上で読み込んで、案内にあるサンプルの通り呼び出せば、mrubyが動いていることが確認できた。

<!DOCTYPE html>
<html>
  <head>
    <title>Webruby tutorial</title>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script src="webruby.js"></script>
  </head>
  <body>
    <h1>This is a skeleton for Webruby tutorial!</h1>
    <div id="container"></div>
    <script>
      $(document).ready(function() {
        var mrb = WEBRUBY();

        /* Runs embedded source code in mruby.js file. */
        mrb.run();

        mrb.close();
      });
    </script>
  </body>
</html>

動的にテキストを読み込んで実行することも可能。

そのときは"mrb.run_source(source)"を実行する。

mruby→JSの呼び出しと、コールバック登録ができることは確認出来た。

ただ、JS→mrubyでコールバックを呼ぶ時にオブジェクトを引数に入れると、繰り返し呼んでいるうちにスタックが溢れてしまうという現象が起きた。setjmpやらlongjmpがからむemscriptenの問題らしいが、詳しくは分からない。

いやしかし、すごいものだ。