Table of Contents
大学の入学手続きをやった
学生証に使おうと思っていた写真のサイズが違っていたので、証明写真を印刷してきた。 最近の証明写真機は過去撮影した画像を再印刷できて便利だ。
また、手続にあたって宿舎の話になった 自室にキッチンがないために、自炊する環境に工夫が要りそうだなと感じた。 浴室もないため、銭湯などはないかと調べたら、中心地からは遠いことがわかった。 学生の方はどのようにしているのか、気になる。
夏休みに入った
やりたいこと、やるべきことは沢山あるのはわかっているのだが、それらは整理されていない。 よって、暇のように感じてしまう、というあるあるが繰り広げられた。
何やろうと思ってたんだっけ……?と思い出してみたら、卒研、読書、ゲーム等々、案外思いつくものだなと感じた。
nim で Lua を動かしていた
nim という言語は C 言語を中間言語としてコンパイルすることができる(その他にも Java、JavaScript、C++を介してコンパイル可能らしい)。 その機能を用いて様々な C のライブラリが使える。
C 言語から様々な操作が簡単にできる Lua ももちろん、その恩恵に預かることができる。 Nim から Lua を操作するためのライブラリは4つほどあったが、その中でもよかったものを 2 つほどピックアップした。 まず、公式のものは Lua 5.0、5.1、5.2 に対応している。Lua の C API をそのまま Nim が使えるようにしただけのもの。 次に、nimLUAは Lua 5.3 が使えて、かつ Lua の API を Nim っぽく使えるらしい。
最初のうちは公式のものを fork して、使ってみた。しかし、Nim のコードが古いのか、コンパイルエラーになる。よって後者を使ってみることにした。
しかし、後者を採用した場合、Lua 5.3 は MSYS2-UCRT のリポジトリにはないため、ビルドする必要がある。 ビルドするにあたっては、このドキュメントを参照した。
curl -O https://www.lua.org/ftp/lua-5.3.6.tar.gz
tar xzf lua-5.3.6.tar.gz
cd lua-5.3.6
make mingw
make mingw install
しかし、lua53.dll がないとエラーを吐かれる。
成果物の中にはあるようなので、make install
する過程でコピーされてなかったかと思い、 install -m 0755 src/lua53.dll /usr/local/bin
としたら、動いたのでよかった。
しかし、ここを参考にLuaのC APIを理解しようと試みたが、Nimの型システムでハマった。具体的にはint
からcsize_t
への変換する方法がわからなかった。
追記: ファミマの麻婆丼について
08/10の昼飯に食べた。味噌のようコクがありウマ辛!って感じだった。
追記: 『CPUの創りかた』について
先日、友人を作っているCPUのクロック回路のシュミットトリガインバータを破壊したという話を日記に書いた。 どの部品が壊れたのかを検証していたら、技術職員の方が『CPUの創りかた』を手にとり、「20年前の本だよね。出たときは衝撃的だったな」とおっしゃっていた。 寡黙な方だったので、びっくりした。