オープンソースでポータブルなDJスクラッチ機材、SC1000
なにこれ!?と思っていろいろ調べてみた。
SC1000とは
githubで設計図が公開されているオープンソース(GPL2)ハードウェア。
なにこれ!?と思っていろいろ調べてみた。
githubで設計図が公開されているオープンソース(GPL2)ハードウェア。
自作のRubyスクリプトに簡単なGUIを付けたくて少し調査してみた。
shoes3, shoes4, fxruby, tkあたりを少し見てみたが、2021年現在ではgtk3 gemを使うのが一番楽そう。なんといってもインストールが簡単。
$ gem install gtk3
Macの「サービス」からRubyスクリプトを起動する手順。
まず以下を参考に、Automator.appを起動し、「シェルスクリプトを実行」を登録する。
入力の引き渡し方法は「引数として」を選択。
シェルスクリプト部分を以下のように変更。
qmkの環境構築をしてたら、tmuxが起動しなくなった。
/Users/yhara % tmux
[exited]
^[[?62;4c^[[ITERM2 3.3.12n%
brew upgradeを^Cで止めたりしたせいか…?と思ったが、ps aux | grep tmux
してみたら起動中のtmuxが一つあった。
killall tmux
で当該プロセスを止めたら無事起動できるようになった。(参考)
近況です。
今月はいろいろ他事をしていてあまり進められなかった。if文の型チェックを整理したくらいか。これでこういうのが書けるようになった。
次は分割コンパイルの件に手を付けたい。
先月の活動報告です。
doc/guide, doc/specを追加した。一見同じものに見えるが、前者はユーザ向け、後者は仕様書なので微妙に内容が違う。例えば「メソッド名は慣習的にunder_scoredにする」という話は前者には書くが、後者には書かない。一方、普段使わないようなコーナーケースの話は後者にだけ書く。という感じ。
あとメソッドからのreturnを実装した。その勢いでブロックからのreturnも実装しようとしたのだが、思ったよりはるかに難しいことがわかり一旦ペンディングにすることにした。
Rust + LLVMで自作プログラミング言語Shiikaを作っているのだが、開発中に遭遇するエラーには以下の種類がある。
一番面倒なのはもちろん最後のケースだが、これもさらにいくつかの種類に分けられる。
tl;dr This worked for me (iTerm2 on Mac)
$ cargo --color always build | less -R 2>&1
When I use lv
(or bat
) to read the output of cargo build
, the output is not colored, even with --color always
(i.e. $ cargo --color always build |& lv
).
近況です。
今月はなんかいろいろやった。大きなのはHashクラスが入ったのと、Array#mapが入ったのと、こないだ書いたctxのリファクタリングかな。
あとは「一年の計は元旦にあり」ということで、Shiikaレベルで書けないものをどうするか検討していた。結果としては、標準ライブラリはRustで書いて、それとは別にffi機能を提供するということに落ち着きそう。Rustでライブラリ(RubyでいうRubyGemsみたいな)を書けるようにしようかなとも思ったのだけど、それだけだと例えばlibSDLを使いたいときにShiika→Rust→Cという二人羽織状態になってしまうので。
『時間は存在しない』を読んだ。
物理学者が書いた本だけど、一般向けで、数式はほぼ出てこない。「ループ量子重力理論」の専門家が時間というものをどのように捉えているか、を説明した本。
とてもエキサイティングで面白かったが、実験的事実なのか作者の予想なのかが明記されていないところがあるのでそこだけは注意。たとえば時空はループし得る("常に未来に向かいながらも時空のもとの点に戻ってくるような構造を作り出すこともあり得る")と書いてあってびっくりしたのだけど、調べた範囲ではどうも「相対性理論に反しない範囲で、そのような構造を許す宇宙を考えることができる」というだけのことらしい?