はてなの通知がリンク切れを起こしている

遷移元画面 あなたのお知らせ欄にある URL は 2019/12/15 のブックマークを差していますが、実際に遷移すると… 2019/12/15 にはブックマークがないというエラーになります。 ご確認ください

コマンドプロンプトの文字幅をキャリブレーションして、崩れない TUI 画面を作ろう

go

本文書は コマンドプロンプトの文字幅をキャリブレーションして、崩れない TUI 画面を作ろう - Qiitaよりの転載です。 最近、コマンドプロンプトで動作する CSVビューア とか、ツイッタクライアント を書いてます。 この手のツールを書く時、本格的なフレー…

Go言語の実行ファイルのパッケージを作成するバッチファイル

go

GOOS=windows or linux、GOARCH=amd64 or 386 という組み合わせで、(フォルダー名)-(年月日)-(GOOS)-(GOARCH).zip という zip ファイルを作ります。 go-package.cmd @echo off setlocal set "PROMPT=$ " for %%I in (%CD%) do set "NAME=%%~nI" for %%I in (…

CSV のビューアを作った

go

仕事でプログラム間の連携を TSV ファイルで行うことが多く、しかも Excel とか仮想マシン上に入ってなかったりすることが多い(し、あっても重くて使いたくない)ので、意を決して CSV ビューアを作りました。 先日のツイッタークライアントは、一応自分で…

nyagos 4.4.5_2 を公開しました。

Release 4.4.5_2 · zetamatta/nyagos もう nyagos もアーカイブモードも近いかなと思っていたのですが、ちょっと致命的な不具合が見つかったので、急遽修正しました。 (#375) ~randomstring でクラッシュする不具合を修正 これは UNIX 系の ~username をホー…

2ペインテキストビューア、いろいろ作ってます。

go

20年くらい前にOS/2で eff , ell という「テキストビューア」群を作ってましたが、それと同じような感じのものできないかなーと思って、Go言語で簡単なフレームワーク go-twopane を作ってみました。 コンソール画面を2分割して、上に件名一覧、下に詳細を…

(続々) std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない

(半日も経ってませんが、(続) std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない - 標準愚痴出力からの続きです) 前回 std::function を使って、コールバック関数を関数オブジェクトにし、呼び出しを簡素にしてみたわけ…

(続) std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない

(前回:std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない - 標準愚痴出力) 関数オブジェクトで、少し改善できました。 #include <iostream> #include <vector> #include <functional> #include <set> template <class E,class T> class enumerator { E m_cursor; E m_end; p</class></set></functional></vector></iostream>…

std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない

というような主旨のことを述べたら、boost::any_range をオススメされました。 が、弊社では外部ライブラリの導入がめんどくさいので、boost といえど、あまり使いたくない(未だに Visual Studio 2010 がメインに使われてるようなところだからね) とすると…

ExcelVBA のソースを .xls ファイルから抽出する JScript を書いた

Excel VBA の保守をしなければいけないんだけども… そのアプリは 開いただけで自動的に VBA が自動的に起動してしまう xlt ファイルなので、名前を変えないまま保存できず、毎回自分自身を選択しなくてはいけない こういう場合、Ariawase という Windows Scr…

ガーディアントラップ完成

ここ最近 GitHub の緑が明らかに減っています。 ↓ 主にコレのせい そう、マインクラフトでガーディアントラップを作っていたのでした。シーランタンと呼ばれる発光するブロックがあるのですが、これは危険に満ちた海底神殿の建材か、あるいはその周辺に湧く…

nyagos 4.4.5_0 を公開しました。

4.4.4_4 は欠番になりました。今回の修正は、パッチリリースというには、少し修正が多めになりましたので。 Release 4.4.5_0 · zetamatta/nyagos 今回の修正は、~/.nyagos の簡素化がメインです。 Lua関数: nyagos.dirname() を実装 これは UNIX の dirname …

strings.EqualFold はどの程度の速度か

Go

Big Sky :: Go で大文字小文字無視の文字列比較ベンチマーク strings.EqualFold について言及がなかったので、測ってみました。 追加行: func isDevNull4(name string) bool { return strings.EqualFold(name,"nul") } func BenchmarkS4(b *testing.B) { te…

そのソリューションを開くべき Visual Studio のバージョンは?

ソリューションファイル(*.sln)の記述 Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "HOGEHOGE", "HOGEHOGE\HOGEHOGE.vbproj", "{E951CFF8-148E-40D5-93CD-17…

VMware Workstation 12 のイメージがディスクを圧迫してきたので整理した

どうも VMware はバージョンやエディションによって、インターフェースがだいぶと違うようで、ググっても違う製品向けのものが出てきてしまう。 試行錯誤の結果、下記の手順でディスク消費を減らした。 (10個ちかく VM があったのだが、500GB くらい浮いた…

*.vcxproj/vbproj/csproj のパーサーを書いているが、$(VCTargetsPath)の導出元がわからない

Visual Studio のプロジェクトで生成されるプロダクト(実行ファイル・DLLファイル)のパスを生成する機能が vf1s.exe に必要なので、"encoding/xml".Unmarshal関数 で読み取っていました。 Unmarshal 関数は、タグに合わせてフィールドを用意した構造体に解…

NYAGOS 4.4.4_1~3 を公開していました。

nyagos 4.4.4_0 を公開しました(その2)の続き、連続で参ります。 4.4.4_1 Linux 版バイナリがビルドできなかった問題を修正 Linux のバイナリつけるの忘れてただけでなく、ビルドも出来ない状態でした。でも、まったく苦情は来ませんでした(そりゃな) 4…

nyagos 4.4.4_0 を公開しました(その2)

NYAGOS 4.4.4_0 を公開しました(その1) を書いたのに、「(その2)」を書く前に、4.4.4_1~4.4.4_3 をリリースしてしまったー。とはいえ、一応、書いておかないと気持ち悪いので、書ける体力があるタイミングで残りを駆け足で書いておきますね。 Linux用…

Git のセットアップ for Windows & nyagos

Git は普通に Gir for Windows をダウンロードしてインストールする(ここは別に小細工はない) .vimrc の設定 コミット時の文字コードを UTF8 にする au! FileType gitcommit setl fenc=utf-8 .nyagos の設定 git.exe のあるフォルダーを %PATH% に追加 loc…

Go言語のセットアップの覚書 for Windows & nyagos

今更だけど、PCがクラッシュしたら忘れるかもしれないので アーカイブの展開 MSI はインストーラーが意外と遅いので、アーカイブは *.zip ファイルを使う。 % cd / % ren go go.bak % unzip ~/go1.12.7.windows-amd64.zip vim の設定 *.go を開いた時、デフ…

std::vector の emplace_back が使えない状況で、軽い push を検討する

C++

Visual Studio 2010 では std::vector の emplace_back がバグっているという話なので、負荷の軽い方法を検討。 でも、検証プログラムのためにわざわざソリューション作るのもめんどいから、gcc で検証してみよう(おい #include <cstdio> #include <string> #include <vector> class</vector></string></cstdio>…

Visual Studio のコマンドラインクライアントのラッパー vf1s を作った

Visual Studio のコマンドラインクライアントのラッパー vf1s を作った。 zetamatta/vf1s: vf1s - Visual Studio Commandline Client 開発経緯 そもそもは 会社のルールでバイナリもsvn commitするが、Release版だけでなく、Debug版も用意しなくてはいけない…

NYAGOS 4.4.4_0 を公開しました(その1)

記念すべき「令和元年」最初のリリースになります。括目せよ!(しなくてよい) (#233) \\host-name\share-name を補完できるようになった 宿願である2年越し issue の補完を実装しました。 仕事を VMWare 上の Windows で行うことが多いのですが、ソースを…

Subversion で git show とか stash とかの動作をエミュレーション

あまりしっかりテストしていないので、ご利用はバックアップをとった上で、自己責任で… (自分の用事が終ったら放置モード) svn-show.cmd svn diff -r1000:1001 とかやっていられないので、svn-show 1001 で同じことをする。 @echo off setlocal if "%1" ==…

NYAGOS 4.4.3_0 を公開していただと…

連休前の話ですが、NYAGOS 4.4.3_0 公開したので、更新内容をご説明します。 (#116) readline: Ctrl-Z,Ctrl-_ による操作取り消しを実装 3年前に issue を起案してた UNDO をようやく実装しました。やってみたら、意外と簡単でした。まぁ、技術的に難しいと…

【解決編】UNCパスの補完機能の強化のためにコンピューター名一覧を出したいんだが、違うそうじゃない

UNCパスの補完機能の強化のためにコンピューター名一覧を出したいんだが、違うそうじゃない - 標準愚痴出力 記事を書いたら、自己解決する法則でもあるのかなぁ。 // +build run package main import ( "fmt" "unsafe" "golang.org/x/sys/windows" ) const R…

UNCパスの補完機能の強化のためにコンピューター名一覧を出したいんだが、違うそうじゃない

いまひとつうまくゆかん。 // +build gorun package main import ( "fmt" "unsafe" "golang.org/x/sys/windows" ) const RESOURCE_CONNECTED = 1 const RESOURCE_CONTEXT = 5 const RESOURCE_GLOBALNET = 2 const RESOURCE_REMEMBERED = 3 const RESOURCETYP…

NYAGOS保守日記: 空白文字が含まれたパスの補完とチルダ

補完の際、Windowsでは空白を打ち消す文字の定番が決まってないのでパス全体を引用符で囲む。すると ~\Program Filesは "~\Program Files" みたいになるが、~ が先頭でなくなってしまうので、 ~ を%USERPROFILE% に変換できなくなってしまう。 かといって、~…

VC++で書いたアドオンDLLの中で独自ダイアログが表示できなかった件

とあるアプリのアドオンを VC++ で書いていたんだけれども、自作のダイアログを出そうとしてもなぜか DoModal が素通りしてしまう。 しかも、Visual Studio 自体もなぜか不安定で、クラスウィザードのクラッシュも多発して、原因の切り分けができない!!! …

NYAGOS 4.4.2_1 を公開しました。

4.4.2_0(報告記事リンク)を出して間もないのですが、看過できない不具合がありましたので、修正版を公開しました。 Release 4.4.2_1 · zetamatta/nyagos(ダウンロードページ) 修正点は以下の2点 diskfree: 行末の空白を削除 これは大した問題ではなく、…