Lambdaカクテル

京都在住Webエンジニアの日記です

Scala 2.12と2.13とで、ListMapのキーまわりの挙動が違っているので注意しましょう / ライブラリ調査の心得

アプリケーションのコレクションまわりの実装について調査していたところ、Scala 2.12から2.13にかけての更新がscala.collection.immutable.ListMapの挙動を変化させており、実は元々2.13で見せていた振舞いは仕様外のものだったことが判明したのでメモ。 こ…

ラズパイに接続した音声デバイスを、ネットワーク内の別のマシンから利用することができる(特殊な機器は不要)

Bluetoothトランスミッタの高級版みたいなことをやりたくて試行錯誤した結果うまくいったのでメモ。 元気に動いています この記事では、ラズパイを用いて音声入出力デバイスをネットワーク越しに共有し、PulseAudioまたはPipeWireを使う他のLinuxマシンから…

圧縮済みのTARファイルを展開せずにファイルを追加できる

またTARの話してる・・・ (前回のTARの話はこちら) blog.3qe.us GNU tar(1)のマニュアルを見ていたら、面白いことが書いてあった: www.gnu.org --concatenateオプション(もしくは--catenate、 -A)を使うことで、複数のTARアーカイブを1つに結合できるらしい…

TARにアーカイブされたファイル名のエンコーディングはどうなっているのか

ふと思って調べたところ色々と面白いことが分かったのでメモ。 tarはファイル名を関知しない PAX(1)コマンド じゃあファイルシステムのファイル名のエンコーディングはどうなっているのか NTFS TARという形式がある。Tape ARchiveの略で、元々はテープドライ…

manがあるコマンドは偉いし、manを付けるべき

社内で、crontabのtabは実はtableだからクーロンタブじゃなくてクーロンテーブルなんだよね、という話が盛り上がった。 ファクトチェックとして、crontab(5)が紹介されていた(cron tableという言葉が出現している)。 manで事実確認がすぐできてすごいと思う…

Facebookが開発した圧縮アルゴリズムZstandardについて調べた(非常に高速)(今日から使えます)

Common Lispの処理系であるSBCLをインストールしようとしたら、追加でlibzstd-develというのを新たに要求されるようになっていた。見るからに圧縮系のライブラリだけれど聞き慣れないのでちょっと調べてみた。 ちょろっと調べたところ、以下のことが分かった…

YubikeyにPIVを入れる / Yubikey gpg-agent PIV 喧嘩しない 方法

自宅サーバの認証もろもろで遊んでみたかったので、YubikeyをPIVとして使ってみたところ、gpg-agentとpcscdが Yubikeyを取り合ってしまったので、それを直したメモ。まずPIVの証明書をYubikeyにインストールした話をして、次にgpg-agentがうまく動かないのを…

Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?