2021年に使うSnipMate
今までいわゆるスニペット系のvimプラグインは使わずに来たのだが、Rustを書くようになって
Default::default()
とタイプするのが面倒collect::<Vec<_>>
とタイプするのが面倒use std::collection::HashMap;
とタイプするのが面倒
…のように、スニペットの必要性が分かるようになった。
どのようなプラグインがあるかは以下がとても参考になった。
処理系Slackのミートアップに参加しました
ALETH42を組み立てた
ALETH42を組み立てた。キー数が少ないのでキーマップ調整に手間取ったけど、まあまあいい感じになってきた。今は自宅で仕事するときに使っている。
Keyboard: ALETH42
— yhara (Yutaka HARA) (@yhara) April 18, 2021
Switch: Kailh speed silver (+ rose pink)
Keycap: MDA Pineapple#KEEB_PD #KEEB_PD_R40 pic.twitter.com/Hm31kyejT6
↑はじめての#KEEB_PD。
発端
もともとは分割キーボードにしか興味がなかったのだが、nillpoさんのKUMOキーボード(この3枚目)を見てrow-staggeredな一体型のよさに目覚めてしまったのだ。とはいえKUMOはもう手に入らないので諦めていたところ、タイミングよくALETH42が登場して、作ってみることにした。
clangのwarning: overriding the module target triple
Ruby GUIライブラリ 2021
自作のRubyスクリプトに簡単なGUIを付けたくて少し調査してみた。
shoes3, shoes4, fxruby, tkあたりを少し見てみたが、2021年現在ではgtk3 gemを使うのが一番楽そう。なんといってもインストールが簡単。
インストール
$ gem install gtk3
MacのサービスでRubyスクリプトを動かす
Macの「サービス」からRubyスクリプトを起動する手順。
まず以下を参考に、Automator.appを起動し、「シェルスクリプトを実行」を登録する。
入力の引き渡し方法は「引数として」を選択。
シェルスクリプト部分を以下のように変更。
tmux [exited]
qmkの環境構築をしてたら、tmuxが起動しなくなった。
/Users/yhara % tmux
[exited]
^[[?62;4c^[[ITERM2 3.3.12n%
brew upgradeを^Cで止めたりしたせいか…?と思ったが、ps aux | grep tmux
してみたら起動中のtmuxが一つあった。
killall tmux
で当該プロセスを止めたら無事起動できるようになった。(参考)
lldbでLLVMプログラムをデバッグする
Rust + LLVMで自作プログラミング言語Shiikaを作っているのだが、開発中に遭遇するエラーには以下の種類がある。
- rustcがエラーを吐く(=.rsに問題がある)。
- rustcは通ったが、Shiikaのエラーが出る(=.skに問題があるorバグで問題があると誤判定している)。
- rustcは通ったが、llcがエラーを吐く(=.llの生成に問題がある)。
- llcが実行ファイルを生成したが、実行すると期待通りに動かない。
一番面倒なのはもちろん最後のケースだが、これもさらにいくつかの種類に分けられる。
- 期待通りに動かないが、最後まで実行はできる(=Shiikaで書いたプログラムに間違いがある)。
How to colorize cargo's output with a pager
tl;dr This worked for me (iTerm2 on Mac)
$ cargo --color always build | less -R 2>&1
Problem
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
).