標準愚痴出力

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

Go 1.22 でも残る、"syscall" を使わないといけないケース(ソース付き)

go

Windows の検索コマンド find.exe は検索対象の文字列は二重引用符で囲んで与えてやらないといけないという困った仕様があります1。 C:> find /? ファイル (複数可) 内のテキスト文字列を検索します。 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "文字列" [[ド…

曖昧文字幅取得

過去のブックマークの消化をしていると、次のようなページを確認しました。 端末の文字幅問題の傾向と対策 | IIJ Engineers Blog これで目をひいたのが Reline のトコ。Unicode の曖昧文字幅:環境によって文字の幅が2セルか1セルか分からない文字の幅を計測…

君のレポジトリを領域展開 - 次世代バージョン管理システム Jujutsu の紹介

zenn.dev に 君のレポジトリを領域展開 - 次世代バージョン管理システム Jujutsu の紹介 という Book を書きました。よろしく ( zenn-dev の book に向いた表紙を作ってくれるサービス、以前に教えてもらったのに、わからなくなっちゃった… )

PowerShellスクリプトの scoop用パッケージのマニフェストを作ろうとしたら make-scoop-manifest が対応していなかったが、scoop 本体はバッチリ対応していた件

自作の PowerShell スクリプトを scoop でインストールできるように、make-scoop-manifest を改造した (v0.8.0) PowerShell で最近作った Download-Count.ps1 や Update-Exe-All.ps1 を scoop でインストールできるようにしようと思ったら、make-scoop-manif…

PowerShell で GitHub Releases のダウンロード数を確認する

前回 チラ見せしていた、Gitレポジトリの releases ページからのダウンロード数を確認する PowerShell スクリプトの完成形は以下のとおりである。カレントディレクトリのレポジトリの1番目のリモートブランチの releases にある各 assets にあるファイルとそ…

PowerShell で外部コマンドのからんだパイプラインと文字化け

PowerShell の練習で、GitHub の releases のダウンロード数を表示するコードを書いてみた。 $url = "https://api.github.com/repos/$owner/$repos/releases" curl $url | ConvertFrom-Json | ForEach-Object { foreach ($p in $_.assets){ Write-Host $p.na…

はてなブログ・クライアントから、ウェブの編集画面の呼び出しに対応 (v0.9.0)

はてなブログ・クライアントを更新した (v0.9.0) Release v0.9.0 · hymkor/go-htnblog 修正箇所は次の通り htnblog init を微修正 (保安対策) 変更前の .htnblog を .htnblog~ にバックアップしておくようにした 間違って修正してしまった時に備えて、古典的…

現在の WindowsTerminal の別タブで、ターミナル版 vim を開く

gvim でもいいんだけど、シェルと同じ WindowsTerminal のタブで開いていると、Ctrl-TAB だけでトグルでフォーカスを切り替えられたりして嬉しい (Alt-TAB だと、トグル対象にブラウザとか他のウインドウも含まれるので、ちょっと鬱陶しいのだ) 「WindowsT…

CMD.EXE の変数 CMDCMDLINE で CUI プログラムの起動のさせ方が分かるのではないか?(結論:わからん)

某所で、環境変数%CMDCMDLINE% が PAUSE するかどうかの判定に使えるという発言を拝見した。なるほど、おもしろい エクスプローラーの上から CUI プログラムを起動すると、処理終了後、ターミナルが閉じてしまうので、結果を確認しづらいという問題があった…

はてなブログ・クライアントの表示・設定まわりを改善した (v0.8.0)

基本機能は変わりなく、主にユーザインターフェイスなどを改善し、v1.0.0 に向けての完成度を高めるよう修正した。 Release v0.8.0 · hymkor/go-htnblog リリースノートを見てみよう。 オプション -updated を削除。今後、記事の日付を変更する場合は、エデ…

今週、書いた PowerShell スクリプト…

マイクラのワールド、FTPバックアップ汎用版 スクリプトの第一引数にワールド名をとるようにした 引数が無い場合はワールドのリストを表示する 古い PowerShell だと、パイプラインにバイナリを通せないので、PowerShell 7.4 未満の場合はエラーにする Backu…

はてなブログ・コマンドラインクライアント v0.7.0 を公開した。

Release v0.7.0 · hymkor/go-htnblog はてなブログ・コマンドラインクライアント v0.7.0 を公開しました。 htnblog init で設定の編集をできるようにした jsonファイルの文法を知らなくても、設定の編集をすることができるようになりました。 $ htnblog init…

Cargo.toml からバージョンを抽出する

Cargo.toml とは Rust のビルドツール cargo が読み書きするファイルで、パッケージについての情報が記述されている。配布用の zip ファイルを生成する際などに、ここからバージョンナンバーを自動で抽出できたら便利だ。 cargo metadata というコマンドで、…

Lisp を nyagos のコマンドラインから直接実行する Lua アドオン

前回、nyagos のコマンドラインに echo $(+ 1 2 (* 3 4)) といった形で、Lisp コードを埋め込めるようにしたわけだが、電卓用途に使う時 echo $ を打つのさえ面倒くさくなった。 コマンドラインが ( で始まっている場合は 全ての行を gmnlisp で評価するよう…

2023年にやったこと

あけましておめでとうございます。今年もよろしくお願いいたします。 そういえば、2023年にやったことのふりかえりを忘れてたので。 make-scoop-manifest 作った。 GitHub: hymkor/make-scoop-manifest 自作の Windows アプリケーションを Scoop-Installer …

htnblog.exe を改良した!

v0.6.0 を公開しています。詳細は release_note.md のとおりですが 複数のブログを選択できるようになった -1,-2,-3 のようにオプションで指定する 削除をサポート (htnblog delete) URL直指定や、@99 みたいに古い記事でも、編集可能に htnblog edit https:…

PowerShell 関係の環境整備

前回:PowerShell 7.4 でのパイプラインならパラレルで動いた。 - 標準愚痴出力 で、PowerShell 7.4 をインストールしたので、ついでに PowerShell 関係の環境を少し整えた。 キーバインドを Emacs 風に変更 PowerShell で Linux の shell っぽいキーバイン…

PowerShell 7.4 でのパイプラインならパラレルで動いた。

PowerShellのパイプラインは各外部コマンドをパラレルに実行しない - 標準愚痴出力 の続き。その後、 X(旧twitter)にて Xユーザーのmethaneさん: 「@NyaosOrg https://t.co/9hp4OiUUmR この試験機能を有効にした場合も並列にはしてくれないんでしょうか?」 …

PowerShell 5.1 のパイプラインは各外部コマンドをパラレルに実行しない

+(※追記:解決編あり → PowerShell 7.4 でのパイプラインならパラレルで動いた。 - 標準愚痴出力。 また、これにともない、タイトルを「PowerShellのパイプラインは各外部コマンドをパラレルに実行しない」から「PowerShell 5.1 のパイプラインは各外部コマ…

LaTeX風新組版システム typst をちょっぴり試してみた

(La)?TeX のような組版システムに、新しい処理系が現れたという記事を最近よく目にするようになった。 LaTeX は学生時代に卒論・修論を書く際にとてもお世話になったツールで、肌にあってはいたが、社会人になってからは使う機会もなくなっていた1。今後も使…

MSペイントのウインドウ全体が透過してしまって、すごく使いづらい (Windows11)

編集する画像の背景色が透明色になったという意味ではなくて、MSペイントのアプリケーション自体のウインドウのフレームなどの背景に相当する箇所が、他のウインドウやら壁紙がそのまま表示されているという意味です。スケルトンといえばいいのでしょうか。 …

(調査メモ) Windows で unbuffer

標準出力をファイルなどにリダイレクトすると、その出力はプログラム自身によってバッファリングされ、改行するまでリダイレクト先に出力されないことが多い。 これは expect のようなオートパイロットプログラムでは都合が悪い。ユーザに入力を促すプロンプ…

個人的インシデント:バッチファイルで %DATE% は安易に使うべきではなかった

事件 Windows のタスクバーに曜日を表示しようと思い、 コントロールパネル 日付、時刻、数値形式の変更 日付の短い形式 の末尾に曜日を意味する dddd を追加したら、タスクバーの表示内容だけでなく、CMD.EXE の疑似環境変数の %DATE% の中に「漢字」で曜日…

次期Goの汎用for range。他力本願でほんのちょっとだけ試してみた

Go

zenn.dev に Goの1.22にGOEXPERIMENTガード下で導入されるrange over func proposalを試してみる という記事があったので、試してみた。同記事にある手順: go install golang.org/dl/gotip@latest gotip download 510541 は特に問題なく完了した。ダウンロ…

Lisp を nyagos のコマンドラインに埋め込む Lua アドオン

ふと思いたって、 gmnlisp を nyagos のコマンドラインに埋め込むアドオンを書いてみました。 gmnlisp_.lua if not nyagos then print("This is a script for nyagos not lua.exe") os.exit() end share.org_filter_for_gmnlisp = nyagos.filter nyagos.filt…

二つの io.Reader データ比較の高速化

Go

以前、 zip/tarファイルと、それを展開したと思われるディレクトリがあった時、両者が一致していて一方を削除してしまっても大丈夫かを検証するツール(verifyarc)を書いた。 hymkor/verifyarc: A tool that verifies that when there is a ZIP file and a di…

Linux のゴミ箱への拙作のライブラリや、はてなブログ コマンドラインクライアントの対応

最近、作り込んでいる はてなブロククライアント だが、投稿テキストをテキストエディターで編集した後、os.Remove で削除していた。だが、何らかのトラブルがあって投稿が失敗したのに検知できなかったという最悪ケースのため、完全削除よりは、復元できた…

Rust で panic なしに雑にエラーを扱いたいとき

Go だと、errors.New, fmt.Errorf で、簡単にエラーオブジェクトを作れる。 Rust のエラー処理のサンプルをいろいろ見てみたが、panic で終わらせるものが多いが、panic を使った時点で関数の汎用性がほとんどなくなってしまう。 エラーを返す場合、ほとんど…

awk 関連もろもろメモ

awk

awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! #ShellScript - Qiita なるほどなぁ。以下、自分的要約: One True AWK (nawk) が UTF8 と CSV (by --csv オプション)に対応 1 UTF8 専用になってしまっており、LC_ALL=C への対応が一時的になく…

htnblog.exe v0.3.1 を公開しました

Release v0.3.1 · hymkor/go-htnblog 変更点は以下のとおり ドラフトのテキストが空だった時、投稿をキャンセルするようにした htnblog.exe edit で、ドラフトフラグが no になってしまう不具合を修正 XML定義の構造体の中で IsDraft string `xml:"app:contr…