C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

vs. COVID-19: Folding@home の FAHControl でご家庭内で参加中の複数のクライアントをまとめて監視・制御する方法のメモ

ご家庭内から複数のPC端末等をクライアントとして Folding@home に参加する場合に、1箇所の FAHControl (管理画面ツール) でそれ自体はもちろん、他のクライアントも全て管理したい場合もあります。 例えば↑な具合で管理できるようにしたい、と。こうしてお…

Cargo.toml の [dependencies] の特殊化のメモ

例 1. crates.io に公開されている crate を使っている状態: [dependencies] neon = "0.4.0" 例 2. ローカルファイルシステムで改変中の独自版へ依存先を特殊化したい場合: [dependencies] neon = [ path = "../path-to-my-customized-neon" ] 例 3. feature…

WSL の内側の世界から、外側の Windows の世界の PATH が "何もしていないのに" 通っている件、をどうにかしたい場合のメモ

WSLの内側の世界では、外側の世界の Windows で実行可能なバイナリー「も」実行できます。 実際この機能はしばしば便利な事もあります。例えば、 諸事情によりWSLの内側の世界で作業中に PE32+ (†1) なバイナリーファイルを nm (†2) したいけど ELF (†3) じ…

reddit で話題になった Tauri と NEON についてのメモ、ついでに template-rust-backend-with-electron-frontend の開発理由についてのメモ

reddit の Rust コミュニティーに template-rust-backend-with-electron-frontend のリリースについてポストしたところ、主に2つ、 Tauri と NEON について話題になりました。( up-vote たくさんとちょうど使いたかったんだありがとう的なポストも頂きました…

RustのcdylibをバックエンドにElectronをフロントエンドにするcargo-generateプロジェクトテンプレートを公開したメモ

「RustのcdylibをバックエンドにElectronをフロントエンドにする」プロジェクトを3秒くらいでお手軽作れるcargo-generateできるプロジェクトテンプレートを公開しました。 template-rust-backend-with-electron-frontend https://github.com/usagi/template-…

react-electron-ffi-(native dll/so/dylib) プロジェクトを作るメモ (2020-03-19版)

(1/2) react-electron ここは今回のメモの本編ではないものの、"やり方"がころころ変わるようなので一応現時点での方法をついで程度に整理します。 (1) プロジェクトのディレクトリー(=リポジトリー)を create-react-app で生成: npx create-react-app myapp…

Node.js と FFI の 2020-03-18 時点でのメモ; node-ffi 系 → node-ffi-napi 系

今回のメモの Node.js は: node -v v13.5.0 です。先ずは Node.js 初心者らしく npm i ffi して死にました: npm i ffi ほか多数のエラーを観測し、死んでしまいました。☠ https://www.npmjs.com/package/ffi どんどん使われなくなっているので何か代替に置き…

さいきん試した Rust の GUI Toolkit 的な crate たちと日本語アプリでの実用性のメモ

現時点ではほぼダメです。試した中では唯一 conrod だけ日本語アプリを作る実用に耐えられそうです。 crate 日本語表示 日本語入力 コピペ UI部品の見栄え その他 conrod ○TTF可 ◎自然にできる ◎自然にできる ∞ 作り込み次第 vulkan対応で軽快, GL版だともっ…

ある日とつぜんWSL2が起動しなくなったメモ

きょうもいちにち。Windows Terminalを起動…しない。正確にはメインウィンドウを出そうとする辺りまでは起動はしているようだけど、一瞬で消えてしまうので実質起動しない。 とりあえず cmd で wsl る: WSL 2 requires an update to its kernel component. F…

VSCode の extension にコマンドを追加する時に使わない方がよい文字のメモ

"category" に _ (アンダースコア文字) を入れてしまうと、実際に使う時にコマンドの絞り込みが期待動作しなくなって悲しい。 例: category を hoge_fuga として description を puyopuyo にすると…: CTRL+SHIFT+P して >hgp とか >gapu とか入れてもコマン…

屋内撮影の照明のON/OFFに手スイッチ操作するよりOK,Googleできたら便利かなーって、スマート電球…ではなくてスマートプラグのやすいの買ってみたのです。のメモ

音声を出すのエネルギー使うにめんどくさいって思っていたのですが、すんごい便利でした…。 もの 買ってみたもの → VStarcam WIFIスマートプラグ スマートコンセント お値段 = 1,499 円 (執筆時点; keepa価格推移↓) 届いたもの↓ 専用アプリ tuya smart life …

WSL2 から X410 ( または vcxsrv など ) へ画面を投げる方法のメモ

WSL1 だと 127.0.0.1:0 で Windows ホスト側の X Server へ画面ぽーんできて楽でした。WSL2ではすこし手間がかかるようになりました。 X Client ( on WSL2 ) -> X Server ( X410 ) cat /etc/resolv.conf で WSL2 (内側)から Windows ホスト(外側) へつながる…

vscode: Terminal と Editor のアクティブを行ったり来たりトグルするキーの作り方のメモ

要求 キーは何でもよいのだけど、例えば F7 を押すと ターミナルではない何か(エディターやエクスプローラーなど)がアクティブな状態なら → ターミナルをアクティブに ターミナルがアクティブな状態なら → エディターをアクティブに キーボードのフォーカ…

Olympus OM-D E-M1 Mark Ⅲ が Mark Ⅱ からの更新ユーザーとしては悲しすぎたので書き留めておくメモ。 Mark Ⅳ があってももう事前情報を好意的には見てはあげません。

OLYMPUS OM-D E-M1 Mark Ⅲ が初めてのフラッグシップモデル級のカメラ購入で、 OLYMPUS のサンプルを他社と比較して SPEC を確認した上で購入するなら…悪い製品ではありません。ただ、MarkⅡの時と違い、2020年現在では基本性能を上げてきた他社に対してセン…

OpenSCAD でアニメーションを作成 -> 連番PNG -> ffmpeg で apng/mp4(h.264) にする方法のメモ

1. OpenSCAD でアニメーションを作る https://github.com/usagi/usagi.scad/blob/master/example/utility/color/HSL.scad use <../../../utility/color/HSL.scad> $fn = 6; for ( L = [ 0 : 1 / 6: 1 ] ) for ( S = [ 0 : 1 / 5: 1 ] ) for ( H = [ 0 : 30 :…

Azure DevOps ちほーの git サーバーへ git@ssh しようとしたら Unable to negotiate で diffie-hellman-group1-sha1,diffie-hellman-group14-sha1 を提案されたら思い出すメモ

状況 git clone git@ssh.dev.azure.com:v3/my_team/my_project/my_repos Cloning into 'my_repos'... Unable to negotiate with 40.81.25.218 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-gro…

WSL 環境で git commit したら gpg が failed してしまった時に思い出すメモ

状況 git with GPG on zsh on Arch Linux on WSL: > git commit -m "neko nyan ko" error: gpg failed to sign the data fatal: failed to write commit object git が gpg で死んでいる。 gpg で死んでいるので gpg --list-keys をとりあえず確認するが、鍵…

Azure DevOps の SSH public key に ecdsa-sha2-nistp521 な鍵を追加しようとしたら invalid key される問題(未解決問題)

Azure DevOps に ECDSA-521 な公開鍵を登録しようとしたらイヤイヤされた つらい。 Visual Studio Developer Community にも「なんでや…」な感じのスレッドがありました: Support non-RSA keys for SSH authentication - Developer Community 「なんでや…」…

事前情報で確認する OLYMPUS OM-D E-M1 Mark Ⅲ vs. Ⅱ 購入可否を検討するための資料メモ

OM-D E-M1 Mark Ⅲ が今月末に発売予定で公式やキタムラほか購入予約も始まりました。既存の、特に OM-D E-M1 Mark Ⅱ からの更新を検討したいユーザー向けに diff 的な表示があると嬉しいです。公式にはないので検討のため作りました ちなみに、新規に Ⅲ を検…

AMD Ryzen Master vs. Microsoft Windows 10 WSL2 ( Hyper-V; Virtualization-Based Security(VBS) )

※この問題は本質的には未解決です。 もんだい Ryzen Master は WSL2 を使用可能な Windows 10 環境で起動しません Ryzen Master can only run with Virtualization Based Security (VBS) disabled in the Windows operating system. Please disable VBS and …

CPUとMBの間にゴミが詰まっていてもPCは動く事がある。但し今回はメモリーの不調の原因でした。のメモ

Threadripper のメモリー回りがシビア過ぎるせいだと思って半ば諦めていたメモリー認識の問題が解決したメモです。 状況 PCの電源をONすると、ランダム発生っぽい感じでメモリーが1枚認識されなかったり(†1)、本来のメモリー性能を発揮できない認識になった…

Insider で Windows 10 19041.1 に update して WSL2 に Arch 環境を作り直したメモ ( 昨夜まで WSL1/Ubuntu を使っていました )

↑ WSL2 で Arch linux が動いていて Windows Terminal (Preview) から使える様子。 手順メモ: Windows 10 19041.1 (執筆時点) 以降のバージョンへアップデートする (執筆時点ではまだ Windows Insider の登録と設定が必要。説明略 -> https://insider.window…

vscode extension: 開かれている vscode.TextEditor を列挙する方法のメモ

import * as vscode from 'vscode' // 列挙した TextEditor を格納する array const es: vscode.TextEditor[] = [] // 次の TextEditor を取得するトリック let nextTextEditor = async () => { await vscode.commands.executeCommand( 'workbench.action.ne…

nodejs: child_process.spawn とシェル実行の方法の模範解答についてのメモ(あるいはバッドノウハウを広めないための自分用の戒めとしてのメモというかあけおめ生存報告のメモ)

最初に答え let spawn = require('child_process').spawn; // 模範解答(たぶん) let p = spawn( 'echo', [ 'hoge' ], { 'shell': true } ); p.stdout.on( 'data', payload => console.log( `[spawn/stdout]: ${payload.toString().trim()}` ) ) p.stderr.o…

vcpkg_chii: vcpkg cmake hyper integration injector 作りましたのメモ

↓つくりました: https://github.com/usagi/vcpkg_chii ; vcpkg_chii: vcpkg cmake hyper integration injector vcpkg_chii ( vcpkg cmake hyper integration injector ) is a CMake module for vcpkg hyper integration for CMake vcpkg ( Windows, GNU/Linu…

C++ のパッケージマネージャーの選択メモ( conan vs. vcpkg vs. Hunter on Windows and Ubuntu ): C++ 実装がサブプロジェクトとして内包されるクロスプラットフォームアプリのリポジトリーの場合

タイトルが少しややこしいので最初に整理します。 このメモは: C++ のパッケージマネージャーの選択のはなし ただし: アプリはクロスプラットフォーム ( このメモでの具体例は Windows-10 & Ubuntu-19.04 ) アプリ全体(=このメモでは「ソリューション」とし…

KDE アプリが Windows/WSL/Ubuntu-19.04 環境で libQt5Core.so.5 が云々とかエラーを吐いて動かないときの対処方法のメモ

KDE なアプリたち、例えば umbrello とか kwrite とか、とにかくみんな↓のようなエラーを吐いて Windows/WSL/Ubuntu-19.04 環境で動いてくれない現象に遭遇しました。 kwrite: error while loading shared libraries: libQt5Core.so.5: cannot open shared o…

Windows 10: CPU 100% 張り付き問題の解決

少し前に、次の状況に気が付きました: Windows 10 Pro 64-Bit ( 10.0, Build 18362 ) で、 Task Manager の CPU 負荷が Processes タブと Performance タブで全てのコアが常に 100% に張り付いた状態になる 但し、下図のように GL-Z などタスクマネージャー…

Thunderbird-68.3.1 で可能な本当のダークモードの設定方法のメモ: メッセージ本文領域にも闇を

Dark Theme を使いたい人は↑こうしたいと思って Dark Theme を選択すると思います。たいてい。なので、標準搭載されている Dark Theme は「そうじゃない…」ってなると思います。私はなりました。標準搭載の Dark Theme やアドオンマネージャーでインストール…

std::mutex vs. boost::mutex (1.71.0) vs. Windows CRITICAL_SECTION with VS2019 and Windows 10

現在の Windows 10 で Visual Studio 2019 の C++ プロジェクトので一般的に採用しやすい Mutex の各種の実装の実効速度的な優位性についてのメモです。特に結論とかべき論を展開する気はないのであくまでも参考程度に図ってみたらこういう結果になる事もあ…