作りたくなったものを衝動的に作る人です。
自作プログラミング言語、処理系、マークアップ言語、論理回路のDSL、ブラウザで動くツール、タイピング・暗記ソフト、学習可視化ツール、3Dまわりの実験、入力デバイスなどを作っています。
個人寄りの制作物は bem130 に、少し大きめの実験的なプロジェクト群は Neknaj に置いています。
Neknaj は、私とその仲間たちのプロジェクト群の名前です。
前置記法・式指向・オフサイドルールを中核にした自作言語です。
WebAssembly / WASI を主要ターゲットにしていて、Playground とチュートリアルも整備しています。
- Playground: https://neknaj.github.io/NEPLg2/
- Tutorial: https://neknaj.github.io/NEPLg2/tutorials/getting_started/00_index.html
- Document: https://neknaj.github.io/NEPLg2/doc/README.html
前置記法の小さな言語を題材に、TypeScript で言語を作りながら学ぶための本です。
Compiler / Runtime / CLI / Web エディタまで、自分で組み立てながら理解することを目標にしています。
論理回路をテキストで設計・検証するための DSL と処理系です。
CLI と Web の両方で扱えるように作っていて、論理回路・記法設計・実装の交点にあるプロジェクトです。
Markdownを拡張し、ルビ付きのテキストを簡単に記述し、ネストの構造を明示して表示するようにしたものです。
- Playground: https://neknaj.github.io/gloss
- NEPLg2
- NEPLg1
- NLPS
- njplang
- prefix-lang-compiler-book
自作言語を作ることと、その周辺の処理系・記法・実行環境を設計することを継続してやっています。
文書をどう書くか、どうレンダリングするか、どう部品化するかに強い関心があります。
マークアップ言語そのものや、ブラウザでの表示系を作っています。
- Neknaj Circuit Game
- cpu-circuitgame
- circuitgame_tutorial
論理回路をテキストで書いて扱うための DSL や、その処理系、周辺ツールを作っています。
- Typing Multi-Platform
- Typing Web
- GeoQuiz
- PeriodicTableMemorizer
- typing
- chemquiz
タイピングを単なる速度練習ではなく、暗記や学習のためのインターフェースとして使うことに興味があります。
勉強時間や模試データの記録・集計・可視化のためのツールも作っています。
- Real-time Audio Analyzer
- Convolution
- springsimu
- JSON Viewer
- visualBinary
ウェブブラウザでそのまま動く、小さめの実験ツールや可視化ツールをよく作ります。
- Neknaj 3D Library
- 3DTree / 3DTreeWeb
- maze
- virtualworld
- nvg
- MorseBLEkeyboard
- Bem配列
3D 描画、入力方式、キーボード配列、物理デバイスなど、ソフトウェアの外側にある入出力にも興味があります。
- 作りたくなったものを作る
- できる限り自分で実装する
- マルチプラットフォーム対応する
- 自由度の高いソフトを目指す
- 作品は基本的にフリーライセンスで公開する
- 個人サイト: https://bem130.com
- Neknaj: https://neknaj.com
- GitHub (bem130): https://github.com/bem130
- GitHub (Neknaj): https://github.com/neknaj


