標準愚痴出力

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

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

もう一つの《Go で「予期せぬエラー」(panic)をファイルに記録する方法》

Go

Goで「予期せぬエラー」(panic)をファイルに記録する方法 この方法だと、panic が起らない場合もゼロバイトのファイルが作成されてしまう。 panic が起きてから、"runtime/debug".Stack() で、スタックトレースを得るという方法もある。 この方法は Go 1.20 …

Go言語の構造体からのS式のエンコーダー・デコーダーを作りました。

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…

単品ファイルをコマンドラインから gist 管理するための補助スクリプトを書いた

自分は %USERPROFILE%\Share\cmds というディレクトリにバッチファイルやスクリプトを置いているんだけど、直接このディレクトリのファイルを編集してしまうことも多いので、git で管理するとなると作業フォルダーと実行ファイルとの同期がわずらわしくなる…

gmnlisp で、ユーザ関数を定義する

Go言語側で、割り算関数を定義する。gmnlisp においての割り算には整数割り算の (div) と、浮動小数点型実数による割り算の(quotient) が存在する。今回は (div) のオリジナル版を作成する。 割り算を取り上げたのは、割り算ではゼロ除算というエラーケース…

gmnlisp の ISLisp 検証システムのスコアが 96% に逹しました

gmnlisp とは、自分が Go言語で開発している ISLisp 規格準拠の Lisp インタープリタです。自作の Go言語アプリケーションを Lisp にてカスタマイズするために作成しました。 そして、ついにやりましたよ。 Release v0.7.19 · hymkor/gmnlisp Verified using…

新PCに Go 言語用の Linux 検証環境(Ubuntu)を用意した

基本的には 自分の CLI の動作確認用なので、WSL 1 でも十分と考えている 「Windows の機能の有効化または無効化」 の「Linux 用の Windows サブシステム」にチェックを打つ Microsoft Store で「Ubuntu」と検索。Ubuntu を「インストール 」 GUI でインスト…

AIM Toolkit で RAM DISK をセットアップ

前回:Windows で RAM DISK ソフトウェアの選定 2025 - 標準愚痴出力 AIM Toolkit download | SourceForge.net より、AIMtk.zip をダウンロード。unzip するとインストーラーが展開される > unzip ~/Downloads/AIMtk.zip Archive: C:/Users/hymko/Downloads/…

Windows で RAM DISK ソフトウェアの選定 2025

最近、PC を新調した。旧PCは SSD の書き込み回数が限界に来ていたため、最近では IME での漢字変換ですら、数十秒凍ることが多々あった1。これがなかなかつらかったことがもあり、新PCは書き込み回数にはかなり余裕があるものの、それでも SSD への無駄な書…

rclone で Windows のドライブ文字に DropBox をマウントする

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> → …

gmnlisp v0.7.10 と lispect 0.6.0 を公開しました

きっかけとしては自作のコマンドラインの自動化ツール Lispect でプルリクエストをいただいたことです。 内容としては、ユーザのGoアプリケーション内からコマンドラインの自動化ができるよう、単体実行ファイル形式だけでなく、ライブラリパッケージとして…

nyagos 4.4.17_0 を先行公開しました

nyagos 4.4.17_0 を先行公開しました。2025年度上期版という位置付けです。 Release 4.4.17_0 · nyaosorg/nyagos 大きな変更は次のとおりです。 OS のクリップボードと「デフォルトでは」連動しないようにした (連動するよう設定することも可能) 入力予測…

regexp.Regexp になかった ReplaceAllStringSubmatchFunc を書いた

go

wifky の文法のパーサーを Go で書くにあたって、Perl にあった。 sub unverb{ ${$_[0]} =~ s/\a\((\d+)\)/&unverb_sub($1)/ge; } という書き方がネックになっていた。置換コマンド s は e というオプションを指定することで、置換結果をコードで指定するこ…

GitHub (Pages)で昔の静的ウェブコンテンツを保全する

終活の一環として、昔、大学のサーバーとか、レンタルサーバーに UP していた自分のホームページを、GitHub で保全する作業を進めている。 (※ ここでは既にローカルにとってあるバックアップをウェブに保全し、閲覧可能にするところまで記す) (1) GitHu…

golang․org/x/sys が Go 1.20 では使えなくなっていた

コマンドプロンプトの実行中のウインドウの左上のアイコンを差し替えるパッケージ:go-windows-consoleicon で という警告が来ていたので、ライブラリをアップデートしようとしたのだけれども > go1.20.14.exe get -u go: upgraded golang.org/x/sys v0.0.0-…

Windows用のGoアプリに複数のアイコンを持たせよう

WindowsTerminal v1.22.10352.0 上で vim 9.1 上の日本語表示が乱れる - 標準愚痴出力 で書いたように、WindowsTerminal は現状 v1.21 を使っているのだけれども、新バージョンが出たら、そちらも試してみたい。だが、アイコンを両方ともタスクバーにピン止…

2009年のPerlメモを発掘した: リファレンス返しのパフォーマンス

ホームディレクトリ以下を整理していると、~/tmp.md という謎の markdown が出てきた。 markdown の先頭には Updated: 2009-01-04T14:24:35+09:00 Title: [Perl] リファレンス返しのパフォーマンス というヘッダがある。かなり古いな。でも、自分のはてなブ…

設定レスで簡素な静的ページ・ジェネレータを作りました

本当は Hugo みたいな、ちゃんとした静的サイトジェネレーターを使うべきなんですが、設定が小難しくて思うようにならないところがあって挫折したままになっていました(おまえ、それでも元IT技術者?) とはいえ、いつまでも自分のホームページを放置という…

Re: Windows + NYAGOS で ghq と peco を便利に使う設定

Windows + NYAGOS で ghq と peco を便利に使う設定 せっかく拙作の NYAGOS について言及いただいていたのに、半年気付いていませんでした。すみません(ここ最近、エゴサーチもあまりしていなかったもので) Ctrl + ] を押して、peco を起動するまでは良い…

USBディスクの調子が悪いので、DropBox に課金して退避した

過去の諸々のデータをつっこんでいる USBハードディスクの調子が悪い。接続ケーブルが曲がると接続が切れてしまうのだ。新しい USB ディスクを買ってもいいのだが、どちらかというとファイルサーバーの方が欲しいし、それまでの間に合わせでも退避させないと…

WindowsTerminal v1.22.10352.0 上で vim 9.1 上の日本語表示が乱れる (追記あり:v1.22.11141.0 で直った)

合字などの文字幅が適切に扱われるようになったという話の WindowsTerminal v1.22.10352.0 がリリースされたのでアップデートした。だが、vim での画面出力が乱れて困っている。 カーソル位置にテキストを挿入すると、カーソル位置より右にあった日本語が二…

ISLispの割り算がGoと互換性がないので、その差を修正する関数を ChatGPT に考えてもらった

ここ数年、ISLisp 準拠の Lisp 処理系 gmnlisp を書いているのだけれども、「関数divは,z1をz2で割った商以下の最大の整数を返す」という仕様を満たすような割り算がGo 言語側に見当たらないので、どうしようかな…と思っていた。Go言語のデフォルトの割り算…

Bitbucket から github へ PowerShell スクリプトで半自動でレポジトリのコピーを行う

Bitbucket 社からメールが届いた GitHub と同様のソースコードのレポジトリサービスを提供している BitBucket 社からメールが届いた。 Important changes to Bitbucket Cloud's Free tier 一部の訳を抜粋: スニペットとダウンロード:これらの機能は、無料の…

go-readline-ny 1.7.0 の新しいシンタックスハイライティング

Release v1.7.0 · nyaosorg/go-readline-ny 以前は次のような interface の実装を作らないといけなかったので、たいへんだった。nyagos にしても sqlbless にしても、色を指定するためだけに1ソースファイル費していた。各文字に対する色を指定する Colorin…

Git互換バージョン管理システム jj v0.25.0 がリリースされた

Release v0.25.0 · jj-vcs/jj もう scoop にも反映されているようで、scoop update jj で更新できた。 ( scoop の bucket は、GitHub Actions で更新されるので、リリースされたら数時間程度で更新される ) まず、jj のレポジトリのパス・オーナーが変わって…