2023-10-26
Tech写真とかの保管用にI-O DATAのHDL-CE2.0B
というLAN HDDを長年使ってたんだけど、さすがに調子悪くなってきたので新しいのに買い替えた。
HDL-CEは2012年に買ったので、もう10年以上経ってるのか。ひえー。壊れたら買い換えようと思ってたんだけど全然壊れないのよね。
とはいえだんだん読み込みが遅くなってきたような気はするし、数年前に誤って落下させてしまって蓋がちょっと浮いてるし、明らかに買い替え時ではあった。とどめを刺したのは、先月いつものように普通のHDDにFastCopyで丸ごとバックアップしようとしたら「SMB 1.0はもう使えません」的なエラーが出たこと。セキュリティの関係でdeprecatedなんだね。ハードより先にプロトコルが駄目になるとは。
買い替え先
後継は同じくI-O DATAのHDL-AAX2にした。容量は2TBあれば十分なので1ベイでよくて、"初心者向け"をうたうHDL-TAの方が少し安いけど、読み書きは速いに越したことはないのでこっちに。
いまのところ先代と変わらず不満なく使えている。しいていえば起動・停止時のビープ音がうるさいかなあ。節電のために指定時刻に電源をオン・オフする機能があるんだけど、夜中にピーっと鳴られても困るので、結局つけっぱにすることにした。事務所とか向けの機能なのかも。
2023-09-13
Techメモです。
なぜasyncな関数と普通の関数は互換性がないのか
2023-08-15
TechShiikaはずっとLLVM 12というわりと古いバージョンを使っていたのだけど、さすがにそろそろ上げるか〜ということで16に上げた。
一番でかい変更は、LLVM 15からOpaque pointer typeがデフォルトになったこと。つまりi8*
や%Object*
みたいな「◯◯へのポインタ」型が、pointee typeがなくなって全部ただのptr
になった。
これによってコード生成がシンプルになる…のはそうなのだが、変なLLVM IRを吐いてしまったときにclangでチェックされずに実行時にSEGVすることになるので、どうも不安な気持ちだ。ともあれとりあえず既存のテストが通る状態にはできたのでマージした。
2022-12-31
Techこれ。2022年中には完成させたいと思ってたので間に合ってよかった。
↑演奏動画。
先に言っておくと霞襲の組み立てはなにも難しくないです(僕が無駄に手間取っただけ)
2月
2022-12-25
Techこんばんわ。本記事は言語実装のカレンダー | Advent Calendar 2022 - Qiitaの24日目の記事です。
Shiikaは私が作っているRuby風の文法をもつ静的型付け言語です。静的言語はだいたい性能を重視した設計になっていることが多くて、動的言語は書きやすさを重視した設計が多いのですが、「静的だけど書きやすさ重視の設計」にすることで、静的なエラーチェックと書きやすさを両立したいと考えています。「Rubyっぽい手触りの静的言語」を目指しています。
2022年の主な進捗
- パターンマッチ
- enumに対し、
match x when Some(y) ...
とかでパターンマッチできるようになりました。これがないと始まらないよね。
- Module
- RubyのModule(Rustでいうとtraitみたいな)を実装しました。実現方法はSwiftのwitness tableというやつを参考にしました。
2022-05-27
TechI got this error while compiling Shiika.
Compiling llvm-sys v120.2.4
error: No suitable version of LLVM was found system-wide or pointed
to by LLVM_SYS_120_PREFIX.
llvm-sys checks the version in its build.rs
. On my current environment, LLVM_SYS_120_PREFIX
is:
2022-04-24
Tech2022-04-04
Tech最新のvimprocをmacでコンパイルしようとしたらエラーになったのでメモ
/Users/yhara/.vim/bundle/vimproc % make -B
/Library/Developer/CommandLineTools/usr/bin/make -f make_mac.mak
clang -O2 -W -Wall -Wno-unused -Wno-unused-parameter -bundle -fPIC -o lib/vimproc_mac.so src/proc.c
src/proc.c:10:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
^~~~~~~~~
1 error generated.
2022-04-03
TechたとえばゲームプログラミングでEnemyとしてスライムとドラゴンがいて…みたいなとき、Rubyなら継承で実装しますよね。
class Enemy
attr_accessor :hp # 体力
end
class Slime < Enemy
end
2022-04-01
Techいいぞ。
40%キーボードとは?
キー数が通常の40%、つまり50個前後しかないキーボードのこと。
そんなので入力できるの?
できるぞ。QMK Firmwareというオープンソースのファームウェアに対応していればキー配置を極めて柔軟に設定できるので、例えばAを押したときに