福澤テクノロジー

おっさんプログラマーが、主に技術的な話をするブログ。

mruby-beaglebone を作りました

mrubyで名刺サイズコンピュータBeagleBone Blackをコントロールしたくなって、mrbgemを作りました。 FUKUZAWA-Tadashi/mruby-beaglebone · GitHubもともとbonescriptという、node.js上で動くjavascriptライブラリと、それをブラウザから呼び出せるCloud9 IDE…

赤外線送受信実験

beaglebone black に、赤外線発信機 Grove WLS12148P と 赤外線受信機 Grove WLS12136P をつなげて赤外線送受信の実験中。発信は、GPIBに接続して、Cloud9 IDE 上で簡単なスクリプトを組んでみたらあっさり動いた。 動作確認は、発信機のLEDをデジカメで見れ…

beaglebone black Rev A6

昨年末に秋葉の秋月電子で買った beaglebone black Rev A6 をいじっているメモ。 電源は、DC5VでもUSB給電でもどちらでも起動できる。 起動時にS2スイッチを押さずにいるとオンボードのeMMCからの起動、押し続けているとSDカードからの起動になるはずだが、…

Lazy Expression Expansion

ALCSを Lazy Expression Expansion に改名しました ALCS じゃ何の略だったか自分でも忘れてしまうくらいだったので、名前を変更。 式展開 #{} をその場で評価しないで後で評価する、という意味を込めて名付けました。 Haskellなどの遅延評価と違い、自分で P…

mrubyのヒアドキュメントのバグを修正

mrubyのヒアドキュメントのバグを修正しました バグがある事はわかっていたのですが、まず使われる事のない文法に対する Syntax Error だったので、半年ほど放置していました。 これを修正し、既にmasterにマージされています。修正箇所は3箇所。 配列リテラ…

「忍者を探せ!」をiBookstoreからリリースしました

申請してから1ヶ月、ようやくリリースされました。 訳の分からない理由でリジェクトされ、無駄な時間を使わされましたが、なんとかかわす事が出来ました…。 iBookstore Formatting Guidelines の section 2.14 を見て直せと言われたんだけど、そんなセクショ…

立体写真ページ大量更新

ずいぶん長い間更新をサボっていたので、沢山の立体写真が溜まっていました。 一気更新。 深海 = 国立科学博物館特別展。大王イカの標本の展示があります。 OpenSky3.0 = ナウシカのメーヴェみたいな機体をジェットエンジンを積んで本当に作って飛んでしま…

GMailの迷惑メールに分類されてしまった必要なメールを検出しやすくする方法

GMailは迷惑メールフィルタが優秀なので、契約しているプロバイダのメールも全てGMailに転送してメールは全てGMailで読んでいる人も多いかと思います。 しかしフィルタは100%完璧な訳ではないので、たまに迷惑メールが受信トレイに紛れ込む事もあります。 そ…

「お花見ゆうれい」をiBookstoreでリリースしました

Kindleストアから出版した「立体写真集 桜」を改変して、iBookstoreから「お花見ゆうれい」を出しました。 → 立体写真集 桜 を出版しました - 福澤テクノロジーどちらも桜の立体写真なのですが、iBooks版はインタラクティブに、平行法、交差法 、ぴくぴく法…

立体写真集 桜 を出版しました

今まで Finepix REAL 3D W1 で撮り貯めてきた立体写真を、Kindleストアから立体写真集として出版しました。 立体写真集 桜作者: 福澤正発売日: 2013/04/27メディア: Kindle版この商品を含むブログを見る 5/1追記: 英語版も出ました。 Cherry Blossoms / Ste…

ALCS(仮) 仕様まとめ

ALCS(仮) 新しいリテラルのアイデア。 文字列とクロージャの配列を生成する表記法。 Array Literal of Closures and Strings の略。 (もっと良いネーミングは無いものか) ソースコード mrubyに実装してみた。 https://github.com/FUKUZAWA-Tadashi/mruby/tre…

gotoとクロージャ

goto文の要請 数年前の話。 スクリプト言語Hayatを使ったノベル系のゲームを開発していた。 シナリオ担当者から、「goto文を追加してよ」というリクエストが来た。 えー、goto文なんてプログラムの構造を複雑にしてバグの温床になる機能じゃん。 BASIC言語で…

ALCS(仮) の使いどころ

ゲームでは、登場人物がしゃべったり、ナレーションを流すようなシーンがあるが、文字の色やサイズを変えたりメッセージの表示速度を動的に変えたりする演出をよくする。 スクリプトレベルでは、メッセージを全角文字、コマンドを半角文字で表現したり、 HTM…

ALCS(仮): Array Literal of Closures and Strings

Lazy Here-document (仮) をmrubyに実装してみた - 福澤テクノロジー を作ってみたものの、まだ使いにくい。 行頭や行末の空白文字がそのまま残ってしまうのが、文章を主としたスクリプトを書く時にインデントが出来ない原因になっている。 そこで思いついた…

mruby に %W %w %s リテラルを追加

mruby に %W %w %s の3種類のリテラルを追加し、pull request しました。 この時、文字列の解析ルーチンに無駄があったのでリファクタリングしつつ、新リテラルにも対応させるようにしました。 特に Here document 周りに無駄があったので、 parse_string() …

Lazy Here-document (仮) をmrubyに実装してみた

Hayat言語の特殊機能 sayCommand - 福澤テクノロジー にて、sayCommand機能を紹介しましたが、言語仕様としては不恰好で一般的とは言えません。 そこで、他の言語にも採用してもらえそうな仕様を考えました。 仮に、Lazy Here-document と名付けてみました。…

Hayat言語の特殊機能 sayCommand

スクリプト言語Hayatは、ゲーム機組み込み用に設計された言語なので、ゲーム用の特殊機能があったりします。 その1つ、sayCommandを紹介します。こんなスクリプトを書くことができます。 アインシュタイン「人生は{青}退屈すれば長く{白}、 {赤}充実すれば短…

ゲーム機用スクリプト言語

昔は、ゲーム機に乗せるスクリプトは自作するものだった。 僕も10年前のプロジェクトでスクリプト言語を作った。 ゲームに特化した言語で、データ型も4種類しかなかったが、プログラマでなくても イベントや演出を作ることができ、スクリプト言語の持つパワ…

mrubyにHeredocument機能を追加

mrubyに Here document の機能が無かったので、作ってみて pull request したら 早速採用されました。 夜にpull requestしたら、翌朝には2件のバグフィックスも含めてマージされてた。早い! mruby は https://github.com/mruby/mruby でメンテされています…

ブログ開始

不特定多数に情報発信する手段を、ツイッター以外に持っていなかったので、 ブログを開設してみました。 技術的な話を主にしていくつもりです。