2020年1月 (DXOpal)
近況です。
DXOpal
1月は体調がだいぶ回復した。Pragmatic Opalの改訂版が出るということで、DXOpalの解説記事を書き下ろした。内容はお楽しみに。
これに伴いDXOpalにもいろいろ手をいれた。マルチタッチ対応とか。
近況です。
1月は体調がだいぶ回復した。Pragmatic Opalの改訂版が出るということで、DXOpalの解説記事を書き下ろした。内容はお楽しみに。
これに伴いDXOpalにもいろいろ手をいれた。マルチタッチ対応とか。
Rubyでブラウザゲームが作れるライブラリ、DXOpalの1.4.1をリリースしました。
v1.4.0はバグがあって取り下げたので、1.3.0以来のリリースとなります。
主な変更点は以下です。
touch eventは#21で作ってもらったもので、いまのところシングルタッチのみ対応ですが、これでスマホ用のゲームも作れるようになりますね。
近況です。
12月といえばAdvent Calendarの季節だが、12月上旬は体調を崩していてあまり作業できなかった。
Opal Advent Calendarにいくつか記事を書いた。
このエントリはOpal Advent Calendar 2019の22日目の記事です。
Ovtoの0.5.0をリリースしました。
近況です。
11月下旬は体調を崩していてあまり作業できなかった。
varとwhileとビット演算を足して、あとはbreakを実装すればマンデルブロー集合が描けるようになるかな?というところ。
近況です。
10月頭はISUCON本戦のために新宿まで行ってた。予選の規模もすごかったけど、本戦ではこの32チームのために予選とは全く違う問題が作られていて、本当に運営がすごいと思う。ありがとうございました。
結果は13位…なのだけど、実をいうと終了10分前からベンチマークのFailが連発しており、あわやNo Scoreかと思われたのだった。ので順位がついて良かったなあというのが正直な気持ち。
近況です。
会社ブログにも書いたけど、ISUCONの本戦に出ることになった。今回が初参加で、「本戦行くぞ!」みたいなテンションでやってたわけでもなくて、期待はしてたけど、本当に行けるとはみたいな感じ。
quickrunというプラグインを使うと、vim内から任意のプログラムを起動できるようになる。僕はこれを使って、Rustのユニットテスト(cargo test
コマンド)を\r
で起動できるようにしている。
ただ少し困るのは、場合によってコマンドの実行時間が大きくことなる点だ。コンパイルエラーがあるときは一瞬で結果が出るのだけど、コンパイルが通ると、実行に10秒程度かかることもある。どちらになるのかは実行してみるまで分からない。
これに対して、.vimrcを以下のようにすることでcargo test
の実行前と実行後に音を鳴らすようにしてみた。afplayはMacにデフォルトで入っている音声再生コマンドである。
let g:quickrun_config['rust'] = {
\ 'exec': 'afplay ~/proj/sound/beep_low.wav; cargo test; afplay ~/proj/sound/beep1.wav',
\}
こうすると、テストの実行が長い場合は音が鳴るまで目を閉じておくことができ、プログラミングという負荷の高い作業の中で少しでも目を休めることができる。
近況です。
BiwaSchemeにsyntax-caseを実装した。まだ基本的なケースだけしかサポートしていないので本体にマージしていないが、とりあえず現時点のものはここにある。
シンボルを自動でリネームする機構("Beautiful Code"に載ってるやつ)までは何年か前に実装していたのだけど、それを一歩進めて、define-syntax + syntax-caseで(簡単な)マクロが定義できるようにした。おぼろげに「パターンマッチを実装する」という作業だと想像していたのだけど、それに加えて「マクロ展開時にScheme式を実行できるようにする」という作業があった。このあたりの話は月報ではとても書ききれないので、別途記事にしたい。
どうして数年ぶりに作業を再開したのかというと、define-syntaxないのと聞かれたからという単純なものである。まあ中途半端な状態で放置してたのがずっと気になってたというのもあるけどね。