標準愚痴出力

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

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

VMware内のWindowsに、LAN外から接続する

背景 在宅勤務の際、自宅から会社PC(Windows)へ ssh トンネル経由でリモートデスクトップで接続していた。 だが、ある接続の際、ssh が落ちたと思ったら、以後の接続では次のようなエラーが出て、二度と接続できなくなってしまった(別に ssh サーバー側には…

2019年を振り返って

2019年は、いや、この20年、自分は何も成し遂げることが出来なかった。 nyaos、nyagos、wifkyといったプログラムを出すことは出した。だが、これらは一部の嗜好が近い人々に受け入れられただけで、到底広く使われたとはいえない。 子供の頃、学校の先生に「…

1byte ではなく、1 runeずつ文字列を伸ばしてゆく一番速い方法は?

go

(追記)最終的には strings.Builder の優勝です。最後まで読みましょう 「1 byte ずつ」というのは今まで何回も計測されてきて、 append > strings.Builder > 文字列の加算 というのが定説になっている。が、「1 rune ずつ」の場合はどうだろうか? とい…

go get <URL> から https:// を削除する

ちょっと時期を逸してしまいましたが… こんな感じの Lua コードを nyagos で読み込めば(lua_f nohttps.lua を実行するか、 .nyagos に書く)、ALT+O で今編集中のワードの中の https:// を削除してくれます。 # nohttps.lua nyagos.key.M_o = function(this…

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

遷移元画面 あなたのお知らせ欄にある 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 両方からデータを取れる関数をあまりテンプレートにしたくない

C++

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

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

C++

前回:std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない - 標準愚痴出力 次回:(続々) std::vector / std::set 両方からデータを取れる関数をあまりテンプレートにしたくない - 標準愚痴出力 次々回:hymkor/study-cpp-e…

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

C++

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

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

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

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 …