標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

2024-03-01から1ヶ月間の記事一覧

Git 互換DVCS、jj(jujutsu) でのテキストエディター指定における空白の扱い

基本は Settings - Jujutsu docs に記載のとおり 環境変数 JJ_EDITOR 設定ファイルの ui.editor 環境変数 VISUAL 環境変数 EDITOR の順で参照される。この時、1,3,4 について空白は引数の絶対的な区切リ文字として機能する。つまり set "EDITOR=C:/Program F…

make-scoop-manifest の引数仕様をシンプルにした

Release v0.10.0 · hymkor/make-scoop-manifest GitHub のレポジトリから scoop 用の manifest を生成するツール: make-scoop-manifest。使い方として次の3種類があると説明をしていたが、分かりにくかった。 レポジトリの場所は git remote show -n で取得…

SAKURA Pocket を FTP over tls/rclone/restic 経由でバックアップストレージにする

コストパフォーマンス 100GB あたり プラン 金額 月額 OneDrive(月契約) ¥260-/月 ¥260- OneDrive(年契約) 2,440/年 ¥204 さくらのレンタルサーバー(ライトプラン) ¥1,571-/年 ¥131 なので、FTP しか使わないなら十分安い。 自分の場合、CGIサーバを一…

vim 9.1 (stable) の scoop installer 用の暫定的な manifest を作った

vim の manifest は scoop-installer の Main bucket に登録されているが、ずっと vim 9.0 のままで、最新版の 9.1 にあがる様子が一向にない。マニフェスト: vim.json が参照しているページ: https://ftp.nluug.nl/pub/vim/pc/ の vim がずっと 9.0 のまま…

1ファイルなスクリプトはインストール方法で、scoop よりcurl を案内した方がいいかも

hymkor/Download-Count.ps1: A PowerShell script that reports how many assets on GitHub's Releases page have been downloaded. にあるとおり: scoop bucket add hymkor https://github.com/hymkor/scoop-bucket scoop install Download-Count.ps1 より…

葛󠄀城市の「葛󠄀」の字

【ゆっくり解説】海外で恐れられる日本のクレイジープラント…「葛」の恐ろしさとは?を解説/海外では侵略的外来種「kudzu」の脅威 - YouTube この動画で葛󠄀城市の「葛󠄀」の字がややこしいことになってしまったことを知った。 葛󠄀城の字体について - 葛城市 -…

rangefunc の練習:Yet Another Scanner

go

既存のライブラリに bufio.Scanner があるが、改行をカットしてしまう 改行を含めて読み取りたいときは (*bufio.Reader) ReadString('\n') を使う EOF を検出した時の処理が面倒だが、雑に書くと最終行が失われてしまう 面倒なく、ありのままに読み込むコー…

もう一つだけ、小さな optional パッケージを作った

以前: hymkor/go-minimal-optional: The minimal optional package for golang Go言語で必要最小限の optional パッケージを実装したものの、安全性と使い勝手の両立は難しい - 標準愚痴出力 というパッケージを作ったが、別の方式で、もう一つ作ってみた。…

URL をスクランブルする

「とほほのJavaScriptリファレンス - とほほのWWW入門」を読みながら、URL文字列を前後ひっくりかえして、リンク元を検索しづらくする JavaScript を書いた (JavaScript を書くの、20年ぶりくらいかな?) URL Scamble テキストボックスに適当な URL、たとえ…

Go で適当な btree を検討していたけど、tidwall/btree がいいかもしれないなぁ

tidwall/btree: B-tree implementation for Go 既存のメソッド Scan の仕様が range から呼ばれた関数の要求仕様にちょうどマッチしてた。 package main import ( "fmt" "github.com/tidwall/btree" ) func main() { var users btree.Map[string, string] //…

twitter、もとい、X にバッチファイルのコードの類を貼る時にリンク化されないテク

echo off を示す @ マークが mention 扱いされてしまう @setlocal set "TARGET=%1" set "TARGET=%TARGET:\\?\=%" "%EDITOR%" "%TARGET%" @exit /b %ERRORLEVEL% これを twitter へ貼ると、@exit が exit さんへの mention になってしまう @ の後に空白を入れ…

(解決編) jujutsu v0.15.1 で、コミットログを gvim.exe で編集できなくなってしまった

(前回) → jujutsu v0.15.1 で、コミットログを gvim.exe で編集できなくなってしまった。 - 標準愚痴出力 どうやら、\\?\C:\… 形式のパスに含まれるクエスチョンマークを、gvim がワイルドカードと誤認してしまったらしい。自前展開にトライした結果、失敗し…

jujutsu v0.15.1 で、コミットログを gvim.exe で編集できなくなってしまった。

(注意:本件、解決したので、後日、対応方法をまとめます → (解決編) jujutsu v0.15.1 で、コミットログを gvim.exe で編集できなくなってしまった - 標準愚痴出力 ) jj commit を実行すると、gvim.exe がファイルを開かずに起動してしまう。:q で終了すると…

DVCS jujutsu (jj) v0.15.0 出てた

※ 追記あり Release v0.15.0 · martinvonz/jj とりあえず scoop update jj で、v0.14.0 → v0.15.0 への upgrade はしたものの、まだあまり使えていない。個人的に目ぼしいところなど jj move --from/--to can now be abbreviated to jj move -f/-t move は、…

$GOEXPERIMENT を定義すると、runtime.Version() の値がかわる

package main import ( "runtime" ) func main(){ println(runtime.Version()) } 未定義の時: C:> go run foo.go go1.22.0 $GOEXPERIMENT に rangefunc を設定した時: C:> env.exe GOEXPERIMENT=rangefunc go run foo.go go1.22.0 X:rangefunc 余談 これの…

何回、多重に nyagos が起動しているかをプロンプトで表示させる

Lua のテストで nyagos を起動すると、 exit が要るかどうか、よく分からなくなるので。 次のようなコードを .nyagos へ追加した。 nyagos.env.NYAGOS_RECURSE = tostring( tonumber( nyagos.env.NYAGOS_RECURSE or "0") + 1 ) nyagos.env.prompt = '[' .. n…

nyagos 向けに jj のサブコマンドの補完関数を書いてみる

既に nyagos.d/category/subcomplete.lua というフレームワークがあるけれども、今回はそれを使わず新規に作ってみた1 。jj (jujutsu) と nyagos 両方のユーザは自分だけだと思うので、当面、nyagos に添付はしない。 用いるAPI API は nyagos.complete_for[…

(解説) The unbreakabe CSV editor - "CSView" v1.2.0

Release v1.2.0 · hymkor/csview 今回 本番の業務データの手直し 俺の家計簿のインポート用データ作成 に耐えうる CSV エディターという謎コンセプトのもと、大幅改修を行った。 Unbreakable CSV よくある CSV エディターでは "A1","B1","C1" "A2","B2","C2"…

go-lazy 二値対応 ("sync".OnceValues 相当品)

Go で遅延初期化を実現するパッケージ:go-lazy を更新した。 Release v0.5.0 · hymkor/go-lazy このパッケージと同様のものは Go 1.21.0 で導入された遅延初期化関数 sync.OnceValue でも記載したとおり、Go 1.21 で実装された("sync".OnceValue)。ゆえに …