人工天然水

works

開発

趣味ポヨグヤミン。

ライブラリ

fbxcel [actively maintained]

Rust 用の FBX ライブラリ。 ゲームで使いたくて作った。

2019年3月現在、 FBX 7 のバイナリパーサと極めて簡素な DOM 対応が実装されている。

opaque_typedef [experimental]

opaque typedef パターンの適用を自動化する (derive で可能にする) ための Rust 用の proc macro ライブラリ。

インターフェースのデザインも内部設計もうまい方法が思い付かず、 experimental のままになっている。

sgr_macro [passively maintained]

ANSI color sequence をお手軽に使うための C / C++ 用の header-only ライブラリ。

任意長引数のマクロやマクロ内ループ処理と向き合う練習のついでとして実装したものなので、黒魔術が利用されている。 マクロ定数を定義するだけで非侵襲的な拡張が容易に行える設計になっている。

            printf(
    "red char->" SGR(FG_RED)
    "underline and bold->" SGR(UNDERLINE, BOLD)
    "background green->" SGR(BG_GREEN)
    "reset->" SGR(RESET) "sample end\n"
);
          
利用例 (examples/sample.c より)

アプリケーション

fbx-tree-view [passively maintained]

FBX ファイルの木構造データを閲覧するための GUI アプリケーション。 FBX ライブラリ実装にあたって、 FBX データの内部をバイナリエディタで覗き見るのがつらかったため実装した。

fbx-tree-view によって、 FBX の木構造、ノード属性、警告やエラーなどを閲覧できる。
fbx-tree-view によって、 FBX の木構造、ノード属性、警告やエラーなどを閲覧している例

fbx_objects_depviz [passively maintained]

FBX のオブジェクトノード同士の関係を graphviz 形式でエクスポートする CLI アプリケーション。 FBX ライブラリ実装にあたって、 FBX データの構造を理解する必要があったため実装した。

json でクエリを指定することで、特定のノードを抽出して描画したり色を付けたりなどできる。

fbx_objects_depviz で、たとえば静的なメッシュ表示に必要そうなノードを抽出して関係を表示できる。
fbx_objects_depviz で、静的なメッシュ表示に必要そうなノードを抽出して関係を表示してみた例

xslt10-lambda-calculus [passively maintained]

XSLT 1.0 (と exslt の node-set()) によってλ計算の処理系を実装した。

巷にある XSLT の計算完備性のデモはチューリングマシンのエミュレーションをしていたり、λ計算の処理系であってもロジックの大部分が文字列処理だったりする。 しかし xslt10-lambda-calculus はλ式を XML にエンコードし、その抽象構文木を XSLT により処理して同じ形式の XML データを出力することで簡約を進行させるため、真に関数型言語的な (?) 処理系である。

de Bruijn indexing やη簡約、簡約基の発見、ワンステップ簡約、 pretty print、脱糖など様々なコンポーネントが単体で利用可能なようにモジュール化されている。 そのため、ライブラリとしての利用も可能である。 また、糖衣構文の追加も容易である。

see also: 発表資料

データ、スタイルシート

docbook-xhtml5 [actively maintained]

DocBook 5 から XHTML 5 への変換のための XSLT スタイルシート。 この web サイトも、 DocBook で書かれた記事をこのスタイルシートで変換することで生成している。

DocBook 5 のうちでも、ブログや自分のサイトで使う要素のみ優先的に対応している。

ドキュメント、文書、記事など

カジュアル発表資料

XML 変換言語はチューリングおじさんの夢を見ない

xslt10-lambda-calculus についてサークルで発表したときの資料。

記事

分散 SNS

分散 SNS についての思想的な話を少々。

創作

小説

ネタがあって気が向いたときなどに書くことがある。

  • lo48576/short-stories: 短編置き場
    • 妹エクスプロイト
      • 妹のバッファオーバーフロー脆弱性を突いてペイロードを注入することで子プロセスを作ろうとする話 (下品)。 いや、本作品が下品に見えるのは、心が汚れているか画面解像度が高くてルビが読めてしまうせいです。

        専門用語には丁寧な解説が付いているので安心。

        本文は1000字未満。 解説は長い。

    • 知能
      • お題: 万能細胞 ということで書いた短編。 人に見せるために書いた初めての作品かもしれない。

        2000字ちょっと。

  • 異世界セマフォ
    • いわゆる「異世界スマホ」を捩ったタイトルから出オチで一話書いただけのもの。 2話のオチも決まっているのだが、ストーリーを全く考えていないのでまだ書けていない (はよ書け)。