tana_ash's diary

プログラミングや電子工作など。やってみたこと、わかったことをまとめておく場所。

プログラミング

Vim Scriptでレイトレーシング

経緯 以前、「Vim Scriptでもレイトレーシングができるのではないか?」ということを考えていました。 昨日早朝、布団の中でそのことを突然思い出したので布団を飛び出し衝動的に実装しました。 tana/vimtracer tana/vimtracer · GitHub 機能 このような画像…

mrubyをSTM32 Nucleoボードで動作させる

今年、STマイクロから新しいSTM32マイコンボード、Nucleo( STM32 MCU Nucleo - STMicroelectronics)が発売されました。Arduino互換のピンを持ち、最大で96KBのRAMを搭載しています。なおかつmbedに対応しドラッグ&ドロップで書き込みが可能で、そしてそれが1…

JavaScriptに変換される新しい言語「Mican」を作りました!

この記事は altjs Advent Calendar 2012の8日目です。 今回は私が以前から作っていた、JavaScriptにコンパイルされるaltjsとなる新しい言語について紹介します。 言語の紹介 この言語は簡単に言うと、RubyとPythonのいいところを取り入れた、JavaScriptの代…

if文をパースするときの混乱と解決法

はじめに 今、私はJavascriptにコンパイルされる新しい言語を作っています。 そこで、この言語のパーサをJavascript版のyaccのようなツール Jison (http://zaach.github.com/jison/ )を使って作っています。 このツールは基本的にyaccと似たようなものらしい…

drawableとrawの違い、謎の拡大

全ての始まり Android端末のバッテリー情報や電波強度を遠隔で確認するアプリを作成している途中。 BitmapFactory.decodeResource(R.drawable.なんとか) を使って画像を読み込み、 その画像に文字や図形を描画しPNG画像として書きだすプログラムを作っていま…

AndroidテザリングとIPアドレスの謎

現在使用しているAndroid端末にはテザリング機能が搭載されています。 ふと思いついたアプリを実装するため、テザリング時のIPアドレスについて調べています。 今回は、その動作について書いていくことにしました。 使用した端末はOptimus LTE(L-01D)、キャ…

小さなHTTPサーバーNanoHTTPDを使う&改造する

今年の4月ごろからAndroid開発を始めたのです。 だからJavaもやってるのです。 そして、突然新しいアプリのネタを思いついてしまったのです。 というわけで、今日は、Javaソースコード1ファイルだけの小さなHTTPサーバー、NanoHTTPDというものを見つけたので…

mrubyのメモとか。

mrubyについていろいろ調べながらプログラムを書いてます。 その中で調べたことについて書いておきます。 主に、C言語からmrubyにメソッドを追加したり呼び出したりすることについてです。 http://avr.paslog.jp/article/2492088.html や http://akasata.hat…

mrubyをビルドしたり、使ったり。

RubyをLuaのようにプログラムに組み込んだりできるmrubyというものがあります。 githubで公開されています。https://github.com/mruby/mruby/ 今回はふと思いつきこれを試してみることにしました。 メモも兼ねて手順を書いておきます。 ビルドは簡単です。時…