Git互換バージョン管理システム jj が GitHub へコミットを push する時などに行う認証方法ですが、かつてはパスフレーズ入力を必要としない方式しかサポートしていませんでした。それが、いつの間にかフルサポートになっていた模様です。 いいわけになりま…
従来はゼロコミット状態の GitHub へ jj から初回 push する場合 $ jj git init --colocate $ gh repo create --public 20251226 ✓ Created repository hymkor/20251226 on github.com https://github.com/hymkor/20251226 $ jj git remote add origin git@g…
今まで jj にはタグ操作のサブコマンドが jj tag list くらいしか実装されていなかったため、リリースのためのタグを作成する際: git tag v1.19.0 git push --tag と git を併用しなければいけなかった。 だが、jj があずかり知らぬところで git コマンドが…
cat alternative とされるコマンド群がある。 sharkdp/bat: A cat(1) clone with wings. koki-develop/gat: cat alternative written in Go. 個人的な感覚だと、cat はファイルを連結するコマンドで、見るのは more や less のお仕事だから more alternativ…
テキストファイルなどを扱う時: データ読み取り時にエラーが発生した時はただちに終わる ただし、そのエラーが EOF の場合は、有効データがある可能性があるため、それを処理してから終わる という定番処理がある。 これを素直に実装すると次のようになる。…
(前回記事)Windows 版 goawk は LF 改行を扱えない (プルリクエスト)Add -N option to control CRLF newline conversion (#254) by hymkor · Pull Request #255 · benhoyt/goawk (リリース)Release v1.30.0: -N crlf mode, leftmost-longest regexes ·…
とある OSS のテスト中に確認。なんだかなぁ > echo 17379 mel | gawk "match($NF,$1)>0{ print }" Assertion failed: s[len] == '\0', file re.c, line 57 > gawk --version GNU Awk 5.3.2, API 4.0, (GNU MPFR 4.0.2, GNU MP 6.1.2) Copyright (C) 1989, 1…
いわゆるクリーンアーキテクチャでコマンドラインツールを作る時、標準の "flag" パッケージのオプションを全部構造体へ転記するのが面倒です。 そこで、次のようにタグにオプション名と Usage を書いておけば、flag.Parse が構造体へ直接フラグ値を代入して…
Unicode では各コードに対応する文字がターミナルで、どれだけの幅をとるかという補助情報を扱う「East Asian Width」というプロパティを定義しています。 値 意味 表示幅 F (Fullwidth) 全角文字 2 桁 H (Halfwidth) 半角文字 1 桁 W (Wide) 通常全角扱い 2…
昔は TERMCAP/TERMINFO でターミナルで使うべき制御コードが得られた。現在の端末はほぼ VT100 互換なので、その役割は薄れている。 一方、まだ自動では判別できない端末情報があり、一部のライブラリ・アプリケーションは次の環境変数からそれを取得してい…
(2025-10-25更新) SQLite3, MySQL でのバインド変数の利用について追記 DB プレースホルダーor バインド変数 SQLite3 ? $VARNAME, :VARNAME, @VARNAME SQL Server @VARNAME Oracle :VARNAME PostgreSQL $1 $2... MySQL ? (@VARNAME) プレースホルダー・バイ…
注意:PowerShell 7 でしか検証してません $saveEncode = $null if ([Console]::IsOutputRedirected) { $saveEncode = [System.Console]::OutputEncoding [System.Console]::OutputEncoding=[System.Text.Encoding]::UTF8 } # ... 中略 ... if ( $saveEncode…
"log/slog" の出力をS式化するアドオン sxlog-go というパッケージを開発しています。 Release v0.2.0 · hymkor/sxlog-go "log/slog" は Go 1.21 で実装された標準ライブラリですが、ちょうど 1.21 で Windows 7, 8, Server 2008 R2 へのサポートは切られて…
(続報あり→Windows版 goawk v1.30.0 でLF 改行を出力できるようになった) Go言語でツールを書いていると、Windows でも LF 改行のテキストファイルを扱うことがめずらしくない。だが、goawk で加工しようとすると、LF が CRLF に変換されてしまう。これを…
リリースノートに記載された最初のバージョン部分の記載を日英それぞれについて引用するツールを PowerShell で作っている。基本的には英語の方を先に出るようにしたいので、読む順番は: release_note.md release_note_en.md release_note_ja.md としたい。…
Goで「予期せぬエラー」(panic)をファイルに記録する方法 この方法だと、panic が起らない場合もゼロバイトのファイルが作成されてしまう。 panic が起きてから、"runtime/debug".Stack() で、スタックトレースを得るという方法もある。 この方法は Go 1.20 …
Go言語の構造体からのS式のエンコーダー・デコーダーを作りました。 hymkor/sxencode-go: Go library that encodes arbitrary Go values into Lisp-style S-expressions type Foo struct { Bar string `sxpr:"bar"` Baz float64 `sxpr:"baz"` Qux []int `sxp…
自分は %USERPROFILE%\Share\cmds というディレクトリにバッチファイルやスクリプトを置いているんだけど、直接このディレクトリのファイルを編集してしまうことも多いので、git で管理するとなると作業フォルダーと実行ファイルとの同期がわずらわしくなる…
Go言語側で、割り算関数を定義する。gmnlisp においての割り算には整数割り算の (div) と、浮動小数点型実数による割り算の(quotient) が存在する。今回は (div) のオリジナル版を作成する。 割り算を取り上げたのは、割り算ではゼロ除算というエラーケース…
gmnlisp とは、自分が Go言語で開発している ISLisp 規格準拠の Lisp インタープリタです。自作の Go言語アプリケーションを Lisp にてカスタマイズするために作成しました。 そして、ついにやりましたよ。 Release v0.7.19 · hymkor/gmnlisp Verified using…
基本的には 自分の CLI の動作確認用なので、WSL 1 でも十分と考えている 「Windows の機能の有効化または無効化」 の「Linux 用の Windows サブシステム」にチェックを打つ Microsoft Store で「Ubuntu」と検索。Ubuntu を「インストール 」 GUI でインスト…
前回:Windows で RAM DISK ソフトウェアの選定 2025 - 標準愚痴出力 AIM Toolkit download | SourceForge.net より、AIMtk.zip をダウンロード。unzip するとインストーラーが展開される > unzip ~/Downloads/AIMtk.zip Archive: C:/Users/hymko/Downloads/…
最近、PC を新調した。旧PCは SSD の書き込み回数が限界に来ていたため、最近では IME での漢字変換ですら、数十秒凍ることが多々あった1。これがなかなかつらかったことがもあり、新PCは書き込み回数にはかなり余裕があるものの、それでも SSD への無駄な書…
rclone を scoop でインストール scoop install rclone rclone に DropBox の設定を追加 rclone config No remotes found, make a new one? →n) New remote を選択 Enter name for new remote. →dropbox を入力 Storage> →13 (dropbox) を入力 client_id> → …
きっかけとしては自作のコマンドラインの自動化ツール Lispect でプルリクエストをいただいたことです。 内容としては、ユーザのGoアプリケーション内からコマンドラインの自動化ができるよう、単体実行ファイル形式だけでなく、ライブラリパッケージとして…
nyagos 4.4.17_0 を先行公開しました。2025年度上期版という位置付けです。 Release 4.4.17_0 · nyaosorg/nyagos 大きな変更は次のとおりです。 OS のクリップボードと「デフォルトでは」連動しないようにした (連動するよう設定することも可能) 入力予測…
wifky の文法のパーサーを Go で書くにあたって、Perl にあった。 sub unverb{ ${$_[0]} =~ s/\a\((\d+)\)/&unverb_sub($1)/ge; } という書き方がネックになっていた。置換コマンド s は e というオプションを指定することで、置換結果をコードで指定するこ…
終活の一環として、昔、大学のサーバーとか、レンタルサーバーに UP していた自分のホームページを、GitHub で保全する作業を進めている。 (※ ここでは既にローカルにとってあるバックアップをウェブに保全し、閲覧可能にするところまで記す) (1) GitHu…
コマンドプロンプトの実行中のウインドウの左上のアイコンを差し替えるパッケージ:go-windows-consoleicon で という警告が来ていたので、ライブラリをアップデートしようとしたのだけれども > go1.20.14.exe get -u go: upgraded golang.org/x/sys v0.0.0-…
WindowsTerminal v1.22.10352.0 上で vim 9.1 上の日本語表示が乱れる - 標準愚痴出力 で書いたように、WindowsTerminal は現状 v1.21 を使っているのだけれども、新バージョンが出たら、そちらも試してみたい。だが、アイコンを両方ともタスクバーにピン止…