Pure Rust Webp Implementation

Share
Pure Rust Webp Implementation

webpをPure Rustで実装しました。

GitHub - P4suta/webpkit: Pure-Rust WebP codec (VP8L lossless + VP8, encoder & decoder, no_std, forbid-unsafe)
Pure-Rust WebP codec (VP8L lossless + VP8, encoder & decoder, no_std, forbid-unsafe) - P4suta/webpkit

https://crates.io/crates/webpkit

libwebpよりも使いやすく、モダンな作りになっています。

no_stdなど、汎用的に使えると思います。

Rustで実装をする以上、unsafeがあると意味が薄れてしまいますので、本実装ではunsafeはありません。

また、ちょっとしたことですし、webpに限ったことじゃないのですが、webpにおけるデファクトであるlibwebpではメタデータがデフォで捨てられます。画像ライブラリにとっての至上命題は画像ファイルを小さくすることであり、メタデータだってデータなわけで捨てたほうが当然ファイル容量は削減できるので当然といえば当然であり、ことwebpなどのモダンな画像コーデックとしてはプライバシーという名目で捨てたほうがむしろ合理的ともいえます。一方で、メタデータの中にはexifだけでなくカラープロファイルなどのデータなどもあり利用者としては勝手に捨てられると困るデータもあるわけで、やや標準から外れますが、本実装ではメタデータは標準で捨てない設計としております。

Read more

Claude Code: API Error: Unable to connect to API (ConnectionRefused)

Claude Code: API Error: Unable to connect to API (ConnectionRefused)

先日Claude Codeを維持維持していたら、前触れもなくAPI Error: Unable to connect to API (ConnectionRefused)とかいう謎のエラーをはいてうんともすんとも言わなくなった。 イヤー困った。 Unable to connect to API (ConnectionRefused) by u/Pristine_Ad9316 in ClaudeCode curlでAnthropicのAPIエンドポイントをたたくと確かにDNS周りでなんだか不穏な様子。 /etc/resolv.confを書き換えろと言われるが、なんとも強引すぎやしないかと思い、そっ閉じ。 ダメもとでsudo shutdown -h nowでお茶を濁したところなんと解決しましたとさ。

By Sakashita Yasunobu

1Passwordを閉じるボタンが……ねえ!

1Passwordを使っていたら、いつの間にかウィンドウの 閉じる/最小化/最大化ボタンが消えていた。Ctrl+Wでウィンドウ自体は閉じられるので長らく放置していたけれど、調べてみたら原因がしょうもなかったので共有しておく。 💡結論 F11を押してみよう 症状 * ウィンドウ右上の最小化・最大化・閉じるボタンが表示されない * タイトルバーも消えている * Ctrl+W では普通に閉じられる * PC再起動、1Passwordの終了・再起動、アンインストール → 再インストール、いずれも変化なし 原因 ただフルスクリーンモードに入っていただけ。 1Passwordコミュニティの投稿「Lost window minimize buttons top rhc.」で全く同じ症状が報告されていて、コミュニティマネージャーの回答が「F11でフルスクリーンを切り替えてみて」だった。 解決手順 1. 1Passwordのウィンドウをクリックしてフォーカスを当てる 2. F11 を押す これでタイトルバーとボタン類が戻ってくる。ダメな場合は Win + ↓(ウィン

By Sakashita Yasunobu

外字と訓点を compile-time hash で解く

aozora は青空文庫の外字参照 (※[#「魚+師」、第3水準1-94-37] のような形) を約 14,000 件のテーブルで解決する。このテーブルを runtime の HashMap ではなく phf (perfect hash function) で持ち、コンパイル時に static 配列に焼き込んでいる。この記事はその選択の根拠と、JIS X 0213 → Unicode フォールバックの設計をまとめたもの。 handbook の対応章: Shift_JIS + 外字 resolver。 外字テーブルの形 外字エントリには 3 種類の解決結果があり、それぞれに対応する variant を GaijiEntry に持たせている。 static GAIJI_TABLE: phf:

By Sakashita Yasunobu