標準愚痴出力

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

2023-01-01から1年間の記事一覧

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…

Rustでゴミ箱コマンドを作ったり

nyagos には、ファイルをゴミ箱へ移動させる trash というコマンドがあります。 実装は Lua で、こんな感じで COM オブジェクトで実現してました。 nyagos.d/trash.lua : if not nyagos then print("This is a script for nyagos not lua.exe") os.exit() en…

Goで WriteRune を持たない io.Writer で最速で1文字出力するには

Go

WriteRune を持たない io.Writer 相手に 1-rune を出力するのに、fmt.Fprintf(〜,"%c",r) を使いがちだが、utf8.EncodeRune を使ってやった方が速いのではないかと思い検証してみた。 hymkor/study-go-write-rune: Goで WriteRune を持たない io.Writer で最…

Google IME を使ってると、Windows Terminal が起動時に IME が有効になって困る件

twitter で見た回避策 なるほど、Windows Terminal の時だけ、MS-IME を使用するようにするわけですか Windows Terminal起動時にGoogle日本語入力が英数モード "_A" にならないようにしたい人生はいまだ未達なんですが、ストレスを軽減する方策はあります。1…

htnblog.exe: 最新~過去10件分くらいの記事を編集できるようにしました

Release v0.3.0 · hymkor/go-htnblog (1)最新~過去10件分くらいの記事を編集できるようにしました まず、htnblog list $ htnblog list @0 6801883189051607309 go-readline-ny のカスタマイズ方法を Wiki にまとめました @1 6801883189051604508 Rustで …

go-readline-ny のカスタマイズ方法を Wiki にまとめました

Go

レポジトリの README.md からの導線が分かりづらくて、なかなか気付いてもらいにくいのですが、go-readline-ny のカスタマイズ方法を Wiki にまとめました1 Home · nyaosorg/go-readline-ny Wiki 記載内容は 日本語目次 にあるとおりですが、次のとおりです…

Rustで Windows10,11 の端末拡張機能を有効にするライブラリを書きました

作ってから ちょっと間があいてしまいましたが、次のようなライブラリを習作をかねて、Rust で書きました。 hymkor/windows1x-virtualterminal-rs: Enable virtual terminal of Windows1x 標準出力、標準エラー出力でエスケープシーケンスを有効にする Enter…

はてなブログの記事を作成・編集するGoのライブラリ・コマンドラインツールを作りました

hymkor/go-htnblog: はてなブログ投稿Goライブラリ いい加減ウェブブラウザで、markdown を編集するのはしんどくて、vim で編集するために作りました1。 ※ (2023-10-17 追記) 記事公開後、不具合が見付かり、v0.1.1 → v0.2.0 と更新しているので、ご注意くだ…

メソッドの引数がレシーバーと同じ型となっている型群を等価に扱いたい

Go

(2023/9/13)コードが分かりづらかったので、全面的に書き直しました (x1 *X) Add(x2 *X) *Xというメソッドを持つ型(X) (y1 *Y) Add(y2 *Y) *Yというメソッドを持つ型(Y) これを等価に扱いたい。 引数がその固定の型であれば普通の interface で済むところ…

go-multiline-ny / SQL-Bless:Enterキー+指定の条件で入力終結モード

Release v0.12.0 · hymkor/go-multiline-ny Enter だけを入力した時にそれを入力終結と判断する「条件」を関数で指定できるようになりました。 たとえば、SQL Bless v0.9.0 では、Enter を入力したとき、最終行の行末がセミコロンで終わっていたら入力を終結…

勉強メモ:Rust で日本語を一文字ずつ列挙する

文字列でUTF-8でエンコードされたテキストを保持する - The Rust Programming Language 日本語版 for c in "नमस्ते".chars() { println!("{}", c); } これだと文字列の長さ分の配列的なメモリ領域が確保されるそうなのので、あまり望ましくない(ヒープの乱…

Windows 8.1 , Server2008 向けの Go ツールの保守環境の維持

nyagos というツールをメンテナンスしているが、このツールはまだ当分 Windows8.1 や WindowsServer2008 をサポートしたい。 だが、最新の Go 1.21.0 はそれらの OS のサポートを切ってしまっているので、Go 1.20.7 でビルドしたバイナリを引き続き提供する…

最新 master 版 Go の導入

Go

YouTube 動画で、新しい for range をデモってる人が gotip というコマンドを使っているので、go1.20.7.exe とかと同じかなと思って、 go install golang.org/dl/gotip@latest gotip download してみたところ、 Cannot find C:\Users\hymkor\Go1.4\bin\go.ex…

Go 1.21.0 の遅延初期化

Go

Go 1.21.0 のマイナーなライブラリ修正の中に、sync.OnceValue という関数が追加されていた。1 sync The new OnceFunc, OnceValue, and OnceValues functions capture a common use of Once to lazily initialize a value on first use. どうやら、これは遅…

SQL-Bless 製作中に把握が必要になった各DBの違い(随時更新)

hymkor/sqlbless: The Command-line Database Client 共通 型名は DB ごとにばらばらだが、ANSI SQL の型がエイリアスになっている模様 可変長文字列型 → CHARACTER VARYING(n) 数値型 → NUMERIC[(n)] Oracle Database 21 Express Edition コマンドラインク…

go-readline-ny:カラー化の手引き

Go

(2023/04/14:追記) v0.10.0 にて非互換性を含む修正を行ったため、その変更点を反映しました。 go-readline-ny は v0.6.1 から文字ごとに色を変更できるようになりました。 この配色は固定ではなく、readline.Editor のフィールド Coloring に設定された…